KR102082484B1 - Apparatus for transmitting and receiving data - Google Patents
Apparatus for transmitting and receiving data Download PDFInfo
- Publication number
- KR102082484B1 KR102082484B1 KR1020190035741A KR20190035741A KR102082484B1 KR 102082484 B1 KR102082484 B1 KR 102082484B1 KR 1020190035741 A KR1020190035741 A KR 1020190035741A KR 20190035741 A KR20190035741 A KR 20190035741A KR 102082484 B1 KR102082484 B1 KR 102082484B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- transmission
- reception
- user data
- transmitting
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/61—Scheduling 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—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/36—Flow control; Congestion control by determining packet size, e.g. maximum transfer unit [MTU]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/30—Profiles
- H04L67/303—Terminal profiles
-
- H04L67/327—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling 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/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
Description
본 발명은 데이터 송수신 장치에 관한 것으로, 더욱 상세하게는 사용자 데이터를 특성에 따라 자동 분류하고, 자동 분류된 사용자 데이터를 각 특성에 맞게 송수신할 수 있도록 하는 데이터 송수신 장치에 관한 것이다.The present invention relates to a data transmission and reception apparatus, and more particularly, to a data transmission and reception apparatus for automatically classifying user data according to characteristics and transmitting and receiving the automatically classified user data according to each characteristic.
다양한 산업 분야에서 사용되는 이기종의 많은 장치들은 분산 네트워크를 이용하여 실시간으로 끊임없이 데이터를 분배하고 공유할 뿐만 아니라 시간의 경과에 따라 데이터를 주고받는 참여자들의 동적인 참여와 탈퇴 과정을 쉽게 처리할 수 있도록 데이터 중심의 통신 기술(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.
본 발명은 이러한 문제점을 해결하기 위해 안출된 것으로, 사용자 데이터를 특성에 따라 자동 분류하고, 자동 분류된 사용자 데이터를 각 특성에 맞는 DDS QoS 정책에 따라 송수신할 수 있도록 하는 데이터 송수신 장치를 제공함에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and provides a data transmitting / receiving apparatus 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 apparatus according to an embodiment of the present invention for achieving the above object, a data analysis unit for analyzing and classifying the characteristics of the data to be transmitted and received; And a transceiver for transmitting and receiving data classified according to the analyzed data.
본 발명의 일 실시예에 있어서, 상기 데이터 특성은, 데이터 크기, 송수신 주기, 송수신 빈도 중에서 적어도 하나를 포함하는 것이 바람직하다.In one embodiment of the present invention, it is preferable that the data characteristic includes at least one of a data size, a transmission / reception period, and a transmission / reception frequency.
본 발명의 다른 실시예에 따른 데이터 송수신 장치는, 송수신하고자 하는 데이터의 특성을 분석하여 분류하는 데이터 분석부; 및 상기 분석된 데이터의 특성에 따라 분류된 데이터 타입에 따라 서로 다른 프로파일을 적용하여 송수신하는 송수신부;를 포함하는 것이 바람직하다.In accordance with another aspect of the present invention, an apparatus for transmitting and receiving data includes a data analyzer configured to analyze and classify characteristics of data to be transmitted and received; And a transmission / reception unit configured to transmit and receive different profiles according to data types classified according to characteristics of the analyzed data.
본 발명의 다른 실시예에 있어서, 상기 데이터 분석부에서 분류되는 데이터는, 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터, 데이터 크기가 크고 우선순위도 높은 사용자 데이터, 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터, 데이터 크기가 작으면서 송수신 빈도가 낮은 사용자 데이터 중에서 어느 하나로 분류되는 것이 바람직하다.In another embodiment of the present invention, the data classified by the data analysis unit may be a user data having a small data size and a high frequency of transmission and reception, a user data having a large data size and a high priority, and a large data size but a priority. It is preferable to classify the data into one of low user data and user data having a small data size and low transmission / reception frequency.
본 발명의 다른 실시예에 있어서, 상기 송수신부는, 상기 분석된 데이터의 특성에 따라 분류된 데이터 타입에 따라 적용하는 복수의 프로파일을 포함하여 이루어지는 것이 바람직하다.In another embodiment of the present invention, it is preferable that the transceiver includes a plurality of profiles applied according to data types classified according to the characteristics of the analyzed data.
본 발명의 또 다른 실시예에 따른 데이터 송수신 장치는, 송수신하고자 하는 데이터의 특성을 분석하고, 분석한 데이터의 특성에 따라서 데이터를 분류하는 데이터 분석부; 및 상기 분류된 데이터의 타입에 따라 그에 대응하는 프로파일을 적용하여 송수신하는 송수신부;를 포함하는 것이 바람직하다.In accordance with still another aspect of the present invention, a data transmission / reception apparatus includes: a data analyzer configured to analyze characteristics of data to be transmitted and received and classify the data according to the characteristics of the analyzed data; And a transceiver for transmitting and receiving by applying a profile corresponding to the classified data type.
본 발명의 또 다른 실시예에서, 상기 송수신부는, 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터 송수신에 적용되는 배칭 프로파일, 데이터 크기가 크고 우선순위도 높은 사용자 데이터 송수신에 적용되는 애플리케이션 레벨 프래그먼트 프로파일, 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터 송수신에 적용되는 백그라운드 대용량 데이터 프로파일, 데이터 크기가 작으면서 송수신 빈도가 낮은 사용자 데이터 송수신에 적용되는 일반 프로파일을 포함하여 이루어지는 것이 바람직하다.In another embodiment of the present invention, the transmission and reception unit, a batch profile applied to the user data transmission and reception with high data transmission frequency and a small data size, an application level fragment profile applied to the transmission and reception of user data having a large data size and high priority, It is preferable to include a background large data profile applied to transmitting and receiving user data having a large data size but having a low priority, and a general profile applied to transmitting and receiving user data having a small data size and having a low transmission frequency.
본 발명의 또 다른 실시예에서, 상기 각각의 프로파일은, 라이브러리화 되어 있는 것이 바람직하다.In another embodiment of the present invention, each of the above profiles is preferably libraryed.
본 발명의 또 다른 실시예에 따른 데이터 송수신 장치는, 송수신하고자 하는 데이터의 특성을 분석하고, 분석한 데이터의 특성에 따라서 데이터를 분류하는 데이터 분석부; 상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 고빈도 데이터 송수신부; 상기 분류된 데이터 중에서 데이터 크기가 크고 우선순위도 높은 사용자 데이터를 송수신하는 대용량 데이터 송수신부; 상기 분류된 데이터 중에서 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터를 송수신하는 백그라운드 대용량 데이터 송수신부; 및 상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 낮은 사용자 데이터를 송수신하는 일반 데이터 송수신부;를 포함하는 것이 바람직하다.In accordance with still another aspect of the present invention, a data transmission / reception apparatus includes: a data analyzer configured to analyze characteristics of data to be transmitted and received and classify the data according to the characteristics of the analyzed data; A high frequency data transmission / reception unit configured to transmit and receive user data having a small data size and high transmission / reception frequency among the classified data; A large data transmission / reception unit configured to transmit and receive user data having a high data size and high priority among the classified data; A background mass data transmission / reception unit configured to transmit and receive user data having a large data size but low priority among the classified data; And a general data transmission / reception unit for transmitting and receiving user data having a small data size and low transmission / reception frequency among the classified data.
본 발명의 또 다른 실시예에서, 상기 고빈도 데이터 송수신부는, 하나의 IP 패킷에 복수의 DDS RTPS 헤더와 사용자 데이터 정보의 쌍이 모여 이루어지는 통합(coalescing) 패킷 구조를 이용하여, 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 것이 바람직하다.In another embodiment of the present invention, the high frequency data transmission / reception unit uses 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 to transmit and receive data while having a small data size. It is desirable to transmit and receive high frequency user data.
본 발명의 또 다른 실시예에 따른 데이터 송수신 장치는, 송수신하고자 하는 데이터의 특성을 분석하고, 분석한 데이터의 특성에 따라서 데이터를 분류하는 데이터 분석부; 배칭 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 고빈도 데이터 송수신부; 애플리케이션 레벨 프래그먼트 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 크고 우선순위도 높은 사용자 데이터를 송수신하는 대용량 데이터 송수신부; 백그라운드 대용량 데이터 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터를 송수신하는 백그라운드 대용량 데이터 송수신부; 및 일반 프로파일을 적용하여 상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 낮은 사용자 데이터를 송수신하는 일반 데이터 송수신부;를 포함하는 것이 바람직하다.In accordance with still another aspect of the present invention, a data transmission / reception apparatus includes: a data analyzer configured to analyze characteristics of data to be transmitted and received and classify the data according to the characteristics of the analyzed data; A high frequency data transmission / reception unit configured to apply a batching profile to transmit and receive user data having a small data size and high transmission / reception frequency among the classified data; A large data transmission / reception unit configured to apply an application level fragment profile to transmit and receive user data having a high data size and high priority among the classified data; A background mass data transmitting / receiving unit configured to apply a background mass data profile to transmit / receive user data having a high data size but low priority from the classified data; And a general data transmission / reception unit configured to apply a general profile to transmit and receive user data having a small data size and low transmission / reception frequency among the classified data.
본 발명의 또 다른 실시예에서, 상기 대용량 데이터 송수신부는, 송신하고자 하는 데이터를 애플리케이션 레벨에서 복수의 데이터로 분할하여 송신하는 것이 바람직하다.In another embodiment of the present invention, the mass data transceiving unit preferably transmits data to be divided into a plurality of data at an application level.
본 발명의 데이터 송수신 장치는, 사용자 데이터를 특성에 따라 자동 분류하고, 자동 분류된 사용자 데이터를 각 특성에 맞는 DDS QoS 정책에 따라 송수신함으로써, 손쉽게 DDS 미들웨어를 시스템에 적용할 수 있게 된다.The data transmitting / receiving apparatus of the present invention can easily apply DDS middleware to a system by automatically classifying user data according to characteristics and transmitting and receiving the automatically classified user data according to DDS QoS policies for each characteristic.
사용자 데이터 특성 별로 가장 적합한 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 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 and reception method 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 according to a preferred 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 according to an embodiment of the present invention.
도 1에 도시하는 바와 같이, 본 발명의 일 실시예에 따른 데이터 송수신 장치는 데이터 분석부(110), 고빈도 데이터 송수신부(120), 대용량 데이터 송수신부(130), 백그라운드 대용량 데이터 송수신부(140), 일반 데이터 송수신부(150)를 포함하여 이루어질 수 있다.As shown in FIG. 1, a data transmitting and receiving apparatus according to an embodiment of the present invention includes a
데이터 분석부(110)는 DDS 미들웨어를 이용하여 송수신하고자 하는 사용자 데이터의 특성(예를 들어, 크기, 송수신 주기, 송수신 빈도 등)을 분석하여 송신하고자 하는 사용자 데이터의 타입을 분류한다.The
사용자 데이터 특성에 따라 분류되는 사용자 데이터 타입은 크기가 작으면서 송수신 빈도가 높은 고빈도 데이터, 데이터 크기가 큰 대용량 데이터, 그리고 데이터 크기가 크지만 우선순위가 낮아서 시스템의 성능에 영향을 최소화하여 송수신을 해야 하는 우선순위가 낮은 대용량 데이터(백그라운드 대용량 데이터), 데이터 크기가 작으면서 송수신 빈도도 낮은 일반 데이터 등으로 분류될 수 있다.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.
RESOURCE_LIMIT - 고빈도 데이터를 송수신하므로 버퍼 크기는 한 번에 전송하는 데이터 개수 이상 설정 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
HEARTBEAT - 송신측의 버퍼를 빨리 비워야 하므로 주기를 빠르게 설정 HEARTBEAT-Set the cycle faster because the sender's buffer should be emptied quickly.
MAX_HEARTBEAT_RETRIES - 그룹에서 탈퇴한 수신단을 빠르게 비활성화(inactive)로 처리하기 위하여 데이터 전송 주기와 HEARTBEAT 주기 및 RESOURCE_LIMIT 크기를 고려하여 설정 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.
RELIABILITY - 위치 정보와 같이 주기적으로 송신 되고, 최신 데이터 값이 유효한 경우, BEST_EFFORT로 설정 (또는 RELIABILITY가 RELIABLE인 경우, HISTORY 속성을 KEEP_LAST로 설정) RELIABILITY-sent periodically 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.
RESOURCE_LIMIT - 토픽 크기가 큰 경우, 버퍼 크기를 크게 설정하면 응용 프로그램이 사용하는 메모리 또한 비례하여 증가. 노드의 가용 메모리를 고려하여 설정 (메모리가 작은 임베디드 시스템은 특히 주의해서 설정) 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)
RELIABILITY - 사용자 데이터를 손실 없이 송수신해야 하므로 KEEP_ALL로 설정 (RESOURCE_LIMIT로 설정한 버퍼에 가득 찬 경우, 전송 측에서는 버퍼가 비워질 때까지 설정된 시간만큼 대기하게 되므로 일시적 또는 영구적으로 통신이 단절된 것처럼 동작) RELIABILITY-Since user data should be transmitted and received without loss, set to KEEP_ALL.
MAX_MESSAGE_SIZE, RECV_SOCKET_BUFFER, MAX_FRAGMENTS_PER_SAMPLE - 토픽 및 사용자 데이터의 크기, 전송 프로토콜의 종류를 고려하여 설정 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
고빈도 데이터 송수신부(120)는 데이터 분석부(110)에서 분류된 고빈도 데이터를 통합 방법(도 2의 (C) 참조)을 이용하여 송수신할 수 있다.The high
구체적으로 작은 크기의 사용자 데이터를 초당 수천 번의 빈도로 송수신하는 고빈도 데이터의 경우에는, 메시지 헤더와 같은 공통부분의 송수신 횟수를 줄이기 위하여 통합(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
전술한, 고빈도 데이터 송수신부(120)는 데이터 분석부(110)에서 분류된 고빈도 데이터를 배치(Batch) QoS 정책에 따라 송수신할 수도 있다.The high
배치 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 /
여기서 배칭 프로파일은 고빈도 데이터 송수신에 사용되는 배치 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 /
예를 들어 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 /
여기서 애플리케이션 레벨 프래그먼트 프로파일은 대용량 데이터 송수신에 사용되는 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-
기본적으로 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-
전술한 백그라운드 대용량 데이터 송수신부(140)는 데이터 크기는 크지만 우선순위가 낮아서 시스템의 성능에 영향을 최소화하여 송수신을 해야 하는 사용자 데이터를 송수신하기 위한 백그라운드 대용량 데이터 프로파일을 이용하여 백그라운드 대용량 데이터에 대한 송수신을 수행한다.The above-described background large data transmission /
여기서 백그라운드 대용량 데이터 프로파일은 우선순위가 낮은 대용량 데이터 송수신에 사용되는 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
일반 데이터 송수신부(150)는 특별한 특성이 없는 일반 데이터를 송수신하기 위한 프로파일인 일반 프로파일을 이용하여 일반 데이터에 대한 송수신을 수행한다.The general data transmission /
여기서 일반 프로파일은 일반 데이터 송수신에 사용되는 기본 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-described batching profile for transmitting and receiving high frequency user data, application level fragment profile for transmitting and receiving large data, background large data profile for transmitting and receiving low priority data, general profile for transmitting and receiving user data 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
도 6은 본 발명의 일 실시예에 따른 데이터 송수신 방법을 설명하기 위한 처리도이다.6 is a flowchart illustrating a data transmission and reception method according to an embodiment of the present invention.
우선, 데이터 송수신 장치(100)의 데이터 분석부(110)는 송수신하고자 하는 사용자 데이터의 특성(예를 들어, 크기, 송수신 주기, 송수신 빈도 등)을 분석한다(S10).First, the
이후에는, 상기한 단계 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 /
상기한 단계 S40에서 고빈도 데이터 송수신부(120)는 메시지 헤더와 같은 공통부분의 송수신 횟수를 줄이기 위하여 통합 방법을 이용하고, 버퍼 크기를 충분히 설정한 후 HEARTBEAT 주기를 빠르게 설정할 수 있다.In step S40, the high frequency data transmission /
또한, 상기한 단계 S40에서 고빈도 데이터 송수신부(120)는 데이터 분석부(110)에서 분류된 고빈도 데이터를 배치 QoS 정책에 따라 송수신할 수도 있다. In addition, in step S40, the high
한편, 상기한 단계 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
한편, 상기한 단계 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 /
상기한 단계 S70에서 대용량 데이터 송수신부(130)는 대용량 데이터를 네트워크 성능을 고려하여 적절한 크기의 토픽으로 분할한 후, 배치 QoS 정책에 따라 송신하고, 수신측에서 수신한 토픽을 재조립하여 원래의 신호로 복원한다.In step S70, the large-capacity data transmission /
한편, 상기한 단계 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 /
상기한 단계 S80에서 백그라운드 대용량 데이터 송수신부(140)는 비동기식 DataWriter와 플로우 컨트롤러를 이용하여 우선순위가 낮은 대용량 데이터를 송수신할 수 있다.In step S80, the background mass data transmission /
상기한 단계 S80에서 백그라운드 대용량 데이터 송수신부(140)는 요구사항과 노드 및 네트워크 상태 등을 고려하여, 다른 실시간 사용자 데이터 송수신에 영향을 최소화하도록 token_added_per_period 값을 설정하는 것이 바람직하다.In step S80, the background mass
이하에서는 본 발명에 따라 사용자 데이터 특성에 따라 각각 고빈도 데이터, 대용량 데이터, 우선순위가 낮은 백그라운드 대용량 데이터 송수신에 대한 성능을 테스트한다.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.
토픽의 크기와 송수신 회수에 상관없이 시험한 모든 경우에 대해서는 통합 방법보다 배칭 방법이 표준 편차가 낮아서 가장 안정적이고, 지연 시간이 짧다.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 the performance of M is much improved.
한편, 대용량 데이터는 한 번에 전송하려는 사용자 데이터의 크기를 5MB인 경우로 정한다. 대용량 데이터 송수신 시험 프로그램은 고빈도 데이터 송수신 시험 프로그램과 동일하게 동작하는데, 애플리케이션 레벨에서 미리 작은 크기의 데이터로 분할하여 여러 번에 나누어 송수신하고, 수신 단에서는 다시 취합한 후 5MB 크기로 만들어서 전달하는 방법을 사용할 수 있다.Meanwhile, for large data, the size of user data to be transferred 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 sized 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, it is possible to compare and analyze the delay time measured when sending and receiving a 5MB topic once for 5MB user data transmission and reception, and the delay time measured when sending and receiving 5,120 1KB topics. . 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.
시험 결과를 통해 알 수 있듯이, 토픽의 크기가 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 / 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 for measuring latency and network utilization by changing token_added_per_period attribute values to UNLIMITED, 30, 20, 10, 5, and 1 when 100MB user data is transmitted and received using a 32KB topic.
비동기 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 average time for transmitting and receiving 100MB of user data is 116,765.3ms 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 the above has been described with reference to the embodiments, those skilled in the art will understand that various modifications and changes can be made 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
150. General Data Transceiver
Claims (12)
상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는 고빈도 데이터 송수신부;
상기 분류된 데이터 중에서 데이터 크기가 크고 우선순위도 높은 사용자 데이터를 송수신하는 대용량 데이터 송수신부;
상기 분류된 데이터 중에서 데이터 크기는 크지만 우선순위가 낮은 사용자 데이터를 송수신하는 백그라운드 대용량 데이터 송수신부; 및
상기 분류된 데이터 중에서 데이터 크기가 작으면서 송수신 빈도가 낮은 사용자 데이터를 송수신하는 일반 데이터 송수신부;를 포함하며,
상기 고빈도 데이터 송수신부는,
하나의 IP 패킷에 복수의 DDS RTPS 헤더와 사용자 데이터 정보의 쌍이 모여 이루어지는 통합(coalescing) 패킷 구조를 이용하여, 데이터 크기가 작으면서 송수신 빈도가 높은 사용자 데이터를 송수신하는, 데이터 송수신 장치.A data analysis unit for analyzing characteristics of data to be transmitted and received and classifying the data according to the characteristics of the analyzed data;
A high frequency data transmission / reception unit configured to transmit and receive user data having a small data size and high transmission / reception frequency among the classified data;
A large data transmission / reception unit configured to transmit and receive user data having a high data size and high priority among the classified data;
A background mass data transmission / reception unit configured to transmit and receive user data having a large data size but low priority among the classified data; And
And a general data transmitting / receiving unit which transmits and receives user data having a small data size and low transmission / reception frequency among the classified data.
The high frequency data transmission and reception unit,
A data transmitting / receiving apparatus for transmitting and receiving user data with a small data size and a high frequency of transmission and reception by using a coalescing packet structure in which a plurality of pairs of DDS RTPS headers and user data information are gathered in one IP packet.
상기 데이터 특성은,
데이터 크기, 송수신 주기, 송수신 빈도 중에서 적어도 하나를 포함하는, 데이터 송수신 장치.The method of claim 1,
The data characteristic is,
A data transmitting and receiving device comprising at least one of data size, transmission and reception period, transmission frequency.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190035741A KR102082484B1 (en) | 2019-03-28 | 2019-03-28 | Apparatus for transmitting and receiving data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190035741A KR102082484B1 (en) | 2019-03-28 | 2019-03-28 | Apparatus for transmitting and receiving data |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190077393A Division KR102073682B1 (en) | 2019-06-27 | 2019-06-27 | Apparatus for transmitting and receiving data for data distribution service |
Publications (1)
Publication Number | Publication Date |
---|---|
KR102082484B1 true KR102082484B1 (en) | 2020-02-27 |
Family
ID=69647344
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190035741A KR102082484B1 (en) | 2019-03-28 | 2019-03-28 | Apparatus for transmitting and receiving data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102082484B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102372316B1 (en) * | 2021-10-13 | 2022-03-08 | 한화시스템(주) | Dynamic QoS setting device and method for improving DDS performance |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980075850A (en) * | 1997-04-02 | 1998-11-16 | 문정환 | How to prioritize network traffic |
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 |
KR20140004582A (en) * | 2012-07-02 | 2014-01-13 | 주식회사 케이티 | Classification and handling methods and apparatuses for small data by mobile data application |
KR20170116439A (en) * | 2016-04-11 | 2017-10-19 | 한국전자통신연구원 | Apparatus for scheduling task |
-
2019
- 2019-03-28 KR KR1020190035741A patent/KR102082484B1/en active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR19980075850A (en) * | 1997-04-02 | 1998-11-16 | 문정환 | How to prioritize network traffic |
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 |
KR20140004582A (en) * | 2012-07-02 | 2014-01-13 | 주식회사 케이티 | Classification and handling methods and apparatuses for small data by mobile data application |
KR20170116439A (en) * | 2016-04-11 | 2017-10-19 | 한국전자통신연구원 | Apparatus for scheduling task |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102372316B1 (en) * | 2021-10-13 | 2022-03-08 | 한화시스템(주) | Dynamic QoS setting device and method for improving DDS performance |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8111707B2 (en) | Compression mechanisms for control plane—data plane processing architectures | |
US9634944B2 (en) | Multi-level iSCSI QoS for target differentiated data in DCB networks | |
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 | |
Gu et al. | Experiences in design and implementation of a high performance transport protocol | |
US7289509B2 (en) | Apparatus and method of splitting a data stream over multiple transport control protocol/internet protocol (TCP/IP) connections | |
US7761609B1 (en) | Socket level packet scheduling for connectionless protocols | |
US20080049617A1 (en) | System for fine grained flow-control concurrency to prevent excessive packet loss | |
US20060020598A1 (en) | System and method for managing multiple connections to a server | |
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 | |
KR100800344B1 (en) | Quality of service for iscsi | |
US7171464B1 (en) | Method of tracing data traffic on a network | |
CN106027595A (en) | Access log processing method and system for CDN node | |
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 | |
CN106131162A (en) | A kind of method realizing network service agent based on IOCP mechanism | |
KR102082486B1 (en) | Method for transmitting and receiving data | |
KR102073682B1 (en) | Apparatus for transmitting and receiving data for data distribution service | |
KR102073684B1 (en) | Method for transmitting and receiving data for data distribution service | |
WO2008121690A2 (en) | Data and control plane architecture for network application traffic management device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GRNT | Written decision to grant |