KR102120548B1 - 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 - Google Patents
클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 Download PDFInfo
- Publication number
- KR102120548B1 KR102120548B1 KR1020180098636A KR20180098636A KR102120548B1 KR 102120548 B1 KR102120548 B1 KR 102120548B1 KR 1020180098636 A KR1020180098636 A KR 1020180098636A KR 20180098636 A KR20180098636 A KR 20180098636A KR 102120548 B1 KR102120548 B1 KR 102120548B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual object
- virtual
- iot device
- driving
- sensing
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 33
- 230000006855 networking Effects 0.000 title claims description 15
- 238000013507 mapping Methods 0.000 claims abstract description 45
- 230000006870 function Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 14
- 238000001514 detection method Methods 0.000 claims description 12
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000003213 activating effect Effects 0.000 claims description 4
- 230000008054 signal transmission Effects 0.000 claims description 3
- 230000008859 change Effects 0.000 abstract description 5
- 238000010276 construction Methods 0.000 abstract description 4
- 230000000875 corresponding effect Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 12
- 239000000779 smoke Substances 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 230000004044 response Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000009423 ventilation Methods 0.000 description 4
- CURLTUGMZLYLDI-UHFFFAOYSA-N Carbon dioxide Chemical compound O=C=O CURLTUGMZLYLDI-UHFFFAOYSA-N 0.000 description 2
- 230000001276 controlling effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000035945 sensitivity Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004378 air conditioning Methods 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 229910002092 carbon dioxide Inorganic materials 0.000 description 1
- 239000001569 carbon dioxide Substances 0.000 description 1
- 239000003518 caustics Substances 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y30/00—IoT infrastructure
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/10—Detection; Monitoring
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16Y—INFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
- G16Y40/00—IoT characterised by the purpose of the information processing
- G16Y40/30—Control
- G16Y40/35—Management of things, i.e. controlling in accordance with a policy or in order to achieve specified objectives
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/58—Association of routers
- H04L45/586—Association of routers of virtual routers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- 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
-
- 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/2866—Architectures; Arrangements
-
- H04L67/327—
-
- 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/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
- H04L67/63—Routing a service request depending on the request content or context
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- General Business, Economics & Management (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명에 따른 클라우드 기반의 IoT 장치 가상화 네트워크 시스템은, 물리 공간의 수많은 사물의 IoT 장치를 클라우드에 연결함으로써 가상의 동적 IoT 네트워크를 구축하고, 이를 통해 물리 공간의 IoT 장치들간의 동적 연결성을 제공한다. 이를 위해 다수의 IoT 장치로부터 등록 요청에 따라 각종 센서와 구동장치로 이루어진 IoT 장치에 대해 센싱용 가상 객체와 구동용 가상 객체를 형성하고, IoT 장치와 가상 객체의 연결 정보를 나타내는 맵핑 테이블과 가상 객체 리스트를 형성하여 저장하는 클라우드 기반의 가상 서버와, 상기 가상 서버로부터 가상 객체 리스트를 수신하고 상기 가상 객체 리스트에 기초하여 가상 객체간의 연결 관계를 설정하여 상기 가상 서버에 전송하기 위한 클라이언트 어플리케이션이 저장되는 클라이언트 단말과, 상기 클라이언트 어플리케이션의 연결 설정에 따라 센싱용 가상 객체와 구동용 가상 객체 사이에 연결성을 조작하는 상기 클라우드상에 형성되는 제어기를 포함하는 것을 특징으로 한다. 이러한 구성에 의하여, IoT 네트워크를 구성하는 센서와 구동 장치를 모두 가상 객체로 형성하여 가상 객체간에 신호를 송수신하게 하는 가상 네트워크를 구축하므로 물리적인 네트워크에 비해 구축 비용을 절감할 수 있다. 또한, 관리자가 동적으로 네트워크를 구성하고 구축할 수 있게 되고, 그에 따라 물리공간의 사물 인터넷 네트워크 구성 변경이 용이해진다.
Description
본 발명은 클라우드 기반의 IoT 장치 네트워크 시스템에 관한 것으로서, 보다 상세하게는 물리 공간의 수많은 사물의 IoT 장치를 클라우드에 연결함으로써 가상의 동적 IoT 네트워크를 구축하고, 이를 통해 물리 공간의 IoT 장치들간의 동적 연결성을 제공하는 IoT 장치 가상화 시스템 및 네트워킹 방법에 관한 것이다.
IoT(Internet of Things) 기기는, 가정이나 사무실 등에 설치되는 일상 생활 객체에 부착되는 감지 장치 또는 구동 장치이며 감지 데이터를 전송하고 액추에이터의 명령을 수신할 수 있다. IoT 기기는 센서, 액츄에이터 또는 LED 등의 신호원을 포함한다.
종래 IoT 기기의 운용방식은 IoT 기기의 제어에 필요한 프로그램이나 어플리케이션(Application, 앱)을 PC나 스마트폰 등의 모바일 장치에 설치한 후 이를 통해 IoT 기기를 제어하는 방식이 사용되었다.
IoT 기기들은 라우터를 통해 네트워크에 연결된다. 사용자의 모바일 기기에 시설에 IoT 기기들을 제어하기 위한 어플리케이션(Application, App)을 설치하여 각 IoT 기기를 제어할 수 있다. 예컨대, 제1 IoT 기기을 제어하기 위해서 사용자는 제1 IoT 기기의 서비스 공급자가 제공하는 클라이언트 프로그램을 사용자의 모바일 기기에 설치하고 네트워크를 통해 제1 IoT 기기에 접속하여 해당 기기를 제어하게 된다. 클라이언트 프로그램은 어플리케이션 스토어(앱스토어)에서 내려받아 사용자 모바일 기기에 설치할 수 있다.
IoT 기기들을 제어하기 위해서 IoT 기기들 내부에는 서버 프로그램이 각각 설치되어 있다. 따라서 사용자가 모바일 기기를 통해 제어명령을 요청(request)하면 해당 IoT 기기에 설치되어 있는 서버 프로그램이 이에 응답(response)하여 특정 명령을 수행하거나, 사용자 모바일 기기로 요청에 따른 응답을 전송한다.
다양한 IoT 기반 어플리케이션은, 집, 도시, 건강, 교육, 보안, 엔터테인먼트와 산업에서 스마트한 환경을 구축하기 위해서 개발된다.
감지 장치와 구동 장치 사이의 연결 또는 네트워크의 수립을 위한 구성은, 물리적인 IoT 장치 또는 응용 계층에서 둘다 이루어진다. IoT 장치에서 네트워크 설정을 변경하는 것은 매우 어렵고, 각각의 장치를 물리적으로 또는 원격에서 억세스해서 원하는 수정을 해야 한다. 연결된 IoT 장치의 수가 증가할 때, 각각의 IoT 장치에서 네트워크 설정을 변경하는 것은 불가능해진다.
한편, 클라우드 컴퓨팅 기술은, IoT 장치의 한정된 자원을 극복하기 위해서, 인터넷 상에서 상당한 컴퓨팅과 기억용량을 제공한다. 클라우드 기능은, 다양한 어플리케이션이 이용할 수 있는 데이터를 생성할 뿐 아니라, 특별히 큰 데이터를 처리하기 위해서 설계된 복잡한 컴퓨팅 동작을 실행하는 것을 지원한다.
종래에 클라우드 환경에서 가상화는 센서 가상화에 집중했다. 연결된 가상 객체에 대해 가상화된 센서로부터의 모든 데이터 수집과 처리 동작은 어플리케이션 로직에서 취급되어 왔으며, 수많은 IoT 장치를 상호 연결하기 위하여 가상의 동적 IoT 네트워크를 구축하고, 이를 통해 동적인 물리 IoT 네트워크 형성을 간접적으로 지원하지 않았다.
그러나, IoT의 도래로 2종류의 장치(즉 센서와 구동 장치)가 연결될 수 있게 되었다.
따라서, 가상화된 네트워크 기능을 정의한 네트워크 기능 가상화(Network Function Virtualization ; NFV)처럼, IoT 장치 원격 액세스와 제어를 용이하게 하기 위해서, 클라우드 환경에서 IoT 장치의 네트워크 가상화를 위한 연구가 요구된다.
따라서, 본 발명은 상기한 문제점을 해결하기 위해 창안된 것으로, 수 많은 IoT 센서와 구동 장치를 모두 가상 객체로 형성하여 가상 객체간에 신호를 송수신하게 하는 가상 IoT 네트워크를 구축하여 물리적 공간의 IoT 장치들을 상호 연결하는 IoT 네트워크 구축을 지원할 수 있는 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법을 제공하는 것이다.
상기의 목적을 달성하기 위한 본 발명의 제1양태에 따른 구성은, 클라우드 기반의 IoT 네트워크 가상화 시스템에 있어서, 다수의 IoT 장치로부터 등록 요청에 따라 각종 센서와 구동장치로 이루어진 IoT 장치에 대해 센싱용 가상 객체와 구동용 가상 객체를 형성하고, IoT 장치와 가상 객체의 맵핑 정보를 나타내는 맵핑 테이블과, 가상 객체 리스트를 형성하여 저장하는 클라우드 기반의 가상 서버와, 상기 가상 서버로부터 가상 객체 리스트를 수신하고 상기 가상 객체 리스트에 기초하여 가상 객체간의 연결 관계를 설정하여 상기 가상 서버에 전송하기 위한 클라이언트 어플리케이션이 저장되는 클라이언트 단말과, 상기 클라이언트 어플리케이션의 연결 설정에 따라 센싱용 가상 객체와 구동용 가상 객체 사이에 연결성을 조작하는 상기 클라우드상에 형성되는 제어기를 포함하고, 상기 제어기는 가상 서버내의 가상 객체를 조작함으로써 원하는 네트워크의 설정을 수립하는 기능을 하고, 사용자마다 원하는 설정에 따라, 관련된 가상 객체 사이에 동적 접속을 나타내는 맵핑 리스트를 형성 및 갱신하고, 센싱용 IoT 장치로부터의 감지 메시지를 수신하여, 대응하는 목표 IoT 장치까지 포워딩 처리하고, 연결 설정된 상기 센싱용 가상 객체와 상기 구동용 가상 객체들 사이에 감지 신호가 송수신되고, 상기 클라이언트 어플리케이션은 가상 객체의 생성을 요청하는 등록 요청 메시지와 사용자에 의해 선택된 가상 객체들로 가상화된 IoT 네트워크의 수립을 위한 요청 메시지 및 상기 IoT 장치를 동작시키는 제어 신호를 형성하고, 상기 가상 서버는 상기 IoT 장치로부터 송신되는 센싱 데이터를 수신하고, 상기 연결된 객체간의 신호 송수신 결과, 구동이 필요한 IoT 장치를 활성화하는 명령어를 상기 IoT 장치에 전송하고, 상기 클라이언트 어플리케이션으로부터 가상화된 IoT 네트워크의 수립을 위한 요청 메시지를 수신하면 센싱 데이터 전송을 시작하도록 하는 구동 명령을 선택된 IoT 장치에 전송하고, 상기 클라이언트 단말이 상기 사용자가 원하는 가상 객체들 사이에 연결성을 조작하도록, 가상 객체간의 동적 연결을 설정하고, 데이터 포워딩 조건을 사용자가 설정하게 하기 위한 인터페이스 화면을 표시하는 것을 특징으로 한다.
이러한 본 발명에 의해, 센서용 가상 객체와 구동용 가상 객체를 연결하여 가상의 동적 IoT 네트워크를 구축하고, 이를 통해 물리 공간의 IoT 장치들간의 동적 연결성을 제공할 수 있다.
여기서, 상기 센싱 기능을 갖는 IoT 장치는 상기 가상 서버의 구동 명령에 따라 센싱 데이터를 전송하고, 상기 센싱용 가상 객체가 미리 연결 설정된 구동용 가상 객체에 센싱 신호를 전송하고, 구동용 가상 객체는 센싱 신호를 수신하여 구동되고, 상기 제어기는 구동된 구동용 가상 객체에 대응하는 구동 장치에 구동 신호를 전송하는 것이 바람직하다.
또한, 상기 클라이언트 어플리케이션은 다수의 가상 객체간의 연결 설정과 각 가상 객체의 동작 기준에 대해 사용자 설정을 위한 인터페이스 기능을 제공하는 것이 바람직하다.
여기서, 상기 센싱용 가상 객체 또는 구동용 가상 객체 중 어느 하나는 라우터로 설정되어 동작가능한 것이 바람직하다.
여기서, 상기 제어기는 상기 가상 서버 내에 위치하거나 별도의 서버에 존재하는 것이 효과적이다.
또한, 상기 제어기가 상기 IoT 장치로부터 송신되는 센싱 데이터를 클라우드에서 수신하여 해당 가상 객체에 대응시켜 저장하고, 상기 센싱 데이터를 미리 설정된 경로와 각 가상 객체에 대해 미리 설정된 조건에 따라 데이터를 포워딩하는 것이 바람직하다.
상기 각 가상 객체는 전달 조건, 소스 ID, 목적지 ID, 다음 전송받을 가상 객체 등의 정보를 포함하는 플로우 테이블을 가지며, 상기 제어기는 다수의 센싱용 가상 객체와 구동용 가상 객체들 간에 네트워크 형성을 위한 경로를 설정하고, 네트워크 ID, 가상 객체 ID, 소스 ID, 목적지 ID 등의 전체 경로 정보를 포함하는 맵핑 테이블을 가지며, 미리 설정된 조건에 따라 다음 전송 가상 객체에 데이터를 전달하는 것이 바람직하다.
한편, 상기의 목적을 달성하기 위한 본 발명의 제2양태에 따른 구성은, 클라우드 기반의 가상화된 IoT 장치 네트워킹 방법에 있어서, 물리 공간의 수 많은 사물의 IoT 장치를 클라우드에 연결하고, 다수의 센싱용 IoT 장치 또는 구동용 IoT 장치가 클라우드 기반으로 형성된 가상 서버에 등록 요청을 하기 위해, IoT 장치 가상화를 위한 인터페이스 기능을 하는 클라이언트 어플리케이션이 가상 객체의 생성을 요청하는 등록 요청 메시지와 사용자에 의해 선택된 가상 객체들로 가상화된 IoT 네트워크의 수립을 위한 요청 메시지를 형성하여 전송하는 단계; 상기 가상 서버가 등록 요청된 IoT 장치에 대해 센싱용 가상 객체와 구동용 가상 객체를 형성하는 단계; 상기 가상 서버가 IoT 장치와 가상 객체의 맵핑 정보를 나타내는 맵핑 테이블과, 가상 객체 리스트를 형성하여 저장하고 클라이언트 단말에 상기 가상 객체 리스트를 전송하는 단계; 상기 클라이언트 단말이 상기 가상 객체 리스트에 기초하여 상기 가상 객체간의 동적 연결 관계와, 각 가상 객체의 데이터 포워딩 조건을 설정하기 위한 인터페이스 화면을 표시하여, 입력되는 사용자 설정 정보를 전송하는 단계; 상기 가상 서버와 연결된 제어기가 상기 사용자 연결 설정 정보에 따라 다수의 센싱용 가상 객체 및 구동용 가상 객체들간에 네트워크 형성을 위한 경로를 설정하고 센싱용 가상 객체와 구동용 가상 객체를 동적 연결하고, 사용자마다 원하는 설정에 따라, 관련된 가상 객체 사이에 동적 접속을 나타내는 맵핑 리스트를 형성 및 갱신하는 단계; 연결 설정된 센싱용 가상 객체와 구동용 가상 객체간에 신호를 송수신하는 단계; 상기 가상 서버가 상기 센싱용 가상 객체와 구동용 가상 객체간에 신호 송신호 구동이 필요한 IoT 장치를 활성화하는 명령어를 상기 IoT 장치에 전송하는 단계; 상기 가상 서버가 상기 클라이언트 어플리케이션으로부터 가상화된 IoT 네트워크의 수립을 위한 요청 메시지를 수신하면 센싱 데이터 전송을 시작하도록 하는 구동 명령을 선택된 IoT 장치에 전송하는 단계; 및 상기 제어기가 센싱용 IoT 장치로부터의 감지 메시지를 수신하여 상기 맵핑 테이블 및 상기 맵핑 리스트에 기초하여 대응하는 목표 IoT 장치까지 포워딩 처리하는 단계를 포함하는 것을 특징으로 한다.
여기서, 상기 가상 서버가 상기 IoT 장치로부터 송신되는 센싱 데이터를 클라우드에서 수신하여 해당 가상 객체에 대응시켜 저장하고, 상기 센싱 데이터를 미리 설정된 경로와 각 가상 객체에 대해 미리 설정된 조건에 따라 데이터를 포워딩하는 단계를 더 포함하는 것이 바람직하다.
또한, 상기 가상 서버가 상기 사용자 설정에 따라 구동할 센싱 장치를 활성화시키는 단계; 활성화된 센싱용 가상 객체와 미리 연결 설정된 구동용 가상 객체 간에 센싱 데이터를 송수신하는 단계; 상기 구동용 가상 객체가 센싱 데이터를 수신하여 구동되면, 상기 가상 서버가 대응하는 구동용 가상 객체의 대응 IoT 장치에 구동 신호를 전송하는 단계를 더 포함하는 것이 바람직하다.
한편, 상기 제어기는 네트워크 ID, 가상 객체 ID, 소스 ID, 목적지 ID 등의 전체 경로 정보를 포함하는 맵핑 테이블을 가지며, 각 가상 객체는 전달 조건, 소스 ID, 목적지 ID, 다음 전송받을 가상 객체 등의 정보를 포함하는 플로우 테이블을 가지며, 상기 제어기가 미리 설정된 경로 조건에 따라 다음 전송 가상 객체에 데이터를 전달하는 단계를 포함하는 것이 바람직하다.
또한, 상기 제어기가, 센싱용 가상 객체 또는 구동용 가상 객체 중 어느 하나를 네트워크 형성을 위한 라우터로 설정하는 단계를 더 포함하는 것이 바람직하다.
한편, 상기 클라이언트 단말은 다수의 가상 객체간의 연결 설정과 각 가상 객체의 동작 기준에 대해 사용자 설정을 위한 인터페이스 화면을 표시하는 것이 바람직하다.
상기의 구성으로 이루어진 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법에 따르면, IoT 네트워크를 구성하는 센서와 구동 장치를 모두 가상 객체로 형성하여 가상 객체간에 신호를 송수신하게 하는 가상 네트워크를 구축하므로 물리적인 네트워크에 비해 구축 비용을 절감할 수 있다. 또한, 관리자가 동적으로 네트워크를 구성하고 구축할 수 있게 되고, 그에 따라 사물 인터넷 네트워크 구성 변경이 용이해진다.
도 1은 본 발명에 따른 클라우드 기반의 가상화된 IoT 네트워크를 위한 3개의 관련 분야를 나타낸 모식도,
도 2는 종래의 사물 인터넷 네트워크의 구성도,
도 3은 본 발명의 가상화된 사물 인터넷 네트워크의 개념 설명도,
도 4는 본 발명에 따른 가상화된 사물 인터넷 네트워크의 신호 흐름도,
도 5a 및 도 5b는 본 발명에 따른 가상화된 사물 인터넷 계층 구조에 의한 개념 설명도,
도 6은 본 발명의 일실시예에 따른 가상화된 사물 인터넷 네트워크에서 일대일 장치의 통신 예시도,
도 7은 본 발명의 다른 실시예에 따른 가상화된 사물 인터넷 네트워크에서 다수대 일 장치간의 통신 예시도,
도 8은 본 발명의 또 다른 실시예에 따른 가상화된 사물 인터넷 네트워크에서 다수대 일 장치간의 통신 예시도,
도 9는 본 발명에 따른 가상화된 사물 인터넷 네트워크의 동작 시퀀스도이다.
도 2는 종래의 사물 인터넷 네트워크의 구성도,
도 3은 본 발명의 가상화된 사물 인터넷 네트워크의 개념 설명도,
도 4는 본 발명에 따른 가상화된 사물 인터넷 네트워크의 신호 흐름도,
도 5a 및 도 5b는 본 발명에 따른 가상화된 사물 인터넷 계층 구조에 의한 개념 설명도,
도 6은 본 발명의 일실시예에 따른 가상화된 사물 인터넷 네트워크에서 일대일 장치의 통신 예시도,
도 7은 본 발명의 다른 실시예에 따른 가상화된 사물 인터넷 네트워크에서 다수대 일 장치간의 통신 예시도,
도 8은 본 발명의 또 다른 실시예에 따른 가상화된 사물 인터넷 네트워크에서 다수대 일 장치간의 통신 예시도,
도 9는 본 발명에 따른 가상화된 사물 인터넷 네트워크의 동작 시퀀스도이다.
본 발명의 이점 및 특징, 그리고 그것을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 통해 설명될 것이다. 그러나 본 발명은 여기에서 설명되는 실시예들에 한정되지 않고 다른 형태로 구체화될 수도 있다. 단지, 본 실시예들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 제공되는 것이다.
도면들에 있어서, 본 발명의 실시예들은 도시된 특정 형태로 제한되는 것이 아니며 명확성을 기하기 위하여 과장된 것이다. 또한, 명세서 전체에 걸쳐서 동일한 참조번호로 표시된 부분들은 동일한 구성요소를 나타낸다. 본 명세서에서 "및/또는"이란 표현은 전후에 나열된 구성요소들 중 적어도 하나를 포함하는 의미로 사용된다. 또한, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 또한, 명세서에서 사용되는 "포함한다" 또는 "포함하는"으로 언급된 구성요소, 단계, 동작 및 소자는 하나 이상의 다른 구성요소, 단계, 동작, 소자 및 장치의 존재 또는 추가를 의미한다.
이하에서, 본 발명의 바람직한 실시 예가 첨부된 도면들을 참조하여 본 발명을 구체적으로 설명한다. 본 발명을 설명함에 있어서 관련된 공지기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
본 발명은 연결된 IoT 장치 사이에서 클라우드 환경에서 동적인 가상 네트워크를 구축하는 개념을 제안한다. 본 발명에 따르면, 다수의 IoT 장치를 클라우드 상의 가상 서버에 등록하고, 가상 서버가 IoT 장치에 대응하는 가상 객체를 생성한다. 그리고, 클라이언트 어플리케이션을 통해, 사용자가 원하는 네트워크 구성에 따라 클라우드 상의 가상 객체를 연결해서 가상 IoT 네트워크 시스템을 형성한다.
본 발명에서는, IoT 가상화를 위해, 등록된 IoT 장치에 대해 가상 객체 형태로 가상화 표현을 제공하는 가상 서버를 클라우드 상에 마련한다. 가상 서버는 모든 연결된 IoT 장치의 가상 객체를 저장한다.
또한, 본 발명에서는 IoT 소유자(클라이언트)에게 클라이언트용 인터페이스를 제공한다. 클라이언트용 인터페이스는, 가상 서버에 IoT 장치를 등록하여, 각 IoT 장치에 대응하는 가상 객체를 형성하기 위한 것이다. 그리고, 클라이언트용 인터페이스는 등록된 IoT 장치의 가상 객체에 억세스하기 위한 것이고, 클라이언트가 원하는 네트워크 구성에 따라 IoT 장치간의 연결성을 정의하기 위한 것이다.
클라이언트 어플리케이션은 그들의 필수의 네트워크 구성을 정의하기 위해서 집중화한 제어기와 통신한다. 본 발명에 따른 제어기는, SDN 네트워크의 제어기와 같이 네트워크 구조와 관리를 위해서 집중화한 모듈이다.
도 1에 보인 바와 같이 본 발명에 따른 클라우드 기반의 가상화된 IoT 네트워크 시스템(10)은 클라우드 컴퓨팅(100) 개념과, IoT(200)와, 소프트웨어 정의 네트워크(Software Defined Networking, 이하 이라 함) (300) 개념을 이용하여 개발한 것이다.
본 발명에서 IoT 장치 가상화의 개념은 사이버 세계를 통해 액세스하여, 물리적인 세계에 있는 IoT 장치의 조작을 용이하게 하기 위해 도입한 것이다.
본 발명에 따라, IoT(200)의 IoT 장치는, 센서와 구동 장치 사이에서 유연한 연결성을 제공하는 사이버 세계에서, 가상 객체로 보여진다. 그리고, 본 발명은 물리적인 IoT 장치와 상호작용하고 조작하기 위한 가상화된 IoT 장치 인터페이스를 클라이언트 어플리케이션의 형태로 제공한다.
본 발명을 설명하기에 앞서, 본 발명의 기초가 되는 SDN(Software Defined Networking) 및 라우팅용 맵핑 테이블에 대해, 본 발명에 관련된 부분을 간략히 설명한다.
가상화된 IoT 장치 사이의 연결성은, 라우팅을 위한 맵핑 테이블을 통해 네트워크에서 유지된다. 라우팅을 위한 맵핑 테이블은 패킷 포워딩에 대해 효율적이고 빠른 방법을 제공한다. 라우팅용 맵핑 테이블의 온디멘드(주문형) 변경하는 것은 간단하지 않으므로, 네트워크 제어 플레인과 데이터 플레인을 분리하기 위해 도입한 SDN 개념을 이용한다.
일반적으로, SDN은 패킷을 전달하는 데이터 플레인(Data Plane)과, 패킷의 흐름을 제어하는 컨트롤 플레인(Control Plane)을 분리하여 중앙집중적으로 처리한다. 컨트롤 플레인은 패킷을 어떻게 다룰 것인가를 결정하고, 데이터 플레인은 컨트롤 플레인이 정한 규칙에 따라 패킷을 전송하는 역할을 한다. 컨트롤 플레인이 정한 규칙은 스위치(데이터 플레인)의 플로우 테이블(Flow Table)에 저장된다. 플로우 테이블은 플로우 엔트리(Flow Entry)의 집합으로 구성된다.
SDN에서 패킷이 발생했을 때, 네트워크 장비는 패킷을 어디로 전달할지 SDN 제어 소프트웨어(제어기)에게 물어보고, 그 결과를 반영하여 패킷을 전송하는 경로와 방식을 결정한다.
SDN 제어기는 온디멘드 트래픽 관리를 위한 네트워킹 장치에서 플로우 엔트리를 갱신하기 위해서, 일반적으로 오픈플로우(Openflow) 프로토콜을 이용한다.
오픈플로우는 네트워크를 통해 데이터패킷을 어떻게 전달할 것인지 제어하기 위한 기능(Control Plane)을 물리적 네트워크와 분리하여 데이터 전달(Data Plane)과 상호작용하기 위한 오픈소스 프로토콜이다.
오픈플로우는 SDN 제어기와 네트워크 장치간의 인터페이스 규격으로 사용되는 기술로서, 라우터나 스위치 등의 기본 네트워크 장비에 관계없이 사용자가 통제 권한을 가지며, 별도의 소프트웨어 컨트롤러가 트래픽을 제어하는 사용자 중심의 네트워크 가상화를 위한 기술이다.
오픈플로우는 오픈플로우 제어기와 오픈플로우 스위치로 구성되어, 오픈플로우 프로토콜에 의해 상호 연결되며, 플로우 정보를 제어하여 패킷의 전달 경로 및 방식을 결정한다.
본 명세서 전반에서, 오픈플로우와 SDN은 서로 동일한 의미로 사용되거나 혼용하여 사용될 수 있다.
보다 상세히 설명하면, 플로우(flow)는 하나의 스위치 관점에서 적어도 하나의 헤더 필드의 값을 공유하는 일련의 패킷들 또는 다중 스위치의 여러 플로우 엔트리(flow entry)들의 조합에 따른 특정 경로의 패킷 흐름을 의미할 수 있다.
본 명세서에서 플로우는 특정 패킷을 의미할 수 있으며, 특정 패킷과 인입 포트 등 다른 메타 데이터를 포함하는 것을 의미할 수도 있다.
오픈플로우 제어기(SDN 제어기)는 SDN 시스템을 제어하는 일종의 지휘 컴퓨터로서, 다양하고 복잡한 기능들, 예를 들어, 라우팅, 정책 선언, 및 보안 체크 등을 할 수 있다. 오픈플로우 제어기는 하위 계층의 복수의 스위치에서 발생하는 패킷의 플로우를 정의할 수 있다. 오픈플로우 제어기는 네트워크 정책상 허용되는 플로우에 대해 네트워크 토폴로지 등을 참조하여 플로우가 경유할 경로(데이터 경로)를 계산한 후, 경로 상의 스위치에 상기 플로우의 엔트리가 설정되도록 할 수 있다.
한편, SDN 물리장치는 SDN 제어기(오픈플로우 제어기)의 지시에 따라 패킷 전송을 수행하며, 패킷 전송 기능을 하드웨어적으로 구현한 장치를 통칭하는 것으로, 제어 계층으로부터 주어지는 가변 단위의 플로우별 패킷에 대한 처리 액션을 기반으로 패킷 전송을 수행한다. SND 물리 장치는, 고속의 플로우 테이블 매칭, 네트워크 가상화를 위한 디바이스 자원 가상화 기능을 수행한다.
NFV(Network Function Virtualization)는, 클라우드 환경에서 그 편리한 배치에 있어서 소프트웨어 패키지의 형태로 실제 장치의 기능의 급속한 발달을 가능하게 한다. 게다가, NFV를 통하여 이러한 가상 장치는, 간단하게 갱신될 수 있고, 업그레이드될 수 있고, 복제될 수 있고, 공유될 수 있다.
어플리케이션 계층(a)의 클라이언트 어플리케이션(41)은 인터넷상에 형성된 인터넷상의 가상 서버(30) 및 제어기(33)와 통신한다.
인터넷상의 가상 서버(30)는 미들웨어로 구성된다. 미들웨어는 양쪽을 연결하여 데이터를 주고 받을 수 있도록 중간에서 매개 역할을 하는 소프트웨어로서, 네트워크를 통해서 연결된 여러 개의 컴퓨터에 있는 많은 프로세스들에게 어떤 서비스를 사용할 수 있도록 연결해준다. 3계층 클라이언트/서버 구조에서 미들웨어가 존재한다. 웹 브라우저에서 데이터베이스로부터 데이터를 저장하거나 읽어올 수 있게 중간에 미들웨어가 존재하게 된다.
본 발명에 따르면, 도 3에 보인 바와 같이, 다수의 센서(s1~s3)와 다수의 구동 장치(a1~a3)가 가상 객체화되어 클라우드 상에 형성되고, 다수의 가상 객체(20)와 통신하는 가상 서버(30) 및 제어기(33)가 클라우드 상에 형성된다. 여기서, 클라우드 상에 가상 객체를 형성하는 기술은 공지된 기술이므로 상세한 설명은 생략한다.
도 2를 참조하면, 종래의 IoT 네트워크에서는 IoT 기기들을 제어하기 위해서 서버 프로그램이 IoT 기기의 어플리케이션 계층에 형성되어 있었다. 그러나, 본 발명에 따르면, IoT 기기를 동작시키는 제어 신호는 클라이언트 어플리케이션(41)을 통해 발생한다.
도 4는 본 발명의 클라우드 기반의 가상화된 IoT 네트워크의 개념 설명도이다.
클라우드(90) 상에서 센서용 IoT 장치와 구동용 IoT 장치를 모두 가상 객체로 가상화한다. 클라이언트 어플리케이션(41)의 인터페이스에 의해 가상 객체 리스트를 표시하여, 클라이언트(네트워크 관리자)가 원하는 네트워크 구성을 설정한다. 이에 따라, 클라이언트가 원하는 네트워크 구성에 따라, 다수의 가상 객체가 동적으로 연결될 수 있다(화살표로 연결관계 표시함).
보다 상세히 설명하면, 가상화된 IoT 네트워크는, 도 4에 보인 바와 같이, 가상화된 IoT 네트워크 실제의 센서용 장치(s1~s3)와 구동용 장치(a1~a3)가 가상화되어 형성된 가상 객체(31)와, 가상 객체(31)들간의 연결을 제어하는 제어기(오픈플로우 제어기)(33)와, 센서용 장치와 구동용 장치를 가상 객체(vs1~vs3, va1~va3)(31)로 형성하는 가상 서버(30)를 포함한다.
가상 서버(30)는 가상 객체(31)를 생성하고, 생성된 가상 객체(31)의 가상 객체 리스트를 형성하고, 가상 객체(31)와 실제 센싱용 장치와 구동 장치의 맵핑 테이블을 형성하여 저장한다.
제어기(33)는 클라이언트가 원하는 가상 객체(31)들 사이에 연결성을 조작하기 위해, 클라이언트 단말(40)과 상호작용한다. 즉, 제어기(33)는 가상 객체(31)간의 동적 연결을 설정하는 기능을 한다. 이에 따라, 본 발명에 따른 가상화된 IoT 네크워크에서는 제어기(33)에 의해 라우팅을 위한 맵핑 테이블에 정의된 규칙에 따라, 데이터 포워딩을 할 수 있다. 여기서, 제어기(33)는 가상 서버(30)에 저장되거나 필요한 경우 배치되는 별개의 서버에 존재할 수 있다.
또한, 각 가상 객체(31)는 미리 설정된 전달 조건, 소스 ID, 목적지 ID, 다음 전송받을 가상 객체 등의 정보를 포함하는 플로우 테이블을 가진다.
제어기(33)는 네트워크 ID, 가상 객체 ID, 소스 ID, 목적지 ID 등의 전체 경로 정보를 포함하는 맵핑 테이블을 가진다. 그리고, 제어기(33)는 미리 설정된 전달 조건에 따라 다음 전송 가상 객체에 데이터를 전달한다.
제어기(33)는 네트워크 ID, 가상 객체 ID, 소스 ID, 목적지 ID 등의 전체 경로 정보를 포함하는 맵핑 테이블을 가진다. 그리고, 제어기(33)는 미리 설정된 전달 조건에 따라 다음 전송 가상 객체에 데이터를 전달한다.
클라우드 환경에 형성된 제어기(33)를 통해, 다수의 클라이언트 단말(40)의 다수의 가상 객체(31)와 통신할 수 있다.
제어기(33)는 클라이언트 어플리케이션의 요청을 처리하고, 사용자 지정된 기준에 따라 매칭되는 IoT 장치의 가상 객체 프로파일을 검색한다. 가상 객체들 사이의 가상 네트워크는 가상 스위치와 가상 라우터에 의해 형성된다.
또한, 다수의 클라이언트 어플리케이션(41)은 다수의 가상 객체(31)간의 연결 관계를 원하는 네트워크 구성대로 설정할 수 있다. 그리고, 클라이언트 어플리케이션은 사용자의 요구에 따라 IoT 장치와 가상 객체를 연결하는 맵핑 테이블과 제어기의 가상 객체 경로 맵핑 테이블을 설정하고, 이를 토대로 다수의 가상 객체간의 연결 설정하여 네트워크를 형성하고, 각 가상 객체의 동작 기준과 데이터 포워딩 조건을 사용자가 설정하게 하기 위한 인터페이스 화면을 표시한다.
도 5a 및 도 5b는 본 발명에 따른 가상화된 사물 인터넷 계층 구조에 의한 개념 설명도이다.
도 5a 및 도 5b의 물리 계층(a)은, 시스템에 접속하고 있는 장치를 감지 및 구동 기능을 갖는 실제의 IoT 장치로 이루어진다.
가상화 계층(b)은, 클라이언트 어플리케이션과 물리적인 IoT 장치 사이의 미들웨어로서 기능한다. 가상 객체(31)는 연결된 IoT 장치마다 가상화 계층에서 만들어지고, 이러한 가상 객체(31)가 다른 클라이언트 어플리케이션 사이에서 사용되고 공유된다.
클라이언트 어플리케이션 수요와 원하는 설정에 따라 가상화된 IoT 네트워크는, 관련된 IoT 장치 사이에 수립된다. 가상 객체(31)는, 다른 어플리케이션을 거쳐 그 서비스를 이용하기 위해서, 실제의 IoT 장치에 인터페이스를 제공한다.
응용 계층(a)에는 다양한 어플리케이션이 아래에 있는 가상화 계층(b)의 서비스를 이용하기 위해서, 호스트(host)된다.
도 5a에 보인 바와 같이, 물리 계층의 다수의 센서(S11, S12, S14)와 다수의 구동 장치(A13~A15)는 가상화 계층의 센서에 대한 가상 객체(VS11, VS12, VS14)와 구동 장치에 대한 가상 객체(VA13~VA15)와 연결된다. 가상화 계층의 가상 객체들은 클라이언트용 인터페이스로 구현되는 응용 계층의 가상 객체(31)들과 연결된다.
예를 들어, 도메인 1(D1)의 센서용 가상 객체(VS14)와 도메인 2(D2)의 구동 장치용 가상 객체(VA22)를 연결하여, 가상 객체(VS14)의 감지 신호가 도메인 2(D2)의 가상 객체(VA22)에 전달되어 가상 객체(VA22)가 구동될 수 있게 된다.
여기서, 제어기(33)는 다양한 어플리케이션에 의해 클라우드에서 수립된 가상 IoT 네트워크에 대한 모든 정보를 포함하는 마스터 맵핑 테이블을 가진다. 도 5a에 도시한 IoT 네트워크 가상화 시나리오에서, 가상층에서 가상 객체를 사용하는 두개의 어플리케이션이 있고, 각 가상 IoT 네트워크용 통신 흐름이 나타난다. 도 5a에 보인 바와 같이, 몇 개의 가상 객체는 두개의 어플리케이션(어플리케이션1 및 어플리케이션2)이 사용하는 두개의 가상 객체 예를 들어, 가상 객체 VS21과 VA22에 의해 공유된다. 두 개의 어플리케이션을 위한 처리 및 패킷 생성을 위해, 두개의 엔트리(엔트리 ID(예를 들어, 1010 및 1011)가 표 1의 마스터 맵핑 테이블에 보인 바와 같이, 가상 객체 VS21을 위해 입력된다.
아래 표 1은 본 발명의 제어기(33)가 작성 및 참조하는 마스터 맵핑 테이블 예이다.
각 엔트리는 엔트리 아이디로 고유하게 정의된다. 마스터 맵핑 테이블 내의 모든 엔트리는 두개의 실제/가상 객체사이의 연결을 나타내고, 네트워크 ID 칸에 의해 나타내지는 소정의 가상 IoT 네트워크에 속한다.
이 마스터 맵핑 테이블은 가상 객체 사이의 연결성에 대한 마스터 정보를 포함하고, 개별 가상 객체의 연결 정보는 가상 객체 ID(VO ID) 칸에 정의된다. 이 가상 IoT 네트워크에서 발생된 모든 패킷은 단일/다중 목표 노드용으로 정해진다. 표 1의 소스(source) ID 및 타겟(target) ID는 특정 통신 플로우에 대한 기원(origin) 및 목적지를 나타낸다. 가상 객체가 실제 장치로부터 패킷을 수신시, 마스터 맵핑 테이블에 의해 정의된 각 규칙에 따라 소스 ID 및 타겟 ID를 설정한다.
발신자(Received From) 칸은, 수신자(Send To) 칸에 의해 정의된 것처럼 다음 노드에 패킷을 전송할 수 있도록, 패킷의 이전 홉(hop)을 정의하기 위해 사용된다.
엔트리 타입(Entry Type) 칸은 예를 들어, 이벤트, 주기 등과 같은 데이터 플로우의 타입을 나타낸다.
종료 시간(expiry time)은 가상 IoT 네트워크의 유효 시간(validity time)을 나타내고, 모든 엔트리는 유효 시간이 종료되었을 때, 제거될 것이다.
아래의 표 2는 가상 객체 VS21을 위한 플로우 테이블 내의 샘플 엔트리를 나타낸다.
이 가상 객체는 두개의 어플리케이션에 의해 공유되고, 엔트리는 가상 객체 레벨에서 데이터 포워딩을 위해 플로우 규칙을 정의하기 위해 만들어진다. 어플리케이션 1이 시스템에 기초하여 이벤트를 만들고, 센서 데이터 값이 소정 한계치보다 커지면 그것의 규칙이 작동(trigger)되는 것을 가정한다. 어플리케이션에 대해, 이 예에서, 일반적인 간격 0.1초 후에 액추에이터에 명령어를 전송하는 주기적인 제어 시스템을 가정한다.
데이터 패킷이 실제 센서로부터 가상 객체에 수신될 때, 그것의 소스와 타겟 ID 칸은 빈 칸이고, 빈 칸은 소스 ID 및 타겟 ID들 설정에 의해 정의된 가상 객체로 설정된다. 가상 객체에서 수신된 단일 패킷은 플로우 테이블에서 다중 엔트리를 가짐으로써 다중 타겟 노드로 전송될 수 있다.
또한, 플로우 엔트리가 이벤트 타입이면, 상태(condition) 칸의 조건이 사실(true)인지(수신된 데이터가 한계값을 초과하는지) 체크한다. 그 다음 대응하는 액션이 액션 칸에 의해 정의된 것에 따라 취해진다. 즉, 표 2에 따르면, 액션1 또는 액션2를 동작시키는 명령어 메시지가 타겟 ID의 가상 객체에 전송된다.
플로우 엔트리 타입이 주기적이면, 간격(interval) 칸은 다음 패킷 송신을 위한 타이머를 설정하기 위해 사용된다.
한편, 표 3은 특정 화재 알람 및 제어 시나리오를 가정하여, 맵핑 및 플로우 테이블의 구조와 동작을 나타내고 설명한다. 후술할 도 7의 시나리오를 참조하여 설명하면, 3개의 룸이 있고, 각 룸은 1개의 연기센서와 1개의 스프링클러 액추에이터를 가진다. 또한, 어느 룸에서 화재가 감지되면 동작하는 알람 액추에이터가 복도에 있다.
상술한 표 3은 제어기(33)에서 마스터 맵핑 테이블을 위한 샘플 엔트리를 나타낸다. 단일 가상 IoT 네트워크가 있을 때, 모든 엔트리는 네트워크 ID 칸에 'vIoTNet-1'로 표시된다. 또한, 화재 감지 및 제어는 어플리케이션 시나리오에 기초한 이벤트이므로, 모든 엔트리는 엔트리 타입(Entry Type) 칸에 '이벤트'라고 표시된다.
이 가상 IoT 네트워크 구조에서 생성된 모든 패킷은 두 개의 타겟 노드에 보내질 필요가 있다.
예를 들어, 도 7의 가상 객체 VS11이 센서 V11로부터 데이터 패킷을 수신시에, VS11에 대해, 화재 알람 및 제어를 위한 가상 센서 VS11의 플로우 테이블을 나타내는 표 4에서 주어진 상태(condition) 칸을 체크할 필요가 있다. 표 4의 상태(condition)가 사실이면, 즉, 연기센서가 측정한 측정값이 한계값(threshold)을 초과하면, 패킷은 두개의 노드(예를 들어, A11 및 A14)로 전송될 것이다. 소스 및 타겟 ID들은 이에 따라 설정되고, 명령어 메시지(스프링클러를 동작시키는 명령(command=Turn On sprinkler) 또는 알람을 동작시키는 명령(command=Turn On Alarm)을 포함하는 메시지)가 대응하는 가상 객체(예를 들어, VA11 및 VA14)를 통해 각 액추에이터 노드로 보내진다.
마찬가지로, VA11 및 VA14를 위한 플로우 테이블은 아래의 표 5 및 표 6에 나타낸다.
한편, 다른 실시예에 따라, 도 5b에 보인 바와 같이, 물리 계층의 다수의 센서(S11~S13)와 다수의 구동 장치(A11~A13)는 가상화 계층의 센서에 대한 가상 객체(VS1~VS3)와 구동 장치에 대한 가상 객체(VA1~VA3)와 연결된다. 가상화 계층의 가상 객체들은 클라이언트용 인터페이스로 구현되는 응용 계층의 가상 객체(31)들과 연결된다.
예를 들어, 도메인 1(D1)의 센서용 가상 객체(VS12)와 도메인 2(D2)의 구동 장치용 가상 객체(VA24)를 연결하여, 도메인 1(D1)의 가상 객체(VS12)의 감지 신호가 도메인 2(D2)의 가상 객체(VA24)에 전달되어 가상 객체(VA24)가 구동될 수 있게 된다.
가상 서버(30)는 서버 가상화 소프트웨어에 의해 구동된다. 서버 가상화 소프트웨어는 가상 서버(30)의 프로세서, 메모리, 네트워크 및 스토리지를 가상화(Virtualization)하는 소프트웨어이다. 서버 가상화 소프트웨어를 사용하면 서버 하드웨어가 가지는 물리적인 자원인 프로세서, 메모리 등을 가상화하여 논리자원으로 변형하여 사용할 수 있다.
가상 IoT 네트워크 시스템에서, 모든 IoT 장치(S1~Sn, A1~An)가 등록 요청을 위해 미리 설정한 가상 서버(30)에 그것의 프로필 정보를 전송한다. 가상 객체(VS1~VSn, VA1~VAn)가 대응하는 IoT 장치를 대해 생성된다. 가상 서버는 승인 신호를 각각의 IoT 장치에 전송한다.
즉, 모든 IoT 장치는 미리 구성된 가상 서버(30)에 등록 요청을 전송하고, 미리 설정한 응답 시간내에 응답을 대기한다. 응답이 일정 제한시간 내에 수신되지 않으면, 등록 요청 패킷이 네트워크 내에서 분실될 가능성 있고, IoT 장치는 또다른 요청을 보낸다.
센싱용 IoT 장치는 지정된 시간 간격으로 센싱 데이터를 가상 서버(30)에 전송한다. 센싱용 IoT 장치는 지정된 제한시간 동안 다양한 시간 간격으로 다수의 타겟 장치에 데이터를 전송할 수 있다. 각 타겟 장치에 대한 정보는 플로우의 형태로 가상 서버의 데이터베이스에 저장될 수 있다. 각 플로우는 자신의 타겟 노드, 데이터 전송 간격, 전송 종료 시간을 포함한다.
가상 서버(30)는, IoT 장치 또는 클라이언트 어플리케이션으로부터 필요한 구성 설정을 수행하고, 3종류의 메시지를 수신하여 처리한다.
첫번째 메시지는, 가상 객체의 생성을 요청하는 등록 요청 메시지이다.
두번째 메시지는 클라이언트 어플리케이션을 통해 사용자가 원하는 가상 객체의 선택을 통해, 가상화된 IoT 네트워크의 수립을 위한 클라이언트 어플리케이션으로부터의 요청 메시지이다. 가상 서버(30)는 데이터 전송을 시작하도록 구동 명령을, 선택된 IoT 장치에 보낸다.
세번째 메시지는 센싱 IoT 장치로부터의 감지 메시지를, 대응하는 목표 IoT 장치까지 포워딩하기 위한 메시지이다.
사용자는 클라이언트 어플리케이션에 의해 IoT 장치의 초기화를 요청한다. 제어기(33)는 초기화 요청을 처리하고, 사용자에 의해 지정된 기준에 따라 매치되는 IoT 장치(20)의 가상 객체 프로파일을 검색하여 가상 객체 리스트를 클라이언트 어플리케이션에 전송한다.
클라이언트 어플리케이션(40)은 가상 객체 리스트를 수신하면 가상 객체간에 연결을 설정하여 원하는 네트워크를 구성한다. 그 후, 클라이언트 어플리케이션(40)이 설치된 단말은 사용자가 원하는 가상 객체간의 연결 설정을 클라우드 상의 제어기(33)에 전송한다.
제어기(33)는 가상 서버내의 가상 객체를 조작함으로써 원하는 네트워크의 설정을 수립하는 역할을 한다. 제어기(33)는 사용자마다 원하는 설정에 따라, 관련된 가상 객체 사이에 동적 접속을 나타내는 맵핑 리스트를 형성 및 갱신한다.
그 후, 구동 명령이 데이터 전송을 시작하기 위해서, 대응하는 IoT 센서에 보내진다. 센싱 데이터가 대응하는 가상 객체에 의해 수신된 후, 제어기(33)가 맵핑 리스트로부터 맵핑된 장치를 선택한 후에, 구동 명령이 다음의 연결된 가상 객체에 전달된다.
가상 객체에 대응하는 장치는 원하는 동작을 실행하고, ACK신호를 클라이언트 어플리케이션에 보낸다. 프로세스는, 장치 구동 시간이 끝날 때까지 계속된다. 그 구동 시간이 끝나면, 특정의 가상화된 IoT 네트워크를 위한 연결 정보는 맵핑 리스트로부터 삭제된다.
이하에서, 본 발명에 따른 가상화된 IoT 네트워크 개념의 동작과 유용성을 예시하기 위해서, 3개의 다른 사용예 시나리오를 보인다. 각각의 시나리오에서, 관련된 IoT 장치 사이에서 약간의 특정 종류의 연결성을 필요로 하는 특정의 어플리케이션 시나리오를 보인다. 이러한 예를 통해, 원하는 어플리케이션 목적을 달성하기 위해서, 대응하는 가상 객체 사이에 가상화된 IoT 네트워크가 구성되는 방법을 설명한다.
시나리오 1
이 시나리오는, 상태/액션을 사용하고 있는 단순한 규칙에 기초한 가상 객체를 통하여, IoT 장치 사이의 직접적인 1 대 1의 접속을 필요로 한다. 어플리케이션 시나리오 예를 설명하기 위해서, 도 6을 참조한다.
도 6에 보인 바와 같이, 3개의 방으로 이루어진 생활 도메인에서 IoT 기반의 도어 자동 오픈 어플리케이션을 개발할 수 있다. 3개의 방의 각각에 설치된 2종류의 IoT 장치(즉 모션 센서(S11~S13)와 도어 구동 장치(A11~A13))를 고려한다. 모든 방의 도어에 모션 센서가 배치되고, 도어 개폐는 대응하는 도어 구동 장치에 의해 컨트롤된다.
가상 서버(30)에 의해 3개의 모션 센서(S11~S13)와 3개의 도어 구동 장치(A11~A13)에 대응하는 6개의 가상 객체가 가상화 계층에 형성된다. 사용자 단말기에는 가상 객체 리스트가 표시된 클라이언트 어플리케이션 인터페이스가 표시되고, 사용자는 이 인터페이스를 통해 모션 센서(S11~S13)와 대응하는 구동 장치(A11~A13) 사이에 원하는 연결성을 지정할 수 있다.
사용자는, 클라이언트 어플리케이션 인터페이스를 통해 도어 오픈 구동 장치의 구동에 모션 센싱의 감도 레벨을 나타내는 것 같은 간단한 규칙을 지정할 수 있다.
제어기(33)는 도 6에서 나타내는 것처럼, 관련된 가상 객체 사이에서 원하는 연결성 설정을 수립하기 위해서 각각의 가상 객체의 설정을 갱신한다. 이에 따라 가상 서버(30)는 구동 명령을 모션 센서(S11)에 전송한다. 그러면, 모션 센서(S11)는, 지정된 간격으로 모션 감지 데이터를, 대응하는 가상 객체에 전송하기 시작한다. 여기서, 구동 명령을 도어 개방 구동 장치에 보낼 것인지 여부를 결정하기 위해서 간단한 규칙이 적용될 수 있다.
시나리오 2
이 시나리오는, 다수 대 1, 1 대 다수, 다수 대 대수의 상호 접속을 수립하는 것에 의해, 가상 객체를 통해 IoT 장치 사이에서 복잡한 상호 접속을 필요로 한다. 예시적인 어플리케이션 시나리오는, 이 시나리오를 보다 잘 설명하기 위해서, 도 7을 참조한다. 도 7에 보인 바와 같이, 3개의 방으로 구성된 생활 도메인에서의 IoT 기반의 화재 안전 어플리케이션을 개발할 수 있다.
이 네트워크에서, 3종류의 IoT 장치, 즉 화재 검출을 위한 연기 센서(S11~S13)와 2대의 구동 장치(알람 장치(A14), 스프링클러(A11~A13))를 고려한다. 모든 방에 연기 센서(S11~S13)와 스프링클러(A11~A13)가 설치되고, 1개의 알람(A14)이 복도에 설치된다.
가상 서버(30)에 의해 3개의 연기 센서와 3개의 스프링클러, 1개의 알람 장치에 대응하는 6개의 가상 객체가 가상화 계층에 형성된다.
사용자는 클라이언트 어플리케이션 인터페이스를 통해 가상 객체 리스트를 확인할 수 있고, 대응하는 연기 센서(S11~S13)와 구동 장치 사이에서 원하는 연결성을 지정할 수 있다. 그리고, 사용자는, 클라이언트 어플리케이션 인터페이스를 통해 대응하는 스프링클러(A11~A13)와 알람 장치(A14)의 구동을 위해서 연기 감지의 감도 레벨을 나타내는 단순한 규칙을 지정할 수도 있다.
이 시나리오에서, 연기 센서(S11~S13)와 대응하는 스프링클러(A11~A13) 사이에서 1 대 1의 연결성이 확립된다. 그리고, 모든 연기 센서(S11~S13)는, 다수 대 1 타입의 연결성을 필요로 하는 단일의 알람 구동 장치(A14)에 또한 접속된다.
제어기(33)는 도 7에서 나타낸 관련된 가상 객체 사이에서 원하는 연결성 설정을 수립하기 위해서, 각각의 가상 객체의 설정을 갱신한다. 그러면 이에 따라 가성 서버(34)는 구동 명령을 연기 센서(S11~S13)에 전송한다. 그러면, 연기 센서(S11~S13)는, 대응하는 가상 객체에 지정된 간격으로 연기 감지 데이터를 보내기 시작한다.
여기서, 스프링클러 및 알람 구동 장치에 구동 명령을 보낼 것인지 여부를 결정하기 위해, 단순한 규칙이 적용된다.
이 시나리오를 위한 어플리케이션 로직은 응용 계층에서 구현되고, 이것의 구현은 관련된 가상 객체 사이에서 가상화된 IoT 네트워크의 수립을 통해, 가상화 계층에서 이루어진다.
시나리오 3
이 시나리오는 가상 객체를 통해 IoT 장치 사이에 복잡한 상호 접속이 요구된다. 이 시나리오는 상술한 다른 2개의 케이스와 다르게, 특정의 가상 객체는 데이터를 송수신하는 기능을 가진다. 시나리오를 보다 잘 설명하기 위해서, 예시적인 어플리케이션 시나리오를 도 8에 나타낸다. 이 경우에, 클라이언트는, 큰 방으로 구성된 작은 생활 영역에서 IoT 기반의 옥내 환경 어플리케이션을 개발할 수 있다. 사용자는 이 옥내 환경 어플리케이션을 사용하여 옥내의 온도, 조명과 공기질을 제어할 수 있다.
이 네트워크에서 6개의 다른 타입의 IoT 장치(즉 3개의 센서, 즉 온도 센서(S11), 조명 센서(S12), CO2 센서(S13))와, 3대의 구동 장치(즉 AC/히터(A14), 전등과 같은 조명 구동 장치(A13), 2개의 환풍팬(A11, A12))를 고려한다.
사용자는 옥내의 온도, 조명과 공기질에 대해 원하는 범위를 지정할 수 있다. 옥내의 온도가 지정된 범위를 넘는다면, 옥내의 환경의 온도를 낮추기 위해 AC가 작동될 것이다. 유사하게 옥내의 온도가 지정된 범위 이하에 있다면, 옥내의 환경의 온도를 높이기 위해 히터(A14)가 작동된다.
유사하게, 옥내의 조명 레벨이 사용자 원하는 범위 이하에 있다면, 조명 구동 장치(A13)가 켜진다. 마찬가지로 옥내의 공기질이 더 악화되면(지정된 레벨보다 많은 이산화탄소 농도이면), 환풍팬(A11, A12)이 공기질을 유지하기 위해서 작동된다.
이 시나리오에서는, 도 8에서 나타내듯이 가상 서버(30)에 의해 3개의 센서와 4개의 구동 장치에 대응하는 7개의 가상 객체가 가상화 계층에 형성된다.
사용자는 클라이언트 어플리케이션 인터페이스를 통해 가상 객체 리스트를 얻을 수 있고, 대응하는 센서와 구동 장치 사이에 연결성을 지정할 수 있다.
사용자는, 대응하는 구동 장치의 구동을 위해 각 옥내 파라미터에 대해 원하는 범위마다 간단한 규칙을 지정할 수 있다.
도 8에서 나타내듯이 제어기(33)는 관련된 가상 객체 사이에서 원하는 연결성 설정을 수립하기 위해서 각각의 가상 객체의 설정을 갱신한다. 이에 따라, 가상 서버(30)가 구동 명령이 각종 센서에 보내진다.
센서(S11~S13)는, 지정된 간격으로 옥내의 환경에 대한 감지 데이터를 대응하는 가상 객체에 전송한다.
사용자가 설정한 가상 IoT 구성에 따라, 감지용 가상 객체(VS11~VS13)는, 미리 지정된 환풍팬 가상 객체(VA11)에 데이터를 전송하고, 미리 지정된 환풍팬 가상 객체(VA11)는 각각의 구동 장치에 구동 명령을 보낼 것인지를 결정한다.
미리 지정된 환풍팬 가상 객체(VA11)는 본 실시예에서 게이트웨이 역할을 하는 것으로서, 온도, 조도, 공기질의 감지값에 의한 쾌적 정보를 계산해서, 에어컨/히터(A14), 전등(A13), 환풍팬(A12)의 각 구동 여부를 결정할 수 있다.
이 시나리오는, 센서와 액츄에이터 가상 객체 사이에서 다수 대 1과, 1 대 다수 연결성의 수립을 요구한다. 이에 따라, 센싱용 가상 객체 또는 구동용 가상 객체 중 어느 하나는 라우터로 설정되어 동작할 수 있다.
한편, 본 발명에서는, IoT 네트워크 가상화의 분석을 실행하기 위해, OMNET++으로 가상 객체 네트워크의 설계와 시뮬레이션을 수행할 수 있다.
이때, 가상화된 IoT 네트워크 시뮬레이션을 수행하기 위해서는, IoT 장치 프로토콜과 가상 서버 프로토콜, 클라이언트 장치 프로토콜이 정해져야 할 것이다.
가상 네트워크 시뮬레이션을 위한 IoT 장치 프로토콜은 각 IoT 장치가 가상 서버에 등록을 요청하여, 가상 서버에 가상 객체를 형성하는 과정을 수행하기 위한 것이다.
가상 네트워크 시뮬레이션을 위한 가상 서버 프로토콜은 IoT 장치로부터 등록 요청에 따라 가상 객체를 형성하고, 가상 객체 리스트를 형성하고, IoT 장치와 가상 객체간의 맵핑 테이블을 형성하는 과정을 수행하기 위한 것이다. 그리고, 가상 서버 프로토콜은, 가상 서버가 제어기로부터 제어 메시지를 수신하면, 제어 메시지를 분석하고, 맵핑 테이블에서 구동용 가상 객체에 대응하는 IoT 장치를 선택하여, 센싱용 IoT 장치 또는 구동용 IoT 장치를 구동하는 프로토콜이다.
가상 네트워크 시뮬레이션을 위한 IoT 클라이언트 장치 프로토콜은 관리자측의 IoT 클라이언트 장치를 위한 응용 계층 프로토콜이다. 이 프로토콜에 의해 사용자는 가상 서버로부터 원하는 가상 객체 리스트를 얻고, 원하는 네트워크 구성에 따라 가상 객체들을 연결 설정하고, 대응하는 가상 객체를 맵핑하는 것에 의해 필요한 네트워크 토폴러지 설정을 지정할 수 있게 된다.
도 9는 본 발명에 따른 가상화된 사물 인터넷 네트워크의 동작 시퀀스도이다. 도 9에 보인 바와 같이, 사용자 장치는 IoT 장치의 기준을 정의하고, 원하는 설정을 구성한다.
IoT 장치(20)들이 가상 서버(30)에 등록 요청 메시지를 전송한다(S1). 가상 서버(30)는 장치의 가상 객체를 형성하고(S2), 가상 객체들의 정보를 리스트화하여 저장한 후, 등록 확인 메시지를 IoT 장치에 전송한다(S3).
이후에, 사용자가 IoT 장치 기준을 클라이언트 어플리케이션 인터페이스를 통해 정의하면(S4), 클라이언트 어플리케이션은 IoT 장치 기준을 제어기(33)에 전송한다(S5). 제어기(33)는 IoT 장치 기준을 가상 서버(30)에 전송한다(S6).
그러면, 가상 서버(30)는 가상 객체 리스트를 형성하여 제어기(33)에 전송하고(S7), 제어기(33)는 클라이언트 어플리케이션(41)에 가상 객체 리스트를 전송한다(S8). 그러면, 사용자는 클라이언트 어플리케이션(41)을 통해 각 가상 객체에 대해 원하는 설정을 구성하고(S8), 가상 객체들간의 연결 배치를 설정하면 클라이언트 어플리케이션(41)은 사용자 설정을 제어기(33)에 전송한다(S9).
제어기(33)는 사용자 설정에 따라 가상 서버(30)에 동적 상호 접속을 수립을 요청하고(S10), 가상 서버(30)는 선택된 IoT 장치 활성화 신호를 전송(S11)하여 구동시킨다.
구동 명령을 받은 센싱용 IoT 장치들은 센싱 데이터를 가상 서버(30)로 전송한다. 이때, 가상 서버(30)는 센싱 데이터를 수신하였다는 응답 메시지를 제어기(33)에 전송하고(S13), 제어기(33)는 응답 메시지를 클라이언트 어플리케이션(41)에 전송한다(S14).
이후, 연결 설정된 센싱용 가상 객체와 구동용 가상 객체간에 센싱 데이터가 송수신된다(S15).
이후, 센싱 데이터에 대응하는 IoT 장치의 구동이 필요한 경우, 가상 서버(30)는 센싱 데이터에 대응하는 맵핑 IoT 장치를 선택한 후(S16) 구동 명령어를 IoT 장치에 전송한다(S17).
상술한 본 발명과 같이, 동적인 가상 네트워크의 구축에 의해, IoT 장치 사이의 동적인 엔드 투 엔드(end to end)의 접속을 확립함으로써, 가상화 계층의 톱에서 다양한 어플리케이션의 급속한 개발과 자원의 공유를 용이하게 할 것이다.
상술한 구성으로 이루어진 클라우드 기반의 가상화된 IoT 네트워크 시스템 및 네트워킹 방법에 따르면, IoT 네트워크를 구성하는 센서와 구동 장치를 모두 가상 객체로 형성하여 가상 객체간에 신호를 송수신하게 하는 가상 네트워크를 구축하므로 물리적인 네트워크에 비해 구축 비용을 절감할 수 있다. 또한, 관리자가 동적으로 네트워크를 구성하고 구축할 수 있게 되고, 그에 따라 사물 인터넷 네트워크 구성 변경이 용이해진다.
10 : 가상화된 IoT 네트워크
20 : IoT 장치 30 : 가상 서버
31 : 가상 객체 33 : 제어기
40 : 클라이언트 단말 41~41n : 클라이언트 어플리케이션
90 : 클라우드 200 : 사물 인터넷
300 : 소프트웨어 정의 네트워크(SDN)
20 : IoT 장치 30 : 가상 서버
31 : 가상 객체 33 : 제어기
40 : 클라이언트 단말 41~41n : 클라이언트 어플리케이션
90 : 클라우드 200 : 사물 인터넷
300 : 소프트웨어 정의 네트워크(SDN)
Claims (13)
- 클라우드 기반의 IoT 장치 가상화 네트워크 시스템에 있어서,
다수의 IoT 장치로부터 등록 요청에 따라 각종 센서와 구동장치로 이루어진 IoT 장치에 대해 센싱용 가상 객체와 구동용 가상 객체를 형성하고, IoT 장치와 가상 객체의 맵핑 정보를 나타내는 맵핑 테이블과, 가상 객체 리스트를 형성하여 저장하는 클라우드 기반의 가상 서버와,
상기 가상 서버로부터 가상 객체 리스트를 수신하고 상기 가상 객체 리스트에 기초하여 가상 객체간의 연결 관계를 설정하여 상기 가상 서버에 전송하기 위한 클라이언트 어플리케이션이 저장되는 클라이언트 단말과,
상기 클라이언트 어플리케이션의 연결 설정에 따라 센싱용 가상 객체와 구동용 가상 객체 사이에 연결성을 조작하는 상기 클라우드상에 형성되는 제어기를 포함하고, 상기 제어기는 가상 서버내의 가상 객체를 조작함으로써 원하는 네트워크의 설정을 수립하는 기능을 하고, 사용자마다 원하는 설정에 따라, 관련된 가상 객체 사이에 동적 접속을 나타내는 맵핑 리스트를 형성 및 갱신하고, 센싱용 IoT 장치로부터의 감지 메시지를 수신하여, 대응하는 목표 IoT 장치까지 포워딩 처리하고,
연결 설정된 상기 센싱용 가상 객체와 상기 구동용 가상 객체들 사이에 감지 신호가 송수신되고,
상기 클라이언트 어플리케이션은 가상 객체의 생성을 요청하는 등록 요청 메시지와 사용자에 의해 선택된 가상 객체들로 가상화된 IoT 네트워크의 수립을 위한 요청 메시지 및 상기 IoT 장치를 동작시키는 제어 신호를 형성하고,
상기 가상 서버는 상기 IoT 장치로부터 송신되는 센싱 데이터를 수신하고, 상기 연결된 객체간의 신호 송수신 결과, 구동이 필요한 IoT 장치를 활성화하는 명령어를 상기 IoT 장치에 전송하고, 상기 클라이언트 어플리케이션으로부터 가상화된 IoT 네트워크의 수립을 위한 요청 메시지를 수신하면 센싱 데이터 전송을 시작하도록 하는 구동 명령을 선택된 IoT 장치에 전송하고,
상기 클라이언트 단말이 상기 사용자가 원하는 가상 객체들 사이에 연결성을 조작하도록, 가상 객체간의 동적 연결을 설정하고, 데이터 포워딩 조건을 사용자가 설정하게 하기 위한 인터페이스 화면을 표시하는 것을 특징으로 하는, 클라우드 기반의 IoT 장치 가상화 네트워크 시스템. - 제1항에 있어서,
상기 센싱 기능을 갖는 IoT 장치는 상기 가상 서버의 구동 명령에 따라 센싱 데이터를 전송하고,
상기 센싱용 가상 객체가 미리 연결 설정된 구동용 가상 객체에 센싱 신호를 전송하고, 구동용 가상 객체는 센싱 신호를 수신하여 구동되고, 상기 제어기는 구동된 구동용 가상 객체에 대응하는 구동 장치에 구동 신호를 전송하는 것인, 클라우드 기반의 IoT 장치 가상화 네트워크 시스템. - 제1항에 있어서,
상기 클라이언트 어플리케이션은 다수의 가상 객체간의 연결 설정과 각 가상 객체의 동작 기준에 대해 사용자 설정을 위한 인터페이스 기능을 제공하는 것인, 클라우드 기반의 IoT 장치 가상화 네트워크 시스템. - 제1항에 있어서,
상기 센싱용 가상 객체 또는 구동용 가상 객체 중 어느 하나는 라우터로 설정되어 동작 가능한 것인, 클라우드 기반의 IoT 장치 가상화 네트워크 시스템. - 제1항 내지 제4항에 중 어느 한 항에 있어서,
상기 제어기는 상기 가상 서버 내에 위치하거나 별도의 서버에 존재하는 것인, 클라우드 기반의 IoT 장치 가상화 네트워크 시스템. - 제1항에 있어서,
상기 제어기가 상기 IoT 장치로부터 송신되는 센싱 데이터를 클라우드에서 수신하여 해당 가상 객체에 대응시켜 저장하고, 상기 센싱 데이터를 미리 설정된 경로와 각 가상 객체에 대해 미리 설정된 조건에 따라 데이터를 포워딩하는 것인, 클라우드 기반의 IoT 장치 가상화 네트워크 시스템. - 제1항에 있어서,
상기 제어기는 다수의 센싱용 가상 객체 및 구동용 가상 객체 중 어느 하나를 네트워크 형성을 위한 경로를 설정하고, 상기 제어기는 네트워크 ID, 가상 객체 ID, 소스 ID, 목적지 ID 등의 전체 경로 정보를 포함하는 맵핑 테이블을 가지며, 각 가상 객체는 전달 조건, 소스 ID, 목적지 ID, 다음 전송받을 가상 객체 등의 정보를 포함하는 플로우 테이블을 가지며, 상기 제어기는 이들 조건에 따라 다음 전송 가상 객체에 데이터를 전달하는 것인, 클라우드 기반의 IoT 장치 가상화 네트워크 시스템. - 클라우드 기반의 가상화된 IoT 장치 네트워킹 방법에 있어서,
물리 공간의 수 많은 사물의 IoT 장치를 클라우드에 연결하고, 다수의 센싱용 IoT 장치 또는 구동용 IoT 장치가 클라우드 기반으로 형성된 가상 서버에 등록 요청을 하기 위해, IoT 장치 가상화를 위한 인터페이스 기능을 하는 클라이언트 어플리케이션이 가상 객체의 생성을 요청하는 등록 요청 메시지와 사용자에 의해 선택된 가상 객체들로 가상화된 IoT 네트워크의 수립을 위한 요청 메시지를 형성하여 전송하는 단계;
상기 가상 서버가 등록 요청된 IoT 장치에 대해 센싱용 가상 객체와 구동용 가상 객체를 형성하는 단계;
상기 가상 서버가 IoT 장치와 가상 객체의 맵핑 정보를 나타내는 맵핑 테이블과, 가상 객체 리스트를 형성하여 저장하고 클라이언트 단말에 상기 가상 객체 리스트를 전송하는 단계;
상기 클라이언트 단말이 상기 가상 객체 리스트에 기초하여 상기 가상 객체간의 동적 연결 관계와, 각 가상 객체의 데이터 포워딩 조건을 설정하기 위한 인터페이스 화면을 표시하여, 입력되는 사용자 연결 설정 정보를 전송하는 단계;
상기 가상 서버와 연결된 제어기가 상기 사용자 연결 설정 정보에 따라 다수의 센싱용 가상 객체 및 구동용 가상 객체들간에 네트워크 형성을 위한 경로를 설정하고 센싱용 가상 객체와 구동용 가상 객체를 동적 연결하고, 사용자마다 원하는 설정에 따라, 관련된 가상 객체 사이에 동적 접속을 나타내는 맵핑 리스트를 형성 및 갱신하는 단계;
연결 설정된 센싱용 가상 객체와 구동용 가상 객체간에 신호를 송수신하는 단계;
상기 가상 서버가 상기 센싱용 가상 객체와 구동용 가상 객체간에 신호 송신호 구동이 필요한 IoT 장치를 활성화하는 명령어를 상기 IoT 장치에 전송하는 단계;
상기 가상 서버가 상기 클라이언트 어플리케이션으로부터 가상화된 IoT 네트워크의 수립을 위한 요청 메시지를 수신하면 센싱 데이터 전송을 시작하도록 하는 구동 명령을 선택된 IoT 장치에 전송하는 단계; 및
상기 제어기가 센싱용 IoT 장치로부터의 감지 메시지를 수신하여 상기 맵핑 테이블 및 상기 맵핑 리스트에 기초하여 대응하는 목표 IoT 장치까지 포워딩 처리하는 단계를 포함하는 것을 특징으로 하는, 클라우드 기반의 가상화된 IoT 장치 네트워킹 방법. - 제8항에 있어서,
상기 가상 서버가 상기 IoT 장치로부터 송신되는 센싱 데이터를 클라우드에서 수신하여 해당 가상 객체에 대응시켜 저장하고, 상기 센싱 데이터를 미리 설정된 경로와 각 가상 객체에 대해 미리 설정된 조건에 따라 데이터를 포워딩하는 단계를 더 포함하는 클라우드 기반의 가상화된 IoT 장치 네트워킹 방법. - 제8항에 있어서,
상기 가상 서버가 상기 사용자 설정에 따라 구동할 센싱 장치를 활성화시키는 단계;
활성화된 센싱용 가상 객체와 미리 연결 설정된 구동용 가상 객체 간에 센싱 데이터를 송수신하는 단계;
상기 구동용 가상 객체가 센싱 데이터를 수신하여 구동되면, 상기 가상 서버가 대응하는 구동용 가상 객체의 대응 IoT 장치에 구동 신호를 전송하는 단계를 더 포함하는, 클라우드 기반의 가상화된 IoT 장치 네트워킹 방법. - 제8항에 있어서,
상기 제어기는 네트워크 ID, 가상 객체 ID, 소스 ID, 목적지 ID 등의 전체 경로 정보를 포함하는 맵핑 테이블을 가지며, 각 가상 객체는 전달 조건, 소스 ID, 목적지 ID, 다음 전송받을 가상 객체 등의 정보를 포함하는 플로우 테이블을 가지며,
상기 제어기가 미리 설정된 경로 조건에 따라 다음 전송 가상 객체에 데이터를 전달하는 단계를 포함하는 클라우드 기반의 가상화된 IoT 장치 네트워킹 방법. - 제8항에 있어서,
상기 클라이언트 단말은 다수의 가상 객체간의 연결 설정과 각 가상 객체의 동작 기준에 대해 사용자 설정을 위한 인터페이스 화면을 표시하는 것인, 클라우드 기반의 가상화된 IoT 장치 네트워킹 방법. - 제8항에 있어서,
상기 제어기가, 센싱용 가상 객체 또는 구동용 가상 객체 중 어느 하나를 네트워크 형성을 위한 라우터로 설정하는 단계를 더 포함하는 클라우드 기반의 가상화된 IoT 장치 네트워킹 방법.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180098636A KR102120548B1 (ko) | 2018-08-23 | 2018-08-23 | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 |
US17/270,459 US11805023B2 (en) | 2018-08-23 | 2019-04-01 | Cloud-based IoT network virtualization system and networking method |
PCT/KR2019/003774 WO2020040396A1 (ko) | 2018-08-23 | 2019-04-01 | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020180098636A KR102120548B1 (ko) | 2018-08-23 | 2018-08-23 | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200022698A KR20200022698A (ko) | 2020-03-04 |
KR102120548B1 true KR102120548B1 (ko) | 2020-06-16 |
Family
ID=69592918
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020180098636A KR102120548B1 (ko) | 2018-08-23 | 2018-08-23 | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11805023B2 (ko) |
KR (1) | KR102120548B1 (ko) |
WO (1) | WO2020040396A1 (ko) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11652842B2 (en) * | 2020-06-29 | 2023-05-16 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Edge device assisted mitigation of publish-subscribe denial of service (DoS) attacks |
CN111885170B (zh) * | 2020-07-23 | 2022-03-11 | 平安科技(深圳)有限公司 | 物联网控制系统的处理方法、系统、云端服务器及介质 |
CN113905066B (zh) * | 2021-09-15 | 2024-04-09 | 中电科新型智慧城市研究院有限公司 | 物联网的组网方法、物联网的组网装置及电子设备 |
CN114971409B (zh) * | 2022-06-28 | 2024-06-21 | 成都秦川物联网科技股份有限公司 | 一种基于物联网的智慧城市火灾监控预警方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101748548B1 (ko) * | 2017-01-11 | 2017-06-27 | (주)예원이엔씨 | IoT네트웍 시스템 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160359664A1 (en) * | 2015-06-08 | 2016-12-08 | Cisco Technology, Inc. | Virtualized things from physical objects for an internet of things integrated developer environment |
US10503484B2 (en) * | 2015-06-08 | 2019-12-10 | Cisco Technology, Inc. | Virtual replication of physical things for scale-out in an internet of things integrated developer environment |
US10114618B2 (en) * | 2015-06-08 | 2018-10-30 | Cisco Technology, Inc. | Autonomous mobile sensor movement path simulation with an integrated developer environment |
KR101911686B1 (ko) * | 2016-11-16 | 2018-10-25 | (주)파인원커뮤니케이션즈 | 디바이스 가상화 시스템 및 방법 |
KR101888472B1 (ko) * | 2016-12-08 | 2018-08-16 | 제주대학교 산학협력단 | BPM 기반의 IoT DIY 시스템 및 이의 구현방법 |
WO2018226790A1 (en) * | 2017-06-09 | 2018-12-13 | ORock Holdings, LLC | Secure network-accessible system for executing remote applications |
US10637774B2 (en) * | 2018-01-25 | 2020-04-28 | Vmware, Inc. | Securely localized and fault tolerant processing of data in a hybrid multi-tenant internet of things system |
US10831631B2 (en) * | 2018-06-28 | 2020-11-10 | International Business Machines Corporation | Continuous time alignment of a collection of independent sensors |
-
2018
- 2018-08-23 KR KR1020180098636A patent/KR102120548B1/ko active IP Right Grant
-
2019
- 2019-04-01 US US17/270,459 patent/US11805023B2/en active Active
- 2019-04-01 WO PCT/KR2019/003774 patent/WO2020040396A1/ko active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101748548B1 (ko) * | 2017-01-11 | 2017-06-27 | (주)예원이엔씨 | IoT네트웍 시스템 |
Non-Patent Citations (2)
Title |
---|
A user-Centric knowledge creation model in a web of object-enabled internet of things environment (MUHAMMAD GOLAM KIBRIA et al, Sensors 2015, 2015.09.18.) |
IoT 서비스 지능화를 위한 디바이스 오브젝트화 및 오케스트레이션 메커니즘 (김영준 et al, 한국통신학회, 2013년1월) |
Also Published As
Publication number | Publication date |
---|---|
US11805023B2 (en) | 2023-10-31 |
US20210328880A1 (en) | 2021-10-21 |
KR20200022698A (ko) | 2020-03-04 |
WO2020040396A1 (ko) | 2020-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102120548B1 (ko) | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 | |
US11172564B2 (en) | Method for commissioning mesh network-capable devices, including mapping of provisioned nodes | |
US10084745B2 (en) | Data management profile for a fabric network | |
EP3111346B1 (en) | Distributed processing system | |
US20170315522A1 (en) | Virtual simulator and building management system including the same | |
CN112567698A (zh) | 多云服务网格中的服务业务复制和动态策略实施 | |
US10630649B2 (en) | Home automation system including encrypted device connection based upon publicly accessible connection file and related methods | |
CN104363159A (zh) | 一种基于软件定义网络的开放虚拟网络构建系统和方法 | |
JP2020527317A (ja) | スマートデバイスの制御方法、制御装置及び制御システム | |
EP3314822A1 (en) | Home automation system including security controller for terminating communication with abnormally operating addressable devices and related methods | |
WO2017004190A1 (en) | Home automation system including cloud and home message queue synchronization and related methods | |
US11098914B2 (en) | System and method for operating a HVAC system by determining occupied state of a structure via IP address | |
KR101922795B1 (ko) | 사물인터넷 서비스 제공 장치 및 그 방법 | |
CN114125005A (zh) | 一种基于智慧楼宇系统的数据处理方法及装置 | |
CN105429884A (zh) | 通过终端来管理不同网络中路由器的方法和系统 | |
US10079751B2 (en) | Flexible network building method for remote-programmable monitoring and controlling system applied to smart home | |
Lobachev et al. | Smart sensor network for smart buildings | |
EP3607777A1 (en) | Ad hoc service switch-based control of ad hoc networking | |
RU2399161C2 (ru) | Системы и способы обработки перехвата управления при отказе в распределенной среде с маршрутизацией | |
US20180287814A1 (en) | Method for discovering the configuration of a home-automation facility | |
Chete | Design and Simulation of IoT Network for Smart-Home | |
Ye et al. | Hardware-Based Emulator for Building Energy Cyber-Physical Control with Occupancy Sensing | |
US10637680B2 (en) | Home automation system including shareable capacity determining hub devices and related methods | |
WO2016020472A1 (en) | Controllable device | |
Sec et al. | Automatic address assigning problem in smart homes |
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 |