Service Registry References¶
Service registration and discovery is a problem in distributed computing that has been explored for over thirty years, with [Birrell81]'s Grapevine system the first known implementation -though of
Papers¶
-
[Birrell81] Birrell, A. et al, Grapevine: An exercise in distributed computing. Comm. ACM 25, 4 (Apr 1982), pp260-274. The first documented directory service; relied on service shutdown to resolve update operations.
-
[Das02] SWIM: Scalable Weakly-consistent Infection-style Process Group Membership Protocol P2P gossip-style data sharing protocol with random liveness probes to address scalable liveness checking. Ceph uses similar liveness checking.
-
[Lampson86] Lampson, B. Designing a Global Naming Service. DEC. Distributed; includes an update protocol and the ability to add links to other parts of the tree. Also refers to Xerox Clearinghouse, which apparently shipped.
-
[Marti02] Marti S. and Krishnam V., Carmen: A Dynamic Service Discovery Architecture,
-
[Mockapetris88] Mockapetris, P. Development of the domain name system. The history of DNS
-
[Schroeder84] Schroeder, M.D. et al, Experience with Grapevine: The Growth of a Distributed System. Xerox. Writeup of the experiences of using grapevine, with its eventual consistency and lack of idempotent message delivery called out -along with coverage of operations issues.
-
[van Renesse08] van Renesse, R. et al, Astrolabe: A Robust and Scalable Technology For Distributed System Monitoring, Management, and Data Mining. ACM Transactions on Computer Systems Grandest P2P management framework to date; the work that earned Werner Vogel his CTO position at Amazon.
-
[van Steen86] van Steen, M. et al, A Scalable Location Service for Distributed Objects. Vrije Universiteit, Amsterdam. Probably the first Object Request Broker. ORBs may be out of favour, with CORBA being viewed with disdain, but the goals of ORBs were not all wrong. One of the aspects of the early ORB-deployed applications wasn't the internal implementation of back-end web applications, it was to implement distributed client-server applications where the back end was the model, the front end the view; ORBs would bond the two even as the data moved around. Ignoring the implementation details of how that client-side code got there, it is a cleaner model than many web applications have today.