KR102025631B1 - Non-TCP/IP 기반의 네트워크상의 IoT 기기와 oneM2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버 및 그 동작 방법 - Google Patents
Non-TCP/IP 기반의 네트워크상의 IoT 기기와 oneM2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버 및 그 동작 방법 Download PDFInfo
- Publication number
- KR102025631B1 KR102025631B1 KR1020170090128A KR20170090128A KR102025631B1 KR 102025631 B1 KR102025631 B1 KR 102025631B1 KR 1020170090128 A KR1020170090128 A KR 1020170090128A KR 20170090128 A KR20170090128 A KR 20170090128A KR 102025631 B1 KR102025631 B1 KR 102025631B1
- Authority
- KR
- South Korea
- Prior art keywords
- iot
- zigbee
- server
- container name
- tcp
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
- H04L69/085—Protocols for interworking; Protocol conversion specially adapted for interworking of IP-based networks with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/106—Mapping addresses of different types across networks, e.g. mapping telephone numbers to data network addresses
-
- 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/32—
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 상향 링크 데이터 전송 방법이 개시된다. 상향 링크 데이터 전송 방법은, IoT 기기로부터 상태 정보를 포함한 Non-TCP/IP 패킷을 수신하는 단계, 수신된 상태 정보에 대응되는 컨테이너 이름(container name)을 식별하는 단계, 수신된 Non-TCP/IP 패킷에서 획득한 상태 정보 또는 상기 컨테이너 이름을 oneM2M 표준에 따른 형식으로 변환하는 단계 및 변환된 상태 정보 또는 변환된 컨테이너 이름을 IoT 서버에 전송하는 단계를 포함한다. 따라서, 비 IP 기반 네트워크와 IoT 서버 상호간의 호환성을 보장할 수 있다.
Description
본 발명은 Non-TCP/IP 기반의 네트워크상의 IoT 기기와 oneM2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버 및 그 동작 방법에 관한 것으로, 더욱 상세하게는 모비우스 플랫폼이 설치된 IoT 서버와 비 IP 기반 IoT 기기 사이에 게이트웨이 서버에서, 양자를 중계하여 호환성을 보장하는 통신 방법에 관한 것이다.
현재 사물 인터넷(IoT, Internet of Things) 기술은 전 세계적으로 많은 관심이 집중되고 있고, 매우 빠른 속도로 발전하고 있다. 이에 따라 사물 인터넷과 관련된 기기들의 수가 2011년에는 20억개에서 2020년에는 120억개로 증가할 것으로 예측되고 있으며, 스마트폰을 포함하면 훨씬 많은 수의 기기가 보급될 것으로 예측되고 있다.
현재 IoT 시장에서 다양한 성공적인 비즈니스 사례가 등장하지 못하는 큰 이유 중 하나는 IoT 서비스를 만들기 위해 제품부터 서버 등 기반 플랫폼을 개발하는데 많은 비용이 들고 기반 플랫폼이 서비스에 종속적인 경우가 많아 개발 후에도 다른 개발사들에서 개발한 제품들은 서로 호환이 불가능하다는 문제가 있었다.
이 때문에 다양한 표준화 단체에서 사물 인터넷의 표준화를 위한 플랫폼 표준화를 진행하고 있는 상황인데, 그 중에서 oneM2M(one Machine to Machine)에서는 다양한 표준화 단체에서 제시하고 있는 플랫폼들을 하나로 규합하여, 최상의 플랫폼에 대한 표준화 및 플랫폼 활용 방안을 제시하고 있다.
한편, 모비우스(Mobius)는 oneM2M 표준을 따라 구현된 IoT 서버용 소프트웨어 플랫폼이다. 현재는 open alliance for IoT standard (OCEAN)을 통해 새로운 버전들이 개발되어 공개되고 있다. Mobius는 서버용 플랫폼으로서 사물로부터 수집한 데이터의 저장과 관리 기능을 수행하며, 이러한 기능을 HTTP, CoAP과 같은 통신 프로토콜이 사용하는 REST API를 통해 제어할 수 있도록 했다.
&Cube는 IoT 시스템의 게이트웨이 및 기기용 소프트웨어 플랫폼으로 Mobius 및 기기의 소프트웨어와 소켓 인터페이스를 통해 데이터를 주고받는다. 일반적으로 Mobius로의 데이터 전송은 소켓 인터페이스 위의 HTTP를 통해 전송되며, 상태정보와 제어신호는 MQTT를 통해 수신 받는다.
이때, 기존의 oneM2M 기반의 Mobius 서버와 &Cube 게이트웨이로 구성된 시스템은 TCP/IP 기반 네트워크를 통해 연결된 기기들과 정보를 주고받을 수 있는 인터페이스만이 구성되어있어 ZigBee 기반의 네트워크와의 호환이 어려운 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 상향 링크 데이터 전송 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 하향 링크 데이터 전송 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 또 다른 목적은, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명의 일 측면은, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 상향 링크 데이터 전송 방법을 제공한다.
여기서 상향 링크 데이터 전송 방법은, IoT 기기로부터 상태 정보를 포함한 Non-TCP/IP 패킷을 수신하는 단계, 수신된 상태 정보에 대응되는 컨테이너 이름(container name)을 식별하는 단계, 수신된 Non-TCP/IP 패킷에서 획득한 상태 정보 또는 컨테이너 이름을 oneM2M 표준에 따른 형식으로 변환하는 단계 및 변환된 상태 정보 또는 변환된 컨테이너 이름을 IoT 서버에 전송하는 단계를 포함할 수 있다.
여기서, Non-TCP/IP 기반의 네트워크는 ZigBee 네트워크이고, Non-TCP/IP 패킷은 ZigBee 패킷일 수 있다.
여기서, 상량 링크 데이터 전송 방법은, Non-TCP/IP 패킷에서 Non-TCP/IP 패킷을 전송한 IoT 기기의 Non-TCP/IP기반의 네트워크 주소를 추출하고, 추출된 Non-TCP/IP기반의 네트워크 주소를 컨테이너 이름과 매핑하여 저장하는 단계를 더 포함할 수 있다.
여기서, 게이트웨이 서버는, &Cube 의 소프트웨어 플랫폼이 설치되고, &Cube 의 소프트웨어 플랫폼 이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 IoT 서버와 데이터를 송수신할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 하향 링크 데이터 전송 방법을 제공한다.
여기서 하향 링크 데이터 전송 방법은, IoT 서버로부터 제어 메시지를 수신하는 단계, 제어 메시지로부터 컨테이너 이름(container name)과 제어 정보인 컨텐트 인스턴스(content instance)를 획득하는 단계, 컨네이너 이름을 이용하여 제어 정보를 전달할 IoT 기기의 Non-TCP/IP 기반의 네트워크 주소를 획득하는 단계, Non-TCP/IP 기반의 네트워크 주소와 컨텐트 인스턴스로부터 획득한 제어 정보를 포함하여 Non-TCP/IP 패킷을 생성하는 단계 및 생성한 Non-TCP/IP 패킷을 제어 정보를 전달할 IoT 기기로 전송하는 단계를 포함할 수 있다.
여기서, Non-TCP/IP 기반의 네트워크는 ZigBee 네트워크이고, Non-TCP/IP 패킷은 ZigBee 패킷일 수 있다.
여기서, 컨네이터 이름은 Non-TCP/IP 기반의 네트워크 주소와 매핑되어 미리 저장될 수 있다.
여기서, 게이트웨이 서버는, &Cube 의 소프트웨어 플랫폼이 설치되고, &Cube 의 소프트웨어 플랫폼이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 IoT 서버와 데이터를 송수신할 수 있다.
여기서, IoT 서버로부터 제어 메시지를 수신하는 단계는, &Cube 의 소프트웨어 플랫폼을 이용하여 oneM2M 표준의 문자열 형태로 제어 메시지를 수신할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버(gateway server)를 제공한다.
여기서 게이트웨이 서버는, 적어도 하나의 프로세서, 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
여기서 적어도 하나의 단계는, IoT 기기로부터 상태 정보를 포함한 Non-TCP/IP 패킷을 수신하는 단계, 수신된 상태 정보에 대응되는 컨테이너 이름(container name)을 식별하는 단계, 수신된 Non-TCP/IP 패킷에서 획득한 상태 정보 또는 컨테이너 이름을 oneM2M 표준에 따른 형식으로 변환하는 단계 및 변환된 상태 정보 또는 변환된 컨테이너 이름을 IoT 서버에 전송하는 단계를 포함할 수 있다.
여기서, Non-TCP/IP 기반의 네트워크는 ZigBee 네트워크이고, Non-TCP/IP 패킷은 ZigBee 패킷일 수 있다.
여기서, 명령어들은 적어도 하나의 프로세서가, Non-TCP/IP 패킷에서 Non-TCP/IP 패킷을 전송한 IoT 기기의 Non-TCP/IP기반의 네트워크 주소를 추출하고, 추출된 Non-TCP/IP기반의 네트워크 주소를 컨테이너 이름과 매핑하여 저장하도록 지시할 수 있다.
여기서, 게이트웨이 서버는, &Cube 의 소프트웨어 플랫폼이 설치되고, &Cube 의 소프트웨어 플랫폼 이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 IoT 서버와 데이터를 송수신할 수 있다.
여기서, 명령어들은 적어도 하나의 프로세서가, IoT 서버로부터 제어 메시지를 수신하는 단계, 제어 메시지로부터 컨테이너 이름(container name)과 제어 정보인 컨텐트 인스턴스(content instance)를 획득하는 단계, 컨네이너 이름을 이용하여 제어 정보를 전달할 IoT 기기의 Non-TCP/IP 기반의 네트워크 주소를 획득하는 단계, Non-TCP/IP 기반의 네트워크 주소와 컨텐트 인스턴스로부터 획득한 제어 정보를 포함하여 Non-TCP/IP 패킷을 생성하는 단계 및 생성한 Non-TCP/IP 패킷을 제어 정보를 전달할 IoT 기기로 전송하는 단계를 더 수행하도록 지시할 수 있다.
여기서, 명령어들은 적어도 하나의 프로세서가, oneM2M 표준의 문자열 형태로 제어 메시지를 수신하도록 지시할 수 있다.
상기와 같은 본 발명에 따른 Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버, 상향 링크 데이터 전송 방법 또는 하향 링크 데이터 전송 방법을 이용할 경우에는 IP 기반이 아닌 네트워크와도 oneM2M 표준에 따른 데이터 통신을 할 수 있다.
또한, oneM2M 표준에 따른 &Cube 및 모비우스 플랫폼과 호환하여 동작될 수 있어, 기존 시스템에 용이하게 도입할 수 있는 장점이 있다.
도 1은 oneM2M 표준 플랫폼의 구조를 나타낸 개념도이다.
도 2는 본 발명의 일 실시예에 따른 모비우스(Mobius) 플랫폼을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 IoT 서버와 연동되는 ZigBee 기반의 네트워크에 대한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 게이트웨이 서버를 중심으로 한 전체 시스템 구성도이다.
도 5는 본 발명의 일 실시예에 따른 ZigBee 네트워크와 M2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 데이터 전송 방법에 대한 데이터 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 게이트웨이 서버에 구동되는 소프트웨어(ZIS)를 중심으로 한 데이터 전송 과정을 시간의 흐름에 따라 도시한 개념도이다.
도 7은 본 발명의 일 실시예에 따른 게이트웨이 서버에서 수행되는 상향 링크 데이터 전송 방법에 대한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 게이트웨이 서버에서 수행되는 하향 링크 데이터 전송 방법에 대한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 게이트웨이 서버의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 모비우스(Mobius) 플랫폼을 설명하기 위한 개념도이다.
도 3은 본 발명의 일 실시예에 따른 IoT 서버와 연동되는 ZigBee 기반의 네트워크에 대한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 게이트웨이 서버를 중심으로 한 전체 시스템 구성도이다.
도 5는 본 발명의 일 실시예에 따른 ZigBee 네트워크와 M2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 데이터 전송 방법에 대한 데이터 흐름도이다.
도 6은 본 발명의 일 실시예에 따른 게이트웨이 서버에 구동되는 소프트웨어(ZIS)를 중심으로 한 데이터 전송 과정을 시간의 흐름에 따라 도시한 개념도이다.
도 7은 본 발명의 일 실시예에 따른 게이트웨이 서버에서 수행되는 상향 링크 데이터 전송 방법에 대한 흐름도이다.
도 8은 본 발명의 일 실시예에 따른 게이트웨이 서버에서 수행되는 하향 링크 데이터 전송 방법에 대한 흐름도이다.
도 9는 본 발명의 일 실시예에 따른 게이트웨이 서버의 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 oneM2M 표준 플랫폼의 구조를 나타낸 개념도이다.
도 1을 참조하면, oneM2M 표준 플랫폼에 따른 구조는 필드 도메인(Field Domain)과 인프라스트럭쳐 도메인(Infrastructure Domain)으로 구분될 수 있다.
여기서, AE(Application Entity)는 어플리케이션 로직을 제공하며 ,다양한 서비스들을 제공하는 어플리케이션을 의미할 수 있다. 또한, CSE를 관리하는 목적의 AE도 oneM2M 표준 플랫폼에 포함될 수 있다.
또한, AE는 CSE(Common Service Entity)를 포함하고 있는 논리적 기기인지 여부에 따라 ASN-AE(Application Service Node-AE)와 ADN-AE(Application Dedicated Node-AE)로 구분될 수 있다. AE는 센서를 비롯한 각종 IoT 기기들이 이에 해당할 수 있는데, CSE를 포함하는 ASN-AE는 서버와 마찬가지로 데이터를 저장하고 관리하는 기능이 있을 수 있다.
CSE는 사물 인터넷(Internet of Things, IoT)의 다양한 AE 들에게 공통적으로 제공해야하는 서비스 기능들로 이루어진 플랫폼일 수 있다. 이러한 공통 서비스들은 레퍼런스 포인트들을 통하여 제공될 수 있으며, CSE의 위치에 따라 ASN-CSE(Application Service Node-CSE), MN-CSE(Middle Node-CSE)와 IN-CSE(Infrastructure Node-CSE)로 구분될 수 있다. ASN-CSE에는 &Cube에서 제공하는 Lavender가 설치될 수 있다.
예를 들어, CSE는 등록, 검색, 보안, 그룹, 데이터, 구독 및 통지, 기기관리 등 12가지 공통 기능을 제공할 수 있다.
NSE(Network Sertvice Entity)는 네트워크 서비스를 제공하는 플랫폼일 수 있다. 예를 들면, NSE는 디바이스 관리, 디바이스 트리거링, 네트워크 연동 등과 같은 서비스들을 제공할 수 있다.
MN(Middle Node)는 게이트웨이 역할을 하는 노드를 의미할 수 있으며, ASN-AE와 마찬가지로 CSE를 포함하여 공통 서비스 기능을 제공할 수 있다.
한편, oneM2M 표준 플랫폼은 각 노드들간의 인터페이스를 위하여 AE와 CSE간의 M2M(Machine to Machine) 통신으로 Mca, CSE 들간의 M2M 통신으로 Mcc, CSE와 NSE 간의 M2M 통신으로 Mcn, 서로 다른 서비스 도메인의 CSE간의 M2M 통신으로 Mcc 레퍼런스 포인트를 제공할 수 있다.
여기서, 노드간 연결에서, 점선으로 표시된 것은 무선 연결을 의미할 수 있고, 모든 노드는 게이트웨이인 MN을 통해 데이터를 전달하는 것으로 표현하였다.
인프라스트럭쳐 도메인의 IN(infrastructure node)는 IoT 서버를 의미할 수 있으며, AE와 CSE로 구성될 수 있다. 여기서, IN 에 있는 CSE는 Mobius가 해당할 수 있는데, Mobius는 사용자 애플리케이션과 연동되어 사물 인터넷 서비스를 제공하는데 필요한 기능을 수행할 수 있다. Mobius에 대해서는 이하에서 더 자세히 설명한다.
도 2는 본 발명의 일 실시예에 따른 모비우스(Mobius) 플랫폼을 설명하기 위한 개념도이다.
모비우스 플랫폼은 사물 간에 인터넷을 할 수 있는 물리적 기반인 통신 네트워크가 원활하게 작동하도록 하는 운영체제를 의미할 수 있다. 모비우스 플랫폼은 각종 IoT 기기와 사용자 애플리케이션의 통신 연결을 중계하여, 서로간의 통신 연결을 쉽고 편리하게 할 수 있다. 특히, 개방형 개발 환경에서 누구든지 IoT 서비스를 만들어 사용하는 것을 돕는다.
도 2를 참조하면, 모비우스 플랫폼은 IoT 기기와 사용자 애플리케이션을 연결하는 중간 매개체로서, IoT 기기가 모비우스 플랫폼이 구동되는 IoT 서버로 데이터(제어 결과, 상태 정보 등)을 전송하면, 모비우스 플랫폼은 데이터를 저장하고 사용자 애플리케이션으로 전달할 수 있다.
사용자 애플리케이션은 IoT 기기의 상태나 센싱 정보 등을 조회하거나, IoT 기기를 제어할 수 있다.
한편, 도 2에서와 같이, 모비우스 플랫폼은 IoT 기기들과의 통신 프로토콜로서, HTTP, CoAP(Constrained Application Protocol), MQTT(Message Queue Telemetry Transport)를 지원할 수 있으며, 사용자 애플리케이션과의 통신 프로토콜로서, HTTP를 지원할 수 있다. 예를 들면, HTTP 서버 위에 MQTT 브로커와 CoAP 서버를 구현하고, MQTT와 CoAP 프로토콜 메시지를 HTTP 메시지로 변환하는 형태로 MQTT와 CoAP를 지원할 수 있다.
또한, 모비우스 서버(Mobius Server)의 데이터베이스(Database, DB)는 대용량 데이터 처리를 위한 메모리 기반의 Redis DB와 데이터를 저장하는 NoSQL(non Structured Query Language) DB인 Mongo DB를 지원할 수 있다.
도 2에서 CoAP Proxy는 CoAP 프로토콜을 지원하는 소프트웨어 모듈일 수 있으며, MQTT server는 MQTT 프로토콜을 지원하는 소프트웨어 모듈일 수 있다.
이처럼, 모비우스 플랫폼을 설치한 IoT 서버는 통신 프로토콜로서 HTTP, CoAP, MQTT 프로토콜을 지원하므로 TCP/IP 기반의 네트워크와 통신할 수 있는 반면, 상기 Non-TCP/IP 기반의 네트워크와 직접 통신하기 어려운 문제를 가질 수 있다.
이하에서는 Non-TCP/IP 기반의 네트워크 중 하나인 ZigBee 기반의 네트워크를 설명한다.
도 3은 본 발명의 일 실시예에 따른 IoT 서버와 연동되는 ZigBee 기반의 네트워크에 대한 개념도이다.
도 3을 참조하면, ZigBee 기반의 네트워크(ZigBee network)는 코디네이터(coordinator, C), 라우터(router, R), 종단기기(end device, E)로 구성될 수 있다.
여기서, 각각의 ZigBee 기반의 네트워크 마다 하나의 코디네이터가 필요할 수 있다. 코디네이터는 네트워크 정보를 초기화할 수 있으며, IEEE 802.15.4 표준의 PAN코디네이터와 같은 역할을 수행할 수 있다. 이때, FFD(Full Function Device)만이 코디네이터가 될 수도 있다.
라우터는 필요하면 사용하는 선택적인 기기(또는 노드)로서 여러개의 라우터가 존재 할 수 있다. ZigBee 기반의 네트워크는 기본적으로 저전력 근거리 통신이므로, 라우터를 통해 멀티홉으로 네트워크를 확장할 수 있게 된다. 라우터는 코디네이터 혹은 이미 네트워크에 접속중인 다른 라우터를 통해 네트워크에 참여할 수 있다. IEEE 802.15.4표준의 코디네이터와 유사한 역할을 할 수 있고, FFD만이 라우터가 될 수도 있다.
종단기기는 가장 하위 계층의 기기로서, 필요할때 설치할 수 있는 기기이며 라우팅에는 참여하지 못할 수 있다. 하나의 ZigBee 기반의 네트워크에는 여러개의 종단기기가 존재할 수 있다. 종단기기는 코디네이터 또는 이미 네트워크에 접속중인 라우터를 통해 네트워크에 참여할 수 있다. 종단기기의 데이터는 라우터를 통해 중계되어 다른 종단기기나 코디네이터에 전달될 수 있다.
본 발명에 따른 방법 또는 장치가 적용될 수 있는 ZigBee 기반의 네트워크는 게이트웨이 서버(gateway server)를 통해 IoT 서버로 연결되거나 다른 네트워크들에 연결될 수 있다.
즉, 본 발명의 일 실시예에 따른 ZigBee 기반의 네트워크상의 기기들은 TCP/IP 기반의 네트워크와 마찬가지로 게이트웨이 서버를 거쳐 데이터를 전달하는 방식을 취할 수 있다.
이하에서는, 본 발명의 일 실시예에서 제안하는 게이트웨이 서버의 동작 방법을 설명한다.
도 4는 본 발명의 일 실시예에 따른 게이트웨이 서버를 중심으로 한 전체 시스템 구성도이다.
도 4를 참조하면, 가운데 도시된 게이트웨이 서버(Gateway)를 중심으로, ZigBee 통신 모듈이 있는 IoT 기기(Device로 표기) 및 IoT 서버(IoT server) 상호간의 데이터 중계 시스템을 설명할 수 있다.
먼저, 본 발명의 일 실시예에 따른 게이트웨이 서버(Gateway)는 하드웨어로서 라즈베리 파이(Raspberry pi)가 탑재될 수 있으며, 구동되는 소프트웨어로는 &Cube의 Thyme이 사용될 수 있다. 여기서, 라즈베리 파이는 라즈베리파이 재단에서 개발한 싱글 보드 컴퓨터로 예시적인 것이며, 이뿐만 아니라 다양한 서버 구동용 하드웨어가 사용될 수 있다.
또한, 게이트웨이 서버의 내부에 ZIS(Zigbee internetworking software)는 본 발명의 일 실시예에 따른 게이트웨이 서버의 동작 방법을 구현하기 위한 소프트웨어 모듈을 명시하기 위하여 Thyme과 별도로 도시한 것이나, Thyme에 결합되어 구현될 수 있어, 예시적인 것으로 이해되어야 한다.
여기서, 본 발명의 일 실시예에 따른 ZIS는 다른 소프트웨어 모듈인 Thyme과 TCP/IP 소켓 인터페이스(socket interface)를 사용하여 데이터를 주고 받을 수 있으며, ZigBee 통신을 지원하는 통신 모듈인 ZigBee module과는 직렬 포트(serial port)를 통해 데이터를 주고 받을 수 있다.
구체적으로, ZIS는 IoT 기기의 상태 정보 또는 센싱 정보를 ZigBee module로부터 전달받으면, Thyme으로 전달하는 역할을 수행할 수 있고, Thyme으로부터 전달되는 제어 메시지를 수신하여, ZigBee module에 목적 IoT 기기의 주소를 명시하여 전송하는 역할을 수행할 수 있다.
여기서, ZigBee module은 게이트웨이 서버에 내장되는 모듈과 IoT 기기에 내장되는 모듈을 각각 도시한 것이다.
여기서, IoT 기기(Device)는 센서인 경우를 예로 들면, 하드웨어로서 온도, 습도, 거리등을 감지할 수 있는 센서 모듈(sensor module)을 탑재할 수 있고, 소프트웨어 모듈로는 TAS(thig adaptation software)가 설치될 수 있다.
TAS는 사물인터넷 디바이스 플랫폼인 &Cube에서 센서의 값을 지속적으로 측정하고 서버 플랫폼인 모비우스(Mobius)로 측정된 값을 전달, 사물을 제어하는 기능을 하는데 활용하는 소프트웨어를 의미할 수 있다.
구체적으로 TAS는 센서 모듈 API(sensor mudule API)를 이용하여 필요한 데이터를 읽고, ZigBee module로 전송할 패킷(packet)을 생성할 수 있고, 수신받은 제어 패킷을 처리하여 seonsor module API를 호출함으로써 제어 명령에 따른 동작을 수행하도록 할 수 있다.
한편, IoT 서버는 도 2에서 설명한 모비우스 플랫폼이 구동될 수 있는데, 모비우스는 수집한 데이터를 트리 형태로 저장 및 관리할 수 있다.
예를 들어, 게이트웨이 서버의 Thyme과 대응하여 게이트웨이 역할을 하는 Thyme이 있을 수 있고, 그 하위 트리로서, oneM2M 표준 리소스인 컨테이너(container)가 존재할 수 있다.
컨테이너는 폴더와 같은 역할을 하여 시간에 따라 컨텐트 인스턴스(content instance)를 저장할 수 있다. 예를 들어, 컨테이너로서 습도(Humidity), 압력(Pressure), 온도(Temperature), LED(Light emitting diode)가 각각 관리될 수 있다. 컨텐트 인스턴스는 실제 감지된 온도 값, 습도 값 등이거나 제어를 위한 값으로서 문자열 형태로 저장될 수 있다.
사용자 애플리케이션(User App)은 도 2의 설명을 참조할 수 있으므로 중복 설명을 방지하기 위하여 별도의 설명은 생략한다.
이하에서는 구체적으로, 게이트웨이 서버에 탑재되는 소프트웨어 모듈인 ZIS의 동작 과정을 상향 링크(uplink) 데이터 전송과 하향 링크(downlink) 데이터 전송 각각으로 나누어 설명한다.
도 5는 본 발명의 일 실시예에 따른 ZigBee 네트워크와 M2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 데이터 전송 방법에 대한 데이터 흐름도이다.
도 5를 참조하면, 도 4에서 도시한 게이트웨이 서버의 ZIS가 IoT 서버와 ZigBee 네트워크 상호간의 데이터 전송을 중계하는 과정을 설명할 수 있다.
여기서, 도 4에 따른 ZIS는 그 기능적 분류에 따라 소프트웨어 모듈인 데이터 형식화와 소켓 인터페이스 모듈(Entity for formatting and socket interface), ZigBee 패킷 처리 모듈(Entity for processing ZigBee packets), ZigBee 네트워크 관리 모듈(Entity for network management)로 나눌 수 있다.
따라서, 이하에서는 각각의 모듈별로 동작 과정을 서술하나, 이것은 예시적인 것으로 전부나 일부가 통합되어 구현될 수 있다.
먼저, 상향링크 데이터 전송은 다음과 같은 과정으로 수행될 수 있다.
게이트웨이 서버가 ZigBee 네트워크를 통해 ZigBee 네트워크로부터 기기 상태, 센서의 결과값 등의 정보를 포함한 패킷들(packets for state information)을 수신하면, 게이트웨이 서버의 ZigBee 패킷 처리 모듈은 수신된 패킷들에서 송신한 장치의 ZigBee 모듈 주소, 기기 상태나 센서의 결과값 정보를 획득할 수 있다.
여기서, ZigBee 패킷 처리 모듈은 획득한 기기 상태 또는 센서의 결과값 정보를 바탕으로 IoT 서버의 모비우스 플랫폼 상의 컨테이너 이름(container name)을 식별할 수 있다. 이렇게 식별된 컨테이너 이름 및 기기 상태 또는 센서 결과값 정보는 데이터 형식화와 소켓 인터페이스 모듈로 전달될 수 있다.
데이터 형식화와 소켓 인터페이스 모듈은, 전달받은 컨테이너 이름 및 기기 상태 또는 센서 결과값 정보를 oneM2M 표준에 정의된 형태로 변환하고, TCP/IP 기반의 소켓 인터페이스를 이용하여 게이트웨이 서버 내부에서 구동되는 다른 소프트웨어 모듈인 &Cube의 Thyme으로 전달할 수 있다. 여기서, Thyme은 전달받은 문자열을 IoT 서버로 전송할 수 있다.
다음으로, 하향링크 데이터 전송은 다음과 같은 과정으로 수행될 수 있다.
Thyme이 IoT 서버로부터 수신된 제어 메시지(control message)를 oneM2M 표준의 문자열(string) 형태로 데이터 형식화와 소켓 인터페이스 모듈로 전달하면, 데이터 형식화와 소켓 인터페이스 모듈은, 전달받은 문자열에서, 컨테이너 이름과 제어 정보나 값인 컨텐트 인스턴스를 획득할 수 있다.
그리고나면, 데이터 형식화와 소켓 인터페이스 모듈은 컨테이너 이름(container name)을 ZigBee 네트워크 관리 모듈로 전송하며, 제어 정보나 값은 ZigBee 패킷 처리 모듈로 전송할 수 있다.
ZigBee 네트워크 관리 모듈은 전달받은 컨테이너 이름을 이용하여 ZigBee 네트워크 상의 ZigBee module의 주소를 확인하고, 확인된 주소를 ZigBee 패킷 처리 모듈로 전달할 수 있다.
ZigBee 패킷 처리 모듈은 전달받은 제어 정보나 값 및 ZigBee module의 주소를 포함하는 ZigBee 패킷을 생성하고, 생성된 ZigBee 패킷을 ZigBee 네트워크상의 IoT 기기로 전송할 수 있다.
한편, 상향 링크와 하향 링크는 순서대로 발생하지 않으므로, 데이터 형식화와 소켓 인터페이스 모듈 및 ZigBee 패킷 처리 모듈은 상향 링크와 하향 링크를 적절히 스케줄링하기 위하여 다중화 기능이 구현될 수 있다.
도 6은 본 발명의 일 실시예에 따른 게이트웨이 서버에 구동되는 소프트웨어(ZIS)를 중심으로 한 데이터 전송 과정을 시간의 흐름에 따라 도시한 개념도이다.
도 6을 참조하면, TAS는 앞서 도 4에서 설명한 바와 같이 ZigBee 네트워크 상에 위치한 IoT 기기에서 구동되는 소프트웨어 모듈이며, ZIS는 본 발명의 일 실시예에 따른 게이트웨이 서버에서 구동되는 소프트웨어 모듈이고, AE는 게이트웨이 서버의 소프트웨어 모듈인 Thyme을 oneM2M 표준에 따라 대응시켜 표시한 것이고, CSE는 IoT 서버에서 구동되는 모비우스 플랫폼을 oneM2M 표준에 따라 대응시켜 표시한 것이다.
CSE인 Mobius까지의 데이터 전송은 상향 링크(Uplink) 전송을 나타내며, ZigBee 네트워크까지의 반대 방향의 전송은 하향 링크(downlink)를 나타낸다.
상향 링크는 ZigBee 네트워크의 IoT 기기에 설치된 TAS로부터 시작할 수 있다. TAS는 상태 정보 data를 ZigBee 패킷을 이용해 ZIS로 전달할 수 있다. ZIS는 전달 받은 패킷을 통해 oneM2M 문자열을 생성하고 &Cube의 Thyme으로 TCP/IP 소켓을 통해 문자열을 전송할 수 있다. Thyme은 전달 받은 문자열을 HTTP 프로토콜을 이용하여 Mobius로 전달할 수 있다.
하향 링크는 주로 업데이트한 데이터의 acknowledgement 또는 제어 메시지 전달을 위해 발생할 수 있다. 모비우스 플랫폼에서는 앞에서 설명한 바와 같이 하향 링크 데이터 전송을 위해 주로 MQTT 프로토콜을 사용할 수 있다. MQTT는 저 전력 통신 기술로 IoT 통신을 위해 개발되었다. MQTT 프로토콜의 동작은 특정 URI에 대한 구독 신청을 한 개체들에게 URI의 정보가 바뀔 경우 알림(notification) 메시지를 전송하는 방식으로 이루어질 수 있다. 모비우스 플랫폼은 상태 정보의 모니터링을 원하는 사용자와 제어를 위한 기기가 구독을 하여 notification을 받는 방법으로 하향 링크 전송을 발생시킬 수 있다.
도 7은 본 발명의 일 실시예에 따른 게이트웨이 서버에서 수행되는 상향 링크 데이터 전송 방법에 대한 흐름도이다.
도 7을 참조하면, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 상향 링크 데이터 전송 방법은, IoT 기기로부터 상태 정보를 포함한 Non-TCP/IP 패킷을 수신하는 단계(S100), 수신된 상태 정보에 대응되는 컨테이너 이름(container name)을 식별하는 단계(S110), 수신된 Non-TCP/IP 패킷에서 획득한 상태 정보 또는 상기 컨테이너 이름을 oneM2M 표준에 따른 형식으로 변환하는 단계(S120) 및 변환된 상태 정보 또는 변환된 컨테이너 이름을 IoT 서버에 전송하는 단계(S130)를 포함할 수 있다.
여기서, 상기 Non-TCP/IP 기반의 네트워크는 ZigBee 네트워크이고, 상기 Non-TCP/IP 패킷은 ZigBee 패킷일 수 있다.
여기서, 상량 링크 데이터 전송 방법은, 상기 Non-TCP/IP 패킷에서 상기 Non-TCP/IP 패킷을 전송한 IoT 기기의 Non-TCP/IP기반의 네트워크 주소를 추출하고, 추출된 Non-TCP/IP기반의 네트워크 주소를 상기 컨테이너 이름과 매핑하여 저장하는 단계를 더 포함할 수 있다.
여기서, 상기 게이트웨이 서버는, &Cube 의 소프트웨어 플랫폼이 설치되고, 상기 &Cube 의 소프트웨어 플랫폼 이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 상기 IoT 서버와 데이터를 송수신할 수 있다.
여기서, &Cube 의 소프트웨어 플랫폼으로는 앞에서 설명한 Thyme 뿐만 아니라, Rosemary, Lavender가 있을 수 있다. &Cube의 소프트웨어 플랫폼은 Java 또는 Node.js 기반의 프레임워크(framework)를 지원할 수 있다.
도 8은 본 발명의 일 실시예에 따른 게이트웨이 서버에서 수행되는 하향 링크 데이터 전송 방법에 대한 흐름도이다.
도 8을 참조하면, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 하향 링크 데이터 전송 방법은, IoT 서버로부터 제어 메시지를 수신하는 단계(S200), 상기 제어 메시지로부터 컨테이너 이름(container name)과 제어 정보인 컨텐트 인스턴스(content instance)를 획득하는 단계(S210), 상기 컨네이너 이름을 이용하여 상기 제어 정보를 전달할 IoT 기기의 Non-TCP/IP 기반의 네트워크 주소를 획득하는 단계(S220), 상기 Non-TCP/IP 기반의 네트워크 주소와 상기 컨텐트 인스턴스로부터 획득한 제어 정보를 포함하여 Non-TCP/IP 패킷을 생성하는 단계(S230) 및 생성한 Non-TCP/IP 패킷을 상기 제어 정보를 전달할 IoT 기기로 전송하는 단계(S240)를 포함할 수 있다.
여기서, 상기 Non-TCP/IP 기반의 네트워크는 ZigBee 네트워크이고, 상기 Non-TCP/IP 패킷은 ZigBee 패킷일 수 있다.
여기서, 상기 컨네이터 이름은 상기 Non-TCP/IP 기반의 네트워크 주소와 매핑되어 미리 저장될 수 있다.
여기서, 상기 게이트웨이 서버는, &Cube 의 소프트웨어 플랫폼이 설치되고, 상기 &Cube 의 소프트웨어 플랫폼이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 상기 IoT 서버와 데이터를 송수신할 수 있다.
여기서, 상기 IoT 서버로부터 제어 메시지를 수신하는 단계(S200)는, 상기 &Cube 의 소프트웨어 플랫폼을 이용하여 oneM2M 표준의 문자열 형태로 상기 제어 메시지를 수신할 수 있다.
도 9는 본 발명의 일 실시예에 따른 게이트웨이 서버의 구성도이다.
도 9를 참조하면, Non-TCP/IP(Non-Transmission Control Protocol/Internet Protocol) 기반의 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버(gateway server, 100)는, 적어도 하나의 프로세서(processor, 110), 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instruction)을 저장하는 메모리(memory, 120)를 포함할 수 있다.
여기서 상기 적어도 하나의 단계는, IoT 기기로부터 상태 정보를 포함한 Non-TCP/IP 패킷을 수신하는 단계, 수신된 상태 정보에 대응되는 컨테이너 이름(container name)을 식별하는 단계, 수신된 Non-TCP/IP 패킷에서 획득한 상태 정보 또는 상기 컨테이너 이름을 oneM2M 표준에 따른 형식으로 변환하는 단계 및 변환된 상태 정보 또는 변환된 컨테이너 이름을 IoT 서버에 전송하는 단계를 포함할 수 있다.
여기서, 상기 Non-TCP/IP 기반의 네트워크는 ZigBee 네트워크이고, 상기 Non-TCP/IP 패킷은 ZigBee 패킷일 수 있다.
여기서, 상기 명령어들은 상기 적어도 하나의 프로세서가, 상기 Non-TCP/IP 패킷에서 상기 Non-TCP/IP 패킷을 전송한 IoT 기기의 Non-TCP/IP기반의 네트워크 주소를 추출하고, 추출된 Non-TCP/IP기반의 네트워크 주소를 상기 컨테이너 이름과 매핑하여 저장하도록 지시할 수 있다.
여기서, 상기 게이트웨이 서버는, &Cube 의 소프트웨어 플랫폼이 설치되고, 상기 &Cube 의 소프트웨어 플랫폼 이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 상기 IoT 서버와 데이터를 송수신할 수 있다.
여기서, 상기 명령어들은 상기 적어도 하나의 프로세서가, IoT 서버로부터 제어 메시지를 수신하는 단계, 상기 제어 메시지로부터 컨테이너 이름(container name)과 제어 정보인 컨텐트 인스턴스(content instance)를 획득하는 단계, 상기 컨네이너 이름을 이용하여 상기 제어 정보를 전달할 IoT 기기의 Non-TCP/IP 기반의 네트워크 주소를 획득하는 단계, 상기 Non-TCP/IP 기반의 네트워크 주소와 상기 컨텐트 인스턴스로부터 획득한 제어 정보를 포함하여 Non-TCP/IP 패킷을 생성하는 단계 및 생성한 Non-TCP/IP 패킷을 상기 제어 정보를 전달할 IoT 기기로 전송하는 단계를 더 수행하도록 지시할 수 있다.
여기서, 상기 명령어들은 상기 적어도 하나의 프로세서가, oneM2M 표준의 문자열 형태로 상기 제어 메시지를 수신하도록 지시할 수 있다.
여기서 게이트웨이 서버의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
여기서 게이트웨이 서버(100)는, non-TCP/IP 기반의 네트워크와 통신할 수 있는 통신 모듈(130)을 더 포함할 수 있다. 통신 모듈의 예를 들면, ZigBee module이 있을 수 있다.
여기서 게이트웨이 서버(100)는, non-TCP/IP 기반의 네트워크 주소와 컨테이너 이름을 저장할 수 있는 저장소(storage, 140)를 더 포함할 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
Claims (15)
- ZigBee 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 상향 링크 데이터 전송 방법에서,
IoT 기기로부터 상태 정보를 포함한 ZigBee 패킷을 수신하는 단계;
수신된 상태 정보에 대응되는 컨테이너 이름(container name)을 식별하는 단계;
수신된 ZigBee 패킷에서 획득한 상태 정보 또는 상기 컨테이너 이름을 oneM2M 표준에 따른 형식으로 변환하는 단계; 및
변환된 상태 정보 또는 변환된 컨테이너 이름을 IoT 서버에 전송하는 단계를 포함하고,
상기 ZigBee 패킷에서 상기 ZigBee 패킷을 전송한 IoT 기기의 ZigBee 네트워크 주소를 추출하고, 추출된 ZigBee 네트워크 주소를 상기 컨테이너 이름과 매핑하여 저장하는 단계를 더 포함하는, 상향 링크 데이터 전송 방법. - 삭제
- 삭제
- 청구항 1에서,
상기 게이트웨이 서버는,
&Cube 의 소프트웨어 플랫폼이 설치되고, 상기 &Cube 의 소프트웨어 플랫폼 이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 상기 IoT 서버와 데이터를 송수신하는, 상향 링크 데이터 전송 방법. - ZigBee 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT(Internet of Things) 서버 상호간을 중계하는 게이트웨이 서버에서 수행되는 하향 링크 데이터 전송 방법에서,
IoT 서버로부터 제어 메시지를 수신하는 단계;
상기 제어 메시지로부터 컨테이너 이름(container name)과 제어 정보인 컨텐트 인스턴스(content instance)를 획득하는 단계;
상기 컨테이너 이름을 이용하여 상기 제어 정보를 전달할 IoT 기기의 ZigBee 네트워크 주소를 획득하는 단계;
상기 ZigBee 네트워크 주소와 상기 컨텐트 인스턴스로부터 획득한 제어 정보를 포함하여 ZigBee 패킷을 생성하는 단계; 및
생성한 ZigBee 패킷을 상기 제어 정보를 전달할 IoT 기기로 전송하는 단계를 포함하며,
상기 컨네이너 이름은 상기 ZigBee 네트워크 주소와 매핑되어 미리 저장되는, 하향 링크 데이터 전송 방법. - 삭제
- 삭제
- 청구항 5에서,
상기 게이트웨이 서버는,
&Cube 의 소프트웨어 플랫폼이 설치되고, 상기 &Cube 의 소프트웨어 플랫폼 이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 상기 IoT 서버와 데이터를 송수신하는, 하향 링크 데이터 전송 방법. - 청구항 8에서,
상기 IoT 서버로부터 제어 메시지를 수신하는 단계는,
상기 &Cube 의 소프트웨어 플랫폼을 이용하여 oneM2M 표준의 문자열 형태로 상기 제어 메시지를 수신하는, 하향 링크 데이터 전송 방법. - ZigBee 네트워크상의 IoT(Internet of Things) 기기와 oneM2M(one Machine to Machine) 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버(gateway server)로서,
적어도 하나의 프로세서(processor);
상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instruction)을 저장하는 메모리(memory)를 포함하고,
상기 적어도 하나의 단계는,
IoT 기기로부터 상태 정보를 포함한 ZigBee 패킷을 수신하는 단계;
수신된 상태 정보에 대응되는 컨테이너 이름(container name)을 식별하는 단계;
수신된 ZigBee 패킷에서 획득한 상태 정보 또는 상기 컨테이너 이름을 oneM2M 표준에 따른 형식으로 변환하는 단계; 및
변환된 상태 정보 또는 변환된 컨테이너 이름을 IoT 서버에 전송하는 단계를 포함하며,
상기 명령어들은 상기 적어도 하나의 프로세서가,
상기 ZigBee 패킷에서 상기 ZigBee 패킷을 전송한 IoT 기기의 ZigBee 네트워크 주소를 추출하고, 추출된 ZigBee 네트워크 주소를 상기 컨테이너 이름과 매핑하여 저장하도록 지시하는, 게이트웨이 서버. - 삭제
- 삭제
- 청구항 10에서,
상기 게이트웨이 서버는,
&Cube 의 소프트웨어 플랫폼이 설치되고, 상기 &Cube 의 소프트웨어 플랫폼 이 IoT 서버에 설치된 모비우스 플랫폼과 연동함으로써 상기 IoT 서버와 데이터를 송수신하는, 게이트웨이 서버. - 청구항 10에서,
상기 명령어들은 상기 적어도 하나의 프로세서가,
IoT 서버로부터 제어 메시지를 수신하는 단계;
상기 제어 메시지로부터 컨테이너 이름(container name)과 제어 정보인 컨텐트 인스턴스(content instance)를 획득하는 단계;
상기 컨네이너 이름을 이용하여 상기 제어 정보를 전달할 IoT 기기의 ZigBee 네트워크 주소를 획득하는 단계;
상기 ZigBee 네트워크 주소와 상기 컨텐트 인스턴스로부터 획득한 제어 정보를 포함하여 ZigBee 패킷을 생성하는 단계; 및
생성한 ZigBee 패킷을 상기 제어 정보를 전달할 IoT 기기로 전송하는 단계를 더 수행하도록 지시하는, 게이트웨이 서버. - 청구항 14에서,
상기 명령어들은 상기 적어도 하나의 프로세서가,
oneM2M 표준의 문자열 형태로 상기 제어 메시지를 수신하도록 지시하는, 게이트웨이 서버.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170090128A KR102025631B1 (ko) | 2017-07-17 | 2017-07-17 | Non-TCP/IP 기반의 네트워크상의 IoT 기기와 oneM2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버 및 그 동작 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170090128A KR102025631B1 (ko) | 2017-07-17 | 2017-07-17 | Non-TCP/IP 기반의 네트워크상의 IoT 기기와 oneM2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버 및 그 동작 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190008595A KR20190008595A (ko) | 2019-01-25 |
KR102025631B1 true KR102025631B1 (ko) | 2019-09-26 |
Family
ID=65280518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170090128A KR102025631B1 (ko) | 2017-07-17 | 2017-07-17 | Non-TCP/IP 기반의 네트워크상의 IoT 기기와 oneM2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버 및 그 동작 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102025631B1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102025435B1 (ko) * | 2019-06-05 | 2019-09-25 | 주식회사 오픈케어랩 | 컨테이너를 이용하여 iot 서비스를 제공하는 방법, 장치 및 그를 이용한 시스템 |
KR102391506B1 (ko) * | 2019-10-14 | 2022-04-28 | 주식회사 엘지유플러스 | 단말기 제어 관리 시스템 및 그 제어방법 |
KR102366156B1 (ko) * | 2020-11-27 | 2022-02-23 | 한국전력공사 | 협대역 무선 통신 시스템을 위한 네트워크 중계 시스템 및 데이터 전송 방법 |
KR102431518B1 (ko) * | 2020-11-30 | 2022-08-11 | 주식회사 쉬프트베리 | 네트워크 제어 서버 및 방법 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678998B2 (en) * | 2014-02-28 | 2017-06-13 | Cisco Technology, Inc. | Content name resolution for information centric networking |
EP3172859B1 (en) * | 2014-07-22 | 2019-09-04 | Convida Wireless, LLC | Interworking light weight machine-to-machine protocol with device management protocol |
US10085244B2 (en) * | 2014-10-27 | 2018-09-25 | Lg Electronics Inc. | Method for guaranteeing operation of control message in wireless communication system and device for same |
-
2017
- 2017-07-17 KR KR1020170090128A patent/KR102025631B1/ko active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20190008595A (ko) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sheng et al. | Recent advances in industrial wireless sensor networks toward efficient management in IoT | |
Datta et al. | An IoT gateway centric architecture to provide novel M2M services | |
KR102025631B1 (ko) | Non-TCP/IP 기반의 네트워크상의 IoT 기기와 oneM2M 표준 기반의 IoT 서버 상호간을 중계하는 게이트웨이 서버 및 그 동작 방법 | |
US11032739B2 (en) | Dynamic header compression for constrained networks | |
CN106797400B (zh) | 用于使得能够经由服务层访问第三方服务的系统和方法 | |
CN106411843A (zh) | 服务器发起的远程装置注册 | |
US8761747B2 (en) | Universal browser | |
KR100978336B1 (ko) | 리모트 액세스 | |
CN109981668A (zh) | 基于mqtt泛化协议的通用设备物联网通信方法 | |
Sembroiz et al. | A novel cloud-based IoT architecture for smart building automation | |
CN108353077B (zh) | 用于在异构系统之间的互通的方法和装置 | |
Klauck et al. | Chatty things-Making the Internet of Things readily usable for the masses with XMPP | |
CN104412566A (zh) | 用于处理资源的地址的方法和节点 | |
Kovatsch | Scalable Web technology for the Internet of Things | |
CN112804338A (zh) | 一种Web前端与物联网设备远程通信的方法 | |
Cirani et al. | mjCoAP: An open-source lightweight Java CoAP library for Internet of Things applications | |
CN102594886B (zh) | 浏览器与浏览器直通的方法、装置和通信系统 | |
JP2020534605A (ja) | 通信ネットワークにおけるサービス層メッセージテンプレート | |
Azzara et al. | The icsi m2m middleware for iot-based intelligent transportation systems | |
US20070130312A1 (en) | Web service provision apparatus and method and web service request apparatus and method | |
Becker et al. | Deployment of coap in transport logistics | |
Vahidnia et al. | Cellular Internet of Things for practitioners | |
Oh et al. | Ocf bridging techniques for Uwb/Lora Iot ecosystems | |
KR20170025550A (ko) | 게이트웨이 및 이의 제어 방법 | |
Leggieri et al. | Interoperability of two RESTful protocols: HTTP and CoAP |
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 |