KR20210051271A - Apparatus and method for transmitting data for transmission guarantee - Google Patents
Apparatus and method for transmitting data for transmission guarantee Download PDFInfo
- 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
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 369
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012545 processing Methods 0.000 claims abstract description 17
- 238000007726 management method Methods 0.000 claims description 51
- 238000013523 data management Methods 0.000 claims description 11
- 238000012937 correction Methods 0.000 claims description 10
- 230000006870 function Effects 0.000 description 87
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000007423 decrease Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements 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/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1812—Hybrid protocols; Hybrid automatic repeat request [HARQ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0015—Systems modifying transmission characteristics according to link quality, e.g. power backoff characterised by the adaptation strategy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/0864—Round trip delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0894—Packet rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
Abstract
Description
개시되는 실시예들은 네트워크 상태를 고려한 데이터 전송 기술과 관련된다.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.
개시되는 실시예들은 전송 보장을 위한 데이터 전송 장치 및 방법을 제공하기 위한 것이다. 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
일 실시예에서, 데이터 전송 시스템(100)은 복수의 단말 간의 화상 회의 서비스를 제공하기 위한 것일 수 있다.In one embodiment, the
도 1을 참조하면, 데이터 전송 시스템(100)은 복수의 단말(110-1, 110-2) 및 화상 회의 서버(120)를 포함한다.Referring to FIG. 1, the
복수의 단말(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
한편, 각 단말(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
한편, 상술한 예에서는 복수의 단말이 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
단계 202에서, 화상 회의 서버(120)는 제1 단말(110-1)에게 서버 접속 메시지를 전송할 수 있다. In step 202, the
단계 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
단계 205에서, 화상 회의 서버(120)는 제1 단말(110-1)에게 공용 IP/Port를 전송할 수 있다.In step 205, the
단계 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
단계 207에서, 화상 회의 서버(120)는 제2 단말(110-2)에게 제1 단말(110-1)의 피어 투 피어 정보를 전송할 수 있다. 이때 제2 단말(110-2)은 상술한 제1 단말(110-1)이 피어 투 피어 정보를 수집하는 방식과 동일한 방식으로 자신의 피어 투 피어 정보를 수집한 장치일 수 있다.In step 207, the
단계 208에서, 화상 회의 서버(120)는 제1 단말(110-1)에게 제2 단말(110-2)의 피어 투 피어 정보를 전송할 수 있다.In
단계 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
도 3에 도시된 전송 보장을 위한 데이터 전송 장치(300)는 예를 들어, 도 1에 도시된 복수의 단말(110-1, 110-2) 각각에 포함되는 일 구성으로 구현될 수 있다.The
도 3을 참조하면, 전송 보장을 위한 데이터 전송 장치(300)는 접속 관리 모듈(310), 데이터 송신 모듈(320), 데이터 수신 모듈(330), 네트워크 상태 결정 모듈(340), 전송 보장 기능 관리 모듈(350) 및 데이터 관리 모듈(360)을 포함한다.Referring to FIG. 3, the
일 실시예에서, 접속 관리 모듈(310), 데이터 송신 모듈(320), 데이터 수신 모듈(330), 네트워크 상태 결정 모듈(340), 전송 보장 기능 관리 모듈(350) 및 데이터 관리 모듈(360)는 물리적으로 구분된 하나 이상의 장치를 이용하여 구현되거나, 하나 이상의 프로세서 또는 하나 이상의 프로세서 및 소프트웨어의 결합에 의해 구현될 수 있으며, 도시된 예와 달리 구체적 동작에 있어 명확히 구분되지 않을 수 있다.In one embodiment, the
접속 관리 모듈(310)은 상술한 도 2의 방식을 통해 화상 회의 서버(120) 또는 수신 단말에 접속할 수 있다.The
데이터 송신 모듈(320)은 수신 단말로 데이터를 송신한다. 이때, 데이터는 화상 회의를 위한 영상 데이터, 음성 데이터 등을 포함할 수 있다.The
또한, 데이터 송신 모듈(320)은 송신된 데이터에 기초하여 시간당 데이터 전송량(throughput)을 산출한다.In addition, the
예를 들어, 데이터 송신 모듈(320)은 다양한 전송량 산출 기법을 이용하여 수신 단말로 송신한 데이터에 따라 실시간으로 시간당 데이터 전송량을 산출할 수 있다. For example, the
데이터 수신 모듈(330)은 수신 단말로부터 송신된 데이터에 대한 수신 확인 메시지를 수신한다.The
네트워크 상태 결정 모듈(340)은 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정한다.The network
일 실시예에서, 네트워크 상태 정보는 도 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
이때, 전송률 제어 상태는 시간당 데이터 전송량을 제어하는 상태에 관한 것으로, 예를 들어, 시간당 데이터 전송량을 증가시키는 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
예를 들어, 최초 데이터 패킷에 부여된 시퀀스 번호가 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
또한, 일 실시예에서, 네트워크 지연 시간은 수신 단말로 송신된 데이터 패킷에 할당된 전송 시간 정보에 기초하여 측정될 수 있다. 예를 들어, 데이터 송신 모듈(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
예를 들어, 데이터 송신 모듈(320)은 수신 단말로 0ms 전송 시간을 포함하는 제1 데이터 패킷 및 100ms 전송 시간을 포함하는 제2 데이터 패킷을 전송한 것으로 가정한다. 이때, 수신 단말은 제1 데이터 패킷 및 제2 데이터 패킷의 수신 시간을 각각 200ms 및 350ms으로 측정한 경우, 네트워크 지연 시간을 50ms로 측정할 수 있다. 이후, 수신 단말은 측정된 네트워크 지연 시간을 포함하는 수신 확인 메시지를 데이터 수신 모듈(330)로 전송할 수 있다.For example, it is assumed that the
또한, 일 실시예에서, 라운드 트립 타임은 데이터 송신 모듈(320)에서 송신된 데이터의 전송 시간 및 데이터 수신 모듈(330)에서 수신된 수신 확인 메시지의 수신 시간에 기초하여 산출될 수 있다.In addition, in an embodiment, the round trip time may be calculated based on a transmission time of data transmitted from the
한편, 상술한 네트워크 패킷 손실률, 네트워크 지연 시간 및 라운드 트립 타임에 대한 측정 방식은 일 예시에 불과하며, 상술한 방식 이외에 다양한 방식을 통해 측정될 수 있다.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
예를 들어, 네트워크 상태 결정 모듈(340)은 데이터 전송 시 특정 구간에서 데이터 패킷 손실이 발생하는 경우, 해당 구간에서의 최대 대역폭을 사용 가능한 대역폭으로 결정할 수 있다. 또한, 네트워크 상태 결정 모듈(340)은 산출된 사용 가능한 대역폭을 데이터 관리 모듈(360)로 전달할 수 있다.For example, when a data packet loss occurs in a specific section during data transmission, the network
전송 보장 기능 관리 모듈(350)은 산출된 시간당 데이터 전송량, 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛(CPU: Central Processing Unit) 점유율 중 적어도 하나에 기초하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 대한 전송 보장 기능의 적용 여부를 결정한다.The transmission guarantee
구체적으로, 전송 보장 기능 관리 모듈(350)은 네트워크의 상태에 따라 전송 보장 기능의 적용 여부를 선택적으로 적용할 수 있다. 이때, 전송 보장 기능 관리 모듈(350)에서 전송 보장 기능을 적용하기로 결정하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)은 전송 보장 기능 관리 모듈(350)에 의해 결정된 전송 보장 기법에 기초하여 데이터를 송수신할 수 있다. Specifically, the transmission guarantee
데이터 관리 모듈(350)은 결정된 네트워크 상태 정보에 기초하여 수신 단말로 송신될 데이터를 인코딩할 수 있다.The
구체적으로, 데이터 관리 모듈(350)은 화상 회의를 위한 영상 데이터 및 음성 데이터에 대한 인코딩을 수행할 수 있다. 예를 들어, 데이터 관리 모듈은 네트워크 상태 결정 모듈(350)로부터 전달받은 네트워크 상태 정보 기초하여 인코딩을 통해 줄이려는 데이터의 크기를 결정할 수 있다.Specifically, the
이후, 데이터 송신 모듈(320)은 인코딩된 데이터를 수신 단말로 송신하면서 인코딩된 데이터에 기초하여 시간당 데이터 전송량을 산출할 수 있다. 이후, 데이터 송신 모듈(320)은 산출된 시간당 데이터 전송량을 전송 보장 기능 관리 모듈(350)로 전달함으로써, 전송 보장 기능의 적용 여부를 결정하기 위한 시간당 데이터 전송량을 실시간으로 파악할 수 있다.Thereafter, the
구체적으로, 도 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
도 6을 참조하면, 단계 610에서, 전송 보장 기능 관리 모듈(350)은 일정 기간 동안에 데이터 송신 모듈(320)에 의해 산출된 시간당 데이터 전송량이 증가하는지 여부를 판단할 수 있다.Referring to FIG. 6, in
일 실시예에서, 전송 보장 기능 관리 모듈(350)은 일정 기간 동안에 데이터 송신 모듈(320)에 의해 산출된 시간당 데이터 전송량이 증가하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In one embodiment, the transmission guarantee
구체적으로, 전송 보장 기능 관리 모듈(350)은 일정 기간 동안에 시간당 데이터 전송량이 증가하는 경우, 시간당 데이터 전송량이 사용 가능한 대역폭을 초과할 수 있기 때문에 전송 보장 기능을 적용할 수 있다. Specifically, the transmission guarantee
이와 달리, 일정 기간 동안에 시간당 데이터 전송량이 증가하는 경우, 단계 680에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용하지 않을 수 있다.In contrast, when the amount of data transmission per hour increases during a certain period, in
이후, 단계 620에서, 전송 보장 기능 관리 모듈(350)은 산출된 시간당 데이터 전송량이 사용 가능한 대역폭에 근접하는지 여부를 판단할 수 있다.Thereafter, in
일 실시예에서, 전송 보장 기능 관리 모듈(350)은 산출된 시간당 데이터 전송량이 사용 가능한 대역폭에 근접하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In one embodiment, the transmission guarantee
이와 달리, 산출된 시간당 데이터 전송량이 사용 가능한 대역폭에 근접하지 않는 경우, 단계 680에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용하지 않을 수 있다.In contrast, when the calculated amount of data transmission per hour is not close to the usable bandwidth, in
이후, 단계 630에서, 전송 보장 기능 관리 모듈(350)은 전송률 제어 상태가 시간당 데이터 전송량을 증가시키는 상태인지를 판단할 수 있다.Thereafter, in
일 실시예에서, 전송률 제어 상태가 시간당 데이터 전송량을 증가시키는 상태인 경우, 단계 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
구체적으로, 전송 보장 기능 관리 모듈(350)은 전송률 제어 상태가 시간당 데이터 전송량을 증가시키는 상태(예를 들어, Increase 상태)인 것으로 판단되는 경우, 사용 가능한 대역폭에 여유가 있는 것으로 판단하여 전송 보장 기능을 적용하지 않을 수 있다.Specifically, when the transmission guarantee
이와 달리, 전송률 제어 상태가 시간당 데이터 전송량을 유지하는 상태(예를 들어, 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
이후, 단계 640에서, 전송 보장 기능 관리 모듈(350)은 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인지 여부를 판단할 수 있다. Thereafter, in
일 실시예에서, 전송 보장 기능 관리 모듈(350)은 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 단계 680에서, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시키거나 적용하지 않을 수 있다.In one embodiment, the transmission guarantee
구체적으로, 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 전송 보장 기능 관리 모듈(350)은 전송 보장 기능을 적용하기에 충분한 리소스가 없는 것으로 판단하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시키거나 적용하지 않을 수 있다.Specifically, when the central processing unit occupancy is greater than or equal to a preset first threshold, the transmission guarantee
이와 달리, 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 미만인 경우, 전송 보장 기능 관리 모듈(350)은 전송 보장 기능을 적용하기에 충분한 리소스가 있는 것으로 판단하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In contrast, when the central processing unit occupancy is less than a preset first threshold, the transmission guarantee
이에 따라, 저 사양 단말과 저 지연 통신에서 보다 원활한 영상, 음성 송수신을 가능하도록 할 수 있다.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
일 실시예에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용하기로 결정하는 경우, 결정된 네트워크 상태 정보에 기초하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용될 전송 보장 기법을 결정할 수 있다.In one embodiment, when the transmission guarantee
구체적으로, 단계 650에서 라운드 트립 타임이 기 설정된 제2 임계 값 이상인 것으로 판단된 경우, 단계 660에서, 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전진 오류 수정(FEC: Forward Error Correction) 기반의 전송 보장 기법을 적용할 수 있다.Specifically, when it is determined in
이와 달리, 단계 650에서 라운드 트립 타임이 기 설정된 제2 임계 값 미만인 것으로 판단된 경우, 단계 670에서 전송 보장 기능 관리 모듈(350)은 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 부정 응답(NACK: negative acknowledgement) 기반의 전송 보장 기법을 적용할 수 있다. 이 경우, 전송 보장 기능 관리 모듈(350)은 라운드 트림 타임에 기초하여 부정 응답 버퍼의 크기를 조정할 수 있다.In contrast, when it is determined in
도 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
도 7을 참조하면, 단계 710에서, 전송 보장을 위한 데이터 전송 장치(300)는 수신 단말로 데이터를 송신한다.Referring to FIG. 7, in
단계 720에서, 전송 보장을 위한 데이터 전송 장치(300)는 송신된 데이터에 기초하여 시간당 데이터 전송량을 산출한다.In
단계 730에서, 전송 보장을 위한 데이터 전송 장치(300)는 수신 단말로부터 송신된 데이터에 대한 수신 확인 메시지를 수신한다.In
단계 740에서, 전송 보장을 위한 데이터 전송 장치(300)는 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정한다.In
단계 750에서, 전송 보장을 위한 데이터 전송 장치(300)는 산출된 시간당 데이터 전송량, 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛 점유율 중 적어도 하나에 기초하여 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 대한 전송 보장 기능의 적용 여부를 결정한다.In
이때, 전송 보장을 위한 데이터 전송 장치(300)는 일정 기간 동안에 산출된 시간당 데이터 전송량이 증가하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 상기 전송 보장 기능을 적용할 수 있다.In this case, the
또한, 전송 보장을 위한 데이터 전송 장치(300)는 산출된 시간당 데이터 전송량이 사용 가능한 대역폭에 근접하는 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 전송 보장 기능을 적용할 수 있다.In addition, the
또한, 전송 보장을 위한 데이터 전송 장치(300)는 전송률 제어 상태가 시간당 데이터 전송량을 증가시키는 상태인 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시킬 수 있다.In addition, the
또한, 전송 보장을 위한 데이터 전송 장치(300)는 중앙 처리 유닛 점유율이 기 설정된 제1 임계 값 이상인 경우, 데이터 송신 모듈(320) 및 데이터 수신 모듈(330)에 적용된 전송 보장 기능을 중단시킬 수 있다.In addition, the
또한, 전송 보장을 위한 데이터 전송 장치(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
또한, 전송 보장을 위한 데이터 전송 장치(300)는 라운드 트립 타임이 기 설정된 제2 임계 값 이상인 경우, 전진 오류 수정 기반의 전송 보장 기법을 적용하고, 라운드 트립 타임이 기 설정된 제2 임계 값 미만인 경우, 부정 응답 기반의 전송 보장 기법을 적용할 수 있다.In addition, the
도 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
컴퓨팅 장치(12)는 적어도 하나의 프로세서(14), 컴퓨터 판독 가능 저장 매체(16) 및 통신 버스(18)를 포함한다. 프로세서(14)는 컴퓨팅 장치(12)로 하여금 앞서 언급된 예시적인 실시예에 따라 동작하도록 할 수 있다. 예컨대, 프로세서(14)는 컴퓨터 판독 가능 저장 매체(16)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 상기 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 상기 컴퓨터 실행 가능 명령어는 프로세서(14)에 의해 실행되는 경우 컴퓨팅 장치(12)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.The
컴퓨터 판독 가능 저장 매체(16)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능 저장 매체(16)에 저장된 프로그램(20)은 프로세서(14)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독 가능 저장 매체(16)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 장치(12)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.The computer-
통신 버스(18)는 프로세서(14), 컴퓨터 판독 가능 저장 매체(16)를 포함하여 컴퓨팅 장치(12)의 다른 다양한 컴포넌트들을 상호 연결한다.The
컴퓨팅 장치(12)는 또한 하나 이상의 입출력 장치(24)를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(22) 및 하나 이상의 네트워크 통신 인터페이스(26)를 포함할 수 있다. 입출력 인터페이스(22) 및 네트워크 통신 인터페이스(26)는 통신 버스(18)에 연결된다. 입출력 장치(24)는 입출력 인터페이스(22)를 통해 컴퓨팅 장치(12)의 다른 컴포넌트들에 연결될 수 있다. 예시적인 입출력 장치(24)는 포인팅 장치(마우스 또는 트랙패드 등), 키보드, 터치 입력 장치(터치패드 또는 터치스크린 등), 음성 또는 소리 입력 장치, 다양한 종류의 센서 장치 및/또는 촬영 장치와 같은 입력 장치, 및/또는 디스플레이 장치, 프린터, 스피커 및/또는 네트워크 카드와 같은 출력 장치를 포함할 수 있다. 예시적인 입출력 장치(24)는 컴퓨팅 장치(12)를 구성하는 일 컴포넌트로서 컴퓨팅 장치(12)의 내부에 포함될 수도 있고, 컴퓨팅 장치(12)와는 구별되는 별개의 장치로 컴퓨팅 장치(12)와 연결될 수도 있다.
이상에서는 실시예들을 중심으로 기술적 특징들을 설명하였다. 하지만, 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한고, 권리 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 권리범위에 포함된 것으로 해석되어야 할 것이다.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)
상기 수신 단말로부터 상기 송신된 데이터에 대한 수신 확인 메시지를 수신하는 데이터 수신 모듈;
상기 수신 확인 메시지에 기초하여 네트워크 상태 정보를 결정하는 네트워크 상태 결정 모듈; 및
상기 산출된 시간당 데이터 전송량, 상기 결정된 네트워크 상태 정보 및 데이터 송수신에 대한 중앙 처리 유닛(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.
상기 전송 보장 기능 관리 모듈은, 일정 기간 동안에 상기 산출된 시간당 데이터 전송량이 증가하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하는 전송 보장을 위한 데이터 전송 장치.
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.
상기 네트워크 상태 정보는, 사용 가능한 대역폭(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.
상기 네트워크 상태 정보는, 전송률 제어 상태(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 임계 값 이상인 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용된 상기 전송 보장 기능을 중단시키는 전송 보장을 위한 데이터 전송 장치.
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.
상기 전송 보장 기능 관리 모듈은, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하기로 결정하는 경우, 상기 결정된 네트워크 상태 정보에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용될 전송 보장 기법을 결정하는 전송 보장을 위한 데이터 전송 장치.
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.
상기 네트워크 상태 정보는, 라운드 트립 타임(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).
상기 결정된 네트워크 상태 정보에 기초하여 상기 수신 단말로 송신될 데이터를 인코딩하는 데이터 관리 모듈을 더 포함하고,
상기 데이터 송신 모듈은, 상기 인코딩된 데이터를 상기 수신 단말로 송신하고, 상기 인코딩된 데이터에 기초하여 상기 시간당 데이터 전송량을 산출하는 전송 보장을 위한 데이터 전송 장치.
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.
상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 일정 기간 동안에 상기 산출된 시간당 데이터 전송량이 증가하는 경우, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하는 전송 보장을 위한 데이터 전송 방법.
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.
상기 네트워크 상태 정보는, 사용 가능한 대역폭(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.
상기 네트워크 상태 정보는, 전송률 제어 상태(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.
상기 전송 보장 기능의 적용 여부를 결정하는 단계는, 상기 중앙 처리 유닛 점유율이 기 설정된 제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.
상기 전송 보장 기능 관리 모듈에서, 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 상기 전송 보장 기능을 적용하기로 결정하는 경우, 상기 결정된 네트워크 상태 정보에 기초하여 상기 데이터 송신 모듈 및 상기 데이터 수신 모듈에 적용될 전송 보장 기법을 결정하는 단계를 더 포함하는 전송 보장을 위한 데이터 전송 방법.
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.
상기 네트워크 상태 정보는, 라운드 트립 타임(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).
데이터 관리 모듈에서, 상기 결정된 네트워크 상태 정보에 기초하여 상기 수신 단말로 송신될 데이터를 인코딩하는 단계를 더 포함하고,
상기 송신하는 단계는, 상기 인코딩된 데이터를 상기 수신 단말로 송신하고,
상기 산출하는 단계는, 상기 인코딩된 데이터에 기초하여 상기 시간당 데이터 전송량을 산출하는 전송 보장을 위한 데이터 전송 장치.
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.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190006189A (en) | 2016-06-19 | 2019-01-17 | 엘지전자 주식회사 | Data transmission method and transmitter |
-
2019
- 2019-10-30 KR KR1020190136319A patent/KR20210051271A/en not_active Application Discontinuation
Patent Citations (1)
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 |