Locating Mobile Agents in Distributed Computing Environment.

Slides:



Advertisements
Similar presentations
ECE /24/2005 A Survey on Position-Based Routing in Mobile Ad-Hoc Networks Alok Sabherwal.
Advertisements

Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
Agent agent Outline of Presentation Introduction: Inter-Agent Message Passing ARP: Design and Analysis Generalization: A Generic Framework Conclusion.
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
Distributed System Structures Network Operating Systems –provide an environment where users can access remote resources through remote login or file transfer.
Distributed Systems Fall 2010 Replication Fall 20105DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
Cellular and Mobile Wireless Networks (part 2) Advanced Computer Networks.
1 Spring Semester 2007, Dept. of Computer Science, Technion Internet Networking recitation #4 Mobile Ad-Hoc Networks AODV Routing.
On Reducing Communication Cost for Distributed Query Monitoring Systems. Fuyu Liu, Kien A. Hua, Fei Xie MDM 2008 Alex Papadimitriou.
Mobile IP Overview: Standard IP Standard IP Evolution of Mobile IP Evolution of Mobile IP How it works How it works Problems Assoc. with it Problems Assoc.
What we will cover… Home Networking: Network Address Translation (NAT) Mobile Routing.
Beneficial Caching in Mobile Ad Hoc Networks Bin Tang, Samir Das, Himanshu Gupta Computer Science Department Stony Brook University.
MOBILITY SUPPORT IN IPv6
© nCode 2000 Title of Presentation goes here - go to Master Slide to edit - Slide 1 Reliable Communication for Highly Mobile Agents ECE 7995: Term Paper.
Chapter 13 Mobile IP. Outline  ADDRESSING  AGENTS  THREE PHASES  AGENT DISCOVERY  REGISTRATION  DATA TRANSFER  INEFFICIENCY IN MOBILE IP.
Distributed Systems Fall 2009 Replication Fall 20095DV0203 Outline Group communication Fault-tolerant services –Passive and active replication Highly.
CS218 – Final Project A “Small-Scale” Application- Level Multicast Tree Protocol Jason Lee, Lih Chen & Prabash Nanayakkara Tutor: Li Lao.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
CS335 Networking & Network Administration Tuesday, April 20, 2010.
Mobile IP.
MULTICASTING Network Security.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
Institute of Technology Sligo - Dept of Computing Chapter 11 Layer 3 Protocols Paul Flynn.
© MMII JW RyderCS 428 Computer Networks1 Mapping Internet to Physical Addresses  2 machines on a physical network can only communicate if they know each.
Peer-to-peer file-sharing over mobile ad hoc networks Gang Ding and Bharat Bhargava Department of Computer Sciences Purdue University Pervasive Computing.
CS401 presentation1 Effective Replica Allocation in Ad Hoc Networks for Improving Data Accessibility Takahiro Hara Presented by Mingsheng Peng (Proc. IEEE.
DISTRIBUTED PROCESS IMPLEMENTAION BHAVIN KANSARA.
Network Topologies.
Distributed Process Implementation Hima Mandava. OUTLINE Logical Model Of Local And Remote Processes Application scenarios Remote Service Remote Execution.
Presentation Title Subtitle Author Copyright © 2002 OPNET Technologies, Inc. TM Introduction to IP and Routing.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
Mobile IP Performance Issues in Practice. Introduction What is Mobile IP? –Mobile IP is a technology that allows a "mobile node" (MN) to change its point.
Mobile IP Seamless connectivity for mobile computers.
S305 – Network Infrastructure Chapter 5 Network and Transport Layers.
Network Layer (3). Node lookup in p2p networks Section in the textbook. In a p2p network, each node may provide some kind of service for other.
1 Introducing Routing 1. Dynamic routing - information is learned from other routers, and routing protocols adjust routes automatically. 2. Static routing.
5.1 Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED.
04/18/2005Yan Huang - CSCI5330 Database Implementation – Distributed Database Systems Distributed Database Systems.
Module 3: Designing IP Addressing. Module Overview Designing an IPv4 Addressing Scheme Designing DHCP Implementation Designing DHCP Configuration Options.
ROUTING ALGORITHMS IN AD HOC NETWORKS
 Protocols used by network systems are not effective to distributed system  Special requirements are needed here.  They are in cases of: Transparency.
Advanced Computer Networks Topic 2: Characterization of Distributed Systems.
10 1 Chapter 10 Distributed Database Management Systems Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
INTERNET AND ADHOC SERVICE DISCOVERY BY: NEHA CHAUDHARY.
Communication Paradigm for Sensor Networks Sensor Networks Sensor Networks Directed Diffusion Directed Diffusion SPIN SPIN Ishan Banerjee
COP 5611 Operating Systems Spring 2010 Dan C. Marinescu Office: HEC 439 B Office hours: M-Wd 2:00-3:00 PM.
Packet switching network Data is divided into packets. Transfer of information as payload in data packets Packets undergo random delays & possible loss.
William Stallings Data and Computer Communications
Location management. Mobile Switching Center Public telephone network, and Internet Mobile Switching Center Components of cellular network architecture.
A Scalable Routing Protocol for Ad Hoc Networks Eric Arnaud Id:
TELE202 Lecture 6 Routing in WAN 1 Lecturer Dr Z. Huang Overview ¥Last Lecture »Packet switching in Wide Area Networks »Source: chapter 10 ¥This Lecture.
KAIS T On the problem of placing Mobility Anchor Points in Wireless Mesh Networks Lei Wu & Bjorn Lanfeldt, Wireless Mesh Community Networks Workshop, 2006.
IEEE j Relay-Based Wireless Access Networks VASKEN GENC, SEAN MURPHY, YANG YU, AND JOHN MURPHY, UNIVERSITY COLLEGE DUBLIN SCHOOL OF COMPUTER SCIENCE.
Network Layer4-1 Today Collect homework New homework: Ch4 #16,19,21-24,26,27,29,31 (half graded, as usual) Due Wednesday Oct 15 in class Final programming.
Routing Algorithms and IP Addressing Routing Algorithms must be ▪ Correctness ▪ Simplicity ▪ Robustness ▪ Stability ▪ Fairness ▪ Optimality.
Introduction to Active Directory
Chapter 25 Internet Routing. Static Routing manually configured routes that do not change Used by hosts whose routing table contains one static route.
DMET 602: Networks and Media Lab Amr El Mougy Yasmeen EssamAlaa Tarek.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
The Network Layer UNIT-4 snistforum.com. Network Layer Design Issues Store-and-Forward Packet Switching Services Provided to the Transport Layer Implementation.
DMET 602: Networks and Media Lab
Networking Applications
Internet Networking recitation #4
Chapter 5 Network and Transport Layers
Net 323: NETWORK Protocols
5.2 FLAT NAMING.
Mobile Agents.
DMET 602: Networks and Media Lab
Effective Replica Allocation
Presentation transcript:

Locating Mobile Agents in Distributed Computing Environment

Reference [1] A. Di Stefano, and C. Santoro, “Locating Mobile Agents in a Wide Distributed Environment,” IEEE T-PDS, vol 13, no. 8, Aug 2002, p. 844 – 864.

Problem Context Agents are mobile Agents work with other agents –Cooperation, coordination, competition,.. Agents must find other agents –Addressing technique for unique identification –Applications use names not identifiers –Naming scheme, that permits programmers autonomous name selection

Static vs Mobile Agents Static entities –Binding protocol that binds names to addresses –Address includes the current location of the addressed entity Mobile –Dynamic nature of the agents increases complexity –Discover the location –Additional problem: agents can be created, cloned, and terminated quite easily –Need dynamic naming scheme

Dynamic Naming Agent name must indicate the start of the search process Name space structure –Closely related to location protocol –Transparency, scalability, reliability, efficiency,…. –In general, the approaches meet some of these properties

Naming Scheme Properties What does the Agent Name represent? –May be follow the internet convention Service.organization.domain Existing schemes can be classified using the following properties: –Transparency – to achieve transparency the agent name should NOT contain site specific information cs.gmu.edu/~cs365 is not transparent, but CS365 is transparent. –Location independence – name does not include info regarding current position Database location + agent name, is location independent but not transparent. –Selectability – a naming scheme is selectable if a programmer can autonomously select a name.

Implications of Properties Transparency – non-transparent systems require that the user have complete knowledge of the distributed system. Need to know the agent birth node. Locating independence – facilitates agent interaction without knowing where the agent is located. Requires a location protocol. Selectability – ensures interaction with the parent and child agent without system wide publication. Requires an approach to binding.

Finding an Agent Location Name and Location Base (NLB) Tuple (m,  ), where name (m), agent (  ), current location( ) Four operations on the NLB –Bind (m,  ) performed when a name is assigned to agent. Tuple added to NLB. –Newloc (m,  `) ` is the new location. In NLB (m,  `) replaces (m,  ). –Find (m) extracts  from the NLB. –Unbind (m) when agent name is no longer used – remove from NLB. Locating a mobile agent requires implementation of NLB and the 4 operations.

Implementation Issues Centralized NLB? –Scalable, reliable, efficient??? Each implementation approach must assess the scalability, reliability and efficiency of the operations –Binding at the beginning and end – so less important –Newloc and Find – repeated use – so more important –Find may require repetitive application Location finding + agent catching For rapidly moving agents, repeat the process several times

Implementation Performance Measures Availability A = (MTTF)/(MTTF+MTTR) Scalability Migration overhead  m  t newloc  t migr + t newloc  t migr  duration of agent migration t newloc  time to execute newloc Interaction overhead  i  t catch  t catch + t interact  t catch  time for finding and catching phase t interact  time for interaction Scheme should optimize all these!! Utility function! Multiple objectives leads to compromise

Internet like Naming Scheme [1] Human Readable Agent location is characterized by –Birth location –Current location Divide the environment into: –Places – context where agents can execute –Agent Systems –Regions Address (Global Location Identifier – GLI) is a combination of Place, Agent System, Region. BGLI (Birth GLI), CGLI (Current GLI) Agent name m :: = “agent:” localname BGLI.region –BGLI.region = region of birth; localname = assigned by programmer Unique names are required. –Some “authority” ensures uniqueness of region name. –Require a binding protocol to register the new agent and ensure uniqueness of the “localname”.

Naming Scheme [1] Properties Location independence –Points to birth GLI Selectability –Programmer is able to select a local unique name Transparency –Limited. Birth place is include in name Similar to wireless naming approach

Naming Schemes - Comparison SchemeExampleTransparency (Independence from network addresses) Location Independence (Independence from the current place) Selectability (Autonomously assigned by programmer) Current place + id (Aglets) Myhost:40/28e29dNo (requires network info) No (depends on current place) No (assigned by system when agent is spawned) Current place + name (AgentTCL, Grasshopper, MOA) Myhost:40/myAgentNo (requires network info) No (depends on current place) Yes (programmer can select name autonomously) Reference host + name (AgentTCL, Grasshopper, MOA) Refhost:40/myAgentNo (requires network info) Yes (depends on reference place from which search starts) Yes (programmer can select name autonomously) Name + birth region ([1]) (birth place included in address) Yes (depends on birth place from which search starts) Yes (programmer can select name autonomously)

Location Technique – Database Logging (Objective: Find the current agent location) Location database server Migration Location Db Update Site 1 Site2 Site 3 At each agent migration, the new location info is sent to db server. Given agent name, location db server provides agent current location. Adv: Only one access to the db. Disadv: Failure at server. Delays when the source and destination are far from the server.

Location Technique – Path proxies (Objective: Find the current agent location) Migration Proxy Reference Site 1 Site 2 Site 3 As each agent leaves a site, a proxy object is created that points to the destination site. Locate agents by following the proxy path. Adv: Communication between neighboring – distance between server and source / destination sites is not important. Disadv: Access time can be long – catching up to the agent. Many “hops”. Improvement: After time out, Nth proxy object sends info about N+1 proxy object to the N-1 proxy object, and Nth proxy object is deleted. Reduces number of hops.

Mobile Agents vs Mobile Hosts ( Wireless Networks ) Wireless network incorporate the ability to locate the mobile host –The mobile hosts attachment point (base station) is changing Mobile Agents – networks are fixed, agent is moving Protocol related differences –In the mobile host case, the location protocols are handled in the network layer –Mobile agent location is done at a higher level – transportation or even the application layer

Mobile Agents vs Mobile Hosts ( Wireless Networks ) Distance and speed constraints –Mobile host speeds are limited. Limited region of mobility. Location limited to a “neighborhood”. Possibly broadcast paging messages in neighboring cells. Hierarchical view of the network: cells  subnets  regions  …. –Mobile agents migrate at the speed of light. Regions of operation are more widespread Hierarchical approach may work, but for long distances, will require traversal of several layers. This leads to inefficiencies

Framework of Proposed Solution Each region has a site acting as Agent Name Server (ANS) and on each location there is a Site Agent Register (SAR) ANS –Manages the Region Agent Register (RAR) db –Each entry in RAR is (m, ): agent m at location – is a GLI or GLI.region –Each RAR entry indicates an agent that is in the region or has transited through the region –ANS permits remote access to RAR db, but rules of concurrency must be maintained Mutual exclusion between concurrent requests

SAR –An SAR on each location Agents at the site or transited through the site Entry form (m, , ): –Agent  with name m at location –  is the agent identifier – is a GLI (agent found or transited location), »GLI.region (agent found or transited region), or »nil (agent is at the same location as the SAR) Framework of Proposed Solution - 2

Figure 3: RAR/SAR tuple meaning

Search-by-Path-Chase Protocol For each SAR (similarly for RAR) –If agent m reaches location at t l, then query to SAR at t q (t q >= t l ) will yield Agent if it at If agent has migrated then the location (region) reached at the next migration after t l. –This implies that at t q by following a visited location before t q we can catch up with m. –Since there could be many hops, SPC design is focused on reducing the chase.

Steps to Locate an Agent Extract birth location from m. Contact the relevant RAR. –If in the RAR, find the SAR. RAR will point to SAR. If the resulting tuple has an identifier (  ) then we are done, else start the search again. –If not in RAR, contact the ANS of the new region. –Register always contains a pointer, unless there was a crash. Locks are used to ensure concurrency and correct updates.

