Evaluation of Internet of Things Solutions which Includes Cloud
Analytic Features
Ramesh Upreti
Thesis submitted for the degree of
Master in Network and System Administration 30 credits
Department of Informatics
Faculty of mathematics and natural sciences
UNIVERSITY OF OSLO
Evaluation of Internet of Things Solutions which Includes Cloud
Analytic Features
Ramesh Upreti
© 2017 Ramesh Upreti
Evaluation of Internet of Things Solutions which Includes Cloud Analytic Features
http://www.duo.uio.no/
Printed: X-press printing house
Abstract
Internet of Things (IoT) is one of the most popular terms in the field of information technology in today’s world. This topic has drawn the concentration of many researchers and leading IT companies. Many companies and researchers are continually working on it to bring out sound solution. However, Many people heard about IoT and its potential benefit, but they may not have idea how to work on it because it is an emerging technological revolution. The main objective of this thesis is to provide overview of various IoT platforms and solid implementation guidelines for people so that they can choose right IoT platform and implement their own solution.
To achieve this goal three different approaches will be used in this thesis. They are literature review, platform testing and simulation of real environment. The literature review approach will give general overview of 15 platforms and their features. The platform testing approach will provide details step by step description to implement your project from application creation to device registration, data collection, live visualization and real- time reaction (trigger event). It helps to create an idea to everyone to develop their own solution. Last but not the least, through the simulation of real environment approach, everyone can get the idea about how multiple sensors interact with each other.
This thesis provide the valuable information on various IoT platforms and how to implementation on it. From the analysis of fifteen platforms, it is came to know that live visualization, real-time reaction and 24x7 hours of services are major features of all platforms. The real implementation on Bluemix and other platforms give wider view on how to create application, register device, support real-time visualization and reaction. In short, this thesis provides way to develop your own solution.
Acknowledgements
Internet of Things is one of the main areas of research in today’s information technology. Working on this thesis, I got an opportunity to have a deep study into my area of interest i.e. into the world of Internet of Things. It has opened doors for me to research more in this field during my professional life.
First of all, I would like to thank my supervisor Stefano Nichele for the con- tinuous guidance, support, remarks, close monitoring and encouragement throughout this thesis. I would like to express how immensely import- ant his suggestion for the completion of my master’s thesis and weekly meeting. His long research experience (research style) and positive spirit always encouraged me to thrive more, work hard and realize my potential.
Whenever I had problem, the door of his office was always opened for me.
One more time, my huge thanks goes to him for his incredible support and encouragement.
I would also like to mention University of Oslo (UiO) and Oslo and Akerhus Universiy College (HiOA) for giving me opportunity to study this program and providing quality education. Similarly, my sincere gratitude goes to my professors Harek Haugerud, Anis Yazidi, Kyrre Begnum and Paal E. Engelstad for their amazing lectures and notes. They played an important role to enhance my research skill and knowledge about recent technologies.
I would like to remember my fellow classmates for their support and help.
The group study and valuable discussion always motivated and inspired me to work hard. Whenever I had technical problem, they were always there to support me.
Similarly, I would like to thank my wife Jyoti Subedi Upreti from the core of my heart for her amazing love, support, encouragement and taking care of my health all the time. She always motivated and inspired me by providing valuable feedback through proof reading. Last but not the least, I would like to give my deep concern to my parents and sisters for their love and support to march this academy journey. Without them, I would not be possible to achieve this carrier oriented degree.
Contents
1 Introduction 1
1.1 Problem statement . . . 3
1.2 Thesis Outline . . . 4
2 Background 7 2.1 Internet of Things . . . 7
2.1.1 Definition . . . 7
2.1.2 Trend . . . 8
2.1.3 IoT Elements . . . 11
2.1.4 Typical IoT Architecture . . . 11
2.1.5 Application Protocols . . . 12
2.1.5.1 MQTT . . . 12
2.1.5.2 XMPP . . . 13
2.1.5.3 CoAP . . . 13
2.1.5.4 DDS . . . 13
2.1.6 Principles of IoT . . . 13
2.1.7 Challenges of IoT . . . 14
2.2 Cloud Computing . . . 14
2.2.1 Service model of cloud . . . 16
2.2.1.1 Software as Service(SaaS) . . . 16
2.2.1.2 Platform as a service (PaaS) . . . 17
2.2.1.3 Infrastructure as a service (IaaS) . . . 18
2.2.2 Deployment Model of cloud . . . 18
2.2.2.1 Public cloud . . . 19
2.2.2.2 Private cloud . . . 19
2.2.2.3 Hybrid cloud . . . 19
2.3 Virtualization . . . 20
2.3.1 Types of virtualization . . . 21
2.4 Analytics . . . 22
2.4.1 Big Data . . . 22
2.4.2 Algorithms for Analytics . . . 23
2.4.3 Visualization . . . 24
2.5 Related Work . . . 25
3 Approach 27 3.1 Literature Review . . . 27
3.1.1 Search of Papers . . . 28
3.1.2 Visiting Relevant Websites . . . 28
3.1.3 Data Collection . . . 29
3.1.4 Result . . . 29
3.1.5 Data Analysis . . . 29
3.2 Platform Testing . . . 30
3.2.1 Choose the Service Provider . . . 30
3.2.2 Request Access . . . 30
3.2.3 Practical Implementation . . . 31
3.2.4 Analysis . . . 31
3.3 Simulation Testing . . . 31
4 Implementation and Result 33
4.1 Literature Review Result . . . 33
4.1.1 Google Cloud Platform . . . 33
4.1.2 Azure IoT Suite . . . 35
4.1.3 Amazon Web Service (AWS) IoT . . . 36
4.1.4 IBM BlueMix . . . 37
4.1.5 ThingSpeak . . . 39
4.1.6 Initial State . . . 40
4.1.7 ThingWorx . . . 41
4.1.8 Carriots . . . 42
4.1.9 Losant . . . 42
4.1.10 Digital Service Cloud: . . . 43
4.1.11 Nimbits . . . 44
4.1.12 Kaaproject . . . 45
4.1.13 Zetta . . . 46
4.1.14 SensorCloud . . . 47
4.1.15 Yaler . . . 47
4.2 Platform Testing Result . . . 48
4.2.1 IBM BlueMix . . . 49
4.2.1.1 Create an IoT app in Bluemix . . . 49
4.2.1.2 Register Real or Simulated Devices . . . 50
4.2.1.3 Install and Configure the IoT Starter App . 51 4.2.1.4 Verify your smartphone or tablet are send- ing message to the Watson IoT Platform . . 52
4.2.1.5 Configuring and running the Node-RED device simulator . . . 53
4.2.1.6 Live Visualization of Data in Watson IoT Platform . . . 55
4.2.1.7 Process messages from your Real Device
(smartphone) . . . 56
4.2.2 Initial State . . . 59
4.2.2.1 Create Data Stream Project . . . 59
4.2.3 Carriots . . . 61
4.2.3.1 Create your Project . . . 61
4.2.3.2 Send Stream Data Using MQTT . . . 61
4.2.3.3 Create a Listener . . . 62
4.2.3.4 Create a Trigger . . . 63
4.2.4 Losant . . . 64
4.2.4.1 Sign up and get your API key from Dark Sky API . . . 64
4.2.4.2 Create an Application on Losant . . . 64
4.2.4.3 Add the Device . . . 64
4.2.4.4 Requesting Weather Data . . . 65
4.2.4.5 Save Data to Device . . . 65
4.2.4.6 Create your Dashboard . . . 66
4.3 Simulation Testing Result . . . 67
4.3.1 Instant Contiki . . . 67
4.3.2 Start Cooja . . . 67
4.3.3 Run Contiki in simulation . . . 68
5 Analysis and Discussion 71 5.1 Literature Review Result . . . 71
5.2 Platform Testing Result . . . 73
5.2.1 IBM Bluemix . . . 73
5.2.2 InitialState . . . 75
5.2.3 Carriots . . . 76
5.2.4 Losant . . . 76 5.3 Simulation Model Result . . . 77 5.4 Discussion . . . 79
6 Conclusion 81
7 Future Work 83
List of Figures
2.1 Internet of Things-6A Connectivity [60] . . . 8
2.2 Internet of Things Overview showing End User and Applic- ation [27] . . . 9
2.3 Hype Cycle for Emerging Technologies, 2012 . . . 10
2.4 Hype Cycle for Internet of Things, 2016 . . . 10
2.5 Google Search Trend for Term "Internet of Things" from 2004 to Present . . . 11
2.6 IoT Architecture . . . 12
2.7 Cloud Computing Concept [63] . . . 16
2.8 Software as a Service . . . 17
2.9 Platform as a Service . . . 17
2.10 Infrastructure as a Service . . . 18
2.11 Public Cloud . . . 19
2.12 Private Cloud . . . 20
2.13 Hybrid Cloud . . . 20
4.1 Various Stages of IoT Data Management in Google Cloud Platform [25] . . . 34
4.2 Azure IoT Suite Overview [22] . . . 35
4.3 How AWS IoT Works [5] . . . 36
4.4 How IBM Watson IoT Works [29] . . . 38
4.5 Architecture of ThingSpeak IoT Framework [26] . . . 39
4.6 Overview of Initial State IoT Framework [54] . . . 40
4.7 ThingWorx Functional Overview [40] . . . 41
4.8 Five Steps to Build App with Carriots [14] . . . 42
4.9 Architecture of Kaa [32] . . . 45
4.10 Architecture Overview of Zetta [40] . . . 47
4.11 Yaler: How it Works [65] . . . 48
4.12 Dashboard of Your App . . . 50
4.13 IoT Starter Mobile App Icon . . . 52
4.14 Node-RED Device Simulator Flow . . . 53
4.15 Node-RED Temperature Monitor Flow . . . 54
4.16 Node-RED Flow Editor . . . 56
4.17 Trigger Event Node-RED Flow Editor . . . 57
4.18 Losant Node-RED Workflow . . . 66
4.19 Network Window of Cooja Simulator . . . 69
4.20 Motes communication in Cooja Simulator . . . 69
4.21 Radio range coverage in Cooja Simulator . . . 70
5.1 Temperature and location of simulator device . . . 73
5.2 Temperature comparison of two simulator devices . . . 74
5.3 Acceleration data of mobile device . . . 74
5.4 Tweet reaction on higher acceleration value . . . 75
5.5 Live Visualization of Temperature and Humidity Data . . . 75
5.6 Comparison of Data between Time Frame . . . 76
5.7 Live Visualization of Different Parameters of Data . . . 77
5.8 Packet Received by Each Mote . . . 78
5.9 Power Consumption of Each Mote . . . 78
List of Tables
5.1 Comparison of all IoT service provider . . . 72
Acronyms
The following acronyms are used in this thesis work:
AI- Artificial Intelligence AWS- Amazon Web Service
CART- Classification and Regression Trees
CHAID- Chi-squared Automatic Interaction Detector CoAP- Constrained Application Protocol
DDS- Data Distribution Service EC2- Amazon Elastic Compute Cloud
EEENNS - Equal-Average Equal-Variance Equal-Norm NearestNeighbor Search
HTTP- Hypper Text Transfer Protocol IaaS- Infrastructure as a service IoT- Internet of Things
IT- Information Technology KNN- K-Nearest Neighbor LPM- Low Power Mode
MQTT- Message Queue Telemetry Transport
NIST- National Institute of Standards and Technology OEM- Original Equipment Manufacturer
PaaS- Platform as a service
RFID- Radio-frequency identification SaaS- Software as Service
SPRINT- Scalable Parallelizable Induction of DecisionTree algorithm SVM- Support Vector Machines
TCB- Trusted Computing Base
WK-PDS- Wavelet Based K-Nearest Neighbor Partial Distance Search WSN- Wireless Sensor Networks
XMPP- Extensible Messaging and Presence Protocol
Chapter 1
Introduction
The Internet is one of the most important and powerful creations in human history [24]. It has a wide impact on all sectors including education, communication, business and many more, and has made the whole world connected from our homes. Internet has become even more popular in last decades, providing interesting and useful services to the public.
The innovation of new technologies in Internet communication field, e.g., optical fiber, broadband communications, 3G & 4G services and wireless communications, made the Internet faster day by day. According to Moore’s law, the number of transistors per square inch has doubled approximately every 18 months [50]. This opens the door for the development and use of small devices with connectivity capabilities. As a result even more devices are connected to the network. This trend has allowed a transition from people connected to the Internet to device connected to the Internet. In particular, from 2008 there are more devices connected to the Internet than people [24]. According to CISCO the Internet of Things (IoT) was born between 2008 and 2009. However, the term
"Internet of Things" was first coined by Kevin Ashton in 1999 [20], i.e., many devices are connected to the Internet and communicated with each other. In general, IoT refers to the networked interconnection of everyday objects, which are often equipped with ubiquitous intelligence [64].
Internet of Things is now considered as the next evolution of the Internet which will change everything - even the way we live [24]. IoT has become an increasingly growing topic of conversation [39] in today’s Internet world. According to the Gartner Hype Cycle for Emerging Technologies 2015 and 2016 [13, 45], Internet of Things was at the peak of Inflated Expectations of emerging technologies in IT. IoT is a concept which has the potential to impact not only on how we live but also on how we work. For instance, consider the following examples: if our armband vibrates when the heart beat is over the normal level, then it sends notification to our doctor, and at the same time the doctor analyzes our case and sends an ambulance or not, During this time, the doctor has already prepared the
treatment. Similarly, an alarm clock helps us to wake up at 6 a.m. and then notifies our coffee maker to start making coffee for us. In the same way, GPS navigation device in a car finds out the best route to reach our destination. In addition, IoT leads towards positive business results. It helps to create new revenue opportunities and reduce operational costs by managing our connected devices. According to the International Data Corporation, worldwide market for IoT solutions grew from $1.9 trillion in 2013 to $7.1 trillion in 2020 [36]. Therefore, IoT has endless opportunities and the potential to make everyday life and business easier and better.
However, there are many issues. For example, what about the data that is produced by all our devices? Do we have access to it? If not, then who has access to our data? If we want to store it, can we store it for ourselves?
Do we have enough space to store it? If we want to analyze it, do we have knowledge to analyze these data? Nowadays all the data that are produced by our device is collected by companies and analyzed in order to convert it from information to knowledge and from knowledge to wisdom [2].
Companies sell those information and knowledge to marketing agencies and make huge money. In this competitive world, the right information at the right time is big asset. We are producing valuable data and someone is collecting and making money from it. Is this fair? Is this ethical? Can not we store data produced by ourselves and use it for future purposes?
Obviously, we could store those data by ourselves. One alternative is to use cloud environments to store data produced by all our devices and sensors. According to IBM, cloud is computing and storage as service over the Internet [19]. It provides services that are cheaper over than physical computing. Similarly, accessibility and dynamic elasticity are additional benefits of cloud computing. Storing data produced by different devices means collecting petabytes of data. Storing petabytes of data in physical devices can be very costly. Buying bulky expensive physical system and keeping it in one room might not be good idea. On the other hand, accessibility is another important factor when it comes to physical storage devices. In this situation, cloud provides endless computing and storing capacity which can be accessible whenever and wherever we want.
Therefore, cloud can be a valid alternative for storing data produced by IoT devices.
How can we use data produced by all our devices? Such data is useless until we monitor it and take actions in real time or analyze to convert it into some useful information. In this project, the focus is on real time data, i.e, at the moment when the data is acquired. In case of IoT, real time does not begin when the data hit a computer system, by then it is already old.
Even mere second is crucial and therefore, immediate response is required.
IoT places its data in five different phases of data flow which are: real time, in motion, early life, at rest, and archived. The real time provides immediate response when the data is captured by the sensor while the archive provides deeper insights by analyzing current and historical data
[11].
However, analyzing data is not a simple task. It might require analytical skills, capability to combine different data sources and ability to find connections among them to produce useful information. Not everyone is data scientist or Artificial Intelligence (AI) expert. Such Big Data is difficult to analyze without Artificial Intelligence and Machine Learning.
Therefore, if we are able to interconnect the cloud data with some analytic tools, then the data produced by all our sensors and network devices could be monitored in real time and used to send notifications. Also, it could be stored in the cloud and analyze to produce useful information and knowledge.
This project is about evaluating and testing cloud based IoT platforms in order to provide guidelines to make it accessible to everyone, i.e., a simple way of providing all the aspects described before in an easy way. We want to find out what is available in the market, e.g., methods, tools , platforms, design techniques, implementations and protocols. Therefore, in this project, we aim at analyzing the currently available solutions for providing IoT services using cloud and analytic.
1.1 Problem statement
The following research question will help to address the problem statement of this thesis work.
• How to design and implement an IoT framework for connecting IoT devices with cloud platforms? And how to make such IoT solution easily available to everyone?
To support the main question, the following sub-questions are presented to find out the answer of the main question.
• Evaluation of various cloud based IoT framework, solution
• How to implement real time monitoring and immediate response?
• How to integrate IoT devices with cloud, analyst and control in one place?
• Simulate multiple sensors environment
Explanation of Technical terms:
Easily Available: Means that IoT services become easy to use from every- where, from home to business, without the need of technical expertise and at cheaper cost, i.e., it becomes accessible to public and everyone can be benefited from it.
Framework: Framework refers to the conceptual structure intended to provide IoT services. The framework converts the idea into structure and design. IoT framework deals with various factor such as how to design system to connect devices, how to store data, how to integrate with cloud analytics, how to provide security and many more things.
Real Time: In the case of IoT, real time begins from the devices and sensors, when the data is acquired so that immediate control can be implemented.
The meaning of real time may be different based on field, e.g., when the data passes through the network from devices to computer system or, to database or cloud. It can also be considered real time in some context, but for IoT, it might be too late. Real time means really real time even before the data reaches the cloud or the data center.
Monitoring & Control: Monitoring and control process in real time helps to notify people or give commands or take action on time. This is very important in some application, such as military operations where mere seconds of delay in monitoring and control may lead to huge destruction.
Analytics: Analytics is a powerful process of converting data into information and knowledge. Analysis at right time i.e., really real time, is very important for people and businesses. Currently, analysis is facilitated by the advancement of artificial intelligence and machine learning.
1.2 Thesis Outline
This section provides an overview of which section contains what kind of information. This thesis work has been divided into following chapters:
• Introduction: The existing problem, motivation and problem state- ment are described in this chapter.
• Background: The detail description of Internet of Things, cloud computing, related technology and related work are described in this chapter.
• Approach: The description of approach that has been used in this thesis called literature search, platform testing and simulation model are described in this chapter.
• Result: This chapter has divided result into three sections called lit- erature search result, testing result and simulation result. It provides
details description of each result section with some subsection in this chapter.
• Analysis and Discussion: This section provides analysis based on the result section in detailed way using tables and graphs. The related discussion is also included in this chapter.
• Conclusion:This chapter contains the summary of this thesis work.
• Future Work: The works which are unable to be done because of time limit frame and what could be done further are described in this chapter.
Chapter 2
Background
This chapter includes introduction to the multiple technologies that will be used in the later chapters of this paper work. Moreover, detail explanation and review of other related works will be discussed and presented here.
2.1 Internet of Things
Internet of Things also called IoT in short, is one of popular words in today’s IT market. IoT is gaining ground due to the huge advancements in the field of electronics and wireless communication technology [53]. In short period, it has entered everywhere including home, business, car, industries, health sector and many more. Now, every small electronics devices has feature to connect with Internet via WiFi and promoted as
"smart device" which is capable of offering new possibility and will make life easier and better. Therefore, there are increasing number of devices and sensors which are capable to communicate with each other via Radio- frequency identification (RFID), WiFi etc. This results in the generation of enormous amounts of data which have to be stored, processed and presented in a seamless, efficient, and easily interpretable form [27]. The connectivity of IoT is even further clearer with below figure 2.1 where you can see not only devices, but also that Internet of Things can connect anything, anyone, any place any service and any network at anytime.
2.1.1 Definition
The term Internet of Things is coined for the first time by Kevin Ashton executive director of the Auto-ID Center during his presentation [6].
After this, many people and companies defined it in their own way.
However, there is no single standard definition of IoT, I have included some definitions. The RFID group defines the Internet of Things as:
Figure 2.1: Internet of Things-6A Connectivity [60]
The worldwide network of interconnected objects uniquely address- able based on standard communication protocols.
According to the group of research people [27]:
Interconnection of sensing and actuating devices providing the ability to share information across platforms through a unified framework, developing a common operating picture for enabling innovative applications. This is achieved by seamless ubiquitous sensing, data analytics and information representation with Cloud computing as the unifying framework.
According to ISO STANDARD IEC JTC 1 [1]
An infrastructure of interconnected objects, people, systems and information resources together with intelligent services to allow them to process information of the physical and the virtual world and react
The concept of IoT is clearly represented with figure 2.2 where home, transport, community, national etc are connected with IoT cloud which has access to the export of related fields such as doctor, policy maker.
2.1.2 Trend
Internet of Things not only includes the complex object such as phones, tablets, laptop, etc but it also covers and comprises everyday object such as cloths, food, paper, monuments, light, etc. [23, 42]. These objects,
Figure 2.2: Internet of Things Overview showing End User and Application [27]
acting as a sensor or actuators, has the capability to interact with other objects in order to reach a common goal [10]. IoT is applicable or suitable for every sector and field; therefore it is gaining more popularity day by day. Similarly, recent development of variety of small advance devices and communication technologies fueled the Internet of Things.
In 2012, IoT was on the list of emerging technology, and expected years of implementation was thought to be more than 10 years according to Gartner hype cycle for emerging technology 2012 [46] which is presented in figure 2.3.
This trend was even rapidly developed in recent last two years. According to Gartner hype Cycle for Emerging Technologies 2015 [13] and Gartner Hype Cycle for Internet of Things 2016 [45], IoT was at the peak of Inflated Expectations, and it will reach to plateau of productivity in 5 to 10 years.
The figure 2.4 demonstrates result of hype cycle for Internet of Things 2016 where we can see IoT is at pick point, and placed in between event stream processing and machine learning.
According to the Google search trends from 2004 to present time, the term
’Internet of Things’ widely used in Google search after 2011. This trend indirectly reveals that it has attracted wide number of researchers and people from different fields. The Google search trend is illustrated with figure 2.5 where searching trend of word Internet of Things is gradually increasing after 2011, but after 2013 it has been increasing exponentially.
Figure 2.3: Hype Cycle for Emerging Technologies, 2012
Figure 2.4: Hype Cycle for Internet of Things, 2016
Figure 2.5: Google Search Trend for Term "Internet of Things" from 2004 to Present
2.1.3 IoT Elements
There are few main elements which bring Internet of Things to new level, in other words, these terms make IoT possible. We can categorise these elements into three main components: (a) Hardware - means the devices with sensor and accumulate and embedded communication technology, e.g., using the Radio Frequency Identification (RFID), address schemes and Wireless Sensor Networks (WSN) technologies, devices can connect and communicate with other devices in the network (b) middleware - the cloud which provides the on demand storage and computation tools in cheaper and reliable way (c) Presentation - tools with powerful algorithms to present the data in an easy way for different applications.
2.1.4 Typical IoT Architecture
Internet of Things is a big topic which covers all sectors. Different people and companies define their architecture in their own way, however the basic principle is the same. Typical architecture of IoT integrated with cloud is clearly presented in figure 2.6 where we can see everything, such as home, parking, traffic signal etc. connected (integrated) with cloud which provides information to cloud. The cloud performs analysis, generate trigger event on matching rules, display live data etc. This all result is accessible to related people via application.
The main idea behind this architecture is, all kind electronic devices, e.g., mobile phones, heartbeat reader, small devices with sensor and activator etc. which has the capability to connect and communicate with other devices through Internet. All these devices generate different forms of data which are very important for taking sound business decision. Therefore, we first connect (integrate) these devices with cloud. After that devices can send their data to the cloud at real time. Once the data received on cloud based on analysis, it responses immediate trigger action to that device or to other devices on the network. At the same time, these data are stored on cloud data center, and analysis is done using machine learning
Figure 2.6: IoT Architecture
and algorithms, and present result in some visual format which is easily understandable to everyone.
2.1.5 Application Protocols
With the advancement in electronic and communication fields, different kinds of protocols are introduced with new features and faster services.
Those advance protocols make devices possible to communicate with Internet and other kind of devices. Here, I have included some of the important protocols which we have to know.
2.1.5.1 MQTT
The Message Queue Telemetry Transport (MQTT) follows a publish/sub- scribe architecture, which contains three main components: publisher, broker and subscriber. The small sensor devices act as publisher and send data to the broker and return back to sleep mood. Subscribers are applications which are connected to the broker to receive sensor data. As name states MQTT’s main purpose is telemetry i.e. remote monitoring. It collects data from many small devices and transports that data to the IT infrastructure so that all small devices of the network can be monitored.
2.1.5.2 XMPP
Extensible Messaging and Presence Protocol (XMPP) is another protocol which was developed for instant messaging to connect people with other via text messages. XMPP supports both publish/ subscribe and request/
response architecture [48]. XMPP is designed for near real time application however it does not provide guarantee of quality of service, and increases power consumption. It is rarely used in IoT application.
2.1.5.3 CoAP
The Constrained Application Protocol (CoAP) is standard RESTful protocol [9]. Like Hypper Text Transfer Protocol (HTTP), CoAP is based on widely successful REST model i.e. request/response model. Server makes available of all services through URL, and clients use GET, PUT, POST, and DELETE methods to retrieve, create, update and delete resources. It is built over UDP, and has a light mechanism to provide reliability. Power consumption is comparatively higher than MQTT protocol; however, it provides simplicity and lower overhead for machine- to-machine applications.
2.1.5.4 DDS
Data Distribution Service (DDS) is another major protocol in IoT which targets devices. As name states, it distributes one device data to other devices. DDS has the capability to transfer millions of messages per second to multiple receivers. This is more suitable for implementing real time application [51].
2.1.6 Principles of IoT
Main principles behind the Internet of things are as follows:
Big Analog Data: Data are not only in digital form, it is also available in Analog format. Analog data represents the natural and physical world i.e.
everything in this world, e.g., light, sound, velocity, pressure, location, tem- perature, etc. which is available everywhere. It’s the biggest of all big data.
Perpetual Connectivity: Internet of things is always connected with other devices and consumers which brings three main advantages in business:
(a) Continuous monitoring which provides real time knowledge of condi- tion and helps to (b) maintain if anything goes wrong, all these help organ-
ization to (c) motivate employee and take some actions.
Really Real Time: Real time for IoT may be different for people who are not in IoT field. In IoT real time means really real time i.e. when the data is captured at devices, when it reaches to data center then it is too old for IoT.
Therefore, for crucial operation it is very important.
The Spectrum of Insight: Normally data passes through five different phases from real time, in motion, early life, at rest, and archive in IoT. Data at real time phase are important, and require immediate analyst and re- sponse than data at archive phase.
The Next ’V’: Big data introduces four characteristics: Volume, Velocity, Variety, and Value. Dr. Tom Bradicich introduced fifth V called Visibility in term of IoT so that anyone can work and see data when needed in visual form [11].
2.1.7 Challenges of IoT
Internet of Things is emerging very rapidly in last few years. Many researchers and companies are working with this technology to make it more stable. However we cannot deny its challenges. Some of the major challenges faced by IoT are as follows [59]:
• Authorization: Adversary access to important data and functions.
• Authentication: False data can be treated as correct.
• Availability: Will not maintain a persistent connection to the network which results in delayed updates and management.
• Privacy and Confidentiality: Sensitive and personal information is passed through IoT devices, must have strong encryption mechanism
• Post Production management: Backdoors can be introduced to the system
• Key distribution: Key can be snapped up during transit
• Denial of Services: Render device unusable, loss of data
2.2 Cloud Computing
Cloud computing is one of the most popular terms in today’s computer science world, and one of the very hot topics in research and development
work. During these later decades, cloud computing has grown very rapidly and used by many people and companies all around the world. Now cloud computing has been bringing new and easier computing ways.
Therefore it takes the computing in new level, and consider it as the future of computing as well. If we go back to the history, it is not clear about the actual time period of its origin. However, the gradual evolution started from 1950’s with mainframe computing, and slowly developed with concept of virtual machine and virtual private network. Finally, in 1996 the term cloud computing is introduced by Compaq in its internal document [63]. Since 2000, cloud computing has come into existence, and has gained more popularity after the invention of Amazon Elastic Compute Cloud(EC2) on August 2006 [8].
In general, cloud computing means delivery of hosted services over the Internet. In other words, cloud computing is the Internet based computing which provides the resources and data to other computer on demand.
According to IBM, in simple term it is computing as service over the Internet [19].
Cloud computing, often referred to as simply ”the cloud,” is the delivery of on-demand computing resources-everything from applications to data centers-over the Internet on a pay-for-use basis.
Moreover , National Institute of Standards and Technology (NIST) provides more generalized form of definition, also called de facto definition of cloud computing. According to NIST [38],
Cloud computing is a model for enabling ubiquitous, conveni- ent, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applica- tions, and services) that can be rapidly provisioned and released with minimal management effort or service provider interac- tion. This cloud model is composed of five essential character- istics, three service models, and four deployment models.
The concept of cloud computing can be visualized in figure 2.7 where all the applications such as monitoring, finance etc., platform such as database and infrastructure such as computing, storage, network etc. are available via cloud computing, and can be accessed from anywhere at any time.
Internet of Things is integrated with cloud computing because of its useful features, and to fulfill the promise of our connected world. One of the feature is storage, cloud provides large volume of storage facility based on your requirements. Similarly, computing and analyst is another important feature for IoT. Cloud provides better and faster online computing services
Figure 2.7: Cloud Computing Concept [63]
for processing your task, and attach with modern algorithms to analysis data and present data in different visual form. Moreover, it provides meter service which means we will pay only for what we have used. Self service is another dashing feature, where all the IT resources we need will have self service access so that we can customized as we want.
2.2.1 Service model of cloud
There are following service models provided by cloud:
2.2.1.1 Software as Service(SaaS)
Software as a Service (SaaS) is a software distribution model [52] in which software vendors host their application and make them available to customers over the Internet which can be accessed by anyone as their needs. The figure 2.8 presents the concept of SaaS where user should not worry about buying, installing, updating and maintaining software;
everything will be managed by cloud for you.
The benefit of SaaS are:
• Accessible from any devices connected to Internet
• Automatic update, patch managed by provider and reduce the burden on in-house IT staff
Figure 2.8: Software as a Service
• Scalable service on needs
• No worry of data lost even your cluster is damaged
2.2.1.2 Platform as a service (PaaS)
Platform as a service (PaaS) is a model which provides a cloud-based environment to the developer where he/she can build his/her application and services over the Internet. Therefore, it reduces the cost and complexity of buying and managing the underlying hardware, software, provisioning, and hosting. Figure 2.9 presents the idea of PaaS visually. You can see in figure where different platforms such as decision support, web deployment etc. are deployed and managed by cloud.
Figure 2.9: Platform as a Service The benefits of PaaS are:
• Build and host application is faster and easier
• No investment of physical infrastructure
• Work on team from different locations is possible
2.2.1.3 Infrastructure as a service (IaaS)
Infrastructure as a service (IaaS) provides virtualized computing resources including server, storage, networking and data center space over the Internet to the companies and organization. Customers pay on per-use basis, typically by the hour, week or month. Figure 2.10 illustrates the concept of IaaS more clearly. As you can see in figure, users do not need to think about system management, networking etc; they just focus on their task. Everything is managed and made up, and cloud is run for you.
Figure 2.10: Infrastructure as a Service The benefit of IaaS are:
• No investment on your own hardware
• Dynamic scaling to support real time loads
• Automation of administrative task is easy
2.2.2 Deployment Model of cloud
Deployment of cloud can be done in one of the following ways:
2.2.2.1 Public cloud
Public cloud is based on standard cloud model, which provides publicly shared virtual resources for example applications and storage, available to the general public over the Internet. Customers do not need to worry about hardware and software which is owned and managed by providers.
It provides scalability to meet demand and save huge cost because you pay for what you use. However, public cloud is not suited for high confidential information. The public cloud concept is presented beautifully in figure 2.11 where you can see applications, platform and infrastructure which are shared between multiple group of people.
Figure 2.11: Public Cloud
2.2.2.2 Private cloud
Private cloud is an infrastructure operated and run solely for a single organization for company, which is either managed internally or service provided by third party, and hosted may be internally or externally.
Therefore, private cloud is dedicated to specific group of customers, and this is more suited for secured confidential and core systems. The main advantage of private cloud is high security and privacy. Moreover, cost and energy efficiency and high automated management are other attraction points of private cloud. As the sensitivity of data is increasing, private cloud adoption has raised highly each year. As per the report of Right Scale, it has been increasing from 63% to 77% year-over-year [62]. Figure 2.12 illustrate private cloud concept where resources are shared with only particular group, no one else has access to that resources.
2.2.2.3 Hybrid cloud
Hybrid cloud is the combination of public and private cloud which provides integrated cloud service to the organization and company.
Figure 2.12: Private Cloud
Hybrid cloud gives businesses greater degree of flexibility and more data deployment options. Hybrid cloud is particularly valuable for dynamic or highly changeable workloads. For instance, transaction entry system (e-commerce site) and big data processing where sale and business data is stored in secure private cloud and its analysis queries on public cloud which can be scale to support demanding distributed task. Despite these benefits, hybrid cloud has some technical and management challenges. For example, private cloud data must be accessed and interacted with public cloud. So, it requires API capabilities and good network connectivity.
According to the survey done by Right Scale in 2016, hybrid cloud adoption grew significantly i.e. from 58 percent to 71 percent over a year [62]. The concept of hybrid cloud is presented in figure 2.13 where you can see how it provides service by combining public and private cloud.
Figure 2.13: Hybrid Cloud
2.3 Virtualization
Cloud computing is made up of the key technology called virtualization [16, 69]. Virtualization is broad term in the field of IT world where
we see virtualization as the process of creating the software based i.e.
virtual representation of machine then the physical one. In general and simple view, virtualization is a technology which allows us to use the same hardware machine to run multiple operating systems by allocating or dedicating the underlying physical hardware resources of computer.
Although virtual machine uses the same physical resources for multiple instances on the same piece of hardware, virtualization software, which is also called hypervisor, ensures that the Trusted Computing Base (TCB) concept is always applied and does not allow the virtual machine to see what data and communication it is doing with physical resources.
Therefore, each virtual machine is completely unknown about which data the other virtual machine is taking or processing from the RAM or processor [34, 52]. Organizations are spending huge budget on their maintenance of IT infrastructure which can be saved significantly with virtualization. Virtualization can increase flexibility, scalability;
development of workload gets faster, performance and availability of system increases. On the other hand, operations become automated which makes IT simpler to manage and less costly to operate. Moreover, it minimizes or eliminates downtime of system and helps to simplify the data center management [61].
2.3.1 Types of virtualization
Full virtualization: In full virtualization, one or more operating systems and applications that they contain are run on the top of virtual hardware.
In full virtualization, the guest OS is completely unaware about it is being virtualized; and needs no modification. One of the common uses of full virtualization is desktop virtualization where the single desktop will be running more than one OS instances [49].
Hardware-Assisted Virtualization: Hardware-assisted virtualization is in- troduced with the first generation CPU. In hardware-assisted virtualiza- tion, CPU is aware that it is executing instructions from the guest OS.
Therefore, it maintains simultaneously data registers for both the physical system and virtual system.
Paravirtualization: The Xen project team introduced paravirtualization as an efficient and lightweight technique. It is an enhancement of virtualization where the guest OS is recompiled before installation to the virtual machine. Therefore the main idea of paravirtualization is to modify the OS/VMM interface i.e. kernel to make it classically virtualizable [4].
2.4 Analytics
Internet of Things is the concept of connecting everything and everybody, from the sensor at our armband to the sensor at robotics library and research center. All these devices with sensors and people are connected through the Internet. Then can we imagine how much data they are producing in every second and what we are doing with these data. But without analytics, the Internet of things is useless or has no potential value.
Only the Internet of things without analytics is as same as trying to hear a voice of single person in a crowd of millions of people [3]. Analytics is the heart i.e. core part of IoT and helps companies to reduce maintenance costs, avoids equipment failures chances and improve business operations. IoT technology offers an automated mechanism for pulling devices data into data centers, data warehouse or big data platform for analysis [57].
2.4.1 Big Data
Big data is one of the popular topics in today’s IT and business market.
It supports large volume of structured, semistructured and unstructured data that are potential to be mined for information [47]. Big data is famous with its 3V characteristics: Volume, Verity and Velocity. The tremendous volume of data comes from different sources, such as scientific experiment and research, business sales, online customer experiences and real time sensor devices from Internet of things. The Internet of things introduces analog data as well which represents the natural and physical world that is everywhere in this world, e.g., light, wind, sound, motion, temperature, video, time, location, etc. This data is the oldest, fastest, and biggest of all big data [11].
Data is available in wide variety of all types, e.g., structure data used in SQL database, unstructured data such as document file, video, sensor data, photo etc. Data exists everywhere in different forms. This huge volume of wide variety of data is processed and analyzed by big data at faster speed so that people get some useful information on time and take some decision based on this. Velocity is even more meaningful in big data with the introduction of machine leaning and artificial intelligence, which helps to find the hidden patterns from collected data.
Big data provide new data analysis tool as compared with traditional data analysis in today’s data science, because semi-structure and unstructured data may not be fit well in data warehouses using traditional relational database. Similarly, traditional database may not be able meet the processing speed required for new data sets that needs to be updated continuously or frequently. As a result big data becomes choice of many big companies and getting more popularity day by day with some advancements on it.
Big Data is the process of mining large data sets to find out hidden patterns, market trends, unknown correlations with others and many more useful information. The analytics finding from big data helps organization to make new effective market policy, better customer services, competitive advantage over rival companies, improved operational cost, more business opportunity and many other business benefits [56]. Big data helps the organization to take wise decision at right time.
2.4.2 Algorithms for Analytics
There is no doubt that analytics is crucially important in Internet of Things and in any data collections. However, analyzing the data from different source, making correlations with others and finding hidden patterns is not an easy task. Such kind of analytics is very difficult. It requires a lot of analytical skills. Different kinds of algorithms are introduced in the field of analytics. Algorithms are designed by experts to do specific task in a systemic way. All kinds of machine learning algorithms are normally fit into one of following categories:
Supervised Learning Supervised Learning is the process of mapping input data i.e. also called predictors which are independent variables with desired output i.e also called target or output variable which are dependent in nature. In short, predicting the desired output based on input variables is called supervised learning. The training process, the process of mapping input with output are continue until the model gets a desired level of accuracy on input data which is also called training data. Some of the popular supervised learning algorithms are as follows: Regression, Logistic Regression, K-Nearest Neighbor (KNN), Back Propagation Neural Network, Decision Tree etc.
Unsupervised LearningUnsupervised learning does not have predefined desired result and any label. In this algorithm, it takes data sets and learns them, and finds out the similar structures and segments, and put them into different groups. This algorithm is suitable for finding the hidden pattern and grouping in data. The most common unsupervised learning is used in cluster analysis, it is also suitable for social network analysis, market segmentation etc. Google uses this learning method in its www.news.google.com site. Example of Unsupervised Learning include:
K-means, Apriori etc.
Semi-Supervised Learning This is the combination of supervised and unsupervised learning. The input is mixed of labeled and unlabeled data. This is because, labeled data are often difficult, expensive, or time consuming, and require experienced human. On the other hand, unlabeled data is easy to collect. In this algorithm, the model learns the structure of the data to organize and make some predictions to generate better result. In theory and practical fields, it is gaining more popularity because it requires
less human effort and gives higher accuracy [68].
Some of the popular algorithms are as follows:
Decision Three: A decision three provides highly effective structure which contains multiple options and find out the possible outcome of choosing those options [55]. Decision three is similar to flow-chart structure where each internal node is represented by rectangle, and leaf nodes are by ovals.
The internal nodes may contain two or more child nodes and labeled with distinct outcome test. Similarly, leaf node also contains associated label.
This algorithm helps us to take the best decisions from existing information and guesses. Some of the popular algorithm based on decision three are as follows: Iterative Dichotomiser 3(ID3), C4.5, Supervised Learning In Quest(SLIQ) [17, 37], Scalable Parallelizable Induction of Decision Tree algorithm(SPRINT), Classification and Regression Trees (CART), chi squared automatic interaction detector(CHAID) [21] and more.
KNN: The KNN stands for K-Nearest Neighbor algorithm which is introduced by Nearest Neighbor Algorithm to find out the rarest point of observed list. To find out the k-nearest point is the main concept of this algorithm [35]. Even this is simple algorithm, it gives highly competitive results. There are lots of improved versions of KNN algorithms available such as: Wavelet Based K-Nearest Neighbor Partial Distance Search (WKPDS) algorithm, The Equal-Average Equal-Variance Equal- Norm Nearest Neighbor Search (EEENNS) algorithm [29], and many other improvements [18].
Bayesian Networks: Bayesian Networks (BN) are directed acyclic graphs where node not only represents random variable, but it is also hypotheses, beliefs, and latent variables [28]. The edge between the nodes represents probabilistic dependencies among the corresponding random variables. In BN, the variable is not connected node which is conditionally independent of each other [18]. BN is one of the extremely popular algorithms, and it has been widely used in different application areas, such as machine learning, weather forecasting, signal processing, natural language processing, speech recognition, etc [28].
Support Vector Machines algorithm: Support Vector Machines(SVM) is a supervised machine learning algorithm that analyzes data and recognizes patterns. It is more suitable for classification challenges; however it is also used for regression challenges.
2.4.3 Visualization
The analysis of data using powerful algorithms, e.g., machine learning, deep learning, artificial intelligence etc. has become much easier with
visualization. Data visualization is the process of representing data in a pictorial or visual I.e. graphical format. It helps decision makers and people to understand the significance of data, to find out the hidden and new patterns, grasp the difficult concept, correlations between related fields etc. in an easy way by placing data in a visual form. Data visualization helps to expose and recognize data features in easier and better way which might be undetected in text based form.
According to the Simon Samuel, Head of Customer Value Modeling for a large bank in the UK [31]:
Data visualization is going to change the way our analysts work with data. They’re going to be expected to respond to issues more rapidly. And they’ll need to be able to dig for more insights - look at data differently, more imaginatively. Data visualization will promote that creative data exploration.
Data visualization is crucial important is in the area of Internet of Things. It provides live visualization of sensor and devices data in different and useful visual/graphical form so that everyone can easily understand conditions and what is happening. Therefore understanding and identifying data patterns becomes simpler and easier for non expert people as well.
2.5 Related Work
The Internet of Thing is hot topic for researchers and companies. There are many new works that have been happening in Internet of Things field.
Because of this reason it is including very recent work, and it can be better for this thesis. Therefore I have presented two recent paper works in this section.
The paper "STUDY OF VARIOUS INTERNET OF THINGS PLAT- FORMS"was published on International Journal of Computer Science En- gineering Survey (IJCSES) Vol.6, No.6, December 2015 [40]. This paper in- cluded the detail description of eleven IoT cloud providers with their work- ing architecture and features. The paper did the analysis on the basis of one overview table which includes all presented platforms. The result section presented in this thesis called literature search result is also based on this paper.
The paper Survey of Internet-of-Things platforms is recent paper pub- lished on February 2016 in 6th International Conference on Information Society and Techology, ICIST [66]. Like previous papers [40], this paper also provides information of 17 different open-source and non open-source
Internet of Things service providers in details. The summary information presented in this paper is useful to understand the concept, and is used in section 4.1 of this thesis work.
Chapter 3
Approach
This chapter presents the scenario, methodology and steps which are taken in order to address the central research question i.e problem statement of this thesis which is described on Section 1.2. This chapter illustrates how the rest of the work is conducted, and it provides a clear step by step explanation of each section. It provides the detail information of work so that anyone will understand what was done, and provides guideline and instruction in an easy way for those who want to replicate or extend this work.
To address the problem statement of this thesis work, we decided to investigate and analyze different IoT platforms. This thesis is a short thesis, by considering the time frame, we conclude to explore three different research methods. The three different methods are as follows:
1. Literature Review 2. Platform Testing 3. Simulation Model
3.1 Literature Review
The literature review is one of the important section in this thesis work.
We want to include as much IoT cloud service provider as possible. In this short thesis, it is not possible to do practical implementation of all platforms because of limited time period. The best alternative for this is literature review. Through this process I will try to search the work that has been done in related field and provide more information. This process helps to provide various information about different IoT platforms such a working principles, merits, de-merits, features etc. This information creates
solid understanding of various IoT in users. So that user can know about multiple alternative and choose the best platform as their requirement. For example if you want to implement your own IoT solution, in this case without knowing anything about various platforms, it will be difficult to choose one platform and do the implementation. Another important aspect is, it provides the suggestion for choosing the platform in practical testing phase. The literature review process is done in following way:
1. Search of Papers
2. Visiting Relevant Websites 3. Data Collection
4. Result
5. Data Analysis
3.1.1 Search of Papers
I have searched different kinds of conference papers and journals that con- tain information about cloud based Internet of Things service providers.
The Internet of Things is emerging technology in the field of information technology (IT). A lot of research works have been done in the last few years. As the service providers are increasing day by day, I decided to look very recent papers since 2015 so that I can explore more platforms.
We have used digital search process to identify the recent papers using login credentials of college. During the search process, we used some key words; for instance, service provider, IoT platforms, cloud IoT platforms etc. For searching the recent papers, we checked some of the popular publications, for example IEEE, International Journal of Computer Science Engineering Survey, HAL archives-ouvertes etc. We have considered the number of citation, number of download times as well while choosing the paper.
3.1.2 Visiting Relevant Websites
We have narrowed down many things after searching papers. We visited the websites of platform presented in papers. During exploring the site, we checked information that were presented in paper, new features that are added recently, documentations and tutorials. It studies more about their architecture and working principle. Similarly, we checked the protocols supported by platform, real time reaction system, live visualization of data etc. as well.
In addition to this, checking the user friendliness, how much easy or difficult for users in implement. Last but not the least, checking whether the platform is open source (free) or not. If not, is the platform has trial period services?, do all the services are available in trail version as well?
3.1.3 Data Collection
After exploring the websites of different vendors, we collected data on different topics based on paper and website which we will present in data analysis section in tabular format. For the analysis purpose and collecting more information, we collected data based on following questions:
• What are the protocols supported by platform?
• Do the system support real time reaction?
• Do the system have live visualization?
• Do the system support real and virtual devices?
• Is the system open-source?
• Do trail version has full feature?
• How much easy is it for implementation?
• Does the system have specific technical requirement?
3.1.4 Result
This is one of the main sections in literature review process. In this section, we have provided the detail explanations of each platform based on information get from paper and exploring the websites. This section contains overview of each platform so that anybody will get more information about platform after reading it. Especially we have focused on the protocols supported by platform, the working architecture, key features etc of all platforms. The purpose of this section is to provide more information about platform so that reader can choose best platform on the base of their requirements.
3.1.5 Data Analysis
In this section, we will summarize all the information and data extracted from data collection in a tabular form. All the information are presented in a single table where we can see the main attributes of platform. Similarly, the table is the summary of all platforms so that it becomes easier to compare and see the differences between different platforms.
3.2 Platform Testing
Testing also called practical implementation is core part of this thesis work.
This approach is very important for this thesis work because if you do lit- erature review and collect many information about various platforms, then it looks incomplete and can not be trust fully on information only without doing practical implementation. The platform testing gives real practical experience on different platforms. After the literature review process and exploring websites, we get to know a lot of information about different platforms. The practical implementation of all of the IoT cloud platforms is not possible, however, based on the previous section i.e literature review, we choose four platforms for implementation.
In this approach, I will visit each of the chosen platform and see the possibility of solution development. I will check what kind of devices it support and based on that I will start experiment. Implementing from scratch to real time visualization and reaction system will be my main concern. The testing has been done in following systematic ways:
1. Choose the service provider (platform) 2. Request access
3. Practical implementation 4. Analysis
3.2.1 Choose the Service Provider
In the literature review process I have presented 15 various IoT cloud service provider. Out of these platforms, we have chosen four best platforms. In order to choose the platform, we have considered the open source and non open source platforms, real time reaction system, live visualization and easiness to implement the solution.
3.2.2 Request Access
To do the practical implementation on each of IoT service provider, you need to have access to these platforms. In most of the cases, it is very easy to get access into platforms, fill out the sign up form and get access to platform. But in some of the platforms, you need to provide your educational institutional information, and they will approve your information and provide your access. For example, IBM Bluemix provides six months of free access to students. To get this six months free access, you
need to fill out form providing your university information and submit it.
IBM will verify your information and provide your access.
3.2.3 Practical Implementation
The practical implementation is one of the important sections in this thesis work. The practical implementation has been done by visiting each platform, and checking the possibility of developing application with real devices has been done that are with us such as mobile phone, tablet etc or simulated devices. For example, in IBM Bluemix the practical testing has been done using both real and simulated devices, while other platform has been tested using simulation devices.
The practical implementation section contains detailed step by step description of how to do practical implementation. By following the step anyone can easily do his/her own implementation. The section will contain information from device connection to live data visualization and generate trigger event based on condition match.
3.2.4 Analysis
The analysis will be done based on the result of practical testing. The analysis section will have analysis of result. It will have information about how difficult to do practical testing?, how is live visualization?, is it contain any interesting features?, how easy or difficult to implement trigger event?, present some graphs that will be provide by cloud analytic.
3.3 Simulation Testing
After the literature review and practical testing, simulation testing ap- proach is taken to include a scenario with multiple sensors. Now a days, normally a single people have multiple devices which has capability to talk/communicate with other devices via wifi or other technologies. Then we can simply imagine that a home or a building have many sensor and devices. In this case how do we to implement a IoT solution? For example normally an industry or companies have multiple devices and sensors in different departments. Then how we can make them connected with each other and use for benefit of organization? The literature review and plat- form testing approach is unable to address this part. Therefore we feel sim- ulation testing of particular scenario is very necessary and important in this thesis. Through the simulation testing we want to know how devices can communicate with each other and server in multiple sensors environment .
For the simulation testing, there are various alternative options available.
In this thesis we chose Cooja simulator provided by Contiki OS [43]. Con- tiki was first operating system designed for sensor network. It provides many good features such as Pre-emptive multithreading, TCP/IP com- munication, protocol-independent radio networking, loadable modules etc [44]. Cooja similator has been getting very positive response from sev- eral companies such as Ericsson, ABB etc. Cooja is also used by Swedish Institute of Computer Science (SICS) for conducting research on Wireless Sensor Network (WSN) [43]. SICS team appreciated the basic functionality and design of cooja simulator. Therefore we will use this simulator in this thesis work. By using this simulation, we will explore how the multiple devices communicate with one server. You will see different graphs which will show the simulation network, temperature of devices, power uses of each device etc.
Chapter 4
Implementation and Result
This chapter contains the result of literature review and how the platform testing of various IoT platform is done. In addition, this chapter also presents how the simulation modeling is implemented. The work in this chapter is done based on the approach described in previous chapter and will be analyze in next chapter.
4.1 Literature Review Result
Now a days various kind of IoT platforms are available which are providing different kind of IoT solutions. Including all of the platforms in this section is not feasible, therefore I covered 15 most popular IoT cloud platforms including open-source and non-open-source which are actively used in today’s IoT industry.
4.1.1 Google Cloud Platform
According to survey of Pentos’s audience, Google is one of the leaders of the young IoT market [12]. Google provides a reliable platform where developers can move their idea and launch in short period. Google uses its own private fiber network to provide secure IoT services to its customer, and ensures that the data transfer to and from devices get delivered at ultra-low latency [58]. The company provides its users and developers a fast, reliable, secure platform to develop, test and launch their application in quick time. Developers can pay full attention on only coding, all other issues regarding infrastructure, data processing and storage etc. are handle by Google itself.
According to figure 4.1, there are three main stages in IoT data manage- ment, and they are namely Devices, Gateway and Cloud. The devices
Figure 4.1: Various Stages of IoT Data Management in Google Cloud Platform [25]
include hardware e.g. sensors and software which can interact with the world. These devices and software are connected with each other through the Internet. A gateway is a device which is responsible for managing traffic between networks of different protocols. An IoT gateway is also used for providing the connection between devices and the cloud. The cloud stage provides different kinds of services such as storage, processing, ana- lysis etc. in one place to handle all the information, and make the service work able for you. In the cloud stage, there is real time processing of data that can be gotten from devices. Analysis of it before storing, making some reactions if necessary and providing live visualization of data are done so that everyone can view and understand what is going on.
Key Features
• Provide analysis of streaming of data to make decision at right time
• Support thousands of different devices
• Can handle small amount of data to big data
• Provide real-time processing of data
• Take immediate action based on complex events, triggers, and thresholds you define
• Secure device-to-cloud or cloud-to-device communication using full encryption called Google-Grade Security
• Operated own fiber private network
• Provided support if required
• Scalability