KR20120071576A - 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템 - Google Patents

분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템 Download PDF

Info

Publication number
KR20120071576A
KR20120071576A KR1020100133176A KR20100133176A KR20120071576A KR 20120071576 A KR20120071576 A KR 20120071576A KR 1020100133176 A KR1020100133176 A KR 1020100133176A KR 20100133176 A KR20100133176 A KR 20100133176A KR 20120071576 A KR20120071576 A KR 20120071576A
Authority
KR
South Korea
Prior art keywords
fund
dht
partition
entity
information
Prior art date
Application number
KR1020100133176A
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 KR1020100133176A priority Critical patent/KR20120071576A/ko
Priority to US13/292,775 priority patent/US20120166556A1/en
Publication of KR20120071576A publication Critical patent/KR20120071576A/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/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

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

Abstract

분산 해쉬 테이블(DHT : Distributed Hash Table) 기반의 RTPS(The Real-Time Publish Subscribe) 디스커버리 방법, 장치 및 시스템이 개시된다. DHT 기반의 RTPS 디스커버리 방법은, 파티시펀트의 파티시펀트 피어가 오버레이 네트워크의 DHT에 파티시펀트를 등록하고, DHT로부터 디스커버리하고자 하는 상대 파티시펀트의 위치 정보를 획득하고, 그 획득된 상대 파티시펀트의 위치 정보를 기반으로 상대 파티시펀트의 피어와 디스커버리 메시지를 교환하여 상대 파티시펀트의 개체 정보를 공유하고, 파티시펀트의 개체와 상대 파티시펀트의 개체가 핸드쉐이킹을 수행할 수 있다. 따라서, DHT를 기반으로 신속하고 효율적으로 파티시펀트의 디스커버리를 수행할 수 있다.

Description

분산 해쉬 테이블 기반의 RTPS 디스커버리 방법, 장치 및 시스템 {Method, Device and System for Real-Time Publish Subscribe Discovery Based on Distributed Hash Table}
본 발명은 분산 해쉬 테이블(DHT : Distributed Hash Table) 기반의 RTPS(Real-Time Publish Subscribe) 디스커버리(Discovery) 방법, 장치 및 시스템에 관한 것으로서, 좀더 상세하게는, 오버레이(Overlay) 네트워크에서의 DHT를 통하여 관련 컨텐츠들을 탐색하는 예컨대 초드(Chord) 프로토콜 등을 기반으로 CPS(Cyber-Physical System) 또는 DDS(Data Distribution Service) 미들웨어에서의 디스커버리 효율성을 향상시키는 기술에 관한 것이다.
일반적으로, 고 신뢰 자율 제어를 위한 CPS(Cyber-Physical System) 플랫폼(Platform)은 기온, 날씨, 지형 등과 같은 예측하기 힘든 물리적 환경에서 동작하는 응용 시스템에 높은 신뢰성을 부여하기 위한 플랫폼이다. 이러한 CPS는 고 신뢰성을 요구하는 지능형 분산 시스템들을 효율적으로 개발 및 검증하고 실시간으로 운용을 제어하기 위한 것이다.
CPS 미들웨어(Middleware)는 CPS 플랫폼에서 디바이스들 간의 데이터 교환 기능을 제공하는 미들웨어로서, 출간(Publish)/구독(Subscribe) 기반의 실시간 데이터 배포 기능을 지원하며 분산 CPS 노드를 위한 차등 QoS를 제공할 수 있다. 이러한 CPS 미들웨어는 OMG(Object Management Group)에 의하여 국제 표준화된 데이터 분배 서비스(DDS : Data Distribution Service) 미들웨어 기술을 기반으로 제공될 수 있다.
CPS 미들웨어는 크게 DCPS(Data-Centric Publish-Subscribe) 계층 및 RTPS(The Real-Time Publish Subscribe) 프로토콜을 사용하는 계층으로 구분될 수 있다.
DCPS 계층은 분산 환경을 위한 출간/구독의 명세를 갖는 미들웨어 인터페이스로서, 분산 환경을 위한 데이터 중심의 출간-구독 프로그래밍 모델에 대한 표준화된 인터페이스를 제공할 수 있다. RTPS 프로토콜을 사용하는 계층은 실제 데이터가 발간/구독되는 계층으로서, 도메인 형성과 사용할 데이터의 타입을 결정하고 도메인에 참여하는 원격지의 파티시펀트(Participant)들을 동적으로 탐색 즉, 디스커버리(Discovery)하는 기능을 제공할 수 있다. DCPS 계층은 QoS를 설정할 수 있는데, 이때 설정된 QoS에 따라 신뢰성(Reliable) 또는 비신뢰성(Unreliable)을 갖는 데이터 통신을 수행할 수 있다.
한편, RTPS 프로토콜에서는 통신을 수행하는 응용 프로그램의 집합의 개념인 도메인(Domain)에 참여한 개체들, 즉 파티시펀트들을 찾기 위하여 파티시펀트들에 대한 탐색 즉, 파티시펀트 디스커버리(Participant Discovery) 및 파티시펀트 내부에 존재하는 송수신 개체에 대한 종말 개체 탐색 즉, 엔드포인트 디스커버리(End Point Discovery)를 수행한다.
그런데, 이러한 기존의 RTPS 프로토콜에서의 파티시펀트 디스커버리 과정은 멀티캐스팅 기법을 이용하여 주기적으로 데이터를 전송하기 때문에, 탐색 과정에서의 시간이 지연될 뿐 아니라, 네트워크에도 상당한 부하를 초래하는 문제점을 내포하고 있다.
본 발명은 이러한 문제점을 해결하기 위한 것으로서, 오버레이 네트워크의 분산 해쉬 테이블(DHT : Distributed Hash Table)을 기반으로 신속하고 효율적으로 파티시펀트의 디스커버리를 수행할 수 있는 DHT 기반의 RTPS(The Real-Time Publish Subscribe) 디스커버리 방법, 장치 및 시스템을 제공하는데 그 기술적 과제가 있다.
이러한 목적을 달성하기 위하여 본 발명은 일 측면(Aspect)에서 DHT 기반의 RTPS 디스커버리 방법을 제공한다. 상기 DHT 기반의 RTPS 디스커버리 방법은, 파티시펀트의 파티시펀트 피어가, 오버레이 네트워크의 DHT에 상기 파티시펀트를 등록하는 단계와; 상기 DHT로부터 디스커버리하고자 하는 상대 파티시펀트의 위치 정보를 획득하는 단계와; 상기 획득된 상대 파티시펀트의 위치 정보를 기반으로 상기 상대 파티시펀트의 피어와 디스커버리 메시지를 교환하여 상기 상대 파티시펀트의 개체의 정보를 공유하는 단계; 및 상기 파티시펀트의 개체가, 상기 상대 파티시펀트의 개체와 핸드쉐이킹을 수행하는 단계를 포함한다.
상기 파티시펀트를 등록하는 단계는, 상기 파티시펀트의 토픽 데이터, 상기 토픽 데이터를 가지고 있는 상기 파티시펀트의 식별 정보 및 상기 파티시펀트의 위치 정보를 상기 DHT에 등록하는 단계를 포함할 수 있다.
상기 상대 파티시펀트의 위치 정보를 획득하는 단계는, 상기 디스커버리하고자 하는 토픽 데이터에 관한 정보를 상기 DHT에 요청하는 단계와; 상기 요청한 토픽 데이터에 관한 정보를 상기 DHT로부터 수신하는 단계; 및 상기 수신한 토픽 데이터에 관련 정보로부터 상기 요청한 토픽 데이터를 가지고 있는 상기 상대 파티시펀트의 위치 정보를 취득하는 단계를 포함할 수 있다.
상기 상대 파티시펀트의 개체의 정보를 공유하는 단계는, 상기 획득된 상대 파티시펀트의 위치 정보를 사용하여 상기 상대 파티시펀트의 피어로 상기 파티시펀트의 개체의 속성 정보를 포함하는 메시지를 상기 상대 파티시펀트로 전송하는 단계; 및 상기 상대 파티시펀트로부터 상기 상대 파티시펀트의 개체의 속성 정보를 포함하는 메시지를 수신하는 단계를 포함할 수 있다.
상기 DHT 기반의 RTPS 디스커버리 방법은, 라이브리니스 프로토콜을 통하여 상기 상대 파티시펀트의 개체의 존재 유무를 검사하는 단계를 더 포함할 수도 있다. 상기 DHT 기반의 RTPS 디스커버리 방법은, 상기 파티시펀트의 개체와 상기 상대 파티시펀트의 개체가 상호 간에 QoS를 공유하는 단계를 더 포함할 수도 있다.
한편, 상술한 본 발명의 기술적 과제를 해결하기 위하여 본 발명은 다른 측면에서 DHT 기반의 RTPS 디스커버리 장치를 제공한다. 상기 DHT 기반의 RTPS 디스커버리 장치는, 파티시펀트에 구비되며, 상대 파티시펀트의 개체와 핸드쉐이킹을 수행하는 상기 파티시펀트의 개체; 및 오버레이 네트워크의 DHT에 상기 파티시펀트를 등록하며, 상기 DHT로부터 디스커버리하고자 하는 상대 파티시펀트의 위치 정보를 획득하고, 상기 획득된 상대 파티시펀트의 위치 정보를 기반으로 상기 상대 파티시펀트의 피어와 디스커버리 메시지를 교환하여 상기 상대 파티시펀트의 개체의 정보를 공유하는 파티피펀트 피어를 포함할 수 있다.
상기 파티시펀트 피어는, 상기 파티시펀트의 토픽 데이터, 상기 토픽 데이터를 가지고 있는 상기 파티시펀트의 식별 정보 및 상기 파티시펀트의 위치 정보를 상기 DHT에 등록할 수 있다. 상기 파티시펀트 피어는, 상기 디스커버리하고자 하는 토픽 데이터에 관한 정보를 상기 DHT에 요청하고, 상기 요청한 토픽 데이터에 관한 정보를 상기 DHT로부터 수신하고, 상기 수신한 토픽 데이터에 관련 정보로부터 상기 요청한 토픽 데이터를 가지고 있는 상기 상대 파티시펀트의 위치 정보를 취득할 수 있다.
상기 파티시펀트 피어는, 상기 획득된 상대 파티시펀트의 위치 정보를 사용하여 상기 상대 파티시펀트의 피어로 상기 파티시펀트의 개체의 속성 정보를 포함하는 메시지를 상기 상대 파티시펀트로 전송하고, 상기 상대 파티시펀트로부터 상기 상대 파티시펀트의 개체의 속성 정보를 포함하는 메시지를 수신할 수 있다. 상기 파티시펀트 피어는 라이브리니스 프로토콜을 통하여 상기 상대 파티시펀트의 개체의 존재 유무를 검사할 수도 있다.
한편, 상술한 본 발명의 기술적 과제를 해결하기 위하여 본 발명은 또 다른 측면에서 DHT 기반의 RTPS 디스커버리 시스템을 제공한다. 상기 RTPS 디스커버리 시스템은, 오버레이 네트워크의 DHT에 등록되는 제 2 파티시펀트; 및
상기 오버레이 네트워크의 DHT에 등록되며, 상기 DHT로부터 상기 제 2 파티시펀트의 위치 정보를 획득하고 상기 위치 정보를 기반으로 상기 제 2 파티시펀트와 디스커버리 메시지를 교환하여 상기 제 2 파티시펀트의 개체 정보를 공유하고, 상기 제 2 파티시펀트의 개체와 핸드쉐이킹을 수행하는 제 1 파티시펀트를 포함할 수 있다.
상기 제 1 파티시펀트는, 상기 제 1 파티시펀트의 토픽 데이터, 상기 토픽 데이터를 가지고 있는 상기 제 1 파티시펀트의 식별 정보 및 상기 제 1 파티시펀트의 위치 정보를 상기 DHT에 등록할 수 있다. 상기 제 1 파티시펀트는 라이브리니스 프로토콜을 통하여 상기 제 2 파티시펀트의 개체의 존재 유무를 검사할 수도 있다. 상기 제 1 파티시펀트의 개체와 상기 제 2 파티시펀트의 개체는 상호 간에 QoS를 공유할 수도 있다.
상기 제 1 파티시펀트는, 디스커버리하고자 하는 토픽 데이터에 관한 정보를 상기 DHT에 요청하고, 상기 요청한 토픽 데이터에 관한 정보를 상기 DHT로부터 수신하고, 상기 수신한 토픽 데이터에 관련 정보로부터 상기 요청한 토픽 데이터를 가지고 있는 상기 제 2 파티시펀트의 위치 정보를 취득할 수 있다.
이상 설명한 바와 같이, 본 발명에 따르면 RTPS 파티시펀트에 구비되는 P2P 파티시펀트 피어에서 오버레이 네트워크의 DHT를 통하여 신속하게 상대 RTPS 파티시펀트의 위치 정보를 획득하고 유니캐스트를 통한 SPDP 동작을 수행할 수 있다. 따라서, 멀티캐스트 방식의 SPDP 동작을 수행하는 종래의 기술과는 달리, RTPS 디스커버리를 위한 데이터를 도메인 내에서 빈번하게 주고 받을 필요가 없으며 신속하고 효율적인 네트워크 운용이 가능하게 된다.
도 1은 본 발명의 바람직한 실시예에 따른 DHT 기반의 RTPS 디스커버리 방법을 실현하기 위한 시스템 운영 환경을 개략적으로 도시한 블록도이다.
도 2는 DHT 기반의 RTPS 디스커버리 방법을 실현하기 위한 RTPS 파티시펀트의 모듈 구성을 도시하는 블록도이다.
도 3은 본 발명의 바람직한 실시예에 따른 DHT 기반의 RTPS 디스커버리 방법의 흐름을 설명하기 위한 흐름도이다.
이하, 본 발명이 속하는 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사항을 용이하게 이해할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 이하에 설명할 본 발명의 바람직한 실시예에서는 내용의 명료성을 위하여 특정한 기술 용어를 사용한다. 하지만 본 발명은 그 선택된 특정 용어에 한정되지는 않으며, 각각의 특정 용어가 유사한 목적을 달성하기 위하여 유사한 방식으로 동작하는 모든 기술적 동의어를 포함함을 미리 밝혀둔다.
먼저, 일반적인 RTPS 디스커버리 동작에 대하여 설명한다. RTPS 디스커버리 동작은 크게 상대 파티시펀트를 탐색, 즉 디스커버리(Discovery)하는 SPDP(Simple Participant Discovery Protocol) 과정 및 각 파티시펀트에 구비되는 개체(Entity)들의 QoS를 공유하는 SEDP(Simple Entity Discovery Protocol) 과정을 포함할 수 있다.
이러한 RTPS 디스커버리 동작을 좀더 구체적으로 살펴보면, 먼저 처음 CPS 미들웨어 시스템이 동작하여 도메인 내의 파티시펀트가 생성될 때 RTPS 프로토콜은 디스커버리 동작을 자동으로 수행할 수 있다. 파티시펀트 생성이 성공적으로 수행되면, 상대 파티시펀트를 찾는 SPDP 동작이 수행된다. 한편 파티시펀트 상호 간에는 사로의 존재 유무를 검사하는 라이브리니스(Liveliness) 체크를 주기적으로 수행할 수 있다.
SPDP 동작을 통하여 상대 파티시펀트의 디스커버리가 성공적으로 수행되면, RTPS 프로토콜에서 정의된 메시지인 하트비트(Heartbeat) 메시지와 액크넥(Ack/Nack) 메시지를 이용하여 각 파티시펀트 내부의 개체간에 핸드쉐이킹(Handshaking)을 수행할 수 있다. 이와 같이, 개체간에 핸드쉐이킹이 성공적으로 수행되면, 각 캐채 간의 QoS를 공유하는 SEDP 과정을 수행할 수 있다.
이와 같이, CPS 미들웨어 시스템에서는 파티시펀트가 도메인에 생성된 후 SPDP 과정을 수행하게 되는데, SPDP는 상대 파티시펀트의 디스커버리를 위하여 일정 시간 주기로 디스커버리 데이터를 멀티캐스트로 전송하는 프로토콜일 수 있다. 그런데 이 경우 한 도메인에서 여러 파티시펀트들의 SPDP 동작 수행으로 인하여 도메인 내의 네트워크에서 빈번한 데이터 교환이 발생할 수 있다. 따라서 네트워크의 과다한 부하 및 시간 지연이 발생할 가능성이 있다.
이에 비하여 본 발명의 바람직한 실시예에 따른 DHT 기반의 RTPS 디스커버리 방법은 SPDP 동작 수행 전에 DHT 프로토콜을 사용하여 상대 파티시펀트의 디스커버리를 신속하게 수행하며 디스커버리를 위한 데이터를 빈번하게 주고 받을 필요가 없어 효율적인 네트워크 운용을 할 수 있게 된다.
도 1은 본 발명의 바람직한 실시예에 따른 DHT 기반의 RTPS 디스커버리 방법을 실현하기 위한 시스템 운영 환경을 개략적으로 도시한 블록도이다.
도 1에 도시된 바와 같이, RTPS(The Real-Time Publish Subscribe) 디스커버리 시스템은 물리적 네트워크(Physical Network)(40)의 파티시펀트(20)가 가지고 있는 토픽(Topic) 데이터를 가상의 오버레이 네트워크(30)의 DHT에 등록하고, 오버레이 네트워크 내에 존재하는 파티시펀트(10)의 토픽 데이터를 통하여 파티시펀트(20)에 대한 디스커버리를 용이하게 하는 구조를 기반으로 할 수 있다.
즉, 본 발명에 따른 RTPS 디스커버리 시스템은 오버레이 네트워크(30)의 DHT 기반 데이터 분산 서비스(DDS : Data Distribution Service) 구조를 기반으로 할 수 있다. 이러한 구조는 토픽 데이터가 오버레이 네트워크(30)에 참여하는 파티시펀트(20) 즉, 피어(Peer)의 해쉬 테이블에 저장되기 때문에 빠른 데이터 탐색이 가능하며 확장성이 좋은 장점이 있다.
도 2는 DHT 기반의 RTPS 디스커버리 방법을 실현하기 위한 RTPS 파티시펀트의 모듈 구성을 도시하는 블록도로서, DHT를 사용하여 파티시펀트를 디스커버리하고 개체 간의 SEDP 동작 등을 수행할 수 있는 피어투피어(P2P : Peer to Peer) 파티시펀트를 예시적으로 나타내고 있다.
도 2에 도시된 바와 같이, 각각의 RTPS 파티시펀트(120, 130)는 P2P 파티시펀트 피어(Peer)(124, 134) 및 RTPS 개체(122, 132)를 포함할 수 있다.
상기 P2P 파티시펀트 피어(124, 134)는 오버레이 네트워크(110)에서 서로 연결되는 피어 모듈을 의미할 수 있다. 이러한 P2P 파티시펀트 피어(124, 134)는 오버레이 네트워크(110)의 DHT(112)를 기반으로 SPDP 프로토콜을 사용하여 상호 간 SPDP 동작을 수행할 수 있다. SPDP 동작에 있어서, P2P 파티시펀트 피어(124, 134)는 기존의 멀티캐스트 기법과는 달리 DHT(112)를 기반으로 상대 RTPS 파티시펀트(130, 120)의 위치를 디스커버리하여 유니캐스트로 전송할 수 있다.
예를 들면, P2P 파티시펀트 피어(124, 134)는 오버레이 네트워크(110)의 DHT(112)에 해당 RTPS 파티시펀트(120, 130)를 등록하고, DHT(112)로부터 디스커버리하고자 하는 상대 RTPS 파티시펀트(130, 120)의 위치 정보를 획득할 수 있다. 획득된 상대 RTPS 파티시펀트(130, 120)의 위치 정보를 기반으로 상대 P2P 파티시펀트(130, 120)의 P2P 파티시펀트 피어(134, 124)와 디스커버리 메시지를 교환하여 상대 PTPS 파티시펀트(130, 120)의 RTPS 개체 정보를 획득할 수 있다. 상기 디스커버리 메시지는 RTPS 개체(132, 122)의 속성값을 포함하는 메시지로서, 예컨대 SPDP에서의 "PDPdiscoveredParticipant"메시지 등일 수 있다.
P2P 파티시펀트 피어(124, 134)는 라이브리니스(Liveliness) 프로토콜을 사용하여 상호 간에 라이브니스 동작 등을 수행할 수도 있다. 예를 들면, P2P 파티시펀트 피어(124, 134)는 라이브리니스 프로토콜을 통하여 상대 RTPS 파티시펀트(130, 120)의 RTPS 개체(132, 122)의 존재 유무를 검사할 수 있다.
RTPS 개체(122, 132)는 실제 토픽 데이터를 발간하고 구독하는 모듈로서, RTPS 디스커버리에서 엔드 포인트(Endpoint)에 해당할 수 있다. 예컨대 RTPS 개체(122, 132)는 RTPS 라이터(Writer), RTPS 리더(Reader) 등을 포함할 수 있다. 이러한 RTPS 개체(122, 132)는 핸드쉐이킹 프로토콜(Handshaking Protocol) 및 SEDP 프로토콜에 따라 상호 간의 핸드쉐이킹 및 QoS 공유 등을 수행할 수 있다.
도 3은 본 발명의 바람직한 실시예에 따른 DHT 기반의 RTPS 디스커버리 방법의 흐름을 설명하기 위한 흐름도이다. 이하에서는 도 3을 참조하여 제 1 RTPS 파티시펀트(120)가 DHT(112)를 기반으로 제 2 RTPS 파티시펀트(130)를 디스커버리하는 예를 상세하게 설명하기로 한다.
도 3에 도시된 바와 같이, 먼저 제 1 RTPS 파티시펀트(120)의 P2P 파티시펀트 피어(124)는 오버레이 네트워크(110)의 DHT(112)에 제 1 RTPS 파티시펀트(120)를 등록할 수 있다(단계:S10).
예를 들면, 제 1 RTPS 파티시펀트(120)는 DHT(112)에 상기 제 1 RTPS 파티시펀트(120)의 토픽 데이터, 식별 정보 및 위치 정보(예컨대, IP 주소 등) 등을 등록할 수 있다. 상기 토픽 데이터는 제 1 RTPS 파티시펀트(120)에 대한 센서 데이터(예컨대 온도, 습도, 날씨 등) 등을 포함할 수 있다. 한편, 이와 마찬가지로, 제 2 RTPS 파티시펀트(130)의 P2P 파티시펀트 피어(134)는 오버레이 네트워크(110)의 DHT(112)에 제 2 RTPS 파티시펀트(130)를 등록할 수 있다.
이어서, 제 1 RTPS 파티시펀트(120)의 P2P 파티시펀트 피어(124)는 DHT(112)로부터 디스커비리하고자 하는 상대 파티시펀트, 즉 제 2 RTPS 파티시펀트(130)의 위치 정보를 획득할 수 있다(단계:S20).
예를 들면, 제 1 RTPS 파티시펀트(120)의 P2P 파티시펀트 피어(124)는 디스커버리하고자 하는 토픽 데이터(즉, 제 2 RTPS 파티시펀트의 토픽 데이터)에 관한 정보를 상기 DHT(112)에 요청하고, 그 토픽 데이터에 관한 정보를 포함하는 응답을 DHT(112)로부터 수신할 수 있다. 그리고, P2P 파티시펀트 피어(124)는 수신한 토픽 데이터에 관련 정보로부터 상기 토픽 데이터를 가지고 있는 제 2 RTPS 파티시펀트(130)의 위치 정보를 취득할 수 있다.
다음으로, 제 1 RTPS 파티시펀트(120)의 P2P 파티시펀트 피어(124)는 상기 획득된 제 2 RTPS 파티시펀트(130)의 위치 정보를 기반으로 제 2 RTPS 파티시펀트(130)의 P2P 파티시펀트 피어(134)와 디스커버리 메시지를 교환하여 RTPS 개체 정보를 공유할 수 있다(단계:S30). 이때, 사용되는 디스커버리 메시지는 RTPS 개체의 속성값을 포함하는 메시지로서, 예컨대 SPDP에서의 "PDPdiscoveredParticipant"메시지 등일 수 있다.
예를 들면, 제 1 RTPS 파티시펀트(120)의 P2P 파티시펀트 피어(124)는 상기 획득된 제 2 RTPS 파티시펀트(130)의 위치 정보를 사용하여 제 2 RTPS 파티시펀트(130)의 P2P 파티시펀트 피어(134)로 제 1 RTPS 파티시펀트(120)의 RTPS 개체(122)의 속성 정보를 포함하는 메시지를 전송할 수 있다. 또한 제 2 RTPS 파티시펀트(130)의 P2P 파티시펀트 피어(134)로부터 제 2 RTPS 파티시펀트(130)의 RTPS 개체(132)의 속성 정보를 포함하는 메시지를 수신할 수 있다.
이어서, 제 1 RTPS 파티시펀트(120)의 P2P 파티시펀트 피어(124)는 라이브리니스 프로토콜을 통하여 제 2 RTPS 파티시펀트(130)의 RTPS 개체(132)의 존재 유무를 검사할 수 있다(단계:S40). 예를 들면, 제 1 RTPS 파티시펀트(120)의 P2P 파티시펀트 피어(124)는 제 2 RTPS 파티시펀트(130)의 P2P 파티시펀트 피어(134)와 라이브리니스 메시지를 상호 교환함으로써 상호 RTPS 개체(132, 122)의 존재 유무를 검사할 수 있다.
한편, 이러한 단계 S10 내지 단계 S40까지의 과정들이 성공적으로 수행되면, 제 1 RTPS 파티시펀트(120)의 RTPS 개체(122)는 제 2 RTPS 파티시펀트(130)의 RTPS 개체(132)와 핸드쉐이킹을 수행할 수 있다. 예를 들면, 제 1 RTPS 파티시펀트(120)의 RTPS 개체(122)는 제 2 파티시펀트(130)의 RTPS 개체(132)로 하트비트(Heartbeat) 메시지를 전송하고 그 응답으로 액크(Ack) 메시지 또는 넥크(Nack) 메시지를 수신할 수 있다. 또한, 제 2 파티시펀트(130)의 RTPS 개체(132)로부터 하트비트 메시지가 수신되면 그 응답으로 액크 메시지 또는 넥크 메시지를 메시지를 전송할 수 있다.
다음으로, 제 1 RTPS 파티시펀트(120)의 RTPS 개체(122)는 제 2 RTPS 파티시펀트(130)의 RTPS 개체(132)와 상호 간에 QoS를 공유할 수 있다. 예를 들면, 제 1 RTPS 파티시펀트(12)의 RTPS 개체(122)는 제 2 RTPS 파티시펀트(130)의 RTPS 개체(132)로 QoS 메시지를 전송하고, 제 2 RTPS 파티시펀트(130)의 RTPS 개체(132)로부터 전송되는 QoS 메시지를 수신할 수 있다.
이상 설명한 바와 같이, 본 발명의 바람직한 실시예에 따른 DHT 기반의 RTPS 디스커버리 방법에 의하면, 멀티캐스트 방식의 SPDP 동작을 수행하는 종래의 기술과는 달리, RTPS 파티시펀트에 구비되는 P2P 파티시펀트 피어에서 오버레이 네트워크의 DHT를 통하여 신속하게 상대 RTPS 파티시펀트의 위치 정보를 획득하고 유니캐스트를 통한 SPDP 동작을 수행할 수 있다. 따라서, RTPS 디스커버리를 위한 데이터를 도메인 내에서 빈번하게 주고 받을 필요가 없으며 신속하고 효율적인 네트워크 운용이 가능하게 된다.
이상 본 발명에 대하여 그 바람직한 실시예를 예시하여 설명하였지만 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구 범위에 기재된 본 발명의 기술적 사항 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시켜 실시할 수 있음을 이해할 수 있을 것이다. 따라서, 본 발명의 앞으로의 실시예들의 변경은 본 발명의 기술을 벗어날 수 없을 것이다.
110 : 오버레이 네트워크
112 : 분산 해쉬 테이블(DHT : Distributed Hash Table)
120, 130 : RTPS(The Real-Time Publish Subscribe) 파티시펀트
122, 132 : RTPS(The Real-Time Publish Subscribe) 개체
124, 134 : P2P(Peer to Peer) 파티시펀트 피어

Claims (17)

  1. 파티시펀트의 파티시펀트 피어가, 오버레이 네트워크의 분산 해쉬 테이블(DHT : Distributed Hash Table)에 상기 파티시펀트를 등록하는 단계;
    상기 DHT로부터 디스커버리하고자 하는 상대 파티시펀트의 위치 정보를 획득하는 단계;
    상기 획득된 상대 파티시펀트의 위치 정보를 기반으로 상기 상대 파티시펀트의 피어와 디스커버리 메시지를 교환하여 상기 상대 파티시펀트의 개체의 정보를 공유하는 단계; 및
    상기 파티시펀트의 개체가, 상기 상대 파티시펀트의 개체와 핸드쉐이킹을 수행하는 단계를 포함하는 것을 특징으로 하는 DHT 기반의 RTPS(The Real-Time Publish Subscribe) 디스커버리 방법.
  2. 제 1 항에 있어서, 상기 파티시펀트를 등록하는 단계는,
    상기 파티시펀트의 토픽 데이터, 상기 토픽 데이터를 가지고 있는 상기 파티시펀트의 식별 정보 및 상기 파티시펀트의 위치 정보를 상기 DHT에 등록하는 단계를 포함하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 방법.
  3. 제 1 항에 있어서, 상기 상대 파티시펀트의 위치 정보를 획득하는 단계는,
    상기 디스커버리하고자 하는 토픽 데이터에 관한 정보를 상기 DHT에 요청하는 단계;
    상기 요청한 토픽 데이터에 관한 정보를 상기 DHT로부터 수신하는 단계; 및
    상기 수신한 토픽 데이터에 관련 정보로부터 상기 요청한 토픽 데이터를 가지고 있는 상기 상대 파티시펀트의 위치 정보를 취득하는 단계를 포함하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 방법.
  4. 제 1 항에 있어서, 상기 상대 파티시펀트의 개체의 정보를 공유하는 단계는,
    상기 획득된 상대 파티시펀트의 위치 정보를 사용하여 상기 상대 파티시펀트의 피어로 상기 파티시펀트의 개체의 속성 정보를 포함하는 메시지를 상기 상대 파티시펀트로 전송하는 단계; 및
    상기 상대 파티시펀트로부터 상기 상대 파티시펀트의 개체의 속성 정보를 포함하는 메시지를 수신하는 단계를 포함하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 방법.
  5. 제 1 항에 있어서, 라이브리니스 프로토콜을 통하여 상기 상대 파티시펀트의 개체의 존재 유무를 검사하는 단계를 더 포함하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 방법.
  6. 제 1 항에 있어서, 상기 파티시펀트의 개체와 상기 상대 파티시펀트의 개체가 상호 간에 QoS를 공유하는 단계를 더 포함하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 방법.
  7. 파티시펀트에 구비되며, 상대 파티시펀트의 개체와 핸드쉐이킹을 수행하는 상기 파티시펀트의 개체; 및
    오버레이 네트워크의 DHT에 상기 파티시펀트를 등록하며, 상기 DHT로부터 디스커버리하고자 하는 상대 파티시펀트의 위치 정보를 획득하고, 상기 획득된 상대 파티시펀트의 위치 정보를 기반으로 상기 상대 파티시펀트의 피어와 디스커버리 메시지를 교환하여 상기 상대 파티시펀트의 개체의 정보를 공유하는 파티피펀트 피어를 포함하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 장치.
  8. 제 7 항에 있어서, 상기 파티시펀트 피어는,
    상기 파티시펀트의 토픽 데이터, 상기 토픽 데이터를 가지고 있는 상기 파티시펀트의 식별 정보 및 상기 파티시펀트의 위치 정보를 상기 DHT에 등록하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 장치.
  9. 제 7 항에 있어서, 상기 파티시펀트 피어는,
    상기 디스커버리하고자 하는 토픽 데이터에 관한 정보를 상기 DHT에 요청하고, 상기 요청한 토픽 데이터에 관한 정보를 상기 DHT로부터 수신하고, 상기 수신한 토픽 데이터에 관련 정보로부터 상기 요청한 토픽 데이터를 가지고 있는 상기 상대 파티시펀트의 위치 정보를 취득하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 장치.
  10. 제 7 항에 있어서, 상기 파티시펀트 피어는,
    상기 획득된 상대 파티시펀트의 위치 정보를 사용하여 상기 상대 파티시펀트의 피어로 상기 파티시펀트의 개체의 속성 정보를 포함하는 메시지를 상기 상대 파티시펀트로 전송하고, 상기 상대 파티시펀트로부터 상기 상대 파티시펀트의 개체의 속성 정보를 포함하는 메시지를 수신하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 장치.
  11. 제 7 항에 있어서, 상기 파티시펀트 피어는 라이브리니스 프로토콜을 통하여 상기 상대 파티시펀트의 개체의 존재 유무를 검사하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 장치.
  12. 제 7 항에 있어서, 상기 파티시펀트의 개체는 상기 상대 파티시펀트의 개체와 상호 간에 QoS를 공유하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 장치.
  13. 오버레이 네트워크의 DHT에 등록되는 제 2 파티시펀트; 및
    상기 오버레이 네트워크의 DHT에 등록되며, 상기 DHT로부터 상기 제 2 파티시펀트의 위치 정보를 획득하고 상기 위치 정보를 기반으로 상기 제 2 파티시펀트와 디스커버리 메시지를 교환하여 상기 제 2 파티시펀트의 개체 정보를 공유하고, 상기 제 2 파티시펀트의 개체와 핸드쉐이킹을 수행하는 제 1 파티시펀트를 포함하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 시스템.
  14. 제 13 항에 있어서, 상기 제 1 파티시펀트는,
    상기 제 1 파티시펀트의 토픽 데이터, 상기 토픽 데이터를 가지고 있는 상기 제 1 파티시펀트의 식별 정보 및 상기 제 1 파티시펀트의 위치 정보를 상기 DHT에 등록하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 시스템.
  15. 제 13 항에 있어서, 상기 제 1 파티시펀트는,
    디스커버리하고자 하는 토픽 데이터에 관한 정보를 상기 DHT에 요청하고, 상기 요청한 토픽 데이터에 관한 정보를 상기 DHT로부터 수신하고, 상기 수신한 토픽 데이터에 관련 정보로부터 상기 요청한 토픽 데이터를 가지고 있는 상기 제 2 파티시펀트의 위치 정보를 취득하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 시스템.
  16. 제 13 항에 있어서, 상기 제 1 파티시펀트는 라이브리니스 프로토콜을 통하여 상기 제 2 파티시펀트의 개체의 존재 유무를 검사하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 시스템.
  17. 제 13 항에 있어서, 상기 제 1 파티시펀트의 개체와 상기 제 2 파티시펀트의 개체는 상호 간에 QoS를 공유하는 것을 특징으로 하는 DHT 기반의 RTPS 디스커버리 시스템.
KR1020100133176A 2010-12-23 2010-12-23 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템 KR20120071576A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020100133176A KR20120071576A (ko) 2010-12-23 2010-12-23 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템
US13/292,775 US20120166556A1 (en) 2010-12-23 2011-11-09 Method, device and system for real-time publish subscribe discovery based on distributed hash table

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100133176A KR20120071576A (ko) 2010-12-23 2010-12-23 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템

Publications (1)

Publication Number Publication Date
KR20120071576A true KR20120071576A (ko) 2012-07-03

Family

ID=46318373

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100133176A KR20120071576A (ko) 2010-12-23 2010-12-23 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템

Country Status (2)

Country Link
US (1) US20120166556A1 (ko)
KR (1) KR20120071576A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102030780B1 (ko) * 2019-08-07 2019-10-10 한화시스템(주) Dds 시스템 및 이의 디스커버리 방법

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2503760B1 (de) * 2011-03-24 2014-05-07 Siemens Aktiengesellschaft Verfahren zum Einrichten eines Kommunikationsnetzes aus Geräten einer Automatisierungsanlage
KR20140137573A (ko) * 2013-05-23 2014-12-03 한국전자통신연구원 데이터 분산 서비스 미들웨어의 쓰레드를 위한 메모리 관리 장치 및 방법
CN103412883B (zh) * 2013-07-17 2016-09-28 中国人民解放军国防科学技术大学 基于p2p技术的语义智能信息发布订阅方法
EP2840539A1 (en) 2013-08-23 2015-02-25 Thomson Licensing Communications device utilizing a central discovery mechanism, and respective method
WO2015047663A2 (en) 2013-09-26 2015-04-02 Apple Inc. Personalization of devices while packaged
US9893835B2 (en) * 2015-01-16 2018-02-13 Real-Time Innovations, Inc. Auto-tuning reliability protocol in pub-sub RTPS systems
US10764149B2 (en) * 2018-09-12 2020-09-01 The Mitre Corporation Cyber-physical system evaluation
CN109756559B (zh) * 2018-12-07 2021-04-30 中国航空工业集团公司西安航空计算技术研究所 面向嵌入式机载系统分布式数据分发服务的构建及使用方法
GB2617345B (en) * 2022-04-04 2024-06-05 Aptiv Technoologies Ag Data transmission system, vehicle comprising the data transmission system, data transmission method and computer program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7418454B2 (en) * 2004-04-16 2008-08-26 Microsoft Corporation Data overlay, self-organized metadata overlay, and application level multicasting
US8250032B2 (en) * 2009-06-02 2012-08-21 International Business Machines Corporation Optimizing publish/subscribe matching for non-wildcarded topics

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102030780B1 (ko) * 2019-08-07 2019-10-10 한화시스템(주) Dds 시스템 및 이의 디스커버리 방법

Also Published As

Publication number Publication date
US20120166556A1 (en) 2012-06-28

Similar Documents

Publication Publication Date Title
KR20120071576A (ko) 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템
US7912959B2 (en) Architecture for building a peer to peer messaging platform
US7543023B2 (en) Service support framework for peer to peer applications
US7493413B2 (en) APIS to build peer to peer messaging applications
US7978631B1 (en) Method and apparatus for encoding and mapping of virtual addresses for clusters
US10637794B2 (en) Resource subscription method, resource subscription apparatus, and resource subscription system
KR20170118815A (ko) 메시지 버스 서비스 디렉토리
TWI599201B (zh) 網路系統及建立資料連線的方法
US8219614B2 (en) Edge peer device, pan gateway device, super peer device, and P2P network-based interconnection method
KR20100019420A (ko) 에지 라우팅을 갖는 피어-투-피어 협업 시스템
JP2005525750A (ja) ネットワークアドレス変換(nat)によるピアツーピアネットワーク通信
Nordström et al. Haggle: Opportunistic mobile content sharing using search
KR101157039B1 (ko) Ddsb 통신 시스템 및 방법
CN104683403B (zh) 用于资源共享的方法、资源服务器和系统
JP2023547256A (ja) データダウンロード方法、装置、及びコンピュータ機器
WO2020237453A1 (zh) 安全多方计算的实现方法、装置、计算机设备和存储介质
JP2017027499A (ja) 中継システム、中継方法、及びプログラム
KR102025375B1 (ko) 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템
CN111092958A (zh) 一种节点接入方法、装置、系统及存储介质
JP5272731B2 (ja) P2pデータ配信システム、p2pデータ配信方法、及びp2pデータ配信プログラム
Tindall et al. Peer-to-peer between browsers: cyclon protocol over WebRTC
CN106060155B (zh) P2p资源共享的方法及装置
WO2018107671A1 (zh) 一种共享认证方法及系统、智能设备及控制方法
Rodrigues et al. Zigzag: A middleware for service discovery in future internet
JP2017017587A (ja) ルータ装置、接続確立方法、通信システム、通信端末

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