Transcript Document
บทที่ 3 เอเจนตแบบ
์
เคลือ
่ นที่
(Mobile Agent)
นำเสนอโดย
อ.จุฑำวุฒ ิ จันทรมำลี
หลักสูตรวิทยำกำร
คอมพิวเตอร ์
มหำวิทยำลัยรำชภัฏสวนดุสิต
OUTLINE
Introduction to Mobile Agent(MA)
Introduction to Mobile Agent System(MAS)
Some issues of Mobile Agent
Mobile Agent application
Concluding remarks
2
WHAT IS MOBILE AGENT?
Mobile agents are defined as active objects (or clusters
of objects) that have behavior, state and location.
Agents that can travel in network
Mobility:
Autonomy: Agent
itself decides when and where to migrate next
Opposite :
Stationary agent
Mobile code (Applets)
3
COMPARISON OF 3 NETWORK COMPUTING PARADIGM
A MOBILE AGENT DISSECTED
A mobile agent contains the following 3 components:
Code - the program (in a suitable language) that defines the agent's behavior.
State - the agent's internal variables etc., which enable it to resume its
activities after moving to another host.
Attributes - information describing the agent, its origin and owner, its movement
history, resource requirements, authentication keys etc. Part of this may be
accessible to the agent itself, but the agent must not be able to modify the
attributes
5
EVENTS IN MOBILE AGENT’S LIFE-TIME
Creation: a brand new agent is born and its state is initialized.
Dispatch: an agent travels to a new host.
Cloning: a twin agent is born and the current state of the original
is duplicated in the clone.
Deactivation: an agent is put to sleep and its state is saved in
persistent storage.
Activation: a deactivated agent is brought back to life and its
state is restored from persistent storage.
6
EVENTS IN MOBILE AGENT’S LIFE-TIME
Retraction: an agent is brought back from a remote host along with its
state to the home machine.
Disposal: an agent is terminated and its state is lost forever.
Communication: Notifies the agent to handle messages incoming from
other agents , which is the primary means of inter-agent
correspondence.
7
MOBILE AGENT SYSTEM ARCHITECTURE
The main components include
mobile agents (defined before)
places
supports the execution of particular procedures and provides access to local
resources.
agent systems
Places inside an agent system may share resources, code, or security mechanisms
and, in general, have a privileged relationship with each other and less expensive
mobility.
Regions
Agent systems may be grouped in regions. A region represents a security domain
where network-wide resources are accessed following a uniform policy.
Principals
Agents, places, agent systems, and regions are associated with a number of
principals that represent real-world entities such as a person, an organization, or a
company.
8
MOBILE AGENT SYSTEM ARCHITECTURE
9
REQUIREMENT OF A MAS
Agent Execution Support,
Management Support,
Security Support,
Mobility Support,
Unique Identification of Agents Support,
Transaction Support, and
Communication Support.
10
OBJECT MOBILITY
Strong Mobility
Migration of agent code, data and execution state
Weak Mobility
Migration of only the agent code and data
Strong mobility is difficult to accomplish!
If the agent code is interpreted, access to the execution state is
difficult to obtain
If the agent code is compiled before execution, the execution
state is represented by the stack. Transporting the stack and
rebuilding it on a different host, which can be an entirely different
architecture, is a nontrivial task.
11
SUPPORT LANGUAGES FOR MOBILE AGENT
The first language for programming mobile agents
called TeleScript was introduced in 1994.
Mobile agent could be implement by various
languages, but java language is the most popular
because:
Platform independence.
Create once, go everywhere.
Object-oriented feature
Security model
12
SECURITY ISSUE - HOST SECURITY
Authentication of user
Determination of whether the user has the authorization to
execute
Determination of agents ability to pay for the service
provided by the server
13
TRUSTED AND UN-TRUSTED MOBILE AGENT
Some MA platform treat trusted and untrusted agent
differently
Untrusted agents are prohibited to run dangerous
command.
14
AGENT SECURITY- AGENT SECURITY
Example:
An agent roams around the Internet to look for the lowest price of a air ticket; it
remembers the lowest price it finds most recently
Data tampering: change of execution state of agents by malicious hosts (“brain-
flush” the agent of the lowest price it remembers)
Solution:
Agent tampering detection (e.g. cryptographic watermarks)
Prevention (e.g. execution of encrypted functions)
15
VIRUS DETECTION
One Solution: to make the system Turing-complete.
Consider an mobile agent only have the following limited power:
•
to alter its own internal state variables
•
to make database queries in the current server
•
to move to another server
•
to send text message back to its owner
16
STANDARDIZATION OF MOBILE AGENT
There are various mobile agent system available such as
AgentTcl , Aglets, MOA, Grasshopper and Odyssey.
These differ widely in architecture and implementation. thereby
impeding interoperability, rapid proliferation of agent
technology
17
STANDARDIZATION OF MOBILE AGENT (CONTD)
MASIF is a Standardization effort by the Object Management Group
(OMG) to enable different mobile agent systems to interoperate.
MASIF provide 2 sets of interfaces to standardizes:
Agent Management
Agent Transfer
Agent and Agent System Names.
Agent System Type and Location Syntax.
18
STANDARDIZATION OF MOBILE AGENT (CONTD)
Other standardization effort include developing a common
Agent Communication Languages (e.g., KQML) to improve
interoperability between agents, and between agents and
mobile agent middleware
19
OTHER ISSUES RELATED TO MOBILE AGENT
Execution performance
Execution performance is often sacrificed in order to achieve
portability via code interpretation. Justintime compilation is one way
towards better performance.
Robustness.
Adding robustness involves fault tolerance schemes (e.g., coping with
hosts crashing) and is key for trust and acceptance of the technology
in companies.
20
COMPETING TECHNOLOGIES
Message passing systems
Remote Method Invocation (RMI)
Common Object Remote Broker Architecture (CORBA)
etc.
Distributed objects frameworks are de-centralized but
their functionality is fixed
21
MOBILE AGENT VS. REMOTE PROCEDURE
CALL(RPC)
RPC:
using Synchronous protocol-High Efficiency and low latency
Scaling -- Multiple servers
Mobile Agent:
Messaging(Asynchronous) :Robustness, especially in wide area
network
Every node is a server
22
APPLICATION AREAS FOR MOBILE AGENTS
Data collection from many places
Searching and filtering
Monitoring
Negotiating
23
APPLICATION AREA FOR MOBILE
AGENT(CONT’)
Bartering
Parallel processing
Entertainment
Targeted information dissemination
24
POTENTIAL USAGE FOR MOBILE CLIENT
Mobile clients’ feature:
1.
They only intermittently connected to a network,
2.
Even when connected they have limited bandwidth
3.
They have limited storage and processing capability
Mobile agents’ feature:
1.
Reduction of Network traffic
2.
Asynchronous interaction
3.
Remote searching and filtering
25
Achievement:
CONCLUDING
REMARKS
MA can effectively reduce network load and overcome network
latency.
MA can improve both flexibility and communication robustness.
MA has proved to be beneficial to information collection and
monitoring.
Open issue:
Security, secrecy and complexity(easy to deploy but hard to
debug), and execution performance remain a big challenge for its
industrial use.
Limited availability of quantitative performance evaluation
Further standardization work still required for heterogeneous
26
จบบทที่ 3