(19)
(11)EP 3 139 547 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
17.10.2018 Bulletin 2018/42

(21)Application number: 16185108.4

(22)Date of filing:  22.08.2016
(51)Int. Cl.: 
H04L 12/28  (2006.01)
H04L 12/413  (2006.01)

(54)

AN ONLINE INCREMENTAL SCHEDULING METHOD FOR DETERMINISTIC NETWORKS

INKREMENTELLES ONLINE-PLANUNGSVERFAHREN FÜR DETERMINISTISCHE NETZWERKE

PROCÉDÉ D'ORDONNANCEMENT INCRÉMENTAL EN LIGNE POUR RÉSEAUX DÉTERMINISTES


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 07.09.2015 AT 507682015

(43)Date of publication of application:
08.03.2017 Bulletin 2017/10

(73)Proprietor: TTTech Computertechnik AG
1040 Wien (AT)

(72)Inventors:
  • Craciunas, Silviu
    1050 Wien (AT)
  • Serna Oliver, Ramon
    1210 Wien (AT)

(74)Representative: Patentanwaltskanzlei Matschnig & Forsthuber OG 
Biberstraße 22 Postfach 36
1010 Wien
1010 Wien (AT)


(56)References cited: : 
US-A1- 2015 078 399
  
  • A-A MAHMOOD ET AL: "Incremental Routing and Scheduling in Wireless Grids", GLOBAL TELECOMMUNICATIONS CONFERENCE, 2009. GLOBECOM 2009. IEEE, IEEE, PISCATAWAY, NJ, USA, 30 November 2009 (2009-11-30), pages 1-6, XP031645867, ISBN: 978-1-4244-4148-8
  • ELES P ET AL: "Scheduling and Mapping in an IncrementalDesign Methodology for Distributed Real-Time Embedded Systems", IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, IEEE SERVICE CENTER, PISCATAWAY, NJ, USA, vol. 12, no. 8, 1 August 2004 (2004-08-01) , pages 793-811, XP011115527, ISSN: 1063-8210, DOI: 10.1109/TVLSI.2004.831467
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description


[0001] The invention relates to a method for transmitting messages in a computer network, for example a TTEthernet computer network, wherein
  • said computer network comprises nodes and at least one star coupler, which nodes and said at least one star coupler are connected in a multi-hop fashion,
  • wherein nodes in said computer network periodically exchange time-triggered (TT) messages according to a pre-defined transmission schedule, and wherein
  • nodes exchange, according to said transmission schedule, messages via scheduled time-triggered flows, wherein a time-triggered flow specifies at least the following information:
    • sender node and a set of at least one destination node;
    • at least one multi-hop path between said sender node and the at least one destination node;
    • message size;
    • message period;
wherein the transmission of messages at each hop is driven by the transmission schedule executed cyclically, and wherein the transmission schedule is decomposed into sub-schedules for each transmitting port of each network component, i.e. for each transmitting port of each node and for each transmitting port of the at least one star coupler, wherein each sub-schedule is executed locally by the corresponding network component, in particular following a global notion of time, according to a transmission cycle, wherein each transmission cycle has a duration which is a multiple of the period time of all transmitted flows by the port of the network component, and wherein the transmission cycle of each hop in the flow path is chosen such that a scheduled interval, the so-called "transmission window", for the transmission of each flow is guaranteed, and wherein the length (duration) of the transmission window is sufficient to account for the transmission time of the message, and wherein the transmission windows for a given flow along the flow path are sequenced in time such that the transmission of said flow on a given port is scheduled after the transmission of the previous port, and wherein transmission windows of different flows do not overlap in time on a given transmission port.

[0002] Furthermore, the invention relates to a computer network, for example TTEthernet computer network, wherein
  • said computer network comprises nodes and at least one star coupler, which nodes and said at least one star coupler are connected in a multi-hop fashion,
  • wherein nodes in said computer network periodically exchange time-triggered (TT) messages according to a pre-defined transmission schedule, and wherein
  • nodes exchange, according to said transmission schedule, messages via scheduled time-triggered flows, wherein a time-triggered flow specifies at least the following information:
    • sender node and a set of at least one destination node;
    • at least one multi-hop path between said sender node and the at least one destination node;
    • message size;
    • message period;
wherein the transmission of messages at each hop is driven by the transmission schedule executed cyclically;
and wherein the transmission schedule is decomposed into sub-schedules for each transmitting port of each network component, i.e. for each transmitting port of each node and for each transmitting port of the at least one star coupler, wherein each sub-schedule is executed locally by the corresponding network component according to a transmission cycle, wherein each transmission cycle has a duration which is a multiple of the period time of all transmitted flows by the port of the network component, and wherein the transmission cycle of each hop in the flow path is chosen such that a scheduled interval, the so-called "transmission window", for the transmission of each flow is guaranteed, and wherein the length (duration) of the transmission window is sufficient to account for the transmission time of the message, and wherein the transmission windows for a given flow along the flow path are sequenced in time such that the transmission of said flow on a given port is scheduled after the transmission of the previous port, and wherein transmission windows of different flows do not overlap in time on a given transmission port.
In particular, the transmission schedule is statically defined, e.g. it is calculated once and then repeats cyclically without changes.
A "transmission cycle" relates to the transmission sub-schedule of one particular port of a network device, which cycle after being completed repeats over again.
A computer network, for instance according to IEEE 802.3 Ethernet [2], can carry both scheduled and unscheduled communication messages, whereby scheduled communication messages are transmitted from a sending entity (sending node) to one or more receiving entities (receiving nodes) at predefined points in a network-wide well-defined time, for example a global time, while unscheduled communication messages are transmitted according to other criteria. Appropriate transmission protocols and mechanisms for message handling and message prioritization can be applied, whereby it is ensured that no interference of any scheduled or unscheduled communication message with any given scheduled communication message can occur.
Typically a global transmission schedule approach, whereby the transmission of scheduled messages follows a predefined global schedule ("transmission schedule") calculated offline (i.e. prior to initiating the transmission of messages), is chosen because the creation of transmission schedules for nontrivial communication networks is a mathematically complex task and requires significant computational resources.
For very large or dynamic networks, the global schedule approach may not be feasible, specifically if there are requirements for the dynamic addition of new scheduled messages - e.g. while other transmissions are already ongoing.

[0003] US 2015/078399 A1 (POLEDNA STEFAN [AT] ET AL) 19 March 2015 (2015-03-19) discloses a method for generating, in a distributed time-controlled real-time system, new schedules for the time-controlled switches and for finding consistent changeover points at which these new schedules have to be activated so that the system as a whole can be harmonically transferred from the active schedule into the new schedule. It may be a task of the invention to describe a method to transmit new scheduled messages in a time-triggered computer network, in which network time triggered messages ("old" messages) are already being transmitted according to a pre-defined transmission schedule.

[0004] Furthermore, it may be a task of the invention to describe such a method, wherein the real-time properties of the existing ("old") scheduled messages are preserved and the real-time properties of the new scheduled messages are guaranteed.
These tasks can be achieved with a method described above, wherein according to the invention for adding a new time-triggered flow into the computer network, in particular into the running computer network, the following steps are carried out:
  1. 1. determining, for each hop in the new flow path of the new time-triggered flow, a free transmission gap in the transmission cycle of the corresponding port, wherein the transmission gap has to be sufficiently long to place a transmission window for the new flow, in particular following the right sequence in time along the path;
  2. 2. modifying, in case that a sufficiently long transmission gap is not free in a transmission cycle, said transmission cycle, preferably by modifying, in particular shifting, at least one existing transmission in said transmission cycle, wherein
  3. 3. modifying transmission cycles takes place iteratively, wherein
    1. (a) initially, only transmission cycles being affected by the addition of the new flow, i.e. transmission cycles being part of the flow path, are considered for modification;
    2. (b) one or more transmission windows for existing (old) flows with known predecessor and/or successor transmission windows are shifted, in particular until a sufficiently large transmission gap is available in the transmission cycle or all shifting possibilities have been exhausted;
    3. (c) if for a given transmission cycle, the previous steps 3 (a) and 3 (b) do not render a sufficiently large transmission gap in the transmission cycle to place the transmission window of the new flow, the set of known transmission cycles being considered for modification is extended;
    4. (d) steps (b) and (c) being repeated until a sufficient gap is found, the cumulated knowledge of the transmission cycles is equal to the knowledge of the transmission cycles of the entire network, or a limiting factor has been reached (e.g. a predefined time out),
  4. 4. if a sufficient transmission gap is found in each transmission cycle along the flow path, the new transmission is incorporated into each of the transmission cycles and is executed periodically.


[0005] The formulation "transmissions ... considered" in step 3 (a) means, that these cycles, which according to step 3 (a) have dependencies contained within this set of cycles, can be modified. Transmission windows of other flows that intersect with the new flow may not be modified since the dependencies (previous transmission windows) are not known.

[0006] The set of "known" transmission cycles are those cycles that are considered. In particular, this means that
  • initially, a set K of transmission cycles contains all transmission cycles being affected by the addition of the new flow, i.e. transmission cycles being part of the flow path,
  • only transmission windows for existing (old) flows, which predecessor and/or successor transmission windows are in a transmission cycle in the set K can be shifted,
  • and if for a given transmission cycle, the previous steps do not render a sufficiently large transmission gap in the transmission cycle to place the transmission window of the new flow, the set K is extended.


[0007] Shifting a transmission window in this context refers to moving the window in the transmission cycle, in particular advancing or delaying the start of the window by an amount of time.

[0008] Furthermore, these tasks can be achieved with an above mentioned computer network, which network, for adding a new time-triggered flow into the computer network, in particular into the running computer network, comprises means, or is connected to means, or can be connected to means, which means are adapted to carry out the above mentioned steps 1. - 4.

[0009] Advantageous embodiments of the method as well as of the network according to the invention are described in the following. These further embodiments may be realized in any arbitrary combination:

*) - Step 2 can be carried out with the following restriction(s):

  1. (a) an existing transmission window can be shifted, in particular advanced or delayed, within this transmission cycle within the limits imposed by the end of the predecessor transmission window and the beginning successor transmission window(s) in the respective transmission cycles, preferably plus the additional transmission latency added by a transmission media; and/or
  2. (b) the transmission windows of the first and last hops cannot be shifted.

The "first" and "last" hop refers to the transmission window of the sender node (first port) and that of the last node before the receiver node (last port/ports). In essence, these are the end points defining the original transmission and reception times for the message. Changing them would mean altering the message properties (either by sending or receiving before or later). Anything in between (the intermediate hops) can be changed without the end sides (sender and receivers) noticing any difference (they will keep sending and receiving at exactly the same point In time).

*) According to step 3 (b) it can further be provided that:

  1. (i) if the preceding transmission window of the transmission window in question is known, said transmission window in question can be advanced at most until the end of the predecessor transmission window;
  2. (ii) if the succeeding transmission window(s) is (are) known, a transmission window in question can be delayed at most until the beginning of that succeeding window or, in the case of two or more succeeding transmission windows, until the beginning of the earliest succeeding transmission window.

*) In step 3 (c) it can be provided that

  1. (i) the extension is limited to a defined subset of all remaining transmission cycles in the network, for example those transmission cycles at one hop distance; and/or
  2. (ii) the extension may be directed to a defined subset of remaining nodes in the network, for example those containing predecessor or successor transmission windows of scheduled flows in the given transmission cycle.

*) It can be of advantage that the length (duration) of a transmission window is sufficient to account for the transmission time of the flow, that is the time necessary to transfer the bits of the message of that flow, as well as additional jitter, e.g. due to the time synchronization precision.

*) It can be of advantage that the duration of a transmission cycle is the least common multiple (LCM) of all flows in the network.

*) It can be of advantage when a flow further specifies the maximum amount of data transmitted at each period interval and/or an end-to-end maximum latency.

*) It can be of advantage when the steps for adding a new time-triggered flow into the computer network, in particular into the running computer network, are carried out during run-time of the network.

*) For example, the steps for adding a new time-triggered flow are carried out by the following means:

  1. (i) an external component, e.g. a component which is not part of the computer network; or
  2. (ii) one component of the computer network, e.g. a specific node; or
  3. (iii) a subset of the nodes and/or starcouplers of the network or of all of the nodes and starcouplers of the network.



[0010] Option (i) implies a central computer acting as a "brain", having the knowledge of the network configuration but not being part of it.

[0011] Option (ii) is similar to (i) just that since it is part of the network it can propagate the results to the network on its own. Also, due to being part of the network it does not need to "store locally" all the information as it can acquire it on demand (e.g. instead of having the complete knowledge of the network configuration it may "ask" for the pieces it needs at any time).

[0012] Option (iii) means that any component (for example, all starcouplers, or a subset of them) is able to calculate new schedules and distribute it to through the network. This allows a distributed solution with no "central brain". A simple example would be that the new schedule is calculated by the sender node of the new flow, or the first starcoupler on the flow path. Here is where the "not having the entire knowledge of the network configuration" really makes a difference, since none of the devices/components in the network would need to have the capacity to store that information.

[0013] The invention relates to a method and a network for the transmission of new dynamically scheduled messages in a time-controlled computer network, e.g. TTEthernet [5], wherein the network consists of a number nodes connected to each other by means of one or more star couplers, and said nodes communicate via scheduled time-triggered messages based on a global time notion, e.g. SAE AS6802 [1].

[0014] The real-time properties of the existing scheduled messages can be preserved and the real-time properties of the new scheduled messages are guaranteed.

[0015] The preservation of real-time properties refers to the guaranteed end-to-end latency for the periodic transmission of messages between one sender node and one or several receiver nodes. The end-to-end latency is bounded if the transmission methods ensure that the messages are transmitted at their scheduled point in time (within a small deviation derived from the clock synchronization imprecision) without occurring in contention with other scheduled or unscheduled transmissions.

[0016] The proposed method relates to dynamically scheduled transmissions, whereby the transmission of new messages is scheduled preserving the transmissions of already scheduled messages. The proposed method enables the addition of new transmissions.

[0017] The computer network comprises nodes and at least one star coupler, and the nodes are connected to each other in a multi-hop fashion by means of the star coupler(s). Each node is connected to, at least, one star coupler, in particular via a physical link (communication line). For example, the connection is done via physical ports on each of the devices. Nodes and star couplers have a limited number of ports, and therefore a maximum number of connecting physical links.

[0018] All nodes and star couplers share a common notion of time by means of e.g. a time synchronization protocol like, for example, SAE AS6802 [1] or IEEE 802.1AS [3].

[0019] Nodes communicate to each other in a time-controlled manner by exchanging periodic time-triggered messages. Time-triggered messages can be defined by the concept of time-triggered flows, like for example virtual links (VL) defined in [6]. A virtual link is a logical communication channel between one sender and one or several receivers.

[0020] A time-triggered message, characterized by a time triggered flow (flow), may have the following attributes:
  • a sender node
  • one or several receiver nodes
  • a multi-cast path between the sender and receivers
  • a period
  • a maximum message size
  • a maximum end-to-end latency


[0021] The transmission of time-triggered messages, characterized by e.g. VLs, follows a schedule. Each flow is routed through the network. The routing process consists of finding a multi-hop network path connecting the sender node with each of the receivers (using, for example Steiner Trees [4]).

[0022] The message is propagated periodically from the sender to the receiver nodes, in particular via scheduled frames, at each of the intermediate communication lines constituting the network path. Therefore, for each physical link on the network path, a transmission window is scheduled for periodic transmission according to the respective message attributes. Transmission windows are scheduled sequentially such that the transmission point in time of any intermediate hop (port) is not scheduled before the precedent transmission window (e.g. that on the preceding hop (port)).

[0023] The beginning of the transmission window is the schedule point in time, defined as an offset relative to the period, in which the respective frame or frames carrying the message will be transmitted. The transmissions are repeated periodically at the given offset.

[0024] The end-to-end latency is guaranteed if the last frames are received at the receiver nodes within the maximum end-to-end latency relative to the transmission of the first frame by the sender node within the current period.

[0025] During operation, nodes and star couplers start the transmission of flows on ports at their scheduled points in time (within a given time precision) following the schedule for the respective port (referred as transmission cycle). The transmission cycle comprises the scheduled points in time for all flows scheduled on that port. The schedule repeats cyclically according to the network cycle, typically the least common multiple of the periods of all flows.

[0026] The generation of a network schedule comprising the periodic transmission of frames for all flows satisfying their end-to-end latency and without contention is a complex operation. Therefore, it is typically calculated and distributed offline and static during operation (e.g. does not change dynamically).

[0027] Given a time-controlled computer network as described above in operation, the invention relates to a method to add transmitted time-triggered flows (characterized by e.g. new VLs), wherein the transmission points in time of the respective frames are scheduled without altering the real-time properties (in particular the end-to-end latency, and/or sending time, and/or receiving time) of the already scheduled time-triggered flows and the real-time properties of said new flows are guaranteed.

[0028] The invention also relates to a method for the transmission of time-triggered flows, characterized by e.g. a VL, wherein the transmission windows and transmission points in time for the respective flows are scheduled without producing any modification to the transmission windows of any already scheduled transmission maintaining the real-time properties (in particular the end-to-end latency, and/or sending time, and/or receiving time) of other transmissions, and guaranteeing the real-time properties of said new flows.

[0029] The invention also relates to a method for the transmission of time-triggered flows, characterized by e.g. a VL, wherein the transmission windows and the transmission points in time for the respective flow are scheduled introducing modifications to the transmission windows of other already scheduled transmissions, maintaining the end-to-end real-time properties of the existing transmitted flows, and the real-time properties (in particular the end-to-end latency, sending time, and/or receiving time) of said new flows is guaranteed.

[0030] The invention also relates to a method for the transmission of messages, characterized by e.g. a VL, wherein the transmission windows and the transmission points in time for the respective flow are scheduled introducing modifications to the transmission windows of other already scheduled transmissions, and the amount of transmission cycles for which transmission changes may be required is variable and less than the complete set of transmission cycles in the network.

[0031] The invention also relates to a method for the transmission of messages, characterized by e.g. a VL, and the dynamic calculation of the transmission windows and transmission points in time for the respective flow, wherein the amount of nodes and star couplers for which information about their transmission cycles is required is variable and less than the complete set of transmission cycles of all nodes and star couplers in the network.

Brief description of the drawings



[0032] The specific features and advantages of the present invention will be better understood through the following description. In the following, the present invention is described in more detail, in particular with reference to exemplary embodiments (which are not to be construed as limitative) depicted in drawings:

Fig. 1 shows an example of a time-controlled computer network,

Fig. 2 shows the scheduled transmission of a flow with the corresponding transmission cycles of the nodes constituting its network path,

Fig. 3 shows a detailed representation of the transmission cycle depicted in Figure 2,

Fig. 4 shows the transmission schedule of Figure 3 with a new time-triggered message to be transmitted,

Fig. 5 shows the result of reorganizing the transmission schedule shown in Figure 4 according to the invention, and

Fig. 6 - 9 a further example for an implementation of the method according to the invention.



[0033] Figure 1 shows an example of a time-controlled computer network comprising three time-controlled star couplers (for example, switches) 110,120, and 130, and six nodes (for example, end systems) 111, 112, 121, 122, 131, 132. All components are connected via bidirectional lines as shown in figure 1 and have a common time-base, for example as defined in TTEthernet [1]. Time-triggered (TT) messages are transmitted following a pre-configured global cyclic schedule ("transmission schedule"). TT messages can be transmitted in coexistence with other traffic (best effort).

[0034] Such a global distributed schedule determines exact points in time for the transmission of messages between the network components, in a way that the transmissions through the shared lines is realized without contention/conflict. The calculation of the schedule is computationally intense, and therefore it is typically performed offline (i.e. prior to the network start-up) and distributed fully or partially to each of the components. At run-time, the global time base, within a known precision, is available to all components, and used to execute the transmission schedule in a cyclic and coordinated manner.

[0035] Non-scheduled traffic can be transmitted during the sparse time between scheduled transmissions, in a way that the interference to scheduled transmissions is either avoided or bounded to a known maximum delay.

[0036] The transmission of scheduled messages is logically organized according to the concept of flows, in particular time-triggered flows ("TT-flows"). A flow, in particular a TT-flow relates to one sender node (e.g. end system) and one or multiple receivers (receiving nodes), as well as a physical path (communication lines) between them and an amount of information to be transmitted (message size) as well as the periodicity of the communication (period). The message is propagated periodically from the sender to the receiver nodes, in particular via scheduled frames, at each of the intermediate communication links constituting the network path.

[0037] The transmission of frames is specified by means of a transmission window within a transmission cycle. A transmission window starts with the transmission event (point in time) and has a duration, at least, sufficient to transmit the number of frames necessary to transport the message. Optionally, the transmission window may be enlarged to account for the time synchronization inaccuracy between nodes (precision), or additional delays involved in the communication.

[0038] In TTEthernet, TT-Flows follow the definition of Virtual Links (VL) provided in [6], with the peculiarity of defining a message size that fully fits in the payload of one Ethernet frame. The transmission of messages in a VL originates at the sender and propagates through the physical path until each receiving node is reached. Each of these propagation steps implies a scheduled frame transmission after the reception of the previous frame. Additional constraints may be provided for VLs, for example a maximum end-to-end transmission deadline, referring to the maximum allowed interval for the propagation of frames from sender to receiver(s).

[0039] Let vla be a virtual link with sender node 121 and receiver node 131 in the network depicted in Figure 1. The network path is hence composed by the sequence {121, 120, 130, 131}, as extracted from Figure 1. Let the period as well as the end-to-end deadline of vla be 100 ms.

[0040] Figure 2 illustrates the periodic transmission of frames originated by vla within the transmission cycles 150,160,170 of the three nodes conforming the respective network path. Note that in this example only the transmission events are scheduled, hence node 131, the receiver, does not appear in Figure 2. Respectively, reference sign 150 represents the cyclic transmission of frames from vla in node 121, reference sign 160 that in node 120, and reference sign 170 in node 130. Each of the transmission cycles represents a cycle duration of 100 ms starting from the top most point in time (200, 300, and 400) and progressing clockwise. Preferably, the clock is synchronized globally at every cycle; hence the time progression is homologous for all systems, within a known synchronization precision.

[0041] In essence, at the point in time 200 a transmission event for a message of vla occurs at node 121 which initiates the transmission of a frame taking place until time 210. Node 120 receives the frame and transmits a succeeding frame at time 310, being the transmission finished by, at most, 320. Similarly, node 130 transmits a succeeding frame at 410, finishing by 420. This transmission cycle repeats endlessly in a coordinated manner.

[0042] Note that event 310 can only occur after event 210, as the frame transmission in node 120 directly depends on the previous reception of the frame transmitted by node 121. Analogously, event 410 depends on the occurrence of event 320. In essence, for the second and following frames propagated along the network path of a VL, the transmission can only be initiated after the previous frame of the VL has arrived at the current node.

[0043] Figure 3 provides a detailed representation 180 of the transmission cycle depicted in Figure 2 including other scheduled transmissions in the same communication line for node 120 (dark gray), in addition to those of vla (light gray) already depicted in Figure 2. We observe that additional transmissions can be guaranteed between the transmission windows 301 - 310 and 320 - 321. Note that a transmission cycle defines the outgoing transmissions of one single communication line of the respective node (often referred as ports). Therefore, representation 180 depicts only the transmission cycle of node 120 for the communication line between nodes 120 and 130. Also note that similarly to the sequential transmissions depicted in Figure 2, the transmissions of frames shown in Figure 3 have dependencies to previous transmissions from nodes 121,122 or 110 as part of VL paths traversing node 120.

[0044] Assume that once the network is operational and the transmission cycle of each node is continuously being executed in a time-controlled manner, a new VL, vlb, for example with source node 112 and destination (receiver node) 132 is required. Such scenario may arise when, for example, a new node is plugged into one of the existing star couplers and requests a new deterministic route through the network. Similarly, it may occur if a new application starts execution in one of the existing nodes, and such application requests a new deterministic communication route through the network.

[0045] Let the period as well as end-to-end deadline of the newly requested vlb be 50ms. Note that this implies that two instances of vlb will fit within one cycle of 100ms, resulting in that two transmissions, one in the first half of the cycle and one in the second half, need to be scheduled.

[0046] The communication path of vlb, {112, 110, 120, 130, 132}, traverses star coupler 120 through the same line as vla. Therefore, the transmission of messages from vlb requires modifications to the transmission cycles of the respective nodes in order to schedule the necessary frame transmissions within the respective cycles. This reduces to finding unused intervals along the cycles comprising the communication path large enough to transmit the respective frames respecting the logical order and message propagation dependencies.

[0047] Assume that, due to the sequential propagation of the message along the path, and in particular, the dependencies with the preceding transmission windows, the transmission due in the star coupler 120 can only initiate after the point in time 302, depicted in Figure 4. Note however, that the transmission window 302 - 303 overlaps with the previous communications, as depicted in the cycle superposition 181. In fact, it is not possible to find a free interval to schedule the new frame within the first half of the 100ms cycle, which renders the end-to-end communication deadline of 50ms unfeasible.

[0048] Without additional knowledge of the dependencies towards previous and following transmissions, the existing pre-configured transmission schedule cannot be modified. In essence, any change on the transmission cycle would potentially result in a misalignment with the dependent cycles of the neighbor hops and therefore, the loss of determinism in the global communication. Considering the complete network configuration with the dependent communications of all nodes and star couplers would allow a smart realignment of transmissions leading to a valid solution, if one exists. However, this implies a potentially large amount of information to be handled, which may result impractical for large network configurations with, for example, hundreds or thousands of nodes and star couplers.

[0049] The modification of existing transmission cycles, therefore, requires certain knowledge of the dependent transmissions and the propagation effects of any modification performed on the transmission cycles of other hops. For instance, delaying one transmission in the current cycle of any intermediate hop may imply readjusting the dependent transmission of the following hop such that the subsequent transmission is also delayed if needed, solving any possible misalignment due to the introduced delay. This may potentially propagate the delay recursively until the end node receiving the message of the respective VL, but it may also propagate to transmissions of messages from other VLs being shuffled to avoid contention due to the modifications in the transmission cycles. Essentially, this kind of adjustments may originate a cascade effect affecting the entire network configuration.

Example 1



[0050] To circumvent this effect, the present invention introduces a novel method comprising an iterative process, in which advantageously any transmission cycle is only modified if the dependencies of the target transmission are known. The initial information required is reduced to the transmission cycle of the hop where the new transmission is being added. If no interval is available for the new transmission, the knowledge is extended with the transmission cycles of immediate neighbor hops. This allows transmissions in the current cycle to be shuffled between the limits imposed by the directly dependent transmissions (i.e. previous and following hops).

[0051] Representation 182 in Figure 5 depicts the result of reorganizing the transmission schedule shown in 181, now with the additional information of the transmission cycles of neighbor hops. As shown in Figure 5, the transmission according to vla scheduled previously in the time interval 310 - 320 in node 120 (see Figure 4) is now relocated to an interval 321 - 322. This change is possible since the following transmission occurs in the neighbor hop 130 at point 410 (see Figure 2), and point in time 410 is after the point in time 322, hence allowing shuffling the transmission without affecting the real-time properties (in particular the end-to-end latency, sending time, and/or receiving time) of the respective time-triggered message.

[0052] If shuffling transmissions of an existing transmission cycles considering the direct neighbors does not render sufficient gap to accommodate the new transmission window, further adjustments are sought by extending the information relative to the transmission cycles to, for example, the transmission cycles to one additional hop, and modifying the neighbor transmissions recursively in a similar fashion, hence resulting in an iterative process. In essence, the transmission cycles of nodes and star couplers with dependent transmissions are modified, preserving the real-time properties of existing messages, such that new transmissions can be allocated and their real-time properties guaranteed.

[0053] This approach allows for two dimensions of control towards the propagation of changes with a direct impact on the required amount of knowledge (information of transmission cycles) as well as the computation efforts. On one hand, the extension of the information regarding the transmission cycles of neighbor nodes can be limited, for each iteration, to a subset of all possible. This may result in some transmissions being not modifiable in the current cycle due to the lack of information of the respective dependencies. On the other hand, the number of iterations, and hence the propagation of changes to further nodes and their respective cycles can also be limited, hence concentrating changes locally. These two levels of control allow the introduction of new scheduled transmission in large networks, like e.g. the Internet, in which considering a complete knowledge of the entire network configuration is unfeasible, as well as nodes to alter - if needed - the transmission schedule of their close neighbors based on a cluster organization. In this way, it is possible to realize these actions within embedded devices with limited computing and processing resources (for example, within the network starcouplers) acquiring the distributed information regarding transmission cycles of neighbor hops as needed ("on the fly"), for instance by running dedicated network discovery and transport protocols.

Example 2



[0054] Let F500 be a time-triggered flow with sender node 112 and receiver node 131 in the network depicted in Figure 1. The network path is hence composed by the sequence {112, 110, 120, 130, 131}, as extracted from Figure 1. Let the period as well as the end-to-end delay specified for F500 be 100 ms.

[0055] Figure 6 shows the transmission cycles corresponding to the ports (communication lines) of each of the nodes in the network path. Respectively, 1120 depicts the transmission cycle in node 112, 1110 the cycle of node 110,1200 depicts the cycle of node 120 and 1300 the cycle of node 130.

[0056] The transmission windows for the respective frames of F500 scheduled on each cycle are depicted respectively as the gray areas between 510-520, 530-540, 550-560 and 570-580. All transmission cycles depicted represent a time interval of 100ms.

[0057] The depicted transmission cycles enable the periodic transmission of F500 within the defined end-to-end delay (deadline).

[0058] Assume once the system is operational and the transmission cycle of each node is continuously being executed in a time-controlled manner, a new time-triggered flow, F600, with source node 121 and destination 131 is required. The network path for F600 is hence composed by the sequence {121, 120, 130, 131}, as extracted from Figure 1, hence intersecting with the path of F500 in the starcouplers 120 and 130. Let the period as well as the end-to-end delay of F600 be 50 ms. Note that the period and end-to-end latency of F600 are half of the period and end-to-end latency of F500, and therefore, two instances of F600 shall be scheduled in the current transmission cycles with length 100ms.

[0059] Figure 7 depicts the initial attempt of allocating F600 within the transmission cycles of the respective ports. Note the two instances before and after the middle point 800 of the respective cycles illustrated with horizontal and vertical pattern filling, respectively. The transmission cycle of node 121 is depicted in 1210, while 1201 and 1301 are updated versions of 1200 and 1300 introduced in Figure 6.

[0060] Note that the second instance (after point 800) in cycle 1201 cannot be placed earlier than 730-740, as the transmission 550-560 of F500 is present. Looking at 1201 it is clear already that the end-to-end deadline cannot be satisfied for F600, as the remaining gap is not sufficient to schedule the following transmission. As a result, in 1301 the transmissions 750-760, as well as its homologous 650-660, are clearly exceeding the end-to-end limit of 50ms.

[0061] To find a valid placement for F600, we use the method described in this invention to apply suitable modifications to the transmission cycles in order to correctly allocate the transmission windows.

[0062] The initial set K of transmission cycles corresponding to those directly affected by the new transmission F600 is considered as K = {1210, 1200, 1300}.

[0063] It is clear from the previous attempt that windows 570-580 and its predecessor 550-560 make it impossible to allocate the new window within the expected time. Window 570-580 has dependencies towards window 550-560, however, both are scheduled almost "back-to-back", and therefore, shifting the window does not render a sufficiently large gap.

[0064] Window 560-550 cannot be modified, since the dependent transmission is within a cycle not contained in K.

[0065] In this case, we proceed to extend the set, to contain the cycles of neighbor nodes. In particular, K is extended to K = {1210, 1200, 1300, 1110}. Now the dependent window 540-530 is found within the known cycles. However, once again, the two dependent transmissions (540-530 and 550-560) are scheduled tightly to each other, and no combination of shifting renders a sufficiently large gap.

[0066] In yet a new iteration, K is extended to K = {1210, 1200, 1300, 1110, 1120}. Now we observe that the dependent window of 530-540, which is 510-520, is scheduled with a large gap. This allows 530-540 to be shifted to a new position, depicted in Figure 8 as 531-541. This shift allows window 550-560 to be equally shifted to 551-561, and ultimately, window 570-580 to be shifted to 571-581.

[0067] The modifications in the transmission cycles contained in K allow a new placement of the transmissions for the new flow. As a result, Figure 9 shows the modified transmission cycles (respectively 1203, 1303) where the transmissions of F600 are scheduled, now within the maximum required end-to-end delay.

References



[0068] 
  1. [1] SAE Standard AS6802, 2011. URL: http://standards.sae.org/as6802
  2. [2] IEEE 802.3-2012 - IEEE Standard for Ethernet, https://standards.ieee.org/about/get/802/802.3.html
  3. [3] 802.1AS-2011 - IEEE Standard for Local and Metropolitan Area Networks - Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks
  4. [4] R. N. et al. Steiner tree based distributed multicast routing in networks. In X. Cheng and D.-Z. Du, editors, Steiner Trees in Industry. Springer, 2002
  5. [5] Wilfried Steiner, Günther Bauer, Brendan Hall, and Michael Paulitsch. TTEthernet: Time-Triggered Ethernet, 2011.
  6. [6] ARINC Report 664P7-1. Aircraft Data Network, Part 7: Avionics Full Duplex Switched Ethernet (AFDX) Network, Sept. 2009.
  7. [7] IEEE Standard for Local and Metropolitan Area Networks---Virtual Bridged Local Area Networks - Amendment: Forwarding and Queuing Enhancements for Time-Sensitive Streams, http://www.ieee802.org/1/pages/802.1av.html



Claims

1. Method for transmitting messages in a time-triggered computer network, wherein

- said computer network comprises as network components at least one star coupler and nodes, which network components are connected in a multi-hop fashion,

- wherein nodes in said computer network periodically exchange time-triggered (TT) messages according to a pre-defined transmission schedule, and wherein

- nodes exchange, according to said transmission schedule, messages via scheduled time-triggered flows, wherein a time-triggered flow specifies at least the following information:

- sender node and a destination node;

- a multi-hop path between said sender node and the destination node;

- message size;

- message period;

wherein the transmission of messages at node and star coupler is driven by the transmission schedule executed cyclically;
and wherein the transmission schedule is decomposed into sub-schedules for each transmitting port of each network component,
wherein each sub-schedule is executed locally by the corresponding network component according to a transmission cycle, wherein
each transmission cycle has a duration which is a multiple of the period time of all transmitted flows by the port of the network component, and wherein
the transmission cycle of each hop in the flow path is chosen such that a scheduled interval, the "transmission window", for the transmission of each flow is guaranteed, and wherein
the length of the transmission window is sufficient to account for the transmission time of each message of the respective flow, and wherein
the transmission windows for a given flow along the flow path are sequenced in time such that the transmission of said flow on a given port is scheduled after the transmission of the previous port, and wherein
transmission windows of different flows do not overlap in time on a given transmission port,
characterized in that, for adding a new time-triggered flow into the computer network the following steps are carried out:

1. determining, for each hop in the new flow path of the new time-triggered flow, a free transmission gap in the transmission cycle of the corresponding port, wherein the transmission gap has to be sufficiently long to place a transmission window for the new time-triggered flow;

2. modifying, in case that a sufficiently long transmission gap is not free in the transmission cycle, said transmission cycle, by modifying at least one existing transmission window in said transmission cycle, wherein

3. modifying transmission cycles takes place iteratively, wherein

(a) initially, only transmission cycles being part of the flow path are in a set of known transmission cycles considered for modification;

(b) shifting one or more transmission windows of flows that are already being transmitted according to the pre-defined transmission schedule and corresponding to the set of known transmission cycles considered for modification until a sufficiently large transmission gap is available in the transmission cycle or all shifting possibilities have been exhausted;

(c) if for a given transmission cycle, the previous steps 3 (a) and 3 (b) do not render a sufficiently large transmission gap in the transmission cycle to place the transmission window of the new time-triggered flow, the set of known transmission cycles being considered for modification is extended;

(d) steps (b) and (c) being repeated until a sufficient gap is found, the cumulated knowledge of the transmission cycles is equal to the knowledge of transmission cycles of the entire network, or a predefined time out has been reached,

4. if a sufficient transmission gap is found in each transmission cycle along the flow path, the new time-triggered flow is incorporated into each of the transmission cycles and is executed periodically.


 
2. Method according to claim 1, wherein step 2 is carried out with the following restriction(s):

(a) an existing transmission window can be shifted within this transmission cycle within the limits imposed by the end of the predecessor transmission window and the beginning successor transmission window(s) in the respective transmission cycles; and/or

(b) the transmission windows of the first and last hops cannot be shifted.


 
3. Method according to claim 1 or 2, wherein according to step 3 (b) it is further provided that:

(i) if the preceding transmission window of the transmission window in question is known, said transmission window in question can be advanced at most until the end of the predecessor transmission window;

(ii) if the succeeding transmission window(s) is(are) known, a transmission window in question can be delayed at most until the beginning of that succeeding window or, in the case of two or more succeeding transmission windows, until the beginning of the earliest succeeding transmission window.


 
4. Method according to one of the claims 1 to 3, wherein in step 3 (c)

(i) the extension is limited to a defined subset of all remaining transmission cycles in the network; and/or

(ii) the extension may be directed to a defined subset of remaining nodes in the network.


 
5. Method according to one of the claims 1 to 4, wherein the length of a transmission window is sufficient to account for the transmission time of the flow.
 
6. Method according to one of the claims 1 to 5, wherein the duration of a transmission cycle is the least common multiple, LCM, of all flows in the network.
 
7. Method according to one of the claims 1 to 6, wherein a flow further specifies the maximum amount of data transmitted at each period interval and/or an end-to-end maximum latency.
 
8. Method according to one of the claims 1 to 7, wherein the steps for adding a new time-triggered flow into the computer network are carried out during run-time of the network.
 
9. Method according to one of the claims 1 to 8, wherein the steps for adding a new time-triggered flow are carried out by:

(i) an external component; or

(ii) one network component of the computer network; or

(iii) a subset of the nodes and/or starcouplers of the network or of all of the nodes and starcouplers of the network.


 
10. Time-triggered computer network, wherein

- said computer network comprises as network components at least one star coupler and nodes, which network components are connected in a multi-hop fashion,

- wherein nodes in said computer network periodically exchange time-triggered (TT) messages according to a pre-defined transmission schedule, and wherein

- nodes exchange, according to said transmission schedule, messages via scheduled time-triggered flows, wherein a time-triggered flow specifies at least the following information:

- sender node and a destination node;

- a multi-hop path between said sender node and the destination node;

- message size;

- message period;

wherein the transmission of messages at node and star coupler is driven by the transmission schedule executed cyclically;
and wherein the transmission schedule is decomposed into sub-schedules for each transmitting port of each network component,
wherein each sub-schedule is executed locally by the corresponding network component according to a transmission cycle, wherein
each transmission cycle has a duration which is a multiple of the period time of all transmitted flows by the port of the network component, and wherein
the transmission cycle of each hop in the flow path is chosen such that a scheduled interval, the "transmission window", for the transmission of each flow is guaranteed, and wherein
the length of the transmission window is sufficient to account for the transmission time of each message of the respective flow, and wherein
the transmission windows for a given flow along the flow path are sequenced in time such that the transmission of said flow on a given port is scheduled after the transmission of the previous port, and wherein
transmission windows of different flows do not overlap in time on a given transmission port,
characterized in that, for adding a new time-triggered flow into the computer network the network comprises means, or is connected to means, or can be connected to means, which means are adapted to carry out the following steps:

1. determining, for each hop in the new flow path of the new time-triggered flow, a free transmission gap in the transmission cycle of the corresponding port, wherein the transmission gap has to be sufficiently long to place a transmission window for the new time-triggered flow;

2. modifying, in case that a sufficiently long transmission gap is not free in the transmission cycle, said transmission cycle by modifying, in particular shifting, at least one existing transmission window in said transmission cycle, wherein

3. modifying transmission cycles takes place iteratively, wherein

(a) initially, only transmission cycles being part of the flow path are in a set of known transmission cycles considered for modification;

(b) shifting one or more transmission windows of flows that are already being transmitted according to the pre-defined transmission schedule and corresponding to the set of known transmission cycles considered for modification until a sufficiently large transmission gap is available in the transmission cycle or all shifting possibilities have been exhausted;

(c) if for a given transmission cycle, the previous steps 3 (a) and 3 (b) do not render a sufficiently large transmission gap in the transmission cycle to place the transmission window of the new time-triggered flow, the set of known transmission cycles being considered for modification is extended;

(d) steps (b) and (c) being repeated until a sufficient gap is found, the cumulated knowledge of the transmission cycles is equal to the knowledge of transmission cycles of the entire network, or a predefined time out has been reached,

4. if a sufficient transmission gap is found in each transmission cycle along the flow path, the new time-triggered flow is incorporated into each of the transmission cycles and is executed periodically.


 
11. Network according to claim 10, wherein step 2 is carried out with the following restriction(s):

(a) an existing transmission window can be shifted within this transmission cycle within the limits imposed by the end of the predecessor transmission window and the beginning successor transmission window(s) in the respective transmission cycles; and/or

(b) the transmission windows of the first and last hops cannot be shifted.


 
12. Network according to claim 10 or 11, wherein according to step 3 (b) it is further provided that:

(i) if the preceding transmission window of the transmission window in question is known, said transmission window in question can be advanced at most until the end of the predecessor transmission window;

(ii) if the succeeding transmission window(s) is (are) known, a transmission window in question can be delayed at most until the beginning of that succeeding window or, in the case of two or more succeeding transmission windows, until the beginning of the earliest succeeding transmission window.


 
13. Network according to one of the claims 10 to 12, wherein in step 3 (c)

(i) the extension is limited to a defined subset of all remaining transmission cycles in the network; and/or

(ii) the extension may be directed to a defined subset of remaining nodes in the network.


 
14. Network according to one of the claims 10 to 13, wherein the length of a transmission window is sufficient to account for the transmission time of the flow.
 
15. Network according to one of the claims 10 to 14, wherein the duration of a transmission cycle is the least common multiple, LCM, of all flows in the network.
 
16. Network according to one of the claims 10 to 15, wherein a flow further specifies the maximum amount of data transmitted at each period interval and/or an end-to-end maximum latency.
 
17. Network according to one of the claims 10 to 16, wherein the steps for adding a new time-triggered flow into the computer network are carried out during run-time of the network.
 
18. Network according to one of the claims 10 to 17, wherein the means for carrying out the steps for adding a new time-triggered flow are or comprise:

(i) an external component; or

(ii) one network component of the computer network; or

(iii) a subset of the nodes and/or starcouplers of the network or of all of the nodes and starcouplers of the network.


 


Ansprüche

1. Verfahren zum Senden von Nachrichten in einem zeitgesteuerten Computernetzwerk, wobei

- das Computernetzwerk als Netzwerkkomponenten mindestens einen Sternkoppler und Knoten umfasst, wobei diese Netzwerkkomponenten auf Multihop-Art verbunden sind,

- wobei Knoten in dem Computernetzwerk zeitgesteuerte (TT) Nachrichten gemäß einem vordefinierten Sendeplan periodisch austauschen, und wobei

- Knoten Nachrichten gemäß dem Sendeplan über geplante zeitgesteuerte Flows austauschen, wobei ein zeitgesteuerter Flow zumindest die folgenden Informationen spezifiziert:

- Senderknoten und einen Zielknoten;

- einen Multihop-Pfad zwischen dem Senderknoten und dem Zielknoten;

- Nachrichtengröße;

- Nachrichtenperiode;

wobei das Senden von Nachrichten am Knoten und am Sternkoppler von dem zyklisch ausgeführten Sendeplan gelenkt wird;
und wobei der Sendeplan in Teilpläne für jeden sendenden Port jeder Netzwerkkomponente zerlegt wird,
wobei jeder Teilplan lokal von der entsprechenden Netzwerkkomponente gemäß einem Sendezyklus ausgeführt wird, wobei
jeder Sendezyklus eine Dauer aufweist, die ein Vielfaches der Periodenzeit aller vom Port der Netzwerkkomponente gesendeten Flows ist, und wobei
der Sendezyklus jedes Hop im Flow-Pfad so gewählt wird, dass ein geplantes Intervall, das "Sendefenster", für das Senden jedes Flow garantiert ist, und wobei
die Länge des Sendefensters ausreicht, um die Sendezeit jeder Nachricht des jeweiligen Flow unterzubringen, und wobei
die Sendefenster für einen jeweiligen Flow entlang des Flow-Pfads in eine solche zeitliche Reihenfolge gebracht werden, dass das Senden des Flow an einem jeweiligen Port nach dem Senden des vorherigen Ports eingeplant wird, und wobei
Sendefenster unterschiedlicher Flows an einem jeweiligen Sendeport einander nicht überschneiden,
dadurch gekennzeichnet, dass zum Hinzufügen eines neuen zeitgesteuerten Flow zum Computernetzwerk die folgenden Schritte ausgeführt werden;

1. für jeden Hop im neuen Flow-Pfad des neuen zeitgesteuerten Flow wird eine freie Sendelücke im Sendezyklus des entsprechenden Ports bestimmt, wobei die Sendelücke ausreichend lang sein muss, um ein Sendefenster für den neuen zeitgesteuerten Flow darin zu platzieren;

2. für den Fall, dass keine ausreichend lange Sendelücke im Sendezyklus frei ist, wird der Sendezyklus durch Modifizieren mindestens eines vorhandenen Sendefensters im Sendezyklus modifiziert, wobei

3. das Modifizieren der Sendezyklen schrittweise stattfindet, wobei

(a) sich zu Anfang nur Sendezyklen, die Teil des Flow-Pfads sind, in einem Satz bekannter Sendezyklen befinden, die für eine Modifikation in Betracht kommen,

(b) ein oder mehrere Sendefenster von Flows, die bereits gemäß dem vordefinierten Sendeplan gesendet werden und die dem Satz bekannter Sendezyklen entsprechen, die für die Modifikation in Betracht kommen, verschoben werden, bis eine ausreichend lange Sendelücke in dem Sendezyklus zur Verfügung steht oder alle Möglichkeiten für eine Verschiebung erschöpft sind;

(c) für den Fall, dass für einen jeweiligen Sendezyklus die vorangehenden Schritte 3(a) und 3(b) keine Sendelücke im Sendezyklus ergeben, die ausreichend lang ist, um das Sendefenster des neuen zeitgesteuerten Flow darin zu platzieren, der Satz bekannter Sendezyklen, die für die Modifikation in Betracht kommen, erweitert wird;

(d) wobei die Schritte (b) und (c) wiederholt werden, bis eine ausreichende Lücke gefunden ist, die kumulierte Bekanntheit der Sendezyklen der Bekanntheit der Sendezyklen des gesamten Netzwerkes gleich ist oder ein vordefinierter Timeout erreicht worden ist,

4. für den Fall, dass in jedem der Sendezyklen entlang des Flow-Pfads eine ausreichende Sendelücke gefunden wird, der neue zeitgesteuerte Flow in jeden der Sendezyklen aufgenommen und periodisch ausgeführt wird.


 
2. Verfahren nach Anspruch 1, wobei Schritt 2 mit der folgenden Beschränkung (mit folgenden Beschränkungen) ausgeführt wird:

(a) ein existierendes Sendefenster kann innerhalb dieses Sendezyklus innerhalb der Grenzen verschoben werden, die vom Ende des vorausgehenden Sendefensters und vom Anfang des folgenden Sendefensters bzw. der folgenden Sendefenster in den jeweiligen Sendezyklen auferlegt werden; und/oder

(b) die Sendefenster des ersten und des letzten Hop können nicht verschoben werden.


 
3. Verfahren nach Anspruch 1 oder 2, wobei gemäß Schritt 3(b) ferner vorgesehen ist, dass:

(i) für den Fall, dass das Sendefenster bekannt ist, das dem fraglichen Sendefester vorausgeht, das fragliche Sendefenster höchstens bis zum Ende des vorausgehenden Sendefensters vorverlegt werden kann;

(ii) für den Fall, dass das folgende Fenster bekannt ist bzw. die folgenden Fenster bekannt sind, ein fragliches Sendefenster höchstens bis zum Anfang dieses folgenden Fensters oder, im Falle von zwei oder mehr folgenden Sendefenstern, bis zum Anfang des frühesten folgenden Sendefensters verzögert werden kann.


 
4. Verfahren nach einem der Ansprüche 1 bis 3, wobei in Schritt 3(c)

(i) die Erweiterung auf einen definierten Teilsatz aller verbliebenen Sendezyklen im Netzwerk beschränkt wird; und/oder

(ii) die Erweiterung auf einen definierten Teilsatz verbliebener Knoten im Netzwerk gerichtet werden kann.


 
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei die Länge eines Sendefensters ausreicht, um die Sendezeit des Flow unterzubringen.
 
6. Verfahren nach einem der Ansprüche 1 bis 5, wobei die Dauer eines Sendezyklus das kleinste gemeinsame Vielfache aller Flows in dem Netzwerk ist.
 
7. Verfahren nach einem der Ansprüche 1 bis 6, wobei ein Flow ferner die maximale Menge an Daten, die in jedem Periodenintervall gesendet werden, und/oder eine maximale Latenz von einem Ende zum anderen spezifiziert.
 
8. Verfahren nach einem der Ansprüche 1 bis 7, wobei die Schritte zum Hinzufügen eines neuen zeitgesteuerten Flow zum Computernetzwerk während einer Laufzeit des Netzwerkes ausgeführt werden.
 
9. Verfahren nach einem der Ansprüche 1 bis 8, wobei die Schritte zum Hinzufügen eines neuen zeitgesteuerten Flow ausgeführt werden durch:

(i) eine externe Komponente; oder

(ii) eine einzige Netzwerkkomponente des Computernetzwerkes; oder

(iii) einen Teilsatz der Knoten und/oder Sternkoppler des Netzwerkes oder alle Knoten und Sternkopplern des Netzwerkes.


 
10. Zeitgesteuertes Computernetzwerk, wobei

- das Computernetzwerk als Netzwerkkomponenten mindestens einen Sternkoppler und Knoten umfasst, wobei diese Netzwerkkomponenten auf Multihop-Art verbunden sind,

- wobei Knoten in dem Computernetzwerk zeitgesteuerte (TT) Nachrichten gemäß einem vordefinierten Sendeplan periodisch austauschen, und wobei

- Knoten Nachrichten gemäß dem Sendeplan über geplante zeitgesteuerte Flows austauschen, wobei ein zeitgesteuerter Flow zumindest die folgenden Informationen spezifiziert:

- Senderknoten und einen Zielknoten;

- einen Multihop-Pfad zwischen dem Senderknoten und dem Zielknoten;

- Nachrichtengröße;

- Nachrichtenperiode;

wobei das Senden der Nachricht am Knoten und am Sternkoppler von dem zyklisch ausgeführten Sendeplan gelenkt wird;
und wobei der Sendeplan in Teilpläne für jeden sendenden Port jeder Netzwerkkomponente zerlegt wird,
wobei jeder Teilplan lokal von der entsprechenden Netzwerkkomponente gemäß einem Sendezyklus ausgeführt wird, wobei
jeder Sendezyklus eine Dauer aufweist, die ein Vielfaches der Periodenzeit aller vom Port der Netzwerkkomponente gesendeten Flows ist, und wobei
der Sendezyklus jedes Hop im Flow-Pfad so gewählt wird, dass ein geplantes Intervall, das "Sendefenster", für das Senden jedes Flow garantiert ist, und wobei
die Länge des Sendefensters ausreicht, um die Sendezeit jeder Nachricht des jeweiligen Flow unterzubringen, und wobei
die Sendefenster für einen jeweiligen Flow entlang des Flow-Pfads in eine solche zeitliche Reihenfolge gebracht werden, dass das Senden des Flow an einem jeweiligen Port nach dem Senden des vorherigen Ports eingeplant wird, und wobei
Sendefenster unterschiedlicher Flows an einem jeweiligen Sendeport einander nicht überschneiden,
dadurch gekennzeichnet, dass zum Hinzufügen eines neuen zeitgesteuerten Flow zum Computernetzwerk das Computernetzwerk eine Einrichtung umfasst oder mit einer Einrichtung verbunden ist, wobei diese Einrichtung dafür ausgelegt ist, die folgenden Schritte auszuführen:

1. für jeden Hop im neuen Flow-Pfad des neuen zeitgesteuerten Flow Bestimmen einer freien Sendelücke im Sendezyklus des entsprechenden Ports, wobei die Sendelücke ausreichend lang sein muss, um ein Sendefenster für den neuen zeitgesteuerten Flow darin unterzubringen;

2. im Falle, dass keine ausreichend lange Sendelücke im Sendezyklus frei ist, Modifizieren des Sendezyklus durch Modifizieren, insbesondere durch Verschieben, mindestens eines vorhandenen Sendefensters in dem Sendezyklus, wobei

3. das Modifizieren der Sendezyklen schrittweise stattfindet, wobei

(a) sich zu Anfang nur Sendezyklen, die Teil des Flow-Pfads sind, in einem Satz bekannter Sendezyklen befinden, die für eine Modifikation in Betracht kommen,

(b) ein oder mehrere Sendefenster von Flows, die bereits gemäß dem vordefinierten Sendeplan gesendet werden und die dem Satz bekannter Sendezyklen entsprechen, die für die Modifikation in Betracht kommen, verschoben werden, bis eine ausreichend lange Sendelücke in dem Sendezyklus zur Verfügung steht oder alle Möglichkeiten für eine Verschiebung erschöpft sind;

(c) für den Fall, dass für einen jeweiligen Sendezyklus die vorangehenden Schritte 3(a) und 3(b) keine ausreichend lange Sendelücke im Sendezyklus ergeben, um das Sendefenster des neuen zeitgesteuerten Flow darin zu platzieren, der Satz bekannter Sendezyklen, die für die Modifikation in Betracht kommen, erweitert wird;

(d) die Schritte (b) und (c) wiederholt werden, bis eine ausreichende Lücke gefunden ist, die kumulierte Bekanntheit der Sendezyklen der Bekanntheit der Sendezyklen des gesamten Netzwerkes gleich ist oder ein vordefinierter Timeout erreicht worden ist,

4. für den Fall, dass in jedem der Sendezyklen entlang des Flow-Pfads eine ausreichende Sendelücke gefunden wird, der zeitgesteuerte Flow in jeden der Sendezyklen aufgenommen und periodisch ausgeführt wird.


 
11. Netzwerk nach Anspruch 10, wobei Schritt 2 mit der folgenden Beschränkung (mit folgenden Beschränkungen) ausgeführt wird:

(a) ein existierendes Sendefenster kann innerhalb dieses Sendezyklus innerhalb der Grenzen verschoben werden, die vom Ende des vorausgehenden Sendefensters und vom Anfang des folgenden Sendefensters in den jeweiligen Sendezyklen auferlegt werden; und/oder

(b) die Sendefenster des ersten und des letzten Hop können nicht verschoben werden.


 
12. Netzwerk nach Anspruch 10 oder 11, wobei gemäß Schritt 3(b) ferner vorgesehen ist, dass:

(i) für den Fall, dass das Sendefenster bekannt ist, das dem fraglichen Sendefester vorausgeht, das fragliche Sendefenster höchstens bis zum Ende des vorausgehenden Sendefensters vorverlegt werden kann;

(ii) für den Fall, dass das folgende Fenster bekannt ist, ein fragliches Sendefenster höchstens bis zum Anfang dieses folgenden Fensters oder, im Falle von zwei oder mehr folgenden Sendefenstern, bis zum Anfang des frühesten folgenden Sendefensters verzögert werden kann.


 
13. Verfahren nach einem der Ansprüche 10 bis 12, wobei in Schritt 3(c)

(i) die Erweiterung auf einen definierten Teilsatz aller verbliebenen Sendezyklen im Netzwerk beschränkt wird; und/oder

(ii) die Erweiterung auf einen definierten Teilsatz verbliebener Knoten im Netzwerk gerichtet werden kann.


 
14. Netzwerk nach einem der Ansprüche 10 bis 13, wobei die Länge eines Sendefensters ausreicht, um die Sendezeit des Flow unterzubringen.
 
15. Netzwerk nach einem der Ansprüche 10 bis 14, wobei die Dauer eines Sendezyklus das kleinste gemeinsame Vielfache aller Flows des Netzwerkes ist.
 
16. Netzwerk nach einem der Ansprüche 10 bis 15, wobei ein Flow ferner die maximale Menge an Daten, die in jedem Periodenintervall gesendet werden, und/oder eine maximale Latenz von einem Ende zum anderen spezifiziert.
 
17. Netzwerk nach einem der Ansprüche 10 bis 16, wobei die Schritte zum Hinzufügen eines neuen zeitgesteuerten Flow zum Computernetzwerk während einer Laufzeit des Netzwerkes ausgeführt werden.
 
18. Netzwerk nach einem der Ansprüche 10 bis 17, wobei die Einrichtung zum Ausführen der Schritte zum Hinzufügen eines neuen zeitgesteuerten Flow ist oder umfasst:

(i) eine externe Komponente; oder

(ii) eine einzige Netzwerkkomponente des Computernetzwerkes; oder

(iii) einen Teilsatz der Knoten und/oder Sternkoppler des Netzwerkes oder alle Knoten und Sternkoppler des Netzwerkes.


 


Revendications

1. Procédé pour transmettre des messages dans un réseau informatique à déclenchement temporel, dans lequel

- ledit réseau informatique comprend, en tant que composants de réseau, au moins un coupleur en étoile et des noeuds, lesquels composants de réseau sont connectés d'une manière à multi-saut,

- des noeuds dans ledit réseau informatique échangeant périodiquement des messages à déclenchement temporel (TT) selon un calendrier de transmission prédéfini, et

- des noeuds échangeant, selon ledit calendrier de transmission, des messages par l'intermédiaire de flux à déclenchement temporel planifiés, un flux à déclenchement temporel spécifiant au moins les informations suivantes :

- un noeud expéditeur et un noeud de destination ;

- un chemin à multi-saut entre ledit noeud expéditeur et le noeud de destination ;

- une taille de message ;

- une période de message ;

la transmission de messages au niveau d'un noeud et d'un coupleur en étoile étant pilotée par le calendrier de transmission exécuté de manière cyclique ;
et le calendrier de transmission étant décomposé en sous-calendriers pour chaque port de transmission de chaque composant de réseau,
chaque sous-calendrier étant exécuté localement par le composant de réseau correspondant selon un cycle de transmission,
chaque cycle de transmission ayant une durée qui est un multiple du temps de période de tous les flux transmis par le port du composant de réseau, et
le cycle de transmission de chaque saut dans le chemin de flux étant choisi de telle sorte qu'un intervalle planifié, la « fenêtre de transmission », pour la transmission de chaque flux est garanti, et
la longueur de la fenêtre de transmission étant suffisante pour constituer le temps de transmission de chaque message du flux respectif, et
les fenêtres de transmission pour un flux donné le long du chemin de flux étant séquencées dans le temps de telle sorte que la transmission dudit flux sur un port donné est planifiée après la transmission du port précédent, et
des fenêtres de transmission de différents flux ne se chevauchant pas dans le temps sur un port de transmission donné,
caractérisé en ce que, pour ajouter un nouveau flux à déclenchement temporel dans le réseau informatique, les étapes suivantes sont réalisées :

1.déterminer, pour chaque saut dans le nouveau chemin de flux du nouveau flux à déclenchement temporel, un intervalle de transmission libre dans le cycle de transmission du port correspondant, l'intervalle de transmission devant être suffisamment long pour placer une fenêtre de transmission pour le nouveau flux à déclenchement temporel ;

2.modifier, dans le cas où un intervalle de transmission suffisamment long n'est pas libre dans le cycle de transmission, ledit cycle de transmission, par modification d'au moins une fenêtre de transmission existante dans ledit cycle de transmission,

3. la modification de cycles de transmission ayant lieu de manière itérative,

(a) initialement, uniquement des cycles de transmission faisant partie du chemin de flux sont dans un ensemble de cycles de transmission connus pris en considération pour la modification ;

(b) décaler une ou plusieurs fenêtres de transmission de flux qui ont déjà été transmis selon le calendrier de transmission prédéfini et correspondant à l'ensemble de cycles de transmission connus pris en considération pour la modification jusqu'à ce qu'un intervalle de transmission suffisamment grand soit disponible dans le cycle de transmission ou que toutes les possibilités de décalage aient été épuisées ;

(c) si pour un cycle de transmission donné, les étapes 3 (a) et 3 (b) précédentes ne rendent pas un intervalle de transmission suffisamment grand dans le cycle de transmission pour placer la fenêtre de transmission du nouveau flux à déclenchement temporel, l'ensemble de cycles de transmission connus pris en considération pour la modification est étendu ;

(d) les étapes (b) et (c) étant répétées jusqu'à ce qu'un intervalle suffisant soit trouvé, les connaissances cumulées des cycles de transmission sont égales aux connaissances de cycles de transmission du réseau entier, ou une temporisation prédéfinie a été atteinte,

4.si un intervalle de transmission suffisant est trouvé dans chaque cycle de transmission le long du chemin de flux, le nouveau flux à déclenchement temporel est incorporé dans chacun des cycles de transmission et est exécuté périodiquement.


 
2. Procédé selon la revendication 1, dans lequel l'étape 2 est réalisée avec la ou les limitations suivantes :

(a) une fenêtre de transmission existante peut être décalée dans ce cycle de transmission dans les limites imposées par la fin de la fenêtre de transmission précédente et le début de la ou des fenêtres de transmission suivantes dans les cycles de transmission respectifs ; et/ou

(b) les fenêtres de transmission des premier et dernier sauts ne peuvent pas être décalées.


 
3. Procédé selon la revendication 1 ou 2, dans lequel, selon l'étape 3 (b), il est en outre prévu que :

(i) si la fenêtre de transmission précédente de la fenêtre de transmission en question est connue, ladite fenêtre de transmission en question peut être avancée au plus jusqu'à la fin de la fenêtre de transmission précédente ;

(ii) si la ou les fenêtres de transmission suivantes sont connues, une fenêtre de transmission en question peut être retardée au plus jusqu'au début de cette fenêtre suivante ou, dans le cas d'au moins deux fenêtres de transmission suivantes, jusqu'au début de la fenêtre de transmission suivante la plus en avance dans le temps.


 
4. Procédé selon l'une des revendications 1 à 3, dans lequel, dans l'étape 3 (c)

(i) l'extension est limitée à un sous-ensemble défini de tous les cycles de transmission restants dans le réseau ; et/ou

(ii) l'extension peut être dirigée vers un sous-ensemble défini de noeuds restants dans le réseau.


 
5. Procédé selon l'une des revendications 1 à 4, dans lequel la longueur d'une fenêtre de transmission est suffisante pour constituer le temps de transmission du flux.
 
6. Procédé selon l'une des revendications 1 à 5, dans lequel la durée d'un cycle de transmission est le plus petit multiple commun, LCM, de tous les flux dans le réseau.
 
7. Procédé selon l'une des revendications 1 à 6, dans lequel un flux spécifie en outre la quantité maximale de données transmises à chaque intervalle de période et/ou une latence maximale d'un bout à l'autre.
 
8. Procédé selon l'une des revendications 1 à 7, dans lequel les étapes d'ajout d'un nouveau flux à déclenchement temporel dans le réseau informatique sont réalisées durant le temps d'exécution du réseau.
 
9. Procédé selon l'une des revendications 1 à 8, dans lequel les étapes d'ajout d'un nouveau flux à déclenchement temporel sont réalisées par :

(i) un composant externe ; ou

(ii) un composant de réseau du réseau informatique ; ou

(iii) un sous-ensemble des noeuds et/ou coupleurs en étoile du réseau ou de tous les noeuds et coupleurs en étoile du réseau.


 
10. Réseau informatique à déclenchement temporel, dans lequel

- ledit réseau informatique comprend, en tant que composants de réseau, au moins un coupleur en étoile et des noeuds, lesquels composants de réseau sont connectés d'une manière à multi-saut,

- des noeuds dans ledit réseau informatique échangent périodiquement des messages à déclenchement temporel (TT) selon un calendrier de transmission prédéfini, et

- des noeuds échangent, selon ledit calendrier de transmission, des messages par l'intermédiaire de flux à déclenchement temporel planifiés, un flux à déclenchement temporel spécifiant au moins les informations suivantes :

- un noeud expéditeur et un noeud de destination ;

- un chemin à multi-saut entre ledit noeud expéditeur et le noeud de destination ;

- une taille de message ;

- une période de message ;

la transmission de messages au niveau d'un noeud et d'un coupleur en étoile étant pilotée par le calendrier de transmission exécuté de manière cyclique ;
et le calendrier de transmission étant décomposé en sous-calendriers pour chaque port de transmission de chaque composant de réseau,
chaque sous-calendrier étant exécuté localement par le composant de réseau correspondant selon un cycle de transmission,
chaque cycle de transmission ayant une durée qui est un multiple du temps de période de tous les flux transmis par le port du composant de réseau, et
le cycle de transmission de chaque saut dans le chemin de flux étant choisi de telle sorte qu'un intervalle planifié, la « fenêtre de transmission », pour la transmission de chaque flux est garanti, et
la longueur de la fenêtre de transmission étant suffisante pour constituer le temps de transmission de chaque message du flux respectif, et
les fenêtres de transmission pour un flux donné le long du chemin de flux étant séquencées dans le temps de telle sorte que la transmission dudit flux sur un port donné est planifiée après la transmission du port précédent, et
des fenêtres de transmission de différents flux ne se chevauchant pas dans le temps sur un port de transmission donné,
caractérisé en ce que, pour ajouter un nouveau flux à déclenchement temporel dans le réseau informatique, le réseau comprend des moyens, ou est connecté à des moyens, ou peut être connecté à des moyens, lesquels moyens sont conçus pour réaliser les étapes suivantes:

1. déterminer, pour chaque saut dans le nouveau chemin de flux du nouveau flux à déclenchement temporel, un intervalle de transmission libre dans le cycle de transmission du port correspondant, l'intervalle de transmission devant être suffisamment long pour placer une fenêtre de transmission pour le nouveau flux à déclenchement temporel ;

2. modifier, dans le cas où un intervalle de transmission suffisamment long n'est pas libre dans le cycle de transmission, ledit cycle de transmission par modification, en particulier décalage, d'au moins une fenêtre de transmission existante dans ledit cycle de transmission,

3. la modification de cycles de transmission ayant lieu de manière itérative,

(a) initialement, uniquement des cycles de transmission faisant partie du chemin de flux sont dans un ensemble de cycles de transmission connus pris en considération pour la modification ;

(b) décaler une ou plusieurs fenêtres de transmission de flux qui ont déjà été transmis selon le calendrier de transmission prédéfini et correspondant à l'ensemble de cycles de transmission connus pris en considération pour la modification jusqu'à ce qu'un intervalle de transmission suffisamment grand soit disponible dans le cycle de transmission ou que toutes les possibilités de décalage aient été épuisées ;

(c) si pour un cycle de transmission donné, les étapes 3 (a) et 3 (b) précédentes ne rendent pas un intervalle de transmission suffisamment grand dans le cycle de transmission pour placer la fenêtre de transmission du nouveau flux à déclenchement temporel, l'ensemble de cycles de transmission connus pris en considération pour la modification est étendu ;

(d) les étapes (b) et (c) étant répétées jusqu'à ce qu'un intervalle suffisant soit trouvé, les connaissances cumulées des cycles de transmission sont égales aux connaissances de cycles de transmission du réseau entier, ou une temporisation prédéfinie a été atteinte,

4. si un intervalle de transmission suffisant est trouvé dans chaque cycle de transmission le long du chemin de flux, le nouveau flux à déclenchement temporel est incorporé dans chacun des cycles de transmission et est exécuté périodiquement.


 
11. Réseau selon la revendication 10, dans lequel l'étape 2 est réalisée avec la ou les limitations suivantes :

(a) une fenêtre de transmission existante peut être décalée dans ce cycle de transmission dans les limites imposées par la fin de la fenêtre de transmission précédente et le début de la ou des fenêtres de transmission suivantes dans les cycles de transmission respectifs ; et/ou

(b) les fenêtres de transmission des premier et dernier sauts ne peuvent pas être décalées.


 
12. Réseau selon la revendication 10 ou 11, dans lequel, selon l'étape 3 (b), il est en outre prévu que :

(i) si la fenêtre de transmission précédente de la fenêtre de transmission en question est connue, ladite fenêtre de transmission en question peut être avancée au plus jusqu'à la fin de la fenêtre de transmission précédente ;

(ii) si la ou les fenêtres de transmission suivantes sont connues, une fenêtre de transmission en question peut être retardée au plus jusqu'au début de cette fenêtre suivante ou, dans le cas d'au moins deux fenêtres de transmission suivantes, jusqu'au début de la fenêtre de transmission suivante la plus en avance dans le temps.


 
13. Réseau selon l'une des revendications 10 à 12, dans lequel, dans l'étape 3 (c),

(i) l'extension est limitée à un sous-ensemble défini de tous les cycles de transmission restants dans le réseau ; et/ou

(ii) l'extension peut être dirigée vers un sous-ensemble défini de noeuds restants dans le réseau.


 
14. Réseau selon l'une des revendications 10 à 13, dans lequel la longueur d'une fenêtre de transmission est suffisante pour constituer le temps de transmission du flux.
 
15. Réseau selon l'une des revendications 10 à 14, dans lequel la durée d'un cycle de transmission est le plus petit multiple commun, LCM, de tous les flux dans le réseau.
 
16. Réseau selon l'une des revendications 10 à 15, dans lequel un flux spécifie en outre la quantité maximale de données transmises à chaque intervalle de période et/ou une latence maximale d'un bout à l'autre.
 
17. Réseau selon l'une des revendications 10 à 16, dans lequel les étapes d'ajout d'un nouveau flux à déclenchement temporel dans le réseau informatique sont réalisées durant le temps d'exécution du réseau.
 
18. Réseau selon l'une des revendications 10 à 17, dans lequel les moyens pour réaliser les étapes d'ajout d'un nouveau flux à déclenchement temporel sont ou comprennent :

(i) un composant externe ; ou

(ii) un composant de réseau du réseau informatique ; ou

(iii) un sous-ensemble des noeuds et/ou coupleurs en étoile du réseau ou tous les noeuds et coupleurs en étoile du réseau.


 




Drawing















REFERENCES CITED IN THE DESCRIPTION



This list of references cited by the applicant is for the reader's convenience only. It does not form part of the European patent document. Even though great care has been taken in compiling the references, errors or omissions cannot be excluded and the EPO disclaims all liability in this regard.

Patent documents cited in the description




Non-patent literature cited in the description