Rain Technology Full Seminar Report and PPT



RAIN technology is the most scalable software cluster technology for the Internet marketplace today. There is no limit on the size or the performance of a RAIN cluster. Within a RAIN cluster, there is no master-slave relationship or primary-secondary pairing. All nodes are active and can participate in load balancing. Any node can fail-over to any node. A RAIN cluster can tolerate multiple node failures, as long as at least one node is healthy. It employs highly efficient consistent state sharing and decision making protocols, so that the entire cluster can function as one system.




The Internet is changing the way that people manage and access information. In the last five years, the amount of traffic on the Internet has been growing at an exponential rate. The World Wide Web has evolved from a hobbyists’ toy to become one of the dominating media of our society. Ecommerce has grown past adolescence and multimedia content has come of age. Communication, computation and storage are converging to reshape the lives of everyone. Looking forward, this growth will continue for some time. There are four trends in the current growth of the Internet:


  1. Internet clients are becoming more numerous and varied. In addition to the ever-increasing number of PCs in offices and homes, there are new types of clients, such as mobile data units, (cell phones, PDAs, etc.) and home internet appliances (set-top boxes, game consoles, etc.) In the next five years, these new types of Internet devices will pervade the Internet landscape.


  1. To support these new clients, new types of networks are being designed and implemented. Examples are wireless data networks, broadband networks and voice-over-IP networks. Technologies are being developed to connect these new networks with the existing Internet backbone.



  1. The content delivered over the Internet is evolving, partly because of the emergence of the new clients and new networks. There will be a growing presence of multimedia content, such as video, voice, music and gaming streams. The growth in content adds not only to the volume of the traffic, but also to the computation complexity in transporting and processing the traffic, thus accelerating the convergence between communication and computation.


  1. New Internet applications emerge, both on the server side and the client side. As the Internet penetrates deeper and deeper into everyone’s life, the demand for security, reliability, convenience and performance sky-rockets. With the popularity of cars comes the invention of traffic lights and stop signs, the gas station and the drive-thru. As Internet makes its way into daily lives, the demand will grow for firewalls and VPNs, intrusion detection and virus scanning, server load balancing and content management, quality of service and billing/reporting applications. The list goes on, and will keep expanding.




The primary function of the Internet is for information to flow from where it is stored, traditionally known as a server, to where it is requested, commonly referred to as a client. The Internet is the network that interconnects all clients and servers to allow information to flow in an orderly way. While people become more and more dependent on this network, they demand that it become faster and more reliable. As a result, reliability and performance are becoming key challenges in many parts of the Internet infrastructure.


The communication path between a client and a server can be viewed as a chain. Each device along the path between the client and the server is a link in the chain. For example, for a user to receive a HTML page from yahoo.com, he or she would issue a request, which travels from the user’s client , through a number of routers and firewalls and other devices to reach the Yahoo web server, before the data will return along the same or a similar chain. The strength of this chain, both in terms of throughput and reliability, will determine the user experience of the Internet. So, how do we make this chain stronger?


A chain is only as strong as its weakest link, and the longer the chain, the weaker it is overall. To increase reliability and performance, one should look for ways to reduce the number of links in the chain, and make each remaining link more robust. The weak links in the Internet infrastructure are single points of failure and performance bottlenecks. Single points of failure are devices that have no inherent redundancy or backup. Bottlenecks are devices that do not have enough processing power to handle the amount of traffic they receive. Rainfinity ‘s RAIN technology was invented to eliminate single points of failure and performance bottlenecks in the Internet infrastructure. In the chain of links analogy, it is equivalent to strengthening one link without adding additional links. In some cases, it may even allow several links to be consolidated into one. The key to reliability is redundancy. If one device fails, there must be a second device ready and able to take its place. If the second device fails, there must be a third, and so on. The key to performance is processing power. To increase capacity and speed, the customer has the choice of using a bigger, faster processor, or by dividing the task among several processors working in concert. Using a single processor limits scalability to the state of the art in processors, so that performance can only be what Moore’s Law will allow. Multiple processors working in a cluster provide a more flexible and scalable architecture. Capacity can be added or subtracted at will; the overall performance to price ratio is higher; and combined with intelligent fail-over protocols, such a cluster enables higher reliability.


A clustering approach must allow multiple machines to work together as if they were a single system. The key challenge here is that all the machines in the cluster need to have consensus on the exact state of the cluster, and make collective decisions without conflicts. To address the issue of reliability, a cluster must also allow healthy machines within the cluster to automatically and transparently take over for any failed nodes. To address the issue of performance, all healthy nodes in the cluster must be actively processing in parallel, and each additional node must add processing power to the group, not detract from it. Creating such a clustering solution for the Internet infrastructure is an extremely difficult task.


Rainfinity delivers clustering solutions that allow Internet applications to run on a reliable, scalable cluster of computing nodes so that they do not become single points of failures or performance bottlenecks. The Rainfinity software manages load-balancing and fail-over. It scales horizontally without introducing additional hardware layers. Furthermore, the Rainfinity solutions can coexist with multiple Internet applications on the same physical layers. This reduces the number of links in this Internet chain, and therefore improves the overall reliability and performance of the Internet.





Rainfinity’s 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 (DARPA). The name of the original research project was RAIN, which stands for Reliable Array of Independent Nodes. The goal of the RAIN project was to identify key software building blocks for creating reliable distributed applications using off-the-shelf hardware. The focus of the research was on high-performance, fault-tolerant and portable clustering technology for space-borne computing. Two important assumptions were made, and these two assumptions reflect the differentiations between RAIN and a number of existing solutions both in the industry and in academia:


  1. The most general share-nothing model is assumed. There is no shared storage accessible from all computing nodes. The only way for the computing nodes to share state is to communicate via a network. This differentiates RAIN technology from existing back-end server clustering solutions such as SUNcluster, HP MC Serviceguard or Microsoft Cluster Server.
  2. The distributed application is not an isolated system. The distributed protocols interact closely with existing networking protocols so that a RAIN cluster is able to interact with the environment. Specifically, technological modules were created to handle high-volume network-based transactions. This differentiates it from traditional distributed computing projects such as Beowulf.


In short, the RAIN project intended to marry distributed computing with networking protocols. It became obvious that RAIN technology was well-suited for Internet applications. During the RAIN project, key components were built to fulfill this vision. A patent was filed and granted for the RAIN technology. Rainfinity was spun off from Caltech in 1998, and the company has exclusive intellectual property rights to the RAIN technology. After the formation of the company, the RAIN technology has been further augmented, and additional patents have been filed.

The guiding concepts that shaped the architecture are  as follows:


  1. Network Applications


The architecture goals for clustering data network applications are different from clustering data storage applications. Similar goals apply in the telecom environment that provides the Internet backbone infrastructure, due to the nature of applications and services being clustered.


  1. Shared-Nothing


The shared-storage cluster is the most widely used for database and application servers that store persistent data on disks. This type of cluster typically focuses on the availability of the database or application service, rather than performance. Recovery from failover is generally slow, because restoring application access to disk-based data takes minutes or longer, not seconds. Telecom servers deployed at the edge of the network are often diskless, keeping data in memory for performance reasons, and tolerate low failover time. Therefore, a new type of share-nothing cluster with rapid failure detection and recovery is required. The only way for the shared-nothing cluster to share is to communicate via the network.


  1. Scalability


While the high-availability cluster focuses on recovery from unplanned and planned downtimes, this new type of cluster must also be able to maximize I/O performance by load balancing across multiple computing nodes. Linear scalability with network throughput is important. In order to maximize the total throughput, load load-balancing decisions must be made dynamically by measuring the current capacity of each computing node in real-time. Static hashing does not guarantee

an even distribution of traffic.


  1. Peer-to-Peer


A dispatcher-based, master-slave cluster architecture suffers from scalability by introducing a potential bottleneck. A peer-to-peer cluster architecture is more suitable for latency-sensitive data network applications processing shortlived sessions. A hybrid architecture should be considered to offset the need for more control over resource management. For example, a cluster can assign multiple authoritative computing nodes that process traffic in the round-robin order for each network interface that is clustered to reduce the overhead of traffic forwarding.





  1. Heartbeat


The cluster-communication protocol should be fast and reliable. The heartbeat should not require a dedicated network, and redundancy must be built in so that it does not become the single point of failure.


  1. Switched Networks


Traffic flows through a fully switched network where dedicated bandwidth is given to clients and servers. The shared media network is a thing of the past, and the cluster must be able to operate effectively and efficiently in the switched network. Flooding the switches with duplicate MAC addresses and requiring network administrators to reconfigure switches and routers for multicasting should be avoided by all means. Each network interface that is clustered should have a unique IP address and a MAC address. Standard networking techniques employed by network device vendors to provide redundancy should be used in order to seamlessly integrate the cluster with the existing networking infrastructure.


  1. Routing


When the data network applications perform routing functions, such as firewall and VPN gateways, the cluster must be able to symmetrically route request and reply packets through the same computing node. Routing consideration is unnecessary when the data network applications are running on servers that are end points, such as Internet gateway anti-virus protection, spam filtering, content filtering, and web proxy servers.



  1. Connections


Traffic management must take into consideration how packets are grouped based on TCP/UDP connections (or virtual connections’ in the case of UDP) to maintain connection integrity and to provide fine-grain load balancing. Simply distributing packets across multiple computing nodes could yield unintended consequences, such as breaking connections anduneven load balancing.


  1. Application-awareness


Health monitoring should be application-aware to intelligently detect failures, so that failover occurs when it is needed most and false positives can be accurately determined. Failure detection that simply relies on network connectivity does not account for application services that are down while the server and network are up. The cluster-communication middleware is open and highly portable. The middleware should provide an option for applications to be able to share their session and other application states using an API, so that transparent failover is possible. By tightly integrating with the middleware, applications can restore states across a failover to guarantee continuous access.


  1. Manageability


Cluster configuration should be centrally managed through a single configuration file that automatically replicates across the computing nodes. The error-prone process of creating a cluster by setting up multiple physical entities and making them appear as a single logical entity should be simplified and automated. The cluster identity should be able to reuse the current IP addresses of the standalone server’s network interfaces to minimize external changes that are required to make the network aware of the cluster.




The RAIN technology incorporates a number of unique innovations as its core modules:


Reliable transport


It ensures the reliable communication between the nodes in the cluster. This transport has a built-in acknowledgement scheme that ensures reliable packet delivery. It transparently uses all available network links to reach the destination. When it fails to do so, it alerts the upper layer, therefore functioning as a failure detector. This module is portable to different computer platforms, operating systems and networking environments.
Consistent global state sharing protocol


It provides consistent group membership, optimized information distribution and distributed group-decision making for a RAIN cluster. This module is at the core of a RAIN cluster. It enables efficient group communication among the computing nodes, and ensures that they operate together without conflict.




It maintains pools of “always-available” virtual IPs. These virtual IPs are logical addresses that can move from one node to another for load sharing or fail-over. Usually a pool of virtual IPs is created for each subnet that the RAIN cluster is connected to. A pool can consist of one or more virtual IPs. Always-On-IP guarantees that all virtual IP addresses representing the cluster are available as long as at least one node in the cluster is operational. In other words, when a physical node fails in the cluster, its virtual IP will be taken over by another healthy node in the cluster.


Local and global fault monitors


It monitor, on a continuous or event-driven basis, the critical resources within and around the cluster: network connections, Rainfinity or other applications residing on the nodes, remote nodes or applications. It is an integral part of the RAIN technology, guaranteeing the healthy operation of the cluster.


Secure and central management


It offers a browser-based management GUI for centralized monitoring and configuration of all nodes in the RAIN clusters. The central management GUI connects to any node in the cluster to obtain a single-system view of the entire cluster. It actively monitors the status, and can send operation and configuration commands to the entire cluster.








RAIN technology is the most scalable software cluster technology for the Internet marketplace today. There is no limit on the size or the performance of a RAIN cluster. Within a RAIN cluster, there is no master-slave relationship or primary-secondary pairing. All nodes are active and can participate in load balancing. Any node can fail-over to any node. A RAIN cluster can tolerate multiple node failures, as long as at least one node is healthy. It employs highly efficient consistent state sharing and decision making protocols, so that the entire cluster can function as one system.


A RAIN cluster is a true distributed computing system that is resilient to faults. It behaves well in the presence of node, link and application failures, as well as transient failures. When there are failures in the system, a RAIN cluster gracefully degrades its performance to exclude the failed node, but maintains the overall functionality.


Also new nodes can be added into the cluster “on the fly” to participate in load sharing, without taking down the cluster. With RAIN, online maintenance without downtime is possible. Part of the cluster can be taken down for maintenance, while the other part maintains the functionality. RAIN also allows online addition of new nodes for the growth of the cluster to provide higher performance and higher levels of fault tolerance.


It is very simple to deploy and manage a RAIN cluster. RAIN technology addresses the scalability problem on the layer where it is happening, without the need to create additional layers in the front. One element in the RAIN architecture is the management module, which allows the user to monitor and configure the entire cluster by connecting to any one of the nodes . The consistent state-sharing module will help propagate the configuration throughout the cluster.


This software-only technology is open and highly portable. It works with a variety of hardware and software environments. Currently it has been ported to Solaris, NT and Linux. It is conceivable to port it to more environments, including embedded systems. It supports a heterogeneous environment as well, where the cluster can consist of nodes of different operating systems with different configurations. There is no distance limitation to RAIN technology. It supports clusters of geographically distributed nodes. It can work with many different Internet applications. With RAIN technology at the core, Rainfinity has created a family of Internet Reliability Software solutions that address the high availability and performance requirements of the Internet Infrastructure. Each solution is focused on critical elements or functions of the Internet infrastructure, such as firewalls, web servers, and traffic management. They bring the unlimited scalability and built-in reliability that mission-critical Internet environments require.




At the center of the Rainfinity solutions lies the RAIN technology. It is a unique, Layer 3 clustering software designed for high-volume and network-based transactions without requiring shared storage. The technology was the result of many years of research and development at Caltech.


Simply put, RAIN allows for the grouping of an unlimited number of nodes which can then function as one single giant node, sharing load or taking over if one or more of the nodes ceases to function correctly. The RAIN technology incorporates many important unique innovations in its core elements, which deliver important advantages:


  • unlimited scalability
  • high performance
  • built-in reliability
  • simple deployment and management
  • flexibility of software for integration in a variety of hardware and software environments
  • Clustering software that installs on existing servers
  • Optimized for clustering data network applications
  • Active-active cluster, delivering fault tolerance and scalability
  • Application-aware, intelligent fault detection and recovery
  • Instant failover
  • Real-time dynamic load balancing
  • Compatible with switched networks
  • Simple deployment and management
  • OEM SDK for the state sharing middleware

Download the Reports here. 





Rainfinity has started to deliver a family of solutions that incorporate the RAIN technology across the critical elements of the Internet and which will expand to a broad range of application areas. The RAIN technology itself continues to be augmented to cover new core functionality and environments.
Tags : Rain Technology Seminar Topic, Rain Technology ppt, Rain Technology pdf, seminar on Rain Technology, Latest Seminar Topic Rain Technology, Full Seminar Report on Rain Technology, Rain Technology source code

Rain Technology Full Seminar Report and PPT

Article written by

We offer huge collection of seminar topics and academic project ideas for graduate level students. Huge List of Seminar Topics with Abstracts, Reports and PPT on Computer Science CSE,Biotechnology, Information Technology IT, Electronics and Telecommunication ECE, Applied ELectronics and Instrumentation AE, Electrical Science EE, Civil CE, Chemical,Mechanical ME and Automobile Engineering with Project Ideas in ppt, pdf, doc, presentations.

Please comment with your real name using good manners.

Leave a Reply

You must be logged in to post a comment.