Resource management in a time-sensitive network
By implementing dynamic adaptive priority-based resource allocation and queue level selection in time-sensitive networks, the method addresses the limitations of existing approaches, enhancing network resource utilization and supporting a higher load of real-time traffic.
Patent Information
- Application Number
- PCT/EP2023/083317
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-11-28
- Publication Date
- 2025-06-05
AI Technical Summary
Existing resource management approaches in time-sensitive networks (TSN) face challenges such as high complexity, inflexibility, and scalability limitations, leading to poor network resource utilization and potential flow blocking.
A method for dynamic resource allocation and queue level selection in TSN, based on a dynamic adaptive priority parameter, which determines the priority of traffic flows at each device based on their latency budget and remaining hops, allowing for real-time adjustments to queue levels and resource allocation.
This approach enables a greater load of real-time and time-sensitive traffic in distributed networks by optimizing resource utilization, ensuring deterministic scheduling with bounded end-to-end latency, and preventing flow blocking.
Smart Images

Figure EP2023083317_05062025_PF_FP_ABST
Abstract
Description
[0001] RESOURCE MANAGEMENT IN A TIME-SENSITIVE NETWORK
[0002] TECHNICAL FIELD
[0003] The present disclosure relates, in general, to resource management in a time-sensitive network. Aspects of the disclosure relate to enabling time-sensitive flows to reserve dedicated resources in a multi-hop distributed network.
[0004] BACKGROUND
[0005] Time sensitive networks (TSN) introduced several scheduling methods on the data plane to support latency guarantees through the network. Particularly, the Time Aware Shaper (TAS), standardized by TSN, facilitates time-triggered transmission for scheduled traffic by utilizing gate-controlled queues to enable and disable transmission. Scheduled traffic demands a precise time-triggered transmission to meet its stringent timing requirements.
[0006] An optimization problem has been formulated to address the resource management challenges of extending TAS in a multi-hop network. Various optimization methods, such as Satisfiability Modulo Theories (SMT), Integer Linear Programming (ILP), and Constraint Programming (CP) have been employed to compute a static scheduling table and flow-to-queue assignment to ensure deterministic transmission behaviour for scheduled traffic. Unfortunately, such approaches suffer from high complexity (i.e., long computational time), inflexibility (i.e., lack of self-organised and plug-and-play features) and scalability limitations, as the computational time increases with the number of nodes and flows in the network.
[0007] TSN introduces a lower complexity resource management approach based on signaling / configuration messages that reserve dedicated resources for flows registering the network. Mainly, Stream Reservation Protocol (SRP) and Resource Allocation Protocol (RAP) employ a signaling messages to establish an E2E QoS path for time-sensitive flows in a distributed network. The selection of queue level at each hop along the flow's shortest path is based on the flow's priority. However, relying on the flow's priority as a fixed value for the scheduling (queue level selection) leads to poor utilization of the network resources. That is because a static scheduling decision is made on the Talker side by assigning a static priority value, thereby considering only a particular predetermined solution. Consequently, this approach may result in blocking a flow from the network when the required queue level lacks sufficient resources, even if resources are available at other queue levels.
[0008] SUMMARY
[0009] An objective of the present disclosure is to accommodate a greater load of real-time and timesensitive traffic in a distributed network.
[0010] The foregoing and other objectives are achieved by the features of the independent claims.
[0011] Further implementation forms are apparent from the dependent claims, the description and the Figures.
[0012] A first aspect of the present disclosure provides a method of resource management in a timesensitive network (TSN) the method comprising determining a priority of a traffic flow in the TSN at each device of multiple devices for the TSN as the traffic flow traverses the multiple devices, wherein the priority of the traffic flow in the TSN is determined based on a latency budget of the traffic flow and a remaining number of hops required for the traffic flow to reach a destination, wherein the latency budget of the traffic flow is determined based on an end-to- end, E2E, latency and a latency experienced by the traffic flow at previous devices of the multiple devices for the TSN, and selecting a queue level of multiple queue levels for the traffic flow based on the determined priority, wherein selecting the queue level comprises reserving resources for the traffic flow at the selected queue level.
[0013] Accordingly, as the resource allocation and the queue level selection are based on dynamic scheduling using a dynamic adaptive priority parameter rather than the fixed priority used by the SRP and RAP, the distributed network can accommodate a greater load of real-time and time-sensitive traffic.
[0014] In an implementation of the first aspect, reserving resources for the traffic flow at the selected queue level comprises allocating a bandwidth associated with the selected queue level for the traffic flow. Selecting the queue level of the multiple queue levels for the traffic flow based on the determined priority may comprise selecting a queue level associated with a latency lower than or equal to the required latency of the traffic flow.
[0015] The method may further comprise selecting, at a first device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a first queue level of the multiple queue levels for the traffic flow, and determining, at a second device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, whether to change from the first queue level to a second queue level of the multiple queue levels for the traffic flow on the basis of determining that resources associated with the first queue level are below a predefined threshold level, wherein the predefined threshold level defines resources required by the traffic flow, wherein the second queue level comprises a queue level associated with a different latency than the first queue level.
[0016] The method may further comprise changing, at the second device, from the first queue level to the second queue level, wherein the second queue level is associated with a lower latency than the first queue level, and selecting, at a third device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a third queue level of the multiple queue levels, wherein the third queue level is associated with a higher latency than the first queue level.
[0017] The method may further comprise changing, at the second device, from the first queue level to the second queue level, wherein the second queue level is associated with a higher latency than the first queue level, and selecting, at a third device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a third queue level of the multiple queue levels, wherein the third queue level is associated with a lower latency than the first queue level.
[0018] The method may further comprise sending, from a source of the traffic flow to the destination of the traffic flow, a signaling message, wherein the signaling message comprises a counter defining the remaining number of hops required for the traffic flow to reach the destination.
[0019] A second aspect of the present disclosure provides a computer readable storage medium comprising computer program code, accessible by an apparatus comprising a processor, to provide instructions and / or data to the apparatus, the computer program code configured to, with the processor, cause the apparatus to determine a priority of a traffic flow in the TSN at each device of multiple devices for the TSN as the traffic flow traverses the multiple devices, wherein the priority of the traffic flow in the TSN is determined based on a latency budget of the traffic flow and a remaining number of hops required for the traffic flow to reach a destination, wherein the latency budget of the traffic flow is determined based on an end-to- end, E2E, latency and a latency experienced by the traffic flow at previous devices of the multiple devices for the TSN, and select a queue level of multiple queue levels for the traffic flow based on the determined priority, wherein selecting the queue level comprises reserving resources for the traffic flow at the selected queue level.
[0020] In an implementation of the second aspect, reserving resources for the traffic flow at the selected queue level may comprise allocating a bandwidth associated with the selected queue level for the traffic flow.
[0021] Selecting the queue level of the multiple queue levels for the traffic flow based on the determined priority may comprise selecting a queue level associated with a latency lower than or equal to the required latency of the traffic flow.
[0022] The computer program code may be further configured to, with the processor, cause the apparatus to select, at a first device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a first queue level of the multiple queue levels for the traffic flow, and determine, at a second device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, whether to change from the first queue level to a second queue level of the multiple queue levels for the traffic flow on the basis of determining that resources associated with the first queue level are below a predefined threshold level, wherein the predefined threshold level defines resources required by the traffic flow, wherein the second queue level comprises a queue level associated with a different latency than the first queue level.
[0023] The computer program code may be further configured to, with the processor, cause the apparatus to change, at the second device, from the first queue level to the second queue level, wherein the second queue level is associated with a lower latency than the first queue level, and select, at a third device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a third queue level of the multiple queue levels, wherein the third queue level is associated with a higher latency than the first queue level. The computer program code may be further configured to, with the processor, cause the apparatus to change, at the second device, from the first queue level to the second queue level, wherein the second queue level is associated with a higher latency than the first queue level, and select, at a third device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a third queue level of the multiple queue levels, wherein the third queue level is associated with a lower latency than the first queue level.
[0024] The computer program code may be further configured to, with the processor, cause the apparatus to send, from a source of the traffic flow to the destination of the traffic flow, a signaling message, wherein the signalling message comprises a counter defining the remaining number of hops required for the traffic flow to reach the destination.
[0025] A third aspect of the present disclosure provides an apparatus for resource management in a time-sensitive network, TSN, the apparatus comprising a processor, and a memory coupled to the processor, the memory configured to store program code executable by the processor, the program code comprising one or more instructions, whereby to cause the apparatus to determine a priority of a traffic flow in the TSN at each device of multiple devices for the TSN as the traffic flow traverses the multiple devices, wherein the priority of the traffic flow in the TSN is determined based on a latency budget of the traffic flow and a remaining number of hops required for the traffic flow to reach a destination wherein the latency budget of the traffic flow is determined based on an end-to-end, E2E, latency and a latency experienced by the traffic flow at previous devices of the multiple devices for the TSN, and select a queue level of multiple queue levels for the traffic flow based on the determined priority, wherein selecting the queue level comprises reserving resources for the traffic flow at the selected queue level.
[0026] These and other aspects of the invention will be apparent from the embodiment s) described below.
[0027] BRIEF DESCRIPTION OF THE DRAWINGS
[0028] In order that the present invention may be more readily understood, embodiments of the invention will now be described, by way of example, with reference to the accompanying drawings, in which:
[0029] Figure 1 is a flow chart of a method of resource management in a time-sensitive network according to an example;
[0030] Figure 2 Figures 2a and 2b are a depiction of the reservation behaviour using fixed scheduling and DAP -based scheduling, respectively, according to an example;
[0031] Figure 3 is a depiction of different service levels according to an example;
[0032] Figure 4 is a depiction of the flow down-ranking mechanism according to an example;
[0033] Figure 5 is a depiction of the flow up-ranking mechanism according to an example;
[0034] Figure 6 is a flow chart of the flow down-ranking mechanism according to an example;
[0035] Figure 7 is a flow chart of the flow up-ranking mechanism according to an example; and
[0036] Figure 8 is a schematic representation of an apparatus according to an example.
[0037] DETAILED DESCRIPTION
[0038] Example embodiments are described below in sufficient detail to enable those of ordinary skill in the art to embody and implement the systems and processes herein described. It is important to understand that embodiments can be provided in many alternate forms and should not be construed as limited to the examples set forth herein.
[0039] Accordingly, while embodiments can be modified in various ways and take on various alternative forms, specific embodiments thereof are shown in the drawings and described in detail below as examples. There is no intent to limit to the particular forms disclosed. On the contrary, all modifications, equivalents, and alternatives falling within the scope of the appended claims should be included. Elements of the example embodiments are consistently denoted by the same reference numerals throughout the drawings and detailed description where appropriate.
[0040] The terminology used herein to describe embodiments is not intended to limit the scope. The articles “a,” “an,” and “the” are singular in that they have a single referent, however the use of the singular form in the present document should not preclude the presence of more than one referent. In other words, elements referred to in the singular can number one or more, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes,” and / or “including,” when used herein, specify the presence of stated features, items, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, items, steps, operations, elements, components, and / or groups thereof.
[0041] Unless otherwise defined, all terms (including technical and scientific terms) used herein are to be interpreted as is customary in the art. It will be further understood that terms in common usage should also be interpreted as is customary in the relevant art and not in an idealized or overly formal sense unless expressly so defined herein.
[0042] According to an example, there is provided a mechanism to ensure QoS for time-sensitive and real-time traffic. More specifically, aspects relate to accommodating a greater load of real-time and time-sensitive traffic in a distributed network by performing the resource allocation and the queue level selection based on dynamic scheduling using a dynamic adaptive priority parameter rather than the fixed priority used by the SRP and RAP. In other words, the present invention addresses the utilisation limitation imposed by existing TSN resource management protocols (for example, SRP and RAP) through a mechanism for resource management and deterministic scheduling based on Dynamic Adaptive Priority (DAP). The invention builds upon these protocols by introducing resource allocation driven by DAP and allowing for flow re-ranking (i.e., assigning alternative queue levels) when necessary.
[0043] Examples in the present disclosure can be provided as methods, systems or machine-readable instructions, such as any combination of software, hardware, firmware or the like. Such machine-readable instructions may be included on a computer readable storage medium (including but not limited to disc storage, CD-ROM, optical storage, etc.) having computer readable program codes therein or thereon.
[0044] The present disclosure is described with reference to flow charts and / or block diagrams of the method, devices and systems according to examples of the present disclosure. Although the flow diagrams described above show a specific order of execution, the order of execution may differ from that which is depicted. Blocks described in relation to one flow chart may be combined with those of another flow chart. In some examples, some blocks of the flow diagrams may not be necessary and / or additional blocks may be added. It shall be understood that each flow and / or block in the flow charts and / or block diagrams, as well as combinations of the flows and / or diagrams in the flow charts and / or block diagrams can be realized by machine readable instructions.
[0045] The machine-readable instructions may, for example, be executed by a machine such as a general-purpose computer, user equipment such as a smart device, e.g., a smart phone, a special purpose computer, an embedded processor or processors of other programmable data processing devices to realize the functions described in the description and diagrams. In particular, a processor or processing apparatus may execute the machine-readable instructions. Thus, modules of apparatus (for example, a module implementing a comparator unit, or a firewall structure and so on) may be implemented by a processor executing machine readable instructions stored in a memory, or a processor operating in accordance with instructions embedded in logic circuitry. The term 'processor' is to be interpreted broadly to include a CPU, processing unit, ASIC, logic unit, or programmable gate set etc. The methods and modules may all be performed by a single processor or divided amongst several processors.
[0046] Such machine-readable instructions may also be stored in a computer readable storage that can guide the computer or other programmable data processing devices to operate in a specific mode. For example, the instructions may be provided on a non-transitory computer readable storage medium encoded with instructions, executable by a processor.
[0047] Figure 1 is a flow chart of a method of resource management in a time-sensitive network according to an example. The method comprises, in block 101, determining a priority of a traffic flow in the time-sensitive network (TSN) at each device of multiple devices for the TSN as the traffic flow traverses the multiple devices. In other words, according to the present invention, resource allocation and queue level selection may be based on dynamic scheduling using a dynamic adaptive priority parameter, rather than the fixed priority used by the SRP and RAP.
[0048] The priority of the traffic flow in the TSN is determined based on a latency budget of the traffic flow and a remaining number of hops required for the traffic flow to reach a destination. The latency budget of the traffic flow is determined based on an-end-to-end (E2E) latency and a latency experienced by the traffic flow at previous devices of the multiple devices for the TSN. The latency budget may represent the remaining latency budget for the current and subsequent hops as the traffic flow traverses the multiple devices between the source and the destination in the TSN. The latency budget may be distributed equally over the remaining hops, determining the required latency at the current hop according to the equation shown below, considering:
[0049] The flow’s required E2E latency (MaxLatency, 1)
[0050] The flow’s experienced latency at previous hops (AccumulatedLatency, A)
[0051] The number of remaining hops to reach the destination (NumRemainingHops, )
[0052] MaxLatency — AccumulatedLatency RequiredLatency = - - - - - — — -
[0053] NumRemainingHops
[0054] The flow’s required E2E latency may determine the maximum permissible latency for the flow’s packets from the source (e.g., Talker) to the destination (e.g., Listener) of the traffic flow. The E2E latency may already be represented as a 32-bit value in the SRP’s Talker advertise message as MaxLatency. The latency experienced by the traffic flow at the previous devices of the multiple devices for the TSN may determine the cumulative worst-case latency the flow has experienced on its path from the source to the current node. This value may also already be represented as a 32-bit value in the SRP’s Talker advertise message as AccumulatedLatency, and in the RAP’s Talker announce message as AccumulatedMaximumLatency . Initially, at the source the value representing the latency experienced by the traffic flow at the previous devices of the multiple devices for the TSN may be set to the worst-case latency of the Talker’s egress port, and may be accumulated at each hop by the worst-case latency of the selected queue level. Although the MaxLatency and AccumulatedLatency already exist in the signalling message for SRP / RAP, in contrast to the present invention, these parameters are not used for the scheduling decision (i.e., queue level selection). In SRP / RAP, these parameters are only used to ensure that the required E2E latency of the flow is not violated. The required latency may then be mapped to an appropriate queue level that meets the latency requirements. In block 102, the method comprises selecting a queue level of multiple queue levels for the traffic flow based on the determined priority, wherein selecting the queue level comprises reserving resources for the traffic flow at the selected queue level. In other words, the resources may be allocated for the traffic flow at the desired queue level. The required bandwidth for the flow may be determined in the SRP’s signaling message as TrafficSpecification and in the RAP’s signaling message as TSpec. As discussed in more detail below, if the resources at the desired queue level are insufficient, the re-ranking mechanism may assign an alternative queue level for the flow.
[0055] In an example, the required latency is mapped to the lowest-priority queue level, where the worst-case latency of the queue level is less than or equal to the required latency. Advantageously, by calculating the required latency (as well as selecting a queue level) at each hop, the invention enables the dynamic scheduling and dynamic resource management in a TSN.
[0056] In addition, since the resources (e.g., bandwidth, latency, or similar) are allocated based on the traffic flow’s latency budget (MaxLatency - AccumulatedLatency), deterministic scheduling with bounded E2E latency can be ensured. Figures 2a and 2b are a depiction of the reservation behaviour using fixed scheduling and DAP-based scheduling, respectively, according to an example. Same elements are denoted using the same reference numerals and function likewise. The flows depicted in Figures 2a and 2b require a 70ps E2E latency, but the invention is not limited thereto. Using fixed scheduling (Figure 2a), the queue level is pre-selected and not changed at any of the hops. In the example of Figure 2a, the pre-selected queue level (i.e., a second queue level 211) for fixed scheduling results in the traffic flow from a source 250 to a destination 260 being delivered in 60ps (20ps at a first hop 201, 20ps at a second hop 202, 20ps at a third hop 203). In contrast, using DAP (Figure 2b), the queue level may be changed as required at any of the hops. In the example of Figure 2b, at the last hop 203 of the multiple hops, a lower queue level is selected, such that the flow is delivered in 70ps (20ps at the first hop 201, 20ps at the second hop 202, 30ps at the third hop 203), i.e., exactly meeting its E2E latency requirement without any waste of resources. As such, higher priority resources maybe be reserved for flows with tighter latency constraints. Figure 3 is a depiction of different service levels according to an example. In a traditional scenario, where flows are assigned a fixed priority, a network 301 distinguishes only between three service levels:
[0057] Flows requiring an E2E latency between 30 and 60ps are mapped to a first queue level 310, achieving a 30ps E2E latency.
[0058] Flows requiring an E2E latency between 60 and 90ps are mapped to a second queue level 311, achieving a 60ps E2E latency.
[0059] Flows requiring an E2E latency of 90ps or more are mapped to a third queue level 312, achieving a 90ps E2E latency.
[0060] In other words, the fixed priority approach provides only three service levels, reflecting the three queue levels available at each hop. In contrast, for a network 302 utilising DAP -based scheduling, additional service levels may be introduced. The network 302 may differentiate between flows with different latency requirements on a per-hop basis. For example:
[0061] Flows requiring a 30ps E2E latency may select a first queue level 310 at all three hops depicted in the Figure, thereby achieving a 30ps E2E latency.
[0062] Flows requiring a 40ps E2E latency may select the first queue level 310 at the first two hops, and then select a second queue level 311 at the third hop, thereby achieving a 40ps E2E latency.
[0063] Flows requiring a 50ps E2E latency may select the first queue level 310 at the first hop, and then select the second queue level 311 at the second and third hops, thereby achieving a 50ps E2E latency.
[0064] As such, the network 302 according to the present invention can approximate the latency guarantees associated with the per-flow queuing while maintaining the advantages of per-class queuing, which has lower complexity and greater scalability. The precision of DAP-based scheduling in providing these extra service levels may be further improved by providing an increased number of queue levels available at each hop.
[0065] The intermediate nodes (i.e., devices of the multiple devices for the TSN as the traffic flow traverses the multiple devices) may autonomously re-rank or re-assign different queue levels for flows when the desired queue level lacks sufficient resources. Here, the term “desired queue level” refers to queue level associated with the required latency (RequiredLatency) discussed earlier in this section.
[0066] Up-ranking may comprise assigning the flow to a queue level associated with a higher priority and a better ‘worst-case’ latency. When up-ranking is requested, the mechanism may check the availability of sufficient resources at higher priority queue levels in descending order, starting from the desired queue level and proceeding to queue level q min (i.e., the queue level representing the highest priority queue level that allows resource sharing). Typically, the q min may be set to the index of the highest priority queue, but the invention is not limited thereto. In an embodiment, the q min may be set to a different value in order to reserve the highest priority queue level for the most critical flows only. The up-ranking process may stop as soon as a queue with adequate resources has been found.
[0067] This mechanism is depicted in Figure 7, which is a flow chart of the flow up-ranking mechanism according to an example. In block 701, an up-rank request may be received. In block 702, the mechanism may check whether the resources (e.g., bandwidth) at a queue level are sufficient to support the required latency. If the resources are sufficient, the current queue level q may be selected in block 703. If the resources are not sufficient, in block 704, the mechanism may proceed to a higher priority queue level (i.e., a queue level having a smaller index). In block 705, if the queue level is a queue level having a priority lower than or equal to q min, the mechanism may once again check whether the resources at the current queue level are sufficient (block 702). If the current queue level is a higher priority queue level compared to q min, the mechanism ends (block 706) and no up-ranking is performed.
[0068] In contrast to up-ranking, down-ranking may comprise assigning the flow to a queue level with a lower priority and a worse ‘worst-case’ latency. When down-ranking is requested, the mechanism according to the present invention may check the availability of sufficient resources (e.g., the bandwidth) at lower priority queue levels in ascending order, starting from the desired queue level and proceeding to queue level q max. The queue level q max may represent the lowest priority queue level having a worst-case latency which can be compensated using a queue level q min (i.e., a queue level representing the highest priority queue level that allows resource sharing) at all subsequent hops until reaching the destination, thus not violating the required E2E latency of the traffic flow. The down-ranking process may stop as soon as a queue level with adequate resources is found. This mechanism is depicted in Figure 6, which is a flow chart of the flow down-ranking mechanism according to an example. In block 601, a down-rank request may be received. In block 602, the mechanism may check whether the resources (e.g., bandwidth) at a queue level are sufficient to support the required latency. If the resources are sufficient, the current queue level q may be selected in block 603. If the resources are not sufficient, in block 604, the mechanism may proceed to a lower priority queue level (i.e., a queue level having a larger index). In block 605, if the queue level is a queue having a priority higher than or equal to q max, the mechanism may once again check whether the resources at the current queue level are sufficient (block 602). If the current queue level is a lower priority queue level compared to q max, the mechanism ends (block 606) and no down-ranking is performed.
[0069] Different approaches may be available in order to realise the re-ranking mechanism according to the present invention. An example of such may include up-down-ranking. In the up-downranking, the preference may be given to up-ranking the flow. Initially, the mechanism may attempt up-ranking by checking for available resources at higher-priority levels. If it reaches queue level (q min) and no adequate resources are still found, the mechanism may switch to down-ranking by checking the availability of resources at lower-priority levels up to (q max).
[0070] Similarly, down-up-ranking may be utilised. In the down-up-ranking, the down-ranking may precede the up-ranking. Initially, the mechanism may attempt down-ranking by checking for available resources at lower-priority levels. If it reaches queue level (q max) and no adequate resources are still found, the mechanism may switch to up-ranking by checking the availability of resources at higher-priority levels up to (q min). Another approach to the re-ranking may comprise random re-ranking. In such case, the method may comprise randomly generating a value (e.g., a 1 or a 0) every time flow re-ranking occurs and deciding whether to start with up- ranking or down-ranking the flow. In other words, the mechanism may randomly apply either the down-up-ranking or the up-down-ranking described above. Alternatively, balanced reranking may be applied to queue levels when re-ranking, such that the queue level (between q min and q max) with the most available resources may be selected.
[0071] When a re-ranking occurs at any hop, it changes / affects the initially expected latency distribution assumed forthat specific hop, causing a change in the latency behavior. Leveraging the DAP -based scheduling, the change of latency may be dynamically adjusted at subsequent hops. Figure 4 is a depiction of the flow down-ranking mechanism according to an example. In particular, Figure 4 depicts down-ranking at a second hop and a latency adjustment at a third hop. The down-ranking may comprise assigning the flow to a queue level with a lower priority and a worse ‘worst-case’ latency. In the example of Figure 4, a 60ps E2E latency from the source 450 to the destination 460 is required. Although the E2E latency requirement could be satisfied by selecting a second queue 411 (associated with a latency of 20ps) at each hop, in the example of Figure 4, at a second hop 402, a third queue level 412 (associated with a latency of 30ps) is selected instead of the second queue level 311. This is due to unavailability of resources at the second queue level. Thus, the re-ranking mechanism down-ranks the flow by assigning it to a lower priority queue level. After the down-ranking occurs, a dynamic latency adjustment occurs at the subsequent hops (via the use of DAP -based scheduling) in order to meet the E2E latency requirements. For example, in order to meet the E2E latency requirement of 60ps for the traffic flow, at a third hop 403, a higher priority queue level (i.e., a queue level associated with a lower latency) is selected - in the example of Figure 4, a first queue level 410 (associated with a latency of 1 Opts) is selected. In other words, the DAP -based scheduler may dynamically compensate the wasted latency by assigning the flow to a higher priority queue level at the last hop 403 (although the invention is not limited thereto and the compensation may occur at any subsequent hop), based on the flow’s latency \)\i< §,Q\. i.Q., MaxLatency-AccumulatedLatency).
[0072] Similarly, Figure 5 is a depiction of the flow up-ranking mechanism according to an example. In particular, Figure 5 depicts up-ranking at a second hop and a latency adjustment at a third hop. The up-ranking may comprise assigning the flow to a queue level with a higher priority and a better ‘worst-case’ latency. In the example of Figure 5, a 60ps E2E latency is required. Although the E2E latency requirement could be satisfied by selecting a second queue 511 (associated with a latency of 20ps) at each hop, in the example of Figure 5, at a second hop, a first queue level 510 (associated with a latency of I Ops) is selected. As was the case with Figure 4, the re-ranking occurs due to the unavailability of resources at the second queue level. In order to meet the E2E latency requirement of 60ps for the traffic flow, at a third hop, a lower priority queue level (i.e., a queue level associated with a higher latency) is selected - in the example of Figure 5, a third queue level 512 (associated with a latency of 30ps) is selected. In other words, the DAP-based scheduler may dynamically relax the latency constraint by assigning the flow to a lower priority queue level at the last hop (although the invention is not limited thereto and the compensation may occur at any subsequent hop) based on the flow’s latency budget (i.e., MaxLatency - AccumulatedLatency).
[0073] Advantageously, for both down-ranking and up-ranking, the traffic flow may arrive to the destination with a zero-latency budget, avoiding a waste of resources. The use of dynamic reranking enables the solution set provided by SRP and RAP to be expanded, thereby allowing the network to accept more flows. Together with the DAP -based scheduling, the re-ranking mechanism optimally utilises the remaining resources on the shortest path, whilst ensuring that the traffic flows reach their destination while meeting the E2E latency requirement. In contrast, for SRP and RAP, only one predetermined queue level is considered as the traffic flow traverses the nodes between the source and the destination of the flow. If the resources are insufficient at any of the nodes (i.e., the queue level cannot be supported), the flow is rejected.
[0074] As discussed above, in order to determine the required latency, the present invention considers the remaining number of hops required for the traffic flow to reach the destination. In order to track the remaining number of hops, a hop-counter parameter may be integrated into the signaling messages to enhance network awareness and enable dynamic scheduling. That is, the hop-counter parameter (NumRemainingHops) may be integrated into the signalling message of SRP and RAP. The hop-counter parameter may be expressed as an 8-bit integer, initially set to the number of hops between the source (e.g., Talker) and the destination (e.g., Listener). At each hop, the hop-counter parameter may be decremented (NumRemainingHops = NumRemainingHops - 7) to reflect the current number of remaining hops to reach the destination.
[0075] Figure 8 is a schematic representation of an apparatus according to an example. The system 800 comprises a processor 803, and a memory 805 coupled to the processor 803 and configured to store instructions or program code 807, executable by the processor 803. The apparatus 800 can be, e.g., a computing system or apparatus, user equipment, a network device (physical or virtual), or part thereof. The apparatus 800 comprises the program code 807 arranged to cause the apparatus to perform the method of resource management in a time- sensitive network (TSN) described above in relation to Figures 1-7.
[0076] According to an example, machine-readable instructions can be loaded onto a computer or other programmable data processing devices, so that the computer or other programmable data processing devices perform a series of operations to produce computer-implemented processing, thus the instructions executed on the computer or other programmable devices provide an operation for realizing functions specified by flow(s) in the flow charts and / or block(s) in the block diagrams.
[0077] Further, the teachings herein may be implemented in the form of a computer or software product, such as a non-transitory machine-readable storage medium, the computer software or product being stored in a storage medium and comprising a plurality of instructions, e.g., machine readable instructions, for making a computer device implement the methods recited in the examples of the present disclosure.
[0078] In some examples, some methods can be performed in a cloud-computing or network-based environment. Cloud-computing environments may provide various services and applications via the Internet. These cloud-based services (e.g., software as a service, platform as a service, infrastructure as a service, etc.) may be accessible through a web browser or other remote interface of the user equipment for example. Various functions described herein may be provided through a remote desktop environment or any other cloud-based computing environment.
[0079] While various embodiments have been described and / or illustrated herein in the context of fully functional computing systems, one or more of these exemplary embodiments may be distributed as a program product in a variety of forms, regardless of the particular type of computer- readable-storage media used to actually carry out the distribution. The embodiments disclosed herein may also be implemented using software modules that perform certain tasks. These software modules may include script, batch, or other executable files that may be stored on a computer-readable storage medium or in a computing system. In some embodiments, these software modules may configure a computing system to perform one or more of the exemplary embodiments disclosed herein. In addition, one or more of the modules described herein may transform data, physical devices, and / or representations of physical devices from one form to another.
[0080] The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the exemplary embodiments disclosed herein. This exemplary description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the instant disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference should be made to the appended claims and their equivalents in determining the scope of the instant disclosure.
Claims
CLAIMS1. A method of resource management in a time-sensitive network, TSN, the method comprising: determining a priority of a traffic flow in the TSN at each device of multiple devices for the TSN as the traffic flow traverses the multiple devices, wherein the priority of the traffic flow in the TSN is determined based on a latency budget of the traffic flow and a remaining number of hops required for the traffic flow to reach a destination, wherein the latency budget of the traffic flow is determined based on an end-to-end, E2E, latency and a latency experienced by the traffic flow at previous devices of the multiple devices for the TSN (101); and selecting a queue level of multiple queue levels for the traffic flow based on the determined priority (102), wherein selecting the queue level comprises reserving resources for the traffic flow at the selected queue level.
2. The method of claim 1, wherein reserving resources for the traffic flow at the selected queue level comprises allocating a bandwidth associated with the selected queue level for the traffic flow.
3. The method of claim 1 or 2, wherein selecting the queue level of the multiple queue levels for the traffic flow based on the determined priority (102) comprises selecting a queue level associated with a latency lower than or equal to the required latency of the traffic flow.
4. The method of claim 1, 2 or 3, further comprising: selecting, at a first device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a first queue level of the multiple queue levels for the traffic flow; and determining, at a second device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, whether to change from the first queue level to a second queue level of the multiple queue levels for the traffic flow on the basis of determining that resources associated with the first queue level are below a predefined threshold level, wherein the predefined threshold level defines resources required by the traffic flow,wherein the second queue level comprises a queue level associated with a different latency than the first queue level.
5. The method of claim 4, further comprising: changing, at the second device, from the first queue level to the second queue level, wherein the second queue level is associated with a lower latency than the first queue level; and selecting, at a third device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a third queue level of the multiple queue levels, wherein the third queue level is associated with a higher latency than the first queue level.
6. The method of claim 4, further comprising: changing, at the second device, from the first queue level to the second queue level, wherein the second queue level is associated with a higher latency than the first queue level; and selecting, at a third device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a third queue level of the multiple queue levels, wherein the third queue level is associated with a lower latency than the first queue level.
7. The method of any preceding claim, further comprising: sending, from a source of the traffic flow to the destination of the traffic flow, a signaling message, wherein the signaling message comprises a counter defining the remaining number of hops required for the traffic flow to reach the destination.
8. A computer readable storage medium comprising computer program code, accessible by an apparatus comprising a processor, to provide instructions and / or data to the apparatus, the computer program code configured to, with the processor, cause the apparatus to: determine a priority of a traffic flow in a time-sensitive network, TSN, at each device of multiple devices for the TSN as the traffic flow traverses the multiple devices, wherein the priority of the traffic flow in the TSN is determined based on a latency budget of the traffic flow and a remaining number of hops required for the traffic flow to reach a destination, wherein the latency budget of the traffic flow is determined based on an end-to-end, E2E, latency and a latency experienced by the traffic flow at previous devices of the multiple devices for the TSN; and select a queue level of multiple queue levels for the traffic flow based on the determined priority, wherein selecting the queue level comprises reserving resources for the traffic flow at the selected queue level.
9. The computer readable storage medium of claim 8, wherein reserving resources for the traffic flow at the selected queue level comprises allocating a bandwidth associated with the selected queue level for the traffic flow.
10. The computer readable storage medium of claim 8 or 9, wherein selecting the queue level of the multiple queue levels for the traffic flow based on the determined priority comprises selecting a queue level associated with a latency lower than or equal to the required latency of the traffic flow.
11. The computer readable storage medium of claim 8, 9 or 10, wherein the computer program code is further configured to, with the processor, cause the apparatus to: select, at a first device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a first queue level of the multiple queue levels for the traffic flow; and determine, at a second device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, whether to change from the first queue level to a second queue level of the multiple queue levels for the traffic flow on the basis of determining that resources associated with the first queue level are below a predefined threshold level, wherein the predefined threshold level defines resources required by the traffic flow, wherein the second queue level comprises a queue level associated with a different latency than the first queue level.
12. The computer readable storage medium of claim 11, wherein the computer program code is further configured to, with the processor, cause the apparatus to: change, at the second device, from the first queue level to the second queue level, wherein the second queue level is associated with a lower latency than the first queue level; andselect, at a third device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a third queue level of the multiple queue levels, wherein the third queue level is associated with a higher latency than the first queue level.
13. The computer readable storage medium of claim 12, wherein the computer program code is further configured to, with the processor, cause the apparatus to: change, at the second device, from the first queue level to the second queue level, wherein the second queue level is associated with a higher latency than the first queue level; and select, at a third device of the multiple devices for the TSN as the traffic flow traverses the multiple devices, a third queue level of the multiple queue levels, wherein the third queue level is associated with a lower latency than the first queue level.
14. The computer readable storage medium of any one of claims 8 to 13, wherein the computer program code is further configured to, with the processor, cause the apparatus to: send, from a source of the traffic flow to the destination of the traffic flow, a signaling message, wherein the signalling message comprises a counter defining the remaining number of hops required for the traffic flow to reach the destination.
15. Apparatus (800) for resource management in a time-sensitive network, TSN, the apparatus comprising: a processor (803); a memory (805) coupled to the processor (803), the memory (805) configured to store program code (807) executable by the processor (803), the program code (807) comprising one or more instructions, whereby to cause the apparatus (800) to: determine a priority of a traffic flow in the TSN at each device of multiple devices for the TSN as the traffic flow traverses the multiple devices, wherein the priority of the traffic flow in the TSN is determined based on a latency budget of the traffic flow and a remaining number of hops required for the traffic flow to reach a destination wherein the latency budget of the traffic flow is determined based on an end-to-end, E2E, latency and a latency experienced by the traffic flow at previous devices of the multiple devices for the TSN; andselect a queue level of multiple queue levels for the traffic flow based on the determined priority, wherein selecting the queue level comprises reserving resources for the traffic flow at the selected queue level.
16. The apparatus (800) of claim 15, wherein reserving resources for the traffic flow at the selected queue level comprises allocating a bandwidth associated with the selected queue level for the traffic flow.
17. The apparatus (800) of claim 15 or 16, wherein selecting the queue level of the multiple queue levels for the traffic flow based on the determined priority comprises selecting a queue level associated with a latency lower than or equal to the required latency of the traffic flow.
Citation Information
Patent Citations
Time-sensitive network flow scheduling method and device based on data frame dynamic priority
CN115835402A
Data stream scheduling method and device, electronic equipment and storage medium
CN116599913A