KR101224557B1 - 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법 - Google Patents

킵얼라이브 통신 시스템, 클라이언트, 및 통신방법 Download PDF

Info

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

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

본 발명은 킵얼라이브 통신 시스템, 클라이언트 및 통신방법에 관한 것이다. 본 발명에 따른 킵얼라이브 통신 시스템은, UDP/IP 프로토콜에 따른 킵얼라이브 메시지를 통신망을 통해 전송하는 클라이언트; 및 상기 클라이언트로부터의 상기 킵얼라이브 메시지 수신에 따라 상기 클라이언트를 온라인 상태로 유지하는 서버;로 구성되는 킵얼라이브 통신 시스템에 있어서, 상기 클라이언트는, 상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈; 상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈; 상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 조정하는 킵얼라이브 주기 조정모듈;을 포함하고, 상기 서버는, 상기 클라이언트로부터 상기 킵얼라이브 메시지를 수신하는 킵얼라이브 수신 모듈 및 상기 회신요구 킵얼라이브 메시지를 수신하는 경우 상기 클라이언트로 상기 회신 메시지를 전송하는 회신 전송모듈;을 포함하는 것을 특징으로 한다.

Description

킵얼라이브 통신 시스템, 클라이언트, 및 통신방법{System, client device, and method for keep-alive communication}
본 발명은 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법에 관한 것으로, 보다 상세하게는 클라이언트가 접속한 통신망의 상황에 따라 적응적으로 킵얼라이브 메시지의 전송주기를 최적화시킴으로써 킵얼라이브 메시지로 인한 과도한 트래픽 발생을 억제하고, 빈번한 킵얼라이브 메시지 전송으로 인한 클라이언트 단말의 전력소모를 저감할 수 있는 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법에 관한 것이다.
스마트폰 등의 클라이언트 단말에 설치하여 사용되는 메신저 애플리케이션과 같이 메신저 서비스 서버가 각각의 클라이언트의 온라인 상태를 지속적으로 파악하여 다른 클라이언트에게 통보하는 통신 시스템에 있어서, 클라이언트는 지속적으로 자신의 온라인 상태를 서버에 알려주고, 서버는 일정시간 동안 서버와 통신이 없는 클라이언트는 그 상태를 오프라인 상태로 관리한다. 클라이언트는 아이들 상태(Idle Mode :일정 시간 사용자 입력이 없어 클라이언트 단말이 저전력 모드로 진입한 상태)에 진입한 경우라도 킵얼라이브(keep-alive) 메시지를 주기적으로 서버로 전송함으로써 자신의 온라인 상태를 유지해야 한다.
이러한 킵얼라이브 통신 시스템에 있어서, 클라이언트가 증가하게 되면 통신채널을 통해 전송되는 킵얼라이브 메시지 또한 증가하여 통신망의 과부하를 발생시킬 수 있다. 더욱이 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기(TK)가 짧을수록 시간당 발생하는 킵얼라이브 메시지의 숫자는 더욱 증가하게 된다. 뿐만 아니라, 킵얼라이브 주기(TK)가 짧을수록 클라이언트 단말의 킵얼라이브 메시지 전송을 위한 동작이 잦아지기 때문에 클라이언트 단말의 전력소모 역시 증가하는 문제가 있다.
한편, 킵얼라이브 통신 시스템의 서버는 온라인 상태로 파악된 클라이언트와 일정시간 동안 메시지송수신이 없는 경우 해당 클라이언트를 오프라인 상태로 간주하게 된다. 따라서 클라이언트의 온라인 상태를 유지하는 서버의 최대 허용시간인 서버허용시간(TS)으로 킵얼라이브 주기(TK)를 설정하면 전체 킵얼라이브 메시지 수를 줄일 수 있을 뿐 아니라 클라이언트 단말의 전력소모 역시 최소화시킬 수 있다.
그런데, 통신망을 구성하는 방화벽, NAT(Network Address Translation) 등의 네트워크 장비는 네트워크 자원의 효율적 이용을 위해 일정시간 동안 데이터 전송이 없는 클라이언트의 커넥션을 강제로 종료하도록 설정된 경우가 많이 있다. 클라이언트의 커넥션을 유지하는 네트워크 장비의 최대허용시간인 장비허용시간(TD) 이상으로 킵얼라이브 주기(TK)를 설정하게 되면, 매 킵얼라이브 주기마다 클라이언트의 통신망과의 커넥션이 종료되어 정상적인 킵얼라이브 메시지 전송이 어려워지는 문제가 있다.
예컨대, 도 5에 도시된 바와 같이 클라이언트(100)가 통신경로 1, 통신경로 2, 통신경로 3을 통해 서버허용시간(TS)이 300초인 서버(200)에 접속하는 경우를 가정하면, 통신경로 1의 경우는 중간에 개재하는 네트워크 장비(311)의 장비허용시간(TD)이 350초로 서버허용시간(TS) 이상이기 때문에 킵얼라이브 주기(TK)를 서버허용시간(TS)인 300초 또는 전송지연을 고려하여 서버허용시간(TS)에 다소 못미치는 정도로 설정할 수 있다.
그러나 통신경로 2 및 통신경로 3과 같이 장비허용시간(TD)이 서버허용시간(TS)에 못미치는 네트워크 장비(322,331)가 있는 경우는 서버허용시간(TS)인 300초로 킵얼라이브 주기(TK)를 설정하면 매 주기마다 네트워크 장비(322,331)에 의해 클라이언트(100)의 통신망 접속이 해제되는 문제가 발생한다.
특히 이동성이 보장되는 모바일 클라이언트(100)의 경우 접속위치에 따라 통신경로가 수시로 변화하고 이에 따라 통신경로 상에 존재하는 네트워크 장비의 장비허용시간(TD)도 다양하기 때문에 서버-클라이언트간 안정적인 킵얼라이브 통신을 위해서는 통신경로 상의 네트워크 장비들 중 가장 짧은 장비허용시간(TD)을 가지는 네트워크 장비의 장비허용시간(TD)을 기준으로 킵얼라이브 주기(TK)를 설정하여야 한다.
따라서 고정된 킵얼라이브 주기(TK)를 이용하는 종래의 킵얼라이브 통신 시스템에서는, 모든 경우에서 안정적인 킵얼라이브 통신이 가능하도록 설계하려면 접속이 가능한 모든 통신경로 중에서 가장 작은 장비허용시간(TD)을 가지는 네트워크 장비의 장비허용시간(TD)을 기준으로 킵얼라이브 주기(TK)를 설정하여야 하고, 도 5의 경우는 통신경로 2의 네트워크 장비(322)의 장비허용시간(TD)인 100초 또는 100초에 다소 못미치는 정도를 킵얼라이브 주기(TK)로 설정하여야만 모든 경우에서 안정적인 킵얼라이브 통신을 수행할 수 있다. 이로 인해 통신경로 1 및 3과 같이 보다 긴 킵얼라이브 주기(TK)를 설정할 수 있는 경우에도 불필요하게 잦은 킵얼라이브 메시지 전송으로 인해 통신망 부하가 증가하고 클라이언트 단말의 전력소모가 증가하는 문제가 있었다.
본 발명은 상기의 문제를 해결하기 위한 것으로, 본 발명에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 클라이언트가 현재 접속한 통신경로에서 최적의 킵얼라이브 주기를 탐색하여 결정함으로써 불필요하게 잦은 킵얼라이브 메시지 전송으로 인한 네트워크 과부하를 방지하고 클라이언트 단말의 전력소모를 줄이는 것을 목적으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 메시지의 정상전달 여부를 확인할 수 없는 프로토콜인 UDP/IP를 이용한 킵얼라이브 통신에 있어서 서버에 회신을 요구하는 회신요구 킵얼라이브 메시지를 전송하여 킵얼라이브 메시지 정상전달 여부를 판단하는 방법을 통해 최적의 킵얼라이브 주기를 결정하는 것을 다른 목적으로 한다.
본 발명의 다른 실시예에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 해당 이동통신 기반 데이터통신망의 통신장비가 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 킵얼라이브 주기를 조정함으로써 이동통신 기반 데이터통신망 접속시 최적 킵얼라이브 주기 탐색에 소요되는 시간을 저감하는 것을 다른 목적으로 한다.
본 발명에 따른 킵얼라이브 통신 시스템은, UDP/IP 프로토콜에 따른 킵얼라이브 메시지를 통신망을 통해 전송하는 클라이언트; 및 상기 클라이언트로부터의 상기 킵얼라이브 메시지 수신에 따라 상기 클라이언트를 온라인 상태로 유지하는 서버;로 구성되는 킵얼라이브 통신 시스템에 있어서, 상기 클라이언트는, 상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈; 상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈; 상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 조정하는 킵얼라이브 주기 조정모듈;을 포함하고, 상기 서버는, 상기 클라이언트로부터 상기 킵얼라이브 메시지를 수신하는 킵얼라이브 수신 모듈 및 상기 회신요구 킵얼라이브 메시지를 수신하는 경우 상기 클라이언트로 상기 회신 메시지를 전송하는 회신 전송모듈;을 포함하는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이 상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에 따라 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하는 경우 상기 킵얼라이브 주기를 증가시키는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 킵얼라이브 주기를 감소시키는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 클라이언트가, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 통신망에 재접속하고,킵얼라이브 주기 조정모듈은, 감소된 상기 킵얼라이브 주기로 유지시키는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이, 상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 시스템은, 상기 킵얼라이브 주기 조정모듈이 상기 회신요구 킵얼라이브 메시지의 전송주기는 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 한다.
본 발명에 따른 킵얼라이브 통신 클라이언트는, 온라인 상태를 유지하기 위해 UDP/IP 프로토콜에 따른 킵얼라이브 메시지를 통신망을 통해 서버로 전송하는 클라이언트에 있어서, 상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈; 상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈; 상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 및 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지를 수신한 경우는 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 증가시키고 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지를 수신하지 못하는 경우는 상기 킵얼라이브 주기를 감소시키는 것을 특징으로 하는 킵얼라이브 주기 조정모듈;을 포함하는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 클라이언트는, 상기 킵얼라이브 주기 조정모듈이, 상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 클라이언트는, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 통신망에 재접속하고, 상기 킵얼라이브 주기 조정모듈은, 감소된 상기 킵얼라이브 주기로 유지시키는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 클라이언트는, 상기 킵얼라이브 주기 조정모듈이 상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신 클라이언트는, 상기 킵얼라이브 주기 조정모듈이 상기 회신요구 킵얼라이브 메시지의 전송주기는 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 한다.
본 발명에 따른 킵얼라이브 통신방법은, 클라이언트가 UDP/IP 프로토콜에 따라 킵얼라이브 메시지를 서버에게 전송하고 상기 서버는 상기 킵얼라이브 메시지를 전송한 상기 클라이언트를 온라인 상태로 유지하는 킵얼라이브 통신방법에 있어서,
상기 클라이언트가 통신망을 통해 상기 서버에 접속하는 제 1 단계; 상기 클라이언트가 상기 서버에 킵얼라이브 주기에 따라 상기 킵얼라이브 메시지를 전송하는 제 2 단계; 상기 서버가 상기 킵얼라이브 메시지를 수신하되 상기 킵얼라이브 메시지가 회신 메시지를 요구하는 회신요구 킵얼라이브 메시지인 경우 상기 클라이언트로 상기 회신 메시지를 송신하고 상기 킵얼라이브 메시지가 회신 메시지를 요구하지 않는 회신비요구 킵얼라이브 메시지인 경우 제 2 단계로 복귀하는 제 3 단계; 상기 클라이언트가 상기 킵얼라이브 메시지로 상기 회신요구 킵얼라이브 메시지를 전송하고 상기 회신요구 킵얼라이브 메시지에 따라 상기 서버로부터 상기 회신 메시지를 수신하는 경우 상기 킵얼라이브 주기를 증가시키고 제 2 단계로 복귀하는 제 4 단계; 및 상기 클라이언트가 상기 킵얼라이브 메시지로 상기 회신요구 킵얼라이브 메시지를 전송하고 상기 회신요구 킵얼라이브 메시지에 따라 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 킵얼라이브 주기를 감소시키고 제 2 단계로 복귀하는 제 5 단계;를 포함하여 구성되는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신방법은,제 4 단계가 상기 서버가 상기 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 증가시키는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신방법은, 상기 제 3 단계가, 상기 서버가 상기 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 적어도 한 번의 상기 회신요구 킵얼라이브 메시지를 상기 킵얼라이브 메시지로서 전송하고, 상기 회신요구 킵얼라이브 메시지를 보내지 않는 경우는 상기 서버에게 상기 회신 메시지를 요구하지 않는 회신비요구 킵얼라이브 메시지를 상기 킵얼라이브 메시지로 전송하는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신방법은, 상기 제 5 단계가, 상기 클라이언트가 상기 통신망에 재접속한 후 상기 제 2 단계로 복귀하는 것을 특징으로 한다.
본 발명의 실시예에 따른 킵얼라이브 통신방법은, 상기 제 2 단계가 상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 한다.
마지막으로, 본 발명의 실시예에 따른 킵얼라이브 통신방법은, 상기 제 4 단계 및 상기 제 5 단계에서 상기 클라이언트가 상기 회신요구 킵얼라이브 메시지의 전송주기는 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 한다.
본 발명은 상기의 문제를 해결하기 위한 것으로, 본 발명에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 클라이언트가 현재 접속한 통신경로에서 최적의 킵얼라이브 주기를 탐색하여 결정함으로써 불필요하게 잦은 킵얼라이브 메시지 전송으로 인한 네트워크 과부하를 방지하고 클라이언트 단말의 전력소모를 줄이는 효과를 제공한다.
본 발명의 실시예에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 메시지의 정상전달 여부를 확인할 수 없는 프로토콜인 UDP/IP를 이용한 킵얼라이브 통신에 있어서 서버에 회신을 요구하는 회신요구 킵얼라이브 메시지를 전송하여 킵얼라이브 메시지 정상전달 여부를 판단하는 방법을 통해 최적의 킵얼라이브 주기를 결정하는 효과를 제공한다.
본 발명의 다른 실시예에 따른 킵얼라이브 통신 시스템, 클라이언트 및 통신방법은, 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 해당 이동통신 기반 데이터통신망의 통신장비가 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 킵얼라이브 주기를 조정함으로써 이동통신 기반 데이터통신망 접속시 최적 킵얼라이브 주기 탐색에 소요되는 시간을 저감하는 효과를 제공한다.
도 1은 회신비요구 킵얼라이브 메시지 송수신하는 킵얼라이브 통신 시스템의 구성도.
도 2는 회신요구 킵얼라이브 메시지 송수신하는 킵얼라이브 통신 시스템의 구성도.
도 3은 본 발명의 실시예에 따른 클라이언트의 상세 구성도.
도 4는 본 발명의 실시예에 따른 서버의 상세 구성도.
도 5는 본 발명의 실시예에 따른 킵얼라이브 통신 시스템의 네트워크 구성예를 도시하는 구성도.
도 6은 본 발명의 실시예에 따른 킵얼라이브 통신 시스템의 킵얼라이브 메시지의 전송 타이밍도.
도 7은 본 발명의 실시예에 따른 킵얼라이브 통신방법의 흐름도.
도 2는 본 발명에 따른 킵얼라이브 통신 시스템을 도시한다. 본 발명에 따른 킵얼라이브 통신 시스템은 클라이언트(100)와 서버(200)를 포함하여 구성된다.
클라이언트(100)는 UDP/IP 프로토콜을 통해 킵얼라이브 메시지(keep-alive_msg)를 서버(200)로 전송하는 기능을 수행하며, 통상의 이동통신 단말, 스마트폰, 노트북 PC, 태블릿 PC와 같은 사용자 단말기일 수 있다.
서버(200)는, 킵얼라이브 메시지(keep-alive_msg)를 포함한 메시지를 지속적으로 전송하는 클라이언트(100)는 온라인 상태로 관리하고, 일정 시간 동안 킵얼라이브 메시지(keep-alive_msg)를 포함한 어떠한 메시지도 전송하지 않은 클라이언트(100)는 오프라인 상태로 관리하는 기능을 수행한다. 이러한 서버(200)로는 클라이언트(100)의 온라인 상태를 통신망을 통해 지속적으로 확인하고 클라이언트(100)들의 온라인 상태를 다른 사용자 클라이언트(100)에게 제공하는 메신저 서버를 예를 들 수 있다.
도 3은 본 발명에 따른 클라이언트(100)의 상세구성을 도시한다. 클라이언트(100)는 회신요구 킵얼라이브 전송모듈(110), 회신비요구 킵얼라이브 전송모듈(120), 킵얼라이브 주기 조정모듈(130), 및 회신 수신모듈(150)을 포함하여 구성된다.
회신요구 킵얼라이브 전송모듈(110)은 서버(200)에게 회신 메시지(ack_msg)를 요구하는 킵얼라이브 메시지(keep-alive_msg)인 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송하는 기능을 수행한다.
반면 회신비요구 킵얼라이브 전송모듈(120)은 서버(200)에게 회신 메시지(ack_msg)를 요구하지 않는 킵얼라이브 메시지(keep-alive_msg)인 회신비요구 킵얼라이브 메시지(non_ackable_keep-alive_msg)를 전송하는 기능을 수행한다.
그런데 킵얼라이브 통신은 주로 각 클라이언트(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)를 전송할 것을 요구한다.
다음으로, 회신 수신모듈(150)은, 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 수신한 서버(200)가 전송한 회신 메시지(ack_msg)를 수신하는 기능을 수행하고, 킵얼라이브 주기 조정모듈(140)은 회신요구 킵얼라이브 메세지(ackable_keep-alive_msg)전송에 따른 회신 메시지(ack_msg) 수신 여부에 따라 킵얼라이브 메시지(keep-alive_msg)의 킵얼라이브 주기(TK)를 조정하는 기능을 수행한다.
서버(200)는 클라이언트(100)로부터 킵얼라이브 메시지(keep-alive_msg)를 수신하는 킵얼라이브 수신 모듈(210) 및 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 수신하는 경우 클라이언트(100)로 회신 메시지(ack_msg)를 전송하는 회신 전송모듈(220)을 포함하여 구성된다.
이러한 구성에 의하여 본 발명에 따른 킵얼라이브 통신 시스템의 클라이언트(100)는 자신이 속한 통신망의 네트환경 환경에서의 최적의 킵얼라이브 주기(TK)를 탐색하여 이를 적용하는 효과를 제공한다.
이하에서는, 도 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)의 온라인 상태를 유지한다.
클라이언트(100)는 초기 킵얼라이브 주기(TK)로서 50초가 설정되어 있고, 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)에 따른 회신 메시지(ack_msg)를 수신한 경우 킵얼라이브 주기 조정모듈(130)은 킵얼라이브 주기(TK)를 50초씩 증가시킨다고 가정한다.
서버(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)를 적절하게 혼합하여 전송하는 것이 바람직하다.
도 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)를 전송한다.
먼저, 클라이언트(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초로 변경한다.
이후 도 6(c) 내지 도 6(f)에 도시된 바와 같이 킵얼라이브 주기(TK)가 50초씩 증가하는 과정을 거쳐 서버(200)의 서버허용시간(TS)인 300초에 이르게 된다. 이때 킵얼라이브 주기(TK)가 서버허용시간(TS) 이상으로 커지게 되면 서버(200)는 서버허용시간(TS) 내에 메시지가 없는 것으로 인식하여 온라인 상태인 해당 클라이언트(100)를 오프라인 상태로 오인식하는 문제가 발생할 수 있다. 이러한 문제를 방지하기 위해 킵얼라이브 주기 조정모듈(130)은 서버허용시간(TS)의 범위에서 상기 킵얼라이브 주기(TK)를 조정하도록 구성한다.
다음으로, 통신경로 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)를 유지하는 것이 바람직하다.
통신경로 3은 네트워크 장비의 최소 장비허용시간(TD)이 200초인 경우로 통신경로 2의 경우와 동일한 방법으로 최적 킵얼라이브 주기(TK)를 결정한다. 킵얼라이브 주기(TK)는 250초까지 증가하였다가 네트워크 장비에 의한 접속해제로 클라이언트(100)는 회신 메시지(ack_msg)를 수신하지 못하게 되어 킵얼라이브 주기(TK)를 200초로 다시 감소시킨다.
이러한 방법을 통해 UDP/IP 프로토콜을 이용하는 킵얼라이브 통신에 있어서, 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg) 및 이에 따른 회신 메시지(ack_msg)를 이용하여 서버(200)의 킵얼라이브 메시지(keep-alive_msg) 수신여부를 클라이언트(100)가 확인하여 수신여부에 따라 킵얼라이브 주기(TK)를 조정하는 방법으로 최적의 킵얼라이브 주기(TK)를 탐색할 수 있는 효과를 제공한다.
다른 실시예에 따르면 킵얼라이브 주기 조정모듈(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)의 전송주기만 변화한다.
한편, 스마트폰과 같은 클라이언트(100)는 WiFi 무선 LAN과 같은 일반 인터넷을 통해 서버(200)에 접속할 수도 있고, WCDMA, LTE(Long Term Evolution) 등과 같이 이동통신 사업자가 제공하는 데이터통신망을 통해 서버(200)에 접속할 수 있다. 이동통신 기반 데이터통신망은 동일통신장비를 이용하여 광범위한 지역에 서비스를 제공한다. 따라서 이동통신 기반 데이터통신망은 언제 어디서나 동일한 장비허용시간(TD)을 가진다. 이러한 이동통신 기반 데이터통신망의 장비허용시간(TD)을 데이터통신망 장비허용시간(TDD)이라고 하면, 이동통신 기반 데이터통신망에 접속하여 킵얼라이브 메시지(keep-alive_msg)를 전송하는 클라이언트(100)는 전술한 최적 킵얼라이브 주기(TK)를 탐색하는 과정 없이 바로 데이터통신망 장비허용시간(TDD)을 킵얼라이브 주기(TK)로 적용하는 것이 바람직하다.
데이터통신망 접속시 데이터통신망으로부터 수신한 MCC(Mobile Country Code) 및 MNC(Mobile Network Code)를 통해 클라이언트(100)는 자신이 접속한 데이터통신망을 식별이 가능하다. 클라이언트(100)가 데이터통신망의 데이터통신망 장비허용시간(TDD)에 관한 정보를 얻는 방법은 다양하게 구현할 수 있다. 예컨데 데이터통신망 또는 서버(200)가 클라이언트(100)에게 데이터통신망 장비허용시간(TDD)을 직접 알려주거나, 클라이언트(100)가 해당 데이터통신망에 접속하였을 때 탐색한 최적 킵얼라이브 주기(TK)를 저장하였다가 추후 접속시 별도의 탐색작업 없이 저장된 최적 킵얼라이브 주기(TK)를 다시 적용하는 방법으로 구현할 수 있다.
A 이동통신 사업자가 제공하는 이동통신 기반 데이터통신망의 데이터통신망 장비허용시간(TDD)이 150초이고 B 이동통신 사업자가 제공하는 이동통신 기반 데이터통신망의 데이터통신망 장비허용시간(TD)이 350초인 경우, 클라이언트(100)가 A 이동통신 사업자의 데이터통신망에 접속한 경우 킵얼라이브 주기 조정모듈(130)은 바로 150초를 킵얼라이브 주기(TK)로 적용하고, B 이통통신 사업자의 데이터통신망에 접속한 경우 킵얼라이브 주기 조정모듈(130)은 데이터통신망 장비허용시간(TD)이 서버허용시간(TS) 보다 길기 때문에 서버허용시간(TS)인 300초를 킵얼라이브 주기(TK)로 적용하도록 구성할 수 있다.
도 7은 본 발명의 실시예에 따른 킵얼라이브 통신방법을 도시한다. 본 발명에 따른 킵얼라이브 통신방업에 따르면 먼저 클라이언트(100)가 통신망을 통해 서버(200)에 접속하는 제 1 단계(S10)를 수행한다. 예컨데 클라이언트(100)가 메신저 프로그램이 탑재된 스마트폰인 경우 스마트폰의 전원인가에 따라 메신저 프로그램이 메신저 서버에 자동으로 접속하거나 사용자의 해당 메신저 프로그램을 통한 로그인에 따라 메신저 서버에 접속하는 방법으로 제 1 단계(S10)를 구현할 수 있다.
다음으로, 클라이언트(100)가 서버(200)에 킵얼라이브 주기(TK)에 따라 킵얼라이브 메시지(keep-alive_msg)를 전송하는 제 2 단계(S20)를 수행한다. 메신저 프로그램이 탑재된 스마트폰의 경우 사용자의 입력이 없어서 아이들 모드에 들어간 경우라도 UDP/IP 프로토콜에 따라 킵얼라이브 메시지(keep-alive_msg)를 지속적으로 서버(200)로 송신하게 된다.
이때 클라이언트(100)가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 이동통신 기반 데이터통신망의 통신장비가 킵얼라이브 메시지(keep-alive_msg)를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트(100)의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간(TDD)으로 킵얼라이브 주기(TK)를 조정하도록 구성하는 것이 바람직하다. 이러한 실시예에 따르면 이동통신 기반 데이터통신망에 접속하여 킵얼라이브 메시지(keep-alive_msg)를 전송하는 경우 별도의 최적 킵얼라이브 주기(TK)를 탐색하는 절차없이 신속하게 데이터통신망에 최적화된 킵얼라이브 주기(TK)를 신속하게 적용할 수 있는 효과를 제공한다.
다음으로, 서버(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 메시지로 구성된다.
이때 회신요구 킵얼라이브 메시지(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)로 전송하도록 구성하는 것이 바람직하다.
다음으로, 클라이언트(100)가 킵얼라이브 메시지(keep-alive_msg)로 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)를 전송하고 회신요구 킵얼라이브 메시지(ackable_keep-alive_msg)에 따라 서버(200)로부터 회신 메시지(ack_msg)를 수신하는 경우 킵얼라이브 주기(TK)를 증가시키고 제 2 단계(S20)로 복귀하는 제 4 단계(S40)를 수행한다.
이때 제 4 단계(S40)에서 서버제한시간 이상으로 킵얼라이브 주기(TK)가 설정되는 것을 방지하기 위해, 서버(200)가 킵얼라이브 메시지(keep-alive_msg)를 포함한 메시지의 수신이 없는 상기 클라이언트(100)를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간(TS)의 범위에서 킵얼라이브 주기(TK)를 증가시키도록 구성한다.
마지막으로, 클라이언트(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)는 통신망에 재접속하는 것이 바람직하다.
100 : 클라이언트
110 : 회신요구 킵얼라이브 전송모듈
120 : 회신비요구 킵얼라이브 전송모듈
130 : 킵얼라이브 주기 조정모듈
150 : 회신 수신모듈 200 : 서버

Claims (18)

  1. UDP/IP 프로토콜에 따른 킵얼라이브 메시지를 통신망을 통해 전송하는 클라이언트; 및
    상기 클라이언트로부터의 상기 킵얼라이브 메시지 수신에 따라 상기 클라이언트를 온라인 상태로 유지하는 서버;로 구성되는 킵얼라이브 통신 시스템에 있어서,
    상기 클라이언트는, 상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈; 상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈; 상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 조정하는 킵얼라이브 주기 조정모듈;을 포함하고,
    상기 서버는, 상기 클라이언트로부터 상기 킵얼라이브 메시지를 수신하는 킵얼라이브 수신 모듈 및 상기 회신요구 킵얼라이브 메시지를 수신하는 경우 상기 클라이언트로 상기 회신 메시지를 전송하는 회신 전송모듈;을 포함하는 것을 특징으로 하는 킵얼라이브 통신 시스템.
  2. 제 1 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
    상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신 시스템.
  3. 제 2 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
    상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에 따라 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하는 경우 상기 킵얼라이브 주기를 증가시키는 것을 특징으로 하는 킵얼라이브 통신 시스템.
  4. 제 3 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
    상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 킵얼라이브 주기를 감소시키는 것을 특징으로 하는 킵얼라이브 통신 시스템.
  5. 제 4 항에 있어서,
    상기 클라이언트는, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 통신망에 재접속하고,
    상기 킵얼라이브 주기 조정모듈은, 감소된 상기 킵얼라이브 주기로 유지시키는 것을 특징으로 하는 킵얼라이브 통신 시스템.
  6. 제 1 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
    상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신 시스템.
  7. 제 2 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
    상기 회신요구 킵얼라이브 메시지의 전송주기를 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 하는 킵얼라이브 통신 시스템.
  8. 온라인 상태를 유지하기 위해 UDP/IP 프로토콜에 따른 킵얼라이브 메시지를 통신망을 통해 서버로 전송하는 클라이언트에 있어서,
    상기 서버에게 회신 메시지를 요구하는 킵얼라이브 메시지인 회신요구 킵얼라이브 메시지를 전송하는 회신요구 킵얼라이브 전송모듈;
    상기 서버에게 상기 회신 메시지를 요구하지 않는 킵얼라이브 메시지인 회신비요구 킵얼라이브 메시지를 전송하는 회신비요구 킵얼라이브 전송모듈;
    상기 서버로부터 상기 회신 메시지를 수신하는 회신 수신모듈; 및
    상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지를 수신한 경우는 상기 킵얼라이브 메시지의 전송주기인 킵얼라이브 주기를 증가시키고 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지를 수신하지 못하는 경우는 상기 킵얼라이브 주기를 감소시키는 것을 특징으로 하는 킵얼라이브 주기 조정모듈;을 포함하는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
  9. 제 8 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
    상기 서버가 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
  10. 제 9 항에 있어서,
    상기 클라이언트는, 상기 회신요구 킵얼라이브 전송모듈의 상기 회신요구 킵얼라이브 메시지 송신에도 불구하고 상기 회신 수신모듈이 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 통신망에 재접속하고,
    상기 킵얼라이브 주기 조정모듈은, 감소된 상기 킵얼라이브 주기로 유지시키는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
  11. 제 8 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
    상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
  12. 제 9 항에 있어서, 상기 킵얼라이브 주기 조정모듈은,
    상기 회신요구 킵얼라이브 메시지의 전송주기를 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 하는 킵얼라이브 통신 클라이언트.
  13. 클라이언트가 UDP/IP 프로토콜에 따른 킵얼라이브 메시지를 서버에게 전송하고, 상기 서버는 상기 킵얼라이브 메시지를 전송한 상기 클라이언트를 온라인 상태로 유지하는 킵얼라이브 통신방법에 있어서,
    상기 클라이언트가 통신망을 통해 상기 서버에 접속하는 제 1 단계;
    상기 클라이언트가 상기 서버에 킵얼라이브 주기에 따라 상기 킵얼라이브 메시지를 전송하는 제 2 단계;
    상기 서버가 상기 킵얼라이브 메시지를 수신하되 상기 킵얼라이브 메시지가 회신 메시지를 요구하는 회신요구 킵얼라이브 메시지인 경우 상기 클라이언트로 상기 회신 메시지를 송신하고 상기 킵얼라이브 메시지가 회신 메시지를 요구하지 않는 회신비요구 킵얼라이브 메시지인 경우 제 2 단계로 복귀하는 제 3 단계;
    상기 클라이언트가 상기 킵얼라이브 메시지로 상기 회신요구 킵얼라이브 메시지를 전송하고 상기 회신요구 킵얼라이브 메시지에 따라 상기 서버로부터 상기 회신 메시지를 수신하는 경우 상기 킵얼라이브 주기를 증가시키고 제 2 단계로 복귀하는 제 4 단계; 및
    상기 클라이언트가 상기 킵얼라이브 메시지로 상기 회신요구 킵얼라이브 메시지를 전송하고 상기 회신요구 킵얼라이브 메시지에 따라 상기 서버로부터 상기 회신 메시지를 수신하지 못하는 경우 상기 킵얼라이브 주기를 감소시키고 제 2 단계로 복귀하는 제 5 단계;를 포함하여 구성되는 것을 특징으로 하는 킵얼라이브 통신방법.
  14. 제 13 항에 있어서, 상기 제 4 단계는,
    상기 서버가 상기 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 상기 킵얼라이브 주기를 증가시키는 것을 특징으로 하는 킵얼라이브 통신방법.
  15. 제 13 항에 있어서, 상기 제 3 단계는,
    상기 서버가 상기 킵얼라이브 메시지를 포함한 메시지의 수신이 없는 상기 클라이언트를 온라인 상태로 유지하는 최대 허용시간인 서버허용시간의 범위에서 적어도 한 번의 상기 회신요구 킵얼라이브 메시지를 상기 킵얼라이브 메시지로서 전송하고, 상기 회신요구 킵얼라이브 메시지를 보내지 않는 경우는 상기 서버에게 상기 회신 메시지를 요구하지 않는 회신비요구 킵얼라이브 메시지를 상기 킵얼라이브 메시지로 전송하는 것을 특징으로 하는 킵얼라이브 통신방법.
  16. 제 13 항에 있어서, 상기 제 5 단계는,
    상기 클라이언트가 상기 통신망에 재접속한 후 상기 제 2 단계로 복귀하는 것을 특징으로 하는 킵얼라이브 통신방법.
  17. 제 13 항에 있어서, 상기 제 2 단계는,
    상기 클라이언트가 이동통신망 사업자가 제공하는 이동통신 기반 데이터통신망에 접속하는 경우 상기 이동통신 기반 데이터통신망의 통신장비가 상기 킵얼라이브 메시지를 포함한 어떠한 메시지도 송신하지 않는 상기 클라이언트의 통신망 접속을 유지하는 최대시간인 데이터통신망 장비허용시간으로 상기 킵얼라이브 주기를 조정하는 것을 특징으로 하는 킵얼라이브 통신방법.
  18. 제 14 항에 있어서, 상기 제 4 단계 및 상기 제 5 단계는,
    상기 클라이언트가 상기 회신요구 킵얼라이브 메시지의 전송주기를 상기 서버허용시간으로 고정하고, 상기 회신요구 킵얼라이브 메시지 전송에 따른 상기 회신 메시지 수신 여부에 따라 상기 회신비요구 킵얼라이브 메시지의 전송주기를 제어하는 것을 특징으로 하는 킵얼라이브 통신방법.
KR1020110066147A 2011-07-04 2011-07-04 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법 KR101224557B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110066147A KR101224557B1 (ko) 2011-07-04 2011-07-04 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110066147A KR101224557B1 (ko) 2011-07-04 2011-07-04 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법

Publications (2)

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

Family

ID=47836343

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110066147A KR101224557B1 (ko) 2011-07-04 2011-07-04 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법

Country Status (1)

Country Link
KR (1) KR101224557B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150000033A (ko) 2013-06-20 2015-01-02 이현옥 유무선 웹 기반의 채팅시스템 및 그 방법

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104427597B (zh) 2013-09-04 2019-09-13 南京中兴新软件有限责任公司 无线局域网终端保持一直在线的系统及方法、服务器
KR20220015095A (ko) 2020-07-30 2022-02-08 심재린 Uv 광원을 이용한 선박 밸러스트수 처리장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100246566B1 (ko) 1996-12-02 2000-04-01 김영환 이동통신 시스템에서의 단말기의 등록주기 가변방법
JP2001274761A (ja) 2000-03-28 2001-10-05 Nec Corp Tdma送信タイミング設定方式
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100246566B1 (ko) 1996-12-02 2000-04-01 김영환 이동통신 시스템에서의 단말기의 등록주기 가변방법
JP2001274761A (ja) 2000-03-28 2001-10-05 Nec Corp Tdma送信タイミング設定方式
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 (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150000033A (ko) 2013-06-20 2015-01-02 이현옥 유무선 웹 기반의 채팅시스템 및 그 방법

Also Published As

Publication number Publication date
KR20130004848A (ko) 2013-01-14

Similar Documents

Publication Publication Date Title
US9148765B2 (en) Push service without persistent TCP connection in a mobile network
US9332583B2 (en) Multipoint communication device and method of performing switching from multipoint communication to point-to-point communication
KR102151031B1 (ko) 저전력 단말의 통신 효과를 높이는 방법 및 장치
KR102132266B1 (ko) 데이터 스트리밍에 대한 보조의 노드 타입 기반 제어
EP2627056A1 (en) Method, gateway, proxy and system for implementing mobile internet services
US20150304201A1 (en) Delivery device, communication system, load balancing method, and load balancing program
CN105262836A (zh) 服务器推送信息的方法及客户端接收推送信息的方法
US10827538B2 (en) User equipment idle state processing method and device
US8914049B2 (en) Method for managing a status of a mobile station in a wireless network
US9642048B2 (en) Mechanism to handle UE assistance information upon handover
CN106471847B (zh) 用于在无线电接入网络之间传送数据通信会话的方法和设备
KR101224557B1 (ko) 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법
US11368909B2 (en) Data transmission method and apparatus
EP3314970B1 (en) Method and apparatus for managing uplink traffic from a client device in a communication network
US11997547B2 (en) Mobility management in information centric networking
JP2014146876A (ja) メッセージ配信システムおよびメッセージ配信方法
RU2625565C1 (ru) Способ и устройство для управления сеансовым каналом связи, а также машиночитаемый носитель данных
US9882682B2 (en) Message distributing system, message distributing apparatus, message distributing method and message distributing program
EP3496468B1 (en) Network entity for creating a transmission session via a network system, roaming firewall, network system, method and computer program product
KR101256801B1 (ko) 킵얼라이브 통신 시스템 및 통신방법
US9397879B2 (en) System, apparatus and method for address management in a distributed mobile core network
US11956328B1 (en) Avoiding stuck subscriber sessions on a disaggregated broadband network gateway
KR102494912B1 (ko) 통신 네트워크에서 단말들 간의 연결을 제어하는 방법 및 장치
JP5661579B2 (ja) 無線端末の消費電力を低減させる通信制御方法及びシステム
KR20130023971A (ko) 트래픽 제어 게이트웨이 및 이를 이용한 트래픽 제어 방법

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