KR20130004848A - System, client device, and method for keep-alive communication - Google Patents

System, client device, and method for keep-alive communication Download PDF

Info

Publication number
KR20130004848A
KR20130004848A KR1020110066147A KR20110066147A KR20130004848A KR 20130004848 A KR20130004848 A KR 20130004848A KR 1020110066147 A KR1020110066147 A KR 1020110066147A KR 20110066147 A KR20110066147 A KR 20110066147A KR 20130004848 A KR20130004848 A KR 20130004848A
Authority
KR
South Korea
Prior art keywords
keep
message
alive
reply
keepalive
Prior art date
Application number
KR1020110066147A
Other languages
Korean (ko)
Other versions
KR101224557B1 (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 KR1020110066147A priority Critical patent/KR101224557B1/en
Publication of KR20130004848A publication Critical patent/KR20130004848A/en
Application granted granted Critical
Publication of KR101224557B1 publication Critical patent/KR101224557B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • 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/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • 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

Abstract

PURPOSE: A keep-alive communication system, a client, and a communication method are provided to notice whether transmission of a keep-alive message is successful or not by transmitting a reply request keep-alive message which requests a reply to a server. CONSTITUTION: A reply request keep-alive transmission module(110) transmits a reply request keep-alive message to a server. A reply non-request keep-alive transmission module(120) transmits a reply non-request keep-alive message to the server. A reply reception module(150) receives a reply message from the server. A keep-alive frequency adjustment module(130) adjusts a keep-alive frequency according to reception of the reply message according to transmission of the reply request keep-alive message. [Reference numerals] (100) Client; (110) Reply request keepalive transmission module; (120) Replay non-request keepalive transmission module; (130) Keepalive frequency adjustment module; (150) Reply reception module

Description

킵얼라이브 통신 시스템, 클라이언트, 및 통신방법{System, client device, and method for keep-alive communication}KeepAlive Communication System, Client, and Method {System, client device, and method for keep-alive communication}

본 발명은 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법에 관한 것으로, 보다 상세하게는 클라이언트가 접속한 통신망의 상황에 따라 적응적으로 킵얼라이브 메시지의 전송주기를 최적화시킴으로써 킵얼라이브 메시지로 인한 과도한 트래픽 발생을 억제하고, 빈번한 킵얼라이브 메시지 전송으로 인한 클라이언트 단말의 전력소모를 저감할 수 있는 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법에 관한 것이다.
The present invention relates to a keepalive communication system, a client, and a communication method, and more particularly, excessive traffic generation due to a keepalive message by optimizing a transmission period of a keepalive message adaptively according to a situation of a communication network to which a client is connected. And a keep-alive communication system, a client, and a communication method capable of reducing power consumption and reducing power consumption of a client terminal due to frequent keep-alive message transmission.

스마트폰 등의 클라이언트 단말에 설치하여 사용되는 메신저 애플리케이션과 같이 메신저 서비스 서버가 각각의 클라이언트의 온라인 상태를 지속적으로 파악하여 다른 클라이언트에게 통보하는 통신 시스템에 있어서, 클라이언트는 지속적으로 자신의 온라인 상태를 서버에 알려주고, 서버는 일정시간 동안 서버와 통신이 없는 클라이언트는 그 상태를 오프라인 상태로 관리한다. 클라이언트는 아이들 상태(Idle Mode :일정 시간 사용자 입력이 없어 클라이언트 단말이 저전력 모드로 진입한 상태)에 진입한 경우라도 킵얼라이브(keep-alive) 메시지를 주기적으로 서버로 전송함으로써 자신의 온라인 상태를 유지해야 한다.In a communication system in which a messenger service server continuously recognizes an online state of each client and notifies another client, such as a messenger application installed and used in a client terminal such as a smartphone, the client continuously reports its online state to the server. If the server has not communicated with the server for a certain period of time, the server manages the state offline. The client maintains its online state by periodically sending a keep-alive message to the server even when entering the idle mode (the client terminal enters the low power mode because there is no user input for a certain time). Should be.

이러한 킵얼라이브 통신 시스템에 있어서, 클라이언트가 증가하게 되면 통신채널을 통해 전송되는 킵얼라이브 메시지 또한 증가하여 통신망의 과부하를 발생시킬 수 있다. 더욱이 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기(TK)가 짧을수록 시간당 발생하는 킵얼라이브 메시지의 숫자는 더욱 증가하게 된다. 뿐만 아니라, 킵얼라이브 주기(TK)가 짧을수록 클라이언트 단말의 킵얼라이브 메시지 전송을 위한 동작이 잦아지기 때문에 클라이언트 단말의 전력소모 역시 증가하는 문제가 있다.In such a keep-alive communication system, as the number of clients increases, the keep-alive message transmitted through the communication channel also increases, which may cause an overload of the communication network. In addition, as the keepalive period T K , which is a transmission period of the keepalive message, is shorter, the number of keepalive messages per hour increases. In addition, the shorter the keep-alive period (T K ), the more frequently the operation for transmitting the keep-alive message of the client terminal has a problem that the power consumption of the client terminal also increases.

한편, 킵얼라이브 통신 시스템의 서버는 온라인 상태로 파악된 클라이언트와 일정시간 동안 메시지송수신이 없는 경우 해당 클라이언트를 오프라인 상태로 간주하게 된다. 따라서 클라이언트의 온라인 상태를 유지하는 서버의 최대 허용시간인 서버허용시간(TS)으로 킵얼라이브 주기(TK)를 설정하면 전체 킵얼라이브 메시지 수를 줄일 수 있을 뿐 아니라 클라이언트 단말의 전력소모 역시 최소화시킬 수 있다.Meanwhile, the server of the keep-alive communication system considers the client to be in an offline state when there is no message transmission and reception for a predetermined time with the client identified as online. Therefore, by setting the keep-alive period (T K ) to the server's allowable time (T S ), which is the maximum allowable time of the server that keeps the client online, the total number of keep-alive messages can be reduced and the power consumption of the client terminal is minimized. You can.

그런데, 통신망을 구성하는 방화벽, NAT(Network Address Translation) 등의 네트워크 장비는 네트워크 자원의 효율적 이용을 위해 일정시간 동안 데이터 전송이 없는 클라이언트의 커넥션을 강제로 종료하도록 설정된 경우가 많이 있다. 클라이언트의 커넥션을 유지하는 네트워크 장비의 최대허용시간인 장비허용시간(TD) 이상으로 킵얼라이브 주기(TK)를 설정하게 되면, 매 킵얼라이브 주기마다 클라이언트의 통신망과의 커넥션이 종료되어 정상적인 킵얼라이브 메시지 전송이 어려워지는 문제가 있다.However, network devices such as firewalls and network address translation (NAT) constituting a communication network are often set to forcibly terminate a connection of a client without data transmission for a predetermined time in order to efficiently use network resources. If the keep-alive period (T K ) is set above the maximum allowable time (T D ) of the network device that maintains the client's connection, the connection with the client's network is terminated at every keep-alive period. There is a problem that it is difficult to send an alive message.

예컨대, 도 5에 도시된 바와 같이 클라이언트(100)가 통신경로 1, 통신경로 2, 통신경로 3을 통해 서버허용시간(TS)이 300초인 서버(200)에 접속하는 경우를 가정하면, 통신경로 1의 경우는 중간에 개재하는 네트워크 장비(311)의 장비허용시간(TD)이 350초로 서버허용시간(TS) 이상이기 때문에 킵얼라이브 주기(TK)를 서버허용시간(TS)인 300초 또는 전송지연을 고려하여 서버허용시간(TS)에 다소 못미치는 정도로 설정할 수 있다.For example, suppose that the client 100 accesses the server 200 having a server allowable time T S of 300 seconds through the communication path 1, the communication path 2, and the communication path 3, as shown in FIG. In the case of route 1, since the equipment allowable time T D of the network device 311 intervening in the middle is 350 seconds or more than the server allowable time T S , the keep-alive period T K is set to the server allowable time T S. 300 seconds, or considering the transmission delay, it can be set slightly below the server allowed time (T S ).

그러나 통신경로 2 및 통신경로 3과 같이 장비허용시간(TD)이 서버허용시간(TS)에 못미치는 네트워크 장비(322,331)가 있는 경우는 서버허용시간(TS)인 300초로 킵얼라이브 주기(TK)를 설정하면 매 주기마다 네트워크 장비(322,331)에 의해 클라이언트(100)의 통신망 접속이 해제되는 문제가 발생한다. However, if there are network devices (322,331) whose equipment allowable time (T D ) is less than the server allowable time (T S ), such as communication path 2 and communication path 3, the keep-alive period is 300 seconds, which is the server allowable time (T S ). If (T K ) is set, a problem arises in that the network connection of the client 100 is released by the network equipment 322, 331 every cycle.

특히 이동성이 보장되는 모바일 클라이언트(100)의 경우 접속위치에 따라 통신경로가 수시로 변화하고 이에 따라 통신경로 상에 존재하는 네트워크 장비의 장비허용시간(TD)도 다양하기 때문에 서버-클라이언트간 안정적인 킵얼라이브 통신을 위해서는 통신경로 상의 네트워크 장비들 중 가장 짧은 장비허용시간(TD)을 가지는 네트워크 장비의 장비허용시간(TD)을 기준으로 킵얼라이브 주기(TK)를 설정하여야 한다.In particular, in the case of the mobile client 100, which is guaranteed mobility, the communication path changes from time to time according to the access location, and accordingly, the equipment allowable time (T D ) of the network equipment existing on the communication path is also varied, thus keeping the server-client stable. For alive communication, a keep-alive period T K should be set based on a device allowance time T D of a network device having the shortest device allowance time T D among network devices on a communication path.

따라서 고정된 킵얼라이브 주기(TK)를 이용하는 종래의 킵얼라이브 통신 시스템에서는, 모든 경우에서 안정적인 킵얼라이브 통신이 가능하도록 설계하려면 접속이 가능한 모든 통신경로 중에서 가장 작은 장비허용시간(TD)을 가지는 네트워크 장비의 장비허용시간(TD)을 기준으로 킵얼라이브 주기(TK)를 설정하여야 하고, 도 5의 경우는 통신경로 2의 네트워크 장비(322)의 장비허용시간(TD)인 100초 또는 100초에 다소 못미치는 정도를 킵얼라이브 주기(TK)로 설정하여야만 모든 경우에서 안정적인 킵얼라이브 통신을 수행할 수 있다. 이로 인해 통신경로 1 및 3과 같이 보다 긴 킵얼라이브 주기(TK)를 설정할 수 있는 경우에도 불필요하게 잦은 킵얼라이브 메시지 전송으로 인해 통신망 부하가 증가하고 클라이언트 단말의 전력소모가 증가하는 문제가 있었다.
Therefore, in the conventional keep-alive communication system using a fixed keep-alive period (T K ), in order to design stable keep-alive communication in all cases, it has the smallest equipment allowable time (T D ) among all available communication paths. The keep-alive period T K should be set based on the equipment allowable time T D of the network equipment. In FIG. 5, the device allowable time T D of the network device 322 of communication path 2 is 100 seconds. Alternatively, it may be possible to perform stable keep-alive communication only in a case where it is set to a keep-alive period (T K ) that is slightly less than 100 seconds. As a result, even when longer keep-alive periods T K such as communication paths 1 and 3 can be set, there is a problem in that network load increases and power consumption of the client terminal increases due to unnecessary frequent keep-alive message transmission.

본 발명은 상기의 문제를 해결하기 위한 것으로, 본 발명에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 클라이언트가 현재 접속한 통신경로에서 최적의 킵얼라이브 주기를 탐색하여 결정함으로써 불필요하게 잦은 킵얼라이브 메시지 전송으로 인한 네트워크 과부하를 방지하고 클라이언트 단말의 전력소모를 줄이는 것을 목적으로 한다.The present invention is to solve the above problems, the keep-alive communication system, the client and the communication method according to the present invention, unnecessarily frequent keep-alive by finding and determining the optimal keep-alive period in the communication path currently connected to the client It aims to prevent network overload caused by message transmission and to reduce power consumption of client terminals.

본 발명의 실시예에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 메시지의 정상전달 여부를 확인할 수 없는 프로토콜인 UDP/IP를 이용한 킵얼라이브 통신에 있어서 서버에 회신을 요구하는 회신요구 킵얼라이브 메시지를 전송하여 킵얼라이브 메시지 정상전달 여부를 판단하는 방법을 통해 최적의 킵얼라이브 주기를 결정하는 것을 다른 목적으로 한다. In the keep-alive communication system, the client, and the communication method according to an embodiment of the present invention, in the keep-alive communication using UDP / IP, which is a protocol that cannot confirm whether a message is normally delivered, a request for a keep-alive message is requested. It is another object of the present invention to determine an optimal keepalive period through a method of determining whether the keepalive message is normally delivered.

본 발명의 다른 실시예에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 해당 이동통신 기반 데이터통신망의 통신장비가 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 킵얼라이브 주기를 조정함으로써 이동통신 기반 데이터통신망 접속시 최적 킵얼라이브 주기 탐색에 소요되는 시간을 저감하는 것을 다른 목적으로 한다.
In a keep-alive communication system, a client, and a communication method according to another embodiment of the present invention, when a client accesses a mobile communication-based data communication network provided by a mobile communication network operator, communication devices of the mobile communication-based data communication network may send a keep-alive message. By adjusting the keep-alive period to the data network equipment allowable time, which is the maximum time to maintain the client's network connection without sending any messages, including the other, reducing the time required to search for the optimal keep-alive period for mobile-based data network connection. The purpose.

본 발명에 따른 킵얼라이브 통신 시스템은, UDP/IP 프로토콜을 통해 킵얼라이브 메시지를 전송하는 클라이언트; 및 상기 클라이언트로부터의 상기 킵얼라이브 메시지의 수신에 따라 상기 클라이언트를 온라인 상태로 유지하는 서버;로 구성되는 킵얼라이브 통신 시스템에 있어서, 상기 클라이언트는, 상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈; 상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈; 상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 조정하는 킵얼라이브 주기 조정모듈;을 포함하고, 상기 서버는, 상기 클라이언트로부터 상기 킵얼라이브 메시지를 수신하는 킵얼라이브 수신 모듈 및 상기 회신요구 킵얼라이브 메시지를 수신하는 경우 상기 클라이언트로 상기 회신 메시지를 전송하는 회신 전송모듈;을 포함하는 것을 특징으로 한다.The keep-alive communication system according to the present invention comprises a client for transmitting a keep-alive message through a UDP / IP protocol; And a server that keeps the client online according to receipt of the keepalive message from the client, wherein the client is a keepalive message requesting a reply message from the server. A reply request keepalive transmission module for sending a request keepalive message; An unsolicited keep-alive transmission module for transmitting an unsolicited keep-alive message that is a keep-alive message that does not request the reply message to the server; A reply receiving module for receiving the reply message from the server; And a keep-alive period adjustment module for adjusting a keep-alive period, which is a transmission period of the keep-alive message, according to whether or not the reply message has been received according to the transmission of the reply request keepalive message. And a keep-alive receiving module for receiving the message and a reply-transfer module for transmitting the reply message to the client when receiving the reply request keep-alive message.

본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이 상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.In a keep-alive communication system according to an embodiment of the present invention, a range of server allowable time, which is the maximum allowable time for the keep-alive period adjusting module to keep the client online without receiving a message including a keep-alive message, is a range of server allowable time. It characterized in that for adjusting the keep-alive period.

본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에 따라 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하는 경우 상기 킵얼라이브 주기를 증가시키는 것을 특징으로 한다.In a keep-alive communication system according to an embodiment of the present invention, the reply-receiving module sends the reply message from the server in response to the keep-alive period adjusting module transmitting the reply request keep-alive message from the reply request keep-alive transmission module. In case of receiving, the keep-alive period is increased.

본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 킵얼라이브 주기를 감소시키는 것을 특징으로 한다.In the keep-alive communication system according to an embodiment of the present invention, the keep-alive period adjustment module may receive the reply message from the server despite the transmission of the reply request keep-alive message by the reply request keep-alive transmission module. If not received, characterized in that to reduce the keep-alive period.

본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 클라이언트가, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 통신망에 재접속하고,킵얼라이브 주기 조정모듈은, 감소된 상기 킵얼라이브 주기로 유지시키는 것을 특징으로 한다.In the keep-alive communication system according to an embodiment of the present invention, the reply receiving module does not receive the reply message from the server despite the client transmitting the reply request keep-alive message of the reply request keep-alive transmission module. And reconnect to the communication network, and keep the keepalive period adjustment module at the reduced keepalive period.

본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이, 상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.In a keep-alive communication system according to an embodiment of the present invention, when the keep-alive period adjustment module is connected to a mobile communication-based data communication network provided by a mobile communication network operator, the communication equipment of the mobile communication-based data communication network may be configured. The keep-alive period may be adjusted to a data communication network allowable time, which is a maximum time for maintaining a network connection of the client not transmitting any message including a keep-alive message.

본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이 상기 회신요구 킵얼라이브 메시지의 전송주기는 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 한다.In the keep-alive communication system according to an embodiment of the present invention, the keep-alive period adjustment module may fix the transmission period of the reply request keepalive message to the server allowable time, and the reply message according to the transmission of the reply request keepalive message. The transmission period of the reply non-request keepalive message is controlled according to the reception status.

본 발명에 따른 킵얼라이브 통신 클라이언트는, 온라인 상태를 유지하기 위해 서버로 UDP/IP 프로토콜을 통해 킵얼라이브 메시지를 메신저에 전송하는 클라이언트에 있어서, 상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈; 상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈; 상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 및 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지를 수신한 경우는 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 증가시키고 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지를 수신하지 못하는 경우는 상기 킵얼라이브 주기를 감소시키는 것을 특징으로 하는 킵얼라이브 주기 조정모듈;을 포함하는 것을 특징으로 한다.The keep-alive communication client according to the present invention is a client that sends a keep-alive message to a messenger via a UDP / IP protocol to a server in order to maintain an online state, and is a keep-alive message requesting a reply message to the server. Reply request keepalive transmission module for transmitting a keepalive message; An unsolicited keep-alive transmission module for transmitting an unsolicited keep-alive message that is a keep-alive message that does not request the reply message to the server; A reply receiving module for receiving the reply message from the server; And when the reply message according to the reply request keep-alive message is received, increases the keep-alive period, which is the transmission period of the keep-alive message, and fails to receive the reply message according to the reply request keep-alive message. And a keep-alive period adjustment module for reducing the keep-alive period.

본 발명의 실시예에 따른 킵얼라이브 통신 클라이언트는, 상기 킵얼라이브 주기 조정모듈이, 상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.In the keep-alive communication client according to an embodiment of the present invention, the keep-alive period adjustment module may be configured to have a server allowable time, which is a maximum allowable time for the server to keep the client online without receiving a message including a keep-alive message. Adjusting the keep-alive period in the range.

본 발명의 실시예에 따른 킵얼라이브 통신 클라이언트는, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 통신망에 재접속하고, 상기 킵얼라이브 주기 조정모듈은, 감소된 상기 킵얼라이브 주기로 유지시키는 것을 특징으로 한다.The keep-alive communication client according to an embodiment of the present invention, if the reply receiving module does not receive the reply message from the server despite the reply request keepalive message transmission of the reply request keepalive transmission module, transmits to the communication network. Reconnect and keep the keepalive period adjustment module at a reduced keepalive period.

본 발명의 실시예에 따른 킵얼라이브 통신 클라이언트는, 상기 킵얼라이브 주기 조정모듈이 상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.In the keep-alive communication client according to an embodiment of the present invention, when the keep-alive period adjustment module is connected to a mobile communication-based data communication network provided by a mobile communication network provider, the keep-alive communication client may keep the communication equipment of the mobile communication-based data communication network. The keep-alive period is adjusted to the data communication network allowable time, which is the maximum time for maintaining the network connection of the client which does not transmit any message including the live message.

본 발명의 실시예에 따른 킵얼라이브 통신 클라이언트는, 상기 킵얼라이브 주기 조정모듈이 상기 회신요구 킵얼라이브 메시지의 전송주기는 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 한다.In the keep-alive communication client according to an embodiment of the present invention, the keep-alive period adjustment module fixes the transmission period of the reply request keep-alive message to the server allowable time, and sends the reply message according to the send-back request keep-alive message. The transmission period of the reply non-request keepalive message is controlled according to the reception status.

본 발명에 따른 킵얼라이브 통신방법은, 클라이언트가 UDP/IP 프로토콜에 따라 킵얼라이브 메시지를 서버에게 전송하고 상기 서버는 상기 킵얼라이브 메시지를 전송한 상기 클라이언트를 온라인 상태로 유지하는 킵얼라이브 통신방법에 있어서,In a keep-alive communication method according to the present invention, a keep-alive communication method in which a client transmits a keep-alive message to a server according to a UDP / IP protocol, and the server keeps the client that has sent the keep-alive message online. ,

상기 클라이언트가 통신망을 통해 상기 서버에 접속하는 제 1 단계; 상기 클라이언트가 상기 서버에 킵얼라이브 주기에 따라 상기 킵얼라이브 메시지를 전송하는 제 2 단계; 상기 서버가 상기 킵얼라이브 메시지를 수신하되 상기 킵얼라이브 메시지가 회신 메시지를 요구하는 회신요구 킵얼라이브 메시지인 경우 상기 클라이언트로 상기 회신 메시지를 송신하고 상기 킵얼라이브 메시지가 회신 메시지를 요구하지 않는 회신비요구 킵얼라이브 메시지인 경우 제 2 단계로 복귀하는 제 3 단계; 상기 클라이언트가 상기 킵얼라이브 메시지로 상기 회신요구 킵얼라이브 메시지를 전송하고 상기 회신요구 킵얼라이브 메시지에 따라 상기 서버로부터 상기 회신 메시지를 수신하는 경우 상기 킵얼라이브 주기를 증가시키고 제 2 단계로 복귀하는 제 4 단계; 및 상기 클라이언트가 상기 킵얼라이브 메시지로 상기 회신요구 킵얼라이브 메시지를 전송하고 상기 회신요구 킵얼라이브 메시지에 따라 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 킵얼라이브 주기를 감소시키고 제 2 단계로 복귀하는 제 5 단계;를 포함하여 구성되는 것을 특징으로 한다.A first step of the client accessing the server through a communication network; A second step of the client transmitting the keepalive message to the server according to a keepalive period; The server receives the keepalive message, but if the keepalive message is a reply request request message, the reply message is sent to the client and the keepalive message does not require a reply message. A third step of returning to a second step in the case of a keep-alive message; A fourth step of increasing the keepalive period and returning to the second step when the client sends the reply request keepalive message to the keepalive message and receives the reply message from the server according to the reply request keepalive message; step; And if the client sends the reply request keepalive message to the keepalive message and fails to receive the reply message from the server according to the reply request keepalive message, reducing the keepalive period and returning to the second step. The fifth step; characterized in that comprises a.

본 발명의 실시예에 따른 킵얼라이브 통신방법은,제 4 단계가 상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 증가시키는 것을 특징으로 한다.In the keep-alive communication method according to an embodiment of the present invention, the fourth step is the keep in the range of server allowance time, the maximum allowable time for the server to keep the client online without receiving a message including a keep-alive message. It is characterized by increasing the alive cycle.

본 발명의 실시예에 따른 킵얼라이브 통신방법은, 상기 제 3 단계가,서버허용시간의 범위에서 적어도 한 번의 상기 회신요구 킵얼라이브 메시지를 상기 킵얼라이브 메시지로서 전송하고, 상기 회신요구 킵얼라이브 메시지를 보내지 않는 경우는 상기 서버에게 상기 회신 메시지를 요구하지 않는 회신비요구 킵얼라이브 메시지를 상기 킵얼라이브 메시지로 전송하는 것을 특징으로 한다.In the keep-alive communication method according to an embodiment of the present invention, the third step may include transmitting at least one reply request keepalive message as the keepalive message within a server allowable time period, and send the reply request keepalive message. In case of not sending, the keep-alive message is a non-reply request keep-alive message which does not request the reply message to the server.

본 발명의 실시예에 따른 킵얼라이브 통신방법은, 상기 제 5 단계가, 상기 클라이언트가 상기 통신망에 재접속한 후 상기 제 2 단계로 복귀하는 것을 특징으로 한다.The keep-alive communication method according to an embodiment of the present invention is characterized in that the fifth step returns to the second step after the client reconnects to the communication network.

본 발명의 실시예에 따른 킵얼라이브 통신방법은, 상기 제 2 단계가 상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.In the keep-alive communication method according to an embodiment of the present invention, when the client accesses the mobile communication-based data communication network provided by the mobile communication network operator, the keep-alive message is transmitted by the communication equipment of the mobile communication-based data communication network. The keep-alive period is adjusted to the data communication network allowable time, which is the maximum time for maintaining the network connection of the client which does not transmit any message.

마지막으로, 본 발명의 실시예에 따른 킵얼라이브 통신방법은, 상기 제 4 단계 및 상기 제 5 단계에서 상기 클라이언트가 상기 회신요구 킵얼라이브 메시지의 전송주기는 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 한다.
Finally, the keep-alive communication method according to an embodiment of the present invention, in the fourth step and the fifth step, the transmission period of the reply request keepalive message is fixed by the server allow time, and the reply request The transmission period of the reply non-request keepalive message is controlled according to whether the reply message is received according to the keepalive message transmission.

본 발명은 상기의 문제를 해결하기 위한 것으로, 본 발명에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 클라이언트가 현재 접속한 통신경로에서 최적의 킵얼라이브 주기를 탐색하여 결정함으로써 불필요하게 잦은 킵얼라이브 메시지 전송으로 인한 네트워크 과부하를 방지하고 클라이언트 단말의 전력소모를 줄이는 효과를 제공한다.The present invention is to solve the above problems, the keep-alive communication system, the client and the communication method according to the present invention, unnecessarily frequent keep-alive by finding and determining the optimal keep-alive period in the communication path currently connected to the client It prevents network overload due to message transmission and reduces the power consumption of the client terminal.

본 발명의 실시예에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 메시지의 정상전달 여부를 확인할 수 없는 프로토콜인 UDP/IP를 이용한 킵얼라이브 통신에 있어서 서버에 회신을 요구하는 회신요구 킵얼라이브 메시지를 전송하여 킵얼라이브 메시지 정상전달 여부를 판단하는 방법을 통해 최적의 킵얼라이브 주기를 결정하는 효과를 제공한다.In the keep-alive communication system, the client, and the communication method according to an embodiment of the present invention, in the keep-alive communication using UDP / IP, which is a protocol that cannot confirm whether a message is normally delivered, a request for a keep-alive message is requested. Through the method of determining whether the keepalive message is delivered normally, it provides the effect of determining the optimal keepalive period.

본 발명의 다른 실시예에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 해당 이동통신 기반 데이터통신망의 통신장비가 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 킵얼라이브 주기를 조정함으로써 이동통신 기반 데이터통신망 접속시 최적 킵얼라이브 주기 탐색에 소요되는 시간을 저감하는 효과를 제공한다.
In a keep-alive communication system, a client, and a communication method according to another embodiment of the present invention, when a client accesses a mobile communication-based data communication network provided by a mobile communication network operator, communication devices of the mobile communication-based data communication network may send a keep-alive message. By adjusting the keep-alive period to the data communication equipment allowable time, which is the maximum time to maintain the client's network connection that does not transmit any messages, the time required for searching for the optimal keep-alive period when accessing the mobile communication-based data communication network is reduced. to provide.

도 1은 회신비요구 킵얼라이브 메시지 송수신하는 킵얼라이브 통신 시스템의 구성도.
도 2는 회신요구 킵얼라이브 메시지 송수신하는 킵얼라이브 통신 시스템의 구성도.
도 3은 본 발명의 실시예에 따른 클라이언트의 상세 구성도.
도 4는 본 발명의 실시예에 따른 서버의 상세 구성도.
도 5는 본 발명의 실시예에 따른 킵얼라이브 통신 시스템의 네트워크 구성예를 도시하는 구성도.
도 6은 본 발명의 실시예에 따른 킵얼라이브 통신 시스템의 킵얼라이브 메시지의 전송 타이밍도.
도 7은 본 발명의 실시예에 따른 킵얼라이브 통신방법의 흐름도.
BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a keep-alive communication system for transmitting / receiving a non-request keepalive message.
2 is a configuration diagram of a keepalive communication system for transmitting and receiving a reply request keepalive message;
3 is a detailed configuration diagram of a client according to an embodiment of the present invention.
4 is a detailed configuration diagram of a server according to an embodiment of the present invention.
5 is a configuration diagram showing an example of a network configuration of a keepalive communication system according to an embodiment of the present invention;
6 is a timing diagram of transmission of a keepalive message of a keepalive communication system according to an exemplary embodiment of the present invention;
7 is a flowchart of a keepalive communication method according to an embodiment of the present invention;

도 2는 본 발명에 따른 킵얼라이브 통신 시스템을 도시한다. 본 발명에 따른 킵얼라이브 통신 시스템은 클라이언트(100)와 서버(200)를 포함하여 구성된다.2 illustrates a keepalive communication system in accordance with the present invention. The keepalive communication system according to the present invention includes a client 100 and a server 200.

클라이언트(100)는 UDP/IP 프로토콜을 통해 킵얼라이브 메시지(keep-alive_msg)를 서버(200)로 전송하는 기능을 수행하며, 통상의 이동통신 단말, 스마트폰, 노트북 PC, 태블릿 PC와 같은 사용자 단말기일 수 있다.The client 100 performs a function of transmitting a keep-alive message (keep-alive_msg) to the server 200 through a UDP / IP protocol, and a user terminal such as a general mobile communication terminal, a smartphone, a notebook PC, and a tablet PC. Can be.

서버(200)는, 킵얼라이브 메시지(keep-alive_msg)를 포함한 메시지를 지속적으로 전송하는 클라이언트(100)는 온라인 상태로 관리하고, 일정 시간 동안 킵얼라이브 메시지(keep-alive_msg)를 포함한 어떠한 메시지도 전송하지 않은 클라이언트(100)는 오프라인 상태로 관리하는 기능을 수행한다. 이러한 서버(200)로는 클라이언트(100)의 온라인 상태를 통신망을 통해 지속적으로 확인하고 클라이언트(100)들의 온라인 상태를 다른 사용자 클라이언트(100)에게 제공하는 메신저 서버를 예를 들 수 있다.The server 200 maintains an online state of the client 100 continuously transmitting a message including a keep-alive message (keep-alive_msg) and transmits any message including a keep-alive message (keep-alive_msg) for a predetermined time. The client 100 does not perform the function of managing the offline state. The server 200 may be, for example, a messenger server continuously checking the online state of the client 100 through a communication network and providing the online state of the clients 100 to another user client 100.

도 3은 본 발명에 따른 클라이언트(100)의 상세구성을 도시한다. 클라이언트(100)는 회신요구 킵얼라이브 전송모듈(110), 회신비요구 킵얼라이브 전송모듈(120), 킵얼라이브 주기 조정모듈(130), 및 회신 수신모듈(150)을 포함하여 구성된다.3 shows a detailed configuration of the client 100 according to the present invention. The client 100 is configured to include a reply request keepalive transmission module 110, a non-reply request keepalive transmission module 120, a keepalive period adjustment module 130, and a reply reception module 150.

회신요구 킵얼라이브 전송모듈(110)은 서버(200)에게 회신 메시지(ack_msg)를 요구하는 킵얼라이브 메시지(keep-alive_msg)인 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송하는 기능을 수행한다.The reply request keepalive transmission module 110 transmits a reply request keepalive message (ackable_keep-alive_msg) which is a keepalive message (keep-alive_msg) requesting a reply message (ack_msg) to the server 200.

반면 회신비요구 킵얼라이브 전송모듈(120)은 서버(200)에게 회신 메시지(ack_msg)를 요구하지 않는 킵얼라이브 메시지(keep-alive_msg)인 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)를 전송하는 기능을 수행한다.On the other hand, the non-reply request keep-alive transmission module 120 transmits a non-request keep-alive message (non_ackable_keep-alive_msg) that is a keep-alive message (keep-alive_msg) that does not require a reply message (ack_msg) to the server 200. Do this.

그런데 킵얼라이브 통신은 주로 각 클라이언트(100)의 온라인 상태를 신속히 확인하기 위한 것으로 그 특성상 통신세션이 유지되어 안정적인 통신이 가능한 TCP/IP 프로토콜을 사용하는 것은 비효율적이기 때문에 UDP/IP 프로토콜을 사용하는 것이 일반적이다. 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)는 도 1에 도시된 바와 같은 일반적인 UDP/IP 프로토콜에서의 킵얼라이브 메시지(keep-alive_msg)로서 자신의 온라인 상태를 서버(200)에게 알려주는 기능만 수행하며 서버(200)에 별도의 회신 메시지(ack_msg)를 요구하지 않는다. 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)는 도 2에 도시된 바와 같이 마치 TCP/IP 프로토콜의 경우처럼 자신의 온라인 상태를 서버(200)에게 알려주는 기능과 함께 서버(200)에 회신 메시지(ack_msg)를 전송할 것을 요구한다.However, keepalive communication is mainly used to quickly check the online status of each client 100. Due to its characteristics, it is inefficient to use the TCP / IP protocol that maintains a communication session and enables stable communication. It is common. The non-request keepalive message (non_ackable_keep-alive_msg) is a keepalive message (keep-alive_msg) in the general UDP / IP protocol as shown in FIG. 1 and performs only a function of notifying the server 200 of its online status. It does not require a separate reply message (ack_msg) to the server 200. The reply request keepalive message (ackable_keep-alive_msg) is a reply message (ack_msg) to the server 200 with a function of notifying the server 200 of its online status as in the case of the TCP / IP protocol as shown in FIG. ) To send.

다음으로, 회신 수신모듈(150)은, 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 수신한 서버(200)가 전송한 회신 메시지(ack_msg)를 수신하는 기능을 수행하고, 킵얼라이브 주기 조정모듈(140)은 회신요구 킵얼라이브 메세지(ackable_keep-alive_msg)전송에 따른 회신 메시지(ack_msg) 수신 여부에 따라 킵얼라이브 메시지(keep-alive_msg)의 킵얼라이브 주기(TK)를 조정하는 기능을 수행한다.Next, the reply receiving module 150 performs a function of receiving a reply message (ack_msg) transmitted by the server 200 that receives the reply request keepalive message (ackable_keep-alive_msg), and keeps a keepalive period adjustment module ( 140 performs a function of adjusting the keep-alive period (T K ) of the keep-alive message (keep-alive_msg) according to whether or not to receive the reply message (ack_msg) according to the transmission of the reply request keepalive (ackable_keep-alive_msg).

서버(200)는 클라이언트(100)로부터 킵얼라이브 메시지(keep-alive_msg)를 수신하는 킵얼라이브 수신 모듈(210) 및 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 수신하는 경우 클라이언트(100)로 회신 메시지(ack_msg)를 전송하는 회신 전송모듈(220)을 포함하여 구성된다.When the server 200 receives the keepalive receiving module 210 that receives the keepalive message (keep-alive_msg) and the reply request keepalive message (ackable_keep-alive_msg) from the client 100, the server 200 sends a reply message to the client 100. It comprises a reply transmission module 220 for transmitting (ack_msg).

이러한 구성에 의하여 본 발명에 따른 킵얼라이브 통신 시스템의 클라이언트(100)는 자신이 속한 통신망의 네트환경 환경에서의 최적의 킵얼라이브 주기(TK)를 탐색하여 이를 적용하는 효과를 제공한다.By such a configuration, the client 100 of the keep-alive communication system according to the present invention provides an effect of searching for and applying an optimal keep-alive period T K in the net environment of the communication network to which the client belongs.

이하에서는, 도 5에 도시된 네트워크 환경에서의 본 발명에 따른 킵얼라이브 통신 시스템의 최적 킵얼라이브 주기(TK) 탐색과정을 설명한다. 클라이언트(100)는 통신경로 1, 통신경로 2, 또는 통신경로 3을 통해 서버(200)에 접속할 수 있고, 킵얼라이브 메시지(keep-alive_msg)를 포함하여 어떠한 메시지의 송수신도 없는 클라이언트(100)를 서버(200)가 온라인 상태로 유지하는 최대 허용시간인 서버허용시간(TS)은 300초라고 가정한다. 이미 서버(200)에서 온라인 상태로 인식된 클라이언트(100)와 서버(200)가 이후 300초 동안 아무런 메시지 송수신이 없다면 서버(200)는 해당 클라이언트(100)의 상태를 오프라인 상태로 변환시킨다. 그러나 300초 이내에 서버(200)와 클라이언트(100) 간의 메시지 송수신이 있었다면 서버(200)는 해당 클라이언트(100)의 온라인 상태를 유지한다.Hereinafter, a process of searching for the optimal keepalive period T K of the keepalive communication system according to the present invention in the network environment shown in FIG. 5 will be described. The client 100 may access the server 200 through the communication path 1, the communication path 2, or the communication path 3, and may receive the client 100 without transmitting or receiving any message, including a keep-alive message (keep-alive_msg). It is assumed that the server allowable time T S , which is the maximum allowable time that the server 200 keeps online, is 300 seconds. If the client 100 and the server 200 that are already recognized as online by the server 200 do not receive any message for 300 seconds, the server 200 converts the state of the client 100 to an offline state. However, if there is a message transmission and reception between the server 200 and the client 100 within 300 seconds, the server 200 maintains the online state of the client 100.

클라이언트(100)는 초기 킵얼라이브 주기(TK)로서 50초가 설정되어 있고, 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)에 따른 회신 메시지(ack_msg)를 수신한 경우 킵얼라이브 주기 조정모듈(130)은 킵얼라이브 주기(TK)를 50초씩 증가시킨다고 가정한다.If the client 100 receives the reply message ack_msg according to the reply request keepalive message (ackable_keep-alive_msg), and 50 seconds is set as the initial keepalive period T K , the keepalive period adjustment module 130 Assume that the keepalive period T K is increased by 50 seconds.

서버(200)의 킵얼라이브 메시지(keep-alive_msg) 수신여부를 확인하기 위해 회신요구 킵얼라이브 전송부는 서버허용시간(TS)인 300초 이내에 적어도 1회의 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송하는 것이 바람직하다. 모든 킵얼라이브 메시지(keep-alive_msg)를 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)로 전송하면 최적 킵얼라이브 주기(TK)의 탐색이 빨라지는 장점이 있지만 서버(200)로부터의 잦은 회신 메시지(ack_msg)로 인해 통신망 부하가 증가하게 되는 문제가 발생한다. 따라서 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)와 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)를 적절하게 혼합하여 전송하는 것이 바람직하다.To confirm whether or not the server 200 receives the keep-alive message (keep-alive_msg), the request to keep a keep alive message transmits at least one keep-alive message (ackable_keep-alive_msg) at least once within 300 seconds, which is the server allowable time (T S ). It is desirable to transmit. Sending all keepalive messages (keep-alive_msg) as a request keepalive message (ackable_keep-alive_msg) has the advantage of speeding up the search of the optimal keepalive period (T K ), but frequently returning messages (ack_msg) from the server 200. ) Increases the network load. Therefore, it is desirable to appropriately mix and send a reply request keepalive message (ackable_keep-alive_msg) and a reply non-request keepalive message (non_ackable_keep-alive_msg).

도 6은 최적 킵얼라이브 주기(TK) 탐색과정을 도시한다. 굵은 화살표는 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 표시하고, 그렇지 않은 화살표는 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)를 표시한다. 도 6(a)에 도시된 바와 같이 킵얼라이브 주기(TK)가 50초인 경우는 서버제한시간인 300초가 되는 매 6번째 킵얼라이브 메시지(keep-alive_msg)는 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송하고, 도 6(c)에 도시된 바와 같이 킵얼라이브 주기(TK)가 100초인 경우는 서버제한시간인 300초가 되는 매 3번째 킵얼라이브 메시지(keep-alive_msg)는 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)로 전송하고, 도 6(d)에 도시된 바와 같이 킵얼라이브 주기(TK)가 200초인 경우는 서버제한시간인 300초 이내에 하나의 킵얼라이브 메시지(keep-alive_msg)만 전송하므로 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송한다.6 shows an optimal keepalive period T K search procedure. The thick arrows indicate reply request keepalive messages (ackable_keep-alive_msg); otherwise arrows indicate reply non-request keepalive messages (non_ackable_keep-alive_msg). As shown in Figure 6 (a) keep-alive period (T K) of 50 seconds, if a server time-of-sheet which is 300 seconds, the sixth keep-alive message (keep-alive_msg) is reply requirement keepalive message (ackable_keep-alive_msg ) for transmission, the keep-alive period (T K) is 100 seconds, if the every third keep alive message (keep-alive_msg that second server timeout of 300 as shown in Figure 6 (c)) is reply requirement keepalive As a message (ackable_keep-alive_msg), and as shown in FIG. 6 (d), when the keepalive period T K is 200 seconds, only one keepalive message (keep-alive_msg) within 300 seconds, which is a server timeout. As it transmits, it sends a reply request keepalive message (ackable_keep-alive_msg).

먼저, 클라이언트(100)가 통신경로 1을 통해 서버(200)에 킵얼라이브 메시지(keep-alive_msg)를 전송하는 경우를 설명한다. 통신경로 1의 네트워크 장비(311)는 장비허용시간(TD)이 350초이다. 도 6(a)에 도시된 바와 같이 최초 킵얼라이브 주기(TK)는 50초에서 시작한다. 매 50초마다 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)가 전송되다가 서버허용시간(TS)인 300초에 전송되는 6번째 킵얼라이브 메시지(keep-alive_msg)는 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)로 전송된다. 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 수신한 서버(200)는 클라이언트(100)로 회신 메시지(ack_msg)를 전송하고, 회신 메시지(ack_msg)를 전송받은 클라이언트(100)는 킵얼라이브 주기(TK) 50초에서는 킵얼라이브 통신이 정상적으로 이루어지는 것을 확인하고 킵얼라이브 주기(TK)를 50초 증가시켜 도 6(b)에 도시된 바와 같이 100초로 변경한다.First, a case in which the client 100 transmits a keep-alive message (keep-alive_msg) to the server 200 through communication path 1 will be described. The network equipment 311 of the communication path 1 has a device allowable time T D of 350 seconds. As shown in Fig. 6 (a), the initial keepalive period T K starts at 50 seconds. Every 50 seconds, the non-request keepalive message (non_ackable_keep-alive_msg) is sent, and the sixth keepalive message (keep-alive_msg) is sent at 300 seconds, the server allow time (T S ), and the reply request keepalive message (ackable_keep- alive_msg). The server 200 receiving the reply request keepalive message (ackable_keep-alive_msg) transmits a reply message (ack_msg) to the client 100, and the client 100 receiving the reply message (ack_msg) keeps a keepalive period (T). K ) In 50 seconds, it is confirmed that the keep-alive communication is normally performed, and the keep-alive period T K is increased by 50 seconds, and is changed to 100 seconds as shown in FIG. 6 (b).

이후 도 6(c) 내지 도 6(f)에 도시된 바와 같이 킵얼라이브 주기(TK)가 50초씩 증가하는 과정을 거쳐 서버(200)의 서버허용시간(TS)인 300초에 이르게 된다. 이때 킵얼라이브 주기(TK)가 서버허용시간(TS) 이상으로 커지게 되면 서버(200)는 서버허용시간(TS) 내에 메시지가 없는 것으로 인식하여 온라인 상태인 해당 클라이언트(100)를 오프라인 상태로 오인식하는 문제가 발생할 수 있다. 이러한 문제를 방지하기 위해 킵얼라이브 주기 조정모듈(130)은 서버허용시간(TS)의 범위에서 상기 킵얼라이브 주기(TK)를 조정하도록 구성한다. Thereafter, as shown in FIGS. 6 (c) to 6 (f), the keep-alive period T K is increased by 50 seconds to reach 300 seconds, the server allowable time T S of the server 200. . At this time, if the keep-alive period T K becomes larger than the server allowable time T S , the server 200 recognizes that there is no message within the server allowable time T S and offline the corresponding client 100 that is online. Problems with misidentification may arise. In order to prevent such a problem, the keep-alive period adjusting module 130 is configured to adjust the keep-alive period T K in the range of the server allowable time T S.

다음으로, 통신경로 2와 같이 네트워크 장비(321,322) 중 최소 장비허용시간(TD)이 100초로 서버허용시간(TS) 300초 보다 짧은 경우를 설명한다.주기 조정모듈(130)은, 킵얼라이브 주기(TK)를 도 6(a), 도 6(b), 도 6(c)에 도시된 바와 같이 50초, 100초, 150초로 증가시킨다. 그런데 킵얼라이브 주기(TK)가 150초가 되면 네트워크 장비(322)의 장비제한시간인 100초를 초과하게 되어 네트워크 장비(322)에 의해 통신망 연결이 해제된다. 따라서 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송해도 서버(200)는 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 수신하지 못하고 클라이언트(100) 역시 서버(200)로부터 회신메시지를 받을 수 없다. 이 경우 킵얼라이브 주기 조정모듈(130)은 현재의 킵얼라이브 주기(TK)인 150초가 네트워크 경로에 존재하는 네트워크 장비의 장비허용시간(TD)을 초과하는 것으로 인식하여 킵얼라이브 주기(TK)를 다시 100초로 감소시킨다. 이 때 클라이언트(100)는 해제된 통신을 복구하기 위해 통신망에 재접속하고, 킵얼라이브 주기(TK)가 반복적으로 증가하다가 감소하는 것을 방지하기 위해 킵얼라이브 주기 조정모듈(130)은 감소된 킵얼라이브 주기(TK)를 유지하는 것이 바람직하다.Next, the case in which the minimum equipment allowable time T D of the network equipment 321 and 322 is 100 seconds and shorter than the server allowable time T S 300 seconds as shown in the communication path 2 will be described. The alive period T K is increased to 50 seconds, 100 seconds, and 150 seconds as shown in FIGS. 6 (a), 6 (b), and 6 (c). However, when the keep-alive period (T K ) is 150 seconds, the network time limit exceeds 100 seconds, which is the equipment time limit of the network equipment 322, and the network connection is released by the network equipment 322. Therefore, even when the reply request keepalive message (ackable_keep-alive_msg) is transmitted, the server 200 does not receive the reply request keepalive message (ackable_keep-alive_msg) and the client 100 may not receive the reply message from the server 200. In this case keep-alive interval adjustment module 130 is currently in the keep alive period (T K) is recognized as 150 seconds more than the equipment allows the time (T D) of the network devices existing in the network path, keep alive period (T K ) To 100 seconds again. At this time, the client 100 reconnects to the communication network to recover the released communication, and the keep-alive period adjustment module 130 is reduced keep-alive to prevent the keep-alive period T K from repeatedly increasing and decreasing. It is desirable to maintain the period T K.

통신경로 3은 네트워크 장비의 최소 장비허용시간(TD)이 200초인 경우로 통신경로 2의 경우와 동일한 방법으로 최적 킵얼라이브 주기(TK)를 결정한다. 킵얼라이브 주기(TK)는 250초까지 증가하였다가 네트워크 장비에 의한 접속해제로 클라이언트(100)는 회신 메시지(ack_msg)를 수신하지 못하게 되어 킵얼라이브 주기(TK)를 200초로 다시 감소시킨다.The communication path 3 determines the optimal keepalive period T K in the same manner as the communication path 2 when the minimum device allowable time T D of the network device is 200 seconds. The keep-alive period T K is increased to 250 seconds, and disconnection by the network equipment prevents the client 100 from receiving the reply message ack_msg, thereby reducing the keep-alive period T K back to 200 seconds.

이러한 방법을 통해 UDP/IP 프로토콜을 이용하는 킵얼라이브 통신에 있어서, 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg) 및 이에 따른 회신 메시지(ack_msg)를 이용하여 서버(200)의 킵얼라이브 메시지(keep-alive_msg) 수신여부를 클라이언트(100)가 확인하여 수신여부에 따라 킵얼라이브 주기(TK)를 조정하는 방법으로 최적의 킵얼라이브 주기(TK)를 탐색할 수 있는 효과를 제공한다.In the keep-alive communication using the UDP / IP protocol through this method, a keep-alive message (keep-alive_msg) of the server 200 using a reply request keepalive message (ackable_keep-alive_msg) and a reply message (ack_msg) accordingly. The client 100 checks whether the reception is performed and adjusts the keepalive period T K according to the reception. Thus, the client 100 may search for the optimal keepalive period T K.

다른 실시예에 따르면 킵얼라이브 주기 조정모듈(130)은 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)의 전송주기를 서버허용시간(TS)으로 고정하고, 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg) 전송에 따른 회신 메시지(ack_msg) 수신 여부에 따라 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)의 전송주기를 제어하도록 구성할 수도 있다. 이러한 실시예에 따르면 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)의 전송주기는 서버허용시간(TS)으로 고정되고 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)의 전송주기만 변화한다.According to another embodiment, the keepalive period adjusting module 130 fixes the transmission period of the reply request keepalive message (ackable_keep-alive_msg) to the server allowable time T S , and transmits the reply request keepalive message (ackable_keep-alive_msg). According to whether or not to receive a reply message (ack_msg) can be configured to control the transmission period of the non-return request keepalive message (non_ackable_keep-alive_msg). According to this embodiment, the transmission period of the reply request keepalive message (ackable_keep-alive_msg) is fixed to the server allowable time T S and only the transmission period of the non-return request keepalive message (non_ackable_keep-alive_msg) changes.

한편, 스마트폰과 같은 클라이언트(100)는 WiFi 무선 LAN과 같은 일반 인터넷을 통해 서버(200)에 접속할 수도 있고, WCDMA, LTE(Long Term Evolution) 등과 같이 이동통신 사업자가 제공하는 데이터통신망을 통해 서버(200)에 접속할 수 있다. 이동통신 기반 데이터통신망은 동일통신장비를 이용하여 광범위한 지역에 서비스를 제공한다. 따라서 이동통신 기반 데이터통신망은 언제 어디서나 동일한 장비허용시간(TD)을 가진다. 이러한 이동통신 기반 데이터통신망의 장비허용시간(TD)을 데이터통신망 장비허용시간(TDD)이라고 하면, 이동통신 기반 데이터통신망에 접속하여 킵얼라이브 메시지(keep-alive_msg)를 전송하는 클라이언트(100)는 전술한 최적 킵얼라이브 주기(TK)를 탐색하는 과정 없이 바로 데이터통신망 장비허용시간(TDD)을 킵얼라이브 주기(TK)로 적용하는 것이 바람직하다.Meanwhile, the client 100 such as a smartphone may access the server 200 through a general Internet such as a WiFi wireless LAN, or may use a server through a data communication network provided by a mobile communication provider such as WCDMA or Long Term Evolution (LTE). 200 can be connected. Mobile communication based data communication networks provide services to a wide range of regions using the same communication equipment. Therefore, the mobile communication based data communication network has the same equipment allowance time (T D ) anytime and anywhere. When the equipment allowable time T D of the mobile communication based data communication network is referred to as the data communication equipment allowable time T DD , the client 100 accesses the mobile communication based data communication network and transmits a keep-alive message (keep-alive_msg). It is preferable to apply the data communication network equipment allowance time T DD to the keep-alive period T K without searching for the optimal keep-alive period T K described above.

데이터통신망 접속시 데이터통신망으로부터 수신한 MCC(Mobile Country Code) 및 MNC(Mobile Network Code)를 통해 클라이언트(100)는 자신이 접속한 데이터통신망을 식별이 가능하다. 클라이언트(100)가 데이터통신망의 데이터통신망 장비허용시간(TDD)에 관한 정보를 얻는 방법은 다양하게 구현할 수 있다. 예컨데 데이터통신망 또는 서버(200)가 클라이언트(100)에게 데이터통신망 장비허용시간(TDD)을 직접 알려주거나, 클라이언트(100)가 해당 데이터통신망에 접속하였을 때 탐색한 최적 킵얼라이브 주기(TK)를 저장하였다가 추후 접속시 별도의 탐색작업 없이 저장된 최적 킵얼라이브 주기(TK)를 다시 적용하는 방법으로 구현할 수 있다.When the data communication network is connected, the client 100 may identify the data communication network to which the client 100 is connected through a mobile country code (MCC) and a mobile network code (MNC) received from the data communication network. Various methods may be implemented by the client 100 to obtain information regarding a data communication network equipment allowable time (T DD ) of the data communication network. For example, the data communication network or the server 200 directly informs the client 100 of the data communication network equipment allowable time (T DD ) or the optimal keepalive period (T K ) searched when the client 100 accesses the data communication network. It can be implemented by saving and saving the new optimal keepalive period (T K ) again without any additional search.

A 이동통신 사업자가 제공하는 이동통신 기반 데이터통신망의 데이터통신망 장비허용시간(TDD)이 150초이고 B 이동통신 사업자가 제공하는 이동통신 기반 데이터통신망의 데이터통신망 장비허용시간(TD)이 350초인 경우, 클라이언트(100)가 A 이동통신 사업자의 데이터통신망에 접속한 경우 킵얼라이브 주기 조정모듈(130)은 바로 150초를 킵얼라이브 주기(TK)로 적용하고, B 이통통신 사업자의 데이터통신망에 접속한 경우 킵얼라이브 주기 조정모듈(130)은 데이터통신망 장비허용시간(TD)이 서버허용시간(TS) 보다 길기 때문에 서버허용시간(TS)인 300초를 킵얼라이브 주기(TK)로 적용하도록 구성할 수 있다. A data communication network equipment allowable time (T DD ) of the mobile communication based data communication network provided by the mobile communication provider is 150 seconds and B data communication network equipment allowance time (T D ) of the mobile communication based data communication network provided by the mobile communication provider is 350 In the case of the second, when the client 100 is connected to the data communication network of the mobile operator A, the keep-alive period adjusting module 130 immediately applies 150 seconds as the keep-alive period (T K ), and the data communication network of the B mobile communication provider. If the connection to the keep-alive interval adjustment module 130 to the 300 server acceptable time (T S) seconds because the data communication network equipment allows the time (T D) is longer than the server allows time (T S), keep alive period (T K Can be configured to apply

도 7은 본 발명의 실시예에 따른 킵얼라이브 통신방법을 도시한다. 본 발명에 따른 킵얼라이브 통신방업에 따르면 먼저 클라이언트(100)가 통신망을 통해 서버(200)에 접속하는 제 1 단계(S10)를 수행한다. 예컨데 클라이언트(100)가 메신저 프로그램이 탑재된 스마트폰인 경우 스마트폰의 전원인가에 따라 메신저 프로그램이 메신저 서버에 자동으로 접속하거나 사용자의 해당 메신저 프로그램을 통한 로그인에 따라 메신저 서버에 접속하는 방법으로 제 1 단계(S10)를 구현할 수 있다.7 illustrates a keepalive communication method according to an embodiment of the present invention. According to the keep-alive communication method according to the present invention, first, the client 100 performs a first step S10 of accessing the server 200 through a communication network. For example, if the client 100 is a smartphone equipped with a messenger program, the messenger program automatically connects to the messenger server according to whether the smartphone is powered on, or connects to the messenger server according to the user's login through the messenger program. One step (S10) can be implemented.

다음으로, 클라이언트(100)가 서버(200)에 킵얼라이브 주기(TK)에 따라 킵얼라이브 메시지(keep-alive_msg)를 전송하는 제 2 단계(S20)를 수행한다. 메신저 프로그램이 탑재된 스마트폰의 경우 사용자의 입력이 없어서 아이들 모드에 들어간 경우라도 UDP/IP 프로토콜에 따라 킵얼라이브 메시지(keep-alive_msg)를 지속적으로 서버(200)로 송신하게 된다.Next, the client 100 performs a second step S20 of transmitting a keepalive message keep-alive_msg to the server 200 according to the keepalive period T K. In the case of a smartphone equipped with a messenger program, even if the user enters the idle mode without input, the keep-alive message (keep-alive_msg) is continuously transmitted to the server 200 according to the UDP / IP protocol.

이때 클라이언트(100)가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 이동통신 기반 데이터통신망의 통신장비가 킵얼라이브 메시지(keep-alive_msg)를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트(100)의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간(TDD)으로 킵얼라이브 주기(TK)를 조정하도록 구성하는 것이 바람직하다. 이러한 실시예에 따르면 이동통신 기반 데이터통신망에 접속하여 킵얼라이브 메시지(keep-alive_msg)를 전송하는 경우 별도의 최적 킵얼라이브 주기(TK)를 탐색하는 절차없이 신속하게 데이터통신망에 최적화된 킵얼라이브 주기(TK)를 신속하게 적용할 수 있는 효과를 제공한다.In this case, when the client 100 accesses a mobile communication based data communication network provided by a mobile communication network operator, the client device 100 does not transmit any message including a keep-alive message (keep-alive_msg) by the communication equipment of the mobile communication based data communication network. It is preferable to configure the keep-alive period T K to be the data communication network equipment allowable time T DD , which is the maximum time for maintaining the network connection. According to this embodiment, when accessing a mobile communication-based data communication network and sending a keep-alive message (keep-alive_msg), a keep-alive period optimized for the data communication network quickly without a procedure for searching for a separate optimal keep-alive period (T K ) Provides the effect of quickly applying (T K ).

다음으로, 서버(200)가 킵얼라이브 메시지(keep-alive_msg)를 수신하되 킵얼라이브 메시지(keep-alive_msg)가 회신 메시지(ack_msg)를 요구하는 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)인 경우 클라이언트(100)로 회신 메시지(ack_msg)를 송신하고 킵얼라이브 메시지(keep-alive_msg)가 회신 메시지(ack_msg)를 요구하지 않는 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)인 경우 제 2 단계(S20)로 복귀하는 제 3 단계(S30)를 수행한다. 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)는 현재 클라이언트(100)의 통신접속 상태를 확인하기 위한 것이고, 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)는 일반적인 UDP/IP 메시지로 구성된다.Next, when the server 200 receives the keepalive message (keep-alive_msg) but the keepalive message (keep-alive_msg) is a reply request keepalive message (ackable_keep-alive_msg) requesting a reply message (ack_msg), the client ( Send a reply message (ack_msg) in step 100) and return to the second step (S20) if the keepalive message (keep-alive_msg) is a non-requested keepalive message (non_ackable_keep-alive_msg) that does not require a reply message (ack_msg). The third step S30 is performed. The reply request keepalive message (ackable_keep-alive_msg) is for checking the communication connection status of the current client 100, and the non-request request keepalive message (non_ackable_keep-alive_msg) is composed of a general UDP / IP message.

이때 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)가 잦을수록 최적 킵얼라이브 주기(TK)의 탐색이 빨라지는 효과가 있지만 회신 메시지(ack_msg)의 증가로 인해 통신망의 부담이 증가하는 문제가 있다. 이러한 문제를 해결하기 위해서는 도 6에 도시된 바와 같이 서버허용시간(TS)의 범위에서 적어도 한 번의 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 킵얼라이브 메시지(keep-alive_msg)로서 전송하고, 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 보내지 않는 경우는 서버(200)에게 회신 메시지(ack_msg)를 요구하지 않는 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)를 킵얼라이브 메시지(keep-alive_msg)로 전송하도록 구성하는 것이 바람직하다.In this case, the more frequently the reply request keepalive message (ackable_keep-alive_msg) is, the faster the search for the optimal keepalive period (T K ) is effected, but the burden of the communication network increases due to the increase in the reply message (ack_msg). To solve this problem, as shown in FIG. 6, at least one reply request keepalive message (ackable_keep-alive_msg) is transmitted as a keepalive message (keep-alive_msg) within a server allowable time T S , and a reply is made. If the request keepalive message (ackable_keep-alive_msg) is not sent, the server 200 transmits the non-requested keepalive message (non_ackable_keep-alive_msg) that does not require a reply message (ack_msg) as a keepalive message (keep-alive_msg). It is preferable to configure so that.

다음으로, 클라이언트(100)가 킵얼라이브 메시지(keep-alive_msg)로 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송하고 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)에 따라 서버(200)로부터 회신 메시지(ack_msg)를 수신하는 경우 킵얼라이브 주기(TK)를 증가시키고 제 2 단계(S20)로 복귀하는 제 4 단계(S40)를 수행한다.Next, the client 100 transmits a reply request keepalive message (ackable_keep-alive_msg) as a keepalive message (keep-alive_msg) and returns a reply message from the server 200 according to the reply request keepalive message (ackable_keep-alive_msg). When ack_msg) is received, a fourth step S40 of increasing the keep-alive period T K and returning to the second step S20 is performed.

이때 제 4 단계(S40)에서 서버제한시간 이상으로 킵얼라이브 주기(TK)가 설정되는 것을 방지하기 위해, 서버(200)가 킵얼라이브 메시지(keep-alive_msg)를 포함한 메시지의 수신이 없는 상기 클라이언트(100)를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간(TS)의 범위에서 킵얼라이브 주기(TK)를 증가시키도록 구성한다.In this case, in order to prevent the keepalive period T K from being set beyond the server time limit in the fourth step S40, the server 200 does not receive a message including a keep-alive message (keep-alive_msg). It is configured to increase the keep-alive period T K in the range of the server allowable time T S , which is the maximum allowable time for keeping 100 online.

마지막으로, 클라이언트(100)가 킵얼라이브 메시지(keep-alive_msg)로 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송하고 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)에 따라 서버(200)로부터 회신 메시지(ack_msg)를 수신하지 못하는 경우 킵얼라이브 주기(TK)를 감소시키고 제 2 단계(S20)로 복귀하는 제 5 단계(S50)를 수행한다. 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)의 전송에도 불구하고 회신 메시지를 수신하지 못한 것은 현재의 킵얼라이브 주기(TK)가 통신경로 상의 네트워크 장비의 장비허용시간(TD) 이상으로 설정됨으로 인해 통신망 접속이 해제된 것으로 판단할 수 있다. 따라서 장비허용시간 이내로 킵얼라이브 주기(TK)를 재조정하도록 한다. 이때 제 2 단계로 복귀하기 전에 클라이언트(100)는 통신망에 재접속하는 것이 바람직하다.
Finally, the client 100 transmits a reply request keepalive message (ackable_keep-alive_msg) as a keepalive message (keep-alive_msg) and returns a reply message (from the server 200 according to the reply request keepalive message (ackable_keep-alive_msg). If ack_msg) is not received, a fifth step S50 of reducing the keep-alive period T K and returning to the second step S20 is performed. The reply message was not received despite the transmission of the request-back keepalive message (ackable_keep-alive_msg) because the current keepalive period (T K ) is set to be greater than the equipment allowable time (T D ) of the network device on the communication path. It may be determined that the communication network connection is released. Therefore, the keepalive period (T K ) should be readjusted within the allowable time. At this time, it is preferable that the client 100 reconnect to the communication network before returning to the second step.

100 : 클라이언트
110 : 회신요구 킵얼라이브 전송모듈
120 : 회신비요구 킵얼라이브 전송모듈
130 : 킵얼라이브 주기 조정모듈
150 : 회신 수신모듈 200 : 서버
100: client
110: keep-alive transmission module requesting a reply
120: no-request keepalive transfer module
130: keepalive period adjustment module
150: reply receiving module 200: server

Claims (18)

UDP/IP 프로토콜을 통해 킵얼라이브 메시지를 전송하는 클라이언트; 및
상기 클라이언트로부터의 상기 킵얼라이브 메시지의 수신에 따라 상기 클라이언트를 온라인 상태로 유지하는 서버;로 구성되는 킵얼라이브 통신 시스템에 있어서,
상기 클라이언트는, 상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈; 상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈; 상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 조정하는 킵얼라이브 주기 조정모듈;을 포함하고,
상기 서버는, 상기 클라이언트로부터 상기 킵얼라이브 메시지를 수신하는 킵얼라이브 수신 모듈 및 상기 회신요구 킵얼라이브 메시지를 수신하는 경우 상기 클라이언트로 상기 회신 메시지를 전송하는 회신 전송모듈;을 포함하는 것을 특징으로 하는 킵얼라이브 통신 시스템.
A client sending a keepalive message via a UDP / IP protocol; And
A keep-alive communication system, comprising: a server that keeps the client online according to receipt of the keep-alive message from the client.
The client may include a reply request keepalive transmission module for transmitting a reply request keepalive message, which is a keepalive message requesting a reply message to the server; An unsolicited keep-alive transmission module for transmitting an unsolicited keep-alive message that is a keep-alive message that does not request the reply message to the server; A reply receiving module for receiving the reply message from the server; And a keep-alive period adjustment module for adjusting a keep-alive period, which is a transmission period of the keep-alive message, according to whether or not the reply message is received according to the transmission of the reply request keep-alive message.
The server may include a keepalive receiving module for receiving the keepalive message from the client and a reply transmitting module for transmitting the reply message to the client when receiving the reply request keepalive message. Alive communication system.
제 1 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신 시스템.
According to claim 1, wherein the keep-alive period adjustment module,
The keep-alive communication system, wherein the server adjusts the keep-alive period within a range of a server allowable time, which is a maximum allowable time for keeping the client online without receiving a message including a keep-alive message.
제 2 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에 따라 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하는 경우 상기 킵얼라이브 주기를 증가시키는 것을 특징으로 하는 킵얼라이브 통신 시스템.
The method of claim 2, wherein the keepalive period adjustment module,
And a keep-alive period of time when the reply receiving module receives the reply message from the server in response to transmission of the reply request keep-alive message by the reply request keep-alive transmission module.
제 3 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 킵얼라이브 주기를 감소시키는 것을 특징으로 하는 킵얼라이브 통신 시스템.
According to claim 3, wherein the keep-alive period adjustment module,
And if the reply receiving module does not receive the reply message from the server despite the reply request keep-alive message being sent by the reply request keep-alive transmission module, reducing the keep-alive period.
제 4 항에 있어서,
상기 클라이언트는, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 통신망에 재접속하고,
상기 킵얼라이브 주기 조정모듈은, 감소된 상기 킵얼라이브 주기로 유지시키는 것을 특징으로 하는 킵얼라이브 통신 시스템.
The method of claim 4, wherein
The client reconnects to the communication network when the reply receiving module does not receive the reply message from the server despite transmission of the reply request keepalive message by the reply request keepalive transmission module.
And the keep-alive period adjusting module maintains the reduced keep-alive period.
제 1 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신 시스템.
According to claim 1, wherein the keep-alive period adjustment module,
When the client accesses a mobile communication based data communication network provided by a mobile communication network operator, the maximum time for which the communication equipment of the mobile communication based data communication network maintains the connection of the client which does not transmit any message including the keepalive message. A keep-alive communication system, characterized in that for adjusting the keep-alive period in the data communication network equipment allowable time.
제 2 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
상기 회신요구 킵얼라이브 메시지의 전송주기를 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 하는 킵얼라이브 통신 시스템.
The method of claim 2, wherein the keepalive period adjustment module,
The transmission period of the reply request keep-alive message is fixed to the server allowable time, and the transmission period of the unsolicited keep-alive message is controlled according to whether or not the reply message is received according to the transmission of the reply request keep-alive message. Keepalive Communication System.
온라인 상태를 유지하기 위해 서버로 UDP/IP 프로토콜을 통해 킵얼라이브 메시지를 메신저에 전송하는 클라이언트에 있어서,
상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈;
상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈;
상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 및
상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지를 수신한 경우는 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 증가시키고 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지를 수신하지 못하는 경우는 상기 킵얼라이브 주기를 감소시키는 것을 특징으로 하는 킵얼라이브 주기 조정모듈;을 포함하는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
In a client sending a keepalive message to a messenger via a UDP / IP protocol to a server to stay online,
A reply request keepalive transmission module for transmitting a reply request keepalive message, which is a keepalive message requesting a reply message to the server;
An unsolicited keep-alive transmission module for transmitting an unsolicited keep-alive message that is a keep-alive message that does not request the reply message to the server;
A reply receiving module for receiving the reply message from the server; And
When the reply message according to the reply request keep-alive message is received, the keep-alive period, which is a transmission period of the keep-alive message, is increased, and when the reply message according to the reply request keep-alive message is not received, the reply message is received. A keep-alive communication client comprising a; keep-alive period adjustment module, characterized in that for reducing the keep-alive period.
제 8 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
The method of claim 8, wherein the keep-alive period adjustment module,
The keep-alive communication client, characterized in that the server adjusts the keep-alive period in the range of the server allowable time which is the maximum allowable time for keeping the client online without receiving a message including a keep-alive message.
제 9 항에 있어서,
상기 클라이언트는, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 통신망에 재접속하고,
상기 킵얼라이브 주기 조정모듈은, 감소된 상기 킵얼라이브 주기로 유지시키는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
The method of claim 9,
The client reconnects to the communication network when the reply receiving module does not receive the reply message from the server despite transmission of the reply request keepalive message by the reply request keepalive transmission module.
And the keep-alive period adjusting module maintains the reduced keep-alive period.
제 8 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
The method of claim 8, wherein the keep-alive period adjustment module,
When the client accesses a mobile communication based data communication network provided by a mobile communication network operator, the maximum time for which the communication equipment of the mobile communication based data communication network maintains the connection of the client which does not transmit any message including the keepalive message. The keep-alive communication client, characterized in that for adjusting the keep-alive period to the data communication network allow time.
제 9 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
상기 회신요구 킵얼라이브 메시지의 전송주기를 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
10. The method of claim 9, wherein the keep-alive period adjustment module,
The transmission period of the reply request keep-alive message is fixed to the server allowable time, and the transmission period of the unsolicited keep-alive message is controlled according to whether or not the reply message is received according to the transmission of the reply request keep-alive message. Keepalive communication client.
클라이언트가 UDP/IP 프로토콜에 따라 킵얼라이브 메시지를 서버에게 전송하고 상기 서버는 상기 킵얼라이브 메시지를 전송한 상기 클라이언트를 온라인 상태로 유지하는 킵얼라이브 통신방법에 있어서,
상기 클라이언트가 통신망을 통해 상기 서버에 접속하는 제 1 단계;
상기 클라이언트가 상기 서버에 킵얼라이브 주기에 따라 상기 킵얼라이브 메시지를 전송하는 제 2 단계;
상기 서버가 상기 킵얼라이브 메시지를 수신하되 상기 킵얼라이브 메시지가 회신 메시지를 요구하는 회신요구 킵얼라이브 메시지인 경우 상기 클라이언트로 상기 회신 메시지를 송신하고 상기 킵얼라이브 메시지가 회신 메시지를 요구하지 않는 회신비요구 킵얼라이브 메시지인 경우 제 2 단계로 복귀하는 제 3 단계;
상기 클라이언트가 상기 킵얼라이브 메시지로 상기 회신요구 킵얼라이브 메시지를 전송하고 상기 회신요구 킵얼라이브 메시지에 따라 상기 서버로부터 상기 회신 메시지를 수신하는 경우 상기 킵얼라이브 주기를 증가시키고 제 2 단계로 복귀하는 제 4 단계; 및
상기 클라이언트가 상기 킵얼라이브 메시지로 상기 회신요구 킵얼라이브 메시지를 전송하고 상기 회신요구 킵얼라이브 메시지에 따라 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 킵얼라이브 주기를 감소시키고 제 2 단계로 복귀하는 제 5 단계;를 포함하여 구성되는 것을 특징으로 하는 킵얼라이브 통신방법.
A keep-alive communication method in which a client transmits a keep-alive message to a server according to a UDP / IP protocol, and the server keeps the client that has sent the keep-alive message online.
A first step of the client accessing the server through a communication network;
A second step of the client transmitting the keepalive message to the server according to a keepalive period;
The server receives the keepalive message, but if the keepalive message is a reply request request message, the reply message is sent to the client and the keepalive message does not require a reply message. A third step of returning to a second step in the case of a keep-alive message;
A fourth step of increasing the keepalive period and returning to the second step when the client sends the reply request keepalive message to the keepalive message and receives the reply message from the server according to the reply request keepalive message; step; And
Reducing the keepalive period and returning to the second step if the client sends the reply request keepalive message to the keepalive message and fails to receive the reply message from the server according to the reply request keepalive message. Keep alive communication method comprising a; 5 step.
제 13 항에 있어서, 상기 제 4 단계는,
상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 증가시키는 것을 특징으로 하는 킵얼라이브 통신방법.
The method of claim 13, wherein the fourth step,
And the keep-alive period is increased within a range of a server allowable time which is a maximum allowable time for the server to keep the client online without receiving a message including a keep-alive message.
제 13 항에 있어서, 상기 제 3 단계는,
상기 서버허용시간의 범위에서 적어도 한 번의 상기 회신요구 킵얼라이브 메시지를 상기 킵얼라이브 메시지로서 전송하고, 상기 회신요구 킵얼라이브 메시지를 보내지 않는 경우는 상기 서버에게 상기 회신 메시지를 요구하지 않는 회신비요구 킵얼라이브 메시지를 상기 킵얼라이브 메시지로 전송하는 것을 특징으로 하는 킵얼라이브 통신방법.
The method of claim 13, wherein the third step,
At least one reply request keep-alive message is transmitted as the keep-alive message within the server allowable time range, and if the reply request keep-alive message is not sent, a reply non-request request that does not request the reply message to the server A keep-alive communication method, characterized in that for transmitting an alive message to the keep-alive message.
제 13 항에 있어서, 상기 제 5 단계는,
상기 클라이언트가 상기 통신망에 재접속한 후 상기 제 2 단계로 복귀하는 것을 특징으로 하는 킵얼라이브 통신방법.
The method of claim 13, wherein the fifth step,
And the client returns to the second step after reconnecting to the communication network.
제 13 항에 있어서, 상기 제 2 단계는,
상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신방법.
The method of claim 13, wherein the second step,
When the client accesses a mobile communication based data communication network provided by a mobile communication network operator, the maximum time for which the communication equipment of the mobile communication based data communication network maintains the connection of the client which does not transmit any message including the keepalive message. The keep-alive communication method, characterized in that for adjusting the keep-alive period by the data communication network allow time.
제 14 항에 있어서, 상기 제 4 단계 및 상기 제 5 단계는,
상기 클라이언트가 상기 회신요구 킵얼라이브 메시지의 전송주기를 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 하는 킵얼라이브 통신방법.
The method of claim 14, wherein the fourth step and the fifth step,
The client fixes the transmission period of the reply request keep-alive message to the server allowable time, and controls the transmission period of the reply-unsolicited keep-alive message according to whether the reply message is received according to the reply request keepalive message transmission. Keepalive communication method characterized in that.
KR1020110066147A 2011-07-04 2011-07-04 System, client device, and method for keep-alive communication KR101224557B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110066147A KR101224557B1 (en) 2011-07-04 2011-07-04 System, client device, and method for keep-alive communication

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110066147A KR101224557B1 (en) 2011-07-04 2011-07-04 System, client device, and method for keep-alive communication

Publications (2)

Publication Number Publication Date
KR20130004848A true KR20130004848A (en) 2013-01-14
KR101224557B1 KR101224557B1 (en) 2013-01-21

Family

ID=47836343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110066147A KR101224557B1 (en) 2011-07-04 2011-07-04 System, client device, and method for keep-alive communication

Country Status (1)

Country Link
KR (1) KR101224557B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014173247A1 (en) * 2013-09-04 2014-10-30 中兴通讯股份有限公司 System, method, and server for keeping wireless local area network terminal online all the time
KR20220015095A (en) 2020-07-30 2022-02-08 심재린 Ship ballast water treatment system using UV light source

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101690604B1 (en) 2013-06-20 2016-12-28 이현옥 Chatting system and method based on wire/wireless web

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100246566B1 (en) 1996-12-02 2000-04-01 김영환 Method of changing registration period of the mobile communication system
JP3539339B2 (en) 2000-03-28 2004-07-07 日本電気株式会社 TDMA transmission timing setting method
US7634558B1 (en) * 2003-09-22 2009-12-15 Sprint Spectrum L.P. Method and system for updating network presence records at a rate dependent on network load

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014173247A1 (en) * 2013-09-04 2014-10-30 中兴通讯股份有限公司 System, method, and server for keeping wireless local area network terminal online all the time
US9860840B2 (en) 2013-09-04 2018-01-02 Zte Corporation System, method, and server for keeping wireless local area network terminal online all the time
KR20220015095A (en) 2020-07-30 2022-02-08 심재린 Ship ballast water treatment system using UV light source

Also Published As

Publication number Publication date
KR101224557B1 (en) 2013-01-21

Similar Documents

Publication Publication Date Title
US9148765B2 (en) Push service without persistent TCP connection in a mobile network
US9137268B2 (en) Method, terminal, and server for obtaining heartbeat period
US8351358B2 (en) Channel state transition optimization
US10425318B2 (en) Method for heartbeat packet processing by using proxy, apparatus, and communications system
EP3461172A1 (en) Wireless communications method and device
KR20160002240A (en) Method and apparatus for optimizing communications of low power devices
CN113965965A (en) Quality of service (QoS) control method, equipment and storage medium
EP2627056A1 (en) Method, gateway, proxy and system for implementing mobile internet services
EP2918138B1 (en) Method and apparatus for providing web service in wireless communication system
JP2019536355A (en) Data streaming support control based on node type
US8914049B2 (en) Method for managing a status of a mobile station in a wireless network
US10827538B2 (en) User equipment idle state processing method and device
US9642048B2 (en) Mechanism to handle UE assistance information upon handover
KR101224557B1 (en) System, client device, and method for keep-alive communication
US20160007238A1 (en) Methods and an apparatus for transferring data communication sessions between radio-access networks
US11368909B2 (en) Data transmission method and apparatus
EP3314970B1 (en) Method and apparatus for managing uplink traffic from a client device in a communication network
RU2625565C1 (en) Method and device for controlling session communication channel, as well as machine-readable data carrier
JP2014146876A (en) Message distribution system and message distribution method
EP3496468B1 (en) Network entity for creating a transmission session via a network system, roaming firewall, network system, method and computer program product
KR101256801B1 (en) System and method for keep-alive communication
US9397879B2 (en) System, apparatus and method for address management in a distributed mobile core network
JPWO2015004861A1 (en) Message delivery system, message delivery apparatus, message delivery method, and message delivery program
KR102494912B1 (en) Method and Apparatus for Controlling a Connection Between Terminals in a Communication Network
KR20140094306A (en) Device and method of HTTP Proxy to reduce the HTTP protocol transmission delay and the HTTP processing load in Mobile Communication Networks

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
FPAY Annual fee payment

Payment date: 20160111

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170116

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180716

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee