=Paper= {{Paper |id=Vol-1752/paper28 |storemode=property |title= On Crowd Sensing Back-end |pdfUrl=https://ceur-ws.org/Vol-1752/paper28.pdf |volume=Vol-1752 |authors=Dmitry Namiot,Manfred Sneps-Sneppe |dblpUrl=https://dblp.org/rec/conf/rcdl/NamiotS16 }} == On Crowd Sensing Back-end == https://ceur-ws.org/Vol-1752/paper28.pdf
                                 On Crowd Sensing Back-end
                © Dmitry Namiot                         © Manfred Sneps-Sneppe
                          Lomonosov Moscow State University, AbavaNet,
                                       Moscow, Russia
              dnamiot@gmail.com,                       manfreds.sneps@gmail.com



                        Abstract                                       use them for collecting the local timely knowledge from
                                                                       the individual’s surrounding environment? In this
This paper is devoted to the crowd sensing applications.               process, we can collect various data: location data,
Crowd sensing (mobile crowd sensing in our case) is a                  camera information, air pollution data, etc. In other
new sensing paradigm based on the power of the crowd                   words, everything that could be done through the mobile
with the sensing capabilities of mobile devices, such as               device’s sensing features. As per the latest vision, we can
smartphones or wearable devices. This power is based on                collect data even from the individual itself – so-called
the smartphones, usually equipped with multiple sensors.               cyber-physical systems [3].
So, it enables to collect local information from the                       Of course, this approach presents a set of challenges.
individual’s surrounding environment with the help of                  The main challenges, mentioned in the scientific papers
sensing features of the mobile devices. In this paper, we              are user participation and anonymity, data sensing
provide the review of the back-end systems (data stores,               quality. Most of the challenges based on the fact that
etc.) for mobile crowd sensing systems. The main goal of               humans participate in the process directly or indirectly.
this review is to propose the software architecture for                Obviously, the performance and usefulness of crowd
mobile crowd sensing in Smart City environment. We                     sensing sensor networks depend on the crowd
discuss also the deployment of cloud-back-ends in                      willingness to participate in the data collection process.
Russia.                                                                The human participation raises issues regarding the
                                                                       privacy and security of data, as well as issues of revealing
1 Introduction                                                         of sensitive information [4]. Of course, there are issues
                                                                       regarding the quality and trustworthiness of the
    Crowd Sensing (in our case - Mobile Crowd Sensing)
                                                                       contributed data. For example, the big question is how to
is a relatively new sensing paradigm, which is based on
                                                                       detect and remove data contributed by malicious users
the power of the crowd mobile users (mobile devices)
                                                                       [5]. By the definition, there is no control over the crowd
with the sensing capabilities [1]. It is illustrated in Figure
                                                                       sensors and hence, the system cannot control their
1.
                                                                       behavior. Therefore, the overall quality of the sensor
                                                                       readings may deteriorate if counterfeit data is received
                                                                       from malicious users. Then, the obvious question is how
                                                                       to validate the sensing data that crowd sensors provide to
                                                                       the system. A commonly used approach is to validate the
                                                                       data depending on the trust level of the crowd sensor that
                                                                       reports it [6].
                                                                           The collection of potentially sensitive information
                                                                       pertaining to individuals is an important aspect of crowd
                                                                       sensing. For instance, sensors readings can be used to
                                                                       track users movements. Such tracks can profile users and
                                                                       this information could be used besides our crowd sensing
                                                                       tasks [7]. A popular approach for preserving users
Figure 1 Mobile Crowd Sensing [2]
                                                                       privacy is the depersonalization. It could be done via,
                                                                       removing any user identifying attributes from the sensing
So, the mobile crowd sensing is all about relying on the
                                                                       data before sending it to the data store. Another approach
crowd to perform sensing tasks through their sensor-
                                                                       is to use randomly generated pseudonyms when sending
enabled devices. The background for this process is very
                                                                       sensed data to the data store [8].
obvious. We see the increasing popularity of
                                                                           In our paper, we will target another challenge – data
smartphones (wearable devices in the nearest future),
                                                                       stores for mobile crowd sensing. We will present a
already equipped with multiple sensors. So, why do not
                                                                       review of tools (preferably – Open Source tools) and
                                                                       architectures used in crowd sensing projects.
Proceedings of the XVIII International Conference                          The rest of our paper is organized as follows. In
«Data Analytics and Management in Data Intensive                       section 2, we present the common models for crowd
Domains» (DAMDID/RCDL’2016), Ershovo, Russia,                          sensing data architectures. In section 3, we will discuss
October 11 - 14, 2016                                                  crowd sensing video applications. In section 4, we




                                                                 168
discuss mobile back-ends. Our review has been produced             depends on your specific needs, such as whether the data
as part of a research project on Smart Cities and                  should be private or accessible to other applications (and
applications for Smart Cities in Lomonosov Moscow                  users) and how much space data requires. Developers can
State University. The main goal of this review is to               use the following options:
propose the software architecture for mobile crowd                          Shared Preferences. This option stores
sensing in Smart City environment. We note also that the                        private primitive data in key-value pairs.
architecture of the system must meet the existing                           Internal Storage. This option stores private
restrictions in the Russian Federation, which will be                           data on the device memory.
discussed below.                                                            SQLite Databases. It stores structured data
                                                                                in a private database.
2 The common architecture for mobile                                   SQLite is the most often used solution here. It is a
crowd sensing                                                      self-contained, embeddable, zero-configuration SQL
                                                                   database engine [11]. For example, Open Source Funf
What are the typical requirements for mobile crowd                 package from MIT [12] saves sensing info in SQLite
sensing applications? The good summary has been                    database (Figure 3).
presented in [9], for example. Namely, the requirements
are:
      Minimal intrusion on client devices. The mobile
         device computing overhead always must be
         minimized. Of course, we should cover all the
         stages: active state (passing data to data store)
         and passive state (waiting for new sensing data).
      The fast feedback and minimal delay in
         producing stream information. It is actually a
         discussable point of view. Most of the sensors
         are asynchronous and this fact creates own
         requirements to gathering data, for example
         [10]. But in the general – yes, data must be
         quickly provided.
      Openness and security.
      Complete data management workflow. The
         application (the platform) should support all
         steps the data management cycle, from
         collection to communication.

Due to a complexity of sensing collecting process, some            Figure 3 Funf datastore [13]
models propose to use local databases for accumulating
data on mobile devices and subsequent replication of               So, we can consider crowd sensing system as a set of
them. This schema is illustrated in Figure 2 [9].                  local databases.
                                                                   Another popular option in local data stores for sensing is
                                                                   the deployment of cloud-based file stores, like Dropbox
                                                                   [14]. Of course, this architecture does not assume the
                                                                   real-time processing, but it is simple and very easy to
                                                                   implement and deploy.
                                                                       In the same time, many of the tasks require real-time
                                                                   (or near real-time) processing. In this case, the common
                                                                   use case is associated with some messaging bus. In this
                                                                   connection, we should mention so-called Lambda
                                                                   Architecture [15]. Originally, the Lambda Architecture
                                                                   is an approach to building stream processing applications
                                                                   on top of MapReduce and Storm or similar systems
                                                                   (Figure 4). Nowadays it is associated with Spark and
                                                                   Spark streaming too [16]. The main idea behind this
                                                                   schema is the fact that an immutable sequence of records
                                                                   is captured and fed into a batch system and a stream
                                                                   processing system in parallel. So, developers should
Figure 2 Local database for sensing                                implement business transformation logic twice, once in
                                                                   the batch system and once in the stream processing
    For example, Android platform offers several options           system. It is possible to combine the results from both
for local data saving. The solution developers can choose          systems at query time to produce a complete answer [17].




                                                             169
    The Lambda Architecture targets applications built             distributed computations over data streams. It is
around complex asynchronous transformations that need              illustrated in Figure 5.
to run with low latency. Any batch processing takes the                There are several Open Source solutions for data
time. In the meantime, data has been arriving and                  streaming support. You can find a review in our paper
subsequent processes or services continue to work with             [15]. For example, Flume [22] is a distributed system for
old information. The Lambda Architecture offers a                  collecting log data from many sources, aggregating it,
dedicated real-time layer. It solves the problem with old          and writing it to HDFS. Chukwa [23] has got similar
data processing by taking its own copy of the data,                goals and features.
processing it quickly and stores it in a fast store. This
store is more complex since it has to be constantly
updated.




                                                                   Figure 5 Apache Flink [21]

                                                                       But the most used system (at least, in sensing tasks)
                                                                   is Apache Kafka. Apache Kafka is a distributed publish-
                                                                   subscribe messaging system. It is designed to provide
                                                                   high throughput persistent scalable messaging. Kafka
Figure 4 Lambda architecture [18]                                  allows parallel data loads into Hadoop. Its features
    One of the obvious disadvantages is the need for               include the use of compression to optimize performance
duplicating business rules. Practically, the developers            and mirroring to improve availability, scalability. Kafka
need to write the same code twice – for real-time and              is optimized for multiple-cluster scenarios [24]. In
batch layers. One proposed approach to fixing this is to           general, publish-subscribe architecture is the most
have a language or framework that abstracts over both              suitable approach for scalable crowd sensing
the real-time and batch framework [19].                            applications. Technically, there are at least three
    The database (data store) design for stream                    possible message delivery guarantees in publish-
processing has got own specific [20]. Broadly speaking,            subscribe systems:
we have two options:                                                   1. At most once. It means that messages may be lost
    1. we can simply store every single event as it                         but are never redelivered.
         comes in (for sensing – every single                          2. At least once. It means messages are never lost
         measurement), dump them all in a database or a                     but may be redelivered.
         Hadoop cluster. Now, whenever we need to                      3. Exactly once. It means each message is delivered
         analyze this data in some way, we can run a                        once and only once.
         query against this dataset. Of course, this will              As per Kafka's semantics when publishing a message,
         scan over essentially all the events, or at least         developers have a notion of the message being
         some large subset of them;                                "committed" to the log. Once a published message is
    2. we can store an aggregated summary of the                   committed, it will not be lost. Kafka is distributed
         measurements (events).                                    system, so it is true as long as one broker that replicates
    The big advantage of storing raw measurements data             the partition to which this message was written is still
is the maximum flexibility for analysis. However, the              alive. In the same time, if a crowd sensing client
second option also has its uses, especially when we need           (producer in terms of publish-subscribe systems)
to make decisions or react to things in real time.                 attempts to publish a new measurement and experiences
Implementing some analytical methods raw data storage              a network error, it cannot be sure when this error
would be incredibly inefficient, because we would be               happens. Is it happened before or after the message was
continually re-scanning the history of measurements.               committed? The most natural reaction for the client is to
The bottom line here is that raw data storage and                  resubmit the message. It means, that we could not
aggregated summaries of measurements are both could                guarantee the message had been published exactly once.
be useful. They just have different use cases.                     To bypass this limitation we need some sort of primary
    One of the prospects attempts to combine batch and             keys for inserted data. It is not easy to achieve in
real-time processing for streams is Apache Flink [21].             distributed systems. For crowd sensing systems, we can
Flink has got a streaming dataflow engine that provides            use producer’s address (e.g. MAC-address or IMEI of a
data distribution, communication, and fault tolerance for          mobile phone) as a primary key.




                                                             170
    Kafka guarantees at-least-once delivery by default. It          communicating. The hope is that 5G will provide super
also allows the user to implement at most once delivery             fast and reliable data transferring approach [31].
by disabling retries on the producer and committing its             Potentially, it could change the sensing too. 5G should
offset prior to processing a batch of messages. Exactly-            be fast enough, for example, to constantly save all
once delivery requires co-operation with the destination            sensing information from any mobile device in order to
storage system (it is some sort of two-phase commit).               use them in ambient intelligence (AMI) applications
    In connection with Kafka, we highlight two                      [32]. Actually, in this model crowd sensing is no more
approaches. The rising popularity of Apache Spark                   than a particular use-case for ambient intelligence. But at
creates the big set of projects for Kafka-Spark integration         the moment, these are only theoretical arguments.
[25, 26]. And second, is the recently introduced Kafka
Streams. Kafka models a stream as a log, that is, a never-          3 Crowd sensing for video data
ending sequence of key/value pairs. Kafka Streams is a
library for building streaming applications, specifically           In this section, we would like to discuss crowd sensing
applications that transform input Kafka topics into output          for video data. From the practical point of view, the key
Kafka topics (or calls to external services, or updates to          question here is cloud storage. Almost all existing
databases, or whatever). It lets you do this with concise           projects use Amazon Simple Storage Service (S3) for
code in a way that is distributed and fault-tolerant [27].          media data (Figure 7)
    On the client side for crowd sensing applications we
could recommend the recently proposed by IBM Quarks
System [28]. Quarks System is a programming model
and runtime that can be embedded in gateways and
devices. It is an open source solution for implementing
and deploying edge analytics on varied data streams and
devices. It can be can be used in conjunction with open
source data and analytics solutions such as Apache
Kafka, Spark, and Storm (Figure 6).

                                                                    Figure 7 Amazon S3 storage

                                                                         Amazon S3 is cloud storage for the Internet. It is
                                                                    based on the conception of buckets. To upload your data
                                                                    (photos, videos, documents etc.), you first create a bucket
                                                                    in one of the AWS regions. You can then upload any
                                                                    number of objects to the bucket. In terms of
                                                                    implementation, buckets and objects are resources, and
                                                                    Amazon S3 provides APIs for managing them.
                                                                         Let us see, for example, the typical mobile crowd
                                                                    sensing application presented in [33].
Figure 6 Quarks

    As per the future, there is an interesting approach
from a new Industry Specification Group (ISG) within
ETSI, which has been set up by Huawei, IBM, Intel,
Nokia Networks, NTT DOCOMO and Vodafone. The
purpose of the ISG is to create a standardized, open
environment which will allow the efficient and seamless
integration of applications from vendors, service
providers, and third-parties across multi-vendor Mobile-
edge Computing platforms [29]. This work aims to unite
the telecom and IT-cloud worlds, providing IT and                   Figure 8 Amazon S3 service on practice
cloud-computing capabilities within the Radio Access
Network. Mobile Edge Computing proposes co-locating                 The cloud service provider used for this implementation
computing and storage resources at base stations of                 is Amazon. It uses Amazon SimpleDB, a non-relational
cellular networks. It is seen as a promising technique to           highly scalable data store. To store objects namely
alleviate utilization of the mobile core and to reduce              photos, videos and voice data, it used Amazon S3. The
latency for mobile end users [30].                                  implementation uploads objects to S3 and maintains a
    We think also that 5G networks should bring changes             key to the upload in SimpleDB. This is a basic solution.
to the crowd sensing models. In is still not clear, what is         Amazon S3 stores media objects and a separate relational
a killing application for 5G. One from the constantly               database (NoSQL database, e.g., key-value store) keeps
mentioned approaches is so-called ubiquitous things                 keys for objects.




                                                              171
      So, the key question here is Amazon S3 or its                 4 Mobile back-ends
analogs. With the requirement to store data locally (data
should not cross borders) the choice is not big. From                    Mobile Backend As A Service (MBaas) is a model
existing Russian analogs we know about Selectel [34].               for providing the web and mobile app developers with a
So, the real choice here is to select some Open Source              way to link their applications to backend cloud storage
platform for IaaS and build an own cloud. As Open                   [42]. MBaaS provides application public interfaces
Source platforms in this area, we can mention, for                  (APIs) and custom software development kits (SDKs)
example, Cloudstack [35]. Apache CloudStack is an                   for mobile developers. Also, MBaaS provides such
open source cloud computing software, which is used to              features as user management, push notifications, and
build Infrastructure as a Service (IaaS) clouds by pooling          integration with social networking services. The key
computing resources. Apache CloudStack manages                      moment here is the simplicity for mobile developers. As
computing, networking as well as storage resources.                 soon as many (most) of crowd-sensing applications rely
                                                                    on mobile phones, this direction is very interesting for
      Eucalyptus (Elastic Utility Computing Architecture
                                                                    crowd-sensing. Actually, the additional (to data storage)
for Linking Your Programs To Useful Systems) [36] is
                                                                    services are the key idea behind MBaaS.
free and open-source computer software for building
Amazon Web Services (AWS)-compatible private and
                                                                         As an Open Source product in this area, we can
hybrid cloud computing environments.
                                                                    mention Convertigo [43]. It lets developers connect to
      The OpenStack project [37] is a global collaboration          enterprise data using a wide range of connectors such as
of developers and cloud computing technologists                     SQL or Web Services, supports cross-platform
producing the open standard cloud computing platform                development for desktop and mobile apps on multiple
for both public and private clouds.                                 devices (iOS, Android), as well as server-side business
      OpenStack has a modular architecture with various             logic. As another Open Source solution in this area, we
code names for its components. We’ve mentioned just                 can mention FIWARE cloud (Fig. 9)
several components which are interested in the context
of this paper. OpenStack Compute (Nova) is a cloud
computing fabric controller, which is the main part of an
IaaS system. It is designed to manage and automate pools
of computer resources and can work with widely
available virtualization technologies. It is an analog for
Amazon EC2.
      OpenStack Object Storage (Swift) is a scalable
redundant storage system [38]. With Swift, objects and
files are written to multiple disk drives spread throughout
servers in the data center, with the OpenStack software
responsible for ensuring data replication and integrity
across the cluster. It lets scale storage clusters scale
horizontally simply by adding new servers. Swift is
responsible for replication its content.
      By our opinion, the cloud solution for video in               Figure 9 FIWARE mobile cloud [44]
Smart City applications is a mandatory part of eco-
system and OpenStack Swift is the best candidate for the                  As per [45], MBaaS offerings sit squarely between
platform development tool.                                          the existing platform-as-a-service vendors and the full
      Note, that EU project for Smart Cities platform               end-to-end solution space occupied by mobile
FIWARE proposes so-called stream generic enabler                    enterprise/consumer application platforms. The basic
Kurento [39]. Kurento proposes public API for creating              features for MBaaS include also support for
person-to-person services (e.g. video conferencing, etc.),          programming device features (e.g., plugins or APIs) such
person-to-machine services (e.g. video recording, video             as cameras or sensors, support for development
on demand, etc.) and machine-to-machine services (e.g.              environment (e.g., integrated version control or GIT),
computerized video-surveillance, video-sensors, etc.).              visual development tools, multiple operational systems
But in terms of data storage, it relies on public clouds,           support, cloud deployment, testing support, and activity
like Microsoft Azure.                                               monitoring. MBaaS should support user authentication
                                                                    (e.g., LDAP, Facebook Connect), mobile applications
      The importance of cloud-based video services is
                                                                    management, and provide task scheduler for push
confirmed by the industry movements. For example, we
                                                                    notifications planning [46].
can mention IBM’s newest (2016) Cloud Video Unit
business [40]. As a good example (or even a prototype
for the development), we can mention also Smartvue                  5 On practical use-cases and deployment in
applications [41]. By our opinion, the video processing             Russia
for data from moving cameras (e.g., surveillance cameras                 As a conclusion for this review, we will present two
in cars) is a new hot crowd-sensing area in Smart Cities.           use cases for back-end selection in prototype projects




                                                              172
with one mobile telecom operator. Firstly, it is wireless           exception here. Again, it looks reasonable to reuse
proximity information collection. Source data are                   already existing developments here. For example, we can
network fingerprints (list of wireless nodes with signal            mention such projects as oneM2M or FIWARE (there is
strength). Each fingerprint has got a time stamp and                a review for domestic standards in our paper [49]). But
could be associated (in the most cases) with some geo-              standards in IoT (M2M) do not provide dedicated data
coordinates. In our prototype, we use the following                 persistence solutions. They also rely on the existing
chain: Kafka – > Spark Streaming - > Cassandra.                     cloud solutions. So, all the above- mentioned data saving
Cassandra has been selected as a database suitable for              regulations and restrictions are applicable here.
time series. Most of the measurements (including                          The next important trend is the strategy of vendors
network proximity too) are de-facto time series data                of sensors and other measuring devices. Many of them
(multivariate time series). With the above mentioned                now include data storage as a part of “sensor”. For
chain, we can ensure the compliance with all applicable             example, Bluetooth tags Eddystone from Google include
local restrictions: the personal data will be stored on the         Google data storage too [50] (dislike iBeacons tags from
territory of the Russian Federation (all the above-                 Apple, for example). In our opinion, this trend will only
mentioned components could be placed in local data                  rise, because data capturing lets vendors to provide
centers) and Open Source components provide the                     additional services. It means that with the existing
absence of claims from the import-substitution point of             restrictions for data locations, the whole classes of
view (this schema does not use any imported commercial              sensors will be closed to deployment in Russia.
software). Such a bundle is in line with modern
approaches, so we can update components, reuse existing             References
open source solutions for them, and participate in                  [1] Tanas, C., & Herrera-Joancomartí, J. (2013). Users
developers activities (in Open Source communities                        as Smart Sensors: A mobile platform for sensing
around the above-mentioned components).                                  public transport incidents. In Citizen in Sensor
      The second example is much less successful. The                    Networks (pp. 81-93). Springer Berlin Heidelberg.
idea of the application is data accumulation for dash               [2] Foremski, P., Gorawski, M., Grochla, K., & Polys,
cameras in vehicles. Data-saving entities are geo-coded                  K. (2015). Energy-efficient crowdsensing of human
media files (media objects). So, it is crowd-sensing for                 mobility and signal levels in cellular networks.
media data. The business value is transparent – city                     Sensors, 15(9), 22060-22088.
cameras cover predefined areas only, where users (cars)             [3] Hu, X., Chu, T., Chan, H., & Leung, V. (2013). Vita:
in the city can cover all the areas dynamically. De-facto                A crowdsensing-oriented mobile cyber-physical
standard for media data in a cloud is Amazon S3. But due                 system. Emerging Topics in Computing, IEEE
to existing regulations (so-called personal data) it could               Transactions on, 1(1), 148-165.
not be used in Russia, because physically data will be
                                                                    [4] Ganti, Raghu K., Fan Ye, and Hui Lei. "Mobile
saved out of the country. Alternatively, we can think
                                                                         crowdsensing: current state and future challenges."
about Azure Cloud Blob Storage [47] (it is a rival for
                                                                         IEEE Communications Magazine 49.11 (2011): 32-
Amazon S3), but there is the same question about the
                                                                         39.
physical location of data outside of Russia. We think that
the “standard” solution is preferable, because there are            [5] Hirth, Matthias, Tobias Hoßfeld, and Phuoc Tran-
many available components and systems based on                           Gia. "Analyzing costs and accuracy of validation
Amazon S3 API [48]. So, even the simulation of this API                  mechanisms for crowdsourcing platforms."
on the own data model lets reuse many software                           Mathematical and Computer Modelling 57.11
components. In our opinion, with the declared import-                    (2013): 2918-2932.
substitution and data localization regulations Amazon S3            [6] Chen, Changlong, et al. "A robust malicious user
analogue in Russia should be developed. Definitely, data                 detection scheme in cooperative spectrum sensing."
centers building is not enough and we should talk about                  Global         Communications            Conference
software too. It is a bit strange, why this topic is not                 (GLOBECOM), 2012 IEEE. IEEE, 2012.
discussed. As a base for S3 analogue development, we                [7] Beresford, Alastair R., and Frank Stajano. "Location
can probably use OpenStack (OpenStack Swift). For                        privacy in pervasive computing." IEEE Pervasive
example, as we understand Rackspace Cloud Files is an                    computing 1 (2003): 46-55.
analogue of Amazon S3 and based on OpenStack Swift.                 [8] Konidala, Divyan Munirathnam, et al. "Anonymous
We would like to highlight also two important moments.                   authentication of visitors for mobile crowd sensing
The above-mentioned mobile backends are oriented                         at amusement parks." Information Security Practice
firstly for programming support (e.g., push notifications,               and Experience. Springer Berlin Heidelberg, 2013.
social networks support, etc.). They could not solve the                 174-188.
problems with data saving regulations, because they are             [9] Bellavista, Paolo, et al. "Scalable and Cost-Effective
oriented to existing cloud solutions (e.g., Amazon                       Assignment of Mobile Crowdsensing Tasks Based
cloud).                                                                  on Profiling Trends and Prediction: The ParticipAct
      Currently, Russia starts processes on the                          Living Lab Experience." Sensors 15.8 (2015):
standardization of Internet of Things and Smart Cities.                  18613-18640.
Of course, data persistence is an important part of such            [10] Namiot, Dmitry, and Manfred Sneps-Sneppe. "On
processes across the world and Russia could not be an                    software standards for smart cities: API or DPI."




                                                              173
     ITU Kaleidoscope Academic Conference: Living in                 [27] Kafka                                         Streams
     a converged world-Impossible without standards?,                     http://www.confluent.io/blog/introducing-kafka-
     Proceedings of the 2014. IEEE, 2014.                                 streams-stream-processing-made-simple Retrieved:
[11] Yue, Kun, et al. "Research of embedded database                      Jul, 2016
     SQLite application in intelligent remote monitoring             [28] Quarks http://quarks-edge.github.io/ Retrieved: Jul,
     system." Information Technology and Applications                     2016
     (IFITA), 2010 International Forum on. Vol. 2. IEEE,             [29] Mobile-edge         computing       executing     brief
     2010.                                                                https://portal.etsi.org/portals/0/tbpages/mec/docs/m
[12] Namiot, Dmitry, and Manfred Sneps-Sneppe. "On                        ec%20executive%20brief%20v1%2028-09-14.pdf
     Open Source Mobile Sensing." Internet of Things,                     Retrieved: Jul, 2016
     Smart Spaces, and Next Generation Networks and                  [30] Beck, Michael Till, et al. "Mobile edge computing:
     Systems. Springer International Publishing, 2014.                    A taxonomy." Proc. of the Sixth International
     82-94.                                                               Conference on Advances in Future Internet. 2014.
[13] Funf Journal http://funf.org/gettingstarted.html                [31] Osseiran, Afif, et al. "Scenarios for 5G mobile and
     Retrieved: Jul, 2016                                                 wireless communications: the vision of the METIS
[14] Novak, Gabor, Darren Carlson, and Stan Jarzabek.                     project." Communications Magazine, IEEE 52.5
     "An extensible mobile sensing platform for mhealth                   (2014): 26-35.
     and telemedicine applications." Proceeding of                   [32] Namiot, D., and M. Sneps-Sneppe. "On Hyper-local
     Conference       on     Mobile     and    Information                Web Pages." Distributed Computer and
     Technologies in Medicine (MobileMed 2013), At                        Communication Networks. Springer International
     Prague, Czech Republic. 2013.                                        Publishing, 2015. 11-18.
[15] Namiot, Dmitry. "On Big Data Stream Processing."                [33] Sherchan, Wanita, et al. "Using on-the-move mining
     International Journal of Open Information                            for mobile crowdsensing." Mobile Data
     Technologies 3.8 (2015): 48-51.                                      Management (MDM), 2012 IEEE 13th International
[16] Kroß, Johannes, et al. "Stream Processing on                         Conference on. IEEE, 2012.
     Demand for Lambda Architectures." Computer                      [34] Selectel                  API                 (Russia)
     Performance Engineering. Springer International                      https://selectel.ru/services/cloud-storage/ Retrieved:
     Publishing, 2015. 243-257.                                           May, 2016
[17] Lambda architecture http://lambda-architecture.net/             [35] Apache CloudStack https://cloudstack.apache.org/
     Retrieved: Jul, 2016                                                 Retrieved: May, 2016
[18] Simplifying the (complex) Lambda architecture                   [36] Kumar, Rakesh, and Sakshi Gupta. "Open source
     http://voltdb.com/blog/simplifying-complex-                          infrastructure for cloud computing platform using
     lambda-architecture. Retrieved: Jul, 2016                            eucalyptus." Global Journal of Computers &
                                                                          Technology Vol. 1.2 (2014): 44-50.
[19] Questioning        the       Lambda       Architecture
                                                                     [37] OpenStack https://www.openstack.org/ Retrieved:
     http://radar.oreilly.com/2014/07/questioning-the-
                                                                          May, 2016
     lambda-architecture.htm Retrieved: Jul, 2016
                                                                     [38] Wen, Xiaolong, et al. "Comparison of open-source
[20] Gal, Zoltan, Hunor Sandor, and Bela Genge.                           cloud management platforms: OpenStack and
     "Information flow and complex event processing of                    OpenNebula." Fuzzy Systems and Knowledge
     the sensor network communication." Cognitive                         Discovery (FSKD), 2012 9th International
     Infocommunications (CogInfoCom), 2015 6th IEEE                       Conference on. IEEE, 2012.
     International Conference on. IEEE, 2015.
                                                                     [39] Kurento – the stream-oriented generic enabler
[21] Apache Flink http://flink.apache.org/features.html                   https://www.fiware.org/2014/07/04/kurento-the-
[22] Waga, Duncan, and Kefa Rabah. "Environmental                         stream-oriented-generic-enabler/ Retrieved: May,
     conditions’ big data management and cloud                            2016
     computing analytics for sustainable agriculture."               [40] IBM Cloud Video https://www.ibm.com/cloud-
     World Journal of Computer Application and                            computing/solutions/video/ Retrieved: May, 2016
     Technology 2.3 (2014): 73-81.                                   [41] Smartvue http://smartvue.com/cloud-services.html
[23] Chukwa https://chukwa.apache.org/ Retrieved: Jul,                    Retrieved: May, 2016
     2016                                                            [42] Gheith, A., et al. "IBM Bluemix Mobile Cloud
[24] Garg, Nishant. Apache Kafka. Packt Publishing Ltd,                   Services." IBM Journal of Research and
     2013.                                                                Development 60.2-3 (2016): 7-1.
[25] Kaveh, Maziar. "ETL and Analysis of IoT data using              [43] Convertigo http://www.convertigo.com Retrieved:
     OpenTSDB, Kafka, and Spark." (2015).                                 May, 2016
[26] Maarala, Altti Ilari, et al. "Low latency analytics for         [44] FI-WARE                   Cloud               Hosting
     streaming traffic data with Apache Spark." Big Data                  https://forge.fiware.org/plugins/mediawiki/wiki/fiw
     (Big Data), 2015 IEEE International Conference on.                   are/index.php/Cloud_Hosting_Architecture
     IEEE, 2015.                                                          Retrieved: May, 2016




                                                               174
[45] Michael Facemire Mobile Backend-As-A-Service:                  ACM Symposium on Operating Systems Principles.
     The        New        Lightweight     Middleware?              ACM, 2011.
     http://blogs.forrester.com/michael_facemire/12-04-
                                                                [48] Amazon            S3          REST          API
     25-                                                             http://docs.aws.amazon.com/AmazonS3/latest/API/
     mobile_backend_as_a_service_the_new_lightweig                   Welcome.html Retrieved: Jul, 2016
     ht_middleware Retrieved: Apr, 2016
[46] Namiot, Dmitry, and Manfred Sneps-Sneppe.                  [49] Namiot, Dmitry, and Manfred Sneps-Sneppe. "On
     "Geofence and network proximity." Internet of                   the domestic standards for Smart Cities."
     Things, Smart Spaces, and Next Generation                       International Journal of Open Information
     Networking. Springer Berlin Heidelberg, 2013. 117-              Technologies 4.7 (2016): 32-37.
     127.                                                       [50] Namiot, Dmitry, and Manfred Sneps-Sneppe. "The
[47] Calder, Brad, et al. "Windows Azure Storage: a                  Physical Web in Smart Cities." Advances in
     highly available cloud storage service with strong              Wireless and Optical Communications (RTUWO),
     consistency." Proceedings of the Twenty-Third                   2015. IEEE, 2015.




                                                          175