Method and device for performing connection using transmission control protocol in communication system

WO2026168771A1PCT designated stage Publication Date: 2026-08-13SAMSUNG ELECTRONICS CO LTD +1
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2026-01-02
Publication Date
2026-08-13

Smart Images

  • Figure KR2026000023_13082026_PF_FP_ABST
    Figure KR2026000023_13082026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a 5G or 6G communication system for supporting a higher data transmission rate than a 4G communication system such as LTE. A method performed by a device for performing a connection through a transmission control protocol (TCP) according to an embodiment of the present disclosure may comprise the steps of: receiving a TCP ACK for a packet in a plurality of rounds; calculating an increment value (Gi) of a congestion window (CWND) by using a minimum round trip time (RTT) of each round and a bandwidth measurement value of the packet; comparing the increment value (Gi) of the CWND with a threshold value; and terminating a slow-start mechanism used in the TCP when the increment value (Gi) of the CWND is not greater than the threshold value.
Need to check novelty before this filing date? Find Prior Art

Description

Method and device for performing a connection using a transmission control protocol in a communication system

[0001] The present disclosure relates to a technique for searching bandwidth during a new connection using TCP (transmission control protocol) in a communication system.

[0002] Looking back at the evolution of wireless communication through successive generations, technologies have been developed primarily for human-oriented services, such as voice, multimedia, and data. Following the commercialization of 5G (5th-generation) communication systems, connected devices, which have been increasing explosively, are expected to be connected to communication networks. Examples of networked objects include vehicles, robots, drones, home appliances, displays, smart sensors installed in various infrastructures, construction machinery, and factory equipment. Mobile devices are expected to evolve into various form factors, such as augmented reality glasses, virtual reality headsets, and holographic devices. In the 6G (6th-generation) era, efforts are underway to develop improved 6G communication systems to connect hundreds of billions of devices and objects to provide diverse services. For this reason, 6G communication systems are being referred to as "beyond 5G" systems.

[0003] In the 6G communication system predicted to be realized around 2030, the maximum transmission speed is tera (i.e., 1,000 gigabit) bps, and the wireless latency is 100 microseconds (μsec). In other words, compared to the 5G communication system, the transmission speed in the 6G communication system is 50 times faster, and the wireless latency is reduced to one-tenth.

[0004] To achieve such high data transmission speeds and ultra-low latency, 6G communication systems are being considered for implementation in the terahertz band (e.g., the 95 GHz to 3 terahertz (3 THz) band). In the terahertz band, due to more severe path loss and atmospheric absorption compared to the millimeter wave (mmWave) band introduced in 5G, the importance of technology capable of guaranteeing signal reach, or coverage, is expected to increase. As key technologies to ensure coverage, radio frequency (RF) devices, antennas, new waveforms that offer better coverage than orthogonal frequency division multiplexing (OFDM), beamforming, and multi-antenna transmission technologies such as massive multiple-input and multiple-output (massive MIMO), full-dimensional MIMO (FD-MIMO), array antennas, and large-scale antennas must be developed. In addition, new technologies such as metamaterial-based lenses and antennas, high-dimensional spatial multiplexing technology using orbital angular momentum (OAM), and reconfigurable intelligent surface (RIS) are being discussed to improve coverage of terahertz band signals.

[0005] In addition, to improve frequency efficiency and system network, development is underway in 6G communication systems for full duplex technology, in which uplink and downlink simultaneously utilize the same frequency resources at the same time; network technology that integrates satellites and HAPS (high-altitude platform stations); network structure innovation technology that supports mobile base stations and enables network operation optimization and automation; dynamic spectrum sharing technology through collision avoidance based on spectrum usage prediction; AI-based communication technology that utilizes AI (artificial intelligence) from the design stage and internalizes end-to-end AI support functions to realize system optimization; and next-generation distributed computing technology that realizes services of complexity exceeding the limits of terminal computing capabilities by utilizing ultra-high performance communication and computing resources (mobile edge computing (MEC), cloud, etc.). In addition, attempts are continuing to further strengthen connectivity between devices, further optimize networks, promote the softwareization of network entities, and increase the openness of wireless communication through the design of new protocols to be used in 6G communication systems, the implementation of hardware-based security environments, the development of mechanisms for the safe utilization of data, and the development of technologies regarding privacy maintenance methods.

[0006] Due to the research and development of such 6G communication systems, it is expected that a new dimension of hyper-connected experience will become possible through the hyper-connectivity of 6G communication systems, which encompasses not only connections between objects but also connections between people and objects. Specifically, it is projected that 6G communication systems will enable the provision of services such as truly immersive extended reality (truly immersive XR), high-fidelity mobile holograms, and digital replicas. Furthermore, services such as remote surgery, industrial automation, and emergency response, which are provided through 6G communication systems with enhanced security and reliability, will be applied in various fields including industry, healthcare, automotive, and home appliances.

[0007] Meanwhile, TCP (Transmission Control Protocol) is a connection-oriented protocol designed to reliably deliver data over the Internet. TCP guarantees the accuracy and order of data transmission and is one of the most widely used protocols in the Internet protocol stack.

[0008] The present disclosure proposes a method for searching and adjusting network bandwidth when establishing a new connection via TCP (transmission control protocol) in mobile communication.

[0009] A method of an apparatus for performing a connection via a transmission control protocol (TCP) according to one embodiment of the present disclosure comprises: receiving a TCP ACK for a packet in a plurality of rounds; and using a minimum round trip time (RTT) of each round and a bandwidth measurement value of the packet to determine an increase amount (G) of a congestion window (CWND). i Step of calculating the value of ); increase amount (G) of the above CWND i A step of comparing the ) value and the threshold value; and an increase amount (G) of the CWND. i If the value is below the threshold value, it may include a step of terminating the slow-start mechanism used in TCP.

[0010] According to one embodiment, the method of the device comprises an increase amount (G) of the CWND. i If the value of ) is greater than the threshold value, the increase amount of the CWND (G i It may further include a step of setting a new CWND using the ) value and the previous CWND.

[0011] According to one embodiment, the method of the device comprises a bandwidth (BW) for packet i each time a TCP ACK is received. i ) and EWMA bandwidth (exponential weighted moving average bandwidth) (BW ewma It may include additional steps to calculate ).

[0012] According to one embodiment, the method of the device comprises: a step of confirming that the current round has ended; and a minimum RTT of the current round ( ) is the minimum RTT of the previous round( It may include an additional step of determining whether it has decreased compared to ).

[0013] According to one embodiment, the method of the device comprises the minimum RTT of the current round ( ) is the minimum RTT of the previous round mentioned above ( If it has decreased compared to ), the increase amount of the above CWND (G i It may include additional steps to compensate for the value.

[0014] According to one embodiment, the method of the device comprises the minimum RTT of the current round ( ) is the minimum RTT of the previous round mentioned above ( If it has increased more than ), the increased CWND increase amount (G i It may include additional steps to reduce the value.

[0015] According to one embodiment, the device performing the connection via TCP may be any one of a server, a client, a UE (user equipment), a sender, or a base station.

[0016] According to one embodiment, the method of the device may further include the step of using a congestion avoidance mechanism that linearly increases the size of the CWND when the slow-start mechanism used in the TCP is terminated.

[0017] According to one embodiment of the present disclosure, an apparatus for performing a connection via a transmission control protocol (TCP) may include a transmitting and receiving unit; and a control unit. The control unit may: receive a TCP ACK for a packet in a plurality of rounds, calculate an increase (Gi) value of a congestion window (CWND) using a minimum round trip time (RTT) of each round and a bandwidth measurement value of the packet, compare the increase (Gi) value of the CWND with a threshold value, and if the increase (Gi) value of the CWND is less than or equal to the threshold value, terminate a slow-start mechanism used in TCP.

[0018] The method and apparatus according to the embodiments of the present disclosure can prevent network congestion and optimize data transmission speed by searching for and adjusting network bandwidth when establishing a connection through TCP (transmission control protocol).

[0019] Figure 1 shows an example to explain the congestion control algorithm of TCP (transmission control protocol).

[0020] Figure 2 shows another example to explain the congestion control algorithm of TCP.

[0021] Figures 3a and 3b are diagrams illustrating a Hystart (hybrid slow start) method for detecting bandwidth utilization in TCP.

[0022] Figure 4 is a diagram illustrating an example of a case where bandwidth cannot be utilized in the TCP Hystart method.

[0023] FIG. 5 illustrates an example of detecting bandwidth utilization and searching for an appropriate bandwidth in TCP according to an embodiment of the present disclosure.

[0024] FIG. 6 shows the increase amount (G) of the Congestion Window (CWND) to detect bandwidth utilization in TCP according to one embodiment of the present disclosure. i This is a diagram to explain how to adjust ).

[0025] FIG. 7 shows the increase amount (G) of the Congestion Window (CWND) in TCP in a device according to one embodiment of the present disclosure. i This is a flowchart to explain how to terminate slow-start according to ).

[0026] FIG. 8 illustrates an example of a case in which bandwidth utilization is less than 100% and only uncontrollable delay exists according to one embodiment of the present disclosure.

[0027] FIG. 9 illustrates an example of a case where bandwidth utilization is 100% and a queuing delay exists according to an embodiment of the present disclosure.

[0028] FIG. 10 is a drawing for explaining the Slow-start termination criteria when bandwidth utilization is determined to be 100% according to one embodiment of the present disclosure.

[0029] FIG. 11 shows the increase amount (G) of the Congestion Window (CWND) according to one embodiment of the present disclosure. i This is a diagram to explain a method for controlling ).

[0030] FIG. 12 is a diagram illustrating a Slow-start termination criterion using the minimum RTT of each round or the bandwidth measurement of each TCP ACK according to one embodiment of the present disclosure.

[0031] FIG. 13 shows a communication system according to one embodiment of the present disclosure.

[0032] FIG. 14 is a block diagram illustrating an apparatus according to an embodiment of the present disclosure.

[0033] Preferred embodiments of the present disclosure will be described in detail below with reference to the accompanying drawings. It should be noted that identical components in the accompanying drawings are represented by the same reference numerals whenever possible. Furthermore, detailed descriptions of known functions and configurations that may obscure the essence of the present disclosure will be omitted.

[0034] In describing the embodiments in this specification, technical details that are well known in the technical field to which this disclosure belongs and are not directly related to this disclosure are omitted. This is intended to convey the essence of this disclosure more clearly without obscuring it by omitting unnecessary explanations.

[0035] For the same reason, some components in the attached drawings have been exaggerated, omitted, or schematically depicted. Additionally, the size of each component does not entirely reflect its actual dimensions. Identical or corresponding components in each drawing have been assigned the same reference numbers.

[0036] The advantages and features of the present disclosure and the methods for achieving them will become clear by referring to the embodiments described below in detail together with the accompanying drawings. However, the present disclosure is not limited to the embodiments disclosed below but may be implemented in various different forms. The embodiments provided are merely to ensure that the disclosure of the present disclosure is complete and to fully inform those skilled in the art of the scope of the disclosure, and the present disclosure is defined only by the scope of the claims. Throughout the specification, the same reference numerals refer to the same components.

[0037] At this time, it will be understood that each block of the process flow diagrams and combinations of the flow diagrams can be executed by computer program instructions. Since these computer program instructions can be loaded into the processor of a general-purpose computer, a special-purpose computer, or other programmable data processing equipment, the instructions executed through the processor of the computer or other programmable data processing equipment create means to perform the functions described in the flow diagram block(s). Since these computer program instructions can also be stored in computer-available or computer-readable memory that can be directed toward the computer or other programmable data processing equipment to implement the function in a specific way, the instructions stored in computer-available or computer-readable memory can also produce a manufactured item containing the means of instruction to perform the function described in the flow diagram block(s). Since computer program instructions can be loaded onto a computer or other programmable data processing equipment, instructions that perform a series of operation steps on the computer or other programmable data processing equipment to create a process executed by the computer can also provide steps for executing the functions described in the flowchart block(s).

[0038] Additionally, each block may represent a module, segment, or part of code containing one or more executable instructions for executing a specified logical function(s). It should also be noted that in some alternative execution examples, the functions mentioned in the blocks may occur out of order. For instance, two blocks described in succession may actually be executed substantially simultaneously, or the blocks may be executed in reverse order according to their corresponding functions.

[0039] In this embodiment, the term "part" refers to a software or hardware component such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC), and the "part" performs certain roles. However, the meaning of "part" is not limited to software or hardware. The "part" may be configured to reside in an addressable storage medium or configured to run one or more processors. Accordingly, as an example, the "part" includes components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and "parts" may be combined into a smaller number of components and "parts" or further separated into additional components and "parts." In addition, the components and '~parts' may be implemented to play one or more CPUs within the device or secure multimedia card.

[0040] In embodiments of the present disclosure, the base station is an entity that performs resource allocation for terminals and may be at least one of a gNode B, gNB, eNode B, eNB, Node B, BS, radio access unit, base station controller, or a node on a network. Additionally, the base station may be a network entity comprising at least one of an IAB-donor (Integrated Access and Backhaul donor) which is a gNB providing network access to terminal(s) through a network of backhaul and access links in an NR system, and an IAB-node which is a RAN (radio access network) node that supports NR access link(s) to terminal(s) and supports NR backhaul links to said IAB-donor or another IAB-node. A terminal may be radio-connected through an IAB-node and may transmit and receive data with an IAB-donor connected to at least one IAB-node through a backhaul link.

[0041] In addition, the above terminal may include user equipment (UE), a mobile station (MS), a cellular phone, a smartphone, a computer, or various devices capable of performing communication functions. In this disclosure, the downlink (DL) refers to the wireless transmission path of a signal transmitted by a base station to a terminal, and the uplink (UL) refers to the wireless transmission path of a signal transmitted by a terminal to a base station. Furthermore, while LTE or LTE-A systems may be described below as examples, embodiments of this disclosure may also be applied to other communication systems having similar technical backgrounds or channel types. For example, 5th generation mobile communication technologies (5G, new radio, NR) or 6G developed after LTE-A may be included therein, and the 5G or 6G below may be a concept that includes existing LTE, LTE-A, and other similar services. Additionally, this disclosure may be applied to other communication systems with some modifications made at the discretion of a person with skilled technical knowledge, provided that it does not deviate significantly from the scope of this disclosure.

[0042] Terms used in the following description to refer to signals, channels, control information, network entities, and device components are examples provided for the convenience of explanation. Additionally, terms used in the following description to refer to nodes, messages, interfaces between network entities, and various information are examples provided for the convenience of explanation. Accordingly, the present disclosure is not limited to the terms described below, and other terms having equivalent technical meanings may be used.

[0043] The present disclosure describes various embodiments using terms used in some communication standards (e.g., 3GPP (3rd Generation Partnership Project)), but this is merely illustrative. Various embodiments of the present disclosure can be easily modified and applied to other communication systems.

[0044] TCP (Transmission Control Protocol) is a connection-oriented protocol designed to reliably deliver data over the Internet. TCP guarantees the accuracy and order of data transmission and is one of the most widely used protocols in the Internet protocol stack.

[0045] When establishing a new connection, TCP uses methods such as Slow Start, Congestion Avoidance, algorithms for congestion control (e.g., Reno, Cubic, BBR (Bottleneck Bandwidth and Round-trip Propagation Time), or Fast Retransmit and Fast Recovery to explore and adjust network bandwidth, thereby preventing network congestion and optimizing data transmission speeds.

[0046] When a new connection is established via Slow Start, TCP may not transmit large amounts of data to the network from the outset. TCP can use the Slow Start mechanism to explore network bandwidth incrementally. The initial congestion window (CWND) can typically start with a small value (e.g., 1, 2, or 10 segments). The CWND size can increase exponentially with each ACK (acknowledgment) packet received (e.g., 1 segment → 2 segments → 4 segments in the first round). The increase in the CWND size can continue until the network bandwidth limit is reached or congestion is detected.

[0047] When a network begins to become congested, TCP can protect the network through Congestion Avoidance, which increases the window size linearly rather than exponentially. Network congestion can be detected through packet loss or an increase in Round Trip Time (RTT). During the Congestion Avoidance phase, the network can adapt while maintaining stability.

[0048] TCP can efficiently search for bandwidth and adapt to network conditions through various congestion control algorithms. Congestion control algorithms can be implemented as at least one of the following: the Reno method, which reduces the congestion window and re-searches when packet loss is detected; the Cubic method, which is used by default in Linux and is optimized for higher bandwidth and RTT environments; or the BBR method, which predicts bandwidth based on bottleneck bandwidth and delay.

[0049] When packet loss occurs, TCP can manage bandwidth usage by using Fast Retransmit and Fast Recovery. After detecting a loss, TCP can reduce the window size and proceed directly to the Congestion Avoidance phase instead of Slow Start.

[0050] TCP can explore and adjust bandwidth upon new connections through at least one mechanism among Slow Start, Congestion Avoidance, and congestion control algorithms. This allows TCP to prevent congestion while efficiently utilizing network resources.

[0051] Figure 1 shows an example to explain the congestion control algorithm of TCP.

[0052] Figure 1 illustrates an example of the operation when initiating a new TCP Cubic connection. In a network environment, data transmission occurs through various paths, and the section with the smallest bandwidth (bottleneck) among these paths can be a major factor determining data transmission efficiency. In mobile communication environments, such as wireless networks, bottlenecks are prone to occur, which is likely to limit the utilization of the total bandwidth.

[0053] TCP can resolve data loss and transmission delay issues by utilizing the bandwidth of bottlenecks to transmit data; however, if bandwidth is limited at bottlenecks, transmitted data must wait at the bottleneck point, which can cause additional network load.

[0054] The TCP Cubic protocol can dynamically detect bottleneck capacity during the initial connection phase. In the end-to-end path, the server's bandwidth capacity (Capacity1) and the client's bandwidth capacity (Capacity2) may differ, and if the client's bandwidth capacity (Capacity2) is the bottleneck capacity, the Congestion Window (CWND) can be adjusted to maximize the utilization of the client's bandwidth capacity (Capacity2).

[0055] If the client's bandwidth capacity (Capacity 2), which is the bottleneck, is fully utilized, packets may have to wait even if more data is sent (i.e., even if the server's bandwidth capacity (Capacity 1) is filled further). If the client's bandwidth capacity (Capacity 2), which is the bottleneck, is fully utilized, additional data will wait at the bottleneck, so efficient flow control and data scheduling may be required.

[0056] Figure 2 shows another example to explain the congestion control algorithm of TCP.

[0057] Referring to Figure 2, if the bandwidth capacity of the server (Capacity1) and the bandwidth capacity of the client (Capacity2) are smaller than the BDP (ideal congestion window size), the packet delay may not increase. On the other hand, if the bandwidth capacity of the server (Capacity1) and the bandwidth capacity of the client (Capacity2) are greater than or equal to the BDP (ideal congestion window size), the packet delay may increase.

[0058] If packet delay increases, the server and / or client can determine that the current bandwidth is being utilized at 100%. If packet delay increases, the server and / or client can determine that the current bandwidth is being utilized at 100% and that the increase in packet delay is caused by unprocessed packets accumulating in the buffer.

[0059] Figures 3a and 3b are diagrams illustrating a Hystart (hybrid slow start) method for detecting bandwidth utilization in TCP.

[0060] Referring to Fig. 3a, the sender and receiver can perform an initial operation via slow start to quickly search for available bandwidth when initiating a new connection via TCP cubic. However, when using slow start, if an environment with a large buffer at a base station, such as a cellular network, is encountered, too many packets may be transmitted before packet loss is detected, which can have an adverse effect on the overall network. To address this, Hystart (Hybrid Slow Start) was introduced, which can detect 100% bandwidth utilization in advance and terminate the slow start operation before it negatively affects the network. Hystart is a method that optimizes the bandwidth search process by combining slow start and congestion avoidance. It proposes a method to quickly search for bandwidth in the initial stage while terminating the slow start early based on packet loss or Round Trip Time (RTT) to avoid network congestion.

[0061] Hystart can detect 100% bandwidth utilization using two metrics based on the round. One metric is a change in the ACK train length, and the other is an increase in packet delay. A round is defined based on the transmission of the first packets; packets transmitted to the CWND at the time all first packets have arrived become the next round packets. By repeating this process, packets are distinguished by round.

[0062] When the sender receives an ACK for all packets transmitted from the previous CWND, it can double the CWND, and can double the CWND until packet loss occurs. Referring to FIG. 3a, the sender receives an ACK for packets transmitted from the first CWND (CWND1) from the receiver and can set a second CWND (CWND2) which is twice the first CWND (CWND1). The sender receives an ACK for two packets transmitted from the second CWND (CWND2) from the receiver and can set a third CWND (CWND3) which is twice the second CWND (CWND2). The sender receives an ACK for four packets transmitted from the receiver at the third CWND (CWND3) and can set a fourth CWND (CWND4) which is twice the third CWND (CWND3). The sender can transmit eight packets at the fourth CWND (CWND4) to the receiver.

[0063] Referring to FIGS. 3a and 3b, the sender can receive an ACK packet for a packet transmitted from the first CWND (CWND1) in Round 1, receive ACK packets for two packets transmitted from the second CWND (CWND2) in Round 2, receive ACK packets for four packets transmitted from the third CWND (CWND3) in Round 3, and receive ACK packets for eight packets transmitted from the fourth CWND (CWND4) in Round 4.

[0064] The sender determines the minimum RTT (RTT) of the session based on the difference between the arrival time of each ACK and the arrival time of the first ACK of a round, through changes in the ACK train length. min If it becomes less than half of ), it can be determined that the bandwidth is 100% utilized. The sender can likewise determine that the bandwidth is 100% utilized if the delay of the first 8 packets of each round is greater than 1.125 times the packet delay. If the bandwidth is 100% utilized, the sender may terminate the slow-start to reduce the adverse network effects that the slow-start could cause.

[0065] Meanwhile, delay can be classified into propagation delay, queuing delay, and uncontrollable delay. Propagation delay is the time it takes for data to be transmitted along an end-to-end path at the speed of light. Queueing delay is a delay caused by queuing, which can occur when packets accumulate in a queue if more packets are transmitted to the network than the available bandwidth allows. Uncontrollable delay is a delay caused by transmission, processing, and cellular network scheduling, and can occur regardless of network bandwidth or TCP operation.

[0066] Queueing delay is a delay that occurs when 100% of the bandwidth is utilized and more packets are transmitted; therefore, if an increase in delay is determined to be due to queueing delay, the device can determine that 100% of the bandwidth is being used by observing the increase in delay in Hystart. However, since there is inevitable uncontrollable delay in mobile communication, an increase in delay may be observed even if the bandwidth is not being utilized 100%.

[0067] Figure 4 is a diagram illustrating an example of a case where bandwidth cannot be utilized in the TCP Hystart method.

[0068] Figure 4 is a graph showing RTT values ​​according to the packet number, and the CWND can be fixed to use 100 Mbps in a 500 Mbps bandwidth, for example (using only 20% of the bandwidth). In Figure 4, an increase in delay can be observed due to uncontrollable delay, even though there is no queuing (since only 20% of the bandwidth is utilized). This originates from the characteristics of mobile communication, where mobile communication base stations operate by allocating downlink wireless resources when the user channel is favorable to maximize throughput, and can allocate uplink wireless resources when a user request arrives. At this time, wireless resources are not always available, and uncontrollable delay may inevitably occur due to the base station's scheduling.

[0069] Hystart may cause a problem where it incorrectly determines the end of slow-start by recognizing the increase in RTT caused by uncontrollable delay, which is inevitable in mobile communication, as a queuing delay and judging that the bandwidth is being utilized at 100% even though it is not.

[0070] FIG. 5 illustrates an example of detecting bandwidth utilization and searching for an appropriate bandwidth in TCP according to an embodiment of the present disclosure.

[0071] FIG. 5 is a graph showing the change in CWND over time for each of the cases where only Slow start is used (Only Slow start), where Hystart is used (Hystart), and the method according to the embodiment of the present disclosure (the present invention) when TCP starts a new connection in mobile communication.

[0072] When using only Slow start, TCP does not consider whether 100% of the bandwidth is being utilized when initiating a new connection, which can lead to significant packet loss and adverse network effects.

[0073] When using Hystart, the increase in RTT caused by uncontrollable delay, which is inevitable in mobile communication, is recognized as a queuing delay, and slow-start may be terminated prematurely by judging that the bandwidth is being utilized 100% even though it is not.

[0074] The method according to an embodiment of the present disclosure (the present invention) can detect whether bandwidth is being utilized at 100% when there is an inevitable uncontrollable delay, and can successfully search for an appropriate bandwidth. The method according to an embodiment of the present disclosure (the present invention) can accurately detect the point where TCP utilizes 100% of the bandwidth when a new connection is established in mobile communication, thereby enabling rapid utilization of the entire bandwidth.

[0075] FIG. 6 shows the increase amount (G) of the Congestion Window (CWND) to detect bandwidth utilization in TCP according to one embodiment of the present disclosure. i This is a diagram to explain how to adjust ).

[0076] The present disclosure relates to a CWND increment (G) to determine whether TCP in mobile communication utilizes 100% of the bandwidth when initiating a new connection. i An action that controls ) and the controlled CWND increment (G i It may include an action to terminate slow-start based on ).

[0077] Referring to FIG. 6, the region in which the present invention operates is the slow-start phase, and in the slow-start phase, the device increases the CWND amount (G) according to the packet delay. i Explore bandwidth while adjusting the ) value, and CWND increment (G i If the value drops below a certain threshold, it is determined that the current bandwidth is being used at 100%, and the slow-start operation can be terminated.

[0078] Since the device operates in the slow-start phase, CWND G at every round as shown in Equation 1 below. i It can be increased by a factor of two. According to one embodiment, in the case of Cubic, G i The value can be set to 2.

[0079] [Mathematical Formula 1]

[0080]

[0081] According to one embodiment, the device is G i G while continuously changing the value according to network conditions i Slow-start can be terminated based on the value. In this case, G i The reason for changing the value continuously is that the TCP layer fundamentally does not know the reason for the increase in packet delay; therefore, a guard is required to prevent misjudging the slow-start termination caused by inevitable delays that change over time. In this case, a guard refers to G when the inevitable delay increases. i Observe network conditions by decreasing the value, and if the inevitable delay is reduced, the reduced G i By compensating the value, it is possible to effectively search for bandwidth again.

[0082] FIG. 7 shows the increase amount (G) of the Congestion Window (CWND) in TCP in a device according to one embodiment of the present disclosure.i This is a flowchart to explain how to terminate slow-start according to ).

[0083] A device performing at least one operation of FIG. 7 may be implemented as a server, client, terminal, UE, sender, or base station. According to one embodiment, the operations of FIG. 7 may be performed by a plurality of devices, and each of the plurality of devices may be implemented as a server, client, terminal, UE, sender, or base station.

[0084] Referring to FIG. 7, in operation 701, the device can receive a TCP ACK for packet j.

[0085] In 703 operation, the device receives the bandwidth BW for packet j every time it receives a TCP ACK. j Wow, the EWMA bandwidth (Exponential Weighted Moving Average Bandwidth) is BW ewma EWMA bandwidth can be calculated. EWMA bandwidth is a metric used in network management and analysis to smoothly reflect changes in bandwidth usage trends and can be used to smooth out bandwidth changes over time by giving higher weight to recent data.

[0086] According to one embodiment, BW, which is the bandwidth for packet j, j It can be calculated based on mathematical formula 2.

[0087] [Mathematical Formula 2]

[0088]

[0089] Here, : RTT of packet j, : Total number of packets transmitted during the time

[0090] According to one embodiment, BW jBW, which is the EWMA bandwidth, is a slightly longer-term bandwidth. ewma It can be calculated based on mathematical formula 3.

[0091] [Mathematical Formula 3]

[0092]

[0093] In operation 705, the device can determine whether the current round has ended.

[0094] If the current round has not ended (705-no), the device may terminate the entire operation.

[0095] If the current round has ended (705-yes), in operation 707, the device compares the measured bandwidth with the minimum RTT of the round and the CWND increment (G i The value of ) can be adjusted. According to one embodiment, the device satisfies Equation 4 when the minimum RTT of the round ( It is determined that ) has decreased, and if mathematical formula 4 is not satisfied, the minimum RTT of the round( It can be determined that ) has increased.

[0096] [Mathematical Formula 4]

[0097]

[0098] Minimum RTT of the round If it is determined that ) has decreased (707-yes), in operation 709, the device [determines] the decreased CWND increment (G i The value of ) can be compensated. According to one embodiment, the device can compensate for the reduced increase in CWND (G) using Equation 5. i ) can compensate for the value.

[0099] [Mathematical Formula 5]

[0100]

[0101] Here, is the sensitivity parameter, and G indicates how sensitively i You can control whether to adjust the value. G i The initial value of can be set to 2, which is the same value as the existing slow-start.

[0102] At this time, the device compares the minimum RTT for each round, and if it has decreased more, the increase in CWND (G i The ) value can be increased further. The device can increase the CWND increment (G i By setting the maximum value to 2 to make it more vulnerable to RTT increases, it can effectively detect whether 100% bandwidth is being utilized, and as the round minimum RTT happens to become very small, the CWND increase (G i To prevent the phenomenon where the ) value increases significantly, the increase in CWND (G i The value can be set to have a maximum value of 2.

[0103] Minimum RTT of the round If it is determined that ) has increased (707-no), in operation 711, the device increases the CWND increment (G i The value of ) can be adjusted. According to one embodiment, the device uses Equation 6 to increase the CWND increment (G i ) can decrease the value.

[0104] [Mathematical Formula 6]

[0105]

[0106] Here, is the sensitivity parameter, and G indicates how sensitively i You can control whether to adjust the value. G i The initial value of can be set to 2, which is the same value as the existing slow-start.

[0107] The device has the minimum RTT of the previous round ( ) and current round minimum RTT( Compare ) and current round minimum RTT( If ) increases, the increase in CWND (G i The value of ) can be reduced. In this case, since the round minimum RTT can increase sufficiently due to inevitable delay, to make bandwidth search more effective, if the currently measured bandwidth is becoming larger than the long-term ewma bandwidth—that is, if the bandwidth being used is increasing—G i The amount of decrease in value can be reduced.

[0108] In operation 713, the device G calculated by operation 709 and / or operation 711 i The value It is possible to determine whether it is less than or equal to. At this time, the calculated G i The value The meaning of "less than" is that the minimum round RTT has increased two or more times without increasing the bandwidth being used, which can indicate with high probability that 100% of the available bandwidth is being utilized.

[0109] G calculated by operation 709 and / or operation 711 i The value If less than or equal to (713-yes), in operation 715, the device can terminate slow-start.

[0110] G calculated by operation 709 and / or operation 711 i The value If not less than or equal to (713-no), in operation 717, the device calculates G i cwnd using the value i It can calculate. According to one embodiment, the device can calculate the calculated G i cwnd using the value and mathematical formula 7 i can calculate.

[0111] [Mathematical Formula 7]

[0112]

[0113] FIG. 8 illustrates an example of a case in which bandwidth utilization is less than 100% and only uncontrollable delay exists according to one embodiment of the present disclosure.

[0114] In Fig. 8, the device is G i Change the value continuously according to network conditions and G i Slow-start can be terminated based on the value. The device performing the operation of FIG. 8 may be implemented as a server, client, terminal, UE, sender, or base station.

[0115] Since the TCP layer basically does not know the reason for the increase in packet delay, the device G i The value can be continuously changed according to network conditions to determine whether to terminate the slow-start. In this case, a guard is required to prevent misjudgment of the slow-start termination caused by inevitable uncontrollable delays that vary over time.

[0116] FIG. 8 illustrates the propagation and queueing delay, the uncontrollable delay, and RTT samples. If the propagation and queueing delay remains constant while the uncontrollable delay changes over time, the device G according to the uncontrollable delay. i The value can be changed continuously.

[0117] Referring to FIG. 8, as the uncontrollable delay increases, the device G iNetwork conditions can be observed by reducing the value. When uncontrollable delay is reduced, the device compensates for the reduced value to effectively search for bandwidth again.

[0118] FIG. 9 illustrates an example of a case where bandwidth utilization is 100% and a queuing delay exists according to an embodiment of the present disclosure.

[0119] In Fig. 9, the device is G i Change the value continuously according to network conditions and G i Slow-start can be terminated based on the value. The device performing the operation of FIG. 8 may be implemented as a server, client, terminal, UE, sender, or base station.

[0120] FIG. 9 illustrates the propagation and queueing delay, uncontrollable delay, and RTT samples. When the propagation and queueing delay and uncontrollable delay change over time, the device G i The value can be changed continuously.

[0121] Referring to FIGS. 8 and FIGS. 9, if G i When the value drops below a certain level, the uncontrollable delay decreases as shown in Fig. 9, and G again i This means that the value could not be compensated. If bandwidth utilization is 100% after time t1, a queuing delay occurs (queueing delay > 0) and the device can terminate slow-start.

[0122] FIG. 10 is a drawing for explaining the Slow-start termination criteria when bandwidth utilization is determined to be 100% according to one embodiment of the present disclosure.

[0123] In Fig. 10, the device is G i The value can be changed continuously depending on the network conditions, and slow-start can be terminated based on the value. The device performing the operation of FIG. 10 can be implemented as a server, client, terminal, UE, sender, or base station or any one of them.

[0124] FIG. 10 illustrates the propagation and queueing delay, uncontrollable delay, and RTT samples. When the propagation and queueing delay and uncontrollable delay change over time, the device G i The value can be changed continuously.

[0125] Referring to FIG. 10, if the device uses the Hystart method, it may determine that the increase in delay is due to queuing delay and incorrectly determine that the bandwidth is 100% utilized. If the device uses the method according to an embodiment of the present invention, it determines that the increase in delay is due to uncontrollable delay and G i The value can be reduced.

[0126] FIG. 11 is a drawing illustrating a method for controlling the increase amount (Gi) of a Congestion Window (CWND) according to one embodiment of the present disclosure.

[0127] G in Fig. 11 iThe device for adjusting the value may be implemented as a server, client, terminal, UE, sender, or base station, or any one thereof. Referring to FIG. 11, the device has a minimum RTT of each round ( ) and bandwidth measurements (BW) at packet j j Using ) G i You can adjust the value.

[0128] According to one embodiment, the device has a minimum RTT of the corresponding round ( ) and the minimum RTT of the previous round( Compare ) and use the comparison result to G i You can adjust the value.

[0129] According to one embodiment, the device measures the bandwidth of packet j for every TCP ACK ( Calculate ) and use the calculation result to G i The value can be adjusted. Here, is the RTT of packet j, and Is This is the total number of packets transmitted during the time period.

[0130] According to one embodiment, the device has a minimum RTT of the corresponding round ( ) and the minimum RTT of the previous round( Comparison result of ), and bandwidth measurement of packet j for each ( Using ) G i You can adjust the value.

[0131]

[0132] FIG. 12 is a diagram illustrating a Slow-start termination criterion using the minimum RTT of each round or the bandwidth measurement of each TCP ACK according to one embodiment of the present disclosure.

[0133] In Fig. 12, the device is G i Change the value continuously according to network conditions and G iSlow-start can be terminated based on the value. The device performing the operation of FIG. 12 can be implemented as a server, client, terminal, UE, sender, or base station or any one of them.

[0134] FIG. 12 illustrates the propagation and queueing delay, uncontrollable delay, and RTT samples. When the propagation and queueing delay and uncontrollable delay change over time, the device G i The value can be changed continuously.

[0135] G i The parameter for adjusting the value is the minimum RTT of each round ( It can be a bandwidth measurement for each TCP ACK. The reason for using the minimum RTT of each round is that if the minimum RTT of each round is compared with the minimum RTT of the session, it is possible to misjudge the slow-start termination by comparing the delay increased by inevitable delay in that round with the minimum RTT of the session measured when inevitable delay was almost non-existent. In other words, the impact of inevitable delay can be reduced by comparing the minimum RTT of the current round with the minimum RTT of the previous round, which contains information about inevitable delay. The reason for using bandwidth measurements is that while each packet may experience increased delay due to inevitable delay, it can remain constant from a bandwidth perspective. Thus, bandwidth can also reduce the impact of inevitable delay.

[0136] The device G at the end of every round i Adjust the value, and the adjusted G i CWND can be increased depending on the value. In this case, G iWhen the value becomes smaller than the threshold, the device can terminate slow-start.

[0137] FIG. 13 shows a communication system according to one embodiment of the present disclosure.

[0138] Referring to FIG. 13, the communication system may include a server, a base station, and a UE.

[0139] The server includes an Iperf3 application and a Congestion Control Algorithm (CCA) module, and can manage network congestion and deliver data to the UE. The Internet can connect the server and the base station via a wired or wireless network. The base station can receive data from the Internet and deliver it to the UE via a wireless network. The base station can communicate with the UE by utilizing a cellular network. The UE includes an Iperf3 module and can perform data transmission and reception through the base station.

[0140] A server can transmit downlink traffic to a UE through an Iperf3 application. At least one of the server, base station, and UE can use the method according to an embodiment of the present disclosure to achieve high bandwidth while simultaneously suppressing an increase in RTT by appropriately terminating slow-start at the point of 100% bandwidth utilization.

[0141] FIG. 14 is a block diagram illustrating an apparatus according to embodiments of the present disclosure.

[0142] The device of FIG. 14 may be one of the server, client, terminal, UE, sender, or base station described in FIG. 1 to 13. Referring to FIG. 14, the device may include a transceiver (1410), a memory (1420), and a control unit (1430).

[0143] The transmitting and receiving unit (1410) can transmit and receive signals with a server, a base station, a network device, or another terminal. The transmitting and receiving unit (1410) may also be referred to as a transceiver. The transmitting and receiving unit (1410) may include a transmitting unit and a receiving unit.

[0144] The memory (1420) can store at least one of the information transmitted and received through the transmission and reception unit (1410) and the information generated through the control unit (1430).

[0145] The control unit (1430) may be defined as a circuit or application-specific integrated circuit or at least one processor. The control unit (1430) may control the overall operation of the device according to the embodiment proposed in this disclosure. For example, the control unit (1430) may control the signal flow between each block to perform operations according to the flowchart described above. Specifically, the control unit (1430) may control the operation of the device illustrated in FIGS. 1 to 13, for example.

[0146] According to one embodiment, the control unit (1430) receives TCP ACKs for packets in a plurality of rounds, and uses the minimum round trip time (RTT) of each round and the bandwidth measurement value of the packet to determine the increase amount (G) of the congestion window (CWND). i Calculate the value of ) and the increase amount of the above CWND (G i Compare the ) value and the threshold value, and the increase amount of the above CWND (G iIf the value is below the threshold value, the slow-start mechanism used in TCP can be terminated.

[0147] According to one embodiment, the control unit (1430) has an increase amount (G) of the CWND. i If the value is greater than the threshold value, a new CWND can be set using the increment amount (Gi) value of the CWND and the previous CWND.

[0148] According to one embodiment, the control unit (1430) receives a bandwidth (BW) for packet i whenever it receives every TCP ACK. i ) and EWMA bandwidth (exponential weighted moving average bandwidth) (BW ewma ) can be calculated.

[0149] According to one embodiment, the control unit (1430) confirms that the current round has ended and the minimum RTT of the current round ( ) is the minimum RTT of the previous round( You can determine whether it has decreased compared to ).

[0150] According to one embodiment, the control unit (1430) has the minimum RTT of the current round ( ) is the minimum RTT of the previous round mentioned above ( If it has decreased compared to ), the increase amount of the above CWND (G i ) can compensate for the value.

[0151] According to one embodiment, the control unit (1430) uses Equation 8 to increase the amount (G) of the CWND. i ) can compensate for the value.

[0152] [Mathematical Formula 8]

[0153]

[0154] The above is the sensitivity parameter, and G indicates how sensitively iIt can be a parameter that controls whether to adjust the value.

[0155] According to one embodiment, the control unit (1430) has the minimum RTT of the current round ( ) is the minimum RTT of the previous round mentioned above ( If it has increased more than ), the increased CWND increase amount (G i ) can decrease the value.

[0156] According to one embodiment, the control unit (1430) uses Equation 9 to increase the CWND increase amount (G i ) can decrease the value.

[0157] [Mathematical Formula 9]

[0158]

[0159] The above is the sensitivity parameter, and G indicates how sensitively i You can control whether to adjust the value.

[0160] According to one embodiment, the control unit (1430) may use a congestion avoidance mechanism that linearly increases the size of the CWND when the slow-start mechanism used in the TCP is terminated.

[0161] Methods according to the embodiments described in the claims or specification of the present disclosure may be implemented in the form of hardware, software, or a combination of hardware and software. When implemented in software, a computer-readable storage medium may be provided for storing one or more programs (software modules). One or more programs stored in the computer-readable storage medium are configured for execution by one or more processors within an electronic device. One or more programs include instructions that cause the electronic device to execute the methods according to the embodiments described in the claims or specification of the present disclosure.

[0162] Such programs (software modules, software) may be stored in random access memory, non-volatile memory including flash memory, ROM (Read Only Memory), Electrically Erasable Programmable Read Only Memory (EEPROM), magnetic disc storage devices, Compact Disc-ROM (CD-ROM), Digital Versatile Discs (DVDs), or other forms of optical storage devices, magnetic cassettes. Alternatively, they may be stored in memory composed of some or all of these. Additionally, each constituent memory may include multiple units.

[0163] Additionally, the above program may be stored on an attachable storage device that can be accessed via a communication network such as the Internet, Intranet, Local Area Network (LAN), Wide LAN (WLAN), or Storage Area Network (SAN), or a combination thereof. Such a storage device may be connected to a device performing an embodiment of the present disclosure through an external port. Additionally, a separate storage device on a communication network may be connected to a device performing an embodiment of the present disclosure.

[0164] In the specific embodiments of the present disclosure described above, the components included in the invention are expressed in a singular or plural form according to the specific embodiments presented. However, the singular or plural expression is selected to suit the situation presented for convenience of explanation, and the present disclosure is not limited to singular or plural components; even if a component is expressed in the plural form, it may be composed of a singular form, or even if a component is expressed in the singular form, it may be composed of a plural form.

[0165] Meanwhile, although specific embodiments have been described in the detailed description of the present disclosure, it is understood that various modifications are possible within the scope of the present disclosure. Therefore, the scope of the present disclosure should not be limited to the described embodiments, but should be defined by the claims set forth below as well as equivalents thereof.

Claims

1. A method of a device for performing a connection via TCP (transmission control protocol), A step of receiving TCP ACKs for packets in multiple rounds; Using the minimum RTT (round trip time) of each round and the bandwidth measurement value of the packet, the increase amount (G) of the CWND (congestion window) i Step to calculate the ) value; The increase amount of the above CWND (G i ) A step of comparing the value and the threshold value; and The increase amount of the above CWND (G i A method comprising the step of terminating the slow-start mechanism used in TCP if the value is below the threshold value.

2. In Paragraph 1, The increase amount of the above CWND (G i If the value of ) is greater than the threshold value, the increase amount of the CWND (G i A method that further includes the step of setting a new CWND using the ) value and the previous CWND.

3. In Paragraph 1, Bandwidth (BW) for packet j for every TCP ACK received j ) and EWMA bandwidth (exponential weighted moving average bandwidth) (BW ewma A method that includes an additional step of calculating ).

4. In Paragraph 3, A step confirming that the current round has ended; and The minimum RTT of the current round mentioned above ( ) is the minimum RTT of the previous round( A method that includes an additional step of determining whether it has decreased compared to ).

5. In Paragraph 4, The above minimum RTT of the current round ( ) is the minimum RTT of the previous round mentioned above ( If it has decreased compared to ), the increase amount of the above CWND (G i A method that includes an additional step of compensating for the value.

6. In Paragraph 5, Using Mathematical Formula 1, the increase amount of the above CWND (G i It further includes a step to compensate for the ) value, and [Mathematical Formula 1] The above is the sensitivity parameter, and G indicates how sensitively i A method that is a parameter controlling whether to adjust the value.

7. In Paragraph 4, The above minimum RTT of the current round ( ) is the minimum RTT of the previous round mentioned above ( If it has increased more than ), the increased CWND increase amount (G i A method that includes an additional step of reducing the value.

8. In Paragraph 7, Using Mathematical Formula 2, the above increased CWND increase amount (G i It further includes a step to reduce the value, [Mathematical Formula 2] The above is the sensitivity parameter, and G indicates how sensitively i A method that is a parameter controlling whether to adjust the value.

9. In paragraph 1, the device performing the connection via TCP is, A method that is any one of a server, client, UE (user equipment), sender, or base station.

10. In Paragraph 1, A method further comprising the step of using a congestion avoidance mechanism that linearly increases the size of the CWND when the slow-start mechanism used in the above TCP is terminated.

11. In a device that performs a connection via TCP (transmission control protocol), Transmitter / receiver; and It includes a control unit, and the control unit is: Receive TCP ACKs for packets in multiple rounds, and Using the minimum RTT (round trip time) of each round and the bandwidth measurement value of the packet, the increase amount (G) of the CWND (congestion window) i Calculate the value of ) and, The increase amount of the above CWND (G i Compare the ) value and the threshold value, The increase amount of the above CWND (G i A device that terminates the slow-start mechanism used in TCP if the value is below the threshold value.

12. In Clause 11, the control unit is, The increase amount of the above CWND (G i If the value of ) is greater than the threshold value, the increase amount of the CWND (G i A device that sets a new CWND using the ) value and the previous CWND.

13. In Clause 11, the control unit is, Bandwidth (BW) for packet j for every TCP ACK received j ) and EWMA bandwidth (exponential weighted moving average bandwidth) (BW ewma A device that calculates ).

14. In Clause 13, the control unit is, Confirm that the current round has ended, The minimum RTT of the current round mentioned above ( ) is the minimum RTT of the previous round( A device for determining whether it has decreased compared to ).

15. In paragraph 14, the control unit above, The above minimum RTT of the current round ( ) is the minimum RTT of the previous round mentioned above ( If it has decreased compared to ), the increase amount of the above CWND (G i A device that compensates for the value of )