[an error occurred while processing this directive]

Publications

Butler W. Lampson
(root)

The papers and other items are listed in chronological order of publication. Each one that is available on-line has at least an abstract and Acrobat and Postscript files. Many of them also appear as Web pages and as Microsoft Word documents. When an item is about a system that I worked on, there is a cross-reference to a brief description of that system.

1. Interactive machine-language programming. Proc. AFIPS Conf. 27 (1965), pp 473-482.

2. A user machine in a time-sharing system. Proc. IEEE 54, 12 (Dec. 1966), pp 1766-1774. Reprinted in Computer Structures, ed. Bell and Newell, McGraw-Hill, 1971, pp 291-300 (with M. Pirtle and W. Lichtenberger). Abstract, Postscript, Acrobat, Web page, Word. See SDS 940.

3. A critique of 'An exploratory investigation of programmer performance under on-line and off-line conditions'. IEEE Trans. Human Factors in Electronics HFE-8, 1 (Mar. 1967), pp 48-51.

4. An on-line editor. Comm. ACM 10, 12 (Dec. 1967), pp 793-799 (with P. Deutsch). See QED.

5. A scheduling philosophy for multi-processing systems. Comm. ACM 11, 5 (May 1968), pp 347-359.

6. Dynamic protection structures. Proc. AFIPS Conf. 35 (1969), pp 27-38.

7. On reliable and extendible operating systems. Proc. 2nd NATO Conf. on Techniques in Software Engineering, Rome, 1969. Reprinted in The Fourth Generation, Infotech State of the Art Report 1, 1971, pp 421-444. See Cal TSS.

8. Protection. Proc. 5th Princeton Conf. on Information Sciences and Systems, Princeton, 1971. Reprinted in ACM Operating Systems Rev. 8, 1 (Jan. 1974), pp 18-24. Abstract, Postscript, Acrobat, Web page, Word.

9. Protection and access control in operating systems. In Operating Systems, Infotech State of the Art Report 14, 1972, pp 309-326.

10. Remarks on the nature of programming. Guest editorial, Software-Practice and Experience 2, 3 (Jul. 1972), pp 195-196. Abstract, Postscript, Acrobat, Web page, Word.

11. A note on the confinement problem. Comm. ACM 16, 10 (Oct. 1973), pp 613-615. Abstract, Postscript, Acrobat, Web page, Word.

12. Redundancy and robustness in memory protection. Invited paper, Proc. IFIP Cong., North-Holland, 1974, pp 128-132.

13. On the transfer of control between contexts. Lecture Notes in Computer Science 19, Springer, 1974, pp 181-203 (with J. Mitchell and E. Satterthwaite). See Mesa, Mesa architecture.

14. An open operating system for a single-user machine. Rev. Francaise d'Automatique, Informatique et Recherche Operationnelle 9, B-3 (Sept. 1975), pp 8-15. Substantially revised as [22]. See Alto OS.

15. Reflections on an operating system design. Comm. ACM 19, 5 (May 1976), pp 251-265 (with H. Sturgis). Abstract, Postscript, Acrobat, Web page, Word. See Cal TSS.

16. Storage allocation in typed languages. Proc. 5th Ann. III Conf: Implementation and Design of Algorithmic Languages, Guidel, France, 1977, pp 315-322.

17. Report on the programming language Euclid. ACM Sigplan Notices 12, 2 (Feb. 1977), pp 1-85 (with J. Horning, R. London, J. Mitchell, and G. Popek). Revised as Technical Report CSL-81-12, Xerox Palo Alto Research Center. See Euclid.

18. Notes on the design of Euclid. ACM Sigplan Notices 12, 3 (Mar. 1977), pp 11-18 (with J. Horning, R. London, J. Mitchell, and G. Popek). See Euclid.

19. A terminal-oriented communication system. Comm. ACM 20, 7 (Jul. 1977), pp 486-494 (with P. Heckel).

20. Proof rules for the programming language Euclid. Acta Informatica 10, 1 (Jan. 1978), pp 1-26 (with J. Guttag, H. Horning, R. London, J. Mitchell, and G. Popek). See Euclid.

21. Crash recovery in a distributed data storage system. Unpublished technical report, Xerox Palo Alto Research Center, June, 1979, 25 pp. Abstract, Postscript, Acrobat, Web page, Word.

22. An open operating system for a single-user machine. ACM Operating Systems Rev. 11, 5 (Dec. 1979), pp 98-105 (with R. Sproull). Substantially revised version of [14].Abstract, Postscript, Acrobat, Web page, Word. See Alto OS.

23. Experience with processes and monitors in Mesa. Comm. ACM 23, 2 (Feb. 1980), pp 106-117 (with D. Redell).Abstract, Postscript, Acrobat, Web page, Word. See Mesa, Mesa architecture.

24. A processor for a high-performance personal computer. Proc. 7th IEEE Symposium on Computer Architecture, La Baule, France, 1980, pp 146-160 (with K. Pier). Reprinted in 25 years of the International Symposia on Computer Architecture (selected papers), 1998, pp 180-194. Also in Technical Report CSL-81-1, Xerox Palo Alto Research Center. Abstract, Acrobat. See Dorado.

25. Alto: A personal computer. In Computer Structures: Principles and Examples, ed. Siewiorek, Bell and Newell, McGraw-Hill, 1981 (with C. Thacker, E. McCreight, R. Sproull, and D. Boggs). See Alto.

26. Distributed Systems-Architecture and Implementation, Lecture Notes in Computer Science 105, Springer, 1981 (editor, with M. Paul and H. Siegert).

27. Atomic transactions. In [26], pp 246-265 (with H. Sturgis).

28. Remote procedure calls. In [26], pp 357-370.

29. The memory system of a high-performance personal computer. IEEE Trans. Computers C-30, 10 (Oct. 1981), pp 715-732 (with D. Clark and K. Pier). See Dorado.

30. Fast procedure calls. ACM Sigplan Notices 17, 4 (Apr. 1982), pp 66-75.

31. Practical use of a polymorphic applicative language. Proc. 10th ACM Symposium on Principles of Programming Languages, Austin, 1983, pp 237-255 (with E. Schmidt). See system modeling.

32. Organizing software in a distributed environment. ACM Sigplan Notices 18, 6 (Jun. 1983), pp 1-13 (with E. Schmidt). See system modeling.

33. Hints for computer system design. ACM Operating Systems Rev. 17, 5 (Oct. 1983), pp 33-48. Reprinted in IEEE Software 1, 1 (Jan. 1984), pp 11-28.Abstract, Postscript, Acrobat, Web page, Word.

34. An instruction fetch unit for a high-performance personal computer. IEEE Trans. Computers C-33, 8 (Aug. 1984), pp 712-730 (with G. McDaniel and S. Ornstein). See Dorado.

35. A kernel language for modules and abstract data types. In Semantics of Data Types, Lecture Notes in Computer Science 173, Springer, 1984, pp 1-50 (with R. Burstall). Revised version appeared as [39].

36. Designing a global name service. Proc. 4th ACM Symposium on Principles of Distributed Computing, Minaki, Ontario, 1986, pp 1-10. Abstract, Postscript, Acrobat, Web page, Word. See global name service.

37. A global authentication service without global trust. Proc. IEEE Symposium on Security and Privacy, Oakland, April 1986, IEEE order number 716, pp 223-230 (with A. Birrell, R. Needham, and M. Schroeder).Abstract, Postscript, Acrobat, Web page, Word. See global name service.

38. Personal distributed computing: The Alto and Ethernet software. In A History of Personal Workstations, ed. A. Goldberg, Addison-Wesley, 1988, pp 293-335. Abstract, Postscript, Acrobat, Web page, Word. See Alto, Alto OS, Bravo, Mesa, Interpress.

39. A kernel language for modules and abstract data types. Information and Computation 76, 2/3 (Feb./Mar. 1988), pp 278-346 (with R. Burstall). Revision of [35].

40. Specifying distributed systems. In Constructive Methods in Computer Science, ed. M. Broy, NATO ASI Series F: Computer and Systems Sciences 55, Springer, 1989, pp 367-396.

41. The Digital distributed system security architecture. Proc. 12th National Computer Security Conf., NIST/NCSC, Baltimore, 1989, pp 305-319 (with M. Gasser, A. Goldstein, and C. Kaufman).Abstract, Postscript, Acrobat. See distributed security.

42. Authentication and delegation with smart-cards. Science of Computer Programming 21, 2 (Oct. 1993), pp 91-113 (with M. Abadi, M. Burrows, and C. Kaufman).Abstract, Postscript, Acrobat.

43. Requirements and Technology for Computer Security. In Computers at Risk, National Academy Press, Washington, 1991, pp 74-101. Abstract, Postscript, Acrobat, Web page, Word.

44. A calculus for access control in distributed systems. ACM Trans. Programming Languages and Systems, 15, 4 (Oct. 1993), pp 706-734 (with M. Abadi, M. Burrows, and G. Plotkin).Abstract, Postscript, Acrobat. See Taos authentication.

45. Authentication in distributed systems: Theory and practice. ACM Trans. Computer Systems 10, 4 (Nov. 1992), pp 265-310 (with M. Abadi, M. Burrows, and E. Wobber).Abstract, Postscript, Acrobat, Web page, Word. See Taos authentication.

46. On-line data compression in a log-structured file system. ACM Sigplan Notices 27, 9 (Sept. 1992), pp 2-9 (with M. Burrows, C. Jerian, and T. Mann).Abstract, Postscript, Acrobat. See compressed file system.

47. Reliable messages and connection establishment. In Distributed Systems, ed. S. Mullender, 2nd ed., Addison-Wesley, 1993, pp 251-281.Abstract, Postscript, Acrobat, Web page, Word.

48. Principles of Computer Systems. Lecture notes for 6.826, MIT/LCS/RSS-22, Laboratory for Computer Science, MIT, July 1993 (with W. Weihl). You can get to the latest (1997) version of the course lecture notes from here.

49. A new presumed commit optimization for two phase commit. Proc. 19th VLDB Conference, Dublin, 1993, pp 630-640 (with D. Lomet). Abstract, Postscript, Acrobat.

50. Correctness of at-most-once message delivery protocols. Proc. 6th International Conference on Formal Description Techniques, Boston, 1993, pp 387-402 (with N. Lynch and J. Søgaard-Andersen). Abstract, Postscript, Acrobat.

51. Authentication in the Taos operating system. ACM Trans. Computer Systems 12, 1 (Feb. 1994), pp 3-32 (with E. Wobber, M. Abadi, and M. Burrows).Abstract, Postscript, Acrobat. See Taos authentication.

52. Implementing coherent memory. In A Classical Mind: Essays in Honour of C.A.R. Hoare, ed. A. Roscoe, Prentice-Hall, 1994, pp 259-274. Abstract, Postscript, Acrobat.

53. Putting Telecommunications on the Technology Curve: Architecture and Economics. Lecture notes for 6.892, MIT/LCS/RSS-23, Laboratory for Computer Science, MIT, February 1994 (with S. Gillett and D. Tennenhouse).

54. Interconnecting computers: Architecture, technology, and economics. Proc. Conference on Programming Languages and System Architectures, Lecture Notes in Computer Science 782, Springer, 1994, pp 1-20. Abstract, Postscript, Acrobat, Web page, Word.

55. Executive summary. In Evolving the High Performance Computing and Communications Initiative to Support the Nation's Information Infrastructure, National Academy Press, Washington, 1995, pp 1-12 (with I. Sutherland, E. Lazowska, and others).

56. Analysis and caching of dependencies. ACM SigPlan International Conference on Functional Programming, Philadelphia, May 1996, pp 83-91 (with M. Abadi and J. Levy).Abstract, Postscript, Acrobat. See Vesta 2.

57. Virtual infrastructure: Putting information infrastructure on the technology curve. Computer Networks and ISDN Systems 28, 13 (Oct. 1996), pp. 1769 - 1790 (with D. Tennenhouse, S. Gillett, and J. Klein). Abstract, Postscript, Acrobat, Web page, Word.

58. How to build a highly available system using consensus. In Distributed Algorithms, ed. Babaoglu and Marzullo, Lecture Notes in Computer Science 1151, Springer, 1996, pp 1-17. Abstract, Postscript, Acrobat, Web page, Word.

59. SDSI - A Simple Distributed Security Infrastructure. http://theory.lcs.mit.edu/~cis/sdsi.html, 1996 (with R. Rivest). Abstract, Postscript, Acrobat, Web page.

60. IP lookup using multiway and multicolumn binary search. IEEE/ACM Transactions on Networking, to appear (also in Infocom 98, April 1998) (with V. Srinivasan and G. Varghese). Abstract, Postscript, Acrobat.