RAIN is a newer, more advanced, way of protecting computer storage than RAID (Redundant Array of Inexpensive/Independent Disks) approach, which uses multiple physical hard disks in concert to limit the chances that a hardware failure will result in a loss of data. For example, the same data is written to both discs in a RAID 1 mirror configuration, so that there is no loss of data should any one disk fail. While RAID relies on specialized drive controllers or operating system device drivers, RAIN relies on software to organize multiple separate computer servers to provide data reliability. Instead of storing multiple copies of the same data on physically separate hard disks on a server, data is replicated to multiple servers. The software that manages the cluster of RAIN servers knows where each copy is and, in the event of a server failure, can make additional copies as necessary to keep an appropriate level of redundancy.
RAIN can also be used with tasks which require many instructions per second to be processed. Instead of using a "tightly-coupled" computing cluster with specialized hardware, collections of inexpensive RAIN nodes can be assembled. The management software transmits tasks to various computers and, in the event of a failure, will retry the task until a node responds. Many of the distributed computing projects around the globe utilize, to some degree, a RAIN strategy.
Many of the distributed file sharing services such as Gnutella and eDonkey are somewhat similar to RAIN systems, but they do not provide adequate redundancy by design—if none of the sharing users online have a copy of some part of a file, the file becomes inaccessible. A distributed hash table is a better basis for implementing such a service, and the few large-scale distributed file systems that exist are based on them (for example, the chord and coral projects).