# Schedulability analysis of Ethernet Audio Video Bridging networks with scheduled traffic support

- First Online:

## Abstract

The IEEE Audio Video Bridging (AVB) technology is nowadays under consideration in several automation domains, such as, automotive, avionics, and industrial communications. AVB offers several benefits, such as open specifications, the existence of multiple providers of electronic components, and the real-time support, as AVB provides bounded latency to real-time traffic classes. In addition to the above mentioned properties, in the automotive domain, comparing with the existing in-vehicle networks, AVB offers significant advantages in terms of high bandwidth, significant reduction of cabling costs, thickness and weight, while meeting the challenging EMC/EMI requirements. Recently, an improvement of the AVB protocol, called the AVB ST, was proposed in the literature, which allows for supporting scheduled traffic, i.e., a class of time-sensitive traffic that requires time-driven transmission and low latency. In this paper, we present a schedulability analysis for the real-time traffic crossing through the AVB ST network. In addition, we formally prove that, if the bandwidth in the network is allocated according to the AVB standard, the schedulability test based on response time analysis will fail for most cases even if, in reality, these cases are schedulable. In order to provide guarantees based on analysis test a bandwidth over-reservation is required. In this paper, we propose a solution to obtain a minimized bandwidth over-reservation. To the best of our knowledge, this is the first attempt to formally spot the limitation and to propose a solution for overcoming it. The proposed analysis is applied to both the AVB standard and the AVB ST. The analysis results are compared with the results of several simulative assessments, obtained using OMNeT++, on both automotive and industrial case studies. The comparison between the results of the analysis and the simulation ones shows the effectiveness of the analysis proposed in this work.

### Keywords

Ethernet AVB Scheduled traffic Schedulability analysis Response time analysis Bandwidth reservation Over-reservation## 1 Introduction

Distributed real-time systems are nowadays found in many applications in, for example, automotive industry, industrial process control, smart buildings and energy distribution facilities. In these applications the amount of data to be exchanged within the distributed system is growing. Often, these data exchanges have constrains with respect to timing. Ethernet solutions are being considered as promising solutions to handle the mentioned applications due to their features of high bandwidth support and wide availability. In particular, the IEEE 802.1 *Audio/Video Bridging* (AVB) specifications are being followed by both automotive and industrial control domains.

The Ethernet AVB consists of a set of technical standards to allow real-time traffic transmission. For this purpose, the AVB standard divides the traffic into different classes according to their priorities (currently, two real-time classes are defined, i.e., the Stream Reservation (SR) Class A and B), and adds a *credit-based shaper* (CBS) to prevent traffic bursts. Bandwidth reservation is realized through the Stream Reservation Protocol (SRP), as defined in the AVB standards. The IEEE *Time Sensitive Networking* (TSN) group is working on several projects aiming to provide the specifications that will allow time-synchronized low latency streaming services through 802 networks. In this regard, *Scheduled Traffic* (ST) enhancements are addressed in the recently published IEEE 802.1Qbv standard
(2015). The standard foresees a periodically time window, called *Protected Window*, that is reserved for the transmission of ST traffic. The Protected Window is scheduled according to a set of rules associated to the transmission queue and not to the single ST message.

A different approach to support ST traffic in AVB networks (called AVB ST) was presented in Alderisi et al.
(2013), which suggests to handle the Scheduled Traffic in a separate highest-priority class to be added on top of the already defined SR classes, so as to guarantee preferential service to this time-sensitive traffic class, which requires both time-driven transmission and low latency. Also, a *Time-Aware Shaper* (TAS), which allows traffic transmission based on a time schedule, is adopted to provide temporal isolation between the ST traffic and the other traffic classes, thus avoiding any interference on the ST traffic from the other traffic. The AVB ST proposal brings the following benefits: (i) short and strict latencies for the ST traffic, (ii) time-driven transmission, with off-line scheduling possibility, for the ST traffic, hence meeting the needs of time-sensitive control traffic, (iii) temporal isolation with other traffic classes, and (iv) not significant effect on the other traffic classes. Our focus in this paper is on the AVB ST networks. Moreover, the AVB ST allows for scheduling one time window for each ST message, according to the specific ST message period and length, using offset scheduling techniques. This approach compared to the IEEE 802.1Qbv entails a finer-grained scheduling of ST messages, thus a more optimized bandwidth utilization. More details on the main differences between the IEEE 802.1Qbv standard and the AVB ST are presented in Sect. 3.3.

### 1.1 Contributions

In all real-time application domains, timeliness guarantees are required. In fact, it is essential to provide an analytical method to achieve the worst-case latency of the messages in the network. Several timing analysis approaches for messages in AVB networks were presented, e.g., Diemer et al. (2012) and Bordoloi et al. (2014), however, none of them can support response time computation of messages in the presence of ST messages. In this paper, we identify the elements which influence the delay of messages when ST messages cross through the network. Then, we present a response time analysis for the different classes of traffic in the AVB ST. We follow the same response time analysis method as presented in Bordoloi et al. (2014). However, our analysis has the following dissimilarities compared to the analyses presented in Diemer et al. (2012) and Bordoloi et al. (2014): (i) we consider the effect of ST messages on the analysis, and (ii) we discuss the effect of queuing jitter from higher priority messages by showing potential optimism when jitter is neglected in the analysis, using a counterexample.

Furthermore, we focus on bandwidth reservation for messages in AVB networks. We show that the previously presented analyses do not lead to a schedulable result in most of the cases because of the tight bandwidth allocation dictated by the AVB standard. This problem stems from: (i) not considering the blocking by lower priority messages in the bandwidth reservation, (ii) not considering the queuing jitter of a message crossing multiple switches for the bandwidth reservation, and (iii) the inevitable pessimism in the analyses. We formally demonstrate this limitation. A solution is to increase the dictated bandwidth for the traffic classes, known as *bandwidth over-reservation*. Here, we propose a solution to obtain a minimized bandwidth over-reservation. The solution is general and can be used for both AVB and AVB ST networks. To the best of our knowledge, we formally show the limitation and propose a solution for the first time.

Finally, we conduct experiments in two types of application domains, automotive and automation networks. The architecture and traffic of the networks are inspired by close-to-industry case studies. In particular, for the automotive case study we referred to an architecture designed by BMW group (Lim et al. 2011), while for the automation case study we adopted the maximum number of switches that the standard guarantees. Then, we compute the response time of messages using the timing analysis presented in this paper, considering the bandwidth over-reservation. Also, we simulate the networks using OMNeT++ to compare the message response times with the computed ones, in order to show the effectiveness of the presented response time analysis.

### 1.2 Organization

The rest of the paper is organized as follows. The next section discusses related works on Ethernet AVB. Then, Sect. 3 presents the Ethernet AVB and AVB ST. Section 4 provides the system model. Section 5 recalls the previous response time analysis, while Sect. 6 presents the response time analysis for the AVB ST networks. Section 7 discusses the limitation of the analysis when allocating the bandwidth based on the AVB standard, and presents a solution to overcome it. The experiments on automation and automotive case studies are conducted in Sect. 8. Finally, Sect. 9 concludes the paper.

## 2 Related work

In this section, we describe research and extensions relevant to Ethernet AVB. Moreover, we provide a brief overview of existing schedulability analysis approaches for AVB networks.

### 2.1 AVB related research

Recently, the real-time performance of IEEE AVB has been investigated extensively in multiple application domains, namely automotive, aeronautics, and industrial automation. For automotive networks, the work in Lo Bello (2011) and Tuohy et al. (2015) indicate AVB as one of the possible candidates for real-time communication domain. Moreover, the AVB suitability for supporting traffic flows of both Advanced Driver Assistance Systems (ADAS) and multimedia/infotainment systems was proven in Steinbach et al. (2012), Alderisi et al. (2012, 2012). In Lim and Volker (2011) the capability of AVB to be used as an in-car backbone network for inter domain communication is discussed. As far as the industrial automation communication is concerned, the Ethernet AVB ability to deal with real-time traffic requirements typically found in industrial automation is addressed in Imtiaz et al. (2011) and Jasperneite et al. (2009). In Jasperneite et al. (2009) the latency of forwarding the traffic is pointed out as one of the main challenges. In fact, due to the shaper in IEEE 802.1Q, a real-time message might be delayed in every bridge resulting in a poor performance. Therefore, further improvements are foreseen, including (i) shortening the non-real-time messages that interfere with real-time messages, (ii) allowing only real-time messages or (iii) providing mechanisms to avoid the mentioned interference. Focusing on the avionics application, AVB performance is discussed in Land and Elliott (2011) and Heidinger et al. (2012). In Heidinger et al. (2012) the reliability of AVB was evaluated and results showed that AVB solutions may be applicable to applications belonging to lower safety classes that have less demanding requirements on reliability. This is mainly due to the complexity of dynamic bandwidth reservation in AVB and failure probability of devices evaluated in Heidinger et al. (2012). In Schneele and Geyer (2012), the AVB is compared to the AFDX standard and the outcome is that further work is needed for making AVB suitable for the aeronautic industry requirements. In order to tackle the aforementioned improvements several kinds of traffic shapers were analyzed in Thangamuthu et al. (2015) and the Time-Aware Shaper (TAS) proved to be the one that can offer the lowest latency along with good jitter performance, albeit with an increased configuration cost for the switches. TAS prevents interference on the scheduled traffic, thus the traffic can be delivered faster. The only delay that the scheduled traffic suffers from is the forwarding latency crossing the switches.

Approaches to reduce latency for high priority traffic in the AVB networks, such as packet preemption and fragmentation, are discussed in Imtiaz et al. (2012). Moreover, TAS or time windows were proposed in Pannel (2012) and Cummings (2012) for isolating class A streams from the interference due to other traffic types. However, these approaches map all time-sensitive flows on the same class (class A) irrespective of their heterogeneous sizes and time constraints. Such a choice is not beneficial to low latency small-size traffic, which should not be handled in the same queue as large messages in AVB. For this reason, the work in Alderisi et al. (2013) proposed to add a separate class on top of the AVB Stream Reservation Classes A and B to introduce support for ST traffic, while maintaining the other traffic classes provided by the AVB standard. The work adopted TAS to enforce temporal isolation between ST and other classes of traffic. It also proved that ST traffic achieves both low and predictable latency, without significantly affecting the SR traffic. In this paper, we focus on the proposal in Alderisi et al. (2013), named AVB ST network, as it introduces relatively high performance in transmission of time-sensitive traffic. The details of the AVB ST are discussed in Sect. 3.2.

### 2.2 Timing analysis approaches for Ethernet AVB

A number of timing analysis techniques were proposed for the Ethernet AVB networks, such as Imtiaz et al. (2009), Lee et al. (2006) and De Azua and Boyer (2014), each one using different approaches. For instance, the analysis presented in De Azua and Boyer (2014) applies the Network Calculus framework (Leboudec and Thiran 2001), while the one presented in Imtiaz et al. (2009) adopts delay computation. However, these analysis techniques are restricted to the computation of worst-case response time per-class, without distinguishing the individual messages’ response times. It should be noted that in many industrial systems a large number of messages are transmitted. For instance, in a modern truck 6000 messages are exchanged across several networks (Keynote 2013). Therefore, the delays of each individual message should be bounded, but this is not possible using the mentioned analysis approaches. Another analysis framework for the Ethernet AVB is presented in Reimann et al. (2013) and is based on Modular Performance Analysis (MPA) (Wandeler et al. 2006). In the presented analysis the interference from higher priority messages is not formally considered, i.e., multiple activations of higher priority messages are not taken into account.

A formal timing analysis is given in Diemer et al. (2012), where the response time of each individual message is computed in an Ethernet AVB architecture consisting of multiple switches. The recent work presented in Bordoloi et al. (2014) showed that the analysis in Diemer et al. (2012) considers only one blocking factor that results from lower priority messages, which is not the case in the Ethernet AVB, due to the traffic shaper. Thus, a new response time analysis is developed in Bordoloi et al. (2014). However, the proposed analysis is still limited to the constrained deadline traffic model, and a single-switch architecture. In this paper, we extend the response time analysis presented in Bordoloi et al. (2014) in two directions: (i) computing the response time of messages in Ethernet AVB when ST traffic is transmitted through the network, and (ii) considering the effect of queuing jitter from higher priority messages in multi-hop architectures.

## 3 Ethernet AVB basics

In this section, we present the Ethernet AVB protocol. Further, we describe the AVB ST approach.

### 3.1 The Ethernet AVB

*bridges*in the AVB terminology) along the path between the

*talker*(i.e., the stream source node) and the

*listener*(i.e., the stream final destination node). Moreover, the IEEE 802.1Q provides Queuing and Forwarding mechanism for AV Bridges to split time-critical and non-time-critical traffic into different traffic classes and applies the CBS algorithm that prevents traffic bursts by exploiting traffic shaping at the output ports of bridges and end nodes. The AVB standard guarantees a fixed maximum latency for up to seven hops within the network for two different

*Stream Reservation (SR) classes*, i.e., 2 ms for class A and 50 ms for Class B. According to the CBS algorithm, each SR traffic class has an associate

*credit*parameter, whose value changes within two limits, called

*loCredit*and

*hiCredit*, respectively. Pending messages in the queues may be transmitted only when their associated credit is zero or higher. During the message transmission the credit decreases at the

*sendSlope*rate defined for the class. The credit is replenished at the constant rate

*idleSlope*defined for the class when (i) the messages of that class are waiting for the transmission or (ii) when no more messages of the class are waiting, but credit is negative. If the credit is greater than zero and no more messages of the corresponding traffic class are waiting, the credit is immediately reset to zero. Figure 1 illustrates the operation of the CBS algorithm for classes A and B. At the beginning \(m_2\) is being transmitted, hence its credit (class B) decreases. At time \(t_1\) message \(m_1\) is ready in the queue of class A, thus its credit starts to increase. When at time \(t_3\) the transmission of \(m_2\) finishes, the transmission of \(m_1\) is initiated, as the credit for class A is positive. Moreover, credit of class B starts to increase as there is \(m_3\) pending for transmission. At time \(t_4\) transmission of \(m_1\) finishes and finally \(m_3\) is started for transmission. At time \(t_5\) since there is no pending traffic for class A, the credit immediately becomes zero.

The AVB ST approach presented in Alderisi et al. (2013) is summarised in Sect. 3.2 that shows a promising solution towards the support of ST traffic over AVB networks. The analysis and results in this paper are based on the AVB ST design presented in Alderisi et al. (2013).

### 3.2 Ethernet AVB ST

The AVB ST approach introduces a separate traffic class for scheduled traffic, called the Scheduled Traffic Class (ST Class), on top of the AVB SR Classes A and B. ST frames get the highest priority TAG according to the IEEE 802.1Q standard, as scheduled traffic includes time-sensitive high-priority flows (e.g., control traffic) that deserve the best service. For this reason, the ST class not only has a separate queue, but also does not undergo credit-based shaping, this way avoiding the latency increase that traffic shaping introduces. Conversely, SR class A and B take the second and the third highest priority, respectively, and undergo CBS shaper. Finally, best-effort traffic is handled by strict priority (as in the IEEE 802.1Q standard).

As ST flows are periodic, with fixed and a priori known period and frame size, they can be scheduled offline. Suitable scheduling techniques, e.g., offset scheduling (Palencia and González Harbour 1998), can be adopted at the network configuration time to ensure, by design, the absence of collisions between ST frames in the whole network (i.e., either in the end stations or in the bridges). The AVB ST approach requires that every node and every switch has to be aware of the right time for transmitting its ST traffic, therefore, synchronization is provided by the IEEE 802.1AS standard.

*guard band*. During the guard band and ST message transmission, the credit for SR classes that have pending messages increases at the rate of the relevant idleSlope. If there are no pending messages, the credit becomes immediately zero. Fig. 3 depicts an example of AVB ST transmission. An ST message (\(m_{\textit{ST}}\)) is scheduled for transmission at time \(t_3\). Although \(m_2\) from class A can be transmitted at time \(t_1\) as the credit is zero, the TAS prevents it as it would interfere with \(m_{\textit{ST}}\) transmission. Finally, \(m_2\) is sent after \(m_{\textit{ST}}\).

It should be noted that there is an intelligent way to assign a guard band. In fact, if the implementation determines which messages are waiting in the queue, for the guard band it is sufficient to use the maximum size of those messages instead of the maximum of all messages in that class.

The synchronization offered by the IEEE 802.1AS (2011) makes AVB bridges time-aware nodes (i.e., nodes provided with network timing information). Consequently, to implement TASs, only a suitable mechanism to allow/inhibit transmissions in a given time window and a way to configure the TAS based on the information provided by a Management Information Base (MIB) are needed.

The second fundamental concept for AVB ST is the ST_Window of each ST message. Such a window is defined as the time window, at the receiver side, within which the ST frame has to be received. In fact, as in the AVB ST approach ST frames are transmitted at known time instants and do not experience interference from the same class or from other traffic classes, the reception instant for any ST message can be calculated. The calculation has to consider the synchronization error between the nodes. The synchronization error is calculated using the drift of each node.

The results of comparative simulations of AVB ST and AVB in Alderisi et al. (2013) show a positive outcome for AVB ST, as ST traffic obtained low and predictable latency values, without significantly affecting SR traffic. The reason for this result is the combination of three features that are very beneficial for the ST class, namely, the offset-based scheduling, the temporal isolation provided by TAS and the absence of CBS shaping for the ST class.

### 3.3 Overview of the IEEE 802.1Qbv standard and differences with AVB ST

*OperCycleTime*. Two consecutive gate operations (i.e., opening/closing of one or multiple gates) are spaced by an interval called

*TimeInterval*. Such an interval is equal for all the operations contained in the list. The list of operations is configured to create the protected window (PW) for the queues in which the scheduled traffic is transmitted with no interference. This operational approach foresees a unique PW cyclically repeated for each scheduled traffic queue large enough to accommodate the transmission of all the ST messages within a cycle. This results in a non-optimized scheduling in the case of multiple ST messages with different lengths and periods leading to the consequent waste of bandwidth. In fact, the PW should be sized so as to accommodate the transmission of all the ST frames handled by a node within a cycle, regardless of whether some ST messages have a larger period and they are not transmitted in each cycle. Note that the IEEE 802.1Qbv standard does not exclude multiple PWs for one queue. However, scheduling multiple protected windows for each message may result in a very complex and difficult implementation. The main differences between the IEEE 802.1Qbv standard and AVB ST are summarized as follows.

According to the IEEE 802.1Qbv standard the idleSlope increases only if the gate is open, i.e., the idleSlope does not increase during the guard band and ST transmission. However, according to the design in Alderisi et al. (2013), the idleSlope for the SR classes increases even during the guard band and ST transmission (see Fig. 3).

The idleSlope increases in higher rate than when there is no ST transmission enabled. The duty cycle for the transmission gate is multiplied by the idleSlope according to Clause 8.6.8.2 in the IEEE 802.1Qbv standard (2015).

Unlike the IEEE 802.1Qbv standard the AVB ST provides scheduled windows, which consider the period and the length of each transmitted message. Therefore, ST Windows are scheduled only when there are ST messages to be transmitted and they are sized according to the frame length of the specific ST message, thus entailing a more efficient bandwidth utilization.

## 4 System model

In this section we describe the system model for the AVB network and the traffic, separately.

### 4.1 Network model

The AVB switches are considered to be full-duplex, i.e., the input and output of a switch port are isolated. Thus, the receiving message does not delay the transmission of a message. In this paper, we define a *link* as a connection between a node and a switch, as well as a connection between two switches. The link is denoted by *l*. Also, the switch has a fabric latency due to the hardware configuration for relaying messages, which is denoted by \(\epsilon \). This delay varies in different switches and usually is accounted for the time that the switch takes to process a received message and to insert it into the output port queue. The link delay due to wire and its physical characteristics is assumed to be very small and negligible.

Ethernet AVB uses a credit-based shaping algorithm to regulate the traffic transmission for two traffic classes, A and B, where class A has higher priority than class B. Assuming traffic class *X*, the replenishment rate (idleSlope) of the credit on link *l* is denoted by \(\alpha ^+_{X,l}\). Moreover, the credit is consumed when there is a transmission on a link, and the consumption rate (sendSlope) is specified by \(\alpha ^-_{X,l}\). The non-real-time traffic, known as best effort (BE) class, does not undergo the traffic shaper. Moreover, the total network bandwidth is denoted by *R*. It should also be noted that in the response time analysis the latency due to unprecise clock synchronization among the nodes is neglected.

### 4.2 Traffic model

*N*messages, is characterized as follows:

*R*). In our model, a message is not larger than the maximum possible Ethernet size, hence message fragmentation is not required. Also, \(T_i\) and \(D_i\) denote the period and relative deadline of the message, respectively. In this paper, we consider the constrained deadline model, i.e., \(D_i \le T_i\). A message belongs to a traffic class based on its priority. Several messages in the set may share a priority level and be assigned to the same traffic class. In this case, the FIFO policy applies to them in the queues of the switch. Therefore, \(P_i\) represents the class of \(m_i\), e.g., \(P_i = \textit{class}\;A\). In the analysis, \(\textit{lp}(m_i)\), \(sp(m_i)\) and \(hp(m_i)\) are the sets of the messages with lower, the same and higher priority than that of \(m_i\), respectively. Moreover, \(F_i\) represents the message length, which can be derived as \(F_i = C_i \cdot R\). A message traversing several switches may get variation in delay, which is called queuing jitter and denoted by \(J_i\).

*l*between the nodes/switches

*x*and

*y*. Note that the sequence in the tuple shows the direction of the message transmission from

*x*to

*y*. In this analysis, we restricted the model to unicast streams, i.e., only one destination per message is assumed. The multicast and broadcast streams can be handled by transforming them into multiple unicast streams, however we leave that case as out of the scope of this paper for the sake of clarity. The response time of \(m_i\) is the temporal interval between the time at which the message is inserted in the queue of its source node (i.e., the time instant when it becomes ready for transmission), and the time at which the message is delivered to its destination node. The response time is specified by \(\textit{RT}_i\). Moreover, the response time of \(m_i\) when it is transmitted from a node/switch to another node/switch through link

*l*in a multi-hop architecture is denoted by \(\textit{RT}^l_i\). Table 1 summarizes the notations that are used in this paper.

Table of notations

Notation | Description |
---|---|

\(m_i\) | Message index |

\(C_i\) | The transmission time of \(m_i\) |

\(T_i\) | The period of \(m_i\) |

\(D_i\) | The relative deadline of \(m_i\) |

\(J_i\) | The queuing jitter of \(m_i\) |

\(P_i\) | The class of \(m_i\) |

\(\mathcal {L}_i\) | The set of links that \(m_i\) crosses from its source node |

to its destination node | |

| link in the network |

\(n_i\) | The number of links in the route of \(m_i\) |

| The total number of messages in the set |

\(F_i\) | The length of \(m_i\) |

| The network bandwidth |

\(\epsilon \) | The switch fabric latency |

\(\alpha _{X,l}^+\) | The replenishment rate (idleSlope) of the credit class X on link |

\(\alpha _{X,l}^-\) | The consumption rate (sendSlope) of the credit class X on link |

\(\textit{lp}(m_i)\) | The set of messages with lower priority than \(m_i\) |

\(\textit{sp}(m_i)\) | The set of messages with the same priority as \(m_i\) |

\(\textit{hp}(m_i)\) | The set of messages with higher priority than \(m_i\) |

\(w_i^l(q)\) | The queuing delay of \(m_i\) in its \(q^{th}\) instance crossing link |

\(w_i(q)\) | The queuing delay of \(m_i\) in its \(q^{th}\) instance |

\(\textit{RT}_i^l\) | The response time of \(m_i\) crossing link |

\(\textit{RT}_i\) | The response time of \(m_i\) |

## 5 AVB response time analysis recap

In this section, we recall the response time analysis of messages in single-switch AVB networks (Bordoloi et al. 2014). Note that some optimization methods have been presented in Bordoloi et al.
(2014), however we do not consider them when extending the analysis. The reason is that later in Sect. 7 we use the analysis to find the bandwidth over-reservation, which is not possible with the presented optimizations. New methods are required to achieve tighter analysis, which are left for future work. We present the response time analysis for each traffic class separately, considering that in plain AVB there are no ST messages transmitted in the network. Moreover, the presented analysis considers an architecture with a single switch. Therefore, the notation of link *l* is discarded from the equations.

### 5.1 Response time of messages belonging to class A

In Ethernet AVB, class A messages have the highest priority, hence there is no interference from higher priority messages for this class. On the other hand, there might be blocking by lower priority messages, e.g., a blocking by class B or BE traffic. As there are only two traffic classes, several messages may be assigned to the same class, therefore a message may be delayed by the messages with the same priority in the FIFO queue. Finally, as the message transmission is controlled by the traffic shaper, even if the message is ready for transmission it may be blocked due to a negative credit. To sum up, three different elements have to be considered in the worst-case response time of a message: (i) blocking by lower priority messages, (ii) interference from the same priority messages in the FIFO queue, and (iii) traffic shaping.

#### 5.1.1 Blocking by lower priority messages

*L*in this example and it is the summation of \(\textit{LP}_1\), \(\textit{SP}\) and the replenishment duration denoted by

*H*.

*H*from above equation and inserting it in the calculation of

*L*in Eq. (2), the interval length can be written as below:

#### 5.1.2 Interference from the same priority messages

The interference from the same priority messages is the sum of the transmission times of all messages in the same traffic class. In a schedulable system where \(D_i \le T_i\), when a message is enqueued in a FIFO queue, at most one instance of the other messages can be ahead of the message in the queue (Davis et al. 2011). This means that if there are two instances of a message ahead of \(m_i\) in the FIFO queue, the system is not schedulable under the mentioned assumptions.

#### 5.1.3 Traffic shaper effect

### 5.2 Response time of messages belonging to class B

*q*for which the response time must be calculated is \([1, q_{\textit{max}}]\), where \(q_{\textit{max}}\) is the smallest positive integer

*q*derived in Eq. (9). The left side of Eq. (9) is the length of the busy period. Therefore, by dividing the busy period length to the period of the message \(T_i\) (in the right side of Eq. 9), the maximum number of instances during the busy period is derived. The length of busy period is calculated by adding the blocking from lower priority messages, the interference from same and higher priority messages (i.e., the interference that makes the resource busy during the busy period).

## 6 Response time analysis for AVB ST networks

In this section, we present the response time analysis for class A and B messages for the case of AVB ST networks, in which the transmission of ST messages has to be taken into account. We also present the transmission delay of ST messages. To do so, we first present the analysis for different classes of messages in one link in the network. Then, we extend that to multi-hop networks.

### 6.1 Response time of messages in class A

In the approach presented in Alderisi et al.
(2013) the messages in the queues associated to the SR classes undergo both TAS and CBS, while the BE messages go through TAS only. According to the TAS mechanism, any non-ST message that is queued and is ready for transmission has to wait not only for the duration of an ST message transmission, but also for an additional time, called a *guard band*. The guard band is enforced by TAS to avoid the transmission of non-ST traffic that would delay the next ST message. Therefore, when calculating the response time for messages in class A, not only the interference from ST messages should be taken into account, but also the guard band should be considered. For the response time analysis of messages in class A four elements are required. These elements include: (i) interference from higher priority messages (i.e., from ST messages and their guard band), (ii) blocking by lower priority messages, (iii) interference from the same priority messages in the FIFO queue, and (iv) traffic shaper effect.

#### 6.1.1 Interference from higher priority messages

*virtual message*per ST message, whose period and priority are the same as the ST message ones. Note that if ST messages are clustered for transmission, a virtual message for the whole cluster would be sufficient. However, this requires an offset-based scheduling algorithm for ST messages, that is out of the scope of this paper and is left for future work. The transmission time of the virtual message is the maximum transmission time of all messages in classes A, B and BE, whose transmission would not be finished before the starting of the ST message. This is due to the fact that TAS prevents any transmission that can interfere with ST transmission, which in the worst-case is the largest message taking the same route as the message under analysis. Fig. 7 shows a scenario in which a message from class A \(m_A\) could interfere with an \(\textit{ST}\) message \(m_{\textit{ST}}\) scheduled for transmission at time

*t*, but it is prevented from being transmitted by the TAS. The virtual message in this case is depicted by \(C^*_{\textit{ST}}\).

*l*is denoted by \(C^*_{k, l}\) and derived in Eq. (10). The equation gives the largest message among other traffic classes (A, B and BE), that traverse the same link as \(m_k\).

#### 6.1.2 Blocking by lower priority messages

*l*. An interval of time is defined as the duration between the time at which the credit is zero and the time at which the credit is replenished to zero again, after the transmission of the ready messages (Fig. 8). In order to show that inflation of the same priority message covers the blocking time of class A messages by the lower priority message in presence of ST messages, we define an interval where LP, ST and SP messages are transmitted. In this example we consider that the ST message also includes the transmission time of its virtual message. The length of the interval

*L*is calculated in the following equation, where

*H*represents the time needed to replenish the negative credit to zero (see Fig. 8).

*H*from the above equation, and inserting it to the interval length calculation (Eq. 11) we have the following:

#### 6.1.3 Interference from the same priority messages

In order to capture the worst-case scenario, we assume that all the same priority messages in the FIFO queue are ahead of the message under analysis. Moreover, as the model is constrained deadline, in a schedulable system, only one instance of the same priority messages can be ahead of the message under analysis in the FIFO queue.

#### 6.1.4 Traffic shaper effect

Similar to the discussion for Fig. 5, the negative credit can be removed if the replenishment time after transmission of the message under analysis is taken into account.

*l*is calculated in Eq. (14). The iteration starts from \(\textit{RT}^{l,(0)}_i = C_i\) and terminates when \(\textit{RT}^{l,(x)}_i = RT^{l,(x-1)}_i\), where

*x*is the iteration number. The calculation does not need to examine several instances of the message in the busy period. The reason is that the ST messages are the only higher priority messages for class A, and they are strictly periodic. Also, TAS prevents any transmission that can interfere with the ST messages. Therefore, the ST messages cannot be pushed through into the next period of message \(m_i\). This means that the next instances of \(m_i\) cannot have larger response time than the first instance.

### 6.2 Response time of messages in class B

*l*is calculated in Eq. (15). The first term in Eq. (15) is the blocking by lower priority messages, while the second term is the transmission of \(m_i\) in previous \(q-1\) instances. Again, the transmission time of \(m_i\) is inflated only when there is no same priority messages in the set. The third term is the interference from the same priority messages. Also, the fourth term is the interference from higher priority messages, consisting of classes A and ST messages. Finally, the last term is the interference of virtual messages to consider the guard band in the analysis. Note that the queuing jitter of traffic class A (not by ST) on link

*l*is denoted by \(J_j^l\) and described in the next subsection (Sect. 6.5).

### 6.3 Transmission delay of messages in class ST

### 6.4 Multi-switch response time

### 6.5 Jitter of the higher priority interference

The response time analysis given in Bordoloi et al. (2014) is presented for a single-switch network without considering the traffic shaper of the nodes. Therefore, messages arrive to the switch at every period without variation in their delays. Thus, the queuing jitter due to crossing switches does not appear. The response time analysis presented in Diemer et al. (2012) covers multi-hop architecture, however the queuing jitter is not considered. Here we show using a counterexample that if we do not consider the queuing jitter of a message due to passing through switches, the analysis can give an optimistic result. In AVB ST the queuing jitter of class A can affect the response time of message in class B. However, the ST traffic is scheduled offline without interference from other traffic classes. Therefore, they do not have queuing jitter. In this section, we discuss the effect of queuing jitter from class A on the class B analysis.

Message parameters for an example

Class | C | T | D | |
---|---|---|---|---|

\(m_A\) | A | 2 | 10 | 10 |

\(m_B\) | B | 2 | 14 | 14 |

\(m_{\textit{BE}}\) | BE | 4 | – | – |

*l*.

## 7 Bandwidth reservation for AVB networks

As mentioned before, two formal response time analysis techniques are presented in Diemer et al.
(2012) and Bordoloi et al.
(2014) to compute the delay of messages in AVB networks. The response time analysis techniques provide safe upper bounds on the worst-case response time of messages. In the presented analysis, besides the messages’ parameters, the idleSlope (reserved bandwidth) is taken into account. The standard defines how to set the idleSlope. Normally, the IEEE 802.1Q standard provides two modes of operation, which are (i) when the SRP is disabled or (ii) when the SRP is enabled. When the SRP is disabled, the idleSlope per class and per link is assigned by management through the *adminIdleSlope* parameter (see Clause 34.3 in IEEE 2014), which is equal to the *operIdleSlope* parameter. The *operIdleSlope* parameter is the actual bandwidth and its calculation is given in the standard (see Clause 34.4 in IEEE 2014). However, when the SRP is enabled, the SRP mechanism uses the Multiple Stream Registration Protocol (MSRP) to register the bandwidth through the *operIdleSlope* parameter per class and per link. According to the SRP, class A streams should transmit frames at a frequency multiple or equal to 8000 frames / s and class B streams at a frequency multiple or equal to 4000 frames / s. Also, in the case of lower message transmission frequencies, the same bandwidth for 8000 or 4000 frames / s has to be reserved. Such an over-reservation is very pessimistic when the frequency is lower than the one provided by the SR class. For this reason, in this paper, we assume that the SRP is disabled. Therefore, the bandwidth to be set in the *operIdleSlope* parameter is calculated as the product between the frame size (*MaxFrameSize*) and the frame transmission rate (*maxFrameRate*). This calculation, given in Clause 34.4 of the IEEE 802.1Q standard
(2014), can be seen as the message utilization. Nevertheless, in most of the cases the response time analysis cannot converge to a schedulable result if the bandwidth is reserved according to the standard. This is because (i) lower priority blocking is not accounted for in the calculation of idleSlope, and (ii) the queuing jitter in multi-switch is not taken into account.

In the experiments that are performed in Diemer et al. (2012) bandwidth over-reservation is applied. The required idleSlope for the traffic shaper is multiplied by a value between 2 to 32, i.e., the reserved bandwidth for the messages is increased by 2–32 times. The over-reservation is considered for experimental purpose only, without giving a formal explanation about why and how to set it. Moreover, in the analysis presented in Bordoloi et al. (2014), the idleSlope is chosen randomly for the experiments. In this section, we show this limitation and for the sake of simplicity we show the limitation in the context of plain AVB (i.e., without ST traffic) and for the traffic class A. However, the limitation also applies to traffic class B and to AVB ST networks. Then, we propose a solution to find a minimum over-reservation (a new idleSlope) for classes A and B, such that the system becomes schedulable. We present the solution for the case of the AVB ST networks. However, the response time of AVB ST is the general form of AVB. This means that if in Eq. (15), which computes the queuing delay in AVB ST network, we set the number of ST messages to zero, we achieve Eq. (7) to calculate queuing delay in AVB networks.

### 7.1 Problem formulation

Here, we demonstrate the limitation in two different cases. First, we focus on the effect of lower priority blocking on the bandwidth reservation. Second, we show that even in a network without lower priority messages, the analysis may provide schedulable results only when the periods of all messages are equal. Otherwise, when the bandwidth is reserved according to the standard, the system is not schedulable in any setting.

#### 7.1.1 Lower priority blocking

*MaxFrameSize*(denoted by

*F*in this paper) and

*maxFrameRate*parameters. The

*maxFrameRate*parameter is the transmission rate of the frame and is calculated using the

*MaxIntervalFrames*parameter, which is the maximum number of frames that the sender node may transmit in one “class measurement interval”. The class measurement interval is 125 \(\upmu \)s for class A and 250 \(\upmu \)s for class B (see Clause 34.4 of IEEE 2014). This calculation is given in Clause 34.4 of the standard (IEEE 2014), which is presented below for one message \(m_j\).

*X*is calculated as in Eq. (25).

*T*, then we rewrite the idleSlope based on the period of messages. Note that the period is the time interval between two consecutive transmissions of the message from the source node. Therefore,

*MaxIntervalFrames*can be written based on

*T*as below:

*MaxIntervalFrames*from Eqs. (26) to (25).

*MaxIntervalFrames*parameter is the maximum number of frames in one class measurement interval, which is a 16-bit unsigned integer value in the traffic specification (TSpec) field (see Clause 35.2.2.8.4 in IEEE 2014). Therefore, any period larger than a class measurement interval becomes equal to the class measurement interval, when computing the idleSlope. However, when the SRP is disabled, as we assumed in this paper, the TSpec for registering the bandwidth is not used. Thus, any value for the

*MaxIntervalFrames*parameter can be foreseen to set the idleSlope.

*sendSlope*computation in Clause 8.6.8.2 in IEEE 2014). Therefore, the inflation factor discussed in the analysis can be rewritten as in Eq. (28).

### Lemma 1

If there is only one message \(m_i\) from class A in the network, and there is no other traffic from other classes, the response time of \(m_i\) is equal to its period \(T_i\).

### Proof

*C*with

*F*(\(F_j = C_j \cdot R\)) in Eq. (29) the response time calculation can be written as in Eq. (30).

As one can see from the above lemma, the schedulability test is passed if we assume implicit deadline only, i.e., \(D_i = T_i\).

### Lemma 2

If there is one message \(m_i\) from class A and one message \(m_j\) from class B in the network, the system is not schedulable according to the response time analysis in any settings.

### Proof

We can conclude that, by setting the bandwidth according to the standard, the system cannot become schedulable using the analysis presented in Bordoloi et al. (2014), if there is at least one lower priority message in the network.

#### 7.1.2 Same priority interference

The response time analysis is not only limited because of blocking by lower priority messages. Here, we investigate the schedulability of a system when there is no lower priority message in the network in two cases: (i) when the periods of messages are equal, and (ii) when at least the period of one message is larger than the others. The main intention is to show that the presented analysis can only provide schedulable results when the periods of all messages are equal.

### Lemma 3

(equal periods) If there are *N* messages only from class A in the network, and their periods are equal, the response time of all of them is equal to their periods.

### Proof

### Lemma 4

(unequal periods) If there are *N* messages only from class A in the network, and their periods are equal except one message with larger period than the others, the system is not schedulable.

### Proof

*N*messages in the network, where \(T = T_1 = T_2 = \cdots = T_{N-1}\), and \(T_N > T\). As mentioned before, the period can be written as a number of class measurement intervals, i.e., \(T = y \cdot \textit{classMeasurementInterval}\), where \(y > 0\). For instance, if \(y = 1/2\) and assuming class B then \(T = 125\) \(\upmu \)s, which is 2 frames in one class measurement interval. Therefore, \(T_N = z \cdot \textit{classMeasurementInterval}\), where \(z>y\). For example, in class B if \(z = 1\) then \(T_N = 250\) \(\upmu \)s. From the above description for

*T*and \(T_N\), we can derive the following:

To conclude, a system without any lower priority message is schedulable only if the periods of messages are equal (Lemmas 3, 4). In case of having even one lower priority message, the system is not schedulable in any setting (Lemmas 1, 2) using the presented analysis in Bordoloi et al. (2014).

### 7.2 Proposed solution

*l*of the network as \(\beta ^+_{X, l}\). Moreover, we define \(\beta ^+_{X,l,i}\) as the idleSlope for \(m_i\) of class

*X*on link

*l*. Intuitively, by increasing \(\beta ^+_{X, l}\) the response time becomes smaller, as the reserved bandwidth is larger. The intention of the solution is to find the minimum \(\beta ^+_{X,l,i}\) such that \(m_i\) meets its deadline. Then, \(\beta ^+_{X,l}\) is derived in Eq. (42) such that the whole set of messages in class X meet their deadlines, hence the system becomes schedulable.

*f*as the maximum reservable portion of the bandwidth, the maximum idleSlope for traffic class X (\(\beta ^X_{max, l}\)) is calculated in Eq. (43).

To make the system schedulable, the response time in its worst-case should be less or equal to the deadline of the message. However, as the response time is computed for one link, it should meet the deadline defined for that link, i.e., \(\textit{RT}_i^l \le D_i^l\). The sum of the deadlines for the links in the route of the message is \(D_i\), i.e., \(\sum _{l = 1\ldots n_i} D_i^l = D_i\). Defining the deadline of a message for each link can be done in several ways. The simple solution is to divide \(D_i\) equally among the number of links \(n_i\). However, a smarter solution is to divide the deadline proportional to the load on the links. Decomposition of the deadline has been studied in the real-time community, e.g., Chatterjee and Strosnider (1995) and Kao and Garcia-Molina (1993). In this paper, we do not focus on optimizing the results based on deadlines decomposition and we keep it as a future work. For the experiments in this paper, the end-to-end deadlines are divided proportionaly to the load on the links. The formulation is discussed in Sect. 8.

#### 7.2.1 Solution for class B

*t*evolves until \(w_i^l(t)\) becomes equal to

*t*. This equation is presented in Eq. (45). Note that the equation is presented for a specific instant of

*q*.

*q*is shown in Fig. 10, which is a step function. The first point that

*t*meets \(w_i^l(t)\) is the queuing delay of \(m_i\), that is shown by \(Q_i\) in Fig. 10, i.e., \(Q_i = min(t>0):t = w_i^l(t)\). The intention is to find minimum \(\beta ^+_{B,l,i}\) from Eq. (45) such that the response time of \(m_i\) in instant

*q*becomes equal to the deadline of \(m_i\). However, the operation is not trivial as there are floor operations in the equation. In order to simplify, we can approximate \(w_i^l(t)\) by removing the floor operations from Eq. (45). The approximation is shown in Eq. (46). Intuitively it can be seen that \(w_i^{l,apx}(t)\) is always larger or equal to \(w_i^l(t)\), which is still a safe upper bound. This function is depicted in Fig. 10, as a linear function of time. Similarly to the previous equation, we evolve time

*t*until \(w_i^{l,apx}(t) = t\). This point is shown by \(Q_i^{apx}\) in the figure, and it is the queuing delay of \(m_i\).

With Eqs. (45) and (46) in mind, we continue to find \(\beta ^+_{B,l,i}\) by presenting in a lemma form.

### Lemma 5

### Proof

*l*is calculated using Eq. (16). As it is assumed in the lemma, the max operation occurs in \(q'\)th instance, so we can rewrite Eq. (16) by considering the revised inflation factor and \(w_i^{l, apx}(t)\) as a function of time, which is shown in Eq. (48).

*t*until \(w_i^{l, apx}(t) = t\), and this point is \(Q_i^{apx}\) (see Fig. 10). Thus, in a schedulable system \(w_i^{l, apx} = t = Q_i^{apx}\). We can rewrite Eq. (50) assuming that the deadline of \(m_i\) is met, as it is in the lemma, which is shown in Eq. (51).

*N*and

*M*, respectively.

In the above equations, to calculate \(\beta ^+_{B,l,i}\) we need \(q'\), which is unknown. We assumed \(q'\) is the instance within the range \([1, q_{\textit{max}}]\), where it causes the maximum response time in Eq. (16). However, to find the instance \(q'\), we need to examine all the instances within the range, for which the maximum \(q_{\textit{max}}\) is derived according to Eq. (17). Note that Eq. (17) is the function of \(\alpha ^+_{B, l}\), and with the new idleSlope it would be the function of \(\beta ^+_{B,l}\), which we are aiming to find. This means that while finding \(\beta ^+_{B,l,i}\), \(q_{\textit{max}}\) will change as well.

The algorithm to find \(\beta ^+_{B,l}\) is shown in Algorithm 1. It iterates for all messages in class B crossing through link *l* to calculate the over-reservation for each of them, then the maximum of the idleSlopes among the messages is the final idleSlope. Note that the algorithm finds \(\beta ^+_{B,l}\) for each link in a multi-switch AVB ST architecture, thus it should be executed for all links in the network.

*sched*). Using the derived \(\beta ^+_{B,l,i}\), the maximum number of instances \(q_{\textit{max}}\) is calculated using Eq. (17) in line (7) of the algorithm. Note that we use the new idleSlope \(\beta ^+_{B,l,i}\) instead of \(\alpha ^+_{B,l}\). If the maximum number of instances is larger than 1, which \(\beta ^+_{B,l,i}\) is calculated based on that, the algorithm continues to find \(\beta ^+_{B,l,i}\) when \(q=2\) to \(q_{\textit{max}}\) in the loop starting from line (10). In each step, if the over-reservation is larger than the maximum possible over-reservation, the algorithm breaks and returns the unschedulable flag (line (12) and the following ones). However, if \(\beta ^+_{B,l,i}\) computed based on a

*q*is larger than the previously calculated one, the maximum number of instances should be updated again (lines (15) and (16)). If the updated maximum number of instances \(\textit{newQ}\) is smaller than the current \(q_{\textit{max}}\), the algorithm does not need to continue calculating \(\beta ^+_{B,l,i}\), hence it breaks the loop and returns the new idleSlope \(\beta ^+_{B,l,i}\) for \(m_i\). If \(\textit{newQ}\) equals to the current \(q_{\textit{max}}\), the loop continues. However, if the \(\textit{newQ}\) becomes larger than

*qMax*, then

*qMax*is updated for the continuation of the loop. The loop will be eventually terminated as \(\beta ^+_{B,l,i}\) cannot exceed \(\beta ^+_{max, l}\) and will be broken in line (12). For each message in the loop of the algorithm, the maximum idleSlope is stored in \(\beta ^+_{B,l}\) in line (26). the complexity of the algorithm for link

*l*in the network is \(O(N \times q_{\textit{max}} \times q_{\textit{max}})\). Note that the function

*findSlope*is linear, and the function

*findQmax*has an iteration with the maximum iteration number of \(q_{\textit{max}}\). Therefore, the algorithm has a polynomial time-complexity.

#### 7.2.2 7Solution for class A

*t*until \(\textit{RT}_i^l(t) = t\), which is the answer of the equation.

### Lemma 6

### Proof

*t*and \(\textit{RT}_i^l(t)\) in Eq. (56) (as they are equal by evolving

*t*to reach the answer), hence Eq. (56) becomes as a linear function shown in Eq. (58).

### 7.3 Over-reservation in the AVB networks

Algorithm 1 can be also used to find the over-reservation of idleSlope in the AVB networks. The only change is to assume the set of ST messages is zero in all calculations, i.e., \(\{ST class\} = \emptyset \), as the presented analysis is the general form for AVB analysis.

### 7.4 Evaluation of bandwidth over-reservation

## 8 Experiments

In this section, we conduct simulative assessments of two types of network architectures. The first one refers to an industrial network, the second to an automotive network. The messages parameters are taken from the automation and automotive application domains, respectively, and the total bandwidth is set to 100 Mbps. The industrial scenario is setup with flow periods in the order of few milliseconds that are typical of the microgrid automation applications (Rinaldi et al. 2015), while the topology is chosen to consider the maximum hops that the standard guarantees (i.e., 7 hops). Moreover, the traffic parameters in the automotive case study are inspired from the architecture designed by BMW group (Lim et al. 2011). The response time for the defined messages is computed using the analysis presented in this paper. Then, we simulate the examples using OMNeT++ and we measure the response time of the messages during run-time for 500 s. We compare the calculated and measured response times to assess the level of pessimism in the defined case studies. It should be noted that this is not the maximum pessimism as it is rather difficult to examine it.

*l*.

### 8.1 Industrial case study

Parameters of the messages in the industrial case study

Message ID | Talker | Payload (B) | Period (\(\upmu \)s) | Class |
---|---|---|---|---|

1 | N1 | 500 | 2875 | A |

2 | N2 | 500 | 3500 | B |

3 | N2 | 46 | 4000 | ST |

4 | N3 | 46 | 4000 | ST |

5 | N4 | 500 | 1875 | A |

6 | N5 | 500 | 1500 | A |

7 | N6 | 500 | 3000 | B |

8 | N7 | 200 | 1250 | A |

The idleSlope (based on the standard and the over-reservation) for each link in the network—industrial case study

Link | \(\alpha ^+_A\) | \(\beta ^+_A\) | \(\alpha ^+_B\) | \(\beta ^+_B\) |
---|---|---|---|---|

L1<N1-SW1> | 1.51 | 1.51 | 0 | 0 |

L2<SW1-SW2> | 1.51 | 1.51 | 0 | 0 |

L3<N2-SW2> | 0 | 0 | 1.24 | 1.24 |

L4<N3-SW2> | 0 | 0 | 0 | 0 |

L5<SW2-SW3> | 1.51 | 1.51 | 1.24 | 1.24 |

L6<N4-SW3> | 2.31 | 2.31 | 0 | 0 |

L7<SW3-SW4> | 3.82 | 53.31 | 1.24 | 1.24 |

L8<N5-SW4> | 2.89 | 2.89 | 0 | 0 |

L9<SW4-SW5> | 6.71 | 50.11 | 1.24 | 1.24 |

L10<N7-SW5> | 1.55 | 1.55 | 0 | 0 |

L11<SW5-SW6> | 8.26 | 46.69 | 1.24 | 1.24 |

L12<N6-SW6> | 0 | 0 | 1.44 | 1.44 |

L13<N8-SW6> | 0 | 0 | 0 | 0 |

L1<SW1-N1> | 0 | 0 | 0 | 0 |

L2<SW2-SW1> | 0 | 0 | 0 | 0 |

L3<SW2-N2> | 0 | 0 | 0 | 0 |

L4<SW2-N3> | 0 | 0 | 0 | 0 |

L5<SW3-SW2> | 0 | 0 | 0 | 0 |

L6<SW3-N4> | 0 | 0 | 0 | 0 |

L7<SW4-SW3> | 0 | 0 | 0 | 0 |

L8<SW4-N5> | 0 | 0 | 0 | 0 |

L9<SW5-SW4> | 0 | 0 | 0 | 0 |

L10<SW5-N7> | 0 | 0 | 0 | 0 |

L11<SW6-SW5> | 0 | 0 | 0 | 0 |

L12<SW6-N6> | 0 | 0 | 0 | 0 |

L13<SW6-N8> | 8.26 | 45.54 | 2.68 | 36.10 |

Parameters of the messages for the automotive case study

ID | Talker | Listener | Payload | Period (ms) | Class |
---|---|---|---|---|---|

1 | CAM1 | DACAM | 400 | 0.750 | A |

2 | CAM2 | DACAM | 400 | 0.750 | A |

3 | CAM3 | DACAM | 400 | 0.750 | A |

4 | DACAM | Head Unit | 400 | 0.750 | A |

5 | DACAM | CU | 46 | 1000 | ST |

6 | DACAM | CU | 46 | 200 | ST |

7 | DACAM | Head Unit | 46 | 1000 | ST |

8 | DACAM | Head Unit | 46 | 200 | ST |

9 | Head Unit | CU | 46 | 5 | ST |

10 | Head Unit | CU | 46 | 50 | ST |

11 | Head Unit | CU | 46 | 100 | ST |

12 | Head Unit | CU | 46 | 200 | ST |

13 | Head Unit | CU | 46 | 500 | ST |

14 | Head Unit | CU | 46 | 700 | ST |

15 | Head Unit | CU | 46 | 1000 | ST |

16 | Head Unit | CU | 46 | 150 | ST |

17 | Head Unit | DACAM | 46 | 100 | ST |

18 | Head Unit | DACAM | 46 | 150 | ST |

19 | Head Unit | DACAM | 46 | 200 | ST |

20 | CU | Head Unit | 46 | 100 | ST |

21 | CU | Head Unit | 46 | 200 | ST |

22 | CU | Head Unit | 46 | 500 | ST |

23 | CU | Head Unit | 46 | 700 | ST |

24 | CU | Head Unit | 46 | 1000 | ST |

25 | CU | DACAM | 46 | 10 | ST |

26 | CU | DACAM | 46 | 1000 | ST |

27 | DVD | RSE | 600 | 1 | B |

28 | CD Audio | RSE | 600 | 6 | B |

29 | Telematics | Head Unit | 400 | 5 | B |

30 | Telematics | RSE | 600 | 0.625 | A |

The idleSlope (based on the standard and the over-reservation) for each link in the network—automotive case study

Link | \(\alpha ^+_A\) | \(\beta ^+_A\) | \(\alpha ^+_B\) | \(\beta ^+_B\) |
---|---|---|---|---|

L1<CAM1-SW1> | 4.71 | 4.71 | 0 | 0 |

L2<DACAM-SW1> | 4.71 | 4.71 | 0 | 0 |

L3<CAM2-SW1> | 4.71 | 4.71 | 0 | 0 |

L4<HeadUnit-SW1> | 0 | 0 | 0 | 0 |

L5<CAM3-SW1> | 4.71 | 4.71 | 0 | 0 |

L6<SW1-SW2> | 0 | 0 | 0 | 0 |

L7<CD Audio-SW2> | 0 | 0 | 0.85 | 0.85 |

L8<DVD-SW2> | 0 | 0 | 5.14 | 5.14 |

L9<RSE-SW2> | 0 | 0 | 0 | 0 |

L10<CU-SW2> | 0 | 0 | 0 | 0 |

L11<Telematics-SW2> | 8.22 | 8.22 | 0.70 | 0.70 |

L1<SW1-CAM1> | 0 | 0 | 0 | 0 |

L2<SW1-DACAM> | 14.14 | 30.12 | 0 | 0 |

L3<SW1-CAM2> | 0 | 0 | 0 | 0 |

L4<SW1-HeadUnit> | 4.71 | 4.71 | 0.70 | 0.70 |

L5<SW1-CAM3> | 0 | 0 | 0 | 0 |

L6<SW2-SW1> | 0 | 0 | 0.70 | 0.70 |

L7<SW2-CD Audio> | 0 | 0 | 0 | 0 |

L8<SW2-DVD> | 0 | 0 | 0 | 0 |

L9<SW2-RSE> | 8.22 | 8.21 | 6.00 | 19.07 |

L10<SW2-CU> | 0 | 0 | 0 | 0 |

L11<SW2-Telematics> | 0 | 0 | 0 | 0 |

### 8.2 Automotive case study

For this case study we define 30 messages whose properties are inspired by realistic automotive messages. Audio and video frames are assigned to class A and B. The various type of control messages are all set as ST class. The properties of the messages are presented in Table 5. The switch fabric latency is assumed equal to 5.2 \(\upmu \)s.

Similarly to the previous case study, we computed the idleSlope for classes A and B based on the standard, and according to the over-reservation approach in this paper. The results for each link are shown in Table 6.

Considering the over-reserved bandwidth for each link, we calculated the response time of messages according to the analysis presented in this paper. Also, we measured the response times during the simulation. The results are depicted in Fig. 18. Similarly to the previous experiment, RTA, Sim Max \(\alpha \) and Sim Max \(\beta \) indicate the computed, maximum measured response times of the messages with the original and over-reserved idleSlope, respectively. As it can be seen, the computed response times of messages belonging to classes A and B are always larger than the measured ones with the over-reserved idleSlope. Also, the measured and computed response times of ST messages are always equal, and small compared to the response times of the other classes of messages. The highest pessimism in this example is for message 4 with around 86%. In the figure, the measured response times for messages 1, 2 and 3 are not the same, while their parameters are the same. In the simulation, all messages arrive to the switch at the same time in an order that is maintained in the simulation. This is why the first message has shorter response time compared with the others. However, in the analysis we consider the worst-case for each individual message. This case study validates the practicality of the ST approach as the ST messages have very short latency compared to the SR classes. Moreover, the over-reservation algorithm helps reduce the messages’ response time, e.g., for message 27.

## 9 Conclusion and future work

In this work, we presented a response time analysis for multi-hop AVB ST networks, which can be applied to multi-hop AVB networks as well. The proposed analysis exploits a bandwidth over-reservation concept to overcome the limitations of state-of-the-art response time analysis approaches for AVB networks. We showed that the analysis based on the proposed bandwidth over-reservation method is effective by comparing the analysis results with the simulative ones obtained using OMNeT++. As we showed in the experiments, the presented analysis entails a level of pessimism. As decreasing the pessimism would lead to less bandwidth over-reservation and better resource utilization, future work will address a way to decrease such a pessimism, and the case for taking advantage from previous findings and approaches on stochastic analysis, such as the ones in Diaz et al. (2004) and Kaczynski et al. (2007), will be also considered. As future work we will address a response time analysis for the AVB ST combined with the frame preemption mechanism introduced by the IEEE 802.1Qbu standard.

## Notes

### Acknowledgements

This work is supported by the Swedish Foundation for Strategic Research via the PRESS, FiC and LUCIA projects.

### References

- Alderisi G, Caltabiano A, Vasta G, Iannizzotto G, Steinbach T, Lo Bello L (2012) Simulative assessments of IEEE 802.1 Ethernet AVB and time-triggered Ethernet for advanced driver assistance systems and in-car infotainment. In: Vehicular networking conferenceGoogle Scholar
- Alderisi G, Iannizzotto G, Lo Bello L (2012) Towards 802.1 Ethernet AVB for advanced driver assistance systems: a preliminary assessment. In: IEEE 17th conference on emerging technologies factory automationGoogle Scholar
- Alderisi G, Patti G, Lo Bello L (2013) Introducing support for scheduled traffic over IEEE audio video bridging networks. In: 18th IEEE conference on emerging technologies factory automationGoogle Scholar
- Bordoloi UD, Aminifar A, Eles P, Peng Z (2014) Schedulability analysis of ethernet AVB switches. In: The 20th IEEE international conference on embedded and real-time computing systems and applicationsGoogle Scholar
- Chatterjee S, Strosnider J (1995) Distributed pipeline scheduling: end-to-end analysis of heterogeneous, multi-resource real-time systems. In: Proceedings of the 15th international conference on distributed computing systemsGoogle Scholar
- Cummings R (2012) 802.1qbv scheduled traffic: Window options. In: 802.1 Interim meetingGoogle Scholar
- Davis RI, Burns A, Bril RJ, Lukkien JJ (2007) Controller Area Network (CAN) schedulability analysis: refuted, revisited and revised. Real-Time Syst J 35:239–272CrossRefGoogle Scholar
- Davis R, Kollmann S, Pollex V, Slomka F (2011) Controller Area Network (CAN) schedulability analysis with FIFO queues. In: 23rd Euromicro conference on real-time systemsGoogle Scholar
- De Azua JAR, Boyer M (2014) Complete modelling of AVB in Network Calculus framework. In: 22nd international conference on real-time networks and systemsGoogle Scholar
- Diaz JL, Lopez JM, Garcia M, Campos AM, Kanghee K, Lo Bello L (2004) Pessimism in the stochastic analysis of real-time systems: Concept and applications. In: in Proceeding of 25th IEEE international real-time systems symposiumGoogle Scholar
- Diemer J, Thiele D, Ernst R (2012) Formal worst-case timing analysis of Ethernet topologies with strict-priority and AVB switching. In: 7th IEEE international symposium on industrial embedded systemsGoogle Scholar
- Heidinger I, Geyer F, Schneele S, Paulitsch M (2012) A performance study of audio video bridging in aeronautic Ethernet networks. In: 7th IEEE international symposium on industrial embedded systemsGoogle Scholar
- IEEE (2008) IEEE standard for a precision clock synchronization protocol for networked measurement and control systems. IEEE Std 1588-2008 (Revision of IEEE Std 1588-2002)Google Scholar
- IEEE (2011) IEEE Std. 802.1AS-2011, IEEE standard for local and metropolitan area networks-timing and synchronization for time-sensitive applications in bridged local area networks (2011)Google Scholar
- IEEE (2014) IEEE Std. 802.1Q, IEEE standard for local and metropolitan area networks, bridges and bridged networksGoogle Scholar
- IEEE (2015) IEEE Std. 802.1Qbv, IEEE standard for local and metropolitan area networks, bridges and bridged networks, amendment 25: enhancement for scheduled trafficGoogle Scholar
- Imtiaz J, Jasperneite J, Han L (2009) A performance study of Ethernet Audio Video Bridging (AVB) for industrial real-time communication. In: IEEE conference on emerging technologies factory automationGoogle Scholar
- Imtiaz J, Jasperneite J, Schriegel S (2011) A proposal to integrate process data communication to IEEE 802.1 Audio Video Bridging (AVB). In: IEEE 16th conference on emerging technologies factory automationGoogle Scholar
- Imtiaz J, Jasperneite J, Weber K (2012) Approaches to reduce the latency for high priority traffic in IEEE 802.1 AVB networks. In: 9th IEEE international workshop on factory communication systemsGoogle Scholar
- Jasperneite J, Schumacher M, Weber K (2009) A proposal for a generic real-time Ethernet system. IEEE Trans Ind Inform 5(2):75–85CrossRefGoogle Scholar
- Kaczynski GA, Lo Bello L, Nolte T (2007) Deriving exact stochastic response times of periodic tasks in hybrid priority-driven soft real-time systems. In: IEEE conference on emerging technologies and factory automationGoogle Scholar
- Kao B, Garcia-Molina H (1993) Deadline assignment in a distributed soft real-time system. In: Proceedings the 13th international conference on distributed computing systemsGoogle Scholar
- Keynote Talk (2013) Experiences from EAST-ADL use. EAST-ADL Open Workshop, GothenbergGoogle Scholar
- Land I, Elliott J (2011) Architecting ARNIC 664 (AFDX) SolutionsGoogle Scholar
- Leboudec J, Thiran P (2001) Network calculus. Springer, BerlinCrossRefGoogle Scholar
- Lee KC, Lee S, Lee MH (2006) Worst case communication delay of real-time industrial switched Ethernet with multiple levels. IEEE Trans Ind Electron 53(5):1669–1676CrossRefGoogle Scholar
- Lehoczky J (1990) Fixed priority scheduling of periodic task sets with arbitrary deadlines. In: 11th real-time systems symposium (1990)Google Scholar
- Lim HT, Zahrer P, Volker L (2011) Performance evaluation of the inter-domain communication in a switched Ethernet based in-car network. In: 36th IEEE conference on local computer networksGoogle Scholar
- Lo Bello L (2011) The case for Ethernet in automotive communications. SIGBED Rev 8(4):7–15CrossRefGoogle Scholar
- Lo Bello L (2014) Novel trends in automotive networks: a perspective on Ethernet and the IEEE Audio Video Bridging. In: 19th IEEE international conference on emerging technologies and factory automationGoogle Scholar
- Lim HT, Weckemann K, Herrscher D (2011) Performance study of an in-car switched Ethernet network without prioritization. In: Proceedings of the third international conference on communication technologies for vehiclesGoogle Scholar
- Martin S, Minet P (2006) Worst case end-to-end response times of flows scheduled with FP/FIFO. In: International conference on networking, international conference on systems and international conference on mobile communications and learning technologiesGoogle Scholar
- Palencia JC, González Harbour M (1998) Schedulability analysis for tasks with static and dynamic offsets. In: Proceedings of the IEEE real-time systems symposiumGoogle Scholar
- Pannel D (2012) Avb - generation 2 latency improvement options. In: 802.1 AVB groupGoogle Scholar
- Reimann F, Graf S, Streit F, Glas M, Teich J (2013) Timing analysis of Ethernet AVB-based automotive E/E architectures. In: 18th Conference on emerging technologies factory automationGoogle Scholar
- Rinaldi S, Ferrari P, Ali NM, Gringoli F (2015) IEC 61850 for micro grid automation over heterogeneous network: Requirements and real case deployment. In: 13th IEEE international conference on industrial informaticsGoogle Scholar
- Schneele S, Geyer F (2012) Comparison of IEEE AVB and AFDX. In: IEEE/AIAA 31st digital avionics systems conferenceGoogle Scholar
- Steinbach T, Lim HT, Korf F, Schmidt T, Herrscher D, Wolisz A (2012) Tomorrow’s in-car interconnect? a competitive evaluation of IEEE 802.1 AVB and time-triggered ethernet (as6802). In: Vehicular technology conferenceGoogle Scholar
- Thangamuthu S, Concer N, Cuijpers P, Lukkien J (2015) Analysis of Ethernet-switch traffic shapers for in-vehicle networking applications. In: Design, automation and test in Europe conference and exhibitionGoogle Scholar
- Tuohy S, Glavin M, Hughes C, Jones E, Trivedi M, Kilmartin L (2015) Intra-vehicle networks: a review. IEEE Trans Intell Transp Syst 16(2):1–12CrossRefGoogle Scholar
- Wandeler E, Thiele L, Verhoef M, Lieverse P (2006) System architecture evaluation using modular performance analysis: a case study. Int J Softw Tools Technol Transf 8(6):649–667CrossRefGoogle Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.