Network device for packet switching according to bounded end-to-end latency and method of operation thereof

By using FIFO queues and polling strategies in network devices to adjust buffer capacity and latency, the problems of deterministic latency and jitter boundaries in long-distance networks are solved, coordination and resource optimization between distributed network devices are achieved, and the low latency requirements of 5G mobile networks are met.

CN120770144APending Publication Date: 2025-10-10HUAWEI TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202380095005.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-03-14
Publication Date
2025-10-10

AI Technical Summary

Technical Problem

In 5G mobile network communications, existing technologies have difficulty meeting the requirements of deterministic latency and jitter bounds in long-distance networks. In particular, in scenarios where a centralized controller is unavailable, traditional queuing mechanisms cannot provide bounded, deterministic end-to-end latency.

Method used

Multiple first-in-first-out (FIFO) queues and a polling-based service strategy are adopted, combined with fixed packet processing time. The processor adjusts the buffer capacity and bounded delay to achieve QoS and capacity balance among distributed network devices, and uses notification messages and reservation request response mechanisms to make distributed routing decisions.

Benefits of technology

It achieves bounded and deterministic end-to-end latency in long-distance networks, meets the requirements of low latency and jitter boundaries, and enables coordination and resource optimization between network devices without the need for a centralized controller.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120770144A_ABST
    Figure CN120770144A_ABST
Patent Text Reader

Abstract

A network device (1) for packet switching according to bounded end-to-end latency is disclosed. The network device comprises a plurality (11) of first-in first-out (FIFO) queues, the number of FIFO queues being n, the plurality of FIFO queues being serviceable according to a polling-based service policy and a fixed packet processing time (T). A respective queue of the plurality of FIFO queues is associated with a bounded latency (Dmax), which depends on a service policy of the plurality of queues and is a function of an adjustable buffer capacity (Be) of the respective queue. The network device further comprises a processor (12) configured to: determine a threshold crossing of a reserved range of buffer capacities for the respective queues; and adjusting the buffer capacity of the corresponding queue according to the determined threshold crossing. This enables network devices of the network to balance QoS and capacity locally in a distributed manner without the need for a centralized controller.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to the field of network communications, and more particularly to a network device for performing packet switching according to bounded end-to-end delay and a method of operating the network device. Background Art

[0002] In 5th generation (5G) mobile network communications, many use cases require low (less than 100ms) latency and / or deterministic latency, such as online gaming, virtual reality (VR), vehicle-to-everything (V2X) communications, mission-critical user plane push-to-talk (PTT), mission-critical video user plane, time-sensitive networking (TSN), and deterministic IP (DIP) communications. All of these use cases can be targeted at long-distance scenarios where a centralized controller may not be available.

[0003] While traditional queuing mechanisms (e.g., DiffServ) can provide low latency, they cannot enforce determinism, i.e., provide an upper bound on the latency that a flow using a queue may experience. If any intermediate node can independently provide bounded latency, then bounded, deterministic end-to-end latency can be guaranteed. In contrast, for best-effort (BE) networks, the tail of the latency distribution can grow unbounded.

[0004] Meeting the DetNet requirements for latency and jitter (see the IETF DetNet Working Group) is particularly challenging over long-haul networks. Meeting these requirements requires consistent clock synchronization between devices that may be separated by long distances. While jitter can be mitigated by buffering packets at the receiver and delivering them at the correct time, maintaining latency bounds is what truly matters. Therefore, relaxing jitter constraints can be considered as an alternative to DetNet solutions. Summary of the Invention

[0005] The object is to overcome the above-mentioned disadvantages and other disadvantages. The above-mentioned and other objects are achieved by the features of the independent claims. Other implementations are apparent from the dependent claims, the description and the drawings.

[0006] According to a first aspect, a network device for performing packet switching according to a bounded end-to-end delay is provided. The network device includes a plurality of first-in first-out (FIFO) queues, the number of FIFO queues being n, and the plurality of FIFO queues being serviceable according to a round-robin-based service policy and a fixed packet processing time. A respective queue of the plurality of queues is associated with a bounded delay, the bounded delay being a function of an adjustable buffer capacity of the respective queue, and the network device further includes a processor configured to: determine a threshold crossing of a reserved range of the buffer capacity of the respective queue; and adjust the buffer capacity of the respective queue according to the determined threshold crossing.

[0007] Adjusting the buffer capacity (and thus the delay bound) in response to the reserved range of the buffer capacity enables network devices of the network to balance QoS and capacity independently of each other in a distributed manner without the need for a centralized controller.

[0008] As used herein, packet switching may refer to a mode of data transmission in which a message is divided into multiple parts that are sent independently at a source terminal and reassembled at a destination terminal.

[0009] As used herein, bounded end-to-end delay may refer to the delay / latency limit of end-to-end communication between a source terminal and a destination terminal.

[0010] As used herein, bounded latency may refer to the delay / latency limit of a portion of an end-to-end communication (eg, an intermediate network device).

[0011] As used herein, first-in first-out (FIFO) may refer to a queuing method in which the earliest (ie, most recently) stored item is retrieved first. In other words, a FIFO queue may refer to a data structure that can be accessed in a FIFO manner.

[0012] As used herein, a round-robin based service policy may refer to a scheduling method in which a plurality of queues are served according to corresponding time slots of a time slot cycle.

[0013] As used herein, a processor may refer to a network processor, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a microprocessor, and the like.

[0014] As used herein, a threshold crossing may refer to an event where the value of a variable crosses a given threshold either upward (from below a threshold to above a threshold) or downward (from above a threshold to below a threshold).

[0015] In one possible implementation, the service strategy includes one of the following: a round robin (RR) service strategy; a weighted round robin (WRR) service strategy; a deficit round robin (DRR) service strategy; a bandwidth sharing service strategy; a service strategy that can guarantee bounded latency independently of other queues in the multiple queues; and a service strategy that complies with the audio video bridging / time sensitive networking (AVB-TSN) standard.

[0016] Employing a variety of known service strategies ensures broad applicability and enables the reuse of corresponding theories and insights.

[0017] In a possible implementation, the bounded delay may include a constant term and a term depending on the number of queues, the adjustable buffer capacity, the fixed packet processing time, and the service policy.

[0018] Providing a relationship between the bounded delay of each network device and the adjustable buffer capacity of the FIFO queue of that network device also makes the bounded delay adjustable (ie, manipulable in a purposeful manner).

[0019] In one possible implementation, in order to determine the threshold crossing of the reserved range of the buffer capacity of the corresponding queue, the processor is further configured to determine that the threshold crossing of the reserved range of the buffer capacity of the corresponding queue is higher than a first threshold.

[0020] In one possible implementation, in order to determine the threshold crossing of the reserved range of the buffer capacity of the corresponding queue, the processor is further configured to: determine whether the threshold crossing of the reserved range of the buffer capacity of the corresponding queue is lower than a second threshold.

[0021] In one possible implementation, in order to adjust the buffer capacity of the corresponding queue according to a determined threshold crossing, the processor is further configured to: when the threshold crossing is higher than the first threshold, increase the buffer capacity of the corresponding queue so that the current delay limit of the corresponding queue corresponds to the maximum value of the following items: the current delay limit of the corresponding queue; the minimum reserved delay limit of the corresponding queue.

[0022] Increasing the delay bound like this (via buffer capacity) can preserve the delay bound of the existing reservation.

[0023] In one possible implementation, in order to adjust the buffer capacity of the corresponding queue according to a determined threshold crossing, the processor is further configured to: when the threshold crossing is lower than the second threshold, reduce the buffer capacity of the corresponding queue, so that a threshold crossing of the reserved range of the buffer capacity of the corresponding queue is obtained, and the threshold crossing is higher than a third threshold between the first threshold and the second threshold.

[0024] Reducing the delay bound (by buffer capacity) like this increases the buffer capacity reserve.

[0025] In a possible implementation, the processor may be further configured to exchange the adjusted buffer capacity and the associated bounded delay with an adjacent network device.

[0026] The adjusted buffer capacity and associated bounded delay are exchanged with neighboring network devices, distributed throughout the network, and enable all network nodes to make routing decisions independently of each other.

[0027] As used herein, neighbor may refer to a network node / device that is directly connected to a common network link.

[0028] In one possible implementation, to exchange the adjusted buffer capacity and associated bounded delay with the neighboring network device, the processor may be further configured to: send a notification message to the neighboring network device. The notification message may include: the network address of the notifying network device; the identifier of the corresponding queue of the notifying network device; the adjusted buffer capacity of the corresponding queue of the notifying network device; and the bounded delay of the corresponding queue of the notifying network device.

[0029] As used herein, an advertisement message may refer to an extension of an advertisement (ie, LSA) message of an interior gateway (routing) protocol such as OSPF or IS-IS, or an exterior gateway (routing) protocol such as BGP.

[0030] As used herein, a network address may refer to a unique identifier of a network device or network interface that is meaningful only within a corresponding network. For example, the deployment of network protocols based on the Internet Protocol (IP) requires the use of IP addresses.

[0031] In a possible implementation, in order to exchange the adjusted buffer capacity and the associated bounded delay with the neighboring network device, the processor may be further configured to: receive the notification message.

[0032] In one possible implementation, in order to exchange the adjusted buffer capacity and the associated bounded delay with the adjacent network device, the processor may also be configured to: assuming that the network device matches the notifying network device, configure the adjusted buffer capacity and the bounded delay of the corresponding queue of the network device.

[0033] In a possible implementation manner, the processor may be further configured to calculate a shortest path tree with the network device as a root according to a bounded delay of switching.

[0034] As used herein, a shortest path tree may refer to a spanning tree of a network graph such that the path distance from a root node of the shortest path tree to any other network node is the shortest path distance in the network graph.

[0035] In one possible implementation, the processor may be further configured to send a reservation request message to the target network device. The reservation request message may include: a recorded network address stack, including the network address of the network device; the target network address of the target network device; the requested bounded end-to-end delay between the network device and the target network device; and a requested buffer capacity.

[0036] As used herein, a stack may refer to a data structure that can be accessed in a last-in, first-out (LIFO) manner. In other words, the last (i.e., most recently) stored item is retrieved first. From a terminology perspective, items can be stored or "pushed" onto the stack and retrieved or "popped" from the stack.

[0037] In one possible implementation, the processor may be further configured to receive the reservation request message from an upstream network device. The reservation request message may include: the recorded network address stack; the target network address of the target network device; the requested bounded end-to-end delay between the network device and the target network device; and the requested buffer capacity. If the target network address does not match the network address of the network device, the processor may be further configured to: reserve the requested buffer capacity from the buffer capacity of the corresponding queue; push the network address of the network device onto the recorded network address stack; and send the reservation request message to the target network device. The reservation request message may include: the recorded network address stack, including the network address of the network device; the target network address; the requested bounded end-to-end delay minus the bounded delay of the corresponding queue, where the minuend is greater than or equal to the minuend; and the requested buffer capacity. If the target network address matches the network address of the network device, the processor may be further configured to: store the reservation request message; and start a timer based on a given expiration time. If the timer has expired, the processor may be further configured to: select a reservation request message from the stored reservation request messages according to a given selection criterion; pop a network address from the recorded network address stack of the selected reservation request message; and send a reservation response message to the popped network address. The reservation response message may include: the recorded network address stack of the selected reservation request message; and the requested buffer capacity of the selected reservation request message.

[0038] The reservation request message is forwarded according to the bounded delay of the corresponding queue previously announced, so that distributed low-latency path reservation can be achieved.

[0039] As used herein, a reservation request message may refer to an extension of a reservation request (ie, PATH) message of a signaling protocol such as the Resource Reservation Protocol (RSVP). Similar extensions of the Label Distribution Protocol (LDP) may also be suitable.

[0040] As used herein, a reservation response message may refer to an extension of a reservation response (ie, RESV) message of a signaling protocol such as the Resource Reservation Protocol (RSVP). Similar extensions of the Label Distribution Protocol (LDP) may also be suitable.

[0041] As used herein, upstream may refer to a neighboring network device that is closer to the source of a message, depending on network metrics.

[0042] In one possible implementation, the given expiration time may include zero seconds.

[0043] In a possible implementation, the given selection criterion may include a maximum remainder of the requested bounded end-to-end delays of the stored reservation request messages.

[0044] In a possible implementation, in order to send the reservation request message to the target network device, the processor may be further configured to send the reservation request message to each adjacent network device except the upstream network device.

[0045] Sending reservation request messages according to this controlled flooding approach results in simple and straightforward signaling.

[0046] In a possible implementation, the reservation response message may further include a bounded end-to-end delay of the request received by the target network device.

[0047] The bounded end-to-end delay of the request received by the target network device is included, and a remainder of the originally requested bounded end-to-end delay is provided to the requesting network device.

[0048] In one possible implementation, the processor may be further configured to: receive the reservation response message from a neighboring network device; confirm the reservation of the required buffer capacity based on the buffer capacity of the corresponding queue; pop a network address from the recorded network address stack; and send the reservation response message to the popped network address. The reservation response message may include: the recorded network address stack; and the requested buffer capacity.

[0049] According to a second aspect, a method of operating a network device for performing packet switching according to a bounded end-to-end latency is provided. The network device includes a plurality of first-in first-out (FIFO) queues, the number of FIFO queues being n, and the plurality of FIFO queues being serviceable according to a round-robin-based service policy and a fixed packet processing time. A respective queue of the plurality of queues is associated with a bounded latency, the bounded latency being a function of an adjustable buffer capacity of the respective queue. The method comprises determining a threshold crossing of a reserved range of the buffer capacity of the respective queue; and adjusting the buffer capacity of the respective queue according to the determined threshold crossing.

[0050] In one possible implementation, the method may be executed by a network device of the first aspect or any implementation thereof.

[0051] According to a third aspect, there is provided a computer program comprising program code for performing the method of the second aspect or any implementation thereof when executed on a computer. BRIEF DESCRIPTION OF THE DRAWINGS

[0052] The above-described aspects and implementations will now be explained with reference to the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements.

[0053] The drawings should be regarded as schematic representations, and the elements shown in the drawings are not necessarily shown to scale. Instead, the various elements are represented so that the function and general purpose of these elements become apparent to those skilled in the art.

[0054] Figure 1 Schematically illustrates a network device according to the present disclosure;

[0055] Figure 2 Schematically illustrates an exemplary network scenario for sending a notification message;

[0056] Figure 3 Schematically illustrates a notification message according to the present disclosure;

[0057] Figures 4A to 4F Schematically illustrates an exemplary network scenario for sending a reservation request message and a reservation response message according to the present disclosure;

[0058] Figure 5 Schematically illustrates a reservation request message according to the present disclosure;

[0059] Figure 6 Schematically illustrates a reservation response message according to the present disclosure;

[0060] Figure 7 The flowchart of the method for operating a network device according to the present disclosure is schematically shown. DETAILED DESCRIPTION

[0061] In the following description, reference is made to the accompanying drawings that form part of the present disclosure, which illustrate, by way of illustration, specific aspects of the implementation of the present disclosure or specific aspects of the implementation of the present disclosure that can be used. It should be understood that the implementation of the present disclosure can be used in other aspects and include structural or logical changes not depicted in the accompanying drawings. Therefore, the following detailed description should not be understood in a restrictive sense, and the scope of the present disclosure is defined by the appended claims.

[0062] For example, it should be understood that disclosures relating to a described method may also apply to a corresponding device or system configured to perform the method, and vice versa. For example, if one or more specific method steps are described, the corresponding device may include one or more units (e.g., functional units) to perform the described one or more method steps (e.g., one unit performs one or more steps, or multiple units perform one or more of the multiple steps, respectively), even if the one or more units are not explicitly described or illustrated in the accompanying drawings. In addition, for example, if a specific device is described based on one or more units such as functional units, the corresponding method may include a step to perform the function of the one or more units (e.g., one step performs the function of the one or more units, or multiple steps perform the function of one or more of the multiple units, respectively), even if such one or more steps are not explicitly described or illustrated in the accompanying drawings. In addition, it should be understood that, unless otherwise expressly stated, the features of the various exemplary implementations and / or aspects described herein may be combined with each other.

[0063] Figure 1 The network device 1 provided by the present disclosure is schematically shown.

[0064] The network device 1 is adapted to perform packet switching according to a bounded end-to-end delay 43 (see below).

[0065] The network device 1 comprises a plurality of (11)(n) first-in first-out (FIFO) queues that are serviceable according to a round-robin based service policy and a fixed packet processing time T. Figure 1 A trapezoidal shape representing the scheduler 13 is depicted, wherein a round-robin based service strategy is indicated by a cyclic iteration of the servers (black dots) according to a fixed packet processing time T.

[0066] The service strategy includes one of the following: a round robin (RR) service strategy; a weighted round robin (WRR) service strategy; a deficit round robin (DRR) service strategy; a bandwidth sharing service strategy; a service strategy that can guarantee bounded latency independently of other queues in the above multiple (11) queues; and a service strategy that complies with the audio video bridging / time sensitive networking (AVB-TSN) standard.

[0067] The corresponding queue in the above multiple (11) queues and the bounded delay D max The bounded delay depends on the service policy of the above multiple (11) queues and is the adjustable buffer capacity B of the corresponding queue.e function.

[0068] According to network calculus (see J.-Y. Le Boudec, P. Thiran, Network Calculus: A Theory of Deterministic Queuing Systems for the Internet, LNCS, Vol. 2050, Springer, 2001), if the queue is used as a FIFO and the buffer has capacity Then the delay can be expressed as [8]: in, is the worst-case delay in the queue, i.e., the maximum sojourn time (depending on the allocated resources), is the buffer capacity of queue k, is the committed information rate (CIR) assigned to queue k. Assuming the CIR is fixed, the delay varies with the adjustable buffer capacity.

[0069] In modern packet processing pipelines, several physical queues typically exist to accommodate various types of traffic. Packets are retrieved from various hardware queues and sent in a round-robin fashion. Hardware queues can be managed in software to limit the capacity of each buffer or to interleave packets between hardware queues based on policy. Such a switch can be configured with a set of queues of increasing priority, where the maximum queuing delay is given by the following formula:

[0070] D max =T0+nB e T

[0071] Where T0 is a constant (lower limit), B e is the buffer capacity (unit), T is the packet processing time, and n is the number of queues to be served. According to this model, the buffer capacity B e The larger the queuing delay D max The bigger it is.

[0072] In other words, the bounded delay D max It can include a constant term T0 and an adjustable buffer capacity B depending on the number of queues n. e , fixed packet processing time T and service policy items.

[0073] The network device 1 further includes a processor 12 .

[0074] The processor 12 is configured to determine the buffer capacity B of the corresponding queue eThe reserved range threshold is crossed, and the buffer capacity B of the corresponding queue is adjusted according to the determined threshold crossing. e . Figure 1 The buffer capacity B of the first queue among the plurality of (11) queues is shown as an example. e and the buffer capacity B of the second queue in the plurality of (11) queues e adjustments.

[0075] In order to determine the buffer capacity B of the corresponding queue e The processor 12 may also be configured to determine the buffer capacity B of the corresponding queue. e The threshold crossing of the reserved range is higher than the first threshold or lower than the second threshold.

[0076] For example, the first threshold may include 90% and the second threshold may include 10%.

[0077] The network device 1 can observe the QoS experienced by the flows assigned to the corresponding queues of the plurality of (11) queues and the buffer capacity B of the corresponding queues. e reserved range.

[0078] If the reservation range of the corresponding queue is high (≥ the first threshold), that is, the corresponding queue lacks sufficient capacity for the additional flow, and the QoS (latency) requested for the additional flow is greater than the QoS (latency bound) provided by the buffer, the network device 1 may increase the buffer capacity B of the corresponding queue. e , to accept more services with relaxed QoS.

[0079] In other words, in order to adjust the buffer capacity B of the corresponding queue according to the determined threshold crossing e , the processor 12 may be configured to increase the buffer capacity B of the corresponding queue when the threshold crosses above a first threshold (ie, a high reserved range). e , so that the current delay bound D of the corresponding queue max Corresponds to the maximum of the following: the current delay bound D of the corresponding queue max ; The minimum reserved delay limit of the corresponding queue.

[0080] On the contrary, if the reservation range of the corresponding queue is low (≤ the first threshold) and a stricter QoS (delay) is requested, the network device 1 may reduce the buffer capacity B of the corresponding queue if possible. e , to accept services with stricter QoS.

[0081] That is, in order to adjust the buffer capacity B of the corresponding queue according to the determined threshold crossing e When the threshold crosses below the second threshold (ie, the low reserved range), the buffer capacity B of the corresponding queue is reduced.e , so that the buffer capacity B of the corresponding queue is obtained e A threshold of the reserved range is crossed, and the threshold crossing is higher than a third threshold between the first threshold and the second threshold.

[0082] For example, the third threshold may comprise 35%.

[0083] The processor 12 may also be configured to advertise the buffer capacity B within the network. e (already adjusted as described above) and the associated bounded delay D max , as described below.

[0084] Figure 2 An exemplary network scenario for sending the notification message 3 is schematically shown.

[0085] The network scenario comprises a plurality of network devices 1 in a partially meshed form, identified as AF.

[0086] Advertise the buffer capacity B in this network scenario e It may be necessary for the corresponding network device 1 (ie, its processor 12) to be configured to exchange the adjusted buffer capacity B with one or more neighboring network devices 1. e and the associated bounded delay D max .

[0087] In the sending network device 1 , the processor 12 may be configured to send the announcement message 3 to the neighboring network device(s) 1 .

[0088] As used herein, the advertisement message 3 may refer to an extension of an advertisement (ie, LSA) message of an interior gateway (routing) protocol such as OSPF or IS-IS, or an exterior gateway (routing) protocol such as BGP.

[0089] Figure 3 A notification message 3 according to the present disclosure is schematically illustrated.

[0090] The notification message 3 may include: the network address 31 of the notification network device 1, 1'; the identifier 32 of the corresponding queue of the notification network device 1, 1'; the adjusted buffer capacity 33 of the corresponding queue of the notification network device 1, 1'; e ; Announce the bounded delay 34, D of the corresponding queue of network device 1, 1 ' max .

[0091] The notification message 3 may also include the adjusted buffer capacity 33, B of the corresponding queue of the notification network device 1, 1'. e reserved range.

[0092] As used herein, the network address 31 may refer to a unique identifier of a network device 1 or a network interface that is only meaningful within the corresponding network. For example, the deployment of a network protocol based on the Internet Protocol (IP) requires the use of an IP address.

[0093] As used herein, bounded latency may refer to the delay / latency limit of a portion of an end-to-end communication (eg, intermediate network device 1 ).

[0094] refer to Figure 2 In the receiving network device 1 , the processor 12 may further be configured to receive a notification message 3 .

[0095] Figure 2 The example shows that the network device 1, C sends a notification message 3. In this example, the notification adjusted bounded delay 34, D max = 50ms. For the sake of clarity, the associated adjusted buffer capacity 33, B e .

[0096] Therefore, sources that wish to achieve their QoS goals can find alternative paths that respect their QoS requirements.

[0097] For each network device 1 in the network, the buffer capacity 33, B e and bounded delay 34, D max The processor 12 may be further configured to configure the adjusted buffer capacity 33, B of the corresponding queue of the network device 1, assuming that the network device 1 matches the notifying network device 1, 1'. e and bounded delay 34, D max .

[0098] According to the bounded delay of exchange 34, D max The processor 12 may also be configured to calculate a deadline target for each network device 1 on the end-to-end communication path, and / or calculate a global deadline target based on the corresponding per-node delay budget of each network device 1 on the end-to-end communication path.

[0099] According to the bounded delay of exchange 34, D max , the processor 12 may also be configured to (re-)calculate the shortest path tree with the network device 1 as the root.

[0100] The shortest path tree may include a Dijkstra tree rooted at the target network device 1, 1", wherein each network link is considered to be in the opposite direction, according to the bounded delay 34, D maxMinimize end-to-end delay. The scheme can be extended to consider more than one queue per network device 1 by computing a Dijkstra tree for each queue and prioritizing the least feasible queues.

[0101] Figures 4A to 4F An exemplary network scenario for sending a reservation request message 4 and a reservation response message 5 according to the present disclosure is schematically illustrated.

[0102] As used herein, the reservation request message 4 may refer to an extension of a reservation request (ie, PATH) message of a signaling protocol such as the Resource Reservation Protocol (RSVP). Similar extensions of the Label Distribution Protocol (LDP) may also be suitable.

[0103] As used herein, the reservation response message 5 may refer to an extension of the reservation response (ie, RESV) message of a signaling protocol such as the Resource Reservation Protocol (RSVP). Similar extensions of the Label Distribution Protocol (LDP) may also be suitable.

[0104] In the depicted network scenario, end-to-end communication will be Figure 4A Network devices 1 and A on the left Figure 4A The target network devices 1, 1" on the right are signaled to each other. The end-to-end communication should have a requested bounded end-to-end latency 43 of 85ms (i.e., the global deadline target) and a requested buffer capacity 44 of 2Mb, as shown by the end-to-end arrows.

[0105] In the sending network device 1 , the processor 12 may be configured to send a reservation request message 4 to the target network device 1 , 1 ″.

[0106] The (sent) reservation request message 4 may include: a recorded network address stack 41 including the network address 31 of the network device 1; a target network address 42 of the target network device 1, 1"; a requested bounded end-to-end delay 43 between the network device 1 and the target network device 1, 1"; and a requested buffer capacity 44.

[0107] In order to send the reservation request message 4 to the target network device 1 , 1 ″, the processor 12 may also be configured to send the reservation request message 4 to each adjacent network device 1 (ie, neighbor) except the upstream network device 1 .

[0108] As used herein, upstream may refer to a neighboring network device that is closer to the source of a message, depending on network metrics.

[0109] Depending on different service level agreements (SLAs), the reservation request message 4 may also include an additional requested bounded end-to-end delay 43 .

[0110] refer to Figure 4A , the network device 1, A sends a corresponding reservation request message 4 to the target network device 1, 1″, F (i.e., to its neighbor or adjacent network device 1, B, C). The corresponding reservation request message 4 includes a stack 41, which includes the network address of A, the target network address 42 of F, a requested bounded end-to-end delay 43 of 85ms and a requested buffer capacity 44 of 2Mb.

[0111] In the receiving network device 1 , the processor 12 may be configured to receive the reservation request message 4 from the upstream network device 1 .

[0112] Figure 5 A reservation request message 4 according to the present disclosure is schematically illustrated.

[0113] The (received) reservation request message 4 may include: a recorded network address stack 41; a target network address 42 of the target network device 1, 1"; a requested bounded end-to-end delay 43 between the network device 1 and the target network device 1, 1"; and a requested buffer capacity 44.

[0114] If the target network address 42 does not match the network address 31 of the network device 1 (ie, in the intermediate network device 1), the processor 12 may also be configured to: e The buffer capacity 44 of the reservation request is reserved (the reservation is affected by the confirmation or timeout of the corresponding reservation response message 5); the network address 31 of the network device 1 is pushed onto the recorded network address stack 41; and the reservation request message 4 is sent (forwarded) to the target network device 1, 1".

[0115] The (forwarded) reservation request message 4 may include: a recorded network address stack 41 including the network address 31 of the network device 1; a target network address 42; a requested bounded end-to-end delay 43 minus the bounded delay D of the corresponding queue; max , the minuend is greater than or equal to the subtrahend; the requested buffer capacity is 44.

[0116] refer to Figure 4B , network device 1, B receives a reservation request message 4 from its neighbor 1, A, reserves 2Mb of requested buffer capacity 44, pushes B's network address 31 onto the stack 41, and subtracts the bounded delay D from the requested bounded end-to-end delay 43 of 85ms. max= 20 ms, resulting in a requested bounded end-to-end delay 43 of 65 ms (here, the minuend 85 ms is greater than the minuend 20 ms), and sending (forwarding) the modified reservation request message 4 to the target network device 1, 1″, F (i.e., to its neighbors 1, D, E).

[0117] Continue to refer Figure 4B Network device 1, C receives a reservation request message 4 from its neighbor 1, A, reserves 2 Mb of requested buffer capacity 44, pushes C's network address 31 onto the stack 41, and subtracts the bounded delay D from the requested bounded end-to-end delay 43 of 85 ms. max =50ms, resulting in a requested bounded end-to-end delay 43 of 35ms (here, the minuend 85ms is greater than the minuend 50ms), and sending (forwarding) the modified reservation request message 4 to the target network device 1, 1″, F (i.e., to its neighbors 1, D, E).

[0118] refer to Figure 4C , network device 1, D receives a reservation request message 4 from its neighbors 1, B, C, which includes requested bounded end-to-end delays 43 of 65 ms and 35 ms, respectively. In the case that the reservation request message 4 from neighbor 1, B includes the requested bounded end-to-end delay 43 of 65 ms, network device 1, D reserves a requested buffer capacity 44 of 2 Mb, pushes D's network address 31 onto the stack 41, and subtracts the bounded delay D from the requested bounded end-to-end delay 43 of 65 ms. max =40ms, obtaining a requested bounded end-to-end delay 43 of 25ms (here, the minuend 65ms is greater than the minuend 40ms), and sending (forwarding) the modified reservation request message 4 to the target network device 1, 1″, F. In the case where the reservation request message 4 from the neighbor 1, C includes a requested bounded end-to-end delay 43 of 35ms, the bounded delay D is subtracted from the requested bounded end-to-end delay 43 of 35ms. max =40ms, resulting in a requested bounded end-to-end delay 43 of −5ms (here, the minuend 35ms is less than the subtrahend 40ms), so the reservation request message 4 is not sent (forwarded).

[0119] Continue to refer Figure 4C , network device 1, E receives a reservation request message 4 from its neighbor 1, B, C. In the case that the reservation request message 4 comes from neighbor 1, B, network device 1, E reserves 2Mb of requested buffer capacity 44, pushes E's network address 31 onto the stack 41, and subtracts the bounded delay D from the requested bounded end-to-end delay 43 of 65ms. max= 30ms, obtaining a requested bounded end-to-end delay 43 of 35ms (here, the minuend 65ms is greater than the minuend 30ms), and sending (forwarding) the modified reservation request message 4 to the target network device 1, 1″, F. In the case that the reservation request message 4 comes from the neighbor 1, C, the network device 1, E reserves a requested buffer capacity 44 of 2Mb, pushes the network address 31 of E onto the stack 41, and subtracts the bounded delay D from the requested bounded end-to-end delay 43 of 35ms. max =30ms, obtaining a bounded end-to-end delay 43 of the request of 5ms (here, the minuend 35ms is greater than the subtrahend 30ms), and sending (forwarding) the modified reservation request message 4 to the target network device 1, 1″, F.

[0120] If the target network address 42 matches the network address 31 of the network device 1 (ie, is in the target network device 1 , 1 ″), the processor 12 may further be configured to: store the reservation request message 4 ; and start a timer according to a given expiration time.

[0121] According to a given expiry time, multiple reservation request messages 4 may be stored.

[0122] If the given expiry time comprises zero seconds, only a single (ie the first received) reservation request message 4 is stored.

[0123] refer to Figure 4C And assuming a sufficient given expiry time, the target network device 1, 1", F receives and stores the reservation request message 4 from its neighbors 1, D, E, including the (remaining) requested bounded end-to-end delays 43 of 25ms, 35ms and 5ms respectively.

[0124] If the timer has expired, the processor 12 may be further configured to select a reservation request message 4 from the stored reservation request messages 4 according to a given selection criterion.

[0125] In particular, the given selection criterion may comprise a maximum remainder of the requested bounded end-to-end delay 43 of the stored reservation request messages 4 .

[0126] refer to Figure 4C And assuming that maximum remainder is a given selection criterion, the target network device 1, 1", F may select a reservation request message 4 from its neighbor 1, E including a (remaining) requested bounded end-to-end delay 43 of 35 ms.

[0127] In case no selection criteria are given, the processor 12 may be configured to select all stored reservation request messages 4 .

[0128] In other words, in the presence of multiple valid requests respecting the end-to-end QoS requirements, the target network device 1, 1", F may respond to one or more of them.

[0129] For each selected reservation request message 4 , the processor 12 may be further configured to: pop the network address 31 from the recorded network address stack 41 of the selected reservation request message 4 ; and send a reservation response message 5 to the popped network address 31 .

[0130] Figure 6 A reservation response message 5 according to the present disclosure is schematically illustrated.

[0131] The reservation response message 5 may include: a recorded network address stack 51 , 41 of the selected reservation request message 4 ; and a requested buffer capacity 52 , 44 of the selected reservation request message 4 .

[0132] The reservation response message 5 may also include the (remaining) requested bounded end-to-end delay 53, 43 for reception by the target network device 1, 1".

[0133] The processor 12 may also be configured to receive a reservation response message 5 from the neighboring network device 1 .

[0134] refer to Figure 4D And assuming no given selection criteria, the target network device 1, 1", F may select all stored reservation request messages 4 including (remaining) requested bounded end-to-end delays 43 of 25 ms, 35 ms and 5 ms respectively.

[0135] For each selected reservation request message 4 , the target network device 1 , 1 ″, F may pop a network address 31 from the corresponding stack 41 ; and send a reservation response message 5 to the corresponding popped network address 31 (ie to its neighbors 1 , D, E).

[0136] In other words, the reservation response message 5 propagates back to the requesting network device 1 , A along the reverse path of the respectively selected reservation request message 4 .

[0137] The network device 1, D, E in turn receives a reservation response message 5 from the target network device 1, 1", F.

[0138] For each received reservation response message 5, the processor 12 may also be configured to: e Confirm the reservation of the required buffer capacity; pop the network address from the recorded network address stack 41; send a reservation response message 5 to the popped network address.

[0139] refer to Figure 4E, network device 1, D confirms the reservation of the required buffer capacity of 2Mb, pops the network address B from the stack 41, and sends (forwards) a reservation response message 5 to network device 1, B.

[0140] Continue to refer Figure 4E , network device 1, E confirms the reservation of the required buffer capacity of 2Mb, pops the network address (ie, B, C) from the corresponding stack 41, and sends (forwards) the corresponding reservation response message 5 to network device 1, B, C.

[0141] The network devices 1 , B, C in turn receive reservation response messages 5 from the network devices 1 , D, E.

[0142] refer to Figure 4F , the network device 1, B confirms the reservation of the required buffer capacity of 2Mb, pops the network address (ie, A, A) from the corresponding stack 41, and sends (forwards) the corresponding reservation response message 5 to the network device 1, A.

[0143] Continue to refer Figure 4F , network device 1, C confirms the reservation of the required buffer capacity of 2Mb, pops the network address A from the stack 41, and sends (forwards) a reservation response message 5 to network device 1, A.

[0144] At this point, the requesting network device 1, A may offer multiple options for end-to-end communication based on the requested bounded end-to-end delay 43 of 85 ms and the requested buffer capacity 44 of 2 Mb, and may use one or more of the options.

[0145] For example, instead of selecting the first path that becomes available, the requesting network device 1 can wait for multiple paths to become available and perform a more advanced path selection strategy (e.g., load balancing or meeting a specific deadline, etc.). Note that in terms of network resilience, multiple options may also be beneficial (i.e., active protection measures or passive recovery measures).

[0146] Figure 7 A flow chart of a method 2 for operating a network device 1 according to the present disclosure is schematically shown.

[0147] Network device 1 corresponds to Figure 1 The implementation method includes multiple (11) first-in first-out (FIFO) queues, the number of FIFO queues is n, and these queues are serviceable according to the polling-based service policy and the fixed packet processing time T. The corresponding queues in the multiple (11) queues are connected with the bounded delay D max The bounded delay depends on the service policy of multiple (11) queues and is the adjustable buffer capacity B of the corresponding queues. e function.

[0148] Method 2 includes determining 21 the buffer capacity B of the corresponding queue e The step at which the threshold of the reserved range is crossed.

[0149] Method 2 also includes adjusting 22 the buffer capacity B of the corresponding queue according to the determined threshold crossing. e steps.

[0150] The method 2 may be executed by the network device 1 of the first aspect or any implementation thereof.

[0151] Although designed for a distributed setting, the proposed capacity adjustment, announcement, and signaling schemes can also be performed in a centralized setting.

[0152] In summary, the present disclosure combines a distributed mechanism, buffer capacity reservation, buffer capacity management (ie, adjustment), and deterministic end-to-end QoS (ie, latency) bounds.

[0153] The present disclosure has been described as an example in conjunction with various implementations. However, other variations will be understood and implemented by those skilled in the art and by those practicing the claimed subject matter, based on a study of the drawings, the present disclosure and the independent claims. In the claims and in the specification, the word "comprising" does not exclude other elements or steps, and the indefinite article "a" or "an" does not exclude a plurality. A single element or other unit may fulfil the functions of several entities or items described in the claims. The fact that certain measures are listed in mutually different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation. The computer program may be stored or distributed on a suitable medium, such as an optical storage medium or solid-state medium provided together with or as part of other hardware, and may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunications systems.

Claims

1. A network device (1) for performing packet switching according to a bounded end-to-end delay (43), the network device (1) comprising: A plurality of (11) first-in-first-out (FIFO) queues, the number of said FIFO queues being n, The plurality of (11) FIFO queues are serviceable according to a round-robin based service policy and a fixed packet processing time (T); The corresponding queues in the plurality of (11) FIFO queues are associated with a bounded delay (D max ) is associated with the bounded delay (D max ) depends on the service policy of the plurality of (11) queues and is the adjustable buffer capacity (B) of the corresponding queue e ) function; as well as A processor (12), the processor being configured to: Determine the buffer capacity (B) of the corresponding queue e )’s reserved range threshold crosses; Adjusting the buffer capacity of the corresponding queue according to the determined threshold crossing (B e ).

2. The network device (1) according to claim 1, wherein the service policy comprises one of the following: Polling RR service strategy; Weighted Round Robin (WRR) service strategy; Deficit polling DRR service strategy; Bandwidth sharing service strategy; A service policy that guarantees bounded latency independently of other queues in the plurality of (11) FIFO queues; or Service policies that comply with the Audio Video Bridging / Time Sensitive Networking (AVB-TSN) standard.

3. The network device (1) according to claim 1 or 2, wherein the bounded delay (D max )include: constant term (T0); as well as Depends on the number of queues (n), the adjustable buffer capacity (B e ), the fixed packet processing time (T) and the items of the service policy.

4. The network device (1) according to any one of claims 1 to 3, wherein in order to determine the buffer capacity (B e ), the processor (12) is further configured to: Determine the buffer capacity (B) of the corresponding queue e )'s threshold crossing of the reserved range is higher than a first threshold.

5. The network device (1) according to any one of claims 1 to 4, wherein in order to determine the buffer capacity (B e ), the processor (12) is further configured to: Determine the buffer capacity (B) of the corresponding queue e )'s threshold crossing of the reserved range is lower than a second threshold.

6. The network device (1) according to claim 4, wherein the buffer capacity (B e ), the processor (12) is further configured to: When the threshold crosses above the first threshold, increase the buffer capacity of the corresponding queue (B e ), so that the current delay bound (D max ) corresponds to the maximum of: The current delay bound (D max );as well as The minimum reserved delay bound of the corresponding queue.

7. The network device (1) according to claim 5, wherein the buffer capacity (B e ), the processor (12) is further configured to: When the threshold crosses below the second threshold, reducing the buffer capacity of the corresponding queue (B e ), so as to obtain the buffer capacity (B e ) of the reserved range, wherein the threshold crossing is higher than a third threshold between the first threshold and the second threshold.

8. The network device (1) according to any one of the preceding claims, the processor (12) being further configured to: Exchange the adjusted buffer capacity (B) with the adjacent network device (1) e ) and the associated bounded delay (D max ).

9. The network device (1) according to claim 8, wherein the buffer capacity (B e ) and the associated bounded delay (D max ), the processor (12) is further configured to: Sending a notification message (3) to the adjacent network device (1), wherein the notification message (3) includes: Notifying the network address (31) of the network device (1, 1'); The identification (32) of the corresponding queue of the notification network device (1, 1'); The adjusted buffer capacity (33, B) of the corresponding queue of the notification network device (1, 1') e );as well as The bounded delay (34, D) of the corresponding queue of the notification network device (1, 1') max ).

10. The network device (1) according to claim 8 or 9, wherein the buffer capacity (B e ) and the associated bounded delay (D max ), the processor (12) is further configured to: The notification message is received (3).

11. The network device (1) according to claim 10, wherein the buffer capacity (B e ) and the associated bounded delay (D max ), the processor (12) is further configured to: Assuming that the network device (1) matches the notifying network device (1, 1'), the adjusted buffer capacity (B e ) and the bounded delay (D max ).

12. The network device (1) according to any one of claims 8 to 11, wherein the processor (12) is further configured to: According to the bounded delay (34, D max ) to calculate the shortest path tree with the network device (1) as the root.

13. The network device (1) according to claim 12, wherein the processor (12) is further configured to: A reservation request message (4) is sent to a target network device (1, 1"), wherein the reservation request message (4) includes: a recorded network address stack (41) comprising said network address (31) of said network device (1); a target network address (42) of the target network device (1, 1"); the requested bounded end-to-end delay (43) between the network device (1) and the target network device (1, 1"); and Requested buffer capacity (44).

14. The network device according to claim 13, wherein the processor (12) is further configured to: The reservation request message (4) is received from an upstream network device (1), wherein the reservation request message (4) includes: The network address stack (41) of the record; the target network address (42) of the target network device (1, 1"); the requested bounded end-to-end delay (43) between the network device (1) and the target network device (1, 1"); the buffer capacity (44) of the request; If the target network address (42) does not match the network address (31) of the network device (1), then: From the buffer capacity (B e ) reserves a buffer capacity (44) for the request; Pushing the network address (31) of the network device (1) onto the recorded network address stack (41); Sending the reservation request message (4) to the target network device (1, 1"), the reservation request message (4) comprising: The recorded network address stack (41) includes the network address (31) of the network device (1); the target network address (42); The bounded end-to-end delay (43) of the request minus the bounded delay (D max ), the minuend is greater than or equal to the subtrahend; the buffer capacity (44) of the request; If the target network address (42) matches the network address (31) of the network device (1), then: Storing the reservation request message (4); Start the timer according to the given expiration time; If the timer has expired, then: selecting a reservation request message (4) from the stored reservation request messages (4) according to a given selection criterion; popping a network address from the recorded network address stack (41) of the selected reservation request message (4); Sending a reservation response message (5) to the pop-up network address (31), wherein the reservation response message (5) includes: selecting said recorded network address stack (51, 41) of said reservation request message (4); The requested buffer capacity (52, 44) of the selected reservation request message (4).

15. The network device (1) according to claim 14, said given expiry time comprising zero seconds.

16. The network device (1) according to claim 14 or 15, said given selection criterion comprising a maximum remainder of said requested bounded end-to-end delay (43) of said stored reservation request messages (4).

17. The network device (1) according to any one of claims 13 to 16, wherein, in order to send the reservation request message (4) to the target network device (1, 1"), the processor (12) is further configured to: The reservation request message (4) is sent to each adjacent network device (1) except the upstream network device (1).

18. The network device (1) according to any one of claims 14 to 17, wherein the reservation response message (5) further comprises: The bounded end-to-end latency (53, 43) of the request received by the target network device (1, 1").

19. The network device (1) according to any one of claims 12 to 18, wherein the processor (12) is further configured to: Receiving the reservation response message (5) from the adjacent network device (1); From the buffer capacity (B e ) confirming said reservation of required buffer capacity; Popping a network address from the recorded network address stack (41); as well as Sending the reservation response message (5) to the pop-up network address, the reservation response message (5) including: The network address stack (51) of the record; The requested buffer capacity (52, 44).

20. A method (2) of operating a network device (1) for performing packet switching according to a bounded end-to-end delay (43), the network device (1) comprising: A plurality of (11) first-in-first-out (FIFO) queues, the number of said FIFO queues being n, The plurality of (11) FIFO queues are serviceable according to a round-robin based service policy and a fixed packet processing time (T); The corresponding queues in the plurality of (11) FIFO queues are associated with a bounded delay (D max ) is associated with the bounded delay (D max ) depends on the service policy of the plurality of (11) queues and is the adjustable buffer capacity (B) of the corresponding queue e ) function; The method (2) comprises: Determine (21) the buffer capacity (B) of the corresponding queue e )’s reserved range threshold crossing; and adjusting (22) the buffer capacity (B) of the corresponding queue based on the determined threshold crossing e ).

21. The method (2) according to claim 20, performed by a network device (1) according to any one of claims 1 to 19.

22. A computer program comprising program code for performing the method (2) according to claim 20 or 21 when executed on a computer.