Smart IoT devices are all around us today, and are growing exponentially each year. With this growth come challenges in managing the data generated by these devices. Edge computing comes to the rescue here, as it processes data closer to the IoT device and helps to generate real-time responses.
IoT devices generate a very large amount of data that is processed and analysed for use in various applications. In the early days of IoT, most devices sent this data to the cloud for storage and analysis. As cloud servers are located very far from IoT devices, this led to a delay in getting processed data. New IoT applications require real-time data processing, for which cloud computing is too costly and not fast enough. Edge computing brings data processing services near the devices or the source of the data. This allows data from various IoT devices to be processed and analysed at the edge of the network, which results in lower latency and enhanced efficiency in data transportation. Data can then be sent to the cloud or data centre for long term processing and storage.
The Internet of Things or IoT refers to the large volume of intelligent devices connected to the Internet. These devices can be called nodes; they sense, collect and send data to each other through various communication protocols. IoT devices collect a large volume of heterogeneous data generated by sensors, which needs processing for extracting useful information to offer services to users. In traditional computing, data gathered by IoT devices is sent to cloud servers for processing, and the results are transferred to IoT devices for necessary action. The time required to send and get processed data from the cloud server is more, which is not acceptable for real-time applications such as healthcare, smart transportation, and smart grids.
The challenges and emerging applications of IoT
As the data generated by various IoT applications increases exponentially, it brings new challenges in managing it. In many IoT applications, where reliable and real-time data delivery is required, cloud computing based services are not suitable to meet their demands. Most IoT applications face the following challenges:
- Transmission delay
- Security and privacy
The rapid growth in IoT devices has opened up several applications in different domains, and especially in the field of communications. Many of these emerging applications are open to different sets of goals and requirements, but play a vital role in making our everyday activities easy, smart, and safe. Figure 1 shows the various emerging IoT applications.
Role of edge computing in IoT
Edge computing processes and stores the data received at the edge of the network, which is near to the end users. The processing of data closer to the end devices decreases the transmission time, lowers bandwidth needs and increases the battery life of IoT devices. Edge computing offers benefits for many IoT applications, including reduced response time and improved communications efficiency, as compared to cloud computing.
IoT applications can be classified with respect to their delay sensitivity — a particular application may or may not be sensitive to delay, depending on the type of parameters it manages. We can choose between cloud computing and edge computing based on this delay sensitivity. Edge computing performs well in comparison with cloud computing for IoT, though it has limited computational power and storage. Most IoT applications require real-time services rather than greater computational power and storage.
Edge computing with IoT is extensively used in many industrial applications; it enables numerous new services for enterprises and users. Many emerging IoT applications, such as smart vehicles, smart grids, depend on edge computing. Advantages of edge computing in IoT include:
- Low latency
- Longer battery life for IoT devices
- Low bandwidth requirement
- Resilience in systems
Fusion of edge computing with IoT
Edge computing is a cost-effective framework for extending the functionalities of cloud computing. In real-time IoT applications, it reduces the latency and also the response time. The features of edge computing such as low latency, mobility provision, location awareness, and dense distribution can solve the challenges the IoT industry is facing.
Figure 2 shows the three-layer architecture of edge computing based IoT. The bottom layer contains various smart IoT devices, which generate the data. Data gathered from this layer is sent to the edge layer, where data processing and data analytics tasks are performed at the edge nodes to make real-time decisions. Based on the decisions taken at the edge layer, data is sent to cloud servers for exhaustive analysis and stored there.
Emulators and simulators for edge IoT computing
The excellence of any IoT system is usually evaluated by the degree to which it fulfils the requirements of its users. The performance of an IoT application can be measured with various quality metrics like latency, energy efficiency, and scalability. These measurement metrics vary from application to application, because every application has different requirements. The simulation of real-world IoT infrastructures has gained substantial interest in the research community because performing experiments on them is both an expensive and time-consuming process.
There are a number of simulators that facilitate the evaluation of various aspects of IoT systems. Many of these are available for cloud computing and some of them are used to simulate the fusion of edge computing in an IoT environment. Here we briefly describe well-known edge computing simulators used for modelling, and compare them in terms of quality. Figure 3 shows the various simulators/emulators available for edge computing. Table 1 gives a comparison between these.
iFogSim simulator is used for simulating fog and edge computing, and to provide an evaluation tool to manage various resources. It is designed based on the CloudSim simulator, which is primarily used to simulate a cloud computing environment. It provides a quantitative evaluation of latency, energy utilisation, and network traffic.
IoTSim simulates edge computing scenarios, where a huge amount of data is processed in a Big Data processing system by the IoT system. It gives special focus on simulating communication and network delays among data storage and data processing virtual machines.
Table 1: A comparison of edge simulators/emulators
EdgeCloudSim is explicitly designed for the evaluation of edge computing scenarios in IoT. It provides various models such as the mobility module, edge server module, and network link module to assess the several features of edge computing. It is user-friendly and provides a method to configure devices and applications using XML files.
FogNetSim++ is based on the prominent simulator OMNET++, which contains widespread network libraries and provides numerous network protocols. It empowers researchers to integrate user-defined mobility models and manage delivery mechanisms.
EmuFog emulator supports repeatable and manageable experiments with real-life applications. It emulates network topologies and is designed on top of the MaxiNet network emulator. However, it does not support mobility, both for fog nodes and clients, and also doesn’t provide hierarchical fog infrastructures.
Fogbed is an extension of the Mininet simulator. The network topology can be changed dynamically using Docker containers. However, it does not support the main facets of fog computing such as fault tolerance, scalability, security, and reliability.
IoT devices must be able to process data closer to end users, especially for time-critical applications. Edge computing is the best option for this. However, it’s still in an early stage of development and more research is needed for the efficient integration of edge computing with IoT.