print page

Master's Thesis

Executing Code on Smartphones Triggered by Location-Based Services


Location-based services (LBS) are in general offered by a server system (service provider) and used by mobile clients which are aware of their own location. Whether they determine their position on their own or an external system localizes the devices does not matter.

The simplest form of a LBS is a request, e.g., "I am here. Where is the closest movie theater?" It gets more complex if the server needs additional information to process the request, e.g., "Which language do you prefer?" And even more complex if the service wants to download and start the app of the according movie theater, i.e. execute code on the smartphone.

Furthermore, there are services which do not merely respond to client requests but which actively contact the client and make it perform some action, e.g., in order to inform the client that the door of his office was unlocked even though the client was not close.

In addition, there are events which regularly invoke executing code on the client, e.g., to call the elevator every morning as the client approaches his office building.

Work description

The goal of this work is to analyze and evaluate what kind of actions need to be invoked by a server and executed by a client in order to build a universally applicable framework for LBS. Is it sufficient to provide some actions, e.g., request information from the user, launch an app on the client, and play a sound? What is an appropriate set of actions? Or would it rather be useful to be able to transfer executable code from the service provider to the client which is then executed on the client? How could this be technically accomplished? How to deal with security issues?

First, a list of possible LBS should be created which possibly leads to a classification of LBS. Next, it should be evaluated want kind of triggers for executing code on the client need to be supported.

Further, it needs to be evaluated, whether the localization of clients is done by the system (i.e., by the service provider) or by the client itself, has an influence on a LBS framework.

Finally, a proof-of-concept architecture shall be developed which consists at least of a server application as well as an Android app. As communication framework UPnP may be used which allows easy announcement and detection of services as well as push notifications to subscribed clients.

Start date 29. January 2013
End date 29. July 2013
Documents Flyer
Supervisor Dr.-Ing. Julian Ohrt