KR101742524B1 - CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법 - Google Patents

CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법 Download PDF

Info

Publication number
KR101742524B1
KR101742524B1 KR1020160058746A KR20160058746A KR101742524B1 KR 101742524 B1 KR101742524 B1 KR 101742524B1 KR 1020160058746 A KR1020160058746 A KR 1020160058746A KR 20160058746 A KR20160058746 A KR 20160058746A KR 101742524 B1 KR101742524 B1 KR 101742524B1
Authority
KR
South Korea
Prior art keywords
group
request message
semantic similarity
servers
information
Prior art date
Application number
KR1020160058746A
Other languages
English (en)
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 KR1020160058746A priority Critical patent/KR101742524B1/ko
Application granted granted Critical
Publication of KR101742524B1 publication Critical patent/KR101742524B1/ko

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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • H04L67/327
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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
    • H04L67/2842
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching

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)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에 의한 CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법이 개시된다. 본 발명에 따른 CoAP 기반 매시업 서비스를 제공하기 위한 시스템은 사용자 단말로부터 요청 메시지를 수신하면, 상기 수신된 요청 메시지에 포함된 사용자가 요청한 정보와 저장된 서버 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 그룹 관리부; 상기 생성된 그룹 내 서버들로부터 얻은 관측값을 기반으로 연산하는 데이터 처리부; 및 상기 연산한 결과를 포함하는 결과 메시지를 상기 사용자 단말에 송신하는 응답 송신부를 포함한다.

Description

CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법{SYSTEM FOR PROVIDING COAP BASED MASHUP SERVICES AND METHOD THEREOF}
본 발명은 사물 인터넷 기술에 관한 것으로서, 특히, CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법에 관한 것이다.
현재 사물인터넷(Internet of Things; IoT) 기술과 웨어러블 디바이스(Wearable Device) 시장의 확대로 인해 사물인터넷 관련 서비스 및 응용에 대한 관심이 점차 증가하고 있다.
특히, 사물인터넷은 통신 기능을 탑재한 사물들의 정보 교환을 통해, 유용한 정보 서비스(예컨대, 온도, 습도,심박수, 위치좌표, 이동거리 등)를 사용자에게 제공하거나, 사물들을 원격으로 제어(예컨대, 조명 밝기, 실내온도 조절 등)할 수 있다.
이러한 사물 인터넷 시대가 도래함에 따라 방대한 양의 사물들은 인터넷에 연결되어 다양한 서비스를 제공하고 있고 앞으로 더 많은 사물이 인터넷에 연결될 것으로 예상되고 있다.
이에 사물 인터넷 환경에서 효과적으로 다수의 단일 서비스를 조합하여 높은 부가가치를 갖는 복합 서비스를 생성하는 것과 관련된 연구가 중요하게 부각되고 있다.
따라서 이러한 종래 기술의 문제점을 해결하기 위한 것으로, 본 발명의 목적은 사용자의 서비스 명세에 기술된 정보와 등록된 정보 사이의 시맨틱 유사도를 산출하여 그 산출된 시맨틱 유사도를 이용하여 관련 서버들을 하나의 그룹으로 조합하도록 하는 CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법을 제공하는데 있다.
그러나 본 발명의 목적은 상기에 언급된 사항으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.
상기 목적들을 달성하기 위하여, 본 발명의 한 관점에 따른 CoAP 기반 매시업 서비스를 제공하기 위한 시스템은 사용자 단말로부터 요청 메시지를 수신하면, 상기 수신된 요청 메시지에 포함된 사용자가 요청한 정보와 등록된 서버 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 그룹 관리부; 상기 생성된 그룹 내 서버들로부터 얻은 관측값을 기반으로 연산하는 데이터 처리부; 및 상기 연산한 결과를 포함하는 결과 메시지를 상기 사용자 단말에 송신하는 응답 송신부를 포함할 수 있다.
바람직하게, 상기 그룹 관리부는 상기 수신된 요청 메시지에 포함된 사용자가 요청한 정보를 가지고 있는 그룹이 존재하는지 캐시를 통해 확인하고, 그 확인한 결과로 존재하지 않으면 사용자가 요청한 정보와 저장된 서버 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 것을 특징으로 한다.
바람직하게, 상기 그룹 관리부는 상기 산출된 시맨틱 유사도가 가장 유사한 정보를 가지고 있는 서버들의 그룹을 생성하는 것을 특징으로 한다.
바람직하게, 상기 그룹 관리부는 상기 생성된 그룹에 할당된 멀티캐스트 주소를 이용하여 상기 그룹에 멀티캐스트 요청 메시지를 송신하고, 상기 송신한 요청 메시지에 대한 응답으로 상기 그룹을 구성하는 서버들의 관측값을 제공 받는 것을 특징으로 한다.
바람직하게, 상기 그룹 관리부는 그 확인한 결과로 존재하면 상기 존재하는 그룹에 할당된 멀티캐스트 주소를 이용하여 상기 그룹에 멀티캐스트 요청 메시지를 송신하고, 상기 송신한 요청 메시지에 대한 응답으로 상기 그룹을 구성하는 서버들의 관측값을 제공 받는 것을 특징으로 한다.
바람직하게, 상기 요청 메시지는 서비스 매시업을 수행하는 시스템이 탑재되어 있는 서버의 IP 어드레스, 서버의 위치와 자원 유형을 포함하는 것을 특징으로 한다.
바람직하게, 상기 그룹 관리부는 상기 요청 메시지에 포함된 위치, 자원 유형 쌍과 등록된 서버의 위치, 자원 유형 쌍 간의 시맨틱 유사도를 산출하는 것을 특징으로 한다.
본 발명의 다른 한 관점에 따른 CoAP 기반 매시업 서비스를 제공하기 위한 방법은 사용자 단말로부터 요청 메시지를 수신하면, 상기 수신된 요청 메시지에 포함된 사용자가 요청한 정보와 저장된 서버 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 단계; 상기 생성된 그룹 내 서버들로부터 얻은 관측값을 기반으로 연산하는 단계; 및 상기 연산한 결과를 포함하는 결과 메시지를 상기 사용자 단말에 송신하는 단계를 포함할 수 있다.
바람직하게, 상기 그룹을 생성하는 단계는 상기 수신된 요청 메시지에 포함된 사용자가 요청한 정보를 가지고 있는 그룹이 존재하는지 캐시를 통해 확인하고, 그 확인한 결과로 존재하지 않으면 사용자가 요청한 정보와 저장된 서버 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 것을 특징으로 한다.
바람직하게, 상기 그룹을 생성하는 단계는 상기 산출된 시맨틱 유사도가 가장 유사한 정보를 가지고 있는 서버들의 그룹을 생성하는 것을 특징으로 한다.
바람직하게, 상기 그룹을 생성하는 단계는 상기 생성된 그룹에 할당된 멀티캐스트 주소를 이용하여 상기 그룹에 멀티캐스트 요청 메시지를 송신하고, 상기 송신한 요청 메시지에 대한 응답으로 상기 그룹을 구성하는 서버들의 관측값을 제공 받는 것을 특징으로 한다.
바람직하게, 상기 그룹을 생성하는 단계는 그 확인한 결과로 존재하면 상기 존재하는 그룹에 할당된 멀티캐스트 주소를 이용하여 상기 그룹에 멀티캐스트 요청 메시지를 송신하고, 상기 송신한 요청 메시지에 대한 응답으로 상기 그룹을 구성하는 서버들의 관측값을 제공 받는 것을 특징으로 한다.
바람직하게, 상기 요청 메시지는 서비스 매시업을 수행하는 시스템이 탑재되어 있는 서버의 IP 어드레스, 서버의 위치와 자원 유형을 포함하는 것을 특징으로 한다.
바람직하게, 상기 그룹을 생성하는 단계는 상기 요청 메시지에 포함된 위치, 자원 유형 쌍과 등록된 서버의 위치, 자원 유형 쌍 간의 시맨틱 유사도를 산출하는 것을 특징으로 한다.
이를 통해, 본 발명은사용자의 서비스 명세에 기술된 정보와 등록된 정보 사이의 시맨틱 유사도를 산출하여 그 산출된 시맨틱 유사도를 이용하여 관련 서버들을 하나의 그룹으로 자동으로 조합하도록 함으로써, 저비용이면서 효과적으로 서비스를 조합할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 매시업 서비스를 제공하기 위한 시스템을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 HTTP 요청 메시지의 예를 보여주는 도면이다.
도 3은 도 1에 도시된 서비스 게이트웨이의 상세한 구성을 나타내는 도면이다.
도 4a 내지 도 4b는 본 발명에 따른 알고리즘의 성능 평가 결과를 나타내는 도면이다.
도 5는 본 발명의 일 실시예에 따른 매시업 서비스를 제공하기 위한 방법을 나타내는 도면이다.
이하에서는, 본 발명의 실시예에 따른 CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법을 첨부한 도면을 참조하여 설명한다. 본 발명에 따른 동작 및 작용을 이해하는데 필요한 부분을 중심으로 상세히 설명한다.
또한, 본 발명의 구성 요소를 설명하는 데 있어서, 동일한 명칭의 구성 요소에 대하여 도면에 따라 다른 참조부호를 부여할 수도 있으며, 서로 다른 도면임에도 불구하고 동일한 참조부호를 부여할 수도 있다. 그러나, 이와 같은 경우라 하더라도 해당 구성 요소가 실시예에 따라 서로 다른 기능을 갖는다는 것을 의미하거나, 서로 다른 실시예에서 동일한 기능을 갖는다는 것을 의미하는 것은 아니며, 각각의 구성 요소의 기능은 해당 실시예에서의 각각의 구성 요소에 대한 설명에 기초하여 판단하여야 할 것이다.
특히, 본 발명에서는 사용자의 서비스 명세에 기술된 정보 즉, 위치, 자원 유형과 등록된 정보 사이의 시맨틱 유사도를 산출하여 그 산출된 시맨틱 유사도를 이용하여 관련 서버들을 하나의 그룹으로 조합하도록 하는 새로운 서비스 방안을 제안한다.
도 1은 본 발명의 일 실시예에 따른 매시업 서비스를 제공하기 위한 시스템을 나타내는 도면이다.
도 1에 도시한 바와 같이, 본 발명에 따른 CoAP 기반 매시업 서비스를 제공하기 위한 시스템은 사용자 단말(100), 서비스 게이트웨이(200), 및 네트워크 그룹(300) 등을 포함할 수 있다.
사용자 단말(100)은 사용자가 원하는 서비스 조합의 명세를 기술하는 HTTP 요청 메시지를 생성하여 생성된 HTTP 요청 메시지를 서비스 게이트웨이(200)에 전송할 수 있다.
이러한 사용자 단말은 유선 통신 또는 무선 통신이 가능한 전자 기기로서, 예컨대, 스마트폰, 태블릿 PC(Personal Computer), 노트북 등을 포괄하는 개념일 수 있다.
이때, 본 발명에서는 사용자가 원하는 서비스 조합의 명세를 기술하는 HTTP 요청 메시지를 위한 템플릿, 즉, URI 템플릿을 제안하며 URI 템플릿의 구조는 다음과 같이 정의한다.
http://[server_address]/coap-sg/?(&[loc | rt | op | nr | tt |rf]=[value])+
여기서, server_address는 서비스 매시업을 수행하는 시스템이 탑재되어 있는 서버의 IP 어드레스를 나타내고, 나머지 변수들은 사용자의 요구 사항을 기술할 수 있도록 지원한다. 즉, loc(Location)은 서버 즉, CoAP 서비스를 제공하는 사물인터넷 기기 또는 LLN 디바이스들의 시맨틱 위치를 나타내며, rt(Resource Type)은 LLN 디바이스들이 갖고 있는 자원의 시맨틱 유형을 나타내며, op(Operation)은 관측값을 통합하기 위해 사용되는 연산을 나타내며 기본적인 연산의 4가지 유형으로는 리스트(list), 평균(avg), 최소(min), 최대(max)가 있다. 그리고 nr(Number of Replies)는 배터리 방전 등과 같은 예기치 않은 이유로 인한 무한 기다림 방지를 위한 기다리는 응답 수의 최소치를 나타내며, tt(Timeout)은 기다리는 응답 수의 최대치를 나타내며, rf(Response Format)는 HTTP 요청 메시지의 포맷을 나타낸다.
도 2는 본 발명의 일 실시예에 따른 HTTP 요청 메시지의 예를 보여주는 도면이다.
도 2를 참조하면, HTTP 요청 메시지는 사용자가 엔지니어링 빌딩의 5층(loc=Floor5)에 대한 평균 온도(rt=temp, op=avg)를 파악하고 싶어하는 것을 기술하고 있음을 보여주고 있다.
서비스 게이트웨이(200)는 사용자 단말(100)로부터 HTTP 요청 메시지를 수신하고 수신된 HTTP 요청 메시지를 분석하여 그 분석한 결과로 관련 서버들을 하나의 그룹으로 조합하여 조합한 그룹으로부터 얻은 관측 값을 처리한 결과를 포함하는 HTTP 결과 메시지를 사용자 단말(100)에 제공할 수 있다.
그 일예로, 서비스 게이트웨이(200)는 수신된 HTTP 요청 메시지 내 사용자가 요청한 정보를 가지고 있는 그룹이 캐시(cache)에 존재하면 해당 그룹으로부터 제공 받은 관측 값을 처리한 결과를 포함하는 HTTP 결과 메시지를 사용자 단말에게 제공한다.
다른 예로, 서비스 게이트웨이(200)는 수신된 HTTP 요청 메시지 내 사용자가 요청한 정보를 가지고 있는 그룹이 존재하지 않으면 사용자가 요청한 정보와 저장된 서버 정보 간의 시맨틱 유사도를 산출하고 산출된 시맨틱 유사도를 기반으로 가장 유사한 정보를 갖는 관련된 서버들의 그룹을 생성하여 생성된 그룹으로부터 제공 받은 관측 값을 처리한 결과를 포함하는 HTTP 결과 메시지를 사용자 단말에게 제공한다.
네트워크 그룹(300)은 사물인터넷 기기들의 그룹으로서, 여기서 사물인터넷 기기는 관측한 값(observation value)을 제공하기 위한 기기로서, 센서 등일 수 있다.
도 3은 도 1에 도시된 서비스 게이트웨이의 상세한 구성을 나타내는 도면이다.
도 3을 참조하면, 본 발명에 따른 서비스 게이트웨이(200)는 요청 수신부(210), 그룹 관리부(220), 자원 디렉토리(230), 데이터 처리부(240), 응답 송신부(250)를 포함할 수 있다.
요청 수신부(210)는 사용자 단말(100)로부터 HTTP 요청 메시지를 수신할 수 있다.요청 수신부(210)는 수신된 HTTP 요청 메시지로부터 URI를 분석하고, 요청 위치, 자원 유형, 연산자 등의 정보를 추출하고, 추출된 정보를 그룹 관리부(220)에 전송할 수 있다.
그룹 관리부(220)는 제공 받은 위치, 자원 유형, 연산자 등의 정보 중 위치와 자원 유형을 가지고 있는 그룹이 존재하는지를 확인하고, 그 확인한 결과로 존재하지 않으면 위치와 자원 유형을 기반으로 한 시맨틱 유사도를 이용하여 근접한 위치 및 유사한 자원 유형을 가지고 있는 관련 서버들을 하나의 그룹으로 조합할 수 있다.
그룹 관리부(220)는 해당 그룹 즉, 네트워크 그룹에 멀티캐스트 요청 메시지를 송신하여 이에 대한 응답으로 해당 그룹으로부터 관측 값을 제공 받을 수 있다.
이러한 그룹 관리부(220)의 동작 원리를 이하에서 상세히 설명하면 다음과 같다.
1)그룹 관리부(220)는 위치와 자원 유형을 가지고 있는 그룹이 캐시에 존재하는지를 확인할 수 있다. 그룹 관리부(220)는 위치, 자원 유형, 그룹 URI의 테이블을 관리하는 캐시로 설계된다. 캐시는 새로운 서버들의 그룹을 생성하거나 관측 값을 얻기 위해 해당 그룹 URI로 멀티캐스트 요청을 송신할 필요가 있는지를 결정하는데 사용된다.
2)그룹 관리부(220)는 새로운 그룹을 생성하는 경우, 관련 서버들을 검색하기 위해 LLNs 내 Core RDs에 일련의 CoAP 요청을 송신할 수 있다.
3)그룹 관리부(220)는 정확하게 매칭되는 서버들이 존재하지 않으면, 요청된 위치-자원유형(loc-rt) 쌍과 온토롤로지에 저장된 loc-rt 쌍 간의 시맨틱 유사도를 산출할 수 있다. 그리고나서 가장 유사한 loc-rt 쌍은 서버들에 대한 검색을 위해 선택된다.
4)그룹 관리부(220)는 검색된 서버들을 하나의 그룹으로 조합하고, CORE RD에 등록한다. 이렇게 새롭게 생성된 그룹은 멀티캐스트 주소 예컨대, URI를 할당 받는다.
5)그룹 관리부(220)는 관측값을 얻기 위해 CoAP 멀티캐스트 요청을 원하는 위치와 자원 유형을 가지고 있는 그룹에 송신할 수 있다. 이때, 요청이 동시에 송신되는 경우 서버의 연산력이나 네트워크 지연이 다르기 때문에 응답의 도착 시간은 다를 수 있다. 심지어 일부 응답은 CoAP 멀티캐스트를 신뢰할 수 없기 때문에 회신되지 않을 수 있다. 이러한 무한 기다림을 방지하기 위해 변수 nr과 tt가 설정될 수 있다.
자원 디렉토리(230)는 CoRE-RD(CoRE Resource Directory)로 명명될 수 있는데, 그룹 메타데이터(group metadata) 예컨대, 서버와 자원의 메타 데이터 등을 저장할 수 있다.
데이터 처리부(230)는 사용자가 요청한 위치와 자원 유형을 가지고 있는 그룹으로부터 제공 받은 관측 값을 사용자로부터 제공 받은 연산자를 이용하여 계산할 수 있다.
응답 송신부(240)는 데이터 처리부(230)에서 계산된 결과를 포함하는 HTTP 결과 메시지를 생성하여 생성된 HTTP 결과 메시지를 사용자 단말(100)에게 제공할 수 있다.
이하에서는 시맨틱 유사도의 개념과 산출하는 방법을 상세히 설명하기로 한다.
사물인터넷 기기 즉, LLN 디바이스들의 배치 변화나 사용자의 혼동 등의 이유로 사용자에 의해 기술된 위치와 자원 유형이 완전히 일치하지 않을 수 있다. 이러한 경우 유사한 위치와 자원 유형을 가지고 있는 서버들을 제공하도록 지원해야 한다.
본 발명에서는 사용하는 시맨틱 유사도는 다음의 [수학식 1]과 같이 정의된다.
[수학식 1]
Figure 112016045825881-pat00001
,
Figure 112016045825881-pat00002
여기서, IC(n)은 노드 n의 정보 컨텐츠(information content)를 나타내고, p(n)은 인카운터링 노드(encountering node)의 확률을 나타낸다. 그리고 sup(n1, n2)는 n1, n2 모두를 포함하는 노드들의 집합을 나타낸다.
본 발명에서는 두 노드 쌍 [loc1, rt1], [loc2, rt2] 사이의 유사도를 계산해야 한다. 여기서, [loc1, rt1]는 요청한 loc-rt 쌍을 나타내고 [loc2, rt2]는 위치와 자원 유형 온토롤리 중 하나의 lot-rt 쌍을 나타낸다.
따라서, 본 발명에 따른 두 노드 쌍의 시맨틱 유사도는 다음의 [수학식 2]와 같이 정의된다.
[수학식 2]
Sim([loc1, rt1], [loc2, rt2]) = wloc * sclSim(loc1,loc2) + wrt * sclSim(rt1,rt2),
Figure 112016045825881-pat00003
,
wloc + wrt = 1
여기서, N은 계측정 위치 또는 자원 유형 온토로지에서 노드들의 집합을 나타내고, sclSim(n1, n2)는 스케일드 싱글 노드 유사도(scaled single-node similarity)를 나타내며, wloc, wrt는 각각 위치와 자원 유형의 가중치를 나타낸다.
상기 [수학식 2]를 이용하여 가장 높은 시맨틱 유사도를 가지고 있는 두 개의 서비스 특징 즉, loc-rt 쌍이 사용자가 요청한 loc-rt 쌍의 대안으로 선택될 수 있다.
물론, 본 발명에 따라 두 개의 서비스 특징들에 대한 시맨틱 유사도를 계산하는 방법은 가중치 합 함수를 이용하여 더 많은 특징들을 위해 쉽게 확장될 수 있다.
이러한 시맨틱 유사도를 이용한 서비스 제공과정을 표현한 의사 코드는 다음의 [표 1]과 같다.
Input: user request ur
Output: response message rm
1: begin
2: analyzeRequest(ur);
3: groupURI = checkCache(loc, rt);
4: if groupURI is not null then
5: lobv = sendMulticastRequest(groupURI, nr, tt);
6: else
7: serverInfo = getCoAPServers(loc, rt);
8: if serverInfo is null then
9: calculateSclSim(loc, rt);
10: (loc', rt') = selectBasedonSclSim();
11: serverInfo = getCoAPServers(loc', rt');
12: end if
13: groupURI = registerGroup(serverInfo);
14: lobv = sendMulticastRequest(groupURI, nr, tt);
15: end if
16: aobv = processData(lobv, op);
17: rm = generateResponse(aobv, rf);
18: return(rm);
19: end
스텝2에서 원하는 loc, rt, op, nr, tt, rf를 추출하기 위해 사용자 요청을 분석하고, 스텝3에서 캐시에 동일한 loc, rt를 가지고 있는 그룹이 존재하는지를 확인한다.
스텝4-5에서 그룹이 존재하는 경우 관측 값을 얻기 위해 CoAP 멀티캐스트 요청을 그룹에 전송하고, 스텝8-12에서 그룹이 존재하지 않으면 시맨틱 유사도를 이용하여 가장 유사한 loc-rt 쌍을 갖는 서버들을 검색한다.
스텝13-15에서 검색된 가장 유사한 loc-rt 쌍을 갖는 서버의 정보를 기반으로 그룹을 생성하고 관측 값을 얻기 위해 멀티캐스트 요청을 생성된 그룹에 전송한다.
도 4a 내지 도 4b는 본 발명에 따른 알고리즘의 성능 평가 결과를 나타내는 도면이다.
도 4a를 참조하면, case1, case2, case3 각각의 경우 노드 수의 변화에 따른 실행 시간을 보여주고 있다. 노드 수의 증가는 제안 알고리즘의 성능에 거의 영향을 미치지 않는다.
이때, 1,000,000 노드들을 이용하는 case2의 실행 시간은 case3의 실행 시간보다 큰데, 이러한 이유는 주로 네트워크 상태의 변동에 의해 영향을 받기 때문이다.
도 4b를 참조하면, 유니캐스트, 멀티캐스트의 경우 CoAP 요청의 수에 따른 실행 시간을 보여주고 있다. 멀티캐스트 기반의 경과 시간은 CoAP 요청의 수에 의해 영향을 받지 않는 반면, 유니캐스트 기반의 경과 시간은 CoAP 요청의 수가 50을 초과하는 경우 급격히 증가한다.
이러한 이유는 멀티캐스트 기반의 접근 방식은 동시에 CoAP 서버들에 요청을 송신하는 반면, 유니캐스트 기반의 접근 방식은 하나하나씩 요청을 송신하기 때문이다.
도 5는 본 발명의 일 실시예에 따른 매시업 서비스를 제공하기 위한 방법을 나타내는 도면이다.
도 5에 도시한 바와 같이, 본 발명에 따른 CoAP 기반 매시업 서비스를 제공하기 위한 시스템(이하, 서비스 제공장치라고 한다)은사용자 단말로부터 사용자가 원하는 서비스 조합의 명세를 기술하는 요청 메시지 예컨대, HTTP 요청 메시지를 수신할 수 있다(S510).
다음으로, 서비스 제공장치는 수신된 HTTP 요청 메시지를 분석 즉, HTTP 요청 메시지로부터 사용자가 요청한 위치, 자원 유형, 연산자 등의 정보를 추출하고(S511), 추출된 위치와 자원 유형을 가지고 있는 그룹이 존재하는지를 캐시를 통해 확인할 수 있다(S512).
다음으로, 서비스 제공장치는 그 검색한 결과로 해당하는 그룹이 존재하지 않는 경우 사용자가 요청한 위치, 자원 유형 쌍과 등록된 위치, 자원 유형 쌍 간의 시맨틱 유사도를 산출하고(S513) 산출된 시맨틱 유사도를 기반으로 가장 유사한 위치 및 유사한 자원 유형을 가지고 있는 관련 서버들을 조합하여 하나의 그룹을 생성할 수 있다(S514).
그리고나서 서비스 제공장치는 조합한 그룹에 멀티캐스트 주소를 할당할 수 있다(S515).
다음으로, 서비스 제공장치는 이미 존재하거나 새롭게 생성된 그룹에 멀티캐스트 요청 메시지를 송신하고 이에 대한 응답으로 관측 값을 제공 받을 수 있다(S516).
다음으로, 서비스 제공장치는 제공 받은 관측 값을 사용자로부터 제공 받은 연산자를 이용하여 계산할 수 있다(S517).
다음으로, 서비스 제공장치는 그 계산한 결과를 포함하는 HTTP 결과 메시지를 생성하여(S518) 생성된 HTTP 결과 메시지를 이를 요청한 사용자 단말에 제공할 수 있다(S519).
한편, 이상에서 설명한 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합하거나 결합하여 동작하는 것으로 기재되어 있다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 또한, 그 모든 구성 요소들이 각각 하나의 독립적인 하드웨어로 구현될 수 있지만, 각 구성 요소들의 그 일부 또는 전부가 선택적으로 조합되어 하나 또는 복수 개의 하드웨어에서 조합된 일부 또는 전부의 기능을 수행하는 프로그램 모듈을 갖는 컴퓨터 프로그램으로서 구현될 수도 있다. 또한, 이와 같은 컴퓨터 프로그램은 USB 메모리, CD 디스크, 플래쉬 메모리 등과 같은 컴퓨터가 읽을 수 있는 저장매체(Computer Readable Media)에 저장되어 컴퓨터에 의하여 읽혀지고 실행됨으로써, 본 발명의 실시예를 구현할 수 있다. 컴퓨터 프로그램의 저장매체로서는 자기 기록매체, 광 기록매체, 캐리어 웨이브 매체 등이 포함될 수 있다.
이상에서 설명한 실시예들은 그 일 예로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 사용자 단말
200: 서비스 게이트웨이
210: 요청 수신부
220: 그룹 관리부
230: 자원 디렉토리
240: 데이터 처리부
250: 응답 송신부
300: 네트워크 그룹

Claims (14)

  1. 사용자 단말로부터 요청 메시지를 수신하면, 상기 수신된 요청 메시지에 포함된 사용자가 요청한 정보와 등록된 서버의 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 그룹 관리부;
    상기 생성된 그룹 내 서버들로부터 얻은 관측값을 기반으로 연산하는 데이터 처리부; 및
    상기 연산한 결과를 포함하는 결과 메시지를 상기 사용자 단말에 송신하는 응답 송신부;
    를 포함하며,
    상기 요청 메시지는 상기 서버의 IP 어드레스, 상기 서버의 위치, 자원 유형, 연산, 응답 수, 최대 대기 시간, 및 상기 요청 메시지의 포맷을 포함하고,
    상기 그룹 관리부는 온톨로지에서의 노드의 정보 컨텐츠 및 인카운터링 노드의 확률을 이용하여 (i) 상기 요청 메시지에 포함된 위치 및 자원 유형 쌍과 (ii) 상기 등록된 서버의 위치 및 자원 유형 쌍 간의 상기 시맨틱 유사도를 산출하는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 시스템.
  2. 제1 항에 있어서,
    상기 그룹 관리부는,
    상기 수신된 요청 메시지에 포함된 상기 사용자가 요청한 정보를 가지고 있는 그룹이 존재하는지 캐시를 통해 확인하고,
    그 확인한 결과로 존재하지 않으면 상기 사용자가 요청한 정보와 저장된 상기 서버의 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 시스템.
  3. 제2 항에 있어서,
    상기 그룹 관리부는,
    상기 산출된 시맨틱 유사도가 가장 유사한 정보를 가지고 있는 서버들의 그룹을 생성하는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 시스템.
  4. 제3 항에 있어서,
    상기 그룹 관리부는,
    상기 생성된 그룹에 할당된 멀티캐스트 주소를 이용하여 상기 그룹에 멀티캐스트 요청 메시지를 송신하고,
    상기 송신한 요청 메시지에 대한 응답으로 상기 그룹을 구성하는 서버들의 관측값을 제공 받는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 시스템.
  5. 제2 항에 있어서,
    상기 그룹 관리부는,
    그 확인한 결과로 존재하면 상기 존재하는 그룹에 할당된 멀티캐스트 주소를 이용하여 상기 그룹에 멀티캐스트 요청 메시지를 송신하고,
    상기 송신한 요청 메시지에 대한 응답으로 상기 그룹을 구성하는 서버들의 관측값을 제공 받는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 시스템.
  6. 삭제
  7. 삭제
  8. 사용자 단말로부터 요청 메시지를 수신하면, 상기 수신된 요청 메시지에 포함된 사용자가 요청한 정보와 등록된 서버의 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 단계;
    상기 생성된 그룹 내 서버들로부터 얻은 관측값을 기반으로 연산하는 단계; 및
    상기 연산한 결과를 포함하는 결과 메시지를 상기 사용자 단말에 송신하는 단계;
    를 포함하며,
    상기 요청 메시지는 상기 서버의 IP 어드레스, 상기 서버의 위치, 자원 유형, 연산, 응답 수, 최대 대기 시간, 및 상기 요청 메시지의 포맷을 포함하고,
    상기 그룹을 생성하는 단계는 온톨로지에서의 노드의 정보 컨텐츠 및 인카운터링 노드의 확률을 이용하여 (i) 상기 요청 메시지에 포함된 위치 및 자원 유형 쌍과 (ii) 상기 등록된 서버의 위치 및 자원 유형 쌍 간의 상기 시맨틱 유사도를 산출하는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 방법.
  9. 제8 항에 있어서,
    상기 그룹을 생성하는 단계는,
    상기 수신된 요청 메시지에 포함된 상기 사용자가 요청한 정보를 가지고 있는 그룹이 존재하는지 캐시를 통해 확인하고,
    그 확인한 결과로 존재하지 않으면 상기 사용자가 요청한 정보와 저장된 상기 서버의 정보 간의 시맨틱 유사도를 산출하고 상기 산출된 시맨틱 유사도를 기반으로 관련된 서버들의 그룹을 생성하는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 방법.
  10. 제9 항에 있어서,
    상기 그룹을 생성하는 단계는,
    상기 산출된 시맨틱 유사도가 가장 유사한 정보를 가지고 있는 서버들의 그룹을 생성하는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 방법.
  11. 제10 항에 있어서,
    상기 그룹을 생성하는 단계는,
    상기 생성된 그룹에 할당된 멀티캐스트 주소를 이용하여 상기 그룹에 멀티캐스트 요청 메시지를 송신하고,
    상기 송신한 요청 메시지에 대한 응답으로 상기 그룹을 구성하는 서버들의 관측값을 제공 받는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 방법.
  12. 제9 항에 있어서,
    상기 그룹을 생성하는 단계는,
    그 확인한 결과로 존재하면 상기 존재하는 그룹에 할당된 멀티캐스트 주소를 이용하여 상기 그룹에 멀티캐스트 요청 메시지를 송신하고,
    상기 송신한 요청 메시지에 대한 응답으로 상기 그룹을 구성하는 서버들의 관측값을 제공 받는 것을 특징으로 하는 CoAP 기반 매시업 서비스를 제공하기 위한 방법.
  13. 삭제
  14. 삭제
KR1020160058746A 2016-05-13 2016-05-13 CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법 KR101742524B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160058746A KR101742524B1 (ko) 2016-05-13 2016-05-13 CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160058746A KR101742524B1 (ko) 2016-05-13 2016-05-13 CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR101742524B1 true KR101742524B1 (ko) 2017-06-01

Family

ID=59221932

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160058746A KR101742524B1 (ko) 2016-05-13 2016-05-13 CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR101742524B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101969652B1 (ko) 2017-11-17 2019-04-16 경북대학교 산학협력단 데이터 전달 장치, 방법과 그를 이용한 사물 인터넷 시스템, 데이터 전달 방법을 실행하기 위한 프로그램이 기록된 기록매체 및 하드웨어와 결합하여 데이터 전달 방법을 실행하기 위하여 매체에 저장된 프로그램

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
이경호 외 3명, Enhancing CoAP Proxy for Semantic Composition and Multicast Communication, 2015.09.*
이경호 외 5명, Semantic URI-based Event-driven Physical Mashup, 2014.03.*
이정혁 외 5명, HTTP-CoAP 프록시 서버를 이용한 사물인터넷 플랫폼 설계, 한국정보과학회 학술발표논문집, 2015.12.*

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101969652B1 (ko) 2017-11-17 2019-04-16 경북대학교 산학협력단 데이터 전달 장치, 방법과 그를 이용한 사물 인터넷 시스템, 데이터 전달 방법을 실행하기 위한 프로그램이 기록된 기록매체 및 하드웨어와 결합하여 데이터 전달 방법을 실행하기 위하여 매체에 저장된 프로그램

Similar Documents

Publication Publication Date Title
JP6479131B2 (ja) Iotシステムのためのサービスとしてのデータ注釈
CN103034483B (zh) 网页脚本管理方法和系统
JP2019504412A (ja) ショートリンクの処理方法、デバイス、及びサーバ
US20160162602A1 (en) Methods and apparatus for proximally informed database searches
CN109145201B (zh) 一种基于区块链的信息管理方法、装置、设备及存储介质
CN105431844A (zh) 用于搜索系统的第三方搜索应用
CN105430711B (zh) 信息的传输方法、装置和设备
CN110611667B (zh) 边缘计算环境下动态的位置隐私保护方法及装置
CN110413845B (zh) 基于物联网操作系统的资源存储方法及装置
KR20110071453A (ko) 지그비 게이트웨이 및 이의 메시지 동일화 방법
WO2017036271A1 (en) System and method for providing data as a service (daas) in real-time
KR20140014088A (ko) 모바일 컴퓨팅 장치 센서를 이용한 프라이빗 스페이스의 맵 생성
US20130094403A1 (en) Method and apparatus for providing sensor network information
JP2017503371A (ja) 環境コンテキストを共有するための方法及び装置
EP2530611A1 (en) Methods and apparatuses for a network based on hierarchical name structure
KR101742524B1 (ko) CoAP 기반 매시업 서비스를 제공하기 위한 시스템 및 그 방법
KR101004798B1 (ko) P2p 네트워크를 이용한 센서노드별 가상의 피어를 생성하는 방법 및 그 장치
CN105009122A (zh) 允许域名服务器处理自然语言查询并确定背景的系统和方法
CN110889000B (zh) 用于输出信息的方法和装置
KR20190069284A (ko) 인터넷 서비스의 ocf 리소스 변환 및 연동 방법, 및 이를 수행하는 장치
KR102137798B1 (ko) 시멘틱 웹 기반 IoT 기기의 기본 분산 소셜 그룹을 형성하는 방법 및 이를 위한 IoT기기
US11240312B2 (en) Apparatus and method of providing IoT resource information
Jin et al. Automated mashup of CoAP services on the Internet of Things
CN114840574A (zh) 数据查询方法、服务器、节点及存储介质
KR101665852B1 (ko) 서비스 검색 제공 방법 및 장치 및 컴퓨터에서 판독 가능한 기록 매체

Legal Events

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