Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Recent initiatives are starting to develop software systems based on the Internet of Things (IoT) in order to better managing the resources and services provided by a city. The cities that integrate this kind of solutions are those we call smart cities. Their purpose is to allow public institutions to get a better control of the city, and to improve the quality of life of their inhabitants [1].

Nowadays, many cities are offering publicly on the Internet open data collected from very different kinds of sensors. Hence, we can get valuable and updated information about air pollution, the availability and schedule of public transport, etc. However, this is not enough for making a city smart. Cohen [2] envisions smart cities with a broad, integrated approach, with the aim of improving the efficiency of the services they offer, making local economy to grow, and developing stronger citizen engagement. Indeed, as stated in [3], people are one of the pillars supporting the smart city.

Hence, it is necessary to put the citizens themselves in the smart city picture. For that we need to obtain information about how its inhabitants use the services offered by the city, and what is their user experience. This would help to improve city infrastructures with better plans, and to adapt them to the context of the people using them.

Our proposal consists in creating an ecosystem of shared data where citizens act as sensors providing information to others and to the city itself. The institutions will be able to obtain a rich feedback, to react to the needs of the citizens, and to dynamically adapt to them the services they offer. For that, we propose a distributed architecture which uses smartphones for the creation, storage and sharing of sociological profiles with information about their users’ experiences and habits.

One of distinctive features of our proposal is that the information about a user never leaves her smartphone, it is stored only in it. In order to access a particular piece of information, we need to request it to the smartphone, which may decide to provide it or not, according to its applicability for this particular user and her privacy preferences. Our proposal is based on the Internet of People (IoP) [4], a social computation model that was thought to improve the integration of people in the IoT, combining the information coming from the IoT with that from the people using it.

The structure of this paper is as follows. In the next section, we present our research objectives, further discussing the problem we are trying to solve, which is illustrated by means of an urban mobility scenario. In Sect. 3, we discuss several works in the literature that are somehow related to our proposal. Then, Sect. 4 presents our research methodology, divided into the different tasks to be addressed. Finally, the last section deal with the preliminary results.

2 Research Objectives

As mentioned above, we detect a deficit of information related to the inhabitants of a smart city and their habits and experiences using its services in their daily life. This way, the analysis of the information provided by the smart city sensors cannot take into account the context of the people, nor it is able to adapt to their needs.

Aiming to fill this gap, we propose a social and collaborative architecture focused on the people. The architecture relies on the use of smartphones, which we always carry on with us, to elaborate sociological profiles with information about our daily activities, and to offer them as a service in a controlled and secure way. Our proposal gives smartphones the role of autonomous devices able to analyze the data they obtain from their users and share the results with other users or third-party institutions. A collaborative network is created between users, offering them the opportunity to benefit from each other. The traditional notion of a centralized server containing all the information in the system disappears, letting every smartphone be a server.

To show how our proposal and the combination between IoP and the open data from IoT works, we now present an illustrating scenario of urban mobility.

Peter is a university student living in a medium size city. Every working day he catches the bus for going to the university. As always, he carries his smartphone with him, letting it to collect data about all his movements. Analyzing the information recollected about Peter’s locations and movements, it is easy to determine the location of Peter’s home, the places he usually visits, like the university, as well as the routes he follows to go to these places, the transportation means used, and his daily schedule.

By combining this information, stored in Peter’s mobile phone as part of his sociological profile, with some of the open data sets provided by the city, we would be able to suggest Peter alternative means of transportation, such as a public bicycle, if there are public bike racks both near his home and the university, or if the city traffic control center has detected a jam in the road by which Peter’s bus passes. This way, we promote the reduction of pollutants to the atmosphere, one of the goals of city representatives (Fig. 1).

Fig. 1.
figure 1

Urban mobility scenario

However, Peter has not got his bike helmet with him, so he discards the recommendation. At the same time, John, one of Peter’s neighbours, has decided to go to the university with his car. In order to share expenses, John’s smartphone gets in contact with Peter’s, offering him a ride by an alternative route that avoids the traffic jam.

Accordingly to the scenario just described, the goal of this PhD. project is to prove whether (a) smartphones can be used to infer information about the daily activities of their users, in particular their routines of movement in the city, (b) this information can be combined with open data publicly available on the web in order to build higher level knowledge of how the user is actually moving, (c) all the inferred knowledge can be represented as a sociological profile of the user, stored in the smartphones themselves, instead of in a centralized server, and (d) these profiles can be efficiently offered as a service to third parties, also from the smartphones.

In order to accomplish this goal, it will be necessary to tackle a number of different problems and open issues: open data integration, machine learning techniques for inferring the profiles, complex queries resolution, etc. Therefore, this not a PhD. that studies in depth a particular problem to find out a specific solution to it, but an in-width approach, proposing an alternative framework to how a kind of problems is addressed, combining and improving when necessary techniques coming from the fields of smart cities, collaborative architectures, and social and mobile computing.

3 Related Work

The literature provides a body of research works related to the goals of this PhD. project. If we focus on the data offered by smart cities, Jin et al. [5] present a framework for the realization of smart cities through the IoT. Their framework supports from the sensors installed in the city, to the management of the data and the cloud-based integration of the respective services. However, we will show that there still is a big issue to address: the standardization of the data the IoT offers. To this extent, the reference initiative we are considering to apply is the Web of Things (WoT) [6].

If we focus on collaborative scenarios, there are also precedents for smart cities. Cardone et al. [7] talk about the power the collectives could give to the smart cities and propose a crowdsensing platform for this purpose. In fact, many recent research works agree on solving the problems of IoT and the smart cities by adding a paradigm focused on the people [8, 9]. The social architecture that inspires ours is called People as a Service (PeaaS) [10]. It is a mobile computation architecture based on the IoP model. PeaaS promotes exploiting the smartphones’ potential for inferring, storing and sharing a user profile with personal information about their owner.

It is also worth to pay a look to industrial approaches such as Google’s or Apple’s assistants, which retrieve lots of personal data from their users. Considering the scenario above, they are able to get enough information about their users so that they can provide notifications about traffic jams or bus schedules before leaving. However, the drawback here comes from the fact that they only consider the interests of part of the stakeholders. Users can get information from other people’s experiences, that’s true, but all the information is stored and analyzed in the central servers of the corresponding companies, which exploit it mainly for their own benefit. Contrarily, ours is a decentralized model that allows establishing synergies between the different actors, being them people or institutions like the municipality, that would be able to improve their infrastructures by having more precise information about their use.

4 Methodology

To carry out with this work we have designed a research methodology consisting on different steps that are built one on another. At each step, we will need to define the problem being addressed, review the literature for current approaches to it, decide the technologies to be applied, devise solutions one step ahead the current state of the art, and define validation methods and processes according to the characteristics of the problem and the solution provided. Each one of the steps builds on the previous one to obtain more complex and higher-level resulting information.

Data acquisition.

The first step is data recollection. For our motivating scenario, we just need to monitor the GPS sensor of the smartphone, but other sources of information can also be considered. Locations are timestamped and stored in the phone, but we need to be aware of battery and memory consumption. Hence, the location is collected only when the user is moving. To deal with indoor GPS signal problems, alternative means like wifi triangulation and beacons have to be considered.

Event detection.

The next thing to do is to analyze these raw data for extracting more relevant information. We follow a model based on the DIKW pyramid (Fig. 2) [11] to reach a higher level of complexity with each step. The timestamps with GPS positioning correspond to the data level of the pyramid. From that we can infer events of interest, such as the places visited (those in which the user stayed for a certain time), or sharp changes of direction or speed when moving between them (which may correspond to a change in the transportation mean). These events constitute the information level of the DIKW pyramid. As we will explain in Sect. 5, we have already developed an ad hoc algorithm for detecting this kind of events in our mobility scenario. However, for more general situations we need to consider alternatives like Complex Event Processing [12], an emerging technology for defining events and that allows processing, analyzing and correlating big amounts of data to detect these relevant situations.

Fig. 2.
figure 2

DIKW pyramid

Routine inference.

At this point, we need to recognize event patterns in order to reach the knowledge level. The idea is to detect the places visited and the routes and speed of movement between them. The final goal is to be able to predict at least with a certain degree of confidence, daily movement routines and other relevant knowledge, for instance which of the places visited corresponds to the user’s home, or to his workplace, and when is he expected to be there, or even his habits (e.g. going to the gym every Tuesday afternoon). Several approaches can be considered to address this problem, such as machine learning techniques like Bayesian networks [13]. However, for a first approach, we are planning to use using Social Workflow techniques [14], which are in fact focused on people’s procedures for completing tasks, and that could help us representing and analyzing the information we have learnt up to this point. It is important to remember that all the information recollected and analyzed for a given user is stored only in her smartphone.

At this step, a first validation process must be made. We will install the system in the smartphones of a test population with different transportations habits. Then this people will be interviewed to validate the correctness of the knowledge inferred.

Integration with the IoT.

Now that we have knowledge about people, the next thing to do is to integrate this knowledge with the IoT information coming as open data from the smart city. Combining these two data sources, it would be possible both to get a more elaborate knowledge about the users (for instance, that Peter takes bus no. 11 for going to the university), and to adapt the services of the city to the needs and context of its citizens. One of the problems to be solved here is open data standardization. We know the data we want to use from the city. However, the description, schema and format of these data are not the same for all smart cities. We need some kind of semantic description or ontology for smart cities [15] in order to access and use IoT data independently of the city we are considering.

This is one of the issues addressed by SMART-FI (http://www.smart-fi.eu), a EU-funded research project in which we are currently involved. It is based on the FIWARE (http://www.fiware.org) platform and aims to create business opportunities for applications about smart cities, and to improve the citizens’ quality of life by using open data. Although the SMART-FI project is more oriented to development than to research, one of its case studies is actually an urban mobility scenario similar to that presented above.

Collaborative IoP.

Once people’s and IoT information is integrated, we would be able to reach the wisdom level of the DIKW pyramid, and to extract statistical information about the use of city resources, or even to elaborate recommendations, as for instance to extend a given bus line with an additional stop due to a high percentage of users of this line walking for a while in the same direction after leaving the bus.

However, as mentioned before, all the information is stored in the smartphone, so we will need a tool for querying it, and reaching for instance the users of a given bus line. Hence, we have to develop a high-level language that allows making abstract queries to the whole collaborative network of citizens: a language to interact with the IoP.

At this point, additional validations can be performed, using the smartphone itself to obtain feedback and determining whether the recommendations are being followed by the user. If this was not the case, interviews can again be used to find the reasons why.

5 Preliminary Results

Although this PhD. project is in an initial state, part of the work has already been done. GPS data recollection and a first attempt of its analysis have been designed and implemented in order to obtain some preliminary validation results. Considering several existing approaches of the smartphone use to monitor people with cognitive impairment [16], we have applied the concepts of the IoP model, and the reference PeaaS architecture that inspire ours in order to develop SafeWalks, a mobile app that determines the movement routines of people attained with initial stages of Alzheimer [17], sending alerts to caregivers in case of deviations from routine. This app has been developed as an initial proof of concept of our proposal, but certainly a more general solution to the problem, involving more sophisticated techniques needs to be devised.

The SafeWalks app monitors the GPS sensor of the smartphone and stores timestamps with locations every time the user moves. We established a configurable 35 m threshold, so every time the user moves this limit away, we collect the GPS position and also speed measurements, as shown in Fig. 3.

Fig. 3.
figure 3

Timestamps recollection over time

The next step is obtaining the places where the user has been, which correspond with periods of time when we do not collect data. We have developed an ad hoc analysis that detects a visited place when we find two or more continuous timestamps that are separated by at least five minutes (again, configurable), but not by more than 35 m, with a five-meter margin for errors. Then we store the mean point among these points as an instance of a Place.

Here it is important to pay attention in filtering possible GPS errors. Due to different reasons, it is not unlikely that the GPS sensor reports anomalous positioning. A given position is compared with previous and subsequent lectures and discarded if considered wrong. Also, anomalous speeds are discarded: when the user changes her speed, she needs to maintain it at least for the following timestamp with a ten percent error margin.

Once we have started to obtain instances of places, it is easy to determine the Routes between them. We only have to pair the instances of Places following a chronological order. The route is represented by the positions, speed and timestamps between them. We then compute points of interest in the route, corresponding to sharp changes in direction or speed. We need these points because sometimes the speed is not enough for determining the mean of transportation, for instance to distinguish between a car and a bus. We use the points of interest to compare the route with the ones followed by the buses of the city and their stops as shown in Fig. 4. Finally, when a Place or a Route is repeated a given number of times, it becomes a Routine or habit, and the app starts computing its frequency and schedule.

Fig. 4.
figure 4

Superposition of a user’s movement with a public bus line (in blue) (Color figure online)