Edge Computing for the Internet of Things

Comments · 3173 Views

The number of IoT devices has exceeded the human population. With the availability of cheap sensors and actuators Internet of Things (IoT) technology is rising rapidly and generating vast volumes of data. IoT devices with limited resources are not capable of storing and processing this data. Hence, this data is processed and stored on a cloud infrastructure. Cloud located at distant locations results in high bandwidth utilization and high latency. Edge computing helps in mitigating these issues as they are available closer to edge devices. To improve edge computing technologies like virtualization, software-defined network, network function virtualization, and 5G wireless plays a vital role.

Introduction

The growth of IoT has been rapid over the last few years, and this growth is rising exponentially in the coming years. As more and more things are becoming smart (smart home, smart vehicles, smart cities), IoT is becoming the most significant source of data generation. In 2012, there were 9 billion IoT physical devices and is projected to go up to 75 billion by 2020.

This data needs to be processed to provide intelligence and be more useful for analytics. Since IoT devices have limited processing power, storage, and energy resources available to them, processing and storage are usually realized at a remote server after transferring this data over a network. Although cloud computing, a cluster of remote servers, is perfect for computing this massive data due to its on-demand flexibility, big-data analytics, and scalability. As these devices located far away from the physical devices and sensors, it not only introduces latency but also puts stress on the network due to its high bandwidth utilization. Many of the IoT applications are time-sensitive, and latency introduced by cloud computing is not acceptable.

Edge computing helps us to tackle these mentioned issues. In edge computing, the resources are available closer to the end-devices. Computing and storage are available at just one-hop away from the IoT devices. The data can be stored and pre-processed at the edge, and a small amount of data can be sent to the cloud for further centralized processing. Such implementation significantly lowers the transmission latency and reduces the stress on the network to offload such massive data. Moreover, edge computing can help transfer the overhead generated due to computation and communication from the nodes to the edge server.

Internet of things

IoT components include sensors/devices, IoT gateways, and cloud/core network. Sensors/devices generate data and act as an interface between the user and the machine. These devices are interconnected and connected to a cloud network. They are capable of providing additional information to the user and can acquire the resources required by the application from the cloud. Gateways connect sensors/devices to the cloud servers. It pre-processes the data collected from sensors/devices, reducing redundancy and unnecessary overhead before sending it out to the cloud servers. Moreover, they provide the results of computations from the cloud server to the sensors/devices. Cloud/core network receives the data, store it, and process it as per the requirement of the user.

Edge Computing

Traditional cloud computing cannot satisfy the Quality of service (QoS) requirements for time-sensitive IoT applications. Hence, we need edge computing. Edge computing allows edge nodes closer to edge devices to respond to reducing bandwidth consumption and latency. Edge computation nodes are called as edge/cloudlet servers.

Figure 1. The architecture of edge computing networks.

Figure 1. shows the underlying architecture of edge computing. It can be studied using three areas, front-end, near-end, and far-end. Front-end is the devices itself. It can provide better responsiveness to the users, but since the resources limit these devices, most user requirements cannot be realized in the front-end environment. The near-end devices are comprised of the gateway devices. In edge computing, the majority of the computation and storage are handled by near-end devices. The far-end environment consists of remote cloud servers, which have the most computing resources and data storage.

Offloading data to edge servers instead of cloud results in lower energy consumption at the IoT end device. It also helps to run several types of applications on resources constrained devices. Moreover, mobility and geographical distribution backed by edge computing are vital for IoT applications. This ease of data processing and storage helps in the development of new IoT services and applications.

Current architectures for edge computing can be classified into three categories. Firstly, resource-rich servers deployed at the edge. Implementation of such type can be found in cloudlets and mobile edge computing (MEC). Cloudlets are virtual machines (VM) deployed at Wi-Fi access points or base stations. MEC is used in the mobile cellular network to provide cloud computing abilities at the edge. Secondly, heterogenous edge nodes. It consists of different types of computing resources. An example of such implementations is fog computing. Fog is essentially a collection of heterogeneous VMs ranging for servers, gateways, routers, edge devices like smartphones and vehicles, and much more, providing data computation and storage. Lastly, we have an edge-cloud federation where the federation of nodes is deployed at the edge with a centralized cloud data centre.

Enabling technologies for IoT and edge cloud integration

IoT based edge computing is currently new and is under development as it is dependent on other technologies like 5G, software-defined radio (SDN), network function virtualization (NFV), and mobile edge computing (MEC), which are still their early stages of development.

Virtualization is a crucial technology for edge computing. It facilitates running multiple isolated application instances on a single physical server sharing its resources. Virtualization can be achieved either through hypervisor-based virtualization or container-based virtualization. The hypervisor is a software layer lying between the virtual machine (VM) and the physical hardware. In hypervisor-based virtualization, each VM has its own guest operating system (OS) on top of host OS. In Container-based virtualization, instances run on the same OS. The hypervisor provides better isolation, whereas the container is lightweight on resources. Another aspect of virtualization is the ease of migration VMs from server to server.

NFV virtualizes various network functions and services. It facilitates network provides to run them on general-purpose hardware and not on a dedicated server for each function or service improving the flexibility as the location of deployment is catered for most efficient delivery of applications and services. NFV in edge computing not only brings storage and computing resources closer to the edge devices but also the networking resources. SDN enables network management with a centralized controller that manages forwarding decisions and policies. It allows for faster deployment of new services. Considering the number of end devices and applications, SDN is best suited to handle such a vast and complex edge computing network.

SDN and NFV used together allow for the quick programmable deployment of software-based modules with limited costs. Using NFV, we can deploy a virtual resource called Virtual Network Function (VNF) if there is a sudden increase in traffic and helps to bring these resources close to end-devices by deploying on-premise. Moreover, SDN automates this deployment and management of VNFs with flexible policies and routing for this increased traffic. Hence, virtualization and live migration with the help of NFV and SDN is one of the key enabling technologies for edge computing.

With advancements in 5G, network operators can allow third parties to deploy RAN (radio access network) using MEC to improve QoS as the RAN offers context-aware services. This RAN deployment can be within an organization or in public places. Allowing third parties improves implementation, but it is challenging to have the same security policies on all of them. 5G, with its properties like low latency, energy-efficient operations, reliability, and support for technologies like SDN and NFV, is vital for edge computing and IoT. These technologies make the 5G network programmable with automated management. 5G has ultra-dense networks with multiple-input multiple-output (MIMO) and millimetre waves to support low-latency communications.

The orchestration methods used currently needs to be configured manually and are complex and error-prone. Moreover, it is not capable of handling multiple and diverse IoT applications. Hence these available orchestration methods are not ideal for IoT. The orchestration also needs to be capable of dynamic offloading data generated from IoT/edge devices optimally and allocating appropriate resources. There is a need to develop an automated orchestration of edge computing resources for IoT at the edge. It can be achieved with the use of SDN and NFV technologies.

Advantages of using edge computing in IoT

IoT devices should be capable of automatically processing and interpret data, digitize the physical world with limited resource abilities. Features required by IoT devices make edge computing well suited for its deployment. Low-latency communication for real-time services and applications is achieved using edge cloud. IoT being bandwidth-intensive with edge cloud just one hop away reduces network overload. Edge gateway can also pre-process and aggregate data before sending it to the cloud. Geographical distribution of resources enables local data processing achieving low latency communication. IoT devices are often mobile. Mobility is delivered through live migration of virtualized resources, which again focuses on processing data locally for low latency.

IoT communication is real-time should be free of human involvement. The user experience is essential in real-time interactive IoT applications where the response should be comparable to human stimuli. Thus, we need quick response time along with high reliability, which edge computing helps to achieve. Cloud computing can deliver better quality as it has abundant and scalable computing resources, but the user experience is hampered for interactive applications. Edge computing can offer similar features as that of cloud but closer to edge with negligible latency.

It helps to remove the bottleneck of the network resources. Latency introduced is the addition of computing latency and transmission latency. Computing latency is the time required to process the data, whereas transmission latency is the time needed to transmit data and receive the response from the server. Computing at the end device takes time due to its limited resources, and it is much faster at a cloud server. Data transmission to a faraway cloud adds significant transmission latency. Edge computing aims to provide a balance between computing and transmission latency. Offloading data processing and forwarding to edge cloud/gateway reduces the energy consumption and transmission loss failures maximizing the lifetime of the IoT device. As edge computing has decentralized storage, it offers load balancing.

Challenges of using edge computing in IoT

Edge nodes are heterogeneous platforms, and each platform might have different programming environments causing problems during application development. Various IoT applications might need different edge computing platforms. Moreover, these platforms running on different operating systems (OS) have a different file name, allocations, and reliability techniques. Traditional naming schemes like Domain Name System (DNS) and Uniform Resource Identifier (URI) not optimized for multi-source and multi-task conditions in dynamic edge nodes. Heterogeneity of devices, multiple and diverse application and various third-party service providers increase the complexity. This scenario, coupled with the use of technologies like virtualization, wireless communications, SDN, and NFV, makes security and privacy a complicated task.

With storage, data integrity can be an issue as the data is stored on different servers. Moreover, uploaded data can be misused. Suitable authentication, authorization, encryption, and auditing needs to be designed to prevent and protect from attacks and misuses. For providing an end to end encryption, IoT devices have to encrypt the data, which puts a small computational overhead on which impacts the overall lifetime of the IoT devices. Another challenge is for 5G carriers to support open source SDN and NFV technologies, which often rely on closed and proprietary solutions to deploy their network.

The base technologies like SDN, NFV, and 5G are not mature yet. The coherency and interaction between these technologies need to improve for better implementation. Southbound Interface (SBI) and Northbound Interfaces (NBI) are used in SDN and NFV to communicate between the components. NBI refers to an interface between the application plane and the control plane, whereas SBI is between the control plane and the data plane. SBIs are well defined, but NBIs are not standardized. For dynamic NFV and SDN interaction, suitable NBI standardization is essential.

Conclusion

Edge computing-based IoT aims to solve many of the challenges encountered by using traditional cloud computing for IoT. It brings cloud capabilities closer to the edge devices. It brings low end-to-end transmission latency, and is low on bandwidth consumption of the backbone network, fulfilling the IoT requirements. This complex network of edge devices and edge servers is resulting in resource allocation and network optimization challenges, which can be solved by SDN and NFV. For reducing the transmission latency even further, we need to integrate edge computing in 5G. Hence, the growth of edge computing and IoT is heavily dependent upon the development of emerging technologies like 5G wireless, SDN, and NFV.

References

[1] W. Yu et al., "A Survey on the Edge Computing for the Internet of Things," in IEEE Access, vol. 6, pp. 6900-6919, 2018.

[2] G. Premsankar, M. Di Francesco and T. Taleb, "Edge Computing for the Internet of Things: A Case Study," in IEEE Internet of Things Journal, vol. 5, no. 2, pp. 1275-1284, April 2018.

[3] J. Pan and J. McElhannon, "Future Edge Cloud and Edge Computing for Internet of Things Applications," in IEEE Internet of Things Journal, vol. 5, no. 1, pp. 439-449, Feb. 2018.

Comments