Method and apparatus for setting deterministic routing, electronic device and storage medium

By constructing a network topology model and using time slot offset technology, the planned route and transmission time slot for each service flow are determined, solving the problem of low utilization of traditional network resources and achieving deterministic transmission with end-to-end latency and maximized resource utilization.

CN116545915BActive Publication Date: 2026-03-31NORTHEASTERN UNIV CHINA
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-05
Publication Date
2026-03-31

AI Technical Summary

Technical Problem

Existing technologies cannot maximize the use of network resources and cannot control end-to-end latency to the microsecond or millisecond level. Traditional Ethernet data transmission methods can only reduce end-to-end latency to tens of milliseconds, which cannot meet the latency requirements of emerging businesses such as intelligent driving, smart agriculture, vehicle networking, industrial control, remote surgery, and virtual reality games.

Method used

By constructing a network topology model, multiple planned routes between the source and destination nodes of each service flow are determined. For each planned route, a time slot offset is applied to obtain the transmission time slot on each node. The end-to-end delay is calculated based on the time slot and link delay. Candidate routes that meet the delay threshold are selected. By combining the time slotting concept, time determinism is achieved, and data packets of high-priority service flows are sent first.

Benefits of technology

This approach maximizes network resource utilization while meeting latency requirements, ensuring deterministic time transmission of service flows, reducing latency, and improving network resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116545915B_ABST
    Figure CN116545915B_ABST
Patent Text Reader

Abstract

The application relates to a deterministic routing setting method and device, electronic equipment and a storage medium, and belongs to the technical field of communication. The method comprises the following steps: acquiring network topology features and service flow information of each service flow; determining a planned route between a source node and a destination node based on the network topology features, address information of the source node and the destination node; performing time slot offset on the nodes in the planned route to obtain a sending time slot of the service flow on each node in each planned route; determining an end-to-end time delay according to the sending time slot corresponding to each node in the planned route; taking an end-to-end time delay less than or equal to a time delay threshold as a candidate end-to-end time delay, and taking a planned route corresponding to the candidate end-to-end time delay as a candidate route; and determining a target route corresponding to the service flow and a target end-to-end time delay corresponding to the target route according to the candidate route corresponding to each service and the candidate end-to-end time delay corresponding to the candidate route. The application can improve the utilization rate of network resources.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of communication technology, and in particular to a method, apparatus, electronic device, and storage medium for setting up deterministic routing. Background Technology

[0002] Currently, many emerging businesses (such as intelligent driving, smart agriculture, vehicle networking, industrial control, remote surgery, virtual reality games, etc.) need to control end-to-end latency to the microsecond or millisecond level, while traditional Ethernet data transmission methods can only reduce end-to-end latency to tens of milliseconds.

[0003] Deterministic Networking (DetNet) technology can be used to build a reliable network that provides deterministic latency, jitter, and low packet loss rate, thus offering users better quality of service. The core challenge of DetNet is ensuring deterministic end-to-end latency. One related technology is CSQF (Cycle-Specified Queuing and Forwarding), which ensures packets are forwarded within specified time slots, guaranteeing bounded end-to-end latency. Since the specified time slots are calculated considering link latency, processing latency, and available time slot resources, it guarantees no bandwidth waste or time slot conflicts, improving network resource utilization. However, this method still cannot maximize network resource utilization. Summary of the Invention

[0004] To address the aforementioned technical problems, this application provides a method, apparatus, electronic device, and storage medium for setting up deterministic routing.

[0005] According to a first aspect of this application, a method for setting up a deterministic route is provided, comprising:

[0006] Obtain network topology features and service flow information of each service flow, wherein the network topology features include: node information and link information in the network topology, and the service flow information of each service flow includes: address information of the source node, address information of the destination node, and latency threshold;

[0007] Based on the node and link information in the network topology, the address information of the source node and the address information of the destination node of each service flow, multiple planned routes between the source node and the destination node of each service flow are determined by the K-shortest path algorithm.

[0008] For each planned route corresponding to each service flow, a time slot offset is applied to the nodes in each planned route to obtain the transmission time slot of the service flow at each node in each planned route; wherein, each node in each planned route corresponds to multiple transmission time slots;

[0009] The end-to-end delay of each planned route is determined based on the transmission time slots corresponding to each node in each planned route.

[0010] The end-to-end delays of each planned route that are less than or equal to the delay threshold of the service flow are taken as candidate end-to-end delays, and the planned routes corresponding to the candidate end-to-end delays are taken as candidate routes.

[0011] Based on the candidate routes corresponding to each service flow and the candidate end-to-end delays corresponding to the candidate routes, determine the target route for each service flow and the target end-to-end delay corresponding to the target route.

[0012] Optionally, based on node and link information in the network topology, and the address information of the source node and destination node of each service flow, the K-shortest path algorithm is used to determine multiple planned routes between the source and destination nodes of each service flow, including:

[0013] Obtain the link delay between nodes from the node information and link information in the network topology;

[0014] Based on the address information of the source node and the address information of the destination node for each service flow, determine the route set between the source node and the destination node;

[0015] The link delay between nodes in the network topology is used as a weight, and the shortest path algorithm is used to select the shortest route between the source node and the destination node from the route set.

[0016] If the sum of the link delays of the shortest route is less than or equal to the delay threshold, and the total resources of the shortest route are greater than or equal to the total resources required by the service flow, the shortest route will be used as the planned route.

[0017] Remove the shortest route from the route set and return to the step of using the link delay between nodes in the network topology as weight and selecting the shortest route between the source node and the destination node from the route set using the shortest path algorithm, until the number of planned routes is K, where K is a positive integer.

[0018] Optionally, the business flow information for each business flow includes: the period of the business flow;

[0019] The step of offsetting the time slots of nodes in each planned route to obtain the transmission time slots of the service flow at each node in each planned route includes:

[0020] Based on the period and preset unit time slot of the service flow corresponding to the planned route, the transmission time slot of the service flow at the first node in each planned route is set;

[0021] For each intermediate node in the planned route, the transmission time slot of the service flow on the intermediate node is determined based on the transmission time slot corresponding to the previous node, the link delay between the intermediate node and the previous node, the data processing delay of the intermediate node, the preset unit time slot, and the number of queues in the cyclic queuing forwarding mechanism specified by the time slot.

[0022] Optionally, setting the transmission time slot of the service flow at the first node in each planned route according to the period and preset unit time slot of the service flow corresponding to the planned route includes:

[0023] The cycle of the service flow i corresponding to the planned route j is cyclic. i If the preset unit time slot is T, then according to formula (1):

[0024]

[0025] Set the transmission time slot offset of the first node 1 in the planned route j of service flow i. i,j,1 ,in, This indicates rounding up to the nearest integer.

[0026] Optionally, determining the transmission time slot of the service flow on the intermediate node based on the transmission time slot corresponding to the previous node, the link delay between the intermediate node and the previous node, the data processing delay of the intermediate node, the preset unit time slot, and the number of queues in the cyclic queuing forwarding mechanism specified by the time slot, includes:

[0027] If the sending time slot of the preceding node m in the planned route j of service flow i is offset i,j,m The link delay between intermediate node m+1 and the previous node m is The data processing delay of intermediate node m+1 is If the number of queues in the time slot-specified cyclic queuing forwarding mechanism is S, then according to formula (2):

[0028]

[0029] Determine the transmission time slot t of intermediate node m+1 in the planned route j of service flow i. i,j,m+1 , where n represents the total number of business flows, r i,j,m+1This represents the time slot offset of intermediate node m+1 in the planned route j of service flow i, with values ​​[0, 1, ..., S-1].

[0030] Optionally, determining the end-to-end delay of each planned route based on the transmission time slots corresponding to each node in each planned route includes:

[0031] If the number of nodes in the planned route j of business flow i is Q, according to formula (3):

[0032]

[0033] Determine the end-to-end delay E2E_delay of the planned route j for service flow i. i,j ,in, This represents the link delay from node Q-1 to node Q in the planned route j of service flow i.

[0034] Optionally, after determining the target route for each service flow and the target end-to-end delay corresponding to the target route, the method further includes:

[0035] If data packets from multiple service flows arrive at the same link in the same time slot, and the size of the data packets from the multiple service flows is greater than the queue size, then the data packets from the service flow with the higher priority among the multiple service flows will be sent first. The priority of the service flow and its period are negatively correlated.

[0036] According to a second aspect of this application, a deterministic routing setting apparatus is provided, comprising:

[0037] The network topology feature acquisition module is used to acquire network topology features and service flow information of each service flow. The network topology features include: node information and link information in the network topology. The service flow information of each service flow includes: address information of the source node, address information of the destination node, and latency threshold.

[0038] The route planning and determination module is used to determine multiple planned routes between the source node and destination node of each service flow based on node and link information in the network topology, address information of the source node and address information of the destination node of each service flow, and the K-shortest path algorithm.

[0039] The transmission time slot determination module is used to perform time slot offset on the nodes in each planned route for each service flow, so as to obtain the transmission time slot of the service flow on each node in each planned route; wherein, each node in each planned route corresponds to multiple transmission time slots;

[0040] The end-to-end delay determination module is used to determine the end-to-end delay of each planned route based on the transmission time slots corresponding to each node in each planned route.

[0041] The candidate route determination module is used to take the end-to-end delays of each planned route that are less than or equal to the delay threshold of the service flow as candidate end-to-end delays, and to take the planned routes corresponding to the candidate end-to-end delays as candidate routes.

[0042] The target route and target end-to-end delay determination module is used to determine the target route and the target end-to-end delay corresponding to each service flow based on the candidate routes corresponding to each service flow and the candidate end-to-end delay corresponding to the candidate routes.

[0043] Optionally, the route planning and determination module is specifically used to obtain the link delay between nodes from the node information and link information in the network topology; determine the route set between the source node and the destination node based on the address information of the source node and the address information of the destination node for each service flow; use the link delay between nodes in the network topology as weights and select the shortest route between the source node and the destination node from the route set using the shortest path algorithm; if the sum of the link delays of the shortest route is less than or equal to the delay threshold, and the total resource of the shortest route is greater than or equal to the total resource required by the service flow, the shortest route is selected as the planned route; the shortest route is deleted from the route set, and the step of using the link delay between nodes in the network topology as weights and selecting the shortest route between the source node and the destination node from the route set using the shortest path algorithm is returned, until the number of planned routes is K, where K is a positive integer.

[0044] Optionally, the service flow information for each service flow includes: the period of the service flow; the transmission time slot determination module is specifically used to, for each planned route corresponding to each service flow, set the transmission time slot of the service flow at the first node in each planned route according to the period of the service flow corresponding to the planned route and the preset unit time slot; for each intermediate node in the planned route, determine the transmission time slot of the service flow at the intermediate node according to the transmission time slot corresponding to the previous node, the link delay between the intermediate node and the previous node, the data processing delay of the intermediate node, the preset unit time slot, and the number of queues in the cyclic queuing forwarding mechanism specified by the time slot.

[0045] Optionally, the transmission time slot determination module is specifically used to set the transmission time slot of the service flow at the first node of each planned route according to the period and preset unit time slot of the service flow corresponding to the planned route through the following steps:

[0046] The cycle of the service flow i corresponding to the planned route j is cyclic. i If the preset unit time slot is T, then according to formula (1):

[0047]

[0048] Set the transmission time slot offset of the first node 1 in the planned route j of service flow i. i,j,1 ,in, This indicates rounding up to the nearest integer.

[0049] Optionally, the transmission time slot determination module is specifically used to determine the transmission time slot of the service flow on the intermediate node through the following steps: based on the transmission time slot corresponding to the previous node, the link delay between the intermediate node and the previous node, the data processing delay of the intermediate node, the preset unit time slot, and the number of queues in the cyclic queuing forwarding mechanism specified by the time slot.

[0050] If the sending time slot of the preceding node m in the planned route j of service flow i is offset i,j,m The link delay between intermediate node m+1 and the previous node m is The data processing delay of intermediate node m+1 is If the number of queues in the time slot-specified cyclic queuing forwarding mechanism is S, then according to formula (2):

[0051]

[0052] Determine the transmission time slot t of intermediate node m+1 in the planned route j of service flow i. i,j,m+1 , where n represents the total number of business flows, r i,j,m+1 This represents the time slot offset of intermediate node m+1 in the planned route j of service flow i, with values ​​[0, 1, ..., S-1].

[0053] Optionally, the end-to-end delay determination module is specifically used to determine the delay if the number of nodes in the planned route j of service flow i is Q, according to formula (3):

[0054]

[0055] Determine the end-to-end delay E2E_delay of the planned route j for service flow i. i,j ,in, This represents the link delay from node Q-1 to node Q in the planned route j of service flow i.

[0056] Optionally, the deterministic routing setting device further includes:

[0057] The data forwarding module is used to prioritize sending the data packets of the service flow with the highest priority among the multiple service flows if the data packets of multiple service flows arrive at the same link in the same time slot and the size of the data packets of the multiple service flows is greater than the queue size. The priority of the service flow is negatively correlated with the period.

[0058] According to a third aspect of this application, an electronic device is provided, comprising: a processor configured to execute a computer program stored in a memory, wherein the computer program, when executed by the processor, implements the method described in the first aspect.

[0059] According to a fourth aspect of this application, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the method described in the first aspect.

[0060] According to a fifth aspect of this application, a computer program product is provided that, when the computer program product is run on a computer, causes the computer to perform the method described in the first aspect.

[0061] The technical solution provided in this application has the following advantages compared with the prior art:

[0062] By constructing a network topology model, multiple planned routes between the source and destination nodes of each service flow are determined. For each planned route corresponding to each service flow, time slot offsets are applied to the nodes in each planned route to obtain the transmission time slots of the service flow at each node in each planned route; each node in each planned route corresponds to multiple transmission time slots. Thus, each service flow corresponds to multiple planned routes, and each node in each planned route corresponds to multiple transmission time slots, resulting in multiple planned routes and combinations of transmission time slots. Based on the transmission time slots corresponding to each node in each planned route, the end-to-end delay of each planned route is determined. End-to-end delays less than or equal to the delay threshold of the service flow are selected as candidate end-to-end delays, effectively eliminating those that do not meet the delay requirements. The planned routes corresponding to these candidate end-to-end delays are then used as candidate routes. Based on the candidate routes corresponding to each service flow and their corresponding candidate end-to-end delays, the target route for each service flow and its corresponding target end-to-end delay are determined. In this embodiment of the application, in view of the contradiction between time-varying resources and time determinism, the characteristics of time-sensitive services and network topology information are comprehensively considered. Based on explicit routing and combined with the idea of ​​time slotting, time determinism is achieved from both deterministic routing and deterministic time slots, thereby reducing latency and maximizing the utilization of network resources. Attached Figure Description

[0063] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0064] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0065] Figure 1 This is a flowchart of a method for setting up deterministic routes in an embodiment of this application;

[0066] Figure 2 This is a schematic diagram of a route planning embodiment in this application;

[0067] Figure 3 This is a schematic diagram illustrating the setting of time slot offsets for nodes in an embodiment of this application;

[0068] Figure 4 This is a schematic diagram of a deterministic routing setting device in an embodiment of this application;

[0069] Figure 5 This is a schematic diagram of the structure of an electronic device in an embodiment of this application. Detailed Implementation

[0070] To better understand the above-mentioned objectives, features, and advantages of this application, the solution of this application will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described in these embodiments can be combined with each other.

[0071] Many specific details are set forth in the following description in order to provide a full understanding of this application, but this application may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some embodiments of this application, and not all embodiments.

[0072] See Figure 1 , Figure 1 This is a flowchart of a deterministic routing setting method in an embodiment of this application, which may include the following steps:

[0073] Step S110: Obtain network topology characteristics and service flow information for each service flow.

[0074] In this embodiment, a network topology model can be constructed, abstracting the entire DetNet network as G(V,E), where V represents a node in the DetNet network topology, which may include terminal devices, switches, servers, etc., and E represents a set of links. The total number of nodes is m. Assume the network topology model contains n periodic real-time service flows (e.g., time-sensitive service flows). Each service flow generates an instance in each period and releases it into the network, i.e., periodically sends data packets. Each instance travels along a given route from the source node through several intermediate nodes to the destination node. If each instance of the service flow can be transmitted to the destination node before a preset time period (i.e., a latency threshold), the scheduling is considered successful; otherwise, the scheduling fails. The goal of the real-time service flow scheduling problem is to ensure a high success rate for service flow scheduling and to select the case with the minimum average end-to-end latency of all service flows as the optimal solution.

[0075] Network topology features include node information and link information in the network topology. The service flow information for each service flow includes: source node address information, destination node address information, and latency threshold, etc. The node address information can be IP (Internet Protocol) address, etc.

[0076] For business flows, a flow characteristic model can also be established. Assume the set of business flows is F, containing n business flows, and the i-th business flow f... i It can be represented as:

[0077] f i =(src i ,dst i ,cycle i deadline i ,path i ,offset i ,t i ),f i ∈F, i∈[1,n]

[0078] Among them, src i and dst i These represent the business flow f respectively. i The source node and destination node, cycle i Represents the business flow f i The period, i.e., the time period for sending data packets, and the deadline represent the business flow f. i The end-to-end latency requirement, i.e., from src i to dst i The delay threshold, path i Represents the business flow f i The route, offset i t represents the initial bias of the flow. iRepresents the business flow f i The transmission slot on the routing node.

[0079] Step S120: Based on the node and link information in the network topology, the address information of the source node and the address information of the destination node of each service flow, multiple planned routes between the source node and the destination node of each service flow are determined using the K-shortest path algorithm.

[0080] Each link has a link delay between adjacent nodes. Using this link delay as a weight, a shortest path algorithm (such as Dijkstra's algorithm) can be used to determine the shortest path between the source and destination nodes of each service flow. Then, the shortest path is selected from the remaining paths. In this way, multiple paths can be selected as planned routes. The more planned routes there are, the higher the accuracy of the final target route and target end-to-end delay, but the greater the computational cost. This application selects an appropriate number of planned routes to improve the accuracy of the target route and target end-to-end delay without causing excessive computation.

[0081] In some embodiments, link delays between nodes can be obtained from node and link information in the network topology. Based on the address information of the source and destination nodes for each service flow, a set of routes between the source and destination nodes is determined. Using the link delays between nodes in the network topology as weights, the shortest route between the source and destination nodes is selected from the route set using a shortest path algorithm. If the sum of the link delays of the shortest route is less than or equal to a delay threshold, and the total resources of the shortest route are greater than or equal to the total resources required by the service flow, the shortest route is selected as the planned route. If the sum of the link delays of the shortest route is greater than the delay threshold, or the total resources of the shortest route are less than the total resources required by the service flow, the step of deleting the shortest route from the route set is directly executed. This filters out routes with link delays greater than the end-to-end delay requirement, as well as routes whose total resources on the path do not meet the data flow requirements.

[0082] The process involves removing the shortest route from the route set and then using the shortest path algorithm, weighted by the link delay between nodes in the network topology, to select the shortest route between the source and destination nodes from the route set. This process continues until the number of planned routes is K, where K is a positive integer. Through this iterative process, the shortest route is repeatedly selected from the remaining routes until the total number of planned routes is K. The value of K can vary depending on different network topologies and different service flow scenarios. It can be seen that for each service flow, the number of planned routes determined is multiple.

[0083] Step S130: For each planned route corresponding to each service flow, time slot offset is performed on the nodes in each planned route to obtain the transmission time slot of the service flow on each node in each planned route; wherein, each node in each planned route corresponds to multiple transmission time slots.

[0084] Based on planned routing and the CSQF queuing mechanism, the time slot offset of each node in the planned route of the service flow can be designed, and the transmission time slot of the service flow on each node can be output. CSQF divides the time of the node's transmission interface into a series of equal time intervals, each time interval is called a time slot, and each time slot is allocated to a queue. Therefore, each output port of the node consists of multiple queue resource blocks.

[0085] According to the CSQF mechanism, each buffer used for a service flow can be divided into N queues. One queue is used to transmit data packets, and the remaining N-1 queues are used to receive data packets. All N queues are marked with the highest priority, and the sending queue is selected cyclically as the time slot changes. The queue adjacent to the current sending queue is called the receiving queue. The length of each queue L is bounded and depends on the size of the time slot.

[0086] When a stream arrives at the output port (edge), it must decide which queue to join. For example, data entering the transmit queue SQ can be sent directly with a queuing time of 0. Data entering the receive queue RQ will be stored in the queue for one time slot, and so on. Therefore, a packet arriving in time slot i, if its SID (Segment Identifier ID) indicates that it should be queued in RQ, will have to wait until time slot i+1 to get a transmission opportunity. If it enters the first tolerable queue TQ1, it will have to wait until time slot i+2.

[0087] Since the queue length is finite and corresponds to the time slot (the larger the time slot, the larger the queue length), each service flow can be scheduled to prevent any queue overflow. For example, the initial transmission time slot can be randomly set at the first node. In some embodiments, to ensure that the service flow is fully forwarded in the current cycle and to avoid interfering with the transmission of the flow in the next cycle, the initial transmission time slot can be smaller than the cycle of the service flow. Therefore, the transmission time slot of the service flow at the first node of each planned route can be set according to the cycle of the service flow corresponding to the planned route and the preset unit time slot.

[0088] Optionally, the service flow information for each service flow includes: the service flow period, which can be configured by setting the transmission time slot of the service flow at the first node of each planned route in the following manner:

[0089] The cycle time for planning route j corresponding to service flow i is cyclic. i If the preset unit time slot is T, then according to formula (1):

[0090]

[0091] Set the transmission time slot offset of the first node 1 in the planned route j of service flow i. i,j,1 ,in, This indicates rounding up to the nearest integer.

[0092] For example, targeting Figure 2 The planned route shown includes five nodes: node 1, node 2, node 3, node 4, and node 5. Node 1 is the first node. Assuming T is 2 milliseconds and the service flow period is 3 milliseconds, then according to the above formula (1), the sending time slot of node 1 can be 0 milliseconds, 1 millisecond, or 2 milliseconds.

[0093] For each intermediate node in the planned route, the transmission time slot of the service flow on the intermediate node can be determined based on the transmission time slot corresponding to the previous node, the link delay between the intermediate node and the previous node, the data processing delay of the intermediate node, the preset unit time slot, and the number of queues in the cyclic queuing forwarding mechanism specified by the time slot.

[0094] Optionally, if the transmission timeslot of the preceding node m in the planned route j of service flow i is offset i,j,m The link delay between intermediate node m+1 and the previous node m is The data processing delay of intermediate node m+1 is If the number of queues in the time slot-specified cyclic queuing forwarding mechanism is S, then according to formula (2):

[0095]

[0096] Determine the transmission time slot t of intermediate node m+1 in the planned route j of service flow i. i,j,m+1 It is understandable that when m is 1, t i,j,m offset i,j,1 n represents the total number of business flows, r i,j,m+1 r represents the time slot offset of intermediate node m+1 in the planned route j of service flow i. i,j The size depends on the CSQF queue model used, and takes the value [0, 1, ..., S-1]. For example, if a 3-queue CSQF queue model is used, r i,j [0, 1, 2].

[0097] against Figure 2 The planned route shown has intermediate nodes 2, 3, and 4. With node 1's transmission time slot at 0 milliseconds, the transmission time slots of nodes 2, 3, and 4 can be obtained using formula (2). For example,

[0098] millisecond;

[0099] millisecond;

[0100] millisecond.

[0101] It should be noted that in the above calculation process, the time slot offsets selected for nodes 2, 3, and 4 are 0, 1, and 2, respectively. For different intermediate nodes, the time slot offset can be arbitrarily selected; for example, any one of 0, 1, or 2 can be selected.

[0102] See Figure 3 , Figure 3 This is a schematic diagram illustrating the setting of time slot offsets for nodes in an embodiment of this application. H1, H2, and H3 are three different hosts, and SW1 is a switch. H1, H2, and H3 send data packets to SW1 in the same time slot, sending data packets x, y, and z respectively. H1, H2, and H3 are all head nodes, and SW1 is an intermediate node. Assuming a time slot offset is applied to H2, i.e. Figure 3 The first node time slot offset shown indicates that the data packet y from time slot 0 is offset by the value of time slot 1. SW1, as an intermediate node, can also have its time slot offsets performed, for example, offsetting the data packet y from time slot 2 to time slot 3. This avoids queue overflow in SW1.

[0103] Step S140: Determine the end-to-end delay of each planned route based on the transmission time slots corresponding to each node in each planned route.

[0104] In this embodiment, the end-to-end delay is related to the difference in transmission time slots between the penultimate node and the first node, and the link delay between the penultimate node and the last node. Optionally, if the number of nodes in the planned route j of service flow i is Q, it can be determined according to formula (3):

[0105]

[0106] Determine the end-to-end delay E2E_delay of the planned route j for service flow i. i,j ,in, This represents the link delay from node Q-1 to node Q in the planned route j of service flow i.

[0107] For example, targeting Figure 2 The planned route, with node 1 having a transmission time slot of 0 milliseconds, has transmission time slots of 2 milliseconds, 5 milliseconds, and 9 milliseconds for nodes 2, 3, and 4, respectively. Based on the above formula, we can obtain:

[0108] E2E_delay i,j = (9-0)×2+4 = 22 milliseconds

[0109] Understandably, if node 1's transmission time slot is 0 milliseconds, and nodes 2, 3, and 4 use other time slot offsets, their corresponding transmission time slots will also be different, resulting in different calculated end-to-end delays. Similarly, if node 1's transmission time slot is 1 millisecond or 2 milliseconds, multiple combinations of transmission time slots and multiple end-to-end delays can be obtained.

[0110] As can be seen, if the transmission time slots corresponding to each node in each planned route are considered as a group of transmission time slots, then each planned route can correspond to multiple groups of transmission time slots, and each group of transmission time slots corresponds to an end-to-end delay, that is, each planned route corresponds to multiple end-to-end delays.

[0111] Step S150: The end-to-end delays of each planned route that are less than or equal to the delay threshold of the service flow are taken as candidate end-to-end delays, and the planned routes corresponding to the candidate end-to-end delays are taken as candidate routes.

[0112] If the end-to-end latency is greater than the latency threshold of the service flow, it means that the transmission time slots corresponding to each node in the planned route do not meet the latency requirements. In this case, the transmission time slots of each node corresponding to the end-to-end latency can be deleted. As mentioned earlier, each planned route can correspond to multiple sets of transmission time slots. Therefore, end-to-end latencies less than or equal to the latency threshold of the service flow can be used as candidate end-to-end latencies. Accordingly, the planned routes corresponding to the candidate end-to-end latencies are the candidate routes.

[0113] Step S160: Based on the candidate routes corresponding to each service flow and the candidate end-to-end delays corresponding to the candidate routes, determine the target route corresponding to each service flow and the target end-to-end delay corresponding to the target route.

[0114] In step S150 above, multiple combinations of target routes and target end-to-end delays can be obtained. A candidate route is selected for each service flow, and it is determined whether the candidate route meets the queue capacity constraint. If the candidate route meets the queue capacity constraint, the average end-to-end delay of all service flows is calculated. The previous process is iteratively solved, and the route and transmission slot that yields the minimum average end-to-end delay in the network topology are selected as the optimal solution for each service flow, thereby achieving deterministic forwarding for each service flow.

[0115] Optionally, the optimal solution for each business flow can be found using genetic algorithms and tabu search algorithms. Specifically, a tabu search algorithm can be incorporated into the crossover and mutation steps of the genetic algorithm to avoid repeatedly searching for paths and time slots.

[0116] The IP-modal CSQF deterministic routing method described in this application employs the K-shortest path algorithm to select multiple routes as planned routes for different service flows. Based on the planned routes and the designed CSQF queue model, the transmission time slots for each service flow at each node of the planned routes are determined. By planning the forwarding routes and transmission time slots for each service flow, the service flows are separated in both time and space, thereby preventing queuing at network outgoing ports or ensuring bounded queuing delays. This guarantees the time determinism of end-to-end service transmission and maximizes the utilization of network resources.

[0117] In some embodiments, after determining the target route and the target end-to-end delay corresponding to each service flow, if data packets from multiple service flows arrive at the same link in the same time slot, and the size of the data packets from multiple service flows exceeds the queue size, causing queue overflow, then the data packets from the service flow with the highest priority among the multiple service flows are sent first. The priority of a service flow is negatively correlated with its period. That is, the shorter the period of a service flow, the higher its priority. This avoids affecting data packets in the next period of the service flow.

[0118] Corresponding to the above method embodiments, this application also provides a deterministic routing setting device, see [link to relevant documentation]. Figure 4 The deterministic routing setup device 400 includes:

[0119] The network topology feature acquisition module 410 is used to acquire network topology features and service flow information of each service flow. The network topology features include node information and link information in the network topology. The service flow information of each service flow includes the address information of the source node, the address information of the destination node, and the latency threshold.

[0120] The route planning and determination module 420 is used to determine multiple planned routes between the source node and destination node of each service flow based on the node information and link information in the network topology, the address information of the source node and the address information of the destination node of each service flow, and the K-shortest path algorithm.

[0121] The transmission time slot determination module 430 is used to perform time slot offset on the nodes in each planned route for each service flow, so as to obtain the transmission time slot of the service flow on each node in each planned route; wherein, each node in each planned route corresponds to multiple transmission time slots;

[0122] The end-to-end delay determination module 440 is used to determine the end-to-end delay of each planned route based on the transmission time slots corresponding to each node in each planned route.

[0123] The candidate route determination module 450 is used to take the end-to-end delays of each planned route that are less than or equal to the delay threshold of the service flow as candidate end-to-end delays, and to take the planned routes corresponding to the candidate end-to-end delays as candidate routes.

[0124] The target route and target end-to-end delay determination module 460 is used to determine the target route and the target end-to-end delay of each service flow based on the candidate routes corresponding to each service flow and the candidate end-to-end delays corresponding to the candidate routes.

[0125] Optionally, the route planning and determination module 420 is specifically used to obtain the link delay between nodes from the node information and link information in the network topology; determine the route set between the source node and the destination node based on the address information of the source node and the address information of the destination node for each service flow; use the link delay between nodes in the network topology as weights and select the shortest route between the source node and the destination node from the route set using the shortest path algorithm; if the sum of the link delays of the shortest route is less than or equal to the delay threshold, and the total resource of the shortest route is greater than or equal to the total resource required by the service flow, the shortest route is selected as the planned route; the shortest route is removed from the route set, and the steps of using the link delay between nodes in the network topology as weights and selecting the shortest route between the source node and the destination node from the route set using the shortest path algorithm are returned, until the number of planned routes is K, where K is a positive integer.

[0126] Optionally, the transmission time slot determination module 430 provides service flow information for each service flow, including: the period of the service flow; specifically, for each planned route corresponding to each service flow, it sets the transmission time slot of the service flow at the first node of each planned route according to the period of the service flow corresponding to the planned route and the preset unit time slot; for each intermediate node in the planned route, it determines the transmission time slot of the service flow at the intermediate node according to the transmission time slot corresponding to the previous node, the link delay between the intermediate node and the previous node, the data processing delay of the intermediate node, the preset unit time slot, and the number of queues in the cyclic queuing forwarding mechanism specified by the time slot.

[0127] Optionally, the transmission time slot determination module 430 is specifically used to set the transmission time slot of the service flow at the first node of each planned route according to the period of the service flow corresponding to the planned route and the preset unit time slot through the following steps:

[0128] The cycle time for planning route j corresponding to service flow i is cyclic. i If the preset unit time slot is T, then according to formula (1):

[0129]

[0130] Set the transmission time slot offset of the first node 1 in the planned route j of service flow i. i,j,1 ,in, This indicates rounding up to the nearest integer.

[0131] Optionally, the transmission time slot determination module 430 is specifically used to determine the transmission time slot of the service flow on the intermediate node through the following steps: based on the transmission time slot corresponding to the previous node, the link delay between the intermediate node and the previous node, the data processing delay of the intermediate node, the preset unit time slot, and the number of queues in the cyclic queuing forwarding mechanism specified by the time slot.

[0132] If the sending time slot of the preceding node m in the planned route j of service flow i is offset i,j,m The link delay between intermediate node m+1 and the previous node m is The data processing delay of intermediate node m+1 is If the number of queues in the time slot-specified cyclic queuing forwarding mechanism is S, then according to formula (2):

[0133]

[0134] Determine the transmission time slot t of intermediate node m+1 in the planned route j of service flow i. i,j,m+1 , where n represents the total number of business flows, r i,j,m+1 This represents the time slot offset of intermediate node m+1 in the planned route j of service flow i, with values ​​[0, 1, ..., S-1].

[0135] Optionally, the end-to-end delay determination module 440 is specifically used to determine the delay if the number of nodes in the planned route j of service flow i is Q, according to formula (3):

[0136]

[0137] Determine the end-to-end delay E2E_delay of the planned route j for service flow i. i,j ,in, This represents the link delay from node Q-1 to node Q in the planned route j of service flow i.

[0138] Optionally, the deterministic routing setup device 400 further includes:

[0139] The data forwarding module is used to prioritize sending the data packets of the service flow with the highest priority among the multiple service flows if the data packets of multiple service flows arrive at the same link in the same time slot and the size of the data packets of multiple service flows is greater than the queue size. The priority of the service flow is negatively correlated with the period.

[0140] The specific details of each module or unit in the above-mentioned device have been described in detail in the corresponding methods, so they will not be repeated here.

[0141] It should be noted that although several modules or units for the device used to perform actions have been mentioned in the detailed description above, this division is not mandatory. In fact, according to the embodiments of this application, the features and functions of two or more modules or units described above can be embodied in one module or unit. Conversely, the features and functions of one module or unit described above can be further divided and embodied by multiple modules or units.

[0142] In this embodiment of the application, an electronic device is also provided, including: a processor; a memory for storing processor-executable instructions; wherein the processor is configured to execute the deterministic routing setting method described above in this example embodiment.

[0143] Figure 5 This is a schematic diagram of the structure of an electronic device according to an embodiment of this application. It should be noted that... Figure 5 The electronic device 500 shown is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of this application.

[0144] like Figure 5 As shown, the electronic device 500 includes a central processing unit (CPU) 501, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 502 or a program loaded from a storage section 508 into a random access memory (RAM) 503. The RAM 503 also stores various programs and data required for system operation. The CPU 501, ROM 502, and RAM 503 are interconnected via a bus 504. An input / output (I / O) interface 505 is also connected to the bus 504.

[0145] The following components are connected to I / O interface 505: an input section 506 including a keyboard, mouse, etc.; an output section 507 including a cathode ray tube (CRT), liquid crystal display (LCD), etc., and speakers, etc.; a storage section 508 including a hard disk, etc.; and a communication section 509 including a network interface card such as a local area network (LAN) card, modem, etc. The communication section 509 performs communication processing via a network such as the Internet. A drive 510 is also connected to I / O interface 505 as needed. A removable medium 511, such as a disk, optical disk, magneto-optical disk, semiconductor memory, etc., is installed on drive 510 as needed so that computer programs read from it can be installed into storage section 508 as needed.

[0146] Specifically, according to embodiments of this application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication section 509, and / or installed from removable medium 511. When the computer program is executed by central processing unit 501, it performs the various functions defined in the apparatus of this application.

[0147] In this embodiment of the application, a computer-readable storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements the above-described method for setting deterministic routes.

[0148] It should be noted that the computer-readable storage medium shown in this application can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: electrical connections having one or more wires, portable computer disks, hard disks, random access memory, read-only memory, erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof. In this application, the computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in conjunction with an instruction execution system, apparatus, or device. The program code contained on the computer-readable storage medium can be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, radio frequency, etc., or any suitable combination thereof.

[0149] In this embodiment of the application, a computer program product is also provided, which, when run on a computer, causes the computer to execute the above-described deterministic routing setting method.

[0150] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0151] The above description is merely a specific embodiment of this application, enabling those skilled in the art to understand or implement this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method of setting a deterministic route, characterized by, The method comprises the following steps: obtaining network topology features and service flow information of each service flow, wherein the network topology features comprise node information and link information in the network topology, and the service flow information of each service flow comprises address information of a source node, address information of a destination node, a time delay threshold and a period of the service flow; determining, by using a K shortest path algorithm, a plurality of planned routes between the source node and the destination node of each service flow based on the node information and the link information in the network topology, the address information of the source node and the address information of the destination node of each service flow; for each planned route corresponding to each service flow, performing time slot offset on nodes in the planned route to obtain a sending time slot of the service flow on each node in the planned route; wherein each node in the planned route corresponds to a plurality of sending time slots; determining an end-to-end time delay of each planned route according to the sending time slots corresponding to each node in the planned route; taking an end-to-end time delay that is less than or equal to the time delay threshold of the service flow as a candidate end-to-end time delay, and taking a planned route corresponding to the candidate end-to-end time delay as a candidate route; determining a target route corresponding to each service flow and a target end-to-end time delay corresponding to the target route according to the candidate routes corresponding to each service flow and the candidate end-to-end time delays corresponding to the candidate routes; wherein the time slot offset on the nodes in the planned route to obtain the sending time slot of the service flow on each node in the planned route comprises: setting a sending time slot of the service flow on a first node in each planned route according to the period of the service flow corresponding to the planned route and a preset unit time slot; for an intermediate node in the planned route, determining a sending time slot of the service flow on the intermediate node according to a sending time slot corresponding to a previous node, a link time delay between the intermediate node and the previous node, a data processing time delay of the intermediate node, the preset unit time slot and a number of queues in a cyclic queuing and forwarding mechanism of the time slot.

2. The method of claim 1, wherein, The determination of the plurality of planned routes between the source node and the destination node of each service flow based on the node information and the link information in the network topology, the address information of the source node and the address information of the destination node of each service flow by using the K shortest path algorithm comprises: obtaining a link time delay between nodes from the node information and the link information in the network topology; determining a route set between the source node and the destination node according to the address information of the source node and the address information of the destination node of each service flow; selecting a shortest route between the source node and the destination node from the route set by using a shortest path algorithm with the link time delay between nodes in the network topology as a weight; if a sum of link time delays of the shortest route is less than or equal to the time delay threshold, and a total amount of resources of the shortest route is greater than or equal to a total amount of resources required by the service flow, taking the shortest route as a planned route. The shortest route is deleted from the route set, and the step of selecting the shortest route between the source node and the destination node from the route set by taking the link delay between the nodes in the network topology as the weight and by the shortest path algorithm is returned until the number of planned routes is K, where K is a positive integer.

3. The method of claim 1, wherein, The step of setting the sending time slot of the service flow on the first node in each planned route according to the period of the service flow corresponding to the planned route and the preset unit time slot comprises: The cycle of the service flow i corresponding to the planning route j is cycle i , and a preset unit time slot is T, then according to formula (1): offset is the transmission time slot of the first node 1 in the planned route j of the service flow i i,j,1 wherein, denotes rounding up.

4. The method of claim 1, wherein, The step of determining the sending time slot of the service flow on the intermediate node according to the sending time slot corresponding to the previous node, the link delay between the intermediate node and the previous node, the data processing delay of the intermediate node, the preset unit time slot and the number of queues in the cyclic queuing and forwarding mechanism specified by the time slot comprises: If the sending time slot of the previous node m in the planned route j of the service flow i is offset i,j,m The link delay between the intermediate node m+1 and the previous node m is The data processing delay of the intermediate node m+1 is The number of queues in the cyclic queuing forwarding mechanism specified by the time slot is S, then according to formula (2): determining the sending time slot t of the intermediate node m+1 in the planned route j of the service flow i i,j,m+1 , n represents the total number of service flows, r i,j,m+1 represents the time slot offset of the intermediate node m+1 in the planned route j of the service flow i, and takes values [0, 1, …, S-1].

5. The method of claim 1, wherein, The step of determining the end-to-end delay of each planned route according to the sending time slot corresponding to each node in the planned route comprises: If the number of nodes in the planned route j of the service flow i is Q, the end-to-end delay of the planned route j of the service flow i is determined according to formula (3): determining an end-to-end delay E2E_delay of the planned route j of the service flow i i,j wherein, denotes a link delay of a link from node Q-1 to node Q in the planned route j of the service flow i.

6. The method of claim 1, wherein, After the target route corresponding to each service flow and the target end-to-end delay corresponding to the target route are determined, the method further comprises: If the data packets of multiple service flows arrive at the same link in the same time slot and the size of the data packets of the multiple service flows is greater than the queue size, the data packets of the service flow with high priority among the multiple service flows are preferentially sent, wherein the priority of the service flow and the period are negatively correlated.

7. A deterministic routing setup device, characterized in that, The device comprises: a network topology feature acquisition module configured to acquire network topology features and service flow information of each service flow, wherein the network topology features comprise node information and link information in a network topology, and the service flow information of each service flow comprises address information of a source node, address information of a destination node, a delay threshold and a period of the service flow; a planned route determination module configured to determine, based on the node information and the link information in the network topology, the address information of the source node and the address information of the destination node of each service flow, multiple planned routes between the source node and the destination node of each service flow by a K-shortest path algorithm; a sending time slot determination module configured to perform time slot offsetting on the nodes in each planned route corresponding to each service flow to obtain a sending time slot of the service flow on each node in the planned route; wherein each node in the planned route corresponds to multiple sending time slots; an end-to-end delay determination module configured to determine an end-to-end delay of each planned route according to the sending time slot corresponding to each node in the planned route; a candidate route determination module configured to take an end-to-end delay less than or equal to the delay threshold of the service flow as a candidate end-to-end delay and take a planned route corresponding to the candidate end-to-end delay as a candidate route; a target route and target end-to-end delay determination module configured to determine a target route corresponding to each service flow and a target end-to-end delay corresponding to the target route according to the candidate route corresponding to each service flow and the candidate end-to-end delay corresponding to the candidate route. The sending time slot determination module is specifically configured to: for each planning route corresponding to each service flow, setting a sending time slot of the service flow on a first node in each planning route according to a period of the service flow corresponding to the planning route and a preset unit time slot; for an intermediate node in each planning route, determining a sending time slot of the service flow on the intermediate node according to a sending time slot of a previous node, a link delay between the intermediate node and the previous node, a data processing delay of the intermediate node, the preset unit time slot and a number of queues in a cyclic queuing forwarding mechanism specified by the time slot.

8. An electronic device, comprising: Comprises: A processor for executing a computer program stored in a memory, the computer program being executed by the processor to implement the method of any one of claims 1-6.

9. A computer readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the method of any one of claims 1-6.

Citation Information

Patent Citations

  • Method and device for realizing whole network period label planning of wide area deterministic network

    CN114338555A

  • Traffic shaping scheduling method based on network edge in large-scale deterministic network

    CN114553782A