GSE message out-of-order processing method suitable for DVB satellite transmission system

By generating sequence information and window boundary information with a unified structure and performing fragment-aware two-level rearrangement, the adaptability problem of GSE message out-of-order processing in the DVB satellite transmission system is solved, achieving efficient and robust in-order output in a dynamic satellite link environment and ensuring the stability of upper-layer services.

CN120979541AActive Publication Date: 2025-11-18COWAVE SATELLITE COMM TECH CO LTD

Patent Information

Application Number
CN202511501904.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-10-21
Publication Date
2025-11-18
Estimated Expiration
2045-10-21

AI Technical Summary

Technical Problem

In existing technologies for DVB satellite transmission systems, the out-of-order processing method of the GSE protocol cannot effectively adapt to the dynamic and complex nature of satellite links, resulting in the inability of upper-layer service data units to be correctly reassembled, leading to service interruptions or performance degradation.

Method used

By parsing the GSE message stream, a list of parsed message entries and arrival statistics are generated. Sequence information and window boundary information with a unified structure are obtained, and a fragment-aware two-level rearrangement is performed. Adaptive control is then performed using the arrival statistics to form an ordered, deliverable queue.

Benefits of technology

It achieves efficient and robust in-order output of GSE messages in a dynamic satellite link environment, reduces dependence on the ordering source, and ensures the stability of upper-layer services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120979541A_ABST
    Figure CN120979541A_ABST
Patent Text Reader

Abstract

The invention discloses a GSE message out-of-order processing method suitable for a DVB satellite transmission system, and the method comprises the steps: analyzing an inputted GSE message flow, and generating an analyzed message entry list and arrival statistical information; according to the list and statistical information, obtaining sequence information and window boundary information of a uniform structure from multi-source clues such as an explicit sequence number, an implicit window boundary and an inferred virtual sequence number; performing double-layer rearrangement of slice perception based on sequence information and window boundary information, wherein the rearrangement performs coupling judgment on sorting of a PDU layer and aggregation integrity of an SDU layer; and performing self-adaptive control on the window size and the timer threshold value in the rearrangement process by using the arrival statistical information. According to the method, the sequential recovery success rate in a complex satellite link environment can be improved, the submission delay is reduced, and the robust working capability in a weak clue scene is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The application belongs to the technical field of satellite communication, and particularly relates to a GSE message disorder processing method suitable for a DVB satellite transmission system. BACKGROUND

[0002] In a digital video broadcast (DVB) satellite communication system, in order to cope with complex and changeable channel conditions and improve the reliability of data transmission, a hybrid automatic repeat request (HARQ) and other enhanced mechanisms are generally introduced; this mechanism can make data ultimately reachable while introducing a message disorder problem, that is, a data packet that is first transmitted may trigger retransmission due to link errors, resulting in that the data packet arrives at the receiving end later than a data packet that is transmitted later. The general stream encapsulation (GSE) protocol is a core protocol for carrying IP and other upper-layer services of the DVB system, and if the receiving end of the GSE protocol lacks effective disorder processing capability, the upper-layer service data unit (SDU) cannot be correctly reassembled, and service interruption or performance degradation is caused. Therefore, researching a disorder processing method suitable for the GSE protocol, efficient and robust is a key technical requirement for guaranteeing the stable operation of the DVB satellite communication system.

[0003] For the disorder processing of link layer messages, the prior art scheme includes adding an explicit sequence number (SN) field in the protocol header and setting a rearrangement buffer based on a sliding window at the receiving end. Specifically, the sending end assigns a monotonically increasing SN to each GSE message sent, and the receiving end maintains a fixed-size receiving window. When a message with an SN in the window is received, it is stored in the corresponding position in the buffer. Only when the message expected by the lower end of the window arrives, the receiving end delivers the message and the subsequent buffered continuous messages to the upper layer together, and slides the window forward. On this basis, the system configures a static reordering timer (t-Reordering), and if the message at the lower end of the window does not arrive after the timer expires, it is determined that the message is lost and an abnormal processing is triggered to prevent head-of-line blocking.

[0004] However, the above prior art scheme still faces three levels of problems of protocol semantic adaptation, link dynamic adaptation and dependence on ordering sources when coping with the GSE protocol characteristics and dynamic satellite link environment. Since the prior art scheme does not design an adaptation mechanism for the GSE protocol characteristics and the dynamic nature of the satellite link, further research and innovation are needed to solve the above problems in the prior art. SUMMARY

[0005] The application provides a GSE message disorder processing method suitable for a DVB satellite transmission system.

[0006] TECHNICAL SCHEME: According to one aspect of the application, the GSE message disorder processing method suitable for the DVB satellite transmission system comprises the following steps.

[0007] parsing the input GSE packet stream to generate a parsed packet entry list and arrival statistics information;

[0008] acquiring sequence information and window boundary information of a uniform structure according to the parsed packet entry list and the arrival statistics information;

[0009] performing slice-aware double-layer rearrangement based on the sequence information and the window boundary information, and adaptively controlling the rearrangement process by using the arrival statistics information to form an in-sequence deliverable queue;

[0010] extracting data from the in-sequence deliverable queue and outputting the data as an in-sequence upper-layer service data unit stream.

[0011] According to another aspect of the present application, acquiring sequence information and window boundary information of a uniform structure comprises:

[0012] generating ordering clues from the parsed packet entry list and the arrival statistics information via at least two types of information sources;

[0013] wherein the types of information sources are selected from the group consisting of: explicit sequence numbers extracted from packet extension headers; implicit window boundaries indicated by preset patterns of packet protocol fields; virtual sequence numbers inferred based on arrival statistics information;

[0014] fusing the ordering clues to construct the sequence information and the window boundary information of a uniform structure.

[0015] Beneficial effects: The present application generates uniform sequence and window information, performs slice-aware double-layer rearrangement and adaptively controls the rearrangement process, can adapt to GSE protocol characteristics, dynamically responds to satellite link changes, reduces dependence on ordering sources, and guarantees in-sequence output of GSE packets and stability of upper-layer services. Related technical effects will be described in detail below in conjunction with specific embodiments. BRIEF DESCRIPTION OF DRAWINGS

[0016] Figure 1 A flowchart of a method for GSE packet disorder processing suitable for a DVB satellite transmission system is provided for embodiments of the present application.

[0017] Figure 2 A flowchart of inferring virtual sequence numbers is provided for embodiments of the present application.

[0018] Figure 3 A flowchart of generating implicit window boundaries is provided for embodiments of the present application.

[0019] Figure 4 A flowchart of fusing ordering clues is provided for embodiments of the present application.

[0020] Figure 5 The flow chart for adaptive control of the rearrangement process using arrival statistical information is provided for the embodiments of the present application. DETAILED DESCRIPTION

[0021] In order for those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor should fall within the scope of protection of the present application.

[0022] It should be noted that the terms first, second, etc. in the specification of the present application and in the above-described drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms include and have and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not have to be limited to the clearly listed steps or units, but can include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0023] In order to solve the above problems, the applicant has conducted in-depth search and analysis, and found that:

[0024] The fragmentation mechanism of the GSE protocol makes the message in order and the complete service data unit two constraints that need to be met at the same time but are independent of each other. The traditional single-layer ordering mechanism that only focuses on the SN cannot effectively handle the coupling relationship between intra-slice consistency and inter-slice order, resulting in the problem that even if the message order is correct, the upper-layer service unit carried by the message cannot be delivered due to the key fragment not being aggregated on time. Further, the delay, jitter and retransmission intensity of the satellite link are greatly affected by various factors, and the use of a fixed-size rearrangement window and a static timeout timer strategy will cause recoverable messages to be lost due to a too small window or too early timeout when the link is deteriorating, and will introduce unnecessary cache delay and memory overhead due to overly conservative parameters when the link is good. On this basis, such methods are too dependent on the explicit SN field, and once intercommunication with devices that do not support this field or the field is error in strong interference, the entire out-of-order processing mechanism will fail, lacking robust working ability in weak clues or even no explicit clue scenarios.

[0025] In order to solve these problems, in combination with Figures 1 to 5 The present application is specifically illustrated by the following embodiments.

[0026] Example 1 provides a detailed implementation process for the GSE message out-of-order processing method, which is used to understand the background of the present invention.

[0027] In this method, to achieve out-of-order reordering of GSE messages, the original GSE message header format needs to be extended. For example, a one-byte sequence number (SN) field can be inserted between the Protocol Type (PT) field and the GSE Length (GSELENGTH) field in the fixed GSE header. This SN field is used to uniquely identify each GSE message. At the sending end, each time a GSE message is sent, it is associated with a monotonically increasing SN number.

[0028] Accordingly, at the receiving end, in order to process GSE messages with SN numbers, the following state variables are defined:

[0029] VT(US): This variable is used to record the serial number of the next GSE protocol data unit (PDU) to be sent. Its initial value can be set to 0.

[0030] VR(UR): This variable records the SN number of the earliest (i.e., smallest) GSEPDU in the current reordering window at the receiver. Its initial value can also be set to 0. Within the reordering window, all GSEPDUs with SN numbers less than VR(UR) are considered to have been successfully received and acknowledged in order.

[0031] VR(UX): This variable records the next serial number (SN) of the GSEPDU that triggers the t-Reordering timer. When the t-Reordering timer starts, VR(UX) and VR(UR) together define the upper and lower boundaries of the range of SNs that need to be monitored.

[0032] VR(UH): This variable is used to record the upper boundary of the receiving window. Its value is equal to the SN number of the highest SN number of the GSEPDU that has been received plus one. The initial value is 0.

[0033] t-Reordering: A reordering timer used by the receiving entity to check for missing GSEPDUs. The threshold for this timer can be statically configured, for example, within the range of 0 milliseconds to 200 milliseconds.

[0034] Furthermore, the specific processing flow at the receiving end is as follows: When a GSEPDU is received, its SN number is extracted. If the SN number is within the receiving window defined by [VR(UR), VR(UH)), the PDU is stored in the receiving buffer. If the SN number is exactly equal to VR(UR), it indicates that the expected PDU has arrived. At this time, the PDU and all consecutive, immediately following PDUs in the buffer can be submitted to the upper-layer application, and the receiving window is slid forward accordingly, i.e., the value of VR(UR) is updated. If the expected PDU pointed to by VR(UR) has not arrived within the time set by the t-Reordering timer, it can be determined that the PDU is lost, triggering the corresponding exception handling mechanism. It should be understood that this method relies on a fixed SN field and a statically configured timer, and its adaptability and efficiency are limited when facing the high latency, high jitter, and dynamically changing retransmission behavior of satellite links.

[0035] Example 2 describes the overall framework of a method for handling out-of-order GSE messages applicable to DVB satellite transmission systems, which includes the following steps:

[0036] Step S2.1, an example: Parse the input GSE message stream to generate a list of parsed message entries and arrival statistics. Specifically, perform preliminary processing and information extraction on the received raw GSE message stream to provide basic data for subsequent sequence recognition and adaptive rearrangement, and output the list of parsed message entries and arrival statistics.

[0037] The parsed list of message entries is a structured list, with each entry corresponding to a GSE message. To generate this list, the header of each message needs to be parsed to extract protocol fields such as the start flag, end flag, label, and payload length. Based on this, the presence of an extension header is detected and its marker is recorded. Each message is timestamped during parsing, with the timestamp derived from the receiver's local time base.

[0038] Arrival statistics are the set of results from statistical analysis of packet arrival behavior within a sliding time window. For example, by analyzing the difference in arrival timestamps of consecutive packets, the distribution of arrival time intervals can be calculated, and its high quantile value (such as the 95th percentile) can be obtained. This value is the high quantile of arrival jitter, a key indicator for measuring the degree of link jitter. Furthermore, by analyzing features such as burst intervals and duplicate packets, combined with the known baseband frame period, the high quantile of the average number of retransmission rounds and round-trip time (RTT) can be estimated. To enhance the robustness of subsequent adaptive algorithms, confidence intervals can also be estimated for the statistics.

[0039] Furthermore, this step can also include a pre-check for message fragment consistency. For example, a regular expression-based state machine can be used to scan the parsed message entry list and determine if there are any patterns that do not conform to the protocol specification, such as missing Start flags, missing End flags, or interleaved Start / End flags, and mark the entry as an anomaly. This is used to identify fragments that may not be successfully reassembled in advance, providing input for subsequent differentiated discarding strategies.

[0040] Another example of out-of-order evidence collection and basic parsing can be achieved as follows: Read the input GSE message stream (including a fixed header, fragmentation flags Start / End, Label field, optional extension header, payload length, and payload), and simultaneously obtain link-side information such as arrival timestamps and bitstream frame periods from the receiver's time base to form arrival statistics. During parsing, extract the Start / End flags, Fragment_ID, Label field content, and extension header existence flags from each GSE message to generate a list of parsed message entries, which serves as the unified input for subsequent sequence identification and rearrangement control.

[0041] Another example of out-of-order evidence collection and basic parsing can be achieved as follows: Read the input GSE message stream, parse the start flag, end flag, length field, and payload length of each message according to the GSE fixed header format, forming the fragmentation flag and length field in the parsed message entry list. Based on the input GSE message stream, extract the Label field and the extension header existence flag; if a predefined extension header type value is detected, record the extension header length and offset, and update the Label field content and extension header flag in the parsed message entry list. Add a reception timestamp to each message; estimate the baseband frame period and arrival jitter quantile within a sliding window to obtain the arrival time series and bitstream frame period estimate in the arrival statistics.

[0042] The fragmentation flag and length field in the parsed message entry list are scanned to determine if there are any violations such as missing Start, missing End, or Start / End interleaving. A fragmentation consistency flag is then generated in the parsed message entry list. Within the same business flow, a monotonicity check is performed on Fragment_ID. Fragments with non-monotonic transitions near the counting boundary that are deemed to be in serious violation (such as missing critical start fragments) are added to the abnormal fragment candidate list for priority discarding, reducing subsequent aggregation interference.

[0043] The arrival time series in the arrival statistics is differencing to obtain the arrival interval, and the high quantile (e.g., 95th percentile) is calculated to produce the arrival jitter high quantile in the arrival statistics. Combining burst interval characteristics, duplicate message characteristics, and baseband frame period, the average retransmission rounds and round-trip delay high quantiles are estimated, generating the retransmission rounds estimate and round-trip delay high quantile in the arrival statistics. Confidence intervals are calculated for the statistics, and the arrival statistics with confidence intervals are output for selection of conservative coefficients in the index timer self-tuning.

[0044] Step S2.2, optionally, obtain sequence information and window boundary information with a unified structure based on the parsed list of message entries and arrival statistics. Accordingly, multiple raw clues are integrated into a unified, structured data structure of sequence information and window boundary information that can be directly used for rearrangement control. This data structure combines coarse-grained window boundaries and fine-grained sequence numbers, providing a basis for sorting and advancement in subsequent two-level rearrangement. This step can be implemented in various ways, such as parsing explicit sequence numbers in the message extension header, identifying implicit window boundaries indicated by preset patterns in the protocol fields, or inferring virtual sequence numbers based on arrival statistics when the former two are missing. Specific implementation methods will be described in subsequent embodiments.

[0045] Optionally, sequence information acquisition and consistency labeling are performed. Based on the parsed message entry list and device-side capability configuration, sequence information and window boundary information for rearrangement control are generated, and the coarse-grained window boundary and fine-grained sequence number are uniformly labeled so that they can be directly used by the subsequent rearrangement state machine.

[0046] Step S2.3: As a possible implementation method, a two-level rearrangement with slice awareness is performed based on sequence information and window boundary information. The rearrangement process is adaptively controlled using arrival statistics to form an ordered and deliverable queue.

[0047] Specifically, fragmentation awareness is reflected in a two-layer reordering mechanism. On the one hand, at the Protocol Data Unit (PDU) level, packets are sorted in the receive buffer based on sequence information. On the other hand, at the Service Data Unit (SDU) level, fragments belonging to the same upper-layer service data unit are aggregated and their integrity is determined in the aggregation container based on the Start / End flags of the packets. Only when both conditions are met—correct PDU layer order and complete SDU layer aggregation—can the reordering window advance, placing the complete SDU into the in-order deliverable queue. Furthermore, key parameters in the reordering process, such as window size and the threshold for the timeout reordering timer, are not statically configured but dynamically adjusted based on real-time updated arrival statistics (such as arrival jitter and retransmission rounds).

[0048] As another possible implementation, a two-layer rearrangement and adaptive control is performed, including: using sequence information and window boundary information as sorting and advancement criteria, parallel processing is carried out on two channels, PDU layer rearrangement and SDU layer aggregation, to complete the two-layer rearrangement of intra-chip consistency and inter-chip order; and the window size and timer threshold are adaptively adjusted according to arrival statistics to maintain stability under different modulation coding and retransmission loads.

[0049] Step S2.4, Exemplarily, extract data from the ordered deliverable queue and output it as an ordered upper-layer business data unit stream.

[0050] Complete, ordered upper-layer business data units that are confirmed to be deliverable are sequentially retrieved from the ordered deliverable queue and delivered as the final output stream to the upper-layer application. Furthermore, this step also handles exception handling. For example, if a window times out while waiting for the oldest missing fragment, an adaptive timer triggers an exception advance. Based on the advance result, it performs labeled exception delivery or discarding on the data within the window, recording the handling process to prevent the system's delivery flow from being blocked indefinitely. Before delivery, a validity check can be added to verify the consistency between the candidate SDU and the current rearranged state variables, further ensuring the correctness of the output.

[0051] Another example of sequential delivery and exception handling can be performed as follows: Take out the upper-layer business data units that meet the requirements of PDU layer order and SDU layer completeness from the sequentially deliverable queue, and output them as a sequential upper-layer business data unit stream; for windows that are still incomplete after timeout, perform labeled exception delivery or discard according to the timer progress result in the rearranged state variable set, and record the handling order that minimizes the impact (first, isolated fragments across windows, then large-volume incomplete units).

[0052] According to one aspect of this application, a method for out-of-order processing of GSE messages applicable to a DVB satellite transmission system specifically comprises: parsing the input GSE message stream to generate a list of message entries containing high-precision timestamps, and aggregating arrival statistics reflecting the dynamic characteristics of the link in real time, such as jitter fractions, round-trip delay, and retransmission rounds estimation.

[0053] Specifically, based on the above analysis results, a unified sequence information is constructed by integrating the highest priority explicit sequence number extracted from the message extension header, the secondary priority implicit window boundary indicated by the preset mode of protocol fields (such as Label reserved bits or Fragment_ID transitions), and the virtual sequence number generated based on Bayesian inference in weak clue scenarios through a hierarchical and hierarchical clue acquisition mechanism.

[0054] Accordingly, a fragment-aware two-layer rearrangement is performed. The system maintains in parallel a receive buffer that caches PDUs in order based on sequence information, and an aggregation container that aggregates and determines the integrity of SDU fragments. Only when the next PDU of the desired order is in place in the buffer, and its parent SDU is determined to be complete in the aggregation container, can the SDU be moved into the in-order deliverable queue, ensuring the dual constraints of PDU ordering and SDU integrity. Furthermore, the entire rearrangement process is adaptively controlled. The system uses arrival statistics to dynamically calculate the window size and timeout threshold that match the current link state, achieving efficient, robust, and low-latency in-order recovery under complex and variable satellite links.

[0055] Example 3 describes the specific implementation process for obtaining sequence information and window boundary information with a unified structure, as follows:

[0056] Step S3.1: Generate sorting clues from the parsed list of message entries and arrival statistics using at least two types of information sources. The information sources are selected from a group consisting of: explicit sequence numbers extracted from the message extension header; implicit window boundaries indicated by preset patterns in message protocol fields; and virtual sequence numbers inferred from arrival statistics. Alternatively, sorting clues are obtained from the parsed list of message entries and arrival statistics based on at least two of the following information sources: explicit sequence numbers directly extracted from predefined extension headers contained in the GSE message stream; implicit window boundaries indicated by preset patterns in message protocol fields; and virtual sequence numbers inferred from arrival statistics. Accordingly, a hierarchical, tiered clue acquisition mechanism is established to ensure reliable sorting criteria under different link conditions and device capabilities.

[0057] The information source includes the explicit sequence number extracted from the message extension header; this is the highest priority sorting clue. When the GSE message stream contains a predefined extension header, fine-grained sequence number information is directly parsed from it. For example, a private type extension header can be defined in the GSE message header, with a structure of [type value, length = 2 bytes, sequence number high byte, sequence number low byte]. The receiver can locate and extract the 16-bit sequence number by recognizing this type value. Its modulus is 65536, which can uniquely identify the message within a wide range, reducing the frequency and ambiguity of sequence number wrapping. The sequence number information provided in this method is direct and accurate, making it the preferred choice for sorting.

[0058] Furthermore, it also includes implicit window boundaries indicated by a preset pattern in the message protocol fields. The generation of the implicit window boundaries includes: identifying window boundary signals from the parsed message entry list using at least one of the following methods: detecting deterministic transitions in the Fragment_ID field appearing near a preset count boundary; or interpreting reserved bits in the Label field as window numbers according to a predefined pattern; and forming the implicit window boundaries based on the identified window boundary signals. In other words, the method of detecting deterministic transitions in the Fragment_ID field appearing near a preset count boundary, or the method of interpreting reserved bits in the Label field as window numbers according to a predefined pattern, can be used to identify window boundary signals from the parsed message entry list; and implicit window boundaries can be generated accordingly.

[0059] Accordingly, when the extension header is absent or cannot be parsed for any reason, the system will fall back to probing implicit, but lower-cost, coarse-grained window boundary signals. This type of window boundary does not provide sequence numbers for individual packets, but it can divide the packet stream into several ordered windows or blocks, providing landmark references for subsequent sequencing and advancement.

[0060] In this step, one way to obtain implicit window boundaries is to detect deterministic transitions in the Fragment_ID field that occur near a preset count boundary. This method requires collaboration between the sender and receiver. The sender can manually trigger GSE fragmentation operations on a specific traffic flow every time a preset packet count value (e.g., every 256 packets) is reached, causing a deterministic, non-monotonic transition (e.g., from a value close to 255 to 0) in the Fragment_ID field of the starting fragment (with the Start flag set to 1). The receiver, having already marked candidate transitions for Fragment_ID, will then purify these candidate markers in this step, confirming only deterministic transitions within a small tolerance range (e.g., ±2 packets) of the preset count boundary as valid window boundaries.

[0061] Another way to obtain implicit window boundaries is to interpret the reserved bits in the Label field as window numbers according to a pre-defined pattern. Accordingly, the Label field of the GSE protocol contains several reserved bits that the system can control. Through a pre-agreed agreement between the sender and receiver, some of these bits (e.g., 2 bits) can be multiplexed into cyclically incrementing window numbers (e.g., 00, 01, 10, 11, 00, ...). When parsing the Label field, the receiver extracts the window number according to this pre-defined pattern. When a change in the window number is detected, it signifies the arrival of a new window boundary. Compared to Fragment_ID transitions, this method provides a more direct signal and does not force the triggering of fragmentation operations, thus offering better versatility.

[0062] Building upon this, it also includes virtual sequence numbers inferred from arrival statistics. In extremely weak cue scenarios where there are neither explicit sequence numbers nor reliable implicit window boundaries, a virtual sequence number generation mechanism based on Bayesian inference is enabled. This mechanism does not rely on any specific field of the message content, but rather performs statistical sorting by analyzing the behavioral characteristics of the messages (such as arrival time and length variation patterns).

[0063] Specifically, inferring the virtual sequence number involves: establishing and maintaining multiple candidate sequence hypotheses for the parsed list of message entries. The system initializes no more than three candidate hypotheses in parallel. Each hypothesis represents a possible prediction of the future message sequence. For example, hypothesis 1 predicts the sequence number of the next message is N, hypothesis 2 predicts it is N+1 (due to possible packet loss), and hypothesis 3 predicts the start of a new window. Each hypothesis is assigned a corresponding prior probability. If fuzzy window boundary information exists from other sources, this information can be used as a strong prior to improve the accuracy of the initial hypotheses.

[0064] Furthermore, based on the arrival time interval distribution in the arrival statistics and at least one of the message length transition probability and label transition probability statistically obtained from the parsed message entry list, a likelihood function is constructed for each candidate sequence hypothesis; where Label is a component of the GSE message stream.

[0065] The likelihood function is used to assess how likely a newly arrived message is to conform to a certain hypothesis; it is the product of multiple probability models, such as the likelihood of the arrival time interval (f). _dt ): Based on a statistical distribution of arrival intervals (e.g., fitted to a log-normal distribution), calculate the probability that the arrival time interval of a new message matches the time interval predicted by this assumption. Message length transition likelihood (f _len ): The basic statistical message length transition matrix (first-order Markov model) calculates the probability that the length of a new message immediately follows the length of the previous message. Label transition likelihood (f _lab Similarly, based on the transition matrix of the Label field values, the probability of the Label value appearing in the new message is calculated. Correspondingly, the total likelihood value L of the new message is calculated as f. _dt *f _len *f _lab .

[0066] Furthermore, a Bayesian inference method is employed, combining the likelihood function to update the posterior probability of each candidate sequence hypothesis. According to Bayes' theorem, the posterior probability of each hypothesis is... _i Proportional to its prior probability Prior _i With likelihood value L _i The product (Post) _i ∝Prior_i *L _i ); where i represents the i-th candidate hypothesis. After calculating the posterior probabilities of all hypotheses, they are normalized so that their sum is 1. Furthermore, to control computational complexity, hypotheses with posterior probabilities below a certain pruning threshold (e.g., 0.05) are discarded. Based on this, the virtual sequence number and corresponding confidence level are determined according to the posterior probabilities.

[0067] When the posterior probability of a hypothesis exceeds a high confirmation threshold (e.g., 0.95), the hypothesis is considered the winner, and the system adopts the sequence corresponding to that hypothesis, outputting a virtual sequence number and its confidence level (i.e., the posterior probability value). If the posterior probabilities of all hypotheses do not reach the confirmation threshold, the system can select the hypothesis with the highest posterior probability, but will simultaneously indicate a delayed submission, informing the subsequent reordering module that it has reservations about the order of this message and needs to wait for more evidence.

[0068] Step S3.2: Merge sorting clues to construct a unified structure of sequence information and window boundary information; this enables clues from various sources and at different granularities to work collaboratively. Specifically, priorities are assigned to the types of information sources, with explicit sequence numbers having higher priority than implicit window boundaries, and implicit window boundaries having higher priority than virtual sequence numbers. When sorting clues from different information sources conflict, arbitration is performed based on priority, selecting the sorting clue with higher priority and generating a conflict rollback record. That is, the information source priority order is: explicit sequence number > implicit window boundary > virtual sequence number; when sorting clues conflict, the sorting clue with higher priority is selected and a conflict rollback record is generated.

[0069] For example, if the window number parsed from the Label field indicates that the current window is 3, but the result of the Fragment_ID transition detection indicates the start of window 4, the system will adopt the Label result and generate a conflict rollback record. This record will be used by the adaptive control module as a conservative signal, which may temporarily increase the receiving window or extend the timer threshold to cope with network uncertainties.

[0070] Optionally, the arbitrated sorting clues are aligned and integrated to ultimately form a unified structure of sequence information and window boundary information. Regardless of the combination and arbitration process, the final output is a data object with a unified structure. In this object, if an explicit sequence number exists, it is used as the primary sorting key; otherwise, a virtual sequence number and its confidence level are used as the primary sorting key; in all cases, the most reliable window boundary information is retained as an auxiliary. This unified structure design eliminates the need for subsequent reordering modules to concern themselves with the specific source of the sequence information, simplifying system design.

[0071] Alternatively, in a preferred embodiment, to reduce computational overhead, the computationally intensive multi-hypothesis Bayesian inference mechanism can be enabled only under severe network conditions with high packet loss or strong out-of-order delivery. Under normal network conditions, the system can rely on computationally inexpensive explicit sequence numbers and implicit window boundary information to achieve a dynamic balance between performance and overhead.

[0072] According to one aspect of this application, this embodiment can also be implemented using sequence information acquisition and consistency labeling, with the specific steps as follows:

[0073] Step S3.31: Read the parsed message entry list and compare it with the device-side capability configuration. Determine whether to enable modes such as extending header carrying sequence number, Label field reserved bit multiplexing window number, and CRC last bit implicit window heartbeat, and output the sequence acquisition mode selection flag.

[0074] Step S3.32: Using the Start / End and Fragment_ID from the parsed message entry list, establish an upper-layer business data unit aggregation identifier (SDU aggregation identifier) ​​anchored by the fragment. Extract coarse-grained window boundaries using the following two methods: detect deterministic transitions of Fragment_ID at each preset count boundary (e.g., every 256 messages) and use them as window boundary markers; interpret the reserved bits in the Label field as window numbers according to an agreed parity recognition pattern to form window boundary markers. Output the above results uniformly as window boundary information and associate them with the SDU aggregation identifier.

[0075] Step S3.33: When an extended header carries a sequence number, parse the two-byte extended sequence number to generate fine-grained sequence number information. If the extended header is missing or the signal-to-noise ratio is poor, perform statistical inference based on the arrival time interval distribution, message length transition probability, and label transition probability, maintain no more than three parallel hypotheses, and output the virtual sequence number and confidence score. When both window boundary information and fine-grained sequence number information are available, establish a unified mapping of window first, then sequence number; when only window boundary information is available, provide a local relative sequence number within the window; when only virtual sequence number and confidence score are available, output the sequence number labeled with the confidence score for the state machine to adopt a differentiated strategy.

[0076] In some embodiments, step S3.32 may also be: periodically manipulating the adjustable padding field on the sending side to make the last 4 bits of the CRC present the target mode; and performing sliding statistics on the parsed message entry list on the receiving side to obtain window boundary information for backoff when fine-grained sequence numbers are missing.

[0077] In other embodiments, step S3.33 may also be: enabling multi-hypothesis statistical inference only when there is high packet loss or strong out-of-order delivery, and using extended header sequence number as the main method and window boundary as the secondary method in normal times to reduce computational overhead.

[0078] According to another aspect of this application, sequence information acquisition and consistency labeling can also be:

[0079] Accordingly, based on the extended header labels in the parsed message entry list and the device-side capability configuration, an extended header availability flag is output. Based on the device-side capability configuration and operational policy, it is determined whether to enable the Label reserved bit bearer window number, and a policy flag for enabling the Label reserved bit bearer window number is output. The link bit error rate and whether the adjustable padding field meet the embedding requirements are evaluated, and a CRC implicit heartbeat enable flag is output. From the above, a sequence acquisition mode selection flag and priority table are generated (priority order: extended header sequence number > Label window number > fragment transition > CRC implicit heartbeat > statistical virtual sequence) for subsequent use.

[0080] Furthermore, using the fragmentation flag and length field from the parsed message entry list and the fragmentation consistency flag from the parsed message entry list, a unique aggregation identifier is established for each upper-layer business data unit, and the upper-layer business data unit aggregation identifier is output. A threshold judgment is performed on the window boundary candidate label list (e.g., confirming a deterministic transition within ±2 of the message count boundary) to obtain the first source of window boundary information. When the policy flag indicating whether to enable the Label reserved bit to carry the window number is true, the window number is extracted from the Label field content of the parsed message entry list and compared with the above window boundary information results; if there is a conflict, a reliable source is reserved according to the priority table, and a conflict fallback record is recorded to supplement and form the second source of window boundary information. All the window boundary labels obtained above are aligned with the upper-layer business data unit aggregation identifier, and the aligned window boundary information is output.

[0081] In another embodiment, if the implicit CRC heartbeat enable flag is true, the mode of the last 4 bits of the CRC is counted every 16 messages, and window boundary information is directly generated and used for alignment.

[0082] Optionally, when the extension header availability flag is true, the extension sequence number is located from the extension header marker in the parsed message entry list, the length and checksum are verified, and fine-grained sequence number information (modulus 65536) is output. When an explicit sequence number is missing or its quality is poor, no more than three hypotheses are established based on the arrival time series, arrival jitter quantile, and Label field content in the arrival statistics, the posterior probability of each hypothesis is calculated, and a virtual sequence number and confidence level are output.

[0083] Fine-grained sequence number information, virtual sequence numbers, and confidence scores are mapped to aligned window boundary information to construct unified sequence information and window boundary information (unified structure): if an explicit sequence number exists, it is used as the primary one; otherwise, the virtual sequence number and its confidence score are used as the primary one; window boundaries are preserved in all cases. When only aligned window boundary information is available, a set of relative sequence numbers within the window is generated according to the arrival order and slice position within the window.

[0084] In another embodiment, multi-hypothesis statistical inference is enabled only under conditions of high out-of-order or high packet loss; under normal conditions, it relies on fine-grained sequence number information and aligned window boundary information.

[0085] Example 4: Provides optional implementation schemes for obtaining implicit window boundaries, including:

[0086] Step S4.1: Perform sliding statistics on the last few bits of the CRC checksum of each message in the parsed message entry list. Correspondingly, the receiver can access the Cyclic Redundancy Check (CRC) field of the GSE message (or its underlying baseband frame), and the sender has the ability to manipulate several bits (e.g., valid padding fields) within the CRC coverage area without changing the upper-layer service semantics. Specifically, the receiver sets the length of the statistical sliding window, for example, 16 messages, and continuously monitors the last few bits of the CRC checksum of each message, for example, the last 4 bits.

[0087] Step S4.2: Extract the mode that presents a preset pattern from the results of the sliding statistics. Specifically, within the sliding window, the receiving end calculates the mode of the last 4 bits of the CRC values ​​of the 16 messages, that is, the value that appears most frequently. For example, if the last 4 bits of the CRC of the 16 messages in the window are mostly 0010, then the mode is 0010.

[0088] Step S4.3: Use the change in the mode or its value itself as the window heartbeat signal to form an implicit window boundary. Further, the sender can calculate and fill in correction bytes to ensure that the final CRC value of the entire packet satisfies verification correctness while its last 4 bits exhibit a target pattern preset by the sender. This target pattern can be designed to change synchronously with the window number. For example, in all messages within window 1, the sender tries to make the last 4 bits of its CRC 0001; in window 2, it tries to make it 0010, and so on. Next, the sliding mode calculated by the receiver will stably equal the current window number. When the receiver detects that the sliding mode jumps from one stable value (e.g., 0001) to another stable value (e.g., 0010), it is equivalent to receiving a heartbeat signal indicating a window switch, thus forming a reliable implicit window boundary.

[0089] Furthermore, to ensure the robustness of this method, the window boundary information obtained by the CRC heartbeat method carries a confidence level. This information is cross-validated with window information from other methods (such as Label reuse or Fragment_ID transitions). If a conflict occurs, for example, if the CRC method indicates a window switch but the window number in the Label field has not changed, the confidence level of the CRC method will be reduced, or it will be reverted to a reference label only, ensuring that the system's decision-making is not misled by a single, potentially misjudgment-prone source.

[0090] Example 5 describes a preferred technical solution for a fragment-aware two-layer rearrangement mechanism, enabling GSE messages to be correctly processed in both fragmented and out-of-order dimensions.

[0091] Before performing a two-level rearrangement, the system needs to initialize necessary data structures and state variables. Among these, the receive PDU buffer is a system-created buffer used to cache out-of-order GSEPDUs. This buffer is not a simple first-in-first-out queue, but rather an ordered data structure, such as a skip list or a balanced binary tree, that allows for efficient insertion and retrieval based on sequence information. Its index keys are directly derived from the sequence information and window boundary information of a unified structure.

[0092] An SDU aggregation container is a system-created container used to reassemble upper-layer business data unit fragments. This container can be a hash table or a dictionary structure. Its key is a unique upper-layer business data unit aggregation identifier created for each SDU (e.g., it can be a combination of the business flow ID and the Fragment_ID of the first fragment of that SDU). Its value is a data structure used to store all arriving fragment data belonging to that SDU, recording the aggregation status of that SDU (e.g., received fragment bitmaps, whether the End fragment has been received, etc.).

[0093] Reorder state variables and initialize pointers used to manage the reordering window, such as the receive reordering lower edge pointer (pointing to the earliest PDU sequence number currently expected to be received) and the receive reordering upper edge pointer (dynamically calculated based on the adaptive window size, defining the upper limit of the sequence number of PDUs that can be received).

[0094] Based on this, the specific steps of the piecewise-aware two-level rearrangement include:

[0095] Step S5.1: In the receive PDU buffer, the arriving Protocol Data Units (PDUs) are sorted according to sequence information and window boundary information. When a new GSEPDU arrives, the system uses unified sequence information (whether an explicit 16-bit sequence number or a virtual sequence number with confidence) as the sorting basis to insert the PDU into the correct position in the receive PDU buffer. If the PDU's sequence number is within the current valid receive window defined by the falling edge pointer and the rising edge pointer, the insertion operation is performed; if the sequence number is ahead of the window, it can be temporarily stored or discarded according to a strategy; if the sequence number is behind the window, it is usually discarded directly. This step is used to maintain an ordered message sequence view at the PDU (i.e., GSE message) level, solving the first level of the out-of-order problem.

[0096] Step S5.2: In the Service Data Unit (SDU) aggregation container, PDU fragments belonging to the same upper-layer service data unit are aggregated, and the integrity of the upper-layer service data unit is determined. While inserting the PDU into the receive buffer, the system performs SDU aggregation operations in parallel. The system extracts the upper-layer service data unit aggregation identifier to which the PDU belongs and uses this identifier to search for the corresponding entry in the SDU aggregation container. Once found, the content of the PDU (as a fragment) is added, and the aggregation status of the SDU is updated. For example, the system checks whether the PDU is a start fragment (Start flag is 1) or an end fragment (End flag is 1), and determines whether the SDU has been completely received based on the total number of fragments and the list of received fragments. An SDU is considered complete when both its start and end fragments have arrived, and there are no missing fragments in between. This step maintains data integrity at the SDU (i.e., upper-layer service data) level, solving the second level of the out-of-order problem: fragment reassembly.

[0097] Step S5.3: The rearrangement window is advanced and the complete upper-layer service data unit is moved into the in-order deliverable queue only if and only if the next expected PDU is already in the receive PDU buffer and its corresponding upper-layer service data unit is determined to be complete in the SDU aggregation container. In other words, the rearrangement window is advanced and the complete upper-layer service data unit is moved into the in-order deliverable queue only if both conditions are met simultaneously; these two conditions refer to: the expected PDU already exists in the receive PDU buffer; and the SDU to which the PDU belongs has been marked as complete.

[0098] Furthermore, the two conditions of PDU layer ordering and SDU layer integrity are ANDed and used as the sole criterion for advancing the delivery process. Specifically, the system continuously monitors the expected PDU with the smallest sequence number pointed to by the receiving rearrangement pointer.

[0099] Condition 1 (PDU layer in order) checks whether the desired PDU already exists in the receive PDU buffer. Condition 2 (SDU layer complete) if condition 1 is met, it further queries the SDU aggregation container to check the status of the SDU to which the PDU belongs, determining whether it has been marked as complete. Only when both conditions are met simultaneously will the system perform a delivery operation: the complete SDU is retrieved from the aggregation container and placed into the in-order deliverable queue; simultaneously, all PDU fragments constituting the SDU are removed from the PDU buffer; and the receive rearrangement falling edge pointer is moved forward to the next unprocessed sequence number. This dual-condition gating mechanism avoids two possible errors in traditional single-level rearrangement mechanisms: First, even if all fragments of an SDU have arrived (i.e., the SDU is complete), if it is not the next expected SDU in the PDU sequence, the system will not prematurely deliver it, ensuring strict timing between SDUs; Second, even if a PDU is the next expected PDU in the sequence, if its SDU still has fragments that have not arrived (i.e., the SDU is incomplete), the system will not deliver incomplete data units, ensuring the availability of delivered data.

[0100] Example 6 provides a specific execution scheme for the adaptive control process, which enables the rescheduling mechanism to intelligently adapt to the dynamic changes in satellite links. As one possible implementation, it is as follows:

[0101] Step S6.1: Dynamically calculate the window size for adaptive control of the rearrangement process using arrival statistics. In some embodiments, the window size is dynamically calculated based on the high quantile of arrival jitter and the estimated average retransmission rounds contained in the arrival statistics. The estimated average retransmission rounds and the high quantile of round-trip delay can be obtained by: analyzing the message arrival time series in the arrival statistics to identify burst interval characteristics, scanning the parsed message entry list to identify duplicate message characteristics; and combining the burst interval characteristics, duplicate message characteristics, and the baseband frame period estimate already included in the arrival statistics to jointly estimate the estimated average retransmission rounds and the high quantile of round-trip delay. That is, by analyzing the message arrival time series to identify burst interval characteristics (usually related to retransmission), scanning the message entry list to identify duplicate message characteristics, and combining the baseband frame period estimate, the results are jointly estimated. The high quantile of arrival jitter is obtained by statistically analyzing the message arrival time interval (e.g., calculating the 95th quantile). Accordingly, the window size can be calculated using the following formula:

[0102] window _unbounded =α _jit *D _p95 +α _harq *N _retx *PDU _per_frame W _size=round(min(max(window _unbounded W _min ), W _max ));

[0103] Among them, window _unbounded : Represents the unconstrained theoretical window size; α _jit : Represents the impact coefficient of jitter, which is a dimensionless weight, for example, its value ranges from 0.8 to 1.5; D _p95 : Represents the 95th percentile arrival time of jitter, in milliseconds; α _harq : Represents the HARQ retransmission impact coefficient, a dimensionless weight, for example, a value between 1.0 and 2.0; N _retx : Indicates the estimated average number of replay rounds; PDU _per_frame : Indicates the average number of PDUs carried within a baseband frame; W _size : Represents the final constrained actual window size, which is an integer; W _min W _max These represent the preset lower and upper limits of the window size, respectively. For example, the lower limit is 32 and the upper limit is 1024, used to prevent unnecessary data loss due to an excessively small window or excessive memory consumption due to an excessively large window. When the link jitter is severe (D _p95 (Large) or frequent retransmissions (N) _retx When the signal is high, the range and depth of message out-of-order delivery will increase. In this case, the system should actively expand the receiving window (W). _size Increase the window size to accommodate messages that may arrive late. Conversely, when the link is stable, the window size should be decreased to reduce buffer latency and memory usage.

[0104] Furthermore, a dynamically calculated window size is used to update and constrain the piecewise-aware two-level rearrangement process. The calculated W _size It will be immediately used to update the rearranged state variable, specifically by updating the position of the pointer receiving the rearranged top edge (top edge = bottom edge + W). _size It belongs to the feedback adjustment link, which makes the boundary of the rearrangement mechanism always match the current network state.

[0105] Step S6.2: Adaptively control the reordering process using arrival statistics to perform timer threshold self-tuning. In some embodiments, the timer reordering threshold is determined by combining the high quantile of round-trip delay (RTT), the baseband frame period estimate, and the average retransmission rounds estimate from the arrival statistics. In other words, the timer reordering threshold is obtained based on arrival statistics; wherein, the arrival statistics include at least the high quantile of round-trip delay (RTT), the baseband frame period estimate, and the average retransmission rounds estimate. Accordingly, this threshold serves as the basis for determining whether the oldest missing PDU should be considered a timeout, and its determination formula can be:

[0106] T _reordering =β _rtt *RTT _p95 +β _bb *T _frame +β _harq *N _retx *T _frame ;

[0107] Among them, T _reordering This represents the timer reordering threshold, in milliseconds; β _rtt β _bb β _harq These represent the weighting coefficients for Round-Trip Time (RTT), baseband frame period, and HARQ retransmission, respectively, with values ​​ranging from 0.5 to 1.2; RTT _p95 : Represents the 95th percentile statistic of round-trip delay; T _frame : Indicates the estimated baseband frame period.

[0108] Based on this, a statistical confidence interval is evaluated for at least one of the high quantiles of round-trip delay, baseband frame period estimation, and average retransmission rounds estimation in the arrival statistics. Furthermore, when determining the threshold, the weighting coefficients used to combine the statistics are dynamically adjusted according to the width of the confidence interval, with a wider confidence interval corresponding to a more conservative weighting coefficient; this is used to further improve the reliability of the threshold.

[0109] For example, the weighting coefficient β actually used _eff It could be β _base *(1+C _amp *CI _width ); where β _base It is the basic coefficient value, CI _width C is the normalized width of the confidence interval for the corresponding statistic. _amp It is an amplification factor; when the statistical value is unstable and the confidence interval is wide, CI _width Increasing the effective coefficient β _eff It also increases, allowing for the calculation of a longer, more conservative T. _reordering The threshold is a reasonable time to wait for a missing message, which should be slightly longer than the latest time it can arrive after one or more retransmissions. This time is directly related to the round-trip delay and the number of retransmissions. This method dynamically adjusts the timer by statistically analyzing these parameters in real time, avoiding the problems of static timers timing out too early when the link deteriorates or waiting too long when the link is good. The introduction of confidence intervals increases the safety margin when the statistical data itself is unreliable, preventing misjudgments due to incorrect statistical estimates.

[0110] Furthermore, the timer reordering threshold is used as a criterion for triggering abnormal progress during the two-level reordering process due to timeout while waiting for the oldest missing PDU. During the reordering process, if the waiting time for the oldest missing PDU pointed to by the reordering lower edge pointer exceeds the dynamically calculated T in this step... _reordering If the threshold is reached, the system will trigger abnormal progress, and the specific handling method will be detailed in subsequent embodiments.

[0111] As another possible implementation, the two-level rearrangement and adaptive control may also include the following steps:

[0112] Step S6.31: Establish the receiving PDU buffer and SDU aggregation container; map the sequence information and window boundary information to the sorting key of the PDU layer; initialize the receiving rearrangement lower edge pointer, the receiving rearrangement unknown pointer and the receiving rearrangement upper edge pointer, and give the modulus counting rules for sequence comparison, the initial window size and the initial timer reordering threshold.

[0113] Step S6.32: Write the arriving PDUs into the receive PDU buffer and sort them within the current window according to the sequence information and window boundary information; simultaneously, aggregate and determine the integrity of the same upper-layer service data unit in the SDU aggregation container according to Start / End. Only when the PDU layer sequence has arrived and the SDU layer integrity is satisfied, advance the boundary pointers in the state variable set and add the upper-layer service data unit to the in-order deliverable queue.

[0114] Step S6.33: Calculate the high percentile of arrival jitter based on arrival statistics, estimate the average number of retransmission rounds and baseband frame interval, and update the window size and timer threshold; use the modulo-count comparison rule to handle sequence wraparound, avoiding misjudging wraparound as reverse order; when the longest gap's continuous waiting time reaches the self-tuning threshold, trigger timeout advancement to prevent delivery from being blocked for a long time. Accordingly, window size = constraint function (coefficients) _到达抖动 × Reaching the high percentile of jitter + coefficient _重传强度 ×Estimated number of retransmission rounds (lower bound, upper bound); Timer reordering threshold = coefficient _往返延迟 × Round-trip delay high quantile + coefficient _帧周期 ×Frame Period Estimation + Coefficient _重传强度 ×Estimation of retransmission rounds. The updated results are written back to the rearranged state variable set and comparison rules to guide subsequent sorting and advancement.

[0115] Step S6.34: When the received PDU buffer approaches its capacity limit, differentiated discarding is implemented by combining the retransmission depth estimate of each PDU, the waiting time ratio and the priority of the corresponding upper-layer service data unit size. Isolated fragments that cross windows and are difficult to fill are removed first to ensure that the in-order delivery queue continues to advance and to avoid the buffer peak getting out of control. The processing result is synchronized to the rearranged state variable set.

[0116] According to one aspect of the present application, step S6.33 can also be: when there is only window boundary information but no fine-grained sequence number, a hybrid advancement rule of relative position within the window + waiting duration threshold is adopted; when there are virtual sequence numbers and confidence levels, entries with confidence levels lower than the threshold are delayed in advancement, and entries with high confidence levels are advanced earlier for in-order deliverability judgment, maintaining stable delivery in scenarios with weak sequence information.

[0117] Example 7. Describe the robust design of PDU sorting in dealing with specific scenarios such as sequence number wraparound and weak sequence information. Specifically as follows:

[0118] In one example, in the scenario of dealing with sequence number wraparound, in a system where the sequence number (SN) space is limited (for example, when using 16-bit SN, the modulus length sn_mod is 65536), the sequence number will periodically wrap around from the maximum value (65535) to the minimum value (0); this brings ambiguity to sequence comparison. For example, for a new packet with SN of 10 and an old packet with SN of 65530, simple numerical comparison will lead to incorrect conclusions.

[0119] To solve this problem, the present embodiment adopts the following method: Apply the modulo counting comparison rule to define the wraparound neighborhood adjacent to half of the sequence number modulo count value. Specifically, when judging the order relationship between two sequence numbers SN_A and SN_B, modulo arithmetic is used for comparison. Calculate the difference d = (SN_A - SN_B + sn_mod) mod sn_mod. If 0 < d < sn_mod / 2, then it is determined that SN_A is after SN_B. This rule is effective in most cases. In extreme cases where the out-of-order degree is close to half of the window size, this rule may fail.

[0120] Therefore, this method defines a wraparound neighborhood, which is a fuzzy area that requires additional arbitration. The width of this neighborhood can be dynamically set according to the size W of the current adaptive window _size For example, the neighborhood threshold wrap _guard can be set to max(4, floor(W _size *0.05)). When the calculated difference d falls within this neighborhood, for example, d is in the interval [0, wrap _guard ) or (sn_mod - wrap _guard , sn_mod), then the auxiliary criterion is activated.

[0121] Based on this, when the sequence number difference between two PDUs to be compared falls within the wraparound neighborhood, the window boundary information in the unified structure and the confidence level of the virtual sequence number are introduced as auxiliary criteria to arbitrate their sequence relationship. When entering the fuzzy arbitration process of the wraparound neighborhood, the system will make a decision by comprehensively considering one or more of the following auxiliary information: On the one hand, the window boundary information checks whether the two PDUs fall within the same window. If they belong to the same window, the result of the modulo arithmetic comparison is likely reliable; if they belong to different windows, the order of the windows can be used to directly determine the order of the messages. On the other hand, the confidence level of the virtual sequence number is used. This criterion is particularly applicable when the sequence number of the PDU to be compared is a virtual sequence number. The arbitration steps include: using the confidence level of the virtual sequence number as the decision weight, wherein the sequence relationship indicated by the virtual sequence number with a confidence level higher than a preset threshold is given a higher decision priority. For example, when arbitrating the relationship between SN_A and SN_B, if SN_A is a virtual sequence number with a confidence level of 0.98, while SN_B has a confidence level of only 0.7, the system will prioritize the sequence relationship indicated by SN_A. Another aspect is message waiting time; as a heuristic rule, messages that have waited longer in the receive buffer are more likely to be judged as earlier messages. Through a mechanism of constant-scale comparison plus multi-source arbitration within the neighborhood, the accuracy of sequence number ordering near the wraparound point is improved, making the processing robust under various degrees of out-of-order processing.

[0122] In another example, in a backscrambling sorting scenario with weak sequence information, under certain implementation methods or network conditions, fine-grained explicit or virtual sequence numbers may not be obtainable, and only coarse-grained window boundary information can be obtained. To address this situation, i.e., when fine-grained sequence numbers are lacking in both sequence information and window boundary information, this embodiment further includes the following sorting steps:

[0123] Step S7.1: For each PDU within the same window in the received PDU buffer, generate a relative sequence number within the window based on their arrival order. Specifically, when a new PDU arrives, the system assigns it to the corresponding window based on its window boundary information (e.g., the window number parsed from the Label field). Within this window, the system assigns a monotonically increasing relative sequence number based on the PDU's physical arrival time. For example, the first PDU to arrive in window N has a relative sequence number of 1, the second has 2, and so on.

[0124] As an optional implementation, to ensure the absolute order between windows, the system can use a two-level sorting key of window number + relative sequence number within the window. This ensures that any message within window N+1, regardless of how early it arrives, will always be sorted after all messages in window N.

[0125] Step S7.2: Combine the relative sequence number within the window with the waiting time of the PDU to calculate the combined sorting score. Specifically, relying solely on arrival order may lead to misjudgments on links with significant jitter. To optimize sorting, the system calculates a dynamic combined sorting score for each PDU within the window. This score function can be designed as follows:

[0126] Score=W _pos *Rel _Seq_Num +W _wait *Waiting _Time ;

[0127] Wherein, Score is the combined ranking score; the smaller the score, the higher the priority (the earlier it appears); W _pos W _wait These are the weighting coefficients for relative sequence number and waiting time, respectively, which can be adjusted according to link statistical characteristics; Rel _Seq_Num : That is, the relative sequence number within the window; Waiting _Time : This is the length of time the PDU has been waiting in the buffer since its arrival time.

[0128] Step S7.3: Reorder the PDUs within the same window based on their combined sorting scores. Accordingly, the system will periodically, or when a new message arrives, reorder all PDUs within the same window based on the latest score. This mechanism makes the sorting decision no longer static, but dynamically evolving: when a message first arrives, its sorting is mainly determined by Rel... _Seq_Num Decision; but as time went on, Waiting _Time The weight will gradually increase, causing packets that may arrive late due to network jitter but are actually at the beginning of the sequence to gradually float to the front of the sorting queue.

[0129] Furthermore, in weak sequence scenarios where only window boundary information is available, the adaptive timer can introduce additional penalty mechanisms, such as adding a relative position penalty term within the window to its threshold. For PDUs with later relative sequence numbers within the window, the timeout tolerance will be lower. This is used to handle gaps at the end of the window, avoiding excessively long waits when sequence information is uncertain.

[0130] Example 8 provides a specific implementation of a differentiated discarding and exception handling mechanism under cache constraints to ensure stable system operation when cache resources are limited and unrecoverable packet loss occurs in the network.

[0131] On the one hand, when link quality deteriorates significantly, leading to increased out-of-order delivery and retransmissions, the receive PDU buffer may become full. To avoid indiscriminate packet loss and service interruption due to buffer overflow, this method introduces a proactive, differentiated drop strategy aimed at minimizing the impact on in-order delivery.

[0132] Accordingly, after parsing the input GSE message stream, PDUs that cannot be reassembled due to not meeting the preset fragmentation consistency rules are identified and added to the abnormal fragment candidate list. Furthermore, during the differential drop step, PDUs in the abnormal fragment candidate list are assigned the highest drop priority. In other words, after parsing the input GSE message stream, PDUs determined to be unreassembleable (not meeting the preset fragmentation consistency rules) are added to the abnormal fragment candidate list; when further performing differential drop, the drop priority of these PDUs is set to the highest. For example, intermediate or end fragments without a corresponding start fragment cannot form a complete SDU and are therefore pre-placed in this list as the highest priority drop targets.

[0133] When the buffer occupancy rate exceeds a preset high-water mark threshold (e.g., 80%), the differential discard mechanism is activated. In other words, when the PDU receiving buffer approaches its limit, differential discarding is performed, with the specific steps as follows:

[0134] Step S8.1: Taking into account the retransmission depth estimate derived from arrival statistics, the PDU's own waiting time, and the size of its upper-layer service data unit, the system calculates the discard priority for each PDU in the received PDU buffer. Accordingly, the system calculates a priority score for each PDU in the buffer. _Score The lower the score, the greater the probability of being discarded. An example score function is:

[0135] Priority _Score =w _harq *(1-N _retx_norm )+w _wait *(1-T _wait_ratio )+w _sdu *(1-SDU _size_rank );

[0136] Among them, w _harq w _wait w _sdu These are the weighting coefficients of each factor; N _retx_norm It is a normalized value of the estimated number of retransmission rounds the PDU has undergone; the more retransmissions a message has, the more effort the sender is still making to deliver it, and its value is higher, so its priority score should also be higher. _wait_ratio This is the ratio of the PDU's waiting time to the timeout threshold of its window. The longer a packet has been waiting, the closer it is to timeout, the greater its uncertainty, and its priority can be appropriately lowered. SDU _size_rankIt is a normalized sort of the size (total number of shards) of the SDU to which the PDU belongs. One possible strategy is to prioritize retaining shards of big data units, because discarding one shard would result in the loss of the entire big data unit.

[0137] Step S8.2: Based on the discard priority, selectively remove the PDUs that contribute the least to the sequential delivery, such as isolated fragments across windows. In other words, the discard decision is performed based on the priority score, combined with the structural location of the PDU.

[0138] Accordingly, all PDUs in the candidate list of abnormal fragments are unconditionally discarded. Next, based on Priority... _Score From lowest to highest score, PDUs are discarded sequentially. In some scenarios, the lowest score is for isolated fragments across windows, i.e., PDUs whose sequence number is far beyond the top edge of the current receiving window, and whose other fragments have not yet arrived. Discarding such PDUs has almost no impact on the in-order delivery of the current window. In a preferred implementation, when the cache pressure is extremely high (e.g., the occupancy rate exceeds 95%), the system can switch to a minimum impact delivery priority strategy. This strategy temporarily freezes the processing of windows with many missing fragments that are difficult to complete in the short term, concentrating all cache and computing resources on ensuring that windows that are nearly complete can be successfully delivered, sacrificing local factors to save the overall situation in extreme cases.

[0139] Based on this, after each discard operation, the system will synchronously correct the state and rearrange the state variables in the SDU aggregation container to maintain the consistency of data within the system.

[0140] On the other hand, when the waiting time for the oldest missing PDU (i.e., the oldest gap) exceeds the dynamically calculated timer threshold, the system will trigger passive exception handling. Specifically, when an abnormal progression is triggered due to the oldest gap timeout, the exception handling includes: identifying and prioritizing the release of upper-layer business data units whose fragments have been fully aggregated but whose delivery is blocked only by the existence of the oldest gap. In other words, the system will not abandon all data after the oldest gap simply because the oldest gap has timed out. Instead, it will skip the gap, advance the lower edge pointer of the rearrangement window, and check the PDUs that immediately follow. If the SDU to which the PDU belongs happens to be complete in the aggregation container, then the SDU will be released and delivered to the upper layer (possibly with a flag indicating that previous data was lost). This step is used to maximize data throughput, avoid head-of-line blocking, and ensure that a single unrecoverable packet loss will not permanently hinder the delivery of all subsequent data.

[0141] Based on this, regardless of whether the submission is normal, abnormal, or discarded, after all processes are completed, the system can also perform a result consistency check to verify the order of the output stream and the correctness of the state variables, thus achieving a clean closure of the processing batch.

[0142] Example 9 provides a specific and reproducible numerical calculation case, which connects multiple algorithms in the previous examples (especially adaptive timer calculation, Bayesian virtual sequence number inference and anomaly handling) to describe the collaborative working method and technical effect in a real-world scenario.

[0143] Specifically, assuming a GSE receiver deployed with the method of this invention, some of its initial configuration parameters are as follows: lower limit of window size W _min =32; Maximum window size W _max =1024. The basic weighting coefficient for calculating the timer threshold is: β _rtt =1.0; β _bb =0.8; β _harq =1.0. The confirmation threshold for Bayesian inference is 0.95, and the pruning threshold is 0.05.

[0144] At a certain moment, the receiver's status and observed link statistics are as follows: The lower edge pointer of the current rearrangement window (i.e., the oldest gap) points to sequence number SN=100. The receive buffer already contains out-of-order PDUs SN=101, SN=103, and SN=102. Arrival statistics show: Round-trip delay 95ths; RTT... _p95 =550 milliseconds; Baseband frame period estimation T _frame =20 milliseconds; Average retransmission rounds estimated N _retx =1.5 rounds. Due to RTT _p95 The statistical sample size is still small, and the confidence interval is relatively wide. Therefore, a conservative confidence interval magnification factor of 0.2 is given.

[0145] According to the adaptive control mechanism, the system needs to calculate a dynamic timeout threshold for waiting for the oldest gap SN=100. Since the confidence interval for the RTT estimate is relatively wide, the weighting coefficient of the RTT is adjusted to increase the safety margin. β _rtt_eff =β _rtt *(1 + confidence interval magnification) = 1.0 * (1 + 0.2) = 1.2. Substitute the adjusted coefficients and other statistics into:

[0146] T _reordering =β _rtt_eff *RTT _p95 +β _bb *T _frame +β _harq *N _retx *T _frame=1.2*550ms+0.8*20ms+1.0*1.5*20ms=660ms+16ms+30ms=706ms; The calculation results show that the system will wait 706 milliseconds for the missing SN=100. If the PDU still does not arrive within this time, an abnormal advancement will be triggered.

[0147] Furthermore, Bayesian inference is performed on PDUs without explicit sequence numbers. While waiting for SN=100, a new PDU without an extended header arrives. The previous confirmed PDU is SN=103. The system needs to determine its virtual sequence number using the Bayesian inference method.

[0148] The system establishes two main candidate hypotheses: Hypothesis H1, the PDU is the next message immediately following SN=103, meaning its virtual sequence number should be 104. It is given a higher prior probability Prior(H1) = 0.8. Hypothesis H2, a message was lost between SN=103 and the PDU, meaning its virtual sequence number should be 105. It is given a lower prior probability Prior(H2) = 0.2. The system analyzes the behavioral characteristics of the new PDU. Its arrival time interval with SN=103 is measured to be 22 milliseconds, very close to T. _frame (20 milliseconds). Therefore, its arrival time likelihood f conforms to H1 (no packet loss). _dt (H1) is very high, for example, 0.9; while the likelihood f that meets H2 (there is packet loss, so there should be a larger margin) is much higher. _dt (H2) is very low, for example, 0.3.

[0149] Assuming their message lengths conform to historical transition probabilities, and assigning them similar high likelihoods, f _len (H1)=0.8, f _len (H2) = 0.7. Update the posterior probability according to Bayes' theorem:

[0150] Post _unnorm (H1) = Prior(H1) * f _dt (H1)*f _len (H1) = 0.8 * 0.9 * 0.8 = 0.576;

[0151] Post _unnorm (H2) = Prior(H2) * f _dt (H2)*f _len (H2) = 0.2 * 0.3 * 0.7 = 0.042;

[0152] The normalization factor Z = 0.576 + 0.042 = 0.618; Post(H1) = 0.576 / 0.618 ≈ 0.932; Post(H2) = 0.042 / 0.618 ≈ 0.068; the posterior probability of H1 is 0.932, which is high, but does not reach the confirmation threshold of 0.95. Therefore, the system assigns this PDU a virtual sequence number 104, a confidence level of 0.932, and includes a delayed delivery hint bit. This PDU is inserted into the corresponding position in the PDU buffer.

[0153] Furthermore, the timeout-triggered exception handling assumes that after a 706-millisecond wait, PDU SN=100 still hasn't arrived. The system timer times out, triggering the exception propagation mechanism. The lower edge pointer of the rearrangement window skips from 100 and moves forward to 101. At this point, the buffer already contains SN=101, 102, 103, and a virtual SN=104. Assume that PDUs 101, 102, and 103 have been confirmed in the SDU aggregation container to constitute a complete SDU_A. The system will recognize that although SDU_A is later in sequence than gap 100, it is already complete. The system will extract the complete SDU_A from the ordered deliverable queue, deliver it to the upper-layer application, and may attach metadata indicating that its predecessor (SN=100) suffered data loss. Virtual SN=104, because its associated SDU is not yet complete, will remain in the buffer. Therefore, the method of the present invention can combine adaptive timing, statistical inference and intelligent anomaly handling, and can make reasonable judgments even in complex situations where there is packet loss and incomplete signal in the link, so as to ensure the orderly and complete delivery of data.

[0154] According to one aspect of this application, the capability negotiation mechanism specifically involves the following: The sending and receiving ends supporting this method can negotiate capabilities at the beginning of the session or during operation to synchronize the sequence information enhancement functions supported by both parties. For example, the sending end can carry a capability announcement field in its first or specific control signaling. This field can be a bitmask, where each bit corresponds to an enhancement function: bit 0 indicates whether a 16-bit explicit sequence number is supported in the extended header; bit 1 indicates whether the Label field reserved bit multiplexing window number is supported; and bit 2 indicates whether the sending end has the capability and enabled the function of implementing implicit CRC heartbeat by manipulating the padding field.

[0155] Upon receiving this notification, the receiving end will match its own capabilities and send back a capability confirmation message, informing the sending end of the set of features supported by both parties. Thereafter, the two parties will communicate based on this negotiated result.

[0156] According to another aspect of this application, dynamic fallback and mode selection include: the receiving end dynamically constructs an information source priority table based on the capability negotiation results and selects the corresponding operation mode. The preferred mode (all functions upon successful negotiation) is as follows: if the negotiation result indicates that both parties support the extended header, the receiving end sets the priority table to: [Extended Header Sequence Number > Label Window Number > CRC Heartbeat > Fragment_ID Transition > Virtual Sequence Number]. The system will operate in the highest precision and most reliable mode.

[0157] The suboptimal mode (for functions where negotiation is successful) is as follows: if the negotiation result indicates that extended headers are not supported, but Label reuse is supported, the priority table will be automatically adjusted to: [Label window number > CRC heartbeat > Fragment_ID transition > Virtual sequence number]. The system will then smoothly fall back to the mode that relies on implicit window boundaries.

[0158] In the basic mode (without any negotiation function), when communicating with a legacy device that does not support any enhancements, the receiving end will rely on Bayesian inference based on multiple hypothesis tracking to generate a virtual sequence number, thus achieving the most basic out-of-order processing capability.

[0159] According to another aspect of this application, runtime conflict detection and graceful degradation are used to address temporary signal quality issues or protocol conflicts. Accordingly, if the system is operating in preferred mode but begins to continuously receive packets with failed header verification or incorrect formatting, the system will accumulate header rollback events. When the number of events exceeds a threshold within a certain period of time, the system will automatically reduce the priority of the header to the lowest level, switch to suboptimal mode, and simultaneously issue an alarm to the upper-level management system.

[0160] As mentioned above, when window information from different sources (such as the transition between Label window number and Fragment_ID) conflicts, the system arbitrates according to priority and generates a conflict rollback record. This record is not only used for single-step decisions but also serves as input feedback to the adaptive control module. For example, continuous conflict records can be interpreted as a signal of link instability, triggering the system to adopt more conservative window sizes and timer threshold parameters, sacrificing some timeliness for higher system stability.

[0161] In summary, through a three-dimensional compatibility mechanism of negotiation-rollback-degradation, this invention achieves out-of-order processing in terms of technology, and also possesses flexibility, compatibility, and robustness in engineering practice. It can adapt to various network environments and support the gradual upgrade of the network.

[0162] According to another aspect of this application, the two-level rearrangement and adaptive control can also employ the following steps:

[0163] Optionally, the receive buffer and state initialization specifically include: initializing the partition queue and window index based on sequence information and window boundary information (unified structure), and creating a receive PDU buffer. An SDU aggregation container is created using the upper-layer business data unit aggregation identifier as the key, and the required number of shards is recorded for each container.

[0164] The initial window size and timer threshold are set using arrival statistics; the modulo counting rule for sequence comparison is defined (modulo 65536 if there is an extended sequence number, otherwise modulo 256 or relative window order), producing a set of rearranged state variables (including three boundary pointers, initial window size, initial timer threshold, and comparison rule). Optionally, if an extended header sequence number exists, modulo 65536 is used directly; if only window boundaries exist, a two-level sorting key of window number + relative sequence number within the window is used.

[0165] Furthermore, the fragment-aware two-layer rearrangement can also be implemented as follows: Newly arrived PDUs are written into the receive PDU buffer, and PDUs within the same window are sorted according to the comparison rules of sequence information, window boundary information (unified structure), and the rearrangement state variable set. PDUs across windows are temporarily isolated. Fragments in the sorted receive PDU buffer are loaded into an SDU aggregation container, and integrity is determined by Start / End to obtain the integrity judgment result. When the lower edge of the window is in order and the corresponding upper-layer service data unit is complete, the boundary pointer of the rearrangement state variable set is advanced, and the upper-layer service data unit is pushed into the in-order deliverable queue. When fine-grained sequence numbers are missing, the entries within the window are back-sorted based on the relative sequence number set within the window and the high percentile of arrival jitter in the arrival statistics, reducing the probability of misordering, and the sorted receive PDU buffer is updated.

[0166] As an example, adaptive windowing and wraparound management combined with timer self-tuning can also be used to update the window size based on the stability of arrival jitter high quantile, retransmission round estimation, and aligned window boundary information in arrival statistics: Window size = constraint function (coefficient_arrival jitter × arrival jitter high quantile + coefficient_retransmission intensity × retransmission round estimation, lower bound, upper bound). The new window size is then written back to the rearranged state variable set.

[0167] Based on the sequence information and window boundary information (unified structure) modulus and the updated window size, set the comparison thresholds for the forward direction of the first half and the wrap-around of the second half; when a sequence value close to the wrap-around point appears, prioritize the alignment of the window boundary information, the virtual sequence number and the confidence level for discrimination and output the updated sequence comparison threshold and wrap-around criterion.

[0168] Update the timer threshold using arrival statistics with confidence intervals: Timer reordering threshold = Coefficient_round-trip delay × Delay high quantile + Coefficient_frame period × Frame period estimate + Coefficient_retransmission intensity × Retransmission round estimate; When the waiting time of the oldest gap exceeds the threshold, trigger abnormal advancement and record the advancement action, outputting the updated timer reordering threshold and advancement action. Send the updated results back to the previous step to ensure the sorting and advancement strategy is consistent with the latest network state.

[0169] In another example, this step can also be: when only aligned window boundary information is available, the timer threshold is increased with a relative position penalty term within the window to avoid premature timeout at the beginning of the window due to the lack of fine-grained sequence numbers.

[0170] As an optional implementation, the retransmission-aware buffer constraints and differentiated discarding are specifically as follows: Entries in the received PDU buffer are scored according to a priority function: Priority Score = Weight_Retransmission × Estimated Retransmission Rounds + Weight_Wait × Waiting Duration Ratio + Weight_Scale × Upper-Layer Service Data Unit Scale Sorting; a discard priority list is formed. Based on the discard priority list, isolated fragments that span windows and are difficult to fill (refer to the abnormal fragment candidate list) are removed, and the received PDU buffer is updated. When the SDU aggregation container determines that a critical fragment has been missing for a long time and the timer confirmation is unreachable, the entire unit is discarded and the set of state variables is synchronously rearranged.

[0171] The updated capacity of the received PDU buffer and the congestion index are fed back to the corresponding module of the fragment-aware two-level rearrangement to adjust the batch and granularity of insertion and rollback sorting.

[0172] As another optional implementation, this step can also be: when the retransmission load is extremely high and the buffer is close to its limit, enable the least impact delivery priority strategy, dynamically freeze low-value windows, and concentrate resources to ensure the smooth delivery of windows that are close to being completed.

[0173] According to another aspect of this application, the sequential delivery and exception handling can also be implemented as follows:

[0174] For example, the sequential delivery process includes: retrieving candidate upper-level business data units from the sequentially deliverable queue, verifying their consistency with the rearranged state variable set (window position, boundary advancement record, integrity judgment), and forming a list of upper-level business data units that have passed the review. The list of upper-level business data units that have passed the review is output as a sequential upper-level business data unit stream in the order of arrival, and the delivery time and source window are recorded for each unit.

[0175] In some embodiments, abnormal delivery under timeout advance specifically includes: based on the rearranged state variable set and the updated timer reordering threshold and advance action, locking the window containing the oldest gap and determining the timeout condition to form a list of windows requiring abnormal handling. Abnormal delivery is performed on the list of windows requiring abnormal handling: prioritizing the delivery of complete upper-layer business data units that are blocked by a single gap; discarding incomplete units in a differentiated and coordinated manner; and recording annotated abnormal delivery records.

[0176] In other embodiments, this step may also be: if only aligned window boundary information is available but fine-grained sequence numbers are lacking, then abnormal submissions will prioritize window boundary advancement, and residual fragments within the window will be transferred to a differentiated discard process for processing.

[0177] Accordingly, the discard policy execution and write-back also include: performing discarding within the updated receive PDU buffer according to the discard priority list, retaining the entries that contribute the most to the already arrived window; synchronizing the discard results to the SDU aggregation container; and updating the rearranged state variable set to eliminate invalid dangling references.

[0178] Based on this, the consistency check and termination conditions include: performing window order and sequence consistency checks on the ordered upper-layer business data unit streams, and outputting a consistency check pass flag. When the consistency check pass flag is true and there are no pending windows in the rearranged state variable set, the batch is marked as finished and confirmed.

[0179] According to another aspect of this application, sequence information acquisition and consistency labeling can also be implemented using steps S1a-S1c. One or a combination of these three steps can be executed, and their outputs are both sequence information and window boundary information (unified structure), which are then aligned with the aggregation identifier of the upper-layer business data unit for subsequent use; specifically including:

[0180] Step S1a: Utilize the implicit extensions of the GSE protocol. Specifically, read the extended header flags and Label field content from the device-side capability configuration and the parsed packet entry list to determine whether the extension header supports multiplexing of reserved bits in the Label field, forming mode enable flags (extended header enable flag and Label multiplexing enable flag). When the Label multiplexing enable flag is true, extract the window number encoded by reserved bits from the Label field content in the parsed packet entry list; perform consistency checks (parity bit / flow ID whitelist) on each batch of packets to obtain label-based window boundary information and conflict rollback records. Read the list of candidate window boundary flags, identify deterministic transitions within the packet count boundary ± threshold, and output Fragment-based window boundary information.

[0181] When the extended header enable flag is true, the extended header is located based on the extended header marker in the parsed message entry list. The two-byte sequence number is parsed and the length / checksum is verified to obtain fine-grained sequence number information (modulus 65536). If the peer does not recognize the extended header (through capability detection or verification failure criteria), an extended header rollback event is recorded. Label-based window boundary information and Fragment-based window boundary information are merged (majority consistent, time adjacency preferred), and aligned primarily with fine-grained sequence number information. If no fine-grained sequence number is available, the window boundary is retained and the relative sequence number strategy within the window is marked. Sequence information and window boundary information consistent with the main scheme (unified structure) are produced and aligned with the upper-layer business data unit aggregation identifier for subsequent use. At the same time, conflict rollback records and extended header rollback events are sent to the adaptive window and wraparound management + timer self-tuning steps for conservative adjustment of window size and threshold.

[0182] Step S1b: Implicit Channel Based on CRC Collision. Accordingly, read the device-side capability configuration and the parsed message entry list to determine if the last 4 bits of the message-level CRC can be accessed. If accessible, set the statistical sliding window length (default 16) and stability threshold to obtain the CRC heartbeat enable flag and statistical parameters. When the CRC heartbeat enable flag is true, read the last 4 bits of the CRC in the parsed message entry list and perform sliding mode estimation according to the statistical parameters to obtain CRC-based window boundary information (with confidence level).

[0183] The CRC-based window boundary information is compared with the first and second sources (if any) of the window boundary information. If the deviation exceeds the threshold, the confidence level of the CRC result is reduced or it is reverted to being used only as a reference annotation, forming the verified CRC window boundary information. The verified CRC window boundary information is aligned with the aggregation identifier of the upper-layer business data unit to construct sequence information and window boundary information (unified structure): when no fine-grained sequence number (extension header) is available, the relative sequence number strategy within the window is used; when a fine-grained sequence number is available, this information is used only as a redundant boundary annotation.

[0184] Step S1c: Bayesian inference based on multiple hypothesis tracking. Optionally, read the arrival statistics and the Label field content from the parsed message entry list, and combine them with the aligned window boundary information (if already generated) to initialize no more than three candidate window / sequence hypotheses, forming a set of multiple hypotheses and prior probabilities. Based on the arrival time interval distribution, message length transition probability, and Label field transition probability in the arrival statistics, construct a likelihood function for each hypothesis to obtain an observed likelihood set. Multiply the observed likelihood set with the prior probabilities of the multiple hypotheses and normalize to obtain a posterior probability set; prune hypotheses with posterior probabilities less than a threshold, retaining at most three active hypotheses to form an updated set of active hypotheses and posterior probabilities.

[0185] When the posterior probability of a hypothesis exceeds the confirmation threshold, the virtual sequence number and confidence level corresponding to that hypothesis are output. If the threshold is not reached, the virtual sequence number corresponding to the maximum posterior probability and the current confidence level are output, along with a prompt indicating that submission needs to be delayed, for rollback sorting reference. The virtual sequence number and confidence level are mapped to the aligned window boundary information (if none exists, only the virtual sequence number with confidence level is output and the relative strategy within the window is indicated), aligned with the aggregation identifier of the upper-layer business data unit, to construct sequence information and window boundary information (unified structure).

[0186] The preferred embodiments of the present invention have been described in detail above. However, the present invention is not limited to the specific details in the above embodiments. Within the scope of the technical concept of the present invention, various equivalent transformations can be made to the technical solutions of the present invention, and these equivalent transformations all fall within the protection scope of the present invention.

Claims

1. A method for out-of-order processing of GSE messages applicable to DVB satellite transmission systems, characterized in that, include: Parse the input GSE message stream to generate a list of parsed message entries and arrival statistics; Based on the parsed message entry list and arrival statistics, obtain sequence information and window boundary information with a unified structure; A two-level rearrangement based on sequence information and window boundary information is performed with a slice awareness, and arrival statistics are used to adaptively control the rearrangement process to form an ordered and deliverable queue. Data is extracted from the ordered deliverable queue and output as an ordered upper-layer business data unit stream.

2. The method according to claim 1, characterized in that, Obtain sequence information and window boundary information with a unified structure, including: From the parsed list of message entries and arrival statistics, a sorting clue is generated through at least two types of information sources; The information source type is selected from the following groups: explicit sequence numbers extracted from the message extension header; implicit window boundaries indicated by the preset mode of the message protocol field; and virtual sequence numbers inferred based on arrival statistics. By integrating sorting clues, a unified structure of sequence information and window boundary information is constructed.

3. The method according to claim 2, characterized in that, The virtual serial number is deduced, including: For the parsed list of message entries, establish and maintain multiple candidate sequence hypotheses; Based on the arrival time interval distribution in the arrival statistics and at least one of the message length transition probability and label transition probability statistically obtained from the parsed message entry list, a likelihood function is constructed for each candidate sequence hypothesis; where Label is a component of the GSE message stream. A Bayesian inference method is used, combined with a likelihood function, to update the posterior probability of each candidate sequence hypothesis; The virtual sequence number and its corresponding confidence level are determined based on the posterior probability.

4. The method according to claim 2, characterized in that, The process of generating sorting clues includes generating implicit window boundaries, specifically: Window boundary signals are identified from the parsed list of message entries using at least one of the following methods: detecting deterministic transitions in the Fragment_ID field that occur near a preset count boundary; interpreting reserved bits in the Label field as window numbers according to a predefined pattern. Implicit window boundaries are formed based on the identified window boundary signals.

5. The method according to claim 2, characterized in that, The process of generating sorting clues includes generating implicit window boundaries; another implementation method is as follows: For the last few bits of the CRC checksum of each message in the parsed message entry list, perform sliding statistics; Extract the mode that presents the preset pattern from the results of the sliding statistics; The change in the mode or its value itself is used as the window heartbeat signal, thereby forming the implicit window boundary.

6. The method according to claim 2, characterized in that, Merging sorting clues, including: Assign priorities to the types of information sources, where explicit sequence numbers have higher priority than implicit window boundaries, and implicit window boundaries have higher priority than virtual sequence numbers; When sorting clues provided by different information sources conflict, arbitration is carried out according to priority, the sorting clue with higher priority is selected, and a conflict rollback record is generated. The sorting clues after arbitration are aligned and integrated to ultimately form a unified structure of sequence information and window boundary information.

7. The method according to claim 1, characterized in that, Performing a two-level rearrangement based on sequence information and window boundary information, including: In the received PDU buffer, the arriving protocol data units (PDUs) are sorted according to sequence information and window boundary information; In the SDU aggregation container, PDU fragments belonging to the same upper-level business data unit are aggregated to determine the integrity of the upper-level business data unit. The rearrangement window is advanced and the complete upper-layer service data unit is moved into the in-order deliverable queue only if and only if the next expected PDU is already in the receive PDU buffer and its corresponding upper-layer service data unit is determined to be complete in the SDU aggregation container.

8. The method according to claim 1, characterized in that, Adaptive control of the rearrangement process using arrival statistics includes: The window size is dynamically calculated based on the arrival jitter quantile and average retransmission rounds included in the arrival statistics. The window size is dynamically calculated to update and constrain the piecewise-aware two-level rearrangement process.

9. The method according to claim 1, characterized in that, Adaptive control of the rearrangement process using arrival statistics also includes: The timer reordering threshold is determined by combining the high percentile of round-trip delay, baseband frame period estimation, and average retransmission rounds estimation from the arrival statistics. The timer reordering threshold is used as a criterion for triggering abnormal progress due to timeout while waiting for the oldest gap during the two-level reordering process.

10. The method according to claim 7, characterized in that, The methods for handling sequence number wrapping during the sorting of PDUs based on sequence information and window boundary information include: Apply the modulo count comparison rule to define the wraparound neighborhood that is adjacent to half the modulo count value of the sequence number; When the difference in the sequence numbers of two PDUs to be compared falls within the wraparound neighborhood, the confidence level of the sequence information and window boundary information in the unified structure, or the virtual sequence number, is introduced as an auxiliary criterion.

Citation Information

Patent Citations

  • Data rearrangement and recombination method in wireless communication system and its base station

    CN101043301A

  • Method and device for processing packets by packet data convergence protocol (PDCP) layer

    CN101686494A

  • Packet reassembly and resequence method, apparatus and system

    CN103069757A

  • Data transmission method, base station and wireless communication device

    CN108847919A

  • Apparatus and method for enhanced um rlc data handling

    CN1951052A

Cited By

  • Short message gateway information processing method and device

    CN121940719A