Browse Prior Art Database

Hybrid Method for Locating Mobile Objects

IP.com Disclosure Number: IPCOM000104918D
Original Publication Date: 1993-Jun-01
Included in the Prior Art Database: 2005-Mar-19
Document File: 2 page(s) / 114K

Publishing Venue

IBM

Related People

Malhotra, A: AUTHOR [+2]

Abstract

Distributed object repositories allow applications to access objects at different locations. To optimize performance, objects may migrate from location to location. Applications, however, must be written to access objects in a location independent manner and should not need to be modified when objects change locations. Thus, there must be some mechanism for the system to determine the current location of each object.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 45% of the total text.

Hybrid Method for Locating Mobile Objects

      Distributed object repositories allow applications to access
objects at different locations.  To optimize performance, objects may
migrate from location to location.  Applications, however, must be
written to access objects in a location independent manner and should
not need to be modified when objects change locations.  Thus, there
must be some mechanism for the system to determine the  current
location of each object.

      Two popular existing methods for locating migrating objects in
object-oriented systems are update-home and proxy-chains.  In these
methods, each object is assigned a constant unique identifier and a
constant home location where it was created.  In trying to find the
current location of an object, these methods begin by inquiring of
the processor on which the application is running.

      In the update-home method, when an object moves, it informs its
home location.  If an object is not found where the application is
running, its home location is queried.  Thus, all inquiries about an
object's current location can be resolved by inquiring of the home
location.  The advantage of this method is that a "find" operation,
i.e., the operation by which a processor determines an object's
current location, is resolved through a single remote query.  The
disadvantage is that every time an object moves, a remote message
needs to be sent to its home location.  As the object moves farther
and farther from its home location, it becomes more costly (i.e.,
takes more time) to send a message to the home location from the new
location (or the previous location).

      In the proxy-chains method, when an object moves, it
establishes a pointer (proxy) from its old location to its new
location.  Thus, as an object continues to move, a chain of pointers
is established, rooted at the home location and ultimately pointing
to the current location of an object.  The advantage is that no
remote message needs to be sent in order to establish this chain.
However, when doing a "find", messages need to be sent along the
entire chain, and the cost of each message is proportional to the
distance between the processors at each end-point of a pointer.
Thus, every time an object moves, the length of the chain grows by
one and the cost of locating the object increases.  To combat this,
chain compression is used:  after the proxy chain has reached some
predetermined length, it is compressed to directly point from the
home to the current location.  This is done by sending additional
messages backwards along the chain, from the current location to the
home location, informing each processor along the chain to change its
proxy to null.

      Thus, the trade-off between the above two methods is that one
(update home) is less costly (in terms of message transmission time)
in locating an object but more costly in moving an object while the
other (proxy-chains) is very costly i...