KR101602100B1 - Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things - Google Patents

Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things Download PDF

Info

Publication number
KR101602100B1
KR101602100B1 KR1020150016511A KR20150016511A KR101602100B1 KR 101602100 B1 KR101602100 B1 KR 101602100B1 KR 1020150016511 A KR1020150016511 A KR 1020150016511A KR 20150016511 A KR20150016511 A KR 20150016511A KR 101602100 B1 KR101602100 B1 KR 101602100B1
Authority
KR
South Korea
Prior art keywords
data
topic
service
type
dds
Prior art date
Application number
KR1020150016511A
Other languages
Korean (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 KR1020150016511A priority Critical patent/KR101602100B1/en
Application granted granted Critical
Publication of KR101602100B1 publication Critical patent/KR101602100B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L51/36
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/56Unified messaging, e.g. interactions between e-mail, instant messaging or converged IP messaging [CPM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a method for integrating messages of heterogeneous things based on a DDS in Internet of things. The method for integrating the messages of heterogeneous things in a distribution environment in a data distribution service (DDS) of publication/subscription model, the method comprising: classifying a type of a thing into data, an event or a service according to the function of a message of the thing transmitted/received based on the DDS; selecting a synchronous/asynchronous activation state for the data, the event or the service according to the classified type of the thing, identifying an interaction type according to the selected activation state and integrating the messages by specifying the separated interaction type to each of topics based on the DDS; and dynamically generating a DDS entity including corresponding topic to publish/subscribe in real time each of the topics of the data, the event or the service. Accordingly, the method for integrating based on contents can have a lot of things in the Internet of things organically communicate without being subjected to wired/wireless communication protocol by solving an integrating problem in terms of a network, can access through a consistent interface, and can reduce the number of DDS entities by generating one topic having several instances through a key.

Description

사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법{ Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things }A method for integrating a heterogeneous object message based on DDS on the Internet [

본 발명은 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법에 관한 것으로, 보다 상세하게는 사물 인터넷에서 사물의 메시지를 사물의 기능에 따라 데이터, 이벤트 및 서비스로 분류하고, 이렇게 분류한 데이터, 이벤트 및 서비스를 동기/비동기 방식에 따라 상호 작용 타입을 구분하여 DDS 기반의 토픽으로 명세하여 통합하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법에 관한 것이다.
More particularly, the present invention relates to a method for integrating a DDS-based heterogeneous object message on the Internet, and more particularly, to a method and system for dividing a message of an object into data, events and services according to functions of objects, Service based on DDS-based topics by separating interaction types according to synchronous / asynchronous methods. The present invention relates to a method of integrating heterogeneous object messages based on DDS in the Internet.

사물인터넷(Internet of Things, IoT)은 사물(thing)들이 유선 또는 무선 네트워크로 연결되어 유기적으로 정보를 주고받으면서 상호 작용하는 것을 의미한다. MIT의 Auto-ID 센터는 자동화와 효율 증대의 주 기술인 RFID(Radio Frequency IDentification)를 통해 센서, 액츄에이터(actuator) 등의 사물을 인터넷과 연결하는 개념으로 사물인터넷을 정의한다. 국제전기통신연합인 ITU-T(International Telecommunication Union)는 미래 인터넷은 사람뿐만 아니라 사물들이 정보를 주고받기 위해 언제, 어디서, 누구에게나 무엇이든 연결을 제공한다고 정의하며, 유럽의 통신 위원회는 사물이 사회, 환경, 사용자 콘텍스트를 통해 서로 연결하고 통신하기 위해 지능적인 인터페이스를 이용하여 식별하고 가상화하여 동작하는 것이라 정의한다.Internet of Things (IoT) means that things are connected to a wired or wireless network and interact with each other while organically exchanging information. MIT's Auto-ID Center defines the Internet of things through the concept of connecting objects such as sensors and actuators to the Internet through RFID (Radio Frequency Identification), which is the main technology of automation and efficiency enhancement. The International Telecommunication Union (ITU-T), the International Telecommunication Union, defines the Future Internet as providing connectivity to anything, anytime, anywhere, to anyone, not just people, , Environment, and user context, using an intelligent interface to communicate and communicate with each other.

사물인터넷에서 사물은 물리적으로 센서, 엑츄에이터, 디바이스 등을 의미하는데 정보를 읽거나 기록할 수 있고, 주변 환경의 정보를 측정 하거나 감지하여 통신하는 기능을 포함한다. 또한 사물은 다양한 정보를 수집하여 추가적인 처리를 위해 통신망으로 전달하는 기능을 수행하며, 통신망으로부터 전달 받은 명령을 실행한다. Objects On the Internet, objects physically refer to sensors, actuators, devices, etc., which can read or write information and include functions to measure, sense, and communicate information about the surrounding environment. The object also collects various information and transmits it to the communication network for additional processing, and executes the command received from the communication network.

도 1은 일반적인 사물 인터넷에서의 사물을 설명하는 개념도이다.1 is a conceptual diagram for explaining an object in a general object Internet.

도 1에 도시된 바와 같이, 사물의 통신은 게이트웨이를 이용한 네트워크 연결(a), 직접 네트워크 연결(b), 네트워크를 통하지 않고 사물에 직접 연결(c)하는 경우가 있다. 정보 관점에서는 하나의 물리적인 사물을 하나 이상의 가상 사물(virtual thing)로 표현하여 정보를 저장, 처리, 접근할 수 있고, 물리적인 사물과 관계없이 가상의 사물로 존재할 수 있다.As shown in Fig. 1, there are cases where the communication of objects is directly connected to a network connection (a) using a gateway, a direct network connection (b), and an object without going through a network (c). From the viewpoint of information, one physical object can be represented as one or more virtual thing, and information can be stored, processed, and accessed, and can exist as a virtual object regardless of physical objects.

사물인터넷에서 가상의 사물이 센서, 액츄에이터, 디바이스 등의 물리적인 사물과 통신하기 위해서는 표준기반의 식별규칙(naming), 주소체계(addressing), 통신 방법(communication) 등이 필요하다. 이에 따라 통신 프로토콜을 통해 통신 범위, 데이터 형식, 데이터 전송 속도, 장치 비용, 보안 등에 따라 직접 통신 또는 게이트웨이를 통해 서로 통신한다. 대표적인 유무선 통신 프로토콜은 RFID, NFC(Near Field Communication), 지그비(Zigbee), Wi-Fi, 블루투스(Bluetooth), 6LowPAN, M2M(Machine to Machine) 등이 존재한다.Objects In order to communicate virtual objects on the Internet with physical objects such as sensors, actuators and devices, standards-based naming, addressing, and communication methods are required. Accordingly, they communicate with each other directly through communication or gateways according to communication range, data format, data transmission speed, device cost, security, and the like through a communication protocol. Typical wired and wireless communication protocols include RFID, Near Field Communication (NFC), Zigbee, Wi-Fi, Bluetooth, 6LowPAN, and M2M (Machine to Machine).

다양한 유무선 통신 프로토콜은 디바이스, 네트워크, 서비스에 따라 식별규칙, 데이터 형식, 입출력 파라미터, 전송 방법, 통신규약, 프로그래밍 언어 등이 상이하기 때문에 수많은 사물을 접근하고 정보를 송수신하기 위한 일관적인 방법을 제공해야 한다. Various wired / wireless communication protocols are different because of device, network, service, identification rule, data format, input / output parameter, transmission method, communication protocol, programming language, etc. Therefore, it is necessary to provide a consistent method for accessing and sending / do.

이를 위해, 비특허 문헌 1, 2 및 3에서는 미들웨어 기반의 네트워크 인터페이스를 통해 통신 프로토콜을 추상화하며, 상이한 사물들의 데이터를 송수신하고 서비스 요청/응답의 메시지를 중재하여 통합하는 내용이 기재되어 있다.To this end, in non-patent documents 1, 2 and 3, communication protocols are abstracted through a middleware-based network interface, data of different objects are transmitted and received, and messages for service request / response are arbitrated and integrated.

네트워크 관점의 통합은 하나의 미들웨어가 다양한 유무선 통신 프로토콜과 저수준의 네트워크 인터페이스를 모두 포함하지 못하며, 사물 특성을 반영하지 않고 메시지만 전달하는 문제점이 있다. 이러한 문제점을 해결하기 위해서는 메시지의 특성을 반영한 콘텐츠 중심(content-centric)의 통합이 필요하다. The integration of network viewpoints has a problem that one middleware does not include both wired / wireless communication protocols and low-level network interfaces, and only messages are transmitted without reflecting object characteristics. To solve these problems, it is necessary to integrate content-centric contents reflecting characteristics of messages.

사물 인터넷은 수많은 사물들이 유기적으로 통신하고, 상호 작용하기 위해 확장성(scalability), 실시간성(real-time), 신뢰성(reliability), 상호 운용성(interoperability) 등의 특성을 지원해야 한다. 네트워크로 연결된 수많은 콘텐츠, 서비스와 사물은 대량으로 발생하는 정보를 효율적으로 관리하고 결합할 수 있어야 하며, 현재 구성된 시스템에 영향을 주지 않고 새로운 사물들을 동적으로 네트워크에 적용시켜 바로 통신 또는 서비스로 제공해야 한다. 또한, 대부분이 무선 환경의 사물이기 때문에 네트워크에 추가/변경/삭제가 동적으로 가능해야 하고, 신뢰성 및 실시간성 등의 메시지 송수신에 필요한 서비스 품질(QoS; Quality of Services)을 보장해야 한다.Objects The Internet must support the characteristics of scalability, real-time, reliability, and interoperability in order for many objects to communicate and interact with each other. A large number of networked content, services and objects must be able to efficiently manage and combine large amounts of information and must be able to dynamically apply new things to the network without affecting the currently configured system and provide them directly as communications or services. do. In addition, since most of them are objects of wireless environment, it is necessary to be able to add / change / delete dynamically in the network, and to ensure quality of service (QoS) required for transmission and reception of messages such as reliability and real time.

사물 인터넷의 분산 환경의 특징 중 하나는 이질성을 가지고 있다는 것이다. 모바일 디바이스, 스마트 디바이스, PC, 센서, 액츄에이터 등 다양한 유형의 디바이스들이 사물 인터넷의 분산 환경에 참여하고 있다. 이러한 디바이스들은 같은 목적을 위해 만들어졌다고 하더라도 서로 다른 방법으로 목적을 수행하게 되고, 사물 인터넷의 디바이스는 항상 인터넷에 연결되어 있다는 특징도 함께 가지고 있다. 이러한 요인들 때문에 사물 인터넷의 이질적인 디바이스들로부터 송수신되는 사물의 메시지를 일관적이고 안정적으로 관리하는게 어렵기 때문에 사물 인터넷의 일지적인 문제를 해결해야 한다.
One of the characteristics of the distributed environment of things Internet is that it has heterogeneity. Various types of devices such as mobile devices, smart devices, PCs, sensors, and actuators are participating in the distributed environment of things Internet. Even if these devices are made for the same purpose, they will perform their purposes in different ways, and the devices on the Internet are always connected to the Internet. Because of these factors, it is difficult to consistently and reliably manage the messages of objects sent and received from heterogeneous devices on the Internet of objects.

1. Vlacheas, P. and et al. “Enabling smart cities through a cognitive management framework for the internet of things”, IEEE Communications Magazine, Vol. 51, Issue 6, pp. 102~111, June, 2013.1. Vlacheas, P. and et al. &Quot; Enabling smart cities through a cognitive management framework for the internet of things ", IEEE Communications Magazine, Vol. 51, Issue 6, pp. 102 ~ 111, June, 2013. 2. Mandler, B. and et al. “COMPOSE - A Journey from the Internet of Things to the Internet of Services”, In proceeding of the 27th International Conference on Advanced Information Networking and Applications Workshops, pp. 1217~1222, March, 2013.2. Mandler, B. and et al. &Quot; COMPOSE - A Journey from the Internet of Services ", In Proceedings of the 27th International Conference on Advanced Information Networking and Applications Workshops, pp. 1217-1222, March, 2013. 3. Wu Yuexin and et al. “Service-Oriented Middleware for Heterogeneous Environment in Internet of Things”, Network Technology and Application, China Communication, pp. 41~51, September, 2012.3. Wu Yuexin and et al. "Service-Oriented Middleware for Heterogeneous Environment in Internet of Things", Network Technology and Application, China Communication, pp. 41 ~ 51, September, 2012.

본 발명은 사물 인터넷의 이질적인 사물의 메시지들을 사물의 기능에 따라 데이터, 이벤트, 서비스로 사물 타입을 분류하고, 분류한 데이터, 이벤트 및 서비스가 구독자에 의해 동기/비동기 방식이 선택되며, 동기/비동기 방식에 따라 상호 작용 타입을 구분하여 DDS 기반의 토픽으로 명세하여 통합함으로써 사물 인터넷의 수많은 사물들이 유기적으로 통신하고, 상호 작용하도록 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법을 제공한다.
The present invention classifies object types into data, events, and services according to the functions of objects, and selects synchronous / asynchronous methods for classified data, events, and services by subscribers, It provides a method of integrating heterogeneous object messages based on DDS in the Internet, which allows many objects in the Internet to communicate and interact with each other by specifying and interpreting the interaction types according to the method.

실시예들 중에서, 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법은, 발간/구독 모델의 데이터 분산 서비스(Data Distribution Service, DDS) 시스템에서 분산 환경의 이질적인 사물의 메시지들을 통합하는 방법에 있어서, 상기 DDS 기반으로 송수신되는 사물의 메시지를 사물의 기능에 따라 데이터, 이벤트 또는 서비스로 사물 타입을 분류하는 단계; 상기 분류한 사물 타입에 따라 데이터, 이벤트 또는 서비스를 동기/비동기 방식의 활성 상태를 선택하며, 상기 선택한 활성 상태에 따라 상호작용(Interaction) 타입을 구분하여 DDS 기반의 각 토픽으로 명세하여 통합하는 단계; 및 상기 데이터, 이벤트 또는 서비스의 각 토픽을 실시간 발간/구독하도록 해당 토픽을 포함하는 DDS 엔티티를 동적으로 생성하는 단계를 포함하는 것을 특징으로 한다.Among the embodiments, a method of integrating a heterogeneous object message based on DDS on the Internet of objects is a method of integrating messages of a heterogeneous object in a distributed environment in a data distribution service (DDS) system of a publication / subscription model, Classifying a message type of a message transmitted and received on a DDS basis into a data type, an event type, or a service type according to a function of the object; Selecting an active state of data / event / service as a synchronous / asynchronous method according to the classified object type, and specifying and interpreting each DDS-based topic by classifying an interaction type according to the selected active state ; And dynamically generating a DDS entity including the topic to be published / subscribed to each topic of the data, event or service in real time.

상기 상호작용 타입은, 상기 데이터를 동기 방식의 수집(Collection) 및 비동기 방식의 로깅(Logging)으로 구분하고, 상기 이벤트를 동기 방식의 전파(Propagation) 및 비동기 방식의 분배(Distribution)로 구분하여, 상기 서비스를 동기/비동기 방식의 응답 형태의 호출(Invocation)과 무응답 형태의 호출(Evocation)로 구분되는 것을 특징으로 한다.The interaction type divides the data into a collection of a synchronous method and a logging of an asynchronous method and divides the event into a synchronous propagation and an asynchronous distribution, Characterized in that the service is divided into an invocation of a synchronous / asynchronous response type and an invocation of a non-response type.

이때, 상기 서비스의 응답 형태의 호출은 서비스 요청(Request) 정보와 응답(Response) 정보로 구분되고, 상기 무응답 형태의 호출은 요청 정보로 이루어진 것을 특징으로 한다.At this time, the call of the response type of the service is divided into service request information and response information, and the non-response type call is composed of request information.

상기 상호작용 타입은 해당 토픽의 키(Key)로 이용되고, 상기 키를 통해 인스턴스를 식별하는 것을 특징으로 한다.The interaction type is used as a key of the topic, and the instance is identified through the key.

따라서, 상기 토픽은 ID와 인스턴스를 식별 규칙으로 하고, 데이터 중심의 배포 서비스를 위한 네트워크 계층 기반의 데이터 전송 프로토콜인 RTPS(Real-Time Publish-Subscribe)를 이용하는 주소 체계를 가지는 것을 특징으로 한다.Accordingly, the topic is characterized by having an ID and an instance as an identification rule, and an address system using a Real-Time Publish-Subscribe (RTPS), a network layer-based data transmission protocol for data-centric distribution services.

상기 데이터 토픽과 이벤트 토픽은 사물의 발간자 ID, 상호 작용 타입, 전송인자(Parameter), 값(Value)을 포함하여 구성되는 것을 특징으로 한다.The data topic and the event topic are configured to include an issuer ID, an interaction type, a parameter, and a value of an object.

상기 서비스 토픽은 동기 방식의 경우에 서비스 요청 토픽과 서비스 응답 토픽으로 구분되고, 비동기 방식의 경우에 서비스 요청 토픽으로 이루지며, 상기 서비스 요청 토픽은 서비스 요청자 ID, 서비스 ID, 상호 작용 타입, 전송인자(Parameter), 값(Value)으로 구성되고, 상기 서비스 응답 토픽은 서비스 요청자 ID, 상호 작용 타입, 전송인자, 값을 포함하여 구성되는 것을 특징으로 한다.The service topic is divided into a service request topic and a service response topic in the case of a synchronous scheme and a service request topic in the case of an asynchronous method. The service request topic includes a service requester ID, a service ID, an interaction type, A parameter, and a value, and the service response topic includes a service requester ID, an interaction type, a transfer factor, and a value.

상기 전송인자와 값은 쌍으로 구성하여 샘플을 구성하는 것을 특징으로 한다.And the transmission factor and the value are configured in pairs to form a sample.

상기 분류한 사물 타입에 따라 데이터, 이벤트 또는 서비스를 동기/비동기 방식에 따라 상호작용(Interaction) 타입을 구분하여 DDS 기반의 각 토픽으로 명세하여 통합하는 단계는, 상기 사물 타입, 상호작용 타입, 활성 상태, DDS의 발간/구독, 토픽의 수, 연결 형태 또는 컨텐츠 필터링 여부를 나타내는 각 항목들을 적어도 하나 이상을 포함하여 분류체계를 구성하고, 상기 분류 체계를 이용하여 상기 데이터, 이벤트 또는 서비스를 각각의 토픽으로 변환하는 것을 특징으로 한다.The step of classifying the data, events, or services according to the classified object type according to the synchronous / asynchronous method and specifying the DDS-based topics and integrating them may include the object type, the interaction type, An event, a status, a publication / subscription of a DDS, a number of topics, a connection type, or whether content filtering is to be performed, To-topic.

상기 토픽은 상기 분류체계에 의해 사물타입, 상호작용 타입, 활성화 방식, 해당 사물이 제공하는 토픽의 이름을 추가하여 URI 형태로 식별규칙을 표현하는 것을 특징으로 한다.
The topic is characterized by expressing an identification rule in the form of a URI by adding a object type, an interaction type, an activation method, and a name of a topic provided by the object by the classification system.

본 발명의 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법은, 사물 인터넷의 이질적인 사물의 메시지들을 사물의 기능에 따라 데이터, 이벤트, 서비스로 사물 타입을 분류하고, 데이터, 이벤트 및 서비스를 동기/비동기 방식에 따라 상호 작용 타입을 구분하여 토픽으로 명세할 수 있고, 이러한 콘텐츠 중심으로 통합 방식은 네트워크 관점의 통합 문제를 해결하여 유무선 통신 프로토콜에 종속적이지 않으면서 사물 인터넷의 수많은 사물들이 유기적으로 통신하고, 일관적인 인터페이스를 통해 접근이 가능하며, 키를 통해 다수의 인스턴스를 갖는 하나의 토픽을 생성하여 DDS 엔티티의 수를 줄일 수 있는 효과가 있다.
Objects of the Invention According to the present invention, a method for integrating a heterogeneous object message based on DDS includes classifying object types into data, events, and services according to functions of objects, and providing synchronous / asynchronous This paper proposes a new method to integrate the contents of the Internet into the Internet. In this paper, we propose a new method to integrate the contents of Internet, It is possible to access through a consistent interface, and it is possible to reduce the number of DDS entities by generating one topic having a plurality of instances through a key.

도 1은 일반적인 사물 인터넷에서의 사물을 설명하는 개념도이다.
도 2는 본 발명의 일 실시예에 따른 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법을 구현하는 DDS 시스템을 설명하는 도면이다.
도 3은 도 2에서 명세된 토픽의 상호 작용을 설명하는 도면이다.
도 4는 도 2의 DDS 시스템을 설명하는 기본 개념도이다.
도 5는 도 2의 토픽에 전송 과정을 설명하는 도면이다.
도 6은 본 발명의 일 실시예에 따른 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법을 설명하는 순서도이다.
도 7은 사물 인터넷에서 데이터의 전송 과정을 설명하는 도면이다.
도 8은 사물 인터넷에서 이벤트의 전송 과정을 설명하는 도면이다.
도 9는 사물 인터넷에서 서비스의 호출 과정을 설명하는 도면이다.
도 10은 사물 인터넷에서 데이터와 이벤트에서 사용하는 동기 방식의 웨이트셋 방식을 설명하는 도면이다.
도 11은 사물 인터넷의 데이터 토픽에 대한 동기/비동기 방식의 샘플 송수신 과정을 설명하는 도면이다.
도 12는 사물 인터넷의 이벤트 토픽에 대한 동기/비동기 방식의 샘플 송수신 과정을 설명하는 도면이다.
도 13은 사물 인터넷의 서비스 요청 토픽의 동기/비동기 방식의 샘플 송수신 과정을 설명하는 도면이다.
도 14는 사물 인터넷의 서비스 응답 토픽의 동기/비동기 방식의 샘플 송수신 과정을 설명하는 도면이다.
도 15는 사물 인터넷의 서비스 응답 토픽에 대한 콘텐츠 필터링을 이용한 샘플 송수신 과정을 설명하는 도면이다.
도 16은 데이터 토픽의 수집에 대한 IDL 예제를 설명하는 도면이다.
도 17은 데이터 토픽의 수집에 대한 샘플 코드를 설명하는 도면이다.
도 18은 이벤트 토픽의 분배에 대한 IDL 예제를 설명하는 도면이다.
도 19는 이벤트 토픽의 분배에 대한 콘텐츠 필터링 샘플 코드를 설명하는 도면이다.
도 20은 데이터 토픽과 이벤트 토픽을 송수신하기 위한 DDS 엔티티의 구성을 설명하는 도면이다.
도 21은 서비스 토픽을 송수신하기 위한 DDS 엔티티의 구성을 설명하는 도면이다.
1 is a conceptual diagram for explaining an object in a general object Internet.
FIG. 2 is a diagram illustrating a DDS system for implementing a method for integrating heterogeneous object messages based on DDS in the Internet of objects according to an embodiment of the present invention. Referring to FIG.
Figure 3 is a diagram illustrating the interaction of the topics specified in Figure 2;
FIG. 4 is a basic conceptual diagram illustrating the DDS system of FIG. 2. FIG.
FIG. 5 is a diagram for explaining a transmission process in the topic of FIG. 2;
FIG. 6 is a flowchart illustrating a method of integrating a DDS-based heterogeneous object message on the Internet in accordance with an embodiment of the present invention.
FIG. 7 is a diagram for explaining a data transmission process on the object Internet.
8 is a diagram for explaining a process of transmitting an event on the Internet of things.
9 is a diagram for explaining a calling process of a service on the Internet of things.
10 is a diagram for explaining a weight set method of a synchronization method used in data and events in the Internet of things.
11 is a diagram for explaining a synchronous / asynchronous sample transmission / reception process for a data topic on the Internet of things.
12 is a diagram for explaining a synchronous / asynchronous sample transmission / reception process for an event topic in the Internet of Things.
13 is a diagram for explaining a synchronous / asynchronous sample transmission / reception process of a service request topic of the Internet of Things.
FIG. 14 is a diagram for explaining a synchronous / asynchronous sample transmission / reception process of a service response topic in the Internet of things.
15 is a diagram for explaining a sample transmission / reception process using content filtering for a service response topic in the Internet of Things.
Figure 16 is a diagram illustrating an example of an IDL for collection of data topics.
17 is a diagram for explaining sample codes for collection of data topics.
18 is a diagram illustrating an example of IDL for distribution of event topics.
Figure 19 is a diagram illustrating content filtering sample code for distribution of event topics.
20 is a view for explaining a configuration of a DDS entity for transmitting and receiving a data topic and an event topic;
21 is a view for explaining a configuration of a DDS entity for transmitting and receiving a service topic.

본 발명에 관한 설명은 구조적 내지 기능적 설명을 위한 실시예에 불과하므로, 본 발명의 권리범위는 본문에 설명된 실시예에 의하여 제한되는 것으로 해석되어서는 아니 된다. 즉, 실시예는 다양한 변경이 가능하고 여러 가지 형태를 가질 수 있으므로 본 발명의 권리범위는 기술적 사상을 실현할 수 있는 균등물들을 포함하는 것으로 이해되어야 한다. 또한, 본 발명에서 제시된 목적 또는 효과는 특정 실시예가 이를 전부 포함하여야 한다거나 그러한 효과만을 포함하여야 한다는 의미는 아니므로, 본 발명의 권리범위는 이에 의하여 제한되는 것으로 이해되어서는 아니 될 것이다.The description of the present invention is merely an example for structural or functional explanation, and the scope of the present invention should not be construed as being limited by the embodiments described in the text. That is, the embodiments are to be construed as being variously embodied and having various forms, so that the scope of the present invention should be understood to include equivalents capable of realizing technical ideas. Also, the purpose or effect of the present invention should not be construed as limiting the scope of the present invention, since it does not mean that a specific embodiment should include all or only such effect.

한편, 본 발명에서 서술되는 용어의 의미는 다음과 같이 이해되어야 할 것이다.Meanwhile, the meaning of the terms described in the present invention should be understood as follows.

"제1", "제2" 등의 용어는 하나의 구성요소를 다른 구성요소로부터 구별하기 위한 것으로, 이들 용어들에 의해 권리범위가 한정되어서는 아니 된다. 예를 들어, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다.The terms "first "," second ", and the like are intended to distinguish one element from another, and the scope of the right should not be limited by these terms. For example, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component.

어떤 구성요소가 다른 구성요소에 "연결되어"있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결될 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어"있다고 언급된 때에는 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 한편, 구성요소들 간의 관계를 설명하는 다른 표현들, 즉 "~사이에"와 "바로 ~사이에" 또는 "~에 이웃하는"과 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.It is to be understood that when an element is referred to as being "connected" to another element, it may be directly connected to the other element, but there may be other elements in between. On the other hand, when an element is referred to as being "directly connected" to another element, it should be understood that there are no other elements in between. On the other hand, other expressions that describe the relationship between components, such as "between" and "between" or "neighboring to" and "directly adjacent to" should be interpreted as well.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한 복수의 표현을 포함하는 것으로 이해되어야 하고, "포함하다"또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.It should be understood that the singular " include "or" have "are to be construed as including a stated feature, number, step, operation, component, It is to be understood that the combination is intended to specify that it does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

각 단계들에 있어 식별부호(예를 들어, a, b, c 등)는 설명의 편의를 위하여 사용되는 것으로 식별부호는 각 단계들의 순서를 설명하는 것이 아니며, 각 단계들은 문맥상 명백하게 특정 순서를 기재하지 않는 이상 명기된 순서와 다르게 일어날 수 있다. 즉, 각 단계들은 명기된 순서와 동일하게 일어날 수도 있고 실질적으로 동시에 수행될 수도 있으며 반대의 순서대로 수행될 수도 있다.In each step, the identification code (e.g., a, b, c, etc.) is used for convenience of explanation, the identification code does not describe the order of each step, Unless otherwise stated, it may occur differently from the stated order. That is, each step may occur in the same order as described, may be performed substantially concurrently, or may be performed in reverse order.

여기서 사용되는 모든 용어들은 다르게 정의되지 않는 한, 본 발명이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 것으로 해석되어야 하며, 본 발명에서 명백하게 정의하지 않는 한 이상적이거나 과도하게 형식적인 의미를 지니는 것으로 해석될 수 없다.
All terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined. Commonly used predefined terms should be interpreted to be consistent with the meanings in the context of the related art and can not be interpreted as having ideal or overly formal meaning unless explicitly defined in the present invention.

도 2는 본 발명의 일 실시예에 따른 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법을 구현하는 DDS 시스템을 설명하는 도면이다.FIG. 2 is a diagram illustrating a DDS system for implementing a method for integrating heterogeneous object messages based on DDS in the Internet of objects according to an embodiment of the present invention. Referring to FIG.

도 2를 참고하면, 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법은, 발간/구독(Publish/Subscribe) 모델의 실시간 미들웨어 표준인 DDS(Data Distribution Service) 시스템(100)에 의해 DDS 도메인에 속한 참가자들간에 데이터 객체인 토픽을 실시간 발간/구독하도록 DDS 엔티티를 동적으로 생성함으로서 해당 토픽을 송수신한다.Referring to FIG. 2, a method of integrating a heterogeneous object message based on DDS on the Internet of objects is performed by a DDS (Data Distribution Service) system 100, which is a real-time middleware standard of a publish / subscribe model, And DDS entities are dynamically generated to subscribe / subscribe to topics that are data objects in real time.

DDS 시스템(100)은 송수신하는 토픽을 사물의 특성 또는 기능에 따라 데이터, 이벤트 및 서비스로 사물 타입을 분류하고, 분류한 데이터, 이벤트 및 서비스를 통합하기 위해 식별규칙과 주소체계를 갖는 DDS 기반의 토픽으로 명세한다. The DDS system 100 classifies object types into data, events, and services according to the characteristics or functions of objects, and transmits DDS-based objects having identification rules and address systems to integrate classified data, events, It is specified as a topic.

DDS 기반의 토픽의 식별 체계는 인스턴스를 통해 사물을 데이터, 이벤트 및 서비스로 식별하고, 주소체계는 데이터 중심의 배포 서비스를 위한 네트워크 계층 기반의 데이터 전송 프로토콜인 RTPS를 이용한다. 즉, 사물 인터넷의 토픽은 DDS를 통해 자동적으로 주소체계를 관리하기 때문에 DCPS를 통해 인스턴스만 식별하면 RTPS를 알지 못하더라도 데이터, 이벤트 및 서비스에 대한 각 토픽의 샘플을 송수신할 수 있다.The DDS-based topic identification system identifies objects as data, events and services through the instance, and the address system uses RTPS, a network layer-based data transfer protocol for data-centric distribution services. In other words, topics on the Internet manage DTP automatically, so if you only identify instances through DCPS, you can send and receive samples of each topic for data, events, and services even if you do not know RTPS.

DDS 시스템(100)은 DDS의 응용 프로그램(Application) 사이의 데이터 전송 프로토콜인 RTPS(Real-Time Publish-Subscribe) 계층과, 데이터의 발간/구독을 위한 인터페이스인 DCPS(Data-Centric Publish-Subscribe) 계층을 포함한다. The DDS system 100 includes a Real-Time Publish-Subscribe (RTPS) layer, which is a data transmission protocol between DDS application programs, and a Data-Centric Publish-Subscribe (DCPS) layer, which is an interface for publishing / .

하나의 사물(Thing)은 사물의 기능에 따라 데이터, 이벤트 또는 서비스를 적어도 하나 또는 모두 제공할 수 있다. 따라서, DDS 시스템(100)은 하나의 사물이 제공하는 데이터, 이벤트 또는 서비스를 각각 토픽으로 명세하여 사물 인터넷의 응용 프로그램과 사물의 다대다 통신을 위한 인터페이스를 제공한다. A single Thing may provide at least one or both of data, events, or services depending on the function of the object. Accordingly, the DDS system 100 provides an interface for many-to-one communication of an object and an application program of the object Internet by specifying data, an event or a service provided by one object as a topic, respectively.

DDS의 응용 프로그램은 데이터에 대한 발간 및 구독을 요청하는 디바이스로서, 통신 기능이 탑재된 다양한 센서들 또는 사용자 단말 등이 해당되고, 도메인 내에서 데이터의 발간/구독 서비스 실행을 위한 미들웨어가 설치된다.
The application program of the DDS is a device for requesting the issuance and subscription of data, including various sensors or user terminals equipped with a communication function, and middleware for executing the data publishing / subscription service in the domain is installed.

도 3은 도 2에서 명세된 토픽의 상호 작용을 설명하는 도면이다.Figure 3 is a diagram illustrating the interaction of the topics specified in Figure 2;

도 3을 참고하면, DDS 시스템(100)은 OMG(Object Management Group)에서 제정한 데이터 중심의 실시간 미들웨어 표준으로서, 분산 환경을 지원하며 도메인에 참여하는 다수의 발간자(110)와 구독자(120) 사이에 약결합(Decoupling)으로 동기 방식 또는 비동기 방식 통신을 수행한다. Referring to FIG. 3, the DDS system 100 is a data-centric real-time middleware standard established by the OMG (Object Management Group). The DDS system 100 supports a distributed environment, and includes a plurality of publishers 110 and subscribers 120, And performs synchronous or asynchronous communication using weak decoupling.

이러한 DDS 시스템(100)은 이질적인 사물들의 데이터, 이벤트 및 서비스에 대한 각각의 토픽을 동기/비동기 방식, 약결합 기반의 상호 작용(Interaction) 방식과 일관적인 접근 방법을 제공한다.
The DDS system 100 provides a synchronous / asynchronous method, a weakly coupled based interaction method, and a consistent approach to each topic of data, events, and services of heterogeneous objects.

도 4는 도 2의 DDS 시스템을 설명하는 기본 개념도이다. FIG. 4 is a basic conceptual diagram illustrating the DDS system of FIG. 2. FIG.

도 4를 참고하면, DDS 시스템은 DDS 도메인에 속한 참가자들 간에 데이터 객체(Data-Object)인 토픽 이름과 데이터 타입을 정의하고, 실시간으로 토픽을 발간/구독하도록 DDS 엔티티(Entities)를 동적으로 생성한다. Referring to FIG. 4, the DDS system defines a topic name and a data type as data objects between participants belonging to the DDS domain, and dynamically generates DDS entities to publish / subscribe topics in real time do.

이때, DDS 엔티티는 도메인(Domain), 도메인참가자(DomainPartcipant), 발간자(Publisher), 구독자(Subscriber), 데이터라이터(DataWriter), 데이터리더(DataReader), 토픽(Topic) 등을 포함한다. At this time, the DDS entity includes a domain, a domain participant, a publisher, a subscriber, a data writer, a data reader, a topic, and the like.

DDS 시스템에서는 참가자들이 실시간으로 발간/구독하는 토픽을 가상 공간의 개념인 글로벌 데이터 스페이스(Grobal Data Space)로 관리하는데, 이는 토픽과 DDS 엔티티에 명시된 QoS에 따라 발간된 토픽을 추후 참가한 구독자가 수신할 수 있도록 한다. In the DDS system, subjects that are published / subscribed by the participants in real time are managed by a global data space (global data space), which is a concept of virtual space, by which subscribers who participate in a topic published according to the QoS specified in the topic and the DDS entity receive .

데이터라이터(130)에서 데이터 값들을 발간자(110)에게 제공하면, 발간자(110)는 다수의 구독자(120)에서 데이터 값들을 보급하고, 데이터리더(140)는 구독자(120)로부터 데이터 값들을 읽어들여 데이터 객체인 토픽으로 정의한다.The publisher 110 supplies data values to a plurality of subscribers 120 and the data reader 140 transmits data values from the subscriber 120 to the publisher 110. [ And defines them as topics that are data objects.

토픽은 토픽 이름, 키(Key)를 포함한 데이터 타입, QoS로 구성되며 IDL(Interface Description Language)로 표현된다. 토픽은 도메인 내에서 발간/구독하기 위해 고유한 이름으로 식별하며, 타입서포트(TypeSupport) 인터페이스를 통해 데이터 타입에 접근한다. 데이터 타입은 송수신하는 자료형을 IDL, XML, 자바 등의 프로그래밍 언어에 따라 종속적으로 정의할 수 있으며 확장 가능하다. QoS는 신뢰성, 우선 순위 등의 비기능적 특성의 집합으로 토픽, DDS 엔티티에 적용된다.
A topic is composed of a topic name, a data type including a key, and QoS, and is expressed by an IDL (Interface Description Language). The topic is identified by a unique name for publication / subscribing within the domain and accesses the data type through the TypeSupport interface. Data types can be defined depending on programming languages such as IDL, XML, and Java, and can be extended. QoS is applied to topics and DDS entities as a collection of non-functional characteristics such as reliability, priority, and so on.

도 5는 도 2의 토픽에 전송 과정을 설명하는 도면이다.FIG. 5 is a diagram for explaining a transmission process in the topic of FIG. 2;

도 5를 참고하면, 토픽(500)은 키로 구분되는 인스턴스(510)와 전송 단위인 샘플(520)을 통해 데이터를 송수신한다. 하나의 토픽은 하나의 데이터 타입만 참조할 수 있지만, 다수의 토픽이 동일한 데이터 타입을 참조할 수 있다. 이를 통해, 동일한 데이터 타입을 참조하는 다수의 토픽을 만들어 데이터를 송수신할 수 있고, 키를 통해 다수의 인스턴스(510)를 갖는 하나의 토픽(500)을 생성하면 DDS 엔티티의 수를 줄일 수 있다.Referring to FIG. 5, a topic 500 transmits and receives data through an instance 510, which is divided by a key, and a sample 520, which is a transmission unit. A single topic can refer to only one data type, but multiple topics can reference the same data type. Through this, a plurality of topics referring to the same data type can be created to transmit and receive data, and the number of DDS entities can be reduced by creating one topic 500 having a plurality of instances 510 through a key.

인스턴스(510)의 전송 단위인 샘플(520)은 직렬화(Serialization)되어 네트워크 상에서 전송되고, 네트워크를 통해 수신한 샘플의 정보를 추출하기 위해 역직렬화(Deserialization)된다. The sample 520, which is a transmission unit of the instance 510, is serialized and transmitted on the network, and is deserialized to extract information of the sample received through the network.

따라서, DDS 시스템은 사물의 물리적인 특성에 관계없이 사물의 메시지를 이질적인 데이터, 이벤트 및 서비스로 분류하여 DDS 기반의 토픽으로 명세하고, 키를 이용하여 다수의 인스턴스를 식별할 수 있다. 따라서, 사물 인터넷의 모든 사물을 데이터, 이벤트 및 서비스로 추상화하면 DDS의 응용 프로그램은 일관적인 인터페이스를 통해 사물들을 접근하고 통신할 수 있다. Accordingly, the DDS system can classify a message of an object as a heterogeneous data, an event, and a service, regardless of the physical characteristics of the object, specify the DDS-based topic, and identify a plurality of instances using the key. Therefore, by abstracting all the objects of the Internet into data, events and services, DDS applications can access and communicate objects through a consistent interface.

사물 인터넷에서 사물을 접근하고 사용하기 위해서는 식별되어야 하고, 통신할 수 있어야 하며, 다른 사물과 네트워크를 구성하여 상호작용하거나 사용자가 접근할 수 있어야 한다. 하나의 사물은 적어도 하나 이상의 식별 규칙과 주소체계를 보유해야 한다. 식별 규칙은 사물마다 고유한 형태로 인식할 수 있는 것을 나타내며, 사람이 해석(human-readable)할 수 있도록 명세해야 하고, 주소 체계는 기계가 인식(machine-readable)할 수 있도록 하여 통신이 가능하도록 한다. Objects To be able to access and use things on the Internet, they must be identified, communicated, and interact with each other or networked with other objects or accessible by users. An object must have at least one identification rule and address system. Identification rules indicate things that can be perceived in a unique form for each object. They must be specified so that they can be human-readable, and the address system can be machine-readable so that communication is possible. do.

따라서, 본 발명의 일 실시예에 따른 DDS 시스템은 식별 규칙을 토픽의 인스턴스를 통해 사물을 데이터, 이벤트 및 서비스로 식별하며, 주소체계를 데이터 중심의 배포 서비스를 위한 네트워크 계층 기반의 데이터 전송 프로토콜인 RTPS를 이용한다. 즉, DDS 시스템이 자동적으로 주소체계를 관리하기 때문에 DCPS를 통해 인스턴스만 식별하면 RTPS를 알지 못하더라도 데이터, 이벤트 및 서비스의 각 토픽을 송수신할 수 있다.
Accordingly, the DDS system according to an embodiment of the present invention identifies objects as data, events, and services through an instance of a topic by using an identification rule. The address system is a network layer-based data transmission protocol for data- RTPS is used. In other words, since the DDS system automatically manages the address system, it can send and receive data, event, and service topics even if the RTPS is unknown, by identifying only the instance through DCPS.

도 6은 본 발명의 일 실시예에 따른 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법을 설명하는 순서도이다. FIG. 6 is a flowchart illustrating a method of integrating a DDS-based heterogeneous object message on the Internet in accordance with an embodiment of the present invention.

도 6을 참고하면, DDS 시스템은 사물 인터넷에서 수많은 사물의 기능에 따라 사물의 메시지를 데이터, 이벤트 또는 서비스로 사물 타입을 분류하고, 이렇게 분류한 사물 타입의 데이터, 이벤트 또는 서비스에 대한 동기/비동기 방식의 활성 상태를 선택한다.(S610, S620)Referring to FIG. 6, the DDS system classifies object types into data, events, or services according to the functions of a large number of objects in the object Internet, and outputs the synchronized / asynchronous Method is selected (S610, S620)

이렇게 선택한 동기/비동기 방식에 따라 데이터, 이벤트 및 서비스의 상호 작용 타입을 구분하여 데이터 토픽, 이벤트 토픽 또는 서비스 토픽으로 명세한다.(S630, S640) 이때, 상호 작용 타입은 해당 토픽의 키로 활용될 수 있고, 토픽은 키를 통해 인스턴스를 식별할 수 있으므로, 결국 상호 작용 타입은 토픽의 ID와 함께 식별 규칙이 될 수 있다. Events and services are classified according to the selected synchronous / asynchronous method and are specified as a data topic, an event topic, or a service topic (S630, S640). At this time, the interaction type can be used as a key of the topic Since a topic can identify an instance through a key, the interaction type can eventually become an identification rule along with the topic's ID.

분산 환경에 적합한 발간/구독 기반의 실시간 미들웨어인 DDS 시스템에서 사용하기 위해, 사물 인터넷의 데이터, 이벤트 및 서비스의 특성 또는 기능에 따라 메시지의 기능을 정의하고 분류한 분류 체계는 다음 표 1과 같고, 표 1을 통해 사물 인터넷의 데이터, 이벤트 및 서비스가 새롭게 정의될 수 있다. Table 1 shows the classification system that defines and classifies the functions of messages according to the characteristics or functions of the data, events and services of the object Internet, for use in the DDS system which is a real-time middleware of publication / subscription based on a distributed environment. The data, events and services of the Internet of things can be newly defined through Table 1.

Figure 112015011401254-pat00001
Figure 112015011401254-pat00001

일반적으로, 정보 교환은 데이터, 이벤트 및 서비스에서 동기/비동기 방식으로 구분되고, 동기 방식은 클라이언트-서버 형태의 통신으로 클라이언트는 서버에 요청한 결과를 받을때까지 대기 상태를 유지하고, 비동기 방식은 발간자와 상관없이 구독자가 원하는 작업을 처리한다. In general, information exchange is classified as synchronous / asynchronous in data, events, and services. In synchronous mode, client-server communication means that the client maintains a standby state until receiving the requested result from the server. Regardless of what the subscriber wants to do.

표 2는 사물 인터넷의 데이터, 이벤트 및 서비스를 토픽으로 변환하기 위한 분류표로서, DDS의 발간/구독, 토픽의 수, 연결 형태, 샘플 수신 조건(content filtering)을 포함한다. Table 2 is a classification table for converting data, events, and services of the object Internet into topics, including DDS publication / subscription, number of topics, connection type, and sample filtering conditions.

Figure 112015011401254-pat00002
Figure 112015011401254-pat00002

데이터와 이벤트는 발간/구독 모델로 동작하고, 서비스는 1:1로 서비스 요청/응답하는 서버-클라이언트 형태이지만 실제로 DDS 엔티티를 이용하여 토픽을 발간/구독한다. Data and events operate as a publish / subscribe model, while services are server / client types that service requests / respond with a 1: 1 service, but actually publish / subscribe topics using DDS entities.

데이터, 이벤트 및 서비스로 통합하기 위해 사용하는 토픽의 수는 데이터(D)/이벤트(E)/서비스 요청(Sreq)/서비스 응답(Sres)의 토픽으로 총 4개이다. 연결 형태는 다대다 통신이 가능하지만, 데이터는 구독자가 원하는 시점에 발간하고, 이벤트는 조건에 해당하는 경우에 발간하기 때문에 다대일 또는 일대다로 표현한다. The total number of topics used to integrate into data, events, and services is four for data (D) / event (E) / service request (S req ) / service response (S res ). The connection type can be many-to-many communication, but the data is published at the desired time by the subscriber, and the event is published when the condition is met.

데이터와 이벤트는 동기 방식과 비동기 방식에 관계없이 동일한 토픽을 사용하기 때문에 각각 1개로 구성된다. DDS 시스템에서 토픽은 도메인 내에 유일한 이름으로 인식하여 발간자와 구독자가 전송 단위인 샘플을 통해 토픽을 송수신한다. 토픽은 송수신하는 샘플을 구분하는 이름으로만 사용하기 때문에 동일한 이름을 갖는 토픽은 키를 통해 인스턴스로 식별하여 샘플을 송수신할 수 있다. Data and events consist of one each, because they use the same topic regardless of whether they are synchronous or asynchronous. In a DDS system, a topic is recognized as a unique name within a domain, and publishers and subscribers send and receive topics through a sample that is a transmission unit. Because a topic is only used to distinguish between sending and receiving samples, a topic with the same name can be identified as an instance through the key and send and receive samples.

인스턴스는 동일한 토픽을 송수신하더라도 키로 구분되기 때문에 사물에 제공하는 데이터/이벤트/서비스에 따라 각각 해당하는 토픽으로 표현되고, 인스턴스를 통해 사물을 식별하여 사물 인터넷의 이질적인 문제를 해결할 수 있다. 즉, DDS 시스템은 데이터/이벤트/서비스 요청/서비스 응답의 토픽 4개만 생성하면 식별 규칙을 키로 사용하여 인스턴스를 통해 샘플을 송수신할 수 있다. Since instances are divided into keys even if they send and receive the same topic, they are represented by corresponding topics according to the data / event / service provided to the objects, and the heterogeneous problem of the object Internet can be solved by identifying the objects through the instance. That is, if the DDS system generates only four topics of data / event / service request / service response, it can send and receive samples through the instance using the identification rule as a key.

표 3은 사물 인터넷의 데이터, 이벤트 및 서비스의 각 토픽을 IDL로 명세한 것으로, 데이터와 이벤트의 토픽은 사물의 발간자 ID, 상호작용 타입, 전송인자, 값으로 구성된다. 이벤트는 단일 이벤트의 경우에 하나의 값만 전송하게 되어 전송인자가 필요하지 않지만, 추후 복합 이벤트의 전송을 위해 전송인자를 추가한다.Table 3 specifies each topic of data, events, and services on the Internet of things by IDL. The topics of data and events consist of publisher ID, interaction type, transfer factor, and value of object. The event does not need a transfer factor because it will only send a single value in the case of a single event, but it will add a transfer factor for later transmission of the composite event.

비동기 방식의 서비스는 요청/응답의 토픽으로 구분되고, 비동기 방식의 서비스는 요청 토픽만 사용한다. 서비스의 요청 토픽은 요청자 ID, 서비스 ID, 상호작용 타입, 전송인자, 값으로 구성되고, 서비스의 응답 토픽은 요청자 ID, 상호작용 타입, 전송인자, 값으로 구성한다. Asynchronous services are divided into topics of request / response, and asynchronous services use only request topics. The request topic of the service consists of the requestor ID, the service ID, the interaction type, the transfer factor, and the value of the service. The response topic consists of the requestor ID, interaction type, transfer factor, and value.

Figure 112015011401254-pat00003
Figure 112015011401254-pat00003

상호 작용 타입은 식별 규칙을 의미하며, 토픽의 키로 활용한다. 식별 규칙은 표 1 및 표 2에서 정의한 데이터, 이벤트 및 서비스의 분류 체계에 따라 다음과 같이 URI 형태로 표현한다.The interaction type means the identification rule, which is used as the key of the topic. Identification rules are expressed in URI format according to the classification system of data, event and service defined in Table 1 and Table 2 as follows.

식별 규칙의 URI 형태의 표현 : Things Type/Interaction Type/Activation/(Request or Response)/NameURI representation of the identification rule: Things Type / Interaction Type / Activation / (Request or Response) / Name

사물 타입(ThingsType)은 사물이 발간하는 토픽으로 데이터, 이벤트 및 서비스 중 해당하는 토픽을 선택한다. 상호작용 타입(InteractionType)은 상호 작용하는 방법을 의미하며, 사물 타입에 따라 데이터의 수집 또는 로깅, 이벤트의 전파 또는 분배, 서비스의 경우에 동기 방식의 서비스 요청/응답, 비동기 방식의 경우에 서비스 요청으로 하위 분류를 나타낸다. A thingType is a topic published by an object that selects a corresponding topic among data, events, and services. InteractionType refers to the method of interacting. Depending on the object type, data collection or logging, propagation or distribution of events, synchronous service request / response in case of service, service request in case of asynchronous method, To indicate subclassification.

활성(Activation)은 동기 방식과 비동기 방식에 따라 구분하고, 서비스일 경우에 서비스 요청과 응답 정보를 추가한다. 마지막으로는 사물이 제공하는 데이터/이벤트/서비스 이름을 추가하여 ID와 함께 인스턴스를 식별하기 위한 키로 활용한다. Activation is classified according to synchronous and asynchronous methods. In case of service, service request and response information are added. Finally, add the data / event / service name provided by the object and use it as a key to identify the instance along with the ID.

표 4는 식별 체계의 분류한 것이다. Table 4 lists the identification systems.

Figure 112015011401254-pat00004
Figure 112015011401254-pat00004

예를 들어, 동기 방식의 온도 데이터 수집은 “data/collection/sync/temperature”와 같이 식별 체계를 표현하여 ID와 함께 인스턴스를 식별하기 때문에 “temperature”의 이름을 갖는 다른 사물과 구분할 수 있다.For example, synchronous temperature data collection can be distinguished from other objects with the name "temperature" because it identifies the instance with the ID by expressing an identification scheme such as "data / collection / sync / temperature".

전송 인자와 값은 다수의 형태를 지원하기 위해 JSON 형태로 구성하여 전송인자와 값이 순서대로 쌍을 이루도록 한다. 예를 들어, 온도와 습도를 함께 발간하는 데이터는 전송 인자를 “temperature# humidity”로, 값은 “30#60”으로 샘플을 구성하고, 데이터라이터(DataWriter)를 통해 직렬화하여 네트워크에 전송한다.Transmission factors and values are configured in JSON format to support multiple types, so that transmission factors and values are paired in order. For example, data for the temperature and humidity data are transmitted to the network through a sample with a transfer factor of "temperature # humidity" and a value of "30 # 60", serialized through a data writer.

구독자는 데이터리더(DataReader)가 수신한 샘플을 응용 프로그램에 전달하기 위해 “temperature = 30, humidity = 60”으로 역직렬화한다.Subscribers deserialize to "temperature = 30, humidity = 60" to pass the sample received by the DataReader to the application.

샘플의 수신 조건인 콘텐츠 필터링은 구독자가 SQL(Structured Query Language)과 유사한 형태로 정의한 조건에 의해 데이터리더(DataReader)가 수신하는 샘플을 의미한다. 조건은 수신하는 샘플 중 전송인자와 값을 쌍으로 구성하여 비교연산자(=, <, ≤, >, ≥)를 통해 정의한다. Content filtering, which is a receiving condition of a sample, refers to a sample received by the data reader (DataReader) according to a condition defined by a subscriber in a form similar to SQL (Structured Query Language). The condition is defined by a comparison operator (=, <, ≤,>, ≥) which consists of a pair of transmission factors and values among the receiving samples.

예를 들어, 도 6에서 발간된 온도 샘플이 {31, 25, 33, 29, 26, 28, 32, 29, 28, 31, 32, 24, 25, 36, 27}일 경우, 구독자가 조건을 “temperature >= 30”과 같이 정의하면 데이터리더(DataReader)가 필터링하여 {31, 33, 32, 31, 32, 36}의 샘플만 수신한다. 또한, 전송인자와 값의 쌍은 and/or 연산자를 이용하여 복수 형태의 조건을 지원한다.For example, if the temperature samples published in FIG. 6 are {31, 25, 33, 29, 26, 28, 32, 29, 28, 31, 32, 24, 25, 36, 27} If "temperature> = 30" is defined, the DataReader will filter and receive only samples of {31, 33, 32, 31, 32, 36}. In addition, pairs of transfer factors and values support multiple types of conditions using the and / or operator.

콘텐츠 필터링은 구독자가 주체가 되어 원하는 샘플만 수신하는 기능이다. 데이터의 수집, 이벤트의 전파와 분배는 구독자가 콘텐츠 필터링을 이용하여 원하는 샘플을 구독할 수 있지만, 데이터의 로깅은 모든 샘플의 수신이 목적이기 때문에 사용하지 않는다. 서비스는 인스턴스로 식별되기 때문에 서비스 요청/응답 토픽은 사용하지 않는다.Content filtering is a function that subscribers become subjects and receive only the desired samples. Data collection, event propagation and distribution can be subscribed to by subscribers using content filtering to subscribe to the desired sample, but logging of data is not used because it is the purpose of receiving all samples. The service request / response topic is not used because the service is identified as an instance.

DDS 시스템은 사물 인터넷의 데이터, 이벤트 및 서비스를 통합하기 위해 DDS 기반의 토픽으로 명세한 후, 이 토픽들을 송수신하기 위해 DDS 엔티티를 동적으로 생성한다.(S650)
The DDS system dynamically creates a DDS entity to send and receive these topics after specifying the DDS-based topic to integrate the data, events and services of the object Internet (S650)

도 7은 사물 인터넷에서 데이터의 전송 과정을 설명하는 도면이며, 도 8은 사물 인터넷에서 이벤트의 전송 과정을 설명하는 도면이고, 도 9는 사물 인터넷에서 서비스의 호출 과정을 설명하는 도면이다.FIG. 7 is a diagram for explaining a process of transmitting data on the Internet of objects, FIG. 8 is a diagram illustrating a process of transmitting events on the Internet of objects, and FIG.

도 7 내지 도 9를 참조하여 사물 인터넷에서 데이터, 이벤트 및 서비스를 정의하면 다음과 같다. Referring to FIGS. 7 to 9, data, events and services are defined in the Internet of things as follows.

사물 인터넷에서는 사물의 기능에 따라 수동적 객체, 응답 객체 및 자동적 객체로 구분하고, 사물들이 전송하는 메시지에 포함된 정보에 따라 다수의 메시지로 구분한다. 사물이 표현하는 메시지의 형태와 포함하는 정보에 따라 지능 수준을 나타내지만, 사물의 특성은 다양하기 때문에 범주에 명확하게 포함되지 않거나 일관적으로 표현하기 어렵다.Objects In the Internet, messages are divided into passive objects, response objects, and automatic objects according to the functions of objects, and the messages are classified into a plurality of messages according to the information included in the transmitted messages. Although the level of intelligence indicates the level of intelligence according to the type of message represented by the object and the information it contains, it is not clearly included in the category or difficult to be consistently expressed because the characteristics of the object are varied.

사물 인터넷에서 수많은 사물이 각기 다른 형태의 이질적인 메시지를 생성하기 때문에 데이터, 이벤트 및 서비스를 구분하여 추상화하면 데이터 중심의 일관적인 방법으로 메시지 통합이 가능하다. Objects Because the Internet creates many different types of heterogeneous messages, abstracting data, events, and services differentiates them into a consistent data-centric way.

응용 프로그램이나 엔터프라이즈 시스템에서 데이터는 변수, 정수의 값 등의 속성 값을 의미하며, 이벤트는 특정한 상태나 조건에 해당하는 경우이고, 서비스는 미리 정의한 인터페이스를 통해 특정 기능을 수행하도록 한다. 그러나, 사물 인터넷에서는 수많은 사물의 특징을 구분하여 기존의 데이터, 이벤트 및 서비스를 재정의하고, 이를 기반으로 통합할 수 있는 명세 방식이 필요하다. In an application or an enterprise system, data refers to an attribute value such as a variable or an integer value. An event corresponds to a specific state or condition. A service performs a specific function through a predefined interface. However, in the Internet of things, there is a need for a specification method that can distinguish a number of objects, redefine existing data, events and services, and integrate them based on this.

먼저, 사물 인터넷에서 데이터는 도 7에 도시된 바와 같이, 센서에서 온도, 습도 등의 상태를 감지하거나 측정하는 값으로 일회성과 연속성(Stream) 특성을 지닌다. 사물의 데이터는 물리적 현상을 센싱하여 지속적으로 발생시키거나 정해진 데이터 타입에 별개의 값을 발생시키는 범주로 나뉜다. 센서가 측정하는 값은 지속적으로 데이터를 발생하는 동시에 사라지기 때문에 일회성을 띠며, 일련의 값의 집합으로 데이터는 연속적인 흐름이 된다. First, as shown in FIG. 7, the data on the object Internet has a one-time property and a stream property as a value for sensing or measuring the temperature, humidity, and the like in the sensor. The data of an object are divided into categories that generate physical phenomena continuously and generate different values for a given data type. The value measured by the sensor is one-time because the data is continuously generated and disappears, and the data becomes a continuous flow as a set of values.

데이터가 온도 데이터인 경우에 센서 ID, 토픽 이름, 값(Value)을 포함하고, 사용자별로 원하는 시작 시점과 종료 시점에 데이터의 연속적인 흐름인 데이터 스트림을 선택하여 수집, 로깅, 모니터링할 수 있다. When data is temperature data, a data stream including a sensor ID, a topic name, and a value and a continuous stream of data at a desired start time and end time for each user can be selected, collected, logged, and monitored.

도 8에 도시된 바와 같이, 사물 인터넷에서 이벤트는 사물이 특정한 조건에 해당하거나 상태가 변하면 알리는 정보로 비정기적이며, 단일 이벤트 또는 스트림 이벤트가 가능하다. 또한, 데이터나 이벤트를 수집하여 CEP를 통해 새로운 이벤트 생성도 가능하다. 이벤트는 데이터와 같이 일회성인 특징이 있지만 중요한 이벤트는 전송시 손실되면 심각한 오류를 발생시킬 수 있기 때문에 신뢰성 기반의 전송이 필요하다. As shown in FIG. 8, an event on the object Internet is irregular information that is notified when an object corresponds to a specific condition or a state changes, and a single event or a stream event is possible. It is also possible to generate new events through CEP by collecting data or events. Although events have a one-time characteristic like data, reliability-based transmission is necessary because important events can cause serious errors if lost in transmission.

이러한 이벤트는 발간 이벤트의 조건을 "Value≥30"으로 할 경우에, 사용자가 원하는 시작 시점과 종료 시점에 따라 사물이 측정한 온도에서 "Value≥30"의 조건에 해당하는 이벤트, 31, 33, 32, 31, 32, 36℃만 발간한다. These events are events that correspond to the condition of "Value ≥30" at the temperature measured by the object according to the start and end points desired by the user when the condition of the event of publication is set to "Value≥30" 32, 31, 32, and 36 ℃.

도 9에 도시된 바와 같이, 사물 인터넷에서 서비스는 사물을 동작하거나 제어하는 기능으로 서비스 사용자와 서비스 제공자 사이에 동기/비동기 방식의 서비스 호출이 가능하며, 요청/응답과 요청/무응답의 서비스 형태가 존재한다.As shown in FIG. 9, the service in the Internet of objects operates or controls objects, and it is possible to make a service call between a service user and a service provider in a synchronous / asynchronous manner, and a service type of request / response and request / exist.

동기 방식의 서비스 호출은 사용자(Client)가 서비스(Service)를 요청(request)한 후 응답(response) 메시지를 수신할 때까지 대기 상태로 기다리는 경우(a)이고, 비동기 방식의 서비스 호출은 사용자가 서비스를 요청한 동시에 응답 메시지와 상관없이 사용자가 원하는 작업을 처리한다.(b)
The synchronous service invocation is (a) when the client waits for a response message after requesting the service and the asynchronous service invocation is invoked by the user (B) a request for a service, and (b)

도 10은 사물 인터넷에서 데이터와 이벤트에서 사용하는 동기 방식의 웨이트셋 방식을 설명하는 도면이다.10 is a diagram for explaining a weight set method of a synchronization method used in data and events in the Internet of things.

도 10을 참고하면, 사물 인터넷에서 서비스의 동기/비동기 방식은 요청에 따라 응답의 유무로 결정된다. 데이터와 이벤트의 경우에는 구독자가 미리 정한 데이터리더의 수신 방식에 따라 동기는 웨이트셋(WaitSet) 방식, 비동기 방식은 리스너(Listener) 방식을 사용한다. Referring to FIG. 10, the synchronous / asynchronous service of the service on the Internet is determined as a response to a request. In the case of data and events, a wait set method is used for the synchronization and a listener method is used for the asynchronous method according to the reception method of the data reader predetermined by the subscriber.

웨이트셋 방식은 사용자에 의해 정의된 조건을 사용하여 DDS의 응용 프로그램(Application)을 제어하고, 리스너 방식은 DDS 시스템의 동작 중에 발생하는 상태 정보 이벤트를 비동기적으로 응용 프로그램에 제공한다.The weight set method controls the application of the DDS using the condition defined by the user, and the listener method asynchronously provides the status information event occurring during the operation of the DDS system to the application program.

사물 인터넷에서 데이터와 이벤트의 경우에 웨이트셋 방식은 블록 상태(Blocked)와 비블록 상태(Unblocked)로 각각 변경되면서 쓰레드를 이용하여 샘플을 수신하기 때문에 비블록 상태에서는 샘플을 수신하는 동안 다른 작업을 진행할 수 없다. In the case of data and events on the Internet, the weight set method is changed to the block state (Blocked state) and the unblock state (Unblocked state), and the sample is received using the thread. I can not proceed.

그러나, 리스너 방식은 데이터리더가 콜백(callback) 함수를 통해 샘플을 수신하면 구독자의 응용 프로그램에서 read() 함수 또는 take() 함수를 이용하여 샘플을 전달하기 때문에 데이터, 이벤트 및 서비스 요청에 대한 응답에 상관없이 독립적으로 수행한다. However, in a listener method, when a data reader receives a sample through a callback function, the subscriber application transmits a sample using the read () function or the take () function, so that the response to the data, Regardless of whether or

상기한 표 1에 나타난 분류 체계는 모두 토픽으로 명세하는 식별 규칙에 표기하기 때문에 구독자는 동기/비동기 방식을 선택할 수 있다. 동기 방식의 경우에 웨이트셋 방식은 리스너 방식에 비해 지연 시간이 오래 걸리지만 처리량이 높고 CPU 사용량이 적기 때문에 안전하게 샘플을 수신할 경우에 적합하다. 비동기 방식의 경우에 리스너 방식은 웨이트셋 방식에 비해 처리량이 낮고 CPU 사용량이 높지만 샘플을 읽는 속도가 빠르기 때문에 지연 시간이 적은 응용 프로그램에 적합하다. Since the classification schemes shown in Table 1 are all indicated in the identification rule specified by the topic, the subscriber can select the synchronous / asynchronous method. In the case of the synchronous method, the weight set method takes longer delay time than the listener method, but is suitable for receiving the sample securely because the throughput is high and the CPU usage is small. In the case of the asynchronous method, the listener method has lower throughput and higher CPU usage than the weight set method, but it is suitable for applications with low latency because the sample reading speed is fast.

데이터는 구독자의 선택에 따라 동기/비동기 방식의 수집(collection)과 로깅(logging)으로 구분한다. 원격으로 다수의 사물을 설정하거나 정보를 전달할 수 있고, 사물이 측정한 값을 주기적으로 수집하고, 연결된 수많은 사물의 상태를 확인하거나 진단하는 경우가 있다. 데이터는 전송 우선 순위와 도착 시간에 민감하지 않게 전송이 가능하며, 구독자의 목적에 따라 수신한 샘플은 조건을 두어 원하는 데이터만 응용 프로그램에 전달할 수 있다. Data is divided into synchronous / asynchronous collection and logging depending on the subscriber's choice. You can set up multiple objects remotely or communicate information, periodically collect the measured values of things, and check or diagnose the status of a number of connected objects. Data can be transmitted without being sensitive to transmission priority and arrival time. Depending on the purpose of the subscriber, the received sample can be conditioned to deliver only the desired data to the application.

이벤트는 구독자의 선택에 따라 동기/비동기 방식의 전파(propagation)와 분배(distribution)로 구분한다. 사물에 특정한 조건에 해당하는 경우나 사물의 상태 변화에 따른 알람을 전달하기 때문에 도착 시간에 민감하며, 송수신 중 누락된 이벤트가 있는지 확인하는 신뢰성 기반의 전송이 필요하다.The event is divided into a synchronous / asynchronous propagation and a distribution according to the subscriber's choice. When an object is in a specific condition, it transmits an alarm according to the state change of the object, so it is sensitive to arrival time and it is necessary to transmit reliability based on whether there is a missing event during transmission or reception.

서비스는 서비스 제공자가 미리 정한 응답/무응답 형태에 따라 동기/비동기 방식이 결정된다. 동기 방식의 서비스 호출(invocation)은 서비스 제공자와 서비스 요청자간에 1:1로 인터페이스를 통해 원격의 사물을 동작하기 위한 과정으로 서비스 제공자는 결과에 대한 응답을 보낸다. 즉, "A invokes B"는 A가 인터페이스를 통해 B의 기능을 수행하고, 그 결과를 B가 A에게 전달하는 것을 의미한다.The service is determined by the service provider in a synchronous / asynchronous manner according to a predetermined response / non-response type. A synchronous service invocation is a process for operating a remote object through a 1: 1 interface between a service provider and a service requester, and the service provider sends a response to the result. That is, "A invokes B" means that A performs the function of B through the interface and B transmits the result to A.

비동기 방식의 서비스 호출(evocation)은 동기 방식의 서비스 호출과 의미는 동일하지만, 서비스를 요청한 결과에 대한 응답이 없는 경우이다. 이 경우에, 보통 중요하지 않은 서비스를 요청하기 때문에 전송 우선순위를 낮게 설정한다. Asynchronous service invocation (evocation) has the same meaning as synchronous service invocation, but there is no response to the service request result. In this case, the transmission priority is set to a low value because the service is usually not important.

이와 같이, DDS 시스템이 동기/비동기 방식으로 구분하여 데이터, 이벤트 및 서비스를 송수신하기 때문에 네트워크 관점의 통합 문제점이 해결될 수 있고, 콘텐츠 중심으로 통합되어 사물이 갖는 특성에 따라 데이터, 이벤트 및 서비스로 명세할 수 있다. 이를 통해, 유무선 통신 프로토콜에 종속적이지 않고, 수많은 사물의 이질적인 메시지를 통합할 수 있으며, 일관적인 인터페이스를 통해 접근이 가능하다.
In this way, the DDS system can distinguish between synchronous and asynchronous methods to send and receive data, events, and services, thus solving the problem of network integration. You can specify. This allows integration of heterogeneous messages of many objects without being dependent on wire / wireless communication protocols, and is accessible through a consistent interface.

도 11은 사물 인터넷의 데이터 토픽에 대한 동기/비동기 방식의 샘플 송수신 과정을 설명하는 도면이고, 도 12는 사물 인터넷의 이벤트 토픽에 대한 동기/비동기 방식의 샘플 송수신 과정을 설명하는 도면이며, 도 13은 사물 인터넷의 서비스 요청 토픽의 동기/비동기 방식의 샘플 송수신 과정을 설명하는 도면이고, 도 14는 사물 인터넷의 서비스 응답 토픽의 동기/비동기 방식의 샘플 송수신 과정을 설명하는 도면이며, 도 15는 사물 인터넷의 서비스 응답 토픽에 대한 콘텐츠 필터링을 이용한 샘플 송수신 과정을 설명하는 도면이다. 11 is a view for explaining a synchronous / asynchronous sample transmission / reception process for a data topic on the Internet of a thing, FIG. 12 is a diagram for explaining a synchronous / asynchronous sample transmission / reception process for an event topic of the Internet, FIG. 14 is a diagram for explaining a synchronous / asynchronous sample transmission / reception process of a service request topic of the Internet of Things, FIG. And a sample transmission / reception process using content filtering for a service response topic of the Internet.

도 11 내지 도 15를 참고하면, 동기 방식과 비동기 방식의 데이터, 이벤트, 서비스 요청 및 서비스 응답의 각 토픽은 인스턴스를 통해 샘플을 송수신하고 있고, 발간자와 구독자는 키를 통해 인스턴스를 식별할 수 있다. 11 to 15, each topic of synchronous and asynchronous data, events, service requests, and service responses is transmitting and receiving samples through an instance, and publishers and subscribers can identify instances through keys have.

도 11에 도시된 바와 같이, 동기 방식과 비동기 방식의 데이터 토픽은 사물의 ID(A, B, C)와 식별체계인 상호작용 타입(interactionType)을 키로 인스턴스가 식별된다.As shown in FIG. 11, the synchronous and asynchronous data topics are identified by the key of the object ID (A, B, C) and the interaction type (identificationType).

사물 A, B, C는 데이터 토픽의 동일한 타입을 사용하기 때문에 하나의 데이터라이터(DataWriter)를 사용하지만, 경우에 따라 다수의 데이터라이터를 사용할 수 있다. 즉, 다수의 사물은 하나의 데이터 토픽으로 표현하여 통합하고, 키를 통한 인스턴스를 식별하여 샘플을 받게 된다. Objects A, B, and C use a single data writer (DataWriter) because they use the same type of data topic, but you can use multiple data writers in some cases. That is, a number of objects are represented and integrated into one data topic, and instances are identified through keys to receive samples.

사물은 측정한 값을 계속 발간하기 때문에 구독자는 원하는 시작 시점과 종료 시점에 따라 샘플(DA, DB, DC)을 수신할 수 있다. 데이터를 발간하는 사물은 데이터 토픽을 사용하며 구독자가 동기 방식 또는 비동기 방식을 선택한다. 이에 따라 데이터리더(DataReader)는 웨이트셋(WaitSet) 방식과 리스너(Listener) 방식을 선택하여 샘플을 수신한다. Since the object continues to publish the measured value, the subscriber can receive the samples (D A , D B , D C ) according to the desired start and end points. The objects that publish data use data topics and the subscriber chooses either synchronous or asynchronous. Accordingly, the data reader (DataReader) selects a wait set method and a listener method to receive samples.

도 12에 도시된 바와 같이, 동기 방식과 비동기 방식의 이벤트 토픽은 상기한 데이터 토픽과 동일하게 동작한다.As shown in FIG. 12, the synchronous and asynchronous event topics operate in the same manner as the above-described data topic.

도 13에 도시된 바와 같이, 서비스 요청 토픽은 응용 프로그램에 의해 발간되고, 데이터라이터를 사용하여 샘플(Sg, Sh, Si)을 송신하고, 구독자는 데이터리더를 통해 샘플을 수신한다. 이때, 사물은 샘플 수신시 서비스 요청 토픽으로 표현하여 통합된 샘플을 수신하고, 키를 통한 인스턴스를 식별한다. 도 14에 도시된 바와 같이, 서비스 응답 토픽은 키를 이용한 인스턴스로 식별되어 사물과 응용 프로그램 간에 샘플(Sj, Sk, Sl)이 송수신된다. As shown in FIG. 13, the service request topic is issued by the application program, and the sample (S g , S h , S i ) is transmitted using the data writer, and the subscriber receives the sample via the data reader. At this time, an object is represented by a service request topic upon receiving a sample, receives an integrated sample, and identifies an instance through a key. As shown in FIG. 14, the service response topic is identified as an instance using a key, and samples (S j , S k , S l ) are transmitted and received between the object and the application program.

이와 같이, 서비스 요청 토픽과 서비스 응답 토픽은 키를 이용하여 인스턴스를 식별하고, 서비스 응답 토픽의 인스턴스는 요청자 ID를 키로 활용하기 때문에 서비스 요청자는 서비스 응답 샘플을 수신할 수 있다. As such, the service request topic and the service response topic identify the instance using the key, and the service requestor can receive the service response sample because the instance of the service response topic utilizes the requester ID as a key.

이와 달리, 콘텐츠 필터링을 통한 서비스 제공자의 식별은, 도 15에 도시된 바와 같이, 구독자가 서비스 응답 토픽에 대한 모든 샘플을 조건에 의해 필터링하여 수신하기 때문에 전송과 조건을 검사하는 과부하가 생긴다. 서비스 요청 토픽도 동일하게 모든 샘플을 조건에 의해 필터링하여 수신하는 방식이 적용된다. In contrast, identification of the service provider through content filtering results in an overload that checks the transmission and the condition because the subscriber filters and receives all the samples for the service response topic conditionally, as shown in FIG. In the service request topic, the same method of filtering and receiving all the samples is applied.

즉, 키를 이용한 인스턴스 식별은 서비스 제공자까지 전송하는 경로를 제시하지만, 콘텐츠 필터링을 통한 서비스 제공자의 식별은 한 곳에서 샘플을 검사하여 분배한다. 따라서, DDS 시스템은 키를 이용한 인스턴스 식별로 서비스 요청 토픽과 응답 토픽의 샘플을 송수신한다.That is, the instance identification using a key provides a route to the service provider, but the identification of the service provider through content filtering inspects and distributes samples in one place. Therefore, the DDS system sends and receives samples of the service request topic and the response topic with the instance identification using the key.

한편, DDS 시스템은 토픽의 주소체계를 별도로 제시하지 않는다. DDS 기반의 토픽의 식별 체계는 인스턴스를 통해 사물을 데이터, 이벤트 및 서비스로 식별하고, 주소체계는 데이터 중심의 배포 서비스를 위한 네트워크 계층 기반의 데이터 전송 프로토콜인 RTPS를 이용한다. 즉, 사물 인터넷의 토픽은 DDS를 통해 자동적으로 주소체계를 관리하기 때문에 DCPS를 통해 인스턴스만 식별하면 RTPS를 알지 못하더라도 데이터, 이벤트 및 서비스에 대한 각 토픽의 샘플을 송수신할 수 있다.
On the other hand, the DDS system does not present the addressing system of the topic separately. The DDS-based topic identification system identifies objects as data, events and services through the instance, and the address system uses RTPS, a network layer-based data transfer protocol for data-centric distribution services. In other words, topics on the Internet manage DTP automatically, so if you only identify instances through DCPS, you can send and receive samples of each topic for data, events, and services even if you do not know RTPS.

도 16은 데이터 토픽의 수집에 대한 IDL 예제를 설명하는 도면이고, 도 17은 데이터 토픽의 수집에 대한 샘플 코드를 설명하는 도면이며, 도 18은 이벤트 토픽의 분배에 대한 IDL 예제를 설명하는 도면이고, 도 19는 이벤트 토픽의 분배에 대한 콘텐츠 필터링 샘플 코드를 설명하는 도면이다. FIG. 16 is a view for explaining an IDL example for collecting a data topic, FIG. 17 is a view for explaining sample code for collection of a data topic, FIG. 18 is a view for explaining an IDL example for distribution of an event topic , Figure 19 is a diagram illustrating content filtering sample code for distribution of event topics.

도 16 및 도 18은 데이터 토픽의 수집과 이벤트 토픽의 분배를 IDL로 명세한 예제이고, 도 17 및 도 19는 데이터 토픽과 이벤트 토픽을 발간/구독을 담당하는 샘플 코드이다. 샘플 코드에는 사물의 ID, 상호작용 타입(interactionType), 전송인자, 값을 각각 임의로 입력한다. Figs. 16 and 18 are examples of specifying a collection of data topics and distribution of event topics in IDL, and Figs. 17 and 19 are sample codes responsible for publishing / subscribing data topics and event topics. In the sample code, the ID of the object, the interaction type, the transfer factor, and the value are arbitrarily inputted.

도 17 및 도 19에 도시된 바와 같이, 데이터 토픽과 이벤트 토픽은 IDL을 통해 발간 부분과 구독 부분으로 나뉘며, DDS 엔티티를 생성하기 위해 도메인참가자(DomainParticipant)로 토픽, 발간자(Publisher), 데이터라이터(DataWriter)를 등록한 후 write() 함수를 이용하여 샘플을 발간한다. 구독 부분은 토픽, 구독자(Subscriber) 및 데이터리더(DataReader)를 생성하고, read() 또는 take() 함수를 통해 샘플을 수신한다. 조건에 해당하는 샘플만 구독하기 위한 샘플 수신 조건인 콘텐츠 필터링은 도 18에 도시된 바와 같이, 구독 부분이 콘텐츠필터토픽(ContentFilteredTopic)으로 토픽을 명시하고, 조건을 추가한다.
As shown in FIGS. 17 and 19, the data topic and the event topic are divided into a publication part and a subscription part through an IDL. In order to create a DDS entity, a domain participant includes a topic, a publisher, (DataWriter) and then publish the sample using the write () function. The subscription part creates a topic, a subscriber and a data reader, and receives a sample via the read () or take () function. Content filtering, which is a sample reception condition for subscribing only to a sample corresponding to a condition, specifies a topic as a content filter topic (ContentFilteredTopic) and adds a condition as shown in FIG.

도 20은 데이터 토픽과 이벤트 토픽을 송수신하기 위한 DDS 엔티티의 구성을 설명하는 도면이고, 도 21은 서비스 토픽을 송수신하기 위한 DDS 엔티티의 구성을 설명하는 도면이다. FIG. 20 is a view for explaining the configuration of a DDS entity for transmitting and receiving a data topic and an event topic, and FIG. 21 is a diagram for explaining the configuration of a DDS entity for transmitting and receiving a service topic.

도 20 및 도 21을 참고하면, 데이터 토픽과 이벤트 토픽을 발간/구독하기 위해 생성되는 DDS 엔티티는 도메인참가자, 발간자, 데이터라이터, 데이터리더, 구독자로 구성되며, 서비스 토픽을 송수신하기 위한 DDS 엔티티 구성도 도메인참가자, 발간자, 데이터라이터, 데이터리더 및 구독자로 구성되지만 서비스 요청 토픽과 서비스 응답 토픽에 해당하는 DDS 엔티티를 각각 생성한다.20 and 21, a DDS entity generated for publishing / subscribing a data topic and an event topic is composed of a domain participant, an author, a data writer, a data reader, and a subscriber, and includes a DDS entity The configuration also includes a DDS entity, which is composed of a domain participant, publisher, data writer, data reader, and subscriber, but corresponds to a service request topic and a service response topic, respectively.

사물인터넷(IoT; Internet of Things)은 사물들이 유무선 네트워크로 연결되어 유기적으로 정보를 주고받으면서 상호작용하는 개념으로 수많은 사물을 접근하고 정보를 송수신하기 위한 클라우드 기반의 사물인터넷(CoT; Cloud of Things) 구축이 필요하다. 클라우드 기반의 사물인터넷은 네트워크로 연결된 수많은 콘텐츠, 서비스와 사물은 대량으로 발생하는 정보를 효율적으로 관리하고 결합할 수 있어야 하며, 현재 구성된 시스템에 영향을 주지 않고 새로운 사물들을 동적으로 네트워크에 적용시켜 바로 통신 또는 서비스로 제공해야 한다. 또한, 대부분이 무선 환경의 사물이기 때문에 네트워크에 추가/변경/삭제가 동적으로 가능해야 하고, 신뢰성 및 실시간성 등의 메시지 송수신에 필요한 서비스 품질(QoS; Quality of Services)을 보장해야 한다.
Internet of Things (IoT) is a concept of interacting with objects connected to a wired / wireless network and organically exchanging information. It is a cloud-based Internet of Things (CoT) for accessing and transmitting information, Construction is necessary. Cloud-based objects The Internet needs to be able to efficiently manage and combine large amounts of information that is connected to the network through a large number of content, services, and objects, and to dynamically apply new objects to the network without affecting the currently configured system. Communication or service. In addition, since most of them are objects of wireless environment, it is necessary to be able to add / change / delete dynamically in the network, and to ensure quality of service (QoS) required for transmission and reception of messages such as reliability and real time.

상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that

100 : DDS 시스템
110 : 발간자 120 : 구독자
100: DDS system
110: publisher 120: subscriber

Claims (10)

발간/구독 모델의 데이터 분산 서비스(Data Distribution Service, DDS) 시스템에서 분산 환경의 이질적인 사물의 메시지들을 통합하는 방법에 있어서,
상기 DDS 기반으로 송수신되는 사물의 메시지를 사물의 기능에 따라 데이터, 이벤트 또는 서비스로 사물 타입을 분류하는 단계;
상기 분류한 사물 타입에 따라 데이터, 이벤트 또는 서비스를 동기/비동기 방식의 활성화 방식을 선택하며, 상기 선택한 활성 상태에 따라 상호작용(Interaction) 타입을 구분하여 DDS 기반의 각 토픽으로 명세하여 통합하는 단계; 및
상기 데이터, 이벤트 또는 서비스의 각 토픽을 실시간 발간/구독하도록 해당 토픽을 포함하는 DDS 엔티티를 동적으로 생성하는 단계를 포함하는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.

A method for integrating messages of heterogeneous objects in a distributed environment in a data distribution service (DDS) system of a publication / subscription model,
Classifying a message type of the object transmitted and received based on the DDS into a data type, an event type, or a service type according to a function of the object;
Selecting an activation method of data / event / service based on the classified object type, synchronizing / asynchronously activating the data, event, or service, specifying an interaction type according to the selected activation state, ; And
Dynamically generating a DDS entity including the topic to be published / subscribed to each topic of the data, event or service in real time.

제1항에 있어서,
상기 상호작용 타입은,
상기 데이터를 동기 방식의 수집(Collection) 및 비동기 방식의 로깅(Logging)으로 구분하고, 상기 이벤트를 동기 방식의 전파(Prppagation) 및 비동기 방식의 분배(Distribution)로 구분하여, 상기 서비스를 동기/비동기 방식의 응답 형태의 호출(Invocation)과 무응답 형태의 호출(Evocation)로 구분되는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
The method according to claim 1,
The interaction type comprises:
The data is divided into a collection of a synchronous method and a logging of an asynchronous method and the events are divided into a synchronous propagation method and an asynchronous method distribution, The method comprising the steps of: (a) receiving an invitation message from a user, and (b) invoking a response type of the response message.
제2항에 있어서,
상기 서비스의 응답 형태의 호출은 서비스 요청(Request) 정보와 응답(Response) 정보로 구분되고, 상기 무응답 형태의 호출은 요청 정보로 이루어진 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
3. The method of claim 2,
Wherein the call of the response type of the service is divided into service request information and response information, and the call of the non-response type comprises request information.
제1항에 있어서,
상기 상호작용 타입은 해당 토픽의 키(Key)로 이용되고, 상기 키를 통해 인스턴스를 식별하는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
The method according to claim 1,
Wherein the interaction type is used as a key of the topic, and identifies the instance through the key.
제4항에 있어서,
상기 토픽은 ID와 인스턴스를 식별 규칙으로 하고, 데이터 중심의 배포 서비스를 위한 네트워크 계층 기반의 데이터 전송 프로토콜인 RTPS(Real-Time Publish-Subscribe)를 이용하는 주소 체계를 가지는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
5. The method of claim 4,
Wherein the topic has an address system that uses an ID and an instance as identification rules and uses a Real-Time Publish-Subscribe (RTPS) as a network-layer-based data transmission protocol for data-centric distribution services. Based on heterogeneous object message integration methods.
제1항에 있어서,
상기 데이터 토픽과 이벤트 토픽은 사물의 발간자 ID, 상호 작용 타입, 전송인자(Parameter), 값(Value)을 포함하여 구성되는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
The method according to claim 1,
Wherein the data topic and the event topic are configured to include an issuer ID, an interaction type, a parameter, and a value of an object.
제1항에 있어서,
상기 서비스 토픽은 동기 방식의 경우에 서비스 요청 토픽과 서비스 응답 토픽으로 구분되고, 비동기 방식의 경우에 서비스 요청 토픽으로 이루지며,
상기 서비스 요청 토픽은 서비스 요청자 ID, 서비스 ID, 상호 작용 타입, 전송인자(Parameter), 값(Value)으로 구성되고, 상기 서비스 응답 토픽은 서비스 요청자 ID, 상호 작용 타입, 전송인자, 값을 포함하여 구성되는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
The method according to claim 1,
The service topic is divided into a service request topic and a service response topic in the case of the synchronous method, a service request topic in the case of the asynchronous method,
Wherein the service request topic comprises a service requester ID, a service ID, an interaction type, a parameter, and a value, the service response topic including a service requester ID, an interaction type, a transfer factor, The method of claim 1, further comprising:
제6항 또는 제7항에 있어서,
상기 전송인자와 값은 쌍으로 구성하여 샘플을 구성하는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
8. The method according to claim 6 or 7,
Wherein the transmission factor and the value are configured in pairs to form a sample.
제1항에 있어서,
상기 분류한 사물 타입에 따라 데이터, 이벤트 또는 서비스를 동기/비동기 방식에 따라 상호작용(Interaction) 타입을 구분하여 DDS 기반의 각 토픽으로 명세하여 통합하는 단계는,
사물 타입, 상호작용 타입, 활성 상태, DDS의 발간/구독, 토픽의 수, 일대일/일대다/다대일을 포함한 연결 형태 또는 컨텐츠 필터링 여부를 나타내는 각 항목들을 적어도 하나 이상을 포함하여 분류체계를 구성하고, 상기 분류 체계를 이용하여 상기 데이터, 이벤트 또는 서비스를 각각의 토픽으로 변환하는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
The method according to claim 1,
The step of classifying and interpreting data, events, or services according to the classified object type by dividing the interaction type according to the synchronous / asynchronous method into DDS-based topics,
A classification scheme including at least one item indicating a type of object, an interaction type, an active state, a publication / subscription of the DDS, a number of topics, a connection type including one to one / one to many / many to one, And converting the data, events, or services into respective topics using the classification system.
제9항에 있어서,
상기 토픽은 상기 분류체계에 의해 사물타입, 상호작용 타입, 활성화 방식, 해당 사물이 제공하는 토픽의 이름을 추가하여 URI 형태로 식별규칙을 표현하는 것을 특징으로 하는 사물 인터넷에서 DDS 기반의 이질적인 사물 메시지 통합 방법.
10. The method of claim 9,
Wherein the topic is represented by a URI type by adding a type of object, an interaction type, an activation type, and a name of a topic provided by the corresponding object according to the classification system. The DDS-based heterogeneous object message Integration method.
KR1020150016511A 2015-02-03 2015-02-03 Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things KR101602100B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150016511A KR101602100B1 (en) 2015-02-03 2015-02-03 Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150016511A KR101602100B1 (en) 2015-02-03 2015-02-03 Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things

Publications (1)

Publication Number Publication Date
KR101602100B1 true KR101602100B1 (en) 2016-03-10

Family

ID=55539258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150016511A KR101602100B1 (en) 2015-02-03 2015-02-03 Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things

Country Status (1)

Country Link
KR (1) KR101602100B1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180031216A (en) * 2016-09-19 2018-03-28 충남대학교산학협력단 Bluetooth low energy apapter and data exchange system employing the same
WO2018093351A1 (en) * 2016-11-15 2018-05-24 Intel Corporation Neworking internet of things (iot) devices
KR20190057984A (en) * 2017-11-21 2019-05-29 두산중공업 주식회사 Node management gateway device based on data distribution service in grid network and distribution network, and method thereof
KR102231481B1 (en) * 2019-12-10 2021-03-23 (주)구름네트웍스 A middleware apparatus of data distribution services for providing a efficient message loss detection and retransmission processing
CN116132539A (en) * 2023-03-23 2023-05-16 中国人民解放军军事科学院***工程研究院 Service anti-destruction interoperation method and device for narrowband weak connection

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101157039B1 (en) * 2012-01-06 2012-06-21 국방과학연구소 Dds bridge communication system and method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101157039B1 (en) * 2012-01-06 2012-06-21 국방과학연구소 Dds bridge communication system and method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
1. Vlacheas, P. and et al. "Enabling smart cities through a cognitive management framework for the internet of things", IEEE Communications Magazine, Vol. 51, Issue 6, pp. 102~111, June, 2013.
2. Mandler, B. and et al. "COMPOSE - A Journey from the Internet of Things to the Internet of Services", In proceeding of the 27th International Conference on Advanced Information Networking and Applications Workshops, pp. 1217~1222, March, 2013.
3. Wu Yuexin and et al. "Service-Oriented Middleware for Heterogeneous Environment in Internet of Things", Network Technology and Application, China Communication, pp. 41~51, September, 2012.

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180031216A (en) * 2016-09-19 2018-03-28 충남대학교산학협력단 Bluetooth low energy apapter and data exchange system employing the same
KR101911359B1 (en) 2016-09-19 2018-10-25 충남대학교산학협력단 Bluetooth low energy apapter and data exchange system employing the same
WO2018093351A1 (en) * 2016-11-15 2018-05-24 Intel Corporation Neworking internet of things (iot) devices
US10742760B2 (en) 2016-11-15 2020-08-11 Intel Corporation Neworking internet of things (IoT) devices
KR20190057984A (en) * 2017-11-21 2019-05-29 두산중공업 주식회사 Node management gateway device based on data distribution service in grid network and distribution network, and method thereof
KR101988130B1 (en) * 2017-11-21 2019-09-30 두산중공업 주식회사 Node management gateway device based on data distribution service in grid network and distribution network, and method thereof
US10862710B2 (en) 2017-11-21 2020-12-08 DOOSAN Heavy Industries Construction Co., LTD Node management gateway device in distribution network and grid network and method thereof
KR102231481B1 (en) * 2019-12-10 2021-03-23 (주)구름네트웍스 A middleware apparatus of data distribution services for providing a efficient message loss detection and retransmission processing
CN116132539A (en) * 2023-03-23 2023-05-16 中国人民解放军军事科学院***工程研究院 Service anti-destruction interoperation method and device for narrowband weak connection
CN116132539B (en) * 2023-03-23 2024-04-26 中国人民解放军军事科学院***工程研究院 Service anti-destruction interoperation method and device for narrowband weak connection

Similar Documents

Publication Publication Date Title
Hou et al. Internet of things cloud: Architecture and implementation
KR101602100B1 (en) Method for Integrating Heterogeneous Thing&#39;s messages based DDS in Internet of Things
JP7097525B2 (en) Internet of Things Resources Subscription Methods, Devices, and Systems
Yim et al. Description and classification for facilitating interoperability of heterogeneous data/events/services in the Internet of Things
US20150134727A1 (en) Cloud-based data server providing home appliance management service and method thereof
FI125252B (en) A method, device, and system for managing a web service
KR101602099B1 (en) System for Service inter-working based REST in Internet of Things and Method thereof
Sneps-Sneppe et al. About M2M standards and their possible extensions
CN112805981A (en) Framework for dynamic proxy and management of topics and data for a service layer
US11283668B2 (en) Method and apparatus in a web service system
Zhao et al. An event-driven service provisioning mechanism for IoT (Internet of Things) system interaction
CN110086759B (en) Method and device for realizing message transmission between heterogeneous systems
KR102345082B1 (en) Cloud based iec61850 information processing method
US9733999B1 (en) Dynamic optimization of application workflows
KR101663412B1 (en) Method for Defining Quality of Things based on DDS in Internet of Things
Zhao et al. Internet of things service provisioning platform for cross-application cooperation
KR101533671B1 (en) A method for forming container resource discriminated with user awareness information and recording medium and apparatus thereof
KR101915683B1 (en) Mqtt adaptor and topic processing method using the same
Schachinger et al. Interoperable integration of building automation systems using RESTful BACnet Web services
Van den Bossche et al. Specifying an MQTT tree for a connected smart home
CN109144919B (en) Interface switching method and device
Bartholet et al. Multi-protocol bridge generation for M2M communication using MQTT
KR101673755B1 (en) System for interoperation network of IoT and network of Zigbee based DDS and Method thereof
Giordano et al. Twitter to integrate human and Smart Objects by a Web of Things architecture
Romero et al. Integration of heterogeneous context resources in ubiquitous environments

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190226

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200224

Year of fee payment: 5