User Tools

Site Tools


uf:totam

Differences

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

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
uf:totam [2009/11/18 15:10] – adding elisaguf:totam [2010/10/20 16:28] elisag
Line 1: Line 1:
 ===== Tuples on the Ambient (TOTAM) ===== ===== Tuples on the Ambient (TOTAM) =====
  
-TOTAM is a communication abstraction to enable pervasive social interactivity: it make possible that flockrs can communicate with each other without being connected at the same time while maintaining privacy and limited network traffic. +TOTAM is an extension to the TOTA tuple space model which introduces scoping mechanism to delimit the physical transportation of tuples.
-The basic communications API of the framework provides means to address and communicate with individual flockrs by means of remote objects references.  +
-However, communicating with large amount of flockrs in this fashion does not scale (as it would require to manually manage a group of remote references whose composition change often). +
-Instead, we have designed a dedicated communication abstraction for flock communication called //TOTAM//.+
  
-==== Design ====+==== Motivation ====
  
-We have reused the concepts developed by  [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.9742|TOTA]]. This could be combined with the RETE engine we built for the characteristic functions, in the future to reason about multiple tuples. +The original idea was to build a framework similar to [[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.9742|TOTA]] to be able to exchange and percolate guanotes. TOTA is one of the most dynamic tuple-based solutions for coordination in mobile networks. It relies on tuples which hop from location to location to coordinate distributed application nodes. Rather than merging local tuple spaces upon network connection as other tuple-based approaches like LIMEtuples themselves decide how to propagate from a tuple space to another. This means that tuples are injected in the network and can autonomously propagate according to application-specific propagation rules expressed in the tuples themselves
  
-The original idea was to build a framework similar to TOTA to be able to exchange and percolate guanotes. Tota proposes relying on distributed tuples to coordinate distributed application nodesTuples are injected in the network and can autonomously propagate according to application-specific propagation rules expressed in the tuples themselvesThe idea is to implement TOTAM as a general framework so that we can then instantiate our TOTAM with guanote objects in [[:uf:guanotes|Guanotes]]. A guanote actually extends tuple object of TOTAM with some flockr-dependent behaviour+However, in TOTA tuples are sent to all communication partners in rangeUpon arrival at the receiver side, the tuple itself decides whether it has to be stored in that tuple space. By transmitting tuples potential malicious or non-intended users are provided with sensitive informationNot only does sending all tuples blindly to all communication partners in range raise privacy issues, it also creates network traffic overhead
  
-TOTAM has been designed to be independent from service discovery. So, Guanotes will also have to implement some glue codeto plug in the discovery mechanism of Urbiflock (via Flockr).+To solve this issues, we extended TOTA with dynamically scoped tuples resulting in the TOTAM ("Tuples on the Ambient") framework. TOTAM provides the programmer with means to scope the tuples themselves, i.e the tuples can dynamically adjust their scope as they hop from location to location. By means of tuple space descriptors, programmers can scope their tuples preventing them to be propagated to unwanted locations. This scope is determined before the tuple is transmitted, thus allowing the programmer to prevent the physical transportation of tuples to devices which are not targeted. Scoped tuples have a number of benefits: tuples carry the definition of the target tuple spaces enhancing privacy and avoiding unnecessary exchange of tuples.  
 + 
 +Another goal was to implement TOTAM as a general framework so that we can then instantiate our TOTAM with guanote objects for the [[:uf:guanotes|Guanotes]] application. A guanote actually extends a tuple object of TOTAM with some flockr-dependent behaviour. Since TOTAM has been designed to be independent from service discovery, [[:uf:guanotes|Guanotes]]  implements some glue code to plug in the discovery mechanism of Urbiflock (via Flockr).
  
 ==== API ==== ==== API ====
Line 68: Line 67:
 // if true -> tuple gets unexported and deleted from local TS. // if true -> tuple gets unexported and deleted from local TS.
 //new operation not in TOTA //new operation not in TOTA
-def decideDie() -> boolean +def decideSleep() -> boolean 
 </code> </code>
  
-decideDie() is there for discontinuous decidePropagation functions. for example, tuples that should be only propagated every Tuesday could not implemented with TOTA because the propagation protocol only gets called once. We change this by providing decideDie() that gets called when you decide not to propagate. Like this a tuple can still be propagate at a later point in time, despite the fact that the decidePropagation function has evaluated to false at a certain moment.+Ideas: 
 + 
 +TOTA could be combined with the RETE engine we built for the characteristic functions, in the future to reason about multiple tuples.  
 + 
 +decideSleep() is there for discontinuous decidePropagation functions. for example, tuples that should be only propagated every Tuesday could not implemented with TOTA because the propagation protocol only gets called once. We change this by providing decideSleep() that gets called when you decide not to propagate. Like this a tuple can still be propagate at a later point in time, despite the fact that the decidePropagation function has evaluated to false at a certain moment.
uf/totam.txt · Last modified: 2021/09/24 10:49 by elisag