Methods and apparatus for scheduling services in edge computing systems and edge computing systems
By generating service allocation strategies based on security and resource constraints in intelligent connected vehicles, the safety and cost-efficiency issues of scheduling autonomous driving computing tasks on roadside infrastructure are solved, and efficient and secure service scheduling in heterogeneous environments is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- ROBERT BOSCH GMBH
- Filing Date
- 2023-11-02
- Publication Date
- 2026-06-02
Smart Images

Figure CN122139178A_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to the field of edge computing, and more specifically, to methods and apparatus for scheduling services in an edge computing system, edge computing systems for creating services, and non-transitory computer-readable media. Background Technology
[0002] In intelligent connected vehicle scenarios, roadside infrastructure is used to assist autonomous driving. For cost efficiency, a portion of the computational tasks are offloaded from the vehicle to the roadside. When running these computational tasks on roadside infrastructure, one of the key issues is determining where to run them. Different methods have been proposed to make scheduling decisions. However, the performance of existing scheduling methods still needs improvement. Summary of the Invention
[0003] To schedule autonomous driving computing tasks at roadside infrastructure, roadside devices can be interconnected and organized into a distributed system, also known as vehicle edge computing. The scheduler in vehicle edge computing is aware of resources, quality of service, energy consumption, etc., but no existing technology takes into account the security requirements of the service, which is crucial for running safety-critical services such as automotive applications.
[0004] Furthermore, according to the inventors' research, there are several challenges that make it difficult to make service placement decisions in intelligent connected vehicles (ICVs), and these challenges need to be addressed to schedule offloaded vehicle computing tasks to roadside edge computing platforms.
[0005] The first challenge is the heterogeneous roadside infrastructure, which can vary in architecture, resource type, resource capacity, vehicle safety integrity level (ASIL), cost, and vendor. Because the scheduler needs to know the real-time status of this heterogeneous infrastructure and select feasible nodes to run computational tasks, the heterogeneity of edge devices makes service placement decisions in ICVs difficult.
[0006] The second challenge lies in the heterogeneous autonomous driving services within ICVs. Vehicle applications in ICVs are developed in accordance with safety standards (e.g., ISO 26262) to ensure the functional safety of autonomous vehicles. To this end, different vehicle services are attributed to different ASIL levels and impose stringent safety requirements on the hardware. For example, ASIL-C services require at least ASIL-C hardware to guarantee system safety. In addition to safety requirements, vehicle services can be developed using different technologies and programming languages, thus often resulting in varying resource requirements for different services.
[0007] The third challenge is dynamic software requests and relatively non-scalable infrastructure. Vehicle applications may be frequently updated to meet new requirements, which often imposes new resource and security demands on roadside infrastructure. Additionally, vehicle mobility introduces dynamism into service requests used by the dispatcher. However, roadside infrastructure is relatively non-scalable after large-scale deployment. Therefore, it is necessary to investigate how to flexibly schedule dynamic service requests to a given infrastructure.
[0008] The fourth challenge is cost efficiency. Due to the large number of roadside devices required for ICV deployment, the monetary costs of purchasing, installing, and maintaining these devices can be very high. Specifically, upgrading installed equipment to meet new software requirements (such as software updates) is expensive. Therefore, it is necessary to consider how to maximize the utilization of installed equipment and reduce scheduling costs.
[0009] According to embodiments of this disclosure, an apparatus and method are provided for scheduling services to an edge computing system (e.g., scheduling offloaded vehicle computing tasks to a roadside edge computing platform), taking into account hardware and software heterogeneity, software security requirements and system dynamism, as well as the goal of achieving cost efficiency in ICVs.
[0010] In some embodiments, the method may include: receiving a request to create a service in an edge computing system; and generating a strategy for assigning the service to edge nodes in the edge computing system based on security constraints.
[0011] In some embodiments, the method may include generating a strategy for allocating services to edge nodes in an edge computing system based on security constraints and resource constraints; wherein the resource constraints include that the available resources of the edge node for allocating the service should be greater than or equal to a first resource requirement of the service.
[0012] In some embodiments, generating a strategy for allocating services to edge nodes in an edge computing system based on security constraints and resource constraints may include: if no edge node in the edge computing system satisfies the resource constraints and security constraints relative to the service, determining whether to perform a security decomposition on the service to obtain a set of service elements, wherein each service element has a second security requirement lower than the first security requirement; if so, performing a security decomposition on the service to obtain a set of service elements, and determining how to allocate the set of service elements to edge nodes in the edge computing system based on the resource constraints and security constraints of the edge nodes relative to each set of service elements.
[0013] This disclosure also provides a non-transitory computer-readable medium in which instructions are stored, which, when executed, cause a processor to perform steps of a method for scheduling services in an edge computing system.
[0014] This disclosure also provides an apparatus for scheduling services in an edge computing system. The apparatus may include: a transceiver module configured to receive requests to create services in the edge computing system and to send policies generated by a decision module; and a decision module configured to generate policies for allocating services to edge nodes in the edge computing system based on security constraints.
[0015] This disclosure also provides an edge computing system for creating services. The edge computing system may include: an API server configured to receive requests for creating services in the edge computing system and to send commands to deploy services to edge nodes in the edge computing system based on a service allocation policy generated by a scheduler; a scheduler configured to: receive requests for creating services from the API server; generate a policy for allocating services to edge nodes in the edge computing system based on security constraints; and send the generated policy for allocating services to edge nodes in the edge computing system to the API server; and a plurality of edge nodes, each edge node configured to acquire a package of services and, in response to receiving a command to deploy services from the API server, have the services deployed.
[0016] This disclosure also provides an edge computing system for creating services. The edge computing system may include: an API server configured to receive requests for creating services in the edge computing system and to send commands to deploy services to edge nodes based on a service allocation strategy generated by a scheduler; a scheduler including: a processor; and a non-transitory computer-readable medium storing instructions that, when executed, cause the processor to perform the steps of the method for scheduling services in the edge computing system as described in this disclosure; and a plurality of edge nodes, each configured to acquire a service package and deploy the service in response to receiving a command to deploy the service from the API server.
[0017] Compared with existing task scheduling methods, the method in this disclosure has the following advantages:
[0018] Systems and methods for scheduling services on roadside infrastructure can meet the service security requirements of safety-critical applications within a given set of infrastructures with ASIL levels. Specifically, by first retrieving the service security requirements and infrastructure security state, and then performing application software ASIL-decomposition when no infrastructure can meet the original service security requirements, dynamic security requirements for service requests can be largely met, which is crucial for cooperative vehicle infrastructure systems with dynamic service requests.
[0019] In addition to satisfying security constraints derived from software and hardware, the monetary cost of building and operating vehicle edge computing can be optimized by modeling the cost as the sum of the price of the infrastructure, the cost of equipment installation and operation, and the additional cost of developing decomposition services. This ensures that the calculated cost includes not only hardware costs but also the software development costs for ASIL decomposition.
[0020] Furthermore, this disclosure defines an integer linear programming (ILP) optimization problem to determine a service allocation strategy that uses cost as an objective and resource capacity and security as constraints to select the optimal edge node for scheduling and deploying services. Prior to the optimization problem, an ASIL decomposition algebra check is performed to select appropriate service elements. Therefore, the systems and methods for scheduling services on roadside edge nodes according to embodiments of this disclosure demonstrate improved performance in terms of resource utilization, quality of service, energy consumption, and service security requirements, which is crucial for operating safety-critical and latency-critical applications. Attached Figure Description
[0021] The disclosed aspects will be described below in conjunction with the accompanying drawings, which are provided for illustrative purposes and not for limiting the scope of the disclosure.
[0022] Figure 1 A flowchart illustrating a method for scheduling services in an edge computing system according to an embodiment is shown schematically.
[0023] Figure 2 A flowchart illustrating a method for scheduling services in an edge computing system according to another embodiment is shown schematically;
[0024] Figure 3 A block diagram of a device for scheduling services in an edge computing system according to an embodiment is shown schematically.
[0025] Figure 4 A data flow diagram of a system for creating services according to an embodiment is illustrated schematically;
[0026] Figure 5 A block diagram of a system for creating services according to an embodiment is shown schematically. Detailed Implementation
[0027] Embodiments of this disclosure will be described in conjunction with the accompanying drawings.
[0028] According to embodiments of this disclosure, a method for scheduling services in an edge computing system is provided.
[0029] refer to Figure 1 , Figure 1A flowchart illustrating a method for scheduling services in an edge computing system is shown schematically. In some embodiments, the method may include steps 11 and 13. In step 11, a request for creating a service in the edge computing system may be received from an API server, for example, by a scheduler. In step 13, the scheduler, for example, determines or generates how to allocate the service (i.e., allocation strategy) to edge nodes in the edge computing system based on security constraints. Security constraints may include that the security level of the edge node used to allocate the service should be no less than (i.e., higher than or equal to) the first security requirement of the service. According to the inventors' research, no existing scheduling technology takes into account the security requirements of services, which is crucial for running safety-critical services such as some automotive applications.
[0030] In some embodiments, step 13 may further include: in response to receiving a request to create a service, generating a strategy for allocating the service to edge nodes in the edge computing system based on security constraints and resource constraints. Resource constraints may include ensuring that the available resources of the edge node are greater than or equal to a first resource requirement of the service, so that the edge node has sufficient resources to run the service on that edge node.
[0031] In some embodiments, in step 11, the received request may include the creation of multiple services in the edge computing system. In step 13, a strategy is adopted to assign the multiple services to one or more edge nodes in the edge computing system based on security constraints and resource constraints, and optionally further based on cost optimization, and optionally further based on service constraints. Service constraints may include assigning only one service to one edge node.
[0032] In some embodiments, if multiple policies are generated in step 13, the method may further include selecting a policy from the multiple policies based on cost optimization. Cost optimization may include cost minimization. Costs may include the infrastructure costs (e.g., hardware costs) of the edge nodes selected for service allocation and the operating costs of the edge nodes.
[0033] In some embodiments, in step 13, generating a strategy for allocating services to edge nodes in the edge computing system may include determining where (which edge node) the service is allocated or run, which is a scheduling problem. Specifically, if at least one of the multiple edge nodes satisfies security and resource constraints relative to the service, it may be necessary to select an edge node from the multiple edge nodes included in the edge computing system to allocate one of the services in the received request, based on security constraints, resource constraints, and cost optimization.
[0034] However, sometimes there may not be any edge nodes among multiple edge nodes that satisfy the security and resource constraints relative to the service. How to schedule services in an edge computing system becomes a problem. To address this problem, a method for scheduling services in an edge computing system is provided according to another embodiment.
[0035] refer to Figure 2 , Figure 2 A flowchart of a method for scheduling services in an edge computing system according to another embodiment is illustrated schematically. In some embodiments, the method may include steps 21, 23, 25, and 30, or steps 21, 23, 26, 28, and 30, or steps 21, 23, 26, 29, and 30.
[0036] In step 21, a request for creating a service in the edge computing system is received. For example, this request may be received by the scheduler from an API server. The request may include first resource requirements and first security requirements for the service, or these requirements may be obtained by the scheduler from another source. In some embodiments, the API server may receive the request from a service provider. In the 'yaml' file of a Kubernetes deployment, the resource requirements of the service (e.g., required CPU and RAM) are constraint specifications.
[0037] Specifically, the service can be a vehicle service, the edge computing system can be a vehicle edge computing system, and the request can include deploying vehicle applications on roadside infrastructure. The vehicle edge computing system can include multiple edge nodes, and these edge nodes can include roadside infrastructure such as edge servers, roadside computing units, base stations, and other computing resources between the vehicle and the cloud. These roadside devices can be interconnected via overlay networks and communicate with the vehicle via V2X protocols. These roadside devices can differ from each other in architecture, resource capacity, etc., and are geographically distributed. Because the roadside infrastructure is close to the sensors and the vehicle, running computing tasks on the roadside infrastructure or offloading some computing tasks from the vehicle to the roadside instead of running those computing tasks in the cloud will result in greater time and cost efficiency and reduced latency. The offloaded computing tasks can be perception pipelines utilizing data captured by sensors (e.g., video streams captured by cameras), prediction, planning, and other latency-critical applications. An edge node needs to be selected from multiple edge nodes to allocate services on that node.
[0038] Optionally, the method may further include step 22, obtaining a list of edge nodes included in the edge computing system (i.e., all online edge nodes in the edge computing system), the available resource status, and the security level of each edge node in the list. Specifically, the available resource status of each edge node can be captured in real time, for example, by the Prometheus monitoring stack in Kubernetes. Typically, the ASIL level of the service and edge server is given, which can be provided by the developer and manufacturer. Timely monitoring of the available resource status of each edge node will improve security in the event of any edge node malfunction or failure.
[0039] The scheduler can be fed input with the required information for edge nodes and services included in the edge computing system. The required information for services and edge nodes can be included in the input file.
[0040] In step 23, it is determined whether there are edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to the service. Specifically, the resource constraints may include the fact that the available resources of the edge node used to allocate the service should be greater than or equal to the first resource requirement of the service, and the security constraints may include the fact that the security level of the edge node used to allocate the service should not be lower than the first security requirement of the service.
[0041] If determined to be yes, that is, if in step 23 there are edge nodes (one or more) in the edge computing system that satisfy the resource constraints and security constraints relative to the service, then the method proceeds to step 25. In step 25, a strategy is generated to assign each service in the received request to the corresponding edge node in the edge computing system, and the generated strategy for assigning each service may include: selecting one edge node from one or more edge nodes to assign each service. Then, the method ends in step 30.
[0042] In some embodiments, if in step 23 it is determined that only one edge node in the edge computing system satisfies the resource and security constraints relative to the service in the received request, then in step 25 it is determined that the service will be assigned to only that one edge node; if in step 23 it is determined that more than one edge node in the edge computing system satisfies the resource and security constraints relative to a service in the received request, then in step 25, an edge node is selected from the more than one edge node based on cost optimization to assign the service. Cost optimization may include cost minimization. Cost may include the infrastructure cost of the edge node selected for assigning the service, and the operating cost of the selected edge node. Therefore, costs are compared among different options of more than one edge node to select the edge node with the lowest cost to assign the corresponding service.
[0043] If no, that is, if no edge node in the edge computing system satisfies the resource constraints and security constraints relative to the service in step 23, the method proceeds to step 26. In step 26, it is determined whether to perform security decomposition on the service to obtain a set of service elements, where each service element has a second security requirement lower than the first security requirement. If yes, the method proceeds to step 28; if no, the method proceeds to step 29. No edge node in the edge computing system satisfying the resource constraints and security constraints relative to the service includes no edge node satisfying the resource constraints but at least one edge node satisfying the security constraints, no edge node satisfying the security constraints but at least one edge node satisfying the resource constraints, or no edge node satisfying both the resource constraints and security constraints. For all three conditions above, the method can proceed to step 26 because when performing a service using security decomposition, both the security level and resource requirements can be changed for its service variants.
[0044] In some embodiments, determining whether to perform a secure decomposition of the service to obtain a set of service elements in step 26 may include: determining yes (i.e., performing secure decomposition) if there are edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to at least one set of service elements of the service, respectively; and determining no (i.e., not performing secure decomposition) if there are not a sufficient number of edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to any set of service elements of the service, respectively. A service can be decomposed into one or more sets of service elements following the service's secure decomposition rules. Specifically, for example, in step 21, developed service variants including service elements may be provided, wherein each service element has a different ASIL level (second security requirement). The method may also include iterating over the developed service variants and checking whether the service variants satisfy the ASIL decomposition rules. In particular, two constraints need to be satisfied: 1) ASIL decomposition rules: after ASIL decomposition, the sum of the ASIL levels of the service elements of each service variant should be equal to the ASIL level of the original service; 2) the variants used in the decomposition should be available. By passing the above two constraints, one or more options for service variants are obtained, wherein each option includes at least two service elements. One or more options can be derived via a procedure by defining and solving a Satisfiability Modulus Theory (SMT) problem or by iterating over service variants. Service elements developed following several ASIL-level decomposition rules can be provided, as shown in Table 1. For example, for a service with ASIL-C security requirements, variants such as ASIL-A with ASIL-B can be provided. In addition to the second security requirements for each service element, the second resource requirements for each service element of each service variant can be obtained to determine whether decomposition should be performed. For decomposition with QM, for example, a service with ASIL-C can be decomposed into ASIL-C and QM, where ASIL-C and QM can be considered as two services to be allocated independently. The scheduler can be input with the required information for the service variants. The required information for the service variants can be included in the input file. Table 1
[0045] The resource and security constraints relative to each set of service elements are similar to those relative to the service itself. Specifically, resource constraints may include that the available resources of the edge nodes used to allocate the set of service elements are greater than or equal to the resource requirements of that set of service elements, and security constraints may include that the security level of the edge nodes used to allocate the set of service elements is not lower than the second security requirement of that set of service elements. However, security constraints relative to service elements can be supplemented with one or more restrictions to increase security. That is, security constraints may also include that a set of service elements is allocated to independent edge nodes in the edge computing system. "Independent edge nodes" means that there are no common cause failures (CCFs) or cascading failures among the edge nodes used to allocate the same service variant or the same set of service elements. Service constraints may include that each service element is allocated to only one edge node.
[0046] In step 28, a security decomposition is performed on the service to obtain a set of service elements, and the allocation of this set of service elements to edge nodes in the edge computing system is determined based on the resource constraints and security constraints of the edge nodes in the edge computing system relative to each set of service elements. Optionally, step 28 may also include: if the service can be decomposed into multiple sets of service elements in accordance with the service's security decomposition requirements, then determining how to perform the security decomposition on the service. For example, a service with security requirement ASIL-D is decomposed into multiple sets of service elements: such as a set of ASIL-A with ASIL-C, a set of ASIL-B with ASIL-B, etc. Each set of service elements can be considered as a service variant of the original service in the received request. Different sets of service elements represent different service variants of the original service.
[0047] In some embodiments, it may be determined how to perform a security decomposition of a service to obtain a set of service elements, and based on resource constraints and security constraints relative to the set of service elements as well as cost optimization, it may be determined how to allocate the set of service elements to a corresponding number of edge nodes in the edge computing system.
[0048] Specifically, step 28 may include: if there is only one set of edge nodes in the edge computing system that satisfies the resource constraints and security constraints relative to only one set of service elements, then determine to perform the security decomposition on the service to obtain the only set of service elements, and allocate the only set of service elements to the only set of edge nodes. In this case, one or more sets of service elements may be provided to the service; if there are multiple sets of edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to one or more sets of service elements, then determine to perform the security decomposition on the service to obtain one set of service elements from the one or more sets of service elements, and allocate the obtained set of service elements to one set of edge nodes from the multiple sets of edge nodes based on cost optimization; if there is only one set of edge nodes in the edge computing system that satisfies the resource constraints and security constraints relative to multiple sets of service elements, then determine to perform the security decomposition on the service to obtain one set of service elements from the multiple sets of service elements, and allocate the obtained set of service elements to the only set of edge nodes based on cost optimization.
[0049] In some embodiments, the method may further include obtaining or inputting service variants that comply with the service's security decomposition requirements and second security and second resource requirements for each service element, as in step 21. Each set of service variants is developed independently. Service variants can be developed to meet the security requirements of the original service by complying with different ASIL levels.
[0050] In some embodiments, in step 28, determining how to perform a security decomposition of the services to obtain a set of service elements and determining how to allocate that set of service elements to edge nodes in the edge computing system can be formulated as an integer linear programming (ILP) problem, and the deterministic outcome can be obtained by solving the ILP problem. Specifically, the ILP problem is defined using matrix-based decision variables that show one or more options for allocating each set of service elements to a corresponding set of edge nodes in the edge computing system, with constraints including resource constraints, security constraints, and service constraints relative to each set of service elements, and with an objective function for cost optimization. Service constraints may include a service element being allocated to only one edge node.
[0051] In some embodiments, after performing step 28, a strategy is generated to assign a set of service elements to a corresponding set of edge nodes. The generated strategy can be delivered in various forms. In some embodiments, the generated strategy can be a list of service elements, and for each service element, the corresponding edge node for assigning each service element is determined and delivered.
[0052] Taking a specific embodiment as an example, a request is received to create a service named "service_0" in the edge computing system. As shown in Table 2, the ASIL level of 'service_0' is 3. Two service variants of 'service_0' are also given: 'Variant_0' and 'Variant_1'. 'Variant_0' includes two service elements: 'element_0' and 'element_1', and 'Variant_0' includes three service elements: 'element_0', 'element_1', and 'element_2'. Table 2 lists the ASIL level and resource requirements, including CPU and RAM requirements, for each service element. As shown in Table 3, there are five edge nodes in the edge computing system named 'host_0', 'host_1', 'host_2', 'host_3', 'host_4' and 'host_5'. The security level of each of the five edge nodes is given, and the available resources of each of the five edge nodes, including CPU and RAM, are monitored in real time and obtained after receiving a request to create a service in the edge computing system. Table 2 Table 3
[0053] In step 23, it is determined that there are no edge nodes in the edge computing system that satisfy the security requirement of 'service_0'. Then, in step 26, it is determined whether to perform a security decomposition on the service to obtain a set of service elements. By checking, it is determined in step 26 that there are edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to at least one service variant of the service (i.e., at least a set of service elements). Then, the method proceeds to step 28. In step 28, it is determined how to perform a security decomposition on the service to obtain a set of service elements and how to allocate that set of service elements to the corresponding number of edge nodes in the edge computing system by solving the ILP problem. The ILP is defined using decision variables based on two matrices, each matrix showing an option to allocate a set of service elements to the corresponding set of edge nodes in the edge computing system. For example, a matrix like [('element_0', 'host_4'), ('element_1', 'host_0')] means that 'element_0' can be assigned to 'host_4', and 'element_1' can be assigned to 'host_0'; another matrix like [('element_0', 'host_2'), ('element_1', 'host_4'), ('element_2', 'host_0')] means that 'element_0' can be assigned to 'host_2', 'element_1' can be assigned to 'host_4', and 'element_2' can be assigned to 'host_0'. ILP problems also have constraints, including resource constraints relative to each set of service elements, as well as security and service constraints. Specifically, resource constraints may include that the available CPU and RAM of each edge node used to allocate one of the service elements of the same service variant are greater than or equal to the CPU and RAM requirements of one service element, and security constraints may include that the security level of each edge node used to allocate one of the service elements of the same service variant is not lower than (i.e., higher than or equal to) the security requirements of one service element; and each group of service elements is allocated to independent edge nodes in the edge computing system. It should be noted that the ASIL levels, CPU and RAM numbers in Tables 2 and 3 are merely illustrative examples and may not represent actual values in real-world applications or scenarios.
[0054] The ILP problem also has an objective function for cost optimization. The optimization objective is to minimize the total cost of edge nodes (e.g., edge servers), the development cost of service variants or service elements, and the operating cost of edge nodes. Specifically, the optimization objective of the objective function can be formally defined as minimizing the formula (1) shown below. ∑Ω + α×m + β×n(1)
[0055] Where ∑Ω represents the total cost, which is the sum of the costs of the edge nodes (e.g., edge servers) selected for allocating a set of service elements in the edge computing system. The development cost of the 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 a normalized coefficient for the capture cost increasing with the number of service elements, e.g., compared to the cost of the original service before decomposition, and α can be customized. The operational costs, including edge node installation and maintenance, are modeled by β×n, where n is the number of edge nodes generated by the ASIL-decomposition, and β is a normalized coefficient for the capture cost increasing with the number of edge nodes, e.g., compared to the cost of the number of edge nodes used to allocate the original service before decomposition, and β can be customized. This ILP problem can be solved using an optimization solver. And in step 28, it returns the optimal allocation strategy (e.g., one of the two matrices mentioned above) that satisfies the constraints and minimizes the total cost. The optimal allocation strategy for allocating a set of service elements to the corresponding number of edge nodes is considered to be the generated strategy for allocating services to edge nodes in the edge computing system. The method then ends in step 30.
[0056] If it is determined in step 26 that a security decomposition of the service is not performed to obtain a set of service elements, the method proceeds to step 29. In step 29, it is determined that the task of scheduling the service to the edge node in the edge computing system has failed. The method then terminates in step 30.
[0057] In some embodiments, the edge computing system may include multiple edge nodes, which may include roadside infrastructure, and the multiple edge nodes are interconnected and organized into a distributed system. Services may include vehicle services, such as autonomous driving computing tasks. The method may also include, or be input, the cost of each edge node in the edge computing system from stored files and pre-stored independence information included in each pair of edge nodes in the edge computing system, as in step 22. The method for scheduling services in an edge computing system according to this disclosure may be performed by a scheduler.
[0058] In some embodiments, where a security decomposition of a service is performed and a set of service elements is determined to be assigned to edge nodes in an edge computing system, the method may further include outputting a determined policy for assigning the set of service elements to a corresponding number of edge nodes in the edge computing system, for example, from a scheduler to an API server, and the determined policy may be included in an output file; and / or, the method may include outputting a set of service elements and their corresponding security requirements, which may be included in the scheduler's output file. In some embodiments, the method may include outputting the cost of the determined policy for assigning the set of service elements to a corresponding number of edge nodes in the edge computing system, which may be included in the scheduler's output file. In some embodiments, the method may include outputting some intermediate results, including assigning the policy and cost of each set of service elements to a corresponding number of edge nodes.
[0059] In some embodiments, the method can be implemented at the edge. For example, the method can be implemented by a scheduler in a Kubernetes Master, where the Kubernetes Master is a controller or administrator node that plays the role of controller or administrator in the edge computing system. The edge computing system also includes multiple worker nodes on which services or service elements are to be deployed.
[0060] This disclosure provides a non-transitory computer-readable medium in which instructions are stored, which, when executed, cause a processor to perform steps of a method for scheduling services in an edge computing system according to the foregoing embodiments.
[0061] This disclosure provides a device for scheduling services in an edge computing system. (Reference) Figure 3 , Figure 3 A block diagram of a device 30 for scheduling services in an edge computing system is schematically shown. In some embodiments, device 30 may include: a transceiver module 31 configured to receive requests to create services in the edge computing system and send policies generated by a decision module 32; and a decision module 32 configured to generate policies for allocating services to edge nodes in the edge computing system based on security constraints.
[0062] In some embodiments, the request may be received from the API server by the scheduler. The decision module 32 may generate a strategy for allocating services to edge nodes in the edge computing system based on security and resource constraints. Further details regarding the functional implementation of the transceiver module 31 and the decision module 32 can be found in the corresponding steps of the method for scheduling services in an edge computing system according to the foregoing embodiments, and will not be described in detail here. The device may be... Figure 4The scheduler 43 shown or Figure 5 Scheduler 63 is shown.
[0063] This disclosure also provides an edge computing system for creating services. (Reference) Figure 4 , Figure 4 A schematic diagram illustrating the data flow of an edge computing system for creating services is provided. Using Kubernetes as an example, the edge computing system may include: an API server 41, a scheduler 43, and multiple edge nodes. For illustration, in... Figure 4 Only one edge node 45 is shown. Optionally, the edge computing system may also include etcd 42 for data storage and Docker images 44 for running services on the edge nodes. API server 41, etcd 42, and scheduler 43 may be included in the Kubernetes controller. The Kubernetes master node may be located on the curbside and is either the master node or the administrator node in the edge computing system, and multiple edge nodes are worker nodes in the edge computing system. Figure 4 Each number used to indicate the data flow is indicated by an arrow below that number.
[0064] In some embodiments, API server 41 may be configured to: receive a request for creating a service from service provider 51, for example, in data flow 401; write the request for creating a service to etcd 42 in data flow 403; send a request to scheduler 43 to create a service in the edge computing system in data flow 405; write a service allocation policy generated by scheduler 43 to etcd 42 in data flow 407; send a command to deploy a service to edge node 45 in the edge computing system based on the service allocation policy generated by scheduler 43 in data flow 409; and write the deployment of the service on edge node 45 to etcd 42 in data flow 413.
[0065] In some embodiments, scheduler 43 may be configured to: receive a request from API server 41 for creating a service in the edge computing system in data stream 405; and send its generated policy for allocating services to edge nodes in the edge computing system based on security constraints to API server 41 in data stream 422.
[0066] In some embodiments, each edge node of the edge computing system (e.g., edge node 45) is configured to: obtain a service package, such as Docker image 44, in data stream 411; and in data stream 424, in response to edge node 45 receiving a command to deploy the service from API server 41 in data stream 409, deploy the corresponding service, such as via Docker image 44; and in data stream 426, update the service status using API server 41.
[0067] In some embodiments, scheduler 43 is also configured to generate a strategy for allocating services to edge nodes (i.e., worker nodes) in the edge computing system based on security constraints and resource constraints. Specifically, scheduler 43 can be configured to determine whether there are edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to the service; if only one edge node in the edge computing system satisfies the resource constraints and security constraints relative to the service, scheduler 43 can be configured to determine to allocate a service to only one edge node; if more than one edge node in the edge computing system satisfies the resource constraints and security constraints relative to the service, select one edge node from the more than one edge node to allocate the service based on cost optimization; if no edge node in the edge computing system satisfies the resource constraints and security constraints relative to the service, scheduler 43 can be configured to determine whether to perform a security decomposition on the service to obtain a set of service elements, wherein each service element has a second security requirement lower than the first security requirement; if so, scheduler 43 can be configured to perform a security decomposition on the service to obtain a set of service elements, and determine how to allocate the set of service elements to edge nodes in the edge computing system based on the resource constraints and security constraints of the edge node relative to each set of service elements. The functional implementation of scheduler 43 can be referred to as the corresponding steps of the method for scheduling services in an edge computing system according to the foregoing embodiments, and will not be described in detail here. API server 41 and scheduler 43 can be located on the roadside and set in the master node (e.g., Kubernetes master device) of the edge computing system, and multiple edge nodes are worker nodes in the edge computing system.
[0068] This disclosure provides an edge computing system for creating services. (Reference) Figure 5 , Figure 5A block diagram of an edge computing system 60 for creating services is schematically shown. The edge computing system 60 may include an API server 61, a scheduler 63, and multiple edge nodes. The API server 61 may be configured to receive requests to create services in the edge computing system and send commands to deploy services to edge nodes 65 based on a service allocation strategy generated by the scheduler 63. The scheduler 63 may include a processor and a non-transitory computer-readable medium storing instructions therein that, when executed, cause the processor to perform the steps of the method for scheduling services in the edge computing system according to the foregoing embodiments, which will not be described in detail here. Each of the multiple edge nodes is configured to obtain a service package and is deployed with the service in response to receiving a command to deploy the service from the API server. Optionally, the system may also include etcd 62 for data storage and Docker images 64 for running services on the edge nodes. Figure 4 and Figure 5 The scheduler in the edge computing system can be input with the required information for the services and service variants mentioned in this disclosure, as well as the required information for the edge nodes included in the edge computing system. The required information for the services, service variants, and edge nodes can be included in an input file. The data flow in the edge computing system can be referenced... Figure 4 The embodiments shown are not described in detail here. The API server 61 and scheduler 63 may be located at the roadside and set in the master node (e.g., Kubernetes master device) of the edge computing system, and multiple edge nodes are worker nodes in the edge computing system.
[0069] The devices (i.e., schedulers) and methods for scheduling services (e.g., transportation services) in edge computing systems (e.g., on roadside infrastructure) in this disclosure are designed to be lightweight and can operate in real time to meet the low latency requirements of edge computing. Specifically, the systems and methods for scheduling services in edge computing systems select algorithms with fewer computational resources and lower computational complexity. The scheduler used in this disclosure to implement the method for allocating services in edge computing systems is security-aware.
[0070] It should be understood that all operations in the above methods are merely exemplary, and this disclosure is not limited to any operation in the methods or the order of such operations, and should cover all other equivalents under the same or similar concepts.
[0071] 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. For example, the processors, any portion thereof, or any combination thereof presented in this disclosure can be implemented as microprocessors, microcontrollers, digital signal processors (DSPs), field-programmable gate arrays (FPGAs), programmable logic devices (PLDs), state machines, gate logic, discrete hardware circuitry, and other suitable processing components configured to perform the various functions described in this disclosure. The functionality of the processors, any portion thereof, or any combination thereof presented in this disclosure can be implemented as software executed by a microprocessor, microcontroller, DSP, or other suitable platform.
[0072] Software should be broadly considered 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, etc. Software may reside on a computer-readable medium. A computer-readable medium may include, for example, memory, which may be, for example, magnetic storage devices (e.g., hard disks, floppy disks, magnetic stripes), optical disks, smart cards, flash memory devices, random access memory (RAM), read-only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), registers, or removable disks. Although memory is shown as separate from the processor in the various aspects presented in this disclosure, memory may also be internal to the processor (e.g., cache or registers).
[0073] The foregoing description is provided to enable those skilled in the art to practice the various aspects described herein. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects. Therefore, the claims are not intended to limit them to the aspects shown herein. All structural and functional equivalents of the elements of the various aspects of this disclosure that are known or apparent to those skilled in the art are intended to be covered by the claims.
Claims
1. A method for scheduling services in an edge computing system, comprising: Receive a request to create a service in the edge computing system; A strategy for allocating the service to edge nodes in the edge computing system is generated based on security constraints.
2. The method according to claim 1, wherein, The security constraints include the requirement that the security level of the edge node used to allocate the service should not be lower than the first security requirement of the service.
3. The method according to claim 2, further comprising: Based on the security constraints and resource constraints, a strategy is generated to allocate the service to edge nodes in the edge computing system; The resource constraints include the requirement that the available resources of the edge node for allocating the service should be greater than or equal to the first resource requirement of the service.
4. The method according to claim 3, wherein, Generating a strategy for assigning a service to an edge node in the edge computing system based on the security constraints and the resource constraints includes: If there is only one edge node in the edge computing system that satisfies the resource constraints and security constraints relative to the service, then it is determined that the service will be assigned to the only edge node. If there are more than one edge node in the edge computing system that satisfies the resource constraints and security constraints relative to the service, then an edge node is selected from the more than one edge node to allocate the service based on cost optimization.
5. The method according to claim 3, wherein generating a strategy for allocating the service to edge nodes in the edge computing system based on the security constraints and the resource constraints comprises: If there are no edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to the service, then it is determined whether to perform security decomposition on the service to obtain a set of service elements, wherein each service element has a second security requirement lower than the first security requirement; If so, the security decomposition is performed on the service to obtain a set of service elements, and the allocation of the set of service elements to the edge nodes is determined based on the resource constraints and security constraints of the edge nodes in the edge computing system relative to each set of service elements.
6. The method according to claim 4 or 5, further comprising: Determine whether there are edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to the service.
7. The method according to claim 5, wherein, Determining whether to perform the security decomposition on the service to obtain a set of service elements includes: If there are edge nodes in the edge computing system that satisfy resource constraints and security constraints relative to at least one set of service elements of the service, then it is determined to be yes; If the edge computing system does not have a sufficient number of edge nodes that satisfy the resource constraints and security constraints of any group of service elements relative to the service, then it is determined that no; The service can be decomposed into one or more service elements in accordance with the service's security decomposition rules.
8. The method according to claim 5, wherein, If it is determined that a security decomposition is to be performed on the service, the method further includes performing the security decomposition on the service to obtain a set of service elements, and determining how to allocate the set of service elements to a corresponding number of edge nodes in the edge computing system based on resource constraints and security constraints relative to the set of service elements and cost optimization.
9. The method according to claim 5, wherein, If it is determined that a security decomposition will be performed on the service, the method further includes: The security decomposition of the service is performed to obtain a set of service elements, and the method of allocating the set of service elements to edge nodes in the edge computing system is determined by solving an integer linear programming problem. The integer linear programming problem is defined using matrix-based decision variables, which show one or more options for assigning each set of service elements to edge nodes of the corresponding set in the edge computing system. The integer linear programming problem has constraints, including resource constraints, security constraints, and service constraints relative to each set of service elements, and has an objective function for cost optimization.
10. The method according to claim 5, wherein, Performing the security decomposition on the service to obtain a set of service elements, and determining how to allocate the set of service elements to edge nodes in the edge computing system based on the resource constraints and security constraints of the edge nodes relative to each set of service elements, including: If there exists only one set of edge nodes in the edge computing system that satisfies the resource constraints and security constraints relative to only one set of service elements, then it is determined that the security decomposition is performed on the service to obtain the only set of service elements, and the only set of service elements is assigned to the only set of edge nodes. If multiple sets of edge nodes in the edge computing system satisfy resource constraints and security constraints relative to one or more sets of service elements, then it is determined to perform the security decomposition on the service to obtain one set of service elements from the one or more sets of service elements, and the obtained set of service elements is allocated to one set of edge nodes from the multiple sets of edge nodes based on cost optimization. If, in the edge computing system, there exists only one set of edge nodes that satisfy the resource constraints and security constraints relative to multiple sets of service elements, then it is determined that the security decomposition of the service is performed to obtain one set of service elements from the multiple sets of service elements, and the obtained set of service elements is allocated to the only set of edge nodes based on cost optimization.
11. The method of claim 7, further comprising: If it is determined that the security decomposition is not performed on the service, then the task of scheduling the service to an edge node in the edge computing system is determined to have failed.
12. The method according to claim 3, further comprising: Obtain information including the resource and security requirements of the service, a list of edge nodes in the edge computing system, and the security level and available resource status of each edge node in the list.
13. The method of claim 5, further comprising: Obtain one or more service variants of the service, wherein each service variant includes a set of service elements that follow the security decomposition rules of the service; Obtain the second security requirements for each service element of each service variant of the service; The security decomposition rule for the service includes a sum of security levels for each group of service elements obtained by performing the security decomposition on the service, which equals the security level of the service.
14. The method according to claim 5, wherein, The method includes at least one of the following: Further, based on service constraints, determine how to allocate the set of service elements to the edge nodes in the edge computing system, wherein the service constraint is that a service element is allocated to only one edge node in the edge computing system; The security constraints for edge nodes relative to each group of service elements include that the security level of the edge nodes used to assign a group of service elements is not lower than the second security requirement of the group of service elements, and the group of service elements is assigned to independent edge nodes in the edge computing system.
15. The method according to claim 8, 9, or 10, wherein, An objective function is established for the cost optimization, and the objective function includes: the development cost for a set of service elements, and the infrastructure cost and operating cost for allocating a corresponding number of edge nodes to the set of service elements.
16. The method according to claim 1, wherein, The method further includes at least one of the following: The edge computing system includes multiple edge nodes, which include roadside infrastructure, and the multiple edge nodes are interconnected and organized into a distributed system; The services include vehicle services; The service includes autonomous driving computing tasks; Obtain the cost of each edge node in the edge computing system; Obtain pre-stored independence information for each pair of edge nodes in the edge computing system; Output the generated strategy.
17. The method of claim 7, further comprising: Determine whether there are a sufficient number of edge nodes in the edge computing system that satisfy the resource constraints and security constraints relative to the set of service elements.
18. The method according to claim 5, wherein, If the security decomposition is performed on the service and the method determines how to assign the set of service elements to edge nodes in the edge computing system, the method further includes at least one of the following: The output determines the strategy for allocating the set of service elements to a corresponding number of edge nodes in the edge computing system; and / or Output the set of service elements that have their respective security requirements.
19. The method according to claim 8, 9, or 10, further comprising: Output the cost of a strategy that assigns a set 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 storing instructions that, when executed, cause a processor to perform the steps of the method according to any one of claims 1 to 19.
21. An apparatus for scheduling services in an edge computing system, comprising: A transceiver module configured to receive requests to create services in the edge computing system and to send policies generated by a decision module; The decision module is configured to generate a strategy for allocating the service to edge nodes in the edge computing system based on security constraints.
22. An edge computing system for creating services, comprising: An API server is configured to receive requests for creating services in the edge computing system and, based on a service allocation strategy generated by a scheduler, send commands to deploy the services to edge nodes in the edge computing system. The scheduler is configured to: Receive a request from the API server to create the service in the edge computing system; A strategy for allocating the service to edge nodes in the edge computing system is generated based on security constraints. as well as The generated strategy for allocating the service to edge nodes in the edge computing system is sent to the API server; Multiple edge nodes, wherein each edge node is configured to acquire a package of the service and is deployed with the service in response to receiving a command to deploy 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 the roadside and are set in the master node of the edge computing system, and the plurality of edge nodes are the working nodes of the edge computing system.
24. An edge computing system for creating services, comprising: An API server is configured to receive requests for creating services in the edge computing system and to send commands to edge nodes to deploy the services based on a service allocation strategy generated by a scheduler. The scheduler includes: Processor; and A non-transitory computer-readable medium storing instructions that, when executed, cause the processor to perform the steps of the method according to any one of claims 1 to 19; Multiple edge nodes, wherein each edge node is configured to acquire a package of the service and is deployed with the service in response to receiving a command to deploy 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 the roadside and are set in the master node of the edge computing system, and the plurality of edge nodes are the working nodes of the edge computing system.