SlideShare una empresa de Scribd logo
1 de 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

Más contenido relacionado

La actualidad más candente

Knowledge representation In Artificial Intelligence
Knowledge representation In Artificial IntelligenceKnowledge representation In Artificial Intelligence
Knowledge representation In Artificial IntelligenceRamla Sheikh
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDNVenkata Naga Ravi
 
Software Defined Network (SDN)
Software Defined Network (SDN)Software Defined Network (SDN)
Software Defined Network (SDN)Ahmed Ayman
 
Back propagation
Back propagationBack propagation
Back propagationNagarajan
 
Introduction to IoT Architectures and Protocols
Introduction to IoT Architectures and ProtocolsIntroduction to IoT Architectures and Protocols
Introduction to IoT Architectures and ProtocolsAbdullah Alfadhly
 
Mobile Computing Complete Introduction
Mobile Computing Complete IntroductionMobile Computing Complete Introduction
Mobile Computing Complete IntroductionDenis R
 
Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural NetworkKnoldus Inc.
 
Overview of computing paradigm
Overview of computing paradigmOverview of computing paradigm
Overview of computing paradigmRipal Ranpara
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoTAmit Dev
 
CS9222 Advanced Operating System
CS9222 Advanced Operating SystemCS9222 Advanced Operating System
CS9222 Advanced Operating SystemKathirvel Ayyaswamy
 
Deployment Models of Cloud Computing.pptx
Deployment Models of Cloud Computing.pptxDeployment Models of Cloud Computing.pptx
Deployment Models of Cloud Computing.pptxJaya Silwal
 
Mobile Ad hoc Networks
Mobile Ad hoc NetworksMobile Ad hoc Networks
Mobile Ad hoc NetworksJagdeep Singh
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed SystemSunita Sahu
 
Local search algorithms
Local search algorithmsLocal search algorithms
Local search algorithmsbambangsueb
 
Programming Elasticity in the Cloud
Programming Elasticity in the CloudProgramming Elasticity in the Cloud
Programming Elasticity in the CloudHong-Linh Truong
 

La actualidad más candente (20)

Knowledge representation In Artificial Intelligence
Knowledge representation In Artificial IntelligenceKnowledge representation In Artificial Intelligence
Knowledge representation In Artificial Intelligence
 
Software Defined Network - SDN
Software Defined Network - SDNSoftware Defined Network - SDN
Software Defined Network - SDN
 
Software Defined Network (SDN)
Software Defined Network (SDN)Software Defined Network (SDN)
Software Defined Network (SDN)
 
Back propagation
Back propagationBack propagation
Back propagation
 
Introduction to IoT Architectures and Protocols
Introduction to IoT Architectures and ProtocolsIntroduction to IoT Architectures and Protocols
Introduction to IoT Architectures and Protocols
 
Distributed Computing
Distributed ComputingDistributed Computing
Distributed Computing
 
Mobile Computing Complete Introduction
Mobile Computing Complete IntroductionMobile Computing Complete Introduction
Mobile Computing Complete Introduction
 
Artificial Neural Network
Artificial Neural NetworkArtificial Neural Network
Artificial Neural Network
 
Overview of computing paradigm
Overview of computing paradigmOverview of computing paradigm
Overview of computing paradigm
 
Cloud Security Mechanisms
Cloud Security MechanismsCloud Security Mechanisms
Cloud Security Mechanisms
 
Protocols for IoT
Protocols for IoTProtocols for IoT
Protocols for IoT
 
Agent architectures
Agent architecturesAgent architectures
Agent architectures
 
Cloud computing stack
Cloud computing stackCloud computing stack
Cloud computing stack
 
CS9222 Advanced Operating System
CS9222 Advanced Operating SystemCS9222 Advanced Operating System
CS9222 Advanced Operating System
 
Deployment Models of Cloud Computing.pptx
Deployment Models of Cloud Computing.pptxDeployment Models of Cloud Computing.pptx
Deployment Models of Cloud Computing.pptx
 
Mobile Ad hoc Networks
Mobile Ad hoc NetworksMobile Ad hoc Networks
Mobile Ad hoc Networks
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
UMTS, Introduction.
UMTS, Introduction.UMTS, Introduction.
UMTS, Introduction.
 
Local search algorithms
Local search algorithmsLocal search algorithms
Local search algorithms
 
Programming Elasticity in the Cloud
Programming Elasticity in the CloudProgramming Elasticity in the Cloud
Programming Elasticity in the Cloud
 

Similar a 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 a 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
 

Último

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embeddingZilliz
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 

Último (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Training state-of-the-art general text embedding
Training state-of-the-art general text embeddingTraining state-of-the-art general text embedding
Training state-of-the-art general text embedding
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 

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