Notes
Outline
Mobile Code
Mobile Code
Mobile Agents
Jini
Mobile Code
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
Agents
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
So, What is an agent
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
Intelligent Agent
It makes decisions!
To do that:
Perceives its environment (it learns)
Makes an informed decision
Reacts accordingly
Mobile Agents
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
C/S vs. Mobile Agents
Client/Server based computing
Mobile Agents based computing
An Attractive Approach to Distributed 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
Applications
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
Advantages of Mobile Agents
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
Security
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
Platforms
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
Jini Article
http://www.sdmagazine.com/articles/2000/0008/0008c/0008c.htm
Sun homepage (download for free):
http://www.sun.com/jini