Outline of Topics
Global Computing
(CIS 700/2, Spring 2001)
1 Background
1.1 Pi-calculus (and lambda-calculus)
Readings:
Foundational Calculi for Programming Languages,
Benjamin C. Pierce. CRC Handbook of Computer Science and Engineering,
1996.
1.2 Ambients
Readings:
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.
140-155.
Luca Cardelli,
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.
1.3 Join-calculus
Readings:
Cédric Fournet, Georges Gonthier, Jean-Jacques Lvy,
Luc Maranget, and Didier Rémy.
``A
calculus of mobile agents.''
Proceedings CONCUR'96 (LNCS 1119).
2 Trust
2.1 Seal-calculus
Readings:
Jan Vitek and Giuseppe Castagna.
Seal: A framework
for secure mobile computations. In Internet Programming Languages,
1999.
2.2 Economic agents
Readings:
-
Michael Wooldridge and Paolo Ciancarini,
Agent-Oriented Software Engineering: The State of the Art
(Skim)
- Mark Miller and Eric Drexler,
Markets and computation: Agoric open systems.
(Sections 1-3 only)
- Mojo Nation website
(concentrating on
How it
works and
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.
Supplementary readings:
-
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
Press, 1996.
2.3 Trust Management
Readings:
-
Butler Lampson. Authentication in Distributed
Systems. In Distributed Systems, edited by Sape Mullender.
Addison-Wesley, 1993.
-
Policy-directed
certificate retrieval.
Carl Gunter and Trevor Jim.
Software, Practice and Experience, 2000.
- I. Clarke, O. Sandberg, B. Wiley, and T.W. Hong,
Freenet:
A Distributed Anonymous Information Storage and Retrieval System, in
Workshop on Design Issues in Anonymity and Unobservability, Berkeley,
California. Springer: New York (2001).
Supplementary readings:
Lampson's paper was generally found to be rather hard going. The
following are helpful supplements:
-
A
calculus for access
control in distributed systems, by Abadi, Burrows, Lampson, and Plotkin.
ACM
Transactions on Programming Languages and Systems, 15, 4 (Oct. 1993), pp
706-734.
(A more rigorous, mathematical presentation of a similar system.)
- A
Formal Semantics for SPKI, by Jon Howell and David Kotz. Dartmouth
TR2000-363.
(An extended system, with some excellent background material in the early
sections.)
- Presentation by Theodore Hong at the O'Reilly Peer-to-Peer
Conference on
"Performance Issues in
Distributed Filesharing Systems"
- Check out
http://www.freenetproject.org
- Adam Langley,
"The Freenet
Protocol," working document.
2.4 Active Networks
Readings:
-
Safety
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.
-
A
Secure PLAN. Michael Hicks and Angelos D. Keromytis. IWAN 99.
3 Agreement and Fault Tolerance
3.1 Distributed agreement
Readings:
-
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).
3.2 Transactions
Readings:
-
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,
March, 1988.
- 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.
Supplementary 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.
Other topics and possible readings:
-
nested transactions
- transactions in ``extended settings'' (in distributed systems)
- variants (non-blocking locks, etc.) (guest lecture by Greenwald?)
- Something from DESA (EC project)
- Duggan's
Calculus for Atomic Failures
- Something on randomized agreement,
e.g.
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.
or
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 Combinators
Readings:
Luca Cardelli and Rowan Davies.
Service Combinators for Web Computing. IEEE
Transactions on Software Engineering, Vol 25, No 3, May-June 1999. pp
309-316.
4.2 XML (1-3 meetings)
-
a ``type system for the web''? (1 meeting) [supplemental reading:
a Dynamic Types paper]
- BizTalk (1 meeting)
(Guest lecture by Wadler?)
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.
Supplementary readings:
A Language With Distributed Scope. Luca
Cardelli. Computing Systems Journal, 8(1), 1995, pp. 27--59.
(possibly also discuss secure network objects)
4.4 Mobility
Readings:
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.
Available via
http://www.cs.arizona.edu/people/hiltunen/
- Several papers by Herlihy on optimistic concurrency control for
abstract data types. Cf. citations in Liskov book.
-
Diluting
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.