The principal idea behind the PLIM framework is to use a straightforward publish-subscribe mechanism to distribute context information between different entities (users, services) in a network. Many forms of context information exist, but sofar we have focused on location and presence. An infrastructure of Bluetooth 'location provider' access points is used to obtain the indoor location of a user. The existing open source Jabber instant messaging server is used and adapted to implement the publish-subscribe mechanism for both presence and location information.
Mobile user moving from room to room, sending location updates to the PLIM/Jabber server. Location is determined using an infrastructure of 'location provider' bluetooth access points.
The mobile user holds a PDA that runs the PLIM PDA client. This client connects to the PLIM/Jabber server to update presence and location. It uses the PDA Bluetooth interface to determine which Bluetooth location provider is closest and retrieves the current location from this provider. The assumption is that Bluetooth technology will become so obiquitous that, in a typical home/office environment, many devices may act as location provider. And that Bluetooth interfaces will be available in many mobile devices (laptops, PDA's, phones). When Bluetooth location providers are from the lowest power class, communication range is approximately 10m. With such location providers, the indoor location can often be determine with a room level granularity.
An HP/Compaq iPAQ 3870, equipped with an expansion pack and a Digianswer Bluetooth card, running the PLIM Pocket PC client application. Click for a larger picture.
For testing and simulation purposes, a Java client library was developed. A few simple clients are part of this library. They can be used to simulate location updates, manipulate the presence and location rosters, or to register a new user.
Part of a Scalable Vector Graphics (SVG) based PLIM web client (not available for download). Location is expressed in a visual manner, using a map of the building.
Required software and hardware
Building and configuring
-
PLIM/Jabber server: as with the regular Jabber 1.4.2 server.
-
PDA client: follow the instructions in the README file.
Java library/clients: comes with a prebuild jar file that can be used to start the clients. See also the README and Configuration.html files. The 'rcl' client can be used to register new users with the PLIM/Jabber server. The 'fcl' client can be used to generate subscriptions between users (tedious).
-
Bluetooth location provider access points: enable connection sharing on the fixed interface. The access points currently provide IP connectivity to the PDAs using the (proprietary) Ethernet profile.
Publications:
This work is part of the GigaMobile project.