Nelson Minar's Master's Thesis
My master's thesis was submitted to MIT for graduation in
September, 1998. It describes a distributed agents system I built
called "Straum" and contains many of my ideas for building new kinds
of Internet software out of distributed systems and mobile agents.
I am actively continuing this research as part of my PhD program here
at the Media Lab. Comments are welcome!
The thesis is quite long (92 pages) so I feel a bit awkward putting
it online. I hope to turn out a couple of more compact papers about
this work. I will put a note here when those are written. You can
download the postscript; it's colour (but
will look fine in black and white), a bit over 2 megs uncompressed.
The abstract, acknowledgements, and hyperlinked bibliography are also
here on this page.
Designing an Ecology of Distributed Agents
by Nelson Minar
Copyright © 1998 Massachusetts Institute of Technology. All rights reserved.
Abstract
The Internet is a rich environment for computation. There is a need
for design principles to organize distributed computational activity
on the Internet, something analogous to the way the World Wide Web is
an organizing principle for documents. This thesis introduces the idea
of an ecology of distributed agents as a paradigm for building
distributed software. Computers run servers that are local
environments of computation. Applications are built out of agents that
live in these servers. Mobile agents move to servers to use local
resources and servers support agent query services to allow agents to
discover each other and communicate information over the network. A
system that creates an ecology of distributed agents, Straum, is
presented with a technical discussion of its implementation. Two
applications, communicating user presence and monitoring server
activity, are presented along with sketches of other possible
applications. Straum and the underlying design paradigm are evaluated
with respect to other distributed systems research. Finally, ideas for
future work are presented, plans towards making the Internet a natural
environment for computational activity.
Acknowledgements
I am very grateful for the advice and support of my advisor,
Pattie Maes,
for her feedback and for keeping me focussed in my research. The
comments and time given by my readers
Mitchel Resnick and
Judith Donath
have greatly improved and clarified this work. Thank you to MIT
UROP Kyle Jamieson for his contributions to the Straum software and to
UROP
Maggie Oh for designing
agent icons. The
dist-obj community
has been a wonderful forum for discussing ideas about distributed
systems; I am particularly thankful for the continued input of
Ron Resnick,
Joe Kiniry,
and
Mark Baker.
Finally, I owe a lot to my friend and colleague
Kwin Kramer.
Our conversations and work together have greatly influenced this thesis.
Bibliography
(This is presented here with hyperlinks for convenience. If you are
looking for a comprehensive bibliography for mobile agents work, there
is a wonderful one online at
http://www.cnri.reston.va.us/home/koe/bib/.)
- 1
- Ross J. Anderson.
The Eternity Service.
In Proceedings of PragoCrypt '96. Czech Technical University
Publishing House, 1996.
http://www.cl.cam.ac.uk/users/rja14/eternity/eternity.html
- 2
- Ken Arnold and James Gosling.
The Java Programming Language.
Addison-Wesley, 1996.
ISBN: 0-201-63455-4.
- 3
- Derek Atkins, Michael Graff, Arjen Lenstra, and Paul Leyland.
The Magic Words are Squeamish Ossifrage.
In AsiaCrypt '94, 1994.
- 4
- Mario Baldi, Silvano Gai, and Gian Pietro Picco.
Exploiting Code Mobility in Decentralized and Flexible Network
Management.
In Proceedings of the First International Workshop on Mobile
Agents, Berlin, April 1997.
http://www.polito.it/~picco/papers/ma97.ps.gz
- 5
- Kenneth P. Birman.
Building Secure and Reliable Network Applications.
Manning Publishing Company, 1996.
ISBN: 0137195842.
http://www.browsebooks.com/Birman/index.html
- 6
- Jon Bosak.
XML, Java, and the Future of the Web, March 1997.
http://sunsite.unc.edu/pub/sun-info/standards/xml/why/xmlapps.html
- 7
- Tim Bray, Jean Paoli, and C. M. Sperberg-McQueen.
Extensible Markup Language (XML).
Technical Report PR-xml-971208, W3C, December 1997.
http://www.w3.org/TR/PR-xml-971208
- 8
- G. Di Caro and M. Dorigo.
Mobile Agents for Adaptive Routing.
In Proceedings of the 31st Hawaii International Conference on
Systems, January 1998.
ftp://iridia.ulb.ac.be/pub/dorigo/conferences/IC.22-HICSS31.ps.gz
- 9
- Patrick Chan, Rosanna Less, and Douglas Kramer.
The Java Class Libraries, volume 1.
Addison Wesley, 2nd edition, 1998.
- 10
- K. Mani Chandy, Joseph Kiniry, Adam Rifkin, and Daniel Zimmerman.
Framework for Structured Distributed Object Computing.
1997.
http://www.infospheres.caltech.edu/papers/framework/framework.html
- 11
- K. Mani Chandy, Adam Rifkin, Paolo A.G. Sivilotti, Jacob Mandelson, Matthew
Richardson, Wesley Tanaka, and Luke Weisman.
A World-Wide Distributed System Using Java and the Internet.
Technical report, Caltech Computer Science, 1996.
Caltech CS Technical Report CS-TR-96-0.
http://www.infospheres.caltech.edu/papers/chandy_etal/hpdc.html
- 12
- D. Chess, C. Harrison, and A. Kershenbaum.
Mobile Agents: Are they a Good Idea?
In Jan Vitek and Christian Tschudin, editors, Mobile Object
Systems: Towards the Programmable Internet, volume 1222 of
Lecture Notes in Computer Science. Springer-Verlag, 1997.
http://www.research.ibm.com/massive/mobag.ps
- 13
- Scott H. Clearwater.
Market-Based Control, A Paradigm for Distributed Resource
Allocation.
World Scientific Publishing Co., 1996.
ISBN: 9810222548.
- 14
- Judith Donath.
Inhabiting the Virtual City: The Design of Social Environments
for Electronic Communities.
PhD thesis, MIT Media Arts and Sciences, 1997.
http://judith.www.media.mit.edu/Thesis/
- 15
- Judith Donath, Karrie Karahalios, and Fernanda Viegas.
Visualizing Conversations.
In Proceedings of the 32nd Hawaii International Conference on
Systems, January 1999.
http://www.media.mit.edu/~fviegas/circles/new/index.html
- 16
- A. Farquhar, R. Fikes, and J. Rice.
The Ontolingua Server: A Tool for Collaborative Ontology
Construction.
Technical Report KSL-96-26, Knowledge Systems Laboratory, Stanford
University, September 1996.
ftp://ksl.stanford.edu/pub/KSL_Reports/KSL-96-26.ps
- 17
- Message Passing Interface Forum.
MPI: A Message-Passing Interface Standard, June 1995.
http://www.mpi-forum.org/docs/docs.html
- 18
- David Gelernter.
Mirror Worlds.
Oxford University Press, 1991.
- 19
- Li Gong.
Java Security Architecture (JDK 1.2), June 1998.
http://java.sun.com/products/jdk/1.2/docs/guide/security/spec/security-spec.doc.html
- 20
- Robert Gray.
Agent Tcl: A Flexible and Secure Mobile-Agent System.
PhD thesis, Dept. of Computer Science, Dartmouth College, June 1997.
Available as Dartmouth Computer Science Technical Report TR98-327.
http://www.cs.dartmouth.edu/~agent
- 21
- David Halls.
Applying Mobile Code to Distributed Systems.
PhD thesis, Computer Laboratory, University of Cambridge, June 1997.
http://www.cl.cam.ac.uk/users/dah28/
- 22
- Brian Hayes.
Computing Science: Collective Wisdom.
American Scientist, 1998.
http://www.amsci.org/amsci/issues/Comsci98/compsci1998-03.html
- 23
- B. A. Huberman, editor.
The Ecology of Computation.
Elsevier Science Publishers, 1988.
- 24
- Hiroshi Ishii and Brygg Ullmer.
Tangible Bits: Towards Seamless Interfaces between People, Bits and
Atoms.
In Proceedings of the Conference on Human Factors in Computing
Systems (CHI '97), pages 234-241. ACM Press, March 1997.
http://tangible.media.mit.edu/~ullmer/papers/tangible-bits.pdf
- 25
- Kevin Kelley.
Out of Control.
Addison-Wesley, 1994.
- 26
- Danny B. Lange and Daniel T. Chang.
IBM Aglets Workbench: Programming Mobile Agents in Java,
September 1996.
http://www.trl.ibm.co.jp/aglets/whitepaper.htm
- 27
- Chris Langton, editor.
Artificial Life (Proceedings of the First International
Conference. Addison-Wesley, 1987.
ISBN: 0-201-09356-1.
- 28
- Steve Lawrence and C. Lee Giles.
Searching the World Wide Web.
Science, 280(5360):98-100, April 1998.
http://www.neci.nj.nec.com/homepages/lawrence/papers/search-science98/index.html
- 29
- Andrew Leonard.
Bots: The Origin of New Species.
Hardwired, 1997.
- 30
- Pattie Maes.
Agents that Reduce Work and Information Overload.
Communications of the ACM, 37(7):31-40, July 1994.
http://pattie.www.media.mit.edu/people/pattie/CACM-94/CACM-94.p1.html
- 31
- Thomas W. Malone, Richard E. Fikes, Kenneth R. Grant, and Michael T. Howard.
Enterprise: A Market-like Task Scheduler for Distributed Computing
Environments.
In B. A. Huberman, editor, The Ecology of Computation, pages
177-206. Elsevier Science Publishers, 1988.
- 32
- Network Working Group Sun Microsystems.
RPC: Remote Procedure Call Protocol Specification.
RFC 1057, June 1988.
http://info.internet.isi.edu:80/in-notes/rfc/files/rfc1057.txt
- 33
- Mark S. Miller and K. Eric Drexler.
Markets and Computation: Agoric Open Systems.
In B. A. Huberman, editor, The Ecology of Computation, pages
133-176. Elsevier Science Publishers, 1988.
http://www.webcom.com/~agorics/agorpapers.html
- 34
- Kazuhiro Minami and Toshihiro Suzuki.
Java-Based Moderator Templates for Multi-Agent Planning, October
1997.
Presented at OOPSLA '97 Workshop on Java-based Paradigms for Agent
Facilities.
http://www.trl.ibm.co.jp/aglets/jmt/oopsla97/jmt-oopsla97.html
- 35
- Alexandros Moukas, Kostas Chandrinos, and Pattie Maes.
Trafficopter: A Distributed Collection System for Traffic
Information.
In Proceedings of Cooperative Information Agents '98, volume
1435 of Lecture Notes in Artificial Intelligence. Springer-Verlag,
1998.
http://lcs.www.media.mit.edu/projects/trafficopter/
- 36
- Scott Oaks.
Java Security.
O'Reilly & Associates, Inc., 1998.
ISBN: 1-56592-403-7.
- 37
- Object Management Group (OMG).
The Common Object Request Broker: Architecture and Specification
(CORBA), revision 2.0.
Object Management Group (OMG), 2.0 edition.
- 38
- Alex P. Pentland.
Smart Rooms.
Scientific American, April 1996.
http://www.sciam.com/0496issue/0496pentland.html
- 39
- Rosalind W. Picard and Jennifer Healye.
Affective Wearables.
Personal Technologies, 1(4):231-240, 1997.
MIT Media Lab Vismod tech report 467.
ftp://whitechapel.media.mit.edu/pub/tech-reports/TR-467.ps.Z
- 40
- Tom S. Ray.
A Proposal to Create a Network-wide Biodiversity Reserve for Digital
Organisms.
Technical report, ATR, 1995.
http://www.hip.atr.co.jp/~ray/pubs/reserves/reserves.html
- 41
- Maria Redin.
Marathon Man.
Master's thesis, MIT Department of Electrical Engineering, 1998.
http://ttt.www.media.mit.edu/SF/
- 42
- Mitchel Resnick.
Turtles, Turmites, and Traffic Jams.
MIT Press, 1994.
- 43
- Marshall T. Rose.
The Simple Book: An Introduction to Networking Management.
Prentice Hall, 1996.
ISBN: 0134516591.
- 44
- Jeffrey S. Rosenschein and Gilad Zlotkin.
Rules of Encounter.
MIT Press, 1994.
- 45
- Roger Sessions.
COM and DCOM: Microsoft's Vision for Distributed Objects.
John Wiley & Sons, 1997.
ISBN: 0-417-19381-X.
- 46
- Thad Starner, Steve Mann, Bradley Rhodes, Jeffrey Levine, Jennifer Healey, Dana
Kirsch, Rosalind W. Picard, and Alex Pentland.
Augmented Reality Through Wearable Computing,.
Presence, 1997.
MIT Media Lab Vismod tech report 397.
http://wearables.www.media.mit.edu/projects/wearables/
- 47
- Hong Z. Tan and Alex Pentland.
Tactual Displays for Wearable Computing.
In The First International Symposium on Wearable Computers,
pages 84-89. IEEE Computer Society, 1997.
ISBN: 0-8186-8192-6.
- 48
- D. Tennenhouse, J. Smith, W. Sincoskie, D. Wetherall, and G. Minden.
A Survey of Active Network Research.
IEEE Communications Magazine, 35(1):80-86, January 1997.
http://www.tns.lcs.mit.edu/publications/ieeecomms97.html
- 49
- Vernor Vinge.
A Fire Upon the Deep.
Tor Books, 1993.
ISBN: 0812515285.
- 50
- Jan Vitek and Christian Tschudin, editors.
Mobile Object Systems: Towards the Programmable Internet.
Springer-Verlag, April 1997.
Lecture Notes in Computer Science No. 1222.
http://cuiwww.unige.ch/~ecoopws/tpi
- 51
- Jim Waldo.
Jini Architecture Overview.
Technical report, Sun Microsystems, Inc., 1998.
http://java.sun.com/products/jini/
- 52
- Jim Waldo, Geoff Wyant, Ann Wollrath, and Sam Kendall.
A Note on Distributed Computing.
In Jan Vitek and Christian Tschudin, editors, Mobile Object
Systems: Towards the Programmable Internet, volume 1222 of
Lecture Notes in Computer Science, pages 49-64. Springer-Verlag,
Heidelberg, April 1997.
http://www.sunlabs.com/techrep/1994/abstract-29.html
- 53
- Tom Walsh, Noemi Paciorek, and David Wong.
Security and Reliability in Concordia.
In Proceedings of the 31st Hawaii International Conference on
Systems, January 1998.
http://www.meitca.com/HSL/Projects/Concordia/HICSS98_Final.htm
- 54
- Mark Weiser.
The Computer for the Twenty-First Century.
Scientific American, pages 94-101, September 1991.
http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html
- 55
- James E. White.
Telescript Technology: Mobile Agents.
In Jeffrey Bradshaw, editor, Software Agents. AAAI Press/MIT
Press, 1996.
http://www.genmagic.com/agents/Whitepaper/whitepaper.html
- 56
- AOL Instant Messenger.
http://www.aol.com/aim/home.html
- 57
- Concordia -- Java Mobile Agent Technology.
http://www.meitca.com/HSL/Projects/Concordia/
- 58
- Ding!
http://www.activerse.com/ding/dingintro.html
- 59
- distributed.net: The Fastest Computer on Earth.
http://www.distributed.net/
- 60
- dist-obj FAQ and mailing list archives.
http://www.infospheres.caltech.edu/mailing_lists/dist-obj/distobjgroup.html
- 61
- iBus: The Java Multicast Object Bus.
http://www.softwired.ch/ibus/
- 62
- ICQ.
http://www.icq.com/
- 63
- Japhar -- The Hungry Java Runtime.
http://www.hungry.com/products/japhar/
- 64
- Java Beans home page.
http://java.sun.com/beans/
- 65
- RMI: Remote Method Invocation.
http://java.sun.com:80/products/jdk/rmi/index.html
- 66
- JavaSpaces White Paper.
http://java.sun.com/products/javaspaces/
- 67
- Kaffe OpenVM.
http://www.transvirtual.com/kaffe.html
- 68
- The Great Internet Mersenne Prime Search.
http://www.mersenne.org/prime.htm
- 69
- Project Mole -- Mobile Agents, March 1996.
http://www.informatik.uni-stuttgart.de/ipvr/vs/projekte/mole.html
- 70
- Mr. Java.
http://mrjava.media.mit.edu/
- 71
- General Magic's Odyssey.
http://www.genmagic.com/technology/odyssey.html
- 72
- SETI@Home.
http://setiathome.ssl.berkeley.edu/
- 73
- Things That Think -- MIT Media Lab.
http://ttt.www.media.mit.edu/
- 74
- Objectspace Voyager Core Package Version 1.0 Technical Overview, 1997.
http://www.objectspace.com/voyager/whitepapers/VoyagerTechOview.pdf
(Thanks to LaTeX2HTML
for help with converting the bibliography to HTML.)
A BibTeX citation for this work is
@MastersThesis{minar-straum-masters,
author = {Nelson Minar},
title = {Designing an Ecology of Distributed Agents},
school = {Massachusetts Institute of Technology},
year = {1998},
month = {September},
url = {http://www.media.mit.edu/~nelson/research/masters-thesis/},
}