Vita Nuova Vita Nuova
 HOME   PRODUCTS   APPLICATIONS   RESOURCES   DOWNLOADS   ABOUT US 
  spacer
  Inferno as a Grid Infrastructure
 
Solutions
Overview
separator
Grid Applications
separator
        Grid Software
separator
arrow          Inferno Grids
separator
        Demo Grid
separator
Embedded Applications
separator
Distributed Applications
separator

Computation Grid Tutorial
(requires Powerpoint)

Resource Grid Introduction
(requires Powerpoint)

Much of today's Grid technologies are appropriate for networks of powerful desktop computers, servers, super-computers and clusters. However, they are not so obviously applicable in other networks, particularly those that consist of resource constrained or unusual devices.

Among the resources that need to be accessed through a Grid are: CPUs, data, services and devices. The Grid communities are exploring ways in which these resources can be represented and accessed from afar. An emerging consensus is leaning towards a Grid Services interface built on Web Services technologies. Whilst for some computers such an interface may work well, there are many others for which it is inappropriate. For example:

  • Small resource constrained devices
  • Devices that have no IP address and do not communicate using Internet protocols
  • Services that, for efficiency reasons, cannot use XML based messages

And yet we still want these resources to participate in larger networks of computers. A Web Services gateway may help address the first two but there still remains the problem of how to organize the communication between components behind the gateway.

The Inferno operating system provides an appealing solution to this problem. Underpinning Inferno is an architecture for distribution which is described in a paper by Rob Pike and Dennis Ritchie: The Styx Architecture for Distributed Systems. This paper describes the Styx protocol which is the common language of communication that Inferno uses to communicate between resources.

Protocol is a necessary but not sufficient requirement in order to easily build distributed systems. One of the major problems when creating distributed applications across heterogeneous devices is that there is no common environment that you can code to. As a consequence most distributed systems are merely networked applications where each component of the application is tied through linguistics and environment to a particular hardware or software platform.

This web site contains a wealth of information on Inferno and free versions of the software that can be used to build real systems. You can access this information from www.vitanuova.com/inferno/index.html.

Before you build your own Inferno applications, you may wish to experiment with some of the Inferno services that we have written. The demo section of this web page gives access to a variety of interesting devices and programs including:

  • Unusual hardware devices such as a digital camera and Lego robot
  • Collaborative activities such as shared whiteboard, chat rooms and multi-player card games
  • ODBC data sources
  • Remote execution of programs within a CPU Pool
These are examples of some of the common problems encountered by those building Grids. The techniques we have used should prove useful when considering how to address your own problems; full source code is provided for all the applications.