KR101157039B1 - Ddsb 통신 시스템 및 방법 - Google Patents

Ddsb 통신 시스템 및 방법 Download PDF

Info

Publication number
KR101157039B1
KR101157039B1 KR1020120001921A KR20120001921A KR101157039B1 KR 101157039 B1 KR101157039 B1 KR 101157039B1 KR 1020120001921 A KR1020120001921 A KR 1020120001921A KR 20120001921 A KR20120001921 A KR 20120001921A KR 101157039 B1 KR101157039 B1 KR 101157039B1
Authority
KR
South Korea
Prior art keywords
dds
ddsb
message
communication
domain
Prior art date
Application number
KR1020120001921A
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 KR1020120001921A priority Critical patent/KR101157039B1/ko
Application granted granted Critical
Publication of KR101157039B1 publication Critical patent/KR101157039B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/03Protocol definition or specification 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 DDSB 통신 시스템 및 방법에 관한 것으로, 도메인에 메시지를 발간/구독하는 DDSB(Data Distribution Service Bridge);및 DDSB와 통신하는 non DDS 통신 객체(Non DDS Entity);을 포함하고, 상기 DDSB는 통신 기능을 제공하는 RTPS(Real-Time Publish-Subscribe)와 데이타를 전송하는 DCPS(Data-Centric Publish-Subscribe)로 구성되는 DDS(Data Distribution Service), 센더(Sender)와 리시버(Receiver)로 구성되는 Abstract Layer, 상기 DDS 객체를 생성하고 메시지를 전달하는 프로토콜 매니저(Protocol Manager) 및 DDS 객체들의 정보가 있는 DDS Entity Manager를 포함하며, 상기 non DDS 통신 객체는 센더(Sender)와 리시버(Receiver)로 구성된다.

Description

DDSB 통신 시스템 및 방법{DDS Bridge communication system and method}
본 발명은 DDSB(Data Distribution Service Bridge) 구조 및 프로토콜에 관한 것으로, 특히, DDS(Data Distribution Service) 미들웨어를 탑재되지 않고 통신가능한 디바이스(non DDS 통신객체)가 패킷 형태로 DDSB와 통신하며 DDSB에 DDS 도메인에 발간하고 싶은 메시지를 보내면 DDSB가 DDS의 데이터라이터(DataWriter) 객체를 통하여 도메인에 발간하고 DDS의 데이터리더(DataReader) 객체를 통하여 구독한 메시지를 DDSB가 패킷 형태로 통신가능한 디바이스(non DDS 통신 객체)로 전송하여 DDSB의 Abstraction Layer를 이용하여 non-DDS기기가 DDS 서비스를 이용할 수 있는 DDSB(DDS Bridge) 구조와 프로토콜을 정의하는, DDSB 통신 시스템 및 방법에 관한 것이다.
DDS(Data Distribution Service)는 OMG(Object Management Group) 표준 통신 미들웨어는 동적으로 네트워크 도메인을 형성하고, 디바이스의 자유로운 참여/탈퇴가 가능한 환경에서 발간/구독(Publish/Subscribe) 통신 기법을 이용하여 효율적인 데이터 분배를 제공한다.
DDS의 특징은 다수의 디바이스들이 동적으로 연동되어 하나의 네트워크 도메인을 형성하고 데이터를 교환하는 경우가 빈번한 유비쿼터스 환경에 적합하다는 것이다. DDS는 발간/구독 기능, QoS 제어 기능, DDS 참여 노드의 주소를 알아내는 디스커버리 기능 등 다양한 기능이 포함되기 때문에, 실행하려면 데스크탑 규모의 메모리나 프로세서 용량이 필요하다. 하지만 유비쿼터스 환경에서 사용되는 디바이스들은 스마트폰, 센서 등과 같이 작은 컴퓨팅 자원을 가지고 있다. 따라서, 유비쿼터스 환경에서 효율적인 DDS 미들웨어를 사용하기에는 부적합하다.
종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 DDS(Data Distribution Service) 미들웨어를 탑재되지 않고 통신가능한 디바이스가 패킷 형태로 DDSB와 통신하며 DDSB에 DDS 도메인(Domain)에 발간하고 싶은 메시지를 보내면 DDSB가 DDS의 데이터라이터를 통하여 도메인에 발간하고, DDS의 데이터리더 객체를 통하여 구독한 메시지를 DDSB가 패킷 형태로 통신가능한 디바이스로 전달하고, 컴퓨팅자원이 부족한 디바이스가 DDS 미들웨어를 설치하지 않고 간단한 메시지를 자신이 가진 프로토콜을 이용하여 전송하게 하여 DDS 서비스를 이용할 수 있는 DDSB(DDS Bridge) 구조와 프로토콜을 제공하는, DDSB 통신 시스템을 제공하는 것이다.
본 발명의 다른 목적은 DDSB(Data Distribution Service Bridge) 통신 방법을 제공하는 것이다.
본 발명의 목적을 달성하기 위해, 본 발명에 따른 DDSB(Data Distribution Service Bridge) 통신 시스템은, 도메인에 메시지를 발간/구독하기 위한 DDSB(Data Distribution Service Bridge);및 상기 DDSB와 통신하는 센더(Sender)와 리시버(Receiver)로 구성되는 non DDS 통신 객체(Non DDS Entity);를 포함하고,
상기 DDSB는 통신 기능을 제공하는 RTPS(Real-Time Publish-Subscribe)와 데이타를 전송하는 DCPS(Data-Centric Publish-Subscribe)로 구성되는 DDS(Data Distribution Service), 센더(Sender)와 리시버(Receiver)로 구성되는 Abstract Layer, 상기 DDS 객체를 생성하고 메시지를 전달하는 프로토콜 매니저(Protocol Manager) 및 DDS 객체들의 정보가 있는 DDS 엔티티 매니저(DDS Entity Manager)를 포함하는 것을 특징으로 한다.
도메인에 메시지를 발간/구독하기 위해 DDSB(Data Distribution Service Bridge);및 상기 DDSB와 통신하는 non DDS 통신 객체(Non DDS Entity)를 포함하는 DDSB(Data Distribution Service Bridge) 통신 시스템의 DDSB 통신 방법으로서,
(a) 상기 DDSB과 상기 non DDS 통신객체의 연결을 설정하는 단계;를 수행한 후에, (b) 상기 non DDS 통신 객체가 도메인의 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)를 실행하는 단계; 또는, (c) 상기 DDSB로부터 도메인의 메시지를 구독하여 non DDS 통신 객체로 전달하는 프로토콜 통신 절차(Subscription sequence diagram)를 실행하는 단계;를 포함하고, 상기 DDSB 통신 시스템에서 동적으로 네트워크 도메인을 형성하고 통신가능한 디바이스(non DDS 기기)의 자유로운 참여/탈퇴가 가능한 환경에서 DDSB의 발간/구독(Publish/Subscribe) 프로토콜을 사용하여 DDSB의 Abstract Layer를 이용하여 상기 non-DDS 기기가 DDS 서비스를 이용하도록 상기 Abstract Layer의 센더(Sender) 및 리시버(Receiver)를 사용하여 DDS의 데이터리더를 통하여 구독한 메시지를 상기 프로토콜 매니저로 전송하며,상기 프로토콜 매니저는 DDS의 데이터리더와 매칭되는 상기 non-DDS 통신객체를 찾고,상기 Abstract Layer의 센더(Sender)를 통해 상기 non-DDS 통신객체로 전송하고, 상기 non-DDS 통신객체가 발간하고자 하는 메시지를 상기 Abstract Layer의 리시버(Receiver)로 수신받아 프로토콜 매니저(Protocol Manager)로 전송하며, 상기 프로토콜 매니저는 상기 non-DDS 통신객체와 매칭되는 DDS의 객체를 생성하기 위해 DDS Entity Manager를 확인하고 객체를 생성하여 도메인에 메시지를 발간하는 것을 특징으로 한다.
본 발명에 따른 DDSB(DDS Bridge) 통신 시스템 및 방법은 DDS(Data Distribution Service) 미들웨어를 탑재되지 않고 통신가능한 디바이스가 패킷 형태로 DDSB와 통신하며 DDSB에 DDS 도메인에 발간하고 싶은 메시지를 보내면 DDSB는 DDS의 데이터라이터객체를 통하여 도메인에 발간하고, DDS의 데이터리더 객체를 통하여 구독한 메시지를 DDSB는 패킷 형태로 통신가능한 디바이스로 전달를 통해서, 컴퓨팅자원이 부족한 디바이스가 DDS 미들웨어를 설치하지 않고 간단한 메시지를 자신이 가진 프로토콜을 이용하여 전송하게 하여 DDS 서비스를 이용할 수 있는 DDSB(DDS Bridge) 구조와 프로토콜을 제공한다.
도 1은 DDS 구조(DDS Structure)를 나타낸 도면이다.
도 2는 DDS의 동작(Behavior of DDS)을 나타낸 도면이다.
도 3은 DDSB(DDS Bridge)의 동작(Behavior of DDSB)을 나타낸 도면이다.
도 4는 본 발명에서 제안하는 DDSB(DDSB Module)을 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 DDS의 데이터리더를 통하여 구독한 메시지를 non DDS 통신객체로 전달하는 센더 컴포넌트 다이아그램(Sender component diagram)이다.
도 6은 본 발명의 실시예에 따른 non DDS 통신객체로부터 받은 메시지를 프로토콜 매니저(Protocol Manager)로 전달하는 리시버 컴포넌트 다이아그램(Receiver component diagram)이다.
도 7은 DDS Entity Table을 나타낸다.
도 8은 TCP/IP Layer에서 DDSB 사용예를 나타낸 도면이다.
도 9는 non DDS 통신 객체가 DDS 도메인에 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)이다.
도 10은 DDS 도메인의 메시지를 구독하여 non DDS 통신 객체에게 전달하는 프로토콜 통신 절차를 나타내는 Subscription sequence diagram이다.
도 11은 TCP/IP 통신방법을 선택했을 경우 TCP/IP connection을 연결 절차를 나타낸 도면이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 구성 및 동작을 상세하게 설명한다.
1. DDS( Data Distribution Service )
DDS(Data Distribution Service)는 분산 응용프로그램들 간에 데이터 중심 발간/구독 방식의 통신을 위한 표준 소프트웨어 API(Application Programming Interface)로서 OMG에서 표준화하였다.
도 1은 DDS 구조(DDS Structure)를 나타낸 도면이다.
DDS(Data Distribution Service)는 RTPS(Real-Time Publish-Subscribe)와 DCPS(Data-Centric Publish-Subscribe) 두 계층으로 구성된다. RTPS는 실질적인 통신 기능을 제공하고 DCPS는 DDS 응용프로그램에게 통신 인터페이스를 제공하는 기능을 제공한다(도 1).
RTPS(Real-Time Publish-Subscribe)는 컴퓨터 플랫폼의 Linux/Windows 운영체제에서 실제 데이터가 발간/구독되는(Publish/Subscribe) 계층으로써 RTPS Engine과 RTPS Wired Protocol로 구분된다. RTPS Engine은 도메인 형성과 사용할 데이터의 타입을 결정하고 도메인에 참여하는 원격의 DDS들을 동적으로 발견한다. 또한, Publisher와 Subscriber에 의해 데이터가 발간/구독된다. RTPS Wired Protocol은 실제 데이터를 전송하는 프로토콜로써 RTPS 엔진(RTPS Engine)이 설정한 QoS에 따라 신뢰성(reliable) 또는 비신뢰성(unreliable)을 갖는 데이터 통신을 수행하고, RTSP의 네트워크는 멀티캐스트(Multicast), 유니캐스트(Unicast), 브로드캐스트(Broadcast) 방식으로 UDP/IP 통신을 지원한다.
DCPS(Data-Centric Publish-Subscribe)는 응용프로그램에 제공되는 데이터 발간/구독 기능 및 QoS(Quality of Service)를 통하여 신뢰성을 보장하며, 응용프로그램에서 직접 이루어지던 데이터 송수신을 대행하는 계층이다. 단순 응용프로그램 작성으로 데이터 송수신이 가능하다. DCPS는 read/write 방식의 API(Application Programming Interface)를 제공하여 응용프로그램간의 데이터 교환 기능을 제공하고, 또한 교환할 상대에 대해 알 필요 없이 원하는 데이터의 발간/구독을 실시할 수 있다.
도 2는 DDS의 동작(Behavior of DDS)을 나타낸 도면이다.
DDS 서비스는 DCPS 객체를 생성함으로써 이용할 수 있다. 데이터 공유 영역인 도메인에 참여하기 위해 도메인Participant를 생성하고, 도메인 참여자를 통하여 각각의 데이터에 대하여 Publisher와 Subscriber들을 생성한다. Publisher는 데이터를 도메인에 발간하기 위해 데이터라이터를 생성하고, Subscriber는 도메인으로부터 데이터를 수신하기 위해 데이터리더를 생성한다. 데이터의 송신자(Sender)와 수신자(Receiver)는 데이터에 의해 논리적 링크가 성립되기 때문에 송신자와 수신자는 Topic 이름이 같은 데이터만을 송수신 가능하며, Topic 이름이 다른 데이터는 처리할 수 없다[도 2, 도 3].
2. DDSB( DDS Bridge )
DDSB(DDS Bridge)는 크게 2가지의 기능을 제공한다. 첫 번째 기능은 non DDS 통신 객체와 통신을 하는 것이고, 두 번째 기능은 non DDS 통신 객체와 매칭되는 DDS 객체를 생성하여 DDS 서비스를 이용할 수 있게 하는 것이다[도 3].
도 3은 DDSB(DDS Bridge)의 동작(Behavior of DDSB)을 나타낸 도면이다.
제안하는 DDSB의 제약 사항은 다음과 같다.
o 데이터 전송만을 지원한다.
o DDS가 제공하는 여러가지 QoS 기능 중에서 default QoS만을 사용한다.
o non DDS 통신 객체와 데이터라이터또는 데이터리더는 1:1 관계를 갖는다.
o 데이터리더의 Listener만 사용한다.
도 4는 본 발명에서 제안하는 DDSB(DDSB Module)을 나타낸 도면이다.
도 4는 본 발명에서 제안하는 DDSB의 모습이다. 제안하는 DDSB(DDS Bridge)는 DDS(Data Distribution Service)의 RTPS(Real-Time Publish-Subscribe)와 DCPS(Data-Centric Publish-Subscribe) 그리고 추가모듈 3개(DDS Entity Manager, Protocol Manager, Abstract Layer)로 구성된다.
본 발명의 DDSB(Data Distribution Service Bridge) 통신 시스템은 도메인에 메시지를 발간/구독하는 DDSB(Data Distribution Service Bridge)(20); 및 상기 DDSB(20)와 통신하는 non DDS 통신 객체(Non DDS Entity)(30);을 포함하고,
상기 DDSB(20)는 통신 기능을 제공하는 RTPS(Real-Time Publish-Subscribe)(12)와 데이타를 전송하는 DCPS(Data-Centric Publish-Subscribe)(11)로 구성되는 DDS(Data Distribution Service)(10), 센더(Sender)(21)와 리시버(Receiver)(22)로 구성되는 Abstract Layer(27), 상기 DDS 객체를 생성하고 메시지를 전달하는 프로토콜 매니저(Protocol Manager)(24) 및 DDS 객체들의 정보가 있는 DDS Entity Manager(23)를 포함하며, 상기 non DDS 통신 객체(non DDS 기기)(30)는 센더(Sender)(31)와 리시버(Receiver)(32)로 구성된다.
상기 도메인에서 구독한 메시지를 non DDS 통신 객체(Non DDS Entity, non DDS 기기)(30)에 전달하고자 하는 경우, 구독한 상기 도메인의 메시지를 RTPS(Real-Time Publish-Subscribe)의 리더(Reader)가 DCPS(Data Centric Publish-Subscribe)의 데이터 리더로 전달하고, 상기 데이터 리더는 프로토콜 매니저(24)로 전달하며, 상기 프로토콜 매니저는 데이터 리더와 매칭되는 non DDS 통신객체(30)를 DDS 엔티티 매니저를 통하여 찾은 후, Abstract Layer(27)의 센더(Sender)(21)로 전달하고, 상기 센더는 상기 non DDS 통신객체(30)로 전송하는 것이다.
non DDS 통신 객체(30)의 메시지를 도메인에 발간하고자 하는 경우,상기 non DDS 통신 객체(30)의 센더(Sender)(31)로부터 상기 메시지를 상기 DDSB(20)의 상기 Abstract Layer(27)의 리시버(Receiver)(22)가 수신하여 프로토콜 매니저(Protocol Manager)(24)로 전달하면 상기 프로토콜 매니저(24)는 non DDS 통신객체(30)와 매칭되는 데이타 라이터(DataWriter)를 DDS 엔티티 매니저(23)를 통하여 찾고, 데이터 라이터에게 메시지를 전달하며, 상기 데이타 라이터는 RTPS의 라이터를 통하여 도메인에 발간한다.
상기 DDSB(20)은 동적으로 네트워크 도메인(도메인)을 형성하고 디바이스의 자유로운 참여/탈퇴가 가능한 환경에서 발간/구독(Publish/Subscribe) 기법을 사용하여 실제 데이터가 발간/구독되는 계층으로써 RTPS Engine과 RTPS Wired Protocol로 구분되고 실질적인 통신 기능을 제공하는 RTPS(Real-Time Publish-Subscribe)(12)와, 응용프로그램에 제공되는 데이터 발간/구독 기능 및 DDS가 제공하는 default QoS(Quality of Service)를 사용하여 신뢰성을 보장하며 DDS 응용프로그램에게 데이타를 전송하는 DCPS(Data-Centric Publish-Subscribe)(11)의 두 계층으로 구성되는 DDS(Data Distribution Service)(10); DDSB가 설치되어 있는 노드에 생성되어 있는 DDS Entity들의 정보를 가지고 있는 모듈이며, DDS Entity들이 non DDS 통신객체와 매칭되어 있고, DDS Entity Table 형태(DDS Entity Table)로 관리하는 DDS Entity Manager(23); Abstract Layer의 리시버(Receiver)로부터 받은 메시지를 분석하는 모듈이며, non DDS 통신객체와 매칭되는 DDS의 객체를 생성하기 위해 DDS Entity Manager를 확인하고 객체를 생성하고, 해당 도메인에 발간/구독 서비스를 할 경우, 도메인Participant에서 이미 Publisher와 Subscriber가 생성되어 있으면 생성하지 않고 생성되어 있는 객체를 사용하는 프로토콜 매니저(Protocol Manager)(24); 및 DDS(Data Distribution Service)의 데이터리더를 통하여 구독한 메시지를 non DDS 통신객체로 전달하는 센더(Sender), 및 상기 non DDS 통신객체로부터 받은 응답 메시지를 프로토콜 매니저(Protocol Manager)로 전달하는 리시버(Receiver)로 구성되는 Abstract Layer(27)로 구성된다.
상기 DDSB(20)은 상기 non DDS 통신 객체와 통신을 하는 기능, 및 상기 non DDS 통신 객체와 매칭되는 DDS 객체를 생성하여 DDS 서비스를 이용하게 하며, 상기 DDSB은 DDS 미들웨어를 가지고 있고, 상기 non DDS 통신객체와 통신을 할 수 있는 모듈(Sender, Receiver)을 가지고 있으며, 상기 DDS 미들웨어가 설치되어 있지 않은 시스템도 상기 DDSB을 통하여 간단한 메시지를 전송하여 DDS 서비스를 사용할 수 있으며, 상기 DDSB(20)의 Abstract Layer를 통하여 다양한 통신을 지원한다.
2.1. Abstract Layer
Non DDS 통신객체(30)는 다양한 통신 방법이 이용될 수 있고, Abstract Layer(27)를 이용하여 다양한 통신 방법을 모두 지원한다.
Abstract Layer(27)는 Non DDS 통신객체(30)와 데이타를 송수신하기 위해 Sender(21)와 Receiver(22)로 구성되고, 통신 방법에 따라 동작하는 방법이 변경되고, 또한, DDSB(DDS Bridge) 모듈(20)에서 non DDS 통신객체(30)를 용이하게 관리하기 위해 non DDS 통신객체(30)마다 ID를 배정한다. 예를 들면, TCP/IP 프로토콜을 사용하는 객체의 경우 IP 주소와 port 번호와 매칭되는 ID가 배정된다.
2.1.1 Sender
도 5는 본 발명의 실시예에 따른 DDS의 데이터리더를 통하여 구독한 메시지를 non DDS 통신객체로 전달하는 센더 컴포넌트 다이아그램(Sender component diagram)이다.
센더(Sender)(21)는 DDS(Data Distribution Service)(20)의 데이터리더를 통하여 구독한 메시지를 non DDS 통신객체(30)로 전달하는 모듈이다. 도메인(도메인)으로부터 구독한 메시지를 RTPS(Real-Time Publish-Subscribe)의 Reader가 DCPS(Data Centric Publish-Subscribe)(11)의 데이터리더에게 전달하고, 데이터리더는 프로토콜 매니저(Protocol Manager)(24)로 전달한다. 프로토콜 매니저(Protocol Manager)(24)는 데이터리더와 매칭되는 non DDS 통신객체를 DDS 엔터티 매니저(DDS Entity Manager)(23)를 통하여 찾은 후 센더(Sender)(21)로 전달하고, 센더(Sender)(21)는 상기 데이터리더와 매칭되는 non DDS 통신객체(30)로 전송한다[도 5].
2.1.2. Receiver
도 6은 본 발명의 실시예에 따른 non DDS 통신객체로부터 받은 메시지를 프로토콜 매니저(Protocol Manager)로 전달하는 리시버 컴포넌트 다이아그램(Receiver component diagram)이다.
리시버(Receiver)(22)는 non DDS 통신객체(30)로부터 받은 응답 메시지를 프로토콜 매니저(Protocol Manager)(24)로 전달하는 모듈이다. 도메인(도메인)에게 발간하고자 하는 메시지를 리시버(Receiver)(22)로 전달하고, 리시버(Receiver)(22)로부터 상기 메시지를 프로토콜 매니저(Protocol Manager)(24)로 전달한다. 프로토콜 매니저(Protocol Manager)(24)는 non DDS 통신객체(30)와 매칭되는 DataWriter를 DDS 엔티티 매니저(DDS Entity Manager)(23)를 통하여 찾고, DataWriter에게 메시지를 전달한다. DCPS(11)의 DataWriter는 RTPS(12)의 Writer를 통하여 도메인(도메인)에 발간한다[도 6].
2.2. Protocol Manager
프로토콜 매니저(Protocol Manager)(24)는 Abstract Layer의 리시버(Receiver)로부터 받은 메시지를 분석하는 모듈이다. 프로토콜 매니저(Protocol Manager)(24)는 2가지 기능이 있다. 첫 번째 기능은 non DDS 통신객체와 매칭되는 DDS의 객체를 생성하기 위해 DDS 엔티티 매니저(DDS Entity Manager)(23)를 확인하고 객체를 생성하는 것이다. DDS 객체를 생성할 때, DDSB(20)에 생성된 DDS 객체들을 검사하여 참여하고 싶은 도메인에 이미 참여하고 있는 도메인Participant가 있을 경우, 새로 생성하지 않고, 이미 참여하고 있는 도메인Participant를 사용한다. 그리고 해당 도메인에 발간/구독 서비스를 할 경우, 도메인Participant에서 이미 Publisher와 Subscriber가 생성되어 있으면 생성하지 않고 생성되어 있는 객체를 사용한다. 또한, Topic 객체가 이미 도메인에 생성되어 있는 경우, 생성하지 않고 생성되어 있는 객체를 사용한다. 두 번째 기능은 메시지를 전달하는 역할이다. 구독한 메시지는 Abstract Layer의 센더(sender)로 전달하게 되고, 도메인에 발간할 메시지는 DataWriter로 전달한다[도 6].
2.3. DDS Entity Manager
도 7은 DDS Entity Table을 나타낸다.
DDS 엔티티 매니저(DDS Entity Manager)(23)는 DDSB(20)이 설치되어 있는 노드에 생성되어 있는 DDS Entity들의 정보를 가지고 있는 모듈이다. DDS Entity들은 non DDS 통신객체와 매칭되어 있고, 도 7에 도시된 바와 같이 Table 형태(DDS Entity Table)로 관리한다. ID필드는 Abstract Layer에서 지정한 non DDS 통신객체의 ID를 저장하는 필드이다. 나머지 5개 필드는 non DDS 통신객체가 생성한 DDS 객체의 주소 값을 저장하는 필드이다. DP 필드는 도메인Participant의 주소를 저장하고, PUB와 SUB는 Publisher와 Subscriber의 주소 값을 저장한다. 그리고 DW와 DR 필드는 DataWriter와 데이터리더의 주소 값을 저장한다.
non DDS 통신 객체(30)가 DDSB(20)에 접속하면, Abstract Layer에서 지정한 ID를 저장한다. 이 후 프로토콜 매니저(Protocol Manager)(24)가 DDS 객체를 생성하면, 생성한 DDS 객체의 주소 값을 ID가 저장된 Table의 같은 행에 저장한다.
3. DDSB 를 사용하기 위한 프로토콜
DDSB는 위에서 정의한 제약사항을 가지고 있기 때문에, 어느 도메인에 참가하여 어떠한 Topic으로 발간/구독 서비스를 이용할지 정의하는 간단한 프로토콜을 사용하여 DDSB를 이용할 수 있다.
3.1. DDSB 를 사용하기 위한 프로토콜 프레임구조
본 절에서는 DDSB와 non DDS 통신객체 사이에 DDSB 프로토콜의 프레임을 정의한다. 이 프레임은 DDSB와 non DDS 통신객체 사이에 적용되는 전달 프로토콜, 예를 들면 TCP의 payload 부분에 들어간다[도 8].
도 8은 TCP/IP Layer에서 DDSB 사용예를 나타낸 도면이다.
본 발명에서 제안하는 DDSB를 이용하기 위한 프로토콜 프레임 구조는 2가지의 기능을 제공하며, i) 도메인상에서 DDS 객체를 생성하는 프로토콜, ii) 데이터를 전송하기(Data Transmission) 위한 프로토콜을 사용한다.
First Frame Structure
Type Body
0x00 1 byte
표 1은 non DDS 통신 객체에서 메시지를 전송받았을 때 처음으로 구분되는 프레임 구조(First Frame structure)이다.
표 1에 도시된 바와 같이, First 프레임 구조는 Type과 Body로 구분된다. TYPE은 1byte의 크기를 가진다. TYPE이 0x01이면 DDS의 도메인Participant, Publisher, Subscriber, DataWriter, DataReader를 생성하는 메시지이고, TYPE이 0x02이면 Topic을 생성하는 메시지이고, TYPE이 0x04이면 도메인에 발간하는 Data를 담고 있는 메시지이다. TYPE이 0x08이면 도메인에서 구독한 Data를 담고 있는 메시지이다. Body는 TYPE의 종류에 따라 아래와 같이 구조가 변경된다.
3.1.1. DDS Entity 생성 프로토콜
표 2는 TYPE이 0x01일 때 프레임 구조이다.
Structure of Type 0x01 Frame
Type Body
0x01
도메인 Number Publish or Subscribe Flag
4 bytes 1 byte
표 2와 같이 TYPE이 0x01 프레임 구조의 Body는 도메인Number와 발간 또는 구독 서비스를 결정하는 Publish or Subscribe Flag로 구분된다. 도메인 Number는 int형 타입으로 4byte의 크기를 가지고, 발간 또는 구독 서비스를 결정하는 Publish or Subscribe Flag는 Boolean형 타입으로 1byte의 크기를 가진다. 도메인 Number는 자신이 참여하고자 하는 도메인의 번호를 저장하며, Flag을 통하여 도메인에 발간서비스를 할지, 구독서비스를 할지 결정한다. True일 경우 발간서비스, False일 경우 구독서비스 결정한다.
표 3은 TYPE이 0x02일 때 프레임 구조이다.
Structure of Type 0x02 Frame
Type Body
0x02
Kind Name
1 byte String
표 3과 같이 Type 0x02 프레임 구조는 kind과 name으로 구분된다. kind는 Boolean형 타입으로 1byte의 크기를 가지고, name은 String 타입을 가지고 있고 프레임 구조에서 kind 1byte를 제외한 크기를 가진다. Topic을 생성하기 위해 type name과 topic name이 필요한데, kind는 메시지가 type name을 포함하는지 아니면 topic name을 포함하는지 결정하는 것이다. True이면 type name이고, False이면 topic name이다. name은 type name과 topic name을 포함하고 있다.
3.1.2. 발간/구독 프로토콜
표 4는 TYPE이 0x04일 때 프레임 구조이다.
Structure of Type 0x04 Frame
Type Body
0x04 Data
표 4와 같이 Type 0x04 프레임 구조는 특별히 정의하지 않는다. TYPE이 0x04일 때 non DDS 통신 객체로부터 받은 메시지의 Data부분을 DataWriter를 통하여 도메인에게 발간한다.
표 5는 TYPE이 0x08일 때 프레임 구조이다.
Structure of Type 0x08 Frame
Type Body
0x08 Data
표 5와 같이 Type 0x08 프레임 구조는 특별히 정의하지 않는다. TYPE이 0x08일 때 DDSB에서 도메인으로부터 구독한 메시지를 Data부분에 저장하여 non DDS 통신 객체로 전송한다.
표 6은 위에서 정의한 메시지들에 대한 응답 메시지 프레임 구조이다.
Ack message Frame structure
Type
1 byte
표 6에서와 같이 Ack message 프레임 구조는 TYPE만으로 구분된다. TYPE는 1byte의 크기를 가진다. non DDS 통신객체가 Ack 메시지를 받으면 TYPE를 통하여 어떤 메시지를 보내야 하는지 판단한다.
Ack Message
TYPE Message
0x10 직전 메시지를 수신했으며, 다음 메시지로서 도메인 number와 publisher/subscriber information을 보내도록 상대편에게 요청하는 메시지
0x20 직전 메시지를 수신했으며, 다음 메시지로서 발간/구독하려는 topic의 type name을 보내도록 상대편에게 요청하는 메시지
0x40 직전 메시지를 수신했으며, 다음 메시지로서 topic name을 보내도록 상대편에게 요청하는 메시지
0x80 DDS entity 생성절차가 제대로 이루어졌으며, DDS 서비스를 이용할 수 있음을 상대편에게 알리는 메시지
표 7은 응답메시지 프레임에서 TYPE의 종류에 따른 message 의미이다.
3.2. 프로토콜 통신 절차
본 발명에 따른 DDSB(Data Distribution Service Bridge) 통신 방법은,
도메인에 메시지를 발간/구독하기 위해 통신 기능을 제공하는 RTPS(Real-Time Publish-Subscribe)와 데이타를 전송하는 DCPS(Data-Centric Publish-Subscribe)로 구성되는 DDS(Data Distribution Service), Abstract Layer, 상기 DDS 객체를 생성하고 메시지를 전달하는 프로토콜 매니저(Protocol Manager) 및 상기 DDS 객체들의 정보가 있는 DDS 엔티티 매니저(DDS Entity Manager)를 포함하는 DDSB(Data Distribution Service Bridge);및 상기 DDSB와 통신하는 non DDS 통신 객체(Non DDS Entity)를 포함하는 DDSB(Data Distribution Service Bridge) 통신 시스템의 DDSB 통신 방법으로서,
(a) 상기 DDSB과 상기 non DDS 통신객체의 연결을 설정하는 단계;를 수행한 후에(예를 들면,TCP의 Three way handshaking(도11)을 수행한 후),
(b) 상기 non DDS 통신 객체가 도메인의 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)를 실행하는 단계(도9); 또는,
(c) 상기 DDSB로부터 도메인의 메시지를 구독하여 non DDS 통신 객체로 전달하는 프로토콜 통신 절차(Subscription sequence diagram)를 실행하는 단계(도10);를 포함한다.
상기 DDSB 통신 시스템에서 동적으로 네트워크 도메인을 형성하고 통신가능한 디바이스(non DDS 기기)의 자유로운 참여/탈퇴가 가능한 환경에서 DDSB(20)의 발간/구독(Publish/Subscribe) 프로토콜을 사용하여 DDS의 데이터리더를 통하여 구독한 메시지를 상기 DDSB(20)의 Abstract Layer(27)의 센더(Sender)(21)를 통해 non-DDS 통신객체(30)로 전송하고, 상기 non-DDS 통신객체(30)가 발간하고자 하는 메시지를 상기 Abstract Layer(27)의 리시버(Receiver)(22)로 수신받아 프로토콜 매니저(Protocol Manager)(24)로 전송하며, 상기 프로토콜 매니저(24)는 non-DDS 통신객체(30)와 매칭되는 DDS의 객체를 생성하기 위해 DDS Entity Manager(23)를 확인하고 객체를 생성하며 DDS의 데이터라이터를 통하여 도메인(도메인)에 메시지를 발간하는 것을 특징으로 한다.
도 9는 non DDS 통신 객체가 DDS 도메인에 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)이다.
non DDS 통신 객체가 DDS 도메인에 메시지를 발간하는 프로토콜 절차는 도 9에 도시된 바와 같이 크게 3가지 부분으로 구분된다. 첫 번째 DDSB(20)과 Non DDS 통신객체(Sender)(31)와 connection을 연결하는 부분이다. non DDS의 통신 방법에 따라 통신 연결을 하는 방법이 변경될 수 있다. 예를 들면, TCP의 경우 Three way handshaking 방법을 사용하게 된다[도 11]. 두 번째 non DDS 통신객체(non DDS Entity:Sender)(31)와 매칭되는 DDS 객체를 생성하는 부분이다. DDSB(20)은 DDS 객체를 생성하기 위한 첫 번째 메시지를 전송하라는 Ack 메시지를 non DDS 통신객체(31)로 전송한다. Ack 메시지를 받은 non DDS 통신객체(31)는 TYPE을 0x01로 설정하고, 어떤 도메인에 참여할지 도메인Number를 설정하고, 참여한 도메인에 발간서비스를 하기 위하여 Flag값을 True로 설정하여 DDSB(20)로 전송한다. DDSB(20)은 메시지를 받은 후, 다음 메시지를 전송하라는 Ack 메시지를 non DDS 통신객체(31)로 전송한다. Ack 메시지를 받은 non DDS 통신객체(31)는 Topic을 생성하기 위해 TYPE을 0x02로 설정하고, kind를 True로 설정하고, type name을 설정하여 DDSB(20)로 전송한다. DDSB(20)은 메시지를 받은 후, 다음 메시지를 전송하라는 Ack 메시지를 non DDS 통신객체(31)로 전송한다. Ack 메시지를 받은 non DDS 통신객체(31)는 TYPE을 0x02로 설정하고, kind를 False로 설정하고, topic name을 설정하여 DDSB(20)로 전송한다. DDSB(20)은 메시지를 받은 후, 발간서비스를 할 수 있음을 알리기 위해 Ack 메시지를 non DDS 통신객체(31)로 전송한다. 세 번째 non DDS 통신객체(31)가 도메인에 발간하고 싶은 메시지를 전송하는 부분이다. non DDS 통신객체(31)는 TYPE을 0x04으로 설정하고 도메인에 발간하고자 하는 메시지를 DDSB로 전송한다. non DDS 통신객체(31)가 같은 Topic으로 메시지를 발간할 때 TYPE을 0x04으로 정의하여 DDSB에 발간할 메시지만 전송하면 된다.
도 10은 DDS 도메인의 메시지를 구독하여 non DDS 통신 객체로 전달하는 프로토콜 통신 절차를 나타내는 Subscription sequence diagram이다.
non DDS 통신 객체로 전달하는 DDS 도메인의 메시지를 구독하는 프로토콜 절차는 도 10에 도시된 바와 같이 크게 3가지 부분으로 구분된다. 첫 번째 non DDS 통신객체(non DDS Entity:Receiver)(32)와 DDSB(20)의 connection을 연결하는 부분이다. non DDS의 통신 방법에 따라 통신 연결을 하는 방법이 변경될 수 있다. 예를 들면, TCP의 경우 Three way handshaking 방법을 사용하게 된다[도 11]. 두 번째 non DDS 통신객체(32)와 매칭되는 DDS 객체를 생성하는 부분이다. DDSB(20)은 DDS 객체를 생성하기 위한 첫 번째 메시지를 전송하라는 Ack 메시지를 non DDS 통신객체(32)로 전송한다. Ack 메시지를 받은 객체는 TYPE을 0x01로 설정하고, 어떤 도메인에 참여할지 도메인Number를 설정하고, 참여한 도메인에 구독서비스를 하기 위해 Flag값을 False로 설정하여 DDSB로 전송한다. DDSB(20)은 메시지를 받은 후, 다음 메시지를 전송하라는 Ack 메시지를 non DDS 통신객체(32)로 전송한다. Ack 메시지를 받은 non DDS 통신객체(32)는 Topic을 생성하기 위하여 TYPE을 0x02로 설정하고, kind를 True로 설정하고, type name을 설정하여 DDSB(20)로 전송한다. DDSB(20)은 메시지를 받은 후, 다음 메시지를 전송하라는 Ack 메시지를 non DDS 통신객체(32)로 전송한다. Ack 메시지를 받은 non DDS 통신객체(32)는 TYPE을 0x02로 설정하고, kind를 False로 설정하고, topic name을 설정하여 DDSB(20)로 전송한다. DDSB(20)은 메시지를 받은 후, 구독서비스를 할 수 있음을 알리기 위해 Ack 메시지를 non DDS 통신객체(32)로 전송한다. 세 번째는 도메인으로부터 받은 메시지를 non DDS 통신객체(32)로 전달하는 부분이다. 생성된 데이터리더로부터 구독한 메시지를 TYPE을 0x08로 설정하고 non DDS 통신 객체(32)로 전달한다. non DDS 통신객체(32)는 DDSB(20)에 Ack 메시지를 전달하지 않는다. 이 후 데이터리더가 메시지를 구독할 경우 DDSB(20)을 통하여 TYPE이 0x08로 설정된 메시지 형태로 non DDS 통신객체(32)로 바로 전송된다.
도 11은 TCP/IP 통신방법을 선택했을 경우 TCP/IP connection을 연결 방법을 나타낸 도면이다.
TCP의 Three way handshaking방법을 사용하여 DDSB(20)과 non DDS 통신객체(30)는 연결이 이루어진다. non DDS 통신객체(30)가 DDSB(20)에게 SYN 메시지를 전송하여 통신 연결을 요청한다. DDSB(20)은 메시지를 받은 후 SYN + ACK 메시지를 non DDS 통신객체(30)로 전송하여 통신 연결에 응답한다. non DDS 통신객체(30)는 메시지를 받은 후 ACK 메시지를 DDSB(20)로 전송하여 응답함으로써 통신 연결이 완료된다.
4. 본 발명의 시스템의 특징
본 발명의 시스템의 제약 사항은 다음과 같다.
ㆍnon DDS 통신객체(30)는 DDS 서비스의 데이터 발간/구독 만을 지원한다.
ㆍDDSB(20)은 default QoS만을 사용한다.
ㆍnon DDS 통신 객체(30)와 데이터라이터또는 데이터리더는 1:1 관계를 갖는다.
ㆍDDSB(20)에서 도메인의 데이터를 구독하기 위하여 Listener 방법만 사용한다.
본 발명의 시스템의 특징은 다음과 같다.
ㆍDDSB(20)은 DDS 미들웨어를 가지고 있고, non DDS 통신객체(30)와 통신을 할 수 있는 모듈(Sender, Receiver)을 가지고 있다.
ㆍDDS 미들웨어가 설치되어 있지 않은 시스템도 DDSB(20)을 통하여 간단한 메시지를 전송하여 DDS 서비스를 사용할 수 있다.
ㆍDDSB(20)의 Abstract Layer를 통하여 다양한 통신 방법을 지원한다.
이상에서 설명한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진자가 하기의 특허청구범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변형하여 실시할 수 있다.
10,10a,10b,10c: DDS 11,11a,11b,11c: DSPS
12,12a,12b,12c: RTPS 20: DDSB
21: 수신자(Receiver) 22: 송신자(Sender)
30: Non DDS 통신 객체 31: 송신자(Sender)
32: 수신자(Receiver)

Claims (11)

  1. DDSB(Data Distribution Service Bridge) 통신 시스템에 있어서,
    도메인에 메시지를 발간/구독하기 위한 DDSB(Data Distribution Service Bridge);및 상기 DDSB와 통신하는 센더(Sender)와 리시버(Receiver)로 구성되는 non DDS 통신 객체(Non DDS Entity);를 포함하고,
    상기 DDSB는 통신 기능을 제공하는 RTPS(Real-Time Publish-Subscribe)와 데이타를 전송하는 DCPS(Data-Centric Publish-Subscribe)로 구성되는 DDS(Data Distribution Service), 센더(Sender)와 리시버(Receiver)로 구성되는 Abstract Layer, 상기 DDS 객체를 생성하고 메시지를 전달하는 프로토콜 매니저(Protocol Manager) 및 DDS 객체들의 정보가 있는 DDS 엔티티 매니저(DDS Entity Manager)를 포함하는 것을 특징으로 하는 DDSB(Data Distribution Service Bridge) 통신 시스템.
  2. 제1항에 있어서,
    상기 도메인에서 구독한 메시지를 상기 non DDS 통신 객체(Non DDS Entity 또는 non DDS 기기)로 전달하고자 하는 경우, 구독한 상기 도메인의 메시지를 RTPS(Real-Time Publish-Subscribe)의 리더(Reader)가 DCPS(Data Centric Publish-Subscribe)의 데이터 리더로 전달하고, 상기 데이터 리더는 프로토콜 매니저로 전달하며, 상기 프로토콜 매니저는 데이터 리더와 매칭되는 non DDS 통신객체를 DDS 엔티티 매니저를 통하여 찾은 후 Abstract Layer의 센더로 전달하고, 상기 센더는 상기 non DDS 통신객체로 전송하는 것을 특징으로 하는 DDSB 통신 시스템.
  3. 제1항에 있어서,
    상기 non DDS 통신 객체의 메시지를 상기 도메인에 발간하고자 하는 경우, 발간하고자 하는 메시지를 Abstract Layer의 리시버로 전달하고, 상기 리시버로부터 상기 메시지를 프로토콜 매니저로 전달하며, 상기 프로토콜 매니저는 non DDS 통신객체와 매칭되는 데이타 라이터(DataWriter)를 DDS 엔티티 매니저를 통하여 찾고, 데이터 라이터에게 메시지를 전달하며, 상기 데이타 라이터는 RTPS의 라이터를 통하여 도메인에 발간하는 것을 특징으로 하는 DDSB 통신 시스템.
  4. 제1항에 있어서,
    상기 Abstract Layer는,
    DDSB에서 non DDS 통신객체를 용이하게 관리하기 위하여 non DDS 통신객체마다 ID를 배정하여 관리하며, TCP/IP 프로토콜을 사용하는 객체의 경우, IP 주소와 port 번호와 매칭되는 ID가 배정되는 것을 특징으로 하는 DDSB 통신 시스템.
  5. 제1항에 있어서,
    상기 프로토콜 매니저는,
    상기 DDSB가 받은 메시지를 분석하는 모듈로서, non DDS 통신객체와 매칭되는 DDS의 객체를 생성하기 위해 DDS 엔티티 매니저를 확인하고 객체를 생성하며, DDS 객체를 생성할 때, 상기 DDSB에 생성된 DDS 객체들을 검사하여 참여하고 싶은 도메인에 이미 참여하고 있는 도메인 파티서펀트(도메인Participant)가 있을 경우, 새로 생성하지 않고, 이미 참여하고 있는 도메인 파티서펀트를 사용하고, 해당 도메인에 발간/구독 서비스를 할 경우, 도메인 파티서펀트에서 이미 퍼블리셔(Publisher)와 서브스크라이버(Subscriber)가 생성되어 있으면 생성하지 않고 생성되어 있는 객체를 사용하며, 토픽(Topic) 객체가 이미 도메인에 생성되어 있는 경우, 생성하지 않고 생성되어 있는 객체를 사용하고, 또한, 구독한 메시지를 Abstract Layer의 센더로 전달하며, 도메인에 발간할 메시지를 데이터라이터로 전달하는 것을 특징으로 하는 DDSB 통신 시스템.
  6. 제1항에 있어서,
    상기 DDS 엔티티 매니저(DDS Entity Manager)는,
    상기 DDSB가 설치되어 있는 노드에 생성되어 있는 DDS 엔티티들의 정보를 가지고 있는 모듈로서, 상기 DDS 엔티티들은 상기 non DDS 통신객체와 매칭되어 있고, Table 형태(DDS Entity Table)로 관리하며, 상기 Abstract Layer에서 지정한 non DDS 통신객체의 ID를 저장하는 ID필드, 나머지 5개 필드는 non DDS 통신객체가 생성한 DDS 객체의 주소 값을 저장하는 필드로써, 도메인 파티서펀트의 주소를 저장하는 DP필드, 퍼블리셔 와 서브스크라이버의 주소 값을 저장하는 PUB와 SUB 필드, 데이터라이터 와 데이터리더의 주소 값을 저장하는 DW와 DR 필드로 구성되고, 상기 non DDS 통신 객체가 상기 DDSB에 접속하면, 상기 Abstract Layer에서 지정한 ID를 저장한 후, 상기 프로토콜 매니저가 DDS 객체를 생성하면, 생성한 DDS 객체의 주소 값을 ID가 저장된 Table의 같은 행에 저장하는 것을 특징으로 하는 DDSB 통신 시스템.
  7. 도메인에 메시지를 발간/구독하기 위해 통신 기능을 제공하는 RTPS(Real-Time Publish-Subscribe)와 데이타를 전송하는 DCPS(Data-Centric Publish-Subscribe)로 구성되는 DDS(Data Distribution Service), Abstract Layer, 상기 DDS 객체를 생성하고 메시지를 전달하는 프로토콜 매니저(Protocol Manager) 및 상기 DDS 객체들의 정보가 있는 DDS 엔티티 매니저(DDS Entity Manager)를 포함하는 DDSB(Data Distribution Service Bridge);및 상기 DDSB와 통신하는 non DDS 통신 객체(Non DDS Entity)를 포함하는 DDSB(Data Distribution Service Bridge) 통신 시스템의 DDSB 통신 방법으로서,
    (a) 상기 DDSB과 상기 non DDS 통신객체의 연결을 설정하는 단계;를 수행한 후에,
    (b) 상기 non DDS 통신 객체가 도메인의 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)를 실행하는 단계; 또는,
    (c) 상기 DDSB로부터 도메인의 메시지를 구독하여 non DDS 통신 객체로 전달하는 프로토콜 통신 절차(Subscription sequence diagram)를 실행하는 단계;를
    수행하는 것을 특징으로 하는 DDSB 통신 방법.
  8. 제7항에 있어서,
    상기 DDSB과 상기 non DDS 통신객체의 연결을 설정하는 단계 (a)는,
    (a1) 상기 DDSB 와 상기 non DDS 통신객체의 연결이 이루어지며, 상기 non DDS 통신객체가 상기 DDSB로 SYN 메시지를 전송하는 단계;
    (a2) 통신 연결을 요청한 DDSB이 메시지를 받은 후, SYN + ACK 메시지를 상기 non DDS 통신객체로 전송하여 통신 연결에 대한 응답을 하는 단계; 및
    (a3) 상기 non DDS 통신객체가 메시지를 받은 후, ACK 메시지를 상기 DDSB 로 전송하여 응답함으로써 통신 연결이 완료되는 단계;
    를 포함하는 DDSB 통신 방법.
  9. 제7항에 있어서,
    상기 non DDS 통신 객체가 DDS 도메인에 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)를 실행하는 단계(b)는,
    (b1) 상기 non DDS 통신객체와 매칭되는 DDS 객체를 생성하는 부분으로, DDSB가 DDS 객체를 생성하기 위한 첫 번째 메시지를 전송하라는 Ack 메시지를 상기 non DDS 통신객체로 전송하면, Ack 메시지를 받은 non DDS 통신객체가 TYPE을 0x01로 설정하고, 어떤 도메인에 참여할지 도메인Number를 설정하고, 참여한 도메인에 발간서비스를 하기 위해 Flag값을 True로 설정하여 상기 DDSB로 전송하고, 상기 DDSB이 메시지를 받은 후, 다음 메시지를 전송하라는 Ack 메시지를 상기 non DDS 통신객체로 전송하고, Ack 메시지를 받은 non DDS 통신객체가 Topic을 생성하기 위해 TYPE을 0x02로 설정하고, kind를 True로 설정하고, type name을 설정하여 상기 DDSB로 전송하며, 상기 DDSB이 메시지를 받은 후, 다음 메시지를 전송하라는 Ack 메시지를 상기 non DDS 통신객체로 전송하고, Ack 메시지를 받은 non DDS 통신객체가 TYPE을 0x02로 설정하고, kind를 False로 설정하고, topic name을 설정하여 상기 DDSB로 전송하며, 상기 DDSB이 메시지를 받은 후, 발간서비스를 할 수 있음을 알리기 위해 Ack 메시지를 상기 non DDS 통신객체로 전송하는 DDS 엔티티 생성 단계; 및
    (b2) 상기 non DDS 통신객체가 도메인에 발간하고 싶은 메시지를 전송하는 부분으로, 상기 non DDS 통신객체가 TYPE을 0x04로 설정하고 도메인에 발간하고자 하는 메시지를 상기 DDSB로 전송하면, 상기 non DDS 통신객체가 같은 Topic으로 메시지를 발간할 때 TYPE을 0x04로 정의하여 상기 DDSB로 발간할 메시지만 전송하는 발간 단계;
    를 포함하는 DDSB 통신 방법.
  10. 제7항에 있어서,
    상기 DDS 도메인의 메시지를 구독하여 non DDS 통신 객체로 전달하는 프로토콜 통신 절차를 실행하는 단계(c)는,
    (c1) 상기 non DDS 통신객체와 매칭되는 DDS 객체를 생성하는 부분으로, 상기 DDSB이 DDS 객체를 생성하기 위한 첫 번째 메시지를 전송하라는 Ack 메시지를 상기 non DDS 통신객체로 전송하면, Ack 메시지를 받은 객체가 TYPE을 0x01로 설정하고, 어떤 도메인에 참여할지 도메인Number를 설정하며, 참여한 도메인에 구독서비스를 하기 위해 Flag값을 False로 설정하여 상기 DDSB로 전송하고, 상기 DDSB이 메시지를 받은 후, 다음 메시지를 전송하라는 Ack 메시지를 상기 non DDS 통신객체로 전송하고, Ack 메시지를 받은 non DDS 통신객체는 Topic을 생성하기 위하여 TYPE을 0x02로 설정하며, kind를 True로 설정하고, type name을 설정하여 DDSB로 전송하며, 상기 DDSB이 메시지를 받은 후, 다음 메시지를 전송하라는 Ack 메시지를 상기 non DDS 통신객체로 전송하고, 상기 Ack 메시지를 받은 non DDS 통신객체는 TYPE을 0x02로 설정하며, kind를 False로 설정하고, topic name을 설정하여 상기 DDSB로 전송하며, 상기 DDSB이 메시지를 받은 후, 구독서비스를 할 수 있음을 알리기 위해 Ack 메시지를 상기 non DDS 통신객체로 전송하는 DDS 엔티티 생성 단계; 및
    (c2) 도메인으로부터 받은 메시지를 상기 non DDS 통신객체로 전달하는 부분으로, 생성된 데이터리더로부터 구독한 메시지를 TYPE을 0x08로 설정하고 상기 non DDS 통신 객체에게 전달하면, 상기 non DDS 통신객체가 상기 DDSB로 Ack 메시지를 전달하지 않으며, 이 후 데이터리더가 메시지를 구독할 경우 상기 DDSB을 통하여 TYPE이 0x08로 설정된 메시지 형태로 상기 non DDS 통신객체에 바로 전송되는 구독 단계;
    를 포함하는 DDSB 통신 방법.
  11. 도메인에 메시지를 발간/구독하기 위한 DDSB(Data Distribution Service Bridge);및 상기 DDSB와 통신하는 non DDS 통신 객체(Non DDS Entity)를 포함하는 DDSB(Data Distribution Service Bridge) 통신 시스템의 DDSB 통신 방법으로서,
    (a-1) 상기 DDSB과 상기 non DDS 통신객체의 연결을 설정하는 단계;를 수행한후,
    (b-1) 상기 non DDS 통신 객체가 DDS 도메인에 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)를 실행하는 단계; 또는,
    (c-1) DDSB로부터 DDS 도메인의 메시지를 구독하여 non DDS 통신 객체로 전달하는 프로토콜 통신 절차(Subscription sequence diagram)를 실행하는 단계;를 포함하고, DDSB의 발간/구독(Publish/Subscribe) 프로토콜을 사용하여 DDS의 데이터리더를 통하여 구독한 메시지를 프로토콜 매니저로 전송하며, 상기 프로토콜 매니저는 상기 DDS의 객체와 매칭되는 non-DDS 통신객체를 DDS 엔티티 매니저를 통하여 찾은 후 상기 DDSB의 Abstract Layer의 센더로 전달하며, 상기 DDSB의 Abstract Layer의 센더를 통해 상기 non-DDS 통신객체로 전송하고, 상기 non-DDS 통신객체가 발간하고자 하는 메시지를 상기 Abstract Layer의 리시버로 수신받아 프로토콜 매니저로 전송하며, 상기 프로토콜 매니저는 상기 non-DDS 통신객체와 매칭되는 DDS의 객체를 생성하기 위해 DDS 엔티티 매니저를 확인하고 객체를 생성하여 도메인에 메시지를 발간하는 것을 특징으로 하는 DDSB 통신 방법.
KR1020120001921A 2012-01-06 2012-01-06 Ddsb 통신 시스템 및 방법 KR101157039B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120001921A KR101157039B1 (ko) 2012-01-06 2012-01-06 Ddsb 통신 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120001921A KR101157039B1 (ko) 2012-01-06 2012-01-06 Ddsb 통신 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR101157039B1 true KR101157039B1 (ko) 2012-06-21

Family

ID=46689025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120001921A KR101157039B1 (ko) 2012-01-06 2012-01-06 Ddsb 통신 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR101157039B1 (ko)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101602100B1 (ko) * 2015-02-03 2016-03-10 충남대학교산학협력단 사물 인터넷에서 dds 기반의 이질적인 사물 메시지 통합 방법
KR101602099B1 (ko) * 2015-01-30 2016-03-10 충남대학교산학협력단 사물인터넷에서 레스트 기반의 서비스 연동 시스템 및 그 방법
KR20170024369A (ko) * 2015-08-25 2017-03-07 충남대학교산학협력단 비콘 어댑터 및 그를 이용한 데이터 교환 시스템
KR101915683B1 (ko) * 2016-12-19 2018-11-07 충남대학교산학협력단 Mqtt 어댑터 및 이를 이용한 토픽 처리 방법
EP3487145A3 (en) * 2017-11-21 2019-08-28 Doosan Heavy Industries & Construction Co., Ltd Node management gateway device in distribution network and grid network and method thereof
CN112445631A (zh) * 2020-12-02 2021-03-05 广东博智林机器人有限公司 Rtps的进程通信方法、装置、电子设备及存储介质
CN115037807A (zh) * 2022-06-10 2022-09-09 湖南大学 一种工业机器人服务总线上集成dds协议的方法及***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068506A1 (en) 2000-09-14 2004-04-08 Hideaki Kobayashi Data distribution system, data distribution method, data distribution apparatus, server, medium, and program
US20080247541A1 (en) 2006-03-16 2008-10-09 Chris Cholas Methods and apparatus for connecting a cable network to other network and/or devices
US7533128B1 (en) 2005-10-18 2009-05-12 Real-Time Innovations, Inc. Data distribution service and database management systems bridge
US20110103383A1 (en) 2009-10-30 2011-05-05 Honeywell International Inc. Two dimensional location transparency of software services

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040068506A1 (en) 2000-09-14 2004-04-08 Hideaki Kobayashi Data distribution system, data distribution method, data distribution apparatus, server, medium, and program
US7533128B1 (en) 2005-10-18 2009-05-12 Real-Time Innovations, Inc. Data distribution service and database management systems bridge
US20080247541A1 (en) 2006-03-16 2008-10-09 Chris Cholas Methods and apparatus for connecting a cable network to other network and/or devices
US20110103383A1 (en) 2009-10-30 2011-05-05 Honeywell International Inc. Two dimensional location transparency of software services

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101602099B1 (ko) * 2015-01-30 2016-03-10 충남대학교산학협력단 사물인터넷에서 레스트 기반의 서비스 연동 시스템 및 그 방법
KR101602100B1 (ko) * 2015-02-03 2016-03-10 충남대학교산학협력단 사물 인터넷에서 dds 기반의 이질적인 사물 메시지 통합 방법
KR20170024369A (ko) * 2015-08-25 2017-03-07 충남대학교산학협력단 비콘 어댑터 및 그를 이용한 데이터 교환 시스템
KR101720167B1 (ko) 2015-08-25 2017-03-28 충남대학교산학협력단 비콘 어댑터 및 그를 이용한 데이터 교환 시스템
KR101915683B1 (ko) * 2016-12-19 2018-11-07 충남대학교산학협력단 Mqtt 어댑터 및 이를 이용한 토픽 처리 방법
EP3487145A3 (en) * 2017-11-21 2019-08-28 Doosan Heavy Industries & Construction Co., Ltd Node management gateway device in distribution network and grid 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
CN112445631A (zh) * 2020-12-02 2021-03-05 广东博智林机器人有限公司 Rtps的进程通信方法、装置、电子设备及存储介质
CN115037807A (zh) * 2022-06-10 2022-09-09 湖南大学 一种工业机器人服务总线上集成dds协议的方法及***
CN115037807B (zh) * 2022-06-10 2023-08-18 湖南大学 一种工业机器人服务总线上集成dds协议的方法及***

Similar Documents

Publication Publication Date Title
KR101157039B1 (ko) Ddsb 통신 시스템 및 방법
US11411897B2 (en) Communication method and communication apparatus for message queue telemetry transport
KR101877188B1 (ko) Mqtt 프로토콜을 이용한 서비스 층 상호연동
CN103069755B (zh) 使用多个客户端实例的即时消息传送的方法和***
US8386614B2 (en) Network connection manager
CN105553977A (zh) 请求消息的处理、发送方法及装置
KR20120071576A (ko) 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템
US20120106429A1 (en) Method for interconnecting mobile communication terminals in ad-hoc network
Chang et al. Future Classroom with the Internet of Things-A Service-Oriented Framework.
CN109857572B (zh) 实现远程调用的方法、装置、设备及计算机可读存储介质
JP2017518562A (ja) マルチメディアシグナリング制御のために有効にされるパブリッシュ/サブスクライブ・ネットワーク、そのネットワーク内でセッションを開始する方法、及び夫々のネットワークデバイス
WO2019079971A1 (zh) 群组的通信方法及装置、计算机存储介质、计算机设备
CN112055078A (zh) 一种数据传输方法、装置、计算机设备和存储介质
CN114125940A (zh) 数据报文发送方法、处理方法、装置、设备及数据报文
CN115883669A (zh) 一种数据分发方法、***、设备和介质
CN112134915A (zh) 一种应用层协议解耦合的通用网络处理***
CN108429665A (zh) 一种并发通信传输数据的方法
JP2017027499A (ja) 中継システム、中継方法、及びプログラム
CN110365790B (zh) 消息传输方法、装置、级联组网设备以及可读存储介质
US20100049804A1 (en) Instant Messaging
US11337038B2 (en) Method, device and system for transmitting multicast group information
CN101309154B (zh) 报文的发送方法、发送装置和传输***
KR20180027564A (ko) 서비스 레이어 애니캐스트 및 썸캐스트
US20230087220A1 (en) Data processing method and apparatus based on instant messaging, device, and storage medium
KR20190075391A (ko) 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160602

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190604

Year of fee payment: 8