[doc] aggregatord: add ASCII art sequence diagram

This commit is contained in:
Matteo Cypriani 2013-10-03 12:26:01 -04:00
parent 3a14fa17e9
commit 8692a1ba9b
1 changed files with 74 additions and 0 deletions

View File

@ -68,6 +68,9 @@ is first seen:
When the delay has passed, the request is deleted from the memory.
This process is illustrated in the section “**Sequence diagram**” below.
When using autocalibration, OwlPS Aggregator also acts as a scheduler
for the transmission of the autocalibration requests. The capture points
from which a //hello// message was received are registered and, if at
@ -200,6 +203,77 @@ If unknown, the coordinates are set to “0.00” and the orientation to
= Sequence diagram =
This sequence diagram of the positioning process of OwlPS illustrates
the two-timer mechanism of OwlPS Aggregator. In this example, the mobile
terminal (Client) transmits a positioning request; a capture point
(Listener) captures it and forwards it to the aggregation server
(Aggregator) along with the measured signal strength (SS). When it
receives this message, the aggregation server starts the aggregation
timer; shortly after, it receives another message corresponding to the
same request, which it stores along with the first message (“added”).
Once the timeout is reached, the aggregation server forwards the
information of both messages to the positioning server (Positioner)
 which starts immediately to compute the mobile terminal's position 
and starts the keep timer. While this timer is still running, it
receives a new message corresponding to the same request; this time, the
message is ignored. Would it receive again a new message corresponding to
the same request after the timeout, it would however consider it as a
new request and would start a new aggregation timer. Note that it
doesn't matter whether or not the three messages come from different
capture points.
```
,------. ,--------. ,----------. ,----------.
|Client| |Listener| |Aggregator| |Positioner|
`--+---' `---+----' `----+-----' `----+-----'
,-. positioning ,-. | |
| | -------------->| | | |
| | request | | | |
| | | | request + SS ,-. |
| | | |--------------->| | ----. aggregation |
| | | | | | | timer |
| | | | | ,-.<---' |
| | | | | |T| |
| | | | | |T| |
| | | | | |T| |
| | | | request + SS | |T| ,------. |
| | | |- - - - - - - ->| |T| |added \ |
| | | | | |T| `-------' |
| | | | | |T| |
| | | | | |T|----. |
| | | | | |T| | timeout |
| | | | | `-'<---' |
| | | | | | aggregated request ,-.
| | | | | |---------------------->| |
| | | | | | -----. | |
| | | | | | | keep timer | |
| | | | | ,-.<---' | |
| | | | | |T| | |
| | | | | |T| | |
| | | | | |T| | |
| | | | request + SS | |T| ,--------. | |
| | | |- - - - - - - ->| |T| |ignored \ | |
| | `-' | |T| `---------' | |
| | | | |T| | |
| | | | |T|----. | |
| | | | |T| | timeout | |
| | | `-^-'<---' | |
| | | computed | | |
| | <-----------------------------------------------------------| |
`-' | position | `-'
,--+---. ,---+----. ,----+-----. ,-----+----.
|Client| |Listener| |Aggregator| |Positioner|
`------' `--------' `----------' `----------'
```
The PlantUML source file for this figure is provided along with the
OwlPS distribution, in the ``doc/figures/`` directory.
= Files =
: //{{INSTALL_PREFIX}}/etc/owlps/owlps-aggregator.conf//