2013-01-11 22:47:17 +01:00
|
|
|
|
The Owl Positioning System's Architecture
|
|
|
|
|
OwlPS {{OWLPS_VERSION}}
|
|
|
|
|
11 January 2013
|
|
|
|
|
|
|
|
|
|
%%%
|
|
|
|
|
% Man title & section:
|
|
|
|
|
%!postproc(man): "^(\.TH.*) 1 " ".TH owlps 7 "
|
|
|
|
|
% Fix .TH, add NAME section and TABLE OF CONTENTS title:
|
|
|
|
|
%!postproc(man): "^(\.TH.*)$" "\1 OwlPS\ User\ Manual\n.SH NAME\nowlps-architecture - The Owl Positioning System's Architecture\n\n.SH TABLE OF CONTENTS"
|
|
|
|
|
% Add the table of contents:
|
|
|
|
|
%!options(man): --toc
|
|
|
|
|
% Man "links":
|
|
|
|
|
%!preproc(man): "(owlps)\.t2t" "**\1**(7)"
|
|
|
|
|
%!preproc(man): "(owlps-deployment)\.t2t" "**\1**(7)"
|
|
|
|
|
%!preproc(man): "(owlps-[^ ]*)\.t2t" "**\1**(1)"
|
|
|
|
|
%!preproc(man): "(owlps-[^ ]*\.h)" "**\1**(3)"
|
|
|
|
|
%%%
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ Architecture and protocol overview +
|
|
|
|
|
|
|
|
|
|
OwlPS' architecture is composed of several modules, which communicate
|
|
|
|
|
through a four-step protocol, from the positioning request transmitted
|
|
|
|
|
by the mobile terminal to the treatment of the position computed by the
|
|
|
|
|
positioning server:
|
|
|
|
|
+ positioning request transmission,
|
|
|
|
|
+ signal strength measurement,
|
|
|
|
|
+ aggregation of the measurements corresponding to the request,
|
|
|
|
|
+ position computation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Each step of this protocol corresponds to a different module:
|
|
|
|
|
|
|
|
|
|
: **The mobile terminals**
|
|
|
|
|
A mobile terminal can be any Wi-Fi-enabled device, such as a laptop, a
|
|
|
|
|
smartphone, a PDA, a hand-held gaming console, etc. The mobile
|
|
|
|
|
terminals transmit positioning requests which consist in a bunch of
|
|
|
|
|
UDP packets, thanks to the //OwlPS Client// module – see
|
|
|
|
|
owlps-client.t2t.
|
|
|
|
|
|
|
|
|
|
: **The capture points** (CPs)
|
|
|
|
|
Capture points capture the packets transiting on the radio network and
|
|
|
|
|
filter them, in order to extract the positioning requests transmitted
|
|
|
|
|
by the mobile terminals. From each request, they extract the main
|
|
|
|
|
information needed to compute the mobile terminal's position, i.e. the
|
|
|
|
|
signal strength, and send the information to the aggregation server.
|
|
|
|
|
They run the //OwlPS Listener// module; a capture point can be any
|
|
|
|
|
device with a Wi-Fi interface whose driver offers a support for
|
2013-06-12 18:32:12 +02:00
|
|
|
|
//Radiotap// – see owlps-listenerd.t2t.
|
2013-01-11 22:47:17 +01:00
|
|
|
|
|
|
|
|
|
: **The aggregation server**
|
|
|
|
|
The aggregation server collects all the information from the capture
|
|
|
|
|
points, aggregates them (according to the mobile terminal's MAC
|
|
|
|
|
address and the request timestamp, that together form a unique
|
|
|
|
|
identifier), and forwards them to the positioning server. This is done
|
|
|
|
|
by the //OwlPS Aggregator// module, which can run on a fairly modest
|
2013-06-12 18:32:12 +02:00
|
|
|
|
hardware – see owlps-aggregatord.t2t.
|
2013-01-11 22:47:17 +01:00
|
|
|
|
|
|
|
|
|
: **The positioning server**
|
|
|
|
|
The positioning server, or computation server, takes as an input the
|
|
|
|
|
data from the aggregation server, and outputs the computed positions,
|
|
|
|
|
thanks to the //OwlPS Positioner// module, described in detail in
|
2013-06-12 18:32:12 +02:00
|
|
|
|
owlps-positionerd.t2t.
|
2013-01-11 22:47:17 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
+ Coordinate system +
|
|
|
|
|
|
|
|
|
|
OwlPS uses a coordinate system relative to the deployment area. The
|
|
|
|
|
coordinates can be negative, and the origin can be set to any point,
|
|
|
|
|
according to the constraint of the deployment area. As a convention, we
|
|
|
|
|
generally set the origin at the South-West corner of the area, in order
|
|
|
|
|
to avoid negative coordinates, but that is not a requirement.
|
|
|
|
|
|
|
|
|
|
All the coordinates are in metres, and it is also mandatory that all the
|
|
|
|
|
distance measurements provided in the positioning server's configuration
|
2013-06-12 18:32:12 +02:00
|
|
|
|
be in metres – see owlps-positionerd.t2t.
|
2013-01-11 22:47:17 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= See also =
|
|
|
|
|
|
2013-06-12 18:32:12 +02:00
|
|
|
|
owlps.t2t, owlps-client.t2t, owlps-listenerd.t2t, owlps-aggregatord.t2t,
|
|
|
|
|
owlps-positionerd.t2t
|