P. 1
4

4

|Views: 17|Likes:
Published by Dheeraj

More info:

Published by: Dheeraj on Jan 02, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT or read online from Scribd
See more
See less

06/16/2009

original

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
Java-Based Mobile Agent

3

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
Java-Based Mobile Agent

 

6

Evolution… Remote Evaluation (1990-1995)
procedure code + data Client Server results (data) Code transported to the server

 

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
agent (code+data)

Server 1
Mobile Agent

Server 3

Server 2

8

Java-Based Mobile Agent

Client-Server Versus Mobile Agents

Client

Client
Agent

Client

Client

Agent

Agent

Server
Traditional

Server

Server
Mobile Agent-Based

Server

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.
Java-Based Mobile Agent

11

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
Java-Based Mobile Agent

16

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're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->