KR101346077B1 - Push client and method for pushing sevice using the same - Google Patents

Push client and method for pushing sevice using the same Download PDF

Info

Publication number
KR101346077B1
KR101346077B1 KR1020120056096A KR20120056096A KR101346077B1 KR 101346077 B1 KR101346077 B1 KR 101346077B1 KR 1020120056096 A KR1020120056096 A KR 1020120056096A KR 20120056096 A KR20120056096 A KR 20120056096A KR 101346077 B1 KR101346077 B1 KR 101346077B1
Authority
KR
South Korea
Prior art keywords
connection
transmission period
push
push server
optimal transmission
Prior art date
Application number
KR1020120056096A
Other languages
Korean (ko)
Other versions
KR20130132034A (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 KR1020120056096A priority Critical patent/KR101346077B1/en
Publication of KR20130132034A publication Critical patent/KR20130132034A/en
Application granted granted Critical
Publication of KR101346077B1 publication Critical patent/KR101346077B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • H04W4/10Push-to-Talk [PTT] or Push-On-Call services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0247Traffic management, e.g. flow control or congestion control based on conditions of the access network or the infrastructure network
    • 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

푸쉬 클라이언트 및 이를 이용한 푸쉬 서비스 방법이 개시된다. 본 발명의 일 실시예에 따른 푸쉬 클라이언트는, 푸쉬 서버로의 접속 유지를 위한 제1 접속 유지 패킷의 최적 전송 주기를 측정하는 제1 접속부, 및 상기 제1 접속부가 상기 최적 전송 주기를 측정하는 동안 상기 푸쉬 서버로 제2 접속 유지 패킷을 주기적으로 전송하여 상기 푸쉬 서버와 접속을 유지하는 제2 접속부를 포함한다.A push client and a push service method using the same are disclosed. According to an embodiment of the present invention, a push client includes a first connection unit for measuring an optimal transmission period of a first connection maintenance packet for maintaining connection to a push server, and the first connection unit while the first connection unit measures the optimal transmission period. And a second connection unit periodically transmitting a second connection maintenance packet to the push server to maintain a connection with the push server.

Figure R1020120056096
Figure R1020120056096

Description

푸쉬 클라이언트 및 이를 이용한 푸쉬 서비스 방법{PUSH CLIENT AND METHOD FOR PUSHING SEVICE USING THE SAME}Push client and push service method using same {PUSH CLIENT AND METHOD FOR PUSHING SEVICE USING THE SAME}

본 발명의 실시예는 푸쉬 기술에 관한 것으로서, 보다 상세하게는 푸쉬 클라이언트 및 이를 이용한 푸쉬 서비스 방법에 관한 것이다.
An embodiment of the present invention relates to a push technology, and more particularly, to a push client and a push service method using the same.

일반적으로, 모바일 통신 환경에서는 메시지를 푸쉬(Push)하기 위해 APNS(Apple Push Notification service) 또는 C2DM(Cloud to Device Message)과 같은 푸쉬 서비스를 사용한다. 이러한 푸쉬 서비스를 이용하기 위해서는 푸쉬 클라이언트와 푸쉬 서버가 접속(예를 들어, TCP 접속)을 유지하고 있어야 한다. 이때, 푸쉬 클라이언트는 푸쉬 서버와 TCP 접속을 생성한 후, 생성한 TCP 세션(Session)을 이용해 푸쉬 서버와 주기적으로 통신을 수행해야 한다. 예를 들어, 푸쉬 클라이언트는 푸쉬 서버와 TCP 접속을 생성한 후, 푸쉬 서버로 핑(Ping) 메시지를 주기적으로 전송하고 그에 대한 응답을 수신하여 푸쉬 서버와의 접속을 유지하게 된다.In general, in a mobile communication environment, a push service such as an Apple Push Notification service (APNS) or a Cloud to Device Message (C2DM) is used to push a message. In order to use this push service, the push client and the push server must maintain a connection (eg, a TCP connection). At this time, the push client must establish a TCP connection with the push server and then periodically communicate with the push server using the created TCP session. For example, the push client establishes a TCP connection with the push server, and then periodically sends a ping message to the push server and receives a response to maintain the connection with the push server.

그런데, 대부분의 네트워크에서는 해당 네트워크에서 설정된 타임 아웃 시간 내에 TCP 접속을 통해 핑 메시지가 전송되지 않으면 TCP 접속을 종료시키는 정책을 사용하고 있다. 이때, 각 네트워크 마다 기 설정된 타임 아웃 시간이 다르기 때문에, 푸쉬 클라이언트의 입장에서는 TCP 접속을 안정적으로 유지하려면, 푸쉬 클라이언트가 핑 메시지를 짧은 주기로 전송하여야 한다.However, most networks use a policy of terminating a TCP connection if a ping message is not transmitted through the TCP connection within a timeout period set in the network. At this time, since the preset timeout time is different for each network, the push client must transmit the ping message in a short period in order to maintain the TCP connection stably.

그런데, 푸쉬 클라이언트가 핑 메시지를 짧은 주기로 푸쉬 서버로 전송하면, 푸쉬 클라이언트의 배터리 소비량 및 네트워크 패킷 소비가 늘어난다는 문제점이 있다. 따라서, 푸쉬 클라이언트와 푸쉬 서버 간의 접속을 유지하면서 푸쉬 클라이언트의 모바일 단말기의 배터리 소비량 및 네트워크 패킷 소비를 최소화하기 위한 방안이 요구된다.However, when the push client transmits the ping message to the push server in a short cycle, there is a problem that the battery consumption and network packet consumption of the push client are increased. Accordingly, there is a need for a method for minimizing battery consumption and network packet consumption of a mobile terminal of a push client while maintaining a connection between the push client and the push server.

이에 종래의 푸쉬 서비스는 푸쉬 클라이언트가 푸쉬 서버와 접속을 생성한 상태에서 접속을 유지하기 위한 핑(Ping) 메시지의 전송 주기를 일정 시간마다 늘여가면서 최적의 핑 메시지 전송 주기(즉, 최장의 핑 메시지 전송 주기)를 파악하는 방법을 사용하였다. 예를 들어, 종래의 푸쉬 서비스는 핑 메시지의 전송 주기를 일정 시간마다 30초, 1분, 1분 30초와 같이 30초씩 늘려가면서 최적의 핑 메시지 전송 주기를 파악하는 방법을 사용하였다.Accordingly, the conventional push service increases the transmission period of a ping message for maintaining a connection with a push client at a predetermined time while the push client creates a connection with the push server. Transmission cycle). For example, the conventional push service uses a method of identifying an optimal ping message transmission period by increasing the ping message transmission period by 30 seconds, such as 30 seconds, 1 minute, 1 minute 30 seconds, and the like.

그러나, 종래의 푸쉬 서비스에 의하면 알고리즘의 특성 상 어느 시점에서는 푸쉬 클라이언트와 푸쉬 서버와의 접속이 종료되게 된다는 문제점이 있다. 예를 들어, 푸쉬 클라이언트가 푸쉬 서버와 TCP 접속을 생성한 후 핑 메시지의 전송 주기를 일정 시간마다 30초, 1분, 1분 30초와 같이 30초씩 늘려가면서 최적의 핑 메시지 전송 주기를 파악한다고 하고, 푸쉬 서버의 타임 아웃 시간이 1분 10초로 설정되어 있다고 가정하자.However, according to the conventional push service, there is a problem that the connection between the push client and the push server is terminated at some point due to the characteristics of the algorithm. For example, a push client establishes a TCP connection with a push server and then increases the ping message transmission interval by 30 seconds, such as 30 seconds, 1 minute, 1 minute 30 seconds, and so on to determine the optimal ping message transmission period. Suppose, the timeout time of the push server is set to 1 minute 10 seconds.

그러면, 푸쉬 클라이언트가 핑 메시지의 전송 주기를 1분 30초로 늘려서 전송하려고 하기 20초 전에 이미 네트워크는 푸쉬 서버와 푸쉬 클라이언트 간의 접속을 종료시키게 된다. 이때, 푸쉬 클라이언트는 전송 주기가 1분 30초인 핑 메시지를 전송하고 나서야 비로소 푸쉬 서버와의 접속이 종료된 사실을 알게 된다.The network then terminates the connection between the push server and the push client 20 seconds before the push client attempts to transmit the ping message by increasing it to 1 minute 30 seconds. At this time, the push client does not know that the connection to the push server is terminated until the ping message having a transmission period of 1 minute 30 seconds is completed.

이와 같이, 종래의 푸쉬 서비스에 의하면 푸쉬 클라이언트가 푸쉬 서버와의 접속이 종료된 사실을 인식하지 못하는 시간 구간이 발생하게 되며, 이 경우 푸쉬 클라이언트로 푸쉬 서비스가 이루어지지 못하므로, 실시간으로 메시지 푸쉬가 필요한 서비스(예를 들어, VoIP)에는 적용하기 어렵다는 문제점이 있다.
As described above, according to the conventional push service, a time interval in which the push client does not recognize the fact that the connection with the push server is terminated occurs. There is a problem that it is difficult to apply to a required service (for example, VoIP).

본 발명의 실시예는 최적의 패킷 전송 주기를 측정하면서 푸쉬 서버와 접속을 항상 유지할 수 있는 푸쉬 클라이언트 및 이를 이용한 푸쉬 서비스 방법을 제공하고자 한다.
An embodiment of the present invention is to provide a push client that can always maintain a connection with a push server while measuring an optimal packet transmission period and a push service method using the same.

본 발명의 일 실시예에 따른 푸쉬 클라이언트는, 푸쉬 서버로의 접속 유지를 위한 제1 접속 유지 패킷의 최적 전송 주기를 측정하는 제1 접속부, 및 상기 제1 접속부가 상기 최적 전송 주기를 측정하는 동안 상기 푸쉬 서버로 제2 접속 유지 패킷을 주기적으로 전송하여 상기 푸쉬 서버와 접속을 유지하는 제2 접속부를 포함한다.According to an embodiment of the present invention, a push client includes a first connection unit for measuring an optimal transmission period of a first connection maintenance packet for maintaining connection to a push server, and the first connection unit while the first connection unit measures the optimal transmission period. And a second connection unit periodically transmitting a second connection maintenance packet to the push server to maintain a connection with the push server.

본 발명의 일 실시예에 따른 푸쉬 서비스 방법은, 제1 접속부 및 제2 접속부가 각각 푸쉬 서버와 접속하는 단계, 상기 제1 접속부가 상기 푸쉬 서버로의 접속 유지를 위한 제1 접속 유지 패킷의 최적 전송 주기를 측정하는 단계 및 상기 제1 접속부가 상기 최적 전송 주기를 측정하는 동안, 상기 제2 접속부가 상기 푸쉬 서버로 제2 접속 유지 패킷을 주기적으로 전송하여 상기 푸쉬 서버와 접속을 유지하는 단계를 포함한다.
According to an exemplary embodiment of the present invention, a push service method includes connecting a first connection part and a second connection part to a push server, and wherein the first connection part optimizes a first connection maintenance packet for maintaining connection to the push server. Measuring the transmission period and maintaining the connection with the push server by periodically transmitting a second connection maintenance packet to the push server while the first connection measures the optimal transmission period. Include.

본 발명의 실시예에 의하면, 제1 접속부를 통해 푸쉬 서버에 대한 최적의 패킷 전송 주기를 측정하여 배터리 소모량을 최소화 할 수 있게 된다. 여기서, 제1 접속부가 푸쉬 서버에 대한 최적의 패킷 전송 주기를 측정하는 동안에는 제2 접속부가 푸쉬 서버와 접속을 안정적으로 유지함으로써, 푸쉬 서버가 전송하는 푸쉬 메시지를 실시간으로 수신할 수 있게 된다.
According to an embodiment of the present invention, the battery consumption can be minimized by measuring an optimal packet transmission period for the push server through the first connection unit. Here, while the first connection unit measures the optimal packet transmission period for the push server, the second connection unit maintains the connection with the push server in a stable manner, so that the push message transmitted by the push server can be received in real time.

도 1은 본 발명의 일 실시예에 따른 푸쉬 클라이언트의 구성을 나타낸 도면.
도 2는 본 발명의 일 실시예에 따른 푸쉬 서비스 방법을 나타낸 순서도.
1 is a view showing the configuration of a push client according to an embodiment of the present invention.
2 is a flowchart illustrating a push service method according to an embodiment of the present invention.

이하, 도 1 및 도 2를 참조하여 본 발명의 푸쉬 클라이언트 및 이를 이용한 푸쉬 서비스 방법의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 제한되지 않는다.Hereinafter, a specific embodiment of a push client and a push service method using the same will be described with reference to FIGS. 1 and 2. However, this is an exemplary embodiment only and the present invention is not limited thereto.

본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for efficiently describing the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.

도 1은 본 발명의 일 실시예에 따른 푸쉬 클라이언트의 구성을 나타낸 도면이다.1 is a view showing the configuration of a push client according to an embodiment of the present invention.

도 1을 참조하면, 푸쉬 클라이언트(100)는 제1 접속부(102), 제2 접속부(104), 저장부(106), 통신부(108), 및 제어부(110)를 포함한다.Referring to FIG. 1, the push client 100 includes a first connection unit 102, a second connection unit 104, a storage unit 106, a communication unit 108, and a control unit 110.

제1 접속부(102)는 푸쉬 서버(150)에 접속한 후, 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정한다. 이때, 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기는 푸쉬 클라이언트(100)가 속한 네트워크에서 푸쉬 서버(150)와 접속을 유지하면서 푸쉬 클라이언트(100)의 배터리 소모량을 최소화 할 수 있는 접속 유지 패킷의 전송 주기를 말한다. 이때, 접속 유지 패킷은 예를 들어, 핑(PING) 메시지일 수 있다. 그러나, 이에 한정되는 것은 아니며 접속 유지 패킷으로는 핑 메시지 이외의 다양한 메시지를 이용할 수도 있다.After connecting to the push server 150, the first connection unit 102 measures an optimal packet transmission period for the push server 150. At this time, the optimal packet transmission period for the push server 150 is a connection maintenance packet that can minimize the battery consumption of the push client 100 while maintaining a connection with the push server 150 in the network to which the push client 100 belongs Refers to the transmission cycle. At this time, the connection maintenance packet may be, for example, a ping message. However, the present invention is not limited thereto, and various messages other than the ping message may be used as the connection maintenance packet.

제1 접속부(102)는 네트워크 변경 등으로 인해 푸쉬 서버(150)와 접속을 생성한 경우, 접속된 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정할 수 있다. 구체적으로, 제1 접속부(102)는 제1 접속 유지 패킷을 주기적으로 푸쉬 서버(150)로 전송하여 푸쉬 서버(150)와 접속을 유지하게 된다. 이때, 제1 접속부(102)는 기 설정된 전송 주기 측정 알고리즘에 따라 상기 제1 접속 유지 패킷의 전송 주기를 변화시키면서 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정할 수 있다. 예를 들어, 접속부(102)는 일정 시간(또는 일정 전송 횟수)마다 제1 접속 유지 패킷의 전송 주기를 늘려가면서 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정할 수 있다. 이 경우, 어느 순간에서는 제1 접속 유지 패킷의 전송 주기가 푸쉬 서버(150)의 타임 아웃 시간을 초과하게 되므로, 제1 접속부(102)와 푸쉬 서버(150) 간의 접속이 종료되게 된다.When the first connection unit 102 creates a connection with the push server 150 due to a network change or the like, the first connection unit 102 may measure an optimal packet transmission period for the connected push server 150. In detail, the first connection unit 102 maintains a connection with the push server 150 by periodically transmitting the first connection maintenance packet to the push server 150. In this case, the first connection unit 102 may measure an optimal packet transmission period for the push server 150 while changing the transmission period of the first connection maintenance packet according to a preset transmission period measurement algorithm. For example, the connection unit 102 may measure an optimal packet transmission period for the push server 150 while increasing the transmission period of the first connection maintenance packet every predetermined time (or a predetermined number of transmissions). In this case, since the transmission period of the first connection maintenance packet exceeds the time-out time of the push server 150, the connection between the first connection unit 102 and the push server 150 is terminated at some point.

예를 들어, 제1 접속부(102)가 20초를 기본 전송 주기로 하고 일정 시간(또는 일정 전송 횟수)마다 제1 접속 유지 패킷의 전송 주기를 20초씩 늘려가면서 최적의 패킷 전송 주기를 측정하며, 푸쉬 서버(150)의 타임 아웃 시간은 1분 10초라고 가정하자. 여기서, 기본 전송 주기는 제1 접속 유지 패킷의 첫 번째 전송 주기를 말하는 것으로, 기본 전송 주기는 푸쉬 서버(150)와의 접속이 안정적으로 유지될 정도의 매우 짧은 주기로 설정할 수 있다.For example, the first connection unit 102 measures 20 seconds as the basic transmission period and increases the transmission period of the first connection maintenance packet by 20 seconds for each predetermined time (or a predetermined number of transmissions), and measures an optimal packet transmission period. Assume that the timeout time of the server 150 is 1 minute 10 seconds. Here, the basic transmission period refers to the first transmission period of the first connection maintenance packet, and the basic transmission period may be set to a very short period such that the connection with the push server 150 is stably maintained.

이 경우, 제1 접속부(102)가 제1 접속 유지 패킷의 전송 주기를 20초(기본 전송 주기)에서 일정 시간(또는 일정 전송 회수)마다 40초(제2 전송 주기) 및 1분(제3 전송 주기) 등으로 20초씩 늘려가면서 변경할 경우, 제3 전송 주기까지는 제1 접속부(102)와 푸쉬 서버(150) 간의 접속이 정상적으로 유지되게 된다. In this case, the first connection unit 102 sets the transmission period of the first connection maintenance packet to 20 seconds (second transmission period) and one minute (third period) every 20 seconds (basic transmission period) for a predetermined time (or a certain number of transmissions). If the change is made in increments of 20 seconds or the like, the connection between the first connection unit 102 and the push server 150 is normally maintained until the third transmission period.

그러다가, 제1 접속부(102)가 제1 접속 유지 패킷의 전송 주기를 1분 20초(제4 전송 주기)로 변경하는 경우에는, 제1 접속 유지 패킷의 전송 주기(즉, 1분 20초)가 푸쉬 서버(150)의 타임 아웃 시간(즉, 1분 10초)을 초과하므로, 제1 접속부(102)와 푸쉬 서버(150) 간의 접속이 종료되게 된다. 이때, 푸쉬 서버(150)와의 접속이 종료되기 전의 마지막 제1 접속 유지 패킷의 전송 주기(즉, 제3 전송 주기)를 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기로 설정할 수 있다.Then, when the first connection unit 102 changes the transmission period of the first connection maintenance packet to 1 minute 20 seconds (fourth transmission period), the transmission period of the first connection maintenance packet (ie, 1 minute 20 seconds). Since the timeout time (ie, 1 minute 10 seconds) of the push server 150 is exceeded, the connection between the first connection unit 102 and the push server 150 is terminated. In this case, the transmission period (ie, the third transmission period) of the last first connection maintenance packet before the connection with the push server 150 is terminated may be set as an optimal packet transmission period for the push server 150.

상기 최적의 전송 주기를 측정하기 위한 다른 알고리즘으로는 전송 주기를 1분, 2분, 4분, 8분 등으로 2배씩 늘여가면서 접속 유지 패킷을 전송하다가 접속 종료가 발생할 경우 이전 접속 주기와 현재 접속 주기의 사이값으로 전송 주기를 조정하는 방법을 생각해 볼 수 있다. 예를 들어 상기 예에서 8분에서 접속 종료가 발생할 경우 전송 주기를 4분과 8분의 중간값인 6분으로 설정하여 접속 유지 패킷을 전송할 수 있다. 즉, 본 발명에서 최적의 전송 주기를 측정하기 위한 알고리즘의 종류는 매우 다양할 수 있으며, 본 발명은 특정 전송 주기 측정 알고리즘에 한정되는 것은 아님에 유의한다.The other algorithm for measuring the optimal transmission period is to transmit the connection maintenance packet while doubling the transmission period to 1 minute, 2 minutes, 4 minutes, 8 minutes, and so on. Consider a method of adjusting the transmission period to a value between the periods. For example, in the above example, if connection termination occurs in 8 minutes, the connection maintenance packet may be transmitted by setting the transmission period to 6 minutes, which is an intermediate value of 4 minutes and 8 minutes. That is, the type of algorithm for measuring the optimal transmission period in the present invention can be very diverse, it should be noted that the present invention is not limited to a specific transmission period measurement algorithm.

상술한 예에서 알 수 있는 바와 같이, 제1 접속부(102)는 최적의 패킷 전송 주기를 측정하는 과정에서 푸쉬 서버(150)와 접속이 종료될 수 있으며, 이 경우에는 푸쉬 서버(150)로부터 실시간으로 전송되는 푸쉬 메시지를 수신하는 것이 불가능할 수 있다. 따라서 본 발명에서, 제1 접속부(102)가 최적의 패킷 전송 주기를 측정하는 동안에는 제2 접속부(104)가 안정적으로 푸쉬 서버(105)와 접속을 유지하면서 푸쉬 서버(150)의 푸쉬 메시지를 수신하게 된다. 즉, 푸쉬 클라이언트(100)는 상기 최적 전송 주기 측정 중 제1 접속부(102)와 푸쉬 서버(150)와의 접속이 끊어진 경우, 제2 접속부(104)를 통하여 푸쉬 서버(150)로부터 푸쉬 메시지를 수신하게 된다. 제1 접속부(102)가 최적의 패킷 전송 주기를 측정한 이후에는 제1 접속부(102) 또한 안정적으로 푸쉬 서버(150)와 접속을 유지할 수 있게 되므로, 제1 접속부(102)가 푸쉬 서버(150)의 푸쉬 메시지를 수신할 수 있다.As can be seen in the above example, the first connection unit 102 may terminate the connection with the push server 150 in the process of measuring the optimal packet transmission period, in this case, the real time from the push server 150 It may not be possible to receive the push message sent to. Therefore, in the present invention, while the first connection unit 102 measures the optimal packet transmission period, the second connection unit 104 stably receives the push message of the push server 150 while maintaining the connection with the push server 105. Done. That is, the push client 100 receives a push message from the push server 150 through the second connection 104 when the connection between the first connection 102 and the push server 150 is lost during the optimal transmission period measurement. Done. After the first connection unit 102 measures the optimal packet transmission period, since the first connection unit 102 can also stably maintain the connection with the push server 150, the first connection unit 102 can push the push server 150. ) Can receive a push message.

제2 접속부(104)는 제1 접속부(102)가 최적의 패킷 전송 주기를 측정하는 동안 푸쉬 서버(150)와 접속을 유지하는 역할을 한다. 즉, 제2 접속부(104)는 제1 접속부(102)와는 별도로 제2 접속 유지 패킷을 주기적으로 푸쉬 서버(150)로 전송하여 푸쉬 서버(150)와 접속을 유지한다.The second connection 104 serves to maintain connection with the push server 150 while the first connection 102 measures the optimal packet transmission period. That is, the second connection unit 104 maintains the connection with the push server 150 by periodically transmitting the second connection maintenance packet to the push server 150 separately from the first connection unit 102.

여기서, 제1 접속부(102)가 최적의 패킷 전송 주기를 측정하는 동안, 제2 접속부(104)는 푸쉬 서버(150)와 안정적인 접속을 유지할 수 있는 전송 주기(즉, 푸쉬 서버(150)와의 접속 유지가 보장되는 전송 주기)로 제2 접속 유지 패킷을 푸쉬 서버(150)로 전송한다. 즉, 제2 접속부(104)는 제어부(110)의 제어에 따라, 제1 접속부(102)가 최적의 패킷 전송 주기를 측정하는 과정에서 푸쉬 서버(150)와의 접속 유지가 보장되는 제1 접속 유지 패킷의 전송 주기를 확인하여 해당 전송 주기로 제2 접속 유지 패킷을 푸쉬 서버(150)로 전송할 수 있다.Here, while the first connection unit 102 measures the optimal packet transmission period, the second connection unit 104 is connected to the transmission server 150 (that is, the connection with the push server 150) to maintain a stable connection with the push server 150. The second connection maintenance packet is transmitted to the push server 150 in a transmission cycle in which maintenance is guaranteed. That is, the second connection unit 104 maintains the first connection maintaining the connection with the push server 150 while the first connection unit 102 measures the optimal packet transmission period under the control of the controller 110. The transmission period of the packet may be checked to transmit the second connection maintenance packet to the push server 150 in the transmission period.

구체적으로, 제2 접속부(104)는 제1 접속부(102)와 함께 기본 전송 주기(예를 들어, 20초)로 제2 접속 유지 패킷을 푸쉬 서버(150)로 전송하다가 그 이후 제1 접속 유지 패킷의 변경된 전송 주기가 푸쉬 서버(150)와의 접속 유지를 보장하는 것으로 확인되면, 푸쉬 서버(150)와의 접속 유지가 보장된 제1 접속 유지 패킷의 전송 주기로 제2 접속 유지 패킷을 전송한다.In detail, the second connection unit 104 transmits the second connection keeping packet to the push server 150 at the basic transmission period (for example, 20 seconds) together with the first connection unit 102, and then maintains the first connection connection. When it is determined that the changed transmission period of the packet guarantees connection maintenance with the push server 150, the second connection maintenance packet is transmitted in the transmission period of the first connection maintenance packet which is guaranteed to maintain connection with the push server 150.

예를 들어, 제1 접속부(102)가 20초를 기본 전송 주기로 하고 일정 시간(또는 일정 전송 횟수)마다 제1 접속 유지 패킷의 전송 주기를 20초씩 늘려가면서 최적의 패킷 전송 주기를 측정하며, 푸쉬 서버(150)의 타임 아웃 시간은 1분 10초라고 가정하자. For example, the first connection unit 102 measures 20 seconds as the basic transmission period and increases the transmission period of the first connection maintenance packet by 20 seconds for each predetermined time (or a predetermined number of transmissions), and measures an optimal packet transmission period. Assume that the timeout time of the server 150 is 1 minute 10 seconds.

여기서, 제2 접속부(104)는 20초를 기본 전송 주기로 하여 제2 접속 유지 패킷을 푸쉬 서버(150)로 전송하다가 제1 접속부(102)가 제1 접속 유지 패킷의 전송 주기를 제2 전송 주기(40초)로 하였을 때 푸쉬 서버(150)와의 접속이 안정적으로 유지되는 것으로 확인되면, 제2 접속 유지 패킷의 전송 주기를 40초로 변경한다. 그 후, 제2 접속부(104)는 제1 접속부(102)가 제1 접속 유지 패킷의 전송 주기를 제3 전송 주기(1분)로 하였을 때 푸쉬 서버(150)와의 접속이 안정적으로 유지되는 것으로 확인되면, 제2 접속 유지 패킷의 전송 주기를 1분으로 변경한다.Here, the second connection unit 104 transmits the second connection maintenance packet to the push server 150 using the default transmission period of 20 seconds, while the first connection unit 102 transmits the transmission period of the first connection maintenance packet to the second transmission period. When it is confirmed that the connection with the push server 150 is stably maintained at (40 seconds), the transmission period of the second connection maintenance packet is changed to 40 seconds. Thereafter, the second connection part 104 indicates that the connection with the push server 150 is stably maintained when the first connection part 102 sets the transmission period of the first connection maintenance packet to the third transmission period (1 minute). If confirmed, the transmission period of the second keep-alive packet is changed to 1 minute.

이와 같이, 제2 접속부(104)는 제1 접속부(102)를 통해 푸쉬 서버(150)와의 접속 유지가 보장된 전송 주기로 제2 접속 유지 패킷을 전송하기 때문에, 제1 접속부(102)와 푸쉬 서버(150) 간의 접속이 종료되는 경우라 하더라도 푸쉬 서버(150)와의 접속을 안정적으로 유지할 수 있게 된다. 이때, 제1 접속부(102)가 최적의 패킷 전송 주기를 측정하는 동안에는 푸쉬 서버(150)가 전송하는 푸쉬 메시지를 제2 접속부(104)가 수신하도록 하면, 제1 접속부(102)와 푸쉬 서버(150)간의 접속이 종료된 경우에도 제2 접속부(104)를 통해 푸쉬 메시지를 실시간으로 수신할 수 있게 된다.As described above, since the second connection part 104 transmits the second connection maintenance packet through the first connection part 102 at a transmission period in which connection maintenance with the push server 150 is guaranteed, the first connection part 102 and the push server are transmitted. Even when the connection between the 150 ends, the connection with the push server 150 can be stably maintained. At this time, when the second connection unit 104 receives the push message transmitted by the push server 150 while the first connection unit 102 measures the optimal packet transmission period, the first connection unit 102 and the push server ( Even when the connection between the terminals 150 is terminated, the push message may be received in real time through the second connection unit 104.

제2 접속부(104)는 제어부(110)의 제어에 따라, 제1 접속부(102)의 최적의 패킷 전송 주기 측정이 종료되는 경우, 푸쉬 서버(150)와의 접속을 종료할 수 있다. 이후에는 제1 접속부(102)가 측정된 전송 주기에 따라 푸쉬 서버(150)와 안정적으로 접속을 유지하면서 푸쉬 서버(150)로부터 푸쉬 메시지를 수신한다.The second connection unit 104 may terminate the connection with the push server 150 when the optimum packet transmission period measurement of the first connection unit 102 is terminated under the control of the controller 110. Thereafter, the first connection unit 102 receives a push message from the push server 150 while maintaining a stable connection with the push server 150 according to the measured transmission period.

한편, 전술한 실시예에서는 기본적으로 푸쉬 클라이언트(100)가 제1 접속부(102)를 통하여 푸쉬 서버(150)로부터 메시지를 수신하며, 제1 접속부(102)와 푸쉬 서버(105) 간의 연결이 끊어진 경우에만 제2 접속부(104)가 메시지를 수신하도록 구성되나, 이와 반대로 푸쉬 클라이언트(100)는 제2 접속부(104)를 통해서만 푸쉬 서버(150)로부터 메시지를 수신하고, 제1 접속부(102)는 해당 푸쉬 서버(150)로의 접속 유지를 위한 최적의 전송 주기만을 측정하도록 구성될 수도 있다. 이 경우, 제1 접속부(102)에서 최적의 전송 주기가 측정된 이후에는 제2 접속부(104)만이 측정된 전송 주기를 이용하여 푸쉬 서버(150)와 접속을 유지하며, 제1 접속부(102)는 푸쉬 서버(150)와의 접속을 종료하게 된다. Meanwhile, in the above-described embodiment, the push client 100 basically receives a message from the push server 150 through the first connection unit 102, and the connection between the first connection unit 102 and the push server 105 is lost. Only if the second connection 104 is configured to receive the message, on the contrary, the push client 100 receives the message from the push server 150 only through the second connection 104, the first connection 102 It may be configured to measure only the optimal transmission period for maintaining the connection to the push server 150. In this case, after the optimal transmission period is measured at the first connection unit 102, only the second connection unit 104 maintains a connection with the push server 150 using the measured transmission period, and the first connection unit 102 is connected. Terminates the connection with the push server 150.

저장부(106)는 제어부(110)의 제어에 따라, 측정된 최적의 패킷 전송 주기를 저장할 수 있다. 제1 접속부(102)는 네트워크 변경 등으로 인해 푸쉬 서버(150)에 접속할 경우, 변경된 네트워크에서의 최적의 패킷 전송 주기를 측정한다. 이때, 저장부(106)는 제1 접속부(102)가 측정한 푸쉬 서버(150)들에 대한 최적의 패킷 전송 주기를 저장한다. The storage unit 106 may store the measured optimal packet transmission period under the control of the controller 110. When the first connection unit 102 accesses the push server 150 due to a network change or the like, the first connection unit 102 measures an optimal packet transmission period in the changed network. In this case, the storage unit 106 stores an optimal packet transmission period for the push servers 150 measured by the first connection unit 102.

여기서, 제1 접속부(102)가 무선 AP(Access Point)를 통해 푸쉬 서버(150)에 접속한 경우, 저장부(106)는 무선 AP의 식별 정보(BSSID(Basic Service Set Identifier) 등) 및 해당 무선 AP에서의 푸쉬 서버(150)와의 접속 유지를 위한 최적의 패킷 전송 주기를 저장할 수 있다.Here, when the first access unit 102 accesses the push server 150 through a wireless access point (AP), the storage unit 106 may identify identification information of the wireless AP (Basic Service Set Identifier (BSSID, etc.)) and the corresponding information. An optimal packet transmission period for maintaining connection with the push server 150 in the wireless AP may be stored.

통신부(108)는 제어부(110)의 제어에 따라, 인근의 다른 푸쉬 클라이언트(160)들로 소정 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 문의하는 메시지를 전송할 수 있다. 즉, 주변에 상기 무선 AP를 통하여 푸쉬 서버(150)에 기 접속한 다른 푸쉬 클라이언트(160)가 존재할 경우, 통신부(108)는 상기 다른 푸쉬 클라이언트가(160)가 기 측정한 최적의 패킷 전송 주기에 대한 문의 메시지를 인근의 다른 푸쉬 클라이언트(160)들로 멀티캐스팅 할 수 있다.The communication unit 108 may transmit a message inquiring about an optimal packet transmission period for the predetermined push server 150 to other push clients 160 in the vicinity under the control of the controller 110. That is, when there is another push client 160 previously connected to the push server 150 through the wireless AP, the communication unit 108 determines the optimal packet transmission period that the other push client 160 previously measured. The inquiry message for may be multicasted to other push clients 160 nearby.

예를 들어, 통신부(108)는 제1 접속부(102)가 무선 AP를 통해 푸쉬 서버(150)에 접속하였을 때, 해당 무선 AP를 통해 푸쉬 서버(150)로의 접속을 유지하기 위한 최적의 패킷 전송 주기가 저장부(106)에 저장되어 있지 않은 경우, 다른 푸쉬 클라이언트(160)들로 최적의 패킷 전송 주기(즉, 푸쉬 서버(150)가 속한 네트워크 상의 무선 AP에 대한 최적의 패킷 전송 주기)를 문의하는 메시지를 전송하고, 이에 따라 다른 푸쉬 클라이언트(160)로부터 전송되는 해당 무선 AP에서의 최적의 패킷 전송 주기를 수신할 수 있다. 이 경우, 해당 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기는 해당 무선 AP의 BSSID와 매칭되어 저장부(106)에 저장된다.For example, when the first connection unit 102 accesses the push server 150 through the wireless AP, the communication unit 108 transmits an optimal packet for maintaining the connection to the push server 150 through the wireless AP. If the period is not stored in the storage unit 106, the other packet clients 160 may select an optimal packet transmission period (that is, an optimal packet transmission period for the wireless AP on the network to which the push server 150 belongs). A message for inquiring may be transmitted and, accordingly, an optimal packet transmission period in the corresponding wireless AP transmitted from another push client 160 may be received. In this case, the optimal packet transmission period for the corresponding push server 150 is matched with the BSSID of the corresponding wireless AP and stored in the storage unit 106.

이와 같이 해당 무선 AP의 BSSID와 매칭되어 저장된 최적의 전송 주기가 존재할 경우, 제1 접속부(102) 또는 제2 접속부(104)는 저장된 상기 최적의 전송 주기를 이용하여 푸쉬 서버(150)와 접속을 수행할 수 있다. 예를 들어, 제1 접속부(102)가 최적의 전송 주기를 측정하는 동안 제2 접속부(104)는 저장부(106)에 저장된 전송 주기를 이용하여 푸쉬 서버(150)와 접속을 수행할 수 있으며, 이후 제2 접속부(102)의 전송 주기 측정이 완료되면 측정된 전송 주기와 저장부(106)에 기 저장된 전송 주기를 비교하여 더 큰 값으로 저장부(106)에 저장된 전송 주기를 갱신(업데이트)할 수 있다. As such, when there is an optimal transmission period stored in correspondence with the BSSID of the corresponding wireless AP, the first connection unit 102 or the second connection unit 104 establishes a connection with the push server 150 using the stored optimal transmission period. Can be done. For example, while the first connection unit 102 measures the optimal transmission period, the second connection unit 104 may connect with the push server 150 using the transmission period stored in the storage unit 106. After the transmission period measurement of the second connection unit 102 is completed, the measured transmission period is compared with the transmission period previously stored in the storage unit 106 to update the transmission period stored in the storage unit 106 to a larger value. )can do.

또는, 상기와 같이 해당 무선 AP의 BSSID와 매칭되어 저장된 최적의 전송 주기가 존재할 경우 제1 접속부(102) 또는 제2 접속부(104)는 전송 주기 측정 과정을 생략하고 바로 저장된 전송 주기를 이용하여 푸쉬 서버(150)와 접속을 수행하는 것 또한 가능하다.Alternatively, when there is an optimal transmission period stored in accordance with the BSSID of the corresponding wireless AP as described above, the first connection unit 102 or the second connection unit 104 skips the transmission period measurement process and immediately uses the stored transmission period. It is also possible to establish a connection with the server 150.

제어부(110)는 제1 접속부(102)가 푸쉬 서버(150)와 접속한 경우, 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정하도록 제1 접속부(102)를 제어할 수 있다. 제어부(110)는 제1 접속부(102)가 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정하는 동안 제2 접속부(104)가 푸쉬 서버(150)와 접속을 안정적으로 유지하도록 제2 접속부(104)를 제어할 수 있다. 이때, 제어부(110)는 제1 접속부(102)를 통해 푸쉬 서버(150)와 접속 유지가 보장되는 패킷 전송 주기를 확인한 후, 제2 접속부(104)가 해당 패킷 전송 주기로 제2 접속 유지 패킷을 푸쉬 서버(150)로 전송하도록 제2 접속부(104)를 제어할 수 있다.When the first connection unit 102 is connected to the push server 150, the controller 110 may control the first connection unit 102 to measure an optimal packet transmission period for the push server 150. The control unit 110 controls the second connection unit to stably maintain the connection with the push server 150 while the first connection unit 102 measures an optimal packet transmission period for the push server 150. 104 can be controlled. At this time, the control unit 110 checks the packet transmission period to ensure the connection maintenance with the push server 150 through the first connection unit 102, and then the second connection unit 104 transmits the second connection maintenance packet in the packet transmission period. The second connection unit 104 may be controlled to transmit to the push server 150.

제어부(110)는 제1 접속부(102)로부터 최적의 전송 주기가 측정되면, 제1 접속부(102)가 측정한 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 저장부(106)에 저장할 수 있다. 그리고, 제어부(110)는 제2 접속부(104)와 푸쉬 서버(150) 간의 접속을 종료시킨 후 제1 접속부(102)가 측정된 상기 최적의 패킷 전송 주기를 이용해 푸쉬 서버(150)와의 접속을 유지하도록 할 수 있다. 또는, 전술한 바와 같이 푸쉬 클라이언트(100)가 제2 접속부(104)를 통해서만 푸쉬 메시지를 수신할 경우, 제어부(110)는 제1 접속부(102)와 푸쉬 서버(150) 간의 접속을 종료시키고, 측정된 최적 전송 주기를 이용해 제2 접속부(104)와 푸쉬 서버(150) 간의 접속을 유지하게 된다. When the optimal transmission period is measured from the first connection unit 102, the controller 110 may store the optimal packet transmission period for the push server 150 measured by the first connection unit 102 in the storage unit 106. have. Then, the controller 110 terminates the connection between the second connection unit 104 and the push server 150 and then establishes a connection with the push server 150 using the optimal packet transmission period measured by the first connection unit 102. You can keep it. Alternatively, when the push client 100 receives the push message only through the second connection unit 104 as described above, the control unit 110 terminates the connection between the first connection unit 102 and the push server 150, The measured optimal transmission period is used to maintain the connection between the second connection 104 and the push server 150.

한편, 제어부(110)는 푸쉬 클라이언트(100)가 현재 접속한 네트워크에서의 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기가 저장부(106)에 저장되어 있지 않은 경우, 인근의 다른 푸쉬 클라이언트(160)들로 해당 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 문의하는 메시지를 전송하도록 통신부(108)를 제어할 수 있다.
On the other hand, if the optimal packet transmission period for the push server 150 in the network to which the push client 100 is currently connected is not stored in the storage unit 106, the control unit 110 may select another neighboring push client ( The communicator 108 may control the communication unit 108 to transmit a message inquiring about an optimal packet transmission period for the corresponding push server 150.

도 2는 본 발명의 일 실시예에 따른 푸쉬 서비스 방법을 나타낸 순서도이다.2 is a flowchart illustrating a push service method according to an embodiment of the present invention.

도 2를 참조하면, 제1 접속부(102) 및 제2 접속부(104)가 각각 푸쉬 서버(150)에 접속한다(S 101). 즉, 제1 접속부(102) 및 제2 접속부(104)는 각각 별도의 TCP 커넥션을 푸쉬 서버(150)와 생성한다. 이때, 제1 접속부(102)와 제2 접속부(104)가 푸쉬 서버(150)에 순차적으로 접속할 수 있으나, 이에 한정되는 것은 아니며 제1 접속부(102)와 제2 접속부(104)가 동시에 접속하거나, 제2 접속부(104)가 먼저 접속할 수도 있다.Referring to FIG. 2, the first connection part 102 and the second connection part 104 respectively connect to the push server 150 (S 101). That is, the first connection unit 102 and the second connection unit 104 each generate a separate TCP connection with the push server 150. In this case, the first connection part 102 and the second connection part 104 may be sequentially connected to the push server 150, but the present invention is not limited thereto, and the first connection part 102 and the second connection part 104 may be simultaneously connected. The second connecting portion 104 may be connected first.

다음으로, 제1 접속부(102)는 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정한다(S 103). 전술한 바와 같이, 제1 접속부(102)는 기 설정된 전송 주기 측정 알고리즘에 따라 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정할 수 있다.Next, the first connection unit 102 measures the optimal packet transmission period for the push server 150 (S 103). As described above, the first access unit 102 may measure an optimal packet transmission period for the push server 150 according to a preset transmission period measurement algorithm.

다음으로, 제2 접속부(104)는 제1 접속부(102)가 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 측정하는 동안, 푸쉬 서버(150)와의 접속을 안정적으로 유지한다(S 105). 제2 접속부(104)는 제1 접속부(102)에 의해 푸쉬 서버(150)와의 접속 유지가 보장되는 제1 접속 유지 패킷의 전송 주기를 확인하여 해당 전송 주기로 제2 접속 유지 패킷을 푸쉬 서버(150)로 전송함으로써, 푸쉬 서버(150)와의 접속을 안정적으로 유지할 수 있다.Next, the second connection unit 104 stably maintains the connection with the push server 150 while the first connection unit 102 measures the optimal packet transmission period for the push server 150 (S 105). . The second connection unit 104 checks the transmission period of the first connection maintenance packet which is guaranteed to maintain the connection with the push server 150 by the first connection unit 102 and pushes the second connection maintenance packet to the corresponding transmission period in the push server 150. ), The connection with the push server 150 can be stably maintained.

다음으로, 제1 접속부(102)는 푸쉬 서버(150)에 대한 최적의 전송 주기 측정이 완료되었는지 여부를 확인한다(S 107). 예를 들어, 제1 접속부(102)는 제1 접속 유지 패킷을 푸쉬 서버(150)로 전송할 때, 일정 시간(또는 일정 전송 횟수)마다 제1 접속 유지 패킷의 전송 주기를 늘려가면서 푸쉬 서버(150)로 전송할 수 있다. 이 경우 상기 전송 주기의 증가에 따라 어느 시점에서는 푸쉬 서버(150)와의 접속이 종료되게 되며, 상기 접속 종료 직전의 전송 주기가 최적의 전송 주기가 될 수 있다. 다만, 이는 예시일 뿐이며, 최적의 전송 주기 측정 알고리즘에 따라 최적의 전송 주기를 찾아내는 방법은 다양할 수 있다.Next, the first connection unit 102 checks whether the optimal transmission period measurement for the push server 150 is completed (S 107). For example, when the first connection 102 transmits the first keep-alive packet to the push server 150, the push server 150 increases the transmission period of the first keep-alive packet every predetermined time (or a certain number of times of transmission). ) Can be sent. In this case, as the transmission period increases, the connection with the push server 150 is terminated at some point, and the transmission period immediately before the connection termination may be the optimal transmission period. However, this is only an example, and a method of finding an optimal transmission period may vary according to an optimal transmission period measurement algorithm.

단계 S 107의 확인 결과, 최적의 전송 주기 측정이 완료된 경우, 제어부(110)는 푸쉬 서버(150)에 대한 최적의 패킷 전송 주기를 저장부(106)에 저장하고, 제2 접속부(104)와 푸쉬 서버(150) 간의 접속을 종료시킨다(S 109). 다음으로, 제1 접속부(102)가 측정된 상기 최적의 패킷 전송 주기를 이용하여 푸쉬 서버(150)와의 접속을 안정적으로 유지한다(S 111).As a result of checking in step S 107, when the optimal transmission period measurement is completed, the controller 110 stores the optimal packet transmission period for the push server 150 in the storage unit 106, and the second connection unit 104. The connection between the push servers 150 is terminated (S 109). Next, the first connection unit 102 stably maintains the connection with the push server 150 by using the measured optimal packet transmission period (S 111).

한편, 전술한 바와 같이, 상기 S 109 단계는 제2 접속부(104)가 아닌 제1 접속부(102)의 접속을 종료할 수 있으며, 이 경우 S 111 단계에서는 제2 접속부(104)가 푸쉬 서버(150)와의 접속을 안정적으로 유지한다.On the other hand, as described above, the step S 109 may terminate the connection of the first connection portion 102, not the second connection portion 104, in this case, in step S 111, the second connection portion 104 is a push server ( Maintain a stable connection with 150).

한편, 전술한 바와 같이 푸쉬 클라이언트(100)의 저장부(106)는 푸쉬 클라이언트(100)가 접속 가능한 무선 AP의 식별 정보 및 해당 무선 AP에서의 최적의 전송 주기를 매칭하여 저장할 수 있다. 이 경우, 푸쉬 클라이언트(100)가 저장된 무선 AP 중 하나를 통하여 푸쉬 서버(150)에 접속하게 되면, 제1 접속부(102) 또는 제2 접속부(104)는 저장된 상기 최적의 전송 주기를 이용하여 푸쉬 서버(150)와 접속을 수행할 수 있다. Meanwhile, as described above, the storage unit 106 of the push client 100 may match and store identification information of the wireless AP to which the push client 100 can access and an optimal transmission period in the corresponding wireless AP. In this case, when the push client 100 accesses the push server 150 through one of the stored wireless APs, the first connection unit 102 or the second connection unit 104 uses the stored optimal transmission period to push. Connection with the server 150 may be performed.

예를 들어, 제1 접속부(102)가 최적의 전송 주기를 측정하는 동안 제2 접속부(104)는 저장부(106)에 저장된 전송 주기를 이용하여 푸쉬 서버(150)와 접속을 수행할 수 있으며, 이후 제2 접속부(102)의 전송 주기 측정이 완료되면 측정된 전송 주기와 저장부(106)에 기 저장된 전송 주기를 비교하여 더 큰 값으로 저장부(106)에 저장된 전송 주기를 업데이트할 수 있다. For example, while the first connection unit 102 measures the optimal transmission period, the second connection unit 104 may connect with the push server 150 using the transmission period stored in the storage unit 106. After that, when measurement of the transmission period of the second connection unit 102 is completed, the transmission period stored in the storage unit 106 may be updated to a larger value by comparing the measured transmission period with the transmission period previously stored in the storage unit 106. have.

한편, 푸쉬 클라이언트(100)가 연결된 무선 AP의 최적 전송 주기가 저장부(106)에 저장되어 있지 않은 경우, 통신부(108)는 인근의 다른 푸쉬 클라이언트(160)로 패킷 전송 주기 문의 메시지를 멀티캐스팅 방식으로 전송한다. 다른 푸쉬 클라이언트(160)로부터 해당 AP에서의 최적의 패킷 전송 주기가 전송되는 경우, 제1 접속부(102) 또는 제2 접속부(104)는 수신된 최적의 패킷 전송 주기를 저장부(106)에 저장하고, 이를 이용하여 푸쉬 서버(150)와의 접속을 안정적으로 유지한다. 즉, 이 경우에도 별도의 최적 전송 주기를 측정하지 않고, 수신된 패킷 전송 주기만을 이용하여 제1 접속부(102) 또는 제2 접속부(104)가 푸쉬 서버(150)와 접속을 유지하거나, 또는 별도로 측정된 패킷 전송 주기와 수신된 주기를 비교하여 저장부(106)에 저장된 해당 무선 AP에서의 접속 주기를 업데이트할 수 있다.Meanwhile, when the optimal transmission period of the wireless AP to which the push client 100 is connected is not stored in the storage unit 106, the communication unit 108 multicasts a packet transmission period inquiry message to another nearby push client 160. To send in a way. When the optimal packet transmission period at the AP is transmitted from another push client 160, the first connection unit 102 or the second connection unit 104 stores the received optimal packet transmission period in the storage unit 106. By using this, the connection with the push server 150 is stably maintained. That is, even in this case, the first connection unit 102 or the second connection unit 104 maintains the connection with the push server 150 by using only the received packet transmission period without measuring a separate optimal transmission period, or separately. By comparing the measured packet transmission period and the received period, the access period of the corresponding wireless AP stored in the storage unit 106 may be updated.

한편, 본 발명의 실시예는 본 명세서에서 기술한 방법들을 컴퓨터상에서 수행하기 위한 프로그램을 포함하는 컴퓨터 판독 가능 기록매체를 포함할 수 있다. 상기 컴퓨터 판독 가능 기록매체는 프로그램 명령, 로컬 데이터 파일, 로컬 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체는 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 분야에서 통상의 지식을 가진 자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM, DVD와 같은 광 기록 매체, 플로피 디스크와 같은 자기-광 매체, 및 롬, 램, 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다.On the other hand, an embodiment of the present invention may include a computer-readable recording medium including a program for performing the methods described herein on a computer. The computer-readable recording medium may include a program command, a local data file, a local data structure, or the like, alone or in combination. The media may be those specially designed and constructed for the present invention or may be known and available to those of ordinary skill in the computer software arts. Examples of computer readable media include magnetic media such as hard disks, floppy disks and magnetic tape, optical recording media such as CD-ROMs and DVDs, magneto-optical media such as floppy disks, and magnetic media such as ROMs, And hardware devices specifically configured to store and execute program instructions. Examples of program instructions may include machine language code such as those generated by a compiler, as well as high-level language code that may be executed by a computer using an interpreter or the like.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is clearly understood that the same is by way of illustration and example only and is not to be taken by way of limitation, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.

100 : 푸쉬 클라이언트 102 : 제1 접속부
104 : 제2 접속부 106 : 저장부
108 : 통신부 110 : 제어부
150 : 푸쉬 서버 160 : 다른 푸쉬 클라이언트
100: push client 102: first connection
104: second connection portion 106: storage portion
108: communication unit 110: control unit
150: Push Server 160: Another Push Client

Claims (22)

푸쉬 서버로의 접속 유지를 위한 제1 접속 유지 패킷의 최적 전송 주기를 측정하는 제1 접속부; 및
상기 제1 접속부가 상기 최적 전송 주기를 측정하는 동안, 상기 제1 접속부에 의하여 상기 푸쉬 서버와의 접속 유지가 가능한 것으로 판단된 전송 주기에 따라 상기 푸쉬 서버로 제2 접속 유지 패킷을 전송하여 상기 푸쉬 서버와 접속을 유지하는 제2 접속부를 포함하는, 푸쉬 클라이언트.
A first connection unit configured to measure an optimal transmission period of the first connection maintenance packet to maintain connection to the push server; And
While the first connection unit measures the optimal transmission period, the second connection maintenance packet is transmitted to the push server according to a transmission period determined by the first connection unit to maintain connection with the push server. A push client comprising a second connection that maintains a connection with the server.
제1항에 있어서,
상기 제1 접속부는, 기 설정된 전송 주기 측정 알고리즘에 따라 상기 제1 접속 유지 패킷의 전송 주기를 변화시키면서 상기 제1 접속 유지 패킷을 상기 푸쉬 서버로 전송함으로써 상기 최적 전송 주기를 측정하는, 푸쉬 클라이언트.
The method of claim 1,
And the first connection unit measures the optimal transmission period by transmitting the first connection maintenance packet to the push server while changing the transmission period of the first connection maintenance packet according to a preset transmission period measurement algorithm.
삭제delete 제2항에 있어서,
상기 푸쉬 클라이언트는, 상기 제1 접속부에 의하여 측정된 상기 최적 전송 주기를 저장하는 저장부를 더 포함하는, 푸쉬 클라이언트.
3. The method of claim 2,
The push client further comprises a storage unit for storing the optimal transmission period measured by the first connection.
제4항에 있어서,
상기 제2 접속부는, 상기 저장부에 기 저장된 상기 최적 전송 주기에 따라 상기 푸쉬 서버로 제2 접속 유지 패킷을 주기적으로 전송하는, 푸쉬 클라이언트.
5. The method of claim 4,
And the second connection unit periodically transmits a second connection maintenance packet to the push server according to the optimal transmission period previously stored in the storage unit.
제4항에 있어서,
상기 저장부는, 상기 제1 접속부에서 측정된 최적 전송 주기 및 상기 저장부에 기 저장된 최적 전송 주기를 비교하고, 이 중 더 큰 값으로 상기 저장부에 저장된 최적 전송 주기를 갱신하는, 푸쉬 클라이언트.
5. The method of claim 4,
And the storage unit compares the optimal transmission period measured in the first connection unit with the optimal transmission period previously stored in the storage unit, and updates the optimal transmission period stored in the storage unit with a larger value.
제4항에 있어서,
상기 푸쉬 클라이언트는, 상기 제1 접속부가 무선 AP를 통해 상기 푸쉬 서버에 접속하는 경우, 다른 푸쉬 클라이언트로 상기 무선 AP에서의 상기 푸쉬 서버로의 접속 유지를 위한 최적 전송 주기를 문의하는 메시지를 멀티캐스팅하는 통신부를 더 포함하는, 푸쉬 클라이언트.
5. The method of claim 4,
When the first access unit accesses the push server through the wireless AP, the push client multicasts a message for querying another push client for an optimal transmission period for maintaining the connection from the wireless AP to the push server. The push client further comprises a communication unit.
제7항에 있어서,
상기 저장부는, 상기 다른 푸쉬 클라이언트로부터 수신된 최적 전송 주기를 상기 무선 AP의 식별 정보와 매칭시켜 저장하는, 푸쉬 클라이언트.
The method of claim 7, wherein
The storage unit stores the optimal transmission period received from the other push client by matching the identification information of the wireless AP, the push client.
제1항에 있어서,
상기 제2 접속부는, 상기 제1 접속부가 상기 최적 전송 주기 측정을 완료한 경우, 상기 푸쉬 서버와의 접속을 종료하는, 푸쉬 클라이언트.
The method of claim 1,
And the second connection portion terminates the connection with the push server when the first connection portion completes the optimum transmission period measurement.
제1항에 있어서,
상기 제1 접속부는 상기 최적 전송 주기 측정을 완료한 경우 상기 푸쉬 서버와의 접속을 종료하며,
상기 제2 접속부는 측정된 상기 최적 전송 주기에 따라 상기 제2 접속 유지 패킷을 주기적으로 전송하여 상기 푸쉬 서버와 접속을 유지하는, 푸쉬 클라이언트.
The method of claim 1,
The first connection unit terminates the connection with the push server when the optimum transmission period measurement is completed,
And the second connection unit periodically transmits the second keep-alive packet according to the measured optimal transmission period to maintain connection with the push server.
제1항에 있어서,
상기 푸쉬 클라이언트는 상기 최적 전송 주기 측정 중 상기 제1 접속부와 상기 푸쉬 서버와의 접속이 끊어진 경우, 상기 제2 접속부를 통하여 상기 푸쉬 서버로부터 푸쉬 메시지를 수신하는, 푸쉬 클라이언트.
The method of claim 1,
And the push client receives a push message from the push server through the second connection when the connection between the first connection and the push server is lost during the optimal transmission period measurement.
제1 접속부 및 제2 접속부가 각각 푸쉬 서버와 접속하는 단계;
상기 제1 접속부가 상기 푸쉬 서버로의 접속 유지를 위한 제1 접속 유지 패킷의 최적 전송 주기를 측정하는 단계; 및
상기 제1 접속부가 상기 최적 전송 주기를 측정하는 동안, 상기 제1 접속부에 의하여 상기 푸쉬 서버와의 접속 유지가 가능한 것으로 판단된 전송 주기에 따라 상기 제2 접속부가 상기 푸쉬 서버로 제2 접속 유지 패킷을 전송하여 상기 푸쉬 서버와 접속을 유지하는 단계를 포함하는, 푸쉬 서비스 방법.
Connecting the first connection unit and the second connection unit to the push server, respectively;
Measuring, by the first connection unit, an optimal transmission period of the first connection maintenance packet to maintain connection to the push server; And
While the first connection unit measures the optimal transmission period, the second connection unit maintains a second connection maintenance packet to the push server according to a transmission period determined by the first connection unit to maintain connection with the push server. Transmitting a connection to maintain the connection with the push server.
제12항에 있어서,
상기 최적 전송 주기를 측정하는 단계는, 기 설정된 전송 주기 측정 알고리즘에 따라 상기 제1 접속 유지 패킷의 전송 주기를 변화시키면서 상기 제1 접속 유지 패킷을 상기 푸쉬 서버로 전송함으로써 상기 최적 전송 주기를 측정하는, 푸쉬 서비스 방법.
The method of claim 12,
The measuring of the optimal transmission period may include: measuring the optimal transmission period by transmitting the first connection maintenance packet to the push server while changing the transmission period of the first connection maintenance packet according to a preset transmission period measurement algorithm. , Push service method.
삭제delete 제13항에 있어서,
상기 최적 전송 주기를 측정하는 단계 이후,
제어부가 상기 제1 접속부에 의하여 측정된 상기 최적 전송 주기를 저장하는 단계를 더 포함하는, 푸쉬 서비스 방법.
14. The method of claim 13,
After measuring the optimum transmission period,
And storing, by the control unit, the optimal transmission period measured by the first connection unit.
제15항에 있어서,
상기 푸쉬 서버와 접속을 유지하는 단계는, 기 저장된 최적 전송 주기가 존재하는 경우 상기 기 저장된 상기 최적 전송 주기에 따라 상기 푸쉬 서버로 제2 접속 유지 패킷을 주기적으로 전송하는, 푸쉬 서비스 방법.
16. The method of claim 15,
The maintaining of the connection with the push server may include periodically transmitting a second connection maintenance packet to the push server according to the previously stored optimal transmission period when there is a previously stored optimal transmission period.
제16항에 있어서,
상기 저장하는 단계는, 상기 제1 접속부에서 측정된 최적 전송 주기 및 상기 기 저장된 최적 전송 주기를 비교하고, 이 중 더 큰 값으로 상기 기 저장된 최적 전송 주기를 갱신하는, 푸쉬 서비스 방법.
17. The method of claim 16,
The storing may include comparing the optimal transmission period measured at the first connection unit with the previously stored optimal transmission period, and updating the previously stored optimal transmission period to a larger value.
제15항에 있어서,
상기 제1 접속부가 무선 AP를 통해 상기 푸쉬 서버와 접속한 경우,
상기 최적 전송 주기를 측정하는 단계는, 상기 제어부가 상기 무선 AP에서의 상기 푸쉬 서버로의 접속 유지를 위한 최적 전송 주기가 저장되어 있는지 여부를 확인하는 단계; 및
상기 무선 AP에서의 최적 전송 주기가 저장되어 있지 않은 경우, 통신부가 다른 푸쉬 클라이언트로 상기 무선 AP에서의 최적 전송 주기를 문의하는 메시지를 멀티캐스팅하는 단계를 더 포함하는, 푸쉬 서비스 방법.
16. The method of claim 15,
When the first connection unit is connected to the push server through a wireless AP,
The measuring of the optimal transmission period may include: determining, by the controller, whether an optimal transmission period for maintaining a connection from the wireless AP to the push server is stored; And
If the optimal transmission period in the wireless AP is not stored, the communication service further comprises the step of multicasting a message for querying the optimal transmission period in the wireless AP to another push client.
제18항에 있어서,
상기 멀티캐스팅 하는 단계 이후, 상기 제어부가 상기 다른 푸쉬 클라이언트로부터 수신된 상기 무선 AP에서의 최적 전송 주기를 상기 무선 AP의 식별 정보와 매칭하여 저장하는 단계를 더 포함하는, 푸쉬 서비스 방법.
19. The method of claim 18,
After the multicasting, the control unit further comprises storing the optimal transmission period in the wireless AP received from the other push client by matching the identification information of the wireless AP.
제12항에 있어서,
상기 제1 접속부가 상기 최적 전송 주기 측정을 완료한 경우, 상기 제어부가 상기 제2 접속부와 상기 푸쉬 서버 간의 접속을 종료시키는 단계를 더 포함하는, 푸쉬 서비스 방법.
The method of claim 12,
And the control unit terminates the connection between the second connection unit and the push server when the first connection unit completes the measurement of the optimal transmission period.
제12항에 있어서,
상기 최적 전송 주기 측정을 완료한 경우 상기 제1 접속부는 상기 푸쉬 서버와의 접속을 종료하며,
상기 제2 접속부는 측정된 상기 최적 전송 주기에 따라 상기 제2 접속 유지 패킷을 주기적으로 전송하여 상기 푸쉬 서버와 접속을 유지하는, 푸쉬 서비스 방법.
The method of claim 12,
When the optimum transmission period measurement is completed, the first connection unit terminates the connection with the push server,
And the second connection unit periodically maintains connection with the push server by periodically transmitting the second connection maintenance packet according to the measured optimal transmission period.
청구항 12 내지 13 및 청구항 15 내지 21 중 어느 한 항에 기재된 방법을 컴퓨터상에서 수행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.

A computer-readable recording medium having recorded thereon a program for performing the method according to any one of claims 12 to 13 and 15 to 21 on a computer.

KR1020120056096A 2012-05-25 2012-05-25 Push client and method for pushing sevice using the same KR101346077B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120056096A KR101346077B1 (en) 2012-05-25 2012-05-25 Push client and method for pushing sevice using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120056096A KR101346077B1 (en) 2012-05-25 2012-05-25 Push client and method for pushing sevice using the same

Publications (2)

Publication Number Publication Date
KR20130132034A KR20130132034A (en) 2013-12-04
KR101346077B1 true KR101346077B1 (en) 2013-12-31

Family

ID=49981035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120056096A KR101346077B1 (en) 2012-05-25 2012-05-25 Push client and method for pushing sevice using the same

Country Status (1)

Country Link
KR (1) KR101346077B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114598739A (en) * 2022-02-28 2022-06-07 阿里巴巴(中国)有限公司 Processing method, device and system of communication channel based on cloud application

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288298A (en) 2002-03-27 2003-10-10 Hitachi Ltd Push service information relay device and push service information relay method
KR20080047043A (en) * 2006-11-24 2008-05-28 삼성전자주식회사 Method and system for connecting terminal and electronic telephone exchanger in communication system
KR20100113263A (en) * 2009-04-13 2010-10-21 삼성전자주식회사 Apparatus and method for determinating ping interval of activesync service in wireless communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003288298A (en) 2002-03-27 2003-10-10 Hitachi Ltd Push service information relay device and push service information relay method
KR20080047043A (en) * 2006-11-24 2008-05-28 삼성전자주식회사 Method and system for connecting terminal and electronic telephone exchanger in communication system
KR20100113263A (en) * 2009-04-13 2010-10-21 삼성전자주식회사 Apparatus and method for determinating ping interval of activesync service in wireless communication system

Also Published As

Publication number Publication date
KR20130132034A (en) 2013-12-04

Similar Documents

Publication Publication Date Title
CN109845332B (en) Mobile device relay service for reliable internet of things
US8441988B2 (en) Method for providing home agent geographic redundancy via a service redundancy protocol
KR102092743B1 (en) Service quality management at the Internet of Things end-to-end service layer
US8315246B2 (en) System and method employing strategic communications between a network controller and a security gateway
CN101160911B (en) Method of transmitting session requirement
EP2993861B1 (en) Establishing and maintaining a voip call
US7689713B2 (en) System operator independent server alerted synchronization system and methods
JP2009522826A (en) Confirmation and quick QoS establishment method
US8712398B2 (en) Soliciting first party in communication session to maintain call when degradation of connection to second party is anticipated
CN112219380A (en) Mooring strategy for cellular networks
US9924292B1 (en) Over the air passive downloads
Park et al. Smart base station-assisted partial-flow device-to-device offloading system for video streaming services
US11889568B2 (en) Systems and methods for paging over WiFi for mobile terminating calls
US20210359871A1 (en) Policy and charging control (pcc) in information centric networking
KR20150041952A (en) IP based sleep mode control method using synchonization information
KR101346077B1 (en) Push client and method for pushing sevice using the same
CN112787975B (en) Method, device and system for determining type of access device
US20130086218A1 (en) Proxy Server For Home Network Access
JP6469203B2 (en) Terminal device, communication session establishment method, and program
US9185541B1 (en) Data usage measurement over multiple networks
KR101999142B1 (en) IoT TERMINAL AND CENTRAL SEVER, AND CONTROL METHOD THEREOF
CN102420799B (en) User authentication method, device and system
US20070243859A1 (en) Method and Apparatus for Efficiently Transferring Data within a Telecommunications Network
CN111083768B (en) Network connection control method, device, storage medium and electronic equipment
US11184839B2 (en) Wireless dynamic file exchange

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: 20160920

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170928

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20191202

Year of fee payment: 7