Agents, Mobility, Ubiquity & Virtuality Gregory O’Hare Department of Computer Science, University College Dublin Mobile Agents: Agile Agents for Ambient.

Slides:



Advertisements
Similar presentations
Technical and design issues in implementation Dr. Mohamed Ally Director and Professor Centre for Distance Education Athabasca University Canada New Zealand.
Advertisements

Agents & Mobile Agents.
Understanding Code Mobility
Mobile Agents Mouse House Creative Technologies Mike OBrien.
Dr Rem Collier Department of Computer Science University College Dublin Agent Factory A Software Engineering Framework for Intelligent.
MobiShare: Sharing Context-Dependent Data & Services from Mobile Sources Efstratios Valavanis, Christopher Ververidis, Michalis Vazirgianis, George C.
28.2 Functionality Application Software Provides Applications supply the high-level services that user access, and determine how users perceive the capabilities.
This material is based upon work supported by Science Foundation Ireland under Grant No. 03/IN3/1361 UNIVERSITY COLLEGE DUBLIN DUBLIN CITY UNIVERSITY The.
Distributed components
1 Mobile Agent Instructor: Dr. AGGARWAL Presenter: Liu Lun.
ACCESS: An Agent Architecture for Ubiquitous Service Delivery Agents Channelling ContExt Sensitive Services C. Muldoon, G.M.P. O’Hare, D. Phelan, R. Strahan,
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
Context-based Information Sharing and Authorization in Mobile Ad Hoc Networks Incorporating QoS Constraints Sanjay Madria, Missouri University of Science.
Beyond Prototyping in the Factory of Agents Rem Collier, Gregory O’Hare, Terry Lowen, Colm Rooney PRISM Laboratory, Department of Computer Science, University.
Agents, Mobility, Ubiquity & Virtuality Gregory O’Hare Department of Computer Science, University College Dublin Mobile Agents: Agile Agents for Ambient.
Concurrency CS 510: Programming Languages David Walker.
Mobile Agents: A Key for Effective Pervasive Computing Roberto Speicys Cardoso & Fabio Kon University of São Paulo - Brazil.
The Multi-Agent System IDE : What it Should and Should not Support Gregory O’Hare, Department of Computer Science, University College Dublin.
The Bio-Networking Architecture: An Infrastructure of Autonomic Agents in Pervasive Networks Jun Suzuki netresearch.ics.uci.edu/bionet/
Communication in Distributed Systems –Part 2
AgentOS: The Agent-based Distributed Operating System for Mobile Networks Salimol Thomas Department of Computer Science Illinois Institute of Technology,
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Agents, Mobility, Ubiquity & Virtuality Gregory O’Hare Department of Computer Science, University College Dublin Mobile Agents: Agile Agents for Ambient.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Agent Factory : A Prototyping Environment for Agents Gregory O’Hare CS 4019 Multi-Agent Systems Lecture Material, University College Dublin.
MADE Mobile Agents based system for Distance Evaluation Vikram Jamwal KReSIT, IIT Bombay Guide : Prof. Sridhar Iyer.
 Cloud computing  Workflow  Workflow lifecycle  Workflow design  Workflow tools : xcp, eucalyptus, open nebula.
Connector Types Interaction services broadly categorize connectors Many details are left unexplained. They fail to provide enough detail to be used in.
Jaeki Song ISQS6337 JAVA Lecture 16 Other Issues in Java.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Active Monitoring in GRID environments using Mobile Agent technology Orazio Tomarchio Andrea Calvagna Dipartimento di Ingegneria Informatica e delle Telecomunicazioni.
Source: George Colouris, Jean Dollimore, Tim Kinderberg & Gordon Blair (2012). Distributed Systems: Concepts & Design (5 th Ed.). Essex: Addison-Wesley.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
New features for CORBA 3.0 by Steve Vinoski Presented by Ajay Tandon.
Locating Mobile Agents in Distributed Computing Environment.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
MOBILE AGENTS What is a software agent ? Definition of an Agent (End-User point of view): An agent is a program that assists people and acts on their behalf.
Understanding Code Mobility A Fuggetta, G P Picco and G Vigna Presenter Samip Bararia.
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
Mobile Agents Babak Esfandiari. Types of Applications Dynamic load balancing. Dynamic service deployment. Intermittently connected systems.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
ECI – electronic Commerce Infrastructure “ An application to the Shares Market ” Demetris Zeinalipour ( Melinos Kyriacou
An Architecture to Support Context-Aware Applications
Mobile Agents For Mobile Computing Department Of Computer Science – Dartmouth College Robert Gray David Kotz Saurab Nog Daniela Rus George Cybenko.
© Chinese University, CSE Dept. Distributed Systems / Distributed Systems Topic 1: Characterization of Distributed & Mobile Systems Dr. Michael R.
SelfCon Foil no 1 Variability in Self-Adaptive Systems.
Aglets Based on Mobile Agents with Java: The Aglet API by Danny B. Lange and Mitsuru Oshima.
Lecture 4 Mechanisms & Kernel for NOSs. Mechanisms for Network Operating Systems  Network operating systems provide three basic mechanisms that support.
Providing web services to mobile users: The architecture design of an m-service portal Minder Chen - Dongsong Zhang - Lina Zhou Presented by: Juan M. Cubillos.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB Markus.
Institute for Visualization and Perception Research 1 © Copyright 1999 Haim Levkowitz Java-based mobile agents.
Distributed Systems1 Message Passing vs. Distributed Objects  The message-passing paradigm is a common model for distributed computing, in the sense that.
Gaia An Infrastructure for Active Spaces Prof. Klara Nahrstedt Prof. David Kriegman Prof. Dennis Mickunas
EEL 5937 Mobile agents (2) EEL 5937 Multi Agent Systems Lotzi Bölöni.
Third International Workshop on Networked Appliance 2001 SONA: Applying Mobile Agent to Networked Appliance Control S.Aoki, S.Makino, T.Okoshi J.Nakazawa.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Real-Time Systems Laboratory Seolyoung, Jeong JADE (Java Agent DEvelopment framework )
1 Multimedia services over networks Service provider Service client Service registry Publish Discovery Bind Multimedia system Review/background Framework/
Towards a High Performance Extensible Grid Architecture Klaus Krauter Muthucumaru Maheswaran {krauter,
Chapter 9 – RPCs, Messaging & EAI
Mobile Agents Technology - Programming with Aglet
Mobile Agents.
Inventory of Distributed Computing Concepts
Distributed Systems Bina Ramamurthy 12/2/2018 B.Ramamurthy.
Mobile Agents M. L. Liu.
Unit V Mobile Middleware.
In Distributed Systems
Presentation transcript:

Agents, Mobility, Ubiquity & Virtuality Gregory O’Hare Department of Computer Science, University College Dublin Mobile Agents: Agile Agents for Ambient Intelligence COMP4019 Multi-Agent Systems Lecture Materials 2007 Gregory O’Hare School of Computer Science & Informatics, University College Dublin (UCD)

Agent Factory is… A cohesive framework that supports a structured approach to the developmentand deployment of multi-agent systems.  Based upon the purpose-built Agent Factory Agent Programming Language (AF-APL)  This is realised through a four-layer framework…

Agent Factory Layers AF-APL

Mobile Computing We regard mobile computing as involving the use of intelligent agents that are truly mobile in nature. We characterise mobility across several dimensions :- 1.Semi-autonomous entities that roam a physical environment ( like robots ); 2. Entities propelled through a physical space by a user, like hand held advisory systems located on palm top computing devices; 3. Avatars immersed & Navigating within a Virtual World;

Why Mobile Agents  Reduce Bandwidth Consumption and Network Loads  Allow dynamic deployment of application components tp encapsulate protocols  execute asynchronously and autonomously  can adapt by moving  run on heterogeneous platforms  most distributed applications fit naturally into the mobile agent model  intuitively suitable for mobile users and disconnected operations  Mobile agents combine the strengths of techniques such as RPC, java applets etc. into a single, convenient framework  Reduce network load  overcome network latency  encapsulate protocols to allow changes  asynchronous and autonomous execution

Why Mobile Agents II  adapt dynamically  heterogeneous  fault tolerant -- move from a down host  Efficiency - mobile agents consume fewer network resources since they move the computation to the data rather than the data to the computation  Reduction of network traffic  communication protocols involve several interactions, which causes a lot of network traffic. Mobile agents can package up a conversation and ship it to a destination host where the interactions can take place locally

Migration Types Two Broad types of migration exist.  Weak Migration: permits mobility of code and data state. After the movement, the agent is restarted and the values of its variables are restored, but its execution restarts from the beginning of a given procedure ( a method in case of objects).  Strong Migration: Mobility of code, data state and execution state. Restart the execution exactly from the point where it was stopped before movement. Within Strong Mobility: When moving a mobile agent carries: code + data state + execution Data State Data - global or instance variable; Execution State – local variables and threads On moving, execution can continue the point it stopped on previous host

Agent Life Cycle Models An agent life cycle can be defined as: “A series of stages through which an agent passes during its lifetime.” Life cycle models describe both the states of an agent, and the (allowed) transitions between states. Two Broad Classes of Model exist: 1.The persistent process life cycle model; e.g Telescript Agent TCL, 2.The task based life cycle model; e.g Aglets

FIPA Agent Management Specification The FIPA Agent Management Specification explicitly de- fines an agent life cycle with a state diagram. FIPA agents can be in one of the following states: initiated, active, transit, or suspended. After creation, the agent is said to be in the initiated state. After invoking the agent, it is active. The central state of a FIPA agent is the defacto active state. After moving into another state, agents always return to the active state before additional state transitions are possible.

Persistent Process Life cycle Model  All other life cycle models can be built on top of this model;  The mobile agent can exist in one of 4 states: a start state a frozen state a running state a death state  The life cycle starts in a start state and then it proceeds to a running state where a persistent process is executed and eventually enters a death state where the process is terminated;

Persistent Process Life Cycle Model II  When a mobile agent is transported from one node to another, the process in the running state is check-pointed and the agent enters the frozen state;  Next, its context is delivered to the destination node where the process is resumed and re-enters the running state at the point it left off;

Task Based Life Cycle Model Offers a flexible life cycle model however context information can be lost during transport. The mobile agent can exist in one of 3 states:  a start state  a death state  task states  The mobile agent starts in the start state. Depending on a set of conditions it proceeds through a network of task states - each task has its own state.  When the agent moves to a new node the context of the currently executing task is lost.  Before moving the agent must indicate the first task to be started when it re-materialises on the destination node

Aglets Within Aglets program code can be transported along with state information Aglets were created by IBM Japan Aglets (= agents + applets) are Java objects that can move from one host on the Internet to another When the aglet moves, it brings along its program code as well as its data An aglet that executes on one host can  halt execution  dispatch to a remote host and  resume execution there

Aglets II An Applet-like programming model for mobile agents. Implemented in Java (as many mobile agent toolkits are! ) Aglet = Agent + Applet Aglet’s API facilitates mobile technology Aglet: mobile java object that visits aglet enabled hosts in a computer network An Aglet = Instance of a Java class extending the Aglet Class An Aglet =Aglet state (values in variables) + Aglet code (class implementation) Autonomous – runs its own thread after arriving at a host Reactive – responds to incoming messages Offers Weak Mobility

Key Aglets Features A globally unique naming scheme for agents (navigation/security model) A travel schedule for specifying complex travel patterns with multiple destinations and automatic failure handling (navigation model) A white board mechanism allowing multiple agents to collaborate and share information asynchronously (communication model) An agent message-passing scheme that supports asynchronous and synchronous peer-to-peer communication between agents (communication model) A network agent class loader that allows an agents Java byte code and state information to travel across the network (navigation model) An execution context that provides agents with a uniform environment independent of the actual computer system on which they are executing (computational model) aglet

Aglet Operations  Operations on aglets:  creation – within a context. Assign id, initialise and execute;  Run;  cloning – identical copy in the same context. Different id and execution thread;  dispatching – move from one context to another where execution will re-start (i.e. threads do not migrate);  retraction – pull from current context and insert into the context from which retraction was requested;  activation & deactivation – temporary halt and store in secondary storage;  disposal – halt execution and remove from current context;  Event-based control via user-defined methods: onCreation, onDisposing, onCloning, onDispatching, onReverting, onArrival, onActivation, onDeactivating etc  Messaging between aglets: messaging via proxy, a message invokes a method

HIPS & Gulliver’s Genie Objectives  Provide an infrastructure which supports simultaneous user navigation of a physical space and it’s corresponding information space  Deliver contextualised information to roaming tourists  Provide seamless movement between the physical & virtual spaces

Localisation Technologies Satelite based Systems Global Positioning System (GPS); Differential GPS (DGPS); Galilleo - European GLONASS – Russian; Radio Based Systems Base Cell Identification; Base Cell Triangulation based on either Angle of Arrival (AOA) or Time of Arrival (TOA); Location Fingerprinting – each location has a unique signal pattern create database to record these and match; Hybrid Systems; Enhanced/Assisted GPS (EGPS) – Ericsson Mobile Positioning System (MPS).

HIPS : A Handheld Tourist Aid Tourist Content Delivered in a Proactive (Push) Tailored fashion. The key personalisation & Contextualisation parameters are: Location (Longitude, Latitude, Orientation) acquired from a Global Positioning System (GPS) device & electronic compass; User Preferences extracted from a user profile;

Administration Toolkit

Gulliver’s Genie

WAY GUI Zoomed InZoomed Out

EasiShop Mobile Agent based U-Commerce System Agent Factory Thinlets Midp Bluetooth EasiShop Client Side EasiShop Server Side

ACCESS: An Agent Architecture for Ubiquitous Service Delivery Agents Channelling ContExt Sensitive Services Cooperative InformationIAgents (CIA) System Inovation Award Winner 2003

ACCESS Objectives ACCESS seeks to provide:  an open extensible architecture for the rapid prototyping and deployment of context sensitive services  strong support for generic profiling  enable the intelligent prediction of user service needs  support for a scalable multi-user environment

ACCESS Architecture Agent Factory Run-Time Environment Agent Factory Development Environment ACCESS Management Agents ACCESS Toolbox Development Deployment

ACCESS Management Agents Agent Platform The ACCESS Client Agent Platform The ACCESS Gateway –Context Management –User Profiling –Content Delivery –Location Sensing –Map Generation –Service Brokerage

Hotel Finder: An ACCESS Service

The first open extensible architecture for the rapid prototyping and deployment of context sensitive services through the use of lightweight mobile intentional agents Why Choose ACCESS ?

Wearable/Ubiquitous Sensors  Motes in Wearable Sensor Networks. By linking pressure sensitive pads through a personal wireless network we are going to experiment with mechanisms to measure bodily functions such as breathing. This could allow us to detect hyper- ventilation and inform paramedics through a mobile phone.