US 11,943,046 B2
Method to configure real-time communications in a network with time-triggered and rate-constrained traffic
Anaïs Finzi, Vienna (AT); and Ramon Serna Oliver, Vienna (AT)
Assigned to TTTech Computertechnik Aktiengesellschaft, Vienna (AT)
Filed by TTTech Computertechnik Aktiengesellschaft, Vienna (AT)
Filed on Jun. 23, 2022, as Appl. No. 17/808,343.
Claims priority of application No. 21188537 (EP), filed on Jul. 29, 2021.
Prior Publication US 2023/0029812 A1, Feb. 2, 2023
Int. Cl. H04J 3/06 (2006.01); H04L 47/2416 (2022.01); H04L 47/28 (2022.01); H04L 47/76 (2022.01)
CPC H04J 3/0652 (2013.01) [H04L 47/2416 (2013.01); H04L 47/28 (2013.01); H04L 47/76 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method for computing a network configuration for the transmission of communication flows in a real-time communication network,
wherein the network comprises components comprising nodes or starcouplers, which components are connected by links, and wherein an arrangement of the components and links of the network is described by a network topology,
wherein said components of the network communicate via a defined set of communication flows, wherein each of said communication flows comprises an iterative communication of data, each iteration comprising one or multiple network packets, wherein said communication flows comprise time-triggered flows, “TT flows”, and rate-constrained flows, “RC flows”, and wherein each of said communication flows comprises:
one sender node, source of the communicated data,
one or multiple destination nodes, receiver(s) of the communicated data,
a unique identifier comprising a unique name or a unique number,
a maximum size of the communicated data in one iteration, and
a period of communication iterations, being
an exact communication period for TT flows, and
a minimum communication period for RC flows, wherein said minimum communication period defines a minimum time distance between any two successive communication iterations,
wherein a computation of the network configuration takes as input comprising
the network topology of said network,
the communication flows which are to be communicated in said network, and
as additional input a defined set of constraints, which constraints comprise one or more communication constraints comprising
scheduling constraints, including at least one of:
a start or end time of transmission, relative to the period for one, more, or all, of said TT flows of the set of communication flows,
a start instant or an end instant of reception, relative to the period, for one, more, or all, of said TT flows in the set of communication flows, or
a minimum or maximum gap between two or more of said TT flows in the set of communication flows, or
real-time constraints, including
a maximum or minimum allowed end-to-end communication latency for one, more, or all, of said set of communication flows, and/or
a maximum allowed relative jitter in the reception of any of the periodic iterations for one, more, or all, of said set of communication flows,
routing constraints, including at least one of:
a set of preferred components to route one, more, or all, of said set of communication flows to faster components, or
a set of forbidden components to route one, more, or all, of said set of communication flows to avoid components without time-triggered communication capabilities for TT flows, or
resource constraints, including at least one of:
a maximum memory size available for network packet buffering for one, more, or all, of said network components, or
a maximum time span a network packet may be buffered before transmission in one, more, or all, of said network components, in particular switch or bridge components,
wherein said network configuration comprises at least:
a set of routes, said set of routes comprising one route for each communication flow, each route comprising
a network path in said network topology from the sender node to the receiver(s) node(s) represented as a graph wherein the root vertex of said graph is the sender node and each of the receiver nodes is a leave vertex, and wherein each edge in the graph corresponds to a link in the communication network,
a time-triggered communication schedule for the transmission of the TT flows, comprising
a transmission instant for each network packet of each TT flow, according to the route of said TT flow, and
a set of optional RC shaping parameters comprising at least one of audio video bridging (AVB) reserved bandwidth or a set of weights for a weighted round-robin, WRR, service, and
wherein said set of routes and said set of schedules fulfill the constraints defined in said set of constraints,
wherein the method comprises a first and a second feedback loop,
wherein a first step involves computing, based on said network topology and said set of communication constraints, one route for each communication flow of said set of communication flows, whereby one or more routing constraints of said related set of constraints of said flows are fulfilled,
wherein, in a second step, after the first step has finished based on
all TT flows of said set of communication flows,
all constraints related to said TT flows, and
said routes for each said TT flows computed by the first module, a time-triggered schedule for the communication of said TT flows is computed, so that one or more, of the constraints related to said TT flows are fulfilled,
wherein in a third step, after the second step has finished, a formal timing analysis is performed, according to which an analysis is performed to determine if at least the real-time constraints and resource constraints, and other constraints, from said set of constraints are fulfilled, based on the network routes and the time-triggered schedule,
wherein said first feedback loop is provided, according to which in the case that the time-triggered schedule cannot be computed or if the computed time-triggered schedule does not fulfill all of said scheduling constraints
wherein said information provided by the first feedback loop relates to one or multiple TT flows from said set of communication flows, which are selected to be rerouted, whereby the criteria to select said candidate TT flow(s) is based on at leat one of the following criteria,
largest or shortest period(s), or maximum or minimum size(s) of the communication data of said TT flow(s),
a largest number of scheduling constraints related to said TT flow(s),
an estimation of the complexity of scheduling said TT flow(s) within the network components of current route(s) of said TT flow(s),
a defined order based on the unique identifier of said TT flows, or
a random selection of one or multiple TT flow(s) from the set of communication flows,
wherein, according to said information from the first feedback loop, a route is re-computed for said one or multiple TT flow(s), whereby said recomputed route for each TT flow is a different route than a previous route for said TT flow, and the second step is executed again,
wherein said second feedback loop is provided, according to which in a case that the formal analysis shows that not all constraints are fulfilled,
wherein said information provided by the second feedback loop relates to one or multiple TT flows from said set of communication flows, which are selected to be rescheduled, whereby the criteria to select said so-called “candidate” TT flow(s) is based on at least one of the following criteria,
at least one of bandwidth utilization or density of scheduled transmissions on the links comprised in the route of said TT flow(s),
at least one of largest or shortest period(s), or maximum or minimum size(s) of the communication data of said TT flow(s),
a largest number of scheduling constraints related to said TT flow(s),
a defined order based on the unique identifier of said TT flows, or
a random selection of one or multiple TT flow(s) from the set of communication flows,
wherein, according to said information from the second feedback loop, the time-triggered schedule is re-computed for said one or multiple TT flow(s), whereby said recomputed schedule for said TT flow(s) is a different schedule than the previous schedule, and the third step is executed again.