0% found this document useful (0 votes)
171 views

Java-Based Mobile Agents: Li Zhao

This document discusses Java-based mobile agents. It provides an overview of mobile agents, how they have evolved from process migration and remote evaluation, and their advantages over traditional client-server models. It also describes how Java provides support for mobility through features like dynamic class loading and serialization. Finally, it discusses limitations of Java for mobile agents and challenges like security, robustness, and programming support issues that mobile agent systems need to address.

Uploaded by

Dheeraj
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT or read online on Scribd
0% found this document useful (0 votes)
171 views

Java-Based Mobile Agents: Li Zhao

This document discusses Java-based mobile agents. It provides an overview of mobile agents, how they have evolved from process migration and remote evaluation, and their advantages over traditional client-server models. It also describes how Java provides support for mobility through features like dynamic class loading and serialization. Finally, it discusses limitations of Java for mobile agents and challenges like security, robustness, and programming support issues that mobile agent systems need to address.

Uploaded by

Dheeraj
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT or read online on Scribd
You are on page 1/ 22

Java-Based Mobile Agents

Li Zhao
Outline
 Overview of Mobile Agents
 Evolution of Mobile Agent Paradigm
 Advantages of Mobile Agents
 Mobility Support in Java
 Limitations of java
 Generic Mobile Agent Architecture
 Java Mobile Agent Framework
 Issues/Obstacles
 Summary

2 Java-Based Mobile Agent


Mobile Agents

 what is a mobile agent?


– an executing program that
– can migrate under its own control
– in a heterogeneous network Definition

Search
engine

Machine A Machine B

3 Java-Based Mobile Agent


Evolution – grows out of three earlier technologies

 Process Migration (mid 1980s)


 Object Migration (late 1980s) and
 Remote Evaluation (1990-1995)

4 Java-Based Mobile Agent


Evolution… Process Migration (mid 1980s)
 Process migration allows a partially executed
process to be relocated to another node.
 Mainly used for load balancing.

 Did not allow a easy way to return data back


to the source node without the entire process
returning as well.
 The programmer (user) has neither control
nor visibility of migrating process

5 Java-Based Mobile Agent


Evolution… object Migration
 Object migration allows objects to be moved across
address spaces at different nodes.
– Requires mobility of object’s code and data.
 Emerald supported object mobility under program
control. (Univ. of Washington) (1986)
 Chorus distributed system (1988) supported object
mobility with autonomous control by the object.

 Most of these system supported migration in a


homogeneous system.
 Insufficient when applied to large scale settings

6 Java-Based Mobile Agent


Evolution… Remote Evaluation (1990-1995)

procedure code + data


Code transported
Client Server to the server
results (data)

 An one hop solution


 RE involves just a movement of code + data from one host to
another which is capable of carrying out the process where as for
MA we have active entities shipped over network (data, code,
execution state)

7 Java-Based Mobile Agent


Mobile Agent
A mobile agent is an object capable of autonomously
migrating from one host to another in a distributed
system to perform actions on behalf of its creator.

Client
Server 1
agent
(code+data)
Mobile Agent

Server 3 Server 2

8 Java-Based Mobile Agent


Client-Server Versus Mobile Agents

Client Client Client Client


Agent

Agent Agent

Server Server Server Server


Traditional Mobile Agent-Based

9 Java-Based Mobile Agent


Mobile Agent Advantages [Dennis Lange:]

 Reduce the network load


 Help in overcoming Network latency
 Encapsulate protocols
 Execute asynchronously and autonomously
 Adapt dynamically
 Naturally heterogeneous
 They are robust and fault-tolerant

10 Java-Based Mobile Agent


Mobility Support in Java
 Dynamic class loading
– Load classes either locally from the java class-path or through the net
work
 Weak mobility could be implemented by serializing
objects and sending them to another JVM via sockets
or RMI.
 JVM from SUN does not support a strong kind of agent
mobility
 Most security conscious
– Though still not adequate!
– Java’s security management supports development of fine-grain,
highly configured security policies.

11 Java-Based Mobile Agent


Limitations of Java

 No resource control
 Importance:
– Protect against denial-of-service attacks
– Prioritize tasks

12 Java-Based Mobile Agent


Limitations of Java

 No resource accounting
 Importance:
– Measuring resource consumption
 Charging / billing resource usage
– Observing behavior of code

13 Java-Based Mobile Agent


Generic Mobile Agent System Architecture

14 Java-Based Mobile Agent


Java Mobile Agent Framework -- Aglets (IBM)

 migration:
– agent calls dispatch method
– Aglets system calls onDispatching
– code and object state are transferred
– Aglets system calls onArrival
 security model is similar to Ara and D’Agents
– An agent’s code is signed by its author.
– Agent’s argument and resource allowance are signed by user.
– Agent moving to a new virtual place is accepted or rejected by
that place’s admission function.

15 Java-Based Mobile Agent


Java Mobile Agent Framework -- Concordia

 migration: code and data are moved, but not


thread/control state
 strong focus on security and reliability
 can queue agents, events, and messages
 agents are saved to persistent store before and after
transfer across network
 protects agents via encryption during transmission and
storage
 protects hosts from malicious agents by cryptographic
authentication of agent’s owner

16 Java-Based Mobile Agent


Obstacles – Security Issues

 Protecting network communication


 Protecting hosts from agents
– Illegal access
– Denial of service
 Protecting agents from hosts
– Tampering
– Extracting information

17 Java-Based Mobile Agent


Obstacles – Robustness Issues

 Fault Tolerance Issues


– Exceptions during agent’s remote execution
– Unavailability of server
– Loss of an agent during migration
 Status Monitoring and Control
– Support to monitor an agent’s status
– Support to recall or terminate an agent

18 Java-Based Mobile Agent


Obstacles – Programming Support

 Programming model and APIs


 Programming infrastructure and services
 Naming scheme for servers, agents,
resources
 Agent transfer protocol
 Inter-agent communication protocol
 Debugging facilities

19 Java-Based Mobile Agent


Summary
 A mobile agent is an object capable of autonomously migrating
from one host to another in a distributed system to perform
actions on behalf of its creator.
 Mobile agents have many benefits compared with traditional
models mentioned.
 Java has several features that directly support implementation of
mobile agents although it still has some limitations.
 We need further efforts to deal with many issues brought up by
mobile agents.

20 Java-Based Mobile Agent


References
 Mobile agents: Motivations and state-of-the-art systems, by
Robert Gray, David Kots, George Cybenko, Daniela
Rus,Dartmouth College
 Mobile Agent Programming in Ajanta, by Anand Tripathi,
University of Minnesota
 Java based Mobile Code, by Omer Rana, University of Wales, UK

21 Java-Based Mobile Agent


End

Thank you!
Any Question???

22 Java-Based Mobile Agent

You might also like