KR102334877B1 - reordering system and method for realtime transport protocol packet - Google Patents

reordering system and method for realtime transport protocol packet Download PDF

Info

Publication number
KR102334877B1
KR102334877B1 KR1020200086521A KR20200086521A KR102334877B1 KR 102334877 B1 KR102334877 B1 KR 102334877B1 KR 1020200086521 A KR1020200086521 A KR 1020200086521A KR 20200086521 A KR20200086521 A KR 20200086521A KR 102334877 B1 KR102334877 B1 KR 102334877B1
Authority
KR
South Korea
Prior art keywords
real
transport protocol
time transport
packet
protocol packet
Prior art date
Application number
KR1020200086521A
Other languages
Korean (ko)
Inventor
신재섭
류성걸
손세훈
송문섭
이경택
유훈찬
Original Assignee
주식회사 픽스트리
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 픽스트리 filed Critical 주식회사 픽스트리
Priority to KR1020200086521A priority Critical patent/KR102334877B1/en
Application granted granted Critical
Publication of KR102334877B1 publication Critical patent/KR102334877B1/en

Links

Images

Classifications

    • H04L67/2852
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/34Flow control; Congestion control ensuring sequence integrity, e.g. using sequence numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/62Queue scheduling characterised by scheduling criteria
    • H04L47/622Queue service order
    • H04L47/6235Variable service order
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9057Arrangements for supporting packet reassembly or resequencing
    • H04L65/608

Abstract

The present invention relates to a real-time transport protocol packet reordering system and a method thereof and, more particularly, to a real-time transport protocol packet reordering system and a method thereof for reordering a real-time transport protocol packet in an unaligned section. According to the present invention, by immediately acquiring a packet of the unaligned section based on unaligned section information of the real-time transport protocol packet, there is an effect of reordering packets without delay in data processing time.

Description

실시간 전송 프로토콜 패킷 재정렬 시스템 및 방법{reordering system and method for realtime transport protocol packet}Real-time transport protocol packet reordering system and method

본 발명은 실시간 전송 프로토콜 패킷 재정렬 시스템 및 방법에 관한 것으로, 보다 상세하게는 미정렬 구간의 실시간 전송 프로토콜 패킷을 재정렬하는 실시간 전송 프로토콜 패킷 재정렬 시스템 및 방법에 관한 것이다.The present invention relates to a real-time transport protocol packet reordering system and method, and more particularly, to a real-time transport protocol packet reordering system and method for rearranging real-time transport protocol packets in an unaligned section.

일반적인 엄격한 타이밍 요구조건을 갖는 TCP 기반의 HTTP, FTP와는 달리 RTP는 주로 미디어 스트림에 대한 전송을 목적으로 설계되었으며, 모든 RTP 버퍼들은 타임 스탬프를 가지고 있어서, 타임 스탬프와 실제 전역적인 동기화된 클럭 사이의 매핑을 수행한다. 타임 스탬프의 역할은 다양한 데이터 소스로부터 제공되는 미디어들을 통합하는 기능을 지닌다.Unlike TCP-based HTTP and FTP, which have general strict timing requirements, RTP is mainly designed for the purpose of transmitting media streams. perform mapping. The role of the timestamp has the function of integrating media provided from various data sources.

이때 전송되는 각각의 패킷은 순서 번호(Sequence Number)와 함께 타임 스탬프를 갖게 되는데, 순서 번호는 각 패킷마다 서로 다른 고유의 번호로서, 수신단에서 패킷 손실에 대한 검출과 복구에 이용된다.At this time, each transmitted packet has a time stamp together with a sequence number. The sequence number is a unique number different for each packet, and is used for detection and recovery of packet loss at the receiving end.

RTP 역시 UDP 기반의 프로토콜로서 수신단에서는 수신되어지는 데이타 패킷이 일정하게 알맞은 순서로 전송되었는지 알수 없다. 그러므로 수신단에서는 패킷의 순서 번호를 이용하여 패킷을 재정렬해야 한다.RTP is also a UDP-based protocol, and the receiving end cannot know whether the received data packets are transmitted in the proper order. Therefore, the receiving end must rearrange the packets using the packet sequence number.

일반적으로 실시간 전송 프로토콜 패킷을 수신하여 처리함에 있어 실시간 전송 프로토콜 패킷의 순서 번호에 따른 미정렬 구간에 대한 패킷의 재정렬이 요구될 수 있다.In general, when receiving and processing real-time transport protocol packets, it may be required to rearrange packets for unaligned sections according to sequence numbers of real-time transport protocol packets.

기존에는 이러한 미정렬 구간에 대한 실시간 전송 프로토콜 패킷의 재정렬 시 RTP 수신단에서 수신되는 데이터를 일정량만큼 버퍼링하고, 버퍼링되는 데이터를 이용하여 RTP 패킷 재정렬을 실시하였다. 그러나, 이러한 방법의 경우에는 패킷 버퍼의 크기만큼의 데이터 처리시간 지연이 발생하는 문제점이 있었다.Conventionally, when real-time transport protocol packets are rearranged for this unaligned section, data received from the RTP receiving end is buffered by a certain amount, and RTP packet rearrangement is performed using the buffered data. However, in the case of this method, there is a problem in that the data processing time is delayed by the size of the packet buffer.

KR10-1578047B1KR10-1578047B1

본 발명은 이와 같은 문제점을 해결하기 위해 창안된 것으로서, 실시간 전송 프로토콜 패킷의 미정렬 구간정보에 기초하여 데이터 처리시간 지연 없이 패킷 재정렬을 할 수 있도록 한 실시간 전송 프로토콜 패킷 재정렬 시스템 및 방법을 제공함을 목적으로 한다.The present invention was devised to solve such a problem, and it is an object of the present invention to provide a real-time transport protocol packet reordering system and method that enables packet rearrangement without delay in data processing time based on unaligned section information of real-time transport protocol packets. do it with

상기한 목적을 달성하기 위한 본 발명에 따른 실시간 전송 프로토콜 패킷 재정렬 시스템의 일측면에 따르면, 입력되는 실시간 전송 프로토콜 패킷의 순서를 검사하여 미정렬 구간 검출 시 미정렬 구간의 실시간 전송 프로토콜 패킷을 요청하는 클라이언트; 및 상기 클라이언트로부터 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 실시간 전송 프로토콜 캐싱 서버를 포함하고, 상기 클라이언트는 상기 실시간 전송 프로토콜 캐싱 서버로부터 수신한 실시간 전송 프로토콜 패킷을 미정렬 구간에 순서 번호대로 삽입하여 재정렬하고, 미정렬 구간에 삽입된 실시간 전송 프로토콜 패킷과 중복되는 패킷을 제거할 수 있다.According to one aspect of the real-time transport protocol packet reordering system according to the present invention for achieving the above object, the real-time transport protocol packet of the unaligned section is requested when the unaligned section is detected by examining the order of the input real-time transport protocol packets. Client; and a real-time transport protocol caching server that transmits, to the client, a real-time transport protocol packet of an unaligned section requested from the client, wherein the client stores the real-time transport protocol packet received from the real-time transport protocol caching server in the unaligned section. It is possible to insert and rearrange them in sequence number, and to remove packets overlapping the real-time transport protocol packets inserted in the unaligned section.

또한, 상기 클라이언트는 상기 입력되는 실시간 전송 프로토콜 패킷의 순서를 검사하여 미정렬 구간을 검출하는 패킷 검사 재정렬부; 및 상기 패킷 검사 재정렬부에서 검출된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 실시간 전송 프로토콜 캐싱 서버로 요청하여 수신하는 재정렬 패킷 요청부를 포함하고, 상기 패킷 검사 재정렬부는 상기 재정렬 패킷 요청부로부터 수신된 미정렬 구간의 실시간 전송 프로토콜 패킷을 미정렬 구간에 순서 번호대로 삽입하여 재정렬하고, 미정렬 구간에 삽입된 실시간 전송 프로토콜 패킷과 중복되는 패킷을 제거하며, 상기 패킷 검사 재정렬부에서 재정렬된 실시간 전송 프로토콜 패킷의 순서 번호 재정렬 상태를 확인하여 출력하는 실시간 전송 프로토콜 패킷 처리부를 더 포함할 수 있다.In addition, the client includes: a packet inspection reordering unit for detecting an unaligned section by inspecting the order of the incoming real-time transport protocol packets; and a reordering packet requesting unit for requesting and receiving a real-time transport protocol packet of an unaligned section detected by the packet inspection reordering unit to the real-time transport protocol caching server, wherein the packet inspection reordering unit receives the unordered packet received from the reordering packet requesting unit. Real-time transport protocol packets in the sorted section are inserted and rearranged in sequence number in the unaligned section, packets overlapping with real-time transport protocol packets inserted in the unaligned section are removed, and the real-time transport protocol packets rearranged in the packet inspection reordering unit It may further include a real-time transport protocol packet processing unit to check and output the sequence number rearrangement status of the .

또한, 상기 실시간 전송 프로토콜 캐싱 서버는 서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장하는 실시간 전송 프로토콜 서비스 스트림 버퍼링부; 클라이언트로부터 실시간 전송 프로토콜 패킷 요청정보를 수신하는 실시간 전송 프로토콜 패킷 요청정보 수신부; 상기 실시간 전송 프로토콜 패킷 요청정보 수신부에서 수신된 실시간 전송 프로토콜 패킷 요청정보를 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부에서 버퍼링된 버퍼링 정보 중에서 검색하여 위치를 확정하는 실시간 전송 프로토콜 패킷 위치 확정부; 상기 실시간 전송 프로토콜 패킷 위치 확정부에서 확정된 위치에서 검색된 실시간 전송 프로토콜 패킷을 상기 실시간 전송 프로토콜 스트림 버퍼링부로부터 획득하는 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부; 및 상기 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부에서 획득한 실시간 전송 프로토콜 패킷을 클라이언트로 송신하는 실시간 전송 프로토콜 패킷 송신부를 포함할 수 있다.In addition, the real-time transport protocol caching server includes: a real-time transport protocol service stream buffering unit for buffering the real-time transport protocol service stream transmitted from the service network and storing the buffering information in a memory; a real-time transport protocol packet request information receiver configured to receive real-time transport protocol packet request information from a client; a real-time transport protocol packet position determining unit configured to determine a location by searching for the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiver from among the buffering information buffered by the real-time transport protocol service stream buffering unit; a real-time transport protocol packet acquisition unit for client transmission that acquires, from the real-time transport protocol stream buffering unit, the real-time transport protocol packet retrieved from the location determined by the real-time transport protocol packet position determining unit; and a real-time transport protocol packet transmitter configured to transmit the real-time transport protocol packet obtained by the real-time transport protocol packet acquisition unit for client transmission to the client.

또한, 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부는 버퍼링 정보를 메인 메모리 또는 고속 메모리에 저장할 수 있다.Also, the real-time transport protocol service stream buffering unit may store buffering information in a main memory or a high-speed memory.

또한, 상기 실시간 전송 프로토콜 패킷 요청정보 수신부가 클라이언트로부터 수신하는 실시간 전송 프로토콜 패킷 요청정보는 패킷의 시작 순서번호와 끝 순서번호 정보를 포함할 수 있다.Also, the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiver from the client may include information on a start sequence number and an end sequence number of the packet.

또한, 상기 실시간 전송 프로토콜 패킷 위치 확정부는 상기 실시간 전송 프로토콜 패킷 요청정보 수신부에서 수신한 실시간 전송 프로토콜 패킷 요청정보에 포함된 패킷의 시작 순서번호와 끝 순서번호 정보를 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부에서 버퍼링된 버퍼링 정보 중에서 검색하여 위치를 확정할 수 있다.In addition, the real-time transport protocol packet position determining unit stores the start sequence number and end sequence number information of the packets included in the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiving unit from the real-time transport protocol service stream buffering unit. The location can be determined by searching among the buffered buffering information.

또한, 상기 실시간 전송 프로토콜 패킷 송신부는 클라이언트로 송신하는 실시간 전송 프로토콜 패킷을 사용자 데이터그램 프로토콜 방식으로 송신할 수 있다.In addition, the real-time transport protocol packet transmitter may transmit the real-time transport protocol packet to be transmitted to the client using a user datagram protocol method.

또한, 상기 실시간 전송 프로토콜 캐싱 서버는 서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장하는 실시간 전송 프로토콜 서비스 스트림 버퍼링부; 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부에서 버퍼링되어 메모리에 저장되는 실시간 전송 프로토콜 패킷의 위치정보를 생성하여 관리하는 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부; 클라이언트로부터 실시간 전송 프로토콜 패킷 요청정보를 수신하는 실시간 전송 프로토콜 패킷 요청정보 수신부; 상기 실시간 전송 프로토콜 패킷 요청정보 수신부에서 수신된 실시간 전송 프로토콜 패킷 요청정보에 따라 요청된 실시간 전송 프로토콜 패킷의 위치를 상기 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부로부터 획득하는 실시간 전송 프로토콜 패킷 위치 획득부; 상기 실시간 전송 프로토콜 패킷 위치정보 획득부에서 획득한 실시간 전송 프로토콜 패킷의 위치에 존재하는 실시간 전송 프로토콜 패킷을 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부로부터 획득하는 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부; 및 상기 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부에서 획득한 실시간 전송 프로토콜 패킷을 클라이언트로 송신하는 실시간 전송 프로토콜 패킷 송신부를 포함할 수 있다.In addition, the real-time transport protocol caching server includes: a real-time transport protocol service stream buffering unit for buffering the real-time transport protocol service stream transmitted from the service network and storing the buffering information in a memory; a real-time transport protocol packet location information data generation and management unit for generating and managing location information of real-time transport protocol packets buffered by the real-time transport protocol service stream buffering unit and stored in a memory; a real-time transport protocol packet request information receiver configured to receive real-time transport protocol packet request information from a client; a real-time transport protocol packet position acquisition unit for acquiring a location of a requested real-time transport protocol packet from the real-time transport protocol packet position information data generation and management unit according to the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiving unit; a real-time transport protocol packet acquisition unit for client transmission that acquires, from the real-time transport protocol service stream buffering unit, a real-time transport protocol packet existing at a location of the real-time transport protocol packet acquired by the real-time transport protocol packet location information acquisition unit; and a real-time transport protocol packet transmitter configured to transmit the real-time transport protocol packet obtained by the real-time transport protocol packet acquisition unit for client transmission to the client.

또한, 상기 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부에서 생성하는 실시간 전송 프로토콜 패킷의 위치정보는 실시간 전송 프로토콜 패킷의 순서번호 정보와 각 순서번호별 패킷의 위치정보를 포함할 수 있다.In addition, the location information of the real-time transport protocol packet generated by the real-time transport protocol packet location information data generation and management unit may include sequence number information of the real-time transport protocol packet and location information of the packet for each sequence number.

또한, 상기 각 순서번호별 패킷의 위치정보는 각 순서번호별 패킷의 처음 시작위치 정보를 포함할 수 있다.In addition, the location information of the packet for each sequence number may include information on the first start location of the packet for each sequence number.

또한, 상기 실시간 전송 프로토콜 패킷 요청정보 수신부가 클라이언트로부터 수신하는 실시간 전송 프로토콜 패킷 요청정보는 패킷의 시작 순서번호와 끝 순서번호 정보를 포함할 수 있다.Also, the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiver from the client may include information on a start sequence number and an end sequence number of the packet.

또한, 상기 실시간 전송 프로토콜 패킷 위치 획득부는 상기 실시간 전송 프로토콜 패킷 요청정보 수신부에서 수신된 실시간 전송 프로토콜 패킷 요청정보에 따라 요청된 실시간 전송 프로토콜 패킷의 시작 순서번호와 끝 순서번호에 해당하는 메모리 상의 위치를 상기 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부로부터 획득할 수 있다.In addition, the real-time transport protocol packet position acquisition unit determines the locations in the memory corresponding to the start sequence number and the end sequence number of the real-time transport protocol packet requested according to the real-time transport protocol packet request information received from the real-time transport protocol packet request information receiving unit. It can be obtained from the real-time transport protocol packet location information data generation and management unit.

또한, 상기 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부는 상기 실시간 전송 프로토콜 패킷 위치 획득부에서 획득한 실시간 전송 프로토콜 패킷의 시작 순서번호와 끝 순서번호에 해당하는 메모리 상의 위치에 존재하는 실시간 전송 프로토콜 패킷을 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부로부터 획득할 수 있다.In addition, the real-time transport protocol packet acquisition unit for client transmission obtains the real-time transport protocol packet existing at a location in the memory corresponding to the start sequence number and the end sequence number of the real-time transport protocol packet obtained by the real-time transport protocol packet position acquisition unit. It can be obtained from the real-time transport protocol service stream buffering unit.

한편, 상기한 목적을 달성하기 위한 본 발명에 따른 실시간 전송 프로토콜 패킷 재정렬 방법의 일측면에 따르면, 클라이언트는 입력되는 실시간 전송 프로토콜 패킷의 순서를 검사하여 미정렬 구간 검출 시 미정렬 구간의 실시간 전송 프로토콜 패킷을 요청하는 단계; 실시간 전송 프로토콜 캐싱 서버가 상기 클라이언트로부터 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계; 상기 클라이언트는 상기 실시간 전송 프로토콜 캐싱 서버로부터 수신한 실시간 전송 프로토콜 패킷을 미정렬 구간에 순서 번호대로 삽입하여 재정렬하는 단계; 및 상기 클라이언트는 미정렬 구간에 삽입된 실시간 전송 프로토콜 패킷과 중복되는 패킷을 제거하는 단계를 포함할 수 있다.On the other hand, according to one aspect of the real-time transport protocol packet reordering method according to the present invention for achieving the above object, the client checks the order of the input real-time transport protocol packets and, when detecting the unaligned section, the real-time transport protocol of the unaligned section requesting a packet; transmitting, by a real-time transport protocol caching server, a real-time transport protocol packet of an unaligned section requested from the client to the client; rearranging, by the client, inserting the real-time transport protocol packets received from the real-time transport protocol caching server into an unaligned section in sequence number; and removing, by the client, a packet overlapping with the real-time transport protocol packet inserted in the unaligned section.

또한, 상기 실시간 전송 프로토콜 캐싱 서버가 상기 클라이언트로부터 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계는, 서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장하는 단계; 상기 클라이언트로부터 실시간 전송 프로토콜 패킷 요청정보를 수신하는 단계; 상기 수신된 실시간 전송 프로토콜 패킷 요청정보를 상기 버퍼링된 버퍼링 정보 중에서 검색하여 위치를 확정하는 단계; 상기 확정된 위치에서 검색된 실시간 전송 프로토콜 패킷을 획득하는 단계; 및 상기 획득한 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계를 포함할 수 있다.In addition, the step of the real-time transport protocol caching server transmitting the real-time transport protocol packet of the unaligned section requested from the client to the client includes buffering the real-time transport protocol service stream transmitted from the service network and storing the buffering information in the memory. to do; receiving real-time transport protocol packet request information from the client; determining a location by searching for the received real-time transport protocol packet request information from among the buffered buffering information; acquiring a real-time transport protocol packet retrieved from the determined location; and transmitting the obtained real-time transport protocol packet to the client.

또한, 상기 실시간 전송 프로토콜 캐싱 서버가 상기 클라이언트로부터 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계는, 서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장하는 단계; 버퍼링되어 메모리에 저장되는 실시간 전송 프로토콜 패킷의 위치정보를 생성하여 관리하는 단계; 상기 클라이언트로부터 실시간 전송 프로토콜 패킷 요청정보를 수신하는 단계; 상기 수신된 실시간 전송 프로토콜 패킷 요청정보에 따라 요청된 실시간 전송 프로토콜 패킷의 위치를 획득하는 단계; 상기 획득한 실시간 전송 프로토콜 패킷의 위치에 존재하는 실시간 전송 프로토콜 패킷을 획득하는 단계; 및 상기 획득한 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계를 포함할 수 있다.In addition, the step of the real-time transport protocol caching server transmitting the real-time transport protocol packet of the unaligned section requested from the client to the client includes buffering the real-time transport protocol service stream transmitted from the service network and storing the buffering information in the memory. to do; generating and managing location information of real-time transport protocol packets that are buffered and stored in a memory; receiving real-time transport protocol packet request information from the client; acquiring a location of a requested real-time transport protocol packet according to the received real-time transport protocol packet request information; acquiring a real-time transport protocol packet existing at a location of the acquired real-time transport protocol packet; and transmitting the obtained real-time transport protocol packet to the client.

본 발명에 의하면, 실시간 전송 프로토콜 패킷의 미정렬 구간정보에 기초하여 미정렬 구간의 패킷을 즉시 획득함으로써 데이터 처리시간 지연 없이 패킷 재정렬을 할 수 있는 효과가 있다.According to the present invention, there is an effect that packets can be rearranged without delay in data processing time by immediately acquiring a packet of an unaligned section based on unaligned section information of a real-time transport protocol packet.

도 1은 실시간 전송 프로토콜 재정렬(RTP reordering)을 위한 RTP 패킷 구조를 나타내는 도면이다.
도 2는 RTP 패킷 수신 처리부에서의 일반적인 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 방법을 나타내는 도면이다.
도 3은 본 발명의 일실시예에 따른 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 시스템 구성을 나타내는 도면이다.
도 4는 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 방법의 일예를 나타내는 도면이다.
도 5는 본 발명의 일실시예에 따른 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 시스템의 세부 구성을 나타내는 도면이다.
도 6은 본 발명의 다른 실시예에 따른 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 시스템의 세부 구성을 나타내는 도면이다.
1 is a diagram illustrating an RTP packet structure for real-time transport protocol reordering (RTP reordering).
2 is a diagram illustrating a general real-time transport protocol packet reordering (RTP reordering) method in the RTP packet reception processing unit.
3 is a diagram showing the configuration of a real-time transport protocol packet reordering (RTP reordering) system according to an embodiment of the present invention.
4 is a diagram illustrating an example of a real-time transport protocol packet reordering (RTP reordering) method.
5 is a diagram illustrating a detailed configuration of a real-time transport protocol packet reordering (RTP reordering) system according to an embodiment of the present invention.
6 is a diagram illustrating a detailed configuration of a real-time transport protocol packet reordering (RTP reordering) system according to another embodiment of the present invention.

이하 첨부된 도면을 참조로 본 발명의 바람직한 실시예를 상세히 설명하기로한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여 본 발명의 기술적사상에 부합하는 의미와 개념으로 해석되어야만 한다. 따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. Prior to this, the terms or words used in the present specification and claims should not be construed as being limited to conventional or dictionary meanings, and the inventor should properly understand the concept of the term in order to best describe his invention. It should be interpreted as meaning and concept consistent with the technical idea of the present invention based on the principle that it can be defined. Therefore, the configuration shown in the embodiments and drawings described in the present specification is only the most preferred embodiment of the present invention and does not represent all of the technical spirit of the present invention, so at the time of the present application, various It should be understood that there may be equivalents and variations.

도 1은 실시간 전송 프로토콜 재정렬(RTP reordering)을 위한 RTP 패킷 구조를 나타내는 도면이다.1 is a diagram illustrating an RTP packet structure for real-time transport protocol reordering (RTP reordering).

도시된 바와 같이, 실시간 전송 프로토콜 패킷 구조에 대해 살펴보면, V(version)는 2bit로서 실시간 전송 프로토콜의 버전을 나타낼 수 있으며, 현재는 2 값을 항상 표시할 수 있다.As shown, looking at the real-time transport protocol packet structure, V (version) is 2 bits, which may indicate the version of the real-time transport protocol, and currently may always indicate a value of 2.

P(padding)는 1bit로서 만일 패킷 마지막에 하나 이상의 패딩 바이트가 있을 경우를 나타낼 수 있다. 여기서, 패딩 비트란 의미가 없는 비트를 의미할 수 있으며, 패킷을 만들기 위해 의도적으로 추가된 비트일 수 있다.P (padding) is 1 bit and may indicate if there is one or more padding bytes at the end of the packet. Here, the padding bit may mean a meaningless bit, and may be a bit intentionally added to make a packet.

X(Extension)는 1bit로서 고정 헤더 이후의 하나의 확장 헤더가 추가적으로 있음을 의미할 수 있다.X (Extension) is 1 bit and may mean that there is one extension header after the fixed header.

CC(CSRC Count)는 4bit로서 12 바이트 고정 헤더 이후에 표시되는 CSRC identifier의 수를 표시할 수 있다.CC (CSRC Count) is 4 bits and may indicate the number of CSRC identifiers displayed after the 12-byte fixed header.

M(Market)은 1bit로서 패킷 스트림 내에서 프레임 경계와 같은 중요한 이벤트들을 표시하는데 이용될 수 있다. 항상 트러블 슈팅시에 보면 중요할 것 같지만 별로 의미가 없는 비트일 수 있으며, 다음에 오는 PT 필드를 확장하여 표시 비트를 없애기도 할 수 있다.M (Market) is 1 bit and can be used to indicate important events such as frame boundaries within a packet stream. It may always be an important bit when looking at troubleshooting, but it may be meaningless, and it is possible to remove the indication bit by expanding the PT field that follows.

PT(Payload Type)는 7bit로서 RTP 페이로드의 타입을 나타낼 수 있다. 즉, RTP가 전송하고 있는 내용이 G.711로 되어 있는지 H.264로 되어 있는지 등에 대한 정보를 나타낼 수 있다. 또한, 수신 장비가 페이로드 타입을 이해할 수 없다면 반드시 무시해야 한다. 이 의미는 실제 Payload Type은 Capability Exchange시에 항상 교환되므로 상호 인지를 하고 있어야 한다.PT (Payload Type) is 7 bits and may indicate the type of RTP payload. That is, information on whether the content transmitted by the RTP is in G.711 or H.264 can be indicated. Also, if the receiving equipment cannot understand the payload type, it MUST ignore it. This means that the actual payload type is always exchanged at the time of capability exchange, so mutual recognition must be made.

순서 번호(Sequence number)는 16bit로서 보안상의 이유로 랜덤한 번호에서 시작하지만 패킷이 증가할 때마다 1씩 증가될 수 있다. 이를 통해 수신장비는 패킷 손실을 인지하고 복구 매커니즘을 동작하도록 할 수 있다.The sequence number is 16 bits and starts from a random number for security reasons, but may be increased by 1 whenever the number of packets increases. Through this, the receiving device can recognize the packet loss and operate a recovery mechanism.

타임 스탬프(Timestamp)는 32bit로서 RTP 패킷의 첫번째 바이트의 샘플링 순간을 나타낼 수 있다. 초기값은 순서 번호 와 마찬가지로 랜덤하게 결정될 수 있으며, 만일 샘플링이 160 단위로 발생한다면 각 블럭은 160 단위로 증가하게 될 수 있다. 실제 코덱마다 샘플링 레이트가 차이가 있으므로 그에 맞게 증가할 수 있다.The timestamp is 32 bits and may indicate the sampling moment of the first byte of the RTP packet. The initial value can be randomly determined like the sequence number, and if sampling occurs in 160 units, each block can be increased by 160 units. Since the sampling rate is different for each actual codec, it may increase accordingly.

SSRC(Synchronization Source) identifier는 32bit로서 동기화 소스를 나타내고 랜덤하게 결정될 수 있으며, 같은 RTP 세션 내에 서로 다른 값을 가져야 한다.The SSRC (Synchronization Source) identifier indicates a synchronization source as 32 bits and can be randomly determined, and must have different values within the same RTP session.

CSRC(Contributing Source) identifier는 32bit로서 다수의 음원이 Audio Mixer를 통해 하나로 통합될 경우 나타낼 수 있다. 따라서, 이 필드를 통해 원 음원에 대해 나타낼 수 있으며, 이 목록에서는 모든 음원의 SSRC identifier가 포함될 수 있다.CSRC (Contributing Source) identifier is 32-bit and can be indicated when multiple sound sources are integrated into one through Audio Mixer. Therefore, the original sound source can be indicated through this field, and SSRC identifiers of all sound sources can be included in this list.

특히, 순서 번호는 16bit value로서 이 값을 기준으로 패킷의 순서를 확인하여 패킷을 재정렬할 수 있다.In particular, as the sequence number is a 16-bit value, packets can be rearranged by checking the order of the packets based on this value.

재정렬은 네트워크를 통해 RTP protocol로 데이터를 전송할 경우, 수신기에서의 수신 패킷의 순서가 순차적으로 수신되지 않을 수 있다. 이 경우, 정상적인 payload 데이터 처리를 위해서는 일정시간 버퍼링을 한 뒤에 패킷의 순서를 순서 번호 를 기준으로 정확히 재정렬을 한 후 데이터 처리를 진행할 수 있다. 이러한 과정을 RTP 패킷 재정렬이라 할 수 있다.In the case of reordering, when data is transmitted using the RTP protocol over the network, the order of received packets at the receiver may not be sequentially received. In this case, for normal payload data processing, after buffering for a certain period of time, the order of packets can be accurately rearranged based on the sequence number, and then data processing can be performed. This process may be referred to as RTP packet reordering.

도 2는 RTP 패킷 수신 처리부에서의 일반적인 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 방법을 나타내는 도면이다.2 is a diagram illustrating a general real-time transport protocol packet reordering (RTP reordering) method in the RTP packet reception processing unit.

도시된 바와 같이, RTP 패킷 수신 처리부(10)의 패킷 버퍼(11)로 RTP 패킷이 입력될 수 있으며 이때 입력되는 RTP 패킷의 순서는 미정렬 상태일 수 있다. 패킷 버퍼(11)는 미정렬 상태의 RTP 패킷을 패킷 재정렬부(12)로 전달하여 패킷 재정렬을 요청할 수 있다. 패킷 재정렬부(12)는 패킷 버퍼(11)에서 전달된 미정렬 상태의 RTP 패킷의 순서를 재정렬할 수 있으며, RTP 패킷 순서 재정렬 상태를 RTP 패킷 처리부(13)로 전달할 수 있다. 즉, RTP 수신단에서 수신되는 데이터를 일정량만큼 버퍼링을 할 수 있으며, 버퍼링되는 데이터를 이용하여 RTP 패킷 재정렬(reordering)을 실시할 수 있다. 그러나, 이러한 방법의 경우에는 패킷 버퍼(11)의 크기만큼의 데이터 처리시간 지연이 발생할 수 있다.As illustrated, RTP packets may be input to the packet buffer 11 of the RTP packet reception processing unit 10 , and the order of the input RTP packets may be in an unaligned state. The packet buffer 11 may transmit the unaligned RTP packet to the packet reordering unit 12 to request packet reordering. The packet reordering unit 12 may rearrange the order of the RTP packets in an unaligned state transmitted from the packet buffer 11 , and may transmit the RTP packet order rearrangement state to the RTP packet processing unit 13 . That is, data received from the RTP receiving end may be buffered by a predetermined amount, and RTP packet reordering may be performed using the buffered data. However, in the case of this method, a data processing time delay corresponding to the size of the packet buffer 11 may occur.

도 3은 본 발명의 일실시예에 따른 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 시스템 구성을 나타내는 도면이고, 도 4는 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 방법의 일예를 나타내는 도면이다.3 is a diagram showing the configuration of a real-time transport protocol packet reordering (RTP reordering) system according to an embodiment of the present invention, and FIG. 4 is a diagram showing an example of a real-time transport protocol packet reordering (RTP reordering) method.

도시된 바와 같이, 본 발명의 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 시스템은 RTP 패킷 수신 처리부(20)와 RTP 캐싱서버(30)를 포함할 수 있다.As shown, the real-time transport protocol packet reordering (RTP reordering) system of the present invention may include an RTP packet reception processing unit 20 and an RTP caching server 30 .

RTP 패킷 수신 처리부(20)는 실시간 전송 프로토콜 패킷을 입력받아 패킷의 순서를 검사하여 미정렬 상태 검출 시 미정렬 구간 정보에 대한 실시간 전송 프로토콜 패킷을 RTP 캐싱서버(30)로 요청할 수 있으며, 요청한 실시간 전송 프로토콜 패킷을 수신하여 재정렬할 수 있다.The RTP packet reception processing unit 20 may receive a real-time transport protocol packet, inspect the order of the packets, and when an unaligned state is detected, may request a real-time transport protocol packet for unaligned section information to the RTP caching server 30, and the requested real-time Transport protocol packets can be received and reordered.

RTP 캐싱서버(30)는 RTP 패킷 수신 처리부(20)의 요청에 따라 요청된 실시간 전송 프로토콜 패킷을 RTP 패킷 수신 처리부(20)로 송신할 수 있다.The RTP caching server 30 may transmit the requested real-time transport protocol packet to the RTP packet reception processing unit 20 according to the request of the RTP packet reception processing unit 20 .

RTP 패킷 수신 처리부(20)는 패킷 검사 재정렬부(21)와 재정렬 패킷 요청부(22) 및 RTP 패킷 처리부(23)를 포함할 수 있다.The RTP packet reception processing unit 20 may include a packet inspection reordering unit 21 , a reordering packet requesting unit 22 , and an RTP packet processing unit 23 .

패킷 검사 재정렬부(21)는 실시간 전송 프로토콜 패킷이 입력되면 입력된 실시간 전송 프로토콜 패킷의 순서 번호(sequence number)를 실시간으로 체크하여 순서가 미정렬된 미정렬 상태의 구간 정보를 검사할 수 있다. 여기서, 실시간 전송 프로토콜 패킷의 미정렬 상태 검출 시에는 미정렬 구간 정보를 재정렬 패킷 요청부(22)로 전달하여 미정렬 구간의 실시간 전송 프로토콜 패킷을 요청할 수 있다.When a real-time transport protocol packet is input, the packet inspection reordering unit 21 may check the sequence number of the input real-time transport protocol packet in real time to inspect the section information in an unordered state. Here, when the unaligned state of the real-time transport protocol packet is detected, the unaligned section information may be transmitted to the reordering packet request unit 22 to request the real-time transport protocol packet of the unaligned section.

패킷 검사 재정렬부(21)는 재정렬 패킷 요청부(22)로부터 요청한 미정렬 구간의 실시간 전송 프로토콜 패킷을 수신하면 수신한 미정렬 구간의 실시간 전송 프로토콜 패킷을 재정렬할 수 있다. 여기서, 패킷 재정렬은 실시간 전송 프로토콜 패킷의 순서 번호에 따라 재정렬할 수 있다.When receiving the real-time transport protocol packet of the unaligned section requested from the reordering packet requester 22 , the packet inspection reordering unit 21 may rearrange the received real-time transport protocol packet of the unaligned section. Here, the packet rearrangement may be performed according to the sequence number of the real-time transport protocol packet.

재정렬 패킷 요청부(22)는 패킷 검사 재정렬부(21)로부터 미정렬 구간의 실시간 전송 프로토콜 패킷 요청을 수신하면 RTP 캐싱서버(30)로 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 요청할 수 있다. 이에 따라, RTP 캐싱서버(30)로부터 요청한 미정렬 구간의 실시간 전송 프로토콜 패킷을 수신하면 수신한 미정렬 구간의 실시간 전송 프로토콜 패킷을 패킷 검사 재정렬부(21)로 전달할 수 있다.When the reordering packet request unit 22 receives the real-time transport protocol packet request of the unaligned section from the packet inspection and reordering unit 21 , it may request the real-time transport protocol packet of the unaligned section from the RTP caching server 30 . Accordingly, upon receiving the real-time transport protocol packet of the unaligned section requested from the RTP caching server 30 , the received real-time transport protocol packet of the unaligned section may be transferred to the packet inspection reordering unit 21 .

RTP 패킷 처리부(23)는 패킷 검사 재정렬부(21)에서 재정렬된 실시간 전송 프로토콜 패킷을 수신하여 수신한 실시간 전송 프로토콜 패킷을 처리할 수 있다.The RTP packet processing unit 23 may receive the real-time transport protocol packet rearranged by the packet inspection reordering unit 21 and process the received real-time transport protocol packet.

전술한 바와 같이, 본 발명의 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 시스템에 의하면, RTP 수신단에서 버퍼링을 하지 않고 RTP 패킷의 순서 번호(Sequence Number)를 실시간으로 체크하여 순서 미정렬 상태의 구간을 검출할 수 있다.As described above, according to the real-time transport protocol packet reordering system of the present invention, the sequence number of the RTP packet is checked in real time without buffering at the RTP receiving end, and a section in the unordered state is detected. can do.

또한, RTP 캐싱서버(30)에 미정렬된 패킷 구간을 재정렬 구간으로 만들 수 있는 패킷을 요청할 수 있으며, RTP 캐싱서버(30)에서는 캐싱하고 있는 데이터에서 수신기에서 요청한 순서 번호를 가진 패킷 구간을 찾아서 수신기로 전달할 수 있다.In addition, the RTP caching server 30 can request a packet that can make the unaligned packet section a reorder section, and the RTP caching server 30 finds a packet section having a sequence number requested by the receiver in the data being cached. can be transmitted to the receiver.

이에 따라, RTP 패킷 수신 처리부(20)의 패킷 검사 재정렬부(21)는 RTP 캐싱서버(30)로부터 수신한 실시간 전송 프로토콜 패킷을 미정렬 상태부에 삽입 후 RTP 패킷 처리부(23)로 출력할 수 있다.Accordingly, the packet inspection reordering unit 21 of the RTP packet reception processing unit 20 inserts the real-time transport protocol packet received from the RTP caching server 30 into the unaligned state unit and then outputs it to the RTP packet processing unit 23 . have.

RTP 패킷 수신 처리부(20)의 패킷 검사 재정렬부(21)는 이 후 입력되는 패킷에서 RTP 캐싱서버(30)로부터 수신한 패킷과 동일한 순서 번호(Sequence Number)를 가지는 패킷이 발견되면 해당 패킷을 제거할 수 있다. 이때 제거되는 패킷 혹은 패킷 구간 이후 패킷을 패킷 순서에 맞추어 출력할 수 있다.The packet inspection reordering unit 21 of the RTP packet reception processing unit 20 removes the corresponding packet when a packet having the same sequence number as the packet received from the RTP caching server 30 is found in the packet received thereafter. can do. In this case, the removed packet or the packet after the packet interval may be output according to the packet order.

이러한 본 발명의 패킷 재정렬 방법은 기본 방법의 시간 지연 요소인 버퍼링을 제거하고, 캐싱 서버로부터 최적 시간 내에 필요한 패킷 정보를 수신할 수 있도록 하여 기본 방법 대비 시간 지연을 감소시킬 수 있다.The packet reordering method of the present invention can reduce the time delay compared to the basic method by removing buffering, which is a time delay element of the basic method, and allowing necessary packet information to be received from the caching server within an optimal time.

도 4에서는 전술한 본 발명의 실시간 전송 프로토콜 패킷의 재정렬 방법에 대한 구체적인 예를 나타내고 있다. 이에 대해 살펴보면, RTP 패킷 수신 처리부(20)의 패킷 검사 재정렬부(21)에서 RTP 패킷 수신 중 순서 번호(SN)가 불연속인 위치를 검출할 수 있다. 예를 들어, 도 4에서와 같이 0x0001, 0x0002, 0x0003, 0x0004, 0x0005 다음 순서가 0x0006이 아닌 0x0009임을 체크하여 패킷 미정렬을 검출할 수 있다.4 shows a specific example of a method for rearranging real-time transport protocol packets according to the present invention. In this regard, the packet inspection reordering unit 21 of the RTP packet reception processing unit 20 may detect a position where the sequence number SN is discontinuous during RTP packet reception. For example, as shown in FIG. 4 , packet misalignment may be detected by checking that the next order of 0x0001, 0x0002, 0x0003, 0x0004, 0x0005 is 0x0009 instead of 0x0006.

이에 따라, 요청 구간 정보 생성 방법으로 순서 번호 불연속 구간의 시작과 끝 패킷 순서 번호를 도출하여 패킷 미정렬 구간 정보를 생성할 수 있다. 여기서, 패킷 미정렬 구간 정보는 0x0005와 0x0009 사이에 해당하는 0x0006 ~ 0x0008 일 수 있다.Accordingly, packet unaligned section information can be generated by deriving the start and end packet sequence numbers of the sequence number discontinuous section as a method of generating the requested section information. Here, the packet misalignment section information may be 0x0006 to 0x0008 corresponding to between 0x0005 and 0x0009.

이어서, 요청 구간 패킷 요청 및 수신 방법으로 순서 번호 불연속 구간의 시작과 끝 패킷 순서 번호 정보를 RTP 캐싱서버(30)로 송신할 수 있으며, 요청 구간 패킷인 순서 번호 불연속 구간 패킷을 RTP 캐싱서버(30)로부터 수신할 수 있다. 예를 들어, 요청 구간 패킷인 0x0006 ~ 0x0008을 수신할 수 있다.Subsequently, as a request and reception method of the request interval packet, the sequence number information of the start and end packets of the sequence number discontinuous interval may be transmitted to the RTP caching server 30, and the sequence number discontinuous interval packet, which is the request interval packet, may be transmitted to the RTP caching server 30 ) can be received from For example, the request interval packets 0x0006 to 0x0008 may be received.

이어서, 패킷 재정렬 방법으로 RTP 패킷 수신 처리부(20)의 패킷 검사 재정렬부(21)에서는 요청 구간 패킷을 삽입하여 패킷을 재정렬할 수 있다. 예를 들어, 0x0005와 0x0009 사이에 요청 구간 패킷인 0x0006, 0x0007, 0x0008 순서로 삽입하여 패킷을 재정렬할 수 있다.Subsequently, as a packet reordering method, the packet inspection reordering unit 21 of the RTP packet reception processing unit 20 may reorder the packets by inserting a request interval packet. For example, the packets may be rearranged by inserting them between 0x0005 and 0x0009 in the order of 0x0006, 0x0007, and 0x0008, which are request interval packets.

이어서, 요청 구간 패킷 삽입 이후 삽입 패킷과 중복되는 패킷을 제거할 수 있다. 예를 들어, 0x0005와 0x0009 사이에 요청 구간 패킷인 0x0006, 0x0007, 0x0008 순서로 삽입한 후 요청 구간 패킷과 중복되는 0x0006, 0x0007, 0x0008 패킷을 제거할 수 있다.Subsequently, after the request interval packet is inserted, a packet overlapping with the inserted packet may be removed. For example, 0x0006, 0x0007, 0x0008 packets overlapping with the request interval packet may be removed after inserting the request interval packets in the order 0x0006, 0x0007, and 0x0008 between 0x0005 and 0x0009.

즉, 클라이언트 측에서의 실시간 전송 프로토콜 패킷 재정렬(RTP Reordering) 방법은 먼저 미정렬된 실시간 전송 프로토콜 패킷을 검출할 수 있다. 예를 들어, SN #5 ~ SN #9 순서의 실시간 전송 프로토콜 패킷에서 SN #9 패킷 수신 시 미정렬 실시간 전송 프로토콜 패킷을 검출할 수 있다.That is, the real-time transport protocol packet reordering (RTP reordering) method on the client side may first detect unaligned real-time transport protocol packets. For example, when an SN #9 packet is received from a real-time transport protocol packet in the order of SN #5 to SN #9, an unaligned real-time transport protocol packet may be detected.

이어서, 미정렬 실시간 전송 프로토콜 패킷을 검출함에 따라 미정렬 구간을 확정할 수 있다. 예를 들어, 미정렬 구간을 SN #5 ~ SN #9 구간으로 확정할 수 있다.Then, the unaligned section may be determined by detecting the unaligned real-time transport protocol packet. For example, the unaligned section may be determined as the SN #5 ~ SN #9 section.

이어서, 미정렬 구간을 확정한 이후에는 [Start SN#, End SN#]와 같은 형식으로 요청 패킷 정보를 확정할 수 있다. 예를 들어, 미정렬 구간을 SN #5 ~ SN #9로 확정한 경우 요청 패킷 정보를 Start (SN#6) ~ End (SN#8)와 같이 확정할 수 있다.Subsequently, after determining the unaligned section, the request packet information may be determined in a format such as [Start SN#, End SN#]. For example, when the unaligned section is determined to be SN #5 to SN #9, request packet information may be determined as Start (SN#6) to End (SN#8).

이어서, 클라이언트는 확정된 요청 패킷 정보를 서버로 송신할 수 있으며, 요청한 패킷을 서버로부터 수신할 수 있다. 예를 들어, 확정된 요청 패킷 정보인 Start (SN#6) ~ End (SN#8)를 서버로 송신하여 RTP packet(SN#6) ~ RTP packet(SN#8)을 서버로부터 수신할 수 있다.Subsequently, the client may transmit the determined request packet information to the server, and may receive the requested packet from the server. For example, it is possible to receive RTP packets (SN#6) to RTP packets (SN#8) from the server by transmitting Start (SN#6) to End (SN#8), which are determined request packet information, to the server. .

이어서, 클라이언트는 서버로부터 수신한 패킷을 기존 서버스 수신 중인 패킷에 삽입할 수 있다. 예를 들어, 서버로부터 수신한 패킷 RTP packet(SN#6) ~ RTP packet(SN#8)을 기존 서버스 수신 중인 패킷 RTP packet(SN#5) ~ RTP packet(SN#9)에 삽입할 수 있다.Subsequently, the client may insert the packet received from the server into the existing server receiving packet. For example, a packet RTP packet (SN#6) to RTP packet (SN#8) received from the server may be inserted into a packet RTP packet (SN#5) to RTP packet (SN#9) being received by the existing server. .

이어서, 클라이언트는 서버로부터 수신한 패킷과 중복되는 패킷을 삭제할 수 있다. 예를 들어, 서버로부터 수신한 패킷이 RTP packet(SN#6) ~ RTP packet(SN#8)인 경우 이와 중복되는 패킷 RTP packet(SN#6) ~ RTP packet(SN#8)을 삭제할 수 있다.Subsequently, the client may delete a packet that overlaps with the packet received from the server. For example, when the packets received from the server are RTP packets (SN#6) to RTP packets (SN#8), overlapping packets RTP packets (SN#6) to RTP packets (SN#8) may be deleted. .

도 5는 본 발명의 일실시예에 따른 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 시스템의 세부 구성을 나타내는 도면이다.5 is a diagram illustrating a detailed configuration of a real-time transport protocol packet reordering (RTP reordering) system according to an embodiment of the present invention.

도시된 바와 같이, 본 발명의 실시간 전송 프로토콜 패킷 재정렬 시스템은 클라이언트(100)와 실시간 전송 프로토콜 패킷 재정렬을 위한 실시간 전송 프로토콜 캐싱 서버(200)를 포함할 수 있다.As shown, the real-time transport protocol packet reordering system of the present invention may include a client 100 and a real-time transport protocol caching server 200 for real-time transport protocol packet reordering.

클라이언트(100)는 미정렬된 구간의 실시간 전송 프로토콜 패킷 요청 정보를 실시간 전송 프로토콜 캐싱 서버(200)로 전송하여 요청할 수 있으며, 요청한 실시간 전송 프로토콜 패킷 정보를 실시간 전송 프로토콜 캐싱 서버(200)로부터 수신할 수 있다. 여기서, 실시간 전송 프로토콜 패킷 요청 정보에는 예를 들어, 미정렬 구간정보로서 시작 순서번호와 끝 순서번호 [Start SN#, End SN#] 정보가 포함되어 전송될 수 있다.The client 100 may transmit and request the real-time transport protocol packet request information of the unaligned section to the real-time transport protocol caching server 200, and receive the requested real-time transport protocol packet information from the real-time transport protocol caching server 200. can Here, the real-time transmission protocol packet request information may include, for example, start sequence number and end sequence number [Start SN#, End SN#] information as unaligned section information and may be transmitted.

실시간 전송 프로토콜 캐싱 서버(200)는 클라이언트(100)의 요청에 따라 미정렬 구간의 시작 순서번호와 끝 순서번호 [Start SN#, End SN#] 정보에 기초하여 요청된 실시간 전송 프로토콜 패킷을 송신할 수 있다.The real-time transport protocol caching server 200 transmits the requested real-time transport protocol packet based on the start sequence number and the end sequence number [Start SN#, End SN#] information of the unaligned section according to the request of the client 100. can

실시간 전송 프로토콜 캐싱 서버(200)는 실시간 전송 프로토콜 패킷 요청정보 수신부(210)와, 실시간 전송 프로토콜 패킷 위치 확정부(220)와, 실시간 전송 프로토콜 서비스 스트림 버퍼링부(230)와, 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부(240) 및 실시간 전송 프로토콜 패킷 송신부(250)를 포함할 수 있다.The real-time transport protocol caching server 200 includes a real-time transport protocol packet request information receiving unit 210, a real-time transport protocol packet location determining unit 220, a real-time transport protocol service stream buffering unit 230, and a real-time transmission for client transmission. It may include a protocol packet acquisition unit 240 and a real-time transmission protocol packet transmission unit 250 .

실시간 전송 프로토콜 패킷 요청정보 수신부(210)는 클라이언트(100)로부터 실시간 전송 프로토콜 패킷 요청정보를 수신할 수 있다. 여기서, 클라이언트(100)로부터 수신하는 실시간 전송 프로토콜 패킷 요청정보는 패킷의 시작 순서번호와 끝 순서번호 정보를 포함할 수 있다.The real-time transport protocol packet request information receiver 210 may receive real-time transport protocol packet request information from the client 100 . Here, the real-time transport protocol packet request information received from the client 100 may include information on a start sequence number and an end sequence number of the packet.

실시간 전송 프로토콜 패킷 위치 확정부(220)는 실시간 전송 프로토콜 패킷 요청정보 수신부(210)에서 수신된 실시간 전송 프로토콜 패킷 요청정보를 실시간 전송 프로토콜 서비스 스트림 버퍼링부(230)에서 버퍼링된 버퍼링 정보 중에서 검색하여 위치를 확정할 수 있다. 즉, 실시간 전송 프로토콜 패킷 위치 확정부(220)는 실시간 전송 프로토콜 패킷 요청정보 수신부(210)에서 수신한 실시간 전송 프로토콜 패킷 요청정보에 포함된 패킷의 시작 순서번호와 끝 순서번호 정보를 실시간 전송 프로토콜 서비스 스트림 버퍼링부(230)에서 버퍼링된 버퍼링 정보 중에서 검색하여 위치를 확정할 수 있다.The real-time transport protocol packet position determining unit 220 searches for the real-time transport protocol packet request information received from the real-time transport protocol packet request information receiving unit 210 from among the buffering information buffered by the real-time transport protocol service stream buffering unit 230 and locates can be confirmed. That is, the real-time transport protocol packet position determining unit 220 converts the start sequence number and the end sequence number information of the packets included in the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiver 210 to the real-time transport protocol service. The location may be determined by searching among the buffering information buffered by the stream buffering unit 230 .

실시간 전송 프로토콜 서비스 스트림 버퍼링부(230)는 서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장할 수 있다. 여기서, 버퍼링 정보가 저장되는 메모리는 메인 메모리 또는 고속 메모리를 사용하는 것이 바람직할 수 있다.The real-time transport protocol service stream buffering unit 230 may buffer the real-time transport protocol service stream transmitted from the service network and store buffering information in the memory. Here, it may be preferable to use a main memory or a high-speed memory as the memory in which the buffering information is stored.

클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부(240)는 실시간 전송 프로토콜 패킷 위치 확정부(220)에서 확정된 위치에서 검색된 실시간 전송 프로토콜 패킷을 실시간 전송 프로토콜 서비스 스트림 버퍼링부(230)로부터 획득할 수 있다.The real-time transport protocol packet acquisition unit 240 for client transmission may acquire, from the real-time transport protocol service stream buffering unit 230 , the real-time transport protocol packet retrieved from the location determined by the real-time transport protocol packet position determining unit 220 .

실시간 전송 프로토콜 패킷 송신부(250)는 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부(240)에서 획득한 실시간 전송 프로토콜 패킷을 사용자 데이터그램 프로토콜(UDP) 방식으로 클라이언트(100)로 송신할 수 있다. 여기서, 요청 패킷 정보는 사용자 데이터그램 프로토콜(UDP) 방식 이외의 다른 방법으로 TCP나 기타 방법을 사용할 수도 있다.The real-time transport protocol packet transmitter 250 may transmit the real-time transport protocol packet obtained by the real-time transport protocol packet acquirer 240 for client transmission to the client 100 in a user datagram protocol (UDP) method. Here, the request packet information may use TCP or other methods other than the user datagram protocol (UDP) method.

이와 같이, 본 발명의 서버는 서비스 망으로부터 서비스 스트림을 수신하여 일정 구간 버퍼링을 수행할 수 있다. 이때, 버퍼링 데이터는 메인 메모리 혹은 기타 고속 메모리에 저장되어 처리될 수 있으며, 메인 메모리 혹은 디스크에 저장될 수 있으나, 최소 시간내 패킷 데이터를 처리하기 위해서는 메인 메모리 혹은 기타 고속 메모리에 저장되어 처리되는 것이 바람직할 수 있다.As described above, the server of the present invention may receive a service stream from a service network and perform buffering for a predetermined period. In this case, the buffering data may be stored and processed in the main memory or other high-speed memory, and may be stored in the main memory or disk. may be desirable.

또한, 서버는 클라이언트로부터 RTP 패킷 요청 정보를 수신할 수 있다. RTP 패킷 요청 정보는 [Start SN#, End SN#]와 같은 형식으로 수신할 수 있으며, 예를 들어, RTP 패킷 요청 정보 Start (SN#6) ~ End (SN#8)를 수신할 수 있다.Also, the server may receive RTP packet request information from the client. The RTP packet request information may be received in a format such as [Start SN#, End SN#], for example, RTP packet request information Start (SN#6) to End (SN#8) may be received.

또한, 서버는 버퍼링 정보 중 해당 순서 번호(SN) 패킷 정보를 검색하여 위치를 확정할 수 있다. 하기에서 설명되는 바와 같이 순서 번호별 패킷 위치 정보가 별도로 생성되어 관리되는 경우 이 정보를 이용하여 보다 빠르게 저복잡도로 요청 패킷을 획득할 수 있다. 즉, 서버는 검색된 실시간 전송 프로토콜 패킷을 버퍼링부로부터 획득할 수 있다.Also, the server may determine the location by searching for corresponding sequence number (SN) packet information among the buffering information. As described below, when packet location information for each sequence number is separately generated and managed, a request packet can be acquired more quickly and with low complexity by using this information. That is, the server may obtain the searched real-time transport protocol packet from the buffering unit.

도 6은 본 발명의 다른 실시예에 따른 실시간 전송 프로토콜 패킷 재정렬(RTP reordering) 시스템의 세부 구성을 나타내는 도면이다.6 is a diagram illustrating a detailed configuration of a real-time transport protocol packet reordering (RTP reordering) system according to another embodiment of the present invention.

도시된 바와 같이, 본 발명의 다른 실시예에 따른 실시간 전송 프로토콜 패킷 재정렬 시스템은 클라이언트(100)와 실시간 전송 프로토콜 패킷 재정렬을 위한 실시간 전송 프로토콜 캐싱 서버(300)를 포함할 수 있다.As shown, the real-time transport protocol packet reordering system according to another embodiment of the present invention may include a client 100 and a real-time transport protocol caching server 300 for real-time transport protocol packet reordering.

클라이언트(100)는 미정렬된 구간의 실시간 전송 프로토콜 패킷 요청 정보를 실시간 전송 프로토콜 캐싱 서버(300)로 전송하여 요청할 수 있으며, 요청한 실시간 전송 프로토콜 패킷 정보를 실시간 전송 프로토콜 캐싱 서버(300)로부터 수신할 수 있다. 여기서, 실시간 전송 프로토콜 패킷 요청 정보에는 예를 들어, 미정렬 구간정보로서 시작 순서번호와 끝 순서번호 [Start SN#, End SN#] 정보가 포함되어 전송될 수 있다.The client 100 may transmit and request the real-time transport protocol packet request information of the unaligned section to the real-time transport protocol caching server 300, and receive the requested real-time transport protocol packet information from the real-time transport protocol caching server 300. can Here, the real-time transmission protocol packet request information may include, for example, start sequence number and end sequence number [Start SN#, End SN#] information as unaligned section information and may be transmitted.

실시간 전송 프로토콜 캐싱 서버(300)는 클라이언트(100)의 요청에 따라 미정렬 구간의 시작 순서번호와 끝 순서번호 [Start SN#, End SN#] 정보에 기초하여 요청된 실시간 전송 프로토콜 패킷을 송신할 수 있다.The real-time transport protocol caching server 300 transmits the requested real-time transport protocol packet based on the start sequence number and the end sequence number [Start SN#, End SN#] information of the unaligned section according to the request of the client 100. can

실시간 전송 프로토콜 캐싱 서버(300)는 실시간 전송 프로토콜 패킷 요청정보 수신부(310)와, 실시간 전송 프로토콜 패킷 위치 획득부(320)와, 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부(330)와, 실시간 전송 프로토콜 서비스 스트림 버퍼링부(340)와, 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부(350) 및 실시간 전송 프로토콜 패킷 송신부(360)를 포함할 수 있다.The real-time transport protocol caching server 300 includes a real-time transport protocol packet request information receiver 310, a real-time transport protocol packet position acquisition unit 320, a real-time transport protocol packet position information data generation and management unit 330, and a real-time transport protocol It may include a service stream buffering unit 340 , a real-time transport protocol packet acquisition unit 350 for client transmission, and a real-time transport protocol packet transmission unit 360 .

실시간 전송 프로토콜 패킷 요청정보 수신부(310)는 클라이언트(100)로부터 실시간 전송 프로토콜 패킷 요청정보를 수신할 수 있다. 여기서, 클라이언트(100)로부터 수신하는 실시간 전송 프로토콜 패킷 요청정보는 패킷의 시작 순서번호와 끝 순서번호 정보를 포함할 수 있다.The real-time transport protocol packet request information receiver 310 may receive real-time transport protocol packet request information from the client 100 . Here, the real-time transport protocol packet request information received from the client 100 may include information on a start sequence number and an end sequence number of the packet.

실시간 전송 프로토콜 패킷 위치 획득부(320)는 실시간 전송 프로토콜 패킷 요청정보 수신부(310)에서 수신된 실시간 전송 프로토콜 패킷 요청정보에 따라 요청된 실시간 전송 프로토콜 패킷의 위치를 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부(330)로부터 획득할 수 있다. 즉, 실시간 전송 프로토콜 패킷 위치 획득부(320)는 실시간 전송 프로토콜 패킷 요청정보 수신부(310)에서 수신된 실시간 전송 프로토콜 패킷 요청정보에 따라 요청된 실시간 전송 프로토콜 패킷의 시작 순서번호와 끝 순서번호에 해당하는 메모리 상의 위치를 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부(330)로부터 획득할 수 있다.The real-time transport protocol packet location acquisition unit 320 determines the location of the requested real-time transport protocol packet according to the real-time transport protocol packet request information received from the real-time transport protocol packet request information receiving unit 310. The real-time transport protocol packet location information data generation and management unit It can be obtained from (330). That is, the real-time transport protocol packet position acquisition unit 320 corresponds to the start sequence number and the end sequence number of the real-time transport protocol packet requested according to the real-time transport protocol packet request information received from the real-time transport protocol packet request information receiver 310 . The location on the memory to be used may be obtained from the real-time transmission protocol packet location information data generation and management unit 330 .

실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부(330)는 실시간 전송 프로토콜 서비스 스트림 버퍼링부(340)에서 버퍼링되어 메모리에 저장되는 실시간 전송 프로토콜 패킷의 위치정보를 생성하여 관리할 수 있다. 여기서, 실시간 전송 프로토콜 패킷의 위치정보는 실시간 전송 프로토콜 패킷의 순서번호 정보와 각 순서번호별 패킷의 위치정보를 포함할 수 있다. 또한, 각 순서번호별 패킷의 위치정보는 각 순서번호별 패킷의 처음 시작위치 정보를 포함할 수 있다.The real-time transport protocol packet location information data generation management unit 330 may generate and manage the location information of the real-time transport protocol packet buffered by the real-time transport protocol service stream buffering unit 340 and stored in a memory. Here, the location information of the real-time transport protocol packet may include sequence number information of the real-time transport protocol packet and location information of the packet for each sequence number. In addition, the location information of the packet for each sequence number may include information on the first start location of the packet for each sequence number.

실시간 전송 프로토콜 서비스 스트림 버퍼링부(340)는 서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장할 수 있다.The real-time transport protocol service stream buffering unit 340 may buffer the real-time transport protocol service stream transmitted from the service network and store buffering information in the memory.

클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부(350)는 실시간 전송 프로토콜 패킷 위치 획득부(320)에서 획득한 실시간 전송 프로토콜 패킷의 위치에 존재하는 실시간 전송 프로토콜 패킷을 실시간 전송 프로토콜 서비스 스트림 버퍼링부(340)로부터 획득할 수 있다. 즉, 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부(350)는 실시간 전송 프로토콜 패킷 위치 획득부(320)에서 획득한 실시간 전송 프로토콜 패킷의 시작 순서번호와 끝 순서번호에 해당하는 메모리 상의 위치에 존재하는 실시간 전송 프로토콜 패킷을 실시간 전송 프로토콜 서비스 스트림 버퍼링부(340)로부터 획득할 수 있다.The real-time transport protocol packet acquisition unit 350 for client transmission uses the real-time transport protocol packet existing at the location of the real-time transport protocol packet acquired by the real-time transport protocol packet position acquisition unit 320 into the real-time transport protocol service stream buffering unit 340 . can be obtained from That is, the real-time transport protocol packet acquisition unit 350 for client transmission exists at a location on the memory corresponding to the start sequence number and the end sequence number of the real-time transport protocol packet acquired by the real-time transport protocol packet position acquisition unit 320 in real time. The transport protocol packet may be obtained from the real-time transport protocol service stream buffering unit 340 .

실시간 전송 프로토콜 패킷 송신부(360)는 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부(350)에서 획득한 실시간 전송 프로토콜 패킷을 클라이언트(100)로 송신할 수 있다.The real-time transport protocol packet transmitter 360 may transmit the real-time transport protocol packet obtained by the real-time transport protocol packet acquirer 350 for client transmission to the client 100 .

이와 같이, 본 발명의 서버는 보다 빠른 요청 구간 정보 획득을 위해 버퍼링되는 실시간 전송 프로토콜 패킷의 순서 번호(SN) 정보와 해당 순서 번호의 패킷의 처음 시작위치 정보로 구성되는 패킷 위치정보를 생성하여 데이터로 관리할 수 있다.In this way, the server of the present invention generates packet location information composed of sequence number (SN) information of a real-time transport protocol packet buffered for faster request section information acquisition and first start location information of a packet of the corresponding sequence number to obtain data can be managed with

즉, 서버는 패킷 위치정보를 통해 클라이언트로부터 요청된 시작 및 끝 패킷의 위치를 메모리 검색을 하지 않고, 관리 데이터로부터 직접적으로 획득하여 최단 및 최소 복잡도로 해당 메모리 위치에서 요청 패킷 정보를 획득할 수 있다. 예를 들어, 서버는 클라이언트로부터 실시간 전송 프로토콜 패킷 요청 정보 Start (SN#6) ~ End (SN#8)를 수신하는 경우 순서 번호별 패킷 위치 정보를 이용하여 메인 메모리 상에서의 해당 요청 패킷의 위치를 확정할 수 있다.That is, the server can obtain the requested packet information from the corresponding memory location with the shortest and minimum complexity by directly obtaining the location of the start and end packets requested from the client through the packet location information from the management data without performing a memory search. . For example, when the server receives the real-time transport protocol packet request information Start (SN#6) ~ End (SN#8) from the client, the server uses the packet location information for each sequence number to determine the location of the corresponding request packet in the main memory. can be confirmed

이에 따라, 서버는 확정된 메인 메모리 상에서의 시작과 끝 위치에 존재하는 정보를 획득하여 요청 패킷 데이터로 확정할 수 있으며, 확정된 요청 패킷 데이터를 클라이언트로 송신할 수 있다. 이때, 요청 패킷 데이터는 전술한 바와 같이 사용자 데이터그램 프로토콜(UDP) 방식으로 송신할 수 있으며, 다른 방법으로 TCP나 기타 방법을 사용할 수도 있다.Accordingly, the server may acquire information existing at the determined start and end positions on the main memory, determine it as the request packet data, and transmit the determined request packet data to the client. In this case, the request packet data may be transmitted using the user datagram protocol (UDP) method as described above, or TCP or other methods may be used as another method.

이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 본 발명의 기술사상과 아래에 기재될 특허청구범위의 균등범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.As described above, although the present invention has been described with reference to limited embodiments and drawings, the present invention is not limited thereto, and the technical idea of the present invention and the following by those skilled in the art to which the present invention pertains. Of course, various modifications and variations are possible within the scope of equivalents of the claims to be described.

20 : RTP 패킷 수신 처리부
21 : 패킷 검사 재정렬부
22 : 재정렬 패킷 요청부
23 : RTP 패킷 처리부
23 : RTP 캐싱 서버
20: RTP packet reception processing unit
21: packet inspection reordering unit
22: reordering packet request unit
23: RTP packet processing unit
23 : RTP caching server

Claims (16)

입력되는 실시간 전송 프로토콜 패킷의 순서를 검사하여 미정렬 구간을 검출하는 패킷 검사 재정렬부 및 미정렬 구간 검출 시 미정렬 구간의 실시간 전송 프로토콜 패킷을 요청하는 재정렬 패킷 요청부를 포함하는 클라이언트; 및
상기 클라이언트로부터 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기클라이언트로 송신하는 실시간 전송 프로토콜 캐싱 서버를 포함하고,
상기 재정렬 패킷 요청부는 상기 실시간 전송 프로토콜 캐싱 서버로부터 수신한 실시간 전송 프로토콜 패킷을 상기 패킷 검사 재정렬부로 전달하고,
상기 패킷 검사 재정렬부는 상기 전달된 실시간 전송 프로토콜 패킷을 미정렬 구간에 순서 번호대로 삽입하여 재정렬하고, 이후 입력되는 패킷에서 미정렬 구간에 삽입된 실시간 전송 프로토콜 패킷과 동일한 순서 번호를 갖는 중복되는 패킷을 제거하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
a client comprising: a packet inspection reordering unit detecting an unaligned section by inspecting the order of input real-time transport protocol packets, and a reordering packet requesting unit requesting a real-time transport protocol packet of the unaligned section when detecting an unaligned section; and
A real-time transport protocol caching server for transmitting a real-time transport protocol packet of an unaligned section requested from the client to the client,
The reordering packet request unit transmits the real-time transport protocol packet received from the real-time transport protocol caching server to the packet inspection reordering unit,
The packet inspection reordering unit inserts and rearranges the delivered real-time transport protocol packets in an unaligned section in order of order number, and in subsequent incoming packets, overlapping packets having the same sequence number as the real-time transport protocol packets inserted in the unsorted section Real-time transport protocol packet reordering system that removes.
청구항 1에 있어서,
상기 클라이언트는,
상기 입력되는 실시간 전송 프로토콜 패킷의 순서를 검사하여 미정렬 구간을 검출 하는 패킷 검사 재정렬부; 및
상기 패킷 검사 재정렬부에서 검출된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 실시간 전송 프로토콜 캐싱 서버로 요청하여 수신하는 재정렬 패킷 요청부를 포함하고,
상기 패킷 검사 재정렬부는 상기 재정렬 패킷 요청부로부터 수신된 미정렬 구간의 실시간 전송 프로토콜 패킷을 미정렬 구간에 순서 번호대로 삽입하여 재정렬하고, 미정렬 구간에 삽입된 실시간 전송 프로토콜 패킷과 중복되는 패킷을 제거하며,
상기 패킷 검사 재정렬부에서 재정렬된 실시간 전송 프로토콜 패킷의 순서 번호 재정렬 상태를 확인하여 출력하는 실시간 전송 프로토콜 패킷 처리부를 더 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
The method according to claim 1,
the client,
a packet inspection reordering unit for detecting an unaligned section by examining the order of the input real-time transport protocol packets; and
and a reordering packet requesting unit for requesting and receiving a real-time transport protocol packet of an unaligned section detected by the packet inspection reordering unit to the real-time transport protocol caching server,
The packet inspection reordering unit inserts and rearranges real-time transport protocol packets in the unaligned section received from the reordering packet requester in sequence numbers in the unaligned section, and removes packets that overlap with the real-time transport protocol packets inserted in the unaligned section and
The real-time transport protocol packet reordering system according to claim 1, further comprising a real-time transport protocol packet processing unit for checking and outputting sequence number reordering status of real-time transport protocol packets rearranged by the packet inspection reordering unit.
청구항 1에 있어서,
상기 실시간 전송 프로토콜 캐싱 서버는,
서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장하는 실시간 전송 프로토콜 서비스 스트림 버퍼링부;
클라이언트로부터 실시간 전송 프로토콜 패킷 요청정보를 수신하는 실시간 전송 프로토콜 패킷 요청정보 수신부;
상기 실시간 전송 프로토콜 패킷 요청정보 수신부에서 수신된 실시간 전송 프로토콜 패킷 요청정보를 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부에서 버퍼링된 버퍼링 정보 중에서 검색하여 위치를 확정하는 실시간 전송 프로토콜 패킷 위치 확정부;
상기 실시간 전송 프로토콜 패킷 위치 확정부에서 확정된 위치에서 검색된 실시간 전송 프로토콜 패킷을 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부로부터 획득하는 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부; 및
상기 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부에서 획득한 실시간 전송 프로토콜 패킷을 클라이언트로 송신하는 실시간 전송 프로토콜 패킷 송신부를 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
The method according to claim 1,
The real-time transport protocol caching server,
a real-time transport protocol service stream buffering unit for buffering a real-time transport protocol service stream transmitted from a service network and storing buffering information in a memory;
a real-time transport protocol packet request information receiver configured to receive real-time transport protocol packet request information from a client;
a real-time transport protocol packet position determining unit configured to determine a location by searching for the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiver from among the buffering information buffered by the real-time transport protocol service stream buffering unit;
a real-time transport protocol packet acquisition unit for client transmission that acquires, from the real-time transport protocol service stream buffering unit, the real-time transport protocol packet retrieved from the location determined by the real-time transport protocol packet position determining unit; and
and a real-time transport protocol packet transmitter configured to transmit the real-time transport protocol packet obtained by the real-time transport protocol packet acquisition unit for client transmission to the client.
청구항 3에 있어서,
상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부는 버퍼링 정보를 메인 메모리 또는 고속 메모리에 저장하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
4. The method according to claim 3,
The real-time transport protocol packet reordering system, wherein the real-time transport protocol service stream buffering unit stores buffering information in a main memory or a high-speed memory.
청구항 3에 있어서,
상기 실시간 전송 프로토콜 패킷 요청정보 수신부가 클라이언트로부터 수신하는 실시간 전송 프로토콜 패킷 요청정보는 패킷의 시작 순서번호와 끝 순서번호 정보를 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
4. The method according to claim 3,
The real-time transport protocol packet reordering system, characterized in that the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiver from the client includes information on a start sequence number and an end sequence number of the packet.
청구항 5에 있어서,
상기 실시간 전송 프로토콜 패킷 위치 확정부는 상기 실시간 전송 프로토콜 패킷 요청정보 수신부에서 수신한 실시간 전송 프로토콜 패킷 요청정보에 포함된 패킷의 시작 순서번호와 끝 순서번호 정보를 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부에서 버퍼링된 버퍼링 정보 중에서 검색하여 위치를 확정하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
6. The method of claim 5,
The real-time transport protocol packet position determining unit buffers the start sequence number and the end sequence number information of the packets included in the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiver in the real-time transport protocol service stream buffering unit. A real-time transport protocol packet reordering system, characterized in that the location is determined by searching among buffering information.
청구항 3에 있어서,
상기 실시간 전송 프로토콜 패킷 송신부는 클라이언트로 송신하는 실시간 전송 프로토콜 패킷을 사용자 데이터그램 프로토콜 방식으로 송신하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
4. The method according to claim 3,
The real-time transport protocol packet reordering system, characterized in that the real-time transport protocol packet transmitter transmits the real-time transport protocol packet to the client in a user datagram protocol method.
청구항 1에 있어서,
상기 실시간 전송 프로토콜 캐싱 서버는,
서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장하는 실시간 전송 프로토콜 서비스 스트림 버퍼링부;
상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부에서 버퍼링되어 메모리에 저장되는 실시간 전송 프로토콜 패킷의 위치정보를 생성하여 관리하는 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부;
클라이언트로부터 실시간 전송 프로토콜 패킷 요청정보를 수신하는 실시간 전송 프로토콜 패킷 요청정보 수신부;
상기 실시간 전송 프로토콜 패킷 요청정보 수신부에서 수신된 실시간 전송 프로토콜 패킷 요청정보에 따라 요청된 실시간 전송 프로토콜 패킷의 위치를 상기 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부로부터 획득하는 실시간 전송 프로토콜 패킷 위치 획득부;
상기 실시간 전송 프로토콜 패킷 위치 획득부에서 획득한 실시간 전송 프로토콜 패킷의 위치에 존재하는 실시간 전송 프로토콜 패킷을 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부로부터 획득하는 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부; 및
상기 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부에서 획득한 실시간 전송 프로토콜 패킷을 클라이언트로 송신하는 실시간 전송 프로토콜 패킷 송신부를 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
The method according to claim 1,
The real-time transport protocol caching server,
a real-time transport protocol service stream buffering unit for buffering a real-time transport protocol service stream transmitted from a service network and storing buffering information in a memory;
a real-time transport protocol packet location information data generation and management unit for generating and managing location information of real-time transport protocol packets buffered by the real-time transport protocol service stream buffering unit and stored in a memory;
a real-time transport protocol packet request information receiver configured to receive real-time transport protocol packet request information from a client;
a real-time transport protocol packet position acquisition unit for acquiring a location of a requested real-time transport protocol packet from the real-time transport protocol packet position information data generation and management unit according to the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiving unit;
a real-time transport protocol packet acquisition unit for client transmission that acquires, from the real-time transport protocol service stream buffering unit, a real-time transport protocol packet existing at a location of the real-time transport protocol packet acquired by the real-time transport protocol packet position acquisition unit; and
and a real-time transport protocol packet transmitter configured to transmit the real-time transport protocol packet obtained by the real-time transport protocol packet acquisition unit for client transmission to the client.
청구항 8에 있어서,
상기 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부에서 생성하는 실시간 전송 프로토콜 패킷의 위치정보는 실시간 전송 프로토콜 패킷의 순서번호 정보와 각 순서번호별 패킷의 위치정보를 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
9. The method of claim 8,
The real-time transport protocol packet location information generated by the real-time transport protocol packet location information data generation and management unit includes sequence number information of the real-time transport protocol packet and location information of the packets for each sequence number. system.
청구항 9에 있어서,
상기 각 순서번호별 패킷의 위치정보는 각 순서번호별 패킷의 처음 시작위치 정보를 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
10. The method of claim 9,
The real-time transport protocol packet reordering system, characterized in that the location information of the packet for each sequence number includes information on the first start location of the packet for each sequence number.
청구항 9에 있어서,
상기 실시간 전송 프로토콜 패킷 요청정보 수신부가 클라이언트로부터 수신하는 실시간 전송 프로토콜 패킷 요청정보는 패킷의 시작 순서번호와 끝 순서번호 정보를 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
10. The method of claim 9,
The real-time transport protocol packet reordering system, characterized in that the real-time transport protocol packet request information received by the real-time transport protocol packet request information receiver from the client includes information on a start sequence number and an end sequence number of the packet.
청구항 11에 있어서,
상기 실시간 전송 프로토콜 패킷 위치 획득부는 상기 실시간 전송 프로토콜 패킷 요청정보 수신부에서 수신된 실시간 전송 프로토콜 패킷 요청정보에 따라 요청된 실시간 전송 프로토콜 패킷의 시작 순서번호와 끝 순서번호에 해당하는 메모리 상의 위치를 상기 실시간 전송 프로토콜 패킷 위치정보 데이터 생성관리부로부터 획득하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
12. The method of claim 11,
The real-time transport protocol packet position acquisition unit determines the locations in the memory corresponding to the start sequence number and the end sequence number of the real-time transport protocol packet requested according to the real-time transport protocol packet request information received from the real-time transport protocol packet request information receiver in the real time A real-time transport protocol packet reordering system, characterized in that it is acquired from the transport protocol packet location information data generation and management unit.
청구항 12에 있어서,
상기 클라이언트 송신용 실시간 전송 프로토콜 패킷 획득부는 상기 실시간 전송 프로토콜 패킷 위치 획득부에서 획득한 실시간 전송 프로토콜 패킷의 시작 순서번호와 끝 순서번호에 해당하는 메모리 상의 위치에 존재하는 실시간 전송 프로토콜 패킷을 상기 실시간 전송 프로토콜 서비스 스트림 버퍼링부로부터 획득하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 시스템.
13. The method of claim 12,
The real-time transport protocol packet acquisition unit for client transmission transmits the real-time transport protocol packet existing at a location in the memory corresponding to the start sequence number and the end sequence number of the real-time transport protocol packet acquired by the real-time transport protocol packet position acquisition unit in the real-time A real-time transport protocol packet reordering system, characterized in that it is obtained from a protocol service stream buffering unit.
클라이언트는 패킷 검사 재정렬부를 통해 입력되는 실시간 전송 프로토콜 패킷의 순서를 검사하여 미정렬 구간을 검출하는 단계;
상기 클라이언트는 재정렬 패킷 요청부를 통해 미정렬 구간 검출 시 미정렬 구간의 실시간 전송 프로토콜 패킷을 요청하는 단계;
실시간 전송 프로토콜 캐싱 서버가 상기 클라이언트로부터 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 클라이언트의 상기 재정렬 패킷 요청부로 송신하는 단계;
상기 클라이언트의 상기 재정렬 패킷 요청부가 상기 실시간 전송 프로토콜 캐싱 서버로부터 수신한 실시간 전송 프로토콜 패킷을 상기 패킷 검사 재정렬부로 전달하는 단계;
상기 패킷 검사 재정렬부가 상기 전달된 실시간 전송 프로토콜 패킷을 미정렬 구간에 순서 번호대로 삽입하여 재정렬하는 단계; 및
상기 클라이언트는 이후 입력되는 패킷에서 미정렬 구간에 삽입된 실시간 전송 프로토콜 패킷과 동일한 순서 번호를 갖는 중복되는 패킷을 제거하는 단계를 포함하는 실시간 전송 프로토콜 패킷 재정렬 방법.
detecting, by the client, an unaligned section by examining the order of the real-time transport protocol packets input through the packet inspection reordering unit;
requesting, by the client, a real-time transport protocol packet of the unaligned section when the unaligned section is detected through the reordering packet requesting unit;
transmitting, by a real-time transport protocol caching server, a real-time transport protocol packet of an unaligned section requested from the client to the reordering packet request unit of the client;
transferring the real-time transport protocol packet received from the real-time transport protocol caching server by the reordering packet request unit of the client to the packet inspection reordering unit;
reordering, by the packet inspection reordering unit, by inserting the delivered real-time transport protocol packets in an unaligned section in sequence number; and
and removing, by the client, a duplicate packet having the same sequence number as that of a real-time transport protocol packet inserted in an unaligned section from a subsequent packet.
청구항 14에 있어서,
상기 실시간 전송 프로토콜 캐싱 서버가 상기 클라이언트로부터 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계는,
서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장하는 단계;
상기 클라이언트로부터 실시간 전송 프로토콜 패킷 요청정보를 수신하는 단계;
상기 수신된 실시간 전송 프로토콜 패킷 요청정보를 상기 버퍼링된 버퍼링 정보 중에서 검색하여 위치를 확정하는 단계;
상기 확정된 위치에서 검색된 실시간 전송 프로토콜 패킷을 획득하는 단계; 및
상기 획득된 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계를 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 방법.
15. The method of claim 14,
The step of the real-time transport protocol caching server transmitting the real-time transport protocol packet of the unaligned section requested from the client to the client,
Buffering a real-time transport protocol service stream transmitted from a service network and storing buffering information in a memory;
receiving real-time transport protocol packet request information from the client;
determining a location by searching for the received real-time transport protocol packet request information from among the buffered buffering information;
acquiring a real-time transport protocol packet retrieved from the determined location; and
and transmitting the obtained real-time transport protocol packet to the client.
청구항 14에 있어서,
상기 실시간 전송 프로토콜 캐싱 서버가 상기 클라이언트로부터 요청된 미정렬 구간의 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계는,
서비스 망으로부터 전송되는 실시간 전송 프로토콜 서비스 스트림을 버퍼링하여 버퍼링 정보를 메모리에 저장하는 단계;
버퍼링되어 메모리에 저장되는 실시간 전송 프로토콜 패킷의 위치정보를 생성하여 관리하는 단계;
상기 클라이언트로부터 실시간 전송 프로토콜 패킷 요청정보를 수신하는 단계;
상기 수신된 실시간 전송 프로토콜 패킷 요청정보에 따라 요청된 실시간 전송 프로토콜 패킷의 위치를 획득하는 단계;
상기 획득된 실시간 전송 프로토콜 패킷의 위치에 존재하는 실시간 전송 프로토콜 패킷을 획득하는 단계; 및
상기 획득된 실시간 전송 프로토콜 패킷을 상기 클라이언트로 송신하는 단계를 포함하는 것을 특징으로 하는 실시간 전송 프로토콜 패킷 재정렬 방법.
15. The method of claim 14,
The step of the real-time transport protocol caching server transmitting the real-time transport protocol packet of the unaligned section requested from the client to the client,
Buffering a real-time transport protocol service stream transmitted from a service network and storing buffering information in a memory;
generating and managing location information of real-time transport protocol packets that are buffered and stored in a memory;
receiving real-time transport protocol packet request information from the client;
acquiring a location of a requested real-time transport protocol packet according to the received real-time transport protocol packet request information;
acquiring a real-time transport protocol packet existing at the location of the acquired real-time transport protocol packet; and
and transmitting the obtained real-time transport protocol packet to the client.
KR1020200086521A 2020-07-14 2020-07-14 reordering system and method for realtime transport protocol packet KR102334877B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200086521A KR102334877B1 (en) 2020-07-14 2020-07-14 reordering system and method for realtime transport protocol packet

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200086521A KR102334877B1 (en) 2020-07-14 2020-07-14 reordering system and method for realtime transport protocol packet

Publications (1)

Publication Number Publication Date
KR102334877B1 true KR102334877B1 (en) 2021-12-03

Family

ID=78866464

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200086521A KR102334877B1 (en) 2020-07-14 2020-07-14 reordering system and method for realtime transport protocol packet

Country Status (1)

Country Link
KR (1) KR102334877B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050113618A (en) * 2003-02-28 2005-12-02 소니 가부시끼 가이샤 Transmission/reception system, transmitting device and method, and receiving device and method
KR20090116700A (en) * 2007-01-09 2009-11-11 티디에프 Method for the real-time transmission/reception of data in packets between a server and a client terminal, corresponding server and terminal
KR101578047B1 (en) 2010-01-13 2015-12-17 삼성전자 주식회사 Apparatus and method to reorder data packets in a communication system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050113618A (en) * 2003-02-28 2005-12-02 소니 가부시끼 가이샤 Transmission/reception system, transmitting device and method, and receiving device and method
KR20090116700A (en) * 2007-01-09 2009-11-11 티디에프 Method for the real-time transmission/reception of data in packets between a server and a client terminal, corresponding server and terminal
KR101578047B1 (en) 2010-01-13 2015-12-17 삼성전자 주식회사 Apparatus and method to reorder data packets in a communication system

Similar Documents

Publication Publication Date Title
EP2383941B1 (en) Client terminal, method and system for downloading streaming media
US8078744B2 (en) Communication method and apparatus using hypertext transfer protocol
US8031734B2 (en) System, method and computer program for in-place, lightweight ack promotion in network environment
US7734806B2 (en) Compatible progressive download method and system
US20220030040A1 (en) Set-Up of Media Stream Transmission and Server and Client for Media Stream Transmission
US20170161377A1 (en) Methods and apparatus to process call packets collected in a communications network
KR20080068690A (en) Method and apparatus for rtp egress streaming using complementrary directing file
KR100798926B1 (en) Apparatus and method for forwarding packet in packet switch system
JP2004180127A (en) Communication equipment, and transmitter and receiver
US20060174058A1 (en) Recirculation buffer for semantic processor
CN110830460B (en) Connection establishing method and device, electronic equipment and storage medium
US11153360B2 (en) Methods and systems for codec detection in video streams
KR101163770B1 (en) Method for processing a sequence of data packets in a receiver apparatus, as well as a receiver apparatus
US8068515B2 (en) Faster multimedia synchronization of broadcast streams using router caching of RTCP packets
CN107888710A (en) A kind of message forwarding method and device
KR102334877B1 (en) reordering system and method for realtime transport protocol packet
CN109951425A (en) TCP flow state integrity detection method based on FPGA
CN113364790B (en) Data transmission method and device
CN108200481B (en) RTP-PS stream processing method, device, equipment and storage medium
US7466654B1 (en) Method of detecting intermediary communication device
KR20160123562A (en) Receiver for processing data packet and data packet processing method of receiver
KR100847168B1 (en) Apparatus and method for rearranging packet sequence for processing jitter in network based on udp/rtp
US20240137431A1 (en) Packet sorting and reassembly circuit module
CN114978437B (en) Data compensation system, method, electronic equipment and storage medium
JP2011249922A (en) Network device, tcp packet receiver and method

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant