Content area
The aim of this research is to enable web-based tracking and guiding by integrating location-awareness with the Worldwide Web so that the users can use various location-based applications without installing extra software. The concept of web-based tracking and guiding is introduced and the relevant issues are discussed regarding location-aware web systems, location determination, location-dependent content query and personalized presentation. The framework of the web-based tracking and guiding system - the Web-Based Guide is proposed, and its prototypical implementation is presented. The main design principles are making use of existing web technologies, making use of available and cheap devices, general-purpose and lightweight client-side, and good scalability. The paper presents the general-purpose and modular framework of the Web-Based Guide, which consists of the Location Server, the Content Server, the Guiding Web Server and the clients which are standard web browsers extended with the Location Control. With such a framework, location-based applications can offer the services on the web. The performance of the system should be evaluated and improved, such as the number of the concurrent sessions that the system can sustain, and the workload on the system when in the tracking mode. The paper proposes a framework for personalized tracking and guiding systems on the web, which can be used in campuses, museums, national parks and so on. [PUBLICATION ABSTRACT]
Selected papers from the TERENA networking conference 2008
Edited by Diego R. Lopez [RedIRIS, Madrid, Spain]
1. Introduction
Context is the information that characterizes the situation and environment in which a computer is operating. One of the most important types of context information is location, which is a crucial ingredient in many ubiquitous computing applications. Knowledge of location makes it possible to reason what people are doing and what they are interested in, therefore, to determine what information to present and in what way. Development of positioning technologies and wide deployment of wireless networks have given rise to location-based services, which are predicted as the next mass-market opportunity for device manufacturers, network operators and content providers. Such applications provide users with services that are tailored to their locations. Most existent location-based applications are either standalone programs running on mobile devices or applications working in client-server mode. The majority lack generality, as they are designed to serve a particular purpose in a particular environment. Different applications require different software to be installed on a user's mobile device. As a consequence, the user has to maintain various location-based applications. There is a great need for a general solution. At present, the World Wide Web is the platform for communication, research, business and many other things. With no further software other than a standard web browser, users are able to access information from all over the world. Integrating location information into web systems enables users to use various location-based applications and services without installing extra software.
In this paper we propose the concept and the framework of a web-based tracking and guiding system - the Web-Based Guide, and describe its prototypical implementation. The typical application scenarios of the framework are in the local areas covered by WLAN (for data communication and positioning), such as campuses, botanical gardens, conferences, and museums. The paper is organized as follows. Section 2 gives a short review of the related work. Section 3 introduces the concept of web-based tracking and guiding and the relevant issues. Section 4 presents the framework of the Web-Based Guide. The prototypical application and its implementation are described in Section 5. Section 6 concludes the paper and presents directions for future work.
2. Related work
Tremendous research has been conducted on location-based services over the years ([26] Schwinger et al. , 2005; [6] Baus et al. , 2005; [3] Baldauf et al. , 2007). The Active Badge Location System ([29] Want et al. , 1992) is considered to be one of the earliest location-based applications, which provides the location of people in an office environment using infrared badges carried by people and sensors placed around the building. Mobile tourism is probably the most researched area for location-based services. CyberGuide ([20] Long et al. , 1996) provides location-based information to the tourists using infrared beacons indoors and Global Positioning System (GPS) outdoors. GUIDE ([10] Davies, 2001) provides context-sensitive information, tailored tours, and interactive services about the city of Lancaster, UK, to the visitors through a high-speed wireless network and determines the position based on the closest 802.11 access point. MobiDENK ([19] Krosche, 2004) is a mobile and location-aware multimedia information system for historical sites built on the modular Niccimon platform ([4] Baldzer et al. , 2004) which provides application-independent functionalities needed by location-aware applications such as location sensing, location visualization and presentation. Other location-based tourism services include Hippie ([23] Oppermann and Specht, 2000), the nomadic exhibition guide, CRUMPET ([24] Poslad, 2001), providing information delivery services for a heterogeneous tourist population, and PEACH[1], used in cultural institutions. In the educational area, ActiveCampus[2] is a suite of location-based services for educational networks that has been deployed on the campus of University of California, San Diego. For instance, ActiveClass enables collaboration between students and professors for class interaction, and ActiveCampus Explorer uses a student's context, such as location, to help with his or her daily campus life. In the area of care, Safe & Sound ([21] Marmasse and Schmandt, 2003) uses location-aware mobile phones to create a "virtual leash" that allows parents to monitor their children's locations. In other areas, GeoNotes ([13] Espinoza et al. , 2001) argues that users should be allowed to participate as content providers and presents the content-based and social filtering techniques to prevent information overload and user disturbance. In the Nexus project (spatial world models for mobile context-aware applications)[3], a context-sharing platform was developed that allows for global open context access of different applications.
With regard to the integration of location-awareness and the web, the concrete research is still limited, but is getting more and more attention. GPSWeb ([8] Carboni et al. , 2004), aiming to provide GPS support for web browsers, introduces the concept of location-based browsing and proposes to use the location as a new metadata in HTTP requests. Its implementation is based on a modified Mozilla web browser and a listener object written in Javascript which observes any new HTTP request and adds the location information to the headers of the request. A daemon program fetching and parsing the data from the GPS receiver needs to be running on the client side. LAWS ([15] Haghighat et al. , 2004) is a location-aware system built on top of HTTP with a modified web browser. It fetches the user's location from the positioning system, appends the location information to a URL and sends the HTTP request to the web server. Web-Enhanced GPS ([16] Hariharan et al. , 2005) demonstrates the possibilities of using existing location data on the web in conjunction with position information from a GPS receiver to create useful location-based services on mobile devices, thus avoiding the deployment cost of creating a database of location data. HP Labs Cooltown project ([11] Debaty et al. , 2005) builds a model and a software architecture called the web presence manager, which implements and specifies the services and information provided by web presentations of physical entities such as people or places, to support the integration of the physical world and the web. [27] Simon and Fröhlich (2007) present an application framework that leverages geospatial content on the web on mobile phones and PDAs, and discuss its three prerequisites, which are spatial query operations based on visibility and field of view, an environment model, and a presentation-independent data exchange format for geospatial query results.
Different from the previous work, our system is in nature a location-based web application, a concrete location-based tracking and guiding system on the web. It uses a standard web server and standard web browsers, but has the extra capability to generate location-based content and push it to the users automatically. Our focus is on the framework of the system and the steps and issues involved in developing it. These contain location determination, location-dependent content query, and personalization.
3. Web-based tracking and guiding
Like standard web applications, web-based tracking and guiding systems have a browser-server architecture. The client side is a standard web browser, and the server side is a standard web server with the extra capability of generating location-based web content. As illustrated in Figure 1 [Figure omitted. See Article Image.], the process of web-based tracking and guiding consists of four parts: a location-aware web system, location determination, location-dependent content query and personalized presentation. The location-aware web system is the underlying infrastructure. It allows the exchange of the location information between the web browser and the web server, and the automatic update of the web pages in the web browser when the location changes. Positioning devices are usually installed on the user side. Therefore, location-related parameters (such as GPS coordinates or Wi-Fi signal fingerprints) need to be sent from the web browser to the web server so that the server can fuse different positioning approaches and improve location determination. Knowing the user location, the system then performs location-dependent content queries, and selects relevant location-dependent data from the local databases and/or the Internet. The selected location-dependent data will be presented to the user according to his or her personal profile, interests, preferences, knowledge, devices and so on.
3.1 Location-aware web system
Location-based tracking and guiding on the web relies on a location-aware web system. With knowledge of user locations, the system is able to generate and deliver location-dependent web content. As mentioned earlier, positioning devices are usually installed on the user side. Therefore, location-related parameters must be retrieved from the user's local hardware and sent to the web server. The web server can either use the location data directly to generate location-based content or make more sophisticated computation of location determination. Three questions are raised here:
How to retrieve the location-related parameters from the local positioning devices?
How to send the location-related parameters from the web browser to the web server?
How to dynamically generate the web content and automatically update the web pages in the web browser?
A general-purpose solution to these questions is to make use of Asynchronous Javascript and XML (AJAX) and a web browser plug-in.
3.1.1 AJAX and web browser plug-in. AJAX ([9] Crane et al. , 2005), running within the web browser, is a collection of four technologies: Javascript, Cascading Style Sheets (CSS), Document Object Model (DOM) and XMLHttpRequest object which is used to talk to the web server asynchronously committing user requests and fetching data as a background activity. AJAX brings huge changes to the behaviour of web browsers and makes highly interactive web applications possible. With AJAX data can be exchanged asynchronously behind the scene. Hence partial update of the web pages in the web browser is possible.
Owing to security reasons, web browsers cannot normally access local resources. This can be solved by extending web browsers with a general-purpose plug-in, called location control, which is to retrieve location-related parameters from the local positioning hardware (e.g. GPS receiver or Wi-Fi adapter). Thus, location-related parameters can be retrieved from the local hardware by the web browser and sent to the web server. The first time users use the location-aware web system, they need to download and install the web browser plug-in, i.e. the location control. Changes only take place on the server side as long as the positioning mechanisms remain the same. If the positioning mechanisms do change, users need to download and install the updated version of the location control. The location control plug-in is a general-purpose solution and can be used for any location-aware web system using the same framework. For security reasons the location control should be signed, to ensure that no one has tampered with it.
3.1.2 Location-aware web browsing and web-based tracking. Location-aware web browsing and web-based tracking can be easily realized based on the location-aware web system. In the case of location-aware web browsing, an AJAX program will be triggered when the user issues a request for location-based web content. As illustrated in Figure 2 [Figure omitted. See Article Image.], the AJAX program retrieves the location-related parameters from the local hardware via the location control, and sends them to the web server via an XMLHttpRequest object. Upon receiving the request from the web browser, the web server determines the location of the user, generates the location-based web content, and sends it back to the web browser in an HTTP reply. The AJAX program will receive the location-based web content and display it in the web browser automatically.
Sometimes we want the web content to be pushed to the web browser automatically as soon as the location changes, that is, automatic update of the web pages based on the location while the user is on the move. For instance, web-based tourist guiding systems present appropriate content to the tourists automatically when they are approaching an attraction, so that they do not have to click on the web pages from time to time to get new information. For this we need web-based tracking and guiding, in which the web server keeps track of the users and delivers location-based web content to them automatically and promptly. Implementation of web-based tracking and guiding is similar to location-aware web browsing except that the AJAX program is triggered periodically by a timer. Every time the AJAX program is triggered, it retrieves the location-related parameters from the local hardware via the location control, sends them to the web server via an XMLHttpRequest object, then waits and receives the location-based content from the web server, and displays it in the web browser.
3.2 Location determination and sensor fusion
3.2.1 Location determination. Location determination is one of the most important prerequisites and ingredients for location-based applications. Many systems have tackled the problem of positioning over the years. Examples are GPS, infrared badges, ultrasound badges, Radio Frequency Identification (RFID), Wi-Fi fingerprinting, 2-dimentional barcode (2D barcode) and inertial positioning. GPS and Wi-Fi fingerprinting are very promising positioning solutions and are used more and more.
GPS is currently the predominant positioning mechanism for outdoor navigation. It makes use of satellites, controlled by the Department of Defense (DoD) of USA, to determine the locations of GPS receivers. It has been extensively used and performed extremely well. With its modernization it aims to provide signal redundancy and improve positioning accuracy, signal availability and system integrity. GALILEO, the European satellite navigation system supposed to be in operation by 2013 ([14] EU, 2008), will provide a highly accurate, guaranteed global positioning service under civilian control, and promises real-time positioning down to less than a meter. GLONASS is the Russian global navigation satellite system, which plans to restore its full coverage by 2010 ([12] e.rian.ru, 2008). All three navigation systems are inter-operable. The combination of them in the near future will provide more robust, accurate and cost effective positioning services, hence facilitate the development of new location-based applications ([1] Alkan et al. , 2005)
Wi-Fi fingerprinting positioning makes use of 802.11 Radio Signal Strength (RSS) fingerprints for location determination. It has gained much attention in recent years, since 802.11 WLANs are widely deployed and 802.11 adapters are built-in devices for most laptops and handhelds. Most importantly, it has a positioning accuracy of a few meters. In parallel with serving data communication, WLAN systems can serve positioning without additional devices. Wi-Fi fingerprinting positioning is normally carried out in two steps: calibration and positioning. Before the positioning system is deployed, calibration is conducted, which collects RSS fingerprints (RSS from multiple access points) at predefined locations in the positioning area and stores them in a database or a file called radio map. In the positioning step, the real time RSS fingerprint of the mobile device is measured and compare with the radio map. The closest match in the radio map is considered to be the current location of the mobile device ([2] Bahl and Padmanabhan, 2000; [31] Youssef et al. , 2003; [30] Zhou, 2006).
3.2.2 Sensor fusion. All the positioning approaches have advantages and disadvantages. None of them takes perfect measurements or works well in all situations, and provides adequate capabilities to all applications. Sensor fusion is the process of combining multiple independent observations or positioning approaches to obtain improved accuracy and robustness, and to enable multiplicity in location determination. Hence a composite location system using sensor fusion outperforms the lone location systems with regard to capabilities and flexibility. [17] Hightower et al. (2002, [18] 2004) proposed the Location Stack and the use of particle filters to fuse multiple positioning approaches. The Location Stack is a general layered model for location-aware computing, which defines a general set of programming interfaces to support the addition, replacement, handoff, and fusion of multiple sensors under one location programming interface. Particle filters (which realize Bayesian filters according to a sampling procedure) probabilistically estimate the state of a dynamic system from noisy sensor observations, help manage measurement uncertainty, and perform sensor fusion. For location determination, the state is the location of the user, and the observations are the measurements from the sensors ([17] Hightower et al. , 2002, [18] 2004).
3.3 Location-dependent content query
With knowledge of user locations, location-dependent content queries are performed to retrieve the location-dependent content, which will be presented to the users in a personalized way. There are different types of queries depending on the application scenarios and user requests:
- A planar point query ([32] Xu et al. , 2004) returns the region that contains the querying point. Using the user location as the querying point, it can be used to query the area that the user is currently in and its relevant information.
- A window query ([33] Zhang, 2003) returns all the Points of Interest (POIs) that intersect or are within the querying window. It can be used to return the POIs that are within a certain distance to the user, when using the user location and the distance to specify the querying window.
- A nearest neighbour(s) query ([33] Zhang, 2003) returns the POI(s) that are closest to the querying point, that is, the nearest POI(s) to the user when using the user location as the querying point.
One query type or a combination of multiple query types can be applied to find the most relevant content. For example, the system makes a combination of planar point queries and window queries. By planar point queries, the system determines whether the user enters a new sub-area, stays in the same sub-area, or leaves the sub-area. When the user enters a new sub-area, the system will provide the information about this sub-area. During the user's stay in the same sub-area, the system will make window queries to find out what POIs are nearby and present location-based recommendations. When the user leaves the sub-area, the system will present the good-bye information. The location-dependent content can be retrieved from the local databases or from the Internet. In order for efficient location-dependent content queries, the data in the content database should be organized and indexed according to the spatial attributes, which are usually geographical coordinates, using efficient spatial index structure, such as R-tree and D-tree ([32] Xu et al. , 2004; [33] Zhang, 2003).
3.4 Personalization
Personalization is believed to be of great value to ubiquitous computing. It tailors the content or services by providers to consumers based on the knowledge about them, i.e. to provide the right information, in the right form, at the right place and the right time. Personalization helps keep the interests of customers, improve the provider-customer relationships, and promote active participation of customers.
3.4.1 User and context modelling. Personalization ([7] Brusilovsky and Millan, 2007; [25] Scherp, 2006) is based on user and context modelling. A user model is the collection of information and assumptions about a user (or user group), which includes personal profile, interests, preferences, knowledge, interaction and presentation history. A context model is the collection of information about the contextual situation that a user is in, including location, mobile device, time, date, and weather:
- Location: Location is the most important context for location-based services. The content is generated and presented based on user locations.
- Mobile device: Content presentation should be adapted to the mobile devices, since different types of devices (e.g. laptops, PDAs and mobile phones) have different operating systems, screen sizes, software, and capabilities. Mapping the combinations of the features to stereotypes and presenting information according to the stereotype is the common solution ([7] Brusilovsky and Millan, 2007). Content presentation should also be adapted to the context such as time, date, season, and weather.
- Personal profile: It includes name, gender, title, birthplace, date of birth, nationality, vocation, and so on. It can be used to set up the user stereotype, or to provide personal recommendations.
- Interests: User interests are the most commonly used personal characteristics by tourist guiding systems. Knowing the user interests, the system is able to provide only the information that the user is interested in. Interests can be acquired by observing the interactions between the user and the system, and expressed by a structural model. The body of the domain information is decomposed to independent fragments, and the user's interest about every fragment is modelled independently via qualitative values (e.g. low-intermediate-high) or numeric values (e.g. 0-10) ([7] Brusilovsky and Millan, 2007). For example, an adaptive museum guiding system can model the interests in design, style, origin and so forth, and the interest levels can be low, intermediate and high.
- Knowledge: If the system is for E-Learning, user knowledge should be modelled, so that the system is able to present the learning material according to user knowledge levels. Similar to the user interest model, the body of the domain knowledge is decomposed into independent fragments, and the user's knowledge about every fragment is modelled independently via qualitative values (e.g. novice-intermediate-advanced) or numeric values (e.g. 0-10) ([7] Brusilovsky and Millan, 2007).
- Preferences: They depict how the user wants the information to be presented. For instance, the multimedia types that the user prefers, and how to notify the user when new information arrives (to start the new presentation automatically or just to give a hint).
- Interaction and presentation history: Based on the previous interactions and presentations, the system can decide what to present next and in what way, so that the series of presentations is cohesive. For example, if some content has been presented, the system may either ignore the content or mark it as read.
3.4.2 Personalized multimedia presentation. Based on the user and context model as well as the predefined templates, the relevant content will be selected and composed to an internal multimedia document model ([25] Scherp, 2006). The internal multimedia document model is a tree structure which depicts the spatial and temporal relationships between the multimedia elements (e.g. HTML snippet, image, audio, video.) and how they will be presented. It is an abstract model independent of programming languages and is able to be transformed into different formats such as HTML or Flash according to the user and context model, which will be presented to the user. The process of personalized multimedia presentation is illustrated in Figure 3 [Figure omitted. See Article Image.].
4. System framework
Based on the concept of web-based tracking and guiding introduced previously, we propose the framework of our Web-Based Guide. The main principles of designing the system are:
making use of existing web technologies;
making use of available and cheap devices;
general-purpose and lightweight client-side; and
good scalability.
4.1 Architecture
In accordance with the principles and the concept of web-based tracking and guiding, we have divided the system into four parts: the Location Server, the Content Server, the Guiding Web Server and the clients, as shown in Figure 4 [Figure omitted. See Article Image.]. The Location Server runs the location determination and sensor fusion algorithms and provides the location web services. The Content Server runs the content database, executes spatial and non-spatial content queries, and provides the content web services. The Guiding Web Server is a standard web server with the ability of generating personalized and location-based web content. The Location Server, the Content Server and the Guiding Web Server compose the server side of the Web-Based Guide. The Guiding Web Server interacts with the users, whereas the Location Server and the Content Server work behind the scene and serve the Guiding Web Server. The clients are standard web browsers extended with a plug-in called the Location Control. The plug-in is general-purpose and able to retrieve the location-related parameters from the local hardware, such as Wi-Fi signal fingerprints or GPS coordinates, which will be used by the Location Server for location determination.
When a user visits the Web-Based Guide, the Guiding Web Server checks if the user has the up-to-date version of the Location Control. If not, it will prompt the user to download and install the Location Control locally. With the aid of the Location Control, the Web-Based Guide can keep track of the user and deliver the real-time location-based web content automatically. It starts when the user issues a "track" command by clicking the "track" button on the web page. An AJAX program is triggered periodically, which invokes the Location Control to retrieve the location-related parameters from the local hardware and posts them to the Guiding Web Server by an XMLHttpRequest object. Upon receiving the request, the Guiding Web Server extracts the location-related parameters, queries the Location Server about the location of the user, spatially queries the Content Server about the location-dependent content, generates the personalized presentation on the fly, and sends the presentation to the client in an HTTP reply.
4.2 Guiding web server
The Guiding Web Server is a standard web server hosting the tracking and guiding system, and interacts with the users. When receiving an HTTP request from a client for location-dependent web content (for example, the user is approaching a POI), it first extracts the location-related parameters from the HTTP request and queries the Location Server about the current location of the user. Then it creates location-dependent content queries (e.g. planar point query, window query or nearest neighbour(s) query) based on the current situation and the user's request, and enquires the Content Server about the location-dependent content. After receiving the content, it generates the personalized presentation and sends the presentation back to the client in an HTTP reply.
It is always necessary for a guiding system to have an online map. The Guiding Web Server is no exception. It contains a layered dynamic interactive map, on which the current location of the user and his or her surroundings are marked. The Guiding Web Server keeps a user and context model for each user, which includes personal profile, interests, preferences, device, location, history, date, time, and weather. By observing the user's interactions with the system and his or her personal configuration, the Guiding Web Server updates the user and context model continuously, hence is able to select, generate and present personalized and location-based web content promptly according to the user and context model.
4.3 Location server
For a location-based application, location determination is crucial. The Location Server runs the location determination algorithms, fuses multiple positioning approaches, and provides the location web services. One of our design principles is to make use of available and cheap devices. Therefore, GPS and Wi-Fi fingerprinting are adopted in our framework. Both approaches are combined by sensor fusion technology in order for improved accuracy and robustness. Management of the Location Server is via web pages, which includes conducting calibration for Wi-Fi fingerprinting, configuring the access points for positioning, managing the radio map and testing the location services. The Location Server provides the location services via Simple Object Access Protocol (SOAP). It receives requests for locations and replies with the coordinates of the users. This way it is independent from any particular application and can be used by other applications that need location services in this area.
Here the question arises of weather the location determination algorithms should be implemented on the server or the client side. Although implementing location determination on the client side reduces the workload on the server and the network traffic, it makes the client heavy and non-general-purpose. Any changes to the location determination algorithms will result in the reinstallation of the client software. Furthermore, mobile devices have limited computing and battery capabilities, running complicated location determination algorithms will definitely exacerbate the situation. Therefore, we chose to implement location determination on the dedicated Location Server, which accepts location queries and replies with the coordinates. The client implements the Location Control which is just to collect the location-related parameters from the local hardware. This makes the client general-purpose and lightweight. Any location-aware web system adopting such an architecture can share the same Location Control. In our framework, it is the Guiding Web Server that queries the Location Server about the user location after receiving the location-related parameters from the client. It is also possible that the client queries the Location Server directly and sends its location to the Guiding Web Server. The implementation decision depends on the application scenarios and the workload on the server.
4.4 Content server
The Content Server stores the multimedia content in a database and provides the content services via SOAP as well, which makes the database structure transparent and independent of any particular application. It receives content queries, performs the appropriate search in the database, and replies with the relevant content. Content queries contain non-location-dependent queries, and location-dependent queries (such as planar point queries, window queries and nearest neighbour(s) queries). Organization of the content in the database must take into account the spatial features of the data in order to support location-awareness. Therefore, the entries in the database are bound to a geographic location (i.e. a point) or a geographic area (i.e. a polygon) and the database is indexed on the geographic attribute using R-tree. In order to support personalization, the entries in the database are tagged for different stereotypes, different knowledge levels, different interest levels and the like. Management of the Content Server is web-based.
4.5 Client
The client is a standard web browser extended with a plug-in called the Location Control. The plug-in is used to retrieve the location-related parameters, e.g. Wi-Fi signal fingerprints or GPS coordinates, from the local hardware, and return them to the web browser. As shown in Figure 5 [Figure omitted. See Article Image.], an AJAX program invokes the Location Control and collects the location-related parameters from the local hardware. It then reports the location-related parameters to the web server so that the web server can keep track of the client. Other positioning approaches can be easily integrated into the system by modifying the Location Control and adding the corresponding algorithms on the Location Server. This is a general-purpose solution since the Location Control only retrieves raw location-related information. Any location-based application using the same framework can share the same Location Control.
4.6 Privacy and security
Location-based applications bring great benefits. However, they also bring large privacy concerns. Since locations can be used to reason what people are doing and what they are interested in, few people would feel comfortable having their locations known in all situations and having their privacies disclosed. A tracking system keeps track of user locations and undoubtedly exacerbates the situation. Misuse of location information may incur privacy risks such as spamming, economic losses, and even stalking and kidnapping.
Despite the privacy concerns, tailored and personalized location-based services do bring us great conveniences. People are prepared to disclose some of their location and context information if they think the services are useful, while they have more concerns about location-tracking services (the location is determined by an external party, e.g. network operator) than position-aware services (the device determines the location itself) ([5] Barkhuus and Dey, 2003). There must be a trade-off between privacy and services. The basic principles are to minimize information disclosure while benefiting from location-based services and to leave the users in control of their information revelation.
Privacy issues for location-based services are related to collection, retention, usage and disclosure of the location and context information ([22] Minch, 2004):
- Collection: Although our framework uses a centralized location server for the location determination algorithms, location determination is only enabled by the users. Positioning devices such as GPS receivers and Wi-Fi adapters are installed on the user side. Only after the user issues a "locate" or "track" command, the raw location-related parameters will be collected locally and sent to the server. The users are able to stop the tracking at any time. This puts the users in control of location revelation and allows them to trade privacy for utility on a case-by-case basis.
- Retention: In our framework, the information contained in the user and context model, including location information, is stored on the server temporarily for the current session for personalization. When the user finishes the session, his or her information will be deleted immediately from the server, and will be stored as cookies on his or her computer, which is local and can be used next time for personalization. Pseudonymity is supported in the framework. A user can use the system with a fake name instead of his or her real identity. Thus there is no link between the stored data and the real user identity, the privacy is hence protected.
- Usage and disclosure: On the technical level, once the information has been transmitted to the service providers, further usage including misuse of information can not be controlled by the users. Hence misuse of information has to be prohibited by policies and legal approaches ([28] Tatli, 2005). In our framework, the information is only used by the Guiding Web Server to generate location-based content, and will not be disclosed to any other third party.
For security reasons, the communication between the clients and the server is protected by encryption and authentication, since the communication is over wireless networks and the traffic can be intercepted by intruders. The Guiding Web Server and the clients authenticate to each other using secure HTTP. The users must log in with the proper username/pseudoname and password before using the system and the system authenticates itself by providing a valid certificate. Extending the web browser with a plug-in increases the security risks, because the plug-in is a program running locally on the mobile device and is able to access local resources. A malicious plug-in may result in severe privacy disclosure, information loss and other damages. Therefore, the plug-in should be signed to make sure it is not tampered with by third parties.
5. Prototypical implementation in a botanical garden
We are implementing the prototype of the Web-Based Guide in a botanical garden, the Web-Based Botany Guide, using the previously presented concepts and framework. The Web-Based Botany Guide is a location-based multimedia E-Learning system for biology majors as well as an electronic guide for visitors in the botanical garden. For example, Mary, a biology major, goes to the botanical garden that is covered by WLAN with a WLAN- and GPS-enabled laptop or handheld. She opens a web browser, types in the web address of the Web-Based Botany Guide, and begins to study with the E-Learning system. The system provides the map mode and the guide mode. In the map mode, she gets a dynamic interactive online map of the garden with the botanical information embedded and her current location marked. In the guide mode, the system keeps track of her and presents the personalized multimedia learning material of the nearby plants to her web browser automatically. The information presented includes a multimedia botanical description of the plant, its taxonomical parents and ancestors, its taxonomical descendants, scientific self-tests, and personal recommendations. Furthermore, the system can guide her to the plants that she is interested in. A user and context model for personalization is set up for her based on her configuration and interaction history. The system is web-based and has a browser-server architecture. The multimedia presentation is location-based, personalized, scientific and cohesive.
5.1 Interactive map
The system provides an online interactive map of the garden with the user's current location marked on it. Figure 6 [Figure omitted. See Article Image.] shows a snapshot of the online map currently under development. For a location-based guiding system, the map is an indispensable part, which shows where the user is and how to get to a certain destination. Both an abstract map and an aerial view of the garden are provided. The map is dynamic (the map and the embedded information are dynamically generated from the content database), interactive, layered (the information embedded on the map are grouped into layers and the user can choose which layers to display), and can be zoomed and panned. The system can locate and keep track of the user and mark his or her real-time location on the map. Moreover, the system can display on the map the location of the plant that the user searches, and guide him or her to it.
5.2 Botany guide
The guide is the most important function of the system. As illustrated in Figure 7 [Figure omitted. See Article Image.], on the left side is a key-map with the user's real-time location marked. On the right side is the personalized botanical information presented to the user based on the current location. The page is updated automatically when the user changes location. The information can be presented in three ways: all in one page, paged, and slideshow. The following information is retrieved from the content database and presented: botanical description of the plant, its additional multimedia information such as pictures, audios and videos, hyperlinks to its taxonomical parents and ancestors, hyperlinks to its taxonomical children or planted individuals, scientific self-tests about the plant, and personal location-based recommendations, such as what to see next or where to go next.
6. Conclusions and future work
Wireless positioning technologies make it possible to keep track of mobile devices, and web technologies make web applications highly interactive. The combination of them leads to location-based web applications, which generate and present real-time web content based on user locations. The paper presents the general-purpose and modular framework of the Web-Based Guide, which consists of the Location Server, the Content Server, the Guiding Web Server and the clients which are standard web browsers extended with the Location Control. With such a framework, location-based applications can offer the services on the web without requiring the users to install extra software.
Location determination with sensor fusion, location-dependent content query and personalization can take a large amount of memory and computational resources, especially when the number of the users grows and the users are in the tracking mode. We will evaluate and improve the performance of the system in the near future, such as the number of the concurrent sessions that the system can sustain, the response time of a request for location-based web content, and the workload on the Location Server, the Content Server and the Web Guiding Server when in the tracking mode. A user study that evaluates how the users like the system will also be conducted. Although our framework uses techniques such as pseudonymity to protect user privacy, the possibility of linking the stored data with the real user identity still exists. For location-based applications which demand high privacy, more sophisticated privacy enhancing techniques should be employed. This will also be part of our future work.
Proceedings of 2nd International Conference on Recent Advances in Space Technologies, Istanbul, Turkey, June
Proceedings of the IEEE INFOCOM 2000, Tel-Aviv, Israel, 2000
Proceedings of the 2nd Braunschweiger Symposium Informationssysteme für mobile Anwendungen (IMA 2004), October
Proceedings of the INTERACT 2003, 9th IFIP TC13 International Conference on Human-Computer Interaction, Zurich, Switzerland, 1-5 September 2003
Proceedings of the 13th International World Wide Web Conference on Alternative Track Papers & Posters, New York, NY, May
Proceedings of the 3rd International Conference on Ubiquitous Computing, Atlanta, GA, September 30-October 2
Proceedings of the Workshop on Building Software for Pervasive Computing, Vancouver, October
1st International Workshop on Location- and Context-Awareness, Germany, May
Proceedings of the 4th IEEE Workshop on Mobile Computing Systems & Applications (WMCSA 2002), Callicoon, NY, June
Proceedings of the 6th International Conference on Ubiquitous Computing (Ubicomp 2004), September 2004
Proceedings of the 2nd ACM International Conference on Mobile Computing and Networking (MobiCom'96), Rye, New York, NY, November 10-12, 1996
Conference on Human Factors in Computing Systems, Seattle, WA, March 31-April 5, 2001
Proceedings of the 37th Hawaii International Conference on System Sciences, Big Island, HI, 5-8 January 2004
Proceedings of the 2nd International Symposium on Handheld and Ubiquitous Computing, Bristol, September
Proceedings of 3G 2001 - 2nd International Conference on 3G Mobile Communication Technologies, London, 26-28 March
Proceedings of the 16th International Conference on World Wide Web, Banff, Alberta, Canada
Proceedings of the 2nd IEEE International Workshop on Mobile Commerce and Services (WMCS'05), Technische Universität München, Germany, July 19-22
Proceedings of the 12th International Conference of European University Information Systems, Turku, Finland
Proceedings of the 1st IEEE International Conference on Pervasive Computing and Communications, Fort Worth, TX, March 23-26, 2003
Proceedings of the 2003 ACM SIGMOD International Conference on Management of Data, San Diego, CA
The author would like to thank Prof. Dr Gerhard Schneider at the University of Freiburg in Germany for his supervision. She also thanks Klaus Rechert and Dirk von Suchodoletz at the University of Freiburg for their valuable comments and her colleagues in the Computing Center of the University of Freiburg, for their support of her work.
1. Personal Experience with Active Cultural Heritage (PEACH). http://peach.itc.it/home.html.
2. ActiveCampus. http://activecampus.ucsd.edu.
3. Nexus (Spatial World Models for Mobile Context-Aware Applications). http://www.nexus.uni-stuttgart.de.
1. Alkan, R.M., Karaman, H. and Sahin, M. (2005), "GPS, GALILEO and GLONASS satellite navigation systems & GPS modernization", , pp. 390-4.
2. Bahl, P. and Padmanabhan, V.N. (2000), "RADAR: an in-building RF-based location and tracking systems", .
3. Baldauf, M., Dustdar, S. and Rosenberg, F. (2007), "A survey on context-aware systems", International Journal of Ad Hoc and Ubiquitous Computing, Vol. 2 No. 4, pp. 263-77.
4. Baldzer, J., Boll, S., Klante, P., Krösche, J., Meyer, J. and Rump, N. (2004), "Location-aware mobile multimedia applications on the Niccimon Platform", , pp. 318-34.
5. Barkhuus, L. and Dey, A. (2003), "Location-based services for mobile telephony: a study of users' privacy concerns, IRB-TR-03-024", .
6. Baus, J., Cheverst, K. and Kray, C. (2005), "Survey of map-based mobile guides", Map-Based Mobile Services - Theories, Methods and Implementations, Springer, Meng/Zipf (Hrsg.), pp. 197-213.
7. Brusilovsky, P. and Millan, E. (2007), User Models for Adaptive Hypermedia and Adaptive Educational Systems: The Adaptive Web - Methods and Strategies of Web Personalization, Springer-Verlag, Berlin.
8. Carboni, D., Giroux, S., Piras, A. and Sanna, S. (2004), "The web around the corner: augmenting the browser with GPS", , pp. 310-19.
9. Crane, D., Pascarello, E. and Jamee, D. (2005), Ajax in Action, Manning Publications, Greenwich, CT.
10. Davies, N., Cheverst, K., Mitchell, K. and Efrat, A. (2001), "Using and determining location in a context-sensitive tour guide", IEEE Computer, Vol. 34 No. 8, pp. 35-41.
11. Debaty, P., Goddi, P. and Vorbau, A. (2005), "Integrating the physical world with the web to enable context-enhanced mobile services", Mobile Networks and Applications, Vol. 10 No. 4, pp. 385-94.
12. e.rian.ru (2008), "Russia's Glonass satellite system to be fully operational in 2010", Moscow, available at: http://en.rian.ru/russia/20080607/109483418.html.
13. Espinoza, F., Persson, P., Sandin, A., Nyström, H., Cacciatore, E. and Bylund, M. (2001), "GeoNotes: social and navigational aspects of location-based information systems", , pp. 2-17.
14. EU (2008), Getting Galileo into Orbit by 2013, European Union, Paris, available at: www.europarl.europa.eu/news/expert/background_page/008-26529-112-04-17-901-20080414BKG26528-21-04-2008-2008-false/default_en.htm.
15. Haghighat, A., Lopes, C.V., Givargis, T. and Mandal, A. (2004), "Location-aware web system", .
16. Hariharan, R., Krumm, J. and Horvitz, E. (2005), "Web-enhanced GPS", , pp. 95-104.
17. Hightower, J., Brumitt, B. and Borriello, G. (2002), "The location stack: a layered model for location in ubiquitous computing", , pp. 22-8.
18. Hightower, J. and Borriello, G. (2004), "Particle filters for location estimation in ubiquitous computing: a case study", , pp. 88-106.
19. Krösche, J., Baldzer, J. and Boll, S. (2004), "MobiDENK-Mobile multimedia in monument conservation", IEEE MultiMedia, Vol. 11 No. 2, pp. 72-7.
20. Long, S., Kooper, R., Abowd, G.D. and Atkeson, C.G. (1996), "Rapid prototyping of mobile context-aware applications: the cyberguide case study", .
21. Marmasse, M. and Schmandt, C. (2003), "Safe and sound: a wireless leash", , pp. 726-7.
22. Minch, R.P. (2004), "Privacy issues in location-aware mobile devices", .
23. Oppermann, R. and Specht, M. (2000), "A context-sensitive nomadic exhibition guide", , pp. 127-42.
24. Poslad, S., Laamanen, H., Malaka, R., Nick, A., Buckle, P. and Zipf, A. (2001), "CRUMPET: Creation of User-Friendly Mobile Services Personalized for Tourism", , pp. 28-32.
25. Scherp, A. (2006), "A component framework for personalized multimedia applications", PhD dissertation, Department of Computer Science, University of Oldenburg, Oldenburg.
26. Schwinger, W., Grün, Ch., Pröll, B., Retschitzegger, W. and Schauerhuber, A. (2005), Context-Awareness in Mobile Tourism Guides - A Comprehensive Survey, Technical Report, Johannes Kepler University, Linz, IFS/TK, July.
27. Simon, R. and Fröhlich, P. (2007), "A mobile application framework for the geospatial web", , pp. 381-90.
28. Tatli, E.I., Stegemann, D. and Lucks, S. (2005), "Security challenges of location-aware mobile business", .
29. Want, R., Hopper, A., Falcão, V. and Gibbons, J. (1992), "The active badge location system", ACM Transactions on Information Systems (TOIS), Vol. 10 No. 1, pp. 91-102.
30. Zhou, R. (2002), "Enhanced wireless indoor tracking system in multi-floor buildings with location prediction", , pp. 448-53.
31. Youssef, M., Agrawal, A. and Shankar, A.U. (2003), "WLAN location determination via clustering and probability distributions", , pp. 143-50.
32. Xu, J., Zheng, B., Lee, W.-C. and Lee, D.L. (2004), "The d-tree: an index structure for planar point queries in location-based wireless services", IEEE Transactions on Knowledge and Data Engineering, Vol. 16 No. 12, pp. 1526-42.
33. Zhang, J., Zhu, M., Papadias, D., Tao, Y. and Lee, D.L. (2003), "Location-based spatial queries", , pp. 443-54.
Rui Zhou, Department of Computer Science, the University of Freiburg, Freiburg, Germany
Figure 1: Process of Web-based tracking and guiding
Figure 2: Location-aware Web system
Figure 3: Process of personalized multimedia presentation, after [33]
Figure 4: Architecture of the Web-Based Guide
Figure 5: Structure of the client. A standard Web browser extended with a plug-in for retrieving location-related parameters from the local hardware
Figure 6: The interactive map of the Web-Based Botany Guide
Figure 7: The guide mode of the Web-Based Botany Guide
Copyright Emerald Group Publishing Limited 2008
