TCP proxy device assisted communication method and apparatus in wireless communication

文档序号:1677003 发布日期:2019-12-31 浏览:35次 中文

阅读说明:本技术 无线通信中tcp代理设备辅助的通信方法和装置 (TCP proxy device assisted communication method and apparatus in wireless communication ) 是由 郑贺景 林正皖 宣荣奭 金镇炯 黄载现 李贤柱 张修荣 李基远 李晋豪 于 2018-05-17 设计创作,主要内容包括:本公开涉及一种通信方法和用于将第五代(5G)通信系统与物联网(IoT)技术融合以支持比第四代(4G)系统更高的数据速率的系统。本公开可以应用于基于5G通信技术和IoT相关的技术的智能服务,诸如智能家庭、智能建筑、智能城市、智能汽车、互联汽车、医疗保健、数字教育、智能零售、安全和安保服务。本公开的通信系统中的代理设备的方法包括识别终端和服务器之间的无线连接上的分组丢失率,确定该分组丢失率是否大于预定的阈值,以及如果分组丢失率大于该阈值,代理终端和服务器之间的连接。(The present disclosure relates to a communication method and system for fusing fifth generation (5G) communication systems with internet of things (IoT) technology to support higher data rates than fourth generation (4G) systems. The present disclosure may be applied to smart services based on 5G communication technologies and IoT related technologies, such as smart homes, smart buildings, smart cities, smart cars, interconnected cars, healthcare, digital education, smart retail, security and security services. A method of proxying devices in a communication system of the present disclosure includes identifying a packet loss rate over a wireless connection between a terminal and a server, determining whether the packet loss rate is greater than a predetermined threshold, and proxying the connection between the terminal and the server if the packet loss rate is greater than the threshold.)

1. A method of proxying devices in a communication system, the method comprising:

identifying a packet loss rate on a wireless connection between a terminal and a server;

determining whether the packet loss rate is greater than a predetermined threshold; and

if the packet loss rate is greater than the threshold, then proxying a connection between the terminal and the server.

2. The method of claim 1, wherein identifying the packet loss rate comprises:

identifying a total number of packets sent to the terminal;

identifying a number of lost packets among packets transmitted to the terminal; and

identifying the packet loss rate based on the total number of packets and the number of lost packets,

wherein the number of lost packets is identified based on a number of duplicate Acknowledgements (ACKs) received from the terminal.

3. The method of claim 1, wherein identifying the packet loss rate comprises:

calculating a difference between a sequence number of a packet transmitted to the terminal and a sequence number of a packet received from the terminal; and

if the difference is greater than a predetermined value, proxying a connection between the terminal and the server,

wherein identifying the packet loss rate further comprises: if the difference is not greater than the predetermined value, receiving additional difference-related information.

4. The method of claim 1, wherein identifying the packet loss rate comprises:

calculating a rate of change of a difference between sequence numbers of packets transmitted to the terminal and received from the terminal; and

if the rate of change of the difference is greater than a predetermined value, the connection between the terminal and the server is proxied.

5. The method of claim 4, wherein identifying the packet loss rate further comprises: if the difference is not greater than the predetermined value, receiving additional difference-related information.

6. The method of claim 1, wherein identifying the packet loss rate comprises:

calculating an average value of differences between sequence numbers of packets transmitted to the terminal and sequence numbers of packets received from the terminal; and

if the average of the differences is greater than a predetermined value, the connection between the terminal and the server is proxied.

7. The method of claim 1, wherein proxying the connection comprises:

sending a control message to a network layer of the indoor equipment;

receiving, by the network layer, a packet transmitted by the server; and

sending an Acknowledgement (ACK) packet to the server through the network layer,

wherein receiving the packet comprises sending a packet received from the network layer to the terminal.

8. A proxy device of a communication system, the proxy device comprising:

a transceiver; and

a controller configured to:

identifying a packet loss rate on a wireless connection between the terminal and the server,

determining whether the packet loss rate is greater than a predetermined threshold, an

And if the packet loss rate is greater than the threshold value, executing a proxy process on the connection between the terminal and the server.

9. The proxy device of claim 8, wherein the controller is further configured to:

identifying a total number of packets sent to the terminal,

identifying the number of lost packets among packets transmitted to the terminal, and

identifying the packet loss rate based on the total number of packets and the number of lost packets,

wherein the number of lost packets is identified based on a number of duplicate Acknowledgements (ACKs) received from the terminal.

10. The proxy device of claim 8, wherein the controller is further configured to:

calculating a difference between a sequence number of a packet transmitted to the terminal and a sequence number of a packet received from the terminal, an

If the difference is greater than a predetermined value, performing a proxy process on the connection between the terminal and the server.

11. The proxy device of claim 10, wherein the controller is further configured to: if the difference is not greater than the predetermined value, receiving additional difference-related information.

12. The proxy device of claim 8, wherein the controller is further configured to:

calculating a rate of change of a difference between sequence numbers of packets transmitted to the terminal and received from the terminal; and

and if the change rate of the difference is larger than a preset value, executing a proxy process on the connection between the terminal and the server.

13. The proxy device of claim 12, wherein the controller is further configured to: if the difference is not greater than the predetermined value, receiving additional difference-related information.

14. The proxy device of claim 8, wherein the controller is further configured to:

calculating an average value of differences between sequence numbers of packets transmitted to the terminal and sequence numbers of packets received from the terminal; and

if the average value of the differences is greater than a predetermined value, performing a proxy process on the connection between the terminal and the server.

15. The proxy device of claim 8, wherein the controller is further configured to:

sending a control message to a network layer of the indoor equipment;

receiving, by the network layer, a packet transmitted by the server; and

sending an Acknowledgement (ACK) packet to the server through the network layer,

wherein the controller is further configured to transmit packets received from the network layer to the terminal.

Technical Field

The present disclosure relates to a communication system, and more particularly, to a communication method and apparatus assisted by a Transmission Control Protocol (TCP) proxy device used in a communication system.

Background

In order to meet the demand that wireless data traffic has increased since the development of 4G communication systems, efforts have been made to develop improved 5G or pre-5G communication systems. Accordingly, the 5G or pre-5G communication system is also referred to as a "super 4G network" or a "post-LTE system". The 5G communication system is considered to be implemented in a frequency band of higher frequencies (millimeter waves), for example, a frequency band of 60GHz, in order to achieve a higher data rate. In order to reduce propagation loss of radio waves and increase transmission distance, beamforming, massive multiple-input multiple-output (MIMO), Full-Dimensional MIMO (FD-MIMO), array antenna, analog beamforming, and massive antenna techniques are discussed in the 5G communication system. In addition, in the 5G communication system, development of system network improvement based on advanced small cells, a cloud Radio Access Network (RAN), an ultra-dense network, device-to-device (D2D) communication, a wireless backhaul, a mobile network, cooperative communication, Coordinated Multi-point (CoMP), receiver interference cancellation, and the like is in progress. In the 5G system, Hybrid FSK and QAM modulation (FQAM) and Sliding Window Superposition Coding (SWSC) have been developed as Advanced Coding Modulation (ACM), and Filter Bank Multicarrier (FBMC), non-orthogonal multiple access (NOMA) and Sparse Code Multiple Access (SCMA) have been developed as advanced access technologies.

The Internet, which is a human-centric network of connections in which people generate and consume information, is now evolving into the Internet of Things (IoT), where distributed entities, such as Things, exchange and process information without human intervention. Internet of Everything (IoE) has emerged, which is a combination of IoT technology and big data processing technology through connection with a cloud server. Since IoT implementations require technical elements such as "sensing technology", "wired/wireless Communication and network infrastructure", "service interface technology", and "security technology", sensor networks, Machine-to-Machine (M2M) Communication, Machine Type Communication (MTC), and the like have been recently studied. Such an IoT environment can provide an intelligent internet technology service that creates new value for human life by collecting and analyzing data generated between internet things. IoT may be applied to various fields including smart homes, smart buildings, smart cities, smart cars or interconnected cars, smart grids, healthcare, smart appliances, and advanced medical services through fusion and combination of existing Information Technology (IT) and various industrial applications.

In line with this, various attempts have been made to apply the 5G communication system to the IoT network. For example, technologies such as sensor networks, Machine Type Communication (MTC), and machine-to-machine (M2M) communication may be implemented through beamforming, MIMO, and array antennas. The application of cloud Radio Access Network (RAN) as the big data processing technology described above can also be considered as an example of the convergence between 5G technology and IoT technology.

Meanwhile, a TCP connection between a terminal and a server using an internet service may be divided into two parts by a split connection proxy (hereinafter, interchangeably referred to as a "proxy" and a "proxy device"): one connection between the server and the proxy device and another connection between the proxy device and the terminal.

However, with such a proxy, the end-to-end delay of the TCP connection between the server and the terminal may increase; this may result in increased costs if high-specification equipment is employed to mitigate delays.

In order to solve the above problem, it may be considered to use a technique called TCP splitting (bridging) which can maximize performance by establishing two connections, i.e., a connection between a server and a proxy and a connection between the proxy and a terminal, without passing through an application layer of a user space. However, in the case of TCP splitting, the performance gain expected by splitting the TCP connection may be reduced.

Disclosure of Invention

Technical problem

The present disclosure is conceived to solve the above problems, and aims to improve the performance of a proxy system by dynamically performing a proxy operation depending on whether a TCP connection is established on a Wireless Local Area Network (WLAN).

Further, the present disclosure is directed to improving system performance by selectively performing a proxy operation according to signal quality of a wirelessly connected terminal.

Technical scheme for solving problems

According to an aspect of the present disclosure, there is provided a method of a proxy apparatus in a communication system. The method includes determining that a system load value associated with the proxy device satisfies a predetermined condition, identifying whether a connection between the proxy device and the terminal is a wireless connection if the system load value satisfies the predetermined condition, processing the received packet using a split connection if the connection is a wireless connection, and forwarding the received packet if the connection is not a wireless connection.

According to an aspect of the present disclosure, there is provided a proxy apparatus of a communication system. The proxy device includes a transceiver and a controller configured to determine that a system load value associated with the proxy device satisfies a predetermined condition, identify whether a connection between the proxy device and the terminal is a wireless connection if the system load value satisfies the predetermined condition, process a received packet using a split connection if the connection is a wireless connection, and forward the received packet if the connection is not a wireless connection.

According to an aspect of the present disclosure, there is provided a method of proxying devices in a communication system. The method includes identifying a packet loss rate on a wireless connection between the terminal and the server, determining whether the packet loss rate is greater than a predetermined threshold, and if the packet loss rate is greater than the threshold, proxying the connection between the terminal and the server.

According to another aspect of the present disclosure, a proxy apparatus of a communication system is provided. The proxy device includes a transceiver and a controller configured to identify a packet loss rate on a wireless connection between the terminal and the server, determine whether the packet loss rate is greater than a predetermined threshold, and perform a proxy process (proxy process) on the connection between the terminal and the server if the packet loss rate is greater than the threshold.

Before proceeding with the following detailed description, it may be helpful to set forth definitions of certain words and phrases used throughout this patent document: the terms "include" and "comprise," as well as derivatives thereof, mean inclusion without limitation; the term "or" is inclusive, meaning and/or; the phrases "associated with" and "associated therewith," and derivatives thereof, may mean to include, interconnect, contain, connect to, couple to, or couple with, be communicable, cooperative, interleave, juxtapose, proximate, bind to or with, have a property, or the like; and the term "controller" means any device, system or part thereof that controls at least one operation, such a device may be implemented in hardware, firmware or software, or some combination of at least two of the same. It should be noted that the functionality associated with any particular controller may be centralized or distributed, whether locally or remotely.

Further, the various functions described below may be implemented or supported by one or more computer programs, each formed from computer readable program code and embodied in a computer readable medium. The terms "application" and "program" refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in suitable computer-readable program code. The phrase "computer readable program code" includes any type of computer code, including source code, object code, and executable code. The phrase "computer readable medium" includes any type of medium capable of being accessed by a computer, such as Read Only Memory (ROM), Random Access Memory (RAM), a hard disk drive, a Compact Disc (CD), a Digital Video Disc (DVD), or any other type of memory. A "non-transitory" computer-readable medium does not include a wired, wireless, optical, or other communication link that conveys transitory electrical or other signals. Non-transitory computer-readable media include media in which data can be stored permanently and media in which data can be stored and subsequently overwritten, such as rewritable optical disks or erasable storage devices.

Definitions for certain words and phrases are provided throughout this patent document, those of ordinary skill in the art should understand that in many, if not most instances, such definitions apply to prior, as well as future uses of such defined words and phrases.

Advantageous effects of the invention

The present disclosure is advantageous in improving proxy system performance and minimizing transmission delay by determining whether to split a TCP connection and forward signals without going through an application layer depending on the current system load and whether the TCP connection is a connection using a WLAN.

Furthermore, the present disclosure is beneficial in improving the network quality of the user experience by enhancing the performance over the wireless link through selective proxying according to the radio conditions of the wirelessly connected terminals.

Drawings

For a more complete understanding of the present disclosure and the benefits thereof, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, wherein like reference numerals represent like parts:

FIG. 1 illustrates a relationship diagram between a brokering system and other devices according to an embodiment of the present disclosure;

fig. 2 illustrates a diagram of a configuration of a proxy system and connections between devices in the proxy system in view of a protocol layer according to an embodiment of the present disclosure;

FIG. 3 shows a flow diagram of a process of selecting a proxy connection method according to an embodiment of the disclosure;

FIG. 4 shows a flowchart of a detailed process for selecting a proxy connection mode according to an embodiment of the present disclosure;

fig. 5A illustrates a flow chart of a method for determining whether a connection established between a terminal and an agent is a wireless connection in accordance with an embodiment of the disclosure;

figure 5B shows a graph of RTT distribution differences between a wired connection and a wireless connection;

FIGS. 6A and 6B illustrate a flow chart of a process for determining a proxy connection mode according to an embodiment of the disclosure;

fig. 7 shows a block diagram of a configuration of a proxy device according to an embodiment of the present disclosure;

FIG. 8 shows a diagram of an indoor environment in accordance with an embodiment of the present disclosure;

FIG. 9 shows a diagram of a network configuration according to an embodiment of the present disclosure;

fig. 10 is a diagram illustrating a method for selectively performing a proxy process for a connection of a terminal according to an embodiment of the present disclosure;

FIG. 11 illustrates a flow diagram of a method for selectively performing a proxy process for a connection of a terminal in accordance with an embodiment of the present disclosure;

FIG. 12 shows a flow diagram of a method for checking for packet loss rate according to an embodiment of the present disclosure;

fig. 13 is a diagram illustrating a method for selectively performing a proxy process for a connection to a terminal according to another embodiment of the present disclosure;

fig. 14 illustrates a flowchart of a method for selectively performing a proxy process for a connection of a terminal according to another embodiment of the present disclosure;

fig. 15 shows a flow chart of a method for checking to get a difference between a sequence number of a packet of a terminal and a sequence number of a packet from the terminal according to an embodiment of the present disclosure;

fig. 16 is a diagram illustrating a method for selectively performing a proxy process for a connection of a terminal according to another embodiment of the present disclosure;

fig. 17 illustrates a flowchart of a method for selectively performing a proxy process for a connection of a terminal according to another embodiment of the present disclosure; and

fig. 18 is a diagram showing a configuration of a proxy apparatus according to an embodiment of the present disclosure.

Detailed description of the invention

Figures 1 through 18, discussed below, and the various embodiments used to describe the principles of the present disclosure in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the disclosure. Those skilled in the art will understand that the principles of the present disclosure may be implemented in any suitably arranged system or device.

Exemplary embodiments of the present disclosure are described in detail with reference to the accompanying drawings.

A detailed description of well-known functions and configurations incorporated herein may be omitted to avoid obscuring the subject matter of the present disclosure. This is intended to omit unnecessary description in order to make the subject matter of the present disclosure clear.

For the same reason, some elements are enlarged, omitted, or simplified in the drawings, and in practice, the elements may have sizes and/or shapes different from those shown in the drawings. The same reference numbers will be used throughout the drawings to refer to the same or like parts.

The benefits and features of the present disclosure, and methods of accomplishing the same, may be understood more readily by reference to the following detailed description of exemplary embodiments and the accompanying drawings. This disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the concept of the disclosure to those skilled in the art, and the present disclosure will only be defined by the appended claims. Like reference numerals refer to like elements throughout the specification.

It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer program instructions may also be stored in a non-transitory computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the non-transitory computer-readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.

Further, various block diagrams may illustrate modules, segments, or portions of code comprising at least one or more executable instructions for implementing the specified logical function(s). Further, it should be noted that in several modifications, the functions of the blocks may be performed in a different order. For example, two consecutive blocks may be executed substantially concurrently, or may be executed in reverse order depending on their functions.

According to various embodiments of the present disclosure, the term "module" means, but is not limited to, a software or hardware component, such as a Field Programmable Gate Array (FPGA) or an Application Specific Integrated Circuit (ASIC), that performs certain tasks. A module may advantageously be configured to reside on the addressable storage medium and configured to execute on one or more processors. Thus, for example, a module may include components (such as software components, object-oriented software components, class components, and task components), processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. The functionality provided for in the components and modules may be combined into fewer components and modules or further separated into additional components and modules. Further, the components and modules may be implemented such that they execute one or more CPUs in a device or secure multimedia card.

Although depicted in a particular order in the drawings, two sequential steps may be performed in reverse order or in parallel.

Although the description is directed to a wireless communication system for ease of explanation, the present disclosure is applicable to a wired communication system.

First embodiment

As described above, a TCP connection between a server and a terminal for using an internet service may be divided into two parts by a proxy: a connection between the server and the proxy and a connection between the proxy and the terminal. The proxy has various uses, such as a hypertext transfer protocol (HTTP) cache, a firewall, and an encryption server, and is particularly useful for TCP connections established using (or through) a wireless communication network, such as a WLAN. This is because the split connection broker installed near the wireless network gateway separates packet loss caused by a change of radio channel in the wireless network from congestion packet loss in the wired network, and has a desired gain by preventing a TCP sender from unnecessarily reducing a congestion window (cwnd).

According to the proxy implementation, if a process running on the terminal attempts a connection to the server, the terminal library intercepts and redirects the connection attempt to the proxy system. The proxy system then splits the logical connection between the server and the terminal into two parts.

In performing the above-described process, the agent may experience performance problems. To transfer data from the server to the terminal, the application layer proxy process reads data intended for the terminal from the connection between the proxy and the server and writes the data to the connection between the proxy and the terminal. The proxy may cause a bottleneck effect (dummy effect) in the system due to the high cost of processes for crossing the boundary between the user space and the kernel space of the operating system and reserving processes for moving data twice through the TCP/IP stack. This means that the proxy may have a side effect of increasing the end-to-end delay for the TCP connection between the server and the terminal, and the adoption of high-specification equipment for alleviating the end-to-end delay may increase the implementation cost of the proxy administrator.

As described above, TCP segmentation, one of representative techniques for reducing the overhead of the proxy system, can maximize system performance by establishing a connection between a server and a proxy and a connection between the proxy and a terminal without passing through an application layer of a user space. That is, the TCP segmentation makes it possible for the proxy to modify the header of the received packet, and the packet is not delivered to the user space through the protocol stack as if the proxy were a layer 3.5(layer 3.5) router that relays data between the server and the terminal.

This operation of TCP segmentation improves the performance of the proxy system and moves TCP connection control to both endpoints, i.e., the server and the terminal of the TCP connection, as if there were no proxy involved between them. Although this technique provides gain depending on the usage goals of the proxy, it can cause significant losses if used to enhance TCP performance by separating packet loss from TCP congestion packet loss in the wireless communication network as previously described.

To solve the above problem, the present disclosure proposes a method for improving proxy system performance by selectively performing proxy operation depending on whether a TCP connection uses a WLAN or not.

FIG. 1 illustrates a relationship diagram between a brokering system and other devices according to an embodiment of the present disclosure.

The proxy system is located on a path between a terminal and a server and can listen to a plurality of paths established between a plurality of terminals and servers.

Referring to fig. 1, a connection between the terminal 1110 and the agent may be established by using (or via) a WLAN, and a connection between the terminal 2120 and the agent may be established via a wired Local Area Network (LAN).

Fig. 2 illustrates a diagram of a configuration of a proxy system and connections between devices in the proxy system in view of a protocol layer according to an embodiment of the present disclosure.

In the present disclosure, the proxy system may divide the connection between the server and the terminal into two parts: one connection between the server and the proxy and another connection between the proxy and the terminal. A proxy process running in the user space of the proxy system reads data intended for the terminal from the server-proxy connection and writes the data to the proxy-terminal connection.

By splitting the connection between the server and the terminal into two parts: server-proxy connection and proxy-terminal connection, the proxy system prevents unnecessary reduction of the congestion window on the server-proxy connection even when packet loss occurs on the radio connection between the terminal and the proxy system. That is, by using the proxy system, it is possible to separate packet loss caused by a change in a wireless channel (established between a terminal and a proxy) from congestion loss on a wired network, thereby preventing unnecessary reduction of a congestion window (cwnd). If there is any packet loss, retransmissions may occur frequently because the round-trip time (RTT) on the proxy-terminal connection is less than the RTT on the connection between the terminal and the server.

The proxy system determines whether the proxy-terminal connection is established via the WLAN based on at least one of RTT on the terminal-proxy connection measured at the time of establishing the TCP connection, variation in RTT values, and previous retransmission occurrence rate at the physical port (network interface) of the connection. This operation will be described in detail later.

The system load monitoring unit 220 of the proxy system may monitor the TCP connection established between the terminal and the server to measure the level of load in the process of coordinating (mediating) the TCP connection. The agent system may be included in the in-house equipment (customer-provided equipment, CPE) or located near or separate from the CPE. If the proxy system is included in the CPE, the system load monitoring unit 220 may monitor a load level of the CPE. If the agent system is located at a separate place, the system load monitoring unit 220 may monitor load information of the agent.

The agent determiner 230 of the proxy system may determine whether to split the connection established between the terminal and the server into a terminal-proxy connection and a proxy-server connection terminated by an application layer proxy process, based on information acquired through the WLAN determiner 210 and the system load monitoring unit 220, to perform TCP splitting (layer 3.5 forwarding) for modifying a header of the received incoming packet and transmitting the header-modified packet in a TCP stack of a kernel space without any proxy process in a user space, or to perform layer 3(layer 3) forwarding for delivering the packet to a next network interface in an IP stack when coordinating the TCP connection between the terminal and the server.

In the present disclosure, a scheme of splitting a connection between a terminal and a server into two connections terminated at an application layer of a proxy is referred to as a split connection mode, and a scheme of TCP split or layer 3 forwarding is referred to as a forwarding mode. These modes of operation will be described in detail later.

In the present disclosure, the proxy system employs two methods of operation.

The first method of operation is characterized in that if one of a proxy connection mode split connection, layer 3.5 forwarding and layer 3 forwarding) for a TCP connection is determined, the proxy connection mode is not changed until the connection is released.

The second method of operation is characterized by switching between split connection mode and forwarding mode (layer 3 forwarding and layer 3.5 forwarding) depending on the system load and whether a TCP connection is established via the WLAN. These operation methods will be described in detail later.

Fig. 3 shows a flow diagram of a process of selecting a proxy connection mode according to an embodiment of the disclosure.

Referring to fig. 3, the agent may determine that the current system load value satisfies a predetermined condition at step S310. The agent determiner of the agent may obtain the current system load value from the system load monitoring unit.

As noted above, the proxy system may be located inside or near the CPE or located separately from the CPE. The system load value may be a load value of the CPE in case the agent system is located inside the CPE, or a load value of the agent system in case the agent system is located at a place separate from the CPE. In this disclosure, the system load value may be referred to as an agent-dependent system load value.

The predetermined condition may mean that the system load value indicates a state that is available to support the split connection. That is, the predetermined condition may mean that the system load value is greater than the first threshold value and less than the second threshold value. However, the present disclosure is not limited to the present embodiment, and may include other embodiments in which the predetermined condition means that the system load value is larger than the first threshold value according to the setting range of the first threshold value.

If it is determined that the system load value satisfies the predetermined condition, the agent may determine whether the connection established between the terminal and the agent is a wireless connection at step S320.

If it is determined that the system load value does not satisfy the predetermined condition, the agent may enter a split connection mode or a forwarding mode depending on the system load value. That is, the agent may process data transmitted/received through the connection between the terminal and the agent in a split connection manner according to the system load value or forward the data to the server.

If the system load value satisfies the predetermined condition and the connection established between the terminal and the agent is a wireless connection, the agent may operate in a split connection mode for the terminal-agent connection at step S330. The proxy may also handle data sent/received over the terminal-proxy connection in a split connection.

Otherwise, if the connection established between the terminal and the agent is not a wireless connection, the agent operates in a forwarding mode for the terminal-agent connection at step S340. The proxy may also forward data sent/received over the terminal-proxy connection to the server.

Fig. 4 shows a flowchart of a detailed process for selecting a proxy connection mode according to an embodiment of the present disclosure.

If a flow (or TCP connection) starts, the proxy can check the current system load value. In detail, the agent determiner of the agent may acquire the current system load value from the system load monitoring unit.

Then, the agent may compare the checked system load value with a first threshold value at step S410.

If the system load value is less than the first threshold, this means that the proxy system has system resources that split each flow into two connections (i.e., a terminal-proxy connection and a proxy-server connection), which terminate at the application layer proxy process, and the proxy system processes the two connections in a split connection fashion.

If the system load is less than the first threshold, the proxy may split the connection between the terminal and the server into two connections (i.e., a terminal-proxy connection and a proxy-server connection) that are terminated by an application layer proxy process when coordinating flows between the terminal and the server. That is, if the system load value is less than the first threshold value, the agent may process the data stream from the terminal to the server/from the server to the terminal in the split connection mode.

If the system load is greater than the first threshold, the agent may compare the system load to a second threshold. Here, the second threshold value may be greater than the first threshold value. If the system load value is greater than the second threshold value, this means that the system load has reached a level at which the proxy system can no longer split the connection between the terminal and the server into a terminal-proxy connection and a proxy-server connection, wherein the terminal-proxy connection and the proxy-server connection are terminated by the application layer proxy process in the split connection mode. Thus, if the system load value is greater than the second threshold, the agent may operate in a forwarding mode. That is, the proxy may forward data sent/received over the terminal-proxy connection (layer 3 forwarding or layer 3.5 forwarding).

If the system load value is less than the second threshold, this means that the system load is at an intermediate level, so that it is not possible to process all flows and only some flows are possible to be processed, while the remaining flows are processed in a layer 3 forwarding or layer 3.5 forwarding mode.

Therefore, if the system load is less than the second threshold, the agent determines whether the terminal-agent connection is a WLAN connection at step S430.

If it is determined that the terminal-proxy connection is a WLAN connection, the proxy may process the flow in a split connection mode by splitting the connection between the server and the terminal into two connections terminated by an application layer proxy process at step S440.

If it is determined that the terminal-proxy connection is not a WLAN connection, the proxy may process the flow in the forwarding mode at step S450.

The present embodiment is directed to an operation method in which if one of the proxy connection modes (split connection, layer 3.5 forwarding, and layer 3 forwarding) is determined, the proxy connection mode is not changed until the connection is released; as described above, the proxy may process a newly established connection between the terminal and the proxy in the split connection mode or the forwarding mode.

However, the present disclosure is not limited to the above embodiments, and the agent may also switch the existing connection between the terminal and the agent to the split connection mode or the forwarding mode.

If the TCP connection is released, the proxy may record the retransmission rate, the average RTT, and the RTT variance for future reference after creation of the corresponding flow associated with the physical port (network interface) or the IP address or the combination of the IP address and the port number at step S460.

Fig. 5A illustrates a flow chart of a method for determining whether a connection established between a terminal and an agent is a wireless connection in accordance with an embodiment of the disclosure.

The WLAN determiner of the proxy may determine whether a previously recorded average RTT associated with a physical port (network interface) of the flow is equal to or greater than a first RTT threshold at step S510. Here, the previous average RTT may be an average value of all RTT values stored in the memory, or a value obtained by averaging a predetermined number of most recently recorded RTT values.

If it is determined that the average RTT is equal to or greater than the first RTT threshold, the proxy may determine that the corresponding connection is a WLAN connection at step S540.

This is described in detail with reference to fig. 5B.

Fig. 5B shows a schematic diagram of RTT distribution differences between a wired connection and a wireless connection.

Fig. 5B illustrates that the RTT value for a wireless connection may be greater than the RTT value for a wired connection. The first RTT threshold may be set based on RTT values of the wireless connection and the wired connection. According to an embodiment of the present disclosure, as an example, the first RTT threshold may be set to 1. However, the present disclosure is not limited to the present embodiment.

If the average RTT is equal to or greater than the first RTT threshold, the proxy may determine that the corresponding connection is a WLAN connection.

Referring again to fig. 5, if it is determined that the average RTT is less than the first threshold, the agent may determine whether a previously recorded RTT variance associated with a physical port (network interface) of the flow is equal to or greater than a second threshold at step S520. The RTT variance may be a variance of all RTT values stored in memory, or a variance of a predetermined number of most recently recorded RTT values.

If it is determined that the RTT variance value is equal to or greater than the second RTT threshold, the proxy may determine that the corresponding connection is a WLAN connection at step S530.

If the RTT variance is determined to be less than the second RTT threshold, the agent determines in step S540 whether the retransmission rate of the record associated with the physical port of the flow is equal to or greater than a predetermined retransmission rate threshold. Here, the retransmission rate may be a value calculated from the total number of recorded retransmissions, or the total number of transmissions and retransmissions during a predetermined latest period or between the latest transmission and retransmission.

If it is determined that the retransmission rate is equal to or greater than the retransmission rate threshold, the agent may determine that the corresponding connection is a WLAN connection at step S540.

Otherwise, if it is determined that the retransmission rate is less than the retransmission rate threshold, the agent may determine that the corresponding connection is not a WLAN connection at step S550.

However, the present disclosure is not limited to the present embodiment. The proxy may determine whether the terminal-proxy connection is a WLAN connection based on at least one of the conditions of steps S510 to S530.

For example, the proxy may identify connections with an average RTT equal to or greater than a first RTT threshold as WLAN connections and connections with an average RTT less than the first RTT threshold as non-WLAN connections.

The proxy may perform the operations of steps S510 to S530 in reverse or different order to determine whether the terminal-proxy connection is a WLAN connection.

For example, the proxy may determine whether the retransmission rate is equal to or greater than a retransmission rate threshold, and if the retransmission rate is determined to be equal to or greater than the retransmission rate threshold, determine that the terminal-proxy connection is a WLAN connection. If the retransmission rate is determined to be less than the retransmission rate threshold, the proxy may determine whether the RTT variance value is equal to or greater than a second RTT threshold, and if the RTT variance value is equal to or greater than the second RTT threshold, determine that the corresponding connection is a WLAN connection.

The CPE and Wi-Fi router may be co-located in the same space. In this case, the proxy system may receive information indicating whether the corresponding connection is a WLAN connection directly from the Wi-Fi router. In this case, it is possible to determine whether the terminal-proxy connection is a WLAN connection without performing the above-described procedure.

In the above procedure, the physical port may be replaced by an IP address or a combination of an IP address and a port number. Fig. 6A and 6B are flowcharts illustrating a process for determining a proxy connection mode according to an embodiment of the present disclosure.

Referring to fig. 6A and 6B, the agent may start operating in the split connection mode at step S610. That is, the proxy may process the flow between the terminal and the server in the split connection mode to create a terminal-proxy connection and a proxy-server connection.

Next, the proxy may determine whether the terminal-proxy connection is a WLAN flow at step S620.

For this purpose, the proxy may measure the RTT between the terminal and the proxy in the process of establishing the terminal-proxy connection. It is possible to measure RTT based on a difference between a time point when a proxy transmits a Synchronization (SYN) packet to a terminal and a time point when the proxy receives an Acknowledgement (ACK) packet transmitted by the terminal in response to the SYN packet. It is also possible to perform packet switching several times and calculate an average RTT, instead of measuring the RTT by performing packet switching once. The agent may compare the checked RTT value with a predetermined RTT threshold value, and determine that the corresponding flow is a WLAN flow if the RTT value is greater than the threshold value.

This may increase the system load and give little practical gain if the proxy operates in split connection mode to handle non-WLAN flows. Accordingly, the agent is switched to the forwarding mode at step S630. That is, the proxy may be switched to a layer 3.5 forwarding mode by initiating TCP segmentation, which can reduce system load in such a way that the header of a packet received on one connection is modified and the header-modified packet is forwarded to another connection. However, the present disclosure is not limited to the present embodiment, and the present disclosure may include an embodiment in which the proxy is switched to a layer 3 forwarding mode in which the proxy forwards the received packet to the next network interface in the IP stack.

If the terminal-agent connection is a WLAN flow, the agent may determine whether the system load is less than a predetermined third threshold at step S640. In the embodiment of the present figure, the third threshold may be the same as or different from the first threshold described in the embodiment of fig. 3 or fig. 4. Although the term "third threshold" is used to distinguish from the threshold of the embodiment of fig. 3 or fig. 4, the term may vary.

If the system load value is less than the third threshold, the agent may remain in split connection mode at step S650. That is, the proxy may forward the received packet to another entity over the split connection.

Otherwise, if the system load value is greater than the third threshold value, the agent may switch to the forwarding mode for the corresponding connection execution mode at step S630.

That is, if the system load value is greater than the third threshold value, although the corresponding connection is a WLAN flow, the agent cannot rapidly process the flow, resulting in an increase in side effects such as an increase in delay time. Thus, the proxy may perform a mode switch to a forwarding mode for the corresponding connection. That is, the proxy may switch to a layer 3.5 forwarding mode for modifying the header of incoming packets received on one connection and forwarding the header-modified packets to another connection.

Thereafter, at step S660, the agent may update the retransmission occurrence frequency of all the individual streams being coordinated by the agent system during a predetermined time period (T1).

Next, the agent may determine whether the system load value is greater than a fourth threshold value at step S670.

If it is determined that the system load value is greater than the fourth threshold value, it is necessary to switch a part of the flows processed in the split connection mode to the forwarding mode (layer 3.5 forwarding) to reduce the load of the system.

Thus, the proxy may perform a mode switch to a forwarding mode (layer 3.5 forwarding) for the flow with the lowest retransmission occurrence rate among the flows carried over the WLAN connection.

Here, the fourth threshold may be equal to the third threshold, or set based on or independent of the third threshold.

For example, in the case where the fourth threshold is equal to the third threshold, the proxy may remain in the split connection mode for the case where the system load is less than the third threshold, and switch a portion of the WLAN connection to the forwarding mode for the case where the system load is equal to or greater than the third threshold.

In the case where the fourth threshold is not equal to the third threshold, the fourth threshold may be set to be greater than the third threshold, as shown in fig. 4.

Thus, for a flow configured with split connection mode, the agent may not switch operating mode even when the system load is greater than the first threshold, and may perform mode switching to forwarding mode for a portion of the WLAN connection if the system load is greater than the second threshold.

Next, the agent may determine whether the system load value is less than a fifth threshold value at step S690. If it is determined at step S670 that the system load value is equal to or less than the fourth threshold, or after mode switching a portion of the WLAN connection to the forwarding mode at step S680, the agent may determine whether the system load is less than a fifth threshold.

If the system load is less than the fifth threshold, this means that the system load is low, and therefore, the agent may perform mode switching to the split connection mode for the stream having the previously measured highest retransmission occurrence frequency among the streams carried over the radio connection at step S695.

Here, the fifth threshold may be determined based on or independently of the fourth threshold. The fifth threshold may also be set to be less than the fourth threshold. The fifth threshold may also be set greater than the third threshold.

If the system load is greater than the fifth threshold, or after the mode switch to the split connection mode, the proxy may update the retransmission occurrence frequency of all the individual streams being coordinated by the proxy system during a predetermined time period (T1) and determine whether a proxy mode switch is necessary.

Meanwhile, the processes of fig. 3 and 4 and fig. 6A and 6B may be performed in a combined manner.

For example, in the process of fig. 4, if the system load is greater than a first threshold and less than a second threshold, and if the corresponding connection is a WLAN connection, the proxy may operate in a split connection mode.

In this case, as described with reference to fig. 6B, the agent may update the retransmission frequency during a predetermined time period (T1) and determine whether the system load value becomes greater than the second threshold value. Here, the second threshold may be the second threshold described with reference to fig. 4. If the system load value becomes greater than the second threshold value, the agent may perform mode switching to the forwarding mode for the stream having the lowest retransmission frequency.

Here, as described above, the mode switching to the forwarding mode is performed for all streams or the stream having the lowest retransmission frequency according to the characteristic of the second threshold. For example, if the second threshold is set so that the split connection mode is no longer supported when the system load becomes greater than the second threshold, the agent may perform mode switching to the forwarding mode for all flows. Otherwise, if the second threshold is set to partially support the split connection mode even when the system load is greater than the second threshold, the agent may perform mode switching to the forwarding mode for a part of the flow.

The agent may compare the system load with a third threshold value set in a range between the first threshold value and the second threshold value, and perform mode switching to the split connection mode for a stream having a high retransmission frequency if the system load is less than the third threshold value.

Fig. 7 shows a block diagram of a configuration of a proxy device according to an embodiment of the present disclosure.

As shown in fig. 7, the proxy device may include a transceiver 710, a controller 720, and a memory 730. In this disclosure, the controller 720 may be defined as a circuit, an application specific integrated circuit, or at least one processor. The controller 720 may include a WLAN determiner 721, a system load monitoring unit 723, and a proxy determiner 725.

The transceiver 710 may communicate signals with other network entities. The transceiver 710 may receive a packet from a terminal and transmit the packet to a server.

The controller 720 may control the overall operation of the proxy device according to an embodiment of the present disclosure. For example, the controller 720 may control the flow of signals between components to perform the operations described above with reference to the flow diagrams.

In detail, the WLAN determiner 721 may determine whether the connection between the terminal and the proxy is established via the WLAN based on at least one of RTT on the terminal-proxy connection measured when the TCP connection is established, a change in RTT value, and a previous retransmission occurrence rate at a physical port (network interface) of the connection.

The system load monitoring unit 723 may monitor the TCP connection established between the terminal and the server to obtain a level of load in coordinating the TCP connection.

The proxy determiner 725 may determine to split the connection established between the terminal and the server into a terminal-proxy connection and a proxy-server connection terminated by an application layer proxy process based on information acquired through the WLAN determiner 721 and the system load monitoring unit 723 to perform TCP splitting (layer 3.5 forwarding) for modifying a header of a received incoming packet and transmitting the header-modified packet in a TCP stack of a kernel space without any proxy process in a user space, or to perform layer 3 forwarding for delivering the packet to a next network interface in an IP stack while coordinating the TCP connection between the terminal and the server.

In detail, the controller 720 may acquire a current system load value through the system load monitoring unit 723 and determine whether the current system load value satisfies a predetermined condition.

If the system load value satisfies a predetermined condition, the controller 720 may determine whether the terminal-proxy connection is a wireless connection.

Here, the predetermined condition may mean that the system load value is greater than the first threshold value and less than the second threshold value. However, the present disclosure is not limited to the present embodiment, and may include other embodiments in which the predetermined condition means that the system load value is greater than the first threshold value.

If the system load value does not satisfy the predetermined condition, the controller 720 may operate in the split connection mode or the forwarding mode depending on the system load value. That is, the controller 720 may process data transmitted/received through a connection between a terminal and an agent in a split connection mapper or forward the data to a server.

If the system load value satisfies a predetermined condition, and if the terminal-proxy connection is a wireless connection, controller 720 may configure the proxy to operate in a split connection mode for the terminal-proxy connection. The proxy may process data sent/received over the terminal-proxy connection in a split connection fashion.

Otherwise, if the terminal-proxy connection is not a wireless connection, controller 720 may operate in a forwarding mode for the terminal-proxy connection. The proxy may also forward data sent/received over the terminal-proxy connection to the server.

Controller 720 may also switch modes between split connection mode and forwarding mode depending on system load and whether the terminal-proxy connection is a WLAN connection.

In detail, the controller 720 may start to process the newly created stream in the split connection mode. Controller 720 may determine whether the terminal-proxy connection is a WLAN flow. The determination process has been described above, and thus is omitted here.

If the terminal-proxy connection is not a WLAN flow, the controller 720 may mode switch to a forwarding mode for the corresponding connection.

If the terminal-proxy connection is a WLAN flow, controller 720 may determine whether the system load is less than a predetermined first threshold. The threshold described with reference to fig. 7 may be equal to or different from the threshold described with reference to fig. 3 or 4.

If the system load value is less than the third threshold, the controller 720 may control to remain in the split connection mode. That is, the controller 720 may forward the received packet to another entity through the split connection.

Otherwise, if the system load value is greater than the first threshold, the controller 720 may perform a mode switch to a forwarding mode for the corresponding connection.

Thereafter, the controller 720 may update the retransmission occurrence frequency of all the individual streams being coordinated by the proxy system during a predetermined time period (T1).

Next, the controller 720 may determine whether the system load value is greater than a second threshold.

If the system load value is greater than the second threshold, the controller 720 may perform mode switching to a forwarding mode (layer 3.5 forwarding) for a stream having the lowest retransmission frequency among streams on the WLAN connection.

Next, the controller 720 may determine whether the system load value is less than a third threshold. If the system load is less than the third threshold, which means that the system load is low, the controller 720 may perform mode switching to the split connection mode for the stream having the highest retransmission occurrence frequency among the streams on the wireless connection.

If the system load is greater than the third threshold, or after the mode is switched to the split connection mode, the controller 720 may update the retransmission occurrence frequency of all the individual streams being coordinated by the proxy system during a predetermined time period (T1) and determine whether a proxy mode switch is necessary.

The controller 720 may also control the overall operation of the agent according to embodiments of the present disclosure.

The memory 730 may store at least one of information being transmitted/received through the transceiver 710 or information generated by the controller 720. For example, the memory 730 may record the retransmission rate, the average RTT, and the RTT variance after creation of the corresponding stream associated with a physical port (network interface) or an IP address or a combination of an IP address and a port number. The memory 730 may also record the retransmission frequency of the stream.

Second embodiment

With the increase of Wi-Fi penetration, WLAN-based internet access has been popularized, and almost all appliances are connected to the internet through a wired or wireless channel. However, a terminal wirelessly connected to an indoor WLAN Access Point (AP) may experience a TCP performance degradation caused by low radio channel quality at a location far away from the WLAN AP or separated from the WLAN AP through a wall.

To achieve performance enhancement of the user experience in such a wireless network environment, it may be considered to employ a split TCP (split TCP) technique instead of the conventional TCP congestion control technique designed to be suitable for a wired network environment. Split TCP is a technique that splits a connection established between a server and a terminal into two connections (i.e., a server-proxy connection and a proxy-terminal connection), and in this disclosure, the terms "TCP connection split," "proxy," and "proxy process" may be used interchangeably with split TCP.

For a conventional mobile broadband (MBB) service of an Internet Service Provider (ISP), a service gateway terminal may be disposed in a gateway through which a mobile terminal is connected to the internet to take charge of fine control and data service management.

Proxy devices may be used for such control and data service management. That is, the agent may be used for the purpose of processing data in the application layer for the purpose of examining the data content and providing a service (e.g., ad insertion) based on the content attributes.

Here, in order to solve the problem of performance degradation caused by system overload of the service gateway when the proxy is used, it may be considered to flexibly perform a proxy process on a partial traffic.

This may increase the system load if the proxy process is performed on the entire traffic as described above. Therefore, it is difficult to perform a proxy process on the entire traffic.

In this respect, a method for analyzing data contents may be considered, if a proxy process (service provided by an application) is necessary, a TCP connection is split, and then the connection is coupled after the service is completed. In the case of using this method, a reception window size set to 0 is transmitted to the server to stop data transmission during the process of releasing and reestablishing a connection for high-speed traffic or delay-sensitive traffic, and as a result, the user may feel that data traffic is interrupted.

That is, if the connection release operation of the proxy process is performed while the user is viewing the video stream, an interruption of the video stream may be caused.

Although beneficial in reducing system load by proxy, the above approach has the disadvantage that disruption of traffic affects the services used by the user.

To overcome the above problems, the present disclosure proposes a method for selectively performing a proxy process on a flow for a terminal to improve flow performance on a radio link characterized by low quality and user quality of experience.

The present disclosure also proposes a method for selectively performing a proxy process for a user terminal experiencing low radio channel quality at a location separated from a WLAN AP by a wall or at a location located far away from an indoor WLAN AP or affected by electric wave interference from other wireless terminals, in order to effectively improve TCP performance and quality of user experience.

Fig. 8 shows a diagram of an indoor environment in accordance with an embodiment of the present disclosure.

Referring to fig. 8, a home router (e.g., an in-home device, a CPE, and a home gateway) 820 may be connected to the internet server 810 by wire. In an indoor environment, a Wi-Fi AP (or WLAN AP))830 may be installed to provide wireless internet access for the terminal.

As described above, when the terminal is located physically separated from the indoor WLAN AP or is located far from the WLAN AP or is vulnerable to electric wave interference of other wireless terminals in the indoor environment, an increase in packet loss rate may occur; this may increase the system load if proxy processes are executed on all flows. Therefore, this problem needs to be overcome, and will be described in detail later.

As described above, the proxy device may be located in the in-house device or in a separate place. The home router and Wi-Fi AP may be implemented as (or integrated into) a single device or in separate devices.

Fig. 9 shows a diagram of a configuration of a network according to an embodiment of the present disclosure.

Referring to fig. 9, a home gateway (router) 930 may be interposed between a server 910 providing a content service and a wirelessly connected terminal 920 as a client to detect a TCP connection between the server 910 and the terminal 920 and relay data between the server 910 and the terminal 920.

The home gateway (router) 930 may include a proxy device 931 for network performance enhancement and a radio quality detection module (or radio quality detector) 932 for measuring the radio link quality of the terminal.

The radio quality detection module 932 is responsible for traffic management and monitoring functions at the network layer 933. The radio quality detection module 932 may manage connection information of traffic on the network layer 933, the amount of traffic and the number of packets per connection, and packet sequence information.

The radio quality detection module 932 monitors packets sent from the server 910 to the client 920 and manages lost sequence information individually. The radio quality detection module 932 may monitor Acknowledgement (ACK) packets received from the client 920 and, if there is lost sequence information related to the ACK packet, compare the sequence information with sequence information of lost packets among the packets received from the server 910; if the sequence information does not match, the radio quality detection module 932 may determine that packet loss has occurred on the radio link. If the packet loss rate becomes greater than the threshold, the radio quality detection module 932 may determine that the terminal receiving the corresponding stream is operating on a radio link of degraded quality.

In this case, the radio quality detection module 932 may send information to the proxy device 931 indicating that a terminal receiving a stream at a packet loss rate greater than a threshold operates on a degraded radio link, and the proxy device 931 generates a command to the network layer 933 for executing a proxy process on the corresponding stream, so that the network layer 933 intercepts the packet and forwards the packet to the proxy. Here, the information generated to the network layer 933 by the proxy device 631 may include information related to a rule indicating that a packet having a specific IP address is forwarded to the proxy.

In detail, the radio quality detection module 932 may transmit information on a flow of a link of which the quality of the terminal is degraded to the network layer 933 and the proxy device 931 so that the proxy performs a proxy process on the corresponding flow.

The proxy may generate an ACK corresponding to the packet sent by the network layer 933 and send the ACK to the network layer 933, which sends the ACK to the server 910. This process may be referred to as a proxy process or simply a proxy.

In the present disclosure, the radio quality detection module 932 may calculate a packet loss rate and send the packet loss rate to the proxy device 931, and if the packet loss rate is greater than a predetermined threshold, the proxy device 931 may instruct the network layer 933 to pass the flow up to the proxy device 931.

Although fig. 9 depicts that the proxy device 931 and the radio quality detection module 932 are both included in the home gateway 930, each of the proxy device 931 and the radio quality detection module 932 may be independently located at a place separate from the place where the home gateway is located, or included in at least one in-house device. A radio quality detection module 932 may also be included in the proxy device 931. In the following description, it is assumed that the proxy device 931 and the radio quality detection module 932 are included in the home gateway 930.

The home gateway (router) may be implemented separately or integrated with the Wi-Fi AP. A Wi-Fi AP may have information about the terminal to which it is connected. Since it is assumed in the present embodiment that the proxy device is included in the home gateway, a description is made differently for the case where the home gateway is separated from the Wi-Fi AP and the case where the home gateway is integrated with the Wi-Fi AP. However, even when the proxy device is not included in the home gateway, the proxy device may be implemented in a form separated from or integrated with the Wi-Fi AP.

As described above, although it is desirable for the proxy apparatus to perform the proxy process for all network flows to the wirelessly connected terminal for network performance enhancement, the proxy process may increase the system load, resulting in a system degradation phenomenon. Therefore, it may be better to selectively execute proxy processes on flows that require proxy processes.

It is difficult to expect significant network performance enhancement in the case where a proxy process is performed for a terminal located near a Wi-Fi AP or operating on a link with poor radio quality. That is, a wirelessly connected terminal having a link of good radio quality can enjoy good network quality (bandwidth) without a proxy process. The present disclosure is directed to providing a method of performing a proxy process on a wirelessly connected terminal operating on a link with poor radio quality to prevent network performance degradation caused by traffic loss, thereby improving user-experienced quality of service.

Fig. 10 is a diagram illustrating a method for selectively performing a proxy process for a connection of a terminal according to an embodiment of the present disclosure.

The figure depicts a method of selectively performing a proxy process for a wireless connection with a Wi-Fi AP detached from a home gateway. A home gateway implemented in a form separated from a Wi-Fi AP does not have information about a terminal wirelessly connected to the Wi-Fi AP, and thus cannot easily determine a radio situation of the terminal.

Thus, the radio quality detection module can measure the packet loss rate on the radio link. The radio quality detection module may measure the number of duplicate ACKs (dupacks) received from the terminal to check for the number of lost packets. The radio quality detection module may check for the total number of packets sent by the terminal and use the number of packets lost and the total number of packets to calculate the packet loss rate on the radio link.

The proxy device may check for a packet loss rate to determine whether the packet loss rate is greater than a threshold and perform a proxy process on the TCP connection carrying the corresponding flow for the terminal.

Fig. 10 is depicted under the assumption that the terminal 11010 and the terminal 21020 are located indoors.

Fig. 10 shows that terminal 11010 is closer to the Wi-Fi AP than terminal 21020. The packet loss rates (DupACK rates) of the terminal 11010 and the terminal 21020 are 0.3% and 1.6%, respectively, and this means that the packet loss rate increases as the distance from the Wi-Fi AP increases.

Assuming that the threshold value of the packet loss rate is 1%, the packet loss rate of the terminal 21020 is greater than the threshold value. In this case, the proxy device may perform a proxy process on the TCP connection of the terminal 21020.

Fig. 11 shows a flowchart of a method for selectively performing a proxy process for a connection of a terminal according to an embodiment of the present disclosure.

Referring to fig. 11, the proxy apparatus may receive information on a packet loss rate on a radio link of the terminal from the radio quality detection module at step S1110.

If the radio quality detection module is included in the proxy device as described above, the proxy device may check for a packet loss rate on the radio connection of the terminal.

How to check for the packet loss rate will be described in detail later.

Next, the proxy device may determine whether the packet loss rate is greater than a predetermined threshold value at step S1120.

If the packet loss rate is greater than the threshold, the proxy device may perform a proxy process on the connection having the packet loss rate greater than the threshold at step S1130.

In detail, the proxy device may transmit information instructing to transfer packets transmitted/received on the corresponding connection to the proxy device to a network layer of the home gateway.

That is, the proxy device may send a control message to a network layer agent (network layer agent). Upon receiving the control message, the network layer proxy may intercept the corresponding flow and pass it to a proxy device residing on the application layer, and the proxy device may transmit the corresponding flow to the terminal. The proxy device may generate an ACK message corresponding to the received packet to the network layer proxy, which sends the ACK message to the server. In this way, it is possible to achieve performance enhancement by splitting the connection between the server and the terminal.

If the packet loss rate is not greater than the threshold, the proxy device may remain connected and then return to step S1110 to receive the packet loss rate.

Fig. 12 shows a flow chart of a method for checking for packet loss rate according to an embodiment of the present disclosure.

In step S1210, the radio quality detection module may detect a TCP connection between the terminal and the server. The radio quality detection module may monitor each TCP connection for IP information, the number of packets sent and received, the total amount of bidirectional traffic, and TCP data sequence information.

The radio quality detection module may monitor the TCP connection to the server to obtain sequence information of the TCP data from the server and store the lost sequence information in the memory.

Next, the radio quality detection module may check the number of lost packets at step S1220. The number of lost packets is checked based on the number of duplicate dupacks received from the terminal.

Next, the radio quality detection module may measure a packet loss rate at step S1230.

The radio quality detection module may count the number of packets sent to the terminal per TCP connection. Accordingly, the radio quality detection module may measure the packet loss rate based on the checked number of lost packets and the number of packets transmitted to the terminal.

Next, the radio quality detection module may transmit the packet loss rate to the proxy device at step S1240.

However, the present disclosure is not limited to the present embodiment. The radio quality detection module may check for the number of packets transmitted to the terminal and the number of lost packets based on the number of dupacks received from the terminal, and transmit information on the number of transmitted packets and lost packets to the proxy device. The proxy device may calculate a packet loss rate to determine whether to perform a proxy process for the corresponding connection.

The packet loss rate in a radio network may be high. Packet loss may occur even when the terminal is located near a Wi-Fi AP or in a location without interference. Therefore, it is necessary to specify a threshold value of the occurrence rate of packet loss, i.e., a tolerable packet loss rate, to judge a bad radio condition when the packet loss rate is greater than the threshold value.

If the packet loss rate on the radio link of the wirelessly connected terminal is greater than a predetermined threshold, the proxy device may determine that the radio condition is poor, thereby making a decision to perform a proxy process on the corresponding flow.

Fig. 13 is a diagram illustrating a method for selectively performing a proxy process for a connection to a terminal according to another embodiment of the present disclosure.

Fig. 13 is directed to a method of selectively performing a proxy process for a wireless connection when a home gateway is implemented in a form separated from a Wi-Fi AP.

In the figure, the radio quality detection module may detect radio conditions based on a packet sequence number. In detail, the radio quality detection module may monitor packets from the server to the terminal and ACKs from the terminal to the server to obtain a data packet sequence number (DSN) and an ACK Sequence Number (ASN).

The radio quality detection module may compare the DSN and the ASN at a certain point in time to calculate the difference between the sequence numbers. Here, the difference between the DSN and the ASN may be referred to as a Network Sequence Number (NSN) or a sequence number difference value. The radio quality detection module may determine a quality condition on the radio link based on the NSN value.

For example, if the difference between the DSN and the ASN is greater than a predetermined value at a certain time, the radio quality detection module may determine that the quality condition on the radio link is poor. If the difference between the sequence number of the transmitted packet and the sequence number of the ACK is large, this means that the packet transmission is not smooth.

The radio quality detection module may determine that the quality condition of the radio link is poor if the rate of change of the difference between the DSN and the ASN is greater than a predetermined threshold rate of change. The rate of change of the difference between the DSN and the ASN may be measured during a predetermined time period.

The radio quality detection module may determine that the quality condition of the radio link is poor if a rate of change of the difference between the DSN and the ASN is greater than a threshold rate of change during a predetermined time period.

It is also possible that the radio quality detection module determines that the quality condition of the radio link is poor when the average of the differences between the DSN and the ASN is greater than a predetermined threshold.

In the present disclosure, the sequence number difference, the rate of change of the sequence number difference, and the average value of the sequence number difference may be collectively referred to as sequence number difference-related information.

The proxy device may check that the quality condition of the radio link is poor and perform a proxy process on a TCP connection including a terminal of the radio connection having the poor quality condition.

Fig. 14 illustrates a flowchart of a method for selectively performing a proxy process for a connection of a terminal according to another embodiment of the present disclosure.

Referring to fig. 14, the proxy apparatus may receive information on a difference between a sequence number of a packet transmitted from the server to the terminal and a sequence number of an ACK transmitted from the terminal to the server (hereinafter, referred to as sequence number difference-related information) at step S1410.

As described above, if the radio quality detection module is included in the proxy device, the proxy device may check by the radio quality detection module for information related to a difference in sequence numbers.

How to check to obtain the information related to the sequence number difference will be described in detail later.

Next, the proxy device may determine whether the sequence number difference-related information is greater than a threshold value at step S1420.

In detail, the proxy device may determine whether the difference in sequence numbers is greater than a threshold. It is also possible to determine whether the rate of change of the sequence number differences is greater than a threshold, or whether the average of the sequence number differences is greater than a threshold.

If the information related to the difference in sequence numbers is greater than the threshold, the agent apparatus may perform an agent process for a connection having a difference in sequence numbers greater than the threshold at step S1430. In this case, the proxy device may send information about the corresponding flow to the network layer proxy of the home gateway, and the network layer proxy up-transfers the corresponding flow to the proxy device. The flow information may include information instructing packets flowing on the respective connection to be passed up to the proxy device.

The proxy device sends a control message to the network layer proxy. The network layer proxy may pass the corresponding flow up to a proxy device residing on the application layer, and the proxy device may send the corresponding flow to the terminal. The proxy device may also generate an ACK message corresponding to the received packet to the network layer proxy, which sends the ACK message to the server. In this way, it is possible to achieve performance enhancement by splitting the connection between the server and the terminal.

If the information related to the sequence number difference is not greater than the threshold, the proxy device may maintain the connection and then return to step S1410 to receive the sequence number difference value.

Fig. 15 shows a flow chart of a method for checking for a difference between sequence numbers of packets destined for a terminal and packets from the terminal according to an embodiment of the disclosure.

In step S1510, the radio quality detection module may detect a TCP connection between the terminal and the server. The radio quality detection module may monitor each TCP connection for IP information, the number of packets sent and received, the total amount of bidirectional traffic, and TCP data sequence information.

In step S1520, the radio quality detection module may record sequence information of the packet transmitted to the terminal.

In step S1530, the radio quality detection module may record sequence information of the packet received from the terminal.

The radio quality detection module may calculate a difference between sequence information of a packet transmitted by the server and sequence information of a packet received from the terminal at a certain point of time.

The radio quality detection module may also calculate a rate of change of a difference between sequence information of a packet transmitted by the server and sequence information of a packet received from the terminal during a predetermined period.

The radio quality detection module may further calculate an average value of differences between the sequence information of the packet transmitted by the server and the sequence information of the packet received from the terminal during a predetermined period.

In step S1540, the radio quality detection module may transmit the calculated information to the proxy apparatus as information related to the difference in sequence number.

Fig. 16 is a diagram illustrating a method for selectively performing a proxy process for a connection of a terminal according to another embodiment of the present disclosure.

Fig. 16 is directed to a method of selectively performing a proxy process for a wireless connection when a home gateway is implemented in an integrated form with a Wi-Fi AP. In this embodiment, there is an interface between the Wi-Fi AP and the home gateway for exchanging information. A home gateway integrated with or interfaced to a Wi-Fi AP may obtain information about a terminal wirelessly connected to the Wi-Fi AP to determine radio conditions of the wirelessly connected terminal.

The proxy device may perform a proxy process for a connection of the corresponding terminal if the radio condition-related information of the terminal is less than a predetermined threshold. The radio condition related information may include a Received Signal Strength Indicator (RSSI) and a signal-to-noise ratio (SNR); if the proxy device detects a terminal having a radio condition-related information value smaller than a threshold value, the proxy device may perform a proxy process for a connection of the corresponding terminal.

Here, the proxy device may include the terminal in the management list so that the proxy device processes packets received from the terminal included in the management list.

In the embodiment of fig. 16, it is assumed that the terminal 11610 and the terminal 21620 are operated indoors. Assume that the received signal strength is-60 dB at terminal 11610 and-40 dB at terminal 21620.

In this case, the proxy device may assume that the terminal 11610 has a radio connection of low radio quality and the terminal 21620 has a radio connection of high radio quality. Accordingly, the proxy apparatus can include the terminal 11610 in the management list and perform a proxy process on the connection of the terminal 11610 if a packet of the terminal 11610 is received.

In this embodiment, the proxy device may check for radio conditions of the terminal during an initial connection between the terminal and the server to determine whether to operate in a proxy-based split connection mode. In detail, if a Synchronization (SYN) packet for a TCP connection is received from a terminal, the proxy apparatus may determine whether to operate in a split connection mode based on a radio condition of the terminal.

After the connection is established between the terminal and the server, if the terminal moves and thus the radio condition becomes poor, the proxy apparatus may check to obtain the radio condition of the terminal to perform a proxy process for the connection between the terminal and the server.

Fig. 17 illustrates a flowchart of a method for selectively performing a proxy process for a connection of a terminal according to another embodiment of the present disclosure.

Referring to fig. 17, the proxy device may acquire information related to radio conditions of the wirelessly connected terminal at step S1710. The Wi-Fi AP may acquire radio information of a terminal wirelessly connected thereto, and in the present embodiment in which the proxy device is integrated with the Wi-Fi AP or is connected to the Wi-Fi AP through an interface, the proxy device may acquire the radio information. The radio information may include at least one of an IP address, Service Set Identifier (SSID) information, Operating System (OS) name, device name, RSSI, Tx/Rx rate information (modulation and coding scheme (MCS)), and SNR.

Meanwhile, information about terminal information of a wireless connection detected by the Wi-Fi AP may be managed by the radio quality detection module.

At step S1720, the proxy apparatus may detect a terminal having a low radio quality. The proxy device compares information related to radio conditions such as RSSI and MCS with a threshold to detect radio quality degradation of the terminal.

Next, the proxy apparatus may store a list of terminals having low radio quality at step S1730. In detail, the agent device may include terminals having RSSI, SNR or Tx/Rx rate values less than a predetermined threshold in the management list for management purposes.

Thereafter, the proxy device may monitor to detect a new TCP connection at step S1740. If the proxy device detects a new TCP syn packet, the proxy device may determine that a new TCP connection is detected. The proxy device may acquire the IP address of the terminal that has requested connection from the syn packet.

Next, the proxy apparatus may determine whether the terminal that has requested the new connection is a low radio quality terminal at step S1750. The proxy device may determine whether the IP address of the terminal requesting the new TCP connection is included in the management list.

If a TCP syn packet is received from the terminal included in the management list, the proxy apparatus may perform a proxy process on the corresponding connection at step S1760. That is, the proxy device may generate a control message that reaches down to the network layer proxy to request that packets of the corresponding terminal be passed up to the proxy device.

If the wirelessly connected terminal moves to a high quality radio area while the proxy device performs a proxy process on a flow, the proxy process on the corresponding flow is maintained. However, if there is a new incoming flow, the new flow will be forwarded at the network layer without the need for a proxy process.

If a TCP syn packet is received from a terminal that is not included in the management list, a TCP connection may be established between the terminal and the server. However, even in this case, the proxy apparatus may return to step S1720 to determine whether the radio quality of the terminal is degraded. If the radio quality of the terminal is degraded, the proxy device may include the corresponding terminal in the management list and perform a proxy process on the old TCP connection. The proxy device may only execute proxy processes on the new flow.

The present disclosure may include an embodiment combining the first embodiment and the second embodiment. For example, the proxy device may determine whether each of the connections established with the terminal is a radio connection (first embodiment), and perform the proxy process only on radio connections whose packet loss rate is greater than a threshold (second embodiment).

Fig. 18 is a diagram showing a configuration of a proxy apparatus according to an embodiment of the present disclosure.

Referring to fig. 18, the proxy device may include a transceiver 1810, a controller 1820, and a memory 1830. In this disclosure, a controller may be defined as a circuit, an application specific integrated circuit, or at least one processor.

The transceiver 1810 may communicate signals with other network entities. For example, transceiver 1810 may receive packets from a server and transmit packets to a terminal. Transceiver 1810 may send an ACK corresponding to the packet to the server.

The transceiver may receive information such as packet loss rate and sequence number difference values from the radio quality detection module.

The controller 1820 may control the overall operation of the proxy device according to embodiments presented in this disclosure. For example, the controller 1820 may control the flow of signals between the components to implement the operations described with reference to the flowcharts above.

In detail, the controller 1820 may receive packet loss rate information from the radio quality detection module and determine whether to perform a proxy process for a connection of a corresponding terminal based on whether the packet loss rate is greater than a threshold.

The controller 1820 may also receive information on a sequence number difference value from the radio quality detection module, and determine whether to perform a proxy process for a connection of a corresponding terminal based on whether the sequence number difference value is greater than a threshold.

The controller 1820 may also receive information on radio conditions of the terminal, and determine whether to perform a proxy process for a connection of the corresponding terminal based on whether the radio condition information is less than a threshold.

The controller 1820 may also control other operations of the proxy device presented in this disclosure, although a detailed description thereof is omitted herein.

The memory 1830 may store at least one of information transmitted/received by the transceiver 1810 and generated by the controller 1820. For example, the memory 1830 may store information received from the radio quality detection module and information about packets received from a server. The memory 1830 may store radio information of the terminal, such as IP information, SSID information, OS name, device name, RSSI, Tx/Rx rate information (MCS) information, and SNR received from the Wi-Fi AP.

The present disclosure is advantageous in improving proxy system performance and minimizing transmission delay by determining whether to split a TCP connection and forward signals without going through an application layer depending on the current system load and whether the TCP connection is a connection using a WLAN.

Furthermore, the present disclosure is beneficial in improving the network quality experienced by the user by enhancing performance on the wireless link through selective proxying according to the radio conditions of the wirelessly connected terminals.

Meanwhile, in the drawings showing the methods in the embodiments, the order described does not necessarily correspond to the order of execution, and the order relationship may be changed or executed in parallel.

Alternatively, the figures illustrating the methods of the present disclosure may omit some elements, and may include only some elements, without detracting from the essence of the present disclosure.

Further, the method of the present disclosure may be performed by combining some or all of the contents included in each embodiment without departing from the spirit of the present disclosure.

While the preferred embodiments of the present disclosure have been described using specific terms, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense, in order to facilitate understanding of the present disclosure. It will be appreciated by those skilled in the art that various modifications and changes may be made thereto without departing from the broader spirit and scope of the disclosure.

While the present disclosure has been described with various embodiments, various changes and modifications may be suggested to one skilled in the art. The disclosure is intended to embrace such alterations and modifications as fall within the scope of the appended claims.

37页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:用于处置无线通信网络中的通信的无线电网络节点、无线装置以及在其中执行的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!