Note: Edge Computing: Vision and Challenges

Abstract

With the rapid development of Internet of Things technology and the promotion of cloud services, cloud computing model can no longer solve the current problems well. Therefore, a new computing model, edge computing, is presented here. Edge computing refers to processing data at the edge of the network to reduce request response time, improve battery life, reduce network bandwidth and ensure data security and privacy. This article will introduce concepts related to edge computing through some cases, including cloud offloading, smart home, smart city and collaborative edge node implementation of edge computing. Hopefully this article will inspire you and get more people involved in the research of edge computing.

Introduction to the

Since its introduction in 2005, cloud computing has gradually changed the way we live, study and work. The services provided by Google and Facebook, which are frequently used in daily life, are typical examples. Scalable infrastructure and processing engines that support cloud services, such as Hadoop and Spark, are also having an impact on the way we run our businesses. The rapid development of the Internet of Things has brought us into the post-cloud era, which will generate a large amount of data in our daily life. Cisco estimates that nearly 50 billion things will be connected to the Internet by 2019. Iot applications may require extremely fast response times, data privacy and so on. If the data generated by the Internet of things is transferred to the cloud computing center, it will increase the network load, the network may cause congestion, and there will be certain data processing delays. With the promotion of Internet of Things and cloud services, we hypothesize a new model of problem solving, edge computing. Generate, process, and analyze data at the edge of the network. The following articles will explain why edge computation is needed and the relevant definitions. Some research on cloud offloading and smart cities, issues of programming, naming, data abstraction, service management, data privacy, and security under edge computing are also discussed below.

What is edge computing

The data generated at the edge of the network is gradually increasing. If we can process and analyze the data at the edge of the network, the computing model will be more efficient. Many new computing models are being proposed, as we find that with the development of the Internet of Things, cloud computing is not always efficient. The following article will list some reasons why edge computing can be more efficient and better than cloud computing.

Why do we need edge computing

Cloud service promotion: Cloud center has strong processing performance and can process massive data. But getting huge amounts of data to the cloud is a problem. The system performance bottleneck of cloud computing model lies in the limitation of network bandwidth. It takes a certain amount of time to transmit massive data and a certain amount of time for cloud center to process data, which will increase the request response time and result in poor user experience.

Internet of Things push: Now that almost all electronic devices are connected to the Internet, these devices will generate huge amounts of data. Traditional cloud computing model cannot process these data timely and effectively. Processing these data at edge nodes will bring minimal response time, reduce network load, and ensure the privacy of user data.

Role change of terminal devices: Terminal devices play the role of data consumers most of the time, such as using smart phones to watch IQiyi, Douyin, etc. Now, however, smartphones are giving terminal devices the ability to produce data, such as buying things on Taobao or searching for content on Baidu — all data generated by terminal nodes.

Figure 1 is the paradigm of traditional cloud computing model. On the far left, service providers provide data and upload it to the cloud center. The end customer sends requests to the cloud center, and the cloud center responds to relevant requests and sends data to the end customer. The end customer is always the consumer. Figure 2 is the edge computing paradigm under the rapid development of the Internet of Things. Edge nodes (including smart home appliances, mobile phones, tablets, etc.) generate data and upload it to the cloud center. Service providers also generate data and upload it to the cloud center. The edge node sends the request to the cloud center, and the cloud center returns the relevant data to the edge node.

Figure 1 cloud computing paradigm

Figure 2 edge computing paradigm

What is Edge computing edge computing refers to the processing and analysis of data at the edge nodes of the network. Here, we give the definition of edge node, which refers to any node with computing resources and network resources between data generation source and cloud center. For example, mobile phone is the edge node between people and cloud center, and gateway is the edge node between smart home and cloud center. In an ideal environment, edge computing refers to analyzing and processing data near the source of data generation without data flow, thereby reducing network traffic and response time.

Advantages of edge computing

In face recognition, the response time was reduced from 900ms to 169ms, and the energy consumption of the whole system was reduced by 30-40% after some computing tasks were offloading from the cloud to the edge. Data can take up to 20 times less time to consolidate, migrate, and so on. A case study

1. The cloud unloading

In traditional content distribution networks, data is cached to edge nodes. With the development of the Internet of Things, data production and consumption are all at edge nodes, which means that edge nodes also need to undertake certain computing tasks. The process of offloading computing tasks from cloud centers to edge nodes is called cloud offloading.

For example, the development of the mobile Internet has made it possible for us to shop smoothly on the mobile terminal. Our shopping cart and related operations (adding, deleting, changing and checking goods) are achieved by uploading data to the cloud center. If the shopping cart related data and operations are transferred to edge nodes, the response speed will be greatly improved and the user experience will be enhanced. Improve the quality of human-system interaction by reducing latency.

2. Video analysis

With the increase of mobile devices, and cameras in a city, have been supervised the use of video to become a kind of right into some sort of purpose, but cloud computing the model is not suitable for this kind of video processing, because a large amount of data transmission in the network may lead to network congestion, and the illicit close sex of the video data is difficult to be guaranteed. Therefore, edge computing is proposed to let the cloud center send relevant requests, and each edge node processes the requests in combination with local video data, and then only returns relevant results to the cloud center, which not only reduces network traffic, but also ensures user privacy to a certain extent.

For example, if a child is lost in the city, the cloud center can send the request for finding the child to each edge node. The edge node will process the request in combination with the local data and then return the result whether the child is found. This is a faster way to solve problems than uploading all the videos to the cloud center and letting the cloud center solve them.

3. Smart home

The development of the Internet of Things makes the electronic devices in ordinary people’s homes lively. It is not enough to connect these electronic devices to the network. We need to make better use of the data generated by these electronic components, and use these data to better serve the current family. Considering the network bandwidth and data privacy protection, we need the data to be only locally circulated and directly processed locally. We need the gateway as an edge node that consumes the data generated in the home. And since data comes from many sources (computers, phones, sensors, any smart device), we need to customize a special OS that can integrate these abstract data together and unify them organically.

4. Smart cities

The original intention of edge computing is to make data closer to data sources. Therefore, edge computing has the following advantages in smart city:

Massive data processing: in a large city with a large population, a large amount of data is generated all the time, and if all these data are processed by the cloud center, it will lead to huge network burden and serious waste of resources. If these data can be processed nearby, processed in the LOCAL area network where the data source is located, then the network load will be greatly reduced, and the data processing capacity will be further improved.

Low latency: In large cities, many services are required to have real-time characteristics, which requires the response speed to be further improved as much as possible. For example, in medical care and public security, edge computing can reduce the time of data transmission in the network and simplify the network structure. Data analysis, diagnosis and decision making can be processed by edge nodes, thus improving user experience.

Location awareness: For some location-based applications, edge computing performance is due to cloud computing. For example, in navigation, the terminal device can deliver the relevant location information and data to the edge node for processing according to its real-time position, and the edge node can judge and make decisions based on the existing data. The network overhead is minimal throughout the process. User requests are responded to very quickly.

5. Edge collaboration

Due to data privacy issues and the cost of data transmission over the network, some data cannot be processed by the cloud center, but these data sometimes need the cooperation of multiple departments to make the best use of it. So, we put forward the concept of edge collaboration, using multiple edge nodes work together, to create a virtual Shared data view, using a predefined integrating public service interface to the data, and at the same time, through the data interface, we can write the application to provide users with more complex services.

Take an example where multiple edge nodes cooperate and win. For example, when influenza breaks out, the hospital, as an edge node, shares data with multiple nodes such as pharmacy, pharmaceutical company, government and insurance industry, sharing the current number of infected people, symptoms of influenza and cost of influenza treatment with the above edge nodes. Through these information, pharmacy can adjust its own purchasing plan and balance the inventory of the warehouse. Drug companies can use shared data to know which drugs are most important and make them a priority. The government has raised the flu alert level for people in the affected areas, and further action can be taken to contain the spread of the outbreak. Insurers are adjusting prices for next year based on the severity of the pandemic. All in all, any node in the edge node gets some benefit in the data sharing.

Opportunities and Challenges

The above is the potential and prospect of edge computing in solving related problems. Next, the opportunities and challenges will be analyzed in the process of realizing edge computing.

Programming feasibility

Programming in the cloud is very convenient, because the cloud has a specific compilation platform, most programs can run in the cloud. However, the programming under edge computing will face a problem of platform heterogeneity. The edge of each network is different, which may be ios system, Android or Linux, etc. Programming under different platforms is different. Therefore, we propose the concept of computation flow, which is a sequence of functions/computations along the data propagation path, and which node in the data propagation path can be specified by the application. Computation flows help users determine what functionality/computation should be done and how to propagate the data after the computation occurs at the edge. By deploying the compute flow, you can keep the computation as close to the data source as possible.

named

Naming schemes are very important for programming, addressing, object recognition and data communication, but there is no effective data processing method in edge computing. In edge computing, the communication of things is diverse and can rely on wifi, Bluetooth, 2.4g and other communication technologies. Therefore, only relying on TCP/IP protocol stack cannot satisfy the communication between these heterogeneous things. Edge computing naming schemes need to deal with the mobility of things, dynamic network topologies, privacy and security protections to the scalability of things. Traditional naming mechanisms such as DNS(Domain name resolution Service) and URI(Uniform resource Identifier) cannot solve dynamic edge network naming problems well. Currently proposed NDN(Named distribution Network) to solve this problem also has certain limitations. In a relatively small network environment, we propose a solution, as shown in Figure 3, where we describe when, where, and what something is doing. This unified naming mechanism makes management very easy. Of course, when the environment rises to the height of the city, this naming mechanism may not be very suitable, and can be further discussed.

Figure 3. Naming mechanism

Data abstraction

In the Internet of Things environment, a large amount of data will be generated, and due to the heterogeneous environment of the Internet of Things network, the generated data are in various formats, so it is a challenge for edge computing to format all kinds of data. At the same time, most of the things on the edge of the network only collect data periodically and send the collected data to the gateway regularly. However, the storage in the gateway is limited and it can only store the latest data, so the data of the edge nodes will be refreshed frequently. The integrated data table is used to store the data of interest. The internal structure of the table can be shown in Figure 4, with ID, time, name, data and so on to represent the data.

Figure 4 corresponding table structure

If too much original data is filtered out, the data report of edge nodes will be unreliable. If a large amount of original data is retained, the storage of edge nodes will be a new problem. At the same time, these data should be readable, written and operated by the referenced programs. Due to the heterogeneity of things in the Internet of Things, there will be certain problems in the reading, writing and operation of databases.

Service management

We believe that the service management of edge nodes should have the following four characteristics, including differentiation, scalability, isolation and reliability, so as to ensure an efficient and reliable system.

Differentiation: With the development of the Internet of Things, there will be such a variety of services, and different services should have different priorities. For example, critical services such as object detection and fault warning should be prioritized over other general services, and services related to human health, such as heartbeat detection, should be prioritized over entertainment services.

Scalability: Items in the Internet of Things are dynamic, it is not easy to add or delete an item to the Internet of Things, and the lack of services or whether a new node can be adapted are all problems to be solved. These problems can be solved through the high expansion and flexible design of edge OS.

Isolation: By isolation, different operations do not interfere with each other. For example, there are multiple applications that can control the lights in a home, and data about controlling the lights is shared. If one application fails to respond, other applications can still control the lights. That is, these applications are independent of each other and do not affect each other; Isolation also requires that user data be isolated from third-party applications, meaning that applications should not be able to track and record user data. To solve this problem, a new way for applications to access user data should be added.

Reliability: Reliability can be discussed from three aspects: service, system and data. From the aspect of service, the loss of any node in the network topology may lead to service unavailability. If the edge system can detect high-risk nodes in advance, this risk can be avoided. A better way is to use wireless sensor network to monitor server cluster in real time.

From a system perspective, edge operating system is an important part of the maintenance of the entire network topology. The nodes can communicate with each other about status and diagnosis information. This feature facilitates the deployment of fault detection, node replacement, and data detection at the system level.

From a data perspective, reliability refers to the fact that data is reliable in sensing and communication. The nodes in the edge network may report information when it is not reliable. For example, when the sensor is in low power, the transmitted data is likely to be unreliable. To solve such problems, new protocols may be proposed to ensure the reliability of the Internet of Things when transmitting data.

privacy

The existing way to provide services is to upload the data of mobile terminal users to the cloud, and then use the powerful processing capacity of the cloud to handle tasks. In the process of data uploading, the data can be easily collected by people with ulterior motives. To ensure the privacy of data, we can start from the following aspects.

1. Process user data at the edge of the network so that it is stored, analyzed, and processed only locally.

2. Set permissions for different applications and restrict access to private data.

3. The edge network is a highly dynamic network, which requires effective tools to protect data transmission in the network.

Optimization index

In edge computing, because there are many nodes and different nodes have different processing capabilities, it is very important to select the appropriate scheduling strategy among different nodes. Next, the optimal index is discussed from the four aspects of delay, bandwidth, energy consumption and cost.

Latency: Obviously the cloud center has a lot of processing power, but network latency is not just about processing power, but also about the time it takes for data to travel through the network. Taking smart city distance as an example, if you need to find lost child information, processing it on the local phone and then sending the results back to the cloud can significantly speed up the response. This kind of thing is relative, of course, we need to put a logic layer, to determine the appropriate task to which a node processing, if the mobile phone are playing games, or handle other very important thing, the mobile phone is not very suitable for dealing with this task, the task to another level to handle would be better.

Bandwidth: High bandwidth for transmitting data means low latency, but high bandwidth also means a lot of wasted resources. There are two possibilities for data processing at the edge. One is that the data is completely processed at the edge, and then the edge node uploads the processing result to the cloud. Another result is that some of the data is processed, and some of the rest is handed over to the cloud. Either of the above two methods can greatly improve network bandwidth, reduce data transmission over the network, and enhance the user experience.

Power consumption: For a given task, you need to determine whether to save resources by performing calculation locally or transferring the task to other nodes. If the local node is free, then of course computing on the local node is the most resource-efficient, if the local node is busy, then it is more appropriate to distribute computing tasks to other nodes. It is important to balance the energy consumption of computing against the energy consumption of network transmission. Generally, when the resource consumption of network transmission is far less than the energy consumption of local computing, we will consider using edge computing to unload the computing task to other idle nodes to help achieve load balancing and ensure the high performance of each node.

Cost: The current cost of edge computing includes but is not limited to the construction and maintenance of edge nodes, the development of new models, etc. Using the edge computing model, large service providers can get more profit while handling the same work.

summary

The development of the Internet of Things and the promotion of cloud computing make edge computing models appear in the community. Processing data at edge nodes can improve response speed, reduce bandwidth and ensure privacy of user data. In this article, we put forward the possible application of edge computing in some related scenes in our future life, and also mentioned the prospect and challenges of the future development of edge computing. I hope more colleagues will pay attention to such a field in the future.