Method and device for scheduling service in edge computing system and edge computing system

EP4802358A1Pending Publication Date: 2026-09-09ROBERT BOSCH GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2023818275
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-11-02
Publication Date
2026-09-09

AI Technical Summary

Technical Problem

Existing edge computing systems for intelligent connected vehicles face challenges in scheduling autonomous driving computing tasks due to heterogeneous roadside infrastructure, diverse safety requirements, dynamic software updates, and cost efficiency concerns.

Method used

A method and device for scheduling services in an edge computing system that considers safety constraints, resource availability, and cost optimization by interconnecting roadside devices as a distributed system, performing safety decomposition of services, and using integer linear programming to determine optimal allocation strategies.

Benefits of technology

The proposed solution effectively meets safety requirements for safety-critical applications, optimizes resource utilization and energy consumption, and reduces operational costs by strategically allocating services across heterogeneous edge nodes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023129278_08052025_PF_FP_ABST
    Figure CN2023129278_08052025_PF_FP_ABST
Patent Text Reader

Abstract

A method and device for scheduling service in an edge computing system is provided. The method comprises: receiving request for creating a service in the edge computing system; generating strategy of allocating the service to an edge node in the edge computing system based on safety constraint. An edge computing system for creating a service is provided. The edge computing system comprises: an API server, configured to receive request for creating a service in the edge computing system and transmit a command of deploying the service to an edge node based on the generated; a scheduler comprising: a processor and a non-transitory computer readable medium with instructions stored therein which, when executed, causes the processor to carry out the steps of the method; and a plurality of edge nodes each of which is configured to be deployed with the service when receiving command from the API server.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND DEVICE FOR SCHEDULING SERVICE IN EDGE COMPUTING SYSTEM AND EDGE COMPUTING SYSTEMField

[0001] The present disclosure generally relates to edge computing field, and more particularly, to a method and device for scheduling service in an edge computing system, a non-transitory computer readable medium and an edge computing system for creating a service.Background

[0002] In the intelligent connected vehicle scenario, road-side infrastructure is used to assist the autonomous driving. Part of the computation tasks are offloaded from vehicles to the roadside for the sake of cost efficiency. While running these computing tasks on the roadside infrastructure, one of the critical problems is to determine where to run such computing task. To make the decision of scheduling, different approaches are proposed. However, performance of the existing scheduling method still needs to be improved.Summary

[0003] To schedule autonomous driving computing tasks at road-side infrastructure, the roadside devices can be interconnected and organized as a distributed system, also known as vehicular edge computing. Schedulers in vehicular edge computing are aware of the resources, quality of service, energy consumption etc., but none of the existing technologies considers the safety requirements of service, which is critical for running safety-critical services such as automobile applications.

[0004] In addition, according to inventors’ research, there are several challenges which make the service placement decision difficult in intelligent connected vehicle  (ICV) and need to be solved, to schedule the offloaded vehicular computational tasks to the roadside edge computing platform.

[0005] The first challenge is the heterogeneous road-side infrastructure, which can be diverse in architecture, resource type, resource capacity, automotive safety integrity level (ASILs) , cost and vendors etc. The heterogeneity of edge devices makes the service placement decision difficult in ICV since the scheduler needs to be aware of real-time states of these heterogeneous infrastructure and selects the feasible node to run the computational task.

[0006] The second challenge lies in the heterogeneous autonomous driving services in ICV. The vehicular applications in ICV are developed by following the safety standards (e.g., ISO26262) to guarantee the functional safety of autonomous vehicles. To the end, different vehicular services are attributed with different ASIL levels, and pose strict safety requirements to the hardware. For example, an ASIL-C service requires to run on an at least ASIL-C hardware to guarantee the system safety. In addition to the safety requirements, the vehicular services can be developed with different technologies and different programming languages, thus the resource requirements of different services tend to be different.

[0007] The third challenge is the dynamic software requests and relatively less scalable infrastructure. The vehicular applications might be frequently updated to meet new requirements, which tends to pose new resources and safety requirements to the road-side infrastructure. Additionally, the mobility of vehicular would introduce dynamics in the service requests to the scheduler. However, the road-side infrastructure is relatively less scalable after large-scale installation. Therefore, there is a need to study how to schedule the dynamic service request to the given infrastructure in a flexible way.

[0008] The fourth challenge is cost efficiency. Due to the large quantity of the road-side devices needed for setting up the ICV, the monetary cost for devices purchase, installation, and maintenance can be very high. In particular, it is costly to upgrade installed devices to meet new software requirements, like software update. Therefore, there is a need to consider how to maximize the utilization of the installed the devices and reduce the cost in the scheduling.

[0009] A device and a method for scheduling service to an edge computing system, for example scheduling the offloaded vehicular computational tasks to the road-side edge computing platform, is provided according to embodiments of the present disclosure, with the awareness of heterogeneity of hardware and software, software safety requirements, and dynamics of the system, as well as to achieve the goal of cost-efficiency in ICV.

[0010] In some embodiment, the method may include receiving request for creating a service in the edge computing system; generating strategy of allocating the service to an edge node in the edge computing system based on safety constraint.

[0011] In some embodiment, the method may include generating strategy of allocating the service to an edge node in the edge computing system based on the safety constraint and resource constraint; wherein the resource constraint comprises that available resource of the edge node to allocate the service should be larger than or equal to a first resource requirement of the service.

[0012] In some embodiment, generating the strategy of allocating the service to an edge node in the edge computing system based on the safety constraint and the resource constraint may include: if there is not an edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the service, determining whether to perform safety  decomposition to the service to obtain one group of service elements or not, wherein each service element has a second safety requirement that is lower than the first safety requirement; if yes, performing the safety decomposition to the service to obtain one group of service elements and determining how to allocate the one group of service elements to edge nodes in the edge computing system, based on resource constraints and safety constraints of the edge nodes with respect to each group of service elements.

[0013] A non-transitory computer readable medium with instructions stored therein which, when executed, causes a processor to carry out the steps of the method for scheduling service in an edge computing system is also provided in the present disclosure.

[0014] A device for scheduling service in an edge computing system is also provided in the present disclosure. The device may include: a transceiver module, configured for receiving request for creating a service in the edge computing system, and transmitting strategy generated by a decision-making module; the decision-making module, configured for generating the strategy of allocating the service to an edge node in the edge computing system based on safety constraint.

[0015] An edge computing system for creating a service is also provided in the present disclosure. The edge computing system may include: an API server, configured to receive request for creating a service in the edge computing system and transmit a command of deploying the service to an edge node in the edge computing system based on strategy of allocating the service generated by a scheduler; the scheduler, configured to: receive request for creating the service in the edge computing system from the API server; generate strategy of allocating the service to an edge node in the edge computing system based on safety constraint; and transmit the generated strategy of allocating the service to  an edge node in the edge computing system to the API server; and a plurality of edge nodes, wherein each edge node is configured to acquire a package of the service and be deployed with the service in response to receive the command of deploying the service from the API server.

[0016] An edge computing system for creating a service is also provided in the present disclosure. The edge computing system may include: an API server, configured to receive request for creating a service in the edge computing system and transmit a command of deploying the service to an edge node based on strategy of allocating the service generated by a scheduler; the scheduler, comprising: a processor; and a non-transitory computer readable medium with instructions stored therein which, when executed, causes the processor to carry out the steps of the method for scheduling service in an edge computing system in the present disclosure; and a plurality of edge nodes, wherein each edge node is configured to acquire a package of the service and be deployed with the service in response to receive the command of deploying the service from the API server.

[0017] Compared with the existing task scheduling approaches, the approach in the present disclosure has the following advantages:

[0018] The system and method for scheduling services on roadside infrastructure can meet the service safety requirement of safety-critical applications in a given set of infrastructure which has ASIL levels. Specifically, the dynamic safety requirements of service request can be met to a large extent by retrieving the service safety requirements and the infrastructure safety states first, and applying software ASIL-decomposition when no infrastructure can meet the original service safety requirements, which is essential for cooperative vehicle infrastructure System with dynamic service requests.

[0019] In addition to meet the safety constraints derived from software and hardware,  the monetary cost of building up and operating the vehicular edge computing can be optimized, by modeling the cost as the summation of the price of infrastructure, cost of devices installation and operation, and also extra cost for developing decomposed services, such that the calculated cost includes not only the hardware cost but also the software development cost for ASIL decomposition.

[0020] In addition, an integer linear programming (ILP) optimization problem is defined in the present disclosure to determine the allocation strategy of service, which takes the cost as the objective, resource capacity and safety as the constraints, to select the best edge node to schedule and deploy the service. Prior to the optimization problem, an ASIL decomposition algebra check is performed to select the appropriate service elements. Therefore, the system and method for scheduling services on roadside edge nodes according to embodiments of the present disclosure show improved performance in resources utilization, quality of service, energy consumption, as well as the safety requirements of service, which is critical for running safety-critical and latency-critical applications.BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The disclosed aspects will hereinafter be described in connection with the appended drawings that are provided to illustrate and not to limit the disclosed aspects.

[0022] Fig. 1 schematically illustrates a flow chart for a method for scheduling service in an edge computing system according to an embodiment;

[0023] Fig. 2 schematically illustrates a flow chart for a method for scheduling service in an edge computing system according to another embodiment;

[0024] Fig. 3 schematically illustrates a block diagram of a device for scheduling service in an edge computing system according to an embodiment;

[0025] Fig. 4 schematically illustrates a data flow diagram of a system for creating a service according to an embodiment;

[0026] Fig. 5 schematically illustrates a block diagram of a system for creating a service according to an embodiment.DETAILED DESCRIPTION

[0027] Embodiments of the disclosure will be described in connection with the drawings.

[0028] A method for scheduling service in an edge computing system is provided according to embodiments of the present disclosure.

[0029] Referring to Fig. 1, Fig. 1 schematically illustrates a flow chart for a method for scheduling service in an edge computing system. In some embodiments, the method may include steps 11 and 13. In the step 11, a request for creating a service in the edge computing system may be received, for example, by a scheduler from an API server. In the step 13, how to allocate (i.e., strategy of allocating) the service to an edge node in the edge computing system is determined or generated, for example by the scheduler, according to safety constraint. The safety constraint may include a safety level of the edge node to allocate the service should be no lower than (i.e., higher than or equal to) a first safety requirement of the service. According to inventor’s research, none of existing scheduling technologies consider the safety requirements of service, which is critical for running safety-critical service such some automobile applications.

[0030] In some embodiment, the step 13 may further comprise: generating strategy of allocating the service to an edge node in the edge computing system based on the safety constraint and resource constraint, in response to receive the request for creating a service. The resource constraint may include that available resource of the edge node should be larger than or equal to a first resource requirement of the service, so that the edge node has enough resource to run the  service on it.

[0031] In some embodiments, in the step 11, the received request may include creating a plurality of services in the edge computing system. In the step 13, strategy of allocating the plurality of services to one or more edge nodes in the edge computing system based on safety constraint and resource constraint, and optionally further based on cost optimization, and optionally further based on service constraint. The service constraint may include one service is allocated to only one edge node.

[0032] In some embodiments, if there are a plurality of strategies generated in the step 13, the method may further include selecting one strategy from the plurality of strategies based on cost optimization. The cost optimization may include cost minimization. The cost may include infrastructure cost (for example, hardware cost) of the edge node selected for allocating the service, and operation cost of the edge node.

[0033] In some embodiment, in the step 13, generating strategy of allocating the service to an edge node in the edge computing system may include determining where (which edge node) to allocate or run the service, which is a scheduling problem. Specifically, one edge node may need to be selected from a plurality of edge nodes comprised in the edge computing system to allocate one service in the received request, based on safety constraint, resource constraint and cost optimization, if there is at least one edge node in the plurality of edge nodes that meets the safety constraint and the resource constraint with respect to the service.

[0034] However, sometimes there may be not an edge node in the plurality of edge nodes that meets the safety constraint and the resource constraint with respect to the service. How to schedule the service in the edge computing system becomes  a problem. In order to solve this problem, a method for schedule service in an edge computing system is provided according to another embodiment.

[0035] Referring to Fig. 2, Fig. 2 schematically illustrates a flow chart for a method for scheduling service in an edge computing system according to another embodiment. In some embodiment, the method may include steps 21, 23, 25, and 30, or include steps 21, 23, 26, 28 and 30, or include steps 21, 23, 26, 29 and 30.

[0036] In the step 21, a request for creating a service in an edge computing system is received. For example, the request may be received by a scheduler from an API server. The request may include a first resource requirement and a first safety requirement of the service, or the first resource requirement and the first safety requirement of the service may be acquired by the scheduler from other source. In some embodiment, the request may be received by the API server from a service provider. In the Kubernetes deployment ‘yaml’ file, the resource requirements of the service for example required CPU and RAM etc. are the limits specs.

[0037] Specifically, the service may be vehicular service, the edge computing system may be a vehicular edge computing system, and the request may include deploying vehicular application on road-side infrastructure. The vehicular edge computing system may include a plurality of edge nodes, and the plurality of edge nodes may include roadside infrastructure, for example, edge servers, road-side computing units, base station, and other computational resources between vehicles and cloud. These road-side devices can be interconnected by an overlay network and communicate with vehicles through V2X protocols. These road-side devices can be different from each other on architecture, resource capacities etc., and are geographically distributed. Since the roadside infrastructure is near to sensor and vehicle side, running the computing tasks on  the roadside infrastructure or offloading some computing tasks from vehicles to the roadside instead of running those computing tasks on cloud will be more time and cost efficiency and reduce latency. The offloaded computing tasks can be perception pipelines which make use of data captured by sensors (e.g., the video stream captured by camera) , prediction, planning and other latency-critical applications. It’s required to select one edge node from the plurality of edge nodes to allocate the service on it.

[0038] Optionally, the method may further include step 22, acquiring a list of edge nodes (i.e., all the online edge nodes in the edge computing system) comprised in the edge computing system, available resource state and safety level of each edge node in the list. Specifically, the available resource state of each edge node may be captured in real-time, for example, by the monitoring stack of Prometheus in Kubernetes. Normally, the ASIL levels of service and edge servers are given, which can be provided by the developer and manufacturers. Monitoring the available resource state of each edge node in time will improve safety, in case that any edge node has error or does not work normally.

[0039] The scheduler can be input with required information of the service and required information of edge nodes comprised in the edge computing system. The required information of the service and edge nodes can be included in an input file.

[0040] In the step 23, it’s determined that whether there is an edge node in the edge computing system that meets resource constraint and safety constraint with respect to the service. Specifically, the resource constraint may include that available resource of the edge node for allocating the service should be larger than or equal to the first resource requirement of the service, and the safety constraint may include that a safety level of the edge node to allocate the service should be no lower than the first safety requirement of the service.

[0041] If it’s determined yes, i.e., if there is an edge node (one or more edge nodes) in the edge computing system that meets the resource constraint and the safety constraint with respect to the service in the step 23, the method goes to the step 25. In the step 25, strategy of allocating each service in the received request to a corresponding edge node in the edge computing system is generated, and the generated strategy for allocating each service may include: selecting one edge node from the one or more edge nodes for allocating each service. Then, the method is ended in the step 30.

[0042] In some embodiments, in the step 23, if it’s determined that there is only one edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the service in the received request, in the step 25, it’s determined to allocate the service to the only one edge node; in the step 23, if it’s determined that there are more than one edge nodes in the edge computing system that meet the resource constraint and the safety constraint with respect to one service in the received request, in the step 25, one edge node is selected from the more than one edge nodes to allocating the one service based on cost optimization. The cost optimization may include cost minimization. The cost may include infrastructure cost of the one edge node selected for allocating the one service, and operation cost of the selected one edge node. Thus, the cost is compared among different options of the more than one edge nodes to select the one edge node with the minimum cost to allocate the corresponding one service.

[0043] If no, i.e., if there is not an edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the service in the step 23, the method goes to the step 26. In the step 26, it’s determined whether to perform safety decomposition to the service to obtain one group of service elements or not, wherein each service element has a second safety requirement  that is lower than the first safety requirement. If yes, the method goes to the step 28; if no, the method goes to the step 29. No edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the service include no edge node meets the resource constraint but at least one edge node meets the safety constraint, no edge node meets the safety constraint but at least one edge node meets the resource constraint, or no edge node meets both the resource constraint and the safety constraint. For all the above three conditions, the method may go to the step 26, since when the service is performed with safety decomposition, both the safety level and resource requirement may be changed for its service variant.

[0044] In some embodiments, in the step 26, determining whether to perform the safety decomposition to the service to obtain one group of service elements or not may include: determining yes (i.e. to perform the safety decomposition) , if there are edge nodes in the edge computing system that respectively meet resource constraints and safety constraints with respect to at least one group of service elements of the service; and determining no (i.e. not to perform the safety decomposition) , if there are not enough number of edge nodes in the edge computing system that respectively meet resource constraints and safety constraints with respect to any group of service elements of the service. The service is provided with one or more groups of service elements that follow safety decomposition rules of the service. Specifically, developed service variants including service elements each of which with different ASIL levels (second safety requirements) may be provided. for example in the step 21. The method may further include iterating the developed service variants and checks whether the service variants meet the ASIL decomposition rules. In particular, there are two constraints need to satisfy: 1) ASIL decomposition rules: the summation of the ASIL levels of service elements of each service variant after ASIL decomposition should be equal to the ASIL level of original service; 2) the variants used in the decomposition should be available. By passing the above  two constraints, one or more options of service variant each of which includes at least two service elements are obtained. The one or more options can be derived by defining and solving a satisfiability modulo theory (SMT) problem or through a piece of program by iterating the service variants. Service elements developed following several ASIL-level decomposition rules might be provided, as shown in Table 1. For example, for a service with a safety requirement of ASIL-C, its variants like ASIL-Awith ASIL-B might be provided. In addition to the second safety requirement of each service element, a second resource requirement of each service element of each service variant may also be acquired, so as to determine whether to perform the decomposition or not. For the decomposition with QM, for example a service with ASIL-C can be decomposed to ASIL-C and QM, wherein ASIL-C and QM can be considered as two services to be allocated independently. The scheduler can be input with required information of the service variants. The required information of the service variants can be included in an input file.

[0045] Table 1

[0046] The resource constraints and the safety constraints with respect to each group of service elements of the service is similar with that with respect to the service. Specifically, the resource constrains may include available resources of the edge nodes for allocating a group of service elements of the service are larger than or equal to resource requirements of the group of service elements, and the safety constraints may include safety levels of the edge nodes for allocating a group of service elements are respectively no lower than second safety requirements of the group of service elements. However, the safety constraints with respect to the service elements may be added one more restriction to increase the safety.

[0047] That is, the safety constraints may further include that one group of service elements are allocated to independent edge nodes in the edge computing system. “Independent edge nodes” means that there is no common cause failure (CCF) and cascading failure among the edge nodes for allocating a same service variant or a same group of service elements of the service. The service constraint may include each service element is allocated to only one edge node.

[0048] In the step 28, the safety decomposition is performed to the service to obtain one group of service elements and determining how to allocate the one group of service elements to edge nodes in the edge computing system, based on resource constraint and safety constraint of the edge nodes in the edge computing system with respect to each group of service elements. Optionally, the step 28 may further include determine how to perform the safety decomposition to the service if the service is provided with a plurality groups of service elements that follow safety decomposition requirement of the service. For example, a service with a safety requirement of ASIL-D, is provided with a plurality groups of service elements: like a group of ASIL-Awith ASIL-C, a group of ASIL-B with ASIL-B, etc. Each group of service elements can be considered as a service variant of the original service in the received request. Different groups of service elements represent different service variants of the original service.

[0049] In some embodiments, it may be determined how to perform the safety decomposition to the service to obtain one group of service elements and determining how to allocate the one group of service elements to a corresponding number of edge nodes in the edge computing system based on resource constraints and safety constraints with respect to the one group of service elements and cost optimization.

[0050] Specifically, the step 28 may include: if there is only one group of edge nodes in the edge computing system that meet resource constraints and safety constraints  with respect to only one group of service elements, determining to perform the safety decomposition to the service to obtain the only one group of service elements and to allocate the only one group of service elements to the only one group of edge nodes, in this condition, the service may be provided with one or more groups of service elements; if there are a plurality groups of edge nodes in the edge computing system that meet resource constraints and safety constraints with respect to one or more groups of service elements, determining to perform the safety decomposition to the service to obtain one group of the one or more groups of service elements and to allocate the obtained one group of service elements to one group of the plurality groups of edge nodes based on cost optimization; if there is only one group of edge nodes in the edge computing system that meet resource constraints and safety constraints with respect to a plurality of groups of service elements, determining to perform the safety decomposition to the service to obtain one group of the plurality groups of service elements and to allocate the obtained one group of service elements to the only one group of edge nodes based on cost optimization.

[0051] In some embodiments, the method may further include acquiring or being input with service variants of the service that follow safety decomposition requirement of the service, and the second safety requirement and a second resource requirement of each service element, for example in the step 21. Each group of service variants are developed independently. Service variants can be developed by following different ASIL levels for achieving the safety requirement of the original service.

[0052] In some embodiments, in the step 28, determining how to perform the safety decomposition to the service to obtain one group of service elements and determining how to allocate the one group of service elements to edge nodes in the edge computing system may be formulated as an Integer Linear Programming (ILP) problem, and the determination result may be obtained by  solving the ILP problem. Specifically, the ILP problem is defined with a decision variable of matrix showing one or more options of allocating each group of service elements to a corresponding group of edge nodes in the edge computing system, with constraints comprising the resource constraint and the safety constraint and service constraint with respect to each group of service elements, and with an objective function for cost optimization. The service constraint may include that one service element is only allocated to one edge node.

[0053] In some embodiment, after performing the step 28, strategy of allocating one group of service elements to a corresponding group of edge nodes is generated. The generated strategy may be delivered in multiple forms. In some embodiment, the generated strategy may be a list of service elements, for each of the service elements, its corresponding edge node to allocate each service element is determined and delivered.

[0054] Taking a specific embodiment for example, a request for creating a service named ‘service_0’ in an edge computing system is received. As shown in Table 2, ‘service_0’ has an ASIL level of 3. Two service variants of ‘service_0’ named ‘Variant_0’ and ‘Variant_1’ are also given for the ‘service_0’ . ‘Variant_0’ includes two service elements: ‘element_0’ and ‘element_1’ , and ‘variant_1’ includes three service elements: ‘element_0’ , ‘element_1’ and ‘element_2’ . ASIL level, resource requirement including CPU requirement and RAM requirement for each service element is listed in Table 2. As shown in Table 3, there are five edge nodes named ‘host_0’ , ‘host_1’ , ‘host_2’ , ‘host_3’ , ‘host_4’ and ‘host_5’ in the edge computing system, safety level of each of the five edge nodes are given, and available resources including CPU and RAM of each of the five edge nodes are monitored in real time and acquired after receiving the request for creating the service in the edge computing system.

[0055] Table 2

[0056] Table 3

[0057] In the step 23, it’s determined that, there is not an edge node existing in the edge computing system that meets the safety requirement of ‘service_0’ . Then, in the step 26, it’s determined whether to perform safety decomposition to the service to obtain one group of service element or not. By checking, there are edge nodes in the edge computing system that respectively meet resource constraints and safety constraints with respect to at least one service variant (i.e., at least one group of service elements) of the service, it’s determined yes in the step 26. Then the method goes to step 28. In the step 28, how to perform the safety decomposition to the service to obtain one group of service elements and how to allocate the one group of service elements to a corresponding number of edge nodes in the edge computing system are determined by solving an ILP  problem. The ILP is defined with a decision variable of two matrixes, each matrix showing one option of allocating one group of service elements to a corresponding group of edge nodes in the edge computing system. For example, one matrix is [ ( ‘element_0’ , ‘host_4’ ) , ( ‘element_1’ , ‘host_0’ ) ] , meaning that ‘element_0’ can be allocated to ‘host_4’ and ‘element_1’ can be allocated to ‘host_0’ ; another matrix is [ ( ‘element_0’ , ‘host_2’ ) , ( ‘element_1’ , ‘host_4’ ) , ( ( ‘element_2’ , ‘host_0’ ) ] , meaning that ‘element_0’ can be allocated to ‘host_2’ and ‘element_1’ can be allocated to ‘host_4’ , and ‘element_2’ can be allocated to ‘host_0’ . The ILP problem further has constraints comprising the resource constraint and the safety constraint and service constraint with respect to each group of service elements. Specifically, the resource constraint may include the available CPU and RAM of each edge node for allocating one of the service elements of a same service variant are larger than or equal to the CPU and RAM requirement of the one service element, the safety constraint may include: a safety level of each edge node for allocating one of the service elements of the same service is no lower than (i.e. higher than or equal to) the safety requirement of the one service element; and each group of service elements are allocated to independent edge nodes in the edge computing system. It should be noted that, the numbers of ASIL level, CPU and RAM in Tables 2 and 3 are only examples for easy illustration, which may not be the true number in actual application or scenario.

[0058] The ILP problem further has an objective function for cost optimization. The optimization goal is to minimize the total edge nodes’ (e.g., edge servers’ ) cost, development cost for service variant or service elements, and operation cost of the edge nodes. Specifically, the optimization goal of the objective function may be formally defined as the minimization of formula (1) shown below. ∑Ω + α×m + β×n         (1)

[0059] Wherein ∑Ω represents the total cost that is the sum of the costs of the edge nodes (e.g. edge servers) selected for allocating a group of service elements in  the edge computing system, the development cost of service variant indicates the effort to develop the service elements to achieve the original service ASIL, which is modeled by α×m, where m is the number of service elements and α is the normalized coefficient capturing the cost increase with the number of service elements, for example compared with the cost of the original service before decomposition, and α can be customized. The operation cost, including the edge node installation and maintenance is modeled by β×n, where n is the number of edge nodes, resulting from the ASIL-decomposition and β is the normalized coefficient capturing the cost increase with the number of edge nodes, for example compared with the cost with the number of edge node for allocating the original service before decomposition, and β can be customized. This ILP problem can be solved with optimization solvers. And it returns the best allocation strategy (for example one of the two matrixes above) that meets the constraints and minimizes the total cost in the step 28. The best allocation strategy of allocating one group of service elements to a corresponding number of edge nodes is considered as the generated strategy of allocating the service to an edge node in the edge computing system. Then the method is ended in the step 30.

[0060] If it’s determined in the step 26 not to perform the safety decomposition to the service to obtain one group of service elements, the method goes to the step 29. In the step 29, it is determined that it’s failed to schedule the service to an edge node in the edge computing system. And the method is ended in the step 30.

[0061] In some embodiment, the edge computing system may include a plurality of edge nodes, the plurality of edge nodes may include roadside infrastructure and are interconnected and organized as a distributed system. The service may include vehicular service, for example autonomous driving computing tasks. The method may further include obtaining or being input with cost of each edge node in the edge computing system and pre-stored independence information of  each pair of edge nodes comprised in the edge computing system from a storage file, for example in the step 22. The method for scheduling service in an edge computing system in the present disclosure may be carried out by a scheduler.

[0062] In some embodiment, wherein if the safety decomposition is performed to the service and how to allocate the one group of service elements to edge nodes in the edge computing system is determined, the method may further include outputting a determined strategy of allocating the one group of service elements to a corresponding number of edge nodes in the edge computing system respectively, for example from the scheduler to the API server, and the determined strategy may be included in the output file; and / or, the method may include output the one group of service elements with their respective safety requirements, which may be included in an output file of the scheduler. In some embodiment, the method may include output cost of a determined strategy of allocating the one group of service elements to a corresponding number of edge nodes in the edge computing system, which may be included in an output file of the scheduler. In some embodiments, the method may include output some intermediate results including allocating strategy and cost for each group of service elements to corresponding number of edge nodes.

[0063] In some embodiments, the method may be implemented at the edge side. For example, the method may be implemented by a scheduler in a Kubernetes Master, wherein the Kubernetes Master is a master or administrator node in the edge computing system, which play a role of master or administrator. The edge computing system also includes a plurality of working nodes to be deployed with a service or a service element.

[0064] A non-transitory computer readable medium with instructions stored therein which, when executed, causes a processor to carry out the steps of the method for scheduling service in an edge computing system according to  afore-mentioned embodiments, is provided in the present disclosure.

[0065] A device for scheduling service in an edge computing system is provided in the present disclosure. Referring to Fig. 3, Fig. 3 schematically illustrates a block diagram of a device 30 for scheduling service in an edge computing system. In some embodiments, the device 30 may include a transceiver module 31, configured for receiving request for creating a service in the edge computing system, and transmitting strategy generated by a decision-making module 32; and the decision-making module 32, configured for generating the strategy of allocating the service to an edge node in the edge computing system based on safety constraint.

[0066] In some embodiments, the request may be received by a scheduler from an API server. The decision-making module 32 may generate the strategy of allocating the service to an edge node in the edge computing system based on the safety constraint and resource constraint. Further details regarding functions achievements of the transceiver module 31 and the decision-making module 32 may refer to corresponding steps in the method for scheduling service in an edge computing system according to afore-mentioned embodiments, which will not be described in detail herein. The device may be a scheduler 43 shown in Fig. 4 or a scheduler 63 shown in Fig. 5.

[0067] An edge computing system for creating a service is also provided in the present disclosure. Referring to Fig. 4, Fig. 4 schematically illustrates a data flow diagram of an edge computing system for creating a service. Taking Kubernetes as an example of the system, the edge computing system may include: an API server 41, a scheduler 43, a plurality of edge nodes, and only one edge node 45 is shown in Fig. 4 for illustration. Optionally, the edge computing system may further include etcd 42 for data storage, and docker image 44 for running service on an edge node. The API server 41, the etcd 42, and the scheduler 43 may be  included in a Kubernetes Master. The Kubernetes Master may be located at roadside and is a master node or administrator node in the edge computing system, and the plurality of edge nodes are working nodes in the edge computing system. Each number for indicating data flow in Fig. 4 indicates the arrow below the number.

[0068] In some embodiments, the API server 41 may be configured to: in the data flow 401, receive request for creating a service for example from a service provider 51; in the data flow 403, write the request for creating a service to the etcd 42; in the data flow 405, send request of creating a service in the edge computing system to the scheduler 43; in the data flow 407, write the strategy of allocating the service generated by the schedular 43 to the etcd 42; in the data flow 409, transmit a command of deploying the service to the edge node 45 in the edge computing system based on strategy of allocating the service generated by the scheduler 43; and in the data flow 413, write the deployment of the service on the edge node 45 to the ectd 42.

[0069] In some embodiments, the scheduler 43 may be configured to: in the data flow 405, receive a request for creating the service in an edge computing system from the API server 41; and in the data flow 422, transmit its generated strategy of allocating the service to an edge node in the edge computing system based on safety constraint to the API server 41.

[0070] In some embodiments, each edge node (e.g. the edge node 45) of the edge computing system is configured to: in the data flow 411, require a package of service for example a docker image 44, and in the data flow 424 be deployed with the corresponding service for example by the docker image 44, in response to the edge node 45 receiving the command of deploying the service from the API server 41 in the data flow 409; and in the data flow 426, update the service status with the API server 41.

[0071] In some embodiments, the scheduler 43 is further configured to generate strategy of allocating the service to an edge node (i.e., work node) in the edge computing system based on the safety constraint and resource constraint. Specifically, the scheduler 43 may be configured for determining whether there is an edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the service; if there is only one edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the one service, the scheduler 43 may be configured for determining to allocate the one service to the only one edge node; if there are more than one edge nodes in the edge computing system that meet the resource constraint and the safety constraint with respect to the one service, selecting one edge node from the more than one edge nodes to allocate the one service based on cost optimization; if there is not an edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the service, the scheduler 43 may be configured for determining whether to perform safety decomposition to the service to obtain one group of service elements or not, wherein each service element has a second safety requirement that is lower than the first safety requirement, if yes, the scheduler 43 may be configured for performing the safety decomposition to the service to obtain one group of service elements and determining how to allocate the one group of service elements to edge nodes in the edge computing system, based on resource constraints and safety constraints of the edge nodes with respect to each group of service elements. Functions achievement of the scheduler 43 may be referred to the corresponding steps of the method for scheduling service in an edge computing system according to afore-mentioned embodiments, which will not be described in detail herein. The API server 41 and the scheduler 43 may be located at roadside and disposed in a master node (e.g., Kubernetes Master) in the edge computing system, and the plurality of edge nodes are working nodes in the edge computing system.

[0072] An edge computing system for creating a service is provided in the present disclosure. Referring to Fig. 5, Fig. 5 schematically illustrates a block diagram of an edge computing system 60 for creating a service. The edge computing system 60 may include: an API server 61, a scheduler 63 and a plurality of edge nodes. The API server 51 may be configured to receive request for creating a service in the edge computing system and transmit a command of deploying the service to an edge node 65 based on strategy of allocating the service generated by the scheduler 63. The scheduler 63 may include a processor and a non-transitory computer readable medium with instructions stored therein which, when executed, causes the processor to carry out the steps of the method for scheduling service in an edge computing system according to afore-mentioned embodiments, which will not be described in detail herein. Each of the plurality of edge nodes is configured to acquire a package of the service and be deployed with the service in response to receive the command of deploying the service from the API server. Optionally, the system may further include etcd 62 for data storage, and Docker image 64 for running service on an edge node. The scheduler in Figs. 4 and 5 can be input with required information of the service and service variant and required information of edge nodes comprised in the edge computing system mentioned in the present disclosure. The required information of the service and service variant and edge nodes can be included in an input file. Data flow in the edge computing system may refer to the embodiment shown in Fig. 4, which will not be described in detail herein. The API server 61 and the scheduler 63 may be located at roadside and disposed in a master node (e.g., Kubernetes Master) in the edge computing system, and the plurality of edge nodes are working nodes in the edge computing system.

[0073] The device (i.e., scheduler) and method for scheduling services (e.g., vehicular services) in an edge computing system (e.g., on roadside infrastructure) in the present disclosure is designed to be lightweight and can be run in real-time to  meet the requirements of low latency in edge computing. Specifically, the system and the method for scheduling service in an edge computing system select algorithm with less computing resource and less computation complexity. The schedular in the present disclosure for realizing the method for allocating service in an edge computing system is safety-aware.

[0074] It should be appreciated that all the operations in the method described above are merely exemplary, and the disclosure is not limited to any operations in the method or sequence orders of these operations and should cover all other equivalents under the same or similar concepts.

[0075] The processors can be implemented using electronic hardware, computer software, or any combination thereof. Whether these processors are implemented as hardware or software will depend on the specific application and the overall design constraints imposed on the system. By way of example, a processor, any portion of a processor, or any combination of processors presented in this disclosure may be implemented as a microprocessor, a micro-controller, a digital signal processor (DSP) , a field programmable gate array (FPGA) , a programmable logic device (PLD) , state machine, gate logic, discrete hardware circuitry, and other suitable processing components configured to perform the various functions described in this disclosure. The functions of a processor, any portion of a processor, or any combination of processors presented in this disclosure may be implemented as software executed by a microprocessor, a micro-controller, a DSP, or other suitable platforms.

[0076] Software should be considered broadly to represent instructions, instruction sets, code, code segments, program code, programs, subroutines, software modules, applications, software applications, software packages, routines, subroutines, objects, running threads, processes, functions, and the like. Software can reside  on computer readable medium. Computer readable medium may include, for example, a memory, which may be, for example, a magnetic storage device (e.g., a hard disk, a floppy disk, a magnetic strip) , an optical disk, a smart card, a flash memory device, a random access memory (RAM) , a read only memory (ROM) , a programmable ROM (PROM) , an erasable PROM (EPROM) , an electrically erasable PROM (EEPROM) , a register, or a removable disk. Although a memory is shown as being separate from the processor in various aspects presented in this disclosure, a memory may also be internal to the processor (e.g., a cache or a register) .

[0077] The previous description is provided to enable any person skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other aspects. Thus, the claims are not intended to be limited to the aspects shown herein. All structural and functional equivalent transformations to the elements of the various aspects of the disclosure, which are known or to be apparent to those skilled in the art, are intended to be covered by the claims.

Claims

1.A method for scheduling service in an edge computing system, comprising:receiving request for creating a service in the edge computing system;generating strategy of allocating the service to an edge node in the edge computing system based on safety constraint.2.The method according to claim 1, wherein the safety constraint comprises that a safety level of the edge node to allocate the service should be no lower than a first safety requirement of the service.3.The method according to claim 2, further comprising:generating strategy of allocating the service to an edge node in the edge computing system based on the safety constraint and resource constraint;wherein the resource constraint comprises that available resource of the edge node to allocate the service should be larger than or equal to a first resource requirement of the service.4.The method according to claim 3, wherein generating strategy of allocating one service to one edge node in the edge computing system based on the safety constraint and the resource constraint comprises:if there is only one edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the one service, determining to allocate the one service to the only one edge node;if there are more than one edge nodes in the edge computing system that meet the resource constraint and the safety constraint with respect to the one service, selecting one edge node from the more than one edge nodes to allocate the one service based on cost optimization.5.The method according to claim 3, generating the strategy of allocating the service to an edge node in the edge computing system based on the safety  constraint and the resource constraint comprises:if there is not an edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the service, determining whether to perform safety decomposition to the service to obtain one group of service elements or not, wherein each service element has a second safety requirement that is lower than the first safety requirement;if yes, performing the safety decomposition to the service to obtain one group of service elements and determining how to allocate the one group of service elements to edge nodes in the edge computing system, based on resource constraints and safety constraints of the edge nodes with respect to each group of service elements.6.The method according to claim 4 or 5, further comprising:determining whether there is an edge node in the edge computing system that meets the resource constraint and the safety constraint with respect to the service.7.The method according to claim 5, wherein determining whether to perform the safety decomposition to the service to obtain one group of service elements or not comprises:determining yes, if there are edge nodes in the edge computing system that respectively meet resource constraints and safety constraints with respect to at least one group of service elements of the service;determining no, if there are not enough number of edge nodes in the edge computing system that respectively meet resource constraints and safety constraints with respect to any group of service elements of the service;wherein the service is provided with one or more groups of service elements that follow safety decomposition rule of the service.8.The method according to claim 5, wherein if it’s determined to perform  safety decomposition to the service, the method further comprises performing the safety decomposition to the service to obtain one group of service elements and determining how to allocate the one group of service elements to a corresponding number of edge nodes in the edge computing system based on resource constraints and safety constraints with respect to the one group of service elements, and cost optimization.9.The method according to claim 5, wherein if it’s determined to perform safety decomposition to the service, the method further comprises:performing the safety decomposition to the service to obtain one group of service elements and determining how to allocate the one group of service elements to edge nodes in the edge computing system by solving an integer linear programming problem;wherein the integer linear programming problem is defined with a decision variable of matrix showing one or more options of allocating each group of service elements to a corresponding group of edge nodes in the edge computing system, with constraints comprising the resource constraints, the safety constraints and service constraints with respect to each group of service elements, and with an objective function for cost optimization.10.The method according to claim 5, wherein performing the safety decomposition to the service to obtain one group of service elements and determining how to allocate the one group of service elements to edge nodes in the edge computing system based on resource constraint and safety constraint of the edge nodes with respect to each group of service elements comprising:if there is only one group of edge nodes in the edge computing system that meet resource constraints and safety constraints with respect to only one group of service elements, determining to perform the safety decomposition to the service to obtain the only one group of service elements and to allocate the only one group of service elements to the only one group of edge nodes;if there are a plurality groups of edge nodes in the edge computing system that meet resource constraints and safety constraints with respect to one or more groups of service elements, determining to perform the safety decomposition to the service to obtain one group of the one or more groups of service elements and to allocate the obtained one group of service elements to one group of the plurality groups of edge nodes based on cost optimization;if there is only one group of edge nodes in the edge computing system that meet resource constraints and safety constraints with respect to a plurality of groups of service elements, determining to perform the safety decomposition to the service to obtain one group of the plurality groups of service elements and to allocate the obtained one group of service elements to the only one group of edge nodes based on cost optimization.11.The method according to claim 7, further comprising:if it’s determined not to perform the safety decomposition to the service, determining that it’s failed to schedule the service to an edge node in the edge computing system.12.The method according to claim 3, further comprising:acquiring information comprising a resource requirement and a safety requirement of the service, a list of edge nodes comprised in the edge computing system, and available resource state and a safety level of each edge node in the list.13.The method according to claim 5, further comprising:acquiring one or more service variants of the service, wherein each service variant comprises a group of service elements that follow safety decomposition rule of the service;acquiring the second safety requirement of each service element of each service variant of the service;wherein the safety decomposition rule of the service comprises a summation of safety levels of each group of service elements obtained by performing the safety decomposition to the service is equal to a safety level of the service.14.The method according to claim 5, wherein the method comprises at least one of the following:determining how to allocate the one group of service elements to edge nodes in the edge computing system further based on service constraint that one service element is only allocated to one edge node in the edge computing system;the safety constraints of edge nodes with respect to each group of service elements comprise safety levels of the edge nodes for allocating one group of service elements are respectively no lower than second safety requirements of the one group of service elements, and the group of service elements are allocated to independent edge nodes in the edge computing system.15.The method according to claim 8 or 9 or 10, wherein an objective function is established for the cost optimization, and the objective function comprises: development cost for a group of service elements, and infrastructure cost and operation cost of a corresponding number of edge nodes for allocating the group of service elements.16.The method according to claim 1, wherein the method further comprises at least one of the following:the edge computing system comprises a plurality of edge nodes, the plurality of edge nodes comprise roadside infrastructure and are interconnected and organized as a distributed system;the service comprises vehicular service;the service comprises autonomous driving computing tasks;obtaining cost of each edge node in the edge computing system;acquiring pre-stored independence information of each pair of edge nodes comprised in the edge computing system;outputting the generated strategy.17.The method according to claim 7, further comprising:determining whether there are enough number of edge nodes in the edge computing system that respectively meet the resource constraints and the safety constraints with respect to the group of service elements.18.The method according to claim 5, wherein if the safety decomposition is performed to the service and how to allocate the one group of service elements to edge nodes in the edge computing system is determined, the method further comprises at least one of the following:outputting a determined strategy of allocating the one group of service elements to a corresponding number of edge nodes in the edge computing system; and / oroutputting the one group of service elements with their respective safety requirements.19.The method according to claim 8 or 9 or 10, further comprising:outputting cost of a strategy of allocating one group of service elements to a corresponding number of edge nodes in the edge computing system, wherein the strategy is determined based on the cost optimization.20.A non-transitory computer readable medium with instructions stored therein which, when executed, causes a processor to carry out the steps of the method according to any of claims 1 to 19.21.A device for scheduling service in an edge computing system, comprising:a transceiver module, configured for receiving request for creating a service in the edge computing system, and transmitting strategy generated by a decision-making module;the decision-making module, configured for generating the strategy of allocating the service to an edge node in the edge computing system based on safety constraint.22.An edge computing system for creating a service, comprising:an API server, configured to receive request for creating a service in the edge computing system and transmit a command of deploying the service to an edge node in the edge computing system based on strategy of allocating the service generated by a scheduler;the scheduler, configured to:receive request for creating the service in the edge computing system from the API server;generate strategy of allocating the service to an edge node in the edge computing system based on safety constraint; and,transmit the generated strategy of allocating the service to an edge node in the edge computing system to the API server;a plurality of edge nodes, wherein each edge node is configured to acquire a package of the service and be deployed with the service in response to receive the command of deploying the service from the API server.23.The edge computing system according to claim 22, wherein the API server and the scheduler are located at roadside and disposed in a master node in the edge computing system, and the plurality of edge nodes are working nodes in the edge computing system.24.An edge computing system for creating a service, comprising:an API server, configured to receive request for creating a service in the edge computing system and transmit a command of deploying the service to an edge node based on strategy of allocating the service generated by a scheduler;the scheduler, comprising:a processor; and,a non-transitory computer readable medium with instructions stored therein which, when executed, causes the processor to carry out the steps of the method according to any of claims 1 to 19;a plurality of edge nodes, wherein each edge node is configured to acquire a package of the service and be deployed with the service in response to receive the command of deploying the service from the API server.25.The edge computing system according to claim 24, wherein the API server and the scheduler are located at roadside and disposed in a master node in the edge computing system, and the plurality of edge nodes are working nodes in the edge computing system.