Fabrice Huet Mobility of Active Objects Fabrice Huet INRIA-I3S-CNRS.

Slides:



Advertisements
Similar presentations
Agents & Mobile Agents.
Advertisements

Replication. Topics r Why Replication? r System Model r Consistency Models r One approach to consistency management and dealing with failures.
Consistency and Replication Chapter 7 Part II Replica Management & Consistency Protocols.
Maximum Battery Life Routing to Support Ubiquitous Mobile Computing in Wireless Ad Hoc Networks By C. K. Toh.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
26 Mai 2004 Séminaire Croisé : Sécurité Informatique Ubiquitaire1 Security Architecture for GRID Applications Séminaire Croisé Sécurité Informatique Ubiquitaire.
Remote Procedure Call (RPC)
1 Cheriton School of Computer Science 2 Department of Computer Science RemusDB: Transparent High Availability for Database Systems Umar Farooq Minhas 1,
Ameoba Designed by: Prof Andrew S. Tanenbaum at Vrija University since 1981.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Network Operating Systems Users are aware of multiplicity of machines. Access to resources of various machines is done explicitly by: –Logging into the.
CS 4800 By Brandon Andrews.  Specifications  Goals  Applications  Design Steps  Testing.
The Organic Grid: Self- Organizing Computation on a Peer-to-Peer Network Presented by : Xuan Lin.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
CS 582 / CMPE 481 Distributed Systems
MOBILITY SUPPORT IN IPv6
Design, Implementation, and Experimentation on Mobile Agent Security for Electronic Commerce Applications Anthony H. W. Chan, Caris K. M. Wong, T. Y. Wong,
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Managing Agent Platforms with the Simple Network Management Protocol Brian Remick Thesis Defense June 26, 2015.
Subnetting.
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.
1 A Framework for Highly Available Services Based on Group Communication Alan Fekete Idit Keidar University of Sidney MIT.
A Progressive Fault Tolerant Mechanism in Mobile Agent Systems Michael R. Lyu and Tsz Yeung Wong July 27, 2003 SCI Conference Computer Science Department.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
CSCI 6962: Server-side Design and Programming Introduction to AJAX.
Remus: VM Replication Jeff Chase Duke University.
SALSA: Language and Architecture for Widely Distributed Actor Systems. Carlos Varela, Abe Stephens, Department of.
Mobile Agent Technology for the Management of Distributed Systems - a Case Study Claudia Raibulet& Claudio Demartini Politecnico di Torino, Dipartimento.
Oct Multi-threaded Active Objects Ludovic Henrio, Fabrice Huet, Zsolt Istvàn June 2013 –
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
XP New Perspectives on The Internet, Fifth Edition— Comprehensive, 2005 Update Tutorial 7 1 Mass Communication on the Internet Using Mailing Lists Tutorial.
Chapter 5.4 DISTRIBUTED PROCESS IMPLEMENTAION Prepared by: Karthik V Puttaparthi
Locating Mobile Agents in Distributed Computing Environment.
Practical Byzantine Fault Tolerance
Developing TCP/IP-based Server Applications using Indy Components  Christian Wilkerson.
A High Performance Middleware in Java with a Real Application Fabrice Huet*, Denis Caromel*, Henri Bal + * Inria-I3S-CNRS, Sophia-Antipolis, France + Vrije.
1 Romain Quilici ObjectWeb Architecture meeting July 2nd 2003 ProActive Architecture of an Open Middleware for the Grid.
Denis Caromel1 Denis Caromel, Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis Albufeira,
The InetAddress Class A class for storing and managing internet addresses (both as IP numbers and as names). The are no constructors but “class factory”
Transparent Mobility of Distributed Objects using.NET Cristóbal Costa, Nour Ali, Carlos Millan, Jose A. Carsí 4th International Conference in Central Europe.
IM NTU Distributed Information Systems 2004 Replication Management -- 1 Replication Management Yih-Kuen Tsay Dept. of Information Management National Taiwan.
Mobile IP Outline Intro to mobile IP Operation Problems with mobility.
Denis Caromel 1 Denis Caromel, et al. OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF Strong Programming.
Dual-Region Location Management for Mobile Ad Hoc Networks Yinan Li, Ing-ray Chen, Ding-chau Wang Presented by Youyou Cao.
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
Shuman Guo CSc 8320 Advanced Operating Systems
Copyright © George Coulouris, Jean Dollimore, Tim Kindberg This material is made available for private study and for direct.
Peter Mattei HP Storage Consultant 16. May 2013
Mark Stanovich Operating Systems COP Primitives to Build Distributed Applications send and receive Used to synchronize cooperating processes running.
Two-Phase Commit Brad Karp UCL Computer Science CS GZ03 / M th October, 2008.
Allocating IP Addressing by Using Dynamic Host Configuration Protocol.
Transparent First-class Futures and Distributed Components Introduction: components, futures, and challenges Statically Representing Futures An Example.
ERICSON BRANDON M. BASCUG Alternate - REGIONAL NETWORK ADMINISTRATOR HOW TO TROUBLESHOOT TCP/IP CONNECTIVITY.
1 OASIS Team, INRIA Sophia-Antipolis/I3S CNRS, Univ. Nice Christian Delbé Data Grid Explorer 15/09/03 Large Scale Emulation Mobility in ProActive.
An Introduction to Mobile IPv4
A Theory of Distributed Objects Toward a Foundation for Component Grid Platforms Ludovic HENRIO l A Theory of Distributed Objects l Components l Perspectives.
Using Ant Agents to Combine Reactive and Proactive strategies for Routing in Mobile Ad Hoc Networks Fredrick Ducatelle, Gianni di caro, and Luca Maria.
Mobile IP 순천향대학교 전산학과 문종식
PROCESS RESILIENCE By Ravalika Pola. outline: Process Resilience  Design Issues  Failure Masking and Replication  Agreement in Faulty Systems  Failure.
1 Romain Quilici OASIS Team INRIA -- CNRS - I3S -- Univ. of Nice Sophia-Antipolis, IUF July 2nd 2003 ProActive Architecture.
Simulation Examples And General Principles Part 2
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Mobility With IP, implicit assumption that there is no mobility. Addresses -- network part, host part -- so routers determine how to get to correct network.
Replication Chapter Katherine Dawicki. Motivations Performance enhancement Increased availability Fault Tolerance.
Ivy Eva Wu.
ProActive Architecture of an Open Middleware for the Grid
Presentation transcript:

Fabrice Huet Mobility of Active Objects Fabrice Huet INRIA-I3S-CNRS

Fabrice Huet Mobility of Active Objects Basic Principles API and Abstractions Communications Schemes Performance Conclusion and Perspectives

Fabrice Huet Mobility of Active Objects Basic Principles API and Abstractions Communications Schemes Performance Conclusion and Perspectives

Fabrice Huet Weak mobility of objects The ability of an object to change its place of execution The object (Agent) decides when to migrate, as opposed to strong mobility Application: –Load balancing/Fault tolerance –Data Mining –User mobility

Fabrice Huet Principles Any Active Object can migrate Same semantics guaranteed (RDV, FIFO order point to point, asynchronous) Safe migration (no agent in the air!) Local references if possible when arriving within a VM

Fabrice Huet Migration of active objects The active object migrates with: all pending requests all its passive objects all its future objects Automatic and transparent forwarding of: requests (remote references remain valid) replies (its previous queries will be fullfilled) Migration is initiated by the active object itself through a primitive: migrateTo Can be initiated from outside through any public method

Fabrice Huet Mobility of Active Objects Basic Principles API and Abstractions Communications Schemes Performance Conclusion and Perspectives

Fabrice Huet API for Mobile Agents Basic primitive: migrateTo public static void migrateTo (String u) // string to specify the node (VM) public static void migrateTo (Node n) // ProActive node (VM) public static void migrateTo (Object o) // joining another active object Can throw a MigrationException but leaves the object in a safe state

Fabrice Huet API for Mobile Agents Mobile agents (active objects) that communicate class SimpleAgent implements RunActive, Serializable { public SimpleAgent() {} public void moveTo(String t){ // Move upon request ProActive.migrateTo(t) } public String whereAreYou (){ // Replies to queries return (“I am at ” + InetAddress.getLocalHost()); } public runActivity(Body myBody){ while (… not end of iterator …){ //query other agents res = myFriend.whatDidYouFind(); ProActive.migrateTo(nextDestination()); … } myBody.fifoPolicy(); // Serve requests }

Fabrice Huet API for Mobile Agents Migration generates events Primitives to automatically execute action upon migration –public void onArrival (String r) // Automatically executes the routine r upon arrival // in a new VM after migration –public void onDeparture (String r) // Automatically executes the routine r upon migration // to a new VM, guaranted safe arrival

Fabrice Huet API for Mobile Agents itinerary abstraction Itinerary : VMs to visit –specification of an itinerary as a list of (site, method) –automatic migration from one to another –dynamic itinerary management (start, pause, resume, stop, modification, …) API: –myItinerary.add (“host1’’, “routineX”);... –itinerarySetCurrent(), itineraryTravel(), itineraryStop(), itineraryResume(), … Still communicating, serving requests: –itineraryMigrationFirst (); // Do all migration first, then services, Default behavior –itineraryRequestFirst (); // Serve pending requests then continue itinerary

Fabrice Huet Host 1Host 2 Host 3 A Home Migration Dynamic itineraries Migration Host 4 foo Host 4 Migration

Fabrice Huet Mobility of Active Objects Basic Principles API and Abstractions Communications Schemes Performance Conclusion and Perspectives

Fabrice Huet Communicating with mobile objects Ensuring communication in presence of migration Should be transparent (i.e. nothing in the application code) Impact on performance should be limited or well known ProActive provides 2 solutions to choose from at object creation (but it’s easy to add new ones!) –Location Server –Forwarders

Fabrice Huet Location server A server has references on all objects in the system After a migration, an agent update its position into the location server When trying to communicate with an agent which has migrated, we request a reference to the server Essentially a centralized approach

Fabrice Huet Host 1 Host 2Host 3 Server S A Location Server Host 4

Fabrice Huet Server S A Location Server Host 1 Host 2Host 3 Host 4 The agent could have migrated again!

Fabrice Huet Forwarders Migrating object leaves forwarder on current site Forwarder is linked to object on remote site –Possibly the mobile object –Possibly another forwarder => a forwarding chain is built When receiving message, forwarder sends it to next hop Upon successful communication, a tensioning takes place

Fabrice Huet Forwarder Host 2Host 4 S A Host 3 Host 1

Fabrice Huet Forwarder Host 2Host 4 S A Host 3 Host 1 F

Fabrice Huet Forwarder Host 2Host 4 S A Host 3 Host 1 FF

Fabrice Huet Forwarder Host 2Host 4 S A Host 3 Host 1 FF

Fabrice Huet Location Server vs Forwarder Server –No fault tolerance if single server –Scaling is not straightforward –Added work for the mobile object –The agent can run away from messages Forwarders –Use resources even if not needed –The forwarding chain is not fault tolerant –An agent can be lost What about the performance?

Fabrice Huet Mobility of Active Objects Basic Principles API and Abstractions Communications Schemes Performance Conclusion and Perspectives

Fabrice Huet Impact on performance Simple test: Measure the time for a simple call on a mobile object (no parameters, no return value) Application made of 2 objects: The source and the Agent Source –Does not migrate –Wait an average time before calling the Agent (1/communication rate) Agent –Wait an average time on a site before migrating (1/migration rate)

Fabrice Huet Forwarder vs. Server LAN ( 100 Mb/s ) Response time (ms) vs. Communication rate Server better on a LAN

Fabrice Huet Forwarder vs Server MAN ( 7 Mb/s ) Response time (ms) vs. Communication rate Forwarders sometimes better on a MAN

Fabrice Huet On the cost of the communication Server: –The agent must call the server => the migration is longer –Cost for the source: Call to site where the agent was Call to the server and wait for the reply Call to the (maybe) correct location of the agent Forwarder: –The agent must create a forwarder (< to calling server) –Cost for the source: Follow the forwarding chain Cost of the tensioning (1 communication)

Fabrice Huet Mobility of Active Objects Basic Principles API and Abstractions Communications Schemes Performance Conclusion and Perspectives

Fabrice Huet Conclusion Weak Migration of any active object Communications using two schemes: server and forwarders Current applications: –Network Administration –Desktop to Laptop Perspective: Taking the best of the forwarders and the server –Forwarder with limited lifetime –Server as a backup solution

Fabrice Huet Perspective: TTL-TTU Forwarders: –Limited lifetime (TTL) –Update a server before becoming inactive Agent: –Leaves forwarders –Update the server after(TTU) After n migrations After time t on a site Implemented but not released yet