Outline of Topics
(CIS 700/2, Spring 2001)
1.1 Pi-calculus (and lambda-calculus)Readings:
Foundational Calculi for Programming Languages,
Benjamin C. Pierce. CRC Handbook of Computer Science and Engineering,
Luca Cardelli and Andrew D. Gordon,
Mobile Ambients. Foundations of Software Science and
Computational Structures, Maurice Nivat (Ed.), Lecture Notes in
Computer Science, Vol. 1378, Springer, 1998. pp.
Abstractions for Mobile Computation.
Jan Vitek and Christian Jensen, Editors. Secure Internet Programming: Security Issues for Mobile and Distributed Objects. Lecture Notes in Computer
Science, Vol. 1603, Springer, 1999. ISBN
3-540-66130-1. pp. 51-94.
Cédric Fournet, Georges Gonthier, Jean-Jacques Lvy,
Luc Maranget, and Didier Rémy.
calculus of mobile agents.''
Proceedings CONCUR'96 (LNCS 1119).
Jan Vitek and Giuseppe Castagna.
Seal: A framework
for secure mobile computations. In Internet Programming Languages,
2.2 Economic agentsReadings:
Michael Wooldridge and Paolo Ciancarini,
Agent-Oriented Software Engineering: The State of the Art
- Mark Miller and Eric Drexler,
Markets and computation: Agoric open systems.
(Sections 1-3 only)
- Mojo Nation website
Technical overview pages)
- Mariposa: A
Wide-Area Distributed Database System,
Michael Stonebraker, Paul M. Aoki, Avi Pfeffer, Adam Sah, Jeff
Sidell, Carl Staelin, and Andrew Yu.
VLDB Journal 5, 1 (Jan. 1996), p. 48-63.
D. F. Ferguson, C. Nikolaou, J. Sairamesh, and Y. Yemini,
Economic Models for Allocating Resources in Computer Systems.
In Market based Control of
Distributed Systems, Ed. Scott Clearwater, World Scientific
2.3 Trust ManagementReadings:
Lampson's paper was generally found to be rather hard going. The
following are helpful supplements:
Butler Lampson. Authentication in Distributed
Systems. In Distributed Systems, edited by Sape Mullender.
Carl Gunter and Trevor Jim.
Software, Practice and Experience, 2000.
- I. Clarke, O. Sandberg, B. Wiley, and T.W. Hong,
A Distributed Anonymous Information Storage and Retrieval System, in
Workshop on Design Issues in Anonymity and Unobservability, Berkeley,
California. Springer: New York (2001).
calculus for access
control in distributed systems, by Abadi, Burrows, Lampson, and Plotkin.
Transactions on Programming Languages and Systems, 15, 4 (Oct. 1993), pp
(A more rigorous, mathematical presentation of a similar system.)
Formal Semantics for SPKI, by Jon Howell and David Kotz. Dartmouth
(An extended system, with some excellent background material in the early
- Presentation by Theodore Hong at the O'Reilly Peer-to-Peer
"Performance Issues in
Distributed Filesharing Systems"
- Check out
- Adam Langley,
Protocol," working document.
2.4 Active NetworksReadings:
and Security of Programmable Network Infrastructures. D.
Scott Alexander, William A. Arbaugh, Angelos D. Keromytis, and Jonathan
M. Smith. IEEE Communications Magazine, issue on Programmable Networks,
vol. 36, no. 10, pp. 84 - 92.
Secure PLAN. Michael Hicks and Angelos D. Keromytis. IWAN 99.
3 Agreement and Fault Tolerance
3.1 Distributed agreementReadings:
Vassos Hadzilacos and Sam Toueg. Fault-tolerant broadcasts
and related problems. Chapter 5 in Distributed Systems, edited
by Sape Mullender. Addison-Wesley, 1993.
- Ozalp Babaoglu and Sam Toueg. Non-blocking atomic
committment. Chapter 6 in Distributed Systems, edited by Sape
Mullender. Addison-Wesley, 1993.
- R. Guerraoui and A. Schiper,
Consensus: the Big Misunderstanding.
IEEE International Workshop on Future Trends in Distributed Computing Systems (FTDCS'97), Tunis, October 1997
- R. Guerraoui, M. Hurfin, A. Mostefaoui, R. Oliveira, M. Raynal,
and A. Schiper
Consensus in Asynchronous
Distributed Systems: a Concise Guided Tour.
Chapter 1: Recent Advances in Large Scale Distributed Systems
Springer Verlag (LNCS 1752), W. G Broadcast (ed).
Bernstein, Hadzilacos and Goodman, Concurrency Control and
Recovery in Database Systems. 1987 (currently out of print.)
Chapter 1, ``The Problem.''
- William E. Weihl, Transaction Processing Techniques.
Chapter 13 in Distributed Systems, edited by Sape
Mullender. Addison-Wesley, 1993.
- Barbara Liskov, Distributed Programming in Argus. CACM,
- Introduction to Advanced Transaction Models. Chapter 2 of Database transaction models for advanced applications, edited by
Ahmed K. Elmagarmid. 1992.
- Maurice Herlihy and Jeannette Wing. Linearizability: A correctness
condition for concurrent objects. ACM Transactions on Programming
Languages and Systems, 12(3):463--492, July 1992.
Other topics and possible readings:
Nicholas Haines, Darrell Kindred, J. Gregory Morrisett, Scott
M. Nettles, and Jeanette M. Wing, TinkerToy Transactions. CMU
Tech report CMU-CS-93-202, 1993.
- transactions in ``extended settings'' (in distributed systems)
- variants (non-blocking locks, etc.) (guest lecture by Greenwald?)
- Something from DESA (EC project)
Calculus for Atomic Failures
- Something on randomized agreement,
M. Ben-Or. Another advantage of free choice: completely asynchronous agreement protocols. In Proc. 2nd ACM Symp. on Principles of
Distributed Computing, pages 27-30, 1983.
B. A. COAN AND J. L. WELCH.
Transaction Commit in a Realistic Timing Model.
Distributed Computing, Vol. 4, No. 2, pp. 87-103, June 1990.
- M. Herlihy and J.M. Wing -"Avalon: Language support for reliable
distributed system" - IEEE Proceeding of the International Symposium on
Fault-tolerant Computer Systems - July 1987. (Or maybe: Jeanette M.
Wing, Maurice Herlihy, Stewart Clamen, David Detlefs, Karen Kietzke,
Richard Lerner, and Su-Tuen Ling. The Avalon/C++ programming language.
Technical Report CMU-CS-88-209, Carnegie-Mellow Univ. Computer Science
Dept., Dec 1988.)
- Herlihy article on optimistic concurrency control
- Weihl article on local atomicity (TOPLAS 11(2), 1989)
4 Additional Topics (time permitting)
4.1 Service CombinatorsReadings:
Luca Cardelli and Rowan Davies.
Service Combinators for Web Computing. IEEE
Transactions on Software Engineering, Vol 25, No 3, May-June 1999. pp
4.2 XML (1-3 meetings)
(Guest lecture by Wadler?)
a ``type system for the web''? (1 meeting) [supplemental reading:
a Dynamic Types paper]
- BizTalk (1 meeting)
4.3 Network Objects (1-3 meetings)Readings:
Network Objects. Andrew Birrell, Greg
Nelson, Susan Owicki, and Edward Wobber. Software--Practice and
Experience, 25(S4), 1995, pp. 87--130.
A Language With Distributed Scope. Luca
Cardelli. Computing Systems Journal, 8(1), 1995, pp. 27--59.
(possibly also discuss secure network objects)
Old wine in new bottles, ...
4.5 Other readings that may be useful
J. Garay and K. Perry,
``A Continuum of
Failure Models for Distributed Computing.'' Parts of this paper
appeared under the same title in Proc. 6th International Workshop on
Distributed Algorithms (WDAG '92), LNCS (647), Springer-Verlag,
pp.153-165, Haifa, Israel, 1992, and as "Synchronizing Clocks in a System
Resilient to a Wide Class of Failures" in Proc. 1994 IEEE Workshop on
Fault-Tolerant Parallel and Distributed Systems, IEEE Computer Society
Press, pp.260-267, 1995.
- Supporting Customized Failure Models for Distributed Software, Matti A. Hiltunen, Vijaykumar Immanuel, and Richard D. Schlichting. Distributed System
Engineering, December 1999, volume 6, pages 103-111.
- Several papers by Herlihy on optimistic concurrency control for
abstract data types. Cf. citations in Liskov book.
ACID (Kempster, Stirling, Thanish)
- FMOODS paper last year on ``Coordinated Atomic Actions'', Julie
Vachon (cf. Odersky's home page)
Global Computing Seminar (CIS 700/2, Spring 2001),
Benjamin C. Pierce.