Location Aware Application Framework - The Oracle Approach

Prabuddha Biswas, Raja Chatterjee, Albert Godfrind

prbiswas@us.oracle.com

One Oracle Drive

Nashua, NH 03062 USA

rchatter@us.oracle.com

One Oracle Drive

Nashua, NH 03062 USA

agodfrin@fr.oracle.com

2229 Route des Crêtes

06560 Sophia-Antipolis France

1. Introduction

The explosive growth of the use of intelligent mobile devices (mobile phones and PDAs) directly opens up a whole new world of possibilities: that of delivering location information to those mobile devices, and that of delivering services to the mobile devices that are customized and tailored according to their current location. In section 2 we define the problem. In section 3 we discuss the existing technologies in Oracle. In section 4 we present our approach to solving the proposed problem. In Section 5 we propose areas where we believe standardization is required, and we conclude by summarizing our contribution.

2. Problem Definition

We are observing a convergence of the PDAs and the mobile phones. The PDAs are acquiring advanced wireless communication capabilities; and the mobile phones are getting more computation and Internet access features. In the near future most appliances will also have network interfaces and remote management capabilities. These advances, together with inexpensive position sensing devices will make location-aware applications popular. Howerver, due to the lack of an appropriate "location-aware application development framework", many basic services will be reimplemented in each application and cooperation between different location-aware applications will be difficult.

Applications today do not take into account the location information of the clients or the service providers. By providing an infrastructure that captures the mapping of services in an area of interest (we call them "regions") and also a mapping of clients in the regions, we will aggregate the location information from a variety of remote sensing technologies and provide a single, seamless interface to it. We not only provide the static location of mobile business objects (service or client), but we can also provide the path taken by the mobile objects in a specified time window. With this type of information we can enable innovative location-aware applications.

3. Existing Technology

Delivering location-dependent services to mobile devices requires the following components:

Storage of location information:

Over the last few years, Oracle has extended the classical relational database in several areas. One of those extensions concerns the storage, indexing, querying and delivery of location-based information [1]. Location information is really just another data type that should be stored alongside other information, such as names, dates, etc. It has, however, specific characteristics (ordering, querying) and specific needs (spatial indexing, coordinate systems, etc.).

The Oracle database provides all those facilities. It understands and manages location data just like any other data, and allows location-based queries to be expressed in its native language, SQL. It goes above and beyond the handling of simple location (point) data: it also handles complex geographic entities like lines, curves, polygons and areas, and it provides advanced geometric operations on those entities: intersections, unions, etc. For networks (typically road networks), it supports linear referencing, a fundamental need for describing and providing directions from one location to another.

Standards are especially important when it comes to procuring location data and related geographical information such as political boundaries, transportation networks, demographics, etc. Geographical and location information has traditionally been available in a variety of formats, often proprietary. The key body that drives standardization efforts in this area is the Open GIS Consortium, of which Oracle is a principal member. The data model used for storing the spatial and location information inside the database strictly conforms to the standards defined by the Open GIS Consortium.

Delivery to mobile devices:

Delivering structured content to mobile devices (mobile phones, personnel assistants, etc.) requires not only an understanding of the wireless protocols and the markup languages suitable for the wireless environment, but also a secure environment for providing access to large numbers of users.

Oracle's Portal-to-Go product [2] provides a flexible framework for:

Creating services based on existing Web content and deploying them to mobile devices

Simplifying the administrative work of supporting a large number of different types of devices

Enabling e-business by implementing Internet security on behalf of wireless devices

Deploying operator branded portals where users can store their preferences

Supporting new generation of native XML-based applications and adapting them to any device, markup language and form factor.

4. What is needed : Locating and organizing location dependent services

Providing services to mobile devices is more than just converting Web information to match the capabilities of the device (small screen, low bandwidth, etc.). A typical Web portal, as provided by companies such as Yahoo or as provided internally by corporations to their workforce, is loaded with as much information as possible, usually in the form of jumping-off points to other information repositories. This approach is too limited once one considers mobile devices that, by definition, can be anywhere. However, once one adds the capability for the Web server to recognize the geographical location of a mobile device, the server can then adapt itself and provide services or information that are relevant to the current location.

Extending this model, one can see that large number of services can then be built all with content that is more or less local to specific locations: for example, a service monitors local buses and trains, while another monitors inter-city trains and commuter airline traffic. The model can extend to local restaurants advertising their menu, hotels with room availability, theaters that have last-minute tickets for sale, etc. Further along the line, services could themselves be physical devices that just advertise their availability: public printers on a campus, ATMs, vending machines, etc. Clearly, in such a model, the number of services potentially relevant for a given location can grow enormously and be very dynamic, with new services appearing and disappearing constantly.

Service discovery:

Our current line of thought is to associate services with geographical areas or "regions". A region can of course be defined as a member of a hierarchical structure (country, state or province, county, city or municipality, district, street, etc.). However, this model is too simple to represent the reality, where regions are likely to be defined in more flexible ways, crossing over the hierarchical boundaries. Examples can be metropolitan areas that spread over state or country boundaries, or company-specific sales areas that cover areas over multiple counties. Or the path of a bus, which follows multiple roads irrespective of their location.

We propose a system-defined region modeling where the entire world will be divided into sub-regions. We will have a hierarchy like:

World --> Continent --> Country --> State --> County --> Zip Code --> Latitude/Longitude.

Besides the system-defined regions one could define user-defined regions (UDR) which would intersect multiple system-defined regions. All the system-defined regions (countries, states, etc.) that completely lie within a UDR will be within the user-defined region. Also, computational geometry algorithms can be used to compute the areas which will fall within the UDR. The UDR could represent the business objects related to a particular entity.

Given a particular latitude/longitude, we can easily determine all the relevant regions at different levels of the hierarchy. Also, given a particular user defined region, we can find all regions which are totally contained in that UDR at a particular level of hierarchy as well as across different levels of hierarchy. We will also store the metadata associated with the different business object and their location (location <---> metadata mapping). Therefore, given the location information (a point or a region) and metadata criteria, we could get all the different businesses in that location/region satisfying the metadata category.

The region hierarchy and the metadata information will be stored in the database. These will form the basis for the location-aware application framework. In such a model, it is absolutely essential for the mobile user to be provided with means to filter the relevant services, as well as means to classify and prioritize services.

Architectural Diagram

5. Areas of Standardization

The technologies in the wireless and mobile applications area are evolving. Therefore, to in insulate the application developer from these changes, we need to standardize the interfaces. To develop a reusable framework for location aware mobile applications we need to develop standards in the following areas:

- Definition, discovery and classification of services

- Definition and delivery of routing and mapping information

- APIs for accessing location data over the Web

- APIs and formats for Geocoding services

6. Conclusion

This position paper highlights the requirements for developing location-aware applications:

A robust, scaleable repository for the location data/metadata and region hierarchy

A flexible architecture for delivering services to wireless devices

A framework for Relating services to locations through region modeling

Standardization in several areas like geocoding, routing and mapping information, access methods, etc.

7. References

1.) Oracle Portal-to-Go White paper - http://www.oracle.com/mobile/portaltogo

2.) Oracle Spatial White paper - http://www.oracle.com/database/options/spatial/