Review: Experience with Grapevine: The Growth of a Distributed System

From: Sellakumaran Kanagarathnam (sellak_at_windows.microsoft.com)
Date: Mon Feb 02 2004 - 12:31:31 PST

  • Next message: Muench, Joanna: "Experience with Grapevine Review"

    This paper discusses Grapevine, the distributed, replicated system used
    for mail, naming and access control services in the Xerox research
    internet. The paper gives a structural overview of the system and major
    part of the paper gives observations based on operational experience
    with the system.

    Grapevine operates in the Xerox research internet. The communications
    network comprises of Ethernet local networks, gateways and long distance
    links that links PCs and servers. The system is implemented as a Mesa
    program that runs on a set of dedicated server computers and there is a
    client program called GrapevineUser package and the communication among
    the clients and servers is built on internet protocols that provide a
    uniform means for addressing any computer attached to any local network
    to send individual packets or to use byte streams. Grapevine provides
    two kinds of services: message service and registration service and
    every grapevine server have both of these services. The message service
    provides the mailing system and the registration service provides
    naming, authentication, access control and resource location functions
    to clients. The second service uses a registration database which has
    two types of entries: group entries and individual entries. Individual
    entries correspond to users and servers. Group entries correspond to
    distribution list, access control list,.. The entries are called RNames
    and it represents a two level hierarchy: registry name and the name
    within that registry. Registry corresponds to locations, organizations
    & applications. The database is replicated and distributed and the
    level of distributions is a registry. No registration server contains
    all registries and a single registry is replicated in many servers. The
    GrapevineUser package is available for several language and operating
    environments. The primary clients of Grapevine are various mail system
    interface program (Laurel is most widely used). Other clients implement
    file server authentication and access controls, RPC bindings and process
    controls for an integrated circuit facility.

     

    In a span of nearly two years, the number of servers grew from 5 to 17.
    The registration database grew from 1500 individuals, 500 groups to 4400
    individuals, 1500 groups. Numbers of messages presented for delivery
    grew from 2500/working day to 8500.

     

    I was not able to appreciate the basis for the objective of scalability
    of Grapevine: Increase capacity by adding more servers of "fixed power
    rather than using more powerful servers". To me this presents a
    limitation rather than any advantage. It was interesting to read about
    the distribution list problem they encountered. But the proposed change
    itself had a limitation of 10000 user size which was very surprising.
    The authors then go on to recap the various configuration issues /
    decisions that they faced. The issue around the design of synching on
    database changes must have been useful information to share at the time
    of this paper. It is good to note that high reliability and scalability
    (though limited) is inherent in the system.

     

    Overall, it was a good paper to read and many of the practical issues
    with distributed, replicated systems and specifically with mail systems
    and the design changes around that are good learning.

     

     


  • Next message: Muench, Joanna: "Experience with Grapevine Review"

    This archive was generated by hypermail 2.1.6 : Mon Feb 02 2004 - 12:31:34 PST