|
|
|
|
|
Mobile Code |
|
|
|
Mobile Agents |
|
|
|
Jini |
|
|
|
|
|
This technology can be divided into: |
|
|
|
Code on demand |
|
Remote evaluation |
|
Autonomous mobile agents |
|
|
|
Java, Python, SafeTcl and others provide
mechanisms for code mobility. See: www.w3c.org/MobileCode for an evaluation |
|
|
|
|
Research in AI has aimed at developing software
to simulate intelligent capabilities of human beings (reasoning and
learning) |
|
|
|
Distributed AI is concerned with a virtual
society of problem solvers (agents) interacting to solve a common problem |
|
|
|
|
|
An agent is an entity that: |
|
|
|
acts on behalf on others in autonomous fashion |
|
Performs its actions in some level of
proactivity and reactivity |
|
Exhibits some levels of the key attributes of
learning, co-operation, and mobility |
|
|
|
|
|
It makes decisions! |
|
|
|
To do that: |
|
|
|
Perceives its environment (it learns) |
|
Makes an informed decision |
|
Reacts accordingly |
|
|
|
|
|
|
An agent is a mobile agent if it is able to
migrate from host to host to work in a heterogeneous network |
|
|
|
The agent not only transports itself, but also
its state |
|
|
|
|
Client/Server based computing |
|
|
|
|
|
Mobile Agents based computing |
|
|
|
|
|
|
|
The reliability of the network is not crucial |
|
|
|
Mobile agents do not consume much network
bandwidth (they only consume bandwidth when they move) |
|
Mobile agents continue to execute after they
move, even if they lose network connectivity with their creators |
|
|
|
|
|
Processing data over unreliable networks |
|
Agent can travel to nodes on the network,
process the information and then return home |
|
Searching the Web & E-Commerce |
|
Search on behalf of the user and present results
to the user |
|
Network management |
|
Collect large amount of data from nodes and
analyze it |
|
|
|
|
|
|
|
Efficiency |
|
consumer fewer network resources since they move
computation to the data rather than data to the computation |
|
Less bandwidth |
|
they consumer bandwidth only when they move |
|
Easier development paradigm |
|
mobile agents are inherently distributed |
|
|
|
|
|
|
|
Mobile agents have seldom been used in practice
due to a number of technical issues (mainly security) |
|
|
|
Protecting hosts from destructive mobile agents |
|
|
|
Protecting mobile agents from malicious hosts |
|
|
|
|
|
IBM Japan’s Aglets: www.trl.ibm.co.jp/aglets |
|
ObjectSpace’s Voyager: objectspace.com |
|
Concordia |
|
www.meitca.com/HSL/Projects/Concordia/Welcome.html |
|
AgentBuilder (commercial) Reticular Systems |
|
www.agentbuilder.com |
|
Many others: agentbuilder.com/AgentTools |
|
|
|
|
|
Jini Article |
|
http://www.sdmagazine.com/articles/2000/0008/0008c/0008c.htm |
|
|
|
Sun homepage (download for free): |
|
http://www.sun.com/jini |
|