KR102001103B1 - 전자장치, 서버 및 시스템의 제어방법 - Google Patents

전자장치, 서버 및 시스템의 제어방법 Download PDF

Info

Publication number
KR102001103B1
KR102001103B1 KR1020120111544A KR20120111544A KR102001103B1 KR 102001103 B1 KR102001103 B1 KR 102001103B1 KR 1020120111544 A KR1020120111544 A KR 1020120111544A KR 20120111544 A KR20120111544 A KR 20120111544A KR 102001103 B1 KR102001103 B1 KR 102001103B1
Authority
KR
South Korea
Prior art keywords
client
header
server
message
group
Prior art date
Application number
KR1020120111544A
Other languages
English (en)
Other versions
KR20140045242A (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 KR1020120111544A priority Critical patent/KR102001103B1/ko
Priority to US13/919,150 priority patent/US9992140B2/en
Priority to PCT/KR2013/005754 priority patent/WO2014058129A1/en
Publication of KR20140045242A publication Critical patent/KR20140045242A/ko
Application granted granted Critical
Publication of KR102001103B1 publication Critical patent/KR102001103B1/ko

Links

Images

Classifications

    • 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/212Monitoring or handling of messages using filtering or selective blocking
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • 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/214Monitoring or handling of messages using selective forwarding
    • 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
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/04Terminal devices adapted for relaying to or from another terminal or user
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/20Master-slave selection or change arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 실시예에 따른 메시징 채널을 통해 실시간 메시징을 제공하는 서버에 통신 가능하게 접속된 전자장치는, 서버와 통신하며, 전자장치와 함께 클라이언트 그룹을 형성하는 하나 이상의 외부장치와 통신하는 클라이언트 통신부와; 클라이언트 그룹 내의 전자장치 및 하나 이상의 외부장치 중에서 서버에 대해 상기 메시징 채널이 연결된 헤더 클라이언트를 선택하고 나머지의 노드 클라이언트를 분류함으로써, 서버로부터 노드 클라이언트에 대한 메시지가 메시징 채널을 통해 헤더 클라이언트에 전송되면 헤더 클라이언트가 서버로부터의 메시지를 노드 클라이언트에 전송하게 제어하는 클라이언트 제어부를 포함하는 것을 특징으로 한다.

Description

전자장치, 서버 및 시스템의 제어방법 {ELECTRONIC APPARATUS, SERVER, AND CONTROL METHOD OF SYSTEM}
본 발명은 다양한 어플리케이션을 설치하여 사용할 수 있는 전자장치, 서버 및 시스템의 제어방법에 관한 것으로서, 상세하게는 서버가 소정 어플리케이션이 설치된 전자장치에 대해 해당 어플리케이션에 대한 메시지를 실시간으로 전송하는 메시징 서비스를 제공하는 구조의 전자장치, 서버 및 시스템의 제어방법에 관한 것이다.
전자장치는 전기 등의 에너지에 의하여 전자의 이동을 제어함으로써 사용자가 요구하는 다양한 기능을 수행할 수 있는 제반 장치들의 총칭이다. 예를 들면, 일반 사용자의 가정 내에서는 세탁기, 냉장고, 식기세척기와 같은 가전제품과, 셋탑박스, 광학미디어 재생장치, TV와 같은 A/V 디바이스와, 퍼스널 컴퓨터와, 모바일 폰, 휴대용 미디어 플레이어와 같은 모바일 디바이스 등, 다양한 형식 및 특성의 전자장치가 사용자의 요구를 충족시킨다.
기술의 발달 및 사용자 요구의 확장에 부응하여, 이러한 전자장치들은 다양한 기능을 수행할 수 있는 어플리케이션을 설치하여 실행시킨다. 전자장치는 네트워크를 통해 서버에 대해 통신 가능하게 접속하며, 이러한 어플리케이션은 광고, 업데이트, 공지 등과 같은 다양한 종류의 메시지를 지원한다. 이에, 서버는 어플리케이션이 설치된 전자장치에 대해 해당 어플리케이션에 대한 메시지를 실시간으로 제공하며, 전자장치는 서버로부터 수신하는 메시지를 표시하는 등의 방법으로 해당 메시지를 사용자에게 알린다. 이러한 서버로부터의 실시간 메시징(messaging) 서비스를 푸시 노티피케이션(push notification)이라고 하며, 클라이언트로서의 전자장치에 대해 메시지를 제공하는 서버를 푸시 서버(push server)라고 한다.
그런데, 이러한 푸시 노티피케이션의 네트워크 구조는 푸시 서버가 각 클라이언트에 대해 실시간으로 메시징 서비스를 제공하므로, 푸시 서버의 시스템 부하가 크며, 푸시 서버로부터 나오는 통신 트래픽의 양이 커지는 문제점이 발생할 수 있다. 따라서, 푸시 서버의 시스템 부하 및 통신 트래픽을 줄일 수 있다면, 네트워크의 리소스(resource)를 보다 효율적으로 분배되도록 할 수 있을 것이다.
본 발명의 실시예에 따른 메시징(messaging) 채널을 통해 실시간 메시징을 제공하는 서버에 통신 가능하게 접속된 전자장치는, 상기 서버와 통신하며, 상기 전자장치와 함께 클라이언트 그룹을 형성하는 하나 이상의 외부장치와 통신하는 클라이언트 통신부와; 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 중에서 상기 서버에 대해 상기 메시징 채널이 연결된 헤더(header) 클라이언트를 선택하고 나머지의 노드(node) 클라이언트를 분류함으로써, 상기 서버로부터 상기 노드 클라이언트에 대한 메시지가 상기 메시징 채널을 통해 상기 헤더 클라이언트에 전송되면 상기 헤더 클라이언트가 상기 서버로부터의 상기 메시지를 상기 노드 클라이언트에 전송하게 제어하는 클라이언트 제어부를 포함하는 것을 특징으로 한다.
여기서, 사용자입력부를 더 포함하며, 상기 클라이언트 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 중에서 상기 사용자입력부에 의해 선택된 어느 하나를 상기 헤더 클라이언트로 선택할 수 있다.
또는, 상기 클라이언트 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 각각으로부터 배터리 잔량 정보를 수집하며, 상기 클라이언트 그룹 내에서 상기 배터리 잔량이 가장 많은 어느 하나를 상기 헤더 클라이언트로 선택할 수 있다.
또는, 상기 클라이언트 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 각각의 네트워크 유효성을 판단하고, 상기 클라이언트 그룹 내에서 네트워크의 사용빈도에 따라서 어느 하나를 상기 헤더 클라이언트로 선택할 수 있다.
또는, 상기 클라이언트 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 중에서 상기 헤더 클라이언트로 이전에 선택된 이력이 있는 어느 하나를 상기 헤더 클라이언트로 선택할 수 있다.
또한, 상기 서버로부터의 상기 메시지는, 소정의 어플리케이션을 제공하는 어플리케이션 서버로부터 상기 서버에 전달되며, 상기 전자장치 또는 상기 외부장치는, 상기 어플리케이션이 설치된 경우에 상기 메시지를 수신할 수 있다.
또한, 상기 클라이언트 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 각각이 상기 서버에 대해 상기 메시징 채널을 연결한 상태에서 상기 헤더 클라이언트가 선택되면, 상기 헤더 클라이언트의 상기 메시징 채널 연결을 유지하고, 상기 노드 클라이언트의 상기 메시징 채널이 차단되게 제어할 수 있다.
또한, 상기 클라이언트 제어부는, 상기 헤더 클라이언트가 상기 노드 클라이언트에 대한 상기 메시지를 수신한 상태에서 상기 노드 클라이언트에 대한 통신 접속이 끊어진 경우에 상기 메시지를 상기 전자장치에 임시 저장하고, 상기 노드 클라이언트가 재접속될 때에 상기 임시 저장한 메시지를 상기 노드 클라이언트에 전송하도록 제어할 수 있다.
또한, 상기 클라이언트 제어부는, 상기 클라이언트 그룹 내에서 상기 서버에 대한 기 존재하는 상기 헤더 클라이언트의 통신 접속이 끊어지거나 상기 클라이언트 그룹 내에서 새로운 상기 외부장치가 통신 접속되는 경우에 새로운 상기 헤더 클라이언트의 선택을 수행할 수 있다.
또한, 본 발명의 실시예에 따른 클라이언트에 대해 메시징 채널을 통해 실시간 메시징을 제공하는 서버는, 상기 클라이언트와 통신하는 서버통신부와; 둘 이상의 상기 클라이언트를 포함하는 클라이언트 그룹 내에서 상기 서버통신부와 상기 메시징 채널이 연결된 헤더 클라이언트 및 나머지의 노드 클라이언트가 선택 및 분류되면, 상기 노드 클라이언트에 대한 전송 메시지가 있는 경우에 상기 메시지를 상기 헤더 클라이언트에 전송함으로써, 상기 헤더 클라이언트가 상기 메시지를 상기 노드 클라이언트에 전송하도록 제어하는 서버제어부를 포함하는 것을 특징으로 한다.
여기서, 상기 서버제어부는, 상기 클라이언트 그룹 내의 어느 하나의 상기 클라이언트로부터 상기 헤더 클라이언트의 선택에 관한 정보를 수신하면, 상기 정보에 기초하여 상기 클라이언트 그룹 내에서 상기 헤더 클라이언트를 판단할 수 있다.
여기서, 상기 서버제어부는, 상기 클라이언트 그룹 내의 각각의 상기 클라이언트에 대한 상기 메시징 채널이 연결된 상태에서 상기 헤더 클라이언트이 판별되면, 상기 헤더 클라이언트와의 상기 메시징 채널 연결을 유지하고, 상기 노드 클라이언트와의 상기 메시징 채널을 차단할 수 있다.
또한, 상기 서버통신부는 소정의 어플리케이션을 제공하는 어플리케이션 서버에 접속되며, 상기 서버제어부는, 상기 어플레이케이션 서버로부터 수신한 상기 메시지를 상기 헤더 클라이언트에 전송할 수 있다.
또한, 본 발명의 실시예에 따른 클라이언트에 대해 서버로부터 메시징 채널을 통해 실시간 메시징을 제공하는 시스템의 제어방법은, 복수의 상기 클라이언트로부터 둘 이상의 상기 클라이언트를 포함하는 하나 이상의 클라이언트 그룹을 설정하는 단계와; 상기 클라이언트 그룹 내의 상기 클라이언트들 중에서 상기 서버에 대해 상기 메시징 채널이 연결된 헤더 클라이언트를 선택하고, 상기 헤더 클라이언트 이외의 노드 클라이언트를 분류하는 단계와; 상기 서버가 상기 노드 클라이언트에 대해 전송할 메시지가 있는 경우에 상기 서버가 상기 메시징 채널을 통해 상기 메시지를 상기 헤더 클라이언트에 전송하는 단계와; 상기 헤더 클라이언트가 상기 서버로부터 수신한 상기 메시지를 상기 노드 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내의 상기 클라이언트들 중에서 사용자에 의해 선택되는 어느 하나를 상기 헤더 클라이언트로 선택하는 단계를 포함할 수 있다.
또는, 상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내의 상기 클라이언트들 각각으로부터 배터리 잔량 정보를 수집하는 단계와; 상기 클라이언트 그룹 내에서 상기 배터리 잔량이 가장 많은 어느 하나를 상기 헤더 클라이언트로 선택하는 단계를 포함할 수 있다.
또는, 상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내의 상기 클라이언트들 각각의 네트워크 유효성을 판단하는 단계와; 상기 클라이언트 그룹 내에서 가장 네트워크의 사용빈도에 따라서 어느 하나를 상기 헤더 클라이언트로 선택하는 단계를 포함할 수 있다.
또는, 상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내의 상기 클라이언트들에 대하여 상기 헤더 클라이언트로 선택된 이력이 있는지 판단하는 단계와; 상기 클라이언트 그룹 내에서 상기 헤더 클라이언트로 이전에 선택된 이력이 있는 어느 하나를 상기 헤더 클라이언트로 선택하는 단계를 포함할 수 있다.
또한, 상기 서버로부터의 상기 메시지는, 소정의 어플리케이션을 제공하는 어플리케이션 서버로부터 상기 서버에 전달되며, 상기 전자장치 또는 상기 외부장치는, 상기 어플리케이션이 설치된 경우에 상기 메시지를 수신할 수 있다.
또한, 상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내의 상기 클라이언트들 각각이 상기 서버에 대해 상기 메시징 채널을 연결한 상태에서 상기 헤더 클라이언가 선택되면, 상기 헤더 클라이언트의 상기 메시징 채널 연결을 유지하고, 상기 노드 클라이언트의 상기 메시징 채널을 차단하는 단계를 포함할 수 있다.
또한, 상기 헤더 클라이언트가 상기 메시지를 상기 노드 클라이언트에 전송하는 단계는, 상기 노드 클라이언트에 대한 통신 접속이 끊어진 경우에 상기 메시지를 상기 헤더 클라이언트에 임시 저장하는 단계와; 상기 노드 클라이언트가 재접속되면 상기 임시 저장된 메시지를 상기 노드 클라이언트에 전송하는 단계를 포함할 수 있다.
또한, 상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내에서 상기 서버에 대한 기 존재하는 상기 헤더 클라이언트의 통신 접속이 끊어지거나 상기 클라이언트 그룹 내에서 새로운 상기 외부장치가 통신 접속되는 경우에 새로운 상기 헤더 클라이언트의 선택을 수행하는 단계를 포함할 수 있다.
도 1은 본 발명의 실시예에 따른 네트워크 시스템을 나타내는 구성 블록도,
도 2는 푸시 노티피케이션 네트워크 구조의 시스템의 일반적인 푸시 메시지 전달 체계를 나타내는 구성 블록도,
도 3은 본 실시예에 따른 푸시 노티피케이션 네트워크 구조의 시스템의 푸시 메시지 전달 체계를 나타내는 구성 블록도,
도 4는 도 1의 시스템의 세션 구축 단계에서 신호 전송 관계를 나타내는 예시도,
도 5는 도 1의 시스템의 메시징 단계에서 신호 전송 관계를 나타내는 예시도,
도 6 및 도 7은 도 1의 시스템의 클라이언트 그룹 내에서 헤더 클라이언트를 선택하는 과정을 나타내는 제어 흐름도이다.
이하에서는 첨부도면을 참조하여 본 발명에 대해 상세히 설명한다. 이하 실시예에서는 본 발명의 사상과 직접적인 관련이 있는 구성들에 관해서만 설명하며, 그 외의 구성에 관해서는 설명을 생략한다. 그러나, 본 발명의 사상이 적용된 장치 또는 시스템을 구현함에 있어서, 이와 같이 설명이 생략된 구성이 불필요함을 의미하는 것이 아님을 밝힌다.
도 1은 본 발명의 실시예에 따른 네트워크 시스템(1)을 나타내는 구성 블록도이다.
도 1에 도시된 바와 같이, 푸시 노티피케이션(push notification) 네트워크 구조에 따른 시스템(1)은 다양한 어플리케이션을 제공하는 어플리케이션 서버(200)와, 어플리케이션 서버(200)에 접속되며 푸시 노티피케이션 서비스를 제공하는 푸시 서버(110)와, 푸시 서버(110)에 접속되며 푸시 서버(110)가 제공하는 푸시 노티피케이션 서비스를 제공받는 각 클라이언트로서의 하나 이상의 전자장치(310, 320, 330)를 포함한다.
푸시 서버(110)는 어플리케이션 서버(200) 및 각 전자장치(310, 320, 330)와 통신 가능하게 접속하는 서버통신부(110)와, 푸시 서버(110)의 제반 동작을 제어하는 서버제어부(120)를 포함한다. 여기서, 서버통신부(110)는 유선/무선 통신 프로토콜에 따라서 어플리케이션 서버(200) 또는 전자장치(310, 320, 330)가 접속된 네트워크에 통신 가능하게 접속한다.
전자장치(310, 320, 330)는 세탁기, 냉장고, 식기세척기와 같은 가전제품과, 셋탑박스, 광학미디어 재생장치, TV와 같은 A/V 디바이스와, 퍼스널 컴퓨터와, 모바일 폰, 휴대용 미디어 플레이어와 같은 모바일 디바이스 등, 통상적인 의미의 전자장치로 구현될 수 있는 바, 그 종류 및 특성을 한정하지 않는다.
제1전자장치(310)는 푸시 서버(110)에 접속하는 클라이언트 통신부(311)와, 제1전자장치(310)의 제반 동작을 제어하는 클라이언트 제어부(312)를 포함한다. 여기서, 클라이언트 통신부(311)는 푸시 서버(110) 뿐 아니라, 어플리케이션 서버(200) 또는 제2전자장치(320)에도 통신 가능하게 접속한다. 또한, 제1전자장치(310)는 구현 방식에 따라서 영상을 표시하는 디스플레이부(미도시)와, 사용자가 조작 가능하게 마련된 사용자입력부(미도시)를 포함할 수 있다. 제2전자장치(320) 및 제3전자장치(330)의 구성 또한 제1전자장치(310)의 경우에 준한다.
푸시 서버(110)에 접속된 어플리케이션 서버(200) 및 전자장치(310, 320, 330)의 수는 본 도면에 도시된 내용에 한정되지 않음을 밝힌다.
이러한 구조 하에서 각 전자장치(310, 320, 330)에 제공되는 푸시 노티피케이션 서비스는 클라이언트인 각 전자장치(310, 320, 330)에 대해, 어플리케이션에 기반한 메시지를 실시간으로 전송함으로써 각 전자장치(310, 320, 330)가 수신한 메시지의 내용을 사용자에게 알리도록 하는 서비스이다.
어플리케이션 서버(200)가 제공되는 소정 어플리케이션은 각 전자장치(310, 320, 330)에 설치됨으로써 사용될 수 있다. 여기서, 어플리케이션의 종류 및 내용은 한정되지 않는다.
어플리케이션 서버(200)는 메시지와, 해당 메시지를 수신할 전자장치(310, 320, 330)의 타겟(target) 정보를 푸시 서버(110)에 전달한다. 전자장치(310, 320, 330)의 타겟 정보는 해당 전자장치(310, 320, 330)의 계정 정보이거나, 또는 해당 전자장치(310, 320, 330)의 주소 정보일 수 있다. 메시지를 전달할 전자장치(310, 320, 330)의 대상은, 해당 메시지에 관련된 어플리케이션이 설치된 전자장치(310, 320, 330)를 포함한다.
푸시 서버(110)는 해당 어플리케이션이 설치된 전자장치(310, 320, 330) 중에서 타겟에 해당하는 전자장치(310, 320, 330)에 대해 어플리케이션 서버(200)로부터 수신한 메시지를 전송한다. 전송하는 메시지는 데이터의 형태를 가지며, 전자장치(310, 320, 330)는 수신한 메시지의 내용을 영상으로 표시하거나 소리로 알리는 등의 다양한 방법으로 사용자에게 알린다. 이 때, 전자장치(310, 320, 330)는 수신한 메시지에 대응하는 어플리케이션을 메시지 수신에 따라서 자동 실행하는 등의 부가 기능을 제공할 수 있다.
여기서, 푸시 서버(110)는 통신 접속된 전자장치(310, 320, 330)와의 사이에, 상기한 메시지를 전송하기 위한 별도의 메시징 채널, 또는 푸시 채널을 가진다. 푸시 채널은 푸시 노티피케이션 서비스에 따른 메시지, 즉 푸시 메시지(push message)의 전송에만 사용되며, 푸시 채널이 구현/연결되지 않은 전자장치(310, 320, 330)에 대해서는 설사 통신 접속된 전자장치(310, 320, 330)라 하더라도 푸시 메시지를 전송하지 않는다.
예를 들면, 푸시 서버(110)에 통신 가능하게 접속된 제1전자장치(310), 제2전자장치(320) 및 제3전자장치(330) 중에서, 제1전자장치(310) 및 제2전자장치(320)와의 사이에는 푸시 채널이 구현되고, 제3전자장치(330)와의 사이에는 푸시 채널이 구현되지 않은 경우를 고려한다. 그리고, 소정 어플리케이션이 제1전자장치(310), 제2전자장치(320) 및 제3전자장치(330)에 모두 설치되어 있는 상태이다.
이러한 초기 상태에서, 어플리케이션 서버(200)가 푸시 서버(110)에 해당 어플리케이션에 대한 푸시 메시지를 전달한 경우, 푸시 서버(110)는 제1전자장치(310) 및 제2전자장치(320)에 대해서는 푸시 메시지를 전달할 수 있으나, 제3전자장치(330)에 대해서는 푸시 메시지를 전달할 수 없다.
이러한 푸시 채널은 푸시 메시지의 실시간 제공이 가능하도록 persistent TCP 연결 형식을 가진다. 만일, 푸시 서버(110)가 푸시 메시지를 제1전자장치(310)에 전송하고자 할 때에, 제1전자장치(310)의 시스템 전원이 오프되거나 또는 제1전자장치(310)의 통신 접속이 끊김으로써 푸시 메시지를 제1전자장치(310)에 바로 전송할 수 없을 수도 있다. 이 경우, 푸시 서버(110)는 푸시 메시지를 푸시 서버(110)에 임시로 저장하고 있다가, 제1전자장치(310)가 재접속되면 임시로 저장한 푸시 메시지를 제1전자장치(310)에 전송하는 store and forward 방식을 지원한다.
도 2는 푸시 노티피케이션 네트워크 구조의 시스템(1)의 일반적인 푸시 메시지 전달 체계를 나타내는 구성 블록도이다.
도 2에 도시된 바와 같이, 하나 이상의 어플리케이션 서버(200)가 푸시 서버(110)에 접속되며, 각 전자장치(310, 320, 330) 또한 푸시 서버(110)에 접속된다. 여기서, 각 전자장치(310, 320, 330)는 푸시 서버(110)와의 사이에 푸시 채널(P)이 연결됨으로써 푸시 채널(P)을 통해 푸시 서버(110)로부터 푸시 메시지를 수신할 수 있다. 즉, 푸시 서버(110)는 각 전자장치(310, 320, 330)에 대해 푸시 채널(P)을 구축한다.
그런데, 이러한 구조는 다음과 같은 사항이 문제가 될 수 있다.
우선, 각 전자장치(310, 320, 330)와 푸시 채널(P)을 유지하는 푸시 서버(110)의 네트워크 부담이 증가한다. 푸시 채널(P)은 실시간성을 보장하기 위해 persistent TCP 연결을 사용하며, 푸시 노티피케이션 서비스를 제공받는 전자장치(310, 320, 330)의 수가 증가함에 따라서 서버제어부(120)의 부하나 네트워크 폭과 같은 푸시 서버(110)의 리소스의 소요량이 커진다. 대규모 푸시 플랫폼을 운영하는 경우에는 푸시 서버(110)의 능력에 따라서 푸시 메시지의 성공률과 실시간성 등에 문제가 발생할 수 있다. 특히, 푸시 메시지의 전달이 성공되지 않은 상태에서 푸시 서버(110) 상에서 메시지가 삭제되고, 이러한 내용을 어플리케이션 서버(200)나 전자장치(310, 320, 330)가 알 수 없는 상황도 발생할 수 있다.
또한, store and forward 방식에 따른 푸시 서버(110)의 부담이 증가한다. 앞서 설명한 바와 같이 푸시 메시지를 수신할 전자장치(310, 320, 330)가 오프라인 상태라면 푸시 메시지는 일단 푸시 서버(110)에 임시 저장되는 바, 이와 같이 임시 저장된 메시지의 증가는 푸시 서버(110)의 데이터베이스 리소스의 필요량과 연관된다. 예를 들면, 대규모 푸시 플랫폼의 경우에 푸시 서버(110)에 임시 저장되는 푸시 메시지의 양이 제한될 수 있으며, 이 경우 제한을 초과한 푸시 메시지는 푸시 서버(110)에서 삭제될 수도 있다.
또한, 클라이언트인 각 전자장치(310, 320, 330)가 푸시 채널(P)을 유지함으로써 클라이언트 리소스의 효율성이 저하될 수 있다. 전자장치(310, 320, 330)가 모바일 디바이스인 경우에는 항상 배터리 관련 이슈가 관심대상이므로, 만일 푸시 채널(P)을 항상 유지하는 경우에 배터리 사용량이 문제가 될 수 있다. 이러한 푸시 채널(P)의 유지는 실제로 푸시 메시지가 전달되는지와 관계없이 지속적으로 발생하는 리소스 소모이다.
또한, 어플리케이션 기반의 서비스에 따른 중복 푸시 메시지의 발생으로 인해 네트워크 운영 효율이 저하될 수 있다. 푸시 메시지는 어플리케이션에 대응하여 생성되며, 푸시 메시지는 해당 어플리케이션을 설치한 전자장치(310, 320, 330)로 전송된다. 사용자가 복수의 전자장치(310, 320, 330)를 함께 사용함으로써 공통된 어플리케이션을 각 전자장치(310, 320, 330)에 설치하는 경우가 늘면서, 하나의 푸시 메시지가 복수의 전자장치(310, 320, 330)에 중복적으로 전달되는 경우가 늘고 있다.
또한, 푸시 서버(110)의 규격에 따른 전자장치(310, 320, 330)의 규격 제한이 문제가 될 수 있다. 푸시 서버(110)와 푸시 채널(P)을 유지할 수 있는 전자장치(310, 320, 330)만이 푸시 노티피케이션 서비스를 제공받을 수 있으므로, 인터넷 접속이 불가능하고 근거리의 홈 네트워킹만을 지원하는 가전제품의 경우, 푸시 메시지를 제공받는 것이 곤란할 수 있다.
이러한 점을 고려하여, 본 실시예에 따르면 다음과 같은 방법/구조가 제안된다.
도 3은 본 실시예에 따른 푸시 노티피케이션 네트워크 구조의 시스템(1)의 푸시 메시지 전달 체계를 나타내는 구성 블록도이다.
도 3에 도시된 바와 같이, 우선 복수의 전자장치(310, 320, 330)를 포함하는 클라이언트 그룹(G)이 설정된다. 이러한 클라이언트 그룹(G)은 푸시 서버(110)가 설정하거나 또는 각 전자장치(310, 320, 330) 중 어느 하나가 설정할 수 있으며, 그 수는 하나 이상 설정될 수 있다.
복수의 전자장치(310, 320, 330) 중에서 어느 하나는, 클라이언트 그룹(G)내의 복수의 전자장치(310, 320, 330) 중에서 기 설정된 조건에 따라서 헤더(header) 클라이언트(310)를 선택하고, 헤더 클라이언트(310) 이외의 나머지를 노드(node) 클라이언트(320, 330)로 분류한다. 여기서, 헤더 클라이언트 및 노드 클라이언트의 명칭은 상호 구분을 위해 편의상 지칭한 것이다.
푸시 서버(110)는 클라이언트 그룹(G) 내의 복수의 전자장치(310, 320, 330) 중에서 헤더 클라이언트(310)와의 사이에만 푸시 채널(P)을 유지한다. 만일 클라이언트 그룹(G) 내의 전자장치(320, 330)에 대해 전송하기 위한 푸시 메시지를 어플리케이션 서버(200)로부터 수신하면, 푸시 서버(110)는 해당 메시지를 푸시 채널(P)을 통해 헤더 클라이언트(310)로 전송한다.
헤더 클라이언트(310)는 푸시 서버(110)로부터 수신한 메시지를 클라이언트 그룹(G) 내의 해당 전자장치(320, 330)로 전송한다. 만일, 해당 전자장치(320, 330)가 오프라인 경우에, 헤더 클라이언트(310)는 푸시 메시지를 헤더 클라이언트(310)에 임시 저장한 이후, 전자장치(320, 330)가 재접속되면 전송한다.
이러한 구성에 의하여, 푸시 서버(110)는 각 전자장치(310, 320, 330)와 개별적으로 푸시 채널(P)을 유지하는 것이 아닌 클라이언트 그룹(G) 내의 헤더 클라이언트(310)와의 사이에만 푸시 채널(P)을 유지한다. 따라서, 푸시 채널(P)의 유지를 위한 부하를 줄임으로써 푸시 서버(110)의 네트워크 부담이 감소된다.
또한, 오프라인 상태인 전자장치(320, 330)에 푸시 메시지를 전달하는 경우에, 푸시 메시지를 푸시 서버(110)에 임시 저장하는 것이 아닌, 각 클라이언트 그룹(G)에서 푸시 메시지가 임시 저장되도록 한다. 즉, 분산된 store and forward 방식이 가능하므로, 푸시 서버(110)의 푸시 메시지 저장 관리의 부담을 감소시킬 수 있다.
또한, 모든 전자장치(310, 320, 330)가 푸시 채널(P)을 유지할 필요 없이 클라이언트 그룹(G) 내의 헤더 클라이언트(310)만이 푸시 채널(P)을 유지하므로, 모바일 디바이스와 같이 배터리 이슈가 문제가 되는 전자장치(310, 320, 330)의 경우에 배터리 사용성을 개선할 수 있다. 클라이언트 그룹(G) 내의 헤더 클라이언트(310) 및 노드 클라이언트(320, 330) 사이의 통신 연결성은, LAN 환경에서 푸시 메시지의 전달이 필요한 시점에만 연결을 구축하는 방식으로서 persistent TCP 연결의 로드를 발생시키지 않는다.
또한, 하나의 푸시 메시지를 개별 전자장치(310, 320, 330)에 전달하는 것이 아닌 클라이언트 그룹(G)에 전달하고, 클라이언트 그룹(G) 내에서 각 전자장치(310, 320, 330)에 전달되는 방식인 바, 중복된 푸시 메시지가 푸시 채널(P)을 통해 전달되는 것을 방지한다. 특히 클라이언트 그룹(G) 내의 푸시 메시지 전달은 사용자가 각 전자장치(310, 320, 330)를 어떻게 사용하는지에 따라서 사용자의 의도에 맞도록 전달이 제한될 수도 있다.
또한, 푸시 서버(110)에서 제한하는 푸시 채널의 프로토콜은 인터넷 상의 TCP 연결을 보장해야 하는 등의 규격 제한이 있으나, 클라이언트 그룹(G) 내의 각 전자장치(310, 320, 330)의 규격은 해당 그룹(G) 내에서 메시징을 허용하는 방식으로 다양하게 정의될 수 있다.
이하, 사용자가 상기한 구조에 따라서 실제로 시스템(1)을 사용하는 간단한 예시에 관해 설명한다.
사용자의 생활 공간이 사무실과 집으로 구분되고, 사용자가 항상 모바일 폰과 태블릿을 휴대하며, 사무실에 노트북 컴퓨터와 인터넷 전화기가 있고, 집에 데스크탑 컴퓨터와 TV, 냉장고가 있는 경우를 고려한다. 이상의 모든 전자장치에는 푸시 노티피케이션 서비스를 제공하는 어플리케이션이 설치되어 있고, 사용자는 각 전자장치에 어플리케이션을 설치하는 과정에서 푸시 메시지를 수신할 것을 설정하였다.
이러한 사용 환경에서, 일반적인 도 2의 경우라면 모든 전자장치가 푸시 서버(110)와 푸시 채널(P)을 통한 계속적인 연결상태를 유지하여야 한다. 그러나, 본 실시예에 따르면 각 전자장치들이 클라이언트 그룹(G) 내에서 동적으로 역할이 분담된다.
만일, 사용자가 회사에 있을 때에는 회사의 노트북 컴퓨터가 클라이언트 그룹(G)의 헤더 클라이언트(310)로 설정된다. 노트북 컴퓨터는 푸시 서버(110)로부터 수신하는 푸시 메시지를 확인하여 모바일 폰, 태블릿에 전송한다.
사용자가 이동 중에는 휴대중인 태블릿이 클라이언트 그룹(G)의 헤더 클라이언트(310)로 설정되며, 태블릿이 푸시 메시지를 확인한다.
사용자가 집에 있을 때에는 냉장고가 헤더 클라이언트(310)로 설정될 수 있다. 만일 사용자가 TV를 시청 중이라면 TV가 헤더 클라이언트(310)로 설정되며, TV가 푸시 메시지를 확인한다.
이와 같이, 본 실시예에 따르면, 사용자는 편리한 푸시 노티피케이션 서비스를 제공받을 수 있다.
이하, 본 실시예에 따라서 시스템(1)이 푸시 노티피케이션 네트워크 구조를 형성하고 서비스하는 과정에 관해 도 4 및 도 5를 참조하여 설명한다.
도 4는 시스템(1)의 세션 구축 단계에서 신호 전송 관계를 나타내는 예시도이며, 도 5는 시스템(1)의 메시징 단계에서 신호 전송 관계를 나타내는 예시도이다.
시스템(1)이 클라이언트 그룹 내의 헤더 클라이언트 및 노드 클라이언트를 선택 및 분류하고 푸시 채널을 정비하는 단계를 세션 구축(session establishment) 단계라고 하며, 세션 구축 단계가 완료된 상태에서 푸시 노티피케이션 서비스를 제공하는 단계를 메시징 단계라고 지칭한다.
본 실시예에서는 클라이언트 그룹 내에 제1전자장치(310) 및 제2전자장치(320)의 두 개의 클라이언트만 있는 경우에 관해 나타내고 있으나, 셋 이상의 클라이언트의 경우에도 이하 설명할 실시예를 응용할 수 있다.
도 4에 도시된 바와 같이, 세션 구축 단계는 다음과 같다.
어플리케이션 서버(200)는 AID를 푸시 서버(110)에 전송함으로써, 푸시 노티피케이션 서비스를 제공할 대상이 되는 어플리케이션을 푸시 서버(110)에 등록한다(410).
여기서, 시스템(1) 내에서는 다음과 같은 ID 체계를 사용한다.
AID(application ID)는 어플리케이션을 구분하는 ID이다.
DID(device ID)는 각 전자장치(310, 320, 330)를 구분하는 ID이다.
CID(cluster ID)는 푸시 서버(110)가 각 클라이언트 그룹을 구분하는 ID이다.
RID(role ID)는 클라이언트 그룹 내에서 헤더 클라이언트 및 노드 클라이언트를 구분하는 구분자이다.
그 외에, 각 전자장치(310, 320, 330)가 푸시 서버(110)와 통신을 위해 필요한 인증서나, 어플리케이션 서버(200)가 푸시 서버(110)와의 통신을 위해 필요한 인증서가 사용될 수 있다.
제1전자장치(310)는 자신의 DID를 푸시 서버(110)에 등록하고 푸시 채널의 구축을 요청한다(420). 푸시 서버(110)는 제1전자장치(310)로부터 수신한 DID를 제1전자장치(310)를 구분하기 위한 고유 ID인 DID1로 확인하고(430), 제1전자장치(310)와의 사이에 푸시 채널을 구축한다(440). 그리고, 제1전자장치(310)는 DID1을 어플리케이션 서버(200)에 전송함으로써(450), 어플리케이션 서버(200)가 제1전자장치(310)를 구분할 수 있도록 한다.
이와 유사한 원리로, 제2전자장치(320)는 자신의 DID를 푸시 서버에 등록하고 푸시 채널의 구축을 요청한다(460). 푸시 서버(110)는 제2전자장치(320)로부터 수신한 DID를 제2전자장치(320)를 구분하기 위한 고유 ID인 DID2로 확인하고(470), 제2전자장치(320)와의 사이에 푸시 채널을 구축한다(480). 그리고, 제2전자장치(320)는 DID2를 어플리케이션 서버(200)에 전송한다(490).
이와 같이 클라이언트 그룹 내의 각 전자장치(310, 320)에 대한 푸시 채널 구축이 완료하면, 기 설정된 조건에 따라서 클라이언트 그룹 내의 헤더 클라이언트가 선택된다(500). 클라이언트 그룹 내에서 헤더 클라이언트를 선택하는 자세한 방법에 관해서는 후술한다.
본 예시에서는 제1전자장치(310)가 헤더 클라이언트로 선택된 경우에 관해 설명한다.
제1전자장치(310)는 클라이언트 그룹 내의 각 전자장치(310, 320)의 RID를 푸시 서버(110)에 전송한다(510).
푸시 서버(110)는 제1전자장치(310) 및 제2전자장치(320) 각각의 RID를 통해 제1전자장치(310)가 헤더 클라이언트이고 제2전자장치(320)가 노드 클라이언트라는 것을 판단할 수 있으며, 이러한 판단 결과를 저장한다.
푸시 서버(110)는 제1전자장치(310)에 해당 클라이언트 그룹을 구분하기 위한 CID를 제1전자장치(310)에 전송한다(520). 제1전자장치(310)는 CID를 다시 제2전자장치(320)에 전송한다(530). 이로써 클라이언트 그룹 내의 전자장치(310, 320)는 동일 클라이언트 그룹임을 알 수 있는 CID를 각기 저장한다.
푸시 서버(110)는 제2전자장치(320)와의 푸시 채널을 차단한다(540). 이로써, 푸시 서버(110)는 헤더 클라이언트인 제1전자장치(310)와의 푸시 채널만을 유지한다.
도 5에 도시된 바와 같이, 메시징 단계는 다음과 같다.
어플리케이션 서버(200)는 특정 어플리케이션에 대한 메시지를 제2전자장치(320)에 전송하고자 하는 경우에, 해당 어플리케이션의 AID, 제2전자장치(320)를 구분하기 위한 DID2, 메시지 내용을 포함하는 데이터인 msg를 푸시 서버(110)에 전송한다(100).
푸시 서버(110)는 DID2에 대응하는 CID를 검색한다(610). 푸시 서버(110)는 검색된 CID의 푸시 채널을 통해 CID, DID2 및 msg를 전달한다. 이와 같이 전달된 정보들은 CID에 대응하는 클라이언트 그룹의 헤더 클라이언트인 제1전자장치(310)에 전달된다.
제1전자장치(310)는 DID2에 대응하는 제2전자장치(320)에 msg를 전달한다(630).
이러한 과정에 따라서, 푸시 노티피케이션 서비스가 제공된다.
이하, 클라이언트 그룹 내에서 헤더 클라이언트를 선택하는 방법에 관해 설명한다.
어느 하나의 클라이언트 그룹 내에서 헤더 클라이언트의 선택이 수행되는 시점은, 클라이언트 그룹 내에서 클라이언트의 변화가 발생한 경우이다. 예를 들면, 클라이언트 그룹 내에서 새로운 클라이언트가 추가되거나, 헤더 클라이언트가 오프라인되거나 하는 경우가 이에 해당한다. 클라이언트 그룹 내의 어느 한 클라이언트가 이러한 변화를 감지하면, 헤더 클라이언트 선택 프로세스를 개시할 수 있다.
헤더 클라이언트 선택을 실행하는 주체는 클라이언트 그룹 내의 어떠한 클라이언트도 가능하다. 예를 들면, 새로운 클라이언트가 추가된 상태라면 헤더 클라이언트가 이러한 프로세스를 실행할 수 있으며, 헤더 클라이언트가 오프라인된 상태라면 노드 클라이언트 중에서 어느 하나가 이러한 프로세스를 실행할 수 있다.
도 6 및 도 7은 클라이언트 그룹 내에서 헤더 클라이언트를 선택하는 과정을 나타내는 제어 흐름도이다.
도 6에 도시된 바와 같이, 헤더 클라이언트의 선택 프로세스가 개시되면, 클라이언트 그룹 내의 어느 하나의 클라이언트(이하 '제1클라이언트'로 지칭)는 헤더 클라이언트 선택 프로세스를 알리는 메시지를 타 클라이언트들에게 브로드캐스팅한다(700). 그리고 제1클라이언트는 타 클라이언트로부터 DID, CID, RID, 네트워크 유효성, 배터리 잔량 정보 등과 같은 고유 정보를 수집한다(710).
제1클라이언트는 수집한 고유 정보 및 기 설정된 조건에 기초하여, 클라이언트 그룹 내에서 헤더 클라이언트를 선택한다(720). 물론, 제1클라이언트는 선택 조건에 부합하는 경우에 자기 자신을 헤더 클라이언트로 선택할 수도 있다.
헤더 클라이언트의 선택 조건은 다양하게 적용될 수 있다. 예를 들면, 제1클라이언트는 사용자입력부(미도시)를 통해 사용자로부터 선택된 클라이언트를 헤더 클라이언트로 선택할 수 있다. 또는, 제1클라이언트는 각 클라이언트로부터 수집한 배터리 잔량 정보에 기초하여, 클라이언트 그룹 내에서 배터리 잔량이 가장 많은 어느 하나를 헤더 클라이언트로 선택할 수도 있다.
또는, 제1클라이언트는 각 클라이언트의 네트워크 유효성, 예를 들면 네트워크의 사용빈도 또는 트래픽 레벨 정도를 판단하고, 클라이언트 그룹 내에서 네트워크의 사용 빈도가 가장 높은 어느 하나, 또는 가장 낮은 어느 하나를 헤더 클라이언트로 선택할 수도 있다.
또는, 제1클라이언트는 각 클라이언트가 헤더 클라이언트로 이전에 선택된 이력이 있는지 확인하고, 헤더 클라이언트로 선택된 이력이 있는 어느 하나를 헤더 클라이언트로 선택할 수도 있다.
제1클라이언트는 어느 하나의 클라이언트를 헤더 클라이언트로 선택하면, 각 클라이언트에 대해 어떠한 클라이언트를 헤더 클라이언트로 선택하였는지를 통지한다(730). 제1클라이언트는 각 클라이언트로부터 수집한 정보를 헤더 클라이언트에 전송한다(740).
도 7에 도시된 바와 같이, 클라이언트 그룹 내의 각 클라이언트들은 제1클라이언트의 통지에 따라서 RID가 수정된다(800).
각 클라이언트는 수정된 RID가 헤더 클라이언트를 나타내는지 판단한다(810).
수정된 RID가 헤더 클라이언트를 나타내는 경우, 해당 클라이언트는 푸시 채널이 연결되어 있는지 판단한다(820). 푸시 채널이 연결되어 있다면, 해당 클라이언트는 푸시 채널을 통해 각 클라이언트의 RID를 푸시 서버에 전송하고(830), 푸시 서버로부터 수신한 CID를 브로드캐스팅한다(840). 푸시 채널이 연결되어 있지 않다면, 해당 클라이언트는 푸시 채널을 구축하고, 구축된 푸시 채널을 통해 각 클라이언트의 RID를 푸시 서버에 전송한다.
한편, 수정된 RID가 노드 클라이언트를 나타내는 경우, 해당 클라이언트는 푸시 채널이 연결되어 있는지 판단한다(860). 푸시 채널이 연결되어 있다면, 해당 클라이언트는 푸시 서버에 요청하여 푸시 채널이 차단되도록 한다(870). 푸시 채널이 연결되어 있지 않다면, 해당 클라이언트는 특정한 동작을 수행하지 않는다.
이러한 과정에 따라서, 클라이언트 그룹 내에서 헤더 클라이언트를 선택할 수 있다.
상기한 실시예는 예시적인 것에 불과한 것으로, 당해 기술 분야의 통상의 지식을 가진 자라면 다양한 변형 및 균등한 타 실시예가 가능하다. 따라서, 본 발명의 진정한 기술적 보호범위는 하기의 특허청구범위에 기재된 발명의 기술적 사상에 의해 정해져야 할 것이다.
1 : 시스템
100 : 푸시 서버
110 : 서버통신부
120 : 서버제어부
200 : 어플리케이션 서버
310, 320, 330 : 전자장치
311 : 클라이언트 통신부
312 : 클라이언트 제어부

Claims (22)

  1. 전자장치에 있어서,
    메모리;
    메시징 채널이 연결된 서버와 통신하며, 상기 전자장치와 함께 클라이언트 그룹을 형성하는 하나 이상의 외부장치와 통신하는 통신부; 및
    상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 중에서 헤더(header) 클라이언트로 선택된 경우, 상기 서버로부터 나머지의 노드(node) 클라이언트에 대한 메시지를 상기 메시징 채널을 통해 수신하면, 상기 서버로부터의 상기 메시지를 상기 노드 클라이언트에 전송하도록 상기 통신부를 제어하는 제어부를 포함하고,
    상기 제어부는, 상기 노드 클라이언트와의 통신이 불가능한 경우 상기 서버로부터의 상기 메시지를 상기 메모리에 저장하고, 상기 노드 클라이언트와 통신이 가능한 경우 상기 저장된 메시지를 상기 노드 클라이언트로 전송하는 것을 특징으로 하는 전자장치.
  2. 제1항에 있어서,
    사용자입력부를 더 포함하며,
    상기 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 중에서 상기 사용자입력부에 의해 선택된 어느 하나를 상기 헤더 클라이언트로 선택하는 것을 특징으로 하는 전자장치.
  3. 제1항에 있어서,
    상기 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 각각으로부터 배터리 잔량 정보를 수집하며, 상기 클라이언트 그룹 내에서 상기 배터리 잔량이 가장 많은 어느 하나를 상기 헤더 클라이언트로 선택하는 것을 특징으로 하는 전자장치.
  4. 제1항에 있어서,
    상기 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 각각의 네트워크 유효성을 판단하고, 상기 클라이언트 그룹 내에서 네트워크의 사용빈도에 따라서 어느 하나를 상기 헤더 클라이언트로 선택하는 것을 특징으로 하는 전자장치.
  5. 제1항에 있어서,
    상기 제어부는, 상기 클라이언트 그룹 내의 상기 전자장치 및 상기 하나 이상의 외부장치 중에서 상기 헤더 클라이언트로 이전에 선택된 이력이 있는 어느 하나를 상기 헤더 클라이언트로 선택하는 것을 특징으로 하는 전자장치.
  6. 제1항에 있어서,
    상기 서버로부터의 상기 메시지는, 소정의 어플리케이션을 제공하는 어플리케이션 서버로부터 상기 서버에 전달되며,
    상기 전자장치 또는 상기 하나 이상의 외부장치는, 상기 어플리케이션이 설치된 경우에 상기 메시지를 수신 가능한 것을 특징으로 하는 전자장치.
  7. 제1항에 있어서,
    상기 제어부는, 상기 서버에 대해 상기 메시징 채널을 연결한 상태에서 상기 헤더 클라이언트로 선택되면, 상기 메시징 채널 연결을 유지하고, 상기 노드 클라이언트로 선택되면, 상기 메시징 채널이 차단되도록 상기 통신부를 제어하는 것을 특징으로 하는 전자장치.
  8. 삭제
  9. 제1항에 있어서,
    상기 제어부는, 상기 클라이언트 그룹 내에서 상기 서버에 대한 기 존재하는 상기 헤더 클라이언트의 통신 접속이 끊어지거나 상기 클라이언트 그룹 내에서 새로운 상기 외부장치가 통신 접속되는 경우에 새로운 상기 헤더 클라이언트의 선택을 수행하는 것을 특징으로 하는 전자장치.
  10. 서버에 있어서,
    클라이언트와 통신하는 서버통신부; 및
    둘 이상의 상기 클라이언트를 포함하는 클라이언트 그룹 내에서 선택된 헤더(header) 클라이언트와 메시징 채널을 통해 통신하도록 상기 서버통신부를 제어하고, 나머지의 노드(node) 클라이언트에 대한 메시지를 상기 메시징 채널을 통해 상기 헤더 클라이언트로 전송하도록 상기 서버통신부를 제어하고, 상기 헤더 클라이언트가 상기 메시지를 상기 노드 클라이언트에 전송하도록 제어하는 서버제어부를 포함하며,
    상기 서버제어부는, 상기 헤더 클라이언트가 상기 노드 클라이언트와의 통신이 불가능한 경우 상기 메시지를 저장하고, 상기 노드 클라이언트와 통신이 가능한 경우 상기 저장된 메시지를 상기 노드 클라이언트로 전송하도록 제어하는 것을 특징으로 하는 서버.
  11. 제10항에 있어서,
    상기 서버제어부는, 상기 클라이언트 그룹 내의 어느 하나의 상기 클라이언트로부터 상기 헤더 클라이언트의 선택에 관한 정보를 수신하면, 상기 정보에 기초하여 상기 클라이언트 그룹 내에서 상기 헤더 클라이언트를 판단하는 것을 특징으로 하는 서버.
  12. 제11항에 있어서,
    상기 서버제어부는, 상기 클라이언트 그룹 내의 각각의 상기 클라이언트에 대한 상기 메시징 채널이 연결된 상태에서 상기 헤더 클라이언트가 판별되면, 상기 헤더 클라이언트와의 상기 메시징 채널 연결을 유지하고, 상기 노드 클라이언트와의 상기 메시징 채널을 차단하는 것을 특징으로 하는 서버.
  13. 제10항에 있어서,
    상기 서버통신부는, 소정의 어플리케이션을 제공하는 어플리케이션 서버에 접속되며,
    상기 서버제어부는, 상기 어플리케이션 서버로부터 수신한 상기 메시지를 상기 헤더 클라이언트에 전송하는 것을 특징으로 하는 서버.
  14. 시스템의 제어방법에 있어서,
    둘 이상의 클라이언트들을 포함하는 클라이언트 그룹을 설정하는 단계;
    상기 클라이언트 그룹 내의 상기 둘 이상의 클라이언트들 중에서 헤더 클라이언트를 선택하는 단계;
    상기 헤더 클라이언트와 메시징 채널을 통해 통신하는 서버가 나머지의 노드 클라이언트에 대해 전송할 메시지가 있는 경우에 상기 서버가 상기 메시징 채널을 통해 상기 메시지를 상기 헤더 클라이언트에 전송하는 단계; 및
    상기 헤더 클라이언트가 상기 서버로부터 수신한 상기 메시지를 상기 노드 클라이언트에 전송하는 단계를 포함하며,
    상기 노드 클라이언트에 전송하는 단계는, 상기 헤더 클라이언트가 상기 노드 클라이언트와의 통신이 불가능한 경우 상기 메시지를 저장하고, 상기 노드 클라이언트와 통신이 가능한 경우 상기 저장된 메시지를 상기 노드 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 하는 시스템의 제어방법.
  15. 제14항에 있어서,
    상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내의 상기 둘 이상의 클라이언트들 중에서 사용자에 의해 선택되는 어느 하나를 상기 헤더 클라이언트로 선택하는 단계를 포함하는 것을 특징으로 하는 시스템의 제어방법.
  16. 제14항에 있어서,
    상기 헤더 클라이언트를 선택하는 단계는,
    상기 클라이언트 그룹 내의 상기 둘 이상의 클라이언트들 각각으로부터 배터리 잔량 정보를 수집하는 단계; 및
    상기 클라이언트 그룹 내에서 상기 배터리 잔량이 가장 많은 어느 하나를 상기 헤더 클라이언트로 선택하는 단계를 포함하는 것을 특징으로 하는 시스템의 제어방법.
  17. 제14항에 있어서,
    상기 헤더 클라이언트를 선택하는 단계는,
    상기 클라이언트 그룹 내의 상기 둘 이상의 클라이언트들 각각의 네트워크 유효성을 판단하는 단계; 및
    상기 클라이언트 그룹 내에서 네트워크의 사용빈도에 따라서 어느 하나를 상기 헤더 클라이언트로 선택하는 단계를 포함하는 것을 특징으로 하는 시스템의 제어방법.
  18. 제14항에 있어서,
    상기 헤더 클라이언트를 선택하는 단계는,
    상기 클라이언트 그룹 내의 상기 둘 이상의 클라이언트들에 대하여 상기 헤더 클라이언트로 선택된 이력이 있는지 판단하는 단계; 및
    상기 클라이언트 그룹 내에서 상기 헤더 클라이언트로 이전에 선택된 이력이 있는 어느 하나를 상기 헤더 클라이언트로 선택하는 단계를 포함하는 것을 특징으로 하는 시스템의 제어방법.
  19. 제14항에 있어서,
    상기 서버로부터의 상기 메시지는, 소정의 어플리케이션을 제공하는 어플리케이션 서버로부터 상기 서버에 전달되며,
    상기 둘 이상의 클라이언트들은, 상기 어플리케이션이 설치된 경우에 상기 메시지를 수신 가능한 것을 특징으로 하는 시스템의 제어방법.
  20. 제14항에 있어서,
    상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내의 상기 둘 이상의 클라이언트들 각각이 상기 서버에 대해 상기 메시징 채널을 연결한 상태에서 상기 헤더 클라이언트가 선택되면, 상기 헤더 클라이언트의 상기 메시징 채널 연결을 유지하고, 상기 노드 클라이언트의 상기 메시징 채널을 차단하는 단계를 포함하는 것을 특징으로 하는 시스템의 제어방법.
  21. 삭제
  22. 제14항에 있어서,
    상기 헤더 클라이언트를 선택하는 단계는, 상기 클라이언트 그룹 내에서 상기 서버에 대한 기 존재하는 상기 헤더 클라이언트의 통신 접속이 끊어지거나 상기 클라이언트 그룹 내에서 새로운 클라이언트가 통신 접속되는 경우에 새로운 상기 헤더 클라이언트의 선택을 수행하는 단계를 포함하는 것을 특징으로 하는 시스템의 제어방법.
KR1020120111544A 2012-10-08 2012-10-08 전자장치, 서버 및 시스템의 제어방법 KR102001103B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020120111544A KR102001103B1 (ko) 2012-10-08 2012-10-08 전자장치, 서버 및 시스템의 제어방법
US13/919,150 US9992140B2 (en) 2012-10-08 2013-06-17 Electronic apparatus, server, and control method of system
PCT/KR2013/005754 WO2014058129A1 (en) 2012-10-08 2013-06-28 Electronic apparatus, server, and control method of system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120111544A KR102001103B1 (ko) 2012-10-08 2012-10-08 전자장치, 서버 및 시스템의 제어방법

Publications (2)

Publication Number Publication Date
KR20140045242A KR20140045242A (ko) 2014-04-16
KR102001103B1 true KR102001103B1 (ko) 2019-10-01

Family

ID=50433634

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120111544A KR102001103B1 (ko) 2012-10-08 2012-10-08 전자장치, 서버 및 시스템의 제어방법

Country Status (3)

Country Link
US (1) US9992140B2 (ko)
KR (1) KR102001103B1 (ko)
WO (1) WO2014058129A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9143550B2 (en) * 2012-12-01 2015-09-22 Qualcomm Innovation Center, Inc. Graceful degradation of websocket connections to nonpersistent HTTP-based communications
US9467483B2 (en) * 2012-12-20 2016-10-11 Sap Se ABAP channels for event signaling
CN104468649B (zh) * 2013-09-16 2018-06-05 北大方正集团有限公司 服务器、终端、数据推送***和数据推送方法
KR20150099236A (ko) * 2014-02-21 2015-08-31 삼성전자주식회사 위치 기반의 푸시 서비스를 제공하기 위한 장치 및 방법
CN105227432A (zh) * 2014-06-30 2016-01-06 亚历克斯·漆 信息推送方法、装置和***
US20160150027A1 (en) * 2014-11-25 2016-05-26 Futurewei Technologies, Inc. Method Of Handling Notification Channel Disconnection

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195019A1 (en) * 2002-04-16 2003-10-16 Litwin Louis Robert Mechanism for a wireless device to relinquish its network master status based on its power reserve
US20100112536A1 (en) * 2007-04-20 2010-05-06 Koninklijke Philips Electronics N.V. Group coaching system and method
US20110251922A1 (en) * 2010-04-09 2011-10-13 Payasone Llc Multi-party payment object oriented system and method
US20120066067A1 (en) * 2009-12-22 2012-03-15 Waldeck Technology, Llc Fragmented advertisements for co-located social groups
US20120143978A1 (en) * 2010-12-02 2012-06-07 Microsoft Corporation Enabling plural computing devices to communicate using a master account
US20120151006A1 (en) * 2010-12-13 2012-06-14 Motorola Mobility, Inc. Content sharing between a universal plug and play device and a wide area network device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020129095A1 (en) * 2000-12-29 2002-09-12 Hatalkar Atul N. Broadcast communication system with dynamic client-group memberships
US7548945B2 (en) 2005-04-13 2009-06-16 Nokia Corporation System, network device, method, and computer program product for active load balancing using clustered nodes as authoritative domain name servers
KR100953507B1 (ko) 2007-01-08 2010-04-20 (주)해든브릿지 분산 구조의 미디어 서버를 이용한 그룹통신 시스템 및 그방법
US9544180B2 (en) * 2007-08-31 2017-01-10 Qualcomm Incorporated Techniques for group messaging on a mobile computing device
TWI395504B (zh) 2008-06-18 2013-05-01 Quanta Comp Inc 建立適應性行動群組網路之方法
US8260873B1 (en) * 2008-10-22 2012-09-04 Qurio Holdings, Inc. Method and system for grouping user devices based on dual proximity
JP2010178193A (ja) 2009-01-30 2010-08-12 Toshiba Corp 交換サーバと通信デバイス
US8064896B2 (en) 2009-03-09 2011-11-22 Apple Inc. Push notification service
CN102647667B (zh) * 2011-02-21 2014-10-08 华为技术有限公司 群组的管理方法及push服务器
US20120271902A1 (en) * 2011-04-20 2012-10-25 Atheros Communications, Inc. Selecting forwarding devices in a wireless communication network
US9185152B2 (en) * 2011-08-25 2015-11-10 Ustream, Inc. Bidirectional communication on live multimedia broadcasts
US20140007213A1 (en) * 2012-06-29 2014-01-02 Wepay, Inc. Systems and methods for push notification based application authentication and authorization

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030195019A1 (en) * 2002-04-16 2003-10-16 Litwin Louis Robert Mechanism for a wireless device to relinquish its network master status based on its power reserve
US20100112536A1 (en) * 2007-04-20 2010-05-06 Koninklijke Philips Electronics N.V. Group coaching system and method
US20120066067A1 (en) * 2009-12-22 2012-03-15 Waldeck Technology, Llc Fragmented advertisements for co-located social groups
US20110251922A1 (en) * 2010-04-09 2011-10-13 Payasone Llc Multi-party payment object oriented system and method
US20120143978A1 (en) * 2010-12-02 2012-06-07 Microsoft Corporation Enabling plural computing devices to communicate using a master account
US20120151006A1 (en) * 2010-12-13 2012-06-14 Motorola Mobility, Inc. Content sharing between a universal plug and play device and a wide area network device

Also Published As

Publication number Publication date
US9992140B2 (en) 2018-06-05
KR20140045242A (ko) 2014-04-16
WO2014058129A1 (en) 2014-04-17
US20140101270A1 (en) 2014-04-10

Similar Documents

Publication Publication Date Title
KR102001103B1 (ko) 전자장치, 서버 및 시스템의 제어방법
CN107645529B (zh) 心跳包发送方法及装置
JP6378057B2 (ja) 接続制御装置、接続制御方法、接続制御システムおよびコンピュータプログラム
CN106358245B (zh) 移动边缘计算应用负荷分担的方法和控制器
JP6976410B2 (ja) 生中継チャンネルにおける通信方法、装置及びシステム
CN101540775B (zh) 内容分发方法、装置与内容分发网络***
CN101212444B (zh) 管理会话的方法以及无线usb主机和装置
KR101165746B1 (ko) 푸시 메시지 서비스 시스템 및 방법
US20120331156A1 (en) Wireless control system, methods and apparatus
CN110266810B (zh) 基于mqtt协议的消息接收方法、设备及存储介质
CN103312605A (zh) 一种网关设备身份设置的方法及管理网关设备
KR101602760B1 (ko) p2p 연결을 이용한 클라우드 서비스 트래픽의 절감 방법 및 그 장치
US9807158B2 (en) Method and system for optimizing CPNS enabler
CN1661976A (zh) 家庭网络***和控制家庭网络***的方法
CN102377686A (zh) 一种消息订阅***、消息订阅方法及装置
US10581697B2 (en) SDN controlled PoE management system
JP2015534336A (ja) 情報の処理方法、優先度情報の送信方法及び装置
CN106302647B (zh) 消息分发方法及服务器
CN103312593B (zh) 一种消息分发***及方法
CN105101456A (zh) 一种用于物联网设备触发的方法、设备与***
CN101808119A (zh) 一种多存储阵列负载均衡的方法和设备
CN105262836A (zh) 服务器推送信息的方法及客户端接收推送信息的方法
CN105072145A (zh) 一种物联网的通信方法及***
CN108833588B (zh) 会话处理方法及装置
WO2014015743A1 (zh) 下载应用程序的方法、用户设备和应用服务器

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant