KR20210051271A - Apparatus and method for transmitting data for transmission guarantee - Google Patents

Apparatus and method for transmitting data for transmission guarantee Download PDF

Info

Publication number
KR20210051271A
KR20210051271A KR1020190136319A KR20190136319A KR20210051271A KR 20210051271 A KR20210051271 A KR 20210051271A KR 1020190136319 A KR1020190136319 A KR 1020190136319A KR 20190136319 A KR20190136319 A KR 20190136319A KR 20210051271 A KR20210051271 A KR 20210051271A
Authority
KR
South Korea
Prior art keywords
transmission
data
module
data transmission
guarantee
Prior art date
Application number
KR1020190136319A
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 KR1020190136319A priority Critical patent/KR20210051271A/en
Publication of KR20210051271A publication Critical patent/KR20210051271A/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0015Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0864Round trip delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring

Abstract

Disclosed are a data transmission device and method for transmission guarantee. The data transmission device for transmission guarantee according to an embodiment comprises: a data transmission module for transmitting data to a reception terminal and calculating a data throughput per hour based on the transmitted data; a data reception module for receiving an acknowledgment message for the transmitted data from the reception terminal; a network status determination module for determining network status information based on the acknowledgment message; and a transmission guarantee function management module for determining whether a transmission guarantee function is applied to the data transmission module and the data reception module based on at least one of the calculated data throughput per hour, the determined network status information, and a central processing unit (CPU) occupancy rate for data transmission and reception. Accordingly, the cost for providing a transmission guarantee function can be reduced.

Description

전송 보장을 위한 데이터 전송 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING DATA FOR TRANSMISSION GUARANTEE}Data transmission device and method for guaranteeing transmission {APPARATUS AND METHOD FOR TRANSMITTING DATA FOR TRANSMISSION GUARANTEE}

개시되는 실시예들은 네트워크 상태를 고려한 데이터 전송 기술과 관련된다.The disclosed embodiments relate to a data transmission technology in consideration of network conditions.

화상 회의 서비스는 복수의 참석자들이 네트워크를 통해 송수신한 영상을 각 참석자들의 화면에 표시하여, 물리적인 회의와 유사하게 음성 및 영상을 공유하는 서비스이다. 이때, 각 참석자들의 단말은 네트워크에서 손실되는 데이터로 인한 영상과 음성의 품질 저하를 막기 위해, 부정 응답(NACK: negative acknowledgement), 전진 오류 수정(FEC: Forward Error Correction) 등의 다양한 전송 보장 기법을 적용하여 데이터를 송수신하게 된다. The video conference service is a service for sharing audio and video similar to a physical conference by displaying images transmitted and received by a plurality of participants through a network on each participant's screen. At this time, each participant's terminal implements various transmission guarantee techniques such as negative acknowledgment (NACK) and forward error correction (FEC) to prevent degradation of video and audio quality due to data loss from the network. It is applied to transmit and receive data.

하지만, 이러한 전송 보장 기법은 송신 단말과 수신 단말이 각각 전송 보장을 위한 큐(Queue), 전송 주기 등을 관리해야 하기 때문에 많은 비용이 발생하게 된다. 특히, 저 사양 단말이나 저 지연 전송을 목적으로 하는 단말에서는 상술한 비용 문제가 성능에 많은 영향을 미칠 수 있다. However, such a transmission guarantee scheme incurs a lot of cost because the transmitting terminal and the receiving terminal must each manage a queue for guaranteeing transmission, a transmission period, and the like. In particular, in a low specification terminal or a terminal intended for low-delay transmission, the above-described cost problem may have a great influence on performance.

구체적으로, 기존의 서비스형 커뮤니케이션 플랫폼(CPaaS: Communications Platform as a Service)은 항상 부정 응답 등의 전송 보장 기법을 적용함으로써, 송수신 단말에서 전송 보장을 위한 큐(Queue)와 그에 따른 데이터 저장/삭제, 재전송 관련 주기를 관리하는 등의 비용이 발생하였다. 특히, 임베디드 단말과 같은 저 사양 단말에서는 이러한 비용이 성능에 크게 영향을 미칠 수 있다.Specifically, the existing service-type communication platform (CPaaS: Communications Platform as a Service) always applies a transmission guarantee technique such as a negative response, so that a queue for transmission guarantee at the transmitting and receiving terminal and data storage/deletion accordingly, Costs such as managing retransmission-related cycles were incurred. In particular, in low-end terminals such as embedded terminals, these costs can greatly affect performance.

따라서, 실시간으로 측정되는 네트워크 품질과 대역폭 사용 추세에 맞추어 전송 보장 기능을 선택적으로 적용함으로써, 원활하게 데이터 송수신이 가능하도록 하는 방법이 요구된다.Accordingly, there is a need for a method for smoothly transmitting and receiving data by selectively applying a transmission guarantee function according to the network quality and bandwidth usage trend measured in real time.

한국공개특허 제10-2019-0006189호 (2019.01.17. 공개)Korean Patent Publication No. 10-2019-0006189 (published on January 17, 2019)

개시되는 실시예들은 전송 보장을 위한 데이터 전송 장치 및 방법을 제공하기 위한 것이다. Disclosed embodiments are to provide an apparatus and method for transmitting data for guaranteeing transmission.

일 실시예에 따른 전송 보장을 위한 데이터 전송 장치는, 수신 단말로 데이터를 송신하고, 상기 송신된 데이터에 기초하여 시간당 데이터 전송량(throughput)을 산출하는 데이터 송신 모듈, 상기 수신 단말로부터 상기 송신된 데이터에 대한 수신 확인 메시지를 수신하는 데이터 수신 모듈, 상기 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정하는 네트워크 상태 결정 모듈, 및 상기 산출된 시간당 데이터 전송량, 상기 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛(CPU: Central Processing Unit) 점유율 중 적어도 하나에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 대한 전송 보장 기능의 적용 여부를 결정하는 전송 보장 기능 관리 모듈을 포함한다.A data transmission device for guaranteeing transmission according to an embodiment includes a data transmission module that transmits data to a reception terminal and calculates a data throughput per hour based on the transmitted data, the transmitted data from the reception terminal A data receiving module for receiving an acknowledgment message for, a network state determining module for determining network state information based on the acknowledgment message, and central processing for the calculated amount of data transmission per hour, the determined network state information, and data transmission/reception And a transmission guarantee function management module that determines whether or not to apply a transmission guarantee function to the data transmission module and the data reception module based on at least one of CPU (Central Processing Unit) occupancy.

상기 전송 보장 기능 관리 모듈은, 일정 기간 동안에 상기 산출된 시간당 데이터 전송량이 증가하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용할 수 있다.The transmission guarantee function management module may apply the transmission guarantee function to the data transmission module and the data reception module when the calculated amount of data transmission per time increases during a predetermined period.

상기 네트워크 상태 정보는, 사용 가능한 대역폭(Available Bandwidth)을 포함하고, 상기 전송 보장 기능 관리 모듈은, 상기 산출된 시간당 데이터 전송량이 상기 사용 가능한 대역폭에 근접하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용할 수 있다.The network state information includes an available bandwidth, and the transmission guarantee function management module includes the data transmission module and the data reception module when the calculated amount of data transmission per time is close to the available bandwidth. The transmission guarantee function can be applied to.

상기 네트워크 상태 정보는, 전송률 제어 상태(rate control state)를 포함하고, 상기 전송 보장 기능 관리 모듈은, 상기 전송률 제어 상태가 상기 시간당 데이터 전송량을 증가시키는 상태인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시킬 수 있다.The network state information includes a rate control state, and the transmission guarantee function management module includes the data transmission module and the data reception when the transmission rate control state is a state in which the data transmission amount per time is increased. The transmission guarantee function applied to the module can be stopped.

상기 전송 보장 기능 관리 모듈은, 상기 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시킬 수 있다. The transmission guarantee function management module may stop the transmission guarantee function applied to the data transmission module and the data reception module when the central processing unit occupancy is equal to or greater than a preset first threshold value.

상기 전송 보장 기능 관리 모듈은, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하기로 결정하는 경우, 상기 결정된 네트워크 상태 정보에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용될 전송 보장 기법을 결정할 수 있다.When the transmission guarantee function management module determines to apply the transmission guarantee function to the data transmission module and the data reception module, the transmission guarantee function is applied to the data transmission module and the data reception module based on the determined network state information. You can decide on a coverage technique.

상기 네트워크 상태 정보는, 라운드 트립 타임(RTT: Round Trip Time)을 포함하고, 상기 전송 보장 관리 모듈은, 상기 라운드 트립 타임이 기 설정된 제2 임계 값 이상인 경우, 전진 오류 수정(FEC: Forward Error Correction) 기반의 전송 보장 기법을 적용하고, 상기 라운드 트립 타임이 상기 기 설정된 제2 임계 값 미만인 경우, 부정 응답(NACK: negative acknowledgement) 기반의 전송 보장 기법을 적용할 수 있다.The network status information includes a round trip time (RTT), and the transmission guarantee management module, when the round trip time is greater than or equal to a preset second threshold, forward error correction (FEC). )-Based transmission guarantee scheme is applied, and when the round trip time is less than the preset second threshold, a negative acknowledgment (NACK)-based transmission guarantee scheme may be applied.

상기 전송 보장을 위한 데이터 전송 장치는, 상기 결정된 네트워크 상태 정보에 기초하여 상기 수신 단말로 송신될 데이터를 인코딩하는 데이터 관리 모듈을 더 포함하고, 상기 데이터 송신 모듈은, 상기 인코딩된 데이터를 상기 수신 단말로 송신하고, 상기 인코딩된 데이터에 기초하여 상기 시간당 데이터 전송량을 산출할 수 있다.The data transmission device for ensuring the transmission further comprises a data management module for encoding data to be transmitted to the reception terminal based on the determined network state information, and the data transmission module includes the encoded data to the reception terminal. And calculates the amount of data transmission per time based on the encoded data.

일 실시예에 따른 전송 보장을 위한 데이터 전송 방법은, 데이터 송신 모듈에서, 수신 단말로 데이터를 송신하는 단계, 상기 데이터 송신 모듈에서, 상기 송신된 데이터에 기초하여 시간당 데이터 전송량(throughput)을 산출하는 단계, 데이터 수신 모듈에서, 상기 수신 단말로부터 상기 송신된 데이터에 대한 수신 확인 메시지를 수신하는 단계, 네트워크 상태 결정 모듈에서, 상기 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정하는 단계, 및 전송 보장 기능 관리 모듈에서, 상기 산출된 시간당 데이터 전송량, 상기 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛(CPU: Central Processing Unit) 점유율 중 적어도 하나에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 대한 전송 보장 기능의 적용 여부를 결정하는 단계를 포함한다.A data transmission method for guaranteeing transmission according to an embodiment includes, in a data transmission module, transmitting data to a receiving terminal, in the data transmission module, calculating a data throughput per hour based on the transmitted data. Steps, in a data receiving module, receiving an acknowledgment message for the transmitted data from the receiving terminal, in a network state determining module, determining network state information based on the acknowledgment message, and a transmission guarantee function In the management module, transmission to the data transmission module and the data reception module based on at least one of the calculated data transmission amount per time, the determined network state information, and a central processing unit (CPU) occupancy rate for data transmission/reception. And determining whether to apply the guarantee function.

상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 일정 기간 동안에 상기 산출된 시간당 데이터 전송량이 증가하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용할 수 있다.The determining whether to apply the transmission guarantee function may include applying the transmission guarantee function to the data transmission module and the data reception module when the calculated amount of data transmission per time increases during a predetermined period.

상기 네트워크 상태 정보는, 사용 가능한 대역폭(Available Bandwidth)을 포함하고, 상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 상기 산출된 시간당 데이터 전송량이 상기 사용 가능한 대역폭에 근접하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용할 수 있다.The network state information includes an available bandwidth, and determining whether to apply the transmission guarantee function may include, when the calculated amount of data transmission per time is close to the available bandwidth, the data transmission module And the transmission guarantee function may be applied to the data receiving module.

상기 네트워크 상태 정보는, 전송률 제어 상태(rate control state)를 포함하고, 상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 상기 전송률 제어 상태가 상기 시간당 데이터 전송량을 증가시키는 상태인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시킬 수 있다.The network state information includes a rate control state, and the step of determining whether to apply the transmission guarantee function may include, when the transmission rate control state is a state in which the data transmission amount per time is increased, the data transmission The transmission guarantee function applied to the module and the data receiving module may be stopped.

상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 상기 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시킬 수 있다.The determining whether to apply the transmission guarantee function may stop the transmission guarantee function applied to the data transmission module and the data reception module when the central processing unit occupancy is greater than or equal to a preset first threshold value.

상기 전송 보장을 위한 데이터 전송 방법은, 전송 보장 기능 관리 모듈에서, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하기로 결정하는 경우, 상기 결정된 네트워크 상태 정보에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용될 전송 보장 기법을 결정하는 단계를 더 포함할 수 있다.The data transmission method for guaranteeing the transmission, when the transmission guarantee function management module determines to apply the transmission guarantee function to the data transmission module and the data reception module, the data transmission based on the determined network state information. It may further include determining a transmission guarantee scheme to be applied to the module and the data receiving module.

상기 네트워크 상태 정보는, 라운드 트립 타임(RTT: Round Trip Time)을 포함하고, 상기 전송 보장 기법을 결정하는 단계는, 상기 라운드 트립 타임이 기 설정된 제2 임계값 이상인 경우, 전진 오류 수정(FEC: Forward Error Correction) 기반의 전송 보장 기법을 적용하고, 상기 라운드 트립 타임이 상기 기 설정된 제2 임계값 미만인 경우, 부정 응답(NACK: negative acknowledgement) 기반의 전송 보장 기법을 적용할 수 있다.The network state information includes a round trip time (RTT: Round Trip Time), and the determining of the transmission guarantee scheme includes forward error correction (FEC: When a forward error correction (forward error correction)-based transmission guarantee scheme is applied and the round trip time is less than the preset second threshold, a negative acknowledgment (NACK)-based transmission guarantee scheme may be applied.

상기 전송 보장을 위한 데이터 전송 방법은, 데이터 관리 모듈에서, 상기 결정된 네트워크 상태 정보에 기초하여 상기 수신 단말로 송신될 데이터를 인코딩하는 단계를 더 포함하고, 상기 송신하는 단계는, 상기 인코딩된 데이터를 상기 수신 단말로 송신하고, 상기 산출하는 단계는, 상기 인코딩된 데이터에 기초하여 상기 시간당 데이터 전송량을 산출할 수 있다.The data transmission method for ensuring the transmission further includes, in a data management module, encoding data to be transmitted to the receiving terminal based on the determined network state information, and the transmitting step includes: In the step of transmitting to the receiving terminal and calculating, the amount of data transmission per hour may be calculated based on the encoded data.

개시되는 실시예들에 따르면, 시간당 데이터 전송량 및 네트워크 상태 정보에 기초하여 전송 보장 기능의 적용 여부를 결정함으로써, 전송 보장 기능을 네트워크 상태 정보에 따라 선택적으로 적용하여 전송 보장 기능을 제공하기 위한 비용을 절감할 수 있다. 이에 따라, 저 사양 단말과 저 지연 통신에서 보다 원활한 영상, 음성 송수신을 가능하도록 할 수 있다.According to the disclosed embodiments, by determining whether to apply the transmission guarantee function based on the amount of data transmission per hour and the network state information, the transmission guarantee function is selectively applied according to the network state information, thereby reducing the cost for providing the transmission guarantee function. You can save. Accordingly, it is possible to enable smoother transmission and reception of video and audio in low-delay communication with a low specification terminal.

도 1은 일 실시예에 따른 데이터 전송 시스템의 구성도
도 2는 일 실시예에 따른 각 단말의 접속 과정을 설명하기 위한 도면
도 3은 일 실시예에 따른 전송 보장을 위한 데이터 전송 장치의 구성도
도 4는 일 실시예에 따른 네트워크 상태 정보의 예시도
도 5는 일 실시예에 따른 사용 가능한 대역폭의 예시도
도 6는 일 실시예에 따른 전송 보장 기능의 적용 여부를 결정하는 방법의 흐름도
도 7은 일 실시예에 따른 전송 보장을 위한 데이터 전송 방법의 순서도
도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도
1 is a configuration diagram of a data transmission system according to an embodiment
2 is a diagram for explaining an access process of each terminal according to an embodiment
3 is a configuration diagram of a data transmission apparatus for guaranteeing transmission according to an embodiment
4 is an exemplary diagram of network state information according to an embodiment
5 is an exemplary diagram of usable bandwidth according to an embodiment
6 is a flowchart of a method for determining whether to apply a transmission guarantee function according to an embodiment
7 is a flowchart of a data transmission method for guaranteeing transmission according to an embodiment
8 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments.

이하, 도면을 참조하여 구체적인 실시형태를 설명하기로 한다. 이하의 상세한 설명은 본 명세서에서 기술된 방법, 장치 및/또는 시스템에 대한 포괄적인 이해를 돕기 위해 제공된다. 그러나 이는 예시에 불과하며 이에 제한되지 않는다.Hereinafter, a specific embodiment will be described with reference to the drawings. The following detailed description is provided to aid in a comprehensive understanding of the methods, devices, and/or systems described herein. However, this is only an example and is not limited thereto.

실시예들을 설명함에 있어서, 관련된 공지기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. 상세한 설명에서 사용되는 용어는 단지 실시예들을 기술하기 위한 것이며, 결코 제한적이어서는 안 된다. 명확하게 달리 사용되지 않는 한, 단수 형태의 표현은 복수 형태의 의미를 포함한다. 또한, "포함" 또는 "구비"와 같은 표현은 어떤 특성들, 숫자들, 단계들, 동작들, 요소들, 이들의 일부 또는 조합을 가리키기 위한 것이며, 기술된 것 이외에 하나 또는 그 이상의 다른 특성, 숫자, 단계, 동작, 요소, 이들의 일부 또는 조합의 존재 또는 가능성을 배제하도록 해석되어서는 안 된다.In describing the embodiments, when it is determined that a detailed description of a related known technology may unnecessarily obscure the subject matter of the invention, a detailed description thereof will be omitted. In addition, terms to be described later are terms defined in consideration of functions and may vary according to the intention or custom of users or operators. Therefore, the definition should be made based on the contents throughout the present specification. The terms used in the detailed description are only for describing the embodiments, and should not be limiting. Unless explicitly used otherwise, expressions in the singular form include the meaning of the plural form. In addition, expressions such as "comprising" or "feature" are intended to indicate certain characteristics, numbers, steps, actions, elements, some or combination thereof, and one or more other characteristics other than those described. It should not be construed to exclude the presence or possibility of, numbers, steps, actions, elements, parts or combinations thereof.

도 1은 일 실시예에 따른 데이터 전송 시스템(100)의 구성도이다.1 is a block diagram of a data transmission system 100 according to an embodiment.

일 실시예에서, 데이터 전송 시스템(100)은 복수의 단말 간의 화상 회의 서비스를 제공하기 위한 것일 수 있다.In one embodiment, the data transmission system 100 may be for providing a video conference service between a plurality of terminals.

도 1을 참조하면, 데이터 전송 시스템(100)은 복수의 단말(110-1, 110-2) 및 화상 회의 서버(120)를 포함한다.Referring to FIG. 1, the data transmission system 100 includes a plurality of terminals 110-1 and 110-2 and a video conference server 120.

복수의 단말(110-1, 110-2)은 화상 회의 서비스를 이용하는 사용자들의 장치일 수 있다. 구체적으로, 복수의 단말(110-1, 110-2)은 유/무선 네트워크를 통해 접속 가능한 화상 회의 서버(120)와 연동하여 사용자에게 화상 회의 서비스를 제공할 수 있다. The plurality of terminals 110-1 and 110-2 may be devices of users using a video conference service. Specifically, the plurality of terminals 110-1 and 110-2 may provide a video conferencing service to a user by interlocking with the video conferencing server 120 accessible through a wired/wireless network.

한편, 각 단말(110-1, 110-2)는 데스크탑 PC, 테블릿 PC, 노트북, 스마트폰 등 다양한 형태의 장치를 포함할 수 있으나, 반드시 이에 한정되는 것은 아니며, 디스플레이 수단, 정보처리 수단 및 유무선 네트워크를 통한 통신 수단을 구비한 다양한 형태의 장치들을 포함할 수 있다.Meanwhile, each of the terminals 110-1 and 110-2 may include various types of devices such as a desktop PC, a tablet PC, a notebook, and a smart phone, but are not necessarily limited thereto, and a display means, an information processing means, and It may include various types of devices having a communication means through a wired or wireless network.

화상 회의 서버(120)는 화상 회의 진행과 관련된 각종 정보를 저장하고, 각 단말(110-1, 110-2)에게 공용 IP/Port, 타 단말의 피어 투 피어(P2P: Peer to Peer)와 관련된 정보를 제공할 수 있다.The video conference server 120 stores various information related to the progress of the video conference, and provides a public IP/Port to each terminal (110-1, 110-2) and peer-to-peer (P2P) of other terminals. You can provide information.

한편, 상술한 예에서는 복수의 단말이 2개인 것으로 예시하였으나, 반드시 이에 한정되는 것은 아니고, 실시예에 따라 복수의 단말의 개수는 2개 이상일 수 있다.Meanwhile, in the above-described example, it is illustrated that there are two terminals, but the number of terminals is not necessarily limited thereto, and the number of terminals may be two or more according to embodiments.

도 2는 일 실시예에 따른 각 단말의 접속 과정을 설명하기 위한 도면이다.2 is a diagram illustrating an access procedure of each terminal according to an embodiment.

도 2를 참조하면, 단계 201에서, 제1 단말(110-1)은 화상 회의 서비스를 이용하기 위해 화상 회의 서버(120)에 단말 인증을 수행하고, 화상 회의 서버(120)에 접속할 수 있다. Referring to FIG. 2, in step 201, the first terminal 110-1 may perform terminal authentication to the video conference server 120 and access the video conference server 120 in order to use the video conference service.

단계 202에서, 화상 회의 서버(120)는 제1 단말(110-1)에게 서버 접속 메시지를 전송할 수 있다. In step 202, the video conference server 120 may transmit a server connection message to the first terminal 110-1.

단계 203에서, 제1 단말(110-1)은 개인 IP/ Port를 조회할 수 있다.In step 203, the first terminal 110-1 may query the personal IP/Port.

단계 204에서, 제1 단말(110-1)은 화상 회의 서버(120)에게 공용 IP/Port를 요청할 수 있다.In step 204, the first terminal 110-1 may request a public IP/Port from the video conference server 120.

단계 205에서, 화상 회의 서버(120)는 제1 단말(110-1)에게 공용 IP/Port를 전송할 수 있다.In step 205, the video conference server 120 may transmit a public IP/Port to the first terminal 110-1.

단계 206에서, 제1 단말(110-1)은 수집된 피어 투 피어 정보를 화상 회의 서버(120)에게 전송할 수 있다. 이때, 피어 투 피어는 예를 들어, 개인 IP/Port, 공용 IP/Port, Session ID 등을 포함할 수 있다.In step 206, the first terminal 110-1 may transmit the collected peer-to-peer information to the video conference server 120. In this case, the peer-to-peer may include, for example, a personal IP/Port, a public IP/Port, and a Session ID.

단계 207에서, 화상 회의 서버(120)는 제2 단말(110-2)에게 제1 단말(110-1)의 피어 투 피어 정보를 전송할 수 있다. 이때 제2 단말(110-2)은 상술한 제1 단말(110-1)이 피어 투 피어 정보를 수집하는 방식과 동일한 방식으로 자신의 피어 투 피어 정보를 수집한 장치일 수 있다.In step 207, the video conference server 120 may transmit peer-to-peer information of the first terminal 110-1 to the second terminal 110-2. In this case, the second terminal 110-2 may be a device that collects its own peer-to-peer information in the same manner as the method in which the first terminal 110-1 collects peer-to-peer information described above.

단계 208에서, 화상 회의 서버(120)는 제1 단말(110-1)에게 제2 단말(110-2)의 피어 투 피어 정보를 전송할 수 있다.In step 208, the video conference server 120 may transmit peer-to-peer information of the second terminal 110-2 to the first terminal 110-1.

단계 209에서, 제1 단말(110-1)은 제2 단말(110-2)에 피어 투 피어 인증을 수행하고, 제2 단말(110-2)에 접속할 수 있다.In step 209, the first terminal 110-1 may perform peer-to-peer authentication to the second terminal 110-2 and access the second terminal 110-2.

도 3은 일 실시예에 따른 전송 보장을 위한 데이터 전송 장치(300)의 구성도이다.3 is a configuration diagram of a data transmission apparatus 300 for guaranteeing transmission according to an embodiment.

도 3에 도시된 전송 보장을 위한 데이터 전송 장치(300)는 예를 들어, 도 1에 도시된 복수의 단말(110-1, 110-2) 각각에 포함되는 일 구성으로 구현될 수 있다.The data transmission apparatus 300 for guaranteeing transmission illustrated in FIG. 3 may be implemented as a configuration included in each of the plurality of terminals 110-1 and 110-2 illustrated in FIG. 1.

도 3을 참조하면, 전송 보장을 위한 데이터 전송 장치(300)는 접속 관리 모듈(310), 데이터 송신 모듈(320), 데이터 수신 모듈(330), 네트워크 상태 결정 모듈(340), 전송 보장 기능 관리 모듈(350) 및 데이터 관리 모듈(360)을 포함한다.Referring to FIG. 3, the data transmission device 300 for guaranteeing transmission includes a connection management module 310, a data transmission module 320, a data reception module 330, a network state determination module 340, and a transmission guarantee function management. A module 350 and a data management module 360 are included.

일 실시예에서, 접속 관리 모듈(310), 데이터 송신 모듈(320), 데이터 수신 모듈(330), 네트워크 상태 결정 모듈(340), 전송 보장 기능 관리 모듈(350) 및 데이터 관리 모듈(360)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.In one embodiment, the connection management module 310, the data transmission module 320, the data reception module 330, the network state determination module 340, the transmission guarantee function management module 350, and the data management module 360 It may be implemented using one or more physically separated devices, or may be implemented by one or more processors or a combination of one or more processors and software, and may not be clearly distinguished in a specific operation unlike the illustrated example.

접속 관리 모듈(310)은 상술한 도 2의 방식을 통해 화상 회의 서버(120) 또는 수신 단말에 접속할 수 있다.The connection management module 310 may access the video conference server 120 or the receiving terminal through the method of FIG. 2 described above.

데이터 송신 모듈(320)은 수신 단말로 데이터를 송신한다. 이때, 데이터는 화상 회의를 위한 영상 데이터, 음성 데이터 등을 포함할 수 있다.The data transmission module 320 transmits data to the receiving terminal. In this case, the data may include video data and audio data for video conference.

또한, 데이터 송신 모듈(320)은 송신된 데이터에 기초하여 시간당 데이터 전송량(throughput)을 산출한다.In addition, the data transmission module 320 calculates a data throughput per hour based on the transmitted data.

예를 들어, 데이터 송신 모듈(320)은 다양한 전송량 산출 기법을 이용하여 수신 단말로 송신한 데이터에 따라 실시간으로 시간당 데이터 전송량을 산출할 수 있다. For example, the data transmission module 320 may calculate the data transmission amount per hour in real time according to the data transmitted to the receiving terminal using various transmission amount calculation techniques.

데이터 수신 모듈(330)은 수신 단말로부터 송신된 데이터에 대한 수신 확인 메시지를 수신한다.The data receiving module 330 receives an acknowledgment message for data transmitted from the receiving terminal.

네트워크 상태 결정 모듈(340)은 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정한다.The network state determination module 340 determines network state information based on the acknowledgment message.

일 실시예에서, 네트워크 상태 정보는 도 4에 도시된 바와 같이 네트워크 상태와 관련된 다양한 정보를 포함할 수 있다. In an embodiment, the network state information may include various information related to the network state as shown in FIG. 4.

구체적으로, 네트워크 상태 결정 모듈(340)은 각 시간 별로 실시간으로 네트워크 상태 정보를 결정할 수 있다. 예를 들어, 네트워크 상태 정보는 네트워크 패킷 손실률(loss rate), 네트워크 지연(Delay) 시간, 라운드 트립 타임(RTT: Round Trip Time), 사용 가능한 대역폭(Available Bandwidth), 전송률 제어 상태(rate control state), 전송률 제어 영역(rate control region), 대역폭 상태 등을 포함할 수 있다.Specifically, the network state determination module 340 may determine network state information in real time for each time period. For example, network state information includes network packet loss rate, network delay time, round trip time (RTT), available bandwidth, and rate control state. , A rate control region, a bandwidth state, and the like.

이때, 전송률 제어 상태는 시간당 데이터 전송량을 제어하는 상태에 관한 것으로, 예를 들어, 시간당 데이터 전송량을 증가시키는 Increase 상태, 시간 데이터 전송량을 일정 수치로 유지하는 Hold 상태, 시간 데이터 전송량을 감소시키는 Decrease 상태 등을 포함할 수 있다.At this time, the rate control state relates to a state of controlling the amount of data transmission per hour, for example, an increase state that increases the amount of data transmission per hour, a hold state that maintains the amount of time data transmission, and a decrease state that decreases the amount of time data transmission. And the like.

일 실시예에서, 네트워크 패킷 손실률은 수신 단말로 송신된 데이터 패킷에 할당된 시퀀스 번호에 기초하여 측정될 수 있다. 예를 들어, 데이터 송신 모듈(320)은 수신 단말로 데이터 패킷을 송신할 때, 각 데이터 패킷마다 시퀀스 번호를 부여할 수 있다. 이때, 수신 단말은 임의의 구간에서 전체 데이터 패킷 수, 최초 데이터 패킷에 부여된 시퀀스 번호 및 마지막 데이터 패킷에 부여된 시퀀스 번호에 기초하여 네트워크 패킷 손실률을 측정할 수 있다. 이후, 수신 단말은 측정된 데이터 패킷 손실률을 포함하는 수신 확인 메시지를 데이터 수신 모듈(330)로 전송할 수 있다.In an embodiment, the network packet loss rate may be measured based on a sequence number assigned to a data packet transmitted to a receiving terminal. For example, when transmitting a data packet to a receiving terminal, the data transmission module 320 may assign a sequence number to each data packet. In this case, the receiving terminal may measure the network packet loss rate based on the total number of data packets, the sequence number assigned to the first data packet, and the sequence number assigned to the last data packet in an arbitrary section. Thereafter, the receiving terminal may transmit an acknowledgment message including the measured data packet loss rate to the data receiving module 330.

예를 들어, 최초 데이터 패킷에 부여된 시퀀스 번호가 1이고, 마지막 데이터 패킷에 부여된 시퀀스 번호가 100인 것으로 가정한다. 이때, 수신 단말에서 수신된 전체 데이터 패킷 수가 50개인 경우, 해당 구간에서 데이터 패킷 손실이 발생한 것으로 판단하고, 데이터 패킷 손실률은 50%로 측정될 수 있다. 이후, 손실 단말은 측정된 데이터 패킷 손실률을 포함하는 수신 확인 메시지를 데이터 수신 모듈(330)로 전송할 수 있다.For example, it is assumed that the sequence number assigned to the first data packet is 1 and the sequence number assigned to the last data packet is 100. In this case, when the total number of data packets received by the receiving terminal is 50, it is determined that data packet loss has occurred in the corresponding section, and the data packet loss rate may be measured as 50%. Thereafter, the lost terminal may transmit an acknowledgment message including the measured data packet loss rate to the data receiving module 330.

또한, 일 실시예에서, 네트워크 지연 시간은 수신 단말로 송신된 데이터 패킷에 할당된 전송 시간 정보에 기초하여 측정될 수 있다. 예를 들어, 데이터 송신 모듈(320)은 수신 단말로 데이터 패킷을 송신할 때, 각 데이터 패킷마다 전송 시간을 부여할 수 있다. 이때, 수신 단말은 각 데이터 패킷의 수신 시간 및 각 데이터 패킷에 부여된 전송 시간에 기초하여 네트워크 지연 시간을 측정할 수 있다. 이후, 수신 단말은 측정된 네트워크 지연 시간을 포함하는 수신 확인 메시지를 데이터 수신 모듈(330)로 전송할 수 있다.Also, in an embodiment, the network delay time may be measured based on transmission time information allocated to a data packet transmitted to the receiving terminal. For example, when transmitting a data packet to a receiving terminal, the data transmission module 320 may assign a transmission time to each data packet. In this case, the receiving terminal may measure the network delay time based on the reception time of each data packet and the transmission time assigned to each data packet. Thereafter, the receiving terminal may transmit an acknowledgment message including the measured network delay time to the data receiving module 330.

예를 들어, 데이터 송신 모듈(320)은 수신 단말로 0ms 전송 시간을 포함하는 제1 데이터 패킷 및 100ms 전송 시간을 포함하는 제2 데이터 패킷을 전송한 것으로 가정한다. 이때, 수신 단말은 제1 데이터 패킷 및 제2 데이터 패킷의 수신 시간을 각각 200ms 및 350ms으로 측정한 경우, 네트워크 지연 시간을 50ms로 측정할 수 있다. 이후, 수신 단말은 측정된 네트워크 지연 시간을 포함하는 수신 확인 메시지를 데이터 수신 모듈(330)로 전송할 수 있다.For example, it is assumed that the data transmission module 320 transmits a first data packet including a transmission time of 0 ms and a second data packet including a transmission time of 100 ms to the receiving terminal. In this case, when the receiving terminal measures the reception times of the first data packet and the second data packet as 200 ms and 350 ms, respectively, the network delay time may be measured as 50 ms. Thereafter, the receiving terminal may transmit an acknowledgment message including the measured network delay time to the data receiving module 330.

또한, 일 실시예에서, 라운드 트립 타임은 데이터 송신 모듈(320)에서 송신된 데이터의 전송 시간 및 데이터 수신 모듈(330)에서 수신된 수신 확인 메시지의 수신 시간에 기초하여 산출될 수 있다.In addition, in an embodiment, the round trip time may be calculated based on a transmission time of data transmitted from the data transmission module 320 and a reception time of an acknowledgment message received from the data reception module 330.

한편, 상술한 네트워크 패킷 손실률, 네트워크 지연 시간 및 라운드 트립 타임에 대한 측정 방식은 일 예시에 불과하며, 상술한 방식 이외에 다양한 방식을 통해 측정될 수 있다.Meanwhile, the method of measuring the network packet loss rate, network delay time, and round trip time described above is only an example, and may be measured through various methods other than the above-described method.

한편, 도 5에 도시된 바와 같이, 네트워크 상태 결정 모듈(340)은 측정된 네트워크 패킷 손실률과 네트워크 지연 시간에 기초하여 네트워크의 사용 가능한 대역폭을 산출할 수 있다. Meanwhile, as shown in FIG. 5, the network state determination module 340 may calculate the usable bandwidth of the network based on the measured network packet loss rate and the network delay time.

예를 들어, 네트워크 상태 결정 모듈(340)은 데이터 전송 시 특정 구간에서 데이터 패킷 손실이 발생하는 경우, 해당 구간에서의 최대 대역폭을 사용 가능한 대역폭으로 결정할 수 있다. 또한, 네트워크 상태 결정 모듈(340)은 산출된 사용 가능한 대역폭을 데이터 관리 모듈(360)로 전달할 수 있다.For example, when a data packet loss occurs in a specific section during data transmission, the network state determination module 340 may determine the maximum bandwidth in the corresponding section as the usable bandwidth. In addition, the network state determination module 340 may transmit the calculated usable bandwidth to the data management module 360.

전송 보장 기능 관리 모듈(350)은 산출된 시간당 데이터 전송량, 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛(CPU: Central Processing Unit) 점유율 중 적어도 하나에 기초하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 대한 전송 보장 기능의 적용 여부를 결정한다.The transmission guarantee function management module 350 receives the data transmission module 320 and data based on at least one of the calculated amount of data transmission per hour, the determined network state information, and the share of a central processing unit (CPU) for data transmission and reception. It is determined whether to apply the transmission guarantee function to the module 330.

구체적으로, 전송 보장 기능 관리 모듈(350)은 네트워크의 상태에 따라 전송 보장 기능의 적용 여부를 선택적으로 적용할 수 있다. 이때, 전송 보장 기능 관리 모듈(350)에서 전송 보장 기능을 적용하기로 결정하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)은 전송 보장 기능 관리 모듈(350)에 의해 결정된 전송 보장 기법에 기초하여 데이터를 송수신할 수 있다. Specifically, the transmission guarantee function management module 350 may selectively apply whether or not to apply the transmission guarantee function according to the state of the network. At this time, when the transmission guarantee function management module 350 determines to apply the transmission guarantee function, the data transmission module 320 and the data reception module 330 are the transmission guarantee scheme determined by the transmission guarantee function management module 350. Data can be transmitted/received based on.

데이터 관리 모듈(350)은 결정된 네트워크 상태 정보에 기초하여 수신 단말로 송신될 데이터를 인코딩할 수 있다.The data management module 350 may encode data to be transmitted to the receiving terminal based on the determined network state information.

구체적으로, 데이터 관리 모듈(350)은 화상 회의를 위한 영상 데이터 및 음성 데이터에 대한 인코딩을 수행할 수 있다. 예를 들어, 데이터 관리 모듈은 네트워크 상태 결정 모듈(350)로부터 전달받은 네트워크 상태 정보 기초하여 인코딩을 통해 줄이려는 데이터의 크기를 결정할 수 있다.Specifically, the data management module 350 may encode video data and audio data for a video conference. For example, the data management module may determine the size of data to be reduced through encoding based on the network state information received from the network state determination module 350.

이후, 데이터 송신 모듈(320)은 인코딩된 데이터를 수신 단말로 송신하면서 인코딩된 데이터에 기초하여 시간당 데이터 전송량을 산출할 수 있다. 이후, 데이터 송신 모듈(320)은 산출된 시간당 데이터 전송량을 전송 보장 기능 관리 모듈(350)로 전달함으로써, 전송 보장 기능의 적용 여부를 결정하기 위한 시간당 데이터 전송량을 실시간으로 파악할 수 있다.Thereafter, the data transmission module 320 may calculate a data transmission amount per hour based on the encoded data while transmitting the encoded data to the receiving terminal. Thereafter, the data transmission module 320 transmits the calculated data transmission amount per hour to the transmission guarantee function management module 350, so that the data transmission amount per hour for determining whether to apply the transmission guarantee function may be determined in real time.

구체적으로, 도 6는 일 실시예에 따른 전송 보장 기능의 적용 여부를 결정하는 방법의 흐름도이다.Specifically, FIG. 6 is a flowchart of a method of determining whether to apply a transmission guarantee function according to an embodiment.

도 6에 도시된 방법은 예를 들어, 도 3에 도시된 전송 보장 기능 관리 모듈(350)에 의해 수행될 수 있다.The method illustrated in FIG. 6 may be performed, for example, by the transmission guarantee function management module 350 illustrated in FIG. 3.

도 6을 참조하면, 단계 610에서, 전송 보장 기능 관리 모듈(350)은 일정 기간 동안에 데이터 송신 모듈(320)에 의해 산출된 시간당 데이터 전송량이 증가하는지 여부를 판단할 수 있다.Referring to FIG. 6, in step 610, the transmission guarantee function management module 350 may determine whether the amount of data transmission per hour calculated by the data transmission module 320 increases during a predetermined period.

일 실시예에서, 전송 보장 기능 관리 모듈(350)은 일정 기간 동안에 데이터 송신 모듈(320)에 의해 산출된 시간당 데이터 전송량이 증가하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In one embodiment, the transmission guarantee function management module 350 transmits to the data transmission module 320 and the data reception module 330 when the amount of data transmission per hour calculated by the data transmission module 320 increases for a certain period of time. Guaranteed functions can be applied.

구체적으로, 전송 보장 기능 관리 모듈(350)은 일정 기간 동안에 시간당 데이터 전송량이 증가하는 경우, 시간당 데이터 전송량이 사용 가능한 대역폭을 초과할 수 있기 때문에 전송 보장 기능을 적용할 수 있다. Specifically, the transmission guarantee function management module 350 may apply the transmission guarantee function because, when the amount of data transmission per hour increases during a predetermined period, the amount of data transmission per hour may exceed the usable bandwidth.

이와 달리, 일정 기간 동안에 시간당 데이터 전송량이 증가하는 경우, 단계 680에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용하지 않을 수 있다.In contrast, when the amount of data transmission per hour increases during a certain period, in step 680, the transmission guarantee function management module 350 may not apply the transmission guarantee function to the data transmission module 320 and the data reception module 330. .

이후, 단계 620에서, 전송 보장 기능 관리 모듈(350)은 산출된 시간당 데이터 전송량이 사용 가능한 대역폭에 근접하는지 여부를 판단할 수 있다.Thereafter, in step 620, the transmission guarantee function management module 350 may determine whether the calculated amount of data transmission per hour is close to the usable bandwidth.

일 실시예에서, 전송 보장 기능 관리 모듈(350)은 산출된 시간당 데이터 전송량이 사용 가능한 대역폭에 근접하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In one embodiment, the transmission guarantee function management module 350 may apply the transmission guarantee function to the data transmission module 320 and the data reception module 330 when the calculated amount of data transmission per hour is close to the usable bandwidth. .

이와 달리, 산출된 시간당 데이터 전송량이 사용 가능한 대역폭에 근접하지 않는 경우, 단계 680에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용하지 않을 수 있다.In contrast, when the calculated amount of data transmission per hour is not close to the usable bandwidth, in step 680, the transmission guarantee function management module 350 applies the transmission guarantee function to the data transmission module 320 and the data reception module 330. I can't.

이후, 단계 630에서, 전송 보장 기능 관리 모듈(350)은 전송률 제어 상태가 시간당 데이터 전송량을 증가시키는 상태인지를 판단할 수 있다.Thereafter, in step 630, the transmission guarantee function management module 350 may determine whether the transmission rate control state is a state in which the amount of data transmission per time is increased.

일 실시예에서, 전송률 제어 상태가 시간당 데이터 전송량을 증가시키는 상태인 경우, 단계 680에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시키거나 적용하지 않을 수 있다.In one embodiment, when the transmission rate control state is a state in which the amount of data transmission per hour is increased, in step 680, the transmission guarantee function management module 350 is a transmission guarantee function applied to the data transmission module 320 and the data reception module 330. May be discontinued or not applied.

구체적으로, 전송 보장 기능 관리 모듈(350)은 전송률 제어 상태가 시간당 데이터 전송량을 증가시키는 상태(예를 들어, Increase 상태)인 것으로 판단되는 경우, 사용 가능한 대역폭에 여유가 있는 것으로 판단하여 전송 보장 기능을 적용하지 않을 수 있다.Specifically, when the transmission guarantee function management module 350 determines that the transmission rate control state is a state in which the amount of data transmission per hour is increased (for example, the increase state), the transmission guarantee function is determined to have a margin in the usable bandwidth. May not apply.

이와 달리, 전송률 제어 상태가 시간당 데이터 전송량을 유지하는 상태(예를 들어, Hold 상태)이거나 시간당 데이터 전송량을 감소시키는 상태(예를 들어, Decrease 상태)인 경우, 전송 보장 기능 관리 모듈(350)은 사용 가능한 대역폭에 여유가 없는 것으로 판단하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In contrast, when the rate control state is a state in which the amount of data transmission per hour is maintained (eg, a hold state) or a state in which the amount of data transmission per hour is reduced (eg, in a Decrease state), the transmission guarantee function management module 350 It is determined that there is no room in the usable bandwidth, and a transmission guarantee function may be applied to the data transmission module 320 and the data reception module 330.

이후, 단계 640에서, 전송 보장 기능 관리 모듈(350)은 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인지 여부를 판단할 수 있다. Thereafter, in step 640, the transmission guarantee function management module 350 may determine whether or not the central processing unit occupancy is equal to or greater than a preset first threshold value.

일 실시예에서, 전송 보장 기능 관리 모듈(350)은 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 단계 680에서, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시키거나 적용하지 않을 수 있다.In one embodiment, the transmission guarantee function management module 350, when the central processing unit occupancy is greater than or equal to a preset first threshold, in step 680, the transmission guarantee function applied to the data transmission module 320 and the data reception module 330 May be discontinued or not applied.

구체적으로, 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 전송 보장 기능 관리 모듈(350)은 전송 보장 기능을 적용하기에 충분한 리소스가 없는 것으로 판단하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시키거나 적용하지 않을 수 있다.Specifically, when the central processing unit occupancy is greater than or equal to a preset first threshold, the transmission guarantee function management module 350 determines that there is not enough resources to apply the transmission guarantee function, and the data transmission module 320 and the data reception module The transmission guarantee function applied to 330 may be stopped or not applied.

이와 달리, 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 미만인 경우, 전송 보장 기능 관리 모듈(350)은 전송 보장 기능을 적용하기에 충분한 리소스가 있는 것으로 판단하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In contrast, when the central processing unit occupancy is less than a preset first threshold, the transmission guarantee function management module 350 determines that there are sufficient resources to apply the transmission guarantee function, and the data transmission module 320 and the data reception module The transmission guarantee function can be applied to (330).

이에 따라, 저 사양 단말과 저 지연 통신에서 보다 원활한 영상, 음성 송수신을 가능하도록 할 수 있다.Accordingly, it is possible to enable smoother transmission and reception of video and audio in low-delay communication with a low specification terminal.

이후, 단계 650에서, 전송 보장 기능 관리 모듈(350)은 전송 보장 기능을 적용하기로 결정하는 경우, 라운드 트립 타임에 기초하여 전송 보장 기법을 결정할 수 있다.Thereafter, in step 650, when it is determined to apply the transmission guarantee function, the transmission guarantee function management module 350 may determine a transmission guarantee scheme based on the round trip time.

일 실시예에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용하기로 결정하는 경우, 결정된 네트워크 상태 정보에 기초하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용될 전송 보장 기법을 결정할 수 있다.In one embodiment, when the transmission guarantee function management module 350 determines to apply the transmission guarantee function to the data transmission module 320 and the data reception module 330, the data transmission module ( 320) and a transmission guarantee scheme to be applied to the data receiving module 330 may be determined.

구체적으로, 단계 650에서 라운드 트립 타임이 기 설정된 제2 임계 값 이상인 것으로 판단된 경우, 단계 660에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전진 오류 수정(FEC: Forward Error Correction) 기반의 전송 보장 기법을 적용할 수 있다.Specifically, when it is determined in step 650 that the round trip time is equal to or greater than a preset second threshold, in step 660, the transmission guarantee function management module 350 advances to the data transmission module 320 and the data reception module 330. An error correction (FEC: Forward Error Correction) based transmission guarantee scheme can be applied.

이와 달리, 단계 650에서 라운드 트립 타임이 기 설정된 제2 임계 값 미만인 것으로 판단된 경우, 단계 670에서 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 부정 응답(NACK: negative acknowledgement) 기반의 전송 보장 기법을 적용할 수 있다. 이 경우, 전송 보장 기능 관리 모듈(350)은 라운드 트림 타임에 기초하여 부정 응답 버퍼의 크기를 조정할 수 있다.In contrast, when it is determined in step 650 that the round trip time is less than a preset second threshold, in step 670, the transmission guarantee function management module 350 responds negatively to the data transmission module 320 and the data reception module 330 A (NACK: negative acknowledgment) based transmission guarantee scheme can be applied. In this case, the transmission guarantee function management module 350 may adjust the size of the negative response buffer based on the round trim time.

도 7은 일 실시예에 따른 전송 보장을 위한 데이터 전송 방법의 순서도이다.7 is a flowchart of a data transmission method for guaranteeing transmission according to an embodiment.

도 7에 도시된 방법은 예를 들어, 도 3에 도시된 전송 보장을 위한 데이터 전송 장치(300)에 의해 수행될 수 있다.The method illustrated in FIG. 7 may be performed, for example, by the data transmission device 300 for guaranteeing transmission illustrated in FIG. 3.

도 7을 참조하면, 단계 710에서, 전송 보장을 위한 데이터 전송 장치(300)는 수신 단말로 데이터를 송신한다.Referring to FIG. 7, in step 710, the data transmission apparatus 300 for guaranteeing transmission transmits data to a receiving terminal.

단계 720에서, 전송 보장을 위한 데이터 전송 장치(300)는 송신된 데이터에 기초하여 시간당 데이터 전송량을 산출한다.In step 720, the data transmission device 300 for guaranteeing transmission calculates a data transmission amount per hour based on the transmitted data.

단계 730에서, 전송 보장을 위한 데이터 전송 장치(300)는 수신 단말로부터 송신된 데이터에 대한 수신 확인 메시지를 수신한다.In step 730, the data transmission device 300 for guaranteeing transmission receives an acknowledgment message for the transmitted data from the receiving terminal.

단계 740에서, 전송 보장을 위한 데이터 전송 장치(300)는 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정한다.In step 740, the data transmission device 300 for guaranteeing transmission determines network state information based on the acknowledgment message.

단계 750에서, 전송 보장을 위한 데이터 전송 장치(300)는 산출된 시간당 데이터 전송량, 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛 점유율 중 적어도 하나에 기초하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 대한 전송 보장 기능의 적용 여부를 결정한다.In step 750, the data transmission device 300 for ensuring transmission is based on at least one of the calculated data transmission amount per time, the determined network state information, and the central processing unit occupancy rate for data transmission and reception, the data transmission module 320 and the data reception module. It is determined whether to apply the transmission guarantee function to (330).

이때, 전송 보장을 위한 데이터 전송 장치(300)는 일정 기간 동안에 산출된 시간당 데이터 전송량이 증가하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 상기 전송 보장 기능을 적용할 수 있다.In this case, the data transmission device 300 for transmission guarantee may apply the transmission guarantee function to the data transmission module 320 and the data reception module 330 when the calculated amount of data transmission per hour increases during a predetermined period.

또한, 전송 보장을 위한 데이터 전송 장치(300)는 산출된 시간당 데이터 전송량이 사용 가능한 대역폭에 근접하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In addition, the data transmission apparatus 300 for guaranteeing transmission may apply a transmission guarantee function to the data transmission module 320 and the data reception module 330 when the calculated amount of data transmission per hour is close to the usable bandwidth.

또한, 전송 보장을 위한 데이터 전송 장치(300)는 전송률 제어 상태가 시간당 데이터 전송량을 증가시키는 상태인 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시킬 수 있다.In addition, the data transmission device 300 for transmission guarantee may stop the transmission guarantee function applied to the data transmission module 320 and the data reception module 330 when the transmission rate control state is a state in which the amount of data transmission per hour is increased. .

또한, 전송 보장을 위한 데이터 전송 장치(300)는 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시킬 수 있다.In addition, the data transmission apparatus 300 for guaranteeing transmission may stop the transmission guarantee function applied to the data transmission module 320 and the data reception module 330 when the central processing unit occupancy is equal to or greater than a preset first threshold value. .

또한, 전송 보장을 위한 데이터 전송 장치(300)는 데이터 송신 모듈 및 데이터 수신 모듈에 상기 전송 보장 기능을 적용하기로 결정하는 경우, 결정된 네트워크 상태 정보에 기초하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용될 전송 보장 기법을 결정할 수 있다.In addition, when it is determined to apply the transmission guarantee function to the data transmission module and the data reception module, the data transmission device 300 for transmission guarantee is based on the determined network state information, the data transmission module 320 and the data reception module. A transmission guarantee scheme to be applied to 330 may be determined.

또한, 전송 보장을 위한 데이터 전송 장치(300)는 라운드 트립 타임이 기 설정된 제2 임계 값 이상인 경우, 전진 오류 수정 기반의 전송 보장 기법을 적용하고, 라운드 트립 타임이 기 설정된 제2 임계 값 미만인 경우, 부정 응답 기반의 전송 보장 기법을 적용할 수 있다.In addition, the data transmission device 300 for guaranteeing transmission applies a forward error correction-based transmission guarantee scheme when the round trip time is greater than or equal to a preset second threshold, and when the round trip time is less than a preset second threshold. In addition, a negative response-based transmission guarantee scheme can be applied.

도 8은 예시적인 실시예들에서 사용되기에 적합한 컴퓨팅 장치를 포함하는 컴퓨팅 환경을 예시하여 설명하기 위한 블록도이다. 도시된 실시예에서, 각 컴포넌트들은 이하에 기술된 것 이외에 상이한 기능 및 능력을 가질 수 있고, 이하에 기술된 것 이외에도 추가적인 컴포넌트를 포함할 수 있다.8 is a block diagram illustrating and describing a computing environment including a computing device suitable for use in example embodiments. In the illustrated embodiment, each component may have different functions and capabilities in addition to those described below, and may include additional components in addition to those described below.

도시된 컴퓨팅 환경(10)은 컴퓨팅 장치(12)를 포함한다. 일 실시예에서, 컴퓨팅 장치(12)는 예를 들어, 도 3에 도시된 전송 보장을 위한 데이터 전송 장치(300)일 수 있다. 또한, 일 실시예에서, 컴퓨팅 장치(12)는 예를 들어, 도 1에 도시된 복수의 단말(110-1, 110-2)일 수 있다. 또한, 일 실시예에서, 컴퓨팅 장치(12)는 예를 들어, 도 1에 도시된 화상 회의 서버(120)일 수 있다.The illustrated computing environment 10 includes a computing device 12. In one embodiment, the computing device 12 may be, for example, a data transmission device 300 for ensuring transmission shown in FIG. 3. In addition, in an embodiment, the computing device 12 may be, for example, a plurality of terminals 110-1 and 110-2 shown in FIG. 1. Further, in one embodiment, the computing device 12 may be, for example, the video conferencing server 120 shown in FIG. 1.

컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The computing device 12 includes at least one processor 14, a computer-readable storage medium 16 and a communication bus 18. The processor 14 may cause the computing device 12 to operate in accordance with the aforementioned exemplary embodiments. For example, the processor 14 may execute one or more programs stored in the computer-readable storage medium 16. The one or more programs may include one or more computer-executable instructions, and the computer-executable instructions are configured to cause the computing device 12 to perform operations according to an exemplary embodiment when executed by the processor 14 Can be.

컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.The computer-readable storage medium 16 is configured to store computer-executable instructions or program code, program data, and/or other suitable form of information. The program 20 stored in the computer-readable storage medium 16 includes a set of instructions executable by the processor 14. In one embodiment, the computer-readable storage medium 16 includes memory (volatile memory such as random access memory, nonvolatile memory, or a suitable combination thereof), one or more magnetic disk storage devices, optical disk storage devices, flash It may be memory devices, other types of storage media that can be accessed by the computing device 12 and store desired information, or a suitable combination thereof.

통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The communication bus 18 interconnects the various other components of the computing device 12, including the processor 14 and computer readable storage medium 16.

컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.Computing device 12 may also include one or more input/output interfaces 22 and one or more network communication interfaces 26 that provide interfaces for one or more input/output devices 24. The input/output interface 22 and the network communication interface 26 are connected to the communication bus 18. The input/output device 24 may be connected to other components of the computing device 12 through the input/output interface 22. The exemplary input/output device 24 includes a pointing device (mouse or track pad, etc.), a keyboard, a touch input device (touch pad or touch screen, etc.), a voice or sound input device, various types of sensor devices, and/or photographing devices. Input devices, and/or output devices such as display devices, printers, speakers, and/or network cards. The exemplary input/output device 24 may be included in the computing device 12 as a component constituting the computing device 12, and may be connected to the computing device 12 as a separate device distinct from the computing device 12. May be.

이상에서는 실시예들을 중심으로 기술적 특징들을 설명하였다. 하지만, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한고, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 권리범위에 포함된 것으로 해석되어야 할 것이다.In the above, technical features have been described based on the embodiments. However, the disclosed embodiments should be considered from an explanatory point of view rather than a limiting point of view, and the scope of the rights is indicated in the claims rather than the above description, and all differences within the scope of the same are interpreted as being included in the scope of the rights. It should be.

10: 컴퓨팅 환경
12: 컴퓨팅 장치
14: 프로세서
16: 컴퓨터 판독 가능 저장 매체
18: 통신 버스
20: 프로그램
22: 입출력 인터페이스
24: 입출력 장치
26: 네트워크 통신 인터페이스
100: 데이터 전송 시스템
110-1, 110-2: 단말
120: 서버
300: 전송 보장을 위한 데이터 전송 장치
310: 접속 관리 모듈
320: 데이터 송신 모듈
330: 데이터 수신 모듈
340: 네트워크 상태 결정 모듈
350: 전송 보장 기능 관리 모듈
360: 데이터 관리 모듈
10: computing environment
12: computing device
14: processor
16: computer readable storage medium
18: communication bus
20: program
22: input/output interface
24: input/output device
26: network communication interface
100: data transmission system
110-1, 110-2: terminal
120: server
300: data transmission device for transmission guarantee
310: connection management module
320: data transmission module
330: data receiving module
340: network state determination module
350: transmission guarantee function management module
360: data management module

Claims (16)

수신 단말로 데이터를 송신하고, 상기 송신된 데이터에 기초하여 시간당 데이터 전송량(throughput)을 산출하는 데이터 송신 모듈;
상기 수신 단말로부터 상기 송신된 데이터에 대한 수신 확인 메시지를 수신하는 데이터 수신 모듈;
상기 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정하는 네트워크 상태 결정 모듈; 및
상기 산출된 시간당 데이터 전송량, 상기 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛(CPU: Central Processing Unit) 점유율 중 적어도 하나에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 대한 전송 보장 기능의 적용 여부를 결정하는 전송 보장 기능 관리 모듈을 포함하는 전송 보장을 위한 데이터 전송 장치.
A data transmission module that transmits data to a receiving terminal and calculates a data throughput per hour based on the transmitted data;
A data receiving module for receiving an acknowledgment message for the transmitted data from the receiving terminal;
A network state determination module for determining network state information based on the acknowledgment message; And
Application of a transmission guarantee function to the data transmission module and the data reception module based on at least one of the calculated amount of data transmission per hour, the determined network state information, and the share of a central processing unit (CPU) for data transmission and reception Data transmission device for transmission guarantee including a transmission guarantee function management module for determining whether or not.
청구항 1에 있어서,
상기 전송 보장 기능 관리 모듈은, 일정 기간 동안에 상기 산출된 시간당 데이터 전송량이 증가하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하는 전송 보장을 위한 데이터 전송 장치.
The method according to claim 1,
The transmission guarantee function management module applies the transmission guarantee function to the data transmission module and the data reception module when the calculated amount of data transmission per time increases during a predetermined period of time.
청구항 1에 있어서,
상기 네트워크 상태 정보는, 사용 가능한 대역폭(Available Bandwidth)을 포함하고,
상기 전송 보장 기능 관리 모듈은, 상기 산출된 시간당 데이터 전송량이 상기 사용 가능한 대역폭에 근접하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하는 전송 보장을 위한 데이터 전송 장치.
The method according to claim 1,
The network status information includes available bandwidth,
The transmission guarantee function management module applies the transmission guarantee function to the data transmission module and the data reception module when the calculated amount of data transmission per time is close to the usable bandwidth.
청구항 1에 있어서,
상기 네트워크 상태 정보는, 전송률 제어 상태(rate control state)를 포함하고,
상기 전송 보장 기능 관리 모듈은, 상기 전송률 제어 상태가 상기 시간당 데이터 전송량을 증가시키는 상태인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시키는 전송 보장을 위한 데이터 전송 장치.
The method according to claim 1,
The network state information includes a rate control state,
The transmission guarantee function management module stops the transmission guarantee function applied to the data transmission module and the data reception module when the transmission rate control state is a state of increasing the data transmission amount per time.
청구항 1에 있어서,
상기 전송 보장 기능 관리 모듈은, 상기 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시키는 전송 보장을 위한 데이터 전송 장치.
The method according to claim 1,
The transmission guarantee function management module stops the transmission guarantee function applied to the data transmission module and the data reception module when the central processing unit occupancy is greater than or equal to a preset first threshold value.
청구항 1에 있어서,
상기 전송 보장 기능 관리 모듈은, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하기로 결정하는 경우, 상기 결정된 네트워크 상태 정보에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용될 전송 보장 기법을 결정하는 전송 보장을 위한 데이터 전송 장치.
The method according to claim 1,
When the transmission guarantee function management module determines to apply the transmission guarantee function to the data transmission module and the data reception module, the transmission guarantee function is applied to the data transmission module and the data reception module based on the determined network state information. A data transmission device for transmission guarantee that determines the guarantee scheme.
청구항 6에 있어서,
상기 네트워크 상태 정보는, 라운드 트립 타임(RTT: Round Trip Time)을 포함하고,
상기 전송 보장 관리 모듈은,
상기 라운드 트립 타임이 기 설정된 제2 임계 값 이상인 경우, 전진 오류 수정(FEC: Forward Error Correction) 기반의 전송 보장 기법을 적용하고,
상기 라운드 트립 타임이 기 설정된 제2 임계 값 미만인 경우, 부정 응답(NACK: negative acknowledgement) 기반의 전송 보장 기법을 적용하는 전송 보장을 위한 데이터 전송 장치.
The method of claim 6,
The network status information includes a round trip time (RTT),
The transmission guarantee management module,
When the round trip time is greater than or equal to a preset second threshold, a forward error correction (FEC)-based transmission guarantee scheme is applied, and
When the round trip time is less than a preset second threshold, a data transmission device for transmission guarantee applying a transmission guarantee scheme based on a negative acknowledgment (NACK).
청구항 1에 있어서,
상기 결정된 네트워크 상태 정보에 기초하여 상기 수신 단말로 송신될 데이터를 인코딩하는 데이터 관리 모듈을 더 포함하고,
상기 데이터 송신 모듈은, 상기 인코딩된 데이터를 상기 수신 단말로 송신하고, 상기 인코딩된 데이터에 기초하여 상기 시간당 데이터 전송량을 산출하는 전송 보장을 위한 데이터 전송 장치.
The method according to claim 1,
Further comprising a data management module for encoding data to be transmitted to the receiving terminal based on the determined network state information,
The data transmission module transmits the encoded data to the receiving terminal, and calculates the data transmission amount per time based on the encoded data.
데이터 송신 모듈에서, 수신 단말로 데이터를 송신하는 단계;
상기 데이터 송신 모듈에서, 상기 송신된 데이터에 기초하여 시간당 데이터 전송량(throughput)을 산출하는 단계;
데이터 수신 모듈에서, 상기 수신 단말로부터 상기 송신된 데이터에 대한 수신 확인 메시지를 수신하는 단계;
네트워크 상태 결정 모듈에서, 상기 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정하는 단계; 및
전송 보장 기능 관리 모듈에서, 상기 산출된 시간당 데이터 전송량, 상기 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛(CPU: Central Processing Unit) 점유율 중 적어도 하나에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 대한 전송 보장 기능의 적용 여부를 결정하는 단계를 포함하는 전송 보장을 위한 데이터 전송 방법.
In the data transmission module, transmitting data to a receiving terminal;
Calculating, in the data transmission module, a data throughput per hour based on the transmitted data;
Receiving, in a data receiving module, an acknowledgment message for the transmitted data from the receiving terminal;
Determining, in a network state determination module, network state information based on the acknowledgment message; And
In the transmission guarantee function management module, the data transmission module and the data reception module based on at least one of the calculated data transmission amount per time, the determined network state information, and a central processing unit (CPU) occupancy rate for data transmission/reception. A data transmission method for guaranteed transmission, comprising the step of determining whether to apply a transmission guarantee function for a transmission guarantee function.
청구항 9에 있어서,
상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 일정 기간 동안에 상기 산출된 시간당 데이터 전송량이 증가하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하는 전송 보장을 위한 데이터 전송 방법.
The method of claim 9,
Determining whether to apply the transmission guarantee function, when the calculated amount of data transmission per time increases during a predetermined period, data transmission for transmission guarantee by applying the transmission guarantee function to the data transmission module and the data reception module Way.
청구항 9에 있어서,
상기 네트워크 상태 정보는, 사용 가능한 대역폭(Available Bandwidth)을 포함하고,
상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 상기 산출된 시간당 데이터 전송량이 상기 사용 가능한 대역폭에 근접하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하는 전송 보장을 위한 데이터 전송 방법.
The method of claim 9,
The network status information includes available bandwidth,
Determining whether to apply the transmission guarantee function, when the calculated amount of data transmission per time is close to the usable bandwidth, applying the transmission guarantee function to the data transmission module and the data reception module for transmission guarantee Data transfer method.
청구항 9에 있어서,
상기 네트워크 상태 정보는, 전송률 제어 상태(rate control state)를 포함하고,
상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 상기 전송률 제어 상태가 상기 시간당 데이터 전송량을 증가시키는 상태인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시키는 전송 보장을 위한 데이터 전송 방법.
The method of claim 9,
The network state information includes a rate control state,
Determining whether to apply the transmission guarantee function, when the transmission rate control state is a state in which the data transmission amount per time is increased, a transmission guarantee for stopping the transmission guarantee function applied to the data transmission module and the data reception module is performed. Data transmission method.
청구항 9에 있어서,
상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 상기 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시키는 전송 보장을 위한 데이터 전송 방법.
The method of claim 9,
Determining whether to apply the transmission guarantee function, when the central processing unit occupancy is greater than or equal to a preset first threshold value, the transmission guarantee function of stopping the transmission guarantee function applied to the data transmission module and the data reception module Data transfer method.
청구항 9에 있어서,
상기 전송 보장 기능 관리 모듈에서, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하기로 결정하는 경우, 상기 결정된 네트워크 상태 정보에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용될 전송 보장 기법을 결정하는 단계를 더 포함하는 전송 보장을 위한 데이터 전송 방법.
The method of claim 9,
When the transmission guarantee function management module determines to apply the transmission guarantee function to the data transmission module and the data reception module, transmission to be applied to the data transmission module and the data reception module based on the determined network state information Data transmission method for transmission guarantee further comprising the step of determining the guarantee scheme.
청구항 14에 있어서,
상기 네트워크 상태 정보는, 라운드 트립 타임(RTT: Round Trip Time)을 포함하고,
상기 전송 보장 기법을 결정하는 단계는,
상기 라운드 트립 타임이 기 설정된 제2 임계 값 이상인 경우, 전진 오류 수정(FEC: Forward Error Correction) 기반의 전송 보장 기법을 적용하고,
상기 라운드 트립 타임이 기 설정된 제2 임계 값 미만인 경우, 부정 응답(NACK: negative acknowledgement) 기반의 전송 보장 기법을 적용하는 전송 보장을 위한 데이터 전송 방법.
The method of claim 14,
The network status information includes a round trip time (RTT),
Determining the transmission guarantee scheme,
When the round trip time is greater than or equal to a preset second threshold, a forward error correction (FEC)-based transmission guarantee scheme is applied, and
When the round trip time is less than a preset second threshold, a data transmission method for guaranteeing transmission applying a transmission guarantee scheme based on a negative acknowledgment (NACK).
청구항 9에 있어서,
데이터 관리 모듈에서, 상기 결정된 네트워크 상태 정보에 기초하여 상기 수신 단말로 송신될 데이터를 인코딩하는 단계를 더 포함하고,
상기 송신하는 단계는, 상기 인코딩된 데이터를 상기 수신 단말로 송신하고,
상기 산출하는 단계는, 상기 인코딩된 데이터에 기초하여 상기 시간당 데이터 전송량을 산출하는 전송 보장을 위한 데이터 전송 장치.
The method of claim 9,
In the data management module, further comprising encoding data to be transmitted to the receiving terminal based on the determined network state information,
The transmitting step includes transmitting the encoded data to the receiving terminal,
The calculating may include calculating the amount of data transmission per time based on the encoded data.
KR1020190136319A 2019-10-30 2019-10-30 Apparatus and method for transmitting data for transmission guarantee KR20210051271A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190136319A KR20210051271A (en) 2019-10-30 2019-10-30 Apparatus and method for transmitting data for transmission guarantee

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190136319A KR20210051271A (en) 2019-10-30 2019-10-30 Apparatus and method for transmitting data for transmission guarantee

Publications (1)

Publication Number Publication Date
KR20210051271A true KR20210051271A (en) 2021-05-10

Family

ID=75917841

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190136319A KR20210051271A (en) 2019-10-30 2019-10-30 Apparatus and method for transmitting data for transmission guarantee

Country Status (1)

Country Link
KR (1) KR20210051271A (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190006189A (en) 2016-06-19 2019-01-17 엘지전자 주식회사 Data transmission method and transmitter

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190006189A (en) 2016-06-19 2019-01-17 엘지전자 주식회사 Data transmission method and transmitter

Similar Documents

Publication Publication Date Title
US10284616B2 (en) Adjusting a media stream in a video communication system based on participant count
US9485184B2 (en) Congestion control for delay sensitive applications
US8190745B2 (en) Methods and apparatuses for adjusting bandwidth allocation during a collaboration session
JP2019520745A (en) System and method for improving the total throughput of simultaneous connections
CN109600610B (en) Data encoding method, terminal and computer readable storage medium
CN106953797B (en) RDMA data transmission method and device based on dynamic connection
US9553623B2 (en) Wireless communication device
CN109842564B (en) Method, network device and system for sending service message
US9538132B2 (en) Methods, devices, and systems for controlling audio and video transmission
KR20200045205A (en) Method for service video conference and apparatus for executing the method
KR20170025496A (en) Method of guaranteeing service level of peer and server of enabling the method
CN112771875B (en) Improving video bit rate while maintaining video quality
EP3806403A1 (en) Apparatus and method for managing message transmission delay
US20190281364A1 (en) Media Stream Prioritization
KR20210051271A (en) Apparatus and method for transmitting data for transmission guarantee
US9577947B2 (en) System and architecture to optimize video traffic over internet protocol networks
CN113411228B (en) Network condition determining method and server
CN112737971B (en) Data processing method, device, storage medium and network equipment
JP4627290B2 (en) Rate control method, server, and program using TCP
KR102415156B1 (en) Method for managing qos and receiving apparatus for executing the same
US9319330B2 (en) Apparatus and method for avoiding packet losses in a network connection
CN114448588B (en) Audio transmission method, device, electronic equipment and computer readable storage medium
JP2018067788A (en) Inbound traffic acceleration device, acceleration method, and acceleration program
US10728911B2 (en) Wireless communication device
CN110971530B (en) Video traffic data identification method, device and equipment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal