uf:guanotes
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| uf:guanotes [2008/09/26 13:55] – elisag | uf:guanotes [2009/11/18 15:12] (current) – elisag | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| Guanotes application allows flockrs to post notes, called guanotes, to the ambient ( i.e any device available in the surroundings ranging from other flockr device to devices installed on public places such as KK). This is a concept similar to Stickies application in Mac but guanotes can hop from one device to another. | Guanotes application allows flockrs to post notes, called guanotes, to the ambient ( i.e any device available in the surroundings ranging from other flockr device to devices installed on public places such as KK). This is a concept similar to Stickies application in Mac but guanotes can hop from one device to another. | ||
| - | Flockrs can thus discover other flockrs guanotes, store them and exchange them later with other flockrs such that guanotes can be percolated through the entire Urbiflock. | + | Flockrs can thus discover other flockrs guanotes, store them and exchange them later with other flockrs such that guanotes can be 'percolated' |
| - | Flockrs can also subscribe to a particular type of guanotes such that they are automatically notified whenever they meet a flockr carrying guanotes of that particular type. | + | Flockrs can also subscribe to a particular type of guanotes such that they are automatically notified whenever they meet a flockr carrying guanotes of that particular type. Currently, flockrs can subscribe to receive guanotes sent to a particular flock. This functionality is reminiscent to the subscription to a mailing list. |
| Another idea is that flockrs can stop the percolation of guanotes. For example, if a flockr detects that a spam guanote or a guanote with unapropiate content, it could stop its propagation. | Another idea is that flockrs can stop the percolation of guanotes. For example, if a flockr detects that a spam guanote or a guanote with unapropiate content, it could stop its propagation. | ||
| - | ==== Design | + | ==== What is a guanote? |
| - | To implement | + | A guanote consists of a message and a receiver list (a flock or individual flockrs). |
| + | In order to avoid flooding the network, [[: | ||
| - | The idea is to build a framework similar | + | A guanote can be sent to a flock or an explicit collection of flockrs. In the later case end users can enumerate the targeted flockrs in the receiver list or take a snapshot of a flock. It is important |
| - | Here comes the primitive operations to interact with the AmbientTota framework: | + | ==== Usage Scenario ==== |
| - | < | + | {{:uf:guanotes_scenario.png? |
| - | //publishes a tuple into the ambient ( ~ inject in TOTA) | + | |
| - | def inject(tuple) | + | |
| - | export: tuple as: Tuple | + | |
| - | }; | + | |
| - | // places | + | The above figure illustrates the propagation of a guanote in a campus-based scenario. It shows six flockrs connected in Urbiflock and running the Guanotes application. The communication range of their devices is depicted with a dotted line while the colored dot on their devices denotes |
| - | // it returns a publication object to be able to unsusbscribe | + | |
| - | when: template matches:{ | tuple | | + | |
| - | + | ||
| - | } | + | |
| - | + | ||
| - | //Templates are currently boolean expressions on tuples. Example of template applied to guanotes: | + | |
| - | { |guanote| | + | |
| - | </ | + | |
| - | + | ||
| - | A tuple in our system | + | |
| - | + | ||
| - | < | + | |
| - | // called in every tuple at pass() | + | |
| - | def decidePropagation() -> boolean | + | |
| - | // specifies operations on the local TS | + | |
| - | def doAction | + | |
| - | // specifies operations on the tuple itself | + | |
| - | def changeTupleContent() -> tuple | + | |
| - | // if true -> note gets added to local TS | + | |
| - | def decideStore () -> boolean | + | |
| - | // if true -> tuple gets unexported | + | |
| - | *def decideDie() -> boolean | + | |
| - | </ | + | |
| - | + | ||
| - | (* new operation not in TOTA) | + | |
uf/guanotes.1222430103.txt.gz · Last modified: (external edit)
