KR102339661B1 - Gateway Devices For DDS - Google Patents

Gateway Devices For DDS Download PDF

Info

Publication number
KR102339661B1
KR102339661B1 KR1020180115467A KR20180115467A KR102339661B1 KR 102339661 B1 KR102339661 B1 KR 102339661B1 KR 1020180115467 A KR1020180115467 A KR 1020180115467A KR 20180115467 A KR20180115467 A KR 20180115467A KR 102339661 B1 KR102339661 B1 KR 102339661B1
Authority
KR
South Korea
Prior art keywords
dds
data
subscriber
gateway
publisher
Prior art date
Application number
KR1020180115467A
Other languages
Korean (ko)
Other versions
KR20200036181A (en
Inventor
김성호
신동군
김성민
Original Assignee
(주)구름네트웍스
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)구름네트웍스 filed Critical (주)구름네트웍스
Priority to KR1020180115467A priority Critical patent/KR102339661B1/en
Publication of KR20200036181A publication Critical patent/KR20200036181A/en
Application granted granted Critical
Publication of KR102339661B1 publication Critical patent/KR102339661B1/en

Links

Images

Classifications

    • H04L67/2842
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2854Wide area networks, e.g. public data networks
    • H04L12/2856Access arrangements, e.g. Internet access
    • H04L12/2863Arrangements for combining access network resources elements, e.g. channel bonding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • H04L67/2861
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable

Abstract

본 발명은 DDS를 위한 게이트웨이 장치에 관한 것이다. 더욱 자세하게 본 발명은 데이터 캐시(Data Cache)를 DDS 게이트웨이에 반영하여 DDS 데이터 전송측인 Publisher에서 전송한 데이터를 상기 DDS 게이트웨이의 데이터 캐시에 저장하고, WAN 환경에서 DDS 데이터 전송시 발생한 데이터 유실에 대하여 DDS 데이터 전송측인 Publisher가 아닌 데이터 캐시가 구축된 DDS 게이트웨이단에서 DDS 데이터 송신측인 Subscriber으로 데이터를 전송하여 데이터 재전송시 발생하는 지연을 단축시키고, 메시지 전송률을 증가시키는 발명을 제공하는데 그 목적이 있다.The present invention relates to a gateway device for DDS. In more detail, the present invention reflects the data cache in the DDS gateway, stores the data transmitted by the publisher, which is the DDS data transmission side, in the data cache of the DDS gateway, and prevents data loss occurring during DDS data transmission in a WAN environment. The purpose is to provide an invention that reduces the delay that occurs during data retransmission and increases the message transmission rate by transmitting data from the DDS gateway end where the data cache is built, not the Publisher, which is the DDS data transmission side, to the Subscriber, the DDS data transmission side. have.

Description

DDS를 위한 게이트웨이 장치{Gateway Devices For DDS}Gateway Devices For DDS

본 발명은 DDS를 위한 게이트웨이 장치에 관한 것이다.The present invention relates to a gateway device for DDS.

큰 규모의 네트워크 중심 시스템에서는 실시간 정보의 유통이 매우 중요한 요소가 된다.In a large-scale network-centric system, the distribution of real-time information becomes a very important factor.

유비쿼터스 환경에서는 다수의 디바이스들이 동적으로 연동되어 하나의 네트워크 도메인을 형성하고 데이터를 교환하는 경우가 번번히 일어난다. 이러한 환경에서는 중앙 서버를 이용하는 서버/클라이언트 방식의 통신 기법보다는 도메인에 참여하는 디바이스들간의 대등한 N:N 통신 기법을 이용하는 서버/클라이언트 방식의 통신 기법보다는 도메인에 참여하는 디바이스들간의 대등한 N:N 통신 기법을 이용하는 것이 효율적이다.In a ubiquitous environment, a number of devices are dynamically interlocked to form a single network domain and exchange data frequently. In such an environment, the equivalent N between devices participating in the domain rather than the server/client type communication technique using the server/client type communication technique that uses the equal N:N communication technique between devices participating in the domain rather than the server/client type communication technique using the central server: It is efficient to use the N communication technique.

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

이러한 DDS는 국제 표준으로 정한 실시간 데이터 분배 미들웨어로서, 기존 DDS 기술은 LAN(Local Area Network) 환경에서 전송을 지원하였으나, 최근에는 DDS 게이트웨이(Gateway)와 같은 장치를 통해 WAN(Wide Area Network)에서도 사용이 가능하여 큰 규모의 네트워크 중심 시스템에서 실시간 정보의 유통시 매우 중요한 요소로 작용되고 있다.This DDS is a real-time data distribution middleware defined as an international standard, and the existing DDS technology supported transmission in a LAN (Local Area Network) environment, but recently it is also used in WAN (Wide Area Network) through devices such as DDS gateways. Because this is possible, it is acting as a very important factor when distributing real-time information in a large-scale network-centric system.

그러나, 상기 DDS 게이트웨이와 같은 데이터 전달 방식에서 데이터 손실의 문제점과 데이터 요청시간과 데이터 응답시간의 시간지연의 문제점 및 데이터 전송률이 감소하는 문제점이 야기되고 있다. However, in the data transfer method such as the DDS gateway, there are problems of data loss, a problem of delay in data request time and data response time, and a problem of a decrease in data transmission rate.

본 발명은 상기한 바와 같은 문제점을 해결하고자 안출된 것으로, 데이터 캐시(Data Cache)를 DDS 게이트웨이에 반영하여 DDS 데이터 전송측인 Publisher에서 전송한 데이터를 상기 DDS 게이트웨이의 데이터 캐시에 저장하고, WAN 환경에서 DDS 데이터 전송시 발생한 데이터 유실에 대하여 DDS 데이터 전송측인 Publisher가 아닌 데이터 캐시가 구축된 DDS 게이트웨이단에서 DDS 데이터 송신측인 Subscriber으로 데이터를 전송하여 데이터 재전송시 발생하는 지연을 단축시키고, 메시지 전송률을 증가시키는 발명을 제공하는데 그 목적이 있다.The present invention has been devised to solve the above-described problems, and by reflecting the data cache in the DDS gateway, the data transmitted by the publisher, which is the DDS data transmission side, is stored in the data cache of the DDS gateway, and the WAN environment In response to data loss that occurred during DDS data transmission in An object of the present invention is to provide an invention that increases the

상기한 바와 같은 과제를 해결하기 위한 본 발명의 바람직한 실시양태에 따른 DDS를 위한 게이트웨이 장치는, 데이터를 발간하는 적어도 하나 이상의 발간 노드인 Publisher들과 데이터를 구독하는 적어도 하나 이상의 구독 노드인 Subscriber들이 모여서 하나의 도메인을 설정하고, 서로 약속한 타입의 데이터 샘플을 낮은 속도의 무선 LAN과 고속 광역 네트워크인 WAN을 상호 연결 시켜 멀티캐스트 방식으로 분배하되, 도메인에 참여한 모든 참가자들인 Publisher와 Subscriber이 실시간으로 발간 및 구독하는 데이터에 대해 동일한 정보를 저장, 검색 또는 관리하기 위해 데이터베이스인 DDS Data Cache를 구축하고, 시스템 성능의 저하를 방지하기 위해 오프로드 엔진인 DDS Offload Engine을 구비하는 DDS를 위한 게이트웨이 장치를 제공한다.A gateway device for DDS according to a preferred embodiment of the present invention for solving the above-described problems, at least one or more publishing nodes that publish data and Subscribers, which are at least one or more subscription nodes that subscribe to data, gather Set up one domain, and distribute data samples of the promised type by interconnecting low-speed wireless LAN and high-speed wide area network, WAN, in a multicast method. and DDS Data Cache, a database to store, retrieve, or manage the same information for subscribed data, and provide a gateway device for DDS with DDS Offload Engine, an offload engine, to prevent system performance degradation do.

본 발명의 실시 예에 따르면, DDS Gateway에 DDS Data Cache를 구축하여 데이터 캐시의 관리를 통해 데이터 재전송시 발생하는 지연을 단축시킬 수 있으며, 이로 인해 메시지 전송량을 증가시키는 DDS를 위한 게이트웨이 장치를 제공할 수 있다.According to an embodiment of the present invention, by building a DDS Data Cache in the DDS Gateway, it is possible to reduce the delay occurring during data retransmission through data cache management, thereby providing a gateway device for DDS that increases the amount of message transmission. can

또한, DDS Gateway에 DDS Offload Engine을 구축하여 물리적 메모리의 한계와 시스템 성능의 저하를 방지하는 DDS를 위한 게이트웨이 장치를 제공할 수 있다.In addition, it is possible to provide a gateway device for DDS that prevents physical memory limitations and system performance degradation by building DDS Offload Engine in the DDS Gateway.

도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 도면이다.
도 2는 본 발명의 실시 예에 따른 Publisher의 구성요소를 도시한 블록도이다.
도 3은 본 발명의 실시 예에 따른 Subscriber의 구성요소를 도시한 블록도이다.
도 4는 본 발명의 실시 예에 따른 DDS를 위한 게이트웨이 장치의 구동을 설명하기 위한 흐름도이다.
1 is a diagram schematically illustrating an entire system according to an embodiment of the present invention.
2 is a block diagram illustrating components of a Publisher according to an embodiment of the present invention.
3 is a block diagram illustrating components of a Subscriber according to an embodiment of the present invention.
4 is a flowchart for explaining the operation of a gateway device for DDS according to an embodiment of the present invention.

이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.The following is merely illustrative of the principles of the invention. Therefore, those skilled in the art will be able to devise various devices that, although not explicitly described or shown herein, embody the principles of the present invention and are included within the spirit and scope of the present invention. Further, it is to be understood that all conditional terms and examples listed herein are, in principle, expressly intended solely for the purpose of enabling the concept of the present invention to be understood, and not limited to the specifically enumerated embodiments and states as such. should be

또한, 본 발명의 원리, 관점 및 실시예들 뿐만 아니라 특정 실시예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.Moreover, it is to be understood that all detailed description reciting the principles, aspects, and embodiments of the invention, as well as specific embodiments, are intended to cover structural and functional equivalents of such matters. It should also be understood that such equivalents include not only currently known equivalents, but also equivalents developed in the future, i.e., all devices invented to perform the same function, regardless of structure.

따라서, 예를 들어, 본 명세서의 블럭도는 본 발명의 원리를 구체화하는 예시적인 회로의 개념적인 관점을 나타내는 것으로 이해되어야 한다. 이와 유사하게, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.Thus, for example, the block diagrams herein are to be understood as representing conceptual views of illustrative circuitry embodying the principles of the present invention. Similarly, all flowcharts, state transition diagrams, pseudo code, etc. may be tangibly embodied on computer-readable media and be understood to represent various processes performed by a computer or processor, whether or not a computer or processor is explicitly shown. should be

또한 프로세서, 제어 또는 이와 유사한 개념으로 제시되는 용어의 명확한 사용은 소프트웨어를 실행할 능력을 가진 하드웨어를 배타적으로 인용하여 해석되어서는 아니되고, 제한 없이 디지털 신호 프로세서(DSP) 하드웨어, 소프트웨어를 저장하기 위한 롬(ROM), 램(RAM) 및 비 휘발성 메모리를 암시적으로 포함하는 것으로 이해되어야 한다. 주지관용의 다른 하드웨어도 포함될 수 있다.In addition, the clear use of terms presented as processor, control, or similar concepts should not be construed as exclusively referring to hardware having the ability to execute software, and without limitation, digital signal processor (DSP) hardware, ROM for storing software. It should be understood to implicitly include (ROM), RAM (RAM) and non-volatile memory. Other common hardware may also be included.

상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.The above objects, features and advantages will become more apparent through the following detailed description in relation to the accompanying drawings, and accordingly, those of ordinary skill in the art to which the present invention pertains can easily implement the technical idea of the present invention. There will be. In addition, in the description of the present invention, if it is determined that a detailed description of a known technology related to the present invention may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 일실시예를 상세히 설명하기로 한다.Hereinafter, a preferred embodiment according to the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 실시 예에 따른 전체 시스템을 개략적으로 도시한 도면이다. 1 is a diagram schematically illustrating an entire system according to an embodiment of the present invention.

도 1을 참조하면 본 발명의 일 실시예에 따른 시스템은 적어도 복수의 DDS 데이터 전송측인 Publisher(100)와 DDS Gateway(200) 및 복수의 DDS 데이터 수신측인 Subscriber(300)을 포함한다.Referring to FIG. 1 , the system according to an embodiment of the present invention includes at least a plurality of DDS data transmission sides, a Publisher 100 , and a DDS Gateway 200 , and a plurality of DDS data receiving sides, a Subscriber 300 .

DDS(Data Distribution Service)는 데이터 중심의 실시간 데이터 분배를 목적으로 OMG에서 정의되었다. 이러한 DDS는 도메인(Domain)에 속한 불특정 다수에게 데이터 발간과 구독이 가능하다.DDS (Data Distribution Service) was defined by OMG for the purpose of data-centric real-time data distribution. This DDS enables data publication and subscription to an unspecified number of people belonging to a domain.

상기 도메인(Domain) 내의 노드들이 동일한 타입의 데이터를 빈번하게 교환할 경우, 데이터 중심 통신(Data Centric Communication) 기법이 적합하다. 또한 도메인에 참여하는 노드들의 수가 많고, 등록과 등록 해제가 이루어지는 경우에는 응용 프로그램에서 데이터를 교환할 상대를 찾고 맺는 서버/클라이언트 방식보다는 상대에 대한 인지 없이 자신이 원하는 데이터를 발간하고 구독하는 방식의 데이터 교환이 더 효율적이다. 본 발명에서는 데이터를 발간하는 적어도 하나 이상의 발간 노드(Publisher, 100)들과 데이터를 구독하는 적어도 하나 이상의 구독 노드(Subscriber, 300)들이 모여서 하나의 도메인을 설정하고 서로 약속한 타입의 데이터 샘플을 낮은 속도의 무선 LAN과 고속 광역 네트워크인 WAN을 상호 연결 시키는 DDS Gateway(200)를 통해 멀티캐스트 방식으로 분배한다.When nodes within the domain frequently exchange the same type of data, a data-centric communication technique is suitable. In addition, when the number of nodes participating in the domain is large and registration and deregistration are made, the method of publishing and subscribing the desired data without recognizing the partner is rather than the server/client method in which the application program finds and enters data exchange partners. Data exchange is more efficient. In the present invention, at least one or more publishing nodes (Publisher, 100) that publish data and at least one or more subscription nodes (Subscriber, 300) subscribing to data gather to set up one domain and reduce the data sample of the mutually promised type It is distributed in a multicast method through the DDS Gateway 200 that interconnects the high-speed wireless LAN and the high-speed wide area network WAN.

이때, 도메인 내의 발간 노드인 Publisher(100)는 DataWriter을 통해 지속적으로 토픽을 발간하고, 구독 노드인 (Subscriber)는 미리 정한 토픽을 DataReader를 통해 지속적으로 구독한다.At this time, the publisher 100, a publishing node in the domain, continuously publishes a topic through a DataWriter, and a subscription node (Subscriber) continuously subscribes to a predetermined topic through a DataReader.

도메인에 참여한 모든 참가자들(Participants : 토픽을 발간하는 엔터티인 Publisher와 구독하는 엔터티인 Subscriber)이 실시간으로 발간, 구독하는 토픽에 대해 동일한 정보를 저장, 검색 또는 관리하기 위해서는 데이터베이스를 적용할 필요가 있는데, 도메인 내의 엔터티들은 실시간으로 대량의 토픽을 생성하기 때문에 DDS Gateway(200)에서 이러한 관리를 위해 DDS Data Cache(220)를 구비할 수 있다.In order for all participants (Participants: the entity that publishes the topic, the Publisher, and the Subscriber, the subscribing entity) participating in the domain to store, search, or manage the same information on the topic published and subscribed in real time, it is necessary to apply a database. , since entities in the domain create a large number of topics in real time, the DDS Gateway 200 may include the DDS Data Cache 220 for such management.

이때, DDS Data Cache(220)에는 수많은 정보들이 저장되기 때문에 물리적 메모리의 한계가 발생할 수 있고, 시스템의 성능이 저하될 수 있다. 따라서, 본 발명의 실시예에서는 DDS Gateway(200)에 DDS Offload Engine(210)을 설계하여 이러한 문제점을 개선할 수 있다.At this time, since a lot of information is stored in the DDS Data Cache 220 , a limitation of physical memory may occur and the performance of the system may be deteriorated. Therefore, in the embodiment of the present invention, this problem can be improved by designing the DDS Offload Engine 210 in the DDS Gateway 200 .

상기 DDS Offload Engine(210)의 구현은 오프로드 정도에 따라 크게 두가지 형태로 나뉠 수 있는데, DDS의 일부 기능을 하드웨어로 구현하는 부분적 오프로딩(Partial Offloading)과 모든 기능을 구현하는 전체 오프로딩(Full Offloading) 방법이 있다. 일반적으로 부분적 오프로딩을 데이터 패스 오프로딩(Data path offloading)이라 부르며, 이는 DDS 데이터 송수신에 관련된 기능만을 하드웨어로 구현한다. 반면 전체 오프로딩은 데이터 송수신 기능뿐만 아니라 타임아웃, 오류 처리, 혼잡 제어, 슬라이딩 윈도 제어, ACK 및 NACK 처리 등과 같은 다양한 제어 기능들까지 모든 DDS 기능을 하드웨어로 구현한다.The implementation of the DDS Offload Engine 210 can be largely divided into two types depending on the degree of offload. Partial offloading, which implements some functions of DDS as hardware, and Full offloading, which implements all functions of the DDS Offload Engine 210 Offloading) is the way to go. In general, partial offloading is called data path offloading, which implements only functions related to DDS data transmission/reception in hardware. On the other hand, full offloading implements all DDS functions in hardware, not only data transmission/reception functions, but also various control functions such as timeout, error handling, congestion control, sliding window control, ACK and NACK processing, etc.

본 발명에서는 부분적 오프로딩(Partial Offloading) 방법을 채택하되, DDS Offload Engine(210)에 데이터를 송수신할 수 있는 DDS Data(211) 모듈을 구축하고, 데이터 송수신 시 ACK 및 NACK 처리 기능을 함께 수행할 수 있는 DDS AckNack(212) 모듈을 구축할 수 있다. 본 발명에서는 부분적 오프로딩을 예로 설명하였지만 설계에 따라 전체 오프로딩(Full Offloading) 방법이 사용될 수 있음은 물론이다.In the present invention, a partial offloading method is adopted, but a DDS Data 211 module capable of transmitting and receiving data is built in the DDS Offload Engine 210, and ACK and NACK processing functions are performed together when transmitting and receiving data. It is possible to build a DDS AckNack (212) module that can Although partial offloading has been described as an example in the present invention, it goes without saying that a full offloading method may be used depending on the design.

상기 DDS Data(211)는 Publisher(100)에서 전송하는 데이터를 DDS Data Cache(220)에 전달하는 기능과 전달된 데이터를 Subscriber(300)로 전송하는 기능을 수행하고, DDS AckNack(212)의 응답문자 결과에 따라 DDS Data Cache(220)에 저장된 데이터를 전달받거나 Publisher(100)로부터 재전송된 데이터를 수신받아 Subscriber(300)로 데이터를 재전송하는 기능을 수행한다. DDS AckNack(212)은 Subscriber(300)에서 전송하는 응답문자를 DDS Data Cache(220)에 전달할 수 있고, Subscriber(300)에서 데이터 수신실패 응답문자가 전송된 경우, DDS Data Cache(220)로 이를 전달하여 DDS Data(211)에서 Subscriber(300)로 데이터를 재전송할 수 있도록 하는 기능을 수행할 수 있다.The DDS Data 211 performs a function of transmitting data transmitted from the Publisher 100 to the DDS Data Cache 220 and a function of transmitting the transmitted data to the Subscriber 300, and the response of the DDS AckNack 212 is Depending on the text result, it receives data stored in the DDS Data Cache 220 or receives retransmitted data from the Publisher 100 and performs a function of retransmitting the data to the Subscriber 300 . The DDS AckNack (212) can deliver the response text transmitted from the Subscriber (300) to the DDS Data Cache (220). It is possible to perform a function of retransmitting data from the DDS Data 211 to the Subscriber 300 by transferring it.

예를 들어, Publisher(100)에서 전송한 데이터는 DDS Data(210)를 통해 DDS Data Cache(220)에 전달되고, Subscriber(300)으로 전송된다. Subscriber(300)은 데이터를 수신받은 뒤, 수신성공 또는 수신실패 응답문자를 DDS AckNack(212)으로 전송하고, 상기 DDS AckNack(212)은 Subscriber(300)가 수신실패 응답문자를 전송한 경우, 이를 DDS Data Cache(220)에 전달하여 DDS Data(211)에서 Subscriber(300)로 데이터를 재전송할 수 있게 한다. For example, data transmitted from the Publisher 100 is transmitted to the DDS Data Cache 220 through the DDS Data 210 and transmitted to the Subscriber 300 . After receiving the data, the Subscriber 300 transmits a reception success or reception failure response letter to the DDS AckNack 212, and the DDS AckNack 212. When the Subscriber 300 transmits a reception failure response letter, this It is transmitted to the DDS Data Cache 220 so that data can be retransmitted from the DDS Data 211 to the Subscriber 300 .

이때, 만약 DDS Data Cache(220)에 해당 데이터가 없을 경우에는 DDS AckNack(212)에서 다시 Publisher(100)로 응답문자를 전송하여 Publisher(100)에서 데이터를 재전송 할 수 있게한다.At this time, if there is no corresponding data in the DDS Data Cache 220 , the DDS AckNack 212 transmits a response text back to the Publisher 100 so that the Publisher 100 can retransmit the data.

도 2는 본 발명의 실시 예에 따른 Publisher의 구성을 보다 구체적으로 도시한 블록도이다.2 is a block diagram showing the configuration of a Publisher according to an embodiment of the present invention in more detail.

도 2를 참조하면 Publisher(100)는 적어도 통신부(110), 데이터 전송부(120) 및 데이터 재전송부(130)를 포함한다.Referring to FIG. 2 , the publisher 100 includes at least a communication unit 110 , a data transmission unit 120 , and a data retransmission unit 130 .

통신부(110)는 데이터를 발간하는 적어도 하나 이상의 발간 노드인 Publisher(100)에서 DDS Gateway(200)로 데이터 송신 및 DDS Gateway(200)로부터 응답문자 수신을 매개하는 수단이다. 통신부(110)가 DDS Gateway(200)와 통신하는 방식은 다양한 형태의 유무선 통신 방식을 포함할 수 있다. 예를 들어, 통신부(110)는 케이블이나 선로 또는 전력선 등으로 연결되어 유선통신을 수행하거나, 근거리 통신, 무선 랜 통신, 이동통신 및 데이터 통신 등을 포함하는 무선통신을 수행할 수 있다.The communication unit 110 is a means for mediating data transmission from the Publisher 100 , which is at least one publishing node that publishes data, to the DDS Gateway 200 and reception of a response text from the DDS Gateway 200 . A method in which the communication unit 110 communicates with the DDS Gateway 200 may include various types of wired/wireless communication methods. For example, the communication unit 110 may be connected to a cable, line, or power line to perform wired communication, or may perform wireless communication including short-distance communication, wireless LAN communication, mobile communication, and data communication.

데이터 전송부(120)는 데이터를 발간하는 구성요소로서, 발간된 데이터를 상기 통신부(110)를 통해 DDS Gateway(200)로 보급하는 기능을 수행한다.The data transmission unit 120 is a component that publishes data, and performs a function of distributing the published data to the DDS Gateway 200 through the communication unit 110 .

이때, 상기 데이터는 적어도 데이터 정보 및 데이터 전송 시간을 포함하여 구성될 수 있으며, 상기 데이터 정보는 동일한 데이터 타입을 가진 토픽이 존재할 수 있으므로 데이터 토픽의 개별 ID와 개별 키를 포함하여 구성될 수 있다.In this case, the data may include at least data information and data transmission time, and since topics having the same data type may exist, the data information may include individual IDs and individual keys of data topics.

데이터 재전송부(130)는 DDS Gateway(200)에서 데이터 수신실패 응답문자를 수신받은 경우, 데이터 전송부(120)를 통해 발간된 데이터를 다시 DDS Gateway(200)로 전송하는 기능을 수행한다.The data retransmission unit 130 performs a function of transmitting the data published through the data transmission unit 120 back to the DDS gateway 200 when a data reception failure response letter is received from the DDS gateway 200 .

도 3은 본 발명의 실시 예에 따른 Subscriber의 구성을 보다 구체적으로 도시한 블록도이다.3 is a block diagram showing the configuration of a Subscriber according to an embodiment of the present invention in more detail.

도 3을 참조하면 Subscriber(300)는 적어도 통신부(310), 데이터 수신부(320) 및 응답문자 전송부(330)를 포함한다.Referring to FIG. 3 , the Subscriber 300 includes at least a communication unit 310 , a data receiving unit 320 , and a response text transmission unit 330 .

통신부(310)는 DDS Gateway(200)에서 전송한 데이터를 수신하고 Subscriber(300)에서 생성된 응답문자를 DDS Gateway(200)로 전송하는 기능을 수행한다. The communication unit 310 receives data transmitted from the DDS Gateway 200 and performs a function of transmitting the response text generated by the Subscriber 300 to the DDS Gateway 200 .

상기 통신부(310)는 상술한 도 2의 Publisher(100)의 통신부(110)와 동일한 유무선 통신 방식을 사용할 수 있다.The communication unit 310 may use the same wired/wireless communication method as the communication unit 110 of the Publisher 100 of FIG. 2 described above.

데이터 수신부(320)는 데이터를 구독하는 구성요소로서, DDS Gateway(200)로부터 보급된 Publisher(100)가 발간한 데이터를 구독하는 기능을 수행한다.The data receiving unit 320 is a data subscribing component, and performs a function of subscribing to data published by the Publisher 100 distributed from the DDS Gateway 200 .

응답문자 전송부(330)는 상기 데이터 수신부(320)를 통해 데이터가 구독된 경우, 데이터 수신에 대한 여부를 판단할 수 있는 응답문자를 생성하고, 상기 응답문자를 DDS Gateway(200)로 전송하는 기능을 수행한다.When data is subscribed through the data receiving unit 320, the response text transmitter 330 generates a response text that can determine whether data is received, and transmits the response text to the DDS Gateway 200 perform the function

이때, 상기 응답문자는 구독자가 데이터 수신에 성공했다는 신호인 액크(ACK : ACKnowledge) 응답문자 또는 구독자가 데이터 수신에 실패했다는 신호인 낵크(NACK : Negative Acknowledge) 응답문자를 포함할 수 있다.In this case, the response text may include an ACK (ACKnowledge) response text that is a signal that the subscriber has successfully received data or a NACK (Negative Acknowledge) response text that is a signal that the subscriber has failed to receive data.

도 4는 본 발명의 실시 예에 따른 발명의 방법을 설명하기 위한 흐름도이다.4 is a flowchart for explaining an inventive method according to an embodiment of the present invention.

우선, Publisher(100)는 DataWriter를 통해 지속적으로 토픽을 발간하고, 이러한 토픽, 즉 데이터를 DDS Gateway(200)로 전송한다(S510).First, the Publisher 100 continuously publishes a topic through the DataWriter, and transmits the topic, that is, data to the DDS Gateway 200 (S510).

Publisher(100)에서 전송한 데이터는 DDS Gateway(200)에 구축된 DDS Offloading Engine(210)의 DDS Data(211)를 통해 수신받고, 이를 DDS Data Cache(220)에 저장하며, 저장된 데이터를 Subscriber(300)로 전송한다(S520, S530).The data transmitted from the Publisher 100 is received through the DDS Data 211 of the DDS Offloading Engine 210 built in the DDS Gateway 200, it is stored in the DDS Data Cache 220, and the stored data is transferred to the Subscriber ( 300) (S520, S530).

Subscriber(300)은 DDS Gateway(200)로부터 전송된 데이터를 데이터 수신부(320)를 통해 수신받아 토픽을 구독하고, 응답문자 전송부(330)에서 상기 구독한 토픽, 즉 데이터에 대한 데이터 수신 여부를 판단하여 ACK 또는 NACK의 응답문자를 생성하여 DDS Gateway(200)의 DDS AckNack(212)으로 전송하는 기능을 수행한다(S540).Subscriber 300 receives the data transmitted from the DDS Gateway 200 through the data receiving unit 320 and subscribes to the topic, and the reply text transmission unit 330 determines whether data is received on the subscribed topic, that is, data. It determines and performs a function of generating an ACK or NACK response character and transmitting it to the DDS AckNack 212 of the DDS Gateway 200 (S540).

다음으로, DDS AckNack(212)는 응답문자가 수신실패 모드인지 판단한다(S550).Next, the DDS AckNack 212 determines whether the response text is in the reception failure mode (S550).

만약, 상기 DDS AckNack(212)에서 Subscriber(300)로부터 수신실패 응답문자를 수신받은 경우, 이를 DDS Data Cache(220)에 전달하고, 수신실패한 데이터가 상기 DDS Data Cache(220)에 기저장되어 있는 데이터인지 판단한다(S560).If the DDS AckNack 212 receives a reception failure response letter from the Subscriber 300, it is transferred to the DDS Data Cache 220, and the data that has failed to be received is stored in the DDS Data Cache 220 in advance. It is determined whether it is data (S560).

DDS Gateway(200)의 DDS Data Cache(220)에 데이터가 저장되어 있는 경우, DDS Data(211)에서 상기 DDS DAta Cache(220)에 저장된 데이터를 Subscriber(300)에 전송하고(S570), DDS Gateway(200)의 DDS Data Cache(220)에 데이터가 저장되어 있지 않은 경우, Publisher(100)에서 Subscriber(300)로 데이터를 재전송하도록 한다(S580).When data is stored in the DDS Data Cache 220 of the DDS Gateway 200, the DDS Data 211 transmits the data stored in the DDS DAta Cache 220 to the Subscriber 300 (S570), and the DDS Gateway If data is not stored in the DDS Data Cache 220 of 200 , the data is retransmitted from the Publisher 100 to the Subscriber 300 ( S580 ).

이상에서, 본 발명의 실시예를 구성하는 모든 구성 요소들이 하나로 결합되거나 결합되어 동작하는 것으로 설명되었다고 해서, 본 발명이 반드시 이러한 실시예에 한정되는 것은 아니다. 즉, 본 발명의 목적 범위 안에서라면, 그 모든 구성 요소들이 하나 이상으로 선택적으로 결합하여 동작할 수도 있다. 이상의 발명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.In the above, even though all the components constituting the embodiment of the present invention are described as being combined or operated in combination, the present invention is not necessarily limited to this embodiment. That is, within the scope of the object of the present invention, all the components may operate by selectively combining one or more. The above invention is merely illustrative of the technical idea of the present invention, and various modifications and variations will be possible without departing from the essential characteristics of the present invention by those skilled in the art to which the present invention pertains. The protection scope of the present invention should be construed by the following claims, and all technical ideas within the scope equivalent thereto should be construed as being included in the scope of the present invention.

100 : Publisher
110 : 통신부
120 : 데이터 전송부
130 : 데이터 재전송부
200 : DDS Gateway
210 : DDS Offload Engine
211 : DDS AckNack
212 : DDS Data
220 : DDS Data Cache
300 : Subscriber
310 : 통신부
320 : 데이터 수신부
330 : 응답문자 전송부
100 : Publisher
110: communication department
120: data transmission unit
130: data retransmission unit
200 : DDS Gateway
210 : DDS Offload Engine
211 : DDS AckNack
212 : DDS Data
220 : DDS Data Cache
300 : Subscriber
310: communication department
320: data receiving unit
330: response text transmission unit

Claims (6)

데이터를 발간하는 적어도 하나 이상의 발간 노드인 Publisher와 데이터를 구독하는 적어도 하나 이상의 구독 노드인 Subscriber가 모여서 하나의 도메인을 설정하고, 서로 약속한 타입의 데이터 샘플을 낮은 속도의 무선 LAN과 고속 광역 네트워크인 WAN을 상호 연결 시켜 멀티캐스트 방식으로 분배하며, 상기 Publisher와 Subscriber가 실시간으로 발간 및 구독하는 데이터에 대해 동일한 정보를 저장, 검색 관리하기 위해 구축된 DDS Data Cache 및 시스템 성능의 저하를 방지하기 위해 구비된 DDS Offload Engine를 포함하는 DDS를 위한 게이트웨이 장치에 있어서,
상기 DDS Offload Engine은 데이터를 송수신할 수 있는 DDS Data 모듈 및 데이터 송수신 시 ACK 및 NACK 처리 기능을 수행할 수 있는 DDS AckNack 모듈을 포함하되,
상기 DDS Data 모듈은 DDS AckNack 모듈로부터 수신실패 응답문자를 전달받을 경우, 이를 DDS Data Cache에 전달하고, 상기 DDS Data Cache는 수신실패 응답문자에 해당하는 수신실패 데이터가 기저장되어 있을 경우 이를 DDS Data 모듈를 통해 Subscriber로 전송하며, 수신실패 데이터가 기저장되어 있지 않은 경우 DDS Data 모듈을 통해 Publisher로 수신실패 응답문자를 전송하는 DDS를 위한 게이트웨이 장치.
At least one publishing node that publishes data, and Subscriber, which is at least one subscription node subscribing to data, gather to set up one domain, and send data samples of the promised type to each other through a low-speed wireless LAN and high-speed wide area network. The WAN is interconnected and distributed in a multicast method, and the DDS Data Cache, which is built to store, search and manage the same information for the data published and subscribed by the publisher and subscriber in real time, is provided to prevent degradation of system performance. In the gateway device for DDS including the DDS Offload Engine,
The DDS Offload Engine includes a DDS Data module capable of transmitting and receiving data and a DDS AckNack module capable of performing ACK and NACK processing functions during data transmission and reception,
When the DDS Data module receives a reception failure response text from the DDS AckNack module, it delivers it to the DDS Data Cache, and the DDS Data Cache stores reception failure data corresponding to the reception failure response text in the DDS Data A gateway device for DDS that transmits to the Subscriber through the module and transmits the reception failure response text to the Publisher through the DDS Data module if the reception failure data is not stored in advance.
제 1 항에 있어서,
상기 DDS Offload Engine은,
DDS의 일부 기능을 하드웨어로 구현하는 부분적 오프로딩(Partial Offloading) 방법으로 구현되는 것을 특징으로 하는 DDS를 위한 게이트웨이 장치.
The method of claim 1,
The DDS Offload Engine,
A gateway device for DDS, characterized in that it is implemented as a partial offloading method in which some functions of the DDS are implemented in hardware.
제 1 항에 있어서,
상기 DDS Data 모듈은, Publisher로부터 전송된 데이터를 수신받고, 상기 데이터를 DDS Data Cache에 전달하며, 전달한 데이터를 다시 Subscriber로 전송하고, 상기 DDS AckNack 모듈은, Subscriber로부터 전송된 데이터 수신에 따른 응답문자를 수신받고, 상기 응답문자를 DDS Data 모듈에 전달하여 데이터 재전송여부를 결정하는 것을 특징으로 하는 DDS를 위한 게이트웨이 장치.
The method of claim 1,
The DDS Data module receives the data transmitted from the Publisher, delivers the data to the DDS Data Cache, and transmits the transmitted data back to the Subscriber, and the DDS AckNack module responds to the reception of the data transmitted from the Subscriber. A gateway device for DDS, characterized in that it receives and transmits the response text to the DDS Data module to determine whether to retransmit data.
삭제delete 삭제delete 제 1 항에 있어서,
Publisher는 DDS Gateway로부터 수신실패 응답문자를 수신받은 경우, 상기 수신실패 응답문자에 해당하는 수신실패 데이터를 DDS Gateway로 재전송하는 것을 특징으로 하는 DDS를 위한 게이트웨이 장치.
The method of claim 1,
A gateway device for DDS, characterized in that the publisher retransmits the reception failure data corresponding to the reception failure response text to the DDS gateway when receiving a reception failure response letter from the DDS gateway.
KR1020180115467A 2018-09-28 2018-09-28 Gateway Devices For DDS KR102339661B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180115467A KR102339661B1 (en) 2018-09-28 2018-09-28 Gateway Devices For DDS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180115467A KR102339661B1 (en) 2018-09-28 2018-09-28 Gateway Devices For DDS

Publications (2)

Publication Number Publication Date
KR20200036181A KR20200036181A (en) 2020-04-07
KR102339661B1 true KR102339661B1 (en) 2021-12-14

Family

ID=70291109

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180115467A KR102339661B1 (en) 2018-09-28 2018-09-28 Gateway Devices For DDS

Country Status (1)

Country Link
KR (1) KR102339661B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080175239A1 (en) * 2007-01-23 2008-07-24 Yipes Enterprise Services, Inc Multicast wide-area network for distributing data to selected destinations with limited or no replication

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100458767C (en) * 2002-03-28 2009-02-04 普里凯许公司 Method and apparatus for reliable and efficient content-based routing and query and response in a publish-subscribe network
KR101545626B1 (en) * 2014-01-10 2015-08-20 국방과학연구소 System for interoperation between dds and dbms

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080175239A1 (en) * 2007-01-23 2008-07-24 Yipes Enterprise Services, Inc Multicast wide-area network for distributing data to selected destinations with limited or no replication

Also Published As

Publication number Publication date
KR20200036181A (en) 2020-04-07

Similar Documents

Publication Publication Date Title
US10901812B2 (en) Managing communication between cloud and heterogeneous devices across networks
Obraczka Multicast transport protocols: a survey and taxonomy
Acharya et al. A framework for delivering multicast messages in networks with mobile hosts
CN106230896A (en) A kind of information push method, Apparatus and system
US9330154B2 (en) Multicast database replication
CN102027461A (en) Extended messaging platform
Ott et al. Dtn-based content storage and retrieval
CN104486327A (en) Method and client side of communication between pages and long connection servers
US20100293239A1 (en) Maintaining instant messaging conversations when a recipient is not at their primary workstation
US8156174B2 (en) Method and system for information exchange utilizing an asynchronous persistent store protocol
Moll et al. Resilient brokerless publish-subscribe over ndn
US20100094933A1 (en) System and Method for Generating Exception Delay Messages when Messages are Delayed
KR102339661B1 (en) Gateway Devices For DDS
Baek et al. A reliable overlay video transport protocol for multicast agents in wireless mesh networks
KR102279601B1 (en) Method Of Gateway For DDS
KR20200036186A (en) Gateway System For DDS
KR20200036196A (en) Recording Medium
KR20200036194A (en) Computer Program For Providing Gateway For DDS
CN101860544A (en) Transmitting system and method of session initiation protocol message
Sadok et al. A reliable subcasting protocol for wireless environments
US20150350138A1 (en) Controller, message delivery system, message delivery method, and program
Chen Cafnet: A carry-and-forward delay-tolerant network
Tsuneizumi et al. A scalable group communication protocol with hybrid clocks
Velí et al. Routing optimization for delay tolerant networks in rural applications using a distributed algorithm
KR101051712B1 (en) Method for data transmission

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
GRNT Written decision to grant