KR102371217B1 - Apparatus and method for controlling tcp connections in a wireless communication system - Google Patents

Apparatus and method for controlling tcp connections in a wireless communication system Download PDF

Info

Publication number
KR102371217B1
KR102371217B1 KR1020150124106A KR20150124106A KR102371217B1 KR 102371217 B1 KR102371217 B1 KR 102371217B1 KR 1020150124106 A KR1020150124106 A KR 1020150124106A KR 20150124106 A KR20150124106 A KR 20150124106A KR 102371217 B1 KR102371217 B1 KR 102371217B1
Authority
KR
South Korea
Prior art keywords
tcp connection
tcp
termination
time
server
Prior art date
Application number
KR1020150124106A
Other languages
Korean (ko)
Other versions
KR20160027937A (en
Inventor
홍영기
카르시케얀 아루나찰람
라나 프라사드 사후
무투 비라판 알라가판
이진호
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to PCT/KR2015/009244 priority Critical patent/WO2016036134A1/en
Priority to US14/843,784 priority patent/US9826481B2/en
Priority to JP2017512283A priority patent/JP6618204B2/en
Priority to CN201510558019.2A priority patent/CN105392214B/en
Publication of KR20160027937A publication Critical patent/KR20160027937A/en
Priority to US15/813,201 priority patent/US10448329B2/en
Application granted granted Critical
Publication of KR102371217B1 publication Critical patent/KR102371217B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • H04W76/38Connection release triggered by timers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/06Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/30Connection release
    • H04W76/34Selective release of ongoing connections
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephone Function (AREA)
  • Communication Control (AREA)

Abstract

본 발명의 실시예들은 무선 통신시스템에서 스마트폰 단말과 같은 클라이언트 장치의 배터리 수명을 개선하기 위한 TCP 연결 종료를 제어하는 장치와 방법을 제공한다. 본 발명의 일 실시예에 따르면, 무선 통신시스템에서 클라이언트의 동작 방법은 다수의 전송제어프로토콜(TCP) 연결들 중에서 적어도 하나의 TCP 연결에 대한 데이터 전송 비활성화 시간을 결정하는 과정과, 상기 데이터 전송 비활성화 시간에 상기 TCP 연결을 종료하는 과정을 포함한다. Embodiments of the present invention provide an apparatus and method for controlling TCP connection termination for improving battery life of a client device such as a smart phone terminal in a wireless communication system. According to an embodiment of the present invention, a method of operating a client in a wireless communication system includes determining a data transmission deactivation time for at least one TCP connection among a plurality of transmission control protocol (TCP) connections, and deactivating the data transmission. terminating the TCP connection in time.

Description

무선 통신시스템의 전송제어프로토콜 연결 제어 장치 및 방법{APPARATUS AND METHOD FOR CONTROLLING TCP CONNECTIONS IN A WIRELESS COMMUNICATION SYSTEM} Transmission control protocol connection control device and method of wireless communication system {APPARATUS AND METHOD FOR CONTROLLING TCP CONNECTIONS IN A WIRELESS COMMUNICATION SYSTEM

본 발명은 일반적으로 컴퓨팅 장치들에 관한 것이다. 본 발명은 보다 구체적으로 무선 통신시스템에서 TCP 연결을 제어하는 장치 및 방법에 관한 것이다. FIELD OF THE INVENTION The present invention relates generally to computing devices. The present invention more particularly relates to an apparatus and method for controlling a TCP connection in a wireless communication system.

최근에 스마트폰과 같은 전자 장치(또는 클라이언트 장치)를 사용하는 무선 통신 환경에서는, 독립 및 원격 서버들과의 상호 작용에 의해 의해 여러 개의 네트워크 어플리케이션들(예; Facebook, Twitter, Email, Flipboard, AccuWeather)이 실행된다. 이들 어플리케이션의 대부분은 현실적으로 수명이 짧은 전송프로토콜 연결들, 예를 들어 전송제어프로토콜(transmission control protocol, TCP) 연결들의 설정을 통해 서버들과 연동한다. Recently, in a wireless communication environment using an electronic device (or a client device) such as a smart phone, several network applications (eg, Facebook, Twitter, Email, Flipboard, AccuWeather) by interaction with independent and remote servers ) is executed. Most of these applications interact with servers through the establishment of short-lived transport protocol connections, for example, transmission control protocol (TCP) connections.

한편 클라이언트 장치에서 TCP 연결들에 대한 종료 처리를 적절하게 수행하지 못하는 경우 클라이언트 장치에서 커다란 전력 소모가 야기될 수 있다. 이를 위하여, TCP 연결들에 대한 종료 처리를 클라이언트에서 개시하거나 서버에서 개시하는 전형적인 방법들이 있다. On the other hand, if the client device does not properly perform termination processing for TCP connections, a large amount of power may be consumed in the client device. To this end, there are typical methods of initiating termination processing for TCP connections at the client or at the server.

기존 클라이언트 개시의 종료(client-initiated close in TCP connections) 처리는 데이터의 교환이 끝난 경우 해당 비활성 TCP 연결을 바로 종료 처리하는 방법이다. 그러나 이 방법은 재사용될 필요가 있는 비활성 TCP 연결에 대해서도 종료 처리하기 때문에, 재사용을 위해서는 전달 계층(transport layer)을 다시 셋업하여야 하는 번거로움과 그 절차 수행에 따른 시간이 요구된다. The existing client-initiated close in TCP connections processing is a method of immediately closing the inactive TCP connection when data exchange is complete. However, since this method terminates an inactive TCP connection that needs to be reused, the inconvenience of re-establishing the transport layer for reuse and time required for performing the procedure are required.

반면에, 서버 개시의 종료(server-initiated close in TCP connections) 처리는 수 초에서 수 분(예; 30s, 60s, 120s)까지의 간격의 서버 타임아웃(server timeout) 이후에, 서버는 각 클라이언트에 대해 FIN(Finish) 패킷들을 전송함으로써 TCP 연결 종료를 개시한다.On the other hand, the processing of server-initiated close in TCP connections is processed after a server timeout with an interval of several seconds to several minutes (eg 30s, 60s, 120s), after which the server Initiates TCP connection termination by sending FIN (Finish) packets to

상기 수명이 짧은 연결들은 클라이언트와 서버 엔드 포인트 간에 제한된 빈도의 데이터 전송을 갖는 특성이 있다. 일단 데이터가 교환되면, 구축된 TCP 연결들의 남아있는 시간은 유휴(idle) 상태이다. 설정된 아직 유휴 상태인 TCP 연결은 수 초에서 수 분까지의 간격으로 종료 메시지(예; FIN(Finish) 패킷들)을 야기하는 서버 타임아웃(server timeout)에 취약하다. The short-lived connections are characterized by a limited frequency of data transfer between the client and server endpoints. Once data is exchanged, the remaining time of established TCP connections is idle. An established, still-idle TCP connection is vulnerable to a server timeout that causes a shutdown message (eg FIN (Finish) packets) at intervals ranging from a few seconds to a few minutes.

그러나 서버에 의해 개시되는 종료 메시지들은 무선 통신 네트워크(예; 3G/LTE 네트워크)에서 야기되는 테일 에너지(tail energy)와 함께 유휴 상태에서 활성 상태로의 네트워크 무선 상태 천이에 의해 야기되는 에너지 오버헤드를 초래한다. 이들 지연된 종료 메시지들은 무선 계층 타이머(radio-layer timer)를 재설정함으로써 보다 긴 시간 동안 무선 인터페이스를 활성 상태로 유지하고, 심지어 에너지 오버헤드를 야기하여 무선 인터페이스를 턴온시킴으로써 추가적인 무선 상태 전환을 트리거시킨다. However, the server-initiated termination messages, along with the tail energy caused by the wireless communication network (eg 3G/LTE network), reduce the energy overhead caused by the network wireless state transition from the idle state to the active state. cause These delayed termination messages keep the air interface active for a longer time by resetting the radio-layer timer, and even cause energy overhead to trigger additional radio state transitions by turning the air interface on.

따라서 본 발명의 다양한 실시예들은 무선 통신시스템에서 TCP 연결을 제어하는 장치와 방법을 제공함에 있다. Accordingly, various embodiments of the present invention are to provide an apparatus and method for controlling a TCP connection in a wireless communication system.

본 발명의 다양한 실시예들은 무선 통신시스템에서 스마트폰 단말과 같은 전자 장치의 배터리 수명을 개선하기 위한 TCP 연결을 제어하는 장치와 방법을 제공함에 있다. Various embodiments of the present invention provide an apparatus and method for controlling a TCP connection for improving battery life of an electronic device such as a smart phone terminal in a wireless communication system.

본 발명의 다양한 실시예들은 스마트폰 단말과 같은 클라이언트가 유휴 상태에서 활성 상태로 천이함에 의해 야기되는 에너지 오버헤드를 감소시키기 위한, TCP 연결을 제어하는 장치 및 방법을 제공한다.Various embodiments of the present invention provide an apparatus and method for controlling a TCP connection for reducing energy overhead caused by a transition of a client such as a smart phone terminal from an idle state to an active state.

본 발명의 다양한 실시예들은 클라이언트에서 TCP 연결들의 종료를 개시하는 장치 및 방법을 제공한다.Various embodiments of the present invention provide an apparatus and method for initiating termination of TCP connections at a client.

본 발명의 다양한 실시예들은 클라이언트에서 TCP 연결들의 종료를 선행적으로 처리하거나, 묶음 처리하거나, 이들의 결합에 의해 처리하는 장치 및 방법을 제공한다.Various embodiments of the present invention provide an apparatus and method for processing termination of TCP connections in a client proactively, bundled processing, or a combination thereof.

본 발명의 일 실시예에 따르면, 무선 통신시스템에서 클라이언트의 동작 방법이 제공된다. 상기 방법은 다수의 전송제어프로토콜(TCP) 연결들 중에서 적어도 하나의 TCP 연결에 대한 데이터 전송 비활성화 시간을 결정하는 과정과, 상기 데이터 전송 비활성화 시간에 상기 TCP 연결을 종료하는 과정을 포함한다. According to an embodiment of the present invention, a method of operating a client in a wireless communication system is provided. The method includes determining a data transmission deactivation time for at least one TCP connection among a plurality of transmission control protocol (TCP) connections, and terminating the TCP connection at the data transmission deactivation time.

본 발명의 다른 실시예에 따르면, 무선 통신시스템에서 클라이언트의 동작 방법이 제공된다. 상기 방법은 다수의 전송제어프로토콜(TCP) 연결들 중에서 서버에 의해 종료 처리가 개시되는 적어도 하나의 제1 TCP 연결을 확인하는 과정과, 상기 TCP 연결들 중에서 상기 제1 TCP 연결을 제외한 적어도 하나의 제2 TCP 연결에 대한 처리와 함께 상기 제1 TCP 연결을 묶어서 종료하는 과정을 포함한다. According to another embodiment of the present invention, a method of operating a client in a wireless communication system is provided. The method includes a process of identifying at least one first TCP connection for which termination processing is initiated by a server from among a plurality of transmission control protocol (TCP) connections, and at least one of the TCP connections excluding the first TCP connection. It includes the process of bundling and terminating the first TCP connection together with the processing of the second TCP connection.

본 발명의 다른 실시예에 따르면, 무선 통신시스템의 클라이언트 장치가 제공된다. 상기 장치는 다수의 전송제어프로토콜(TCP) 연결들 중에서 적어도 하나의 TCP 연결에 대한 데이터 전송 비활성화 시간을 결정하고, 상기 데이터 전송 비활성화 시간에 상기 TCP 연결을 종료하는 제어기를 포함한다. According to another embodiment of the present invention, a client device of a wireless communication system is provided. The apparatus includes a controller for determining a data transmission deactivation time for at least one TCP connection among a plurality of transmission control protocol (TCP) connections, and terminating the TCP connection at the data transmission deactivation time.

본 발명의 다른 실시예에 따르면, 무선 통신시스템의 클라이언트 장치가 제공된다. 상기 장치는 다수의 전송제어프로토콜(TCP) 연결들 중에서 서버에 의해 종료 처리가 개시되는 적어도 하나의 제1 TCP 연결을 확인하고, 상기 TCP 연결들 중에서 상기 제1 TCP 연결을 제외한 적어도 하나의 제2 TCP 연결에 대한 처리와 함께 상기 제1 TCP 연결을 묶어서 종료하는 제어기를 포함한다. According to another embodiment of the present invention, a client device of a wireless communication system is provided. The device identifies at least one first TCP connection for which termination processing is initiated by the server from among a plurality of transmission control protocol (TCP) connections, and at least one second TCP connection other than the first TCP connection among the TCP connections and a controller for tying up and terminating the first TCP connection together with processing for the TCP connection.

본 발명의 다양한 실시예들은 스마트폰 단말과 같은 클라이언트 장치에서 어플리케이션 소프트웨어를 변경할 필요 없이 사용자 경험을 악화시키거나 어플리케이션 기능에 영향을 미치지 않으면서도, 보다 긴 유휴 시간을 갖도록 하여 보다 높은 배터리 수명을 달성하는 데 도움을 준다.Various embodiments of the present invention achieve a higher battery life by having a longer idle time without deteriorating the user experience or affecting application functions without the need to change application software in a client device such as a smartphone terminal. helps to

다른 목적, 기능 및 장점들은 첨부 도면들 및 다음의 바람직한 실시예의 설명으로부터 당업자들에게 명백할 것이다.
도 1은 본 발명의 실시예들이 적용되는 네트워크 환경을 도시한다.
도 2는 서버에 의해 개시되는 클라이언트에서의 TCP 연결에 대한 종료의 동작을 도시한다.
도 3a는 본 발명의 실시예에 따른 선행적 TCP 연결 종료의 동작을 도시한다.
도 3b는 본 발명의 실시예에 따른 지연된 TCP 연결 묶음 종료의 동작을 도시한다.
도 4는 본 발명의 다양한 실시예들에 따른 클라이언트 장치의 블록 구성을 도시한다.
도 5는 본 발명의 다양한 실시예들에 따른 LPTCP를 위한 전체 소프트웨어 아키텍처를 도시한다.
도 6a는 본 발명의 일 실시예에 따라 서버에 의해 개시되는 TCP 연결 종료 시간을 검출하는 방법을 도시한다.
도 6b는 본 발명의 다른 실시예에 따라 가드 타임아웃(guard timeout)을 검출하는 방법을 도시한다.
도 7은 본 발명의 다양한 실시예들에 따른 TCP 연결 종료 동작들을 도시한다.
도 8은 본 발명의 실시예에 따른 TCP 연결 선행 및 묶음 종료의 결합 동작을 설명하기 위한 도면이다.
도 9a는 본 발명의 일 실시예에 따른 선행적 TCP 연결 종료 동작을 위해 수행되는 단계들을 도시한다.
도 9b는 본 발명의 다른 실시예에 따른 선행적 TCP 연결 종료 동작을 위해 수행되는 단계들을 도시한다.
도 10a 및 도 10b는 본 발명의 실시예에 따른 지연 TCP 연결들에 대한 묶음 종료 동작 시 수행되는 단계들을 도시한다.
도 11은 본 발명의 다양한 실시예들에 따른 TCP 제어 방법의 전체 흐름을 도시한다.
도 12는 본 발명의 일 실시예에 따른, 데이터 전송 비활성 시간 또는 가드 타임아웃을 추정하기 위한 TCP 제어의 동작 흐름을 도시한다.
도 13은 본 발명의 일 실시예에 따른, 비활성의 비영구적 TCP 연결에 대한 선행적 종료 방법을 위한 TCP 제어의 동작 흐름을 도시한다.
도 14는 본 발명의 일 실시예에 따른, 비활성의 비영구적 TCP 연결에 대한 묶음 종료 방법을 위한 TCP 제어의 동작 흐름을 도시한다.
도 15는 본 발명의 일 실시예에 따른, 비활성의 비영구적 TCP 연결들에 대한 선행적 및 묶음 종료를 포함하는 결합된 방법들을 위한 TCP 제어의 동작 흐름을 도시한다.
도 16a 및 도 16b는 본 발명의 다양한 실시예들에 따른 TCP 제어 동작에 대한 전력 절약 측면에서의 시험 결과를 도시한다.
도 17은 본 발명의 다양한 실시예들에 따른 TCP 제어 동작에 대한 네트워크 시그널링 감소 측면에서의 시험 결과를 도시한다.
본 발명의 특정 기능들이 일부 도면에는 도시되고, 다른 도면들에는 도시되지 않지만, 각각의 기능이 본 발명에 따른 다른 기능들 모두 또는 어느 하나와 결합될 수 있기 때문에 이것은 단지 편의를 위해 이루어진다.
Other objects, functions and advantages will be apparent to those skilled in the art from the accompanying drawings and the following description of the preferred embodiment.
1 shows a network environment to which embodiments of the present invention are applied.
Figure 2 shows the operation of termination for a TCP connection at the client initiated by the server.
3A illustrates the operation of proactive TCP connection termination according to an embodiment of the present invention.
3B illustrates the operation of delayed TCP connection bundle termination according to an embodiment of the present invention.
4 illustrates a block configuration of a client device according to various embodiments of the present invention.
5 shows an overall software architecture for LPTCP according to various embodiments of the present invention.
6A illustrates a method for detecting a TCP connection termination time initiated by a server according to an embodiment of the present invention.
6B illustrates a method for detecting a guard timeout according to another embodiment of the present invention.
7 illustrates TCP connection termination operations according to various embodiments of the present invention.
8 is a diagram for explaining a combined operation of TCP connection precedence and bundle termination according to an embodiment of the present invention.
9A illustrates steps performed for a proactive TCP connection termination operation according to an embodiment of the present invention.
9B illustrates steps performed for a proactive TCP connection termination operation according to another embodiment of the present invention.
10A and 10B illustrate steps performed in a bundle termination operation for delayed TCP connections according to an embodiment of the present invention.
11 illustrates an overall flow of a TCP control method according to various embodiments of the present invention.
12 illustrates an operational flow of TCP control for estimating data transmission inactivity time or guard timeout according to an embodiment of the present invention.
13 illustrates an operational flow of TCP control for a method for proactively terminating an inactive, non-persistent TCP connection according to an embodiment of the present invention.
14 illustrates an operational flow of TCP control for a bundle termination method for an inactive, non-persistent TCP connection according to an embodiment of the present invention.
15 illustrates an operational flow of TCP control for combined methods including proactive and bundled termination for inactive, non-persistent TCP connections, according to an embodiment of the present invention.
16A and 16B show test results in terms of power saving for a TCP control operation according to various embodiments of the present invention.
17 illustrates test results in terms of network signaling reduction for a TCP control operation according to various embodiments of the present disclosure.
Although certain functions of the present invention are shown in some drawings and not in others, this is done for convenience only, as each function may be combined with any or all of the other functions according to the present invention.

이하, 본 발명의 실시 예들을 첨부한 도면들을 참조하여 상세히 설명한다. 그리고, 하기에서는 본 발명의 실시예들에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외의 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다. 그리고 후술되는 용어들은 본 발명의 실시예들에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. In addition, it should be noted that only the parts necessary for understanding the operation according to the embodiments of the present invention will be described below, and descriptions of other parts will be omitted so as not to obscure the gist of the present invention. In addition, the terms to be described later are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be made based on the content throughout this specification.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예들을 가질 수 있는 바, 특정 실시 예들을 도면들에 예시하여 상세하게 설명한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 할 것이다. 따라서 본 특허 명세서에서 본 발명의 원리들을 설명하기 위해 사용되어지는 도 1 내지 도 17은 단지 예시를 위한 것인 바, 발명의 범위를 제한하는 어떠한 것으로도 해석되어져서는 아니될 것이다. Since the present invention can have various changes and can have various embodiments, specific embodiments are illustrated in the drawings and described in detail. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. Accordingly, FIGS. 1 to 17 used to explain the principles of the present invention in this patent specification are for illustrative purposes only, and should not be construed as limiting the scope of the present invention.

후술될 본 발명의 다양한 실시예들은 배터리 수명을 개선하기 위해 스마트폰 단말과 같은 전자 장치(또는 클라이언트)에서 TCP 연결들을 제어하는 장치 및 방법을 제공한다. 본 발명의 실시예들은 컴퓨팅 장치, 예를 들어 도 1에 도시된 바와 같은 네트워크 환경에서 적용될 수 있다. Various embodiments of the present invention to be described below provide an apparatus and method for controlling TCP connections in an electronic device (or client) such as a smart phone terminal in order to improve battery life. Embodiments of the present invention may be applied to a computing device, for example, a network environment as shown in FIG. 1 .

도 1을 참조하면, 클라이언트 100은 네트워크 300을 통해 서버 200에 연결된다. 네트워크 300은 3G 또는 롱텀에볼루션(long term evolution, LTE)의 무선 통신 시스템이 될 수 있다. 클라이언트 100은 다수의 어플리케이션들(예; App-A 11, App-B 12, App-C 13) 10의 실행을 통해 서버 200과 연동하며, 그 결과 서버 200과 다양한 컨텐츠를 주고 받을 수 있다. 클라이언트 100과 서버 200은 전송제어프로토콜(transmission control protocol, TCP)와 같은 전송 프로토콜을 통해 서로 연결될 수 있다. 클라이언트 100은 다양한 전자 장치들 또는 사용자 단말들이 될 수 있는데, 대표적으로는 스마트폰이 될 수 있다. Referring to FIG. 1 , a client 100 is connected to a server 200 through a network 300 . The network 300 may be a wireless communication system of 3G or long term evolution (LTE). The client 100 interworks with the server 200 through the execution of a plurality of applications (eg, App-A 11, App-B 12, App-C 13) 10, and as a result, can exchange various contents with the server 200. The client 100 and the server 200 may be connected to each other through a transmission protocol such as a transmission control protocol (TCP). The client 100 may be various electronic devices or user terminals, such as a smartphone.

본 발명의 실시예들은 어플리케이션 소프트웨어를 변경할 필요 없이 사용자 경험을 악화시키거나 어플리케이션 기능에 영향을 미치지 않으면서도 보다 긴 유휴 시간을 갖도록 함으로써 보다 높은 배터리 수명을 달성하는 데 도움을 준다.Embodiments of the present invention help achieve higher battery life by allowing longer idle times without the need to change application software, without compromising user experience or affecting application functionality.

현재, 스마트폰 에이전트들(agents)에 의해 설정되는 TCP 연결들(connections)은 영구적인(persistent) 연결 및 비영구적(non-persistent) 연결일 수 있다. 서버에 의해 종료되는 비활성의 비영구적인 연결(inactive non-persistent connections)은 유휴 상태에서 활성 상태로 천이하도록 셀룰러 무선과 같은 네트워크 리소스들을 야기한다. 이러한 현상은 반복적으로 전력 소비에 영향을 미친다. 본 발명의 실시예들은 서버에 의한 TCP 연결 종료를 최적화함으로써 클라이언트 장치의 배터리 수명을 증가시키는 것이다. Currently, TCP connections established by smartphone agents may be persistent and non-persistent. Inactive non-persistent connections that are terminated by the server cause network resources such as cellular radio to transition from an idle state to an active state. This phenomenon repeatedly affects power consumption. Embodiments of the present invention increase the battery life of a client device by optimizing TCP connection termination by a server.

후술되는 본 발명의 실시예들은 클라이언트 측, 즉 스마트폰 말단에서 비활성의 비영구적인 TCP 연결을 제어하고 종료하는 다양한 방법들을 보여준다. 본 발명의 실시예들에 따른 방법들은 최소한의 무선 상태 천이 기회들을 사용함으로써, 서버에 의해 개시되는 TCP 연결 종료 처리에 의해 야기되는 전력 소모를 줄일 수 있도록 한다.The embodiments of the present invention described below show various methods of controlling and terminating an inactive, non-persistent TCP connection on the client side, ie, at the end of the smartphone. Methods according to embodiments of the present invention allow to reduce power consumption caused by a TCP connection termination process initiated by a server by using a minimum number of wireless state transition opportunities.

본 발명의 실시예들에 따르면, TCP 연결 종료 처리 방식은 후술되는 도 7에 도시된 바와 같이 선행(proactive) TCP 연결 종료 방식 710과, 지연된(delayed) TCP 연결 묶음(batching) 종료 방식 720과, 결합된 선행 및 묶음 TCP 연결 종료 방식 730을 포함한다. According to embodiments of the present invention, the TCP connection termination processing method includes a proactive TCP connection termination method 710 and a delayed TCP connection batching termination method 720 as shown in FIG. 7 to be described later, It includes a combined leading and packed TCP connection termination scheme 730.

본 발명의 실시예들은 서버에 의해 개시되는 TCP 연결 종료를 제어하면서도 조정 전과 동일하도록 전체 기능이 유지되도록 함으로써 배터리 수명을 향상시키는 데 초점을 맞춘다.Embodiments of the present invention focus on improving battery life by controlling server-initiated TCP connection termination while ensuring that overall functionality remains the same as before adjustment.

본 발명의 실시예들은 TCP 연결들을 종료하는 서버들에 대한 의존성을 줄이고, 특정되고 상이한 서버 종료 타임아웃을 가지는 모든 어플리케이션에 적용될 수 있다. 본 발명의 실시예들은 클라이언트 측에서 네트워크 리소스들을 최소화하는 추가적인 장점이 있고, 네트워크 측 요소들로부터의 추가적인 지원을 필요로 하지 않는다. 본 발명의 실시예들은 네트워크 지원에 상관 없기 때문에, 이들 실시예들은 신속하게 사용될 수 있을 것이다.Embodiments of the present invention reduce dependence on servers terminating TCP connections, and can be applied to any application that has a specific and different server termination timeout. Embodiments of the present invention have the additional advantage of minimizing network resources on the client side and do not require additional support from network side elements. Since embodiments of the present invention are independent of network support, these embodiments may be used quickly.

본 발명의 실시예들은 영구적 및 비영구적 연결들에 대한 TCP 연결의 분류가 수행된 이후에 어플리케이션 트랜스페어런트 계층에서 TCP 연결 정보를 캡처하는 것으로 시작된다. 이러한 분류의 높은 정밀도 및 정확도를 획득하기 위해 사용되는 방법은 TCP 연결이 종료된 후에 연결 재설정을 시도하는 시간을 모니터링하는 것을 기반으로 한다.Embodiments of the present invention begin with capturing TCP connection information at the application transparent layer after classification of TCP connections for persistent and non-persistent connections is performed. The method used to achieve high precision and accuracy of this classification is based on monitoring the amount of time a TCP connection attempts to re-establish a connection after the connection is terminated.

영구적 연결(persistent connection)은 하나 이상의 연속적인 TCP 연결들을 사용함으로써 클라이언트와 서버 간의 데이터 교환이 항상 가능한 연결에 대해 결정된다.A persistent connection is determined for a connection in which data exchange between a client and a server is always possible by using one or more consecutive TCP connections.

비영구적 연결들을 검출하는 예시적인 단계들은 아래와 같을 수 있지만, 이에 국한되지는 않는다.Exemplary steps for detecting non-persistent connections may be, but are not limited to:

1) 연결의 수명이 미리 결정된 시간보다 길고,1) the lifetime of the connection is longer than a predetermined time,

2) 유사한 TCP 연결이 이전 TCP 연결의 종료 후에 미리 결정된 시간 및 미리 결정된 횟수 내에서 재설정된다. 여기서 유사한 TCP 연결이란 연결의 동일한 호스트 이름 또는 목적지 IP 주소 또는 포트가 캐시 또는 DB 내에 있는 경우를 의미한다.2) A similar TCP connection is re-established within a predetermined time and a predetermined number of times after the termination of the previous TCP connection. A similar TCP connection here means that the same host name or destination IP address or port of the connection is in the cache or DB.

본 발명의 실시예들은 진행 중인 TCP 연결로부터 다양한 속성들을 동적으로 계산하는 것이다. 이들 속성은 다음 중 하나 이상 또는 조합일 수 있지만, 이에 국한되지는 않는다.Embodiments of the present invention are to dynamically compute various attributes from an ongoing TCP connection. These attributes can be, but are not limited to, one or more or a combination of the following:

1) 서버 종료 타임아웃(server close timeout): 도 6a에 도시된 바와 같이, 서버 종료 타임아웃 612 값은 최종 데이터 전송과 서버 200에 의해 개시되는 종료의 사이에서 소요되는 시간이다.1) Server close timeout: As shown in FIG. 6A , the server close timeout value 612 is the time required between the last data transmission and the shutdown initiated by the server 200 .

a) 최종 데이터 전송은 서버 200으로부터의 (해당 클라이언트 요청에 대한) 최종 응답이 수신된 시간(T25)을 나타낸다.a) Last data transmission indicates the time (T25) at which the final response (to the corresponding client request) from the server 200 was received.

b) 서버 200에 의해 개시되는 종료는 서버 200에 의해 개시되는 종료로부터 TCP FIN 패킷이 수신된 시간(T30)을 나타낸다.b) The end initiated by the server 200 indicates the time (T30) at which the TCP FIN packet was received from the end initiated by the server 200.

2) 가드 타임아웃(guard timeout): 도 6b에 도시된 바와 같이, 가드 타임아웃 622 값은 서버 200과 클라이언트의 특정 어플리케이션 100-1 사이에서 더 이상 데이터 전송이 없는 이후에 최종 데이터 전송 이후 가장 빠른 시간이다. 여기서 최종 데이터 전송 이후 가장 빠른 시간은 연속적인 요청 및 해당 응답(T85, T90) 이후의 비활성 시간 예측 결과를 나타낸다. 2) Guard timeout: As shown in FIG. 6B, the guard timeout 622 value is the fastest after the last data transmission after there is no more data transmission between the server 200 and the specific application 100-1 of the client. It's time. Here, the earliest time since the last data transmission represents the prediction result of the inactivity time after the continuous request and the corresponding response (T85, T90).

본 발명의 실시예들은 다음과 같이 서버 종료 타임아웃 612를 계산하는 최적 방법을 고려하지만, 이에 국한되지는 않는다.Embodiments of the present invention consider, but are not limited to, an optimal method for calculating the server shutdown timeout 612 as follows.

서버 종료 타임아웃 검출 방법:How to detect server shutdown timeout:

도 6a는 본 발명의 일 실시예에 따라 서버에 의해 개시되는 TCP 연결 종료 시간을 검출하는 방법을 도시한다. 본 발명의 일 실시예에 따르면, 서버에 의해 개시되는 종료 동작은 데이터 전송에 대한 장기간의 비활성화 이후에 서버에 의해 트리거된다.6A illustrates a method for detecting a TCP connection termination time initiated by a server according to an embodiment of the present invention. According to one embodiment of the present invention, the server initiated termination action is triggered by the server after a prolonged deactivation of data transmission.

각각의 연결의 TCP 서버 종료 타임아웃은 폴 시스템 콜(poll system call)에서의 소위 POLLRDHUP 이벤트를 모니터링함으로써 계산된다. POLLRDHUP 이벤트는 피어(peer)가 그의 연결을 끊을 때 트리거된다. 즉 POLLRDHUP 이벤트는 연결의 원격 종단(remote end)(예; 서버 200)이 TCP FIN 패킷을 전송할 때 트리거된다(도 6a의 T30).The TCP server shutdown timeout for each connection is calculated by monitoring the so-called POLLRDHUP event in the poll system call. The POLLRDHUP event is triggered when a peer disconnects from it. That is, the POLLRDHUP event is triggered when the remote end of the connection (eg, server 200) transmits a TCP FIN packet (T30 in FIG. 6A ).

예시적 알고리즘:Exemplary algorithm:

서버 종료 타임아웃(Server Close Time-out) = 연결 설정 시간(connection established time) - POLLRDHUP 이벤트 트리거 시간(event triggered time)(FIN 수신 시간(receiving time))Server Close Time-out = connection established time - POLLRDHUP event triggered time (FIN receiving time)

본 발명의 실시예들은 다음과 같이 가드 타임아웃을 계산하는 최적의 방법을 고려하지만, 이에 국한되지는 않는다.Embodiments of the present invention consider, but are not limited to, an optimal method for calculating the guard timeout as follows.

가드 타임아웃 검출 방법:How to detect a guard timeout:

도 6b는 본 발명의 다른 실시예에 따라 가드 타임아웃(guard timeout)을 검출하는 방법을 도시한다. 본 발명의 일 실시에에 따르면, 서버와 모바일 어플리케이션 간의 비영구적 연결들을 위한 데이터 전송 완료 시간 또는 비활성화 시간은 왕복 시간(RTT) 및 응답 처리 시간의 함수로 계산된다.6B illustrates a method for detecting a guard timeout according to another embodiment of the present invention. According to an embodiment of the present invention, a data transmission completion time or deactivation time for non-persistent connections between a server and a mobile application is calculated as a function of a round trip time (RTT) and a response processing time.

가드 타임아웃은 클라이언트에 의해 개시되는 종료로부터 TCP 연결 소켓이 보호되는 시간의 양이다. 이것은 소켓에 대한 "보호 타임아웃(protected timeout)"이라고 할 수 있다.The guard timeout is the amount of time a TCP connection socket is protected from termination initiated by the client. This can be referred to as a "protected timeout" for the socket.

가드 타임아웃에 대한 계산은 서버의 응답에 대한 어플리케이션 처리 시간(도 6b의 processing time N)과, 요청/응답의 왕복 시간(RTT M) 즉, 요청과 응답 사이의 지연의 함수이다.The calculation of the guard timeout is a function of the application processing time for the server's response (processing time N in FIG. 6B) and the request/response round trip time (RTT M), that is, the delay between the request and the response.

가드 타임아웃 값은 소켓마다 서로 다르다. 그것은 소켓의 수명 동안 소켓 판독 & 작성 시간 스탬프를 기반으로 하여 동적으로 업데이트된다.The guard timeout value is different for each socket. It is dynamically updated based on socket read & write timestamps over the lifetime of the socket.

예시적 알고리즘:Exemplary algorithm:

가드 타임아웃(Guard Timeout) = 평균 처리 시간(Avg Processing Time) + (처리 시간 분산(Processing Time Variance)) + 평균 RTT(Avg RTT) + (RTT 분산(RTT Variance))Guard Timeout = Avg Processing Time + (Processing Time Variance) + Avg RTT (Avg RTT) + (RTT Variance)

예시적 수식example formula

Figure 112015085297315-pat00001
Figure 112015085297315-pat00001

계산 세부 사항:Calculation Details:

처리 시간(Processing Time) = 요청 전송 시간 - 최종 응답 수신 시간Processing Time = Request Transmission Time - Last Response Received Time

RTT = 응답 수신 시간 - 최종 요청 전송 시간RTT = Response Received Time - Last Request Transmitted Time

평균 처리 시간(Average Processing Time) = 처리 시간의 합/처리 기간의 개수Average Processing Time = sum of processing times/number of processing periods

처리 시간 분산(Processing Time Variance) = 평균 처리 시간으로부터의 분산Processing Time Variance = Variance from Average Processing Time

평균 RTT(Average RTT) = RTT의 합/RTT의 개수Average RTT (Average RTT) = sum of RTTs/number of RTTs

RTT 분산(RTT Variance) = 평균 RTT로부터의 분산RTT Variance = Variance from mean RTT

W1 = 처리 시간 분산에 대한 가중 인자W 1 = weighting factor for variance of processing time

W2 = RTT 분산에 대한 가중 인자W 2 = weighting factor for RTT variance

도 4는 본 발명의 다양한 실시예들에 따른 클라이언트 장치의 블록 구성을 도시한다. 예를 들어, 클라이언트 장치는 도 1에 도시된 클라이언트 100이 될 수 있다. 4 illustrates a block configuration of a client device according to various embodiments of the present invention. For example, the client device may be the client 100 shown in FIG. 1 .

도 4를 참조하면, 클라이언트 100은 안테나부 110과 송수신기 120과 제어기 130과 메모리 140을 포함한다. Referring to FIG. 4 , the client 100 includes an antenna unit 110 , a transceiver 120 , a controller 130 , and a memory 140 .

안테나부 110은 송수신기 120에 의해 송신 처리된 신호를 무선 채널을 통해 송신하고, 무선 채널상의 신호를 수신한다. 안테나부 110은 빔포밍을 지원하기 위한 다수의 안테나들, 어레이 안테나 또는 안테나 요소(element)들을 포함할 수 있다. The antenna unit 110 transmits a signal transmitted by the transceiver 120 through a wireless channel and receives a signal on the wireless channel. The antenna unit 110 may include a plurality of antennas, an array antenna, or antenna elements for supporting beamforming.

송수신기 120은 송신될 신호를 송신 처리하고, 또한 수신되는 신호를 수신 처리한다. 예를 들어, 송수신기 120은 시스템의 물리 계층 규격에 따라 기저대역 신호 및 비트열 간 변환 기능을 수행한다. 데이터 송신 시, 송수신기 120은 송신 비트열을 부호화 및 변조함으로써 복소 심벌들을 생성한다. 이때 송수신기 120은 상기 복소 심벌들을 부반송파들에 매핑하고, IFFT(inverse fast Fourier transform) 연산을 통해 OFDM 심벌을 생성할 수 있다. 데이터 수신 시, 송수신기 120은 기저대역 신호를 복조 및 복호화를 통해 수신 비트열을 복원한다. 또한, 송수신기 120은 기저대역 신호를 RF(radio frequency) 대역 신호로 상향변환한 후 안테나부 110을 통해 송신하고, 상기 안테나 110을 통해 수신되는 RF 대역 신호를 기저대역 신호로 하향변환한다. 예를 들어, 송수신기 120은 송신 필터, 수신 필터, 증폭기, 믹서(mixer), 오실레이터(oscillator), DAC(Digital to Analog Convertor), ADC(Analog to Digital Convertor) 등을 포함할 수 있다. The transceiver 120 transmits and processes a signal to be transmitted, and also receives and processes a received signal. For example, the transceiver 120 performs a conversion function between a baseband signal and a bit stream according to a physical layer standard of a system. When transmitting data, the transceiver 120 generates complex symbols by encoding and modulating the transmitted bit stream. In this case, the transceiver 120 may map the complex symbols to subcarriers and generate OFDM symbols through an inverse fast Fourier transform (IFFT) operation. When receiving data, the transceiver 120 restores a received bit stream by demodulating and decoding the baseband signal. In addition, the transceiver 120 up-converts the baseband signal into a radio frequency (RF) band signal, transmits it through the antenna unit 110, and downconverts the RF band signal received through the antenna 110 into a baseband signal. For example, the transceiver 120 may include a transmit filter, a receive filter, an amplifier, a mixer, an oscillator, a digital to analog converter (DAC), an analog to digital converter (ADC), and the like.

또한, 송수신기 120은 다수의 RF 체인들을 포함할 수 있다. 게다가, 송수신기 120은 빔포밍(beamforming)을 지원할 수 있다. 빔포밍을 위해, 송수신기 120은 안테나부 110에 포함되는 다수의 안테나들 또는 안테나 요소(element)들을 통해 송수신되는 신호들 각각의 위상 및 크기를 조절할 수 있다. 또한, 송수신기 120은 송신되는 다수의 데이터 스트림들에 대해 프리코딩(precoding)을 수행할 수 있다. 이에 따라 송신 장치는 MU-MIMO 통신을 수행할 수 있다. 송수신기 120은 상술한 바와 같이 신호를 송신 및 수신한다. 이러한 송수신기 120은 통신부 또는 송수신부로 지칭될 수 있으며, 경우에 따라서는 송신기와 수신기 또는 송신부와 수신부로 분리되어 도시될 수 있다. In addition, the transceiver 120 may include multiple RF chains. In addition, the transceiver 120 may support beamforming. For beamforming, the transceiver 120 may adjust the phase and magnitude of each of signals transmitted and received through a plurality of antennas or antenna elements included in the antenna unit 110 . In addition, the transceiver 120 may perform precoding on a plurality of data streams to be transmitted. Accordingly, the transmitting device may perform MU-MIMO communication. The transceiver 120 transmits and receives signals as described above. The transceiver 120 may be referred to as a communication unit or a transceiver unit, and in some cases, may be illustrated as being separated into a transmitter and a receiver or a transmitter and a receiver.

메모리 140은 송신 장치의 동작을 위한 기본 프로그램, 응용 프로그램, 설정 정보 등의 데이터를 저장한다. 또한, 메모리 140은 제어기 130의 요청에 따라 저장된 데이터를 제공한다. 예를 들어, 메모리 140은 도 11 내지 도 15에 도시된 흐름들에 따른 저전력 TCP 연결 종료 동작들의 수행과 관련된 프로그램 및/또는 명령어들을 저장할 수 있다. The memory 140 stores data such as a basic program, an application program, and setting information for the operation of the transmitter. In addition, the memory 140 provides stored data according to the request of the controller 130 . For example, the memory 140 may store programs and/or instructions related to performing low-power TCP connection termination operations according to the flows illustrated in FIGS. 11 to 15 .

제어기 130은 클라이언트의 전반적인 동작들을 제어한다. 예를 들어, 제어기 130은 송수신기 120을 통해 신호를 송수신한다. 또한, 제어기 130은 메모리 140에 데이터를 기록하고, 메모리 140에 기록되어 있는 데이터를 읽는다. 이를 위해, 제어기 130은 적어도 하나의 프로세서(processor)를 포함할 수 있다. The controller 130 controls overall operations of the client. For example, the controller 130 transmits and receives a signal through the transceiver 120 . In addition, the controller 130 writes data to the memory 140 and reads the data recorded in the memory 140 . To this end, the controller 130 may include at least one processor.

본 발명의 실시예들에 따른 TCP 연결 제어를 위해, 제어기 130은 타임아웃 계산 모듈 132와 TCP 연결 종료 모듈 134를 포함한다. 타임아웃 계산 모듈 132는 본 발명의 실시예들에 따른 저전력 TCP 연결 종료 동작을 위해, 각 TCP 연결에 대하여 서버 개시의 TCP 연결 종료 시간과 가드 타임아웃(또는 데이터 전송 비활성화 시간)을 계산 또는 추정한다. 예를 들어, 타임아웃 계산 모듈 132는 도 6a에 도시된 흐름에 따라 서버 개시의 TCP 연결 종료 시간을 검출한다. 또한, 타임아웃 계산 모듈 132는 도 6b에 도시된 흐름에 따라 가드 타임아웃을 검출한다. For TCP connection control according to embodiments of the present invention, the controller 130 includes a timeout calculation module 132 and a TCP connection termination module 134 . The timeout calculation module 132 calculates or estimates a server-initiated TCP connection termination time and a guard timeout (or data transmission deactivation time) for each TCP connection for a low-power TCP connection termination operation according to embodiments of the present invention. . For example, the timeout calculation module 132 detects the server-initiated TCP connection termination time according to the flow shown in FIG. 6A . In addition, the timeout calculation module 132 detects a guard timeout according to the flow shown in FIG. 6B .

TCP 연결 종료 모듈 134는 본 발명의 실시예들에 따른 저전력 TCP 연결 종료 동작들을 수행한다. 일 실시예에서, TCP 연결 종료 모듈 134는 후술되는 도 13에 도시된 흐름에 따라 TCP 연결 선행 종료 동작을 수행한다. 다른 실시예에서, TCP 연결 종료 모듈 134는 후술되는 도 14에 도시된 흐름에 따라 TCP 연결 묶음 종료 동작을 수행한다. 다른 실시예에서, TCP 연결 종료 모듈 134는 후술되는 도 15에 도시된 흐름에 따라 TCP 연결 선행 종료 및 묶음 종료 결합 동작을 수행한다.The TCP connection termination module 134 performs low-power TCP connection termination operations according to embodiments of the present invention. In an embodiment, the TCP connection termination module 134 performs a TCP connection prior termination operation according to a flow illustrated in FIG. 13 to be described later. In another embodiment, the TCP connection termination module 134 performs a TCP connection bundle termination operation according to a flow illustrated in FIG. 14 to be described later. In another embodiment, the TCP connection termination module 134 performs a TCP connection prior termination and bundle termination combining operations according to a flow illustrated in FIG. 15 to be described later.

본 발명의 일 실시예에 따르면, 제어기 130은 다수의 TCP 연결들 중에서 적어도 하나의 TCP 연결에 대한 데이터 전송 비활성화 시간을 결정하고, 상기 데이터 전송 비활성화 시간에 상기 TCP 연결을 종료한다. According to an embodiment of the present invention, the controller 130 determines a data transmission deactivation time for at least one TCP connection among a plurality of TCP connections, and terminates the TCP connection at the data transmission deactivation time.

일 실시예에서, 상기 데이터 전송 비활성화 시간은, 서버와의 사이에서의 상기 TCP 연결과 관련한 일련의 요청의 송신에서부터 응답의 수신까지의 왕복시간(RTT)과, 상기 서버로부터의 임의의 응답 수신 이후 다음 요청 송신까지의 처리 시간에 기초하여 결정될 수 있다. In one embodiment, the data transmission deactivation time includes a round-trip time (RTT) from transmission of a series of requests related to the TCP connection with the server to reception of a response, and after receiving any response from the server. It may be determined based on the processing time until the next request transmission.

일 실시예에서, 상기 데이터 전송 비활성화 시간은, 서버에 의해 개시되는 상기 TCP 연결에 대한 종료 시점보다 빠르다. 상기 서버에 의해 개시되는 상기 TCP 연결에 대한 종료는, 상기 서버로부터 상기 TCP 연결의 종료를 지시하는 메시지가 수신됨에 응답하여 수행될 수 있다. In one embodiment, the data transmission deactivation time is earlier than the termination time for the TCP connection initiated by the server. The termination of the TCP connection initiated by the server may be performed in response to receiving a message indicating termination of the TCP connection from the server.

본 발명의 다른 실시예에 따르면, 제어기 130은 다수의 TCP 연결들 중에서 서버에 의해 종료 처리가 개시되는 적어도 하나의 제1 TCP 연결을 확인하고, 상기 TCP 연결들 중에서 상기 제1 TCP 연결을 제외한 적어도 하나의 제2 TCP 연결에 대한 처리와 함께 상기 제1 TCP 연결을 묶어서 종료한다. According to another embodiment of the present invention, the controller 130 checks at least one first TCP connection for which termination processing is initiated by the server among a plurality of TCP connections, and at least among the TCP connections except for the first TCP connection The first TCP connection is bundled and terminated together with the processing of one second TCP connection.

일 실시예에서, 상기 제2 TCP 연결에 대한 처리는, 상기 제2 TCP 연결에 대한 연결 처리 및 종료 처리, 그리고 데이터 패킷 송수신 처리 중 하나를 포함할 수 있다. In an embodiment, the processing for the second TCP connection may include one of connection processing and termination processing for the second TCP connection, and data packet transmission/reception processing.

일 실시예에서, 상기 제어기는, 상기 다수의 TCP 연결들 중에서 상기 서버로부터 종료 메시지의 수신에 응답하여 상기 제1 TCP 연결을 확인하는 동작을 수행할 수 있다. In an embodiment, the controller may perform an operation of confirming the first TCP connection in response to receiving a termination message from the server among the plurality of TCP connections.

일 실시예에서, 상기 제어기는, 상기 제1 TCP 연결에 대한 데이터 전송 비활성화 시간이 미리 결정된 기준 시간보다 큰 경우에 상기 제1 TCP 연결을 확인하고, 상기 제1 TCP 연결을 묶어서 종료하는 동작을 수행할 수 있다. 상기 제어기는, 상기 데이터 전송 비활성화 시간이 상기 기준 시간보다 크지 않은 경우, 상기 데이터 전송 비활성화 시간에 상기 제1 TCP 연결을 종료하는 동작을 더 수행할 수 있다. In an embodiment, the controller checks the first TCP connection when a data transmission deactivation time for the first TCP connection is greater than a predetermined reference time, and performs an operation of tying up and terminating the first TCP connection can do. The controller may further perform the operation of terminating the first TCP connection at the data transmission deactivation time when the data transmission deactivation time is not greater than the reference time.

일 실시예에서, 상기 데이터 전송 비활성화 시간은, 상기 서버와의 사이에서의 상기 제1 TCP 연결과 관련한 일련의 요청의 송신에서부터 응답의 수신까지의 왕복시간(RTT)과, 상기 서버로부터의 임의의 응답 수신 이후 다음 요청 송신까지의 처리 시간에 기초하여 결정될 수 있다. In one embodiment, the data transmission deactivation time includes a round-trip time (RTT) from transmission of a series of requests related to the first TCP connection with the server to reception of a response, and any arbitrary number from the server. It may be determined based on the processing time from the reception of the response until the transmission of the next request.

일 실시예에서, 상기 데이터 전송 비활성화 시간은, 상기 서버에 의해 개시되는 상기 제1 TCP 연결에 대한 종료 시점보다 빠를 수 있다. 상기 서버에 의해 개시되는 상기 제1 TCP 연결에 대한 종료는, 상기 서버로부터 상기 제1 TCP 연결의 종료를 지시하는 메시지가 수신됨에 응답하여 수행될 수 있다. In an embodiment, the data transmission deactivation time may be earlier than an end time for the first TCP connection initiated by the server. The termination of the first TCP connection initiated by the server may be performed in response to receiving a message indicating termination of the first TCP connection from the server.

도 5는 본 발명의 다양한 실시예들에 따른 저전력 전송제어프로토콜(low power transmission control protocol, LPTCP)를 위한 전체 소프트웨어 아키텍처 500을 도시한다. 예를 들어, 이 아키텍처 500은 도 4에 도시된 제어기 130에 의해 제어될 수 있다. 본 발명의 일 실시예에 따르면, 도 5는 어플리케이션들에 의해 사용되는 네트워크 소프트웨어 구성 요소들과 시스템에서의 LPTCP 솔루션의 사용을 나타낸다.5 illustrates an overall software architecture 500 for a low power transmission control protocol (LPTCP) in accordance with various embodiments of the present invention. For example, this architecture 500 may be controlled by the controller 130 shown in FIG. 4 . 5 illustrates the network software components used by applications and the use of an LPTCP solution in a system, according to an embodiment of the present invention.

도 5를 참조하면, 아키텍처 500은 어플리케이션 510과, TCP 연결 모니터(connection monitor)(또는 래퍼(wrapper)) 520과, TCP 연결 제어기(connection controller) 530과, 소켓 계층 라이브러리(socket layer library)(또는 LIBC(Library for C)) 540과, 커널(Kernel) 550을 포함한다. 본 발명의 실시예들은 TCP 연결 모니터 520과 TCP 연결 제어기 530을 포함하는 시스템을 사용하여 구현되지만, 본 발명의 범위는 이에 국한되지는 않는다.Referring to FIG. 5 , architecture 500 includes an application 510, a TCP connection monitor (or wrapper) 520, a TCP connection controller 530, and a socket layer library (or Includes LIBC (Library for C) 540 and Kernel 550. Although embodiments of the present invention are implemented using a system including a TCP connection monitor 520 and a TCP connection controller 530, the scope of the present invention is not limited thereto.

도 5에 도시된 바와 같이, 모든 네트워크 전송들은 소켓 계층 라이브러리 540 상에서 발생한다. TCP 연결 모니터 520은 소켓 계층 라이브러리 540, 예를 들어 LIBC 상의 래퍼(wrapper)이다.As shown in FIG. 5 , all network transports occur on the socket layer library 540 . The TCP connection monitor 520 is a wrapper on the socket layer library 540, for example LIBC.

TCP 연결 모니터 520의 역할 및 임무는 아래와 같을 수 있지만, 이에 국한되지는 않는다.The role and task of the TCP connection monitor 520 may be, but is not limited to, as follows.

a) TCP 연결 모니터 520은 소켓 호출(즉, 소켓, 종료, 판독, 작성, 전송/~에 전송, 수신/~로부터 수신, getaddrinfo) 동작들을 모니터링할 수 있다.a) The TCP connection monitor 520 may monitor socket call (ie, socket, end, read, write, send/send to, receive/receive from, getaddrinfo) operations.

b) TCP 연결 모니터 520은 반환 값(return value)으로서, 스트림 소켓 피어 종료된 연결을 지시하는 POLLRDHUP를 확인하거나 또는 연결의 절반의 라이팅(writing)을 셧다운하기 위하여, 폴(poll)() 함수를 호출함으로써 서버에 의해 개시되는 TCP 연결 종료를 식별할 수 있다.b) TCP connection monitor 520 checks, as a return value, POLLRDHUP indicating a stream socket peer terminated connection, or calls a poll() function to shut down the writing of half of the connection By calling it, you can identify a TCP connection termination initiated by the server.

c) TCP 연결 모니터 520은 CLOSE_WAIT 또는 LAST_ACK 상태로의 TCP 연결 상태 변화를 모니터링함으로써 서버에 의해 개시되는 TCP 연결 종료를 식별할 수 있다.c) TCP connection monitor 520 may identify TCP connection termination initiated by the server by monitoring TCP connection state change to CLOSE_WAIT or LAST_ACK state.

d) TCP 연결 모니터 520은 TCP 연결의 셧다운(shutdown)을 수행할 수 있다.d) TCP connection monitor 520 may perform shutdown of TCP connection.

e) TCP 연결 모니터 520은 독립형 모드(stand-alone mode)에서 TCP 연결의 종료를 개시할 수 있다.e) The TCP connection monitor 520 may initiate termination of the TCP connection in a stand-alone mode.

f) TCP 연결 모니터 520은 소켓 호출들에 대한 래퍼(wrapper)일 수 있다(LIBC 라이브러리 내에 있을 수 있다).f) TCP connection monitor 520 may be a wrapper for socket calls (which may be in the LIBC library).

g) TCP 연결 모니터 520은 수정된 소켓 계층일 수 있다.g) TCP connection monitor 520 may be a modified socket layer.

TCP 연결 제어기 530은 스마트폰 상에서 사용되는 독립적인 프로세스이다. TCP 연결 제어기 530은 비활성의 TCP 연결을 선행적으로 종료하기 위한 결정 및 시간에 대해 통지하는 결정 유닛(decisive unit)으로서 TCP 연결 모니터 520과 상호 작용한다.The TCP connection controller 530 is an independent process used on the smartphone. The TCP connection controller 530 interacts with the TCP connection monitor 520 as a decisive unit to notify of the decision and time to proactively terminate an inactive TCP connection.

TCP 연결 제어기 530의 역할 및 임무는 아래와 같을 수 있지만, 이에 국한되지는 않는다.The roles and duties of the TCP connection controller 530 may be as follows, but are not limited thereto.

a) TCP 연결 제어기 530은 TCP 연결의 단말 측 종료에 대한 통지를 개시할 수 있다.a) The TCP connection controller 530 may initiate a notification for terminal-side termination of a TCP connection.

b) TCP 연결 제어기 530은 발생된(invoked) 임의의 TCP 연결에 대한 연결 또는 종료 함수와 함께 하나 이상의 TCP 연결 모니터들에 대한 TCP 연결 묶음 종료들을 조정할 수 있다.b) TCP connection controller 530 may coordinate TCP connection bundle terminations for one or more TCP connection monitors with a connection or termination function for any TCP connection invoked.

c) TCP 연결 제어기 530은 로우 소켓 패킷 캡처 라이브러리(raw socket packet capture library)(즉, libpcap)를 통해 네트워크 계층을 모니터링함으로써 임의의 송신 또는 수신 데이터 패킷들과 함께 하나 이상의 TCP 연결 모니터들에 대한 TCP 연결 묶음 종료들을 조정할 수 있다.c) TCP connection controller 530 monitors the network layer through a raw socket packet capture library (i.e., libpcap) for one or more TCP connection monitors along with any transmitted or received data packets. Connection bundle terminations are configurable.

d) TCP 연결 제어기 530은 네트워크 통계에서 패킷 카운트 변화를 모니터링함으로써 임의의 송신 또는 수신 데이터 패킷들과 함께 하나 이상의 TCP 연결 모니터들에 대한 TCP 연결 묶음 종료들을 조정할 수 있다.d) TCP connection controller 530 may coordinate TCP connection bundle terminations to one or more TCP connection monitors with any transmitted or received data packets by monitoring packet count changes in network statistics.

본 발명의 실시예들은 랜덤하게 서버에 의해 개시되는 TCP 연결 종료로 인한 전력 소비에 비하여 더 양호한 배터리 수명을 달성하기 위한 다음의 방법들을 포함하지만, 본 발명의 범위는 이에 국한되지는 않는다. 앞서서 언급한 바와 같이, 본 발명의 실시예들에 따른 TCP 연결 종료 처리 방식은 도 7에 도시된 바와 같이 선행 TCP 연결 종료(proactive TCP connection close) 방식 710과, 지연된 TCP 연결 묶음 종료(batching delayed TCP connection close) 방식 720과, 결합된 선행 및 묶음 TCP 연결 종료 방식(combined proactive and batching TCP connection close) 730을 포함한다. Embodiments of the present invention include, but are not limited to, the following methods for achieving better battery life compared to power consumption due to TCP connection termination, which is randomly initiated by a server. As mentioned above, the TCP connection termination processing method according to the embodiments of the present invention includes a proactive TCP connection close method 710 and a delayed TCP connection bundle termination as shown in FIG. 7 , as shown in FIG. 7 . connection close method 720; and combined proactive and batching TCP connection close method 730.

선행적 TCP 연결 종료(proactive TCP connection close): Proactive TCP connection close :

도 3a는 본 발명의 실시예에 따른 선행적 TCP 연결 종료의 동작을 도시한다. 이 종료 동작은 도 1에 도시된 클라이언트 100에서 개시될 수 있다. 3A illustrates the operation of proactive TCP connection termination according to an embodiment of the present invention. This termination operation may be initiated at the client 100 shown in FIG. 1 .

도 3a를 참조하면, 비활성의 TCP 연결들 41-43은 선행적으로 종료되는데, 이러한 동작은 어떠한 추가적인 무선 상태 천이도 초래하지 않는다. 이것은 TCP 연결들 41-43의 종료 동작을 위한 구간을 무선 활성화 기간의 최소 시간으로 설정 가능하기 때문이다. 이 실시예에 따르면, 비활성 상태의 비영구적 TCP 연결(예; 41-43)이 클라이언트 장치에서 먼저 종료된다. 클라이언트 장치는 서버 개시의 종료가 발생한 TCP 연결의 서버 타임아웃을 산출하고, 안전하게 종료할 수 있는 시간 동안 비활성 상태인 TCP 연결에 대해 상기 산출된 서버 타임아웃 이전에 즉시 종료한다. Referring to FIG. 3A , inactive TCP connections 41-43 are proactively terminated, which does not result in any additional radio state transitions. This is because the period for the termination operation of TCP connections 41-43 can be set as the minimum time of the radio activation period. According to this embodiment, inactive, non-persistent TCP connections (eg 41-43) are first terminated at the client device. The client device calculates a server timeout for the TCP connection where termination of server initiation occurred, and terminates immediately before the calculated server timeout for TCP connections that have been inactive for a period of time that can be safely terminated.

App-A, App-B 및 App-C 10은 동시에 데이터 동기화 동작을 개시한다(20). 데이터 동기화 활성화로 인해, 무선 상태는 유휴 상태에서 활성 상태로 1회만 천이된다(60). 예를 들어, 이 실시예에 따르면, 도 2에 도시된 바와 같이 4회에 걸친 무선 상태의 천이가 1회로 줄어들게 된다. 활성 무선 상태에서, 전력 소비는 상태가 활성 상태일 때까지 유지된다. 이 기회를 이용하여, 도 5의 TCP 연결 제어기 530은 설정된 여전히 비활성인 TCP 연결들 41-43을 종료한다.App-A, App-B, and App-C 10 simultaneously initiate a data synchronization operation ( 20 ). Due to the data synchronization activation, the radio state is transitioned from the idle state to the active state only once (60). For example, according to this embodiment, as shown in FIG. 2 , the number of radio state transitions over four times is reduced to one. In an active radio state, power consumption is maintained until the state is active. Using this opportunity, the TCP connection controller 530 of FIG. 5 closes established still inactive TCP connections 41-43.

대비적으로, 서버에 의해 개시되는 클라이언트에서의 TCP 연결에 대한 종료의 동작을 도시하고 있는 도 2를 참조하면, 3 개의 어플리케이션들10에 대한 TCP 연결들 41-43의 종료 동작을 위해서, 유휴 상태에서 활성 상태로의 무선 상태 변화에 대한 4개의 인스턴츠(instants) 51-54가 존재한다. 이와 같이 무선 상태의 변화의 횟수가 많을수록 클라이언트에서의 전력 소비를 커지게 될 것이다. In contrast, referring to FIG. 2 which shows the operation of termination for a TCP connection at the client initiated by the server, for the termination operation of TCP connections 41-43 for three applications 10, the idle state There are four instances 51-54 of the radio state change from to active state. As such, as the number of changes in the wireless state increases, power consumption in the client will increase.

전술한 바와 같은 가드 타임아웃은 진행 중인 데이터 전송으로부터의 본 발명의 실시예에 따른 선행적 TCP 연결 종료 동작을 결정하는 결정적인 속성이다.The guard timeout as described above is a decisive attribute that determines the proactive TCP connection termination action according to an embodiment of the present invention from data transmission in progress.

도 9a는 본 발명의 일 실시예에 따른 선행적 TCP 연결 종료 동작을 위해 수행되는 단계들 900을 도시한다. 이 동작을 위해, TCP 연결 제어기 910과 어플리케이션 측에서의 TCP 연결 모니터 920 사이의 상호 작용이 존재한다.9A illustrates steps 900 performed for a proactive TCP connection termination operation according to an embodiment of the present invention. For this operation, there is an interaction between the TCP connection controller 910 and the TCP connection monitor 920 on the application side.

도 9a에 도시된 바와 같이, TCP 연결 모니터 920 및 TCP 연결 제어기 910은 다음의 통신 단계들에 따라 상호 작용한다.As shown in Fig. 9A, the TCP connection monitor 920 and the TCP connection controller 910 interact according to the following communication steps.

a) 기한이 지난 가드 타임아웃을 갖는 TCP 연결 모니터 920은 TCP 연결 제어기 910에 선행적 TCP 종료를 등록한다(931,932).a) The TCP connection monitor 920 with an expired guard timeout registers a proactive TCP termination with the TCP connection controller 910 (931,932).

b) TCP 연결 제어기 910은 TCP 연결 또는 종료(933-1), 신규 패킷 트랙잭션(933-2)을 기다리거나, 타임아웃 만료(933)를 기다리고, 일단 그것이 발생하면 TCP 연결 모니터 920에 선행적 종료 메시지를 전송한다(934).b) TCP connection controller 910 waits for a TCP connection or termination (933-1), a new packet transaction (933-2), or waits for a timeout expiration (933), and once it occurs, it proactively terminates it to the TCP connection monitor 920 The message is sent (934).

도 9b는 본 발명의 다른 실시예에 따른 선행적 TCP 연결 종료 동작을 위해 수행되는 단계들 950을 도시한다. 이 동작은 TCP 연결 제어기 910을 이용할 수 없는 시나리오를 고려한 것이다. 독립형 모드는 어플리케이션 범위의 일부로서 전개될 수 있다. 9B illustrates steps 950 performed for a proactive TCP connection termination operation according to another embodiment of the present invention. This operation takes into account the scenario where the TCP connection controller 910 is not available. Standalone mode can be deployed as part of an application scope.

도 9b를 참조하면, TCP 연결 모니터 920은 독립형 모드(standalone mode)에서 선행적 TCP 연결 종료를 개시하는 기능을 갖는다. 기한이 지난 가드 타임아웃(940)을 갖는 TCP 연결 모니터 920은 선행적 TCP 연결 종료(940)를 수행한다.Referring to FIG. 9B , the TCP connection monitor 920 has a function of initiating a proactive TCP connection termination in a standalone mode. A TCP connection monitor 920 with an expired guard timeout 940 performs a proactive TCP connection termination 940 .

지연된 TCP 연결 묶음 종료( batching delayed TCP connection closes): batching delayed TCP connection closes :

도 3b는 본 발명의 실시예에 따른 지연된 TCP 연결 묶음 종료의 동작을 도시한다. 이 실시예는 복수의 TCP 연결들 41-43이 비활성의 비영구적 연결들에 대한 묶음으로서 종료되도록 개시한다. 이러한 실시예는 도 2에 도시된 바와 같이 유휴 상태에서 활성 상태로의 반복적인 무선 상태 천이를 방지한다.3B illustrates the operation of delayed TCP connection bundle termination according to an embodiment of the present invention. This embodiment discloses that a plurality of TCP connections 41-43 are terminated as a bundle for inactive, non-persistent connections. This embodiment prevents repeated wireless state transitions from the idle state to the active state as shown in FIG. 2 .

이 실시예는 복수의 TCP 연결들 41-43을 묶음으로 종료하기 위해 유휴 상태에서 활성 상태로의 단일의 무선 천이(72)를 야기한다. 이 실시예에 따르면, 비활성 상태의 비영구적 TCP 연결은 다른 TCP 연결과 동시에 종료된다. 서버 개시의 종료가 발생했던 TCP 연결이 비활성화되면, 비활성화 TCP 연결(예; 41)은 다른 TCP 연결(예; 42-43)의 연결 또는 종료가 발생할 때 묶음으로 함께 종료된다. This embodiment causes a single wireless transition 72 from the idle state to the active state to terminate a plurality of TCP connections 41-43 in batches. According to this embodiment, an inactive non-persistent TCP connection is terminated concurrently with other TCP connections. When the TCP connection that caused server-initiated termination is deactivated, the inactive TCP connections (eg 41) are terminated together when a connection or termination of another TCP connection (eg 42-43) occurs.

도 3b를 참조하면, App-A, App-B 및 App-C 10은 동시에 데이터 동기화 동작(20)을 개시한다. 데이터 동기화 활성화로 인해, 무선 상태는 유휴 상태에서 활성 상태로 천이된다(71). 그러나, 다양한 데이터 전송 비활성화 시간들로 인해, TCP 연결 종료는 독립적으로 지연될 수 있다.Referring to FIG. 3B , App-A, App-B, and App-C 10 simultaneously initiate a data synchronization operation 20 . Due to the data synchronization activation, the wireless state transitions from the idle state to the active state (71). However, due to various data transmission deactivation times, the TCP connection termination can be delayed independently.

가드 타임아웃 값은 어플리케이션들 10 각각의 TCP 연결의 각각 41-43에 따라 달라진다. 따라서, TCP 연결들 41-43 모두를 함께 묶음으로 처리하는 것은 복수의 무선 상태 천이를 방지한다(30). 예를 들어, 이 실시예에 따르면, 도 2에 도시된 바와 같이 4회에 걸친 무선 상태의 천이가 2회로 줄어들게 된다. The guard timeout value depends on each 41-43 of each TCP connection of each of applications 10. Accordingly, bundling all of the TCP connections 41-43 together prevents multiple wireless state transitions (30). For example, according to this embodiment, as shown in FIG. 2 , the number of radio state transitions over four times is reduced to two.

도 10a 및 도 10b는 본 발명의 실시예에 따른 지연 TCP 연결들에 대한 묶음 종료 동작 시 수행되는 단계들 1000-1,1000-2를 도시한다. 이 동작을 위해, TCP 연결 제어기 1010과 어플리케이션 프로세스에서의 TCP 연결 모니터 1021-1023 사이에서 일정한 상호 작용이 존재한다.10A and 10B illustrate steps 1000-1 and 1000-2 performed in a bundle termination operation for delayed TCP connections according to an embodiment of the present invention. For this operation, there is some interaction between the TCP connection controller 1010 and the TCP connection monitor 1021-1023 in the application process.

도 10a 및 도 10b에 도시된 바와 같이, TCP 연결 모니터 1010및 TCP 연결 제어기 1021-1023은 다음의 통신 단계들에 따라 상호 작용한다:As shown in Figures 10a and 10b, the TCP connection monitor 1010 and the TCP connection controller 1021-1023 interact according to the following communication steps:

a) 기한이 지난 가드 타임아웃을 갖는 TCP 연결 모니터들 1021-1023은 TCP 연결 제어기 1010에 TCP 묶음 종료를 거의 동시에 등록한다(도 10a의 step 1 1000-1, 1031-1034).a) TCP connection monitors 1021-1023 having expired guard timeout register TCP bundle termination to TCP connection controller 1010 almost simultaneously (steps 1 1000-1 and 1031-1034 of FIG. 10A ).

b) TCP 연결 제어기 1010은 TCP 종료 또는 최소 서버 타임아웃을 기다리고(도 10b의 step 2 1000-2, 1035), 일단 그것이 발생하면 묶음 종료 메시지를 전송한다(1036).b) TCP connection controller 1010 waits for TCP termination or minimum server timeout (step 2 1000-2, 1035 in FIG. 10b), and once it occurs, sends a bundle termination message (1036).

c) TCP 연결 제어기 1010으로 부터 TCP 묶음 종료 메시지를 수신한 후에, TCP 연결 모니터들 1021-1023은 TCP 연결들을 묶음으로 종료한다.c) After receiving the TCP bundle termination message from the TCP connection controller 1010, the TCP connection monitors 1021-1023 terminate the TCP connections as a bundle.

결합된 선행적 및 묶음 TCP 연결 종료(combined proactive and batching TCP connection close): combined proactive and batching TCP connection close :

도 8은 본 발명의 실시예에 따른 TCP 연결 선행 및 묶음 종료의 결합 동작을 설명하기 위한 도면이다. 8 is a diagram for explaining a combined operation of TCP connection precedence and bundle termination according to an embodiment of the present invention.

이 동작은 TCP 연결 선행적 종료 방법과 TCP 연결 묶음 종료 방법의 조합을 포함한다. 클라이언트 장치는 서버 개시의 종료가 발생하기 전에 비활성 상태의 비영구적 TCP 연결을 종료하거나, 다른 TCP 연결의 생성 또는 종료와 동시에 비활성 상태의 비영구적 TCP 연결을 종료한다. 클라이언트 장치는 평상시에는 선행 종료 모드로 동작한다. 만약 선행 종료로 인해 무선 테일(radio tail)이 많이 연장될 것으로 예상될 때, 클라이언트 장치는 묶음 종료 모드로 동작한다. 예를 들어, tGuardTimeout > tInactivityTimer인 경우, 클라이언트 장치는 묶음 종료 모드로 동작한다. 다른 예로, tGuardTimeout < tLowPower인 경우, 클라이언트 장치는 선행 종료 모드로 동작한다. 이 실시예는 두 가지 실시예들의 절전 이익을 전체 누적한 형태에 해당한다. 이 실시예를 위해 미리 결정된 가드 타임아웃 값이 이용된다.This action includes a combination of the TCP connection preemptive termination method and the TCP connection bundle termination method. A client device terminates an inactive non-persistent TCP connection before server-initiated termination occurs, or terminates an inactive non-persistent TCP connection concurrently with the creation or termination of another TCP connection. The client device normally operates in an advance termination mode. If the radio tail is expected to be greatly extended due to the preceding termination, the client device operates in the bundled termination mode. For example, if t GuardTimeout > t InactivityTimer , the client device operates in the batch shutdown mode. As another example, when t GuardTimeout < t LowPower , the client device operates in the advanced shutdown mode. This embodiment corresponds to a form in which the power saving benefits of the two embodiments are fully accumulated. A predetermined guard timeout value is used for this embodiment.

도 11은 본 발명의 다양한 실시예들에 따른 TCP 제어 방법을 위한 TCP 연결 모니터 1102와 TCP 연결 제어기 1104 간의 전체 흐름을 도시한다. TCP 연결 모니터 1102는 다음과 같은 단계들을 수행한다:11 illustrates an overall flow between a TCP connection monitor 1102 and a TCP connection controller 1104 for a TCP control method according to various embodiments of the present invention. TCP Connection Monitor 1102 performs the following steps:

1) TCP 연결 모니터 1102는 소켓, 연결, 리드, 라이트 등과 같은 소켓 어플리케이션 프로그램 인터페이스(application program interface, API)들을 후킹(hook)한다(1111).1) The TCP connection monitor 1102 hooks socket application program interfaces (APIs) such as socket, connection, read, and write ( 1111 ).

2) TCP 연결 모니터 1102는 TCP 소켓에 대한 소켓인지 여부를 확인한다(1112). 그렇다면, 단계 1113으로 진행하고, 그렇지 않으면, 단계 1116으로 간다.2) The TCP connection monitor 1102 checks whether it is a socket for a TCP socket (1112). If so, go to step 1113, otherwise go to step 1116.

3) TCP 연결 모니터 1102는 소켓이 새로 생성되면 TCP 연결 모니터 범위에서 신규 엔트리를 생성하고, 그렇지 않으면, 시간 스탬프, 가드 타임아웃, 서버 타임아웃 등과 같은 메타를 사용하여 기존의 TCP 연결 리스트(또는 엔트리)를 업데이트한다(1113).3) TCP connection monitor 1102 creates a new entry in the scope of TCP connection monitor when a socket is newly created, otherwise, it uses meta such as timestamp, guard timeout, server timeout, etc. ) is updated (1113).

TCP 연결 모니터 1102는 TCP 종료를 묶음 처리하는 TCP 연결 제어기 1104로 TCP 메타 데이터를 업데이트한다(1122).The TCP connection monitor 1102 updates TCP metadata to the TCP connection controller 1104, which bundles the TCP termination (1122).

TCP 연결 모니터 1102는 연결이 서버에 의해 개시되는 종료이면, 단계 1114로 진행하고, 그렇지 않으면, 단계 1116으로 간다.The TCP connection monitor 1102 goes to step 1114 if the connection is a server-initiated termination, otherwise it goes to step 1116.

4) TCP 연결 모니터 1102는 TCP 소켓 리드/라이트 동작의 시간 스탬프를 기반으로 하여 가드 타임아웃을 계산하고, 가드 시간 만료 통지를 위해 타이머를 트리거시킨다(1114).4) The TCP connection monitor 1102 calculates a guard timeout based on the time stamp of the TCP socket read/write operation, and triggers a timer to notify the guard timeout ( 1114 ).

5) TCP 연결 모니터 1102는 일단 가드 타임아웃이 만료되거나, TCP 연결 제어기 1104로부터 묶음 종료 통지가 수신되면, TCP 연결을 종료한다(1115).5) The TCP connection monitor 1102 terminates the TCP connection once the guard timeout has expired or a bundle termination notification is received from the TCP connection controller 1104 ( 1115 ).

6) TCP 연결 모니터 1102는 해당 LIBC(Library for C) API를 호출한다(1116).6) The TCP connection monitor 1102 calls the corresponding LIBC (Library for C) API (1116).

TCP 연결 제어기 1104는 다음과 같은 단계들을 수행한다:TCP connection controller 1104 performs the following steps:

1) TCP 연결 제어기 1104는 TCP 연결 모니터 1102로부터의 요청을 기다린다(1121).1) The TCP connection controller 1104 waits for a request from the TCP connection monitor 1102 (1121).

2) TCP 연결 모니터 1102로부터 요청이 수신되면, TCP 연결 제어기 1104는 TCP 연결 모니터 1102의 메모리 엔트리를 생성하거나 기존의 엔트리를 업데이트한다(1122).2) When a request is received from the TCP connection monitor 1102, the TCP connection controller 1104 creates a memory entry of the TCP connection monitor 1102 or updates an existing entry (1122).

3) TCP 연결 제어기 1104는 묶음 종료 접근 방법에 대해 결정하고, TCP 연결 모니터 1102에 TCP 종료 통지를 멀티캐스팅한다(1115).3) The TCP connection controller 1104 determines a bundle termination approach method, and multicasts a TCP termination notification to the TCP connection monitor 1102 ( 1115 ).

도 12는 본 발명의 일 실시예에 따른, 데이터 전송 비활성 시간 또는 가드 타임아웃을 계산하기 위한 동작의 흐름 1200을 도시한다. 예를 들어, 이 흐름은 도 11에 도시된 TCP 연결 모니터 1102와 TCP 연결 제어기 1104에 의해 수행될 수 있다.12 illustrates a flow 1200 of an operation for calculating a data transmission inactivity time or guard timeout, according to an embodiment of the present invention. For example, this flow may be performed by the TCP connection monitor 1102 and the TCP connection controller 1104 shown in FIG.

1) 1210단계에서, 소켓, 연결, 리드, 라이트 등과 같은 소켓 API가 후킹(hook)된다.1) In step 1210, socket APIs such as socket, connection, lead, and light are hooked.

2) 1220단계에서, 소켓이 TCP 소켓인지 여부가 확인된다. TCP 소켓이 확인되면, 단계 1230으로 진행하고, 그렇지 않다면, 단계 1260으로 간다.2) In step 1220, it is checked whether the socket is a TCP socket. If the TCP socket is verified, proceed to step 1230, otherwise go to step 1260.

3) 1230단계에서, 서버 IP, 포트, 도메인 이름, 서버 타임아웃 등과 같은 TCP 메타 정보가 생성/업데이트된다.3) In step 1230, TCP meta information such as server IP, port, domain name, and server timeout is created/updated.

4) 1240단계에서, TCP 소켓 리드/라이트 동작의 시간 스템프를 기반으로 하여 가드 타임아웃이 계산된다.4) In step 1240, a guard timeout is calculated based on the time stamp of the TCP socket read/write operation.

5) 1250단계에서, TCP 연결 메타, 즉 로컬 캐시에 가드 타임아웃이 업데이트된다.5) In step 1250, the TCP connection meta, that is, the guard timeout in the local cache is updated.

6) 1260단계에서, 해당 LIBC API가 호출된다.6) In step 1260, the corresponding LIBC API is called.

도 13은 본 발명의 일 실시예에 따른, 비활성의 비영구적 TCP 연결에 대한 선행적 종료 방법을 위한 TCP 제어의 동작 흐름 1300을 도시한다. 예를 들어, 이 흐름은 도 11에 도시된 TCP 연결 모니터 1102와 TCP 연결 제어기 1104에 의해 수행될 수 있다.13 shows an operational flow 1300 of TCP control for a method for proactively terminating an inactive, non-persistent TCP connection, according to an embodiment of the present invention. For example, this flow may be performed by the TCP connection monitor 1102 and the TCP connection controller 1104 shown in FIG.

1) 1310단계에서, TCP 소켓 리드/라이트 동작을 기반으로 하여 동적으로 가드 타임아웃이 계산되고, 가드 타임아웃 만료 통지를 위해 타이머가 설정된다.1) In step 1310, a guard timeout is dynamically calculated based on a TCP socket read/write operation, and a timer is set to notify the expiration of the guard timeout.

2) 1310단계에서, 소켓 리드/라이트가 중간에 발생하는 경우 타이머가 재설정된다.2) In step 1310, if the socket read/write occurs in the middle, the timer is reset.

3) 1320단계에서, 가드 타임아웃 만료가 대기된다.3) In step 1320 , expiration of the guard timeout is queued.

4) 1330단계에서, TCP 연결이 종료된다.4) In step 1330, the TCP connection is terminated.

도 14는 본 발명의 일 실시예에 따른, 비활성의 비영구적 TCP 연결에 대한 묶음 종료 방법을 위한 TCP 제어의 동작 흐름 1400을 도시한다. 예를 들어, 이 흐름은 도 11에 도시된 TCP 연결 모니터 1102와 TCP 연결 제어기 1104에 의해 수행될 수 있다.FIG. 14 shows an operational flow 1400 of TCP control for a bundle termination method for an inactive, non-persistent TCP connection, according to an embodiment of the present invention. For example, this flow may be performed by the TCP connection monitor 1102 and the TCP connection controller 1104 shown in FIG.

1) 1410단계에서, TCP 소켓 리드/라이트 동작을 기반으로 하여 동적으로 가드 타임아웃이 계산되고, 가드 타임아웃 만료 통지를 위해 타이머 가 설정된다.1) In step 1410, a guard timeout is dynamically calculated based on the TCP socket read/write operation, and a timer is set to notify the expiration of the guard timeout.

2) 1410단계에서, 소켓 리드/라이트 중간에 발생하는 경우 타이머가 재설정된다.2) In step 1410, if it occurs in the middle of the socket read/write, the timer is reset.

3) 1420단계에서, 가드 타임아웃 만료가 대기된다.3) In step 1420, expiration of the guard timeout is queued.

4) 1430단계에서, 가드 타임아웃이 정상 값 또는 기준 값보다 길면, 다른 TCP 연결로부터의 데이터 패킷 또는 제어 패킷과 함께 묶음 종료가 등록된다.4) In step 1430, if the guard timeout is longer than the normal value or the reference value, the bundle termination is registered together with the data packet or control packet from another TCP connection.

5) 1440단계에서, TCP 연결 제어기 1104로부터의 묶음 처리 종료 통지가 대기된다.5) In step 1440, a notification to end the bundle processing from the TCP connection controller 1104 is queued.

6) 1450단계에서, TCP 연결 제어기 1102로부터 묶음 종료 통지가 수신되면, TCP 연결 모니터 1102는 TCP 연결을 종료한다.6) In step 1450, when a bundle termination notification is received from the TCP connection controller 1102, the TCP connection monitor 1102 terminates the TCP connection.

도 15는 본 발명의 일 실시예에 따른, 비활성의 비영구적 TCP 연결들에 대한 선행적 및 묶음 종료를 포함하는 결합된 방법들을 위한 TCP 제어의 동작 흐름 1500을 도시한다. 예를 들어, 이 흐름은 도 11에 도시된 TCP 연결 모니터 1102와 TCP 연결 제어기 1104에 의해 수행될 수 있다.15 illustrates an operational flow 1500 of TCP control for combined methods including proactive and bundle termination for inactive, non-persistent TCP connections, according to an embodiment of the present invention. For example, this flow may be performed by the TCP connection monitor 1102 and the TCP connection controller 1104 shown in FIG.

a) 1510단계에서, TCP 연결에 대한 가드 타임아웃이 TCP 연결 모니터 1102에서 업데이트된다.a) In step 1510, the guard timeout for the TCP connection is updated in the TCP connection monitor 1102.

b) 1520단계에서 가드 타임아웃이 만료된 후, 1530단계에서 가드 타임아웃 값이 미리 결정된 기준 시간 또는 네트워크 비활성화 타이머 값과 비교된다. 가드 타임아웃의 만료는 네트워크 비활성의 시작으로 추정된다.b) After the guard timeout expires in step 1520, the guard timeout value is compared with a predetermined reference time or a network inactivation timer value in step 1530. Expiration of the guard timeout is assumed to be the beginning of network inactivity.

c) 가드 타임아웃이 미리 결정된 임계값보다 작으면, 1560단계에서 선행적 TCP 연결 종료 동작이 수행된다.c) If the guard timeout is less than a predetermined threshold, a proactive TCP connection termination operation is performed in step 1560 .

d) 가드 타임아웃이 미리 결정된 임계값보다 크면, 1540단계에서 다른 진행 중인 연결들에 대해, 묶음 요청이 TCP 연결 제어기 1104에 등록된다. d) If the guard timeout is greater than the predetermined threshold, in step 1540, for other in-progress connections, a bundling request is registered with the TCP connection controller 1104 .

e) 1540단계에서, TCP 연결 제어기 1104로부터의 묶음 처리 종료 통지가 대기된다.e) In step 1540, a notification of ending the bundle processing from the TCP connection controller 1104 is awaited.

f) 1550단계에서, TCP 연결 제어기 1102로부터 묶음 종료 통지가 수신되면, TCP 연결 모니터 1102는 TCP 연결을 종료한다.f) In step 1550, when a bundle termination notification is received from the TCP connection controller 1102, the TCP connection monitor 1102 terminates the TCP connection.

도 16a 및 도 16b는 본 발명의 다양한 실시예들에 따른 LPTCP(low power transmission control protocol) 종료 동작에 대한 전력 절약 측면에서의 시험 결과 1610,1620을 도시한다. 16A and 16B show test results 1610 and 1620 in terms of power saving for a low power transmission control protocol (LPTCP) termination operation according to various embodiments of the present disclosure.

도 16a 및 도 16b를 참조하면, 본 발명의 다양한 실시예들에 따른 LPTCP 종료 동작은 기존의 TCP 동작에 비하여 스마트폰과 같은 이동 단말에서 17% 정도 전원이 절약됨을 알 수 있다. 16A and 16B , it can be seen that the LPTCP termination operation according to various embodiments of the present invention saves about 17% of power in a mobile terminal such as a smart phone compared to the conventional TCP operation.

도 17은 본 발명의 다양한 실시예들에 따른 TCP 제어 동작에 대한 네트워크 시그널링 감소 측면에서의 시험 결과 1710, 1720을 도시한다. 이 시험 결과는 연결 분석기(connection analyzer) 1700을 통해 얻어진 결과이다. 17 illustrates test results 1710 and 1720 in terms of network signaling reduction for a TCP control operation according to various embodiments of the present disclosure. This test result is the result obtained through the connection analyzer (connection analyzer) 1700.

도 17을 참조하면, 본 발명의 다양한 실시예들에 따른 LPTCP 종료 동작에 따르면, 시그널링 로드 1710은 16.2% (136 --> 114) 감소되며, 연결 상태에서의 시간 1720은 25.8% (29분32초 --> 21분 54초) 감소됨을 알 수 있다. Referring to FIG. 17 , according to the LPTCP termination operation according to various embodiments of the present invention, the signaling load 1710 is reduced by 16.2% (136 --> 114), and the time 1720 in the connected state is 25.8% (29 minutes 32 minutes) Seconds --> 21 minutes 54 seconds) is decreased.

전술한 바와 같이 본 발명의 실시예들은 본 발명의 다양한 실시예들은 스마트폰 단말과 같은 클라이언트 장치에서 어플리케이션 소프트웨어를 변경할 필요 없이 사용자 경험을 악화시키거나 어플리케이션 기능에 영향을 미치지 않으면서도, 보다 긴 유휴 시간을 갖도록 하여 보다 높은 배터리 수명을 달성하는 데 도움을 준다.As described above, various embodiments of the present invention provide a longer idle time without deteriorating user experience or affecting application functions without the need to change application software in a client device such as a smartphone terminal. to help achieve higher battery life.

한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다. Meanwhile, although specific embodiments have been described in the detailed description of the present invention, various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments and should be defined by the claims described below as well as the claims and equivalents.

Claims (24)

삭제delete 삭제delete 삭제delete 삭제delete 무선 통신시스템에서 클라이언트(client)의 동작 방법에 있어서:
상기 클라이언트에 의하여 수립된 제1 전송제어프로토콜(transmission control protocol, TCP) 연결 및 제2 TCP 연결을 식별하는 과정과, 상기 제1 TCP 연결은 상기 제2 TCP 연결과 다른 연결이고,
상기 제1 TCP 연결을 위한 종료(close)의 개시(initiation)을 식별하는 과정과, 상기 제1 TCP 연결은 상기 제1 TCP 연결을 위한 상기 종료의 상기 개시에 응답하여 유지(maintain)되고,
상기 제1 TCP 연결을 상기 종료의 상기 개시 이후 상기 제1 TCP 연결의 유지되는 동안 상기 제2 TCP 연결에 대한 종료(close)의 개시(initiation)을 식별하는 과정과,
상기 제2 TCP 연결에 대한 상기 종료(close)의 상기 개시(initiation)에 대응하여 상기 제1 TCP 연결 및 상기 제2 TCP 연결을 모두 종료(close)하는 과정을 포함하는 방법.
In a method of operating a client in a wireless communication system:
A process of identifying a first transmission control protocol (TCP) connection and a second TCP connection established by the client, wherein the first TCP connection is a connection different from the second TCP connection,
identifying the initiation of a close for the first TCP connection, the first TCP connection being maintained in response to the initiation of the close for the first TCP connection;
identifying the initiation of a close for the second TCP connection during the maintenance of the first TCP connection after the initiation of the close of the first TCP connection;
and closing both the first TCP connection and the second TCP connection in response to the initiation of the close for the second TCP connection.
청구항 5에 있어서, 상기 제1 TCP 연결의 가드 타임 구간(guard time period)는 미리 결정된 기준 시간(reference time)보다 큰 방법.
6. The method of claim 5, wherein a guard time period of the first TCP connection is greater than a predetermined reference time.
청구항 5에 있어서, 상기 제1 TCP 연결을 식별하는 과정은,
서버로부터 종료 메시지(close message)의 수신에 응답하여 상기 제1 TCP 연결을 식별하는 과정을 포함하는 방법.
The method according to claim 5, wherein the process of identifying the first TCP connection comprises:
and identifying the first TCP connection in response to receiving a close message from a server.
삭제delete 청구항 5에 있어서, 상기 제1 TCP 연결의 가드 타임 구간(guard time period)이 미리 결정된 기준 시간(reference time)보다 크지 않은 경우, 상기 가드 타임 구간의 끝(end)에 상기 제1 TCP 연결을 종료하는 과정을 더 포함하는 방법.
The method according to claim 5, wherein when a guard time period of the first TCP connection is not greater than a predetermined reference time, the first TCP connection is terminated at the end of the guard time period. A method that further includes the process of
청구항 6 또는 청구항 9에 있어서, 상기 가드 타임 구간은 제1 시간 구간(time period) 및 제2 시간 구간을 기초로 결정되고,
상기 제1 시간 구간은 요청(request)의 송신 시간(transmission time)에서부터 상기 요청에 대응하는 응답(response)의 수신 시간(reception time)까지의 시간 구간(time period)이고,
상기 제2 시간 구간은 상기 응답의 상기 수신 시간으로부터 다음(next) 요청(request)의 송신 시간(transmission time)까지의 시간 구간인 방법.
The method according to claim 6 or 9, wherein the guard time period is determined based on a first time period and a second time period,
The first time interval is a time period from a transmission time of a request to a reception time of a response corresponding to the request,
The second time interval is a time interval from the reception time of the response to a transmission time of a next request.
청구항 6 또는 청구항 9에 있어서, 상기 가드 타임 구간(guard time period)는,
서버에 의해 개시되는 상기 제1 TCP 연결에 대한 종료 시점보다 빠른 방법.
The method according to claim 6 or 9, wherein the guard time period (guard time period),
A method earlier than an end point for the first TCP connection initiated by the server.
청구항 11에 있어서, 상기 서버에 의해 개시되는 상기 제1 TCP 연결에 대한 종료는,
상기 서버로부터 상기 제1 TCP 연결의 종료를 지시하는 메시지가 수신됨에 응답하여 수행되는 방법.
12. The method of claim 11, wherein the termination for the first TCP connection initiated by the server comprises:
A method performed in response to receiving a message indicating termination of the first TCP connection from the server.
삭제delete 삭제delete 삭제delete 삭제delete 무선 통신시스템의 클라이언트(client)에 있어서,
제어기(controller)를 포함하고, 상기 제어기는
상기 클라이언트에 의하여 수립된 제1 전송제어프로토콜(transmission control protocol, TCP) 연결 및 제2 TCP 연결을 식별하고, 상기 제1 TCP 연결은 상기 제2 TCP 연결과 다른 연결이고,
상기 제1 TCP 연결을 위한 종료(close)의 개시(initiation)을 식별하고, 상기 제1 TCP 연결은 상기 제1 TCP 연결을 위한 상기 종료의 상기 개시에 응답하여 유지(maintain)되고,
상기 제1 TCP 연결을 상기 종료의 상기 개시 이후 상기 제1 TCP 연결의 유지되는 동안 상기 제2 TCP 연결에 대한 종료(close)의 개시(initiation)을 식별하고,
상기 제2 TCP 연결에 대한 상기 종료(close)의 상기 개시(initiation)에 대응하여 상기 제1 TCP 연결 및 상기 제2 TCP 연결을 모두 종료(close)하는 하는 클라이언트.
In a client of a wireless communication system,
A controller comprising: the controller
Identifies a first transmission control protocol (TCP) connection and a second TCP connection established by the client, wherein the first TCP connection is a connection different from the second TCP connection,
identify initiation of a close for the first TCP connection, wherein the first TCP connection is maintained in response to the initiation of the close for the first TCP connection;
identify the initiation of a close for the second TCP connection during the maintenance of the first TCP connection after the initiation of the close of the first TCP connection;
and closing both the first TCP connection and the second TCP connection in response to the initiation of the close for the second TCP connection.
청구항 17에 있어서,
상기 제1 TCP 연결의 가드 타임 구간(guard time period)는 미리 결정된 기준 시간(reference time)보다 큰 클라이언트.
18. The method of claim 17,
A guard time period of the first TCP connection is greater than a predetermined reference time.
청구항 17에 있어서, 상기 제어기는,
서버로부터 종료 메시지의 수신에 응답하여 상기 제1 TCP 연결을 식별하는 클라이언트.
The method according to claim 17, The controller,
A client identifying the first TCP connection in response to receiving a close message from a server.
삭제delete 청구항 17에 있어서, 상기 제어기는,
상기 제1 TCP 연결의 가드 타임 구간(guard time period)이 기준 시간보다 크지 않은 경우, 상기 가드 타임 구간의 끝(end)에 상기 제1 TCP 연결을 종료하는 동작을 더 수행하는 클라이언트.
The method according to claim 17, The controller,
When a guard time period of the first TCP connection is not greater than a reference time, the client further performs the operation of terminating the first TCP connection at the end of the guard time period.
청구항 18 또는 청구항 21에 있어서,
상기 가드 타임 구간은 제1 시간 구간(time period) 및 제2 시간 구간을 기초로 결정되고,
상기 제1 시간 구간은 요청(request)의 송신 시간(transmission time)에서부터 상기 요청에 대응하는 응답(response)의 수신 시간(reception time)까지의 시간 구간(time period)이고,
상기 제2 시간 구간은 상기 응답의 상기 수신 시간으로부터 다음(next) 요청(request)의 송신 시간(transmission time)까지의 시간 구간인 클라이언트.
22. The method of claim 18 or 21,
The guard time period is determined based on a first time period and a second time period,
The first time interval is a time period from a transmission time of a request to a reception time of a response corresponding to the request,
The second time interval is a time interval from the reception time of the response to a transmission time of a next request.
청구항 18 또는 청구항 21에 있어서, 상기 가드 타임 구간(guard time period)는,
서버에 의해 개시되는 상기 제1 TCP 연결에 대한 종료 시점보다 빠른 클라이언트.
The method according to claim 18 or 21, wherein the guard time period (guard time period),
A client earlier than the end time for the first TCP connection initiated by the server.
청구항 23에 있어서, 상기 서버에 의해 개시되는 상기 제1 TCP 연결에 대한 종료는,
상기 서버로부터 상기 제1 TCP 연결의 종료를 지시하는 메시지가 수신됨에 응답하여 수행되는 클라이언트.

24. The method of claim 23, wherein the termination for the first TCP connection initiated by the server comprises:
A client performed in response to receiving a message indicating termination of the first TCP connection from the server.

KR1020150124106A 2014-09-02 2015-09-02 Apparatus and method for controlling tcp connections in a wireless communication system KR102371217B1 (en)

Priority Applications (5)

Application Number Priority Date Filing Date Title
PCT/KR2015/009244 WO2016036134A1 (en) 2014-09-02 2015-09-02 Apparatus and method for controlling tcp connections in a wireless communication system
US14/843,784 US9826481B2 (en) 2014-09-02 2015-09-02 Apparatus and method for controlling TCP connections in a wireless communication system
JP2017512283A JP6618204B2 (en) 2014-09-02 2015-09-02 Transmission control protocol connection control apparatus and method for wireless communication system
CN201510558019.2A CN105392214B (en) 2014-09-02 2015-09-02 Apparatus and method for controlling transmission control protocol connection in wireless communication system
US15/813,201 US10448329B2 (en) 2014-09-02 2017-11-15 Apparatus and method for controlling TCP connections in a wireless communication system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN903/KOL/2014 2014-09-02
IN903KO2014 2014-09-02

Publications (2)

Publication Number Publication Date
KR20160027937A KR20160027937A (en) 2016-03-10
KR102371217B1 true KR102371217B1 (en) 2022-03-07

Family

ID=58994792

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150124106A KR102371217B1 (en) 2014-09-02 2015-09-02 Apparatus and method for controlling tcp connections in a wireless communication system

Country Status (3)

Country Link
EP (1) EP3189704A4 (en)
JP (1) JP6618204B2 (en)
KR (1) KR102371217B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060088003A1 (en) * 2004-10-21 2006-04-27 Motorola, Inc. Method and computer program for selecting an inactivity timeout interval based on last data direction
US20130024523A1 (en) * 2011-07-22 2013-01-24 Telefonaktiebolaget L M Ericsson (Publ) System and method for flow termination of a tcp session
US20140241251A1 (en) * 2011-10-05 2014-08-28 Telefonaktiebolaget L M Ericsson (Publ) Radio efficient tcp release

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7810089B2 (en) * 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8774208B2 (en) * 2011-09-14 2014-07-08 Qualcomm Incorporated Management of TCP/IP messaging in wireless networks
KR20130101603A (en) * 2012-02-03 2013-09-16 삼성전자주식회사 Method and apparatus for transmitting tcp fin packet

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060088003A1 (en) * 2004-10-21 2006-04-27 Motorola, Inc. Method and computer program for selecting an inactivity timeout interval based on last data direction
US20130024523A1 (en) * 2011-07-22 2013-01-24 Telefonaktiebolaget L M Ericsson (Publ) System and method for flow termination of a tcp session
US20140241251A1 (en) * 2011-10-05 2014-08-28 Telefonaktiebolaget L M Ericsson (Publ) Radio efficient tcp release

Also Published As

Publication number Publication date
JP6618204B2 (en) 2019-12-11
EP3189704A1 (en) 2017-07-12
JP2017535101A (en) 2017-11-24
EP3189704A4 (en) 2018-04-25
KR20160027937A (en) 2016-03-10

Similar Documents

Publication Publication Date Title
US9571952B2 (en) Offloading of data to wireless local area network
TWI477166B (en) Apparatus and methods for mitigating protocol-induced back-offs in a communication network
US10448329B2 (en) Apparatus and method for controlling TCP connections in a wireless communication system
US10038639B2 (en) Congestion control based on flow control
US10021688B2 (en) Managing pending acknowledgement packets in a communication device
JP5792398B2 (en) Using wireless wide area network protocol information to manage processor performance levels
KR20090074147A (en) Communication device
KR20130060283A (en) Methods and apparatus for reducing data transmission overhead
US20230139633A1 (en) Data Packet Sending Method and Apparatus
EP3046372B1 (en) Method and apparatus for selecting power preference information in a wireless communication system network
JP2013143778A (en) Communication processing method, device, and gateway apparatus
US11528345B2 (en) Data transmission method and system, and apparatus
US9462509B2 (en) Communication system, mobile station, and control device
CN106100714B (en) Method and apparatus based on dynamic receive diversity
KR102371217B1 (en) Apparatus and method for controlling tcp connections in a wireless communication system
Li et al. Application-centric wi-fi energy management on smart phone
US10299286B2 (en) Method and apparatus for managing uplink traffic from a client device in a communication network
JP2017508341A (en) System and method for modem control based on feedback

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant