A bandwidth adaptive dynamic throttling data distribution system

By introducing physical layer status acquisition and Kalman filter model prediction of available link bandwidth into the data distribution system, and adjusting the data packet sending interval through cross-layer rate limiting decisions, the network congestion problem caused by transport layer response lag is solved, and more efficient data packet transmission is achieved.

CN122293600APending Publication Date: 2026-06-26XIAN COCO CLOUD SOFTWARE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610759662.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-29
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

When existing data distribution systems implement dynamic rate limiting, the transport layer's response to rapid fading of the physical layer channel is delayed, causing congestion to shift forward in the distribution link. The buffers of intermediate network nodes are quickly filled and overflow, leading to a large number of unnecessary data packet retransmissions and distribution queue congestion.

Method used

A bandwidth-adaptive dynamic rate-limiting data distribution system is adopted. The signal-to-noise ratio sequence is obtained through the physical layer state acquisition front-end, and the available bandwidth of the link at the next moment is predicted by the Kalman filter model. The cross-layer rate-limiting decision front-end compares the bandwidth prediction value with the sliding window value of the transport layer to generate a dynamic rate-limiting threshold. The distribution execution front-end adjusts the data packet sending interval and establishes a cross-layer joint scheduling mechanism.

Benefits of technology

It eliminates the lag in the transport layer's response to the rapid fading of the physical layer channel, reduces buffer overflows and packet retransmissions at intermediate network nodes, improves the consistency of cross-layer rate limiting decisions, and adapts to specific multipath channel environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122293600A_ABST
    Figure CN122293600A_ABST
Patent Text Reader

Abstract

This invention relates to the field of digital information transmission technology, specifically to a bandwidth-adaptive dynamic rate-limited data distribution system. The system includes a physical layer state acquisition front-end, a signal-to-noise ratio (SNR) trend prediction front-end, a cross-layer rate-limiting decision front-end, and a distribution execution front-end. The physical layer state acquisition front-end acquires the SNR sequence of the target distribution link; the SNR trend prediction front-end inputs the SNR sequence into a Kalman filter model and outputs a predicted value of the available bandwidth of the link, the state transition matrix parameters of which are dynamically determined by the multipath delay spread value of the current link; the cross-layer rate-limiting decision front-end compares the predicted value of the available bandwidth of the link with the current sliding window congestion window value of the transport layer and takes the smaller value as the dynamic rate-limiting threshold; the distribution execution front-end adjusts the data packet transmission interval of the transmission queue according to the dynamic rate-limiting threshold. This scheme reduces the transmission rate in advance based on the bandwidth prediction results before physical layer channel fading causes packet loss at the transport layer.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of digital information transmission technology, and more specifically to a bandwidth-adaptive dynamic rate-limited data distribution system. Background Technology

[0002] Existing data distribution systems employ a closed-loop feedback mechanism in the transport layer protocol when implementing dynamic rate limiting. The system monitors the packet loss rate and round-trip time (RTT) metrics at the transport layer in real time. When the packet loss rate exceeds a set threshold or the RTT increases sharply, the system determines that link congestion has occurred and limits the data packet transmission rate at the sending end by reducing the sliding window congestion window value of the transport layer. The entire rate limiting process relies entirely on transport layer state feedback; the distribution system lacks components for acquiring or processing physical layer channel states, and the rate limiting decision is a passive response based solely on data interaction results within the transport layer protocol stack.

[0003] The core technical problem with the aforementioned conventional solutions lies in the lag in the transport layer's response to rapid fading of the physical layer channel, leading to congestion shifting in the distribution link. When the physical layer channel experiences rapid fading due to interference, the available bandwidth of the underlying link has already decreased, but the transport layer cannot directly obtain this physical layer state change. The transport layer must wait for continuous transmission failures to trigger underlying retransmission timeouts, resulting in packet loss events or a sharp increase in round-trip delay, before it can react by reducing the transmission rate based on these abnormal indicators. There is a fixed time difference between the occurrence of physical layer channel degradation and the implementation of rate limiting by the transport layer. During this time difference, the distribution system continues to inject data packets into the network at the original rate, causing the buffers of intermediate network nodes to be quickly filled and overflow, resulting in a large number of unnecessary data packet retransmissions and distribution queue congestion. Summary of the Invention

[0004] The purpose of this invention is to provide a bandwidth-adaptive dynamic rate-limited data distribution system that can solve the problems mentioned in the background art.

[0005] To achieve the above objectives, the technical solution adopted by the present invention is as follows:

[0006] A bandwidth-adaptive dynamic rate-limited data distribution system includes a physical layer state acquisition front-end, a signal-to-noise ratio (SNR) trend prediction front-end, a cross-layer rate-limiting decision front-end, and a distribution execution front-end. The physical layer state acquisition front-end acquires the SNR sequence of the target distribution link at fixed intervals. The SNR trend prediction front-end inputs the SNR sequence into a pre-constructed Kalman filter model and outputs a predicted value of the available bandwidth of the link at the next time step. The state transition matrix parameters of the Kalman filter model are dynamically determined by the multipath delay spread value of the current link. The cross-layer rate-limiting decision front-end compares the predicted available bandwidth of the link with the current sliding window congestion window value of the transport layer and takes the smaller value between the predicted available bandwidth and the sliding window congestion window value as a dynamic rate-limiting threshold. The distribution execution front-end adjusts the data packet transmission interval of the transmission queue according to the dynamic rate-limiting threshold.

[0007] Preferably, the physical layer state acquisition front-end includes an orthogonal frequency division multiplexing demodulator and a pilot extractor; the orthogonal frequency division multiplexing demodulator performs a fast Fourier transform on the received baseband time-domain signal to generate a frequency-domain signal matrix; the pilot extractor extracts the complex symbols of the pilot subcarriers at corresponding positions from the frequency-domain signal matrix according to a preset pilot pattern; the physical layer state acquisition front-end calculates the conjugate product of the complex symbols of adjacent orthogonal frequency division multiplexing symbols at the same pilot subcarrier position, extracts the phase difference value of the product, and arranges the phase difference values ​​of all pilot subcarriers in carrier index order to generate the signal-to-noise ratio sequence.

[0008] Preferably, the Kalman filter model includes a state update equation and an observation update equation; the state vector of the state update equation contains the channel fading factor and the rate of change of the channel fading factor at the current moment, and the input of the state update equation is the weighted sum of the estimated state vector value and the process noise vector at the previous moment; the observation vector of the observation update equation contains the latest signal-to-noise ratio value in the signal-to-noise ratio sequence, and the observation update equation updates the state vector by calculating the residual between the latest signal-to-noise ratio value and the observation estimate, combined with the Kalman gain matrix, and maps the channel fading factor in the updated state vector to the predicted value of the available bandwidth of the link.

[0009] Preferably, the state transition matrix in the state update equation is a second-order diagonal matrix, the first diagonal element of the second-order diagonal matrix is ​​set to a constant 1, and the second diagonal element of the second-order diagonal matrix is ​​set to the exponential decay function value of the multipath delay spread; the multipath delay spread value is obtained by calculating the root mean square delay of the channel impulse response power delay distribution; the base of the exponential decay function value is a natural constant, and the exponent of the exponential decay function value is the ratio of the negative root mean square delay to the effective duration of the orthogonal frequency division multiplexing symbol.

[0010] Preferably, the cross-layer rate limiting decision front-end internally deploys a slow start judgment register and a congestion window register; the slow start judgment register stores a slow start threshold, and the cross-layer rate limiting decision front-end compares the current sliding window congestion window value stored in the congestion window register with the slow start threshold; when the current sliding window congestion window value is less than the slow start threshold, the cross-layer rate limiting decision front-end directly overwrites the predicted link available bandwidth value with the dynamic rate limiting threshold; when the current sliding window congestion window value is greater than or equal to the slow start threshold, a comparison operation of taking the smaller value is performed.

[0011] Preferably, the distribution execution front end includes a token bucket controller and a sending queue scheduler; the token bucket controller is internally configured with a token counter and a token generation timer; the token generation timer calculates the token injection cycle based on the dynamic rate limiting threshold, and increments the token counter by a fixed number of tokens when each token injection cycle arrives; when the sending queue scheduler detects that there is a data packet to be sent at the head of the sending queue, it queries the current token count of the token counter, and when the current token count is greater than or equal to the byte length of the data packet to be sent at the head of the queue, it deducts the corresponding number of tokens and triggers the physical layer sending action of the data packet to be sent at the head of the queue.

[0012] Preferably, the pilot extractor is internally equipped with a deep fading rejection register; after extracting the complex symbols of the pilot subcarriers, the pilot extractor calculates the magnitude of each complex symbol of the pilot subcarriers and compares the magnitude with a preset lower limit threshold; for the complex symbols of the pilot subcarriers whose magnitude is less than the lower limit threshold, the deep fading rejection register clears the value of the corresponding position of the pilot subcarrier in the frequency domain signal matrix to zero; the physical layer state acquisition front end calculates the phase difference and generates the signal-to-noise ratio sequence based only on the remaining pilot subcarriers after clearing.

[0013] Preferably, the calculation of the multipath delay spread value specifically involves: performing a sliding cross-correlation operation on the received baseband time-domain signal and a locally stored pseudo-random sequence to obtain a multipath channel tap sequence; extracting the tap delay positions and corresponding tap power values ​​in the multipath channel tap sequence where the amplitude exceeds the noise threshold; calculating the first and second moments of the power delay distribution based on the tap delay positions and the tap power values; performing a square root operation on the difference between the square of the second moment and the first moment; and inputting the result as the root mean square delay into the exponential decay function value.

[0014] Preferably, the slow start threshold stored in the slow start judgment register is periodically updated based on the historical dynamic speed limit threshold sequence; the cross-layer speed limit decision front end extracts the historical dynamic speed limit thresholds of the previous preset number of cycles in the current cycle, and calculates the arithmetic mean and sliding variance of the historical dynamic speed limit thresholds of the previous preset number of cycles; the cross-layer speed limit decision front end multiplies the arithmetic mean with a preset first proportional coefficient to obtain a first product, multiplies the sliding variance with a preset second proportional coefficient to obtain a second product, and stores the sum of the first product and the second product as the updated slow start threshold in the slow start judgment register.

[0015] Preferably, the token bucket controller also includes a token bucket depth register; the upper limit of the token bucket depth stored in the token bucket depth register is dynamically configured based on the length variance of the data packets to be sent in the sending queue; the distribution execution front end counts the length of each data packet entering the sending queue within a preset time window and calculates the variance of the length of each data packet; the distribution execution front end compares the variance with a preset variance benchmark value, and when the variance is greater than the variance benchmark value, the upper limit of the token bucket depth is increased proportionally based on the difference between the variance and the variance benchmark value, and the total number of tokens accumulated by the token counter does not exceed the upper limit of the token bucket depth.

[0016] Compared with the prior art, the beneficial effects of the present invention are as follows:

[0017] 1. This system eliminates the lag in the transport layer's response to rapid fading of the physical layer channel by establishing a cross-layer joint scheduling mechanism between the physical layer and the transport layer. After the physical layer state acquisition front-end obtains the signal-to-noise ratio (SNR) sequence of the target distribution link, the SNR trend prediction front-end calculates the predicted available bandwidth of the link at the next moment using a Kalman filter model whose input state transition matrix parameters are determined by the multipath delay spread value. The cross-layer rate limiting decision front-end compares this predicted value with the current sliding window congestion window value of the transport layer and takes the smaller value to generate a dynamic rate limiting threshold. The distribution execution front-end adjusts the data packet transmission interval of the transmission queue according to this dynamic rate limiting threshold. This mechanism reduces the data packet injection rate in advance based on the bandwidth prediction results before physical layer channel fading occurs and before transport layer packet loss occurs, reducing the amount of data entering the network during the deterioration of the underlying link, avoiding buffer overflow of intermediate network nodes and subsequent chain retransmissions.

[0018] 2. This system improves the execution consistency of cross-layer rate limiting decisions by refining the physical layer parameter extraction and distribution queue control logic. The orthogonal frequency division multiplexing demodulator, combined with the pilot extractor, extracts complex symbols of pilot subcarriers from the frequency domain signal matrix. The deep fading rejection register filters out abnormal symbols with moduli below the lower threshold, ensuring that the signal-to-noise ratio sequence input to the Kalman filter model is protected from deep fading interference. The system obtains the multipath channel tap sequence based on the cross-correlation operation between the received signal and the local pseudo-random sequence, and calculates the root mean square delay of the power delay distribution to configure the diagonal elements of the Kalman filter model's state transition matrix, adapting the bandwidth prediction process to the specific multipath channel environment. The token bucket controller at the distribution execution front end calculates the token injection period based on the dynamic rate limiting threshold and dynamically configures the upper limit of the token bucket depth based on the length variance of the data packets to be sent, creating a corresponding and linked execution link between the data packet deduction action of the sending queue and the physical layer bandwidth prediction results. Attached Figure Description

[0019] Figure 1 This is a flowchart illustrating the overall workflow of the bandwidth adaptive dynamic rate-limited data distribution system provided in this embodiment of the invention.

[0020] Figure 2 A flowchart of physical layer state acquisition and signal-to-noise ratio sequence generation provided in an embodiment of the present invention;

[0021] Figure 3 A flowchart for predicting available bandwidth of a Kalman filter link provided in an embodiment of the present invention;

[0022] Figure 4 This is a flowchart of cross-layer rate limiting decision and slow start threshold update provided in an embodiment of the present invention;

[0023] Figure 5 A flowchart of token bucket control and data packet sending scheduling provided in an embodiment of the present invention;

[0024] Figure 6 A flowchart for multipath delay spread calculation provided in an embodiment of the present invention. Detailed Implementation

[0025] refer to Figure 1In one embodiment, a bandwidth-adaptive dynamic rate-limited data distribution system is deployed within the protocol stack architecture of the transmitting end of a wireless communication system. The system includes a physical layer state acquisition front-end, a signal-to-noise ratio (SNR) trend prediction front-end, a cross-layer rate-limiting decision front-end, and a distribution execution front-end. The physical layer state acquisition front-end acquires the SNR sequence of the target distribution link at a fixed period. This fixed period is synchronized with the transmission period of the orthogonal frequency division multiplexing (OFDM) symbols of the target distribution link. Each acquisition period corresponds to the transmission duration of a complete OFDM symbol, and the trigger time of the acquisition action is aligned with the completion time of the OFDM symbol reception and demodulation. Within each acquisition period, the physical layer state acquisition front-end extracts and processes the channel state information of the target distribution link at the current moment, generates the corresponding SNR value, and stores this SNR value in a preset sequence buffer space according to the acquisition time sequence, forming a continuous SNR sequence. The signal-to-noise ratio (SNR) trend prediction front-end reads the SNR sequence from the sequence buffer space, inputs the SNR sequence into a pre-built Kalman filter model, and outputs the predicted link available bandwidth for the next time step. The state transition matrix parameters of the Kalman filter model are dynamically determined by the current multipath delay spread value of the link. The multipath delay spread value is synchronously calculated by the physical layer state acquisition front-end in each acquisition cycle and updated to the parameter register of the Kalman filter model. The cross-layer rate limiting decision front-end reads the current sliding window congestion window value of the transport layer through the interface of the transport layer protocol stack, compares the predicted link available bandwidth value with the current sliding window congestion window value, and takes the smaller value between the two as the dynamic rate limiting threshold. The dynamic rate limiting threshold is written into the output register of the cross-layer rate limiting decision front-end for the distribution execution front-end to read and call. After reading the dynamic rate limiting threshold, the distribution execution front-end adjusts the data packet transmission interval of the sending queue according to the dynamic rate limiting threshold. The data packets to be sent in the sending queue are arranged in a first-in-first-out order. The adjustment of the data packet transmission interval directly affects the dequeue trigger time of the sending queue, realizing dynamic control of the rate at which the sending end injects data packets into the network.

[0026] Specifically, the sequence buffer space of the physical layer state acquisition front-end is set as a circular buffer structure. The depth of the circular buffer corresponds to the preset sequence length, which is set to the observation window length of the Kalman filter model. This ensures that the signal-to-noise ratio (SNR) sequence input to the Kalman filter model each time contains SNR values ​​for a preset number of consecutive acquisition cycles. After calculating the SNR value in each acquisition cycle, the physical layer state acquisition front-end writes the latest SNR value to the current write address of the circular buffer and updates the offset of the write address. When the write address reaches the maximum address of the circular buffer, it automatically jumps to the starting address of the circular buffer to complete the circular write operation. The SNR sequence in the circular buffer is arranged in chronological order of acquisition time, with the most recently acquired SNR value at the end of the sequence and the earliest acquired SNR value at the beginning. The SNR trend prediction front-end reads all valid data in the circular buffer each time as the input sequence for the Kalman filter model.

[0027] Furthermore, the Kalman filter model internally includes a state estimation register, a parameter configuration register, a covariance matrix calculation unit, and a gain calculation unit. The state estimation register stores the state vector estimates for the current and previous time steps, while the parameter configuration register stores the values ​​of the state transition matrix, observation matrix, process noise covariance matrix, and observation noise covariance. The execution flow of the Kalman filter model is divided into a state update phase and an observation update phase. The state update phase is triggered at the beginning of each acquisition cycle, and the observation update phase is triggered after the signal-to-noise ratio sequence is read. In the state update phase, the Kalman filter model reads the state transition matrix and the posterior state estimation vector from the previous time step from the parameter configuration register, and performs prior state estimation calculation. The prior state estimation calculation is implemented through a preset state update equation. The input to the state update equation is the weighted sum of the state vector estimate from the previous time step and the process noise vector. The state vector of the state update equation includes the channel fading factor and the rate of change of the channel fading factor at the current time step. The state vector is defined by the following formula:

[0028]

[0029] in, This is the state vector corresponding to the nth acquisition cycle. Let be the channel fading factor of the target distribution link during the nth acquisition period. Let be the rate of change of the channel fading factor of the target distribution link during the nth acquisition period. The channel fading factor is a linear mapping value of the signal-to-noise ratio of the target distribution link, and the rate of change of the channel fading factor corresponds to the rate of change of the channel fading factor during adjacent acquisition periods.

[0030] The prior state estimate during the state update phase is calculated using the following formula:

[0031]

[0032] in, Let be the prior state estimation vector for the nth acquisition cycle. This is the state transition matrix corresponding to the nth acquisition cycle. Let be the posterior state estimation vector for the (n-1)th acquisition cycle. Let be the process noise vector corresponding to the nth acquisition cycle. The process noise vector follows a function with a mean of 0 and a covariance matrix of . Gaussian distribution, covariance matrix The values ​​are pre-stored in the parameter configuration register and can be configured according to the channel variation characteristics of the target distribution link. State transition matrix The parameters are dynamically determined by the multipath delay spread value of the current link. The multipath delay spread value is calculated by the physical layer state acquisition front end in the (n-1)th acquisition cycle and written into the parameter configuration register before the state update phase of the nth acquisition cycle, thus completing the dynamic update of the state transition matrix.

[0033] During the observation update phase, the Kalman filter model reads the signal-to-noise ratio (SNR) sequence generated by the physical layer state acquisition front-end, and extracts the latest SNR value from the SNR sequence as the observation vector. The observation vector is defined by the following formula:

[0034]

[0035] in, This is the observation vector corresponding to the nth acquisition cycle. This represents the latest signal-to-noise ratio (SNR) value in the SNR sequence during the nth acquisition period. This SNR value is the average SNR of the target distribution link calculated by the physical layer state acquisition front-end during the nth acquisition period. The Kalman filter model calculates the observation estimate based on the prior state estimation vector. The calculation of the observation estimate is achieved using the following formula:

[0036]

[0037] in, This is the estimated observation value corresponding to the nth acquisition cycle. The observation matrix is ​​pre-set to... And stored in the parameter configuration register, Let be the observation noise vector corresponding to the nth acquisition period. The observation noise vector follows a pattern with a mean of 0 and a covariance of . Gaussian distribution, covariance The values ​​are pre-stored in the parameter configuration register and can be configured according to the noise characteristics of the physical layer acquisition process.

[0038] The Kalman filter model calculates the residual between the latest signal-to-noise ratio (SNR) and the observed estimate. The residual is calculated as the difference between the observed vector and the observed estimate. This residual is then combined with the Kalman gain matrix to update the state vector. The Kalman gain matrix is ​​calculated using the following formula:

[0039]

[0040] in, This is the Kalman gain matrix corresponding to the nth acquisition cycle. Let be the prior estimation error covariance matrix corresponding to the nth acquisition cycle. The prior estimation error covariance matrix is ​​calculated synchronously during the state update phase. The calculation process involves multiplying the state transition matrix by the previous time step's posterior estimation error covariance matrix, then multiplying by the transpose of the state transition matrix, and finally adding the process noise covariance matrix. The update of the posterior state vector is achieved through the following formula:

[0041]

[0042] in, This is the posterior state estimation vector corresponding to the nth acquisition cycle. This vector is written into the state estimation register and used as the input for the state update stage of the next acquisition cycle.

[0043] After updating the a priori state estimation vector of the Kalman filter model, the channel fading factor in the updated state vector is mapped to the predicted link available bandwidth at the next time step. The mapping process is achieved through the following formula:

[0044]

[0045] in, This is the predicted value of the available bandwidth of the link corresponding to the (n+1)th acquisition period. The total subcarrier bandwidth of the target distribution link is pre-stored in the parameter configuration register of the Kalman filter model, and is consistent with the physical layer bandwidth configuration of the target distribution link. This is the estimated channel fading factor in the posterior state estimation vector of the nth acquisition cycle. The predicted available bandwidth of the link is output to the input register of the cross-layer rate limiting decision front-end, completing the entire process of signal-to-noise ratio trend prediction.

[0046] Specifically, the cross-layer rate limiting decision front-end internally includes an input register, a transport layer interface unit, a comparison operation unit, and an output register. The input register stores the predicted available bandwidth of the link output by the signal-to-noise ratio trend prediction front-end. The transport layer interface unit establishes a data interaction channel with the transport layer protocol stack of the transmitting end, and reads the current sliding window congestion window value from the transport layer protocol stack in real time. The reading period of the sliding window congestion window value is synchronized with the acquisition period of the physical layer state acquisition front-end, ensuring that the predicted available bandwidth of the link participating in the comparison operation corresponds to the link state of the sliding window congestion window value in the same acquisition period. The comparison operation unit reads the predicted available bandwidth of the link and the current sliding window congestion window value, and performs a comparison operation to take the smaller value. The operation process is implemented through the following formula:

[0047]

[0048] in, This represents the dynamic rate limiting threshold corresponding to the nth acquisition cycle. This represents the sliding window congestion window value of the transport layer during the nth acquisition cycle. The comparison unit writes the calculated dynamic rate limiting threshold into the output register, and the output register establishes a data connection with the distribution execution front end to ensure that the distribution execution front end can obtain the updated dynamic rate limiting threshold in real time.

[0049] Furthermore, the distribution execution front-end internally includes a threshold reading unit, a transmission interval calculation unit, and a transmission queue and scheduling control unit. The threshold reading unit reads the dynamic rate limiting threshold from the cross-layer rate limiting decision front-end output register at a fixed period. The reading period is synchronized with the acquisition period of the physical layer status acquisition front-end to ensure that the adjustment of the transmission interval is consistent with the update of the link status. The transmission interval calculation unit calculates the data packet transmission interval of the transmission queue based on the dynamic rate limiting threshold. The calculation process is implemented through the following formula:

[0050]

[0051] in, This represents the data packet transmission interval corresponding to the nth acquisition period. The average byte length of the data packets to be sent in the transmission queue is calculated by taking the arithmetic mean of the byte lengths of all data packets entering the transmission queue within a preset time window. The length of the preset time window is an integer multiple of the acquisition period. Based on the calculated data packet transmission interval, the scheduling control unit adjusts the dequeue trigger time of the transmission queue. The data packets to be sent in the transmission queue are arranged in a first-in, first-out (FIFO) order. The time interval between the dequeue trigger time of each data packet and the dequeue trigger time of the previous data packet is equal to the currently calculated data packet transmission interval. When there is a data packet to be sent at the head of the transmission queue, the scheduling control unit triggers the physical layer transmission action of the data packet at the head of the queue when the dequeue trigger time is reached, sending the data packet to the receiving end through the target distribution link, thus completing the rate limiting control of data distribution.

[0052] To ensure the continuity of the physical layer status acquisition process and the traceability of the signal-to-noise ratio sequence, the physical layer status acquisition front-end is equipped with an acquisition log storage unit. The acquisition log storage unit records the basic information and relevant parameters of the signal-to-noise ratio sequence for each acquisition cycle. The recorded content is shown in Table 1 below.

[0053] Table 1. Correspondence between fixed acquisition period and signal-to-noise ratio sequence of target distribution link

[0054] Collection cycle number Corresponding OFDM symbol number Number of effective pilot subcarriers Signal-to-noise ratio (SNR) - Mean of the sequence (dB) Serial storage start address Sequence write complete flag 1 0 48 28.3 0x0000 1 2 1 48 27.9 0x0020 1 3 2 48 28.1 0x0040 1 4 3 47 26.5 0x0060 1 5 4 48 27.8 0x0080 1

[0055] In this embodiment, the acquisition period number corresponds to the OFDM symbol number, and each acquisition period corresponds to the transmission duration of one OFDM symbol. The number of effective pilot subcarriers is the total number of pilot subcarriers participating in the signal-to-noise ratio (SNR) calculation within the current acquisition period. The SNR sequence mean is the arithmetic mean of the SNR values ​​corresponding to all effective pilot subcarriers within the current acquisition period. The sequence storage start address is the storage address offset of the SNR value of the current acquisition period within the circular buffer space. The sequence write completion flag is used to mark whether the SNR value of the current acquisition period has been written. When the flag is 1, it indicates that the writing is complete and can be read by the SNR trend prediction front-end. The recorded content of the acquisition log storage unit can be read by the system's debugging module for troubleshooting and parameter optimization during the acquisition process, while ensuring that the generation process of the SNR sequence can be reproduced, meeting the system's feasibility requirements.

[0056] In this embodiment, the system establishes a cross-layer joint scheduling mechanism for physical layer channel status and transport layer transmission rate control through the collaborative work of the physical layer state acquisition front-end, signal-to-noise ratio trend prediction front-end, cross-layer rate limiting decision front-end, and distribution execution front-end. Before physical layer channel fading occurs and before transport layer packet loss events occur, the system adjusts the data packet transmission interval in advance based on the predicted results of the available bandwidth of the link, controls the rate at which the sending end injects data packets into the network, reduces the amount of data entering the network during link channel deterioration, and avoids buffer overflow of intermediate network nodes and subsequent data packet retransmission operations.

[0057] refer to Figure 2 In one optional embodiment, the physical layer state acquisition front-end includes an orthogonal frequency division multiplexing (OFDM) demodulator and a pilot extractor. The OFDM demodulator establishes a data connection with the RF front-end of the receiver, receives the baseband time-domain signal after down-conversion processing by the RF front-end, and completes the demodulation processing of the baseband time-domain signal. The pilot extractor is connected to the output of the OFDM demodulator, extracts the pilot subcarrier information from the demodulated signal, and completes the extraction of channel state information and the generation of the signal-to-noise ratio sequence. The OFDM demodulator internally includes a cyclic prefix removal unit, a fast Fourier transform unit, and a frequency domain signal buffer unit. The cyclic prefix removal unit receives the baseband time-domain signal, identifies the cyclic prefix position of each OFDM symbol in the baseband time-domain signal, removes the cyclic prefix portion at the front end of each OFDM symbol, and outputs the time-domain OFDM symbol data after removing the cyclic prefix. The Fast Fourier Transform (FFT) unit receives the time-domain OFDM symbol data after removing the cyclic prefix, performs a Fast Fourier Transform on the time-domain OFDM symbol data, converts the time-domain signal into a frequency-domain signal, and generates a frequency-domain signal matrix. The rows of the frequency-domain signal matrix correspond to the OFDM symbol indices, the columns correspond to the subcarrier indices, and each element in the frequency-domain signal matrix is ​​a complex symbol corresponding to the OFDM symbol and the subcarrier position. The frequency-domain signal buffer unit receives the frequency-domain signal matrix output by the FFT unit and stores it in a preset buffer space according to the OFDM symbol order. The depth of the buffer space corresponds to a preset number of consecutive OFDM symbols, ensuring that the pilot extractor can read the frequency-domain signal data of adjacent OFDM symbols.

[0058] Specifically, the pilot extractor internally includes a pilot pattern storage register, a pilot position index unit, and a complex symbol extraction unit. The pilot pattern storage register stores a preset pilot pattern, which is a pre-configured comb-shaped pilot structure. Pilot subcarriers are uniformly distributed at fixed intervals in the frequency domain, with a preset number of data subcarriers separating adjacent pilot subcarriers. The pilot pattern records the subcarrier index number corresponding to each pilot subcarrier within each OFDM symbol. The pilot position index unit reads the pilot subcarrier index numbers from the pilot pattern storage register and generates a pilot position index sequence for the corresponding OFDM symbol. Each element in the pilot position index sequence corresponds to a subcarrier index number of a pilot subcarrier. The complex symbol extraction unit reads the frequency domain signal matrix stored in the frequency domain signal buffer unit and, based on the pilot position index sequence, extracts the complex symbol of the pilot subcarrier at the corresponding position from the frequency domain signal matrix. Each complex symbol of the pilot subcarrier is a complex data number containing both real and imaginary parts, representing the channel frequency response at the corresponding subcarrier position.

[0059] Further, the physical layer state acquisition front-end calculates the conjugate product of complex symbols of adjacent OFDM symbols at the same pilot subcarrier position, extracts the phase difference value of the product, and arranges the phase difference values ​​of all pilot subcarriers in carrier index order to generate a signal-to-noise ratio sequence. The physical layer state acquisition front-end internally includes a phase difference calculation unit and a sequence generation unit. The phase difference calculation unit reads the complex symbol of the pilot subcarrier of the nth OFDM symbol output by the pilot extractor, and the complex symbol at the same pilot subcarrier position of the (n-1)th OFDM symbol. It performs a conjugate operation on the complex symbol of the pilot subcarrier of the (n-1)th OFDM symbol, and performs a complex multiplication operation with the corresponding complex symbol of the pilot subcarrier of the nth OFDM symbol to obtain the conjugate product result. The phase difference calculation unit extracts the phase angle of the conjugate product result to obtain the phase difference value corresponding to that pilot subcarrier position. The phase difference calculation process is implemented through the following formula:

[0060]

[0061] in, This represents the phase difference between the nth OFDM symbol and the kth pilot subcarrier. This is the complex channel response at the k-th pilot subcarrier position of the n-th OFDM symbol, i.e., the complex symbol of the pilot subcarrier at that position extracted by the pilot extractor. The conjugate of the complex channel response at the position of the k-th pilot subcarrier of the (n-1)-th OFDM symbol. For the operation of obtaining the complex phase angle, the range of the result is as follows: .

[0062] After calculating the phase difference for all pilot subcarriers within the current OFDM symbol, the phase difference calculation unit arranges all phase difference values ​​in ascending order according to the carrier index of the pilot subcarriers, generating a phase difference sequence. The sequence generation unit reads the phase difference sequence and maps each phase difference value to the signal-to-noise ratio (SNR) value of the corresponding pilot subcarrier. The mapping process is implemented using the following formula:

[0063]

[0064] in, This represents the signal-to-noise ratio (SNR) value corresponding to the nth OFDM symbol and the kth pilot subcarrier. The phase noise variance of the target distribution link is pre-stored in the parameter register of the sequence generation unit, and can be configured according to the phase noise characteristics of the receiver's RF front-end. The sequence generation unit arranges the signal-to-noise ratio (SNR) values ​​corresponding to all pilot subcarriers in carrier index order to generate the SNR sequence corresponding to the current OFDM symbol, completing the physical layer state acquisition and sequence generation process.

[0065] Preferably, the pilot extractor internally includes a deep fading rejection register, which is connected to the output of the complex symbol extraction unit. This register performs deep fading rejection processing on the extracted pilot subcarrier complex symbols, filtering out abnormal pilot subcarrier symbols affected by deep fading. The deep fading rejection register internally includes a modulus calculation unit, a threshold comparison unit, and a symbol clearing unit. The modulus calculation unit reads each pilot subcarrier complex symbol output by the complex symbol extraction unit and calculates the modulus of each complex symbol. The modulus is calculated as the square root of the sum of the squares of the real and imaginary parts of the complex symbol, and corresponds to the channel gain amplitude at the pilot subcarrier position. The threshold comparison unit internally stores a preset lower modulus threshold, which is a pre-configured lower limit of the channel gain amplitude, corresponding to the critical value when the pilot subcarrier is in a deep fading state. The threshold comparison unit compares the modulus of each pilot subcarrier complex symbol with the lower modulus threshold one by one and outputs the comparison result for each pilot subcarrier. The symbol clearing unit reads the comparison result from the threshold comparison unit. For pilot subcarrier complex symbols whose modulus is less than the lower limit threshold, the symbol clearing unit clears the value of the corresponding position of the pilot subcarrier in the frequency domain signal matrix to zero. For pilot subcarrier complex symbols whose modulus is greater than or equal to the lower limit threshold, the symbol clearing unit retains the original complex symbol value of the pilot subcarrier.

[0066] Furthermore, the physical layer state acquisition front-end calculates the phase difference and generates the signal-to-noise ratio (SNR) sequence based solely on the remaining pilot subcarriers after zeroing. After completing the deep fading rejection process, the pilot extractor outputs the index number of the remaining valid pilot subcarriers and their corresponding complex symbols to the phase difference calculation unit. The phase difference calculation unit only performs the conjugate product of adjacent OFDM symbols and the phase difference calculation on the valid pilot subcarriers. The sequence generation unit calculates the SNR value based solely on the phase difference corresponding to the valid pilot subcarriers and generates the SNR sequence. The deep fading rejection register also contains a valid pilot counting unit. This unit counts the number of valid pilot subcarriers remaining after zeroing within each OFDM symbol. When the number of valid pilot subcarriers is less than the preset minimum number of valid pilots, the valid pilot counting unit generates an anomaly flag and outputs it to the SNR trend prediction front-end. Upon receiving the anomaly flag, the SNR trend prediction front-end maintains the current link available bandwidth prediction value unchanged and does not perform new prediction calculations to avoid distortion of the prediction results due to insufficient number of valid pilots.

[0067] To ensure the traceability of the deep fading removal process and the accuracy of effective pilot selection, the pilot extractor is equipped with a pilot processing log storage unit. The pilot processing log storage unit records the basic information of each pilot subcarrier and the deep fading removal processing results within the processing cycle of each OFDM symbol. The recorded content is shown in Table 2 below.

[0068] Table 2 Comparison of Pilot Subcarrier Position and Depth Fading Removal Results

[0069] Subcarrier index number Subcarrier type Modulus of a complex number sign Modulus lower limit threshold Comparison results Processing results 4 pilot 0.89 0.3 Greater than reserve 8 pilot 0.76 0.3 Greater than reserve 12 pilot 0.21 0.3 Less than Clear 16 pilot 0.92 0.3 Greater than reserve 20 pilot 0.85 0.3 Greater than reserve

[0070] In this embodiment, the subcarrier index number corresponds to the column index in the frequency domain signal matrix, the subcarrier type is used to mark whether the subcarrier is a pilot subcarrier or a data subcarrier, the complex symbol modulus value is the calculated result of the complex symbol modulus value of the pilot subcarrier, the lower limit threshold of the modulus value is a preset deep fading threshold, the comparison result is the comparison result between the modulus value and the lower limit threshold, and the processing result is the final processing operation corresponding to the pilot subcarrier. The recorded content of the pilot processing log storage unit can be read by the system's debugging module for troubleshooting the pilot extraction process and optimizing the configuration of the lower limit threshold of the modulus value, while ensuring that the deep fading removal process can be reproduced, meeting the system's feasibility requirements.

[0071] In this embodiment, the physical layer state acquisition front-end completes the frequency domain conversion of the baseband time domain signal through an orthogonal frequency division multiplexing demodulator, extracts the complex symbols of the pilot subcarriers through a pilot extractor, and filters out abnormal pilot subcarriers affected by deep fading by a deep fading elimination register. The phase difference is calculated based only on the effective pilot subcarriers to generate a signal-to-noise ratio (SNR) sequence, which effectively filters out the interference of deep fading on the SNR sequence, improves the accuracy of the SNR sequence, and provides reliable input data for subsequent link available bandwidth prediction.

[0072] refer to Figure 3 In one optional embodiment, the Kalman filter model includes a state update equation and an observation update equation. The computational logic of the state update equation and the observation update equation is pre-defined in the computation unit of the Kalman filter model. The computation unit completes the calculation of state update and observation update in a preset execution order within each acquisition cycle. The state vector of the state update equation contains the channel fading factor and the rate of change of the channel fading factor at the current moment. The input of the state update equation is the weighted sum of the estimated state vector value and the process noise vector at the previous moment. The state update equation is used to complete the calculation of the prior state estimate, thereby predicting the trend of channel state changes. The observation vector of the observation update equation contains the latest signal-to-noise ratio (SNR) value in the SNR sequence. The observation update equation updates the state vector by calculating the residual between the latest SNR value and the observation estimate, combined with the Kalman gain matrix, thereby correcting the prior state estimate and improving the accuracy of the state estimation result. After the Kalman filter model completes the update of the state vector, it maps the channel fading factor in the updated state vector to the predicted value of the available bandwidth of the link, completing the entire process of bandwidth prediction.

[0073] Preferably, the state transition matrix in the state update equation is a second-order diagonal matrix. The first diagonal element of the second-order diagonal matrix is ​​set to a constant 1, and the second diagonal element is set to the exponential decay function value of the multipath delay spread. The state transition matrix is ​​defined by the following formula:

[0074]

[0075] in, This is the state transition matrix corresponding to the nth acquisition cycle. The root mean square delay corresponding to the multipath delay spread of the target distribution link within the nth acquisition period. The effective duration of the OFDM symbol. is a natural constant. The first diagonal element of the state transition matrix is ​​set to 1, corresponding to the state transition characteristics of the channel fading factor, that is, the prior estimate of the channel fading factor at the current time is equal to the posterior estimate at the previous time. The second diagonal element is the exponential decay function value of the multipath delay spread, corresponding to the state transition characteristics of the rate of change of the channel fading factor. The magnitude of the exponential decay function value is negatively correlated with the multipath delay spread value. The larger the multipath delay spread value, the smaller the exponential decay function value, and the lower the state transition weight of the rate of change of the channel fading factor, which is adapted to the fading characteristics of multipath channels.

[0076] refer to Figure 6 Furthermore, the multipath delay spread is obtained by calculating the root mean square delay of the channel impulse response power delay distribution. The base of the exponential decay function is the natural constant, and the exponent of the exponential decay function is the ratio of the negative root mean square delay to the effective duration of the OFDM symbol. The physical layer state acquisition front-end contains a multipath channel estimation unit, which is connected to the baseband time-domain signal output of the RF front-end. It receives the baseband time-domain signal and completes the estimation of the multipath channel impulse response and the calculation of the root mean square delay. The multipath channel estimation unit internally stores a local pseudo-random sequence, which is consistent with the preamble sequence transmitted by the receiver. The multipath channel estimation unit performs a sliding cross-correlation operation between the received baseband time-domain signal and the locally stored pseudo-random sequence to obtain the multipath channel tap sequence. The process of sliding cross-correlation is as follows: the local pseudo-random sequence is slid across the baseband time domain signal with a fixed step size. At each sliding position, the cross-correlation value between the local pseudo-random sequence and the corresponding baseband time domain signal segment is calculated. All cross-correlation values ​​corresponding to the sliding positions are arranged in sliding order to form a multipath channel tap sequence. Each element in the multipath channel tap sequence corresponds to a channel tap, the amplitude of the element corresponds to the power of the tap, and the position of the element corresponds to the time delay position of the tap.

[0077] The multipath channel estimation unit internally includes a noise threshold register, a tap filtering unit, and a moment calculation unit. The noise threshold register stores a preset noise threshold, which is a preset multiple of the average noise power of the baseband time-domain signal, used to filter valid multipath taps. The tap filtering unit reads the multipath channel tap sequence, extracts taps whose amplitude exceeds the noise threshold, and records the time delay position and corresponding tap power value of each valid tap. The time delay position of the tap is the product of the tap's index number in the multipath channel tap sequence and the sampling period, and the tap power value is the square of the tap amplitude. The moment calculation unit reads the time delay position and tap power value of the valid taps, calculates the first and second moments of the power delay distribution. The first moment is the average time delay of the power delay distribution, and the second moment is the root mean square time delay of the power delay distribution. After calculation, the moment calculation unit takes the square root of the difference between the squares of the second and first moments, and uses the result as the root mean square time delay. The calculation process of the root mean square time delay is implemented through the following formula:

[0078]

[0079] in, The root mean square delay corresponding to the multipath delay spread of the target distribution link. Let be the first moment of the power delay distribution, i.e., the average time delay. It is the second moment of the power delay distribution, i.e., the mean square time delay.

[0080] Specifically, the calculation process for the first moment of the power delay distribution is as follows: multiply the time delay position of each effective tap by the corresponding tap power value to obtain the time delay power product of each effective tap; sum the time delay power products of all effective taps to obtain the total time delay power; divide the total time delay power by the sum of the tap power values ​​of all effective taps to obtain the first moment. The calculation process for the second moment of the power delay distribution is as follows: multiply the square of the time delay position of each effective tap by the corresponding tap power value to obtain the product of the squared power delay of each effective tap; sum the products of the squared power delay of all effective taps to obtain the total sum of the squared power delay; divide the total sum of the squared power delay of all effective taps by the sum of the tap power values ​​of all effective taps to obtain the second moment. After the moment calculation unit completes the calculation of the root mean square delay, it outputs the root mean square delay result to the parameter configuration register of the Kalman filter model. The Kalman filter model calculates the second diagonal element of the state transition matrix based on the root mean square delay result, thus completing the dynamic configuration of the state transition matrix.

[0081] In each acquisition cycle, the Kalman filter model first reads the updated state transition matrix from the parameter configuration register and performs the state update phase calculation, completing the calculation of the prior state estimation vector and the prior estimation error covariance matrix. The calculation process for the prior estimation error covariance matrix is ​​as follows: multiply the state transition matrix by the posterior estimation error covariance matrix from the previous time step, then multiply by the transpose of the state transition matrix to obtain the first product. This first product is then added to the process noise covariance matrix to obtain the prior estimation error covariance matrix. After completing the state update phase calculation, the Kalman filter model enters the observation update phase, reading the latest signal-to-noise ratio (SNR) value from the SNR sequence output by the physical layer state acquisition front-end, constructing the observation vector, and calculating the observation estimate and observation residual. The observation residual is the difference between the observation vector and the observation estimate. The Kalman filter model calculates the Kalman gain matrix based on the prior estimation error covariance matrix, the observation matrix, and the observation noise covariance. The Kalman gain matrix is ​​used to determine the correction weight of the observation residuals on the prior state estimation. When the observation noise covariance is small, the Kalman gain matrix is ​​larger and the correction weight of the observation residuals is higher. When the observation noise covariance is large, the Kalman gain matrix is ​​smaller and the correction weight of the observation residuals is lower.

[0082] Furthermore, the Kalman filter model corrects the prior state estimation vector based on the Kalman gain matrix and the observation residuals to obtain the posterior state estimation vector, and simultaneously updates the posterior estimation error covariance matrix. The calculation process for the posterior estimation error covariance matrix involves multiplying the difference between the identity matrix and the product of the Kalman gain matrix and the observation matrix by the prior estimation error covariance matrix. This posterior estimation error covariance matrix is ​​then written into the covariance register and used as input for the state update stage of the next acquisition cycle. After updating the posterior state estimation vector, the Kalman filter model extracts the channel fading factor estimate from the posterior state estimation vector and maps it to the predicted link available bandwidth for the next time step, completing the entire prediction process.

[0083] To ensure the traceability of the multipath delay spread calculation process and the accuracy of the state transition matrix configuration, a multipath channel estimation unit is set up inside the multipath channel log storage unit. In each acquisition cycle, the multipath channel log storage unit records the basic information of the effective multipath taps and the calculation parameters of the root mean square delay. The recorded content is shown in Table 3 below.

[0084] Table 3 Multipath Channel Tap Parameters and Root Mean Square Delay Calculation Parameters

[0085] Tap number Tap delay position (ns) Tap power value (mW) Noise threshold (mW) Calculated value of first moment (ns) Calculated value of the second moment (ns²) Root mean square delay result (ns) 1 0 1.25 0.1 128.6 28654.3 102.4 2 100 0.86 0.1 128.6 28654.3 102.4 3 200 0.35 0.1 128.6 28654.3 102.4 4 300 0.12 0.1 128.6 28654.3 102.4 5 400 0.08 0.1 128.6 28654.3 102.4

[0086] In this embodiment, the tap number is the number of the effective multipath tap, the tap delay position is the relative delay corresponding to the tap, the tap power value is the power calculation result of the tap, the noise threshold is the preset effective tap screening threshold, the first moment calculation value is the average delay calculation result of the power delay distribution, the second moment calculation value is the mean square delay calculation result of the power delay distribution, and the root mean square delay result is the finally calculated multipath delay spread value. The recorded content of the multipath channel log storage unit can be read by the system's debugging module for fault diagnosis and optimization configuration of state transition matrix parameters in the multipath channel estimation process, while ensuring that the root mean square delay calculation process can be reproduced, meeting the system's feasibility requirements.

[0087] In this embodiment, the Kalman filter model estimates the channel state and predicts the available bandwidth of the link through the state update equation and the observation update equation. The multipath channel estimation unit calculates the root mean square delay corresponding to the multipath delay spread of the target distribution link. Based on the root mean square delay, the diagonal elements of the state transition matrix are dynamically configured so that the state transition characteristics of the Kalman filter model are adapted to the multipath channel environment of the target distribution link, thereby improving the accuracy of the link available bandwidth prediction results and providing a reliable prediction basis for cross-layer rate limiting decisions.

[0088] refer to Figure 4 In one optional embodiment, the cross-layer rate limiting decision front-end internally deploys a slow start judgment register and a congestion window register. Both the slow start judgment register and the congestion window register are readable and writable storage units. The slow start judgment register stores the slow start threshold, and the congestion window register stores the current sliding window congestion window value read from the transport layer protocol stack. The cross-layer rate limiting decision front-end internally includes a slow start comparison unit. The two inputs of the slow start comparison unit are connected to the slow start judgment register and the congestion window register, respectively. It reads the current sliding window congestion window value and the slow start threshold, compares the two values, and outputs the comparison result. When the current sliding window congestion window value is less than the slow start threshold, the cross-layer rate limiting decision front-end determines that the transport layer protocol is in the slow start phase. At this time, the predicted available bandwidth value of the link is directly overwritten as the dynamic rate limiting threshold, and the operation of taking the smaller value from the sliding window congestion window value is not performed. This avoids excessive restriction on the growth of the transport layer congestion window during the slow start phase and ensures the link bandwidth utilization during the slow start phase. When the current sliding window congestion window value is greater than or equal to the slow start threshold, the cross-layer rate limiting decision front end determines that the transport layer protocol is in the congestion avoidance stage. At this time, it performs a comparison operation between the predicted value of the available bandwidth of the link and the smaller value of the sliding window congestion window value, and uses the comparison result as the dynamic rate limiting threshold to realize the joint scheduling of physical layer channel state and transport layer congestion control.

[0089] Preferably, the slow-start threshold stored in the slow-start judgment register is periodically updated based on a historical dynamic rate-limiting threshold sequence. The update period is a preset number of acquisition cycles, and the length of the update period can be configured according to the channel variation characteristics of the target distribution link. The cross-layer rate-limiting decision front-end is internally equipped with a threshold update unit, which contains a historical sequence buffer space. The historical sequence buffer space stores historical dynamic rate-limiting thresholds for a preset number of cycles. Dynamic rate-limiting thresholds generated in each acquisition cycle are written into the historical sequence buffer space, forming a continuous historical dynamic rate-limiting threshold sequence. At the arrival of each slow-start threshold update cycle, the threshold update unit extracts the historical dynamic rate-limiting thresholds from the historical sequence buffer space for the preceding preset number of cycles and calculates the arithmetic mean and sliding variance of these thresholds. The arithmetic mean is calculated by summing all extracted historical dynamic rate-limiting thresholds and dividing by the number of extracted historical dynamic rate-limiting thresholds. The sliding variance is calculated by squaring the difference between each extracted historical dynamic speed limit threshold and its arithmetic mean, summing all the squaring results, and dividing by the number of extracted historical dynamic speed limit thresholds to obtain the sliding variance.

[0090] Furthermore, the threshold update unit internally stores a preset first proportional coefficient and a second proportional coefficient. Both the first and second proportional coefficients are pre-configured constants greater than 0, which can be configured according to the congestion control characteristics of the transport layer protocol. The threshold update unit multiplies the arithmetic mean by the first proportional coefficient to obtain a first product, and multiplies the sliding variance by the second proportional coefficient to obtain a second product. The sum of the first and second products is used as the updated slow start threshold. The slow start threshold update process is implemented through the following formula:

[0091]

[0092] in, The updated slow start threshold, The first proportionality coefficient, This is the arithmetic mean of historical dynamic speed limit thresholds. This is the second proportionality coefficient. This represents the sliding variance of the historical dynamic speed limit threshold. After the threshold update unit completes the calculation of the updated slow start threshold, it writes this value into the slow start judgment register, overwriting the original slow start threshold value, thus completing the periodic update of the slow start threshold.

[0093] refer to Figure 5Specifically, the distribution execution front end includes a token bucket controller and a sending queue scheduler. The token bucket controller is connected to the output register of the cross-layer rate limiting decision front end, reads the dynamic rate limiting threshold, and completes the generation and accumulation of tokens. The sending queue scheduler is connected to the token bucket controller and the sending queue, and controls the data packet sending action of the sending queue based on the number of tokens in the token bucket controller. The token bucket controller internally contains a token counter, a token generation timer, and a parameter configuration register. The token counter stores the currently available number of tokens, the token generation timer controls the token injection cycle, and the parameter configuration register stores parameters such as the dynamic rate limiting threshold and the fixed number of tokens accumulated in each injection cycle. The token generation timer calculates the token injection cycle based on the dynamic rate limiting threshold. The calculation process of the token injection cycle is implemented through the following formula:

[0094]

[0095] in, For the token injection cycle, A fixed number of tokens is accumulated for each injection cycle. The value of the fixed number of tokens is pre-stored in the parameter configuration register. This represents the dynamic rate limit threshold at the current moment. The token generation timer increments the token counter by a fixed number of tokens at the end of each token injection cycle, completing the token injection operation.

[0096] Furthermore, the sending queue scheduler internally includes a queue status detection unit, a token query unit, and a sending trigger unit. The queue status detection unit is connected to the sending queue and monitors in real time whether there is a data packet to be sent at the head of the queue. When a data packet to be sent is detected at the head of the queue, the token query unit is triggered to perform a token query operation. The token query unit is connected to the token counter of the token bucket controller, queries the current token count of the token counter, and compares the current token count with the byte length of the data packet to be sent at the head of the queue. When the current token count is greater than or equal to the byte length of the data packet to be sent at the head of the queue, the token query unit outputs a sending permission signal to the sending trigger unit. After receiving the sending permission signal, the sending trigger unit sends a token deduction instruction to the token bucket controller. After receiving the token deduction instruction, the token bucket controller deducts the number of tokens corresponding to the byte length of the data packet to be sent at the head of the queue from the token counter. At the same time, the sending trigger unit triggers the physical layer sending action of the data packet to be sent at the head of the queue, sending the data packet to the receiving end through the target distribution link. When the current number of tokens is less than the length of the data packet to be sent at the head of the queue, the token query unit does not output a send permission signal. The send queue scheduler waits for the next token injection cycle to complete before performing the token query and comparison operation again, until the current number of tokens meets the sending requirements.

[0097] Preferably, the token bucket controller also includes a token bucket depth register, which stores the upper limit of the token bucket depth. This upper limit is the maximum number of tokens the token counter can store, and the total number of tokens accumulated by the token counter does not exceed this upper limit. When the current number of tokens in the token counter reaches the upper limit, the token generation timer stops adding new tokens to the counter, preventing excessive token accumulation and resulting loss of control over the transmission rate. The upper limit of the token bucket depth is dynamically configured based on the variance of the lengths of the data packets to be sent in the transmission queue. The distribution execution front-end includes a data packet length statistics unit connected to the enqueue interface of the transmission queue. This unit calculates the length of each data packet entering the transmission queue within a preset time window in real time. The length of the preset time window is consistent with an integer multiple of the collection period. After completing the statistics of all data packet lengths within the preset time window, the data packet length statistics unit calculates the arithmetic mean of each data packet length, then calculates the square of the difference between each data packet length and the arithmetic mean. The sum of all squares is then divided by the total number of data packets to obtain the variance of each data packet length.

[0098] Furthermore, the packet length statistics unit internally stores a preset variance benchmark value. This benchmark value is a pre-configured critical value for packet length fluctuations. The packet length statistics unit compares the calculated packet length variance with this benchmark value. When the variance is greater than the benchmark value, it is determined that the packet length fluctuations in the sending queue are significant, requiring an increase in the token bucket depth upper limit to accommodate the sending demands of longer packets. In this case, the packet length statistics unit increases the token bucket depth upper limit proportionally to the difference between the variance and the benchmark value. The increase in the token bucket depth upper limit is positively correlated with the magnitude of the difference; the larger the difference, the larger the increase. When the variance is less than or equal to the benchmark value, it is determined that the packet length fluctuations in the sending queue are small, and the packet lengths are relatively uniform. In this case, the current token bucket depth upper limit remains unchanged, or the upper limit is decreased according to a preset step size to avoid excessive token accumulation. After calculating the token bucket depth upper limit, the packet length statistics unit writes the updated upper limit into the token bucket depth register, completing the dynamic configuration of the token bucket depth upper limit.

[0099] To ensure consistency between the token bucket control process and the dynamic rate limiting threshold, the distribution execution front end is equipped with a token bucket control log storage unit. In each collection cycle, the token bucket control log storage unit records the dynamic rate limiting threshold and the corresponding token bucket control parameters. The recorded content is shown in Table 4 below.

[0100] Table 4. Mapping Relationship between Dynamic Speed ​​Limit Threshold and Token Bucket Control Parameters

[0101] Periodic number Dynamic speed limit threshold (Mbps) Token injection cycle (μs) Fixed token quantity (Bytes) Data packet length variance Token bucket depth limit (Bytes) 1 100 1.2 1500 125600 9000 2 95 1.26 1500 125600 9000 3 90 1.33 1500 256800 12000 4 85 1.41 1500 256800 12000 5 92 1.30 1500 125600 9000

[0102] In this embodiment, the cycle number corresponds to the sequence number of the acquisition cycle, the dynamic rate limiting threshold is the threshold output by the cross-layer rate limiting decision front-end within the current cycle, the token injection cycle is the token injection time interval calculated based on the dynamic rate limiting threshold, the fixed token quantity is the number of tokens accumulated in each injection cycle, the data packet length variance is the calculated result of the variance of the data packet length within a preset time window, and the upper limit of the token bucket depth is the maximum depth of the token bucket after dynamic configuration. The recorded content of the token bucket control log storage unit can be read by the system's debugging module for fault diagnosis and parameter optimization configuration of the token bucket control process, while ensuring that the linkage process between the token bucket control process and the dynamic rate limiting threshold can be reproduced, meeting the system's feasibility requirements.

[0103] In this embodiment, the cross-layer rate limiting decision front-end distinguishes between the slow start phase and the congestion avoidance phase of the transport layer protocol by comparing the values ​​of the slow start judgment register and the congestion window register. It then executes a differentiated dynamic rate limiting threshold generation strategy and periodically updates the slow start threshold based on the historical dynamic rate limiting threshold sequence, ensuring the slow start threshold adapts to the bandwidth variation characteristics of the link. The distribution execution front-end achieves precise control of the data packet sending rate through a token bucket controller. It dynamically configures the upper limit of the token bucket depth based on the length variance of the data packets in the sending queue, adapting the token bucket control logic to the fluctuation characteristics of data packet length and improving the stability of the data distribution process and the consistency of rate limiting control.

Claims

1. A bandwidth adaptive dynamic throttling data distribution system, characterized by, This includes the physical layer state acquisition front-end, the signal-to-noise ratio trend prediction front-end, the cross-layer rate limiting decision front-end, and the distribution and execution front-end; The physical layer state acquisition front end acquires the signal-to-noise ratio sequence of the target distribution link at a fixed period; The signal-to-noise ratio trend prediction front end inputs the signal-to-noise ratio sequence into a pre-built Kalman filter model and outputs the predicted value of the available bandwidth of the link at the next moment. The state transition matrix parameters of the Kalman filter model are dynamically determined by the multipath delay spread value of the current link. The cross-layer rate limiting decision front end compares the predicted value of the available bandwidth of the link with the current sliding window congestion window value of the transport layer, and takes the smaller value between the predicted value of the available bandwidth of the link and the sliding window congestion window value as the dynamic rate limiting threshold. The distribution execution front end adjusts the data packet sending interval of the sending queue according to the dynamic rate limiting threshold.

2. The bandwidth-adaptive, dynamically throttling data distribution system of claim 1, wherein, The physical layer state acquisition front-end includes an orthogonal frequency division multiplexing demodulator and a pilot extractor; The orthogonal frequency division multiplexing demodulator performs a fast Fourier transform on the received baseband time-domain signal to generate a frequency-domain signal matrix. The pilot extractor extracts the complex symbols of the pilot subcarriers at corresponding positions from the frequency domain signal matrix according to a preset pilot pattern. The physical layer state acquisition front end calculates the complex symbol conjugate product of adjacent orthogonal frequency division multiplexing symbols at the same pilot subcarrier position, extracts the phase difference value of the product, arranges the phase difference values ​​of all pilot subcarriers in carrier index order, and generates the signal-to-noise ratio sequence.

3. The bandwidth-adaptive, dynamic throttling data distribution system of claim 1, wherein, The Kalman filter model includes a state update equation and an observation update equation; The state vector of the state update equation includes the channel fading factor and the rate of change of the channel fading factor at the current moment. The input of the state update equation is the weighted sum of the estimated state vector value at the previous moment and the process noise vector. The observation vector of the observation update equation contains the latest signal-to-noise ratio (SNR) value in the SNR sequence. The observation update equation updates the state vector by calculating the residual between the latest SNR value and the observation estimate, and combining it with the Kalman gain matrix. The channel fading factor in the updated state vector is then mapped to the predicted link available bandwidth value.

4. The bandwidth-adaptive dynamic rate-limited data distribution system according to claim 3, characterized in that, The state transition matrix in the state update equation is a second-order diagonal matrix. The first diagonal element of the second-order diagonal matrix is ​​set to a constant 1, and the second diagonal element is set to the exponential decay function value of the multipath delay spread. The multipath delay spread value is obtained by calculating the root mean square delay of the channel impulse response power delay distribution; The base of the exponential decay function is a natural constant, and the exponent of the exponential decay function is the ratio of the root mean square delay to the effective duration of the orthogonal frequency division multiplexing symbol.

5. The bandwidth-adaptive dynamic rate-limited data distribution system according to claim 1, characterized in that, The cross-layer rate limiting decision front-end is internally deployed with a slow start judgment register and a congestion window register. The slow start judgment register stores a slow start threshold, and the cross-layer rate limiting decision front end compares the current sliding window congestion window value stored in the congestion window register with the slow start threshold. When the current sliding window congestion window value is less than the slow start threshold, the cross-layer rate limiting decision front end directly overwrites the link available bandwidth prediction value with the dynamic rate limiting threshold. When the current sliding window congestion window value is greater than or equal to the slow start threshold, a comparison operation is performed to take the smaller value.

6. The bandwidth-adaptive dynamic rate-limited data distribution system according to claim 1, characterized in that, The distribution execution front end includes a token bucket controller and a sending queue scheduler; The token bucket controller is equipped with a token counter and a token generation timer. The token generation timer calculates the token injection cycle based on the dynamic rate limit threshold, and increments the token counter by a fixed number of tokens when each token injection cycle arrives. When the sending queue scheduler detects that there is a data packet to be sent at the head of the sending queue, it queries the current number of tokens in the token counter. When the current number of tokens is greater than or equal to the byte length of the data packet to be sent at the head of the queue, it deducts the corresponding number of tokens and triggers the physical layer sending action of the data packet to be sent at the head of the queue.

7. The bandwidth-adaptive dynamic rate-limited data distribution system according to claim 2, characterized in that, The pilot extractor is equipped with a deep fading rejection register. After extracting the complex symbols of the pilot subcarriers, the pilot extractor calculates the modulus of each complex symbol of the pilot subcarriers and compares the modulus with a preset lower limit threshold value one by one. For the pilot subcarrier complex symbol whose modulus is less than the lower limit threshold of the modulus, the deep fading rejection register clears the value of the pilot subcarrier at the corresponding position in the frequency domain signal matrix to zero; The physical layer state acquisition front end calculates the phase difference and generates the signal-to-noise ratio sequence based solely on the remaining pilot subcarriers after zeroing.

8. The bandwidth-adaptive dynamic rate-limited data distribution system according to claim 4, characterized in that, The calculation of the multipath delay spread value is specifically as follows: the received baseband time domain signal is subjected to sliding cross-correlation operation with the locally stored pseudo-random sequence to obtain the multipath channel tap sequence; Extract the tap delay positions and corresponding tap power values ​​in the multipath channel tap sequence where the amplitude exceeds the noise threshold; The first and second moments of the power delay distribution are calculated based on the tap delay position and the tap power value. The square root of the difference between the second moment and the square of the first moment is then performed, and the result is used as the root mean square delay input to the exponential decay function value.

9. The bandwidth-adaptive dynamic rate-limited data distribution system according to claim 5, characterized in that, The slow start threshold stored in the slow start determination register is periodically updated based on a historical dynamic speed limit threshold sequence. The cross-layer speed limit decision front end extracts the historical dynamic speed limit thresholds of the previous preset number of cycles in the current cycle, and calculates the arithmetic mean and sliding variance of the historical dynamic speed limit thresholds of the previous preset number of cycles. The cross-layer speed limiting decision front end multiplies the arithmetic mean with a preset first proportional coefficient to obtain a first product, multiplies the sliding variance with a preset second proportional coefficient to obtain a second product, and stores the sum of the first product and the second product as the updated slow start threshold in the slow start judgment register.

10. The bandwidth-adaptive dynamic rate-limited data distribution system according to claim 6, characterized in that, The token bucket controller is also equipped with a token bucket depth register. The upper limit value of the token bucket depth stored in the token bucket depth register is dynamically configured according to the length variance of the data packets to be sent in the sending queue; The distribution execution front end counts the length of each data packet entering the sending queue within a preset time window and calculates the variance of the length of each data packet. The distribution execution front end compares the variance with a preset variance benchmark value. When the variance is greater than the variance benchmark value, the upper limit of the token bucket depth is increased proportionally according to the difference between the variance and the variance benchmark value. The total number of tokens accumulated by the token counter does not exceed the upper limit of the token bucket depth.