Data synchronization window optimization method for intelligent fusion terminal

By generating tail protection margins through Skorokhod-buffered control and extreme value theory EVT, combined with Whittle/AoI index scheduling, the adaptive problem of data synchronization windows in dynamic network environments is solved, achieving traffic self-balancing and the stability and continuity of data transmission, thereby improving the adaptive stability and timeliness of the system.

CN121126509AActive Publication Date: 2025-12-12SHENZHEN FRIENDCOM TECH DEV +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202511612165.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-06
Publication Date
2025-12-12
Estimated Expiration
2045-11-06

AI Technical Summary

Technical Problem

Existing data synchronization methods cannot adjust the window size in a timely manner in dynamic network environments, resulting in insufficient bandwidth utilization or queue overflow. They are unable to cope with millisecond-level changes and competition and unfairness in multi-stream concurrent scenarios.

Method used

The Skorokhod-buffered control mechanism is used to manage the net backlog value. The tail protection margin is generated by combining the extreme value theory EVT. The data synchronization window is adaptively optimized by scheduling window opportunities through Whittle/AoI index. The index pairs composed of information timeliness index and relaxation control index are used for sorting and interface allocation.

Benefits of technology

In scenarios with high dynamic bandwidth and multiple interfaces, it achieves traffic self-balancing, suppresses the backlog caused by bandwidth bursts and link jitter, maintains the continuity and controllability of data transmission, and improves link utilization and system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121126509A_ABST
    Figure CN121126509A_ABST
Patent Text Reader

Abstract

The invention belongs to the technical field of data synchronization, and particularly relates to a data synchronization window optimization method for an intelligent fusion terminal. The method comprises the following steps: step 1, state acquisition and Skorokhead-buffer control establishment: acquiring a sending queue state of an intelligent fusion terminal, and processing enqueue and dequeue events through a Skorokhead-buffer control mechanism to manage a net backlog value so as to generate a buffer security window reference quantity; step 2, generating a tail protection margin by EVT tail control; step 3, Whitt / AoI index scheduling window opportunities: generating an index pair consisting of an information aging index and a relaxation control index for each synchronization stream; 4, executing and simple closed loop: executing data transmission according to the initial value of the data synchronization window and the window opportunity; according to the method, the link utilization rate is greatly improved, the packet loss rate caused by jitter is reduced, and the self-adaptive stability and the aging service quality of the system are remarkably improved while the data integrity is maintained.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of data synchronization, and particularly relates to a data synchronization window optimization method for intelligent fusion terminals. BACKGROUND

[0002] In recent years, with the wide application of multi-access, multi-modal and multi-task intelligent fusion terminals in communication, edge computing and Internet of Things environments, the data synchronization mechanism between terminals has become one of the key factors affecting the overall system performance. Existing data synchronization is usually controlled based on a fixed time window or a static allocation strategy. Such strategies mainly come from the time slice division method in traditional TCP congestion control, mobile terminal synchronization buffer and cloud synchronization service. The basic idea of such methods is to allocate a fixed sending window size and data packet length for each synchronization period under the assumption that the network bandwidth and delay are relatively stable, so as to ensure the throughput and transmission stability. However, when the communication environment of the terminal is highly dynamic, such as in the switching scenarios of cellular and wireless local area networks, parallel transmission scenarios of short-range communication and long-distance relay, the fixed window strategy is prone to cause two typical problems: first, when the bandwidth is temporarily improved, the window cannot be expanded in time, resulting in insufficient bandwidth utilization; second, when the link jitter intensifies or congestion bursts, the fixed window cannot be shrunk in time, causing queue overflow and high delay accumulation.

[0003] To solve the adaptive problem in dynamic networks, some existing technologies introduce a dynamic window adjustment mechanism based on feedback, such as periodically adjusting the window through bandwidth estimation and round-trip delay measurement in TCP BBR or QUIC protocol. However, these methods rely on long-time measurement averaging and cannot quickly respond to millisecond-level changes; at the same time, in the multi-flow concurrent scenario, window allocation often lacks global coordination, and competition or unfairness may occur between different flows. In addition, conventional synchronization optimization algorithms usually rely on weight allocation or historical data training models, such as using sliding average to predict bandwidth, using delay distribution to approximate retransmission probability, etc. These models perform well in long-time stable scenarios, but in multi-interface mixed communication and high-frequency burst flow, the prediction error is amplified, resulting in decreased synchronization efficiency. SUMMARY

[0004] The main purpose of the present application is to provide a data synchronization window optimization method for intelligent fusion terminals, which comprises: Step one, state collection and Skorokhod-buffer control establishment: collect the sending queue state of the intelligent fusion terminal, process the enqueue and dequeue events through the Skorokhod-buffer control mechanism to manage the net backlog value, and generate a buffer safety window benchmark quantity; Step two, EVT tail control generates tail protection margin: the EVT processes the detection results of the interface, generates a tail protection margin to resist network jitter, and combines the buffer safety window reference quantity to generate the data synchronization window initial value; Step three, Whittle / AoI index scheduling window opportunity: generate an index pair consisting of information timeliness index and relaxation control index for each synchronization flow, sort the index pairs, and allocate window opportunities and sending interfaces for the synchronization flows; Step four, execute and simple closed loop: execute data sending according to the data synchronization window initial value and the window opportunity, and update the state based on the feedback confirmation information for the next round of calculation of the buffer safety window reference quantity, the tail protection margin and the index pair.

[0005] Further, in step one, the specific implementation of the Skorokhod-buffer control mechanism is to set the enqueue counter, dequeue counter and reflection accumulator; the enqueue counter is incremented when the synchronization unit enters the sending queue, and the dequeue counter is incremented when the synchronization unit is submitted to the interface; calculate the net backlog value between the enqueue counter and the dequeue counter, when the net backlog value is higher than the sending queue capacity boundary, write the excess quantity into the reflection accumulator, and insert the gap unit in the subsequent; when the net backlog value is lower than the zero boundary, set it to zero and supplement the confirmation aggregation once.

[0006] Further, in step two, the specific implementation of generating the tail protection margin is to send a detection sequence consisting of a number of detection packets on each interface; collect the arrival times of the detection packets to form an extreme value set; sort the extreme value set, take one value in the middle of the set as the extreme value threshold, take the maximum value in the set as the extreme upper bound, and take the difference between the extreme upper bound and the extreme value threshold to obtain the tail protection margin.

[0007] Further, in step two, the specific way of generating the data synchronization window initial value by combining the buffer safety window reference quantity and the tail protection margin is to take the buffer safety window reference quantity as the lower limit of the number of fragments on each interface, and insert gap units equal to the tail protection margin for each fragment based on the lower limit.

[0008] Further, in step three, the generation rule of the information timeliness index is to read the latest confirmation sequence number and the current to-be-sent sequence number of the synchronization flow at the beginning of the data synchronization window, if the current to-be-sent sequence number is greater than the latest confirmation sequence number, then the information timeliness counter of the synchronization flow is incremented by one, and the current value of the information timeliness counter is taken as the information timeliness index.

[0009] Further, in step three, the generation rule of the relaxation control index is: checking the buffer safety window reference amount surplus flag, the interface direct flag and the retransmission budget flag in turn at the beginning of the data synchronization window, and adding one to the relaxation control counter if one of them is satisfied, and taking the current value of the relaxation control counter as the relaxation control index; wherein the buffer safety window reference amount surplus flag is set when the buffer safety window reference amount is greater than the demand of the fragmentation template, the interface direct flag is set when the tail protection margin of at least one interface is lower than the preset upper limit, and the retransmission budget flag is set when the number of unconfirmed fragments of the synchronization flow is not more than the preset upper limit.

[0010] Further, in step three, the specific rule of sorting according to the index pair is: sorting according to the information timeliness index from large to small, sorting according to the relaxation control index from large to small in the case of the same information timeliness index, and sorting according to the synchronization flow identification number from small to large in the case of the same information timeliness index and the same relaxation control index.

[0011] Further, in step three, the specific rule of assigning the sending interface for the synchronization flow is: selecting the interface with the smallest tail protection margin from the multiple interfaces available for the synchronization flow for sending.

[0012] Further, in step three, the fragmentation template and the confirmation aggregation template are issued at the same time of assigning the window opportunity; the fragmentation template is limited by the maximum transmission unit minus the header overhead, and the confirmation aggregation template is limited by the fixed time before the end of the data synchronization window, and the gap unit is interleaved with the fragmentation to make the sending schedule consistent with the tail protection margin.

[0013] Further, in step four, the specific implementation of updating the state based on the feedback confirmation information is: updating the latest confirmation sequence number, the in-queue counter, the out-of-queue counter and the reflection accumulator.

[0014] This invention provides a data synchronization window optimization method for intelligent converged terminals, which has the following advantages: Compared with traditional fixed window or dynamic adjustment methods based on average estimation, this invention can generate a buffer safety window benchmark based on real-time enqueue and dequeue behavior without relying on historical data and weight models, thereby enabling the data transmission process to have real-time traffic self-balancing capability. This mechanism effectively suppresses the instantaneous backlog growth caused by bandwidth bursts, link switching, or delay drift, ensuring that the transmission queue can maintain stable inbound and outbound rate matching under high load conditions. By introducing tail protection margin calculation based on extreme value theory during the window formation stage, this invention can maintain the predictability of the synchronization process even under network jitter and asymmetric delay distribution, and the continuity and controllability of data transmission are maintained even under extreme peak interference. Unlike traditional moving average or threshold constraint methods, this invention can actively identify and absorb link tail fluctuations, transforming extreme delays into blanking rhythms at the sending end, thereby significantly reducing the congestion risk at the receiving end. By employing Whittle / AoI index scheduling, this invention achieves dynamic ordering and interface allocation of window opportunities for multiple synchronous streams. It establishes a unified metric between information timeliness and system slackness, prioritizing high-timeliness streams and effectively filling idle periods for low-timeliness streams, thus achieving a balance between optimal overall throughput and optimal latency. The entire synchronization process uses a closed-loop feedback mechanism, with all updates derived from real-time confirmation information. This eliminates the need for complex predictions or trained models, resulting in high engineering feasibility and scalability. This invention enables intelligent converged terminals to jointly optimize window size, tail protection, and transmission opportunities in scenarios with multiple interfaces, multiple stream concurrency, and high dynamic bandwidth. This significantly improves link utilization, reduces packet loss caused by jitter, and, while maintaining data integrity, significantly enhances the system's adaptive stability and timeliness service quality. Attached Figure Description

[0015] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0016] Figure 1 This is a flowchart of a data synchronization window optimization method for intelligent converged terminals provided in an embodiment of the present invention. Figure 2 The data synchronization window provided in this embodiment of the invention features an interleaved structure timetable for fragmented and gap units; Figure 3This is a schematic diagram illustrating the principle of the arrival time distribution of detection groups and the generation of tail protection margins based on EVT extreme value theory, provided for embodiments of the present invention. Detailed Implementation

[0017] The method of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments.

[0018] Example 1: A data synchronization window optimization method for intelligent converged terminals, the method comprising: Step 1, Status Acquisition and Skorok-Buffer Control Establishment: Acquire the sending queue status of the intelligent fusion terminal, process enqueue and dequeue events through the Skorok-Buffer Control mechanism to manage the net backlog value, thereby generating a buffer safety window baseline. Step 2, EVT tail control generates tail protection margin: The detection results of the interface are processed by the extreme value theory EVT to generate a tail protection margin to resist network jitter, and combined with the buffer safety window reference value, the initial value of the data synchronization window is generated. Step 3, Whittle / AoI Index Scheduling Window Opportunities: Generate an index pair consisting of an information timeliness index and a relaxation control index for each synchronization stream, sort the index pairs, and allocate window opportunities and sending interfaces to the synchronization streams; Step 4, Execution and Simple Closed Loop: Execute data transmission based on the initial value of the data synchronization window and the window opportunity, and update the status based on the feedback confirmation information for recalculation of the buffer safety window base value, tail protection margin, and index pairs in the next loop.

[0019] This embodiment targets intelligent converged terminals equipped with cellular interfaces, wireless LAN interfaces, and short-range communication interfaces. In the specific implementation, for step 1, the minimum time granularity is first fixed at 1 millisecond. This granularity matches the high-precision timing capabilities of common operating systems, enabling the processing of enqueue and dequeue events item by item without introducing excessive timing overhead. The transmission queue is managed using synchronization units as the basic unit. The size of a synchronization unit does not exceed the maximum transmission unit minus the header overhead; in this embodiment, 1200 bytes is used as a fixed value to ensure that all cross-mainstream interfaces can be submitted at once. The transmission queue capacity is capped at 256 synchronization units. This value can be set once during deployment and is not adaptively adjusted during runtime to ensure verifiable implementation and predictable behavior. The zero boundary is 0. The zero boundary is used to determine under-bounds situations, ensuring that the net backlog value is not interfered with by negative numbers. The enqueue counter, dequeue counter, and reflection accumulator are cleared to zero at the beginning of each data synchronization window and are used continuously within that window until its end; they are cleared again when the next loop begins after the data synchronization window ends. The advantages of this approach are: it eliminates reliance on historical data, and the calculations in each loop are independent, facilitating verification and debugging. A gap unit is defined as a placeholder marker that "prevents new synchronization units from entering the transmission queue at a specific minimum time granularity." Gap units do not consume bandwidth or change the order of synchronization units already in the queue; they only block new enqueue operations, thus allowing dequeue operations time to reduce the net backlog.

[0020] At the start of each minimum time granularity, the number of pending submissions, the number of submissions in the send queue, and the interface's submission capacity are read. This reading only reflects the current instantaneous state, without smoothing or prediction, to avoid introducing historical dependencies. Within this minimum time granularity, the system may receive several enqueue requests and initiate several dequeue submissions. Each enqueue event pushes a synchronization unit into the send queue; each dequeue event submits a synchronization unit at the head of the queue to the interface. For both enqueue and dequeue events, the enqueue counter and dequeue counter are incremented by 1 upon occurrence, and the net backlog value is immediately updated and boundary checks are performed. This "process as soon as an event occurs" approach is superior to batch processing because it allows for action to be taken within the same millisecond of a boundary overflow, reducing fluctuation propagation.

[0021] The process of Skorokhod-buffered item-by-item processing includes: 1. Calculate the net backlog. Whenever the enqueue counter or dequeue counter changes, immediately update the net backlog with the difference between the two and proceed to boundary checks.

[0022] 2. Cases where the capacity exceeds the send queue limit (out of bounds): 2.1 When the net backlog value is higher than the sending queue capacity limit, calculate the excess amount and add that amount to the reflection accumulator.

[0023] 2.2 Convert the current value of the reflection accumulator into an equal number of gap units and register it on the enqueue channel of the next smallest time granularity. The registration rule is "first come, first served": starting from the next millisecond, deduct 1 gap unit every millisecond until the reflection accumulator drops to 0.

[0024] 2.3 The reason for this approach is that when the net backlog exceeds the limit, the problem stems from the inbound rate temporarily exceeding the outbound rate. Inserting a gap unit into the inbound channel can immediately limit the new backlog at the source, allowing existing outbound operations to gradually reduce the net backlog over the following milliseconds. Compared to directly discarding synchronization units, inserting a gap unit does not disrupt the order or cause retransmissions, offering the advantages of minimal adjustment and transparency to upper-layer services.

[0025] 2.4 Numerical Example: The send queue occupancy is 250. Within 1 millisecond, 12 enqueue operations and 2 dequeue operations occur, increasing the net backlog from 250 to 260, exceeding the send queue capacity limit of 256 by 4. This 4 is written to the reflection accumulator, and a gap unit is inserted in each of the next 4 milliseconds to block new enqueue operations. Since dequeue operations continue, the net backlog is typically reduced back to within the send queue capacity limit within the first to third milliseconds.

[0026] 3. Cases below the zero boundary (under-bounded): 3.1 When the net backlog is less than the zero limit, the net backlog shall be immediately reset to 0.

[0027] 3.2 Supplement acknowledgment aggregation within the same minimum time granularity. The direct effect of supplementing acknowledgment aggregation is to speed up the collection of acknowledgments from the peer end and avoid unnecessary idle gaps at the sending end due to waiting for scattered acknowledgments.

[0028] The reason for triggering an acknowledgment aggregation immediately upon reaching the under-bounds threshold is that under-bounds means the sending queue is momentarily emptied. Continuing to maintain scattered acknowledgments would prevent the arrival of the next batch of enqueues from forming an effective pipeline rhythm, easily leading to increased jitter. A one-time acknowledgment aggregation can compress the acknowledgment into a single moment without introducing additional data, after which enqueueing and dequeueing will resume a stable alternation.

[0029] 3.4 Numerical Example: The sending queue occupancy is 1. If 0 enqueues and 2 dequeues occur within the same millisecond, the net backlog value is pulled into a negative number. It is immediately set to 0, and an acknowledgment aggregation is triggered at the end of the millisecond, so that the other end can return the whole batch of acknowledgments in the next millisecond, avoiding idle time in subsequent milliseconds.

[0030] 4. Execution Priority of Spare Units: When a spare unit is registered and a new enqueue request is received within a millisecond, the spare unit is consumed first, and then it is determined whether there are still enqueue requests that have not been blocked. If all the spare units registered in that millisecond have been consumed and there are still enqueue requests, then the last enqueue request of that millisecond is allowed to enter the sending queue. This rule ensures that the spare units in the reflection accumulator are always executed and will not be bypassed by enqueue floods.

[0031] 5. Preservation of Event Order: Enqueue and dequeue events can both occur within the same millisecond. This embodiment adopts a fixed order: "process dequeue first, then enqueue, then determine the boundary." Processing dequeue first can minimize the net backlog within the same millisecond, which helps to reduce the number of gap units that need to be registered, thereby meeting the requirement of "minimizing the adjustment amount."

[0032] The generation of the buffer safety window baseline includes: generating the buffer safety window baseline once at the beginning of each data synchronization window, which remains unchanged within that data synchronization window; and regenerating it at the beginning of the next data synchronization window. The current net backlog value and the number of sending queue occupancy are read. The number of committable steps for this data synchronization window is set to 20 (corresponding to 20 minimum time granularities). This value is set once during system deployment to avoid uncertainties caused by runtime adjustments. Counting starts from the head of the queue, with a maximum of 20 synchronization units counted; the count stops when it reaches the current number of sending queue occupancy; the count stops when it reaches the fixed safety limit of 32. The actual count result obtained from the above item-by-item counting is used as the buffer safety window baseline. The reason for using the method of "item-by-item counting and stopping when encountering the first of the three stopping conditions" is to ensure that the buffer safety window baseline simultaneously meets three requirements: not exceeding the execution capacity of this data synchronization window, not exceeding the currently available actual queue size, and not exceeding the smoothness constraint imposed by the fixed safety limit.

[0033] For example: The current send queue occupancy is 45, and the net backlog within the same millisecond has been reflected back to a value no higher than the send queue capacity limit through gap units. When item-by-item counting begins, there are 45 consecutive sendable synchronization units at the head of the queue. The counting hits the stop condition of "20 commit steps" at the 20th synchronization unit, resulting in a buffer safety window base size of 20. If the queue occupancy is only 7, the stop condition of "currently available actual queue size" is hit at the 7th synchronization unit, resulting in a buffer safety window base size of 7. If the queue occupancy is 120, the count stops at the 20th synchronization unit, resulting in a buffer safety window base size of 20, without continuing to grow to 32 or larger, thus avoiding the introduction of unfulfillable commit plans within this data synchronization window.

[0034] After the buffer safety window baseline is generated, the confirmation aggregation is executed once before the end of the current data synchronization window. Since the buffer safety window baseline already limits the number of commits within the current data synchronization window, this fixed-time confirmation aggregation can cover all commits with minimal confirmation overhead, avoiding unnecessary gaps caused by scattered confirmations.

[0035] A complete example of the workflow: Millisecond 0: The send queue occupancy is 250. 12 enqueues and 2 dequeues are received, and the net backlog rises to 260. This is above the send queue capacity limit of 256, so the reflection accumulator registers 4, and then inserts 1 gap unit each from millisecond 1 to 4. Millisecond 1: Due to the gap unit taking effect, new enqueue requests are blocked once; 3 dequeues occur, and the net backlog decreases to 256. Millisecond 2: Another gap unit is consumed and 3 more dequeues occur, reducing the net backlog to 253. The reflection accumulator has 2 units remaining. Milliseconds 3 and 4: Gap units are consumed and dequeued in the same manner, reducing the net backlog to 250 and 247 respectively, and the reflection accumulator drops to 0. The start time of this data synchronization window is reached: the buffer safety window base size is 20 according to the item-by-item counting rule, and a fixed acknowledgment aggregation is performed before the window ends.

[0036] In one alternative implementation, when the terminal's timer resolution is limited, the minimum time granularity can be set to 2 milliseconds. Correspondingly, the gap units registered by the reflection accumulator are still executed in a "decrement by millisecond" manner, but each decrement spans 2 milliseconds. This achieves the same reflection effect on hardware with weak timing capabilities. For terminals with more memory resources, the transmit queue capacity can be set to 512 synchronization units. At this value, the Skorok-buffered control flow remains unchanged; only when an out-of-bounds error occurs may the number of gap units registered by the reflection accumulator be larger, but it is still digested in a decrement by millisecond. When the maximum transmission unit of an interface is low, the synchronization unit size can be fixed at 800 bytes to ensure that a single commit is always less than the maximum transmission unit minus the header overhead. This replacement does not affect the update logic of the enqueue counter, dequeue counter, or reflection accumulator, nor does it change the generation steps of the buffer safety window baseline.

[0037] For step 2, a probe sequence is first sent separately to each interface. The probe sequence contains 40 probe packets, each 64 bytes in size, with a 1-millisecond interval between packets. The purpose of choosing 40 probe packets is to ensure sufficient quantity to cover the rise and fall of a short-term fluctuation, but with a total duration not exceeding 40 milliseconds, allowing for rapid results before the current data synchronization window begins. Each probe packet records its local transmission time when sent and its local reception time when a response is received from the peer. The arrival time of the probe packet is obtained by subtracting the transmission time from the reception time. The arrival time is in milliseconds, with a minimum resolution of 1 millisecond, rounded to the nearest integer millisecond. This process keeps the timing error within 0.5 milliseconds, facilitating subsequent insertion of gap units at the smallest time granularity. If a probe packet does not receive a response within 200 milliseconds, it is considered to have timed out and is removed from this process. The reason for removal is that the link state corresponding to the timeout has deviated from the current short-term window and is not suitable for inclusion in a one-time extreme value evaluation; after removal, there are still enough arrival times for sorting and boundary selection. If the number of valid arrival times is less than 20, a one-time probe packet to fill the gap is immediately sent, still collecting its arrival time at 1-millisecond intervals, until the number of valid arrival times reaches 20. This ensures that the size of the extreme value set is not too small, avoiding instability in the middle position.

[0038] Collect all valid arrival times obtained in the previous step into an extreme value set. This set only contains integer millisecond values ​​obtained from the current probe, without smoothing, averaging, or other processing. Sort the extreme value set in ascending order. The sorted sequence is numbered from position 1 to position N. Here, N equals the number of valid arrival times. Select a value at the middle position as the extreme value threshold. The specific rule is: when N is odd, select the value that is half of N rounded up; when N is even, select the middle value at the end. For example, when N is 21, select the value at position 11; when N is 20, select the value at position 10. The reason for choosing the middle position is that the middle position is not sensitive to occasional anomalies at both ends, can stably represent the upper edge of common fluctuations, and will not be pulled by a few extremely low or high values. Take the value at position N in the sequence as the upper limit of the extreme values. The upper limit of the extreme values ​​obtained in this way is the maximum arrival time observed in this probe, which can cover the most violent jitter in this round.

[0039] Calculate the difference between the upper bound of the extreme value and the extreme value threshold. This difference is in milliseconds. Round this difference up to a multiple of the smallest time granularity. Since the smallest time granularity is 1 millisecond, rounding up still results in an integer millisecond. This integer millisecond is the tail protection margin. The significance of rounding up is to leave a margin of at least the observed tail jitter when generating the transmission schedule, avoiding truncating the tail jitter outside the gap due to rounding down.

[0040] Example 1 (Wireless LAN interface): After sorting, the middle value is 14 milliseconds, the maximum value is 27 milliseconds, the difference is 13 milliseconds, and rounding up yields a tail protection margin of 13 milliseconds. Example 2 (Cellular interface): After sorting, the middle value is 22 milliseconds, the maximum value is 41 milliseconds, the difference is 19 milliseconds, and rounding up yields a tail protection margin of 19 milliseconds. If the tail protection margins of different interfaces differ significantly, cross-interface averaging and merging are not performed; each interface's tail protection margin is retained separately. This allows each interface to have margins based on its own short-term extreme fluctuations, preventing the good condition of one interface from masking the risk of another.

[0041] The process of combining the buffer safety window baseline with the initial value of the data synchronization window includes: at the beginning of the current data synchronization window, reading the buffer safety window baseline. The buffer safety window baseline, given in step one, represents the lower limit of the number of fragments that can be safely committed within the current data synchronization window. On each interface, using the buffer safety window baseline as the lower limit of the number of fragments, a transmission schedule is arranged for these fragments one by one. The arrangement rule is: following the order of "fragment followed by gap unit", a gap unit equal to the tail guard margin of the interface is inserted for each fragment; after completing one fragment and its gap unit, the next fragment begins. This forms an interleaved structure of "send, leave space, send, leave space". An acknowledgment aggregation is performed once before the end of the data synchronization window. This fixed approach avoids acknowledgments being scattered on the timeline, thus concentrating acknowledgment arrivals at a single point in time, reducing disturbance to the interleaved structure, and ensuring that gap units are mainly used to resist link-side jitter rather than being occupied by acknowledgment queue jumping. If the interleaving structure is already full on the timeline of the current data synchronization window, then we stop inserting new fragments and keep the already arranged content unchanged. Here, we do not move existing fragments backward, nor do we compress gap units, ensuring that the interleaving structure completely corresponds to the tail protection margin obtained in the current probe.

[0042] Numerical Example: The baseline buffer safety window is 20. The tail guard margin for the WLAN interface is 13 milliseconds, and for the cellular interface it is 19 milliseconds. Therefore, on the WLAN interface, the timetable is interleaved in the following manner: "Shard 1, gap 13 milliseconds; Shard 2, gap 13 milliseconds; ...; Shard 20, gap 13 milliseconds"; on the cellular interface, the timetable is interleaved in the following manner: "Shard 1, gap 19 milliseconds; Shard 2, gap 19 milliseconds; ...; Shard 20, gap 19 milliseconds". If the WLAN interface does not have enough time available in the current data synchronization window to accommodate all 20 interleaved units, it stops at the number that the timeline can accommodate and the gaps are not compressed further. Finally, a unified confirmation aggregation is performed before the data synchronization window ends.

[0043] Choosing the middle position as the extreme threshold allows us to separate common fluctuations from single extreme fluctuations during a single probe. The middle position is unaffected by individual values ​​at either end, exhibiting strong stability and typically falling near the edge of common network congestion in continuous millisecond-level probes. Using this position as the extreme threshold is equivalent to using the upper edge of common congestion as a reference line. Choosing the maximum value as the upper limit of the extreme value ensures that the most severe jitter observed in this probe is fully accounted for. Using the difference between the upper limit and the extreme threshold as buffer space is equivalent to reserving enough space above the upper edge of common congestion to absorb the worst-case jitter. The buffer space in the interleaved structure does not change the fragment order, nor does it discard any fragments; it simply provides a fixed buffer time on the timeline for irregular fluctuations on the interface side. This maintains the original order of data while avoiding additional queuing caused by chain retransmissions.

[0044] In one alternative implementation, when the interface exhibits extremely low jitter in actual deployment, the number of probe packets can be reduced from 40 to 24, shortening the total duration to 24 milliseconds. The remaining steps remain identical, still using sorting, the middle position, and the maximum value to obtain the tail protection margin. When the number of effective arrival times is even, there are two middle positions. To more conservatively cover the common congestion edge at the boundary, the later position can be fixed. For example, when the number is 24, the value at position 12 is chosen instead of the value at position 11. This increases the support for the common edge by one sample, resulting in a slightly larger tail protection margin, which is more conducive to maintaining a stable arrival rhythm in sudden situations. If it is desirable to retain the impact of timeouts for auditing purposes, the timeout value can be included in the set at 200 milliseconds. In this case, the maximum value after sorting is usually equal to 200 milliseconds, and the extreme value threshold is still given by the middle position, resulting in a larger tail protection margin and correspondingly increased blank space in the staggered structure, which can further reduce the probability of congestion collisions in fragments during periods of weak coverage or tunnel handover.

[0045] For step 3, the baseline value of the buffer safety window has been obtained. This value remains unchanged within the current data synchronization window. The tail guard margin for each interface has been obtained. Each interface independently holds a tail guard margin, without cross-interface merging. Each synchronization stream has a synchronization stream identifier, the latest acknowledgment number, the current pending sequence number, and the number of unacknowledged fragments. The information timeliness counter and the relaxation control counter are cleared at the beginning of each data synchronization window, and each generates an information timeliness index and a relaxation control index once according to the rules of this embodiment within the window. The fragment template requirement is set to a default value of 4 in this embodiment. When the current available pending fragments for a synchronization stream are less than 4, the fragment template requirement is equal to the current available pending fragments for that synchronization stream. This setting ensures that the minimum transmission plan for each synchronization stream within a window opportunity is clear and executable. The preset upper limit for the number of unacknowledged fragments is 64. The preset upper limit for the tail guard margin is 25 milliseconds. The maximum size of a single fragment after deducting header overhead from the maximum transmission unit is 1200 bytes.

[0046] At the start of each data synchronization window, the latest acknowledgment number and the current pending sequence number of each synchronization stream are read. If the current pending sequence number of a synchronization stream is greater than its latest acknowledgment number, the information timeliness counter for that synchronization stream is incremented by 1, and its current value is used as the information timeliness index for that synchronization stream; otherwise, the information timeliness counter is kept at 0, and 0 is used as the information timeliness index for that synchronization stream. The reason for this is that a current pending sequence number greater than the latest acknowledgment number indicates that there is new, un-covered data in that synchronization stream. If it is not sent in time, the availability of the data on the receiving side will continue to decrease. Incrementing the information timeliness counter by 1 and using it as the information timeliness index is equivalent to giving this type of synchronization stream a clear indication that it "needs faster updates," facilitating its priority in sorting. Since this judgment is only performed once at the start of each data synchronization window, the information timeliness index remains stable within that window and will not fluctuate repeatedly due to temporary short-term jitter.

[0047] At the start of the data synchronization window, three flags are checked sequentially for each synchronization stream: Buffer Safety Window Baseline Spare Flag, Interface Direct Access Flag, and Retransmission Budget Flag. The Buffer Safety Window Baseline Spare Flag is set when the buffer safety window baseline is greater than the fragmentation template requirement of the synchronization stream. This flag reflects that the available commit capacity within the current window is relatively sufficient to accommodate one window opportunity for the synchronization stream without crowding out the necessary space for other synchronization streams. The Interface Direct Access Flag is set when the tail guard margin of at least one interface is less than 25 milliseconds. This flag indicates that there is a smoother transmission path that can reliably insert fragments in an interleaved structure without changing the data order. The Retransmission Budget Flag is set when the number of unacknowledged fragments in the synchronization stream does not exceed 64. This flag ensures that continuing to send new fragments within the current window opportunity will not cause a retransmission backlog. For each flag satisfied, the relaxation control counter is incremented by 1. After the three checks are completed, the current value of the relaxation control counter is the relaxation control index of the synchronization stream, ranging from 0 to 3. The reason for using three types of tags is to provide a one-time feasibility assessment based on three dimensions: submission capability, path stability, and unconfirmed load. All three types of tags are determined instantly and do not involve historical trajectories, facilitating consistent implementation across different terminal platforms.

[0048] For each synchronization stream, an index pair is constructed using the information timeliness index and the relaxation control index. All synchronization streams are sorted according to the following rules: First, sort by information timeliness index from largest to smallest. Synchronization streams with larger information timeliness indices are prioritized for entry into the sending queue, ensuring new data reaches the receiving side faster. When information timeliness indices are the same, sort by relaxation control index from largest to smallest. Synchronization streams with larger relaxation control indices are more likely to complete a full interleaved structure transmission and acknowledgment aggregation within the current window, thus taking priority. When both information timeliness and relaxation control indices are the same, sort by synchronization stream identifier from smallest to largest, ensuring the sorting process is deterministic and reproducible. After sorting, a complete sequence list is obtained. This list will be used sequentially to allocate window opportunities within this data synchronization window.

[0049] According to the sorted full sequence list, a window opportunity is allocated to each synchronization stream from beginning to end. Each synchronization stream obtains one window opportunity within a data synchronization window. While allocating a window opportunity for a synchronization stream, a sending interface is selected from the multiple available interfaces for that synchronization stream. The selection rule is as follows: within the set of available interfaces, the interface with the smallest tail protection margin is selected as the sending interface; when multiple interfaces have the same tail protection margin and are all minimum values, selection is based on the interface priority sequence, which is: wireless LAN interface, cellular interface, and short-range communication interface. The advantage of selecting the interface with the smallest tail protection margin is that the arrival time of this interface is less dispersed, and the gap units in the staggered structure are more likely to cover actual fluctuations, thereby reducing the probability of congestion collisions in consecutive segments; when the minimum values ​​are the same and tied, using a fixed interface priority sequence can avoid unpredictable differences in implementation between different devices.

[0050] After allocating a window opportunity and selecting a sending interface for a synchronization stream, a fragmentation template and an acknowledgment aggregation template are immediately issued. The specific rules for the fragmentation template are: the size of a single fragment cannot exceed the maximum transmission unit minus the header overhead, with 1200 bytes as the upper limit; the number of fragments that the synchronization stream attempts to send within this window opportunity cannot exceed the fragmentation template requirement, and also cannot exceed the number of remaining fragments that the sending interface can accommodate within the current data synchronization window; when the two conflict, the smaller one prevails. The specific rules for the acknowledgment aggregation template are: an acknowledgment aggregation is performed once before the end of the current data synchronization window. The schedule arrangement rules are: aligning with the tail guard margin of the selected sending interface, inserting a gap unit equal to the tail guard margin after each fragment, forming an interleaved structure of "fragment, gap, fragment, gap"; when the remaining time of the current data synchronization window is insufficient to accommodate the complete interleaved structure, the insertion of new fragments stops, and the already arranged content remains unchanged. The direct effect of this arrangement is to absorb short-term jitter on the interface side with fixed blank spaces, without changing the fragmentation order.

[0051] Complete numerical example: The baseline value for the buffer security window is 20. The tail guard margin for the WLAN interface is 13 milliseconds, for the cellular interface it is 19 milliseconds, and for the short-range communication interface it is 7 milliseconds. There are three synchronization streams: the first synchronization stream identifier, the second synchronization stream identifier, and the third synchronization stream identifier. The number of unacknowledged fragments are 12, 4, and 68, respectively. The relationship between the latest acknowledgment number and the current pending sequence number is as follows: the current pending sequence number of the first synchronization stream identifier is greater than the latest acknowledgment number; the current pending sequence number of the second synchronization stream identifier is greater than the latest acknowledgment number; and the current pending sequence number of the third synchronization stream identifier is equal to the latest acknowledgment number. The information timeliness index of the first synchronization stream identifier is 1; the information timeliness index of the second synchronization stream identifier is 1; and the information timeliness index of the third synchronization stream identifier is 0.

[0052] For the first synchronization stream identifier: the buffer safety window baseline is 20, which is greater than the fragmentation template requirement of 4, so the buffer safety window baseline surplus flag is set; at least one interface has a tail protection margin of less than 25 milliseconds, so the interface direct reach flag is set; the number of unacknowledged fragments is 12, which does not exceed 64, so the retransmission budget flag is set; therefore, the relaxation control index is 3. For the second synchronization stream identifier: the buffer safety window baseline is 20, which is greater than the fragmentation template requirement of 4, so the buffer safety window baseline surplus flag is set; at least one interface has a tail protection margin of less than 25 milliseconds, so the interface direct reach flag is set; the number of unacknowledged fragments is 4, which does not exceed 64, so the retransmission budget flag is set; therefore, the relaxation control index is 3.

[0053] For the third synchronization stream identifier: the buffer safety window baseline is 20, which is greater than the fragmentation template requirement of 4, so the buffer safety window baseline surplus flag is set; at least one interface's tail protection margin is less than 25 milliseconds, so the interface direct reach flag is set; the number of unacknowledged fragments is 68, which exceeds 64, so the retransmission budget flag is not set; therefore, the relaxation control index is 2. First, sort by information timeliness index from largest to smallest, resulting in the first and second synchronization stream identifiers first, followed by the third synchronization stream identifier; between the first and second synchronization stream identifiers with the same information timeliness index, sort by relaxation control index from largest to smallest, both of which are 3, and continue sorting by synchronization stream identifier from smallest to largest, the final order is first synchronization stream identifier, second synchronization stream identifier, and third synchronization stream identifier.

[0054] Allocate a window opportunity for the first synchronization stream identifier, and select the short-range communication interface with the smallest tail protection margin (7 milliseconds) from the three interfaces as the sending interface; issue a fragment template, with a fragment size not exceeding 1200 bytes, and attempt to send 4 fragments; issue an acknowledgment aggregation template, and perform an acknowledgment aggregation once before the window ends; arrange the fragments in an interleaved structure of "fragment, 7 millisecond gap, fragment, 7 millisecond gap, fragment, 7 millisecond gap, fragment, 7 millisecond gap".

[0055] The window opportunity is allocated for the second synchronization stream identifier, and the short-range communication interface with a gap of 7 milliseconds is also selected as the sending interface. If the number of fragments that the short-range communication interface can still accommodate in the current data synchronization window is less than 4, the number of fragments to be sent will be reduced to the number that the interface can still accommodate in the current window. The interleaving structure of "fragment, gap of 7 milliseconds" is still used until the time axis of the current data synchronization window can no longer accommodate a complete interleaving unit.

[0056] A window opportunity is allocated for the third synchronization stream identifier. The smaller tail guard margin between the short-range communication interface and the wireless LAN interface is selected. 7 milliseconds is still the minimum for the short-range communication interface, so it is chosen. Since the number of unacknowledged fragments for this synchronization stream is 68, it does not meet the retransmission budget flag, but this does not affect obtaining a window opportunity. Within this window opportunity, fragment templates and acknowledgment aggregation templates are still issued, attempting to send fragments with a number not exceeding the smaller of the fragment template requirement and the current interface's capacity, and orchestrating them according to an interleaved structure of "fragments, 7-millisecond gaps". If the remaining time in the current data synchronization window is insufficient to accommodate any complete interleaved unit, insertion is stopped, and the already orchestrated content remains unchanged. After the above orchestration, all three synchronization streams obtain one window opportunity within the current data synchronization window and transmit using their respective selected sending interfaces and interleaved structures. Because the interleaved structure is strictly aligned with the tail guard margin, short-term jitter on the interface side is absorbed by the gap unit, and the acknowledgment aggregation is executed once before the window ends, without diverting interference to the orchestrated interleaved structure on the timeline.

[0057] Regarding step 4: The baseline value for the buffer safety window has been given in step 1. For example, a value of 20. The tail protection margin for each interface has been obtained in step 2. For example, 13 milliseconds for the wireless LAN interface, 19 milliseconds for the cellular interface, and 7 milliseconds for the short-range communication interface. In step 3, window opportunities and sending interfaces have been allocated for each synchronization stream, and fragmentation templates and acknowledgment aggregation templates have been issued. The maximum size of a single fragment in the fragmentation template is 1200 bytes; the acknowledgment aggregation template is executed once before the data synchronization window ends.

[0058] The timeline is incremented in 1-millisecond increments. At the beginning of each increment, dequeueing is processed first, followed by enqueueing, and finally, it is checked whether a gap unit needs to be consumed. This sequence is consistent with step one, prioritizing the reduction of net backlog within the same 1-millisecond timeframe, thus reducing the number of gap units that need to be inserted subsequently. For the first synchronization stream to obtain a window opportunity, its fragments and gap units on the selected sending interface are arranged on the timeline in an interleaved structure of "fragment followed by gap unit". If the sending interface is a short-range communication interface and the tail guard margin is 7 milliseconds, the first fragment is dequeued at the beginning of the timeline, followed by the insertion of 7 gap units, corresponding to 7 millisecond increments, blocking new enqueue requests from entering the sending queue; the second fragment is dequeued at the 8th millisecond increment, followed by the insertion of 7 gap units again; this process is repeated until all fragments planned for transmission within the current window opportunity are completed, or until the remaining time of the current data synchronization window is insufficient to accommodate a complete "fragment plus gap" interleaved unit. The reason for placing the gap unit immediately after each fragment is to directly map the tail protection margin observed on the interface side to the time buffer on the transmitting side. The larger the tail protection margin, the wider the arrival time fluctuation of the interface; by pre-allocating an equal-length blank interval on the transmitting side, potential congestion collisions on the receiving side can be transferred to waiting on the transmitting side, making the arrival rhythm more uniform.

[0059] For later-ordered synchronization streams, the timeline is independently orchestrated according to its assigned transmission interface. The timelines of different interfaces do not overlap, thus allowing for parallel execution. For example, while a short-range communication interface submits a fragment and inserts 7 gap units at millisecond 0, a wireless LAN interface can submit its own fragment and insert 13 gap units at millisecond 0. The direct benefit of this arrangement is increased overall commit volume within the same data synchronization window, while maintaining strict consistency between the interleaving structure within each interface and its tail guard margin.

[0060] When the remaining time on the timeline at a certain interface is insufficient to accommodate a complete "slice plus gap" interleaved unit, immediately stop arranging new slices at that interface, keep the already arranged content unchanged, do not compress gap units forward, and do not change the slice order. This avoids disrupting the stable rhythm previously established by tail protection margins in pursuit of quantity.

[0061] A fixed acknowledgment aggregation is triggered before the data synchronization window ends. The trigger time can be set 1 millisecond before the end. This fixed approach avoids discrete insertion of acknowledgments on the timeline. If acknowledgments are returned sporadically across multiple millisecond intervals, they will compete with gap units for the same time interval, disrupting the already arranged staggered structure; concentrating them at a single moment eliminates the congestion of acknowledgments on the timeline, ensuring that the blank intervals previously reserved to mitigate jitter are fully preserved. After triggering the acknowledgment aggregation, the receiving side merges and returns a set of acknowledgment sequence numbers according to the arrival status within the current data synchronization window, and the sending side initiates a status update upon receiving this set.

[0062] For each synchronization stream, read the set of acknowledgment numbers for that stream, checking continuously from the smallest number until the first unacknowledged number is encountered; set the highest consecutively acknowledged number as the latest acknowledgment number for that synchronization stream. The direct effect of this is that it advances the latest acknowledgment number only based on consecutive acknowledgments, avoiding misjudgments of available progress due to unacknowledged fragments in the middle. Count the number of fragments actually committed on all interfaces within this data synchronization window and add this number to the dequeue counter. Since dequeueing is performed first at the beginning of each 1-millisecond tick, this count is consistent with the actual commits. Count the total number of all enqueue events within this data synchronization window and add this number to the enqueue counter. Enqueue events include data writes from the upper layer and supplementary operations performed to restore feasible bands in under-bounds situations. Count the number of gap units registered and consumed due to out-of-bounds conditions within this data synchronization window and deduct the consumed quantity from the reflection accumulator; if there are still unconsumed registered quantities at the end of this data synchronization window, these registered quantities are cleared to zero at the end and not carried over to the next data synchronization window. The advantage of zeroing out is that the next loop is entirely driven by new enqueue and dequeue events, avoiding cross-window remnants from causing bias in the new round of judgments. All the above updates are executed at once after the aggregation is confirmed, ensuring that a definite state is formed at the same time, providing a unique input for the recalculation of the buffer safety window baseline, tail protection margin, and index pairs in the next round.

[0063] Complete numerical example: The baseline value for the buffer safety window is 20. There are three synchronization streams: the first synchronization stream identifier, the second synchronization stream identifier, and the third synchronization stream identifier; all three have obtained window opportunities in step three. The tail guard margin for the short-range communication interface is 7 milliseconds, and the tail guard margin for the wireless LAN interface is 13 milliseconds.

[0064] The first synchronization stream identifier selects the short-range communication interface. Four fragments are arranged in an interleaved structure of "fragmentation, 7-millisecond gap"; one fragment is submitted for dequeueing at 0, 8, 16, and 24 milliseconds. The second synchronization stream identifier selects the wireless LAN interface. Four fragments are arranged in an interleaved structure of "fragmentation, 13-millisecond gap"; one fragment is submitted for dequeueing at 0, 14, 28, and 42 milliseconds. The third synchronization stream identifier selects the short-range communication interface. Since the time axis of the short-range communication interface is occupied by the interleaved structure of the first synchronization stream identifier, only one complete "fragmentation plus gap" interleaved unit can be accommodated before 32 milliseconds. Therefore, only one fragment is submitted for dequeueing at 32 milliseconds and a 7-millisecond gap unit is inserted.

[0065] One millisecond before the data synchronization window ends, an acknowledgment aggregation is triggered. The receiving side returns three sets: For the first synchronization stream identifier, four consecutive acknowledgments are returned. The sending side advances the latest acknowledgment number of this synchronization stream by four. For the second synchronization stream identifier, three consecutive acknowledgments and one unacknowledgment are returned. The sending side advances the latest acknowledgment number of this synchronization stream by three, and leaves the gaps corresponding to unacknowledgment fragments unprocessed. For the third synchronization stream identifier, one acknowledgment is returned. The sending side advances the latest acknowledgment number of this synchronization stream by one.

[0066] The dequeue counter increments by 9 within this data synchronization window (5 for the short-range communication interface and 4 for the wireless LAN interface). The enqueue counter is summed based on the actual number of writes from the upper layer; for example, if 12 enqueues occur within this window, the enqueue counter increments by 12. The number of gap units consumed by the reflection accumulator within this window equals the number of gap units actually inserted and effective during the execution phase. For example, if the short-range communication interface consumes 5 × 7 equals 35 gap units, and the wireless LAN interface consumes 4 × 13 equals 52 gap units, a total of 87 gap units are consumed. If any registrations remain unconsumed, they are cleared to zero at the end of the window. The latest acknowledgment numbers of the three synchronization streams advance according to the acknowledgment sets, forming the starting point required for the next round of calculation.

[0067] After the above updates are completed, the execution of this data synchronization window and the simplified closed loop are finished. At the start of the next round, new enqueue and dequeue events are processed again at a 1-millisecond granularity according to step one, generating a new buffer safety window baseline; probe sequences are reissued for each interface according to step two, obtaining a new tail protection margin; and index pairs are regenerated, sorted, and new window opportunities and sending interfaces are allocated under the new input according to step three. Since the reflection accumulator was cleared at the end of the previous round, the judgment of the new round is entirely derived from the observations of this round, avoiding cross-round residual interference.

[0068] Example 2: Let This represents the smallest time granularity (in milliseconds). In this example, it takes... .set up This represents the send queue capacity limit (in the number of synchronization units). In this example, it is taken as... .set up This represents the enqueue counter (in units of synchronization), which is set to 0 at the start of each data synchronization window. This represents the dequeue counter (in units of synchronization), which is set to 0 at the start of each data synchronization window. This represents the reflection accumulator (in units of gaps), which is set to 0 at the start of each data synchronization window. Let... The net backlog (in units of synchronization) is defined as follows: ; set up Represents the maximum transmission unit (unit: bytes), taking .set up Indicates header overhead (in bytes), take .set up The maximum size of a single slice (in bytes) is defined as follows: .set up Indicates synchronous stream The fragment template requirement within a single window opportunity (unit: number of fragments). This example defaults to a base value of 4 for each synchronous stream; when there are fewer than 4 available fragments to be sent, the actual number of available fragments will be used.

[0069] set up This represents the duration of the data synchronization window (in milliseconds). In this example, it is taken as... .set up This represents the number of committable steps in this data synchronization window (in units of the smallest time granularity). In this example, it is taken as... .set up This represents the upper limit of a single safe smoothing operation (in units of the number of fragments). In this example, we take... .set up The baseline size of the buffer safety window (in units of fragments) is generated from step one: ,in This indicates the number of data points occupied in the send queue at the start of the window (in units of synchronization units). Let... Interface Arrival time series (in milliseconds, rounded to the nearest millisecond) obtained in a single probe are sorted in ascending order; let... This represents the value at the middle position (odd numbers take the center value, even numbers take the middle value further back), let... This represents the maximum value. Let it be... Interface The tail protection margin (in milliseconds) is defined as .

[0070] set up Indicates synchronous stream The current pending sequence number (unitless, monotonically increasing label), let... Indicates synchronous stream The latest confirmation number. Let... Indicates synchronous stream Information timeliness index (unitless, taking the value 0 or 1), is defined as follows: ;set up Indicates synchronous stream The number of unconfirmed fragments (in fragments). Let... This represents the preset upper limit for the number of unconfirmed fragments (in fragments). In this example, it is set to... .set up This represents the preset upper limit (in milliseconds) of the tail protection margin; in this example, it is taken as... .set up These represent the values ​​(0 or 1) of the three types of instantaneous markers: .set up Indicates synchronous stream The relaxation control index (unitless, ranging from 0 to 3) is defined as follows: .set up This represents the sorting result (a sequence of synchronous stream identifiers), sorted by first... Descending order, then by Descending order, then ascending order by synchronization stream identifier.

[0071] set up Indicates synchronous stream The window opportunity within this data synchronization window (exactly 1 time per synchronization stream). Let... This represents the selected sending interface number for a certain synchronization stream, defined as follows: If there is a tie for the lowest value, a fixed priority order will be used for selection (in this example, the priority order is wireless LAN interface, cellular interface, and short-range communication interface). Let... Indicates synchronous stream In the interface Upper The dequeue time (in milliseconds, relative to the start of the current data synchronization window) of each slice is defined as follows: ,in Interface The starting orchestration time (in milliseconds; different interfaces can run in parallel, so each can be set to 0).

[0072] Events observed in the last 1 millisecond before the start of the data synchronization window: 12 enqueues and 2 dequeues occurred. Write the counter to: .because The last boundary is not triggered, reflection is not triggered, and the boundary is maintained. In the next millisecond, 0 enqueues and 3 dequeues occur: It has not yet exceeded the limit. If it appears... In the case of (which will be shown later in this example), registration is required. One gap unit: The number of bytes occupied in the sending queue at the start of the data synchronization window is denoted as... Generated by triple stop rules Obtain the baseline value of the buffer safety window. .

[0073] Example of arrival time (in milliseconds) for a single probe from a wireless LAN interface: (Total 20). The 10th value is taken from the middle position. maximum value . To maintain consistency with the previous more conservative configuration, a value of 13 can also be obtained from another set of samples in the same batch; this example will be consistently numbered 13 from now on, denoted as . .

[0074] Example of arrival time for a single probe using a cellular interface: Pick ,get To align with a more intense outbreak period, a space can also be left for 19; this example uniformly uses 19. Example of arrival time for a single probe in a short-range communication interface: .Pick ,get To withstand larger fluctuations later, this example uses a conservative configuration. .

[0075] Input given to three synchronized streams: synchronized streams of Both are 4; Number of fragments not confirmed; .because All three synchronous streams were obtained . All three synchronous streams were obtained Retransmission budget: , Therefore .

[0076] Sorted according to the rules Assign each synchronization stream sequentially. .

[0077] Interface selection adopts ,because Minimum, and since all three synchronous streams in this example can use three interfaces, if the timeline allows, all three synchronous streams should preferentially choose short-range communication interfaces; considering the capacity within the window, the orchestration described later will also utilize wireless LAN interfaces to improve the overall commit capacity. Maximum size of a single fragment. In the interface Above, if it is a synchronous stream plan to send If there are multiple fragments, then the time consumed by this interface is approximately... ,in One millisecond can be considered the "commit tick". When At that time, Reduced to the maximum achievable integer. The margin for short-range communication interfaces is... Therefore, each segment is followed by 7 gap units; the blank space for the wireless LAN interface is 13.

[0078] First synchronization stream (ranked first): Short-range communication interface is preferred. ,plan ,examine It can accommodate [number] people. Departure time: Second synchronization stream (second in order): To improve overall capacity, select the wireless LAN interface (in parallel with the short-range communication interface), and choose... ,plan ,examine It can accommodate [number] people. Departure time: The third synchronization stream (ranked third): Short-range communication interfaces remain the preferred choice. The short-range communication interface has been extended from time axis 0-31 (including the last 7 gap units) occupied by the first synchronization stream to 31. It can accommodate more within 64. An interleaved unit, therefore the plan It can also accommodate. Take Departure time: At this point, the two interfaces are operating in parallel: - The short-range communication interface has a total of 8 segments (4 from the first synchronization stream and 4 from the third synchronization stream), occupying the time axis from 0 to 63 (the last segment has a blank space of 7 after 56, reaching 63). - The wireless LAN interface has a total of 4 segments (4 from the second synchronization stream), occupying the time axis from 0 to 55 (the last blank space extends to 55).

[0079] 1 millisecond before the window ends Triggering acknowledgment aggregation, the receiving side merges and returns an acknowledgment set according to arrival status. Assume the acknowledgment results are as follows: First synchronization stream: 4 consecutive acknowledgments. Second synchronization stream: 3 consecutive acknowledgments and 1 unacknowledgment (corresponding to its 4th fragment). Third synchronization stream: 4 consecutive acknowledgments. The latest acknowledgment sequence number advances. .

[0080] The total number of actual departures in this window If a total of 15 enqueues occur within this window, then... At this point, the net backlog value is updated to... During the arrangement of this window, all spacing units are actively inserted as needed for white space and do not fall under the category of "over-boundary triggered reflection registration"; if any gaps have appeared in this window... The boundary was exceeded and registered. If there are gaps in the unit, then after consumption If there are any remaining registrations when the window closes, they will be cleared. .

[0081] The total number of outgoing fragments completed in this window is 12, and the overall timeline is strictly aligned with the tail protection margin; the one-time confirmation aggregation avoids the discretization of confirmations on the timeline, thereby ensuring that the gap unit is fully aligned after each fragment, effectively absorbing short-term interface jitter.

[0082] When the next window begins, press Reprocess new enqueue and dequeue events at a granular level, according to Regenerate the buffer safety window baseline; re-probe the arrival time set for each interface and calculate... According to the new and Generate a new sort reallocate new and .because The data is reset to zero at the end of the previous window, and new decisions are driven only by new observations, avoiding cross-window residue.

[0083] Figure 2This diagram illustrates the staggered data fragmentation and gap unit timetable within the data synchronization window. It details how this invention, across multiple network interfaces, interleaves data fragments and gap units based on independently calculated tail guard margins for each interface, thereby creating a jitter-resistant transmission timetable. The diagram vertically displays three independent network interfaces, labeled Interface 1, Interface 2, and Interface 3. Each interface's tail guard margin value is indicated on the right: 7 milliseconds for Interface 1, 13 milliseconds for Interface 2, and 19 milliseconds for Interface 3. These values ​​are derived from independent probing and extreme value processing performed on each interface in step two. The differences in these values ​​reflect the varying stability of different interfaces under the current network environment. Interface 1 has the smallest guard margin, indicating smaller arrival time fluctuations and a relatively stable link; Interface 3 has the largest guard margin, indicating significant latency jitter. The bottom of the figure shows a unified timeline, with the horizontal axis in milliseconds, ranging from 0 to 60 milliseconds, covering the time span of a complete data synchronization window. Each mark on the timeline corresponds to the smallest time granularity used in this invention, which is 1 millisecond. Based on this timeline, the sending activities of each interface unfold independently in an interleaved structure. Taking interface 1 as an example, the figure shows the specific arrangement of its interleaved structure. At the starting point of the timeline, a data fragment is first submitted. This fragment is represented in the figure as a black-filled rectangle, labeled "P1," with a width corresponding to one smallest time granularity. Immediately following the P1 fragment, seven gap units are inserted consecutively, represented in the figure as rectangles with dashed borders, labeled "Gap 7ms," with a total width of 70 time scale units (corresponding to 7 milliseconds). The purpose of the gap units is to block new enqueue requests from entering the sending queue during these 7 millisecond time intervals, reserving sufficient time buffer for potential latency fluctuations encountered by the submitted P1 fragment on the interface side. After completing fragment P1 and its gap units, the second fragment P2 is submitted at the 8-millisecond mark, followed by another 7 gap units; this process continues until fragments P3 and P4 are interleaved. This interleaved structure ensures that each fragment is followed by a margin equal to the length of the tail guard margin of interface 1, so that even if there is a maximum arrival time fluctuation of 13 milliseconds on the interface side, the sending side has already absorbed this uncertainty through the gap units. The interleaved structure of interface 2 is completely consistent with that of interface 1 in principle, but because its tail guard margin is 13 milliseconds, the width of the gap unit inserted after each fragment is 130 time units. The figure shows the arrangement of the four fragments P1 to P4 on interface 2. The interval between each fragment is significantly larger than that of interface 1, reflecting a more ample time reserve for larger jitter amplitudes. The tail guard margin of interface 3 is 19 milliseconds, so the width of the gap unit after each fragment in its interleaved structure reaches 190 time units.Because the gaps occupy a longer time, within the same data synchronization window, interface 3 can accommodate fewer fragments than interfaces 1 and 2. The figure only shows the interleaved arrangement of fragments P1 to P3. The right side of the figure provides a legend: the black-filled rectangle represents "fragment transmission," corresponding to the actual data submission action; the rectangle with a dashed border represents a "gap unit," corresponding to the active waiting period on the sending side. Through this interleaved arrangement, this invention directly maps the tail delay characteristics observed on the interface side to the rhythm control strategy on the sending side. Without changing the data fragment order or discarding any data, it trades time for stability, significantly reducing the risk of congestion and retransmission caused by network jitter.

[0084] Figure 3This diagram illustrates the principle behind the generation of the probe packet arrival time distribution and tail guard margin based on EVT extreme value theory. It demonstrates how this invention processes network probe results using extreme value theory to obtain a tail guard margin to mitigate network jitter. The horizontal axis represents the arrival time of probe packets in milliseconds, ranging from 5 to 40 milliseconds, reflecting the round-trip delay distribution observed within a complete probe cycle. The vertical axis represents the frequency of probe packets falling into each time interval, measured in times, ranging from 0 to 10, used to statistically analyze the frequency of packets occurring within a specific arrival time period. A histogram is used to display the arrival time distribution characteristics of 40 probe packets. It can be observed that the arrival time distribution exhibits a typical right-skewed characteristic, mainly concentrated in the 10 to 25 millisecond range, corresponding to the normal congestion state of the network. In the tail region after 25 milliseconds, the frequency gradually decreases but still exists; these tail data points represent extreme network jitter conditions. Two key vertical dashed lines are marked in the diagram. The first dashed line, located at 14 milliseconds on the horizontal axis, is labeled "Extreme Threshold (Middle Position 14ms)". This extreme threshold is obtained by sorting all valid arrival times in ascending order and selecting the value located in the middle of the sequence. When there are 40 valid arrival times, the middle position corresponds to the 20th or 21st value; this embodiment selects a later position to obtain a more conservative boundary estimate. The physical meaning of the extreme threshold is that it divides the entire arrival time distribution into two regions: the left side of the threshold represents the normal response interval of the network, and the right side represents the transition and tail interval containing jitter components. The second dashed line, located at 27 milliseconds on the horizontal axis, is labeled "Upper Boundary of Extreme Value (Maximum Value 27ms)". This upper boundary of extreme value is the maximum arrival time observed in this probe sequence, representing the most severe delay peak occurring under the current network conditions. The area from the extreme threshold to the upper boundary of extreme value is marked by a gray shaded area in the figure; this area is labeled as the "tail jitter region". The width of the tail jitter region is equal to the difference between the upper limit of the extreme value and the extreme threshold. In this example, it is 27 milliseconds minus 14 milliseconds, resulting in 13 milliseconds. This difference, after being rounded up, is the value of the tail guard margin. The bottom of the figure clearly indicates "Tail Guard Margin = 13ms" with a horizontal double-headed arrow marked with endpoints, visually demonstrating the calculation basis and source of the value of this guard margin. The purpose of the tail guard margin is to reserve an equal-length gap unit for each data fragment in the subsequent transmission window orchestration, allowing the sender to actively buffer time for possible extreme delays on the interface side, thereby avoiding packet loss or retransmission of consecutive fragments on the receiving side due to congestion collisions.

[0085] While specific embodiments of the present invention have been described above, those skilled in the art should understand that these specific embodiments are merely illustrative. Those skilled in the art can omit, substitute, and modify the details of the above methods and systems in various ways without departing from the principles and essence of the present invention. For example, combining the above method steps to perform substantially the same function and achieve substantially the same result according to substantially the same method falls within the scope of the present invention. Therefore, the scope of the present invention is defined only by the appended claims.

Claims

1. A method for optimizing the data synchronization window for intelligent converged terminals, characterized in that, The method includes: Step 1, Status Acquisition and Skorok-Buffer Control Establishment: Acquire the sending queue status of the intelligent fusion terminal, process enqueue and dequeue events through the Skorok-Buffer Control mechanism to manage the net backlog value, thereby generating a buffer safety window baseline. Step 2, EVT tail control generates tail protection margin: The detection results of the interface are processed by the extreme value theory EVT to generate a tail protection margin to resist network jitter, and combined with the buffer safety window reference value, the initial value of the data synchronization window is generated. Step 3, Whittle / AoI Index Scheduling Window Opportunities: Generate an index pair consisting of an information timeliness index and a relaxation control index for each synchronization stream, sort the index pairs, and allocate window opportunities and sending interfaces to the synchronization streams; Step 4, Execution and Simple Closed Loop: Execute data transmission based on the initial value of the data synchronization window and the window opportunity, and update the status based on the feedback confirmation information for recalculation of the buffer safety window base value, tail protection margin, and index pairs in the next loop.

2. The method according to claim 1, characterized in that, In step one, the Skorok-buffer control mechanism is implemented as follows: An enqueue counter, a dequeue counter, and a reflection accumulator are set; the enqueue counter increments when a synchronization unit enters the transmission queue, and the dequeue counter increments when a synchronization unit is submitted to the interface; the net backlog between the enqueue counter and the dequeue counter is calculated; when the net backlog is higher than the transmission queue capacity limit, the excess amount is written to the reflection accumulator, and a gap unit is inserted subsequently; when the net backlog is lower than the zero limit, it is set to zero and an acknowledgment aggregation is performed.

3. The method according to claim 1, characterized in that, In step two, the specific implementation of generating the tail protection margin is as follows: a detection sequence consisting of several detection packets is sent on each interface; the arrival time of the detection packets is collected to form an extreme value set; the extreme value set is sorted, and a value located in the middle of the set is taken as the extreme value threshold, and the maximum value in the set is taken as the extreme value upper bound. The difference between the extreme value upper bound and the extreme value threshold is rounded up to obtain the tail protection margin.

4. The method according to claim 1 or 3, characterized in that, In step two, the specific method for generating the initial value of the data synchronization window by combining the buffer safety window reference value and the tail protection margin is as follows: on each interface, the buffer safety window reference value is used as the lower limit of the number of fragments, and on the basis of this lower limit, a gap unit with the same amount as the tail protection margin is inserted into each fragment.

5. The method according to claim 1, characterized in that, In step three, the information timeliness index is generated according to the following rules: at the beginning of the data synchronization window, the latest confirmation sequence number and the current pending sequence number of the synchronization stream are read. If the current pending sequence number is greater than the latest confirmation sequence number, the information timeliness counter of the synchronization stream is incremented by one, and the current value of the information timeliness counter is used as the information timeliness index.

6. The method according to claim 1 or 5, characterized in that, In step three, the relaxation control index is generated according to the following rules: at the beginning of the data synchronization window, the buffer safety window baseline quantity surplus flag, the interface direct access flag, and the retransmission budget flag are checked sequentially. If any one of them is satisfied, the relaxation control counter is incremented by one, and the current value of the relaxation control counter is used as the relaxation control index. Specifically, the buffer safety window baseline quantity surplus flag is set when the buffer safety window baseline quantity is greater than the fragment template requirement, the interface direct access flag is set when the tail protection margin of at least one interface is lower than the preset upper limit, and the retransmission budget flag is set when the number of unacknowledged fragments in the synchronization stream does not exceed the preset upper limit.

7. The method according to claim 5, characterized in that, In step three, the specific rules for sorting based on the index are as follows: sort by information timeliness index from largest to smallest; if the information timeliness index is the same, sort by relaxation control index from largest to smallest; if both are the same, sort by synchronization stream identifier from smallest to largest.

8. The method according to claim 1, characterized in that, In step three, the specific rule for allocating a sending interface for the synchronization stream is: select the interface with the smallest tail protection margin from the multiple interfaces available for the synchronization stream for sending.

9. The method according to claim 1, characterized in that, In step three, while allocating window opportunities, fragmentation templates and acknowledgment aggregation templates are issued. The fragmentation template is capped at the maximum transmission unit minus the header overhead, and the acknowledgment aggregation template is based on a fixed number of times before the end of the data synchronization window. The gap units and fragments are interleaved to make the transmission schedule consistent with the tail protection margin.

10. The method according to claim 1, characterized in that, In step four, the specific implementation of updating the status based on the feedback confirmation information is as follows: updating the latest confirmation sequence number, enqueue counter, dequeue counter, and reflection accumulator.

Citation Information

Patent Citations

  • Optimization processing method of streaming data dynamic window

    CN120455382A

  • Multi-source data real-time preprocessing method and system for unmanned aerial vehicle platform

    CN120846321A

  • Method and apparatus for network congestion control using queue control and one-way delay measurements

    US20060050640A1

  • Congestion control method and apparatus

    US20230216809A1

  • Method and apparatus for computer networks

    WO2008155542A1