Preface and Table of Content
This book on ICT infrastructure and its applications covers the whole spectrum of technologies required to design, develop and deploy the ICT applications. Starting with architectural components and frameworks for ICT applications such as sensors and actuators, microcontrollers and interfacing platforms, this book includes various communication protocols and data processing frameworks, secure and distributed storage architectures, the software architectures. Further, different frameworks of smart and intelligent analytics are elaborated along with relevant case studies and use cases.
Communication is an integral part of an ICT application and the devices involved in an application are required to be communication enabled. Based on the application needs and the role of a particular device, it may be required to communicate with the nearby or remote devices through wired or wireless medium. Therefore, to achieve effective communication among devices, efficient communication protocols play a very important role. We discuss features and limitations of various wired and/or wireless communication protocols applicable to various ICT applications. We elaborate the representative wireless communication protocols such as the RFID, Bluetooth Low Energy, Zigbee / 6LowPAN, WiFi, 4G / 5G etc. The application layer communication paradigms such as client – server, peer – peer, broker based publish – subscribe are also elaborated using the representative higher layer protocols such as HTTP, CoAP, Bit-torrent, MQTT, KAFKA to name a few.
A communication enabled Internet of Things (IoT) device / sensor node consists of a microcontroller, variety of interfaces to connect sensors or actuators, wireless transceivers, and power source etc. A large number of microcontroller platforms such as Arduino, Raspberry PI, FPGA boards, and mobile phones etc. are available. Also for connecting various smart IoT devices and sensors, a microcontroller is equipped with various interfaces such as USART, I2C, SPI, USB etc. A large variety of sensors such as temperature, humidity, video and image sensors, acoustic sensors etc. enables sensing of surroundings to actuate necessary action by the application. We present a detailed survey and ongoing research in the domain which provides a rigorous assessment on the building blocks (such as IoT devices / sensor nodes, communication protocols etc.) to fulfil the needs of a given ICT application.
With the recent developments and advancements in smart devices and connected communities, recent communication technologies such as 5G and advanced computing platforms such as fog, edge and cloud computing are becoming popular. These recent ICT infrastructures may offer various intelligent services such as autonomous driving, efficient disaster management, elderly and disabled people support, safe and smart connected societies etc. Due to increasing connectivity of Internet, crowd sourcing and distributed IoT devices (such as, smart mobile phones, etc.), it has become possible to collect and transmit real-time data which is useful in predicting and/or reacting to incidents in real time. For instance, for effective disaster management, it is essential to accurately predict and respond to many devastating events (including both natural and man-made disasters) to save lives of thousands of people and to reduce the loss of property. Again, for applications such as smart healthcare monitoring it is essential to process patient data in real-time so as to provide timely diagnosis and intervention to the patients. Such applications (such as, disaster management, smart healthcare monitoring, intelligent transport management, etc.) which involve large amount of data require high security as well as very low latency in processing so as to ensure accurate and real time responses to reduce the impact of abnormal events. Such predictions and decision making services requires the use of advanced ICT infrastructure.
IoT devices which are an integral part of ICT infrastructure can play a crucial role in such prediction as well as in generating appropriate response. However, IoT devices are resource constrained and less powerful in terms of energy, computation and storage. Thus, they cannot process and store huge amount of data generated locally. Currently, such limitations of these resource constrained IoT devices are addressed by offloading processing tasks and storage to the distributed computing paradigms such as cloud. However, due to the huge amount of data generated by different smart sensors and IoT devices in the network, the cloud computing platform suffers from considerable mismatch such as
The large physical distance between IoT devices and the cloud requires Internet connectivity. This implies high latency and greater bandwidth demand,
Transmitting large volumes of data to cloud and getting responses from it can quickly drain the energy of IoT devices,
Privacy and security are crucial factors in the success of cloud computing platform. However, the high concentration of data / information leaves the cloud highly susceptible to violent attacks and data offloaded to the cloud through wireless environments can be overheard by eavesdroppers, and
Cloud computing is not suitable for applications that require the widespread distribution of devices and users.
Therefore, there is a need to advance computing and communication infrastructures which add more computing devices closer to sensors/IoT devices for time sensitive applications. To overcome these limitations, the concept of edge computing has been proposed. Fog computing, a type of edge computing has the capability of reducing the amount of data to be transferred to the central cloud. In this paradigm, computing resources are made available at the edge of the network. Close proximity of computational resources and IoT devices offers several advantages. For instance, if the load is beyond the capabilities of IoT devices they can offload it to the edge servers. Also, close proximity of edge servers and devices improves the latency. Further, the huge amount of data generated though different smart sensors needs to be stored for future use and processed (so as to find meaningful patterns) on Cloud Computing resources. Thus, cloud and edge computing complement each other.
This book incorporates an all-inclusive study of ICT infrastructure focused on energy consumption, node breakdown, communication latency, and so on for real time applications. Further, the following issues have also been discussed: 1. design principle for fog IoT architecture, 2. spectrum management in fog IoT based system, 3. upgradability of computing, communication and storage resources, 4. QoS provisioning for various applications. In addition, this book incorporates key aspects of system and software engineering and Smart Analytics for ICT applications, in context of IoT, Web of Things (WoT) and Industry 4.0 domains.
Firstly, while the challenge of connecting IoT devices at the lowest layer has been widely studied, integrating and interoperating huge amounts of sensed data of heterogeneous IoT devices is becoming increasingly important because of the possibility of consuming such data in supporting many potential novel IoT applications. A common approach to processing and consuming IoT data is a centralized paradigm: sensor data is sent over the network to a comparatively powerful central server or a cloud service, where all processing takes place. However, as discussed above this approach has some limitations such as latency, higher network bandwidth requirement, and data privacy. To address the above limitations for building future IoT applications, this book presents an early design of a novel framework that combines IoT, Semantic Web, and Big Data concepts. We not only present the core components to build an IoT system, but also list existing alternatives with their merits. We also discuss frameworks that aim to incorporate open standards to address the potential challenges in building future IoT applications. Therefore, our discussion also revolves around open standards to build the framework, rather than just proprietary standards.
Secondly, WoT is rapidly growing in popularity getting the interest of not only technologist and scientific communities but industrial, system integrators and solution providers. The key aspects of the WoT to succeed are the relatively easy-to-build ecosystems inherited from the web and the capacity for building end-to-end solutions. At the WoT connecting physical devices such as sensors, RFID tags or any devices that can send data through the Internet using the Web is almost automatic. The WoT shared data can be used to build smarter solutions that offer business services in the form of IoT applications. In this book, we review the main WoT challenges, with particular interest on highlighting those that rely on combining heterogeneous IoT data for the design of smarter services and applications and that benefit from data interoperability. Semantic web technologies help for overcoming with such challenges by addressing, among other ones the following objectives: 1) semantically annotating and unifying heterogeneous data, 2) enriching semantic WoT datasets with external knowledge graphs, and 3) providing an analysis of data by means of reasoning mechanisms to infer meaningful information. To overcome the challenge of building interoperable semantics-based IoT applications, we propose to design the Machine-to-Machine Measurement (M3) semantic engine to semantically annotate WoT data, build the logic of smarter services and deduce meaningful knowledge by linking it to the external knowledge graphs available on the web. M3 assists application and business developers in designing interoperable Semantic Web of Things applications.
Thirdly, Industry 4.0 refers to the 4th Industrial revolution – the recent trend of automation and data exchange in manufacturing technologies. Traditionally, Manufacturing Executing System (MES) collects data and it is only used for periodic reports giving insight about past events. It does not incorporate real-time data for up-to-date reports. Production targets are mostly predefined, before the actual production starts. The different production anomalies are known to happen in real-world, affecting the pre-defined production targets. Moreover, a key challenge faced by industry is to integrate multiple autonomous processes, machines, and businesses. One of the main objectives of this book is to build an integrated view that can make data available in a unified model to support different stakeholders of a factory (e.g., factory planners, managers) in decision making. In this part, we focus on designing an approach for building Industry 4.0 smart services, addressing real-time data analytics which can integrate multiple sources of information and analyze them on the fly. Moreover, we share our experience of applying IoT and data analytics approach to a traditional manufacturing domain, thus enabling smart services for Industry 4.0. We also present our key findings and challenges faced while deploying our solution in real industrial settings. The selected use case studies demonstrate use of our approach for building smart Industry 4.0 applications.
To summarize, the book presents a whole spectrum of technologies required to design, develop and deploy the ICT applications addressing diverse needs. In the following, we present a broad outline of chapters
Chapter 1 broadly defines the theme of the book. The frameworks and architectural components of the ICT applications are briefly described. The infrastructure requirements are determined and the interactions among various infrastructure elements are described.
In Chapter 2, sensing infrastructure required for building ICT applications is elaborated. The chapter is divided into three parts wherein the sensors and actuators, microcontrollers, and interfacing mechanism are studied.
Chapter 3 and 4 elaborates the communication infrastructure and computation infrastructure, respectively. Various kinds of wired and wireless communication technologies and the communication protocols addressing security and reliable data transfer are presented. Presently, the smart Internet of Things (IoT) devices offload the large data aggregation and processing as well as storage to different computing platforms such as edge, fog and cloud. In this chapter, we discuss different computing paradigms including their benefits and limitations. We also provide challenges and future directions for research in these computing paradigms.
In Chapter 5, storage elements and frameworks used in the ICT applications are studied. In particular, the distributed no-SQL databases, distributed file system and big-data structures are discussed. The design of data center networks and the protocols used for efficient data retrieval are elaborated. The content cache / proxy mechanisms and algorithms for invalidating contents are described.
Chapter 6 introduces system and software engineering for building ICT applications. It presents different software architecture for developing smart services of ICT application, based on fundamental principles of success in the development of ICT-based smart services. It also emphasizes an approach to consider the entire software development process, following the software engineering practices. In addition to this, this chapter elaborates a very prominent approach of software architecture to build digital twins for ICT applications, as an example of model-based representation of hardware and the communication between the components of an ICT applications, and the data integration.
Chapter 7 describes the necessary foundations for the Machine Learning and Deep Learning-based smart analytics for ICT applications. In addition to this, it presents an AI-based process of capturing, processing and analyzing data generated from the execution of smart services, which then enables, extends, improves ICT-based smart services.
Finally, chapter 8 presents the use cases and case studies that apply the concepts and technologies studied in the previous chapters. The case studies are taken from a broad class of applications such as transportation, healthcare, energy, disaster management, etc.
Table of Contents (Tentative)
Chapter 1: Introduction
1.1 ICT applications architectural components and frameworks
1.2 Sensors and Actuators
1.3 Communication Requirements
1.4 Computation Requirements
1.5 Storage Requirements
1.6 Software Architecture
1.7 Role of Artificial Intelligence and Machine Learning
Chapter 2: Sensing Infrastructure
2.1 Microcontroller platforms such as Arduino, Raspberry Pi, nVIDIA Jetson, Mobile phone etc.
2.2 Sensors and actuators: types of sensors (e.g. temperature, moisture, acoustic, multimedia etc.), type of data generation
2.3 Interfacing buses – SPI, I2C, UART
Chapter 3: Communication Infrastructure
3.1 Types of transceivers (e.g. Ethernet, Cellular, WiFi, ZigBee)
3.2 Wired communication: intercontinental communication
3.3 Wireless communication: satellite, local area
3.4 Communication protocols: single hop communication, multi-hop / end to end communication; schedule and aggregation based data communication
3.5 Client / server, peer to peer, coordinator / agent based communication: MQTT, Apache Kafka for scalable communication
Chapter 4: Computation Infrastructure
4.1 Data aggregation and processing,
4.2 Server based
4.3 Cloud based
4.4 Edge and fog computing
4.5 Map-Reduce based distributed computing
Chapter 5: Storage Infrastructure
5.1 Datacenter networks
5.2 Protocols for faster data retrieval, proxy / cache mechanisms
5.3 Distributed databases: HDFS, Google table etc.
Chapter 6: System and Software Architecture for ICT
6.1 Modern software architecture for building ICT applications
6.2 Software architectures for real-time streaming Applications
6.3 CI/CD for Emerging ICT applications
Chapter 7: Smart and Intelligence Analytics
7.1 Smart pipeline for building Smart Analytics
7.2 Deep learning for resource constrained IoT applications
7.3 MLOps - Machine Learning for Software Engineering
Chapter 8: Case Studies
8.1 Transportation: Intelligent Transportation System (ITS); Adaptive Traffic Light Control(A-TLC); Advanced Public Transportation Systems (APTS)
8.2 Healthcare
8.3 Smart grid, smart homes
8.4 Disaster management systems