KR101351594B1 - Method and system for providing push message - Google Patents

Method and system for providing push message Download PDF

Info

Publication number
KR101351594B1
KR101351594B1 KR1020120024573A KR20120024573A KR101351594B1 KR 101351594 B1 KR101351594 B1 KR 101351594B1 KR 1020120024573 A KR1020120024573 A KR 1020120024573A KR 20120024573 A KR20120024573 A KR 20120024573A KR 101351594 B1 KR101351594 B1 KR 101351594B1
Authority
KR
South Korea
Prior art keywords
push
server
client terminal
push message
message
Prior art date
Application number
KR1020120024573A
Other languages
Korean (ko)
Other versions
KR20130103161A (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 KR1020120024573A priority Critical patent/KR101351594B1/en
Publication of KR20130103161A publication Critical patent/KR20130103161A/en
Application granted granted Critical
Publication of KR101351594B1 publication Critical patent/KR101351594B1/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/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 보안성이 향상되고 여러 서비스 분야에서 두루 적용될 수 있는 메시지 푸시 제공 방법 및 시스템에 관한 것으로서, 본 발명에 따른 푸시 메시지 제공 시스템은 푸시 메시지를 생성하는 서비스 모듈; 상기 서비스 모듈에서 생성된 푸시 메시지를 분석하여 서비스 분야를 식별하고, 상기 식별된 서비스 분야를 담당하는 푸시 서버로 상기 푸시 메시지를 전달하는 분배 모듈; 및 클라이언트 단말과 푸시 메시지 전송을 위한 소켓을 형성하고, 상기 분배 모듈로부터 전달받은 푸시 메시지를 상기 소켓을 형성한 클라이언트 단말로 전송하는 하나 이상의 푸시 서버를 포함한다.The present invention relates to a method and system for providing a message push, which can be improved in security and can be applied to various service fields. The push message providing system according to the present invention includes a service module for generating a push message; A distribution module for analyzing a push message generated by the service module to identify a service field and delivering the push message to a push server in charge of the identified service field; And at least one push server forming a socket for transmitting a push message with the client terminal, and transmitting the push message received from the distribution module to the client terminal forming the socket.

Figure R1020120024573
Figure R1020120024573

Description

푸시 메시지 제공 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDING PUSH MESSAGE}METHOD AND SYSTEM FOR PROVIDING PUSH MESSAGE}

본 발명은 메시지 전송 기술에 관한 것으로서, 더욱 상세하게는 보안성이 향상되고 여러 서비스 분야에서 두루 적용될 수 있는 메시지 푸시 제공 방법 및 시스템에 관한 것이다.The present invention relates to a message transmission technology, and more particularly, to a method and a system for providing a message push, which can be improved in security and applied in various service fields.

서버는 클라이언트 단말로 메시지를 전송하기 위하여, 폴링(polling) 메시지 전송 방식과 푸시(push) 메시지 전송 방식을 일반적으로 사용한다.In order to transmit a message to a client terminal, a server generally uses a polling message transmission method and a push message transmission method.

상기 폴링 메시지 전송 방식은 클라이언트 단말이 서버로 주기적인 리퀘스트 메시지를 전송하고, 이에 따른 이벤트 메시지를 수신하는 것으로서, 불필요하게 네트워크를 사용하는 단점이 있다. 즉, 폴링 메시지 전송 방식은 클라이언트 단말이 서버로부터 특정 메시지를 수신하기 위해서, 주기적으로 리퀘스트 메시지를 서버로 전송해야 하기 때문에, 네트워크의 과부하를 발생시키는 문제점이 있다.The polling message transmission method is a client terminal transmits a periodic request message to the server, and receives the event message accordingly, there is a disadvantage in using the network unnecessarily. That is, the polling message transmission method has a problem of causing network overload because the client terminal needs to periodically transmit a request message to the server in order to receive a specific message from the server.

반면에, 푸시 메시지 전송 방식은 클라이언트 단말이 서버로 주기적인 리퀘스트 메시지를 전송하지 않고, 서버가 능동적으로 이벤트 메시지를 상기 클라이언트 단말로 전송하는 방식으로서, 서비스 처리 속도가 빠르고 네트워크의 과부하를 예방하는 장점이 있다. On the other hand, the push message transmission method is a method in which a client terminal does not periodically transmit a request message to the server, but a server actively transmits an event message to the client terminal. There is this.

그런데 푸시 메시지 전송 방식은 주로 특정 분야에 한정되어 사용되고 있다. 예컨대, 광고, 메일링 서비스 등과 같은 서비스 분야에서 푸시 메시지 전송 방식을 채용하여 클라이언트 단말로 메시지를 전송한다. However, the push message transmission method is mainly limited to a specific field. For example, a message is transmitted to a client terminal by using a push message transmission scheme in a service field such as an advertisement or a mailing service.

또한, 푸시 메시지 서비스를 제공하는 서버는 보안상에 취약한 약점을 가진다. 구체적으로, 푸시 메시지를 제공하는 서버는 클라이언트 단말의 접속이 자유로울 뿐만 아니라, 상기 클라이언트 단말의 특정 구간에 대하여 접근을 차단하지 못하기 때문에, 해킹 등의 외부 칩임에 대해서 보안이 취약한 문제점이 있다. 게다가, 종래의 푸시 메시지 서비스는 클라이언트 단말에 설치된 애플리케이션을 통하여 푸시 메시지를 사용자에게 제공하기 때문에, 클라이언트 단말은 해당 푸시 메시지 서비스의 유형에 따라 해당 애플리케이션을 설치해야 한다.In addition, servers that provide push message services have weak security weaknesses. Specifically, since the server providing the push message is not only free to access the client terminal, but also does not block access to a specific section of the client terminal, there is a problem in that security is weak for an external chip such as hacking. In addition, since the conventional push message service provides a user with a push message through an application installed on the client terminal, the client terminal must install the application according to the type of the push message service.

본 발명은 이러한 종래의 문제점을 해결하기 위하여 제안된 것으로서, TCP/IP 또는 UDP/IP 기반의 소켓을 통해 푸시 메시지를 클라이언트 단말로 전송하여 다양한 유형의 클라이언트 단말로 능동적인 푸시 메시지를 전송하는 푸시 메커니즘을 제공하는데 목적이 있다.The present invention has been proposed to solve such a conventional problem, a push mechanism for transmitting a push message to the client terminal via a TCP / IP or UDP / IP-based socket to send an active push message to various types of client terminal The purpose is to provide.

특히, 본 발명은 플러그인을 사용하여 웹 브라우저 기반의 푸시 클라이언트 단말을 손쉽게 구현하는데 또 다른 목적이 있다.In particular, another object of the present invention is to easily implement a web browser-based push client terminal using a plug-in.

또한, 본 발명은 푸시 서비스 제공 시스템을 멀티플 인스턴스로 구현하여, 특정 장치 또는 서버의 장애시에도 지속적으로 푸시 메시지 서비스를 사용자에게 제공하는 고가용성의 푸시 메시지 제공 시스템을 제공하는 또 다른 목적이 있다.Another object of the present invention is to provide a push message providing system having a high availability by providing a push message service to a user by implementing a push service providing system in multiple instances.

본 발명의 다른 목적 및 장점들은 하기의 설명에 의해서 이해될 수 있으며, 본 발명의 실시예에 의해 보다 분명하게 알게 될 것이다. 또한, 본 발명의 목적 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 쉽게 알 수 있을 것이다.Other objects and advantages of the present invention can be understood by the following description, and will be more clearly understood by the embodiments of the present invention. It will also be readily apparent that the objects and advantages of the invention may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.

상기 목적을 달성하기 위한 본 발명의 제 1 측면에 따른 푸시 메시지 제공 시스템은, 푸시 메시지를 생성하는 서비스 모듈; 상기 서비스 모듈에서 생성된 푸시 메시지를 분석하여 서비스 분야를 식별하고, 상기 식별된 서비스 분야를 담당하는 푸시 서버로 상기 푸시 메시지를 전달하는 분배 모듈; 및 클라이언트 단말과 푸시 메시지 전송을 위한 소켓을 형성하고, 상기 분배 모듈로부터 전달받은 푸시 메시지를 상기 소켓을 형성한 클라이언트 단말로 전송하는 하나 이상의 푸시 서버;를 포함하는 것을 특징으로 한다.Push message providing system according to a first aspect of the present invention for achieving the above object, the service module for generating a push message; A distribution module for analyzing a push message generated by the service module to identify a service field and delivering the push message to a push server in charge of the identified service field; And at least one push server forming a socket for transmitting a push message with the client terminal, and transmitting the push message received from the distribution module to the client terminal forming the socket.

바람직하게, 상기 푸시 메시지 제공 시스템은, 상기 클라이언트 단말로부터 푸시 서버의 접속정보를 요청받아, 상기 클라이언트 단말이 접속가능한 푸시 서버를 확인하고, 상기 확인된 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 지정된 푸시 서버와 소켓을 형성하게 유도하는 인증 서버;를 더 포함한다.Preferably, the push message providing system receives a request for access information of a push server from the client terminal, identifies a push server accessible by the client terminal, and transmits the confirmed access information of the push server to the client terminal. And an authentication server for inducing the client terminal to form a socket with a designated push server.

더욱 바람직하게, 상기 푸시 메시지 제공 시스템은, 상기 서비스 모듈과 상기 분배 모듈 간의 통신을 중계하는 통신 어댑터를 더 포함한다.More preferably, the push message providing system further comprises a communication adapter for relaying communication between the service module and the distribution module.

게다가, 상기 푸시 서버, 상기 분배 모듈, 상기 통신 어댑터는 멀티플 인스턴스를 통해 하나 이상의 통신경로를 형성하고, 상기 서비스 모듈은 푸시 메시지를 전송중인 통신경로에 포함된 푸시 서버, 분배 모듈, 통신 어댑터 중에서 어느 하나에 장애가 발생한 경우, 장애 발생한 1통신경로 대신에 다른 통신경로를 통해 상기 푸시 메시지를 상기 클라이언트 단말로 전송할 수 있다.In addition, the push server, the distribution module, and the communication adapter may form one or more communication paths through multiple instances, and the service module may include any of a push server, a distribution module, and a communication adapter included in the communication path transmitting the push message. When a failure occurs in one, the push message may be transmitted to the client terminal through another communication path instead of the failed one communication path.

또한, 상기 인증 서버는 통신경로별 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여, 상기 클라이언트 단말이 각 통신경로에 포함된 푸시 서버와 각각 소켓을 형성하게 유도한다.In addition, the authentication server transmits the connection information of the push server for each communication path to the client terminal, inducing the client terminal to form a socket with each of the push server included in each communication path.

상기 목적을 달성하기 위한 본 발명의 제 2 측면에 따른 푸시 메시지 제공 방법은, (a) 서비스 모듈에서 푸시 메시지를 생성하는 단계; (b) 분배 모듈을 통해서 상기 푸시 메시지의 서비스 분야를 식별하는 단계; (c) 상기 식별된 서비스 분야를 담당하는 푸시 서버로 상기 푸시 메시지를 분배하는 단계; 및 (d) 상기 분배받은 푸시 메시지를 상기 푸시 서버에서 소켓 형성한 클라이언트 단말로 전송하는 단계;를 포함하는 것을 특징으로 한다.A push message providing method according to a second aspect of the present invention for achieving the above object comprises the steps of: (a) generating a push message in a service module; (b) identifying a service area of the push message via a distribution module; (c) distributing the push message to a push server in charge of the identified service sector; And (d) transmitting the distributed push message from the push server to the socket-formed client terminal.

상기 목적을 달성하기 위한 본 발명의 제 3 측면에 따른 푸시 메시지 제공 시스템은, 푸시 메시지를 생성하는 하나 이상의 애플리케이션 서버; 네트워크를 통해 상기 하나 이상의 애플리케이션 서버와 통신하여, 각각의 애플리케이션 서버로부터 푸시 메시지를 수신하는 릴레이 서버; 상기 릴레이 서버로부터 상기 푸시 메시지를 수신하고 상기 푸시 메시지를 분석하여 서비스 분야를 식별하고, 상기 식별된 서비스 분야에 해당하는 푸시 서버로 상기 푸시 메시지를 전달하는 분배 모듈; 및 클라이언트 단말과 푸시 메시지 전송을 위한 소켓을 형성하고, 상기 분배 모듈로부터 전달받은 푸시 메시지를 상기 소켓을 형성한 클라이언트 단말로 전송하는 하나 이상의 푸시 서버;를 포함하는 것을 특징으로 한다.A push message providing system according to a third aspect of the present invention for achieving the above object comprises: at least one application server for generating a push message; A relay server in communication with the one or more application servers over a network, the relay server receiving a push message from each application server; A distribution module for receiving the push message from the relay server, analyzing the push message to identify a service field, and delivering the push message to a push server corresponding to the identified service field; And at least one push server forming a socket for transmitting a push message with the client terminal, and transmitting the push message received from the distribution module to the client terminal forming the socket.

바람직하게, 상기 푸시 서버, 상기 분배 모듈, 상기 릴레이 서버는 멀티플 인스턴스를 통해 하나 이상의 통신경로를 형성하고, 상기 애플리케이션 서버는 푸시 메시지를 전송중인 통신경로에 포함된 푸시 서버, 분배 모듈, 릴레이 서버 중에서 어느 하나에 장애가 발생한 경우, 장애 발생한 통신경로 대신에 다른 통신경로를 통해 상기 푸시 메시지를 상기 클라이언트 단말로 전송한다.Preferably, the push server, the distribution module, and the relay server form one or more communication paths through multiple instances, and the application server is selected from the push server, distribution module, and relay server included in the communication path transmitting the push message. When a failure occurs in any one, the push message is transmitted to the client terminal through another communication path instead of the failed communication path.

상기 목적을 달성하기 위한 본 발명의 제 4 측면에 따른 푸시 메시지 제공 방법은, (a) 애플리케이션 서버에서 푸시 메시지를 생성하는 단계; (b) 상기 푸시 메시지를 외부 통신망을 통해 릴레이 서버에서 수신하여 분배 모듈로 전달하는 단계; (c) 상기 릴레이 서버로부터 전달받은 푸시 메시지를 상기 분배 모듈에서 푸시 메시지의 서비스 분야를 식별하는 단계; (d) 상기 식별된 서비스 분야를 담당하는 푸시 서버로 상기 푸시 메시지를 분배하는 단계; 및 (e) 상기 분배받은 푸시 메시지를 소켓 형성한 푸시 서버를 통해 클라이언트 단말로 전송하는 단계;를 포함하는 것을 특징으로 한다.According to a fourth aspect of the present invention, there is provided a push message providing method comprising: (a) generating a push message in an application server; (b) receiving the push message at a relay server through an external communication network and delivering the push message to a distribution module; (c) identifying a service field of a push message in the distribution module by using the push message received from the relay server; (d) distributing the push message to a push server in charge of the identified service sector; And (e) transmitting the distributed push message to a client terminal through a socket-formed push server.

본 발명은 네트워크 소켓 통신 기반의 푸시 서버를 구현하고 클라이언트 단말이 웹 브라우저 상에서 푸시 메시지를 수신하게 함으로써, 다양한 유형의 클라이언트 단말로 웹 브라우저 기반으로 푸시 메시지 서비스를 제공할 수 있는 효과가 있다. The present invention implements a push server based on a network socket communication and allows a client terminal to receive a push message on a web browser, thereby providing a push message service based on a web browser to various types of client terminals.

본 발명은 클라이언트 단말이 접속 가능한 푸시 서버로만 접속되도록 유도하고, 더불어 클라이언트 단말이 애플리케이션 서버로 접근하는 것을 차단시키는 구성을 포함하기 때문에, 푸시 메시지 제공 시스템의 보안성을 향상시키는 장점이 있다.The present invention has an advantage of improving the security of the push message providing system because it includes a configuration that induces the client terminal to be connected only to the accessible push server, and also blocks the client terminal from accessing the application server.

특히, 본 발명은 릴레이 서버를 통해 푸시 서버와 애플리케이션 서버를 분리시킨 구성 때문에, 외부의 침입으로부터 애플리케이션 서버를 보호하는 이점이 있다In particular, the present invention has an advantage of protecting the application server from external intrusion because of the configuration that the push server and the application server is separated through a relay server.

또한, 본 발명은 각 서비스 분야를 담당하는 다수의 푸시 서버를 구축하고 각각의 푸시 서버를 통해 각 서비스 분야의 푸시 메시지를 사용자에게 제공하기 때문에, 다양한 서비스 분야(예컨대, 교통 서비스, 광고 서비스, 모니터링 서비스 등)에 폭넓게 적용될 수 있는 이점이 있다. In addition, the present invention establishes a plurality of push servers in charge of each service field and provides a user with a push message for each service field through each push server, thereby providing various service fields (eg, transportation service, advertisement service, monitoring). Service, etc.), which can be widely applied.

아울러, 본 발명은 서비스 분야별로 포트를 구분하고, 특정 포트를 통해 접속한 클라이언트 단말로 해당 서비스 분야의 푸시 메시지를 전송하는 구성을 포함하기 때문에, 일부 포트에 장애가 발생하더라도 장애 발생하지 않은 포트를 통해 해당 서비스 분야의 푸시 서비스를 사용자에게 제공하는 장점이 있다.In addition, since the present invention includes a configuration for classifying ports by service fields and transmitting a push message of a corresponding service field to a client terminal connected through a specific port, even if some ports fail, the ports do not fail. There is an advantage of providing a user with a push service in the service field.

게다가, 본 발명은 푸시 메시지 제공 시스템을 멀티플 인스턴스로 구현한 구성을 통해, 특정 장치에서 장애가 발생하더라도 지속적인 푸시 메시지 서비스를 사용자에게 제공하는 장점이 있다. 특히, 본 발명은 애플리케이션 서버와 릴레이 서버 간에 연결된 하나 이상의 채널을 통해, 대량의 메시지 처리를 보장하는 효과가 있다.In addition, the present invention has an advantage of providing a continuous push message service to a user even when a failure occurs in a specific device through a configuration in which the push message providing system is implemented in multiple instances. In particular, the present invention has the effect of ensuring a large amount of message processing through one or more channels connected between the application server and the relay server.

또한, 본 발명은 클라이언트 단말로 전송되는 메시지 양과 푸시 서버로 입력되는 메시지 양을 비교하고, 이 비교 결과에 따라 메시지 처리량을 조절하는 구성을 포함하기 때문에, 푸시 서버의 자원을 효율적으로 관리하는 이점이 있다.In addition, since the present invention includes a configuration for comparing the amount of messages sent to the client terminal and the amount of messages input to the push server, and adjusts the message throughput according to the comparison result, there is an advantage of efficiently managing the resources of the push server have.

본 명세서에 첨부되는 다음의 도면들은 본 발명의 바람직한 실시예를 예시하는 것이며, 발명을 실시하기 위한 구체적인 내용과 함께 본 발명의 기술사상을 더욱 이해시키는 역할을 하는 것이므로, 본 발명은 그러한 도면에 기재된 사항에만 한정되어 해석되어서는 아니된다.
도 1은 본 발명의 일 실시예에 따른, 단일 인스턴스로 구성된 푸시 메시지 제공 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른, 단일 인스턴스로 구성된 푸시 메시지 제공 시스템에서 푸시 메시지를 클라이언트 단말로 전송하는 방법을 설명하는 흐름도이다.
도 3은 본 발명의 다른 실시예에 따른, 멀티 인스턴스로 구성된 푸시 메시지 제공 시스템의 구성을 나타내는 도면이다.
도 4는 본 발명의 다른 실시예에 따른, 멀티 인스턴스로 구성된 푸시 메시지 제공 시스템에서 푸시 메시지를 클라이언트 단말로 전송하는 방법을 설명하는 흐름도이다.
도 5는 본 발명의 또 다른 실시예에 따른, 단일 인스턴스로 구현된 푸시 메시지 제공 시스템의 멀티플 인스턴스 구성을 나타내는 도면이다.
도 6은 본 발명의 또 다른 실시예에 따른, 멀티플 인스턴스로 구성된 푸시 메시지 제공 시스템에서 푸시 메시지 전송 경로를 전환하여 클라이언트 단말로 푸시 메시지를 제공하는 방법을 설명하는 흐름도이다.
도 7은 본 발명의 또 다른 실시예에 따른, 멀티 인스턴스로 구현된 푸시 메시지 제공 시스템의 멀티플 인스턴스 구성을 나타내는 도면이다.
도 8은 본 발명의 또 다른 실시예에 따른, 멀티플 인스턴스로 구성된 푸시 메시지 제공 시스템에서 푸시 메시지 전송 경로를 전환하여 클라이언트 단말로 푸시 메시지를 제공하는 방법을 설명하는 흐름도이다.
BRIEF DESCRIPTION OF THE DRAWINGS The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate exemplary embodiments of the invention and, together with the description, serve to explain the principles of the invention. And shall not be construed as limited to such matters.
1 is a diagram illustrating a configuration of a push message providing system configured as a single instance according to an embodiment of the present invention.
2 is a flowchart illustrating a method of transmitting a push message to a client terminal in a push message providing system configured as a single instance according to an embodiment of the present invention.
3 is a diagram illustrating a configuration of a push message providing system composed of multiple instances according to another embodiment of the present invention.
4 is a flowchart illustrating a method of transmitting a push message to a client terminal in a multi-instance push message providing system according to another exemplary embodiment of the present invention.
5 is a diagram illustrating a multiple instance configuration of a push message providing system implemented as a single instance according to another embodiment of the present invention.
6 is a flowchart illustrating a method of providing a push message to a client terminal by switching a push message transmission path in a push message providing system composed of multiple instances according to another embodiment of the present invention.
7 is a diagram illustrating a multiple instance configuration of a push message providing system implemented with multiple instances according to another embodiment of the present invention.
8 is a flowchart illustrating a method of providing a push message to a client terminal by switching a push message transmission path in a push message providing system composed of multiple instances according to another embodiment of the present invention.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일 실시예를 상세히 설명하기로 한다.
The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings, in which: There will be. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. Hereinafter, a preferred embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른, 단일 인스턴스로 구성된 푸시 메시지 제공 시스템의 구성을 나타내는 도면이다.1 is a diagram illustrating a configuration of a push message providing system configured as a single instance according to an embodiment of the present invention.

여기서, 단일 인스턴스는 푸시 서버(120-N)와 애플리케이션 서버가 동일한 인스턴스에 구현된 것을 의미하는 것으로서, 본 발명의 일 실시예에 따른 푸시 메시지 제공 시스템은 푸시 메시지를 생성하는 애플리케이션 서버와 통합된다.Here, the single instance means that the push server 120-N and the application server are implemented in the same instance, the push message providing system according to an embodiment of the present invention is integrated with the application server for generating a push message.

도 1에 도시된 바와 같이, 본 발명의 바람직한 실시예에 따른 푸시 메시지 제공 시스템(100)은 인증 서버(110), 하나 이상의 푸시 서버(120-N), 분배 모듈(130), 통신 어댑터(140) 및 서비스 모듈(150)을 포함한다.As shown in FIG. 1, a push message providing system 100 according to a preferred embodiment of the present invention includes an authentication server 110, one or more push servers 120 -N, a distribution module 130, and a communication adapter 140. ) And a service module 150.

푸시 서버(120-N)와 인증 서버(110) 각각은 네트워크(200)를 통하여 클라이언트 단말(300-N)과 각각 통신한다. 여기서, 네트워크(200)는 이동통신망과 광대역 유선통신망을 포함하는 것으로서, 본 발명에 있어서 주지의 관용기술에 해당하므로 자세한 설명은 생략한다.Each of the push server 120 -N and the authentication server 110 communicates with the client terminal 300 -N via the network 200, respectively. Here, the network 200 includes a mobile communication network and a broadband wired communication network. Since the network 200 corresponds to well-known conventional techniques in the present invention, detailed description thereof will be omitted.

클라이언트 단말(300-N)은 푸시 메시지 제공 시스템(100)로 접속하여, 푸시 메시지 서비스를 제공받는다. 특히, 클라이언트 단말(300-N)은 푸시 메시지를 제공받기 위하여, 우선적으로 인증 서버(110)에 접속하여, 접속 가능한 하나 이상의 푸시 서버(120-N)의 접속정보를 수신하고, 이 접속정보를 이용하여 푸시 서버(120-N)와 소켓(socket)을 형성하여 푸시 메시지를 제공받는다. 이때, 클라이언트 단말(300-N)는 푸시 서버(120-N)와 UDP/IP(user datagram protocol/internet protocol) 또는 TCP/IP(transmission control protocol/internet protocol) 기반의 소켓을 형성할 수 있다. The client terminal 300 -N connects to the push message providing system 100 and receives a push message service. In particular, in order to receive the push message, the client terminal 300 -N first accesses the authentication server 110, receives connection information of one or more accessible push servers 120 -N, and receives the connection information. By using the push server (120-N) to form a socket (socket) to receive a push message. In this case, the client terminal 300 -N may form a socket based on a push server 120 -N and a user datagram protocol / internet protocol (UDP / IP) or transmission control protocol / internet protocol (TCP / IP).

또한, 클라이언트 단말(300-N)은 특정 이벤트와 관련된 메시지 전송을 푸시 메시지 제공 시스템(100)으로 요청하여, 상기 이벤트와 관련된 푸시 메시지만을 푸시 서버(300-N)로부터 수신할 수도 있다. 이러한 클라이언트 단말(300-N)은 플러그인(예컨대, 플렉스, 애플릿 등)을 이용하여 웹브라우저 기반의 푸시 클라이언트로 구현되고, 해당 푸시 서버(120-N)와 소켓을 형성하여 웹 브라우저상에서 푸시 메시지를 푸시 서버(120-N)로부터 수신한다.In addition, the client terminal 300 -N may request the push message providing system 100 to transmit a message related to a specific event, and receive only a push message related to the event from the push server 300 -N. The client terminal 300 -N is implemented as a web browser-based push client using a plug-in (eg, a flex, an applet, etc.), and forms a socket with the corresponding push server 120 -N to push a message on a web browser. Receive from push server 120-N.

인증 서버(110)는 푸시 메시지 서비스를 요청한 클라이언트 단말(300-N)을 인증하고, 상기 클라이언트 단말(300-N)이 접속할 수 있는 하나 이상의 푸시 서버(120-N)에 대한 접속정보를 확인하여, 인증 성공한 클라이언트 단말(300-N)로 상기 접속정보를 전송한다. 이때, 인증 서버(110)는 클라이언트 단말(300-N)의 크로스 도메인을 체크함으로써, 클라이언트 단말(300-N)이 푸시 서버(120-N)로 접근 가능한지 여부를 인증할 수 있다. 또한, 인증 서버(110)는 각 클라이언트 단말(300-N)별로 접속 가능한 푸시 서버 목록을 저장하고, 상기 푸시 서버 목록을 토대로 복수의 푸시 서버(120-N) 중에서 해당 클라이언트 단말(300-N)이 접속 가능한 하나 이상의 푸시 서버(120-N)를 확인하고, 상기 확인된 푸시 서버(120-N)의 IP 주소와 포트 정보가 기록된 접속정보를 클라이언트 단말(300-N)로 전송한다. 상기 인증 서버(110)는 푸시 서버(120-N)가 구동시에, 푸시 서버(120-N)별 IP 주소, 푸시 서비스를 위한 포트 정보를 각 푸시 서버(120-N)로부터 획득한다.The authentication server 110 authenticates the client terminal 300 -N requesting the push message service, and checks access information of one or more push servers 120 -N to which the client terminal 300 -N can access. The authentication information is transmitted to the client terminal 300 -N which has been successfully authenticated. In this case, the authentication server 110 may check whether the client terminal 300 -N is accessible to the push server 120 -N by checking the cross domain of the client terminal 300 -N. In addition, the authentication server 110 stores a list of push servers accessible for each client terminal 300 -N, and the corresponding client terminal 300 -N among the plurality of push servers 120 -N based on the push server list. The at least one connectable push server 120 -N is identified, and the access information in which the IP address and port information of the checked push server 120 -N are recorded is transmitted to the client terminal 300 -N. When the push server 120 -N is driven, the authentication server 110 obtains an IP address for each push server 120 -N and port information for a push service from each push server 120 -N.

푸시 서버(120-N)는 소켓 형성된 클라이언트 단말(300-N)로 푸시 메시지를 전송하는 기능을 수행한다. 이러한 푸시 서버(120-N)는 푸시 메시지를 전송하기 위한 포트 정보를 할당받는다. 바람직하게, 각각의 푸시 서버(120-N)는 서비스 분야(예컨대, 교통, 광고 등)로 업무가 분류되고, 자신이 담당하는 서비스 분야와 관련된 푸시 메시지를 소켓 접속된 클라이언트 단말(300-N)로 전송한다. 예컨대, 푸시 서버1(120-1)은 광고 서비스 분야와 관련된 푸시 메시지의 전송을 담당할 수 있으며, 푸시 서버2(120-2)는 교통 서비스 분야와 관련된 푸시 메시지의 전송을 담당할 수 있다.The push server 120 -N performs a function of transmitting a push message to the socket-formed client terminal 300 -N. The push server 120 -N is assigned port information for transmitting a push message. Preferably, each push server 120-N is classified as a service field (eg, traffic, advertisement, etc.), and the client terminal 300-N connected to the socket is connected to a push message related to the service field in which it is in charge. To send. For example, push server 1 120-1 may be responsible for sending a push message related to the advertising service field, and push server 2 120-2 may be responsible for sending a push message related to the transportation service field.

분배 모듈(130)은 통신 어댑터(140)로부터 수신한 푸시 메시지를 푸시 서버(120-N)로 분배하는 기능을 수행한다. 구체적으로, 분배 모듈(130)은 통신 어댑터(140)로부터 수신한 푸시 메시지에서 서비스 분야 식별정보를 확인함으로써, 상기 푸시 메시지의 서비스 분야를 판단하고, 상기 서비스 분야를 담당하는 푸시 서버(120-N)로 상기 푸시 메시지를 분배한다.The distribution module 130 distributes the push message received from the communication adapter 140 to the push server 120 -N. Specifically, the distribution module 130 determines the service field identification information from the push message received from the communication adapter 140 to determine the service field of the push message, and the push server 120-N in charge of the service field. To distribute the push message.

통신 어댑터(140)는 분배 모듈(130)와 하나 이상의 통신 채널을 형성하고, 이 통신 채널을 이용하여 서비스 모듈(150)과 분배 모듈(130) 간의 통신을 중계한다. 특히, 통신 어댑터(140)는 서비스 모듈(150)로부터 푸시 메시지를 수신하여 분배 모듈(130)로 상기 푸시 메시지를 전달한다. The communication adapter 140 forms one or more communication channels with the distribution module 130, and relays the communication between the service module 150 and the distribution module 130 using the communication channel. In particular, the communication adapter 140 receives the push message from the service module 150 and delivers the push message to the distribution module 130.

상기 서비스 모듈(150)은 푸시 메시지를 생성하여, 상기 생성된 푸시 메시지를 통신 어댑터(140)를 이용하여 분배 모듈(130)로 전달한다. 또는, 서비스 모듈(150)은 외부의 장치 또는 서버로부터 푸시 메시지를 수신하여, 이 푸시 메시지를 통신 어댑터(140)를 이용하여 분배 모듈(130)로 전달할 수 있다. 이때, 서비스 모듈(150)은 푸시 메시지의 서비스 분야를 나타나는 서비스 분야 식별정보를 상기 푸시 메시지에 기록한다.The service module 150 generates a push message and transfers the generated push message to the distribution module 130 using the communication adapter 140. Alternatively, the service module 150 may receive a push message from an external device or server and transfer the push message to the distribution module 130 using the communication adapter 140. In this case, the service module 150 records service field identification information indicating the service field of the push message in the push message.

상기 서비스 모듈(150)은 클라이언트 단말(300-N)이 특정 이벤트와 관련된 메시지 전송을 요청하면, 푸시 메시지에 상기 클라이언트 단말(300-N)의 IP 주소를 기록한다.When the client terminal 300 -N requests to transmit a message related to a specific event, the service module 150 records the IP address of the client terminal 300 -N in a push message.

도 2는 본 발명의 일 실시예에 따른, 단일 인스턴스로 구성된 푸시 메시지 제공 시스템에서 푸시 메시지를 클라이언트 단말로 전송하는 방법을 설명하는 흐름도이다.2 is a flowchart illustrating a method of transmitting a push message to a client terminal in a push message providing system configured as a single instance according to an embodiment of the present invention.

도 2를 참조하면, 클라이언트 단말(300-N)은 푸시 메시지를 제공받기 위하여, 푸시 서버(120-N)의 접속정보를 인증 서버(110)로 요청한다(S201). 이때, 클라이언트 단말(300-N)은 네트워크(200)를 통하여 인증 서버(110)와 UDP/IP 또는 TCP/IP 기반의 소켓을 형성한 후, 인증 서버(110)와 통신한다. Referring to FIG. 2, in order to receive a push message, the client terminal 300 -N requests the authentication server 110 for access information of the push server 120 -N (S201). In this case, the client terminal 300 -N forms a socket based on UDP / IP or TCP / IP with the authentication server 110 through the network 200, and then communicates with the authentication server 110.

그러면, 인증 서버(110)는 상기 클라이언트 단말(300-N)이 푸시 서비스를 제공받을 수 있는지 여부를 인증한다(S203). 이때, 인증 서버(110)는 클라이언트 단말(300-N)의 IP 또는 MAC 주소를 이용하여, 클라이언트 단말(300-N)을 인증할 수 있으며, 로그인 아이디와 패스워드를 근거로 클라이언트 단말(300-N)을 인증할 수도 있다. 또한, 인증 서버(110)는 클라이언트 단말(300-N)에 대한 크로스 도메인을 체크함으로써, 상기 클라이언트 단말(300-N)이 접근한 가능한 푸시 서버(120-N)가 존재하는지 여부를 인증할 수 있다.Then, the authentication server 110 authenticates whether the client terminal (300-N) can receive the push service (S203). In this case, the authentication server 110 may authenticate the client terminal 300 -N using the IP or MAC address of the client terminal 300 -N, and the client terminal 300 -N based on the login ID and the password. ) Can also be authenticated. In addition, the authentication server 110 may check whether the push server 120 -N accessible by the client terminal 300 -N exists by checking the cross domain of the client terminal 300 -N. have.

이어서, 인증 서버(110)는 상기 클라이언트 단말(300-N)의 인증에 성공하면, 상기 클라이언트 단말(300-N)이 접속 가능한 하나 이상의 푸시 서버(120-N)를 자체 저장한 푸시 서버 목록에서 확인한다(S205). 즉, 인증 서버(110)는 상기 클라이언트 단말(300-N)이 제공받을 수 있는 푸시 메시지의 서비스 분야를 확인하고, 상기 서비스 분야를 담당하는 푸시 서버(120-N)를 푸시 서버 목록에서 확인한다. 이어서, 인증 서버(110)는 상기 클라이언트 단말(300-N)이 접속할 수 있는 푸시 서버(120-N)에 대한 IP 주소, 상기 푸시 서버(120-N)에서의 푸시 메시지 서비스를 위한 포트 정보를 확인하고, 상기 푸시 서버(120-N)의 IP 주소와 포트 정보가 기록된 접속정보를 인증 성공한 클라이언트 단말(300-N)로 전송한다(S207).Subsequently, when authentication of the client terminal 300 -N succeeds, the authentication server 110 may include one or more push servers 120 -N to which the client terminal 300 -N may connect. Check (S205). That is, the authentication server 110 checks the service field of the push message that the client terminal 300 -N can receive, and checks the push server 120 -N in charge of the service field in the push server list. . Subsequently, the authentication server 110 provides an IP address for the push server 120 -N to which the client terminal 300 -N can access, and port information for a push message service in the push server 120 -N. In operation S207, the access information in which the IP address and the port information of the push server 120 -N are recorded is transmitted to the client terminal 300 -N.

다음으로, 클라이언트 단말(300-N)은 상기 접속정보에 기록된 포트 정보와 IP 주소를 이용하여, 지정된 푸시 서버(120-N)로 소켓 형성 요청 메시지를 전송한다(S209). 이때, 클라이언트 단말(300-N)은 특정 이벤트와 관련된 메시지 전송 요청 정보를 상기 소켓 형성 요청 메시지에 포함시킬 수도 있다. Next, the client terminal 300 -N transmits a socket formation request message to the designated push server 120 -N by using the port information and the IP address recorded in the access information (S209). In this case, the client terminal 300 -N may include message transmission request information related to a specific event in the socket formation request message.

그러면, 푸시 서버(120-N)는 푸시 메시지 전송을 위한 소켓을 상기 클라이언트 단말(300-N)과 형성한다(S211). 이때, 푸시 서버(120-N)는 네트워크(200)를 경유하여 상기 클라이언트 단말(300-N)과 TCP/IP 또는 UDP/IP 기반의 소켓을 형성한다. 바람직하게, 푸시 서버(120-N)는 상기 클라이언트 단말(300-N)이 웹브라우저 기반의 푸시 클라이언트인지 여부를 확인하여 푸시 클라이언트가 아닌 경우, 상기 웹브라우저 기반의 푸시 클라이언트를 실현시키는 플러그인(예컨대, 애플릿, 플렉스 등)을 사용하여, 상기 클라이언트 단말(300-N)을 웹 브라우저 기반의 푸시 클라이언트로 구현할 수 있다.Then, the push server 120-N forms a socket for transmitting the push message with the client terminal 300-N (S211). In this case, the push server 120 -N forms a socket based on TCP / IP or UDP / IP with the client terminal 300 -N via the network 200. Preferably, the push server 120-N checks whether the client terminal 300-N is a web browser-based push client, and if not, the push server 120-N realizes the web browser-based push client (eg, a plug-in). , Applet, flex, etc.), the client terminal 300-N can be implemented as a web browser-based push client.

푸시 서버(120-N)는 클라이언트 단말(300-N)과의 TCP/IP 소켓 형성이 완료되면, 분배 모듈(130)과 통신 어댑터(140)를 경유하여, 서비스 모듈(150)로 소켓 형성 완료 정보를 전달할 수 있다. 이때, 푸시 서버(120-N)는 상기 클라이언트 단말(300-N)이 특정 이벤트와 관련된 메시지 전송을 요청한 경우, 상기 클라이언트 단말(300-N)의 IP 주소와 상기 클라이언트 단말(300-N)이 지정한 이벤트 정보를 상기 소켓 형성 완료 정보에 기록할 수 있다.When the push server 120 -N completes the formation of the TCP / IP socket with the client terminal 300 -N, the socket is completed with the service module 150 via the distribution module 130 and the communication adapter 140. Can convey information In this case, when the client terminal 300 -N requests to transmit a message related to a specific event, the push server 120 -N may determine the IP address of the client terminal 300 -N and the client terminal 300 -N. The specified event information can be recorded in the socket formation completion information.

이렇게, 클라이언트 단말(300-N)과 특정 푸시 서버(120-N) 간에 소켓이 형성된 상태에서, 서비스 모듈(150)은 푸시 메시지를 생성한 후, 상기 생성한 푸시 메시지를 통신 어댑터(140)를 이용하여 분배 모듈(130)로 전달한다(S213). 이때, 서비스 모듈(150)은 푸시 메시지의 서비스 분야를 나타나는 서비스 분야 식별정보를 상기 푸시 메시지에 기록한다. 한편, 서비스 모듈(150)은 상기 푸시 메시지가 특정 이벤트와 관련된 메시지이고, 상기 특정 이벤트와 관련된 메시지의 전송을 요청한 클라이언트 단말(300-N)이 존재한 경우, 상기 클라이언트 단말(300-N)의 IP 주소를 상기 푸시 메시지에 기록한다.As such, in a state where a socket is formed between the client terminal 300 -N and the specific push server 120 -N, the service module 150 generates a push message and then sends the generated push message to the communication adapter 140. Transfer to the distribution module 130 by using (S213). In this case, the service module 150 records service field identification information indicating the service field of the push message in the push message. Meanwhile, if the push message is a message related to a specific event and the client terminal 300 -N requesting the transmission of the message related to the specific event exists, the service module 150 of the client terminal 300 -N includes: Record the IP address in the push message.

다음으로, 분배 모듈(130)은 상기 수신한 푸시 메시지에서 서비스 분야 식별정보를 확인함으로써, 상기 수신한 푸시 메시지의 서비스 분야를 판별한다(S215). 이어서, 분배 모듈(130)은 상기 판별한 서비스 분야를 담당하는 푸시 서버(120-N)로 상기 푸시 메시지를 전달한다(S217). 예컨대, 분배 모듈(130)은 푸시 메시지의 서비스 분야가 광고 서비스인 경우, 광고 서비스를 담당하는 푸시 서버1(120-1)로 푸시 메시지를 전달한다. Next, the distribution module 130 determines the service field of the received push message by checking service field identification information in the received push message (S215). Subsequently, the distribution module 130 transmits the push message to the push server 120 -N in charge of the determined service field (S217). For example, when the service field of the push message is an advertisement service, the distribution module 130 delivers the push message to the push server 1 120-1 in charge of the advertisement service.

그러면, 푸시 서버(120-N)는 상기 푸시 메시지에 클라이언트 단말(300-N)의 IP 주소가 기록되어 있는지 여부를 확인하여 IP 주소가 기록된 경우, 상기 IP 주소를 가지는 클라이언트 단말(300-N)과 형성된 소켓을 확인하고, 이 소켓을 통해 상기 푸시 메시지를 클라이언트 단말(300-N)로 전송한다(S219, S221). 이때, 푸시 서버(120-N)는 보안을 유지하기 위하여, 클라이언트 단말(300-N)의 IP 주소를 푸시 메시지에서 제거한다.Then, the push server 120 -N checks whether the IP address of the client terminal 300 -N is recorded in the push message, and if the IP address is recorded, the client terminal 300 -N having the IP address. And the formed socket, and transmits the push message to the client terminal (300-N) through the socket (S219, S221). At this time, in order to maintain security, the push server 120 -N removes the IP address of the client terminal 300 -N from the push message.

반면에, 푸시 서버(120-N)는 상기 푸시 메시지에 클라이언트 단말(300-N)의 IP 주소가 기록되지 않은 경우, 자신과 소켓 형성된 모든 클라이언트 단말(300-N)로 상기 푸시 메시지를 전송한다.On the other hand, if the IP address of the client terminal 300 -N is not recorded in the push message, the push server 120 -N transmits the push message to all the client terminals 300 -N formed with the socket. .

다음으로, 푸시 메시지를 수신한 클라이언트 단말(300-N)은 상기 푸시 메시지를 웹 브라우저 상에서 출력한다.Next, the client terminal 300 -N receiving the push message outputs the push message on the web browser.

도 3은 본 발명의 다른 실시예에 따른, 멀티 인스턴스로 구성된 푸시 메시지 제공 시스템의 구성을 나타내는 도면이다.3 is a diagram illustrating a configuration of a push message providing system composed of multiple instances according to another embodiment of the present invention.

여기서, 멀티 인스턴스는 푸시 서버(120-N)와 애플리케이션 서버(410-N)가 분리된 형태로서, 푸시 서버(120-N)와 애플리케이션 서버(410-N)가 독립적으로 기동되며, 하나 이상의 애플리케이션 서버(410-N)가 외부 네트워크(440)를 통해 릴레이 서버(420)와 통신하고, 상기 릴레이 서버(420)를 통해 푸시 서버(120-N)와 연동된다.Here, the multi-instance is a form in which the push server 120-N and the application server 410-N are separated, and the push server 120-N and the application server 410-N are independently started and one or more applications are executed. The server 410 -N communicates with the relay server 420 through the external network 440, and interworks with the push server 120 -N through the relay server 420.

도 3에 도시된 바와 같이, 본 발명의 다른 실시예에 따른 푸시 메시지 제공 시스템은 인증 서버(110), 하나 이상의 푸시 서버(120-N), 분배 모듈(430), 릴레이 서버(420) 및 하나 이상의 애플리케이션 서버(410-N)를 포함한다.As shown in FIG. 3, the push message providing system according to another embodiment of the present invention includes an authentication server 110, one or more push servers 120 -N, a distribution module 430, a relay server 420, and one. The above application server 410-N is included.

도 3에 도시된 구성 요소들 중에서, 도 1과 동일한 참조부호를 가지는 구성요소는 도 1의 구성요소와 동일한 기능을 수행하므로, 도 3을 참조한 설명에서는 도 1의 참조부호와 상이한 구성요소들에 대해서만 설명한다.Among the components illustrated in FIG. 3, the components having the same reference numerals as those of FIG. 1 perform the same functions as the components of FIG. 1, and thus, in the description with reference to FIG. 3, components different from those of FIG. Explain only.

애플리케이션 서버(410-N)는 하나 이상의 서비스 분야를 담당하는 서버로서, 푸시 메시지를 생성하여 릴레이 서버(420)로 전송한다.The application server 410 -N is a server in charge of one or more service fields, and generates a push message and transmits it to the relay server 420.

이러한 애플리케이션 서버(410-N) 각각은 통신 어댑터(411) 및 서비스 모듈(412)을 포함한다.Each of these application servers 410 -N includes a communication adapter 411 and a service module 412.

통신 어댑터(411)는 외부 네트워크(440)를 통하여, 릴레이 서버(420)와 서비스 분야별로 하나 이상의 통신 채널을 형성하고, 이 통신 채널을 이용하여 서비스 모듈(412)과 릴레이 서버(420) 간의 통신을 중계한다. 특히, 통신 어댑터(411)는 릴레이 서버(420)와 소켓을 형성하고, 서비스 모듈(412)에서 생성한 푸시시 메시지를 릴레이 서버(420)로 전송한다.The communication adapter 411 forms one or more communication channels for the relay server 420 and service areas through the external network 440, and uses the communication channel to communicate between the service module 412 and the relay server 420. Relays In particular, the communication adapter 411 forms a socket with the relay server 420 and transmits a push message generated by the service module 412 to the relay server 420.

서비스 모듈(412)은 푸시 메시지를 생성하여, 상기 생성된 푸시 메시지를 통신 어댑터(411)를 이용하여 릴레이 서버(420)로 전송한다. 또는, 서비스 모듈(412)은 외부의 장치 또는 서버로부터 푸시 메시지를 수신하여, 이 푸시 메시지를 통신 어댑터(411)를 이용하여 릴레이 서버(420)로 전송할 수 있다. 이때, 서비스 모듈(412)은 푸시 메시지의 서비스 분야를 나타나는 서비스 분야 식별정보를 상기 푸시 메시지에 기록한다.The service module 412 generates a push message and transmits the generated push message to the relay server 420 using the communication adapter 411. Alternatively, the service module 412 may receive a push message from an external device or server and transmit the push message to the relay server 420 using the communication adapter 411. At this time, the service module 412 records service field identification information indicating the service field of the push message in the push message.

상기 서비스 모듈(411)은 클라이언트 단말(300-N)이 특정 이벤트와 관련된 메시지 전송을 요청하면, 상기 클라이언트 단말(300-N)의 IP 주소를 푸시 메시지에 기록하여, 상기 이벤트와 관련된 푸시 메시지가 지정된 클라이언트 단말(300-N)로 전송되게 한다. When the client terminal 300-N requests to transmit a message related to a specific event, the service module 411 records the IP address of the client terminal 300-N in a push message so that the push message related to the event is displayed. To the designated client terminal 300-N.

릴레이 서버(420)는 애플리케이션 서버(410-N)와 분배 모듈(430) 간의 통신을 중계하는 장치로서, 애플리케이션 서버(410-N)에 구비된 통신 어댑터(411)와 소켓을 형성하여 해당 애플리케이션 서버(410)와 통신한다. 특히, 릴레이 서버(420)는 애플리케이션 서버(410-N)로부터 수신한 푸시 메시지를 분배 모듈(430)로 전달한다. 또한, 릴레이 서버(420)는 애플리케이션 서버(410-N)로부터 연속된 메시지 프레임을 수신한 경우, 이 메시지 프레임을 푸시 메시지 단위로 파싱한 후, 이 파싱된 복수의 메시지를 분배 모듈(430)로 전달한다.The relay server 420 relays communication between the application server 410 -N and the distribution module 430. The relay server 420 forms a socket with a communication adapter 411 provided in the application server 410 -N to form a corresponding application server. Communicate with 410. In particular, the relay server 420 transfers the push message received from the application server 410 -N to the distribution module 430. In addition, when the relay server 420 receives a continuous message frame from the application server 410 -N, the relay server 420 parses the message frame in units of push messages and then distributes the parsed plurality of messages to the distribution module 430. To pass.

분배 모듈(430)는 릴레이 서버(420)로부터 푸시 메시지를 전달받으며, 이 푸시 메시지를 분석하여 해당 푸시 메시지의 서비스 분야를 확인하고, 이 서비스 분야를 담당하는 푸시 서버(120-N)로 푸시 메시지를 전달한다. 또한, 분배 모듈(430)는 릴레이 서버(420)로부터 전달받은 복수의 푸시 메시지의 전체 데이터량을 확인하고, 상기 푸시 메시지의 전체 데이터량이 푸시 서버(120-N)의 처리용량을 초과한 경우, 푸시 메시지의 데이터량을 조절하여 푸시 서버(120-N)로 분배한다. 이때, 분배 모듈(430)는 릴레이 서버(420)로부터 전달받은 복수의 푸시 메시지 모두를 푸시 서버(120-N)로 분배하지 않고, 전체의 푸시 메시지 중에서 일부의 푸시 메시지만을 우선적으로 푸시 서버(120-N)로 분배하고, 이후에 잔여 푸시 메시지를 푸시 서버(120-N)로 분배할 수 있다.The distribution module 430 receives the push message from the relay server 420, analyzes the push message to check the service field of the corresponding push message, and pushes the push message to the push server 120-N in charge of this service field. To pass. In addition, the distribution module 430 checks the total data amount of the plurality of push messages received from the relay server 420, and if the total data amount of the push message exceeds the processing capacity of the push server 120-N, The data amount of the push message is adjusted and distributed to the push server 120 -N. In this case, the distribution module 430 does not distribute all of the plurality of push messages received from the relay server 420 to the push server 120 -N, and preferentially pushes only some of the push messages among the push messages 120. -N), and then distribute the remaining push messages to push server 120-N.

도 4는 본 발명의 다른 실시예에 따른, 멀티 인스턴스로 구성된 푸시 메시지 제공 시스템에서 푸시 메시지를 클라이언트 단말로 전송하는 방법을 설명하는 흐름도이다.4 is a flowchart illustrating a method of transmitting a push message to a client terminal in a multi-instance push message providing system according to another exemplary embodiment of the present invention.

도 4를 참조한 설명에서, 도 2를 참조한 설명과 중복되는 부분은 압축하여 요약한다.In the description with reference to FIG. 4, portions overlapping with the description with reference to FIG. 2 will be compressed and summarized.

도 4를 참조하면, 클라이언트 단말(300-N)은 푸시 메시지를 제공받기 위하여, 푸시 서버(120-N)의 접속정보를 인증 서버(110)로 요청한다(S401). 그러면, 인증 서버(110)는 상기 클라이언트 단말(300-N)이 푸시 서비스를 제공받을 수 있는지 여부를 인증하고 인증에 성공하면, 상기 클라이언트 단말(300-N)이 접속 가능한 하나 이상의 푸시 서버(120-N)를 자체 저장한 푸시 서버 목록에서 확인한 후, 접속 가능한 푸시 서버(120-N)의 접속정보를 클라이언트 단말(300-N)로 전송한다(S403, S405, S407).Referring to FIG. 4, in order to receive a push message, the client terminal 300 -N requests the authentication server 110 for access information of the push server 120 -N (S401). Then, the authentication server 110 authenticates whether the client terminal 300-N can be provided with the push service, and if the authentication is successful, the one or more push servers 120 to which the client terminal 300-N can connect. -N) checks the self-stored push server list, and then transmits the access information of the accessible push server 120-N to the client terminal 300-N (S403, S405, S407).

그러면, 클라이언트 단말(300-N)은 상기 접속정보를 이용하여, 지정된 푸시 서버(120-N)로 소켓 형성 요청 메시지를 전송하여, 푸시 서버(120-N)와 소켓을 설정한다(S409, S411). 이때, 클라이언트 단말(300-N)은 특정 이벤트와 관련된 메시지 전송 요청 정보를 상기 소켓 형성 요청 메시지에 포함시킬 수도 있다. Then, the client terminal 300 -N transmits a socket formation request message to the designated push server 120 -N by using the access information, and establishes a socket with the push server 120 -N (S409, S411). ). In this case, the client terminal 300 -N may include message transmission request information related to a specific event in the socket formation request message.

이렇게, 클라이언트 단말(300-N)과 특정 푸시 서버(120-N) 간에 소켓이 형성된 상태에서, 서비스 모듈(412)은 푸시 메시지를 생성한 후 상기 생성된 푸시 메시지를 릴레이 서버(420)와 소켓 형성된 통신 어댑터(411)를 이용하여 릴레이 서버(420)로 전송한다(S413). 이때, 서비스 모듈(412)은 푸시 메시지의 서비스 분야를 나타나는 서비스 분야 식별정보를 상기 푸시 메시지에 기록한다. 한편, 서비스 모듈(412)은 상기 푸시 메시지가 특정 이벤트에 관련된 메시지이고, 상기 특정 이벤트와 관련된 메시지의 전송을 요청한 클라이언트 단말(300-N)이 존재한 경우, 상기 클라이언트 단말(300-N)의 IP 주소를 상기 푸시 메시지에 기록한다.As such, in a state where a socket is formed between the client terminal 300 -N and a specific push server 120 -N, the service module 412 generates a push message and then sends the generated push message to the relay server 420 and the socket. Using the formed communication adapter 411 is transmitted to the relay server 420 (S413). At this time, the service module 412 records service field identification information indicating the service field of the push message in the push message. Meanwhile, when the push message is a message related to a specific event, and the client terminal 300 -N requesting the transmission of the message related to the specific event exists, Record the IP address in the push message.

그러면, 릴레이 서버(420)는 상기 수신한 푸시 메시지를 분배 모듈(430)로 전달한다(S415). 이때, 릴레이 서버(420)는 애플리케이션 서버(410-N)로부터 연속된 메시지 프레임을 수신한 경우, 이 메시지 프레임을 푸시 메시지 단위로 파싱한 후, 이 파싱된 복수의 메시지를 분배 모듈(430)로 전달할 수 있다.Then, the relay server 420 transmits the received push message to the distribution module 430 (S415). In this case, when the relay server 420 receives a continuous message frame from the application server 410 -N, the relay server 420 parses the message frame in units of push messages and then sends the parsed plurality of messages to the distribution module 430. I can deliver it.

다음으로, 분배 모듈(430)는 상기 수신한 푸시 메시지에서 서비스 분야 식별정보를 확인함으로써, 상기 수신한 푸시 메시지의 서비스 분야를 판별하고, 상기 판별한 서비스 분야를 담당하는 푸시 서버(120-N)로 상기 푸시 메시지를 전달한다(S417, S419). Next, the distribution module 430 checks the service field identification information in the received push message to determine the service field of the received push message, and the push server 120-N in charge of the determined service field. The push message is transmitted to the mobile station (S417, S419).

그러면, 푸시 서버(120-N)는 상기 푸시 메시지에 클라이언트 단말(300-N)의 IP 주소가 기록되어 있는지 여부를 확인하여, IP 주소가 기록된 경우 이 IP 주소를 가지는 클라이언트 단말(300-N)과 형성된 소켓을 확인하고, 이 소켓을 통해 상기 푸시 메시지를 클라이언트 단말(300-N)로 전송한다(S421, S423). 이때, 푸시 서버(120-N)는 보안을 유지하기 위하여, 상기 클라이언트 단말(300-N)의 IP 주소를 푸시 메시지에서 제거하는 것이 바람직하다. 반면에, 푸시 서버(120-N)는 상기 푸시 메시지에 IP 주소가 기록되지 않은 경우, 자신과 소켓 형성된 모든 클라이언트 단말(300-N)로 상기 푸시 메시지를 전송한다. 그러면, 클라이언트 단말(300-N)은 수신한 푸시 메시지를 웹 브라우저 상에서 출력한다.Then, the push server 120-N checks whether the IP address of the client terminal 300-N is recorded in the push message, and if the IP address is recorded, the client terminal 300-N having this IP address. And the formed socket, and transmits the push message to the client terminal (300-N) through the socket (S421, S423). In this case, in order to maintain security, the push server 120 -N preferably removes the IP address of the client terminal 300 -N from the push message. On the other hand, if an IP address is not recorded in the push message, the push server 120 -N transmits the push message to all client terminals 300 -N formed with the socket. Then, the client terminal 300 -N outputs the received push message on the web browser.

상술한 바와 같이, 본 발명은 네트워크 소켓 기반의 푸시 서버를 구현하고 플러그인을 이용하여 클라이언트 단말(300-N)을 웹브라우저 기반의 푸시 클라이언트로 구현함으로써, 다양한 유형의 클라이언트 단말로 웹 브라우저 기반의 푸시 메시지 서비스를 제공한다. 게다가, 본 발명은 클라이언트 단말(300-N)이 접속 가능한 푸시 서버(120-N)로만 접속되도록 유도하고, 더불어 클라이언트 단말(300-N)이 애플리케이션 서버(410-N)로 접근하는 것을 차단시킴으로써, 시스템의 보안성을 향상시킨다. 또한, 본 발명은 각 서비스 분야를 담당하는 다수의 푸시 서버(120-N)를 시스템에 구축하고 각각의 푸시 서버(300-N)를 통해 각 서비스 분야의 푸시 메시지를 사용자에게 제공함으로써, 다양한 서비스 분야(예컨대, 교통 서비스, 광고 서비스, 모니터링 서비스 등)에 폭넓게 적용될 수 있다. As described above, the present invention implements a network socket-based push server and implements the client terminal 300-N as a web browser-based push client by using a plug-in, thereby pushing web browser-based to various types of client terminals. Provide a message service. In addition, the present invention induces the client terminal 300 -N to be connected only to the accessible push server 120 -N, and also blocks the client terminal 300 -N from accessing the application server 410 -N. To improve the security of the system. In addition, the present invention provides a variety of services by building a plurality of push server (120-N) in charge of each service field in the system and providing the user with a push message of each service field through each push server (300-N), It can be widely applied in the field (eg, transportation service, advertising service, monitoring service, etc.).

한편, 본 발명의 푸시 메시지 제공 시스템(100)은 멀티플 인스턴스로 구성되어, 푸시 메시지 서비스의 고가용성을 제공할 수 있다. 여기서, 멀티플 인스턴스는 푸시 메시지 제공 시스템이 독립된 복수의 통신경로를 형성하는 구성으로서, 통신경로별로 인증 서버, 푸시 서버 및 분배 모듈이 포함된다.Meanwhile, the push message providing system 100 of the present invention may be configured with multiple instances to provide high availability of a push message service. Here, the multiple instance is a configuration in which the push message providing system forms a plurality of independent communication paths, and includes an authentication server, a push server, and a distribution module for each communication path.

도 5는 본 발명의 또 다른 실시예에 따른, 단일 인스턴스로 구현된 푸시 메시지 제공 시스템의 멀티플 인스턴스 구성을 나타내는 도면이다.5 is a diagram illustrating a multiple instance configuration of a push message providing system implemented as a single instance according to another embodiment of the present invention.

도 5에 도시된 바와 같이, 본 발명의 또 다른 실시예에 따른 멀티플 인스턴스로 구성된 푸시 메시지 제공 시스템은, 복수의 푸시 메시지 제공 시스템(100a, 100b)과 각각의 통신 어댑터(140a, 140b)와 연결된 서비스 모듈(550)을 포함한다.As shown in FIG. 5, a push message providing system composed of multiple instances according to another embodiment of the present invention is connected to a plurality of push message providing systems 100a and 100b and respective communication adapters 140a and 140b. A service module 550.

각각의 푸시 메시지 제공 시스템(100a, 100b)은 인증 서버(110a, 110b), 푸시 서버(120a-N, 120b-N), 분배 모듈(130a, 130b), 통신 어댑터(140a, 140b)를 포함하여 독립된 통신경로를 형성한다.Each push message providing system 100a, 100b includes authentication servers 110a, 110b, push servers 120a-N, 120b-N, distribution modules 130a, 130b, and communication adapters 140a, 140b. Form an independent communication path.

상기 서비스 모듈(550)은 통신 어댑터a(140a), 통신 어댑터b(140b) 중 하나 이상을 이용하여 푸시 메시지를 클라이언트 단말(300-N)로 전송한다. 특히, 서비스 모듈(550)은 통신 어댑터a(140a)가 포함된 시스템(100a)에서 장애가 발생한 경우, 통신 어댑터a(140a) 대신에 통신 어댑터b(140b)로 푸시 메시지를 전달한다. 즉, 서비스 모듈(550)은 제1푸시 메시지 제공 시스템(100a)에서 장애가 발생한 경우, 제2푸시 메시지 제공 시스템(100b)을 이용하여 푸시 메시지를 클라이언트 단말(300-N)로 전송한다. 게다가, 서비스 모듈(550)은 특정 푸시 서버(120a-N, 120b-N)와의 통신 상태가 불량한 경우, 다른 통신 채널을 이용하여 상기 특정 푸시 서버(120a-N, 120b-N)와 통신할 수도 있다.The service module 550 transmits a push message to the client terminal 300 -N using one or more of the communication adapter a 140a and the communication adapter b 140b. In particular, the service module 550 transmits a push message to the communication adapter b 140b instead of the communication adapter a 140a when a failure occurs in the system 100a including the communication adapter a 140a. That is, the service module 550 transmits a push message to the client terminal 300 -N by using the second push message providing system 100b when a failure occurs in the first push message providing system 100a. In addition, the service module 550 may communicate with the specific push server 120a-N or 120b-N using another communication channel when the communication state with the specific push server 120a-N or 120b-N is poor. have.

바람직하게, 각각의 푸시 메시지 제공 시스템(100a, 100b)에 포함된 푸시 서버(120a-N, 120b-N), 분배 모듈(130a, 130b), 통신 어댑터(140a, 140b) 각각은 서로 간에 동작 상태를 모니터링하여 비정상적으로 동작하는 구성요소가 감지된 경우, 그 구성요소에 대한 장애 정보를 서비스 모듈(550)로 제공할 수 있다. 즉, 분배 모듈(130a, 130b)는 각 푸시 서버(120a-N, 120b-N)의 장애 여부를 모니터링하여, 특정 푸시 서버(120a-N, 120b-N)에서 장애가 발생한 경우, 이 장애 발생 정보를 통신 어댑터(140a, 140b)를 이용하여 서비스 모듈(550)로 제공한다. 또한, 통신 어댑터(140a, 140b)는 분배 모듈(130a, 130b)의 장애 여부를 모니터링하여, 분배 모듈(130a, 130b)에서 장애가 발생한 경우, 분배 모듈(130a, 130b)에 대한 장애 발생 정보를 서비스 모듈(550)로 전달한다.Preferably, each of the push servers 120a-N and 120b-N, the distribution modules 130a and 130b, and the communication adapters 140a and 140b included in each push message providing system 100a and 100b are operating with each other. If a component that is abnormally detected by monitoring is detected, failure information on the component may be provided to the service module 550. That is, the distribution module 130a or 130b monitors whether or not each push server 120a-N or 120b-N fails, and if the specific push server 120a-N or 120b-N fails, this failure occurrence information To the service module 550 using the communication adapters 140a and 140b. In addition, the communication adapter 140a or 140b monitors whether the distribution modules 130a and 130b fail, and when failure occurs in the distribution modules 130a and 130b, the communication adapters 140a and 140b service failure information on the distribution modules 130a and 130b. Transfer to module 550.

또한, 서비스 모듈(550)은 각각의 통신 어댑터(140a, 140b)의 장애 여부를 모니터링하고, 통신 어댑터(140a, 140b)로부터 전달받은 장애 발생 정보를 토대로, 각각의 푸시 메시지 제공 시스템(100a, 100b)에서 장애 여부를 판별한다.In addition, the service module 550 monitors each communication adapter 140a and 140b for failure, and based on the failure occurrence information received from the communication adapter 140a and 140b, each push message providing system 100a and 100b is provided. ) To determine if there is a failure.

인증 서버(110a, 110b)는 인증 성공한 클라이언트 단말(300-N)로 복수의 푸시 서버(120a-N, 120b-N)에 대한 접속정보를 제공한다. 이때, 인증 서버(110a, 110b)는 자신의 시스템에 속하는 푸시 서버(120a-N, 120b-N)와 동일한 서비스 분야에 해당하는 다른 시스템의 푸시 서버(120a-N, 120b-N)의 접속정보를 인증 성공한 클라이언트 단말(300-N)로 추가적으로 전송한다. 예를 들어, 푸시 서버1a(120a-1)와 푸시 서버1b(120b-1)가 광고 서비스 분야를 담당하는 경우, 인증 서버(110a, 110b)는 상기 광고 서비스 분야를 담당하는 푸시 서버1a(120a-1)와 푸시 서버1b(120b-1) 각각에 대한 접속정보를 클라이언트 단말(300-N)로 전송한다.The authentication servers 110a and 110b provide access information for the plurality of push servers 120a-N and 120b-N to the client terminal 300 -N which has been successfully authenticated. At this time, the authentication server (110a, 110b) is access information of the push server (120a-N, 120b-N) of the other system corresponding to the same service field as the push server (120a-N, 120b-N) belonging to its own system It is additionally transmitted to the client terminal 300-N successful authentication. For example, when the push server 1a 120a-1 and the push server 1b 120b-1 are in charge of the advertising service field, the authentication servers 110a and 110b are the push server 1a 120a in charge of the advertising service field. -1) and the access information about each of the push server 1b 120b-1 is transmitted to the client terminal 300-N.

클라이언트 단말(300-N)은 복수의 푸시 서버(120a-N, 120b-N)에 대한 접속정보를 인증 서버(110a, 110b)로부터 수신하고, 이 접속정보를 토대로 제1푸시 메시지 제공 시스템(100a)의 푸시 서버(120a-1)와 제2푸시 메시지 제공 시스템(100a)의 푸시 서버(120b-1) 각각과 소켓을 형성한다. 이에 따라, 클라이언트 단말(300-N)은 현재 푸시 서비스를 제공받는 푸시 메시지 제공 시스템(100a, 100b)에서 장애가 발생한 경우, 다른 푸시 메시지 제공 시스템(100a, 100b)을 통해 자신이 원하는 서비스 분야의 푸시 메시지를 수신할 수 있다. 또한, 클라이언트 단말(300-N)은 소켓 형성중인 푸시 서버(120a-N, 120b-N)와 접속이 끊긴 경우. 이 푸시 서버(120a-N, 120b-N)와 설정된 횟수만큼 재접속하여 소켓 형성을 재시도할 수 있다.The client terminal 300 -N receives access information about the plurality of push servers 120a -N and 120b -N from the authentication servers 110a and 110b, and the first push message providing system 100a based on the access information. A socket is formed with each of the push server 120a-1 and the push server 120b-1 of the second push message providing system 100a. Accordingly, when a failure occurs in the push message providing system 100a or 100b currently receiving the push service, the client terminal 300 -N pushes the service field through the other push message providing system 100a or 100b. You can receive a message. In addition, when the client terminal (300-N) is disconnected from the push server (120a-N, 120b-N) in the socket forming. The push server 120a-N and 120b-N may be reconnected with the set number of times to retry socket formation.

도 6은 본 발명의 또 다른 실시예에 따른, 멀티플 인스턴스로 구성된 푸시 메시지 제공 시스템에서 푸시 메시지 전송 경로를 전환하여 클라이언트 단말로 푸시 메시지를 제공하는 방법을 설명하는 흐름도이다.6 is a flowchart illustrating a method of providing a push message to a client terminal by switching a push message transmission path in a push message providing system composed of multiple instances according to another embodiment of the present invention.

도 6을 참조한 설명에서는, 클라이언트 단말이 푸시 서버1a(120a-1) 및 푸시 서버1b(120b-1) 각각과 소켓이 형성된 상태인 것으로 가정한다.In the description with reference to FIG. 6, it is assumed that the client terminal is in a state where a socket is formed with each of the push server 1a 120a-1 and the push server 1b 120b-1.

도 6을 참조하면, 클라이언트 단말(300-N)은 인증 서버a(110a) 또는 인증 서버b(110b)로부터 푸시 서버1a(120a-1)의 접속정보 및 푸시 서버1b(120b-1)의 접속정보를 수신하고, 이 접속정보를 이용하여 푸시 서버1a(120a-1) 및 푸시 서버1b(120b-1) 각각과 소켓을 형성한다(S601, S603). 즉, 클라이언트 단말(300-N)은 제1푸시 메시지 제공 시스템(100a)과 제2푸시 메시지 제공 시스템(100b)과 각각 접속하여 소켓을 형성한다.Referring to FIG. 6, the client terminal 300 -N connects the access information of the push server 1a 120a-1 and the push server 1b 120b-1 from the authentication server a 110a or the authentication server b 110b. Information is received and a socket is formed with each of the push server 1a 120a-1 and the push server 1b 120b-1 using this connection information (S601, S603). That is, the client terminal 300 -N connects with the first push message providing system 100a and the second push message providing system 100b to form a socket.

이렇게 클라이언트 단말(300-N)이 제1,2푸시 메시지 제공 시스템(100a, 100b)과 소켓을 형성한 상태에서, 서비스 모듈(550)은 푸시 메시지를 생성한 후, 이 푸시 메시지에 서비스 분야 식별정보를 기록하여 통신 어댑터a(140a)로 전달한다(S605). 그러면, 통신 어댑터a(140a)는 분배 모듈a(130a)로 상기 푸시 메시지를 전달하고, 분배 모듈a(130a)는 푸시 메시지에 기록된 서비스 분야 식별정보를 확인한 후, 이 서비스 분야를 담당하는 푸시 서버1a(120a-1)로 푸시 메시지를 분배한다(S607, S609). 다음으로, 푸시 서버1a(120a-1)는 자신과 소켓 형성된 클라이언트 단말(300-N)로 상기 푸시 메시지를 전송한다(S611).In this state in which the client terminal 300 -N forms a socket with the first and second push message providing systems 100a and 100b, the service module 550 generates a push message and then identifies a service field in the push message. The information is recorded and transferred to the communication adapter a 140a (S605). Then, the communication adapter a 140a delivers the push message to the distribution module a 130a, and the distribution module a 130a checks the service field identification information recorded in the push message, and then pushes the responsible for this service field. The push message is distributed to the server 1a 120a-1 (S607 and S609). Next, the push server 1a (120a-1) transmits the push message to the client terminal (300-N) and the socket is formed (S611).

즉, 서비스 모듈(550)은 우선적으로 제1푸시 메시지 제공 시스템(100a)을 통하여 푸시 메시지를 클라이언트 단말(300-N)로 전송한다.That is, the service module 550 first transmits a push message to the client terminal 300 -N through the first push message providing system 100a.

이렇게 서비스 모듈(550)은 제1푸시 메시지 제공 시스템(100a)을 이용하여 푸시 메시지를 클라이언트 단말(300-N)로 전송하는 도중에서, 제1푸시 메시지 제공 시스템(100a)의 장애를 감지한다(S613). 이때, 서비스 모듈(550)은 통신 어댑터a(140a)의 장애를 직접적으로 감지할 수 있으며, 또는 통신 어댑터a(140a)로부터 수신한 장애 정보를 토대로 분배 모듈a(130a) 또는 푸시 서버1a(120a-1)의 장애를 감지할 수 있다.In this way, the service module 550 detects a failure of the first push message providing system 100a while transmitting a push message to the client terminal 300 -N using the first push message providing system 100a ( S613). In this case, the service module 550 may directly detect a failure of the communication adapter a 140a, or based on the failure information received from the communication adapter a 140a, the distribution module a 130a or the push server 1a 120a. -1) failure can be detected.

그러면, 서비스 모듈(550)은 제1푸시 메시지 제공 시스템(100a)으로의 푸시 메시지 전달을 중단하고, 이후에 생성된 푸시 메시지를 제2푸시 메시지 제공 시스템(100b)에 속하는 통신 어댑터b(140b)로 전달한다(S615). 이때, 서비스 모듈(550)은 상기 푸시 메시지에 서비스 분야 식별정보를 기록한다.Then, the service module 550 stops the delivery of the push message to the first push message providing system 100a, and subsequently transfers the generated push message to the second push message providing system 100b. Transfer to (S615). At this time, the service module 550 records service field identification information in the push message.

그러면, 통신 어댑터b(140b)는 분배 모듈b(130b)로 상기 푸시 메시지를 전달하고, 분배 모듈b(130b)는 푸시 메시지에 기록된 서비스 분야 식별정보를 확인한 후, 이 서비스 분야를 담당하는 푸시 서버1b(120b-1)로 푸시 메시지를 전달한다(S617, S619). 다음으로, 푸시 서버1b(120b-1)는 자신과 소켓 형성된 클라이언트 단말(300-N)로 상기 푸시 메시지를 전송한다(S621).Then, the communication adapter b 140b transmits the push message to the distribution module b 130b, and the distribution module b 130b checks the service field identification information recorded in the push message, and then pushes the responsible for this service field. The push message is transmitted to the server 1b 120b-1 (S617 and S619). Next, the push server 1b 120b-1 transmits the push message to the client terminal 300 -N with which the socket is formed (S621).

이에 따라, 클라이언트 단말(300-N)은 제1푸시 메시지 제공 시스템(100a)에 장애가 발생하더라도, 제2푸시 메시지 제공 시스템(100b)을 통하여 푸시 메시지를 수신할 수 있다.Accordingly, the client terminal 300 -N may receive a push message through the second push message providing system 100b even if a failure occurs in the first push message providing system 100a.

도 7은 본 발명의 또 다른 실시예에 따른, 멀티 인스턴스로 구현된 푸시 메시지 제공 시스템의 멀티플 인스턴스 구성을 나타내는 도면이다.7 is a diagram illustrating a multiple instance configuration of a push message providing system implemented with multiple instances according to another embodiment of the present invention.

도 7에 도시된 바와 같이, 본 발명의 또 다른 실시예에 따른 푸시 메시지 제공 시스템은, 인증 서버(110a, 110b), 푸시 서버(120a-N, 120b-N), 분배 모듈(430a, 430b), 릴레이 서버(420a, 420b) 및 애플리케이션 서버(410a, 410b)를 포함하여 독립된 복수의 통신경로를 형성한다.As shown in FIG. 7, the push message providing system according to another exemplary embodiment of the present invention includes authentication servers 110a and 110b, push servers 120a-N and 120b-N, and distribution modules 430a and 430b. In addition, relay servers 420a and 420b and application servers 410a and 410b may be formed to form a plurality of independent communication paths.

도 7에 도시된 구성 요소들 중에서, 도 5와 동일한 참조부호를 가지는 구성요소는 도 5의 구성요소와 동일한 기능을 수행하므로, 도 7을 참조한 설명에서는 도 5와 다른 참조부호를 가지는 구성요소들에 대해서만 설명한다.Of the components illustrated in FIG. 7, the components having the same reference numerals as in FIG. 5 perform the same functions as the components of FIG. 5, and thus, in the description with reference to FIG. Explain only about.

클라이언트 단말(300-N)은 복수의 푸시 서버(120a-N, 120b-N)에 대한 접속정보를 인증 서버(110a, 110b)로부터 수신하고, 이 접속정보를 토대로 각 통신경로에 포함된 푸시 서버(120a-1)와 푸시 서버(120b-1)와 각각 소켓을 형성한다.The client terminal 300 -N receives access information for the plurality of push servers 120a -N and 120b -N from the authentication servers 110a and 110b, and the push server included in each communication path based on the access information. Sockets are formed with the 120a-1 and the push server 120b-1, respectively.

애플리케이션 서버(410a, 410b)는 하나 이상의 서비스 분야를 담당하며, 릴레이 서버(420)로 푸시 메시지를 전송한다. 또한, 애플리케이션 서버(410a, 410b)는 통신 어댑터(411a, 411b)와 서비스 모듈(412a, 412b)을 포함한다.The application servers 410a and 410b are responsible for one or more service areas, and send a push message to the relay server 420. Application servers 410a and 410b also include communication adapters 411a and 411b and service modules 412a and 412b.

통신 어댑터(411a, 411b)는 외부 네트워크(440)를 통하여 복수의 릴레이 서버(420a, 420b)와 연결되고, 각 릴레이 서버(420a, 420b)와 서비스 분야별로 하나 이상의 통신 채널을 형성한다. 또한, 통신 어댑터(411a, 411b)는 상기 통신 채널을 이용하여 서비스 모듈(412a, 412b)과 릴레이 서버(420a, 420b) 간의 통신을 중계한다.The communication adapters 411a and 411b are connected to the plurality of relay servers 420a and 420b through the external network 440 and form at least one communication channel for each service area with the relay servers 420a and 420b. In addition, communication adapters 411a and 411b use the communication channel to relay communication between service modules 412a and 412b and relay servers 420a and 420b.

상기 서비스 모듈(412a, 412b)은 통신 어댑터(411a, 411b)를 이용하여 푸시 메시지를 릴레이 서버(420a, 420b)로 전송한다. 또한, 서비스 모듈(412a, 412b)은 특정 푸시 서버(120a-N, 120b-N)와의 통신 상태가 불량한 경우, 다른 통신 채널을 이용하여 상기 특정 푸시 서버(120a-N, 120b-N)와 통신할 수도 있다. 게다가, 서비스 모듈(412a, 412b)은 자신이 속하는 시스템의 구성요소 중에서 푸시 서버(120a-N, 120b-N), 분배 모듈(430a, 430b), 릴레이 서버(420a, 420b) 중 어느 하나에 장애가 발생한 경우, 다른 시스템의 릴레이 서버(420a, 420b)로 푸시 메시지를 전송한다.The service module 412a, 412b transmits a push message to the relay server 420a, 420b using the communication adapter 411a, 411b. In addition, the service module 412a, 412b communicates with the specific push server 120a-N or 120b-N using another communication channel when the communication state with the specific push server 120a-N or 120b-N is poor. You may. In addition, the service module 412a, 412b fails any of the push server 120a-N, 120b-N, distribution modules 430a, 430b, or relay server 420a, 420b among the components of the system to which it belongs. If so, the push message is transmitted to the relay servers 420a and 420b of the other system.

바람직하게, 통신경로별 푸시 서버(120a-N, 120b-N), 분배 모듈(430a, 430b), 릴레이 서버(420a, 420b)는 서로 간에 동작 상태를 점검하여 비정상적으로 동작하는 구성요소가 감지된 경우, 그 구성요소에 대한 장애 정보를 애플리케이션 서버(410a, 410b)로 전송한다. 즉, 분배 모듈(430a, 430b)는 각 푸시 서버(120a-N, 120b-N)의 장애 여부를 모니터링하여, 특정 푸시 서버(120a-N, 120b-N)에서 장애가 발생한 경우, 이 장애 발생 정보를 릴레이 서버(420a, 420b)를 이용하여 애플리케이션 서버(410a, 410b)로 전송한다. 또한, 릴레이 서버(420a, 420b)는 분배 모듈(430a, 430b)의 장애 여부를 모니터링하여, 분배 모듈(430a, 430b)에서 장애가 발생한 경우, 분배 모듈(430a, 430b)에 대한 장애 발생 정보를 애플리케이션 서버(410a, 410b)로 전달한다.Preferably, the push server (120a-N, 120b-N), the distribution module (430a, 430b), the relay server (420a, 420b) for each communication path by checking the operating state of each other components detected abnormally In this case, failure information of the component is transmitted to the application servers 410a and 410b. That is, the distribution module 430a or 430b monitors whether or not each push server 120a-N or 120b-N fails, and if the failure occurs in a specific push server 120a-N or 120b-N, the failure occurrence information Is transmitted to the application server (410a, 410b) using the relay server (420a, 420b). In addition, the relay server 420a and 420b monitors whether the distribution modules 430a and 430b fail, and if failure occurs in the distribution modules 430a and 430b, the relay server 420a and 420b applies the failure occurrence information for the distribution modules 430a and 430b. Transfer to server 410a, 410b.

또한, 애플리케이션 서버(410a, 410b)의 서비스 모듈(412a, 412b)은 릴레이 서버(420a, 420b)의 장애 여부를 직접적으로 모니터링하여, 릴레이 서버(420a, 420b)의 장애를 판별한다. 또한, 서비스 모듈(412a, 412b)은 릴레이 서버(420a, 420b)로부터 전달받은 장애 발생 정보를 토대로, 푸시 메시지 제공 시스템의 장애 구간을 판별할 수 있다.In addition, the service modules 412a and 412b of the application servers 410a and 410b directly monitor whether or not the relay servers 420a and 420b fail and determine failures of the relay servers 420a and 420b. In addition, the service module 412a or 412b may determine a failure section of the push message providing system based on the failure occurrence information received from the relay server 420a or 420b.

도 8은 본 발명의 또 다른 실시예에 따른, 멀티플 인스턴스로 구성된 푸시 메시지 제공 시스템에서 푸시 메시지 전송 경로를 전환하여 클라이언트 단말로 푸시 메시지를 제공하는 방법을 설명하는 흐름도이다.8 is a flowchart illustrating a method of providing a push message to a client terminal by switching a push message transmission path in a push message providing system composed of multiple instances according to another embodiment of the present invention.

도 8을 참조한 설명에서는, 클라이언트 단말이 푸시 서버1a(120a-1) 및 푸시 서버1b(120b-1) 각각과 소켓을 형성한 상태인 것으로 가정하여 설명한다.In the description with reference to FIG. 8, it is assumed that the client terminal is in a state in which a socket is formed with each of the push server 1a 120a-1 and the push server 1b 120b-1.

도 8을 참조하면, 클라이언트 단말(300-N)은 인증 서버a(110a) 또는 인증 서버b(110b)로부터 푸시 서버1a(120a-1)의 접속정보 및 푸시 서버1b(120b-1)의 접속정보를 수신하고, 이 접속정보를 이용하여 푸시 서버1a(120a-1) 및 푸시 서버1b(120b-1) 각각과 소켓을 형성한다(S801, S803). 상기 푸시 서버1a(120-1)와 푸시 서버1b(120b-1)는 동일한 서비스 분야를 담당한다.Referring to FIG. 8, the client terminal 300 -N may access the connection information of the push server 1a 120a-1 and the access server 1b 120b-1 from the authentication server a 110a or the authentication server b 110b. Information is received and a socket is formed with each of the push server 1a 120a-1 and the push server 1b 120b-1 using this connection information (S801 and S803). The push server 1a 120-1 and the push server 1b 120b-1 are in charge of the same service field.

이렇게 클라이언트 단말(300-N)이 상기 푸시 서버1a(120-1)와 푸시 서버1b(120b-1) 각각과 소켓을 형성한 상태에서, 애플리케이션 서버a(410a)의 서비스 모듈a(412a)는 푸시 메시지를 생성한 후, 이 푸시 메시지에 서비스 분야 식별정보를 기록한다. 그리고 서비스 모듈a(412a)는 통신 어댑터a(411a)를 이용하여 상기 푸시 메시지를 릴레이 서버a(420a)로 전송한다(S805).With the client terminal 300 -N forming a socket with each of the push server 1a 120-1 and the push server 1b 120b-1, the service module a 412a of the application server a 410a is After generating the push message, the service field identification information is recorded in the push message. The service module a 412a transmits the push message to the relay server a 420a using the communication adapter a 411a (S805).

그러면, 릴레이 서버a(420a)는 분배 모듈a(430a)로 상기 푸시 메시지를 전달하고, 분배 모듈a(430a)는 푸시 메시지에 기록된 서비스 분야 식별정보를 확인한 후, 이 서비스 분야를 담당하는 푸시 서버1a(120a-1)로 푸시 메시지를 분배한다(S807, S809). 다음으로, 푸시 서버1a(120a-1)는 자신과 소켓 형성된 클라이언트 단말(300-N)로 상기 푸시 메시지를 전송한다(S811).Then, the relay server a 420a transmits the push message to the distribution module a 430a, and the distribution module a 430a checks the service field identification information recorded in the push message, and then pushes the responsible for this service field. The push message is distributed to the server 1a 120a-1 (S807 and S809). Next, the push server 1a 120a-1 transmits the push message to the client terminal 300 -N with which the socket is formed (S811).

즉, 클라이언트 단말(300-N)은 각 통신경로에 포함된 푸시 서버1a(120a-1)와 푸시 서버1b(120b-1) 중에서, 상기 푸시 서버1a(120a-1)를 통하여 우선적으로 푸시 메시지를 수신한다. That is, the client terminal 300 -N preferentially pushes messages through the push server 1a 120a-1 among the push server 1a 120a-1 and the push server 1b 120b-1 included in each communication path. Receive

서비스 모듈a(412a)는 릴레이 서버a(420a)를 이용하여 푸시 메시지를 전송하는 도중에서, 푸시 서버(120a-N), 분배 모듈a(430a), 릴레이 서버a(420a) 중 어느 하나의 장애를 감지한다(S813). 이때, 애플리케이션 서버a(410a)의 서비스 모듈a(412a)는 통신 어댑터a(411a)를 이용하여 릴레이 서버a(420a)의 장애를 직접적으로 감지할 수 있으며, 또는 릴레이 서버a(420a)로부터 수신한 장애 정보를 토대로 분배 모듈a(430a) 또는 푸시 서버1a(120a-1)의 장애를 감지할 수 있다.Service module a (412a) is a failure of any one of the push server (120a-N), distribution module a (430a), relay server a (420a) during the transmission of the push message using the relay server a (420a) Sense it (S813). In this case, the service module a 412a of the application server a 410a may directly detect a failure of the relay server a 420a using the communication adapter a 411a, or may be received from the relay server a 420a. The failure of the distribution module a 430a or the push server 1a 120a-1 may be detected based on the failure information.

다음으로, 애플리케이션 서버a(410a)의 서비스 모듈a(412a)는 릴레이 서버a(420a)로의 푸시 메시지 전달을 중단하고, 이후에 생성된 푸시 메시지를 릴레이 서버b(420b)로 전달한다(S815). 이때, 서비스 모듈(550)은 상기 푸시 메시지에 서비스 분야 식별정보를 기록한다.Next, the service module a 412a of the application server a 410a stops the push message delivery to the relay server a 420a and transfers the push message generated afterwards to the relay server b 420b (S815). . At this time, the service module 550 records service field identification information in the push message.

그러면, 릴레이 서버b(420b)는 분배 모듈b(430b)로 상기 푸시 메시지를 전달하고, 분배 모듈b(430b)는 푸시 메시지에 기록된 서비스 분야 식별정보를 확인한 후, 이 서비스 분야를 담당하는 푸시 서버1b(120b-1)로 푸시 메시지를 전달한다(S817, S819). 다음으로, 푸시 서버1b(120b-1)는 자신과 소켓 형성된 클라이언트 단말(300-N)로 상기 푸시 메시지를 전송한다(S821).Then, the relay server b 420b transmits the push message to the distribution module b 430b, and the distribution module b 430b checks the service field identification information recorded in the push message, and then pushes the responsible for this service field. The push message is transmitted to the server 1b 120b-1 (S817 and S819). Next, the push server 1b 120b-1 transmits the push message to the client terminal 300 -N with which the socket is formed (S821).

이에 따라, 클라이언트 단말(300-N)은 푸시 서버(120a-N), 메시지 분배장치a(430a), 릴레이 서버a(420a) 중에서 어느 하나에 장애가 발생하더라도, 다른 통신경로에 포함된 릴레이 서버b(420b), 분배 모듈b(430b), 푸시 서버(120b-N)를 통하여 푸시 메시지를 수신할 수 있다.Accordingly, the client terminal 300 -N is a relay server b included in another communication path even if a failure occurs in any one of the push server 120a-N, the message distribution device a 430a, and the relay server a 420a. 420b, the distribution module b 430b, and the push server 120b -N may receive a push message.

본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.While the specification contains many features, such features should not be construed as limiting the scope of the invention or the scope of the claims. In addition, the features described in the individual embodiments herein may be combined and implemented in a single embodiment. Conversely, various features described in the singular < Desc / Clms Page number 5 > embodiments herein may be implemented in various embodiments individually or in combination as appropriate.

도면에서 동작들이 특정한 순서로 설명되었으나, 그러한 동작들이 도시된 바와 같은 특정한 순서로 수행되는 것으로, 또는 일련의 연속된 순서, 또는 원하는 결과를 얻기 위해 모든 설명된 동작이 수행되는 것으로 이해되어서는 안 된다. 특정 환경에서 멀티태스킹 및 병렬 프로세싱이 유리할 수 있다. 아울러, 상술한 실시예에서 다양한 시스템 구성요소의 구분은 모든 실시예에서 그러한 구분을 요구하지 않는 것으로 이해되어야 한다. 상술한 프로그램 구성요소 및 시스템은 일반적으로 단일 소프트웨어 제품 또는 멀티플 소프트웨어 제품에 패키지로 구현될 수 있다.Although the operations have been described in a particular order in the figures, it should be understood that such operations are performed in a particular order as shown, or that all described operations are performed to obtain a sequence of sequential orders, or a desired result . In certain circumstances, multitasking and parallel processing may be advantageous. It should also be understood that the division of various system components in the above embodiments does not require such distinction in all embodiments. The above-described program components and systems can generally be implemented as a single software product or as a package in multiple software products.

상술한 바와 같은 본 발명의 방법은 프로그램으로 구현되어 컴퓨터로 읽을 수 있는 형태로 기록매체(시디롬, 램, 롬, 플로피 디스크, 하드 디스크, 광자기 디스크 등)에 저장될 수 있다. 이러한 과정은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있으므로 더 이상 상세히 설명하지 않기로 한다.The method of the present invention as described above can be implemented by a program and stored in a computer-readable recording medium (CD-ROM, RAM, ROM, floppy disk, hard disk, magneto optical disk, etc.). Such a process can be easily carried out by those skilled in the art and will not be described in detail.

이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 의해 한정되는 것이 아니다.It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the invention. The present invention is not limited to the drawings.

110 : 인증 서버 120 : 푸시 서버
130, 430 : 분배 모듈 140, 411 : 통신 어댑터
150, 412, 550 : 서비스 모듈 200 : 네트워크
440 : 외부 네트워크 300 : 클라이언트 단말
410 : 애플리케이션 서버 420 : 릴레이 서버
110: authentication server 120: push server
130, 430: distribution module 140, 411: communication adapter
150, 412, 550: service module 200: network
440: external network 300: client terminal
410: application server 420: relay server

Claims (23)

푸시 메시지를 생성하는 서비스 모듈;
상기 서비스 모듈에서 생성된 푸시 메시지의 정보를 분석하여 상기 푸시 메시지의 서비스 분야를 식별하고, 다수의 푸시 서버 중에서 상기 식별된 서비스 분야를 담당하는 푸시 서버로 상기 푸시 메시지를 전달하는 분배 모듈; 및
클라이언트 단말과 푸시 메시지 전송을 위한 소켓을 형성하고, 상기 분배 모듈로부터 전달받은 푸시 메시지를 상기 소켓을 형성한 클라이언트 단말로 전송하는 하나 이상의 푸시 서버;를 포함하고,
상기 서비스 모듈은 생성된 상기 푸시 메시지에 서비스 분야 식별정보를 기록하고,
상기 분배 모듈은, 상기 푸시 메시지에서 서비스 분야 식별정보를 확인하여 상기 푸시 메시지의 서비스 분야를 식별하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
A service module for generating a push message;
A distribution module for analyzing the information of the push message generated by the service module to identify a service field of the push message, and delivering the push message to a push server in charge of the identified service field among a plurality of push servers; And
And at least one push server forming a socket for transmitting a push message with a client terminal and transmitting a push message received from the distribution module to the client terminal forming the socket.
The service module records service field identification information in the generated push message,
The distribution module may identify a service field of the push message by identifying service field identification information in the push message.
제 1 항에 있어서,
상기 클라이언트 단말로부터 푸시 서버의 접속정보를 요청받아, 상기 클라이언트 단말이 접속 가능한 푸시 서버를 확인하고, 상기 확인된 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 지정된 푸시 서버와 소켓을 형성하게 유도하는 인증 서버;를 더 포함하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method of claim 1,
The client terminal receives access information of a push server from the client terminal, identifies a push server accessible by the client terminal, and transmits the confirmed push server connection information to the client terminal to establish a push server and a socket designated by the client terminal. An authentication server for inducing to form; further comprising the push message providing system.
제 1 항에 있어서,
상기 푸시 서버는,
상기 클라이언트 단말과 TCP/IP 또는 UDP/IP 기반의 소켓을 형성하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method of claim 1,
The push server,
Push message providing system, characterized in that to form a socket based on the TCP / IP or UDP / IP with the client terminal.
제 1 항에 있어서,
상기 푸시 서버는,
플러그인을 통하여 상기 클라이언트 단말로 푸시 메시지를 전송하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method of claim 1,
The push server,
Push message providing system characterized in that for transmitting a push message to the client terminal via a plug-in.
제 4 항에 있어서,
상기 플러그인은 플렉스, 애플릿 중 하나를 포함하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
5. The method of claim 4,
And the plug-in comprises one of a flex and an applet.
제 2 항에 있어서,
상기 서비스 모듈과 상기 분배 모듈 간의 통신을 중계하는 통신 어댑터;를 더 포함하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
3. The method of claim 2,
And a communication adapter for relaying communication between the service module and the distribution module.
제 6 항에 있어서,
상기 푸시 서버, 상기 분배 모듈, 상기 통신 어댑터는 멀티플 인스턴스를 통해 하나 이상의 통신경로를 형성하고,
상기 서비스 모듈은, 푸시 메시지를 전송중인 통신경로에 포함된 푸시 서버, 분배 모듈, 통신 어댑터 중에서 어느 하나에 장애가 발생한 경우, 장애 발생한 통신경로 대신에 다른 통신경로를 통해 상기 푸시 메시지를 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method according to claim 6,
The push server, the distribution module, and the communication adapter form one or more communication paths through multiple instances,
When a failure occurs in any one of a push server, a distribution module, and a communication adapter included in a communication path transmitting a push message, the service module sends the push message to the client terminal through another communication path instead of the failed communication path. Push message providing system, characterized in that for transmitting.
제 7 항에 있어서,
상기 인증 서버는,
통신경로별 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여, 상기 클라이언트 단말이 각 통신경로에 포함된 푸시 서버와 각각 소켓을 형성하게 유도하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method of claim 7, wherein
The authentication server includes:
And transmitting the access information of the push server for each communication path to the client terminal, thereby inducing the client terminal to form sockets with the push server included in each communication path.
제 1 항 내지 제 8 항 중 어느 한 항에 있어서,
상기 서비스 모듈은, 상기 푸시 메시지가 특정 이벤트에 관련된 메시지이고 상기 특정 이벤트와 관련된 메시지의 전송을 상기 클라이언트 단말이 요청한 경우, 상기 푸시 메시지에 상기 클라이언트 단말의 IP 주소를 기록하고,
상기 푸시 서버는, 상기 푸시 메시지에 클라이언트 단말의 IP 주소가 기록된 경우, 상기 IP 주소를 가지는 클라이언트 단말로 상기 푸시 메시지를 전송하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method according to any one of claims 1 to 8,
The service module, when the push message is a message related to a specific event and the client terminal requests the transmission of a message related to the specific event, records the IP address of the client terminal in the push message,
The push server, if the IP address of the client terminal is recorded in the push message, the push message providing system, characterized in that for transmitting the push message to the client terminal having the IP address.
삭제delete 하나 이상의 푸시 서버에서 클라이언트 단말로 푸시 메시지를 제공하는 시스템에 있어서,
(a) 서비스 모듈에서 푸시 메시지를 생성하는 단계;
(b) 분배 모듈을 통해서 상기 푸시 메시지의 정보를 분석하여 상기 푸시 메시지의 서비스 분야를 식별하는 단계;
(c) 다수의 푸시 서버 중에서 상기 식별된 서비스 분야를 담당하는 푸시 서버로 상기 푸시 메시지를 분배하는 단계; 및
(d) 분배받은 상기 푸시 메시지를 상기 푸시 서버에서 소켓 형성한 클라이언트 단말로 전송하는 단계;를 포함하고,
상기 (b) 단계는,
상기 분배 모듈이, 상기 푸시 메시지에 기록된 서비스 분야 식별정보를 확인하여, 상기 푸시 메시지의 서비스 분야를 식별하는 것을 특징으로 하는 푸시 메시지 제공 방법.
A system for providing push messages from one or more push servers to client terminals, the system comprising:
(a) generating a push message in the service module;
(b) analyzing information of the push message through a distribution module to identify a service field of the push message;
(c) distributing the push message to a push server in charge of the identified service sector among a plurality of push servers; And
(d) transmitting the distributed push message from the push server to the socket-formed client terminal;
The step (b)
And the distribution module identifies service field identification information recorded in the push message to identify a service field of the push message.
제 11 항에 있어서,
상기 (a) 단계 이전에,
인증 서버에서, 상기 클라이언트 단말로부터 푸시 서버의 접속정보를 요청받는 단계;
상기 인증 서버에서, 상기 클라이언트 단말이 접속 가능한 푸시 서버를 확인하고, 상기 확인된 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하는 단계; 및
상기 푸시 서버에서 상기 접속정보를 수신한 클라이언트 단말과 소켓을 형성하는 단계;를 더 포함하는 것을 특징으로 하는 푸시 메시지 제공 방법.
The method of claim 11,
Before the step (a)
Receiving, at the authentication server, access information of a push server from the client terminal;
Identifying, by the authentication server, a push server accessible by the client terminal, and transmitting access information of the checked push server to the client terminal; And
And forming a socket with a client terminal receiving the access information at the push server.
제 11 항 또는 제 12 항에 있어서,
상기 (d) 단계는,
상기 푸시 서버에서, 상기 푸시 메시지에 IP 주소가 기록되었는지 여부를 확인하는 단계; 및
상기 푸시 서버에서, 상기 확인 결과 IP 주소가 기록된 경우, 상기 IP 주소를 가지는 클라이언트 단말로 상기 푸시 메시지를 전송하는 단계;를 포함하는 것을 특징으로 하는 푸시 메시지 제공 방법.
13. The method according to claim 11 or 12,
The step (d)
At the push server, checking whether an IP address is recorded in the push message; And
And transmitting, by the push server, the push message to a client terminal having the IP address if the IP address is recorded as a result of the checking.
삭제delete 푸시 메시지를 생성하는 하나 이상의 애플리케이션 서버;
네트워크를 통해 상기 하나 이상의 애플리케이션 서버와 통신하여, 각각의 애플리케이션 서버로부터 푸시 메시지를 수신하는 릴레이 서버;
상기 릴레이 서버로부터 상기 푸시 메시지를 수신하고 상기 푸시 메시지를 분석하여 서비스 분야를 식별하고, 상기 식별된 서비스 분야에 해당하는 푸시 서버로 상기 푸시 메시지를 전달하는 분배 모듈; 및
클라이언트 단말과 푸시 메시지 전송을 위한 소켓을 형성하고, 상기 분배 모듈로부터 전달받은 푸시 메시지를 상기 소켓을 형성한 클라이언트 단말로 전송하는 하나 이상의 푸시 서버;를 포함하는 푸시 메시지 제공 시스템.
One or more application servers for generating push messages;
A relay server in communication with the one or more application servers over a network, the relay server receiving a push message from each application server;
A distribution module for receiving the push message from the relay server, analyzing the push message to identify a service field, and delivering the push message to a push server corresponding to the identified service field; And
And at least one push server forming a socket for transmitting a push message with a client terminal, and transmitting the push message received from the distribution module to the client terminal forming the socket.
제 15 항에 있어서,
상기 클라이언트 단말로부터 푸시 서버의 접속정보를 요청받아, 상기 클라이언트 단말이 접속 가능한 푸시 서버를 확인하고, 상기 확인된 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 지정된 푸시 서버와 소켓을 형성하게 유도하는 인증 서버;를 더 포함하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method of claim 15,
The client terminal receives access information of a push server from the client terminal, identifies a push server accessible by the client terminal, and transmits the confirmed push server connection information to the client terminal to establish a push server and a socket designated by the client terminal. An authentication server for inducing to form; further comprising the push message providing system.
제 16 항에 있어서,
상기 푸시 서버, 상기 분배 모듈, 상기 릴레이 서버는 멀티플 인스턴스를 통해 하나 이상의 통신경로를 형성하고,
상기 애플리케이션 서버는, 푸시 메시지를 전송중인 통신경로에 포함된 푸시 서버, 분배 모듈, 릴레이 서버 중에서 어느 하나에 장애가 발생한 경우, 장애 발생한 통신경로 대신에 다른 통신경로를 통해 상기 푸시 메시지를 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
17. The method of claim 16,
The push server, the distribution module, and the relay server form one or more communication paths through multiple instances,
When the application server fails in any of the push server, distribution module, and relay server included in the communication path transmitting the push message, the application server sends the push message to the client terminal through another communication path instead of the failed communication path. Push message providing system, characterized in that for transmitting.
제 17 항에 있어서,
상기 인증 서버는,
통신경로별 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여, 상기 클라이언트 단말이 각 통신경로에 포함된 푸시 서버와 각각 소켓을 형성하게 유도하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method of claim 17,
The authentication server includes:
And transmitting the access information of the push server for each communication path to the client terminal, thereby inducing the client terminal to form sockets with the push server included in each communication path.
제 15 항 내지 제 18 항 중 어느 한 항에 있어서,
상기 애플리케이션 서버는, 상기 푸시 메시지가 특정 이벤트에 관련된 메시지이고 상기 특정 이벤트와 관련된 메시지의 전송을 상기 클라이언트 단말이 요청한 경우, 상기 푸시 메시지에 상기 클라이언트 단말의 IP 주소를 기록하고,
상기 푸시 서버는, 상기 푸시 메시지에 클라이언트 단말의 IP 주소가 기록된 경우, 상기 IP 주소를 가지는 클라이언트 단말로 상기 푸시 메시지를 전송하는 것을 특징으로 하는 푸시 메시지 제공 시스템.
The method according to any one of claims 15 to 18,
When the push message is a message related to a specific event and the client terminal requests the transmission of a message related to the specific event, the application server records the IP address of the client terminal in the push message,
The push server, if the IP address of the client terminal is recorded in the push message, the push message providing system, characterized in that for transmitting the push message to the client terminal having the IP address.
하나 이상의 푸시 서버에서 클라이언트 단말로 푸시 메시지를 제공하는 시스템에 있어서,
(a) 애플리케이션 서버에서 푸시 메시지를 생성하는 단계;
(b) 상기 푸시 메시지를 외부 통신망을 통해 릴레이 서버에서 수신하여 분배 모듈로 전달하는 단계;
(c) 상기 릴레이 서버로부터 전달받은 푸시 메시지를 상기 분배 모듈에서 푸시 메시지의 서비스 분야를 식별하는 단계;
(d) 상기 식별된 서비스 분야를 담당하는 푸시 서버로 상기 푸시 메시지를 분배하는 단계; 및
(e) 분배받은 상기 푸시 메시지를 소켓 형성한 푸시 서버를 통해 클라이언트 단말로 전송하는 단계;를 포함하는 푸시 메시지 제공 방법.
A system for providing push messages from one or more push servers to client terminals, the system comprising:
(a) generating a push message at the application server;
(b) receiving the push message at a relay server through an external communication network and delivering the push message to a distribution module;
(c) identifying a service field of a push message in the distribution module by using the push message received from the relay server;
(d) distributing the push message to a push server in charge of the identified service sector; And
(e) transmitting the distributed push message to a client terminal through a socket-formed push server.
제 20 항에 있어서,
상기 (a) 단계 이전에,
인증 서버에서, 상기 클라이언트 단말로부터 푸시 서버의 접속정보를 요청받는 단계;
상기 인증 서버에서, 상기 클라이언트 단말이 접속 가능한 푸시 서버를 확인하고, 상기 확인된 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하는 단계; 및
상기 푸시 서버에서 상기 접속정보를 수신한 클라이언트 단말과 소켓을 형성하는 단계;를 더 포함하는 것을 특징으로 하는 푸시 메시지 제공 방법.
21. The method of claim 20,
Before the step (a)
Receiving, at the authentication server, access information of a push server from the client terminal;
Identifying, by the authentication server, a push server accessible by the client terminal, and transmitting access information of the checked push server to the client terminal; And
And forming a socket with a client terminal receiving the access information at the push server.
제 20 항 또는 제 21 항에 있어서,
상기 (e) 단계는,
상기 푸시 서버에서, 상기 푸시 메시지에 IP 주소가 기록되었는지 여부를 확인하는 단계; 및
상기 푸시 서버에서, 상기 확인 결과 IP 주소가 기록된 경우, 상기 IP 주소를 가지는 클라이언트 단말로 상기 푸시 메시지를 전송하는 단계;를 포함하는 것을 특징으로 하는 푸시 메시지 제공 방법.
22. The method according to claim 20 or 21,
The step (e)
At the push server, checking whether an IP address is recorded in the push message; And
And transmitting, by the push server, the push message to a client terminal having the IP address if the IP address is recorded as a result of the checking.
제 20 항 또는 제 21 항에 있어서,
상기 (c) 단계는,
상기 분배 모듈이, 상기 푸시 메시지에 기록된 서비스 분야 식별정보를 확인하여, 상기 푸시 메시지의 서비스 분야를 식별하는 것을 특징으로 하는 푸시 메시지 제공 방법.
22. The method according to claim 20 or 21,
The step (c)
And the distribution module identifies service field identification information recorded in the push message to identify a service field of the push message.
KR1020120024573A 2012-03-09 2012-03-09 Method and system for providing push message KR101351594B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120024573A KR101351594B1 (en) 2012-03-09 2012-03-09 Method and system for providing push message

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120024573A KR101351594B1 (en) 2012-03-09 2012-03-09 Method and system for providing push message

Publications (2)

Publication Number Publication Date
KR20130103161A KR20130103161A (en) 2013-09-23
KR101351594B1 true KR101351594B1 (en) 2014-01-23

Family

ID=49452632

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120024573A KR101351594B1 (en) 2012-03-09 2012-03-09 Method and system for providing push message

Country Status (1)

Country Link
KR (1) KR101351594B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105991412B (en) 2015-02-12 2019-03-19 阿里巴巴集团控股有限公司 Information push method and device
KR20160100421A (en) 2015-02-13 2016-08-24 주식회사 톡스 System and method for push service combined with messaging service
CN109889613B (en) * 2019-04-24 2022-03-18 广州欢聊网络科技有限公司 Message pushing method and device and mobile terminal

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010008460A (en) * 1999-07-01 2001-02-05 이계철 Method for processing urgent message in push system
KR20010047930A (en) * 1999-11-24 2001-06-15 윤종용 Push method in generic web browser
KR20060054535A (en) * 2004-11-16 2006-05-22 (주) 엘지텔레콤 Method for obtaining music by mobile phone

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010008460A (en) * 1999-07-01 2001-02-05 이계철 Method for processing urgent message in push system
KR20010047930A (en) * 1999-11-24 2001-06-15 윤종용 Push method in generic web browser
KR20060054535A (en) * 2004-11-16 2006-05-22 (주) 엘지텔레콤 Method for obtaining music by mobile phone

Also Published As

Publication number Publication date
KR20130103161A (en) 2013-09-23

Similar Documents

Publication Publication Date Title
EP2735182B1 (en) Security gateway communication
US20210377729A1 (en) Wireless communications
CN101795449B (en) Wireless network terminal access control method and device thereof
WO2021077930A1 (en) Automatic networking method, apparatus, device, and readable medium
CN106255226B (en) Network connection processing method and device
US10285038B2 (en) Method and system for discovering user equipment in a network
CN107517138A (en) Equipment detection method and device
WO2015007172A1 (en) Method for acquiring monitoring data and system thereof, task distribution server and agent
EP3297338B1 (en) Method for realizing network access, terminal and computer storage medium
CN102143492B (en) Method for establishing virtual private network (VPN) connection, mobile terminal and server
JP2006518967A (en) Virtual wireless local area network
CA3129803A1 (en) Methods and systems for enabling identity-based services using a random identifier
KR101351594B1 (en) Method and system for providing push message
US20200374957A1 (en) Multi-connection access point
CN102143248A (en) Method and device for detecting IP (Internet Protocol) address conflict
CN104780121A (en) Message transmitting method and device
CN113378153B (en) Authentication method, first service device, second service device and terminal device
CN114554470A (en) Interaction method based on Bluetooth device and related device
CN110602222B (en) Joint monitoring method and device based on block chain and computer storage medium
CN110933018B (en) Network authentication method, device and computer storage medium
US8625801B2 (en) Authentication associated suite discovery and negotiation method
CN110072235B (en) Networking method and device for intelligent equipment, electronic device and storage medium
CN103188662B (en) A kind of method and device verifying WAP (wireless access point)
CN110535746A (en) Virtual private network VPN sharing method and device, electronic equipment and storage medium
JP6407114B2 (en) Communication system, communication method, communication node device, and program

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170103

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180102

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190102

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200102

Year of fee payment: 7