diff --git a/doc/owlps-aggregatord.t2t b/doc/owlps-aggregatord.t2t index 00adad3..bbda9ef 100644 --- a/doc/owlps-aggregatord.t2t +++ b/doc/owlps-aggregatord.t2t @@ -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//