Skip to main content
Log in

Deterministic delay analysis of AVB switched Ethernet networks using an extended Trajectory Approach

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

Audio Video Bridging (AVB) switched Ethernet is being considered as a promising network alternative solution for the automotive industry thanks to its high data transmission rate and dedicated bandwidth for real-time traffic. However, guaranteeing deterministic communications of an AVB switched Ethernet network remains a key issue for safety-critical applications in automotive domain. In order to ensure real-time timeliness constraints for any flow sent in AVB switched Ethernet networks, we establish new bounds on the worst-case end-to-end delay of any flow. Our contributions are the following: (i) We first develop a worst-case delay analysis in the context of AVB switched Ethernet network based on an extension of the Trajectory Approach. (ii) Then we take into account serialization constraints on frame transmissions to improve the computation of worst-case end-to-end delay bounds. (iii) Finally, we refine the proposed approach by taking into consideration the AVB traffic shaping characteristics. The performance of the proposed approach is illustrated on a set of representative automotive examples.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19

Similar content being viewed by others

Notes

  1. A busy period of frame \(f_{i}\) with FP/FIFO scheduling is defined by a time interval \([t_1 , t_2)\) during which the frames having the same priority as frame \(f_{i}\) that arrive no later than \(f_{i}\) as well as the frames having higher priority than frame \(f_{i}\) are transmitted and there is no idle time in \([t_1 , t_2)\). An idle time refers to a time instant when there is no traffic sent on the link.

  2. The part \(\sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in class X}} D_{classX}(i,j,t)\cdot \max _{h\in \mathcal {P}_{i}\cap \mathcal {P}_{j}}\left( \frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\right) \).

Abbreviations

X :

An AVB traffic class

h :

A switch output port

\(\alpha _{X}^{+}(h)\) :

IdleSlope of AVB class X at the output port h

\(\alpha _{X}^{-}(h)\) :

SendSlope of AVB class X at the output port h

R :

Transmission rate of the network

sl :

Switching latency of each switch

\(\tau _{i}\) :

A sporadic/periodic flow

\(f_{i}\) :

A frame of flow \(\tau _{i}\)

\(T_{i}\) :

Minimum inter-arrival duration of two consecutive frames of flow \(\tau _{i}\)

\(C_{i}\) :

Transmission time of a frame of flow \(\tau _{i}\) over a link

\(Pr_{i}\) :

Fixed priority of flow \(\tau _{i}\)

\(\mathcal {P}_{i}\) :

Path followed by flow \(\tau _{i}\)

\(first_{i}\) :

First output port visited by flow \(\tau _{i}\) along its path \(\mathcal {P}_{i}\)

\(last_{i}\) :

Last output port visited by flow \(\tau _{i}\) along its path \(\mathcal {P}_{i}\)

classX :

Index set of class X flows

\(hp^{X}\) :

Index set of flows belonging to a class having a higher priority than the one of class X

\(lp^{X}\) :

Index set of flows belonging to a class having a lower priority than the one of class X

\(HP^{X}\) :

Index set of classes having a higher priority than class X

\(LP^{X}\) :

Index set of classes having a lower priority than class X

\(ECU_{i}\) :

An ECU node in the network

\(S_{i}\) :

A switch in the network

\(S_{ij}\) :

The jth output port of switch \(S_{i}\)

\(high_{i}\) :

Index set of flows having a higher priority than flow \(\tau _{i}\) (for FP/FIFO scheduling)

\(same_{i}\) :

Index set of flows having the same priority as flow \(\tau _{i}\) (for FP/FIFO scheduling)

\(low_{i}\) :

Index set of flows having a lower priority than flow \(\tau _{i}\) (for FP/FIFO scheduling)

\(pre_{i}(h)\) :

The previous output port of h in the path \(\mathcal {P}_{i}\)

\(first_{i,j}\) :

First output port in the path \(\mathcal {P}_{i}\) where flow \(\tau _{j}\) competes with flow \(\tau _{i}\) for the output link

\(last_{i,j}\) :

Last output port in the path \(\mathcal {P}_{i}\) where flow \(\tau _{j}\) competes with flow \(\tau _{i}\) for the output link

\(M_{i}^{h}\) :

Earliest possible start time of the busy period of frame \(f_{i}\) at h in the path \(\mathcal {P}_{i}\)

\(S_{max_{i}}^{h}\) :

Maximum delay of a frame of flow \(\tau _{i}\) from \(first_{i}\) till its arrival at h

\(S_{min_{i}}^{h}\) :

Minimum delay of a frame of flow \(\tau _{i}\) from \(first_{i}\) till its arrival at h

\(\delta _{i}^{h}\) :

Maximum non-preemptive delay of frame \(f_{i}\) at the output port h

\(\Delta _{i,t}^{h}\) :

Serialization term

\(W_{i,t}^{last_{i}}\) :

Latest start time of the transmission of frame \(f_{i}\) at \(last_{i}\)

\(R_{i}\) :

Worst-case end-to-end delay upper bound of flow \(\tau _{i}\)

\(\mathcal {B}_{i}\) :

Largest possible length of the busy period of frame \(f_{i}\)

\(D_{classX}(i,j,t)\) :

Maximum delay introduced by class X flow \(\tau _{i}\) to frame \(f_{i}\)

\(loC_{X}^{h}\) :

Maximum negative credit of class X at h

\(hiC_{X}^{h}\) :

Maximum positive credit of class X at h

\(C_{X_{max}}^{h}\) :

Transmission time of the largest class X frame at h

\(C_{X_{min}}^{h}\) :

Transmission time of the smallest class X frame at h

\(I_{X_{init}}\) :

Delay introduced by negative initial credit of class X at h

\(D_{lp^{X}}(i)\) :

Non-preemptive delay of frame \(f_{i}\) along its path \(\mathcal {P}_{i}\)

\(D_{hp^{X}}(i,t)\) :

Maximum delay of frame \(f_{i}\) caused by higher-priority classes along its path \(\mathcal {P}_{i}\)

\(\text {IP}_{k}^{h}\) :

One input port to forward frames to h

\(\mathcal {S}(\text {IP}_{k}^{h})\) :

Index set of flows transmitted from \(\text {IP}_{k}^{h}\) to h

\(\text {seq}_{k}^{h}\) :

Frame sequence transmitted by \(\text {IP}_{k}^{h}\) to h

\(l_{k}^{h}\) :

Duration of sequence \(\text {seq}_{k}^{h}\) without its first frame

\(I_{X_{start}}^{h}\) :

Duration of time interval during which class X frames are transmitted continuously at h

\(I_{X_{middle}}^{h}\) :

Duration of time interval during which each class X frame is shaped by CBSA at h

\(I_{X_{end}}^{h}\) :

Transmission time of the last class X frame at h

\(D_{X_{max}}(i,t)\) :

Maximum workload of class X to delay frame \(f_{i}\)

\(D_{X_{min}}(i,t)\) :

Minimum workload of class X to delay frame \(f_{i}\)

\(Rep_{i,X}\) :

Maximum replenishing time for class X flow \(\tau _{i}\)

U :

Total network utilization of evaluated network configuration

References

  • Adnan M, Scharbarg JL, Fraboul C (2011) Minimizing the search space for computing exact worst-case delays of AFDX periodic flows. In: Proceedings of IEEE international symposium on industrial embedded systems (SIES), pp 294–301

  • Adnan M, Scharbarg JL, Ermont J, Fraboul C (2012) An improved timed automata approach for computing exact worst-case delays of AFDX sporadic flows. In: Proceedings of international conference on emerging technologies factory automation (ETFA), Krakow, pp 1–8

  • Alderisi G, Caltabiano A, Vasta G, Iannizzotto G, Steinbach T, Bello LL (2012) Simulative assessments of IEEE 802.1 Ethernet AVB and time-triggered Ethernet for advanced driver assistance systems and in-car infotainment. In: Proceedings of the IEEE vehicular networking conference (VNC), pp 187–194

  • Alur R, Dill D (1994) A theory of timed automata. Theor Comput Sci 126(2):183–235

    Article  MathSciNet  MATH  Google Scholar 

  • Arinc 429 (2001–2004)

  • Arinc 664 (2002–2008)

  • Bauer H, Scharbarg JL, Fraboul C (2010) Improving the worst-case delay analysis of an AFDX network using an optimized Trajectory approach. IEEE Trans Ind Inform 6(4):521–533

    Article  Google Scholar 

  • Bauer H, Scharbarg JL, Fraboul C (2012) Applying Trajectory approach with static priority queuing for improving the use of available AFDX resources. Real-Time Syst 48(1):101–133

    Article  Google Scholar 

  • Bello LL (2011) The case for Ethernet in automotive communications. ACM SIGBED Rev 8(4):7–15

    Article  MathSciNet  Google Scholar 

  • Bérard B, Bidoit M, Finkel A, Laroussinie F, Petit A, Petrucci L, Schnoebelen P (2010) Systems and software verification: model-checking techniques and tools. Springer, Berlin

    MATH  Google Scholar 

  • Bimbard F, George L (2008) EDF feasibility conditions with kernel overheads on an event driven OSEK system. In: The third international conference on systems, ICONS 2008, April 13–18, 2008, Cancun, pp 277–284

  • Bordoloi U, Aminifar A, Eles P, Peng Z (2014) Schedulability analysis of Ethernet AVB switches. In: IEEE 20th international conference on embedded and real-time computing systems and applications (RTCSA), pp 1–10

  • Consortium F et al (2005) Flexray communications system-protocol specification. Version 2(1):198–207

    Google Scholar 

  • Decotignie JD (2005) Ethernet-based real-time and industrial communications. Proc IEEE 93(6):1102–1117

    Article  Google Scholar 

  • Diemer J, Rox J, Ernst R (2012a) Modelinig of Ethernet AVB networks for worst-case timing analysis. In: MATHMOD, Vienna international conference on mathematical modelling, Vienna

  • Diemer J, Thiele D, Ernst R (2012b) Formal worst-case timing analysis of Ethernet topologies with strict-priority and AVB switching. In: 7th IEEE international symposium on industrial embedded systems (SIES), pp 1–10

  • Ermont J, Scharbarg JL, Fraboul C (2006) Worst-case analysis of a mixed CAN/switched Ethernet architecture. In: Proceedings of international conference on real-time and network systems(RTNS), Poitiers, pp 06–31

  • Felser M (2005) Real-time Ethernet: industry prospective. Proc IEEE 93(6):1118–1129

    Article  Google Scholar 

  • Garner GM, Feng F, den Hollander K, Jeong K, Kim B, Lee BJ, Jung TC, Joung J (2007) IEEE 802.1 AVB and its application in carrier-grade Ethernet [standards topics]. IEEE Commun Mag 45(12):126–134

    Article  Google Scholar 

  • GmbH RB (1991) CAN Specification version 2.0. Postfach 30 02 40, D-70442 Stuttgart

  • IEEE Standard for Local and Metropolitan Area Networks–Virtual Bridged Local Area Networks-Amendment: Forwarding and Queuing Enhancements for Time-Sensitive Streams (2009). http://www.ieee802.org/1/pages/802.1av.html

  • IEEE Standard for Local and Metropolitan Area Networks–Virtual Bridged Local Area Networks-Amendment: 9: Stream Reservation Protocol (SRP) (2010). http://www.ieee802.org/1/pages/802.1at.html

  • IEEE Standard for Local and Metropolitan Area Networks—Audio/Video Bridging (AVB) Systems (2011a). http://www.ieee802.org/1/pages/802.1ba.html

  • IEEE Standard for Local and Metropolitan Area Networks—Timing and Synchronization for Time-Sensitive Applications in Bridged Local Area Networks Amendment: Enhancements and Performance Improvements (2011b). http://www.ieee802.org/1/pages/802.1asbt.html

  • IEEE Standard for Ethernet 802.3-2012 (2012). IEEE Std 1516-2000 pp 1–3747. doi:10.1109/IEEESTD.2012.6419735

  • Imtiaz J, Jasperneite J, Han L (2009) A performance study of Ethernet Audio Video Bridging (AVB) for industrial real-time communication. In: Proceedings of the 14th IEEE international conference on Emerging technologies & factory automation, IEEE Press, pp 1133–1140

  • INET Framework. https://inet.omnetpp.org/

  • Kemayo G, Ridouard F, Bauer H, Richard P (2013a) Optimism due to serialization in the trajectory approach for switched Ethernet networks. In: Proceedings of international conference on junior researcher workshop on real-time computing (JRWRTC), Sophia Antipolis, pp 13–16

  • Kemayo G, Ridouard F, Bauer H, Richard P (2013b) Optimistic problem in the trajectory approach in FIFO context. In: Proceedings of IEEE international conference on emerging technologies and factory automation (ETFA), pp 1–8

  • Kopetz H, Ademaj A, Grillinger P, Steinhammer K (2005) The Time-Triggered Ethernet (TTE) design. In: Proceedings of IEEE international symposium on object-oriented real-time distributed computing (ISORC), pp 22–33

  • Li X, Cros O, George L (2014) The Trajectory approach for AFDX FIFO networks revisited and corrected. In: IEEE 20th international conference on embedded and real-time computing systems and applications (RTCSA)

  • Lim HK, Völker L, Herrscher D (2011) Challenges in a future IP/Ethernet-based in-car network for real-time applications. In: Proceedings of the 48th design automation conference, ACM, pp 7–12

  • Lim HT, Herrscher D, Chaari F (2012) Performance comparison of IEEE 802.1Q and IEEE 802.1 AVB in an Ethernet-based in-vehicle network. In: 8th International conference on, computing technology and information management (ICCM), vol 1, pp 1–6

  • Martin S, Minet P (2006a) Schedulability analysis of flows scheduled with FIFO: application to the expedited forwarding class. In: Proceedings of IEEE international parallel and distributed processing symposium (IPDPS), Rhodes Island, p 8

  • Martin S, Minet P (2006b) Worst case end-to-end response times of flows scheduled with FP/FIFO. In: Proceedings of international conference on networking, Mauritius, pp 54–60

  • Martin S, Minet P, George L (2005) End-to-end response time with fixed priority scheduling: trajectory approach versus holistic approach. Int J Commun Syst 18(1):37–56

    Article  Google Scholar 

  • Martin S, Minet P, George L (2006) The Trajectory approach for the end-to-end response times with non-preemptive FP/EDF*. In: Software engineering research and applications, Springer, Berlin, pp 229–247

  • Meyer P, Steinbach T, Korf F, Schmidt TC (2013) Extending IEEE 802.1 AVB with time-triggered scheduling: a simulation study of the coexistence of synchronous and asynchronous traffic. In: 2013 IEEE vehicular networking conference (VNC), IEEE Press, Piscataway, pp 47–54. doi:10.1109/VNC.2013.6737589

  • Navet N, Song Y, Simonot-Lion F, Wilwert C (2005) Trends in automotive communication systems. Proc IEEE 93:1204–1223

    Article  Google Scholar 

  • OMNeT++ 4.6 (2014). https://omnetpp.org/

  • Reimann F, Graf S, Streit F, Glas M, Teich J (2013) Timing analysis of Ethernet AVB-based automotive E/E architectures. In: IEEE 18th conference on emerging technologies & factory automation (ETFA), pp 1–8

  • Song Y, Koubaa A, Simonot F (2002) Switched Ethernet for real-time industrial communication: modelling and message buffering delay evaluation. In: Proceedings of IEEE international workshop on factory communication systems, pp 27–35

  • Steinbach T, Kenfack HD, Korf F, Schmidt TC (2011) An extension of the OMNeT++ INET framework for simulating real-time Ethernet with high accuracy. In: Proceedings of the 4th international ICST conference on simulation tools and techniques, ICST (Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering), pp 375–382

  • Steinbach T, Lim HK, 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: IEEE vehicular technology conference (VTC Fall), pp 1–5

  • Steiner W (2008) TTEthernet specification. TTTech Computertechnik AG, Nov

  • Steiner W, Bauer G (2009) TTEthernet dataflow concept. In: Network computing and applications, NCA, pp 319–322

  • Tindell K, Clark J (1994) Holistic schedulability analysis for distributed hard real-time systems. Microprocess Microprogram 40(2):117–134

    Article  Google Scholar 

Download references

Acknowledgements

The authors would like to thank Rolf Ernst and Daniel Thiele for providing their simulation configuration files of paper Diemer et al. (2012b) that we used to compute the worst-case delay upper bounds obtained with our TA approach as well as Amir Aminifar and Till Steinbach for interesting exchanges and fruitful discussions.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Xiaoting Li.

Appendices

Appendix

Appendix 1: Review and illustration of classical TA

In the following paragraphs, a detailed review from Term (2) to Term (8) of classical TA with FP/FIFO scheduling policy is given. Moreover, an example is studied in order to illustrate how to apply this approach.

Term (2) represents the delay caused by higher-priority flows. According to the FP scheduling, a frame \(f_{j}\) of flow \(\tau _{j}\) (\(j\in high_{i}\)) can interfere frame \(f_{i}\) along the part of path \(\{first_{i,j},\ldots ,last_{i,j}\}\) if it arrives at the output port \(first_{i,j}\) no earlier than the time \(M_{i}^{first_{i,j}}\), the earliest start time of the busy period of frame \(f_{i}\) at the first shared output port \(first_{i,j}\), and leaves the path \(\mathcal {P}_{i}\) at the output port \(last_{i,j}\) no later than the time \(W_{i,t}^{last_{i,j}}\), the latest start time of transmission of frame \(f_{i}\) at the last shared output port \(last_{i,j}\). Therefore, any frame \(f_{j}\) of flow \(\tau _{j}\) arriving at the output ports \(\{first_{i,j},\ldots ,last_{i,j}\}\) during the time interval \([M_{i}^{first_{i,j}},W_{i,t}^{last_{i,j}}]\) could delay frame \(f_{i}\).

In order to maximize the number of frames of flow \(\tau _{j}\) delaying frame \(f_{i}\), we consider that the first frame of flow \(\tau _{j}\) arrives at the first shared output port \(first_{i,j}\) at time \(M_{i}^{first_{i,j}}\) and that it experiences a maximum delay \(S_{max_{j}}^{first_{i,j}}\) from its source output port \(first_{j}\) till its arrival at the output port \(first_{i,j}\). The following frames of flow \(\tau _{j}\) arrive with a minimum delay in order to have the most intensive workload. The last one arrives at the last shared output port \(last_{i,j}\) with a minimum delay \(S_{min_{j}}^{last_{i,j}}\) before time \(W_{i,t}^{last_{i,j}}\). Therefore, the maximum jitter between frame arrivals of flow \(\tau _{j}\) during the time interval \([M_{i}^{first_{i,j}},W_{i,t}^{last_{i,j}}]\) is bounded by \((S_{max_{j}}^{first_{i,j}}-S_{min_{j}}^{last_{i,j}})\).

Hence, the maximum number of frames of flow \(\tau _{j}\) delaying frame \(f_{i}\) is computed by the following term:

$$\begin{aligned}&\left( 1+\left\lfloor \frac{W_{i,t}^{last_{i,j}}- M_{i}^{first_{i,j}} +S_{max_{j}}^{first_{i,j}}-S_{min_{j}}^{last_{i,j}}}{T_{j}}\right\rfloor \right) ^{+} \\= & {} \left( 1+\left\lfloor \frac{W_{i,t}^{last_{i,j}}-S_{min_{j}}^{last_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+} \end{aligned}$$

Consequently, the delay introduced by higher-priority flows is upper bounded by Term (2).

Term (3) represents the delay introduced by flows of same priority which are scheduled by FIFO scheduling policy. Any frame \(f_{j}\) of flow \(\tau _{j}\) (\(j\in same_{i}\)) can delay frame \(f_{i}\) if it arrives at the output port \(first_{i,j}\) no earlier than time \(M_{i}^{first_{i,j}}\), and no later than time \(t+S_{max_{i}}^{first_{i,j}}\), the latest arrival time of frame \(f_{i}\) at the output port \(first_{i,j}\). Due to FIFO scheduling, a frame \(f_{j}\) can delay frame \(f_{i}\) only once at the output port \(first_{i,j}\), and it cannot delay frame \(f_{i}\) again during the following shared output ports (if any). The maximum jitter of frame arrivals of flow \(\tau _{j}\) during the time interval \([M_{i}^{first_{i,j}},t+S_{max_{i}}^{first_{i,j}}]\) is then upper bounded by \((S_{max_{j}}^{first_{i,j}}-S_{min_{j}}^{first_{i,j}})\), leading to a maximized number of frames of flow \(\tau _{j}\) delaying frame \(f_{i}\):

$$\begin{aligned}&\left( 1+\left\lfloor \frac{t+S_{max_{i}}^{first_{i,j}}- M_{i}^{first_{i,j}} +S_{max_{j}}^{first_{i,j}}-S_{min_{j}}^{first_{i,j}}}{T_{j}}\right\rfloor \right) ^{+} \\= & {} \left( 1+\left\lfloor \frac{t+S_{max_{i}}^{first_{i,j}}-S_{min_{j}}^{first_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+} \end{aligned}$$

Consequently, the delay introduced by flows of same priority is upper bounded by Term (3).

Term (4) represents the transmission delay of a frame sequence including frame \(f_{i}\) on a link in the path \(\mathcal {P}_{i}\). Frames transmitted one by one on a link compose a frame sequence. The transmission delay of a frame sequence from one output port to the following one is maximized by the transmission time of the largest frame in the sequence.

Term (5) corresponds to the sum of switching latencies along the path \(\mathcal {P}_{i}\), considered as an upper bounded constant. Frame \(f_{i}\) encounters a switching latency sl at each visited switch. Therefore, the induced latency along the path \(\mathcal {P}_{i}\) is upper bounded by the value of sl multiplied by the number of encountered switches \((|\mathcal {P}_{i}|-1)\).

Term (6) corresponds to the maximum delay caused by lower-priority flows due to non-preemptive frame transmissions. At each output port h along the path \(\mathcal {P}_{i}\), the maximum non-preemptive delay is maximized by the transmission time of the largest lower-priority frame which newly joins the output port h along the path \(\mathcal {P}_{i}\).

Term (7) refers to the fact that frames transmitted by the same input port are serialized and cannot arrive at one output port at the same time. As a result, some frames transmitted by an input port other than the one carrying frame \(f_{i}\) do not always delay frame \(f_{i}\) at its output port.

This physical constraint is called frame serialization and has been integrated in the TA in Bauer et al. (2012) and Li et al. (2014). Some details about the calculation of the serialization term \(\Delta _{i,t}^{h}\) are recalled in Sect. 5.1.

Term (8) is subtracted since \(W_{i,t}^{last_{i}}\) is the start time of frame \(f_{i}\) transmission at output port \(last_i\).

The classical TA for FP/FIFO scheduling is illustrated on the example in Fig. 2. The temporal parameters of each flow are given in Table 4. For simplicity reasons, we consider that the switching latency in the example is null, e.g. \(sl=0\).

Table 4 Flow temporal parameters of a switched Ethernet network example

Let us focus on a frame \(f_{1}\) of flow \(\tau _{1}\) generated at time \(t=0\ \upmu {\text {s}}\). Based on the priorities given in Table 4, three flow index sets for flow \(\tau _{1}\) are classified: \(high_{1}=\{4\}\), \(same_{1}=\{1,2,3\}\) and \(low_{1}=\{5\}\). Flow \(\tau _{6}\) does not directly delay flow \(\tau _{1}\), but it does have an indirect influence on flow \(\tau _{1}\) since it can delay flow \(\tau _{2}\) and flow \(\tau _{3}\) which delay flow \(\tau _{1}\) at the output port \(S_{11}\). A corresponding scenario is depicted in Fig. 20.

Fig. 20
figure 20

The scenario of frame \(f_{1}\) generated at time \(t=0\) with FP/FIFO

Since flow \(\tau _{1}\) is the only flow transmitted from \(ECU_{1}\), at the output port \(S_{11}\) we have \(M_{1}^{S_{11}}=C_{1}+sl=40\ \upmu {\text {s}}\) and \(t+S_{max_{1}}^{S_{11}}=t+C_{1}+sl=40\ \upmu {\text {s}}\). Flow \(\tau _{2}\) competes with flow \(\tau _{1}\) for the output port \(S_{11}\), i.e. \(first_{1,2}=S_{11}\). A frame \(f_{2}\) of flow \(\tau _{2}\) can be delayed by a frame of flow \(\tau _{3}\) and a frame of flow \(\tau _{6}\) (non-preemptive frame transmission) at the output port \(S_{31}\), and therefore we have \(S_{max_{2}}^{S_{11}}=240\ \upmu {\text {s}}\) and \(S_{min_{2}}^{S_{11}}=80\ \upmu {\text {s}}\), leading to \(A_{1,2} = S_{max_{2}}^{S_{11}} - M_{1}^{S_{11}}=200\ \upmu {\text {s}}\). According to Term (3), the delay of flow \(\tau _{1}\) introduced by flow \(\tau _{2}\) is then bounded by the following term:

$$\begin{aligned}&\left( 1+\left\lfloor \frac{t+S_{max_{1}}^{S_{11}}-S_{min_{2}}^{S_{11}}+A_{1,2}}{T_{2}}\right\rfloor \right) ^{+}\cdot C_{2} = \left( 1+\left\lfloor \frac{0+40-80+200}{2000}\right\rfloor \right) ^{+}\cdot 40\\&\quad = 40\ \upmu {\text {s}} \end{aligned}$$

Similarly, the delays introduced by flow \(\tau _{3}\) as well as by flow \(\tau _{1}\) itself are equal to 40 and \(40\ \upmu {\text {s}}\) respectively.

Flow \(\tau _{4}\) is a higher-priority flow which delays flow \(\tau _{1}\) at the output port \(first_{1,4}=last_{1,4}=S_{21}\). Based on the TA, we have \(M_{1}^{S_{21}}=80\ \upmu {\text {s}}\). The delay introduced by flow \(\tau _{4}\) can then be iteratively computed by Term (2) with \(S_{max_{4}}^{S_{21}}=S_{min_{4}}^{S_{21}}=40\ \upmu {\text {s}}\) and \(W_{1,t=0}^{S_{21}}=200\ \upmu {\text {s}}\), leading to \(A_{1,4}=-40\ \upmu {\text {s}}\). The computation is as follows:

$$\begin{aligned} \left( 1+\left\lfloor \frac{W_{1,t=0}^{S_{21}}-S_{min_{4}}^{S_{21}}+A_{1,4}}{T_{4}}\right\rfloor \right) ^{+}\cdot C_{4} =\left( 1+\left\lfloor \frac{200-40-40}{160}\right\rfloor \right) ^{+}\cdot 40 = 40\ \upmu {\text {s}} \end{aligned}$$

The introduced delay (including \(\tau _1\)) caused by both higher-priority flow \(\tau _4\) and same-priority flows \(\tau _{1}\), \(\tau _2\) and \(\tau _3\) is \(40+40+40+40=160\ \upmu {\text {s}}\) which is represented by striped bars in Fig. 20.

Term (4) computes the transmission delay along the path (except the \(last_{1}\)) which is \(80\ \upmu {\text {s}}\), marked by shadowed bars in Fig. 20. Term (5) is the sum of switching latencies which is 0 in the example since \(sl = 0\). Term (6) is the non-preemptive delay \(\delta _{1}^{S_{21}}=C_{5}=40\ \upmu {\text {s}}\) introduced by frame \(f_{5}\) of the only lower-priority flow \(\tau _{5}\) delaying frame \(f_{1}\) at the output port \(S_{21}\). This delay is also illustrated in Fig. 20. Term (7) is the serialization term. Actually, since frame \(f_{2}\) and frame \(f_{3}\) are transmitted by the same input port of switch \(S_{1}\), they cannot arrive at the output port \(S_{11}\) at the same time. As a result, only one frame can delay frame \(f_{1}\), corresponding to frame \(f_{2}\) in Fig. 20. Then the transmission of frame \(f_{3}\) does not delay frame \(f_{1}\). It is the serialization term \(\Delta _{1,t=0}^{S_{11}}=C_{3}=40\ \upmu {\text {s}}\) which should be subtracted from the delay computation. Term (8) is the subtracted transmission time of frame \(f_{1}\), i.e. \(C_{1}=40\ \upmu {\text {s}}\).

Consequently, for frame \(f_{1}\) generated at time \(t=0\), the latest start time of its transmission at the output port \(S_{21}\) is bounded by \(W_{1,t=0}^{S_{21}}=160+80+40-40-40=200\ \upmu {\text {s}}\). The maximum delay of frame \(f_{1}\) of scenario \(t=0\) is then computed by the following equation:

$$\begin{aligned} R_{1}(t=0)=W_{1,t=0}^{S_{21}}+C_{1}-t=240\ \upmu {\text {s}} \end{aligned}$$
Fig. 21
figure 21

The scenario of frame \(f_{1}\) generated at time \(t=40\) with FP/FIFO

In order to obtain the maximum end-to-end transmission delay of flow \(\tau _{1}\), Eq. (1) verifies all possible values of t. Indeed, each value of t corresponds to a possible scenario. Hence the fact that the worst-case scenario is unknown requires to check all possible values of t. In this example, the maximum delay \(R_{1}\) is not obtained when \(t=0\). Consider the scenario of \(t=40\ \upmu {\text {s}}\) which leads to one more frame \(f_{4}^{'}\) of flow \(\tau _{4}\) delaying frame \(f_{1}\) at the output port \(S_{21}\), as illustrated in Fig. 21. The delay introduced by flow \(\tau _{4}\) is therefore computed as follows:

$$\begin{aligned} \left( 1+\left\lfloor \frac{W_{1,t=40}^{S_{21}}-S_{min_{4}}^{S_{21}}+A_{1,4}}{T_{4}}\right\rfloor \right) ^{+}\cdot C_{4}=\left( 1+\left\lfloor \frac{280-40-40}{160}\right\rfloor \right) ^{+}\cdot 40 = 80\ \upmu {\text {s}} \end{aligned}$$

which leads to \(R_{1}(t=40)=W_{1,t=40}^{S_{21}}+C_{1}-t=280\ \upmu {\text {s}} \) .

Therefore, we find the worst-case end-to-end delay by computing \(W_{1,t}^{S_{21}}\) for all possible values of t. In this example, the maximum delay of flow \(\tau _{1}\) is \(R_{1}=280\ \upmu {\text {s}}\) obtained when \(t=40\ \upmu {\text {s}}\).

Appendix 2: Proof of Lemma 1

A class A frame \(f_{i}\) of flow \(\tau _{i}\) can experience negative initial credit at an output port h if there is another class A frame \(f_{j}\) which just finishes its transmission when frame \(f_{i}\) arrives. The negative initial credit is maximized by considering that frame \(f_{j}\) is the largest class A frame transmitted at this output port. This scenario is illustrated in Fig. 22 where \(loC_{A}^{h}\) represents the maximum negative credit of class A at the output port h computed by the following equation:

$$\begin{aligned} loC_{A}^{h} = -C_{A_{max}}^{h} \cdot \alpha _{A}^{-}(h) \left( C_{A_{max}}^{h}=\max _{\mathop {h\in \mathcal {P}_{j}}\limits ^{j\in classA}} C_{j}\right) \end{aligned}$$
Fig. 22
figure 22

Illustration of \(loC_{A}^{h}\)

The negative initial credit introduces a delay at the output port h, denoted \(I_{A_{init}}^{h}\), due to the credit replenishing time imposed by the AVB CBSA. This delay depends on the maximum negative initial credit as well as on the IdleSlope, and it is then upper bounded by the following equation:

$$\begin{aligned} I_{A_{init}}^{h} = \frac{-loC_{A}^{h}}{\alpha _{A}^{+}(h)} = C_{A_{max}}^{h}\cdot \frac{\alpha _{A}^{-}(h)}{\alpha _{A}^{+}(h)} \end{aligned}$$
(49)

The scenario considering that frame \(f_{i}\) under analysis encounters maximum negative credit at each output port along the path is actually pessimistic. Therefore, we prove with Lemma 1 that the worst-case scenario along a path can always be found when we consider zero initial credit for a given AVB class X flow at each visited output port h.

Proof

We first examine the cases for class A and class B, and at the end of the proof we show the case for class C. The worst-case scenario happens when a class \(X\in \{A,B\}\) frame \(f_{i}\) of flow \(\tau _{i}\) is generated at time \(t_{1}\) and encounters a maximum negative initial credit at an output port h along its path \(\mathcal {P}_{i}\). According to the TA, all interference frames arriving at the output port during the interval \([M_{i}^{h},t_{1}+S_{max_{i}}^{h}]\) contribute to the computation of \(W_{i,t_{1}}^{last_{i}}\). Suppose that there are k frames of a class X flow \(\tau _{j}\) arriving during the interfering interval. If there is an interference class X frame \(f_{j}\) with transmission time of \(C_{j}=\max _{\mathop {h\in \mathcal {P}_{l}}\limits ^{l\in classX}}C_{l}\) arriving at time \(M_{i}^{h}-C_{j}\) at the output port h, then frame \(f_{i}\) encounters a maximum initial delay of \(I_{X_{init}}^{h}\) at the output port h.

Therefore, we have:

$$\begin{aligned} t_{1}+S_{max_{i}}^{h}-M_{i}^{h}+C_{j}&= k\cdot T_{j}- \left( S_{max_{j}}^{h} - S_{min_{j}}^{h}\right) \\ t_{1}+S_{max_{i}}^{h}-S_{min_{j}}^{h}+A_{i,j}&= k\cdot T_{j}- C_{j} \end{aligned}$$

Frame \(f_{i}\) encounters zero initial credit at other output ports along the path. We denote \(R_{i}(t_{1})\) as the worst-case delay upper bound of frame \(f_{i}\) generated at time \(t_{1}\). Therefore, according to the TA, the worst-case delay upper bound of frame \(f_{i}\) is computed by the following equation:

$$\begin{aligned} R_{i}(t_{1})=W_{i,t_{1}}^{last_{i}}+ I_{X_{init}}^{h} -t_{1} \end{aligned}$$

Suppose another scenario considering that frame \(f_{i}\) is generated at time \(t_{2}=t_{1}+C_{j}\). Then, all interference frames arriving at output port h (\(h\in \mathcal {P}_{i}\)) during the interval \([M_{i}^{h},t_{2}+S_{max_{i}}^{h}]\) contribute to the computation of \(W_{i,t_{2}}^{last_{i}}\). According to the TA, the delay introduced by the frames of flow \(\tau _{j}\) is bounded by the following equation:

$$\begin{aligned}&\left( 1+\left\lfloor \frac{t_{2}+S_{max_{i}}^{h}-S_{min_{j}}^{h}+A_{i,j}}{T_{j}}\right\rfloor \right) \cdot C_{j}\cdot \left( 1+\frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\right) \\ =&\left( 1+\left\lfloor \frac{t_{1}+S_{max_{i}}^{h}-S_{min_{j}}^{h}+A_{i,j}+C_{j}}{T_{j}}\right\rfloor \right) \cdot C_{j}\cdot \left( 1+\frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\right) \\ =&\left( 1+\left\lfloor \frac{k\cdot T_{j}- C_{j}+C_{j}}{T_{j}}\right\rfloor \right) \cdot C_{j}\cdot \left( 1+\frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\right) \\ =&\left( 1+\left\lfloor \frac{k\cdot T_{j}}{T_{j}}\right\rfloor \right) \cdot C_{j}\cdot \left( 1+\frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\right) \\ =&\left( k+1\right) \cdot C_{j}\cdot \left( 1+\frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\right) \end{aligned}$$

Compared to the scenario where flow \(\tau _{i}\) is generated at time \(t_{1}\) in which there are k interference frames of flow \(\tau _{j}\), the scenario where flow \(\tau _{i}\) is generated at \(t_{2}\) introduces at least one more frame of flow \(\tau _{j}\), leading to the following inequality:

$$\begin{aligned} W_{i,t_{2}}^{last_{i}} \ge W_{i,t_{1}}^{last_{i}}+ C_{j}\cdot \left( 1+\frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\right) \end{aligned}$$

which results in the following inequality:

$$\begin{aligned} R_{i}(t_{2})= & {} W_{i,t_{2}}^{last_{i}} - t_{2} \\\ge & {} W_{i,t_{1}}^{last_{i}}+ C_{j}\cdot \left( 1+\frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\right) -(t_{1}+C_{j})\\= & {} W_{i,t_{1}}^{last_{i}}-t_{1} +C_{j}\cdot \frac{\alpha _{X}^{-}(h)}{\alpha _{X}^{+}(h)}\\= & {} W_{i,t_{1}}^{last_{i}}-t_{1} + I_{X_{init}}^{h}\\= & {} R_{i}(t_{1}) \end{aligned}$$

If \(R_{i}(t_{2})= R_{i}(t_{1})\), it means that the scenario where flow \(\tau _{i}\) is generated at \(t_{2}\) is an equivalent worst-case scenario for frame \(f_{1}\) in which the initial credit is zero. If \(R_{i}(t_{2})> R_{i}(t_{1})\), it means that the scenario of \(t_{1}\) is not the worst-case scenario which contradicts the assumption. Therefore, the worst-case scenario can be found when the initial credit is zero at all the output ports. This conclusion can be generalized to the scenario when frame \(f_{i}\) encounters negative credit at n (\(n>1\)) output ports.

Since class C frames are not constrained by the traffic shaper, the initial credit of class C is always \(I_{C_{init}}^{h}=0\). \(\square \)

Appendix 3: Computation of \(\mathcal {B}_{i}\)

Consider a frame \(f_{i}\) of flow \(\tau _{i}\) generated at time t. The delay upper bound of frame \(f_{i}\) is computed by the following equation:

$$\begin{aligned} R_{i}=\max _{0\le t\le \mathcal {B}_{i}} R_{i}(t) \end{aligned}$$

with

$$\begin{aligned} \mathcal {B}_{i} = \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} \cdot \left( 1+\left( \max _{h\in \mathcal {P}_{i}\cap \mathcal {P}_{j}}\frac{\alpha _{B}^{-}(h)}{\alpha _{B}^{+}(h)}\right) \right) \end{aligned}$$

Our goal is to find a value of \(\mathcal {B}_{i}\) which for all values of \(0\le t\le \mathcal {B}_{i}\) satisfies:

$$\begin{aligned} R_{i}(t+\mathcal {B}_{i})&\le R_{i}(t) \qquad \qquad {\mathrm{(I)}} \end{aligned}$$

Since \(R_{i}(t)=W_{i,t}^{last_{i}}-t+C_{i}\), inequality (I) becomes:

$$\begin{aligned} W_{i,t+\mathcal {B}_{i}}^{last_{i}}-(t+\mathcal {B}_{i})+C_{i}&\le W_{i,t}^{last_{i}}-t+C_{i} \\ W_{i,t+\mathcal {B}_{i}}^{last_{i}}-\mathcal {B}_{i}&\le W_{i,t}^{last_{i}} \\ W_{i,t+\mathcal {B}_{i}}^{last_{i}}- W_{i,t}^{last_{i}}&\le \mathcal {B}_{i} \qquad \qquad {\mathrm{(II)}} \end{aligned}$$

In following paragraphs, the computation of \(\mathcal {B}_{i}\) of flow \(\tau _{i}\) belonging to AVB SR class B is first developed.

For any positive real number a and b, we have:

$$\begin{aligned} \lfloor a+b \rfloor \le \lfloor a \rfloor + \lceil b \rceil \end{aligned}$$

For simplicity reasons, we transform Eq. (21) for class B as follows:

$$\begin{aligned} W_{i,t}^{last_{i}} \nonumber= & {} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left( 1+\left\lfloor \frac{W_{i,t}^{last_{i,j}}-S_{min_{j}}^{last_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+}\cdot C_{j} \nonumber \\&+ \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left( 1+\left\lfloor \frac{t+S_{max_{i}}^{first_{i,j}}-S_{min_{j}}^{first_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+}\cdot C_{j} \cdot F(i,j)\nonumber \\&+ K \end{aligned}$$
(50)

with:

$$\begin{aligned} K = \sum _{h\in \mathcal {P}_{i} \ \{last_{i}\}}(\max _{\mathop {h\in \mathcal {P}_{j}}\limits ^{j\in \{1,2,\ldots ,n\}}}(C_{j})) + (|\mathcal {P}_{i}|-1)\cdot sl + D_{lp^{B}}(i) -C_{i}\cdot \left( 1+\left( \max _{h\in \mathcal {P}_{i}}\frac{\alpha _{B}^{-}(h)}{\alpha _{B}^{+}(h)}\right) \right) \end{aligned}$$

and:

$$\begin{aligned} F(i,j)=\left( 1+\left( \max _{h\in \mathcal {P}_{i}\cap \mathcal {P}_{j}}\frac{\alpha _{B}^{-}(h)}{\alpha _{B}^{+}(h)}\right) \right) \end{aligned}$$

Therefore, we deduce the following inequality:

$$\begin{aligned} W_{i,t+\mathcal {B}_{i}}^{last_{i}} \nonumber= & {} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left( 1+\left\lfloor \frac{W_{i,t+\mathcal {B}_{i}}^{last_{i,j}}-S_{min_{j}}^{last_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+}\cdot C_{j} \\&+ \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left( 1+\left\lfloor \frac{t+\mathcal {B}_{i}+S_{max_{i}}^{first_{i,j}}-S_{min_{j}}^{first_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+}\cdot C_{j} \cdot F(i,j)\\&+ K\\= & {} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left( 1+\left\lfloor \frac{W_{i,t+\mathcal {B}_{i}}^{last_{i,j}}-W_{i,t}^{last_{i,j}}+W_{i,t}^{last_{i,j}}-S_{min_{j}}^{last_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+}\cdot C_{j} \\&+ \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left( 1+\left\lfloor \frac{t+\mathcal {B}_{i}+S_{max_{i}}^{first_{i,j}}-S_{min_{j}}^{first_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+}\cdot C_{j} \cdot F(i,j)\\&+ K\\\le & {} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{W_{i,t+\mathcal {B}_{i}}^{last_{i,j}}-W_{i,t}^{last_{i,j}}}{T_{j}}\right\rceil \cdot C_{j} \\&+ \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left( 1+\left\lfloor \frac{W_{i,t}^{last_{i,j}}-S_{min_{j}}^{last_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+}\cdot C_{j} \\&+ \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left( 1+\left\lfloor \frac{t+S_{max_{i}}^{first_{i,j}}-S_{min_{j}}^{first_{i,j}}+A_{i,j}}{T_{j}}\right\rfloor \right) ^{+}\cdot C_{j} \cdot F(i,j)\\&+\, \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j)\\&+\, K\\= & {} W_{i,t}^{last_{i}} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{W_{i,t+\mathcal {B}_{i}}^{last_{i,j}}-W_{i,t}^{last_{i,j}}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j) \end{aligned}$$

Moving the part \(W_{i,t}^{last_{i}}\) from the right of the inequality above to the left leads to the following inequality:

$$\begin{aligned} W_{i,t+\mathcal {B}_{i}}^{last_{i}} - W_{i,t}^{last_{i}}\le & {} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{W_{i,t+\mathcal {B}_{i}}^{last_{i,j}}-W_{i,t}^{last_{i,j}}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j) \end{aligned}$$

In order to satisfy inequality (II), it suffices to find a \(\mathcal {B}_{i}\) satisfying the following inequality (III):

$$\begin{aligned} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{W_{i,t+\mathcal {B}_{i}}^{last_{i,j}}-W_{i,t}^{last_{i,j}}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j)&\le \mathcal {B}_{i} \qquad \qquad \mathrm{{(III)}} \end{aligned}$$

Since the \(\mathcal {B}_{i}\) should satisfy inequality (II), we deduce the following inequality from the left part of inequality (III):

$$\begin{aligned}&\sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{W_{i,t+\mathcal {B}_{i}}^{last_{i,j}}-W_{i,t}^{last_{i,j}}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j) \\ \le&\sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j) \end{aligned}$$

Therefore, if \(\mathcal {B}_{i}\) is calculated by the following equation:

$$\begin{aligned} \mathcal {B}_{i} = \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j) \end{aligned}$$

then, \(\mathcal {B}_{i}\) satisfies inequality (III) therefore satisfying inequality (II) and inequality (I).

Since the computation of \(\mathcal {B}_{i}\) is iterative, it is conducted in the following way:

$$\begin{aligned} \mathcal {B}_{i}^{k+1} = \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{\mathcal {B}_{i}^{k}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}^{k}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j) \end{aligned}$$

with the initial value of \(\mathcal {B}_{i}^{0}=1\). The computation stops when \(\mathcal {B}_{i}^{k+1}=\mathcal {B}_{i}^{k}\).

In the following paragraphs, we prove the convergence \(\mathcal {B}_{i}^{k}\).

Proof

\(\mathcal {B}_{i}\) is a monotonic increasing function. According to the monotone convergence theorem if \(\mathcal {B}_{i}^{k}\) is bounded and is increasing then it is convergent.

We now prove by induction that \(\mathcal {B}_{i}^{k}\) is bounded.

Let L be the least common multiple (lcm) of the periods of all flows transmitted in the network, i.e. \(L=lcm(\{T_{i}|i\in \{1,2,\ldots ,,n\}\})\).

Since \(\mathcal {B}_{i}^{0}=1\), then \(\mathcal {B}_{i}^{0}\le L\). Suppose that for \(k>0\), \(\mathcal {B}_{i}^{k}\le L\), then we have the following computation:

$$\begin{aligned} \mathcal {B}_{i}^{k+1} \nonumber= & {} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{\mathcal {B}_{i}^{k}}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{\mathcal {B}_{i}^{k}}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j) \\\le & {} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\left\lceil \frac{L}{T_{j}}\right\rceil \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\left\lceil \frac{L}{T_{j}}\right\rceil \cdot C_{j} \cdot F(i,j) \end{aligned}$$

Since L is the multiple of all periods \(T_{i}\) (\(i\in \{1,2,\ldots ,n\}\)), then \(\lceil \frac{L}{T_{i}}\rceil =\frac{L}{T_{i}}\), leading to the following result:

$$\begin{aligned} \mathcal {B}_{i}^{k+1} \nonumber\le & {} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\frac{L}{T_{j}} \cdot C_{j} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\frac{L}{T_{j}}\cdot C_{j} \cdot F(i,j) \\\le & {} \left( \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\frac{C_{j}}{T_{j}} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\frac{C_{j}}{T_{j}} \cdot F(i,j)\right) \cdot L \end{aligned}$$

Considering the constraint on global workload of network presented in Sect. 4.1.2, we have:

$$\begin{aligned} \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classA}}\frac{C_{j}}{T_{j}} + \sum _{\mathop {\mathcal {P}_{i}\cap \mathcal {P}_{j}\ne \emptyset }\limits ^{j\in classB}}\frac{C_{j}}{T_{j}} \cdot F(i,j)\le \sum _{classX \in \mathcal {S}_{class}} \sum _{i\in classX} \frac{C_{i}}{T_{i}}\cdot \left( 1+\frac{\alpha _{X}^{-}}{\alpha _{X}^{+}}\right) \le 1 \end{aligned}$$

where \(\mathcal {S}_{class}\) is the set of all flow classes.

Then \(\mathcal {B}_{i}^{k+1}\le L\).

Hence we have demonstrated by induction that \(\mathcal {B}_{i}^{k}\) is bounded by L. According to the monotone convergence theorem, \(\mathcal {B}_{i}^{k}\) is bounded and monotone (increasing) hence convergent. \(\mathcal {B}_{i}\) is then, for \(k\ge 0\), the first solution satisfying \(\mathcal {B}_{i}^{k+1}=\mathcal {B}_{i}^{k}=\mathcal {B}_{i}\). \(\square \)

Appendix 4: Illustration on overlap

In order to illustrate the overlap of the replenishing time of class X credit and the interference of higher-priority flows, consider the example in Fig. 23 where five flows compete for the same AVB switch output port h. Flows \(\tau _{1}\), \(\tau _{2}\) and \(\tau _{3}\) are class B flows and flows \(\tau _{4}\) and \(\tau _{5}\) are class A flows. Suppose that the frame transmission time \(C_{i}\) (\(i\in \{1,2,\dots ,5\}\)) of each flow \(\tau _{i}\) is the same. We focus on the delay of a frame \(f_{1}\) of flow \(\tau _{1}\) induced at the output port h.

Fig. 23
figure 23

Illustration on the overlap of replenishing time and the transmissions of higher-priority class frames

First, we consider the case when each flow \(\tau _{i}\) has a frame \(f_{i}\) arriving at the output port h at the same time. Then both the class A and the class B flows delay the studied frame \(f_{1}\). Since the class A frame \(f_{4}\) has a higher priority than class B frames, it is transmitted first as shown in Fig. 23. Then the class B frame \(f_{3}\) is delayed by frame \(f_{4}\), and therefore the class B credits accumulates during the transmission of frame \(f_{4}\). The accumulation (considered as a replenishing time ) is then overlapped with the transmission of frame \(f_{4}\). The frame \(f_{5}\) has to wait till the credit of class A (red line in Fig. 23) recovers to at least zero. Therefore, the class B frame \(f_{3}\) is transmitted after frame \(f_{4}\) and before frame \(f_{5}\). The class B frame \(f_{2}\) should wait till the credit of class B (blue line in Fig. 23) recovers to at least zero. Actually, this recovering time is also an overlap with the transmission of the class A frame \(f_{5}\). The transmission continues till the class B frame \(f_{1}\) is transmitted, as indicated in Fig. 23.

Now, we consider the case when the class B flows are transmitted without interference of class A flows. The scenario corresponds to the case when each class B flow has a frame arriving at the output port, while no class A frame arrives during the transmission of class B frames. In that case, the class B frames are transmitted in the order of FIFO with respect of CBSA, as shown in Fig. 23. Note that, the two cases lead to the same delay of frame \(f_{1}\) due to the fact that the transmissions of class A frames in the first case are actually covered by the replenishing time of class B credit. Therefore, computing independently the replenishing time and the interference of higher-priority flows could introduce pessimism.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Li, X., George, L. Deterministic delay analysis of AVB switched Ethernet networks using an extended Trajectory Approach. Real-Time Syst 53, 121–186 (2017). https://doi.org/10.1007/s11241-016-9260-5

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11241-016-9260-5

Keywords

Navigation