1 / 26

Locating Mobile Agents in Distributed Computing Environment

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

morton
Télécharger la présentation

Locating Mobile Agents in Distributed Computing Environment

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Locating Mobile Agents in Distributed Computing Environment

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

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

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

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

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

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

  8. Finding an Agent Location • Name and Location Base (NLB) • Tuple (m, a, l), where name (m), agent (a), current location(l) • Four operations on the NLB • Bind (m, a, l) performed when a name is assigned to agent. Tuple added to NLB. • Newloc (m, a, l `) l ` is the new location. In NLB (m, a, l `) replaces (m, a, l). • Find (m) extracts a 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.

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

  10. Implementation Performance Measures • Availability A = (MTTF)/(MTTF+MTTR) • Scalability • Migration overhead Qm = (tnewloc)/(tmigr + tnewloc) tmigr = duration of agent migration tnewloc = time to execute newloc • Interaction overhead Qi = (tcatch)/(tcatch + tinteract) tcatch = time for finding and catching phase tinteract = time for interaction • Scheme should optimize all these!! Utility function! Multiple objectives leads to compromise

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

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

  13. Naming Schemes - Comparison

  14. Location Technique – Database Logging(Objective: Find the current agent location) Location database server Site 3 Migration Location Db Update Site 1 Site2 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.

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

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

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

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

  19. Framework of Proposed Solution - 2 • 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)

  20. Figure 3: RAR/SAR tuple meaning

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

  22. 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 (a ) 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.

  23. al

More Related