A network slicing orchestration method for programmable data plane networks
By optimizing the mapping and routing path selection of VNFs in programmable data plane networks, combined with depth-first search and chain super-generation algorithms, the problems of limited resource allocation flexibility and efficiency in existing technologies are solved, and more efficient network slice resource management is achieved.
Patent Information
- Application Number
- CN202510405408.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-04-02
- Publication Date
- 2025-09-19
- Estimated Expiration
- 2045-04-02
AI Technical Summary
Existing network slicing orchestration methods based on programmable data planes find it difficult to fully utilize resources in a multi-tenant shared network slicing environment, resulting in limited flexibility and efficiency in resource allocation.
By rationally deploying service function chains (SFCs) in the programmable data plane network, the configured network cost function is used to optimize the mapping and routing path selection of VNFs. Combined with the depth-first search algorithm and the chain super generation algorithm (CHG algorithm), the path combination is dynamically adjusted to achieve optimal resource allocation.
It significantly improves the flexibility and efficiency of network slicing deployment and resource allocation, and achieves coordinated optimization of resource allocation, path selection and service quality.
Smart Images

Figure CN119906644B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of network slicing orchestration, and in particular, to a network slicing orchestration method for a programmable data plane network. Background Art
[0002] Network slicing in a programmable data plane network is based on a single physical network infrastructure and, through logical isolation and resource allocation, supports the creation of multiple independent logical network instances, enabling the efficient coexistence of heterogeneous services in a unified network environment. The core goal of this technology is to provide customized network solutions for applications and services with different requirements, without having to build a separate physical network for each service. Currently, advances in programmable data plane devices have made it possible to offload the implementation of network slicing to programmable switches. By leveraging programmable switches, this technology achieves logical isolation directly at the data plane level, tightly coupling packet forwarding with packet processing, significantly reducing data processing latency.
[0003] Existing network slicing orchestration methods for programmable data planes primarily include three approaches based on programmable switches: table slicing, program slicing, and hardware slicing. All three methods allocate physical resources at the granularity of network slices. However, in a multi-tenant shared network slicing environment, these approaches struggle to fully utilize resources, limiting the flexibility and efficiency of resource allocation. Summary of the Invention
[0004] The purpose of the embodiments of the present application is to provide a network slicing orchestration method for a programmable data plane network, so that resource allocation, path selection and service quality assurance can be collaboratively optimized, significantly improving the flexibility and efficiency of network slicing deployment and resource allocation.
[0005] In a first aspect, a network slice orchestration method for a programmable data plane network is provided, wherein the programmable data plane network includes a plurality of nodes connected by links, the nodes being programmable switches, each programmable switch allowing deployment of VNF instances of multiple VNF types, the method comprising:
[0006] Obtaining service requests corresponding to different network slices to be orchestrated, where the service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and source and destination nodes of each network slice to be orchestrated;
[0007] For any service request, a configured network cost function is used, along with the VNF type sequence and VNF instances of the corresponding VNF type that need to be traversed corresponding to the service request, the required maximum routing delay, and the source and destination nodes of each network slice to be orchestrated, to perform node deployment on the VNF of the corresponding VNF type, thereby obtaining the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined based on the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated;
[0008] Based on the optimal routing path and VNF deployment information corresponding to the service request, a corresponding orchestration file is generated, and the orchestration file is distributed to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
[0009] In one possible implementation, the network cost function for a configuration is expressed as:
[0010]
[0011] Wherein, N is the set of programmable switches in the programmable data plane network, i is the i-th programmable switch in N; M is the set of VNF types, j is the j-th VNF type in M; represents the set of all instances of the j-th type VNF deployment, is the total number of instances of the jth class VNF; represents the deployment status of the total number of instances s of the j-th type of VNF deployed on the j-th programmable switch; F is the set of network slices to be orchestrated, and k is the k-th network slice to be orchestrated in F; is the path of the kth network slice to be orchestrated, which is a sequence of programmable switches; For path Link delay between adjacent programmable switches; Indicates that the kth network slice to be orchestrated passes The routing status of the path; and is the weight coefficient.
[0012] In one possible implementation, for any service request, the configured network cost function, the VNF type sequence to be traversed corresponding to the service request and the VNF instance of the corresponding VNF type, the maximum routing delay, and the source node and destination node of each network slice to be orchestrated are used to deploy the VNF of the corresponding VNF type on the node to obtain the optimal routing path and VNF deployment information corresponding to the service request, including:
[0013] A depth-first search algorithm is used to process multiple nodes with link connections and the source and destination nodes corresponding to each service request to obtain multiple feasible paths corresponding to each network slice to be orchestrated.
[0014] By randomly combining multiple feasible paths corresponding to each network slice to be orchestrated, an initial path solution set C corresponding to different network slices to be orchestrated is obtained; the initial path solution set C includes path combinations of different feasible paths corresponding to different network slices to be orchestrated;
[0015] Traverse any path combination in the initial path solution set C, and randomly adjust the current path combination based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination;
[0016] Using the configured network cost function, calculate the cost of the VNF deployment information of each network slice to be orchestrated under the adjusted path combination, and obtain the cost value corresponding to the VNF deployment information under the adjusted path combination that meets the constraint conditions;
[0017] A preset three-stage heuristic algorithm is used to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination and corresponding VNF deployment information.
[0018] In one possible implementation, based on the current initial path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instances of the corresponding VNF types, the path combination is randomly adjusted to obtain VNF deployment information of each network slice to be orchestrated under the adjusted path combination, including:
[0019] Sort the network slices to be orchestrated from largest to smallest according to the number of VNF instances contained in each network slice to obtain a sequence of network slices to be orchestrated;
[0020] Traverse all VNF instances involved in the network slice sequence to be orchestrated and perform the following steps:
[0021] Deploy the VNF instances involved in the first network slice to be orchestrated in the sequence of network slices to be orchestrated on different nodes according to the path order in the current initial path combination;
[0022] Check whether the current VNF instances involved in the other network slices to be orchestrated except the first network slice to be orchestrated are the same as the deployed VNF instances;
[0023] If yes, deploy the current VNF instance on a node that satisfies the order constraint; the node is located after the node of the previously deployed VNF instance;
[0024] If not, the current VNF instance is deployed on a deployable node with a degree higher than the preset value based on the link connection between nodes, the degree of the nodes, and the usage frequency of the current VNF instance in the sequence of network slices to be orchestrated;
[0025] After traversing all VNF instances involved in the sequence of network slices to be orchestrated, obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination.
[0026] In a possible implementation, the target cost value is a preset number of low cost values among the obtained cost values;
[0027] Using a preset three-stage heuristic algorithm, the adjusted path combination corresponding to the target cost value in the obtained cost value is processed to obtain the optimal path combination and corresponding VNF deployment information, including:
[0028] If the number of target cost values is less than a preset number threshold, a new path combination solution set is obtained, which includes the adjusted path combination corresponding to the target cost value and the adjusted path combination corresponding to the increased target cost value.
[0029] In one possible implementation, the corresponding service request also includes a target bandwidth of the corresponding network slice to be orchestrated; and the constraint conditions include:
[0030] The total resource consumption of the VNF instances deployed on each node cannot exceed the initial capacity of the node, and the bandwidth consumption of any adjacent node on the corresponding routing path for the data packets of the service requests for each network slice to be orchestrated cannot exceed the available bandwidth of the corresponding link on the routing path.
[0031] In one possible implementation, the method further includes:
[0032] Allocate the optimal routing path to the source node of each orchestrated network slice to guide the routing of the data packet of the corresponding service request; the header of the data packet includes the identifier of the network slice corresponding to the corresponding service request, the identifier of the VNF instance involved in the corresponding network slice, and blank source routing information;
[0033] When the current node is a source node, the switch fills the blank source routing information with the optimal routing path. When the current node is an intermediate source node, the switch directs the data packet to the VNF functional module deployed on the switch to execute the corresponding VNF instance. After execution, the corresponding VNF instance identifier in the data packet is removed.
[0034] In a second aspect, a network slice orchestration apparatus for a programmable data plane network is provided, wherein the programmable data plane network includes a plurality of nodes connected by links, the nodes being programmable switches, each programmable switch allowing deployment of VNF instances of multiple VNF types, and the apparatus may include:
[0035] An acquisition unit is configured to acquire service requests corresponding to different network slices to be orchestrated, where the service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and a source node and a destination node of each network slice to be orchestrated;
[0036] A deployment unit is configured to, for any service request, use a configured network cost function, a sequence of VNF types to be traversed corresponding to the service request and VNF instances of the corresponding VNF type, a maximum routing delay, and a source node and a destination node of each network slice to be orchestrated, to perform node deployment on the VNF of the corresponding VNF type, and obtain an optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined based on the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated;
[0037] An orchestration unit is configured to generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
[0038] In a third aspect, an electronic device is provided, the electronic device including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other via the communication bus;
[0039] Memory for storing computer programs;
[0040] The processor is configured to implement any of the method steps described in the first aspect when executing a program stored in the memory.
[0041] In a fourth aspect, a computer-readable storage medium is provided, wherein a computer program is stored in the computer-readable storage medium, and when the computer program is executed by a processor, any of the method steps described in the first aspect is implemented.
[0042] The present application provides a network slice orchestration method for a programmable data plane network, comprising: obtaining service requests corresponding to different network slices to be orchestrated, wherein the service requests include a sequence of VNF types to be traversed for processing the corresponding service, a required maximum routing delay, and the source and destination nodes of each network slice to be orchestrated; for any service request, using a configured network cost function, the sequence of VNF types to be traversed corresponding to the service request, the VNF instances of the corresponding VNF type, the required maximum routing delay, and the source and destination nodes of each network slice to be orchestrated, to perform node deployment on the VNF of the corresponding VNF type, thereby obtaining the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined based on the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; based on the optimal routing path and VNF deployment information corresponding to the service request, generating a corresponding orchestration file, and distributing the orchestration file to each switch in the programmable data plane network to orchestrate the network slice corresponding to the service request. This method enables the coordinated optimization of resource allocation, path selection, and service quality assurance, significantly improving the flexibility and efficiency of network slice deployment and resource allocation. BRIEF DESCRIPTION OF THE DRAWINGS
[0043] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following is a brief introduction to the drawings required for use in the embodiments of the present application. It should be understood that the following drawings only show certain embodiments of the present application and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without creative work.
[0044] Figure 1 A flowchart of a network slicing orchestration method for a programmable data plane network provided in an embodiment of the present application;
[0045] Figure 2 A schematic diagram of a programmable data plane network provided in an embodiment of the present application;
[0046] Figure 3 A schematic diagram of a process flow for processing data packets entering a network slice in a programmable switch provided in an embodiment of the present application;
[0047] Figure 4 A schematic diagram of the structure of a network slicing orchestration device for a programmable data plane network provided in an embodiment of the present application;
[0048] Figure 5 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0049] The following will provide a clear and complete description of the technical solutions in the embodiments of this application, in conjunction with the accompanying drawings. Obviously, the described embodiments represent only a portion of the embodiments of this application and are not intended to be exhaustive. Based on the embodiments of this application, all other embodiments derived by persons of ordinary skill in the art without inventive effort are intended to fall within the scope of protection of this application. Unless otherwise defined, technical or scientific terms used in this application should have the same ordinary meanings as those understood by persons of ordinary skill in the art. The terms "first," "second," and similar expressions used in this application do not denote any order, quantity, or importance; they are merely used to distinguish between different components. Terms such as "include" or "comprising" mean that the element or object preceding the term encompasses the elements or objects listed after the term, and their equivalents, without excluding other elements or objects. Terms such as "connect," "couple," or "connected" are not limited to physical or mechanical connections, but may include electrical connections, whether direct or indirect.
[0050] Currently, there are three mainstream network slicing methods based on programmable switches: table slicing, program slicing, and hardware slicing. Table slicing achieves separation by assigning independent entries to different logical networks in the P4 table, while maintaining the overall table structure. This allows for dynamic table updates without modifying the P4 code, simplifying implementation. Program slicing allows for independent processing logic to be designed for each logical network, including specific table structures and actions. This provides a high degree of flexibility and is suitable for networks with significantly different processing logic. Hardware slicing achieves separation by allocating independent hardware resources to different logical networks. For example, different slices are implemented using different programmable switches. This allows each logical network to operate independently with minimal performance disruption, making it particularly suitable for networks with significantly different processing requirements.
[0051] Traditional server-based network slicing: Since the traditional server-based network slicing method uses data plane devices to implement data forwarding, but uses servers to implement data processing, the two are separated, which will cause extremely high latency. Programmable data plane slicing solution based on table slicing: This solution will occupy more memory when the number of network slices increases, affecting performance and energy consumption. Programmable data plane slicing solution based on program slicing: In this method, due to the isolation requirements of network slicing, the resources allocated to a slice cannot be reused by other network slices. At the same time, when the processing path becomes very complex, the latency increases, affecting the overall performance. Programmable data plane slicing solution based on hardware slicing: Like program slicing, the resources allocated to a slice cannot be reused by other network slices. At the same time, this method has poor scalability. When new slices are added, new physical hardware needs to be expanded for implementation.
[0052] Existing network slicing orchestration methods for programmable data planes typically allocate physical resources at the slice level. However, in a multi-tenant shared network slicing environment, this approach struggles to fully utilize resources, limiting the flexibility and efficiency of resource allocation.
[0053] To this end, this application proposes a network slice orchestration method for programmable data plane networks, using an orchestrator with orchestration capabilities within a server. By rationally deploying Service Function Chains (SFCs) within the programmable data plane network, more efficient network slice resource management is achieved. Specifically, this method optimizes virtual network function (VNF) mapping and routing path selection, breaking down logical network requirements within a single physical network into a single VNF-based orchestration granularity. This enables flexible and efficient resource utilization in a multi-tenant environment.
[0054] The programmable data plane network is modeled as an undirected connected graph , in this model, Represents a set of programmable switches, i.e., each programmable switch is a node in the programmable data plane network, and E represents the set of physical links connecting these switches. The network consists of N programmable switches, each with the same initial capacity, denoted as .if If the link is directly connected Each physical link passes bandwidth and link delay Characterize the properties.
[0055] Each programmable switch can deploy VNF instances of multiple VNF types. The set of VNF types is denoted as . Represents the set of all instances of the j-th type VNF deployment. VNF type The total number of instances of Indicates. s is the quantity.
[0056] Since the resource consumption of the same type of VNF varies in different network slices, specific resource requirements are allocated to each VNF instance. For example, Indicates a VNF instance The amount of resources consumed.
[0057] The set of network slice instances that need to be processed is recorded as , that is, a total of 5 services, where R represents the total number of network slices that need to be processed. In this model, each network slice is regarded as an independent instance of the SFC instance. Therefore, Represents the kth network slice instance and its corresponding traffic request. The request is represented as a five-tuple: .
[0058] in: Indicates the sequence of VNF types that the data flow must traverse in sequence; and They represent the target bandwidth and target maximum routing delay that meet the quality of service requirements of the kth network slice; and They represent the source node and destination node of the kth network slice respectively.
[0059] The preferred embodiments of the present application are described below in conjunction with the drawings in the specification. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present application and are not used to limit the present application. In addition, the embodiments and features in the embodiments of the present application can be combined with each other if there is no conflict.
[0060] Figure 1 A flow chart of a method for orchestrating network slices in a programmable data plane network provided in an embodiment of the present application. Figure 1 As shown, the method may include:
[0061] Step S110: Obtain service requests corresponding to different network slices to be orchestrated.
[0062] The service request corresponding to each network slice to be orchestrated may include the VNF type sequence that needs to be traversed to process the corresponding service, the source node and destination node of each network slice to be orchestrated, and the target bandwidth and required maximum routing delay of the service quality requirements of the network slice to be orchestrated.
[0063] Step S120: For any service request, the configured network cost function, the VNF type sequence and VNF instance of the corresponding VNF type that need to be traversed corresponding to the corresponding service request, the required maximum routing delay, and the source node and destination node of each network slice to be orchestrated are used to perform node deployment on the VNF of the corresponding VNF type to obtain the optimal routing path and VNF deployment information corresponding to the corresponding service request.
[0064] The network cost function is determined based on the total number of instances of all VNF types deployed in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated. The network cost function can be expressed as:
[0065]
[0066] Wherein, N is the set of programmable switches in the programmable data plane network, i is the i-th programmable switch in N; M is the set of VNF types, j is the j-th VNF type in M; represents the set of all instances of the j-th type VNF deployment, is the total number of instances of the jth class VNF; represents the deployment status of the total number of instances s of the j-th type of VNF deployed on the j-th programmable switch; F is the set of network slices to be orchestrated, and k is the k-th network slice to be orchestrated in F; is the path of the kth network slice to be orchestrated, which is a sequence of programmable switches; For path Link delay between adjacent programmable switches; Indicates that the kth network slice to be orchestrated passes The routing status of the path; and is the weight coefficient. Considering the magnitude difference between path latency (in milliseconds) and VNF deployment cost, the weight coefficient in this function should be designed by the network administrator (e.g., setting α = 0.99 and β = 0.01). If the algorithm fails to meet the QoS requirements of any network slice, the system imposes a penalty on the total cost (e.g., adding a penalty of 10).
[0067] In the specific implementation, this application proposes an innovative heuristic algorithm, namely Figure 4 The Chained Hypergeneration Algorithm (CHG algorithm) shown in Figure 1 solves the network slice orchestration problem by jointly optimizing VNF deployment and routing paths, including:
[0068] A depth-first search (DFS) algorithm is used to process multiple nodes with link connections and the source and destination nodes corresponding to each service request to obtain multiple feasible paths corresponding to each network slice to be orchestrated.
[0069] By randomly combining multiple feasible paths corresponding to each network slice to be orchestrated, an initial path solution set C corresponding to different network slices to be orchestrated is obtained; the initial path solution set C includes path combinations of different feasible paths corresponding to different network slices to be orchestrated;
[0070] Traverse any path combination in the initial path solution set C, and randomly adjust the current path combination based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination;
[0071] The configured network cost function is used to calculate the cost of the VNF deployment information of each network slice to be orchestrated under the adjusted path combination, and the cost value corresponding to the VNF deployment information under the adjusted path combination that meets the constraint conditions is obtained; wherein the constraint conditions may include: the total resource consumption of the VNF instance deployed at each node cannot exceed the initial capacity of the node; the bandwidth consumption of the data packet of the service request of each network slice to be orchestrated at any adjacent node on the corresponding routing path does not exceed the available bandwidth of the corresponding link on the routing path; the data flow must strictly follow the order specified by the slice in the process of passing through the VNF.
[0072] Afterwards, the preset three-stage heuristic algorithm is used to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination. and corresponding VNF deployment information.
[0073] Specifically, a preset three-stage heuristic algorithm is used to dynamically adjust the path combination through the following three stages to obtain the optimal path combination, including:
[0074] Exploration phase: Calculate path costs based on VNF deployment, randomly adjust path combinations, and optimize low-cost paths to improve solution quality.
[0075] Replication phase: retain path combinations with lower costs, eliminate inefficient solutions, and increase the diversity of the solution set through replication operations.
[0076] Genetic stage: The path combination is further optimized through crossover and mutation operations to improve the global optimality of the solution.
[0077] Among them, the total cost of each path combination is calculated based on the new path combination generated in the exploration phase. According to the calculated total cost of each path combination, the formula is: To calculate the cost variance. Where |c| is the total number of path combinations, is the total cost of the ith path combination, is the average total cost of all existing path combinations.
[0078] Each path combination can be represented by a position vector, which can map the corresponding path combination to a point in the solution space. Then, according to the formula: To calculate the position variance, where is the position vector of the i-th path combination, is the mean of the position vectors.
[0079] In order to balance global search and local optimization, after each round of exploration, the cost variance of the path combination is calculated. and location variance , and dynamically adjust the search step size and the number of local optimization steps .
[0080] Due to cost variance It measures the degree of dispersion of the total cost of all current path combinations. A high cost variance indicates significant cost disparity among the corresponding path combinations. Therefore, the algorithm should narrow the search scope and reduce the number of local optimization steps to focus on low-cost areas. A low cost variance indicates similar costs, so the search scope should be expanded and the number of local optimization steps should be increased for more extensive exploration. Similarly, position variance reflects the degree of clustering or dispersion of path combinations in the solution space. Each path combination is represented by a position vector in the solution space. A high position variance indicates a dispersed path combination, and the local search accuracy should be improved. A low position variance indicates a clustered path combination, and the search scope should be expanded to avoid premature convergence. The algorithm terminates when the maximum number of iterations is reached, or when no significant improvement is achieved within the specified number of iterations, and the final optimized solution is output.
[0081] Furthermore, the target cost value is a preset number of low-cost values from the obtained cost values, meaning that some path combinations with lower costs are retained, for example, half of all path combinations with lower costs. At this point, if the number of target cost values is less than a preset threshold, a new path combination solution set is obtained. This new path combination solution set includes the adjusted path combinations corresponding to the target cost value and the adjusted path combinations corresponding to the increased target cost value. This means that the solution set diversity is increased through the replication operation.
[0082] Step S130: Generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to orchestrate the network slice corresponding to the service request. The orchestration file can be a P4 configuration file.
[0083] In some embodiments, any path combination in the initial path solution set C is traversed, and based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, the current path combination is randomly adjusted to obtain VNF deployment information of each network slice to be orchestrated under the adjusted path combination, including:
[0084] To this end, this application proposes a dual-sequence load-aware VNF deployment strategy. First, the network slices to be orchestrated are sorted from largest to smallest according to the number of VNF instances contained in each network slice to obtain a sequence of network slices to be orchestrated. For example, the sequence of network slices to be orchestrated may include 8 VNF instances in the first network slice, 5 VNF instances in the second network slice, and 3 VNF instances in the third network slice. Then, all VNF instances involved in the sequence of network slices to be orchestrated are traversed and the following steps are performed:
[0085] Deploy the VNF instances involved in the first network slice to be orchestrated in the network slice sequence on different nodes according to the path sequence in the current initial path combination; check whether the current VNF instances involved in other network slices to be orchestrated except the first network slice to be orchestrated are the same as the deployed VNF instances;
[0086] If so, the current VNF instance is deployed on a node that satisfies the order constraint; this node must be located after the node of the previously deployed VNF instance. If not, based on inter-node link connectivity, node degrees, and the frequency of use of the current VNF instance in the network slice sequence to be orchestrated, the current VNF instance is deployed on a deployable node with a degree greater than a preset value. Thus, after traversing all VNF instances involved in the network slice sequence to be orchestrated, the VNF deployment information for each network slice to be orchestrated under the adjusted path combination is obtained. Specifically, for all slices except the first, the current VNF is sequentially checked to see if it can reuse an already deployed instance. The reuse rule requires that the current VNF must be deployed on a node that satisfies the order constraint, meaning that the current node must be located after the previously deployed VNF node. If a node that satisfies the conditions is found, the existing instance is reused to avoid duplicate deployment. If not, the process proceeds to the next step. For VNF instances that cannot be reused, priority is given to deploying them on nodes with high connectivity, based on node connectivity and the frequency of use of the VNF in multiple slices, to maximize instance reuse while satisfying the order constraint.
[0087] In some embodiments, the method further comprises:
[0088] Assign the optimal routing path to the source node of each orchestrated network slice to guide the routing of data packets requested by the corresponding service;
[0089] The packet header may include the identifier of the network slice corresponding to the service request (Slice Numbers), the identifiers of the VNF instances involved in the network slice (NF1 and NF2), blank source routing information (SourceRouting), and other header information (Other headers). When the current node is the source node, the switch fills the blank source routing information with the optimal routing path. When the current node is an intermediate source node, the switch directs the packet to the VNF functional module deployed on the switch to execute the corresponding VNF instance. After execution, the corresponding VNF instance identifier in the packet will be removed.
[0090] Specifically: After the data plane network orchestration completes the network slice, in the designed data plane network, for each network slice instance, the first switch where its data packet enters the network is defined as the source node of the slice, and the last switch where the data flows out of the network is defined as the destination node of the slice. Figure 2 As shown in the figure, when each data packet is sent, the end-side host or end-side network card clearly identifies the network slice number to which it belongs and the VNF sequence to be processed based on the type of network slice to which it belongs and the type of VNF contained in the SFC corresponding to the slice.
[0091] Since data packets can access the programmable data plane network from any node, a node can play the role of source node, intermediate node, or destination node in different slicing scenarios. This design allows for flexible and efficient orchestration of network slice instances, supporting dynamic traffic demands and service path management for different slices.
[0092] like Figure 3 As shown in the figure, when a data packet from a particular slice enters the switch, it is first processed by the parser. The parser progressively parses the packet's protocol type and header fields, extracting header information related to Ethernet, IPv4, TCP / UDP, SFC, and VNF. Within each parsing state, the parser transitions to the next parsing state based on predefined conditions until all headers are parsed. After parsing is complete, the parser enters a node type determination table. This table uses SFC and VNF-related header information to determine the current switch's type for the packet, specifically whether it is the source node, destination node, or intermediate node.
[0093] If the source node is identified, after the packet enters the switch's forwarding path, the control logic retrieves the predefined source routing path issued by the orchestrator based on the extracted SFC information—the optimal routing path—and uses this path information to fill in the blank portion of the packet's source routing header. The packet then passes through the routing table for matching, determining the next-hop port based on the source routing header information and specifying the packet's egress port using the egress_spec field. After completing the forwarding logic, the packet is repacked by the reassembler into a complete packet format, including the updated header, for subsequent routing path indication.
[0094] When a data packet from a particular slice enters an intermediate node that is neither the source nor the destination, processing begins again at the parser, which extracts Ethernet, IPv4, TCP / UDP, SFC, and VNF-related header information, parses and retrieves the necessary fields. Based on the parsed results, the switch determines the node type it is acting as for the packet.
[0095] When a switch is identified as an intermediate node, the data packet is first imported into the control table, which differs from the processing logic of the source node. Based on the SFC information and the VNF information currently required for execution, the control table generates metadata indicating the specific processing flow. Guided by this metadata, the data packet is directed to the corresponding VNF functional module deployed on that node. Each VNF functional module performs specific actions based on matching logic within the packet fields, such as address rewriting, packet forwarding, or packet discarding. After the processing action is completed, the VNF-related header in the packet is updated to remove the completed VNF identifier and ensure that the VNF identifier for the next step is always exposed at the outermost layer.
[0096] Because programmable switches utilize a pipelined architecture, metadata must be dynamically updated after each action is completed to identify whether the packet still needs to be processed at the current node or has completed VNF execution at that node and is ready to be forwarded to the next programmable switch. For traffic that has not yet been processed, the packet is redistributed to the next VNF functional module for further processing, while completed packets directly enter the forwarding logic. Ultimately, the packet determines the next-hop port based on its source routing header information and is re-encapsulated into a complete packet containing the updated header information by the reassembler. This data plane design allows multiple VNFs to be deployed on a single switch, allowing them to freely select the network functions they need to execute on the current programmable switch based on the slice type and stage.
[0097] This application abstracts programmable data plane network slices as SFC instances and provides a complete mathematical modeling framework by precisely describing the VNF sequence and routing requirements required for slice services. This modeling approach unifies slice deployment and optimization under a comprehensive objective function, enabling collaborative optimization of resource allocation, path selection, and quality of service assurance, significantly improving the flexibility and efficiency of slice deployment and resource allocation. By clarifying the processes of receiving slice requests, optimizing resource allocation, and deploying orchestration results, it effectively addresses the limited adaptability of traditional network slicing frameworks in programmable data plane environments. Furthermore, a two-stage process of prioritization and reuse checking enables efficient VNF deployment, significantly reducing resource overhead and redundant deployment. Furthermore, based on this strategy, the present invention designs a Chained Hypergeneration (CHG) algorithm, combining random adjustment, cost evaluation, and genetic algorithm concepts to solve the joint optimization problem of VNF deployment and routing selection. This approach enables flexible and efficient resource orchestration in multi-tenant network slicing scenarios while ensuring slice service isolation and quality of service requirements.
[0098] Corresponding to the above method, the embodiment of the present application also provides a network slice arrangement device for a programmable data plane network, such as Figure 4 As shown, the device includes:
[0099] An acquisition unit 410 is configured to acquire service requests corresponding to different network slices to be orchestrated, where the service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and a source node and a destination node of each network slice to be orchestrated;
[0100] The deployment unit 420 is configured to, for any service request, use a configured network cost function, a sequence of VNF types to be traversed corresponding to the service request and VNF instances of the corresponding VNF type, a maximum routing delay, and a source node and a destination node of each network slice to be orchestrated, to perform node deployment on the VNF of the corresponding VNF type, and obtain an optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined based on the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated;
[0101] The orchestration unit 430 is used to generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
[0102] The functions of the various functional units of the network slicing orchestration device for a programmable data plane network provided in the above-mentioned embodiments of the present application can be implemented through the above-mentioned method steps. Therefore, the specific working process and beneficial effects of the various units in the network slicing orchestration device for a programmable data plane network provided in the embodiments of the present application will not be repeated here.
[0103] The present application also provides an electronic device, such as Figure 5 As shown, it includes a processor 510 , a communication interface 520 , a memory 530 and a communication bus 540 , wherein the processor 510 , the communication interface 520 , and the memory 530 communicate with each other via the communication bus 540 .
[0104] Memory 530, for storing computer programs;
[0105] The processor 510 is configured to execute the program stored in the memory 530 by performing the following steps:
[0106] Obtaining service requests corresponding to different network slices to be orchestrated, where the service requests include a sequence of VNF types to be traversed to process the corresponding service, a maximum routing delay, and source and destination nodes of each network slice to be orchestrated;
[0107] For any service request, a configured network cost function, a sequence of VNF types to be traversed corresponding to the service request, VNF instances of the corresponding VNF type, a maximum routing delay, and the source and destination nodes of each network slice to be orchestrated are used to perform node deployment on the VNF of the corresponding VNF type, and obtain the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined based on the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated;
[0108] Based on the optimal routing path and VNF deployment information corresponding to the service request, a corresponding orchestration file is generated, and the orchestration file is distributed to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request.
[0109] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus. This communication bus can be divided into address buses, data buses, and control buses. For ease of illustration, the figure uses only one thick line, but this does not mean that there is only one bus or only one type of bus.
[0110] The communication interface is used for communication between the above electronic device and other devices.
[0111] The memory may include random access memory (RAM) or non-volatile memory (NVM), such as at least one disk storage. Alternatively, the memory may be at least one storage device located away from the processor.
[0112] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, and discrete hardware components.
[0113] The implementation methods and beneficial effects of the various components of the electronic device in the above embodiments to solve the problems can be found in Figure 1 The various steps in the embodiment shown are implemented, therefore, the specific working process and beneficial effects of the electronic device provided by the embodiment of the present application are not repeated here.
[0114] In another embodiment provided in the present application, a computer-readable storage medium is also provided, which stores instructions. When the computer-readable storage medium is executed on a computer, the computer executes the network slicing orchestration method for a programmable data plane network described in any of the above embodiments.
[0115] In another embodiment provided in the present application, a computer program product comprising instructions is also provided, which, when executed on a computer, enables the computer to execute the network slicing orchestration method for a programmable data plane network described in any one of the above embodiments.
[0116] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the embodiments of the present application may take the form of entirely hardware embodiments, entirely software embodiments, or embodiments combining software and hardware. Furthermore, the embodiments of the present application may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0117] The embodiments of the present application are described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0118] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0119] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0120] Although preferred embodiments of the present invention have been described, those skilled in the art may make additional changes and modifications to these embodiments once they become aware of the basic creative concepts. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and all changes and modifications that fall within the scope of the embodiments of the present invention.
[0121] Obviously, those skilled in the art can make various changes and modifications to the embodiments of the present application without departing from the spirit and scope of the embodiments of the present application. Thus, if these modifications and variations of the embodiments of the present application fall within the scope of the claims and their equivalents, the embodiments of the present application are also intended to include these modifications and variations.
Claims
1. A network slicing orchestration method for a programmable data plane network, characterized in that: The programmable data plane network includes a plurality of nodes connected by links, the nodes being programmable switches, each programmable switch allowing deployment of VNF instances of multiple VNF types, the method comprising: Obtaining service requests corresponding to different network slices to be orchestrated, where the service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and source and destination nodes of each network slice to be orchestrated; For any service request, a configured network cost function, a sequence of VNF types to be traversed corresponding to the service request and VNF instances of the corresponding VNF types, a required maximum routing delay, and the source and destination nodes of each network slice to be orchestrated are used to perform node deployment on the VNF instances of the corresponding VNF types to obtain the optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined based on the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; Generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request; Among them, for any service request, the configured network cost function, the VNF type sequence to be traversed corresponding to the service request and the VNF instance of the corresponding VNF type, the required maximum routing delay, and the source node and destination node of each network slice to be orchestrated are used to deploy the VNF of the corresponding VNF type on the node to obtain the optimal routing path and VNF deployment information corresponding to the service request, including: A depth-first search algorithm is used to process multiple nodes with link connections and the source and destination nodes corresponding to each service request to obtain multiple feasible paths corresponding to each network slice to be orchestrated. By randomly combining multiple feasible paths corresponding to each network slice to be orchestrated, an initial path solution set corresponding to different network slices to be orchestrated is obtained; the initial path solution set includes path combinations of different feasible paths corresponding to different network slices to be orchestrated; Traverse any path combination in the initial path solution set, and randomly adjust the current path combination based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type, to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination; Using the configured network cost function, calculate the cost of the VNF deployment information of each network slice to be orchestrated under the adjusted path combination, and obtain the cost value corresponding to the VNF deployment information under the adjusted path combination that meets the constraint conditions; A preset three-stage heuristic algorithm is used to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination and corresponding VNF deployment information.
2. The method according to claim 1, wherein The configured network cost function is expressed as: Wherein, N is the set of programmable switches in the programmable data plane network, i is the i-th programmable switch in N; M is the set of VNF types, j is the j-th VNF type in M; represents the set of all instances of the j-th type VNF deployment, is the total number of instances of the jth class VNF; represents the deployment status of the total number of instances s of the j-th type of VNF deployed on the j-th programmable switch; F is the set of network slices to be orchestrated, and k is the k-th network slice to be orchestrated in F; is the path of the kth network slice to be orchestrated, which is a sequence of programmable switches; For path Link delay between adjacent programmable switches; Indicates that the kth network slice to be orchestrated passes The routing status of the path; and is the weight coefficient.
3. The method according to claim 1, wherein Based on the current initial path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instances of the corresponding VNF types, the path combination is randomly adjusted to obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination, including: Sort the network slices to be orchestrated from largest to smallest according to the number of VNF instances contained in each network slice to obtain a sequence of network slices to be orchestrated; Traverse all VNF instances involved in the network slice sequence to be orchestrated and perform the following steps: Deploy the VNF instances involved in the first network slice to be orchestrated in the sequence of network slices to be orchestrated on different nodes according to the path order in the current initial path combination; Check whether the current VNF instances involved in the other network slices to be orchestrated except the first network slice to be orchestrated are the same as the deployed VNF instances; If yes, deploy the current VNF instance on a node that satisfies the order constraint; the node is located after the node of the previously deployed VNF instance; If not, the current VNF instance is deployed on a deployable node with a degree higher than the preset value based on the link connection between nodes, the degree of the nodes, and the usage frequency of the current VNF instance in the sequence of network slices to be orchestrated; After traversing all VNF instances involved in the sequence of network slices to be orchestrated, obtain the VNF deployment information of each network slice to be orchestrated under the adjusted path combination.
4. The method according to claim 1, wherein The target cost value is a preset number of low cost values among the obtained cost values; Using a preset three-stage heuristic algorithm, the adjusted path combination corresponding to the target cost value in the obtained cost value is processed to obtain the optimal path combination and corresponding VNF deployment information, including: If the number of target cost values is less than a preset number threshold, a new path combination solution set is obtained, which includes the adjusted path combination corresponding to the target cost value and the adjusted path combination corresponding to the increased target cost value.
5. The method according to claim 1, wherein The corresponding service request also includes the target bandwidth of the corresponding network slice to be orchestrated; the constraint conditions include: The total resource consumption of the VNF instances deployed on each node cannot exceed the initial capacity of the node, and the bandwidth consumption of any adjacent node on the corresponding routing path for the data packets of the service requests for each network slice to be orchestrated cannot exceed the available bandwidth of the corresponding link on the routing path.
6. The method according to claim 1, wherein The method further comprises: Allocate the optimal routing path to the source node of each orchestrated network slice to guide the routing of the data packet of the corresponding service request; the header of the data packet includes the identifier of the network slice corresponding to the corresponding service request, the identifier of the VNF instance involved in the corresponding network slice, and blank source routing information; Among them, when the current node is the source node, the switch fills the optimal routing path into the blank source routing information; when the current node is the intermediate source node, the switch guides the data packet to the VNF functional module deployed on the switch to execute the corresponding VNF instance. After execution, the corresponding VNF instance identifier in the data packet will be removed.
7. A network slice orchestration device for a programmable data plane network, characterized in that: The programmable data plane network includes a plurality of nodes connected by links, the nodes being programmable switches, each programmable switch allowing deployment of VNF instances of multiple VNF types, and the apparatus including: An acquisition unit is configured to acquire service requests corresponding to different network slices to be orchestrated, where the service requests include a sequence of VNF types to be traversed to process the corresponding service, a required maximum routing delay, and a source node and a destination node of each network slice to be orchestrated; A deployment unit is configured to, for any service request, use a configured network cost function, a sequence of VNF types to be traversed corresponding to the service request and VNF instances of the corresponding VNF type, a maximum routing delay, and a source node and a destination node of each network slice to be orchestrated, to perform node deployment on the VNF of the corresponding VNF type, and obtain an optimal routing path and VNF deployment information corresponding to the service request; the network cost function is determined based on the total number cost of instance deployments of all VNF types in the programmable data plane network and the total routing delay cost of all network slices to be orchestrated; An orchestration unit is configured to generate a corresponding orchestration file based on the optimal routing path and VNF deployment information corresponding to the service request, and distribute the orchestration file to each switch in the programmable data plane network to perform orchestration of the network slice corresponding to the service request; The deployment unit is specifically used to: use a depth-first search algorithm to process multiple nodes with link connections and source nodes and destination nodes corresponding to each service request to obtain multiple feasible paths corresponding to each network slice to be orchestrated; obtain an initial path solution set corresponding to different network slices to be orchestrated by randomly combining multiple feasible paths corresponding to each network slice to be orchestrated; the initial path solution set includes path combinations of different feasible paths corresponding to different network slices to be orchestrated; traverse any path combination in the initial path solution set, and randomly adjust the current path combination based on the current path combination, the VNF type sequence corresponding to each network slice to be orchestrated, and the VNF instance of the corresponding VNF type to obtain VNF deployment information of each network slice to be orchestrated under the adjusted path combination; use the configured network cost function to calculate the cost of the VNF deployment information of each network slice to be orchestrated under the adjusted path combination, and obtain the cost value corresponding to the VNF deployment information under the adjusted path combination that meets the constraint conditions; use a preset three-stage heuristic algorithm to process the adjusted path combination corresponding to the target cost value in the obtained cost value to obtain the optimal path combination and corresponding VNF deployment information.
8. An electronic device, characterized in that: The electronic device includes a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory communicate with each other via the communication bus; Memory for storing computer programs; A processor, configured to implement the method according to any one of claims 1 to 6 when executing a program stored in a memory.
9. A computer-readable storage medium, characterized in that The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.
Citation Information
Patent Citations
Congestion avoidance in a slice-based network
US20200366612A1