Code Mobility in Mobile Agent Systems - PowerPoint PPT Presentation

1 / 22
About This Presentation
Title:

Code Mobility in Mobile Agent Systems

Description:

IBM Aglets. Uses standard Java model. Transport uses serialization. Weak mobility. Aglet server clearly separated. Context is interface to host. Proxy is ... – PowerPoint PPT presentation

Number of Views:156
Avg rating:3.0/5.0
Slides: 23
Provided by: Tim8151
Category:

less

Transcript and Presenter's Notes

Title: Code Mobility in Mobile Agent Systems


1
Code Mobility in Mobile Agent Systems
  • Reinier Timmer
  • VU, Amsterdam

2
Introduction
  • Mobile Agents
  • The next generation of information access
  • Suited for networking environments
  • Transfer computation instead of just data
  • Problem program execution on remote hosts

3
Outline
  • Introduction to mobile agents
  • Code mobility
  • Code migration
  • Overview of existing mobile agent platforms
  • Programming language support
  • How (and what kind of) mobility support

4
Mobile Agents
  • Software object program
  • On machine in network
  • Represents user
  • Can travel network
  • Autonomous goal-driven
  • Use when
  • Accessing protected data
  • Bandwidth is low

A
B
A
A
Network
A
C
5
Existing methods
  • Client-server (CS)
  • Remote Evaluation (REV)
  • Example active server pages
  • Code on Demand (COD)
  • Example Java applets
  • Agent uses custom code roams a network

6
Requirements
  • A Mobile Agent system (MAS) needs
  • Agent code to be portable
  • Agent execution to be resumed remotely
  • Main issues
  • Choice of programming language
  • Protecting host from malicious agents
  • Protecting agent from others

7
Choice of language
  • Native languages (C) probably will not do
  • Rather use some interpreted language
  • Portability does not imply (easy) migration

data?
data
X
X
state?
B
A
state
Migration
8
Code Migration
  • How does an agent react upon migration?
  • Needs restart weak mobility
  • Resumes at next instruction strong mobility
  • Problems
  • What to transport upon migration
  • How to resume execution
  • Resource access on remote host

9
General layout
Distributed System
Mobile Agent System
Agents
Agents
Applications
True Distributed System
Agent Place
Agent Place
OS
OS
OS
OS
Machine
Machine
Machine
Machine
  • Location is explicit in a mobile agent system
  • Has influence on agents decisions

10
Telescript
  • Uses a dedicated language telescript
  • Designed for security strong migration
  • Only the mobile parts coded in telescript
  • Resource migration by concept of ownership

Agents
Telescript Engine
Agentencoding/decoding
agent transport
external applications
resources
11
Tacoma
  • Mainly uses TCL language (more added)
  • A weak mobility model
  • Data stored using concept of folders
  • Carried with agent in a briefcase
  • Left on server in a cabinet
  • Agents are just code fragments
  • Electronic cash supported
  • Runs on Unix, PalmOS, Windows CE/NT,

12
Intro to Java-based systems
  • Java is a logical language choice
  • Code is portable (interpreted)
  • Code is mobile (dynamic class loading)
  • Type-safe and well-known language
  • Object serialization makes transport easy
  • But runtime state is not transported
  • A lot of attacks are known
  • Security needs to be well-configured

13
IBM Aglets
  • Uses standard Java model
  • Transport uses serialization
  • Weak mobility
  • Aglet server clearly separated
  • Context is interface to host
  • Proxy is interface to agent

A
Proxy
Context
Aglet Server
14
Ajanta
  • Uses standard (weak mobile) Java model
  • Emphasis on
  • Fault tolerance (local guardian object)
  • Agent integrity protection (protected containers)
  • Credentials for resource access
  • Some special protection measures (by Java)
  • Separating class loaders
  • Thread grouping

15
ARA
  • Multiple languages (TCL, C/C, Java)
  • But still it provides strong mobility

TCL
C
C
Java
TCL interpreter
C/C interpreter
Java VM
ARA core
Host OS
16
ARA
  • Uses interpreters for language-specific tasks
  • A modified JVM TCL interpreter
  • Special compiler interpreter for C/C

TCL
C
C
Java
TCL interpreter
C/C interpreter
Java VM
ARA core
Host OS
17
ARA
  • Generic routines reside in ARA core system
  • Global local allowances limit resource access

TCL
C
C
Java
Agents
  • state capturing
  • memory protection

TCL interpreter
C/C interpreter
Java VM
Two-way interface
  • agent transport
  • resource control

ARA core
Host OS
18
DAgents (Agent TCL)
  • Multiple languages (Java, TCL, Scheme, )
  • Mobility depends on what interpreter supplies

Agents
Java
TCL

Server/Engine
TCP
Email

19
DAgents (Agent TCL)
  • General language plugin structure

Interpreter
Agents
Statecapture
languagesecurity
Java
TCL

Server/Engine
Server API
TCP
Email

20
DAgents (Agent TCL)
  • Heavy focus on security protection
  • Security managers supported by language
  • Resource managers for resource access

Interpreter
Agents
Statecapture
languagesecurity
Java
TCL

Server/Engine
Server API
TCP
Email

21
Conclusions
  • Choice of language is essential for MA system
  • Influences level of mobility
  • Some (basic) security measures
  • Language support is but one aspect
  • Ensuring agent integrity
  • Protection of host
  • New research trends more towards security
  • Essential for real (E-business) applications

22
QA
???
Write a Comment
User Comments (0)
About PowerShow.com