WO2016122225A1 - 통신 시스템에서 혼잡 제어 방법 및 장치 - Google Patents

통신 시스템에서 혼잡 제어 방법 및 장치 Download PDF

Info

Publication number
WO2016122225A1
WO2016122225A1 PCT/KR2016/000934 KR2016000934W WO2016122225A1 WO 2016122225 A1 WO2016122225 A1 WO 2016122225A1 KR 2016000934 W KR2016000934 W KR 2016000934W WO 2016122225 A1 WO2016122225 A1 WO 2016122225A1
Authority
WO
WIPO (PCT)
Prior art keywords
transmission rate
size
congestion window
congestion
tcp
Prior art date
Application number
PCT/KR2016/000934
Other languages
English (en)
French (fr)
Inventor
이진성
이경한
박중신
임한나
이주형
Original Assignee
삼성전자 주식회사
울산과학기술원
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 삼성전자 주식회사, 울산과학기술원 filed Critical 삼성전자 주식회사
Priority to US15/547,470 priority Critical patent/US10492097B2/en
Publication of WO2016122225A1 publication Critical patent/WO2016122225A1/ko

Links

Images

Classifications

    • 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/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/11Identifying congestion
    • 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/12Avoiding congestion; Recovering from congestion
    • 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
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • 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
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0247Traffic management, e.g. flow control or congestion control based on conditions of the access network or the infrastructure network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0284Traffic management, e.g. flow control or congestion control detecting congestion or overload during communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0289Congestion control

Definitions

  • the present disclosure relates to a congestion control method and apparatus of a transmission control protocol (TCP) in a communication system.
  • TCP transmission control protocol
  • a 5G communication system or a pre-5G communication system is referred to as a Beyond 4G network communication system or a post LTE system.
  • 5G communication systems are being considered for implementation in the ultra-high frequency (mmWave) band (e.g., 60 gigabyte (60 GHz) band).
  • mmWave ultra-high frequency
  • FD-MIMO massive array multiple input and output
  • FD-MIMO full dimensional MIMO
  • 5G communication systems have advanced small cells, advanced small cells, cloud radio access network (cloud RAN), ultra-dense network (ultra-dense network) Device to device communication (D2D), wireless backhaul, moving network, cooperative communication, coordinated multi-points, and interference cancellation
  • cloud RAN cloud radio access network
  • ultra-dense network ultra-dense network
  • D2D Device to device communication
  • wireless backhaul moving network
  • cooperative communication coordinated multi-points
  • interference cancellation interference cancellation
  • ACM advanced coding modulation
  • SWM hybrid FSK and QAM modulation
  • SWSC sliding window superposition coding
  • FBMC filter bank multi carrier
  • SAP NOMA Non-orthogonal multiple access
  • SCMA sparse code multiple access
  • the transport layer corresponding to the fourth layer performs two functions.
  • the transmitting layer adjusts the amount of data injected by the transmitting node through the network according to the state and / or performance of the receiving terminal. This function is called "flow control”.
  • the transmitting layer performs a function of adjusting the amount of data that a transmitting node injects through the network according to the state and / or performance of the links forming the network, which is referred to as "congestion control.” ) ".
  • the congestion control also plays a role of ensuring fairness among a plurality of network flows that use the network in common.
  • TCP Transmission Control Protocol
  • TCP congestion control designs focus on maximizing throughput within the maximum available bandwidth, and latency, another performance indicator of TCP congestion control, is not considered.
  • the present disclosure provides a TCP congestion control method and apparatus for simultaneously ensuring high transmission rate and low latency in a communication system.
  • the present disclosure provides a method and apparatus for controlling the size of a congestion window for TCP congestion control in a communication system.
  • the present disclosure provides a method and apparatus for controlling the size of a congestion window by reflecting a changed network state in a communication system.
  • the present disclosure provides a method and apparatus for determining whether a network state has changed in a communication system.
  • the present disclosure provides a method and apparatus for reflecting a size of a reception congestion window determined at a receiver in a communication system to a size setting of a congestion window of a transmitter.
  • a process of determining a maximum transmission rate of a network while increasing the size of a congestion window by a predetermined time unit and a threshold determined by a predetermined ratio with respect to the determined maximum transmission rate Determining a transmission rate, and adjusting a size of the congestion window such that a current transmission rate is greater than or equal to the threshold transmission rate and a delay time is less than or equal to a maximum allowable delay time.
  • the TCP congestion control apparatus of the communication system determines a maximum transmission rate of a network while increasing the size of the congestion window by a predetermined time unit, and determines a critical transmission rate determined by a predetermined ratio with respect to the determined maximum transmission rate. And a window control unit for adjusting the size of the congestion window such that a current transmission rate is greater than or equal to the threshold transmission rate and a delay time is less than or equal to the maximum allowable delay time.
  • FIG. 1 is a diagram illustrating a communication system according to an embodiment of the present disclosure
  • FIG. 2 is a diagram illustrating a method of performing a TCP congestion control scheme according to the present disclosure
  • FIG. 3 is a view for explaining an apparatus configuration of a TCP transmitter for performing TCP congestion control according to an embodiment of the present disclosure
  • FIG. 4A illustrates a maximum transmission rate, a threshold transmission rate, a current transmission rate, and a delay time according to a change in the mixing window size when the maximum transmission rate is not increased for a predetermined time by TCP mixing control according to an embodiment of the present disclosure.
  • FIG. 4B illustrates a maximum transmission rate, a critical transmission rate, a current transmission rate, and a delay according to a change in the mixing window size when the measured RTT is a predetermined ratio of the minimum RTT by TCP mixing control according to an embodiment of the present disclosure.
  • Drawing illustrating time.
  • Embodiments of the present disclosure described below are separated for convenience of description, but at least two or more embodiments may be combined and performed within a range that does not conflict with each other.
  • first and second may be used to describe various components, but the components are not limited by the terms. The terms are used only for the purpose of distinguishing one component from another.
  • first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.
  • LTE Long-Term Evolution
  • LTE-A Long-Term Evolution-Advanced
  • HSDPA high-speed downlink High speed downlink packet access
  • HSUPA high speed uplink packet access
  • 3rd generation partnership project 2 3GPP2.
  • a high rate packet data (HRPD) mobile communication system, a 3GPP2 wideband code division multiple access (WCDMA) mobile communication system, and a 3GPP2 code division multiple access (Code Division Multiple Access) CDMA) mobile communication system, Institute of Electrical and Electronics Engineers (IEEE) 802.16m communication system, and evolved packet system System (EPS), Mobile Internet Protocol (Mobile IP) system and the like can be applied to various communication systems.
  • HRPD packet data
  • WCDMA wideband code division multiple access
  • CDMA Code Division Multiple Access
  • IEEE Institute of Electrical and Electronics Engineers
  • EPS evolved packet system System
  • Mobile IP Mobile Internet Protocol
  • TCP basically performs congestion control by keeping the size of the congestion window close to the maximum available bandwidth.
  • the "size of congestion window” determines the amount of data to be transmitted in one data transmission.
  • data is transmitted while the size of the congestion window is kept closest to the maximum available bandwidth of the current network, so that data can be efficiently transmitted without the network being congested.
  • the TCP congestion control design aims to quickly find the maximum available bandwidth of the network and maintain the size of the congestion window close to the found maximum available bandwidth. To this end, most TCP congestion control initiates transmission control, aggressively increasing the amount of packets of data injected into the network to quickly find the maximum available bandwidth.
  • TCP congestion control The concept of TCP congestion control described above will be described below with a brief example. However, the following example is only an example for explaining the concept of TCP congestion control, various congestion control methods are used in addition to the following example.
  • TCP congestion control when transmission control for transmitting data packets is started, the maximum available bandwidth is found while increasing the amount of data packets injected into the network.
  • the size of the congestion window is set to 1 at the first transmission, one packet is transmitted at the first transmission according to the set congestion window size, and waits for an ACK. If ACK is received for the first transmission, the congestion window size is doubled to 2 when the second transmission is received. At this time, the threshold value is set to 1. For reference, the threshold is a value for reducing the congestion window size when the ACK is not received. If the ACK for the first transmission is received, then two packets are transmitted and the ACK for the ACK is transmitted. If ACK is received for transmission 2, the congestion window size is set to 4, which is doubled again in transmission 3, and the threshold is set to 2. Accordingly, when transmitting three times, four packets are transmitted and waiting for ACK according to the congestion window size set to four. If ACK is received for the third transmission, the congestion window size is doubled to eight, and the threshold is set to four.
  • the congestion window size is set to 1024 at the Nth transmission, and the threshold value is set to 512, and 1024 packets are transmitted according to the congestion window size of 1024. If the ACK is not received, the congestion window size at the N + 1th transmission is set to 512, which is a threshold set at the Nth transmission.
  • the congestion window size at the N + 3th transmission is not a twice the window size at the N + 2th transmission, but a predetermined value. (E.g., 1), which is 513, and 513 packets are transmitted during the N + 4th transmission.
  • the network is determined to be "congested", and the 1024 is determined as the "maximum available bandwidth" of the current network. , Perform congestion control as described above for subsequent transmissions.
  • the "congestion state of the network” means “when additional packets are injected into the network, the overall network performance is degraded.”
  • the “maximum available bandwidth of the network” means “the maximum value of the appropriate amount of packets that can be injected into the network”. Once the maximum available bandwidth of the network is determined, then the “maximum throughput" of data over the current network can be determined.
  • TCP congestion control is generally performed by adjusting the size of the congestion window based on the maximum transmission rate. Therefore, when performing TCP congestion control, it is necessary to first determine whether the network is congested.
  • loss-based TCP congestion control determines network congestion based on packet drop
  • delay-based TCP congestion control determines network congestion at the initial round-trip delay time (RTT). It is determined based on the increase amount of the current delay time.
  • the loss-based TCP congestion control has the advantage of accurately finding the maximum available bandwidth.
  • Loss-based TCP congestion control has the disadvantage of continuously generating losses in order to find the maximum available bandwidth.
  • the cause of the loss such as packet loss due to the wireless channel
  • the wireless channel is repeatedly recovered at the MAC layer, and the wireless channel is used by using a method of less aggressively setting the MCS (modulation and coding) level relative to the channel state. Because packet loss caused by TCP can be hidden from the TCP transceiver, it is not practical to apply loss-based TCP to the latest wireless environment.
  • the delay-based TCP congestion control can control congestion based on an increase in the delay time before a direct packet loss occurs in the network. Therefore, there is an advantage of preventing packet loss and maintaining an appropriate delay time. have.
  • Delay-based TCP congestion controls may have the disadvantage of quickly finding the maximum available bandwidth due to low aggression, and when the network's situation changes rapidly and the initial latency to base algorithm behavior becomes meaningless, Can't search.
  • the basic concept of TCP congestion control proposed in the present disclosure is to determine the maximum transmission rate of the current network while increasing the size of the TCP congestion window, and to adjust the size of the congestion window corresponding to the determined maximum transmission rate.
  • the size of the congestion window is set such that a threshold transmission rate above a predetermined rate (e.g., 95%) relative to the rate is maintained.
  • a threshold transmission rate above a predetermined rate e.g., 95%) relative to the rate is maintained.
  • FIG. 1 is a diagram illustrating a communication system according to an embodiment of the present disclosure.
  • the communication system includes a server 101 and a terminal 131, and the server 101 includes a TCP transmitter 103 and a TCP receiver 105.
  • the terminal 131 also includes a TCP transmitter 135 and a TCP receiver 133.
  • the server 101 is connected to the wired Internet 111, and the terminal 131 communicates with each other while connected to the wireless Internet 121 through the base station 123.
  • this is merely an example, and the TCP congestion control scheme according to the present disclosure may be applied to a wired communication or a wireless communication system.
  • each of the server 101 and the terminal 131 may transmit data to a counterpart entity, and each of the TCP transmitters 103 and 135 may perform the TCP congestion control proposed in the present disclosure when transmitting data. Can be.
  • the maximum transmission rate is updated by the following Equation (1).
  • the time unit i may be a round trip delay time (RTT).
  • Equation 1 represents the maximum transmission rate Tput_max (i) at the i-th time point, the transmission rate Tput_current (i) at the current time point, and the maximum transmission rate Tput_max (i ⁇ ) up to the previous time point. 1)) means to decide the larger value.
  • various methods may be selected for increasing the size of the congestion window every hour.
  • the congestion window size may be set to twice the current congestion window size every hour. This is represented by Equation 2 below.
  • the threshold transmission rate Tput_threshold corresponding to the predetermined ratio (X%) of the maximum transmission rate is set using Equation 3 below.
  • the predetermined rate (X%) of the maximum transmission rate is typically set to a value of 90% or more, but may be set to a value of 95% or more depending on the network state or the state of the transmitting and receiving entities.
  • the threshold transmission rate may be determined in consideration of the delay time so that the delay time does not exceed the maximum delay time supported by the system. This is to satisfy both transmission rate performance and latency performance while performing TCP congestion control.
  • the congestion window size is adjusted based on the threshold transmission rate.
  • the congestion window size may be adjusted by various methods. For example, a proportional-integral (PI) method may be used. Equation 4 represents a method of adjusting the congestion window size by the PI method.
  • PI proportional-integral
  • E (i) is obtained by subtracting 1 from (current transmission rate / critical transmission rate).
  • the intE (i) is a value obtained by multiplying the E (i-1) values for the previous time point by the weight of the E (i) values of the current time point, respectively. This is for briefly calculating the integral value of E (i). Thus intE (i) may be calculated as the integral value of E (i).
  • G is a control constant of the congestion window size, and may be set to reflect network conditions and the like, and may generally be set to "50".
  • [Lambda] is a weight constant in the moving average, and is usually set to a value close to 1/8. This is to replace the integral formula that is difficult to compute in the kernel.
  • the size CWND (i) of the congestion window at the present time is The magnitude CWND (i-1) of ⁇ E (i) + intE (i)> is multiplied by the control constant G (G> 0). This is a formula for reducing the size of the congestion window at the current time point than the size of the congestion window at the previous time.
  • the maximum transmission rate is 110 and the threshold transmission rate is set to 100.
  • the first part of Equation 4 is a process of reducing the size of the congestion window. This is to reduce the size of the congestion window when the current transmission rate is greater than the threshold transmission rate so that the current transmission rate is close to the threshold transmission rate. It should be noted, however, that the first part does not necessarily apply only when the current transmission rate is greater than the threshold transmission rate. In some cases, even if the current transmission rate is smaller than the threshold transmission rate, ⁇ E (i) + intE ( If the value of i)> is 0 or negative, it may be applied.
  • the second part of Equation 4 is a process of increasing the size of the congestion window as opposed to the example of the first part. This is to increase the size of the congestion window when the current transmission rate is smaller than the threshold transmission rate so that the current transmission rate is close to the threshold transmission rate. It should be noted, however, that the second part does not necessarily apply only when the current transmission rate is smaller than the threshold transmission rate. In some cases, even if the current transmission rate is smaller than the threshold transmission rate, ⁇ E (i) + intE ( i)> can be applied if the value is positive.
  • Equation 4 the first portion of the equation is multiplied by ⁇ E (i) + intE (i)>, whereas in the second portion, ⁇ E (i) + intE (i)> is multiplied by 2G. can see. That is, reducing the congestion window reduces the G times of ⁇ E (i) + intE (i)>, while increasing the congestion window increases the 2G times of ⁇ E (i) + intE (i)>.
  • G is multiplied by "2", but this is only an example, and the constant value multiplied by G may vary depending on the system setting.
  • the transmission rate stably supports the transmission rate between the threshold transmission rate and the maximum transmission rate, and thus the delay time is also the maximum allowable delay. It will not increase over time.
  • P (Proportional) method according to Equation 5 may be used.
  • the congestion window size was determined by including intE (i) in Equation 4, but intE (i) in P scheme of Equation 5 There is a difference in that the congestion window size is determined using only E (i) without including. Meanwhile, the method of adjusting the congestion window size described in Equation 4 may also be applied to the method of Equation 5.
  • the network state may be changed.
  • the maximum transmission rate and / or the threshold transmission rate already set may be reset to reflect the changed network state.
  • whether the network state has changed may be determined by comparing the current transmission rate with the threshold transmission rate.
  • the threshold transmission rate at which the current transmission rate is already set If it is maintained at a lower value for a predetermined time (for example, 3 * RTT), it may be determined that the network has deteriorated.
  • the current transmission rate is maintained for a predetermined time (for example, 5%) or more than the predetermined threshold transmission rate, it is determined that the network condition is improved, and conversely, the current transmission rate is predetermined than the threshold transmission rate already set. It may be determined that the network condition is improved if the ratio is maintained below a predetermined time (for example, 5%). In this case, it may be determined whether the network is changed based on a shorter time (eg, 2 * RTT) than the first example.
  • a predetermined time for example, 5%
  • the maximum transmission rate and the critical transmission rate may be set again by reflecting the network condition changed by Equations 1 and 3, and accordingly,
  • the congestion window can be resized by Equation 5>.
  • the threshold transmission rate can be set back to the current transmission rate by the following Equation (6).
  • the maximum transmission rate may be set again according to Equation 7 below.
  • X is the threshold transmission rate ratio set in Equation 3, as described above, and this value may vary depending on the setting.
  • FIG. 2 is a diagram illustrating a method of performing a TCP congestion control scheme according to the present disclosure. These operations are performed at the TCP transmitter of the server or terminal.
  • step 201 the TCP transmitter determines the maximum transmission rate of the current network while increasing the size of the congestion window for each unit time (i), for example, RTT.
  • i unit time
  • the TCP transmitter sets a predetermined threshold transmission rate for the determined maximum transmission rate.
  • the threshold transmission rate it is set considering the delay time. That is, the threshold transmission rate is set so that the delay time is within a range not exceeding the maximum delay time set by the system.
  • a detailed setting method is as described in Equation 3 above.
  • the TCP transmitter performs TCP congestion control while adjusting the congestion window size based on the set threshold transmission rate. That is, the congestion window size is adjusted so that the current transmission rate can vary between the maximum transmission rate and above the threshold transmission rate.
  • the threshold transmission rate is set in consideration of the delay time
  • the transmission rate is a value above the threshold transmission rate
  • the delay time is adjusted so that the size of the congestion window is maintained at a value below the maximum delay time.
  • TCP congestion control is performed considering both transmission and latency performance.
  • a specific adjustment method is as described in Equation 4 or Equation 5 above.
  • the maximum transmission rate and / or the threshold transmission rate may be set to reflect this, as described above.
  • FIG. 3 is a diagram illustrating an apparatus configuration of a TCP transmitter for performing TCP congestion control according to an embodiment of the present disclosure.
  • the TCP transmitter largely includes an RTT measurement unit 301, a transceiver 303, and a TCP controller 311.
  • the TCP control unit 311 includes a transmission rate measuring unit 313, a window control unit 315, a transmission rate control unit 317, and a gain control unit 319.
  • the RTT measurement unit 301 measures the round trip delay time (RTT) required for TCP congestion control, and transmits the measured RTT information to the TCP control unit 311.
  • RTT round trip delay time
  • the transceiver 303 performs data transmission and reception according to the TCP congestion control. In particular, it receives the ACK / DUPACK information from the other entity, and transfers it to the TCP control unit 311.
  • Duplicate ACK (DUPACK) is used in TCP to perform the function of NACK.
  • the transmission rate measurement unit 313 in the TCP control unit 311 measures the transmission rate every hour during the TCP congestion control, and transmits the measured transmission rate information to the transmission rate control unit 317.
  • the transmission rate controller 317 determines the maximum transmission rate as described in Equation 1 based on the received transmission rate.
  • the ACK / DUPACK information received from the transceiver 303 is used. That is, if ACK is not received or DUPACK is received, it can be known that data loss has occurred, and it is determined that the data loss occurs when the network enters a congested state, and the transmission rate at that time is maximized. Determined by the transmission rate. Further, the threshold transmission rate is determined as described in Equation 3 based on the determined maximum transmission rate.
  • the delay time information received from the RTT measurement unit 301 is considered when determining the critical transmission rate.
  • the threshold transmission rate is determined so that the delay time information can be less than or equal to the maximum delay time set by the system.
  • the transmission rate control unit 317 transfers the information on the threshold transmission rate and the current transmission rate thus determined to the window control unit 315.
  • the transmission rate controller 317 may reset the maximum transmission rate and the threshold transmission rate by reflecting the change in the state of the network. Details of this are as described above.
  • the window control unit 315 increases the size of the congestion window by a predetermined time unit so that the transmission rate control unit 317 can determine the maximum transmission rate.
  • the size of the congestion window is adjusted according to Equation 4 or Equation 5 using the critical rate information and the current rate information received from the rate control unit 317.
  • FIG. 4A illustrates a maximum transmission rate, a threshold transmission rate, a current transmission rate, and a delay time according to a change in the mixing window size when the maximum transmission rate is not increased for a predetermined time by TCP mixing control according to an embodiment of the present disclosure. It is a figure.
  • (a) is a diagram of changing the mixing window size
  • (b) is a round trip delay time according to the change of the mixing window size
  • (c) is a maximum transmission rate, the critical transmission rate according to the change of the mixing window size
  • the size of the mixing window is increased from (a) to the reference numeral 401. Accordingly, it can be seen that the round trip delay time increases from (b) to the reference numeral 402. In addition, it can be seen that the transmission rate increases from (c) to the reference number 403. Assuming packet loss has occurred at reference numeral 401, the transmission rate at that time may be determined as the maximum transmission rate. This is shown at 405. On the other hand, after the maximum transmission rate is determined, the threshold transmission rate is determined at a predetermined ratio with respect to the maximum transmission rate value. The threshold transmission rate is shown at 407.
  • the size of the mixing window is reduced in (a).
  • the mixed window is reduced such that the current transmission rate does not become less than or equal to the threshold transmission rate, and the delay time can be less than or equal to a predetermined maximum delay time.
  • the reference window 411 reduces the mixed window size but prevents the current transmission rate from becoming a value below the threshold transmission rate.
  • the mixed window size decreases in the section 411, it can be seen that the current transmission rate maintains a value higher than the threshold transmission rate in the section 413.
  • the current transmission rate becomes a value below the threshold transmission rate.
  • the round trip delay time is maintained within a certain range after time 422 of (b). This is because, as described above, the threshold transmission rate is set in consideration of the delay time.
  • FIG. 4B illustrates a maximum transmission rate, a critical transmission rate, and a current transmission rate according to a change in the mixing window size when the measured RTT is a predetermined ratio of the minimum RTT by TCP mixing control according to an embodiment of the present disclosure. And a diagram illustrating the delay time.
  • a time point for setting the threshold transmission rate Tput_threshold may be advanced. As a result, a peak was formed around 4 seconds in FIG. 4A, but the peak was removed in FIG. 4B.
  • the congestion control scheme of the TCP transmitter may be used as described above.
  • the maximum transmission rate and the critical transmission rate of the receiver are determined as described above, the adjusted congestion window size of the receiver is determined based on the above, and the determined congestion window size information of the receiver is determined. Can be informed to the other party's transmitter.
  • the transmitter may determine the size of the final congestion window using the size information of the received congestion window received from the receiver and the congestion window size information of the transmitter determined as described above. This operation may be further performed by the transmission rate controller 317 and the window controller 315 of FIG. 3.
  • a computer readable recording medium is any data storage device capable of storing data that can be read by a computer system. Examples of the computer readable recording medium include read-only memory (ROM), random-access memory (RAM), CD-ROMs, magnetic tapes, Floppy disks, optical data storage devices, and carrier waves (such as data transmission over the Internet).
  • the computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, code, and code segments for achieving the present disclosure may be readily interpreted by those skilled in the art to which the present disclosure applies.
  • any such software may be, for example, volatile or nonvolatile storage, such as a storage device such as a ROM, whether or not removable or rewritable, or a memory such as, for example, a RAM, a memory chip, a device or an integrated circuit. Or, for example, CD or DVD, magnetic disk or magnetic tape and the like can be stored in a storage medium that is optically or magnetically recordable and simultaneously readable by a machine (eg computer).
  • a machine eg computer
  • the method according to an embodiment of the present disclosure may be implemented by a computer or a portable terminal including a control unit and a memory, the memory suitable for storing a program or programs including instructions for implementing the embodiments of the present disclosure. It will be appreciated that this is an example of a machine-readable storage medium.
  • the present disclosure includes a program comprising code for implementing the apparatus or method described in any claim herein and a machine-readable storage medium storing such a program.
  • a program may be transferred electronically through any medium, such as a communication signal transmitted over a wired or wireless connection, and the present disclosure suitably includes equivalents thereof.
  • the apparatus may receive and store the program from a program providing apparatus connected by wire or wirelessly.
  • the program providing apparatus performs a wired or communication with a memory for storing a program including instructions for causing the program processing apparatus to perform a preset content protection method, information necessary for the content protection method, and the like.
  • a controller for transmitting the program to the transceiver device automatically or at the request of the graphic processing device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

본 개시는 LTE와 같은 4G 통신 시스템 이후 보다 높은 데이터 전송률을 지원하기 위한 5G 또는 pre-5G 통신 시스템에 관련된 것이다. 본 개시가 제공하는 통신 시스템의 TCP 혼잡 제어 방법은, 혼잡 윈도우의 크기를 소정 시간 단위로 증가시키면서, 네트워크의 최대 송신률을 결정하는 과정과, 상기 결정된 최대 송신률에 대한 소정 비율로 결정되는 임계 송신률을 결정하는 과정과, 현재 송신률이 상기 임계 송신률 이상이 되고, 지연 시간이 최대 허용 지연 시간 이하가 되도록, 상기 혼잡 윈도우의 크기를 조정하는 과정을 포함한다.

Description

통신 시스템에서 혼잡 제어 방법 및 장치
본 개시는 통신 시스템에서 TCP(Transmission Control Protocol)의 혼잡 제어 방법 및 장치에 관한 것이다.
4G (4th-Generation) 통신 시스템 상용화 이후 증가 추세에 있는 무선 데이터 트래픽 수요를 충족시키기 위해, 개선된 5G (5th-Generation) 통신 시스템 또는 pre-5G 통신 시스템을 개발하기 위한 노력이 이루어지고 있다. 이러한 이유로, 5G 통신 시스템 또는 pre-5G 통신 시스템은 4G 네트워크 이후 (beyond 4G network) 통신 시스템 또는 LTE 시스템 이후 (post LTE)의 시스템이라 불리고 있다.
높은 데이터 전송률을 달성하기 위해, 5G 통신 시스템은 초고주파 (mmWave) 대역 (예를 들어, 60기가 (60GHz) 대역과 같은)에서의 구현이 고려되고 있다. 초고주파 대역에서 전파의 경로 손실 완화 및 전파의 전달 거리를 증가시키기 위해, 5G 통신 시스템에서는 빔포밍 (beamforming), 거대 배열 다중 입출력 (massive MIMO), 전차원 다중입출력 (full dimensional MIMO: FD-MIMO), 어레이 안테나 (array antenna), 아날로그 빔형성 (analog beam-forming), 및 대규모 안테나 (large scale antenna) 기술들이 논의되고 있다.
또한 시스템의 네트워크 개선을 위해, 5G 통신 시스템에서는 진화된 소형 셀, 개선된 소형 셀 (advanced small cell), 클라우드 무선 액세스 네트워크 (cloud radio access network: cloud RAN), 초고밀도 네트워크 (ultra-dense network), 기기 간 통신 (device to device communication: D2D), 무선 백홀 (wireless backhaul), 이동 네트워크 (moving network), 협력 통신 (cooperative communication), CoMP (coordinated multi-points), 및 수신 간섭제거 (interference cancellation) 등의 기술 개발이 이루어지고 있다.
이 밖에도, 5G 시스템에서는 진보된 코딩 변조 (advanced coding modulation: ACM) 방식인 FQAM (hybrid FSK and QAM modulation) 및 SWSC (sliding window superposition coding)과, 진보된 접속 기술인 FBMC (filter bank multi carrier), NOMA (non-orthogonal multiple access), 및 SCMA (sparse code multiple access) 등이 개발되고 있다.
OSI(Open System Interconnection) 7계층 또는 TCP/IP(Transmission Control Protocol/Internet Protocol) 5계층 분류에서 제4계층에 해당하는 송신 계층(Transport layer)은 크게 두 가지 기능을 수행한다.
첫 번째로, 송신 계층은, 인터넷을 포함하는 다중 홉으로 구성된 통신 네트워크에서, 송신 노드가 상기 네트워크를 통하여 주입하는 데이터의 양을 수신 단말의 상태 및/또는 성능에 따라 조절하는 기능을 수행하는데, 이 기능을 "흐름 제어(flow control)"라고 한다.
두 번째로, 송신 계층은, 송신 노드가 네트워크를 통해 주입하는 데이터의 양을 상기 네트워크를 이루는 링크들의 상태 및/또는 성능에 따라 조절하는 기능을 수행하는 데, 이 기능을 "혼잡제어(congestion control)"라 한다. 상기 혼잡제어는 해당 네트워크를 공용으로 사용하는 다수의 네트워크 플로우들 사이에서 공평성(fairness)을 확보하는 역할도 수행한다.
상기 송신 계층에서 접속 지향성의 대표적인 송신 프로토콜로, TCP(Transmission Control Protocol)가 있다.
기존의 TCP 혼잡 제어 설계는 최대 가용 대역폭 내에서의 송신률(throughput)을 최대화하는 것에 중점을 두고 있으며, TCP 혼잡 제어의 또 하나의 성능 지표인 지연 시간은 고려되지 않았다.
본 개시는 통신 시스템에서 높은 송신률과 낮은 지연시간 동시에 보장하기 위한 TCP 혼잡 제어 방법 및 장치를 제공한다.
본 개시는 통신 시스템에서 TCP 혼잡 제어를 위하여 혼잡 윈도우의 크기를 제어하기 위한 방법 및 장치를 제공한다.
본 개시는 통신 시스템에서 변경된 네트워크 상태를 반영하여 혼잡 윈도우의 크기를 제어하기 위한 방법 및 장치를 제공한다.
본 개시는 통신 시스템에서 네트워크 상태의 변경 여부를 판단하기 위한 방법 및 장치를 제공한다.
본 개시는 통신 시스템에서 수신기에서 결정한 수신 혼잡 윈도우의 크기를 송신기의 혼잡 윈도우의 크기 설정에 반영하기 위한 방법 및 장치를 제공한다.
본 개시가 제공하는 통신 시스템의 TCP 혼잡 제어 방법은, 혼잡 윈도우의 크기를 소정 시간 단위로 증가시키면서, 네트워크의 최대 송신률을 결정하는 과정과, 상기 결정된 최대 송신률에 대한 소정 비율로 결정되는 임계 송신률을 결정하는 과정과, 현재 송신률이 상기 임계 송신률 이상이 되고, 지연 시간이 최대 허용 지연 시간 이하가 되도록, 상기 혼잡 윈도우의 크기를 조정하는 과정을 포함한다.
본 개시가 제공하는 통신 시스템의 TCP 혼잡 제어 장치는, 혼잡 윈도우의 크기를 소정 시간 단위로 증가시키면서, 네트워크의 최대 송신률을 결정하고, 상기 결정된 최대 송신률에 대한 소정 비율로 결정되는 임계 송신률을 결정하는 송신률 제어부와, 현재 송신률이 상기 임계 송신률 이상이 되고, 지연 시간이 최대 허용 지연 시간 이하가 되도록, 상기 혼잡 윈도우의 크기를 조정하는 윈도우 제어부를 포함한다.
도 1은 본 개시의 실시예에 의한 통신 시스템을 설명하는 도면,
도 2는 본 개시에 의한 TCP 혼잡 제어 방식을 수행하는 방법을 설명하는 도면,
도 3은 본 개시의 실시예에 의한 TCP 혼잡 제어를 수행하는 TCP 송신부의 장치 구성을 설명하는 도면,
도 4a는 본 개시의 실시예에 의한 TCP 혼합 제어에 의하여, 최대 송신률이 소정 시간 동안 증가되지 않는 경우 혼합 윈도우 크기의 변화에 따라 최대 송신률, 임계 송신률, 현재 송신률 및 지연 시간을 설명하는 도면,
도 4b는 본 개시의 실시예에 의한 TCP 혼합 제어에 의하여, 측정된 RTT 가 최소(minimum) RTT 의 소정 비율인 경우 혼합 윈도우 크기의 변화에 따라 최대 송신률, 임계 송신률, 현재 송신률 및 지연 시간을 설명하는 도면.
하기에서 본 개시를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 이하 첨부된 도면을 참조하여 상기한 본 개시의 실시예를 구체적으로 설명하기로 한다.
이하에서 설명되는 본 개시의 실시예들은 설명의 편의를 위하여 분리된 것이지만, 상호 충돌되지 않는 범위 내에서 적어도 둘 이상의 실시예는 결합되어 수행될 수 있다.
이하에서 후술되는 용어들은 본 개시의 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 개시의 실시예는 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나 이는 본 개시를 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 개시의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.
또한, 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되지는 않는다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 개시의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
또한, 본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 개시를 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
또한, 본 개시의 실시예들에서, 별도로 다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 개시가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 개시의 실시예에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 첨부된 도면들을 참조하여 다양한 실시 예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한, 본 개시의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 하기의 설명에서는 본 개시의 다양한 실시 예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 개시의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
본 개시에서 제안하는 장치 및 방법은 롱 텀 에볼루션(Long-Term Evolution: LTE) 이동 통신 시스템과, 롱 텀 에볼루션-어드밴스드(Long-Term Evolution-Advanced: LTE-A) 이동 통신 시스템과, 고속 하향 링크 패킷 접속(high speed downlink packet access: HSDPA) 이동 통신 시스템과, 고속 상향 링크 패킷 접속(high speed uplink packet access: HSUPA) 이동 통신 시스템과, 3세대 파트너쉽 프로젝트 2(3rd generation partnership project 2: 3GPP2)의 고속 레이트 패킷 데이터(high rate packet data: HRPD) 이동 통신 시스템과, 3GPP2의 광대역 부호 분할 다중 접속(Wideband Code Division Multiple Access: WCDMA) 이동 통신 시스템과, 3GPP2의 부호 분할 다중 접속(Code Division Multiple Access: CDMA) 이동 통신 시스템과, 국제 전기 전자 기술자 협회(Institute of Electrical and Electronics Engineers: IEEE) 802.16m 통신 시스템과, 진화된 패킷 시스템(Evolved Packet System: EPS)과, 모바일 인터넷 프로토콜(Mobile Internet Protocol: Mobile IP) 시스템 등과 같은 다양한 통신 시스템들에 적용 가능하다.
본 개시의 상세한 설명에 앞서, TCP 혼잡 제어의 동작 원리에 대하여 간략히 설명한다.
TCP는 기본적으로 혼잡 윈도우의 크기를 최대 가용 대역폭에 근접하게 유지하도록 하여 혼잡 제어를 수행한다. "혼잡 윈도우의 크기"는 1회의 데이터 송신 시에 송신하는 데이터의 양을 결정한다. TCP 혼잡 제어에서는 혼잡 윈도우의 크기를 현재 네트워크의 최대 가용 대역폭에 가장 근접하게 유지한 상태에서 데이터를 송신하여, 네트워크가 혼잡하지 않은 상태에서 데이터를 효율적으로 송신할 수 있다. 이를 위하여 TCP 혼잡 제어의 설계 시에 해당 네트워크의 최대 가용 대역폭을 신속하게 찾아내고, 찾아낸 최대 가용 대역폭에 근접하게 혼잡 윈도우의 크기를 유지하는 것을 목표로 한다. 이를 위하여 대부분의 TCP 혼잡 제어는 송신 제어를 시작하면, 네트워크에 주입하는 데이터의 패킷의 양을 공격적으로 증가시켜서 최대 가용 대역폭을 신속히 찾아낸다.
상술한 TCP 혼잡 제어의 개념을 아래에서 간략한 예를 들어 설명한다. 다만, 아래의 예는 TCP 혼잡 제어의 개념을 설명하기 위한 일 예일 뿐이며, 아래 예 외에도 다양한 혼잡 제어 방식이 활용되고 있다.
TCP 혼잡 제어에서는, 데이터 패킷을 송신하기 위한 송신 제어를 시작하면, 네트워크에 주입되는 데이터 패킷의 양을 증가시키면서 최대 가용 대역폭을 찾는다.
일 예로, 1번 송신 시에 혼잡 윈도우의 크기를 1로 설정하고, 설정된 혼잡 윈도우 크기에 따라 1번 송신 시 1개의 패킷을 송신하고, ACK을 대기한다. 상기 1번 송신에 대하여 ACK을 수신하였다면, 2번 송신 시 혼잡 윈도우 크기를 2배로 증가시킨 2로 설정한다. 이때 임계값은 1로 설정한다. 참고로 임계값은 ACK을 수신하지 못한 경우, 혼잡 윈도우 크기를 감소시키는 값이다. 만일 1번 송신에 대한 ACK을 수신하였다면, 그에 따라 2번 송신 시에는 2개의 패킷을 송신하고 ACK을 대기한다. 2번 송신에 대하여 ACK을 수신하였다면, 3번 송신 시 혼잡 윈도우 크기를 다시 2배 증가시킨 4로 설정하고, 임계값은 2로 설정한다. 그에 따라 3번 송신 시 상기 4로 설정된 혼잡 윈도우 크기에 따라 4개의 패킷을 송신하고 ACK을 대기한다. 3번 송신에 대하여 ACK을 수신하였다면, 4번 송신 시 혼잡 윈도우 크기를 2배 증가시킨 8로 설정하고, 임계값을 4로 설정한다.
이런 식으로, 혼잡 윈도우 크기를 증가시키는데 N번째 송신 시에 혼잡 윈도우 크기가 1024로 설정되고, 임계값은 512로 설정되어, 1024의 혼잡 윈도우 크기에 따라 1024개의 패킷을 송신하였는데, 상기 N번째 송신에 대하여 ACK을 수신하지 못하였다면, N+1번째 송신 시에 혼잡 윈도우 크기는 상기 N번째 송신 시에 설정된 임계값인 512로 설정된다.
이후, N+2번째 송신 시에는 512개의 패킷을 송신하고, 그에 대하여 ACK을 수신하였다면, N+3번째 송신 시의 혼잡 윈도우 크기는 N+2번째 송신 시의 윈도우 크기의 2배가 아니라, 소정 값(일 예로, 1)만큼 증가시킨 513이 되어, N+4번째 송신 시에는 513개의 패킷을 송신하게 된다.
상기 예에서, 혼잡 윈도우 크기가 1024로 설정된 N번째 송신에 대하여 처음으로 ACK을 수신하지 못하였으므로, 이때 네트워크가 "혼잡 상태"라고 판단하고, 상기 1024를 현재 네트워크의 "최대 가용 대역폭"으로 판단하고, 이후의 송신들에 대하여 상술한 바와 같은 혼잡 제어를 수행한다.
참고로, "네트워크의 혼잡 상태"란 "추가적인 패킷이 네트워크에 주입될 경우, 전체 네트워크 성능이 저하됨"을 의미한다. 또한, "네트워크의 최대 가용 대역폭"은 "해당 네트워크에 주입할 수 있는 적정 패킷 양의 최대값"을 의미한다. 네트워크의 최대 가용 대역폭이 결정되면, 그에 따라 현재 네트워크를 통한 데이터의 "최대 송신률(maximum throughput)"이 결정될 수 있다.
따라서 임의의 네트워크에서 해당 네트워크에 주입되는 패킷의 양이 증가할 때, "해당 네트워크가 혼잡 상태"가 되면, "네트워크의 최대 가용 대역폭에 도달"하였다고 판단할 수 있고, 상기 최대 가용 대역폭에 따라 해당 네트워크에서의 "최대 송신률"이 결정될 수 있다. 이후에는 상기 최대 송신률을 기준으로 혼잡 윈도우의 크기를 조절하여, TCP 혼잡 제어가 수행되는 것이 일반적이다. 따라서 TCP 혼잡 제어 수행 시, 최초에 네트워크가 혼잡 상태인지 여부를 판단해야 한다.
한편, 네트워크 혼잡 여부를 판단하는 방식은 크게 "손실 기반(Loss-based)" TCP 방식과 "지연기반(delay-based)" TCP 방식이 있다. 대부분의 TCP 혼잡 제어는 손실 기반 TCP를 이용하여 수행된다. 참고로, 손실 기반 TCP 혼잡 제어는 네트워크의 혼잡을 패킷 손실(packet drop)을 기준으로 판단하며, 지연 기반 TCP 혼잡 제어는 네트워크의 혼잡을 초기 왕복 지연 시간(RTT(Round-trip Delay Time))에 대하여 현재 지연 시간의 증가량을 기준으로 판단한다.
 상기 손실 기반 TCP 혼잡 제어는 최대 가용 대역폭을 정확하게 찾아낼 수 있는 장점이 있다. 그러나 손실 기반 TCP 혼잡 제어는 최대 가용 대역폭을 찾기 위하여 지속적으로 손실을 발생시켜야 하는 단점이 있다. 또한, 무선 채널로 인한 패킷 손실과 같이, 손실의 발생 원인이 네트워크 대역폭 대비 주입된 패킷 양이 과도할 때 발생하는 큐잉(queueing) 이 아닌 경우에는 최대 가용 대역폭 탐색에 실패하는 단점이 있다. 다만, 최근의 이동 통신망에서의 무선 채널은 패킷 송신에 실패할 경우, 이를 MAC 계층에서 반복적으로 복구하며, 채널 상태 대비 MCS (모듈레이션 및 코딩) 레벨을 덜 공격적으로 설정하는 방법 등을 이용하여 무선 채널에서 발생하는 패킷 손실을 TCP 송수신단이 감지하지 못하도록 감출 수 있으므로 손실기반 TCP 를 최신의 무선 환경에 적용하는 것은 실질적으로 큰 문제를 일으키지 않는다.
상기 지연 기반 TCP 혼잡 제어는 네트워크에서 직접적인 패킷 손실이 발생하기 이전에 지연 시간의 증가를 기준으로 혼잡 제어를 할 수 있으므로, 패킷 손실을 방지할 수 있는 장점과 지연시간을 적정선에서 유지할 수 있는 장점이 있다. 반면, 지연 기반 TCP 혼잡 제어들은 낮은 공격성으로 인해 최대 가용 대역폭을 신속히 찾는 데 단점이 있을 수 있고, 네트워크의 상황이 급변하여 알고리즘 동작의 기준으로 삼는 초기 지연시간이 의미가 없어진 경우에는 최대 가용 대역폭의 탐색을 할 수 없다.
본 개시에 의한 TCP 혼잡 제어의 설명에 앞서 본 개시의 기본 개념을 간략히 설명한다.
본 개시에서 제안하는 TCP 혼잡 제어의 기본 개념은, TCP 혼잡 윈도우의 크기를 증가시키면서 현재 네트워크의 최대 송신률을 결정하고, 상기 결정된 최대 송신률에 대응하는 혼잡 윈도우의 크기를 조정하면서, 상기 최대 송신률에 대한 소정 비율(예를 들어, 95%) 이상의 임계 송신률이 유지되도록, 상기 혼잡 윈도우의 크기를 설정한다. 이렇게 하여, 송신률 성능의 측면에서 최대 송신률에 근접하는 임계 송신률 이상의 송신률을 유지하면서, 지연 시간 성능의 측면에서도 지연 시간이 크게 증가하지 않기 때문에, TCP 혼잡 제어 시 송신률의 성능 지표와 지연 시간의 성능 지표에서 우수한 성능을 유지할 수 있도록 한다.
이하에서 본 개시에 의한 실시예를 상세히 설명한다.
도 1은 본 개시의 실시예에 의한 통신 시스템을 설명하는 도면이다.
도 1을 참조하면, 통신 시스템은 서버(101)와 단말(131)을 포함하며, 서버(101)는 TCP 송신부(103)와 TCP 수신부(105)를 포함한다. 단말(131) 또한 TCP 송신부(135)와 TCP 수신부(133)를 포함한다. 도 1의 통신 시스템에서 서버(101)와 유선 인터넷(111)에 연결되고, 단말(131)은 기지국(123)을 통하여 무선 인터넷(121)에 연결된 상태에서 서로 통신을 수행하는 것으로 도시되었다. 다만, 이는 일 예일 뿐, 본 개시에 의한 TCP 혼잡 제어 방식은 유선 통신 또는 무선 통신 시스템에서도 적용 가능하다.
상기 도 1에서, 서버(101)와 단말(131) 각각은 데이터를 상대방 엔터티에게 송신할 수 있으며, 각각의 TCP 송신부(103, 135)는 데이터 송신 시 본 개시에서 제안하는 TCP 혼잡 제어를 수행할 수 있다.
이하에서는 본 개시에 의한 TCP 혼잡 제어 방식을 설명한다.
본 개시에 의한 TCP 혼잡 제어는 소정의 시간 단위(i)마다 혼잡 윈도우의 크기를 증가시키면서, 매시간 단위(i)로 최대 송신률을 하기 <수학식 1>에 의하여 갱신한다. 여기서 상기 시간 단위(i)는 왕복 지연 시간(RTT)이 될 수 있다.
Figure PCTKR2016000934-appb-M000001
상기 <수학식 1>은, i번째 시점에서의 최대 송신률(Tput_max(i))을, 현재 시점에서의 송신률(Tput_current(i))과, 이전 시점까지의 최대 송신률(Tput_max(i-1)) 중 큰 값으로 결정함을 의미한다. 참고로, 매 시간마다 혼잡 윈도우의 크기를 증가시키는 방식은 다양한 방식이 선택될 수 있다. 일 예로, 혼잡 윈도우 크기는 매 시간마다 현재 혼잡 윈도우 크기의 2배로 설정될 수 있다. 이는 하기 <수학식 2>로 표현된다.
Figure PCTKR2016000934-appb-M000002
만일, 상기 <수학식 1>에 의하여 결정된 최대 송신률이 소정 시간(일 예로, 3*RTT) 동안 증가되지 않거나, 또는 측정된 RTT 가 최소(minimum) RTT 의 소정 비율(일 예로 130%) 이상이 되면, 하기 <수학식 3>을 이용하여 상기 최대 송신률의 소정 비율(X%)에 해당하는 임계 송신률(Tput_threshold)을 설정한다. 이때 상기 최대 송신률의 소정 비율(X%)는 통상적으로 90% 이상의 값으로 설정되지만, 네트워크 상태 또는 송수신 엔터티들의 상태에 따라 95% 또는 그 이상의 값으로 설정될 수 있다. 상기 임계 송신률을 설정 할 때에는 지연 시간이 시스템이 지원하고자 하는 최대 지연 시간 이상이 되지 않도록, 지연 시간을 고려하여 임계 송신률을 결정할 수 있다. 이는 TCP 혼잡 제어를 수행하면서, 송신률 성능과 지연 시간 성능을 모두 만족시키기 위함이다.
Figure PCTKR2016000934-appb-M000003
상기 <수학식 3>에 의하여 임계 송신률(Tput_threshold)이 설정된 이후에는, 상기 설정된 임계 송신률에 기초하여 혼잡 윈도우 크기를 조절한다. 혼잡 윈도우 크기는 다양한 방식에 의하여 조정될 수 있으며, 일 예로, PI(Proportional-Integral) 방식이 사용될 수 있다. 하기 <수학식 4>는 PI 방식에 의하여 혼잡 윈도우 크기를 조정하는 방식을 표현한다.
Figure PCTKR2016000934-appb-M000004
상기 E(i)는 1에서 (현재 송신률/임계 송신률)을 뺀 값이다.
상기 intE(i)는 이전 시점에 대한 E(i-1)값들과 현재 시점의 E(i)값들에 각각 가중치를 곱하여 합산한 값이다. 이는 E(i)의 적분 값을 간략히 계산하기 위한 것이다. 따라서 intE(i)는 E(i)의 적분 값으로 계산될 수도 있다.
상기 G는 혼잡 윈도우 크기의 제어 상수로서, 네트워크 상태 등을 반영하여 설정될 수 있는 값이며, 통상적으로 "50"으로 설정될 수 있다.
상기 λ는 이동 평균에서의 가중치 상수이며, 통상적으로 1/8에 인접한 값으로 설정된다. 이는 커널에서 계산하기 어려운 적분식을 대체하기 위한 것이다.
상기 <수학식 4>의 첫 번째 항목을 참조하면, <E(i) + intE(i)>의 값이 0 또는 음수이면, 현재 시점의 혼잡 윈도우의 크기 CWND(i)는 이전 시점의 혼잡 윈도우의 크기 CWND(i-1)에 <E(i) + intE(i)>에 제어 상수 G(G>0)를 곱한 값을 더한다. 이는 현재 시점의 혼잡 윈도우의 크기를 이전 시점의 혼잡 윈도우의 크기보다 감소시키기 위한 수식이다.
일 예로, 최대 송신률이 110이고, 임계 송신률이 100으로 설정된 상태를 가정하자.
i=1에서 현재 송신률이 100이라면, E(1)=(1-100/100)=0이고, intE(1)=0이다. 따라서 <E(1) + intE(1)> 값이 0이므로, 상기 <수학식 4>의 첫 번째 부분이 적용되어, CWND(1) = CWND(0)+G*(0+0)=CWND(0)이 된다. 따라서 i=1에서의 혼잡 윈도우의 크기는 i=0에서의 혼잡 윈도우의 크기와 동일하다.
이후, i=2에서 현재 송신률이 105이고, λ가 1/8이라면, E(2)=(1-105/100)=-0.05이고, intE(2)= (1-1/8)*E(1)+ 1/8*E(2)=0+(1/8*(-0.05))=-0.05/8이다. 따라서, <E(2) + intE(2)> 값이 음수이므로, 상기 <수학식 4>의 첫 번째 부분이 적용되어, CWND(2) = CWND(1)+G*(-0.05) < CWND(1)이 된다. 따라서 i=2에서의 혼잡 윈도우의 크기는 i=1에서의 혼잡 윈도우의 크기보다 작아진다.
즉, 상기 <수학식 4>의 첫 번째 부분은 혼잡 윈도우의 크기를 감소시키는 과정이다. 이는 현재 송신률이 임계 송신률보다 큰 경우에 혼잡 윈도우의 크기를 감소시켜서, 현재 송신률이 임계 송신률에 근접하도록 하기 위함이다. 다만, 주의할 점은 상기 첫 번째 부분이 반드시 현재 송신률이 임계 송신률보다 큰 경우에만 적용되는 것은 아니면, 경우에 따라서는 현재 송신률이 임계 송신률보다 작더라도 <E(i) + intE(i)>의 값이 0 또는 음수라면 적용될 수도 있다.
반면, 상기 <수학식 4>의 두 번째 부분은 상기 첫 번째 부분에 대한 예와 반대로 혼잡 윈도우의 크기를 증가시키는 과정이다. 이는 현재 송신률이 임계 송신률보다 작은 경우에 혼잡 윈도우의 크기를 증가시켜서, 현재 송신률이 임계 송신률에 근접하도록 하도록 하기 위함이다. 다만, 주의할 점은 상기 두 번째 부분이 반드시 현재 송신률이 임계 송신률보다 작은 경우에만 적용되는 것은 아니면, 경우에 따라서는 현재 송신률이 임계 송신률보다 작더라도 <E(i) + intE(i)>의 값이 양수라면 적용될 수 있다.
한편, 상기 <수학식 4>에서 첫 번째 부분에서는 <E(i) + intE(i)>에 G를 곱하였지만, 두 번째 부분에서는 <E(i) + intE(i)>에 2G를 곱한 것을 볼 수 있다. 즉, 혼잡 윈도우를 감소시킬 때는 <E(i) + intE(i)>의 G배를 감소시키지만, 혼잡 윈도우를 증가시킬 때는 <E(i) + intE(i)>의 2G배를 증가시킨다. 이처럼 혼잡 윈도우의 크기를 조정할 때, 증가시키는 비율을 감소시키는 비율보다 크게 설정한 것은, 현재 송신률이 임계 송신률 이하일 때, 더 큰 비율로 현재 송신률을 증가시켜서 송신률을 안정적으로 보장하기 위함이다. 다만, 상기 <수학식 4>의 두 번째 부분에서는 G에 "2"를 곱하였지만, 이는 일 예일 뿐, G에 곱해지는 상수 값은 시스템 설정에 따라 달라질 수 있음은 물론이다.
상술한 <수학식 2> 내지 <수학식 4>에 따라 혼잡 윈도우 크기를 조정하면, 송신률은 임계 송신률과 최대 송신률 사이의 송신률을 안정적으로 지원하고, 그에 따라 지연 시간 또한 최대 허용 지연 시간 이상으로 증가하지 않게 된다.
한편, 혼잡 윈도우 크기를 조정하는 다른 방식으로, 하기 <수학식 5>에 의한 P(Proportional) 방식이 사용될 수도 있다.
Figure PCTKR2016000934-appb-M000005
상기 <수학식 5>를 상기 <수학식 4>와 비교하면, <수학식 4>에서는 intE(i)를 포함하여 혼잡 윈도우 크기를 결정하였지만, <수학식 5>의 P 방식에서는 intE(i)를 포함하지 않고 E(i)만을 이용하여 혼잡 윈도우 크기를 결정한다는 차이가 있다. 한편, 상기 <수학식 4>에서 설명된 혼잡 윈도우 크기를 조정하는 방식은 상기 <수학식 5>의 방식에서도 적용될 수 있다.
한편, 상술한 바에 따라 최대 송신률 및 임계 송신률을 설정하고, 그에 따라 혼잡 윈도우 크기를 조정하면서, TCP 혼잡 제어를 수행하는 중에, 네트워크 상태가 변경될 수 있을 것이다. 본 개시에서는 이처럼 TCP 혼잡 제어 중에 네트워크 상태가 변화된 경우, 변화된 네트워크 상태를 반영하기 위하여, 이미 설정된 최대 송신률 및/또는 임계 송신률을 다시 설정할 수 있다.
참고로, 네트워크 상태가 변화되었는지 여부는 현재 송신률과 임계 송신률을 비교하여 판단할 수 있다.
일 예로, 현재 송신률이 이미 설정된 임계 송신률보다 높은 값인 상태로 소정 시간(예를 들어, 3*RTT) 동안 유지되면, 네트워크가 개선되었다고 판단하고, 반대로, 현재 송신률이 이미 설정된 임계 송신률보다 낮은 값인 상태로 소정 시간(예를 들어, 3*RTT) 동안 유지되면 네트워크가 악화되었다고 판단할 수 있다.
또 다른 예로, 현재 송신률이 이미 설정된 임계 송신률보다 소정 비율(예를 들어, 5%) 이상 소정 시간 유지되면 네트워크 상태가 개선되었다고 판단하고, 반대로, 현재 송신률이 이미 설정된 임계 송신률보다 소정 비율(예를 들어, 5%) 이하로 소정 시간 유지되면 네트워크 상태가 개선되었다고 판단할 수 있다. 이 경우에는 상기 첫 번째 예보다 짧은 시간(예를 들어, 2*RTT)을 기준으로 네트워크 변화 여부를 판단할 수 있을 것이다.
상술한 기준에 따라 네트워크 상태가 개선되었다고 판단되면, 상기 <수학식 1> 및 <수학식 3>에 의하여 변화된 네트워크 상태를 반영하여 최대 송신률, 임계 송신률을 다시 설정할 수 있고, 그에 따라 <수학식 5>에 의하여 혼잡 윈도우 크기를 재조정할 수 있다.
한편, 상술한 기준에 따라 네트워크 상태가 악화되었다고 판단되면, 하기 <수학식 6>에 의하여 임계 송신률을 현재의 송신률로 다시 설정할 수 있다.
Figure PCTKR2016000934-appb-M000006
또한, 하기 <수학식 7>에 따라 최대 송신률을 다시 설정할 수 있다.
Figure PCTKR2016000934-appb-M000007
상기 X는 앞서 <수학식 3>에서 설정된 임계 송신률 비율이며, 이 값은 설정에 따라 달라질 수 있음을 이미 설명된 바와 같다.
상기 <수학식 6> 및 <수학식 7>에 의하여 악화된 네트워크 상태를 반영하여 임계 송신률과 최대 송신률이 다시 설정되면, 이후, 상기 <수학식 4> 또는 <수학식 5>에 의하여 혼잡 윈도우 크기를 조정하면서 혼잡 제어를 수행한다.
도 2는 본 개시에 의한 TCP 혼잡 제어 방식을 수행하는 방법을 설명하는 도면이다. 이 동작들은 서버 또는 단말의 TCP 송신부에서 수행된다.
201단계에서 TCP 송신부는 매 단위 시간(i), 일 예로, RTT마다 혼잡 윈도우의 크기를 증가시키면서, 현재 네트워크의 최대 송신률을 결정한다. 구체적인 결정 방식은 상기 <수학식 1>에서 설명된 바와 같다.
203단계에서 TCP 송신부는 결정된 최대 송신률에 대한 소정의 임계 송신률을 설정한다. 임계 송신률을 설정할 때에는 지연 시간을 고려하여 설정한다. 즉, 지연 시간이 시스템에서 설정한 최대 지연 시간을 넘지 않는 범위 내의 값이 되도록 임계 송신률을 설정한다. 구체적인 설정 방식은 상기 <수학식 3>에서 설명된 바와 같다.
205단계에서 TCP 송신부는 설정된 임계 송신률에 기초하여 혼잡 윈도우 크기를 조정하면서, TCP 혼잡 제어를 수행한다. 즉, 현재의 송신률이 임계 송신률 이상에서 최대 송신률 사이에서 변화될 수 있도록, 혼잡 윈도우 크기를 조정한다. 이렇게 하면 임계 송신률이 지연 시간을 고려하여 설정되었기 때문에, 송신률은 임계 송신률 이상의 값이 되고, 지연 시간은 최대 지연 시간 이하의 값을 유지한 상태가 되도록 혼잡 윈도우의 크기가 조정이 되므로, 송신률 측면과 지연 시간 측면의 성능을 모두 고려한 TCP 혼잡 제어가 수행된다. 구체적인 조정 방식은 상기 <수학식 4> 또는 <수학식 5>에서 설명된 바와 같다.
다만, 도 2의 설명에 따라 TCP 혼잡 제어를 수행하는 중에 네트워크 환경이 변화된다면, 이를 반영하여 최대 송신률 및/또는 임계 송신률을 다시 설정할 수 있음은 앞서 설명된 바와 같다.
도 3은 본 개시의 실시예에 의한 TCP 혼잡 제어를 수행하는 TCP 송신부의 장치 구성을 설명하는 도면이다.
본 개시에 의한 TCP 송신부는 크게 RTT 측정부(301), 송수신부(303), TCP 제어부(311)를 포함한다. TCP 제어부(311)는 송신률 측정부(313), 윈도우 제어부(315), 송신률 제어부(317) 및 이득 제어부(319)를 포함한다.
RTT 측정부(301)는 TCP 혼잡 제어에 필요한 왕복 지연 시간(RTT)를 측정하고, 측정된 RTT 정보를 TCP 제어부(311)로 전달한다.
송수신부(303)는 TCP 혼잡 제어에 따른 데이터 송수신을 수행한다. 특히, 상대방 엔터티로부터 ACK/DUPACK 정보를 수신하고, 이를 TCP 제어부(311)로 전달한다. 참고로 TCP에서는 Duplicate ACK(DUPACK)이 이용하여 NACK의 기능을 수행한다.
TCP 제어부(311) 내의 송신률 측정부(313)는 TCP 혼잡 제어 중에 매시간 단위로 송신률을 측정하고, 측정된 송신률 정보를 송신률 제어부(317)로 전달한다.
송신률 제어부(317)는 전달받은 현재 송신률을 바탕으로 상기 <수학식 1>에서 설명된 바와 같이 최대 송신률을 결정한다. 최대 송신률 결정 시에는 송수신부(303)로부터 전달받은 ACK/DUPACK 정보가 이용된다. 즉, ACK을 수신하지 못하거나, DUPACK을 수신한 경우 데이터 손실이 발생하였음을 알 수 있고, 데이터 손실이 발생한 시점을 네트워크가 혼잡 상태에 진입한 시점으로 판단하고, 그 시점에서의 송신률을 최대 송신률로 결정한다. 또한, 상기 결정된 최대 송신률에 기초하여 상기 <수학식 3>에서 설명된 바와 같이 임계 송신률을 결정한다. 여기서 임계 송신률 결정 시에 RTT 측정부(301)로부터 전달받은 지연 시간 정보를 고려한다. 즉, 지연 시간 정보가 시스템에서 설정한 최대 지연 시간 이하가 될 수 있도록 임계 송신률을 결정한다. 한편, 송신률 제어부(317)는 이렇게 결정된 임계 송신률과 현재 송신률의 정보를 윈도우 제어부(315)로 전달한다. 또한, 송신률 제어부(317)는 네트워크의 상태 변화를 반영하여, 최대 송신률 및 임계 송신률을 재설정할 수 있다. 이에 대한 구체적인 내용은 앞서 설명된 바와 같다.
윈도우 제어부(315)는 소정 시간 단위로 혼잡 윈도우의 크기를 증가시켜서 송신률 제어부(317)가 최대 송신률을 결정할 수 있도록 한다. 또한, 송신률 제어부(317)로부터 전달받은 임계 송신률 정보와 현재 송신률 정보를 이용하여 상기 <수학식 4> 또는 <수학식 5>에서 설명된 바에 따라 혼잡 윈도우의 크기를 조정한다.
도 4a는 본 개시의 실시예에 의한 TCP 혼합 제어에 의하여, 최대 송신률이 소정 시간 동안 증가되지 않는 경우 혼합 윈도우 크기의 변화에 따라 최대 송신률, 임계 송신률, 현재 송신률 및 지연 시간을 설명하는 도면이다.
(a)는 혼합 윈도우 크기를 변화시키는 도면이고, (b)는 혼합 윈도우 크기의 변화에 따른 왕복 지연 시간을 도시한 것이고, (c)는 혼합 윈도우 크기의 변화에 따라 최대 송신률, 임계 송신률 및 현재 송신률의 변화를 설명하는 도면이다.
먼저, (a)에서 참조 번호 401까지 혼합 윈도우의 크기가 증가되고 있다. 그에 따라 (b)에서 참조 번호 402까지 왕복 지연 시간이 증가함을 볼 수 있다. 또한, (c)에서 참조 번호 403까지 송신률이 증가함을 볼 수 있다. 참조 번호 401에서 패킷 손실이 발생하였다고 가정하면, 그 시점의 송신률을 최대 송신률로 결정할 수 있다. 이는 참조 번호 405에 도시되었다. 한편, 최대 송신률이 결정된 이후에는 최대 송신률 값에 대한 소정 비율로 임계 송신률을 결정한다. 임계 송신률은 참조 번호 407에 도시되었다.
이렇게 최대 송신률(405) 및 임계 송신률(47)이 결정되면, (a)에서 혼합 윈도우의 크기를 감소시킨다. 다만, 혼합 윈도우는 현재 송신률이 임계 송신률 이하가 되지 않고, 지연 시간이 소정의 최대 지연 시간 이하의 값이 될 수 있을 정도로 감소된다. 이는 참조 번호 411에 도시되었다. 즉, 참조 번호 411에서는 혼합 윈도우 크기가 감소되지만, 현재 송신률은 임계 송신률 이하의 값이 되지 않도록 한다. 411구간에서 혼합 윈도우 크기가 감소함에도 불구하고, 참조 번호 413 구간에서 현재 송신률이 임계 송신률 이상의 값을 유지함을 볼 수 있다.
다만, 참조 번호 414 구간에서는 현재 송신률이 임계 송신률 이하의 값이 되었다. 이 경우에는 현재 송신률이 임계 송신률(407) 이상의 값이 되도록 혼합 윈도우 크기를 다시 증가시켜야 할 필요가 있다. 따라서 참조 번호 421 구간에서 혼합 윈도구 크기가 증가됨을 볼 수 있다.
참조 번호 423 구간에서는 상기 421 구간에서 혼합 윈도우의 크기를 증가시킴에 따라, 현재 송신률이 최대 송신률(405)에 근접하였다. 그에 따라 참조 번호 421 구간 이후의 구간에서는 다시 혼합 윈도우의 크기를 감소시킴을 볼 수 있다.
한편, 지연 시간의 측면에서, (b)의 422 시점 이후에는 왕복 지연 시간이 일정한 범위 내에서 유지됨을 볼 수 있다. 이는 앞서 설명된 것처럼, 임계 송신률을 설정할 때에 지연 시간을 고려하여 설정하였기 때문이다.
한편, 도 4b는 본 개시의 실시예에 의한 TCP 혼합 제어에 의하여, 측정된 RTT 가 최소(minimum) RTT 의 소정 비율인 경우 혼합 윈도우 크기의 변화에 따라 최대 송신률, 임계 송신률, 현재 송신률 및 지연 시간을 설명하는 도면이다.
도 4a와 비교하여, 임계 송신률(Tput_threshold)을을 설정하는 시점이 앞당겨질 있다. 그에 따라 도 4a에서는 피크(peak)가 4초 부근에서 형성되었으나, 도 4b에서는 이러한 피크가 제거된 것을 볼 수 있다.
지금까지 단말 또는 서버의 TCP 송신부에서 수행될 수 있는 TCP 혼잡 제어에 대하여 설명하였다.
상술한 실시예를 바탕으로, 추가적으로 가능한 변형 실시예에 대하여 간략히 설명한다.
단말 또는 서버가 송신기로 동작할 경우, 상술한 것처럼 TCP 송신부의 혼잡 제어 방식이 사용될 수 있다. 다만, 단말 또는 서버가 수신기로 동작할 경우에는 상술한 바에 의하여 수신기의 최대 송신률, 임계 송신률을 결정하고, 그에 기초하여 조정된 수신기의 혼잡 윈도우 크기를 결정하고, 결정된 수신기의 혼잡 윈도우 크기 정보를 상대방인 송신기로 알릴 수 있다. 그러면, 송신기는 수신기로부터 수신한 수신 혼잡 윈도우의 크기 정보와, 상술한 바에 의하여 결정된 송신기의 혼잡 윈도우 크기 정보를 이용하여 최종적인 혼잡 윈도우의 크기를 결정할 수도 있을 것이다. 이러한 동작은 상기 도 3의 송신률 제어부(317) 및 윈도우 제어부(315) 추가로 수행될 수 있다.
지금까지 설명된 본 개시의 실시예들의 특정 측면들은 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 상기 컴퓨터 리드 가능 기록 매체의 예들은 리드 온니 메모리(Read-Only Memory: ROM)와, 랜덤-접속 메모리(랜덤-Access Memory: RAM)와, CD-ROM들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(상기 인터넷을 통한 데이터 송신과 같은)을 포함할 수 있다. 상기 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 상기 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 개시를 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 개시가 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.
또한, 본 개시의 일 실시예에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 임의의 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 CD, DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 개시의 일 실시예에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 상기 메모리는 본 개시의 실시 예들을 구현하는 지시들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다.
따라서, 본 개시는 본 명세서의 임의의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 개시는 이와 균등한 것을 적절하게 포함한다
또한, 본 개시의 일 실시예에 따른 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 상기 프로그램을 수신하여 저장할 수 있다. 상기 프로그램 제공 장치는 상기 프로그램 처리 장치가 기 설정된 콘텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 콘텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 상기 그래픽 처리 장치와의 유선 또는 통신을 수행하기 위한 통신부와, 상기 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 상기 송수신 장치로 송신하는 제어부를 포함할 수 있다.

Claims (15)

  1. 통신 시스템의 TCP((Transmission Control Protocol) 혼잡 제어 방법에 있어서,
    혼잡 윈도우의 크기를 소정 시간 단위로 증가시키면서, 네트워크의 최대 송신률을 결정하는 과정과,
    상기 결정된 최대 송신률에 대한 소정 비율로 결정되는 임계 송신률을 결정하는 과정과,
    현재 송신률이 상기 임계 송신률 이상이 되고, 지연 시간이 최대 허용 지연 시간 이하가 되도록, 상기 혼잡 윈도우의 크기를 조정하는 과정을 포함하는 통신 시스템의 TCP 혼잡 제어 방법.
  2. 제1항에 있어서, 상기 최대 송신률은,
    현재 시점의 송신률과 이전 시간까지의 송신률 중 큰 값으로 결정됨을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  3. 제1항에 있어서, 상기 임계 송신률은,
    상기 지연 시간을 고려하여 설정됨을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  4. 제1항에 있어서, 상기 혼잡 윈도우의 크기를 조정하는 과정은,
    <E(i) + intE(i)> 값이 양수이면, 상기 혼잡 윈도우의 크기를 이전의 혼잡 윈도우의 크기보다 증가시키고,
    상기 <E(i) + intE(i)> 값이 양수가 아니면, 상기 혼잡 윈도우의 크기를 이전의 혼잡 윈도우의 크기보다 감소시킴을 특징으로 하며,
    상기 E(i)는 i 시점에서 1-(현재 송신률/임계 송신률)이며,
    상기 intE(i)는 상기 E(i)의 적분값 또는 (1 - λ)*intE(i-1) + λ*E(i)이며,
    상기 λ는 이동 평균 가중치임을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  5. 제4항에 있어서,
    상기 <E(i) + intE(i)> 값이 양수일 때, 상기 혼잡 윈도우의 크기를 증가시키는 비율은,
    상기 <E(i) + intE(i)> 값이 양수가 아닐 때, 상기 혼잡 윈도우의 크기를 감소시키는 비율보다 크게 설정됨을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  6. 제1항에 있어서, 상기 혼잡 윈도우의 크기를 조정하는 과정은,
    E(i) 값이 양수이면, 상기 혼잡 윈도우의 크기를 이전의 혼잡 윈도우의 크기보다 증가시키고,
    상기 E(i) 값이 양수가 아니면, 상기 혼잡 윈도우의 크기를 이전의 혼잡 윈도우의 크기보다 감소시킴을 특징으로 하며,
    상기 E(i)는 i 시점에서 1-(현재 송신률/임계 송신률)임을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  7. 제6항에 있어서,
    상기 E(i) 값이 양수일 때, 상기 혼잡 윈도우의 크기를 증가시키는 비율은,
    상기 E(i) 값이 양수가 아닐 때, 상기 혼잡 윈도우의 크기를 감소시키는 비율보다 크게 설정됨을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  8. 제1항에 있어서,
    상기 네트워크의 상태가 변경되면, 상기 변경된 네트워크의 상태에 따라 상기 최대 송신률과 상기 임계 송신률 중 적어도 하나를 다시 결정하는 과정을 더 포함하는 통신 시스템의 TCP 혼잡 제어 방법.
  9. 제8항에 있어서,
    상기 네트워크의 상태가 변경되었는지 여부는, 상기 현재 송신률이 상기 임계 송신률을 비교하여 판단함을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  10. 제9항에 있어서,
    상기 현재 송신률이 상기 임계 송신률보다 큰 값인 상태로 일정 시간 유지되거나, 상기 현재 송신률이 상기 임계 송신률보다 작은 값인 상태로 상기 일정 시간 유지되면, 상기 네트워크의 상태가 변경된 것으로 판단함을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  11. 제9항에 있어서,
    상기 현재 송신률이 상기 임계 송신률보다 큰 값인 상태로 일정 시간 유지되면, 상기 최대 송신률을 다시 결정하고, 상기 다시 결정된 최대 송신률에 따라 상기 임계 송신률을 결정하는 과정과, 상기 혼잡 윈도우의 크기를 조정하는 과정을 다시 수행함을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  12. 제9항에 있어서,
    상기 현재 송신률이 상기 임계 송신률보다 작은 값인 상태로 상기 일정 시간 유지되면, 상기 임계 송신률을, 상기 임계 송신률보다 작은 값인 상태로 상기 일정 시간 유지된 현재 송신률로 다시 설정함을 특징으로 하는 통신 시스템의 TCP 혼잡 제어 방법.
  13. 제1항에 있어서,
    상기 제1항의 방법에 의하여 수신기에서 결정된 수신 혼잡 윈도우의 크기 정보를 수신하는 과정과,
    상기 수신한 수신 혼잡 윈도우의 크기 정보와, 상기 제1항에서 결정된 상기 혼잡 윈도우의 크기를 이용하여, 최종적인 혼잡 윈도우의 크기를 결정하는 과정을 더 포함하는 통신 시스템의 TCP 혼잡 제어 방법.
  14. 통신 시스템의 TCP(Transmission Control Protocol) 혼잡 제어 장치에 있어서,
    혼잡 윈도우의 크기를 소정 시간 단위로 증가시키면서, 네트워크의 최대 송신률을 결정하고, 상기 결정된 최대 송신률에 대한 소정 비율로 결정되는 임계 송신률을 결정하는 송신률 제어부와,
    현재 송신률이 상기 임계 송신률 이상이 되고, 지연 시간이 최대 허용 지연 시간 이하가 되도록, 상기 혼잡 윈도우의 크기를 조정하는 윈도우 제어부를 포함하는 통신 시스템의 TCP 혼잡 제어 장치.
  15. 제14항의 TCP 혼합 제어 장치는 상기 제2항 내지 제13항에 따라 동작하도록 구성됨을 특징으로 하는 TCP 혼합 제어 장치.
PCT/KR2016/000934 2015-01-28 2016-01-28 통신 시스템에서 혼잡 제어 방법 및 장치 WO2016122225A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/547,470 US10492097B2 (en) 2015-01-28 2016-01-28 Method and apparatus for controlling congestion in communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020150013496A KR102210738B1 (ko) 2015-01-28 2015-01-28 통신 시스템에서 혼잡 제어 방법 및 장치
KR10-2015-0013496 2015-01-28

Publications (1)

Publication Number Publication Date
WO2016122225A1 true WO2016122225A1 (ko) 2016-08-04

Family

ID=56543756

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/000934 WO2016122225A1 (ko) 2015-01-28 2016-01-28 통신 시스템에서 혼잡 제어 방법 및 장치

Country Status (3)

Country Link
US (1) US10492097B2 (ko)
KR (1) KR102210738B1 (ko)
WO (1) WO2016122225A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327716A (zh) * 2018-10-31 2019-02-12 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置和计算机可读存储介质
CN111200563A (zh) * 2018-11-20 2020-05-26 蔚山科学技术院 一种拥塞控制方法及装置
CN114301845A (zh) * 2021-12-28 2022-04-08 天津大学 一种自适应的数据中心网络传输协议选择方法

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106160953B (zh) * 2016-07-06 2019-04-16 四川大学 一种基于学习型能效模型的传输方法
US10129155B2 (en) * 2016-11-21 2018-11-13 Microsoft Technology Licensing, Llc Delay based congestion control protocol co-existing with TCP
KR102359274B1 (ko) * 2017-05-16 2022-02-07 삼성전자주식회사 통신 시스템에서 데이터 전송을 제어하기 위한 장치 및 방법
CN108668323B (zh) * 2018-05-08 2022-05-13 Oppo广东移动通信有限公司 传输速率调整方法及相关装置
KR102094988B1 (ko) * 2018-08-31 2020-03-30 연세대학교 산학협력단 다중경로 전송제어프로토콜을 위한 혼잡 윈도우 제어 장치 및 방법
KR102096719B1 (ko) * 2018-10-19 2020-05-27 고려대학교 산학협력단 V2g 네트워크에서의 혼잡을 제어하기 위한 혼잡 윈도우의 크기를 설정하는 단말 장치 및 방법
KR102389104B1 (ko) * 2019-04-08 2022-04-21 한국전자통신연구원 Tcp 혼잡 윈도우를 최적화하는 통신 장치 및 방법
US10999206B2 (en) * 2019-06-27 2021-05-04 Google Llc Congestion control for low latency datacenter networks
CN112822120B (zh) * 2019-11-18 2023-04-28 华为技术有限公司 一种实现拥塞控制的方法、装置和系统
US11190448B2 (en) 2019-11-26 2021-11-30 Verizon Patent And Licensing Inc. Transport congestion control optimization based on network context
US11337108B2 (en) * 2020-02-19 2022-05-17 Verizon Patent And Licensing Inc. Uplink congestion control based on SIP messaging
CN113497671B (zh) * 2020-04-02 2023-07-18 成都鼎桥通信技术有限公司 数据处理方法、装置、设备、存储介质及终端设备
CN113014500B (zh) * 2021-02-23 2022-12-30 中国联合网络通信集团有限公司 一种机器视觉信息处理方法及装置
CN113766564B (zh) * 2021-10-15 2023-05-30 武汉联影医疗科技有限公司 数据传输的拥塞控制方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080049632A1 (en) * 2006-08-22 2008-02-28 Ray Amar N System and method for adjusting the window size of a TCP packet through remote network elements
KR20080079410A (ko) * 2007-02-27 2008-09-01 한국정보통신대학교 산학협력단 지속적인 혼잡감지를 이용한 tcp 혼잡제어방법
US7424546B1 (en) * 2003-04-30 2008-09-09 Nortel Networks Limited Rate-based proportional-integral control scheme for active queue management
KR20130116394A (ko) * 2012-03-06 2013-10-24 서강대학교산학협력단 전송 제어 프로토콜의 혼잡 윈도우 제어 방법

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7974195B2 (en) 2003-06-12 2011-07-05 California Institute Of Technology Method and apparatus for network congestion control
WO2006023604A2 (en) 2004-08-17 2006-03-02 California Institute Of Technology Method and apparatus for network congestion control using queue control and one-way delay measurements
US8369221B2 (en) * 2007-11-01 2013-02-05 Telefonaktiebolaget Lm Ericsson (Publ) Efficient flow control in a radio network controller (RNC)
US8309421B2 (en) 2010-11-24 2012-11-13 Applied Materials, Inc. Dual-bulb lamphead control methodology
US10292066B2 (en) * 2011-11-04 2019-05-14 Cisco Technology, Inc. System and method of modifying congestion control based on mobile system information
US9014264B1 (en) * 2011-11-10 2015-04-21 Google Inc. Dynamic media transmission rate control using congestion window size
EP3075113A1 (en) * 2013-11-26 2016-10-05 Telefonaktiebolaget LM Ericsson (publ) Controlling a transmission control protocol congestion window size
WO2015138993A1 (en) * 2014-03-14 2015-09-17 Huawei Technologies Co., Ltd. System and method for dynamic effective rate estimation for real-time video traffic
KR102363534B1 (ko) * 2015-06-08 2022-02-17 삼성전자주식회사 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424546B1 (en) * 2003-04-30 2008-09-09 Nortel Networks Limited Rate-based proportional-integral control scheme for active queue management
US20080049632A1 (en) * 2006-08-22 2008-02-28 Ray Amar N System and method for adjusting the window size of a TCP packet through remote network elements
KR20080079410A (ko) * 2007-02-27 2008-09-01 한국정보통신대학교 산학협력단 지속적인 혼잡감지를 이용한 tcp 혼잡제어방법
KR20130116394A (ko) * 2012-03-06 2013-10-24 서강대학교산학협력단 전송 제어 프로토콜의 혼잡 윈도우 제어 방법

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHEN, JIANYONG ET AL.: "An Improved ARED Algorithm for Congestion Control of Network Transmission", MATHEMATICAL PROBLEMS IN ENGINEERING., vol. 2010, 31 December 2010 (2010-12-31), pages 1 - 14, Retrieved from the Internet <URL:http://www.hindawi.com/joumals/mpe/2010/329035> *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327716A (zh) * 2018-10-31 2019-02-12 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置和计算机可读存储介质
CN109327716B (zh) * 2018-10-31 2020-09-11 北京达佳互联信息技术有限公司 延迟控制方法、延迟控制装置和计算机可读存储介质
US11490156B2 (en) 2018-10-31 2022-11-01 Beijing Dajia Internet Information Technology Co., Ltd. Delay control method, delay control apparatus, terminal device and storage medium
CN111200563A (zh) * 2018-11-20 2020-05-26 蔚山科学技术院 一种拥塞控制方法及装置
US11362953B2 (en) * 2018-11-20 2022-06-14 Ulsan National Institute Of Science And Technology Method and apparatus for controlling congestion
CN111200563B (zh) * 2018-11-20 2023-07-07 蔚山科学技术院 一种拥塞控制方法及装置
US11974352B2 (en) 2018-11-20 2024-04-30 Ulsan National Institute Of Science And Technology Method and apparatus for determining bottleneck link
CN114301845A (zh) * 2021-12-28 2022-04-08 天津大学 一种自适应的数据中心网络传输协议选择方法
CN114301845B (zh) * 2021-12-28 2023-08-01 天津大学 一种自适应的数据中心网络传输协议选择方法

Also Published As

Publication number Publication date
US20180026898A1 (en) 2018-01-25
KR20160092737A (ko) 2016-08-05
US10492097B2 (en) 2019-11-26
KR102210738B1 (ko) 2021-02-02

Similar Documents

Publication Publication Date Title
WO2016122225A1 (ko) 통신 시스템에서 혼잡 제어 방법 및 장치
WO2020009431A1 (ko) 사이드링크를 지원하는 무선통신시스템에서 단말이 사이드링크의 품질에 대한 로깅된 정보를 보고하는 방법 및 이를 위한 장치
US20210360689A1 (en) Communication apparatus, base station apparatus, method, and recording medium
WO2018038525A1 (ko) 무선 통신 시스템에서 단말의 pscch 및 pssch 송수신 방법 및 장치
WO2018225988A1 (ko) 무선 통신 시스템에서 혼잡을 제어하기 위한 장치 및 방법
WO2019088718A1 (ko) 무선 통신 시스템에서 패킷 데이터 정보를 송수신하기 위한 장치 및 방법
WO2016209056A1 (ko) 무선 통신 시스템에서 장치 대 장치 통신 단말의 신호 송수신 방법 및 장치
WO2016200154A1 (ko) 통신 시스템에서 tcp 기반의 전송 제어 방법 및 장치
WO2019226029A1 (ko) 사이드링크를 지원하는 무선통신시스템에서 단말이 사이드링크 신호를 송수신하는 방법 및 이를 위한 장치
WO2016010396A1 (ko) 무선통신 시스템의 상향링크 동기화 장치 및 방법
WO2018030788A1 (ko) 무선 통신 시스템에서 단말의 사이드링크 신호 송수신 방법
WO2018131933A1 (ko) 무선 통신 시스템에서 혼잡 제어와 관련된 sa와 데이터 전송 방법 및 장치
EP3846529B1 (en) Data transmission method and device
WO2021091353A1 (en) Method and apparatus for supporting power backoff report while performing power headroom report in wireless communication system
CN114788397B (zh) 用于灵活聚合通信信道的方法及装置
WO2020046017A1 (en) Apparatus and method for dynamic power management in wireless communication system
WO2022139541A1 (ko) Nr v2x에서 sl drx 동작을 수행하는 방법 및 장치
WO2019087319A1 (ja) ユーザ端末および送信タイミング制御方法
WO2019004801A1 (ko) 복수의 tti length가 지원되는 무선통신시스템에서 ue가 신호를 전송하는 방법 및 장치
WO2021034059A1 (en) Apparatus and method for handling pdu session in wireless communication system
WO2018143781A1 (ko) 무선 통신 시스템에서 t-rpt를 통하여 신호를 수신하는 방법 및 장치
WO2022065665A1 (ko) 무선 통신 시스템에서 빔 관리 방법 및 장치
WO2020045797A1 (ko) 다중경로 전송제어프로토콜을 위한 혼잡 윈도우 제어 장치 및 방법
WO2022035000A1 (ko) 전 이중 통신을 지원하는 무선통신시스템에서 데이터를 송수신하는 방법 및 이를 위한 장치
WO2018097624A1 (en) Method and apparatus for adjusting transmission power

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16743703

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15547470

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16743703

Country of ref document: EP

Kind code of ref document: A1