Switching device, control device and corresponding method for enhanced schedulability and throughput over a TSN network

文档序号:1866555 发布日期:2021-11-19 浏览:13次 中文

阅读说明:本技术 用于tsn网络上的增强可调度性和吞吐量的交换设备、控制设备和对应方法 (Switching device, control device and corresponding method for enhanced schedulability and throughput over a TSN network ) 是由 唐斯煜 王蛟 兹德尼克·汉扎莱克 马雷克·维克 卡特琳娜·布莱乔科瓦 于 2019-03-29 设计创作,主要内容包括:本公开涉及一种用于交换机在时间敏感网络中作为中间节点操作的设备和方法,其中,根据交换机存储的配置,如果在某一时刻待传输的是正确帧,则交换机在该时刻传输该帧。根据配置如果在该时刻待发送的不是正确帧,则交换机在该时刻不传输该帧。本公开还涉及一种用于调度从讲话者节点向收听者节点的数据分组的传输并且向网络中的交换机的子集的每个交换机发送配置的设备和方法,该配置包括关于流的信息和何时从交换机输出该流的时序。(The present disclosure relates to an apparatus and method for a switch to operate as an intermediate node in a time sensitive network, wherein, according to a configuration stored by the switch, if a correct frame is to be transmitted at a time, the switch transmits the frame at that time. If, according to the configuration, the frame to be transmitted at that moment is not the correct frame, the switch does not transmit the frame at that moment. The present disclosure also relates to an apparatus and method for scheduling transmission of data packets from a talker node to a listener node and sending a configuration to each switch of a subset of switches in a network, the configuration including information about a flow and a timing of when the flow is output from the switch.)

1. A switching device (600) for operating as an intermediate node in a time sensitive network, TSN, (100), comprising:

a storage unit storing a configuration (500) indicating, for a stream, a timing at which frames relating to the stream are to be output; and

processing circuitry to:

a frame associated with the stream is received,

transmitting the frame at a current time if the frame is to be transmitted at the current time according to the configuration (500), otherwise not transmitting the frame at the current time.

2. The switching device (600) of claim 1, further comprising:

one or more input ports (610, 611, 612) and one or more output ports (690) and one or more queues (631,.., 63N), wherein,

the processing circuit is further to:

according to the configuration (500), the frames being received by the one or more input ports (610, 611, 612) are stored into the one or more queues (631, …, 63N) and transmitted via the one or more output ports (690).

3. The switching device (600) according to claim 1 or 2, further comprising:

an input for receiving the configuration to be stored in the storage unit from a central network configuration CNC device.

4. The switching device (600) of any of claims 1-3, wherein the processing circuit is further configured to:

receiving a frame for which timing is not indicated in the configuration; and is

According to the configuration, the frame is transmitted at a time when no frame specified in the configuration is to be transmitted.

5. A control device (110) for scheduling transmission of a stream from a source (120) to a destination (140) via one or more intermediate nodes (130, 131, 132) in a time sensitive network, TSN, (100), the one or more intermediate nodes (130, 131, 132) comprising a subset of intermediate nodes, wherein the device comprises:

processing circuitry to:

calculating, for each intermediate node of the subset, a configuration (500) indicating, for the flow, a timing at which frames relating to the flow are to be output from the intermediate node;

outputting the configuration (500) to the one or more intermediate nodes of the subset.

6. The control device (110) of claim 5,

wherein the configuration is calculated for a plurality of flows and the configuration is selected such that a minimum number of queues is used.

7. The control device (110) of claim 6,

the configuration is selected such that if a plurality of frames are scheduled to be transmitted in an order other than the order in which they are scheduled to be received by the intermediate node, the plurality of frames are not stored to the same queue in the intermediate node and are transmitted to the intermediate node

Otherwise, the configuration can be selected such that the plurality of frames are stored to the same queue.

8. The control device (110) of any of claims 5-7, wherein the processing circuit is further configured to:

receiving flow information, the flow information including the source address, the destination address and the timing for the flow, and

calculating the configuration (500) based on the received flow information.

9. The switching device (600) according to any one of claims 1 to 4 or the control device (110) according to any one of claims 5 to 8,

the configuration (500) comprises flow information identifying the flow by a source address and a destination address of the flow or by a value of a flow identifier.

10. The switching device (600) according to any one of claims 1 to 4 or the control device (110) according to any one of claims 5 to 9,

the configuration (500) includes information in which queue (631.., 63N) the frame is stored and/or information specifying through which output port (690) the frame is to be transmitted.

11. The switching device (600) according to any one of claims 1 to 4 or the control device (110) according to any one of claims 5 to 10, wherein,

the frame is a MAC frame whose MAC frame header includes the source and destination addresses of the flow.

12. The switching device (600) according to any one of claims 1 to 4 or the control device (110) according to any one of claims 5 to 11,

the stream is a periodic data transmission from one end station to another end station of the TSN.

13. A method for operating as an intermediate node in a time sensitive network, TSN, the method comprising:

storing a configuration indicating, for a flow, a timing at which frames relating to the flow are to be output; and

a frame associated with the stream is received,

and transmitting the frame at the current moment under the condition that the frame is to be transmitted at the current moment according to the configuration, otherwise, not transmitting the frame at the current moment.

14. A method for scheduling transmission of a stream from a source to a destination via one or more intermediate nodes in a time sensitive network, TSN, the one or more intermediate nodes comprising a subset of intermediate nodes, wherein the method comprises:

calculating, for each intermediate node of the subset, a configuration indicating, for the flow, a timing at which frames related to the flow are to be output from the intermediate node;

outputting the configuration to the one or more intermediate nodes of the subset.

15. A non-transitory computer-readable medium storing program code which, when executed by a control device (110), causes the control device (110) to perform the method of claim 14.

Technical Field

The present disclosure relates to a method and apparatus for scheduling data transmission from a source to a destination via one or more intermediate nodes, and a method and apparatus for operating as an intermediate node in a network.

Background

Industrial communication and control networks are systems of interconnected devices used to monitor and control physical devices in an industrial environment.

The development of (digital) industrial communication systems has gone through three generations, namely fieldbus technology, ethernet-based solutions and IEEE 802.1 time-sensitive networks (TSNs), which are open standards that facilitate the interoperability of ethernet-based solutions in industrial communication and control networks. One of the main features of the IEEE 802.1TSN standard is the Time Division Multiplexing (TDM) method to control the opening and closing of the gates, thereby providing the possibility to handle real-time and non-real-time traffic on the same link.

Configuring the scheduling of gates (i.e., time-aware queues) to achieve a predetermined end-to-end (E2E) network delay is not a straightforward matter. The most common (most recent) method of configuring TSN networks is to concentrate the computation in a single entity, namely the CNC (central network controller). Once the computation is complete, the CNC configures TSN features (e.g., scheduling traffic and loop queuing and forwarding) in each switch (also referred to as bridge, node, intermediate node, or bridge node) using remote management. The data stream is transmitted from the intercom end station or source to the listener end station or destination via the switches, the first switch linked to the intercom end station being represented as an edge device (node) and the other switches being represented as core devices (nodes).

The TSN CNC configuration method works as follows:

step 1: an end station registers a join stream with a Centralized User Configuration (CUC) module. The CUC notifies the Centralized Network Configuration (CNC) module of the relevant parameters (network cycle time, delay, jitter requirements, e.g., maximum jitter, etc.) of the added stream.

Step 2: the CNC uses some scheme to calculate the configuration parameters (e.g., a list of gate controls or a list of gate openings for scheduled traffic, specifying which gate is open at which time within the network cycle).

And step 3: the CNC uses remote management to discover the physical topology and retrieve bridging capabilities and distribute the calculated parameters to each ethernet switch. Due to the global time synchronization protocol implemented in the TSN network, the end station can start sending datagrams according to the calculation in step 2.

The choice of the scheme to compute the configuration for the switch and the corresponding switch capabilities has an impact on the performance of the entire TSN network.

Disclosure of Invention

Embodiments of the present invention provide apparatus and methods for efficiently routing time critical data traffic in a TSN so that switches are efficiently used. In particular, some embodiments may facilitate reducing congestion of a network.

The foregoing and other objects are achieved by the subject matter of the independent claims. Further embodiments are apparent from the dependent claims, the description and the drawings.

According to a first aspect, there is provided a switching device for operating as an intermediate node in a time sensitive network, TSN, comprising: a storage unit that stores a configuration indicating, for a stream, a timing at which a frame relating to the stream is to be output; and a processing circuit for receiving frames relating to the stream, transmitting the frames at the current time if the frames are to be transmitted at the current time according to the configuration, and otherwise not transmitting the frames at the current time. For example, the processing circuitry may be configured to: it is checked based on the configuration whether the frame is transmitted at the current time instant and the frame is transmitted only in this case. A frame may be a periodically occurring example of a stream. The switching device according to this aspect may improve the certainty and fault tolerance in the TSN, since the timing of each frame may be checked in each transmission from one network node to another. Furthermore, the switching device according to this aspect enables the TSN to tolerate frame loss without the need to use the frame isolation constraint FIC in the scheduling.

According to a second aspect, there is provided a switching device according to the first aspect, further comprising one or more input ports and one or more output ports and one or more queues, wherein the processing circuitry is further configured to: depending on the configuration, frames being received by one or more input ports are stored into one or more queues and transmitted via one or more output ports. The switching device according to this aspect may increase the number of possibilities how the network may be scheduled such that all frames are transmitted in time. Furthermore, the number of frames that can be transmitted per time instant can be increased.

According to a third aspect there is provided a switching device according to the first or second aspect, further comprising an input for receiving a configuration to be stored in the storage unit from a central network configuration CNC device. The input may be a separate input port or an input port that is also used to receive a flow from a source node to a destination node. The processing circuit may be operative to store the received configuration to the storage unit.

Receiving configuration from the CNC facilitates the TSN to adapt to various scenarios, such as adding or removing network nodes, e.g., switching nodes, source nodes, destination nodes, or streams. Such dynamic configuration may even be implemented during network operation, thereby enabling recovery from possible failures.

According to a fourth aspect, there is provided a switching device according to any of the first, second or third aspects, the switching device receiving a frame for which timing is not indicated in a configuration; and transmitting the frame at a time when no frame specified in the configuration is to be transmitted, according to the configuration. In this way, the resources of the TSN can be efficiently utilized.

According to a fifth aspect, there is provided a control device for scheduling transmission of a stream from a source to a destination via one or more intermediate nodes in a time sensitive network, TSN, the one or more intermediate nodes comprising a subset of the intermediate nodes, wherein the device comprises: processing circuitry to: calculating, for each intermediate node of the subset, a configuration indicating, for a flow, a timing at which frames relating to the flow are to be output from the intermediate node; and outputting the configuration to one or more intermediate nodes of the subset. The timing may be implicitly indicated, e.g., in terms of the duration of one or more previous frames. Such a control device helps to increase the deterministic behavior of the TSN, which can help in the safe and predictable operation of the entire network.

According to a sixth aspect, there is provided a control device according to the fifth aspect, wherein the configuration is calculated for a plurality of streams and is selected such that a minimum number of queues is used. In this way, the number of queues may be optimized, which is advantageous for efficient implementation of the network node and use of resources.

According to a seventh aspect, there is provided the control device according to the sixth aspect, wherein the configuration is selected such that if the plurality of frames are scheduled to be transmitted in an order other than the order in which the plurality of frames are scheduled to be received by the intermediate node, the plurality of frames are not stored to the same queue in the intermediate node, and otherwise the configuration can be selected such that the plurality of frames are stored to the same queue. Such constraints may provide an efficient solution for scheduling in network nodes, e.g., FIC retention is not required.

According to an eighth aspect, there is provided the control device according to any one of the fifth to seventh aspects, wherein the processing circuit is further configured to: flow information including source and destination addresses and timing of flows is received, and a configuration is calculated based on the received flow information.

According to a ninth aspect, there is provided the switching device according to any one of the first to fourth aspects or the control device according to any one of the fifth to eighth aspects, wherein the configuration includes identifying the flow information of the flow by a source address and a destination address of the flow or by a value of the flow identifier.

According to a tenth aspect there is provided a switching device according to any of the first to fourth aspects or a control device according to any of the fifth to ninth aspects, wherein the configuration comprises information in which queue a frame is stored and/or information specifying through which output port a frame is to be transmitted.

An eleventh aspect provides the switching device of any one of the first to fourth aspects or the control device of any one of the fifth to tenth aspects, wherein the frame is a MAC frame including a source address and a destination address of the flow in a MAC frame header. This enables some existing network architectures to be utilized and enhanced.

According to a twelfth aspect there is provided the switching device according to any of the first to fourth aspects or the control device according to any of the fifth to eleventh aspects, wherein the stream is a periodic data transmission from one end station to another end station of the TSN.

According to an aspect of the invention, a method of operating as an intermediate node in a time sensitive network TSN is provided. The method comprises the following steps: storing a configuration indicating, for a flow, a timing at which frames relating to the flow are to be output; and receiving a frame associated with the stream. Transmitting the frame at the current time in a case where the frame is to be transmitted at the current time according to the configuration, and otherwise, not transmitting the frame at the current time.

The method may further comprise the steps of storing frames received by the one or more input ports in one or more queues and transmitting the frames via the one or more output ports according to the configuration.

According to an embodiment, the method may further comprise the step of receiving the configuration and storing the configuration. For example, the configuration may be received from a central network configuration CNC device, stored in the switching device, and applied by the switching device in its further operation.

In an exemplary implementation, the method further comprises: receiving a frame for which timing is not indicated in the configuration; and transmitting the frame at a time when no frame specified in the configuration is to be transmitted according to the configuration.

According to an aspect, a method is provided for scheduling transmission of a stream from a source to a destination via one or more intermediate nodes in a time sensitive network, TSN, the one or more intermediate nodes comprising a subset of the intermediate nodes. The method comprises the following steps: calculating, for each intermediate node of the subset, a configuration indicating, for a flow, a timing at which frames relating to the flow are to be output from the intermediate node; and outputting the configuration to one or more intermediate nodes of the subset.

Further, the method may include calculating a configuration of the plurality of flows and selecting such that a minimum number of queues are used. The configuration is selected such that if the plurality of frames are scheduled to be transmitted in an order other than the order in which the plurality of frames are scheduled to be received by the intermediate node, the plurality of frames are not stored to the same queue in the intermediate node, and otherwise the configuration can be selected such that the plurality of frames are stored to the same queue.

In some embodiments, the method may further include receiving flow information including source and destination addresses and timing for the flow, and calculating the configuration based on the received flow information.

The method for operating an intermediate node in a network and/or the method for scheduling transmission of a flow may employ a configuration comprising flow information identifying the flow by a source address and a destination address of the flow or by a value of a flow identifier.

For example, in some implementations, the configuration includes information in which queue the frame is stored and/or information specifying through which output port the frame is to be transmitted.

In some implementations, the frame is a MAC frame of the source and destination addresses of the flow in a MAC frame header. Herein, a flow identifies a periodic data transmission from one end station to another end station of a TSN.

Any of the above mentioned methods may be implemented as software code comprising code instructions to implement the above mentioned method steps. The software may be stored in a computer readable medium. The medium may be a processor memory, any storage medium, etc. The software may be used in a device such as the control device or switch mentioned above.

The details of one or more embodiments are set forth in the accompanying drawings and the description below. Other features, objects, and advantages will be apparent from the description and drawings, and from the claims.

Drawings

The following embodiments of the invention are described in more detail with reference to the accompanying drawings, in which:

fig. 1A is a block diagram illustrating an overview of an example of a TSN with a centralized management/configuration model.

Fig. 1B is a block diagram showing an overview of an example of a TSN with centralized management using NETCONF to configure switches.

Fig. 2 is a block diagram illustrating an example of how loss of a frame may result in non-deterministic behavior and jitter in subsequent nodes of the TSN.

Fig. 3 is a block diagram illustrating an example of how non-deterministic behavior due to frame loss can be avoided by auditing the timing of each frame before sending the frame.

Fig. 4 is a block diagram illustrating an example of the operation of the timing gate. On the left, when the door is open, two frames are received and both are transmitted. On the right side, one frame is lost and the gate waits before transmitting the second frame at the appropriate time.

Fig. 5 is a list showing an example of a gate open list or configuration of a switch for a TSN.

Fig. 6 is a block diagram illustrating an example scheme of a switch used in a TSN.

In the following, identical reference signs refer to identical or at least functionally equivalent features, if not explicitly stated otherwise.

Detailed Description

In the following description, reference is made to the accompanying drawings, which form a part hereof, and in which is shown by way of illustration specific aspects of embodiments of the invention or of which embodiments of the invention may be used. It should be understood that embodiments of the invention may be used in other respects, and include structural or logical changes not depicted in the figures. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims.

For example, it should be understood that the disclosure in connection with the described method may also apply to a corresponding device or system configured to perform the method, and vice versa. For example, if one or more particular method steps are described, the corresponding apparatus may include one or more units (e.g., functional units) for performing the described one or more method steps (e.g., one unit performs one or more steps, or multiple units each perform one or more of the multiple steps), even if such one or more units are not explicitly described or shown in the figures. On the other hand, for example, if a particular device (e.g., a functional unit) is described based on one or more units, a corresponding method may include one step of performing the function of the one or more units (e.g., one step of performing the function of the one or more units, or multiple steps of each performing the function of one or more of the plurality of units), even if such one or more steps are not explicitly described or illustrated in the figures. Further, it should be understood that features of the various exemplary embodiments and/or aspects described herein may be combined with each other, unless specifically noted otherwise.

Time Sensitive Networks (TSNs) are typically used in industrial applications (such as production facilities and automobiles) that require high reliability and security and low latency. Fig. 1A shows an exemplary overview of the TSN 100. The speaker node 120 and the listener node 140 communicate using TSNs. In this example, only one listener node and one talker node are shown. However, in general, there may be a plurality of speaker nodes and listener nodes.

Information in the network is transmitted through intermediate nodes configured by the management node. The intermediate nodes are switches 130, 131, 132. A switch is a network device that connects devices on a network by using packet switching to receive, process, and forward data to a destination or listener device. The switches may be interconnected in different ways. This may result in different possible paths for information transmission from the talker node to the listener node. The management nodes in this example include Centralized User Configuration (CUC)115 and Centralized Network Configuration (CNC) 110. As described above, the CNC performs the configuration of the network nodes. The timing configuration may be applied to all nodes of the TSN or only to the switches. In the latter case, the first switch (130 in this example) connected to the talker node must act as a synchronization gate. In this example, CUC 115 communicates with potential talker nodes and listener nodes. When a talker or listener node informs the CUC that a data transmission or stream needs to be sent over the TSN, the CUC informs a Centralized Network Configuration (CNC) module of the relevant parameters (network cycle time, delay, jitter requirements, etc.) to add the stream.

It is often necessary to periodically transmit information about the stream from a particular speaker to a particular listener. An example of each periodic occurrence of a stream is a frame. A flow may define a periodic data transmission from a talker node to a listener node with the relevant requirements. The network then searches the solution to ensure delivery timeliness of all frames related to all flows registered with the CNC or CUC. This can be done by CNC. Such a solution may be referred to as configuration or scheduling for the network and in particular for the respective network entities. When deciding on the schedule for the entire network, a configuration for each switch may be created. All switch configurations together may be referred to as a configuration of the network.

Typically, TSN traffic is scheduled according to a configuration that is predefined for each flow at all times when frames related to flows stored in queues in the nodes are to be transmitted and to which node they are to be transmitted. Different schemes may be used in the TSN to map traffic to queues. For example, traffic may be prioritized and packets from each traffic class may be mapped to a corresponding queue.

However, unscheduled traffic may be transmitted over the same network, except for traffic registered with the CNC 110 or the CUC 115 (scheduled traffic). Typically, scheduled traffic has the highest priority in the network, and unscheduled traffic can only use resources unused by scheduled traffic. In many cases, there are many different possible path combinations to transmit all frames related to the registration flow while satisfying all the requirements of these flows. However, these combinations of paths (or available solutions) may use network resources to varying degrees, leaving varying degrees of network resources to unscheduled traffic. That is, the number of queues in the switch used to buffer the frame may be different for different solutions or network configurations. Unscheduled traffic may use more queues if the scheduled traffic uses fewer queues.

The scheduling method may be designed in a centralized fashion, where the CNC 110 is the entity that calculates the configuration parameters. Fig. 1A illustrates the overall operation of a TSN according to an embodiment of the present disclosure. The centralized control here is shown as a separate centralized user configuration 115(CUC) and CNC 110. In this example, communications with potential talkers 120 and listeners 140 end stations of the TSN and potentially interactions with the user are handled by CUC 115. The configuration of and communication with all intermediate nodes of the TSN is handled by the CNC 110. However, the CUC 115 and CNC 110 may also be integrated in a single device.

Fig. 1A shows a network comprising a device 110 for scheduling transmission of data packets from a talker node 120 to a listener node 140 via one or more intermediate nodes 130, 131, 132. With such a network, guaranteed bounded jitter and end-to-end E2E latency can be achieved.

Scheduling communication in a network is performed by the concept of a stream. A stream is a periodic data transmission (frame) from one end station (also labeled as a talker or source) 120 to another end station 140 (also labeled as a listener or destination). The network may be modeled as a graph, where nodes represent switches and end stations (such as cameras, PLCs, sensors, actuators, etc.), and edges represent physical connections between nodes (e.g., ethernet links).

For example, at each scheduled transmission instance, a frame is sent from scheduling source 120 to scheduling destination 140. A frame may need to pass through several switches 130, 131, 132. The switch is used to pass the frame to the output of the respective configuration and hence to a successive node of the configuration (e.g. another switch or destination node). In the switch, there are usually buffers to compensate for potential jitter or to enable frames to be received and transmitted in a different order. The frames may be buffered at an ingress or egress buffer. The buffered frames form a queue. The queue is typically a first-in-first-out (FIFO) queue, meaning that the earliest frame in the queue is output first.

In real-time communication in the automotive and industrial fields, deterministic behavior and guaranteed bounded jitter and end-to-end delay are desirable. For example, certainty for critical data traffic may be achieved using time-triggered scheduling.

Deterministic means that the position of the expected frame is deterministic at any time within the network.

In order to achieve communication that is as close to deterministic scheduling as possible, it is desirable to define the behavior of the network even in the event of failures, delays, lost packets, or other interference. To improve deterministic behavior, the timing of each flow is considered part of the schedule according to some embodiments. This means exchanging behavior and/or CNC calculations, as will be exemplified below.

In the example of the TSN 100 shown in fig. 1A, the device 110 comprises processing circuitry for determining the time-triggered scheduling taking into account each stream and each frame (which needs to be transmitted with a timeliness guarantee), for each stream containing a complete path through the TSN, i.e. the determination of to which successive node a frame will be transmitted from each of the intermediate nodes 130, 131, 132. This task is not trivial, especially when scheduling multiple streams. Such scheduling may be in the form of a list of door openings or a list of door controls, and is also referred to as configuration of the nodes of the TSN.

The network of switches should be able to perform the transmission tasks as scheduled. The problem of transmission of one frame can interfere with the transmission of other frames in a conventional TSN. Frames may be lost during transmission on their path or due to time-based ingress policing (e.g., IEEE 802.1 Qci). An example of this is shown in figure 2. Arrows between switches (e.g., 201, 202, 203) are understood to be time axes. I.e. the leftmost frame of each arrow is transmitted first. When frame 213 is lost, another frame 210_ B may be scheduled instead of scheduling a frame for transmission. That is, frame 210_ B may be transmitted earlier than it is expected to be transmitted. In such a case (when a frame is lost), it is necessary to ensure that no other frame is sent earlier than scheduled, as this may lead to delays of other frames in subsequent handovers and thus to non-determinism and jitter. In the lower part of fig. 2, frame 213 is lost. Then, when the switch 201 opens the door to transmit the frame according to the schedule (in this case, the frame 213 should be transmitted at this time), it transmits the frame 210_ B to the switch 202 instead. As a result, switch 202 first receives frame 210_ B and then receives frame 211_ B from another switch. For example, if frame 210_ B is longer than lost frame 213, this results in a delay in the transmission of frame 211_ B to switch 203.

In the 24 th real-time network and system international conference record, ACM, 2016, page 183-, (hereinafter [1]), s.s.cracinas, r.s.oliver, m.ch i k and w.steiner describe possible paths to make TSNs robust to frame loss in "scheduled real-time communication in IEEE 802.1Qbv time-sensitive networks". The authors propose an SMT model based on linear integer arithmetic that finds the exact transmission offset for each frame, with the aim of minimizing the number of queues used. The Frame Isolation Constraint (FIC) proposed herein forces that a frame must be dispatched from a queue before another frame from a different stream can be stored in the same queue. I.e. frames of different streams are never stored in one queue at the same time. Thus, when a flow contains only one frame, the second position in the queue is never used. This approach tends to require more queues for the time-triggered traffic. Thus, the throughput of the network is degraded.

In order to improve the deterministic behavior of the network and avoid having to implement a disadvantageous FIC to handle frame losses or other interruptions, according to one embodiment a switching device is provided for operating as an intermediate node in a time sensitive network TSN. The switching device may be any of switches 130, 131, 132 in TSN 100 in fig. 1A. Such a switch includes a storage unit that stores a configuration indicating, for a flow, a timing at which a frame relating to the flow is to be output. The storage means may be any kind of memory, such as a volatile memory. However, the present disclosure is not limited to any particular type of storage device. The configuration may determine when each frame associated with a stream is transmitted and to which node of the TSN to transmit. Furthermore, the switch comprises processing circuitry for receiving frames relating to the flow and transmitting the frames at the current time instant if the frames are to be transmitted at the current time instant according to the configuration, and not transmitting the frames at the current time instant otherwise. For example, the processing circuitry may be adapted to check whether a frame is transmitted at the current time based on the stored configuration, and only transmit the frame in the affirmative case.

In order to assign the received frames to the frames related to the streams specified in the configuration, the switching device may read the source and destination of the frames and compare them to the source and destination specified in the configuration. The source and destination may be identified in a frame header. Alternatively, each stream may have an assigned ID, and each frame may carry the ID. In network architectures where a flow ID is associated with a particular source and destination, the flow ID may be signaled in the frame header or body rather than the source and destination. However, the present disclosure is not limited to such an architecture. In principle, the stream ID may be carried in the frame in addition to the source and destination. The source and destination may be indicated in the frame in any manner. It may be an identifier of the node identified by the switch or it may be a direct node address. For example, the frame may be a Medium Access Control (MAC) frame. In this case, the source and destination may be indicated as MAC addresses of the respective source and destination nodes.

Furthermore, because frames related to the same stream may have some similar characteristics, the switching device may also identify frames based on these characteristics. The switching device may use a neural network to identify the frame or any other way of identifying the frame, e.g., based on a condition.

The processing circuitry may be any hardware and/or software including one or more of an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), a Digital Signal Processor (DSP), or any kind of clocked (i.e., synchronous) signal processing circuitry.

By deploying one or more switches that transmit frames only at configured timings of a certain flow, deterministic behavior of the network 100 is improved. This is true for any potential interference in the frame transmission.

In particular, the network with switches according to the present embodiment is more robust against loss of a single frame or large jitter without implementing FIC. This may mean that when a single frame is lost or dropped by the network, this does not affect the timeliness of the transmission of other frames or streams.

The operations for multiple streams (frames) are further illustrated in fig. 3 and 4. Such operations may be implemented, for example, by one or more of switches 130, 131, and 132 shown in fig. 1. The switch 130, 131 or 132 (and the links to successive nodes) remain idle until the correct time that the frame 210_ C is scheduled to be transmitted. The loss of frame 213 does not cause 210_ C to be transmitted earlier than scheduled and therefore timeliness guarantees are maintained and frames 210_ C and 211_ C are transmitted at the scheduled time.

This approach makes it possible to abandon the scheduling constraints proposed in [1 ]. Details regarding the new scheduling constraints and mechanisms for applying idleness during a door open event will be discussed in detail below. The proposed solution provides more schedulable instances, higher network throughput and potentially standardized value.

If the switch according to the present embodiment is used, a Frame Isolation Constraint (FIC) can be avoided. In this embodiment, the switches (e.g., 130, 131, and/or 132) check whether they are going to send the correct frames according to their respective predetermined or preconfigured schedules. If there are frames that are not to be sent according to the schedule, the switch will be idle instead of sending frames that are different from what is expected.

This may be achieved, for example, by including an additional look-up table in the Network Processor (NP), allowing a more fine-grained check between the (buffered) frames and the computed schedule (i.e., the gate open example). The look-up table may store an identification of the stream or frame and a timing indicating when the frame was transmitted.

The examples in fig. 2 and 3 show that two frames 213 (frames from stream 1) and 210, 210_ B or 210_ C (frames from stream 2) are buffered in the same queue by the correct transmission order calculated by the scheduler during one gate open example. With the existing TSN-compatible chipset for the switch device (generating the data stream as shown in fig. 2), a frame from the associated queue will be scheduled (e.g., transmitted to the next node) during the door open window, regardless of whether it is the correct frame to be sent. With the additional checking operation shown in this disclosure, the switch will check whether the correct frame is buffered and scheduled from the queue at a particular point in time (fig. 3). If it is assumed that the frame to be scheduled (say 213) is lost at some point in time and that the frame is not a HOL (head of line) packet in the buffer, the switch will not schedule the HOL frame in the queue (210, 210_ B or 210_ C in this example), which remains idle until the correct transmission time calculated for 210 is close (fig. 3, lower part of the figure). The timeliness of which is also detailed in fig. 4. Here, one queue is shown. If frame 213 is lost, the gate transmitting frame 210_ C remains idle until the correct transmission moment.

An exemplary switching device (corresponding to devices 130, 131, 132 in fig. 1) for operating as an intermediate node in TSN 100 according to an embodiment is shown in fig. 6 as switching device 600. The switching device 600 includes a storage unit in which the switching device stores a configuration that determines the timing of frames associated with each stream (not shown). The configuration may determine when each frame associated with a flow is to be transmitted and to which node of the TSN, or in other words to which egress port (e.g., 690).

The switching device 600 receives a frame from another node of the TSN in its ingress port 610 and stores the frame. Switching function 620 directs the frames to the corresponding egress ports. The traffic classifier 625 may distribute the frames to the associated queues 631-63N of the egress port 690. The distribution may be based on classification criteria such as priority code points of the header. In another embodiment, the traffic classifier may select which queue the frame is to be sent to based on a configuration received from the CNC. To this end, the configuration may contain additional information that determines to which egress queue a frame is to be stored.

Each queue has timing gates 641 through 64N. In different examples of switches according to the present disclosure, a switch may have a predetermined number of egress queues per port (e.g., 8) and any predetermined number of ingress and egress ports given by a hardware or software design. In the exemplary switching device shown in fig. 6, each head-of-line frame in each egress queue is identified.

Before the door is opened at a certain time, the switch uses the configuration received from the CNC to determine whether the head frame (meaning the first frame to be output in the FIFO queue) is a frame scheduled to be sent at a certain time. If the head-of-line frame is not the correct frame to be sent at a time, then at a time no gate is opened and no frame is transmitted from the queue. However, frames from another queue having a lower priority may be transmitted.

Before the switching device 600 opens the gate of the queue storing frames to transmit frames at the head of the queue, it can check whether the queue head frame is the correct frame to be transmitted at a certain time. Each frame is not transmitted until the time specified in the configuration comes.

In another embodiment, the switching device may also handle data traffic that is not deterministically scheduled, as described above. In other words, if a gating control mechanism is used, it may dictate passing any priority assigned to other data. In such a case, scheduled traffic may always have priority over non-scheduled traffic with respect to transmission. Non-scheduled traffic may interfere with each other but not with scheduled flows. In some implementations of the switch, some queues may not be available for scheduled traffic but may be available for unscheduled traffic.

In one embodiment, the switching device receives configuration from a centralized network configuration CNC. The processing circuit may be operative to store the received configuration to the storage unit.

Fig. 1B shows an example of a switch (e.g., 131_ B) for CNC 110_ B and TSN 100_ B, which uses a network configuration protocol (NETCONF) for reconfiguring the switch by CNC. NETCONF is a network management protocol developed and standardized by IETF. NETCONF provides a mechanism to install, manipulate, and delete configurations of network devices.

The configuration of a switch for a TSN according to an embodiment differs from the configuration of other TSNs in that it contains additional entries. These entries enable the switch to identify the frames and assign the time instant at which each frame is to be sent. Furthermore, as described above, the frame isolation constraint is not required as one of the constraints defining which TSNs' configurations can be selected by the TSNs. Thus, the CNC selects the best configuration from a set of configurations that are not constrained by the FIC, and the CNC creates a configuration that enables the switch to check the frame timing.

For a particular TSN with a particular set of flows to be scheduled, there are typically multiple solutions for time-triggered scheduling to meet the requirements of all flows. As described above, in some embodiments, there may be secondary communications that do not require deterministic scheduling of transmissions over the same network. This is one reason to select a solution using the minimum capacity of the intermediate node from among a plurality of solutions for time triggered scheduling. Note, however, that the network need not allow for communications other than deterministically scheduled communications. The present disclosure applies to either of these two scenarios.

In some embodiments, a solution is selected that uses the least number of queues used by deterministically scheduled traffic. This may be the minimum number of queues used in the switches critical for high throughput of non-scheduled traffic, or a solution where the cumulative sum of the used queues in all switches is minimal. However, instead of an accumulated sum of queues used, the CNC may for example minimize the square of the queues used per switch or the root mean square of the queues or the sum of any other function or measure of the number of queues. There may be some additional constraints on the minimum and maximum number of queues per switch.

According to an embodiment, a control device or Central Network Configuration (CNC) for scheduling transmission of a stream from a source to a destination via one or more intermediate nodes in a TSN includes processing circuitry for determining (e.g., calculating) a configuration for each intermediate node that facilitates transmission to indicate a timing of the stream at which frames associated with the stream are to be output from the intermediate node. The configuration may further indicate the egress port, the gate ID, and an indicator for preemption. The timing may be implicitly indicated, e.g., in terms of the duration of one or more previous frames.

The processing circuitry may be any data processing hardware or combination of hardware and software. The hardware may include, for example, one or more Field Programmable Gate Arrays (FPGAs), digital signal processors, or other processing modules. In one embodiment, the processing circuitry includes one or more processors and memory containing program code that can be read and executed by the one or more processors to perform the operations described herein.

Fig. 5 shows an example list containing information of configuration or door opening lists transmitted from the CNC to the nodes in the TSN. The left side of the list shown here contains entries that may also be used in some conventional TSNs. In this example, column 503 specifies the port (interface) to which the frame is sent. In column 505, the gate open instance indicated in the corresponding row of the table is specified. In column 507, preemption of the door opening (corresponding to priority) is specified in the corresponding row. Column 509 indicates the timing of the door open event. In this example, the timing (duration) at which each gate is opened is given in nanoseconds. In this example, all the durations of the gate open events above each row determine the timing of the respective gate opening within one network cycle. Column 511 indicates the gates to be opened according to the corresponding row. Specifically, the door 4 is to be opened for 100 microseconds, then the door 8 is to be opened for 100 microseconds, and so on. At the end of the cycle, door number 1 is to be opened for 500 microseconds.

Information to facilitate the use of TSNs according to the above-described embodiments is shown on the right side of fig. 5. Column 512 contains information identifying which frame is to be transmitted in the corresponding open instance. In this example, a stream ID is given. For example, the door 4 is opened for 100 microseconds for the flow with the identifier f 1. Then, the gate 8 is opened for 100 microseconds for the flow with the identifier f3 or the like.

Note that one gate open does not necessarily mean the transmission of a single frame. Optionally, an additional transfer time 513 for the flow may be specified, and in case several frames stored in the queue associated with the gate specified in the corresponding row of the table, potentially relating to different flows, are to be transferred in the same gate open instance, more entries containing the flow ID 514 and the corresponding transfer time 515 may be added. Although a maximum of two stream IDs (f5 and f7) and corresponding transmission times (600 and 800) are listed in this picture, there may be any number of stream IDs with corresponding transmission times.

In other embodiments, the configuration table shown in FIG. 5 may be smaller. Instead of specifying each entry of the table with a description entry (504, 506, 508, 510) and a corresponding value (503, 505, 507, 509, 511), it may be sufficient to define a fixed order and the presence of values. In other words, if the format is agreed upon between the CNC and the switching device in advance, the column designators may be omitted entirely.

In general, the format of the configuration shown in fig. 5 is merely exemplary. The gate open list (configuration) can be built by a YANG model that defines the data sent over the network management protocol. In other words, the YANG model specifies the structural elements that carry the configured control data provided to the switch, for example, from the CNC. Some exemplary structural elements are output ports, priorities, etc. As described above, additional structural elements in the YANG model that define one or more stream IDs and corresponding timings result in corresponding elements in the configuration. Note that new entries may be added to the different established YANG models used in the TSN. The particular format to be used may depend on the actual deployment, size and constraints of the network. For example, preemption/priority may not be necessary. Some further parameters may be added. The gate open list may also be encoded in a different way, including two additional columns specifying the transmission order of the streams and their transmission times during the computed gate open instance. The additional entries are compatible with a conventional door open list. The switching device may also be used as a switching device in a conventional TSN without requiring additional entries in the door open list.

Further, the processing circuitry of the CNC device may be used to transmit the configuration to a node in the TSN, the node being a switch and/or a source/destination node. There may be several switches in the TSN and the processing circuitry may be used to provide configuration to each or some of the switches and execute some of each or the edge nodes. Multiple streams may be registered at the CNC. In this case, all registration flows are considered when calculating the configuration to achieve highly deterministic scheduling.

When calculating the configurations of intermediate nodes for the TSN for multiple streams, these configurations may be selected so that the minimum number of queues (631 to 634) are used. However, the present disclosure is not limited to such a cost function, and configurations may be selected where other cost optimizations are employed; for example, minimizing the average number of queues per switch, or minimizing or maximizing other metrics or functions of the queues. Limiting the number of queues may facilitate more efficient switch implementation and more efficient switch operation.

The configuration of the TSN may be the sum of the individual configurations of the switches of the TSN. In other words, the CNC computes a deterministic schedule for each switching device in the TSN network. The available configurations for the TSN are configurations that meet all the requirements of all registered flows. The available configuration may be determined by the CNC by checking whether certain constraints related to the requirements of the flow and the physical constraints of the network are satisfied. As described above, in the TSN according to [1], a Frame Isolation Constraint (FIC) is applied. This means that no two frames belonging to different streams will be stored in the same queue in the TSN.

Phi.. link (v)a,vb) Frame of stream si onTransmission offset ofA storage link (v)a,vb) Queue of flows si on

Frame isolation constraints

Here, (v)a,vb) D denotes the delay of the link (v)a,vb)。Is the set of links in the network.Represents the set of all streams, anRepresents a pass-through link (v)a,vb) The set of all flows that are routed.

The FIC ensures that if a frame of one stream is lost or omitted, frames related to a different stream are not transmitted in its place. However, in a TSN according to the present disclosure, the FIC no longer needs to be satisfied. This is because the TSN, using a switch according to embodiments described herein, identifies each flow and therefore a frame, and checks whether it is the correct frame dispatched from the respective queue at a given time.

However, Queue Order Constraints (QOC) are added in instances of TSNs according to the present disclosure to constrain the available configurations that can be sent to the switch in order to ensure that frames are dispatched from the (FIFO) queue in the same order in which the frames have been enqueued. The FIC is then replaced by the following queue order constraint.

Queue order constraints

Here, the syntax is the same as that of the FIC shown above. Further, (v)x,va) C represents the speed of the link (v)x,va). Stream SiIs denoted as si.pl.

One or all of several other constraints may have to be met by a configuration that can be selected by the CNC. One of these constraints may be a frame constraint that ensures that transmission of a frame on the first link of the routing path cannot begin before the release time from the talker node and must complete before the deadline on the last link.

Another constraint may be a link constraint that ensures that transmission of a frame from a switch can only begin after the frame is fully delivered to the switch and processed by the switch.

A further constraint may be a queue usage boundary constraint. This constraint ensures the correct allocation of queues on each egress port for each flow. This may ensure that the schedule frame is stored to a queue that may be used to schedule traffic.

In an implementation of CNC according to embodiments, the CNC receives information about the source and destination of the flow and information about the requirements of the flow (e.g., about timing, priority, etc.), and calculates a configuration for each switch involved based on some or all of the constraints mentioned above.

It should be noted that, in general, the present disclosure is not limited to switches that receive configuration from a CNC. The switch may be manually configured by storing therein a configuration designed using a particular tool or a configuration pre-calculated when designing the TSN. However, in particular for some larger networks, it may be advantageous to support not only the initial configuration but also the reconfiguration. Reconfiguration may occur, for example, when a new source or destination node is added and/or when a new flow between an existing source and destination is added. In this case, a new configuration may be calculated for all corresponding nodes of the TSN network. Depending on the implementation, the calculations and reconfiguration may be performed during operation of the TSN network or in an offline state. Reconfiguration during operation of the TNS may be performed by providing each node with a new configuration and a time instance (e.g. in terms of network cycle identification) from which the new configuration (schedule) is adopted. However, the present disclosure is not limited to any particular reconfiguration method. The instance of time at which the new configuration is employed may also be fixed with respect to the cycle in which the CNC has provided the new configuration.

The configuration may include flow information identifying the flow by source and destination addresses or by the value of the flow identifier. As shown in fig. 5, the stream IDs (f1, f2, …, f7) may be explicitly provided in association with the timing of the corresponding gates for opening the corresponding frames and optionally with further features such as priority of the frames, output ports, etc. The switch may use a configuration that associates each frame with a gate in the switch (which may correspond to a queue) to store the frame to the corresponding queue when the frame is received. The present disclosure is not limited to any particular format for this configuration. As described above, a flow may be identified explicitly or implicitly by specifying the source and destination (and possibly priority) of the flow.

In some implementations, as described above, the frame is a MAC frame that includes the source and destination addresses of the flow in the MAC frame header. However, even if the MAC header already carries the source and destination addresses, in some implementations it may be advantageous to additionally specify the flow ID in the MAC header or in the MAC payload. For example, a stream ID may be useful if the same source and destination communicate via multiple streams. The stream ID may then be unique among the streams within the TSN, which may provide for simpler implementation and configuration. Alternatively, the flow may be unique to the same source and destination.

A stream is a periodic data transmission from one end station of a TSN to another. The periodicity may be given by the network period.

19页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于优化数据通信的系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!