MOVILTOOTH: CONTEXT-AWARE SYSTEM FOR MOBILE
PHONES BASED ON BLUETOOTH TECHNOLOGY
Juan P. Pece, Carlos Fern
´
andez, Carlos J. Escudero
Facultad de Informatica, University of A Coru
˜
na
Campus de Elvi
˜
na s/n, A Coru
˜
na Spain
Keywords:
Bluetooth, context-aware, position, location, mobility.
Abstract:
Nowadays the amount of accessible information across Internet is enormous. Context-aware systems try to
filter and to adapt that information to the environment of the user who requests it. This paper introduces a
context-aware system that uses the physical location of the request origin. The system is designed for mobile
devices using Bluetooth radio-frequency technology for data transfer and location system. The main feature
of the system is its low cost and simplicity.
1 INTRODUCTION
Fast development and penetration of mobile terminals
(phones and PDAs) are providing the necessary re-
sources to the user for retrieving information anytime
anywhere. Due to the inherent characteristics of mo-
bility of those systems, a line of research arises in a
natural way: context-aware systems (Chen and Kotz,
2000). From the first systems, as Cyberguide (Long,
1996), to Bluepulse project (Bluepulse, 2004), tech-
nologies have been changing, but the objectives are
still the same: to provide local information based on
the surrounding neighbourhood.
Before mobile technologies, information was ex-
tracted from fixed clients based on some limited para-
meters: date, time, kind of terminal, ip address, user
profile, · · · However, when considering mobile termi-
nals, a new dynamic parameter appears: geographic
location. The introduction of location information
opens a huge variety of new features services. Users
at a specific place primarily use services based on in-
formation of their direct neighbourhood.
Location information is obtained from a system
that estimates a mobile terminal position by using dif-
ferent physical phenomena and technologies (High-
tower and Borriello, 2001). If we use the geometric
properties of the received signal paths, we can make
some triangulation to provide location. This tech-
nique is one of the most popular between location sys-
tems (Bahl and Padmanabhan, 2000),(Priyantha et al.,
2000). However, triangulation techniques need com-
plicated algorithms to estimate the position of a user.
There exist simplified techniques to provide this loca-
tion. For example, by using previously observed fea-
tures of the environment and/or the presence/absence
of some signal in a short range, can be enough to
provide support for a context aware service. On the
other hand, any of the mentioned techniques can be
used with different technologies: radio-frequency, ul-
trasound, optical, proximity sensors, ...
Moviltooth, the system introduced in this paper, is
based on a technology that allows the communica-
tion and, simultaneously, acts as a positioning system:
Bluetooth (SIG, 2001c). This technology is widely
extended and adapts itself very well to the context-
aware problems (Ferrandez, 2003). Bluetooth is a
low-cost radio-frequency solution that provides links
between mobile terminals and a network. Coverage
range of Bluetooth devices is between 10 to 100 me-
ters (10 meters in mobile terminals). That makes
Bluetooth a good and simple mechanism to be used
as positioning system, based on the proximity to an
access point whose position is previously determined.
Moreover, Bluetooth gives us independence from the
phone carriers, providing a free access network.
This paper is structured as follows: section 2 de-
scribes the features of the developed system, the re-
sulting architecture and some implementation details;
section 3 introduces a test scenario, illustrating the
way Moviltooth works, and, finally, section 4 is de-
voted to the conclusions.
2 SYSTEM FEATURES
Moviltooth was developed with the following features
in mind:
144
Pece J., Fernández C. and Escudero C. (2005).
MOVILTOOTH: CONTEXT-AWARE SYSTEM FOR MOBILE PHONES BASED ON BLUETOOTH TECHNOLOGY.
In Proceedings of the Second International Conference on e-Business and Telecommunication Networks, pages 146-149
DOI: 10.5220/0001415901460149
Copyright
c
SciTePress
Simplicity and low cost. It is not necessary to
consider complicated algorithms to make triangu-
lation. Bluetooth network devices (network cards,
access points, · · · ) are low cost. Moreover, Blue-
tooth communication is free for the final user.
Common transport and location technology. Blue-
tooth technology allows us to use it for recovering
information and to estimate positions.
User transparency. Users ask for information by
using a standard protocol (HTTP), without intro-
ducing any context information. Location system
does not require any user interaction.
In order to provide these features it is necessary to
solve three basic problems:
Communication: The communication of the mo-
bile with the system is made through Bluetooth.
The system has several Bluetooth access points
(AP) distributed in the neighbourhood of places of
interest. This way, when a user, with its phone
and the Moviltooth application started, arrives to
a place of interest, it is connected to the closest
access point and sends a generic request of infor-
mation (i.e. a specific URL). The AP forwards the
request to the central server to which it is connected
by Internet or Intranet.
Location: The user always gets connected to the
system across an AP, whose position is known. The
server will identify the AP originating the request
and, therefore, it will obtain its location (neighbor-
hood). To let server know which AP is the origin
of the request, a parameter associated to it is sent
to the server. In our case, it is transmitted the phys-
ical address of the AP. The server has a database
mapping the APs physical addresses to their loca-
tions. Specific information, adapted to the context
of location, is return as a response. Bluetooth is
used, therefore, to solve the location with a simple
system based on the proximity to an access point.
Navigability: HTML language is very suitable to
send information to the phone. This language al-
lows to incorporate links that allow navigation be-
tween information. Information is generated by
a content management system implemented as a
Web application. The phone uses a Browser that
allows to display the HTML pages and to use
the links. For the development of the prototype,
cHTML (compact HTML) (Kamada, 1998) was
used. cHTML is a subset of HTML contemplated
by the W3C (World Wide Web Consortium), very
suitable to small devices as mobile phones.
2.1 Architecture
The proposed system consists of three hardware com-
ponents. The global architecture scheme achieved is
shown in figure 1
Figure 1: System’s architecture
2.1.1 Components
Next we explain the three hardware components and
their corresponding applications.
Mobile phone: The main component of the mo-
bile phone application is a small web browser. This
browser uses Bluetooth to send and to receive the
information. It is written en J2ME (Java 2 Micro
Edition) and uses the standard Sun’s JABWT API
as Bluetooth protocol stack, (Klingsheim, 2004),
(Qusay, 2003), (Hui, 2004).
It looks for system access points and requests in-
formation when a connection is ready. Once it
has got connected to an AP, the user can navigate
trough the information using the links of the re-
ceived pages. It is not allowed to the user to in-
troduce URLs by himself, that means, it is only al-
lowed to go to the main page URL, that have infor-
mation depending on the location of that AP, then,
navigate across the links. It is not a question of de-
veloping a web browser but a context-aware system
with web interface, that makes use of a part of the
already existing technologies in the Internet envi-
ronment.
Access Point: For the development of the proto-
type the AP was a PC with a bridge application. Its
objective is to act as a connector between the appli-
cation of the mobile, and the Web application.
It is always waiting for connections and, when it
receives one, it redirects the requests to the server
adding its physical address as a parameter.
Bridge application was written in C language and,
to access to the Bluetooth adapter, it uses blueZ
(Holtmann, 2003), the official Linux Bluetooth
protocol stack.
The design of the bridge application can be divided
in three parts:
tohttp library: It contains the necessary functions
for exchange information with the Web applica-
tions server, using the HTTP protocol.
MOVILTOOTH: CONTEXT-AWARE SYSTEM FOR MOBILE PHONES BASED ON BLUETOOTH TECHNOLOGY
145
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
3 TEST SCENARIO
In order to test our prototype system, we designed the
following test scenario. Two PCs, working as access
points, were installed in two laboratories. Bridge ap-
plication was running in both PCs. There was another
PC working as a server. We started the mobile appli-
cation near PC 1 in laboratory 1, and then we moved
to PC 2 in laboratory 2.
Figure 2: Screenshot
Figure 2 shows the phone screen when we are near
PC 1. Once connected, we can follow the ”View in-
formation” link and go to the location page. Access
point 1 is supposed to be in the tower of Hercules (a
Roman lighthouse of La Coru
˜
na, Spain). We can see
the information about the tower by following the link
”More information”.
While reading, we move from position 1 to position
2. At this moment the system automatically detects
that the connection is disabled there. We have to press
”search AP” option. In about 10 seconds another AP
is detected. Once connected to this AP the system
will show us the page of the state house, as AP 2 is
supposed to be near the state house.
4 CONCLUSION
This paper introduced a context-aware system based
on Bluetooth technology for mobile phones, called:
Moviltooth.
Moviltooth was developed to provide a simply low-
cost context aware information system suitable for
mobile devices (cellular phones, in particular). Blue-
tooth was selected as the medium access technology,
since it provides at the same time transport and lo-
cation mechanisms. Moreover, its low cost, indepen-
dence of comercial networks and support in many mo-
bile devices, give a promising future of Moviltooth.
A Moviltooth user only needs a mobile device run-
ning a J2ME application. When it arrives close to a
place of interest, the device will connect with the sys-
tems, providing information adapted to that location.
ACKNOWLEDGMENTS
This work has been supported by the Xunta de Gali-
cia, grant number PGIDITSIN105002PR.
REFERENCES
Bahl, P. and Padmanabhan, V. N. (2000). Radar: An in-
building RF-based user location and tracking system.
In INFOCOM (2), pages 775–784.
Bluepulse (2004). Bluepulse pty ltd, 2004. information
available at: http://www.bluepulse.com , last accessed
9 march 2005.
Chen, G. and Kotz, D. (2000). A survey of context-aware
mobile computing research. Technical report, Dept. of
Computer Science, Darmouth College.
Ferrandez, D. (2003). Bluetooth technology based network
support systems for development of context-aware ap-
plications. Master’s thesis.
Hightower, J. and Borriello, G. (2001). Location systems
for ubiquitous commputing. IEEE Computer Maga-
zine, pages 57–66.
Holtmann, M. (2003). Bluez - official linux bluetooth proto-
col stack. available at: http://www.bluez.org, last ac-
cessed 9 march 2005.
Hui, B. (2004). Benhui.net - source for j2me bluetooth
mobile 3d midp 2.0. http://benhui.net, last accessed 9
march 2005.
Kamada, T. (1998). Compact HTML for Small Information
Appliances. W3C Note.
Klingsheim, A. (2004). J2me bluetooth programming.
avaliable at: http://wireless.klings.org, last accessed 9
march 2005. Master’s thesis.
Long, S. (1996). Rapid prototyping of mobile context-
aware applications: The cyberguide case study. In
MobiCom’96, 2nd ACM International Conference on
Mobile Computing and Networking.
Priyantha, N., Chakraborty, A., and Balakrishnan, H.
(2000). The cricket location-support system. In Mo-
biCom’00, 6th ACM International Conference on Mo-
bile Computing and Networking.
Qusay, M. (2003). Wireless Application Pro-
gramming with J2ME and Bluetooth. Avail-
able: http://developers.sun.com/techtopics/-
mobility/midp/articles/bluetooth1, last accessed
9 March 2005.
SIG, B. (2001a). L2CAP Specification. Available at:
http://www.bluetooth.org, last accessed 10 March
2005.
SIG, B. (2001b). RFCOMM with TS 07.10. Available
at: http://www.bluetooth.org, last accessed 10 March
2005.
SIG, B. (2001c). Specification of the Bluetooth
System - Core. Version 1.1. Available at:
http://www.bluetooth.org, last accessed 10 March
2005.
MOVILTOOTH: CONTEXT-AWARE SYSTEM FOR MOBILE PHONES BASED ON BLUETOOTH TECHNOLOGY
147