research:dgc
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
research:dgc [2006/07/01 15:30] – elisag | research:dgc [2009/11/30 16:52] – *prog->soft dharnie | ||
---|---|---|---|
Line 1: | Line 1: | ||
===== Distributed Garbage Collection ===== | ===== Distributed Garbage Collection ===== | ||
+ | [[http:// | ||
==== Motivation ==== | ==== Motivation ==== | ||
- | Mobile ad hoc networks represent a new kind of distributed system with distinguishing characteristics that pose new challenges in the field of distributed garbage collection (DGC). In particular, DGC must deal with a highly partial disconnected network topology where remote references may be inaccessible for unpredicted amount of time. DGC mechanisms typically determine the reachability of the remote objects by means of communication between the nodes involved. However, in a mobile setting where disconnections are the rule rather the exception, the system cannot determine how long it should wait for a connection to be restored. Knowing when the communication will be restored depends on how the application reacts to disconnections. Some applications may wait for the connection to be restored to resume its computation while some others may continue their computation with a substitute service instead. Sometimes the geographic location of the devices or identify information may also influence the behaviour of mobile applications. DGC thus depends not only on the object graph but also on the //context// in which the objects are themselves - understanding context as the semantics of the application | + | Mobile ad hoc networks represent a new kind of distributed system with distinguishing characteristics that pose new challenges in the field of distributed garbage collection (DGC). In particular, DGC must deal with a highly partial disconnected network topology where remote references may be inaccessible for unpredicted amount of time. DGC mechanisms typically determine the reachability of the remote objects by means of communication between the nodes involved. However, in a mobile setting where disconnections are the rule rather the exception, the system cannot determine how long it should wait for a connection to be restored. Knowing when the communication will be restored depends on how the application reacts to disconnections. Some applications may wait for the connection to be restored to resume its computation while some others may continue their computation with a substitute service instead. Sometimes the geographic location of the devices or identify information may also influence the behaviour of mobile applications. DGC thus depends not only on the object graph but also on the //context// in which the objects are themselves - i.e the semantics of the application |
Our position is that reclaiming remote objects can no longer be a low level concern tackled in a transparent way via a DGC mechanism. On the contrary, we admit that automatic transparent DGC is irreconcilable with the characteristics intrinsic to mobile networks. Our research proposes a novel treatment of the memory management called // | Our position is that reclaiming remote objects can no longer be a low level concern tackled in a transparent way via a DGC mechanism. On the contrary, we admit that automatic transparent DGC is irreconcilable with the characteristics intrinsic to mobile networks. Our research proposes a novel treatment of the memory management called // | ||
Line 9: | Line 10: | ||
==== Design ==== | ==== Design ==== | ||
- | Semi-automatic garbage collection is a hybrid approach which relies on an underlying local GC and proposes a non-transparent DGC. The approach can be seen as an extension to the indirect reference counting (Piquer,1991) and network objects (Birrell et al.m 1993) since it also maintains the distributed inverse reference graph (IRG) where each remote object keeps a list of pointers to other devices which have references to it. However, the IRG is augmented with additional semantic information attached to the remote references to help the collector to determine the reachability of the remote objects they point to. This means the developer will be able to steer the gc proccess and accomodate the requirement of the applications by means of annotating the remote references. | + | Semi-automatic garbage collection is a hybrid approach which relies on an underlying local GC and proposes a non-transparent DGC. The approach can be seen as an extension to the indirect reference counting (Piquer,91) and network objects (Birrell et al.,93) since it also maintains the distributed inverse reference graph (IRG) where each remote object keeps a list of pointers to other devices which have references to it. The IRG is augmented with additional semantic information attached to the remote references to help the collector to determine the reachability of the remote objects they point to. This means the developer will be able to steer the gc proccess and accomodate the requirement of the applications by means of annotating the remote references. |
{{ remoterefint.jpg? | {{ remoterefint.jpg? | ||
- | Since devices may not be able to communicate at some point in time, when a remote reference is first allocated both parties in the interaction will establish a contract with the condition under which the reference is useful to the application. Therefore, if one devices becomes inaccessible because of a broken connection, the other one is aware of the conditions in which the inaccessible reference is still valuable. We propose // | + | Since devices may not be able to communicate at some point in time, when a remote reference is first allocated both parties in the interaction will establish a contract with the condition under which the reference is useful to the application. Therefore, if one devices becomes inaccessible because of a broken connection, the other one is aware of the conditions in which the inaccessible reference is still valuable. |
+ | |||
+ | We propose // | ||
==== Ongoing and Future work ==== | ==== Ongoing and Future work ==== | ||
- | We are currently exploring the necessary referencing strategies for the developer to annotate remote references | + | We are currently exploring the necessary referencing strategies for the developer to annotate remote references. We have come up with a tentative classification of referencing strategies that can be found [ [[http://soft.vub.ac.be/ |
- | We have also identified | + | There are a number of open issues that are not properly tackled yet by our approach: |
* Resolving conflicts between client and service provider strategies. | * Resolving conflicts between client and service provider strategies. | ||
- | |||
* Indirect references: passing a reference to a third party. | * Indirect references: passing a reference to a third party. | ||
- | |||
* Composition mechanism to mark group of remote reference at once. | * Composition mechanism to mark group of remote reference at once. | ||
- | * Garbage collection of the remote objects once it is no longer pointed to. | ||
==== Further Reading ==== | ==== Further Reading ==== | ||
- | **Semi-Automatic Garbage Collection for Mobile Networks**. Elisa Gonzalez Boix, Tom Van Cutsem, Stijn Mostinckx, Jessie Dedecker, Wolfgang De Meuter, and Theo D' | + | **Semi-Automatic Garbage Collection for Mobile Networks**. Elisa Gonzalez Boix, Tom Van Cutsem, Stijn Mostinckx, Jessie Dedecker, Wolfgang De Meuter, and Theo D' |
research/dgc.txt · Last modified: 2015/02/04 19:10 by elisag