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