KR101272077B1 - System and method for providing push service - Google Patents
System and method for providing push service Download PDFInfo
- Publication number
- KR101272077B1 KR101272077B1 KR1020110045875A KR20110045875A KR101272077B1 KR 101272077 B1 KR101272077 B1 KR 101272077B1 KR 1020110045875 A KR1020110045875 A KR 1020110045875A KR 20110045875 A KR20110045875 A KR 20110045875A KR 101272077 B1 KR101272077 B1 KR 101272077B1
- Authority
- KR
- South Korea
- Prior art keywords
- push
- message
- client
- queue
- service
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/08—Load balancing or load distribution
- H04W28/09—Management thereof
- H04W28/0925—Management thereof using policies
- H04W28/0942—Management thereof using policies based on measured or predicted load of entities- or links
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/10—Flow control between communication endpoints
- H04W28/14—Flow control between communication endpoints using intermediate storage
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/12—Messaging; Mailboxes; Announcements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
본 발명은 서비스 제공자 및 클라이언트와 서로 연결되어 푸시 서비스를 제공하는 푸시 서비스 장치에 부하 분산 기능을 구현하여 서비스 제공자 및 클라이언트가 푸시 서비스 장치에 접속할 때 접속하는 단말을 적절하게 분산시킴으로써 푸시 서비스 장치의 부하를 줄이는 푸시 서비스 제공 시스템 및 방법을 제공한다.The present invention implements a load balancing function in a push service apparatus that is connected to a service provider and a client to provide a push service to appropriately distribute a terminal to be connected when a service provider and a client connect to the push service apparatus, A push service providing system and a method for providing a push service.
Description
본 발명은 푸시(push) 서비스 제공 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 서비스 제공 장치와 클라이언트 사이에 푸시 서비스 장치를 매개로 공지사항에 해당하는 메시지를 전송할 때 서비스 제공 장치가 푸시 서비스 장치간에 정의된 하나의 메시지만 전송하고 푸시 서비스 장치가 다수의 클라이언트에게 메시지를 분산 전송함으로써 서비스 제공장치와 푸시 서비스 장치 사이의 네트워크 부하를 감소시킨 푸시 서비스 제공 시스템 및 방법에 관한 것이다. The present invention relates to a push service providing system and method, and more particularly, when a service providing device transmits a message corresponding to a notification via a push service device between a service providing device and a client. The present invention relates to a push service providing system and method that reduces a network load between a service providing device and a push service device by transmitting only one defined message and the push service device distributes the message to a plurality of clients.
스마트 폰(smart phone)이 보급되고 스마트 폰 환경으로 인해 다양한 응용 프로그램(Application)이 등장함에 따라 무선 자원의 사용량이 크게 증가하고 있다. 특히, IM(Instant Messaging), 웹(Web), 위젯(Widget) 서비스와 같이 망으로부터 실시간 푸시 메시지 혹은 푸시 알림(Push Notification) 등을 받기 위해 항시 접속되어 있는 형태(Always-On 형태)의 응용 프로그램이 현재 급속도로 증가하고 있다. Always-On 형태의 응용 프로그램은 저마다 서비스 제공자와 연결을 유지하면서 푸시 서비스를 받도록 준비하고 있기 때문에 과다한 트래픽을 유발하고, 배터리 소모를 빠르게 하는 문제점이 있다. With the spread of smart phones and the emergence of various applications due to the smart phone environment, the use of wireless resources has increased significantly. In particular, there are always-on applications (always-on type) connected to receive real-time push messages or push notifications from the network, such as instant messaging (IM), web, Is now rapidly increasing. Always-On type applications have a problem of causing excessive traffic and speeding up battery consumption because each is preparing to receive a push service while maintaining a connection with a service provider.
이러한 문제점을 해결하기 위해, "애플(Apple)"과 "구글(Google)"에서는 서비스 제공자와 클라이언트가 직접적으로 연결되지 않고, 클라이언트(Client) 내에 구축된 데몬(Daemon)을 통해 푸시 서버와 연결을 유지하고 서비스 제공자(Service Provider)가 푸시 메시지 혹은 푸시 알림을 전송하면 중앙의 푸시 서버가 전달 받아 해당 클라이언트로 전송하는 방식을 채택하고 있다. In order to solve these problems, "Apple" and "Google" do not directly connect the service provider and the client, but connect the push server through the daemon built in the client And when a service provider transmits a push message or a push notification, the central push server receives the message and transmits the message to the corresponding client.
도 1은 종래 푸시 서비스 제공 시스템의 구성을 나타낸 도면이다.1 is a diagram illustrating a configuration of a conventional push service providing system.
종래 기술에 따르면, 다수의 서비스 제공자(10)와 다수의 단말(40) 사이에 게이트웨이(20)와 커리어(30)가 구축되어 다수의 단말(40)내 설치된 응용 프로그램이 서비스 제공자(10)와 개별적으로 접속할 필요없이 커리어(30) 및 게이트웨이(20)와 접속하여 서비스 제공자(10)가 연결되는 구조를 보여주고 있다. A
게이트웨이(20)는 다수의 서비스 제공자(10)와 접속하기 위한 중계 장치이고, 커리어(30)는 다수의 단말(40)과 접속하기 위한 장치로, 서비스 제공자(10)와 단말(40)의 증가에 따라 확장이 가능한 구조이다.The
그런데, 도 1에 따른 종래 기술은 존(zone) 기반으로 단말(40)을 관리하기 때문에 커리어(30)와 연동 시 단말(40)이 미리 설정된 정보에 따라 정해진 커리어(30)에 할당하도록 되어 있다. 이러한 방식은 처리 속도가 빠르지만, 동일 존 내에 단말(40)이 급증하게 되면 하나의 커리어(30)에서 수용해야 하는 단말(40)이 편중되어 부하가 걸리기 쉽다. 1, since the
특히, 푸시 메시지가 공지사항과 같이 모든 사용자에게 동시에 전송할 브로드캐스트(broadcast) 메시지일 경우에는 단말이 편중될 뿐 아니라 다량의 메시지까지 전송되므로 네트워크 부하를 유발할 수 밖에 없다. In particular, when the push message is a broadcast message to be simultaneously transmitted to all users as well as the announcement, the terminal is not only biased but also a large amount of messages are transmitted, which inevitably causes a network load.
이로 인해, 단말(40) 또는 서비스 제공자(10)가 증가함에 따라 게이트웨이(20) 및 커리어(30)를 증설하였지만 증설에도 불구하고 특정 커리어에 단말이 편중되어 발생하는 문제점은 여전히 해소되지 못하고 있다. As a result, although the
따라서, 푸시 서비스를 이용하는 단말(클라이언트) 및 서비스 제공자가 증가하거나 또는 브로드캐스트 메시지를 전송하는 경우 서버가 가지는 부하를 얼만큼 효과적으로 분산할 것인가가 주요한 이슈로 대두되고 있다. 이에 따라 서비스 제공자와 단말이 푸시 서버와 접속할 때 발생하는 부하를 분산하기 위한 방안이 필요하다. Accordingly, the main issue is how to effectively distribute the load of the server when the terminal (client) and the service provider using the push service increase or transmit the broadcast message. Accordingly, there is a need for a method for distributing the load generated when the service provider and the terminal connect with the push server.
본 발명은 상기의 필요성에 의해 창안된 것으로서, 서비스 제공 장치와 클라이언트 사이에 푸시 서비스 장치를 매개로 공지사항에 해당하는 메시지를 전송할 때 서비스 제공 장치가 푸시 서비스 장치간에 정의된 하나의 메시지만 전송하고 푸시 서비스 장치가 다수의 클라이언트에게 메시지를 일정 시간 간격으로 분산 전송함으로써 서비스 제공장치와 푸시 서비스 장치 사이의 네트워크 부하를 감소시킨 푸시 서비스 제공 시스템 및 방법을 제공하는 데 그 목적이 있다. The present invention has been made in view of the above necessity, and when a message corresponding to a notification is transmitted between a service providing device and a client through a push service device, the service providing device transmits only one message defined between the push service devices. It is an object of the present invention to provide a push service providing system and method which reduces network load between a service providing device and a push service device by transmitting a message to a plurality of clients at regular intervals.
이를 위하여 본 발명의 제1 측면에 따르면, 본 발명의 푸시 서비스 제공 시스템은, 클라이언트에 푸시 메시지를 송신하는 서비스 제공 장치; 상기 서비스 제공 장치로부터 푸시 메시지를 수신하면 상기 푸시 메시지를 전송할 클라이언트를 확인하고 확인한 클라이언트별로 기 설정된 용량 임계치 한도 내에서 상기 푸시 메시지를 메시지 큐에 버퍼링하며, 상기 메시지 큐에 버퍼링한 푸시 메시지를 해당 클라이언트에게 일정 시간 간격으로 분산 전송하는 푸시 서비스 장치를 포함하는 것을 특징으로 한다.To this end, according to a first aspect of the present invention, a push service providing system of the present invention, a service providing apparatus for transmitting a push message to a client; When receiving the push message from the service providing apparatus, the client checks the client to which the push message is sent and buffers the push message in the message queue within a preset capacity threshold limit for each client that has checked the push message, and the push message buffered in the message queue is stored in the corresponding client. It characterized in that it comprises a push service device for distributed transmission at regular time intervals.
본 발명의 제2 측면에 따르면, 본 발명의 푸시 서비스 장치는, 다수의 서비스 제공 장치와 접속하기 위한 다수의 SP(Service Provider) 연동부; 다수의 클라이언트와 접속하기 위한 다수의 Client 연동부; 상기 다수의 SP 연동부 또는 다수의 Client 연동부에 대한 부하 정보를 참조하여 상기 다수의 서비스 제공자 또는 상기 다수의 클라이언트가 접속 가능한 연동부를 각각 할당하여 부하를 분산시키는 부하 분산부; 및 상기 다수의 SP 연동부를 통해 수신한 푸시 메시지를 해당 클라이언트로 전달하기 위해 클라이언트 정보를 조회하고 클라이언트별로 기 설정된 용량 임계치 한도 내에서 상기 푸시 메시지를 메시지 큐에 버퍼링하여 상기 다수의 Client 연동부로 분산 전송하는 제어부를 포함하는 것을 특징으로 한다.According to a second aspect of the present invention, a push service apparatus of the present invention includes: a plurality of SP (Service Provider) interworking units for connecting with a plurality of service providing apparatuses; A plurality of client linkage units for connecting to a plurality of clients; A load balancer for distributing loads by allocating interlocking units accessible to the plurality of service providers or the plurality of clients by referring to load information of the plurality of SP interlocking units or the plurality of client interlocking units; And querying client information to deliver the push messages received through the plurality of SP interworking units to the corresponding clients, buffering the push message in a message queue within a preset capacity threshold for each client, and transmitting the distributed messages to the plurality of client interworking units. It characterized in that it comprises a control unit.
본 발명의 제3 측면에 따르면, 본 발명의 푸시 서비스 제공 방법은, 서비스 제공 장치와 클라이언트 사이에서 푸시 메시지를 전달하는 푸시 서비스 장치가 상기 서비스 제공 장치로부터 공지사항으로 정의된 푸시 메시지를 수신하는 단계; 상기 푸시 서비스 장치가 상기 푸시 메시지를 전송할 클라이언트를 조회하는 단계; 상기 푸시 메시지를 전송할 클라이언트가 다수일 경우 상기 푸시 서비스 장치가 클라이언트별로 기 설정된 용량 임계치 한도 내에서 상기 푸시 메시지를 메시지 큐에 버퍼링하는 단계; 및 상기 푸시 서비스 장치가 상기 클라이언트에게 상기 푸시 메시지를 일정 시간 간격으로 분산 전송하는 단계를 포함하는 것을 특징으로 한다.According to a third aspect of the present invention, the push service providing method of the present invention, the push service device for delivering a push message between the service providing device and the client receiving a push message defined as a notification from the service providing device ; Querying, by the push service device, a client to send the push message to; Buffering the push message in a message queue by a push service device within a preset capacity threshold for each client when there are a plurality of clients to send the push message; And distributing, by the push service device, the push message to the client at predetermined time intervals.
본 발명에 따르면, 서비스 제공 장치와 클라이언트 사이에 푸시 서비스 장치를 매개로 공지사항에 해당하는 브로드캐스트 메시지를 전송할 때 푸시 서비스 장치가 메시지 큐를 이용하여 다수의 클라이언트에게 하나의 브로드캐스트 메시지를 순차적으로 분산 전송함으로써 다량의 메시지를 한꺼번에 전송함에 따른 망 부하를 감소시키는 효과가 있다. According to the present invention, when a broadcast message corresponding to an announcement is transmitted between a service providing device and a client through a push service device, the push service device sequentially transmits one broadcast message to a plurality of clients using a message queue. By distributed transmission, there is an effect of reducing the network load by transmitting a large number of messages at once.
도 1은 종래 푸시 서비스 제공 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 푸시 서비스 제공 시스템의 네트워크 구성을 나타낸 도면이다.
도 3은 본 발명에 따른 푸시 서비스 장치의 세부 구성도이다.
도 4는 본 발명에 따른 푸시 서비스 장치에서 전송 제어를 위한 메시지 큐를 나타낸 도면이다.
도 5는 본 발명에 따른 망 부하 감소를 위한 푸시 서비스 제공 방법을 나타낸 흐름도이다.
도 6은 도 5의 푸시 서비스 제공 방법에서 전송 제어 방법을 구체적으로 나타낸 흐름도이다. 1 is a diagram illustrating a configuration of a conventional push service providing system.
2 is a diagram illustrating a network configuration of a push service providing system according to the present invention.
3 is a detailed configuration diagram of a push service apparatus according to the present invention.
4 is a diagram illustrating a message queue for transmission control in a push service device according to the present invention.
5 is a flowchart illustrating a push service providing method for reducing network load according to the present invention.
6 is a flowchart illustrating a transmission control method in detail in the push service providing method of FIG. 5.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다. 본 발명의 상세한 설명에 앞서, 동일한 구성요소에 대해서는 다른 도면 상에 표시되더라도 가능한 동일한 부호로 표시하며, 공지된 구성에 대해서는 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 구체적인 설명은 생략하기로 함에 유의한다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings. The configuration of the present invention and the operation and effect thereof will be clearly understood through the following detailed description. Prior to the detailed description of the present invention, the same components will be denoted by the same reference numerals even if they are displayed on different drawings, and the detailed description will be omitted when it is determined that the well-known configuration may obscure the gist of the present invention. do.
여기서, 푸시 메시지는 공지사항과 같이 다수의 사용자에게 동시 전송할 브로드캐스트(broadcast) 메시지를 포함한다. 본 발명에서는 특별한 부연 설명이 없는 한 브로드캐스트 메시지를 의미한다. Here, the push message includes a broadcast message to be simultaneously transmitted to a plurality of users as in the announcement. In the present invention, unless otherwise stated, the term broadcast message.
도 2는 본 발명에 따른 푸시 서비스 제공 시스템의 네트워크 구성을 나타낸 도면이다.2 is a diagram illustrating a network configuration of a push service providing system according to the present invention.
도시된 바와 같이 본 발명에 따른 푸시 서비스 제공 시스템(100)은 다수의 서비스 제공 장치(100-1 내지 100-N: 100)와, 푸시 서비스 장치(300) 및 다수의 클라이언트(400-1 내지 400-K: 400)로 구성되어, 중앙의 푸시 서비스 장치(300)를 매개로 다수의 서비스 제공 장치(100)와 다수의 클라이언트(400)의 접속이 이루어지는 구조를 보여주고 있다. As shown, the push
다수의 클라이언트(400)는 통신망(200)에 접속 가능한 단말로서, 예컨대 PC, 노트북, 스마트 폰, PDA, 노트북, 네비게이션, PMP, 전자사전, MP3 등을 포함할 수 있다. 다수의 클라이언트(400)는 통신망(200)에 접속하여 소정의 데이터(특히 푸시 메시지, 푸시 알림 등)를 송수신하는 클라이언트 응용 프로그램(application)을 탑재한다.The plurality of
다수의 서비스 제공 장치(100)는 다수의 클라이언트(400)로 푸시 메시지를 송신하여 서비스를 제공하는 서버 또는 단말을 의미한다. The plurality of
푸시 서비스 장치(300)는 기본적으로 다수의 서비스 제공 장치(100)로부터 전송하는 푸시 메시지를 취합하여 해당 클라이언트(400)로 전달한다. The
이때, 푸시 서비스 장치(300)는 다수의 서비스 제공 장치(100) 및 다수의 클라이언트(400) 사이에서 서비스 제공 장치(100) 및 클라이언트(400)의 상호 접속을 관리하고, 접속 시 다수의 서비스 제공 장치(100) 및 다수의 클라이언트(400)의 편중을 내부 부하에 따라 분산시킨다. 또한, 푸시 서비스 장치(300)는 서비스 제공 장치(100)에서 전송하는 푸시 메시지를 해당 클라이언트(400)로 제공하도록 처리한다.At this time, the
이러한 푸시 서비스 장치(300)는 각 기능별로 독립적으로 구현되어 즉, 서비스 제공자(100)와 클라이언트(400)간 연동 기능과, 연동시 부하를 분산시키는 기능, 푸시 메시지를 처리하는 기능 등을 각 독립적인 장치로 분리 구현함으로써, 서비스 제공 장치(100)와 클라이언트(400)가 증가하게 되면 푸시 서비스 장치(300) 또한 각 기능별로 개별 확장이 가능하다. The
도 3은 본 발명에 따른 푸시 서비스 장치를 나타낸 세부 구성도이다.3 is a detailed configuration diagram illustrating a push service apparatus according to the present invention.
본 발명에 따른 푸시 서비스 장치(300)는 SP 연동부(310), 제어부(320), Client 연동부(330), 부하 분산부(340)를 포함한다. The
SP 연동부(310)는 다수의 서비스 제공 장치(100)와 접속하여 다수의 서비스 제공 장치(100)로부터 클라이언트(400)에 전송할 푸시 메시지를 수신한다. 여기서, 푸시 메시지는 신규 정보 또는 갱신 정보, 이벤트 정보 등 공지사항의 성격을 갖는 메시지를 포함한다.The SP
Client 연동부(330)는 다수의 클라이언트(400)와 접속하여 SP 연동부(310)로부터 수신한 푸시 메시지를 다수의 클라이언트(400)로 전송한다.The
SP 연동부(310) 또는 Client 연동부(330)는 각 연동부(310, 330)에 접속하는 서비스 제공 장치(100) 또는 클라이언트(400)의 접속 수에 따라 복수 개로 구비할 수 있다. 일반적으로 각 연동부(310, 330)는 수용 가능한 단말의 수가 정해져 있어서 이를 기준으로 증설이 가능하다. The
특히, 각 SP 연동부(310) 및 Client 연동부(330)는 일정 주기마다 자신의 상태 정보를 부하 분산부(340)로 제공한다. 상태 정보는 SP 연동부(310) 및 Client 연동부(330)에 접속되어 있는 가입자 수(또는 접속 수라 칭함), 데이터 처리량(Transaction Per Seconds: TPS) 등을 포함한다. In particular, each
부하 분산부(340)는 각 SP 연동부(310) 또는 Client 연동부(330)로부터 자신의 상태 정보를 수신하여 각 연동부의 부하 정보를 산출하고, 산출한 부하 정보를 테이블화하여 저장한다. The load balancer 340 receives its state information from each
또한, 부하 분산부(340)는 다수의 서비스 제공 장치(100) 또는 다수의 클라이언트(400)로부터 접속 요청이 있으면 기 저장한 연동부의 부하 정보를 참조하여 접속 가능한 연동부를 서비스 제공 장치 또는 클라이언트에 각각 할당한다. 따라서, 부하 분산부(340)는 각 연동부(310, 330)의 부하를 분산시키는 역할을 담당한다. In addition, the load balancer 340 may refer to load information of a pre-stored interlocking unit when there are access requests from the plurality of
제어부(320)는 다수의 SP 연동부(310) 및 Client 연동부(330)를 관리하며 특히 각 클라이언트별로 접속 가능한 Client 연동부(330)에 대한 라우팅 정보를 관리한다. 여기서, 각 클라이언트별로 접속 가능한 Client 연동부(330)는 클라이언트가 접속 상태를 유지하고 있는 Client 연동부를 의미하는 것으로, 부하 분산부(340)를 통해 할당받은 Client 연동부를 포함할 수 있다. The
따라서, 제어부(320)는 SP 연동부(310)로부터 푸시 메시지를 수신하면 푸시 메시지에 포함되어 있는 클라이언트 정보를 가지고 해당 클라이언트가 접속 가능한 Client 연동부(330)를 추출하고, 추출한 Client 연동부(330)로 푸시 메시지를 전송한다.Therefore, when receiving the push message from the
이때, 제어부(320)는 메시지 큐(Queue)를 이용하여 해당 클라이언트에게 전송할 푸시 메시지에 대한 전송을 제어한다. 따라서, 공지사항과 같은 다량의 푸시 메시지를 해당 클라이언트에게 동시 전송함에 따른 망 부하를 감소시킨다. At this time, the
구체적으로 전송 제어 방법은 도 4에 도시한 바와 같다. In more detail, the transmission control method is illustrated in FIG. 4.
도 4의 (a)에서는 각 큐의 우선순위에 따라 푸시 메시지를 공지사항 큐(Noti Queue)에 순차적으로 버퍼링하면서 전송하는 예를 보여주고 있다. 4 (a) shows an example of transmitting a push message while sequentially buffering a notification message to a notification queue according to the priority of each queue.
여기서, 제1 큐(Queue #1), 제2 큐(Queue #2), 제3 큐(Queue #3), 공지사항 큐(Noti Queue)는 푸시 메시지를 할당하여 우선순위에 따라 버퍼링하는 메시지 큐를 나타낸 것이다. 이들 메시지 큐에서 우선순위는 제1 큐(Queue #1)가 가장 높고, 그 다음으로 제2 큐(Queue #2), 제3 큐(Queue #3) 순으로 가정한다. 즉, 제1 큐(Queue #1)에 적재한 푸쉬 메시지를 제일 먼저 전송하고, 제2 큐(Queue #2)는 그 다음으로 제1 큐(Queue #1)가 비어있는 상태에서 전송 가능하며, 제3 큐(Queue #3)는 제2 큐(Queue #2)가 비어있는 상태에서 전송 가능하다. Here, the first queue (Queue # 1), the second queue (Queue # 2), the third queue (Queue # 3), the announcement queue (Noti Queue) is a message queue that allocates and buffers the push message according to the priority It is shown. In these message queues, the priority is assumed to be the highest in the first queue (Queue # 1), followed by the second queue (Queue # 2), the third queue (Queue # 3). That is, the push message loaded in the first queue (Queue # 1) is transmitted first, and the second queue (Queue # 2) can be transmitted next with the first queue (Queue # 1) empty. The third
이에 따르면, 공지사항 큐(Noti Queue)는 (b)에 도시한 바와 같이 먼저 제1 큐(Queue #1)에 존재하는 3개의 푸시 메시지를 버퍼링하면서 메시지를 처리하고, 제1 큐(Queue #1)의 푸시 메시지 위에 제2 큐(Queue #2)에 존재하는 3개의 푸시 메시지를 순차적으로 버퍼링한다. 버퍼링해 둔 제2 큐(Queue #2)의 푸시 메시지는 제1 큐(Queue #1)의 푸시 메시지에 대한 전송을 마친 후에 순차적으로 메시지 전송 처리가 이루어진다. According to this, the notification queue (Noti Queue) first processes the message while buffering three push messages existing in the first queue (Queue # 1), as shown in (b), and the first queue (Queue # 1). Buffering three push messages existing in the second queue (Queue # 2) on the push messages of The push message of the buffered second
또한, 공지사항 큐(Noti Queue)에 제3 큐(Queue #3)에 존재하는 4개의 푸시 메시지를 버퍼링하고 제2 큐(Queue #2)의 푸시 메시지에 대한 전송을 완료하면 버퍼링한 제3 큐(Queue #3)의 푸시 메시지에 대한 메시지 전송 처리를 수행한다.In addition, buffering four push messages existing in the third queue (Queue # 3) in the notification queue (Noti Queue) and buffering the third queue when the transmission of the push messages of the second queue (Queue # 2) is completed. Performs message transfer processing for the push message of (Queue # 3).
이때, 공지사항 큐(Noti Queue)는 큐의 부하를 줄이기 위해 푸시 메시지의 개수(즉, 메시지 용량)가 임계치를 초과하는지 여부를 확인한다. 임계치를 초과하면 푸시 메시지의 버퍼링 동작을 중지하고 슬립(sleep) 기능을 수행한다. At this time, the Noti Queue checks whether the number of push messages (ie, message capacity) exceeds a threshold to reduce the load of the queue. When the threshold is exceeded, the buffering operation of the push message is stopped and a sleep function is performed.
예를 들어, 도 4에 표시한 바와 같이 공지사항 큐(Noti Queue)의 용량 임계치를 9로 가정하면 제3 큐(Queue #3)의 푸쉬 메시지를 버퍼링할 때 이미 임계치를 초과하게 된다. 이때, 공지사항 큐(Noti Queue)는 제3 큐(Queue #3)의 푸시 메시지에 대한 버퍼링 동작을 일정 시간동안 중지한다. For example, as shown in FIG. 4, if the capacity threshold of the notification queue (Noti Queue) is 9, the threshold is already exceeded when buffering the push message of the third queue (Queue # 3). At this time, the notification queue (Noti Queue) stops the buffering operation for the push message of the third queue (Queue # 3) for a predetermined time.
따라서, 본 발명에 따른 전송 제어는 다량의 푸시 메시지를 해당 클라이언트에게 동시에 전송하지 않고 메시지 큐를 이용하여 다수의 클라이언트마다 일정 시간 간격을 두고 분산 전송함으로써 과다한 대기 자원 사용을 방지하고 망 부하를 감소한다. Therefore, the transmission control according to the present invention prevents excessive use of standby resources and reduces network load by using a message queue to transmit a plurality of push messages to a plurality of clients at a predetermined time interval without transmitting a plurality of push messages simultaneously. .
이하, 상기와 같이 구성되는 푸시 서비스 시스템을 이용하여 푸시 메시지를 제공하는 방법에 대하여 설명한다. Hereinafter, a method of providing a push message using the push service system configured as described above will be described.
도 5는 본 발명에 따른 망 부하 감소를 위한 푸시 서비스 제공 방법의 전체 흐름도를 나타낸 도면이고, 도 6은 도 5의 푸시 서비스 제공 방법에서 전송 제어 방법을 구체적으로 나타낸 흐름도이다. FIG. 5 is a flowchart illustrating a push service providing method for reducing a network load according to the present invention, and FIG. 6 is a flowchart specifically illustrating a transmission control method in the push service providing method of FIG. 5.
먼저 도 5를 참조하면, 서비스 제공장치(SP: 100)는 푸시 서비스 장치(300)의 SP 연동부(310)에 접속하여 공지사항으로 정의한 푸시 메시지를 전달하고 전달한 푸시 메시지에 대한 전송을 요청한다(S100). 그러면, SP 연동부(310)는 제어부(320)로 이의 요청을 전달한다.First, referring to FIG. 5, the service providing apparatus (SP) 100 connects to the
이후, 제어부(320)는 SP 연동부(310)를 통해 서비스 제공 장치(100)로 전송 응답 메시지를 전달한다(S110).Thereafter, the
그리고, 제어부(320)는 푸시 메시지를 전송할 클라이언트 목록을 조회한다(S120). In addition, the
이후, 제어부(320)는 조회한 클라이언트 목록을 기초로 푸시 메시지를 메시지 큐에 버퍼링하면서 전송 제어를 수행한다(S130). 전송 제어의 구체적인 방법으로는 도 6과 같다. Thereafter, the
즉, 메시지 큐에 클라이언트별 푸시 메시지를 할당하고(S131), 할당한 푸시 메시지를 메시지 큐의 우선 순위에 따라 순차적으로 버퍼링한다(S133). 여기서 메시지 큐에 할당한 푸시 메시지는 하나의 동일한 메시지이지만 메시지 큐에 버퍼링하는 단위는 클라이언트에 해당된다. 즉, 전송할 클라이언트별로 푸시 메시지를 메시지 큐에 버퍼링시킨다. That is, a push message for each client is allocated to the message queue (S131), and the allocated push message is sequentially buffered according to the priority of the message queue (S133). Here, the push message assigned to the message queue is one and the same message, but the unit of buffering the message queue corresponds to the client. That is, the push message is buffered in the message queue for each client to be transmitted.
버퍼링시 메시지 큐의 용량 임계치를 확인하고(S135), 용량 임계치가 이하이면 메시지 큐에 푸시 메시지를 더 할당하고(S131), 용량 임계치가 초과하면 메시지 큐의 버퍼링 동작을 잠시 중지하는 슬립(sleep) 기능을 수행한다(S137).When buffering, the capacity threshold of the message queue is checked (S135). If the capacity threshold is less than or equal to the push queue (S131), if the capacity threshold is exceeded, sleep (sleep) to stop the buffering operation of the message queue for a while Perform a function (S137).
이후, 제어부(320)는 전송 제어에 따라 버퍼링한 푸시 메시지를 해당 Client 연동부(330)로 전달하고, 이를 전달받은 Client 연동부(330)가 클라이언트에게 전송함으로써 분산 전송한다(S140).Thereafter, the
이때, 클라이언트가 다수 개이면 클라이언트별로 일정 시간 간격으로 버퍼링하면서 분산 전송하게 된다. At this time, if there are a plurality of clients, the transmission is performed while buffering each client at a predetermined time interval.
이후, 제어부(320)는 푸시 메시지의 전송을 완료하였는지 확인하여(S150), 완료하였으면 해당 푸시 메시지를 폐기하고(S160), 완료하지 않았으면 다시 전송 제어를 통해 메시지 전송을 수행한다(S130, S140).Thereafter, the
이처럼 본 발명은 메시지 서비스 제공 장치와 클라이언트 사이에 푸시 서비스 장치를 매개로 공지사항에 해당하는 푸시 메시지를 전송할 때 서비스 제공 장치는 푸시 서비스 장치간에 정의된 하나의 푸시 메시지만 전송하고 푸시 서비스 장치는 그 하나의 푸시 메시지를 다수의 클라이언트별로 메시지 큐에 버퍼링시킴으로써 푸시 메시지를 일정 시간 간격으로 분산 전송하게 된다. As described above, when the push message corresponding to the announcement is transmitted between the message service providing device and the client through the push service device, the service providing device transmits only one push message defined between the push service devices and the push service device is used. By buffering one push message in a message queue by a plurality of clients, push messages are distributed and transmitted at regular intervals.
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서 본 발명의 명세서에 개시된 실시 예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.The foregoing description is merely illustrative of the present invention, and various modifications may be made by those skilled in the art without departing from the spirit of the present invention. Accordingly, the embodiments disclosed in the specification of the present invention are not intended to limit the present invention. The scope of the present invention should be construed according to the following claims, and all the techniques within the scope of equivalents should be construed as being included in the scope of the present invention.
종래 푸시 서비스를 제공하는 시스템은 서비스 제공자 및 클라이언트의 접속 수가 급증하게 되면 푸시 서버에서 수용해야 하는 단말이 편중되어 과다한 부하가 발생하였으나, 본 발명은 서비스 제공 장치와 클라이언트 사이에 푸시 서비스 장치를 매개로 공지사항에 해당하는 메시지를 전송할 때 서비스 제공 장치가 푸시 서비스 장치간에 정의된 하나의 메시지만 전송하고 푸시 서비스 장치가 다수의 클라이언트에게 메시지를 분산 전송함으로써 서비스 제공장치와 푸시 서비스 장치 사이의 네트워크 부하를 감소시킨 효과가 있다. 이러한 점에서 종래 푸시 서버의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 서버의 구축 및 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용 가능성이 있는 유용한 발명이다.In the conventional system for providing a push service, when the number of connection between the service provider and the client increases rapidly, an excessive load is generated due to the bias of the terminal to be accommodated in the push server. When sending a message corresponding to an announcement, the service providing device transmits only one message defined between the push service devices and the push service device distributes the message to a plurality of clients, thereby reducing the network load between the service providing device and the push service device. It has a reduced effect. In this respect, as the conventional push server is overcome, it is not only the use of the related technology, but also the possibility of construction and operation of the applicable server is sufficient and it is practically possible to carry out clearly, so that a useful invention to be.
100-1 내지 100-N: 서비스 제공장치1 내지 서비스 제공장치N
400-1 내지 400-K: 클라이언트1 내지 클라이언트K
100: 서비스 제공 장치 200: 통신망
300: 푸시 서비스 장치 400: 클라이언트
310: SP 연동부 320: 제어부
330: Client 연동부 340: 부하 분산부100-1 to 100-N:
400-1 to 400-K:
100: service providing apparatus 200: communication network
300: Push service device 400: Client
310: SP interlocking unit 320:
330: Client interworking unit 340: Load balancer
Claims (10)
상기 서비스 제공 장치로부터 푸시 메시지를 수신하면 상기 푸시 메시지를 전송할 클라이언트를 확인하고 확인한 클라이언트별로 기 설정된 용량 임계치 한도 내에서 상기 푸시 메시지를 메시지 큐에 버퍼링하며, 상기 메시지 큐에 버퍼링한 푸시 메시지를 해당 클라이언트에게 일정 시간 간격으로 분산 전송하는 푸시 서비스 장치
를 포함하는 푸시 서비스 제공 시스템.A service providing apparatus for sending a push message to a client;
When receiving the push message from the service providing apparatus, the client checks the client to which the push message is sent and buffers the push message in the message queue within a preset capacity threshold limit for each client that has checked the push message, and the push message buffered in the message queue is stored in the corresponding client. Service device that transmits to the client at regular intervals
Push service providing system comprising a.
상기 메시지 큐는 다수의 큐에 적재된 푸시 메시지를 우선순위에 따라 버퍼링시키는 것을 특징으로 하는 푸시 서비스 제공 시스템.The method of claim 1,
And the message queue buffers push messages loaded in a plurality of queues according to priority.
다수의 클라이언트와 접속하기 위한 다수의 Client 연동부;
상기 다수의 SP 연동부 또는 다수의 Client 연동부에 대한 부하 정보를 참조하여 상기 다수의 서비스 제공자 또는 상기 다수의 클라이언트가 접속 가능한 연동부를 각각 할당하여 부하를 분산시키는 부하 분산부; 및
상기 다수의 SP 연동부를 통해 수신한 푸시 메시지를 해당 클라이언트로 전달하기 위해 클라이언트 정보를 조회하고 클라이언트별로 기 설정된 용량 임계치 한도 내에서 상기 푸시 메시지를 메시지 큐에 버퍼링하여 상기 다수의 Client 연동부로 분산 전송하는 제어부
를 포함하는 것을 특징으로 하는 푸시 서비스 장치.A plurality of SP (Service Provider) interworking units for connecting with a plurality of service providing apparatuses;
A plurality of client linkage units for connecting to a plurality of clients;
A load balancer for distributing loads by allocating interlocking units accessible to the plurality of service providers or the plurality of clients by referring to load information of the plurality of SP interlocking units or the plurality of Client interlocking units; And
Inquiring client information to deliver the push messages received through the plurality of SP interworking units to the corresponding clients, buffering the push message in a message queue within a preset capacity threshold for each client, and transmitting the distributed messages to the plurality of client interworking units. Control
Lt; RTI ID = 0.0 > 1, < / RTI >
상기 제어부는
우선순위가 할당된 다수의 메시지 큐에 상기 다수의 SP 연동부를 통해 수신한 푸시 메시지를 할당하고 할당한 푸시 메시지를 상기 메시지 큐의 우선순위에 따라 버퍼링시키는 것을 특징으로 하는 푸시 서비스 장치.The method of claim 3, wherein
The control unit
And a push message received through the plurality of SP interworking units to a plurality of message queues to which priority is assigned, and buffering the allocated push message according to the priority of the message queue.
상기 제어부는
상기 메시지 큐가 기설정한 용량 임계치를 초과하는지 여부를 확인하여, 상기 용량 임계치 이하이면 상기 메시지 큐에 전송할 푸시 메지시를 추가 할당하여 버퍼링시키고, 상기 용량 임계치를 초과하면 상기 푸시 메시지의 버퍼링 동작을 중지하는 슬립(sleep) 동작을 수행하는 것을 특징으로 하는 푸시 서비스 장치.The method of claim 3, wherein
The control unit
Check whether the message queue exceeds a preset capacity threshold, and if the capacity queue is less than the capacity threshold, further allocates and buffers a push message to be transmitted to the message queue. If the message queue exceeds the capacity threshold, the buffering operation of the push message is performed. Push service device characterized in that for performing a sleep operation to stop.
상기 제어부는
상기 다수의 SP 연동부를 통해 푸시 메시지를 수신하면 상기 다수의 클라이언트별로 접속되어 있는 Client 연동부에 대한 정보를 포함하는 라우팅 테이블을 참조하여 상기 푸시 메시지를 푸시하려는 클라이언트에 대응되는 Client 연동부를 추출하는 것을 특징으로 하는 푸시 서비스 장치.The method of claim 3, wherein
The control unit
Receiving push messages through the plurality of SP interlocks, extracting a client interworking unit corresponding to a client to push the push message with reference to a routing table including information on a client interworking unit connected to each of the plurality of clients. A push service device.
상기 푸시 서비스 장치가 상기 푸시 메시지를 전송할 클라이언트를 조회하는 단계;
상기 푸시 메시지를 전송할 클라이언트가 다수일 경우 상기 푸시 서비스 장치가 클라이언트별로 기 설정된 용량 임계치 한도 내에서 상기 푸시 메시지를 메시지 큐에 버퍼링하는 단계; 및
상기 푸시 서비스 장치가 상기 클라이언트에게 상기 푸시 메시지를 일정 시간 간격으로 분산 전송하는 단계
를 포함하는 것을 특징으로 하는 푸시 서비스 제공 방법.Receiving a push message defined as a notification from the service providing device by a push service device for transferring a push message between the service providing device and the client;
Querying, by the push service device, a client to send the push message to;
Buffering the push message in a message queue by a push service device within a preset capacity threshold for each client when there are a plurality of clients to send the push message; And
The push service device transmitting the push message to the client in a predetermined time interval
Gt; a < / RTI > push service.
상기 버퍼링하는 단계는
우선순위가 할당된 다수의 메시지 큐에 상기 푸시 메시지를 할당하고 할당한 푸시 메시지를 상기 메시지 큐의 우선순위에 따라 버퍼링시키는 것을 특징으로 하는 푸시 서비스 제공 방법.The method of claim 7, wherein
The buffering step
And allocating the push message to a plurality of priority assigned message queues and buffering the allocated push messages according to the priority of the message queues.
상기 버퍼링하는 단계는
상기 푸시 서비스 장치가 상기 메시지 큐가 기설정한 용량 임계치를 초과하는지 여부를 확인하여, 상기 용량 임계치 이하이면 상기 메시지 큐에 전송할 푸시 메지시를 추가 할당하여 버퍼링시키고, 상기 용량 임계치를 초과하면 상기 푸시 메시지의 버퍼링 동작을 중지하는 슬립(sleep) 동작을 수행하는 것을 특징으로 하는 푸시 서비스 제공 방법.The method of claim 7, wherein
The buffering step
The push service apparatus checks whether the message queue exceeds a preset capacity threshold, and if the capacity threshold is less than or equal to the capacity threshold, allocates and buffers a push message to be transmitted to the message queue. A push service providing method comprising performing a sleep operation to stop a buffering operation of a message.
상기 푸시 메시지를 전송할 클라이언트를 조회하는 단계는
상기 푸시 서비스 장치가 상기 서비스 장치로부터 푸시 메시지를 수신하면 상기 푸시 메시지를 전송할 클라이언트의 라우팅 테이블을 참조하여 상기 클라이언트에 연결하기 위한 Client 연동부를 추출하는 것을 특징으로 하는 푸시 서비스 제공 방법.The method of claim 7, wherein
Inquiring a client to send the push message is
And when the push service device receives the push message from the service device, extracting a client interworking unit for connecting to the client by referring to a routing table of the client to which the push message is to be transmitted.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110045875A KR101272077B1 (en) | 2011-05-16 | 2011-05-16 | System and method for providing push service |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110045875A KR101272077B1 (en) | 2011-05-16 | 2011-05-16 | System and method for providing push service |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120128013A KR20120128013A (en) | 2012-11-26 |
KR101272077B1 true KR101272077B1 (en) | 2013-06-12 |
Family
ID=47512854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110045875A KR101272077B1 (en) | 2011-05-16 | 2011-05-16 | System and method for providing push service |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101272077B1 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9126278B2 (en) | 2012-08-15 | 2015-09-08 | Siemens Energy, Inc. | Template for forming cooling passages in a turbine engine component |
KR101367265B1 (en) * | 2013-06-10 | 2014-02-28 | 주식회사 톡씨소프트 | Push server, push service providing system and method of the same |
CN109873904B (en) * | 2019-03-05 | 2021-08-03 | 平安科技(深圳)有限公司 | User message state reporting processing method, device and storage medium for message pushing |
CN114979238A (en) * | 2022-05-24 | 2022-08-30 | 浪潮软件集团有限公司 | Multi-client data real-time pushing method and system |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030068747A (en) * | 2002-02-16 | 2003-08-25 | 주식회사 에어크로스 | Push Advertizement in Mobile Communications Network and Mobile Terminal Suitable for the Same |
KR20090070938A (en) * | 2007-12-27 | 2009-07-01 | 주식회사 케이티 | Service server and service method with fair load balancing architecture for internet service |
KR20100000576A (en) * | 2008-06-25 | 2010-01-06 | 주식회사 케이티 | System for supporting mobile push service and method thereof |
KR20100068473A (en) * | 2007-09-28 | 2010-06-23 | 엑세리온 악티에볼라그 | Network operating system |
-
2011
- 2011-05-16 KR KR1020110045875A patent/KR101272077B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030068747A (en) * | 2002-02-16 | 2003-08-25 | 주식회사 에어크로스 | Push Advertizement in Mobile Communications Network and Mobile Terminal Suitable for the Same |
KR20100068473A (en) * | 2007-09-28 | 2010-06-23 | 엑세리온 악티에볼라그 | Network operating system |
KR20090070938A (en) * | 2007-12-27 | 2009-07-01 | 주식회사 케이티 | Service server and service method with fair load balancing architecture for internet service |
KR20100000576A (en) * | 2008-06-25 | 2010-01-06 | 주식회사 케이티 | System for supporting mobile push service and method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR20120128013A (en) | 2012-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102377685B (en) | Subscription message sending system and subscription message sending method | |
KR101233263B1 (en) | System and method for providing push service using feedback information | |
KR101165746B1 (en) | Push message service system and method thereof | |
CN109672708B (en) | Communication method, device and system | |
CN109327513B (en) | Interaction method, interaction device and computer-readable storage medium | |
CN110661871B (en) | Data transmission method and MQTT server | |
CN103442030A (en) | Method and system for sending and processing service request messages and client-side device | |
US9641635B2 (en) | Dynamic selection of reliability of publishing data | |
CN107689878A (en) | TCP length connection SiteServer LBSs based on name scheduling | |
KR101272077B1 (en) | System and method for providing push service | |
CN103618667A (en) | Information transfer method, access gateway and system | |
CN103548315A (en) | Method and apparatus for high performance low latency real time notification delivery | |
CN105721553A (en) | Self-adaptive cluster message dispatcher | |
KR101251630B1 (en) | System and method for providing push service | |
EP2911343A1 (en) | Terminal, message distribution system, message distribution method, and message reception program | |
KR101407597B1 (en) | System and method for providing push service | |
CN103209213A (en) | Data transmission method and system for data subscription | |
CN106060164B (en) | Telescopic cloud server system and communication method thereof | |
CN110247808B (en) | Information transmission method, device, equipment and readable storage medium | |
KR101274774B1 (en) | System and method for providing push service using reconnection message | |
KR101233232B1 (en) | System and method for providing push service using session managment for quality of service | |
CN114268615B (en) | Service processing method and system based on TCP connection | |
KR101319940B1 (en) | Push System using Session Relay Server and Method Therefor | |
CN114760348B (en) | Service processing method and device, storage medium and electronic device | |
US9071465B1 (en) | Method and system for SMS services and bind scaling |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170425 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180430 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190502 Year of fee payment: 7 |