![]() METHOD AND SYSTEM TO CONTROL DATA TRAFFIC WITH RANDOM EARLY DETECTION AND WINDOW DIMENSION ADJUSTMEN
专利摘要:
method and system for controlling data traffic with random early detection and window size adjustment The present invention relates to a method for controlling data traffic with random early detection and window size adjustments including performing random early detection on the incoming data packets, calculating (601) a simple move average of packet download probabilities for the data packets as calculated when performing random early detection, reducing (605) one size of the advertised window if the simple move average is greater than a probability target plus a tolerance factor, increase (606) the advertised window size if the single move average is less than the probability target minus a tolerance factor and do not adjust (604) the window size if the simple moving average is not greater than a probability target plus a tolerance factor and not less than a probability target minus s a tolerance factor. 公开号:BR102012030288B1 申请号:R102012030288-8 申请日:2012-11-28 公开日:2022-01-04 发明作者:Robert Torres;John Border;Pat Stevens;Jun Xu;Je-Hong Jong 申请人:Hughes Network Systems, Llc; IPC主号:
专利说明:
BACKGROUND [0001] In communication networks, packets can be temporarily stored in a queue before being processed. When the rate of incoming packets is greater than the rate at which packets can be processed, the queue size can grow. If packets are arriving at a rate that is consistently greater than the processing rate, the queue size can grow beyond a desired queue length, resulting in network congestion. [0002] A conventional approach to managing network traffic can lead to packets being dropped once the queue size exceeds a certain threshold. This may be referred to as a later drop. If the dropped packets belong to a TCP flow, this can trigger TCP congestion control, forcing the TCP flow to reduce its packet sending rate significantly. This can allow the network to recover from congestion. However, when all TCP streams are triggered to slow speed at the same time, that is, global synchronization occurs, the network can be suddenly decongested. If the queue size threshold for triggering slow speed is not significantly high, the processing rate can drain the queue before recovering send rates from TCP streams, which can cause the network link to be underutilized. Additionally, if the queue size threshold is too high, when the network is in steady state, that is, the incoming packet rate is equal to the processing rate, packet delay may be unnecessary. [0003] Active Queue Management (AQM) can be used to address global synchronization and network underutilization by probabilistically leading to low packets based on queue size. If a packet is downloaded, the TCP source can trigger congestion avoidance, eg Additive Increase Multiplicative Reduction (AIMD), with probability based on different queue sizes. This can be referred to as random early detection (RED). RED can issue rapid response and autonomous rate control. However, RED can also lead to fluctuation in queue size and undesired higher packet drop rates. [0004] Communication networks can use Substitution to Enhance Performance (PEP) to mitigate link-related degradations due to round-off path delay, error-prone environment, and time-varying (non-deterministic) bandwidth. For example, in a satellite network, a PEP can be a replacement Spoofer, which can be used to mitigate the long impact of latency due to propagation. A TCP packet can be acknowledged (ACKed) by the replacement masker before reaching its destination. When traffic conditions on the satellite link change, the spoofer can increase or decrease the advertised TCP window size such that the TCP source can scale up or down the sending rate. A queuing delay target can be associated with spoofed packets. When the queuing delay is longer than the target, the masker can reduce the TCP window size, otherwise it can increase the window size. This can be referred to as adjusting the window size. Window size adjustment may not require packets to be dropped, but may be slow to respond to the state of the network. In addition, fluctuation in queue size may occur and convergence to the target set point may be step size sensitive. [0005] It is an object of the present invention to provide a method and system for controlling TCP traffic with random early detection and window size adjustment. [0006] In accordance with one aspect of the present invention, a process for controlling data traffic with random early detection and window size adjustments includes performing random early detection on incoming data packets, calculating a simple motion averaging probabilities of downloading packets for data packets when performing random early detection, calculated on performing random early detection , reduction by one size of the advertised window if the simple move average is greater than a probability target plus a factor tolerance, increase the advertised window size if the simple move average is less than the probability target minus a tolerance factor, and do not adjust the window size if the simple move average is not greater than a probability target plus a tolerance factor and not less than a probability target minus a tolerance factor. [0007] Additional objects, advantages and novel aspects of the invention are described in part in the description which follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by practice of the invention. The objects and advantages of the invention will be achieved by means of the instruments and combinations particularly mentioned in the appended claims. BRIEF DESCRIPTION OF THE DRAWINGS [0008] Figure 1 indicates an exemplary satellite communications system; Figure 2 indicates an exemplary virtual queue for random early detection; Figure 3 indicates an exemplary procedure for random early detection; Figure 4 indicates an exemplary graphical representation of random early detection; Figure 5 indicates an exemplary procedure for adjusting the window size; Figure 6 indicates an exemplary procedure for adjusting the window size used with early random detection; eFigure 7 indicates an exemplary graphical representation of the window size fit used with random early detection. DETAILED DESCRIPTION OF THE INVENTION [0009] Random early detection and window size adjustments can be used to control traffic on any appropriate type of communication networks, such as, for example, satellite communication networks, wired networks such as DSL, cable, and wireless networks. optical fiber, and wireless terrestrial networks such as 3G, 4G and WiMAX networks including cellular and WiFi-equipped devices. Figure 1 indicates an exemplary satellite communications system. The satellite communications system includes a satellite earth station or gateway 101, a Very Small Aperture Terminal (VSAT) population 102, a satellite 103, an Internet 104, IP port 105, and a terminal 106. [00010] Port 101 may be connected to VSATs in the VSAT population 102 via satellite 103. Feeder links 107 may carry data between port 101 and satellite 103 and may include a forward uplink 108 to transmit data from the port 101 101 to satellite 103 and a return downlink 109 for transmitting data from satellite 103 to port 101. User links 110 may carry data between satellite 103 and VSAT population 102 and may include return uplink 111 to transmit data from a VSAT to satellite 103 and a forward downlink 112 for transmitting data from satellite 103 to a VSAT. The forward uplink 108 and the forward downlink 112 can form an external route and the return uplink 111 and the return downlink 109 can form an internal route. Port 101 can be high-capacity, large antenna ground stations with connectivity to the terrestrial telecommunications infrastructure. Port 101 may be connected to RF Terminal (RFT) 106. The RFT 106 may include an antenna, electronics, and connectivity to allow access to satellite communications 103. The RFT 106 may be physical equipment to send and receive signals to and from the satellite 103 and can provide an air interface to port 101. [00011] The VSAT population 102 may include a number of VSATs or Mobile Satellite Terminals, which may be used by end users to access the satellite communication system. A VSAT may include a remote satellite dish to receive RF signals from and transmit RF signals to satellite 103, a modern satellite and other equipment to manage the sending and receiving of data, and one or more remote terminals (hosts), which may be computer systems or other electronic devices capable of network communications at a site remote from port 101. For example, a VSAT may be used in a home or workplace to provide access to the Internet 104. [00012] Satellite 103 may be any communications satellite suitable for connecting hub 101 to remote terminals (hosts) 116. For example, satellite 103 may be a simple curved tube design geostationary satellite that can accommodate innovations and variations in transmission parameters, operating in the Ka band. Satellite 103 can use spot and frequency beams and reuse polarization to maximize total system capacity. Signals passing through satellite 103 in the forward direction, for VSATs, may be based on the DVB S.2 standard (ETSI EN 302 307) using signal constellations up to and including at least 16-APSK. The signals intended to pass through satellite 103 in the return direction to the hubs may be based on the IPoS standard (ETSI TS 102 354). Other appropriate signal types can also be used in one direction, including, for example, higher data rate variations of DVB S.2. [00013] Port 101 can include IP ports 105. IP ports 105 can be the LAN ingress portion of port 101. Data from outside port 101 can enter port 101 through IP ports 105. IP 105 may include a broadcast masker, which can recognize TCP traffic sent to port 101. Port 101 may connect to Internet 104 through IP ports 105. TCP traffic from Internet 104 may enter port 101 through IP ports 105. Remote terminals connected to VSATs in the VSAT population 102 can connect to Internet 104 through satellite 103 and port 101. [00014] Data from the Internet 104 intended for a VSAT in the VSAT population 102 may be in the form of TCP packets, although the data may also be UDP packets, SCTP packets or any other appropriate IP packets and may enter the port 101 to one of IP ports 105, where the spoofer can send TCP knowledge back to the sender of TCP packets. TCP packets can be processed and multiplied by port 101 along with TCP packets from other IP ports 105, where IP ports 105 may or may not have the same service capabilities and relative priorities. TCP packets may then be transmitted to satellite 103 on forward uplink 108 using the Air Interface provided by RFT 106. Satellite 103 may then transmit TCP packets to VSAT using forward downlink 112. This may be an external route. Similarly, TCP packets may enter the ingress portion of a VSAT in the VSAT population 102, be processed by VSAT 102, and transmitted to satellite 103 via the VSATs over the Internet backlink VSATs 111. Satellite 103 may then send TCP packets to port 101 using return downlink 109. This can be internal route. [00015] Port 101 and IP ports 105 can also be used in communication networks other than satellite communication networks, where the endpoints may be devices other than VSATs such as, for example, wireless or cellular devices . [00016] Figure 2 indicates an exemplary virtual queue for random early detection. A RED algorithm based on queuing delay can be used to manage the flow of TCP traffic to the satellite network or other appropriate communications network using performance-enhancing replacements such as terrestrial wireless or wired networks. Queuing delay meters can be used in the RED application since, although the queuing delay may be time-switching, the link capacity of IP ports 105 or the bandwidth assigned to a terminal such as VSAT can be connected at any time due to the bandwidth allocation of port 101, although the bandwidth allocation can change dynamically over short periods of time. A virtual queue 201 can be used to model all packet traffic flows, such as TCP packets 202 into an aggregated data stream. TCP packets 202 can enter IP ports 105 from various sources such as, for example, various websites on the Internet 104 and can wait in queues on IP ports 105 before being processed and multiplexed on port 101. The virtual queue 201 can represent aggregation of queues on IP ports 105. [00017] There may be minimum queuing latency thresholds of delay 203 and maximum delay 204. The minimum of delay 203 may indicate the maximum amount of delay required before RED could download any of the TP packets 202 entering virtual queue 201 and the maximum delay 204 can indicate the maximum amount of delay allowed before RED could download all additional TCP packet entries 202. Thus, the probability of downloading operational packet can be in the range of 0, associated with the minimum delay 203 and 1, associated with maximum delay 204. TCP 202 packets enter queues on IP ports 105, which can increase the size of virtual queue 201. TCP 202 packets can be processed and transmitted out over an interface 205, which could be, for example, RFT 106 in a satellite communications network as indicated in figure 1. As the rate at which TCP packets 202 enter IP port 105 increases, virtual queue 201 can increase. ment, and there may be an increase in the amount of time between when the specific TCP packet 202 enters IP port 105 and when the TCP packet 202 is transmitted over Air Interface 205 or another appropriate external interface, such as, for example, a transmission interface for a wired network. This delay can be used by RED to determine when any of the P 202 packets should be downloaded. [00018] Figure 3 indicates an exemplary procedure for random early detection. Random early detection can be applied across multiple traffic priorities and can be applied to the internal route or the external route. At block 301, the average aggregate queue size can be calculated. The may represent the aggregate aggregate queue size all related such as, for example, layer 3 flows for the ingress portion, for example, on IP ports 105, including TCP and UDP flows. The schedule clock time link can be indicated as t. For example, the default binding value for t can be 20ms for the external route schedule interval and 45 ms for the internal route schedule interval at a given time t, where a can be the forgetting factor for the queue size, and Q(t) can be the sum of queue sizes of each stream queued at the beginning of a scheduling period. The default value for forgetting factor can be 0.25. [00019] In block 302, the average link capacity of the IP port can be calculated. Link capacity may be the rate at which data such as TCP packets 202 can be processed and transmitted upon entry into the ingress portion such as IP ports 105 or a VSAT or other type of terminal. C can represent the average link capacity. At a given moment t, where (C(t) may be the immediate supply capacity through port 101 at a time and b may be the forgetting factor for the link capacity. The default value for the forgetting factor may be b= 0.25. Na external route, considering traffic priorities, rate-based bid capacity for conversational and interactive traffic and actual used capacity based on schedule for both streaming and volume traffic can be used. For conversational and interactive, C(t) may be the same as the bandwidth given by port 101. For volume and streaming traffic, C(t) may be the latest programmed capacity. This may require the scheduler to maintain bookkeeping for past data. [00020] In block 303, the average queuing delay can be estimated. TCP 202 packets can also belong to different priority classes, which can result in different TCP 202 packets being handled differently. The delay for each priority class can be estimated by counting the average latency of an individual TP packet 202 from the time of the TCP packet 202 entering the ingress portion, e.g., IP ports 105, to the time of the outgoing packet. TCP 202 to be moved to the PBP queue by the programmer. This can introduce unnecessary complexity, especially when the network is not congested. [00021] The average queuing delay or other statistics considering the queuing delay can also be directly estimated using the ratio of aggregated traffic and allocated bandwidth. Virtual queue 201 can be drained at a certain rate based on link capacity. Due to bandwidth allocation, timely updated capacity can be known. The aggregated traffic amount can be obtained by calculating the amount of data, such as, for example, TCP packets 202, in the relevant queues, including both covert and covert TCP and UDP flows. May represent the average queuing delay. For each priority class, at a given time t. where α can be the forgetting factor for the queuing delay The default value for the forgetting factor can be α =0.1. [00022] In block 304, the average queuing delay can be compared to a minimum of the delay. For example, the average queuing delay or other statistics regarding queuing delay, as calculated in block 304, can be compared to the minimum of delay 204. D_min may be minimum of delay 204 and D_max may be maximum of delay 203 .PRED can be the immediate low probability for a TCP packet. If the average queuing delay is less than the minimum delay, then PRED = 0, indicating that the TCP packet has a 0% low probability and the flow advances to block 309. In other words, the flow advances to block 305 . [00023] In block 305, the average queuing delay can be compared to the maximum delay. For example, the average queuing delay, as calculated in block 303, can be compared to the maximum of the 203 delay. The average queuing delay may have already been determined to be greater than the minimum of the delay in block 304, so if the average queuing delay is less than the maximum delay, the flow advances to block 306. Otherwise, if the average queuing delay is greater than the maximum delay, then PRED = 1, indicating the TCP packet has 100% downside probability and the flow advances to block 308. [00024] In block 306, the probability that the TCP packet is downloaded can be calculated. The average queuing delay can be between the minimum delay and maximum delay, so RED can determine a probability that the TCP packet is downloaded. Pmax can be the maximum low probability, 0 < Pmax < 1. Low low probability can be Pmim = 0. The probability of a TCP packet that can be downloaded when the average queuing delay is between the minimum of the delay and the maximum delay can be calculated as: [00025] In block 307, the probability calculated for the TCP packet can be used to determine whether the packet should be downloaded. Whether to download the package based on the probability of downloading the package can be determined in any appropriate way, such as, for example, using a random number generator. For example, if at block 306, PRED could be calculated as 0.1, the TCP packet might get a 10% chance of being downloaded. A random number generator can be used to generate a random number between 0 and 1. If the random number generated is greater than 0.1, the TCP packet with a PRED of 0.1 can be kept. Otherwise, the TCP packet can be downloaded. If it is determined that the TCP packet should be downloaded, the flow advances to block 308. Otherwise, the flow advances to block 309. [00026] At block 308, the TCP packet can be downloaded. Downloading the TCP packet may result in the packet actually being downloaded or the TCP packet may be marked with an Explicit Congestion advertisement. The TCP packet can be downloaded either because the average queuing delay is longer than the maximum delay, meaning that all incoming TCP packets will be downloaded until the average queuing delay is reduced to below the maximum delay, or because the TCP packet is being probabilistically downloaded. The TCP packet may be downloaded before the TCP disguiser recognizes the TCP data packet. [00027] At block 309, the TCP packet can be queued. The TCP packet could be added to the queue for processing and transmission, as the average queuing delay was less than the minimum delay, allowing all incoming TCP packets to be queued or the TCP packet not probabilistically downloaded. [00028] The procedure for random early detection can be operated for each incoming TCP packet. Blocks 301, 302 and 303 can be repeated for each incoming TCP packet or can be operated at set intervals while blocks 304 to 309 are operated for each incoming TCP packet using the most recently calculated values from blocks 301, 302 and 303. [00029] Figure 4 indicates an exemplary graphical representation of random early detection. The X axis 401 can represent the average queuing delay. The Y axis 402 can represent the probability of the packet being downloaded and can have a minimum of 0 and a maximum of 1, representing the probability of 0% and 100%, respectively. The probability marking maximum 403 can represent Pmax, the maximum probability that a TCP packet can be downloaded when the average queuing delay is not greater than the maximum delay. The minimum of the 404 delay and the maximum of the 405 delay can represent the maximum and minimum queuing delays, D_min and D_max. As the average queuing delay increases, the graph shows that the probability of a TCP packet being marked for download can stay at 0 until the average queuing delay reaches the minimum of delay 404. The increases in average queuing delay after the minimum of the 404 delay having been reached can result in an increase in the probability of a TCP packet being downloaded. When the average queuing delay is equal to the maximum of 405 delay, the probability of a TCP packet being downloaded can be equal to the probability of marking the maximum 403. If the average queuing delay increases to become greater than the maximum of the delay 405, the probability of a TCP packet being downloaded can become 1 or 100%. [00030] RED can use various delay thresholds, which can be adjusted to support multiple rate plans or priorities. Different RED probabilities may apply for different traffic classes in terms of complete need or rate plan. For example, in a rate plan, such as a baseline with the lowest full probabilistic back-off can be triggered at the minimum of the 404 delay, as described above. Another rate plan such as a high rate plan may not revert until the average queuing delay exceeds a minimum of 2 407 delay. As indicated in Figure 4, TCP packets being sent using the higher rate plan will not start down until after the average queuing delay is greater than the minimum of the 404 delay. Thus, TCP packets sent on the lower rate plane will be downloaded first and TCP packets on the higher rate plane will only be downloaded if the delay average queuing will continue to increase anyway. An endpoint, such as a VSAT, using the higher plan rate may have a higher average send rate than the one with the lower plan rate in break-even status. There may also be an intermediate rate plan with a minimum of 1,406 delay. [00031] In the external route, different thresholds can be applied to multiple service plans for each priority. The exemplary thresholds, 404 delay minimum, 1 delay minimum 406, and 2 delay minimum 407 can be used for base and higher rate plans, respectively. These parameters can be configured. In the internal route, since a single endpoint, or VSAT, can be tied to a service plan, thresholds can be employed to support multiple traffic priorities. Higher priority traffic can have a higher minimum delay value. [00032] Figure 5 indicates an exemplary procedure for adjusting the window dimension. Window dimension adjustment can be applied to the internal route or external route. TCP sources such as, for example, TCP packet sources 202, can receive a TCP ACK message from their receivers. The TCP ACK message can contain the maximum window size of the receiver. TCP sources can use this message to limit their send rate to the maximum assigned window size. By adjusting the maximum window size, the traffic flow can be controlled. For example, in a satellite communication network, internet sources 104 may send P packets 202 to IP ports 105 and TCP packets may be intended for a VSAT in the VSAT population 102. IP ports 105 may use a disguiser to act as the receiver of TCP packets 202 and can send TCP ACK messages including maximum window dimensions to sources on the internet 104, and causing sources to adjust the rate at which TCP packets 202 are sent . [00033] Congestion can occur when the aggregate traffic rate of incoming traffic, e.g. TP 202 packets, is consistently greater than the rate at which the traffic can be processed, over a given amount of time. . À can represent the aggregate or average traffic rate, and μ can represent the processing rate associated with a queue such as a virtual queue 201. When À > μ, the amount of data such as TCP packets 202, waiting in the queue may increase; when À < μ , the amount of data waiting in the queue may decrease. When A = μ , the queue can be in an equilibrium state. Window size adjustment can be used to adjust the rate of traffic entering an ingress portion such as IP ports 105 in order to relieve congestion. [00034] A receiver can have N TCP connections and each TCP connection can have a coefficient α1 related to the rounding path delay. The maximum window size Wmax can be the same for all TCP connections. N and α1 may both be variables and long-term mediation may be required to obtain a good average. μ can be known as a constant. Qtar can be desired or target, queue size. At time t, the queue size can be Q(t). At time t+1: [00035] The resulting queue size can be compared with the target queue size and the difference ΔQ can be calculated according to: [00036] If ΔQ =0, then equilibrium may have been reached, resulting in at time t0, may result in a recursive expression for fitting the relative window size based on the delay difference, at time t0 + n: [00037] To validate the above equation, it can be shown that: [00038] Thus, given a certain relative step size, after a few iterations, the window size can be adjusted to satisfy the delay requirement. [00039] In block 501, the size of the virtual queue can be calculated. To determine if congestion exists, the current virtual queue size may need to be known. The virtual queue size at time t, Q(t), can be calculated as in RED, as the sum of the queue sizes of each stream queued at the beginning of the scheduling period. [00040] In block 502, the bandwidth allocated in the virtual queue can be determined. The allocated bandwidth may determine the rate at which data such as TCP packets 202 are processed and transmitted from the virtual queue 201. The allocated bandwidth at time t, R(t) may be determined based on the data received from , for example port 101, giving bandwidth to IP ports 105. [00041] In block 503, the perceived delay can be calculated. The perceived delay may be the perceived amount of time data, such as one of the TCP packets 202, must wait to leave virtual queue 201 after entering virtual queue 201. The perceived delay at time t,D(t) may be calculated as [00042] At block 504, the perceived delay can be compared to the minimum of the delay. The minimum of the delay, Dmin, can be, for example, the minimum of the delay 204. If the perceived delay is not greater than the minimum of the delay, D(t) < Dmin, there can be no congestion and the flow proceeds to block 508. Otherwise the flow advances to block 505. [00043] At block 505, the perceived delay can be compared to a maximum of the delay. The maximum of delay, Dmax, can be, for example, the maximum of delay 203. If the perceived delay is greater than the maximum delay, D(t) > Dmax, there may be congestion and the flow advances to block 506 . Otherwise the flow advances to block 506. [00044] In block 506, the window dimension cannot be adjusted. The perceived delay may be greater than the minimum delay, but not greater than the maximum delay, Dmin < D(t) < Dmax. The window size can be left the same, Wmax(t+1) = Wmax(t), when the network cannot be congested either at the point where TCP sources need to slow down their sending rate nor be decongested at the point where that TCP sources can increase your send rate. [00045] In block 507, the window size can be reduced. When the perceived delay is greater than the maximum delay, congestion may occur. To alleviate congestion, the receiver, for example, IP ports 105 can reduce the size of the advertised window at the sources of TCP packets 202 which can reduce the sending rate from those sources. The window size can be reduced according to Wmax (t+1) = Wmax (t) - ΔW. [00046] In block 508, the window size can be increased. When the perceived delay is shorter than the minimum delay, the network may be underutilized. To better utilize the network capacity, the receiver, for example IP ports 105, can increase the size of the advertised window in the TCP packet sources, which can increase the sending rate of those sources. The window size can be increased according to Wmax (t+1) = Wmax (t)+ ΔW. [00047] RED, as described in figure 3, can be multiplied using window dimension adjustment, as described in figure 5. The combination of RED and window dimension adjustment can result in faster responses to congestion and improved stability and can be applied to the internal route or the external route. [00048] Figure 6 indicates the exemplary procedure for adjusting the window size used with random early detection. RED, as described in Figure 3, can operate in conjunction with window size adjustment and can be used for traffic management on any appropriate communication network using performance-enhancing replacements such as wireless or wired terrestrial networks. The window size adjustment procedure can be modified to use RED computed packet download probabilities in place of perceived delay and a target probability range in place of minimum delay and maximum delay. At block 601, the simple move average of the probabilities that a packet will be downloaded can be calculated. The simple moving average PRED.SMA. can be the simple average over a time period of probabilities for packet drop as calculated by the RED procedure, for example, as in blocks 304, 305 and 306. The simple move average can be calculated as: where K can be the number of samples to use for the simple moving average. For example, the mean update period for PRED might be 20 milliseconds. The default weighting period for PRED.SMA can be 200 samples. [00049] In block 602, the single move average can be compared to the probability target minus a tolerance factor. The target probability, Pth, can be a desired packet download probability through all input data. The Pth can be selected such that when PRED.SMA = Pth the system is in equilibrium and is neither congested nor underutilized and packets experience an amount of goal delay. Pth can be modified with a tolerance factor, δ, so that the system can be considered to be in equilibrium if PRED.SMA is within [Pth - δ, Pth + δ]. If the single move average is less than the probability target minus the tolerance factor, PRED.SMA < Pth - δ, the flow advances to block 606. Otherwise, the flow advances to block 603. [00050] In block 603, the single move average can be compared to the probability target plus the tolerance factor. If the simple moving average is greater than the probability target plus the tolerance factor, PRED.SMA > Pph + δ, the flow advances to block 605. Otherwise, the flow advances to block 604. [00051] In block 604, the window dimension may not be adjusted. The single move average may be within the range of the target probability plus or minus the tolerance factor, Pth - δ < PRED.SMA < Pph + δ , The system may be in equilibrium, so there may be no need to adjust the dimension from the window. As in block 506, the window can remain in the same dimension, Wmax(n+1) = Wmax(n), where n is the window adjustment range. [00052] In block 605, the window size can be reduced. When the single move average is greater than the probability target plus the tolerance factor, congestion can occur, when packages have a higher probability of being downloaded than is desired according to the probability target. To alleviate congestion and reduce the probability of packets being downloaded, the receiver, for example IP ports 105, can reduce the size of the advertised window in TCP packet sources 202, which can reduce the sending rate from those sources. The window dimension can be reduced according to Wmax (n+1) = Wmax (n) - ΔW. Reducing the window size can reduce the amount of input data, which can in turn reduce the probability at which RED downloads packets, helping to move the simple move average closer to the probability target. [00053] In block 606, the window size can be increased. When the single move average is less than the probability target minus the tolerance factor, the network may be underutilized. To better utilize the available network capacity, the receiver, for example, IP ports 105 can increase the size of the advertised window for TCP packet sources, which can increase the sending rate of those sources. The window dimension can be increased according to Wmax (n+1) = Wmax (n) + ΔW. Increasing the window size can increase the amount of input data, which can in turn increase the probability that RED downloads packets, helping to move the simple move average closer to the probability goal. [00054] Pattern parameters for using RED with window size adjustment can be: ΔW can be a packet (1000-1500 bytes), probability of desired RED Pth can be around 0.5% (or 1% ), the tolerance factor δ can be 0.2% and the window dimension update interval n can range from 100ms to 1000ms and can be 400ms in default. [00055] Figure 7 indicates an exemplary graphical representation of the window size adjustment used with random early detection. The X axis 701 can represent the average queuing delay. The Y axis 702 can represent the probability of the packet being downloaded and there can be a minimum of 0 and a maximum of 1, representing probabilities of 0% and 100%, respectively. The probability marking maximum 703 can represent Pmax, the maximum probability that a TCP packet can be downloaded when the average queuing delay is not greater than the maximum delay. Probability target 704 can represent the probability of downloading desired RED pack Pth. The minimum of the 705 delay and the maximum of the 707 delay can represent the maximum and minimum queuing delays, D_min and D_max. Target delay 706 may represent the target delay for queued packets, which may be the delay experienced by the average packet when RED is operating at probability target 704. Target area 708 [Pth - δ, Pth + δ ] may be an area defined by the target probability 704 and the tolerance factor such that when PRED.SMA is within the target area, it can be considered to be close enough to the target probability 704 that the window size does not need to be adjusted. As the average queuing delay increases, the graph shows that the probability of a TCP packet being marked for download can remain at 0 until the average queuing delay reaches the minimum of delay 404. The average queuing delay increases after the minimum of delay 705 has been reached may result in an increase in the probability of the TCP packet being downloaded. The window size can be increased, resulting in further increases in the average queuing delay, moving closer to the 708 target area. If the average queuing delay increases such that the PRED. SMA becomes greater than the 704 probability target and is outside the 708 target area, the window dimension can be reduced, resulting in reductions in the average queuing delay and moving PRED.SMA back into the 708 target area. When the average queuing delay is equal to the maximum of delay 707, the probability of a TCP packet being downloaded can be equal to the probability marking maximum 703. If the average queuing delay increases to become greater than the maximum of delay 707 , the probability of a TCP packet being downloaded can become 1 or 100%. [00056] If there are multiple service plans or priorities, the TCP window adjustment can be triggered by the base function, which can be associated with the base service plan for the external route and the lowest priority for the route terminal internal. [00057] Some endpoints may not properly handle a larger number of streams with high input data rate. Although the programmer can limit the resource assigned to such endpoints, the data accumulated on IP ports 105 can trigger RED, impacting other regular endpoints. To avoid this, the total queue size for a single terminal can be limited so that the stored data remains at a reasonable level. For example, the memory size for a terminal might be large enough to hold one or two important seconds of data for each priority class. [00058] As used herein, a "computer" or a "computer system" may be, for example and without limitation either alone or in combination, a personal computer (PC), server-based computer, mainframe, server, microcomputer, minicomputer, laptop, personal data assistant (PDA), cell phone, pager, processor, including its wireless and/or wired line varieties, and/or any other computerized device capable of being configured to receive, store, and/or process data for dedicated application and/or over a network configured medium or media. Examples of communication media that may be employed include, without limitation, wireless data networks, wired line networks, and/or a variety of configured network media. [00059] The computers and computer systems described herein may include operatively associated computer readable media such as memory for storing software applications used in obtaining, processing, storing and/or communicating data. It may be appreciated that such memory may be internal, and external, remote or local with respect to your computer or operatively associated computer system. Memory may also include any means for storing software or other instructions including, for example and without limitation, a hard disk, an optical disk, a floppy disk, DVD, compact disk, a memory card, ROM (read-only memory), RAM (random access memory), PROM (programmable ROM), EEPROM (extended erasable PROM) and/or other similar computer readable media. [00060] In general, computer readable media may include any medium capable of being a vehicle for an electronic signal representative of data stored, communicated or processed in accordance with embodiments of the present invention. If so, the applicable method steps described here may be carried out or executed as instructions stored on a computer readable medium or media. [00061] It should be understood that the figures and descriptions of the present invention have been simplified to illustrate elements that are relevant to a clear understanding of the present invention, while eliminating, for purposes of clarity, other elements. Those skilled in the art will recognize, however, that these and other elements may be desirable. However, since such elements are well known in the art and since they do not facilitate a better understanding of the present invention, a discussion of such elements is not provided here. It should be appreciated that the figures are present for illustrative purposes and not as construction drawings. Details omitted and modifications or alternative embodiments are within the skill of the art. [00062] It can be appreciated that, in certain aspects of the present invention, a single component may be replaced by the multiple components and the multiple components may be replaced by a single component to provide an element or structure or to perform a given function or functions. Except that such a substitution would not be operative to practice certain embodiments of the present invention, such a substitution is considered to be within the scope of the present invention. [00063] The examples presented here are intended to illustrate potential and specific implementations of the present invention. It can be appreciated that the examples are intended primarily for purposes of illustrating the invention to those skilled in the art. The diagrams indicated here are provided by way of example. There may be variations in these diagrams or operations described herein without departing from the spirit of the invention. For example, in certain cases, method steps or operations may be performed or performed in different order, or operations may be added, deleted, or modified. [00064] Furthermore, while particular embodiments of the invention have been described herein for the purpose of illustrating the invention and not for the purpose of limiting the same, it will be appreciated by those skilled in the art that numerous variations in the details, materials and arrangement of elements, steps, structures and/or parts can be carried out within the principle and scope of the invention without departing from the invention as described in the following claims.
权利要求:
Claims (17) [0001] 1. Method for controlling data traffic with random early detection and window size adjustments comprising: performing random early detection on incoming data packets, characterized in that it further comprises: calculating (601) a simple motion average packet drop probabilities for data packets;reduce (605) an advertised window size if the simple move average is greater than a probability target plus a tolerance factor;increase (606) the advertised window size if the single move average is less than the probability target minus a tolerance factor; and do not adjust (604) the window size if the simple move average is not greater than a target probability plus a tolerance factor and is not less than a target probability minus a tolerance factor. [0002] 2. Method according to claim 1, characterized in that performing random early detection on incoming data packets comprises: calculating (301) an average aggregate queue size; calculating (302) an average link capacity ;estimate (303) an average queuing delay using an average aggregate queue size and average link capacity;queue (309) an incoming data packet and regulate the packet low probability for the incoming data packet to 1 if the average queuing delay is less than a minimum of the delay (203, 705); lower (308) the incoming data packet and set the probability of lowering the packet for the incoming data packet to 0 if the average queuing delay is greater than a delay maximum (204, 707); calculate (306) the packet download probability for the packet if the average queuing delay is not less than the minimum delay and is not more than the maximum delay (204, 707) and using the packet download probability to determine whether the package should be downloaded. [0003] 3. Method according to claim 1, characterized in that the simple movement average is calculated according to: [0004] 4. Method according to claim 2, characterized in that the average aggregate queue size is calculated according to: [0005] 5. Method according to claim 2, characterized in that the average connection capacity is calculated according to: [0006] 6. Method according to claim 2, characterized in that the average queuing delay is calculated according to: [0007] Method according to claim 2, characterized in that the probability of downloading packet from the incoming data packet when the average queuing delay is not less than the minimum of the delay (203, 705) and not greater than the maximum of the delay (204, 707) is calculated according to [0008] 8. Method according to claim 1, characterized in that the incoming data packets are TCP packets. [0009] 9. A system for controlling data traffic with random early detection and window size adjustments comprising: an IP port (105) connected to a port (101), wherein the IP port is configured to receive incoming data packets from package sources; perform random early detection on incoming data packets; characterized by the fact that: the IP port is configured to:: calculate (601) a simple moving average of packet download probabilities for incoming data packets, where the packet download probabilities are calculated by the IP port performing random early detection;reduce (605) a dimension of an advertised window on packet sources if the simple move average is greater than the probability target plus a tolerance factor;increase ( 606) the size of the window advertised in the packet sources if the simple move average is less than the probability target minus a tolerance factor; and do not adjust (604) the window size if the simple move average is not greater than a probability target plus a tolerance factor and is not less than a probability target minus a tolerance factor. [0010] 10. System according to claim 9, characterized in that the IP port (105) is configured to perform random early detection on incoming data packets by calculating (301) an average aggregate queue size on the IP port; (302) an average link capacity of the IP port; estimate (303) an average queuing delay using the average aggregate queue size and average link capacity; queue (309) an incoming data packet to be transmitted and regular the packet download probability for the incoming data packet to 1 if the average queuing delay is less than a minimum of the delay (203, 705); download (308) the incoming data packet and set the packet download probability for the incoming data packet to 0 if the average queuing delay is greater than a maximum of the delay (204, 707); calculate (306) the packet download probability for the packet if the average queuing delay is not less than the minimum delay (203, 705) and no more than the maximum delay (204, 707) and using the download probability package to determine whether the package should be downloaded. [0011] 11. System according to claim 9, characterized in that the simple movement average is calculated according to: [0012] 12. System according to claim 10, characterized in that the average aggregate queue size is calculated according to: [0013] 13. System according to claim 10, characterized in that the average link capacity is calculated according to: [0014] 14. System according to claim 10, characterized in that the average queuing delay is calculated according to: [0015] 15. System according to claim 10, characterized in that the probability of downloading packet from the incoming data packet when the average queuing delay is not less than the minimum delay (203, 705) and not more than the maximum delay (204, 707) is calculated according to [0016] 16. System according to claim 9, characterized in that the incoming data packets are TCP packets. [0017] 17. A system for controlling data traffic with random early detection and window size adjustments comprising: a terminal (106), wherein the terminal is configured to receive incoming data packets from packet sources, and perform random early detection on the incoming data packets, characterized by the fact that the terminal is further configured to:calculate (601) a simple moving average of the packet download probabilities for the incoming data packets, where the packet download probabilities are calculated over an IP port (105) performing random early detection;reduce (605) an advertised window size to packet sources if the simple move average is greater than a probability target plus a tolerance factor;increase (606) the advertised window size to packet sources if the simple move average is less than the probability target minus a tolerance factor, and do not adjust (604) the window size if the simple moving average is not greater than a probability target plus a tolerance factor and is not less than a probability target minus a tolerance factor.
类似技术:
公开号 | 公开日 | 专利标题 BR102012030288B1|2022-01-04|METHOD AND SYSTEM TO CONTROL DATA TRAFFIC WITH RANDOM EARLY DETECTION AND WINDOW DIMENSION ADJUSTMENT ES2399491T3|2013-04-01|Massive data transfer US9160670B2|2015-10-13|Transmission control protocol | congestion control using transmission delay components US20170187641A1|2017-06-29|Scheduler, sender, receiver, network node and methods thereof US7656800B2|2010-02-02|Transmission control protocol | US8687493B2|2014-04-01|Method and system for inroute bandwidth allocation supporting multiple traffic priorities in a satellite network US20030214954A1|2003-11-20|Active queue management for differentiated services EP3398340B1|2020-05-06|Maximizing quality of service for qos adaptive video streaming via dynamic application-layer throughput rate shaping US9444741B2|2016-09-13|Facilitating network flows US20190124156A1|2019-04-25|Message schema control US20190173793A1|2019-06-06|Method and apparatus for low latency data center network US20210067453A1|2021-03-04|Data transmission method and apparatus JP2008205932A|2008-09-04|Node device and band control method US20190132269A1|2019-05-02|Message schema control US8289851B2|2012-10-16|Lightweight bandwidth-management scheme for elastic traffic Domżał et al.2012|Per user fairness in flow-aware networks Szilágyi et al.2015|Mobile content delivery optimization based on throughput guidance Sup et al.2017|Explicit non-congestion notification: A new AQM approach for TCP networks CN104184677B|2018-12-14|A kind of driving method and driver of traffic shaping US20200382991A1|2020-12-03|Method and an electronic device for dynamically controlling tcp congestion window JP4828555B2|2011-11-30|Node device and bandwidth control method Zhang2016|Improved implementation of TCP-vegas method in interchanges of satellite links Mishra et al.2012|Effective impact of ECN with RED to control heavy congestion Teymoori et al.2020|LGCC: Food Chain Multi-Hop Congestion Control Wang et al.2007|Rate-based active queue management for TCP flows over wired and wireless networks
同族专利:
公开号 | 公开日 EP2600575B1|2015-10-21| BR102012030288A2|2016-06-14| US8705357B2|2014-04-22| US20130136000A1|2013-05-30| EP2600575A1|2013-06-05| BR102012030288A8|2018-05-29|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题 US6092115A|1997-02-07|2000-07-18|Lucent Technologies Inc.|Method for supporting per-connection queuing for feedback-controlled traffic| US6556578B1|1999-04-14|2003-04-29|Lucent Technologies Inc.|Early fair drop buffer management method| AU2003217146A1|2003-03-20|2004-10-11|Agency For Science, Technology And Research|Method and apparatus for controlling congestion in communications network|US9252916B2|2012-02-13|2016-02-02|Affirmed Networks, Inc.|Mobile video delivery| US9413672B2|2012-06-06|2016-08-09|Apple Inc.|Flow control for network packets from applications in electronic devices| US9756644B2|2014-04-06|2017-09-05|Hughes Network Systems, Llc|Apparatus and method for an adaptive periodic bandwidth allocation approach in a shared bandwidth communications system| CN105376105A|2014-08-27|2016-03-02|苏州大数聚信息技术有限公司|Internet traffic modeling method based on time-sliding window| US10069744B2|2015-07-14|2018-09-04|Alcatel Lucent|Method and apparatus for managing network congestion| US9942157B2|2015-08-19|2018-04-10|Hughes Network Systems, Llc|Method and apparatus to avoid negative compression in consumer internet networks| US10340997B2|2016-05-06|2019-07-02|Atc Technologies, Llc|Same channel repeater for satellite and terrestrial links| US10243801B2|2016-06-30|2019-03-26|Hughes Networking Systems, LLC|Method and system for distributive flow control and bandwidth management in a network| US10128987B2|2016-09-15|2018-11-13|Microsoft Technology Licensing, Llc|Scalable receive window auto-tuning| US10205804B2|2017-02-01|2019-02-12|Hughes Network Systems, Llc|Methods and systems for enhanced support of TCP options in a TCP spoofed system| US10735324B2|2017-11-07|2020-08-04|Hughes Network Systems, Llc|Bottleneck bandwidth and round-trip propagation timecongestion control with random early detection | EP3747174A1|2018-02-02|2020-12-09|Microsoft Technology Licensing, LLC|Estimating bandwidth savings for adaptive bit rate streaming| US11012361B2|2019-08-29|2021-05-18|Hughes Network Systems, Llc|Managing transmission control protocoltraffic| CN113595929A|2020-04-30|2021-11-02|荣耀终端有限公司|Method and device for adjusting duration of reordering timer|
法律状态:
2016-06-14| B03A| Publication of a patent application or of a certificate of addition of invention [chapter 3.1 patent gazette]| 2018-05-29| B03H| Publication of an application: rectification [chapter 3.8 patent gazette]|Free format text: REFERENTE A RPI 2371 DE 14/06/2016, QUANTO AO ITEM (54). | 2018-12-04| B06F| Objections, documents and/or translations needed after an examination request according [chapter 6.6 patent gazette]| 2020-05-05| B06U| Preliminary requirement: requests with searches performed by other patent offices: procedure suspended [chapter 6.21 patent gazette]| 2021-10-26| B09A| Decision: intention to grant [chapter 9.1 patent gazette]| 2022-01-04| B16A| Patent or certificate of addition of invention granted [chapter 16.1 patent gazette]|Free format text: PRAZO DE VALIDADE: 20 (VINTE) ANOS CONTADOS A PARTIR DE 28/11/2012, OBSERVADAS AS CONDICOES LEGAIS. |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 US13/306,214|US8705357B2|2011-11-29|2011-11-29|Method and system for controlling TCP traffic with random early detection and window size adjustments| US13/306,214|2011-11-29| 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|