User Tools

Site Tools


research:ambientrefs

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
Next revisionBoth sides next revision
research:ambientrefs [2006/06/27 10:45] – created tvcutsemresearch:ambientrefs [2006/06/27 11:31] tvcutsem
Line 1: Line 1:
 === Ambient References === === Ambient References ===
  
 +[[ambientrefs.jpg]]
 +
 +Ambient references are a novel remote object reference mechanism. Remote object references are "pointers across the network" and are a frequently recurring abstraction in both distributed OO languages and distributed middleware. Ambient references are designed to refer to objects in [[research:terms:monets|mobile networks]]. What exactly constitutes a mobile network and how it differs from traditional, stationary networks is described [[research:terms:monets|elsewhere]].
 +
 +== Motivation ==
 +
 +One may wonder why new referencing abstractions are required for mobile networks. In order to motivate the need for new referencing abstractions at the language level, we list a number of desirable properties of remote references for mobile networks which current remote referencing abstractions do not offer:
 +
 +  - **Provisional References**: remote references should be able to point to remote objects which are "not yet available" in the network. This is founded on the observation that in [[research:terms:monets|mobile networks]], ambient resources need to be discovered in the environment and will most likely be unavailable most of the time.
 +  - **Resilience to Partial Failure**: remote references for mobile networks should be able to tolerate network disconnections because of the volatile connnections hardware phenomenon of mobile networks.
 +  - **Transitory Addressing**: remote references in mobile networks should bind to (point to) objects based on what services that object provides, rather than based on a low-level UID, object-id, IP address or MAC address. Such low-level IDs preclude the reference from reconfiguring itself by rebinding to a different object providing the same or equally matching services.
 +  - **Group Communication**: in mobile networks, one often wants to communicate with an entire group of objects. To this end, remote references should be introduced that automatically represent a set of (proximate) objects. Messages sent to such references are automatically multicast or broadcast to all objects in the set.
  
 == Design == == Design ==
 +
 +Ambient references unify two concepts: they are both a peer-to-peer discovery channel //and// an asynchronous communication channel to a remote object.
  
 == Example Usage == == Example Usage ==
research/ambientrefs.txt · Last modified: 2010/09/13 15:13 by tvcutsem