Fall 1997
Course Description
The purpose of the Distributed Systems course is to learn the state-of-the-art of practical distributed systems and to distill design principles for building large network-based computational systems. Our readings and discussions will help us identify the research frontier and extract methods and general approaches to implement these advanced systems. The topics we will study include dynamic packet routing, global namespace systems, component architectures, ontologies, resource allocation strategies, distributed security and authentication protocols, fault-tolerant databases, distributed artificial intelligence, and virtual worlds. The course involves discussions of two or three papers a week and a large group project implementing a distributed system.
Participants
Advisor: Pattie Maes
Organizers: Nelson Minar, Rob Guttman, Alex Moukas
Contributors: Daniel Dreilinger, Joey, Kwin Kramer, Juan Velasquez, Tom White, Giorgos ZachariaTextbooks
S. Mullender. Distributed Systems, 2nd ed. Addison-Wesley, 1993.
K. Birman. Building Secure and Reliable Network Applications. Manning, 1996.Project
Every registered participant must complete a substantial group distributed systems project. Project Proposals are due Fri, 31 Oct. Please submit a 2-3 paragraph project proposal describing the project and your expected results via the class email alias, <dist-sys-97@media.mit.edu>. Projects are due 10 Dec. Projects will consist of a distributed software system and a supporting web page. We will demo each project during our last day of class.
Readings
Every registered participant must select readings and lead the subsequent discussion at least once.
DATE TOPIC & REFERENCES LEADERS 09/26 Distributed Systems Overview
- Mullender, Ch.1: M. Schroeder. "A State-of-the-Art Distributed System: Computing with BOB."
- K. Chandy and A. Rifkin. "Systematic Composition of Objects in Distributed Internet Applications: Processes and Sessions." Awarded best paper in software technology at HICSS-30, Maui, Hawaii, January 1997. (from the Caltech Infospheres Project)
- Optional: K. Birman, Ch. 1: "Fundamentals"
Nelson & Rob
10/03 Global Namespaces & Ontologies
- K. Sollins. "Architectural Principles of Uniform Resource Name Resolution." Internet Draft, September 1997. (from the MIT Information Mesh Project)
- T. Finin, Y. Labrou, and J. Mayfield. "KQML as an Agent Communication Language." Invited chapter in Jeff Bradshaw (ed.), Software Agents, MIT Press, Cambridge, 1997.
- J. Bosak. "XML, Java, and the future of the Web." March 1997. (or in gzipped postscript)
Nelson, Rob, & Alex
10/10 Distributed Artificial Intelligence
- B. Moulin and B. Chaib-draa. "An Overview of Distributed Artificial Intelligence." In Foundations of Distributed Artificial Intelligence, O'Hare and Jennings (eds), Wiley, 1996.
- T. Malone and K. Crowston. "Toward an Interdisciplinary Theory of Coordination." MIT Center for Coordination Science, TR# 120, 1991. [The link above is to a newer version of this paper. I also found a critque of this newer paper.- Rob]
- A. Bond and L. Gasser. "An Analysis of Problems and Research in DAI." In Readings in Distributed Artificial Intelligence. Morgan Kaufmann, 1988.
Juan & Alex
10/17 No class (Hell Week) n/a 10/24 Distributed Artificial Intelligence II
- J. Deneubourg, G. Theraulaz, and R. Beckers. "Swarm-Made Architectures." From Animals to Animats, the Proceedings of the First Conference on Simulation of Adaptive Behavior, MIT Press, 1991.
- G. Theraulaz, S. Goss, J. Gervet, and J. Deneubourg. 'Task Differentiation in Polistes Wasp Colonies: A Model for Self-organizing Groups of Robots." In Proceedings of the European Conference on Artificial Life, MIT Press, 1992.
- R. Axelrod. Evolution of Cooperation, Ch 1 & 2. Basic Books, 1984.
Alex & Juan
10/31 Project Proposals due!
Decentralized Resource Allocation
- M.Wellman. "Market-oriented Programming: Some Early Lessons." In S. Clearwater (ed.), Market-Based Control: A Paradigm for Distributed Resource Allocation. World Scientific, 1996.
- T. Sandholm. "An Implementation of the Contract Net Protocol Based on Marginal Cost Calculations." In Eleventh National Conference on Artificial Intelligence (AAAI-93), Washington DC, pp. 256-262.
- Optional: T. Malone, R. Fikes, K. Grant, and M. Howard. "Enterprise: A Market-like Task Scheduler for Distributed Computing Environments." In B. Huberman (ed.), The Ecology of Computation, pp. 177-205. North-Holland Publishing Company, Amsterdam, 1988.
- Optional: E. Raymond. "The Cathedral and the Bazaar." [On the distributed Linux Software Engineering Management effort. - Rob]
Alex, Juan, & Rob
11/07 Distributed Operating Systems & File Systems
- D. Gelertner. "Space, Time and Multi-Time." Mirror Worlds, Ch.4.
- A. Tanenbaum, R. Renesse, H. Staveren, G. Sharp, S. Mullender, A. Jansen, and G. Rossum. "Experiences with the Amoeba Distributed Operating System." In CACM, vol. 33, pp. 46-63, Dec. 1990.
- J. Steiner, B. Neuman, and J. Schiller. "Kerberos: An Authentication Service for Open Network Systems." In Proceedings of the Winter 1988 Usenix Conference, February, 1988.
- Optional: C. Pu and J. Walpole. "A Case for Adaptive OS Kernels" An OOPSLA'94 position paper.
Nelson & Tom 11/14 Component Architectures & Dynamic Software Upgrades
- S. Vinowski. "CORBA: Integrating Diverse Applications Within Distributed Hetergeneous Environments." IEEE Communications Magazine, Vol. 14, No. 2, February 1997.
- P. Sridharan. Advanced Java Networking. Prentice Hall, New Jersey, 1997.
- "The Castanet Product Family: Introducing the Castanet 2.0 Software Distribution System." Marimba whitepaper, 1997.
- Optional: "What OLE Is Really About" A decent history and description of OLE/COM/ActiveX/DCOM/COM+, from Microsoft. [Recently removed from site. - Rob]
- Optional: "CORBA and DCOM: How Each Works"
- Optional: "DCOM and CORBA Side by Side, Step by Step, and Layer by Layer" [A more academic paper comparing CORBA and DCOM. -- Kwin]
- Optional: "RMI and Java Distributed Computing." SunSoft white paper, 1997. [A nice little article summarizing JavaSoft's view of CORBA and other distributed object issues. -- Nelson]
Kwin 11/21 Distributed and Federated Databases
- J. Kleewein. "Practical Issues with Commercial Use of Federated Databases" Proceedings of 22th International Conference on Very Large Data Bases (VLDB'96), Morgan Kaufmann, Bombay, India. September 1996. [One page overview. -- Rob]
- Mullender, Ch.13: W. Weihl. "Transaction-Processing Techniques" [Primary paper. -- Rob]
- M. Spicknall. "Federated Database Systems in Complex Business Environments - Utilizing Evolving Internet Technologies." University of Michigan Transportation Research Institute white paper, 1997. [Not an academic paper, but some good overview material with a practical focus. -- Rob]
- Optional: D. Gifford and A. Spector. "The TWA Reservation System." Communications of the ACM, Vol 27, No 7, July 1984, pp649-665. [Fun one. Did you notice the date?! -- Rob]
- Optional: K. Birman, Ch. 7.5 : "Distributed Database Systems" and Ch. 7.6: "Applying Transactions to File Systems"
- Optional: Mullender, Ch.14.2.2: M. Satyanarayanan. "Distributed File Systems." [Just a page comparing file systems to databases. -- Rob]
- Optional: E.-P. Lim, S.-Y. Hwang, J. Srivastava, D. Clements, and M. Ganesh. "Myriad: Design and Implementation of a Federated Database Prototype." Software Practice & Experience, 1995. [An academic paper, but with a Software Engineering flavor. -- Rob]
Rob 11/28 No class (Thanksgiving Holiday) n/a 12/05 Internet Routing & Internet Messaging
- R. Hinden. "IP Next Generation Overview." [Online only. An overview of what IPv6 does on top of what we're used to already (IPv4). - Nelson]
- C. Labovitz, G. Malan, F. Jahanian. "Internet Routing Instability." To appear in SIGCOMM'97, September 1997. [Technical analysis of how Internet routing goes wrong. - Nelson]
- D. Tennenhouse, J. Smith, W. Sincoskie, D. Wetherall, and G. Minden. "A Survey of Active Network Research." [Overview of active packets research - bleeding edge ideas. - Nelson]
- Optional: J. Yanowitz. "Under the hood of the Internet: An overview of the TCP/IP Protocol Suite" [Has a decent basic overview of TCP/IP. - Nelson]
Nelson & Kwin 12/10 Projects Due! Everyone! 12/19 Optional: Project Demos (or Die)! Everyone! Resources