The Scalable Internet Resource Server (SIRS) concentrates on the development of a service capable of supporting Internet resources that are encapsulated in Globe distributed shared objects (DSOs). A Globe DSO can be physically distributed across multiple machines, but more importantly, implements its own object-specific distribution strategy.
For example, consider a software package such as the Linux RedHat distribution. This highly popular package is basically updated at a single site and subsequently copied to several mirror sites all over the world. Clients wanting the latest RedHat release of Linux, should contact their nearest RedHat mirror site and download the software from there. In terms of Globe, the Linux package would be implemented as a DSO with a master/slave replication policy.
A completely different strategy could be used for the distribution of software that is related to a specific language, such as Dutch. In that case, distribution may be restricted to the Netherlands only by installing it at a single site, and let replication take place on demand by means of proxy caches.
These two examples illustrate that it makes sense to distinguish different distribution strategies, and assign strategies on a per-object basis. In particular, by distinguishing object-specific distribution strategies, it becomes possible to devise scalable solutions by exploiting distribution, caching, and replication. Solutions can be made scalable by taking into account exactly how an object is used and modified.
The SIRS project is basically concerned with building client and server software that can support Globe DSOs encapsulating typical internet resources such as Web pages and FTP-able files such as software packages.
An important part of the project is formed by a system that supports location-independent names. Such names are imperative if replication (or mobility) of objects is to be supported. At present, naming in internet applications is basically done by means of URLs. A URL identifies a transfer protocol, a server, and a resource that is managed by that server. Because the server's name is incorporated in the URL, it becomes impossible to replicate a resource to another server without changing its name.
To support replication, we need a location-independent name such as a URN, which is subsequently translated into one or more URLs, where each URL refers to a specific replica. The SIRS project includes the development of a naming system to support location-independent names, and the mapping of such names to URLs.
SIRS-2 had two main goals: (1) the development of a generic Globe object server, and (2) the development of software for a Globe Distribution Network (GDN).
We have designed and implemented a generic Globe object server. This server is capable of managing Globe distributed shared objects. It accepts requests to bind to an object, after which it dynamically loads in the specific code and state associated with a replica for that object. If necessary, the server allocates a contact point for the object, and register's the associated contact address at the Globe location service.
The object server has shown to be (surprisingly) robust. From the moment of its release, we have not encountered any crash failures except under severe circumstances (such as transferring 600 MBytes of state that needed to be stored on local disk). All known bugs have been fixed in relatively short time.
Initial measurements show that the performance of the server is reasonable, and comparable to that of FTP servers from which large files are downloaded. Performance can be improved for handling small-sized requests.
The Globe object server is running daily on several machines that are currently hosting Globe-enabled Web sites (see, e.g., http://www.cs.vu.nl/globe and click through to the Globe-enabled version of that site).
The GDN is a network of object servers tailored to support the worldwide distribution of free software. A paper describing the goals and initial design of this network is enclosed as appendix to this document.
For SIRS-2, developing the GDN concentrated on the development of various tools that would allow users to set up part of GDN, and to be able to read and modify its content. We have developed various tools:
The tools are relatively simple and need various improvements. Adaptation and enhancement of functionality is a major objective for SIRS-3.
The Globe software has been released to a number of sites during 2000 (NLnet, INRIA Rocquencourt, Erlangen University). On 1 January 2001, its release will be made public, including all the source files.
There is one crucial objective of SIRS-2 that we have not been able to meet adequately, namely the distribution and testing of the software across multiple sites. In effect, we have a GDN version running at two dispersed sites, namely the VU and NLnet. We originally planned to have at least 3 other sites contribute as well.
Therefore, much of the effort in 2001 is aimed at getting GDN operational at more sites. This calls for more releases during 2001 (which are now planned once every 3 months), enhancing the support tools for making it easy to install and use GDN, and security.
Added to this report is a paper on GDN, presented at FREENIX, June 2000.
With respect to this report, NLnet and the Globe team at the VU have agreed on the following:
A financial statement has been added separately to this report.
Back to SIRS project page
Back to Stichting NLnet projects page