KR101238929B1 - Id 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법 - Google Patents
Id 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법 Download PDFInfo
- Publication number
- KR101238929B1 KR101238929B1 KR1020110045885A KR20110045885A KR101238929B1 KR 101238929 B1 KR101238929 B1 KR 101238929B1 KR 1020110045885 A KR1020110045885 A KR 1020110045885A KR 20110045885 A KR20110045885 A KR 20110045885A KR 101238929 B1 KR101238929 B1 KR 101238929B1
- Authority
- KR
- South Korea
- Prior art keywords
- client
- token
- unit
- push
- service providing
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
- H04L12/1859—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast adapted to provide push services, e.g. data channels
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/026—Details of "hello" or keep-alive messages
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 클라이언트에 클라이언트 ID를 할당하고 그 할당된 클라이언트 ID를 이용해 토큰을 클라이언트에 발급하고, 서비스 제공 장치로부터 수신된 푸시 메시지 및 토큰을 ID 기반의 라우팅 경로에 따라 전달하고 그 전달된 토큰에 해당하는 클라이언트로 푸시 메시지를 전송함으로써, 푸시 서비스 장치를 분산 운용하면서 라우터를 통해 질의하는 내부 메시지를 줄일 수 있고 라우터로 인한 메시지 처리 지연을 감소시킬 수 있는, ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법을 제공한다.
Description
본 발명은 ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 클라이언트에 클라이언트 ID를 할당하고 그 할당된 클라이언트 ID를 이용해 토큰을 클라이언트에 발급하고, 서비스 제공 장치로부터 수신된 푸시 메시지 및 토큰을 ID 기반의 라우팅 경로에 따라 전달하고 그 전달된 토큰에 해당하는 클라이언트로 푸시 메시지를 전송함으로써, 푸시 서비스 장치를 분산 운용하면서 라우터를 통해 질의하는 내부 메시지를 줄일 수 있고 라우터로 인한 메시지 처리 지연을 감소시킬 수 있는, ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법에 관한 것이다.
스마트 폰(smart phone)이 보급되고 스마트 폰 환경으로 인해 다양한 응용 프로그램(Application)이 등장함에 따라 무선 자원의 사용량이 크게 증가하고 있다. 특히, IM(Instant Messaging), 웹(Web), 위젯(Widget) 서비스와 같이 망으로부터 실시간 푸시 메시지(혹은 Push Notification) 등을 받기 위해 항시 접속되어 있는 형태(Always-On 형태)의 응용 프로그램이 현재 급속도로 증가하고 있다. Always-On 형태의 응용 프로그램은 저마다 서비스 제공자와 연결을 유지하면서 푸시 서비스를 받도록 준비하고 있기 때문에 과다한 트래픽을 유발하고, 배터리 소모를 빠르게 하는 문제점이 있다.
이로 인해, 종래에는 서비스 제공자와 클라이언트가 직접적으로 연결되지 않고, 클라이언트(Client) 내에 구축된 데몬(Daemon)을 통해 푸시 서버와 연결을 유지하고 서비스 제공자(Service Provider)가 푸시 메시지 혹은 Push Notification를 푸시하면 중앙의 푸시 서버가 전달받아 해당 클라이언트로 전송하는 방식을 채택하고 있다.
도 1은 종래의 푸시 서비스 제공 시스템의 구성을 나타낸 도면이다.
종래 기술에 따르면, 복수의 서비스 제공자(10)와 복수의 단말(40) 사이에 게이트웨이(20)와 커리어(30)가 구축되어 복수의 단말(40) 내 설치된 응용 프로그램이 서비스 제공자(10)와 개별적으로 접속할 필요없이 커리어(30) 및 게이트웨이(20)와 접속하여 서비스 제공자(10)가 연결되는 구조를 보여주고 있다.
게이트웨이(20)는 복수의 서비스 제공자(10)와 접속하기 위한 중계 장치이고, 커리어(30)는 복수의 단말(40)과 접속하기 위한 장치로, 서비스 제공자(10)와 단말(40)의 증가에 따라 확장할 수 있는 구조이다.
그런데 도 1에 따른 종래 기술에서 복수의 서비스 제공자(10)와 복수의 단말(40)을 관리하기 위해, 푸시 서버를 분산 운용할 수 있다. 분산 운용함에 있어 게이트웨이(20)와 커리어(30) 간의 내부 메시지가 발생할 수 있다. 내부 메시지는 매번 라우터에 질의하여 분산 운용된 서버마다 라우팅 경로를 찾아가야 한다. 뿐만 아니라, 내부 메시지가 라우팅을 관리하는 라우터를 거쳐야 하기 때문에 라우터에서 내부 메시지를 처리하기 위한 처리 지연이 발생할 수 있다.
따라서 푸시 서비스를 제공하는 푸시 서버가 분산적으로 운용될 경우 서버에서 발생하는 내부 메시지를 효과적으로 줄이고 메시지 처리 지연을 줄일 수 있는 방안이 필요하다.
본 발명은 상기의 필요성에 의해 창안된 것으로서, 클라이언트에 클라이언트 ID를 할당하고 그 할당된 클라이언트 ID를 이용해 토큰을 클라이언트에 발급하고, 서비스 제공 장치로부터 수신된 푸시 메시지 및 토큰을 ID 기반의 라우팅 경로에 따라 전달하고 그 전달된 토큰에 해당하는 클라이언트로 푸시 메시지를 전송함으로써, 푸시 서비스 장치를 분산 운용하면서 라우터를 통해 질의하는 내부 메시지를 줄일 수 있고 라우터로 인한 메시지 처리 지연을 감소시킬 수 있는, ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법을 제공하는 데 그 목적이 있다.
이를 위하여 본 발명의 제1 측면에 따른 시스템은, 클라이언트에 푸시 메시지를 송신하기 위해, 상기 클라이언트로부터 토큰을 수신하고, 상기 수신된 토큰 및 푸시 메시지를 전송하는 서비스 제공 장치; 및 상기 서비스 제공 장치 및 클라이언트의 상호 접속을 각 연동부를 통해 관리하고, 상기 클라이언트에 클라이언트 ID를 할당하고 상기 할당된 클라이언트 ID를 이용해 토큰을 상기 클라이언트에 발급하고, 상기 서비스 제공 장치로부터 수신된 푸시 메시지 및 토큰을 ID 기반의 라우팅 테이블에 따라 상기 각 연동부 및 제어부 간의 라우팅을 수행하여 전달하고, 상기 전달된 토큰 내의 클라이언트 ID에 해당하는 상기 클라이언트로 상기 전달된 푸시 메시지를 전송하는 푸시 서비스 장치를 포함하는 것을 특징으로 한다.
한편, 본 발명의 제2 측면에 따른 장치는, 서비스 제공 장치와 접속하기 위한 SP(Service Provider) 연동부; 클라이언트와 접속하기 위한 클라이언트 연동부; 상기 SP 연동부 또는 상기 클라이언트 연동부에 대한 부하 정보를 참조하여 상기 서비스 제공 장치 또는 상기 클라이언트가 접속 가능한 연동부를 각각 지정하는 부하 분산부; 및 상기 클라이언트가 상기 클라이언트 연동부를 통해 접속되면 상기 접속된 클라이언트에 클라이언트 ID를 생성하여 상기 클라이언트 연동부를 통해 할당하고, 푸시 메시지 서비스를 위한 토큰을 상기 할당된 클라이언트 ID를 이용해 생성하여 상기 클라이언트 연동부를 통해 상기 클라이언트에 발급하는 제어부를 포함하는 것을 특징으로 한다.
상기 제어부는, 상기 클라이언트 ID에 국사 식별을 위한 국사 ID, 상기 제어부 식별을 위한 제어부 ID 및 사용자 ID를 포함시켜 생성하고 상기 생성된 클라이언트 ID를 상기 클라이언트에 할당하는 것을 특징으로 한다.
상기 제어부는, 상기 사용자 ID에 해당하는 디바이스가 복수의 디바이스인 경우에 상기 복수의 디바이스 각각에 대응하는 랜덤 번호를 상기 클라이언트 ID에 포함시켜 생성하는 것을 특징으로 한다.
상기 제어부는, 상기 토큰에 상기 할당된 클라이언트 ID와 애플리케이션 ID를 포함시켜 생성하여 상기 클라이언트 연동부를 통해 상기 클라이언트에 발급하는 것을 특징으로 한다.
상기 SP 연동부는, 상기 서비스 제공 장치로부터 수신된 토큰으로부터 클라이언트 ID, 제어부 ID, 애플케이션 ID를 추출하고, 상기 추출된 클라이언트 ID, 제어부 ID, 애플케이션 ID를 상기 제어부로 전달하는 것을 특징으로 한다.
상기 SP 연동부는, 상기 추출된 제어부 ID에 해당하는 제어부로 푸시 메시지 및 토큰을 전달하는 것을 특징으로 한다.
상기 제어부는, 상기 클라이언트의 등록 메시지 또는 킵얼라이브 메시지를 통해 클라이언트 ID별로 상기 클라이언트 연동부의 라우팅 정보를 ID 기반의 라우팅 테이블에 저장하는 것을 특징으로 한다.
상기 클라이언트 연동부는, 상기 클라이언트 ID별로 상기 클라이언트와의 세션을 관리하는 것을 특징으로 한다.
상기 ID 기반의 라우팅 테이블은, 상기 클라이언트 ID와 매핑되는 SP 연동부 ID, 제어부 ID 및 클라이언트 연동부 ID에 대한 라우팅 정보가 포함되는 것을 특징으로 한다.
한편, 본 발명의 제3 측면에 따른 방법은, 서비스 제공 장치 또는 클라이언트가 접속 가능한 연동부를 각각 지정하는 연동부 지정 단계; 상기 지정된 SP 연동부를 통해 서비스 제공 장치와 접속하는 서비스 제공 장치 접속 단계; 상기 지정된 클라이언트 연동부를 통해 클라이언트와 접속하는 클라이언트 접속 단계; 상기 접속된 클라이언트에 클라이언트 ID를 생성하여 할당하는 클라이언트 ID 할당 단계; 및 푸시 메시지 서비스를 위한 토큰을 상기 할당된 클라이언트 ID를 이용해 생성하여 상기 클라이언트에 발급하는 토큰 발급 단계를 포함하는 것을 특징으로 한다.
상기 방법은, 상기 접속된 서비스 제공 장치로부터 푸시 메시지와 토큰을 수신하는 메시지 및 토큰 수신 단계; 상기 수신된 푸시 메시지와 토큰을 ID 기반의 라우팅 테이블에 따라 제어부를 거쳐 상기 지정된 클라이언트 연동부로 전달하는 메시지 및 토큰 전달 단계; 및 상기 전달된 푸시 메시지를 상기 토큰 내의 클라이언트 ID에 해당하는 클라이언트로 상기 지정된 클라이언트 연동부를 통해 전송하는 푸시 메시지 전송 단계를 더 포함하는 것을 특징으로 한다.
상기 클라이언트 ID 할당 단계는, 상기 클라이언트 ID에 국사 식별을 위한 국사 ID, 상기 제어부 식별을 위한 제어부 ID 및 사용자 ID를 포함시켜 생성하고 상기 생성된 클라이언트 ID를 상기 클라이언트에 할당하는 것을 특징으로 한다.
상기 클라이언트 ID 할당 단계는, 상기 사용자 ID에 해당하는 디바이스가 복수의 디바이스인 경우에 상기 복수의 디바이스 각각에 대응하는 랜덤 번호를 상기 클라이언트 ID에 포함시켜 생성하는 것을 특징으로 한다.
상기 토큰 발급 단계는, 상기 토큰에 상기 할당된 클라이언트 ID와 애플리케이션 ID를 포함시켜 생성하여 상기 클라이언트에 발급하는 것을 특징으로 한다.
상기 클라이언트 접속 단계는, 상기 클라이언트 ID별로 상기 클라이언트와의 세션을 관리하는 것을 특징으로 한다.
상기 메시지 및 토큰 수신 단계는, 상기 수신된 토큰으로부터 클라이언트 ID, 제어부 ID 및 애플케이션 ID를 추출하는 것을 특징으로 한다.
상기 메시지 및 토큰 전달 단계는, 상기 추출된 제어부 ID에 해당하는 제어부로 푸시 메시지 및 토큰을 전달하는 것을 특징으로 한다.
상기 ID 기반의 라우팅 테이블은, 상기 클라이언트 ID와 매핑되는 SP 연동부 ID, 제어부 ID 및 클라이언트 연동부 ID에 대한 라우팅 정보가 포함되는 것을 특징으로 한다.
본 발명에 따르면, 클라이언트에 클라이언트 ID를 할당하고 그 할당된 클라이언트 ID를 이용해 토큰을 클라이언트에 발급함으로써, ID 기반의 라우팅을 용이하게 수행할 수 있는 효과가 있다.
또한, 본 발명은, 서비스 제공 장치로부터 수신된 푸시 메시지 및 토큰을 ID 기반의 라우팅 경로에 따라 전달하고 그 전달된 토큰에 해당하는 클라이언트로 푸시 메시지를 전송함으로써, 푸시 서비스 장치를 분산 운용하면서 라우터를 통해 질의하는 내부 메시지를 줄일 수 있고 라우터로 인한 메시지 처리 지연을 감소시킬 수 있는 효과가 있다.
도 1은 종래의 푸시 서비스 제공 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템의 네트워크 구성도이다.
도 3은 본 발명에 따른 도 2의 푸시 서비스 장치를 나타낸 세부 구성도이다.
도 4 는 본 발명에 따른 서비스 제공 장치의 접속 방법에 대한 일실시예 흐름도이다.
도 5는 본 발명에 따른 클라이언트의 접속에 따라 클라이언트 ID를 발급하는 방법에 대한 일실시예 흐름도이다.
도 6은 본 발명에 따른 클라이언트에 토큰을 할당하는 방법에 대한 일실시예 흐름도이다.
도 7은 본 발명에 따른 ID 기반의 라우팅을 이용한 푸시 서비스 제공 방법에 대한 일실시예 흐름도이다.
도 2는 본 발명에 따른 ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템의 네트워크 구성도이다.
도 3은 본 발명에 따른 도 2의 푸시 서비스 장치를 나타낸 세부 구성도이다.
도 4 는 본 발명에 따른 서비스 제공 장치의 접속 방법에 대한 일실시예 흐름도이다.
도 5는 본 발명에 따른 클라이언트의 접속에 따라 클라이언트 ID를 발급하는 방법에 대한 일실시예 흐름도이다.
도 6은 본 발명에 따른 클라이언트에 토큰을 할당하는 방법에 대한 일실시예 흐름도이다.
도 7은 본 발명에 따른 ID 기반의 라우팅을 이용한 푸시 서비스 제공 방법에 대한 일실시예 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다. 본 발명의 상세한 설명에 앞서, 동일한 구성요소에 대해서는 다른 도면 상에 표시되더라도 가능한 동일한 부호로 표시하며, 공지된 구성에 대해서는 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 구체적인 설명은 생략하기로 함에 유의한다.
도 2는 본 발명에 따른 ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템의 네트워크 구성도이다.
도시된 바와 같이 본 발명에 따른 푸시 서비스 제공 시스템은 복수의 서비스 제공 장치(100-1 내지 100-N: 100)와, 푸시 서비스 장치(300) 및 복수의 클라이언트(400-1 내지 400-K: 400)로 구성되어, 중앙의 푸시 서비스 장치(300)를 매개로 복수의 서비스 제공 장치(100)와 복수의 클라이언트(400)의 접속이 이루어지는 구조를 보여주고 있다.
복수의 클라이언트(400)는 통신망(200)에 접속 가능한 단말로서 예컨대 PC, 노트북, 스마트 폰, PDA, 노트북, 네비게이션, PMP, 전자사전, MP3 등을 포함할 수 있다. 복수의 클라이언트(400)는 통신망(200)에 접속하여 소정의 데이터(특히 푸시 메시지)를 송수신하는 클라이언트 응용 프로그램(application)이 설치된다.
복수의 서비스 제공 장치(100)는 복수의 클라이언트(400)에 푸시 메시지를 송신하여 서비스를 제공하는 서버 또는 단말을 의미한다. 이를 위해, 복수의 서비스 제공 장치(100)는 푸시 메시지를 송신하기 위한 클라이언트(400)로부터 토큰을 수신하고, 그 수신된 토큰 및 푸시 메시지를 푸시 서비스 장치(300)로 전송한다.
푸시 서비스 장치(300)는 기본적으로 복수의 서비스 제공 장치(100)로부터 전송하는 푸시 메시지를 취합하여 해당 클라이언트(400)로 전송한다.
이때, 푸시 서비스 장치(300)는 복수의 서비스 제공 장치(100) 및 복수의 클라이언트(400) 사이에서 서비스 제공 장치(100) 및 클라이언트(400)의 상호 접속을 각 연동부를 통해 관리한다. 푸시 서비스 장치(300)는 클라이언트(400)에 클라이언트 ID를 할당하고 그 할당된 클라이언트 ID를 이용해 토큰을 클라이언트(400)에 발급한다. 푸시 서비스 장치(300)는 서비스 제공 장치(100)로부터 수신된 푸시 메시지 및 토큰을 ID 기반의 라우팅 테이블에 따라 각 연동부 및 제어부 간의 라우팅을 수행하여 전달한다. 푸시 서비스 장치(300)는 전달된 토큰 내의 클라이언트 ID에 해당하는 클라이언트(400)로 푸시 메시지를 전송한다.
도 3은 본 발명에 따른 도 2의 푸시 서비스 장치를 나타낸 세부 구성도이다.
본 발명에 따른 푸시 서비스 장치(300)는 SP 연동부(310), 제어부(320), 클라이언트 연동부(330) 및 부하 분산부(340)를 포함한다.
본 발명에 따른 푸시 서비스 장치(300)는 푸시 서비스를 제공하기 위하여, 우선적으로 클라이언트(400)에 토큰을 발급하여 클라이언트(400)와 서비스 제공 장치(100) 간의 토큰이 공유되도록 한다. 그리고 푸시 서비스 장치(300)는 그 발급된 토큰을 이용하여 서비스 제공 장치(100)와 클라이언트(400) 간의 푸시 서비스를 제공한다.
이하, 본 발명에 따른 푸시 서비스 장치(300)를 ID 기반의 토큰을 발급하는 푸시 서비스 장치(300)의 제1 실시예와, ID 기반의 라우팅을 이용하여 푸시 서비스를 제공하는 푸시 서비스 장치(300)의 제2 실시예로 나누어서 살펴보기로 한다.
푸시 서비스 장치(300)의 제1 실시예를 살펴보면, SP 연동부(310)는 서비스 제공 장치(100)와 접속하여 복수의 서비스 제공 장치(100)로부터 새로운 정보를 수신한다. 여기서, 새로운 정보는 신규 정보 또는 갱신 정보, 이벤트 정보 등을 포함한다. SP 연동부(310)는 접속된 서비스 제공 장치(100)의 인증 과정을 수행할 수 있다.
클라이언트 연동부(330)는 복수의 클라이언트(400)와 접속한다. 클라이언트 연동부(330)는 접속된 클라이언트(400)에 제어부(320)를 지정한다. 클라이언트 연동부(330)는 각 제어부(320)로부터 각 제어부(320)가 수용하고 있는 가입자 수를 일정주기마다 전달받고 그 전달된 가입자 수를 이용해 제어부(320)를 지정한다. 클라이언트 연동부(330)는 제어부(320)로부터 토큰을 전달받아 클라이언트(400)로 전송한다.
각 SP 연동부(310) 또는 클라이언트 연동부(330)는 접속되는 복수의 서비스 제공 장치(100) 또는 클라이언트(400)의 수에 따라 복수 개로 구비될 수 있다. 일반적으로 각 연동부(310, 330)는 수용 가능한 단말의 수가 정해져 있어서 이를 기준으로 증설이 가능하다.
부하 분산부(340)는 복수의 서비스 제공 장치(100) 또는 복수의 클라이언트(400)로부터 접속 요청이 있으면 기 저장된 부하 정보를 참조하여 접속 가능한 연동부를 서비스 제공 장치(100) 또는 클라이언트(400)에 각각 지정한다.
제어부(320)는 클라이언트(400)가 클라이언트 연동부(330)를 통해 접속되면 그 접속된 클라이언트(400)에 클라이언트 ID를 생성하여 클라이언트 연동부(330)를 통해 할당한다. 그리고 제어부(320)는 푸시 메시지 서비스를 위한 토큰을 클라이언트 ID를 이용해 생성하여 클라이언트 연동부(330)를 통해 클라이언트(400)에 발급한다. 전술된 바와 같이, 클라이언트(400)는 푸시 서비스를 제공받기 위해, 발급된 토큰을 서비스 제공 장치(100)로 전송한다.
구체적으로 살펴보면, 제어부(320)는 토큰에 클라이언트 ID와 애플리케이션 ID를 포함시켜 생성하여 클라이언트 연동부(330)를 통해 클라이언트(400)에 발급한다. 제어부(320)는 클라이언트 ID에 국사 식별을 위한 국사 ID, 제어부 식별을 위한 제어부 ID 및 사용자 ID를 포함시켜 생성하고 그 생성된 클라이언트 ID를 클라이언트(400)에 할당한다. 또한, 제어부(320)는, 사용자 ID에 해당하는 디바이스가 복수의 디바이스인 경우에 복수의 디바이스 각각에 대응하는 랜덤 번호를 클라이언트 ID에 포함시켜 생성할 수 있다.
제어부(320)는 푸시 서비스 장치(300)에 구축되는 SP 연동부(310) 및 클라이언트 연동부(330)를 관리하며 특히 각 클라이언트별로 접속 가능한 클라이언트 연동부(330)에 대한 라우팅 정보를 관리한다. 각 클라이언트별로 접속 가능한 클라이언트 연동부(330)는 각 클라이언트가 접속 상태를 유지하고 있는 클라이언트 연동부를 의미하는 것으로, 부하 분산부(340)를 통해 지정받은 클라이언트 연동부를 포함할 수 있다.
이하, ID 기반의 라우팅을 이용하여 푸시 서비스를 제공하는 푸시 서비스 장치(300)의 제2 실시예를 살펴보기로 한다.
SP 연동부(310)는 서비스 제공 장치(100)와 접속하여 그 접속된 서비스 제공 장치(100)로부터 푸시 메시지와 토큰을 수신한다. 그리고 SP 연동부(310)는 그 수신된 푸시 메시지와 토큰을 ID 기반의 라우팅 테이블에 따라 제어부(320)로 전달한다. 여기서, SP 연동부(310)는 ID 기반의 라우팅 테이블을 이용하여 푸시 메시지의 라우팅을 수행한다. 구체적으로 살펴보면, SP 연동부(310)는 수신된 토큰으로부터 클라이언트 ID, 제어부 ID, 애플케이션 ID를 추출하고, 그 추출된 클라이언트 ID, 애플케이션 ID와 푸시 메시지를 제어부(320)로 전달한다. SP 연동부(310)는 추출된 제어부 ID에 해당하는 제어부(320)로 푸시 메시지 및 토큰을 전달한다.
제어부(320)는 SP 연동부(310)로부터 푸시 메시지와 토큰을 전달받고, 그 전달된 푸시 메시지와 토큰을 ID 기반의 라우팅 테이블에 따라 전달한다. 여기서, 클라이언트 연동부(330)는 ID 기반의 라우팅 테이블을 이용하여 푸시 메시지의 라우팅을 수행한다. 구체적으로 살펴보면, 제어부(320)는 SP 연동부(310)로부터 토큰 중에서 클라이언트 ID, 제어부 ID, 애플케이션 ID를 전달받고, 이를 클라이언트 연동부(330)로 전달한다. 제어부(320)는 클라이언트(400)의 등록 메시지 또는 킵얼라이브(Keep Alive) 메시지를 통해 클라이언트 ID별로 클라이언트 연동부(330)의 라우팅 정보를 ID 기반의 라우팅 테이블에 저장할 수 있다. 따라서, 제어부(320)는 SP 연동부(310)로부터 푸시 메시지를 수신하면 푸시 메시지에 담겨진 클라이언트 정보를 가지고 해당 클라이언트가 접속 가능한 클라이언트 연동부(330)를 추출하고, 추출한 클라이언트 연동부(330)로 푸시 메시지를 전달한다.
클라이언트 연동부(330)는 클라이언트(400)와 접속한다. 그리고 클라이언트 연동부(330)는 제어부(320)로부터 푸시 메시지와 토큰을 전달받고, 그 전달된 푸시 메시지를 토큰 내의 클라이언트 ID에 해당하는 클라이언트(400)로 전송한다. 클라이언트 연동부(330)는 ID 기반의 라우팅 테이블을 저장하고 있다. 클라이언트 연동부(330)는 클라이언트 ID별로 클라이언트(400)와의 세션을 관리한다.
부하 분산부(340)는 SP 연동부(310) 또는 클라이언트 연동부(330)에 대한 부하 정보를 참조하여 서비스 제공 장치(100) 또는 클라이언트(400)가 접속 가능한 연동부를 각각 지정한다.
ID 기반의 라우팅 테이블은 클라이언트 ID와 매핑되는 SP 연동부 ID, 제어부 ID 및 클라이언트 연동부 ID에 대한 라우팅 정보가 포함되어 있다.
이렇게 구성되는 푸시 서비스 장치(300)를 이용하여 푸시 메시지를 제공하는 방법은 구체적으로 서비스 제공 장치(100)의 접속 방법, 클라이언트(400)에 클라이언트 ID를 할당하는 방법, 클라이언트(400)에 토큰을 발급하는 방법 및 ID 기반의 라우팅을 이용한 푸시 서비스 제공 방법으로 구분되고, 이를 도 4 내지 도 7을 통해 설명하기로 한다.
도 4 는 본 발명에 따른 서비스 제공 장치의 접속 방법에 대한 일실시예 흐름도이다.
먼저, 서비스 제공 장치(100)가 푸시 서비스 장치(300)에 접속하고자 접속 요청을 하면(S402), 부하 분산부(340)는 각 SP 연동부의 부하 정보를 확인하여 접속 가능한 SP 연동부(310)를 지정한다(S404).
부하 분산부(340)는 "S404" 과정에서 지정된 해당 SP 연동부(310)의 정보를 서비스 제공 장치(100)로 제공한다(S406).
그러면, 서비스 제공 장치(100)는 지정받은 SP 연동부(310)로 접속을 시도한다(S408).
그리고 해당 SP 연동부(310)는 서비스 제공 장치(100)로 승인 응답 메시지를 전달하면 SP 연동부(310)를 통해 서비스 제공 장치(100)와 푸시 서비스 장치(300) 간 세션이 연결된다(S410). 상기의 과정에서, SP 연동부(310)는 서비스 제공 장치(100)에 대한 인증 과정을 수행한다(S412).
도 5는 본 발명에 따른 클라이언트의 접속에 따라 클라이언트 ID를 발급하는 방법에 대한 일실시예 흐름도이다.
먼저, 클라이언트(400)가 푸시 서비스 장치(300)에 접속하고자 접속 요청을 하면(S502), 부하 분산부(340)는 각 클라이언트 연동부(330)의 부하 정보를 확인하여 접속 가능한 클라이언트 연동부를 지정한다(S504). 각 클라이언트 연동부(330)의 부하 정보는 SP 연동부와 마찬가지로 각 클라이언트 연동부(330)에 접속되어 있는 가입자 수, 데이터 처리율을 기준으로 산출된 값이며, 일정 주기마다 각 클라이언트 연동부(330)로부터 제공받아 갱신할 수 있다.
부하 분산부(340)는 해당 클라이언트(400)로 지정된 클라이언트 연동부의 정보를 제공한다(S506).
그리고 클라이언트(400)는 지정받은 클라이언트 연동부(330)로 접속을 시도한다(S508).
이어서, 해당 클라이언트 연동부(330)가 클라이언트(400)로 승인 응답 메시지를 전달하면 클라이언트 연동부(330)를 통해 클라이언트(400)와 푸시 서비스 장치(300)간 세션이 연결된다(S510).
이후, 클라이언트 연동부(330)는 접속된 클라이언트(400)에 제어부(320)를 지정하고, 지정된 클라이언트(400)의 정보를 제어부(320)로 전달한다(S512).
그리고 제어부(320)는 클라이언트(400)에 대응하는 클라이언트 ID를 할당한다(S514).
제어부(320)는 할당된 클라이언트 ID를 클라이언트 연동부(330)로 전달한다(S516).
이어서, 클라이언트 연동부(330)는 전달된 클라이언트 ID를 클라이언트(400)로 전송하여 클라이언트 ID를 클라이언트(400)에 할당하게 된다(S518).
도 6은 본 발명에 따른 클라이언트에 토큰을 할당하는 방법에 대한 일실시예 흐름도이다.
전술된 바와 같이, 클라이언트(400)는 도 5를 통해 푸시 서비스를 제공받기 위하여 클라이언트 ID를 할당받는다.
클라이언트 ID를 할당받은 후, 클라이언트(400)는 클라이언트 연동부(330)로 클라이언트 ID 및 애플리케이션 ID를 전송하여 토큰 발급을 요청한다(S602).
그리고 클라이언트 연동부(330)는 클라이언트(400)로부터 전송된 클라이언트 ID 및 애플리케이션 ID를 제어부(320)로 전달하여 토큰 발급을 요청한다(S604).
이어서, 제어부(320)는 클라이언트 연동부(330)로부터 전달된 클라이언트 ID 및 애플리케이션 ID를 이용하여 토큰을 발급한다(S606).
이후, 제어부(320)는 발급된 토큰을 클라이언트 연동부(330)로 전달한다(S608). 그리고 클라이언트 연동부(330)는 전달된 토큰을 클라이언트(400)에 전송한다(S610).
클라이언트(400)는 발급된 토큰을 공유하기 위하여, 서비스 제공 장치(100)로 토큰을 전송한다(S612).
도 7은 본 발명에 따른 ID 기반의 라우팅을 이용한 푸시 서비스 제공 방법에 대한 일실시예 흐름도이다.
서비스 제공 장치(100)는 부하 분산부(340)를 통해 지정받은 SP 연동부(310)로 접속하여 세션을 연결한다.
세션 연결 후, SP 연동부(310)는 서비스 제공 장치(100)로부터 푸시 메시지와 토큰을 수신한다(S702).
그리고 SP 연동부(310)는 수신된 푸시 메시지와 토큰을 복호화하여 클라이언트 ID, 제어부 ID, 애플케이션 ID를 추출한다(S704).
SP 연동부(310)는 제어부 ID에 해당하는 제어부(320)로 푸시 메시지와 클라이언트 ID, 애플케이션 ID를 제어부(320)로 전달한다(S706). 이때, 제어부(320)는 복수 개 구비될 수가 있는데 이 경우 SP 연동부(310)와 제어부(320)의 대응 관계는 토큰에 미리 설정되므로 각 SP 연동부(310)가 미리 설정된 제어부(320)로 푸시 메시지를 전달할 수 있다.
제어부(320)는 클라이언트 연동부(330)로 푸시 메시지를 전달한다(S708).
클라이언트 연동부(330)는 클라이언트 ID에 해당하는 클라이언트(400)로 푸시 메시지를 전송한다(S710).
클라이언트(400)는 클라이언트 연동부(330)로부터 전송된 애플리케이션 ID에 해당하는 애플리케이션으로 푸시 메시지를 전달하여 푸시 메시지를 확인하게 된다(S712).
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서 본 발명의 명세서에 개시된 실시 예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.
본 발명은 클라이언트에 클라이언트 ID를 할당하고 그 할당된 클라이언트 ID를 이용해 토큰을 클라이언트에 발급하고, 서비스 제공 장치로부터 수신된 푸시 메시지 및 토큰을 ID 기반의 라우팅 경로에 따라 전달하고 그 전달된 토큰에 해당하는 클라이언트로 푸시 메시지를 전송함으로써, 푸시 서비스 장치를 분산 운용하면서 라우터를 통해 질의하는 내부 메시지를 줄일 수 있고 라우터로 인한 메시지 처리 지연을 감소시킬 수 있는 효과가 있다. 이러한 점에서 종래 푸시 서버의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 서버의 구축 및 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용 가능성이 있는 유용한 발명이다.
100-1 내지 100-N: 서비스 제공장치1 내지 서비스 제공장치N
400-1 내지 400-K: 클라이언트1 내지 클라이언트K
100: 서비스 제공 장치 200: 통신망
300: 푸시 서비스 장치 400: 클라이언트
310: SP 연동부 320: 제어부
330: 클라이언트 연동부 340: 부하 분산부
400-1 내지 400-K: 클라이언트1 내지 클라이언트K
100: 서비스 제공 장치 200: 통신망
300: 푸시 서비스 장치 400: 클라이언트
310: SP 연동부 320: 제어부
330: 클라이언트 연동부 340: 부하 분산부
Claims (19)
- 클라이언트에 푸시 메시지를 송신하기 위해, 상기 클라이언트로부터 토큰을 수신하고, 상기 수신된 토큰 및 푸시 메시지를 전송하는 서비스 제공 장치; 및
상기 서비스 제공 장치 및 클라이언트의 상호 접속을 각 연동부를 통해 관리하고, 상기 클라이언트에 클라이언트 ID를 할당하고 상기 할당된 클라이언트 ID를 이용해 토큰을 상기 클라이언트에 발급하고, 상기 서비스 제공 장치와의 연동부를 통해 상기 서비스 제공 장치로부터 수신된 푸시 메시지 및 토큰을 ID 기반의 라우팅 테이블에 따라 상기 클라이언트와의 연동부로 전달하고, 상기 전달된 토큰 내의 클라이언트 ID에 해당하는 상기 클라이언트로 상기 전달된 푸시 메시지를 전송하는 푸시 서비스 장치를 포함하는 ID 기반의 라우팅을 이용한 푸시 서비스 제공 시스템. - 서비스 제공 장치와 접속하기 위한 SP(Service Provider) 연동부;
클라이언트와 접속하기 위한 클라이언트 연동부;
상기 SP 연동부 또는 상기 클라이언트 연동부에 대한 부하 정보를 참조하여 상기 서비스 제공 장치 또는 상기 클라이언트가 접속 가능한 연동부를 각각 지정하는 부하 분산부; 및
상기 클라이언트가 상기 클라이언트 연동부를 통해 접속되면 상기 접속된 클라이언트에 클라이언트 ID를 생성하여 상기 클라이언트 연동부를 통해 할당하고, 푸시 메시지 서비스를 위한 토큰을 상기 할당된 클라이언트 ID를 이용해 생성하여 상기 클라이언트 연동부를 통해 상기 클라이언트에 발급하는 제어부
를 포함하는 푸시 서비스 장치. - 제 2 항에 있어서,
상기 제어부는,
상기 클라이언트 ID에 국사 식별을 위한 국사 ID, 상기 제어부 식별을 위한 제어부 ID 및 사용자 ID를 포함시켜 생성하고 상기 생성된 클라이언트 ID를 상기 클라이언트에 할당하는 것을 특징으로 하는 푸시 서비스 장치. - 제 3 항에 있어서,
상기 제어부는,
상기 사용자 ID에 해당하는 디바이스가 복수의 디바이스인 경우에 상기 복수의 디바이스 각각에 대응하는 랜덤 번호를 상기 클라이언트 ID에 포함시켜 생성하는 것을 특징으로 하는 푸시 서비스 장치. - 제 2 항에 있어서,
상기 제어부는,
상기 토큰에 상기 할당된 클라이언트 ID와 애플리케이션 ID를 포함시켜 생성하여 상기 클라이언트 연동부를 통해 상기 클라이언트에 발급하는 것을 특징으로 하는 푸시 서비스 장치. - 제 2 항에 있어서,
상기 SP 연동부는,
상기 서비스 제공 장치로부터 수신된 토큰으로부터 클라이언트 ID, 제어부 ID, 애플케이션 ID를 추출하고, 상기 추출된 클라이언트 ID, 제어부 ID, 애플케이션 ID를 상기 제어부로 전달하는 것을 특징으로 하는 푸시 서비스 장치. - 제 6 항에 있어서,
상기 SP 연동부는,
상기 추출된 제어부 ID에 해당하는 제어부로 푸시 메시지 및 토큰을 전달하는 것을 특징으로 하는 푸시 서비스 장치. - 제 6 항에 있어서,
상기 제어부는,
상기 클라이언트의 등록 메시지 또는 킵얼라이브 메시지를 통해 클라이언트 ID별로 상기 클라이언트 연동부의 라우팅 정보를 ID 기반의 라우팅 테이블에 저장하는 것을 특징으로 하는 푸시 서비스 장치. - 제 6 항에 있어서,
상기 클라이언트 연동부는,
상기 클라이언트 ID별로 상기 클라이언트와의 세션을 관리하는 것을 특징으로 하는 푸시 서비스 장치. - 제 8 항에 있어서,
상기 ID 기반의 라우팅 테이블은,
상기 클라이언트 ID와 매핑되는 SP 연동부 ID, 제어부 ID 및 클라이언트 연동부 ID에 대한 라우팅 정보가 포함되는 것을 특징으로 하는 푸시 서비스 장치. - 서비스 제공 장치 또는 클라이언트가 접속 가능한 연동부를 각각 지정하는 연동부 지정 단계;
상기 지정된 SP 연동부를 통해 서비스 제공 장치와 접속하는 서비스 제공 장치 접속 단계;
상기 지정된 클라이언트 연동부를 통해 클라이언트와 접속하는 클라이언트 접속 단계;
상기 접속된 클라이언트에 클라이언트 ID를 생성하여 할당하는 클라이언트 ID 할당 단계; 및
푸시 메시지 서비스를 위한 토큰을 상기 할당된 클라이언트 ID를 이용해 생성하여 상기 클라이언트에 발급하는 토큰 발급 단계
를 포함하는 푸시 서비스 장치에서의 푸시 서비스 제공 방법. - 제 11 항에 있어서,
상기 접속된 서비스 제공 장치로부터 푸시 메시지와 토큰을 수신하는 메시지 및 토큰 수신 단계;
상기 수신된 푸시 메시지와 토큰을 ID 기반의 라우팅 테이블에 따라 제어부를 거쳐 상기 지정된 클라이언트 연동부로 전달하는 메시지 및 토큰 전달 단계; 및
상기 전달된 푸시 메시지를 상기 토큰 내의 클라이언트 ID에 해당하는 클라이언트로 상기 지정된 클라이언트 연동부를 통해 전송하는 푸시 메시지 전송 단계
를 더 포함하는 것을 특징으로 하는 푸시 서비스 제공 방법. - 제 11 항에 있어서,
상기 클라이언트 ID 할당 단계는,
상기 클라이언트 ID에 국사 식별을 위한 국사 ID, 상기 제어부 식별을 위한 제어부 ID 및 사용자 ID를 포함시켜 생성하고 상기 생성된 클라이언트 ID를 상기 클라이언트에 할당하는 것을 특징으로 하는 푸시 서비스 제공 방법. - 제 12 항에 있어서,
상기 클라이언트 ID 할당 단계는,
상기 사용자 ID에 해당하는 디바이스가 복수의 디바이스인 경우에 상기 복수의 디바이스 각각에 대응하는 랜덤 번호를 상기 클라이언트 ID에 포함시켜 생성하는 것을 특징으로 하는 푸시 서비스 제공 방법. - 제 11 항에 있어서,
상기 토큰 발급 단계는,
상기 토큰에 상기 할당된 클라이언트 ID와 애플리케이션 ID를 포함시켜 생성하여 상기 클라이언트에 발급하는 것을 특징으로 하는 푸시 서비스 제공 방법. - 제 11 항에 있어서,
상기 클라이언트 접속 단계는,
상기 클라이언트 ID별로 상기 클라이언트와의 세션을 관리하는 것을 특징으로 하는 푸시 서비스 제공 방법. - 제 12 항에 있어서,
상기 메시지 및 토큰 수신 단계는,
상기 수신된 토큰으로부터 클라이언트 ID, 제어부 ID 및 애플케이션 ID를 추출하는 것을 특징으로 하는 푸시 서비스 제공 방법. - 제 12 항에 있어서,
상기 메시지 및 토큰 전달 단계는,
상기 추출된 제어부 ID에 해당하는 제어부로 푸시 메시지 및 토큰을 전달하는 것을 특징으로 하는 푸시 서비스 제공 방법. - 제 12 항에 있어서,
상기 ID 기반의 라우팅 테이블은,
상기 클라이언트 ID와 매핑되는 SP 연동부 ID, 제어부 ID 및 클라이언트 연동부 ID에 대한 라우팅 정보가 포함되는 것을 특징으로 하는 푸시 서비스 제공 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110045885A KR101238929B1 (ko) | 2011-05-16 | 2011-05-16 | Id 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110045885A KR101238929B1 (ko) | 2011-05-16 | 2011-05-16 | Id 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120128021A KR20120128021A (ko) | 2012-11-26 |
KR101238929B1 true KR101238929B1 (ko) | 2013-03-06 |
Family
ID=47512860
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110045885A KR101238929B1 (ko) | 2011-05-16 | 2011-05-16 | Id 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101238929B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102071871B1 (ko) * | 2013-10-04 | 2020-01-31 | 에스케이 텔레콤주식회사 | 푸시 서비스 제공 방법 및 장치 |
KR102560123B1 (ko) * | 2021-03-08 | 2023-07-27 | (주)새움소프트 | 알리미 서버, 타 서비스의 알림 메시지를 다른 통신 경로로 제공하는 방법 및 컴퓨터 프로그램 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070085657A (ko) * | 2004-12-03 | 2007-08-27 | 모토로라 인코포레이티드 | 장치 세팅들을 이용한 푸시 투 비디오 서비스 모드 선택 |
-
2011
- 2011-05-16 KR KR1020110045885A patent/KR101238929B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20070085657A (ko) * | 2004-12-03 | 2007-08-27 | 모토로라 인코포레이티드 | 장치 세팅들을 이용한 푸시 투 비디오 서비스 모드 선택 |
Also Published As
Publication number | Publication date |
---|---|
KR20120128021A (ko) | 2012-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12047287B2 (en) | Data transmission method and apparatus, network adapter, and storage medium | |
CN109889586B (zh) | 通信处理方法、装置、计算机可读介质及电子设备 | |
KR101417722B1 (ko) | 통지 메시지들의 관리 | |
US8064896B2 (en) | Push notification service | |
KR101233263B1 (ko) | 피드백 메시지를 이용한 푸시 서비스 제공 시스템 및 방법 | |
US10334406B2 (en) | Methods and apparatus for analyzing and grouping service layer subscriptions and notifications for enhanced efficiency | |
KR101165746B1 (ko) | 푸시 메시지 서비스 시스템 및 방법 | |
US20150067062A1 (en) | Message push notification client improvements for multi-user devices | |
US9753786B2 (en) | Client server communication system | |
CN111901132B (zh) | 群组管理方法、装置及系统 | |
US9544358B2 (en) | Providing near real-time device representation to applications and services | |
CN105071965B (zh) | 一种网络设备的管理系统 | |
CN110012107B (zh) | 一种数据通信方法、设备、装置、系统及存储介质 | |
CN110784489A (zh) | 安全通信系统及其方法 | |
KR101238929B1 (ko) | Id 기반의 라우팅을 이용한 푸시 서비스 제공 시스템 및 방법 | |
US20130007841A1 (en) | Client server communication system | |
KR20170005274A (ko) | 사용자 정의 클라우드 서비스 제공을 위한 자원 서비스 중개 제공장치 및 그 방법 | |
KR101251630B1 (ko) | 푸쉬 서비스 제공 시스템 및 방법 | |
CN115914389A (zh) | 云服务控制系统、方法、装置、电子设备和存储介质 | |
KR101274774B1 (ko) | 재접속 메시지를 이용한 푸쉬 서비스 제공 시스템 및 그 방법 | |
KR101233232B1 (ko) | QoS에 따른 세션 관리를 이용한 푸시 서비스 제공 시스템 및 방법 | |
KR101128845B1 (ko) | 콘텐츠 전송 분산 방법, 그를 위한 콘텐츠 전송 시스템,전송관리서버 및 단말기 | |
CN112565158B (zh) | 数据访问方法、装置、系统、电子设备及计算机可读介质 | |
KR101528529B1 (ko) | 사용자 그룹 서비스 제공 방법, 이를 수행하는 사용자 그룹 서비스 제공 서버 및 사용자 그룹 릴레이 서버 | |
CN112887137B (zh) | 接口索引一致性的实现方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160125 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170124 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190129 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20191216 Year of fee payment: 8 |