KR101407597B1 - 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법 - Google Patents

망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법 Download PDF

Info

Publication number
KR101407597B1
KR101407597B1 KR1020110045902A KR20110045902A KR101407597B1 KR 101407597 B1 KR101407597 B1 KR 101407597B1 KR 1020110045902 A KR1020110045902 A KR 1020110045902A KR 20110045902 A KR20110045902 A KR 20110045902A KR 101407597 B1 KR101407597 B1 KR 101407597B1
Authority
KR
South Korea
Prior art keywords
client
push
message
push service
interworking unit
Prior art date
Application number
KR1020110045902A
Other languages
English (en)
Other versions
KR20120128031A (ko
Inventor
김진국
Original Assignee
에스케이텔레콤 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 에스케이텔레콤 주식회사 filed Critical 에스케이텔레콤 주식회사
Priority to KR1020110045902A priority Critical patent/KR101407597B1/ko
Priority to PCT/KR2012/003793 priority patent/WO2012157939A2/ko
Priority to CN201280022955.6A priority patent/CN103563305B/zh
Publication of KR20120128031A publication Critical patent/KR20120128031A/ko
Priority to US14/052,029 priority patent/US9491132B2/en
Application granted granted Critical
Publication of KR101407597B1 publication Critical patent/KR101407597B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/08Load balancing or load distribution
    • H04W28/0846Load balancing or load distribution between network providers, e.g. operators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Abstract

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

Description

망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING PUSH SERVICE}
본 발명은 푸시(push) 서비스 제공 시스템 및 방법에 관한 것으로서, 더욱 상세하게는 푸시 서비스 장치를 매개로 서비스 제공 장치로부터 수신한 푸시 메시지를 클라이언트에게 제공할 때 푸시 서비스 장치의 장애로 클라이언트와의 접속이 해지되면 바로 접속을 시도하지 않고 필요할 때 선별적으로 접속을 시도하여 접속 시도로 인한 망 부하를 감소시키는 푸시 서비스 제공 시스템 및 방법에 관한 것이다.
스마트 폰(smart phone)이 보급되고 스마트 폰 환경으로 인해 다양한 응용 프로그램(Application)이 등장함에 따라 무선 자원의 사용량이 크게 증가하고 있다. 특히, IM(Instant Messaging), 웹(Web), 위젯(Widget) 서비스와 같이 망으로부터 실시간 푸시 메시지 혹은 푸시 알림(Push Notification) 등을 받기 위해 항시 접속되어 있는 형태(Always-On 형태)의 응용 프로그램이 현재 급속도로 증가하고 있다. Always-On 형태의 응용 프로그램은 저마다 서비스 제공자와 연결을 유지하면서 푸시 서비스를 받도록 준비하고 있기 때문에 과다한 트래픽을 유발하고, 배터리 소모를 빠르게 하는 문제점이 있다.
이러한 문제점을 해결하기 위해, "애플(Apple)"과 "구글(Google)"에서는 서비스 제공자와 클라이언트가 직접적으로 연결되지 않고, 클라이언트(Client) 내에 구축된 데몬(Daemon)을 통해 푸시 서버와 연결을 유지하고 서비스 제공자(Service Provider)가 푸시 메시지 혹은 푸시 알림을 전송하면 중앙의 푸시 서버가 전달 받아 해당 클라이언트로 전송하는 방식을 채택하고 있다.
도 1은 종래 푸시 서비스 제공 시스템의 구성을 나타낸 도면이다.
종래 기술에 따르면, 다수의 서비스 제공자(10)와 다수의 단말(40) 사이에 게이트웨이(20)와 커리어(30)가 구축되어 다수의 단말(40)내 설치된 응용 프로그램이 서비스 제공자(10)와 개별적으로 접속할 필요없이 커리어(30) 및 게이트웨이(20)와 접속하여 서비스 제공자(10)가 연결되는 구조를 보여주고 있다.
게이트웨이(20)는 다수의 서비스 제공자(10)와 접속하기 위한 중계 장치이고, 커리어(30)는 다수의 단말(40)과 접속하기 위한 장치로, 서비스 제공자(10)와 단말(40)의 증가에 따라 확장이 가능한 구조이다.
그런데, 도 1에 따른 종래 기술은 존(zone) 기반으로 단말(40)을 관리하기 때문에 커리어(30)와 연동 시 단말(40)이 미리 설정된 정보에 따라 정해진 커리어(30)에 할당하도록 되어 있다. 이러한 방식은 처리 속도가 빠르지만, 동일 존 내에 단말(40)이 급증하게 되면 하나의 커리어(30)에서 수용해야 하는 단말(40)이 편중되어 부하가 걸리기 쉽다.
특히, 커리어(30)의 장애로 단말(40)과의 접속이 비정상적으로 종료된 경우 커리어(30)와 단말(40)간 접속을 시도하게 된다. 이러한 접속 시도는 커리어(30) 또는 단말(40)에 의해 동시에 수행되므로 커리어(30) 또는 단말(40)의 수가 증가할수록 망의 순간적인 부하를 유발한다.
따라서, 푸시 서비스를 이용하는 단말(클라이언트) 및 서비스 제공자가 증가하는 경우 서버가 가지는 부하를 얼만큼 효과적으로 분산할 것인가가 주요한 이슈로 대두되고 있다. 이에 따라 서비스 제공자와 단말이 푸시 서버와 접속할 때 발생하는 부하를 분산하기 위한 방안이 필요하다.
특히, 본 발명에서는 푸시 서버와 단말간 비정상적인 접속 종료로 인해 발생하는 망 부하를 분산하기 위한 방안을 개시한다.
본 발명은 상기의 필요성에 의해 창안된 것으로서, 푸시 서비스 장치를 매개로 서비스 제공 장치로부터 수신한 푸시 메시지를 클라이언트에게 제공할 때 푸시 서비스 장치의 장애로 클라이언트와의 접속이 해지되면 바로 접속을 시도하지 않고 필요할 때 푸시 서비스 장치 또는 클라이언트에서 선별적으로 접속을 시도하여 접속 시도로 인한 망 부하를 감소시키는 푸시 서비스 제공 시스템 및 방법을 제공하는 데 그 목적이 있다.
이를 위하여 본 발명의 제1 측면에 따르면, 본 발명의 푸시 서비스 제공 시스템은, 서비스 제공 장치가 제공하는 푸시 메시지를 수신하여 푸시 서비스를 제공하는 클라이언트; 상기 서비스 제공 장치가 제공하는 푸시 메시지를 수신하여 해당 클라이언트에게 전송하는 푸시 서비스 장치를 포함하고, 상기 푸시 서비스 장치와 상기 클라이언트간 접속이 비정상적으로 종료하게 되면 소정의 기준에 따라 상기 푸시 서비스 장치 또는 상기 클라이언트가 상호 재 접속을 시도하는 것을 특징으로 한다.
본 발명의 제2 측면에 따르면, 본 발명의 푸시 서비스 장치는, 다수의 서비스 제공 장치와 접속하기 위한 다수의 SP(Service Provider) 연동부; 다수의 클라이언트와 접속하여 상기 SP 연동부로부터 수신한 푸시 메시지를 클라이언트에게 전송하는 다수의 client 연동부; 각 client 연동부와 클라이언트간 접속이 비정상적으로 종료하게 되면 상기 SP 연동부로부터 상기 클라이언트에게 전송할 신규 푸시 메시지를 수신하거나 상기 클라이언트로부터 킵 얼라이브(keep-alive) 메시지를 수신하면 상기 client 연동부를 통해 클라이언트로 접속을 시도하는 제어부를 포함하는 것을 특징으로 한다.
본 발명의 제3 측면에 따르면, 본 발명의 푸시 서비스 장치는, 다수의 서비스 제공 장치와 접속하기 위한 다수의 SP(Service Provider) 연동부; 다수의 클라이언트와 접속하여 상기 SP 연동부로부터 수신한 푸시 메시지를 클라이언트에게 전송하는 다수의 client 연동부; 상기 다수의 client 연동부로부터 설정 정보를 백업하여 상기 다수의 client 연동부의 기능을 대행하는 보조 client 연동부; 및 상기 다수의 client 연동부의 장애 발생으로 각 client 연동부와 클라이언트간 접속이 비정상적으로 종료하게 되면 장애 발생한 client 연동부의 설정 정보를 상기 보조 client 연동부로 백업시키는 제어부를 포함하고, 상기 보조 client 연동부는 백업 이후 상기 클라이언트로부터 킵 얼라이브(keep-alive) 메시지를 수신하면 수신한 킵 얼라이브 메시지에 대한 응답 메시지를 상기 클라이언트에게 전송하여 상기 클라이언트와 접속을 수행하는 것을 특징으로 한다.
본 발명의 제4 측면에 따르면, 본 발명의 푸시 서비스 제공 방법은, 서비스 제공 장치와 클라이언트 사이에서 푸시 메시지를 전달하는 푸시 서비스 장치의 장애 발생으로 상기 푸시 서비스 장치와 상기 클라이언트간 접속이 비정상적으로 종료되는 단계; 상기 푸시 서비스 장치에 클라이언트에게 전송할 푸시 메시지를 수신하였는지 여부 또는 상기 푸시 서비스 장치와 상기 클라이언트간 활성화 상태를 확인하기 위한 킵 얼라이브 타임인지를 확인하는 단계; 및 상기 푸시 서비스 장치에 클라이언트에게 전송할 푸시 메시지를 수신하였거나 또는 상기 킵 얼라이브 타임인 경우 상기 푸시 서비스 장치 또는 상기 클라이언트가 상호 접속을 시도하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따르면, 푸시 서비스 장치에 클라이언트와의 접속을 수행하는 보조 연동부를 구비하여 푸시 서비스 장치의 장애 발생으로 클라이언트와 접속이 끊긴 경우 보조 연동부를 이용하여 푸시 서비스 장치 또는 클라이언트에서 산발적으로 접속을 시도함으로써 재접속 시도에 따른 망 부하를 감소시키는 효과가 있다.
도 1은 종래 푸시 서비스 제공 시스템의 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 푸시 서비스 제공 시스템의 네트워크 구성을 나타낸 도면이다.
도 3은 본 발명에 따른 푸시 서비스 장치의 세부 구성도이다.
도 4는 본 발명에 따른 푸시 서비스 장치에서 연동부의 장애시 망 부하를 방지하기 위해 푸시 서비스 장치와 클라이언트간 접속 설정 구성을 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따른 망 부하 감소를 위한 푸시 서비스 제공 방법을 나타낸 흐름도이다.
도 6은 본 발명의 다른 실시 예에 따른 망 부하 감소를 위한 푸시 서비스 제공 방법을 나타낸 흐름도이다.
도 7은 본 발명에 따른 작용 효과를 설명하기 위한 도면이다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 실시 예를 상세하게 설명한다. 본 발명의 구성 및 그에 따른 작용 효과는 이하의 상세한 설명을 통해 명확하게 이해될 것이다. 본 발명의 상세한 설명에 앞서, 동일한 구성요소에 대해서는 다른 도면 상에 표시되더라도 가능한 동일한 부호로 표시하며, 공지된 구성에 대해서는 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 구체적인 설명은 생략하기로 함에 유의한다.
본 발명은 푸시 서비스 장치의 장애 발생으로 푸시 서비스 장치와 클라이언트간 접속이 비정상적으로 종료된 경우 바로 클라이언트와의 접속을 수행하지 않고 푸시 서비스 장치의 보조 장치를 이용하여 산발적으로 푸시 서비스 장치와 클라이언트간 접속을 시도하는 두 가지 실시 예에 대하여 개시한다.
도 2는 본 발명에 따른 푸시 서비스 제공 시스템의 네트워크 구성을 나타낸 도면이다.
도시된 바와 같이 본 발명에 따른 푸시 서비스 제공 시스템(100)은 다수의 서비스 제공 장치(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)로 푸시 메시지를 송신하여 서비스를 제공하는 서버 또는 단말을 의미한다.
푸시 서비스 장치(300)는 기본적으로 다수의 서비스 제공 장치(100)로부터 전송하는 푸시 메시지를 취합하여 해당 클라이언트(400)로 전달한다.
이때, 푸시 서비스 장치(300)는 다수의 서비스 제공 장치(100) 및 다수의 클라이언트(400) 사이에서 서비스 제공 장치(100) 및 클라이언트(400)의 상호 접속을 관리하고, 접속 시 다수의 서비스 제공 장치(100) 및 다수의 클라이언트(400)의 편중을 내부 부하에 따라 분산시킨다. 또한, 푸시 서비스 장치(300)는 서비스 제공 장치(100)에서 전송하는 푸시 메시지를 해당 클라이언트(400)로 제공하도록 처리한다.
이러한 푸시 서비스 장치(300)는 각 기능별로 독립적으로 구현되어 즉, 서비스 제공자(100)와 클라이언트(400)간 연동 기능과, 연동시 부하를 분산시키는 기능, 푸시 메시지를 처리하는 기능 등을 각 독립적인 장치로 분리 구현함으로써, 서비스 제공 장치(100)와 클라이언트(400)가 증가하게 되면 푸시 서비스 장치(300) 또한 각 기능별로 개별 확장이 가능하다.
도 3은 본 발명에 따른 푸시 서비스 장치를 나타낸 세부 구성도이다.
본 발명에 따른 푸시 서비스 장치(300)는 SP 연동부(310), 제어부(320), client 연동부(330), 부하 분산부(340), 보조 client 연동부(350)를 포함한다.
SP 연동부(310)는 다수의 서비스 제공 장치(100)와 접속하여 다수의 서비스 제공 장치(100)로부터 클라이언트(400)에 전송할 푸시 메시지를 수신한다. 여기서, 푸시 메시지는 신규 정보 또는 갱신 정보, 이벤트 정보 등을 포함한다.
client 연동부(330)는 다수의 클라이언트(400)와 접속하여 SP 연동부(310)로부터 수신한 푸시 메시지를 다수의 클라이언트(400)로 전송한다.
보조 client 연동부(350)는 client 연동부(330)의 보조 장치로서 client 연동부(330)의 장애시 client 연동부(330)의 설정 정보를 백업하고 장애가 발생한 client 연동부(330)의 기능을 그대로 수행한다. client 연동부(330)의 설정 정보란 클라이언트와 제어부(320)간 매핑 정보, 클라이언트로부터 접속 요청 처리 정보, 제어부(320)에서 받은 푸시 메시지를 해당 클라이언트에게 라우팅하는 정보 등을 포함한다.
이때, SP 연동부(310) 및 client 연동부(330)는 각 연동부(310, 330)에 접속하는 서비스 제공 장치(100) 또는 클라이언트(400)의 접속 수에 따라 복수 개로 구비할 수 있다. 일반적으로 각 연동부(310, 330)는 수용 가능한 단말의 수가 정해져 있어서 이를 기준으로 증설이 가능하다.
또한, 각 SP 연동부(310) 및 client 연동부(330)는 일정 주기마다 자신의 상태 정보를 부하 분산부(340)로 제공한다. 상태 정보는 SP 연동부(310) 및 client 연동부(330)에 접속되어 있는 가입자 수(또는 접속 수라 칭함), 데이터 처리량(Transaction Per Seconds: TPS) 등을 포함한다.
그러면 부하 분산부(340)는 각 SP 연동부(310) 또는 client 연동부(330)로부터 자신의 상태 정보를 수신하여 각 연동부의 부하 정보를 산출하고, 산출한 부하 정보를 테이블화하여 저장한다.
또한, 부하 분산부(340)는 다수의 서비스 제공 장치(100) 또는 다수의 클라이언트(400)로부터 접속 요청이 있으면 기 저장한 연동부의 부하 정보를 참조하여 접속 가능한 각 연동부를 서비스 제공 장치 또는 클라이언트에 할당한다. 따라서, 부하 분산부(340)는 각 연동부(310, 330)의 부하를 분산시키는 역할을 담당한다.
제어부(320)는 다수의 SP 연동부(310) 및 client 연동부(330)를 관리하며 특히 각 클라이언트별로 접속 가능한 client 연동부(330)에 대한 라우팅 정보를 관리한다. 여기서, 각 클라이언트별로 접속 가능한 Client 연동부(330)는 클라이언트가 접속 상태를 유지하고 있는 client 연동부를 의미하는 것으로, 부하 분산부(340)를 통해 할당받은 client 연동부를 포함할 수 있다.
따라서, 제어부(320)는 SP 연동부(310)로부터 푸시 메시지를 수신하면 푸시 메시지에 포함되어 있는 클라이언트 정보를 가지고 해당 클라이언트가 접속 가능한 client 연동부(330)를 추출하고, 추출한 client 연동부(330)로 푸시 메시지를 전송한다.
이때, 도 4에 도시한 바와 같이 client 연동부(330)에서 장애가 발생하면 client 연동부(330)는 클라이언트(400)와의 접속이 비정상적으로 종료되고 푸시 메시지를 전송하지 못하게 된다(①).
이 경우, 제어부(320)가 client 연동부(330)의 설정 정보를 보조 client 연동부(350)로 백업하고(②), 보조 client 연동부(350)는 백업 받은 설정 정보를 기초로 클라이언트(400)와 산발적으로 접속하여 푸시 메시지를 전송한다(③). 이때 보조 client 연동부(350)와 클라이언트(400)와의 산발적 접속은 보조 client 연동부(350) 또는 클라이언트(400)에 의해 이루어질 수 있다.
예를 들어, client 연동부(330)와 클라이언트(400)가 비정상적으로 종료한 이후 푸시 서비스 장치가 클라이언트에게 전송할 푸시 메시지를 수신하게 되면 보조 client 연동부(350)가 수신된 푸시 메시지를 전송하기 위해 클라이언트(400)로 접속을 시도한다. 이러한 방법은 보조 client 연동부(350)에 의해 접속 시도가 이루어지는 하나의 방법이다.
또 다른 방법으로 클라이언트에 의해 접속 시도가 이루어지는 경우는 킵 얼라이브 타임을 이용한 것이다. 즉, client 연동부(330)와 클라이언트(400)가 비정상적으로 종료한 이후 킵 얼라이브(keep-alive) 타임이 도래하면 클라이언트(400)가 보조 client 연동부(350)로 킵 얼라이브 메시지를 전송하여 보조 client 연동부(350)와 클라이언트(400)간 접속을 시도한다.
킵 얼라이브(keep-alive) 메시지는 둘 이상의 장치간 활성 상태를 알려주기 위해 보내고 받는 메시지를 말한다. 본 발명에서는 푸시 서비스 장치의 client 연동부(330) 또는 보조 client 연동부(350)와 클라이언트(400)간에 킵 얼라이브 메시지를 서로 교환함으로써 상호 접속 상태를 확인할 수 있다. 킵 얼라이브 메시지는 60초, 30분, 60분 등 기 설정된 킵 얼라이브 타임마다 주기적으로 전송한다.
이하에서는 상기의 두 가지 방법을 이용하여 푸시 서비스 장치와 클라이언트간 접속을 통해 망 부하를 방지할 수 있는 푸시 서비스 제공 방법에 대하여 구체적으로 설명한다.
도 5는 본 발명의 일 실시 예에 따른 망 부하 감소를 위한 푸시 서비스 제공 방법을 나타낸 흐름도이고, 도 6은 본 발명의 다른 실시 예에 따른 망 부하 감소를 위한 푸시 서비스 제공 방법을 나타낸 흐름도이다.
먼저 도 5를 참조하여 푸시 서비스 장치와 클라이언트간 접속을 시도하여 푸시 서비스를 제공하는 방법을 설명한다.
푸시 서비스 장치(300) 내 client 연동부(330)에 장애가 발생하면(S200), client 연동부(330)와 접속하고 있던 클라이언트(400)와의 접속이 비정상적으로 종료된다(S210).
client 연동부(330)는 제어부(도 3의 320)의 제어에 따라 푸시 서비스 장치(300)에 추가 구성한 보조 client 연동부(350)에 client 연동부(330)의 설정 정보를 복사하여 백업한다(S220). 이후부터 보조 client 연동부(350)는 client 연동부(330) 대신 client 연동부(330)의 기능을 동일하게 수행한다.
이후, 푸시 서비스 장치(300)와 클라이언트(400)간 접속이 종료된 상태에서, 푸시 서비스 장치(400)의 SP 연동부(310)에 서비스 제공 장치(100)로부터 푸시 메시지의 전송 요청이 수신되면 SP 연동부(310)는 제어부(도 3의 320)를 통해 보조 client 연동부(350)로 푸시 메시지의 전송 요청을 전달하고(S230), 해당 서비스 제공 장치(100)로 푸시 메시지의 전송에 대한 응답 메시지를 전달한다(S240).
그러면, 푸시 서비스 장치(300)의 보조 client 연동부(350)는 푸시 메시지를 전송할 클라이언트(400)에 재접속을 위한 문자 메시지를 전송하여 클라이언트(400)와의 접속을 시도한다(S250). 재접속을 위한 문자 메시지는 단문 메시지(Short Message) 형태이거나 다른 특정 메시지 포맷으로 전송하여 클라이언트(400)와의 접속을 재개하기 위한 우회 경로를 제공한다.
따라서, 푸시 서비스 장치(300)는 클라이언트와 접속이 종료된 이후 클라이언트에게 전송할 푸시 메시지가 존재할 경우 보조 client 연동부(350)가 해당 클라이언트와 접속이 끊어짐을 알게 되고 보조 client 연동부(350)가 해당 클라이언트에 재접속을 시도한다. 이로써 접속 종료시 바로 재접속을 수행함에 따른 순간적인 망 부하를 막을 수 있다.
다음으로 도 6을 참조하면, 도 5와 마찬가지로 푸시 서비스 장치(300)의 client 연동부(330)에 장애가 발생하면(S100), client 연동부(330)와 접속하고 있던 클라이언트(400)와의 접속이 비정상적으로 종료된다(S110).
client 연동부(330)는 제어부(도 3의 320)의 제어에 따라 푸시 서비스 장치(300)에 추가 구성한 보조 client 연동부(350)에 client 연동부(330)의 설정 정보를 복사하여 백업한다(S120). 이후부터 보조 client 연동부(350)는 client 연동부(330) 대신 client 연동부(330)의 기능을 동일하게 수행한다.
이후, 클라이언트(400)는 킵 얼라이브 타임(keep-alive time)인지를 체크하고(S130), 킵 얼라이브 타임이 되면 클라이언트(400)는 client 연동부(330)와 접속이 끊어졌음을 바로 인지하지 못하여 client 연동부(330)로 킵 얼라이브 메시지를 요청하지만 킵 얼라이브 메시지의 요청에 대한 응답을 받지 못한다(S140).
클라이언트(400)는 client 연동부(330)로부터 킵 얼라이브 메시지의 요청에 대한 응답이 수신되지 않으면 client 연동부(330)와 접속이 끊어짐을 인지하게 되고, 보조 Client 연동부(350)로 레지스터(Register) 메시지를 보내어 세션을 수립한 후 보조 client 연동부(350)로 킵 얼라이브 메시지를 요청한다(S150).
이후, 클라이언트(400)는 보조 client 연동부(350)로부터 킵 얼라이브 메시지 요청에 대한 응답을 수신하고(S160) 이러한 과정을 통해 보조 client 연동부(350)와 접속한다(S170).
이와 같이 도 5 및 도 6의 방법을 통해 본 발명은 도 7의 (b)에 도시한 바와 같이 푸시 서비스 장치와 클라리언트간 접속이 비정상적으로 종료되고 푸시 서비스 장치 또는 클라이언트에서 접속 끊김을 확인하게 되면, 푸시 서비스 장치 또는 클라이언트에서 푸시 메시지의 존재 여부 또는 킵 얼라이브 타임 여부에 따라 산발적으로 접속을 시도한다.
예를 들어, 접속 끊어짐을 확인한 후 푸시 서비스 장치가 킵 얼라이브 타임보다 푸시 메시지를 먼저 수신하게 되면 킵 얼라이브 타임과 상관없이 클라이언트와 접속을 시도하고, 이와 반대로 접속 끊어짐을 확인한 후 킵 얼라이브 타임이 도래하면 푸시 메지시의 수신 여부와 상관없이 클라이언트가 먼저 접속을 시도한다.
따라서, (a)와 같이 접속 종료시 바로 클라이언트와 푸시 서비스 장치간 재 접속을 시도함에 따라 발생하는 순간적인 망 부하를 막을 수 있다.
이상의 설명은 본 발명을 예시적으로 설명한 것에 불과하며, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술적 사상에서 벗어나지 않는 범위에서 다양한 변형이 가능할 것이다. 따라서 본 발명의 명세서에 개시된 실시 예들은 본 발명을 한정하는 것이 아니다. 본 발명의 범위는 아래의 특허청구범위에 의해 해석되어야 하며, 그와 균등한 범위 내에 있는 모든 기술도 본 발명의 범위에 포함되는 것으로 해석해야 할 것이다.
종래 푸시 서비스를 제공하는 시스템은 서비스 제공자 및 클라이언트의 접속 수가 급증하게 되면 푸시 서버에서 수용해야 하는 단말이 편중되어 과다한 부하가 발생하였으나, 본 발명은 푸시 서비스 장치를 매개로 서비스 제공 장치로부터 수신한 푸시 메시지를 클라이언트에게 제공할 때 푸시 서비스 장치의 장애로 클라이언트와의 접속이 해지되면 바로 접속을 시도하지 않고 필요할 때 선별적으로 접속을 시도하여 접속 시도로 인한 망 부하를 감소시킨 효과가 있다. 이러한 점에서 종래 푸시 서버의 한계를 뛰어 넘음에 따라 관련 기술에 대한 이용만이 아닌 적용되는 서버의 구축 및 영업의 가능성이 충분할 뿐만 아니라 현실적으로 명백하게 실시할 수 있는 정도이므로 산업상 이용 가능성이 있는 유용한 발명이다.
100-1 내지 100-N: 서비스 제공장치1 내지 서비스 제공장치N
400-1 내지 400-K: 클라이언트1 내지 클라이언트K
100: 서비스 제공 장치 200: 통신망
300: 푸시 서비스 장치 400: 클라이언트
310: SP 연동부 320: 제어부
330: client 연동부 340: 부하 분산부
350: 보조 client 연동부

Claims (10)

  1. 서비스 제공 장치가 제공하는 푸시 메시지를 수신하여 푸시 서비스를 제공하는 클라이언트;
    상기 서비스 제공 장치가 제공하는 푸시 메시지를 수신하여 해당 클라이언트에게 전송하는 푸시 서비스 장치를 포함하고,
    상기 푸시 서비스 장치와 상기 클라이언트간 접속이 비정상적으로 종료하게 되면 기 설정된 기준에 해당되는 시점이 되었는지 여부를 판단하고 상기 기 설정된 기준에 해당되는 시점이 되기 이전에는 상기 푸시 서비스 장치 또는 상기 클라이언트가 상호 재 접속을 시도하지 않으며 상기 기 설정된 기준에 해당되는 시점이 된 경우에 한하여 상기 푸시 서비스 장치 또는 상기 클라이언트가 상호 재 접속을 시도하는 것을 특징으로 하는 푸시 서비스 제공 시스템.
  2. 제 1 항에 있어서,
    상기 기 설정된 기준은 상기 클라이언트에 전송할 신규 푸시 메시지가 존재하거나 클라이언트의 킵 얼라이브 타임일 경우를 특징으로 하는 푸시 서비스 제공 시스템.
  3. 다수의 서비스 제공 장치와 접속하기 위한 다수의 SP(Service Provider) 연동부;
    다수의 클라이언트와 접속하여 상기 SP 연동부로부터 수신한 푸시 메시지를 클라이언트에게 전송하는 다수의 client 연동부;
    각 client 연동부와 클라이언트간 접속이 비정상적으로 종료하게 되면, 상기 SP 연동부로부터 상기 클라이언트에게 전송할 신규 푸시 메시지를 수신한 시점 또는 상기 클라이언트로부터 킵 얼라이브(keep-alive) 메시지를 수신한 시점이 되었는지 여부를 판단하고 상기 신규 푸시 메시지를 수신한 시점 또는 상기 킵 얼라이브 메시지를 수신한 시점 이전에는 상기 client 연동부를 통해 클라이언트로 접속을 시도하지 않으며 상기 신규 푸시 메시지를 수신한 시점 또는 상기 킵 얼라이브 메시지를 수신한 시점인 경우에 한하여 상기 client 연동부를 통해 클라이언트로 접속을 시도하는 제어부
    를 포함하는 것을 특징으로 하는 푸시 서비스 장치.
  4. 삭제
  5. 다수의 서비스 제공 장치와 접속하기 위한 다수의 SP(Service Provider) 연동부;
    다수의 클라이언트와 접속하여 상기 SP 연동부로부터 수신한 푸시 메시지를 클라이언트에게 전송하는 다수의 client 연동부;
    상기 다수의 client 연동부로부터 설정 정보를 백업하여 상기 다수의 client 연동부의 기능을 대행하는 보조 client 연동부; 및
    상기 다수의 client 연동부의 장애 발생으로 각 client 연동부와 클라이언트간 접속이 비정상적으로 종료하게 되면, 장애 발생한 client 연동부의 설정 정보를 상기 보조 client 연동부로 백업시키는 제어부를 포함하고,
    상기 보조 client 연동부는 백업 이후 상기 클라이언트로부터 킵 얼라이브(keep-alive) 메시지를 수신한 시점인지 여부를 판단하고 상기 킵 얼라이브 메시지를 수신한 시점 이전에는 상기 클라이언트와 접속을 수행하지 않으며 상기 킵 얼라이브 메시지를 수신한 시점인 경우에 한하여 상기 킵 얼라이브 메시지에 대한 응답 메시지를 상기 클라이언트에게 전송함으로써 상기 클라이언트와 접속을 수행하는 것을 특징으로 하는 푸시 서비스 장치.
  6. 제 5 항에 있어서,
    상기 보조 client 연동부는 상기 킵 얼라이브 메시지를 기 설정해 둔 킵 얼라이브 타임마다 주기적으로 수신하는 것을 특징으로 하는 푸시 서비스 장치.
  7. 서비스 제공 장치와 클라이언트 사이에서 푸시 메시지를 전달하는 푸시 서비스 장치의 장애 발생으로 상기 푸시 서비스 장치와 상기 클라이언트간 접속이 비정상적으로 종료되는 단계;
    상기 푸시 서비스 장치에 클라이언트에게 전송할 푸시 메시지를 수신하였는지 여부 또는 상기 푸시 서비스 장치와 상기 클라이언트간 활성화 상태를 확인하기 위한 킵 얼라이브 타임인지를 확인하는 단계; 및
    상기 푸시 메시지를 수신하였거나 또는 상기 킵 얼라이브 타임인 것으로 확인되기 전에는 상기 푸시 서비스 장치 또는 상기 클라이언트가 상호 접속을 시도하지 않고, 상기 푸시 메시지를 수신하였거나 또는 상기 킵 얼라이브 타임인 것으로 확인된 시점에 한하여 상기 푸시 서비스 장치 또는 상기 클라이언트가 상호 접속을 시도하는 단계
    를 포함하는 것을 특징으로 하는 푸시 서비스 제공 방법.
  8. 제 7 항에 있어서,
    상기 클라이언트와의 접속을 수행하기 위해 상기 푸시 서비스 장치에 추가 구성된 보조 client 연동부에 상기 클라이언트와의 접속과 관련한 설정 정보를 백업하는 것을 특징으로 하는 푸시 서비스 제공 방법.
  9. 제 8 항에 있어서,
    상기 백업 이후 푸시 서비스 장치에 클라이언트에게 전송할 푸시 메시지를 수신한 경우
    상기 푸시 서비스 장치가 상기 클라이언트에게 전송할 푸시 메시지를 상기 보조 client 연동부로 전달하는 단계;
    상기 보조 client 연동부에서 해당 클라이언트에게 재접속을 위한 메시지를 전송하는 단계;
    상기 재접속을 위한 메시지를 통해 상기 보조 client 연동부가 해당 클라이언트에 접속을 시도하는 단계
    를 포함하는 것을 특징으로 하는 푸시 서비스 제공 방법.
  10. 제 8 항에 있어서,
    상기 킵 얼라이브 타임인 경우
    상기 클라이언트가 킵 얼라이브 메시지를 상기 보조 client 연동부로 전송하는 단계;
    상기 클라이언트가 상기 보조 client 연동부로부터 상기 킵 얼라이브 메시지에 대한 응답 메시지를 수신하는 단계;
    수신한 응답 메시지를 통해 상기 클라이언트와 상기 푸시 서비스 장치간 재 접속하는 단계
    것을 특징으로 하는 푸시 서비스 제공 방법.
KR1020110045902A 2011-05-16 2011-05-16 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법 KR101407597B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020110045902A KR101407597B1 (ko) 2011-05-16 2011-05-16 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법
PCT/KR2012/003793 WO2012157939A2 (ko) 2011-05-16 2012-05-15 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법
CN201280022955.6A CN103563305B (zh) 2011-05-16 2012-05-15 提供推送服务以减小网络负载的系统和方法
US14/052,029 US9491132B2 (en) 2011-05-16 2013-10-11 System and method for providing push service for reducing network loads

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110045902A KR101407597B1 (ko) 2011-05-16 2011-05-16 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20120128031A KR20120128031A (ko) 2012-11-26
KR101407597B1 true KR101407597B1 (ko) 2014-06-13

Family

ID=47177473

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110045902A KR101407597B1 (ko) 2011-05-16 2011-05-16 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법

Country Status (4)

Country Link
US (1) US9491132B2 (ko)
KR (1) KR101407597B1 (ko)
CN (1) CN103563305B (ko)
WO (1) WO2012157939A2 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2918806A1 (en) * 2015-01-22 2016-07-22 Gubagoo Inc. Systems and methods for call backup and takeover using web and mobile interfaces
KR102665749B1 (ko) * 2018-10-09 2024-05-16 구글 엘엘씨 클라우드 저하 모드에서 지속적인 디바이스 동작 안정성을 보장하기 위한 방법 및 장치
CN112398752B (zh) * 2020-11-16 2022-04-26 广州华多网络科技有限公司 消息推送控制方法及其装置、设备、介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070099555A (ko) * 2004-11-03 2007-10-09 페다고그 리미티드 관찰 시스템
KR100788245B1 (ko) * 2006-10-19 2007-12-27 (주)인트로모바일 통합 푸시 서비스 시스템 및 제공방법

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001082098A1 (en) * 2000-04-27 2001-11-01 Fortress Technologies, Inc. Network interface device having primary and backup interfaces for automatic dial backup upon loss of a primary connection and method of using same
JP2003288298A (ja) * 2002-03-27 2003-10-10 Hitachi Ltd プッシュサービス情報中継装置およびプッシュサービス情報中継方法
DE03729744T1 (de) * 2002-11-04 2006-04-13 Research In Motion Ltd., Waterloo Verfahren und system zum aufrechterhalten einer drahtlosen datenverbindung
US7475142B2 (en) * 2002-12-06 2009-01-06 Cisco Technology, Inc. CIFS for scalable NAS architecture
US20040219925A1 (en) * 2003-04-30 2004-11-04 Motorola, Inc. Image data transfer over a dispatch voice channel
US7355975B2 (en) * 2004-04-30 2008-04-08 International Business Machines Corporation Method and apparatus for group communication with end-to-end reliability
US8055711B2 (en) * 2004-10-29 2011-11-08 Emc Corporation Non-blocking commit protocol systems and methods
CN101034996A (zh) * 2006-03-09 2007-09-12 腾讯科技(深圳)有限公司 即时消息推送方法及其系统
KR100695212B1 (ko) * 2006-03-09 2007-03-14 에스케이 텔레콤주식회사 푸쉬 메시지를 자동 저장하는 방법 및 이동통신 단말기
CN101184019A (zh) * 2006-11-14 2008-05-21 中兴通讯股份有限公司 一种向多终端动态推送业务信息的系统
US7693953B2 (en) * 2007-01-12 2010-04-06 Microsoft Corporation Providing Web services for wireless communication devices
US8548433B1 (en) * 2007-06-27 2013-10-01 Smith Micro Software, Inc. Voice messaging service for network-based instant connect systems
US8099764B2 (en) * 2007-12-17 2012-01-17 Microsoft Corporation Secure push and status communication between client and server
CN101588384A (zh) * 2008-05-19 2009-11-25 北京亿企通信息技术有限公司 一种给企业用户推送信息的方法和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070099555A (ko) * 2004-11-03 2007-10-09 페다고그 리미티드 관찰 시스템
KR100788245B1 (ko) * 2006-10-19 2007-12-27 (주)인트로모바일 통합 푸시 서비스 시스템 및 제공방법

Also Published As

Publication number Publication date
WO2012157939A2 (ko) 2012-11-22
US20140040380A1 (en) 2014-02-06
CN103563305A (zh) 2014-02-05
US9491132B2 (en) 2016-11-08
WO2012157939A3 (ko) 2013-01-24
CN103563305B (zh) 2018-10-09
KR20120128031A (ko) 2012-11-26

Similar Documents

Publication Publication Date Title
US8914449B2 (en) Push messaging platform with high scalability and high availability
CN107645529B (zh) 心跳包发送方法及装置
CN105450779B (zh) 一家电设备连接多服务器的方法
CN106685748B (zh) 一种心跳信息发送方法、服务器及终端
CN103312528A (zh) 一种心跳消息发送方法及用户终端
KR20120128025A (ko) 피드백 메시지를 이용한 푸시 서비스 제공 시스템 및 방법
CN107529229B (zh) 数据传输的方法,装置及系统
CN103685163A (zh) Ims网络中的容灾方法、系统和设备
KR101407597B1 (ko) 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법
CN107317731A (zh) 一种客户端与服务器连接状态的检测方法
KR101272077B1 (ko) 망 부하 감소를 위한 푸시 서비스 제공 시스템 및 방법
WO2013159492A1 (zh) 信息上报与下载的方法及系统
CN108632355B (zh) 一种家电网络选路方法、控制终端、可读存储介质及设备
JP6241418B2 (ja) 端末、メッセージ配信システム、メッセージ配信方法およびメッセージ受信プログラム
KR101251630B1 (ko) 푸쉬 서비스 제공 시스템 및 방법
KR101224557B1 (ko) 킵얼라이브 통신 시스템, 클라이언트, 및 통신방법
KR101007408B1 (ko) 데이터 공유 기반 데이터 전송 방법 및 시스템
JP2014146876A (ja) メッセージ配信システムおよびメッセージ配信方法
CN109257444B (zh) 一种负载分担方法、装置及系统
CN110139264B (zh) NB-IoT网络的通信方法、装置及存储介质
CN111988808A (zh) 核心网容灾备份方法和装置
CN106992878B (zh) 一种组播检测的方法及装置
CN110890989A (zh) 一种通道连接方法及装置
CN105337996B (zh) 一种数据处理方法及系统
CN111314465B (zh) 弱网环境通讯方法、装置和电子设备

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20130701

Effective date: 20140523

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180530

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190502

Year of fee payment: 6