KR20180047474A - IoT 서비스에서 단말을 제어하기 위한 방법 및 장치 - Google Patents
IoT 서비스에서 단말을 제어하기 위한 방법 및 장치 Download PDFInfo
- Publication number
- KR20180047474A KR20180047474A KR1020160143573A KR20160143573A KR20180047474A KR 20180047474 A KR20180047474 A KR 20180047474A KR 1020160143573 A KR1020160143573 A KR 1020160143573A KR 20160143573 A KR20160143573 A KR 20160143573A KR 20180047474 A KR20180047474 A KR 20180047474A
- Authority
- KR
- South Korea
- Prior art keywords
- control
- terminal
- identifier
- request data
- network server
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
- H04L67/125—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
-
- H04L67/16—
-
- H04L67/26—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Telephonic Communication Services (AREA)
Abstract
IoT 서비스에서 단말을 제어하기 위한 방법 및 장치를 개시한다.
본 실시예의 일 측면에 의하면, IoT 서비스에 있어, 단말로 전송한 제어요청 데이터에 대한 제어상태를 명확히 파악할 수 있도록 하는 장치 및 방법을 제공한다.
본 실시예의 일 측면에 의하면, IoT 서비스에 있어, 단말로 전송한 제어요청 데이터에 대한 제어상태를 명확히 파악할 수 있도록 하는 장치 및 방법을 제공한다.
Description
본 실시예는 IoT 서비스에서 단말을 제어하고 제어 상태를 확인하는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
다양한 IoT 기기가 다양한 센서 데이터를 네트워크 서버로 업로드하며, 네트워크 서버는 IoT 기기로부터 수신한 해당 데이터를 플랫폼의 논리적 자원에 게시(POST)하게 된다. 게시된 데이터는 Push 동작 또는 Get 동작을 거치며, IoT 서비스 사용자의 애플리케이션으로 전달된다. 전술한 동작을 거치며, IoT 서비스 사용자에게 다양한 IoT 기기가 센싱하는 센싱 데이터가 전달된다.
반대로, IoT 서비스 사용자는 IoT 기기로 다양한 제어 명령을 할 수 있다. 애플리케이션을 거쳐 데이터를 수신한 IoT 서비스 사용자는 플랫펌 서버로 특정한 제어를 요청하며, 네트워크 서버는 플랫폼 서버로 접속하여 사용자의 제어 요청을 획득한다. 네트워크 서버는 획득한 제어 요청을 IoT 기기로 전달함으로써, IoT 기기가 사용자가 요청한 제어에 따라 동작하도록 한다.
한편, 통상적인 IoT 서비스와는 달리 저사양 IoT 서비스에 있어서, IoT 기기는 아주 적은 전력을 사용하면서 넓은 범위로 데이터를 전송하며, 장시간의 사용이 보장되어야 한다. 이러한 점 때문에, 특정 주기에만 네트워크 서버와 통신 가능한 IoT 기기가 있다. 이러한 IoT 기기에 제어 명령을 전달함에 있어서는, 특정 주기에만 제어 명령을 전달이 가능하며, IoT 기기에 대한 제어 결과는 다시 다음 주기까지 기다려야 확인이 가능하다. 문제는 IoT 기기마다 주기가 제각각이라는 점에 있다. 종래의 플랫폼 서버는 IoT 기기로 네트워크 서버를 거쳐 제어 명령을 전달한 후, IoT 기기의 주기가 도래하지 않았음에도 전송이 지연된 것으로 판단하여 지속적으로 제어 명령을 재전달하게 되어 단말에 복수의 동일한 제어 명령이 중복되어 전달되는 문제가 발생한다. 또는, IoT 기기의 주기가 도래하지 않았음에도 전송이 지연된 것으로 판단함으로써, 플랫폼 서버는 해당 제어 명령에 대해 타임 아웃(Time Out) 처리하는 문제가 발생하고 있다.
본 실시예는, IoT 서비스에 있어, 단말로 전송한 제어요청 데이터에 대한 제어상태를 명확히 파악할 수 있도록 하는 장치 및 방법을 제공하는데 일 목적이 있다.
본 실시예의 일 측면에 의하면, 기 설정된 주기마다 통신 가능한 단말의 제어 결과를 확인하기 위한 방법에 있어서, 애플리케이션 서버로부터 상기 단말에 대한 제어요청 데이터를 수신하여 네트워크 서버로 전달하는 과정과 상기 제어요청 데이터에 포함된 서비스 식별자가 기 설정된 서비스 식별자와 일치하는 경우, 상기 제어요청 데이터에 대한 제어결과 확인목록을 생성하는 과정과 상기 단말의 주기보고에 대한 플랫폼 자원 및 상기 단말의 식별자를 상기 네트워크 서버로부터 획득하면, 획득한 단말의 식별자와 일치하는 단말의 식별자가 상기 제어결과 확인목록 내 존재하는지를 판단하는 과정 및 상기 획득한 단말의 식별자와 일치하는 단말의 식별자가 상기 제어결과 확인목록 내 존재하는 경우, 상기 플랫폼 자원을 획득한 때부터 기 설정된 기간 경과 후, 상기 제어요청 데이터에 대한 제어결과를 상기 네트워크 서버로부터 획득하였는지 확인하는 과정을 포함하는 것을 특징으로 하는 제어결과 확인방법을 제공한다.
또한, 본 실시예의 다른 측면에 의하면, 기 설정된 주기마다 통신 가능한 단말의 제어 결과를 확인할 수 있는 제어결과 확인장치에 있어서, 상기 단말의 제어요청 데이터를 애플리케이션 서버로부터 수신하며, 수신한 제어요청 데이터를 네트워크 서버로 전달하는 통신부와 상기 제어요청 데이터에 포함된 서비스 식별자가 기 설정된 서비스 식별자와 일치하는 경우, 상기 제어요청 데이터에 대한 제어결과 확인목록을 생성하고, 상기 단말의 주기보고에 대한 플랫폼 자원 및 상기 단말의 식별자를 상기 네트워크 서버로부터 획득하여, 획득한 단말의 식별자와 일치하는 단말의 식별자가 상기 제어결과 확인목록 내 존재하는지를 판단하며, 상기 획득한 단말의 식별자와 일치하는 단말의 식별자가 상기 제어결과 확인목록 내 존재하는 경우, 상기 플랫폼 자원을 획득한 때부터 기 설정된 기간 경과 후, 상기 제어요청 데이터에 대한 제어결과를 상기 네트워크 서버로부터 획득하였는지 확인하는 제어부와 상기 제어결과 확인목록을 저장하는 데이터베이스 및 상기 플랫폼 자원을 획득한 때부터 상기 기 설정된 기간이 경과하였는지를 확인하기 위한 타이머를 포함하는 것을 특징으로 하는 제어결과 확인장치를 제공한다.
이상에서 설명한 바와 같이 본 실시예의 일 측면에 따르면, IoT 서비스에서 단말로 전송한 제어요청 데이터에 대한 제어상태를 명확히 파악할 수 있어, 단말로 지속적인 제어요청을 하지 않도록 방지하며, 제어요청에 대한 타임 아웃 처리를 명확히 할 수 있는 장점이 있다.
도 1은 본 발명의 일 실시예에 따른 IoT 시스템을 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 IoT 시스템이 단말로 전송한 제어요청에 대한 제어상태를 파악하는 과정을 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 플랫폼 서버가 단말로 전송한 제어요청에 대한 제어상태를 파악하는 방법을 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 플랫폼 서버의 구성을 도시한 구성도이다.
도 2는 본 발명의 일 실시예에 따른 IoT 시스템이 단말로 전송한 제어요청에 대한 제어상태를 파악하는 과정을 도시한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 플랫폼 서버가 단말로 전송한 제어요청에 대한 제어상태를 파악하는 방법을 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 플랫폼 서버의 구성을 도시한 구성도이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다. 명세서 전체에서, 어떤 부분이 어떤 구성요소를 '포함', '구비'한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 '…부', '모듈' 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다.
도 1은 본 발명의 일 실시예에 따른 IoT 시스템을 도시한 도면이다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 IoT 시스템(100)은 단말(110, 114, 118) 기지국(120, 125), 네트워크 서버(130), 플랫폼 서버(140) 및 애플리케이션 서버(150)를 포함한다.
단말(110, 114, 118)은 센서를 이용해 특정 환경에서 센싱 데이터를 획득하며, 통신 기능을 내장하여 기지국(120, 125) 또는 네트워크 서버(130)로 전송할 수 있도록 한 IoT(Internet of Things) 기기이다. 단말(110, 114, 118)은 조명장치, 스마트 기기, 가전제품, 콘센트 등 다양한 IoT 기기로 구현될 수 있으며, 이용 목적에 따라 다양한 센서를 포함할 수 있다. 예를 들어, 도 1에 도시된 바와 같이 콘센트로 구현되는 경우, 단말(110)은 전류 센서 또는 전압 센서를 포함하여 전류 또는 전압의 크기를 측정할 수 있다. 단말(110, 114, 118)은 센싱 데이터를 통신 모듈을 이용하여 기지국(120, 125) 또는 네트워크 서버(130)로 전송한다.
단말(110, 114, 118)은 다양한 IoT 환경에서 해당 표준을 만족하는 IoT 기기이며, 특히 저사양 IoT 환경에서의 표준을 만족하는 IoT 기기일 수 있다. 인터넷은 전통적으로 많은 전력과 메모리, 연결 옵션을 갖는 리소스가 풍부한 기기들과 연결되어 와서 아무런 문제가 없었으나, IoT 기기는 아주 적은 전력을 사용하면서 넓은 범위로 데이터를 전송하며, 장시간의 사용이 보장되어야 한다. 따라서 단말(110, 114, 118)은 저전력을 사용하며, 넓은 지역으로 데이터를 전송할 수 있는(LPWA: Low Power Wide Area) 저사양 IoT 환경에서의 IoT 기기일 수 있다. LPWA 환경에서의 표준은 Sigfox, Ingenu 및 Lora 등이 존재하며, 단말(110, 114, 118)은 어느 하나의 표준을 만족하는 기기일 수 있다.
특히, 단말(110, 114, 118)은 Lora 표준을 만족하는 단말일 수 있다. Lora 표준에서는 3가지 유형의 단말을 정의하고 있다. 첫 번째 유형은 기 설정된 주기마다 데이터를 업링크하며, 업링크시에만 서버로부터 데이터를 다운링크할 수 있는 유형이다. 두 번째 유형은 서버로부터 일정한 기간 내에 지정된 횟수만큼 데이터를 다운링크할 수 있는 유형이고, 세 번째 유형은 상시 서버로부터 데이터를 다운링크할 수 있는 유형이다. Lora 표준을 만족하는 경우, 단말(110, 114, 118)은 전술한 3가지 유형 중 어느 하나일 수 있으며, 특히, 저사양 IoT 환경에서 원활히 동작할 수 있도록 첫 번째 유형일 수 있다. 이하에서는 단말이 Lora 표준에서 정의하는 첫 번째 유형으로 동작하는 것으로 가정하여 설명하도록 한다.
단말(110, 114, 118)은 센서를 이용해 획득한 센싱 데이터를 센싱 데이터를 기지국(120, 125) 또는 네트워크 서버(130)로 일정한 주기마다 전송한다. 또한, 단말(110, 114, 118)은 센싱 데이터를 기지국(120, 125) 또는 네트워크 서버(130)로 전송하는 때, 기지국(120, 125) 또는 네트워크 서버(130)로부터 제어요청 데이터를 수신한다. 제어요청 데이터는 단말이 특정한 동작으로 동작하도록 제어하기 위한 정보를 포함하는 데이터로서, 단말(110, 114, 118)은 제어요청 데이터를 수신하여 제어요청 데이터에 따라 동작한다. 이후, 단말(110, 114, 118)은 제어요청 데이터에 따라 동작하였는지 여부 및 동작에 따른 결과를 기지국(120, 125) 또는 네트워크 서버(130)로 제어요청 데이터를 수신한 주기의 다음주기에 전송한다.
기지국(120, 125)은 단말(110, 114, 118)과 네트워크 서버(130)의 사이에 존재하여, 단말(110, 114, 118)과 네트워크 서버(130) 간 데이터를 전달한다. 또한, 기지국(120, 125)은 단말(110, 114, 118)과 기지국(120, 125) 간 및 기지국(120, 125)과 네트워크 서버(130) 간에 상이한 프로토콜이 이용되는 경우, 양 프로토콜을 연동한다. 예를 들어, 단말(110, 114, 118)과 기지국(120, 125) 간에는 전술한 Lora 프로토콜이 이용될 수 있으며, 기지국(120, 125)과 네트워크 서버(130) 간에는 TCP/IP 프로토콜이 이용될 수 있다. 기지국(120, 125)은 이처럼 상이한 프로토콜이 이용되는 경우, 단말(110, 114, 118)로부터 전달된 데이터를 네트워크 서버(130)로 전달하기 위해 프로토콜을 연동한다.
네트워크 서버(130)는 단말(110, 114, 118) 또는 기지국(120, 125)으로부터 수신한 데이터를 대칭키를 사용하여 암호화 할 수 있으며 해당 데이터를 플랫폼 서버(140)로 전달하며, 제어요청 데이터를 플랫폼 서버(140)로부터 획득하여 단말(110, 114, 118)로 전달한다.
네트워크 서버(130)는 단말(110, 114, 118) 또는 기지국(120, 125)으로부터 수신한 센싱 데이터를 플랫폼 자원으로 표현하여, 플랫폼 자원을 플랫폼 서버(140)로 업데이트한다. 네트워크 서버(130)는 단말(110, 114, 118) 또는 기지국(120, 125)으로부터 수신한 센싱 데이터를 플랫폼의 논리적 자원으로 표현한다. 센싱 데이터를 특정 데이터 구조로 표현하는 것으로, 플랫폼의 논리적 자원은 데이터 구조로 표현되며 데이터를 전송한 단말의 물리적 정보 또는 데이터를 전송한 시각 또는 주기 정보 등을 포함한다. 센싱 데이터를 플랫폼의 논리적 자원으로 표현함으로써, 네트워크 서버(130)는 플랫폼 서버(140)가 센싱 데이터를 효과적으로 관리하고 저장할 수 있도록 한다. 네트워크 서버(130)는 수신한 데이터를 플랫폼 자원으로 표현한 후, 플랫폼 서버(140)로 접속하여 플랫폼 자원을 업데이트한다. 플랫폼 자원이 업데이트됨으로써, 플랫폼 서버(140)는 단말(110, 114, 118)로부터 어떠한 주기보고가 전송되었음을 확인하는 동시에, 단말(110, 114, 118)에 전달할 제어요청 데이터가 있는 경우, 제어요청 데이터가 단말(110, 114, 118)로 전달되었음을 확인할 수 있다.
네트워크 서버(130)는 플랫폼 서버(140)로 접속하여 제어요청 데이터를 플랫폼 서버(140)로부터 획득하며, 획득한 제어요청 데이터를 단말(110, 114, 118)로 전달한다.
플랫폼 서버(140)는 네트워크 서버(130)로부터 플랫폼 자원을 획득하여 이를 애플리케이션 서버(150)로 전송하며, 단말을 제어하기 위한 제어요청 데이터를 애플리케이션 서버(150)로부터 수신하여 네트워크 서버(130)로 전달한다.
플랫폼 서버(140)는 OneM2M과 같은 개방형 표준 플랫폼을 구비할 수 있다. 플랫폼 서버(140)는 CSE(Common Service Entity)로 지칭되는 다양한 서비스 기능을 제공하는 구성을 포함할 수 있다. CSE는 데이터 관리 기능, 연결 제어기능, 구독 또는 통지 기능, 장치 또는 서비스의 등록 기능 또는 그룹 관리 등 다양한 기능을 제공한다. 플랫폼 서버(140)는 CSE의 다양한 공통 기능들을 API(Application Programming Interface)를 이용하여 애플리케이션 서버를 거쳐 애플리케이션 사용자로 노출한다. 이에 따라, API를 이용하여, 플랫폼 서버(140)는 단말(110, 114, 118)과 애플리케이션 서버(150) 간(End-to-End)에 데이터 공유, 장치 제어 등의 기능을 용이하게 제공할 수 있다.
플랫폼 서버(140)는 네트워크 서버(130)가 업데이트한 플랫폼 자원을 획득하여 이를 애플리케이션 서버(150)로 전송한다. 플랫폼 자원을 애플리케이션 서버(150)로 전송함으로써, 플랫폼 서버(140)는 애플리케이션 사용자가 단말(110, 114, 118)이 센싱한 센싱 데이터를 확인하고 단말(110, 114, 118)로 적절한 제어를 할 수 있도록 한다.
플랫폼 서버(140)는 단말을 제어하기 위한 제어요청 데이터를 애플리케이션 서버(150)로부터 수신하여 네트워크 서버(130)로 전달한다.
애플리케이션 서버(150)는 플랫폼 서버(140)로부터 플랫폼 자원을 수신한다. 애플리케이션 서버(150)는 API를 이용하여 단말(110, 114, 118)이 플랫폼 서버(140)로 전송한 플랫폼 자원을 수신하여 사용자로 하여금 확인하게 할 수 있다. 애플리케이션 사용자는 수신한 플랫폼 자원을 확인하여 단말로 특정한 제어를 애플리케이션 서버로 요청할 수 있으며, 애플리케이션 서버(150)는 제어요청에 따른 데이터를 플랫폼 서버(140)로 전송한다.
도 2는 본 발명의 일 실시예에 따른 IoT 시스템이 단말로 전송한 제어요청에 대한 제어상태를 파악하는 과정을 도시한 흐름도이다.
단말(110)은 기지국(120)을 거쳐 네트워크 서버(130)로 주기보고를 전송한다(S210). 단말(110)은 센서를 이용하여 센싱 데이터를 취득하며, 취득한 센싱 데이터를 기 설정된 주기마다 네트워크 서버(130)로 전송한다. 기 설정된 주기는 각 단말마다 다를 수 있으며, 다른 단말은 비 주기적으로 동작할 수 있다. 단말(110)은 일정한 주기 또는 별도의 이벤트에 따라 취득한 하나 또는 복수의 센싱 데이터들을 네트워크 서버(130)로 전송할 수 있다. 네트워크 서버(130) 및 플랫폼 서버(140)가 어떠한 단말로부터 주기보고를 수신하였는지 확인할 수 있도록, 단말(110)은 주기보고에 자신의 단말 식별자를 포함하여 전송한다.
네트워크 서버(130)는 수신한 센싱 데이터를 플랫폼 자원으로 표현한 후, 플랫폼 서버(140)로 접속하여 플랫폼 자원을 업데이트한다(S215). 네트워크 서버(130)는 단말(110)로부터 수신한 하나 센싱 데이터 또는 복수의 센싱 데이터들 각각을 플랫폼 자원으로 표현한다. 네트워크 서버(130)는 센싱 데이터를 플랫폼 자원으로 표현함으로써, 플랫폼 서버(140)가 관리하고 저장할 수 있도록 한다. 네트워크 서버(130)는 플랫폼 자원을 플랫폼 서버(140)로 접속하여 업데이트한다.
플랫폼 서버(140)는 네트워크 서버(130)로부터 획득한 플랫폼 자원을 애플리케이션 서버(150)로 전송한다(S220). 플랫폼 서버(140)는 PUSH 동작을 수행함으로써, 일방적으로 플랫폼 자원을 애플리케이션 서버(150)로 전송한다. 또는, 애플리케이션 서버(150)가 GET 동작을 수행하는 경우, 플랫폼 서버(140)는 플랫폼 자원을 애플리케이션 서버(150)로 전송한다.
애플리케이션 서버(150)는 단말에 대한 제어요청 데이터를 플랫폼 서버(140)로 전송한다(S225). 애플리케이션 서버(150)는 수신한 플랫폼 자원에 대응하여 단말을 제어하기 위한 제어요청 데이터를 애플리케이션 사용자로부터 획득한다. 애플리케이션 서버(150)는 애플리케이션 사용자로부터 획득한 제어요청 데이터를 플랫폼 서버(140)로 전송한다. 제어요청 데이터에는 제어 정보뿐만 아니라, 단말 식별자 및 서비스 식별자를 포함한다. 제어 정보는 단말이 특정 동작을 하도록 지시하기 위한 정보를 의미한다. 예를 들어, 단말이 조명장치인 경우를 가정하면, 제어요청 데이터에는 조명장치가 깜박이도록 하는 동작을 지시하는 정보가 포함될 수 있다. 단말 식별자는 제어 정보를 어떠한 단말로 전달할 것인지를 확인할 수 있는 정보를 의미한다. 서비스 식별자는 해당 단말이 어떠한 표준을 만족하며 어떠한 유형의 단말인지, 특히, 앞서 가정한 대로 Lora 표준에서 정의하는 첫 번째 유형으로 동작하는 단말인지 여부를 확인할 수 있는 정보를 의미한다. 나아가, 애플리케이션 서버(150)는 제어요청 데이터에 제어 정보, 단말 식별자 및 서비스 식별자 외에 제어에 따른 예상시간을 더 포함할 수 있다. 제어에 따른 예상시간이란 제어정보에 따라 단말이 특정 동작하며 소요될 예상시간을 의미한다. 애플리케이션 서버(150)는 제어요청 데이터에 제어에 따른 예상시간을 더 포함함으로써, 플랫폼 서버(140)는 해당 제어에 따라 단말이 동작함에 있어, 얼마나 소요될 지를 예상하거나 이에 따른 타임 아웃(Time Out)을 유동적으로 관리할 수 있다.
플랫폼 서버(140)는 애플리케이션 서버(150)로부터 수신한 제어요청 데이터를 네트워크 서버(130)로 전달한다(S230). 플랫폼 서버(140)는 제어요청 데이터를 네트워크 서버(130)로 전달하며, 제어요청 데이터에 포함된 제어 정보에 따라 고유한 제어요청 식별자를 부여한다. 플랫폼 서버(140)는 제어요청 식별자를 부여함으로써, 각각의 제어요청 데이터에 대해 식별하고 분류하여 저장할 수 있다.
플랫폼 서버(140)는 수신한 제어요청 데이터 내 포함된 서비스 식별자가 기 설정된 서비스 식별자인지 여부를 판단한다(S235). 플랫폼 서버(140)는 제어요청 데이터를 수신한 후, 제어요청 데이터 내 포함된 정보를 확인한다. 특히, 서비스 식별자를 확인하여 제어요청 데이터 내 포함된 서비스 식별자가 기 설정된 식별자인지 여부를 판단한다. 앞서 가정한 바와 같이, 단말이 Lora 표준에서 정의하는 첫 번째 유형으로 동작하는 단말이 아닌 경우, 굳이 하기에 언급할 제어결과를 판단할 실익이 크지 않으므로, 제어요청 데이터 내 포함된 서비스 식별자가 Lora 표준에서 정의하는 첫 번째 유형으로 동작하는 단말인지를 나타내는 기 설정된 서비스 식별자인지를 판단한다.
플랫폼 서버(140)는 수신한 제어요청 데이터 내 포함된 서비스 식별자가 기 설정된 서비스 식별자인 경우, 플랫폼 서버(140)는 제어결과 확인목록을 생성하여 관리한다(S240). 플랫폼 서버(140)는 제어요청 데이터를 수신하는 경우, 네트워크 서버(130)로 전달하는 것과는 별개로, 플랫폼 서버(140)는 제어결과 확인목록을 생성한다. 플랫폼 서버(140)는 제어요청 데이터에 포함된 제어정보, 단말 식별자 및 서비스 식별자를 확인한다. 플랫폼 서버(140)는 제어정보를 확인한 후, 제어의 종류 또는 단말 식별자를 이용하여 해당 제어요청 데이터에 따른 단말의 제어 동작의 소요시간을 예상할 수 있다. 플랫폼 서버(140)는 제어정보에 포함된 정보 또는 단말 식별자에 따라 예상 제어 소요시간을 각각 판단하거나, 또는 제어정보 또는 단말 식별자에 포함된 정보를 여러 개의 군으로 분류하여 각각의 군에 따라 기 설정된 예상 제어 소요시간을 부여할 수도 있다. 또는, 플랫폼 서버(140)의 별도의 예상 제어 소요시간의 판단 없이, 애플리케이션 서버로부터 제어요청 데이터 내에 포함된 예상 제어 소요시간을 수신할 수도 있다. 플랫폼 서버(140)는 아래 표와 같이 제어결과 확인목록을 생성하여, 수신한 제어요청 데이터를 이용하여 관리한다.
일련 번호 |
단말 식별자 |
제어요청 식별자 |
주기보고 수신 여부 |
주기보고 수신 시각 |
예상 제어 소요시간(분) |
제어 상태 |
1 | A | Ⅰ | N | - | 15 | Pending |
2 | B | Ⅱ | N | - | 20 | Pending |
... | ... | ... | ... | ... | .. | ... |
N | C | Ⅲ | Y | 13:30 | 30 | Pending |
플랫폼 서버(140)는 수신한 제어요청 데이터를 이용하여 제어결과 확인목록 중 단말 식별자, 제어요청 식별자 및 예상 제어 소요시간 필드를 관리한다. 단말 식별자 및 제어요청 식별자는 각 IoT 시스템에서 사용하는 식별자에 따라 상이해질 수 있다. 예상 제어 소요시간 필드에 대해, 플랫폼 서버(140)는 전술한 바와 같이 스스로 판단하거나, 애플리케이션 서버(150)로부터 수신하여 관리한다. 플랫폼 서버(140)는 제어결과 확인목록 중 주기보고 수신 여부 필드와 주기보고 수신 시각 필드를 추후, 제어요청 데이터를 네트워크 서버(130)로 전송한 후, 네트워크 서버(130)로부터 플랫폼 자원의 업데이트를 수신하는 경우에 다시 관리한다. 제어상태 필드는 단말(110)로 전송한 제어요청 데이터에 대한 단말의 제어상태를 명시하는 필드로서, 제어를 시작하여 단말로 전달한 상태(Initiated), 제어를 시작하여 단말로 전달하였으나, 해당 제어에 지연이 있을 수 있는 상태(Pending) 및 제어가 완료된 상태(Finished) 중 하나의 상태가 채워진다. 제어상태 필드는 단말로부터 제어결과를 수신하였는지에 따라 제어상태 필드에 명시되는 값이 달라질 수 있다.
단말(110)은 주기보고를 네트워크 서버(130)로 전송한다(S245). 다시 단말의 주기보고의 전송시점이 도래한 경우, 단말(110)은 주기보고를 네트워크 서버(130)로 전송한다.
네트워크 서버(130)는 단말(110)로 제어요청 데이터를 전송한다(S250). 네트워크 서버(130)는 플랫폼 서버(140)로부터 수신한 제어요청 데이터 중 단말 식별자를 확인하여, S245 과정에서 주기보고와 함께 단말(110)로부터 수신한 단말 식별자와 일치하는 것이 있는지 비교한다. 네트워크 서버(130)는 주기보고와 함께 수신한 단말 식별자와 일치하는 단말 식별자가 포함된 제어요청 데이터가 존재하는 경우, 해당 제어요청 데이터를 단말(110)로 전송한다.
네트워크 서버(130)는 플랫폼 자원을 업데이트한다(S255). 네트워크 서버(130)는 S215 과정과 마찬가지로 단말(110)로부터 수신한 주기보고를 플랫폼 자원으로 표현하여 플랫폼 서버(140)로 업데이트 한다. 플랫폼 자원이 업데이트되는 경우, 플랫폼 서버(140)는 단말(110)로부터 어떠한 주기보고가 전송되었음을 확인하는 동시에, 주기보고를 한 단말(110)의 식별자를 포함하는 제어요청 데이터가 있는 경우, 제어요청 데이터가 단말(110)로 전달되었음을 확인할 수 있다. 플랫폼 서버(140)는 플랫폼 자원이 업데이트되는 경우, 제어결과 확인목록 내 주기보고 수신여부 필드와 주기보고 수신시각 필드를 업데이트한다.
네트워크 서버로부터 수신한 단말 식별자와 일치하는 단말 식별자가 제어결과 확인목록 내 존재하는지를 판단한다(S260). 플랫폼 자원이 네트워크 서버(130)로부터 업데이트되는 경우, 플랫폼 서버(140)는 플랫폼 자원 내 포함된, 주기보고를 전송한 단말의 단말 식별자와 일치하는 단말 식별자가 제어결과 확인목록 내에 존재하는지를 판단한다. 제어결과 확인목록 내에는 애플리케이션 서버(150)가 특정 단말들에 전송하고자 하는 제어요청 데이터들이 포함되어 있다. 주기보고를 전송한 단말의 단말 식별자가 제어결과 확인목록 내에 포함되어 있지 않은 경우, 주기보고를 전송한 해당 단말은 플랫폼 서버(140)가 제어결과를 확인하고자 하는 단말이 아니다. 따라서 플랫폼 서버(140)는 네트워크 서버(130)로부터 수신한 단말 식별자와 일치하는 단말 식별자가 제어결과 확인목록 내 존재하는지를 판단한다.
플랫폼 서버(140)는 기 설정된 기간 경과 후, 제어요청 데이터에 대한 제어결과를 판단한다(S265). 네트워크 서버(130)로부터 수신한 단말 식별자와 일치하는 단말 식별자가 제어결과 확인목록 내 존재하는 경우, 플랫폼 서버(140)는 타이머(Timer)를 진행시켜, 플랫폼 자원이 업데이트된 순간부터 기 설정된 기간이 경과하였는지를 판단한다. 플랫폼 서버(140)는 플랫폼 자원이 업데이트된 순간부터 기 설정된 기간이 경과하였는지를 판단하는 이유는 다음과 같다. 단말(110)이 실시간으로 네트워크 서버(130)와 실시간으로 통신할 수 있는 유형이라면, 플랫폼 서버(140)는 네트워크 서버(130)로 제어요청 데이터를 전달(S230 과정)한 이후 바로 기 설정된 기간이 경과하였는지 판단하여도 된다. 그러나 앞서 가정하였듯이, 단말(110)이 특정한 주기에만 네트워크 서버(130)와 통신이 가능한 유형이기 때문에, 실제로 단말(110)에 제어요청 데이터가 전달된 순간부터 기 설정된 기간이 경과하였는지를 판단하여야 한다. 따라서 플랫폼 서버(140)는 플랫폼 자원이 업데이트된 순간(주기보고 수신시각)부터 기 설정된 기간이 경과하였는지를 판단한다. 여기서, 기 설정된 기간이란 애플리케이션 서버(150) 또는 플랫폼 서버(140)가 예상한 예상 제어 소요시간이다. 플랫폼 서버(140)는 제어결과 확인목록 내에서 단말 식별자와 같은 행에 존재하는 주기보고 수신시각 및 예상 제어 소요시간을 확인한 후, 주기보고 수신시각부터 예상 제어 소요시간이 경과하였는지를 판단한다. 주기보고 수신시각부터 예상 제어 소요시간이 경과한 후, 플랫폼 서버(140)는 제어결과에 대하여 플랫폼 서버(140)로 업데이트된 플랫폼 자원이 있는지를 판단한다. 네트워크 서버(130)는 제어요청 데이터를 단말(110)로 전달한 후, 단말로부터 제어요청 데이터에 대한 제어결과를 수신하는 경우, 제어결과에 대하여 플랫폼 서버(140)에 플랫폼 자원으로 업데이트한다. 플랫폼 서버(140)는 제어결과에 대하여 플랫폼 서버(140)로 업데이트된 플랫폼 자원이 있는지를 판단하여, 단말의 제어상태를 명확히 파악할 수 있다. 플랫폼 서버(140)로 정상적으로 제어결과에 대한 플랫폼 자원이 업데이트된 경우, 단말로부터 수신한 제어결과를 그대로 제어결과 확인목록 내 제어상태 필드에 명시한다. 플랫폼 서버(140)는 제어상태 필드에 제어 상태를 Finished로 명시하며, 수신한 제어결과를 그대로 함께 명시한다. 반면, 플랫폼 서버(140)로 정상적으로 제어결과에 대한 플랫폼 자원이 업데이트되지 않은 경우, 플랫폼 서버(140)는 제어상태 필드에 제어 상태를 Finished로 명시하며, 타임 아웃되었음을 명시한다. 이에 따라, 특정 단말에 대해서는 전달한 제어요청에 따라 단말이 제대로 제어되지 않았음을 확인할 수 있다.
도 3은 본 발명의 일 실시예에 따른 플랫폼 서버가 단말로 전송한 제어요청에 대한 제어상태를 파악하는 방법을 도시한 순서도이다.
플랫폼 서버(140)는 애플리케이션 서버(150)로부터 단말의 제어요청 데이터를 수신하여 네트워크 서버(130)로 전달한다(S310).
플랫폼 서버(140)는 수신한 제어요청 데이터 내 포함된 서비스 식별자가 기 설정된 서비스 식별자인지를 판단한다(S320). 플랫폼 서버(140)는 제어요청 데이터를 수신한 후, 서비스 식별자를 확인하여 제어요청 데이터 내 포함된 서비스 식별자가 기 설정된 식별자인지 여부를 판단한다. 단말이 기 설정된 식별자가 아닌 서비스 식별자를 갖는 경우, 제어결과를 판단할 실익이 없기 때문에 플랫폼 서버(140)는 제어상태를 파악하는 과정을 종료한다.
제어요청 데이터 내 포함된 서비스 식별자가 기 설정된 서비스 식별자인 경우, 플랫폼 서버(140)는 수신한 제어요청 데이터에 따른 제어결과 확인목록을 생성한다(S330). 제어결과 확인목록은 전술한 표 1과 같이 단말 식별자, 제어요청 식별자, 주기보고 수신 여부, 주기보고 수신 시각, 예상 소요 시간, 제어상태 필드를 가진다. 애플리케이션 서버(150)로부터 제어요청 데이터를 수신하는 경우, 플랫폼 서버(140)는 제어요청 데이터를 확인하여 단말 식별자, 제어요청 식별자 및 예상 제어 소요시간 필드를 명시한다. 또한, 플랫폼 서버(140)는 제어상태 필드를 Initiated 상태에서 Pending 상태로 명시한다. 제어요청 데이터가 단말로 전달되었으나 제어에 지연의 가능성이 존재하는 상태이기 때문에, 플랫폼 서버(140)는 제어상태 필드를 Pending 상태로 명시한다.
플랫폼 서버(140)는 플랫폼 자원을 네트워크 서버(130)로부터 획득한다(S340). 업데이트된 플랫폼 자원에는 주기보고를 전송한 단말의 단말 식별자도 함께 업데이트된다. 제어요청 데이터를 네트워크 서버로 전달한 후, 네트워크 서버로부터 플랫폼 자원 및 단말 식별자를 획득하는 경우, 플랫폼 서버(140)는 해당 제어요청 데이터가 해당 단말로 전달되었음을 확인할 수 있다.
플랫폼 서버(140)는 네트워크 서버로부터 획득한 단말 식별자와 일치하는 단말 식별자가 제어결과 확인목록 내 존재하는지를 판단한다(S350). 제어결과 확인목록 내 존재하지 않는 단말 식별자는 플랫폼 서버(140)가 제어결과를 확인하고자 하는 단말이 아니다. 따라서 이러한 플랫폼 자원에 대해서, 플랫폼 서버(140)는 제어결과를 저장하며, 별도의 처리과정을 거치지 않는다. 네트워크 서버로부터 획득한 단말 식별자와 일치하는 단말 식별자가 제어결과 확인목록 내 존재하는 경우, 플랫폼 서버(140)는 제어결과 확인목록 내 해당 단말 식별자에 대해 주기보고 수신여부 필드와 주기보고 수신시각 필드를 업데이트한다.
네트워크 서버로부터 수신한 단말 식별자와 일치하는 단말 식별자가 제어결과 확인목록 내 존재하는 경우, 플랫폼 서버(140)는 기 설정된 기간 경과 후, 네트워크 서버(130)로 전달한 제어요청 데이터에 대한 제어결과를 획득하였는지 판단한다(S360). 기 설정된 시간은 플랫폼 서버(140) 또는 애플리케이션 서버(150)에서 제어요청 데이터 내 포함된 제어정보에 따라 판단되거나 부여된 예상 제어 소요시간을 의미한다. 플랫폼 서버(140)는 네트워크 서버(130)로부터 플랫폼 자원을 획득한 후, 기 설정된 시간(예상 제어 소요시간)이 경과할 때까지 대기한다. 플랫폼 자원을 획득한 후, 기 설정된 시간이 경과한 후, 플랫폼 서버(140)는 제어요청 데이터에 대한 제어결과를 네트워크 서버(130)로부터 획득하였는지 판단한다.
네트워크 서버(130)로 전달한 제어요청 데이터에 대한 제어결과를 획득한 경우, 플랫폼 서버(140)는 획득한 제어결과에 따라 해당 제어요청 데이터를 제어완료 처리한다(S370). 플랫폼 서버(140)는 제어결과를 획득한 해당 제어요청 데이터에 대해 제어결과 확인목록 내 제어상태 필드를 Pending에서 Finished로 명시하고, 획득한 제어결과를 제어상태 필드에 함께 명시한다. 제어결과는 아래 표 2에 제시된 내용 중 어느 하나를 가질 수 있다.
상태 | 의미 |
0 | STATUS_REQUEST_SUCCEED |
1 | STATUS_REQUEST_UNSUPPORTED |
2 | STATUS_REQUEST DENIED |
3 | STATUS_CANCELLATION_DENIED |
4 | STATUS_INTERNAL_ERROR |
5 | STATUS_INVALID_ARGUMENTS |
6 | STATUS_RESOURCES_EXCEEDED |
7 | STATUS_FILE_TRANSFER_FAILED |
8 | STATUS_FILE_TRANSFER_SERVER_AUTHENTICATION_FAILURE |
9 | STATUS_UNSUPPORTED_PROTOCOL |
10 | STATUS_UPLOAD_FAILED |
11 | STATUS_FILE_TRANSFER_FAILED_MULTICAST_GROUP_UNABLE_JOIN |
12 | STATUS_FILE_TRANSFER_FAILED_SERVER_CONTACT_FAILED |
13 | STATUS_FILE_TRANSFER_FAILED_FILE_ACCESS_FAILED |
14 | STATUS_FILE_TRANSFER_FAILED_DOWNLOAD_INCOMPLETE |
15 | STATUS_FILE_TRANSFER_FAILED_FILE_CORRUPTED |
16 | STATUS_FILE_TRANSFER_FILE_AUTHENTICATION_FAILURE |
17 | STATUS_FILE_TRANSFER_FAILED |
18 | STATUS_FILE_TRANSFER_SERVER_AUTHENTICATION_FAILURE |
19 | STATUS_FILE_TRANSFER_WINDOW_EXCEEDED |
20 | STATUS_INVALID_UUID_FORMAT |
21 | STATUS_UNKNOWN_EXECUTION_ENVIRONMENT |
22 | STATUS_DISABLED_EXECUTION_ENVIRONMENT |
23 | STATUS_EXECUTION_ENVIRONMENT_MISMATCH |
24 | STATUS_DUPLICATE_DEPLOYMENT_UNIT |
25 | STATUS_SYSTEM_RESOURCES_EXCEEDED |
26 | STATUS_UNKNOWN_DEPLOYMENT_UNIT |
27 | STATUS_INVALID_DEPLOYMENT_UNIT_STATE |
28 | STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_DOWNGRADE_DISALLOWED |
29 | STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_UPGRADE_DISALLOWED |
30 | STATUS_INVALID_DEPLOYMENT_UNIT_UPDATE_VERSION_EXISTS |
31 | STATUS_REQUEST_TIME_OUT |
제어상태는 단말이 제어요청에 따라 동작을 하였는지 여부, 제어요청 데이터가 단말로 전송되었는지 여부, 단말이 해당 프로토콜을 지원하는지 여부 등 다양한 단말의 제어 상태를 포함한다. 플랫폼 서버(140)는 전술한 표 2 중 어느 하나의 제어결과를 제어상태 필드에 함께 명시한다.
네트워크 서버(130)로 전달한 제어요청 데이터에 대한 제어결과를 획득하지 못한 경우, 플랫폼 서버(140)는 해당 제어요청 데이터는 타임 아웃 시키며, 제어완료 처리를 한다(S380). 플랫폼 서버(140)는 제어결과를 획득하지 못한 경우, 단말의 제어가 어떠한 이유로 인해 정상적으로 수행되지 못하였으며, 제어에 따른 결과도 획득하지 못한 상황임을 인지한다. 따라서 플랫폼 서버(140)는 제어결과 확인목록 내 제어상태 필드에 제어상태는 Finished로 명시하며, 제어결과는 타임 아웃되었음(표 2 내 상태 31번)을 명시한다.
플랫폼 서버(140)는 전술한 과정을 거치며, 일정한 주기에만 통신이 가능한 단말에 대해 제어요청 데이터를 전송하였더라도, 단말로부터 주기보고가 수신될 때까지 무작정 기다릴 필요없이 제어상태를 명확히 파악할 수 있다.
도 4는 본 발명의 일 실시예에 따른 플랫폼 서버의 구성을 도시한 구성도이다. 도 4를 참조하면, 본 발명의 일 실시예에 따른 플랫폼 서버(140)는 통신부(410), 제어부(420), 데이터베이스(430) 및 타이머(440)를 포함한다. 각 구성에 대한 설명은 도 1 내지 3을 참조하여 전술하였기 때문에, 상세한 설명은 생략하도록 한다.
통신부(410)는 네트워크 서버(130)로부터 획득한 플랫폼 자원을 애플리케이션 서버(150)로 전송하며, 제어요청 데이터를 애플리케이션 서버(150)로부터 수신한다.
제어부(420)는 네트워크 서버(130)로부터 업데이트된 플랫폼 자원을 획득하며, 제어요청 데이터를 네트워크 서버(130)로 전달한다.
제어부(420)는 수신한 제어요청 데이터에 포함된 제어정보, 단말 식별자 및 서비스 식별자를 파악하며, 수신한 제어요청 데이터 내 포함된 서비스 식별자가 기 설정된 서비스 식별자인지 판단한다.
수신한 제어요청 데이터 내 포함된 서비스 식별자가 기 설정된 서비스 식별자인 경우, 제어부(420)는 제어결과 확인목록을 생성한다. 제어결과 확인목록 생성한 후, 제어부(420)는 획득한 플랫폼 자원에 포함된 단말 식별자와 일치하는 단말식별자가 제어결과 확인목록 내 존재하는지를 판단한다.
획득한 플랫폼 자원에 포함된 단말 식별자와 일치하는 단말식별자가 제어결과 확인목록 내 존재하는 경우, 제어부(420)는 타이머(440)를 이용하여 기 설정된 기간이 경과하였는지 판단하며, 기 설정된 기간이 경과한 후, 네트워크 서버(130)로 전달한 제어요청에 대해 제어결과를 네트워크 서버(130)로부터 획득하였는지 판단한다.
제어결과의 획득여부에 따라, 제어부(420)는 해당 제어요청 데이터에 대해 제어완료 처리를 하며, 제어결과를 명시한다.
데이터베이스(430)는 제어부(420)가 생성한 제어결과 확인목록을 저장한다.
타이머(440)는 네트워크 서버(130)로부터 업데이트된 플랫폼 자원을 획득한 후, 기 설정된 기간이 경과하였는지를 제어부(420)가 판단할 수 있도록 한다.
도 2 내지 도 3에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나, 이는 본 발명의 일 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것이다. 다시 말해, 본 발명의 일 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 일 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 각각의 도면에 기재된 과정의 순서를 변경하여 실행하거나 과정 중 하나 이상의 과정을 병렬적으로 실행하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이므로, 도 2 내지 도 3은 시계열적인 순서로 한정되는 것은 아니다.
한편, 도 2 내지 도 3에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: IoT 시스템
110, 114, 118: 단말
120: 기지국 130: 네트워크 서버
140: 플랫폼 서버 150: 애플리케이션 서버
410: 통신부 420: 제어부
430: 데이터베이스 440: 타이머
120: 기지국 130: 네트워크 서버
140: 플랫폼 서버 150: 애플리케이션 서버
410: 통신부 420: 제어부
430: 데이터베이스 440: 타이머
Claims (7)
- 기 설정된 주기마다 통신 가능한 단말의 제어 결과를 확인하기 위한 방법에 있어서,
애플리케이션 서버로부터 상기 단말에 대한 제어요청 데이터를 수신하여 네트워크 서버로 전달하는 과정;
상기 제어요청 데이터에 포함된 서비스 식별자가 기 설정된 서비스 식별자와 일치하는 경우, 상기 제어요청 데이터에 대한 제어결과 확인목록을 생성하는 과정;
상기 단말의 주기보고에 대한 플랫폼 자원 및 상기 단말의 식별자를 상기 네트워크 서버로부터 획득하면, 획득한 단말의 식별자와 일치하는 단말의 식별자가 상기 제어결과 확인목록 내 존재하는지를 판단하는 과정; 및
상기 획득한 단말의 식별자와 일치하는 단말의 식별자가 상기 제어결과 확인목록 내 존재하는 경우, 상기 플랫폼 자원을 획득한 때부터 기 설정된 기간 경과 후, 상기 제어요청 데이터에 대한 제어결과를 상기 네트워크 서버로부터 획득하였는지 확인하는 과정
을 포함하는 것을 특징으로 하는 제어결과 확인방법. - 제1항에 있어서,
상기 제어결과 확인목록은,
상기 단말의 식별자, 상기 제어요청 데이터에 포함된 제어정보의 식별자, 상기 단말의 주기보고 수신여부, 상기 단말의 주기보고 수신 시각, 예상 제어 소요시간, 제어상태 중 일부 또는 전부를 포함하는 것을 특징으로 하는 제어결과 확인방법. - 제2항에 있어서,
상기 예상 제어 소요시간은,
상기 제어정보 또는 상기 단말의 식별자에 따라 상이하게 결정되는 것을 특징으로 하는 제어결과 확인방법. - 제2항에 있어서,
상기 단말의 주기보고에 대한 플랫폼 자원 및 상기 단말의 식별자를 상기 네트워크 서버로부터 획득한 경우, 상기 제어결과 확인목록 내 상기 단말의 주기보고 수신여부 필드와 상기 단말의 주기보고 수신 시각 필드에 상기 주기보고를 수신한 것과 수신한 시각을 명시하는 것을 특징으로 하는 제어결과 확인방법. - 제2항에 있어서,
상기 제어결과를 상기 네트워크 서버로부터 획득하였는지 확인하는 과정은,
상기 플랫폼 자원을 획득한 시각에서 상기 예상 제어 소요시간이 경과한 후, 상기 제어요청 데이터에 대한 제어결과를 상기 네트워크 서버로부터 획득한 경우, 상기 제어상태 필드에 제어가 완료된 것으로 명시하며 상기 단말로부터 획득한 제어결과를 함께 명시하는 것을 특징으로 하는 제어결과 확인방법. - 제2항에 있어서,
상기 제어결과를 상기 네트워크 서버로부터 획득하였는지 확인하는 과정은,
상기 플랫폼 자원을 획득한 시각에서 상기 예상 제어 소요시간이 경과한 후, 상기 제어요청 데이터에 대한 제어결과를 상기 네트워크 서버로부터 획득하지 못한 경우, 상기 제어상태 필드에 제어가 완료된 것으로 명시하며 상기 제어요청 데이터는 타임 아웃(Time Out)된 것으로 명시하는 것을 특징으로 하는 제어결과 확인방법. - 기 설정된 주기마다 통신 가능한 단말의 제어 결과를 확인할 수 있는 제어결과 확인장치에 있어서,
상기 단말의 제어요청 데이터를 애플리케이션 서버로부터 수신하며, 수신한 제어요청 데이터를 네트워크 서버로 전달하는 통신부;
상기 제어요청 데이터에 포함된 서비스 식별자가 기 설정된 서비스 식별자와 일치하는 경우, 상기 제어요청 데이터에 대한 제어결과 확인목록을 생성하고,
상기 단말의 주기보고에 대한 플랫폼 자원 및 상기 단말의 식별자를 상기 네트워크 서버로부터 획득하여, 획득한 단말의 식별자와 일치하는 단말의 식별자가 상기 제어결과 확인목록 내 존재하는지를 판단하며,
상기 획득한 단말의 식별자와 일치하는 단말의 식별자가 상기 제어결과 확인목록 내 존재하는 경우, 상기 플랫폼 자원을 획득한 때부터 기 설정된 기간 경과 후, 상기 제어요청 데이터에 대한 제어결과를 상기 네트워크 서버로부터 획득하였는지 확인하는 제어부;
상기 제어결과 확인목록을 저장하는 데이터베이스; 및
상기 플랫폼 자원을 획득한 때부터 상기 기 설정된 기간이 경과하였는지를 확인하기 위한 타이머
를 포함하는 것을 특징으로 하는 제어결과 확인장치.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160143573A KR102054144B1 (ko) | 2016-10-31 | 2016-10-31 | IoT 서비스에서 단말을 제어하기 위한 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020160143573A KR102054144B1 (ko) | 2016-10-31 | 2016-10-31 | IoT 서비스에서 단말을 제어하기 위한 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20180047474A true KR20180047474A (ko) | 2018-05-10 |
KR102054144B1 KR102054144B1 (ko) | 2019-12-10 |
Family
ID=62184475
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020160143573A KR102054144B1 (ko) | 2016-10-31 | 2016-10-31 | IoT 서비스에서 단말을 제어하기 위한 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102054144B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021162321A1 (ko) * | 2020-02-11 | 2021-08-19 | 삼성전자주식회사 | 서버 장치 및 그의 제어 방법 |
-
2016
- 2016-10-31 KR KR1020160143573A patent/KR102054144B1/ko active IP Right Grant
Non-Patent Citations (1)
Title |
---|
ThingPlug API Document For Lora-Based & IoT Application Development, Version 1.7, SK telecom (2016. 8. 22.)* * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021162321A1 (ko) * | 2020-02-11 | 2021-08-19 | 삼성전자주식회사 | 서버 장치 및 그의 제어 방법 |
US11418607B2 (en) | 2020-02-11 | 2022-08-16 | Samsung Electronics Co., Ltd. | Server apparatus and controlling method thereof |
Also Published As
Publication number | Publication date |
---|---|
KR102054144B1 (ko) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10855811B2 (en) | Network device and information processing method | |
US20230247388A1 (en) | Communication system, method and device for miniature intelligent sensor | |
US7940744B2 (en) | System, apparatus and method for automated wireless device configuration | |
US10039174B2 (en) | Systems and methods for acknowledging broadcast messages in a wireless lighting control network | |
KR101743195B1 (ko) | 정보 제공방법, 장치, 프로그램 및 기록매체 | |
US11438777B2 (en) | Method and apparatus for monitoring Zigbee node network status | |
CN108337308B (zh) | Lwm2m客户端与上位机数据通信方法、装置及其系统 | |
TWI740210B (zh) | 終端設備管理方法及伺服器 | |
CN114629822B (zh) | 链路检测方法、装置、电子设备及存储介质 | |
US10489055B2 (en) | Z-wave controller shift in thermostats | |
US20230045914A1 (en) | Method and apparatus for controlling device in internet of things, and gateway device and storage medium | |
US20140032892A1 (en) | Method and apparatus for bootstrapping gateway in device management system | |
CN113518125A (zh) | 离线数据的上传方法及系统、存储介质、电子装置 | |
KR102661279B1 (ko) | 에지 데이터 네트워크(edn)에서 에지 어플리케이션 서버(eas)로 서비스를 제공하는 방법 및 장치 | |
CN103780436A (zh) | 网络装置与其相关的连接保持方法 | |
US9800745B2 (en) | Camera system and method of controlling the same | |
WO2022083281A1 (zh) | 消息传输方法、系统、电子设备和存储介质 | |
KR102647498B1 (ko) | M2m 시스템에서 통지 메시지 전송 방법 및 그 장치 | |
US11475134B2 (en) | Bootstrapping a device | |
US10044838B2 (en) | Method of automatically setting protocol in programmable logic controller system | |
US20210014111A1 (en) | Transmission of data from a management entity to a smart electricity meter | |
CN112887416B (zh) | 发送保活包的频率调整方法及装置 | |
CN110071950B (zh) | 信息传输方法、中转装置、终端、受控设备及存储介质 | |
KR20180047474A (ko) | IoT 서비스에서 단말을 제어하기 위한 방법 및 장치 | |
CN112817248A (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 |