KR101351594B1 - Method and system for providing push message - Google Patents
Method and system for providing push message Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-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.
Description
본 발명은 메시지 전송 기술에 관한 것으로서, 더욱 상세하게는 보안성이 향상되고 여러 서비스 분야에서 두루 적용될 수 있는 메시지 푸시 제공 방법 및 시스템에 관한 것이다.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
푸시 서버(120-N)와 인증 서버(110) 각각은 네트워크(200)를 통하여 클라이언트 단말(300-N)과 각각 통신한다. 여기서, 네트워크(200)는 이동통신망과 광대역 유선통신망을 포함하는 것으로서, 본 발명에 있어서 주지의 관용기술에 해당하므로 자세한 설명은 생략한다.Each of the push server 120 -N and the
클라이언트 단말(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
또한, 클라이언트 단말(300-N)은 특정 이벤트와 관련된 메시지 전송을 푸시 메시지 제공 시스템(100)으로 요청하여, 상기 이벤트와 관련된 푸시 메시지만을 푸시 서버(300-N)로부터 수신할 수도 있다. 이러한 클라이언트 단말(300-N)은 플러그인(예컨대, 플렉스, 애플릿 등)을 이용하여 웹브라우저 기반의 푸시 클라이언트로 구현되고, 해당 푸시 서버(120-N)와 소켓을 형성하여 웹 브라우저상에서 푸시 메시지를 푸시 서버(120-N)로부터 수신한다.In addition, the client terminal 300 -N may request the push
인증 서버(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
푸시 서버(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
분배 모듈(130)은 통신 어댑터(140)로부터 수신한 푸시 메시지를 푸시 서버(120-N)로 분배하는 기능을 수행한다. 구체적으로, 분배 모듈(130)은 통신 어댑터(140)로부터 수신한 푸시 메시지에서 서비스 분야 식별정보를 확인함으로써, 상기 푸시 메시지의 서비스 분야를 판단하고, 상기 서비스 분야를 담당하는 푸시 서버(120-N)로 상기 푸시 메시지를 분배한다.The
통신 어댑터(140)는 분배 모듈(130)와 하나 이상의 통신 채널을 형성하고, 이 통신 채널을 이용하여 서비스 모듈(150)과 분배 모듈(130) 간의 통신을 중계한다. 특히, 통신 어댑터(140)는 서비스 모듈(150)로부터 푸시 메시지를 수신하여 분배 모듈(130)로 상기 푸시 메시지를 전달한다. The
상기 서비스 모듈(150)은 푸시 메시지를 생성하여, 상기 생성된 푸시 메시지를 통신 어댑터(140)를 이용하여 분배 모듈(130)로 전달한다. 또는, 서비스 모듈(150)은 외부의 장치 또는 서버로부터 푸시 메시지를 수신하여, 이 푸시 메시지를 통신 어댑터(140)를 이용하여 분배 모듈(130)로 전달할 수 있다. 이때, 서비스 모듈(150)은 푸시 메시지의 서비스 분야를 나타나는 서비스 분야 식별정보를 상기 푸시 메시지에 기록한다.The
상기 서비스 모듈(150)은 클라이언트 단말(300-N)이 특정 이벤트와 관련된 메시지 전송을 요청하면, 푸시 메시지에 상기 클라이언트 단말(300-N)의 IP 주소를 기록한다.When the client terminal 300 -N requests to transmit a message related to a specific event, the
도 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
그러면, 인증 서버(110)는 상기 클라이언트 단말(300-N)이 푸시 서비스를 제공받을 수 있는지 여부를 인증한다(S203). 이때, 인증 서버(110)는 클라이언트 단말(300-N)의 IP 또는 MAC 주소를 이용하여, 클라이언트 단말(300-N)을 인증할 수 있으며, 로그인 아이디와 패스워드를 근거로 클라이언트 단말(300-N)을 인증할 수도 있다. 또한, 인증 서버(110)는 클라이언트 단말(300-N)에 대한 크로스 도메인을 체크함으로써, 상기 클라이언트 단말(300-N)이 접근한 가능한 푸시 서버(120-N)가 존재하는지 여부를 인증할 수 있다.Then, the
이어서, 인증 서버(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
다음으로, 클라이언트 단말(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
푸시 서버(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
이렇게, 클라이언트 단말(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
다음으로, 분배 모듈(130)은 상기 수신한 푸시 메시지에서 서비스 분야 식별정보를 확인함으로써, 상기 수신한 푸시 메시지의 서비스 분야를 판별한다(S215). 이어서, 분배 모듈(130)은 상기 판별한 서비스 분야를 담당하는 푸시 서버(120-N)로 상기 푸시 메시지를 전달한다(S217). 예컨대, 분배 모듈(130)은 푸시 메시지의 서비스 분야가 광고 서비스인 경우, 광고 서비스를 담당하는 푸시 서버1(120-1)로 푸시 메시지를 전달한다. Next, the
그러면, 푸시 서버(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
도 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
도 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
이러한 애플리케이션 서버(410-N) 각각은 통신 어댑터(411) 및 서비스 모듈(412)을 포함한다.Each of these application servers 410 -N includes a
통신 어댑터(411)는 외부 네트워크(440)를 통하여, 릴레이 서버(420)와 서비스 분야별로 하나 이상의 통신 채널을 형성하고, 이 통신 채널을 이용하여 서비스 모듈(412)과 릴레이 서버(420) 간의 통신을 중계한다. 특히, 통신 어댑터(411)는 릴레이 서버(420)와 소켓을 형성하고, 서비스 모듈(412)에서 생성한 푸시시 메시지를 릴레이 서버(420)로 전송한다.The
서비스 모듈(412)은 푸시 메시지를 생성하여, 상기 생성된 푸시 메시지를 통신 어댑터(411)를 이용하여 릴레이 서버(420)로 전송한다. 또는, 서비스 모듈(412)은 외부의 장치 또는 서버로부터 푸시 메시지를 수신하여, 이 푸시 메시지를 통신 어댑터(411)를 이용하여 릴레이 서버(420)로 전송할 수 있다. 이때, 서비스 모듈(412)은 푸시 메시지의 서비스 분야를 나타나는 서비스 분야 식별정보를 상기 푸시 메시지에 기록한다.The
상기 서비스 모듈(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
릴레이 서버(420)는 애플리케이션 서버(410-N)와 분배 모듈(430) 간의 통신을 중계하는 장치로서, 애플리케이션 서버(410-N)에 구비된 통신 어댑터(411)와 소켓을 형성하여 해당 애플리케이션 서버(410)와 통신한다. 특히, 릴레이 서버(420)는 애플리케이션 서버(410-N)로부터 수신한 푸시 메시지를 분배 모듈(430)로 전달한다. 또한, 릴레이 서버(420)는 애플리케이션 서버(410-N)로부터 연속된 메시지 프레임을 수신한 경우, 이 메시지 프레임을 푸시 메시지 단위로 파싱한 후, 이 파싱된 복수의 메시지를 분배 모듈(430)로 전달한다.The
분배 모듈(430)는 릴레이 서버(420)로부터 푸시 메시지를 전달받으며, 이 푸시 메시지를 분석하여 해당 푸시 메시지의 서비스 분야를 확인하고, 이 서비스 분야를 담당하는 푸시 서버(120-N)로 푸시 메시지를 전달한다. 또한, 분배 모듈(430)는 릴레이 서버(420)로부터 전달받은 복수의 푸시 메시지의 전체 데이터량을 확인하고, 상기 푸시 메시지의 전체 데이터량이 푸시 서버(120-N)의 처리용량을 초과한 경우, 푸시 메시지의 데이터량을 조절하여 푸시 서버(120-N)로 분배한다. 이때, 분배 모듈(430)는 릴레이 서버(420)로부터 전달받은 복수의 푸시 메시지 모두를 푸시 서버(120-N)로 분배하지 않고, 전체의 푸시 메시지 중에서 일부의 푸시 메시지만을 우선적으로 푸시 서버(120-N)로 분배하고, 이후에 잔여 푸시 메시지를 푸시 서버(120-N)로 분배할 수 있다.The
도 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
그러면, 클라이언트 단말(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
그러면, 릴레이 서버(420)는 상기 수신한 푸시 메시지를 분배 모듈(430)로 전달한다(S415). 이때, 릴레이 서버(420)는 애플리케이션 서버(410-N)로부터 연속된 메시지 프레임을 수신한 경우, 이 메시지 프레임을 푸시 메시지 단위로 파싱한 후, 이 파싱된 복수의 메시지를 분배 모듈(430)로 전달할 수 있다.Then, the
다음으로, 분배 모듈(430)는 상기 수신한 푸시 메시지에서 서비스 분야 식별정보를 확인함으로써, 상기 수신한 푸시 메시지의 서비스 분야를 판별하고, 상기 판별한 서비스 분야를 담당하는 푸시 서버(120-N)로 상기 푸시 메시지를 전달한다(S417, S419). Next, the
그러면, 푸시 서버(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
도 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
각각의 푸시 메시지 제공 시스템(100a, 100b)은 인증 서버(110a, 110b), 푸시 서버(120a-N, 120b-N), 분배 모듈(130a, 130b), 통신 어댑터(140a, 140b)를 포함하여 독립된 통신경로를 형성한다.Each push
상기 서비스 모듈(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
바람직하게, 각각의 푸시 메시지 제공 시스템(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
또한, 서비스 모듈(550)은 각각의 통신 어댑터(140a, 140b)의 장애 여부를 모니터링하고, 통신 어댑터(140a, 140b)로부터 전달받은 장애 발생 정보를 토대로, 각각의 푸시 메시지 제공 시스템(100a, 100b)에서 장애 여부를 판별한다.In addition, the
인증 서버(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
클라이언트 단말(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
도 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
도 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
이렇게 클라이언트 단말(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
즉, 서비스 모듈(550)은 우선적으로 제1푸시 메시지 제공 시스템(100a)을 통하여 푸시 메시지를 클라이언트 단말(300-N)로 전송한다.That is, the
이렇게 서비스 모듈(550)은 제1푸시 메시지 제공 시스템(100a)을 이용하여 푸시 메시지를 클라이언트 단말(300-N)로 전송하는 도중에서, 제1푸시 메시지 제공 시스템(100a)의 장애를 감지한다(S613). 이때, 서비스 모듈(550)은 통신 어댑터a(140a)의 장애를 직접적으로 감지할 수 있으며, 또는 통신 어댑터a(140a)로부터 수신한 장애 정보를 토대로 분배 모듈a(130a) 또는 푸시 서버1a(120a-1)의 장애를 감지할 수 있다.In this way, the
그러면, 서비스 모듈(550)은 제1푸시 메시지 제공 시스템(100a)으로의 푸시 메시지 전달을 중단하고, 이후에 생성된 푸시 메시지를 제2푸시 메시지 제공 시스템(100b)에 속하는 통신 어댑터b(140b)로 전달한다(S615). 이때, 서비스 모듈(550)은 상기 푸시 메시지에 서비스 분야 식별정보를 기록한다.Then, the
그러면, 통신 어댑터b(140b)는 분배 모듈b(130b)로 상기 푸시 메시지를 전달하고, 분배 모듈b(130b)는 푸시 메시지에 기록된 서비스 분야 식별정보를 확인한 후, 이 서비스 분야를 담당하는 푸시 서버1b(120b-1)로 푸시 메시지를 전달한다(S617, S619). 다음으로, 푸시 서버1b(120b-1)는 자신과 소켓 형성된 클라이언트 단말(300-N)로 상기 푸시 메시지를 전송한다(S621).Then, the
이에 따라, 클라이언트 단말(300-N)은 제1푸시 메시지 제공 시스템(100a)에 장애가 발생하더라도, 제2푸시 메시지 제공 시스템(100b)을 통하여 푸시 메시지를 수신할 수 있다.Accordingly, the client terminal 300 -N may receive a push message through the second push
도 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,
도 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
애플리케이션 서버(410a, 410b)는 하나 이상의 서비스 분야를 담당하며, 릴레이 서버(420)로 푸시 메시지를 전송한다. 또한, 애플리케이션 서버(410a, 410b)는 통신 어댑터(411a, 411b)와 서비스 모듈(412a, 412b)을 포함한다.The
통신 어댑터(411a, 411b)는 외부 네트워크(440)를 통하여 복수의 릴레이 서버(420a, 420b)와 연결되고, 각 릴레이 서버(420a, 420b)와 서비스 분야별로 하나 이상의 통신 채널을 형성한다. 또한, 통신 어댑터(411a, 411b)는 상기 통신 채널을 이용하여 서비스 모듈(412a, 412b)과 릴레이 서버(420a, 420b) 간의 통신을 중계한다.The
상기 서비스 모듈(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
바람직하게, 통신경로별 푸시 서버(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
또한, 애플리케이션 서버(410a, 410b)의 서비스 모듈(412a, 412b)은 릴레이 서버(420a, 420b)의 장애 여부를 직접적으로 모니터링하여, 릴레이 서버(420a, 420b)의 장애를 판별한다. 또한, 서비스 모듈(412a, 412b)은 릴레이 서버(420a, 420b)로부터 전달받은 장애 발생 정보를 토대로, 푸시 메시지 제공 시스템의 장애 구간을 판별할 수 있다.In addition, the
도 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
도 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
이렇게 클라이언트 단말(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
그러면, 릴레이 서버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
즉, 클라이언트 단말(300-N)은 각 통신경로에 포함된 푸시 서버1a(120a-1)와 푸시 서버1b(120b-1) 중에서, 상기 푸시 서버1a(120a-1)를 통하여 우선적으로 푸시 메시지를 수신한다. That is, the client terminal 300 -N preferentially pushes messages through the
서비스 모듈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
다음으로, 애플리케이션 서버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
그러면, 릴레이 서버b(420b)는 분배 모듈b(430b)로 상기 푸시 메시지를 전달하고, 분배 모듈b(430b)는 푸시 메시지에 기록된 서비스 분야 식별정보를 확인한 후, 이 서비스 분야를 담당하는 푸시 서버1b(120b-1)로 푸시 메시지를 전달한다(S817, S819). 다음으로, 푸시 서버1b(120b-1)는 자신과 소켓 형성된 클라이언트 단말(300-N)로 상기 푸시 메시지를 전송한다(S821).Then, the
이에 따라, 클라이언트 단말(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
본 명세서는 많은 특징을 포함하는 반면, 그러한 특징은 본 발명의 범위 또는 특허청구범위를 제한하는 것으로 해석되어서는 안 된다. 또한, 본 명세서에서 개별적인 실시예에서 설명된 특징들은 단일 실시예에서 결합되어 구현될 수 있다. 반대로, 본 명세서에서 단일 실시예에서 설명된 다양한 특징들은 개별적으로 다양한 실시예에서 구현되거나, 적절히 결합되어 구현될 수 있다.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:
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.
상기 클라이언트 단말로부터 푸시 서버의 접속정보를 요청받아, 상기 클라이언트 단말이 접속 가능한 푸시 서버를 확인하고, 상기 확인된 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 지정된 푸시 서버와 소켓을 형성하게 유도하는 인증 서버;를 더 포함하는 것을 특징으로 하는 푸시 메시지 제공 시스템.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.
상기 푸시 서버는,
상기 클라이언트 단말과 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.
상기 푸시 서버는,
플러그인을 통하여 상기 클라이언트 단말로 푸시 메시지를 전송하는 것을 특징으로 하는 푸시 메시지 제공 시스템.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.
상기 플러그인은 플렉스, 애플릿 중 하나를 포함하는 것을 특징으로 하는 푸시 메시지 제공 시스템.5. The method of claim 4,
And the plug-in comprises one of a flex and an applet.
상기 서비스 모듈과 상기 분배 모듈 간의 통신을 중계하는 통신 어댑터;를 더 포함하는 것을 특징으로 하는 푸시 메시지 제공 시스템.3. The method of claim 2,
And a communication adapter for relaying communication between the service module and the distribution module.
상기 푸시 서버, 상기 분배 모듈, 상기 통신 어댑터는 멀티플 인스턴스를 통해 하나 이상의 통신경로를 형성하고,
상기 서비스 모듈은, 푸시 메시지를 전송중인 통신경로에 포함된 푸시 서버, 분배 모듈, 통신 어댑터 중에서 어느 하나에 장애가 발생한 경우, 장애 발생한 통신경로 대신에 다른 통신경로를 통해 상기 푸시 메시지를 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 푸시 메시지 제공 시스템.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.
상기 인증 서버는,
통신경로별 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여, 상기 클라이언트 단말이 각 통신경로에 포함된 푸시 서버와 각각 소켓을 형성하게 유도하는 것을 특징으로 하는 푸시 메시지 제공 시스템.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.
상기 서비스 모듈은, 상기 푸시 메시지가 특정 이벤트에 관련된 메시지이고 상기 특정 이벤트와 관련된 메시지의 전송을 상기 클라이언트 단말이 요청한 경우, 상기 푸시 메시지에 상기 클라이언트 단말의 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.
(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.
상기 (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.
상기 (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.
네트워크를 통해 상기 하나 이상의 애플리케이션 서버와 통신하여, 각각의 애플리케이션 서버로부터 푸시 메시지를 수신하는 릴레이 서버;
상기 릴레이 서버로부터 상기 푸시 메시지를 수신하고 상기 푸시 메시지를 분석하여 서비스 분야를 식별하고, 상기 식별된 서비스 분야에 해당하는 푸시 서버로 상기 푸시 메시지를 전달하는 분배 모듈; 및
클라이언트 단말과 푸시 메시지 전송을 위한 소켓을 형성하고, 상기 분배 모듈로부터 전달받은 푸시 메시지를 상기 소켓을 형성한 클라이언트 단말로 전송하는 하나 이상의 푸시 서버;를 포함하는 푸시 메시지 제공 시스템.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.
상기 클라이언트 단말로부터 푸시 서버의 접속정보를 요청받아, 상기 클라이언트 단말이 접속 가능한 푸시 서버를 확인하고, 상기 확인된 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여 상기 클라이언트 단말이 지정된 푸시 서버와 소켓을 형성하게 유도하는 인증 서버;를 더 포함하는 것을 특징으로 하는 푸시 메시지 제공 시스템.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.
상기 푸시 서버, 상기 분배 모듈, 상기 릴레이 서버는 멀티플 인스턴스를 통해 하나 이상의 통신경로를 형성하고,
상기 애플리케이션 서버는, 푸시 메시지를 전송중인 통신경로에 포함된 푸시 서버, 분배 모듈, 릴레이 서버 중에서 어느 하나에 장애가 발생한 경우, 장애 발생한 통신경로 대신에 다른 통신경로를 통해 상기 푸시 메시지를 상기 클라이언트 단말로 전송하는 것을 특징으로 하는 푸시 메시지 제공 시스템.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.
상기 인증 서버는,
통신경로별 푸시 서버의 접속정보를 상기 클라이언트 단말로 전송하여, 상기 클라이언트 단말이 각 통신경로에 포함된 푸시 서버와 각각 소켓을 형성하게 유도하는 것을 특징으로 하는 푸시 메시지 제공 시스템.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.
상기 애플리케이션 서버는, 상기 푸시 메시지가 특정 이벤트에 관련된 메시지이고 상기 특정 이벤트와 관련된 메시지의 전송을 상기 클라이언트 단말이 요청한 경우, 상기 푸시 메시지에 상기 클라이언트 단말의 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.
상기 (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.
상기 (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.
상기 (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.
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)
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)
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 |
-
2012
- 2012-03-09 KR KR1020120024573A patent/KR101351594B1/en active IP Right Grant
Patent Citations (3)
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 |