Title: Inferno Grids
1resourceGrid
Presents
Transparent access to distributed, cross-platform
resources
2Transparent 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
3What is a namespace?
A namespace is a hierarchical collection of names
These names may represent actual physical files
or a resource interface
customers.db
sales.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
4Exporting and Importing Namespaces
Complete or partial namespaces may be exported
and used over a network
5Exporting and Importing Namespaces
ctl images
ctl images
history medieval modern
history ancient 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 cp knows, it is just copying a local
file
6Why 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
7Device 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 gt ctl
Set zoom to 2.5 x magnification
echo zoom 250 gt 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
8Device Interface Example
A graphical user interface for the device simply
needs to interact with the same files
images/
status
images/
ctl
ctl
status
Read Image
Read images/
Read Status
Take Photo
Change Zoom
File Operations
open images/
open ctl
open images/p0001087.jpg
open status
write snap
write zoom 300
read
close status
close images/
close images/p0001087.jpg
close ctl
9We 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