Internet of things: A comparative study - IEEE Xplore

0 downloads 0 Views 456KB Size Report
Abstract—Internet of Things (IoT) is the field that con- nects things together and to the Internet, letting them ex- change data, communicate with each other and ...
Internet of Things: A Comparative Study Bahaa Eldin El-Shweky1, Karim El-Kholy1, Mahmoud Abdelghany1, Mahmoud Salah1, Mohamed Wael1, Omar Alsherbini1, Yehea Ismail1, Khaled Salah2, Mohamed AbdelSalam2 1 Zewail City of Science and Technology, Egypt. 2Mentor, a Siemens Business, Egypt. {s-bahaael-din.el-shweky, s-karim.el-kholy, s-mahmoud.abdelghany, s-mahmoud.salah,s-mohamed.nady,somar.alsherbini, yismail}@zewailcity.edu.eg {khaled_mohamed,Mohamed_AbdelSalam}@mentor.com

Abstract—Internet of Things (IoT) is the field that connects things together and to the Internet, letting them exchange data, communicate with each other and interact with the human. Recently, it has been widely used to go beyond the machine to machine (M2M) communication and covers variety of protocols and applications that facilitates people's way of living. However, many challenges still hinder its advances, especially security and power issues. In this paper, a comparative study for IoT architectures, platforms and applications is presented with a case study to illustrate the main IoT concepts and levels of abstraction. Then, a Strengths – Weaknesses – Opportunities – Threats (SWOT) analysis is presented to assess the present and the future of IoT. Keywords—IoT, Protocol, Communication, Hardware, Smart; Architecture, SWOT, Platform

Automotive

Internet of Things

Traffic management

Microchips

Security

Others

Application,

I. INTRODUCTION Internet of Things (IoT) is one of the most promising research topics in engineering and business. IoT is believed to revolutionize the way people live in the near future by connecting normal objects with each other distantly and establishing communication channels between them. As a result, not only that much information would be acquired about many objects and processes that were not to be acquired before with the same ease, but also carefully designed systems would deal with these objects and the information acquired from them automatically. This results in unprecedented automation that would make industries’ performance better and everyday lives much easier. In addition, many applications would be possible that were not applicable before, such as smart homes, smart cities and implantable devices in human body. According to Cisco’s Internet of Things Group (IOTG), the number of connected devices is expected to reach 50 billion by 2020 [1]. IoT is the evolution of machine to machine (M2M) communication. M2M is the technology that allows physical objects or machines to connect to the Internet. This helps the machines communicate and share information without any human interference. Without M2M technology, the Internet of things will never become a reality; as it is impossible to create a common network of communication between all physical entities. M2M has joined in many fields to facilitate the human life, as shown in Fig. 1. In spite of the many benefits and facilities IoT offers, there are still a lot of challenges that need optimal solutions in order

978-1-5386-4649-6/18/$31.00 ©2018 IEEE

Smart homes

Fig. 1. IoT connects machines together from various fields.

for IoT to spread in everyday lives. Therefore, lots of research is being conducted to overcome these challenges and solve IoT problems, and there are opportunities for much more research in the future. However, up till now, very little research work is done to compare the IoT different platforms in terms of their performance in the different IoT system levels. Therefore, in this study, the main focus was given to the comparison between the different IoT platforms to recommend optimal solutions for the different IoT applications. The paper is organized as follows: Section II discusses the architecture of IoT and the different abstraction layers that constitute it. Then, section III presents a case study which illustrates how IoT abstraction layers function and interact with each other. After that, section IV discusses IoT software and hardware platforms giving examples for each platform, followed by section V which presents a comparative study to select the best hardware and communication protocol for each discussed IoT application. Finally, section VI presents a Strengths – Weaknesses – Opportunities – Threats (SWOT) analysis that evaluates the IoT current and future business and research feasibility. II. IOT ARCHITECTURE IoT platforms have many levels of abstraction. It starts from the application layer, which is the main layer for the users, where they can control devices and receive data on their smart devices, then the communication layer, where data are transferred between the various sensors, actuator and their local gateways as well as between global gateways using different protocols, and finally the physical layer, which has sensors, actuators 622

and controllers and their interaction with the gateway. Figure 2 describes IoT architecture. There are two architecture perspectives: thing centric architecture and Internet centric architecture. In thing centric architecture, the user is in the center where all devices are contacting, and the data are saved locally on the user's device [2]. On the other hand, in Internet centric architecture, devices are connected to the cloud where all the data are stored and managed. The user accesses the data on the cloud from a web application that is connected to the Internet. The general trend is to use the Internet centric architecture, yet it might not be the best architecture; as in some cases human actions must be taken. The following subsections details the levels of abstraction of IoT. A. IoT Application Layer Internet of things’ application layer holds the responsibility for providing services and defines the set of messages’ protocols that are passing at this level. There must be some data processing environment for analyzing the data fetched from the devices (sensors, controllers…. etc.) and making this data usable [3]. Thus, this usability can be through direct applications with easy graphical user interface (GUI) for individual users, like mobile applications for simple IoT applications, or for massive projects that host global users, clouds can be used to analyze, sort out and store the data, and websites can be used as an interface [4]. The application layer is also concerned with providing a virtual service layer that is responsible for data transport, security, and service discovery and device management on a high level of abstraction, independent of communication technologies in the lower layers. This ensures the right connectivity between devices and various IoT applications to realize horizontally – on the same level – integrated IoT for specific applications. This virtual service layer provides information collected from objects and the performance of the actuators. For instance, while data from a temperature sensor for home automation are provided, it should also describe if it is the indoor temperature of a room, or a fridge… etc. [3]. IoT potential allows it to customize any kind of applications. Here

are some main examples for IoT applications with a brief customization discussion about each: 1) Smart homes: they are homes whose gadgets and devices are manipulated using a single application platform, such as a mobile phone application. Yet, most IoT smart home systems are more concerned with economic feasibility and friendly user interfaces rather than high performance [5]. 2) Automotive: the new trend in automotive industry is directed towards self-driving auto-adjusting machines that can be controlled remotely. For example, BMW’s vision is to fabricate a motor cycle with a self-balancing system that uses signals to adjust the motor cycle position. IoT of automotive devices requires fast responsivity, high level of security, durability and reliability [6]. 3) Traffic management: as the number of vehicles is dramatically increasing every day, the road congestion increases in all world cities. A new traffic management smart automated system is required to not only solve this issue, but also help save lives in addition to reducing road crimes. IoT in traffic management senses the level of crowdedness, suspicious movements and emergency cases. It then controls traffic signals and gives the most suitable commands, thus it requires high level of security and reliability [7]. 4) Security: tracking and regulating stockings in businesses is commonly used through normal means of big cameras and under human supervision. It will be very helpful if a smart small system that uses IoT concepts is utilized in security applications. This will increase the performance, reduce many efforts and economically make it more feasible. IoT in security domain requires fast response, highly secured communication, economic feasibility and reliability [8]. 5) Microchips: the applications of microchips are very broad; as they are being used in lots of fields like biological needs, energy harvesting tools for providing self-maintaining applications, and standard day to day items. IoT requirements in this domain differ according to the application needs, but one thing is common, which is the small size of the whole system [6].

Fig. 2. IoT Architecture.

623

IoT application layer is a very wide topic that gets shaped in many forms at many different scales. Some companies manufacture tools to help people develop their applications [9], e.g. some tools to develop mobile application in a simple way [10, 11] and connectivity tools to connect between IoT devices and gateways (like programmable cellular connectivity ships to IoT projects) [12]. The importance of such products is unleashing the potential to unify the communication technologies and protocols for wider IoT range of applications, giving the possibility to form huge webs of devices connected to and controlling each other, which is one of the biggest challenges facing IoT. B. IoT Communication Layer The communication layer is considered as the backbone of the IoT systems. It is the main channel between the application layer and different operating activities in the IoT system. The whole physical system is loaded with amounts of data and information that need to be shared with other nodes. Therefore, it is needed to set up a suitable connection network among these nodes through a communication protocol [13]. The communication could be wire-connected or wireless based on the protocol defined by the designer. According to the distance, communication protocols are divided into three main categories: 1) Short distance communication: In local areas, numerous data protocols are capable of managing the data flow between local nodes, such as Wi-Fi, which is a wireless networking technology that makes use of radio frequencies to send and receive data, and RFID, which is commonly used in business applications to monitor supply chains especially in manufacturing and retail industries. 2) Medium distance communication: Connecting multiple gateways requires communication protocols for medium distance [14]. Ethernet is a good example because it manages connections between the connected gateways through installed wired systems. 3) Long distance communication: The existence of active support of satellite networks offers huge communication ranges. Also, suppling the mobile phones with Fifth Generation (5G) communication protocol enhances the communication speed over a very long distance. Since billion of devices around the world communicate together, IoT can easily spread all over the world. Building a good IoT system requires the following: x Connect a very large number of local gateways in a heterogeneous environment through multi-modal technologies and different lightweight protocols such as 5G. x Use low power systems as much as possible. x Rapidly manage the traffic flow of data and enable realtime decision actions. x Maintain a secure connection for information. x Have unlimited addressing capability. Some of the main communication protocols are discussed below. 1) Ethernet (Medium): Ethernet is a wired communication protocol widely used for computer networking. It was first introduced to the market in 1980, and its use got internationally

standardized in 1983 as IEEE 802.3 [15]. Physically, it uses coaxial cables, twisted pairs or optical fibers, with networking speeds ranging from 10 Mbits/s up to 100 Gbits/s, and the speed is expected to rise even up to 400 Gbits/s by 2018 [16]. Ethernet is usually used in local area network (LAN), in addition to metropolitan area network (MAN) and wide area network (WAN) [17]. In OSI model, Ethernet is included in the data link layer. Due to its support for high speed communications, Ethernet is ideal for applications with huge amounts of data and those requiring high speed. In addition, it is convenient for high bandwidth applications. Furthermore, Ethernet cables are ideal to transport data to very far destinations. However, Ethernet also suffers from disadvantages relative to other communication protocols. For instance, Ethernet is a wired protocol, which makes it inconvenient for wireless applications. Being a wired protocol not only requires direct physical connection between nodes, but also it makes the connection vulnerable to physical damage. 2) Bluetooth (Short): Bluetooth is a wireless communication protocol widely used nowadays to connect devices together. It was first introduced in 1989 by Nick Rydbeck and Johan Ullman [18]. It uses electromagnetic (EM) waves with frequencies ranging mainly between 2.4 GHz and 2.485 GHz [19]. It is based on a master-slave configuration in which communication is established between a master and up to seven slaves maximum [20]. The latest version is Bluetooth 5, which supports higher Bluetooth speed connections (2 Mbits/s) and further range (more than 300 m). Bluetooth 5 also contains features that support IoT, such as coded communication and forwarded error correction [21, 22]. There are many advantages for Bluetooth that makes it suitable for IoT use. First of all, it is a wireless protocol, and thus it supports wireless applications such as wearable devices. Secondly, Bluetooth is a low power protocol, which is also ideal for IoT. On the other hand, Bluetooth limits the number of slave devices connected to a master device (7 devices maximum). In addition, power transmission limits the maximum distance at which a connection could be established, which creates a tradeoff between power consumption and furthest distance for communication. 3) Wi-Fi (Short): Wi-Fi is an easy and inexpensive communication protocol that connects electronic devices to the Internet using a wireless router [23]. This router receives the signal and sends the information to the Internet using Ethernet. It is used mainly as a replacement for the high-speed cables in local areas. In addition, Wi-Fi is the highly adopted communication protocol got IoT. The latest version of Wi-Fi nowadays is 802.11ac, which has super high speeds ranging from 433 Mbps up to gigabytes per second, and offering wide ranges of bandwidth (80 MHz and 160 MHz) [24]. The range of Wi-Fi reaches 100 meters [25]. 4) ZigBee (Short): ZigBee is a communication technology for data transfer in wireless networks. It offers low power connection. In addition, it is designed for multi-channel control systems, alarm systems and lighting control. Furthermore, ZigBee is more economical than Wi-Fi and Bluetooth; as it consumes less power. Moreover, it ensures that networks remain operable

624

in conditions of constantly changing qualities between communication nodes. On the other hand, ZigBee has a low bit transfer rate that only reaches hundreds of kilobits per second; the maximum bit rate transfer for ZigBee is 250 Kbit/s [22, 26]. ZigBee is commonly used for applications that require low data transfer rate and low power consumption. Unfortunately, ZigBee is not widely known like Wi-Fi and Bluetooth; as it is often embedded inside systems; and it is not visible. 5) Radio Frequency Identification Tags (RFID) (Short): Radio frequency identification sensors play an important role in transmitting and receiving data. A RFID tag carries data and sends them in radio waves to a RFID reader that reads them. It does not require close communication between the tag and the reader; instead it can identify itself from a distance without any human factor. There are two common RFID configurations: near and far. The former configuration uses a RFID reader that has a coil through which alternating current passes and hence generates magnetic field. The tag must have a smaller coil that generates potential due to the changes in the magnetic field. It is then coupled with a capacitor to power up a tag chip. Meanwhile, the latter configuration has a reader and a tag with dipole antenna in which EM waves propagate [13]. 6) Fifth Generation (5G) (Long): 5G is the most recent data protocol used in smart phones and expected to be more than a new generation. It is expected to introduce a new era of connectivity; as it will offer speeds of more than 100 megabits per second, one more data bandwidth and less delay due to built-in computing intelligence that handles data very efficiently [27]. So, it will connect billions of devices in the fastest, most reliable and most efficient ways. As a result, 5G is expected to take IoT to a new revolutionary level and extend its use more and more [28]. 7) Satellites Networks: Satellites have a great role behind the growth of IoT. They enable the development of consumercentric services that gives good experience to the user. They supply IoT with huge advantages that cannot be offered by WiFi deployments, Bluetooth or terrestrial GSM (Global System for Mobile Communications) networks like Coverage. Satellite networks serve to cover a huge range, therefore IoT is expected to encompass billions of devices around the world even in remote locations. As a result; using active support of satellite networks, such as the L-band services provided by Thuraya, will ensure the ultimate success of IoT expansion [29]. C. IoT Physical Layer The physical layer is the most detailed level of abstraction in IoT. It mainly consists of sensors that acquire information for the system and actuators that do actions in response to instructions from the system. To imagine how they both, actuators and sensors, act together in a system, a smart house is considered for example. The actuators here are used to lock and unlock doors, switch on/off the lights and alert users of any warnings or control the temperature of a room or the whole house. The sensors are used to send feedback to the controller of each small system of those systems mentioned above. For example, they send feedback about the condition of the rooms and whether there are any people in the rooms or not, and accordingly, the

controller sends its signals to the actuators to turn off unnecessary working devices such as the lights, the air conditioner… etc. In this section, sensors, actuators and controllers are discussed in detail. 1) Sensors: A sensor is a tiny device that measures a specific physical quantity. All IoT systems depend on the existence of one or more sensors. They are very essential in all aspects of life; as they are considered a feedback to the control that gives its signal to the actuator to reach a desired goal. There are different types of sensors, including phone-based, medical, environmental, and chemical sensors. They all have light weights and single functions, in addition to being inexpensive and miniaturized devices, but constrained to the battery capacity and the ease of deployment. There are different types of smart phone sensors like accelerometers that sense the motion of a mobile phone, gyroscopes that detect the orientation of the mobile phone, GPS (Global Positioning System) sensors that detect the position of the mobile, light sensors, proximity sensors, magnetometers, cameras and microphones. Accelerometers could be mechanical, using springs, cantilever beams and seismic masses, capacitive, using capacitive plates that change the capacity with their movement, or piezoelectric, which generate electrical signals when squeezed. On the other side, medical sensors are very important for healthcare applications. They can monitor very critical parameters that ease the patient’s diagnosis and provide quick feedback to the doctor without the urge to go to the hospital. These parameters contain heart rate, body temperature and blood glucose levels. Recently, there has been a new promising IoT device, called monitoring patch, that is put under the skin to monitor a certain health parameter periodically [13]. Neural sensors are becoming commonly used in our lives. They make it easy to infer the brain state and train it for better focus or, in other words, neurofeedback. This technology is called EEG (Electroencephalography). The communication of neurons electronically creates electric field. This electric field is measured in terms of frequency and characterized into alpha, beta, gamma and delta waves [13]. Due to the very rapid changes in the environment, environmental sensors are used to measure temperature, humidity, pressure and air and water pollution. Chemical sensors, on the other hand, detect both chemical and biochemical substances. New technologies like e-nose and e-tongue have been widely used to measure the amount of some chemicals that indicate the quality odor and taste, respectively [13]. 2) Actuators: An actuator is a device that converts an electrical signal into a mechanical signal or any other useful form of energy. Some examples include speakers, heaters, cooling elements and displays. They can be electrical, hydraulic or pneumatic actuators depending on their theory of operation. For example, hydraulic actuators use fluid mechanics to facilitate motion, whereas pneumatic actuators make use of the compressed air to generate pressure difference [13]. 3) Controllers: The controller is the device that receives the sensors’ signals, processes them and makes computations on them, and then sends instruction signals to the actuators. Usually in control systems, these instruction signals are based on

625

the difference between the sensors’ readings and the desired values of the physical quantities, and thus these instruction signals are sent to the actuators in order to set the system back to the desired physical quantities’ values [13]. III.

IOT: A CASE STUDY

3) Nonrecurring Engineering (NRE) costs: it is the cost of the development process for the IoT platform, either software or hardware. This does not only imply sustainability in reliable systems, but also the ability to develop the platform in less time as much as possible.

A. Hardware Platform

Based on the previous factors, the designer is capable of choosing the perfect platform out of the following: 1) Application-Specific Integrated Circuit (ASIC): ASIC is a well-established process designed, as the name suggests, for a specific application. The fabricated ASIC chips give very optimal performance with the lowest number of transistors, and most importantly, the least power consumption. In addition, the technology is very cheap when mass produced. However, ASIC is not usually used, because it consumes time and resources to develop. In brief, it has large time-to-market, which makes the industry seek other faster generic solutions. 2) Field Programmable Gate Array (FPGA): FPGAs provide a more generic solution that is required in industry. They have less time-to-market and NRE costs to develop their products. However, they consume much more power than ASIC chips, which is one of the most challenging issues in IoT. In addition, they are very expensive, so they are used in applications with minimum number of units needed [31, 32]. One of the most impressive solutions is to merge the features of ASIC and FPGA together. The merging makes use of the advantages of both ASIC and FPGA. One of the important features is that it consumes lower power than FPGAs in addition to lowering the time-to-market [32]. 3) Microprocessors: Microprocessors are used as a platform for building IoT devices. Some chips have the microprocessor together with other blocks such as RAMs and different other modules. In this technique, the whole system is built on the chip with all its peripherals. The system acts as a gateway for the local devices to the Internet. This requires that the chip must support several protocols to facilitate the communication between local devices and sensors with the microcontroller (Bluetooth, ZigBee) as well as sending and receiving data from the cloud (Wi-Fi, Ethernet). There are several systems used commercially for this purpose. Arduino family (Uno, Yun) are based on ATmega32U4 processor with its peripherals to do the complete functions. Other chips are used such as Raspberry Pi, which uses Broadcom BCM283 (5~7) SoC. These platforms are generic and can be used for several applications. As a result, hardware overheads are installed. This increases the power consumption for the system. Therefore, more optimization is required to save the battery for the longest time.

The factors that define the hardware platform for IoT applications are [31]:

B. Software Platforms

1) Reduction of employed transistors: this will reflect on the die size, packaging and unit cost. The progress made on transistor area decreases the cost, but leakage power dominates on the overall chip. 2) Time-to-market: it is the main factor that guides the design to the proper platform. The market requires a generic solution to apply its demands, therefore time is a very critical factor to choose what type of platform is needed, which might be in most cases an expensive one.

In order for the hardware to perform well, operating systems should be installed. Operating systems organize the usage of hardware. For IoT applications, low power and small hardware overhead operating systems should be used. The software platform is necessary to recognize the received data, identify the needed manipulation for the desired action by the user and transmit efficiently the new data to the right node. There are multiple of business operating systems such as IBM Watson platform as well as open source platforms such as Linux, RIOT ...etc. Choosing the right operating system is a

To understand how all IoT layers work together, a smart traffic system is considered as a case study for IoT, where a camera can monitor the road and records data for congestion, accidents, and weather conditions. The camera communicates the status to a gateway that combines it with other cameras’ data to create an intelligent citywide traffic system. This intelligent traffic system is connected to other citywide transportation systems that get data from their own intelligent devices, creating a large intelligent system of systems. By analyzing the end to end data across this network, it can be figured out how the instructions should be. For example, if the city’s intelligent traffic system detects great congestion due to an accident, that insight can be sent to the citywide transportation system which, in turn, analyzes the accidents’ impact on other city systems. Recognizing the impact of the accident near to an airport and city schools, it could notify these systems so that they can adjust flights’ and schools’ schedules. Besides, the traffic digital system can send instructions to guide drivers around the accident. The physical layer (the camera) interacts with the local system in a network or a gateway (the camera system) and communicates on the Internet with other systems (the transportation system), then the data get analyzed on the cloud data center to send the best instructions to the users in their cars, schools and air planes [30]. IV.

IOT HARDWARE AND SOFTWARE PLATFORMS

Owing to build a complete IoT system, a designer should choose the perfect hardware and software platform that is suitable to his specifications. There are important parameters that monitor our choice for the optimal platform for any IoT system. When dealing with massive data-flows, the hardware platform is mainly concerned with two computational tasks, either decision making control or data processing. A robust operating system is also needed in order to drive the hardware platform and help develop the desired applications with excellent performance. The next part is concerned with the important properties of the hardware platform. Another part highlights the key parameters to choose the right operating system. The last part presents data centers that are to be used when dealing with large data.

626

Fig. 3 Market share for different operating systems [33].

crucial move in order to build the optimal IoT system for the desired application. In this section, the key parameters to choose the suitable operating system (OS) are investigated as follows. 1) IoT heterogeneous hardware support: A lot of IoT systems usually work on different types of hardware from 16-bit microcontrollers to FPGAs based on the implemented hardware. Therefore, the operating system shall be compatible with the implanted hardware platform in order to achieve excellent performance [34]. 2) Real-time operating systems: One of the most important factors that guide most of IoT designs is that whether the operating system supports predictability or not. Predictability allows the system to be in an alert position based on earlier received data. This helps the software take actions rapidly, especially in situations like fires and accidents on the road. In turn, this is a great evidence on how predictability reflects the degree of

TABLE I COMPARISON BETWEEN DIFFERENT OPEN SOURCE OPERATING SYSTEMS [33].

smartness of IoT systems, which is in high need for development. [33]. 3) Developer friendly: IoT evolves rapidly, which requires an easy platform to apply new solutions and add smart features to the desired applications. In order to have low time-to-market, it is required to decide what operating systems are sufficient for developing the desired IoT system. Working on a developer friendly platform is highly required for companies in order not to be delayed for the market, which has its drawbacks. 4) Memory: The operating system shall have low size in order to fit in the internal memories of microcontrollers. On the other hand, extra memory is needed to fulfill the size of the operating system [33]. 5) Security: Security is a very important factor that should be considered in all the layers of IoT. In order to achieve a good level of security, the operating system should support encryption engines, secure boot functions and usage of wireless authentication protocols. 6) Accommodation for low power: Despite the fact that the hardware platform takes power issues into account, operating systems that allow power management capabilities gain much focus from IoT designers. Power management feature helps increase the battery life, especially for end-nodes. For example, the software can operate only with the required area of the hardware for simple functions as long as there is no necessity to perform repeated calculations, which is the case in most times. Focusing on such a thing increases the reliability of IoT products. 7) Support required for communication and network: IoT requires different types of protocols in small, medium and large signals. The software has to strongly support such integration to perform operations on IoT systems. The graph in Figure 3 gives the percentage of usage of operating systems by developers. However, the usage of different IoT software tools is not good for IoT systems because it makes communication more complex. This implies the importance of having a generic solution and common ground for IoT operating systems. One of the operating systems that are designed especially for IoT is RIOT. The smart operating system tries to save the most possible power and area for the smart device. RIOT is an open source operating system which requires small RAM and ROM to boot [34]. The architecture of RIOT is microkernel based, where the user application can address different layers in the operating system. One of the important advantages of RIOTOS is that it supports C/C++ programming languages, allowing wide range of programmers to make the best use of the OS to serve the desired application with low power as long as it can handle heterogeneous hardware projects. RIOT-OS facilitates the communication with the sensors and actuators; as it supports different communication protocols. Furthermore, RIOT supports multi-threading, increasing parallelism. Many IoT applications require real-time operations; that is why RIOT-OS enforces regular kernel periods to divide the tasks and work on all of them in real time. This guarantees a promising future for RIOT-OS in the IoT industry, especially that it requires small amount of memory and power. In addition, its programmability allows it to serve a wide range of applications. On the other hand, it might not be easy to port RIOT to developer boards and different microprocessors. 627

The most used operating system nowadays in IoT platforms is Linux. Linux is an open source operating system that allows developers to modify it to give the best response. It supports C/C++ programming languages as well as multi thread technology. It is now the most established and used software platform in IoT designs. However, it requires relatively large memory (RAM and ROM) to operate. The hardware overhead in memory as well as the more required power to operate are not ideal for real-time processing and thus hinder Linux implementation in various IoT devices. Table I [33] gives a comparison between different open source software tools used in IoT systems. RIOT-OS shows great excellence for IoT platforms. The comparison includes the different architectures and schedulers as well as the memory sizes and the supported programming languages. Some other business software tools are used for IoT projects such as IBM Watson and Amazon Web Services (AWS). IBM Watson is one of the leading software tools for IoT devices. It was released in 2014 and modified after that to include augmented reality, cognitive capabilities and more capabilities to spread the operating system to many devices and developers. However, developers found several difficulties to develop the operating system to do the required functions [35]. AWS is one of the best performing operating systems in IoT fields; as it has its own cloud service as well as a user-friendly interface. C. Data Centers The main value of IoT lies in the data analysis and processing. The larger the data, the larger the computers storing these data must be. In early 1990s, direct server storage quickly became unmanageable; as storage demand increased, and there was no way to pull capacity across multiple servers. Hence, data centers emerged when UNIX servers replaced mainframes for running most business applications in their high-end server environments. A data center is a technical facility that houses an organization’s IT operations and equipment. The efficiency, optimization, reliability and security are the most critical factors in any data center, because it has the network of all systems and data. Data centers may vary according to their primary function. They have technical spaces and subsystems such as physical security systems, network and IT systems, power resources, environmental control and performance and operational management [36]. TABLE II IOT LAYERS’ ELEMENTS RECOMMENDATION FOR EACH DOMAIN SUMMARY

IoT Domains

Hardware Layer Recommendations

Communication Layer Recommendations

Smart homes

ASIC, Arduino

Wi-Fi

Automotive

ASIC

Bluetooth

Traffic management

FPGAs, Arduino

Satellite Networks

Security

Arduino

Wi-Fi

Microchips

ASIC

Bluetooth, ZigBee

A software defined data center (SDDC) is a data storage facility in which infrastructure elements of the data center are virtualized and delivered as a service. Virtualization is the main algorithm of the SDDC. There are three types of virtualization: network virtualization, storage virtualization and server virtualization. Network virtualization connects network resources by splitting the bandwidth into several independent channels that can be assigned to a particular server or device in the same time. Storage virtualization turns physical storage from multiple network storage devices into a single storage device managed by a central console. Server virtualization is about providing server resources that contain the identity of individual physical servers, processors and operating systems, from server users. The new approach is to spare users from managing complicated server-resource details [37]. V. RECOMMENDATIONS FOR EACH IOT APPLICATION In this section, the previously mentioned five main IoT application examples are being investigated, and the best tools from each IoT layer fitting each domain are recommended. 1) Smart homes: physically, we recommend using either ASIC chips for mass production or Arduino microprocessors for relatively low production and easy programmable installation; since both are technically and economically feasible in these applications. As for the communication layer, Wi-Fi seems to be the best solution, mainly because Wi-Fi is already available in most homes, which makes it an available resource as a communication protocol and easy to be used by residents. In addition, its wireless nature, maximum high speed, simplicity and low cost make it ideal to be used in smart homes. 2) Automotive: for a reliable optimally-performing hardware, ASIC chips represent the best option. The level of reliability depends on the quality of the fabrication process and the used materials. Besides, the level of security can be customized through the used algorithm. On the communication level, Bluetooth is best recommended for automotive IoT due to its high speed and low power. 3) Traffic management: due to the difference in functionality between the devices required in this domain, ASIC is not a good option and will be very costly. The flexibility and programmability of FPGAs are very desired in this domain. FPGAs give a more economical solution, while a high level of security and reliability can be acquired through the used software. On the communication level, satellite networks give the best performance due to their long range which covers cities and their direct connectivity to the internet and other communication protocols for determining location such as GPS. 4) Security: for mass production and optimal performance, ASIC is a good option. However, since the field of security is dynamic and new algorithms are developed every day, programmability in the used controllers is essential. Thus, microprocessors, such as Arduino, are the best option in this domain. For the communication level, high speed and secure communication protocols are required, thus Wi-Fi is best recommended. 5) Microchips: considering the scale of the devices in this domain and where they are to be used, such as inside the human 628

bodies in the biological application, then the only option for controllers in such serious applications is ASIC, which gives the most possible optimization of size and performance. Bluetooth and ZigBee are the most efficient communication protocol in such applications, due to their low power, reliability and easy connectivity to smart devices such as smart phones and laptops. Table II summarizes the best options for IoT domains in the hardware and communication layers. VI.

SWOT ANALYSIS

Along with the many benefits and potentials of IoT, there are still many challenges and difficulties facing its development and market. Therefore, a SWOT analysis is presented in this section. A. IoT Strengths IoT has been invoking all fields. It facilitates the automation of various processes that make life easier and faster. The market is now open and ready for smart IoT devices that are being introduced to the customers. Production cost also plays a role in spreading the technology. The cheap fabrication cost creates a great edge for the product to be available in many markets. These devices can be used anywhere and anytime; as all the data are sent and stored via the Internet. The automation allowed us to do impossible tasks in dangerous or remote places where humans cannot reach. The communication between the machines decreases human interference, preventing many errors. However, real-time monitoring enables supervising the process with a detailed log of the taken actions, which helps improving the designs and the architectures of IoT devices. B. IoT Weaknesses IoT weaknesses are mostly generated from the large scale the web of the things covers. For such complicated systems, having a clear methodology to get identifiers for everything globally is difficult [38]. IoT communication protocols are not well secured mainly for the sake of size reduction and low power consumption. Due to the difference in communication protocols, compatibility between many of them is difficult, and this issue may cause failure in IoT systems if not treated smartly. The huge amount of exchanged data between objects requires data collection and storage, which is difficult considering the number of objects in the web and how data are to be optimally organized. Small failures in the system are difficult to be traced and debugged, and they can be very threatening to the systems. The large amount of communication traffic inside the system increases the noise significance, and a careful investigation in these issues is needed for sufficient immunity from the noise.

benefit from new research works regarding batteries and investments on them; as many applications nowadays need to be powered without a battery. Finally, the new trend to manufacture self-maintained devices and energy harvesters directs more investments to the IoT technology. D. IoT Threats As almost each device around is to be transformed into a smart device, the number of devices accessing the Internet will increase enormously. This will cause addressing problems and large data traffic; as all the devices will be connected to the Internet simultaneously, sending important information to the cloud. Security might be a great threat; because hackers may be able to reach this information. Encryption and security must have great concerns especially for governmental information. Power may be one of the major threats for IoT; as devices must be reliable for a long period of time. Using current batteries with high power consumption makes the device fail after short time, decreasing its lifetime in many applications. In addition, IoT devices may not be suitable to work under extreme conditions, which are needed for many applications. Furthermore, dealing with smart devices might be too complex for a lot of people who are to find great difficulty in using this new technology. As a result, future business will be hindered until customers have enough awareness about these products. Table III summarizes the SWOT analysis points. VII.

CONCLUSIONS

IoT has lots of potentials and opportunities in the near future. Many devices all around the world are expected to very soon join the huge network of things and devices. Huge markets are expected to be open for sensors, actuators, hardware controllers, communication protocols and software applications. In addition, life quality of people is expected to rise, and work and industries are expected to have much higher performance, helped with the automation and the large amount of information IoT presents. In this study, a comparative study was carried out to highlight the strengths and weaknesses of the different IoT platforms and recommend optimal solutions for different IoT applications. Although IoT has many benefits and potentials, lots of difficulties still hinder its advances and challenge its market such as power and security issues and public awareness. Thus, it is a very hot area of research. Nevertheless, many expectations are in favor of IoT. So, IoT is expected to give much more prosperity in the very near future.

C. IoT Opportunities There are lots of factors that facilitate the IoT technology improvement. First of all, IoT is a huge field that attracts massive investments; because it is involved in everyday activities. Secondly, like any new field, it attracts the researchers; as it opens new fields for more applications. In addition, IoT could

629

TABLE III SWOT ANALYSIS FOR IOT. Strengths

x x x x x x x x x x x x x

Automation that makes life much easier. Very big market: it communicates with big industries. Inexpensive: usage of cheap sensors. A hot area of research: a lot of problems is not solved yet. All data are reserved on the cloud. Easy usage for customers. Complete hard tasks in deep and remote areas. Rapid and smart monitoring. Rapid data sharing. Rapid decision making. Documentation of real analysis over large time zones. Higher efficiency at less time. Decreases human interference.

Weaknesses

x x x x x x

Opportunities

x x x x x x x x x x x x

Tendency to invest massively in the field. Opportunities for new applications. Opportunities for new researchers. Tendency to harvest energy from the surroundings. IoT could benefit from new research regarding batteries and invest on it. Get involved of everyday activities. Health care application improvements. Smart Infrastructure improvement. Tendency to construct longer lifetime devices. IoT could be miniaturized and integrated as wearable devices. Being eco-friendlier technology. Many applications nowadays need to be powered with no battery.

Threats

x x x x x x x x x x x

REFERENCES [1] “An Introduction to the Internet of Things (IoT)”. Lopez Research, 2017. [2] J. Gubbi, R. Buyya, S. Marusic and M. Palaniswami, "Internet of Things (IoT): A vision, architectural elements, and future directions", Future Generation Computer Systems, vol. 29, no. 7, pp. 1645-1660, 2013. [3] B. Ramachandran, "IoE/IoT | Anything Connected", Connectedtechnbiz.wordpress.com, 2017. [Online]. Available: https://connectedtechnbiz.wordpress.com/category/ioeiot/. [Accessed: 04- Jul- 2017]. [4] "What is an IoT application platform? | Zatar", Zatar.com, 2017. [Online]. Available: http://www.zatar.com/blog/what-is-an-iot-application-platform. [Accessed: 13- Aug- 2017]. [5] "Smart Home Internet of Things| Xively by LogMeIn", Xively.com, 2017. [Online]. Available: https://www.xively.com/smart-home-internet-ofthings. [Accessed: 18- Jul- 2017]. [6] Y. Mehta and J. Mounika, "5 Internet of Things (IoT) Trends in 2017-19 IoT Worm", IoT Worm, 2017. [Online]. Available: http://iotworm.com/5internet-things-iot-trends-2017-19/. [Accessed: 13- Aug- 2017]. [7] "Smart Traffic Management with Real Time Data Analysis", Cisco, 2017. [Online]. Available: http://www.cisco.com/c/en_in/about/knowledge-network/smart-traffic.html. [Accessed: 18- Jul- 2017]. [8] J. Mounika, A. Prince, Y. Mehta, H. Nivas and A. Mahendra, "Machine to Machine Communication Examples and Applications", IoT Worm, 2017. [Online]. Available:

A clear methodology for getting unique identifiers for objects at a global scale is difficult. Difficulties with security issues in IoT communication protocols. Less compatibility; as there are different protocols and a need for some standard communication. Data collection issues; as there will be a higher need for data storage to keep up with the increasing amount of data. Difficulties to debug small failures within the system could cause huge consequences. Difficulties to achieve immunity to noise and filter data.

[9]

[10] [11] [12]

[13]

[14] [15]

[16]

Addressing to numerous nodes. Low public awareness might hinder near future IoT business. Hacking on IoT communication protocols. Not being accepted by the society. Not to meet user expectations. National security concerns. Tendencies to use nowadays regular batteries and the need to recharge or replace old batteries, which are the weak point to miniaturize devices. Questions regarding working well under irregular conditions such as: extreme high temperature. High updating costs. IoT could replace numerous human jobs, causing deployment. People would not be able to keep up rapidly with IoT changes. http://iotworm.com/machine-machine-communication-examples-applications/. [Accessed: 13- Aug- 2017]. C. Key, "7 Best Developer Tools to Build your Next Internet of Things Application", Losant, 2017. [Online]. Available: https://www.losant.com/blog/7-best-developer-tools-to-build-your-nextinternet-of-things-application. [Accessed: 11- Jul- 2017]. L. Inc., "Losant", Losant, 2017. [Online]. Available: https://www.losant.com. [Accessed: 11- Jul- 2017]. "IFTTT", Ifttt.com, 2017. [Online]. Available: https://ifttt.com. [Accessed: 11- Jul- 2017]. "Wireless: Programmable cellular data, SMS, and voice for devices Twilio", Twilio.com, 2017. [Online]. Available: https://www.twilio.com/wireless. [Accessed: 04- Jul- 2017]. P. Sethi and S. Sarangi, "Internet of Things: Architectures, Protocols, and Applications", Journal of Electrical and Computer Engineering, vol. 2017, pp. 1-25, 2017. "RFID Technology Overview", Dataflows.com, 2011. [Online]. Available: http://www.dataflows.com/RFID_Overview.shtml. [Accessed: 24- Jul2017]. "IEEE-SA - IEEE 802.3™ 'Standard for Ethernet' Marks 30 Years of Innovation and Global Market Growth", Standards.ieee.org, 2017. [Online]. Available: http://standards.ieee.org/news/2013/802.3_30anniv.html. [Accessed: 19Jul- 2017]. IEEE P802.3bs 400GbE Adopted Timeline. IEEE P802.3bs 400GbE Task Force, 2015.

630

[17] R. Santitoro, Metro Ethernet Services — A Technical Overview. Metro Ethernet Forum. [18] D. Tonner, "The bluetooth blues | Information Age", Web.archive.org, 2007. [Online]. Available: https://web.archive.org/web/20071222231740/http://www.informationage.com/article/2001/may/the_bluetooth_blues. [Accessed: 19- Jul2017]. [19] "BR/EDR: Point-to-Point | Bluetooth Technology Website", Bluetooth.com, 2017. [Online]. Available: https://www.bluetooth.com/what-isbluetooth-technology/how-it-works/br-edr. [Accessed: 19- Jul- 2017]. [20] "Bluetooth Basics - learn.sparkfun.com", Learn.sparkfun.com, 2017. [Online]. Available: https://learn.sparkfun.com/tutorials/bluetooth-basics/how-bluetooth-works. [Accessed: 18- Jul- 2017]. [21] D. Nield, "Bluetooth 5: everything you need to know", TechRadar, 2017.[Online].Available:http://www.techradar.com/news/networking/bluetooth-5-everything-you-need-to-know-1323060. [Accessed: 18Jul- 2017]. [22] G. Sims, "The truth about Bluetooth 5 - Gary explains", Android Authority, 2017. [Online]. Available: http://www.androidauthority.com/bluetooth-5speed-range-762369/. [Accessed: 08- Aug- 2017]. [23] "What is WiFi and How Does it Work?", CCM, 2017. [Online]. Available: http://ccm.net/faq/298-what-is-wifi-and-how-does-it-work. [Accessed: 18Jul- 2017]. [24] J. Lendino, "What is 802.11ac Wi-Fi, and how much faster than 802.11n is it? - ExtremeTech", ExtremeTech, 2016. [Online]. Available: https://www.extremetech.com/computing/160837-what-is-802-11ac-andhow-much-faster-than-802-11n-is-it. [Accessed: 24- Jul- 2017]. [25] "Explaining Wireless Sensor Nodes: Zigbee vs. WiFI", YouTube, 2017. [Online]. Available: https://www.youtube.com/watch?v=buV11ZPJ7MQ. [Accessed: 18- Jul- 2017]. [26] "CCTV Institute | CCTV Surveillance Smart-homes Home Automation Zigbee", CCTV Institute, 2017. [Online]. Available: http://cctvinstitute.co.uk/zigbee/. [Accessed: 18- Jul- 2017]. [27] D. M. West, How 5G technology enables the health internet of things. Washington DC: Center for Technology Innovation at Brookings, 2016. [28] H. Qualcomm, "How will 5G impact the Internet of Things? Qualcomm Senior Vice President Raj Talluri explains | Qualcomm", Qualcomm, 2017. [Online]. Available: https://www.qualcomm.com/news/onq/2017/01/09/how-will-5g-impact-internet-thingsqualcomm-senior-vice-president-raj-talluri. [Accessed: 18- Jul- 2017]. [29] "Can the Internet of Things (IoT) Survive without Satellite?", Thuraya, 2017. [Online]. Available: http://www.thuraya.com/content/can-internet-things-iot-survive-withoutsatellite. [Accessed: 18- Jul- 2017]. [30] "The Internet of Things (IoT) Starts with Intel Inside®", Intel. [Online]. Available: https://www.intel.com/content/www/us/en/internet-of-things/overview.html. [Accessed: 23- Jul- 2017]. [31] P. Bishop, "A tradeoff between microcontroller, DSP, FPGA and ASIC technologies | EE Times", EETimes, 2009. [Online]. Available: http://www.eetimes.com/document.asp?doc_id=1275272. [Accessed: 23Jul- 2017]. [32] "Is it an ASIC? Is it an FPGA? No, it's eASIC! | EE Times", EETimes, 2015. [Online]. Available: http://www.eetimes.com/document.asp?doc_id=1327688. [Accessed: 23Jul- 2017]. [33] "IoT Operating Systems", Arrow, 2016. [Online]. Available: https://www.arrow.com/en/research-and-events/articles/iot-operating-systems. [Accessed: 23- Jul- 2017]. [34] E. Baccelli, O. Hahm, M. Gunes, M. Wahlisch and T. C. Schmidt, "RIOT OS: Towards an OS for the Internet of Things", in 32nd IEEE International Conference on Computer Communications (INFOCOM), 2013. [35] M. Pelino and A. Hewitt, the Forrester Wave™: IoT Software Platforms, Q4 2016. FORRESTER, 2016. [Online]. Available: https://kloudrydermcaasicmforrester.s3.amazonaws.com/mcaas/Reprints/RES136087.pdf. [Accessed: 23- Jul- 2017]. [36] "Data Center Distributor | Infrastructure Products | Anixter", Anixter.com, 2017. [Online]. Available: https://www.anixter.com/en_us/services-and-solutions/solutions/data-center.html. [Accessed: 23- Jul- 2017]. [37] "What is SDDC (software-defined data center)? - Definition from WhatIs.com", SearchConvergedInfrastructure, 2017. [Online]. Available:

http://searchconvergedinfrastructure.techtarget.com/definition/softwaredefined-data-center-SDDC. [Accessed: 23- Jul- 2017]. [38] O. Vermesan and P. Friess, Internet of things. River Publishers, 2014.

631