KR101723561B1 - 사물웹 플러그인 시스템 - Google Patents

사물웹 플러그인 시스템 Download PDF

Info

Publication number
KR101723561B1
KR101723561B1 KR1020140109636A KR20140109636A KR101723561B1 KR 101723561 B1 KR101723561 B1 KR 101723561B1 KR 1020140109636 A KR1020140109636 A KR 1020140109636A KR 20140109636 A KR20140109636 A KR 20140109636A KR 101723561 B1 KR101723561 B1 KR 101723561B1
Authority
KR
South Korea
Prior art keywords
object web
web resource
processing unit
web
resource
Prior art date
Application number
KR1020140109636A
Other languages
English (en)
Other versions
KR20160024055A (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 KR1020140109636A priority Critical patent/KR101723561B1/ko
Priority to US14/831,569 priority patent/US20160056972A1/en
Publication of KR20160024055A publication Critical patent/KR20160024055A/ko
Application granted granted Critical
Publication of KR101723561B1 publication Critical patent/KR101723561B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/281Exchanging configuration information on appliance services in a home automation network indicating a format for calling an appliance service function in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/70Services for machine-to-machine communication [M2M] or machine type communication [MTC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)

Abstract

본 발명의 실시 예들은, 사물웹 서비스에서 이용되는 자원 처리 방안에 관한 것으로, 본 발명의 일 실시 예에 따른 사물웹 플러그인 시스템은, 사물(thing)로부터 수신된 사물의 정보가 웹 자원으로 변환된 사물웹 자원을 저장하는 사물웹 자원 저장부; 및 상기 사물웹 자원 저장부에 저장된 사물웹 자원에 대한 자원 처리를 수행하는 사물웹 자원 처리부를 포함한다. 본 발명의 실시 예들에 따르면, 사물의 정보 및 사물의 고유 구동 기능을 웹 자원으로 변환하여 사물웹 서비스 사용자에게 제공할 수 있다.

Description

사물웹 플러그인 시스템{Web of things plug-in system}
본 발명의 실시 예들은, 사물웹 서비스에서 이용되는 자원 처리 방안에 관한 것이다.
사물 인터넷(Internet of Things; IoT) 기술은, 통신 기능을 탑재한 사물들 간의 정보 교환을 통해, 사용자에게 다양한 정보(예를 들어, 특정 사물의 위치, 구동 상태, 온도, 습도, 불쾌지수, 가속도 및 이동 거리 등)를 제공하거나, 사물들을 원격으로 제어(예를 들어, 조명 밝기 조절 및 실내 온도 조절 등)할 수 있는 서비스를 가능케 한다.
특히, 종래의 월드 와이드 웹(World Wide Web, 이하 웹이라 함) 기술을 활용하여 사물의 정보에 접근하거나 또는 사물의 고유한 구동 기능(예를 들어, 현재 온도 측정 및 조명 스위치의 On/Off 등)을 제어할 수 있도록 하는 서비스를, 웹 기반의 사물 인터넷 서비스 또는 사물웹(Web of Things; WoT) 서비스라고 한다.
사물웹 서비스의 안정적인 제공을 위하여는, 사물의 정보를 웹 자원으로 표현하고 이를 안정적으로 처리하기 위한 방안이 요구된다.
본 발명의 실시 예들은, 사물웹 서비스 사용자 또는 사물이 웹을 통하여 사물웹 자원에 안정적으로 접근할 수 있는 방안을 제공한다.
본 발명의 실시 예들은, 사물웹 자원에 대한 자원 처리를 수행하거나, 사물 고유의 구동 기능을 제어할 수 있는 방안을 제공한다.
본 발명의 일 실시 예에 따른 사물웹 플러그인 시스템은, 사물(thing)로부터 수신된 사물의 정보가 웹 자원으로 변환된 사물웹 자원을 저장하는 사물웹 자원 저장부; 및 상기 사물웹 자원 저장부에 저장된 사물웹 자원에 대한 자원 처리를 수행하는 사물웹 자원 처리부를 포함한다.
일 실시 예에서, 상기 사물웹 플러그인 시스템은, 수신되는 사물웹 자원 처리 요청을 상기 사물웹 자원 처리부로 전송하고, 상기 사물웹 자원 처리 요청에 대응하여 상기 사물웹 자원 처리부로부터 수신되는 사물웹 자원 처리 결과를 출력하는 통신 프로토콜 처리부를 더 포함할 수 있다.
일 실시 예에서, 상기 통신 프로토콜 처리부는, 사용자 단말로부터 상기 사물웹 자원 처리 요청을 수신하고, 상기 사용자 단말로 상기 사물웹 자원 처리 결과를 출력하는 웹 기반 통신 프로토콜 처리부; 및 사물로부터 해당 사물의 정보를 수신하거나, 사물로부터 상기 사물웹 자원 처리 요청을 수신하고 해당 사물들로 상기 사물웹 자원 처리 결과를 출력하는 지역적 통신 프로토콜 처리부를 포함할 수 있다.
일 실시 예에서, 상기 사물웹 플러그인 시스템은, 상기 통신 프로토콜 처리부 및 상기 사물웹 자원 관리부 사이에 위치하며, 상기 사물웹 자원 처리 요청 및 상기 사물웹 자원 처리 결과를 중계하는 메시지 채널을 더 포함할 수 있다.
일 실시 예에서, 상기 사물웹 플러그인 시스템은, 상기 사물웹 자원 처리부의 구동 상태를 기반으로, 상기 사물웹 플러그인 시스템에 포함된 구성 요소들의 구동 상태를 제어하는 구동 관리부를 더 포함할 수 있다.
일 실시 예에서, 상기 구동 관리부는, 상기 사물웹 자원 처리부가 비활성화 상태에서 활성화 상태로 전환되는 경우 상기 통신 프로토콜 처리부를 활성화할 수 있다.
일 실시 예에서, 상기 구동 관리부는, 상기 사물웹 자원 처리부가 활성화 상태에서 비활성화 상태로 전환되는 경우 상기 통신 프로토콜 처리부를 비활성화할 수 있다.
일 실시 예에서, 상기 사물웹 플러그인 시스템은, 상기 사물웹 자원 저장부에 저장된 사물웹 자원을 기반으로 새로운 사물웹 자원을 생성하거나, 상기 사물웹 자원 저장부에 저장된 사물웹 자원을 갱신하거나, 상기 사물웹 플러그인 시스템 자체의 정보를 사물웹 자원으로 생성하여 상기 사물웹 자원 저장부에 저장하는 사물웹 응용 에이전트를 더 포함할 수 있다.
일 실시 예에서, 상기 자원 처리는, 상기 사물웹 자원의 등록, 저장, 검색, 조회, 갱신 및 삭제 중 적어도 하나와 관련된 것일 수 있다.
일 실시 예에서, 상기 사물웹 자원 처리부는, 상기 사물웹 자원의 등록, 조회 및 갱신 중 어느 하나에 해당하는 자원 처리가 이루어지는 경우, 해당 사물을 제어하기 위한 명령을 해당 사물에 전송할 수 있다.
일 실시 예에서, 상기 사물웹 자원 처리부는, 설정된 상황이 발생하는 경우, 사용자 또는 해당 상황과 관련된 사물에게 상기 상황과 관련된 통지를 수행할 수 있다.
본 발명의 실시 예들에 따르면, 사물의 정보 및 사물의 고유 구동 기능을 웹 자원으로 변환하여 사물웹 서비스 사용자에게 제공할 수 있다.
본 발명의 실시 예들에 따르면, 사물웹 자원에 대한 접근 요청이 빈번하게 발생하거나 사물웹 자원에 대한 접근 요청이 다수의 사물웹 서비스 사용자로부터 동시에 발생하더라도, 사물웹 자원을 순서대로 처리함으로써, 사물웹 자원의 무결성(integrity)을 보장할 수 있다.
도 1은 본 발명의 실시 예들이 적용되는 사물웹 서비스 환경 구성을 설명하기 위한 예시도,
도 2는 본 발명의 일 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도,
도 3은 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도,
도 4는 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도,
도 5 내지 도 8은 본 발명의 실시 예들에 따른 사물웹 플러그인 시스템이 특정 사물웹 자원을 조회하는 과정을 설명하기 위한 예시도,
도 9는 본 발명의 실시 예들에 따른 사물웹 플러그인 시스템에서 사물의 동작을 제어하는 과정을 설명하기 위한 예시도,
도 10은 본 발명의 실시 예들에 따른 사물웹 플러그인 시스템에서 특정 상황 발생에 따른 통지 과정을 설명하기 위한 예시도,
도 11은 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도,
도 12는 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도,
도 13 내지 도 15는 본 발명의 일 실시 예에 따른 메시지 채널을 통하여 전송되는 메시지 구조를 설명하기 위한 예시도,
도 16은 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도,
도 17은 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템에 포함된 구성 요소에 대한 구동 상태 변화를 설명하기 위한 예시도,
도 18은 본 발명의 다른 실시 예에 따른 구동 관리부가 사물웹 플러그인 시스템에 포함된 구성 요소의 구동 상태를 제어하는 과정을 설명하기 위한 예시도.
이하에서, 본 발명의 실시 예들을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시 예들을 설명한다.
도 1은 본 발명의 실시 예들이 적용되는 사물웹 서비스 환경 구성을 설명하기 위한 예시도이다.
사물웹 서비스 사용자는, 웹을 통해 종래의 웹 응용 서비스를 이용하는 것과 유사하게, 웹 연동이 가능한 사물(예를 들어, 네트워크 연결 저장 장치(Network Attached Storage))의 정보를 웹을 통해 확인하거나, 해당 사물에 대한 제어를 수행할 수 있다. 여기서, 사물의 정보란, 각 사물로부터 수신된 센싱 정보 또는 해당 사물 고유의 구동 기능에 관한 정보를 포함하는 의미일 수 있다. 예를 들어, 실내 온도 조절 능력을 가진 냉방 기구 또는 온열 기구는, 해당 기기 주위의 실내 온도를 일정 시점마다 측정할 수 있고, 사용자 또는 다른 사물의 요청에 의해 해당 기구 고유의 구동 기능(예를 들어, 냉방 기구의 경우에는 냉방 기능을 구동하여 실내 온도를 낮추며, 온열 기구의 경우에는 난방 또는 발열 기능을 구동하여 실내 온도를 높임)을 수행할 수 있다. 냉방 기구 또는 온열 기구와 관련된 사물의 정보는, 예를 들어 <표 1>과 같이 정리될 수 있다.
사물의 종류 사물의 정보 설명
냉방기구 제조사
제조일
관리자
모델명
일련번호
키워드
최근 온도 측정값
최근 습도 측정값
구동 기능 1
구동 기능 2
구동 기능 3
구동 기능 4
ETRI
2014년 3월 1일
홍길동
ET-A-2014
A2014030001
냉방, 온도, 습도, 가전
28.43-Celsius
67.30-Percent
냉방 시작
냉방 정지
온도 측정
습도 측정
온열기구 제조사
제조일
관리자
모델명
일련번호
키워드
최근 온도 측정값
구동 기능 1
구동 기능 2
ETRI
2014년 2월 15일
김한국
ET-H-2014
H2014021234
난방, 온열, 온도, 가전
32.43-Celsius
온열 시작
온열 정지
하지만, 사물들은 각기 서로 다른 통신 기능 및 연산 처리 능력을 갖기 때문에, 사물웹 서비스 사용자가 개별 사물의 정보에 접근하기 위해서는, 사물의 정보를 웹 자원화 할 수 있는 시스템이 필요하다. 이에, 본 발명의 실시 예들에서는, 사물의 정보를 웹 자원화할 수 있는 사물웹 플러그인 시스템(WoT Plug-in(WP) System)을 채택한다.
사물웹 플러그인 시스템은, 지역적 통신 네트워크를 통해 여러 사물들과 연동해서, 해당 사물의 정보를 사용자에게 웹 자원(WoT Web Resource, 이하 사물웹 자원)으로서 제공할 수 있다.
본 발명의 실시 예들에서, 지역적 통신 네트워크는, PAN(Personal Area Network) 및 로컬 네트워크(Local Network)를 포함한다.
PAN은, 예를 들어, IEEE(Institute of Electrical and Electronics Engineers) 802.15.1을 따르는 통신 방식, 지그비(ZigBee), 블루투스(Bluetooth) 또는 ISA(International Society of Automation) 100.11a를 따르는 통신 방식에 따라 형성될 수 있다. 로컬 네트워크는, 예를 들어, 전력선 통신(Power Line Communication; PLC), M-Bus(Meter-Bus) 프로토콜 또는 wireless M-Bus 프로토콜로 형성될 수 있다.
한편, 각각의 사물웹 자원은, 다음과 같은 특징을 가질 수 있다.
첫 째, 사물웹 자원은, 고유한 자원 식별자(Unique Resource Identifier, URI)로 구별될 수 있다. 둘 째, 사물웹 자원에 대한 자원 처리(예를 들어, 등록(Create), 조회(Read), 갱신(Update), 삭제(Delete))를 위해, 종래의 웹 기술을 이용(예를 들어, HTTP 통신 프로토콜을 이용할 경우, 각각 POST, GET, PUT, DELETE 명령을 이용)할 수 있다.
냉방 기구에 대한 사물 정보를 예로 들면, 사용자 또는 다른 사물에게 웹자원으로서 제공되기 위해서, 각 사물 정보는 고유한 자원 식별자로 구별될 수 있다. 여기서, 사물웹 플러그인 시스템은 인터넷 주소(IP Address) 192.168.0.101를 통해 웹 프로토콜 접근을 허용할 수 있다고 전제한다. 따라서, 아래의 <표 2>에 정리된 바와 같이, 냉방 기구에 대한 일련의 사물 정보는 'http://192.168.0.101/wp/devices/ ETA2014-A2014030001' 라는 URI에 대한 조회(GET)를 통해 제공받을 수 있다. 또한, 'http://192.168.0.101/wp/devices/ETA2014-A2014030001/temp' 라는 URI에 대한 조회(GET)를 통해 그 동안 센싱된 온도 측정값의 목록을 제공받을 수 있다. 나아가, 'http://192.168.0.101/wp/devices/ETA2014-A2014030001/on'라는 URI에 대한 조회(GET)를 통해 냉방 기구의 냉방 기능을 구동할 수도 있다. 한편, 사용자에게 제공되는 사물웹 자원의 데이터 형식은, XML(Extensible Markup Language), JSON(JavaScript Object Notation) 및 텍스트(text) 등의 다양한 형식으로 제공될 수 있다.
URI URI에 대한 조회를 통해 제공되는 사물웹 자원
http://192.168.0.101/wp/devices/ ETA2014-A2014030001 제조사: ETRI
제조일: 2014년 3월 1일
관리자: 홍길동
모델명: ET-A-2014
일련번호: A2014030001
키워드: 냉방, 온도, 습도, 가전
최근 온도 측정값: 28.43-Celsius = /temp
최근 습도 측정값: 67.30-Percent = /humid
구동 기능 1: 냉방 시작 = /on
구동 기능 2: 냉방 정지 = /off
구동 기능 3: 온도 측정 = /getTemp
구동 기능 4: 습도 측정 = /getHumid
http://192.168.0.101/wp/devices/ ETA2014-A2014030001/temp 28.43-Celsius, 20140705-10:50:23
28.20-Celsius, 20140705-10:40:18
28.14-Celsius, 20140705-10:30:13
http://192.168.0.101/wp/devices/ ETA2014-A2014030001/on 기능 구동 - 냉방 시작. OK
http://192.168.0.101/wp/devices/ ETA2014-A2014030001/getTemp 27.65-Celsius, 20140705-11:17:94
도 2는 본 발명의 일 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도이다.
도 2를 참조하면, 사물웹 플러그인 시스템은, 통신 프로토콜 처리부(110), 사물웹 자원 처리부(150)및 사물웹 자원 저장부(160)를 포함한다.
통신 프로토콜 처리부(110)는, 사물웹 서비스 사용자로부터 특정 사물웹 자원으로의 접근 요청을 수신하고, 수신된 접근 요청을 해석한다. 여기서, 접근 요청(또는, 처리 요청이라 함)이란, 등록, 조회, 갱신 또는 삭제하기 위한 요청을 의미한다. 본 발명의 실시 예들에서, 갱신(update)이란, 해당 사물웹 자원에 대한 사물 정보의 수정(modification), 추가(addition) 및 일부 삭제(deletion) 중 적어도 하나를 포함한다.
그리고, 통신 프로토콜 처리부(110)는, 해석된 접근 요청을 사물웹 자원 처리부(150)에게 전달하고, 상기 접근 요청에 대응하여 사물웹 자원 처리부(150)로부터 수신되는 응답을 사용자에게 전송한다.
사물웹 자원 처리부(150)는, 접근 요청의 종류를 기반으로 사물웹 자원 저장부(160)에 저장된 사물웹 자원에 대한 접근을 수행한다. 예를 들어, 상기 요청이 사물웹 자원 조회 요청일 경우, 관련 정보를 조회한다. 또는, 상기 요청이 사물웹 자원에 대한 갱신 요청일 경우, 관련 정보를 갱신한다. 사물웹 자원 처리부(150)는, 해당 사물웹 자원에 대한 접근 권한(access privilege 또는 access permission)을 확인하여 상기 요청을 거부할 수도 있다.
사물웹 자원 저장부(160)는, 상기 접근 요청의 처리 결과를 사물웹 자원 처리부(150)에게 제공한다. 예를 들어, 상기 요청이 사물웹 자원 조회 요청일 경우, 관련 사물웹 자원을 제공한다. 또는, 상기 요청이 사물웹 자원에 대한 갱신 요청일 경우, 해당 사물웹 자원을 갱신하고 갱신된 결과를 제공한다.
이에 따라, 사물웹 자원 처리부(150)는, 사물웹 자원 저장부(160)로부터 수신되는 자원 처리 결과를 이용하여 응답을 구성하고, 구성된 응답을 통신 프로토콜 처리부(110)로 전송할 수 있다.
사물웹 자원 저장부(160)는, 파일, 메모리, 데이터베이스, 외부 네트워크 저장소 및 이동식 저장 장치 중 적어도 하나의 형식으로 구현될 수 있다.
도 3은 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도이다.
도 3을 참조하면, 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템은, 사물웹 응용 에이전트(130), 사물웹 자원 처리부(150) 및 사물웹 자원 저장부(160)를 포함한다.
사물웹 응용 에이전트(130)는, 사물웹 플러그인 시스템 내부에 저장된 사물웹 자원을 이용하여 새로운 사물웹 자원을 생성하거나, 기존의 사물웹 자원을 갱신 또는 삭제하거나, 사물웹 플러그인 시스템 자체의 구동 상태를 표현한 사물웹 자원을 생성, 갱신 또는 삭제하기 위한 요청을 생성하고, 생성된 요청을 사물웹 자원 처리부(150)로 전송할 수 있다.
예를 들어, 사물웹 응용 에이전트(130)는, 특정 사물웹 자원의 속성 값이 설정된 범위를 벗어난 값으로 등록 또는 갱신될 경우, 시스템 로그(log)를 기록하거나 새로운 사물웹 자원을 생성할 것을 사물웹 자원 처리부(150)에 요청할 수 있다.
예를 들어, 냉방 기구에서 측정된 온도 값이 사물웹 자원('http://192.168.0.101/wp/devices/ETA2014-A2014030001/temp')으로서 저장되어 있는 경우, 실내 온도를 모니터링하는 사물웹 응용 에이전트에서는 해당 사물웹 자원을 주기적으로 조회할 수 있다. 그리고, 최근 온도 측정값이 일정 범위(18.0 celsius ~ 30.0 celsius)를 벗어날 경우 새로운 이벤트 데이터('실내 온도 조절 필요')를 사물웹 자원으로 생성('http://192.168.0.101/wp/applications/temp-monitoring/containers/ event/contentInstances')하여 사물웹 자원 처리부에게 등록 요청할 수 있다. 이후 사용자는 해당 사물웹 자원에 대한 조회를 통해, 실내 온도 모니터링 결과가 '정상' 또는 '실내 온도 조절 필요' 인지 여부를 확인할 수 있다. 이러한 방식은 특히 하나 이상의 개별 사물웹 자원들에 대한 조회 결과를 결합하여 새로운 사물웹 자원으로 제공하기 위해 활용될 수 있다. 예를 들어, 사물웹 응용 에이전트(130)는, 온도 측정값에 대한 사물웹 자원과 풍속 측정값에 대한 사물웹 자원의 조회 결과를 연산 파라미터로 이용하여, 실외 체감 온도에 대한 사물웹 자원을 생성할 수 있고, 생성된 사물웹 자원을 사용자 또는 사물에게 제공할 수 있다.
또는, 사물웹 응용 에이전트(130)는, 사물웹 플러그인 시스템을 구성하는 각 구성 요소에 대한 정보(예: 구동 시작 시간, CPU 사용률 등)를 사물웹 자원으로 등록 또는 갱신하기 위한 요청을 생성하여 사물웹 자원 처리부(150)로 전송할 수 있다.
사물웹 자원 처리부(150)는, 사물웹 응용 에이전트(130)로부터 수신되는 요청에 기반하여, 사물웹 자원 저장부(160)에 저장된 사물웹 자원에 대한 접근을 수행한다.
사물웹 자원 저장부(160)는, 도 2를 참조하여 설명한 바와 같으므로 상세한 설명은 생략한다.
도 4는 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도이다.
도 4를 참조하면, 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템은, 통신 프로토콜 처리부(110), 사물웹 응용 에이전트(130), 사물웹 자원 처리부(150) 및 사물웹 자원 저장부(160)를 포함한다.
사물웹 플러그인 시스템은, 시스템 외부로부터의(즉, 사용자 또는 사물로부터의) 사물웹 자원에 대한 접근 요청에 대하여, 사물웹 응용 에이전트(130)를 거쳐서 응답을 제공할 수 있다.
예를 들어, 도 2를 참조하여 설명한 바와 같이, 통신 프로토콜 처리부(110)는, 해석된 접근 요청을 사물웹 자원 처리부(150)에게 전달하고, 상기 접근 요청에 대응하여 사물웹 자원 처리부(150)로부터 수신되는 응답을 사용자에게 전송한다. 사물웹 자원 처리부(150)는, 접근 요청의 종류를 기반으로 사물웹 자원 저장부(160)에 저장된 사물웹 자원에 대한 직접적인 접근을 수행하거나, 또는 사물웹 응용 에이전트(130)를 통하여 사물웹 자원에 대한 접근을 수행할 수 있다. 예를 들어, 사물웹 자원 처리부(150)는, 사용자로부터 최근의 실내 온도 모니터링 결과에 관한 사물웹 자원 조회 요청을 수신한 경우, 사물웹 자원 저장부(160)로부터 직접 실내 온도 모니터링 결과를 제공받는 대신, 사물웹 응용 에이전트(130)에게 실내 온도 모니터링 결과를 연산하도록 하고 사물웹 응용 에이전트(130)로부터 수신되는 연산 결과를 기반으로 사용자에게 제공할 응답 메시지를 생성할 수도 있다.
도 5 내지 도 8은 본 발명의 실시 예들에 따른 사물웹 플러그인 시스템이 특정 사물웹 자원을 조회하는 과정을 설명하기 위한 예시도이다.
도 5 내지 도 8을 참조하여 설명하는 실시 예에서, 특정 사물웹 자원을 조회하기 위한 요청은, 서비스 사용자로부터 이루어지는 것을 가정하여 설명하나, 상기 요청은, 특정 사물 또는 사물웹 응용 에이전트로부터 이루어질 수 있다.
도 5 내지 도 8을 참조하여 설명하는 실시 예에서, 사물웹 플러그인 시스템은, HTTP 통신을 위한 주소로 'http://127.0.0.1:80/WP'를 제공하며, 연동되고 있는 사물들의 목록을 'http://127.0.0.1:80/WP/applications'라는 자원 식별자(URI)를 통해 제공한다고 가정한다.
도 5를 참조하면, 서비스 사용자는, 클라이언트 소프트웨어를 이용하여, 사물웹 플러그인 시스템에 연동된 사물 목록의 조회를 요청할 수 있다. 이하에서, 상기 클라이언트 소프트웨어는, HTTP를 이용하는 웹 브라우저라 가정한다. 따라서, 상기 조회 요청은 "GET" 명령어를 사용하여 이루어질 수 있다.
사물웹 플러그인 시스템은, 상기 조회 요청에 대한 응답을 사용자에게 제공한다. 도 5에는 일 예로서, 상기 응답에 "system", "light" 및 "thermometer" 라는 세 개의 사물웹 자원에 대한 정보가 포함되는 예를 도시하였다.
이후, 세 개의 사물웹 자원에 대한 정보 중 사용자가 "thermometer"라는 자원을 조회하는 예를 도 6에 도시하였다. 상기 조회 요청은, "GET"명령어를 사용하여 이루어질 수 있다.
사물웹 플러그인 시스템은, 상기 조회 요청에 대한 응답을 사용자에게 제공한다. 도 6에는 일 예로서, 상기 응답에 "thermometer"의 등록 시간(creationTime), 수정 시간(lastModifiedTime), 설정된 키워드(searchString) 및 정보 저장 위치(containersReference)가 사물웹 자원에 대한 정보로서 포함되는 예를 도시하였다.
이후, 사용자가 "office"라는 키워드를 이용하여 사물웹 자원을 조회하고자 하는 예를 도 7에 도시하였다.
사물웹 플러그인 시스템은, 상기 조회 요청에 대한 응답을 사용자에게 제공한다. 도 7에는 일 예로서, 상기 응답에 "office"에 대응하는 사물웹 자원(light, thermometer)의 목록이 포함되는 예를 도시하였다.
이후, 사용자가 "thermometer"에서 수집한 온도 정보를 조회하는 예를 도 8에 도시하였다.
사물웹 플러그인 시스템은, 상기 조회 요청에 대한 응답을 사용자에게 제공한다. 도 8에는, 상기 응답에 "thermometer"에서 수집된 최근 온도 값(celsius, 27.2)이 포함되는 예를 도시하였다.
도 5 내지 도 8을 참조하여 설명한 바와 같이, 사물웹 플러그인 시스템은, 사물에서 수집된 정보를 하나의 사물웹 자원으로 처리하여, 사용자에게 제공할 수 있다.
도 5 내지 도 8을 참조하여 설명한 실시 예에서는 특정 사물웹 자원을 조회하는 실시 예에 대하여 설명하였으나, 특정 사물웹 자원을 등록, 갱신, 삭제하기 위한 접근 요청 또한 이와 유사하게 이루어진다.
도 9는 본 발명의 실시 예들에 따른 사물웹 플러그인 시스템에서 사물의 동작을 제어하는 과정을 설명하기 위한 예시도이다
사용자는, 사물웹 자원에 대한 접근 요청을 통하여, 특정 사물의 고유한 동작 기능을 제어할 수 있다. 예를 들어, 조명 스위치와 관련된 특정 사물웹 자원에 대한 등록('POST'), 조회('GET') 또는 갱신('PUT') 요청을 통하여, 해당 조명 스위치를 켜거나 끌 수 있다.
도 9에는, 'light' 사물의 'switch' 구동 기능에 해당하는 사물웹 자원의 위치('http://127.0.0.1:80/WP/applications/light/containers/switch/contentInstance')에, 'light off'에 해당하는 사물웹 자원을 등록('POST')할 것을 요청하는 등록 요청이 수신된 예를 도시하였다. 사물웹 자원 처리부는 해당 사물웹 자원을 사물웹 자원 저장부에 저장하고, 통신 프로토콜 처리부를 통해 'light' 사물에 'off' 제어 명령을 전달한다.
또는, <표 2>를 참조하여 설명한 예에서, 냉방 기구의 냉방 기능 구동에 대한 사물웹 자원('http://192.168.0.101/wp/devices/ETA2014-A2014030001/on')의 조회('GET') 요청이 수신되는 경우, 사물웹 자원 처리부는 사물웹 자원 저장부를 조회하지 않고, 통신 프로토콜 처리부를 통해 냉방 기구에 '냉방 구동 시작' 제어 명령을 전달할 수도 있다.
도 10은 본 발명의 실시 예들에 따른 사물웹 플러그인 시스템에서 특정 상황 발생에 따른 통지 과정을 설명하기 위한 예시도이다.
사물웹 플러그인 시스템은, 설정된 특정 상황이 발생하면(예를 들어, 특정 시점이 도래하거나, 특정 요청이 수신되거나, 또는 특정 사물웹 자원의 변동이 발생할 경우), 사용자 또는 사물에게 통지(notification)를 수행할 수 있다. 예를 들어, 앞서 설명한 도 8의 예시에서처럼, 사용자는 'thermometer'에서 수집된 온도를 알기 위해서 일정 시점마다 해당 사물웹 자원에 대한 조회 요청을 수행해야만 하는 번거로움을 해소하기 위해, 'thermometer'에서 새로운 온도 측정값이 수집될 때마다 이를 사용자에게 알려줄 수 있도록 구독(subscription) 조건을 설정할 수 있다. 즉, 사물웹 자원 처리부(150)는 특정 사물웹 자원이 생성, 갱신 또는 삭제되고, 해당 사물웹 자원에 대한 구독 조건이 만족하는 경우, 구독 조건에서 명시된 사용자(또는 사물)에게 통지를 보낼 수 있도록, 통신 프로토콜 처리부(110)에게 통지 메시지를 전달한다.
도 10에는, 일 예로서, 사물웹 플러그인 시스템에 연동된 사물들의 목록에 변동이 발생하는 경우, 이를 알리는 통지가 특정 URI ( http://127.0.0.2:80/application_manager)로 전송되도록 설정된 예를 나타내었다.
도 11은 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도이다.
도 11을 참조하면, 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템은, 제 1 통신 프로토콜 처리부(110a), 제 2 통신 프로토콜 처리부(110b), 사물웹 자원 처리부(150) 및 사물웹 자원 저장부(160)를 포함한다.
제 1 통신 프로토콜 처리부(110a)는, 사물웹 서비스 사용자(단말)와의 통신을 위한 것으로, 예를 들어 웹 기반의 통신 프로토콜을 이용하여 사용자와 통신을 수행할 수 있다.
제 2 통신 프로토콜 처리부(110b)는, 사물과의 통신을 위한 것으로, 예를 들어 지역적 통신 네트워크(예를 들어, Personal Area Network(PAN) or Local Area Network(LAN)) 프로토콜을 이용하여 사물과의 통신을 수행할 수 있다.
그 이외의 구성 요소들에 대한 동작은, 도 2를 참조하여 설명한 바와 같으므로, 상세한 설명은 생략한다.
한편, 사물웹 플러그인 시스템은, 사용자뿐만 아니라 사물과도 연동하여 새로운 사물웹 자원을 등록하거나, 기존 사물웹 자원을 조회/갱신/삭제할 수 있는 기능을 제공해야 한다. 나아가, 다수의 사용자들 또는 다수의 사물들로부터의 사물웹 자원 처리 요청(또는 접근 요청)에 대해서, 사물웹 자원을 일관성있고 정확하게 관리할 수 있어야 한다. 따라서, 특정 사용자 또는 사물로부터의 요청에 따라 사물웹 자원을 처리하는 동안, 해당 사물웹 자원에 대한 다른 갱신 요청(또는 삭제 요청)이 혼재되는 상황을 방지할 필요가 있다. 이를 도 12를 참조하여 설명한다.
도 12는 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도이다.
도 12를 참조하면, 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템은, 통신 프로토콜 처리부(110), 메시지 채널(120), 사물웹 응용 에이전트(130), 사물웹 자원 처리부(150) 및 사물웹 자원 저장부(160)를 포함한다.
사물웹 자원 처리부(150)는, 메시지 채널(120)을 통하여, 통신 프로토콜 처리부(110) 및 사물웹 응용 에이전트(130)로부터 사물웹 자원 처리 요청을 수신할 수 있다. 다수의 사물웹 자원 처리 요청이 수신되는 경우, 사물웹 자원 처리부(150)는, 설정된 순위에 기반하여 해당 요청을 순차적으로 처리할 수 있다.
예를 들어, 사물웹 자원 처리부(150)는, 자원 처리 요청 메시지를 수신한 시간 순서에 따라 해당 요청을 순차적으로 처리할 수 있다.
또는, 통신 프로토콜 처리부(110)로부터의 사물웹 자원 처리 요청에 비하여, 사물웹 응용 에이전트(130)로부터의 사물웹 자원 처리 요청에 대한 우선적으로 처리할 수 있다.
또는, 통신 프로토콜 처리부(110)가 다수의 지역적 통신 프로토콜을 지원하기 위하여 다수의 지역적 통신 프로토콜 처리부를 포함하는 경우, 사물웹 자원 처리부(150)는, 각각의 지역적 통신 프로토콜 처리부에 대한 우선 순위에 기반하여, 해당 요청을 순차적으로 처리할 수 있다. 예를 들어, 사물웹 자원 처리부(150)는, 지그비를 지원하는 지역적 통신 프로토콜 처리부를 통한 요청에 비하여, 블루투스를 지원하는 지역적 통신 프로토콜 처리부를 통한 요청을 우선적으로 처리할 수 있다.
또는, 사물웹 자원 처리부(150)는, 자원 처리 요청의 종류(예를 들어, 등록, 조회, 갱신, 삭제, 제어 및 통지)를 기반으로 처리 순서를 결정할 수 있다. 예를 들어, 사물웹 자원 처리부(150)는, 자원 처리 요청의 종류가 '등록' 인 경우 '삭제'에 비하여 우선적으로 처리할 수 있다.
또는, 사물웹 자원 처리부(150)는, 사물웹 자원의 속성(예를 들어, 키워드, 사물웹 자원 이름, URI 길이 및 저장 위치 등)에 따라 처리 순서를 결정할 수도 있다.
전술한 바와 같이, 설정된 우선 순위에 기반하여 자원 처리를 수행함으로써, 자원 처리 과정에서의 충돌을 방지할 수 있다.
한편, 메시지 채널(120)은, 다수의 사물웹 자원 처리 요청에 대한 버퍼(Buffer, 임시 저장소) 역할을 하기 때문에, 통신 프로토콜 처리부(110) 또는 사물웹 응용 에이전트(130)에서는 사물웹 자원 처리부(150)에게 요청을 전송한 뒤, 해당 요청에 대한 응답이 회신될 때까지 블로킹(Blocking, 대기) 상태에 있을 필요가 없이 다른 작업을 수행할 수도 있다. 메시지 채널(120)은, 예를 들어 파일(file), 공유 메모리(shared memory), 파이프(pipe), 메시지 큐(message queue), 메시지 버스(message bus) 및 소켓(socket) 형태로 구현될 수 있다.
통신 프로토콜 처리부(110), 사물웹 응용 에이전트(130) 및 사물웹 자원 처리부(150) 간에 메시지 채널(120)을 통하여 요청 및 응답을 주고 받는 것 이외에, 각 구성 요소들에 대한 기본적인 동작은, 도 4를 참조하여 설명한 바와 같으므로 상세한 설명은 생략한다.
도 13 내지 도 15는 본 발명의 일 실시 예에 따른 메시지 채널을 통하여 전송되는 메시지 구조를 설명하기 위한 예시도이다.
도 13을 참조하면, 각 메시지 필드의 데이터 값은, 바이너리 또는 일반 문자열(예를 들어, ascii 문자)로 표현되거나, base64 encoding 등의 각종 인코딩 방식에 따른 변환 및 설정된 암호화 과정을 거쳐 표현되거나 송수신될 수 있다.
또한, 통신 프로토콜 처리부(110)는, 사용자 또는 사물로부터의 사물웹 자원 처리 요청을 메시지 채널(120)을 이용하여 사물웹 자원 처리부(150)로 전달함에 있어, 각각의 요청 메시지마다 식별 기호(예를 들어, 일련 번호(sequence number; seqno)를 부여할 수 있다. 즉, 메시지 채널(120)을 통해 전달되는 각각의 요청 메시지에 식별자를 부여함으로써, 이후 사물웹 자원 처리부(150)를 통해 처리된 해당 응답 메시지를 쉽게 찾을 수 있기 때문에, 다수의 사물웹 자원 처리 요청을 정확한 순서대로 관리할 수 있다. 예를 들어, 사용자로부터 특정 사물웹 자원에 대한 HTTP 조회 명령을 수신하는 HTTP 통신 프로토콜 처리부는, 사용자 1로부터의 사물웹 자원 처리 요청을 수신한 뒤 해당 응답 메시지를 사용자 1에게 송신하기 이전에라도, 다른 사용자인 사용자 2로부터의 사물웹 자원 처리 요청을 수신할 수 있다. 즉, 각 통신 프로토콜 처리부에서는 하나 이상의 처리 요청을 수신한 뒤 사물웹 자원 처리부로부터 각 처리 요청에 대한 응답 메시지가 제공될 때까지, 각각의 사물 웹 자원 요청에 대한 식별자 부여 동작, 요청 메시지와 응답 메시지의 식별자 매칭(matching) 동작, 요청에 대한 응답을 사용자에게 회신한 뒤 상기 요청을 수신에 사용되었던 메모리 회수 동작 및 일정 시간 이상 응답 메시지가 제공되지 않을 경우 타임아웃(timeout)에 의한 오류 로그 기록 동작 등을 수행할 수 있다.
도 14에는, 사용자로부터 조회 요청이 있는 경우에, 제 1 통신 프로토콜 처리부(예를 들어, 웹 기반 통신 프로토콜 처리부)가 사물웹 자원 처리부로 전달하기 위하여 생성한 메시지의 일 예를 나타내었다.
도 15에는, 도 14에 도시된 바와 같은 메시지에 대한 응답으로, 사물웹 자원 처리부가 제 1 통신 프로토콜 처리부(예를 들어, 웹 기반 통신 프로토콜 처리부)로 전송하기 위하여 생성한 메시지의 일 예를 나타내었다.
도 14 및 도 15를 참조하면, 각 메시지에 동일한 일련 번호 "1"이 부여된 것을 알 수 있다.
한편, 사물웹 플러그인 시스템에 포함된 각 구성 요소에 대한 구동 상태 관리가 이루어져야 할 필요가 있다. 예를 들어, 사물웹 플러그인 시스템이 초기 구동되거나, 또는 재시작하는 상황에서는, 통신 프로토콜 처리부가 사용자 또는 사물로부터의 자원 처리 요청을 수신하기에 앞서 사물웹 자원 처리부의 구동이 선행되어야 한다. 이는, 비록 통신 프로토콜 처리부에서 사용자의 요청을 수신하더라도, 사물웹 자원 처리부가 정상적으로 구동될 때까지는, 불필요하게 요청을 쌓아놓을 수 밖에 없고, 사물웹 자원 처리부의 구동 상태를 반복적으로 확인해야 하므로 시스템에 부하가 발생하기 때문이다.
따라서, 사물웹 자원 처리부의 완전한 구동 활성화가 이루어진 뒤에 통신 프로토콜 처리부의 구동 활성화가 이루어질 수 있도록 하는 방안이 필요하다. 이는 사물웹 응용 에이전트에 있어서도 마찬가지이다. 왜냐하면, 사물웹 응용 에이전트로부터의 사물웹 자원 접근 요청에 대해서도, 사물웹 자원 처리부의 구동 활성화가 이루어진 이후에 정상적으로 처리가 될 수 있기 때문이다.
또 다른 예로, 사물웹 자원 처리부가 구동 준비되어 있더라도, 최소한 하나의 통신 프로토콜 처리부의 구동 준비가 될 때까지 사물웹 자원 처리부를 활성화시키지 않도록 할 수 있다. 이는, 사용자 또는 사물 간의 요청이 이루어질 수 없는 상황이라면 사물웹 자원 처리부만 홀로 구동할 필요가 없기 때문이다.
전술한 바와 같은 구동 상태를 관리할 수 있는 실시 예를 도 16 내지 도 18을 참조하여 설명한다.
도 16은 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템을 설명하기 위한 블록도이다.
도 16을 참조하면, 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템은, 통신 프로토콜 처리부(110), 메시지 채널(120), 사물웹 응용 에이전트(130), 구동 관리부(140), 사물웹 자원 처리부(150) 및 사물웹 자원 저장부(160)를 포함한다.
구동 관리부(140)는, 통신 프로토콜 처리부(110) 및 사물웹 자원 처리부(150)의 구동 상태(예를 들어, 활성화 상태, 비활성화 상태 및 구동되지 않음 상태)를 확인하고, 사물웹 플러그인 시스템을 구성하는 각 구성 요소들의 구동 상태를 제어할 수 있다.
나머지 구성 요소들의 기본적인 동작은 도 12를 참조하여 설명한 바와 같으므로, 그 상세한 설명은 생략한다.
도 17은 본 발명의 다른 실시 예에 따른 사물웹 플러그인 시스템에 포함된 구성 요소에 대한 구동 상태 변화를 설명하기 위한 예시도이다.
예를 들어, 사물웹 자원 처리부(150)가 초기 실행되어 구동 준비 단계가 되면, 구동 관리부(140)는 사물웹 자원 처리부(150)의 구동 상태를 구동되지 않음(Unknown) 상태에서 비활성화(Inactive) 상태로 기록한다.
구동 관리부(140)는, 비활성화 상태의 사물웹 자원 처리부(150)에 대해 활성화(Active) 상태로 전이하도록 시작(Start) 신호를 발생할 수 있다. 마찬가지로 활성화 상태의 사물웹 자원 처리부(150)를 비활성화 상태로 전이하도록 정지(Stop) 신호를 발생할 수 있다.
또한, 구동 관리부(140)는, 사물웹 자원 처리부(150)가 활성화 상태에 있을 때에만, 통신 프로토콜 처리부(110)의 구동 상태를 비활성화 상태에서 활성화 상태로 전이하도록 시작 신호를 발생할 수 있다.
도 18은 본 발명의 다른 실시 예에 따른 구동 관리부가 사물웹 플러그인 시스템에 포함된 구성 요소의 구동 상태를 제어하는 과정을 설명하기 위한 예시도이다.
도 18에는, 통신 프로토콜 처리부가 제 1 및 제 2 통신 프로토콜 처리부(110b)로 구성된 경우의 예를 도시하였다.
단계(1001)에서, 제 1 통신 프로토콜 처리부(110a)는 자신이 비활성화(구동 준비) 상태에 있음을, 구동 관리부(140)에게 알린다. 이 때, 구동 관리부(140)는 즉각적으로 제 1 통신 프로토콜 처리부(110a)에 활성화 신호를 전송하지 않는다.
단계(1003)에서 사물웹 자원 처리부(150)의 구동 준비가 확인되면, 단계(1005)에서 구동 관리부(140)는 사물웹 자원 처리부(150)로 활성화 신호를 전송하고, 이에 따라 단계(1007)에서 사물웹 자원 처리부(150)의 활성화가 이루어진다.
단계(1009)에서 사물웹 자원 처리부(150)의 활성화가 확인되면, 단계(1001)에서 구동 관리부(140)는 제 1 통신 프로토콜 처리부(110a)로 활성화 신호를 전송한다. 이에 따라, 단계(1013)에서 제 1 통신 프로토콜 처리부(110a)의 활성화가 이루어진다.
이후, 단계(1015)에서 제 1 통신 프로토콜 처리부(110a)의 활성화가 확인되고, 단계(1017)에서 제 2 통신 프로토콜 처리부의 구동 준비 상태가 확인되면, 단계(1019)에서 구동 관리부(140)는, 제 2 통신 프로토콜 처리부(110b)로 활성화 신호를 전송한다. 이에 따라, 단계(1021)에서 제 2 통신 프로토콜 처리부(110b)의 활성화가 이루어진다.
이후, 단계(1023)에서 제 2 통신 프로토콜 처리부(110b)의 활성화가 확인되고, 단계(1025)에서 제 1 통신 프로토콜 처리부(110a)가 종료됨이 확인되면, 구동 관리부(140)는 제 1 통신 프로토콜 처리부(110a)가 '구동되지 않음'상태로 변경되었음을 기록한다.
이후, 단계(1027)에서 사물웹 자원 처리부(150)가 종료됨이 확인되면, 단계(1029)에서 구동 관리부(140)는 활성화 상태에 있는 제 2 통신 프로토콜 처리부(110b)에 정지 신호를 전송한다. 이에 따라, 제 2 통신 프로토콜 처리부(110b)는 비활성화(구동 준비) 상태로 전이한다.
이상에서 설명된 본 발명의 실시 예들은 임의의 다양한 방법으로 구현될 수 있다. 예를 들어, 본 발명의 실시 예들은 하드웨어, 소프트웨어 또는 그 조합을 이용하여 구현될 수 있다. 소프트웨어로 구현되는 경우에, 다양한 운영 체제 또는 플랫폼을 이용하는 하나 이상의 프로세서 상에서 실행되는 소프트웨어로서 구현될 수 있다. 추가적으로, 그러한 소프트웨어는 다수의 적합한 프로그래밍 언어들 중에서 임의의 것을 사용하여 작성될 수 있고, 또한 프레임워크 또는 가상 머신에서 실행 가능한 기계어 코드 또는 중간 코드로 컴파일 될 수 있다.
또한, 본 발명의 실시 예들이 하나 이상의 프로세서 상에서 실행되는 경우 이상에서 논의된 본 발명의 다양한 실시 예들을 구현하는 방법을 수행하기 위한 하나 이상의 프로그램이 기록된 프로세서 판독 가능 매체(예를 들어, 메모리, 플로피 디스크, 하드 디스크, 콤팩트 디스크, 광학 디스크 또는 자기 테이프 등)로 구현될 수 있다.

Claims (11)

  1. 사물웹 플러그인 시스템에 있어서,
    사물(thing)로부터 수신된 사물의 정보가 웹 자원으로 변환된 사물웹 자원을 저장하는 사물웹 자원 저장부;
    상기 사물웹 자원 저장부에 저장된 사물웹 자원에 대한 자원 처리를 수행하는 사물웹 자원 처리부;
    수신되는 사물웹 자원 처리 요청을 상기 사물웹 자원 처리부로 전송하고, 상기 사물웹 자원 처리 요청에 대응하여 상기 사물웹 자원 처리부로부터 수신되는 사물웹 자원 처리 결과를 출력하는 통신 프로토콜 처리부; 및
    상기 사물웹 자원 저장부에 저장된 사물웹 자원을 기반으로 새로운 사물웹 자원을 생성하거나, 상기 사물웹 자원 저장부에 저장된 사물웹 자원을 갱신하거나, 상기 사물웹 플러그인 시스템 자체의 정보를 사물웹 자원으로 생성하여 상기 사물웹 자원 저장부에 저장하는 사물웹 응용 에이전트;
    를 포함하되,
    상기 통신 프로토콜 처리부는,
    사용자 단말로부터 상기 사물웹 자원 처리 요청을 수신하고, 상기 사용자 단말로 상기 사물웹 자원 처리 결과를 출력하는 웹 기반 통신 프로토콜 처리부; 및
    사물로부터 해당 사물의 정보를 수신하거나, 사물로부터 상기 사물웹 자원 처리 요청을 수신하고 해당 사물들로 상기 사물웹 자원 처리 결과를 출력하는 지역적 통신 프로토콜 처리부를 포함하는 것을 특징으로 하고,
    상기 사물웹 자원 처리부는,
    상가 사용자의 해당 사물웹 자원에 대한 접근 권한에 따라 상기 사물웹 응용 에이전트로부터 수신되는 요청을 토대로 상기 사물웹 자원 저장부에 저장된 사물웹 자원에 대한 접근 여부를 결정하는 것을 특징으로 하는
    사물웹 플러그인 시스템.
  2. 제 1항에 있어서,
    상기 웹 기반 통신 프로토콜 처리부는,
    특정 사용자로부터 사물웹 자원 처리 요청을 수신한 뒤 해당 응답 메시지를 상기 사용자에게 송신하기 이전에라도, 다른 사용자로부터 사물웹 자원 처리 요청을 수신할 수 있는 것을 특징으로 하는
    사물웹 플러그인 시스템.
  3. 제 1 항에 있어서,
    상기 사물웹 자원 처리부는,
    사물웹 자원 처리 요청의 종류, 통신 프로토콜의 종류, 요청자 및 사물웹 자원의 속성 중 적어도 하나에 따라 우선 순위를 적용하여 사물웹 자원에 대한 자원 처리를 수행하는 것을 특징으로 하는
    사물웹 플러그인 시스템.
  4. 제 1 항에 있어서,
    상기 통신 프로토콜 처리부 및 상기 사물웹 자원 처리부 사이에 위치하며, 상기 사물웹 자원 처리 요청 및 상기 사물웹 자원 처리 결과를 중계하는 메시지 채널
    을 더 포함하는 사물웹 플러그인 시스템.
  5. 제 1 항에 있어서,
    상기 사물웹 자원 처리부의 구동 상태를 기반으로, 상기 사물웹 플러그인 시스템에 포함된 구성 요소들의 구동 상태를 제어하는 구동 관리부
    를 더 포함하는 사물웹 플러그인 시스템.
  6. 제 5 항에 있어서, 상기 구동 관리부는,
    상기 사물웹 자원 처리부가 비활성화 상태에서 활성화 상태로 전환되는 경우 상기 통신 프로토콜 처리부를 활성화하는
    사물웹 플러그인 시스템.
  7. 제 6 항에 있어서, 상기 구동 관리부는,
    상기 사물웹 자원 처리부가 활성화 상태에서 비활성화 상태로 전환되는 경우 상기 통신 프로토콜 처리부를 비활성화하는
    사물웹 플러그인 시스템.
  8. 제 1 항에 있어서,
    상기 사물웹 응용 에이전트는,
    하나 이상의 개별 사물웹 자원들에 대한 조회 결과를 결합하여 새로운 파라미터를 생성하여, 새로운 사물웹 자원으로 제공하는 것을 특징으로 하는
    사물웹 플러그인 시스템.
  9. 제 1 항에 있어서, 상기 자원 처리는,
    상기 사물웹 자원의 등록, 저장, 검색, 조회, 갱신 및 삭제 중 적어도 하나와 관련된
    사물웹 플러그인 시스템.
  10. 제 1 항에 있어서, 상기 사물웹 자원 처리부는,
    상기 사물웹 자원의 등록, 조회 및 갱신 중 어느 하나에 해당하는 자원 처리가 이루어지는 경우, 해당 사물을 제어하기 위한 명령을 해당 사물에 전송하는
    사물웹 플러그인 시스템.
  11. 제 1 항에 있어서, 상기 사물웹 자원 처리부는,
    설정된 상황이 발생하는 경우, 사용자 또는 해당 상황과 관련된 사물에게 상기 상황과 관련된 통지를 수행하는
    사물웹 플러그인 시스템.
KR1020140109636A 2014-08-22 2014-08-22 사물웹 플러그인 시스템 KR101723561B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020140109636A KR101723561B1 (ko) 2014-08-22 2014-08-22 사물웹 플러그인 시스템
US14/831,569 US20160056972A1 (en) 2014-08-22 2015-08-20 Web of thins plug-in system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140109636A KR101723561B1 (ko) 2014-08-22 2014-08-22 사물웹 플러그인 시스템

Publications (2)

Publication Number Publication Date
KR20160024055A KR20160024055A (ko) 2016-03-04
KR101723561B1 true KR101723561B1 (ko) 2017-04-06

Family

ID=55349232

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140109636A KR101723561B1 (ko) 2014-08-22 2014-08-22 사물웹 플러그인 시스템

Country Status (2)

Country Link
US (1) US20160056972A1 (ko)
KR (1) KR101723561B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10212743B2 (en) * 2015-06-18 2019-02-19 Alok V Sinha System and method for establishing communication between plurality of internet of things devices
US10534852B2 (en) * 2015-09-30 2020-01-14 Samsung Display Co., Ltd. Display system and virtual web device in the cloud

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101362384B1 (ko) 2012-08-09 2014-02-21 한국과학기술원 웹 플랫폼을 이용한 아이피 기반 IoT 사물 브라우징 방법 및 시스템

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2924565A1 (en) * 2014-03-24 2015-09-30 Hewlett-Packard Development Company, L.P. Web-application-launch application programming interface

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101362384B1 (ko) 2012-08-09 2014-02-21 한국과학기술원 웹 플랫폼을 이용한 아이피 기반 IoT 사물 브라우징 방법 및 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Michael Koster, "Information Models for an Interoperable Web of Things", W3C Workshop on the Web of Things (2014.06.26.)

Also Published As

Publication number Publication date
US20160056972A1 (en) 2016-02-25
KR20160024055A (ko) 2016-03-04

Similar Documents

Publication Publication Date Title
US10868857B2 (en) Building management system with distributed data collection and gateway services
US9920948B2 (en) Asynchronous reporting system
US8718707B2 (en) Devices, systems, and methods for communicating with rooftop air handling units and other HVAC components
US9954968B2 (en) Remote access gateway configurable control system
CN111201764B (zh) 用于提供物联网平台服务的方法和服务器装置
KR20150054505A (ko) 홈 가전기기들에 대한 관리 서비스를 제공하는 클라우드 기반의 데이터 서버 및 홈 가전기기들에 대한 관리 서비스 제공 방법
WO2014002184A1 (ja) 設備管理システム及びプログラム
JP6621075B2 (ja) リソース取得方法および装置
US20140082068A1 (en) Mailbox data storage system
KR102239654B1 (ko) IoT 서비스 플랫폼 인증 및 보안을 위한 방법 및 시스템
KR101723561B1 (ko) 사물웹 플러그인 시스템
WO2024183449A1 (zh) 楼宇协议数据处理方法、装置及系统
WO2011102539A1 (ja) 制御対象機器、機器制御システム、機器制御プログラム、および機器制御方法
JP6138933B2 (ja) 制御監視システムおよび制御監視方法
KR101076999B1 (ko) 센서 네트워크에서 센서 노드의 리소스를 제공하는 시스템
KR101107359B1 (ko) 센서 노드의 리소스를 제공하는 시스템
KR101005302B1 (ko) 유비쿼터스 센서 네트워크 인프라 구조에서의 센서 네트워크 관리방법 및 이를 이용한 관리 시스템
JP5760873B2 (ja) データ生成装置、方法およびプログラム
KR100789919B1 (ko) 이기종 센서 네트워크 기반의 usn 디렉토리 서비스 제공장치 및 그 방법
JP2020013223A (ja) 制御システム、検索装置および検索プログラム
KR102233007B1 (ko) 디바이스 디스크립터를 이용한 사물인터넷 플랫폼 서비스 제공 서버 및 방법
US9876850B2 (en) Gateway-facilitated communications for resource-constrained devices
JP7196764B2 (ja) 情報処理システム
JP2005217645A (ja) リモコン端末、サーバ装置およびネットワーク対応機器
KR101918807B1 (ko) IoT 환경에서 CoT 구성 및 제어 방법

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
FPAY Annual fee payment

Payment date: 20200224

Year of fee payment: 4