Content uploaded by Martin Klepal
Author content
All content in this area was uploaded by Martin Klepal
Content may be subject to copyright.
2012 International Conference on Indoor Positioning and Indoor Navigation, 13-15th November 2012
MapUme: Smartphone Localisation as a Service
A cloud based architecture for providing indoor localisation services
Alan McGibney, Christian Beder, and Martin Klepal
Nimbus Centre for Embedded Systems Research
Cork Institute of Technology
Cork, Ireland
Email: {christian.beder,alan.mcgibney,martin.klepal}@cit.ie
Abstract—Accurately determining the user’s position is con-
sidered the key enabling technology for the provision of location
based services on smartphone devices. The most promising ap-
proaches to date for achieving accurate indoor coverage are based
on WiFi fingerprinting in combination with complex estimation
and filtering algorithms. In order to meet these computational
requirements for a large number of devices a localisation system
must be inherently distributed to provide real time responsiveness
to all users at all times. Furthermore, to make such a system
commercially feasible those computational resources sometimes
cannot be maintained by the localisation service provider itself
but have to be dynamically allocated in the cloud always based
on current and not on peak demand, which depending on the
application can vary significantly and thereby render static
systems commercially infeasible in these cases. In this paper
we will propose such a cloud based architecture enabling the
immediate demand driven provision of computational resources
to connected devices.
Index Terms—Smartphone localization, Indoor localization,
Integration platform, Cloud computing
I. INTRODUCTION
Smartphones have long since moved from being a mecha-
nism to access email on the move for business people to an
affordable commodity in the mainstream consumer market.
As a result smartphone devices have woven themselves in
to the fabric of our everyday lives and users expect much
more than simple email access. Driven by user demand many
application developers are creating new and innovative appli-
cations that take advantage of the smartphones capabilities
such as mobile gaming, social networking, news, maps to
name a few. Location-based services plays a key role in
empowering developers and users to take advantage of a
vast array of applications such as geo-social networking,
multimedia guides,targeted advertising and health and safety.
Must of the location based applications are built on the freely
available GPS technology and as a result are restricted to
outdoor scenarios. A significant number of research works
have been published presenting solutions for indoor location
tracking that utilise Wi-Fi fingerprinting in combination with
complex estimation and filtering algorithms [1], [2], [3],
[4], [5], [6], [7]. Although this approach is not without its
challenges [8] it has proven to be the most promising when
providing accurate indoor coverage. However this results in
significant computational requirements to maintain real time
responsiveness to all users at all times for a large number of
devices. Furthermore, depending on the specific application
the demand for location information can vary dramatically
requiring an architecture that is inherently dynamic in nature
when allocating resources. By statically allocating resources
to meet peak demand can render the system commercially
infeasible in some cases.
In this paper we will present MapUme, an opportunis-
tic location system for smart phone devices that enables
localisation services that work seamlessly in heterogeneous
environments including indoors as opposed to GPS based
outdoor-only systems. MapUme is built on a cloud based ar-
chitecture enabling the immediate demand driven provision of
computational resources to connected devices. The presented
indoor localisation system allows the simultaneous accurate
localisation of a large number of users without relying on
heavy client side processing, which would use up the limited
smartphone’s computational and energy resources. We will de-
scribe the proposed architecture and demonstrate the systems
performance under varying peak demand scenarios and show
how commercially feasible smartphone indoor localisation
services can be provided utilising the elastic infrastructure of
the cloud.In particular we will report on our experience in
the trade show application space and the challenges it poses
by requiring the system to provide localisation services to
thousands of exhibitors and visitors over a very short period
of time in a highly dynamic environment.
II. MA PUM E ARCHITECTURE AND COMPONENTS
The advances of Cloud computing brings new opportunities
for location based services. Using a cloud-based architecture,
sensory information is still generated in each client device but
is processed and aggregated within the cloud. This information
is then available for users or services to share among each
other via the cloud or for knowledge mining of these location
datasets across a large numbers of users. The benefits of
cloud computing for location based services are clear, there
is minimum large up-front capital on data centres, eliminates
the need to plan ahead for provisioning and allow companies
to invest in increasing resources as needed [9]. Companies
such as Trimble and Qualcomm offer cloud based solutions
however mostly as a content delivery mechanism rather than
a dedicated positioning service.978-1-4673-1954-6/12/$31.00 c
2012 IEEE
2012 International Conference on Indoor Positioning and Indoor Navigation, 13-15th November 2012
Fig. 1. MapUme General Architecture
MapUme is a computational platform which is built around
the concepts of an event driven architecture combined with
dynamic service composition and invocation principles. The
design goal of the computational platform architecture is to
create a scalable, distributed and extensible platform that
allows for the collecting of sensor data from a large number of
subsystems, to provide computing resources to process those
measurements into meaningful quantities and finally make this
processed information available to business applications on top
of the platform. From the end-users point of view the platform
therefore serves the purposes of providing an abstraction layer
between the sensor/actuators subsystems and the application
that through its scalable and distributed design allows the
leveraging of the processing capabilities of cloud based server
infrastructures. From the developers perspective the platform
offers an architecture that provides interfaces to the devices,
context information and to the business application while at
the same time providing scalability and distributed processing
capabilities.
The MapUme platform comprises of a set of interact-
ing components as depicted in Fig. 1. An important design
paradigm within the platform is inversion of control and
dependency injection. This concept allows the decoupling of
the interface a service provides from its actual implementa-
tion, thereby removing dependencies between the individual
components. Furthermore every service of the platform is
wrapped up automatically within a proxy enabling monitoring
of the service execution as well as a transparent remote
service invocation. The components can be distributed over the
network or into the cloud so that each of those components
runs on an individual machine in order to increase the amount
of processing power necessary to deal with large number
of smartphone devices connected to the system. The plat-
form implements a communications infrastructure provided by
transparent message services. The web-server, message queue
server and database server that are used within the platform
are all off the shelf components and can be interchanged with
other technologies where needed. All these components come
with the ability to run on a cluster, so it can be expected that
they will be able to meet MapUme scalability requirements
without further modifications. The business gateway provides
data and knowledge to end user applications and published via
the web-server. In case the web-server is clustered the business
gateway will run several instances across the cluster, so it
scales with the demand driven from the business perspective.
The platform manager and workers are the key components
of the architecture and will be described below.
A. Platform Manager
The creation of a worker service is usually (but not neces-
sarily) triggered by a device subsystem transmitting its data to
the platform. The platform manager will in this case assign a
service to the device and request it to be created if necessary.
If the appropriate service for the device already exists the data
will be passed on to this service. At the same time broadcast
events in the platform are monitored and relevant messages
are sent back to the device subsystems. The platform manager
is also responsible for monitoring the worker services and
keeping its device to worker service mapping database up to
date. This mechanism allows distributing the worker services
over the network and provides a scalable infrastructure for
meeting extensive processing demand.
B. Workers
The central component of the MapUme platform is the
worker service known as the Localisation System Manager
which is an requestable service within the localisation plat-
form. The task of the Localisation System Manager is to
manage a thread pool of Localisation Engines, one for each
device, and to pass on the sensor data received from the Device
Interface Listener. It receives back the estimated position data
and finally broadcast it through the Position Receiver queue to
all interested services. The Localisation Engine uses the sensor
measurements together with environment data such as floor
plans and fingerprints from an Environment and Configuration
Manager in order to estimate the position of the device. The
MapUme localisation dynamic model is hierarchically struc-
tured and non-deterministic using probabilistic graphical mod-
els (PGMs)[10]. It offers a compact graph-based representation
to model a joint probability distribution of latent and observed
random variables exploiting conditional independencies. These
statistical independence properties are exploited for efficient
inference and learning. Every time the position is updated it is
broadcasted to the Position Receiver queue, which distributes
it to the Logger service that writes everything to the database,
to the Instant Data Generator service, which is responsible for
pushing the updated position back to the devices, as well as to
the Business Gateway. The Business Gateway is then used by
the web server in order to make all the information available
to business applications. The processing intensive parts of
the platform are the localisation engines for each connected
2012 International Conference on Indoor Positioning and Indoor Navigation, 13-15th November 2012
Fig. 2. MapUme Platform for Trade Show Scenario
phone which run within the primary workers. Those workers
are running in the cloud so as to meet this processing de-
mand by allocating additional processing resources if needed.
Certain computational resource intensive tasks could also be
outsourced to the secondary workers by the platform. However
from the scalability point of view it makes no difference if the
primary or the secondary workers are used.
The MapUme computation platform utilises it own cognitive
capabilities to predict and plan the computational requirements
in order to optimally provision computational resources to
the components with the goal of keeping the costs under
control and thereby making the approach feasible in a real-
world commercial application. This context aware processing
approach goes beyond the state of the art of current cloud-
based middleware platforms, which are by design general
purpose processing engines that cannot take any such context
information into account and have to base their load prediction
solely on statistical analysis of past workloads[11], [12].
MapUme’s location services are built on this computation plat-
form for online data collection, aggregation and logging, for
online/offline data processing and analysing and environment
modelling.
III. CAS E STU DY
To analyse the performance of the MapUme technology,
a number of deployments have been carried out in various
sites including an office buildings, college campus, shopping
centres, lab environments and at large trade fair venues. The
most challenging of these environments was the trade fair
scenario, due to the dynamic nature of the environment and
the large number of users that require location and context
information over a short period of time. For large trade show
events visitors wish to utilise their time as efficiently as
possible, exhibitors want to communicate and connect to the
right people, organisers want to provide an experience for all
parties involved that is memorable to ensure repeat business.
The ability to achieve these features is only enhanced by
the availability of real time location and context information
that can be provided by the MapUme platform. Fig. 2 shows
the architecture for the trade fair environment the services
provided include:
•Visualisation of your current position in a 3D hall map
and provide navigation to any exhibitor or facility (toilets,
restaurants, etc.)
•Locate your colleagues without disturbing them with a
phone call (especially useful for exhibitors)
•Exhibitors can add any information they like to their stand
in the map (dynamically and in real time from a web
browser)
•Provide targeted information to visitors (suppliers of X
product are highlighted for visitors who have said they
are interested in X product)
•The system allows real time communication and updating
for example event/meeting scheduling.
A key requirement from the venue organisers is the ease of
installation and management, the process employed must be
efficient with easy to use tools. The procedure to set up a new
deployment in a trade fair using the MapUme tools takes just
three steps before localisation can take place:
1) Define the map of the environment including the posi-
tion of specific area of interests, i.e. exhibitor booths,
facilities
2) Using a smart phone application calibrate the system by
collecting a fingerprint of the received signal strength in
the area you wish to cover
3) Submit calibration measurement to the server for auto-
mated processing
The remaining steps involve users of the system populating
relevant context information that is communicated to all other
users where appropriate. Fig. 3 shows a screen shot of the
phone application with the users location displayed on the
map of the environment.
Fig. 3. MapUme phone application
The localisation accuracy was measured by collecting an
independent set of calibration data using the fingerprint ap-
plication. This data was then fed into the system using a
device simulator and the deviation between the actual positions
and the positions returned by the system were recorded.
The histogram of these localisation errors in a real trade-fair
environment of approximately 6270m2is shown in Fig. 4.
It can be seen that on average a localisation accuracy of
better than 10m is achievable by the system. The following
sections outline the evaluation of system performance in terms
of system scalability.
To evaluate the performance of the platform in terms of the
number of devices that it can handle workers were deployed on
2012 International Conference on Indoor Positioning and Indoor Navigation, 13-15th November 2012
Fig. 4. Histogram of Localisation Accuracy
Fig. 5. Evaluation of System Scalability
two different machines and the response time was measured,
i.e. the average time between sending an RSSI reading to the
platform and receiving a position estimate back. This was done
for different numbers of devices served simultaneously by the
platform. Fig. 5 plots the response times against the number of
simultaneously served devices. We used an older and slower
machine (.7), which was able to serve up to 10 devices
simultaneously before the response times and their standard
deviation started to deteriorate. On a faster server (.44) the
response times worsened after 30 simultaneous devices were
utilising the platform. However, even with 100 devices the
average response times remain below 10 seconds, although
the increasing standard deviation means that some users have
to wait unacceptably long in this case. To overcome this
limitation one of the major design goals of the platform was
to run distributed and therefore allow for scalability, i.e. allow
serving more devices simultaneously using more servers. It
can be seen in Fig. 5 that if we use both servers together the
number of devices that can be served simultaneously without
any performance degradation increases to 40, which is the sum
of the number of devices served by the individual machines
alone indicating a linear dependence between the number of
devices and the number of servers as desired. Even above that
limit, i.e. when the platform becomes overloaded, the response
times are better if both servers are used together.
IV. CONCLUSION
The future of indoor location based services requires an
architecture that is low cost, dynamic in nature and one
that scales with the varying user demands depending on
the environment utilising these services. This paper presents
such an architecture known as MapUme built on concepts of
distributed and dynamic service composition and invocation.
MapUme was deployed at a large trade fair and was shown
to provide location accuracy within 10m which is more than
sufficient to support the location based services delivered
through its scalable platform for the event. The platform
was designed to meet the challenges posed by the trade fair
environment i.e. the dynamic nature of the environment and
user need for context information.
ACK NOW LE DG ME NT
This work has been supported by Enterprise Ireland though
grant CF/2010/042 and CP/2011/0203.
REFERENCES
[1] F. Seco, A. Jimenez, C. Prieto, J. Roa, and K. Koutsou, “A survey of
mathematical methods for indoor localization,” in IEEE International
Symposium on Intelligent Signal Processing, 2009, pp. 9 –14.
[2] J. Biswas and M. Veloso, “Wifi localization and navigation for au-
tonomous indoor mobile robots,” in IEEE International Conference on
Robotics and Automation (ICRA), 2010, pp. 4379 –4384.
[3] D. Milioris, L. Kriara, A. Papakonstantinou, G. Tzagkarakis,
P. Tsakalides, and M. Papadopouli, “Empirical evaluation of signal-
strength fingerprint positioning in wireless lans,” in Proceedings of
the 13th ACM international conference on Modeling, analysis, and
simulation of wireless and mobile systems, ser. MSWIM ’10, 2010, pp.
5–13.
[4] M. Klepal, M. Weyn, W. Najib, I. Bylemans, S. Wibowo, W. Widyawan,
and B. Hantono, “Ols: opportunistic localization system for smart phones
devices,” in Proceedings of the 1st ACM workshop on Networking,
systems, and applications for mobile handhelds, ser. MobiHeld ’09,
2009, pp. 79–80.
[5] J. Letchner, D. Fox, and A. LaMarca, “Large-scale localization from
wireless signal strength,” in Proceedings of the 20th national conference
on Artificial intelligence, 2005, pp. 15–20.
[6] A. Fink, H. Beikirch, and M. Voss, “Improved indoor localization with
diversity and filtering based on received signal strength measurements,”
Computing, vol. 9, pp. 9–15, 2010.
[7] S. Gansemer, U. Gromann, and S. Hakobyan, “Rssi-based euclidean
distance algorithm for indoor positioning adapted for the use in dynam-
ically changing wlan environments and multi-level buildings,” in 2011
International Conference on Indoor Positioning and Indoor Navigation
(IPIN), 2011.
[8] E. Elnahrawy, X. Li, and R. Martin, “The limits of localization using
signal strength: a comparative study,” in First Annual IEEE Communi-
cations Society Conference on Sensor and Ad Hoc Communications and
Networks, 2004, pp. 406 – 414.
[9] Y. Zheng, “Location-based services on the cloud,” 2009, technical
Report, Microsoft Research, MSR-TR-2009-120. [Online]. Available:
http://research.microsoft.com/apps/pubs/?id=102318
[10] D. Koller and N. Friedman, Probabilistic Graphical Models: Principles
and Techniques. MIT Press, 2009.
[11] P. Saripalli, G. V. R. Kiran, R. R. Shankar, H. Narware, and
N. Bindal, “Load prediction and hot spot detection models for
autonomic cloud computing,” in Proceedings of the 2011 Fourth IEEE
International Conference on Utility and Cloud Computing, ser. UCC
’11. Washington, DC, USA: IEEE Computer Society, 2011, pp.
397–402. [Online]. Available: http://dx.doi.org/10.1109/UCC.2011.66
[12] W. Kleiminger, E. Kalyvianaki, and P. Pietzuch, “Balancing load in
stream processing with the cloud,” in Proceedings of the 2011 IEEE 27th
International Conference on Data Engineering Workshops, ser. ICDEW
’11. Washington, DC, USA: IEEE Computer Society, 2011, pp. 16–21.
[Online]. Available: http://dx.doi.org/10.1109/ICDEW.2011.5767653