Cloud-Based IoT Platform: Challenges and Applied Solutions

Cloud-Based IoT Platform: Challenges and Applied Solutions

Amany Sarhan (Tanta University, Egypt)
DOI: 10.4018/978-1-5225-7332-6.ch006
OnDemand PDF Download:
No Current Special Offers


Developing IoT projects from scratch requires a lot of knowledge and expertise; moreover, it takes a very long time to be developed. It can be hard for starters and even senior developers to perfect every aspect of an IoT project in a timely manner. These aspects include hardware, communication, data storage, security, integration, application, data processing, and analysis. This chapter introduces a cloud-based platform that is concerned with data storage, device management, data processing, and integration with external systems, all while providing high level of security and allowing for future scaling. This platform should accelerate and simplify the development of IoT projects by lowering the entry barrier and offloading some of the burden off developers to give them more time to focus on other aspects such as hardware and applications. The authors discuss many implementation issues in the functional and design perspective that may guide others to make their own platforms from this insight view.
Chapter Preview


The term “Internet of Things” (IoT) was first used in 1999 by British technology pioneer Kevin Ashton to describe a system in which objects in the physical world could be connected to the Internet by sensors. Ashton coined the term to illustrate the power of connecting Radio-Frequency Identification (RFID) tags used in corporate supply chains to the Internet in order to count and track goods without the need for human intervention. Today, the Internet of Things has become a popular term for describing scenarios in which Internet connectivity and computing capability extend to a variety of objects, devices, sensors, and everyday items (Internet society, 2018).

The IoT market has started to move towards action and companies are realizing that building end-to-end IoT systems from scratch is a tedious task and a big risk with many business cases still shaky and not clearly validated (IoT Analytics, 2015). With so much re-inventing the wheel happening at the same time in different organizations, the market has responded by generating a wave of companies that deliver out-of-the box solutions that encapsulate major parts of an end-to-end IoT system in repeatable and replicable building blocks that can be used in different areas in the market. These solutions are known as IoT platforms. IoT platforms enable companies to bring IoT solutions more rapidly to the market by cutting development time and expenses for IoT systems (Internet of Things Research, 2016).

Generally, IoT platforms can be classified into 4 main categories:

  • 1.

    Device Centric IoT Platforms: These are developed as hardware-specific software platforms pushed by companies that commercialize IoT device components and have built a software backend that is referred to as an IoT platform. These backends are often reference implementations to ease the development of end-to-end IoT solutions, which are made available as starting points to other eco-system partners. Examples - INTEL IoT platform (Internet of Things Research, 2016) and (Intel, 2018), ARM mbed IoT platform (Internet of Things Research, 2016) and (ARM, 2018).

  • 2.

    Communication/Connectivity Centric IoT Platforms: They address the connectivity of connected IoT devices via communication networks. Connectivity based platforms primarily focus on providing innovative solutions for device/product manufacturers, which they can drop into their existing products to make them connected. Recent development provides specified analytics for extracting reports about the performance of connected devices. Examples - CISCO/Jasper (Internet of Things Research, 2016) and (Cisco, 2018), Ayla Networks (Internet of Things Research, 2016).

  • 3.

    Cloud Centric IoT Platforms: These are offerings from larger cloud providers, which aim to extend their cloud business into the IoT as in Botta et al.'s (2016) and Razzaque et al.'s (2016). They offer different solutions with for example Infrastructure as-a-service (IaaS) backend that provide hosting space and processing power for applications and services. The backend is optimized for other applications that have been updated and integrated into IoT platforms. Examples - Microsoft Azure IoT (Microsoft, 2018), IBM Watson IoT platform (Internet of Things Research, 2016).

  • 4.

    Industrial Centric IoT Platforms: These are the platforms designed to address the challenges of industrial IoT and integrate extensive features compared with the IoT consumer and business solutions (i.e. strong integrated IT and better end-to-end security framework). IoT connectivity extends to machines, sensors, devices and processes in the industrial sectors, and business outcomes produce increased manufacturing efficiencies, better resource utilization, and transformed support models that are driving adoption. In this context, the development of Industrial IoT platforms is driven by large manufacturing companies. Examples - Bosch IoT Platform (Internet of Things Research, 2016) and (Bosch, 2018), GE Predix (GE Predix, 2018).

Key Terms in this Chapter

IoT Platform: A high level support software that connects edge hardware, access points, and data networks to other parts of the value chain (which are generally the end-user applications). IoT platforms typically handle ongoing management tasks and data visualization, which allow users to automate their environment.

JSON: JavaScript object notation is a lightweight data-interchange format which is easy for humans to read and write and for machines to parse and generate. It is based on a subset of the JavaScript programming language.

Rule Engine: A sophisticated if/then statement interpreter that is used to specify a set of rules and the corresponding actions taken.

API: An application program interface (API) is a set of functions, protocols, and tools for building software applications. It specifies and simplifies how software components should interact specially when programming graphical user interface (GUI) components.

Cloud: A global network of servers around the globe connected logically together to appear as a single system. These servers can either store and manage data, run applications, or deliver content or a service.

Concurrency Control: A database management systems (DBMS) concept that is used to solves the conflicts that occur with the simultaneous accessing or altering of data that can occur with a multi-user system. It prevents two or more users from editing the same record at the same time and also serializes transactions for backup and recovery.

IoT: A system of connected computing devices, machines, objects, people or sensors that have unique identifiers (UIDs). They have the ability to transfer data over a network which are then utilized to make decisions or actions.

Complete Chapter List

Search this Book: