Next: Blackboard Architectures
Up: Technologies for Distributed Computing
Previous: The Distributed Object Approach
Mobile objects, sometimes called mobile agents, are bits of
code that can move to another execution site (presumably on
a different machine) under their own programmatic control, where
they can then efficiently interact with the local environment.
Commercial instantiations of this technology include Aglets from IBM, Concordia from Mitsubishi, and Voyager from
ObjectSpace.
For certain types of problems, the mobile object paradigm
offers advantages over more traditional distributed
object approaches. These advantages include
- Network bandwidth: for some database queries or
electronic commerce applications, it is more efficient to
perform tests on data by bringing the tests to the data than
by bringing large amounts of data to the testing program.
- Parallelism: mobile agents can be spawned in parallel to
accomplish many tasks at once.
Disadvantages (or inconveniences) of the mobile agent approach are that
- In a fashion similar to that of DOOP programming, an agent developer
must programmatically specify where to go and how to interact with the
target environment.
- There is generally little coordination support to encourage
interactions among multiple (mobile) participants.
- Agents must be written in the programming language supported by
the execution environment, whereas many other distributed technologies
support heterogeneous communities of components, written in diverse
programming languages.
Adam Cheyer
Mon Oct 19 17:14:26 PDT 1998