Top Banner
Locating Mobile Agents in Distributed Computing Environment
26

Locating Mobile Agents in Distributed Computing Environment.

Jan 03, 2016

Download

Documents

Carol McBride
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Locating Mobile Agents in Distributed Computing Environment.

Locating Mobile Agents in Distributed Computing

Environment

Page 2: 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.

Page 3: Locating Mobile Agents in Distributed Computing Environment.

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

Page 4: Locating Mobile Agents in Distributed Computing Environment.

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

Page 5: Locating Mobile Agents in Distributed Computing Environment.

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

Page 6: Locating Mobile Agents in Distributed Computing Environment.

Naming Scheme Properties• What does the Agent Name represent?

– May be follow the internet convention• Service.organization.domain• www.gmu.edu

• 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.

Page 7: Locating Mobile Agents in Distributed Computing Environment.

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.

Page 8: Locating Mobile Agents in Distributed Computing Environment.

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.

Page 9: Locating Mobile Agents in Distributed Computing Environment.

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

Page 10: Locating Mobile Agents in Distributed Computing Environment.

Implementation Performance Measures

• AvailabilityA = (MTTF)/(MTTF+MTTR)

• Scalability• Migration overhead

mtnewloctmigr + tnewloctmigr duration of agent migration

tnewloc time to execute newloc

• Interaction overheaditcatchtcatch + tinteracttcatch time for finding and catching phase

tinteract time for interaction

• Scheme should optimize all these!! Utility function! Multiple objectives leads to compromise

Page 11: Locating Mobile Agents in Distributed Computing Environment.

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”.

Page 12: Locating Mobile Agents in Distributed Computing Environment.

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

Page 13: Locating Mobile Agents in Distributed Computing Environment.

Naming Schemes - Comparison

Scheme Example Transparency

(Independence from network addresses)

Location Independence

(Independence from the current place)

Selectability

(Autonomously assigned by

programmer)

Current place + id

(Aglets)

Myhost:40/28e29d No

(requires network info)

No

(depends on current place)

No (assigned by system when agent is spawned)

Current place + name

(AgentTCL, Grasshopper, MOA)

Myhost:40/myAgent No

(requires network info)

No

(depends on current place)

Yes (programmer can select name autonomously)

Reference host + name (AgentTCL, Grasshopper, MOA)

Refhost:40/myAgent No

(requires network info)

Yes

(depends on reference place from which search starts)

Yes (programmer can select name autonomously)

Name + birth region

([1])

myAgent@myRegion Partial

(birth place included in address)

Yes

(depends on birth place from which search starts)

Yes (programmer can select name autonomously)

Page 14: Locating Mobile Agents in Distributed Computing Environment.

Location Technique – Database Logging(Objective: Find the current agent location)

Location database

server

Migration

Location DbUpdateSite 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.

Page 15: Locating Mobile Agents in Distributed Computing Environment.

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.

Page 16: Locating Mobile Agents in Distributed Computing Environment.

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

Page 17: Locating Mobile Agents in Distributed Computing Environment.

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: cellssubnetsregions….

– 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

Page 18: Locating Mobile Agents in Distributed Computing Environment.

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

Page 19: Locating Mobile Agents in Distributed Computing Environment.

• 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

Page 20: Locating Mobile Agents in Distributed Computing Environment.

Figure 3: RAR/SAR tuple meaning

Page 21: Locating Mobile Agents in Distributed Computing Environment.

Search-by-Path-Chase Protocol

• For each SAR (similarly for RAR)– If agent m reaches location at tl, then query to

SAR at tq (tq >= tl) will yield• Agent if it at • If agent has migrated then the location (region)

reached at the next migration after tl.– This implies that at tq by following a visited location before

tq we can catch up with m.

– Since there could be many hops, SPC design is focused on reducing the chase.

Page 22: Locating Mobile Agents in Distributed Computing Environment.

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.

Page 23: Locating Mobile Agents in Distributed Computing Environment.
Page 24: Locating Mobile Agents in Distributed Computing Environment.
Page 25: Locating Mobile Agents in Distributed Computing Environment.
Page 26: Locating Mobile Agents in Distributed Computing Environment.