Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Location Services: Home-Based Approaches, Hierarchical Location Services, Unreferenced Obj, Study notes of Computer Science

Various methods for locating entities in distributed systems, including home-based approaches, hierarchical location services, and unreferenced objects. It also explores the challenges of reference counting and proposes solutions. The document also touches upon the concept of leases and tracing in groups.

Typology: Study notes

Pre 2010

Uploaded on 09/02/2009

koofers-user-egp
koofers-user-egp 🇺🇸

10 documents

1 / 10

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Simple Solutions for Locating Entities
Broadcasting: Simply broadcast the ID, requesting the entity to return its
current address.
•Can never scale beyond local-area networks (think of ARP/RARP)
•Requires all processes to listen to incoming location requests
Forwarding pointers: Each time an entity moves, it leaves behind a
pointer telling where it has gone to.
•Dereferencing can be made entirely transparent to clients by simple
following the chain of pointers
•Update a client’s reference as soon as present location has been found
•Geographical scalability problems:
–Long chains are not fault tolerant
–Increased network latency at dereferencing
Essential to have separate chain reduction mechanisms
Home-Based Approaches (1/2)
Single-tiered scheme: Let a home keep track of where the
entity is:
An entity’s home address is registered at a naming service
The home registers the foreign address of the entity
Clients always contact the home first, and then continues
with the foreign location
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Location Services: Home-Based Approaches, Hierarchical Location Services, Unreferenced Obj and more Study notes Computer Science in PDF only on Docsity!

Simple Solutions for Locating Entities Broadcasting : Simply broadcast the ID, requesting the entity to return its current address. •Can never scale beyond local-area networks (think of ARP/RARP) •Requires all processes to listen to incoming location requests Forwarding pointers : Each time an entity moves, it leaves behind a pointer telling where it has gone to. •Dereferencing can be made entirely transparent to clients by simple following the chain of pointers •Update a client’s reference as soon as present location has been found •Geographical scalability problems: –Long chains are not fault tolerant –Increased network latency at dereferencing Essential to have separate chain reduction mechanisms Home-Based Approaches ( 1 / 2 ) Single-tiered scheme : Let a home keep track of where the entity is:

  • An entity’s home address is registered at a naming service
  • The home registers the foreign address of the entity
  • Clients always contact the home first, and then continues with the foreign location

Home-Based Approaches ( 2 / 2 ) Two-tiered scheme : Keep track of visiting entities:

  • Check local visitor register first
  • Fall back to home location if local lookup fails Problems with home-based approaches :
  • The home address has to be supported as long as the entity lives
  • The home address is fixed, which means an unnecessary burden when the entity permanently moves to another location
  • Poor Geographical scalability (the entity may be next to the client) Question to ponder : How can we solve the “permanent move” problem? Hierarchical Location Services (HLS) Hierarchical organization of a location service into domains, each having an associated directory node.

HLS: Invalidate Cache Caching a reference to a directory node of the lowest- level domain in which an entity will reside most of the time. HLS: Scalability Issues Size scalability : Again, we have a problem of over-loading higher-level nodes:

  • Only solution is to partition a node into a number of subnodes and evenly assign entities to subnodes
  • Naïve partitioning may introduce a node management problem, as a subnode may have to know how its parent and children are partitioned. Geographical scalability : We have to ensure that lookup operations generally proceed monotonically in the direction of where we’ll find an address:
  • If entity E generally resides in California, we should not let a root subnode located in France store E’s contact record.
  • Unfortunately, subnode placement is not that easy, and only a few tentative solutions are known.

Unreferenced Objects: Problem Assumption : Objects may exist only if they can be contacted:

  • Each object should be named
  • Each object can be located
  • A reference can be resolved to client-object communication Problem : Removing unreferenced objects:
  • How do we know when an object is no longer referenced (cyclic references)?
  • Who is responsible for (deciding on) removing an object? Reference Counting ( 1 / 2 ) Principle : Each time a client creates (removes) a reference to an object O , a reference counter local to O is incremented (decremented) Problem 1 : Dealing with lost (and duplicated) messages:
  • An increment is lost so that the object may be prematurely removed
  • A decrement is lost so that the object is never removed
  • An ACK is lost, so that the increment/decrement is resent. Solution : Keep track of duplicate requests

Advanced Referencing Counting ( 2 ) Weight assignment when copying a reference Advanced Referencing Counting ( 3 ) Creating an indirection when the partial weight of a reference has reached 1

Advanced Referencing ( 4 ) Creating and copying a remote reference in generation reference counting Reference Listing Observation : We can avoid many problems if we can tolerate message loss and duplication Reference listing : Let an object keep a list of its clients:

  • Increment operation is replaced by an (idempotent) insert
  • Decrement operation is replaced by an (idempotent) remove There are still some problems to be solved: Passing references : client B has to be listed at O before last reference at O is removed (or keep a chain of references) Client crashes : we need to remove outdated registrations (e.g. by combining reference listing with leases)

Tracing in Groups ( 2 ) After local propagation in each process. Tracing in Groups ( 3 ) Final Marking