From: Nathan Dire (ndire_at_cs.washington.edu)
Date: Mon Feb 02 2004 - 16:28:38 PST
In "Experience with Grapevine: The Growth of a Distributed System",
Schroeder, et al, present their experience with the Grapevine distributed
system running on Xerox's research internet. Grapevine provides message
delivery, naming, authentication, resource location, and access control
services. The authors saw the system grow from 5 servers and 1500 individuals
in the fall of 1981 to 17 servers and 4400 individuals by the summer of 1983.
This paper summarizes observations about the ability of Grapevine to handle
this growth.
Grapevine consists of three basic components: the registration service, the
message service, and the GrapevineUser package. Each Grapevine server runs a
message server program and a registration server program. The registration
service handles naming, authentication, access control and resource location.
It stores the name to location mapping for the various resources the the
system. This database is distributed into individual registries that handle
some subset of names in the system. The message service employs the
registration service to deliver messages to individuals and groups in the
system. The messages are buffer on servers for retrieval by the recipient.
The GrapevineUser package handles communication with the Grapevine servers so
that Grapevine appears as a single service.
The authors make several observations about the scalability, configuration,
consistency, and reliability of the system. All of these issues remain
relevant to current distributed systems, and many of the problems still exist.
The problem of distribution list growth in Grapevine strongly foreshadows the
current problem with e-mail spam. The problem with balancing load in the face
of failure is reflected in recent research with quality of service (QoS)
guarantees. The problem of consistency in the registry database also remain
relevant to modern systems.
It's clear that Grapevine had a strong influence on many distributed systems
which came later. I see a lot in common with DNS and NIS. I suspect many of
the principles in the discussion of geography and organizational structure
would be found in a current guide to configuring similar services provided by
Microsoft, Sun, or Novell in a large enterprise. In fact, it's somewhat
disappointing that so little has changed in 20 years.
As for the Grapevine system itself, I think it reflects a solid approach to
implementing an internet-scale distributed system. I would like to know more
about the security model, since it sounds like Xerox's internet was isolated,
and most enterprises would employ the public internet for such a service if
installed today. Also, I think the registry would have benefited from a more
flexible design. Ideally, the partitioning and replication would be more
dynamic so that better schemes could be implemented without changes to the
software or major changes to the system configuration.
This archive was generated by hypermail 2.1.6 : Mon Feb 02 2004 - 16:28:40 PST