KR102073684B1 - Method for transmitting and receiving data for data distribution service - Google Patents

Method for transmitting and receiving data for data distribution service Download PDF

Info

Publication number
KR102073684B1
KR102073684B1 KR1020190077394A KR20190077394A KR102073684B1 KR 102073684 B1 KR102073684 B1 KR 102073684B1 KR 1020190077394 A KR1020190077394 A KR 1020190077394A KR 20190077394 A KR20190077394 A KR 20190077394A KR 102073684 B1 KR102073684 B1 KR 102073684B1
Authority
KR
South Korea
Prior art keywords
data
transmitting
user data
transmission
size
Prior art date
Application number
KR1020190077394A
Other languages
Korean (ko)
Inventor
정영욱
Original Assignee
한화시스템 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한화시스템 주식회사 filed Critical 한화시스템 주식회사
Priority to KR1020190077394A priority Critical patent/KR102073684B1/en
Application granted granted Critical
Publication of KR102073684B1 publication Critical patent/KR102073684B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • H04L67/322
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/36Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
    • 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
    • H04L67/30Profiles
    • H04L67/327
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

Disclosed is a method for transceiving data for a data distribution service which can improve transceiving performance. The method for transceiving data for a data distribution service preferably comprises: a step in which a data analysis unit analyzes properties of data to be transceived and classifies data in accordance with analyzed data properties; a step in which a high-frequency data transceiving unit applies a batching profile to transceive user data with a small data size and a high transceiving frequency among the classified data; a step in which a large-capacity data transceiving unit applies an application level fragment profile to transceive user data with a large data size and a high priority among the classified data; a step in which a background large-capacity data transceiving unit applies a background large-capacity data profile to transceive user data with a large data size and a low priority among the classified data; and a step in which a general data transceiving unit applies a general profile to transceive user data with a large data size and a low transceiving frequency among the classified data.

Description

데이터 분배 서비스를 위한 데이터 송수신 방법{METHOD FOR TRANSMITTING AND RECEIVING DATA FOR DATA DISTRIBUTION SERVICE}Data transmission and reception method for data distribution service {METHOD FOR TRANSMITTING AND RECEIVING DATA FOR DATA DISTRIBUTION SERVICE}

본 발명은 데이터 분배 서비스를 위한 데이터 송수신 방법에 관한 것으로, 더욱 상세하게는 사용자 데이터를 특성에 따라 자동 분류하고, 자동 분류된 사용자 데이터를 각 특성에 맞게 송수신할 수 있도록 하는 데이터 분배 서비스를 위한 데이터 송수신 방법에 관한 것이다.The present invention relates to a data transmission / reception method for a data distribution service, and more particularly, data for a data distribution service for automatically classifying user data according to characteristics and transmitting and receiving the automatically classified user data according to each characteristic. It relates to a transmission and reception method.

다양한 산업 분야에서 사용되는 이기종의 많은 장치들은 분산 네트워크를 이용하여 실시간으로 끊임없이 데이터를 분배하고 공유할 뿐만 아니라 시간의 경과에 따라 데이터를 주고받는 참여자들의 동적인 참여와 탈퇴 과정을 쉽게 처리할 수 있도록 데이터 중심의 통신 기술(Data-Centric Communication)을 요구한다.Many heterogeneous devices in a variety of industries use distributed networks to not only constantly distribute and share data in real time, but also to facilitate the dynamic involvement and withdrawal of participants over time. It requires data-centric communication technology.

데이터 중심 통신을 위한 많은 기술들이 존재하는데 그 중 발간(publish)/구독(subscribe) 기술이 다양한 응용 분야에서 많이 사용되고 있으며, 이를 이용하는 대표적인 프로토콜이 DDS(Data Distribution Service)이다.There are many technologies for data-centric communication. Among them, publish / subscribe technologies are widely used in various application fields, and a representative protocol using them is a data distribution service (DDS).

DDS는 OMG(Object Management Group) 기구에서 제정한 미들웨어로써, 분산 환경에서 네트워크 데이터 도메인에 자유로운 참여나 탈퇴가 가능하여 노드 구성의 유연성을 극대화 해주고, 발간/구독 기술을 기반으로 하여 실시간으로 데이터를 공유 및 배포하는 기능을 제공한다.DDS is a middleware established by the OMG (Object Management Group) organization. It maximizes the flexibility of node configuration by allowing free participation or withdrawal from the network data domain in a distributed environment, and sharing data in real time based on publishing / subscribing technology. And the ability to distribute.

이러한 DDS는 국방, 항공, 우주 산업, 교통, 로봇, 증권, 의학, 금융거래 및 다양한 분야의 자동화 시스템 등의 많은 분야에서 사용되고 있다.These DDSs are used in many fields such as defense, aviation, aerospace, transportation, robotics, securities, medicine, financial transactions, and automation systems in various fields.

DDS를 이용하여 사용자 데이터를 송수신할 때, 토픽(topic) 크기와 DDS QoS(Quality of Service) 정책(Policy) 튜닝은 성능에 영향을 끼치는 대표적인 요소들이다.When transmitting and receiving user data using DDS, topic size and DDS Quality of Service (QoS) Policy tuning are representative factors that affect performance.

토픽은 DDS 도메인에서 유일한 이름을 가지고, 수신 또는 송신하고자 하는 사용자 데이터의 구조이다. 시스템 요구사항 또는 네트워크 상태 등을 고려하여 사용자 데이터 크기와 동일한 크기로 토픽을 정의하여 한번에 하나의 사용자 데이터를 송수신할 수 있고, 작은 크기의 토픽을 정의하여 여러 번 나누어 하나의 사용자 데이터를 송수신할 수도 있다.A topic is a structure of user data that you want to receive or send with a unique name in the DDS domain. You can send / receive one user data at a time by defining a topic with the same size as the user data size in consideration of system requirements or network conditions, and send and receive a single user data by dividing it several times by defining a small sized topic. have.

DDS QoS 정책은 네트워크 상의 데이터 플로우에 대한 설정 값으로 실시간 동작제어를 위한 파라미터 집합이다. 표준 DDS QoS 정책은 약 20여 개의 종류가 있고, 하나의 DDS QoS 정책은 수 개에서 수십 개의 속성 값을 갖는다.The DDS QoS policy is a set of parameters for data flow on the network and is a set of parameters for real-time operation control. There are about 20 types of standard DDS QoS policies, and one DDS QoS policy has several to tens of attribute values.

DDS QoS 정책 튜닝이란 시스템 개발자들이 동작 제어, 통신 품질, 송신 타이밍 등의 시스템 요구사항에 맞게 DDS QoS 정책의 속성 값들을 설정하는 것이다.DDS QoS policy tuning is for system developers to set attribute values of DDS QoS policy according to system requirements such as operation control, communication quality, and transmission timing.

DDS QoS 정책 튜닝 과정에서 시스템 요구사항을 만족시키기 위하여 필요한 DDS QoS 정책의 속성 값들을 설정할 때에는 기존에 설정된 같은 또는 다른 DDS QoS 정책의 속성 값의 특성과 서로 상충되지 않도록 설정해야 하기 때문에 많은 시간과 노하우가 필요하다.When setting DDS QoS policy attribute values needed to satisfy system requirements during DDS QoS policy tuning process, it is necessary to set them so that they do not conflict with the characteristics of the same or different DDS QoS policy attributes. Is needed.

DDS QoS 정책 튜닝 과정에서 송수신 노드들 또는 데이터 각각의 DDS QoS 정책 속성 값들이 서로 상충되어 QoS 부적합(incompatible) 에러가 발생한다면 시스템의 성능적인 측면의 문제 수준이 아니라 데이터 송수신 자체가 불가능할 수도 있다. 뿐만 아니라, 많은 DDS QoS 정책 속성 값들 중에서 QoS 부적합 에러의 원인을 찾는 것은 많은 시간과 노하우가 필요하기 대문에 쉬운 문제가 아니다.If DDS QoS policy attribute values of transmitting / receiving nodes or data conflict with each other during DDS QoS policy tuning, a QoS incompatible error may occur, and data transmission and reception may not be possible, rather than a performance level of a system. In addition, finding the cause of QoS non-error among many DDS QoS policy attribute values is not an easy problem because it requires a lot of time and know-how.

QoS 부적합 에러가 발생하면 튜닝한 DDS QoS 정책 속성들을 모두 재검토하거나 별도의 디버깅 도구를 구입하여 QoS 부적합 에러의 원인이 되는 범위를 축소한 후 디버깅해야 한다.If a QoS nonconformance error occurs, review all the tuned DDS QoS policy attributes or purchase a separate debugging tool to reduce the scope of the cause of the QoS nonconformance error before debugging.

전술한 바와 같이, 종래에는 DDS QoS 정책 튜닝에 대한 어려움이 있기 때문에 DDS 미들웨어 제작사들은 DDS 미들웨어 비용과는 별도로 시스템 요구사항에 맞게 DDS QoS 정책 튜닝을 위한 추가의 컨설팅 비용을 청구해야 하는 문제점이 있다.As described above, since the conventional DDS QoS policy tuning has difficulty, DDS middleware manufacturers have to charge an additional consulting fee for DDS QoS policy tuning according to system requirements separately from the DDS middleware cost.

컨설팅 비용은 각 DDS 미들웨어 제작사 및 시스템 규모 별로 상이하지만 대부분 DDS 미들웨어 구입 비용만큼 비싸기 때문에, 많은 사업에서는 컨설팅을 요청하지 않고, 기본적으로 제공되는 샘플의 DDS QoS 정책을 조금씩 변경하여 사용한다.Consulting costs are different by each DDS middleware manufacturer and system size, but most of them are as expensive as DDS middleware purchasing cost, so many businesses do not request consulting and change the basic DDS QoS policy of sample provided little by little.

한국등록특허공보 제10-1236729호(공고일 2013.02.28.)Korea Patent Publication No. 10-1236729 (Notice date 2013.02.28.)

본 발명은 이러한 문제점을 해결하기 위해 안출된 것으로, 사용자 데이터를 특성에 따라 자동 분류하고, 자동 분류된 사용자 데이터를 각 특성에 맞는 DDS QoS 정책에 따라 송수신할 수 있도록 하는 데이터 송수신 방법을 제공함에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve this problem, and provides a data transmission / reception method for automatically classifying user data according to characteristics and transmitting / receiving automatically classified user data according to DDS QoS policies for each characteristic. There is a purpose.

전술한 목적을 달성하기 위한 본 발명의 일 실시예에 따른 데이터 분배 서비스를 위한 데이터 송수신 방법은, 데이터 분석부가, 송수신하고자 하는 데이터의 특성을 분석하고, 분석한 데이터의 특성에 따라서 데이터를 분류하는 단계; 고빈도 데이터 송수신부가, 배칭 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 단계; 대용량 데이터 송수신부가, 애플리케이션 레벨 프래그먼트 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 크고 우선순위도 높은 사용자 데이터를 송수신하는 단계; 백그라운드 대용량 데이터 송수신부가, 백그라운드 대용량 데이터 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터를 송수신하는 단계; 및 일반 데이터 송수신부가, 일반 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 낮은 사용자 데이터를 송수신하는 단계;를 포함하는 것이 바람직하다.Data transmission and reception method for a data distribution service according to an embodiment of the present invention for achieving the above object, the data analysis unit analyzes the characteristics of the data to be transmitted and received, and classifies the data according to the characteristics of the analyzed data step; Transmitting, by a high frequency data transmission / reception unit, user data having a small data size and high transmission / reception frequency among the classified data by applying a batching profile; Transmitting / receiving, by a large data transmission / reception unit, user data having a high data size and high priority among the classified data by applying an application level fragment profile; A background mass data transmitting / receiving unit, transmitting and receiving user data having a large data size but low priority among the classified data by applying a background mass data profile; And transmitting and receiving, by the general data transmitting and receiving unit, user data having a small data size and low transmission / reception frequency among the classified data by applying the general profile.

본 발명의 일 실시예에서, 상기 데이터 크기가 크고 우선순위도 높은 사용자 데이터를 송수신하는 단계는, 송신하고자 하는 데이터를 애플리케이션 레벨에서 복수의 데이터로 분할하여 송신하는 단계인 것이 바람직하다.In an embodiment of the present invention, the transmitting and receiving of the user data having a large data size and high priority may be performed by dividing the data to be transmitted into a plurality of data at an application level.

본 발명의 일른 실시예에서, 상기 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 단계는, 하나의 IP 패킷에 복수의 DDS RTPS 헤더와 사용자 데이터 정보의 쌍이 모여 이루어지는 통합(coalescing) 패킷 구조를 이용하여, 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 단계인 것이 바람직하다.In another embodiment of the present invention, the step of transmitting and receiving user data with a small data size and a high frequency of transmission and reception includes: a coalescing packet structure in which a pair of a plurality of DDS RTPS headers and user data information are gathered in one IP packet. By using, it is preferable that the step of transmitting and receiving user data having a small data size and a high frequency of transmission and reception.

본 발명의 데이터 분배 서비스를 위한 데이터 송수신 방법은, 사용자 데이터를 특성에 따라 자동 분류하고, 자동 분류된 사용자 데이터를 각 특성에 맞는 DDS QoS 정책에 따라 송수신함으로써, 손쉽게 DDS 미들웨어를 시스템에 적용할 수 있게 된다.In the data transmission / reception method for the data distribution service of the present invention, DDS middleware can be easily applied to a system by automatically classifying user data according to characteristics and transmitting / receiving the automatically classified user data according to DDS QoS policies for each characteristic. Will be.

사용자 데이터 특성 별로 가장 적합한 DDS QoS 정책을 적용하여 송수신함으로써, 송수신 성능을 향상시킬 수 있게 된다.By applying the DDS QoS policy most suitable for each user data characteristic, the transmission and reception can be improved.

사용자 데이터 특성에 따라 적용되는 DDS QoS 정책을 라이브러리화 하여, DDS QoS 정책 튜닝이 이루어져도 응용 프로그램을 수정할 필요 없이 해당 DDS QoS 정책의 프로파일만 교체하여 시스템에 적용할 수 있게 된다.DDS QoS policies are applied according to the characteristics of user data, so even if the DDS QoS policy is tuned, only the profile of the corresponding DDS QoS policy can be applied to the system without changing the application.

도 1은 본 발명의 일 실시예에 따른 데이터 분배 서비스를 위한 데이터 송수신 장치의 구성을 개략적으로 보인 도면이다.
도 2는 본 발명에 따라 고빈도 데이터 송수신에 사용되는 패킷 구조를 예시적으로 보인 도면이다.
도 3은 본 발명에 적용되는 배칭 DDS 패킷 구조를 예시적으로 보인 도면이다.
도 4는 대용량 데이터를 작은 크기의 토픽으로 나누어 송수신하는 경우와 하나의 큰 토픽을 이용하여 송수신하는 경우의 차이점을 예시적으로 보여주는 도면이다.
도 5는 동기식 DataWriter, 비동기식 DataWriter 및 플로우 컨트롤러 QoS 정책의 동작 과정을 개략적으로 보여주는 도면이다.
도 6은 본 발명의 일 실시예에 따른 데이터 분배 서비스를 위한 데이터 송수신 방법을 설명하기 위한 처리도이다.
도 7은 본 발명에 따른 고빈도 데이터 송수신에 대한 테스트 동작 과정을 개략적으로 보인 도면이다.
도 8 및 도 9는 본 발명에 따른 고빈도 데이터 송수신에 대한 테스트 결과를 예시적으로 보인 도면이다.
도 10은 본 발명에 따른 대용량 데이터 송수신에 대한 테스트 결과를 예시적으로 보인 도면이다.
1 is a view schematically showing the configuration of a data transmission and reception apparatus for a data distribution service according to an embodiment of the present invention.
2 is a diagram illustrating a packet structure used for high frequency data transmission and reception according to the present invention.
3 is a diagram illustrating a batch DDS packet structure applied to the present invention by way of example.
FIG. 4 is a diagram exemplarily illustrating a difference between a case where a large amount of data is divided into small sized topics and transmitted and received using one large topic.
5 is a diagram schematically illustrating an operation of a synchronous DataWriter, an asynchronous DataWriter, and a flow controller QoS policy.
6 is a flowchart illustrating a data transmission / reception method for a data distribution service according to an embodiment of the present invention.
7 is a view schematically showing a test operation process for high frequency data transmission and reception according to the present invention.
8 and 9 illustrate exemplary test results for high frequency data transmission and reception according to the present invention.
10 is a diagram illustrating a test result for large data transmission and reception according to the present invention by way of example.

후술하는 본 발명에 대한 상세한 설명은, 본 발명이 실시될 수 있는 특정 실시예를 예시로서 도시하는 첨부 도면을 참조한다. 이들 실시예는 당업자가 본 발명을 실시할 수 있기에 충분하도록 상세히 설명된다. 본 발명의 다양한 실시예는 서로 다르지만 상호 배타적일 필요는 없음이 이해되어야 한다. 예를 들어, 여기에 기재되어 있는 특정 형상, 구조 및 특성은 일 실시예와 관련하여 본 발명의 정신 및 범위를 벗어나지 않으면서 다른 실시예로 구현될 수 있다. 또한, 각각의 개시된 실시예 내의 개별 구성요소의 위치 또는 배치는 본 발명의 정신 및 범위를 벗어나지 않으면서 변경될 수 있음이 이해되어야 한다. 따라서, 후술하는 상세한 설명은 한정적인 의미로서 취하려는 것이 아니며, 본 발명의 범위는, 적절하게 설명된다면, 그 청구항들이 주장하는 것과 균등한 모든 범위와 더불어 첨부된 청구항에 의해서만 한정된다. 도면에서 유사한 참조부호는 여러 측면에 걸쳐서 동일하거나 유사한 기능을 지칭한다.DETAILED DESCRIPTION OF THE INVENTION The following detailed description of the invention refers to the accompanying drawings that show, by way of illustration, specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. It is to be understood that the various embodiments of the invention are different but need not be mutually exclusive. For example, certain shapes, structures, and characteristics described herein may be embodied in other embodiments without departing from the spirit and scope of the invention in connection with one embodiment. In addition, it is to be understood that the location or arrangement of individual components within each disclosed embodiment may be changed without departing from the spirit and scope of the invention. The following detailed description, therefore, is not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims, along with the full scope of equivalents to which such claims are entitled. Like reference numerals in the drawings refer to the same or similar functions throughout the several aspects.

이하에서는 첨부한 도면들을 참조하여 본 발명의 바람직한 실시예에 따른 데이터 분배 서비스를 위한 데이터 송수신 장치 및 방법에 대해서 상세하게 설명하기로 한다.Hereinafter, an apparatus and method for transmitting and receiving data for a data distribution service according to an exemplary embodiment of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 데이터 분배 서비스를 위한 데이터 송수신 장치의 구성을 개략적으로 보인 도면이다.1 is a view schematically showing the configuration of a data transmission and reception apparatus for a data distribution service according to an embodiment of the present invention.

도 1에 도시하는 바와 같이, 본 발명의 일 실시예에 따른 데이터 분배 서비스를 위한 데이터 송수신 장치는 데이터 분석부(110), 고빈도 데이터 송수신부(120), 대용량 데이터 송수신부(130), 백그라운드 대용량 데이터 송수신부(140), 일반 데이터 송수신부(150)를 포함하여 이루어질 수 있다.As shown in FIG. 1, a data transmission / reception apparatus for a data distribution service according to an embodiment of the present invention may include a data analyzer 110, a high frequency data transceiver 120, a large data transceiver 130, and a background. Mass data transmission and reception unit 140, the general data transmission and reception unit 150 may be made.

데이터 분석부(110)는 DDS 미들웨어를 이용하여 송수신하고자 하는 사용자 데이터의 특성(예를 들어, 크기, 송수신 주기, 송수신 빈도 등)을 분석하여 송신하고자 하는 사용자 데이터의 타입을 분류한다.The data analyzer 110 classifies the type of user data to be transmitted by analyzing characteristics (eg, size, transmission / reception period, transmission / reception frequency, etc.) of user data to be transmitted and received using the DDS middleware.

사용자 데이터 특성에 따라 분류되는 사용자 데이터 타입은 크기가 작으면서 송수신 빈도가 높은 고빈도 데이터, 데이터 크기가 큰 대용량 데이터, 그리고 데이터 크기가 크지만 우선순위가 낮아서 시스템의 성능에 영향을 최소화하여 송수신을 해야 하는 우선순위가 낮은 대용량 데이터(백그라운드 대용량 데이터), 데이터 크기가 작으면서 송수신 빈도도 낮은 일반 데이터 등으로 분류될 수 있다.The user data types classified according to the characteristics of user data are small and high frequency data with high frequency of transmission and reception, large data with large data size, and large data size but low priority. It can be classified into low-priority large data (background large-capacity data) that should be done, and general data having a small data size and low frequency of transmission and reception.

여기서 데이터 크기가 작으면서 송수신 빈도가 높은 고빈도 데이터(예를 들어, 사용자의 위치 정보, 표적 정보 등)는, 1KB 이하의 크기를 가진 사용자 데이터를 초당 수천 번의 빈도로 송수신한다.The high frequency data (e.g., user location information, target information, etc.) having a small data size and high transmission / reception rate transmits and receives user data having a size of 1 KB or less at a frequency of several thousand times per second.

이러한 고빈도 데이터는 짧은 시간에 많은 수의 데이터를 송수신하기 때문에 다음의 DDS QoS 정책 속성들이 기본적으로 고려되어야 한다.Since such high frequency data transmits and receives a large number of data in a short time, the following DDS QoS policy attributes should be basically considered.

Figure 112019066217051-pat00001
RESOURCE_LIMIT - 고빈도 데이터를 송수신하므로 버퍼 크기는 한 번에 전송하는 데이터 개수 이상 설정
Figure 112019066217051-pat00001
RESOURCE_LIMIT-sends and receives high frequency data, so the buffer size is set to at least the number of data sent at a time

Figure 112019066217051-pat00002
HEARTBEAT - 송신측의 버퍼를 빨리 비워야 하므로 주기를 빠르게 설정
Figure 112019066217051-pat00002
HEARTBEAT-Set the cycle faster because the sender's buffer should be emptied quickly

Figure 112019066217051-pat00003
MAX_HEARTBEAT_RETRIES - 그룹에서 탈퇴한 수신단을 빠르게 비활성화(inactive)로 처리하기 위하여 데이터 전송 주기와 HEARTBEAT 주기 및 RESOURCE_LIMIT 크기를 고려하여 설정
Figure 112019066217051-pat00003
MAX_HEARTBEAT_RETRIES-Set considering the data transmission cycle, HEARTBEAT cycle, and RESOURCE_LIMIT size in order to quickly deactivate a receiver that has left the group.

Figure 112019066217051-pat00004
RELIABILITY - 위치 정보와 같이 주기적으로 송신 되고, 최신 데이터 값이 유효한 경우, BEST_EFFORT로 설정 (또는 RELIABILITY가 RELIABLE인 경우, HISTORY 속성을 KEEP_LAST로 설정)
Figure 112019066217051-pat00004
RELIABILITY-periodically sent with location information, set to BEST_EFFORT if the latest data value is valid (or set HISTORY attribute to KEEP_LAST if RELIABILITY is RELIABLE)

DDS를 이용하여 고빈도 사용자 데이터를 송수신할 때, 사용될 수 있는 패킷 구조는 도 2에 도시하는 바와 같이 분류될 수 있다.When transmitting and receiving high frequency user data using DDS, a packet structure that can be used can be classified as shown in FIG.

도 2의 (a) 구조는 데이터 전송을 위한 DDS의 기본적인 패킷 구조로, 하나의 IP 패킷에 DDS RTPS 헤더와 사용자 데이터가 각각 하나씩 포함된 구조이다.The structure (a) of FIG. 2 is a basic packet structure of DDS for data transmission, in which one DDS RTPS header and one user data are included in one IP packet.

이 경우, 예를 들어 1,000개의 사용자 데이터를 전송하게 되면 1,000개의 IP 헤더, DDS RTPS 헤더와 사용자 데이터인 RTPS의 서브메시지(submessage)가 송수신된다. 그리고 문제 발생 시, 재전송을 위한 단위도 IP 헤더, DDS RTPS 헤더와 RTPS의 서브메시지가 포함된 전체 패킷이 된다.In this case, for example, when 1,000 user data is transmitted, 1,000 IP headers, a DDS RTPS header, and a submessage of RTPS, which is user data, are transmitted and received. When a problem occurs, the unit for retransmission also becomes an entire packet including an IP header, a DDS RTPS header, and a submessage of RTPS.

도 2의 (b) 구조는 사용자가 애플리케이션 레벨(application-level)에서 여러 개의 사용자 데이터를 묶어서 하나의 새로운 사용자 데이터를 정의하여 사용하는 방법이다.The structure of FIG. 2B is a method in which a user bundles a plurality of user data at an application level and defines and uses one new user data.

이 경우에는 기본적인 패킷 구조를 이용하는 도 2의 (a) 구조보다 송수신 및 분석해야 하는 DDS RTPS와 IP 헤더 정보가 적어서 해당 정보를 처리하는 부하량이 줄어들기 때문에, 기본적인 패킷 구조를 이용하는 경우보다 효율적인 솔루션이라 할 수 있다.In this case, since the DDS RTPS and IP header information to be transmitted / received and analyzed are less than the structure of FIG. can do.

하지만 처음 정의한 사용자 데이터가 아니라, 처음 정의한 사용자 데이터들이 래핑(wrapping)된 새로운 사용자 데이터이기 때문에, DDS 개발 회사 등에서 제공하는 디버깅 도구 사용이 힘들고, DDS에서 제공하는 키(key)를 사용할 수 없는 단점들이 있다. 그리고 새로운 사용자 데이터로 취합하고, 취합된 것을 다시 나누는 추가 로직이 필요하므로 응용 구현이 보다 복잡해지는 문제점이 추가될 수 있다.However, it is not new user data but first user data that is defined, but it is new user data that is wrapped. Therefore, it is difficult to use debugging tools provided by DDS development company, and it is impossible to use keys provided by DDS. have. In addition, additional logic is needed to add new user data and divide the collected data into more complex implementations.

마지막으로 도 2의 (c) 구조는 하나의 IP 패킷에 여러 개의 DDS RTPS 헤더와 사용자 데이터 정보의 쌍이 모이는 통합(coalescing) 구조이다.Finally, the structure (c) of FIG. 2 is a coalescing structure in which a pair of multiple DDS RTPS headers and user data information is collected in one IP packet.

전송 측의 관련 DDS QoS 정책 값만 설정하면, 통합 구조로 송수신이 가능하다. 이 방법은 IP 헤더의 수도 줄여주고, 사용자가 별도로 래핑 관련 처리부를 추가할 필요 없고, 키(key) 및 디버깅 도구 사용이 가능하여 앞의 두 방법에 비하여 여러 가지 측면에서 나은 방법이다. 통합 구조는 주로 NACK 응답에 대하여 한꺼번에 많은 수의 데이터 재전송이 필요한 경우에 사용된다.If only the related DDS QoS policy value is set on the transmitting side, transmission and reception are possible in an integrated structure. This method also reduces the number of IP headers, eliminates the need for users to add additional wrapping-related processing, and allows key and debugging tools to be used in many ways. The unified structure is mainly used when a large number of data retransmissions are needed at once for the NACK response.

한편, 일정 크기 이상의 대용량 데이터 전송을 위해서는 관련되는 DDS QoS 정책들의 튜닝이 필요하다. 특히, 초당 수 MB의 크기를 가진 사용자 데이터를 한 번씩 송수신하는 대용량 데이터(예를 들어, 오디오, 비디오, 데이터베이스 등)는 오디오, 비디오 및 데이터베이스 등과 같이 신뢰적 전송이 필요한 데이터가 대부분이므로 기본적으로 아래와 같은 DDS QoS 정책 속성들이 고려되어야 한다.Meanwhile, in order to transmit a large amount of data over a certain size, tuning of related DDS QoS policies is required. In particular, large data (e.g., audio, video, database, etc.) that transmits and receives user data once several megabytes per second is mostly data that requires reliable transmission such as audio, video, and database. The same DDS QoS policy attributes should be considered.

Figure 112019066217051-pat00005
RESOURCE_LIMIT - 토픽 크기가 큰 경우, 버퍼 크기를 크게 설정하면 응용 프로그램이 사용하는 메모리 또한 비례하여 증가. 노드의 가용 메모리를 고려하여 설정 (메모리가 작은 임베디드 시스템은 특히 주의해서 설정)
Figure 112019066217051-pat00005
RESOURCE_LIMIT-If the topic size is large, setting a large buffer size also increases the memory used by the application. Setup taking into account the available memory of the node (special care should be taken for embedded systems with low memory)

Figure 112019066217051-pat00006
RELIABILITY - 사용자 데이터를 손실 없이 송수신해야 하므로 KEEP_ALL로 설정 (RESOURCE_LIMIT로 설정한 버퍼에 가득 찬 경우, 전송 측에서는 버퍼가 비워질 때까지 설정된 시간만큼 대기하게 되므로 일시적 또는 영구적으로 통신이 단절된 것처럼 동작)
Figure 112019066217051-pat00006
RELIABILITY-User data should be transmitted and received without loss. Set to KEEP_ALL (If the buffer set by RESOURCE_LIMIT is full, the sender waits for the set time until the buffer is empty, so it acts as if communication was temporarily or permanently disconnected.)

Figure 112019066217051-pat00007
MAX_MESSAGE_SIZE, RECV_SOCKET_BUFFER, MAX_FRAGMENTS_PER_SAMPLE - 토픽 및 사용자 데이터의 크기, 전송 프로토콜의 종류를 고려하여 설정
Figure 112019066217051-pat00007
MAX_MESSAGE_SIZE, RECV_SOCKET_BUFFER, MAX_FRAGMENTS_PER_SAMPLE-set considering the size of the topic and user data, and the type of transport protocol

전술한 바와 같이, 데이터 분석부(110)에서 송수신하고자 하는 사용자 데이터의 특성(예를 들어, 크기, 송수신 주기, 송수신 빈도 등)을 분석하여 송신하고자 하는 사용자 데이터의 타입을 분류하면, 분류된 사용자 데이터 타입에 따라 고빈도 데이터는 고빈도 데이터 송수신부(120)로 인가되고, 일반 데이터는 일반 데이터 송수신부(150)로 인가되고, 대용량 데이터는 대용량 데이터 송수신부(130)로 인가되고, 우선순위가 낮은 대용량 데이터는 우선순위가 낮은 대용량 데이터 송수신부(130)로 인가된다.As described above, when the data analysis unit 110 classifies the type of user data to be transmitted by analyzing characteristics (eg, size, transmission / reception period, transmission / reception frequency, etc.) of user data to be transmitted / received, the classified user According to the data type, high frequency data is applied to the high frequency data transmission / reception unit 120, general data is applied to the general data transmission / reception unit 150, and large data is applied to the large-capacity data transmission / reception unit 130, and priority. Low volume data is applied to the low-capacity large data transmission / reception unit 130.

고빈도 데이터 송수신부(120)는 데이터 분석부(110)에서 분류된 고빈도 데이터를 통합 방법(도 2의 (C) 참조)을 이용하여 송수신할 수 있다.The high frequency data transceiver 120 may transmit and receive high frequency data classified by the data analyzer 110 using an integration method (see FIG. 2C).

구체적으로 작은 크기의 사용자 데이터를 초당 수천 번의 빈도로 송수신하는 고빈도 데이터의 경우에는, 메시지 헤더와 같은 공통부분의 송수신 횟수를 줄이기 위하여 통합(coalescing) 방법을 이용하여 송수신을 수행한다. 이때, 고빈도 데이터 송수신부(120)는 버퍼 크기를 충분히 설정한 후 HEARTBEAT 주기를 빠르게 설정하는 것이 바람직하다.Specifically, in the case of high frequency data that transmits and receives small sized user data at a frequency of several thousand times per second, transmission and reception are performed using a coalescing method to reduce the number of transmission and reception of a common part such as a message header. In this case, the high frequency data transceiver 120 preferably sets the HEARTBEAT cycle quickly after sufficiently setting the buffer size.

전술한, 고빈도 데이터 송수신부(120)는 데이터 분석부(110)에서 분류된 고빈도 데이터를 배치(Batch) QoS 정책에 따라 송수신할 수도 있다.The high frequency data transceiver 120 may transmit / receive high frequency data classified by the data analyzer 110 according to a batch QoS policy.

배치 QoS 정책은 고빈도 데이터 송수신 방법에서 설명한 통합 구조(도 2의 (C) 구조)를 조금 더 개선한 방법으로, 다양한 설정으로 배칭(Batching)이 가능한 DDS QoS 정책이다. 배칭 DDS 패킷 구조는 도 3과 같을 수 있다.The batch QoS policy is a method of further improving the integrated structure (structure (C) of FIG. 2) described in the high frequency data transmission / reception method, and is a DDS QoS policy capable of batching with various settings. The batching DDS packet structure may be as shown in FIG. 3.

배칭 방법을 이용하면 도 3에 도시하는 바와 같이 하나의 IP 패킷에 하나의 DDS RTPS 헤더와 여러 개의 사용자 데이터가 모이는 구조로 전송된다. 기본적으로 DDS는 사용자가 write() API를 호출함과 동시에 즉시 사용자 데이터를 전송한다. 하지만 배치 QoS 정책을 설정하면 DDS 스택 내부에 배치(batch)라는 저장소를 생성하고, 사용자 데이터를 배치에 모은 다음 전송 조건이 만족될 때 모았던 사용자 데이터를 한꺼번에 서브메시지로 전송한다. 전송 조건은 배치에 누적된 총 데이터 크기, 사용자 데이터 개수, 플러시(flush) 주기의 세 가지가 있을 수 있다. 사용자 데이터 크기, 네트워크 성능과 CPU, 메모리 등의 컴퓨터 자원의 상태에 맞게 배치의 크기와 하나의 배치에 모으는 데이터 개수, 플러시 주기 값을 조절할 수 있기 때문에 앞에서 설명한 다른 고빈도 데이터 송수신 방법들보다 유연하게 사용할 수 있다.Using the batching method, as shown in FIG. 3, one IP packet is transmitted in a structure in which one DDS RTPS header and several user data are collected. By default, DDS transfers user data immediately after the user calls the write () API. However, if a batch QoS policy is set, a repository called a batch is created inside the DDS stack, the user data is collected in a batch, and then the user data collected when the transmission conditions are satisfied is transmitted at once as a sub message. There are three transfer conditions: total data size accumulated in the batch, the number of user data, and a flush cycle. You can adjust the size of the batch, the number of data collected in one batch, and the flush cycle values to suit user data size, network performance, and the state of computer resources such as CPU and memory. Can be used

전술한 고빈도 데이터 송수신부(120)는 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하기 위한 배칭 프로파일을 이용하여 고빈도 데이터에 대한 송수신을 수행한다.The high frequency data transmission / reception unit 120 performs transmission and reception on high frequency data using a batching profile for transmitting and receiving user data having a small data size and a high frequency of transmission and reception.

여기서 배칭 프로파일은 고빈도 데이터 송수신에 사용되는 배치 QoS 정책에 기초하여 생성될 수 있다.The batching profile may be generated based on a batch QoS policy used for high frequency data transmission and reception.

대용량 데이터 송수신부(130)는 데이터 분석부(110)에서 분류된 대용량 데이터를 네트워크 성능을 고려하여 사용자 데이터를 애플리케이션 레벨에서 작게 나눈 후, 고빈도 데이터 송수신 방법인 배치 QoS 정책에 따라 송수신할 수 있다.The large-capacity data transmission / reception unit 130 may divide the large-scale data classified by the data analysis unit 110 in consideration of network performance and divide user data at an application level, and then transmit and receive the data according to a batch QoS policy, which is a high frequency data transmission / reception method. .

예를 들어 5MB의 사용자 데이터를 전송하기 위하여 5MB 크기의 데이터를 애플리케이션 레벨에서 한 번에 보낼 수도 있지만 애플리케이션 레벨에서 미리 작은 크기의 데이터로 분할하여 여러 번에 나누어 송수신하고, 수신 단에서는 다시 취합한 후 5MB 크기로 만들어서 전달하는 방법을 사용할 수 있다.For example, in order to transmit 5MB of user data, 5MB of data may be sent at the application level at one time, but at the application level, the data may be divided into small data in advance, divided into several times, and then sent and received again. You can use the 5MB size transfer method.

대용량 데이터 송수신의 경우, 송수신하는 토픽 크기에 따라서 다양하게 성능을 조절할 수 있기 때문에 노드와 네트워크 성능 및 상태에 따라서 적절한 토픽 크기를 결정하는 것이 아주 중요하다.In the case of large data transmission and reception, performance can be adjusted in accordance with the topic size to be transmitted and received, so it is very important to determine the appropriate topic size according to the node and network performance and status.

도 4는 대용량 데이터를 작은 크기의 토픽으로 나누어 송수신하는 경우와 하나의 큰 토픽을 이용하여 송수신하는 경우의 차이점을 예시적으로 보여준다.4 exemplarily illustrates a difference between transmitting and receiving a large amount of data into smaller topics and transmitting and receiving using one large topic.

도 4의 (a)와 같이 작은 크기의 토픽을 이용하여 송수신하는 경우에는 애플리케이션 레벨에서 하나의 대용량 데이터를 여러 개의 작은 사용자 데이터로 나누어 송신하고, 수신된 작은 사용자 데이터를 다시 하나의 대용량 데이터로 취합하는 추가 로직이 필요하다. 그리고 도 4 (b)의 큰 토픽을 이용하여 송수신하는 방법에 비하여 작은 사용자 데이터로 나누고, 다시 취합하는데 시간 지연, CPU 및 메모리 자원 사용 등의 추가 비용이 발생하게 된다. 하지만 송수신되는 데이터 크기가 작아서 손실된 DDS 패킷에 대하여 빠르게 복구가 가능하고, 전송 시 지연을 추가하여 중간에 조건을 주어 전송 타이밍을 조절할 수 있다는 장점들이 있다.In case of transmitting / receiving using a small-sized topic as shown in FIG. 4 (a), at the application level, one large data is divided into several small user data and transmitted, and the received small user data is collected into one large data. We need additional logic. In addition, compared to the method of transmitting and receiving using the large topic of FIG. 4 (b), additional costs such as time delay, CPU, and memory resource usage are incurred in dividing into smaller user data. However, due to the small size of the data to be transmitted and received, the DDS packet can be quickly recovered, and the transmission timing can be adjusted by adding a delay in the transmission.

도 4의 (b)의 경우는 애플리케이션 레벨에서의 추가 작업에 따른 비용이 발생하지 않지만 크기가 큰 사용자 데이터를 한 번에 송수신하기 때문에 손실된 DDS 패킷 복구에 발생하는 비용이 도 4 (a)의 작은 크기의 토픽을 이용하여 송수신하는 방법보다는 크고, 대용량 데이터를 송신하고, 수신하는 긴 시간 동안 다른 DDS 패킷 처리가 불가능한 단점이 있다.In case of (b) of FIG. 4, the cost of additional work at the application level is not incurred, but the cost incurred in recovering lost DDS packets is large because the user data is transmitted and received at a time. It is disadvantageous that other DDS packets cannot be processed for a long time for transmitting and receiving large data, rather than a method for transmitting and receiving using a small topic.

전술한 대용량 데이터 송수신부(130)는 데이터 크기가 큰 사용자 데이터를 송수신하기 위한 애플리케이션 레벨 프래그먼트 프로파일을 이용하여 대용량 데이터에 대한 송수신을 수행한다.The above-described mass data transmission / reception unit 130 performs transmission / reception of large data by using an application level fragment profile for transmitting and receiving user data having a large data size.

여기서 애플리케이션 레벨 프래그먼트 프로파일은 대용량 데이터 송수신에 사용되는 DDS QoS 정책에 기초하여 생성될 수 있다.In this case, the application level fragment profile may be generated based on the DDS QoS policy used for transmitting and receiving large data.

한편, 백그라운드 대용량 데이터 송수신부(140)는 데이터 분석부(110)에서 분류된 우선순위가 낮은 대용량 데이터(백그라운드 대용량 데이터)를 비동기식 DataWriter와 플로우 컨트롤러(Flow Controller)를 이용하여 송수신한다.Meanwhile, the background large-capacity data transceiver 140 transmits and receives low-priority large-capacity data (background large-capacity data) classified by the data analyzer 110 using an asynchronous DataWriter and a flow controller.

기본적으로 DDS는 송수신되는 순서대로 데이터를 처리하기 때문에, 실시간성의 요구사항이 필요 없는 사용자 데이터를 송수신하는 경우에도 우선순위가 높거나 실시간성이 보장되어야 하는 사용자 데이터의 교환에 영향을 끼치게 된다.Basically, since DDS processes data in the order of transmission and reception, even when transmitting and receiving user data that does not require the requirement of real-time, it affects the exchange of user data that has high priority or real time.

우선순위가 높거나 실시간성이 보장되어야 하는 사용자 데이터 처리를 위하여 사용자가 적절한 타이밍을 계산하여 백그라운드로 우선순위가 낮은 대용량 데이터를 컨트롤하여 천천히 전송하기는 힘들다.In order to process high-priority or real-time user data, it is difficult for a user to calculate a proper timing and control a large amount of low-priority data in the background and transmit it slowly.

이 경우 사용할 수 있는 것이 비동기식 DataWriter와 플로우 컨트롤러 QoS 정책이다.In this case, you can use asynchronous DataWriter and flow controller QoS policies.

도 5는 동기식 DataWriter, 비동기식 DataWriter 및 플로우 컨트롤러 QoS 정책의 동작 과정을 보여준다.Figure 5 shows the operation of the synchronous DataWriter, asynchronous DataWriter, and flow controller QoS policy.

DDS의 DataWriter는 기본적으로 도 5의 (a) 방법과 같이 동기식(synchronous)으로 동작한다. 사용자 레벨에서 사용자 데이터 전송을 위하여 API(write())를 호출하면 DDS 내부에서 네트워크로 전송이 완료된 후 그 결과를 사용자 레벨로 반환하고, 계속해서 다음 작업을 진행하는 구조이다.The DataWriter of the DDS basically operates synchronously as in the method of FIG. When API (write ()) is called for user data transmission at the user level, the result is returned to the user level after completion of the transmission from the DDS to the network, and the next work continues.

도 5의 (b) 방법은 DataWriter가 비동기식(asynchronous)으로 동작하는 경우를 설명하는 그림으로, 사용자 레벨에서 사용자 데이터 전송을 위하여 API(write())를 호출하면 사용자 데이터를 DDS 내부 큐에 넣고 즉시 사용자 레벨로 반환되는 것을 보여준다. 저장되는 사용자 데이터는 DDS 내부에서 별도의 스레드가 처리한다.The method (b) of FIG. 5 is a diagram illustrating a case where the DataWriter operates asynchronously. When the API (write ()) is called to transmit user data at the user level, the method writes the user data to the DDS internal queue and immediately. Show what is returned to the user level. Stored user data is handled by a separate thread inside DDS.

플로우 컨트롤러는 비동기식(asynchronous) 동작에서 별도의 스레드를 이용하여 네트워크 트래픽을 조절할 수 있는 DDS QoS 정책으로 다른 속성 값보다 tokens_added_per_period 값이 성능에 많은 영향 미친다. 이는 tokens_added_per_period 값이 크면 한 번에 전송하는 사용자 데이터 수가 많아지고, 작으면 한 번에 전송하는 데이터 수가 적어지게 되기 때문이다.The flow controller is a DDS QoS policy that can regulate network traffic by using a separate thread in asynchronous operation. Tokens_added_per_period value has more impact on performance than other property values. This is because a large tokens_added_per_period value increases the number of user data transmitted at one time and a small number of data transmitted at a time.

이에 따라, 요구사항과 노드 및 네트워크 상태 등을 고려하여 다른 속성 값들보다 tokens_added_per_period 값의 설정이 중요하다.Accordingly, setting tokens_added_per_period value is more important than other attribute values in consideration of requirements, node and network status.

tokens_added_per_period 설정 값이 작아질수록 송수신에 소요되는 전체 시간은 증가되지만, 백그라운드 대용량 데이터 송수신에 사용되는 네트워크 사용률이 줄어들어 다른 사용자 데이터 송수신에 끼치는 영향은 줄어든다.The smaller tokens_added_per_period setting increases the total time required for sending / receiving, but the network utilization rate used for background large-capacity data transmission and reception decreases the effect on other user data transmission and reception.

백그라운드 대용량 데이터 송수신부(140)는 tokens_added_per_period 값을 포함하여, 네트워크 상황에 맞게 관련 속성들의 설정 값들을 조절하여, 실시간 및 우선순위가 높은 데이터의 전송에 영향을 받지 않도록 데이터를 송수신할 수 있다.The background large-capacity data transceiver 140 may transmit / receive data such that tokens_added_per_period is adjusted so as not to be affected by real-time and high-priority data transmission by adjusting setting values of relevant attributes according to network conditions.

전술한 백그라운드 대용량 데이터 송수신부(140)는 데이터 크기는 크지만 우선순위가 낮아서 시스템의 성능에 영향을 최소화하여 송수신을 해야 하는 사용자 데이터를 송수신하기 위한 백그라운드 대용량 데이터 프로파일을 이용하여 백그라운드 대용량 데이터에 대한 송수신을 수행한다.The above-described background large data transmission / reception unit 140 has a large data size but a low priority, so that the background large data profile for the background large data is transmitted using a background large data profile for transmitting / receiving user data that needs to be transmitted / received by minimizing the effect on system performance. Perform the transmission and reception.

여기서 백그라운드 대용량 데이터 프로파일은 우선순위가 낮은 대용량 데이터 송수신에 사용되는 DDS QoS 정책에 기초하여 생성될 수 있다.In this case, the background large data profile may be generated based on a DDS QoS policy used for transmitting and receiving a large amount of low priority data.

일반 데이터 송수신부(150)는 데이터 분석부(110)에서 분류된 일반 데이터를 기본 DDS QoS 정책에 따라 송수신할 수 있다.The general data transceiver 150 may transmit and receive general data classified by the data analyzer 110 according to a basic DDS QoS policy.

일반 데이터 송수신부(150)는 특별한 특성이 없는 일반 데이터를 송수신하기 위한 프로파일인 일반 프로파일을 이용하여 일반 데이터에 대한 송수신을 수행한다.The general data transmission / reception unit 150 performs transmission and reception on general data using a general profile, which is a profile for transmitting and receiving general data having no special characteristic.

여기서 일반 프로파일은 일반 데이터 송수신에 사용되는 기본 DDS QoS 정책에 기초하여 생성될 수 있다.Here, the general profile may be generated based on a basic DDS QoS policy used for general data transmission and reception.

전술한 고빈도 사용자 데이터 송수신을 위한 배칭 프로파일, 대용량 데이터 송수신을 위한 애플리케이션 레벨 프래그먼트 프로파일, 우선순위가 낮은 대용량 데이터 송수신을 위한 백그라운드 대용량 데이터 프로파일, 특별한 특성이 없는 사용자 데이터 송수신을 위한 일반 프로파일 등은 라이브러리화 되어 있는 것이 바람직하다.The above-mentioned batching profile for high frequency user data transmission and reception, application level fragment profile for high volume data transmission and reception, background high volume data profile for low priority high volume data transmission and reception, general profile for user data transmission and reception without special characteristics, etc. It is desirable that it is done.

한편, 본 발명의 실시예에서는 고빈도 데이터 송수신부(120), 대용량 데이터 송수신부(130), 백그라운드 대용량 데이터 송수신부(140), 일반 데이터 송수신부(150)가 각각 독립적으로 구현되어 있으나, 이를 하나의 송수신부로 구현하고, 하나로 구현된 송수신부에서 특성에 따라 분류된 사용자 데이터를 각각의 특성에 맞게 프로파일을 적용시켜 송수신하도록 구현할 수도 있다.Meanwhile, in the embodiment of the present invention, although the high frequency data transceiver 120, the mass data transceiver 130, the background mass data transceiver 140, and the general data transceiver 150 are independently implemented, One transceiver may be implemented, and one transceiver may be configured to transmit and receive user data classified according to characteristics by applying a profile according to each characteristic.

도 6은 본 발명의 일 실시예에 따른 데이터 분배 서비스를 위한 데이터 송수신 방법을 설명하기 위한 처리도이다.6 is a flowchart illustrating a data transmission / reception method for a data distribution service according to an embodiment of the present invention.

우선, 데이터 송수신 장치(100)의 데이터 분석부(110)는 송수신하고자 하는 사용자 데이터의 특성(예를 들어, 크기, 송수신 주기, 송수신 빈도 등)을 분석한다(S10).First, the data analysis unit 110 of the data transmission and reception apparatus 100 analyzes characteristics (eg, size, transmission / reception period, transmission / reception frequency, etc.) of user data to be transmitted / received (S10).

이후에는, 상기한 단계 S10의 분석 결과에 의거하여 송수신하고자 하는 사용자 데이터가 대용량 데이터인지를 확인한다(S20).Thereafter, it is checked whether the user data to be transmitted or received is a large amount of data based on the analysis result of step S10 (S20).

상기한 단계 S20의 확인결과 송수신하고자 하는 사용자 데이터가 대용량 데이터가 아닌 경우에는, 송수신하고자 하는 사용자 데이터가 송수신 빈도가 높은 데이터인지를 확인한다(S30).If the user data to be transmitted / received is not a large amount of data as a result of the checking in step S20, it is checked whether the user data to be transmitted / received is data having a high transmission / reception frequency (S30).

상기한 단계 S30의 확인결과 송수신하고자 하는 사용자 데이터가 송수신 빈도 높은 데이터인 경우에는, 고빈도 데이터 송수신부(120)가 배칭 프로파일을 적용하여 통합 방법에 따라 고빈도 데이터를 송수신할 수 있다(S40).When the user data to be transmitted and received as the result of the check in step S30 is data having a high frequency of transmission and reception, the high frequency data transmission / reception unit 120 may transmit and receive high frequency data according to an integrated method by applying a batching profile (S40). .

상기한 단계 S40에서 고빈도 데이터 송수신부(120)는 메시지 헤더와 같은 공통부분의 송수신 횟수를 줄이기 위하여 통합 방법을 이용하고, 버퍼 크기를 충분히 설정한 후 HEARTBEAT 주기를 빠르게 설정할 수 있다.In step S40, the high frequency data transmission / reception unit 120 may use an integrated method to reduce the number of transmission / reception of common parts such as a message header, and may set a HEARTBEAT cycle quickly after sufficiently setting the buffer size.

또한, 상기한 단계 S40에서 고빈도 데이터 송수신부(120)는 데이터 분석부(110)에서 분류된 고빈도 데이터를 배치 QoS 정책에 따라 송수신할 수도 있다. In addition, in step S40, the high frequency data transceiver 120 may transmit / receive the high frequency data classified by the data analyzer 110 according to a batch QoS policy.

한편, 상기한 단계 S30의 확인결과 송수신하고자 하는 사용자 데이터가 송수신 빈도가 높지 않은 특별한 특성이 없는 사용자 데이터인 경우에는, 일반 데이터 송수신부(150)가 일반 프로파일을 적용하여 기본 DDS QoS 정책에 따라 특별한 특성이 없는 사용자 데이터를 송수신할 수 있다(S50).On the other hand, if the user data to be transmitted and received as the result of the check in step S30 is a user data that does not have a special characteristic that the transmission frequency is not high, the general data transmission and reception unit 150 is applied according to the basic DDS QoS policy by applying a general profile User data having no characteristic may be transmitted and received (S50).

한편, 상기한 단계 S20의 확인결과 송수신하고자 하는 사용자 데이터가 대용량 데이터인 경우에는 우선순위가 높은 데이터인지를 확인한다(S60).On the other hand, if the user data to be transmitted and received as a result of the check in step S20 is a large amount of data to determine whether the high priority data (S60).

상기한 단계 S60의 확인결과 송수신하고자 하는 사용자 데이터가 우선순위가 높은 데이터인 경우에는, 대용량 데이터 송수신부(130)가 애플리케이션 레벨 프래그먼트 프로파일을 적용하여 대용량 데이터를 송수신할 수 있다(S70).When the user data to be transmitted and received is the high priority data as a result of the checking in step S60, the mass data transmission / reception unit 130 may transmit and receive mass data by applying an application level fragment profile (S70).

상기한 단계 S70에서 대용량 데이터 송수신부(130)는 대용량 데이터를 네트워크 성능을 고려하여 적절한 크기의 토픽으로 분할한 후, 배치 QoS 정책에 따라 송신하고, 수신측에서 수신한 토픽을 재조립하여 원래의 신호로 복원한다.In step S70, the large-capacity data transmission / reception unit 130 divides the large-capacity data into topics of an appropriate size in consideration of network performance, transmits the data according to a batch QoS policy, and reassembles the received topics at the receiving side. Restore to the signal.

한편, 상기한 단계 S60의 확인결과 송수신하고자 하는 사용자 데이터가 우선순위가 높지 않은 데이터인 경우에는, 백그라운드 대용량 데이터 송수신부(140)가 백그라운드 대용량 데이터 프로파일을 적용하여 우선순위가 낮은 대용량 데이터를 송수신할 수 있다(S80).On the other hand, if the user data to be transmitted and received as a result of the check in step S60 is not the high priority data, the background large data transmission / reception unit 140 may transmit and receive a large amount of low-priority data by applying the background large data profile Can be (S80).

상기한 단계 S80에서 백그라운드 대용량 데이터 송수신부(140)는 비동기식 DataWriter와 플로우 컨트롤러를 이용하여 우선순위가 낮은 대용량 데이터를 송수신할 수 있다.In step S80, the background mass data transmission / reception unit 140 may transmit / receive the low-priority mass data using an asynchronous DataWriter and a flow controller.

상기한 단계 S80에서 백그라운드 대용량 데이터 송수신부(140)는 요구사항과 노드 및 네트워크 상태 등을 고려하여, 다른 실시간 사용자 데이터 송수신에 영향을 최소화하도록 token_added_per_period 값을 설정하는 것이 바람직하다.In step S80, the background mass data transceiving unit 140 may set a token_added_per_period value to minimize the influence on other real-time user data transceiving in consideration of requirements, nodes, and network conditions.

이하에서는 본 발명에 따라 사용자 데이터 특성에 따라 각각 고빈도 데이터, 대용량 데이터, 우선순위가 낮은 백그라운드 대용량 데이터 송수신에 대한 성능을 테스트한다.Hereinafter, according to the present invention, the performance of high frequency data, large data, and low-priority background large data transmission / reception are respectively tested according to user data characteristics.

우선, 고빈도 데이터 송수신에 대한 테스트는 도 7과 같을 수 있다.First, a test for high frequency data transmission and reception may be as shown in FIG. 7.

송신측에서 원하는 크기의 사용자 데이터를 n회 전송하고, 시험 시작 시각(T1)을 저장한다. 수신측에서는 송신측에서 전송하는 데이터를 n회 받은 후, 송신측에 데이터를 모두 받았다는 의미로 “Echo Data”를 전송한다. 송신측에서는 “Echo Data”를 받는 시간(T2)을 저장한 후, 시험 시작 시각(T1) 값과 시험 종료 시각(T2) 값을 이용하여 통합(coalescing) 방법과 배칭(batching) 방법 각각에 대하여 DDS QoS 정책 값을 변경하며 최적의 성능이 나올 때까지 시험한다. 최적의 성능이 나올 때의 DDS QoS 정책을 이용하여 토픽 크기 및 송수신 회수별로 각각 20회씩 반복하여 지연 시간을 측정할 수 있다.The sender transmits the user data of the desired size n times and stores the test start time (T1). The receiving side receives n times of data transmitted from the transmitting side, and then transmits "Echo Data" to the transmitting side. The sender stores the time (T2) of receiving “Echo Data”, and then uses the test start time (T1) and test end time (T2) values for the coalescing and batching methods. Change QoS policy values and test until optimal performance is achieved. Using the DDS QoS policy when the optimal performance is achieved, the delay time can be measured by repeating 20 times for each topic size and the number of transmission and reception.

표 1, 도 8 및 도9는 통합 방법과 배칭 방법 각각에 대하여 토픽의 크기를 256Bytes, 512Bytes, 1KB로 변경하고, 송수신 회수를 3,000회, 10,000회로 변경하며 시험한 결과이다.Tables 1, 8 and 9 show the results of changing the size of the topics to 256 bytes, 512 bytes, 1 KB, and changing the number of transmission / reception of 3,000 times and 10,000 times for each integration method and batching method.

Figure 112019066217051-pat00008
Figure 112019066217051-pat00008

토픽의 크기와 송수신 회수에 상관없이 시험한 모든 경우에 대해서는 통합 방법보다 배칭 방법이 표준 편차가 낮아서 가장 안정적이고, 지연 시간이 짧다.In all cases tested, regardless of topic size and number of transmissions and receptions, the batching method is the most stable and has the lowest latency, with a lower standard deviation than the integrated method.

배칭 방법은 하나의 DDS RTPS 헤더를 이용하여 여러 개의 사용자 데이터를 한꺼번에 처리 가능하다. 그렇기 때문에 수신측에서는 meta-information 처리에 대한 오버헤드가 줄어들고, CPU 등의 자원 사용량도 감소한다. 또한, 신뢰성 있는 데이터 전송 시에, 여러 개의 사용자 데이터가 포함된 배치(batch) 한 개에 대하여 ACK 또는 NACK 처리를 하므로 사용자 데이터 한 개에 대해서 ACK 또는 NACK 처리를 하는 다른 방법보다 스루풋(throughput) 측면의 성능이 훨씬 향상됨을 고빈도 성능 시험 결과로 확인할 수 있다.The batching method can process multiple user data at once using one DDS RTPS header. Therefore, the overhead of meta-information processing is reduced at the receiving side, and resource usage such as CPU is reduced. In addition, since the ACK or NACK process is performed for one batch including a plurality of user data in reliable data transmission, throughput is more than other methods of ACK or NACK processing for one user data. It can be seen from the results of the high frequency performance test that much better performance of the

한편, 대용량 데이터는 한 번에 전송하려는 사용자 데이터의 크기를 5MB인 경우로 정한다. 대용량 데이터 송수신 시험 프로그램은 고빈도 데이터 송수신 시험 프로그램과 동일하게 동작하는데, 애플리케이션 레벨에서 미리 작은 크기의 데이터로 분할하여 여러 번에 나누어 송수신하고, 수신 단에서는 다시 취합한 후 5MB 크기로 만들어서 전달하는 방법을 사용할 수 있다.Meanwhile, for large data, the size of user data to be transmitted at a time is set to 5MB. The large data transmission / reception test program operates in the same way as the high frequency data transmission / reception test program, which is divided into small data in advance at the application level and transmitted and received at several times. Can be used.

이러한 분할, 재조립 방법을 이용하면 5MB 사용자 데이터 송수신 시험 시 5MB 크기의 토픽을 1회 송수신할 때 측정된 지연 시간과 1KB 크기의 토픽을 5,120회 송수신할 때 측정된 지연 시간을 비교 분석할 수 있다. 대용량 데이터 송수신 시험은 512Bytes, 1KB, 256KB, 512KB, 1MB, 5MB 크기의 토픽을 이용하여 각각 20회씩 반복하여 5MB 크기의 사용자 데이터를 송수신할 때 소요되는 지연 시간을 측정한다.Using this partitioning and reassembly method, we can compare and analyze the delay time measured when sending and receiving 5MB topic once and 5,120 topic sending and receiving 1KB size when testing 5MB user data. . The large data transmission / reception test measures the delay time for transmitting and receiving user data of 5MB size by repeating 20 times using topics of 512Bytes, 1KB, 256KB, 512KB, 1MB, and 5MB.

표 2, 도 10은 512Bytes, 1KB, 256KB, 512KB, 1MB, 5MB 크기의 토픽을 이용하여 5MB의 사용자 데이터를 송수신할 때, 각각의 토픽 크기에 따른 지연 시간을 측정한 시험 결과이다.Table 2 and FIG. 10 are test results of measuring delay times according to respective topic sizes when transmitting and receiving user data of 5 MB using topics of 512 bytes, 1 KB, 256 KB, 512 KB, 1 MB, and 5 MB.

Figure 112019066217051-pat00009
Figure 112019066217051-pat00009

시험 결과를 통해 알 수 있듯이, 토픽의 크기가 5MB인 경우의 평균 지연시간은 57.93ms, 토픽의 크기가 1MB인 경우는 51.93ms, 토픽의 크기가 512KB인 경우는 53.87ms, 토픽의 크기가 256KB인 경우는 58.8ms, 토픽의 크기가 1KB인 경우는 155.73ms, 토픽의 크기가 512B인 경우는 217.2ms이다. 5MB의 사용자 데이터를 전송하는 경우, 1MB 크기의 토픽을 이용하여 5번 송수신하는 방법이 가장 안정적이고, 송수신이 완료되는 시간도 가장 빠름을 알 수 있다. 상대적으로 토픽 크기가 작고 송수신 회수가 많은 경우가 토픽 크기가 크고, 송수신 회수가 적은 경우보다 속도 측면에서의 성능이 낮다. 이는, 송수신하는 패킷 개수가 늘어나기 때문에 처리해야 하는 DDS 헤더 정보와 분할 및 취합하는 프로세싱 시간이 더 많아지기 때문이다. 같은 크기의 대용량 데이터를 송수신할 때, 전혀 분할하지 않거나 분할하는 토픽의 샘플 개수가 많아지면 시간적인 측면에서는 좋지 않음을 대용량 데이터 시험 결과로 확인할 수 있다.As the test results show, the average latency is 57.93ms for a topic size of 5MB, 51.93ms for a topic size of 1MB, 53.87ms for a topic size of 512KB, and a topic size of 256KB. Is 58.8ms for the topic, 155.73ms for the topic size of 1KB, and 217.2ms for the topic size of 512B. When transmitting 5MB of user data, it can be seen that the method of transmitting and receiving five times using a topic of 1MB size is the most stable, and the time at which the transmission and reception is completed is the fastest. Relatively small topic sizes and a large number of transmission / receptions have a lower performance in terms of speed than large topic sizes and a small number of transmissions and receptions. This is because the number of packets to be transmitted and received increases, so that the DDS header information to be processed and processing time to split and aggregate are increased. When sending and receiving large amounts of data of the same size, if the number of samples of a topic that is not divided at all or becomes large, it can be confirmed by the results of the large data test that it is not good in terms of time.

한편, 백그라운드 대용량 데이터 송수신 시험 프로그램은 100MB 크기의 사용자 데이터를 작은 크기의 토픽으로 나누어 송수신이 완료될 때의 지연 시간을 측정한다. 최적의 성능이 나올 때의 DDS QoS 정책을 이용하여 지연 시간과 네트워크 사용률을 20회씩 반복하여 측정하여 백그라운드 대용량 데이터 송수신 시험을 진행한다.On the other hand, the background large data transmission and reception test program divides 100MB user data into small topics and measures the delay time when transmission and reception are completed. Using the DDS QoS policy when the optimal performance is achieved, 20 times of delay time and network utilization are measured and background large data transmission / reception test is performed.

표 3은 100MB의 사용자 데이터를 32KB 크기의 토픽을 이용하여 송수신 할 때, token_added_per_period 속성 값을 UNLIMITED, 30, 20, 10, 5, 1개로 각각 변경하며 지연 시간과 네트워크 사용률을 측정한 시험 결과이다.Table 3 shows the test results of measuring latency and network utilization by changing the token_added_per_period attribute value to UNLIMITED, 30, 20, 10, 5, and 1 when 100MB of user data is transmitted and received using a 32KB topic.

Figure 112019066217051-pat00010
Figure 112019066217051-pat00010

비동기 DataWriter와 플로우 컨트롤러를 이용하면 사용자 데이터를 전송할 때, 이용 가능한 토큰의 수에 따라서 전송할 수 있는 데이터의 양이 달라진다. 그래서 백그라운드 대용량 데이터 송수신 시험에서 주기적으로 추가되는 토큰 수인 token_added_per_period 값을 조절하며 다른 시험과는 다르게 지연 시간 측정과 함께 네트워크 사용률을 측정한다.With an asynchronous DataWriter and flow controller, when transferring user data, the amount of data that can be sent depends on the number of tokens available. Therefore, the token_added_per_period value, which is the number of tokens added periodically in the background large data transmission / reception test, is adjusted. Unlike other tests, the network utilization is measured along with the latency measurement.

주기적으로 추가되는 토큰의 수를 UNLIMITED로 설정하면 100MB의 사용자 데이터를 송수신하는데 걸리는 시간은 평균 5,918.4ms이고, 이때의 네트워크 사용률은 12%이다. 그리고 주기적으로 추가되는 토큰의 수를 1로 설정하면 100MB의 사용자 데이터를 송수신하는데 걸리는 시간은 평균 116,765.3ms이고, 이때의 네트워크 사용률은 0.4%이다. 주기적으로 추가되는 토큰의 수를 UNLIMITED에서 1로 줄이면 네트워크 사용률을 12%에서 0.4%까지 줄일 수 있지만 데이터의 송수신 완료까지 소요되는 시간은 약 20배까지 차이가 난다.If the number of tokens added periodically is set to UNLIMITED, the average time for transmitting and receiving 100MB of user data is 5,918.4ms, and the network utilization rate is 12%. If the number of tokens added periodically is set to 1, the time required for transmitting and receiving 100MB of user data is 116,765.3ms on average, and the network utilization rate is 0.4%. Reducing the number of tokens added periodically from UNLIMITED to 1 can reduce network utilization from 12% to 0.4%, but the time required to complete sending and receiving data varies by about 20 times.

백그라운드 대용량 데이터 송수신 시험 결과로 확인할 수 있듯이 비동기 DataWriter와 플로우 컨트롤러를 이용하여 주기마다 추가되는 토큰 수를 줄인다면 송수신 완료까지 소요되는 시간은 증가되지만, 한 번에 송수신되어 처리해야 하는 데이터 사이즈 및 데이터 개수는 줄어든다. 백그라운드로 대용량 데이터를 송수신하는 노드에서는 한 번에 처리해야 하는 데이터가 줄어들고, 해당 노드의 네트워크 사용률까지 줄어들기 때문에 중요한 다른 실시간 데이터 송수신 및 처리에 미치는 영향을 줄일 수 있다.As can be seen from the background large data transmission / reception test results, if the number of tokens added per cycle is reduced by using an asynchronous DataWriter and flow controller, the time required to complete transmission and reception is increased, but the data size and the number of data to be transmitted and received at once are processed. Decreases. Nodes that send and receive large amounts of data in the background reduce the amount of data that needs to be processed at one time and reduce network utilization for that node, thus reducing the impact on other important real-time data transmissions and processing.

이상에서는 실시예들을 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described above with reference to the embodiments, those skilled in the art will understand that various modifications and changes can be made within the scope of the invention without departing from the spirit and scope of the invention as set forth in the claims below. Could be.

110. 데이터 분석부, 120. 고빈도 데이터 송수신부,
130. 대용량 데이터 송수신부, 140. 백그라운드 대용량 데이터 송수신부,
150. 일반 데이터 송수신부
110. data analysis unit, 120. high frequency data transmission and reception unit,
130. large data transmission and reception unit 140. background large data transmission and reception unit,
150. General Data Transceiver

Claims (3)

데이터 분석부가, 송수신하고자 하는 데이터의 특성을 분석하고, 분석한 데이터의 특성에 따라서 데이터를 분류하는 단계;
고빈도 데이터 송수신부가, 배칭 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 단계;
대용량 데이터 송수신부가, 애플리케이션 레벨 프래그먼트 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 크고 우선순위도 높은 사용자 데이터를 송수신하는 단계;
백그라운드 대용량 데이터 송수신부가, 백그라운드 대용량 데이터 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터를 송수신하는 단계; 및
일반 데이터 송수신부가, 일반 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 낮은 사용자 데이터를 송수신하는 단계;를 포함하며,
상기 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 단계는,
하나의 IP 패킷에 복수의 DDS RTPS 헤더와 사용자 데이터 정보의 쌍이 모여 이루어지는 통합(coalescing) 패킷 구조를 이용하여, 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 단계이고,
상기 데이터 크기가 크고 우선순위도 높은 사용자 데이터를 송수신하는 단계는,
송신하고자 하는 데이터를 애플리케이션 레벨에서 노드와 네트워크의 성능 및 상태에 따라 결정된 크기의 토픽으로 분할하여 송수신하는 단계이며,
상기 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터를 송수신하는 단계는,
상기 분류된 데이터 중에서 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터를 비동기식 DataWriter와 플로우 컨트롤러(Flow Controller)를 이용하여 송수신하되,
요구사항과 노드 및 네트워크 상태를 고려하여, 다른 실시간 사용자 데이터 송수신에 영향을 최소화하도록 token_added_per_period 값을 설정하여 백그라운드 대용량 데이터를 송수신하는 단계인, 데이터 분배 서비스를 위한 데이터 송수신 방법.
Analyzing, by the data analyzing unit, characteristics of the data to be transmitted and received and classifying the data according to the analyzed characteristics of the data;
Transmitting, by a high frequency data transmission / reception unit, user data having a small data size and high transmission / reception frequency among the classified data by applying a batching profile;
Transmitting / receiving, by a large data transmission / reception unit, user data having a high data size and high priority among the classified data by applying an application level fragment profile;
A background mass data transmitting / receiving unit, transmitting and receiving user data having a large data size but low priority among the classified data by applying a background mass data profile; And
And transmitting and receiving, by the general data transmitting and receiving unit, user data having a small data size and a low transmission / reception frequency among the classified data by applying the general profile.
Transmitting / receiving user data having a small data size and high transmission / reception frequency,
A method of transmitting and receiving user data with a small data size and a high frequency of transmission and reception using a coalescing packet structure in which a pair of DDS RTPS headers and user data information are gathered in one IP packet,
Transmitting and receiving user data having a large data size and high priority,
In this step, data to be transmitted is divided into topics of a size determined according to the performance and status of nodes and networks at an application level.
Transmitting and receiving user data having a large data size but low priority,
Among the categorized data, user data having a large data size but low priority is transmitted and received using an asynchronous DataWriter and a flow controller.
A method of transmitting and receiving data for a data distribution service, comprising: setting a token_added_per_period value to minimize the influence on other real-time user data transmission and reception in consideration of requirements and node and network conditions.
삭제delete 삭제delete
KR1020190077394A 2019-06-27 2019-06-27 Method for transmitting and receiving data for data distribution service KR102073684B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190077394A KR102073684B1 (en) 2019-06-27 2019-06-27 Method for transmitting and receiving data for data distribution service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190077394A KR102073684B1 (en) 2019-06-27 2019-06-27 Method for transmitting and receiving data for data distribution service

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020190035749A Division KR102082486B1 (en) 2019-03-28 2019-03-28 Method for transmitting and receiving data

Publications (1)

Publication Number Publication Date
KR102073684B1 true KR102073684B1 (en) 2020-02-05

Family

ID=69514743

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190077394A KR102073684B1 (en) 2019-06-27 2019-06-27 Method for transmitting and receiving data for data distribution service

Country Status (1)

Country Link
KR (1) KR102073684B1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060108474A (en) * 2005-04-14 2006-10-18 주식회사 케이티프리텔 Apparatus and method for transmitting multimedia data and record media recored program therefor
US20130016724A1 (en) * 2011-07-17 2013-01-17 Broadcom Corporation Link layer preemption
KR101236729B1 (en) 2012-03-14 2013-02-28 삼성탈레스 주식회사 Apparatus and method of automatically selecting packet transmission method for data distribution service
KR20170116439A (en) * 2016-04-11 2017-10-19 한국전자통신연구원 Apparatus for scheduling task

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060108474A (en) * 2005-04-14 2006-10-18 주식회사 케이티프리텔 Apparatus and method for transmitting multimedia data and record media recored program therefor
US20130016724A1 (en) * 2011-07-17 2013-01-17 Broadcom Corporation Link layer preemption
KR101236729B1 (en) 2012-03-14 2013-02-28 삼성탈레스 주식회사 Apparatus and method of automatically selecting packet transmission method for data distribution service
KR20170116439A (en) * 2016-04-11 2017-10-19 한국전자통신연구원 Apparatus for scheduling task

Similar Documents

Publication Publication Date Title
US11706145B2 (en) Adaptive private network asynchronous distributed shared memory services
US8111707B2 (en) Compression mechanisms for control plane—data plane processing architectures
US9888048B1 (en) Supporting millions of parallel light weight data streams in a distributed system
US8812725B2 (en) System and method for latency reduction in a network environment
US20090003225A1 (en) Method and apparatus for probing of a communication network
US20150117199A1 (en) Multi-Level iSCSI QoS for Target Differentiated Data in DCB Networks
JP4431128B2 (en) Method and apparatus for performance evaluation of network protocols with low overhead
US9197566B2 (en) Information processing method, recording medium, and information processing apparatus
US7171464B1 (en) Method of tracing data traffic on a network
KR100800344B1 (en) Quality of service for iscsi
US20020046284A1 (en) Methods, systems and computer program products for providing transactional quality of service
US20060215656A1 (en) Method, device and program storage medium for controlling communication
US11032147B2 (en) Acceleration of node configuration for TWAMP with a large number of test sessions
US9137780B1 (en) Synchronizing multicast data distribution on a computing device
CN105634977A (en) Method and device for discovering a path maximum transmission unit (PMTU)
KR102082484B1 (en) Apparatus for transmitting and receiving data
CN114896025A (en) Architecture optimization method and device of service grid, computer equipment and storage medium
CN106131162A (en) A kind of method realizing network service agent based on IOCP mechanism
KR102073684B1 (en) Method for transmitting and receiving data for data distribution service
KR102073682B1 (en) Apparatus for transmitting and receiving data for data distribution service
KR102082486B1 (en) Method for transmitting and receiving data
Alvarez et al. Specializing the network for scatter-gather workloads
WO2008121690A2 (en) Data and control plane architecture for network application traffic management device
Neukom High-Performance File Transfer in SCION
CN108574610A (en) A kind of method for testing pressure, device, electronic equipment and medium

Legal Events

Date Code Title Description
GRNT Written decision to grant