Location Aware Information Agent over WAP

Tamkang Journal of Science and Engineering, Vol. 3, No. 2, pp. 107-115 (2000)
107
Location Aware Information Agent over WAP
Yuan-Kai Wang and Ying-Hao Lin
Department of Electronic Engineering
Fu Jen Catholic University
E-mail:[email protected], [email protected]
Abstract
Information agents on mobile computing environment
should adaptively provide information based on the changing
location of mobile users. The agent has to obtain user’s location
dynamically, and respond him the information or service
depending upon his geographical position. We propose a novel
framework for location-aware information agent that operates on
the Wireless Application Protocol (WAP) environment. There is
a locating module that can obtain user’s location by GSM
cellular network. A topology-based data model is devised to
represent geographical information. Search algorithm can find
location-dependent results from the topology graph. Search
results are organized as dynamic documents, which are Wireless
Markup Language (WML) cards and decks. Finally our
framework is implemented with Ericsson WAP simulation
environment.
1.
Introduction
Information agent[1] is autonomous
computational software entity that is especially
meant for to provide a proactive resource discovery,
and to offer value-added information services and
products. It is capable of providing transparent
access to one or many different information sources.
Furthermore, information agent retrieves, extracts,
analyzes, and filters data, monitors sources, and
updates relevant information on behalf of its users
or other agents. Information agent is able to fuse
heterogeneous data and to provide unified,
multi-dimensional views on relevant information to
the user.
Adaptive information agent[2] is an
information agent that has to deal with the change
of environment. It perceives the environment and
timely change to meet given design objectives. The
information is filtered according to the user’s
online activities such as location and time.
Due to the prevalence of mobile devices and
wireless data networks, mobile information access
has growing importance. It enables users to access
information ubiquitously, that is anywhere and at
any time. An adaptive information agent on a
wireless network should adapt itself to user’s
mobility and provide location aware information.
The information agent adjusts its responses
depending upon the user’s geographical location.
When the location changes, the answer is different.
This information system can allow user to search
items around their environment, such as the finding
of the nearest bookstores, or the finding of the
nearest train stations and then display train
schedule.
Information agent is an application-level
software that is independent of wireless
communication. The establishment of information
agent has to be on the top of a application-level
protocol. Wireless Application Protocol (WAP) [3]
is the specification for developing applications and
services that operate over wireless communication
network. WAP is a result of the WAP Forum that is
created by Ericsson, Motorola, Nokia, and Phone
(Unwired Planet). The specification extends mobile
networking technologies and Internet technologies.
A company or a person can make the information
available for mobile users by transforming the
documents into WAP devices. Although using a
desktop computer has become progressively easier,
WAP device has some characteristics such as light
or easy to use and carry that desktop computer con
Tamkang Journal of Science and Engineering, Vol. 3 ,No. 2 (2000)
108
not takeover. And it connects to the Internet via
wireless network instead of original network.
In this paper, we present a location aware
information agent that operates over WAP. To
provide location-dependent information service for
mobile user, a novel framework to transfer spatial
data to WAP client according to user location is
proposed.
Our framework devises the concept of
dynamic document which can automatically
change its document content according to the
position of mobile device. These documents are
organized with Wireless Markup Language (WML)
[4], which is a markup language based on the
eXtensible Markup Language (XML). The content
of spatial data could be a restaurant’s business
address or a timetable of the airport. As a spatial
data should be attached to its associated
geographical region, only relevant dynamic
documents can be transferred to a user.
A data model to represent spatial data
structure is important for location aware
information agent. We propose a topology-based
data model that uses graphs to construct
geographical information. The relation of roads in a
geographic area in the two-dimensional plane can
be described by a number of nodes and lines. Every
location-dependent information is transformed into
topology-based representation, and a neighborhood
search algorithm is accompanied to achieve the
information retrieval task of the agent.
2.
Related Works
In the past few years a number of
location-dependent services have been developed
[5, 6]. Mobisaic [7] is a World Wide Web
information system designed to serve mobile user.
Mobisaic extends the WWW by allowing
documents to refer and react to the current location
of clients. However, this system uses wireless
Ethernet network card to connect to the Internet.
The activity range was limited around the server.
The data may get lost if there are too many
holdbacks between the server and mobile clients.
Nelson et al [8] have developed a mobile
computing system. Their research focuses on
information gathering, data structure, query and
access control. Dunham [9] describes the concept
of location dependent data and how information to
manage mobile databases. They incorporate spatial
and temporal information into their location
dependent processing.
In the mobile arena, a number of groups have been
working on WWW clients for mobile computing. Most
of these works assume that clients have enough
processing power to run the applications on the mobile
device, or assume that clients will be connected to
network with high bandwidth. Virtual Information
Towers (VIT) [10] introduces a concept for presenting
and accessing location-aware information with mobile
clients. A VIT is a means of structuring location-aware
information, which is assigned to a certain geographical
position. Teranishi [11] describes a new framework for
location-dependent information service, called the
mobile object model. In this model, a service consists of
objects that contain both information and functions,
which are recomposed to a composite object according
to user status dynamically.For positioning, most of these
systems either use Differential Global Positioning
System (GPS) or infra-red identification signal for
positioning. Those positioning devices are not cheap,
and they usually need to occupy extra space. Our work
differs from those works. We propose a new location
module to get the location information of mobile clients.
3.
Data Modeling for Location
Information
Data modeling for location information is to
propose an approach to represent and manage
geographical information in mobile database. There
are many approaches to model geographical
information [12, 13]. In polynomial model,
information is described by means of polynomial
equalities and inequalities. In the topological data
model, information is handled without dealing with
the exact position. In the raster model, an object is
given by a set of point, and these points are equally
distributed.
In our model, geographical elements can be
roads, landmarks, and base stations. These
geographical elements have versatile and irregular
shape. Describe them precisely will complicate the
computation of location-dependent data. Our
application needs only to derive the neighborhood
relationship between mobile users and target
information. Precise computation, such as distance
and overlap ratio, is not concerned. Therefore,
topology-based approach is adopted in this paper.
To derive the spatial relationship between
mobile user and target information, the topology
that adopts roads as the basic geographical
elements is proposed. The model has to represent
the nearness of two roads A and B. There are three
nearness situations between two roads. The tail of
road A may connect to the head of road B. Road A
may cross road B. And road A may parallel road B.
The three situations are shown in Fig.1.
Yuan-Kai Wang and Ying-Hao Lin: Location Aware Information Agent over WAP
(c)
(b)
(a)
109
Figure 1. Three nearness situations between two roads
D
E
F
C
C
B
F
E
A
B
D
A
(b)
(a)
Figure 2. An example road map.
Neighborhood
database
Base station
database
Locating
module
Base station
ID
Base station
translation
Roads
Neighborhood
search
Yellow page
Search
result
Data
clustering
Dynamic
documents
Search algorithm
Figure 3. System architecture
Our model will represent the spatial nearness
relationship with undirected graph. An undirected
graph G is a 2-tuple, G = ( N , L), where N is a
set of labeled nodes, and L is a set of links.
Each node n ∈ N represents a road. A link
l ( A, B ) ∈ L represents that there is one of the
three nearness situations between roads A and B.
shown in represented by the graph illustrated in
Figure 2(b).
Geographical information is constructed
with the topology model. Since the basic
element in the model is a road, location
information, such as the position of mobile
user, the area of a landmark, and the area of
base station is positioned by roads. The
neighborhood search around the position of
mobile user, which is to find the neighbor
roads near the located road of mobile user, is
performed on the search of the graph.
4.
System Architecture
This section discusses the prototype system
we have implemented. The prototype connects to
the Internet over GSM at 9.6 Kbits/second, and for
positioning the base station ID of GSM telephony
system is used. Fig. 3 shows the modules required
to implement location-aware information system. It
can be broadly split into three steps: Base station
translate, Neighborhood road finding and Data
clustering. We first introduce the concept of
dynamic documents, and then describe the
Tamkang Journal of Science and Engineering, Vol. 3 ,No. 2 (2000)
110
interactions between
environment.
4.1
documents
and
user’s
4.2
Databases
The information agent has three databases.
They are base station database, neighborhood
database, and yellow page database. These
databases provide the geographical information and
location-dependent information.
Base station database stores the
information about the base station in GSM system.
Every base station gas an identifier,
which is called BS-ID. The coverage of a base
station is the area that subscriber can receive signal
from the base station. The coverage is usually an
irregular shape. We use road as the basic
geographical element to describe the coverage of
base station. Roads that cross the coverage of a
base station are considered to belong to the base
station. A road may belong to many base stations if
the road is long enough to cross many coverages.
Shown in Figure 4 are two base stations and
three roads. BS-ID1 has the coverage over roads A
and B, and BS-ID2 the coverage over roads B and
C. We store the coverage information of base
station in relation database.
Neighborhood database is the database to
deposit the graph in the data model. The graph can
be stored in the form of adjacency matrix, which
there are usually no more than twenty roads. For a
graph with one to ten thousand nodes, the
adjacency matrix becomes a sparse matrix. The
storage of the sparse matrix is realized with
relational database.
Yellow page database holds the target
information that mobile user wants to search for.
The database contains related information of
company/organization, such as the name address,
telephone number, and other public information.
An item in the database has an address, which
constitutes a geographical point in our spatial
database. However, the address of an item belongs
to a road. Therefore, we can relate an item in the
A
yellow page
neighborhood.
database
to
a
road
To detect user positions for providing
location dependent services, we uses the GSM
(Groups Special Mobile) to detect the
subscriber location information. Every base
station within a cell could be a position
generator. When someone makes a call, the
mobile device will take the nearest base station
to connect to the mobile network operator.
The BS-ID we obtain from the network
operator is called a location variable. This variable
represents a user’s active range. When user logs in
the system at other place, then the variable will be
updated.
Fig. 5 shows the architecture of the GSM
network. When a query is requested from a
mobile device. When a user connects to the
Internet over GSM, he route to the network
operator via a base station. As a result, our
system could get the Subscriber Location
Information form the operator, then we know
the area which the users are.
The drawback of this locating module is that
the user’s location cannot be found precisely. A
Differential GPS (Global Information System)
can position within the accuracy from 2 to 5
meters. Unlike the accurate information
provided by GPS, GSM system just returns a
region. Although GPS can integrate with
Geographic Information System (GIS) to
provide accurate location information, it is
difficult to maintain GIS data. Furthermore, the
geographic data stored in a vector or a raster
format is not appropriate for our topology-based
data model. This is why we do not consider
GPS as our positioning method.
Mobile Network
Operator
BSC
B
BS-ID2
Figure 4. The coverages of two base
the
Locating module
C
BS-ID1
in
BS-1
BS-2
Figure 5. GSM network
Yuan-Kai Wang and Ying-Hao Lin: Location Aware Information Agent over WAP
4.3
A problem at this module is the repetition of
roads during the search. We purpose an algorithm
that can filter the repeated roads. The way we deal
with the repeated nodes is that when a new node is
generated, we compare it with other nodes that we
find before. If the node is the same as any of the
node’s ancestors, then we ignore it. The roads after
filtering for the example in Figure 2 are shown in
Figures 7(d) and 7(e).
The roads obtained from the above module
are used to query yellow page database. We could
obtain the company information, like company
address, telephone number etc. Finally the
information will be sent to micro browser on the
mobile device. When accessing a service from a
mobile device, the screen size is limited. The
devices have smaller display to provide larger
portability. However the search result hundreds or
thousands. The small mobile device screen could
not show those data at one time. Thereby all
information will be classified into several subjects.
A simple form of such data would be filtered
by a list of keywords. Usually, the address of a
restaurant on a road should have the same road
name. So if we want to find a restaurant on a
specify road, we only need to find the road name at
first. Therefore, we classify the search result into a
list of road name. When a user selects any road on
the list, then the system will show the restaurant
names on this road. And if user want to see the
detail information of a restaurant, he can select the
option on the restaurant name list.
The search algorithm
There are three modules in the search
algorithm: base station translation, neighborhood
search, and clustering
The location variable obtained from
telecommunication operator is a base station
number. The number has to be converted into a set
of roads that are with the coverage. The base
station database is used to calculate the road
covered by the range of base station.
At some place, such as the rail station or
subway station, there are several base stations.
People may frequently connect to different base
stations because the distribution density of base
station is high. Although the base station is varying
within the place, the roads around these base
stations are the same. Thus the searching result is
the same.
Neighborhood search will take the seed roads
obtained from base station translation module to
find neighbor roads. It is performed by searching
the graph. We locate the seed nodes that
corresponds to the seed roads. For each seed node,
a breadth-first search is performed. Whenever the
breadth-first search goes further deeper, the
nearness is going far. That is, the root node of the
search tree is the seed node. The nodes at level 1 of
the search tree directly connect to the seed tree.
The nodes at level 2 connect to the nodes at level 1,
and are farther from the seed node. Since there is
usually more than one seed road, the neighborhood
search will result in a forest.
D
111
E
F
C
mobile user
B
BS-ID1
A
Figure 6 A mobile user within the coverage of BS-ID1 base station
Tamkang Journal of Science and Engineering, Vol. 3 ,No. 2 (2000)
112
C
B
F
E
D
D
A
F
E
F
A
B
C
E
B
(c)
(b)
(a)
B
D
F
E
(d)
A
C
(e)
Figure 7 Neighborhood search for the example in Figure 6.
4.4
Dynamic documents
Dynamic documents are spatial information
corresponding to a location that could address
various resources in mobile computing
environment. Those documents will change their
data values at different place or different time.
Mobile computing environment differs from
traditional network environment. The resources
for mobile device are usually more restricted to
network bandwidth and the area of device
display ability. In order to develop more
location-aware applications, we must define the
document type that can be accessed by WAP
device.
Dynamic documents are Wireless Markup
Language(WML) documents provided by the
service provider. For the data consistence reason,
we manage all the data in a centralized database
system. WML is WAP’s analogy to HTML used
on the WWW. WML is based on the Extensible
Markup Language (XML) which is a
programming language designed to fit small,
handheld
devices
used
for
wireless
communication. WML is based on deck/card
metaphor to specify a service. A dynamic
document may consist of one or several WML
decks. A collection of cards is called a deck. The
server sent a deck in one transaction. A card is
typically a unit of interaction with the user, but
the browser usually shows only one card at a
time. Sometimes the contents of a card may not
fit for the screen of WAP device so user has to
use the scroll bar to see the entire card. Dynamic
document is structured in WML decks and cards
to fit the small screen. When a service is
executed, the user navigates through a series of
cards.
Fig. 8 illustrated how the dynamic document
transformed to mobile device. When the service
response a request, the user condition will alter the
response document directly. Every condition, user
access time and/or location, will be evaluated to
find the best document, then it sent to the mobile
device. When the user moves to another place or
time has passed, it means that the user’s status
changes, so every condition should be re-evaluated
and a new document that match these condition
will be re-transformed.
Database
User environment
Time
Location
Service
New
Move
Figure 8 Dynamic documents
Yuan-Kai Wang and Ying-Hao Lin: Location Aware Information Agent over WAP
113
5. Implementation
Our agent is implemented on Windows NT
operating system. Fig. 9 shows the system
environment. The WAP client is an Ericsson R320
simulator. Figs. 10 and 11 show the interface of our
location aware information agent. Figs. 12 and 13 are
the dynamic documents that the agent generates
according to the user environment. The dynamic
document will change its content when the user
moves to other place.
In Fig. 10, a man is trying to find a restaurant
around him and then he use his WAP mobile phone to
connect to cellular network. The location module is
performed to detect the user’s location. Then the
system obtains the location with a base station
identifier “106011C2”, and prepares to find the
nearest roads around the user.
In Fig. 11, once the user’s location is obtained,
the system use it to query the base station database
and neighborhood road database. Neighborhood
roads around the user can be found. Usually, there are
many restaurants on a road, and their addresses will
have the common road name. So we can cluster these
restaurants into a WML deck. This WML deck
contains several road options, each option represents
the whole restaurants on the road.
By taking the road name as a keyword to query
the yellow page database, the restaurants on the road
could be found. In Fig. 12, the restaurants on the road
are displayed. User can select any restaurant that he
wants to go.
Fig. 13 shows the detailed restaurant
information. It is displayed after the anchor bar in the
Fig. 12 is selected. The detail information contains
the restaurant name, address and telephone number.
We can make a call to the restaurant in order to
make reservations.
Figure 10
Figure 12
Agent
CGI
Base station translation
Neighborhood road finding
Data clustering
WML
WML
Internet
Base station database
Neighborhood road database
Yellow page database
Figure 9 System environment
Ericsson
R320 WAP
simulator
Tamkang Journal of Science and Engineering, Vol. 3 ,No. 2 (2000)
114
Figure 11
much data is sent to WAP client.
Our system could be improved in the following
future directions:
z Adapt the service according to user
profiles. For example, the system can
record the user preference, such as what is
his favorite subject we classified and what
is his last behavior.
z Information for particular base station.
At a department store or a underground
supermarket, indoor base stations exist at
large building. There are much add-on
information around the indoor base station.
The add-on information could be a menu
for a restaurant or the end-of-season on
sale of clothes at a department store.
z Mobile
information
agent.
An
information agent that is programmed to
be able to travel autonomously in the
wireless networks is a mobile information
agent. An investigation of the benefits of
using mobile information agents for
efficient distributed database query
processing in large-scale heterogeneous
environment will be an interesting
research topic.
Reference
[1]
[2]
Figure 13
6.
Conclusions and Future Directions
Recent advances in mobile device and
wireless communication technologies have made it
possible that adaptive information agent has
location-dependent capability. Service providers
meet a big challenge in how to respond the market
demand rapidly. A service that responds to a client
request should take into account the user’s
characteristics, such as user’s location or user’s
personal preference.
This paper has proposed a new idea for
location-aware computing and the access of
information that is related to geographic locations
or areas in a mobile wireless environment. The
roads around user must be search first, so
information of stores or restaurants on the road
could be obtained. Data clustering must be applied
to location information to prevent from that too
[3]
[4]
[5]
[6]
Klusch, M. (Ed.). Intelligent Information
Agents. Springer, (1999).
Decker,K., Sycara, K. and Williamson,M.,
“Intelligent adaptive information agents,”
Journal on Intelligent Information Systems,
Vol. 9, , pp. 239-260. (1997).
Wireless Application Protocol, Wireless
application environment overview, Version
1.1,
available
at
http://www.wapforum.org/what/technical.ht
m, 04 November (1999).
Wireless Markup Language Specification,
Version
1.1,
available
at
http://www.wapforum.org/what/technical.ht
m, 16 June (1999).
Long, S., Kooper, R., Abowd, G. and
Atkeson, C., “Rapid prototyping of mobile
context-aware applications: The cyberguide
case study,” In Proceedings of The second
Annual International Conference on Mobile
Computing and Networking (MobiCom ’96),
Rye, NY, USA, , pp. 97-107, (1996).
Shilit, B., Adams, N., and Want., R.,
“Context-aware computing applications,”
In Proceedings of the First IEEE Workshop
Yuan-Kai Wang and Ying-Hao Lin: Location Aware Information Agent over WAP
on Mobile Computing Systems and
Applications, IEEE Press, pp. 85-90.,
(1994).
[7] Voelker, G. M. and Bershad, B.
N. ,“Mobisaic: An information System for A
Mobile Wireless Computing Environment,”
In Proceedings of the 1994 Workshop on
Mobile Computing Systems and Application,
(1994).
[8] Nelson, G. J.,
”User interaction with
Machines on the Move: Location Aware
Computing,” In Proceedings of the Fourth
Workshop on Enabling Technologies:
Infrastructure
for
Collaborative
Enterprises,, pp. 164 –170, (1995).
[9] Dunham, M. H., and Helal, A, “Mobile
Computing and Databases: Anything
New?,” SIGMOD Record, VOL. 24, No. 4, ,
pp. 5-9, December (1995)
[10] Leonhardi, A., Kubach, U., Rothermel, K.,
Fritz, A., “Virtual Information Tower – A
Metaphor for Intuitive, Location-Aware
Information
Access
in
a
Mobile
Environment,” The Third International
Symposium on Wearable Computers, pp.
15 – 20. , (1999).
[11] Teranishi, Y., Tanemo, F., Umemoto, Y.,
“Dynamic Object Recomposition for Active
Information
System
on
Mobile
Environment,”
In
Proceedings
of
International on Database Engineering and
Applications Symposium (IDEAS '97) , pp.
220 –228, (1997).
[12] Goense, D., Hofstee, J.W., Bergeijk, J. V.
“An information model to describe systems
for spatially variable field operationsm,”
Computers and Electronics in Agriculture,
VOL. 14, , pp.197-214, (1996).
[13] Paredaens, J., Kuijpers, B., “data models
and query languages for spatial databases,”
Data & Knowledge Engineering, VOL. 25, ,
pp.29-53, (1998).
Accepted: Sep. 20, 2000
115