skip to main content
article
Free Access

Decentralizing a global naming service for improved performance and fault tolerance

Published:01 May 1989Publication History
Skip Abstract Section

Abstract

Naming is an important aspect of distributed system design. A naming system allows users and programs to assign character-string names to objects, and subsequently use the names to refer to those objects. With the interconnection of clusters of computers by wide-area networks and internetworks, the domain over which naming systems must function is growing to encompass the entire world.

In this paper we address the problem of a global naming system, proposing a three-level naming architecture that consists of global, administrational, and managerial naming mechanisms, each optimized to meet the performance, reliability, and security requirements at its own level. We focus in particular on a decentralized approach to the lower levels, in which naming is handled directly by the managers of the named objects. Client-name caching and multicast are exploited to implement name mapping with almost optimum performance and fault tolerance. We also show how the naming system can be made secure. Our conclusions are bolstered by experience with an implementation in the V distributed operating system.

References

  1. 1 BIRRELL, A. D., LAMPSON, B. W., NEEDHAM, R. M., AND SCHROEDER, M. D. A global authentication service without global trust. In Proceedings of 1986 IEEE Symposium on Security and Privacy (Oakland, Calif., April 1986) IEEE, New York, 1986, pp. 223-230.]]Google ScholarGoogle Scholar
  2. 2 BIRRELL, A. D., LEVIN, R., NEEDHAM, R. M., AND SCHROEDER, M.D. Grapevine: An exercise in distributed computing. Commun. ACM 25, 4 (April 1982), 260-274.]] Google ScholarGoogle Scholar
  3. 3 BOGGS, D.R. Internet broadcasting. Tech. Rep. CSL-83-3, Xerox, Oct. 1983.]]Google ScholarGoogle Scholar
  4. 4 RROWNBRtDGE, D. R., MARSHALL, L. F., AND RANDELL, B. The Newcastle Connection--or UNIXes of the world unite! So/tw. Pract. Exper. 12, 12 (Dec. 1982), 1147-1162.]]Google ScholarGoogle Scholar
  5. 5 CHERITON, D.R. UIO: A uniform I/O system interface for distributed systems. ACM Trans. Comput. Syst. 5, 1 (Feb. 1987), 12-46.]] Google ScholarGoogle Scholar
  6. 6 CHERITON, D.R. The V distributed system. Commun. ACM 3I, 3 (Mar. 1988), 105-115.]] Google ScholarGoogle Scholar
  7. 7 CHERITON, D. R. VMTP: A transport protocol for the next generation of communication systems. In Proceedings of the SIGCOMM '86 Symposium: Communication Architectures and Protocols (Stowe, Vt., Aug. 1986). ACM, New York, 1986, pp. 406-415. Also in SIGCOMM Comput. Commun. ReG. 16, 3.]] Google ScholarGoogle Scholar
  8. 8 CHERITON, D. R., AND DEERING, S. E. Host groups: A multicast extension for datagram internetworks. In Proceedings of the Ninth Data Communications Symposium (Sept. 1985). ACM, New York, 1985, pp. 172-179. Published as Comput. Commun. Rev. 15, 4.]] Google ScholarGoogle Scholar
  9. 9 CHERITON, D. R., AND MANN, T.P. Uniform access to distributed name interpretation in the V-System. In Proceedings of the Fourth International Conference on Distributed Computing Systems (San Francisco, May 1984). IEEE, New York, 1984, pp. 290-297.]]Google ScholarGoogle Scholar
  10. 10 CHERITON, D. R., AND ZWAENEPOEL, W. Distributed process groups in the V kernel. ACM Trans. Comput. Syst. 3, 2 (May 1985), 77-107.]] Google ScholarGoogle Scholar
  11. 11 DEERING, S.E. Host extensions for IP multicasting. Tech. Rep. RFC 988, Network Information Center, SRI International, July 1986.]] Google ScholarGoogle Scholar
  12. 12 DEER1NG, S. E., AND CHERITON, D. R. Host groups: A multicast extension to the Internet protocol. Tech. Rep. RFC 966, Network Information Center, SRI International, Dec. 1985.]]Google ScholarGoogle Scholar
  13. 13 DEMERS, A., GREENE, D., HAUSER, C., IRISH, W., LARSON, J., SHENKER, S., STURGIS, H., SWINEHART, D., AND TERRY, D. Epidemic algorithms for replicated database maintenance. In Proceedings of the 6th Annual Symposium on Principles of Distributed Computing (Vancouver, B.C., Aug. 1987). ACM, New York, 1987, pp. 12-21.]] Google ScholarGoogle Scholar
  14. 14 DIGITAL EQUIPMENT CORPORATION, INTEL CORPORATION, AND XEROX CORPORATION. The Ethernet: A local area network--data link layer and physical layer specifications, Version 1.0. Sept. 1980.]]Google ScholarGoogle Scholar
  15. 15 GIFFORD, D.S. Information storage in a decentralized computer system. Ph.D. dissertation, Stanford Univ., June 1981. Also available as Xerox PARC Tech. Rep. CSL-81-8.]] Google ScholarGoogle Scholar
  16. 16 LAMPSON, B.W. Designing a global name service, in Proceedings of the 5th Symposium on Principles of Distributed Computing (Calgary, Alb., Aug. 1986). ACM, New York, 1986, pp. 1-10.]] Google ScholarGoogle Scholar
  17. 17 LEFFLER, S., KARELS, M., AND McKUSlCK, M. Measuring and improving the performance of 4.2BSD. In I984 USENIX Summer Conference Proceedings (Pittsburgh, Pa., June 1984). USENIX, pp. 237-252.]]Google ScholarGoogle Scholar
  18. 18 MANN, T.P. Decentralized naming in distributed computer systems. Ph.D. dissertation, Stanford Univ., May 1987. Available as report STAN-CS-87-1179.]] Google ScholarGoogle Scholar
  19. 19 MOCKAPETRIS, P. Domain names: Concepts and facilities. Tech. Rep. RFC 882, Network information Center, SRI International, Sept. 1983.]] Google ScholarGoogle Scholar
  20. 20 MOCKAPETRIS, P. Domain names: Implementation and specification. Tech. Rep. RFC 883, Network Information Center, SRI International, Sept. 1983.]] Google ScholarGoogle Scholar
  21. 21 MOGUL, J.C. Representing information about files. Ph.D. dissertation, Stanford Univ., March 1986. Available as Computer Science Tech. Rep. STAN-CS-86-1103.]] Google ScholarGoogle Scholar
  22. 22 OPPEN, D. C., AND DALAL, Y.K. The clearinghouse: A decentralized agent for locating named objects in a distributed environment. ACM Trans. Office Inf. Syst. 1, 3 (July 1983), 230-253.]] Google ScholarGoogle Scholar
  23. 23 RITCHIE, D. M., AND THOMPSON, K. The UNIX timesharing system. Commun. ACM 17, 7 (July 1974), 365-375.]] Google ScholarGoogle Scholar
  24. 24 RIPEST, R. L., SHAMIR, A., AND ADLEMAN, L. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 21, 2 (Feb. 1978), 120-126.]] Google ScholarGoogle Scholar
  25. 25 RowE, L. A., AND BIRMAN, K.P. A local network based on the UNIX operating system. IEEE Trans. Softw. Eng. SE-8, 2 (March 1982), 137-146.]]Google ScholarGoogle Scholar
  26. 26 SANDBERG, R., GOLDBERG, D., KLEIMAN, S., WALSH, D., AND LYON, B. Design and implementation of the Sun network filesystem. Tech. Rep. Sun Microsystems, Inc., 1985.]]Google ScholarGoogle Scholar
  27. 27 SCHROEDER, M. D., BIRRELL, A. D., AND NEEDHAM, R.M. Experience with Grapevine: The growth of a distributed system. ACM Trans. Comput. Syst. 2, 1 (Feb. 1984), 3-23.]] Google ScholarGoogle Scholar
  28. 28 SHELTZER, A.B. Network transparency in an internetwork environment. Ph.D. dissertation, Univ. of California, Los Angeles, 1985. Available as UCLA Tech. Rep. CSD-850028.]] Google ScholarGoogle Scholar
  29. 29 STRONG, H. R., AND DOLEV, D. Byzantine Agreement. Res. Rep. RJ 3714 (42930), IBM Research Division, Dec. 1982.]]Google ScholarGoogle Scholar
  30. 30 TERRY, D.B. Distributed name servers: Naming and caching on large distributed computing environments. Ph.D. dissertation, Univ. of California, Berkeley, 1985. Available as UCB/CSD Tech. Rep. 85-228, and as Xerox PARC Tech. Rep. CSL-85-1.]] Google ScholarGoogle Scholar
  31. 31 THEIMER, S. M., LANTZ, K. A., AND CHERITON, D.S. Preemptable remote execution facilities for the V System. In Proceedings of the l Oth Symposium on Operating System Principles. ACM, New York, 1985.]] Google ScholarGoogle Scholar
  32. 32 WALKER, B., POPEK, G., ENGLISH, R., KLINE, C., AND THIEL, G. The LOCUS distributed operating system. In Proceedings of the 9th Symposium on Operating Systems Principles (Bretton Woods, N.H., Oct. 1983). ACM, New York, 1983, pp. 49-70. Published as Operating Systems Review 17, 5.]] Google ScholarGoogle Scholar
  33. 33 WALL, D.W. Mechanisms for broadcast and selective broadcast. Tech. Report 190, Computer Systems Laboratory, Stanford Univ., June 1980.]]Google ScholarGoogle Scholar
  34. 34 WELCH, B., AND OUSTERHOUT, J. Prefix tables: A simple mechanism for locating files in a distributed system. Tech. Rep., Computer Science Div., EECS Dept., Univ. of California, Berkeley, Oct. 1985.]] Google ScholarGoogle Scholar

Index Terms

  1. Decentralizing a global naming service for improved performance and fault tolerance

        Recommendations

        Reviews

        Jerzy J. A. Klaczak

        This paper describes a successful attempt to create a unified and fully transparent naming system covering a whole organization. On top of frequently accessed “managerial” directories (stored in individual file servers), the authors superimpose an additional layer of “administrational” directories (implemented by cooperating managers). The multicasts used to communicate with these directories set a current limit of roughly 1000 hosts on the entire system. Further growth, even to worldwide scale, is enabled by connecting independent systems to an additional layer of directories implemented using well-known global naming techniques. The authors show how to make such a system secure. The system has no separate file and name servers, but each manager knows the full global names of its objects. Clients use small caches of directory names to bypass multicasts and to decide where to send the naming request. The hit ratio is well over 99 percent in typical systems. Caches are updated by deleting stale entries on use, allowing the system to achieve optimal fault tolerance, message traffic, and response time. The text is clear, concise, and well written. All the parts necessary to make a good research paper are present here. The authors not only describe the development, analysis, and field tests for theoreticians, they also give many practical guidelines for practitioners of distributed systems. Even beginners can start with the reference list and the discussion of related works. The only lack is a discussion of the direction for further research.

        Access critical reviews of Computing literature here

        Become a reviewer for Computing Reviews.

        Comments

        Login options

        Check if you have access through your login credentials or your institution to get full access on this article.

        Sign in

        Full Access

        • Published in

          cover image ACM Transactions on Computer Systems
          ACM Transactions on Computer Systems  Volume 7, Issue 2
          May 1989
          97 pages
          ISSN:0734-2071
          EISSN:1557-7333
          DOI:10.1145/63404
          Issue’s Table of Contents

          Copyright © 1989 ACM

          Publisher

          Association for Computing Machinery

          New York, NY, United States

          Publication History

          • Published: 1 May 1989
          Published in tocs Volume 7, Issue 2

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader