<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.39 (Ruby 3.2.11) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-wang-ring-load-aware-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="LAPM">Load-Adaptive Priority Migration Mechanism for Deterministic Switched Ethernet</title>

    <author initials="X." surname="Wang" fullname="Xingyuan Wang">
      <organization>Porsche Engineering and North China Electric Power University</organization>
      <address>
        <email>xingyuan.wang@porsche-engineering.cn</email>
      </address>
    </author>
    <author initials="T." surname="Zhang" fullname="Tiefeng Zhang">
      <organization>North China Electric Power University</organization>
      <address>
        <email>ncepuztf@126.com</email>
      </address>
    </author>

    <date year="2026" month="August" day="02"/>

    
    
    <keyword>network management</keyword> <keyword>queueing theory</keyword> <keyword>load-adaptive</keyword> <keyword>priority migration</keyword>

    <abstract>


<?line 81?>

<t>This document proposes a Load-Adaptive Priority Migration (LAPM) mechanism for deterministic switched Ethernet. The mechanism classifies traffic into three criticality levels (TC0/TC1/TC2), which are logically equivalent to the foundational classification of network slicing. An inverse M/D/1 queuing model is introduced to derive per-hop network utilization from measured forwarding delay, requiring no additional probe traffic. A four-level load classification scheme with hysteresis logic drives dynamic remapping of the IEEE 802.1Q Priority Code Point (PCP), enabling traffic priority to adapt as network load changes.</t>

<t>LAPM serves as a runtime complement to the scheduling framework defined by RFC 9320. Existing DetNet queuing mechanisms (TAS, CBS, CQF, Guaranteed Service) rely on statically pre-configured offline parameters, whereas LAPM monitors utilization in real time and adaptively adjusts PCP when load levels cross pre-defined thresholds. This capability is particularly critical for deployment scenarios with time-varying traffic patterns, including automotive backbone networks, industrial automation, and professional audio/video systems.</t>

<t>Experimental validation on a 5-node ring topology (1000BASE-T) across three traffic classes reveals the existence of three operationally distinct regions — normal, transitional, and saturated — where load bursts in the transitional region cannot be captured by the EWMA-smoothed utilization metric alone. A cross-domain maximum aggregation mechanism coordinates load-level decisions across multiple VLANs via a shared global variable, ensuring consistent priority migration policy enforcement.</t>

<t>In summary, the LAPM mechanism provides a means to guarantee low-latency transmission for critical flows through dynamic load-based priority control.</t>



    </abstract>



  </front>

  <middle>


<?line 93?>

<section anchor="introduction"><name>Introduction</name>

<section anchor="problem-statement-and-motivation"><name>Problem Statement and Motivation</name>

<t>The Deterministic Networking (DetNet) architecture <xref target="RFC8655"/> and its data plane framework <xref target="RFC8938"/> provide the foundation for delivering bounded-latency, zero-congestion-loss data flows over IP networks. <xref target="RFC9320"/> further establishes a methodology that uses queuing models and arrival curve analysis to compute end-to-end latency upper bounds.</t>

<t>However, existing DetNet queuing mechanisms — including Time-Aware Shaping (TAS), Credit-Based Shaping (CBS), Cyclic Queuing and Forwarding (CQF), and Guaranteed Service (GS) — collectively rely on a core assumption: <strong>scheduling parameters are pre-computed based on flow specifications established at flow setup time, and existing standards do not define mechanisms for adaptive parameter adjustment based on runtime load measurements</strong> <xref target="RFC9320"/>. While this assumption simplifies analysis and configuration, it introduces two practical limitations:</t>

<t><strong>(1) Lack of runtime load visibility</strong>. The forwarding plane lacks the ability to measure per-hop utilization without injecting explicit probe traffic. Probe traffic itself consumes bandwidth and introduces measurement bias, undermining the objectivity of measurement results.</t>

<t><strong>(2) Lack of dynamic priority adaptation</strong>. When actual traffic load exceeds the reserved envelope, low-criticality traffic cannot be gracefully degraded to protect high-criticality flows. The network falls into an "all-or-nothing" binary state — either operating normally or breaching all guarantees, with no smooth degradation gradient. This problem is logically equivalent to the rigid boundary dilemma of network slicing: resource allocation between slices is fixed at establishment time and cannot adaptively adjust as real-time load drifts.</t>

<t>The DetNet architecture (RFC 8655) allocates link bandwidth and buffer space for each flow through offline resource reservation, but reallocation of reserved resources is not permitted — unused reserved bandwidth can only be released to best-effort traffic (RFC 8578 Section 11.1.9), and cannot be transferred to other DetNet flows that also require deterministic guarantees. The 5G preemption mechanism (TS 38.213 PI/CI) reallocates resource blocks between URLLC and eMBB via control-plane signaling, with response times on the order of seconds. Together, these mechanisms reveal an architectural gap: <strong>at the L2 data plane, there exists no mechanism for real-time load-based adaptive priority migration capable of completing resource reallocation between deterministic flows within hundreds of milliseconds.</strong></t>

<t>The above limitations affect a broad class of deterministic network deployment scenarios: automotive Ethernet backbones carrying mixed-criticality traffic (control, sensing, media), and industrial automation networks with dynamically changing production schedules.</t>

<t>This document addresses both limitations simultaneously through a load-adaptive approach: (a) using an M/D/1 inverse formula to derive per-hop utilization from measured forwarding delay, completely eliminating probe traffic requirements; (b) designing a load level classification scheme that triggers PCP remapping when utilization crosses configurable thresholds. The method has been validated through simulation experiments on a 5-node Ethernet topology representing an automotive zone gateway architecture, but its applicability extends to any switched Ethernet topology with periodic token path traversal capability.</t>

</section>
<section anchor="main-contributions"><name>Main Contributions</name>

<t>This document makes the following contributions:</t>

<t><list style="symbols">
  <t><strong>M/D/1 Inverse Formula</strong>: A closed-form expression to derive per-hop utilization rho from measured queuing delay Tq, requiring no iteration. The formula supports reverse configuration based on delay requirements in different network environments, with clear physical meaning.</t>
  <t><strong>Three-Region Load Characterization</strong>: Three operationally distinct regions are identified in the M/D/1 inverse space (normal, transitional, saturated), where the underlying queuing distribution in the transitional region has undergone a qualitative change, yet the EWMA-smoothed utilization value remains nearly identical to the normal region.</t>
  <t><strong>Load Classification with Hysteresis</strong>: A four-level scheme (Green/Yellow/Orange/Red) is designed, where downgrade requires confirmation over 8 consecutive samples to prevent level oscillation, while maintaining fast response to load spikes.</t>
  <t><strong>Cross-Domain Maximum Aggregation</strong>: Load level decisions across multiple traffic domains are coordinated via a shared global variable, achieving consistent PCP migration policy enforcement.</t>
  <t><strong>Experimental Validation</strong>: Comprehensive four-phase load testing on a 5-node Gigabit Ethernet network, covering injection periods from 50 ms to 10 ms across 8 priority levels.</t>
</list></t>

</section>
<section anchor="scope"><name>Scope</name>

<t>This document specifies the following:</t>

<t><list style="symbols">
  <t>M/D/1 per-hop utilization inverse formula</t>
  <t>Three-level load classification scheme and hysteresis logic</t>
  <t>Cross-domain maximum aggregation mechanism</t>
  <t>Priority-aware PCP migration rules</t>
  <t>Dual-format tokenized measurement protocol</t>
</list></t>

<t>The mechanism targets IEEE 802.1Q switched Ethernet and has been validated in a discrete-event network simulation environment with a 5-node Ethernet topology (1 initiator + 4 forwarding nodes) across three VLAN domains.</t>

</section>
</section>
<section anchor="terminology-and-notation"><name>Terminology and Notation</name>

<texttable>
      <ttcol align='left'>Symbol</ttcol>
      <ttcol align='left'>Definition</ttcol>
      <c>rho</c>
      <c>Link utilization (0.0 ~ 1.0)</c>
      <c>Tq</c>
      <c>Queuing delay, i.e., measured hop delay minus fixed processing time</c>
      <c>Ts</c>
      <c>Calibratable service time parameter, determined via the fair-share calibration method. N channels equally share the port rate R, the reference load rate rho_ref = 1/N = 12.5%, Ts = 2<em>Tq</em>(1-rho_ref)/rho_ref = 14*Tq. Simulation environment calibrated value: 28000 microseconds (28 ms).</c>
      <c>T_fixed</c>
      <c>Fixed per-hop processing delay (calibrated baseline value)</c>
      <c>alpha</c>
      <c>EWMA smoothing factor (default 0.10, experimentally determined as optimal)</c>
      <c>PCP</c>
      <c>Priority Code Point (IEEE 802.1Q VLAN tag, 3 bits, 0~7)</c>
      <c>TC0/TC1/TC2</c>
      <c>Traffic classes by criticality (highest/medium/lowest)</c>
      <c>VLAN100/200/250</c>
      <c>VLAN mapping for TC0/TC1/TC2 in the reference topology</c>
</texttable>

<t>The key words "<strong>MUST</strong>", "<strong>MUST NOT</strong>", "<strong>REQUIRED</strong>", "<strong>SHALL</strong>", "<strong>SHALL NOT</strong>", "<strong>SHOULD</strong>", "<strong>SHOULD NOT</strong>", "<strong>RECOMMENDED</strong>", "<strong>NOT RECOMMENDED</strong>", "<strong>MAY</strong>", and "<strong>OPTIONAL</strong>" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>

</section>
<section anchor="protocol-operation"><name>Protocol Operation</name>

<section anchor="alive-heartbeat-broadcast-frame"><name>Alive Heartbeat Broadcast Frame</name>

<t>The Alive frame is a broadcast heartbeat message used for node liveness detection and load level summary synchronization. It <strong>MUST</strong> be broadcast once every T_Alive (200 ms) on each VLAN domain.</t>

<t><strong>Format</strong> (65 B total, 19 B payload):</t>

<t><spanx style="verb">
Byte 0:    Layer-1 node address (0x00-0xFF)
Byte 1:    Layer-2 node address (0x00-0xF, Bit 0: layer-1 node)
Byte 2:    Control byte (bit 7: Alive/Ring, bits 5~0: 0)
Bytes 3~6: Network phase map (node info, one bit per node)
Byte 7:    Protocol Version
Byte 8:    VLAN domain ID
Byte 9:    TTL
Byte 10:   Reserved
</spanx></t>

</section>
<section anchor="ring-chained-token-frame-dual-timestamp"><name>Ring Chained Token Frame (Dual Timestamp)</name>

<t>The Ring frame is a chained token frame, unicast hop-by-hop along the logical ring, used for per-hop delay measurement and load data collection. It <strong>MUST</strong> be sent by the initiator node once every T_Ring (200 ms), traversing all nodes along the ring before returning to the initiator.</t>

<t><list style="symbols">
  <t>Predecessor node timestamps for the next hop to compute Tq</t>
  <t>Per-hop timestamp history array (hop_ts + fwd_ts)</t>
  <t>Per-node load rate data array</t>
  <t>Ring control information (TTL, sequence number, command flags)</t>
</list></t>

<t>Frame format conventions are as follows:
- <strong>Transport layer encapsulation</strong>: Alive frames use UDP port 30490, Ring frames use UDP port 30491
- <strong>Network layer addressing</strong>: IPv6 ULA prefix <spanx style="verb">fd00::/48</spanx> is used, with each VLAN domain assigned an independent multicast group <spanx style="verb">FF01::(VLAN_ID):1</spanx> (e.g., VLAN100 corresponds to <spanx style="verb">FF01::100:1</spanx>); MAC address mapping follows RFC 2464
- <strong>Byte order</strong>: All multi-byte fields use network byte order (Big-Endian)
- <strong>Hop count limit</strong>: The hop counter is 8-bit, initial value 0, incremented by 1 for each forward, with a maximum support of 8 hops; frames exceeding the limit shall be silently discarded
- <strong>Frame timeout mechanism</strong>: The initiator maintains a Ring frame timeout timer T_RingMon (default equal to the transmission period of 200 ms). If a RING_COMPLETE frame is not received before timeout, the round is determined to have triggered a timeout retransmission — the initiator re-sends the Ring frame to start a new traversal round. After N consecutive rounds of timeout, the link is deemed to have a fault; each node autonomously degrades to independent operation mode via local TTL timeout, and each node independently executes PCP migration using the most recently locally preserved load level until the next successful Ring frame restores global synchronization. This timeout retransmission mechanism does not depend on any external protocol stack.</t>

</section>
<section anchor="ringcomplete-broadcast-and-load-data-aggregation"><name>RING_COMPLETE Broadcast and Load Data Aggregation</name>

<t>When the Ring frame returns to the initiator (identified by destination address or a dedicated RING_COMPLETE control byte), the frame already carries the per-hop rho data written in-place by all nodes on the link during their respective forwarding phases. The initiator aggregates all per-hop rho values to determine the global load level for the current VLAN, then <strong>MUST</strong> broadcast the completed frame to all nodes on that VLAN. Upon receiving the broadcast, each node updates EWMA and synchronizes its local global load level. If a particular hop's load rate is significantly higher than the link average, this indicates a localized bottleneck at that hop. The possible causes of such a bottleneck are not necessarily overall network load being high — it could also be due to equipment failure, link quality degradation, or unreasonable link bandwidth allocation. In such cases, the response <strong>SHOULD NOT</strong> trigger global PCP migration (global degradation cannot resolve a local fault), but rather to adjust the forwarding path to bypass the anomalous link, or for the network operations layer to re-evaluate the bandwidth allocation strategy for that link. The path adjustment mechanism for local bottlenecks is outside the scope of this document; the PCP migration described herein targets only egress queue congestion scenarios caused by elevated global load.</t>

</section>
</section>
<section anchor="system-architecture"><name>System Architecture</name>

<t>This section describes the reference topology used for protocol design and experimental validation. Although the validation is based on a 5-node ring network representing an automotive zone gateway architecture, the load-adaptive mechanism itself is topology-agnostic, applicable to any switched Ethernet with periodic token path traversal capability.</t>

<section anchor="ring-topology-and-node-roles"><name>Ring Topology and Node Roles</name>

<t>The reference topology consists of one initiator node and N forwarding nodes (N = 4 in the reference implementation). The nodes are organized as a logical ring over a physical switched Ethernet fabric. The initiator initiates each ring traversal by sending a token frame (Ring frame). Each forwarding node receives the token, appends its measurement data, returns the data to the previous node, and initiates a new measurement toward the next node. The last node broadcasts the completed frame back to the initiator as RING_COMPLETE, simultaneously broadcasting it to all nodes on that VLAN.</t>

</section>
<section anchor="traffic-class-separation"><name>Traffic Class Separation</name>

<t>Three VLAN domains isolate traffic by criticality level:</t>

<t><list style="symbols">
  <t><strong>TC0 (VLAN100)</strong>: Highest criticality, PCP = 2, PCP migration prohibited</t>
  <t><strong>TC1 (VLAN200)</strong>: Medium criticality, PCP = 0~7, PCP-1 when LoadLevel &gt;= 2</t>
  <t><strong>TC2 (VLAN250)</strong>: Lowest criticality, PCP = 0~7, PCP-1 when LoadLevel = 1, PCP-2 when LoadLevel &gt;= 2</t>
</list></t>

<t>The TC0/TC1/TC2 division is logically equivalent to the independent logical channels allocated for different service classes in a network slicing architecture — the highest-criticality flows receive deterministic latency guarantees (analogous to URLLC), medium flows are unaffected under normal load but moderately degraded under high load (analogous to eMBB), and the lowest-criticality flows yield resources first (analogous to mMTC).</t>

</section>
<section anchor="dual-format-heartbeat-protocol"><name>Dual-Format Heartbeat Protocol</name>

<t>LAPM relies on two frame formats working together to support load awareness:</t>

<t><list style="symbols">
  <t><strong>Alive frame</strong>: A broadcast heartbeat frame sent every T_Alive (200 ms), used for node liveness detection and load level summary synchronization. Payload: 10 bytes. See Section 3.1 for byte-level format.</t>
  <t><strong>Ring frame</strong>: A chained token frame carrying per-hop timestamps (hop_ts + fwd_ts) and load data arrays, traversing each node along the ring with each hop appending measurement data. Payload: 41 bytes. See Section 3.1 for byte-level format.</t>
</list></t>

<t>The core advantage of this dual-format separation is: the low overhead of the Alive frame (10 B) enables high-frequency domain-wide liveness broadcasting, while the larger payload of the Ring frame (41 B) accommodates cumulative collection of per-hop measurement data. The two formats have distinct responsibilities -- Alive handles "who is alive", Ring handles "what is the load" -- avoiding the bandwidth waste of a single large frame carrying both responsibilities simultaneously.</t>

</section>
</section>
<section anchor="load-estimation-based-on-md1-queuing-theory"><name>Load Estimation Based on M/D/1 Queuing Theory</name>

<section anchor="per-hop-delay-measurement"><name>Per-Hop Delay Measurement</name>

<t>Each forwarding node records two timestamps upon receiving a Ring frame:</t>

<t><list style="symbols">
  <t><spanx style="verb">hop_ts</spanx>: Arrival timestamp recorded by the current node (10 microsecond granularity)</t>
  <t><spanx style="verb">fwd_ts</spanx>: Transmission timestamp acquired by the previous node at send time</t>
</list></t>

<t>The per-hop queuing delay is:</t>

<t>Tq = hop_delay - T_fixed.  The timestamp measurement precision depends on time synchronization quality; see <xref target="IEEE8021AS"/> for synchronization requirements.</t>

<t>where T_fixed is the calibrated baseline processing time (359 microseconds in the simulation reference implementation, dominated by discrete-event scheduling overhead). This dual-timestamp measurement method is structurally isomorphic to IETF TWAMP (RFC 5357): TWAMP computes RTT through four timestamps (T1~T4) between Session-Sender and Reflector; LAPM simplifies this to per-hop dual timestamps to extract the queuing delay component Tq.</t>

</section>
<section anchor="md1-inverse-formula-and-ts-fair-share-calibration"><name>M/D/1 Inverse Formula and Ts Fair-Share Calibration</name>

<t>For an M/D/1 queue <xref target="KLEINROCK"/> with deterministic service time Ts, the mean queuing delay is:</t>

<t>Wq = (Ts * rho) / (2 * (1 - rho))</t>

<t>Setting Wq = Tq, the closed-form inverse solution for queuing delay Tq vs. link utilization rho is derived:</t>

<t>rho = (2 * Tq) / (2 * Tq + Ts)</t>

<t>This closed-form solution requires no iteration, guarantees convergence, and maps Tq in [0, infinity) to rho in [0, 1). Ts is a calibratable service time parameter.</t>

<t><strong>Fair-Share Calibration Method</strong>. Traditional calibration methods require experimentally determining rho_ref under known load conditions, which presents a circular reasoning problem — calibration itself requires knowledge of rho, yet the purpose of the inverse formula is precisely to compute rho. This document proposes the Fair-Share calibration method to eliminate this circularity:</t>

<t>In an 8-priority-channel Ethernet port, assuming the channels evenly share the port bandwidth, the "fair share" for each channel is:</t>

<t>rho_ref = 1/8 = 12.5%</t>

<t>At this reference point, the actual load on the P7 channel precisely touches the fair-share boundary. Measuring Tq at this point and substituting into the inverse formula:</t>

<t>Ts = (2 * Tq * (1 - 0.125)) / 0.125 = 14 * Tq</t>

<t>rho_ref = 12.5% is a <strong>design assumption</strong> — in the initial deployment phase where per-domain traffic characteristics are unknown, assuming N channels evenly share the port bandwidth is the minimal-assumption starting point. The IEEE 802.1Q standard does not define the "fair share" concept; this document introduces this term as a design convention for the calibration method.</t>

<t>Under the load condition of rho_ref = 12.5%, a calibration experiment is conducted. Referencing the TSN maximum delay of 2ms, Tq is approximately 2000 microseconds, and substituting into the inverse formula:</t>

<t>Ts = (2 * 2000 * (1 - 0.125)) / 0.125 = 28000 us</t>

<t>Hence, the simulation environment calibration value is <strong>T_s,calib = 28000 microseconds</strong> (28 ms). Note: Ts = 14*Tq is an algebraic relationship; the value of Tq is determined by experimental measurement rather than prescribed by a formula; T_s,calib is directly obtained from experimental calibration.</t>

<t>Substituting T_s,calib = 28000 microseconds, the actual inverse formula used is:</t>

<t>rho = (2 * Tq) / (2 * Tq + 28000)  (Tq in us)</t>

<t>where Tq is in microseconds. This formula maps Tq = 0 microseconds (idle) to rho = 0%, Tq of approximately 1354 microseconds (40 ms load) to rho of approximately 8.8% (Green region), and Tq of approximately 34376 microseconds (10 ms saturation load) to rho of approximately 71% (Red region).</t>

<t><strong>Fair-Share Calibration Results</strong>. Under the same four load groups (50/40/20/10 ms SOME/IP injection periods), fair-share calibration (Ts=28ms, with Mean(5) pre-filtering + EWMA alpha=0.1) yields the following load rate results:</t>

<texttable>
      <ttcol align='center'>Scenario</ttcol>
      <ttcol align='center'>EWMA rho (Ts=28ms)</ttcol>
      <ttcol align='center'>Verdict</ttcol>
      <ttcol align='left'>Assessment</ttcol>
      <c>50ms period</c>
      <c><strong>0.3%</strong></c>
      <c>Green</c>
      <c>Very low load, period extremely stable</c>
      <c>40ms period</c>
      <c><strong>6.0%</strong></c>
      <c>Green</c>
      <c>Still within fair share</c>
      <c>20ms period</c>
      <c><strong>9.0%</strong></c>
      <c>Green</c>
      <c>Near 12.5%; natural early-warning transition point</c>
      <c>10ms period</c>
      <c><strong>67.6%</strong></c>
      <c>Red</c>
      <c>Exceeds three-level threshold cap; forced protection</c>
</texttable>

<t>All three low-load scenarios (50/40/20ms) are correctly classified as Green (0.3-&gt;6.0-&gt;9.0% gradient), and the 10ms high-load scenario as Red (67.6%). The four groups are perfectly dichotomized with only the 12.5% single threshold.</t>

<t><strong>Migration from Simulation to Real Networks</strong>. The Ts fair-share calibration method itself is platform-independent. The structure of the inverse formula rho = 2<em>Tq/(2</em>Tq + T_s,calib) remains unchanged across platforms; only the calibrated T_s,calib value varies with deployment environment (Section 5.2 describes calibration).</t>

</section>
<section anchor="mean5-moving-average-and-ewma-smoothing"><name>mean5 Moving Average and EWMA Smoothing</name>

<t>Before being fed to EWMA, raw rho_raw first passes through a moving average filter of width 5 frames (mean5) for preprocessing:</t>

<t>rho_mean = (rho_raw_n + ...) / 5</t>

<t><strong>Physical basis for window length selection</strong>. Calculated with the chassis domain Ring period T_round = 200 ms, a 5-frame sliding window covers 5 x 200 ms = 1 s of time span. One second is precisely the maximum common transmission period for automotive network periodic messages — message periods are distributed as 10/20/50/100/500/1000 ms, and a 1 s window ensures that at least one complete transmission cycle of all periodic messages is covered. Within this window:</t>

<t><list style="symbols">
  <t><strong>Single-frame glitch rejection</strong>: Event-type burst traffic (diagnostic flashing, service discovery, etc.) appears at most once within 1 s, and after 5-frame averaging is diluted to 1/5 of the original amplitude, preventing single-frame Tq spikes from directly impacting EWMA;</t>
  <t><strong>Steady-state baseline convergence</strong>: Short-period messages at 10/20/40/50 ms appear multiple times within the window, and their contribution to queuing delay converges to a steady-state baseline value after averaging;</t>
  <t><strong>Sustained trend tracking</strong>: When network load undergoes a genuine sustained migration (e.g., switching from 50 ms injection to 20 ms injection), the samples in the window refresh frame by frame, and rho_mean completes the transition within 3 frames (600 ms) — cutting glitches without cutting trends.</t>
</list></t>

<t>After moving average, rho_mean is further smoothed by exponentially weighted moving average:</t>

<t>rho_hat_n = alpha * rho_mean[n] + (1 - alpha) * rho_hat_{n-1}</t>

<t>To determine the optimal smoothing coefficient alpha, 1000 candidate parameters were selected within the theoretical range (0, 1) with a step size of 0.001, and comparative analysis was performed under four typical load periods (50 ms, 40 ms, 20 ms, 10 ms) at TC1 (VLAN200) forwarding node 1, truncating the first 100 frames. The experimental pipeline is:</t>

<t>TqUs -&gt; rho_raw = 2T_q/(2T_q + T_s,calib) -&gt; mean(5) -&gt; EWMA(alpha)</t>

<t>where T_s,calib = 28000 microseconds (Section 5.2 fair-share calibration value).</t>

<t>Comparison of final rho values for each alpha under four load groups (based on fair-share calibration Ts=28ms, median5 pre-filtering):</t>

<texttable>
      <ttcol align='center'>alpha</ttcol>
      <ttcol align='center'>50ms (final rho%)</ttcol>
      <ttcol align='center'>40ms (final rho%)</ttcol>
      <ttcol align='center'>20ms (final rho%)</ttcol>
      <ttcol align='center'>10ms (final rho%)</ttcol>
      <ttcol align='left'>Behavioral Characteristics</ttcol>
      <c>0.05</c>
      <c>0.3</c>
      <c>6.2</c>
      <c>9.1</c>
      <c>58.7</c>
      <c>Over-smoothed; 10ms saturation region response lagged</c>
      <c><strong>0.10</strong></c>
      <c><strong>0.3</strong></c>
      <c><strong>6.0</strong></c>
      <c><strong>9.0</strong></c>
      <c><strong>67.6</strong></c>
      <c><strong>Recommended value — optimal across all three regions</strong></c>
      <c>0.20</c>
      <c>0.3</c>
      <c>6.0</c>
      <c>8.9</c>
      <c>72.1</c>
      <c>50ms noise suppression degraded; 10ms high-alpha introduces extra jitter</c>
</texttable>

<t><strong>Key observation</strong>: Under fair-share calibration, alpha=0.10 produces the optimal four-level load gradient — the three safe-region scenarios (50/40/20ms at 0.3~9.0%) and the 10ms danger-region scenario (67.6%) have a 7.5x discrimination gap, and the three low-load levels themselves maintain a 30x gradient (0.3-&gt;9.0%), ensuring stable level determination.</t>

<t><strong>Per-level recommendations</strong> (based on four-group load data):</t>

<texttable>
      <ttcol align='left'>VLAN/Domain</ttcol>
      <ttcol align='center'>Recommended alpha</ttcol>
      <ttcol align='left'>Rationale</ttcol>
      <c>TC0 (VLAN100)</c>
      <c>0.20</c>
      <c>Under 40ms condition, alpha=0.20 descent speed is 1.5x that of alpha=0.10, suited for highest-criticality domain's fast sensing needs</c>
      <c><strong>V200 (TC1)</strong></c>
      <c><strong>0.10</strong></c>
      <c>Document baseline — optimal across all four conditions</c>
      <c>V250 (TC2)</c>
      <c>0.05</c>
      <c>Under 10ms saturation, alpha=0.05 is smoothest, avoiding frequent gate jitter in the lowest-criticality domain</c>
      <c>Document general value</c>
      <c>0.10</c>
      <c>Neutral baseline, suitable for direct hard-coding in compute-constrained domains</c>
</texttable>

<t>Cold-start handling bypasses EWMA for the first valid sample to avoid initialization bias.</t>

<t>mean(5) Preprocessing Effectiveness Verification
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</t>

<t>To quantify the impact of mean(5) moving average on EWMA output, two pipelines — with and without mean(5) — were run under four load conditions, using the same 7 focus alpha values (0.01, 0.05, 0.10, 0.20, 0.30, 0.50, 1.00):</t>

<texttable>
      <ttcol align='left'>Comparison Dimension</ttcol>
      <ttcol align='left'>With mean(5)</ttcol>
      <ttcol align='left'>Without mean(5)</ttcol>
      <c>40ms panel alpha=0.10</c>
      <c>Smooth descent, no glitches</c>
      <c>4~5 false slope peaks/valleys (single-frame Tq jitter contaminates EWMA)</c>
      <c>10ms panel alpha=0.10</c>
      <c>Stable at ~68%</c>
      <c>50%~80% violent oscillation (single-frame Tq=50000 microseconds shocks EWMA)</c>
      <c>10ms panel alpha=0.01</c>
      <c>Peacefully stable at ~59%</c>
      <c>Drifts 20 percentage points between 55%~75%</c>
      <c>Additional latency</c>
      <c>+2 frames (negligible)</c>
      <c>0</c>
      <c>Verdict</c>
      <c><strong>Recommended to retain</strong></c>
      <c>No</c>
</texttable>

<t>The cost is merely 2 frames of latency (approximately 400 ms at a 200ms period), in exchange for significant suppression of single-frame glitches (e.g., Tq jumping from 2000 microseconds to 50000 microseconds). mean(5) serves as a pre-filter, diluting single-frame spike energy to 1/5 before EWMA smoothing, so that EWMA's exponential decay weights are not severely biased by single-frame outliers.</t>

<t>Experimental results indicate that in discrete-event simulation environments such as CANoe, occasional Tq jitter is an inherent noise source; in real automotive ECU environments, such jitter is significantly reduced but does not disappear entirely. Therefore, mean(5) preprocessing has cross-platform universality and is recommended as a standard pre-stage retained before EWMA.</t>

<t>Adaptive Sliding Window Experiment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^</t>

<t>An intuitive improvement approach is to <strong>dynamically select the sliding window size based on the current load level</strong> — using a narrower window under low load to ensure response speed, and a wider window under high load to enhance smoothing. The experiment compared two approaches:</t>

<t><list style="symbols">
  <t><strong>Fixed approach</strong>: Global mean(5)</t>
  <t><strong>Adaptive approach</strong>: Level 0~1 (rho &lt; 25%) -&gt; mean(5); Level 2+ (rho &gt;= 25%) -&gt; mean(10)</t>
</list></t>

<t>EWMA (alpha=0.10) was run on the outputs of both approaches, with comparison under three load groups (40ms, 20ms, 10ms) based on Ts=28ms calibration:</t>

<texttable>
      <ttcol align='center'>Load Period</ttcol>
      <ttcol align='center'>Fixed mean(5) EWMA Final</ttcol>
      <ttcol align='center'>Adaptive mean(5/10) EWMA Final</ttcol>
      <ttcol align='center'>Difference</ttcol>
      <ttcol align='left'>Assessment</ttcol>
      <c>40ms</c>
      <c>6.0%</c>
      <c>6.0%</c>
      <c>0.0pp</c>
      <c>Consistent — 40ms stays entirely in Level 0~1; no switch triggered</c>
      <c>20ms</c>
      <c>9.0%</c>
      <c>9.0%</c>
      <c>0.0pp</c>
      <c>Consistent — 20ms stays entirely in Level 0~1; no switch triggered</c>
      <c>10ms</c>
      <c>67.6%</c>
      <c>66.0%</c>
      <c>-1.6pp</c>
      <c>Minor difference — 10ms stays entirely in Level 2+; wider window only slightly depresses final value</c>
</texttable>

<t><strong>Conclusion</strong>: Under Ts=28ms calibration with alpha=0.10 configuration, neither the 40ms nor the 20ms scenario triggers the Level 2 threshold (25%), so adaptive and fixed approaches show no difference. The 10ms scenario remains entirely in Level 2+, but the adaptive wider window produces only a 1.6pp final value difference, far from sufficient to improve level determination. Considering that adaptive window switching introduces additional state-dependent logic, and provides no substantive improvement for any load scenario, <strong>maintaining fixed mean(5) is the preferred approach</strong>. If enhanced high-load smoothing is desired, a more efficient design is to apply the adaptive logic to EWMA's alpha coefficient (rather than the sliding window size).</t>

</section>
<section anchor="three-region-nonlinear-characteristics"><name>Three-Region Nonlinear Characteristics</name>

<t>Experimental validation reveals three operationally distinct regions (based on fair-share calibration Ts=28ms, alpha=0.10):</t>

<texttable>
      <ttcol align='left'>Region</ttcol>
      <ttcol align='center'>Injection Period</ttcol>
      <ttcol align='center'>rho (EWMA)</ttcol>
      <ttcol align='left'>Tq Characteristics</ttcol>
      <ttcol align='center'>Threshold Verdict</ttcol>
      <c>Normal</c>
      <c>50 ms / 40 ms</c>
      <c>0.3~6.0%</c>
      <c>Tq very small; queue nearly idle</c>
      <c>Green (&lt;12.5%)</c>
      <c>Transitional</c>
      <c>20 ms</c>
      <c>~9.0%</c>
      <c>Tq elevated but controllable; near fair-share boundary</c>
      <c>Green-&gt;Yellow transition</c>
      <c>Saturated</c>
      <c>10 ms</c>
      <c>67.6%</c>
      <c>Tq violently oscillating (55~75%); system overloaded</c>
      <c>Red (&gt;37.5%)</c>
</texttable>

<t><strong>Key observation</strong>: Under fair-share calibration, the three-level thresholds (12.5/25/37.5%) naturally isolate the rho fluctuation ranges of the three regions. The normal region's rho never touches the 12.5% line; the saturated region's rho fluctuation lower bound (~60%) is far above the three-level threshold cap of 37.5% — high-load region instability is safely isolated above the threshold ceiling, and rho will never oscillate between Green&lt;-&gt;Red.</t>

</section>
<section anchor="queuing-delay-clamping"><name>Queuing Delay Clamping</name>

<t>To prevent unbounded values from destabilizing EWMA, Tq is clamped:</t>

<t>T_q &lt;- min(T_q, T_max)</t>

<t>where T_max is configurable. The reference implementation uses T_max = 50000 microseconds to capture the full queuing delay range under saturation conditions (observed raw values exceeding 40000 microseconds under 10 ms injection).</t>

</section>
</section>
<section anchor="load-level-classification-and-cross-domain-coordination"><name>Load Level Classification and Cross-Domain Coordination</name>

<section anchor="level-thresholds"><name>Level Thresholds</name>

<t>The smoothed utilization rho_hat is mapped to a load level according to the following LevelFromRho rule:</t>

<t><spanx style="verb">
function LevelFromRho(rho):
    if rho &gt;= 0.375: return 3    // Red
    if rho &gt;= 0.25:  return 2    // Orange
    if rho &gt;= 0.125: return 1    // Yellow
    return 0                      // Green
</spanx></t>

<texttable>
      <ttcol align='center'>Level</ttcol>
      <ttcol align='left'>Name</ttcol>
      <ttcol align='center'>rho_hat Range</ttcol>
      <ttcol align='left'>Physical Meaning</ttcol>
      <ttcol align='left'>Action</ttcol>
      <c>0</c>
      <c>Green</c>
      <c>rho_hat &lt; 0.125</c>
      <c>P7 within fair share (1/8=12.5%)</c>
      <c>No restriction</c>
      <c>1</c>
      <c>Yellow</c>
      <c>0.125 &lt;= rho_hat &lt; 0.25</c>
      <c>Exceeds 1x fair share</c>
      <c>PCP migration (TC2 only)</c>
      <c>2</c>
      <c>Orange</c>
      <c>0.25 &lt;= rho_hat &lt; 0.375</c>
      <c>Exceeds 2x fair share</c>
      <c>TC1 PCP-1, TC2 PCP-2</c>
      <c>3</c>
      <c>Red</c>
      <c>rho_hat &gt;= 0.375</c>
      <c>Exceeds 3x fair share</c>
      <c>Maximum PCP migration + full rate limiting</c>
</texttable>

<t><strong>Fair-share-based threshold selection</strong>. The thresholds 12.5% / 25% / 37.5% respectively correspond to 1/8, 2/8, 3/8 fair shares — for each additional 1/8 exceeded, the protection level escalates by one grade. This set of thresholds is derived from the inherent properties of the physical port's 8 channels, requiring no experimental calibration. However, due to the EWMA filtering effect, the overall load will be slightly lower than the defined 12.5%. Referring to actual test results, under low load after EWMA filtering, the overall load jitter fluctuates within 2%, so selecting 10.5% / 23% / 35.5% would yield better results.</t>

<t>Four-group load experiments (Section 8.3) verify the effectiveness of these thresholds: under 50ms period, EWMA rho = 0.3% (Green); under 40ms period, EWMA rho = 6.0% (Green); under 20ms period, EWMA rho = 9.0% (Green, near the 12.5% natural early-warning boundary); under 10ms period, EWMA rho = 67.6% (Red). All three low-load groups are correctly classified as Green, and the high-load group as Red — no missed detections, no false alarms.</t>

<t><strong>Ceiling isolation effect of three-level thresholds</strong>. Under the 10ms high-load scenario, rho rises sharply in the Red region, but the three-level threshold cap is only 37.5% — the lower bound of high-load region rho fluctuation is far above this ceiling. This means that once the Red region is entered, rho will never fall back below 37.5%, and the risk of erroneously returning to Green/Yellow/Orange is zero. High-load instability is safely isolated above the threshold, not affecting level determination.</t>

<ul empty="true"><li>
  <t><strong>Simulation platform constraint note</strong>: This experiment was run on a commercial discrete-event network simulator. Upon migration to a real ECU environment, the latency stability of physical ASIC switches is far superior to the simulation platform; T_fixed and Ts should be re-calibrated using measured Tq data from the target platform, but the fair-share thresholds (integer multiples of 1/8) themselves do not change with the platform.</t>
</li></ul>

</section>
<section anchor="hysteresis-mechanism"><name>Hysteresis Mechanism</name>

<t>To prevent level oscillation, downgrading from a non-zero level back to Green (Level 0) requires 8 consecutive low-load samples (rho_hat &lt; 0.125). During this transition period, the level is held at Yellow (Level 1) as a conservative intermediate state. At a 200 ms ring interval (Section 8.1), the 8 x 200 ms = 1.6 s downgrade window provides sufficient oscillation-resistant persistence. <strong>Upward transitions (to higher levels) take effect immediately</strong>, ensuring fast response to load spikes.</t>

</section>
<section anchor="cross-domain-maximum-aggregation"><name>Cross-Domain Maximum Aggregation</name>

<t>Each VLAN domain independently computes its local load level, and the globally shared level takes the maximum across all domains:</t>

<t><spanx style="verb">
gCurrentLoadLevel = max(level100, level200, level250)
</spanx></t>

<t>This value is written to the global system variable <spanx style="verb">NM::LoadLevel</spanx>, accessible to all nodes for PCP migration decisions.</t>

<t><strong>Physical motivation for taking the maximum</strong>. Taking max rather than weighted average follows the worst-case protection principle: among the three VLAN domains sharing a physical switch port, a bottleneck in any single domain implies global egress queue stress — "wherever the bottleneck appears, the warning covers there." A weighted average would mask localized congestion in individual domains — for example, if V250 (TC2) load surges but TC0/TC1 remain normal, the average could still fall within the Green region, causing the V250 critical flows that need protection to be missed.</t>

</section>
<section anchor="priority-aware-pcp-migration"><name>Priority-Aware PCP Migration</name>

<t>Data frames carry PCP values in VLAN tags. When the shared load level reaches defined thresholds, PCP values are decremented to lower scheduling priority:</t>

<t><list style="symbols">
  <t><strong>TC0 (highest criticality)</strong>: PCP migration prohibited — high-criticality traffic is never downgraded.</t>
  <t><strong>TC1 (medium criticality)</strong>: PCP-1 when LoadLevel &gt;= 1. PCP = 0 is never further reduced.</t>
  <t><strong>TC2 (lowest criticality)</strong>: PCP-1 when LoadLevel = 1; PCP-2 when LoadLevel &gt;= 2.</t>
</list></t>

<t>PCP migration is executed at the strict-priority queue output stage: frames are deposited into the slot corresponding to their (possibly migrated) PCP value, and the currently highest-priority pending frame is immediately output. From a network slicing perspective, the essence of PCP migration is runtime resource reallocation between data-plane slices — unlike 5G slicing which adjusts slice resource allocation via control-plane signaling (seconds-level response), PCP migration completes within hundreds of milliseconds without control-plane involvement.</t>

</section>
</section>
<section anchor="experimental-validation"><name>Experimental Validation</name>

<t>LAPM was validated on a commercial discrete-event network simulator. The experimental topology is a 5-node ring (1 initiator + 4 forwarding nodes) at 1000 Mbps, spanning three VLAN domains (TC0/TC1/TC2). Detailed experimental configuration, four-phase load test data, and PCP migration effectiveness analysis are provided in Appendix B.</t>

</section>
<section anchor="discussion-and-future-work"><name>Discussion and Future Work</name>

<section anchor="migration-from-simulation-to-real-ecus"><name>Migration from Simulation to Real ECUs</name>

<t>The experimental validation in this document was conducted on a commercial discrete-event network simulator. In a real automotive ECU environment, network switching is performed by dedicated ASICs, where switching delay controllability far exceeds that of the simulation platform. However, T_fixed (physical baseline delay) and T_s,calib (calibrated service time) must be re-calibrated for the target platform. The Ts inverse calibration method established in this document — substituting Tq measurements under several known load conditions into Ts = 2<em>Tq</em>(1-rho)/rho to back-calculate — is itself independent of the simulation platform and can be directly migrated to a real environment.</t>

</section>
<section anchor="transitional-region-detection-enhancement"><name>Transitional Region Detection Enhancement</name>

<t>The experiment revealed a critical issue (Section 5.4): in the transitional region (20 ms injection), the EWMA-smoothed rho has risen relative to the normal region (9.0% vs 6.0%), but still resides within the Green level, while the statistical characteristics of the raw Tq distribution (such as clamp ceiling hit rate) have already changed. This indicates that relying solely on EWMA-rho for level determination is insufficient to capture early signs of congestion. Future work may consider parallel monitoring of rho_raw variance or the Tq clamp ceiling hit rate, establishing a multi-dimensional transitional region early-warning mechanism.</t>

</section>
<section anchor="spq-hardware-implementation-and-frame-preemption-synergy"><name>SPQ Hardware Implementation and Frame Preemption Synergy</name>

<t>In the current simulation environment, SPQ is implemented as software queues, introducing approximately 1 ms of minimum scheduling delay and not supporting 802.3br frame-level preemption. When deployed on real ASIC hardware SPQ, scheduling delay can be reduced to the microsecond level and can work in concert with 802.1Qbu frame preemption. Since this work's PCP migration mechanism directly manipulates the VLAN Tag priority field, migration from software SPQ to hardware SPQ is transparent.</t>

</section>
<section anchor="feedback-control-of-adaptive-network-slicing"><name>Feedback Control of Adaptive Network Slicing</name>

<t>The LAPM adaptive closed loop established in this document can be formalized as a data-plane feedback control system: the sensor is the M/D/1 inverse (measuring rho), the controller is the LevelFromRho mapping + PCP migration, and the actuator is the egress strict-priority queue. This framework can be further generalized — replacing the alpha coefficient with an adaptive gain (e.g., Kalman filter), replacing four discrete levels with a continuous PCP mapping function, and extending a single-domain closed loop to multi-domain cooperative control (leveraging the coupling term of cross-domain maximum aggregation). This direction elevates L2 priority migration from a heuristic policy to a class of data-plane feedback control problems, providing a theoretical foundation for adaptive resource management in deterministic networks.</t>

</section>
<section anchor="response-delay-analysis"><name>Response Delay Analysis</name>

<t>LAPM exhibits asymmetric upstream/downstream response characteristics:</t>

<t><list style="symbols">
  <t><strong>Upstream response (load increase -&gt; PCP migration)</strong>: approximately 200 ms (one Ring traversal period, Section 8.1). Load detection is triggered after the Ring frame returns to the initiator, and level transition takes effect immediately.</t>
  <t><strong>Downstream recovery (load decrease -&gt; PCP restoration)</strong>: approximately 1.6 s (8 x 200 ms hysteresis). Section 6.2 mandates 8 consecutive low-load samples for downgrade, providing approximately 1.6 s of anti-oscillation window.</t>
</list></t>

<t>The asymmetric design — fast up (hundreds of milliseconds for safety response) and slow down (seconds-level for oscillation prevention) — matches the practical requirements of automotive networks: load spikes need rapid suppression (safety first), while load recovery can be conservative (stability first).</t>

</section>
</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t><strong>Threat model</strong>: LAPM operates within a physically isolated switched Ethernet segment, with the attack surface assumption that "the network access layer has already completed identity authentication through IEEE 802.1X port authentication or ISO 21434 automotive cybersecurity mechanisms." Unauthenticated devices cannot access physical network ports.</t>

<t><strong>Measurement data integrity</strong>: LAPM relies on per-hop timestamps carried by NM Ring frames to compute Tq. If an attacker forges timestamps to inject false high-delay data, this could cause rho to be artificially inflated, triggering unnecessary PCP migration — causing legitimate traffic to be erroneously degraded, constituting a denial-of-service (DoS) availability degradation attack. Mitigations include: Ring frames carry timestamps in both directions (hop_ts + fwd_ts), allowing the receiving node to cross-validate the previous per-hop delay; in real deployment environments, NM management frames should undergo per-hop authentication at the network access layer.</t>

<t><strong>No new attack surface introduced</strong>: PCP migration reuses the existing IEEE 802.1Q VLAN PCP field and introduces no new protocol frames or control channels.</t>

<t><strong>Residual risks</strong>: In OTA software update or diagnostic modes, background traffic patterns may deviate significantly from normal operating conditions, leading to anomalous rho fluctuations and false migration triggers. Additionally, the physical isolation assumption may be temporarily weakened during certain maintenance scenarios in the vehicle lifecycle (e.g., diagnostic equipment connected to the OBD-II port).</t>

<t><strong>Cross-domain false triggering due to localized faults</strong>: LAPM's max() aggregation correctly triggers global PCP migration when most VLANs are simultaneously congested, but when a single VLAN experiences a device anomaly (e.g., ECU firmware fault causing frame flooding), that domain's abnormally elevated rho can trigger network-wide degradation via max() as a false positive. Definitive mitigation relies on IEEE 802.1Qci PSFP performing per-flow compliance filtering at the switch ingress — Qci discards anomalous frames before they enter the queue, preventing rho contamination. In the transitional phase where Qci hardware is not yet available, monitoring the short-window variance of Tq can serve as an auxiliary criterion: anomalous fault flows exhibit large fluctuations, while genuine congestion exhibits sustained high levels with low variance. LAPM and Qci form a layered defense: Qci is responsible for ingress per-flow filtering, while LAPM is responsible for egress aggregate scheduling of compliant flows.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>This document has no IANA actions. The UDP ports 30490 (Alive) and 30491 (Ring) used in this document are private/dynamic ports, and the IPv6 multicast address FF01::(VLAN_ID):1 is a link-local scope multicast address; none require IANA registration.</t>

<section anchor="references"><name>References</name>

<t>```
<xref target="RFC8655"/>    Finn, N., Thubert, P., Varga, B., and J. Farkas,
             "Deterministic Networking Architecture", RFC 8655,
             October 2019.</t>

<t><xref target="RFC8938"/>    Varga, B., Farkas, J., Berger, L., Malis, A., and
             S. Bryant, "Deterministic Networking (DetNet) Data
             Plane Framework", RFC 8938, November 2020.</t>

<t><xref target="RFC9320"/>    Finn, N., Le Boudec, J.-Y., Mohammadpour, E., Zhang,
             J., and B. Varga, "Deterministic Networking (DetNet)
             Bounded Latency", RFC 9320, October 2022.</t>

<t><xref target="IEEE8021Q-2018"/> IEEE, "IEEE Standard for Local and Metropolitan
             Area Networks -- Bridges and Bridged Networks",
             IEEE Std 802.1Q-2018, July 2018.</t>

<t><xref target="Floyd-1993"/> Floyd, S. and Jacobson, V., "Random Early Detection
             Gateways for Congestion Avoidance", IEEE/ACM
             Transactions on Networking, Vol. 1, No. 4,
             pp. 397-413, August 1993.</t>

<t><xref target="Frangoudis-2013"/> Frangoudis, P.A., Ksentini, A., Hadjadj-Aoul,
             Y., and G. Boime, "PTPv2-Based Network Load
             Estimation", Proceedings of IEEE ISPCS 2013,
             pp. 101-106, September 2013.</t>

<t><xref target="Yue-2005"/>   Yue Peng, Liu Zengji, "A Novel Data Estimation
             Technique -- dEWMA and Its Application in RED",
             Journal of Electronics and Information Technology,
             Vol. 27, No. 8, pp. 1320-1323, 2005.</t>

<t><xref target="Kong-2024"/>  Kong, X., Li, C., Liang, G., Zhou, S., and C. Gao,
             "Research on Application of Time Sensitive Ethernet
             Technologies", Journal of Automotive Engineering, 2024.</t>

<t><xref target="Hyndman"/>    Hyndman, R.J. and Athanasopoulos, G., "Forecasting:
             Principles and Practice", 3rd ed., OTexts, 2021.
```</t>

</section>
<section anchor="appendix-a-complete-md1-inverse-formula-derivation"><name>Appendix A: Complete M/D/1 Inverse Formula Derivation</name>

<t>For an M/D/1 queue with Poisson arrivals (rate lambda) and deterministic service time Ts:</t>

<t>Utilization: rho = lambda * Ts, 0 &lt;= rho &lt; 1</t>

<t>Mean queuing delay (Pollaczek-Khinchine formula, deterministic service C_s^2 = 0):</t>

<t>W_q = \fraclambda * T_s^22(1 - rho) = \fracrho * T_s2(1 - rho)</t>

<t>Setting Wq = Tq (measured queuing delay), solving for rho:</t>

<t>T_q = \fracrho * T_s2(1 - rho)</t>

<t>2T_q(1 - rho) = rho * T_s</t>

<t>2T_q - 2T_qrho = rho * T_s</t>

<t>2T_q = rho(2T_q + T_s)</t>

<t>rho = (2 * Tq) / (2 * Tq + Ts)</t>

<t>Ts is a calibratable service time parameter whose physical value is the frame transmission time, but which incorporates platform scheduling overhead in simulation or real environments. Ts can be determined through inverse derivation: rewriting the above formula to express Ts in terms of rho and Tq —</t>

<t>Ts = (2 * Tq * (1 - rho)) / rho</t>

<t>Under a reference condition with known load (rho_ref determined by the fair-share calibration method), measuring Tq under that condition and substituting into the above formula yields T_s,calib for that environment. The structure of the inverse formula rho = 2<em>Tq/(2</em>Tq + T_s,calib) remains unchanged. The calibration process and the derivation of T_s,calib = 28000 microseconds for the experimental environment in this document are detailed in Section 5.2.</t>

</section>
<section anchor="appendix-b-simulation-experiment-detailed-data"><name>Appendix B: Simulation Experiment Detailed Data</name>

<section anchor="b1-test-topology-and-configuration"><name>B.1 Test Topology and Configuration</name>

<texttable>
      <ttcol align='left'>Parameter</ttcol>
      <ttcol align='left'>Configuration Value</ttcol>
      <c>Topology</c>
      <c>5-node ring (1 initiator + 4 forwarding nodes)</c>
      <c>Bandwidth</c>
      <c>1000 Mbps</c>
      <c>Traffic classes</c>
      <c>TC0 (VLAN100), TC1 (VLAN200), TC2 (VLAN250)</c>
      <c>Ring interval</c>
      <c>200 ms</c>
      <c>Alive interval</c>
      <c>200 ms</c>
      <c>Flow injection scale</c>
      <c>10 flows/priority x 8 priorities x 3 classes</c>
      <c>Injection period</c>
      <c>Variable: 50, 40, 20, 10 ms</c>
      <c>T_fixed</c>
      <c>359 microseconds (simulation calibration value)</c>
      <c>T_max (Tq clamp)</c>
      <c>50000 microseconds</c>
      <c>Simulation platform</c>
      <c>Commercial discrete-event network simulator</c>
      <c>Measurement method</c>
      <c>Python COM automation @ 1 Hz</c>
</texttable>

</section>
<section anchor="b2-four-phase-load-test-50-ms-10-ms"><name>B.2 Four-Phase Load Test (50 ms -&gt; 10 ms)</name>

<t>Flow injection period was increased in four graded steps (50 -&gt; 40 -&gt; 20 -&gt; 10 ms), while monitoring forwarding node 1's TC1 (VLAN200) per-hop rho, Tq, and load level. Each phase ran for 2~6 minutes to ensure steady-state observation.</t>

</section>
<section anchor="b3-three-region-threshold-experimental-results"><name>B.3 Three-Region Threshold Experimental Results</name>

<texttable>
      <ttcol align='center'>Phase</ttcol>
      <ttcol align='left'>Period</ttcol>
      <ttcol align='center'>Sample Count</ttcol>
      <ttcol align='center'>rho EWMA</ttcol>
      <ttcol align='center'>Level</ttcol>
      <ttcol align='left'>Tq Characteristics</ttcol>
      <c>P1</c>
      <c>50 ms</c>
      <c>390</c>
      <c>0.3%</c>
      <c>Green</c>
      <c>Queue nearly idle</c>
      <c>P2</c>
      <c>40 ms</c>
      <c>880</c>
      <c>6.0%</c>
      <c>Green</c>
      <c>Still within fair share</c>
      <c>P3</c>
      <c>20 ms</c>
      <c>129</c>
      <c>9.0%</c>
      <c>Green</c>
      <c>Near 12.5% boundary</c>
      <c>P4</c>
      <c>10 ms</c>
      <c>60</c>
      <c>67.6%</c>
      <c>Red</c>
      <c>System saturated; rho sharply elevated</c>
</texttable>

</section>
<section anchor="b4-load-level-response-and-pcp-migration-verification"><name>B.4 Load Level Response and PCP Migration Verification</name>

<t>With LevelFromRho classification logic and cross-VLAN maximum aggregation activated:
- P1~P3 (50/40/20ms): Level 0 (Green) maintained throughout — rho stably below 12.5% fair share
- P4 (10ms): Level 3 (Red) — rho exceeds the 37.5% three-level threshold, triggering maximum PCP migration</t>

<t>PCP migration was verified by monitoring the VLAN tag PCP field of output frames from the initiator node. When LoadLevel &gt;= 1, PCP values correctly decremented as specified.</t>

</section>
<section anchor="b5-ll0-vs-ll2-migration-effectiveness-verification"><name>B.5 LL=0 vs LL=2 Migration Effectiveness Verification</name>

<texttable>
      <ttcol align='center'>Load / Expected Period</ttcol>
      <ttcol align='center'>Condition</ttcol>
      <ttcol align='center'>P7 Mean (ms)</ttcol>
      <ttcol align='center'>P7 CV</ttcol>
      <ttcol align='center'>P7 max (ms)</ttcol>
      <c>High / 2ms</c>
      <c>LL=0</c>
      <c>5.456</c>
      <c>1.18</c>
      <c>49.9</c>
      <c>High / 2ms</c>
      <c>LL=2</c>
      <c>2.063</c>
      <c>0.25</c>
      <c>5.8</c>
      <c>Medium / 10ms</c>
      <c>LL=0</c>
      <c>5.867</c>
      <c>0.46</c>
      <c>14.1</c>
      <c>Medium / 10ms</c>
      <c>LL=2</c>
      <c>4.998</c>
      <c>0.04</c>
      <c>5.9</c>
      <c>Low / 50ms</c>
      <c>LL=0</c>
      <c>10.006</c>
      <c>0.01</c>
      <c>10.2</c>
      <c>Low / 50ms</c>
      <c>LL=2</c>
      <c>10.004</c>
      <c>0.01</c>
      <c>10.3</c>
</texttable>

<t>Under high load, LL=2 migration compressed the P7 worst-case delay by 88% (49.9ms -&gt; 5.8ms). Under medium load, CV improved 91% (0.46 -&gt; 0.04). Under low load, no difference, confirming no false triggering.</t>

</section>
</section>
<section anchor="appendix-c-experimental-data-file-index"><name>Appendix C: Experimental Data File Index</name>

<t>Raw experimental data is stored in the following files:</t>

<texttable>
      <ttcol align='left'>File</ttcol>
      <ttcol align='left'>Content</ttcol>
      <c><spanx style="verb">rc1_4phase.csv</spanx></c>
      <c>571 samples, four-phase test batch 1</c>
      <c><spanx style="verb">rc1_4phase_batch2.csv</spanx></c>
      <c>241 samples, four-phase test batch 2</c>
</texttable>

<t><strong>RC1 V200 EWMA multi-alpha analysis charts</strong> (first 100 frames, Ts=28000 microseconds, rho recomputed by 2<em>Tq/(2</em>Tq+Ts), English annotations):</t>

<texttable>
      <ttcol align='left'>File</ttcol>
      <ttcol align='left'>Content</ttcol>
      <c><spanx style="verb">RC1_V200_With_Median_All4Periods_EN.png</spanx></c>
      <c>With median(5) -- four periods (50/40/20/10ms) EWMA composite panel</c>
      <c><spanx style="verb">RC1_V200_No_Median_All4Periods_EN.png</spanx></c>
      <c>Without median(5) -- four periods EWMA composite panel</c>
      <c><spanx style="verb">RC1_V200_All_4Periods_Alpha010_Comparison_EN.png</spanx></c>
      <c>Four periods cross-comparison (alpha=0.10)</c>
      <c><spanx style="verb">RC1_V200_Adaptive_Median_Comparison_EN.png</spanx></c>
      <c>Adaptive median (5/10) -- 40/20/10ms three-period comparison</c>
      <c><spanx style="verb">RC1_V200_20ms_Adaptive_vs_Fixed_Detail_EN.png</spanx></c>
      <c>20ms -- mean(5) + EWMA multi-alpha (0.01~1.00) convergence curves</c>
</texttable>

<t>Measurement scripts: <spanx style="verb">rc1_someip_mon.py</spanx> (Python COM automation), <spanx style="verb">ewma_rc1_v200.py</spanx> (RC1 V200 multi-alpha analysis), <spanx style="verb">ewma_no_median.py</spanx> (median5 comparison analysis), <spanx style="verb">ewma_adaptive_median.py</spanx> (adaptive window analysis)</t>

</section>
</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>
<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>
<reference anchor="RFC8655">
  <front>
    <title>Deterministic Networking Architecture</title>
    <author fullname="N. Finn" initials="N." surname="Finn"/>
    <author fullname="P. Thubert" initials="P." surname="Thubert"/>
    <author fullname="B. Varga" initials="B." surname="Varga"/>
    <author fullname="J. Farkas" initials="J." surname="Farkas"/>
    <date month="October" year="2019"/>
    <abstract>
      <t>This document provides the overall architecture for Deterministic Networking (DetNet), which provides a capability to carry specified unicast or multicast data flows for real-time applications with extremely low data loss rates and bounded latency within a network domain. Techniques used include 1) reserving data-plane resources for individual (or aggregated) DetNet flows in some or all of the intermediate nodes along the path of the flow, 2) providing explicit routes for DetNet flows that do not immediately change with the network topology, and 3) distributing data from DetNet flow packets over time and/or space to ensure delivery of each packet's data in spite of the loss of a path. DetNet operates at the IP layer and delivers service over lower-layer technologies such as MPLS and Time- Sensitive Networking (TSN) as defined by IEEE 802.1.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8655"/>
  <seriesInfo name="DOI" value="10.17487/RFC8655"/>
</reference>
<reference anchor="RFC8938">
  <front>
    <title>Deterministic Networking (DetNet) Data Plane Framework</title>
    <author fullname="B. Varga" initials="B." role="editor" surname="Varga"/>
    <author fullname="J. Farkas" initials="J." surname="Farkas"/>
    <author fullname="L. Berger" initials="L." surname="Berger"/>
    <author fullname="A. Malis" initials="A." surname="Malis"/>
    <author fullname="S. Bryant" initials="S." surname="Bryant"/>
    <date month="November" year="2020"/>
    <abstract>
      <t>This document provides an overall framework for the Deterministic Networking (DetNet) data plane. It covers concepts and considerations that are generally common to any DetNet data plane specification. It describes related Controller Plane considerations as well.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8938"/>
  <seriesInfo name="DOI" value="10.17487/RFC8938"/>
</reference>
<reference anchor="RFC9320">
  <front>
    <title>Deterministic Networking (DetNet) Bounded Latency</title>
    <author fullname="N. Finn" initials="N." surname="Finn"/>
    <author fullname="J.-Y. Le Boudec" initials="J.-Y." surname="Le Boudec"/>
    <author fullname="E. Mohammadpour" initials="E." surname="Mohammadpour"/>
    <author fullname="J. Zhang" initials="J." surname="Zhang"/>
    <author fullname="B. Varga" initials="B." surname="Varga"/>
    <date month="November" year="2022"/>
    <abstract>
      <t>This document presents a timing model for sources, destinations, and Deterministic Networking (DetNet) transit nodes. Using the model, it provides a methodology to compute end-to-end latency and backlog bounds for various queuing methods. The methodology can be used by the management and control planes and by resource reservation algorithms to provide bounded latency and zero congestion loss for the DetNet service.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9320"/>
  <seriesInfo name="DOI" value="10.17487/RFC9320"/>
</reference>

<reference anchor="IEEE8021Q-2018" target="https://standards.ieee.org/standard/802_1Q-2018.html">
  <front>
    <title>IEEE 802.1Q-2018 - Bridges and Bridged Networks</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="IEEE8021AS" target="https://standards.ieee.org/standard/802_1AS-2020.html">
  <front>
    <title>IEEE 802.1AS-2020 - Timing and Synchronization for Time-Sensitive Applications</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>


    </references>

    <references title='Informative References' anchor="sec-informative-references">

<reference anchor="KLEINROCK" >
  <front>
    <title>Queueing Systems, Volume 1: Theory</title>
    <author initials="L." surname="Kleinrock" fullname="Leonard Kleinrock">
      <organization></organization>
    </author>
    <date year="1975"/>
  </front>
</reference>
<reference anchor="Floyd-1993" >
  <front>
    <title>Random Early Detection Gateways for Congestion Avoidance</title>
    <author initials="S." surname="Floyd" fullname="Sally Floyd">
      <organization></organization>
    </author>
    <author initials="V." surname="Jacobson" fullname="Van Jacobson">
      <organization></organization>
    </author>
    <date year="1993"/>
  </front>
</reference>
<reference anchor="Frangoudis-2013" >
  <front>
    <title>PTPv2-Based Network Load Estimation</title>
    <author initials="P. A." surname="Frangoudis" fullname="Pantelis A. Frangoudis">
      <organization></organization>
    </author>
    <date year="2013"/>
  </front>
</reference>
<reference anchor="Yue-2005" >
  <front>
    <title>Dual EWMA for Network Congestion Detection</title>
    <author initials="P." surname="Yue" fullname="Peng Yue">
      <organization></organization>
    </author>
    <date year="2005"/>
  </front>
</reference>
<reference anchor="Kong-2024" >
  <front>
    <title>TSN Protocol Validation in Zonal Architecture</title>
    <author initials="W." surname="Kong" fullname="W. Kong">
      <organization></organization>
    </author>
    <date year="2024"/>
  </front>
</reference>
<reference anchor="Hyndman" >
  <front>
    <title>Forecasting: Principles and Practice</title>
    <author initials="R. J." surname="Hyndman" fullname="Rob J. Hyndman">
      <organization></organization>
    </author>
    <author initials="G." surname="Athanasopoulos" fullname="George Athanasopoulos">
      <organization></organization>
    </author>
    <date year="2018"/>
  </front>
</reference>


    </references>

</references>



  </back>

<!-- ##markdown-source:
H4sIAAAAAAAAA7V9+1YbZ7bn/zzFt3xWViQiCUmADbiddTCGxB1jE8BJd585
YxdSCapdqlLqAlaa9pqHmCecJ5n923t/lyoJ28mayerGIFV9132/9vv9jSqp
0vjAPHqVR9P+4TRaVMltbM6KJC+SamlOk+siqpI8M6fx5CbKknJuZnlhXsRV
XMwT+rtKJubiLqkmN/HUHFc3cZHF1aON6OqqiG8x8OHZ6aONSVTF13mxPDBJ
Nss3pvkki+Y077SIZlX/Lsqu+0VCP1IsI7qLirg/HG7Q+9sbZX01T8qS1nC5
XNArL48vTzbKKsqm76I0z+iTZVxuLJID819VPumZMi+qIp6V9Ntyjl/+e+ND
vLzLi+nBhjF9Q8ujPz6YeZRF1/E8zir++Lc6rmNagqEt0EL5M1mNHgp/srAH
M7cHsxHV1U1e8Nj0f0MbLGnbfxuYX2lXj/gj2eujv9HwyzrKgm/y4pq+OMuL
ks7PHGfXSRbHOAlD+zOvaSs35ugmySJznMaTqqDDPsvv4sK8zWhJRUlLkYHi
eZSkNNRHnWOAM/3PhQzcj/3Ag0n2qLXWy4H5x017sZdJPKPXwm9ksX9iUdkk
XtS/V7P/HI0fDyb5/NFGlhfzCKeKczs/ORqPRvv6697oyY799fHurv11f3tP
f93fHg/x68vj4+O94Xj0c388HPGXxlhwxneGvhzot3R1z4tkeh2XfLDyOx2w
wEIpy62i4jquDsxNVS3Kg60tBrKomJaDJI7jAW3ffbRFY7/TsQc31TwN1nN4
8dBaDi/ohfGQFnOZzO0lXyyzyU2RZ8nvgmhAL/o67l/EGR0l0PFwsUiTCX/9
Z5eqU8tagYPB+f/06vjl6/M3Rz811/2zxYiLZVnFc0KoX/K0nsdmdGAuGUlk
LVPC7QMz2n+yy396fMB/ff3XwdWrOM9oVeanlMYu8skHDHKS5stpf7S/v91c
wjltIZ+b46hIl0xzJnxEP9CMd9Gy5LM6yjO6Vv788DZPphFB26OvWclFlNKo
PPWjh575hbD1r9EkvyrzrLnb/W2suyDkyOtpUgISWos/uzy7HfefR6UHNAMy
a45ptXO+za9a51mUVXGalOZwEEwYrgZz059/r2NaxnC3uYwXdZSa419PD/m0
7EKCU3Pn+nWrAVGgmZrzD3H3P9GYgLKd5gIuL14TQ8mJOOep+SVK6Yp43iQz
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

-->

</rfc>

