90 likes | 227 Views
resource Grid. Presents. Transparent access to distributed, cross-platform resources. Transparent access to distributed, cross-platform resources. Make multiple resources available to many users over existing networks using inferno Grid technology.
E N D
resourceGrid Presents Transparent access to distributed, cross-platform resources
Transparent access to distributed, cross-platform resources Make multiple resources available to many users over existing networks using inferno Grid technology • Resource interfaces represented by a hierarchical namespace • Import data, devices and programs • Intuitive, per process composition of namespaces • Secure, platform independent communication protocol
database camera sales.db customers.db sales.db customers.db ctl images ctl images img0001.jpg img0002.jpg img0001.jpg img0002.jpg What is a namespace? A namespace is a hierarchical collection of names These names may represent actual physical files or a resource interface sales.db customers.db ctl images/ Each resource is accessed with the same mechanisms, irrespective of type and location The file system returns a list of files in the /database directory ls /database ls /camera/images The camera interface returns a list of images on the camera ls does not need to know what kind of resource it is talking to
Exporting and Importing Namespaces Complete or partial namespaces may be exported and used over a network
0001.jpg Local Remote (imported) copy Exporting and Importing Namespaces ctl images ctl images history ancient medieval modern history medieval modern books camera history ancient mythical Each device on the network has its own local namespace A device may export all or part of its local namespace cp /camera/images/0001.jpg /books/history/ancient ancient Once a namespace has been composed, the user may access each resource without needing to know where it comes from Namespaces may be built up from multiple imported local or remote namespaces Another device may then import this namespace into its own local namespace As far as cpknows, it is just copying a local file
Why Files? Representing all resource interfaces as files has several advantages: • File systems have simple and well understood interfaces across a wide variety • of operating systems • Interfaces to files generally consist of a small set of well-defined operations • such as open, read and write • Reliance on file systems reduces the amount of interface code and keeps the • system small, reliable and highly portable • Naming conventions for files are well known, uniform and easily understood • Access rights and permissions to files are simple, yet can be used to ensure • multiple levels of security
ctl status images/ Device Interface Example A device interface exports a namespace which is used to interact with the device. ctl Control messages are written to this file status Can be read to provide status information images/ Directory containing the images on the camera These synthetic files may be accessed using standard file operations and commands. Take a photo echo snap > ctl Set zoom to 2.5 x magnification echo zoom 250 > ctl Read the status cat status Get a list of images on the camera ls -l images Copy all camera images to /pics cp images/* /pics Delete image 0001.jpg from the camera rm images/0001.jpg
Device Interface Example A graphical user interface for the device simply needs to interact with the same files ctl ctl status status images/ images/ Read Status Read images/ Read Image Change Zoom Take Photo File Operations open images/p0001087.jpg open ctl open images/ open status write ‘zoom 300’ write ‘snap’ read close ctl close images/p0001087.jpg close images/ close status
“[We wanted] the ability to access file resources distributed across multiple machines, securely and intuitively. Until we discovered the Inferno Data Grid this was not a simple task. We are very pleased with the outcome.” Brian Hancock Digital Projects Librarian at Rutgers University