A Practical Approach to Location-Based Service Architecture

Rajiv Synghal
CTO of Kivera


Location Based Services (LBS) provide personalized access to local information anywhere, anytime. As defined, LBS has two distinct elements associated with it: identifying the location of the consumer and quickly identifying what is of importance in close proximity. Contrary to common belief, to pinpoint the user location is fairly easy, with today's existing technology. The wide range of deployment of this technology is still an issue because of the large cost associated with it. In contrast, to locate information of interest in close proximity poses a significant challenge. Underpinnings of digital maps and landmark databases have enormous differences in quality, coverage and cost. Additionally, keeping spatial reference among various entities is key to provide a fast and reliable proximity search.

The world is a big place. Clearly, there has to be a mechanism to divide the world into smaller worlds so that each operation, a proximity search for example, isn't overwhelmed with information. This discussion analyzes mechanisms to store the spatial information using complex data storage and retrieval models, such as k-d tree, R-tree, reverse R-tree etc. These mechanisms used methodologies to distribute information based on the density of data in a given region, variable size parcels, very complex to manage and search algorithms. This presentation will illustrate Kivera's approach, which takes the complexity out of the data storage and retrieval mechanisms.

Kivera's solution to this challenge is accomplished by defining self-contained same sized grids known as cells with a unique identifier that can be computed based on latitude/longitude. Core technology was designed knowing that the eventual downstream client device may be limited in processing power. Thus, Kivera skews the data processing techniques to be heavily loaded toward the earliest stages, where there is opportunity to apply vast data processing power to transform the raw data optimized for both low and high-bandwidth applications, server centric or network centric applications. The ultimate result is the most efficient and accurate LBS results.