KR20150085640A - IoT DIY 플랫폼을 지원하는 전자 장치 - Google Patents

IoT DIY 플랫폼을 지원하는 전자 장치 Download PDF

Info

Publication number
KR20150085640A
KR20150085640A KR1020140005529A KR20140005529A KR20150085640A KR 20150085640 A KR20150085640 A KR 20150085640A KR 1020140005529 A KR1020140005529 A KR 1020140005529A KR 20140005529 A KR20140005529 A KR 20140005529A KR 20150085640 A KR20150085640 A KR 20150085640A
Authority
KR
South Korea
Prior art keywords
iot
virtual
communication
electronic device
virtual object
Prior art date
Application number
KR1020140005529A
Other languages
English (en)
Other versions
KR101749023B1 (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 KR1020140005529A priority Critical patent/KR101749023B1/ko
Publication of KR20150085640A publication Critical patent/KR20150085640A/ko
Application granted granted Critical
Publication of KR101749023B1 publication Critical patent/KR101749023B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17306Intercommunication techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 스마트 프로덕트 환경에 관한 것으로, 통신 가능한 IoT 사물과 통신 채널을 형성하는 통신 모듈, 상기 통신 채널을 기반으로 상기 IoT 사물 인식 및 인식된 IoT 사물에 대응하는 가상 객체를 생성하여 등록하거나, 등록된 가상 객체 삭제를 지원하는 제어 모듈, 상기 사물과 가상 객체 간의 통신 설정 및 데이터 전송을 지원하도록 TVM open APIs로 작성된 스마트 프로덕트 앱을 저장하는 저장 모듈을 포함하는 IoT DIY 플랫폼을 지원하는 전자 장치의 구성을 개시한다.

Description

IoT DIY 플랫폼을 지원하는 전자 장치{Electronic Device supporting the Internet of Things and Do It Yourself Platform}
본 발명은 다양한 유무선 근거리 통신 매체를 사용하는 IoT(Internet of Things) 사물을 자동으로 검색 및 연결제어를 지원하는 TVM(Thing Virtualization Machine) 기반 DIY SW(Do It Yourself Software) 플랫폼에 관한 것이다.
스마트폰 시장이 포화 상태에 접어들었고, 스마트폰 시장에 매진하던 세계는 이제 스마트 프로덕트 시장에 눈을 돌리면서 새 지평으로 나아가고 있다. 스마트폰만으로 생활하던 것에서 벗어나 이제는 스마트폰과 연결되는 다양한 제품들로 생활의 패턴이 바뀌고 있다.
스마트폰의 앱과 연동해 새로운 서비스를 제공하는 기능형 제품에 해당하는 스마트 프로덕트는 제조사가 다양한 유무선 근거리 통신을 하는 개별 히트 제품 개념으로 출시하고 있으나 다수 사용자가 유기적으로 공유할 수 있는 공통의 서비스 플랫폼 기술은 제공되고 있지 않다.
본 발명에서는 해결하고자 하는 기술적 목적은 본 발명은 기존의 수백 Line으로 해결해야 했던 사물 검색, 연결제어, 데이터 교환 기능 프로그램을 수십 Line으로 해결할 수 있는 IoT DIY 플랫폼을 지원하는 전자 장치를 제공함에 있다.
또한 본 발명은 IoT DIY 플랫폼과 관련하여 TVM Open APIs을 제안함으로써 앱 개발 기간 단축과 신속, 용이, 소규모 비용의 특징으로 스마트 프로덕트를 사업화할 수 있도록 하는 IoT DIY 플랫폼을 지원하는 전자 장치를 제공함에 있다.
본 발명의 실시 예에 따른 전자 장치는 통신 가능한 IoT 사물과 통신 채널을 형성하는 통신 모듈, 상기 통신 채널을 기반으로 상기 IoT 사물 인식 및 인식된 IoT 사물에 대응하는 가상 객체를 생성하여 등록하거나, 등록된 가상 객체 삭제를 지원하는 제어 모듈, 상기 사물과 가상 객체 간의 통신 설정 및 데이터 전송을 지원하도록 TVM open APIs로 작성된 스마트 프로덕트 앱을 저장하는 저장 모듈을 포함할 수 있다.
상기 제어 모듈은 IoT 사물과의 통신 채널을 지원하는 사물 접근 통신 인터페이스, IoT 사물의 사물 가상화와 관련한 사물 가상화 머신 계층, 상기 스마트 프로덕트 앱 운용과 관련한 TVM 응용 계층을 가지는 사물 가상화 머신을 포함할 수 있다.
상기 스마트 프로덕트 앱은 IoT 가상 객체 클라우드 스토리지에 등록된 사물의 가상 객체에 접근하고 사물과 가상 객체간 통신경로 설정, 통신경로 활성화 및 비활성화, 사물이 가상 객체에게 전달한 데이터를 가상 객체의 메시지 큐로부터 얻어올 수 있다.
상기 TVM 응용 계층은 다종의 유무선 근거리 통신매체(블루투스, 지그비, NFC, WiFi/WiFi-Direct, IR, 헤드폰잭 등)를 수용하는 사물의 검색 및 사물 가상 객체 등록을 지원하며 IoT 사물을 IoT 가상 객체 클라우드 스토리지에 가상 객체로 등록하고 데이터베이스에는 사물에 대한 가상화 프로파일을 생성하는 IoT 사물 검색 브라우저를 포함할 수 있다.
상기 TVM 응용 계층은 상기 스마트 프로덕트 앱이 실행될 때, IoT 서비스가 실행되고 있지 않으면 IoT 서비스를 백그라운드 데몬으로 실행시키는 IoT 서비스 실행자, 상기 TVM Open APIs를 사용하는 스마트 프로덕트 앱과 IoT 서비스 간의 RPC(Remote Procedure Call) 통신 서비스를 지원하는 IoT 서비스 프록시를 포함할 수 있다.
상기 사물 가상화 머신 계층은 IoT 서비스에 의해 생성되며, 데이터베이스 관리자, 사물 접근 통신 채널 관리자, 사물 가상 객체 관리자를 생성하고 초기화 하며, 이들 관리자에 대한 단일화된 접근과 관리자들 간의 상호 참조를 지원하는 싱글턴 관리자를 포함할 수 있다.
상기 사물 가상화 머신 계층은 전자 장치에 가상화 된 사물에 대한 사물 가상 객체의 접근 포인터를 관리하는 사물 가상 객체 관리자를 포함할 수 있다.
상기 사물 가상화 머신 계층은 전자 장치에 가상화 된 사물에 대한 사물 식별자, 사물 이름, 통신 드라이버 이름, 통신 매체 종류, 통신경로 연결 상태를 관리하는 사물 가상화 프로파일을 관리하는 데이터베이스 관리자를 포함할 수 있다.
상기 사물 가상화 머신 계층은 가상 객체를 관리하는 저장소이며 임의의 전자 장치로부터의 접근을 허용하는 자원 공유를 제공하는 IoT 가상 객체 클라우드 스토리지를 포함할 수 있다.
상기 사물 가상화 머신 계층은 스마트 프로덕트 앱이 사물 가상화 머신이 제공하는 TVM Open APIs를 호출하면 IoT 서비스 프록시를 통해 전달되는 RPC을 받아서 사물 가상화 머신이 제공하는 서비스를 이용하도록 지원하는 IoT 서비스를 포함할 수 있다.
상기 사물 가상화 머신 계층은 통신 매체 별로 주변 사물을 검색하여 Discoverable Device 목록에 사물과 통신하는 Peer-to-Peer 엔터티인 검색 사물의 식별자와 이름을 명시한 Device 객체를 추가하고, 채널 관리자 내부에 Device 객체를 생성하는 사물 접근 통신 채널 관리자를 포함할 수 있다.
상기 사물 가상화 머신 계층은 USB 드라이버, 블루투스 드라이버, 와이파이 드라이버, NFC 드라이버, 빌트인 드라이버 등을 포함하는 사물 접근 통신 인터페이스를 포함할 수 있다.
상술한 바와 같이, 본 발명의 IoT DIY 플랫폼을 지원하는 전자 장치에 따르면, 본 발명은 사물 가상화 머신과 IoT 사물 검색 브라우저를 이용하여 스마트 프로덕트 사업화를 보다 신속하고 용이하며 소규모 비용을 실현할 수 있도록 지원한다.
이러한 본 발명은 국가의 창조경제 구현에 이바지하고, 청년 창업, 일자리 창출 등의 경제적 효과와 SW 산업 발전과 IT 융합산업에 크게 기여할 수 있다.
도 1은 본 발명의 실시 예에 따른 IoT DIY 플랫폼 적용과 관련한 스마트 프로덕트 환경을 개략적으로 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 전자 장치의 구성을 나타낸 도면이다.
도 3은 본 발명의 실시 예에 따른 전자 장치의 사물 가상화 머신 구조를 나타낸 도면이다.
도 4는 본 발명의 실시 예에 따른 스마트 프로덕트 환경에서의 IoT 서비스 운용을 설명하기 위한 도면이다.
도 5는 본 발명의 실시 예에 따른 사물 가상화 프로파일의 구조를 나타낸다.
이하, 첨부된 도면들을 참조하여 본 발명의 다양한 실시예들을 상세히 설명한다. 이때, 첨부된 도면들에서 동일한 구성 요소는 가능한 동일한 부호로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 흐리게 할 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략할 것이다. 즉, 하기의 설명에서는 본 발명의 실시예에 따른 동작을 이해하는데 필요한 부분만이 설명되며, 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.
이하에서 설명하는 본 발명은 IoT 사물 가상화와 관련하여 이에 따라 다양한 유무선 근거리 통신을 하는 사물(기기)를 자동으로 검색 및 연결제어 하는 사물 개인화 및 제어 서비스를 지원하는 IoT 사물 가상화 머신(Thing Virtualization Machine) 기반 DIY SW 플랫폼, IoT 사물 검색 브라우저(Sensor Browser), IoT 서비스 매쉬업 툴의 구성에 대해 설명하기로 한다.
도 1은 본 발명의 실시 예에 따른 IoT DIY 플랫폼 적용과 관련한 스마트 프로덕트 환경을 개략적으로 나타낸 도면이다.
도 1을 참조하면, 스마트 프로덕트 환경(10)은 전자 장치(100), 적어도 하나의 IoT 사물(200), 클라우드 시스템(300)을 포함할 수 있다. 상술한 구조를 가지는 스마트 프로덕트 환경(10)은 전자 장치(100) 주변에서 검색한 IoT 사물(200)을 원터치 클릭으로 클라우드 시스템(300)에 등록하고, 클라우드 시스템(300)에 등록된 적어도 하나의 IoT 사물(200)에 대한 검색을 수행할 수 있도록 지원한다.
IoT 사물(200)은 전자 장치(100)에 포함된 적어도 하나의 통신 인터페이스를 통해 전자 장치(100)와 통신을 수행할 수 있는 사물일 수 있다. 예를 들면, IoT 사물(200)은 쇼파나, 가방, 탁자, 자전거 등 주변의 모든 사물들일 수 있다. 특히 IoT 사물(200)은 통신 가능한 통신 모듈 예컨대 블루투스 통신 모듈, NFC 통신 모듈, 지그비 통신 모듈, 적외선 통신 모듈, UWB 통신 모듈 등 다양한 통신 모듈 중 적어도 하나가 배치된 사물일 수 있다. IoT 사물(200)은 이동이 불가능한 고정형이거나 또는 이동 가능한 이동형 중 적어도 하나일 수 있다. 이러한 IoT 사물(200)은 전자 장치(100)에 설치된 앱과 연동하는 특정 기능을 가지는 제품 등일 수 있다.
전자 장치(100)는 IoT 사물(200)을 인식할 수 있는 적어도 하나의 통신 인터페이스를 포함하는 스마트폰일 수 있다. 전자 장치(100)는 IoT 사물(200)을 인식한 경우, 인식된 IoT 사물(200)을 클라우드 시스템(300)에 등록할 수 있도록 지원할 수 있다. 또한 전자 장치(100)는 클라우드 시스템(300)을 기반으로 특정 IoT 사물(200)을 검색할 수 있는 브라우저를 제공할 수 있다. 이러한 전자 장치(100) 구성에 대하여 도 2 및 도 3을 참조하여 보다 상세히 설명하기로 한다.
클라우드 시스템(300)은 전자 장치(100)와 통신을 수행할 수 있다. 클라우드 시스템(300)은 전자 장치(100)로부터 IoT 사물(200)에 대한 등록 요청을 수신할 수 있다. 클라우드 시스템(300)은 전자 장치(100)가 등록 요청한 IoT 사물(200)에 대한 등록을 수행할 수 있다. 클라우드 시스템(300)은 전자 장치(100) 요청에 따라 등록된 IoT 사물(200)들과 관련한 정보를 제공할 수 있다. 예컨대, 클라우드 시스템(300)은 전자 장치(100)의 특정 검색 브라우저를 통해 IoT 사물(200)과 관련한 정보를 제공할 수 있다. 클라우드 시스템(300)은 IoT 사물(200)과 관련한 사물 가상 객체를 관리하고 전자 장치(100)로부터의 사물 가상 객체의 접근을 허용할 수 있다.
또한, 도 1에 도시된 바와 같이 상기 스마트 프로덕트 환경(10)은 타 전자 장치(101), 타 전자 장치(101)와 관련한 타 IoT 사물(201)을 더 포함할 수 있다. 타 전자 장치(101)는 IoT 사물(201)에 대한 사물 등록을 클라우드 시스템(300)에 수행할 수 있다. 이에 따라, 클라우드 시스템(300)은 IoT 사물(200)과 타 IoT 사물(201)에 대한 등록 정보를 관리할 수도 있다. 그리고 전자 장치(100)과 타 전자 장치(101)은 클라우드 시스템(300)을 통하여 IoT 사물(200)과 타 IoT 사물(201)에 대한 정보 공유를 수행할 수도 있다. 여기서 타 전자 장치(101)은 타 IoT 사물(201)에 대한 인식과 등록, 검색 등의 서비스 지원을 위하여 아래에서 설명하는 전자 장치(100)와 동일한 구성을 포함할 수 있다.
도 2는 본 발명의 실시 예에 따른 전자 장치의 구성을 나타낸 도면이다.
도 2를 참조하면, 본 발명의 실시 예에 따른 전자 장치(100)는 통신 모듈(110), 입력 모듈(120), 표시 모듈(140), 저장 모듈(150) 및 제어 모듈(160)을 포함할 수 있다.
상술한 구조를 가지는 전자 장치(100)는 주변에서 검색한 IoT 사물(200)을 원터치 클릭으로 클라우드 시스템(300)이 제공하는 사물 가상 객체 클라우드 스토리지에 사물 가상 객체로 등록하거나 이미 등록된 가상 객체를 삭제할 수 있다. 전자 장치(100)는 클라우드 시스템(300)에 있는 가상 객체를 클릭-앤-타입(Click and Type)으로 매쉬업하여 새로운 앱을 생성할 수 있는 IoT 서비스 매쉬업 툴을 포함할 수 있다.
통신 모듈(110)은 전자 장치(100)의 통신 기능을 지원할 수 있다. 통신 모듈(110)은 IoT 사물(200)에 포함된 적어도 하나의 통신 칩 또는 통신 유닛과 통신 채널을 형성할 수 있다. 통신 모듈(110)은 클라우드 시스템(300)과 통신 채널을 형성할 수 있다. 통신 모듈(110)은 IoT 사물(200)을 인식한 인식 정보를 클라우드 시스템(300)에 제공할 수 있다. 통신 모듈(110)은 클라우드 시스템(300)에 등록된 IoT 사물(200) 관련 정보를 수신하고, 이를 제어 모듈(160)에 제공할 수 있다.
입력 모듈(120)은 전자 장치(100)의 운용과 관련한 입력 신호 예컨대, 입력 모듈(120)은 IoT 서비스와 관련한 다양한 입력 신호를 생성할 수 있다. 입력 모듈(120)은 IoT 사물(200) 인식과 관련하여 통신 모듈(110) 제어를 위한 입력 신호, IoT 사물 검색 브라우저 조작과 관련한 입력 신호, IoT 사물(200) 기반의 스마트 프로덕트 앱 생성과 관련한 입력 신호 등을 생성할 수 있다. 이를 위하여 입력 모듈(120)은 적어도 하나의 키버튼, 터치 키, 터치 패드 등을 포함할 수 있다. 또한 입력 모듈(120)은 터치스크린 형태의 표시 모듈(140)을 포함할 수 있다.
표시 모듈(140)은 전자 장치(100) 운용과 관련한 화면을 출력할 수 있다. 예컨대, 표시 모듈(140)은 IoT 사물 검색 브라우저(55)와 관련한 화면을 출력할 수 있다. 표시 모듈(140)은 IoT 사물(200) 인식과 관련한 화면, 클라우드 시스템(300)에 IoT 사물(200) 등록과 관련한 화면, IoT 사물(200) 기반의 스마트 프로덕트 앱(52) 생성과 관련한 화면 등을 출력할 수 있다. 이러한 표시 모듈(140)은 터치 패널을 포함하여 입력 수단으로 이용될 수 있다.
저장 모듈(150)은 IoT 사물 검색 프로그램(151)을 포함할 수 있다. IoT 사물 검색 프로그램(151)은 사물 가상화 머신(161)과 관련한 다양한 프로그램 루틴을 포함할 수 있다. IoT 사물 검색 프로그램(151)은 스마트 프로덕트 앱 생성과 관련한 기능 호출이 발생하면 제어 모듈(160)에 로드되어 해당 기능 지원을 위해 동작할 수 있다.
제어 모듈(160)은 사물 가상화 머신(161)을 포함할 수 있다. 사물 가상화 머신(161)은 전자 장치(100)에 설치되어 생활 주변에 있는 사물을 마치 전자 장치(100) 내에 있는 것처럼 가상화하는 사물 가상화(개인화) 서비스를 지원하는 SW(Software)이다. 사물 가상화 머신(161)은 전자 장치(100)의 내부센서 또는 외부 사물을 쉽게 탐색 및 접속하고 제어할 수 있는 체계화된 정형(Formal) Open Sensor APIs를 제공한다. 또한, 사물 가상화 머신(161)은 사물들 또는 주변 센서 등을 조합해서 물리공간에 존재하지 않는 가상 사물을 생성하는 템플릿 프레임워크를 제공한다.
도 3은 본 발명의 실시 예에 따른 전자 장치의 사물 가상화 머신 구조를 나타낸 도면이다.
도 3을 참조하면, 사물 가상화 머신(161)은 사물 접근 통신 인터페이스(30), 사물 가상화 머신 계층(40), TVM 응용 계층(50)을 포함할 수 있다.
TVM 응용 계층(50)은 IoT 사물 검색 브라우저(55), IoT 서비스 실행자(51), IoT 서비스 프록시(53), TVM Open APIs(54), 스마트 프로덕트 앱(52)을 포함할 수 있다.
IoT 사물 검색 브라우저(55)는 다종의 유무선 근거리 통신매체(블루투스, 지그비, NFC, WiFi/WiFi-Direct, IR, 헤드폰잭 등)를 수용하는 사물의 검색 및 사물 가상 객체 등록을 지원한다. 예를 들면, WiFi 통신매체를 갖고 있는 전자 장치(100)로 WiFi AP를 검색하여 AP의 ip 주소와 SSID 획득한 후에 관심 있는 AP를 전자 장치(100)에 등록하는 것과 같이, 사물 가상화 머신(161)은 주변에 있는 사물의 식별자와 이름을 찾는다. 예를 들면, 블루투스 통신매체를 갖고 있는 사물의 경우에는 블루투스 모뎀에 부여된 사물 식별자(MAC 주소)와 이름을 찾고, 전자 장치(100)에 USB-to-UART 동글형으로 연결되는 사물의 경우에는 CP21xx 또는 FTDI의 vendor id와 produce id를 획득하여 각각 CP21xx의 사물 식별자(CP21xx) 및 이름(CP21xx), FTDI의 사물 식별자(FTDI) 및 이름(FTDI)을 할당하고, NFC 리더는 사물 식별자와 이름을 똑 같이 NFC로 할당하고, 전자 장치(100) 내장센서(Built-in Sensor)의 경우에는 벤더들이 부여한 센서 이름을 사물 식별자와 이름으로 할당한다. 이렇게 검색된 사물들의 식별자와 이름은 IoT 사물 검색 브라우저(55)에 표시되고, IoT 사물 검색 브라우저(55)에 표시된 사물을 사용자가 원터치 클릭하여 사물을 IoT 가상 객체 클라우드 스토리지(20)에 가상 객체로 등록하고 데이터베이스에는 사물에 대한 사물 가상화 프로파일(44)을 생성하게 한다.
사물을 제어하는 스마트 프로덕트 앱(52)은 IoT 가상 객체 클라우드 스토리지(20)에 등록된 사물의 가상 객체에 접근하고, 사물과 가상 객체간 통신경로 설정, 통신경로 활성화 및 비활성화, 사물이 가상 객체에게 전달한 데이터를 가상 객체의 메시지 큐로부터 얻어오는 사물 가상화 머신(161)이 제공하는 TVM Open APIs(54)를 이용하여 프로그래밍 된다.
IoT 서비스 실행자(51)는 스마트 프로덕트 앱(52)이 실행될 때, IoT 서비스(42)가 실행되고 있지 않으면 IoT 서비스(42)를 백그라운드 데몬으로 실행시키는 기능을 수행한다.
IoT 서비스 프록시(53)는 사물 가상화 머신(161)이 제공하는 TVM Open APIs(54)를 사용하는 스마트 프로덕트 앱(52)과 IoT 서비스(42) 간의 RPC(Remote Procedure Call) 통신 서비스를 지원한다.
사물 가상화 머신 계층(40)은 싱글턴 관리자(41)(Singleton-Manager), IoT 서비스(42), 데이터베이스 관리자(43), 사물 가상 객체 관리자(45), 사물 접근 통신 채널 관리자(46), IoT 가상 객체 클라우드 스토리지(20)로 구성된다.
싱글턴 관리자(41)는 IoT 서비스(42)에 의해 생성되며, 데이터베이스 관리자(43), 사물 접근 통신 채널 관리자(46), 사물 가상 객체 관리자(45)를 생성하고 초기화 하며, 이들 관리자에 대한 단일화된 접근과 관리자들 간의 상호 참조를 지원해 준다.
사물 가상 객체 관리자(45)는 전자 장치(100)에 가상화 된 사물에 대한 사물 가상 객체의 접근 포인터를 관리한다. 그리고, 사물 개인화 요청이 있을 때, 사물 가상 객체 관리자(45)는 IoT 가상 객체 클라우드 스토리지(20)에 사물 가상 객체를 생성하고, 사물 가상 객체 관리자(45)의 사물 센서 객체 목록에 IoT 가상 객체 클라우드 스토리지(20)에 생성된 가상 사물 객체 포인터를 추가하여, 사물 가상 객체 관리자(45)가 접근 포인터를 이용하여 생성된 모든 가상 객체에 대해 접근할 수 있도록 한다.
데이터베이스 관리자(43)는 전자 장치(100)에 가상화 된 사물에 대한 사물 식별자, 사물 이름, 통신 드라이버 이름, 통신 매체 종류, 통신경로 연결 상태를 관리하는 사물 가상화 프로파일(44)을 관리한다. 이 사물 가상화 프로파일(44)에 명시된 사물은 전자 장치(100) 사용자의 최종 관심 대상 이었던 사물이기 때문에, 사물 가상 객체 관리자(45)가 시작 또는 재시작 될 때, 사물 가상 객체 관리자(45)가 가상 객체를 자동 생성한다.
IoT 가상 객체 클라우드 스토리지(20)는 가상 객체를 관리하는 저장소이며, 임의의 전자 장치(100)로부터의 접근을 허용하는 자원 공유를 제공하는 클라우드 개념을 지원한다.
IoT 서비스(42)는 스마트 프로덕트 앱(52)이 사물 가상화 머신(161)이 제공하는 TVM Open APIs(54)를 호출하면 IoT 서비스 프록시(53)를 통해 전달되는 RPC을 받아서 사물 가상화 머신(161)이 제공하는 서비스를 이용할 수 있도록 해준다.
사물 접근 통신 채널 관리자(46)는 통신 매체 별로 주변 사물을 검색하여 Discoverable Device 목록에 사물과 통신하는 Peer-to-Peer 엔터티인 검색 사물의 식별자와 이름을 명시한 Device 객체를 추가하고, 채널 관리자 내부에 Device 객체를 생성하고, 사물 접근 통신 채널 관리자(46)의 Device 객체 목록에 Device 객체 접근 포인터를 추가한다. 사물 접근 통신 채널 관리자(46)는 사물과 사물 가상 객체 간의 통신 채널이 연결되거나 끊어지면 Device 객체의 상태 값과 사물 가상화 프로파일(44)의 통신경로 설정 상태를 CONNECTED 또는 DISCONNECTED로 업데이트 한다. Device 객체는 사물과 통신하는 peer-to-peer 엔터티에 해당한다.
사물 접근 통신 인터페이스(30)는 다양한 드라이버들 예컨대 USB 드라이버(31), 블루투스 드라이버(32), 와이파이 드라이버(33), NFC 드라이버(34), 빌트인 드라이버(35) 등을 포함할 수 있다. 사물 접근 통신 인터페이스(30)에 포함된 드라이버들은 통신 모듈(110)에 포함된 다양한 통신 유닛들의 제어를 수행할 수 있다.
도 4는 본 발명의 실시 예에 따른 스마트 프로덕트 환경에서의 IoT 서비스 운용을 설명하기 위한 도면이다.
도 4를 참조하면, IoT 서비스 운용은 사물 가상 객체 생성 과정(S1), 사물 가상 객체 삭제 과정(S2), 사물과 사물 가상 객체간 통신 채널 설정 과정(S3), 사물과 사물 가상 객체간 통신 채널 활성화 과정(S4), 스마트 프로덕트 앱(52)의 데이터 수신 과정(S5), 스마트 프로덕트 앱의 데이터 전송 과정(S6), 통신 채널 비활성화 과정(S7)을 포함할 수 있다.
사물 가상 객체 생성 과정(S1)은 IoT 사물 검색 브라우저(55) 또는 스마트 프로덕트 앱(52)이 사물 식별자 및 사물이 사용하는 통신매체 종류 파라미터와 함께 사물 가상화 머신(161)이 제공하는 사물 개인화(사물 등록) TVM Open APIs(54)를 호출한다. IoT 서비스(42)는 IoT 서비스 프록시(53)를 통해 사물 개인화 요청을 수신한다. IoT 서비스(42)는 사물 가상 객체 관리자(45)에게 사물 식별자 및 통신매체 종류와 함께 사물 개인화를 요청한다. 사물 가상 객체 관리자(45)는 전달받은 사물 식별자와 통신매체 종류를 이용하여 사물 접근 통신 채널 관리자(46)에게 Discoverable Device 목록에 해당 사물의 Device 객체가 존재하는지 확인을 요청한다. 만일, 사물 Device 객체가 Discoverable Device 목록에 존재하지 않으면 사물 가상 객체 관리자(45)는 사물 접근 통신 채널 관리자(46)에게 주변 사물 검색을 요청하여 Discoverable Device 목록을 갱신한다. 사물 Device 객체가 갱신된 Discoverable Device 목록에 없으면 사물 개인화 요청을 실패로 처리한다.
사물 Device 객체가 Discoverable Device 목록에 존재하면 사물 가상 객체 관리자(45)는 IoT 가상 객체 클라우드 스토리지(20)에 사물 식별자 및 통신매체 종류 정보가 표기된 사물 가상 객체를 생성하고, 사물 가상 객체 관리자(45)의 사물 센서 객체 목록에 IoT 가상 객체 클라우드 스토리지(20)에 생성된 가상 사물 객체 포인터를 추가한다. 상기 과정에서 생성된 사물 가상 객체는 물리공간의 사물로부터 도착할 데이터를 저장할 내부 메시지 큐를 생성한다. 사물 가상 객체 관리자(45)는 데이터베이스 관리자(43)에게 사물 식별자, 사물 이름, 드라이버 이름, 통신경로 설정 상태(DISCONNECTED) 파라미터를 전달하여 생성된 사물 가상 객체의 사물 가상화 프로파일(44)을 생성을 요청한다.
사물과 사물 가상 객체 간의 통신 채널 설정 과정(S3)은 스마트 프로덕트 앱(52)이 사물 식별자 파라미터와 함께 사물 가상화 머신(161)이 제공하는 데이터 교환 통신 채널 설정 TVM Open APIs(54)를 호출한다. IoT 서비스 프록시(53)를 통해 사물 식별자 파라미터와 함께 채널 설정 지시가 IoT 서비스(42)에 전달된다. IoT 서비스(42)는 사물 가상 객체 관리자(45)를 통해 사물 식별자와 일치하는 사물 가상 객체를 검색한다. 검색된 가상 객체가 사용하는 통신 매체에 해당하는 사물 접근 통신 채널 관리자(46)에게 사물과 사물 가상 객체 간의 통신 채널 설정을 요청한다. 사물 접근 통신 채널 관리자(46)는 채널 설정이 성공하면 해당 사물 가상화 프로파일(44)의 통신경로 설정 상태를 CONNECTED로 업데이트 한다.
사물과 사물 가상 객체 간 통신경로 활성화 과정(S4)은 스마트 프로덕트 앱(52)이 사물 식별자 파라미터와 함께 사물 가상화 머신(161)이 제공하는 통신 경로 활성화 지시 TVM Open APIs(54)를 호출한다. IoT 서비스(42)는 IoT 서비스 프록시(53)를 통해 사물 식별자 파라미터와 함께 통신경로 활성화 지시를 수신한다. IoT 서비스(42)는 사물 가상 객체 관리자(45)를 통해 사물 식별자와 일치하는 사물 가상 객체를 검색한다. 가상 객체가 사용하는 통신 매체에 해당하는 사물 접근 통신 채널 관리자(46)에게 사물과 사물 가상 객체 간의 통신경로 활성화를 요청한다. 사물 접근 통신 채널 관리자(46)는 통신경로 활성화가 성공하면 사물이 전송한 데이터가 사물 가상 객체의 내부 메시지 큐에 저장한다.
스마트 프로덕트 앱의 데이터 수신 과정(S5)은 스마트 프로덕트 앱(52)이 사물 식별자 파라미터와 함께 사물 가상화 머신(161)이 제공하는 데이터 수신 TVM Open APIs(54)를 호출한다. IoT 서비스(42)는 IoT 서비스 프록시(53)를 통해 사물 식별자 파라미터와 함께 데이터 수신 요청을 수신 한다. IoT 서비스(42)는 사물 가상 객체 관리자(45)를 통해 사물 식별자와 일치하는 사물 가상 객체를 검색한다. 검색된 가상 객체의 데이터 수신 Behavior를 호출한다(사물 가상 객체의 메시지 큐로부터 데이터가 앱에게 전달된다).
스마트 프로덕트 앱의 데이터 전송 과정(S6)은 스마트 프로덕트 앱(52)이 사물 식별자 파라미터와 함께 사물 가상화 머신(161)이 제공하는 데이터 전송 TVM Open APIs(54)를 호출한다. IoT 서비스(42)는 IoT 서비스 프록시(53)를 통해 사물 식별자 파라미터와 함께 데이터 전송 요청을 수신 한다. IoT 서비스(42)는 사물 가상 객체 관리자(45)를 통해 사물 식별자와 일치하는 사물 가상 객체를 검색한다. 검색된 가상 객체의 데이터 전송 Behavior를 호출한다. 사물 가상 객체가 사용하는 사물 접근 통신 채널 관리자(46)를 통해 사물에게 데이터가 전달된다.
사물과 사물 가상 객체 간 통신경로 비활성화 과정(S7)은 스마트 프로덕트 앱(52)이 사물 식별자 파라미터와 함께 사물 가상화 머신(161)이 제공하는 통신 경로 비활성화 지시 TVM Open APIs(54)를 호출한다. IoT 서비스(42)는 IoT 서비스 프록시(53)를 통해 사물 식별자 파라미터와 함께 통신경로 비활성화 지시를 수신한다. IoT 서비스(42)는 사물 가상 객체 관리자(45)를 통해 사물 식별자와 일치하는 사물 가상 객체를 검색한다. 가상 객체가 사용하는 통신 매체에 해당하는 사물 접근 통신 채널 관리자(46)에게 사물과 사물 가상 객체 간의 통신경로 비활성화를 요청한다. 사물 접근 통신 채널 관리자(46)는 통신경로 비활성화가 성공하면 해당 사물 가상화 프로파일(44)의 통신경로 설정 상태를 DISCONNECTED로 업데이트 한다.
사물 가상 객체 삭제 과정(S2)은 스마트 프로덕트 앱(52)이 사물 식별자 파라미터와 함께 사물 가상화 머신(161)이 제공하는 가상 객체 삭제 TVM Open APIs(54)를 호출한다.
IoT 서비스(42)는 IoT 서비스 프록시(53)를 통해 사물 식별자 파라미터와 함께 가상 객체 삭제 지시를 수신한다. IoT 서비스(42)는 사물 가상 객체 관리자(45)를 통해 사물 식별자와 일치하는 사물 가상 객체를 검색한다. 가상 객체가 사용하는 통신 매체에 해당하는 사물 접근 통신 채널 관리자(46)에게 사물과 사물 가상 객체 간의 통신경로 비활성화를 요청한다. 사물 접근 통신 채널 관리자(46)는 통신경로 비활성화가 성공하면 사물 가상 객체를 사물 접근 통신 채널 관리자(46)의 Device 객체 목록에서 사물 식별자와 이름이 일치하는 Device 객체를 삭제한다. 사물 가상 객체 관리자(45)는 사물 식별자와 이름이 일치하는 가상 객체를 IoT 가상 객체 클라우드 스토리지(20)에서 제거하고, 가상 객체의 접근 포인터를 사물 가상 객체 관리자(45)의 가상 객체 목록에서 삭제한다. 그리고, 사물 가상화 프로파일(44)도 삭제한다.
한편, IoT 서비스 운용은 사물 가상화 프로파일 검색 과정을 더 포함할 수 있다. 사물 가상화 프로파일 검색 과정을 살펴보면, 스마트 프로덕트 앱(52)이 사물 가상화 머신(161)이 제공하는 사물 가상화 프로파일 검색 TVM Open APIs(54)를 호출한다. IoT 서비스(42)는 IoT 서비스 프록시(53)를 통해 사물 가상화 프로파일 검색 지시를 수신한다. IoT 서비스(42)는 데이터베이스 관리자(43)의 도움을 받아 사물 가상화 프로파일(44) 리스트를 획득한다. 프로파일 리스트를 획득한 IoT 서비스(42)는 스마트 프로덕트 앱(52)에게 검색 결과를 전달한다. 사물 접근 통신 인터페이스(30)는 전자 장치(100)가 제공하는 네트워크 통신 인터페이스(USB, 블루투스, WiFI/WiFi-Direct, NFC, 내부센서 연결 버스) 접근 및 제어 TVM Open APIs에 해당한다.
도 5는 본 발명의 실시 예에 따른 사물 가상화 프로파일의 구조를 나타낸다.
도 5를 참조하면, 사물 가상화 프로파일(44) 구조는 전자 장치(100)의 IoT 가상 객체 클라우드 스토리지(20) 내에서 사물을 유일하게 식별할 수 있는 사물 식별자(Thing Identifier) 이며, 부가적으로 사물에 대한 사물 이름(Thing Name), 사물 접근 통신매체 종류(IR, USB, WiFi-Direct, 헤드폰잭, 블루투스 빌트인 등), 통신경로 설정 상태(Ready, Disconnected, Connected) 등을 포함한다. 사물 가상화 프로파일(44)은 사물 가상화 머신(161)이 제공하는 TVM Open APIs(54)를 통하여 검색될 수 있다.
상술한 본 발명의 바람직한 실시예는 예시의 목적을 위한 것으로, 당업자라면 첨부된 특허청구범위의 기술적 사상과 범위를 통해 다양한 수정, 변경, 대체 및 부가가 가능할 것이며, 이러한 수정 변경 등은 이하의 특허청구범위에 속하는 것으로 보아야 할 것이다.
100 : 전자 장치 110 : 통신 인터페이스
120 : 입력 모듈 140 : 표시 모듈
150 : 저장 모듈 160 : 제어 모듈

Claims (1)

  1. 통신 가능한 IoT(Internet of Things) 사물과 통신 채널을 형성하는 통신 모듈;
    상기 통신 채널을 기반으로 상기 IoT 사물 인식 및 인식된 IoT 사물에 대응하는 가상 객체를 생성하여 등록하거나, 등록된 가상 객체 삭제를 지원하는 제어 모듈;
    상기 사물과 가상 객체 간의 통신 설정 및 데이터 전송을 지원하도록 TVM(Thing Virtualization Machine) open APIs로 작성된 스마트 프로덕트 앱을 저장하는 저장 모듈;을 포함하는 IoT DIY(Do It Yourself) 플랫폼을 지원하는 전자 장치.
KR1020140005529A 2014-01-16 2014-01-16 IoT DIY 플랫폼을 지원하는 전자 장치 KR101749023B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140005529A KR101749023B1 (ko) 2014-01-16 2014-01-16 IoT DIY 플랫폼을 지원하는 전자 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140005529A KR101749023B1 (ko) 2014-01-16 2014-01-16 IoT DIY 플랫폼을 지원하는 전자 장치

Publications (2)

Publication Number Publication Date
KR20150085640A true KR20150085640A (ko) 2015-07-24
KR101749023B1 KR101749023B1 (ko) 2017-06-20

Family

ID=53875859

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140005529A KR101749023B1 (ko) 2014-01-16 2014-01-16 IoT DIY 플랫폼을 지원하는 전자 장치

Country Status (1)

Country Link
KR (1) KR101749023B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130068848A (ko) * 2011-12-16 2013-06-26 한국전자통신연구원 홈 환경의 물리적 공간정보 관리 시스템 및 방법
KR20170045025A (ko) 2015-10-16 2017-04-26 주식회사 바이클립 발광 장치를 제어하는 시스템 및 방법
KR20180055198A (ko) * 2016-11-16 2018-05-25 (주)파인원커뮤니케이션즈 디바이스 가상화 시스템 및 방법
WO2018105804A1 (ko) * 2016-12-08 2018-06-14 제주대학교 산학협력단 Bpm 기반의 iot diy 시스템 및 이의 구현방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130068848A (ko) * 2011-12-16 2013-06-26 한국전자통신연구원 홈 환경의 물리적 공간정보 관리 시스템 및 방법
KR20170045025A (ko) 2015-10-16 2017-04-26 주식회사 바이클립 발광 장치를 제어하는 시스템 및 방법
KR20180055198A (ko) * 2016-11-16 2018-05-25 (주)파인원커뮤니케이션즈 디바이스 가상화 시스템 및 방법
WO2018105804A1 (ko) * 2016-12-08 2018-06-14 제주대학교 산학협력단 Bpm 기반의 iot diy 시스템 및 이의 구현방법
KR20180066356A (ko) * 2016-12-08 2018-06-19 제주대학교 산학협력단 BPM 기반의 IoT DIY 시스템 및 이의 구현방법

Also Published As

Publication number Publication date
KR101749023B1 (ko) 2017-06-20

Similar Documents

Publication Publication Date Title
US10893094B2 (en) System and method for appliance detection and app configuration
JP6751094B2 (ja) 無線通信をサポートする方法、機器およびシステム
US8973014B2 (en) Inter-device communication transmission system and method thereof
EP3007369B1 (en) Method, device and system of prompting communication event
JP5736433B2 (ja) IoTブラウジング方法および装置
EP3361707B1 (en) Method and apparatus for controlling and managing a field device using an industry internet operating system
US9021005B2 (en) System and method to provide remote device management for mobile virtualized platforms
KR101749023B1 (ko) IoT DIY 플랫폼을 지원하는 전자 장치
KR102052607B1 (ko) 사물 검색 브라우저 기반 스마트 디바이스 및 이를 이용한 사물 매쉬업 방법
JP6316536B2 (ja) 情報処理システム、情報処理装置、情報処理プログラム、および情報処理方法
US8909356B2 (en) Appliance control device, registration method of appliance control device, and program
WO2016069099A1 (en) Flexible device templates for connected consumer devices
TWI482461B (zh) 設備管理系統及方法
KR20180050001A (ko) 사물인터넷 기기의 펌웨어 업그레이드 시스템 및 방법
JP6372134B2 (ja) 配信装置、配信方法および配信プログラム
JP2015192320A (ja) ゲートウェイ装置におけるデバイス装置の設定方法、ゲートウェイ装置及びデバイス装置設定プログラム
JP6615730B2 (ja) 設定補助システム、設定補助装置及び設定補助方法
JP2020095423A (ja) 携帯通信端末のソフトウエア更新システムおよびソフトウエア更新方法
KR101393153B1 (ko) 외부 하드웨어를 사용하기 위한 모바일 플랫폼 및 이를 이용한 방법
KR20180130470A (ko) 이동통신 단말기에서 주변 디바이스를 원격 제어하기 위한 장치 및 방법
KR20140017889A (ko) 디바이스 간의 접속 제어장치
TW201610845A (zh) 子母應用程式整合方法及其系統

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right