KR102091676B1 - 메시지 푸시 서비스 제공 시스템과 방법 - Google Patents

메시지 푸시 서비스 제공 시스템과 방법 Download PDF

Info

Publication number
KR102091676B1
KR102091676B1 KR1020180084459A KR20180084459A KR102091676B1 KR 102091676 B1 KR102091676 B1 KR 102091676B1 KR 1020180084459 A KR1020180084459 A KR 1020180084459A KR 20180084459 A KR20180084459 A KR 20180084459A KR 102091676 B1 KR102091676 B1 KR 102091676B1
Authority
KR
South Korea
Prior art keywords
server
message
data
application
detection data
Prior art date
Application number
KR1020180084459A
Other languages
English (en)
Other versions
KR20200009721A (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 KR1020180084459A priority Critical patent/KR102091676B1/ko
Publication of KR20200009721A publication Critical patent/KR20200009721A/ko
Application granted granted Critical
Publication of KR102091676B1 publication Critical patent/KR102091676B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • H04L67/26
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/42
    • 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/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • Cardiology (AREA)
  • Telephonic Communication Services (AREA)

Abstract

메시지 푸시 서비스 제공 방법은 제1서버가 허브로부터 전송된 감지 데이터를 수신하는 단계와, 상기 제1서버가 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하는 단계와, 상기 애플리케이션이 상기 로그인 상태일 때 상기 제1서버가 상기 감지 데이터의 처리 순서를 판단하는 단계와, 상기 처리 순서의 판단 결과에 따라 상기 제1서버가 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고 상기 제1메시지를 제2서버로 전송하는 단계와, 상기 제1메시지를 수신한 상기 제2서버가 상기 애플리케이션의 작동 모드를 판단하는 단계와, 상기 작동 모드의 판단 결과와 상기 지시 데이터에 기초하여 상기 제2서버가 상기 제1메시지에 포함된 상기 감지 데이터를 포함하는 제2메시지를 생성하는 단계와, 상기 제2서버가 상기 제2메시지를 상기 모바일 장치로 푸시하는 단계를 포함한다.

Description

메시지 푸시 서비스 제공 시스템과 방법{SYSTEM AND METHOD FOR PROVIDING MESSAGE PUSH SERVICE}
본 발명의 개념에 따른 실시 예는 메시지 푸시 서비스에 관한 것으로, 특히 제1통신 프로토콜을 사용하여 IoT 장치의 정보를 수집하는 제1서버와, 수집된 정보를 제2통신 프로토콜을 사용하여 애플리케이션으로 푸시하는 메시지 푸시 서비스 제공 시스템과 방법에 관한 제공하는 것이다.
MQTT(Message Queue Telemetry Transport) 프로토콜은 퍼블리시(publish)와 섭스크라이브(subscribe) 모델을 사용하고 있다.
IoT 장치로부터 MQTT 브로커로 퍼블리시되는 메시지를 수신하기 위해 애플리케이션은 섭스크라이브하고 있어야 하고, 킵 얼라이브(keep alive) 상태를 유지해야 한다. MQTT 브로커는 클라이언트로부터 전송된 메시지에 대해 섭스크라이브하고 있으며, 상기 메시지를 킵 얼라이브 상태의 애플리케이션으로 전송한다.
애플리케이션이 킵 얼라이브 상태를 유지하기 위해, 상기 애플리케이션은 MQTT 브로커로 주기적으로 핑(ping)을 전송해야 한다. 따라서, 애플리케이션이 지소적으로 킵 얼라이브 상태를 유지해야 하므로, 상기 애플리케이션이 설치된 모바일 장치의 배터리는 소모된다.
도즈 모드(doze mode)는 안드로이드 OS의 6.0 이상에서 적용되다. 상기 도즈 모드에서 애플리케이션은 백드라운드 동작을 멈추고 네크워크를 액세스하는 작동은 정지된다.
PCT 국제공개공보: WO 2017/072510 (2017.05.04.공개)
본 발명이 이루고자 하는 기술적인 과제는 특정 메시지가 모바일 장치로 긴급하게 전송될 필요가 있는 메시지인지를 판단하고, 상기 특정 메시지가 상기 모바일 장치로 긴급하게 전송될 필요가 있는 메시지일 때 상기 모바일 장치가 절전 모드(예컨대, 도즈 모드)에서 작동할지라도 상기 메시지를 지연 없이 또는 긴급하게 상기 모바일 장치로 전송(또는 푸시)하기 위해 상기 모바일 장치의 상기 절전 모드를 강제로 해제할 수 있는 방법과 상기 방법을 수행할 수 있는 시스템을 제공하는 것이다.
본 발명의 실시 예에 따른 메시지 푸시 서비스 제공 방법은 제1서버가 허브로부터 전송된 감지 데이터를 수신하는 단계와, 상기 제1서버가 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하는 단계와, 상기 애플리케이션이 상기 로그인 상태일 때 상기 제1서버가 상기 감지 데이터의 처리 순서를 판단하는 단계와, 상기 처리 순서의 판단 결과에 따라 상기 제1서버가 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고 상기 제1메시지를 제2서버로 전송하는 단계와, 상기 제1메시지를 수신한 상기 제2서버가 상기 애플리케이션의 작동 모드를 판단하는 단계와, 상기 작동 모드의 판단 결과와 상기 지시 데이터에 기초하여 상기 제2서버가 상기 제1메시지에 포함된 상기 감지 데이터를 포함하는 제2메시지를 생성하는 단계와, 상기 제2서버가 상기 제2메시지를 상기 모바일 장치로 푸시하는 단계를 포함한다.
본 발명의 실시 예에 따른 메시지 푸시 서비스 제공 시스템은 허브와 통신하는 제1서버와, 상기 제1서버와 통신하고 모바일 장치로 제2메시지를 푸시하는 제2서버를 포함한다. 상기 제1서버는 상기 허브로부터 전송된 감지 데이터를 수신하고, 상기 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하고, 상기 애플리케이션이 상기 로그인 상태일 때 상기 감지 데이터의 처리 순서를 판단하고, 상기 처리 순서의 판단 결과에 따라 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고, 상기 제1메시지를 상기 제2서버로 전송한다. 상기 제2서버는 상기 애플리케이션의 작동 모드를 판단하고, 상기 작동 모드의 판단 결과와 상기 지시 데이터에 기초하여 상기 감지 데이터를 포함하는 상기 제2메시지를 생성하고, 상기 제2메시지를 상기 모바일 장치로 푸시한다.PING
본 발명의 실시 예에 따른 메시지 푸시 서비스 제공 방법과 메시지 푸시 서비스 제공 시스템은, 모바일 장치가 절전 모드(예컨대, 도즈 모드)에서 작동할 때라도 메시지를 지연 없이 또는 긴급하게 전송(또는 푸시)하기 위해 상기 모바일 장치의 상기 절전 모드를 강제로 해제할 수 있는 효과가 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 상세한 설명이 제공된다.
도 1은 본 발명의 실시 예에 따른 메시지 푸시 서비스 제공 시스템의 블록도를 나타낸다.
도 2는 도 1에 도시된 제1서버의 블록도를 나타낸다.
도 3은 본 발명의 실시 예에 따른 메시지 푸시 서비스 제공 시스템에 의해 제공되는 메시지 푸시 서비스 제공 방법을 설명하는 플로우차트이다.
본 명세서에서 애플리케이션(application)은 애플리케이션 프로그램 또는 모바일 애플리케이션 프로그램(간단히, 모바일 앱(mobile app))을 의미하고, 모바일 장치(예컨대, 스마트폰)에 상기 애플리케이션이 설치되어 있을 때, 상기 모바일 장치의 사용자는 상기 애플리케이션에 로그인하여 IoT 장치(120)에 각 센서(110-1과 110-2)를 등록하고, 상기 애플리케이션을 이용하여 각 센서(110-1과 110-2)의 작동을 제어할 수 있다.
도 1은 본 발명의 실시 예에 따른 메시지 푸시 서비스 제공 시스템의 블록도를 나타낸다.
도 1을 참조하면, 메시지 푸시 서비스 제공 시스템(100)은 복수 개의 센서들 (110-1과 110-2), 사물 인터넷(Internet of Things(IoT)) 장치(120), 중계 서버 (130), 제1서버(140), 데이터 저장 장치(150), 제2서버(160), 및 모바일 장치(170)를 포함한다.
복수 개의 센서들(110-1과 110-2) 각각은 IoT 장치(120)와 유선 또는 무선을 통해 신호를 주거나 받을 수 있다. 여기서 신호는 정보, 데이터, 디지털 신호들의 집합, 또는 메시지를 의미한다.
제1센서(110-1)는 감시 영역(예컨대, 출입문)에 설치되고, 상기 감시 영역에 대한 이벤트, 예컨대 상기 출입문의 열림과 닫힘을 감지하고, 감지의 결과에 따라 제1감지 데이터(SD1)를 생성하고, 제1감지 데이터(SD1)를 무선으로 IoT 장치(120)로 전송할 수 있다. 제1센서(110-1)는 배터리의 전압을 작동 전압으로 사용하고, 자석 문 스위치(Magnetic Door Switch) 또는 자석 센서로 구현될 수 있다.
제1감지 데이터(SD1)는 제1센서(110-1)의 기능(또는 명칭)을 나타내는 기능(또는 명칭) 정보, 제1센서(110-1)가 설치된 위치를 나타내는 위치 정보(예컨대, 현관 또는 안방 창문), 및 출입문이 열렸음을 지시하는 열림 정보를 포함할 수 있다. 또한, 제1감지 데이터(SD1)는 상기 기능 정보, 상기 위치 정보, 상기 열림 정보, 및 제1센서(110-1) 내부의 배터리 상태(예컨대, 배터리 교체 시기가 되었음을 나타내는 또는 배터리가 저전압임을 나타내는 배터리 로우(low))를 나타내는 배터리 상태 정보를 포함할 수 있다.
제2센서(110-2)는 감시 영역(예컨대, 출입문)의 주위에 설치되고, 사람(또는 침입자) 또는 동물의 움직임을 감지하고, 감지의 결과에 따라 제2감지 데이터(SD2)를 생성하고, 제2감지 데이터(SD2)를 무선으로 IoT 장치(120)로 전송할 수 있다. 제2센서(110-2)는 배터리의 전압을 작동 전압으로 사용하고 적외선을 이용한 동작 감지 센서일 수 있다.
제2감지 데이터(SD2)는 제2센서(110-2)의 기능(또는 명칭)을 나타내는 기능 정보, 제2센서(110-2)가 설치된 위치를 나타내는 위치 정보(예컨대, 현관 또는 안방 창문), 및 사람 또는 동물의 움직임이 감지됨을 지시하는 움직임 정보를 포함할 수 있다. 또한, 제2감지 데이터 (SD2)는 상기 기능 정보, 상기 위치 정보, 상기 움직임 정보, 및 제2센서(110-2)의 배터리 상태(예컨대, 배터리 교체 시기가 되었음을 나타내는 또는 배터리가 저전압임을 나타내는 배터리 로우(low))를 나타내는 배터리 상태 정보를 포함할 수 있다.
메시지 푸시 서비스 제공 시스템(100)이 보안 시스템일 때, 배터리 상태 정보와 달리 보안 감지 정보(예컨대, 열림 정보 또는 움직임 정보)는 지연(또는 지체) 없이 제1서버(140)와 제2서버(160)를 통해 모바일 장치(170)의 애플리케이션 (172)으로 전송(또는 푸시)되어야 한다.
IoT 장치(120)는 센서(110-1 또는 110-2)로부터 무선 전송된 감지 데이터 (SD1 또는 SD2)를 수신하고, 감지 데이터(SD1 또는 SD2)를 제1통신 프로토콜을 이용하여 중계 서버(130)로 전송하는 기능을 수행할 수 있다. 또한, IoT 장치(120)는 각 센서(110-1과 110-2)의 작동을 제어하는 허브(hub)로서의 기능을 수행할 수 있다.
중계 서버(130)는 제1장치(예컨대, IoT 장치(120) 또는 제1서버(140))로부터 전송된 메시지를 수신하고, 상기 메시지 또는 상기 메시지와 다른 메시지를 제2장치(예컨대, 제1서버(140) 또는 IoT 장치(120))로 전송하는 기능을 수행한다.
예컨대, IoT 장치(120)와 제1서버(140)가 MQTT(Message Queue Telemetry Transport) 프로토콜을 이용하여 신호를 주거나 받을 때, 중계 서버(130)는 MQTT 브로커라고 불릴 수 있다. 따라서, 장치들(120, 130, 및 140) 사이의 통신은 MQTT 프로토콜을 이용하여 수행될 수 있다.
제1서버(140)는 데이터 저장 장치(150)를 액세스할 수 있다. 제1서버(140)는 데이터 저장 장치(150)에 데이터를 저장하거나 데이터 저장 장치(150)에 저장된 데이터를 읽어 처리할 수 있다. 또한, 제1서버(140)는 데이터 저장 장치(150)로부터 필요한 데이터를 검색할 수 있다. 데이터 저장 장치(150)는 데이터베이스로 구현될 수 있다.
제1서버(140)는 IoT 장치(120), 예컨대 허브(120)로부터 전송된 감지 데이터 (SD1 또는 SD2)를 중계 서버(130)를 통해 수신하고, 모바일 장치(170)에 설치된 애플리케이션(172)이 로그인 상태(예컨대, 애플리케이션(172)을 이용하여 각 장치 (110-1, 110-2, 및 120)를 제어할 수 있는 상태 또는 제2메시지(MSG2)를 바로 수신할 수 있는 상태)인지 또는 로그아웃 상태(예컨대, 애플리케이션(172)을 이용하여 각 장치(110-1, 110-2, 및 120)를 제어할 수 없는 상태 또는 제2메시지(MSG2)를 바로 수신할 수 없는 상태)인지를 판단(또는 결정)하고, 애플리케이션(172)이 상기 로그인 상태일 때 감지 데이터(SD1 또는 SD2)의 처리 순서를 데이터 저장 장치 (150)에 저장된 룩-업 테이블(151)을 참조(또는 서치)하여 판단하고, 상기 처리 순서의 판단 결과에 따라 감지 데이터(SD1 또는 SD2)의 긴급 전송 여부를 지시하는 지시 데이터와 감지 데이터(SD1 또는 SD2)를 포함하는 제1메시지(MSG1)를 생성하고, 제1메시지(MSG1)를 제2통신 프로토콜을 이용하여 제2서버(160)로 전송한다.
제1서버(140)는 애플리케이션(172)으로부터 전송된 정보, 또는 애플리케이션 (172)으로 전송된 특정 신호에 대한 응답의 수신 여부에 따라 애플리케이션(172)이 로그인 상태인지 또는 로그아웃 상태인지를 판단할 수 있다.
예컨대, 제1서버(140)는 감지 데이터(SD1 또는 SD2)에 포함된 기능 정보, 열림 정보(또는 움직임 정보), 및/또는 배터리 상태 정보를 분석하여 감지 데이터 (SD1 또는 SD2)의 처리 순서를 판단(또는 결정)할 수 있다.
예컨대, 기능 정보, 열림 정보(또는 움직임 정보), 및/또는 배터리 상태 정보는 메타데이터(metadata)를 의미할 수 있다.
따라서 제1서버(140)는 중계 서버(130)를 통해 수신된 감지 데이터(SD1 또는 SD2)로부터 메타데이터를 추출하고, 추출된 메타데이터와 데이터 저장 장치(150)의 룩-업 테이블(151)에 저장된 처리 순서에 따라 감지 데이터(SD1 또는 SD2)의 처리 순서(또는 푸시 순서)를 판단할 수 있다.
제1서버(140)는 모바일 장치(170)에 설치된 애플리케이션(172)이 로그인 될 때 또는 로그아웃될 때 애플리케이션(172)이 로그인 상태인지 로그아웃 상태인지를 나타내는 로그인/로그아웃 정보를 모바일 장치(170)로부터 수신하여 애플리케이션 (172)이 상기 로그인 상태인지 또는 상기 로그아웃 상태인지를 판단할 수 있다.
예컨대, 제1서버(140)는 애플리케이션(172)의 로그인 상태 또는 로그아웃 상태를 나타내는 정보를 관리할 수 있고, 상기 정보를 관리하기 위해 오픈 API(Open Application Programming Interface)를 제공할 수 있다.
데이터 저장 장치(150)는 검색 또는 처리 속도를 높이기 위해 룩-업 테이블 (151)을 저장할 수 있다. 룩-업 테이블(151)은 감지 데이터별 처리 순서를 저장한다.
예컨대, 도 1의 룩-업 테이블을 참조하면, 제1감지 데이터(SD1)가 열림 정보를 포함할 때 제1감지 데이터(SD1)의 처리 순서는 "1"이고, 제2감지 데이터(SD2)가 움직임 정보를 포함할 때 제2감지 데이터(SD2)의 처리 순서는 "1(예컨대, 이진수로는 01)"이고, 감지 데이터(SD1 또는 SD2)가 각 센서(110-1 또는 110-2))에 내장된 배터리의 상태(예컨대, 배터리 교체 시기 또는 배터리 로우)를 나타낼 때 감지 데이터(SD1 또는 SD2)의 처리 순서는 "2(예컨대, 이진수로는 10)"이고, 처리 순서 "1"은 처리 순서 "2"보다 상대적으로 높다고 가정한다.
제1서버(140)는 감지 데이터(SD1 또는 SD2)로부터 열림 정보, 움직임 정보, 및/또는 배터리 상태 정보를 추출하고, 추출된 정보를 쿼리로서 데이터 저장 장치 (150)로 전송하고, 데이터 저장 장치(150)는 상기 추출된 정보에 응답하여 룩-업 테이블(151)에 저장된 처리 순서("1" 또는 "2")를 제1서버(140)로 전송한다.
추출된 정보에 열림 정보(또는 움직임 정보)와 배터리 상태 정보 모두가 포함되어 있을 때, 제1서버(140)는 열림 정보(또는 움직임 정보)만을 추출된 정보로서 데이터 저장 장치(150)로 전송할 수 있다.
제1서버(140)가 열림 정보 또는 움직임 정보에 해당하는 처리 순서("1")을 데이터 저장 장치(150)로부터 수신하면, 제1서버(140)는 제1값을 갖는 지시 데이터를 생성하고, 생성된 지시 데이터와 감지 데이터(SD1 또는 SD2)를 포함하는 제1메시지(MSG1)를 생성할 수 있다.
제1서버(140)가 배터리 상태 정보에 해당하는 처리 순서("2")을 데이터 저장 장치(150)로부터 수신하면, 제1서버(140)는 제2값을 갖는 지시 데이터를 생성하고, 생성된 지시 데이터와 감지 데이터(SD1 또는 SD2)를 포함하는 제1메시지(MSG1)를 생성할 수 있다.
제2서버(160)는 제1값 또는 제2값을 포함하는 지시 데이터를 포함하는 제1메시지(MSG1)를 제1서버(140)로부터 수신하고, 모바일 장치(170)의 애플리케이션 (172)으로부터 전송된 정보(예컨대, 애플리케이션(172)이 절전 모드에 있는지 아닌지를 나타내는 정보)에 기초하여 애플리케이션(172)의 작동 모드를 판단하고, 상기 작동 모드의 판단 결과와 제1메시지(MSG1)에 포함된 상기 지시 데이터에 기초하여 감지 데이터(SD1 또는 SD2)를 포함하는 제2메시지(MSG2)를 생성하고, 제2메시지 (MSG2)를 모바일 장치(170)로 푸시한다.
실시 예들에 따라 제2메시지(MSG2)는 애플리케이션(172)의 작동 모드를 강제로 변경할 수 있는 명령을 포함할 수도 있고 포함하지 않을 수도 있다.
제2메시지(MSG2)를 수신한 모바일 장치(170)의 수신기는 제2메시지(MSG2)를 모바일 장치(170)의 프로세서로 전송한다. 상기 프로세서는 제2메시지(MSG2)에 포함된 명령에 기초하여 감지 데이터(SD1 또는 SD2)에 해당하는 메시지를 모바일 장치(170)의 출력 장치를 통해 모바일 장치(170)의 사용자에게 알릴 수 있다. 모바일 장치는 스마트폰, 모바일 인터넷 장치(mobile internet device(MID)), 또는 랩탑 컴퓨터일 수 있다. 예컨대, 장치들(140, 160, 및 170) 사이의 통신은 FCM(Firebase Cloud Messaging) 프로토콜을 사용하여 수행될 수 있다.
도 2는 도 1에 도시된 제1서버의 블록도를 나타낸다. 도 2를 참조하면, 제1서버(140)는 중계 서버 관리(141), 제2서버 관리(143), 사용자 관리(145), 및 장치 관리(147)을 포함한다. 본 명세서에서 설명되는 각 관리(141, 143, 145, 및 147)와 각 관리(141, 143, 145, 및 147)에 포함된 각 명칭은 기능(function)을 의미할 수 있고, 실시예에 따라 모듈(module)을 의미할 수 있다.
상기 모듈은 하드웨어 장치를 의미할 수 있고, 특정한 하드웨어 장치에서 실행되는 컴퓨터 프로그램(또는 프로그램 코드들)을 의미할 수 있다. 또한, 상기 모듈은 각 명칭에 따른 기능적 및/또는 구조적 결합을 의미할 수 있다.
중계 서버(130)가 MQTT 프로토콜을 사용하는 MQTT 브로커로 구현될 때, 중계 서버 관리(141)는 MQTT 관리를 의미할 수 있다. MQTT 관리(141)는 퍼블리시(141-1), 섭스크라이브(141-2), 메시지 처리(141-3), 및 메시지 이력(141-4)을 포함한다. 각 구성(141-1, 141-2, 141-3, 및 141-4)은 앞에서 설명한 바와 같이 기능 또는 모듈을 의미한다.
퍼블리시(141-1)는 애플리케이션(172)으로부터 전송된 메시지(예컨대, 제어 또는 정보 조회 등)에 대해 퍼블리시한다. 퍼블리시된 메시지는 IoT 장치(120)로 전달된다.
섭스크라이브(141-2)는 IoT 장치(120)의 정보를 수신하기 위해 중계 서버(130), 예컨대 MQTT 브로커(130)로 섭스크라이브한다.
메시지 처리(141-3)는 섭스크라이브 메시지에 대한 처리(예컨대, 메시지 전달 또는 정보 가공 등)을 한다.
메시지 이력(141-4)은 퍼블리시된 메시지 및/또는 섭스크라이브된 메시지에 대한 이력을 저장하고 관리한다.
제2서버 관리(143)의 등록 관리(143-1)는 제2서버(160), 예컨대 FCM 등록 토큰을 관리하는 기능을 한다. 애플리케이션(172)은 자신의 등록 토큰을 등록 관리 (143-1)로 전송할 수 있다. 등록 관리(143-1)는 제2서버(160)에 등록되어 있지 않은 토큰을 삭제하는 기능을 한다. 예컨대, 등록 관리(143-1)는 등록 토큰 조회, 생성, 수정, 및/또는 삭제를 관리한다.
제2서버 관리(143)의 서버키 관리(143-2)는 메시지 푸시 서비스, 예컨대 FCM 서비스에 액세스할 수 있도록 서버 키를 관리하는 기능을 한다. 메시지 푸시(143-3)는 중계 서버, 예컨대, MQTT 섭스크라이브 메시지를 애플리케이션(172)으로 푸시하는 기능을 한다. 메시지 푸시(143-3)는 애플리케이션(172)으로부터 전송된 메시지를 다른 애플리케이션으로 푸시하는 기능을 한다.
메시지 푸시 이력(143-4)은 푸시된 메시지들에 대한 이력을 저장하는 기능을 한다. 메시지는 보통 우선 순위 메시지와 높은 우선 순위 메시지로 분류된다.
보통 우선 순위 메시지(예컨대, 도 1의 처리 순서 "2"에 해당하는 메시지)는 절전 모드로 작동 중인 장치(예컨대, 네트워크에 연결되지 않은 모바일 장치)로 하여금 상기 네트워크에 연결하도록 하는 작동을 시키지 않는다. 보통 우선 순위 메시지에 의해 장치의 절전 모드는 해제되지 않으므로, 상기 보통 우선 순위 메시지는 상기 장치의 절전 모드가 해제된 후에야 비로소 상기 장치로 전송된다. 따라서 상기 장치의 절전 모드가 해제될 때까지, 상기 장치로 전송될 상기 보통 우선 순위 메시지의 전송은 지연된다.
그러나, 높은 우선 순위 메시지(예컨대, 도 1의 처리 순서 "1"에 해당하는 메시지)는 절전 모드로 작동 중인 장치(예컨대, 네트워크에 연결되지 않은 모바일 장치)로 하여금 상기 네트워크에 연결하도록 하는 작동을 시킨다. 높은 우선 순위 메시지에 의해 상기 장치의 절전 모드는 해제되므로, 상기 장치로 전송될 상기 높은 우선 순위 메시지는 절전 모드가 강제로 해제된 장치로 즉시 전송된다.
메시지 수명 관리(143-6)는, 모바일 장치(170)의 전원이 꺼져 있거나 제2서버(160)와 모바일 장치(172)와의 통신이 불가능한 경우, 모바일 장치(170)로 전송될 메시지를 제2서버(160)에 의해 액세스 가능한 데이터 저장 장치(예컨대, 데이터베이스)에 저장하고, 모바일 장치(170)의 전원이 켜지거나 제2서버(160)와 모바일 장치(172)와의 통신이 가능해질 경우 상기 데이터 저장 장치에 저장된 메시지를 바로 모바일 장치(170)로 전송하는 기능을 수행한다. 상기 데이터 저장 장치는 제2서버(160)의 내부 또는 외부에 배치될 수 있다.
메시지 수명은, 모바일 장치(170)로 전송될 메시지가 앞에서 설명한 예들에 따라 모바일 장치(170)로 전송되지 못할 때 모바일 장치(170)로 전송될 메시지가 데이터 저장 장치에 저장되어 있는 시간을 의미한다.
제2서버(160)와 애플리케이션(172)과의 사이에 실시간 동기화가 필요한 메시지의 수명은 짧게 설정되어야 한다. 왜냐하면, 모바일 장치(170)에서 메시지가 나중에 수신되면, 상기 메시지는 불필요한 메시지가 되지 때문이다.
그러나 모바일 장치(170)로 반드시 전송되어야 할 메시지의 수명은 길게 설정되어야 한다. 왜냐하면, 제2서버(160)와 모바일 장치(172)와의 통신이 불가능한 상태에서 가능한 상태로 변경되었을 때, 모바일 장치(170)로 전송되어야 할 메시지는 모바일 장치(170)로 전송되어야 하기 때문이다.
모바일 장치(170)의 사용자가 애플리케이션(172)으로부터 로그아웃되었을 때, IoT 장치(120)의 정보나 감지 데이터(SD1 또는 SD2)는 사용자가 로그아웃한 애플리케이션(172)으로 전송되어서는 안 된다. 상기 사용자가 애플리케이션(172)에 다시 로그인 했을 때, 사용자가 로그아웃한 애플리케이션(172)으로 전송되지 못한 제1메시지(MSG1)는 제1서버(140)로부터 제2서버(160)로 전송되고, 제2서버(160)의 메시지 재전송(143-7)은 제1메시지(MSG1)에 해당하는 제2메시지(MSG2)를 모바일 장치(170)로 푸시한다.
사용자 관리(145)의 사용자 정보 관리(145-1)는 애플리케이션(172)을 사용하는 사용자 정보를 관리, 예컨대 사용자 정보 조회, 사용자 정보 생성, 사용자 정보 수정, 및/또는 사용자 정보 삭제를 한다.
로그인/로그아웃(145-2)은 사용자의 애플리케이션(172)에 대한 로그인 또는 로그아웃을 관리하고, 상기 로그인 또는 상기 로그아웃에 따라 제2메시지(MSG2)의 푸시 여부를 결정한다.
장치 관리(147)의 장치 정보 관리(147-1)는 제1서버(140)에 등록되어 있는 모든 장치들에 대한 정보를 관리한다, 또한, 장치 정보 관리(147-1)는 모바일 장치(170)의 사용자가 이용하고 있는 장치들에 대한 정보를 관리한다.
제어(147-2)는 각 장치(예컨대, 110-1, 110-2, 및/또는 120)에 대한 경비 시작 명령, 각 장치(예컨대, 110-1, 110-2, 및/또는 120)를 IoT 장치(120), 제1서버 (140), 또는 애플리케이션(172)에 등록하기 위한 모드 전환 명령, 각 장치(예컨대, 110-1, 110-2, 및/또는 120)의 상태 정보 전송 요청 등 애플리케이션(172)으로부터 전송된 명령을 처리하고 관리한다.
예컨대, 제2서버(160)가 FCM(Firebase Cloud Messaging)을 위한 서버일 때, 제1서버(140)와 제2서버(160)은 FCM 프로토콜을 이용하여 신호를 주고받고, 제2서버(160)와 모바일 장치(170), 예컨대, 애플리케이션(172)은 FCM 프로토콜을 이용하여 신호를 주고받는다. 애플리케이션(172)이 외부 장치와 신호를 주거나 받는다 함은 모바일 장치(170)에 설치된 무선 송수신기를 이용하여 모바일 장치(170)가 상기 외부 장치(예컨대, 140 또는 160)과 신호를 주거나 받는 것을 의미한다.
도 3은 본 발명의 실시 예에 따른 메시지 푸시 서비스 제공 시스템에 의해 제공되는 메시지 푸시 서비스 제공 방법을 설명하는 플로우차트이다.
도 1부터 도 3을 참조하여 메시지 푸시 서비스 제공 방법이 상세히 설명된다. 제1서버(140)는 사용자가 애플리케이션(172)에 로그인되었는지 로그아웃되었는지를 판단할 수 있고, 제2서버(160)는 애플리케이션(172)의 작동 모드가 절전 모드인지 또는 비절전 모드인지를 판단할 수 있다고 가정한다.
여기서, 절전 모드는 모바일 장치(170)가 오랫동안 사용되지 않는 경우로서 모바일 장치(170)에 대한 네트워크 연결과 백그라운드 작업을 미룸으로써 모바일 장치(170)의 배터리의 사용량을 줄이는 기능(또는 모드)을 의미한다. 또한, 도즈 (doze) 모드는 안드로이드 OS(operating system)가 6.0으로 업그레이드됨에 따라 상기 안드로이드 OS에 적용된 절전 모드의 일 예이다.
스마트폰은 아래의 조건들이 모두 만족될 때 도즈 모드로 진입할 수 있다. 상기 조건들 중에서 어느 하나라도 만족되지 못하면, 상기 스마트폰은 상기 도즈 모드로부터 해제(release)된다.
1. 스마트폰의 배터리가 충전되지 않고,
2. 스마트폰이 물리적으로 제자리에 계속 놓여진 상태이고,
3. 스크린 오프 상태로 오랫동안 방지되어 있는 경우
제1서버(140)는 IoT 장치(120)와 중계 서버(130)을 통해 감지 데이터(SD1 또는 SD2)를 수신한다(S110). 예컨대, IoT 장치(120)와 중계 서버(130)가 MQTT 프로토콜을 사용하여 신호를 주거나 받고, 중계 서버(130)와 제1서버(140)가 상기 MQTT 프로토콜을 사용하여 신호를 주거나 받을 때, 제1서버(140)는 MQTT 프로토콜을 이용하여 IoT 장치(120)의 정보와 각 센서(110-1과 110-2)의 정보(SD1과 SD2)를 수집한다.
제1서버(140)는 모바일 장치(170)의 사용자가 모바일 장치(170)에 설치된 애플리케이션(172)에 로그인 했는지를 판단한다(S115). 모바일 장치(170)의 사용자가 모바일 장치(170)에 설치된 애플리케이션(172)에 로그인하지 않았다고 판단될 때, 제1서버(140)는 감지 데이터(SD1 또는 SD2)는 데이터 저장 장치(150)에 저장한다 (S120).
모바일 장치(170)의 사용자가 모바일 장치(170)에 설치된 애플리케이션(172)에 로그인했다고 판단될 때(S115의 YES), 제1서버(140)는 감지 데이터(SD1 또는 SD2)에 포함된 열림 정보(또는 움직임 정보) 또는 배터리 상태 정보를 이용하여 감지 데이터(SD1 또는 SD2)의 처리 순서(예컨대, 우선 순위)를 확인한다(S125).
제1감지 데이터(SD1)가 열림 정보를 포함하는 감지 데이터일 때, 제1서버 (140)는 테이블(151)을 참조하여 제1감지 데이터(SD1)의 처리 순서가 높은지를 판단한다(S130). 도 1에 도시된 바와 같이 열림 정보가 문열림을 나타낼 때, 제1감지 데이터(SD1)의 처리 순서는 "1"이다. 제1서버(140)는 데이터 저장 장치(150)로부터 전송된 처리 순서("1")에 기초하여 열림 정보를 포함하는 제1감지 데이터(SD1)의 처리 순서가 높다고 판단한다(S130의 YES).
따라서 제1서버(140)는 제1값을 갖는 지시 데이터와 제1감지 데이터(SD1)를 포함하는 제1메시지(MSG1)를 생성하고, 생성된 제1메시지(MSG1)를 제2서버(160)로 전송한다(S135). 여기서 제1값은 설명의 편의를 위해 데이터 "1"이라고 가정한다. 지시 데이터가 데이터 "1"일 때, 제1메시지(MSG1)는 긴급 전송이 필요한 메시지이다.
그러나, 제1감지 데이터(SD1)가 배터리 상태 정보를 포함하는 감지 데이터일 때, 제1서버(140)는 테이블(151)을 참조하여 제1감지 데이터(SD1)의 처리 순서가 높은지를 판단한다(S130). 도 1에 도시된 바와 같이 배터리 상태 정보가 배터리 로우(low)를 나타낼 때, 제1감지 데이터(SD1)의 처리 순서는 "2"이다. 제1서버(140)는 데이터 저장 장치(150)로부터 전송된 처리 순서("2")에 기초하여 배터리 상태 정보를 포함하는 제1감지 데이터(SD1)의 처리 순서는 높지 않다고 판단한다(S130의 NO).
따라서 제1서버(140)는 제2값을 갖는 지시 데이터와 제1감지 데이터(SD1)를 포함하는 제1메시지(MSG1)를 생성하고, 생성된 제1메시지(MSG1)를 제2서버(160)로 전송한다(S140). 여기서 제2값은 설명의 편의를 위해 데이터 "0"이라고 가정한다. 지시 데이터가 데이터 "0"일 때, 제1메시지(MSG1)는 긴급 전송이 필요하지 않은 메시지이다.
또한, 제2감지 데이터(SD2)가 움직임 정보를 포함하는 감지 데이터일 때, 제1서버(140)는 테이블(151)을 참조하여 제2감지 데이터(SD2)의 처리 순서가 높은지를 판단한다(S130). 도 1에 도시된 바와 같이 움직임 정보가 동작 감지를 나타낼 때, 제2감지 데이터(SD2)의 처리 순서는 "1"이다. 제1서버(140)는 데이터 저장 장치(150)로부터 전송된 처리 순서("1")에 기초하여 움직임 정보를 포함하는 제2감지 데이터(SD2)의 처리 순서는 높다고 판단한다(S130의 YES).
따라서 제1서버(140)는 제1값을 갖는 지시 데이터와 제2감지 데이터(SD2)를 포함하는 제1메시지(MSG1)를 생성하고, 생성된 제1메시지(MSG1)를 제2서버(160)로 전송한다(S135).
그러나, 제2감지 데이터(SD2)가 배터리 상태 정보를 포함하는 감지 데이터일 때, 제1서버(140)는 테이블(151)을 참조하여 제2감지 데이터(SD2)의 처리 순서가 높은지를 판단한다(S130). 도 1에 도시된 바와 같이 배터리 상태 정보가 배터리 로우(low)를 나타낼 때, 제2감지 데이터(SD2)의 처리 순서는 "2"이다. 제1서버(140)는 데이터 저장 장치(150)로부터 전송된 처리 순서("2")에 기초하여 배터리 상태 정보를 포함하는 제2감지 데이터(SD2)의 처리 순서는 높지 않다고 판단한다(S130의 NO).
따라서 제1서버(140)는 제2값을 갖는 지시 데이터와 제2감지 데이터(SD2)를 포함하는 제1메시지(MSG1)를 생성하고, 제1메시지(MSG1)를 제2서버(160)로 전송한다(S140).
제1메시지(MSG1)를 수신한 제2서버(160)는 애플리케이션(172)의 작동 모드를 판단한다(S145).
애플리케이션(172)의 작동 모드가 절전 모드(예컨대, 도즈 모드)라고 판단될 때, 제2서버(160)는 제1메시지(MSG1)에 포함된 지시 데이터가 제1값(예컨대, 데이터 "1')을 갖는지 제2값(예컨대, 데이터 "0")을 갖는지를 판단하기 위해 제1메시지 (MSG1)를 분석(또는 파싱)한다(S150). 즉, 제2서버(120)는 제1메시지(MSG1)에 포함된 지시 데이터의 값에 기초하여 제1메시지(MSG1)의 처리 순서를 판단한다(S150).
애플리케이션(172)의 작동 모드가 절전 모드(예컨대, 도즈 모드)이고 지시 데이터가 제1값(예컨대, 데이터 "1')을 가질 때, 즉, 제1메시지(MSG1)의 처리 순서가 높을 때(S155의 YES), 제2서버(160)는 명령(예컨대 강제 해제 비트)와 감지 데이터(SD1 또는 SD2)를 포함하는 제2메시지(MSG2)를 생성하고, 제2메시지(MSG2)를 모바일 장치 (170)로 푸시(또는 전송)한다(S160).
절전 모드(예컨대, 도즈 모드)로 작동하는 애플리케이션(172)은 제2메시지(MSG2)에 포함된 명령(예컨대, 강제 해제 비트)에 기초하여 절전 모드(예컨대, 도즈 모드)로부터 강제로 해제되고, 절전 모드(예컨대, 도즈 모드)로부터 강제로 해제된 애플리케이션(172)은 제2메시지(MSG2)로부터 추출된 감지 데이터(SD1 또는 SD2)에 기초하여 어떤 장소에 설치된 센서(110-1)의 출입문이 열렸는지 또는 어떤 장소에 설치된 센서(110-2)에서 동작(또는 움직임)이 감지되었는지를 나타내는 메시지를 출력 장치(예컨대, 디스플레이 장치 또는 스피커)를 통해 모바일 장치(170)의 사용자에게 알릴 수 있다(S165).
그러나 애플리케이션(172)의 작동 모드가 절전 모드(예컨대, 도즈 모드)이고 지시 데이터가 제2값(예컨대, 데이터 "0')을 가질 때, 즉, 제1메시지(MSG1)의 처리 순서가 높지 않을 때(S155의 NO), 제2서버(160)는 제1메시지(MSG1)에 포함된 감지 데이터(SD1 또는 SD2)를 제2서버(160)에 연결된 데이터 저장 장치에 저장한다 (S170).
제2서버(160)는, 애플리케이션(172)이 절전 모드로부터 해제될 때까지, 제1메시지(MSG1)에 포함된 감지 데이터(SD1 또는 SD2)를 제2서버(160)에 연결된 데이터 저장 장치에 저장한다(S170).
애플리케이션(172)이 절전 모드로부터 해제된 후, 즉 애플리케이션(172)이 제2메시지(MSG2)를 정상적으로 수신할 수 있을 때, 제2서버(160)는 제1메시지 (MSG1)에 해당하는 제2메시지(MSG2)를 생성하고 제2메시지(MSG2)를 모바일 장치 (170)로 푸시(또는 전송)한다(S175). 제2메시지(MSG2)는 감지 데이터(SD1 또는 SD2)를 포함한다.
절전 모드(예컨대, 도즈 모드)로부터 해제된 애플리케이션(172)은 제2메시지(MSG2)로부터 추출된 감지 데이터(SD1 또는 SD2)에 기초하여 어떤 장소에 설치된 센서(110-1)의 출입문이 열렸는지 또는 어떤 장소에 설치된 센서(110-2)에서 동작이 감지되었는지를 나타내는 메시지를 출력 장치(예컨대, 디스플레이 장치 또는 스피커)를 통해 모바일 장치(170)의 사용자에게 알릴 수 있다(S165).
상술한 바와 같이, 제1서버(140)는 제1프로토콜(예컨대, MQTT 프로토콜)을 이용하여 IoT 장치(120)로부터 감지 데이터(SD1 또는 SD2)를 수집하고, 지시 데이터와 감지 데이터(SD1 또는 SD2)를 포함하는 제1메시지(MSG1)를 생성하고, 제1메시지(MSG1)를 제2프로토콜(예컨대, FCM 프로토콜)을 이용하여 제2서버(160)로 전송하면, 제2서버(160)는 애플리케이션(172)의 현재 작동 모드와 제1메시지(MSG1)에 포함된 지시 데이터에 기초하여 제2메시지(MSG2)를 생성하고, 제2메시지(MSG2)가 모바일 장치(170)로 푸시되는 시간 또는 타이밍을 조절할 수 있다.
제1서버(140)는 MQTT 프로토콜을 이용하여 감지 데이터(SD1과 SD2)를 수집하고, 애플리케이션(172)은 MQTT 프로토콜 대신에 오픈 API 또는 FCM 프로토콜을 이용하여 제2서버(160)로부터 제2메시지(MSG2)를 수신한다. 즉, 종래에는 애플리케이션(172)와 제2서버(160)는 MQTT 프로토콜을 이용하여 신호를 주고 받았으나, 본 발명의 실시 예에 따른 메시지 푸시 서비스 제공 시스템(100)에서 제2서버(160)는 FCM 프로토콜을 이용하여 제2메시지(MSG2)를 애플리케이션(172)으로 푸시한다. 따라서, 애플리케이션(172)이 설치된 모바일 장치(170)의 배터리 소모는 감소한다.
제2서버(160)는 애플리케이션(172)의 절전 모드(예컨대, 도즈 모드)를 제2메시지(MSG2)에 포함된 명령을 이용하여 해제할 수 있다. 이에 따라 애플리케이션 (172)은 제2메시지(MSG2)를 수신하기 위해 제2서버(160)와의 네트워크를 연결할 수 있다.
제2서버(160)는 애플리케이션(172)의 절전 모드(예컨대, 도즈 모드)가 해제될 때까지 제1서버(140)로부터 전송된 제1메시지(MSG1)를 데이터 저장 장치에 저장할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 메시지 푸시 서비스 제공 시스템
110-1, 110-2: 센서
120: IoT 장치, 허브
130: 중계서버, MQTT 브로커
140: 제1서버
150: 데이터 저장 장치, 데이터베이스
151: 룩-업 테이블
160: 제2서버
170: 모바일 장치
172: 애플리케이션

Claims (9)

  1. 제1서버가 허브로부터 전송된 감지 데이터를 수신하는 단계;
    상기 제1서버가 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하는 단계;
    상기 애플리케이션이 상기 로그인 상태일 때, 상기 제1서버가 상기 감지 데이터의 처리 순서를 판단하는 단계;
    상기 처리 순서의 판단 결과에 따라 상기 제1서버가 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고, 상기 제1메시지를 제2서버로 전송하는 단계;
    상기 제1메시지를 수신한 상기 제2서버가 상기 애플리케이션의 작동 모드를 판단하는 단계;
    상기 작동 모드의 판단 결과와 상기 지시 데이터에 기초하여 상기 제2서버가 상기 제1메시지에 포함된 상기 감지 데이터를 포함하는 제2메시지를 생성하는 단계; 및
    상기 제2서버가 상기 제2메시지를 상기 모바일 장치로 푸시하는 단계를 포함하고,
    상기 제2메시지를 생성하는 단계는,
    상기 작동 모드가 도즈(doze)모드이고 상기 지시 데이터가 긴급 전송을 지시하지 않을 때, 상기 제2서버가 상기 제1메시지를 데이터 저장 장치에 저장하는 단계:
    상기 제2서버가 상기 도즈 모드의 해제 여부를 감시하는 단계; 및
    상기 도즈 모드가 해제될 때, 상기 제2서버가 상기 데이터 저장 장치에 저장된 상기 제1메시지에 해당하는 상기 제2메시지를 생성하는 단계를 포함하는 메시지 푸시 서비스 제공 방법.
  2. 제1항에 있어서, 상기 제2메시지를 생성하는 단계는,
    상기 작동 모드가 상기 도즈 모드이고 상기 지시 데이터가 긴급 전송을 지시할 때, 상기 제2서버는 상기 도즈 모드를 강제로 해제하기 위한 해제 지시 데이터와 상기 감지 데이터를 포함하는 상기 제2메시지를 생성하는 메시지 푸시 서비스 제공 방법.
  3. 삭제
  4. 제1서버가 허브로부터 전송된 감지 데이터를 수신하는 단계;
    상기 제1서버가 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하는 단계;
    상기 애플리케이션이 상기 로그인 상태일 때, 상기 제1서버가 상기 감지 데이터의 처리 순서를 판단하는 단계;
    상기 처리 순서의 판단 결과에 따라 상기 제1서버가 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고, 상기 제1메시지를 제2서버로 전송하는 단계;
    상기 제1메시지를 수신한 상기 제2서버가 상기 애플리케이션의 작동 모드를 판단하는 단계;
    상기 작동 모드의 판단 결과와 상기 지시 데이터에 기초하여 상기 제2서버가 상기 제1메시지에 포함된 상기 감지 데이터를 포함하는 제2메시지를 생성하는 단계; 및
    상기 제2서버가 상기 제2메시지를 상기 모바일 장치로 푸시하는 단계를 포함하고,
    상기 제1서버는 상기 허브로부터 전송된 상기 감지 데이터를 MQTT(Message Queue Telemetry Transport) 프로토콜을 사용하여 수신하고,
    상기 제2서버는 상기 제2메시지를 오픈 API 또는 FCM(Firebase Cloud Messaging) 프로토콜을 사용하여 상기 모바일 장치로 푸시하는 메시지 푸시 서비스 제공 방법.
  5. 제1서버가 허브로부터 전송된 감지 데이터를 수신하는 단계;
    상기 제1서버가 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하는 단계;
    상기 애플리케이션이 상기 로그인 상태일 때에는 상기 제1서버가 상기 감지 데이터의 처리 순서를 판단하고, 상기 애플리케이션이 로그 아웃 상태일 때에는 상기 제1서버가 상기 감지 데이터를 데이터 저장 장치에 저장하고 상기 애플리케이션이 상기 로그아웃 상태로부터 상기 로그인 상태로 변경된 후 상기 제1서버가 상기 데이터 저장 장치로부터 읽혀진 상기 감지 데이터의 처리 순서를 판단하는 단계;
    상기 처리 순서의 판단 결과에 따라 상기 제1서버가 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고, 상기 제1메시지를 제2서버로 전송하는 단계;
    상기 제1메시지를 수신한 상기 제2서버가 상기 애플리케이션의 작동 모드를 판단하는 단계;
    상기 작동 모드의 판단 결과와 상기 지시 데이터에 기초하여 상기 제2서버가 상기 제1메시지에 포함된 상기 감지 데이터를 포함하는 제2메시지를 생성하는 단계; 및
    상기 제2서버가 상기 제2메시지를 상기 모바일 장치로 푸시하는 단계를 포함하는 메시지 푸시 서비스 제공 방법.
  6. 제1서버가 허브로부터 전송된 감지 데이터를 수신하는 단계;
    상기 제1서버가 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하는 단계;
    상기 애플리케이션이 상기 로그인 상태일 때, 상기 제1서버가 상기 감지 데이터의 처리 순서를 판단하는 단계;
    상기 처리 순서의 판단 결과에 따라 상기 제1서버가 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고, 상기 제1메시지를 제2서버로 전송하는 단계;
    상기 제1메시지를 수신한 상기 제2서버가 상기 애플리케이션의 작동 모드를 판단하는 단계;
    상기 작동 모드의 판단 결과와 상기 지시 데이터에 기초하여 상기 제2서버가 상기 제1메시지에 포함된 상기 감지 데이터를 포함하는 제2메시지를 생성하는 단계; 및
    상기 제2서버가 상기 제2메시지를 상기 모바일 장치로 푸시하는 단계를 포함하고,
    상기 제1서버가 상기 감지 데이터의 처리 순서를 판단하는 단계는,
    상기 제1서버가 상기 감지 데이터로부터 메타데이터를 추출하는 단계; 및
    상기 제1서버가 추출된 메타데이터와 데이터 저장 장치에 저장된 처리 순서에 따라 상기 감지 데이터의 처리 순서를 판단하는 단계를 포함하는 메시지 푸시 서비스 제공 방법.
  7. 허브와 통신하는 제1서버; 및
    상기 제1서버와 통신하고, 모바일 장치로 제2메시지를 푸시하는 제2서버를 포함하고,
    상기 제1서버는,
    상기 허브로부터 전송된 감지 데이터를 수신하고, 상기 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하고, 상기 애플리케이션이 상기 로그인 상태일 때 상기 감지 데이터의 처리 순서를 판단하고, 상기 처리 순서의 판단 결과에 따라 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고, 상기 제1메시지를 상기 제2서버로 전송하고,
    상기 제2서버는,
    상기 애플리케이션의 작동 모드를 판단하고,
    상기 작동 모드가 도즈(doze)모드이고 상기 지시 데이터가 긴급 전송을 지시할 때 상기 애플리케이션의 상기 도즈 모드를 강제로 해제하기 위한 해제 지시 데이터와 상기 감지 데이터를 포함하는 상기 제2메시지를 생성하고, 상기 제2메시지를 상기 모바일 장치로 푸시하고,
    상기 작동 모드가 상기 도즈모드이고 상기 지시 데이터가 긴급 전송을 지시하지 않을 때 상기 제1메시지를 데이터 저장 장치에 저장하고, 상기 도즈 모드의 해제 여부를 감시하고, 상기 도즈 모드가 해제될 때 상기 데이터 저장 장치에 저장된 상기 제1메시지에 해당하는 상기 제2메시지를 생성하고, 상기 제2메시지를 상기 모바일 장치로 푸시하는 메시지 푸시 서비스 제공 시스템.
  8. 삭제
  9. 허브와 통신하는 제1서버; 및
    상기 제1서버와 통신하고, 모바일 장치로 제2메시지를 푸시하는 제2서버를 포함하고,
    상기 제1서버는,
    상기 허브로부터 전송된 감지 데이터를 수신하고, 상기 모바일 장치에 설치된 애플리케이션이 로그인 상태인지를 판단하고, 상기 애플리케이션이 상기 로그인 상태일 때 상기 감지 데이터의 처리 순서를 판단하고, 상기 처리 순서의 판단 결과에 따라 상기 감지 데이터의 긴급 전송 여부를 지시하는 지시 데이터와 상기 감지 데이터를 포함하는 제1메시지를 생성하고, 상기 제1메시지를 상기 제2서버로 전송하고,
    상기 제2서버는,
    상기 애플리케이션의 작동 모드를 판단하고, 상기 작동 모드의 판단 결과와 상기 지시 데이터에 기초하여 상기 감지 데이터를 포함하는 상기 제2메시지를 생성하고,
    상기 제1서버는 상기 허브로부터 전송된 상기 감지 데이터를 MQTT (Message Queue Telemetry Transport) 프로토콜을 사용하여 수신하고,
    상기 제2서버는 상기 제2메시지를 오픈 API 또는 FCM(Firebase Cloud Messaging) 프로토콜을 사용하여 상기 모바일 장치로 푸시하는 메시지 푸시 서비스 제공 시스템.
KR1020180084459A 2018-07-20 2018-07-20 메시지 푸시 서비스 제공 시스템과 방법 KR102091676B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180084459A KR102091676B1 (ko) 2018-07-20 2018-07-20 메시지 푸시 서비스 제공 시스템과 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180084459A KR102091676B1 (ko) 2018-07-20 2018-07-20 메시지 푸시 서비스 제공 시스템과 방법

Publications (2)

Publication Number Publication Date
KR20200009721A KR20200009721A (ko) 2020-01-30
KR102091676B1 true KR102091676B1 (ko) 2020-03-20

Family

ID=69321690

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180084459A KR102091676B1 (ko) 2018-07-20 2018-07-20 메시지 푸시 서비스 제공 시스템과 방법

Country Status (1)

Country Link
KR (1) KR102091676B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114710517A (zh) * 2022-02-21 2022-07-05 交控科技股份有限公司 物联数据模型管理系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007281837A (ja) * 2006-04-06 2007-10-25 Nec Corp 緊急連絡システム及び携帯通信端末
JP2013016892A (ja) 2011-06-30 2013-01-24 Ntt Docomo Inc ユーザ端末、及び通信方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101516430B1 (ko) * 2008-01-17 2015-05-06 삼성전자주식회사 통신 시스템에서 긴급 서비스 제공 시스템 및 방법
KR20110087198A (ko) * 2010-01-25 2011-08-02 엘지전자 주식회사 광대역 이동 통신 시스템에서 긴급 서비스 정보 제공 장치 및 방법
GB201519032D0 (en) 2015-10-28 2015-12-09 Drazin Jonathan A Market research system
KR101990184B1 (ko) * 2016-12-19 2019-06-17 전자부품연구원 사설 IP를 가지는 IoT 게이트웨이를 위한 MQTT/HTTP 기반 통신 방법 및 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007281837A (ja) * 2006-04-06 2007-10-25 Nec Corp 緊急連絡システム及び携帯通信端末
JP2013016892A (ja) 2011-06-30 2013-01-24 Ntt Docomo Inc ユーザ端末、及び通信方法

Also Published As

Publication number Publication date
KR20200009721A (ko) 2020-01-30

Similar Documents

Publication Publication Date Title
US7507946B2 (en) Network sensor system and protocol
JP6184532B2 (ja) 通信アカウントのためのメッセージ通知方法、システム、およびデバイス
US20170257226A1 (en) Method for Detecting the Status of a Home Automation Device
US9277502B2 (en) Hibernate mode for chat service
CN105279210A (zh) 同步复制环境中的自动模式切换
US8386559B2 (en) Method for exchanging requests between the computer application of a mobile terminal and an instantaneous messaging server
KR20200044034A (ko) 건물 점유를 이용한 건물 시스템 제어
WO2017215476A1 (zh) 一种用于物联网的智能设备控制方法、装置和设备
EP4154522A1 (en) Operating wireless devices and image data systems
KR102091676B1 (ko) 메시지 푸시 서비스 제공 시스템과 방법
US10587996B2 (en) Retroactive messaging for handling missed synchronization events
KR101499307B1 (ko) 액티브 상태와 슬립 상태 간을 천이함으로써 전력 절약을 구현하는 무선 개인 영역 네트워크 (pan) 조정자
US10018981B2 (en) Monitoring removal of an automation control panel
WO2017051312A1 (en) A method of enabling a lock button of a mobile device with an ios operating system to be used by a user to effect an action
US9520055B2 (en) Process of communication between a first node and a second node of a home automation installation
KR20140003324A (ko) M2m 시스템에서 동적 보고 스케줄링을 구현하는 방법 및 장치
CN115412381A (zh) 通知方法、智能门禁设备、门铃模组、服务器及存储介质
US9622093B2 (en) System and method of transmitting a message to a wireless limited node
KR102607777B1 (ko) 이동체 상황인지 기반 저전력 위치 정보 수집 장치
US20160099997A1 (en) Method and system for managing application data in a communication device
US10042331B2 (en) Sensor network and a method for detecting an event in a sensor network
CN108141396B (zh) 家庭自动化系统设备功率优化
US20090172435A1 (en) Method of minimizing electric power consumption in non-beacon network
US11954996B2 (en) System and method for improving network connection reliability of IoT tracking and emergency response devices
KR101514417B1 (ko) 커뮤니케이션 서비스를 이용한 홈 기기 제어, 방문자통화 및 보안 영상 전송에 대한 방법, 장치 및 기록매체

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