=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
==
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