KR101748548B1 - IoT네트웍 시스템 - Google Patents
IoT네트웍 시스템 Download PDFInfo
- Publication number
- KR101748548B1 KR101748548B1 KR1020170004553A KR20170004553A KR101748548B1 KR 101748548 B1 KR101748548 B1 KR 101748548B1 KR 1020170004553 A KR1020170004553 A KR 1020170004553A KR 20170004553 A KR20170004553 A KR 20170004553A KR 101748548 B1 KR101748548 B1 KR 101748548B1
- Authority
- KR
- South Korea
- Prior art keywords
- virtual object
- objects
- layer
- service
- iot network
- Prior art date
Links
Images
Classifications
-
- 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
-
- H04L29/10—
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은 IoT 네트웍 시스템에 관한 것이다. 본 발명은, IoT 네트웍(Internet of Things)와 관련된 사물을 구성하기 위한 계층인 피지컬 레이어(physical layer)(110); 피지컬 레이어(110)에서의 사물을 가상 객체(Virtual Objects, VO)로 표현하며, 가상 객체(VO)를 관리하기 위한 계층인 가상 객체 레이어(Virtual Object Layer, VOL)(120); 가상 객체 레이어(VOL)(120)에서의 가상 객체(VO)에 대해서 두 개 이상의 가상 객체(VO)의 조합에 의해 서비스 객체(Service Objects , SO)를 생성하는 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130); 및 각 서비스 객체(SO)가 생성되면, 하나의 단위의 서비스 객체에 대해서 하나의 시나리오를 위한 유저가 원하는 프로세스의 플로우를 형성하며, 서비스 객체(SO)들의 조인 기반의 모델을 수행하기 위해 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 활용하는 비지니스 프로세스 레이어(Business Process Layer, BPL)(140); 를 포함하는 4개 계층(layer)으로 형성되는 시스템 아키텍처를 구비하는 것을 특징으로 한다.
이에 의해, 본 발명은, IoT 네트웍 어플리케이션들을 생성하고 전개하기 위한 인터페이스를 통해 구현함으로써, 서비스 객체들의 표현에 기초한 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 제공할 수 있는 제공한다.
뿐만 아니라, 본 발명은, IoT 네트웍 구성을 위해 유저에게 쉽게 시각화하고 생성된 가상 객체들(VOs)과 상호 작용 및 조작을 허여함으로써, 유저가 쉽게 IoT 네트웍 인프라를 구축할 수 있는 효과를 제공한다.
이에 의해, 본 발명은, IoT 네트웍 어플리케이션들을 생성하고 전개하기 위한 인터페이스를 통해 구현함으로써, 서비스 객체들의 표현에 기초한 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 제공할 수 있는 제공한다.
뿐만 아니라, 본 발명은, IoT 네트웍 구성을 위해 유저에게 쉽게 시각화하고 생성된 가상 객체들(VOs)과 상호 작용 및 조작을 허여함으로써, 유저가 쉽게 IoT 네트웍 인프라를 구축할 수 있는 효과를 제공한다.
Description
본 발명은 IoT 네트웍 시스템에 관한 것으로, 보다 구체적으로는, IoT 네트웍 영상을 구현하기 위한 IoT 네트웍 방식의 시각 구현 정보를 제공하기 위한 IoT 네트웍 네트웍 시스템에 관한 것이다.
최근, 정보통신 기술의 비약적인 발전에 따라 IoT(Internet of Things) 기술에 대한 관심 및 수요가 급격히 증가하고 있는 추세이다. 이러한 IoT는, 이를 바라보는 관점에 따라 다양한 방식으로 정의될 수 있다. 그러나, 본질적으로 IoT가 인터넷을 기반으로 다양한 사물들에게까지 네트워크 연결을 제공함으로써 사람과 사물, 사물과사물 간의 통신을 가능하게 하는 지능형 정보통신 기술 내지 서비스에 해당함은 분명한 사실이다.
이러한 IoT 기술 분야의 급격한 성장세에도 불구하고, IoT 환경에서의 보안 기술은 아직 초기 단계에 머물러 있는 실정이다. 특히, 댁내 IoT 시스템의 경우 일반 사용자가 보안 관리에 참여해야 하고, 더욱이 댁내 무선 네트워크의 경우 무선 환경 특성상 일반 사용자가 외부 공격을 인지하는 것은 매우 어려운 점에서 보안 취약 지대로 인식되고 있다. 실제로 영국의 인터넷 매체인 텔레그래프는, HP의 보고서를 인용하여, 현재 사용되는 IoT 기기들의 90%는 개인 정보를 수집하고 있고, 이 중 70%는 개인 정보를 암호화하지 않은 상태로 전송하고 있으며, IoT 기기들의 60%는 보안 되지않은 인터페이스를 사용하고 있다고 하면서, 현재 IoT 기기들이 약 250개의 잠재적인 보안 취약점을 지니고 있다고 전했다. 또한, 프루프포인트는 2013년 말부터 2014년 초까지 75만건의 피싱과 스팸메일이 스마트 가전을 통해 발송되었다고 보고한 바 있다. 따라서, 댁내 IoT 시스템의 댁내 무선 네트워크에 대한 보안 기술 절실히 요구되고 있는 실정이다.
한편, 현재 무선랜 또는 Wi-Fi 보안 기술과 관련된 연구들은 주로 홈 IoT 기기와 댁내 AP(Access Point) 간 무선 통신에서의 사용자 인증 및 암호화에 중점을 두고 있으며, Wi-Fi 보안 규격으로서 WEP(Wired Equivalent Privacy), WPA(Wi-Fi Protected Access), WPA2 등이 상용화되어 있다.
사물 인터넷(Internet of Things, 이하 IoT 네트웍)은 정보 통신 기술을 기반으로 실세계(physical word)와 가상 세계(virtual world)의 다양한 사물들을 연결하여 진보된 서비스를 제공하기 위한 서비스 기반 시설에 관한 것이다.
이러한 IoT 네트웍을 설계하기 위해서는 유비쿼터스 공간을 구현하기 위한 인프라 컴퓨팅 기기들이 환경과 사물에 심겨 환경이나 사물 그 자체가 지능화되는 것부터 사람과 사물, 사물과 사물 간에 지능 통신을 할 수 있는 사물 통신(M2M : Machine to Machine)의 개념을 인터넷으로 확장하여 사물은 물론, 현실과 가상 세계의 모든 정보와 상호 작용하는 개념으로 진화했다. 사물 인터넷의 주요 기술로는 센싱 기술, 유무선 통신 및 네트워크 인프라 기술, 사물 인터넷 인터페이스 기술, 사물 인터넷을 통한 서비스 기술 등이 있다.
이러한 IoT 네트웍 환경에서 종말단 사용자(end-users)가 사물을 발견하여 발견된 사물에 대해서 스마트 환경을 애플리케이션을 통해 효과적으로 사용하기 위한 기술 개발이 요구되고 있다.
즉, 해당 기술 분야에 있어서는 아키텍처와 영상 구현을 위한 계층 시스템에 대한 설계를 위한 기술 개발이 요구되고 있다.
본 발명은 상기의 문제점을 해결하기 위한 것으로, 비즈니스 프로세서 관리와 관련된 다이어그램 언어 솔루션을 기반으로 프로그램 언어에 대한 기초 지식이 없어도 쉽게 인터페이스를 제공받을 수 있도록 하기 위한 IoT 네트웍 시스템을 제공하기 위한 것이다.
또한, 본 발명은 IoT 네트웍 구성을 위해 유저에게 쉽게 시각화하고 생성된 가상 객체들(VOs)과 상호 작용 및 조작을 허여함으로써, 유저가 쉽게 IoT 네트웍 인프라를 구축하도록 하기 위한 IoT 네트웍 시스템을 제공하기 위한 것이다.
그러나 본 발명의 목적들은 상기에 언급된 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기의 목적을 달성하기 위해 본 발명의 실시예에 따른 IoT 네트웍 시스템은, IoT 네트웍과 관련된 사물을 구성하기 위한 계층인 피지컬 레이어(physical layer)(110); 피지컬 레이어(110)에서의 사물을 가상 객체(Virtual Objects, VO)로 표현하며, 가상 객체(VO)를 관리하기 위한 계층인 가상 객체 레이어(Virtual Object Layer, VOL)(120); 가상 객체 레이어(VOL)(120)에서의 가상 객체(VO)에 대해서 두 개 이상의 가상 객체(VO)의 조합에 의해 서비스 객체(Service Objects, SO)를 생성하는 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130); 및 각 서비스 객체(SO)가 생성되면, 하나의 단위의 서비스 객체에 대해서 하나의 시나리오를 위한 유저가 원하는 프로세스의 플로우를 형성하며, 서비스 객체(SO)들의 조인 기반의 모델을 수행하기 위해 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 활용하는 비지니스 프로세스 레이어(Business Process Layer, BPL)(140); 를 포함하는 4개 계층(layer)으로 형성되는 시스템 아키텍처를 구비하는 것을 특징으로 한다.
이때, 상기 프로세스 플로우는, 비지니스 프로세스 레이어(BPL)(140)에서 개별적인 서비스 객체(SO)에 의해 정의되는 기능을 수행하도록 동작하며, 실제 상호 작용으로 개별적인 가상 객체(VO) 간에 암호화된 행위에 기초한 피지컬 객체(PO)를 직접적으로 수행하는 것을 특징으로 한다.
또한, 사물은, IoT 네트웍 환경 및 주위에서 발생하는 미리 설정된 현상에 대한 제어 데이터를 탐지하는 것을 특징으로 한다.
또한, 가상 객체(VO)는, 피지컬 레이어(110)의 사물과 관련된 정보를 요약 또는 압축적으로 제시하며, 유저(user)에게 IoT 네트웍 시스템 환경 내부의 가상 객체(VO)에 대한 조작할 수 있도록 하며, 가상 객체(VO)로 표현되는 피지컬 레이어(110)에서의 사물의 환경으로의 액세스가 가능하도록 하는 것을 특징으로 한다.
또한, 서비스 객체(SO)는, 입력 가상 객체(VO)로 온도 센서 가상 객체(VO), 그리고 출력 가상 객체(VO)로 LED 가상 객체(VO)의 결합으로 형성되는 것을 특징으로 한다.
또한, 가상 객체 레이어(Virtual Object Layer, VOL)(120)는, 유저들이 가상 객체(VO)들을 등록하기 원하는 피지컬 레이어의 사물과 관련된 정보를 입력하기 위한 로컬 또는 원격 인터페이스 클래스들의 구성요소를 사용자에게 제공하는 가상 객체 매니저(VOM)(120a); 를 구비하는 것을 특징으로 한다.
본 발명의 실시예에 따른 IoT 네트웍 시스템은, IoT 네트웍 어플리케이션들을 생성하고 전개하기 위한 인터페이스를 통해 구현함으로써, 서비스 객체들의 표현에 기초한 비지니스 프로세스 모델링 노테이션(BPMN)을 제공할 수 있는 제공한다.
뿐만 아니라, 본 발명의 다른 실시예에 따른 IoT 네트웍 시스템은, IoT 네트웍 구성을 위해 유저에게 쉽게 시각화하고 생성된 가상 객체들(VOs)과 상호 작용 및 조작을 허여함으로써, 유저가 쉽게 IoT 네트웍 인프라를 구축할 수 있는 효과를 제공한다.
도 1은 본 발명의 실시예에 따른 IoT 네트웍 시스템의 시스템 아키텍처
도 2는 도 1의 IoT 네트웍 시스템 중 가상 객체 매니저(VOM)의 동작도
도 3은 도 2의 가상 객체 매니저의 작동 흐름도
도 4는 도 1의 IoT 네트웍 시스템 중 서비스 콤포지션 매니저의 동작 설명도
도 5는 도 1의 IoT 네트웍 시스템 중 서비스 콤포지션 매니저에 의한 서비스 플로우도
도 6은 본 발명의 실시예에 따른 비지니스 프로세스 레이어 프로세스도
도 7은 본 발명의 실시예에 따른 비지니스 프로세스 레이어시퀀스도
도 8은 도 1의 IoT 네트웍 시스템에 있어서, IoT 네트웍 어플리케이션 구성 도
도 9는 도 1의 IoT 네트웍 시스템을 기반으로 가상 객체 매니저(VOM)도
도 10은 도 1의 IoT 네트웍 시스템을 기반으로 서비스 콤포지션 매니저도
도 11은 도 1의 IoT 네트웍 시스템을 기반으로 비즈니스 프로세스 관리도
도 12는 도 1의 IoT 네트웍 시스템을 기반으로 비즈니스 프로세스관리 디플로이먼트 엔진도
도 2는 도 1의 IoT 네트웍 시스템 중 가상 객체 매니저(VOM)의 동작도
도 3은 도 2의 가상 객체 매니저의 작동 흐름도
도 4는 도 1의 IoT 네트웍 시스템 중 서비스 콤포지션 매니저의 동작 설명도
도 5는 도 1의 IoT 네트웍 시스템 중 서비스 콤포지션 매니저에 의한 서비스 플로우도
도 6은 본 발명의 실시예에 따른 비지니스 프로세스 레이어 프로세스도
도 7은 본 발명의 실시예에 따른 비지니스 프로세스 레이어시퀀스도
도 8은 도 1의 IoT 네트웍 시스템에 있어서, IoT 네트웍 어플리케이션 구성 도
도 9는 도 1의 IoT 네트웍 시스템을 기반으로 가상 객체 매니저(VOM)도
도 10은 도 1의 IoT 네트웍 시스템을 기반으로 서비스 콤포지션 매니저도
도 11은 도 1의 IoT 네트웍 시스템을 기반으로 비즈니스 프로세스 관리도
도 12는 도 1의 IoT 네트웍 시스템을 기반으로 비즈니스 프로세스관리 디플로이먼트 엔진도
이하, 본 발명의 바람직한 실시예의 상세한 설명은 첨부된 도면들을 참조하여 설명할 것이다. 하기에서 본 발명을 설명함에 있어서, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다.
본 명세서에 있어서는 어느 하나의 구성요소가 다른 구성요소로 데이터 또는 신호를 '전송'하는 경우에는 구성요소는 다른 구성요소로 직접 상기 데이터 또는 신호를 전송할 수 있고, 적어도 하나의 또 다른 구성요소를 통하여 데이터 또는 신호를 다른 구성요소로 전송할 수 있음을 의미한다.
도 1은 본 발명의 실시예에 따른 BPM(Business Process Model) 기반의 IoT 네트웍 시스템의 시스템 아키텍처를 나타내는 도면이다.
도 1을 참조하면, IoT 네트웍 시스템의 시스템 아키텍처는 피지컬 레이어(physical layer)(110), 가상 객체 레이어(Virtual Object Layer, VOL)(120), 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130), 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)의 4개의 계층(layer)으로 형성되며, 각 계층은 개별적인 기능과 미리 설정된 통신 계획에 따라 인접 계층과의 통신을 수행한다.
이하에서는, 각 계층에 대해서 구체적으로 살펴보도록 한다.
피지컬 레이어(physical layer)(110)는 IoT 네트웍(Internet of Things)와 관련된 사물을 구성하기 위한 계층이다. 여기서 사물은 IoT 네트웍 환경 또는/및 주위에서 발생하는 미리 설정된 현상에 대한 제어 데이터를 탐지할 수 있다.
또한, 사물의 일 실시예로, 인터넷을 통한 통신 수행능력을 갖는 센싱 장치와 액츄에이터 장치로 정의될 수 있다.
가상 객체 레이어(Virtual Object Layer, VOL)(120)는 가상 객체(Virtual Objects, VO)를 관리하기 위한 계층을 의미한다. 가상 객체(VO)는 피지컬 레이어(110)에서의 사물을 나타낸 것이다.
가상 객체(VO)는 피지컬 레이어(110)의 사물과 관련된 정보를 요약 또는 압축적으로 제시할 수 있으며, 유저(user)에게 IoT 네트웍 시스템 환경 내부의 가상 객체(VO)에 대한 조작이 가능하도록 하며, 가상 객체(VO)로 표현되는 피지컬 레이어(110)에서의 사물(thing)의 환경으로의 액세스가 가능하도록 한다.
가상 객체 레이어(VOL)(120)에서의 가상 객체(VO)는 후술하는 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130) 상에서 수행되는 두 개 이상의 가상 객체(VO)의 조합에 의해 서비스 객체(Service Objects, SO)를 생성하는데 이용된다.
서비스 객체(SO)의 예로, 입력 가상 객체(VO)로 온도 센서 가상 객체(VO)가 40℃를 초과하는 경우에 동작하며, 출력 가상 객체(VO)로 LED 가상 객체(VO)의 조인(Join)으로 형성될 수 있다. 이때, LED 가상 객체(VO)는 조건을 맞는 경우 깜박이기 시작하게 세팅되며, 온도 값의 획득과 LED의 깜박임은 상응하는 가상 객체(VO) 간의 암호화된 기능에 따르는 것이 바람직하다.
하나의 서비스 객체(SO)가 생성되면, 이러한 하나의 단위의 서비스 객체는 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에 의해 하나의 시나리오를 위한 유저가 원하는 프로세스의 플로우를 형성하기 위해 이용된다.
여기서 비지니스 프로세스 레이어(BPL)(140)는 서비스 객체(SO)들의 조인 기반의 모델을 수행하기 위해 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 이용한다.
프로세스 플로우는 비지니스 프로세스 레이어(BPL)(140)에서 개별적인 서비스 객체(SO)에 의해 정의되는 기능을 수행하도록 동작하며, 실제 상호 작용으로 개별적인 가상 객체(VO) 간에 암호화된 행위에 기초한 피지컬 객체(PO)를 직접적으로 수행하는 것에 해당한다.
한편, IoT 네트웍 시스템의 각 레이어는 정적 구조(static structure)를 갖으며, 각 레이어의 주요 동작을 기술하기 위한 상호 작용 구조를 갖는다.
도 2는 도 1의 IoT 네트웍 시스템 중 가상 객체 매니저(VOM)(120a)의 동작을 설명하기 위한 블록도이다.
먼저, 객체 가상화(Object virtualization)에 대해서 살펴보면, 가상 객체 매니저(VOM)(120a)는 가상 객체 레이어(120)에서 주요 구성요소에 해당한다. 가상 객체 매니저(VOM)(120a)는 파일 매니저(File Manager)(120a-1), 통신 매니저(Communication Manager)(120a-2), XML 파서(XML Parser)(120a-3) 등과 같은 다른 클래스(class)들과 공동 작업을 하며, 가상 객체 레이어(VOL)와 연관된 모든 기능을 수행한다.
가상 객체 매니저(VOM)(120a)는 유저들이 가상 객체(VO)들을 등록하기 원하는 피지컬 레이어의 사물과 관련된 정보를 입력하기 위한 로컬 또는 원격 인터페이스 클래스들의 구성요소를 사용자에게 제공한다.
통신 매니저(120a-2)는 파일 매니저(120a-1)를 이용하는데, 파일 매니저(120a-1)를 활용하여 로컬 파일 시스템으로부터 가상 객체(VO)의 XML 버전을 검색하거나, 관련된 정보를 추출하기 위해 가상 객체(VO)를 클라이언트 어플리케이션(client application)으로 전송한다.
이러한 과정에서 클라이언트 어플리케이션(client application)은 후술하는 서비스 콤포지션 매니저(Service Composition Manager)(130a)일 수 있다.
한편, XML 파서(XML Parser)(120a-3)는 파일 매니저(120a-1)와 공동작업을 수행하며, 유저에 의해 입력된 정보를 가상 객체(VO)를 나타내는 XML 요소로 변경하거나 그 반대로 변경하기 위한 인터페이스 역할을 수행한다.
기능적으로, XML 파서(XML Parser)(120a-3)는 디바이스 정보 클래스(DeviceInformation class)를 가상 객체(VO)들의 생성을 위한 템플릿으로 사용한다.
다음으로, 도 3은 도 2의 가상 객체 매니저(120a)의 작동 흐름도를 나타낸다. 도 3을 참조하면, 도 3에 도시된 시퀀스 모델은 유저 명령을 수행하기 위한 시스템 내부 구성요소 사이의 메시지 교환 형태에서의 상호작용뿐만 아니라, 인터페이스 구셩요소와 사용자 간의 상호작용을 나타낸다.
상호작용의 시퀀스는 가상 객체 매니저(120a)에 의해 개시(start)되며, 가상 객체 매니저(120a)에 의한 시퀀스 개시를 위해 유저 인터페이스 및 통신 매니저(120a-2) 등을 포함하는 모든 구성요소 초기화된 상태에 있어야 한다.
메인 인터페이스(120a-4)는 모든 가상 객체들(VOs)를 위한 뷰(view)를 제공하여, 가상 객체 매니저(120a)를 통해 파일 매니저(120a-1)에게 XML 저장소(XML repository)(120a-5)로부터 가상 객체(VO)와 관련된 데이터를 읽도록 요청한다.
읽어진 데이터는 XML 파서(120a-3)에 의해 파싱되고, 가상 객체(VO)와 관련된 정보는 인터페이스(120a-4)를 통해 출력되기 위해 가상 객체 매니저(120a)에게 제공된다.
이에 따라 유저는 가상 객체 매니저(120a)의 제어에 따라 인터페이스(120a-4)를 통해 가상 객체들(VOs)과 상호작용할 수 있다. 이때, 상호작용한 가상 객체(VO)는 유저가 시퀀스 모델에서의 행위와 관련된 상호작용한 것을 의미한다.
유저에 의한 인터페이스상에 표시된 다수의 가상 객체(VO) 중 하나를 가상 객체(VO)를 선택이 완료되면, 선택된 가상 객체(VO) 정보가 인터페이스 뷰를 통해 유저에게 재차 표시된다. 이후, 유저는 필요한 경우, 가상 객체(VO)에 대한 편집과 업데이트 중 적어도 하나 이상을 선택 과정을 수행할 수 있다.
한편, 편집된 가상 객체(VO)를 저장하기 위해, 인터페이스 뷰에 표시된 정보를 미리 설정된 포맷으로 변환되기 위해 XML 파서(120a-3)로 가상 객체 매니저(120a)의 제어에 의해 전달되며, 파일 매니저(120a-1)는 포맷 변환된 가상 객체를 XML 저장소(120a-5)로 기록한다. 삭제 과정도 또한 동일한 방식으로 수행될 수 있다.
통신 매니저(120a-2)는 원격 클라이언트서비스 컨트롤 관리자(SCM)로부터 입중계 접속(incoming connections)을 감지함으로써, 서버 쓰레드(server thread)로 동작한다. 즉 접속 요청 수신에 따라 통신 매니저(120a-2)는 클라이언트에게 보내진 가상 객체(VO) 정보를 가상 객체 매니저(120a)에게 요청할 수 있다.
도 4는 도 1의 IoT 네트웍 시스템 기반의 서비스 콤포지션 매니저(Service Composition Manager)(130a)의 동작을 설명하기 위한 블록도이다. 도 4를 참조하면, 콤포지션 매니저(130a)의 메인 클래스들, 그리고 각 클래스 사이의 관계 및 연계 과정을 전체적으로 도시하고 있다.
여기서, 폼(Form)(130a-1), 탭콘트롤(TabControl)(130a-2) 그래고 탭페이지(TabPage)(130a-3) 클래스는 각각 시각 콘트롤을 위한 표시 가능한 윈도우와 컨테이너들로서 작동하는 .Net built-in 클래스들(classes)인 것이 바람직하다.
구체적으로 살펴보면, 디바이스모듈(DeviceModule)(130a-4) 클래스는 가상 객체들(VOs)의 입력과 출력을 위한 가상 표현 수행을 위해 제공되며, 도 4에는 디바이스모듈(DeviceModule)(130a-4)과 입력모듈(OutputModule)(130a-5), 출력모듈(OutputModule)(130a-6), 그리고 디바이스모듈(DeviceModule)(130a-4) 사이의 특화된 관계를 나타낸다.
여기서 입력 디바이스를 압력 센서로, 출력 디바이스를 LED로 표현하는 실제 클래스들은 각각 입력모듈(OutputModule)(130a-5) 및 출력모듈(OutputModule)(130a-6) 클래스들로부터 얻을 수 있다. 이러한 각 입력 또는 출력 디바이스 표현 클래스들은 사용자 속성과 관련된다.
디바이스모듈(DeviceModule)(130a-4) 클래스는 디바이스 모듈들과 관련된 코어 프라퍼티들(core properties)의 수행과 각 디바이스 모듈의 고유 방식들을 수행하기 위한 I디바이스 모듈(IDeviceModule)(130a-7) 인터페이스를 작동시킬 수 있다.
또한, 디바이스모듈(DeviceModule)(130a-4) 클래스는 가상 디바이스들을 복제 가능하게 생성하기 위한 I클론에이블(ICloneable)(130a-8) 인터페이스를 작동시킬 수 있다.
여기서, I클론에이블(ICloneable)(130a-8)에 제공되는 인터페이스는 유저가 웹 브라우저 위에서 디스플레이 되는 비트맵 2D 그래픽 영역인 캔버스에 모듈을 드래그 하는 경우, 선택된 모듈을 복제하는데 사용될 수 있다.
즉, LED 클래스와 같은 개별적인 디바이스 가상 객체(VO) 모듈은 LED뷰(LEDView)와 LED 세팅(LEDSettings) 클래스 형태를 갖는 뷰 및 세팅 클래스를 포함할 수 있다. 이러한 LED뷰(LEDView) 와 LED 세팅(LEDSettings) 클래스들은 도 4에 도시된 디바이스뷰(DeviceView)(130a-9) 클래스 및 디바이스세팅(DeviceSettings)(130a-10) 클래스로부터 특화된 클래스들일 수 있다.
디바이스뷰(DeviceView)(130a-9) 클래스는 에디터에서 상세한 뷰 탭 형태의 선택된 모듈의 특성을 나타내기 위한 작업 영역 클래스에 해당한다. 유사하게, 디바이스세팅(DeviceSettings)(130a-10) 클래스는 속성들과 파라미터들을 세팅하기 위한 양식을 제공할 수 있다.
메인프로세스(MainProcess)(130a-11) 클래스는 호스트의 작업을 도와주기 위해 설치되는 독립된 데이터베이스 전용 처리기인 메인 백 엔드 프로세스(main back end process)로 동작하며, 싱글톤 클래스(singleton class)로서 수행되는 것이 바람직하다.
그 밖의 도 4에서 도시된 다른 클래스들은 공용 인터페이스를 통해 메인프로세스(MainProcess)(130a-11)와 동일한 인스턴스(instance)를 사용한다. 본 발명에서의 인스턴스는 UI 프레임워크에서 정의된 데이터 타입에 따라 물리적인 메모리를 할당받아, 프로그램에서 접근 및 실행이 가능하게 된 객체일 수 있다.
또한, 메인프로세스(MainProcess)(130a-11) 클래스는 디바이스모듈(DeviceModule)(130a-4) 클래스와 워크스페이스(WorkSpace)(130a-12) 클래스의 리스트를 점검한다. 여기서 스페이스(Space)(130a-13) 클래스는 워크스페이스(WorkSpace)(130a-12) 클래스의 상위 클래스이며, 파일 시스템뿐만 아니라, 메모리 상에서 객체들을 저장 목적을 위한 XML 데이터로의 전환을 위한 XML 직렬화(XmlSerialization)(130a-11a) 클래스를 활용한다.
스페이스(Space)(130a-13) 클래스는 데이터 스페이스의 저장과 관련된 인터페이스들을 포함한 I워크스페이스(IWorkspace)(130a-14), 실행 취소(Undo)/다시 실행(Redo) 기능을 제공하기 위한 현재의 스페이스의 유지와 관련된 I스페이스UndoRedo(IspaceUndoRedo)(130a-15)를 실행시킬 수 있다.
기능성 에디터에서 도시된 입력 모듈과 출력 모듈 사이에서 형성된 조인Join, 병렬 경로의 합류)에 대한 정보를 유지하기 위해, 스페이스(Space)(130a-13) 클래스는 조인인포(JoinInfo) 클래스(130a-16)의 리스트를 갖는 것이 바람직하다.
이러한 조인인포(JoinInfo) 클래스(130a-16)의 리스트는 현재의 프로젝트와 관계된 병렬 경로의 합류들에 대해서 알기를 원하는 워크스페이스(WorkSpace)(130a-12)에 의해 사용된다.
유사하게 각 워크스페이스(WorkSpace)(130a-12) 객체는 정해진 서비스 콤포지션 프로젝트의 작업 영역에 나타난 입력 모듈과 출력 모듈을 표현하기 위한 디바이스콘텐츠(DeviceContents)(130a-17) 및 콘텐츠(Contents)(130a-18) 클래스를 사용하는 디바이스데이터(DeviceData)(130a-19) 클래스의 객체를 갖는다.
디바이스패널(DevicePanel)(130a-20), 워크패널(WorkPanel)(130a-21) 그리고 워크영역(WorkArea)(130a-22) 클래스들은 유저컨트롤(UserControl)(130a-23) 클래스로부터 파생된 구조를 갖는다. 이러한 클래스들은 각 프로젝트들을 위한 그래픽 유저 인터페이스(UI)를 제공하는데 사용한다. 여기서 각 프로젝트들은 탭컨트롤(TabControl)(130a-2) 클래스를 위해 확장된 KRBT탭컨트롤(KRBTTabControl)(130a-2a)에서 탭들로 탭페이지Ex(TabPageEx)(130a-2b)의 객체를 표시하기 위한 것을 의미한다.
탭페이지Ex(TabPageEx)(130a-2b)는 닫힘 가능한 탭페이지의 제공을 위한 탭페이지(TabPage)(130a-3) 클래스의 확장된 버전에 해당한다.
KRBT탭컨트롤(KRBTTabControl)(130a-2a)는 비쥬얼 컨트롤과 구성요소를 위한 표시가능한 메인 컨테이너에 해당하는 메인폼(130a-1a)의 일부에 해당한다.
한편, 트래쉬(Trashbin)(130a-24) 클래스는 에디터의 작업 영역에 표시된 모듈을 삭제하기 위한 기능을 제공하기 위해 워크패널(130a-21)과 함께 작업한 쓰레기통(waste bin)을 그래픽으로 표현할 수 있는 작용을 수행한다.
도 5는 서비스 콤포지션 매니저(Service Composition Manager)(130a)를 사용한 서비스 플로우의 설계 또는 구성을 위한 과정을 나타낸다. 도 5를 참조하면, 먼저 유저가 메인 그래픽 유저 인터페이스(GUI)를 실행하여 새로운 프로젝트를 생성한다.
보다 구체적으로 도 5에서 표기된 제 1 영역(1st)은 유저가 새로운 프로젝트를 초기화하는 경우 서비스 콤포지션 매니저(Service Composition Manager)(130a)의 다양한 내부 구성요소 중에서 상호작용 시퀀스를 나타내며, 제 1 영역의 시퀀스는 메인프로세스(MainProcess)(130a-11)의 초기화를 수행하지 않는다.
이러한 이유는 에디터는 이미 초기화되었고 유저가 프로세스를 시작하기 위한 새로운 프로젝트 버튼을 클릭할 수 있는 스크린에 이미 Frm메인(FrmMain)(130b) 컨테이너가 표시되었기 때문이다.
다시 도 5를 참조하면, Frm메인(FrmMain)(130b)에서 새로운 프로젝트 버튼에 대해서 사용자가 클릭하면, Frm메인(FrmMain)(130b)은 createWorkArea() 기능을 호출하며, CreateSpace() 메시지를 메인프로세스(MainProcess)(130a-11)로 전송한다.
메인프로세스(MainProcess)(130a-11)는 워크스페이스(WorkSpace) 클래스의 객체를 생성하고, 생성된 객체를 Frm메인(FrmMain)(130b)로 반환한다.
그러면 Frm메인(FrmMain)(130b)는 새로운 워크스페이스 객체를 메인프로세스(MainProcess)(130a-11)의 수집 스페이스로 추가하고, CreateSpace() 메시지에 따라 새롭게 생성된 워크스페이스 객체를 워크영역(WorkArea)(130a-22)로 전달함으로써, 워크영역(WorkArea)(130a-22) 객체를 생성하도록 한다.
이때, 워크영역(WorkArea)(130a-22) 클래스는 서비스 컨트롤 관리자(SCM)를 위한 캔버스를 도시하기 위해 실제로 작동하는 워크패널(WorkPanel)(130a-21) 객체와 관련된다.
또한, 워크영역(WorkArea)(130a-22) 클래스는 서비스 디자인을 생성하기 위한 워크영역에 유저에 의해 드래그&드롭(drag-n-drop)을 수행할 수 있도록 하는 디바이스 모듈 블록들을 표시하기 위한 입력 및 출력 패널들을 생성할 수 있다.
Frm메인(FrmMain)(130b)에 워크영역 객체를 표시하기 위해, 워크영역(WorkArea)(130a-22) 클래스는 탭페이지Ex(TabPageEx)(130a-2b)로 불리는 확장된 탭페이지 객체 수집 제어 기능도 수행한다.
여기서 탭페이지 객체는 탭콘트롤 상에서 새로운 탭으로 표시되며, 모든 툴바 제어들은 인에이블컨트롤(enableControls) 메시지를 사용하여 새로운 프로젝트이 생성된다. 이때, 유저는 기능 프로우를 생성하기 위한 가상 객체들을 드래그&드롭할 수 있는 새로운 프로젝트 탭을 확인할 수 있다.
새로운 프로젝트가 초기화되면, 유저는 워크 영역으로 입력 또는 출력 가상 객체(VO)를 드래그&드롭을 수행하기 위한 개시(strat)가 가능하다.
워크 영역이 관련된 워크패널(WorkPanel)(130a-21) 콘트롤을 수용하는 경우, 유저에 의해 드롭된 가상 객체(VO)를 위한 그래픽 표현이 패널에 도시된다.
다음으로 도 5에서 제 2 영역(2nd)을 참조하여 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130) 상에서 가상 객체(VO)에서 서비스 객체(SO)로의 맵핑 시퀀스를 살펴본다. 상술한 패널에서 드래그&드롭에 따라, 이벤트 핸들러는 드롭된 가상 객체(VO)와 관련 데이터를 획득한 뒤, 메인프로세스(MainProcess)(130a-11)에서 디바이스 리스트에 저장된 원본으로부터 복제 객체를 생성한다.
복제 객체는 부모 클래스 스페이스를 통해 각 워크스페이스에서 관리되는 디바이스 리스트에 추가된다. 부모 클래스는 실행 취소(Undo)/다시 실행(Redo)을 관리를 위한 스택 구현을 갖는 것이 바람직하다.
이러한 워크스페이스(Workspace)(130-12) 클래스는 XMLSerializer 인스턴(instance)를 생성하고, 파라미터로 자신의 레퍼런스를 갖는 XMLSerializer(130a-11a)로 MemorySerializeCollection 수행을 요청한다.
이에 따라, XMLSerializer(130a-11a) 클래스는 워크 스페이스 객체와 연관된 모든 데이터를 획득하고, 획득된 데이터를 XML 포맷으로 변경한 뒤, 그것을 바이트 데이터로(byte data) 메모리 버퍼에 저장한다.
한편, 바이트 데이터 버퍼의 레퍼런스는 워크스페이스(Workspace)(130-12) 클래스로 반환된다.
여기서 바이트 데이터 버퍼는 실행 취소(Undo) 스택에 푸쉬 입력되며, 디바이스 리스트는 업데이트되며, 워크패널(WorkPanel)(130a-21)는 업데이트 플로우를 생성하기 위해 무효화된다.
이러한 시퀀스는 사용자에 의해 매일 새로운 디바이스 모듈이 워크 패널로 드롭되는 경우 반복수행된다.
하나의 프로젝트에서 워크패널에 오로지 한 번 디바이스 모듈이 드form 되는 경우 하나의 사물만이 메모될 수 있으나, 이는 생성된 플로우들의 간결성을 위한 초기화 정책에 기인하며, 설정에 따라 변경될 수 있다.
다음으로 도 5에서 제 3 영역(3rd)을 설명하면, 유저는 입력 디바이스 모듈을 다수의 출력 모듈에 참가시킬 수 있다. 이를 위해, 유저는 워크패널(WorkPanel)(130a-21)에 이미 생성된 입력 가상 객체(VO)에 왼쪽 마우스 버튼을 클릭하여 눌려야 한다. 사용자가 왼쪽 버튼을 누르고 있는 상태에서 마우스를 움직이면, 워크패널(WorkPanel)(130a-21)은 조인(join)이 그려진 시작 위치를 획득하기 위해 조인인포(JoinInfo)(130a-16) 클래스의 정적 방식을 호출한다. 조인(Join)을 도시하기 위해, 베지어 라인(Bezier line)은 조인(Join)의 시작 위치로부터 마우스 포인터까지 그려진다.
마우스 포인터가 가상 객체(VO) 영역까지 입력되면, 정적 방식에 의해 다시 조인의 종료 위치까지 연산되며, 조인이 워크패널(WorkPanel)(130a-21)에 표시된다.
이때, 유저가 마우스 버튼의 누른 상태를 제거하면, 조인인포(JoinInfo) 클래스(130a-16) 오브젝트는 입력 및 출력 디바이스 모듈의 정보와 함께 생성되며, 조인인포(JoinInfo) 클래스(130a-16) 오브젝트는 워크스페이스 객체에 의해 관리되는 조인 리스트에 추가된다. 그려진 라인이 삭제된다. 조인(Join)이 생성되면, 유저는 행위를 설정하기 위해 즉, 관련된 피지컬 사물을 위한 이용가능한 기능을 선택하기 위해 조인을 더블 클릭하거나 개별적으로 가상 객체(VO)를 더블 클릭할 수 있으며, 다른 파라미터들도 설정할 수 있다. 이때 관련된 데이터는 조인인포(JoinInfo)(130a-16)의 형태로 서비스 객체(Service Objects, SO)의 일부로 저장되고, 완성된 서비스 객체(SO)는 입력 및 출력 가상 객체들(VOs)의 결합에 의해 생성된다.
도 6은 본 발명의 실시예에 따른 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에서의 주요 구성요소를 나타내는 정적 구조로, 프로세스 모델링을 설명하기 위한 도면이다.
도 6을 참조하면, 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)의 목적은 서비스 콤포지션 레이어(Service Composition Layer, SCL)(130)에서 생성된 서비스 객체(SO)를 활용하고, 서비스 객체(SO)를 유저에게 비지니스 프로세스 모델링 노테이션(business process modelling notations) 형태로 표현하기 위함이다.
비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에서 가장 중요한 구성요소는 비지니스 프로세스 디자인 매니저(business process design manager)(140a)이다. 비지니스 프로세스 디자인 매니저(business process design manager)(140a)는 BPM 에디터(140a-1)를 포함하며, BPM 에디터(140a-1)는 툴바(Toolbar)(140a-2),툴박스(Toolbox)(140a-3),디자이너캔버스(DesignerCanva)(140a-4)를 포함하는 메인 윈도우(140a-5)에 해당한다.
툴바(Toolbar)(140a-2)는 아이템컨트롤(itemControl)(140a-2a) 클래스에서 분기된 콤포넌트 패널이다. 이런 패널에는 서비스 콤포지션 레이어(130)에서 획득된 서비스 객체(SO)에 대응하는 비지니스 프로세스 모델링 노테이션 형태의 시각적 표현이 나타난다.
툴바(Toolbar)(140a-2) 콤포넌트는 사용자에 의한 드래그&드롭 디자인을 수행하기 위한 기초적인 드로잉 명령들과 작동을 수행한다. 여기서 드로잉 명령들은 실행, 실행 취소(Undo) 동작, 복사, 붙이기 동작, 그룹 및 그룹 해제 동작 등을 의미한다.
커넥션(connection)(140a-6) 클래스와 이와 연계된 커넥션어도너(ConnectionAdorner)(140a-7) 클래스는 프로세스 과정 사이에서 플로우 시퀀스를 표현하는 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN) 아이템들 사이의 연결 라인을 도시하기 위해 사용된다.
도 7은 도 6의 구성요소를 기반으로 본 발명의 실시예에 따른 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에서의 동작 시퀀스를 나타내는 흐름도이다.
도 7을 참조하면, 비지니스 프로세스 레이어(Business Process Layer, BPL)(140)에서의 동작은 서비스 콤포지션 레이어(130)로부터 서비스 객체들(SOs)의 획득 과정을 포함하며, 서비스 객체들(SOs)을 비지니스 프로세스 모델링 노테이션으로의 맵핑을 포함하여 유저를 위해 서비스 객체들(SOs)을 프로세스 모델로 변환하고 최종적으로 프로세스를 수행하도록 한다.
도시된 서비스 컨트롤 관리자(SCM) 통신 매니저(140c)는 비지니스 프로세스 레이어(140)의 주요 구성요소인 BPM 에디터(140a-1)로부터 커넥션 요청을 대기한다.
커넥션이 성공적으로 연결되면, 서비스 객체 스테이트 저장소(SO State Repository)(140d)에서 이용가능한 서비스 객체들(SOs)은 XML 인포 객체의 형태로 획득되어 비지니스 프로세스 레이어(Business Process Layer)(140)로 전달된다.
획득된 서비스 객체들(SOs)는 비지니스 프로세스 모델링 노테이션으로 유저에게 표현되기 위해 XML 파서(XML Parser)(140f)에 의해 파싱된다. 유저는 시각적으로 구현 적용된 비지니스 프로세스 모델링 노테이션을 활용해 드래그&드롭 동작에 의해 프로세스 모델을 생성한다.
이때, 유저가 프로세스 모델 생성 과정들 중간에 미리 설정된 동작 룰 또는 조건들에 따라 프로세스 콤포넌트를 드로잉하고, 커넥션 노테이션을 통해 프로세스 콤포넌트를 연결하는 과정을 수행할 수 있다.
이러한 과정을 통해 프로세스 모델이 완성되면, 프로세스 객체가 생성된다. 프로세스 객체는 비지니스 프로세스 레이어(140)에서 디플로이먼트 엔진(Deployment Engine)(또는 디플로이먼트 매니저)(140e)을 통해 전개가능한 개체이다.
이러한 전개된 프로세스 객체(deployed process object)는 서비스 객체를 구성하는 서비스들에 기초하여 일련의 동작으로 변경될 수 있는 것들이다.
여기서, 디플로이먼트 엔진(Deployment Engine)(140e)은 프로세스 객체의 일부로 서비스들과 상호작용하며, 생성된 프로세스 객체는 분리된 쓰레드(thread)로 실행되어 다양한 프로세스 객체들이 동시에 수행될 수 있다.
한편, 도 8은 IoT 네트웍 어플리케이션 구성 시스템의 개념을 나타내는 참조도면이다. 도 8을 참조하면, 제안된 시스템의 프로토타입 실행 화면으로, 도 8에 도시된 각 세부항목은 개별적인 콤포넌트를 나타내며, 기능적으로 분류될 수 있다.
다음으로, 도 9는 가상 객체 매니저(VOM)(120a)에 의해 구현된 UI 화면과 가상 객체(VO)의 XML 표현을 나타내는 도면이다. 도 9를 참조하면, 저장된 가상 객체들(VOs)의 데이터에 대한 XML 표현을 나타내며, 가상 객체 매니저(VOM)(120a)는 유저들에게 IoT 네트웍 리소스들의 행위를 암호화할 수 있는 것이 바람직하다.
가상 객체 매니저(VOM)(120a)는 IoT 네트웍 리소스 데이터를 시각적 표현으로 연계시킴으로써, 가상 객체(VO)가 보다 직관적인 방식으로 상호 작용하고 조작될 수 있도록 한다.
이런 목적을 위해 두 가지의 다른 접근 방식이 유용하게 사용될 수 있다. 첫 번째 접근 방식은Uniform Resource Identifier(URI), 위치, 타입 그리고 서비스들의 형태의 IoT 네트웍 리소스에 관한 상세한 제공이 이루어지는 수동적인 방식일 수 있다. 이런 방식에서 제공된 프로토콜들을 수행하는 디바이스가 시스템에 리소스로서 추가될 수 있다.
다른 접근 방식은 가상 객체 매니저(VOM)(120a)가 원격의 디바이스의 URI를 제공받은 뒤, CoAP 프로토콜의 수행된 서비스를 통하는 방식으로, 가상 객체 매니저(VOM)(120a)는 자동으로 디바이스로부터 필요한 정보를 추출한다. 그러나 이러한 방식은 자동으로 수행되어 편리한 장점이 있으나, 미리 정해진 목적을 위해 시스템에서 특정된 서비스 수행을 위해 구비된 특정 디바이스들에게만 유용할 수 있는 단점이 있다.
도 10은 서비스 콤포지션 매니저(Service Composition Manager)(130a)에 의해 구현된 UI 화면과 가상 객체(VO)의 XML 표현을 나타내는 도면이다.
도 10을 참조하면, 서비스 콤포지션 매니저(Service Composition Manager)(130a)는 서비스 콤포지션 레이어(130)에서의 주요 모듈에 해당한다. 서비스 콤포지션 매니저(Service Composition Manager)(130a)는 유저에게 쉽게 시각화하고 가상 객체 매니저(VOM)(120a)에 의해 생성된 가상 객체들(VOs)과 상호 작용 및 조작을 허여하는데 그 주요 목적이 있다.
이러한 목적을 수행하기 위해 센서 가상 객체들(VOs)과 액츄에이터 가상 객체들(VOs)은 입력과 출력 모듈로 분리되어 표현될 수 있다. 이러한 모듈들은 윈도우 운영체제의 마우스 이벤트들을 통해 캔버스 상에 직접적으로 드래그&드롭 되도록 구현할 수 있다. 캔버스에 구현된 가상 객체(VO) 모듈들은 입력 가상객체들(VOs)과 출력 가상객체들(VOs) 사이를 연결하여 표현된 간단한 조인 라인들로 표시될 수 있으며, 유저는 조인된 가상 객체들(VOs)에 대한 동작의 룰을 세팅하기 위한 직관적인 마우스 이벤트를 사용할 수 있다.
그리고, 서비스 콤포지션 매니저(Service Composition Manager)(130a)에서의 입력 가상 객체들(VOs)과 출력 가상 객체들(VOs)의 조인은 서비스 객체(SO)를 생성하는데, 이러한 서비스 객체들(SOs)은 서비스 객체(SO)의 일부로서 입력 가상 객체(VO) 및 출력 가상 객체(VO)를 개별적으로 표현하는 XML 문서들로 저장될 수 있다.
또한 가상 객체들(VOs) 사이의 연결은 해당 연결을 위한 소스(source) 및 싱크(sink) 개체를 특정한 조인 노드의 형태로 XML 문서로 표현될 수 있다. 이에 따라 유저의 요청에 따라 객체들(VOs)이 저장되거나, 열리거나 업데이트될 수 있다.
도 11은 BPM 에디터(140a-1)에 의해 구현된 UI 화면과 가상 객체(VO)의 XML 표현을 나타내는 도면이다. 도 11을 참조하면, BPM 에디터(140a-1)는 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)으로 서비스 콤포지션 매니저(Service Composition Manager)(130a)에서 생성되는 서비스 객체들(VOs)의 표현을 담당한다. BPM 에디터(140a-1)을 위한 메인 인터페이스는 도 11에 도시되어 있다.
BPM 에디터(140a-1)는 IoT 네트웍 어플리케이션들을 생성하고 전개하기 위한 노테이선의 기초 지식을 누구라고 인터페이스를 통해 제공받기 위해 서비스 객체들의 표현에 기초한 비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)을 제공하는데 목적이 있다.
또한, BPM 에디터(140a-1)는 유저가 그래픽 모델을 생성해야 하는 프로그래밍 스킬의 요구를 제거할 수 있으며, IoT 네트웍 어플리케이션으로 직접적으로 전개할 수 있도록 한다.
비지니스 프로세스 모델링 노테이션(Business Process Modeling Notations, BPMN)은 베이직 이벤트, 태스크, 게이트웨이, 스크립트 노테이션을 포함한 프로토타입 시스템의 일부로서 수행될 수 있으며, 서비스 오브젝트들은 태스크(task)로서 표현되고, 유저가 드래그&드롭 접근 방식을 통해 모델을 생성할 수 있다.
이러한 동작의 시퀀스는 목적 객체들을 통한 노테이션들의 연결에 의해 생성되며, 동일한 목적 객체들은 모델에서의 입력 및 출력 노테이션들에 관한 정보를 획득하기 위해 사용된다.
게이트웨이 노테이션은 스크린트 노테이션이 데이터를 유저가 조작하거나 프로세스를 진행하도록 선택되기 위해 스크립트 리스트로 제공되는 한 결정 툴로서 수행된다.
유저에 의해 생성된 비지니스 프로세스 모델의 XML 구현에 있어서, XML 샘플은 디자인아이템 객체들(DesignerItem objects)로 태스크 및 다른 노테이션을 표현하는 것으로 도 11에 도시되어 있다. 또한, 도 11에서 도시된 모델에서 소스(source) 및 싱크(sink) 아이템의 트랙을 유지하기 위한 커넥션 객체들이 포함된 것을 알 수 있다.
도 12는 BMP 디플로이먼트 엔진(Deployment Engine)(140e)또는 BMP 디플로이먼트 매니저(BMP Deployment Manager)에 의해 구현된 UI 화면을 나타내는 도면이다. 도 12를 참조하면, BMP 디플로이먼트 매니저(BMP Deployment Manager)(140e)에 의해 구현된 UI 화면뿐만 아니라, BPM 에디터(140a-1)를 통해 생성된 동일한 모델의 테스트의 결과를 나타낸다.
BMP 디플로이먼트 매니저(BMP Deployment Manager)(140e)는 BPM 에디터(140a-1)에 의해 생성되어 XML 문서로 저장된 다양한 IoT 네트웍 리소스들 사이의 관계에 대해서 프로세스 모델로 표현한다.
이러한 XML 문서들은 BMP 디플로이먼트 매니저(140e)에 로드(load)되어 실행되어 진다. 도 12에 도시된 프로토타입 구현은 CoAP 구현과 함께 IoT 네트웍 리소스들을 고려하므로, 디플로이먼트 매니저(140e)는 자바를 사용하여 구현된다. 이에 따라, IoT 네트웍 리소스들이 Californium framework을 사용하여 구현될 수 있다.
생성된 프로세스 모델을 실행하기 위해, 첫번 째로 XML 문서는 BMP 디플로이먼트 매니저(140e)에 의해 파싱된 뒤, 관련된 개체들이 추출된다. 관련 개체들이 추출되면 프로세스 모델의 플로우에 따라 소팅되어 리스트에 저장되며, 리스트는 반복 생성되며, 각 개체는 속성 및 행위에 기초하여 수행된다.
원격 IoT 네트웍 리소스들과 관련된 태스크를 위해 CoAP 서비스들은 상술한 Californium framework을 사용하여 호출된다. 호출에 대한 응답은 읽혀지고, 특정 태스크 노테이션과 직접적으로 연결된 다른 노테이션에 입력으로서 제공된다.
참고로, BMP 디플로이먼트 매니저(140e)의 일부로서 수행되는 스크립트들은, 데이터가 원격의 IoT 네트웍 리스소와 같은 다른 개체에 의해 제공되는 동안 매니저에 의해 관리자에 의해 수행될 수 있다.
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록 장치를 포함한다.
컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD-ROM, 자기테이프, 플로피 디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어, 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고 본 발명을 구현하기 위한 기능적인(functional) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술 분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
이상과 같이, 본 명세서와 도면에는 본 발명의 바람직한 실시예에 대하여 개시하였으며, 비록 특정 용어들이 사용되었으나, 이는 단지 본 발명의 기술 내용을 쉽게 설명하고 발명의 이해를 돕기 위한 일반적인 의미에서 사용된 것이지, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예 외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.
110 : 피지컬 레이어(physical layer)
120 : 가상 객체 레이어(Virtual Object Layer, VOL)
120a : 가상 객체 매니저(Virtual Object Manager, VOM)
130 : 서비스 콤포지션 레이어(Service Composition Layer, SCL)
130a : 서비스 콤포지션 매니저(Service Composition Manager, SCM)
140 : 비지니스 프로세스 레이어(Business Process Layer, BPL)
140a : 비지니스 프로세스 디자인 매니저(Business Process Design Manager, BPDM)
120 : 가상 객체 레이어(Virtual Object Layer, VOL)
120a : 가상 객체 매니저(Virtual Object Manager, VOM)
130 : 서비스 콤포지션 레이어(Service Composition Layer, SCL)
130a : 서비스 콤포지션 매니저(Service Composition Manager, SCM)
140 : 비지니스 프로세스 레이어(Business Process Layer, BPL)
140a : 비지니스 프로세스 디자인 매니저(Business Process Design Manager, BPDM)
Claims (4)
- 비즈니스 프로세스 관리와 관련된 다이어그램 언어 솔루션을 기반으로 프로그램 언어에 대한 기초 지식이 없어도 쉽게 인터페이스를 제공받을 수 있도록 하기 위한 IoT 네트웍 시스템에 있어서,
IoT 네트웍과 관련된 사물을 구성하기 위한 계층인 피지컬 레이어(110);
상기 피지컬 레이어(110)에서의 사물을 가상객체(VO)로 표현하며, 가상 객체(VO)를 관리하기 위한 계층인 가상 객체 레이어(VOL)(120);
상기 사물은 IoT 네트웍 환경 및 주위에서 발생하는 미리 설정된 현상에 대한 제어 데이터를 탐지하며,
상기 가상 객체 레이어(VOL)(120)에서의 가상 객체(VO)에 대해서 두 개 이상의 가상 객체(VO)의 조합에 의해 서비스 객체(SO)를 생성하는 서비스 콤포지션 레이어(SCL)(130); 및
상기 각 서비스 객체(SO)가 생성되면, 하나의 단위의 서비스 객체에 대해서 하나의 시나리오를 위한 유저가 원하는 프로세스의 플로우를 형성하며, 서비스 객체(SO)들의 조인 기반의 모델을 수행하기 위해 비지니스 프로세스 모델링 노테이션(BPMN)을 활용하는 비지니스 프로세스 레이어(BPL)(140)를 포함하며,
상기 프로세스의 플로우는 비지니스 프로세스 레이어(BPL)(140)에서 개별적인 서비스 객체(SO)에 의해 정의되는 기능을 수행하도록 동작하며, 실제 상호 작용으로 개별적인 가상 객체(VO) 간에 암호화된 행위에 기초한 피지컬 객체(PO)를 직접적으로 수행하는 것을 특징으로 하는 IoT 네트웍 시스템.
- 청구항 1에 있어서, 상기 가상 객체(VO)는 피지컬 레이어(110)의 사물과 관련된 정보를 요약 또는 압축적으로 제시하며, 유저에게 IoT 네트웍 시스템 환경 내부의 가상 객체(VO)에 대한 조작이 가능하도록 하며, 가상 객체(VO)로 표현되는 피지컬 레이어(110)에서의 사물의 환경으로의 액세스가 가능하도록 하는 것을 특징으로 하는 IoT 네트웍 시스템.
- 청구항 1에 있어서, 서비스 객체(SO)는 입력 가상 객체(VO)로 온도 센서 가상 객체(VO), 그리고 출력 가상 객체(VO)로 LED 가상 객체(VO)의 결합으로 형성되는 것을 특징으로 하는 IoT 네트웍 시스템.
- 청구항 1에 있어서, 가상 객체 레이어(VOL)(120)는 유저들이 가상 객체(VO)들을 등록하기 원하는 피지컬 레이어의 사물과 관련된 정보를 입력하기 위한 로컬 또는 원격 인터페이스 클래스들의 구성요소를 사용자에게 제공하는 가상 객체 매니저(VOM)(120a)를 구비하는 것을 특징으로 하는 IoT 네트웍 시스템.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170004553A KR101748548B1 (ko) | 2017-01-11 | 2017-01-11 | IoT네트웍 시스템 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170004553A KR101748548B1 (ko) | 2017-01-11 | 2017-01-11 | IoT네트웍 시스템 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101748548B1 true KR101748548B1 (ko) | 2017-06-27 |
Family
ID=59514673
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170004553A KR101748548B1 (ko) | 2017-01-11 | 2017-01-11 | IoT네트웍 시스템 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101748548B1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388146A (zh) * | 2018-02-01 | 2018-08-10 | 东南大学 | 一种基于信息物理融合的三维装配工艺设计系统及运行方法 |
KR20190043872A (ko) * | 2017-10-19 | 2019-04-29 | 에스케이텔레콤 주식회사 | 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치 |
WO2020040396A1 (ko) * | 2018-08-23 | 2020-02-27 | 제주대학교 산학협력단 | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 |
WO2020251331A1 (ko) * | 2019-06-13 | 2020-12-17 | 제주대학교 산학협력단 | 사물인터넷의 자원과 서비스 관리 시스템 및 방법, 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100884624B1 (ko) | 2008-05-07 | 2009-02-23 | 주식회사 리앙시스템즈 | 룰 기반의 사용자 인터페이스 통합 플랫폼 시스템 |
KR101493166B1 (ko) | 2013-08-22 | 2015-02-16 | 한국과학기술원 | IoT 환경에서 가상화된 객체의 인스턴스를 관리하기 위한 웹 기반 사용자 인터페이스를 제공하는 서비스 방법 및 시스템 |
-
2017
- 2017-01-11 KR KR1020170004553A patent/KR101748548B1/ko active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100884624B1 (ko) | 2008-05-07 | 2009-02-23 | 주식회사 리앙시스템즈 | 룰 기반의 사용자 인터페이스 통합 플랫폼 시스템 |
KR101493166B1 (ko) | 2013-08-22 | 2015-02-16 | 한국과학기술원 | IoT 환경에서 가상화된 객체의 인스턴스를 관리하기 위한 웹 기반 사용자 인터페이스를 제공하는 서비스 방법 및 시스템 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190043872A (ko) * | 2017-10-19 | 2019-04-29 | 에스케이텔레콤 주식회사 | 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치 |
KR102000199B1 (ko) | 2017-10-19 | 2019-07-17 | 에스케이 텔레콤주식회사 | 사물 인터넷 플랫폼 서비스 제공 방법 및 서버장치 |
CN108388146A (zh) * | 2018-02-01 | 2018-08-10 | 东南大学 | 一种基于信息物理融合的三维装配工艺设计系统及运行方法 |
WO2020040396A1 (ko) * | 2018-08-23 | 2020-02-27 | 제주대학교 산학협력단 | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 |
KR20200022698A (ko) * | 2018-08-23 | 2020-03-04 | 제주대학교 산학협력단 | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 |
KR102120548B1 (ko) * | 2018-08-23 | 2020-06-16 | 제주대학교 산학협력단 | 클라우드 기반의 IoT 네트워크 가상화 시스템 및 네트워킹 방법 |
US11805023B2 (en) | 2018-08-23 | 2023-10-31 | Jeju National University Industry-Academic Cooperation Foundation | Cloud-based IoT network virtualization system and networking method |
WO2020251331A1 (ko) * | 2019-06-13 | 2020-12-17 | 제주대학교 산학협력단 | 사물인터넷의 자원과 서비스 관리 시스템 및 방법, 그 방법을 수행하는 프로그램이 기록된 컴퓨터 판독이 가능한 기록매체 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023834B2 (en) | Collaborative design systems, apparatuses, and methods | |
KR101888472B1 (ko) | BPM 기반의 IoT DIY 시스템 및 이의 구현방법 | |
KR101748548B1 (ko) | IoT네트웍 시스템 | |
US10949074B2 (en) | Graphical user interfaces for defining complex data objects | |
US9846849B2 (en) | System and method for providing an editor for use with a business process design environment | |
Song et al. | Applying MDE tools at runtime: Experiments upon runtime models | |
Fox et al. | Overview of grid computing environments | |
Malizia et al. | Generating collaborative systems for digital libraries: A model-driven approach | |
KR101330559B1 (ko) | 자바스크립트기반 웹-클라이언트 어플리케이션 프레임워크 장치와 상기 프레임워크 장치를 이용한 웹 컨텐츠 처리 방법 및 이를 구현할 수 있는 컴퓨터로 읽을 수 있는 기록 매체 | |
KR20190130220A (ko) | 아이오티 네트웍 시스템 | |
US20120174195A1 (en) | Function module dispatcher | |
sohail Khan et al. | An intuitive Architecture for DIY IoT Application Composition as Business Process Model | |
sohail Khan et al. | Enhanced IoT Composition Architecture based on DIY Business Process Modeling: CoAP based Prototype | |
Fontes et al. | Simulation of openflow scenarios based on nsdl and ns-3 | |
Coelho | Web Platform For ETL Process Management In Multi-Institution Environments | |
Whitaker | Applying information visualization to computer security applications | |
Kuusijärvi | Interactive visualization of quality variability at runtime | |
KR20140114984A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20140114983A (ko) | 애플리케이션 개발 환경 제공 방법 | |
Burgess et al. | EMANICS Specification of the static & dynamic content for dissemination | |
KR20140115468A (ko) | 애플리케이션 환경 제공 시스템 | |
KR20140114989A (ko) | 애플리케이션 개발 환경 제공 방법 | |
KR20140114996A (ko) | 애플리케이션 개발 환경 제공 장치 | |
KR20140115457A (ko) | 애플리케이션 개발 환경 제공 프로그램을 기록한 컴퓨터로 판독 가능한 기록매체 | |
KR20140114977A (ko) | 애플리케이션 개발 환경 제공 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |