In this section, we briefly describe the ideas underlying SIRS and the relation between SIRS and the Globe research project carried out at the Vrije Universiteit.
The SIRS project has concentrated on the development of a service that allows internet resources to be widely distributed and replicated across the internet in a scalable way. The key observation underlying SIRS is that scalability can be obtained only if we provide support for resource-specific solutions to distributing and replicating resources.
Consider, for example, a file that can be accessed by remote clients. If the file is highly popular, but hardly updated, scalability can be achieved by pushing it to servers close to where its clients are. A popular file that is also regularly updated may benefit from a replication strategy in which clients poll the server to see whether their local copy is still up-to-date. Likewise, for unpopular files it may be best not to apply replication at all. Other examples of replication scenarios and how these effect performance are discussed in [5].
To allow for resource-specific distribution and replication, resources are embedded in Globe distributed shared objects. In contrast to traditional distributed objects, the state of a Globe object can be distributed and replicated across multiple machines, and in a way that is determined by the object. In other words, a Globe object encapsulates its own distribution and replication scenario.
For SIRS, we decided to concentrate on the distribution and replication of free-software packages. The original plan was to develop a service that offers functionality comparable to FTP servers, but that supports automatic distribution of its files across multiple sites. In SIRS, we assume that sites are located across the entire internet. Clients are transparently redirected to the nearest copy of the software package they want to download. In addition, SIRS offers secure uploading and downloading of packages.
SIRS has been organized into three subprojects, named SIRS-1, SIRS-2, and SIRS-3. In SIRS-1, emphasis was put on developing client-side software that would allow transparent Web access to replicated software packages. In SIRS-2, we concentrated on enhancing and further development of our object servers to support large-scale distribution of software packages. In addition, effort was put into developing tools for uploading files. In SIRS-3, we further concentrated on making SIRS a usable system by incorporating security and fault tolerance, and providing support for easy installment. We return to SIRS-3 below.
SIRS is carried out as part of the Globe research project [6]. In Globe, we address the fundamental problem of how to achieve scalability for systems that need to support one billion users, each user having on average 1000 objects. The specific problem addressed in SIRS (i.e., the distribution of free software), is organized as a subproject within Globe, called the Globe Distribution Network (GDN). GDN has the same goals as SIRS, but also contains the research efforts needed to come to scalable worldwide distribution of software packages. The SIRS projects are devoted to developing the software needed with GDN. The GDN project has substantial research component and only those ideas that have been worked out in considerable detail are eligible for further development as part of SIRS. However, it is easier to think of SIRS and GDN being the same project. An early description of GDN has been presented in the USENIX Freenix track [1].