Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Mobile agent
1. Anjan Mondal (Roll No. - 01)
Arnab Pal (Roll No. - 02)
M.E. (Software Engineering)
Dept. of Information Technology
Jadavpur University
Wednesday, July 25, 2012 1
2. Meaning of Agent
‘An agent is a computer system that is situated in some
environment, and that is capable of autonomous action
in this environment in order to meet its design objectives’.
Two basic properties of Software Agents :
Autonomicity – ability to act without direct human
intervention.
Situatedness – Agents tend to be used where the
environment is challenging (dynamic, unpredictable and
unreliable).
Wednesday, July 25, 2012 2
4. Other properties of Agent
Reactive – senses changes in the environment
and acts accordingly to those changes.
Proactive – persistently pursues goals.
Flexible – has multiple ways of achieving goals.
Robust – recovers from failure.
Wednesday, July 25, 2012 4
5. Properties of Agent contd.
Communicative – able to communicate with
other agents.
Mobile – can travel from one host to another.
Learning – adapts in accordance with previous
experience.
Believable – appears believable to the end-user.
Wednesday, July 25, 2012 5
6. Definition of a Stationary Agent
A stationary agent executes only on the system
where it begins execution. If it needs information
that is not on that system, or needs to interact
with an agent on a different system, it typically
uses a communication mechanism such as remote
procedure calling (RPC).
Wednesday, July 25, 2012 6
7. What is a Mobile Agent?
Program that can migrate from system to system
within a network environment
Performs some processing at each host
Agent decides when and where to move next
How does it move ?
Save state
Transport saved state to next system
Resume execution of saved state
Wednesday, July 25, 2012 7
8. Evolution
End point in the incremental evolution of mobile
abstractions such as mobile code, mobile objects,
mobile processes.
Mobile Code – transfers (code)
Mobile Object – transfers (code + data)
Mobile Process – transfers
(code + data + thread state)
Mobile Agent – transfers
(code + data + thread + authority of its owner)
Wednesday, July 25, 2012 8
9. 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
Wednesday, July 25, 2012 9
10. Levels of Mobility
Weak Mobility
When moving a mobile agent carries
(code + data state)
Data State - global or instance variable
On moving, execution has to start from the
beginning
Wednesday, July 25, 2012 10
11. Levels of Mobility
Strong Mobility
When moving a mobile agent carries
(code + data state + execution state)
Data State - global or instance variable
Execution State – local variables and threads
On moving, execution can continue from the
point it stopped on the previous host
Wednesday, July 25, 2012 11
12. 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.
Wednesday, July 25, 2012 12
13. 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.
Wednesday, July 25, 2012 13
14. Agent Life-Cycle Model
Context A Context B Dispose
Clone Dispatch
Agent
Agent Agent
Retract
Create
Agent Life Cycle Deactivate Activate
-Creation
-Cloning Class
-Dispatching and
File
Retraction Disk
(Mobility) and
-Activation Storage
Deactivation (Persistence)
-Disposal
Wednesday, July 25, 2012 14
15. Applets, Servlets and Mobile Agents
Applet – Downloaded from server to client.
Servlet – Uploaded from client to server.
Mobile Agents – Detached from client, can have
multiple hops.
Wednesday, July 25, 2012 15
16. Mobile Code Systems: Design
Four basic types:
Client/Server
Code on Demand
Remote Evaluation
Mobile Agents
Elements
Data (stored result sets)
Code (commands)
Program stack (current status of the program)
Wednesday, July 25, 2012 16
18. Client/Server Discussion
Examples: WWW, RPC, Webservices, CORBA, EJBs
Elements
data - mobile
code - static
program stack – static
Advantages
easy to implement
widespread
Disadvantages
there‘s no “one size fits all“
CORBA (Common Object Request Broker Architecture), EJB (Enterprise JavaBeans)
Wednesday, July 25, 2012 18
19. d e
Co
Ex 3.
ec
co ute
de
e
C od
Ex 5.
ec
co ute
de
Result
Wednesday, July 25, 2012 19
20. Mobile Agents Discussion
Elements
data - semi-mobile (necessary data is mobile)
code - mobile
program stack – mobile
The Mobile Agent paradigm can solve all
distributed computing issues
NO! Mobile Agents are not a substitute for client-
server techniques. The two techniques augment each
other and very often a combination of the two is the
most appropriate.
Wednesday, July 25, 2012 20
21. Seven Good Reasons for Mobile Agents
Danny Lange’s Seven Good Reasons For Mobile
Agents
They reduce network load
They overcome network latency
They encapsulate protocols
They execute asynchronously and autonomously
They adapt dynamically
They are naturally heterogeneous
They are robust and fault-tolerant
There is still no killer app for mobile agents!
Wednesday, July 25, 2012 21
22. Companies and Products
IBM: Aglets
Information on Aglets can be found at http://www.trl.ibm.co.jp/aglets
FTP Software: CyberAgents
Information on CyberAgents used to be able to be found at http://www.ftp.com/cyberagents
General Magic: Tabriz
More information on Tabriz can be found at http://www.genmagic.com/tabriz
Languages:
The following languages are being used today for authoring agents.
Java, Telescript, TCL or Tools Control Language, Obliq, Python
Wednesday, July 25, 2012 22
24. Security Threats
Threats to security generally fall into three main classes:
Disclosure of information
Denial of service
Corruption of information
Wednesday, July 25, 2012 24
25. Agent System Model
HOME
Agent Agent platform
platform
Network
Agent platform
Wednesday, July 25, 2012 25
27. Malicious Agents
Malicious agents are those that try to attack the
hosting agency or other agent.
Classification malicious agents according to the
target they attack
Attacking the Hosting Agency.
Attacking Other Agents
Wednesday, July 25, 2012 27
28. Attacking the Hosting Agency
1. The most obvious example of a malicious agent is
one that consumes resources of the hosting
environment in an improper way.
Recourses may be :
Memory,
CPU cycles,
Network bandwidth
Effect : The agency eventually is not able to provide its usual
service to other agents.
Wednesday, July 25, 2012 28
29. Attacking the Hosting Agency(2)
2. The second type of attack to the hosting agency is
when an agent tries to gain unauthorized access to
the agency.
private keys of the agency or its users.
An agent could also try to disclose the agency’s code
or even try to terminate the agency completely
Wednesday, July 25, 2012 29
30. Attacking Other Agents
No agent must have access to any other agent on the
programming language level.
If we assume object-oriented programming languages,
no agent should ever obtain a direct reference of
another agent. Otherwise, the malicious agent would
gain full control of the referenced agent.
Wednesday, July 25, 2012 30
31. Attacking Other Agents(2)
A malicious agent could initiate denial of service attacks
on other agents, for example, by sending thousands of
spam messages.
Wednesday, July 25, 2012 31
32. Malicious Agencies
A malicious agency is one that tries to attack mobile
agents currently residing on it or other agencies.
Two types of attack can occur-
• Passive attack.
• Active attack.
Wednesday, July 25, 2012 32
33. Passive attack
passive attack "attempts to learn or make use of
information from the system but does not
affect system resources"
Traffic analysis
each message is encrypted because it is not important
whether the data is readable(understandable) to the
attacker. Here, the adversary attempts to find patterns in
the communication between two agencies, which might
allow the adversary to derive certain assumptions based
on these patterns.
Wednesday, July 25, 2012 33
35. Active Attack
Active attacks include security threats in which an
agency tries to manipulate agent code or data while it
is transmitted between agencies. The most common
examples of this kind of attack are alterations, in
which an agent’s data is deleted or tampered with by
an agency
Wednesday, July 25, 2012 35
36. Active attack
Agency A Agency B
B
A
C
Malicious Agencies
Wednesday, July 25, 2012 36
37. Example of active attack
An agent is sent out to find the best airfare for a flight with a
particular route
The agent is given various requirements, such as departure and
destination, time restrictions.
The agent will visit every airline and query their databases before
committing to a purchase and reporting back to the agent owner
A malicious host can interfere with the agent execution in several
ways
Erase all information previously collected by the agent .
change the agent’s route so that airlines with more favourable offers are
not visited.
simply terminate the agent
Wednesday, July 25, 2012 37
39. Attacking Agents
cut and paste attack
This attack works even if data has been encrypted so
that It can be read only at specific agencies.
An agent, α, carries a data item protected with the public key of an
agency, Ai that the agent is going to visit.
a malicious agency, Am, which currently is hosting agent α, could cut
the data item, paste it into a new agent, and let this agent migrate to
Ai.
The new agent decrypts the data item and carries it back to agency
Am.
Wednesday, July 25, 2012 39
40. References:
Mobile Agents Basic Concepts, Mobility Models, and the Tracy Toolkit
Peter Braun Swinburne University of Technology, Victoria, Australia
Wilhelm Rossak ,Friedrich Schiller University, Jena, Thuringia,
Germany.
Mobile agent security Niklas Borselius Mobile VCE Research Group
Information Security Group, Royal Holloway, University of London
Artificial Intelligence A Modern Approach by Russell & Norvig, Second
Edition, Prentice Hall.
Wednesday, July 25, 2012 40