[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101157039B1 - Dds bridge communication system and method - Google Patents

Dds bridge communication system and method 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
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 KR1020120001921A priority Critical patent/KR101157039B1/en
Application granted granted Critical
Publication of KR101157039B1 publication Critical patent/KR101157039B1/en

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

PURPOSE: A DDSB(Data Distribution Service Bridge) communication system and method thereof are provided to offer a DDSB structure and protocol by enabling an apparatus including insufficient computing resources to transmit a simple message through a protocol. CONSTITUTION: A DDSB(20) reads a message from a domain. A non-DDS(Data Distribution Service) communication entity(30) is composed of a sender and a receiver communicated with the DDSB. The DDSB includes a DDS(Data Distribution Service)(10) composed of an RTPS(Real-Time Publish-Subscriber) and a DCPS(Data-Centric Publish-Subscriber), an abstract layer composed of a sender and a receiver, a protocol manager which transmits messages, and a DDS entity manager includes the information of DDS entities.

Description

DDSB 통신 시스템 및 방법{DDS Bridge communication system and method}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 통신 시스템 및 방법에 관한 것이다.The present invention relates to a data distribution service bridge (DDSB) structure and protocol, and in particular, a device (non DDS communication object) capable of communicating without a data distribution service (DDS) middleware (non DDS communication object) communicates with the DDSB in the form of a packet and the DDS in the DDSB. When a message is sent to the domain, the DDSB publishes the message through the DDS's DataWriter object and subscribes to the DDSB's DataReader object in the form of a packet (non DDS communication). Object) and a DDSB communication system and method for defining a DDSB (DDS Bridge) structure and protocol for a non-DDS device to use a DDS service using an abstraction layer of a DDSB.

DDS(Data Distribution Service)는 OMG(Object Management Group) 표준 통신 미들웨어는 동적으로 네트워크 도메인을 형성하고, 디바이스의 자유로운 참여/탈퇴가 가능한 환경에서 발간/구독(Publish/Subscribe) 통신 기법을 이용하여 효율적인 데이터 분배를 제공한다.Data Distribution Service (DDS) is an object management group (OMG) standard communication middleware that dynamically forms network domains, and provides efficient data using publish / subscribe communication techniques in the environment where devices can freely participate and leave. Provide distribution.

DDS의 특징은 다수의 디바이스들이 동적으로 연동되어 하나의 네트워크 도메인을 형성하고 데이터를 교환하는 경우가 빈번한 유비쿼터스 환경에 적합하다는 것이다. DDS는 발간/구독 기능, QoS 제어 기능, DDS 참여 노드의 주소를 알아내는 디스커버리 기능 등 다양한 기능이 포함되기 때문에, 실행하려면 데스크탑 규모의 메모리나 프로세서 용량이 필요하다. 하지만 유비쿼터스 환경에서 사용되는 디바이스들은 스마트폰, 센서 등과 같이 작은 컴퓨팅 자원을 가지고 있다. 따라서, 유비쿼터스 환경에서 효율적인 DDS 미들웨어를 사용하기에는 부적합하다.The feature of DDS is that it is suitable for ubiquitous environment where many devices are dynamically linked to form one network domain and exchange data. DDS includes a variety of features, such as publish / subscribe, QoS control, and discovery to address DDS participating nodes, which requires desktop-scale memory or processor capacity to run. However, devices used in ubiquitous environments have small computing resources such as smartphones and sensors. Therefore, it is not suitable to use efficient DDS middleware in ubiquitous environment.

종래 기술의 문제점을 해결하기 위한 본 발명의 목적은 DDS(Data Distribution Service) 미들웨어를 탑재되지 않고 통신가능한 디바이스가 패킷 형태로 DDSB와 통신하며 DDSB에 DDS 도메인(Domain)에 발간하고 싶은 메시지를 보내면 DDSB가 DDS의 데이터라이터를 통하여 도메인에 발간하고, DDS의 데이터리더 객체를 통하여 구독한 메시지를 DDSB가 패킷 형태로 통신가능한 디바이스로 전달하고, 컴퓨팅자원이 부족한 디바이스가 DDS 미들웨어를 설치하지 않고 간단한 메시지를 자신이 가진 프로토콜을 이용하여 전송하게 하여 DDS 서비스를 이용할 수 있는 DDSB(DDS Bridge) 구조와 프로토콜을 제공하는, DDSB 통신 시스템을 제공하는 것이다. An object of the present invention for solving the problems of the prior art is to communicate with a DDSB in the form of a packet without a DDS (Data Distribution Service) middleware and to send a message to the DDSB to publish the DDSB DDSB Published to the domain through DDS's data writer, DDSB delivers subscribed messages to DDSB's packet-communicable devices through DDS's data reader object, and devices with insufficient computing resources provide simple messages without installing DDS middleware. It is to provide a DDSB communication system that provides a DDSB (DDSB) structure and a protocol that allows the DDS service to be transmitted by using a protocol of its own.

본 발명의 다른 목적은 DDSB(Data Distribution Service Bridge) 통신 방법을 제공하는 것이다. Another object of the present invention is to provide a data distribution service bridge (DDSB) communication method.

본 발명의 목적을 달성하기 위해, 본 발명에 따른 DDSB(Data Distribution Service Bridge) 통신 시스템은, 도메인에 메시지를 발간/구독하기 위한 DDSB(Data Distribution Service Bridge);및 상기 DDSB와 통신하는 센더(Sender)와 리시버(Receiver)로 구성되는 non DDS 통신 객체(Non DDS Entity);를 포함하고, In order to achieve the object of the present invention, a Data Distribution Service Bridge (DDSB) communication system according to the present invention includes a data distribution service bridge (DDSB) for publishing / subscribing a message to a domain; and a sender for communicating with the DDSB. ), And a non-DDS communication object (Non DDS Entity) consisting of a receiver (Receiver);

상기 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)를 포함하는 것을 특징으로 한다.The DDSB includes a Data Distribution Service (DDS), a Sender, and a Receiver, which include a Real-Time Publish-Subscribe (RTPS) that provides a communication function, and a Data-Centric Publish-Subscribe (DCPS) that transmits data. An abstract layer comprising a protocol manager for generating the DDS object and delivering a message and a DDS entity manager having information on the DDS objects.

도메인에 메시지를 발간/구독하기 위해 DDSB(Data Distribution Service Bridge);및 상기 DDSB와 통신하는 non DDS 통신 객체(Non DDS Entity)를 포함하는 DDSB(Data Distribution Service Bridge) 통신 시스템의 DDSB 통신 방법으로서,A DDSB communication method of a data distribution service bridge (DDSB) communication system including a data distribution service bridge (DDSB) for publishing / subscribing a message to a domain; and a non DDS entity (Non DDS Entity) for communicating with the 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를 확인하고 객체를 생성하여 도메인에 메시지를 발간하는 것을 특징으로 한다. (a) establishing a connection between the DDSB and the non-DDS communication object; and (b) executing a protocol communication procedure (Publish sequence diagram) in which the non-DDS communication object publishes a message of a domain. ; Or (c) executing a protocol sequence diagram for subscribing a message of a domain from the DDSB to a non-DDS communication object, and dynamically forming a network domain in the DDSB communication system. The non-DDS device may use the DDS service using the Abstract Layer of the DDSB using the Publish / Subscribe protocol of the DDSB in an environment in which a communicable device (non DDS device) may freely participate / deactivate. Sends a subscribed message to the protocol manager through a data reader of a DDS using a sender and a receiver of an abstract layer, and the protocol manager transmits the non-DDS communication object matching the data reader of the DDS. Finds, transmits to the non-DDS communication object through the sender of the abstract layer, and the non-DDS communication object is published Receive a message to the receiver of the Abstract Layer (Receiver) and transmits to the Protocol Manager (Protocol Manager), the protocol manager checks the DDS Entity Manager to create the object of the DDS matching the non-DDS communication object It creates an object and publishes a message in a domain.

본 발명에 따른 DDSB(DDS Bridge) 통신 시스템 및 방법은 DDS(Data Distribution Service) 미들웨어를 탑재되지 않고 통신가능한 디바이스가 패킷 형태로 DDSB와 통신하며 DDSB에 DDS 도메인에 발간하고 싶은 메시지를 보내면 DDSB는 DDS의 데이터라이터객체를 통하여 도메인에 발간하고, DDS의 데이터리더 객체를 통하여 구독한 메시지를 DDSB는 패킷 형태로 통신가능한 디바이스로 전달를 통해서, 컴퓨팅자원이 부족한 디바이스가 DDS 미들웨어를 설치하지 않고 간단한 메시지를 자신이 가진 프로토콜을 이용하여 전송하게 하여 DDS 서비스를 이용할 수 있는 DDSB(DDS Bridge) 구조와 프로토콜을 제공한다. DDSB (DDS Bridge) communication system and method according to the present invention DDSB (DDSB) communication device without the DDS (Data Distribution Service) middleware communicates with the DDSB in the form of a packet, if the DDSB sends a message that you want to publish in the DDS domain DDSB DDS Published in the domain through the data writer object of DDSB, and the subscribed message through the DDS data reader object is delivered to the communication device in the form of a packet, so that a device with insufficient computing resources can send a simple message without installing DDS middleware. By using this protocol, it provides DDSB (DDS Bridge) structure and protocol that can use DDS service.

도 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 is a diagram illustrating a DDS structure.
2 is a diagram illustrating a behavior of a DDS.
3 is a diagram illustrating a behavior of a DDSB (DDSB).
4 is a view showing a DDSB (DDSB Module) proposed in the present invention.
FIG. 5 is a sender component diagram for transmitting a subscribed message to a non-DDS communication object through a data reader of a DDS according to an embodiment of the present invention.
FIG. 6 is a receiver component diagram for delivering a message received from a non DDS communication object to a protocol manager according to an embodiment of the present invention.
7 shows a DDS Entity Table.
8 is a diagram illustrating an example of using DDSB in a TCP / IP layer.
9 is a protocol communication procedure (Publish sequence diagram) in which a non DDS communication object publishes a message in a DDS domain.
10 is a subscription sequence diagram illustrating a protocol communication procedure for subscribing a message of a DDS domain to a non-DDS communication object.
11 illustrates a TCP / IP connection connection procedure when the TCP / IP communication method is selected.

이하, 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 구성 및 동작을 상세하게 설명한다. Hereinafter, with reference to the accompanying drawings, preferred embodiments of the present invention will be described in detail the configuration and operation.

1. DDS(1. DDS ( DataData DistributionDistribution ServiceService ))

DDS(Data Distribution Service)는 분산 응용프로그램들 간에 데이터 중심 발간/구독 방식의 통신을 위한 표준 소프트웨어 API(Application Programming Interface)로서 OMG에서 표준화하였다.Data Distribution Service (DDS) is standardized by OMG as a standard software API (Application Programming Interface) for data-driven publication / subscription communication between distributed applications.

도 1은 DDS 구조(DDS Structure)를 나타낸 도면이다.1 is a diagram illustrating a DDS structure.

DDS(Data Distribution Service)는 RTPS(Real-Time Publish-Subscribe)와 DCPS(Data-Centric Publish-Subscribe) 두 계층으로 구성된다. RTPS는 실질적인 통신 기능을 제공하고 DCPS는 DDS 응용프로그램에게 통신 인터페이스를 제공하는 기능을 제공한다(도 1).Data Distribution Service (DDS) consists of two layers: Real-Time Publish-Subscribe (RTPS) and Data-Centric Publish-Subscribe (DCPS). RTPS provides a substantial communication function and DCPS provides a function for providing a communication interface to a DDS application (FIG. 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 통신을 지원한다. Real-Time Publish-Subscribe (RTPS) is a layer in which real data is published / subscribed in the Linux / Windows operating system of a computer platform, which is divided into RTPS Engine and RTPS Wired Protocol. The RTPS Engine determines the domain formation, the type of data to use, and dynamically discovers remote DDSs participating in the domain. In addition, data is published / subscribed by Publisher and Subscriber. RTPS Wired Protocol is a protocol that transmits actual data and performs reliable or unreliable data communication according to QoS set by RTPS Engine, and RTSP's network is multicast. It supports UDP / IP communication in a unicast and broadcast manner.

DCPS(Data-Centric Publish-Subscribe)는 응용프로그램에 제공되는 데이터 발간/구독 기능 및 QoS(Quality of Service)를 통하여 신뢰성을 보장하며, 응용프로그램에서 직접 이루어지던 데이터 송수신을 대행하는 계층이다. 단순 응용프로그램 작성으로 데이터 송수신이 가능하다. DCPS는 read/write 방식의 API(Application Programming Interface)를 제공하여 응용프로그램간의 데이터 교환 기능을 제공하고, 또한 교환할 상대에 대해 알 필요 없이 원하는 데이터의 발간/구독을 실시할 수 있다. Data-Centric Publish-Subscribe (DCPS) is a layer that guarantees reliability through data publishing / subscribing function and quality of service (QoS) provided to an application program, and performs data transmission / reception directly performed by the application program. It is possible to send and receive data by writing simple application program. DCPS provides a read / write API (Application Programming Interface) to provide data exchange function between application programs and to publish / subscribe desired data without having to know a partner to exchange.

도 2는 DDS의 동작(Behavior of DDS)을 나타낸 도면이다. 2 is a diagram illustrating a behavior of a DDS.

DDS 서비스는 DCPS 객체를 생성함으로써 이용할 수 있다. 데이터 공유 영역인 도메인에 참여하기 위해 도메인Participant를 생성하고, 도메인 참여자를 통하여 각각의 데이터에 대하여 Publisher와 Subscriber들을 생성한다. Publisher는 데이터를 도메인에 발간하기 위해 데이터라이터를 생성하고, Subscriber는 도메인으로부터 데이터를 수신하기 위해 데이터리더를 생성한다. 데이터의 송신자(Sender)와 수신자(Receiver)는 데이터에 의해 논리적 링크가 성립되기 때문에 송신자와 수신자는 Topic 이름이 같은 데이터만을 송수신 가능하며, Topic 이름이 다른 데이터는 처리할 수 없다[도 2, 도 3].The DDS service can be used by creating a DCPS object. Domain Participant is created to participate in domain, which is a data sharing area, and Publisher and Subscribers are created for each data through domain participant. Publisher creates a data writer to publish data to the domain, and Subscriber creates a data reader to receive data from the domain. Since the sender and receiver of the data establish a logical link by the data, the sender and the receiver can transmit and receive only data with the same topic name, and cannot process data with different topic names (FIG. 2, FIG. 2). 3].

2. DDSB(2. DDSB ( DDSDDS BridgeBridge ))

DDSB(DDS Bridge)는 크게 2가지의 기능을 제공한다. 첫 번째 기능은 non DDS 통신 객체와 통신을 하는 것이고, 두 번째 기능은 non DDS 통신 객체와 매칭되는 DDS 객체를 생성하여 DDS 서비스를 이용할 수 있게 하는 것이다[도 3].DDSB (DDSB) provides two functions. The first function is to communicate with the non-DDS communication object, and the second function is to create a DDS object matching the non-DDS communication object to use the DDS service [FIG. 3].

도 3은 DDSB(DDS Bridge)의 동작(Behavior of DDSB)을 나타낸 도면이다. 3 is a diagram illustrating a behavior of a DDSB (DDSB).

제안하는 DDSB의 제약 사항은 다음과 같다.The limitations of the proposed DDSB are as follows.

o 데이터 전송만을 지원한다.o Only data transmission is supported.

o DDS가 제공하는 여러가지 QoS 기능 중에서 default QoS만을 사용한다.o Only the default QoS is used among various QoS functions provided by DDS.

o non DDS 통신 객체와 데이터라이터또는 데이터리더는 1:1 관계를 갖는다.o Non DDS communication object and data writer or data reader have 1: 1 relationship.

o 데이터리더의 Listener만 사용한다.o Use only the data reader's listener.

도 4는 본 발명에서 제안하는 DDSB(DDSB Module)을 나타낸 도면이다.4 is a view showing a DDSB (DDSB Module) proposed in the present invention.

도 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)로 구성된다.Figure 4 is a view of the DDSB proposed in the present invention. The proposed DDS Bridge (DDSB) consists of Real-Time Publish-Subscribe (RTPS), Data-Centric Publish-Subscribe (RTPS) and three additional modules (DDS Entity Manager, Protocol Manager, Abstract Layer) of Data Distribution Service (DDS). It consists of.

본 발명의 DDSB(Data Distribution Service Bridge) 통신 시스템은 도메인에 메시지를 발간/구독하는 DDSB(Data Distribution Service Bridge)(20); 및 상기 DDSB(20)와 통신하는 non DDS 통신 객체(Non DDS Entity)(30);을 포함하고, The Data Distribution Service Bridge (DDSB) communication system of the present invention includes a data distribution service bridge (DDSB) 20 for publishing / subscribing a message to a domain; And a non DDS entity 30 for communicating with the DDSB 20.

상기 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)로 구성된다. The DDSB 20 is a Data Distribution Service (DDS) including a Real-Time Publish-Subscribe (RTPS) 12 that provides a communication function and a Data-Centric Publish-Subscribe (DCPS) 11 that transmits data ( 10), an Abstract Layer (27) consisting of Sender (21) and Receiver (22), Protocol Manager (24) and DDS objects that create the DDS object and deliver the message. The DDS Entity Manager 23 includes information, and the non DDS communication object (non DDS device) 30 is composed of a sender 31 and a 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)로 전송하는 것이다.If you want to deliver a message subscribed in the domain to a non-DDS entity 30 (Non DDS Entity, non DDS device) 30, the reader of the Real-Time Publish-Subscribe (RTPS) to deliver the message of the subscribed domain The data reader to the data reader of the DCPS (Data Centric Publish-Subscribe), the data reader to the protocol manager 24, the protocol manager to the non-DSS communication object 30 matching the data reader to the DDS entity manager After searching through the message, the data is transmitted to the sender 21 of the abstract layer 27, and the sender is transmitted to the non-DDS communication object 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의 라이터를 통하여 도메인에 발간한다.When a message of a non DDS communication object 30 is to be published in a domain, the message is sent from a sender 31 of the non DDS communication object 30 to the abstract layer 27 of the DDSB 20. When the receiver 22 receives and forwards the data to the protocol manager 24, the protocol manager 24 sends a data writer (DataWriter) matching the non-DDS communication object 30 to the DDS entity manager 23. ), The message is sent to the data writer, and the data writer is published to the domain through the writer of the 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)로 구성된다. The DDSB 20 is a layer in which real data is published / subscribed using a publish / subscribe technique in an environment in which a network domain (domain) is dynamically formed and devices can freely participate / disengage. Real-Time Publish-Subscribe (RTPS) (12), which is separated by the RTPS Wired Protocol and provides practical communication functions, uses the data publishing / subscribing function provided to the application, and the default quality of service provided by DDS. Data distribution service (DDS) 10, which is composed of two layers of Data-Centric Publish-Subscribe (DCPS) 11 to guarantee reliability and to transmit data to a DDS application; DDS Entity Manager (23) which contains information of DDS Entities created in the node where DDSB is installed, DDS Entities are matched with non DDS communication object, and managed in DDS Entity Table form (DDS Entity Table) ; This module analyzes the messages received from the receiver of the abstract layer, and checks the DDS Entity Manager, creates the objects, and publish / subscribe services to the domain in order to create the DDS objects matching the non-DDS communication objects. A protocol manager 24 that uses the created object without creating the publisher and the subscriber if the domain Participant has already been created; And a sender for transmitting a subscribed message to a non-DDS communication object through a data reader of a data distribution service (DDS), and a receiver for delivering a response message received from the non-DDS communication object to a protocol manager. Receiver) and an Abstract Layer (27).

상기 DDSB(20)은 상기 non DDS 통신 객체와 통신을 하는 기능, 및 상기 non DDS 통신 객체와 매칭되는 DDS 객체를 생성하여 DDS 서비스를 이용하게 하며, 상기 DDSB은 DDS 미들웨어를 가지고 있고, 상기 non DDS 통신객체와 통신을 할 수 있는 모듈(Sender, Receiver)을 가지고 있으며, 상기 DDS 미들웨어가 설치되어 있지 않은 시스템도 상기 DDSB을 통하여 간단한 메시지를 전송하여 DDS 서비스를 사용할 수 있으며, 상기 DDSB(20)의 Abstract Layer를 통하여 다양한 통신을 지원한다. The DDSB 20 generates a DDS object that matches the function of communicating with the non-DDS communication object and the non-DDS communication object to use a DDS service, and the DDSB has a DDS middleware, and the non-DSS It has a module (Sender, Receiver) that can communicate with the communication object, the system without the DDS middleware can also use the DDS service by sending a simple message through the DDSB, the DDSB (20) Various communication is supported through Abstract Layer.

2.1. 2.1. AbstractAbstract LayerLayer

Non DDS 통신객체(30)는 다양한 통신 방법이 이용될 수 있고, Abstract Layer(27)를 이용하여 다양한 통신 방법을 모두 지원한다. The non-DDS communication object 30 may use various communication methods, and supports all of the various communication methods using the 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가 배정된다.Abstract Layer (27) is composed of a Sender (21) and a Receiver (22) for transmitting and receiving data with the non-DDS communication object 30, the operation method is changed according to the communication method, and also, DDSB (DDS Bridge) In order to easily manage the non DDS communication object 30 in the module 20, an ID is assigned to each non DDS communication object 30. For example, an object using the TCP / IP protocol is assigned an ID that matches an IP address and a port number.

2.1.1 2.1.1 SenderSender

도 5는 본 발명의 실시예에 따른 DDS의 데이터리더를 통하여 구독한 메시지를 non DDS 통신객체로 전달하는 센더 컴포넌트 다이아그램(Sender component diagram)이다. FIG. 5 is a sender component diagram for transmitting a subscribed message to a non-DDS communication object through a data reader of a DDS according to an embodiment of the present invention.

센더(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].The sender 21 is a module that delivers the subscribed message to the non-DDS communication object 30 through the data reader of the data distribution service (DDS) 20. Reader of RTPS (Real-Time Publish-Subscribe) forwards the subscribed message from domain (domain) to data reader of Data Centric Publish-Subscribe (DCPS) 11, and data reader is Protocol Manager (24). To pass). The protocol manager 24 finds a non-DDS communication object that matches the data reader through the DDS entity manager 23, and then transfers the data to the sender 21 and sends the sender 21 to the sender 21. 21 transmits to the non-DDS communication object 30 matching the data reader (Fig. 5).

2.1.2. 2.1.2. ReceiverReceiver

도 6은 본 발명의 실시예에 따른 non DDS 통신객체로부터 받은 메시지를 프로토콜 매니저(Protocol Manager)로 전달하는 리시버 컴포넌트 다이아그램(Receiver component diagram)이다. FIG. 6 is a receiver component diagram for delivering a message received from a non DDS communication object to a protocol manager according to an embodiment of the present invention.

리시버(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].Receiver (22) is a module that delivers the response message received from the non-DDS communication object 30 to the Protocol Manager (24). The message to be published to the domain (domain) is transmitted to the receiver 22, and the message is transmitted from the receiver 22 to the protocol manager 24. The protocol manager 24 finds a DataWriter matching the non-DDS communication object 30 through the DDS Entity Manager 23 and delivers a message to the DataWriter. The DataWriter of the DCPS 11 publishes to a domain (domain) via the Writer of the RTPS 12 (Fig. 6).

2.2. 2.2. ProtocolProtocol ManagerManager

프로토콜 매니저(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].The protocol manager 24 is a module for analyzing a message received from a receiver of an abstract layer. The Protocol Manager 24 has two functions. The first function is to check the DDS Entity Manager 23 and create an object to create an object of the DDS that matches the non-DDS communication object. When creating a DDS object, if there is a domain Participant that already participates in the domain to be examined by participating in the DDS objects created in the DDSB 20, the domain Participant that is already participating is used without creating a new one. When publishing / subscribing to the domain, if the publisher and subscriber have already been created in the domain Participant, the created object is used instead. In addition, if a Topic object is already created in the domain, the created object is used without creating it. The second function is to deliver the message. The subscribed message is delivered to the sender of the Abstract Layer, and the message to be published in the domain is delivered to the DataWriter [FIG. 6].

2.3. 2.3. DDSDDS EntityEntity ManagerManager

도 7은 DDS Entity Table을 나타낸다.7 shows a 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와 데이터리더의 주소 값을 저장한다.The DDS Entity Manager 23 is a module that contains information of DDS Entities created in the node where the DDSB 20 is installed. DDS Entities are matched with non-DDS communication objects, and are managed in a Table form (DDS Entity Table) as shown in FIG. The ID field is a field that stores the ID of a non DDS communication object designated by the Abstract Layer. The remaining five fields store the address values of DDS objects created by non-DDS communication objects. The DP field stores the address of the domain Participant, and the PUB and SUB store the address values of the Publisher and Subscriber. The DW and DR fields store the address values of the DataWriter and the data reader.

non DDS 통신 객체(30)가 DDSB(20)에 접속하면, Abstract Layer에서 지정한 ID를 저장한다. 이 후 프로토콜 매니저(Protocol Manager)(24)가 DDS 객체를 생성하면, 생성한 DDS 객체의 주소 값을 ID가 저장된 Table의 같은 행에 저장한다. When the non-DDS communication object 30 accesses the DDSB 20, the ID specified in the abstract layer is stored. Afterwards, when the Protocol Manager 24 creates the DDS object, the protocol manager 24 stores the address value of the generated DDS object in the same row of the table where the ID is stored.

3. 3. DDSBDDSB 를 사용하기 위한 프로토콜Protocol for using

DDSB는 위에서 정의한 제약사항을 가지고 있기 때문에, 어느 도메인에 참가하여 어떠한 Topic으로 발간/구독 서비스를 이용할지 정의하는 간단한 프로토콜을 사용하여 DDSB를 이용할 수 있다.Since the DDSB has the limitations defined above, it is possible to use the DDSB by using a simple protocol that defines which domains join which domain and which publication / subscription services to use.

3.1. 3.1. DDSBDDSB 를 사용하기 위한 프로토콜 프레임구조Frame structure to use

본 절에서는 DDSB와 non DDS 통신객체 사이에 DDSB 프로토콜의 프레임을 정의한다. 이 프레임은 DDSB와 non DDS 통신객체 사이에 적용되는 전달 프로토콜, 예를 들면 TCP의 payload 부분에 들어간다[도 8].This section defines the frame of the DDSB protocol between the DDSB and non-DDS communication objects. This frame enters the payload portion of the transport protocol, for example TCP, applied between the DDSB and non-DDS communication objects [Fig. 8].

도 8은 TCP/IP Layer에서 DDSB 사용예를 나타낸 도면이다. 8 is a diagram illustrating an example of using DDSB in a TCP / IP layer.

본 발명에서 제안하는 DDSB를 이용하기 위한 프로토콜 프레임 구조는 2가지의 기능을 제공하며, i) 도메인상에서 DDS 객체를 생성하는 프로토콜, ii) 데이터를 전송하기(Data Transmission) 위한 프로토콜을 사용한다. The protocol frame structure for using the DDSB proposed in the present invention provides two functions, i) a protocol for creating a DDS object on a domain, and ii) a protocol for data transmission.

First Frame StructureFirst frame structure Type Type Body       Body 0x000x00 1 byte1 byte

표 1은 non DDS 통신 객체에서 메시지를 전송받았을 때 처음으로 구분되는 프레임 구조(First Frame structure)이다.Table 1 shows the first frame structure that is distinguished when a message is received in a non DDS communication object.

표 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의 종류에 따라 아래와 같이 구조가 변경된다.As shown in Table 1, First frame structure is divided into Type and Body. TYPE has the size of 1 byte. If TYPE is 0x01, it is a message to create domain Participant, Publisher, Subscriber, DataWriter, DataReader of DDS. If TYPE is 0x02, it is a message to create Topic. If TYPE is 0x04, it is a message that contains data published in domain. If the TYPE is 0x08, this message contains the data subscribed to by the domain. The structure of the body is changed as follows according to the type of TYPE.

3.1.1. 3.1.1. DDSDDS EntityEntity 생성 프로토콜 Generation protocol

표 2는 TYPE이 0x01일 때 프레임 구조이다. Table 2 shows the frame structure when TYPE is 0x01.

Structure of Type 0x01 FrameStructure of Type 0x01 Frame Type Type Body                 Body 0x01
0x01
도메인 Number   Domain Number Publish or Subscribe Flag Publish or Subscribe Flag
4 bytes     4 bytes 1 byte        1 byte

표 2와 같이 TYPE이 0x01 프레임 구조의 Body는 도메인Number와 발간 또는 구독 서비스를 결정하는 Publish or Subscribe Flag로 구분된다. 도메인 Number는 int형 타입으로 4byte의 크기를 가지고, 발간 또는 구독 서비스를 결정하는 Publish or Subscribe Flag는 Boolean형 타입으로 1byte의 크기를 가진다. 도메인 Number는 자신이 참여하고자 하는 도메인의 번호를 저장하며, Flag을 통하여 도메인에 발간서비스를 할지, 구독서비스를 할지 결정한다. True일 경우 발간서비스, False일 경우 구독서비스 결정한다.As shown in Table 2, the body of the frame structure with a TYPE of 0x01 is divided into a domain number and a publish or subscribe flag that determines a publication or subscription service. Domain Number is an int type and has a size of 4 bytes. Publish or Subscribe Flag, which determines the publication or subscription service, is a Boolean type and has a size of 1 byte. The domain number stores the number of the domain to which the user wants to participate and determines whether to publish or subscribe to the domain through the flag. If true, the published service is determined. If false, the subscription service is determined.

표 3은 TYPE이 0x02일 때 프레임 구조이다.Table 3 shows the frame structure when TYPE is 0x02.

Structure of Type 0x02 FrameStructure of Type 0x02 Frame Type Type Body                 Body 0x02
0x02
Kind     Kind Name         Name
1 byte     1 byte String        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을 포함하고 있다.As shown in Table 3, Type 0x02 frame structure is divided into kind and name. kind is a Boolean type and has a size of 1 byte, name has a String type, and has a size except kind 1 byte in the frame structure. To create a topic, you need a type name and a topic name. The kind determines whether the message contains a type name or a topic name. If true, type name; if false, topic name. name contains the type name and topic name.

3.1.2. 발간/구독 프로토콜3.1.2. Publish / Subscribe Protocol

표 4는 TYPE이 0x04일 때 프레임 구조이다.Table 4 shows the frame structure when TYPE is 0x04.

Structure of Type 0x04 FrameStructure of Type 0x04 Frame Type Type Body          Body 0x04 0x04 Data          Data

표 4와 같이 Type 0x04 프레임 구조는 특별히 정의하지 않는다. TYPE이 0x04일 때 non DDS 통신 객체로부터 받은 메시지의 Data부분을 DataWriter를 통하여 도메인에게 발간한다.As shown in Table 4, the Type 0x04 frame structure is not specifically defined. When TYPE is 0x04, Data part of message received from non DDS communication object is published to domain through DataWriter.

표 5는 TYPE이 0x08일 때 프레임 구조이다.Table 5 shows the frame structure when TYPE is 0x08.

Structure of Type 0x08 FrameStructure of Type 0x08 Frame Type Type Body          Body 0x08 0x08 Data          Data

표 5와 같이 Type 0x08 프레임 구조는 특별히 정의하지 않는다. TYPE이 0x08일 때 DDSB에서 도메인으로부터 구독한 메시지를 Data부분에 저장하여 non DDS 통신 객체로 전송한다.As shown in Table 5, the Type 0x08 frame structure is not specifically defined. When TYPE is 0x08, DDSB saves the message subscribed from domain in Data part and sends it to non DDS communication object.

표 6은 위에서 정의한 메시지들에 대한 응답 메시지 프레임 구조이다.Table 6 shows the response message frame structure for the messages defined above.

Ack message Frame structureAck message Frame structure Type             Type 1 byte            1 byte

표 6에서와 같이 Ack message 프레임 구조는 TYPE만으로 구분된다. TYPE는 1byte의 크기를 가진다. non DDS 통신객체가 Ack 메시지를 받으면 TYPE를 통하여 어떤 메시지를 보내야 하는지 판단한다. As shown in Table 6, Ack message frame structure is divided into TYPE only. TYPE has the size of 1 byte. When a non DDS communication object receives an Ack message, it determines which message should be sent through the TYPE.

Ack MessageAck Message TYPE  TYPE Message                       Message 0x10  0x10 직전 메시지를 수신했으며, 다음 메시지로서 도메인 number와 publisher/subscriber information을 보내도록 상대편에게 요청하는 메시지Received the previous message and asked the other party to send the domain number and publisher / subscriber information as the next message. 0x20  0x20 직전 메시지를 수신했으며, 다음 메시지로서 발간/구독하려는 topic의 type name을 보내도록 상대편에게 요청하는 메시지Received the previous message and asked the other party to send the type name of the topic they wish to publish / subscribe as the next message. 0x40  0x40 직전 메시지를 수신했으며, 다음 메시지로서 topic name을 보내도록 상대편에게 요청하는 메시지Received the last message and asked the other party to send topic name as the next message. 0x80  0x80 DDS entity 생성절차가 제대로 이루어졌으며, DDS 서비스를 이용할 수 있음을 상대편에게 알리는 메시지Message that informs the other party that the DDS entity creation procedure was successful and the DDS service is available.

표 7은 응답메시지 프레임에서 TYPE의 종류에 따른 message 의미이다.Table 7 shows the message meaning according to the type of TYPE in the response message frame.

3.2. 프로토콜 통신 절차3.2. Protocol communication procedure

본 발명에 따른 DDSB(Data Distribution Service Bridge) 통신 방법은, Data Distribution Service Bridge (DDSB) communication method according to the present invention,

도메인에 메시지를 발간/구독하기 위해 통신 기능을 제공하는 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 통신 방법으로서,Data Distribution Service (DDS), Abstract Layer, which consists of Real-Time Publish-Subscribe (RTPS), which provides communication functions for publishing / subscribing messages to a domain, and Data-Centric Publish-Subscribe (DCPS), which transmits data. A Data Distribution Service Bridge (DDSB) including a Protocol Manager for creating the DDS object and delivering a message, and a DDS Entity Manager having information of the DDS objects; and non communicating with the DDSB. A DDSB communication method of a data distribution service bridge (DDSB) communication system including a non-DSS entity,

(a) 상기 DDSB과 상기 non DDS 통신객체의 연결을 설정하는 단계;를 수행한 후에(예를 들면,TCP의 Three way handshaking(도11)을 수행한 후),     (a) establishing a connection between the DDSB and the non-DDS communication object; after performing (for example, after performing three way handshaking of TCP (FIG. 11)),

(b) 상기 non DDS 통신 객체가 도메인의 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)를 실행하는 단계(도9); 또는, (b) the non DDS communication object executing a protocol communication procedure (Publish sequence diagram) for publishing a message of a domain (FIG. 9); or,

(c) 상기 DDSB로부터 도메인의 메시지를 구독하여 non DDS 통신 객체로 전달하는 프로토콜 통신 절차(Subscription sequence diagram)를 실행하는 단계(도10);를 포함한다.
(c) executing a protocol communication sequence (subscription sequence diagram) for subscribing a message of a domain from the DDSB to a non-DDS communication object (FIG. 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의 데이터라이터를 통하여 도메인(도메인)에 메시지를 발간하는 것을 특징으로 한다. In the DDSB communication system, a data reader of a DDS is formed by using a publish / subscribe protocol of the DDSB 20 in an environment in which a network domain is dynamically formed and free communication is possible for a device (non DDS device). The subscribed message is transmitted to the non-DDS communication object 30 through the sender 21 of the abstract layer 27 of the DDSB 20 and published by the non-DDS communication object 30. A message to be received is received by a receiver 22 of the abstract layer 27 and transmitted to a protocol manager 24, and the protocol manager 24 communicates with the non-DDS communication object 30. In order to create an object of the matching DDS, the DDS Entity Manager 23 checks the object, creates the object, and publishes a message to a domain (domain) through the data writer of the DDS.

도 9는 non DDS 통신 객체가 DDS 도메인에 메시지를 발간하는 프로토콜 통신 절차(Publish sequence diagram)이다.9 is a protocol communication procedure (Publish sequence diagram) in which a non DDS communication object publishes a message in a DDS domain.

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에 발간할 메시지만 전송하면 된다.The protocol procedure for a non-DSS communication object to publish a message in a DDS domain is divided into three parts as shown in FIG. The first DDSB 20 and Non DDS Communication Object (Sender) 31 are connected to each other. Depending on the non DDS communication method, the communication connection method may be changed. For example, in the case of TCP, the three way handshaking method is used (FIG. 11). This part creates a DDS object that matches the second non DDS Entity (Sender) 31. The DDSB 20 sends an Ack message to the non DDS communication object 31 to transmit the first message for creating the DDS object. The non-DDS communication object 31 receiving the Ack message sets the TYPE to 0x01, sets the domain number to participate in which domain, and sets the Flag value to True to publish to the participating domain to the DDSB 20. send. After receiving the message, the DDSB 20 transmits an Ack message to the non DDS communication object 31 to transmit the next message. The non-DDS communication object 31 receiving the Ack message sets the TYPE to 0x02, sets the kind to True, and sets the type name to send the DDSB 20 to generate a topic. After receiving the message, the DDSB 20 transmits an Ack message to the non DDS communication object 31 to transmit the next message. The non-DDS communication object 31 receiving the Ack message sets the TYPE to 0x02, sets the kind to False, and sets the topic name to transmit to the DDSB 20. After receiving the message, the DDSB 20 transmits an Ack message to the non-DDS communication object 31 to indicate that the publication service is available. The third non DDS communication object 31 transmits a message to be published in the domain. The non DDS communication object 31 sets the TYPE to 0x04 and transmits a message to be published in the domain to the DDSB. When a non-DDS communication object 31 publishes a message with the same topic, it is only necessary to transmit a message to be published to the DDSB by defining TYPE as 0x04.

도 10은 DDS 도메인의 메시지를 구독하여 non DDS 통신 객체로 전달하는 프로토콜 통신 절차를 나타내는 Subscription sequence diagram이다. 10 is a subscription sequence diagram illustrating a protocol communication procedure for subscribing a message of a DDS domain to a non-DDS communication object.

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)로 바로 전송된다.The protocol procedure for subscribing a message of a DDS domain delivered to a non-DDS communication object is divided into three parts as shown in FIG. The first non DDS Entity (Receiver) 32 connects the connection between the DDSB 20. Depending on the non DDS communication method, the communication connection method may be changed. For example, in the case of TCP, the three way handshaking method is used (FIG. 11). This is a part for creating a DDS object that matches the second non DDS communication object 32. The DDSB 20 sends an Ack message to the non DDS communication object 32 to transmit the first message for creating the DDS object. The object receiving the Ack message sets the TYPE to 0x01, sets the domain number to join which domain, and sets the Flag value to False to subscribe to the participating domain and sends it to the DDSB. After receiving the message, the DDSB 20 sends an Ack message to the non-DDS communication object 32 to transmit the next message. The non-DDS communication object 32 receiving the Ack message sets the TYPE to 0x02, sets the kind to True, and sets the type name to transmit the DDSB 20 to generate a topic. After receiving the message, the DDSB 20 sends an Ack message to the non-DDS communication object 32 to transmit the next message. The non-DDS communication object 32 receiving the Ack message sets the TYPE to 0x02, sets the kind to False, and sets the topic name to transmit to the DDSB 20. After receiving the message, the DDSB 20 transmits an Ack message to the non-DDS communication object 32 to indicate that a subscription service is available. The third part is to deliver the message received from the domain to the non DDS communication object 32. The subscribed message from the created data reader is set to 0x08 and forwarded to the non DDS communication object 32. The non DDS communication object 32 does not transmit an Ack message to the DDSB 20. Thereafter, when the data reader subscribes to the message, the data reader is directly transmitted to the non-DDS communication object 32 in the form of a message whose TYPE is set to 0x08 through the DDSB 20.

도 11은 TCP/IP 통신방법을 선택했을 경우 TCP/IP connection을 연결 방법을 나타낸 도면이다. 11 illustrates a method of connecting a TCP / IP connection when the TCP / IP communication method is selected.

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)로 전송하여 응답함으로써 통신 연결이 완료된다.The DDSB 20 and the non-DDS communication object 30 are connected using the three way handshaking method of TCP. The non DDS communication object 30 sends a SYN message to the DDSB 20 to request a communication connection. After receiving the message, the DDSB 20 sends a SYN + ACK message to the non-DDS communication object 30 to respond to the communication connection. After receiving the message, the non DDS communication object 30 transmits an ACK message to the DDSB 20 and responds to the communication.

4. 본 발명의 시스템의 특징4. Features of the System of the Invention

본 발명의 시스템의 제약 사항은 다음과 같다.The limitations of the system of the present invention are as follows.

ㆍnon DDS 통신객체(30)는 DDS 서비스의 데이터 발간/구독 만을 지원한다.The non DDS communication object 30 supports only data publication / subscription of the DDS service.

ㆍDDSB(20)은 default QoS만을 사용한다.The DDSB 20 uses only default QoS.

ㆍnon DDS 통신 객체(30)와 데이터라이터또는 데이터리더는 1:1 관계를 갖는다.The non DDS communication object 30 has a 1: 1 relationship with the data writer or data reader.

ㆍDDSB(20)에서 도메인의 데이터를 구독하기 위하여 Listener 방법만 사용한다.In DDSB 20, only the listener method is used to subscribe to the data of the domain.

본 발명의 시스템의 특징은 다음과 같다.The features of the system of the present invention are as follows.

ㆍDDSB(20)은 DDS 미들웨어를 가지고 있고, non DDS 통신객체(30)와 통신을 할 수 있는 모듈(Sender, Receiver)을 가지고 있다.The DDSB 20 has a DDS middleware and a module (Sender, Receiver) capable of communicating with a non DDS communication object 30.

ㆍDDS 미들웨어가 설치되어 있지 않은 시스템도 DDSB(20)을 통하여 간단한 메시지를 전송하여 DDS 서비스를 사용할 수 있다.A system without DDS middleware installed may use a DDS service by sending a simple message through the DDSB 20.

ㆍDDSB(20)의 Abstract Layer를 통하여 다양한 통신 방법을 지원한다.
ㆍ Support various communication methods through Abstract Layer of DDSB 20.

이상에서 설명한 바와 같이, 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진자가 하기의 특허청구범위에 기재된 본 발명의 기술적 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 또는 변형하여 실시할 수 있다.
As described above, although described with reference to a preferred embodiment of the present invention, those skilled in the art without departing from the spirit and scope of the present invention described in the claims In the present invention can be carried out by various modifications or variations.

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)
10,10a, 10b, 10c: DDS 11,11a, 11b, 11c: DSPS
12,12a, 12b, 12c: RTPS 20: DDSB
21: Receiver 22: Sender
30: Non DDS Communication Object 31: Sender
32: Receiver

Claims (11)

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) 통신 시스템.
In the Data Distribution Service Bridge (DDSB) communication system,
A data distribution service bridge (DDSB) for publishing / subscribing messages to a domain; and a non-DDS communication entity composed of a sender and a receiver communicating with the DDSB.
The DDSB includes a Data Distribution Service (DDS), a Sender, and a Receiver, which include a Real-Time Publish-Subscribe (RTPS) that provides a communication function, and a Data-Centric Publish-Subscribe (DCPS) that transmits data. An Abstract Layer comprising: a Data Distribution Service Bridge (DDSB) comprising a Protocol Manager for creating the DDS object and delivering a message; and a DDS Entity Manager having information on the DDS objects. A) communication system.
제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 통신 시스템.
The method of claim 1,
When a message subscribed in the domain is to be delivered to the non-DDS communication object (Non DDS Entity or non-DDS device), the reader of the Real-Time Publish-Subscribe (RTPS) DCPS delivers the message of the subscribed domain. It delivers to the data reader of (Data Centric Publish-Subscribe), the data reader is delivered to the protocol manager, and the protocol manager finds the non-DDS communication object matching the data reader through the DDS entity manager and then sends it to the sender of the abstract layer. The sender, and the sender to the non-DSS communication object, characterized in that for transmitting.
제1항에 있어서,
상기 non DDS 통신 객체의 메시지를 상기 도메인에 발간하고자 하는 경우, 발간하고자 하는 메시지를 Abstract Layer의 리시버로 전달하고, 상기 리시버로부터 상기 메시지를 프로토콜 매니저로 전달하며, 상기 프로토콜 매니저는 non DDS 통신객체와 매칭되는 데이타 라이터(DataWriter)를 DDS 엔티티 매니저를 통하여 찾고, 데이터 라이터에게 메시지를 전달하며, 상기 데이타 라이터는 RTPS의 라이터를 통하여 도메인에 발간하는 것을 특징으로 하는 DDSB 통신 시스템.
The method of claim 1,
When a message of the non DDS communication object is to be published in the domain, the message to be published is delivered to a receiver of an abstract layer, and the message is transmitted from the receiver to a protocol manager, and the protocol manager communicates with the non DDS communication object. DDSB communication system for finding a matching data writer (DataWriter) through the DDS entity manager, delivers a message to the data writer, the data writer to the domain through the writer of the RTPS.
제1항에 있어서,
상기 Abstract Layer는,
DDSB에서 non DDS 통신객체를 용이하게 관리하기 위하여 non DDS 통신객체마다 ID를 배정하여 관리하며, TCP/IP 프로토콜을 사용하는 객체의 경우, IP 주소와 port 번호와 매칭되는 ID가 배정되는 것을 특징으로 하는 DDSB 통신 시스템.
The method of claim 1,
The abstract layer,
In order to easily manage non DDS communication object in DDSB, ID is assigned and managed for each non DDS communication object.In case of object using TCP / IP protocol, ID matching with IP address and port number is assigned. DDSB communication system.
제1항에 있어서,
상기 프로토콜 매니저는,
상기 DDSB가 받은 메시지를 분석하는 모듈로서, non DDS 통신객체와 매칭되는 DDS의 객체를 생성하기 위해 DDS 엔티티 매니저를 확인하고 객체를 생성하며, DDS 객체를 생성할 때, 상기 DDSB에 생성된 DDS 객체들을 검사하여 참여하고 싶은 도메인에 이미 참여하고 있는 도메인 파티서펀트(도메인Participant)가 있을 경우, 새로 생성하지 않고, 이미 참여하고 있는 도메인 파티서펀트를 사용하고, 해당 도메인에 발간/구독 서비스를 할 경우, 도메인 파티서펀트에서 이미 퍼블리셔(Publisher)와 서브스크라이버(Subscriber)가 생성되어 있으면 생성하지 않고 생성되어 있는 객체를 사용하며, 토픽(Topic) 객체가 이미 도메인에 생성되어 있는 경우, 생성하지 않고 생성되어 있는 객체를 사용하고, 또한, 구독한 메시지를 Abstract Layer의 센더로 전달하며, 도메인에 발간할 메시지를 데이터라이터로 전달하는 것을 특징으로 하는 DDSB 통신 시스템.
The method of claim 1,
The protocol manager,
A module that analyzes the message received by the DDSB, identifies a DDS entity manager and creates an object to generate an object of the DDS matching a non-DDS communication object, and generates a DDS object when the DDS object is generated. If you have a domain Participant that already participates in the domain you want to participate in, you do not create a new one, use a domain party fund that is already participating, and publish / subscribe to that domain. If the publisher and subscriber are already created in the domain party service, the created object is used without creation. If the topic object is already created in the domain, it is created without creation. Message to be used in the domain, and to send subscribed message to Sender of Abstract Layer DDSB communication system characterized in that the data transmitted to the writer.
제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 통신 시스템.
The method of claim 1,
The DDS Entity Manager,
A module having information of DDS entities created in a node in which the DDSB is installed, wherein the DDS entities are matched with the non-DDS communication object, managed in a table form (DDS Entity Table), and in the abstract layer. ID field that stores the ID of the designated non-DDS communication object. The remaining five fields store the address value of the DDS object created by the non-DDS communication object. DP field that stores the address of the domain party support, publisher and sub It consists of PUB and SUB fields for storing address values of scriber, DW and DR fields for storing address values of data writer and data reader, and if the non DDS communication object accesses the DDSB, the ID designated by the abstract layer After storing, when the protocol manager creates the DDS object, the protocol manager stores the address value of the generated DDS object in the same row of the table where the ID is stored. DDSB communication system.
도메인에 메시지를 발간/구독하기 위해 통신 기능을 제공하는 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 통신 방법.
Data Distribution Service (DDS), Abstract Layer, which consists of Real-Time Publish-Subscribe (RTPS), which provides communication functions for publishing / subscribing messages to a domain, and Data-Centric Publish-Subscribe (DCPS), which transmits data. A Data Distribution Service Bridge (DDSB) including a Protocol Manager for creating the DDS object and delivering a message, and a DDS Entity Manager having information of the DDS objects; and non communicating with the DDSB. A DDSB communication method of a data distribution service bridge (DDSB) communication system including a non-DSS entity,
(a) establishing a connection between the DDSB and the non DDS communication object;
(b) executing a protocol communication procedure (Publish sequence diagram) in which the non-DDS communication object publishes a message of a domain; or,
(c) executing a protocol communication sequence for subscribing a message of a domain from the DDSB to a non-DDS communication object;
DDSB communication method characterized in that performed.
제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 통신 방법.
The method of claim 7, wherein
In step (a) of establishing a connection between the DDSB and the non-DDS communication object,
(a1) establishing a connection between the DDSB and the non DDS communication object, and transmitting the SYN message to the DDSB by the non DDS communication object;
(a2) after the DDSB requesting a communication connection receives the message, transmitting a SYN + ACK message to the non-DDS communication object to respond to the communication connection; And
(a3) after the non-DDS communication object receives the message, completing the communication connection by transmitting an ACK message to the DDSB and responding;
DDSB communication method comprising a.
제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 통신 방법.
The method of claim 7, wherein
(B) the non-DSS communication object executing a protocol communication procedure (Publish sequence diagram) for publishing a message to the DDS domain,
(b1) A part of generating a DDS object that matches the non-DDS communication object, and when the DDSB sends an Ack message to the non-DDS communication object to transmit the first message for creating the DDS object, the non-Ack message is received. After the DDS communication object sets the TYPE to 0x01, sets the domain number to join which domain, and sets the Flag value to True to provide the published service to the participating domain, the DDSB sends the message to the DDSB. To send the next message, the Ack message is sent to the non DDS communication object, and the non-DDS communication object receiving the Ack message sets the TYPE to 0x02, sets the kind to True, and sets the type name to generate the topic. Transmits an Ack message to the non DDS communication object to transmit the next message after receiving the message, and receives the Ack message. The object sets the TYPE to 0x02, sets the kind to False, sets the topic name to send to the DDSB, and sends an Ack message to the non DDS to indicate that the DDSB can publish the service. Generating a DDS entity to transmit to a communication object; And
(b2) The non-DDS communication object transmits a message to be published in a domain. When the non-DDS communication object sets TYPE to 0x04 and transmits a message to be published in the domain to the DDSB, the non-DDS communication is performed. A publication step of transmitting only a message to be published to the DDSB by defining a TYPE as 0x04 when an object publishes a message in the same topic;
DDSB communication method comprising a.
제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 통신 방법.
The method of claim 7, wherein
(C) executing a protocol communication procedure of subscribing a message of the DDS domain to a non-DDS communication object;
(c1) A part of generating a DDS object that matches the non-DDS communication object. When the DDSB sends an Ack message to the first non-DSC communication object to transmit the first message for creating the DDS object, the Ack message is received. The object sets the TYPE to 0x01, sets the domain number to join which domain, and sets the Flag value to False to subscribe to the participating domains and sends it to the DDSB, and after the DDSB receives the message, Ack message to send a message is transmitted to the non DDS communication object, and the non DDS communication object receiving the Ack message sets the TYPE to 0x02, sets the kind to True, and sets the type name to DDSB to generate the topic. After receiving the message, the DDSB transmits an Ack message to the non-DDS communication object to transmit the next message, and receives the Ack message. The body sets the TYPE to 0x02, sets the kind to False, sets the topic name to send to the DDSB, and sends an Ack message to the non DDS to indicate that the DDSB can receive a subscription service. Generating a DDS entity to transmit to a communication object; And
(c2) As a part of delivering a message received from a domain to the non DDS communication object, if a message subscribed from the generated data reader is set to TYPE as 0x08 and delivered to the non DDS communication object, the non DDS communication object is transmitted to the non DDS communication object. Not transmitting an Ack message to a DDSB, and if the data reader subscribes to the message, a subscription step of directly transmitting the Ack message to the non-DDS communication object in the form of a message whose TYPE is set to 0x08 through the DDSB;
DDSB communication method comprising a.
도메인에 메시지를 발간/구독하기 위한 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 통신 방법.
A DDSB communication method of a data distribution service bridge (DDSB) communication system including a data distribution service bridge (DDSB) for publishing / subscribing a message to a domain; and a non DDS entity (Non DDS Entity) for communicating with the DDSB.
(a-1) establishing a connection between the DDSB and the non-DDS communication object;
(b-1) executing a protocol communication procedure (Publish sequence diagram) in which the non-DDS communication object publishes a message in a DDS domain; or,
(c-1) executing a protocol sequence sequence of subscribing a message of a DDS domain from a DDSB to a non-DDS communication object; and executing a publish / subscribe protocol of the DDSB. Sends a subscribed message to the protocol manager through the data reader of the DDS, and the protocol manager finds a non-DDS communication object matching the object of the DDS through the DDS entity manager and sends it to the sender of the abstract layer of the DDSB. Transmits to the non-DDS communication object through the sender of the abstract layer of the DDSB, receives a message to be published by the non-DDS communication object to the receiver of the abstract layer, and transmits the message to the protocol manager; The manager checks the DDS entity manager and creates an object to create an object of the DDS that matches the non-DDS communication object. DDSB communication method wherein a message issued in Maine.
KR1020120001921A 2012-01-06 2012-01-06 Dds bridge communication system and method KR101157039B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120001921A KR101157039B1 (en) 2012-01-06 2012-01-06 Dds bridge communication system and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120001921A KR101157039B1 (en) 2012-01-06 2012-01-06 Dds bridge communication system and method

Publications (1)

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

Family

ID=46689025

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120001921A KR101157039B1 (en) 2012-01-06 2012-01-06 Dds bridge communication system and method

Country Status (1)

Country Link
KR (1) KR101157039B1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101602099B1 (en) * 2015-01-30 2016-03-10 충남대학교산학협력단 System for Service inter-working based REST in Internet of Things and Method thereof
KR101602100B1 (en) * 2015-02-03 2016-03-10 충남대학교산학협력단 Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things
KR20170024369A (en) * 2015-08-25 2017-03-07 충남대학교산학협력단 Beacon adapter and data exchange system employing the same
KR101915683B1 (en) * 2016-12-19 2018-11-07 충남대학교산학협력단 Mqtt adaptor and topic processing method using the same
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 (en) * 2020-12-02 2021-03-05 广东博智林机器人有限公司 RTPS process communication method, device, electronic equipment and storage medium
CN115037807A (en) * 2022-06-10 2022-09-09 湖南大学 Method and system for integrating DDS (direct digital synthesis) protocol on industrial robot service bus

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 (en) * 2015-01-30 2016-03-10 충남대학교산학협력단 System for Service inter-working based REST in Internet of Things and Method thereof
KR101602100B1 (en) * 2015-02-03 2016-03-10 충남대학교산학협력단 Method for Integrating Heterogeneous Thing's messages based DDS in Internet of Things
KR20170024369A (en) * 2015-08-25 2017-03-07 충남대학교산학협력단 Beacon adapter and data exchange system employing the same
KR101720167B1 (en) 2015-08-25 2017-03-28 충남대학교산학협력단 Beacon adapter and data exchange system employing the same
KR101915683B1 (en) * 2016-12-19 2018-11-07 충남대학교산학협력단 Mqtt adaptor and topic processing method using the same
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 (en) * 2020-12-02 2021-03-05 广东博智林机器人有限公司 RTPS process communication method, device, electronic equipment and storage medium
CN115037807A (en) * 2022-06-10 2022-09-09 湖南大学 Method and system for integrating DDS (direct digital synthesis) protocol on industrial robot service bus
CN115037807B (en) * 2022-06-10 2023-08-18 湖南大学 Method and system for integrating DDS protocol on industrial robot service bus

Similar Documents

Publication Publication Date Title
KR101157039B1 (en) Dds bridge communication system and method
US11411897B2 (en) Communication method and communication apparatus for message queue telemetry transport
KR101877188B1 (en) Service layer interworking using mqtt protocol
CN103069755B (en) Use the method and system that the instant message of multiple client instance transmits
CN109246220B (en) Message pushing system and method
US8386614B2 (en) Network connection manager
CN105553977A (en) Request message processing and transmitting method and device
KR20120071576A (en) Method, device and system for real-time publish subscribe discovery based on distributed hash table
Chang et al. Future Classroom with the Internet of Things-A Service-Oriented Framework.
JP2017518562A (en) Publish / subscribe network enabled for multimedia signaling control, method for initiating a session within the network, and respective network devices
CN112055078A (en) Data transmission method and device, computer equipment and storage medium
CN109857572B (en) Method, device and equipment for realizing remote calling and computer readable storage medium
CN112134915A (en) Application layer protocol decoupling universal network processing system
WO2019079971A1 (en) Method for group communication, and apparatus, computer storage medium, and computer device
CN114125940A (en) Data message sending method, data message processing method, data message sending device, data message processing device, data message sending equipment and data message
CN115883669A (en) Data distribution method, system, equipment and medium
JP2017027499A (en) Relay system, relay method, and program
KR102025375B1 (en) Apparatus and method for data distribution service, data distribution service system
CN108429665A (en) A kind of method of concurrent communication transmission data
CN110365790B (en) Message transmission method and device, cascade networking equipment and readable storage medium
CN101309154B (en) Datagram sending method, sending apparatus and transmission system
US11337038B2 (en) Method, device and system for transmitting multicast group information
KR20180027564A (en) Service Layer Anycast and Thumbcast
CN112995095B (en) Data processing method, device and computer readable storage medium
US20100049804A1 (en) Instant Messaging

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