SlideShare a Scribd company logo
1 of 41
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
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
How Agent works

                             SENSORS




                           ACTUATORS




Wednesday, July 25, 2012               3
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
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
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
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
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
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
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
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
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
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
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
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
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
Wednesday, July 25, 2012   17
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
d   e
                                    Co

                                    Ex 3.
                                      ec
                                    co ute
                                      de




                                         e
                                    C od

                                    Ex 5.
                                      ec
                                    co ute
                                      de
                           Result
Wednesday, July 25, 2012                       19
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
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
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
Wednesday, July 25, 2012   23
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
Agent System Model

               HOME
                           Agent      Agent             platform
              platform


                                              Network



                              Agent       platform




Wednesday, July 25, 2012                                           25
Malicious agents


  Malicious agencies.




Wednesday, July 25, 2012   26
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
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
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
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
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
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
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
Passive attack
 Traffic analysis
                           Attacker




    Agency                            Agency




Wednesday, July 25, 2012                       34
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
Active attack
         Agency A                               Agency B


                                                    B
             A




                                   C
                           Malicious Agencies


Wednesday, July 25, 2012                                   36
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
Example
                                                     Platform 5
                                                      Airline 4


                           Platform 2   Platform 3    Platform 4
                            Airline 1    Airline 2   Malicious host
     Agent
    Migration                                          Airline 3




Wednesday, July 25, 2012                                              38
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
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
Thank You


Wednesday, July 25, 2012   41

More Related Content

What's hot

Mobile computing unit-5
Mobile computing unit-5Mobile computing unit-5
Mobile computing unit-5Ramesh Babu
 
IEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and ServicesIEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and ServicesSayed Chhattan Shah
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applicationsBurhan Ahmed
 
Unit 1 introduction to computer networks
Unit 1  introduction to computer networksUnit 1  introduction to computer networks
Unit 1 introduction to computer networkspavan kumar Thatikonda
 
Network Design for a Small & Medium Enterprise
Network Design for a Small & Medium EnterpriseNetwork Design for a Small & Medium Enterprise
Network Design for a Small & Medium EnterpriseThamalsha Wijayarathna
 
Mac protocols
Mac protocolsMac protocols
Mac protocolsjuno susi
 
Multiplexing in mobile computing
Multiplexing in mobile computingMultiplexing in mobile computing
Multiplexing in mobile computingZituSahu
 
Evolution of network - computer networks
Evolution of network - computer networksEvolution of network - computer networks
Evolution of network - computer networksSabarishSanjeevi
 
Computer Networks Unit 2 UNIT II DATA-LINK LAYER & MEDIA ACCESS
Computer Networks Unit 2 UNIT II DATA-LINK LAYER & MEDIA ACCESSComputer Networks Unit 2 UNIT II DATA-LINK LAYER & MEDIA ACCESS
Computer Networks Unit 2 UNIT II DATA-LINK LAYER & MEDIA ACCESSDr. SELVAGANESAN S
 
Advanced computer network
Advanced computer networkAdvanced computer network
Advanced computer networkTrinity Dwarka
 
Distributed system notes unit I
Distributed system notes unit IDistributed system notes unit I
Distributed system notes unit INANDINI SHARMA
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systemsSHATHAN
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical ClocksDilum Bandara
 

What's hot (20)

Cs8591 Computer Networks
Cs8591 Computer NetworksCs8591 Computer Networks
Cs8591 Computer Networks
 
Mobile computing unit-5
Mobile computing unit-5Mobile computing unit-5
Mobile computing unit-5
 
IEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and ServicesIEEE 802.11 Architecture and Services
IEEE 802.11 Architecture and Services
 
WLAN
WLANWLAN
WLAN
 
Parallel computing and its applications
Parallel computing and its applicationsParallel computing and its applications
Parallel computing and its applications
 
Mobile computing unit 5
Mobile computing  unit 5Mobile computing  unit 5
Mobile computing unit 5
 
Unit 1 introduction to computer networks
Unit 1  introduction to computer networksUnit 1  introduction to computer networks
Unit 1 introduction to computer networks
 
Network Design for a Small & Medium Enterprise
Network Design for a Small & Medium EnterpriseNetwork Design for a Small & Medium Enterprise
Network Design for a Small & Medium Enterprise
 
Mac protocols
Mac protocolsMac protocols
Mac protocols
 
Multiplexing in mobile computing
Multiplexing in mobile computingMultiplexing in mobile computing
Multiplexing in mobile computing
 
Evolution of network - computer networks
Evolution of network - computer networksEvolution of network - computer networks
Evolution of network - computer networks
 
CS8601 MOBILE COMPUTING
CS8601	MOBILE COMPUTING CS8601	MOBILE COMPUTING
CS8601 MOBILE COMPUTING
 
Computer Networks Unit 2 UNIT II DATA-LINK LAYER & MEDIA ACCESS
Computer Networks Unit 2 UNIT II DATA-LINK LAYER & MEDIA ACCESSComputer Networks Unit 2 UNIT II DATA-LINK LAYER & MEDIA ACCESS
Computer Networks Unit 2 UNIT II DATA-LINK LAYER & MEDIA ACCESS
 
Connecting devices
Connecting devicesConnecting devices
Connecting devices
 
Advanced computer network
Advanced computer networkAdvanced computer network
Advanced computer network
 
IT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTINGIT6601 MOBILE COMPUTING
IT6601 MOBILE COMPUTING
 
GSM: Handovers
GSM: HandoversGSM: Handovers
GSM: Handovers
 
Distributed system notes unit I
Distributed system notes unit IDistributed system notes unit I
Distributed system notes unit I
 
Communications is distributed systems
Communications is distributed systemsCommunications is distributed systems
Communications is distributed systems
 
Physical and Logical Clocks
Physical and Logical ClocksPhysical and Logical Clocks
Physical and Logical Clocks
 

Similar to Mobile agent

Introduction to JADE (Java Agent DEvelopment) Framework
Introduction to JADE (Java Agent DEvelopment) FrameworkIntroduction to JADE (Java Agent DEvelopment) Framework
Introduction to JADE (Java Agent DEvelopment) FrameworkAhmed Gad
 
Sunrise Presentation, Company Overview 2012
Sunrise Presentation, Company Overview 2012Sunrise Presentation, Company Overview 2012
Sunrise Presentation, Company Overview 2012jvangombos
 
Sl virtual apps-131106
Sl virtual apps-131106Sl virtual apps-131106
Sl virtual apps-131106SL Corporation
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUGlburdz
 
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User ExperienceNagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User ExperienceNagios
 
Object oriented design-UNIT V
Object oriented design-UNIT VObject oriented design-UNIT V
Object oriented design-UNIT VAzhar Shaik
 
Introduction to OSLC
Introduction to OSLCIntroduction to OSLC
Introduction to OSLCopenservices
 
Scaling identity to internet proportions
Scaling identity to internet proportionsScaling identity to internet proportions
Scaling identity to internet proportionsOracleIDM
 
Dom introduction-website-v1.0
Dom introduction-website-v1.0Dom introduction-website-v1.0
Dom introduction-website-v1.0Cogility
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0Joakim Lindbom
 
OOP_chapter _1.pptx
OOP_chapter _1.pptxOOP_chapter _1.pptx
OOP_chapter _1.pptxAbdexAliyi
 

Similar to Mobile agent (20)

Mobile Agents
Mobile AgentsMobile Agents
Mobile Agents
 
Mobile Agents
Mobile AgentsMobile Agents
Mobile Agents
 
Sikuli
SikuliSikuli
Sikuli
 
Introduction to JADE (Java Agent DEvelopment) Framework
Introduction to JADE (Java Agent DEvelopment) FrameworkIntroduction to JADE (Java Agent DEvelopment) Framework
Introduction to JADE (Java Agent DEvelopment) Framework
 
Sunrise Presentation, Company Overview 2012
Sunrise Presentation, Company Overview 2012Sunrise Presentation, Company Overview 2012
Sunrise Presentation, Company Overview 2012
 
Sunrise presentation
Sunrise presentationSunrise presentation
Sunrise presentation
 
Sl virtual apps-131106
Sl virtual apps-131106Sl virtual apps-131106
Sl virtual apps-131106
 
Software agents
Software agentsSoftware agents
Software agents
 
Testing and TDD - KoJUG
Testing and TDD - KoJUGTesting and TDD - KoJUG
Testing and TDD - KoJUG
 
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User ExperienceNagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
Nagios Conference 2012 - Nathan Vonnahme - Monitoring the User Experience
 
03 requirement engineering_process
03 requirement engineering_process03 requirement engineering_process
03 requirement engineering_process
 
Object oriented design-UNIT V
Object oriented design-UNIT VObject oriented design-UNIT V
Object oriented design-UNIT V
 
14 software technical_metrics
14 software technical_metrics14 software technical_metrics
14 software technical_metrics
 
Introduction to OSLC
Introduction to OSLCIntroduction to OSLC
Introduction to OSLC
 
Scaling identity to internet proportions
Scaling identity to internet proportionsScaling identity to internet proportions
Scaling identity to internet proportions
 
Dom introduction-website-v1.0
Dom introduction-website-v1.0Dom introduction-website-v1.0
Dom introduction-website-v1.0
 
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.02014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
2014-10 DevOps NFi - Why it's a good idea to deploy 10 times per day v1.0
 
UML_Training.ppt
UML_Training.pptUML_Training.ppt
UML_Training.ppt
 
Mudassar_Yash Technologies AB_CV
Mudassar_Yash Technologies AB_CVMudassar_Yash Technologies AB_CV
Mudassar_Yash Technologies AB_CV
 
OOP_chapter _1.pptx
OOP_chapter _1.pptxOOP_chapter _1.pptx
OOP_chapter _1.pptx
 

Recently uploaded

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 

Recently uploaded (20)

Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 

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
  • 3. How Agent works SENSORS ACTUATORS Wednesday, July 25, 2012 3
  • 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
  • 26. Malicious agents  Malicious agencies. Wednesday, July 25, 2012 26
  • 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
  • 34. Passive attack Traffic analysis Attacker Agency Agency Wednesday, July 25, 2012 34
  • 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
  • 38. Example Platform 5 Airline 4 Platform 2 Platform 3 Platform 4 Airline 1 Airline 2 Malicious host Agent Migration Airline 3 Wednesday, July 25, 2012 38
  • 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