@string{uacs = "Department of Computer Science, University of Arizona"} @string{tcomp = "IEEE Transactions on Computers"} @string{tse = "IEEE Transactions on Software Engineering"} @string{tcomm = "IEEE Transactions on Communications"} @string{comp = "IEEE Computer"} @string{toc = "IEEE Transactions on Computers"} @string{ton = "IEEE/ACM Transactions on Networking"} @string{tocs = "ACM Transactions on Computer Systems"} @string{osrev = "ACM Operating Systems Review"} @string{toplas = "ACM Transactions on Programming Languages and Systems"} @string{cacm = "Communications of the ACM"} @string{cs = "ACM Computing Surveys"} @string{spe = "Software---Practice and Experience"} @string{ipl = "Information Processing Letters"} @string{dc = "Distributed Computing"} @string{sosp3 = "Proceedings of the Third ACM Symposium on Operating System Principles"} @string{sosp6 = "Proceedings of the Sixth ACM Symposium on Operating System Principles"} @string{sosp7 = "Proceedings of the Seventh ACM Symposium on Operating System Principles"} @string{sosp8 = "Proceedings of the Eighth ACM Symposium on Operating System Principles"} @string{sosp9 = "Proceedings of the Ninth ACM Symposium on Operating System Principles"} @string{sosp10 = "Proceedings of the Tenth ACM Symposium on Operating System Principles"} @string{sosp11 = "Proceedings of the Eleventh ACM Symposium on Operating System Principles"} @string{sosp12 = "Proceedings of the Twelfth ACM Symposium on Operating System Principles"} @string{sigcomm86 = "Proceedings of the SIGCOMM '86 Symposium"} @string{sigcomm87 = "Proceedings of the SIGCOMM '87 Symposium"} @string{sigcomm88 = "Proceedings of the SIGCOMM '88 Symposium"} @string{sigcomm89 = "Proceedings of the SIGCOMM '89 Symposium"} @string{sigcomm90 = "Proceedings of the SIGCOMM '90 Symposium"} @string{sigcomm92 = "Proceedings of the SIGCOMM '92 Symposium"} @string{datacomm9 = "Proceedings of the 9th Data Communications Symposium"} @string{dcs6 = "Proceedings of the Sixth International Conference on Distributed Computing Systems"} @string{dcs12 = "Proceedings of the Twelfth International Conference on Distributed Computing Systems"} @string{rfc = "Request for Comments"} @string{sedms3 = "Proceedings of the Third Symposium on Experiences with Distributed and Multiprocessor Systems"} @Article(xkerneltse, Author="Norman C. Hutchinson and Larry L. Peterson", Title="The {\it x}-kernel: An Architecture for Implementing Network Protocols", Journal=tse, Volume="17", Number=1, Month=jan, Year=1991, Pages="64-76" ) @Article{dist:balsurvey, author = "Bal, Henri E. and Steiner, Jennifer G. and Tanenbaum, Andrew S.", title = "Programming languages for Distributed computing systems", journal = "ACM Computing Surveys", year = "1989", volume = "21", number = "3", pages = "261--322", month = "September", OPTnote = "" } @Article{dist:dsmsurvey, author = "Nitzberg, Bill and Lo, Virginia", title = "Distributed Shared Memory: A Survey of Issues and Algorithms", journal = "Computer", year = "1991", volume = "24", number = "8", pages = "52--60", month = "August", OPTnote = "" } @Article{dist:orca, author = "Bal, Henri E. and Kaashoek, M. Frans and Tanenbaum, Andrew S.", title = "{Orca}: A Language for Parallel Programming of Distributed Systems", journal = "IEEE Transactions on Software Engineering", year = "1992", volume = "18", number = "3", pages = "190--205", month = "March", OPTnote = "" } @Article{dist:orcacomputer, author = "Andrew S. Tannenbaum and M. Frans Kaashoek and Henri E. Bal", title = "Parallel Programming Using Shared Objects and Broadcasting", journal = computer, year = "1992", volume = "25", number = "8", pages = "10--19", month = "August", OPTnote = "" } @InProceedings{dist:orcaftol, author = "M. Frans Kaashoek and Raymond Michiels and Henri E. Bal and Andrew S. Tannenbaum", title = "Transparent Fault-Tolerance in Parallel {Orca} Programs", booktitle = sedms3, year = "1992", OPTeditor = "", pages = "297--311", OPTorganization = "", OPTpublisher = "", address = "Newport Beach, California", month = "March", OPTnote = "" } @Article{dist:consensus, author = "John Turek and Dennis Shasha", title = "The Many Faces of Consensus in Distributed Systems", journal = "Computer", year = "1992", volume = "25", number = "6", pages = "8--17", month = "June", OPTnote = "" } @Article{dist:herlihy1, author = "Maurice Herlihy", title = "Wait-Free Synchronization", journal = toplas, year = "1991", volume = "11", number = "1", pages = "124--149", month = "January", OPTnote = "" } @Article{dist:logicalclocks, author = "Leslie Lamport", title = "Time, Clocks, and the Ordering of Events in a Distributed System", journal = cacm, year = "1978", volume = "21", number = "7", pages = "558--565", month = "July", OPTnote = "" } @PhDThesis{dist:rpc, author = "Nelson, Bruce J.", title = "Remote Procedure Call", school = "Computer Science Department, Carnegie-Mellon University", year = "1981", OPTaddress = "", OPTmonth = "", OPTnote = "" } @Article{dist:broadcasts, author = "Chang, Jo-Mei and Maxemchuk, N. F.", title = "Reliable Broadcast Protocols", journal = tocs, year = "1984", volume = "2", number = "3", pages = "251--273", month = "August", OPTnote = "atomic multicast source" } @InProceedings{dist:mpi-tutorial, title = "{M}{P}{I}: A Message Passing Interface", author = "The MPI Forum", pages = "878--883", booktitle = "Proceedings of Supercomputing '93", year = 1993, publisher = "IEEE Computer Society Press", address = "Los Alamitos, California", month = "November" } @Misc{dist:mpi-draft, author = "Message Passing Interface Forum", title = "Document for a Standard Messge-Passing Interface", year = 1993, month = "October", note = "(available from netlib)" } @Book{dist:ada, author = "Department of Defense", title = "Reference Manual for the {A}da Programming Language", publisher = "Springer Verlag", year = "1983", OPTeditor = "", OPTvolume = "", OPTseries = "", address = "New York", OPTedition = "", OPTmonth = "", OPTnote = "" } @Book{dist:baldissbook, author = "Bal, Henri E.", title = "Programming Distributed Systems", publisher = "Silicon Press", year = "1990", OPTeditor = "", OPTvolume = "", OPTseries = "", address = "Summit, New Jersey", OPTedition = "", OPTmonth = "", OPTnote = "" } @InProceedings{dist:munin, author = "Carter, John B. and Bennett, John K. and Zwaenepoel, Willy", title = "Implementation and Performance of {M}unin", booktitle = "Proceedings of the Thirteenth ACM Symposium on Operating Systems Principles", year = "1991", OPTeditor = "", OPTpages = "", OPTorganization = "", OPTpublisher = "", OPTaddress = "", OPTmonth = "", OPTnote = "" } @Article{dist:pvm, author = "Sunderam, V. S.", title = "{P}{V}{M}: A Framework for Parallel Distributed Computing", journal = "Concurrency: Practice and Experience", year = "1990", volume = "2", number = "4", pages = "315--339", month = "December", OPTnote = "VERIFY : or --- in Journal Title!!" } @Book{dist:comertcp, author = "Douglas Comer", title = "Internetworking with TCP/IP", publisher = "Prentice-Hall", year = "1988", OPTeditor = "", OPTvolume = "", OPTseries = "", OPTaddress = "", OPTedition = "", OPTmonth = "", OPTnote = "" } @Article{dist:namingtut, author = "Douglas E. Comer and Larry L. Peterson", title = "Understanding Naming in Distributed Systems", journal = dc, year = "1989", volume = "3", number = "2", pages = "51--60", OPTmonth = "", OPTnote = "" } @Article{dist:rpc-tocs, author = "Andrew D. Birrell and Bruce Jay Nelson", title = "Implementing Remote Procedure Calls", journal = tocs, year = "1984", volume = "2", number = "1", pages = "39--59", month = "February", OPTnote = "" } @Book{bernstein87, author = "Philip A. Bernstein and Vassos Hadzilacos and Nathan Goodman", title = "Concurrency Control and Recovery in Database Systems", publisher = "Addison-Wesley Publishing Company", year = "1987", series = "Addison-Wesley Series in Computer Science", } @Article{zave93, author = "Pamela Zave", title = "Feature Interaction and Formal Specifications in Telecommunications", journal = comp, year = "1993", volume = "26", number = "8", pages = "20--29", month = "August", OPTnote = "" } @inproceedings{black86, Author = "Andrew P. Black and Norman Hutchinson and Eric Jul and Henry M. Levy", Title = "Object Structure in the Emerald System", Booktitle = "Proceedings of the First ACM Conference on Object-Oriented Programming Systems, Languages and Applications", Year = "1986", OPTEditor = "Norman Meyrowitz", Pages = "78--86", Address = "Portland, Oregon", Month = "September" } @inproceedings{herlihy87, Author = "Maurice P. Herlihy and Jeannette M. Wing", Title = "Avalon: Language Support for Reliable Distributed Systems", Booktitle = ftcs17, Year = "1987", Month = "July", Pages = "89--94", Organization = "IEEE Computer Society", Publisher = "IEEE Computer Society Press", OPTAbstract = " Avalon is a set of linguistic constructs designed to give programmers explicit control over transaction-based processing of atomic objects for fault-tolerant applications. While Avalon is very much like Argus (by the authors' own admission), it differs in two respects. One, Avalon is based on a atomicity property called 'hybrid' atomicity while Argus is based on a local atomicity property called 'strong dynamic' atomicity. Secondly, Avalon programmers can define their own type-specific commit and abort operations for user-defined atomic data types. When a top level transaction commits (aborts) the system applies the commit (abort) operation to every object operated on by a sub-transaction of that transaction, supplying the transaction id. of the committing (aborting) top level transaction as an argument. The paper describes Avalon/C++: Avalon designed as extensions to C++. Avalon extensions to Common Lisp and Ada have also been designed. Avalon/C++ is currenly implemented on top of Camelot." } @Article{liskov83, author = "Barbara Liskov and Robert Scheifler", title = "Guardians and Actions: Linguistic Support for Robust, Distributed Programs", journal = toplas, year = "1983", volume = "5", number = "3", pages = "381--404", month = "July", OPTnote = "" } @InProceedings{wilkes86, author = "C. Thomas Wilkes and Richard J. LeBlanc", title = "Rationale for the Design of {A}oelus: a Systems Programming Language for the Action/Object System", booktitle = "Proceedings of the 1986 IEEE International Conference on Computer Languages", year = "1986", OPTeditor = "", pages = "107--122", OPTorganization = "", OPTpublisher = "", OPTaddress = "", month = "October", OPTnote = "" } @Article{almes85, author = "Almes, G. T. and Black, A. P. and Lazowska, E. D, and Noe, J. D.", title = "The {E}den System: A Technical Review", journal = tse, year = "1985", volume = "SE-11", OPTnumber = "", pages = "43--59", month = "January", OPTnote = "" } @Article{tannenbaum81, author = "Andrew S. Tannenbaum and Mullender, Sape J.", title = "An Overview of the {A}moeba Distributed Operating System", journal = osrev, year = "1981", volume = "15", number = "3", pages = "51--64", month = "July", OPTnote = "" }