WO2013012184A2 - 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법 - Google Patents

메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법 Download PDF

Info

Publication number
WO2013012184A2
WO2013012184A2 PCT/KR2012/005155 KR2012005155W WO2013012184A2 WO 2013012184 A2 WO2013012184 A2 WO 2013012184A2 KR 2012005155 W KR2012005155 W KR 2012005155W WO 2013012184 A2 WO2013012184 A2 WO 2013012184A2
Authority
WO
WIPO (PCT)
Prior art keywords
keep
message
alive
client
push
Prior art date
Application number
PCT/KR2012/005155
Other languages
English (en)
French (fr)
Other versions
WO2013012184A3 (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 CN201280034147.1A priority Critical patent/CN103703453B/zh
Publication of WO2013012184A2 publication Critical patent/WO2013012184A2/ko
Publication of WO2013012184A3 publication Critical patent/WO2013012184A3/ko
Priority to US14/107,829 priority patent/US9258740B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/143Termination or inactivation of sessions, e.g. event-controlled end of session
    • H04L67/145Termination or inactivation of sessions, e.g. event-controlled end of session avoiding end of session, e.g. keep-alive, heartbeats, resumption message or wake-up for inactive or interrupted session
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • 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
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Definitions

  • the present invention relates to a push service providing system and method for message load balancing, and more particularly, to distribute the message load balancing, which can reduce the burst traffic by the keep-alive message by distributing the keep-alive message sent by the client.
  • the present invention relates to a push service providing system and a method thereof.
  • the conventional push server does not directly connect the service provider and the client, but maintains the connection with the push server through a daemon built in the client and the service provider
  • the central push server receives the message and sends it to the client.
  • FIG. 1 is a diagram illustrating a transmission process of a keep alive message in a push service system.
  • always-On applications maintain their own connections with service providers through their clients.
  • the client 10 transmits the presence information of the application to the push server 20 through a keep alive message, and the push server 20 receives the keep alive message. Check the presence information of the app.
  • the keep-alive message is transmitted from the client 10 installed in the terminal to the push server 20.
  • the client 10 transmits a keep alive message to the push server 20 at a predetermined cycle.
  • Keep Alive messages are for checking the application's presence information. For this reason, it is common for transmission periods of keep-alive messages to be set as short as possible.
  • a transmission period timer (Timer) for transmitting a keep alive message is initialized when an event such as receiving a push message occurs in the client 10 of the terminal.
  • an event such as receiving a push message occurs in the client 10 of the terminal.
  • FIG. 1B A case in which the client 10 transmits a keep-alive message when the expired period of the initialized transmission period timer is shown in FIG. 1B is illustrated.
  • the client 10 receives a keep alive message regardless of an event such as receiving a push message.
  • a case in which the keep-alive message is transmitted at each time limit expiration time of a preset transmission period timer during the reception of the push message is illustrated in FIG.
  • FIG. 2 is a diagram illustrating an embodiment of synchronizing a keep alive message.
  • the timers of the plurality of clients # 1, # 2, # 3 are initialized when an event occurs (eg, when receiving a push message, when sending a keep-alive message, or the like).
  • an event e.g, when receiving a push message, when sending a keep-alive message, or the like.
  • a plurality of clients # 1, # 2, # 3 (11, 12, 13) push keep alive messages # 1, # 2, # 3 at different points in time after the transmission cycle timer T has passed. To send.
  • the keep-alive period of the terminal in the same network is the same.
  • a plurality of clients # 1, # 2, and # 3 (11, 12, 13) during a push message transmission / receiving time (eg, leaving time, leaving time, etc.) Intensively receives push messages # 1, # 2, and # 3 at similar times.
  • the plurality of clients # 1, # 2, and # 3 (11, 12, 13) transmit a keep alive message to the push server 20.
  • a synchronization phenomenon 201 occurs in which keepalive messages are synchronized with each other.
  • intensive keep-alive messages generate burst traffic.
  • network overload occurs due to burst traffic caused by the keep-alive message.
  • the present invention has been made in view of the above necessity, and provides a push service providing system and method for message load balancing that can reduce burst traffic caused by a keep alive message by distributing a keep alive message transmitted by a client. Its purpose is to.
  • the apparatus receives a push message from a service providing apparatus and transmits the same to the corresponding clients, and when the reception timing of the keep-alive message for maintaining the connection with the clients is synchronized, the And a push service device for message load balancing for transmitting a keep-alive setting message for distributing the keep-alive messages received by the clients within a predetermined period.
  • a service provider (SP) interworking unit for connecting to the service providing apparatus; A controller for routing the push message received through the SP interlocking unit to the corresponding client; And transmitting the push message transmitted from the control unit to the corresponding client, receiving the keep-alive message from the client, and when the reception timing of the received keep-alive message is synchronized, during the transmission period of the preset keep-alive message. And a client interworking unit to transmit a keep-alive setting message to distribute the message reception time point to the client.
  • SP service provider
  • the client interworking unit may transmit, to the client, a keep-alive setting message for distributing a time point for receiving the keep-alive message according to a uniform distribution during the preset keep-alive message transmission period.
  • the client interworking unit sequentially delays the transmission period of the preset keep-alive message by the time divided by the number of synchronized clients when the keep-alive message is received, and transmits the keep-alive setting message to the client. do.
  • the client interworking unit may generate the keep alive setting message including a time value for initializing a transmission period of the keep alive message.
  • the client interworking unit may determine whether reception timings of the keep alive messages are synchronized according to whether the received keep alive message exceeds a threshold number during a preset period.
  • the setting message transmitting step may include transmitting the keep-alive setting message to the client to distribute the reception time point of the keep-alive message according to a uniform distribution during the transmission period of the preset keep-alive message.
  • the setting message transmitting step may include delaying the transmission period of the preset keep-alive message sequentially by the time divided by the number of synchronized clients when the reception time of the keep-alive message is transmitted, and transmitting the keep-alive setting message to the client. It features.
  • the setting message transmitting step may include generating the keep alive setting message including a time value for initializing a transmission period of the keep alive message.
  • the message synchronization checking step may include checking whether reception timings of the keep alive messages are synchronized according to whether the received keep alive message exceeds a threshold number during a preset period.
  • the transmission of the keep-alive message may include: The keep alive message is transmitted to the push service device.
  • the receiving of the setting message may include receiving a keep alive setting message for distributing the keep alive message transmission time during a preset transmission period of the keep alive message.
  • the present invention it is possible to reduce the burst traffic caused by the keep-alive message by distributing the keep-alive message transmitted by the client.
  • FIG. 1 is a diagram illustrating a transmission process of a keep alive message in a push service system
  • FIG. 2 is an explanatory diagram illustrating a synchronization phenomenon of a keep-alive message
  • FIG. 3 is a network diagram of a system for providing a push service for message load balancing according to the present invention
  • FIG. 4 is a detailed configuration diagram of an embodiment of a push service device for message load balancing according to the present invention.
  • FIG. 5 is a diagram illustrating an embodiment of a load balancing process of a keep-alive message according to the present invention
  • FIG. 6 is a flowchart illustrating a push service method for message load balancing according to the present invention.
  • FIG. 3 is a network diagram of a push service providing system for message load balancing according to the present invention.
  • the push service providing system 100 includes a plurality of service providing apparatuses 100-1 to 100 -N: 100, a push service apparatus 300, and a plurality of clients 400.
  • -1 to 400-K 400, which shows a structure in which a plurality of service providing apparatuses 100 and a plurality of clients 400 are connected through a central push service apparatus 300.
  • the plurality of clients 400 may include, for example, a PC, a notebook computer, a smart phone, a PDA, a tablet PC, a navigation device, a PMP, an electronic dictionary, an MP3, and the like as a terminal connectable to the communication network 200.
  • the plurality of clients 400 are equipped with a client application for accessing the communication network 200 and transmitting and receiving predetermined data (particularly, push messages, push notifications, etc.).
  • the plurality of service providing apparatuses 100 refer to a server or a terminal that provides a service by transmitting a push message to the plurality of clients 400.
  • the push service device 300 basically collects push messages transmitted from the plurality of service providing devices 100 and delivers them to the corresponding client 400.
  • the push service device 300 manages the interconnection between the service providing device 100 and the client 400 between the plurality of service providing devices 100 and the plurality of clients 400.
  • the interconnection between the service providing device 100 and the client 400 is maintained by a keep alive message that the client 400 sends to the push service device 300.
  • the push service apparatus 300 detects whether transmission times at which the plurality of clients 400 transmit the keep alive message are synchronized. Alternatively, the push service device 300 may detect whether the reception timings of the keep alive messages received from the plurality of clients 400 are synchronized. Hereinafter, for convenience of description, the push service apparatus 300 will be described by referring to detecting whether transmission times at which a plurality of clients 400 transmit a keep alive message are synchronized.
  • the push service device 300 uniformly distributes the keep-alive setup message during the keep-alive transmission period T interval.
  • the keep-alive message transmission time of the plurality of clients 400 may be uniformly distributed during the keep-alive transmission period T period.
  • the transmission period of the keep-alive message is set in the client 400 in advance. This is to avoid synchronization of transmission time of keep alive messages of a plurality of clients 400.
  • the push service apparatus 300 uniformly distributes and transmits the keep-alive setting message to the plurality of clients 400 at the time when the synchronization phenomenon is detected, the keep-alive transmission time points of the plurality of clients 400 are distributed. Keep Alive messages are not synchronized.
  • keep-alive transmission time points of the plurality of clients 400 are distributed and the keep-alive message transmission points are not synchronized, the keep-alive messages of the plurality of clients 400 that are received by the push-versive device 300 are consequently received.
  • the views will also be distributed and not synchronized.
  • the push service device 300 keeps track according to ((n + 1) / N) * T.
  • the Alive Setting message is evenly distributed during the transmission period T interval and transmitted to N clients. This uniform distribution will be described in detail with reference to FIG. 5.
  • the plurality of clients 400 receive the keep-alive setting message from the push service device 300, and initialize the transmission time of the keep-alive message at the received time. As a result, transmission times of keep-alive messages transmitted by the plurality of clients 400 are distributed.
  • FIG. 4 is a detailed block diagram of an embodiment of a push service device for message load balancing according to the present invention.
  • the push service device 300 includes an SP interlocking unit 310, a control unit 320, a Client interlocking unit 330, and a load balancer 340.
  • the SP interlocking unit 310 is connected to the plurality of service providing apparatuses 100 and receives a push message to be transmitted to the client 400 from the plurality of service providing apparatuses 100.
  • the push message includes a message having a nature of announcement, such as new information or update information, event information.
  • the client interworking unit 330 connects with the plurality of clients 400 and transmits the push message received from the SP interlocking unit 310 to the plurality of clients 400.
  • the client interworking unit 330 is connected to the plurality of clients 400 to receive the keep-alive message, and detects whether the transmission time point at which the plurality of clients 400 transmits the keep-alive message is synchronized. Alternatively, the client interworking unit 330 may detect whether the reception timings of the keep-alive messages received from the plurality of clients 400 are synchronized.
  • the client interworking unit 330 determines whether a keep-alive message transmitted by the plurality of clients 400 is received in excess of a predetermined number of messages during a predetermined period, thereby providing a plurality of clients 400. It is possible to detect whether the transmission time point for transmitting the keep-alive message or the reception time point of the keep-alive message received from the plurality of clients 400 are synchronized. Hereinafter, for convenience of description, it will be described by referring to detecting whether the transmission time point for transmitting the keep-alive message is synchronized by the plurality of clients 400.
  • the client interworking unit 330 transmits a keep-alive setting message to the plurality of clients 400 to distribute the transmission time points.
  • the SP interlocking unit 310 or the Client interlocking unit 330 may be provided in plural numbers according to the number of connection of the service providing apparatus 100 or the client 400 connected to each of the interlocking units 310 and 330.
  • each linking unit (310, 330) the number of terminals that can be accommodated is determined based on this can be expanded.
  • the load balancer 340 receives its own state information from each SP interlocking unit 310 or Client interlocking unit 330, calculates load information of each interlocking unit, and stores the calculated load information in a table.
  • the control unit 320 manages the plurality of SP interlocking unit 310 and the Client interlocking unit 330, and when the push message is received from the SP interlocking unit 310, the corresponding client has the client information included in the push message.
  • the client linkage unit 330 that can be accessed is extracted and the push message is transmitted to the extracted client linkage unit 330.
  • the control unit 320 manages routing information for the client interworking unit 330 accessible by each client.
  • the client interlocking unit 330 that can be accessed for each client refers to a client interlocking unit for which the client maintains a connection state.
  • FIG. 5 is a diagram illustrating an embodiment of a load balancing process of a keep-alive message according to the present invention.
  • a plurality of clients Client # 1 410, Client # 2 420, and Client # 3 430, respectively receive push messages # 1, # 2, and # 3, and transmit a transmission period.
  • the keep alive message is transmitted to the push service device 300.
  • the push service device since the time points at which the client # 1 410, the client # 2 420, and the client # 3 430 receive the push messages # 1, # 2, and # 3 are concentrated at a specific time, the push service device ( The synchronization phenomenon 501 occurs at the time point of receiving the keep-alive message received from the client # 1 410, the client # 2 420, and the client # 3 430.
  • the client interworking unit 330 of the push service device 300 detects whether the synchronization phenomenon 501 occurs.
  • the client interworking unit 330 sets the client to the client # 1 410, the client # 2 420, and the client # 3 430 to change the transmission start point of the keep-alive message. Send a message.
  • the client interworking unit 330 selects an arbitrary value according to the Uniform Distribution during the transmission period T of the preset keep-alive message.
  • the uniform distribution may be calculated according to the transmission period T of the preset keep-alive message and the number of sessions connected with the client.
  • the client interworking unit 330 delays the keep-alive setting message for the selected time and transmits the delayed keep-alive setting message to the corresponding client.
  • the client interworking unit 330 may The delayed set-up message is sequentially sent to clients # 1 410, # 2 420, and # 3 430 by delaying the preset transmission period T by the time (1/3) T divided by the number of clients '3'. To send.
  • the client interworking unit 330 transmits a keep-alive setting message to the client # 1 410 by delaying (1/3) T and delays (2/3) T to the client # 2 (420).
  • the keep-alive setting message is transmitted, and the keep-alive setting message is transmitted to the client # 3 430 with a delay of (3/3) T.
  • the keep-alive setting message indicates a message for changing the start point of the transmission cycle timer of the keep-alive message.
  • the client interworking unit 330 may transmit a keep-alive setting message in zones.
  • the client # 1 410, the client # 2 420, and the client # 3 430 respectively initialize the transmission cycle timers of the keep-alive messages at different points in time when the keep-alive setting message is received.
  • the client # 1 410, the client # 2 420, and the client # 3 430 each keep keep alive after the transmission period T has elapsed according to the transmission period T of the initialized keep-alive message.
  • the message is transmitted to the push service device 300.
  • each client upon receiving the keep-alive setting message, initializes the transmission period timer and transmits the keep-alive message to the push service device 300 at the time when the next transmission period timer T arrives. This solves the synchronization phenomenon, as shown at "502".
  • the time point at which each client transmits the keep-alive message is distributed evenly with respect to the transmission period T of the keep-alive message. This allows suppression of burst traffic generation of the network by keepalive messages.
  • FIG. 6 is a flowchart illustrating a push service method for message load balancing according to the present invention.
  • the plurality of clients 400 attempts to connect to the accessible client interworking unit 330 (S602).
  • the controller 320 transmits the push message received from the service providing apparatus 100 through the SP interlocking unit 310 to the client interlocking unit 330 (S606).
  • Client interworking unit 330 transmits a push message to a plurality of clients (400) (S608).
  • the client interworking unit 330 receives a keep-alive message from the plurality of clients 400 (S610).
  • the client interworking unit 330 checks whether the reception timings of the received keep-alive messages are synchronized with each other (S612).
  • the client interlocking unit 330 selects a random value according to the uniform distribution during the transmission period T of the preset keep-alive message (S614).
  • the random value may be a value uniformly distributed so as not to overlap each other during the transmission period T of the keep-alive message.
  • the selected value may be a time value obtained by dividing the preset transmission period T by the number of clients.
  • the client interworking unit 330 continuously performs a “612” process of detecting a synchronization phenomenon.
  • the client interworking unit 330 sequentially delays the keep-alive setting message by the time value selected in step S614 and transmits the delayed keep-alive setting message to the corresponding client (S616).
  • the keep-alive configuration message for distributing the keep-alive message reception time is transmitted to the client.
  • the keep-alive message transmitted by the client is uniformly distributed during the transmission period, thereby reducing burst traffic caused by the keep-alive message.
  • the present invention detects when a keep alive message reception time for synchronization between a push service device and a client is synchronized and transmits a keep alive configuration message for distributing the keep alive message to the client, thereby keeping the client transmitting the keep alive message.
  • the alive message is distributed evenly during the transmission period, thereby reducing the burst traffic caused by the keep alive message.
  • it is a useful invention with industrial applicability because the possibility of construction and sales of the applied server as well as the use of related technology is not only sufficient for the related technology, but also practically clearly implemented. .

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

본 발명은 서비스 제공자 및 클라이언트와 서로 연결되어 푸시 서비스를 제공하는 푸시 서비스 장치에 부하 분산 기능을 구현하여 서비스 제공자 및 클라이언트가 푸시 서비스 장치에 접속할 때 접속하는 단말을 적절하게 분산시킴으로써 푸시 서비스 장치의 부하를 줄이는 푸시 서비스 제공 시스템 및 방법을 제공한다.

Description

메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법
본 발명은 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법에 관한 것으로서, 더욱 상세하게는 클라이언트가 전송하는 킵 얼라이브 메시지를 분산시킴으로써 킵 얼라이브 메시지에 의한 버스트 트래픽을 감소시킬 수 있는, 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법에 관한 것이다.
스마트 폰(smart phone)이 보급되고 스마트 폰 환경으로 인해 다양한 응용 프로그램(Application)이 등장함에 따라 무선 자원의 사용량이 크게 증가하고 있다. 특히, IM(Instant Messaging), 웹(Web), 위젯(Widget) 서비스와 같이 망으로부터 실시간 푸시 메시지 혹은 푸시 알림(Push Notification) 등을 받기 위해 항시 접속되어 있는 형태(Always-On 형태)의 응용 프로그램이 현재 급속도로 증가하고 있다. Always-On 형태의 응용 프로그램은 저마다 서비스 제공자와 연결을 유지하면서 푸시 서비스를 받도록 준비하고 있기 때문에 과다한 트래픽을 유발하고, 배터리 소모를 빠르게 하는 문제점이 있다.
이러한 문제점을 해결하기 위해, 종래의 푸시 서버는 서비스 제공자와 클라이언트가 직접적으로 연결되지 않고, 클라이언트(Client) 내에 구축된 데몬(Daemon)을 통해 푸시 서버와 연결을 유지하고 서비스 제공자(Service Provider)가 푸시 메시지 혹은 푸시 알림을 전송하면 중앙의 푸시 서버가 전달 받아 해당 클라이언트로 전송하는 방식을 채택하고 있다.
도 1은 푸시 서비스 시스템에서의 킵 얼라이브 메시지의 전송 과정에 대한 설명도이다.
Always-On 형태의 응용 프로그램은 클라이언트를 통해 저마다 서비스 제공자와 연결을 유지하고 있다. 이러한 연결 유지를 위해, 클라이언트(10)는 킵 얼라이브(Keep alive) 메시지를 통해 응용 프로그램의 프레즌스(Presence) 정보를 푸시 서버(20)로 전송하고, 푸시 서버(20)는 킵 얼라이브 메시지를 수신하여 응용 프로그램의 프레즌스 정보를 확인한다.
일반적으로, 킵 얼라이브 메시지는 단말에 설치된 클라이언트(10)로부터 푸시 서버(20)로 전송된다. 클라이언트(10)는 기 설정된 주기로 킵 얼라이브 메시지를 푸시 서버(20)로 전송한다. 킵 얼라이브 메시지는 응용 프로그램의 프레즌스 정보를 확인하기 위함이다. 이러한 이유로, 킵 얼라이브 메시지의 전송 주기는 가능한 짧게 설정되는 것이 보편적이다.
킵 얼라이브 메시지의 전송되는 경우를 도 1의 (a) 및 (b)를 참조하여 살펴보면 다음과 같다.
일례로, 킵 얼라이브 메시지의 전송을 위한 전송 주기 타이머(Timer)는 단말 측의 클라이언트(10)에서 푸시 메시지 수신과 같은 이벤트가 발생하면 초기화된다. 클라이언트(10)가 초기화된 전송 주기 타이머의 기한 만료 시 킵 얼라이브 메시지를 전송하는 경우가 도 1의 (b)에 도시되어 있다.
다른 예로, 클라이언트(10)는 푸시 메시지 수신과 같은 이벤트에 상관없이 킵 얼라이브 메시지를 수신한다. 이러한 푸시 메시지의 수신 과정에서 기 설정된 전송 주기 타이머의 기한 만료 시간마다 킵 얼라이브 메시지를 전송하는 경우가 도 1의 (a)에 도시되어 있다.
도 2는 킵 얼라이브 메시지의 동기화 현상에 대한 일실시예 설명도이다.
다수의 클라이언트 #1, #2, #3(11, 12, 13)에서 푸시 서버(20)로 킵 얼라이브 메시지가 전송되는 경우를 도 2를 참조하여 살펴보면 다음과 같다.
전술된 바와 같이, 다수의 클라이언트 #1, #2, #3(11, 12, 13)의 타이머는 이벤트 발생시(예컨대, 푸시 메시지 수신 시, 킵 얼라이브 메시지 송수신시 등)에 초기화된다. 일반적인 경우에는 다수의 클라이언트 #1, #2, #3(11, 12, 13)는 전송 주기 타이머 T가 지난 후 서로 다른 시점에 킵 얼라이브 메시지 #1, #2, #3를 푸시 서버(20)로 전송한다. 일반적으로 동일 망에서 단말의 킵 얼라이브 주기는 동일하다.
하지만, 특정 이벤트 발생시 타이머가 초기화되는 현상으로 인해 푸시 메시지의 송수신이 최대로 많은 시간(예컨대, 퇴근 시간, 출근 시간 등)에 다수의 클라이언트 #1, #2, #3(11, 12, 13)는 유사한 시각에 푸시 메시지 #1, #2, #3를 집중적으로 수신한다. 푸시 메시지 수신으로 초기화되고 전송 주기 타이머 T가 경과된 후에 이를 기준으로 다수의 클라이언트 #1, #2, #3(11, 12, 13)는 킵 얼라이브 메시지를 푸시 서버(20)로 전송한다. 이러한 이유로 킵 얼라이브 메시지가 서로 동기화되는 동기화 현상(201)이 발생한다. 네트워크에서는 집중적인 킵 얼라이브 메시지로 인해 버스트 트래픽(Burst Traffic)이 발생된다. 이러한 킵 얼라이브 메시지에 의한 버스트 트래픽으로 인해 네트워크 과부하가 발생하는 문제점이 있다.
본 발명은 상기의 필요성에 의해 창안된 것으로서, 클라이언트가 전송하는 킵 얼라이브 메시지를 분산시킴으로써 킵 얼라이브 메시지에 의한 버스트 트래픽을 감소시킬 수 있는, 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법을 제공하는 데 그 목적이 있다.
이를 위하여 본 발명의 제1 측면에 따른 장치는, 서비스 제공 장치로부터 푸시 메시지를 수신하여 해당 클라이언트들에게 전송하고, 상기 클라이언트들과의 접속 유지를 위한 킵 얼라이브 메시지의 수신 시점이 동기화되는 경우, 상기 클라이언트들의 상기 킵얼라이브 메시지 수신 시점을 소정의 주기 내에서 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 클라이언트들로 전송하는 메시지 부하 분산을 위한 푸시 서비스 장치인 것을 특징으로 한다.
한편, 본 발명의 제2 측면에 따른 장치는, 서비스 제공 장치와 접속하는 SP(Service Provider) 연동부; 상기 SP 연동부를 통해 수신한 푸시 메시지를 해당 클라이언트로 전송하도록 라우팅하는 제어부; 및 상기 제어부로부터 전달된 푸시 메시지를 해당 클라이언트로 전송하고, 상기 클라이언트로부터 킵 얼라이브 메시지를 수신하고 상기 수신된 킵 얼라이브 메시지의 수신 시점이 동기화되는 경우, 기 설정된 킵 얼라이브 메시지의 전송 주기 동안에 상기 킵 얼라이브 메시지의 수신 시점을 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 Client 연동부를 포함하는 것을 특징으로 한다.
상기 Client 연동부는, 상기 기 설정된 킵 얼라이브 메시지의 전송 주기 동안에 균일 분포(Uniform Distribution)에 따라 상기 킵 얼라이브 메시지의 수신 시점을 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 것을 특징으로 한다.
상기 Client 연동부는, 상기 기 설정된 킵 얼라이브 메시지의 전송 주기를 상기 킵 얼라이브 메시지의 수신 시점이 동기화된 클라이언트 개수로 나눈 시간만큼 순차적으로 지연시켜, 상기 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 것을 특징으로 한다.
상기 Client 연동부는, 상기 킵 얼라이브 메시지의 전송 주기를 초기화시키는 시간 값을 포함하는 상기 킵 얼라이브 설정 메시지를 생성하는 것을 특징으로 한다.
상기 Client 연동부는, 상기 수신된 킵 얼라이브 메시지가 기 설정된 구간 동안에 임계치 개수를 초과하는지 여부에 따라 상기 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 확인하는 것을 특징으로 한다.
한편, 본 발명의 제3 측면에 따른 방법은, 서비스 제공 장치로부터 수신된 푸시 메시지를 해당 클라이언트로 전송하는 푸시 메시지 전송 단계; 상기 클라이언트로부터 킵 얼라이브 메시지를 수신하는 킵 얼라이브 메시지 수신 단계; 상기 수신된 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 확인하는 메시지 동기화 확인 단계; 및 상기 킵 얼라이브 메시지의 수신 시점이 동기화되는 경우, 기 설정된 킵 얼라이브 메시지의 전송 주기 동안에 상기 킵 얼라이브 메시지의 수신 시점을 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 설정 메시지 전송 단계를 포함하는 것을 특징으로 한다.
상기 설정 메시지 전송 단계는, 상기 기 설정된 킵 얼라이브 메시지의 전송 주기 동안 균일 분포에 따라 상기 킵 얼라이브 메시지의 수신 시점을 분산시키기 위한 상기 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 것을 특징으로 한다.
상기 설정 메시지 전송 단계는, 상기 기 설정된 킵 얼라이브 메시지의 전송 주기를 상기 킵 얼라이브 메시지의 수신 시점이 동기화된 클라이언트 개수로 나눈 시간만큼 순차적으로 지연시켜, 상기 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 것을 특징으로 한다.
상기 설정 메시지 전송 단계는, 상기 킵 얼라이브 메시지의 전송 주기를 초기화시키는 시간 값을 포함하는 상기 킵 얼라이브 설정 메시지를 생성하는 것을 특징으로 한다.
상기 메시지 동기화 확인 단계는, 상기 수신된 킵 얼라이브 메시지가 기 설정된 구간 동안에 임계치 개수를 초과하는지 여부에 따라 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 확인하는 것을 특징으로 한다.
한편, 본 발명의 제4 측면에 따른 방법은, 킵 얼라이브 메시지의 전송 주기 타이머를 확인하여 상기 전송 주기 타이머의 기한이 만료된 경우, 푸시 서비스 장치로 킵 얼라이브 메시지를 전송하는 킵 얼라이브 메시지 전송 단계; 상기 킵 얼라이브 메시지를 전송하는 킵 얼라이브 메시지 전송 시점을 소정의 주기 내에서 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 푸시 서비스 장치로부터 수신하는 설정 메시지 수신 단계; 및 상기 킵 얼라이브 설정 메시지의 수신에 따라 상기 킵 얼라이브 메시지의 전송 주기 타이머를 초기화하는 타이머 초기화 단계를 포함하고, 상기 킵 얼라이브 메시지 전송 단계는, 상기 초기화된 전송 주기 타이머의 기한이 만료된 경우, 상기 푸시 서비스 장치로 킵 얼라이브 메시지를 전송하는 것을 특징으로 한다.
상기 설정 메시지 수신 단계는, 상기 킵 얼라이브 메시지 전송 시점을 기 설정된 상기 킵 얼라이브 메시지의 전송 주기 동안에 분산시키기 위한 킵 얼라이브 설정 메시지를 수신하는 것을 특징으로 한다.
본 발명에 따르면, 클라이언트가 전송하는 킵 얼라이브 메시지를 분산시킴으로써 킵 얼라이브 메시지에 의한 버스트 트래픽을 감소시킬 수 있는 효과가 있다.
도 1은 푸시 서비스 시스템에서의 킵 얼라이브 메시지의 전송 과정에 대한 설명도,
도 2는 킵 얼라이브 메시지의 동기화 현상에 대한 설명도,
도 3은 본 발명에 따른 메시지 부하 분산을 위한 푸시 서비스 제공 시스템의 네트워크 구성도,
도 4는 본 발명에 따른 메시지 부하 분산을 위한 푸시 서비스 장치의 일실시예 상세 구성도,
도 5 는 본 발명에 따른 킵 얼라이브 메시지의 부하 분산 과정에 대한 일실시예 설명도,
도 6 은 본 발명에 따른 메시지 부하 분산을 위한 푸시 서비스 방법에 대한 일실시예 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다. 본 발명의 상세한 설명에 앞서, 동일한 구성요소에 대해서는 다른 도면 상에 표시되더라도 가능한 동일한 부호로 표시하며, 공지된 구성에 대해서는 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 구체적인 설명은 생략하기로 함에 유의한다.
도 3은 본 발명에 따른 메시지 부하 분산을 위한 푸시 서비스 제공 시스템의 네트워크 구성도이다.
도 3에 도시된 바와 같이, 본 발명에 따른 푸시 서비스 제공 시스템(100)은 다수의 서비스 제공 장치(100-1 내지 100-N: 100)와, 푸시 서비스 장치(300) 및 다수의 클라이언트(400-1 내지 400-K: 400)로 구성되어, 중앙의 푸시 서비스 장치(300)를 매개로 다수의 서비스 제공 장치(100)와 다수의 클라이언트(400)의 접속이 이루어지는 구조를 보여주고 있다.
다수의 클라이언트(400)는, 통신망(200)에 접속 가능한 단말로서, 예컨대 PC, 노트북, 스마트 폰, PDA, 태블릿 PC, 네비게이션, PMP, 전자사전, MP3 등을 포함할 수 있다. 다수의 클라이언트(400)는 통신망(200)에 접속하여 소정의 데이터(특히 푸시 메시지, 푸시 알림 등)를 송수신하는 클라이언트 응용 프로그램(application)을 탑재한다.
다수의 서비스 제공 장치(100)는, 다수의 클라이언트(400)로 푸시 메시지를 송신하여 서비스를 제공하는 서버 또는 단말을 의미한다.
푸시 서비스 장치(300)는, 기본적으로 다수의 서비스 제공 장치(100)로부터 전송하는 푸시 메시지를 취합하여 해당 클라이언트(400)로 전달한다.
이때, 푸시 서비스 장치(300)는, 다수의 서비스 제공 장치(100)와 다수의 클라이언트(400) 사이에서 서비스 제공 장치(100)와 클라이언트(400) 간의 상호 접속을 관리한다. 서비스 제공 장치(100)와 클라이언트(400) 간의 상호 접속은, 클라이언트(400)가 푸시 서비스 장치(300)로 전송하는 킵 얼라이브 메시지에 의해 유지된다.
킵 얼라이브 메시지의 부하 분산을 위해, 푸시 서비스 장치(300)는, 다수의 클라이언트(400)가 킵 얼라이브 메시지를 전송하는 전송 시점이 동기화되는지 여부를 감지한다. 또는, 푸시 서비스 장치(300)는, 다수의 클라이언트(400)로부터 수신되는 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 감지할 수 있다. 이하에서는, 설명의 편의를 위해, 푸시 서비스 장치(300)는, 다수의 클라이언트(400)가 킵 얼라이브 메시지를 전송하는 전송 시점이 동기화되는지 여부를 감지하는 것을 언급하여 설명하도록 한다.
푸시 서비스 장치(300)는, 감지 결과 다수의 클라이언트(400)로부터 수신된 킵 얼라이브 메시지의 전송 시점이 동기화되는 경우, 킵 얼라이브 설정 메시지를 킵 얼라이브 전송 주기 T 구간 동안에 균일하게 분포시켜 다수의 클라이언트(400)로 전송함으로써, 다수의 클라이언트(400)의 킵 얼라이브 메시지 전송 시점을 킵 얼라이브 전송 주기 T 구간 동안에 균일하게 분포시킬 수 있다.
여기서, 킵 얼라이브 메시지의 전송 주기는, 클라이언트(400)에 기 설정되어 있다. 이는 다수의 클라이언트(400)의 킵 얼라이브 메시지의 전송 시점 동기화를 회피하기 위함이다.
즉, 푸시 서비스 장치(300)가, 동기화 현상을 감지한 시점에서 다수의 클라이언트(400)로 킵 얼라이브 설정 메시지를 균일하게 분포시켜 전송하면, 다수의 클라이언트(400)의 킵 얼라이브 전송 시점이 분산되어 킵 얼라이브 메시지 전송 시점이 동기화되지 않는다.
이처럼, 다수의 클라이언트(400)의 킵 얼라이브 전송 시점이 분산되어 킵 얼라이브 메시지 전송 시점이 동기화되지 않으면, 결과적으로 푸시 버시브 장치(300)에서 수신하게 되는 다수의 클라이언트(400)의 킵 얼라이브 메시지 수신 시점 역시 분산되어 동기화되지 않을 것이다.
일례로, 킵 얼라이브 메시지의 전송 주기가 T이고 N개의 클라이언트가 푸시 서비스 장치(300)에 접속되어 있는 경우, 푸시 서비스 장치(300) 는, ((n+1)/N)*T에 따라 킵 얼라이브 설정 메시지를 전송 주기 T 구간 동안 균일하게 분포시켜 N개의 클라이언트로 전송한다. 이러한 균일 분포에 대해서는 도 5를 참조하여 상세하게 설명하기로 한다.
다수의 클라이언트(400)는, 푸시 서비스 장치(300)로부터 킵 얼라이브 설정 메시지를 수신하고, 수신된 시점에 킵 얼라이브 메시지의 전송 시점을 초기화한다. 이를 통해, 다수의 클라이언트(400)가 전송하는 킵 얼라이브 메시지의 전송 시점이 분산된다.
도 4는 본 발명에 따른 메시지 부하 분산을 위한 푸시 서비스 장치의 일실시예 상세 구성도이다.
본 발명에 따른 푸시 서비스 장치(300)는, SP 연동부(310), 제어부(320), Client 연동부(330) 및 부하 분산부(340)를 포함한다.
SP 연동부(310)는, 다수의 서비스 제공 장치(100)와 접속하여 다수의 서비스 제공 장치(100)로부터 클라이언트(400)에 전송할 푸시 메시지를 수신한다. 여기서, 푸시 메시지는 신규 정보 또는 갱신 정보, 이벤트 정보 등 공지사항의 성격을 갖는 메시지를 포함한다.
Client 연동부(330)는, 다수의 클라이언트(400)와 접속하여 SP 연동부(310)로부터 수신한 푸시 메시지를 다수의 클라이언트(400)로 전송한다.
또한, Client 연동부(330)는, 다수의 클라이언트(400)와 접속하여 킵 얼라이브 메시지를 수신하고, 다수의 클라이언트(400)가 킵 얼라이브 메시지를 전송하는 전송 시점이 동기화되는지 여부를 감지한다. 또는, Client 연동부(330)는, 다수의 클라이언트(400)로부터 수신되는 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 감지할 수 있다.
동기화 감지에 대해서, Client 연동부(330)는, 다수의 클라이언트(400)가 전송한 킵 얼라이브 메시지가 기 설정된 구간 동안에 기 설정된 메시지 개수를 초과하여 수신되는지 여부를 확인함으로써, 다수의 클라이언트(400)가 킵 얼라이브 메시지를 전송하는 전송 시점 또는 다수의 클라이언트(400)로부터 수신되는 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 감지할 수 있다. 이하에서는, 설명의 편의를 위해, 다수의 클라이언트(400)가 킵 얼라이브 메시지를 전송하는 전송 시점이 동기화되는지 여부를 감지하는 것을 언급하여 설명하도록 한다.
그리고, Client 연동부(330)는, 다수의 클라이언트(400)의 킵 얼라이브 메시지전송 시점이 동기화되는 경우, 다수의 클라이언트(400)로 킵 얼라이브 설정 메시지를 전송하여 전송 시점을 분산시킨다.
SP 연동부(310) 또는 Client 연동부(330)는, 각 연동부(310, 330)에 접속하는 서비스 제공 장치(100) 또는 클라이언트(400)의 접속 수에 따라 복수 개로 구비할 수 있다. 일반적으로 각 연동부(310, 330)는, 수용 가능한 단말의 수가 정해져 있어서 이를 기준으로 증설이 가능하다.
부하 분산부(340)는, 각 SP 연동부(310) 또는 Client 연동부(330)로부터 자신의 상태 정보를 수신하여 각 연동부의 부하 정보를 산출하고, 산출한 부하 정보를 테이블화하여 저장한다.
제어부(320)는, 다수의 SP 연동부(310) 및 Client 연동부(330)를 관리하며, SP 연동부(310)로부터 푸시 메시지를 수신하면 푸시 메시지에 포함되어 있는 클라이언트 정보를 가지고 해당 클라이언트가 접속 가능한 Client 연동부(330)를 추출하고, 추출한 Client 연동부(330)로 푸시 메시지를 전송한다. 여기서, 제어부(320)는 각 클라이언트 별로 접속 가능한 Client 연동부(330)에 대한 라우팅 정보를 관리한다. 각 클라이언트 별로 접속 가능한 Client 연동부(330)는 클라이언트가 접속 상태를 유지하고 있는 Client 연동부를 의미한다.
이하, 도 5를 참조하여 킵 얼라이브 메시지의 부하 분산 과정에 대해서 구체적으로 살펴보기로 한다.
도 5 는 본 발명에 따른 킵 얼라이브 메시지의 부하 분산 과정에 대한 일실시예 설명도이다.
도 5에 도시된 바와 같이, 다수의 클라이언트인 클라이언트 #1(410), 클라이언트 #2(420), 클라이언트 #3(430)은 푸시 메시지 #1, #2, #3를 각각 수신하고, 전송 주기 타이머 T가 경과한 이후에 킵 얼라이브 메시지를 푸시 서비스 장치(300)로 전송한다. 여기서, 클라이언트 #1(410), 클라이언트 #2(420), 클라이언트 #3(430)이 푸시 메시지 #1, #2, #3를 수신한 시점이 특정 시간에 집중되어 있기 때문에, 푸시 서비스 장치(300)가 클라이언트 #1(410), 클라이언트 #2(420), 클라이언트 #3(430)로부터 수신하는 킵 얼라이브 메시지의 수신 시점에 동기화 현상(501)이 발생한다.
이러한 동기화 현상을 해결하기 위해, 푸시 서비스 장치(300)의 Client 연동부(330)는 동기화 현상(501)이 발생하는지 여부를 감지한다. 동기화 현상(501)이 발생하는 경우, Client 연동부(330)는 킵 얼라이브 메시지의 전송 시작점을 변경하도록 클라이언트 #1(410), 클라이언트 #2(420), 클라이언트 #3(430)에 각각 클라이언트 설정 메시지를 전송한다.
일례로, Client 연동부(330)는, 기 설정된 킵 얼라이브 메시지의 전송 주기 T 동안에 균일 분포(Uniform Distribution)에 따라 임의의 값을 선택한다. 여기서, 균일 분포는 기 설정된 킵 얼라이브 메시지의 전송 주기 T와 클라이언트와 연결된 세션 수에 따라 계산될 수 있다. 그리고 Client 연동부(330)는 선택된 시간 동안 킵 얼라이브 설정 메시지를 지연시켜 해당 클라이언트로 전송한다.
이를 구체적으로 살펴보면, 전송 주기 타이머가 T이고 3개의 클라이언트 #1(410), #2(420), #3(430)가 푸시 서비스 장치(300)와 접속된 경우, Client 연동부(330)는 기 설정된 전송 주기 T를 다수의 클라이언트 개수 ‘3’으로 나눈 시간 (1/3)T마다 지연시켜 클라이언트 #1(410), #2(420), #3(430)에 킵 얼라이브 설정 메시지를 순차적으로 전송한다.
즉, Client 연동부(330)는, (1/3)T만큼 지연시켜 클라이언트 #1(410)에 킵 얼라이브 설정 메시지를 전송하고, (2/3)T만큼 지연시켜 클라이언트 #2(420)에 킵 얼라이브 설정 메시지를 전송하고, (3/3)T만큼 지연시켜 클라이언트 #3(430)에 킵 얼라이브 설정 메시지를 전송한다. 여기서, 킵 얼라이브 설정 메시지는, 킵 얼라이브 메시지의 전송 주기 타이머의 시작점을 변경하라는 메시지를 나타낸다.
클라이언트 #1(410), 클라이언트 #2(420), 클라이언트 #3(430)이 존(Zone) 단위로 이루어져 있는 경우, Client 연동부(330)는 존 단위로 킵 얼라이브 설정 메시지를 전송할 수 있다.
이후, 클라이언트 #1(410), 클라이언트 #2(420), 클라이언트 #3(430)는 킵 얼라이브 설정 메시지를 수신한 서로 다른 시점에서 킵 얼라이브 메시지의 전송 주기 타이머를 각각 초기화한다.
그리고 클라이언트 #1(410), 클라이언트 #2(420), 클라이언트 #3(430) 각각은, 초기화된 킵 얼라이브 메시지의 전송 주기 T에 따라, 전송 주기 T가 경과한 후 즉 서로 다른 시점에 킵 얼라이브 메시지를 푸시 서비스 장치(300)로 전송하게 된다. 다시 말해, 각 클라이언트는, 킵 얼라이브 설정 메시지 수신 시, 전송 주기 타이머를 초기화하고, 다음 전송 주기 타이머 T가 도래한 시점에 킵 얼라이브 메시지를 푸시 서비스 장치(300)로 전송한다. 이를 통해, “502”에 도시된 바와 같이, 동기화 현상이 해결된다.
상기와 같이, 균일 분포에 따라 킵 얼라이브 설정 메시지가 전송 주기 T 동안에 지연되기 때문에, 각 클라이언트가 킵 얼라이브 메시지를 전송하는 시점은, 킵 얼라이브 메시지의 전송 주기 T에 대해서 고르게 분포된다. 이는 킵 얼라이브 메시지에 의한 네트워크의 버스트 트래픽 발생을 억제하게 한다.
도 6 은 본 발명에 따른 메시지 부하 분산을 위한 푸시 서비스 방법에 대한 일실시예 흐름도이다.
다수의 클라이언트(400)는 접속 가능한 Client 연동부(330)로 접속을 시도한다(S602).
Client 연동부(330)가 클라이언트(400)로 승인 응답 메시지를 전달하면, Client 연동부(330)를 통해 다수의 클라이언트(400)와 푸시 서비스 장치(300)간 세션이 연결된다(S604).
제어부(320)는 서비스 제공 장치(100)로부터 SP 연동부(310)를 통해 수신된 푸시 메시지를 Client 연동부(330)로 전달한다(S606).
Client 연동부(330)는 다수의 클라이언트(400)로 푸시 메시지를 전송한다(S608).
다수의 클라이언트(400)로 푸쉬 메시지를 전송한 후 전송 주기 타이머 T가 경과하면, Client 연동부(330)는 다수의 클라이언트(400)로부터 킵 얼라이브 메시지를 수신하게 된다(S610).
Client 연동부(330)는 수신된 킵 얼라이브 메시지의 수신 시점이 서로 동기화되어 있는지 여부를 확인한다(S612).
상기 확인 결과(S612), 킵 얼라이브 메시지의 수신 시점이 서로 동기화되어 있는 경우, Client 연동부(330)는 기 설정된 킵 얼라이브 메시지의 전송 주기 T 동안에 균일 분포에 따라 임의의 값을 선택한다(S614). 여기서, 임의의 값은 킵 얼라이브 메시지의 전송 주기 T 동안에 서로 중첩되지 않도록 균일하게 분포되는 값일 수 있다. 예를 들면, 선택된 값은 기 설정된 전송 주기 T를 다수의 클라이언트 개수로 나눈 시간 값일 수 있다.
반면, 킵 얼라이브 메시지의 수신 시점이 서로 동기화되지 않은 경우, Client 연동부(330)는 동기화 현상을 감지하는 “612” 과정을 지속적으로 수행한다.
Client 연동부(330)는 “S614” 과정에서 선택된 시간 값만큼 순차적으로 킵 얼라이브 설정 메시지를 지연시켜 해당 클라이언트로 전송한다(S616).
전술한 바와 같이, 본 발명에 따르면, 푸시 서비스 장치와 클라이언트와의 접속 유지를 위한 킵 얼라이브 메시지 수신 시점이 동기화되는 경우 이를 감지하여 킵 얼라이브 메시지의 수신 시점을 분산시키는 킵 얼라이브 설정 메시지를 클라이언트로 전송함으로써, 클라이언트가 전송하는 킵 얼라이브 메시지가 전송 주기 동안에 균일하게 분포되어 킵 얼라이브 메시지에 의한 버스트 트래픽을 감소시킬 수 있는 효과가 있다.
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서 본 발명의 명세서에 개시된 실시 예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균일한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.
본 발명은 푸시 서비스 장치와 클라이언트와의 접속 유지를 위한 킵 얼라이브 메시지 수신 시점이 동기화되는 경우 이를 감지하여 킵 얼라이브 메시지의 수신 시점을 분산시키는 킵 얼라이브 설정 메시지를 클라이언트로 전송함으로써, 클라이언트가 전송하는 킵 얼라이브 메시지가 전송 주기 동안에 균일하게 분포되어 킵 얼라이브 메시지에 의한 버스트 트래픽을 감소시킬 수 있는 효과가 있다. 이러한 점에서 종래 기술의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 서버의 구축 및 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용 가능성이 있는 유용한 발명이다.

Claims (13)

  1. 서비스 제공 장치로부터 푸시 메시지를 수신하여 해당 클라이언트들에게 전송하고, 상기 클라이언트들과의 접속 유지를 위한 킵 얼라이브 메시지의 수신 시점이 동기화되는 경우, 상기 클라이언트들의 상기 킵얼라이브 메시지 수신 시점을 소정의 주기 내에서 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 클라이언트들로 전송하는 메시지 부하 분산을 위한 푸시 서비스 장치.
  2. 서비스 제공 장치와 접속하는 SP(Service Provider) 연동부;
    상기 SP 연동부를 통해 수신한 푸시 메시지를 해당 클라이언트로 전송하도록 라우팅하는 제어부; 및
    상기 제어부로부터 전달된 푸시 메시지를 해당 클라이언트로 전송하고, 상기 클라이언트로부터 킵 얼라이브 메시지를 수신하고 상기 수신된 킵 얼라이브 메시지의 수신 시점이 동기화되는 경우, 기 설정된 킵 얼라이브 메시지의 전송 주기 동안에 상기 킵 얼라이브 메시지의 수신 시점을 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 Client 연동부
    를 포함하는 메시지 부하 분산을 위한 푸시 서비스 장치.
  3. 제 2 항에 있어서,
    상기 Client 연동부는,
    상기 기 설정된 킵 얼라이브 메시지의 전송 주기 동안에 균일 분포(Uniform Distribution)에 따라 상기 킵 얼라이브 메시지의 수신 시점을 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 것을 특징으로 하는 푸시 서비스 장치.
  4. 제 2 항에 있어서,
    상기 Client 연동부는,
    상기 기 설정된 킵 얼라이브 메시지의 전송 주기를 상기 킵 얼라이브 메시지의 수신 시점이 동기화된 클라이언트 개수로 나눈 시간만큼 순차적으로 지연시켜, 상기 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 것을 특징으로 하는 푸시 서비스 장치.
  5. 제 2 항에 있어서,
    상기 Client 연동부는,
    상기 킵 얼라이브 메시지의 전송 주기를 초기화시키는 시간 값을 포함하는 상기 킵 얼라이브 설정 메시지를 생성하는 것을 특징으로 하는 푸시 서비스 장치.
  6. 제 2 항에 있어서,
    상기 Client 연동부는,
    상기 수신된 킵 얼라이브 메시지가 기 설정된 구간 동안에 임계치 개수를 초과하는지 여부에 따라 상기 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 확인하는 것을 특징으로 하는 푸시 서비스 장치.
  7. 서비스 제공 장치로부터 수신된 푸시 메시지를 해당 클라이언트로 전송하는 푸시 메시지 전송 단계;
    상기 클라이언트로부터 킵 얼라이브 메시지를 수신하는 킵 얼라이브 메시지 수신 단계;
    상기 수신된 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 확인하는 메시지 동기화 확인 단계; 및
    상기 킵 얼라이브 메시지의 수신 시점이 동기화되는 경우, 기 설정된 킵 얼라이브 메시지의 전송 주기 동안에 상기 킵 얼라이브 메시지의 수신 시점을 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 설정 메시지 전송 단계
    를 포함하는 메시지 부하 분산을 위한 푸시 서비스 제공 방법.
  8. 제 7 항에 있어서,
    상기 설정 메시지 전송 단계는,
    상기 기 설정된 킵 얼라이브 메시지의 전송 주기 동안 균일 분포에 따라 상기 킵 얼라이브 메시지의 수신 시점을 분산시키기 위한 상기 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 것을 특징으로 하는 푸시 서비스 방법.
  9. 제 7 항에 있어서,
    상기 설정 메시지 전송 단계는,
    상기 기 설정된 킵 얼라이브 메시지의 전송 주기를 상기 킵 얼라이브 메시지의 수신 시점이 동기화된 클라이언트 개수로 나눈 시간만큼 순차적으로 지연시켜, 상기 킵 얼라이브 설정 메시지를 상기 클라이언트로 전송하는 것을 특징으로 하는 푸시 서비스 제공 방법.
  10. 제 7 항에 있어서,
    상기 설정 메시지 전송 단계는,
    상기 킵 얼라이브 메시지의 전송 주기를 초기화시키는 시간 값을 포함하는 상기 킵 얼라이브 설정 메시지를 생성하는 것을 특징으로 하는 푸시 서비스 제공 방법.
  11. 제 7 항에 있어서,
    상기 메시지 동기화 확인 단계는,
    상기 수신된 킵 얼라이브 메시지가 기 설정된 구간 동안에 임계치 개수를 초과하는지 여부에 따라 킵 얼라이브 메시지의 수신 시점이 동기화되는지 여부를 확인하는 것을 특징으로 하는 푸시 서비스 제공 방법.
  12. 킵 얼라이브 메시지의 전송 주기 타이머를 확인하여 상기 전송 주기 타이머의 기한이 만료된 경우, 푸시 서비스 장치로 킵 얼라이브 메시지를 전송하는 킵 얼라이브 메시지 전송 단계;
    상기 킵 얼라이브 메시지를 전송하는 킵 얼라이브 메시지 전송 시점을 소정의 주기 내에서 분산시키기 위한 킵 얼라이브 설정 메시지를 상기 푸시 서비스 장치로부터 수신하는 설정 메시지 수신 단계; 및
    상기 킵 얼라이브 설정 메시지의 수신에 따라 상기 킵 얼라이브 메시지의 전송 주기 타이머를 초기화하는 타이머 초기화 단계를 포함하고,
    상기 킵 얼라이브 메시지 전송 단계는, 상기 초기화된 전송 주기 타이머의 기한이 만료된 경우, 상기 푸시 서비스 장치로 킵 얼라이브 메시지를 전송하는 것을 특징으로 하는 클라이언트에서의 메시지 부하 분산을 위한 푸시 서비스 제공 방법.
  13. 제 12 항에 있어서,
    상기 설정 메시지 수신 단계는,
    상기 킵 얼라이브 메시지 전송 시점을 기 설정된 상기 킵 얼라이브 메시지의 전송 주기 동안에 분산시키기 위한 킵 얼라이브 설정 메시지를 수신하는 것을 특징으로 하는 클라이언트에서의 푸시 서비스 제공 방법.
PCT/KR2012/005155 2011-07-19 2012-06-29 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법 WO2013012184A2 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201280034147.1A CN103703453B (zh) 2011-07-19 2012-06-29 提供用于消息负载均衡的推送服务的系统及其方法
US14/107,829 US9258740B2 (en) 2011-07-19 2013-12-16 Push service providing system and method for balancing message loads

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2011-0071435 2011-07-19
KR1020110071435A KR101298743B1 (ko) 2011-07-19 2011-07-19 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/107,829 Continuation US9258740B2 (en) 2011-07-19 2013-12-16 Push service providing system and method for balancing message loads

Publications (2)

Publication Number Publication Date
WO2013012184A2 true WO2013012184A2 (ko) 2013-01-24
WO2013012184A3 WO2013012184A3 (ko) 2013-03-14

Family

ID=47558565

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/005155 WO2013012184A2 (ko) 2011-07-19 2012-06-29 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법

Country Status (4)

Country Link
US (1) US9258740B2 (ko)
KR (1) KR101298743B1 (ko)
CN (1) CN103703453B (ko)
WO (1) WO2013012184A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103858389A (zh) * 2013-05-31 2014-06-11 华为技术有限公司 一种传输会话的方法、客户端及Push服务器

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012060995A2 (en) * 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
KR101448593B1 (ko) * 2013-01-15 2014-10-13 주식회사 네이블커뮤니케이션즈 웹 서비스 푸시 방법 및 이를 수행하는 웹서비스푸시서버 및 웹 서비스 제공 서버
KR101690604B1 (ko) * 2013-06-20 2016-12-28 이현옥 유무선 웹 기반의 채팅시스템 및 그 방법
KR101526481B1 (ko) * 2013-07-22 2015-06-05 에스케이텔레콤 주식회사 단말장치 및 클라이언트장치와, 그 장치의 동작 방법
JP6584171B2 (ja) * 2015-07-02 2019-10-02 キヤノン株式会社 通信装置、通信方法及びプログラム
KR102408682B1 (ko) * 2017-12-20 2022-06-16 한국전자통신연구원 네트워크 라우팅 경로 설정 지원 장치 및 그 방법
JP7283103B2 (ja) * 2019-02-13 2023-05-30 日本電信電話株式会社 ゲートウェイ、通信システム及び通信方法
JP7271986B2 (ja) * 2019-02-13 2023-05-12 日本電信電話株式会社 ゲートウェイ、通信システム及び通信方法
CN110049532B (zh) * 2019-03-12 2021-04-30 上海感悟通信科技有限公司 一种用于无线自组网的心跳方法、受控节点和控制节点

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100333741B1 (ko) * 1999-06-30 2002-04-25 이계철 푸시시스템에서 멀티서버를 이용한 채널 연동 방법
KR20090065691A (ko) * 2007-12-18 2009-06-23 에스케이커뮤니케이션즈 주식회사 푸시 기반의 실시간 서비스 제공 방법, 네트워크 연결 유지방법, 실시간 서비스 서버 및 실시간 서비스 시스템
KR20100000576A (ko) * 2008-06-25 2010-01-06 주식회사 케이티 모바일 푸시 서비스를 제공하기 위한 시스템 및 그 방법
KR100992332B1 (ko) * 2006-02-27 2010-11-05 콸콤 인코포레이티드 푸시-투-토크 호 설정에서 각각의 타겟 반복에 대한 호 메시지들의 사전 패키징

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091936A (ja) * 2000-09-11 2002-03-29 Hitachi Ltd 負荷分散装置及び負荷見積もり方法
KR100715674B1 (ko) * 2005-09-15 2007-05-09 한국전자통신연구원 부하 분산 방법 및 장치, 그리고 이를 이용한 소프트웨어스트리밍 시스템
KR100727993B1 (ko) * 2005-10-04 2007-06-14 삼성전자주식회사 데이터 풀 방식을 이용한 데이터 푸시 서비스 방법 및시스템
KR101537043B1 (ko) * 2008-06-18 2015-07-15 삼성전자주식회사 통신 시스템에서 단말과 서버와의 연결 유지 방법 및시스템
US9313800B2 (en) * 2009-06-23 2016-04-12 Nokia Technologies Oy Method and apparatus for optimizing energy consumption for wireless connectivity
CN202050442U (zh) * 2010-12-31 2011-11-23 上海博泰悦臻电子设备制造有限公司 车辆全时在线系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100333741B1 (ko) * 1999-06-30 2002-04-25 이계철 푸시시스템에서 멀티서버를 이용한 채널 연동 방법
KR100992332B1 (ko) * 2006-02-27 2010-11-05 콸콤 인코포레이티드 푸시-투-토크 호 설정에서 각각의 타겟 반복에 대한 호 메시지들의 사전 패키징
KR20090065691A (ko) * 2007-12-18 2009-06-23 에스케이커뮤니케이션즈 주식회사 푸시 기반의 실시간 서비스 제공 방법, 네트워크 연결 유지방법, 실시간 서비스 서버 및 실시간 서비스 시스템
KR20100000576A (ko) * 2008-06-25 2010-01-06 주식회사 케이티 모바일 푸시 서비스를 제공하기 위한 시스템 및 그 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103858389A (zh) * 2013-05-31 2014-06-11 华为技术有限公司 一种传输会话的方法、客户端及Push服务器
CN103858389B (zh) * 2013-05-31 2016-11-02 华为技术有限公司 一种传输会话的方法、客户端及Push服务器

Also Published As

Publication number Publication date
CN103703453B (zh) 2016-11-23
KR101298743B1 (ko) 2013-08-26
CN103703453A (zh) 2014-04-02
US9258740B2 (en) 2016-02-09
WO2013012184A3 (ko) 2013-03-14
KR20130010663A (ko) 2013-01-29
US20140106796A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
WO2013012184A2 (ko) 메시지 부하 분산을 위한 푸시 서비스 제공 시스템 및 그 방법
WO2013094895A1 (ko) 메시지 처리 방법 및 장치
WO2012157940A2 (ko) 피드백메시지를 이용한 푸시 서비스 제공 시스템 및 방법
WO2012173444A2 (en) Apparatus and method for exchanging data between upnp based devices
WO2009154401A2 (en) Method and system for maintaining connections between a terminal and servers in a communication system
WO2010117244A2 (en) Apparatus and method for transmitting and receiving of broadcasting data in a communication system
WO2013165088A1 (en) Distributed transcoding apparatus and method using multiple servers
WO2015056833A1 (en) Web-based real time data pushing method and system thereof
WO2013058573A1 (en) Method and apparatus for generating connection identifier for device-to-device communication
WO2015133859A1 (en) Method and system for establishing a connection between a seeker device and a target device
EP2583423A2 (en) Apparatus and method for configuring personal network using pn routing table
WO2014073915A1 (en) Network-assisted discovery method and apparatus for use in wireless communication system
WO2015099366A1 (en) Method and apparatus for sharing data quota
CN107147663A (zh) 一种计算机集群系统的同步通讯方法和系统
EP3577916A1 (en) Method and apparatus for transmitting and receiving data in mission critical data communication system
WO2012157939A2 (ko) 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법
CN110740197A (zh) 一种核心网设备、核心网系统、通信方法
EP2911343A1 (en) Terminal, message distribution system, message distribution method, and message reception program
CN102611918A (zh) 视频同步播放控制系统及方法
KR20120128013A (ko) 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법
WO2013105809A1 (ko) 통신 시스템 및 그 통신 시스템에서 푸시 서비스 제공 방법
CN104411011B (zh) 微型基站、时钟服务器授时、同步方法和系统
WO2016039497A1 (ko) 일반 통화 모드 및 인터넷 통화 모드를 스위칭하는 통화 서비스 제공 방법 및 시스템
KR100882188B1 (ko) 이동통신시스템에서 유저데이터그램 프로토콜과 인터넷프로토콜 기반의 에이원 인터페이스 제공장치 및 방법
WO2014175482A1 (ko) 이더넷 오디오 전송 기능을 이용한 음악 반주 장치 및 음악 반주 시스템

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12815263

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205N DATED 19/05/2014)

122 Ep: pct application non-entry in european phase

Ref document number: 12815263

Country of ref document: EP

Kind code of ref document: A2