KR20150116344A - Method and apparatus for brokering internet of things - Google Patents

Method and apparatus for brokering internet of things Download PDF

Info

Publication number
KR20150116344A
KR20150116344A KR1020140041489A KR20140041489A KR20150116344A KR 20150116344 A KR20150116344 A KR 20150116344A KR 1020140041489 A KR1020140041489 A KR 1020140041489A KR 20140041489 A KR20140041489 A KR 20140041489A KR 20150116344 A KR20150116344 A KR 20150116344A
Authority
KR
South Korea
Prior art keywords
message
brokering
thing
platform
object device
Prior art date
Application number
KR1020140041489A
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 KR1020140041489A priority Critical patent/KR20150116344A/en
Publication of KR20150116344A publication Critical patent/KR20150116344A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/562Brokering proxy services

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 And Data Communications (AREA)

Abstract

The present invention relates to a method and an apparatus for brokering internet of things, in which a user can access, through a common application programming interface (API), the internet of things which dispersedly exist in several thing′s platforms without additional knowledge on each thing′s platform, in the internet of things environment that various thing′s platforms exist by converting a message into a message format according to a target thing′s device to transmit the same to a thing′s platform having a thing′s device registered therein.

Description

사물 인터넷 브로커링 방법 및 장치 {METHOD AND APPARATUS FOR BROKERING INTERNET OF THINGS}≪ Desc / Clms Page number 1 > METHOD AND APPARATUS FOR BROKERING INTERNET OF THINGS &

본 발명은 사물 인터넷에 관한 것으로서, 더욱 상세하게는 사물 플랫폼을 중개하는 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to the Internet of things, and more particularly, to a method for intermediating an object platform.

사물 통신(M2M, Machine To Machine Communication) 또는 사물 인터넷(IoT, Internet of Things)의 활성화로 다양한 사물들이 인터넷에 연결되어 사물이 제어되거나 관리되고 있다. 사물 인터넷 기술 발전 흐름은 홈, 빌딩, 에너지, 헬스 등과 같이 특정 산업 도메인을 위한 솔루션에서 현재 클라우드 기반 IoT 플랫폼으로 발전하고 있는 추세이다. 클라우드 기반 IoT 플랫폼이란 웹 기술 특히 RESTful(REpresentational State Transfer) API(Application Programming Interface) 기술을 이용하여 클라우드에 사물들의 상태가 주기적으로 업데이트되고, RESTful API 기술을 이용하여 클라우드에 저장된 사물들의 상태 값이 외부 사용자들에게 제공되는 PaaS(Platform As A Service) 형태의 서비스를 제공하는 플랫폼을 의미한다.With the activation of Machine To Machine Communication (M2M) or Internet of Things (IoT), various objects are connected to the Internet and objects are controlled or managed. The trend of Internet technology development is moving from solutions for specific industrial domains such as home, building, energy, health, etc. to current cloud-based IoT platform. The cloud-based IoT platform is a cloud-based IoT platform that periodically updates the state of objects in the cloud using Web technology, especially RESTful (REpresentational State Transfer) API (Application Programming Interface) technology. The state values of objects stored in the cloud Means a platform that provides services in the form of PaaS (Platform As Service) provided to users.

이러한 클라우드 기반 IoT 플랫폼은 웹 기술을 기반으로 하여, 간단하게 사용자가 원하는 사물들의 상태 값을 얻어 갈 수 있지만, 개별 IoT 플랫폼에서 자체적으로 API, 데이터 표현(Data Representation), 식별자(ID)를 정의하여 사용하기 때문에, 다양한 사물들을 접근하고자 하는 사용자 입장에서는 IoT 플랫폼의 이질성에 대한 문제점이 존재한다. 따라서, 사용자는 개별 IoT 플랫폼에 대한 데이터 표현과 데이터 접근을 위한 RESTful API를 숙지해야 하는 불편함을 가지는 문제점이 존재한다.
This cloud-based IoT platform is based on web technology and can easily obtain the state values of the objects desired by users. However, in the individual IoT platform, API, data representation and identifier (ID) are defined There is a problem with the heterogeneity of the IoT platform in terms of users who want to access various objects. Therefore, there is a problem that the user has to understand the RESTful API for data representation and data access for individual IoT platforms.

상기한 문제를 해결하기 위한 본 발명의 목적은 개별 IoT 플랫폼의 자체 데이터 표현, 데이터 접근 API, 식별자를 브로커링하는 사물 브로커링 방법 및 장치를 제공하는 것이다.
It is an object of the present invention to solve the above-mentioned problems, and it is an object of the present invention to provide an object brokering method and apparatus for brokering an identifier of an individual IoT platform.

상기한 문제를 해결하기 위한 본 발명의 일 실시 예들에 따른 사물 브로커링 방법은 사물 브로커링 장치에 의하여 수행되는 사물 브로커링 방법에 있어서, 사용자 단말로부터 메시지를 수신하는 단계; 상기 수신한 메시지를 사용하여 대상 사물 디바이스를 결정하는 단계; 상기 수신한 메시지를 대상 사물 디바이스가 등록된 사물 플랫폼에서 허용하는 메시지 포맷으로 변환하는 단계; 및 상기 변환된 메시지를 상기 대상 사물 디바이스가 등록된 사물 플랫폼으로 전송하는 단계를 포함한다.
According to another aspect of the present invention, there is provided a method for brokering objects, comprising the steps of: receiving a message from a user terminal; Determining a target object device using the received message; Converting the received message into a message format allowed by the object platform in which the target object device is registered; And transmitting the converted message to the object platform on which the target object device is registered.

전술한 본 발명의 일 실시 예들에 따른 사물 브로커링 방법 및 장치는 대상 사물 디바이스가 등록된 사물 플랫폼에 따른 메시지 포맷으로 메시지를 변환하여 사물 플랫폼으로 전송함으로써, 다양한 사물 플랫폼이 존재하는 사물 인터넷 환경에서 사용자가 공통 API를 통하여 개별 사물 플랫폼 각각에 대한 별도의 지식 없이도 여러 사물 플랫폼에 분산 존재하는 사물 디바이스에 접근할 수 있는 효과를 제공한다.
The object brokering method and apparatus according to one embodiment of the present invention may be configured such that a target object device converts a message into a message format according to a registered object platform and transmits the message to the object platform, The user can access object devices distributed on various object platforms without knowledge of each object platform through a common API.

도 1은 본 발명의 일 실시 예에 따른 사물 브로커링 방법이 수행되는 사물 인터넷 환경을 도시하는 도면이다.
도 2는 본 발명의 일 실시 예에 따른 사물 브로커링 장치의 블록도이다.
도 3은 본 발명의 일 실시 예에 따른 사물 브로커링 장치가 수행하는 사물 브로커링 방법을 설명하는 순서도이다.
도 4는 사물 브로커링 장치가 사물 디바이스 검색을 수행하는 방법을 설명하는 순서도이다.
도 5는 사물 브로커링 장치가 공통 API 요청 메시지 처리를 수행하는 방법을 설명하는 순서도이다.
도 6은 사물 브로커링 장치가 응답 메시지 처리를 수행하는 방법을 설명하는 순서도이다.
FIG. 1 is a diagram illustrating an object Internet environment in which a method for brokering objects according to an exemplary embodiment of the present invention is performed.
2 is a block diagram of an apparatus for broaching objects according to an embodiment of the present invention.
FIG. 3 is a flowchart illustrating a method for brokering objects performed by a broker for object brokering according to an embodiment of the present invention.
4 is a flow chart illustrating a method for a thing brokering device to perform object device search.
5 is a flowchart illustrating a method for a thing brokering apparatus to perform common API request message processing;
6 is a flowchart illustrating a method by which the object brokering apparatus performs response message processing.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시 예를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다.While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.

그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.

제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.The terms first, second, etc. may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, 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. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. It is to be understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, . On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used in this application is used only to describe a specific embodiment and is not intended to limit the invention. The singular expressions include plural expressions unless the context clearly dictates otherwise. In the present application, the terms "comprises" or "having" and the like are used to specify that there is a feature, a number, a step, an operation, an element, a component or a combination thereof described in the specification, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가진 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시 예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다.
Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.

이하 첨부된 도면을 참조하여 본 발명의 실시 예를 보다 상세히 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시 예에 따른 사물 브로커링 방법이 적용되는 사물 인터넷 환경을 도시하는 도면이다. 사물 인터넷의 일반적인 환경은 사물 디바이스(100), IoT 게이트웨이(200), IoT 플랫폼(300), 사물 브로커링 장치(400) 및 사용자 단말(10)을 포함하며, 관리자 단말(20)이 더 포함될 수 있다. 다른 실시 예에서, 특정 사용자 단말(10)은 관리자 단말(20)일 수 있다. 관리자 단말(20)은 사물 브로커링 장치(400)에 사물 디바이스의 등록, 수정, 등록 해지를 할 수 있으며, 경우에 따라 사물 브로커링 장치 외에 자체적 IoT 플랫폼을 제공하는 비즈니스에서는 IoT 플랫폼(300)에 사물 디바이스의 등록, 수정, 등록 해지를 할 수도 있다.FIG. 1 is a diagram illustrating an object Internet environment to which a method for brokering objects according to an embodiment of the present invention is applied. The general environment of the object Internet includes object device 100, IoT gateway 200, IoT platform 300, object brokering device 400 and user terminal 10, and may further include an administrator terminal 20 have. In another embodiment, the particular user terminal 10 may be an administrator terminal 20. The administrator terminal 20 can register, modify, and unregister object devices in the object brokering device 400. In some cases, a business that provides its own IoT platform in addition to the object brokering device, The object device can be registered, modified, or unregistered.

사물 디바이스(100)는 IoT 게이트웨이(200)와 연결된다. 물리적 링크에 종속적인 통신 프로토콜을 사용하여, 사물 디바이스들의 상태가 IoT 게이트웨이에 전달되며, IoT 게이트웨이에서 사물 디바이스로 제어 메시지가 전달된다.The object device 100 is connected to the IOT gateway 200. Using the physical link-dependent communication protocol, the state of the object devices is transferred to the IoT gateway, and the control message is transferred from the IoT gateway to the object device.

IoT 게이트웨이(200)는 IoT 플랫폼(300)에 연결되어 RESTful과 같은 웹 기반 서비스 기술을 이용하여 사물 디바이스의 상태를 IoT 플랫폼에 전달할 수 있고, IoT 플랫폼으로부터 사물 제어 메시지를 전달받는다. 또는 IoT 게이트웨이(200)는 제어부를 포함하여 사물 디바이스(100)를 직접 제어할 수도 있다. 이러한 사물 인터넷 환경에서 사용자 단말(10)은 자신이 원하는 사물 디바이스의 상태 값을 이용하기 위하여 해당 사물 디바이스가 등록된 IoT 플랫폼에 접속하여 IoT 플랫폼에서 허용하는 RESTful API를 이용하여 사물 디바이스의 상태 값을 얻어야 한다.The IoT gateway 200 is connected to the IoT platform 300 and can transfer the status of the object device to the IoT platform using a Web-based service technology such as RESTful, and receives the object control message from the IoT platform. Or the IOT gateway 200 may directly control the object device 100 including the control unit. In order to use the state value of the object device in the object internet environment, the user terminal 10 accesses the IoT platform in which the object device is registered and uses the RESTful API permitted in the IoT platform to calculate the state value of the object device You must.

사물 브로커링 장치는(400) 다양한 IoT 플랫폼(300)들 간에서 사물 데이터 값 접근 API, 데이터 표현(Data Representation), 식별자에 대한 이질성을 브로커링한다. 이를 위해 사물 브로커링 장치(400)는 다양한 IoT 플랫폼의 API를 대표할 수 있는 단일화된 공통 API를 외부에 공개한다. 사용자 단말(10)은 자신이 원하는 사물 디바이스의 값을 얻기 위해 해당 사물이 등록된 IoT 플랫폼(300)에 직접 접속하여 해당 IoT 플래폼에서 허용하는 API와 데이터 표현 및 식별자를 사용할 필요없이 단일 창구인 사물 브로커링 장치(400)에 접속하여 공통 API를 통하여 자신이 원하는 사물 디바이스의 상태 값에 접근할 수 있다.
The object brokering device (400) brokers object data value access API, data representation, and heterogeneity for identifiers among the various IoT platforms (300). To this end, the object brokering device 400 discloses a unified common API that can represent APIs of various IoT platforms. The user terminal 10 directly accesses the IoT platform 300 in which the corresponding object is registered in order to obtain the value of the object device desired by the user terminal 10, It is possible to access the broker device 400 and access the state value of a desired object device through the common API.

도 2는 본 발명의 일 실시 예에 따른 사물 브로커링 장치(400)의 블록도이다. 사물 브로커링 장치(400)는 사물 디바이스 정보 관리부(410), 사물 디바이스 정보 저장소(420), 사물 디바이스 검색부(430), 공통 API 요청 메시지 처리부(440), 메시지 변환 플러그인(450), 응답 메시지 처리부(460), 입출력부(470) 및 제어부(480)를 포함한다.2 is a block diagram of a material broaching device 400 according to an embodiment of the present invention. The object brokering apparatus 400 includes a object device information management unit 410, a object device information storage 420, a object device search unit 430, a common API request message processing unit 440, a message conversion plugin 450, A processing unit 460, an input / output unit 470, and a control unit 480.

사물 디바이스 정보 관리부(410)는 사물 디바이스의 상세 정보를 등록하고 변경하며, 사물 디바이스의 상세 정보의 등록 해지를 수행한다.The object device information management unit 410 registers and changes the detailed information of the object device, and performs the registration termination of the detailed information of the object device.

사물 디바이스 정보 저장소(420)는 사물 디바이스의 상세 정보를 저장한다. 예를 들어, 사물 디바이스 정보 저장소(420)는 사물 브로커링 장치에서 부여한 사물 디바이스 식별자(ID), 위도와 경도 같은 사물 디바이스의 지리적 위치, 사물 디바이스의 설명문구와 같은 사물 디바이스의 설명을 포함할 수 있다. 또한, 사물 디바이스 정보 저장소(420)는 이에 더하여, 사물 디바이스의 이름, 태그, API 타겟 주소(API Endpoint)(해당 사물 디바이스 정보를 얻어올 수 있는 타겟 URL), 타겟 ID(해당 사물 디바이스가 등록된 IoT 플랫폼에서의 해당 디바이스 식별자), 변환 플러그인 식별자(적용할 변환 모듈 식별자) 등과 같은 사물 디바이스의 상세 정보를 더 저장할 수 있다.The object device information storage 420 stores detailed information of object devices. For example, the object device information store 420 may include an object device identifier (ID) assigned by the object brokering device, a geographical location of the object device, such as latitude and longitude, a description of the object device, have. In addition, the object device information storage 420 further includes a name of object device, a tag, an API target address (API Endpoint) (a target URL from which object device information can be obtained), a target ID The corresponding device identifier in the IoT platform), a conversion plug-in identifier (conversion module identifier to be applied), and the like.

사물 디바이스 검색부(430)는 사용자가 자신이 원하는 사물 디바이스를 검색할 수 있도록 사용자의 입력 키워드에 매칭되는 사물 디바이스를 검색하여 그 결과를 반환한다. 사물 디바이스 검색부(430)는 용어 사전을 내부적으로 포함하여 사용자의 입력 키워드의 유사어까지 키워드를 확장할 수 있다.The object device search unit 430 searches for a object device matching the input keyword of the user so that the user can search for the object device desired by the user, and returns the result. The object device search unit 430 may extend a keyword up to the analogy of the input keyword of the user by internally including the term dictionary.

사물 디바이스 검색부(430)는 사물 디바이스 정보 저장소(420)에 저장된 사물 디바이스의 설명, 이름, 태그 필드에서 사용자 입력 키워드에 매칭되는 디바이스를 검색한다. The object device search unit 430 searches for a device matching the user input keyword in the description, name, and tag field of the object device stored in the object device information storage 420.

더하여, 사용자 입력 키워드는 위치 정보를 포함할 수 있다. 키워드에 위치 정보가 포함된 경우, 사물 디바이스 검색부(430)는 키워드에 포함된 위치 정보로 지정되는 위치를 기준으로 특정 반경까지 커버되는 디바이스를 검색한다. 예를 들어, 사물 디바이스 검색부(430)는 키워드에 포함된 위치 정보로 지정되는 위치에서 미리 설정된 거리 내에 위치하는 사물 디바이스를 검색할 수 있다. 허용 반경은 사용자가 입력할 수도 있고 시스템 내부적으로 미리 정의될 수도 있다. In addition, the user input keywords may include location information. If the keyword includes positional information, the object device search unit 430 searches for a device covered to a specific radius based on a position designated by the positional information included in the keyword. For example, the object device search unit 430 can search for object devices located within a predetermined distance at a position designated by the position information included in the keyword. The allowable radius can be entered by the user or predefined internally in the system.

공통 API 요청 메시지 처리부(440)는 공통 API 요청 메시지를 수신하고, 요청 메시지에 포함된 디바이스 식별자에 해당하는 사물 상세 정보를 사물 디바이스 정보 저장소(420)로부터 조회한다. 조회된 사물 상세 정보 중 변환 플러그인 식별자에 대응되는 변환 플러그인(450)을 호출하여 요청 메시지를 변환한 후, API 타겟주소로 변환된 메시지를 전달한다.The common API request message processing unit 440 receives the common API request message and inquires from the object device information storage 420 about the object detail information corresponding to the device identifier included in the request message. Converts the request message by calling the conversion plug-in 450 corresponding to the conversion plug-in identifier in the inquired object detail information, and delivers the converted message to the API target address.

응답 메시지 처리부(460)는 응답 메시지를 수신한 후, 사용자 단말로부터 요청된 응답 데이터 표현에 맞게 수신한 응답 메시지를 변환한 후 사용자 단말에 반환한다. 메시지 변환 플러그인(450)은 개별 IoT 플랫폼에 대한 메시지 변환 과정을 수행한다.After receiving the response message, the response message processing unit 460 converts the response message received according to the response data expression requested from the user terminal and returns the response message to the user terminal. The message conversion plug-in 450 performs a message conversion process for the individual IoT platform.

입출력부(470)는 사물 브로커링 장치(400)와 사용자 단말(10), 관리자 단말(20) 및 IoT 플랫폼 중 적어도 어느 하나와의 데이터 통신을 수행한다. The input / output unit 470 performs data communication with the object brokering apparatus 400, at least one of the user terminal 10, the administrator terminal 20, and the IOT platform.

제어부(480)는 사물 디바이스 정보 관리부(410), 사물 디바이스 정보 저장소(420), 사물 디바이스 검색부(430), 공통 API 요청 메시지 처리부(440), 메시지 변환 플러그인(450), 응답 메시지 처리부(460) 및 입출력부(470)를 제어하여, 입출력부(470)를 통하여 수신되는 메시지에 따른 처리를 수행하도록 사물 브로커링 장치(400)를 제어한다. 예를들어, 제어부(480)는 수신한 메시지를 분석하여, 수신한 메시지에 따라 사물 브로커링 장치(400)를 제어하여 사물 디바이스 정보 관리, 사물 디바이스 검색, 공통 API 요청 메시지 처리 및 응답 메시지 처리를 수행한다.
The control unit 480 controls the object device information management unit 410, the object device information storage unit 420, the object device search unit 430, the common API request message processing unit 440, the message conversion plugin 450, And the input / output unit 470, and controls the object broaching apparatus 400 to perform processing according to a message received through the input / output unit 470. [ For example, the control unit 480 analyzes the received message and controls the object brokering apparatus 400 according to the received message to perform object device information management, object device search, common API request message processing, and response message processing .

도 3은 본 발명의 일 실시 예에 따른 사물 브로커링 장치가 수행하는 사물 브로커링 방법을 설명하는 순서도이다. 먼저, 사물 브로커링 장치는 사용자 단말(10), 관리자 단말(20) 및 IoT 플랫폼(300) 중 적어도 하나로부터 사물 메시지 수신을 대기하며 메시지를 수신한다(S302). 사물 브로커링 장치는 메시지를 수신한 경우(S304), 수신한 메시지를 분석한다(S306). 그리고 사물 브로커링 장치는 수신한 메시지의 분석 결과에 따라 메시지에 따른 처리를 수행한다. 아래의 S308단계 내지 S315단계는 사물 브로커링 장치가 수신한 메시지의 분석 결과에 따라 메시지에 따른 처리를 수행하는 예를 설명한다.FIG. 3 is a flowchart illustrating a method for brokering objects performed by a broker for object brokering according to an embodiment of the present invention. First, the object brokering apparatus waits for receipt of a message from at least one of the user terminal 10, the administrator terminal 20, and the IO platform 300, and receives the message (S302). If the message is received (S304), the object brokering apparatus analyzes the received message (S306). Then, the object brokering device performs processing according to the message according to the analysis result of the received message. The following steps S308 to S315 illustrate an example of processing according to a message according to the analysis result of the message received by the object brokerage apparatus.

사물 브로커링 장치는 수신한 메시지가 사물 디바이스 관리 요청 메시지인 지를 판단한다(S308). 사물 브로커링 장치는 수신한 메시지가 사물 디바이스 관리 요청 메시지인 경우 사물 디바이스 정보 관리를 수행한다(S309). 사물 브로커링 장치는 수신한 메시지의 유형(예를들어, 등록, 수정, 등록 해지)에 따라 사물 디바이스 정보 저장소(420)에 사물 디바이스의 정보 엔트리를 새로 추가, 변경 또는 삭제함으로써 사물 디바이스의 정보 관리를 수행할 수 있다.The object brokering apparatus determines whether the received message is the object device management request message (S308). If the received message is a device management request message, the object brokering device performs object device information management (S309). The object brokering apparatus newly adds, changes, or deletes information entries of object devices to the object device information storage 420 according to the type of the received message (for example, registration, modification, registration release) Can be performed.

사물 브로커링 장치는 수신한 메시지가 사물 디바이스 관리 요청 메시지가 아닌 경우, 사물 브로커링 장치는 수신한 메시지가 사물 디바이스 검색 요청인 지를 판단한다(S310). 사물 브로커링 장치는 수신한 메시지가 사물 디바이스 검색 요청인 경우 사물 디바이스 검색을 수행한다(S311). 사물 디바이스 검색 방법은 도 4를 참조하여 이후에 별도로 설명한다.If the received message is not the object device management request message, the object brokering device determines whether the received message is the object device search request (S310). If the received message is a request for searching for a device, the device for brokering the object performs device search (S311). The object device search method will be described later separately with reference to FIG.

사물 브로커링 장치는 수신한 메시지가 사물 디바이스 검색 요청이 아닌 경우, 사물 브로커링 장치는 수신한 메시지가 공통 API 기반 요청 메시지인 지를 판단한다(S312). 사물 브로커링 장치는 수신한 메시지가 공통 API 기반 요청 메시지인 경우 공통 API 요청 메시지 처리를 수행한다(S313). 사물 브로커링 장치는 다양한 사물 플랫폼의 개별 API를 대표하는 공통 API를 이용하여 단일한 방법으로 사용자가 원하는 사물 디바이스에 접근할 수 있도록 공통 API 요청 메시지를 처리 한다. 공통 API 요청 메시지 처리 방법은 도 5를 참조하여 이후에 별도로 설명한다.If the received message is not the object device search request, the object brokering device determines whether the received message is a common API based request message (S312). When the received message is a common API-based request message, the object brokering device performs a common API request message process (S313). The object brokering device processes a common API request message so that a user can access a desired object device in a single method using a common API representing individual APIs of various object platforms. The common API request message processing method will be described later separately with reference to FIG.

사물 브로커링 장치는 수신한 메시지가 공통 API 기반 요청 메시지가 아닌 경우, 사물 브로커링 장치는 수신한 메시지가 공통 API 요청에 대한 응답 메시지인지를 판단한다(S314). 사물 브로커링 장치는 수신한 메시지가 공통 API 요청에 대한 응답 메시지인 경우 응답 메시지 처리를 수행한다(S315). 응답 메시지 처리 방법은 도 6을 참조하여 이후에 별도로 설명한다.If the received message is not a common API based request message, the object brokering device determines whether the received message is a response message to the common API request (S314). The object brokering apparatus performs response message processing when the received message is a response message to the common API request (S315). The response message processing method will be described later separately with reference to FIG.

사물 브로커링 장치는 메시지에 따라 요구되는 처리를 수행한 후 종료조건에 해당되었는지를 확인하고, 종료조건이 달성되지 않았으면 다시 메시지 수신 대기(S302)상태로 복귀하고, 종료조건이 달성되었으면 사물 브로커링 방법의 수행을 종료한다(S316).If the end condition is not satisfied, the object brokering apparatus returns to the message reception standby state (S302) again. If the end condition is satisfied, the object broker The ring method is terminated (S316).

한편, 사물 브로커링 장치는 메시지에 대응하여 처리할 작업이 존재하지 않는 경우, 해당 메시지에 대하여는 작업을 수행하지 않고, 종료조건의 달성 여부에 따라 다음 메시지를 수신할 지 또는 작동을 중단할 지를 결정할 수 있다(S316). 예를 들어, 사물 브로커링 장치는 수신한 메시지가 공통 API 요청에 대한 응답 메시지가 아닌 경우, 수신한 메시지에 대하여는 미리 설정된 처리를 수행할 수 없으므로, 종료조건의 달성 여부에 따라 다음 메시지를 수신할 지 또는 사물 브로커링 방법의 수행을 중단할 지를 결정할 수 있다.
On the other hand, if there is no job to be processed in response to a message, the object brokering device does not perform an operation for the message, and determines whether to receive the next message or stop the operation according to whether the end condition is achieved (S316). For example, if the received message is not a response message to the common API request, the object brokering device can not perform a predetermined process on the received message. Therefore, Or to stop performing the method of object brokering.

도 4는 사물 브로커링 장치가 사물 디바이스 검색을 수행하는 방법을 설명하는 순서도이다. 먼저, 사물 브로커링 장치는 검색 키워드 조건식을 분석하여 키워드에 포함된 용어를 분리한다(S402). 그리고 사물 브로커링 장치는 키워드 조건식을 확장한다(S404). 예를들어, 사물 브로커링 장치는 용어 사전으로부터 용어의 유사어를 추출하여 키워드 조건식에 유사어를 더 포함시켜 키워드 조건식을 확장할 수 있다.4 is a flow chart illustrating a method for a thing brokering device to perform object device search. First, the object brokering apparatus analyzes the search keyword conditional expression to separate the terms included in the keyword (S402). Then, the object brokering apparatus expands the keyword conditional expression (S404). For example, the object brokering apparatus can extend the keyword conditional expression by extracting a similar term of the term from the term dictionary and further including a similar term in the keyword conditional expression.

다음으로, 사물 브로커링 장치는 키워드 조건식을 사용하여 사물 디바이스 검색을 수행한다(S406). 예를 들어, 사물 브로커링 장치는 사물 디바이스 정보 저장소에 등록된 사물 디바이스 정보 중 디바이스 설명, 디바이스 이름, 태그 필드에 키워드 조건식을 적용하여 검색을 수행할 수 있다.Next, the object brokering apparatus performs the object device search using the keyword conditional expression (S406). For example, the object brokering apparatus can perform a search by applying a keyword conditional expression to a device description, a device name, and a tag field among the object device information registered in the object device information storage.

한편, 사물 브로커링 장치는 키워드 조건식에 위치 정보가 포함되어 있으면(S408), S406 단계에서 검색된 검색 결과를 위치 정보를 사용하여 필터링을 수행하고, 필터링된 검색 결과를 검색을 요청한 단말에게 반환한다(S412). 예를 들어, 사물 브로커링 장치는 S406 단계에서 검색되어 추출된 사물 디바이스 중에서, 사물 디바이스의 상세 정보에 포함된 위치 필드와 키워드 조건식에 포함된 위치 정보를 사용하여 미리 설정된 허용 반경 내에 존재하는 사물 디바이스들이 검색결과로 반환되도록 검색 결과에 필터링을 수행할 수 있다. 이 때, 허용 반경은 검색 키워드 조건식에 포함될 수도 있고 또는 시스템에서 미리 특정 값으로 설정할 수도 있다.On the other hand, if location information is included in the keyword conditional expression (S408), the object brokering apparatus performs filtering using the location information in S406 and returns the filtered search result to the terminal requesting the search S412). For example, the object brokering device may extract, from among the object devices searched and extracted in step S406, position information included in the detail information of the object device and position information included in the keyword condition expression, Can be filtered in the search result so that they are returned as search results. At this time, the allowable radius may be included in the search keyword conditional expression or may be set to a specific value in advance in the system.

한편, 사물 브로커링 장치는 키워드 조건식에 위치정보가 포함되어 있지 않으면, 위치정보를 사용하여 필터링을 수행하지 않고 검색 결과를 그대로 반환한다(S412).
On the other hand, if location information is not included in the keyword conditional expression, the object brokering apparatus returns the search result without performing filtering using the location information (S412).

도 5는 사물 브로커링 장치가 공통 API 요청 메시지 처리를 수행하는 방법을 설명하는 순서도이다. 먼저, 사물 브로커링 장치는 공통 API 요청 메시지에서 응답 데이터 표현으로 요청된 데이터 표현을 저장한다(S502). 예를들어, 사물 브로커링 장치는 공통 API 요청 메시지에 포함된 패러미터 중 사용자가 응답으로 받길 원하는 응답 데이터 표현으로 요청된 데이터 표현을 저장할 수 있다. 다음으로, 사물 브로커링 장치는 요청 메시지에 포함된 사물 디바이스 식별자에 대응하는 사물 상세 정보를 조회한다(S504). 예를 들어, 사물 브로커링 장치는 요청 메시지에 포함된 사물 디바이스 식별자에 대응하는 사물 상세 정보를 사물 디바이스 정보 저장소로부터 조회할 수 있다. 다음으로, 사물 브로커링 장치는 변환 플러그인을 호출한다(S506). 예를들어, 사물 브로커링 장치는 조회된 정보 중에서 해당 디바이스의 변환 플러그인 식별자에 대응하는 변환 플러그인을 호출한다(S506). 호출된 변환 플러그인은 공통 API 기반 요청 메시지를 타겟 IoT 플랫폼에서 허용하는 요청 메시지로 변환을 수행한다(S508). 마지막으로, 사물 브로커링 장치는 API 타겟주소로 변환된 메시지를 전달한다(S510). 예를들어, 사물 브로커링 장치는 조회된 사물 디바이스의 상세 정보에 포함된 API 타겟주소로 변환된 메시지를 전달할 수 있다. 사물 브로커링 장치는 변환된 메시지를 상기 대상 사물 디바이스가 등록된 IoT 플랫폼으로 전송할 수 있다.
5 is a flowchart illustrating a method for a thing brokering apparatus to perform common API request message processing; First, the object brokerage device stores the requested data representation in the response data representation in the common API request message (S502). For example, the object brokering device may store the requested data representation in the response data representation that the user wishes to receive in the response, among the parameters included in the common API request message. Next, the object brokering apparatus inquires the object detail information corresponding to the object device identifier included in the request message (S504). For example, the object brokering device may inquire from the object device information store the object detail information corresponding to the object device identifier included in the request message. Next, the object brokering apparatus calls the conversion plug-in (S506). For example, the object brokering device calls the conversion plug-in corresponding to the conversion plug-in identifier of the device among the inquired information (S506). The called conversion plug-in performs conversion of the common API-based request message into a request message allowing the target IoT platform (S508). Finally, the object brokering device delivers the converted message to the API target address (S510). For example, the object brokering device can deliver the converted message to the API target address contained in the detailed information of the inquired object device. The object brokering device may transmit the converted message to the IoT platform in which the target object device is registered.

도 6은 사물 브로커링 장치가 응답 메시지 처리를 수행하는 방법을 설명하는 순서도이다. 먼저, 사물 브로커링 장치는 사용자 단말이 공통 API 요청시 응답 데이터 표현으로 요청한 데이터 표현에 상응하도록 응답 메시지를 변환한다(S602). 예를 들어, 사물 브로커링 장치는 사용자 단말이 공통 API 요청시 요청했던 응답으로 원하는 데이터 표현에 맞게 응답 메시지를 변환할 수 있다. 다음으로, 사물 브로커링 장치는 사용자 단말에게 변환된 응답 메시지를 반환한다(S604).
6 is a flowchart illustrating a method by which the object brokering apparatus performs response message processing. First, the object brokering device transforms the response message so that the user terminal responds to the data expression requested in the response data representation in the common API request (S602). For example, the object brokering device may transform the response message to a desired data representation in response to the user terminal requesting a common API request. Next, the object brokering apparatus returns the converted response message to the user terminal (S604).

이상에서 설명한 본 발명은 일련의 기능 블록들을 기초로 설명되고 있지만, 전술한 실시 예 및 첨부된 도면에 의해 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.While the invention has been shown and described with reference to certain preferred embodiments thereof, it will be understood by those of ordinary skill in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims. It will be apparent to those skilled in the art that the present invention can be carried out without departing from the spirit and scope of the invention.

전술한 실시 예들의 조합은 전술한 실시 예에 한정되는 것이 아니며, 구현 및/또는 필요에 따라 전술한 실시 예들 뿐만 아니라 다양한 형태의 조합이 제공될 수 있다.The combination of the above-described embodiments is not limited to the above-described embodiment, and various combinations of types as well as the above-described embodiments may be provided according to implementation and / or necessity.

전술한 실시 예들에서, 방법들은 일련의 단계 또는 블록으로서 순서도를 기초로 설명되고 있으나, 본 발명은 단계들의 순서에 한정되는 것은 아니며, 어떤 단계는 상술한 바와 다른 단계와 다른 순서로 또는 동시에 발생할 수 있다. 또한, 당해 기술 분야에서 통상의 지식을 가진 자라면 순서도에 나타난 단계들이 배타적이지 않고, 다른 단계가 포함되거나, 순서도의 하나 또는 그 이상의 단계가 본 발명의 범위에 영향을 미치지 않고 삭제될 수 있음을 이해할 수 있을 것이다.In the above-described embodiments, the methods are described on the basis of a flowchart as a series of steps or blocks, but the present invention is not limited to the order of steps, and some steps may occur in different orders or in a different order than the steps described above have. It will also be understood by those skilled in the art that the steps depicted in the flowchart illustrations are not exclusive and that other steps may be included or that one or more steps in the flowchart may be deleted without affecting the scope of the invention You will understand.

전술한 실시 예는 다양한 양태의 예시들을 포함한다. 다양한 양태들을 나타내기 위한 모든 가능한 조합을 기술할 수는 없지만, 해당 기술 분야의 통상의 지식을 가진 자는 다른 조합이 가능함을 인식할 수 있을 것이다. 따라서, 본 발명은 이하의 특허청구범위 내에 속하는 모든 다른 교체, 수정 및 변경을 포함한다고 할 것이다.
The foregoing embodiments include examples of various aspects. While it is not possible to describe every possible combination for expressing various aspects, one of ordinary skill in the art will recognize that other combinations are possible. Accordingly, it is intended that the invention include all alternatives, modifications and variations that fall within the scope of the following claims.

Claims (1)

사물 브로커링 장치에 의하여 수행되는 사물 브로커링 방법에 있어서,
사용자 단말로부터 메시지를 수신하는 단계;
상기 수신한 메시지를 사용하여 대상 사물 디바이스를 결정하는 단계;
상기 수신한 메시지를 대상 사물 디바이스가 등록된 IoT 플랫폼에서 허용하는 메시지 포맷으로 변환하는 단계; 및
상기 변환된 메시지를 상기 대상 사물 디바이스가 등록된 IoT 플랫폼으로 전송하는 단계를 포함하는 것을 특징으로 하는 사물 브로커링 방법.
A method for broaching objects, performed by a broaching device,
Receiving a message from a user terminal;
Determining a target object device using the received message;
Converting the received message into a message format allowed by the IoT platform in which the target object device is registered; And
And transmitting the converted message to the IoT platform on which the target object device is registered.
KR1020140041489A 2014-04-07 2014-04-07 Method and apparatus for brokering internet of things KR20150116344A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140041489A KR20150116344A (en) 2014-04-07 2014-04-07 Method and apparatus for brokering internet of things

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140041489A KR20150116344A (en) 2014-04-07 2014-04-07 Method and apparatus for brokering internet of things

Publications (1)

Publication Number Publication Date
KR20150116344A true KR20150116344A (en) 2015-10-15

Family

ID=54356950

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140041489A KR20150116344A (en) 2014-04-07 2014-04-07 Method and apparatus for brokering internet of things

Country Status (1)

Country Link
KR (1) KR20150116344A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018097572A1 (en) * 2016-11-23 2018-05-31 부산대학교 산학협력단 Internet of things resource management system and method
KR20180095260A (en) * 2017-02-17 2018-08-27 박상준 Apparatus and method for providing of IoT service
CN108848025A (en) * 2018-06-26 2018-11-20 中国联合网络通信集团有限公司 Gateway, internet of things equipment and system, register method and information processing method
US10284684B2 (en) 2016-09-14 2019-05-07 Microsoft Technology Licensing, Llc IoT hardware certification
US11316683B2 (en) * 2019-11-18 2022-04-26 Ciot Systems and methods for providing IoT security service using hardware security module
KR20230102103A (en) * 2021-12-30 2023-07-07 주식회사 케이아이씨텍 METHOD AND SYSTEM FOR TRANSFERRING IoT DATA USING REST BROKER

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10284684B2 (en) 2016-09-14 2019-05-07 Microsoft Technology Licensing, Llc IoT hardware certification
WO2018097572A1 (en) * 2016-11-23 2018-05-31 부산대학교 산학협력단 Internet of things resource management system and method
KR20180095260A (en) * 2017-02-17 2018-08-27 박상준 Apparatus and method for providing of IoT service
CN108848025A (en) * 2018-06-26 2018-11-20 中国联合网络通信集团有限公司 Gateway, internet of things equipment and system, register method and information processing method
CN108848025B (en) * 2018-06-26 2021-04-13 中国联合网络通信集团有限公司 Data processing method, intelligent gateway and Internet of things system
US11316683B2 (en) * 2019-11-18 2022-04-26 Ciot Systems and methods for providing IoT security service using hardware security module
KR20230102103A (en) * 2021-12-30 2023-07-07 주식회사 케이아이씨텍 METHOD AND SYSTEM FOR TRANSFERRING IoT DATA USING REST BROKER

Similar Documents

Publication Publication Date Title
KR20150116344A (en) Method and apparatus for brokering internet of things
US10241839B2 (en) Method and system for generating a virtual device resource accessible by an application
CN103139173B (en) Terminal unit, exchange network system, media business method for down loading and system
US10754869B2 (en) Managing data format of data received from devices in an internet of things network
CN109729115B (en) Method, device, proxy server and terminal equipment for realizing distributed computation
WO2014187321A1 (en) Method and system for information push
CN103797767A (en) Methods and apparatus for launching an application identified by a sensor
US9832322B1 (en) Techniques to transform network resource requests to zero rated network requests
CN104639426A (en) Method and device for adding group members
WO2014110929A1 (en) Method, device, and system for uploading data
KR20190097947A (en) Device, method and computer program for processing user inquiry
US20130151553A1 (en) Method and apparatus for processing a composite context event
KR20180031852A (en) Adapter for message queuing telemetry transport protocol interworking and data exchange system employing the same
US10826778B2 (en) Device discovery service
CN105099802A (en) Traffic identification method, terminal, and network element equipment
EP3332562A1 (en) Optimizing setup for wireless devices
CN103634348A (en) Terminal device and method for releasing information
US9760327B2 (en) Determining rendering systems utilizing printer locations and rendering system attributes
KR101447504B1 (en) User terminal and data sharing method between applications thereof
US20130138768A1 (en) Method and System for Dynamic Service Creation on Sensor Gateways
CN110602194B (en) IOT message subscription method, IOT message subscription device and computer readable storage medium
KR102123544B1 (en) Method and apparatus for providing communication service based on push
Chen et al. Enabling Over-The-Air Provisioning for Wearable Devices
EP3023891B1 (en) Techniques to transform network resource requests to zero rated network requests
WO2011099590A1 (en) Ad-hoc service providing system

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid