RAIN stand’s for Reliable Array of Independent
I.A communications component that creates a
redundant network between multiple processors.
II.A computing component that automatically recovers
and restarts applications if a processor fails.
III.A component that stores data across distributed
processors and retrieves it even if some of the
The RAIN technology originated in a research project
at the California Institute of Technology (Caltech),in
collaboration with NASA’s Jet Propulsion Laboratory
and the Defense Advanced Research Projects Agency
The RAIN research team in 1998 formed a company
called Rainfinity. Rainfinity is a company that
primarily deals with creating clustered solutions for
enhancing the performance and availability.
• Start-up based on RAIN technology
• Founded Sept. 1998
• Released first product April 1999
• Received $15 million funding in Dec.
• Now over 50 employees
• Business Plan:
Clustered solutions for Internet data
centers, focusing on:
RAIN Project: GoalsRAIN Project: Goals
Efficient, reliable distributed computing
and storage systems:
key building blocks
Goals of Rain TechnologyGoals of Rain Technology
• RAIN Technology is able to offer the solution by
minimizing number of nodes in the chain connecting
the client and server.
• RAIN Technology making the exiting nodes more
robust and independent of each other.
• RAIN Technology provides the feature of replacing a
faulty node by a healthy one.
TOPOLOGIES IN RAINTOPOLOGIES IN RAIN
• Group Membership
• Data Storage
GROUP MEMBERSHIPGROUP MEMBERSHIP
• The main function of group member is to tolerate the
• Group member ensure that all processes maintain a
consistent view of global membership.
• Token Mechanism:
DATA STORAGEDATA STORAGE
Fault tolerance in data storage across many
disks is obtained using redundant storage
schemes. Novel error-correcting codes have
been developed for this purpose. These are
array codes that encode and decode using
simple XOR operations.
• There is no limit on the size of a RAIN cluster.
• There is no concept of master-slave relation.
• A RAIN cluster can tolerate multiple node failure.
• This is highly efficiency in traffic management.
• New node can be added into the cluster to participate
in load sharing.
• High Availability Video Server
• High Availability Web Server
• Distributed Check pointing Mechanism
FUTURE SCOPEFUTURE SCOPE
• Development of API’s for using the various building
• The implementation of a real distributed file system
using the partitioning scheme developed here.
• The group communication protocols are being
extended to address more challenging scenarios.
• The goal of the RAIN project has been to build a test-
bed for various building blocks that address fault
• Communication and storage in a distributed
• The creation of such building blocks is important for
the development of a fully distributed computing