Service forwarding method and device, storage medium and electronic device

By setting up multiple time slot scheduling instances in a deterministic network, each instance corresponds to a different orchestration cycle length, the problem that a single instance scheduling mechanism cannot serve different service flows at the same time is solved, and efficient resource utilization and equipment cost are achieved. reduce.

CN119233405APending Publication Date: 2024-12-31ZTE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310804879.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-06-30
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

The slot scheduling mechanism of a single instance cannot serve service flows with different service burst intervals and end-to-end transmission delays at the same time, resulting in the need of more queue resources.

Method used

In the deterministic network, multiple time slot scheduling instances are set, each instance corresponding to a different orchestration cycle length to support deterministic forwarding of different services.

Benefits of technology

It effectively reduces the queue resources used, improves the service capabilities for different service flows, and reduces equipment costs and overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119233405A_ABST
    Figure CN119233405A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a service forwarding method and device, a storage medium and an electronic device. The method comprises the following steps that: a plurality of services with different service burst intervals and different end-to-end transmission delays are forwarded among nodes in a deterministic network in a deterministic manner through a plurality of time slot scheduling instances arranged on an output port, and the lengths of arrangement periods corresponding to different time slot scheduling instances are different. According to the embodiment of the invention, because the plurality of time slot scheduling instances are arranged among the nodes in the deterministic network through the output port, a plurality of services with different service burst intervals and different end-to-end transmission delays can be forwarded in a deterministic manner, and therefore, the transmission efficiency is improved. The problem that a scheduling mechanism of a single instance cannot simultaneously serve service flows with different service burst intervals and end-to-end transmission delays in related technologies can be solved, and the effect of reducing queue resources needing to be used is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to the field of data communications, and in particular, to a service forwarding method, device, storage medium and electronic device. Background Art

[0002] In the related art, there are certain requirements for the time when the service flow arrives at the entry node of the deterministic network, or a certain price needs to be paid (for example: buffer) to ensure that the arrival time of the service flow meets the requirements. The single-instance time slot scheduling mechanism and its single scheduling cycle selection cannot cover a wide variety of business needs, and cannot simultaneously serve business flows with different service burst intervals and end-to-end transmission delays. For example, some service burst intervals are in microseconds, while some service burst intervals reach minutes or even longer. When a single scheduling cycle is used to serve these services at the same time, the length of a single time slot must be designed to be in microseconds, but the length of the scheduling cycle is in minutes, resulting in the need to include more time slots in the scheduling cycle and the need to use more queue resources. Summary of the invention

[0003] Embodiments of the present invention provide a service forwarding method, device, storage medium and electronic device to at least solve the problem that a single instance scheduling mechanism in the related art cannot simultaneously serve service flows with different service burst intervals and end-to-end transmission delays.

[0004] According to one embodiment of the present invention, a service forwarding method is provided, comprising: deterministically forwarding multiple services with different service burst intervals and different end-to-end transmission delays through multiple time slot scheduling instances set on egress ports between nodes in a deterministic network, wherein the lengths of the scheduling cycles corresponding to different time slot scheduling instances are different.

[0005] According to another embodiment of the present invention, there is provided a service forwarding device, which is located in a node of a deterministic network and includes: a forwarding module, which is used to deterministically forward multiple services with different service burst intervals and different end-to-end transmission delays between nodes through multiple time slot scheduling instances set on egress ports, wherein the lengths of the scheduling cycles corresponding to different time slot scheduling instances are different.

[0006] According to yet another embodiment of the present invention, a computer-readable storage medium is provided, in which a computer program is stored, wherein the computer program is configured to execute the steps of any one of the above method embodiments when run.

[0007] According to yet another embodiment of the present invention, there is provided an electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0008] Through the embodiments of the present invention, since multiple time slot scheduling instances are set on the egress ports between nodes in a deterministic network, multiple services with different service burst intervals and different end-to-end transmission delays can be deterministically forwarded. Therefore, the problem that the scheduling mechanism of a single instance in the related art cannot simultaneously serve service flows with different service burst intervals and end-to-end transmission delays can be solved, thereby achieving the effect of reducing the queue resources required to be used. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 It is a hardware structure block diagram of a network device running a service forwarding method according to an embodiment of the present invention;

[0010] Figure 2 is a flow chart of a service forwarding method according to an embodiment of the present invention;

[0011] Figure 3 is a structural block diagram of a service forwarding device according to an embodiment of the present invention;

[0012] Figure 4 is a schematic diagram of the relationship between time slot scheduling instances on an egress port according to an embodiment of the present invention;

[0013] Figure 5 is a schematic diagram of a first sub-TLV message format according to an embodiment of the present invention;

[0014] Figure 6 is a schematic diagram of a second sub-TLV message format according to an embodiment of the present invention;

[0015] Figure 7 is a schematic diagram of a third sub-TLV message format according to an embodiment of the present invention;

[0016] Figure 8 is a flow chart of a method for obtaining a time slot mapping relationship between adjacent nodes according to an embodiment of the present invention;

[0017] Fig. 9 is a schematic diagram of binding multiple target forwarding paths to use specific orchestration cycle lengths respectively according to an embodiment of the present invention;

[0018] Fig.10 is a schematic diagram of forwarding resources of different time slot scheduling instances according to an embodiment of the present invention;

[0019] Fig.11 is a schematic diagram of a deterministic network according to an embodiment of the present invention. DETAILED DESCRIPTION

[0020] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings and in combination with the embodiments.

[0021] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.

[0022] To facilitate the description of the embodiments of the present invention, the following describes relevant terms:

[0023] Service Burst Interval: The traffic specification of a deterministic service flow generally follows a certain burst volume within a cyclic burst interval (i.e., service burst interval). For example, if a service flow generates 1000 bits of traffic every 1ms, then its corresponding service burst interval is 1ms.

[0024] Timeslot: The smallest unit of time division multiplexing. A reasonable value should be designed, such as 10us, so that at least one complete message can be sent.

[0025] Incoming Timeslot: For an intermediate node in a specific path, the timeslot contained in the message it receives from the upstream node (i.e., the outgoing timeslot of the upstream node) is its incoming timeslot.

[0026] Outgoing Timeslot: For an intermediate node in a specific path, when it continues to send a message to a downstream node, it chooses to send the message in a specified timeslot based on resource reservation or certain rules. This timeslot is the outgoing timeslot. The specific path is a path for service forwarding calculated and determined by the controller, and the path includes multiple nodes.

[0027] Ongoing Sending Timeslot: For the head node in the path, it continues to send the message received from the client side to the downstream node. When the message arrives at the egress port, the time slot in which the egress port is currently in the sending state is the ongoing sending timeslot; for the intermediate node in the path, it continues to send the message received from the upstream node to the downstream node. When the end of the inbound timeslot to which the message belongs arrives at the egress port, the time slot in which the egress port is currently in the sending state is the ongoing sending timeslot. Note that the ongoing sending timeslot is not an outbound timeslot.

[0028] Scheduling Period: The cyclic period of the time division multiplexing scheduling mechanism implemented by the network nodes, including a fixed number of time slots. For example, a scheduling period contains 100 time slots.

[0029] Orchestration Period: The orchestration period adopted by the control plane according to the needs of all deterministic services, and allocates time slot resources to services within the orchestration period, that is, which time slots in the orchestration period the service occupies and how many bits in the time slot. The length of the orchestration period is the least common multiple of all service burst intervals, which is an integer multiple of the service burst interval. The orchestration period is also an integer multiple of the scheduling period, or equal to the scheduling period.

[0030] The method embodiments provided in the embodiments of the present invention can be executed in a mobile terminal, a network device, a computer terminal or a similar computing device. Taking running on a network device as an example, Figure 1 1 is a hardware structure diagram of a network device for executing a service forwarding method according to an embodiment of the present invention. Figure 1 As shown, the network device may include one or more ( Figure 1 Only one is shown in the figure) a processor 102 (the processor 102 may include but is not limited to a processing device such as a microprocessor or a programmable logic device) and a memory 104 for storing data, wherein the above network device may also include a transmission device 106 and an input / output device 108 for communication functions. It can be understood by those skilled in the art that Figure 1 The structure shown is only for illustration and does not limit the structure of the above network device. Figure 1 More or fewer components as shown, or with Figure 1 Different configurations shown.

[0031] The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the service forwarding method in the embodiment of the present invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, that is, to implement the above method. The memory 104 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include a memory remotely arranged relative to the processor 102, and these remote memories may be connected to a network device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0032] The transmission device 106 is used to receive or send data via a network. The specific example of the above network may include a wireless network provided by a communication provider of the network device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, referred to as NIC), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 can be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0033] In this embodiment, a service forwarding method running on the above network device is provided. Figure 2 is a flow chart of a service forwarding method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps:

[0034] Step S202, multiple services with different service burst intervals and different end-to-end transmission delays are deterministically forwarded between nodes in the deterministic network through multiple time slot scheduling instances set on the egress ports, wherein the lengths of the scheduling cycles corresponding to different time slot scheduling instances are different.

[0035] In one embodiment, the scheduling periods configured between all nodes in the deterministic network are equal to each other. For example, the scheduling periods of the corresponding time slot scheduling instances between the first node and the second node are equal to each other.

[0036] In one embodiment, the scheduling cycle includes a plurality of time slots of the same time slot length, and the time slot length corresponding to the long scheduling cycle is an integer multiple of the time slot length corresponding to the short scheduling cycle.

[0037] Before step S202 of this embodiment, the method further includes: allocating bandwidth resources to the time slot scheduling instance; wherein the sum of the bandwidth resources of the time slot scheduling instance corresponding to the same egress port is less than or equal to the total bandwidth resources of the egress port.

[0038] Before step S202 of this embodiment, the method further includes: for any service among the multiple services, determining a first scheduling period that meets the scheduling period length condition according to the service burst interval of the service; determining a forwarding path associated with the first scheduling period based on the first scheduling period; determining an egress port of each node according to the forwarding path, selecting a first time slot scheduling instance corresponding to the first scheduling period on the egress port, and allocating reserved resources to the service from unreserved burst volume resources of the first time slot scheduling instance.

[0039] In step S202 of this embodiment, it includes: according to the first scheduling period and the outbound time slot number carried in the message of the service, and based on the correspondence between the first scheduling period and the first time slot scheduling instance, the service is deterministically forwarded through the reserved resources in the first time slot scheduling instance in the time slot corresponding to the outbound time slot number.

[0040] In one embodiment, the service message carries a first scheduling period and an outbound time slot number list, and the service is deterministically forwarded through the reserved resources in the first time slot scheduling instance in the time slot corresponding to the outbound time slot number, using the outbound time slot number identified in the outbound time slot number list.

[0041] In one embodiment, the message carries the first orchestration period in one of the following ways:

[0042] Encapsulate an IP address including the orchestration cycle length information in the destination address field of the IPv6 message;

[0043] Add an extension header in IPv6 packets to encapsulate the orchestration period length information;

[0044] Add a new field for encapsulating the orchestration period length information in the existing extension header of the IPv6 message;

[0045] Encapsulate the orchestration cycle length information in the SRv6 SID field in the IPv6 message;

[0046] Encapsulate the orchestration period length information in the label stack or at the bottom of the stack of the multi-protocol label switching message;

[0047] A field is extended in the frame header of the L2 frame, and the arrangement cycle length information is encapsulated in the extended field.

[0048] In one embodiment, the method further includes: an upstream node of the deterministic network sends a detection message to a downstream node to maintain a time slot mapping relationship of a second scheduling period between adjacent nodes; wherein the second scheduling period is a scheduling period with the same length as that between the upstream node and the downstream node, and the detection message carries the length information of the second scheduling period and the time slot length information corresponding to the second scheduling period in the upstream node.

[0049] In one embodiment, the nodes in the deterministic network notify each other of the time slot resources corresponding to the time slot scheduling instances corresponding to each other in the following manner: for any of the nodes, the time slot scheduling capability information of the time slot scheduling instance corresponding to the egress port specified by the node is notified to other nodes through a first sub-TLV message; for any of the nodes, the maximum reservable burst resources in a time slot of the node are notified to the other nodes through a second sub-TLV message, wherein the first time slot number, scheduling period and egress port corresponding to the time slot are all specified; for any of the nodes, the unreserved burst resources in a time slot of the node are notified to the other nodes through a third sub-TLV message, wherein the second time slot number, scheduling period and egress port corresponding to the time slot are all specified.

[0050] In one embodiment, the first sub-TLV message includes the following information: the type of the first sub-TLV message, the content length of the first sub-TLV message, the length of the scheduling period of the first sub-TLV message, the scheduling period of the first sub-TLV message, and the time slot length corresponding to the scheduling period; the second sub-TLV message includes the following information: the type of the second sub-TLV message, the content length of the second sub-TLV message, the scheduling period of the second sub-TLV message, the first time slot number, and the maximum reservable burst resources; the third sub-TLV message includes the following information: the type of the third sub-TLV message, the content length of the third sub-TLV message, the scheduling period of the third sub-TLV message, the second time slot number, and the unreserved burst resources.

[0051] In one embodiment, scheduling multiple time slot scheduling instances for any egress port includes:

[0052] Based on the time slot lengths corresponding to the multiple time slot scheduling instances, divide the time into multiple time panes with the smallest time slot length as a unit, and number the multiple time panes;

[0053] Determine a time slot in each time pane in which each time slot scheduling instance is in a sending state;

[0054] For any time pane, the queues in the sending state time slots of the multiple time slot scheduling instances are scheduled one by one. When the queues in some of the time slot scheduling instances are sent and cleared, while the queues in some of the time slot scheduling instances are not sent and cleared, the sending state time slots of the part of the time slot scheduling instances whose queues are not sent and cleared are scheduled one by one until the queues in all the time slot scheduling instances are cleared.

[0055] Through the above steps, since multiple time slot scheduling instances are set on the egress ports between nodes in the deterministic network, multiple services with different service burst intervals and different end-to-end transmission delays can be deterministically forwarded. Therefore, the problem that the scheduling mechanism of a single instance in the related technology cannot simultaneously serve service flows with different service burst intervals and end-to-end transmission delays can be solved, thereby achieving the effect of reducing the queue resources required to be used.

[0056] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course can also be implemented by hardware, but in many cases the former is a better implementation method. Based on such an understanding, the technical solution of the present invention, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, a magnetic disk, or an optical disk), and includes a number of instructions for enabling a terminal device (which can be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in each embodiment of the present invention.

[0057] In this embodiment, a service forwarding device is also provided, which is used to implement the above-mentioned embodiments and preferred implementation modes, and the descriptions that have been made are not repeated here. As used below, the term "module" can implement a combination of software and / or hardware of a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, the implementation of hardware, or a combination of software and hardware, is also possible and conceivable.

[0058] Figure 3 is a structural block diagram of a service forwarding device according to an embodiment of the present invention. Figure 3 As shown, the device is located in a node of a deterministic network, and includes:

[0059] The forwarding module 10 is used to deterministically forward multiple services with different service burst intervals and different end-to-end transmission delays through multiple time slot scheduling instances set on the egress port, wherein the lengths of the scheduling cycles corresponding to different time slot scheduling instances are different.

[0060] It should be noted that the above modules can be implemented by software or hardware. For the latter, it can be implemented in the following ways, but not limited to: the above modules are all located in the same processor; or the above modules are located in different processors in any combination.

[0061] To facilitate the understanding of the technical solution provided by the present invention, a detailed description will be given below in conjunction with embodiments of specific scenarios.

[0062] An embodiment of the present invention provides a time slot scheduling mechanism that can serve multiple instances. In the time slot scheduling mechanism, a time slot scheduling capability that can enable multiple instances is configured for each output port of each node in a deterministic network (hereinafter referred to as the network), thereby serving multiple services based on the time slot scheduling capability.

[0063] The time slot scheduling mechanisms that can serve multiple instances include:

[0064] 1) For each egress port of each node in the network, multiple time slot scheduling instances are configured to enable the node to have the time slot scheduling capability of multiple instances, where different time slot scheduling instances have different scheduling cycle lengths, and the design of each scheduling cycle length is related to the burst interval of the service flow it serves.

[0065] In this embodiment, the scheduling cycle with a certain length refers to a time interval used on the management and control plane according to the needs of a part of the deterministic service flow set, and time slot resources are allocated to these service flows within the scheduling cycle.

[0066] Different business flow sets can trigger the configuration of orchestration cycles with different lengths for services;

[0067] For example, if the burst intervals of all service flows included in set S1 do not exceed 100 us, then an orchestration period of at least 100 us may be configured on each node in the network to serve these service flows.

[0068] For another example, if the burst intervals of all service flows included in set S2 do not exceed 200 us, then an orchestration period of at least 200 us may be configured on each node in the network to serve these service flows.

[0069] For another example, if the burst intervals of all service flows included in set S3 do not exceed 60 seconds, then an orchestration cycle of at least 60 seconds may be configured on each node in the network to serve these service flows.

[0070] 2) For multiple time slot scheduling instances corresponding to different length scheduling periods configured on the same egress port, the time slot length of the long scheduling period instance should be longer than the time slot length of the short scheduling period instance and the former should be an integer multiple of the latter, but the long scheduling period itself is not necessarily an integer multiple of the short scheduling period.

[0071] In one embodiment, based on the different bandwidths of different egress ports, different time slot lengths are configured in the same length scheduling cycles configured on different egress ports. For the same length scheduling cycle, the egress port with smaller bandwidth needs to be configured with longer time slots, while the egress port with larger bandwidth can be configured with smaller time slots.

[0072] 3) For multiple time slot scheduling instances configured on the same egress port, configure the bandwidth resources allocated to each time slot scheduling instance from the egress port. The total bandwidth resources allocated by all time slot scheduling instances cannot exceed the total link bandwidth of the egress port.

[0073] Since the long scheduling cycle serves the service flow with a larger service burst interval, when the service burst volume is constant, the larger the service burst interval means the less bandwidth consumed by the service flow.

[0074] In one embodiment, the bandwidth resources allocated to the long orchestration cycle instance are less than the bandwidth resources allocated to the short orchestration cycle instance, thereby reducing the queue length required for the long orchestration cycle instance.

[0075] Figure 4 is a schematic diagram of the relationship between time slot scheduling instances on an egress port according to an embodiment of the present invention, such as Figure 4 As shown, the relationship between the time slot scheduling instances on each egress port of each node in the network includes:

[0076] Node U configures n time slot scheduling instances on the outbound port link-a connected to node V, where n is an integer greater than zero. The orchestration period lengths corresponding to each time slot scheduling instance are LOP_1, LOP_2, ..., LOP_n (Length of Orchestrastion Period, LOP) from small to large. For the orchestration period length LOP_i (1≤i≤n), the bandwidth resource allocated to the orchestration period is BW_U_i (Bandwidth, BW), and the length of each time slot is LT_U_i (Length of Timeslot, LT).

[0077] For any j>i (1≤i, j≤n), LT_U_j is greater than LT_U_i, and LT_U_j is an integer multiple of LT_U_i; the sum of bandwidth resources allocated to all instances is: The total bandwidth of link link-a must not exceed that of link link-a.

[0078] Similarly, node V also configures n time slot scheduling instances on the egress link-b connected to node W. The scheduling cycle lengths corresponding to each time slot scheduling instance are LOP_1, LOP_2, ..., LOP_n from small to large, which is consistent with the scheduling cycle length configured by node U on its egress link-a. For the scheduling cycle length LOP_i (1≤i≤n), the bandwidth resource allocated by the scheduling cycle is BW_V_i, and the length of each time slot included is LT_V_i.

[0079] For any j>i (1≤i, j≤n), LT_V_j is greater than LT_V_i, and LT_V_j is an integer multiple of LT_V_i; the sum of the bandwidth resources allocated to all instances is The total bandwidth of link link-b shall not exceed that of link link-b.

[0080] Among them, for the arrangement period length LOP_i (1≤i≤n), LT_U_i and LT_V_i are independent of each other.

[0081] 4) All nodes in the network inform each other and learn the time slot resources related to all instances.

[0082] Although the related art defines the notification of time slot resources through the IGP protocol (Interior Gateway Routing Protocol), its notification method only involves the notification of a single instance. In order to support the notification of time slot resources of multiple instances, the embodiment of the present invention redefines it as follows:

[0083] a) Notification of the time slot scheduling capability information of multiple instances of an egress port.

[0084] The existing ISIS protocol set (refer to RFC5305, RFC5311, RFC5316, RFC5120) has defined TLVs22 / 23 / 141 / 222 / 223 for announcing adjacency relationships. In the embodiment of the present invention, a Multi-TQFScheduling Capability Sub-TLV message is added to these TLVs messages, which is equivalent to the first sub-TLV message in the above embodiment. The encapsulation format of the first sub-TLV message is as follows: Figure 5 As shown, it is used to announce the specified outbound port (such as Figure 4 The time slot scheduling capability information of link-a or link-b) in the communication channel.

[0085] The following explains the Multi-TQF Scheduling Capability Sub-TLV and related fields of the message:

[0086] The TQF Scheduling Capability Sub-TLV is allowed to appear multiple times in its parent TLV, but the Orchestration Period Length field values ​​contained in each TQF Scheduling Capability Sub-TLV must be different from each other.

[0087] In an example, if multiple TQF Scheduling Capability Sub-TLVs contain the same Orchestration Period Length field value, the first TQF Scheduling Capability Sub-TLV shall prevail.

[0088] For example, when a downstream node receives the same TQF Scheduling Capability Sub-TLV sent by an upstream node multiple times, the first received TQF Scheduling Capability Sub-TLV shall prevail.

[0089] In one embodiment, when the downstream node receives the same TQF SchedulingCapability Sub-TLV sent by the upstream node multiple times, the TQF Scheduling Capability Sub-TLV received last time shall prevail.

[0090] In one embodiment, when the downstream node receives the same TQF SchedulingCapability Sub-TLV sent multiple times by the upstream node, the time slot scheduling instance notification corresponding to the TQF Scheduling Capability Sub-TLV is determined to be invalid as a whole.

[0091] Type: occupies 1 byte. Its value is to be assigned by IANA (Internet Assigned Numbers Authority) to indicate that this TLV is Multi-TQF Scheduling Capability Sub-TLV.

[0092] Length: 1 byte, indicating the content length of this TLV (excluding the Type and Length fields themselves).

[0093] Timeslot Length: occupies 2 bytes and indicates the length of each timeslot in the scheduling cycle in microseconds (us).

[0094] Orchestration Period Length: occupies 4 bytes, indicating the length of the orchestration period (OrchestrationPeriod), in microseconds (us), which must be an integer multiple of Timeslot Length. Assume that the number of timeslots contained in the orchestration period is N, and these timeslots are numbered in sequence from 0 to N-1.

[0095] Scheduling Period Length: occupies 4 bytes, indicating the length of the scheduling period (Scheduling Period), in microseconds (us), which must be an integer multiple of Timeslot Length. Assume that the number of time slots contained in the scheduling period is M, and these time slots are numbered in sequence from 0 to M-1.

[0096] b) Notification of time slot resources of multiple instances of an egress port.

[0097] The existing ISIS protocol suite (refer to RFC5305, RFC5311, RFC5316, RFC5120) has defined TLVs22 / 23 / 141 / 222 / 223 for announcing adjacency relationships. In the embodiment of the present invention, Multi-TQF Maximum Reservable Burst of Timeslot Sub-TLV and Multi-TQF Unreserved Burst of Timeslot Sub-TLV are added to these TLVs to respectively announce specific outbound ports (such as Figure 4 The maximum reservable burst resources and unreserved burst resources for a specified time slot number in a time slot scheduling instance corresponding to a scheduling period of a specified length of link-a or link-b) in the link scheduling instance.

[0098] The Multi-TQF Maximum Reservable Burst of Timeslot Sub-TLV is equivalent to the second sub-TLV message in the above embodiment, wherein the encapsulation format of the second sub-TLV message is as follows: Figure 6 As shown;

[0099] The Multi-TQF Unreserved Burst of Timeslot Sub-TLV is equivalent to the third sub-TLV message in the above embodiment, wherein the encapsulation format of the third sub-TLV message is as follows: Figure 7 shown.

[0100] The following is an explanation of the relevant fields in the Multi-TQF Maximum Reservable Burst of Timeslot Sub-TLV:

[0101] Type: occupies 1 byte. Its value is to be assigned by IANA to indicate that this TLV is Multi-TQF MaximumReservable Burst of Timeslot Sub-TLV.

[0102] Length: 1 byte, indicating the content length of this TLV (excluding the Type and Length fields themselves).

[0103] Timeslot Number: occupies 2 bytes and indicates the timeslot number in the scheduling cycle. Assuming that the number of timeslots in the scheduling cycle is N, the value range of the timeslot number is 0 to N-1.

[0104] Orchestration Period Length: occupies 4 bytes, indicating the length of the orchestration period (OrchestrationPeriod), in microseconds (us). This field indicates the corresponding orchestration period instance.

[0105] Maximum Reservable Burst: occupies 4 bytes, indicating the maximum reservable burst resource for a specified time slot number in the corresponding scheduling cycle instance, which is equal to the time slot length in the scheduling cycle instance multiplied by the bandwidth allocated to the scheduling cycle instance. Figure 4 Taking the scheduling period instance LOP_i of link-a as an example, the maximum reservable burst resource for each time slot included in the scheduling period is LT_U_i*BW_U_i.

[0106] The following is an explanation of the relevant fields in the Multi-TQF Unreserved Burst of Timeslot Sub-TLV:

[0107] Type: occupies 1 byte. Its value is subject to IANA allocation to indicate that this TLV is Multi-TQF Unreserved Burstof Timeslot Sub-TLV.

[0108] Length: 1 byte, indicating the content length of this TLV (excluding the Type and Length fields themselves).

[0109] Timeslot Number: occupies 2 bytes and indicates the timeslot number in the scheduling cycle. Assuming that the number of timeslots in the scheduling cycle is N, the value range of the timeslot number is 0 to N-1.

[0110] Orchestration Period Length: occupies 4 bytes and indicates the length of the orchestration period in microseconds (us). This field indicates the corresponding orchestration period instance.

[0111] Unreserved Burst: occupies 4 bytes and indicates the unreserved burst resources of the specified time slot number in the corresponding scheduling cycle instance. Its initial value is equal to the maximum reservable burst, but as the time slot resource reservation process proceeds, its value will gradually decrease.

[0112] In one embodiment, the OSPF protocol, BGP-LS protocol and other protocols may be extended. The specific extension method may refer to the sub-message extension method of the above embodiment, which will not be described in detail in this embodiment.

[0113] 5) Different nodes communicate with each other using the same length of orchestration cycle.

[0114] Specifically, different nodes use the same length of orchestration cycle to communicate with each other, including the following aspects:

[0115] a) Maintain the time slot mapping relationship of the same scheduling cycle length between adjacent nodes.

[0116] In the existing single-instance time slot scheduling mechanism, it is described how to obtain the time slot mapping relationship between adjacent nodes through detection messages. The time slot mapping relationship here refers to the upstream node (such as Figure 4 The outgoing port of the node U in Figure 4 The outgoing time slot x in the scheduling cycle of link-a in Figure 4 The outgoing port of the node V in Figure 4 The mapping relationship between the sending time slot y in the scheduling cycle of link-b) in the link-b). The detection message is generally sent by the upstream node to the local node, and then the time slot mapping relationship is maintained on the local node. However, since it is a single-instance scheduling application, in the single-instance time slot scheduling mechanism, the sent detection message does not need to carry additional identification information, such as: scheduling cycle length, outgoing time slot number, etc., to distinguish different time slot scheduling instances.

[0117] Figure 8 is a flowchart of a method for obtaining a time slot mapping relationship between adjacent nodes according to an embodiment of the present invention, the method is applied to a multi-instance time slot scheduling environment, such as Figure 8 As shown, the method comprises the following steps:

[0118] Step S801: The upstream node carries scheduling cycle length information and time slot length information of the scheduling cycle of the upstream node egress port in the detection message sent from its egress port.

[0119] The scheduling cycle length information is used to indicate the corresponding time slot scheduling instance.

[0120] For example, Figure 4The upstream node U in the network sends a detection message from the egress port link-a to the node V to obtain the time slot mapping relationship for the scheduling period instance LOP_i. The detection message must include the scheduling period length LOP_i and the time slot length LT_U_i of the scheduling period of link-a.

[0121] Step S802, after receiving the detection message, the node obtains the scheduling period length LOP_i from the detection message, matches the local time slot scheduling instance with the same scheduling period length LOP_i, and then determines the time slot length of the scheduling period of the node's egress port, and then calculates the mapping relationship according to the corresponding algorithm.

[0122] In this embodiment, time slot mapping relationships are maintained separately for time slot scheduling instances of different scheduling periods.

[0123] For example: Figure 4 Node V in the example obtains the scheduling cycle length LOP_i from the detection message sent by node U, perceives that it is the time slot mapping relationship of the detection scheduling cycle length LOP_i, and then determines the time slot length LT_V_i of the scheduling cycle of the node's egress port link-b, and then calculates the time slot mapping relationship of the LOP_i instance.

[0124] b) In the control plane of the network, a forwarding path bound to an orchestration period of a specific length is calculated, and time slot resources are reserved from the orchestration period of the specific length on each node included in the forwarding path.

[0125] The controller (or the head node of the path) may calculate an end-to-end target forwarding path for the service flow.

[0126] Specifically, since the service flow has a clear service burst interval, the controller (or the head node of the path) should select a suitable time slot scheduling instance to serve the service flow based on the burst interval length of the service flow. The basic principle is that the scheduling cycle length of the selected instance is greater than or equal to the service burst interval length, and the time slot length included in the scheduling cycle meets the node residence delay plan value of the service flow. The delay evaluation formula in the relevant technology can be used as a reference. The time slot length has an impact on the node residence delay evaluation value, and the node residence delay evaluation value should be consistent with the planned value.

[0127] Then, on each egress port included in the target forwarding path, it is indicated that outgoing time slot resources are reserved from the time slot resources of the corresponding orchestration cycle instance. Specifically, the unreserved burst resources of the outgoing time slot are reserved according to the burst demand of the service flow, that is, the Unreserved Burst in the above "4)". This reservation action can be performed uniformly by the controller or on each node through a distributed protocol (such as RSVP-TE).

[0128] In one embodiment, one scheduling cycle length (time slot scheduling instance) may correspond to multiple forwarding paths. Fig. 9 FIG. 1 is a schematic diagram of binding multiple target forwarding paths to use specific scheduling cycle lengths according to an embodiment of the present invention. Fig. 9 As shown in the figure, path_a is bound to use the instance with the scheduling cycle length of LOP_1, path_b and path_c are bound to use the instance with the scheduling cycle length of LOP_2, and path_d is bound to use the instance with the scheduling cycle length of LOP_3. Taking path_a as an example, it will reserve time slot resources from the instance with the scheduling cycle length of LOP_1 on the egress ports link-a and link-b included in the path.

[0129] c) On the forwarding plane of the network, information related to the time slot scheduling instance is carried in the message encapsulated for the service flow, so that the service flow can access the forwarding resources corresponding to the instance to achieve deterministic forwarding.

[0130] For the simplicity and practicality of the forwarding plane intercommunication, in the embodiment of the present invention, the scheduling cycle length is directly carried in the message as the unique time slot scheduling instance identifier in the whole network. However, it is also possible to carry other information that can indirectly derive the time slot scheduling instance in the message, and the present invention does not limit this.

[0131] In one embodiment, the manners of carrying the arrangement period length in the message include but are not limited to the following:

[0132] In the DA (Destination Address) field of the IPv6 Header of the IPv6 message, a special IP address is used, in which the cycle length information is encapsulated.

[0133] A new extension header is added to the IPv6 Header, and the new extension header encapsulates the orchestration period length information.

[0134] A new option is added to the existing extension headers of IPv6 (such as HBH, DOH), and the new option encapsulates the orchestration period length information.

[0135] The orchestration cycle length information is encapsulated in the SID field of the SRv6 in the IPv6 message.

[0136] In the label stack or at the bottom of the MPLS (Multi-Protocol Label Switching) message, the encapsulation cycle length information is encapsulated.

[0137] The field is extended in the frame header of L2 frames such as Ethernet and PPP to encapsulate the orchestration cycle length information.

[0138] In the forwarding plane of the network, at each node, the message accesses the forwarding resources of the corresponding outgoing time slot of the corresponding time slot scheduling instance according to <scheduling cycle length, outgoing time slot number>. For the outgoing time slot number, the path head node can encapsulate only a single outgoing time slot in the message encapsulated for the service flow, that is, the message will encapsulate <scheduling cycle length, outgoing time slot number>, or it can encapsulate a list of multiple outgoing time slots, that is, the message will encapsulate <scheduling cycle length, outgoing time slot number list>.

[0139] In the case where <scheduling cycle length, outbound time slot number> is encapsulated (carried) in the message, the message must be remapped to a new outbound time slot according to the result of time slot resource reservation at each hop after leaving the head node, that is, mapped to a new outbound time slot according to the mapping relationship of the same scheduling cycle length maintained above;

[0140] In the case where <scheduling cycle length, outgoing time slot number list> is encapsulated (carried) in the message, the outgoing time slot number list already includes the outgoing time slot corresponding to each hop.

[0141] Fig.10 FIG. 1 is a schematic diagram of forwarding resources of different time slot scheduling instances according to an embodiment of the present invention. Fig.10 As shown in the figure, node U creates n time slot scheduling instances on the outbound port connected to node V, and maintains a separate queue set for each instance. Assume that the scheduling cycle lengths of each instance are LOP_1, LOP_2, ..., LOP_n from small to large, the reported time slot lengths are LT_1, LT_2, ..., LT_n, and the allocated bandwidths are BW_1, BW_2, ..., BW_n. Then, in the queue set corresponding to the LOP_i (1≤i≤n) instance, the length of each queue is designed to be LT_i*BW_i.

[0142] For example, when the scheduling cycle length carried in the message is LOP_1 and the outgoing time slot number is 0, the message will be inserted into the queue queue-0 of the LOP_1 instance.

[0143] Fig.10 The number of time slots and the corresponding number of queues included in the scheduling period corresponding to each instance are given in the table. For example, the number of time slots included in the scheduling period of the instance LOP_i is Mi, which is less than or equal to the number of time slots Ni included in the scheduling period. The rules proposed in the related art on how to convert the outgoing time slot number of the scheduling period carried in the message to obtain the time slot number of the scheduling period when the scheduling period is less than the scheduling period are also applicable to this patent.

[0144] Since for any j>i (1≤i, j≤n), LT_U_j is greater than LT_U_i, and LT_U_j is an integer multiple of LT_U_i, a multi-instance time slot scheduling logic of an embodiment of the present invention is:

[0145] All orchestration cycle instances in this node start running at the same time from time 0.

[0146] The time is divided into time windows according to the minimum time slot length (ie, LT_1), and the first time window is numbered 0. Then, in any time window number x, the time slot number that should be in the sending state in the scheduling cycle of the instance LOP_i is:

[0147]

[0148] Then, during any time window x, the queues in the sending state of each instance are always scheduled in the order of LOP_1, LOP_2, ..., LOP_n, that is, the message in the queue corresponding to the S1(x) time slot of the LOP_1 instance is sent first; if the queue corresponding to the S1(x) time slot is cleared after being sent, and window x has not ended, the message in the queue corresponding to the S2(x) time slot of the LOP_2 instance continues to be sent; if the queue corresponding to the S2(x) time slot is cleared after being sent, and window x has not ended, the message in the queue corresponding to the S3(x) time slot of the LOP_3 instance continues to be sent; and so on. If the time window x ends during the above process, the current process ends, and then the above process is repeated in the new time window x+1 based on the new Si(x+1) of each instance.

[0149] To prevent x from overflowing, you can set the maximum value of x to:

[0150] LCM(LOP_1,LOP_2,...,LOP_n) / LT_1-1

[0151] LCM is the lowest common multiple. When x reaches the maximum value, the next x is flipped to 0.

[0152] Scenario Example

[0153] In this embodiment, the network provides deterministic forwarding for two service flows (flow_1, flow_2).

[0154] The TSpec (traffic specification) of flow_1 is to periodically send a 10,000-bit message within 1 ms of each service burst interval, and the required network transmission delay is 200 us.

[0155] The TSpec (traffic specification) of flow_2 is to periodically send a 10,000-bit message within 1 second of each service burst interval, and the required network transmission delay is 1 ms.

[0156] Then, the following two time slot scheduling instances with different cycle lengths can be configured on all outbound ports in the network (assuming that the bandwidth of each outbound port is 10 Gbps):

[0157] LOP_1=1ms

[0158] LT_1=10us

[0159] BW_1=1Gbps

[0160] The number of time slots (M1) included in the scheduling period is 10, and the length of each queue is 10000 bits.

[0161] LOP_2=1s

[0162] LT_2=100us

[0163] BW_2=100Mbps

[0164] The number of time slots (M2) included in the scheduling period is 10, and the length of each queue is 10000 bits.

[0165] Assume the network is Fig.11 As shown, it includes 6 nodes, wherein each egress port is a bidirectional egress port. Fig.11 The propagation delay parameters of each outbound port are marked in Fig.11 The propagation delay of the egress port between the intermediate node S and the node A is 20us; and the fixed forwarding delay (the delay of the message from the ingress port to the egress port, excluding the queuing delay on the egress port) in each node is 10us.

[0166] Assume that the controller calculates that path_1 serves flow_1, and path_1 passes through SACED. The time slot resources of reserved LOP_1 are bound to each egress port along the way. The general process is as follows:

[0167] The end-to-end delay required by the service is 200us, and the sum of the propagation delays of all egress ports included in the path is deducted (50us). The total residence delay budget for all nodes is 150us, and the average residence delay plan value for each node is 30us. Based on this plan value, each node reserves an outbound time slot in the orchestration period LOP_1 instance, so that the residence delay evaluation value generated based on the reservation is consistent with the planned value.

[0168] Similarly, assuming that the controller calculates that path_2 serves flow_2, and path_2 also passes through SACED, the time slot resources of LOP_2 are bound to each egress port along the way. The general process is as follows:

[0169] The end-to-end delay required by the service is 1ms, and the sum of the propagation delays of all egress ports included in the path is deducted (50us). The total residence delay budget for all nodes is 950us, and the average residence delay plan value for each node is 190us. Based on this plan value, each node reserves an outbound time slot in the orchestration period LOP_2 instance, so that the residence delay evaluation value generated based on the reservation is consistent with the planned value.

[0170] After the above preparations are completed, the head node S carries the scheduling period length LOP_1=1ms and the time slot number in the corresponding scheduling period in the message sent along path_1. As mentioned above, the message can carry a single outgoing time slot number to guide the message to access the time slot resources of the egress port link-SA of the head node (and then query the mapping table entry on each hop to obtain a new outgoing time slot), or carry a list of multiple outgoing time slot numbers to guide the message to access the time slot resources of the egress ports link-SA, link-AC, link-CE, and link-ED in sequence.

[0171] The head node S carries the scheduling period length LOP_2=1s and the time slot number in the corresponding scheduling period in the message sent along path_2.

[0172] Through the above embodiments, by establishing a time slot scheduling mechanism for multiple instances, service flows with different service burst intervals and end-to-end transmission delays are served respectively. Compared with a single-instance time slot scheduling mechanism, the overall queue resources are reduced, the cost and overhead of the equipment are reduced, and the packet time slot scheduling mechanism is made more feasible.

[0173] An embodiment of the present invention further provides a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps of any of the above method embodiments when running.

[0174] In an exemplary embodiment, the computer-readable storage medium may include, but is not limited to, various media that can store computer programs, such as a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk.

[0175] An embodiment of the present invention further provides an electronic device, including a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.

[0176] In an exemplary embodiment, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor, and the input / output device is connected to the processor.

[0177] For specific examples in this embodiment, reference may be made to the examples described in the above embodiments and exemplary implementation modes, and this embodiment will not be described in detail herein.

[0178] Obviously, those skilled in the art should understand that the above modules or steps of the present invention can be implemented by a general computing device, they can be concentrated on a single computing device, or distributed on a network composed of multiple computing devices, they can be implemented by a program code executable by a computing device, so that they can be stored in a storage device and executed by the computing device, and in some cases, the steps shown or described can be executed in a different order than here, or they can be made into individual integrated circuit modules, or multiple modules or steps therein can be made into a single integrated circuit module for implementation. Thus, the present invention is not limited to any specific combination of hardware and software.

[0179] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the principle of the present invention shall be included in the protection scope of the present invention.

Claims

1. A service forwarding method, characterized in that: include: Multiple services with different service burst intervals and different end-to-end transmission delays are deterministically forwarded between nodes in a deterministic network through multiple time slot scheduling instances set on egress ports, wherein the lengths of the scheduling cycles corresponding to different time slot scheduling instances are different.

2. The method according to claim 1, characterized in that: in, The scheduling cycle includes a plurality of time slots with the same time slot length, and the time slot length corresponding to the long scheduling cycle is an integer multiple of the time slot length corresponding to the short scheduling cycle.

3. The method according to claim 1, characterized in that Before deterministically forwarding multiple services with different service burst intervals and different end-to-end transmission delays, the method further includes: Allocate bandwidth resources for the time slot scheduling instance; wherein the sum of the bandwidth resources of the time slot scheduling instance corresponding to the same egress port is less than or equal to the total bandwidth resources of the egress port.

4. The method according to claim 1, characterized in that: Before deterministically forwarding multiple services with different service burst intervals and different end-to-end transmission delays, the method further includes: For any service among the multiple services, determining a first scheduling period that meets a scheduling period length condition according to the service burst interval of the service; Based on the first orchestration period, determining a forwarding path associated with the first orchestration period; According to the egress port of each node determined in the forwarding path, a first time slot scheduling instance corresponding to the first scheduling period is selected on the egress port, and reserved resources are allocated to the service in unreserved burst resources of the first time slot scheduling instance.

5. The method according to claim 4, characterized in that Deterministic forwarding of multiple services with different service burst intervals and different end-to-end transmission delays, including: According to the first scheduling period and the outbound time slot number carried in the message of the service, and based on the correspondence between the first scheduling period and the first time slot scheduling instance, the service is deterministically forwarded through the reserved resources in the first time slot scheduling instance in the time slot corresponding to the outbound time slot number.

6. The method according to claim 5, characterized in that in, The message carries the first scheduling period in one of the following ways: Encapsulate an IP address including the orchestration cycle length information in the destination address field of the IPv6 message; Add an extension header in IPv6 packets to encapsulate the orchestration period length information; Add a new field for encapsulating the orchestration period length information in the existing extension header of the IPv6 message; Encapsulate the orchestration cycle length information in the SRv6 SID field in the IPv6 message; Encapsulate the orchestration period length information in the label stack or at the bottom of the stack of the multi-protocol label switching message; A field is extended in the frame header of the L2 frame, and the arrangement cycle length information is encapsulated in the extended field.

7. The method according to claim 1, characterized in that Also includes: The upstream node of the deterministic network sends a detection message to the downstream node to maintain the time slot mapping relationship of the second scheduling period between adjacent nodes; wherein the second scheduling period is a scheduling period with the same length between the upstream node and the downstream node, and the detection message carries the length information of the second scheduling period and the time slot length information corresponding to the second scheduling period in the upstream node.

8. The method according to claim 1, characterized in that The nodes in the deterministic network inform each other of the time slot resources corresponding to the time slot scheduling instances corresponding to them in the following manner: For any node among the nodes, the time slot scheduling capability information of the time slot scheduling instance corresponding to the egress port designated by the node is notified to other nodes through the first sub-TLV message; For any node among the nodes, the maximum reservable burst resource in a time slot of the node is notified to the other nodes through a second sub-TLV message, wherein the first time slot number, scheduling period and egress port corresponding to the time slot are all specified; For any node among the nodes, the unreserved burst resources in a time slot of the node are notified to the other nodes through a third sub-TLV message, wherein the second time slot number, scheduling period and egress port corresponding to the time slot are all specified.

9. The method according to claim 8, characterized in that in, The first sub-TLV message includes the following information: the type of the first sub-TLV message, the content length of the first sub-TLV message, the length of the scheduling period of the first sub-TLV message, the scheduling period of the first sub-TLV message, and the time slot length corresponding to the scheduling period; The second sub-TLV message includes the following information: the type of the second sub-TLV message, the content length of the second sub-TLV message, the scheduling period of the second sub-TLV message, the first time slot number, and the maximum reservable burst amount resources; The third sub-TLV message includes the following information: the type of the third sub-TLV message, the content length of the third sub-TLV message, the scheduling period of the third sub-TLV message, the second time slot number, and the unreserved burst resources.

10. A service forwarding device, characterized in that: Nodes in a deterministic network include: The forwarding module is used to deterministically forward multiple services with different service burst intervals and different end-to-end transmission delays through multiple time slot scheduling instances set on the egress port, wherein the lengths of the scheduling cycles corresponding to different time slot scheduling instances are different.

11. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program implements the steps of the method described in any one of claims 1 to 9 when executed by a processor.

12. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the computer program, the steps of the method described in any one of claims 1 to 9 are implemented.

Citation Information

Patent Citations

  • Intelligent scheduling and control implementation method for deterministic time delay service

    CN111431822A

  • Data processing method and related device

    CN115550237A