KR101239276B1 - Client device, System and method for stepwise processing of UDP packet - Google Patents

Client device, System and method for stepwise processing of UDP packet Download PDF

Info

Publication number
KR101239276B1
KR101239276B1 KR1020110066149A KR20110066149A KR101239276B1 KR 101239276 B1 KR101239276 B1 KR 101239276B1 KR 1020110066149 A KR1020110066149 A KR 1020110066149A KR 20110066149 A KR20110066149 A KR 20110066149A KR 101239276 B1 KR101239276 B1 KR 101239276B1
Authority
KR
South Korea
Prior art keywords
udp packet
udp
block
real
time
Prior art date
Application number
KR1020110066149A
Other languages
Korean (ko)
Other versions
KR20130004850A (en
Inventor
박상천
오세봉
유성웅
권종환
Original Assignee
주식회사 코모바일
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 코모바일 filed Critical 주식회사 코모바일
Priority to KR1020110066149A priority Critical patent/KR101239276B1/en
Publication of KR20130004850A publication Critical patent/KR20130004850A/en
Application granted granted Critical
Publication of KR101239276B1 publication Critical patent/KR101239276B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol
    • 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/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)

Abstract

본 발명은 단계적 UDP 패킷 처리 클라이언트, 시스템 및 처리방법에 관한 것으로, 본 발명에 따른 단계적 UDP 패킷 처리 클라이언트는, 패킷순서에 따라 순서라벨이 부여된 UDP 패킷을 수신하는 UDP 패킷 수신모듈; 수신된 복수의 UDP 패킷들을 상기 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록으로 처리하는 실시간 UDP 패킷블록 처리모듈; 상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 저장하는 실시간 UDP 패킷블록 버퍼모듈; 상기 실시간 UDP 패킷블록 버퍼모듈에 저장된 상기 실시간 UDP 패킷블록을 구성하는 상기 UDP 패킷들의 상기 순서라벨을 참조하여 유실 UDP 패킷이 있는 경우 상기 유실 UDP 패킷의 재전송을 서버에 요청하는 유실 UDP 패킷 요청모듈; 및 상기 실시간 UDP 패킷블록 버퍼모듈의 상기 실시간 UDP 패킷블록의 상기 UDP 패킷들과 상기 유실 UDP 패킷 요청모듈에서 재전송을 요청하여 수신된 상기 유실 UDP 패킷을 상기 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록으로 처리하는 재처리 UDP 패킷블록 처리모듈;을 포함하여 구성되는 것을 특징으로 한다.The present invention relates to a staged UDP packet processing client, a system and a processing method. The staged UDP packet processing client according to the present invention comprises: a UDP packet receiving module configured to receive a UDP packet having an order label according to the packet order; A real time UDP packet block processing module for first rearranging the plurality of UDP packets according to the order label and processing the received plurality of UDP packets into a real time UDP packet block which is a block composed of a plurality of UDP packets; A real time UDP packet block buffer module for receiving and storing the real time UDP packet block from the real time UDP packet block processing module; A lost UDP packet request module for requesting a server to retransmit the lost UDP packet when there is a lost UDP packet by referring to the sequence label of the UDP packets constituting the real time UDP packet block stored in the real time UDP packet block buffer module; And rearranging and reprocessing the UDP packets of the real-time UDP packet block of the real-time UDP packet block buffer module and the lost UDP packets received by requesting retransmission from the lost UDP packet request module. And a reprocessing UDP packet block processing module for processing into a UDP packet block.

Figure R1020110066149
Figure R1020110066149

Description

단계적 UDP 패킷 처리 클라이언트, 시스템 및 처리방법{Client device, System and method for stepwise processing of UDP packet}Client device, system and method for stepwise processing of UDP packet

본 발명은 단계적 UDP 패킷 처리 클라이언트, 시스템 및 처리방법에 관한 것으로 수신된 UDP 패킷을 신속하게 처리하기에 적합한 실시간 UDP 패킷블록으로 처리하고, 이후 실시간 UDP 패킷블록을 재처리하여 지연처리시 수신품질을 향상시킨 재처리 UDP 패킷블록으로 처리하는 단계적 UDP 패킷 처리 클라이언트, 시스템 및 처리방법에 관한 것이다.
The present invention relates to a staged UDP packet processing client, a system and a processing method. The present invention processes a received UDP packet into a real time UDP packet block suitable for quickly processing, and then reprocesses the real time UDP packet block to improve reception quality during delay processing. A step-by-step UDP packet processing client, system, and method for processing an enhanced reprocessing UDP packet block.

PTT(Push To Talk)와 같은 신속한 메시지 전달이 중요한 서비스에서는 오디오 데이터의TCP(Transmission Control Protocol)가 아닌 UDP(User Datagram Protocol)를 사용하는 것이 일반적이다. UDP는 수신측에서 패킷의 순서를 확인할 수 없고 중간의 패킷이 유실되더라도 이를 알 수 없다는 단점이 있으나 TCP 와 비교하여 빠른 데이터 전달 속도로 인해 신속한 멀티미디어 데이터의 전송에 유리하다.In services where fast message delivery is important, such as Push To Talk (PTT), it is common to use User Datagram Protocol (UDP) rather than Transmission Control Protocol (TCP) of audio data. UDP has the disadvantage of not being able to check the order of packets on the receiving side and not knowing if packets are lost in the middle. However, it is advantageous for fast multimedia data transmission due to the faster data transfer rate compared to TCP.

이러한 종래의 UDP 처리방법에 따르면, UDP 패킷의 처리에 소요되는 시간이 없기 때문에 실시간 통신이 보장되는 장점이 있지만, 통신상태가 좋지 않은 경우 유실 패킷 및 패킷 순서의 오류가 수정되지 않아 통신망에 따라 수신품질이 심각하게 저하되는 문제가 발생한다.According to the conventional UDP processing method, there is an advantage that the real-time communication is guaranteed because there is no time required to process the UDP packet, but when the communication state is poor, the lost packet and the packet order error are not corrected and thus received according to the communication network. There is a problem of serious deterioration in quality.

이러한 문제를 해결하기 위한 방법으로 송신 클라이언트에서 UDP 패킷의 순번에 따라 라벨링을 하여 UDP 패킷을 전송하고 수신 클라이언트에서는 수신된 UDP 패킷의 라벨에 따라 순서대로 재조립함으로써 TCP의 전송순서 제어를 UDP에서 구현한 RUDP(Reliable UDP) 기술이 제시된 바 있다. 이러한 RUDP에 따르면 수신 클라이언트는 수신된 UDP 패킷을 라벨에 따라 재조립함으로써 어느 정도의 QoS(Quality of Service)를 보장받을 수 있다.In order to solve this problem, the control of the transmission order of TCP is implemented in UDP by transmitting UDP packets by labeling the UDP packets in order from the sending client and reassembling them in order according to the labels of the received UDP packets. One reliable UDP (RUDP) technology has been proposed. According to the RUDP, the receiving client can be guaranteed a certain quality of service (QoS) by reassembling the received UDP packet according to the label.

그러나 종래의 RUDP따르면, 순서에 따른 패킷 재조립 및 유실패킷 재전송으로 인해 수신품질이 향상되는 효과가 있지만, 전송순서 제어를 위해서는 모든 UDP 패킷의 수신을 기다려야 할 뿐 아니라 유실 패킷의 재전송 요청에 과도한 시간이 소요되어 UDP 통신의 장점인 실시간 통신이 불가능해진다는 문제가 있다. 더욱이 전송되는 대상이 멀티미디어 파일과 같이 전송대상의 크기가 증가할 수록 RUDP 처리에 소요되는 시간도 증가하여 결국 TCP 전송과 다름없이 실시간 전송이 불가능해지는 심각한 문제가 있었다.
However, according to the conventional RUDP, the reception quality is improved due to the reassembly of packets and the retransmission of lost packets. However, in order to control the transmission order, not only have to wait for the reception of all UDP packets, but also excessive time for the request for retransmission of lost packets. This takes a problem that real-time communication, which is an advantage of UDP communication, becomes impossible. In addition, as the size of a transmission object increases, such as a multimedia file, the time required for RUDP processing also increases, resulting in a serious problem that real-time transmission is impossible, unlike TCP transmission.

본 발명은 상기의 문제를 해결하기 위한 것으로, 본 발명에 따른 단계적 UDP 패킷 처리 클라이언트, 시스템 및 처리방법은 긴급한 실시간 처리가 필요한 UDP 패킷의 수신시에는 유실 UDP 패킷의 재전송을 요청하지 않고 일정 패킷 단위로 수신된 UDP 패킷 내에서 패킷순서만 재조립하는 1차 재배열 과정을 통해 실시간 UDP 패킷블록을 생성하고, 실시간 처리 이후에는 QoS를 높이기 위해 유실 UDP 패킷을 재전송받아 재처리 UDP 패킷블록을 생성함으로써 대용량의 멀티미디어 파일의 UDP 전송시 수신품질저하를 방지하고 UDP 패킷 처리에 소요되는 시간을 최소화하는 것을 목적으로 한다.The present invention is to solve the above problems, the step-by-step UDP packet processing client, system and processing method according to the present invention does not request retransmission of the lost UDP packet when receiving a UDP packet requiring urgent real-time processing in a certain packet unit Real-time UDP packet block is generated through the first reordering process of reassembling only the packet order in the received UDP packet, and after reprocessing the lost UDP packet to generate the reprocessed UDP packet block to improve QoS. It aims to prevent the deterioration of reception quality during UDP transmission of large multimedia files and to minimize the time required for UDP packet processing.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 클라이언트, 시스템 및 처리방법은, 실시간 UDP 패킷블록이 출력되는 동안에 한해 다음 차례의 실시간 UDP 패킷블록을 처리함으로써 수신지연을 최소화하면서 끊김없는 통신이 가능하도록 하는 것을 다른 목적으로 한다.
The step-by-step UDP packet processing client, system, and method according to an embodiment of the present invention process the next real-time UDP packet block only while the real-time UDP packet block is output, thereby enabling seamless communication while minimizing reception delay. For other purposes.

본 발명에 따른 단계적 UDP 패킷 처리 클라이언트는, 패킷순서에 따라 순서라벨이 부여된 UDP 패킷을 수신하는 UDP 패킷 수신모듈; 수신된 복수의 UDP 패킷들을 상기 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록으로 처리하는 실시간 UDP 패킷블록 처리모듈; 상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 저장하는 실시간 UDP 패킷블록 버퍼모듈; 상기 실시간 UDP 패킷블록 버퍼모듈에 저장된 상기 실시간 UDP 패킷블록을 구성하는 상기 UDP 패킷들의 상기 순서라벨을 참조하여 유실 UDP 패킷이 있는 경우 상기 유실 UDP 패킷의 재전송을 서버에 요청하는 유실 UDP 패킷 요청모듈; 및 상기 실시간 UDP 패킷블록 버퍼모듈의 상기 실시간 UDP 패킷블록의 상기 UDP 패킷들과 상기 유실 UDP 패킷 요청모듈에서 재전송을 요청하여 수신된 상기 유실 UDP 패킷을 상기 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록으로 처리하는 재처리 UDP 패킷블록 처리모듈;을 포함하여 구성되는 것을 특징으로 한다.A staged UDP packet processing client according to the present invention comprises: a UDP packet receiving module for receiving a UDP packet to which an order label is assigned according to a packet order; A real time UDP packet block processing module for first rearranging the plurality of UDP packets according to the order label and processing the received plurality of UDP packets into a real time UDP packet block which is a block composed of a plurality of UDP packets; A real time UDP packet block buffer module for receiving and storing the real time UDP packet block from the real time UDP packet block processing module; A lost UDP packet request module for requesting a server to retransmit the lost UDP packet when there is a lost UDP packet by referring to the sequence label of the UDP packets constituting the real time UDP packet block stored in the real time UDP packet block buffer module; And rearranging and reprocessing the UDP packets of the real-time UDP packet block of the real-time UDP packet block buffer module and the lost UDP packets received by requesting retransmission from the lost UDP packet request module. And a reprocessing UDP packet block processing module for processing into a UDP packet block.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 클라이언트는, 상기 단계적 UDP 패킷 처리 클라이언트가 상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 사용자에게 즉시 출력하는 실시간 출력모듈;을 더 포함하는 것을 특징으로 한다.Step by step UDP packet processing client according to an embodiment of the present invention, the step-by-step UDP packet processing client further comprises a real-time output module for receiving the real-time UDP packet block from the real-time UDP packet block processing module and immediately output to the user; It is characterized by.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 클라이언트는, 상기 단계적 UDP 패킷 처리 클라이언트가 상기 재처리 UDP 패킷블록 처리모듈로부터 상기 재처리 UDP 패킷블록을 수신하여 사용자의 요청에 따라 출력하는 지연시간 출력모듈;을 더 포함하는 것을 특징으로 한다.The staged UDP packet processing client according to an embodiment of the present invention, the delay time output module that the stepped UDP packet processing client receives the reprocessing UDP packet block from the reprocessing UDP packet block processing module and outputs it according to a user's request It characterized in that it further comprises.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 클라이언트는, 상기 UDP 패킷은 보이스 인코딩된 UDP 패킷이고, 상기 실시간 출력모듈은 상기 실시간 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하고, 상기 지연시간 출력모듈은 상기 재처리 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하는 것을 특징으로 한다.In the step-by-step UDP packet processing client according to an embodiment of the present invention, the UDP packet is a voice-encoded UDP packet, the real-time output module voice-decodes the real-time UDP packet block and outputs the voice through a speaker, the delay time The output module may voice decode the reprocessed UDP packet block and output the voice through a speaker.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 클라이언트는, 상기 실시간 UDP 패킷블록 처리모듈이 N 번째 상기 실시간 UDP 패킷블록이 상기 실시간 출력모듈을 통해 출력되는 동안 N+1 번째 상기 실시간 UDP 패킷블록을 1차 재배열하는 것을 특징으로 한다.The step-by-step UDP packet processing client according to an embodiment of the present invention, the real-time UDP packet block processing module 1 N + 1 th real-time UDP packet block while the N-th real-time UDP packet block is output through the real-time output module 1 It is characterized by rearranging the tea.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 클라이언트는, 상기 UDP 패킷 요청모듈은, 설정시간 이내에서 또는 설정횟수 이내에서 상기 유실 UDP 패킷의 재전송을 요청하는 것을 특징으로 한다.Step by step UDP packet processing client according to an embodiment of the present invention, the UDP packet request module, characterized in that for retransmission of the lost UDP packet within a set time or within a set number of times.

본 발명에 따른 단계적 UDP 패킷 처리 시스템은, UDP 패킷을 송신하는 송신 클라이언트, 상기 UDP 패킷을 수신하여 중계하는 서버, 상기 서버로부터 상기 UDP 패킷을 수신하는 수신 클라이언트로 구성되는 단계적 UDP 패킷 처리 시스템에 있어서, 상기 송신 클라이언트는 패킷순서에 따라 순서라벨이 부여된 상기 UDP 패킷을 송신하는 UDP 패킷 송신모듈을 포함하고; 상기 서버는 상기 UDP 패킷을 수신하여 저장하는 UDP 패킷 저장모듈 및 상기 UDP 패킷을 전송하는 UDP 패킷 중계모듈;을 포함하고; 상기 수신 클라이언트는, 상기 서버로부터 상기 UDP 패킷을 수신하는 UDP 패킷 수신모듈, 수신된 복수의 상기 UDP 패킷들을 상기 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록으로 처리하는 실시간 UDP 패킷블록 처리모듈, 상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 저장하는 실시간 UDP 패킷블록 버퍼모듈, 상기 실시간 UDP 패킷블록 버퍼모듈에 저장된 상기 실시간 UDP 패킷블록을 구성하는 상기 UDP 패킷들의 상기 순서라벨을 참조하여 유실 UDP 패킷이 있는 경우 상기 유실 UDP 패킷의 재전송을 상기 서버에 요청하는 유실 UDP 패킷 요청모듈, 및 상기 실시간 UDP 패킷블록 버퍼모듈의 상기 실시간 UDP 패킷블록의 상기 UDP 패킷들과 상기 유실 UDP 패킷 요청모듈에서 재전송을 요청하여 수신된 상기 유실 UDP 패킷을 상기 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록으로 처리하는 재처리 UDP 패킷블록 처리모듈을 포함하여 구성되는 것을 특징으로 한다.In a staged UDP packet processing system according to the present invention, there is provided a staged UDP packet processing system including a transmitting client transmitting a UDP packet, a server receiving and relaying the UDP packet, and a receiving client receiving the UDP packet from the server. The transmitting client comprises a UDP packet transmitting module for transmitting the UDP packets given an order label according to the packet order; The server includes a UDP packet storage module for receiving and storing the UDP packet and a UDP packet relay module for transmitting the UDP packet; The receiving client is a UDP packet receiving module for receiving the UDP packet from the server, a real time UDP packet block which is a block composed of a plurality of UDP packets by first rearranging the plurality of received UDP packets according to the order label. A real time UDP packet block processing module for processing a real time UDP packet block buffer module for receiving and storing the real time UDP packet block from the real time UDP packet block processing module and the real time UDP packet block stored in the real time UDP packet block buffer module A lost UDP packet request module for requesting the server to retransmit the lost UDP packet when there is a lost UDP packet by referring to the sequence label of the UDP packets, and the real time UDP packet block of the real time UDP packet block buffer module Request retransmission from the UDP packets and the lost UDP packet request module And a reprocessing UDP packet block processing module configured to second-order rearranged received UDP packets according to the order labels and process them as reprocessed UDP packet blocks.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 시스템은, 상기 수신 클라이언트가 상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 사용자에게 즉시 출력하는 실시간 출력모듈 및 상기 재처리 UDP 패킷블록 처리모듈로부터 상기 재처리 UDP 패킷블록을 수신하여 사용자의 요청에 따라 출력하는 지연시간 출력모듈;을 더 포함하는 것을 특징으로 한다.In a staged UDP packet processing system according to an embodiment of the present invention, the receiving client receives the real-time UDP packet block from the real-time UDP packet block processing module and immediately outputs it to a user and the reprocessing UDP packet block processing. And a delay time output module for receiving the reprocessed UDP packet block from the module and outputting the reprocessed UDP packet block according to a user's request.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 시스템은, 상기 UDP 패킷은 보이스 인코딩된 UDP 패킷이고, 상기 실시간 출력모듈은 상기 실시간 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하고, 상기 지연시간 출력모듈은 상기 재처리 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하는 것을 특징으로 한다.In a staged UDP packet processing system according to an embodiment of the present invention, the UDP packet is a voice-encoded UDP packet, and the real-time output module voice-decodes the real-time UDP packet block to output voice through a speaker, and the delay time. The output module may voice decode the reprocessed UDP packet block and output the voice through a speaker.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 시스템은, 상기 실시간 UDP 패킷블록 처리모듈이 N 번째 상기 실시간 UDP 패킷블록이 상기 실시간 출력모듈을 통해 출력되는 동안 N+1 번째 상기 실시간 UDP 패킷블록을 1차 재배열하는 것을 특징으로 한다.In a staged UDP packet processing system according to an embodiment of the present invention, the real time UDP packet block processing module selects the N + 1 th real time UDP packet block while the N th real time UDP packet block is output through the real time output module. It is characterized by rearranging the tea.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 시스템은, 상기 UDP 패킷 요청모듈이 설정시간 이내에서 또는 설정횟수 이내에서 상기 유실 UDP 패킷의 재전송을 요청하는 것을 특징으로 한다.In a staged UDP packet processing system according to an embodiment of the present invention, the UDP packet request module requests retransmission of the lost UDP packet within a set time or within a set number of times.

본 발명에 따른 단계적 UDP 패킷 처리방법은, 클라이언트가 패킷순서에 따라 순서라벨이 부여된 UDP 패킷을 수신하는 제 1 단계;상기 제 1 단계에서 수신한 복수의 UDP 패킷들을 상기 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록으로 처리하는 제 2 단계; 클라이언트가 상기 실시간 UDP 패킷블록을 저장하는 제 3 단계; 클라이언트가 상기 실시간 UDP 패킷블록을 구성하는 상기 UDP 패킷들의 상기 순서라벨을 참조하여 유실 UDP 패킷이 있는 경우 상기 유실 UDP 패킷의 재전송을 서버에 요청하는 제 4 단계; 및 클라이언트가 상기 실시간 UDP 패킷블록의 상기 UDP 패킷들과 상기 제 4 단계의 재전송 요청에 의해 수신된 상기 유실 UDP 패킷을 상기 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록으로 처리하는 제 5 단계;를 포함하여 구성되는 것을 특징으로 한다.According to an aspect of the present invention, there is provided a method of processing a step-by-step UDP packet, comprising: a first step of a client receiving a UDP packet assigned an order label according to a packet order; a plurality of UDP packets received in the first step according to the order label A second step of rearranging and processing the real-time UDP packet block, which is a block composed of a plurality of UDP packets; A third step of a client storing the real time UDP packet block; Requesting a server to retransmit the lost UDP packet when there is a lost UDP packet by referring to the sequence label of the UDP packets constituting the real-time UDP packet block; And a fifth process in which the client rearranges the UDP packets of the real-time UDP packet block and the lost UDP packet received by the retransmission request of the fourth step according to the order label to be a reprocessed UDP packet block. Steps; characterized in that comprises a.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리방법은, 상기 제 2 단계 이후에 상기 클라이언트가 상기 실시간 UDP 패킷블록을 사용자에게 즉시 출력하는 제 6 단계;를 더 포함하는 것을 특징으로 한다.The step-by-step UDP packet processing method according to an embodiment of the present invention further includes a sixth step of the client immediately outputting the real-time UDP packet block to the user after the second step.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리방법은, 상기 제 5 단계 이후에 상기 클라이언트가 상기 재처리 UDP 패킷블록을 수신하여 사용자의 요청에 따라 출력하는 제 7 단계;를 더 포함하는 것을 특징으로 한다.Stepped UDP packet processing method according to an embodiment of the present invention, the fifth step after the client receives the reprocessed UDP packet block and outputs according to the user's request; further comprises a; do.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리방법은, 상기 제 1 단계의 상기 UDP 패킷은 보이스 인코딩된 UDP 패킷이고, 상기 제 6 단계는 상기 클라이언트가 상기 실시간 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하고, 상기 제 7 단계는 상기 클라이언트가 상기 재처리 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하는 것을 특징으로 한다.In the method of processing a stepped UDP packet according to an embodiment of the present invention, the UDP packet of the first step is a voice-encoded UDP packet, and in the sixth step, the client voice decodes the real-time UDP packet block through a speaker. In the seventh step, the client voice-decodes the reprocessed UDP packet block and outputs the voice through a speaker.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리방법은, 상기 제 2 단계에서 상기 클라이언트가 상기 제 6 단계에서 N 번째 상기 실시간 UDP 패킷블록이 출력되는 동안 N+1 번째 상기 실시간 UDP 패킷블록을 1차 재배열하는 것을 특징으로 한다.In the step-by-step UDP packet processing method according to an embodiment of the present invention, in the second step, the client first orders the N + 1 th real-time UDP packet block while the N-th real-time UDP packet block is output in the sixth step. It is characterized by rearranging.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리방법은, 상기 제 4 단계에서 상기 클라이언트가 설정시간 이내에서 또는 설정횟수 이내에서 상기 유실 UDP 패킷의 재전송을 요청하는 것을 특징으로 한다.In the fourth step, the UDP packet processing method according to an embodiment of the present invention is characterized in that in the fourth step, the client requests retransmission of the lost UDP packet within a set time or within a set number of times.

마지막으로, 상기 제 5 단계에서 상기 재처리 UDP 패킷블록의 크기는 상기 실시간 UDP 패킷블록의 크기보다 큰 것을 특징으로 한다.
Lastly, in the fifth step, the size of the reprocessed UDP packet block is larger than the size of the real time UDP packet block.

본 발명은 상기의 문제를 해결하기 위한 것으로, 본 발명에 따른 단계적 UDP 패킷 처리 클라이언트, 시스템 및 처리방법은 긴급한 실시간 처리가 필요한 UDP 패킷의 수신시에는 유실 UDP 패킷의 재전송을 요청하지 않고 일정 패킷 단위로 수신된 UDP 패킷 내에서 패킷순서만 재조립하는 1차 재배열 과정을 통해 실시간 UDP 패킷블록을 생성하고, 실시간 처리 이후에는 QoS를 높이기 위해 유실 UDP 패킷을 재전송받아 재처리 UDP 패킷블록을 생성함으로써 대용량의 멀티미디어 파일의 UDP 전송시 수신품질저하를 방지하고 UDP 패킷 처리에 소요되는 시간을 최소화하는 효과를 제공한다.The present invention is to solve the above problems, the step-by-step UDP packet processing client, system and processing method according to the present invention does not request retransmission of the lost UDP packet when receiving a UDP packet requiring urgent real-time processing in a certain packet unit Real-time UDP packet block is generated through the first reordering process of reassembling only the packet order in the received UDP packet, and after reprocessing the lost UDP packet to generate the reprocessed UDP packet block to improve QoS. It provides the effect of preventing the reception quality deterioration and minimizing the time required for UDP packet processing during UDP transmission of large multimedia files.

본 발명의 실시예에 따른 단계적 UDP 패킷 처리 클라이언트, 시스템 및 처리방법은, 실시간 UDP 패킷블록이 출력되는 동안에 한해 다음 차례의 실시간 UDP 패킷블록을 처리함으로써 수신지연을 최소화하면서 끊김없는 통신이 가능하도록 하는 효과를 제공한다.
The step-by-step UDP packet processing client, system, and method according to an embodiment of the present invention process the next real-time UDP packet block only while the real-time UDP packet block is output, thereby enabling seamless communication while minimizing reception delay. Provide effect.

도 1은 본 발명의 실시예에 따른 단계적 UDP 패킷 처리 시스템의 구성도.
도 2는 본 발명의 실시예에 따른 송신 클라이언트의 구성도.
도 3은 본 발명의 실시예에 따른 서버의 구성도.
도 4는 본 발명의 실시예에 따른 수신 클라이언트의 구성도.
도 5는 본 발명의 실시예에 따른 단계적 UDP 패킷 처리 과정을 도시하는 구성도.
도 6은 본 발명의 실시예에 따른 실시간 출력부에 의한 UDP 패킷 출력상황을 도시하는 화면 구성도.
도 7은 본 발명의 실시예에 따른 지연시간 출력부에 의한 UDP 패킷 출력상황을 도시하는 화면 구성도.
도 8은 본 발명의 실시예에 따른 단계적 UDP 패킷 처리방법의 흐름도.
1 is a block diagram of a staged UDP packet processing system according to an embodiment of the present invention.
2 is a block diagram of a transmitting client according to an embodiment of the present invention.
3 is a block diagram of a server according to an embodiment of the present invention.
4 is a block diagram of a receiving client according to an embodiment of the present invention.
5 is a block diagram illustrating a step-by-step UDP packet processing process according to an embodiment of the present invention.
6 is a screen configuration diagram showing a UDP packet output situation by the real-time output unit according to an embodiment of the present invention.
7 is a screen configuration diagram showing a UDP packet output situation by a delay time output unit according to an embodiment of the present invention.
8 is a flowchart of a method of processing a step-by-step UDP packet according to an embodiment of the present invention.

도 1은 본 발명에 따른 단계적 UDP 패킷 처리 시스템을 도시한다. 본 발명에 따른 단계적 UDP 패킷 처리 시스템은 송신 클라이언트(100), 서버(200), 및 수신 클라이언트(300)를 포함하여 구성된다.1 illustrates a staged UDP packet processing system according to the present invention. The staged UDP packet processing system according to the present invention comprises a transmitting client 100, a server 200, and a receiving client 300.

송신 클라이언트(100) UDP 패킷을 송신하는 기능을 수행하며, 도 2에 도시된 바와 같이 패킷순서에 따라 순서라벨이 부여된 UDP 패킷을 송신하는 UDP 패킷 송신모듈(110)을 포함하여 구성된다. 송신 클라이언트(100)는 예컨데 PTT 애플리케이션을 통해 음성 메시지를 실시간 전송하는 스마트폰을 예시할 수 있으며, 이동통신 단말기, 노트북 컴퓨터, PDA 단말기 등의 통신 단말기로 구현된다. UDP 패킷 송신모듈(100)은 예컨데 RUDP(Reliable UDP)와 같은 방식으로 패킷의 순서를 표시하는 라벨을 UDP 패킷에 부가하는 방식으로 순서라벨을 부여한다.The transmitting client 100 performs a function of transmitting a UDP packet, and as illustrated in FIG. 2, the transmitting client 100 includes a UDP packet transmitting module 110 that transmits UDP packets having an order label according to the packet order. For example, the transmitting client 100 may illustrate a smart phone that transmits a voice message in real time through a PTT application, and is implemented as a communication terminal such as a mobile communication terminal, a notebook computer, a PDA terminal, and the like. The UDP packet transmission module 100 assigns an order label by adding a label indicating the order of packets to the UDP packet, for example, in the same manner as RUDP (Reliable UDP).

서버(200)는 송신 클라이언트(100)로부터 수신한 UDP 패킷을 수신 클라이언트(300)로 중계하는 기능을 수행하기 위한 UDP 패킷 중계모듈(220) 및 수신 클라이언트(300)에서 유실 UDP 패킷(Lost UDP)을 요청하는 경우 이를 재전송하는 기능을 수행하기 위해 수신된 UDP 패킷을 저장하는 UDP 패킷 저장모듈(210)을 포함하여 구성된다. 서버(200)는 다수의 사용자간 PTT 서비스를 제공하는 PTT 서버를 예시할 수 있다. 송신 클라이언트(100)와 서버(200)는 반드시 물리적으로 분리되어야 하는 것은 아니고 송신 클라이언트(100)와 수신 클라이언트(300)가 중간에 서버(200)의 개입없이 직접 통신하는 1:1 통신이 수행되는 경우 송신 클라이언트(100)가 서버(200)의 기능을 포함하도록 구성할 수도 있다.The server 200 may perform a function of relaying a UDP packet received from the transmitting client 100 to the receiving client 300 and a UDP packet relay module 220 and a lost UDP packet lost from the receiving client 300. If the request is configured to include a UDP packet storage module 210 for storing the received UDP packet to perform the function of retransmitting it. The server 200 may exemplify a PTT server that provides a PTT service between a plurality of users. The transmitting client 100 and the server 200 are not necessarily physically separated, but 1: 1 communication is performed in which the transmitting client 100 and the receiving client 300 directly communicate without intervening the server 200. In this case, the transmitting client 100 may be configured to include a function of the server 200.

UDP 패킷 저장모듈(210)은 송신 클라이언트(100)로부터 수신된 UDP 패킷을 저장하는데 계속적으로 모든 UDP 패킷을 저장하도록 구현할 수도 있지만 이러한 경우 데이터 저장을 위한 서버(200)의 리소스 사용이 과다하기 때문에 예컨대 PTT 서비스의 경우 송신 클라이언트(100)가 현재 음성 메시지를 구성하는 UDP 패킷에 한해 다음 음성 메시지를 발송할 때까지만 한시적으로 저장하도록 구성하는 것이 바람직하다.The UDP packet storage module 210 may be implemented to continuously store all UDP packets for storing UDP packets received from the transmitting client 100, but in this case, since the resource usage of the server 200 for data storage is excessive, for example, In the case of the PTT service, it is preferable to configure the transmitting client 100 to temporarily store only the UDP packet constituting the current voice message until the next voice message is sent.

수신 클라이언트는, UDP 패킷 수신모듈(310), 실시간 UDP 패킷블록 처리모듈(320), 실시간 UDP 패킷블록 버퍼모듈(330), 유실 UDP 패킷 요청모듈(340), 및 재처리 UDP 패킷블록 처리모듈(350)을 포함하여 구성되며, 송신 클라이언트(100)가 송신한 UDP 패킷을 복수의 UDP 패킷 단위인 패킷블록으로 처리하는 기능을 수행한다.The receiving client includes a UDP packet receiving module 310, a real time UDP packet block processing module 320, a real time UDP packet block buffer module 330, a lost UDP packet request module 340, and a reprocessing UDP packet block processing module ( 350, and processes the UDP packet transmitted by the transmitting client 100 into a packet block that is a plurality of UDP packet units.

UDP 패킷 수신모듈(310)은 서버(200)로부터 UDP 패킷을 수신하는 기능을 수행한다.The UDP packet receiving module 310 performs a function of receiving a UDP packet from the server 200.

실시간 UDP 패킷블록 처리모듈(320)은, 수신된 복수의 상기 UDP 패킷들을 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록으로 처리하는 기능을 수행한다. 즉 실시간 UDP 패킷블록 처리모듈은 처리에 많은 시간이 소요되지 않는 현재 수신된 UDP 패킷 내에서 순서에 따른 패킷 재조립만 수행하고, 많은 시간이 소요되는 유실 UDP 패킷(Lost UDP)의 존재여부 파악 및 유실 UDP 패킷(Lost UDP)에 대한 재전송 요청은 수행하지 않음으로써 신속한 UDP 패킷 처리를 위한 실시간 UDP 패킷블록(RT-UDP:Real-Time UDP packet block)을 생성한다.The real-time UDP packet block processing module 320 performs a function of first rearranging the plurality of received UDP packets according to an order label to process the real-time UDP packet block, which is a block composed of a plurality of UDP packets. That is, the real-time UDP packet block processing module performs only packet reassembly in order within the currently received UDP packet, which does not take much time for processing, and detects the existence of lost UDP packets (Lost UDP) which takes a lot of time. The retransmission request for the lost UDP packet is not performed, thereby generating a real-time UDP packet block (RT-UDP) for rapid UDP packet processing.

이렇게 생성된 실시간 UDP 패킷블록(RT-UDP)은 즉시 사용자에게 출력되는 것이 바람직하다. 도 6에 도시된 바와 같은 PTT 솔루션에 있어서클라이언트(100)가 오후 6:30에 송신한 "Hello"라는 음성 메시지는 송신 클라이언트(100)의 보이스 인코딩 과정을 거쳐 UDP 패킷으로 분할되어 송신되고 서버(200)를 거쳐 수신 클라이언트(300)에 수신되고, 수신 클라이언트(300)는 신속한 실시간 UDP 패킷블록(RT-UDP) 생성과정을 통해 같은 시간인 오후 6:30에 스피커를 통해 사용자에게 출력된다. 이를 위해 수신 클라이언트(300)는 실시간 UDP 패킷블록 처리모듈(320)로부터 실시간 UDP 패킷블록(RT-UDP)을 수신하여 사용자에게 즉시 출력하는 실시간 출력모듈(330)을 더 포함하는 것이 바람직하다.The generated real-time UDP packet block (RT-UDP) is preferably output to the user immediately. In the PTT solution as shown in FIG. 6, the voice message “Hello” transmitted by the client 100 at 6:30 pm is divided into UDP packets through a voice encoding process of the transmitting client 100, and transmitted to the server ( Received by the receiving client 300 through the 200, the receiving client 300 is output to the user through the speaker at 6:30 pm, the same time through a rapid real-time UDP packet block (RT-UDP) generation process. To this end, the receiving client 300 preferably further includes a real-time output module 330 that receives a real-time UDP packet block (RT-UDP) from the real-time UDP packet block processing module 320 and immediately outputs it to the user.

이때 실시간 UDP 패킷블록 처리모듈(320)은, N 번째 실시간 UDP 패킷블록(RT-UDP)이 실시간 출력모듈(325)을 통해 출력되는 동안 N+1 번째 실시간 UDP 패킷블록(RT-UDP)을 1차 재배열하는 것이 바람직하다. 이러한 구성은 실시간 출력모듈(325)을 통해 하나의 실시간 UDP 패킷블록(RT-UDP)이 보이스 디코딩되어 음성이 출력되는 동안에 다음의 실시간 UDP 패킷블록(RT-UDP)이 재배열되도록 함으로써 수신 클라이언트(300) 사용자는 실시간 UDP 패킷블록(RT-UDP)소요되는 처리시간을 체감하지 못하도록 하는 효과를 제공할 수 있다. 예컨데 실시간 UDP 패킷블록(RT-UDP)이 도 5에 도시된 바와 같이 4개의 UDP 패킷이 하나의 실시간 UDP 패킷블록(RT-UDP)을 구성하고, 하나의 UDP 패킷은 약 130 바이트의 크기를 가지고 이를 보이스 디코딩하였을 때 음성출력 시간은 대략 0.1초 라고 할 때 하나의 실시간 UDP 패킷블록(RT-UDP)이 출력되는데 소요되는 시간은 0.4초에 불과하다. 이때 실시간 UDP 패킷블록(RT-UDP)의 순서라벨에 따른 1차 재배열에 소요되는 시간 역시 0.4초가 할당되고 이러한 시간은 다음의 UDP 패킷의 재배열을 하는데 충분한 시간이기 때문에 1차 재배열로 인한 시간손실은 전혀 없게 된다.At this time, the real time UDP packet block processing module 320 selects an N + 1 th real time UDP packet block (RT-UDP) while the N th real time UDP packet block (RT-UDP) is output through the real time output module 325. It is preferable to rearrange the tea. This configuration allows the real-time UDP packet block (RT-UDP) to be voice decoded through the real-time output module 325 so that the next real-time UDP packet block (RT-UDP) is rearranged while voice is output. 300. The user may provide an effect of preventing the real time UDP packet block (RT-UDP) from consuming the processing time. For example, as shown in FIG. 5, four real-time UDP packet blocks (RT-UDP) constitute one real-time UDP packet block (RT-UDP), and one UDP packet has a size of about 130 bytes. When voice decoded, the voice output time is about 0.1 seconds, and the time required to output one real-time UDP packet block (RT-UDP) is only 0.4 seconds. At this time, the time required for the first rearrangement according to the order label of the real-time UDP packet block (RT-UDP) is also allocated 0.4 seconds, and this time is sufficient to rearrange the next UDP packet. There is no loss at all.

다음으로, 실시간 UDP 패킷블록 버퍼모듈(330)은 실시간 UDP 패킷블록 처리모듈(320)로부터 실시간 UDP 패킷블록(RT-UDP)을 수신하여 저장하는 기능을 수행한다. 실시간 UDP 패킷블록 버퍼모듈(330)은 후술하는 유실 UDP 패킷(Lost UDP)과정 및 재전송 받은 유실 UDP 패킷(Lost UDP)을 실시간 UDP 패킷블록(RT-UDP)에 합체하는 2차 재배열 과정 동안 실시간 UDP 패킷블록(RT-UDP)을 저장하는 역할을 수행하는 것이다.Next, the real time UDP packet block buffer module 330 receives and stores a real time UDP packet block (RT-UDP) from the real time UDP packet block processing module 320. The real time UDP packet block buffer module 330 performs a real time during a second rearrangement process in which a lost UDP packet (Lost UDP) process and a retransmitted lost UDP packet (Lost UDP), which will be described later, are merged into a real time UDP packet block (RT-UDP). It serves to store the UDP packet block (RT-UDP).

유실 UDP 패킷 요청모듈(340)은 실시간 UDP 패킷블록 버퍼모듈(330)에 저장된 실시간 UDP 패킷블록(RT-UDP)을 구성하는 UDP 패킷들의 순서라벨을 참조하여 유실 UDP 패킷(Lost UDP)이 있는 경우 유실 UDP 패킷(Lost UDP)의 재전송을 서버(200)에 요청하는 기능을 수행한다. The lost UDP packet request module 340 refers to an order label of UDP packets constituting the real time UDP packet block RT-UDP stored in the real time UDP packet block buffer module 330 when there is a lost UDP packet. The server 200 requests the server 200 to retransmit lost UDP packets.

전술한 송신 클라이언트(100)가 서버(200)의 기능을 포함하는 1:1 통신의 경우는 유실 UDP 패킷 요청모듈(340)은 서버(200)가 아닌 송신 클라이언트(100)에 유실 UDP 패킷(Lost UDP)의 재전송을 요청한다.In the case of the 1: 1 communication in which the above-described transmitting client 100 includes the functions of the server 200, the lost UDP packet request module 340 is lost to the transmitting client 100 instead of the server 200. Request retransmission).

1차 재배열에 소요되는 시간에 비해 유실 UDP 패킷(Lost UDP)의 재전송에 소요되는 시간이 상당히 길기 때문에 실시간 UDP 패킷블록 처리모듈(320)에서는 유실 UDP 패킷(Lost UDP)의 재전송을 요청하지 않는다.Since the time required for retransmission of the lost UDP packet (Lost UDP) is considerably longer than the time required for the first rearrangement, the real time UDP packet block processing module 320 does not request retransmission of the lost UDP packet (Lost UDP).

이때 유실 UDP 패킷 요청모듈(340)은 설정시간 이내에서 또는 설정횟수 이내에서 유실 UDP 패킷(Lost UDP)의 재전송을 요청하도록 구성함으로써 완전히 소실된 UDP 패킷에 대한 반복적인 재요청으로 인한 처리지연을 방지하는 것이 보다 바람직하다.At this time, the lost UDP packet request module 340 is configured to request retransmission of lost UDP packets within a set time or within a set number of times, thereby preventing processing delay due to repetitive re-request for a completely lost UDP packet. It is more preferable to do.

마지막으로, 재처리 UDP 패킷블록 처리모듈(350)은 실시간 UDP 패킷블록 버퍼모듈(330)의 실시간 UDP 패킷블록(RT-UDP)의 UDP 패킷들과 유실 UDP 패킷 요청모듈(340)에서 재전송을 요청하여 수신된 유실 UDP 패킷(Lost UDP)을 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록(RP-UDP:ReProcessed UDP packet block)으로 처리하는 기능을 수행한다. 재처리 UDP 패킷블록(RP-UDP)은 패킷의 순서대로 재배열된 실시간 UDP 패킷블록(RT-UDP)에 유실 UDP 패킷(Lost UDP)이 보충된 것으로 실시간 UDP 패킷블록(RT-UDP)높은 QoS를 가지는 것을 특징으로 한다.Finally, the reprocessing UDP packet block processing module 350 requests retransmission from the UDP packets of the real time UDP packet block (RT-UDP) of the real time UDP packet block buffer module 330 and the lost UDP packet request module 340. The second UDP rearranges the received lost UDP packet according to the order label and processes the lost UDP packet into a reprocessed UDP packet block (RP-UDP). The reprocessing UDP packet block (RP-UDP) is a real time UDP packet block (RT-UDP) that is supplemented with a lost UDP packet (RT-UDP) in a rearranged real-time UDP packet block (RT-UDP). Characterized in having a.

한편 실시간 UDP 패킷블록(RT-UDP)은 실시간 처리를 위해서 패킷블록의 크기가 크게 되면 1차 재배열에 소요되는 시간이 많아지기 때문에 패킷블록의 크기를 예컨데 3개~5개 정도로 작게 잡는 것이 바람직하나 재처리 UDP 패킷블록(RP-UDP)은 실시간 처리의 필요성이 낮기 때문에 패킷블록의 크기는 제한이 없다. 따라서 재처리 UDP 패킷블록(RP-UDP)의 패킷블록은 실시간 UDP 패킷블록(RT-UDP)의 크기보다 크도록 10개의 UDP 패킷 내지는 하나의 음성 메시지의 완성하는 UDP 패킷 갯수로 설정할 수도 있고 실시간 UDP 패킷블록(RT-UDP)의 패킷블록과 동일하게 3개~5개 정도로 설정해도 무방하다.Real-time UDP packet block (RT-UDP), if the size of the packet block for real-time processing increases the time required for the first rearrangement, it is preferable to reduce the size of the packet block to 3 to 5, for example, Reprocessing UDP packet block (RP-UDP) has a low need for real-time processing, so the size of the packet block is not limited. Therefore, the packet block of the reprocessing UDP packet block (RP-UDP) may be set to the number of completed UDP packets of 10 UDP packets or one voice message to be larger than the size of the real-time UDP packet block (RT-UDP), or the real-time UDP It may be set to about 3 to 5 in the same way as the packet block of the packet block (RT-UDP).

이때 수신 클리언트(300)는 실시간 출력모듈(325)의 경우와 유사하게 지연시간 출력모듈(355)을 더 포함하는 것이 바람직하다. 지연시간 출력모듈(355)은 재처리 UDP 패킷블록 처리모듈(350)로부터 재처리 UDP 패킷블록(RP-UDP)을 수신하여 사용자의 요청에 따라 출력하는 기능을 수행한다. 예컨데 UDP 패킷이 보이스 인코딩된 UDP 패킷인 경우 지연시간 출력모듈(355)은 재처리 UDP 패킷블록(RP-UDP)을 보이스 디코딩하여 스피커를 통해 음성으로 출력하도록 구성한다.In this case, the reception client 300 may further include a delay time output module 355 similarly to the real time output module 325. The delay time output module 355 receives the reprocessed UDP packet block (RP-UDP) from the reprocessed UDP packet block processing module 350 and outputs the output according to a user's request. For example, when the UDP packet is a voice-encoded UDP packet, the delay time output module 355 is configured to voice decode the reprocessed UDP packet block RP-UDP and output the voice through the speaker.

한편 실시간 출력모듈(325) 및 지연시간 출력모듈(355)은 물리적으로 별도의 구성요소로 구별하여 구현하여야 하는 것은 아니고 동일한 보코더 및 스피커를 사용하되 소프트웨어적으로 입력이 실시간 UDP 패킷블록(RT-UDP)인 경우는 실시간 출력모듈(325)로 재처리 UDP 패킷블록(RP-UDP)인 경우는 지연시간 출력모듈(355)로 사용되도록 구현하는 것이 바람직하다.Meanwhile, the real time output module 325 and the delay time output module 355 are not physically separated and implemented as separate components, but use the same vocoder and speakers, but the software inputs the real time UDP packet block (RT-UDP). In case of), the real time output module 325 may be implemented to be used as the delay time output module 355 in the case of the reprocessing UDP packet block (RP-UDP).

도 7은 지연시간 출력모듈(355)을 통한 지연시간 출력을 도시한다. 도 7은 현재시간 오후 7:00에서 도 6에 도시된 "Hello"라는 음성 메시지(360)가 오후 6:30분에 수신되었고, 이에 대한 응답으로 오후 6:31분에 수신 클라이언트(300)가 송신 클라이언트(100)에 4초 길이의 음성 메시지를경우를 도시한다. 이때 수신 클라이언트(300) 사용자가 오후 6:30에 수신한 음성 메시지(360)를 오후 7:00에 다시 듣는 경우 동일한 "Hello"라는 음성을 스피커를 통해 들을 수 있게 되는데 이때 듣는 음성 메시지는 유실 UDP 패킷(Lost UDP)이 보강된 음성 메시지로서 실시간 출력모듈(325)에 의해 오후 6:30에 들었을 때보다 향상된 음질을 제공받는다.7 illustrates a delay time output through the delay time output module 355. In FIG. 7, a voice message 360 of “Hello” shown in FIG. 6 is received at 6:30 pm at 7:00 pm in the present time. A case in which a voice message of 4 seconds length is sent to the transmitting client 100 is shown. At this time, if the user of the receiving client 300 hears the voice message 360 received at 6:30 pm again at 7:00 pm, the user can hear the same voice "Hello" through the speaker. As the voice message reinforced by the packet (Lost UDP), the real-time output module 325 is provided with improved sound quality than when it is heard at 6:30 pm.

도 5는 본 발명에 따른 단계적 UDP 패킷 처리 과정을 도시한다. 음성 메시지는 UDP 패킷 1에서 부터 UDP 패킷 12까지 12개의 UDP 패킷으로 구성된다고 가정한다.5 illustrates a step-by-step UDP packet processing procedure according to the present invention. It is assumed that the voice message consists of 12 UDP packets from UDP packet 1 to UDP packet 12.

도 5(a)의 상황에서는 UDP 패킷 수신모듈(310)이 최초 UDP 패킷 그룹 1(UDP GROUP 1)을 수신한다. 이때 정상적으로는 UDP 패킷 1, UDP 패킷 2, UDP 패킷 3, UDP 패킷순서로 수신되어야 하지만, 통신상황에 의해 UDP 패킷 2는 유실되고, UDP 패킷 1, UDP 패킷 4, UDP 패킷 3의 순서로 수신한 경우를 도시한다.In the situation of FIG. 5A, the UDP packet receiving module 310 receives the first UDP packet group 1. At this time, normally, UDP packet 1, UDP packet 2, UDP packet 3, and UDP packet should be received in order. However, due to communication conditions, UDP packet 2 is lost, and then UDP packet 1, UDP packet 4, and UDP packet 3 are received. The case is shown.

다음으로 도 5(b)의 상황에서 실시간 UDP 패킷블록 처리모듈(320)은 최초 수신된 UDP 패킷그룹 1(UDP GROUP 1)들을 순서라벨을 참조하여 UDP 패킷 1, UDP 패킷 3, UDP 패킷 4의 순서로 1차 재배열 한 후 3개의 UDP 패킷을 실시간 UDP 패킷블록 1(RT-UDP 1)로 처리한다. 이때 UDP 패킷 수신모듈(310)은 다음 차례의 UDP 패킷그룹(UDP GROUP 2)인 UDP 패킷 6, UDP 패킷 8, UDP 패킷UDP 패킷 7을 수신한다.Next, in the situation of FIG. 5 (b), the real time UDP packet block processing module 320 refers to the first received UDP packet group 1 (UDP GROUP 1) by referring to the order label of the UDP packet 1, the UDP packet 3, and the UDP packet 4. After the first rearrangement in order, three UDP packets are processed as real-time UDP packet block 1 (RT-UDP 1). At this time, the UDP packet receiving module 310 receives a UDP packet 6, a UDP packet 8, and a UDP packet UDP packet 7 which are the next UDP packet group (UDP GROUP 2).

마지막으로, 도 5(c)의 상황에서 실시간 UDP 패킷블록1)은 재처리 UDP 패킷블록 처리모듈(350)에서 유실 UDP 패킷(Lost UDP)인 UDP 패킷 2가 보충되어 UDP 패킷 1, UDP 패킷 2, UDP 패킷 3, UDP 패킷 4로 구성되는 재처리 UDP 패킷블록 1(RP-UDP 1)로 처리되고, UDP 그룹 2는 실시간 UDP 패킷블록 처리모듈(320)에서 순서가 보정된 실시간 UDP 패킷블록2)로 처리되고, UDP 패킷 수신모듈(310)은 다음 차례의 UDP 패킷 그룹 3(UDP GROUP 3)을 수신한다.Finally, in the situation of FIG. 5 (c), the real time UDP packet block 1 is supplemented by UDP packet 2, which is a lost UDP packet (Lost UDP), in the reprocessing UDP packet block processing module 350, thereby UDP packet 1 and UDP packet 2. And UDP packet block 1 (RP-UDP 1) consisting of UDP packet 3 and UDP packet 4, and UDP group 2 is a real-time UDP packet block 2 whose order is corrected in the real-time UDP packet block processing module 320. ), The UDP packet receiving module 310 receives the next UDP packet group 3 (UDP GROUP 3).

아래의 표는 종래의 UDP 패킷 처리방법, 종래의 RUDP(Reliable UDP) 패킷 처리방법, 본 발명에 따른 UDP 패킷 처리방법에 의한 출력 패킷 상태와 패킷 수신시 부터 패킷 출력까지 소요시간을 표시한다. 이때 유실패킷의 재전송에 소요되는 시간은 2초로 가정하고, 하나의 패킷의 수신시간은 0.05초, 패킷블록 크기는 4개로 가정한다.
The table below shows the output packet status and time required from packet reception to packet output by the conventional UDP packet processing method, the conventional RUDP (Reliable UDP) packet processing method, and the UDP packet processing method according to the present invention. In this case, it is assumed that the time required for retransmission of the lost packet is 2 seconds, the reception time of one packet is 0.05 seconds, and the packet block size is four.


방 식

Method

출력패킷

Output Packet

수신-출력 소요시간

Receive-Output Time

종래 UDP

Conventional UDP

1-4-3-6-8-5-7-10-11-12-9

1-4-3-6-8-5-7-10-11-12-9

0초

0 seconds

종래 RUDP

Conventional RUDP

1-2-3-4-5-6-7-8-9-10-11-12

1-2-3-4-5-6-7-8-9-10-11-12
2.6초
(0.05 ×12) + 2
2.6 seconds
(0.05 × 12) + 2


본원발명


Invention of the present invention

실시간

real time

1-×-3-4-5-6-7-8-9-10-11-12

1- × -3-4-5-6-7-8-9-10-11-12
0.2초
0.05 ×4
0.2 seconds
0.05 × 4

재처리

Reprocessing

1-2-3-4-5-6-7-8-9-10-11-12

1-2-3-4-5-6-7-8-9-10-11-12
2.8초
0.2 + (0.05 ×12) + 2)
2.8 seconds
0.2 + (0.05 × 12) + 2)

이상에서 알 수 있듯이 종래 UDP 방식에 패킷수신에서부터 출력까지 소요시간은 없지만 패킷의 재처리과정이 없기 때문에 수신품질이 매우 떨어지고, 종래 RUDP 방식은 수신품질은 높지만 전체 12개 패킷의 수신을 모두 기다리고 유실 패킷의 재전송 역시 기다려야 하기 때문에 수신-출력 소요시간이 2.6초로 상당히 길기 때문에 실시간 음성 메시지 전송에 무리가 있음이 확인된다.As can be seen from the above, there is no time required for packet reception to output in the conventional UDP method, but the reception quality is very low because there is no packet reprocessing process, and the conventional RUDP method has high reception quality but waits for the reception of all 12 packets and is lost. Since the retransmission of the packet also has to wait, the real-time voice message transmission is overwhelming because the reception-output time is quite long (2.6 seconds).

이에 반해 본원발명의 실시간 출력의 경우 유실 패킷 손실은 보정되지 않지만 패킷 재배열 작업으로 인해 수신 품질저하는 종래의 UDP 방식과 비교하여 월등히 개선되는 것이 확인된다. 또한 수신-출력 소요시간에 있어서 패킷 재배열은 전술한 바와 같이 이전 패킷블록의 출력시간 동안 그룹단위로 잘게 잘려서 이루어지기 때문에 재배열에 의한 손실은 전혀 없고 다만 패킷블록을 구성하는 4개의 패킷의 수신시간인 0.2초의 손실만 발생한다. 이러한 시간은 사용자가 실시간으로 체감하기에 충분할 정도로 짧다.In contrast, the lost packet loss is not compensated for the real-time output of the present invention, but it is confirmed that the reception quality is greatly improved compared to the conventional UDP scheme due to packet rearrangement. In addition, since the packet rearrangement is performed in the unit of the output packet of the previous packet block as described above, there is no loss due to the rearrangement, but the reception time of the four packets constituting the packet block. Only 0.2 seconds of loss occurs. This time is short enough for the user to experience in real time.

지연 출력의 경우 이미 실시간 출력을 통해 음성 메시지를 확인한 사용자가 추후에 다시듣는 과정에서 제공되기 때문에 지연손실은 전혀 의미가 없으며, 이 또한 종래의 RUDP 방식과 비교하여 거의 차이가 없음이 확인되며, 수신품질은 RUDP 방식과 동일한 결과가 확인된다.In case of delayed output, delay loss is not meaningful at all because the user who has already checked the voice message through real-time output is provided later in the process of listening again, and it is confirmed that there is almost no difference in comparison with the conventional RUDP method. Quality is the same as the RUDP method.

이상에서 살펴본 바와 같이 본 발명의 단계적 UDP 패킷 처리기술에 따르면, 실시간 출력과 지연시간 출력을 구분하여 처리함으로써 수신품질을 개선할 수 있을 뿐 아니라 실시간 출력시에도 패킷의 순서오류에 의한 품질저하를 방지하고 지연손실을 최소화함으로써 대용량의 멀티미디어 파일의 UDP 전송에 있어서 최적의 효과를 제공한다.As described above, according to the staged UDP packet processing technology of the present invention, not only can the reception quality be improved by processing the real time output and the delay time output separately, but also the quality degradation due to the packet order error during the real time output. By minimizing the delay loss, it provides the optimal effect in UDP transmission of large multimedia files.

도 8은 본 발명에 따른 단계적 UDP 패킷 처리방법을 도시한다.8 is a flowchart illustrating a stepwise UDP packet processing method according to the present invention.

먼저, 클라이언트(300)가 순서에 따라 순서라벨이 부여된 UDP 패킷을 수신하는 제 1 단계(S10)를 수행한다. 클라이언트(300)는 음성 보이스 인코딩된 패킷과 같은 멀티미디어 파일을 UDP 프로토콜로 수신하는 경우를 예를 들 수 있다.First, the client 300 performs a first step S10 of receiving a UDP packet to which an order label is assigned in order. For example, the client 300 may receive a multimedia file such as a voice voice encoded packet through the UDP protocol.

다음으로, 클라이언트(300)가 제 1 단계(S10)에서 수신한 복수의 UDP 패킷들을 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록(RT-UDP)으로 처리하는 제 2 단계(S20)를 수행한다.Next, the client 300 first rearranges the plurality of UDP packets received in the first step S10 according to an order label to a real-time UDP packet block (RT-UDP), which is a block composed of a plurality of UDP packets. A second step S20 of processing is performed.

이때 도 6에 도시된 바와 같이 제 2 단계(S20) 이후에 클라이언트(300)가 실시간 UDP 패킷블록(RT-UDP)을 사용자에게 즉시 출력하는 제 6 단계(S60)를 더 포함하는 것이 바람직하며, 제 6 단계(S60)는 클라이언트(300)가 음성 보이스 인코딩된 패킷을 수신한 경우 실시간 UDP 패킷블록(RT-UDP)을 보이스 디코딩하여 스피커를 통해 음성으로 출력하도록 구성할 수 있다.In this case, as shown in FIG. 6, after the second step S20, the client 300 may further include a sixth step S60 of immediately outputting a real-time UDP packet block RT-UDP to the user. When the client 300 receives the voice voice encoded packet, the sixth step S60 may be configured to voice decode the real time UDP packet block (RT-UDP) and output the voice through the speaker.

전술한 제 2 단계(S20)는, 클라이언트(300)가 제 6 단계(S60)에서 N 번째 실시간 UDP 패킷블록(RT-UDP)이 출력되는 동안 N+1 번째 실시간 UDP 패킷블록(RT-UDP)을 1차 재배열하도록 함으로써, 실시간 UDP 패킷블록(RT-UDP)의 1차 재배열에 소요되는 시간을 클라이언트(300) 사용자가 체감하지 못하도록 하는 것이 바람직하다. 이때 실시간 UDP 패킷블록(RT-UDP)의 실제 출력에 소요되는 시간과 다음의 실시간 UDP 패킷블록(RT-UDP)의 1차 재배열에 소요되는 시간을 고려하여 가능한 작은 수의 UDP 패킷으로 실시간 UDP 패킷블록(RT-UDP)의 크기를 설정하는 것이 보다 바람직하다. 실시간 UDP 패킷블록(RT-UDP)의 크기가 작을수록 표 1에 설명한 수신-출력 소요시간이 작아지게 된다.In the above-described second step S20, the N + 1 real-time UDP packet block RT-UDP is output while the client 300 outputs the N-th real-time UDP packet block RT-UDP in the sixth step S60. By primary reordering, it is desirable to prevent the client 300 user from experiencing the time required for the first reordering of the real-time UDP packet block (RT-UDP). At this time, considering the time required for the actual output of the real-time UDP packet block (RT-UDP) and the time required for the first rearrangement of the next real-time UDP packet block (RT-UDP), the real-time UDP packet is a small number of UDP packets. It is more preferable to set the size of the block RT-UDP. The smaller the size of the real-time UDP packet block (RT-UDP), the smaller the receive-output time described in Table 1.

다음으로, 클라이언트(300)가 후속 처리를 위해 실시간 UDP 패킷블록(RT-UDP)을 저장하는 제 3 단계(S30)를 수행한다.Next, the client 300 performs a third step S30 of storing the real-time UDP packet block (RT-UDP) for subsequent processing.

다음으로, 클라이언트(300)가 실시간 UDP 패킷블록(RT-UDP)을 구성하는 UDP 패킷들의 순서라벨을 참조하여 유실 UDP 패킷(Lost UDP)이 있는 경우 유실 UDP 패킷(Lost UDP)의 재전송을 서버에 요청하는 제 4 단계(S40)를 수행한다.Next, the client 300 refers to the order label of the UDP packets constituting the real-time UDP packet block (RT-UDP), and if there is a lost UDP packet, the client 300 retransmits the lost UDP packet (Lost UDP) to the server. The requesting fourth step S40 is performed.

이때 클라이언트(300)가 설정시간 이내에서 또는 설정횟수 이내에서 유실 UDP 패킷(Lost UDP)의 재전송을 요청하도록 하여 유실 UDP 패킷(Lost UDP)의 재전송에 소요되는 시간이 장기화되는 것을 방지하는 것이 바람직하다.In this case, it is preferable to prevent the prolonged time required for retransmission of the lost UDP packet (Lost UDP) by requesting the client 300 to retransmit the lost UDP packet within the set time or within the set number of times. .

마지막으로, 클라이언트(300)가 실시간 UDP 패킷블록(RT-UDP)을 구성하는 UDP 패킷들과 제 4 단계(S40)의 재전송 요청에 의해 수신된 유실 UDP 패킷(Lost UDP)을 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록(RP-UDP)으로 처리하는 제 5 단계(S50)를 수행한다. Finally, the client 300 matches the UDP packets constituting the real-time UDP packet block (RT-UDP) and the lost UDP packet (Lost UDP) received by the retransmission request of the fourth step S40 according to the order label. A fifth step S50 of rearranging and processing the reprocessed UDP packet block (RP-UDP) is performed.

재처리 UDP 패킷블록(RP-UDP)의 크기는 실시간 UDP 패킷블록(RT-UDP)의 크기와 같게 설정할 수도 있지만 재처리 UDP 패킷블록(RP-UDP)은 실시간 처리의 필요성이 없기 때문에 패킷블록의 크기가 반드시 작을 필요는 없다. 따라서 수 개의 실시간 UDP 패킷블록(RT-UDP)을 하나의 재처리 UDP 패킷블록(RP-UDP)으로 통합하도록 구현할 수도 있다.Although the size of the reprocessing UDP packet block (RP-UDP) may be set to be the same as that of the real-time UDP packet block (RT-UDP), the reprocessing UDP packet block (RP-UDP) may not be required for real-time processing. The size does not necessarily have to be small. Accordingly, several real-time UDP packet blocks (RT-UDP) may be implemented to be combined into one reprocessing UDP packet block (RP-UDP).

이때 도 7에 도시된 바와 같이 제 5 단계(S50) 이후에 클라이언트(300)가 재처리 UDP 패킷블록(RP-UDP)을 수신하여 사용자의 요청에 따라 지연시간 출력하는 제 7 단계(S70)를 더 포함할 수도 있다.In this case, as shown in FIG. 7, after the fifth step S50, the client 300 receives the reprocessed UDP packet block RP-UDP and outputs a delay time according to a user's request. It may further include.

이때 제 7 단계(S70)는 클라이언트(300)가 음성 보이스 인코딩된 패킷을 수신한 경우 재처리 UDP 패킷블록(RP-UDP)을 보이스 디코딩하여 스피커를 통해 음성으로 출력하도록 구성할 수 있다.
In this case, when the client 300 receives the voice voice encoded packet, the seventh step S70 may be configured to voice decode the reprocessed UDP packet block RP-UDP and output the voice through the speaker.

100 : 송신 클라이언트 110 : UDP 패킷 송신모듈
200 : 서버 210 : UDP 패킷 저장모듈
220 : UDP 패킷 중계모듈 300 : 수신 클라이언트
310 : UDP 패킷 수신모듈 320 : 실시간 UDP 패킷블록 처리모듈
330 : 실시간 UDP 패킷블록 버퍼모듈 340 : 유실 UDP 패킷 요청모듈
350 : 재처리 UDP 패킷블록 처리모듈 355 : 지연시간 출력모듈
100: transmitting client 110: UDP packet transmission module
200: server 210: UDP packet storage module
220: UDP packet relay module 300: receiving client
310: UDP packet receiving module 320: real time UDP packet block processing module
330: real time UDP packet block buffer module 340: lost UDP packet request module
350: reprocessing UDP packet block processing module 355: delay time output module

Claims (18)

패킷순서에 따라 순서라벨이 부여된 UDP 패킷을 수신하는 UDP 패킷 수신모듈;
수신된 복수의 UDP 패킷들을 상기 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록으로 처리하는 실시간 UDP 패킷블록 처리모듈;
상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 저장하는 실시간 UDP 패킷블록 버퍼모듈;
상기 실시간 UDP 패킷블록 버퍼모듈에 저장된 상기 실시간 UDP 패킷블록을 구성하는 상기 UDP 패킷들의 상기 순서라벨을 참조하여 유실 UDP 패킷이 있는 경우 상기 유실 UDP 패킷의 재전송을 서버에 요청하는 유실 UDP 패킷 요청모듈; 및
상기 실시간 UDP 패킷블록 버퍼모듈의 상기 실시간 UDP 패킷블록의 상기 UDP 패킷들과 상기 유실 UDP 패킷 요청모듈에서 재전송을 요청하여 수신된 상기 유실 UDP 패킷을 상기 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록으로 처리하는 재처리 UDP 패킷블록 처리모듈;을 포함하여 구성되는 것을 특징으로 하는 단계적 UDP 패킷 처리 클라이언트.
A UDP packet receiving module for receiving a UDP packet assigned an order label according to the packet order;
A real time UDP packet block processing module for first rearranging the plurality of UDP packets according to the order label and processing the received plurality of UDP packets into a real time UDP packet block which is a block composed of a plurality of UDP packets;
A real time UDP packet block buffer module for receiving and storing the real time UDP packet block from the real time UDP packet block processing module;
A lost UDP packet request module for requesting a server to retransmit the lost UDP packet when there is a lost UDP packet by referring to the sequence label of the UDP packets constituting the real time UDP packet block stored in the real time UDP packet block buffer module; And
Reprocessing UDP by rearranging the UDP packets of the real-time UDP packet block of the real-time UDP packet block buffer module and the lost UDP packet received by requesting retransmission by second order according to the order label. Stepped UDP packet processing client, characterized in that it comprises a; reprocessing UDP packet block processing module for processing into a packet block.
제 1 항에 있어서, 상기 단계적 UDP 패킷 처리 클라이언트는,
상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 사용자에게 즉시 출력하는 실시간 출력모듈;을 더 포함하는 것을 특징으로 하는 단계적 UDP 패킷 처리 클라이언트.
The method of claim 1, wherein the stepped UDP packet processing client,
And a real time output module for receiving the real time UDP packet block from the real time UDP packet block processing module and immediately outputting the same to a user.
제 2 항에 있어서, 상기 단계적 UDP 패킷 처리 클라이언트는,
상기 재처리 UDP 패킷블록 처리모듈로부터 상기 재처리 UDP 패킷블록을 수신하여 상기 사용자의 요청에 따라 출력하는 지연시간 출력모듈;을 더 포함하는 것을 특징으로 하는 단계적 UDP 패킷 처리 클라이언트.
The method of claim 2, wherein the stepped UDP packet processing client,
And a delay time output module for receiving the reprocessed UDP packet block from the reprocessed UDP packet block processing module and outputting the reprocessed UDP packet block at the request of the user.
제 3 항에 있어서,
상기 UDP 패킷은, 보이스 인코딩된 UDP 패킷이고,
상기 실시간 출력모듈은, 상기 실시간 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하고,
상기 지연시간 출력모듈은, 상기 재처리 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하는 것을 특징으로 하는 단계적 UDP 패킷 처리 클라이언트.
The method of claim 3, wherein
The UDP packet is a voice encoded UDP packet,
The real-time output module, the voice decoding the real-time UDP packet block and outputs the voice through a speaker,
The delay time output module is a step-by-step UDP packet processing client, characterized in that the voice decoding the reprocessing UDP packet block and outputs the voice through a speaker.
제 2 항에 있어서, 상기 실시간 UDP 패킷블록 처리모듈은,
N 번째 상기 실시간 UDP 패킷블록이 상기 실시간 출력모듈을 통해 출력되는 동안 N+1 번째 상기 실시간 UDP 패킷블록을 1차 재배열하는 것을 특징으로 하는 단계적 UDP 패킷 처리 클라이언트.
The method of claim 2, wherein the real time UDP packet block processing module,
Step-by-order UDP packet processing, characterized in that the first rearranged N + 1-th real-time UDP packet block while the N-th real-time UDP packet block is output through the real-time output module.
제 1 항에 있어서, 상기 UDP 패킷 요청모듈은,
설정시간 이내에서 또는 설정횟수 이내에서 상기 유실 UDP 패킷의 재전송을 요청하는 것을 특징으로 하는 단계적 UDP 패킷 처리 클라이언트.
The method of claim 1, wherein the UDP packet request module,
Stepped UDP packet processing client characterized in that the request for retransmission of the lost UDP packet within a set time or within a set number of times.
UDP 패킷을 송신하는 송신 클라이언트, 상기 UDP 패킷을 수신하여 중계하는 서버, 상기 서버로부터 상기 UDP 패킷을 수신하는 수신 클라이언트로 구성되는 단계적 UDP 패킷 처리 시스템에 있어서,
상기 송신 클라이언트는 패킷순서에 따라 순서라벨이 부여된 상기 UDP 패킷을 송신하는 UDP 패킷 송신모듈;을 포함하고;
상기 서버는 상기 UDP 패킷을 수신하여 저장하는 UDP 패킷 저장모듈; 및 상기 UDP 패킷을 전송하는 UDP 패킷 중계모듈;을 포함하고,
상기 수신 클라이언트는, 상기 서버로부터 상기 UDP 패킷을 수신하는 UDP 패킷 수신모듈; 수신된 복수의 상기 UDP 패킷들을 상기 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록으로 처리하는 실시간 UDP 패킷블록 처리모듈; 상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 저장하는 실시간 UDP 패킷블록 버퍼모듈; 상기 실시간 UDP 패킷블록 버퍼모듈에 저장된 상기 실시간 UDP 패킷블록을 구성하는 상기 UDP 패킷들의 상기 순서라벨을 참조하여 유실 UDP 패킷이 있는 경우 상기 유실 UDP 패킷의 재전송을 상기 서버에 요청하는 유실 UDP 패킷 요청모듈; 및 상기 실시간 UDP 패킷블록 버퍼모듈의 상기 실시간 UDP 패킷블록의 상기 UDP 패킷들과 상기 유실 UDP 패킷 요청모듈에서 재전송을 요청하여 수신된 상기 유실 UDP 패킷을 상기 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록으로 처리하는 재처리 UDP 패킷블록 처리모듈;을 포함하여 구성되는 것을 특징으로 하는 단계적 UDP 패킷 처리 시스템.
In a staged UDP packet processing system comprising a transmitting client transmitting a UDP packet, a server receiving and relaying the UDP packet, and a receiving client receiving the UDP packet from the server,
The transmitting client includes a UDP packet transmitting module for transmitting the UDP packets to which the order labels are assigned according to the packet order;
The server is a UDP packet storage module for receiving and storing the UDP packet; And a UDP packet relay module for transmitting the UDP packet.
The receiving client includes a UDP packet receiving module for receiving the UDP packet from the server; A real time UDP packet block processing module for first rearranging the plurality of received UDP packets according to the order label and processing the received plurality of UDP packets into a real time UDP packet block which is a block composed of a plurality of UDP packets; A real time UDP packet block buffer module for receiving and storing the real time UDP packet block from the real time UDP packet block processing module; The lost UDP packet request module requesting the server to retransmit the lost UDP packet when there is a lost UDP packet by referring to the sequence label of the UDP packets constituting the real time UDP packet block stored in the real time UDP packet block buffer module. ; And rearranging and reprocessing the UDP packets of the real-time UDP packet block of the real-time UDP packet block buffer module and the lost UDP packets received by requesting retransmission from the lost UDP packet request module. Reprocessing UDP packet block processing module for processing into a UDP packet block; Step by step UDP packet processing system comprising a.
제 7 항에 있어서, 상기 수신 클라이언트는,
상기 실시간 UDP 패킷블록 처리모듈로부터 상기 실시간 UDP 패킷블록을 수신하여 사용자에게 즉시 출력하는 실시간 출력모듈 및 상기 재처리 UDP 패킷블록 처리모듈로부터 상기 재처리 UDP 패킷블록을 수신하여 상기 사용자의 요청에 따라 출력하는 지연시간 출력모듈;을 더 포함하는 것을 특징으로 하는 단계적 UDP 패킷 처리 시스템.
The method of claim 7, wherein the receiving client,
Receives the real-time UDP packet block from the real-time UDP packet block processing module and immediately outputs to the user and receives the reprocessed UDP packet block from the reprocessed UDP packet block processing module and outputs the request according to the user's request. Step by step UDP packet processing system further comprises.
제 8 항에 있어서,
상기 UDP 패킷은 보이스 인코딩된 UDP 패킷이고,
상기 실시간 출력모듈은 상기 실시간 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하고,
상기 지연시간 출력모듈은 상기 재처리 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하는 것을 특징으로 하는 단계적 UDP 패킷 처리 시스템.
The method of claim 8,
The UDP packet is a voice encoded UDP packet,
The real-time output module voice-decodes the real-time UDP packet block to output voice through a speaker,
And the delay time output module voice-decodes the reprocessed UDP packet block and outputs the voice through a speaker.
제 8 항에 있어서, 상기 실시간 UDP 패킷블록 처리모듈은,
N 번째 상기 실시간 UDP 패킷블록이 상기 실시간 출력모듈을 통해 출력되는 동안 N+1 번째 상기 실시간 UDP 패킷블록을 1차 재배열하는 것을 특징으로 하는 단계적 UDP 패킷 처리 시스템.
The method of claim 8, wherein the real time UDP packet block processing module,
And sequentially rearranging the N + 1 th real-time UDP packet block while the N-th real-time UDP packet block is output through the real-time output module.
제 7 항에 있어서, 상기 UDP 패킷 요청모듈은,
설정시간 이내에서 또는 설정횟수 이내에서 상기 유실 UDP 패킷의 재전송을 요청하는 것을 특징으로 하는 단계적 UDP 패킷 처리 시스템.
The method of claim 7, wherein the UDP packet request module,
Stepped UDP packet processing system characterized in that for requesting retransmission of the lost UDP packet within a set time or within a set number of times.
클라이언트가 패킷순서에 따라 순서라벨이 부여된 UDP 패킷을 수신하는 제 1 단계;
상기 클라이언트가 상기 제 1 단계에서 수신한 복수의 상기 UDP 패킷들을 상기 순서라벨에 따라 1차 재배열하여 복수의 UDP 패킷으로 구성되는 블록인 실시간 UDP 패킷블록으로 처리하는 제 2 단계;
상기 클라이언트가 상기 실시간 UDP 패킷블록을 저장하는 제 3 단계;
상기 클라이언트가 상기 실시간 UDP 패킷블록을 구성하는 상기 UDP 패킷들의 상기 순서라벨을 참조하여 유실 UDP 패킷이 있는 경우 상기 유실 UDP 패킷의 재전송을 서버에 요청하는 제 4 단계; 및
상기 클라이언트가 상기 실시간 UDP 패킷블록의 상기 UDP 패킷들과 상기 제 4 단계의 재전송 요청에 의해 수신된 상기 유실 UDP 패킷을 상기 순서라벨에 따라 2차 재배열하여 재처리 UDP 패킷블록으로 처리하는 제 5 단계;를 포함하여 구성되는 것을 특징으로 하는 단계적 UDP 패킷 처리방법.
A first step of receiving, by the client, a UDP packet to which an order is labeled according to the packet order;
A second step in which the client first rearranges the plurality of UDP packets received in the first step according to the order label and processes the UDP packets into real time UDP packet blocks;
A third step of the client storing the real time UDP packet block;
Requesting, by the client, a server to retransmit the lost UDP packet when there is a lost UDP packet by referring to the sequence label of the UDP packets constituting the real-time UDP packet block; And
A fifth process in which the client rearranges the UDP packets of the real-time UDP packet block and the lost UDP packet received by the retransmission request of the fourth step according to the order label and processes them as reprocessed UDP packet blocks. Step; UDP packet processing method characterized in that it comprises a.
제 12 항에 있어서, 상기 단계적 UDP 패킷 처리방법은,
상기 제 2 단계 이후에 상기 클라이언트가 상기 실시간 UDP 패킷블록을 사용자에게 즉시 출력하는 제 6 단계;를 더 포함하는 것을 특징으로 하는 단계적 UDP 패킷 처리방법.
The method of claim 12, wherein the stepped UDP packet processing method,
And a sixth step of the client immediately outputting the real time UDP packet block to a user after the second step.
제 13 항에 있어서, 상기 단계적 UDP 패킷 처리방법은,
상기 제 5 단계 이후에 상기 클라이언트가 상기 재처리 UDP 패킷블록을 수신하여 상기 사용자의 요청에 따라 출력하는 제 7 단계;를 더 포함하는 것을 특징으로 하는 단계적 UDP 패킷 처리방법.
The method of claim 13, wherein the stepped UDP packet processing method,
And a seventh step of receiving, by the client, the reprocessed UDP packet block after the fifth step, and outputting the reprocessed UDP packet block at the request of the user.
제 14 항에 있어서,
상기 제 1 단계는, 보이스 인코딩된 UDP 패킷을 수신하고,
상기 제 3 단계는, 상기 클라이언트가 상기 실시간 UDP 패킷블록을 보이스 디코딩하여 스피커를 통해 음성으로 출력하고,
상기 제 7 단계는, 상기 클라이언트가 상기 재처리 UDP 패킷블록을 보이스 디코딩하여 상기 스피커를 통해 음성으로 출력하는 것을 특징으로 하는 단계적 UDP 패킷 처리방법.
15. The method of claim 14,
The first step is to receive a voice encoded UDP packet,
In the third step, the client voice decodes the real-time UDP packet block and outputs the voice through a speaker.
In the seventh step, the client may voice decode the reprocessed UDP packet block and output the voice through the speaker.
제 13 항에 있어서, 상기 제 2 단계는,
상기 클라이언트가 상기 제 3 단계에서 N 번째 상기 실시간 UDP 패킷블록을 출력하는 동안 N+1 번째 상기 실시간 UDP 패킷블록을 1차 재배열하는 것을 특징으로 하는 단계적 UDP 패킷 처리방법.
The method of claim 13, wherein the second step,
And rearranging the N + 1 th real-time UDP packet block primarily while the client outputs the N-th real-time UDP packet block in the third step.
제 12 항에 있어서, 상기 제 4 단계는,
상기 클라이언트가 설정시간 이내에서 또는 설정횟수 이내에서 상기 유실 UDP 패킷의 재전송을 요청하는 것을 특징으로 하는 단계적 UDP 패킷 처리방법.
The method of claim 12, wherein the fourth step,
And the client requests retransmission of the lost UDP packet within a set time or within a set number of times.
제 12 항에 있어서, 상기 제 5 단계는,
상기 실시간 UDP 패킷블록의 크기보다 큰 크기로 상기 재처리 UDP 패킷블록을 처리하는 것을 특징으로 하는 단계적 UDP 패킷 처리방법.
The method of claim 12, wherein the fifth step,
And processing the reprocessed UDP packet block in a size larger than the size of the real time UDP packet block.
KR1020110066149A 2011-07-04 2011-07-04 Client device, System and method for stepwise processing of UDP packet KR101239276B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020110066149A KR101239276B1 (en) 2011-07-04 2011-07-04 Client device, System and method for stepwise processing of UDP packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110066149A KR101239276B1 (en) 2011-07-04 2011-07-04 Client device, System and method for stepwise processing of UDP packet

Publications (2)

Publication Number Publication Date
KR20130004850A KR20130004850A (en) 2013-01-14
KR101239276B1 true KR101239276B1 (en) 2013-03-06

Family

ID=47836345

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110066149A KR101239276B1 (en) 2011-07-04 2011-07-04 Client device, System and method for stepwise processing of UDP packet

Country Status (1)

Country Link
KR (1) KR101239276B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114095129B (en) * 2021-11-17 2024-05-17 厦门勇仕网络技术股份有限公司 Communication method and system for mobile terminal game network transmission

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080051275A (en) * 2006-12-05 2008-06-11 에스케이 텔레콤주식회사 Message transmitting system based on udp control and method for the same

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080051275A (en) * 2006-12-05 2008-06-11 에스케이 텔레콤주식회사 Message transmitting system based on udp control and method for the same

Also Published As

Publication number Publication date
KR20130004850A (en) 2013-01-14

Similar Documents

Publication Publication Date Title
JP6648211B2 (en) Method and apparatus for performing extended file distribution in multicast communication or broadcast communication
RU2346403C2 (en) Device and method for improved processing of radio channel control data operating in "no acknowledgement" mode
CN108141320B (en) Random linear network coded data transmission
JP7484024B2 (en) Data transmission method, device, electronic device, and computer program
US10470000B2 (en) Methods and apparatus for enhanced MBMS content provisioning and content ingestion
US8453029B2 (en) Method and system for improving performance of broadcast/multicast transmissions
CN103548315A (en) Method and apparatus for high performance low latency real time notification delivery
WO2012129881A1 (en) Method for local collaboration in wireless multicasting
CN114979839A (en) Transmission control protocol proxy method and communication device
KR101058607B1 (en) Receiving Control Message in Multimedia Broadcasting / Multicast Service
US10523790B2 (en) System and method of header compression for online network codes
KR101239276B1 (en) Client device, System and method for stepwise processing of UDP packet
WO2010108416A1 (en) Method, device and communication system for forwarding scalable video coding data messages
Phung et al. Enhancing rest http with random linear network coding in dynamic edge computing environments
TWI328384B (en) Method and apparatus for enhanced file distribution in multicast or broadcast
WO2022237279A1 (en) Data transmission method and apparatus
WO2022062426A1 (en) Multicast scheduling method and apparatus for relay base station, storage medium and electronic device
CN114979793A (en) Live broadcast data transmission method, device, system, equipment and medium
WO2022133918A1 (en) Decoding failure processing method, apparatus and system
US9036658B2 (en) Apparatus and method for transmitting/receiving data in communication system
US9402209B1 (en) Utilizing linear network coding in packet delivery
KR101695838B1 (en) Apparatus and method for transmitting/receiving data in communication system
US20230336742A1 (en) Wireless projection method and apparatus
CN109792332B (en) Transmission method, terminal, network equipment and storage medium of feedback response information
JP4662498B2 (en) Method and apparatus for improving transmission efficiency in a wireless communication system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160222

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee