KR102025375B1 - Apparatus and method for data distribution service, data distribution service system - Google Patents
Apparatus and method for data distribution service, data distribution service system Download PDFInfo
- Publication number
- KR102025375B1 KR102025375B1 KR1020170176941A KR20170176941A KR102025375B1 KR 102025375 B1 KR102025375 B1 KR 102025375B1 KR 1020170176941 A KR1020170176941 A KR 1020170176941A KR 20170176941 A KR20170176941 A KR 20170176941A KR 102025375 B1 KR102025375 B1 KR 102025375B1
- Authority
- KR
- South Korea
- Prior art keywords
- participant
- domain
- packet
- broker
- internal identifier
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- H04L29/08—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/50—Address allocation
- H04L61/5007—Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/562—Brokering proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0866—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템에 관한 것으로, 상기 장치가 속한 제1 도메인과 상이한 제2 도메인의 제2 장치와 통신하는 통신부 및 상기 제2 도메인을 구성하는 적어도 하나의 제2 참여자를 위한 상기 제1 도메인의 내부 식별자를 할당하고, 상기 제1 도메인을 구성하는 적어도 하나의 제1참여자에 대한 탐색 메시지를 상기 제2 장치로 전송하며, 상기 적어도 하나의 제1 참여자 및 상기 적어도 하나의 제2 참여자 사이에서 송수신되는 패킷을 중개하기 위하여 상기 제2 장치와 통신하도록 상기 통신부를 제어하는 제어부를 포함하되, 상기 탐색 메시지는, 상기 제2 장치가 상기 적어도 하나의 제1 참여자를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 이용되는 것을 특징으로 하는 장치 및 그의 데이터 분산 서비스를 위한 방법, 이러한 장치를 포함하는 데이터 분산 서비스 시스템에 관한 것이다.The present invention relates to an apparatus and method for a data distribution service, and to a data distribution service system, the communication unit communicating with a second device in a second domain different from the first domain to which the device belongs, and at least one configuring the second domain. Assigning an internal identifier of the first domain for a second participant of, transmitting a discovery message for at least one first participant constituting the first domain to the second device, wherein the at least one first participant And a controller configured to control the communication unit to communicate with the second device in order to mediate a packet transmitted and received between the at least one second participant, wherein the discovery message is generated by the second device. An apparatus and its data used for assigning an internal identifier of the second domain for a participant It relates to a data distribution service system of method for distributed services, including such a device.
Description
본 발명은 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템에 관한 것으로, 보다 구체적으로 다중 도메인에 분산된 데이터 분산 서비스 장치들 간 참여자 탐색이 가능하게 하는 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템에 관한 것이다. The present invention relates to an apparatus and method for data distribution service, and a data distribution service system. More particularly, the present invention relates to an apparatus and method for data distribution service that enables a participant discovery between data distribution service devices distributed in multiple domains. A distributed service system.
데이터 분산 서비스(Data Distribution Service, 이하 DDS)는 분산 환경을 위한 데이터 중심의 발간/구독(publish/subscribe) 방식의 통신을 위한 미들웨어의 표준 규격으로서, OMG(Object Management Group)에서 표준화되었다. DDS는 크게 데이터 공유 영역인 도메인(Domain)과 도메인 참여자(Domain Participant)(또는, 참여자)로 구성된다. 하나의 도메인에는 각각의 데이터에 대한 다수의 발간자(publisher)와 구독자(subscriber)가 존재하며 미리 약속된 데이터 타입인 토픽(topic)의 샘플을 교환하게 된다. DDS에서 데이터는 마치 신문을 발간 또는 구독하는 형태로 개체들 간에 분산된다. Data Distribution Service (DDS) is a standard specification of middleware for data-centric publish / subscribe communication for a distributed environment, and has been standardized by an object management group (OMG). DDS is largely composed of data sharing domain, Domain and domain participant (or participant). In one domain, there are multiple publishers and subscribers for each data, and they exchange samples of a topic, which is a pre-defined data type. In DDS, data is distributed among individuals as if they were published or subscribed to a newspaper.
이러한 DDS 미들웨어는 응용프로그램과 운영 체제 사이에 존재하는 서비스 계층으로서 API를 제공하며, 응용 프로그램은 이를 통해 쉽게 다른 개체와 통신을 수행할 수 있다. DDS 미들웨어는 크게 DCPS(Data-Centric Publish-Subscribe) 계층 및 RTPS(The Real-Time Publish Subscribe) 프로토콜을 사용하는 계층으로 구분될 수 있다.Such DDS middleware provides an API as a service layer existing between an application program and an operating system, and an application program can easily communicate with another entity through this. DDS middleware can be largely divided into a layer using a Data-Centric Publish-Subscribe (DCPS) layer and the Real-Time Publish Subscribe (RTPS) protocol.
DCPS 계층은 분산 환경을 위한 발간/구독의 명세를 갖는 미들웨어 인터페이스로서, 분산 환경을 위한 데이터 중심의 발간-구독 프로그래밍 모델에 대한 표준화된 인터페이스를 제공할 수 있다. RTPS 프로토콜을 사용하는 계층은 실제 데이터가 발간/구독되는 계층으로서, 도메인 형성과 사용할 데이터의 타입을 결정하고 도메인에 참여하는 원격지의 참여자들을 동적으로 탐색(Discovery)하는 기능을 제공할 수 있다. 한편, DCPS 계층은 QoS를 설정할 수 있는데, 이때 설정된 QoS에 따라 신뢰성(Reliable) 또는 비신뢰성(Unreliable)을 갖는 데이터 통신을 수행할 수 있다.The DCPS layer is a middleware interface with a specification of publish / subscribe for a distributed environment, and may provide a standardized interface to a data-driven publish-subscribe programming model for distributed environments. The layer using the RTPS protocol is a layer in which actual data is published / subscribed, and may provide a function of determining domain formation and type of data to be used, and dynamically discovering remote participants participating in the domain. On the other hand, the DCPS layer can set the QoS, in this case can perform a data communication having reliable (Reliable) or unreliable (Unreliable) according to the set QoS.
RTPS 프로토콜에서는 통신을 수행하는 도메인 참여한 개체들, 즉 참여자들을 찾기 위하여 참여자들에 대한 탐색, 즉 참여자 탐색(Participant Discovery) 및 참여자 내부에 존재하는 라이터(writer), 리더(reader)와 같은 종단 장치의 탐색, 즉 종단점 탐색(Endpoint Discovery)를 수행한다. In the RTPS protocol, a search for a participant, such as Participant Discovery and a writer or reader, exists within a participant to find domain-participating entities that communicate. Perform discovery, that is, endpoint discovery.
한편, DDS 참여자들의 수가 일정 규모를 넘어서는 경우 단일 도메인만으로는 모든 DDS 참여자를 수용할 수 없다. 즉, 하나의 도메인에서는 일정 수 이상의 주소를 제공할 수 없으므로, DDS 시스템은 다중 도메인으로 구성되어야 한다. 도 1은 다중 도메인으로 구성된 DDS 시스템의 일반적인 구성을 나타낸 도면이다. 도 1을 참조하면, 각각이 적어도 하나의 참여자들(1a, 2a, 3a)을 포함하는 복수의 도메인들(1, 2, 3)이 도시된다. On the other hand, if the number of DDS participants exceeds a certain size, a single domain alone cannot accommodate all DDS participants. That is, since one domain cannot provide more than a certain number of addresses, the DDS system must be composed of multiple domains. 1 is a diagram showing a general configuration of a DDS system composed of multiple domains. Referring to FIG. 1, a plurality of
그러나 종래의 DDS 시스템은 상이한 도메인에 속한 참여자들에 대해 참여자 탐색을 가능하게 하는 수단이 제공하지 않는다. 따라서, 다중 도메인에 분산된 참여자들 간에 DDS 통신이 적절하게 수행되지 못하는 문제점이 있었다. However, the conventional DDS system does not provide a means for enabling participant search for participants belonging to different domains. Therefore, there is a problem that DDS communication is not properly performed between participants distributed in multiple domains.
본 발명은 상기한 문제점을 해결하기 위한 것으로, 브로커로 동작하는 장치를 통하여 상이한 도메인에 분산된 참여자를 탐색하고, DDS 통신을 수행할 수 있도록 하는 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템에 관한 것이다. The present invention has been made to solve the above problems, an apparatus and method for a data distribution service, and a data distribution service system for discovering a participant distributed in different domains and performing DDS communication through a device operating as a broker. It is about.
상술한 과제를 해결하기 위한 본 발명에 따른 데이터 분산 서비스를 위한 장치는, 상기 장치가 속한 제1 도메인과 상이한 제2 도메인의 제2 장치와 통신하는 통신부 및 상기 제2 도메인을 구성하는 적어도 하나의 제2 참여자를 위한 상기 제1 도메인의 내부 식별자를 할당하고, 상기 제1 도메인을 구성하는 적어도 하나의 제1참여자에 대한 탐색 메시지를 상기 제2 장치로 전송하며, 상기 적어도 하나의 제1 참여자 및 상기 적어도 하나의 제2 참여자 사이에서 송수신되는 패킷을 중개하기 위하여 상기 제2 장치와 통신하도록 상기 통신부를 제어하는 제어부를 포함하되, 상기 탐색 메시지는, 상기 제2 장치가 상기 적어도 하나의 제1 참여자를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 이용되는 것을 특징으로 한다.An apparatus for data distribution service according to the present invention for solving the above-described problems, communication unit for communicating with a second device of a second domain different from the first domain to which the device belongs and at least one constituting the second domain Assign an internal identifier of the first domain for a second participant, send a discovery message for at least one first participant constituting the first domain to the second device, the at least one first participant and And a control unit for controlling the communication unit to communicate with the second device in order to mediate packets transmitted and received between the at least one second participant, wherein the discovery message is provided by the second device by the at least one first participant. It is used to assign the internal identifier of the second domain for.
또한, 상기 내부 식별자는, 상기 제1 도메인에 대응하는 IP 주소 및 포트 번호 중 적어도 하나를 포함하는 것을 특징으로 한다.The internal identifier may include at least one of an IP address and a port number corresponding to the first domain.
또한, 상기 제어부는, 상기 제2 장치를 위한 내부 식별자를 할당하고, 상기 제2 장치로 상기 장치의 식별 정보를 포함하는 얼라이브 메시지를 전송하되, 상기 얼라이브 메시지는, 상기 제2 장치가 상기 장치를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 전송되는 것을 특징으로 한다.The controller may be further configured to allocate an internal identifier for the second device and to transmit an alive message including identification information of the device to the second device, wherein the alive message is determined by the second device. And to assign an internal identifier of the second domain for the second domain.
또한, 상기 장치는, 정보를 저장하는 저장부를 더 포함하고, 상기 제어부는, 상기 제2 장치로부터 상기 얼라이브 메시지에 응답하여 상기 제2 장치의 식별 정보를 포함하는 응답 메시지가 수신되면, 상기 제2 장치의 식별 정보를 상기 할당된 내부 식별자와 연계하여 매핑 정보로써 상기 저장부에 저장하는 것을 특징으로 한다.The apparatus may further include a storage configured to store information, and the controller may be configured to, when the response message including the identification information of the second apparatus is received from the second apparatus in response to the alive message. The identification information of the device is stored in the storage unit as mapping information in association with the assigned internal identifier.
또한, 상기 제어부는, 상기 적어도 하나의 제1 참여자로부터 임의의 제2 참여자를 위해 할당된 내부 식별자에 대한 패킷이 수신되면, 상기 패킷의 내부 식별자에 대응하여 상기 제2 장치로 상기 패킷을 전송하되, 상기 제2 장치는, 상기 패킷의 내부 식별자를 기초로 식별되는 제2 참여자에게 상기 패킷을 전달하는 것을 특징으로 한다.The control unit may transmit the packet to the second device in response to the internal identifier of the packet when the at least one first participant receives a packet for an internal identifier allocated for the second participant. The second device delivers the packet to a second participant identified based on the internal identifier of the packet.
또한, 상술한 과제를 해결하기 위한 본 발명에 따른 제1 도메인을 구성하는 장치의 데이터 분산 서비스를 위한 방법은, 상기 제1 도메인과 상이한 제2 도메인의 제2 장치로 상기 제1 도메인을 구성하는 적어도 하나의 제1참여자에 대한 탐색 메시지를 전송하는 단계, 상기 제2 장치로부터 상기 제2 도메인을 구성하는 적어도 하나의 제2 참여자에 대한 탐색 메시지가 수신되면, 상기 적어도 하나의 제2 참여자를 위한 상기 제1 도메인의 내부 식별자를 할당하는 단계 및 상기 내부 식별자를 기초로 상기 적어도 하나의 제1 참여자 및 상기 적어도 하나의 제2 참여자 사이에서 송수신되는 패킷을 중개하기 위하여 상기 제2 장치와 통신하는 단계를 포함하되, 상기 제2 장치로 전송되는 상기 탐색 메시지는, 상기 제2 장치가 상기 적어도 하나의 제1 참여자를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 이용되는 것을 특징으로 한다.In addition, the method for the data distribution service of the device constituting the first domain according to the present invention for solving the above-described problem, the second domain of the second domain different from the first domain to configure the first domain Transmitting a discovery message for at least one first participant; if a discovery message for at least one second participant constituting the second domain is received from the second device, the discovery message for the at least one second participant Allocating an internal identifier of the first domain and communicating with the second device to mediate packets sent and received between the at least one first participant and the at least one second participant based on the internal identifier Wherein the discovery message is sent to the second device, wherein the second device is for the at least one first participant. It characterized in that is used to allocate the internal group identifier of the second domain.
또한, 상기 내부 식별자는, 상기 제1 도메인에 대응하는 IP 주소 및 포트 번호 중 적어도 하나를 포함하는 것을 특징으로 한다. The internal identifier may include at least one of an IP address and a port number corresponding to the first domain.
또한, 상기 방법은, 상기 탐색 메시지를 전송하는 단계 이전에, 상기 제2 장치를 위한 내부 식별자를 할당하는 단계 및 상기 제2 장치로 상기 장치의 식별 정보를 포함하는 얼라이브 메시지를 전송하는 단계를 더 포함하되, 상기 얼라이브 메시지는, 상기 제2 장치가 상기 장치를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 전송되는 것을 특징으로 한다.In addition, the method further comprises: prior to sending the discovery message, allocating an internal identifier for the second device and sending an alive message comprising identification information of the device to the second device. Wherein the alive message is sent to the second device to assign an internal identifier of the second domain for the device.
또한, 상기 통신하는 단계는, 상기 적어도 하나의 제1 참여자로부터 임의의 제2 참여자를 위해 할당된 내부 식별자에 대한 패킷이 수신되면, 상기 패킷의 내부 식별자에 대응하여 상기 제2 장치로 상기 패킷을 전송하는 단계를 포함하되, 상기 제2 장치는, 상기 패킷의 내부 식별자를 기초로 식별되는 제2 참여자에게 상기 패킷을 전달하는 것을 특징으로 한다.The communicating may include, if the packet for the internal identifier assigned for the second participant is received from the at least one first participant, forwarding the packet to the second device corresponding to the internal identifier of the packet. And transmitting the packet to the second participant identified based on the internal identifier of the packet.
또한, 상술한 과제를 해결하기 위한 본 발명에 따른 데이터 분산 서비스 시스템은, 상기 중 어느 하나에 따른 데이터 분산 서비스를 위한 장치를 포함하여 구성되는 것을 특징으로 한다. In addition, the data distribution service system according to the present invention for solving the above problems is characterized in that it comprises a device for a data distribution service according to any one of the above.
본 발명에 따른 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템은 다중 도메인으로 구성된 DDS 시스템에서, 브로커로 동작하는 장치를 통해 상이한 도메인에 속한 참여자들을 효과적으로 탐색할 수 있도록 한다. Apparatus, method, and data distribution service system for data distribution service according to the present invention enables to effectively search for participants belonging to different domains through a device acting as a broker in a multi-domain DDS system.
또한, 본 발명에 따른 데이터 분산 서비스를 위한 장치 및 방법, 데이터 분산 서비스 시스템은 다중 도메인 환경에서 DDS 통신이 적절하게 수행될 수 있도록 한다. In addition, the apparatus, method, and data distribution service system for the data distribution service according to the present invention enables DDS communication to be properly performed in a multi-domain environment.
도 1은 다중 도메인으로 구성된 DDS 시스템의 일반적인 구성을 나타낸 도면이다.
도 2는 본 발명에 따른 다중 도메인으로 구성된 DDS 시스템을 나타낸 도면이다.
도 3은 본 발명에 따른 DDS 시스템에서 브로커 장치 간 탐색 동작을 설명하기 위한 흐름도이다.
도 4는 본 발명에 따른 메시지의 패킷 구조를 나타낸 도면이다.
도 5는 본 발명에 따른 DDS 시스템에서 참여자 탐색 동작을 설명하기 위한 흐름도이다.
도 6은 본 발명에 따른 DDS 시스템에서 DDS 통신을 수행하는 방법을 설명하기 위한 흐름도이다.
도 7은 본 발명에 따른 DDS를 위한 장치의 구조를 나타낸 블록도이다. 1 is a diagram showing a general configuration of a DDS system composed of multiple domains.
2 is a diagram illustrating a DDS system composed of multiple domains according to the present invention.
3 is a flowchart illustrating a search operation between broker devices in the DDS system according to the present invention.
4 is a diagram illustrating a packet structure of a message according to the present invention.
5 is a flowchart illustrating a participant search operation in the DDS system according to the present invention.
6 is a flowchart illustrating a method of performing DDS communication in a DDS system according to the present invention.
7 is a block diagram showing the structure of an apparatus for DDS according to the present invention.
본 명세서의 실시 예를 설명함에 있어 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 명세서의 요지를 흐릴 수 있다고 판단되는 경우, 그 상세한 설명은 생략될 수 있다. In the following description of embodiments of the present disclosure, when it is determined that a detailed description of a related well-known configuration or function may obscure the gist of the present disclosure, the detailed description may be omitted.
본 명세서에서 사용되는 "포함한다," "포함할 수 있다." 등의 표현은 개시된 해당 기능, 동작, 구성요소 등의 존재를 가리키며, 추가적인 하나 이상의 기능, 동작, 구성요소 등을 제한하지 않는다. 또한, 본 명세서에서, "포함하다." 또는 "가지다." 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. As used herein, "includes," "can include." And the like refer to the existence of the corresponding function, operation, component, etc. disclosed, and do not limit one or more additional functions, operations, components, and the like. Also, in this specification, "includes." Or "have." And the like are intended to indicate that there is a feature, number, step, action, component, part, or combination thereof described in the specification, and that one or more other features or numbers, step, action, component, part, or It should be understood that they do not preclude the presence or possibility of adding these in advance.
본 명세서에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.As used herein, the singular forms "a", "an" and "the" include plural forms unless the context clearly indicates otherwise.
이하, 첨부된 도면을 참조하여 본 발명을 설명한다. Hereinafter, with reference to the accompanying drawings will be described the present invention.
도 2는 본 발명에 따른 다중 도메인으로 구성된 DDS 시스템을 나타낸 도면이다.2 is a diagram illustrating a DDS system composed of multiple domains according to the present invention.
도 2를 참조하면, 본 발명에 따른 DDS 시스템은 다수의 도메인들(10, 20)로 구성된다. 도 2의 실시 예에서는 2개의 도메인만이 도시되지만, 도메인의 개수에는 제한이 없다. 2, the DDS system according to the present invention is composed of a plurality of domains (10, 20). Although only two domains are shown in the embodiment of FIG. 2, the number of domains is not limited.
각각의 도메인(10, 20)은 하나의 라우터(11, 21)에 연결되어 로컬 네트워크를 형성하도록 구성될 수 있다. 각각의 도메인(10, 20)은 내부 라우터(11, 21)를 통하여 다른 도메인(10, 20)과 통신할 수 있다. Each
각각의 도메인(10, 20)은 다수의 참여자들(12, 22)로 구성된다. 도메인(10, 20) 내에 존재하는 참여자들(12, 22)은 RTPS 통신 객체로 동작하고 노드라고 지칭될 수 있다. 각각의 참여자(12, 22)는 데스크탑 컴퓨터, 노트북 컴퓨터, UMPC(Ultra Mobile PC), 워크스테이션, 넷북(net-book), PDA(Personal Digital Assistants), 포터블(portable) 컴퓨터, 웹 타블렛(web tablet), 모바일 폰(mobile phone), 스마트폰(smart phone), e-북(e-book), PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 셋톱 박스, 홈 네트워크를 구성하는 다양한 전자 장치들 중 하나, 컴퓨터 네트워크를 구성하는 다양한 전자 장치들 등 다양한 형태의 단말 장치일 수 있다. 도 2의 실시 예에서는, 각각의 도메인(10, 20)에 하나의 참여자(12, 22)만이 도시되지만, 이보다 많은 수의 참여자가 도메인(10, 20) 내에 존재할 수 있다.Each
각각의 참여자(12, 22)는 하나 이상의 발간자 또는 구독자를 가질 수 있다. 발간자는 자신의 정보를 전달하기 위해서 하나 이상의 라이터(writer)(또는, 데이터라이터(datawriter), 발간 개체)를 포함할 수 있고, 구독자는 발간자의 정보를 수신하기 위한 하나 이상의 리더(reader)(또는, 데이터리더(datareader), 구독 개체)를 포함할 수 있다. Each
발간자와 구독자의 응용 프로그램에서는 특정 데이터의 주제를 나타내는 토픽을 생성하고, 이를 라이터와 리더에 관심 토픽으로 등록함으로써 상호 간에 정보를 교환한다. 관심 토픽이 상이한 발간자와 구독자는 토픽 데이터를 교환하지 않기 때문에 이들 간에는 간섭이 발생하지 않는다. 즉, DDS 시스템은 서버가 없는 피어-투-피어(Peer-to-Peer) 구조로서, 도메인 내에서 같은 관심 토픽을 갖는 참여자끼리만 통신을 한다. 관심 토픽에 대응되는 데이터는 라이터 및 DDS 네트워크를 통해서 DDS 데이터 패킷으로 전송되고, 리더는 수신된 DDS 데이터 패킷에 포함된 토픽 데이터를 확인하여 응용 프로그램에게 전달한다.The publisher and subscriber applications create topics that represent the subject of specific data and exchange information with each other by registering them as topics of interest to writers and readers. Since publishers and subscribers with different topics of interest do not exchange topic data, there is no interference between them. In other words, the DDS system is a serverless peer-to-peer structure where only participants with the same topic of interest in the domain communicate. The data corresponding to the topic of interest is transmitted as a DDS data packet through the writer and the DDS network, and the reader checks the topic data included in the received DDS data packet and delivers it to the application program.
상술한 동작을 수행하기 위해, 각각의 도메인(10, 20) 내에서 각각의 참여자(12, 22)는 자신이 속한 도메인(10, 20)에 참여한 다른 참여자를 발견하기 위한 탐색을 수행한다. 이를 구체적으로 설명하면 다음과 같다. In order to perform the above-described operation, each
각각의 참여자(12, 22)는 탐색 메시지(discovery message)(또는, 발견 메시지)를 유니캐스트 또는 멀티캐스트 방식으로 전송하여, 도메인(10, 20) 내의 다른 참여자에게 자신의 존재를 알린다. 이러한 과정을 참여자 탐색이라 한다. 탐색 메시지는 탐색 메시지를 전송하는 참여자(12, 22)에게 할당되는 전역 고유 식별자(Global Unique IDentifier, 이하 GUID), 참여자(12, 22)의 프로토콜 버전, 벤더 식별자, 유니캐스트 및 멀티캐스트 로케이터(IP 주소 및 포트 번호 등) 및 참여자를 추적하는 방법 등에 대한 정보를 포함할 수 있다. 여기서, GUID는 도메인(10, 20) 내에서 각각의 참여자(12, 22)를 식별하기 위해 할당되는 것으로, 다른 참여자는 탐색 메시지 또는 DDS 데이터 패킷의 GUID로부터 해당 탐색 메시지 또는 DDS 데이터 패킷을 전송한 다른 참여자가 자신과 동일한 도메인(10, 20) 내에 존재하는 특정 참여자임을 식별할 수 있다. 이와 같이 참여자들(12, 22)은 각각 발견 메시지를 전달 및 교환함으로써, 동일한 도메인(10)에 속한 다른 참여자를 발견할 수 있다. Each
참여자 탐색이 완료되면, 각각의 참여자(12, 22)는 해당 참여자 내부에서 토픽 데이터 전송을 실제로 수행하는 통신 객체인 라이터 또는 리더의 QoS 정보들을 확인하고 교환하는 종단점 탐색을 수행한다.When the participant search is completed, each
일반적인 DDS 시스템에서, 참여자 탐색은 동일한 도메인(10, 20) 내에서만 가능하도록 구성된다. 즉, 일반적인 DDS 시스템에서, 제1 도메인(10)에 속한 참여자(12)는 제2 도메인에 속한 참여자(22)를 탐색하지 못한다. 또한, 제2 도메인(20)에 속한 참여자(22)는 제1 도메인에 속한 참여자(12)를 탐색하지 못한다. 이는 참여자들(12, 22)이 자신이 속한 도메인(10, 20) 내에서만 탐색 메시지를 전송하고 수신할 수 있다. 이는 다중 도메인으로 구성되는 대규모 DDS 시스템에서 DDS 통신이 효율적으로 이루어질 수 없게 한다. In a typical DDS system, participant search is configured to be possible only within the same domain (10, 20). That is, in the general DDS system, the
상기한 문제를 해결하기 위하여, 본 발명의 다양한 실시 예에서, 각각의 도메인(10, 20)은 브로커로 동작하는 장치(13, 23)를 포함하여 구성된다. 장치(13, 23)는 DDS를 위한 장치로써, 이하에서는 편의를 위해 브로커 장치(13, 23)로 명명한다. In order to solve the above problem, in various embodiments of the present disclosure, each of the
브로커 장치(13, 23)는 자신이 속한 도메인(10, 20) 내의 참여자(12, 22)에 대한 정보를 다른 도메인(10, 20)의 브로커 장치(13, 23)로 전송할 수 있다. 또한, 다른 도메인(10, 20) 내의 참여자(12, 22)에 대한 정보를 수신한 브로커 장치(13, 23)는 해당 참여자(12, 22)를 위한 내부 포트 번호를 할당하고, 내부 참여자(12, 22)와 해당 참여자(12, 22) 간의 DDS 통신을 중개할 수 있다. 결과적으로, 브로커 장치(13, 23)는 다른 도메인(10, 20)에 존재하는 참여자(12, 22)가 마치 내부 도메인(10, 20)에 존재하는 것처럼 DDS 통신이 가능하게 할 수 있다.The
이하에서, 브로커 장치(13, 23)를 통하여 상이한 도메인에 분산된 참여자를 탐색하고 DDS 통신을 수행할 수 있도록 하는 방법을 보다 구체적으로 설명한다. Hereinafter, a method for enabling the DDS communication and searching for participants distributed in different domains through the
도 3은 본 발명에 따른 DDS 시스템에서 브로커 장치 간 탐색 동작을 설명하기 위한 흐름도이다.3 is a flowchart illustrating a search operation between broker devices in the DDS system according to the present invention.
도 2의 실시 예에서, 제1 도메인(10)에는 제1 브로커 장치(13)가, 제2 도메인(20)에는 제2 브로커 장치(23)가 배치된다. 제1 브로커 장치(13) 및 제2 브로커 장치(23)는 제1 도메인(10)과 제2 도메인(20) 각각에 존재하는 제1 및 제2 라우터(11, 21)를 통해 통신할 수 있다. In the embodiment of FIG. 2, the
제1 브로커 장치(13) 및 제2 브로커 장치(23)에는 자신이 속한 도메인(10, 20)에 대응하는 IP 주소 및 포트 번호가 할당된다. 이때, 제1 브로커 장치(13) 및 제2 브로커 장치(23)에는 기설정된 값의 동일한 포트 번호가 할당될 수 있다. 도 2의 실시 예에서, 제1 브로커 장치(13)에는 192.168.0.2의 IP 주소 및 8301의 포트 번호가 할당되고, 제2 브로커 장치(23)에는 192.168.2.1의 IP 주소 및 8301의 포트 번호가 할당되어 있다. 또한, 본 발명의 다양한 실시 예에서, 제1 브로커 장치(13) 및 제2 브로커 장치(23)에는 참여자(12, 22)와 유사하게 GUID가 할당될 수 있다.The
마찬가지로, 제1 라우터(11) 및 제2 라우터(21)에도 IP 주소가 할당된다. 도 2의 실시 예에서, 제1 라우터(11)에는 192.168.0.1의 IP 주소가 할당되고, 제2 라우터(21)에는 192.168.2.1의 IP 주소가 할당되어 있다. 일 실시 예에서, 제1 라우터(11) 및 제2 라우터(21)에는 외부 네트워크와 통신하기 위한 외부 네트워크 주소가 더 할당될 수 있다. 도 2의 실시 예에서, 제1 라우터(11)에는 129.254.1.2의 외부 네트워크 주소가 할당되고, 제2 라우터(21)에는 129.254.1.4의 외부 네트워크 주소가 할당되어 있다.Similarly, the
본 발명의 다양한 실시 예에서, 제1 브로커 장치(13) 및 제2 브로커 장치(23)는 서로를 발견하기 위한 탐색을 수행할 수 있다. In various embodiments of the present disclosure, the
도 3을 참조하면, 제1 브로커 장치(13)는 다른 도메인으로부터 메시지 및/또는 패킷을 수신하기 위한 포트 번호를 할당할 수 있다. 구체적으로, 제1 브로커 장치(13)는 다른 도메인의 브로커 장치, 예를 들어 제2 도메인(20)의 제2 브로커 장치(23)를 위한 포트 번호를 할당할 수 있다(301). 도 2의 실시 예에서, 제1 브로커 장치(13)는 제2 브로커 장치(23)를 위한 포트 번호로써 57321을 할당한다. 할당된 포트 번호는 제2 브로커 장치(23)로부터 메시지 및/또는 패킷을 수신하기 위한 수신 포트로써 설정될 수 있다. Referring to FIG. 3, the
이후에, 제1 브로커 장치(13)는 제1 라우터(11) 및 제2 도메인(20)의 제2 라우터(21)를 통해 제2 브로커 장치(23)로 얼라이브(alive) 메시지를 전송할 수 있다(302). 이때, 제1 브로커 장치(13)는 얼라이브 메시지를 전송하기 위하여, 제2 라우터(21)의 외부 네트워크 주소를 인지하고 있다. 또한, 상술한 바와 같이, 제1 브로커 장치(13)는 제2 브로커 장치(23)가 자신과 동일한 포트 번호를 할당받은 것으로 인지할 수 있다. 그에 따라, 도 2의 실시 예에서, 제1 브로커 장치(13)는 목적지 주소 192.254.1.4:8301로 얼라이브 메시지를 전송한다. Thereafter, the
본 발명의 다양한 실시 예에서, 얼라이브 메시지는 도 4에 도시된 것과 같은 패킷 구조를 가질 수 있다. 도 4를 참조하면, 패킷 구조는 PREFIX 필드와 Struct socketaddr 필드로 구성될 수 있다. PREFIX 필드는 도메인 정보, 브로커 장치(13, 23)의 식별 정보, 예를 들어 GUID 등을 포함할 수 있다. Struct socketaddr 필드는 브로커 장치(13, 23)의 IP 주소 및 패킷 번호와 같은 바인드 정보를 포함할 수 있다. 또한, 얼라이브 메시지에는 얼라이브 메시지를 수신할 브로커 장치(13, 23)를 위하여 할당된 식별 정보, 예를 들어 패킷 번호가 포함될 수 있다. 얼라이브 메시지는 참여자(12, 22)가 송수신하는 탐색 메시지와 구분하기 위해 채택된 용어로써, 다양한 실시 예에서, 얼라이브 메시지는 탐색 메시지, 킵얼라이브 메시지, 헬로 메시지, 하트비트 메시지 등으로 명명될 수 있다. In various embodiments of the present disclosure, the alive message may have a packet structure as shown in FIG. 4. Referring to FIG. 4, the packet structure may include a PREFIX field and a Struct socketaddr field. The PREFIX field may include domain information, identification information of the
얼라이브 메시지는 제2 라우터(21)에 의해 포트 번호 8301을 갖는 제2 브로커 장치(23)로 전달된다. The alive message is forwarded by the
제2 브로커 장치(23)는 수신된 얼라이브 메시지로부터 제1 브로커 장치(13)를 식별하고, 제1 브로커 장치(13)를 위한 포트 번호를 할당할 수 있다(303). 제2 브로커 장치(23)는 얼라이브 메시지로부터 추출되는 정보, 예를 들어 포트 번호를 기초로 제1 브로커 장치(13)를 식별할 수 있다. 도 2의 실시 예에서, 제2 브로커 장치(23)는 포트 번호 57321을 이용하는 제1 브로커 장치(13)를 식별할 수 있다.The
제2 브로커 장치(23)는 식별된 제1 브로커 장치(13)를 위한 포트 번호를 할당할 수 있다. 도 2의 실시 예에서, 제2 브로커 장치(23)는 제1 브로커 장치(13)를 위한 포트 번호로써 68213을 할당한다. 할당된 포트 번호는 제1 브로커 장치(13)로부터 메시지 및/또는 데이터 등의 패킷을 수신하기 위한 수신 포트로 설정될 수 있다. The
제2 브로커 장치(23)는 식별된 제1 브로커 장치(13)에 관한 정보로써, 제1 브로커 장치(13)의 도메인 정보(라우터 정보를 포함할 수 있다.), GUID, IP 주소 및 패킷 번호 등을 저장하고 관리할 수 있다. 구현하기에 따라, 제2 브로커 장치(23)는 자신이 할당한 포트 번호 및 제1 브로커 장치(13)의 정보를 연계하여 매핑 정보로써 관리할 수 있다. 도 2의 실시 예에서, 제2 브로커 장치(23)의 포트 번호 68213과 제1 브로커 장치의 포트 번호 57321이 연계될 수 있다. The
이후에, 제2 브로커 장치(23)는 제2 라우터(21) 및 제1 도메인(10)의 제1 라우터(11)를 통해 제1 브로커 장치(13)로 응답 메시지(ACK)를 전송할 수 있다(304). 이를 위하여, 마찬가지로 제2 브로커 장치(23)는 제1 라우터(11)의 외부 네트워크 주소를 인지하고 있다. 또한, 제2 브로커 장치(23)는 얼라이브 메시지로부터 식별된 제1 브로커 장치(13)의 포트 번호 57321을 인지할 수 있다. 그에 따라, 도 2의 실시 예에서, 제2 브로커 장치(23)는 목적지 주소 192.254.1.2:27321로 응답 메시지를 전송한다.Thereafter, the
본 발명의 다양한 실시 예에서, 응답 메시지는 도 4에 도시된 것과 같은 패킷 구조를 가질 수 있다. 다른 실시 예에서, 응답 메시지는 얼라이브 메시지와 상이한 패킷 구조를 가질 수 있다. 다양한 실시 예에서, 응답 메시지는 제2 브로커 장치(23)가 제1 브로커 장치(13)의 얼라이브 메시지를 올바르게 수신하였음을 나타내기 위한 정보 및 제2 브로커 장치(23)의 식별 정보로써, 예를 들어 GUID, IP 주소 및 패킷 번호 등을 포함할 수 있다. In various embodiments of the present disclosure, the response message may have a packet structure as shown in FIG. 4. In another embodiment, the response message may have a different packet structure than the live message. According to various embodiments of the present disclosure, the response message is information indicating that the
본 발명의 다양한 실시 예에서, 제2 브로커 장치(23)는 제1 브로커 장치(13)로부터 수신된 얼라이브 메시지의 무결성을 검사하고, 메시지가 올바르게 수신되지 않았다고 판단되는 경우에는 부정 응답 메시지(NACK)를 전송할 수 있다. 이 경우, 제1 브로커 장치(13)와 제2 브로커 장치(23) 간 얼라이브 메시지의 재교환이 이루어질 수 있다. According to various embodiments of the present disclosure, the
제1 브로커 장치(13)는 수신된 응답 메시지로부터 제2 브로커 장치(23)를 식별할 수 있다(305). 제1 브로커 장치(13)는 응답 메시지로부터 추출되는 정보, 예를 들어 포트 번호를 기초로 제2 브로커 장치(23)를 식별할 수 있다. 도 2의 실시 예에서, 제1 브로커 장치(13)는 포트 번호 68213을 이용하는 제2 브로커 장치(23)를 식별할 수 있다. The
제1 브로커 장치(13)는 식별된 제2 브로커 장치(23)에 관한 정보로써, 제2 브로커 장치(23)의 도메인 정보(라우터 정보를 포함할 수 있다.), GUID, IP 주소 및 패킷 번호 등을 저장하고 관리할 수 있다. 구현하기에 따라, 제1 브로커 장치(13)는 자신이 할당한 포트 번호 및 제2 브로커 장치(23)의 정보를 매핑 정보로써 저장할 수 있다. 도 2의 실시 예에서, 제1 브로커 장치(13)의 포트 번호 57321과 제2 브로커 장치(23)의 포트 번호 68213이 연계될 수 있다.The
상술한 탐색 과정이 완료된 이후에, 제1 브로커 장치(13)와 제2 브로커 장치(23)는 기설정된 주기에 따라 얼라이브 메시지를 교환하여 서로의 존재를 확인할 수 있다(306, 307). 이때, 제1 브로커 장치(13) 및 제2 브로커 장치(23)는 서로의 포트 번호를 인지하고 있으므로, 얼라이브 메시지는 상대방의 포트 번호로 직접 전송될 수 있다. 도 2의 실시 예에서, 제1 브로커 장치(13)는 제2 브로커 장치(23)를 위하여 목적지 주소 129.254.1.4:68213으로 얼라이브 메시지를 전송하고, 제2 브로커 장치(23)는 제1 브로커 장치(13)를 위하여 목적지 주소 129.254.1.2:57321로 얼라이브 메시지를 전송한다. 얼라이브 메시지의 교환 주기는 네트워크 성능, 네트워크 부하 등을 기초로 결정될 수 있다. After the above-described discovery process is completed, the
이하에서는, 제1 브로커 장치(13)와 제2 브로커 장치(23)를 통하여 제1 도메인(10) 및 제2 도메인(20)의 제1 참여자(12) 및 제2 참여자(22)가 참여자 탐색을 수행하는 방법을 구체적으로 설명한다. Hereinafter, the
도 5는 본 발명에 따른 DDS 시스템에서 참여자 탐색 동작을 설명하기 위한 흐름도이다. 5 is a flowchart illustrating a participant search operation in the DDS system according to the present invention.
도 2의 실시 예에서, 제1 도메인(10)에는 제1 참여자(12)가 제2 도메인(20)에는 제2 참여자(22)가 배치된다. 제1 참여자(12) 및 제2 참여자(22)에는 각각이 속한 도메인(10, 20)에서 제공하는 IP 주소와 포트 번호가 할당된다. 이때, 제1 참여자(12) 및 제2 참여자(22)에는 RTPS 프로토콜에 의해 기설정된 값의 포트 번호가 할당될 수 있다. 도 2의 실시 예에서, 제1 참여자(12)에는 192.168.0.3의 IP 주소 및 7400의 포트 번호가 할당되고, 제2 참여자(22)에는 192.168.2.3의 IP 주소 및 7400의 포트 번호가 할당되어 있다. 추가로, 제1 참여자(12) 및 제2 참여자(22)에게는 GUID가 할당된다. 2, the
본 발명의 다양한 실시 예에서, 제1 참여자(12)와 제2 참여자(22)는 일반적인 RTPS 프로토콜에 따라 도메인 내의 다른 참여자에 대한 탐색을 수행한다. In various embodiments of the present invention, the
먼저, 제1 참여자(12)는 제1 도메인(10) 내에 탐색 메시지를 유니캐스트 또는 멀티캐스트 방식으로 전송할 수 있다(501). 탐색 메시지에는 제1 참여자(12)의 GUID, IP 주소, 포트 번호 등에 대한 정보가 포함될 수 있다. First, the
제1 도메인(10) 내에서 동작하는 제1 브로커 장치(13)는 제1 참여자(12)로부터 전송되는 탐색 메시지를 수신할 수 있다. 제1 브로커 장치(13)는 수신된 탐색 메시지로부터 제1 참여자(12)를 식별할 수 있다(502). 제1 브로커 장치(13)는 탐색 메시지로부터 추출되는 정보, 예를 들어 포트 번호를 기초로 제1 브로커 장치(13)를 식별할 수 있다. 제1 브로커 장치(13)는 제1 참여자(12)의 포트 번호에 관한 정보를 저장하고 관리할 수 있다. The
이후에, 제1 브로커 장치(13)는 제1 라우터(11) 및 제2 도메인(20)의 제2 라우터(21)를 통해 제2 브로커 장치(23)로, 제1 참여자(12)에 대한 탐색 메시지를 전송할 수 있다(503). 브로커 장치 간에 송수신되는 탐색 메시지는 RTPS 프로토콜에서 정의되는 탐색 메시지와 동일한 패킷 구조를 가지거나 또는 별도로 정의되는 패킷 구조를 가질 수 있다. 탐색 메시지는 제1 참여자(12)에 대한 식별 정보로써, 예를 들어 도메인 정보, GUID, IP 주소, 패킷 번호 등이 포함될 수 있다. Subsequently, the
제2 브로커 장치(23)는 수신된 탐색 메시지로부터 제1 참여자(12)를 식별하고, 제1 참여자(12)를 위한 IP 주소 및 포트 번호를 할당할 수 있다(504). 제2 브로커 장치(23)는 탐색 메시지로부터 추출되는 정보, 예를 들어 포트 번호를 기초로 제1 참여자(12)를 식별할 수 있다. 도 2의 실시 예에서, 제2 브로커 장치(23)는 포트 번호 7400을 이용하는 제1 참여자(12)를 식별할 수 있다.The
제2 브로커 장치(23)는 식별된 제1 참여자(12)를 위한 포트 번호를 할당할 수 있다. 도 2의 실시 예에서, 제2 브로커 장치(23)는 제1 참여자(12)를 위한 포트 번호로써 88888을 할당한다. 여기서, 포트 번호는 제2 도메인(20)의 참여자들로부터 전송되는 패킷을 제1 참여자(12)를 위해 수신하기 위한 수신 포트로써 설정될 수 있다. The
일 실시 예에서, 제2 브로커 장치(23)는 식별된 제1 참여자(12)를 위한 IP 주소를 더 할당할 수 있다. 제1 도메인(10)과 제2 도메인(20)은 내부 IP 주소로 이용될 수 있는 IP 주소의 범위가 상이할 수 있다. 따라서, 제1 도메인(10)에서 사용하는 IP 주소 범위 내의 IP 주소는 제2 도메인(20)에 존재하는 브로커 및 참여자들에 의해 올바르게 식별되지 않을 수 있다. 따라서, 제2 브로커 장치(23)는 제1 도메인(10)에 존재하는 제1 참여자(12)를 위하여 제2 도메인(20)에 대응하는 IP 주소를 할당할 수 있다. 도 2의 실시 예에서, 제2 브로커 장치(23)는 제1 참여자(12)를 위하여 192.168.2.5의 IP 주소를 할당할 수 있다. In one embodiment, the
제2 브로커 장치(23)는 식별된 제1 참여자(12)에 관한 정보로써, 제1 참여자(12)의 도메인 정보(해당 도메인의 브로커 장치에 관한 정보를 포함할 수 있다.), 해당 도메인에서의 GUID, IP 주소, 포트 번호 등을 저장하고 관리할 수 있다. 제2 브로커 장치(23)는 제1 참여자(12)에 관한 정보와 자신이 제1 참여자(12)를 위하여 할당한 IP 주소 및 포트 번호를 연계하여 매핑 정보로써 저장할 수 있다. 도 2의 실시 예에서, 제1 참여자(12)에 대하여, 제1 도메인(10) 내의 포트 번호 7400과 제2 브로커 장치(23)가 할당한 IP 주소 192.168.2.5 및 포트 번호 88888이 연계될 수 있다.The
일 실시 예에서, 제2 브로커 장치(23)는 탐색 메시지에 응답하여 제1 브로커 장치(13)로 응답 메시지를 전송할 수 있다(505). 응답 메시지는 제2 브로커 장치(23)가 제1 참여자(12)를 위하여 할당한 포트 번호 등을 포함할 수 있다. 이 경우, 제1 브로커 장치(13)는 제1 도메인(10) 내에서의 제1 참여자(12)에 관한 정보와 제2 브로커 장치(23)가 제1 참여자(12)를 위하여 할당한 포트 번호를 연계하여 저장할 수 있다. According to an embodiment, the
이후에, 제2 브로커 장치(23)는 제2 도메인(20) 내에 제1 참여자(12)에 대한 RTPS 탐색 메시지를 유니캐스트 또는 멀티캐스트 방식으로 전송할 수 있다(506). 탐색 메시지에는 제2 브로커 장치(23)가 제1 참여자(12)를 위하여 할당한 IP 주소, 포트 번호, 제1 참여자(12)의 GUID 등이 포함될 수 있다. Thereafter, the
제2 브로커 장치(23)가 전송한 탐색 메시지는 제2 도메인(20) 내에서 동작하는 제2 참여자(22)에 의하여 수신될 수 있다. 탐색 메시지에는 제2 도메인(20)에서 유효한 IP 주소, 포트 번호 등이 포함되어 있으므로, 제2 참여자(22)는 제1 참여자(12)를 유효하게 식별할 수 있다(507). 제1 참여자(12)를 식별함으로써 제2 참여자(22)는 마치 제1 참여자(12)가 제2 도메인(20)에 존재하는 참여자인 것처럼 인지하고, 제1 참여자(12)를 위한 패킷을 송신하거나 제1 참여자(12)로부터 전송되는 패킷을 수신할 수 있다. The discovery message transmitted by the
유사하게, 제2 참여자(22)도 제2 도메인(20) 내에 탐색 메시지를 유니캐스트 또는 멀티캐스트 방식으로 전송할 수 있다(508). 탐색 메시지를 수신한 제2 브로커 장치(23)는 제2 참여자(22)를 식별하고 제2 참여자(22)에 대한 포트 번호를 저장한 뒤(509), 제1 브로커 장치(13)로 제2 참여자(22)를 위한 탐색 메시지를 전송할 수 있다(510). Similarly, the
제1 브로커 장치(13)는 제2 참여자(22)를 위한 제1 도메인(10) 대응 IP 주소 및 포트 번호를 할당할 수 있다(511). 도 2의 실시 예에서, 제1 브로커 장치(13)는 제2 참여자(22)를 위해 포트 번호 99999를 할당한다. 제1 브로커 장치(13)는 제2 브로커 장치(23)로 응답 메시지를 전송할 수 있고(512), 제1 도메인(10) 내에 제2 참여자(22)를 위한 탐색 메시지를 전송할 수 있다(513). 제1 도메인(10) 내의 제1 참여자(12)는 제1 브로커 장치(13)가 전송한 탐색 메시지를 수신하고, 유효하게 제2 참여자(22)를 식별할 수 있다(514).The
제2 참여자(22)를 위한 참여자 탐색 방법의 구체적인 내용은 제1 참여자(12)를 위한 탐색 방법과 동일하므로 상세한 설명은 생략한다. Since the detailed content of the method for searching for the participant for the
이하에서, 상기한 참여자 탐색 이후에, 상이한 도메인에 위치한 제1 참여자(12)와 제2 참여자(22)가 실질적으로 DDS 통신을 수행하는 방법을 구체적으로 설명한다.Hereinafter, after searching for the participant described above, a method in which the
도 6은 본 발명에 따른 DDS 시스템에서 DDS 통신을 수행하는 방법을 설명하기 위한 흐름도이다. 이하에서 설명하는 DDS 통신 방법은 도 5에 도시된 참여자 탐색 이후에 수행되는 종단점 탐색을 위한 메시지 패킷 또는 탐색이 모두 완료된 이후에 참여자들 간 송수신되는 데이터 패킷에 대한 DDS 통신에 적용될 수 있다. 6 is a flowchart illustrating a method of performing DDS communication in a DDS system according to the present invention. The DDS communication method described below may be applied to DDS communication for a message packet for endpoint discovery performed after the participant discovery illustrated in FIG. 5 or a data packet transmitted and received between the participants after the search is completed.
도 6을 참조하면, 제1 참여자(12)는 제1 도메인(10) 내에 패킷을 전송한다(601). 패킷은 유니캐스트 또는 멀티캐스트 방식으로 전송될 수 있으며, 데이터 패킷의 경우 해당 데이터 패킷의 토픽에 대한 구독자를 위해 전송될 수 있다. 일 실시 예에서, 패킷은 제2 도메인(20) 내의 제2 참여자(22)를 위한 패킷일 수 있다. 즉, 도 2의 실시 예에서 패킷은 목적지 주소의 포트 번호가 99999로 설정된 패킷이다. Referring to FIG. 6, the
제1 도메인(10) 내에서 동작하는 제1 브로커 장치(13)는 제1 참여자(12)로부터 전송되는 패킷을 수신할 수 있다. 제1 브로커 장치(13)는 패킷의 목적지를 식별할 수 있다(602). 구체적으로, 제1 브로커 장치(13)는 패킷이 수신된 포트 번호를 기초로 패킷이 다른 도메인으로 전송되어야 할 패킷인지 여부를 판단할 수 있다. 패킷이 수신되는 포트 번호는, 해당 패킷의 목적지 주소에 대응할 수 있다. The
제1 브로커 장치(13)는 패킷이 수신된 포트 번호를 기저장된 매핑 정보에서 검색하고, 해당 포트 번호가 다른 도메인의 정보와 연계되어 있는지를 판단할 수 있다. 해당 포트 번호가 다른 도메인의 정보와 연계되어 있는 경우, 제1 브로커 장치(13)는 매핑 정보로부터 패킷이 전송되어야 할 도메인에 관한 정보, 패킷을 전송할 브로커 장치에 관한 정보를 식별할 수 있다. The
도 2의 실시 예에서, 제1 브로커 장치(13)는 포트 번호 99999로 수신된 패킷에 대하여, 해당 패킷이 제2 도메인(20)에, 즉 제2 브로커 장치(23)에 전송되어야 할 패킷임을 식별할 수 있다. 일 실시 예에서, 매핑 정보에 포트 번호 99999와 연계된 제2 도메인(20)의 참여자 정보가 포함되어 있는 경우, 제1 브로커 장치(13)는 해당 패킷이 제2 도메인(20)의 포트 번호 7400을 이용하는 제2 참여자(22)에게 전송되어야 할 패킷임을 추가로 식별할 수 있다. 이러한 제2 도메인(20) 내에서의 포트 번호 및 참여자에 대한 식별은 제2 도메인(20)에서 동작하는 제2 브로커 장치(23)에 의하여 수행될 수도 있다. 이 경우, 제1 브로커 장치(13)는 해당 패킷이 제2 도메인(20)에 전송되어야 할 패킷인 것만을 식별하여도 좋다.In the embodiment of FIG. 2, the
제1 브로커 장치(13)는 식별 결과를 기초로, 패킷을 제2 도메인(20)의 제2 브로커 장치(23)에 전송할 수 있다(603). The
일 실시 예에서, 제1 브로커 장치(13)는 패킷의 목적지 주소를 변경하지 않고 패킷을 그대로 전달할 수 있다. 이 경우, 도 2의 실시 예에서 패킷의 목적지 포트 번호는 99999로 설정된다. 다른 실시 예에서, 제1 브로커 장치(13)는 패킷의 목적지 주소를 식별된 제2 도메인(20)에서의 포트 번호로 재설정하여 전달할 수 있다. 이 경우, 도 2의 실시 예에서 패킷의 목적지 포트 번호는 7400으로 설정된다.In one embodiment, the
제1 브로커 장치(13)로부터 제2 브로커 장치(23)로 전송된 패킷은, 전술한 바와 같이 제1 브로커 장치(13)를 위하여 제2 브로커 장치(23)가 할당한 포트 번호, 즉 도 2의 실시 예에서 68213을 통해 제2 브로커 장치(23)에서 수신된다. The packet transmitted from the
제2 브로커 장치(23)는 패킷의 목적지 주소를 기초로, 패킷이 전송되어야 할 제2 도메인(20) 내의 참여자를 식별할 수 있다(604). The
제2 브로커 장치(23)는 제1 브로커 장치(13)를 위하여 할당한 포트 번호를 통해 패킷이 수신됨에 따라 해당 패킷이 제1 도메인(10)으로부터 수신된 것임을 식별할 수 있다. 제2 브로커 장치(23)는 해당 패킷이 제2 도메인(20) 내의 어느 참여자에게 전달되어야 할 것인지를 판단할 수 있다.As the packet is received through the port number allocated for the
일 실시 예에서, 수신된 패킷이 제1 도메인(10)에서의 포트 번호를 포함하는 경우, 제2 브로커 장치(23)는 기저장된 매핑 정보에서 제1 포트 번호를 검색할 수 있다. 포트 정보가 기저장된 매핑 정보에서 검색되면, 제2 브로커 장치(23)는 해당 포트 번호와 연계된 제2 도메인(20)의 포트 번호를 판단할 수 있다. 도 2의 실시 예에서 제2 브로커 장치(23)는 목적지 주소의 포트 번호가 99999로 설정된 패킷에 대하여, 해당 패킷이 제2 도메인(20)의 포트 번호 7400을 이용하는 제2 참여자(22)에게 전송되어야 할 패킷임을 식별할 수 있다. According to an embodiment, when the received packet includes a port number in the
다른 실시 예에서, 수신된 패킷이 제2 도메인(20)에서의 포트 번호를 포함하는 경우, 제2 브로커 장치(23)는 해당 패킷이 전송되어야 할 참여자를 식별할 수 있다. 도 2의 실시 예에서 제2 브로커 장치(23)는 목적지 주소의 포트 번호가 7400으로 설정된 패킷에 대하여, 해당 패킷이 제2 참여자(22)에게 전송되어야 할 패킷임을 식별할 수 있다. In another embodiment, when the received packet includes a port number in the
제2 브로커 장치(23)는 식별 결과를 기초로, 패킷을 도메인 내의 참여자에게 전송할 수 있다(605). 도 2의 실시 예에서, 제2 브로커 장치(23)는 제2 참여자(22)에게 패킷을 전달할 수 있다. The
상기와 같이 본 발명에서는 각각의 도메인(10, 20)에 마련되며, 라우터(11, 12)를 통하여 통신 가능하게 설정되는 브로커 장치(13, 23)에 의해, 상이한 도메인에 위치한 참여자들 간의 DDS 통신이 가능하게 한다. As described above, in the present invention, the DDS communication between the participants located in different domains is provided by the
도 7은 본 발명에 따른 DDS를 위한 장치의 구조를 나타낸 블록도이다. DDS를 위한 장치(700)는 상술한 브로커 장치일 수 있다. 7 is a block diagram showing the structure of an apparatus for DDS according to the present invention. The
도 7을 참조하면, 장치(700)는 통신부(710), 제어부(720) 및 저장부(730)를 포함하여 구성될 수 있다.Referring to FIG. 7, the
통신부(710)는 유선 또는 무선 통신 기술을 이용하여 외부와 통신을 수행한다. 구체적으로, 통신부(710)는 장치(700)와 동일한 도메인 내에 존재하는 적어도 하나의 참여자, 또는 상이한 도메인 내에 존재하는 다른 장치와 통신을 수행할 수 있다. 본 발명의 다양한 실시 예에서, 통신부(710)는 다른 도메인 내에 존재하는 다른 장치와 얼라이브 메시지 및 그에 대한 응답 메시지를 교환할 수 있다. 또한, 통신부(710)는 도메인 내의 참여자로부터 수신된 패킷을 다른 도메인의 장치로 전달하거나, 다른 도메인의 장치로부터 수신된 패킷을 도메인 내의 참여자에게 전달할 수 있다. 다른 도메인과의 통신은 라우터를 통하여 중개될 수 있다.The communication unit 710 communicates with the outside using a wired or wireless communication technology. In detail, the communication unit 710 may communicate with at least one participant existing in the same domain as the
제어부(720)는 본 발명에 따른 DDS 통신 방법을 수행하기 위해 장치(700)의 각 구성 요소들을 제어한다. 구체적으로, 제어부(720)는 다른 도메인 내에 존재하는 다른 장치를 위한 포트를 할당하고, 할당된 포트를 통해 다른 장치로부터 메시지 및/또는 패킷을 수신할 수 있다. 또한, 제어부(720)는 자신의 GUID, IP 주소, 포트 번호 등의 정보를 다른 도메인 내에 존재하는 다른 장치에게 전송함으로써, 다른 장치가 자신을 위한 포트를 할당할 수 있도록 한다. The controller 720 controls each component of the
또한, 제어부(720)는 자신이 속한 도메인 내에 존재하는 적어도 하나의 참여자에 대한 식별 정보, 예를 들어 포트 번호를 저장하고 관리한다. 제어부(720)는 자신이 속한 도메인 내에 존재하는 적어도 하나의 참여자에 대한 식별 정보를 다른 도메인의 장치로 전달하여, 다른 도메인의 장치가 참여자를 위한 포트를 할당할 수 있도록 한다. 제어부(720)는 다른 도메인의 장치로부터 수신되는 다른 도메인 내의 적어도 하나의 참여자를 위하여 식별 정보, 예를 들어 포트를 할당하고 저장할 수 있다. In addition, the controller 720 stores and manages identification information, for example, a port number, of at least one participant existing in a domain to which the controller 720 belongs. The controller 720 transmits identification information of at least one participant existing in the domain to which the participant belongs to the device of the other domain, so that the device of the other domain can allocate a port for the participant. The controller 720 may allocate and store identification information, for example, a port, for at least one participant in another domain received from a device in another domain.
제어부(720)는 다른 도메인 내의 참여자를 위하여 할당된 포트로 패킷이 수신되면, 해당 참여자가 속한 도메인, 즉 해당 참여자가 속한 도메인의 장치를 식별하고 식별된 장치로 패킷을 전달하여, 식별된 장치를 통해 다른 도메인 내의 참여자에게 패킷이 전송될 수 있도록 한다. 또한, 제어부(720)는 다른 도메인의 장치로부터 패킷이 수신되는 경우, 패킷의 목적지 포트 번호를 기초로 해당 패킷이 전달되어야 할 내부 도메인의 참여자를 식별하고 식별된 참여자에게 패킷을 전달할 수 있다. When the packet is received at a port allocated for a participant in another domain, the controller 720 identifies a device of a domain to which the participant belongs, that is, a domain to which the participant belongs, and delivers the packet to the identified device, thereby identifying the identified device. This allows packets to be sent to participants in other domains. In addition, when a packet is received from a device in another domain, the controller 720 may identify a participant of an internal domain to which the packet is to be delivered, based on a destination port number of the packet, and deliver the packet to the identified participant.
제어부(720)의 보다 상세한 제어 동작은 도 2 내지 도 6을 참조하여 설명한 바와 같다.More detailed control operations of the controller 720 are as described with reference to FIGS. 2 to 6.
저장부(730)는 장치(700)의 동작을 위하여 필요한 정보, 데이터, 운영 체제, 프로그램, 소프트웨어, 애플리케이션 등을 저장할 수 있다. 본 발명의 다양한 실시 예에서, 저장부(730)는 제어부(720)의 제어에 따라 도메인 내의 적어도 하나의 참여자를 위한 정보로써 포트 번호를 저장하고 관리할 수 있다. 또한, 저장부(730)는 다른 도메인 내의 브로커 및 적어도 하나의 참여자에 관한 정보로써 포트 번호와 제어부(720)가 내부 도메인을 위해 별도로 할당한 포트 번호, IP 주소 등을 연계항 매핑 정보로써 저장할 수 있다. The storage unit 730 may store information, data, an operating system, a program, software, an application, and the like necessary for the operation of the
본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 그리고 본 명세서와 도면에 개시된 실시 예들은 본 발명의 내용을 쉽게 설명하고, 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 따라서 본 발명의 범위는 여기에 개시된 실시 예들 이외에도 본 발명의 기술적 사상을 바탕으로 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.Those skilled in the art will appreciate that various modifications and variations can be made without departing from the essential features of the present invention. In addition, the embodiments disclosed in the specification and the drawings merely present specific examples to easily explain and easily understand the contents of the present invention, and are not intended to limit the scope of the present invention. Therefore, the scope of the present invention should be construed that all changes or modifications derived based on the technical spirit of the present invention are included in the scope of the present invention in addition to the embodiments disclosed herein.
700: 장치
710: 통신부
720: 제어부
730: 저장부 700: device
710: communication unit
720: control unit
730: storage unit
Claims (10)
상기 장치가 속한 제1 도메인과 상이한 제2 도메인의 제2 장치와 통신하는 통신부; 및
상기 제2 도메인을 구성하는 적어도 하나의 제2 참여자를 위한 상기 제1 도메인의 내부 식별자를 할당하고, 상기 내부 식별자를 이용하여 상기 제1 도메인을 구성하는 적어도 하나의 제1 참여자에게 상기 적어도 하나의 제2 참여자를 위한 제2 탐색 메시지를 전송하며, 상기 적어도 하나의 제1 참여자에 대한 제1 탐색 메시지를 상기 제2 장치로 전송하고, 상기 내부 식별자를 이용하여 상기 적어도 하나의 제1 참여자 및 상기 적어도 하나의 제2 참여자 사이에서 송수신되는 패킷을 중개하기 위하여 상기 제2 장치와 통신하도록 상기 통신부를 제어하는 제어부를 포함하되,
상기 제1 탐색 메시지는,
상기 제2 장치가 상기 적어도 하나의 제1 참여자를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 이용되는 것을 특징으로 하는 장치. An apparatus for data distribution service,
A communication unit communicating with a second device of a second domain different from the first domain to which the device belongs; And
Allocating an internal identifier of the first domain for at least one second participant constituting the second domain and using the internal identifier to the at least one first participant constituting the first domain Send a second discovery message for a second participant, send a first discovery message for the at least one first participant to the second device, and use the internal identifier to provide the at least one first participant and the A control unit for controlling the communication unit to communicate with the second device to mediate packets transmitted and received between at least one second participant,
The first search message,
And wherein the second device is used to assign an internal identifier of the second domain for the at least one first participant.
상기 제1 도메인에 대응하는 IP 주소 및 포트 번호 중 적어도 하나를 포함하는 것을 특징으로 하는 장치. The method of claim 1, wherein the internal identifier,
And at least one of an IP address and a port number corresponding to the first domain.
상기 제2 장치를 위한 내부 식별자를 할당하고, 상기 제2 장치로 상기 장치의 식별 정보를 포함하는 얼라이브 메시지를 전송하되,
상기 얼라이브 메시지는,
상기 제2 장치가 상기 장치를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 전송되는 것을 특징으로 하는 장치. The method of claim 1, wherein the control unit,
Allocate an internal identifier for the second device, and send an alive message containing the identification information of the device to the second device,
The alive message,
And wherein the second device is sent to assign an internal identifier of the second domain for the device.
정보를 저장하는 저장부를 더 포함하고,
상기 제어부는,
상기 제2 장치로부터 상기 얼라이브 메시지에 응답하여 상기 제2 장치의 식별 정보를 포함하는 응답 메시지가 수신되면, 상기 제2 장치의 식별 정보를 상기 할당된 내부 식별자와 연계하여 매핑 정보로써 상기 저장부에 저장하는 것을 특징으로 하는 장치. The method of claim 3,
Further comprising a storage for storing information,
The control unit,
When the response message including the identification information of the second device is received in response to the alive message from the second device, the identification information of the second device is mapped to the storage unit as mapping information in association with the assigned internal identifier. Device for storing.
상기 적어도 하나의 제1 참여자로부터 임의의 제2 참여자를 위해 할당된 내부 식별자에 대한 패킷이 수신되면, 상기 패킷의 내부 식별자에 대응하여 상기 제2 장치로 상기 패킷을 전송하되,
상기 제2 장치는,
상기 패킷의 내부 식별자를 기초로 식별되는 제2 참여자에게 상기 패킷을 전달하는 것을 특징으로 하는 장치. The method of claim 1, wherein the control unit,
When a packet for an internal identifier assigned for any second participant is received from the at least one first participant, the packet is transmitted to the second device in correspondence to the internal identifier of the packet,
The second device,
And deliver the packet to a second participant identified based on the internal identifier of the packet.
상기 제1 도메인과 상이한 제2 도메인의 제2 장치로 상기 제1 도메인을 구성하는 적어도 하나의 제1참여자에 대한 제1 탐색 메시지를 전송하는 단계;
상기 제2 장치로부터 상기 제2 도메인을 구성하는 적어도 하나의 제2 참여자에 대한 탐색 메시지가 수신되면, 상기 적어도 하나의 제2 참여자를 위한 상기 제1 도메인의 내부 식별자를 할당하는 단계;
상기 내부 식별자를 이용하여 상기 적어도 하나의 제1 참여자에게 상기 적어도 하나의 제2 참여자를 위한 제2 탐색 메시지를 전송하는 단계; 및
상기 내부 식별자를 이용하여 상기 적어도 하나의 제1 참여자 및 상기 적어도 하나의 제2 참여자 사이에서 송수신되는 패킷을 중개하기 위하여 상기 제2 장치와 통신하는 단계를 포함하되,
상기 제2 장치로 전송되는 상기 제1 탐색 메시지는,
상기 제2 장치가 상기 적어도 하나의 제1 참여자를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 이용되는 것을 특징으로 하는 방법. A method for data distribution service of a device constituting a first domain, the method comprising:
Transmitting a first discovery message for at least one first participant constituting the first domain to a second device of a second domain different from the first domain;
Allocating an internal identifier of the first domain for the at least one second participant when the discovery message for the at least one second participant constituting the second domain is received from the second device;
Sending a second discovery message for the at least one second participant to the at least one first participant using the internal identifier; And
Communicating with the second device to mediate packets transmitted and received between the at least one first participant and the at least one second participant using the internal identifier,
The first discovery message transmitted to the second device,
And the second device is used to assign an internal identifier of the second domain for the at least one first participant.
상기 제1 도메인에 대응하는 IP 주소 및 포트 번호 중 적어도 하나를 포함하는 것을 특징으로 하는 방법. The method of claim 6, wherein the internal identifier,
And at least one of an IP address and a port number corresponding to the first domain.
상기 제2 장치를 위한 내부 식별자를 할당하는 단계; 및
상기 제2 장치로 상기 장치의 식별 정보를 포함하는 얼라이브 메시지를 전송하는 단계를 더 포함하되,
상기 얼라이브 메시지는,
상기 제2 장치가 상기 장치를 위한 상기 제2 도메인의 내부 식별자를 할당하기 위해 전송되는 것을 특징으로 하는 방법. The method of claim 6, wherein before transmitting the first discovery message,
Assigning an internal identifier for the second device; And
The method may further include transmitting an alive message including the identification information of the device to the second device.
The alive message,
And wherein the second device is sent to assign an internal identifier of the second domain for the device.
상기 적어도 하나의 제1 참여자로부터 임의의 제2 참여자를 위해 할당된 내부 식별자에 대한 패킷이 수신되면, 상기 패킷의 내부 식별자에 대응하여 상기 제2 장치로 상기 패킷을 전송하는 단계를 포함하되,
상기 제2 장치는,
상기 패킷의 내부 식별자를 기초로 식별되는 제2 참여자에게 상기 패킷을 전달하는 것을 특징으로 하는 방법. The method of claim 6, wherein the communicating step,
If a packet for an internal identifier assigned for any second participant is received from the at least one first participant, transmitting the packet to the second device corresponding to the internal identifier of the packet,
The second device,
Delivering the packet to a second participant identified based on the internal identifier of the packet.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170176941A KR102025375B1 (en) | 2017-12-21 | 2017-12-21 | Apparatus and method for data distribution service, data distribution service system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020170176941A KR102025375B1 (en) | 2017-12-21 | 2017-12-21 | Apparatus and method for data distribution service, data distribution service system |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20190075391A KR20190075391A (en) | 2019-07-01 |
KR102025375B1 true KR102025375B1 (en) | 2019-09-26 |
Family
ID=67255663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020170176941A KR102025375B1 (en) | 2017-12-21 | 2017-12-21 | Apparatus and method for data distribution service, data distribution service system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102025375B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102030780B1 (en) * | 2019-08-07 | 2019-10-10 | 한화시스템(주) | Data distribution service system and its discovery method |
KR102439923B1 (en) * | 2020-11-17 | 2022-09-06 | (주)젠토 | Method for data distribution service using virtual device, data distribution service system |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101705797B1 (en) * | 2016-01-14 | 2017-02-10 | 충남대학교산학협력단 | System and method for endpoint discovery based on data distribution service |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20150009715A (en) * | 2013-07-17 | 2015-01-27 | 한국전자통신연구원 | Method and apparatus for deciding participant discovery message period in DDS middleware communication |
KR102152116B1 (en) * | 2013-12-26 | 2020-09-07 | 한국전자통신연구원 | Virtual object generating apparatus and method for data distribution service(dds) communication in multiple network domains |
-
2017
- 2017-12-21 KR KR1020170176941A patent/KR102025375B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101705797B1 (en) * | 2016-01-14 | 2017-02-10 | 충남대학교산학협력단 | System and method for endpoint discovery based on data distribution service |
Also Published As
Publication number | Publication date |
---|---|
KR20190075391A (en) | 2019-07-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220070095A1 (en) | Data transmission method and apparatus, network adapter, and storage medium | |
US8024469B1 (en) | System and method for connecting network sockets between applications | |
US8650326B2 (en) | Smart client routing | |
US8386614B2 (en) | Network connection manager | |
US20100008260A1 (en) | Method for configuring control tunnel and direct tunnel in ipv4 network-based ipv6 service providing system | |
CN105553977A (en) | Request message processing and transmitting method and device | |
CN103781055A (en) | Data downloading method and associated device | |
KR20120071576A (en) | Method, device and system for real-time publish subscribe discovery based on distributed hash table | |
US9072078B2 (en) | Method and mobile communication system capable of establishing peer-to-peer transmission | |
US20150088995A1 (en) | Method and apparatus for sharing contents using information of group change in content oriented network environment | |
Nordström et al. | Haggle: Opportunistic mobile content sharing using search | |
CN107580079A (en) | A kind of message transmitting method and device | |
KR101157039B1 (en) | Dds bridge communication system and method | |
WO2021056738A1 (en) | Distributed system nat traversal method, apparatus, and device, and storage medium | |
WO2022042235A1 (en) | Data packet sending method and apparatus, data packet processing method and apparatus, device, and data packet | |
KR102025375B1 (en) | Apparatus and method for data distribution service, data distribution service system | |
US8650313B2 (en) | Endpoint discriminator in network transport protocol startup packets | |
CN110784489B (en) | Secure communication system and method thereof | |
US7889705B2 (en) | Mobile terminal and method for notifying access router of IP address in wireless network | |
US20140201262A1 (en) | User device, communication server and control method thereof | |
US10333892B2 (en) | Network communication system and network-traversal method | |
KR102137118B1 (en) | Method and apparatus for data distribution service, data distribution service system | |
KR102439923B1 (en) | Method for data distribution service using virtual device, data distribution service system | |
US10826952B2 (en) | Conference access method and terminal for performing the same | |
JP2010146246A (en) | Framework computer program for multi-agent system, network system and inter-agent communication method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right |