CN107624232B - Apparatus and method for controlling downlink throughput in communication system - Google Patents

Apparatus and method for controlling downlink throughput in communication system Download PDF

Info

Publication number
CN107624232B
CN107624232B CN201680024739.3A CN201680024739A CN107624232B CN 107624232 B CN107624232 B CN 107624232B CN 201680024739 A CN201680024739 A CN 201680024739A CN 107624232 B CN107624232 B CN 107624232B
Authority
CN
China
Prior art keywords
packet
delay
buffering delay
terminal
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201680024739.3A
Other languages
Chinese (zh)
Other versions
CN107624232A (en
Inventor
姜成龙
金宗炫
李东镇
崔贞雅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN107624232A publication Critical patent/CN107624232A/en
Application granted granted Critical
Publication of CN107624232B publication Critical patent/CN107624232B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Abstract

Provided are an operation method of a server, an operation method of an electronic device, a server and an electronic device in a communication system. The operation method of the server comprises the following steps: determining a variation type of a buffering delay based on a packet transmission delay of a terminal, determining control information for controlling an uplink transmission rate of the terminal according to the variation type, and transmitting the control information.

Description

Apparatus and method for controlling downlink throughput in communication system
Technical Field
The present disclosure relates to controlling the transmission rate of Transmission Control Protocol (TCP) traffic in a communication system.
Background
In modern society, as the use of various smart devices including smart phones and tablet Personal Computers (PCs) increases, the use of internet contents such as web access, video streaming, and Social Network Service (SNS) site access increases geometrically in communication networks. Specifically, due to the increase of wireless devices capable of multitasking, the amount of data used in the uplink and downlink is rapidly increasing at present.
Generally, the uplink has more restrictions on the use of resources such as scheduling requests or Multiple Input Multiple Output (MIMO) support in a cellular radio network such as Long Term Evolution (LTE) than the downlink. Therefore, even if uplink data transmission uses a carrier of the same bandwidth as the downlink, the available bandwidth for uplink data transmission may be much smaller than the available bandwidth of the downlink. Due to the asymmetry between the uplink and the downlink, the possibility of uplink congestion caused by the increase of uplink traffic becomes increasingly high. Uplink congestion can severely impact the downlink transmission rate for most web-based internet applications.
Most web-based internet applications have data transmission schemes corresponding to the Transmission Control Protocol (TCP), and the TCP algorithms used by commercial systems such as Linux and Windows may have to include a scheme commonly referred to as an Acknowledgement (ACK) clock. Since a new data packet can be transmitted after receiving the ACK from the ACK-based self-clock, the transmission rate of the server is automatically controlled according to the bottleneck of the bandwidth and the speed at which the ACK arrives at the server. Therefore, for smooth downlink packet transmission, the uplink ACK needs to arrive at the server at an appropriate point in time.
The above information is provided as background information only to aid in understanding the present disclosure. No determination is made, nor is an assertion made, as to whether any of the above can be applied as prior art to the present disclosure.
Disclosure of Invention
Aspects of the present disclosure are to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present disclosure provides an apparatus and method for controlling a transmission rate in a communication system.
Another aspect of the present disclosure provides an apparatus and method for increasing a transmission rate of downlink packets in a communication system.
Another aspect of the present disclosure provides an apparatus and method for reducing a transmission delay of an Acknowledgement (ACK) of a downlink packet in a communication system.
Another aspect of the present disclosure provides an apparatus and method for estimating a packet buffering delay time in a terminal in a communication system.
Another aspect of the present disclosure provides an apparatus and method for controlling an available uplink bandwidth in a communication system.
Another aspect of the present disclosure provides an apparatus and method for detecting a buffer change type of an uplink packet in a communication system.
Another aspect of the present disclosure provides an apparatus and method for masking a buffering delay estimation error and a size estimation error of an uplink transmission rate in a communication system.
According to an aspect of the present disclosure, there is provided an operating method of a server in a communication system. The operating method includes determining a variation type of a buffering delay based on a packet transmission delay of a terminal, determining a parameter for controlling an uplink transmission rate of the terminal according to the variation type, and transmitting the parameter.
According to another aspect of the present disclosure, a server in a communication system is provided. The server includes: a change type determination unit configured to determine a packet transmission delay from the terminal and determine a variation type of the buffering delay by using the packet transmission delay; and a parameter determination unit configured to control a parameter value for controlling a transmission rate according to the determined variation type of the buffering delay.
According to the embodiments of the present disclosure, it is possible to stably estimate the uplink buffer status and the size of available uplink bandwidth by accurately estimating the buffer delay time of a packet and the available uplink bandwidth in a terminal before transmitting the packet and detecting the variation type of the estimated buffer delay in a communication system despite the change of the status of a wireless network.
Further, according to the embodiments of the present disclosure, it is possible to increase a downlink transmission rate without any reduction in an uplink transmission rate, thereby effectively maintaining an uplink buffer state according to the uplink buffer state and the size of available bandwidth when uplink congestion is generated.
Further, according to embodiments of the present disclosure, the size of the available uplink bandwidth may be estimated even when the Transmission Control Protocol (TCP) timestamp option is turned off.
Other aspects, advantages, and salient features of the disclosure will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses various embodiments of the disclosure.
Drawings
The above and other aspects, features and advantages of certain embodiments of the present disclosure will become more apparent from the following description taken in conjunction with the accompanying drawings in which:
fig. 1 illustrates an example of downlink transmission delayed by an Acknowledgement (ACK) packet in a communication system according to an embodiment of the present disclosure;
fig. 2 is a block diagram illustrating an apparatus for controlling a transfer rate according to an embodiment of the present disclosure;
fig. 3 is a block diagram illustrating an apparatus for controlling a transfer rate including the apparatus of fig. 2 according to an embodiment of the present disclosure;
fig. 4A to 4C illustrate the configuration of a communication system according to an embodiment of the present disclosure;
FIG. 5 illustrates operations for measuring one-way packet delay and round-trip time according to embodiments of the present disclosure;
fig. 6 is a flow chart illustrating a process for controlling a transfer rate according to an embodiment of the present disclosure;
fig. 7 is a block diagram illustrating an apparatus for determining transmission control parameters according to an embodiment of the present disclosure;
fig. 8 is a flowchart illustrating a process of controlling a transmission rate control parameter according to an embodiment of the present disclosure; and
fig. 9 is a flowchart illustrating a process of controlling a transmission rate control parameter using a random variable according to an embodiment of the present disclosure.
Throughout the drawings, like reference numerals will be understood to refer to like parts, components and structures.
Detailed Description
The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of various embodiments of the disclosure as defined by the claims and their equivalents. It includes various specific details to assist in this understanding, but these details are to be regarded as exemplary only. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the various embodiments described herein can be made without departing from the scope and spirit of the present disclosure. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
The terms and words used in the following description and claims are not limited to the written sense, but are used only by the inventors to enable a clear and consistent understanding of the disclosure. Accordingly, it will be appreciated by those skilled in the art that the following descriptions of the various embodiments of the present disclosure are provided for illustration only and not for the purpose of limiting the disclosure as defined by the appended claims and their equivalents.
It will be understood that the singular forms "a," "an," and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a component surface" includes reference to one or more such surfaces.
This disclosure describes a technique for controlling transmission rates in a communication system. In particular, the present disclosure describes a technique for controlling the transmission rate to prevent a decrease in downlink throughput when data processing in the uplink direction is congested.
Fig. 1 illustrates an example of downlink transmission delayed by an Acknowledgement (ACK) packet according to an embodiment of the present disclosure. Fig. 1 illustrates downlink transmissions in accordance with the communication protocols considered in this disclosure.
Referring to fig. 1, a terminal 110 and a server 130 transmit/receive packets through a downlink channel 102 and an uplink channel 104. In fig. 1, the uplink channel 104 and the downlink channel 102 are illustrated with pipes having different widths to express bandwidth asymmetry. That is, the width of the pipe approximates the available bandwidth.
The terminal 110 includes a buffer 115 for uplink packets. The application packets pass through several levels of buffers within the terminal before being actually sent to the physical link, but for convenience only one logical buffer is shown here. The buffer 115 may be used for ACK packets for downlink data as well as uplink data packets. The data packet and the ACK packet are input into the buffer 115 according to the order of creation without distinguishing therebetween. Thus, in the buffer 115, the ACK packet is buffered between the uplink data packets. Accordingly, the ACK packet may be transmitted after the data packet input to the buffer 115 is transmitted before the ACK packet. If the transmission of uplink data is delayed due to the bandwidth limitations of the uplink channel 104, the interval between ACK packets may be larger within the buffer 115. In other words, the transmission of the ACK packet is delayed.
The server 130 transmits a downlink data packet to the terminal 110. The server 130 may transmit the number of downlink packets determined by a transmission rate control algorithm of a Transmission Control Protocol (TCP). However, when the ACK is not received, the server 130 cannot transmit a new downlink packet. In this case, as expressed in fig. 1, there is a downlink idle interval in which there is no downlink data transmission during a predetermined interval after the first data packet is transmitted in response to the first ACK packet. After receiving the first ACK, a downlink idle interval is generated due to non-reception of the second ACK. That is, even if the downlink bandwidth is sufficient, new downlink data may not be transmitted since the uplink ACK is not received.
As described above, when the delay of the ACK packet buffered in the terminal 110 increases due to the bandwidth limitation of the uplink channel 104, the ACK timing of the TCP may be delayed by the buffering delay. Thus, the downlink channel 102 has a delay time, and the downlink throughput may decrease as the downlink latency increases.
As a method of reducing the ACK packet delay time by the buffer of the terminal 110, the uplink data transmission speed of the terminal 110 may be reduced. When the uplink data transmission speed is reduced, the number of buffered uplink data packets is reduced, and thus the delay time of the ACK packet in the buffer 115 can be relatively reduced. For this, the server 130 can control the uplink data transmission speed of the terminal 110 by the flow control parameter of the TCP transmitted to the terminal 110. The control parameter includes information for determining an uplink data transmission speed of the terminal 110. For example, the control parameters may include the size of the receive buffer of the server 130. That is, the terminal 110 schedules uplink transmission in consideration of the size of the reception buffer of the server 130. Therefore, when the server 130 notifies the terminal 110 of the reduced size of the reception buffer, the terminal 110 reduces the uplink transmission rate.
To control the transmission rate, a communication system according to an embodiment of the present disclosure may include the network entities illustrated in fig. 2.
Fig. 2 is a block diagram illustrating an apparatus for controlling a transmission rate according to an embodiment of the present disclosure. For ease of illustration, an apparatus for controlling a transmission rate according to various embodiments of the present disclosure may be referred to as a "transmission controller".
Referring to fig. 2, the transmission controller 220 may include a variation type detection unit 222 and a control parameter determination unit 224. The transmission controller 220 detects a variation type of a buffering delay estimated based on an uplink direction delay from the terminal 110 to the server 130, a Round Trip Time (RTT) between the terminal 110 and the server 130, and a data packet reception speed through the variation type detection unit 222. The transmission controller 220 determines, through the control parameter determination unit 224, TCP control parameters optimized for the current network conditions by using the estimated buffering delay, the available uplink bandwidth, and the variation type of the buffering delay received from the variation type determination unit 222. For example, the control parameters may include the size of the receive buffer of the server 130.
Fig. 3 is a block diagram illustrating an apparatus for controlling a transmission rate including the apparatus of fig. 2 according to an embodiment of the present disclosure. Fig. 3 shows a configuration of an application server or a proxy server including the transmission controller 220.
Referring to fig. 3, the apparatus may include a communication unit 310, a storage unit 320, and a controller 330.
The communication unit 310 performs a function of transmitting/receiving a signal. That is, the communication unit 310 transmits/receives signals supplied from the controller 330 and the storage unit 320. Thus, the communication unit 310 may be referred to as a transmitter, a receiver, a transceiver, or a communication unit.
The storage unit 320 stores basic programs, application programs, and setting information for the operation of the apparatus for controlling a transmission rate in the communication system. In particular, the storage unit 320 may store grouping information. In addition, the storage unit 320 provides data stored therein according to a request of the controller 330.
The controller 330 controls the general operation of an apparatus for controlling a transmission rate in a communication system. For example, the controller 330 controls an apparatus for controlling a transmission rate in a communication system to perform the processes illustrated in fig. 6 to 9. The controller 330 may perform transmission rate control by the transmission controller 220 to control a transmission rate in the communication system. The operation of the transmission controller 220 according to an embodiment of the present disclosure is described below.
The transmission controller 220 calculates an average one-way delay of packets received in a time period (T). Further, the transmission controller 220 calculates an average reception speed of data packets arriving every time period, and calculates a minimum round trip time value. The transmission controller 220 updates the minimum value of the one-way delay value. The transmission controller 220 calculates the buffering delay and the average buffering delay in the buffer of the terminal for each packet before transmission. The transmission controller 220 detects a variation type of the buffering delay measured for one period of time. Transmission controller 220 compares the buffering delay to a threshold. When the buffering delay is greater than the threshold, the transmission controller 220 identifies a type of variation in the buffering delay. When the change type is determined to be the first type, the transmission controller 220 updates the control parameter value. The transmission controller 220 updates the control parameter value. When the variation type corresponds to the third type based on the result of determining the variation type, the transmission controller 220 may control the parameter value by using a random variable. When the variation type corresponds to the third type, the transmission controller 220 may determine that uplink direction congestion is expected but the current buffering delay does not continuously deteriorate. Therefore, there is a need to alleviate the current congestion, but in order to reduce the likelihood of terminal buffer underruns, the packet control parameter value is reduced to the uplink transmission rate by a probability distribution with an average value p. When the parameter values are controlled using the probability distribution, the parameter values are changed according to a predetermined probability, and the transmission rate can be controlled more flexibly than the case where the control parameter values are fixed. According to embodiments of the present disclosure, an equal distribution of p ═ 0.5 may be used. According to an embodiment of the present disclosure, the transmission controller may use another value p, and may use another probability distribution such as an exponential distribution or a pareto distribution.
When the change type does not correspond to the first type or the third type, i.e., when the change type corresponds to the second type, based on the result of determining the change type, the transfer controller 220 maintains the current control parameter value.
When the buffering delay is not greater than the threshold, that is, when the buffering delay is equal to or less than the threshold, the transmission controller 220 identifies the variation type and maintains the current control parameter value when the variation type of the buffering delay corresponds to the first type. When the change type corresponds to the second type, the transmission controller 220 increases the control parameter by the set value. When the variation type corresponds to the third type, the transmission controller 220 increases the control parameter by using a random variable. When the change type corresponds to the third type, the transmission controller 220 may prevent a real-time status change due to uplink congestion that may be generated by increasing the control parameter value of only some packets. For this purpose, the probability distribution with the mean value p is used to increase the control parameter values for some packets. According to embodiments of the present disclosure, an equal distribution of p ═ 0.5 may be used. According to an embodiment of the present disclosure, the transmission controller 220 may use another value p and use another probability distribution such as an exponential distribution or a pareto distribution.
According to various embodiments, the transmission controller 220 may belong to one entity included in the communication system. For example, the transmission controller 220 may be included in a proxy server or an application server shown in fig. 4A to 4C below.
Fig. 4A to 4C illustrate the configuration of a communication system according to an embodiment of the present disclosure.
Referring to fig. 4A to 4C, a communication system according to an embodiment of the present disclosure may include a terminal 110, an evolved node b (enb)410 (i.e., a base station), an Evolved Packet Core (EPC)420, a server 430, and an application server 440. The eNB 410 is an access node for the terminal 110. EPD 420 is an access network and may include at least one of a serving gateway, a packet gateway, and a Policy and Charging Rules Function (PCRF). The server 430 is an entity for improving transmission performance of application services such as video or web contents provided to users. The application server 440 is an entity for providing a service of an application layer provided to the terminal 110.
According to embodiments of the present disclosure, the server 430 may be disposed on a wireless network for improving efficient use of application services and network resources by content providers authorized by the communication service provider or by the communication service provider. Server 430 may be referred to as a proxy server. The server 430 may provide, for example, edge server functions, caching functions, and TCP proxy functions of a Content Delivery Network (CDN), or other various traffic optimization functions, and may be located in the access network in a separate equipment form or its functions may be integrated into an existing access network device. The server 430 may be located in the access network in a separate equipment form or its functionality may be integrated into an existing wireless network device.
According to an embodiment of the present disclosure, as shown in fig. 4A, the server 430 may include a transmission controller 220 to improve transmission performance of the application service. Further, server 430 may be located in a cell site of a base station. Server 430 may be located in a cell site of a base station or a centralized Radio Access Network (RAN) site where multiple base stations are aggregated. In particular, the server 430 located near the base station according to an embodiment of the present disclosure can reduce the buffering time of the ACK packet in the buffer of the terminal 110 due to the uplink data packet by reducing the uplink data transmission speed of the TCP of the terminal 110.
According to an embodiment of the present disclosure, as shown in fig. 4B, the server 430 may be located in a core site. The server 430 located in the core site can reduce the buffering time of the ACK packet in the buffer of the terminal 110 due to the uplink time packet by reducing the uplink data transmission speed of the TCP of the terminal 110.
According to an embodiment of the present disclosure, as shown in fig. 4C, the server 430 may not exist, and the application server 440 of the service provider may include the transmission controller 220. The transmission controller 220 included in the application server 440 can reduce the buffering time of the ACK packet in the buffer of the terminal 110 due to the uplink time packet by reducing the uplink data transmission speed of the TCP of the terminal 110.
As described above, according to various embodiments of the present disclosure, the transmission controller 220 may be included in a separate server (e.g., a proxy server) located in a cell site or a core site, or in an application server providing a service. Hereinafter, for convenience of description, the present disclosure describes, as an example, a case where the transmission controller 220 is configured as the server 430 corresponding to a separate entity. However, the present disclosure may be equally applied to a case where the transmission controller 220 is included in the application server.
According to various embodiments of the present disclosure, the transmission controller 220 may control the transmission rate using a one-way packet delay and a round trip time. The one-way packet delay and round trip time may be determined as shown in fig. 5.
As described above, according to various embodiments of the present disclosure, a server in a communication system may include a variation type determination unit configured to determine a packet transmission delay from a terminal, and determine a variation type of a buffering delay based on the packet transmission delay. Further, the server may include: a control parameter determination unit configured to control a control information value for controlling a transmission rate according to the determined variation type of the buffering delay.
Further, the change category determination unit may determine the packet transmission delay based on a difference between a time when the server receives the response signal from the terminal and a time when the terminal receives the packet from the server.
Further, the variation type determination unit may determine a packet round trip time between the terminal and the server as the packet transmission delay, and may determine the packet round trip time based on a difference between a time when the server transmits the packet to the terminal and a time when the server receives a response signal of the packet from the terminal.
Further, the packet transmission delay may be determined based on a sum of a buffering delay of the terminal and an uplink delay transmission time of the terminal, and the buffering delay of the terminal may be determined based on a difference between the packet transmission delay and a minimum value of the packet transmission delay.
Further, the variation-type determining unit may determine the variation type based on whether the buffering delay of each of the plurality of packets increases compared to the previous packet, and when a ratio of the packets having the increasing buffering delay compared to the previous packet is greater than a threshold, the variation-type determining unit may determine that the variation type corresponds to the increase of the buffering delay.
Further, the variation type determination unit may determine the variation type based on a difference value of buffering delays between the plurality of packets and their preceding packets and a difference value of buffering delays between the first packet and the last packet, and when a value generated by dividing a difference value between a buffering delay of a last received packet and a buffering delay of a first received packet among the received packets by a sum of values generated by comparing the buffering delays of the packets and their preceding packets is greater than a threshold, the variation type determination unit may determine that the variation type corresponds to an increase in the buffering delay.
Further, the controller may measure a packet reception speed, and may generate the packet reception speed based on dividing a product of a packet received for a time period and a maximum segment size represented by a bit value by the time period.
Further, when the buffering delay is greater than the threshold and the determined variation type of the buffering delay corresponds to an increased variation type of the buffering delay of the plurality of packets received from the terminal, or when the buffering delay does not correspond to the increased variation type or the non-increased variation type of the buffering delay, the controller may determine the control information based on a product of the packet reception speed and the minimum round trip time.
Further, the controller may maintain the current control information when the buffering delay is greater than the threshold and the determined variation type of the buffering delay corresponds to a variation type that is not increased, or when the buffering delay is not greater than the threshold and the determined variation type of the buffering delay corresponds to an increased variation type.
Further, the controller may increase the current control information by a predetermined value when the buffering delay is not greater than the threshold and the determined variation type of the buffering delay does not correspond to the increased variation type.
Further, when the determined variation type of the buffering delay corresponds to a variation type that is not determined to be an increased variation type or a variation type that is not increased, the controller may determine the control information based on a random variable.
As described above, according to various embodiments of the present disclosure, an electronic device in a communication system may include a receiver configured to receive control information from a server. Further, the electronic device may include a transmitter configured to transmit the uplink packet based on the control information, wherein the control information to be used may be generated when the server determines a variation type of the buffering delay based on a packet transmission delay of the electronic device, and wherein the control information may control a transmission rate of the electronic device according to the variation type.
Further, the packet transmission delay of the electronic device may correspond to a sum of a buffering delay of the electronic device and an uplink delay transmission time of the electronic device, and the buffering delay of the electronic device may be determined based on a difference between the packet transmission delay of the electronic device and a minimum value of the packet transmission delay.
Further, the variation type may be determined based on whether the buffering delay of each of the plurality of packets increases compared to the previous packet, and when a ratio of the packets having the increased buffering delay compared to the previous packet is greater than a threshold, the variation type may be determined to correspond to the increase in the buffering delay.
Further, the variation type may be determined based on a difference in buffering delay between the plurality of packets and a packet before the plurality of packets and a difference in buffering delay between the first packet and the last packet, and when a value generated by dividing a difference in buffering delay between a buffering delay of a last received packet and a buffering delay of a first received packet among the packets received by the server by a sum of values generated by comparing the buffering delay of the packet and the buffering delay of the packet before the packet is greater than a threshold, the variation type may be determined to correspond to an increase in the buffering delay.
Fig. 5 illustrates one-way packet delay measurements and round trip time measurements according to an embodiment of the disclosure. Fig. 5 shows a process in which the server 430 measures packet buffering delay within the terminal 110 when the terminal 110 uploads data to the server 430.
Referring to fig. 5, the server 430 transmits an ACK packet through a downlink in response to a data packet (not shown) from the terminal 110. The terminal 110 inputs a data packet (denoted by X in fig. 5) into the buffer in response to the downlink ACK packet. Thereafter, when an uplink packet is input into the buffer before all the data packets denoted by X are transmitted, the data packets denoted by X are transmitted to the server 430. Server 430 then receives the data packet represented by X.
Here, a time point when the server 430 transmits an ACK packet to the terminal 110 (i.e., through downlink) may be defined as an ACK packet transmission time 551, a time point when the terminal 110 receives a downlink ACK packet may be defined as an ACK packet reception time 552, a time point when the terminal 110 inputs a data packet represented by X into a buffer may be defined as a time point 553, a time point when the terminal 110 transmits a data packet may be defined as a data packet transmission time 555, and a time point when the server 430 receives a data packet may be defined as a data packet reception time 557. In this case, the RTT 560 is defined as a time length from the ACK packet transmission time 551 to the data packet reception time 557. In addition, the buffering delay b k580 is defined as the length of time from the time 553 when the data packet, denoted by X, is input to the buffer to the time 555 when the data packet is transmitted. The length of time from the data packet transmission time 555 of the data packet denoted by X to the reception time 557 of the data packet received by the server is defined as the uplink transmission consumed for transmitting the uplink packetDelay time D UL590. By delaying the buffering by b k580 and uplink transmission delay time DULThe value resulting from the addition is defined as the one-way packet delay time Z k570. Packet delay time Z k570 is a value generated by subtracting the time 553 when the packet is input into the buffer from the packet reception time 557.
Fig. 6 is a flowchart illustrating a process for controlling a transmission rate according to an embodiment of the present disclosure. Fig. 6 illustrates a method of operation of server 430.
Referring to fig. 6, the server 430 detects a one-way packet delay time from a terminal in operation 610. At this time, the one-way packet delay time is equal to the sum of the buffering delay of the terminal and the uplink transmission time of the terminal. When the timestamp option of TCP is used, the server 430 detects the one-way packet delay by using the difference between the time when the server receives a data packet from the terminal and the time when the terminal inputs the data packet into the buffer. When the TCP timestamp option is not used, the packet RTT between the terminal and the server is set to the one-way packet delay, and at this time, the RTT uses a difference between a time when the server transmits a packet to the terminal and a time when the server receives a response signal of the packet from the terminal.
In operation 620, the server 430 determines the type of change in the buffering delay. Server 430 may determine the buffering delay by using the one-way packet delay. The server 430 may determine the buffering delay by using a difference between the one-way packet delay and the minimum value of the one-way packet delay. The server 430 may determine the variation type of the buffering delay as a first type when the buffering delay has an increased variation type, determine the variation type of the buffering delay as a second type when the buffering delay has a variation type that does not increase, and determine the variation type of the buffering delay as a third type when the increased variation type or the non-increased variation type of the buffering delay is unclear.
In operation 630, the server 430 controls a parameter value for controlling the transmission rate according to the variation type of the buffering delay.
When the buffering delay is greater than the preset threshold, the server according to the embodiment of the present disclosure controls the parameter value for controlling the transmission rate as described below. When the determined variation type of the buffering delay corresponds to the first type, the server 430 determines the control parameter by using a product of the packet reception speed measured by the server and the minimum value of the RTT. When the determined variation type of the buffering delay corresponds to the second type, the current control parameter is maintained. When the determined variation type of the buffering delay corresponds to the third type, a product of the uplink packet reception speed and the minimum RTT is used to determine the control parameter.
According to an embodiment, when the buffering delay is greater than the threshold and the determined variation type of the buffering delay corresponds to the third type, the server 430 may determine the parameter value by using a random variable.
When the buffering delay is not greater than the threshold, the server 430 controls a parameter value for controlling the transmission rate as described below. When the determined variation type of the buffering delay corresponds to the first type, the server 430 maintains the current control parameter. When the determined variation type of the buffering delay corresponds to the second type, the server 430 increases the current control parameter by a predetermined value. When the determined variation type of the buffering delay corresponds to the third type, the server 430 increases the current control parameter by a predetermined value.
According to an embodiment, when the buffering delay is not greater than the threshold and the determined variation type of the buffering delay corresponds to the third type, the server 430 may determine the parameter value by using a random variable.
Fig. 7 is a block diagram illustrating an apparatus for determining transmission control parameters according to an embodiment of the present disclosure. Fig. 7 is a block diagram of server 430.
Referring to fig. 7, the apparatus may include a packet receiver 710, a delay and reception speed measuring unit 720, a buffering delay estimating unit 730, a variation type determining unit 740, a bandwidth estimating unit 750, a control parameter determining unit 760, and a packet transmitter 770.
The packet receiver 710 may receive an uplink data packet and an ACK packet transmitted from the terminal 110. That is, the packet receiver 710 provides an interface used when the device communicates with an external device.
The delay and reception speed measuring unit 720 may measure a one-way packet delay from the terminal 110 to the server 430, a round trip time between the terminal 110 and the server 430, and a reception speed of an uplink data packet transmitted by the terminal 110 by using a packet received from the terminal 110.
The buffering delay estimation unit 730 may indirectly estimate the buffering time of the packet in the terminal by using the measured one-way packet delay and round trip time. The variation type determination unit 740 detects the variation type of the measured buffering delay. The bandwidth estimation unit 750 estimates an available uplink bandwidth based on the measured packet reception speed.
The control parameter determination unit 760 may determine TCP control parameters optimized for the current network conditions by using the estimated buffering delay, the available uplink bandwidth, and the variation type of the buffering delay, and then transmit information to the terminal through the packet transmitter 770.
The operation of the delay and reception speed measurement unit 720 may vary depending on whether the time stamp option of TCP is used or not. When the time stamp option is used, the transport layer of the terminal 410 and the server 430 records a current time indicating a transmission time in an associated field of a packet header. Further, the transport layer copies the transmission time of the received packet recorded in the header of the received packet and records the transmission time in the relevant field of the packet currently being transmitted. More specifically, the transport layers of the terminal 410 and the server 430 are in the relevant first field (e.g., TS) of the packet header before sending the packet to the buffer for transmissionval) Records the current time, and records the value recorded in the first field of the received packet in the second field (TS) of the packet headerecr) In (1). For example, terminal 110 will determine the current time (T) in the first field of packet Xs=Xi) Is recorded as the time of transmission of the packet and is input into a buffer for transmission. At the buffered time bkThe buffered packet X is then transmitted to server 430 over the access network. When server 430 receives packet X, the transport layer of server 430 records the current receipt of packet XReceiving time (T)r=Yj+1). In this case, the uplink unidirectional packet delay time Z of the packet X may be determined as the following equation 1k. That is, the packet may be forwarded by the current time of reception (T) from packet Xr) Minus the transmission time (T) of the packet Xs) To determine the uplink unidirectional packet delay time Zk. That is, the packet delay time Z may be determined as equation 1 belowk
Zk=Yj+1-Xi=bk+DUL(equation 1)
In equation 1 above, ZkIndicating packet delay time, Yj+1Indicating the time, X, at which server 430 receives a data packet from terminal 110iIndicating the time when the terminal 110 receives the ACK packet from the server 430, bkIndicating the buffering time of the terminal, DULIndicating the uplink transmission time.
Further, the round trip time of a packet may be determined by server 430 by recording the time of receipt of the packet (whenever the packet is received) and determining the difference between the time of receipt of the current packet and the time of receipt of the previous packet. The round trip time of a packet may be determined as in equation 2 below.
rttk=yj+1-yj(equation 2)
In equation 2, rttkIndicating the round trip time of the packet, Yj+1Indicating the current time of reception of the packet, YjIndicating the time when server 430 sends the packet to terminal 110.
Further, the delay and reception speed measuring unit 720 may measure the reception speed by using the number of received packets in a predetermined period of time. For example, the receiving speed RkCan be determined by the following equation 3. Here, it is assumed that the packet sizes are the same.
Figure BDA0001448464190000131
In equation 3, rkIndicating the receiving speed, the MSS is indicated by a byte tableShown is a maximum segment size, T represents a reception speed measurement period (time), and M represents the number of packets received for one period.
When the TCP time stamp is used, an operation for determining a packet delay time by the delay and reception speed measuring unit 720 may be performed. When the time stamp is not used, the operation of the delay and reception speed measurement unit 720 is described below. Many current Operating Systems (OSs), including Linux, use the TCP timestamp option to easily measure time including round trip time, but not all OS versions use the timestamp option. Therefore, when the timestamp option is turned off, the server 430 according to an embodiment of the present disclosure may use the round trip time as the one-way packet delay time without separately measuring the one-way packet delay time.
The buffering delay measuring unit 730 measures the buffering time before the packet is transmitted from the terminal 110. As shown in fig. 5, the packet delay time Z k570 is equal to the difference between the transmission time 553 when the packet was recorded before being input to the transmission buffer and the time 557 when the packet was received by the server 430. When packets are not buffered in the terminal 110, in other words, when the buffering delay b k580 is 0, one-way packet delay time Z k570 is equal to the propagation delay time D UL590. Therefore, the server 430 according to an embodiment of the present disclosure may assume that the minimum value of the plurality of measured packet delay times is the transmission delay time min (Z) in the case where the buffering delay is 0k) And determining a buffering delay based on the minimum value. For example, the buffering delay of the terminal 110 may be determined as equation 4 below.
bk=Zk-min(Zk) (equation 4)
In equation 4, bkRepresents the buffer time, ZkDenotes a one-way packet delay time, min (Z)k) Represents ZkIs measured.
The variation type determination unit 740 detects the variation type of the estimated buffering delay for each predetermined measurement period that can be changed. The variation type may be determined as one of a "first type" indicating that the buffering delay is increased, a "second type" indicating that the buffering delay is not increased, and a "third type" indicating that it is unclear whether the buffering delay is increased or not increased. The first type may be referred to as "increasing", the second type may be referred to as "not increasing", and the third type may be referred to as "indeterminate".
According to an embodiment of the present disclosure, the variation type may be determined based on a packet delay time of a plurality of packets. More specifically, the variation type may be estimated by quantizing a ratio (e.g., a buffering delay) indicating samples of the variation type to be increased within one measurement period or quantizing a difference between a first sample and a last sample included in one measurement period. Information on a quantization ratio of a sample indicating an increase variation type within one measurement period may be referred to as a "Comparison Metric (CM)", and information on a quantization difference between a first sample and a last sample included in one measurement period may be referred to as a "Difference Metric (DM)".
For example, CM may be determined as in equation 5.
Figure BDA0001448464190000141
In equation 5, CMRepresenting a comparison metric, n representing the number of samples in a time period, and i (y) representing an index function. The value of the indicator function is 1 when the expression Y in parentheses is valid, and 0 otherwise. CMHas a value between 0 and 1, i.e. 0. ltoreq.CMLess than or equal to 1. When the samples are independent of each other, CMDesired E [ C ] ofM]0.5, with increasing variation type, CMBecomes closer to 1.
DMCan be determined as in equation 6 below.
Figure BDA0001448464190000151
In equation 6, DMRepresenting a difference metric, n representing the number of samples in a time period, XnRepresenting the value of the nth sample.
DMHas a value between-1 and 1, i.e., -1. ltoreq. DMLess than or equal to 1. When the samples are independent of each other, DMDesired E [ D ] ofM]Is 0 and the type of change is greater with increasing, DMThe closer to 1 the value of (c).
To determine the type of change, one of CM or DM may be used.
For example, if C is used when CM is usedM>cm1, the type of variation is determined to be of the first type, if CM<cm2, is determined to be of the second type, otherwise, i.e. if cm2 ≦ CMCm1 is less than or equal to the third type. Here, cm1 and cm2 are thresholds for determining the type of variation, and may vary depending on the detailed embodiment. For example, cm1 may be set to 0.66 and cm2 may be set to 0.54.
In another example, when DM is used, if D isM>dm1, determining the type of the change as a first type if DM<dm2, is of the second type, otherwise, i.e. if dm 2. ltoreq.DMDm1, is of the third type. Here, dm1 and dm2 are thresholds for determining the type of variation, and may vary depending on the detailed embodiment.
In another example, the CM and DM may be used together. More specifically, when one of the CM and the DM has a variation type corresponding to the first type and the other has a variation type corresponding to the first type or the third type, the variation type is determined to be the first type. When one of the CM and the DM has a variation type corresponding to the second type and the other has a variation type corresponding to the second type or the third type, the variation type is determined to be the second type. The change type is determined to be a third type when both the CM and the DM correspond to the third type, or when one of the CM and the DM corresponds to the first type and the other corresponds to the second type.
Measurement errors due to context switching of an OS as a transmission optimization node of a computing device and interrupt delay of network interface hardware can be masked, and noise components included in time-series data measured for more stable variation type analysis can be removed. For example, wavelet decomposition, which is one of the denoising schemes, is applied to remove noise included in the buffering delay, and then a comparison test and a differential text may be applied.
Fig. 8 is a flowchart illustrating a process of controlling a transmission rate control parameter according to an embodiment of the present disclosure. Fig. 8 illustrates a method of operation of server 430. The process illustrated in fig. 8 may be performed at predetermined periods. In other words, the process illustrated in fig. 8 may be performed in a reception period of a plurality of packets.
Referring to fig. 8, in operation 801, the server 430 calculates an average one-way delay of packets received by the server 430. To this end, the server 430 may determine real-time one-way delays of the packets and then calculate an average of the one-way delays. Further, server 430 calculates an average receiving speed of data packets arriving at server 430 and calculates a minimum round trip time value.
In operation 803, the server 430 updates the minimum value of the one-way delay value. That is, the server 430 identifies the minimum value of the one-way delay measured for the current period of time, and updates the minimum value used in the previous period of time to the minimum value of the current period of time.
In operation 805, the server 430 calculates a buffering delay and an average buffering delay of each packet delayed in a buffer of the terminal 110. For example, server 430 may determine the buffering delay of a packet by subtracting the minimum from the one-way delay of the packet and then calculate an average of the buffering delays.
In operation 807, the server 430 detects a variation type of the buffering delay measured for the current period. Server 430 may determine the type of change based on the buffering delay. For example, the server 430 may determine the change type by quantifying a ratio of an increased buffering delay for a current time period or quantifying a difference between a buffering delay of a first packet and a buffering delay of a last packet measured for the current time period. More specifically, server 430 may determine the type of change by determining at least one of the metrics as shown in equations 5 or 6 and comparing the at least one of the metrics to a threshold.
In operation 809, the server 430 compares the average buffering delay to a threshold. When the buffering delay is greater than the threshold, the server 430 identifies a variation type of the buffering delay in operation 811. When the change type corresponds to the first type or the third type, the server 430 updates the control parameter value in operation 815. The control parameter may include the size of the receive buffer of the server 430. The size of the receive buffer may be referred to as the size of the receive window. For example, server 430 may decrease the control parameter value. More specifically, the server 430 may update the control parameter value as in equation 7 below.
rwnd ═ R _ bar × RTT _ min (equation 7)
In the above equation 7, rwnd denotes a control parameter value, R _ bar denotes an average reception speed of a data packet arriving at the server 430, and RTT _ min denotes a minimum round trip time.
When the change type does not correspond to the first type or the third type, i.e., the change type corresponds to the second type, in operation 811, the server 430 maintains the current control parameter value in operation 817.
When the average buffering delay is not greater than the threshold, that is, the average buffering delay is equal to or less than the threshold in operation 809, the server 430 identifies the variation type of the buffering delay in operation 813. When the change type corresponds to the first type, the server 430 maintains the current control parameter value in operation 817. In contrast, when the change type does not correspond to the first type, the server 430 may increase the control parameter value in operation 819. At this time, the server 430 may increase the control parameter value by one operation.
The process shown in fig. 8 is represented by table 1 below.
TABLE 1
Figure BDA0001448464190000171
Fig. 9 is a flowchart illustrating a process of controlling a transmission rate control parameter using a random variable according to an embodiment of the present disclosure. Fig. 9 illustrates a method of operation of server 430. The process illustrated in fig. 9 may be performed for a predetermined period of time. In other words, the process illustrated in fig. 9 may be performed over a reception period of a plurality of packets.
Referring to fig. 9, in operation 901, the server 430 calculates an average one-way delay of packets received by the server 430. To this end, the server 430 may determine real-time one-way delays of the packets and then calculate an average of the one-way delays. Further, server 430 calculates an average receiving speed of data packets arriving at server 430 and calculates a minimum round trip time value.
In operation 903, the server 430 updates the minimum value of the one-way delay value. That is, the server 430 identifies the minimum value of the one-way delay measured for the current period of time, and updates the minimum value used in the previous period of time to the minimum value of the current period of time.
In operation 905, the server 430 calculates a buffering delay and an average buffering delay of each packet delayed in a buffer of the terminal 110. For example, the server 430 may determine the buffering delay of the packet by subtracting the minimum value from the one-way delay of the packet and then calculate an average value of the buffering delay.
In operation 907, the server 430 detects a variation type of the buffering delay measured for the current period. Server 430 may determine the type of change based on the buffering delay. For example, the server 430 may determine the change type by quantifying a ratio of an increased buffering delay for a current time period or quantifying a difference between a buffering delay of a first packet and a buffering delay of a last packet measured for the current time period. More specifically, the server 430 may determine the type of change by determining at least one of the metrics as shown in equations 5 or 6 and comparing the at least one of the metrics to a threshold.
In operation 909, the server 430 compares the buffering delay to a threshold. When the buffering delay is greater than the threshold in operation 909, the server 430 identifies a variation type of the buffering delay in operation 911. When the buffering delay is not greater than the threshold in operation 909, the server 430 identifies a variation type of the buffering delay in operation 913.
When the change type corresponds to the first type based on the determination result of operation 911, the server 430 updates the control parameter value in operation 915. The control parameter may include the size of the receive buffer of the server 430. The size of the receive buffer may be referred to as the size of the receive window. For example, server 430 may decrease the control parameter value. More specifically, the server 430 may update the control parameter value as in equation 7 below.
When the variation type corresponds to the third type based on the determination result of operation 911, the server 430 may control the parameter value by using a random variable in operation 917. That is, the server 430 may control the control parameter value of the packet by using a random variable having an average value p. According to an embodiment of the present disclosure, server 430 may use an equal distribution of p-0.5. According to an embodiment of the present disclosure, the server 430 may use another value p and use another probability distribution such as an exponential distribution or a pareto distribution. For example, the server 430 determines whether to decrease the control parameter value by using a function that generates a random number according to a defined probability distribution. More specifically, after generating the random number, the server 430 may determine whether to decrease the control parameter value according to a comparison result of the random number and the probability threshold. At this time, the determination result as to whether to decrease the control parameter value may vary depending on the detailed values of the probability distribution and the probability threshold. When determining to decrease the parameter value, the server 430 may update the control parameter value as in equation 7 below.
When the change type does not correspond to the first type or the third type based on the determination result of operation 913, that is, when the change type corresponds to the second type, the server 430 maintains the current control parameter value in operation 919. When the change type corresponds to the first type based on the determination result of operation 913, server 430 maintains the current control parameter value in operation 919.
When the change type corresponds to the second type based on the determination result of operation 913, server 430 increases the control parameter by the setting value in operation 921. At this time, the server 430 may increase the control parameter value by one operation.
When the variation type corresponds to the third type based on the determination result of operation 913, the server 430 may increase the control parameter by using a random variable in operation 923. For this purpose, the control parameter values of some packets are increased using a probability distribution of the mean value p (e.g. 0.5). According to an embodiment, another value p may be used, and another probability distribution such as an exponential distribution or a pareto distribution may be used. For example, the server 430 determines whether to increase the control parameter value by using a function that generates random numbers according to a defined probability distribution. More specifically, after generating the random number, the server 430 may determine whether to increase the control parameter value according to a comparison result of the random number and the probability threshold. At this time, the determination result as to whether to increase the control parameter value may vary depending on the detailed values of the probability distribution and the probability threshold. When it is determined to increase the control parameter value, the server 430 may increase the control parameter value through one operation.
The process shown in fig. 9 is represented by table 2 below.
TABLE 2
Figure BDA0001448464190000191
Figure BDA0001448464190000201
Although not shown in the drawings, the electronic device receiving the control information from the server may receive the control information from the server, transmit the uplink packet based on the control information, and generate the control information to be used when the server determines a variation type of the buffering delay based on a packet transmission delay of the electronic device and controls a transfer rate of the electronic device based on the variation type.
The packet transmission delay may be a sum of a buffering delay of the terminal and an uplink delay transmission time of the terminal, and the buffering delay may be determined using a difference between the packet transmission delay and a minimum value of the packet transmission delay.
The change type may be determined based on whether a buffering delay of each of the plurality of packets increases compared to a previous packet, and the change type may be determined to correspond to an increase in the buffering delay when a ratio of packets having an increased buffering delay compared to the previous packet is greater than or equal to a threshold.
The change type may be determined based on a buffering delay difference between the plurality of packets and its previous packet and a buffering delay difference between the first packet and the last packet, and may be determined to correspond to an increase in the buffering delay when a value generated by dividing a difference between buffering delays of a last received packet and a first received packet of the received packets by a sum of values generated by comparing the buffering delays of the packets and their previous packets is greater than a threshold.
Although not shown in the drawings, the electronic device that receives the control information from the server may include: a receiver configured to receive control information from a server; and a transmitter configured to transmit the uplink packet based on the control information, wherein the control information to be used may be generated when the server determines a variation type of the buffering delay based on a packet transmission delay of the electronic device and controls a transmission rate of the electronic device according to the variation type.
The packet transmission delay may be a sum of a buffering delay of the terminal and an uplink delay transmission time of the terminal, and the buffering delay may be determined using a difference between the packet transmission delay and a minimum value of the packet transmission delay.
The variation type may be determined based on whether a buffering delay of each of the plurality of packets increases compared to a previous packet, and when a ratio of packets having an increased buffering delay compared to the previous packet is greater than a threshold, the variation type may be determined to correspond to an increase in the buffering delay.
The change type may be determined based on a buffering delay difference between the plurality of packets and a packet preceding thereto and a buffering delay difference between the first packet and the last packet, and the change type may be determined to correspond to an increase in the buffering delay when a value generated by dividing a difference between buffering delays of a last received packet and a first received packet of the received packets by a sum of values generated by comparing the buffering delays of the packets and the packet preceding thereto is greater than a threshold.
The methods recited in the claims and/or the description according to the various embodiments may be implemented by hardware, software, or a combination of hardware and software.
In software embodiments, a non-transitory computer-readable storage medium for storing one or more programs (software modules) may be provided. One or more programs stored in the computer-readable storage medium may be configured for execution by one or more processors within the electronic device. The at least one program may include instructions that cause the electronic device to perform the methods of the various embodiments of the disclosure as defined by the appended claims and/or disclosed herein.
Programs (software modules or software) may be stored in non-volatile memory including random access and flash memory, Read Only Memory (ROM), electrically erasable programmable ROM (eeprom), magnetic disk storage devices, compact disk-ROM (CD-ROM), Digital Versatile Disks (DVD) or other types of optical storage, or magnetic cassettes. Alternatively, any combination of some or all may form a memory in which the program is stored. Further, a plurality of such memories may be included in the electronic device.
Further, the program may be stored in an attachable storage device that can access the electronic device through a communication network such as the internet, an intranet, a Local Area Network (LAN), a wide LAN (wlan), and a Storage Area Network (SAN)), or a combination thereof. Such a storage device may access the electronic device via an external port. In addition, a separate storage device on the communication network may access the portable electronic device.
In the above detailed embodiments of the present disclosure, components included in the present disclosure are expressed in the singular or plural according to the presented detailed embodiments. However, for convenience of description, singular or plural expressions are selected as appropriate for the proposed situation, and the present disclosure is not limited to singular or plural elements. Elements expressed in the plural may be arranged in the singular, or elements expressed in the singular may be arranged in the plural.
While the disclosure has been shown and described with reference to various embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the disclosure as defined by the appended claims and their equivalents.

Claims (10)

1. A method of a server in a communication system, the method comprising:
detecting a one-way packet delay from a terminal by using a difference between a time when a server receives a data packet from the terminal and a time when the terminal inputs the data packet into a buffer when a time stamp option of a Transmission Control Protocol (TCP) is used, or detecting a one-way packet delay from the terminal by using a packet round trip time between a time when the server transmits an acknowledgement packet to the terminal and a time when the server receives the data packet from the terminal when the time stamp option of the TCP is not used;
determining a buffering delay of the terminal for the data packet by using a difference between the one-way packet delay and a minimum value of the one-way packet delay, wherein the one-way packet delay is a sum of a buffering delay and an uplink transmission delay, wherein the buffering delay is a difference between a time when the data packet is input to a buffer of the terminal and a time when the data packet is transmitted, wherein the uplink transmission delay is a difference between a time when the data packet is transmitted and a time when the server receives the data packet from the terminal;
determining a variation type of a buffering delay of the terminal based on whether the buffering delay of the data packet increases compared to a previous data packet, wherein the variation type is determined to correspond to an increase in the buffering delay when a ratio of data packets having an increased buffering delay compared to the previous data packet is greater than a threshold; and is
Transmitting control information for controlling a transmission rate of the terminal to the terminal based on the determined change type.
2. The method of claim 1, further comprising:
determining a variation type of a buffering delay of the terminal according to a buffering delay difference between a plurality of packets and its previous packet and a buffering delay difference between a first packet and a last packet; and
determining that the variation type corresponds to an increase in the buffering delay when a value generated by dividing a difference in buffering delay between a buffering delay of a last packet and a buffering delay of a first packet among the received packets by a sum of differences in buffering delays generated by comparing the buffering delay of the packet and a buffering delay of a packet before the packet is greater than a threshold.
3. The method of claim 1, further comprising:
determining the control information includes measuring a packet reception speed, wherein the packet reception speed is generated based on dividing a product of a packet received for a period of time and a maximum segment size represented by a bit value by the period of time.
4. The method of claim 1, further comprising:
the control information is determined based on a product of a packet reception speed and a minimum round trip time when a buffering delay of a terminal is greater than a threshold value and a variation type of the buffering delay corresponds to an increased variation type of a buffering delay of a plurality of packets received from the terminal or when the buffering delay is not determined to correspond to the increased variation type or the non-increased variation type of the buffering delay.
5. The method of claim 1, further comprising:
maintaining current control information when a buffering delay of the terminal is greater than a threshold and a variation type of the buffering delay corresponds to a variation type that is not increased, or when the buffering delay is not greater than the threshold and the determined variation type of the buffering delay corresponds to an increased variation type.
6. A server in a communication system, the server comprising:
at least one processor configured to:
detecting a one-way packet delay from a terminal by using a difference between a time when a server receives a data packet from the terminal and a time when the terminal inputs the data packet into a buffer when a time stamp option of a Transmission Control Protocol (TCP) is used, or detecting a one-way packet delay from the terminal by using a packet round trip time between a time when the server transmits an acknowledgement packet to the terminal and a time when the server receives the data packet from the terminal when the time stamp option of the TCP is not used;
determining a buffering delay of the terminal for the data packet by using a difference between the one-way packet delay and a minimum value of the one-way packet delay, wherein the one-way packet delay is a sum of a buffering delay and an uplink transmission delay, wherein the buffering delay is a difference between a time when the data packet is input to a buffer of the terminal and a time when the data packet is transmitted, wherein the uplink transmission delay is a difference between a time when the data packet is transmitted and a time when the server receives the data packet from the terminal;
determining a variation type of a buffering delay of the terminal based on whether the buffering delay of the data packet increases compared to a previous data packet, wherein the variation type is determined to correspond to an increase in the buffering delay when a ratio of data packets having an increased buffering delay compared to the previous data packet is greater than a threshold; and
a transceiver configured to: transmitting control information for controlling a transmission rate of the terminal to the terminal based on the determined change type.
7. The server of claim 6, wherein the at least one processor is further configured to:
determining a variation type of a buffering delay of the terminal based on a buffering delay difference between a plurality of packets and its previous packet and a buffering delay difference between a first packet and a last packet; and
determining that the variation type corresponds to an increase in the buffering delay when a value generated by dividing a difference in buffering delay between a buffering delay of a last packet and a buffering delay of a first packet among the received packets by a sum of differences in buffering delays generated by comparing the buffering delay of the packet and a buffering delay of a packet before the packet is greater than a threshold.
8. The server of claim 6, wherein the at least one processor is further configured to:
determining the control information includes measuring a packet reception speed, wherein the packet reception speed is generated based on dividing a product of a packet received for a period of time and a maximum segment size represented by a bit value by the period of time.
9. The server of claim 6, wherein the at least one processor is further configured to:
the control information is determined based on a product of a packet reception speed and a minimum round trip time when a buffering delay of a terminal is greater than a threshold value and a variation type of the buffering delay corresponds to an increased variation type of a buffering delay of a plurality of packets received from the terminal or when the buffering delay is not determined to correspond to the increased variation type or the non-increased variation type of the buffering delay.
10. The server of claim 6, wherein the at least one processor is further configured to:
maintaining current control information when a buffering delay of the terminal is greater than a threshold and the determined variation type of the buffering delay corresponds to a variation type that is not increased, or when the buffering delay is not greater than the threshold and the variation type of the buffering delay corresponds to an increased variation type.
CN201680024739.3A 2015-04-27 2016-04-25 Apparatus and method for controlling downlink throughput in communication system Active CN107624232B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR1020150059018A KR102350504B1 (en) 2015-04-27 2015-04-27 Apparatus and method for controlling downlink throughput in communication system
KR10-2015-0059018 2015-04-27
PCT/KR2016/004294 WO2016175521A1 (en) 2015-04-27 2016-04-25 Apparatus and method for controlling downlink throughput in communication system

Publications (2)

Publication Number Publication Date
CN107624232A CN107624232A (en) 2018-01-23
CN107624232B true CN107624232B (en) 2022-02-22

Family

ID=57148204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680024739.3A Active CN107624232B (en) 2015-04-27 2016-04-25 Apparatus and method for controlling downlink throughput in communication system

Country Status (5)

Country Link
US (1) US10193779B2 (en)
EP (1) EP3289802B1 (en)
KR (1) KR102350504B1 (en)
CN (1) CN107624232B (en)
WO (1) WO2016175521A1 (en)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102350504B1 (en) * 2015-04-27 2022-01-14 삼성전자주식회사 Apparatus and method for controlling downlink throughput in communication system
US10298510B1 (en) * 2015-12-16 2019-05-21 Amazon Technologies, Inc. Controlling data transmission rates of multiple devices
KR102532645B1 (en) * 2016-09-20 2023-05-15 삼성전자 주식회사 Method and apparatus for providing data to streaming application in adaptive streaming service
CN110651447B (en) 2017-02-24 2022-11-15 瑞士商升特(国际)股份有限公司 Privacy preserving message blinding
US10873520B2 (en) 2018-07-02 2020-12-22 Hewlett Packard Enterprise Development Lp Packet batching identification
KR102139378B1 (en) * 2018-11-20 2020-07-29 울산과학기술원 Method and apparatus for controlling congestion
US11683294B2 (en) * 2019-12-30 2023-06-20 Imperva, Inc. Privacy-preserving learning of web traffic
US11876790B2 (en) * 2020-01-21 2024-01-16 The Boeing Company Authenticating computing devices based on a dynamic port punching sequence
TWI791977B (en) * 2020-04-24 2023-02-11 和碩聯合科技股份有限公司 Server system, data transmission system, and data transmission method thereof
CN112492265B (en) * 2020-10-30 2023-05-02 广东电网有限责任公司电力调度控制中心 Uplink and downlink resource joint allocation method applied to smart grid
US11765093B2 (en) * 2022-02-15 2023-09-19 Mellanox Technologies, Ltd. Statistical flow aging

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101803302A (en) * 2007-08-24 2010-08-11 Lm爱立信电话有限公司 Method and apparatus for determining latency and throughput of a data communication

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6360271B1 (en) * 1999-02-02 2002-03-19 3Com Corporation System for dynamic jitter buffer management based on synchronized clocks
KR100322015B1 (en) * 1998-12-23 2002-03-08 윤종용 Frame Structure Variable Method in Local Area Network
FI118830B (en) * 2001-02-08 2008-03-31 Nokia Corp Streaming playback
US7539165B2 (en) * 2002-05-24 2009-05-26 Antti Toskala Method and apparatus for distributed signaling for uplink rate control
JP2007525080A (en) * 2003-06-25 2007-08-30 インターデイジタル テクノロジー コーポレーション Method for downlink transmission synchronization and data buffer sizing in a radio access network
GB2403378B (en) * 2003-06-27 2007-05-30 Ipwireless Inc Method and arrangement for TCP flow control
US20060133281A1 (en) * 2004-12-20 2006-06-22 Motorola, Inc. System for managing round trip time of a transmission control protocol and supporting method and apparatus
GB2452013A (en) 2007-06-19 2009-02-25 Nec Corp Buffer status reporting from a mobile communications device
ATE505053T1 (en) * 2007-06-25 2011-04-15 Alcatel Lucent UPWARD TRANSMISSION IN MOBILE NETWORKS
EP2245778B1 (en) * 2008-01-04 2013-11-06 InterDigital Patent Holdings, Inc. Method for controlling the data rate of a circuit switched voice application in an evolved wireless system
US8837279B2 (en) * 2008-06-06 2014-09-16 Optis Wireless Technology, Llc Technique for improving congestion control
US20100054123A1 (en) * 2008-08-30 2010-03-04 Liu Yong Method and device for hign utilization and efficient flow control over networks with long transmission latency
CN102255791B (en) * 2010-05-21 2013-12-18 中国移动通信集团公司 Inter-equipment link delay determination method and system
EP2732601B1 (en) 2011-07-14 2016-02-03 Telefonaktiebolaget LM Ericsson (PUBL) Optimization engine in a mobile cloud accelerator and related methods
US9526091B2 (en) * 2012-03-16 2016-12-20 Intel Corporation Method and apparatus for coordination of self-optimization functions in a wireless network
US9386128B2 (en) * 2012-03-23 2016-07-05 Qualcomm Incorporated Delay based active queue management for uplink traffic in user equipment
JP6127476B2 (en) * 2012-11-30 2017-05-17 ヤマハ株式会社 Method and apparatus for measuring delay in network music session
JP6171595B2 (en) * 2013-06-07 2017-08-02 富士通株式会社 Packet relay device and packet transmission device
US9407563B2 (en) 2013-08-12 2016-08-02 Qualcomm Incorporated Methods and apparatuses for adapting application uplink rate to wireless communications network
JP6303452B2 (en) * 2013-12-02 2018-04-04 富士通株式会社 Communication node
KR102350504B1 (en) * 2015-04-27 2022-01-14 삼성전자주식회사 Apparatus and method for controlling downlink throughput in communication system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101803302A (en) * 2007-08-24 2010-08-11 Lm爱立信电话有限公司 Method and apparatus for determining latency and throughput of a data communication

Also Published As

Publication number Publication date
US20160315841A1 (en) 2016-10-27
EP3289802A4 (en) 2018-04-11
KR102350504B1 (en) 2022-01-14
EP3289802A1 (en) 2018-03-07
KR20160127511A (en) 2016-11-04
EP3289802B1 (en) 2020-08-19
WO2016175521A1 (en) 2016-11-03
US10193779B2 (en) 2019-01-29
CN107624232A (en) 2018-01-23

Similar Documents

Publication Publication Date Title
CN107624232B (en) Apparatus and method for controlling downlink throughput in communication system
Zhang et al. Novel quick start (QS) method for optimization of TCP
US9596281B2 (en) Transport accelerator implementing request manager and connection manager functionality
US6894974B1 (en) Method, apparatus, media, and signals for controlling packet transmission rate from a packet source
US10911359B2 (en) Transmit data volume control device, method, and recording medium
US10033653B2 (en) Controlling a transmission control protocol congestion window size
US8416694B2 (en) Network feedback method and device
US8565249B2 (en) Queue management system and methods
WO2015069944A1 (en) Systems and methods for proactive congestion detection in radio access networks
US10952102B2 (en) Method and apparatus for controlling data transmission speed in wireless communication system
JP6173826B2 (en) Packet transmission apparatus and program thereof
Tang et al. TCP-WBQ: a backlog-queue-based congestion control mechanism for heterogeneous wireless networks
US10298475B2 (en) System and method for jitter-aware bandwidth estimation
WO2014171543A1 (en) Data transmission device, data transmission method, and program therefor
CN104580006B (en) A kind of mobile network&#39;s method of controlling transmission rate, apparatus and system
WO2015124187A1 (en) Buffer bloat control
WO2019124290A1 (en) Transmit data volume control device, method, and recording medium
US20160323167A1 (en) Minimum delay value calculating device, information transmitting device, minimum delay value calculating method, and program storage medium
JP6805713B2 (en) Receive traffic speedup device, speedup method, and speedup program
Xie et al. A Dynamic Packet Scheduling Method for Multipath TCP in Heterogeneous Wireless Networks
JP6897769B2 (en) Data transmitters, methods and programs
Mahapatra et al. RCM-BR: An efficient rate control protocol for multimedia delivery in Wireless Internet
Magalhaes et al. Improving Performance of Rate-Based Transport Protocols in Wireless Environments

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant