02-03-2011, 02:06 PM
presented by:
Vinod Laxman Thorat
[attachment=9359]
Need of RAIN Technology
Increasing number of Internet users
New types of clients
New types of networks
multimedia contents
Increase in the computation complexity
security, reliability, convenience and performance
Reliability and Performance
What is Rain?
It stands for Reliable Array of Independent Nodes
It is the technology to connect nodes in the network to have the more reliable and effective communication between them
Originated at the California Institute of Technology (Caltech), in collaboration with NASA's Jet Propulsion Laboratory and the Defense Advanced Research Projects Agency (DARPA)
Architecture
Features of RAIN
Communication
Group membership
Data storage
Interconnect Topologies
Resistance to Partitions
Advantages of RAIN
Most scalable software cluster technology
No master-slave relationship or primary-secondary pairing
Tolerate multiple node failures
Online maintenance without downtime
Online addition of new nodes
Open and highly portable
Works with a variety of hardware and software environments
Supports a heterogeneous environment
No distance limitation
Applications High Availability Video Server
collection of videos are written and encoded to all n nodes
Each node runs a client application that attempts to display a video, as well as a server application that supplies encoded video data
client performs a distributed retrieve operation
decodes the block of video data
Applications High Availability Web Server (SNOW)
SNOW stands for Strong Network Of Web Servers
To develop a highly available Fault-Tolerant Distributed Web Server Cluster that minimizes the risk of down time
Reliable communication layer
Token protocol is used
High availability and performance
ApplicationsDistributed Check pointing Mechanism
Runs in conjunction with a leader election protocol
There is a unique node designated as leader in every connected set of nodes
Checkpoint of state is maintained at the execution of job
If a node fails or becomes inaccessible, the leader assigns the node’s job to other nodes
State of each job is then decoded and execution is resumed from the last checkpoint