Method and apparatus for transmitting messages

By utilizing opportunistic search and self-preemption mechanisms in time-sensitive networks, the problem of large frame interference is solved, enabling the transmission of large frames without violating the maximum interference time, thereby improving the network's resource utilization efficiency and robustness.

CN122179369APending Publication Date: 2026-06-09NXP BV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
NXP BV
Filing Date
2025-11-19
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

In existing time-sensitive networks, large message frames can interfere with other time-critical streams, exceeding the maximum interference time and causing timing violations. Existing technologies typically discard these frames, but this can waste bandwidth and data.

Method used

By receiving messages on multiple channels, the transmission time and channel state are determined. Opportunity-seeking and self-preemption mechanisms are used to allow the transmission of large frames without violating the maximum interference time. This includes splitting frames into sub-messages or modifying frames to make them preemptible. Transmission opportunities are found by utilizing the credit and configuration state of the channels.

Benefits of technology

By ensuring the transmission time limit of time-critical streams without wasting bandwidth and data, the robustness and resource utilization efficiency of time-sensitive networks are enhanced, and the waste of dropped frames is avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122179369A_ABST
    Figure CN122179369A_ABST
Patent Text Reader

Abstract

The present invention relates to a method and apparatus for transmitting messages. A method for transmitting a message onto a time sensitive network, wherein the method comprises: receiving a message on a plurality of different channels; determining a frame time required to transmit a first received message from a first channel onto the network. If the frame time is greater than a predetermined maximum time period, maxInterferenceTime, permitted to transmit a single message within the network, then determining a minimum time, waitTime, until a second message on a second channel can become available for transmission. If the waitTime is greater than or equal to the difference between the frame time and the maxInterferenceTime, then transmitting the first message.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a method and apparatus for transmitting messages over a network (e.g., transmitting Ethernet frames over a time-sensitive network). Background Technology

[0002] The key flow control method in Time-Sensitive Networking (TSN) is Credit-Based Shaping (CBS). CBS tracks the credit value of each traffic queue at the network device's egress and restricts transmissions from each traffic queue to begin only when the associated credit is non-negative. Summary of the Invention

[0003] According to a first aspect of this disclosure, a method for transmitting messages to a time-sensitive network is provided, wherein the method includes:

[0004] Receive messages on multiple different channels;

[0005] Determine the frame time required to transmit the first received message from the first channel to the network.

[0006] If the frame time is greater than the maximum interference time (maxInterferenceTime) of the predetermined maximum time period allowed to transmit a single message within the network, then

[0007] Determine the minimum time delay until the second message on the second channel becomes available for transmission; and

[0008] If the waiting time is greater than or equal to the difference between the frame time and the maximum interference time, then the first message is transmitted.

[0009] In one or more embodiments, the method further includes:

[0010] If the frame size of the first received message is greater than the maximum frame size of the time-sensitive network, then the first message is discarded.

[0011] The time for a message with a transmission size equal to the maximum frame size represents a time longer than the maximum interference time.

[0012] In one or more embodiments, the method further includes:

[0013] If the frame time is less than the maximum interference time, then the first message is transmitted according to the method selected for normal transmission in the time-sensitive network.

[0014] In one or more embodiments, the step of determining the waiting time includes:

[0015] Determine when there will be sufficient credit associated with the second channel for the second message to be ready for transmission.

[0016] In one or more embodiments:

[0017] The second channel can be configured as: i) an open channel, wherein messages received on the second channel are eligible for transmission on the time-sensitive network; or ii) a closed channel, wherein messages received on the second channel are not eligible for transmission on the time-sensitive network; and

[0018] The steps to determine the waiting time include:

[0019] Determine the time until the second channel is configured as an open channel.

[0020] In one or more embodiments, the method further includes:

[0021] If the waiting time is less than the difference between the frame time and the maximum interference time, then the first message is discarded.

[0022] In one or more embodiments, the method further includes:

[0023] If the waiting time is less than the difference between the frame time and the maximum interference time, then wait for a period of time and then repeat the following steps:

[0024] If the frame time is greater than the maximum interference time, then determine the minimum waiting time until the message on the second channel frame becomes available for transmission; and

[0025] If the waiting time is greater than or equal to the difference between the frame time and the maximum interference time, then the first message is transmitted.

[0026] In one or more embodiments, the method further includes:

[0027] If the waiting time is less than the difference between the frame time and the maximum interference time, then:

[0028] Divide the first message into two or more sub-messages;

[0029] Determine the time required to transmit each sub-message; and

[0030] If the time required to transmit each corresponding sub-message is less than or equal to the maximum interference time, then each sub-message is transmitted sequentially to the network, so that a second message from the second channel can be transmitted between the sub-messages if needed.

[0031] In one or more embodiments, dividing the first message into two or more sub-messages includes applying preemption to the first message.

[0032] In one or more embodiments:

[0033] If the frame time is greater than the maximum interference time, then

[0034] If the first message is not yet preemptible, then modify the first message to make it preemptible before dividing it into the two or more sub-messages.

[0035] In one or more embodiments, the method further includes:

[0036] If the time required to transmit any of the corresponding sub-messages is greater than the maximum interference time, then the first message is discarded.

[0037] Also disclosed is a device configured to perform any of the methods disclosed herein.

[0038] A computer program configured to perform any of the methods disclosed herein is also disclosed.

[0039] While this disclosure allows for various modifications and alternatives, details have been illustrated in the drawings by way of example and will be described in detail. However, it should be understood that other embodiments besides the specific embodiments described may also exist. All modifications, equivalents, and alternative embodiments falling within the spirit and scope of the appended claims are also covered.

[0040] The foregoing discussion is not intended to present every exemplary embodiment or implementation within the scope of the present or future claims. The accompanying drawings and detailed description further illustrate various exemplary embodiments. A more complete understanding of the various exemplary embodiments can be obtained by considering the following detailed description in conjunction with the accompanying drawings. Attached Figure Description

[0041] One or more embodiments will now be described with reference to the accompanying drawings, by way of example only, in which:

[0042] Figure 1 This shows a timing diagram in which the first frame X is prepared for transmission shortly before the second frame Y.

[0043] Figure 2 A timing diagram is shown, which illustrates what will happen if frame 'Frame X' from stream X, which has a transmission time greater than 'maximum interference time', is transmitted before frame 'Frame Y' from stream Y;

[0044] Figure 3This document contains illustrations of the 'violating bytes' and 'violating duration' items used in this document.

[0045] Figure 4 This document shows the “opportunities” described in it;

[0046] Figure 5 Examples of devices for transmitting messages to a time-sensitive network according to embodiments of the present disclosure are shown;

[0047] Figure 6 Showing for example Figure 5 A flowchart illustrating a portion of the normal considerations for frame dropping at the exit of a networked device (but not a device according to an embodiment of this disclosure);

[0048] Figure 7 A flowchart is shown illustrating a method for transmitting frames to a time-sensitive network according to embodiments of the present disclosure, the method being [method / method / function]. Figure 4 The device implementation shown in the figure;

[0049] Figure 8 An example is shown illustrating how the waiting time ('t_wait(t_wait)') can be determined according to this disclosure;

[0050] Figure 9 This provides another example of how the waiting time ('t_wait') can be determined according to the examples of this disclosure;

[0051] Figure 10 A flowchart is shown, illustrating a method for transmitting frames to a time-sensitive network according to another embodiment of the present disclosure;

[0052] Figure 11 Examples of methods executable by a self-preemptive block according to embodiments of the present disclosure are shown; and

[0053] Figure 12 A timing diagram is shown, which illustrates how timing can be determined by... Figure 11 This is an example of conditional frame preemption executed by the method. Detailed Implementation

[0054] To configure the credit-based shaper for a TSN network, and to guarantee the upper limit of the transmission time of time-critical flow Y or ensure the schedulability of similar time-critical flows, it is necessary to assume a maximum 'maxInterferingFrameSize' on the frames of any interfering flow X. While using 'maxEthernetFrameSize' as an estimate of 'maxInterferingFrameSize' is a straightforward approach, better guarantees and less wasted configuration are possible when a smaller 'maxInterferingFrameSize' can be assumed.

[0055] In configurations that make such assumptions, frames from stream X larger than the 'maximum interference frame size' need to be handled with care. Generally, such frames are discarded to avoid breaking the assumptions upon which the configuration or analysis is based. However, there are situations where transmitting this frame will not result in a violation of the target quality of service / timing guarantees. In other words, there may be an opportunity to transmit the frame (and thus save bandwidth and data in the system) without exceeding the worst-case timeframe at which it might interfere with other time-critical streams in other queues. This scenario and the opportunities arising therefrom are discussed and illustrated in more detail below.

[0056] Figure 1 The diagram shows a timing diagram where the first frame X is prepared for transmission shortly before the second frame Y. Frame X is transmitted onto the network immediately, and frame Y is transmitted as soon as the transmission of frame X is complete. Therefore, as shown, there is a time interval between when frame Y is prepared for transmission and when it is actually transmitted onto the network. This is labeled in the diagram as 'Interference Time of Frame Y Affected by Frame X'. The time-critical nature of Y necessitates that this 'Interference Time of Frame Y Affected by Frame X' be less than a given 'Maximum Interference Time'.

[0057] Figure 2 A timing diagram is shown illustrating what will happen if frame 'Frame X' from stream X, with a transmission time greater than the 'maximum interference time', is transmitted before frame 'Frame Y' from stream Y. The portion of 'Frame X' extending beyond the 'maximum interference time' is marked as the 'violation duration'. The portion of 'Frame X' transmitted during the 'violation duration' can be identified as the 'frame size'. The actual worst-case response time (WCRT) of frames in stream Y will be much larger than obtained from WCRT analysis or during testing, potentially leading to a timing violation. That is, the 'interference time of Frame Y affected by Frame X' is greater than the 'maximum interference time', which may be unacceptable in some applications.

[0058] Figure 3The illustration shows the 'Frame Size' and 'Violation Duration' items used in this document, which respectively refer to the number of bytes that frame 'Frame X' is larger than the 'Maximum Interference Frame Size' value assumed during network configuration or used in WCRT analysis, and the corresponding transmission time of said number of bytes.

[0059] Figure 4 This document illustrates the “opportunity” described below. Based on an understanding of all shaper configurations and queue states at the network device’s egress, there is a possibility that frame 'Frame X' of stream X may still be transmitted (rather than discarded), having a transmission time 'Maximum Interference Time + Violation Duration' greater than the 'Maximum Interference Time' assumed in the WCRT analysis. That is, Figure 8 The "opportunity" marked in the middle represents a period of time that would not otherwise be utilized, which can be used to extend the available time for transmitting frame X longer than the 'maximum interference time' without causing too long a delay between frame Y being ready for transmission and its actual transmission. In this way, the 'interference time of frame Y affected by frame X' is still less than the 'maximum interference time'.

[0060] The examples disclosed in this article can be used to help save and not waste available bandwidth and data in time-sensitive networks.

[0061] The examples disclosed in this paper enhance the credit-based shaper (CBS) of IEEE 802.1 Ethernet Time-Sensitive Networking (TSN) with cost-effective reservations, where allocated budgets are guaranteed and enforced to prevent over-allocation, while maintaining robustness across priority categories through judicious enforcement. This approach functions as both an enforcement mechanism and an opportunity-seeking mechanism.

[0062] Figure 5 An example of a device 400 for transmitting messages to a time-sensitive network according to an embodiment of the present disclosure is shown. In this example, device 400 is shown as part of a transport selection block 501 in an Ethernet MAC (Media Access Control) at the egress of a networked device. However, it should be understood that the device is not limited to use with Ethernet, and can be used with any suitable time-sensitive network.

[0063] Device 500 receives messages on multiple different channels; in this example, these multiple different channels will be referred to as multiple queues. Figure 5 As shown, in this example, there are eight queues, each of which can provide one or more messages / frames to the transmission selection block 501 for transmission over the network. Messages received from only a single queue can be transmitted over the network at any given time.

[0064] It should be understood that different queues / categories / streams may have different parameters (e.g., maximum interference time, maximum frame size). For example, the values ​​of the various parameters disclosed in this document may differ per queue, per category, or per stream.

[0065] Figure 5 The device 500 shown includes a transmission protection block 502 and a preemption block 503. Reference will be made below. Figure 7 Describe the functionality of these blocks in more detail.

[0066] Figure 6 This shows the maximum frame size and / or transmission time in, for example Figure 5 The flowchart illustrates a portion of the normal considerations for frame dropping at the exit of a networked device (but not the device 500 according to an embodiment of this disclosure). From Figure 6 As can be seen, if the time taken to transmit a frame (frame X) exceeds the 'maximum interference time', then the frame is discarded. This can be considered a normal discarding behavior as part of the transmission selection process, for example, in Ethernet MAC.

[0067] Figure 7 A flowchart is shown illustrating a method for transmitting frames to a time-sensitive network according to embodiments of the present disclosure. The method may be... Figure 5 The device implementation is shown in the diagram. Figure 7 The “Opportunity Seeker” box shows a comparison with Figure 6 The normal behavior shown in the document is a new extension proposed in this document.

[0068] The method is used in multiple different queues (e.g., Figure 5 Messages are received on the queue shown in the image. Figure 7 The steps shown are processing steps performed on the first message received from the first queue with reference to at least one other message subsequently available for transmission. The subsequently available message will be referred to as the second message received on the second queue (which may be any of the queues). The second message may enter its queue after the first message becomes available for transmission. Alternatively, the second message may enter its queue before the first message becomes available for transmission, but the second message will not be available for transmission until after the first message becomes available for transmission.

[0069] In a broad sense, Figure 7 The method involves determining the time frame time required to transmit the first received message from the first channel to the network (in Figure 7 The image is shown as 'Transmission Time (Frame X)'. If the frame time is greater than the maximum interference time of a predetermined maximum time period allowed to transmit a single message within the network, then the method determines the minimum time waiting period until a second message on the second channel becomes available for transmission (in...). Figure 7 (Indicated as 't_wait'). The maximum interference time can be considered as the predetermined maximum time period during which a single message is allowed to be transmitted within the network, affecting the time before the transmission of another message begins. An example of how to determine the wait time will be described below. If the wait time ('t_wait') is greater than or equal to the difference between the frame time and the maximum interference time ('transmission time (frame X)' - 'maximum interference time'), then the transmission of frame X will not result in a violation of the maximum interference time, and the method begins transmitting the first message in step 721.

[0070] Now we will proceed step by step in detail. Figure 7 The method is executed after a message on one of the queues becomes available for transmission / qualified for transmission. This message is referred to as the first message on the first queue among multiple queues, to distinguish it from messages (second messages) that subsequently become available for transmission on one of the other queues. In this context, the "first" queue is the queue associated with the message that will be referred to as the first message; it can be any of the multiple queues and is not necessarily... Figure 5 The diagram shows "Queue 0". One or both of the following two parameters can be used to represent the first message: frame time and frame size. Frame time represents the length of time taken to transmit the first message. Frame size represents the size of the first message, for example, in bits or bytes.

[0071] Figure 7 The method in step 714 compares the frame size with the predetermined maximum message size of the time-sensitive network (which is in...). Figure 7 The process begins by comparing the frame time (referred to as 'Maximum Frame Size (MAC)'). The maximum frame size ('Maximum Frame Size (MAC)') corresponds to a time longer than the maximum interference time. The maximum frame size ('Maximum Frame Size (MAC)') represents the maximum message / frame size that the network can process. The maximum interference time represents the maximum acceptable delay between when a message / frame is available for transmission and when it is actually transmitted. The maximum interference time is particularly important for high-priority messages or messages with timing requirements, ensuring that the message is not delayed too much. If the frame time ('Frame Size X (SizeFrameX)') is greater than the maximum frame size ('Maximum Frame Size (MAC)'), then the method discards the first message in step 715. That is, the first message is not transmitted because it is too large for the network.

[0072] If the frame size ('frame size X') is not greater than the maximum frame size ('maximum frame size MAC'), then the method proceeds to step 710.

[0073] In step 710, the frame time ('transmission time (frame X)') of the first message is compared with the maximum interference time. If the frame time ('transmission time (frame X)') is not greater than the maximum interference time, the method moves to step 716, whereby the first message is processed such that it participates in normal transmission selection. That is, the first message is transmitted according to the method used for normal transmission selection in time-sensitive networks. If the frame time ('transmission time (frame X)') is greater than the maximum interference time, the method moves to step 713, whereby the method determines whether there is an opportunity to send the first message without violating the maximum interference time of any second message that subsequently becomes available for transmission.

[0074] In step 713, the method checks other queues to determine if another message is available for transmission. If so, it is considered unacceptable to begin sending the first message because the delay before the other message can be transmitted would violate the maximum interference time. Therefore, if the other message is available for transmission, the method proceeds to step 717.

[0075] In step 717, the method may: wait for a period of time and then return to step 714, or discard the frame. However, in another example, the method may wait for a period of time and then return to step 713, because it may be deemed unnecessary to repeat steps 714 and 710. In some implementations, if the method repeatedly loops through step 717 a predetermined number of times without being able to send the first message, or if a timeout occurs, then the first message is discarded.

[0076] If it is determined in step 713 that another message is unavailable for transmission, the method proceeds to step 711. In step 711, the method determines a minimum waiting time ('t_wait') until a second message on the second channel becomes available / eligible for transmission. In some examples, the method may determine the time until a message received on each of the other channels becomes available for transmission, and then assign the shortest one as the waiting time ('t_wait') and identify the associated channel as the second channel. If the waiting time ('t_wait') is greater than or equal to the difference between the frame time and the maximum interference time ('transmission time (frame X)' - 'maximum interference time'), the method begins transmitting the first message in step 712. That is, an opportunity has been identified to allow the transmission of the first message without having to wait longer than the maximum interference time before any subsequently received message can be transmitted.

[0077] If the waiting time ('t_wait') is not greater than or equal to the difference between the frame time and the maximum interference time ('transmission time (frame X)' - 'maximum interference time'), then the method proceeds to step 717. Step 717 has been discussed above.

[0078] In this way, Figure 7 The transmission protection can check the configuration and status of all available egress queues and detect and select the opportunity to transmit frames in a manner that does not conflict with the configurable 'maximum interference time'.

[0079] Figure 8 and 9 An example will be used to describe how the method can determine the minimum time (waiting time 't_wait') until a second message on the second channel becomes available for transmission. It should be understood that this is a "minimum" because when the second queue becomes eligible for message transmission, there may not actually be a second message on the second queue. In this case, the actual time until the second message becomes eligible for transmission on the second channel may be longer than the minimum.

[0080] Figure 8 This example illustrates how to determine the waiting time ('t_wait') by determining when there will be enough credit associated with the second channel for the second message to be ready for transmission. In this example, the first queue is labeled as queue X, and the second queue is labeled as queue Y. Figure 8 A graph 820 also shows the available credit of queue Y. When the available credit of queue Y is negative, queue Y is prohibited from providing messages for transmission over the network. For example, after queue Y sends a message over the network, queue Y may be locked for a period of time to prevent the transmission of another message over the network. In this example, this is implemented by assigning negative credit to queue Y after it has sent a message and then gradually decreasing the amount of negative credit over time. Once the credit reaches zero, queue Y is again eligible to provide messages that can be sent over the network.

[0081] Therefore, as Figure 8 As shown, negative credit information in queue Y can provide an opportunity to transmit the oversized frame 'Frame X' in queue X without violating the 'maximum interference time' constraint on stream X to protect stream Y, which will only begin from the time when another queue X is able to transmit.

[0082] More specifically, in Figure 8At time t1, frame 'Frame X' is eligible for transmission. However, frame X does have a frame size larger than 'maxInterferingSize', which would normally result in this frame being dropped. However, queue Y does not yet have enough credit to qualify frame 'Frame Y' for transmission. By observing the credit rating of queue Y and the CBS (Credit-Based Shaping) configuration, the opportunity prospector can calculate the time when queue Y does indeed have enough credit to transmit frame 'Frame Y', i.e., at time t2, the remaining transmission time of frame 'Frame X' will not exceed the 'maxInterferingSize' limit imposed on it by WCRT analysis. Thus, the opportunity prospector allows frame 'Frame X' to begin its transmission at time t1.

[0083] Figure 8 This represents an example of an opportunity arising from a lack of credit for transmitting frame 'Frame Y', which allows frame 'Frame X' to be transmitted without violating the maximum interference time.

[0084] Figure 9 This illustrates another example of how the waiting time ('t_wait') can be determined. In this example, the second channel can be configured to: i) be an open channel, where messages received on the second channel are eligible for transmission to the time-sensitive network; and ii) be a closed channel, where messages received on the second channel are not eligible for transmission to the time-sensitive network. This is another mechanism for locking a channel when it has messages to be sent to the network. Figure 9 The lower section provides indicators for whether queues X and Y are open or closed.

[0085] In this example, the step of determining the wait time ('t_wait') is performed by determining the time until the second channel is configured as an open channel (i.e., until it is no longer configured as a closed channel). This is marked in the diagram as the opportunity when queue Y is configured as a closed channel.

[0086] Figure 9 Examples include Time Aware Shaper (TAS) scheduling as defined in IEEE 802.1Qbv, which indicates that an open time slot may close soon, and that even if a valid Ethernet frame is available or becomes available in the queue, no valid Ethernet frame may still be transmitted in the queue. If the duration of the queue and the closing duration are sufficient to offset the amount of transmission time during which the illegal frame would exceed the maximum interference time, then transmission of the illegal frame may be permitted during the window.

[0087] More specifically, see reference Figure 9At time t1, frame 'Frame X' is eligible for transmission. However, frame X does have a frame size larger than the 'maximum interference size', which would normally cause this frame to be dropped. However, the gate of queue Y is not yet open, preventing frame 'Frame Y' from being eligible for transmission. By observing the time-aware shaper configuration of queue Y, the opportunity seeker determines that the gate of queue Y will open at time t2, making frame 'Frame Y' eligible at that time, and at that time t2, the remaining transmission time of frame 'Frame X' will not exceed the 'maximum interference time' limit imposed on it by WCRT analysis. Thus, the opportunity seeker allows frame 'Frame X' to begin its transmission at time t1.

[0088] The examples disclosed herein can be implemented as follows: Figure 5 This is a part of the transport selection module in the Ethernet MAC shown in the image. Figure 7 The concept of "transmission protection and opportunity seeker" describes the logic of the above examples. Advantageously, these examples are not intended to sacrifice other flows for the benefit of reserved flows (e.g., best-effort). Instead, they attempt to find opportunities to transmit violating frames without having additional impact on other flows.

[0089] When the opportunity seeker determines that it is impossible to transmit frame 'Frame X' at time t1, the transmission of this frame may optionally be delayed to a later time point. Known mechanisms, such as first-in-first-out queues with optional expiration times, can be used to manage the pending transactions for this large frame.

[0090] In one or more examples disclosed herein, the allocated budget is not only in the form of traditional credits in CBS, but can also additionally utilize the maximum interference time that frame transmission from the credit-based shaped queue can have on the frame response time in other queues (see reference). Figure 5 Transmission protection prevents transmission from exceeding its maximum permissible interference time (maximum interference time), which can be defined as a maximum frame size limit, while still allowing transmission of frames larger than this limit, provided that guarantees for (other) priority classes under CBS are not compromised. This permissive behavior can be achieved in several ways, such as through...

[0091] ●Conditional frame delay (as discussed above), and / or

[0092] ●Conditional frame preemption (discussed below).

[0093] An embodiment will now be described, in which another function, referred to as self-preemption, may be added. Figure 7 An opportunity seeker. As will be described in detail below, self-preemption divides message transmission into sub-message sequences.

[0094] Figure 10A flowchart is shown illustrating a method for transmitting frames to a time-sensitive network according to another embodiment of this disclosure. Further details will not be described herein. Figure 7 The one shown Figure 10 Its characteristics.

[0095] In this example, instead of in Figure 7 The message delay or discard in step 717 exists in a separate step, as in step 1030, where self-preemption is determined. See below for reference. Figure 11 Further details are provided regarding the processing performed in step 1030.

[0096] In step 1013, the method checks other queues to determine if another message is available for transmission. If it is determined in step 1013 that another message is not available for transmission, the method proceeds to step 1030 to determine if preemption is available.

[0097] If in step 1011 it is determined that the waiting time ('t_wait') is not greater than or equal to the difference between the frame time and the maximum interference time ('transmission time (frame X)' - 'maximum interference time'), then the method proceeds to step 1030 to determine whether preemption is available.

[0098] If it is determined in step 1030 that preemption is available, the method proceeds to step 921 to send the message / sub-message. If it is determined in step 920 that there is no opportunity to send the message / sub-message, the method proceeds to step 1031, where each sub-message identified as part of the preemption process is sequentially transmitted over the network.

[0099] Figure 11 Examples of methods that can be executed by a self-preempting block 1130 according to embodiments of the present disclosure are shown. The self-preempting block 1130 can execute methods by… Figure 10 Step 1030 represents the function described above. This can also be referred to as preempting a message or applying preemption to a message. In some examples, if the first message is not yet preemptible, the method includes modifying the message to make it preemptible. For example, this could include modifying the header of the first message. This modification to make the message preemptible can be considered an optional part of the processing performed in step 1333.

[0100] The method then determines the time required to transmit each sub-message to the network (sub-frame_1 time...sub-frame_n time). This is in... Figure 11 The process is performed in step 1132. If the time required to transmit each corresponding sub-message is less than or equal to the maximum interference time, then the method sequentially transmits each sub-message onto the network. This is in... Figure 11 This is shown as step 1131, and can also be referred to as sending messages / frames with scheduled self-preemption. In this way, as will be discussed in more detail below, a second message from the second channel can be transmitted between sub-messages if needed.

[0101] Now we will proceed step by step in detail. Figure 11 The method involves checking whether the TX-RX link pair is capable of frame preemption according to IEEE 802.3br (i.e., both sides have preemptible MACs). If the link is preemptible, the method checks whether the first message is a preemptible frame. If not, the method delays or discards the first message in step 1117. This is because starting to transmit the first message would be considered unacceptable, as a delay before another message can be transmitted would violate the maximum interference time. Optionally, instead of directly moving to step 1117 to delay or discard the frame, the method may attempt to modify the first message to make it preemptible in step 1133. If this is unsuccessful, the method proceeds to step 1117. If successful, the method proceeds to step 1132.

[0102] If, in step 1133, the method determines that the first message is preemptible (based on its own (lacking) timing requirements), but is not currently configured to be preemptible, for example, not categorized in a preemptible queue, then the method may check whether there is an opportunity (e.g., if it is a best-effort service) to modify the configuration of the first message so that the first message is preemptible. It should be understood that a preemptible message comprises two or more sub-messages, which may be transmitted separately from each other but still in the correct order over the network. However, the sub-messages do not necessarily have to be transmitted directly in sequence one after another; they may be transmitted with high-speed frames (specifically, frames Y).

[0103] If the first message is already preemptible or if it has been modified to make it preemptible, then the method proceeds to step 1132.

[0104] In step 1132, the method determines whether the time required to transmit any of the corresponding sub-messages of the first message is greater than the maximum interference time. If not, the method proceeds to step 1177 to discard or delay the first message in the same manner as discussed above.

[0105] In some examples, the initial preemption step may split the first message into multiple sub-messages. The method then determines whether the time required to transmit one or more of these sub-messages is greater than or equal to the maximum interference time. If so, instead of immediately discarding the first message, the method may apply preemption to those one or more sub-messages, causing them to split into two or more sub-sub-messages. The method then determines the time required to transmit each sub-sub-message to the network. If the time required to transmit each sub-sub-message to the network is less than the maximum interference time, the method may transmit each sub-sub-message and any other sub-messages sequentially. It should be understood that this nested processing can be performed at levels suitable for satisfying the maximum interference time or, as is permissible with the first message. In this way, any second message from the second channel can be transmitted between sub-messages if needed.

[0106] If it is determined that the time for transmitting each and all sub-messages (and sub-sub-messages, if any) of the first message is less than the maximum interference time, then the method proceeds to step 1131, wherein each sub-message is transmitted sequentially over the network.

[0107] Figure 12 A timing diagram is shown, which illustrates how timing can be determined by... Figure 11 This is an example of conditional frame preemption executed by the method.

[0108] Frame X is the first message, and frame Y is the second message.

[0109] As from Figure 12 As can be seen from the upper graph, if frame X is transmitted as a single unit, there will be an unacceptable delay before frame Y can be transmitted. This is in... Figure 12 The time marked as 'interference time of frame Y affected by frame X' is longer than the maximum interference time. Therefore, there is a violation of duration.

[0110] Figure 12 The middle portion shows that frame X can be split into two sub-messages (frame X portion 1 and frame X portion 2), each of which has a duration less than the maximum interference time. It should be understood that this splitting ensures that frame X portion 1 has a transmission duration less than the maximum interference time. This splitting process can be repeated for frame X portion 2, such that frame X portion 2 is also split into sub-messages with transmission durations less than the maximum interference time.

[0111] The lower curve shows that the first sub-message (frame X, part 1) can be transmitted initially. Then, before transmitting the second sub-message (frame X, part 2), the subsequently received second message (frame Y) can be transmitted. In this way, the second message (frame Y) can be transmitted without waiting for a time longer than the maximum interference time.

[0112] In this way, if a frame that is too large conforms to the preemption criteria of IEEE 802.1Qbu + IEEE 802.3br, and both the initial segment and the consecutive segments of the preemptible packet are within the maximum interference time, then after transmitting the first segment, the violating frame 'Frame X' can be transmitted even if it is preempted, and then the transmission of frame 'Frame Y' is allowed, and thus the maximum interference time constraint is still observed.

[0113] This is a preemptive triggering different from the triggering currently covered by the standard (i.e., high-speed frame availability or IEEE 802.1Qbv scheduling indication), and the maximum interference time constraint is another limiting parameter on the size of the m-packet fragment, in addition to the minimum number of octets in the m-packet.

[0114] The examples disclosed in this article can be accessed through... Figure 5 The transmission protection 502 shown in the figure triggers preemption.

[0115] Independent (and rigorous) worst-case response time analysis for individual priority categories under Credit-Based Shaping (CBS) can be used in Ethernet AVB based on so-called qualifying intervals. This real-time analysis does not rely on any assumptions about inter-priority flow of interference, but rather on those assumptions enforced by the Ethernet standard. A key advantage of the independent analysis disclosed herein is that CBS can be viewed as resource reservation, in which allocated bandwidth is guaranteed and enforced.

[0116] Such independent analyses may come at the cost of over-rationing. However, assuming knowledge of the flow between priorities can jeopardize the robustness of the system because the worst-case response time of the calculated flow for other categories may no longer define the response time if the assumptions are not met, and thus may result in missed deadlines.

[0117] In this paper, we propose an enhanced CBS with a cost-effective reservation method to prevent over-rationing while maintaining robustness through judicious enforcement.

[0118] Resource reservation is a known paradigm for real-time systems, performing well under a wide range of conditions. Independent (and rigorous) worst-case response time analysis can also be seen as an application of this paradigm, although there is no (specific) mechanism for enforcement.

[0119] Ethernet standards allow frames that are too large to be unconditionally skipped (or dropped) via the IEEE 802.1Qci 'per-flow filtering and policing' mechanism. The examples of devices disclosed herein allow conditional transmission of frames that are too large based on the switch's status (e.g., credit rating).

[0120] Ethernet standards allow frame preemption. In this document, we propose using this mechanism as well, but for a different purpose. Novelly, compared to delaying the entire stream or class of frames (e.g., combining guard bands and time-aware shapers (TAS)), we propose using individual frame delays as an alternative mechanism for frame preemption when the agreed frame size exceeds a certain threshold.

[0121] The IEEE 802.1Qbv time-aware shaping standard defines dynamic transmission protection, which prevents the transmission of a frame if it is not completed before the queue closes. However, the example disclosed herein actively attempts to find opportunities to still transmit the offending frame, which, in TAS scheduling, should be scheduled in the next open time slot; otherwise, the system would be incorrectly configured, and the offending frame would never be transmitted.

[0122] Furthermore, the IEEE 802.1Q related standards specify different interactions between shaping / frame selection mechanisms such as credit-based shapers, time-aware shapers, and frame preemption. Specifically, a frame cannot be selected for transmission when its queue does not have sufficient credit (CBS), the queue closes too quickly for full-frame transmission (TAS), or the resulting fragment size is too small (FP), etc. This may lead to the selection of a frame available in another queue. In the examples of this disclosure, the opportunity to still transmit a specific frame is explored by considering all queue states and their shaper configurations and states to prevent the need to discard that specific frame.

[0123] The examples disclosed in this paper relate to CBS toward cost-effective reserved enhanced Ethernet TSN. The proposed transport protection and opportunity prospector allows conditional transmission of frames that are too large, based on the state of all queues and their shaper configuration and state (e.g., credit rating).

[0124] The examples disclosed herein are particularly well-suited for switches that support Ethernet TSN and network end nodes with CBS support. They are equally applicable to other scenarios, in which:

[0125] ● When an 'entity' (e.g., a frame) conforms to the maximum size enforced by the standard, a guarantee may be provided to these entities;

[0126] ● It is assumed that the maximum size is smaller than the size enforced by the standard, but these assumed sizes are not enforced.

[0127] ● An entity exceeding those assumed maximum sizes may jeopardize the guarantees of other entities;

[0128] ● 'Protection' is a guarantee used to detect whether there is a possibility of endangering other entities;

[0129] ●A combination of protection and additional mechanisms for both intelligent enforcement and conditional disposal of 'entities' (e.g., frame transmission).

[0130] While the examples disclosed in this article primarily target credit-based queues, they can be applied to virtually any flow that has taken analysis or configuration steps into account and assumes a specific maximum size, which translates to the maximum disturbance time on other flows.

[0131] The examples disclosed herein are not intended to be applied to frames that are too large for the MAC to transmit, or to frames in which the maximum frame size is not set simply for reasons of affecting other streams.

[0132] Unless a specific order is explicitly stated, the instructions and / or flowchart steps in the above diagram can be executed in any order. Furthermore, those skilled in the art will recognize that while an example set of instructions / methods has been discussed, the material in this specification can be combined in various ways to produce other examples, and should be understood within the context of the detailed description provided herein.

[0133] In some example embodiments, the instruction set / method steps described above are implemented as functional and software instructions embodied in an executable instruction set, which is implemented on a computer or a machine programmed and controlled by the executable instructions. Such instructions are loaded to execute on a processor (e.g., one or more CPUs). The term processor includes a microprocessor, microcontroller, processor module or subsystem (including one or more microprocessors or microcontrollers), or other control or computing device. A processor may refer to a single component or multiple components.

[0134] In other examples, the instruction sets / methods illustrated herein, along with their associated data and instructions, are stored in appropriate storage devices, which are implemented as one or more non-transitory machine- or computer-readable or computer-usable storage media. Such one or more computer-readable or computer-usable storage media are considered part of an article (or article of manufacture). An article or article of manufacture may refer to any single or multiple components manufactured. While non-transitory machine- or computer-usable media as defined herein do not include signals, such media may be capable of receiving and processing information from signals and / or other transient media.

[0135] Example embodiments of the materials discussed in this specification may be implemented, in whole or in part, via networks, computers, or data-based devices and / or services. These may include cloud, internet, intranet, mobile devices, desktop computers, processors, lookup tables, microcontrollers, consumer devices, infrastructure, or other enabling devices and services. As may be used herein and in the claims, the following non-exclusive definitions are provided.

[0136] In one example, one or more instructions or steps discussed in this article are automated. The terms automated or automatic (and similar variations) mean using computers and / or mechanical / electrical devices to control the operation of equipment, systems, and / or processes without human intervention, observation, effort, and / or decision-making.

[0137] It should be understood that any components that are allegedly to be coupled may be directly or indirectly coupled or connected. In the case of indirect coupling, an additional component may be placed between the two allegedly coupled components.

[0138] In this specification, exemplary embodiments have been presented according to a selected set of details. However, those skilled in the art will understand that many other exemplary embodiments, including different selected sets of details, can be practiced. The appended claims are intended to cover all possible exemplary embodiments.

Claims

1. A method for transmitting messages over a time-sensitive network, characterized in that, The method includes: Receive messages on multiple different channels; Determine the frame time required to transmit the first received message from the first channel to the network. If the frame time is greater than the maximum interference time (maxInterferenceTime) of the predetermined maximum time period allowed to transmit a single message within the network, then Determine the minimum waiting time (waitTime) until the second message on the second channel becomes available for transmission; and If the waiting time is greater than or equal to the difference between the frame time and the maximum interference time, then the first message is transmitted.

2. The method according to claim 1, characterized in that, The method further includes: If the frame size of the first received message is greater than the maximum frame size of the time-sensitive network, then the first message is discarded. The time for a message with a transmission size equal to the maximum frame size represents a time longer than the maximum interference time.

3. The method according to claim 1 or claim 2, characterized in that, The method further includes: If the frame time is less than the maximum interference time, then the first message is transmitted according to the method selected for normal transmission in the time-sensitive network.

4. The method according to any one of the preceding claims, characterized in that, The steps to determine the waiting time include: Determine when there will be sufficient credit associated with the second channel for the second message to be ready for transmission.

5. The method according to any one of claims 1 to 3, characterized in that: The second channel can be configured as: i) an open channel, wherein messages received on the second channel are eligible for transmission on the time-sensitive network; or ii) a closed channel, wherein messages received on the second channel are not eligible for transmission on the time-sensitive network; and The steps to determine the waiting time include: Determine the time until the second channel is configured as an open channel.

6. The method according to any one of the preceding claims, characterized in that, The method further includes: If the waiting time is less than the difference between the frame time and the maximum interference time, then the first message is discarded.

7. The method according to any one of the preceding claims, characterized in that, The method further includes: If the waiting time is less than the difference between the frame time and the maximum interference time, then wait for a period of time and then repeat the following steps: If the frame time is greater than the maximum interference time, then determine the minimum waiting time until the message on the second channel frame becomes available for transmission; and If the waiting time is greater than or equal to the difference between the frame time and the maximum interference time, then the first message is transmitted.

8. The method according to any one of claims 1 to 5, characterized in that, The method further includes: If the waiting time is less than the difference between the frame time and the maximum interference time, then: Divide the first message into two or more sub-messages; Determine the time required to transmit each sub-message; and If the time required to transmit each corresponding sub-message is less than or equal to the maximum interference time, then each sub-message is transmitted sequentially onto the network, so that a second message from the second channel can be transmitted between the sub-messages if necessary.

9. A device, characterized in that, The device is configured to perform the method according to any one of the preceding claims.

10. A computer program, characterized in that, The computer program is configured to perform the method according to any one of claims 1 to 8.