4.1 Problems’ Definitions
Network planning and design. For a given set of ESes \(\mathcal {ES}\) and traffic model \(\mathcal {F}\) , the aim of topology selection problem is to determine the logical topology of the network \(\mathit {G}(\mathcal {N}, \mathcal {E})\) such that the traffic can be successfully forwarded. When deriving the network topology, the available network components, such as NSes and links, are provided through the so-called CL. For each component, it is considered known the type (set of features) and cost. Furthermore, Determining the logical topology means to find the number and type of NSes \(\mathcal {NS}\) and links \(\mathcal {E}\) and how to interconnect the ESes and NSes.
Let us recall that a flow of data \(f_i\) , among other things, is characterized by a source ES and possible multiple destination ESes. Therefore, for a valid network, it is required that for all flows \(f_i\in \mathcal {F}\) the pairs of source-destination ESes are connected with at least one path. Let us recall that in TSN a switch is called also bridge, which means that when building a network, no switches should be end points. This constraint means that all switches must have at least two connections. These are hard constraints that any valid network has to fulfil.
When building a network, usually there are defined extra objectives that have to be considered. For example, the most common objective is to minimize the monetary cost of the network. For airspace and automotive areas, a similar objective is to minimize the weight of cabling and network devices. The objectives though are dictated by the requirements of the distributed applications that are accommodated by the network. For example, in switched Ethernet, the link congestion and end-to-end delay can be controlled only by mean of network planning and design. Furthermore, for later protocols, if the network engineer decides that some fault-tolerant applications have to be routed through disjoint paths, the network should be designed such that these kinds of paths can be created.
Routing. A problem closely related to the topology selection, is the route computation problem. Giving the network topology
\(G(\mathcal {N}, \mathcal {E})\) and the set of flows
\(\mathcal {F}\) including their properties and requirements, the task is to determine the route
\(r_i\) over which the data of each flow
\(f_i\in \mathcal {F}\) is forwarded such that requirements of the applications are met. As mentioned in Section
2.2, a route represents a DP and tree for unicast and multicast flows, respectively.
As the route is the structure that connects the source ES with the destination ESes, a valid route should satisfy several hard constraints. One of the constraints is that all destinations should be reached. Another constraint is that a route should be cycle-free. In addition to these constraints, while modeling a routing problem, the network engineer can be interested to optimize also different objectives, such as minimizing the number of spanned links or minimizing the overall weight of the links. For the latter case, the weight of a link usually represents the used bandwidth or the link propagation delay, but in general it depends highly on the characteristics of the applications and the protocols in use.
Priority and Traffic type assignment. The goal of priority assignment problem is to decide the most appropriate priority for each flow \(f_i\in \mathcal {F}\) for the given set of data flows \(\mathcal {F}\) and the maximum available priority. The priority must be assigned such that the requirements of the critical traffic are satisfied. Initially, to differentiate among critical and non-critical traffic, priorities were introduced, i.e., when competing on an outgoing port higher priority traffic takes precedence over lower priority traffic. The priority assignment technique is more suitable for networks based on protocols such as strict priority Ethernet, AFDX, and AVB.
Furthermore, the distributed applications have been used more and more in safety-related areas and their complexity escalated in size and requirements. Therefore, to meet the new requirements, different traffic types were introduced to dictate how flows are shaped on network devices outgoing ports. We would like to recall that the main split is between TS and BS types of traffic. We would like to highlight that there is no one-to-one mapping between priorities and traffic types. In general, in the literature, it is considered that the TS traffic has the highest priority, the BS traffic has a lower priority, and that non-critical traffic is associated with the lowest priority. Though, there are cases where multiple priorities are considered for a single traffic type, e.g., multiple priorities can be considered for BS traffic in TTEthernet and TSN. Moreover, if QoS is provided also for the non-critical traffic, multiple priorities can be considered for this type of traffic.
As suggested before, the problem of traffic type (and priority) assignment is encountered for networks that are based on TTEthernet and TSN protocols. Depending on each type of traffic, there are additional configuration parameters that have to be decided. Namely, for the TS traffic have to be computed the schedule tables and for BS traffic have to be allocated the bandwidths. Therefore, in the following paragraphs we are going to introduce these schedule computation and bandwidth allocation problems, presenting for each of them also the constraints and objectives.
Scheduling. This problem deals with deriving the schedule tables \(\mathcal {S}\) for TS traffic such that all TC traffic is schedulable. For the scheduling problem, it is given the network topology \(\mathit {G}(\mathcal {N}, \mathcal {E})\) and the traffic model \(\mathcal {F}\) including all their properties and requirements along with the routes for all flows \(\mathcal {R}\) . The TS flows are transmitted and received at predefined points in time that are stored in structures called schedule tables. Thus, the time when the jth frame of a TS flow \(f_i\) is transmitted on link \(dl_{x, y}\) is denoted \(\phi ^{i,j}_{dl_{x,y}}.\)
To ensure a predictable transmission in general, a valid schedule table must satisfy some constraints. The first constraint is about the link occupancy; a link can forward at most one frame at a time. This means that all TS frames should be scheduled for transmission on disjoint time slots. Another constraint is the flow-dependent one; a frame should be entirely received by a switch before being forwarded on the next link. The time when a frame is fully received by a switch cannot be precisely known; even if the clocks of the network devices are synchronized, there is no perfect clock synchronization mechanism. Therefore, when building the schedule table, the forwarding time of a frame, in addition to forwarding delay on previous link, should take into account the clock synchronization error \(\delta _{synch}\) . Finally, another constraint that describes a valid schedule table is the end-to-end delay constraint; which specifies that any frame, after being dispatched from its source, should reach its destination before the deadline.
Furthermore, in TSN, the schedule tables are represented as GCLs. Because in TSN are controlled the times when gates of specific queues are opening and closing, the computation of schedule tables has to decide upon additional parameters. Therefore, in TSN have to be decided for each switch \(ns_{i}\) the number of queues, allocated for TS traffic on each egress port \(j\) , denoted \(Q^{TS}_{i,j}\) and the mapping of each TS flow to a queue. This mapping for a TS flow \(f_i\) on a link \(dl_{x,y}\) is denoted \(q(f_i, ns_{x}); q(f_i, ns_{x})\le Q^{TS}_{x}.\) Furthermore, we say about a flow \(f_i\) that is schedulable when its Worst-Case Delay (WCD) is at most equal with its deadline \(D_i\) .
As mentioned before, in TSN the scheduling is done on a per-queue basis. Therefore, an additional constraint should be considered when determining the GCLs, namely the queue occupancy constraint. To ensure a fully deterministic transmission of TS traffic, the queue occupation intervals for TS frames should be disjoint. This means that a single frame can be present in the TS queue before and during a gate-opening event. There exist in the literature also a relaxation of this constraint, namely that the frames of a same TS flow are allowed to share the queue for a single gate-opening event. This relaxation requires though that at the destinations there are mechanisms to recover for a TS flow from a possible miss ordering in receiving of the frames. Moreover, the queue occupancy intervals should be separated by clock synchronization error \(\delta _{synch}\) for queue occupation intervals of TS traffic coming from different ingress ports.
The WCD of TS flows is determined based on schedule table for networks using TTEthernet and for TSN networks where GCLs are synthesized for fully deterministic transmission of TS traffic. Otherwise, if fully deterministic constraints are ignored for TSN-based networks, the WCD should be computed using highly complex timing analysis methods. Such a timing analysis method based on network calculus is presented in [
85].
When synthesizing the schedule tables, different objectives can be taken into account. For example, a network engineer can be interested to make the TS traffic to arrive as soon as possible, by maximizing the overall laxity for TS flows. The laxity of a flow is defined as the difference between deadline and WCD when the flow is already schedulable. Another objective is to minimize the tardiness of the non-scheduled critical traffic. The tardiness is defined as the difference between WCD and deadline, but this applies also for the non-schedulable flows. For a TSN-based network, the network engineer might be interested to minimize the maximum number of queues that are used for TS traffic.
Bandwidth allocation. For the given network topology \(\mathit {G}(\mathcal {N}, \mathcal {E})\) , traffic model \(\mathcal {F}\) including flows’ properties, requirements and routes and the set of available bandwidths \(\mathcal {BW}\) , the goal of this problem is to determine the most appropriate available bandwidth for the non-scheduled critical traffic such that the timing requirements are met. Depending on the used protocols, the bandwidth can be imposed on a per-flow or per-traffic priority/type basis. Furthermore, this problem can be extended to adjust also the set of available bandwidths, i.e., to modify the current bandwidths or to add other bandwidth elements. Assigning an available bandwidth to a flow, it means that the bandwidth on transmission for the respective flow is upper bounded. By bandwidth limitation, the critical non-scheduled or lower priority traffic is prevented to wait at infinity on network devices egress ports reducing thus the WCD of non-scheduled traffic. Therefore, the bandwidth allocation problem can be seen as the scheduling problem for the non-scheduled traffic.
When allocating the bandwidth, the hard constraint is that the overall bandwidth of the traffic should not exceed the link bandwidth. Furthermore, when designing a mixed-criticality network, the objectives from the scheduling problem apply also here. We would like to recall that a mixed-criticality network is one on which highly TC (and possible scheduled) traffic share the same network with the critical non-scheduled traffic and non-critical traffic. Therefore, when deciding for the bandwidth the objectives can be extended to optimize for the timing characteristics also for the lower priority traffic. For example, an objective can be to reduce the bandwidth used for critical traffic as much as possible such that a certain QoS can be provided also for non-critical traffic. The bandwidth allocation is more suitable for networks that are using AFDX and AVB protocols. Though, an interesting approach is to use the bandwidth allocation technique also for TTEthernet and TSN protocols. This technique can be used either when schedule tables are fixed or it can be a joint technique to optimize the bandwidth for BS traffic and schedule tables for TS traffic.