An age-aware forward error correction based method for adjusting the transmission rate
The age-aware forward error correction method dynamically adjusts transmission rates based on data age and delay feedback to address network congestion, ensuring timely and reliable system monitoring in high-quality communication channels.
Patent Information
- Application Number
- PCT/TR2025/050084
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-04
- Publication Date
- 2025-08-21
AI Technical Summary
Existing communication protocols struggle with network congestion, leading to increased response times and packet losses, which compromise the timely and reliable monitoring of system states in high-quality communication channels, particularly in industrial automation and network control.
The method employs an age-aware forward error correction mechanism that dynamically adjusts the transmission rate based on data age and delay feedback, using the A3L-FEC protocol to minimize age violations and optimize network performance by adapting to changing network conditions.
This approach effectively manages network congestion, ensuring timely and reliable data transmission by maintaining data freshness and reducing age violations, thereby enhancing the quality and accuracy of system monitoring.
Smart Images

Figure IMGF000007_0001 
Figure IMGF000007_0002 
Figure IMGF000008_0001
Abstract
Description
[0001] AN AGE-AWARE FORWARD ERROR CORRECTION BASED METHOD FOR ADJUSTING THE TRANSMISSION RATE
[0002] Related Technical Field of the Invention
[0003] The invention relates to a method for adjusting the transmission rate by feedback of the mean delay rate and the age of information parameters in an age-aware forward error correction (A3L- FEC) mechanism in such a way as to trade-off between the sampling rate and data redundancy.
[0004] State of the Art Related to the Invention
[0005] Recently, there has been a significant increase in the demand for communicating the status of variable systems through high-quality communication channels. This necessity emerges in various fields, such as industrial automation, network control and remote monitoring, where precise and reliable monitoring of the system state at the destination point is of great importance. In particular, maintaining the system response time within an acceptable range is crucial to ensure timely monitoring of the system status.
[0006] However, when a network is overloaded and carries more data than it can handle, the network / queue response time increases, leading to a decline in both communication performance and monitoring quality. This is due to network congestion, which results from high response times caused by network queue delays and packet losses. Indeed, congestion poses a significant challenge for the efficient and timely transmission of variable system state packets over the network. Therefore, in scenarios where the system state must be monitored in real time or in accordance with high data freshness requirements, it is crucial to develop strategies to manage congestion in the network.
[0007] Such strategies may use methods such as variable sampling rate, traffic shaping, load balancing, or traffic prioritization, which aim to preserve data freshness by ensuring that network capacity is not exceeded and system response time remains within an acceptable range.
[0008] The document with publication No. US2007086335A1 discloses a method for reducing the rate of network packets in the flow in response to a determination that two consecutive network packets have been lost in FEC protocols, as well as reducing the rate of network packets in the flow in response to a determination that packet loss is indicative of network congestion. UDP or TCP is used as the transport layer in this document. The packet losses herein are determined by a loss analyzer capable of simulating or approximating the operation of any type of FEC coding scheme known in the art, including Hamming codes and Reed-Solomon codes.
[0009] The document with publication No. US2011219287A1 discloses a datagram-based protocol. In this study, the loss of transmitted data packets is determined based on the acknowledgement packets and the probability of data loss is determined based on the loss statistics. The FEC injection rate herein is adjusted according to the probability of data loss and the transmission rate is adjusted according to a congestion level determined as a function of the packet queuing delay, and a packet loss rate.
[0010] As a result, all the problems mentioned above have made it necessary to introduce an innovation in the relevant field.
[0011] Objects and Summary of the Invention
[0012] The main object of the invention is to provide a method for a communication protocol that achieves optimal network performance as an alternative to conventional bottleneck congestion control protocols based on loss or delay based mechanisms.
[0013] The present invention contemplates the dynamic regulation of the transmission rate between the receiver and transmitter to eliminate bottleneck congestion, with this regulation being carried out while taking into account the sensitivity of the data age. In the present invention, after obtaining values for the data age in the system, these values are used in the decision mechanism for increasing or decreasing (or keeping fixed) the transmission rate in the system.
[0014] The method according to the present invention can be used for both A3L-FEC-VSVB and A3L- FEC-FSFB protocols, as well as for congestion problems between multiple receivers and transmitters.
[0015] In addition, in the present invention, adjustments are made to the transmission rate by performing preliminary checks for specific emergencies based on delay and age values. Descriptions of the Drawings Illustrating the Invention
[0016] The figures and their corresponding descriptions are provided below to further illustrate the device developed by the present invention.
[0017] Fig. 1. A system model for a single-transmitter status update system with communication rate feedback over an error-prone link.
[0018] Fig. 2. A representation of the chunks selected for transmission based on their indices and times.
[0019] Fig. 3. A representation of the successfully received chunks based on their indices and time.
[0020] Fig. 4. A signaling scheme for the congestion control mechanism of the A3L-FEC-FSFB protocol.
[0021] Fig. 5. A congestion control scheme for the A3L-FEC-FSFB protocol.
[0022] Fig. 6. An update algorithm for the expected transmission rate in the A3L-FEC-FSFB protocol.
[0023] Fig. 7. A representation of the chunks selected for transmission based on their indices and times.
[0024] Fig. 8. A representation of the chunks successfully received based on their indices and time.
[0025] Fig. 9. A congestion control scheme for the A3L-FEC-VSVB protocol.
[0026] Fig. 10. An update algorithm for the expected packet transmission rate in the A3L-FEC-VSVB protocol.
[0027] Fig. 11. A system model of a multi-transmitter state update system over an error-prone point- to-point link, with transmission rate feedback from the receiver.
[0028] Fig. 12. A scheme for rate allocation in a multi-transmitter scenario. Fig. 13. Simulation results for the SIS transmission policy (A3L-FEC protocol), with the age violation threshold equal to 5 PiOss,in=Pioss,out=^-^)- The first curve represents the change in the transmission rates, the second curve represents the mean age violations, the third curve represents the mean ages, the fourth curve represents the mean delays of the received packets and the fifth curve represents the number of chunks in the queue at the end of each monitoring interval.
[0029] Fig. 14. Simulation results for age violation under different coding rates when the threshold is a-2, while Pioss,in ~ 0-2 and Pioss,out ~ 0.2.
[0030] Fig. 15. Simulation results for age violation under different coding rates when the threshold is a— 5, while Pioss,in ~ 0-2 and Pioss,out ~ 0.2.
[0031] Fig. 16. Simulation results for age violation under different coding rates when the threshold is a— 2, while Pioss,in ~ 0-2 and Pioss,out~ 0.1.
[0032] Fig. 17. Simulation results for age violation under different coding rates when the threshold is a=5, while Pioss,in=0-2 and Pioss.out=0.1.
[0033] Fig. 18. Simulation results for age violation under different coding rates when the threshold is a— 2, while Pioss,in — 0.1 and Pioss,out ~ 0.2.
[0034] Fig. 19. Simulation results for age violation under different coding rates when the threshold is a— 5, while Pioss,in~ 0-1 and Pioss,out ~ 0.2.
[0035] Detailed Description of the Invention
[0036] The subject of the invention relates to a method for adjusting the transmission rate by feedback of the mean delay rate and the age of information parameters in an age-aware forward error correction (A3L-FEC) mechanism in such a way as to trade-off between sampling rate and data redundancy. With reference to Fig. 1, from an application layer perspective in terms of A3L-FEC Fixed Sampling Rate and Fixed Block Length (A3L-FEC-FSFB), the studied system is modeled as a time-slotted state update system over an error-prone communication line.
[0037] A receiver monitors a time-varying source process based on data received from a remote transmitter over a Packet Erasure Channel (PEC) with limited link availability.
[0038] S represents a source process consisting of samples generated at equal intervals, i.e. it contains {ST} samples generated at equal time slots from the beginning of the communication session. Throughout this work, all time durations are normalized using the duration of a single time slot as a reference.
[0039] With reference to Fig. 2, after sampling at the transmitter side, the transmitter divides the sample data into k equal-length data chunks from K bit length and encodes the sample data chunks into n coded chunks of equal length, wherein the encoding is based on a maximum distance separable (MDS) code, so that the receiver can decode the code word / s ample at least when more than k of the n coded chunk is available. For example, it indicates the i-th coded chunk of T, ST. The transmitter sends coded chunks to the receiver via the User Datagram Protocol (UDP), wherein a UDP packet is used for a coded chunk, i.e. the payload of a UDP packet carries a coded chunk. It is assumed that the transmitter can transmit more than one UDP packet in a time slot. Tt, t indicates the set of chunks transmitted in the time slot, i.e.,TG Tt, wherein the i-th coded chunk of STis transmitted at time slot t. We assume that the transmitter buffers only coded chunks and that the coded chunks of m freshest sample are selected in a given time slot, i.e. Ttc {C£ T: i = 1, ... , n, T = t — m + 1, ... , t}.
[0040] In the present invention, the M / M / 1 queue model with first-come-first-served (FCFS) discipline is used to demonstrate the performance of A3L-FEC-FSFB. The transmitter sends UDP packets at a rate of & [codeword / time slot] to the receiver over a single infinite buffer bottleneck (queue) where the service rate is qs[chunk / time slot]. The transmission of any chunk takes a fixed time
[0041] 1 equal to — time slot duration when there is no chunk in front of it in the queue. The probability Qs that a UDP packet is lost before entering the bottleneck is considered to be Pi0Ss,in and the probability that it is lost before reaching the receiver is considered to be PiOSs,out- Consequently, the probability that a UDP packet is lost in the network is indicated as Pi0SS;Cas follows: f*loss,c ~ ^lossjn + (1 ^>loss,in)^,loss,out- (1)
[0042] Due to the bottleneck in the network, a UDP packet takes a random amount of time to reach the receiver from the transmitter. Dt.i Tindicates the delay between the transmission of the ci Tcoded chunk at time slot t and its successful reception by the receiver. As mentioned earlier, a UDP packet may be lost or corrupted. In this case, the delay is considered infinite and indicated as Dt.i T= oo.
[0043] With reference to Fig. 3, at the receiver side, the successfully received coded chunks are stored and used to recover the corresponding codeword. Ctand Strepresent the set of coded chunks successfully received up to time t and the set of samples that can be decoded at time t, respectively. A sample cannot be decoded at time t if the number of missing coded chunks of that sample is greater than n-k: wherein I is the indicator of a missing coded chunk event and is calculated as follows:
[0044] The timeliness of information at the receiver side is measured by the Age of Information (Aol) measure. Aol is defined as the number of time slots elapsed since the most recent sample was generated, which was successfully decoded at the receiver side.
[0045] In the present invention, Aol is used to measure the quality of monitoring at the receiver side. Aol at the receiver side is indicated as follows:
[0046] A(t) = t — max {T G {1,2, ... , t}: sTG St}. (4)
[0047] For a given age violation threshold value (AVT [time slot]), the objective of the A3L-FEC protocol is to minimize the age violation measure (AV). Wherein (5) is a measure for the quality of monitoring of the process S and T is the monitoring time.
[0048] To improve the monitoring quality, a transmission policy known as the Stationary Independent Selection (SIS) policy is taken into account. This policy is designed to optimize the selection of samples for transmission in order to provide fresh information at the receiver side, ensuring effective monitoring.
[0049] A transmission policy is called a SIS policy when the events ci TG Ttarc independent for all i, T and t with the probability of pt-T- Herein, v < 0 and v > m — 1 are assumed for pt-v= 0. According to this definition, the selection of the samples chosen for transmission is based on the principle of continuity and independence. This means that all ci TG Ttevents for i, T and t are considered independent. Furthermore, by this definition, the probability sequence Po< — > Pm-i defines a SIS policy.
[0050] Within the threshold-based Aol frame, it is unnecessary to transmit samples containing obsolete state updates. As part of the frame, the transmitter is required to actively filter out samples with generation times larger than AVT and transmit only fresh state samples. By implementing SIS policies, A3L-FEC aims to optimize the sample selection for transmission and provide more efficient and recent data at the receiver side of the system. This policy provides a systemized approach to ensure the quality and accuracy of the information transmitted and consequently enhances the overall freshness and reliability of the monitoring process.
[0051] According to the above explanations, when the expected transmission rate & is a constant value, the following relationship can be established:
[0052] Let nSiSrepresents the set of all possible SIS policies. The following problem is addressed in the performed analysis: min lim sup i refls / s t^00T In particular, for a given expected transmission rate d = min (<J, AVTf the A3L-FEC-FSFB protocol selects P* = as follows:
[0053] Herein, in any time slot t, the value (<J) indicates the probability that any of the coded chunks of the sample generated in time slot t-j is sent in time slot / . The value d represents the number of codewords sent per time slot, each consisting of n chunks.
[0054] As part of the A3L-FEC protocol, the transmission rate is calculated at the receiver side and then reported to the transmitter at each time slot T as regular feedback. This feedback is generated based on age violation (9) and mean chunk delays (10). The details of this process are outlined in Fig. 4 and Fig. 5. Herein, T is known as the “monitoring interval” and MI represents the monitoring interval number.
[0055] Age violation and mean chunk delays are evaluated based on the following equations. The age violation parameter is represented by AVMIand MI defines the mean number of age violations during the numbered monitoring interval. This is calculated as the sum of the indicator function ^A(t)> vr for each time slot / in the monitoring interval divided by the monitoring interval time T.
[0056] On the other hand, WMirepresents the mean chunk delay and is calculated as the ratio of the L1norm of the delay set DMIto the cardinality of DMI. This provides an average measure of the delay faced by the chunks transmitted during the monitoring interval MI.
[0057] In equations (9) and (10), MI G {1,2,3, | j] denotes the delay set of all chunks of all successfully received codewords at the end of the OM / -th monitoring interval. Following the description of the relevant data, the congestion control algorithm for the A3L- FEC-FSFB protocol is described below.
[0058] Each coded packet injected into the network potentially increases the data freshness observed at the receiver side, thus providing a benefit for the receiver to increase the output rate, which in turn increases the expected transmission rate. However, when the number of packets injected into the network becomes sufficiently large, congestion or buffer bloat causes delays, affecting age characteristics. Therefore, in order to address these outcomes, the transmitter must adapt its expected transmission rate for filling the network just enough.
[0059] Based on Problem (7), it can be seen that the optimal solution in (8) depends only on d and aims to send the expected samples as much as possible. However, according to the solution, the delay statistics of the packets are not included in the analyses. In practice, however, when the transmission rate is high, the delay statistics are affected due to the packet congestion in the network. Therefore, it is necessary to make decisions to update the transmission rate, but this update must be done adaptively as network statistics change. This decision is based on an understanding of the relationship between transmission rate and system age statistics and is influenced by various time-varying factors such as network bandwidth, packet loss rate and traffic of other transmission flows. This adaptive updating process is performed at the receiver side since the receiver has access to these factors and can make more accurate decisions based on these factors.
[0060] The congestion control algorithm of A3L-FEC-FSFB includes an adaptive update mechanism as shown in Fig. 6. This mechanism encompasses various blocks designed to fulfil specific tasks within the algorithm. After the algorithm has obtained certain values, some blocks are provided, which are preferably activated in emergencies. On the other hand, the algorithm also includes blocks that represent the “Good State” and “Bad State” of the system based on agebased comparisons, performing operations accordingly.
[0061] In the basic form of the present method, the age violation and the exponential moving average of the age violations are obtained based on the samples decoded in each monitoring interval, and then the age violation in the monitoring interval is compared with the exponential moving average of the age violations of the system since the start of the transmission. The result of this comparison is used to infer a rate update from the transmitter to the receiver.
[0062] Said algorithm functions in blocks. Said blocks are numbered and explained below. The present method starts with the execution of block 1.
[0063] Block 1
[0064] Block 1 can also be referred to as the starting block for the present method. The main purpose here is to determine the parameter values for age violations. In addition, delay -based parameters can also be determined in this block to be used in a configuration of the transmission rate regulation.
[0065] Preferably, in this block, the mean delay (10), WMI, is calculated based on the packets received in each monitoring interval and the exponential moving average (EMA) (11), Wema, is calculated for the delay taking into account the history of the last two monitoring intervals.
[0066] In (10), EMA is a moving average method that assigns greater weight and importance to the most recent data points. Preferably, the chunk delays of the last monitoring interval and the chunk delays of the previous monitoring interval are weighted herein in such a way that the chunk delay of the last monitoring interval has a higher effect to obtain an exponential moving average of the delay. For this weighting, a user using EMA simply needs to select the parameter . This parameter selection allows the A3L-FEC-FSFB to adjust EMA according to the specific requirements thereof, achieving a balance between the weight assigned to recently received data and the general trend.
[0067] Herein, is preferably determined as 0.8 so as to contribute 20% to the chunk delays of the last two previous monitoring intervals and 80% to the chunk delays of the last monitoring interval to generate Wema. This means that the delay of the last monitoring interval has a significant effect on Wema, while the system only has a memory for the last two monitoring intervals. The main task of this block is to calculate the age violation AVMIusing (9) or (17) and to calculate the age violation EMA (AVema) according to (12) based on the samples decoded in each monitoring interval.
[0068] Preferably, the age violation of the last monitoring interval and at least one of the age violations of the previous monitoring interval are weighted herein in such a way that the age violation of the last monitoring interval has a higher effect to obtain an exponential moving average of age violations. For this weighting, a parameter (1 is selected.
[0069] The (1 value is set to 0.8, so that 80% of the age violation in the last monitoring interval and 20% of the age violation in the previous monitoring interval contribute to generate (AVema). This indicates that the age violation in the last monitoring interval has a significant effect on (Alma), and that (AVema) has a memory for the age violation from the beginning of the transmission.
[0070] AVema= H X AVM1+ (1 - (1) x AVema. (12)
[0071] Block 2
[0072] Block 1 is followed by block 2. Block 2 consists of multiple condition evaluation blocks to check for emergencies where specific parameters are met and direct the algorithm to the blocks containing the appropriate instructions for the emergencies detected as a result of this check. In order for this block to function properly, WMiand Wemamust be determined in block 1 in addition to the age violation parameters.
[0073] Based on “mean delay” and “age violation”, there are three different conditions that determine the state of this block of the congestion control algorithm:
[0074] If the mean delay of the current interval is less than one time slot (WM!< 1) and the Empty Flag (EF) is equal to or greater than two (EF > 2), it means that the congestion control has reduced the transmission rate in at least two consecutive previous intervals and the mean delay of the received chunks is less than one time slot. This indicates that the queue at the bottleneck was recently cleared. As a result, the age violation will soon increase. The best decision for the congestion control is to proceed to Block 10 to increase the transmission rate immediately.
[0075] If the age violation rate in the last monitoring interval is greater than a predetermined value of times, preferably 90% (AVema> 0.9), the mean delay of the current monitoring interval is infinite (WMi= 00) and the Empty Flag (EF) is greater than or equal to two (EF > 2), this means that the violation occurred due to a lack of chunks in the network. This is because there are no chunks in the system, causing the mean delay to approach infinity. Consequently, the best strategy for the algorithm is to maximally utilize the network by rapidly increasing the transmission rate. This objective can be achieved by proceeding directly to Block 11 in order to effectively fill the network with fresh chunks.
[0076] If the age violation during the current monitoring interval and the entire time from the start of transmission is greater than a predetermined value of times, preferably 90% (AVMI> 0.9) and (Alma> 0.9) and also if the mean delay of the current monitoring interval is greater than the AVT time slot (WMi> AVT), this means that the queue is full. Therefore, the system must immediately reduce the number of chunks by reducing the transmission rate. For this, the transmission rate must be reduced by proceeding to Block 12.
[0077] Otherwise, the process continues to Block 3.
[0078] If none of the previous conditions are met, the process proceeds to Block 3. This block allows the transmission rate to be appropriately regulated by comparing the mean age violation.
[0079] Block 3
[0080] Most often, a congestion control flow passes through this block. This block compares how frequently age violations (AVMI) have occurred in the last monitoring interval with the EMA of age violations (AVema) of the system since the start of the transmission. The congestion control unit directs the flow to Block 4 when it observes that violations are increasing; otherwise it directs the flow to Block 7 and increases or decreases the transmission rate based on the mean delay in both scenarios. Block 4
[0081] The decision flow proceeds to this block 4 as the age violation (AVMI) in the current monitoring interval is greater than the EMA (AVema) value of the age violation. This means that the system is operating outside the undesirable limits. Two different steps are performed within the control performed herein:
[0082] If the mean delay in the current monitoring interval (WMI) isgreater than the EMA delay of the system (Wgma), it means that there is congestion in the network and the number of chunks in the bottleneck queue has increased. This is the condition that causes age violation in the system. Therefore, the congestion control will direct the decision flow to Block 5 to reduce the transmission rate.
[0083] If the mean delay in the current monitoring interval is lower than the EMA delay of the system (Wgma), it means that the congestion in the network is reduced and the number of chunks in the bottleneck queue is reduced. This is the condition that causes age violation in the system. Therefore, the congestion control will provide fresh data at the receiver side by directing the decision flow to Block 6 to increase the transmission rate.
[0084] Block 5
[0085] This block reduces the transmission rate. First, the value of the absolute difference between the age violation of the current interval and the EMA of age violations is calculated. This value is then subtracted from the current transmission rate. To prevent the system from assigning a zero transmission rate, the minimum transmission rate for the next monitoring interval is set to a value greater than or equal to 20% of the last transmission rate.
[0086] Block 6
[0087] This block is for increasing the transmission rate. First, the value of the absolute difference between the age violation of the current interval and the EMA of age violations is calculated. This value is then added to the current transmission rate. To prevent sudden changes in the transmission rate, the maximum transmission rate for the next monitoring interval is set to be less than or equal to 110% of the current transmission rate.
[0088] Block 7
[0089] The reason for this block is that the age violation in the current interval (AVMI) is lower than the EMA of age violations in the system (AVema). This indicates that the system is in the desired operating mode. Herein, the transmission rate can be regulated by considering the delay values.
[0090] In one case the mean delay in the current monitoring interval, is greater than the EMA delay in the system (ema). In this case, although the transmission rate and the number of packets in the bottleneck queue increased in the last monitoring interval, the capacity of the network is underutilized. Therefore, the system can search for fewer age violations by increasing the transmission rate for the next monitoring interval by directing the control flow to Block 8.
[0091] In another case the mean delay in the current monitoring interval, is lower than the EMA delay in the system (ema). This indicates that reducing the transmission rate in the last monitoring interval has the desired effect of reducing the age violation. Therefore, in the next monitoring interval, the congestion control unit will reduce the transmission rate again by directing the control flow to Block 9.
[0092] Block 8
[0093] This block increases the transmission rate. First, the absolute difference between the age violation of the current interval and the EMA age violation is calculated. This value is then added to the current transmission rate. To prevent sudden fluctuations in the transmission rate, the maximum transmission rate for the next monitoring interval will not exceed 110% of the current transmission rate.
[0094] Block 9 This block reduces the transmission rate. First, the absolute value difference between the age violation of the current interval and the EMA age violation is calculated. This value is subtracted from the current transmission rate. To prevent the transmission rate from being assigned as zero, the minimum acceptable transmission rate for the next monitoring interval is selected as 20% of the current transmission rate. In this block, the EF increases by one unit after each transmission rate reduction. EF indicates the number of times the transmission rate is reduced to achieve a better amount of age violations when the system is in “Good State”. EF is used in Block 2.
[0095] Block 10
[0096] This block is used in emergencies, i.e. there are no chunks in the network (the queue is empty), the congestion control algorithm has reduced the transmission rate more than once in the previous monitoring intervals (EF > 2) and has passed Block 9. This leads to the conclusion that there are almost zero chunks in the bottleneck. During the operation of this block, the new transmission rate will be “0” times the transmission rate of the next monitoring interval, wherein = 1.5 is selected. This means that the rate is increased by 50% in the next monitoring interval transmissions. EF is reset after the rate is increased.
[0097] Block 11
[0098] This block is used in emergencies when the queue is empty, the mean delay of the chunks in the current interval is infinite and the EF value is less than 2. In the current monitoring interval, the age violation exceeded 90% (i.e. greater than the age threshold value (AVT)). This indicates a lack of chunks in the network. During the operation of this block, the new transmission rate in the next monitoring interval will be “0” times the transmission rate of the previous monitoring interval, wherein 0 = 1.5 is selected. This means that the rate is increased by 50% for the next monitoring interval transmissions. This block is often used to achieve a dramatic increase in the transmission rate at the beginning of transmissions.
[0099] Block 12 This block is used in emergencies when the queue is full. If the system age value is above the threshold value (AVT) more than 90% of the time in the last two consecutive monitoring intervals and the mean delay is greater than a value such as AVT, this indicates that the queue is full.
[0100] This block reduces the number of chunks by reducing the transmission rate. The new 1 transmission rate will be ” times the previous monitoring interval transmission rate and also
[0101] 1 a small value such as min(0.1,-) is added.
[0102] 1
[0103] The expression min(0.1,-) may raise a question for the reader. To answer this question, one
[0104] 1 1 can say that if (— x <j) approaches zero and min(0.1,-) does not exist, the algorithm cannot easily separate the transmission rate from small values close to zero. Therefore, it may take a long time to reach an appropriate transmission rate after a transmission rate close to zero or it
[0105] 1 may remain close to zero in certain cases. Therefore, when (— X <j) approaches zero,
[0106] 1 min(0.1,-) serves as the minimum transmission rate. It should also be noted that in scenarios where A L-FEC-FSFB selects a high transmission rate, the term min(0.1,-) has minimal impact on the overall transmission rate.
[0107] Blocks 13 and 14
[0108] In the A3L-FEC-FSFB protocol, one sample is generated in each time slot. The age of the generated sample increases by one unit with each subsequent time period. As previously described, the transmission rate (<J) determines the set of samples selected for transmission. Based on this information, it is not reasonable to transmit the codeword of a sample whose generation time exceeds a predetermined age violation threshold (AVT).
[0109] Therefore, in blocks 13 and 14 of the protocol, a simple comparison is made between the age violation threshold value and the transmission rate determined by one of the blocks. The minimum of the transmission rate and the age violation threshold is then selected as the new transmission rate for the next monitoring interval. This mechanism ensures that only fresh and current samples are transmitted and prevents the transmission of old information. A3L-FEC Variable Sampling Rate and Variable Block Length (A3L-FEC-VSVB), similar to A3L-FEC-FSFB described in the previous section, addresses a time-slotted status update system on an error-prone communication link. The receiver monitors a time-varying process by collecting data transmitted from a remote transmitter. However, this communication occurs over a Packet Erasure Channel (PEC) with limited connection availability and may result in missing or lost data.
[0110] A3L-FEC-VSVB is designed under the assumption that the transmitter operates under the “Generate at will” model, i.e. the transmitter generates packets as required and then sends them. This model provides greater flexibility in the transmission process as the source can adjust the packet generation rate based on the current network conditions. Thus, the network is not overloaded with data payload; otherwise delay, packet loss and undesirable Aol situations will increase. S denotes a source process containing samples, {sT]T>0, generated during Tsat regular intervals at each monitoring interval. However, in this type of A3L-FEC, the sample generation interval may vary from one monitoring interval to another. This protocol also divides samples of K bit length into k equal-length chunks and encodes these chunks into n chunks of - bit length using the maximum distance separable (MDS) code. In fact, this encoding allows the receiver to decode the codeword by taking any combination containing at least K chunks of the code chunks. This means that even if some chunks are lost or corrupted during transmission, the receiver can reconstruct the original message using the remaining chunks. This approach ensures a high level of reliability and resilience for applications where data loss or corruption can have serious consequences.
[0111] As shown in Fig. 7, at each monitoring interval, the transmitter generates a sample within each time slot Ts, encodes it and sends all n chunks immediately after generation. Therefore, the transmission rate at each monitoring interval is — . The A L-FEC-VSVB communication A solution is provided with a variable code length feature, whereby the block length can vary from one monitoring interval to another. This enables adaptability to changes in the transmission environment and optimized data freshness at the receiver side.
[0112] The transmitter sends each coded chunk to the receiver via UDP, i.e. a UDP packet carries a coded chunk. We assume that the transmitter can transmit n UDP coded chunks in a time slot. ci Trepresents the i-th coded chunk of the sample sT; and Ttrepresents the set of packets transmitted in the t-th time slot, i.e. ci TG Ttmeans that the i-th coded chunk of the sample sTis transmitted in the t-th time slot. At the receiver side, the received coded chunks are stored and used to recover the corresponding codeword (Fig. 8).
[0113] At the beginning of each monitoring interval, A3L-FEC-VSVB creates two lists to store the decoding time and the generation time of the decoded samples. These lists are initialized with the decoding and generation time of the last sample in the previous monitoring interval. When new samples are decoded in the current monitoring interval, the decoding time and the generation time are added to the respective lists. As a result, each list is of length CMI+ 1 at the end of the monitoring interval; CMI, (13), is the total number of chunks received in the Ml-th monitoring interval:
[0114] At the end of each monitoring interval, the following five basic tasks are performed:
[0115] Task 1: The age violation, AVMI, for the MI -th monitoring interval is calculated by applying the results obtained to equation (17), using the time lists for the generation and decoding of the samples in the sample generation and decoding processes in equations (14), (15) and (16). This calculation allows the system to determine whether the age of the data violates the Aol threshold for a given application. In fact, by monitoring the decoding time and generation time, the system can accurately and precisely calculate the age violation using (17) instead of (9).
[0116] The following equations are used to calculate the age violation of the Ml-th monitoring interval. Herein, STMIrepresents the start time of the monitoring interval, and AVT represents the age violation threshold of the system, while GL correspond to the i-th element in the stored generation and decoding time lists, respectively. By applying a, Bi and y^ in (9), the age violation of the MI -th monitoring interval is calculated.
[0117] Task 2: The receiver calculates the mean chunk delay of the transmitted packets, WMi, and the packet delivery rate, PDRMI, using equations (18) and (19). Herein, in (18) denotes the delay of the i -th received chunk and T in (19) denotes the length of the monitoring interval. The measures WMiand PDRMIprovide important information about the performance of the algorithm for the Ml-th monitoring interval, such as the mean delay of the chunks and the percentage of successfully transmitted chunks. By calculating these metrics, A3L-FEC-VSVB can learn about its own performance and, if necessary, make appropriate adjustments for the next monitoring interval to improve efficiency and minimize age violations. The adjustment of the transmission rate is performed using the congestion control algorithm described in detail in Section 3.1.
[0118] Task 3: In this task, it is assumed that the end-to-end packet delay and loss characteristics in the network are relatively unchanged between two consecutive monitoring intervals. Based on this assumption, A3L-FEC-VSVB calculates all possible age violation values for different possible block lengths based on the number of received chunks and their corresponding reception times. It then selects from the possible block lengths the one that would result in the minimum age violation for the next monitoring interval as the effective block length.
[0119] Task 4: The fourth task performed at the end of each monitoring interval is to determine the optimal sample generation interval Tsfor the next monitoring interval. For this, expression (20) is used. Herein, the optimal transmission rate of the next monitoring interval and the effective block length are taken into account in the equation.
[0120] Ts= J (20) Task 5: Once the effective block length (n) and sample generation interval (Ts) have been calculated, this information is transmitted as feedback to the transmitter. The feedback is assumed to be transmitted over an error and delay free channel, as shown in Fig. 9. With reliable and timely transmission of this information, the transmitter can adjust its operations to maintain optimal performance.
[0121] The congestion control algorithm in A3L-FEC-VSVB is similar to A3L-FEC-FSFB. However, A3L-FEC-VSVB uses some additional measures to determine the transmission rate at the end of each monitoring interval. The adaptive control algorithm of A3L-FEC-VSVB prevents congestion and minimizes age violation by utilizing a fraction of the capacity of an appropriate communication network. For this purpose, the algorithm uses the calculation of the effective block length n and determines the optimal transmission rate (<J) and the appropriate sample generation interval (Ts).
[0122] In this description of the present invention, the duration of each monitoring interval is considered to be T time slots and the transmission delay for each packet with respect to the service time of the queue is considered to be negligible.
[0123] The congestion control algorithm of A3L-FEC-VSVB consists of several blocks with specific objectives to regulate network congestion. Using these connected blocks, the algorithm effectively manages the network’s congestion, maintains data transmission efficiently, and ultimately delivers fresh data to the destination. These blocks are described as follows, as shown in Fig. 10:
[0124] Block 1
[0125] The first task of this block is to calculate the mean delay WMi(10) and the EMA of the delay Wema(H) based on the chunks received at each monitoring interval. By choosing an appropriate value for the parameter , EMA creates a type of moving average that assigns greater weight and importance to the past data of the last two monitoring intervals. In this study, the parameter is set to 0.8, so that 80% of the chunk delays of the last monitoring interval ^ema- This suggests that the delay of the last monitoring interval has a significant effect on >ma, while the system only has memory for the last two monitoring intervals.
[0126] The second task of this block is to calculate the age violation using (9) with the coded samples received at each monitoring interval and to calculate the age violation EMA, (12). This calculation is performed on the samples at each monitoring interval. The (1 value is set to 0.8, so that 80% of the age violation in the last monitoring interval and 20% of the age violation in all previous monitoring intervals contribute to generate (AVema). This means that the age violation in the last monitoring interval has a significant effect on (AVema), while (AVema) stores information from the beginning of the transmission with age violation memory.
[0127] The third task of this block is to count and store the number of packets received in each monitoring interval. By implementing this counting and storage mechanism, the A3L-FEC- VSVB algorithm gains valuable information about reception performance and overall data integrity. It allows a comprehensive analysis of received packets and helps in identifying possible problems or anomalies during the transmission session. In other words, the number of received packets stored serves as an important determinant to estimate the reliability of the communication channel.
[0128] RTT
[0129] The fourth task of this block is to measure and store The objective of this task is to capture RTT and track which represents the time it takes for a packet to travel from the transmitter to the receiver. This is achieved by examining the packets received during the transmission
[0130] RTT session. It is important to store the minimum value as this provides valuable information about the efficiency and performance of the network. It serves as a reference point to evaluate the response and delay of the communication channel.
[0131] The fifth task of this block is to estimate the packet delivery rate (PDRMI) described by (19). PDRM!is defined by comparing the number of packets received in the MI -th monitoring interval with the expected received packet (ERP) value and is specified in equation (21).
[0132] Three basic parameters are involved in calculating the ERP:
[0133] • The block length is indicated by n, • The duration of the monitoring interval is represented by T ,
[0134] • The sample generation interval is specified as Ts.
[0135] Using these parameters and equation (21), the algorithm calculates the expected number of packets that should be received in a given monitoring interval.
[0136] Block 2
[0137] RTT
[0138] This block uses mean delay, age violation, PDR, AVT, minimum-^- and Empty Flag (EF) values. Based on these parameters, four different decisions determine the state of the congestion control block. In the “Good State”, the EF is taken into account, which shows the number of times the transmission rate is reduced for probing a better age violation in the system.
[0139] If there is no age violation in the current monitoring interval (AVMI== 0), it means that the selected block length and sampling time meet the requirements of the age-aware application. This indicates that the algorithm successfully maintains the freshness of the transmitted data at the destination. Therefore, assuming that the end-to-end packet delay and loss behavior remains relatively unchanged between two consecutive monitoring intervals, the transmission rate for the next interval can be set as the last transmission rate &. This approach ensures consistency in the transmission rate of the system, enabling the algorithm to maintain optimum performance while avoiding unnecessary fluctuations. When there is no age violation in the current monitoring interval, it is not necessary to change the transmission rate in the next monitoring interval.
[0140] When the mean delay of the current interval is infinite (WMi==°°)> if EF isequal to or greater than two (EF > 2) and the packet delivery rate is zero (PDRMI== 0), the situation indicates that the queue at the bottleneck is empty and there are no chunks waiting to be processed, since the algorithm has reduced the transmission rate by passing Block 15 or Block 10 in the last two consecutive intervals. As a result, the mean age and mean delay approach large and infinite values, respectively. If the algorithm does not capture any packets within a given interval, it sets the mean delay to infinity (WMI= oo). This increase increases the subsequent age violation in the system. The best strategy for congestion control is to proceed to Block 14 to increase the transmission rate.
[0141] If the following events are observed simultaneously for the current monitoring interval, the queue is full and the system age value is greater than the threshold value (AVT). In this case, the system must reduce the number of packets by reducing the transmission rate and immediately proceed to Block 15.
[0142] • If the age violation occurs more than a predetermined value, preferably more than 90%, of the times in the current monitoring interval,
[0143] • If the EMA of the age violation shows that more than 90% of the violation occurred (AVema> 0.9),
[0144] • If the mean delay of the current monitoring interval is greater than the age violation threshold (WMI> AVT),
[0145] • If EF is less than or equal to two (EF < 2).
[0146] Therefore, as mentioned above, the system must reduce the number of packets by rapidly reducing the transmission rate and direct the decision to Block 15.
[0147] If the age violation in the current monitoring interval occurs more than a predetermined value, preferably more than 90%, of the monitoring times (AVMI> 0.9) and the mean delay of the T _ current monitoring interval is greater than or equal to twice the minimum (WMI>
[0148] RTT
[0149] 2 X min (-^-)) and the EF is less than or equal to two (EF < 2), this indicates that the system is experiencing a violation due to an insufficient number of packets. As a result, the system must inject additional packets into the network by immediately increasing the transmission rate, which can be achieved by proceeding to Block 16.
[0150] If these parameters are not met, one must proceed directly to Block 3.
[0151] If none of the previous conditions are fulfilled, the flow passes from this block to Block 3 and controls the transmission rate.
[0152] Block 3 The congestion control flow usually passes through this block to control the transmission rate. This block compares how long the age violations (AVMI) occurred in the last monitoring interval with the age violation EMA (AVema) of the system from the beginning of the transmission session.
[0153] When the congestion control algorithm of A3L-FEC-VSVB detects an increase in the age violation event, it directs the decision flow to Block 4, which represents the “Bad State”. In the opposite case, if no increase in the age violation event is observed, the decision flow is directed to Block 7, which represents the “Good State”. In both cases, the algorithm changes the transmission rate based on the mean delay; it achieves this by increasing or decreasing the mean delay.
[0154] Block 4
[0155] Since the age violation, (AVMI), is greater than the age violation EMA (AVema) in the system in the current monitoring interval, the algorithm is directed to block 4 for the congestion control decision. In this case, the system is in “Bad State”. At this point, the mean delay in the current monitoring interval (WM!) iscompared with the mean delay EMA (Wema) in the system.
[0156] If the mean delay in the current monitoring interval (WM!) isgreater than the mean delay EMA ( >ma) in the system, it means that there is congestion in the network and the number of packets in the bottleneck has increased. Based on this analysis, the congestion control mechanism initiates a transmission rate reduction process to solve the age violation problem. This adjustment directs the decision flow to Block 5, where appropriate changes can be made to the transmission rate to maintain a more optimal system performance.
[0157] If the mean delay in the current monitoring interval (WMI) is lower than the mean delay EMA ( >ma) in the system, this indicates that the congestion in the network has decreased and the number of packets in the bottleneck has decreased. This is the cause of age violation in the system. Therefore, the algorithm directs the flow decision to Block 6 to increase the transmission rate. Block 5
[0158] Block 5 is responsible for reducing the transmission rate. For this, it performs the following steps:
[0159] First, it calculates the absolute value of the difference between the age violation in the current monitoring interval and the age violation EMA. The calculated value is then subtracted from the current transmission rate and the resulting value determines the transmission rate for the next monitoring interval.
[0160] In order to prevent sudden and drastic changes in the transmission rate, a minimum transmission rate is applied for the next monitoring interval. This minimum rate is determined as greater than or equal to the predetermined last transmission rate, preferably 80% thereof. This method provides a controlled and gradual reduction of the transmission rate in the system, prevents sudden fluctuations and ensures a more stable and consistent data flow over the network.
[0161] Block 6
[0162] This block is responsible for increasing the transmission rate. It performs the following steps:
[0163] First, it calculates the absolute value of the difference between the age violation in the current monitoring interval and the age violation EMA. The calculated value is then added to the current transmission rate.
[0164] It should be noted that the algorithm includes a limiting feature in order to provide accurate and controllable adjustments to the transmission rate. Accordingly, the maximum transmission rate for the next monitoring interval is determined as less than or equal to a predetermined value of the current transmission rate, preferably 120% thereof. Overall, this feature enables the system to allow gradual and controllable increases in the transmission rate, preventing sudden increases and maintaining a more stable and consistent data flow.
[0165] Block 7 If the age violation in the current interval (AVMI) is smaller than the age violation EMA (AVema) in the system, the congestion control decision flow is directed to this block. This indicates that the system is in a favorable state or in the “Good State”. At this point, the Packet Delivery Rate (PDRMI) is checked.
[0166] If the Packet Delivery Rate (PDRMI) exceeds a predetermined value, preferably 0.90, i.e. at least 90% of the expected packets are received within the current interval, this provides an opportunity to probe improved conditions. In these cases it becomes possible to increase the transmission rate and more network capacity becomes available. This directs the decision flow to Block 11 and allows for increased performance and efficiency.
[0167] If the Packet Delivery Rate (PDRMI) is lower than a predetermined value, preferably 0.90, it means that packet losses are present in the current monitoring interval. It is possible that “Bad States” may occur in the next monitoring interval. It is therefore important to re-evaluate and change the transmission rate. For this purpose, the mean delay (WMI) is compared with the mean delay EMA (Wema). This valuable comparison provides insight into the trend of packet delays in the network. Therefore, when option 2 is activated, the control flow proceeds to Block 8.
[0168] Block 8
[0169] In this block, the mean delay in the current monitoring interval (WMI) iscompared with the mean delay EMA in the system.
[0170] If the mean delay in the current monitoring interval is higher than the mean delay EMA ( >ma) in the system and no rate reduction action occurred in the previous monitoring interval (DF == False), this indicates that, despite the increase in the transmission rate of the monitoring interval, the selected transmission rate is not sufficiently utilizing the network capacity, resulting in an increased number of packets in the bloat queue. As a result, A3L-FEC- VSVB can increase the transmission rate for the next monitoring interval to reduce age violations and shift the control flow to Block 9. Thus, the system aims to optimize network capacity and reduce the occurrence of age violations by transmitting fresher data to the destination. If the mean delay in the current monitoring interval is lower than the mean delay EMA ( >ma) in the system and a rate reduction action occurred in the previous monitoring interval (DF == True), this suggests that the transmission rate reduction in the previous monitoring interval has successfully achieved the objective of reducing the age violation. As a result, in the next monitoring interval, A3L-FEC-VSVB will further reduce the transmission rate. This is performed to maintain optimal performance and efforts to mitigate “buffer bloat”, a state of excessive buffering. The control decision flow is directed to Block 10.
[0171] Block 9
[0172] The task of this block is to increase the transmission rate, which is achieved through the following steps:
[0173] First, it calculates the difference between the age violation in the current monitoring interval and the EMA of age violations. This value is calculated by taking the absolute difference. This calculated difference is then added to the current transmission rate. To ensure a gradual and controlled increase of the transmission rate, the algorithm includes a feature that limits the maximum transmission rate for the next monitoring interval to no more than a predetermined value, preferably 120% of the current transmission rate. Overall, this feature enables the system to allow gradual and controlled increases in the transmission rate, preventing sudden increases and providing a more stable and consistent data flow.
[0174] Block 10
[0175] This block reduces the transmission rate.
[0176] First, it calculates the absolute value of the difference between the age violation in the current monitoring interval and the EMA of age violations. It then subtracts this value from the current transmission rate. To prevent sudden changes in the transmission rate, the minimum rate for the next monitoring interval is set at a predetermined value, preferably at least 20 % of the current rate.
[0177] Also, in this block, the Empty Flag (FF) increases by one unit after each transmission rate reduction process. EF indicates the number of times the transmission rate is reduced for probing 1 a better age violation when the system is in “Good State”. EF is used in Block 2. Also, in this block, the Decrease Flag (DF) is set to True, which indicates that the transmission rate is reduced in the current monitoring interval. The DF flag plays an important role in Block 8.
[0178] Block 11
[0179] If the algorithm continues with Block 11, it indicates that the control flow is in “Good State” and that more than a predetermined value, preferably 90%, of the expected packets have been received (PDRMI> 0.9). Therefore, this block can probe for new transmission rates and quickly achieve the desired transmission rate. The decision mechanism of the block is as follows:
[0180] If the current transmission rate is lower than a predetermined value, preferably 75% of the maximum transmission rate (<J < ffmax)' the control flow is directed to Block 13. Otherwise, it is directed to Block 12.
[0181] Block 12
[0182] If the current transmission rate is lower than a predetermined value, preferably 75%, of the maximum transmission rate, i.e. satisfies the condition a < omaxX 0.75, the decision flow proceeds from Block 11 to this block.
[0183] In block 12, a dynamic adjustment mechanism is implemented to increase the transmission rate to the maximum possible rate. This mechanism takes into account the distance of the current transmission rate to the maximum transmission rate. The adjustment mechanism indeed ensures that the amount of increase applied to the current transmission rate is determined inversely proportional to the distance to the maximum rate. If the current transmission rate is already close to 75% of the maximum rate, it is necessary to increase the rate further for the next monitoring interval. On the other hand, if the current transmission rate is closer to the maximum rate than to 75% of it, the rate is increased by a smaller increment, allowing for a slower increase without the concern of the rate immediately reaching the maximum rate limit. This method encourages a careful and controlled increase, aiming to prevent potential network congestion or performance degradation. This block also resets the value of DF to “False”.
[0184] Block 13
[0185] If the current transmission rate is greater than a predetermined value, preferably 75%, of the maximum transmission rate, i.e. satisfies the condition a > omaxX 0.75, the decision flow is directed from Block 11 to this block.
[0186] The main function of block 13 is to increase the transmission rate. This increase is directly 1 proportional to the factor (1 + -). This block effectively controls the rate of increase of the transmission rate for the next monitoring interval. It also addresses the balance between a smoother and gradual rate change for large block lengths and a more sudden and significant rate change for small block lengths. This feature of the A3L-FEC-VSVB provides flexibility in rate management based on the specific requirements and conditions of the network environment.
[0187] This block also resets the value of DF to “False”.
[0188] Block 14
[0189] This block is used in emergencies. When activating in a state where there are no packets in the network (Queue Empty- 1 state) and congestion control has reduced the transmission rate two or more times (EF > 2) in the previous monitoring intervals, it passes through Block 10 or Block 15. It is therefore concluded that there are almost zero packets in the bottleneck. During the operation of this block,2 asthenewtransmission rate in the system
[0190] 1MinRTTb Jfor the next monitoring interval.
[0191] To explain how this value is obtained, let us refer to equation (22). This equation is derived from equation (20). In these equations, n represents the block length; Tsrepresents the sample generation period and & represents the transmission rate. Since MinRTT can be a reference for sample generation without creating a queue in the network, the sample generation period is set to Ts. Furthermore, to compensate for lost packets in the network, a block length amount of 0.05 x n (n + [0.05 x n]) is added, since the loss rate is considered to be below 5% for most internet network traffic. By applying the aforementioned values in (22), the transmission rate for the following monitoring interval is calculated.
[0192] This block resets the EF and DF values to “0"” and "False" respectively. o = (22) ls
[0193] Block 15
[0194] It represents an “Emergency Full” mode, which denotes a specific system state, such as a full queue and buffer bloat in the network, when the following events occur simultaneously:
[0195] • For the current monitoring interval, the age violation occurs more than 90% of the time
[0196] • The EMA of the age violation (AVema) indicates that it occurred more than a predetermined value, preferably 90%, of the time during the previous monitoring intervals (AVema> 0.9),
[0197] • The mean delay is greater than an AVT value.
[0198] A combination of these events indicates that the system is in a state of “over-utilized network capacity” and requires immediate intervention. The algorithm uses Block 15 to address this situation.
[0199] The main purpose of this block is to reduce the communication rate by reducing the number of packets transmitted. The block changes the communication rate of the current monitoring
[0200] 1 interval by multiplying it by the inverse of a decreasing factor, (p, represented as to calculate an appropriate communication rate for the next monitoring interval. Furthermore, a small value,
[0201] 1 defined as min(0.1,-), is added to this product. The purpose of this small addition is to ensure that the communication rate does not approach zero and to ensure a smooth transition to an
[0202] 1 appropriate communication rate. In other words, when the product (— X &) approaches zero, it becomes difficult for the algorithm to detach the communication rate from small values. And 1 without the inclusion of min(0.1, -), it takes a long time to reach an appropriate communication rate or the communication rate remains close to zero, especially in negative scenarios.
[0203] 1
[0204] Therefore, Block 15 enables the lower limit to be set when (— x <j) approaches zero, with the
[0205] 1 term min(0.1,-) acting as a safeguard. Overall, by setting this lower limit, Block 15 ensures that the communication rate does not decrease to an excessively small value.
[0206] 1 1
[0207] Conversely, when (— X <j) is too high, the effect of the term min(0.1,-) on the communication rate is negligible. Because, in such cases, the effect of this small value on the total communication rate is minimal.
[0208] Overall, by operating Block 15, the new communication rate will be a small value such as “— ”
[0209] 1 times the communication rate of the previous monitoring interval, plus min(0.1,-).
[0210] In this block, the EF increases by one unit after each communication rate reduction. EF indicates the number of times the communication rate is reduced to search for a lower amount of age violations when the system is in “Good State”. It should be noted that EF is used in block 2 of the algorithm.
[0211] Furthermore, at the next monitoring interval, it is necessary to determine whether there is a rate reduction in the current interval. If the DF flag is set to “True”, this indicates a rate reduction in the current monitoring range. This important information is transmitted by setting DF to “True” in this block. The DF flag serves as an indicator in block 8 of the algorithm.
[0212] Block 16
[0213] It indicates an “Emergency Empty -2” mode, which denotes a specific system state, such as an empty queue in the system and insufficient packets in the network, when the following events occur simultaneously:
[0214] The mean delay of packets in the current monitoring interval is negligible. EF is less than 2.
[0215] When the system age exceeds the AVT threshold value, the age violation occurs more than a predetermined value, preferably 90%, of the time in the current monitoring interval.
[0216] A combination of these events indicates that the system is in a state of “unutilized network capacity” and requires immediate intervention. The algorithm must increase the communication rate to meet the operating requirements of the system. At this point, Block 16 is activated to address the aforementioned system state.
[0217] This block starts adjusting the communication rate and for this it multiplies the rate of the last monitoring interval by a factor denoted as “0”. In this study, the value of 0 is chosen to be 1.5, which represents a 50% increase in the communication rate for the next monitoring interval. This block is usually used at the beginning of the transmission and helps to utilize the maximum capacity of the network by allowing a multiplicative increase in the communication rate.
[0218] In effect, by increasing the communication rate in the state of “Emergency Empty-2”, the algorithm aims to address problems with an empty queue and insufficient packets in the network. This adjustment allows the system to send a sufficient number of packets to the network and maintain data flow, thus mitigating the critical situation it faces.
[0219] The simultaneous occurrence of certain events indicates a system state of Emergency Empty - 2. This state characterizes an empty queue, insufficient packets and the need for immediate intervention. The algorithm responds by increasing the communication rate by an appropriate factor for the next monitoring interval. The purpose of this preventive action is to address data deficiencies and restore the system to a stable operating state.
[0220] This block resets the EF and DF values to “0” and “False” respectively.
[0221] Block 17 Under different network conditions, one of the following blocks (5, 6, 9, 10, 12, 13, 14, 15 or 16) generates a new communication rate. It is compared with two reference values omaxand °mtn to ensure that the generated communication rate falls within an acceptable range:
[0222] Injecting a large amount of packets into the network can lead to excessive packet buffering in the network, which is called “Buffer Bloat”. To mitigate or even avoid this problem, the A3L- FEC-VSVB protocol selects the minimum of crand omaxas acommunication rate candidate for the next monitoring interval. This approach ensures that the communication rate remains within an appropriate range, taking into account the potential impact of excessive packet injection on system performance.
[0223] The candidate rate value is then compared with omtn. The purpose of this comparison is to avoid injecting an excessively low or even zero number of packets into the network, which could lead to a lack of update packets. This type of situation can cause the age to increase when the system is actually ready to process incoming packets.
[0224] For the A3L-FEC-VSVB protocol, omaxand ominvalues are defined as (23) and (24), respectively. In these equations, the variable k represents the minimum number of chunks required to successfully decode a codeword at the receiver side.
[0225] These adjustments ensure that the communication rates remain within appropriate limits and that there is a balance between the utilization of network resources and system performance, mitigating network congestion and data aging issues.
[0226] °min = 0.99. (24)
[0227] Block 18
[0228] The function of this block is to store the calculated communication rate. This stored value, fastis used by the algorithm to make adjustments to the communication rate in the next monitoring interval.
[0229] Block 19 If the age violation probability becomes zero, this indicates that the communication rate selected for the current monitoring interval meets the requirements of the age-aware application. This indicates that the age of the system is lower than the threshold value and that the system is operating at the desired performance. Therefore, if the system worked as desired in the last monitoring interval, it is not necessary to change the communication rate for the next monitoring interval. The reason for this decision is as follows: Since the end-to-end packet delay and loss behavior of the network is assumed not to change significantly in two consecutive monitoring intervals, the probability of age violation is expected to be zero again in the next interval. Therefore, the last communication rate, (Tiast, isassigned as o and used in the next monitoring interval.
[0230] Block 20
[0231] This block stores possible sample decoding scenarios based on different block lengths, (25), such as CMi, (13), which is the total number of received chunks in the MI -th monitoring interval, and k, which comes with the generation time and receiving time of each one, and which is also the minimum number of chunks required to decode a codeword at the receiver side, and then calculates the age violations associated with them using (17).
[0232] Among all possible block lengths, the one with the smallest age violation is selected as the effective block length for the next monitoring interval. This value is injected into Block 21 to calculate the optimal sample generation rate and then reported to Block 22 for transmission to its transmitter as part of the feedback.
[0233] Another important point to note is that one of the symbols in (25), PDRMis the packet delivery rate at the MI -th monitoring interval, which is shown in (19).
[0234] Block 21 This particular block serves to calculate the optimal sample generation period, referred to as Ts, using the formula in equation (20). The calculation of Tsis based on two basic inputs: effective block length, n, and communication rate, &. The effective block length parameter fed from Block 20 provides the necessary information about the codeword size and the transmission rate provides data about the transmission rate of the codewords obtained from Block 17 or Block 19.
[0235] Block 22
[0236] The task of this block is to calculate the length of the monitoring interval, represented as T.
[0237] At the beginning of each monitoring interval, Block 22 receives the effective block length and the optimal sample generation period as input from Block 20 and Block 21. Then, it calculates the length of the monitoring interval using the formula given in (26).
[0238] When considering equation (26), the following points are taken into account:
[0239] Under ideal network conditions, age violation can reach zero without transmission delay, queues or packet loss. This occurs when the maximum sample generation period is the same as AVT. Therefore, the AVT parameter is taken into account in (26).
[0240] A coefficient of 100 is included for PDRMwhich requires a sufficient number of packets at each monitoring interval to provide a reliable estimate, which is presented in equation (19).
[0241] The length of the monitoring interval must be compatible with the coding parameter. Therefore, in equation (26), n is included, representing the total number of chunks generated by the maximum distance separable erasure code.
[0242] In general, Equation (26) provides benefits such as optimizing the monitoring interval time, controlling age violations, facilitating reliable PDRMIcalculations and adapting to coding parameters. These advantages contribute to better monitoring and management of the network, thus helping to improve performance and gain a better understanding of the system behavior. Therefore, the product of the age violation threshold value AVT and — provides an appropriate monitoring interval time.
[0243] In the A3L-FEC protocol, it is assumed that UDP packets have a certain drop probability before entering the bottleneck. This probability is denoted as Pi0Ss,in- Also, at the bottleneck of the network, a packet is considered to be processed at a rate of qs. Based on this assumption, a codeword transmission rate for data transmission can be determined that ensures the stability of the queue.
[0244] The upper limit rate, aup, refers to the maximum transmission rate that can be supported without creating instability at the bottleneck of the network. It is used as a theoretical limit or reference point to determine the optimal transmission rate in the A3L-FEC protocol.
[0245] Three parameters play a critical role in the upper limit rate formula, represented by the equation (27): qs, Pi0Ss,in and n. These parameters are described below: qsrepresents the service rate of the bottleneck and indicates the maximum rate at which packets can be processed at the bottleneck of the network.
[0246] Floss, in represents the probability of packet loss at the entry to the bottleneck and reflects the probability of packets being lost or discarded during transmission before entering the bottleneck. n represents the number of times a sample is divided into coded chunks. In fact, each sample is encoded into n number of chunks.
[0247] To determine a lower limit for age violation, the existence of an ideal queue (i.e. qs= 0) was assumed and the mean age violation for a given transmission rate & was evaluated. Based on this assumption, the sample sTgenerated at time slot T is decoded with the probability Pd(z) up to time slot z as follows:
[0248] Herein, the symbol “!” represents the factorial function and P((z — T) is expressed as follows:
[0249] Pz(z - T) = (Pioss,c)z-T+1> z > T (29)
[0250] The value of Pi0SS;CinEquation (29) can be calculated using Equation (1).
[0251] The probability of successfully decoding a codeword is influenced by many factors, such as: the number of coded chunks, the error correction code used, the decoding algorithm used and the number of existing chunks in the decoding process. In addition, channel conditions also play a critical role in determining the probability of decoding.
[0252] Let us consider the event Ee t, which represents a scenario where the age of the system at time t is e [time slot]. The probability of occurrence of the event Ee tis expressed as follows:
[0253] Based on equation (30), the probability that the age is greater than e is obtained in (31) and is referred to as the outage probability in the rest of this description. The outage probability measures the probability that the system exceeds a certain threshold value.
[0254] In order to represent real-world scenarios comprehensively, it is necessary to extend the system model represented in Section 2. This extension allows for a more accurate depiction of complex situations where multiple entities compete to utilize the same resources, while helping to gain a deep understanding of the dynamics of potential bottlenecks in this context. In this context, the system model shown in Fig. 1 has been extended to accommodate a scenario with multiple transmitters and this scenario is shown in Fig. 11. In this extended structure, all network flows pass through a common bottleneck. This common bottleneck creates a potential point of limitation in the overall performance of the system. As a result, the bottleneck becomes the focal point for data flow management and optimization. Therefore, strategies such as load balancing, traffic shaping or resource allocation must be used to ensure that resources are appropriately distributed between flows passing through the bottleneck to meet the requirements of the receiver. The receiver may have different requirements that must be fulfilled to achieve optimal performance. These requirements cover measures such as maximum efficiency, minimum delay, minimum mean age and processing under the age violation threshold. Failure to effectively address this congestion point can result in reduced system performance to meet the receiver’s needs or even system instability.
[0255] In the multi-transmitter system model analyzed in this study, the congestion control unit implements a policy to manage the packet transmission rate, similar to the approach in the single transmitter case. The first step of this policy is to calculate the total rate for the system as in the single transmitter case, represented as a-rotai- After determining the total rate for the next monitoring interval, the rates are allocated to each transmitter based on the respective age violation level. Fig. 12 shows this rate allocation process in a graphic form.
[0256] In the rate allocation process, the level of age violations serves as a criterion for allocating rates among transmitters. Essentially, transmitters with higher age violation levels are assigned higher data rates. The purpose of this rate allocation strategy is to address age-related concerns and allow transmitters with high levels of age violations to propagate their packets quickly, which reduces the overall age violations in the system. In fact, based on the age violation level of individuals, the multi-transmitter system model calculates different levels of urgency among transmitters. This approach helps maintain system fairness and efficiency by dynamically adjusting each transmitter’s transmission rate based on the age violation level in the network.
[0257] Based on these descriptions, in this study, a formula is derived that effectively calculates the transmission rate of a user for the next monitoring interval. This formula is represented as Equation (32) and determines the appropriate rate allocation for the i-th user in a multitransmitter system, taking into account the current and total transmission rate, the mean age violation level of the i-th user and the system. In equation
[0258] • 07 is the rate of the i-th user in the next monitoring interval.
[0259] • <j£0Zdis the rate of the i-th user in the current monitoring interval.
[0260] • AVMII is the age violation level of the i-th user in the current monitoring interval.
[0261] • VMiavis the mean age violation level of the users or the age violation level in the system.
[0262] •ffTotai is the total transmission rate decision of the congestion control for the next monitoring interval.
[0263] • °Totaisthe previous total transmission rate decision of the congestion control for the next monitoring interval.
[0264] • In this equation, i 6 {1,2, . .. , M and M is the total number of transmitters.
[0265] The term (AVMI i— AVMIav) in equation (32) provides valuable information about the relationship between the age violation level of the i-th user and the mean age violation level of all users in the system. This expression indicates whether the i-th user has a higher or lower age violation level than the overall mean age violation level of the system. In particular, if the age violation level of the i-th user is higher than the system mean, the algorithm concludes that the data decoding process of the i-th user takes longer than the others or that the last transmission rate is not sufficient to meet the freshness requirement of the system. Therefore, on the basis of this observation, the rate of the i-th user must be increased in the next monitoring interval. The amount of this increase is represented by (AVMI i— AVMIav). On the other hand, if the age violation level of the i-th user is lower than the system mean, it indicates that the i-th user experiences fewer outdated status updates compared to other users. This may mean that the last transfer rate is sufficient to meet the freshness requirements of the system. Based on these facts, the algorithm can achieve a fair balance between users by reducing the rate of the i-th user by an amount of (AVMI £— AVMiav) in the next monitoring interval, reserving this portion for other users who exceed the age violation threshold. The term Q0^1) in equation (32) serves as a scaling factor that increases or decreases the aTotal transmission rate of the i-th user based on the relative change in the total transmission rate between the current monitoring interval and the next monitoring interval. This factor ensures that the new transmission rate is distributed proportionally among users, thus maintaining a balanced and coordinated behavior among all users in the system.
[0266] The equation (32) plays a critical role in dynamically changing the user’s transmission rate to conform to the congestion control decisions and age violation levels. In fact, this equation calculates for the i-th user the updated rate for the next monitoring interval. This approach for rate allocation is used to ensure fairness and to guarantee that transmitters have the same age violation distance to their respective age violation thresholds and the total rate is kept equal toffTotai- H should be noted that the proposed method for rate allocation may vary depending on the system design and operational objectives. However, the basic principle of carrying out the rate allocation process using age violation values remains the same.
[0267] Various studies have been carried out for the simulation of the proposed age-aware congestion control algorithm. In the simulations, like the system model, similar to Fig. 1, transmissions take place through a queue in a first-come-first-served (FCFS) based service order with specific service rates. Fig. 13 shows the behavior of A3L-FEC under the following conditions, wherein the duration of the control intervals is T = 102time slots and the simulation time is 105time slots.
[0268] • Bottleneck Queue Size: 5000 [chunk]
[0269] • Age threshold: 5 [time slot]
[0270] • Queue service rate: k x 1.4706 [packet / time slot]
[0271] • k = 3
[0272] • n = 4
[0273] • Probability of packet loss of the channel before the queue: Pi0Ss,in=0.2
[0274] • Probability of packet loss of the channel after the queue: PiOSs,out = 0-2
[0275] • Propagation Delay = 1 [time slot] In order to evaluate the effect of the error correction rate on the performance of the proposed algorithm, a series of simulations were performed under different packet loss probabilities. The parameters are as follows:
[0276] • Bottleneck Queue Size: 5000 [chunk]
[0277] • Age threshold: a G {2,5} [time slot]
[0278] • k £ {2,3,4, 5}
[0279] • Queue service rate: k x 1.4706 [packet / time slot]
[0280] • Probability of packet loss of the channel before the queue: Pi0Ss,ine{0,0.1,0.2}
[0281] • Probability of packet loss of the channel after the queue: P;0SS;0UtG {0,0.1, 0.2}
[0282] • Propagation Delay = 1 [time slot]
[0283] The effect of the error correction rate on the performance of the systems is shown (in Figs. 14, 15, 16, 17, 18 and 19). If the system selects an appropriate error correction rate, the system age violation is significantly mitigated. Especially when the system is affected by a high probability of packet loss, the impact of error correction is significant. This observation can be interpreted as follows:
[0284] In error-prone networks, it is possible to provide the receiver with an appropriate amount of redundant data to recover the message without the need for retransmission; however, the redundant data adds additional load to the network, resulting in a queue increase that requires retransmission of all the data. As a result, congestion occurs in the network and age violation on the client side. Therefore, optimizing the error correction rate is essential to reduce the age violation of the system.
Claims
CLAIMS1. An age-aware, application-layer forward error correction based communication method for adjusting the transmission rate between at least one transmitter and at least one receiver providing feedback to said transmitter, characterized in that a) the age violation and the exponential moving average of the age violation are obtained based on the samples decoded in each monitoring interval, b) the age violation in the last monitoring interval is compared with the exponential moving average of the age violations of the system since the start of the transmission, and c) the transmission rate from the transmitter to the receiver is regulated according to the result of the comparison.
2. A method according to claim 1, characterized in that in step a, the mean delay and the exponential moving average of the delay are obtained based on the packets received in each monitoring interval, and in step c, if the age violation in the current monitoring interval is greater than the exponential moving average value of the age violation and the mean delay in the current monitoring interval is greater than the exponential moving average of the system for delay, the transmission rate from the transmitter to the receiver is reduced, or otherwise the transmission rate is increased, if the age violation in the current monitoring interval is lower than the exponential moving average value of the age violation and the mean delay in the current monitoring interval is greater than the exponential moving average of the system for delay, the transmission rate from the transmitter to the receiver is increased, or otherwise the transmission rate is reduced.
3. A method according to claim 2, characterized in that the chunk delays of the last monitoring interval and the chunk delays of the previous monitoring interval are weighted in such a way that the chunk delay of the last monitoring interval has a higher effect to obtain an exponential moving average of the delay.
4. A method according to any one of the preceding claims, characterized in that the age violation of the last monitoring interval and at least one of the age violations of the previous monitoring interval are weighted in such a way that the age violation of the last monitoring interval has a higher effect to obtain an exponential moving average of the age violation.
5. A method according to any one of claims 2-4, characterized in that, if the age violation in the current monitoring interval is greater than the exponential moving average value of the age violation and the mean delay in the current monitoring interval is lower than the exponential moving average of the system for delay, the absolute value difference between the age violation of the current interval and the exponential moving average of the age violation is determined and the new transmission rate is determined by subtracting this value from the current transmission rate.
6. A method according to claim 5, characterized in that a predetermined value is assigned for determining the transmission rate, and a maximum value between this value and the absolute value difference between the age violation of the current interval and the exponential moving average of the age violation is determined as the new transmission rate.
7. A method according to claim 5, characterized in that, if the mean delay in the current monitoring interval is greater than the exponential moving average of the system for delay, the new transmission rate is determined by increasing the current transmission rate at a predetermined ratio.
8. A method according to any one of claims 2-4, characterized in that, if the age violation in the current monitoring interval is greater than the exponential moving average value of the age violation and the mean delay in the current monitoring interval is greater than the exponential moving average delay of the system for delay, the absolute value difference between the age violation of the current interval and the exponential moving average of the age violation is determined and the new transmission rate is determined by subtracting this value from the current transmission rate.
9. A method according to claim 8, characterized in that a predetermined value is assigned for determining the transmission rate, and a maximum value between this value and theabsolute value difference between the age violation of the current interval and the exponential moving average of the age violation is determined as the new transmission rate.
10. A method according to claim 8, characterized in that, if the mean delay in the current monitoring interval is lower than the exponential moving average of the system for delay, the new transmission rate is determined by increasing the current transmission rate at a predetermined ratio.
11. A method according to any one of the preceding claims, characterized in that the transmission rate is increased if the mean delay of the current interval after step a is lower than the monitoring time slot and the number of times the transmission rate was previously reduced is equal to or less than two, or the transmission rate is increased if the age violation rate in the last monitoring interval is greater than a predetermined value of times and the mean delay of the current monitoring interval is infinite and the number of times the transmission rate was previously reduced is equal to or greater than two, or the transmission rate is reduced if the age violation rate during the current monitoring interval and the entire time from the start of transmission is greater than a predetermined value of times and the mean delay of the current monitoring interval is greater than the monitoring time interval and the number of times the transmission rate was previously reduced is equal to or less than two.
12. A method according to any one of the preceding claims, characterized in that in step a, the time it takes for a packet to travel from the transmitter to the receiver and the described packet delivery rate is obtained, and the mean delay is set to infinity and the transmission rate is increased if the mean delay of the current interval is infinite, the number of times the transmission rate was previously reduced is equal to or greater than two, and the packet delivery rate is zero, or the transmission rate is reduced if the age violation rate for the current monitoring interval is greater than a predetermined value of the times and the exponential moving average of the violation is greater than a predetermined value and the mean delay is greater than the age violation threshold, or the transmission rate is increased if the age violation for the current monitoring interval is greater than a predetermined value and the mean delay of the current monitoring interval isgreater than or equal to twice the time it takes for a minimum packet to travel from the transmitter to the receiver and the number of times the transmission rate was previously reduced is less than or equal to two.
13. A method according to claim 12, characterized in that the packet delivery rate describedis determined according to the Formula above and wherein ERP is the described packet delivery rate, n is the block length, T is the monitoring interval length, Tsis the sample generation interval.
14. A method according to any one of the preceding claims, characterized in that a comparison is made between the age violation threshold value and the transmission rate determined by one of the blocks and the minimum value is selected.
15. A method according to claim 1, characterized in that, for adjusting the transmission rate of multiple transmitters and receivers, the total transmission rate is determined and the rate is distributed among the transmitters.
16. A method according to claim 15, characterized in that, for distributing the rate among the transmittersthe formula above is used and wherein oy is determined as the rate in the next monitoring interval of the i-th user,as the rate in the current monitoring interval of the i-th user, as the age violation level in the current monitoring interval of the i-th user, AVMIavas the mean of the age violation levels of the users or the age violation level in the system, ffTotaiasthe total transmission rate of the congestion control for the next monitoring interval, Orotaiasthe total previous transmission rate of the congestion control for the next monitoring interval and M as the total number of transmitters.
17. A data processing device comprising means for performing the steps of the method according to any one of claims 1-16.
18. A computer program comprising instructions that, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1-16.
19. A computer-readable storage medium comprising instructions that, when executed by a computer, cause the computer to perform the steps of the method according to any one of claims 1-16.