– tobt library: It contains the functions necessary
for the exchange of information with the browser
through Bluetooth, using the RFCOMM proto-
col.
– sicd daemon: It is the main function. It uses the
two previous libraries to act as a bridge between
mobile and server. Also, the first time that is exe-
cuted, it has to be registered in the Bluetooth ser-
vices database of the device, to be visible from
other devices.
• Server: Server subsystem is a Web application that
provides the HTML content, according to the re-
quest and to the physical address, received from the
bridge (as a URL parameter).
It contains the information corresponding to the
different neighborhoods. The sub-set of HTML,
cHTML (compact HTML) was used to transmit the
information.
A XML file represents the map that relates the
Bluetooth address of every AP to its physical lo-
cation. The default URL of the Moviltooth appli-
cation corresponds with a JSP code that uses JSTL
tags read the content of the map described previ-
ously. Then, using the ”source” parameter that the
URL should include, it chooses the correct point in
the map and it configures the response. When AP
address does not correspond with any point of the
map, ”PAGE NOT FOUND” message is returned.
There are other parameters that can be used to gen-
erate the response. One possibility is to adapt the
information to the kind of target device, according
to its characteristics (screen size, multimedia capa-
bilities). Another possibility is to have a users data-
base and to adapt the information to the profile of
each user.
2.1.2 Communication between subsystems
Once a connection has been established between the
mobile and the AP, the communication process begins
and it has the following steps:
1. When the user fetches a link in a page of the sys-
tem, the mobile sends the URL requested to the AP
using the Bluetooth connection. The first time that
the user requests information, the application uses
a fixed URL defined by default.
2. When the AP receives a URL from the mobile, it
adds its physical address as parameter. Then, it
opens a socket against the server and it sends to the
server a HTTP request, with the above mentioned
URL.
3. The server receives the HTTP request, and
processes it. Then, it sends the adapted response
to the AP.
4. Finally, the AP receives the HTTP response (head
and content) and sends it to the mobile using the
Bluetooth connection.
Therefore, we have two communication process:
Bluetooth communication and HTTP communica-
tion.
• Bluetooth Communication: A Bluetooth connec-
tion is established between the mobile device and
the access point. This connection keeps opened
while the mobile is inside the radio of Bluetooth
coverage of the AP.
There are two kinds of information exchanged be-
tween the mobile and the AP: requests of pages
from the mobile to the AP (by using URLs) and
server responses (that includes HTTP head and
HTML content of the requested page) from the AP
to the mobile. Two protocols can be used for estab-
lishing the connection between the bridge applica-
tion and the browser of the mobile phone: L2CAP
(SIG, 2001a) and RFCOMM (SIG, 2001b). RF-
COMM was the selected protocol to be used in
Moviltooth. This protocol was developed to trans-
mit information as a stream, not by packets. Con-
sidering a stream between the two ending-points
of the connection, information is transmitted any
time from one side, and it is received on the other
side asynchronously. Moreover, it is guaranteed
the same order for reading and writing information.
Thus, the mobile sends a URL for the stream and
reads the response in the same stream, once the AP
has written it.
• HTTP Communication: A HTTP connection is
opened between the AP and the web server. The
Web application is installed in a Web application
server. HTTP connection is independent of the
Bluetooth communication, so it is not necessary to
develop anything special, just the web application.
2.2 Limitations
Since Moviltooth is in its first realese, it presents two
main limitations:
First, the coverage range of Bluetooth mobile
phones is 10 meters. Although it is a good feature that
we use for the positioning system, it can be a problem
if we want to give Bluetooth coverage in a wide range.
The solution is quite simple: to place several APs in
each interesting place. Moreover, bluetooth APs are
not expensive.
Second the maximum number of active devices that
can be connected to an Ap at the same time is 7, due
to Bluetooth specification (the maximum number of
devices in a piconet is 8). Again, if we place several
access points in each place of interest, we can provide
access to more users.
ICETE 2005 - WIRELESS COMMUNICATION SYSTEMS AND NETWORKS
146