Several heterogeneous positioning systems are currently widespread. Here we focus our attention on three of them, GPS, Ekahau and BTProximity, because they exemplify positioning system heterogeneity, in terms of exploited positioning technique (e.g., triangulation, proximity), provided information (e.g., physical, symbolic location), and positioning delivery mode (e.g., on demand, event-driven). In particular we present BTProximity, our privacy-enabled Bluetooth-based original positioning system.
For additional information about posititioning systems see "Location and Positioning Systems in Wireless LANs".
Global Positioning System
GPS provides physical location information in terms of latitude, longitude, and altitude: no additional transformation actions on determined positioning data are required. Our GPS PSW gathers information from a GPS device communicating through a serial port (e.g., also via Bluetooth accessed as if it were a serial port), by exploiting the standard Java Communication API; that permits to achieve full portability independently of the underlying operating system. In particular, when the State feature is on, the GPS PSW reads and parses NMEA 0183 sentences to achieve location information from the wrapped GPS positioning system. When that info is valid, i.e., the GPS device has a 2D or 3D fix, the PSState info value is set to on. The privacy level is fixed at the maximum value because the node computes its location in a completely decentralized manner, without any support by external nodes (excluding satellites). Finally, the GPS accuracy is dynamically inferred from the Horizontal Dilution Of Precision (HDOP), a GPS-specific value dependent on the current configuration of the satellite constellation. In particular, our experiments have pointed out a rather linear relationship between HDOP value and accuracy in meters (see the figure below). Therefore, the GPS PSW sets accuracy to 9 when HDOP is close to 0, to 0 when HDOP is greater than 30, and to linearly determined intermediate values otherwise.
Experimental results about HDOP/accuracy relationship.
Ekahau can provide both physical and symbolic location data via event-driven API. However, positioning info is provided in relation to Ekahau internal maps; therefore, the Ekahau PSW must perform additional actions to transform gathered location info accordingly to the proposed ontology. In particular, the Ekahau PSW transforms physical coordinates and logical areas related to Ekahau maps into latitude, longitude, and altitude and layered location information, respectively, by exploiting additional context data related to maps. To this purpose, the only requirement is that Ekahau administrators orient their Ekahau maps to north and specify their top-left and bottom-right point coordinates, altitude, and possibly higher layers location information. When State is off, the Ekahau PSW stops locally gathering and sending RSSI information to EPE, with the benefit of relevantly limiting power consumption. To this purpose, we do not exploit the proprietary non-controllable Ekahau client but our own original and more flexible Ekahau client implementation. The Ekahau privacy level is limited: in fact, to gather RSSI values, the IEEE 802.11 node to be positioned must turn on its wireless card, thus providing a certain degree of knowledge of its location. Moreover, when the EPE server is not local (the location estimation is made by an EPE server not running on the client to be positioned), the privacy level is lower because of the disclosure of location info to that EPE server. Finally, let us note that in the Ekahau case it is possible to tune accuracy: Ekahau allows to receive either an accurate or a latest computed location.
JSR-179 Location API for J2ME
Finally, the JSR-179 PSW provides a generic wrapper to every JSR-179 compliant positioning system. If made available by the compliant positioning solution, the JSR-179 PSW provides both physical and symbolic information. To test our implementation, we have developed a simple software module that encapsulates a GPS device by offering an interface that partially implements the JSR-179 API.
BTProximity only provides symbolic information via event-driven API, directly in the form required by the ontology. The BTProximity PSW accuracy depends on the number of locations provided; when only one location is provided, the accuracy is 8 (Bluetooth short range ensures great accuracy), when multiple locations are provided (e.g., because the privacy level is set to high) the accuracy level is 6.
Additional details about BTProximity
BTProximity is our original positioning system with user privacy capabilities, based on proximity techniques and Bluetooth communication technology. In particular, BTProximity simply associates one node with the location of the closest reference point, i.e., Bluetooth device, whose distance is inferred by exploiting baseband connection RSSI.
Proximity positioning technique is based on the dissemination of reference points with an associated location. The user location is the same of the nearest reference point. In our scenario a reference point is a Bluetooth device; the mobile node location is the same of the closest Bluetooth device. For example, the figure below shows two reference points, RPa and RPb associated respectively to LocA and LocB locations, and a mobile node (MN). Since the mobile node is closer to RPb, its location is LocB, the same associated to RPb.
Proximity positioning technique.
Adopting BTProximity positioning system, mobile nodes get their location autonomously, through a three-step procedure: mobile nodes
- listen to reference point broadcast messages;
- connect to nearby reference points and gets Received Signal Strength Indication (RSSI); (testare con Link Quality invece di RSSI)
- associate its location to the closest reference point one, that is, the reference point with strongest RSSI.
To perform the above procedure, each Bluetooth reference point periodically broadcasts a message to notify its presence (Bluetooth Inquiry Scan mode); in particular it broadcasts its MAC address. Mobile nodes listen to broadcast messages. If only one reference point is visible, i.e., the mobile node is in the transmission range of only one reference point, the mobile node univocally assigns its position as the visible reference point one. However, it may happen there are several visible reference points. In this case the mobile node connects to every reference point and collects each connection RSSI. The closest reference point is the one with strongest RSSI and its location is mobile node location too. Let us stress mobile node-reference point connection is mandatory, since Bluetooth protocol supplies RSSI only for connected remote devices.
Reference point broadcast (left) and mobile node connection (right).
BTProximity specifically works on privacy management functions: user privacy is achieved by carefully hiding node presence to reference points, that is not revealing to infrastructure nodes where the node is notwithstanding the node exploits reference points to determine its location. BTProximity supports the provisioning of three possible privacy levels: low, medium, and high. Each privacy level corresponds to a different Bluetooth device configuration and a different accuracy level, as better detailed in the following. In particular, when BTProximity privacy level is
- Low, the Bluetooth node periodically broadcasts a message, as reference points do, by revealing its presence to anyone (the Bluetooth node is in Page/Inquiry Scan mode [ref Bluetooth]);
- Medium, the Bluetooth node does not broadcast messages but only accept incoming connections (the Bluetooth node is in Page Scan mode). If an external device knows the Bluetooth node MAC address, it could try to connect to it, by performing a sort of blind connect; if the connection attempt is successful, node location is revealed. Moreover, the Bluetooth node connects to visible reference points to determine RSSI values, by potentially revealing its presence (the Bluetooth protocol requires active baseband connections to determine RSSI);
- High, the Bluetooth node completely hides its presence (stealth mode – it is in No Scan mode). The Bluetooth node neither broadcasts messages nor accepts incoming connections; it can only listen to reference points broadcasting messages. To maximize user privacy, the Bluetooth node does not even connect to reference points. Since without connection the RSSI data is not available in Bluetooth, the Bluetooth node cannot understand which is its closest reference point. In this case, BTProximity provides, as current location, the set of locations of all reference points in the radio communication range.
Let us rapidly observe that BTProximity accuracy relevantly depends on required privacy level: the high-privacy level is intrinsically associated with a significantly lower accuracy than low and medium BTProximity privacy levels.