The abstract, acknowledgements, and hyperlinked bibliography are also here on this page. All rights reserved. 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.