This application claims priority to European Patent Application No. 17194686.6, filed Oct. 4, 2017, which is incorporated herein by reference.
The invention relates to a method for configuring nodes in a real-time network, which nodes of the real-time network are connected with links to each other directly or indirectly via other nodes and communicate with each other using said links by exchanging frames, wherein at least one node associates at least one queue with at least one link, wherein said at least one node is connected to said at least one queue, and wherein said at least one node places frames in said at least one queue for transmission on the associated link, and wherein said at least one queue is associated with a gate which can be in an open state or in a closed state, and wherein said at least one node selects frames that are placed in said at least one queue on the at least one link associated with said queue for transmission if the state of the gate associated with said queue is in the open state and does not select frames for transmission from said queue on said link when said gate is in the closed state, and wherein said gate changes the state with the progress of time from open to closed and from closed to open to form windows as indicated by configuration data.
Furthermore the invention relates to a device to configure nodes in a real-time network as mentioned above.
Finally, the invention relates to a real-time network comprising at least one device for configuring node according to the invention.
The invention relates to generating configuration data for networks with real-time guarantees. For example such a real-time network may implement IEEE 802.1Qbv [1] which defines a time-aware shaping mechanism for the transmission of scheduled frames. A time-aware shaper is a gating mechanism executed at the egress side of a queue. This gating mechanism dynamically enables or disables the selection of frames from the respective queue based on a predefined configuration data. In the example of IEEE 802.1Qbv this configuration data GCL is referred to as Gate Control List.
In particular, IEEE 802.1Qbv defines a gate for each queue of an egress port, which at a given time can be in one of two defined states: open or closed. When the gate is in the open state, frames may be selected from the respective queue for transmission to the physical link in first-in first-out order. If the gate is in the closed state, frames from the respective queue are not selected. The points in time of state changes are calculated offline and the state changes are then executed during operation with respect to a synchronized time in the network.
It is an objective of the invention to ease the configuration of real-time networks as well as to improve the performance of generation of configuration data.
This objective is achieved with a method described above, which is characterized in that said configuration data is produced by a tool, wherein said tool is capable of solving constraints in array theory, and wherein said tool accepts input, which input is formulated as constraints in array theory, and wherein said input is provided to said tool by means of human user input and/or by means of communication requests from one, two, or more nodes in the real-time network, and wherein said configuration data is communicated to one, two, or more nodes in the real-time network, node or nodes which applies/apply at least parts of said configuration data or said configuration data as local configuration.
Furthermore, this objective is achieved with a device mentioned above, characterized in that the device is capable of producing configuration data by executing a tool, where said tool is capable of solving constraints in array theory, and wherein said tool is configured to accept input, which input is formulated as constraints in array theory, wherein said input is provided to said tool by means of human user input and/or by means of communication requests from one, two, or more nodes in the real-time network, and wherein the device is configured to communicate said configuration data to the one, two, or more nodes in the real-time network, which applies/apply at least parts of said configuration data as local configuration.
Finally, this objective is achieved with a real-time network described in the introduction, wherein for configuring nodes of the real-time network the real-time network comprises at least one device as mentioned above.
The configuration method is disclosed via the formulation of constraints encoding the dependencies between variables denoting among others the open and close instants of time for scheduled windows as well as the assignment of transmitted frames to a particular window. The encoding of these constraints may be formalized in different ways, enabling the use of tools like specialized solvers to search for a satisfiable solution. We particularly address the appropriateness of first-order theory of arrays (also called theory of arrays or array theory in this application) [2] as a suitable means of encoding the constraints derived from the scheduling problem that can be then solved by general purpose tools, like SMT solvers.
The first-order theory of arrays (ℑA) is build around two interpreted function symbols: select, used to return an element of an array from a certain index, and store, used to write an element into an array at a certain index. In addition to the usual operators from linear integer arithmetic, we use the syntax presented in [2] to introduce array theory and express the scheduler constraints. Usually, the signature of ℑA is defined as ΣA: {·[·],··←·
,=}. In [2], the sorts array, elem, and index are used for arrays, elements, and indices, respectively. Furthermore, the syntax a[i] is used for the select function of the element at index i from array a and a
i←e
is used for the store operation of element e in array a at index i. The main two axioms of array theory are [2]:
∀a:array, ∀i,j:index, ∀x:elem
i=j→ai←x
[j]=x
i≠j→ai←x
[j]=a[j]
Together with axioms of linear integer arithmetic these form the theory of integer-indexed arrays () which we use to express our scheduling constraints.
Advantageous embodiments of the method, the device, and the real-time network described above are detailed hereinafter:
In the following, in order to further demonstrate the present invention, illustrative and non-restrictive embodiments are discussed, as shown in the drawings. In the drawings
We discuss some of the many implementations of the invention next. If not stated otherwise, all details described in connection with a specific example are not only valid in connection with this example, but apply to the general scope of protection of the invention.
={ν, ε}, where ν is a set of nodes e.g., v1, . . . , v8, and E is a set of directed links e.g., E1a, . . . , E8a, E1b, E8b, connecting nodes to each other. If there exists a physical connection between two nodes νi and νj then this physical connection provides two links one link per communication direction, i.e., communication is possible in both direction between two nodes. Formally, if nodes νi and νj are connected to each other, then two directed links ei,j,ej,i ∈ε are defined. Nodes may be the source or destination of frames or may forward frames to other nodes. In one realization, the links may be Ethernet links and each node of the real-time network is one selected from a group consisting of an Ethernet switch, a router and an end station.
Nodes communicate with each other by the concepts of streams and frames. A stream (or flow) is a periodic multicast data transmission from one talker (the sender) to one or multiple listeners (the receivers). We denote the set of streams in the network with . We denote the route of a stream si∈
from talker ν1 to listener νn routed through the intermediary nodes (i.e. switches) ν2, ν3, . . . , νn-1 as
i=[e1, . . . , en-1].
We assume that for each stream the sender and receiver nodes ν1, νn, as well as the routed communication path connecting them are known. A stream si∈ is defined by the tuple
Ci, Ti, Li, Ji
, denoting the frame size in bytes, the period, the maximum allowed end-to-end latency, and the maximum allowed jitter of the stream, respectively.
The instance of a stream si∈ routed through link e∈ε is defined by a set of frames fi,je∈
ie, where
ie⊂
e is the set of all frames of stream si that are to be scheduled on link e. We denote the set of all frames routed through link e with
e. Since streams may have different periods resulting in an overall schedule cycle (also called hyperperiod) larger than any individual stream period, when constructing the GCL we must consider all instances of a specific stream repeating until the schedule cycle. Hence, a set
ie will have Ts/Ti frames, where Ts is the schedule cycle of all scheduled streams in the network, calculated as the least common multiple of the periods of all streams si∈
. Additionally, each such periodic frame on link e∈ε is characterized by a frame transmission duration lie calculated based on the data size Ci of the stream si and the speed of the egress port associated to the physical link e. For example, a minimum- and a maximum-sized Ethernet frame of 84 and 1542 bytes (including the IEEE 802.1Q tag) have a duration of 0.672 μsec and 12.336 μsec on a 1 Gbit/sec link, respectively.
e.
In order to encode the scheduling problem in , we define for each link e two arrays, ϕe and τe over a sort array, containing the integer variables for, respectively, the open O1-O4 and close time instants C1-C4 of the windows indexed by the position in both arrays for the egress port associated to link e. Furthermore, we define for each frame instance fi,je∈
iea window index ωi,je over the sort index representing the frame-to-window assignment index in both aforementioned arrays. Open O1-O4 and close C1-C4 time instants are measured with respect to a synchronized time in the network. The synchronized time can be established in the nodes, for example, by means of the IEEE 1588 standards and/or the IEEE 802.1AS standards and/or the SAE AS6802 standard or any revision of said standards.
Well-Formed Windows Constraints:
Queue Assignment Constraints
Stream Instance Constraints
Ordered Windows Constraints
Frame-to-Window Assignment Constraints
Window Size Constraints
Stream Constraints
Stream Isolation Constraints
Number | Date | Country | Kind |
---|---|---|---|
17194686 | Oct 2017 | EP | regional |
Number | Name | Date | Kind |
---|---|---|---|
5678006 | Valizadeh | Oct 1997 | A |
9141354 | Kuznetsov | Sep 2015 | B2 |
10511455 | Sharma | Dec 2019 | B1 |
20040049474 | Shankar | Mar 2004 | A1 |
20080089245 | Reichstein | Apr 2008 | A1 |
20090207568 | Haveri | Aug 2009 | A1 |
20100299654 | Vaswani | Nov 2010 | A1 |
20110078665 | Gulwani | Mar 2011 | A1 |
20110138369 | Chandra | Jun 2011 | A1 |
20110228489 | Emery et al. | Sep 2011 | A1 |
20130305341 | Baker | Nov 2013 | A1 |
20140362705 | Pan | Dec 2014 | A1 |
20160127246 | Ashwood-Smith | May 2016 | A1 |
20170006067 | Narain | Jan 2017 | A1 |
20170118083 | Bjorner | Apr 2017 | A1 |
20170331748 | Mangin | Nov 2017 | A1 |
20180026854 | Bhatia | Jan 2018 | A1 |
20180183708 | Farkas | Jun 2018 | A1 |
20180237039 | Mong | Aug 2018 | A1 |
20180302330 | Bush | Oct 2018 | A1 |
20180302331 | Bush | Oct 2018 | A1 |
20180309656 | Regev | Oct 2018 | A1 |
20180316557 | Frangieh | Nov 2018 | A1 |
20180316592 | Ellegaard | Nov 2018 | A1 |
20190007344 | Mangin | Jan 2019 | A1 |
20190007443 | Cook | Jan 2019 | A1 |
20190104073 | Choi | Apr 2019 | A1 |
20190166061 | Farkas | May 2019 | A1 |
20190199642 | Jiang | Jun 2019 | A1 |
20190327181 | Dilger | Oct 2019 | A1 |
Number | Date | Country |
---|---|---|
202014101348 | May 2014 | DE |
1777919 | Apr 2007 | EP |
2017082779 | May 2017 | WO |
Entry |
---|
Abraham, Erika, and Gereon Kremer. “Satisfiability checking: Theory and applications.” International Conference on Software Engineering and Formal Methods. Springer, Cham, 2016. (Year: 2016). |
Craciunas, Silviu S., et al. “Scheduling real-time communication in IEEE 802.1 Qbv time sensitive networks.” Proceedings of the 24th International Conference on Real-Time Networks and Systems. 2016. (Year: 2016). |
Craciunas, Silviu S., and Ramon Serna Oliver. “SMT-based task-and network-level static schedule generation for time-triggered networked systems.” Proceedings of the 22nd international conference on real-time networks and systems. 2014. (Year: 2014). |
European Search Report for European Application No. 17194686.6, dated Mar. 19, 2018 (13 pages). |
Pop, P., et al., Design Optimisation of Cyber-Physical Distributed Systems Using IEEE Time-Sensitive Networks, IET Cyber-Physical Systems: Theory & Applications, Dec. 2016, pp. 86-94, vol. 1, Issue 1. |
Craciunas, S., et al., Scheduling Real-Time Communication in IEEE 802.1Qbv Time Sensitive Networks, RTNS'16 Proceedings of the 24th International Conference on Real-Time Networks and Systems, pp. 183-192, published Oct. 2016 (10 pages). |
Durr, F., et al., No-wait Packet Scheduling for IEEE Time-Sensitive Networks (TSN), RTNS'16 Proceedings of the 24th International Conference on Real-Time Networks and Systems, pp. 203-212, published Oct. 2016 (10 pages). |
Farzaneh, M., et al., A Graphical Modeling Tool Supporting Automated Schedule Synthesis for Time-Sensitive Networking, ETFA'16 Proceedings of the 22nd IEEE International Conference on Emerging Technologies and Factory Automation, published Sep. 2017 (8 pages). |
Time Sensitive Networking Task Group of IEEE 802.1, Draft Standard for Local and Metropolitan Area Networks—Bridges and Bridged Networks—Amendment: Enhancements for Scheduled Traffic, IEEE P802.1Qbv/D3.1, issued Sep. 22, 2015 (52 pages). |
Bradley, A., et al., What's Decidable About Arrays?, VMCAI 2006: Verification, Model Checking, and Abstract Interpretation, pp. 427-442, Lecture Notes in Computer Science, vol. 3855, Springer-Verlag Berlin Heidelberg (2005). |
Internet Engineering Task Force, Network Configuration Protocol (NETCONF), published Jun. 2011 (113 pages). |
Internet Engineering Task Force, Yang—A Data Modeling Language for the Network Configuration Protocol (NETCONF), published Oct. 2010 (173 pages). |
Object Management Group, Data Distribution Service (DDS), Version 1.4, published Apr. 2015 (180 pages). |
Network Working Group, An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks, published Dec. 2002 (384 pages). |
First Office Action for Austrian priority Application No. A 50317/2016 dated Feb. 21, 2017. |
International Search Report for PCT/AT2017/060085 dated Jun. 20, 2017. |
Number | Date | Country | |
---|---|---|---|
20190104055 A1 | Apr 2019 | US |