KR20070098169A - Method for transmission data for multicast based network, method for processing data and data transmission system - Google Patents

Method for transmission data for multicast based network, method for processing data and data transmission system Download PDF

Info

Publication number
KR20070098169A
KR20070098169A KR1020060029480A KR20060029480A KR20070098169A KR 20070098169 A KR20070098169 A KR 20070098169A KR 1020060029480 A KR1020060029480 A KR 1020060029480A KR 20060029480 A KR20060029480 A KR 20060029480A KR 20070098169 A KR20070098169 A KR 20070098169A
Authority
KR
South Korea
Prior art keywords
data packet
node
fec
loss
data
Prior art date
Application number
KR1020060029480A
Other languages
Korean (ko)
Other versions
KR100792153B1 (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 KR1020060029480A priority Critical patent/KR100792153B1/en
Publication of KR20070098169A publication Critical patent/KR20070098169A/en
Application granted granted Critical
Publication of KR100792153B1 publication Critical patent/KR100792153B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer

Abstract

A method for transmitting data for a multicast-based network, a method for processing the data, and a system for transmitting the data are provided to prevent unnecessary time delay by not requiring a retransmission process due to loss of data. A method for transmitting data for a multicast-based network includes the steps of: generating a data packet encoded with an FEC(Forwarding Equivalence Classes) method by a transmitter mode(S1); transmitting the encoded data packet(S2); grasping the loss of the data packet generated on each received path of relay nodes installed on a transmission path of the transmitted data packet(S4); restoring the loss when restoration is needed(S6); transmitting the restored data packet to a child node of the relay node(S8); and receiving the data packet transmitted by the relay node corresponding to a parent node of one of the relay nodes.

Description

멀티캐스트 기반 네트워크에서의 데이터 전송 방법, 데이터 처리 방법 및 데이터 전송 시스템 {Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System}Data transmission method, data processing method and data transmission system in a multicast-based network {Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System}

도 1ㅇ은 본 발명의 바람직한 제 1 실시예에 따른 데이터 전송 방법이 적용될 수 있는 멀티캐스트 기반 네트워크의 구성을 도시하는 구성도이다.FIG. 1 is a block diagram showing a configuration of a multicast-based network to which a data transmission method according to the first embodiment of the present invention can be applied.

도 2는 본 발명의 바람직한 제 1 실시예에 따른 멀티캐스트 기반 네트워크에서의 데이터 전송 방법의 동작 흐름을 도시하는 흐름도이다.2 is a flowchart illustrating an operation flow of a data transmission method in a multicast-based network according to a first preferred embodiment of the present invention.

도 3은 도 1에 도시된 오버레이 트리에서 송신자 노드 A에서 송신되는 전송 패킷이, 중계자 노드 B3, 중계자 노드 B7을 거쳐 수신자 노드 C6로 전송되는 경로를 보여주는 예시도이다.FIG. 3 is an exemplary view showing a path in which a transport packet transmitted from a transmitter node A in the overlay tree shown in FIG. 1 is transmitted to a receiver node C6 via a relay node B3 and a relay node B7.

도 4는 본 발명의 제 2 실시예에 따른 멀티캐스트 네트워크의 구성을 도시하는 구성도이다.4 is a configuration diagram showing a configuration of a multicast network according to a second embodiment of the present invention.

<도면의 주요 부분에 대한 부호 설명><Description of the symbols for the main parts of the drawings>

A : 송신자 노드A: sender node

B1, B2, B3, B4, B5, B6 및 B7 : 중계자 노드B1, B2, B3, B4, B5, B6, and B7: relay node

C1, C2, C3, C4, C5, C6, C7 및 C8 : 수신자 노드Recipient node: C1, C2, C3, C4, C5, C6, C7 and C8

본 발명은 멀티캐스트 기반 네트워크에서의 데이터 전송 방법, 데이터 처리 방법 및 데이터 전송 시스템에 관한 것으로, 좀더 상세하게는, 송신자 노드와 수신자 노드 사이에 존재하는 각각의 중계자 노드가 자신의 수신 경로에서 발생하는 데이터 패킷의 손실 정도를 판별하여 능동적으로 복구할 수 있도록 하는 멀티캐스트 기반 네트워크에서의 데이터 전송 방법과, 그와 관련된 데이터 처리 방법 및 데이터 전송 시스템에 관한 것이다.The present invention relates to a data transmission method, a data processing method, and a data transmission system in a multicast-based network, and more particularly, each relay node existing between a sender node and a receiver node occurs in its own reception path. The present invention relates to a data transmission method in a multicast-based network for determining the loss of data packets and actively recovering the data packet, and a data processing method and a data transmission system related thereto.

일반적으로, 멀티캐스트(Multicast) 전송 방식은 네트워크상에서 동일한 데이터 패킷을 둘 이상의 서로 다른 수신자에게 동시에 전송하는 방식으로서, 하나의 특정한 수신자에게만 데이터 패킷을 전송하는 유니캐스트(Unicast) 전송 방식과 대치되는 개념이라고 볼 수 있다.In general, a multicast transmission method is a method of simultaneously transmitting the same data packet to two or more different receivers on a network, and is a concept that is opposed to a unicast transmission method of transmitting a data packet to only one specific receiver. It can be seen.

이러한 멀티캐스트 전송 방식은 그룹 통신이 필요한 네트워크 서비스에 적합한 전송 방식이다. 왜냐하면, 유니캐스트 전송 방식에서는, 상기 그룹 통신을 위하여 다수의 수신자들에게 데이터를 전송하고자 할 경우, 동일한 데이터 패킷을 각각의 수신자들에게 반복적으로 전송하여야 하며, 이러한 동일한 데이터 패킷의 중복 전송은 네트워크 효율의 저하를 가져오기 때문이다. 이러한 문제는 수신자의 수가 증가될 경우 더욱 부각되게 된다.This multicast transmission method is a transmission method suitable for a network service requiring group communication. In the unicast transmission scheme, when data is transmitted to a plurality of receivers for the group communication, the same data packet must be repeatedly transmitted to each receiver, and the redundant transmission of the same data packet is a network efficiency. This is because of the degradation of. This problem becomes more prominent when the number of recipients increases.

반면, 멀티캐스트 전송 방식은 앞서도 언급했듯이, 다수의 수신자에게 동시에 데이터 패킷을 전송하므로, 데이터의 중복 전송으로 인한 네트워크 자원의 낭비를 최소화할 수 있다.On the other hand, as mentioned above, since the multicast transmission method transmits data packets to a plurality of receivers at the same time, it is possible to minimize waste of network resources due to redundant transmission of data.

따라서, 멀티캐스트 전송 방식은 그룹 통신이 필요한 디지털 멀티미디어 서비스들, 예를 들면, 아이피티브이(IPTV : Internet Protocol Television), 뉴스피드(News Feed), 인터넷 화상 회의, 온라인 게임, 주문형 비디오 서비스(VoD : Video on Demand), 디지털 비디오 방송(DVB : Digital Video Broadcasting) 등에서 주로 사용되고 있다. 특히, 다자간 화상회의와 같은 대화형 서비스에 있어서는 음성 및 화상 데이터의 실시간 전송이 필요하므로, 동시에 여러 명이 데이터를 주고받을 수 있는 멀티캐스트 전송 방식이 필수적으로 요구되고 있다.Therefore, the multicast transmission method is a digital multimedia service that requires group communication, for example, IPTV (Internet Protocol Television), News Feed (News Feed), Internet video conferencing, online games, video on demand (VoD) It is mainly used in Video on Demand (DVB) and Digital Video Broadcasting (DVB). In particular, in an interactive service such as multi-party video conferencing, real-time transmission of voice and video data is required. Therefore, a multicast transmission method capable of simultaneously transmitting and receiving data is required.

멀티캐스트 전송 방식의 인터넷적용에 있어서, 일반적인 유니캐스트 전송 방식과 다른 점은 우선 그 전송 패킷에 있다. TCP/IP(Transport Control Protocol/ Internet Protocol)상의 인터넷 응용 프로그램은 데이터의 송신자가 이를 수신할 수신자의 인터넷 주소를 전송 패킷의 헤더에 표시하여 패킷을 전송한다. 그러나 멀티캐스트 전송을 위해서는 패킷의 헤더에 수신자의 주소 대신 수신자들이 참여하고 있는 그룹 주소를 표시하여 패킷을 전송한다. 예를 들면, 멀티캐스트 전송을 위한 그룹 주소는 D-class IP 주소 (224.0.0.0??239.255.255.255)로서, 고유한 인터넷 호스트를 나타내는 A, B, C-class IP 주소와는 달리 실제의 호스트를 나타내는 주소가 아니며, 그룹 주소를 갖는 멀티캐스트 패킷을 전송받은 수신자는 자신이 그 패킷의 그룹에 속해있는 가를 판단해 패킷의 수용여부를 결정하게 되는 것이다.In the Internet application of the multicast transmission method, the difference from the general unicast transmission method is in the transmission packet. Internet applications on the Transport Control Protocol / Internet Protocol (TCP / IP) send packets by indicating in the header of the transport packet the sender of the data indicates the recipient's Internet address. However, for multicast transmission, the packet is transmitted by indicating the group address of the receiver in the header of the packet instead of the recipient's address. For example, the group address for multicast transmission is a D-class IP address (224.0.0.0??239.255.255.255), which is a real host unlike the A, B, and C-class IP addresses that represent unique Internet hosts. The receiver receiving the multicast packet having the group address decides whether the packet belongs to the group of the packet or not.

한편, 신뢰성 있는 멀티캐스트 전송을 실현하기 위한 프로토콜로서 RMTP(Reliable Multicast Transport Protocol)가 제안되어 있다. 상기 RMTP에서는 응답 문자(ACK : ACKnowledged, 이하 ACK로 약칭)를 이용하여 데이터 전송의 신뢰성을 제공하고자 한다. 즉, 송신자는 각 수신자들에게 데이터를 전송한 뒤, 각 수신자들로부터의 ACK 메시지를 수신하여 전송 데이터의 손실 여부를 확인한다. 그리고, 데이터의 손실이 발생했을 경우 송신자는 해당 데이터를 재전송해 준다.On the other hand, RMTP (Reliable Multicast Transport Protocol) has been proposed as a protocol for realizing reliable multicast transmission. The RMTP attempts to provide reliability of data transmission using a response character (ACK: ACKnowledged, hereinafter abbreviated as ACK). That is, the sender transmits data to each receiver and then receives an ACK message from each receiver to confirm whether the transmission data is lost. If a data loss occurs, the sender retransmits the data.

그런데, 이러한 경우 ACK 메시지의 잦은 전송으로 인한 ACK 범람(ACK Flooding)이 발생할 확률이 매우 높으며, 데이터의 재전송으로 인하여 실시간성이 저하되는 문제가 있다.However, in this case, there is a high probability of ACK flooding due to frequent transmission of the ACK message, and there is a problem in that real time deteriorates due to retransmission of data.

따라서, 이러한 RMTP를 개선하여 오류 정정 부호(FEC : Forward Error Correction, 이하 FEC로 약칭) 기법 또는 부정 응답메시지(NACK : Negative ACKnowledged, 이하 NACK로 약칭)에 기반 한 자동 재전송요구(ARQ : Automatic Repeat Request, 이하 ARQ로 약칭) 기법을 선택적인 옵션으로 채택한 RMTP II가 제안되었다. 상기 RMTP II는 IETF internet Draft(Brian Whetten, et. al., 'The RMTP II Protocol, IETF Draft-Whetten-rmtp-ii-00.txt. April, 8, 1999.)에 상세히 개시되어 있다.Therefore, by improving the RMTP, an Automatic Repeat Request (ARQ: Automatic Repeat Request) based on an Error Correction Code (FEC) or Negative ACKnowledged (NACK) RMTP II is proposed as an optional option. The RMTP II is described in detail in IETF internet Draft (Brian Whetten, et. Al., 'The RMTP II Protocol, IETF Draft-Whetten-rmtp-ii-00.txt. April, 8, 1999.).

상기 NACK 기반의 ARQ 기법이란 수신된 데이터에 손실이 있을 경우 수신자가 NACK 메시지를 통하여 전송 에러가 발생하였음을 송신자에게 통보함으로써 자동으로 해당 데이터의 재전송을 요청하는 기법이다. 그러나, 이러한 NACK 기반의 ARQ 기법은 데이터 손실에 따른 재전송 동작이 반드시 요구되므로, 재전송에 의한 시간 지연의 발생한다. 따라서 데이터 전송 속도가 저하되어 멀티캐스트 전송의 중요한 특성 중 하나인 실시간 전송에 부적합한 문제가 있다.The NACK-based ARQ technique is a technique for automatically requesting retransmission of data by notifying the sender that a transmission error has occurred through a NACK message when there is a loss in the received data. However, since the NACK-based ARQ scheme requires a retransmission operation due to data loss, a time delay due to retransmission occurs. Therefore, there is a problem that the data transmission rate is lowered, which is not suitable for real time transmission, which is one of the important characteristics of multicast transmission.

또한, FEC 기법은 데이터의 손실 시에 수신자 측에서 그 손실을 복구할 수 있도록 데이터를 중복시켜 FEC 블록으로 인코딩하여 전송하는 기법이다. 즉, 최초의 송신자가 데이터 패킷과 중복 패킷이 포함된 패킷을 송신하면, 최종적으로 데이터를 수신한 수신자가 패킷의 손실 여부를 판단하여 손실분을 복구하는 것이다. 따라서 FEC 기법은 수신자 측에서 능동적으로 손실에 대처할 수 있는 순방향 에러 복구 기법이라 할 수 있다.In addition, the FEC technique is a technique for transmitting the data is encoded in the FEC block by overlapping the data so that the receiver can recover the loss in the case of data loss. That is, when the first sender transmits a packet including a data packet and a duplicate packet, the receiver who finally receives the data determines whether the packet is lost and recovers the loss. Therefore, the FEC technique is a forward error recovery technique that can actively cope with the loss on the receiver side.

그런데, 이러한 FEC 기법의 경우 실시간 전송에는 적합하나, 중복된 데이터의 전송으로 인하여 필요 이상의 네트워크 대역폭을 필요로 한다는 점이 문제가 된다.However, the FEC scheme is suitable for real time transmission, but requires a network bandwidth more than necessary due to transmission of duplicate data.

이에 따라, FEC 기법의 과다한 대역폭 점유의 문제를 극복하고자 동적 FEC 기법 등이 제안되어, 중복되는 데이터의 양을 줄이는 노력이 시도되었다. 그러나, 이러한 동적 FEC 기법을 멀티캐스트 네트워크에 적용하더라도 전체 네트워크의 측면에서는 대역폭이 변하는 양이 그리 크지 않으며, 중복되는 데이터양을 초과한 패킷의 손실에 대해서는 복구가 전혀 불가능한 문제점이 존재한다.Accordingly, in order to overcome the problem of excessive bandwidth occupancy of the FEC scheme, a dynamic FEC scheme and the like have been proposed, and efforts have been made to reduce the amount of redundant data. However, even if the dynamic FEC technique is applied to a multicast network, the amount of bandwidth change is not so large in terms of the entire network, and there is a problem that recovery is not possible at all for loss of packets exceeding the amount of overlapping data.

또한, 네트워크에서 패킷의 손실 및 에러를 발생시키는 위치가 보통 특정 라우터에 집중되어 있다는 점을 감안하면, 최초 송신자에서 최종 수신자까지의 전체 경로에 동일한 에러 복구 율을 적용한다는 것은 한정된 네트워크 자원을 고려할 때 불필요한 낭비일 수도 있다.Also, given that the location of packet loss and error in the network is usually concentrated in a particular router, applying the same error recovery rate across the entire path from the original sender to the final receiver, given limited network resources It may be unnecessary waste.

본 발명은 이러한 문제점을 해결하기 위한 것으로, 멀티캐스트 기반 네트워크에서 각각의 통신노드가 FEC 블록의 손실 점검을 수행하고 손실 발생 시에는 손실을 복구하여 전송할 수 있도록 함으로써, 데이터 전송의 실시간성과 서비스 품질을 동시에 만족시킬 수 있도록 하는 멀티캐스트 기반 네트워크에서의 데이터 전송 방법을 제공하는데 본 발명의 제 1 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve this problem. In the multicast-based network, each communication node performs loss check of the FEC block and recovers the loss when the loss occurs, thereby improving the real-time and service quality of the data transmission. It is a first object of the present invention to provide a data transmission method in a multicast-based network that can be satisfied at the same time.

또한, 송신자 노드와 수신자 노드간의 데이터 전송을 중계하는 중계자 노드에 적용될 수 있는 데이터 처리 방법을 제공하는데 본 발명의 제 2 목적이 있다.Another object of the present invention is to provide a data processing method that can be applied to a relay node which relays data transmission between a sender node and a receiver node.

또한, 송신자 노드와 수신자 노드간의 데이터 전송 경로에 구비된 중계자 노드를 이용하여 데이터 패킷의 손실 판별 및 복구를 수행할 수 있도록 하는 멀티캐스트 데이터 전송 시스템을 제공하는데 본 발명의 제 3 목적이 있다.In addition, a third object of the present invention is to provide a multicast data transmission system capable of performing loss determination and recovery of a data packet using a relay node provided in a data transmission path between a sender node and a receiver node.

이러한 본 발명의 제 1 목적을 달성하기 위한 본 발명에 따른 멀티캐스트 네트워크에서의 데이터 전송 방법은, 송신자 노드가 FEC 인코딩된 데이터 패킷을 생성하여 송신하는 단계와; 상기 송신된 데이터 패킷의 전송 경로에 계층적으로 구비된 중계자 노드들이 각자 자신의 수신 경로에서 발생된 데이터 패킷의 손실 정도를 파악하여, 복구가 필요할 경우 상기 손실을 복구한 뒤, 자신의 자식 노드로 송신하 는 단계; 및 수신자 노드가 상기 중계자 노드 중 자신의 부모 노드에 해당하는 중계자 노드에 의하여 송신된 데이터 패킷을 수신하는 단계를 포함한다. 이때, 상기 송신자 노드에 의하여 송신되는 데이터 패킷은 상기 FEC 인코딩에 의하여 생성된 h개의 중복 패킷 및 k개의 FEC 데이터 패킷으로 구성될 수 있다.A data transmission method in a multicast network according to the present invention for achieving the first object of the present invention comprises the steps of: generating and transmitting an FEC encoded data packet by a sender node; The relay nodes hierarchically provided in the transmission path of the transmitted data packet grasp the degree of loss of the data packet generated in their own reception path, and if the recovery is necessary, recover the loss and then return to the child node. Transmitting; And a receiver node receiving a data packet transmitted by a relay node corresponding to its parent node among the relay nodes. In this case, the data packet transmitted by the sender node may consist of h duplicate packets and k FEC data packets generated by the FEC encoding.

상기 중계자 노드는 자신에게 수신된 데이터 패킷의 손실 정도가 허용 기준 이상인지를 판단하고, 상기 판단 결과 허용 기준 이상이면 상기 수신된 데이터 패킷을 FEC 디코딩하여 상기 손실을 복구한 뒤 FEC 인코딩하여 상기 자신의 자식 노드로 전송하고, 상기 판단 결과 혀용 기준 이하이면 상기 수신된 데이터 패킷을 상기 자신의 자식 노드로 전송한다.The relay node determines whether the loss of the data packet received by the relay node is greater than or equal to the acceptance criterion, and if the determination result is greater than or equal to the acceptance criterion, the relay node performs FEC decoding on the received data packet to recover the loss, and then performs FEC encoding to recover the loss. If the determination result is less than the acceptance criteria, the received data packet is transmitted to the child node.

또한, 상기 중계자 노드는 자신에게 수신된 데이터 패킷의 손실 정보를 상기 데이터 패킷을 송신한 부모 노드로 피드백할 수 있다. 이때, 상기 부모 노드는 상기 피드백된 데이터 패킷 손실 정보를 고려하여, 데이터 패킷의 FEC 데이터 패킷 및 중복 패킷의 조합비가 변경되도록 FEC 인코딩을 수행한 뒤, 상기 중계자 노드로 송신한다. 여기서 상기 FEC 데이터 패킷 및 중복 패킷의 조합비는 에러복구율이 패킷손실율보다 크도록 결정될 수 있다.In addition, the relay node may feed back the loss information of the data packet received to the parent node to which the data packet is transmitted. In this case, the parent node performs FEC encoding so that the combination ratio of the FEC data packet and the duplicate packet of the data packet is changed in consideration of the feedback data packet loss information, and then transmits it to the relay node. Here, the combination ratio of the FEC data packet and the duplicate packet may be determined such that the error recovery rate is greater than the packet loss rate.

한편, 상술한 본 발명의 제 2 목적을 달성하기 위한 본 발명에 따른 데이터 처리 방법은, 송신자 노드와 수신자 노드 사이에서 데이터 패킷을 중계하기 위하여 적어도 하나 이상 계층적으로 구비된 중계자 노드의 데이터 처리 방법에 있어서, 상기 송신자 노드 및 상위 계층 중계자 노드 중 어느 하나로부터 FEC 인코딩된 데이터 패킷을 수신하는 단계와; 상기 수신된 데이터 패킷의 손실이 허용 기준 이상 인지를 판별하는 단계; 및 상기 판별 결과 허용 기준 이상의 손실이 발생하였을 경우 상기 손실을 복구하여 상기 수신자 노드 및 하위 계층 중계자 노드 중 어느 하나로 송신하고, 상기 판별 결과 데이터 패킷의 손실이 발생하지 않았을 경우 상기 수신된 데이터 패킷을 상기 수신자 노드 및 상기 하위 계층 중계자 노드 중 어느 하나로 송신하는 단계를 포함한다.On the other hand, the data processing method according to the present invention for achieving the above-described second object of the present invention, the data processing method of the relay node provided at least one or more hierarchically to relay the data packet between the sender node and the receiver node. A method comprising: receiving an FEC encoded data packet from one of the sender node and a higher layer relay node; Determining whether a loss of the received data packet is above a tolerance criterion; And recovering the loss and transmitting the loss to any one of the receiver node and the lower layer relay node when the loss is higher than the acceptance criteria, and if the loss of the data packet does not occur, the received data packet. Transmitting to either a receiver node or the lower layer relay node.

상기 송신 단계는 상기 판별 결과 허용 기준 이상일 경우 상기 수신된 데이터 패킷을 FEC 디코딩 하여 상기 손실된 부분을 복구하는 단계; 및 상기 복구된 데이터를 소정의 조합비를 갖는 FEC 데이터 패킷 및 중복 패킷으로 FEC 인코딩하는 단계를 포함할 수 있다. 이때, 상기 FEC 데이터 패킷 및 중복 패킷의 조합비는 패킷손실율보다 큰 에러복구율을 갖도록 정해질 수 있다.The transmitting may include recovering the lost part by FEC decoding the received data packet when the determination result is equal to or greater than an acceptance criterion; And FEC encoding the recovered data into an FEC data packet having a predetermined combination ratio and a duplicate packet. In this case, the combination ratio of the FEC data packet and the duplicate packet may be determined to have an error recovery rate greater than the packet loss rate.

한편, 상술한 본 발명의 제 3 목적을 달성하기 위한 본 발명에 따른 멀티캐스트 데이터 전송 시스템은, FEC 인코딩된 데이터 패킷을 송신하는 송신자 노드와; 상기 송신된 데이터 패킷을 중계하는 적어도 하나의 중계자 노드; 및 상기 중계자 노드로부터 전송되는 데이터 패킷을 수신하는 수신자 노드가 계층적인 구조를 이루며, 상기 중계자 노드는 자신의 부모 노드로부터 수신되는 상기 FEC 인코딩된 데이터 패킷의 손실 정도를 파악하여, 복구가 필요할 경우 상기 손실을 복구한 뒤 자신의 자식 노드로 전송하고, 복구가 필요 없을 경우 상기 수신된 FEC 인코딩된 데이터 패킷을 상기 자신의 자식 노드로 송신하는 특징을 가진다.On the other hand, the multicast data transmission system according to the present invention for achieving the above-described third object of the present invention, the sender node for transmitting the FEC encoded data packet; At least one relay node for relaying the transmitted data packet; And a receiver node receiving a data packet transmitted from the relay node forms a hierarchical structure, and the relay node determines a loss degree of the FEC encoded data packet received from its parent node and recovers it when necessary. It recovers the loss and transmits it to its own child node, and if the recovery is not necessary, transmits the received FEC encoded data packet to the child node.

상기 중계자 노드는 상기 수신된 FEC 인코딩된 데이터 패킷의 손실 정도를 허용 기준과 비교하고, 상기 비교결과 허용 기준 이상이면 상기 FEC 인코딩된 데이 터 패킷을 FEC 디코딩하여 손실을 복구한 뒤, 다시 FEC 인코딩한다.The relay node compares the loss degree of the received FEC encoded data packet with an allowance criterion, and if the comparison result is equal to or greater than the allowance criterion, FEC decodes the FEC encoded data packet to recover the loss, and then performs FEC encoding. .

상기 중계자 노드는 정보 단말기일 수 있으며, 이 경우 상기 FEC 인코딩 및 FEC 디코딩은 상기 정보 단말기의 어플리케이션 계층에서 수행될 수 있다. 또한, 상기 중계자 노드는 라우터일 수도 있은데, 이 경우 상기 FEC 인코딩 및 FEC 디코딩은 상기 라우터에 구비되는 FEC 계층에 의하여 수행될 수 있다.The relay node may be an information terminal, in which case the FEC encoding and FEC decoding may be performed at an application layer of the information terminal. In addition, the relay node may be a router. In this case, the FEC encoding and the FEC decoding may be performed by an FEC layer provided in the router.

이하, 본 발명이 속하는 분야에 통상의 지식을 가진자가 본 발명을 용이하게 실시할 수 있도록 본 발명의 바람직한 실시예를 첨부된 도면을 참조하여 상세히 설명한다. 또한, 도면에 예시된 본 발명의 바람직한 실시예를 설명함에 있어서 내용의 명료성을 위하여 특정한 기술 용어를 사용한다. 하지만, 본 발명은 이와 같은 선택된 특정 용어에 한정되지 않으며, 각각의 특정 용어가 유사한 목적을 달성하기 위하여 유사한 방식으로 동작하는 모든 기술 동의어를 포함함을 밝혀둔다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. In addition, in describing the preferred embodiment of the present invention illustrated in the drawings, specific technical terms are used for clarity of content. However, it is to be understood that the invention is not limited to these specific selected terms, and that each specific term includes all technical synonyms that operate in a similar manner to achieve a similar purpose.

<실시예 1><Example 1>

도 1은 본 발명의 바람직한 제 1 실시예에 따른 데이터 전송 방법이 적용될 수 있는 멀티캐스트 기반 네트워크의 구성을 도시하는 구성도로서, 데이터를 전송하기 위한 세션에 의해서 형성된 오버레이 멀티캐스트 트리의 구성을 보여주고 있다.1 is a block diagram showing a configuration of a multicast-based network to which a data transmission method according to a first embodiment of the present invention can be applied, and shows a configuration of an overlay multicast tree formed by a session for transmitting data. Giving.

먼저, 도 1의 참조에 앞서, 본 발명의 바람직한 제 1 실시예에 따른 데이터 전송 방법이 용이하게 적용될 수 있는 오버레이(Overlay) 멀티캐스트에 대하여 개 략적으로 설명한다.First, prior to referring to FIG. 1, an overlay multicast to which the data transmission method according to the first exemplary embodiment of the present invention can be easily applied will be described.

오버레이 멀티캐스트란 현재의 유니캐스트 기반의 인터넷 망을 이용하여 멀티캐스트 전송을 수행할 수 있도록 하는 것으로, 애플리케이션 계층(Application Layer)과 같은 상위계층에서의 멀티캐스트 전송 방식을 의미한다. 예를 들면, 오버레이 멀티캐스트에서는 현재의 유니캐스트 기반 인터넷 망에 존재하는 다수의 통신 노드들을 송신자, 중계자 및 수신자로 구분된 논리 적인 트리 구조로 구성한 다음, 송신자가 중계자의 중계를 통하여 수신자들에게 패킷을 전송할 수 있도록 한다.Overlay multicast is to enable multicast transmission using the current unicast-based Internet network, and refers to a multicast transmission scheme at a higher layer such as an application layer. For example, in overlay multicast, a plurality of communication nodes existing in the current unicast-based Internet network are formed into a logical tree structure divided into senders, relays, and receivers, and then the sender sends packets to the receivers through relays of the relays. To transmit the data.

이러한 오버레이 멀티캐스트 전송 기술을 이용하면 별도의 멀티캐스트 네트워크를 하드웨어적으로 구축하지 않더라도 유니캐스트 네트워크를 이용하여 소프트웨어적으로 멀티캐스트 응용 서비스를 제공할 수 있다.Using this overlay multicast transmission technology, a multicast application service can be provided in software using a unicast network even without a separate multicast network.

도 1을 참조하면, 멀티캐스트를 통한 데이터의 전송을 위해서 네트워크상에는 송신자 노드(A)와 복수의 수신자 노드(C1~C8)들을 연결하는 오버레이 트리가 구성된다. 이때 송신자 노드(A)와 수신자 노드(C1~C8)들 사이에는 데이터의 중계를 위하여 중계자 노드(B1~B7)가 계층적으로 형성된다.Referring to FIG. 1, an overlay tree for connecting a sender node A and a plurality of receiver nodes C1 to C8 is configured on a network for data transmission through multicast. At this time, between the sender node A and the receiver nodes C1 to C8, relay nodes B1 to B7 are hierarchically formed for data relay.

이때, 상기 노드들(A, B1~B7, C1~C8)은 상위 어플리케이션 계층에서 동작하는 정보 단말기를 의미할 수 있다. 즉, 오버레이 트리는 정보 단말기 간을 논리적으로 연결하는 트리를 의미한다. 이러한 오버레이 트리는 멀티캐스트 네트워크에서의 라우팅 트리에 대응되는 것이다. 단지, 멀티캐스트 네트워크에서는 중계자 노드가 라우터인데 비하여, 오버레이 멀티캐스트 네트워크에서는 그 각각의 노드가 정보 단말기라는 차이가 있다.In this case, the nodes A, B1 to B7, and C1 to C8 may refer to information terminals operating in an upper application layer. In other words, the overlay tree refers to a tree that logically connects information terminals. This overlay tree corresponds to the routing tree in the multicast network. In the multicast network, the relay node is a router, whereas in the overlay multicast network, each node is an information terminal.

상기 중계자 노드(B1~B7)는 자신의 자식 노드, 예를 들면 다른 중계자 노드 또는 수신자 노드(C1~C8)를 가질 수 있는 노드로써, 네트워크에 별도로 설치된 서버일 수도 있으며, 또는 통신 가능한 단말기에 소프트웨어 형태로 구현될 수도 있다. 이러한 중계자 노드(B1~B7)는 송신자 노드(A) 또는 상위의 중계자 노드로부터 데이터를 수신하여 자식 노드로 데이터를 중계하는 역할을 수행한다.The relay nodes B1 to B7 are nodes that may have their own child nodes, for example, other relay nodes or receiver nodes C1 to C8, and may be servers separately installed in a network, or may be software in communication terminals. It may be implemented in the form. The relay nodes B1 to B7 receive data from the sender node A or higher relay nodes and relay data to child nodes.

도 2는 본 발명의 바람직한 제 1 실시예에 따른 멀티캐스트 기반 네트워크에서의 데이터 전송 방법의 동작 흐름을 도시하는 흐름도이다.2 is a flowchart illustrating an operation flow of a data transmission method in a multicast-based network according to a first preferred embodiment of the present invention.

또한, 도 3은 도 1에 도시된 오버레이 트리에서 송신자 노드 A에서 송신되는 전송 패킷이, 중계자 노드 B3, 중계자 노드 B7을 거쳐 수신자 노드 C6로 전송되는 경로를 보여주고 있다.In addition, FIG. 3 illustrates a path in which the transport packet transmitted from the sender node A in the overlay tree shown in FIG. 1 is transmitted to the receiver node C6 via the relay node B3 and the relay node B7.

도 2 내지 도 3을 참조하면, 먼저, 송신자 노드 A는 어플리케이션 계층을 통하여 원본 데이터를 소정의 에러복구율을 갖도록 FEC 인코딩하여 k개의 FEC 데이터 패킷 및 h개의 중복 패킷으로 구성된 n개의 FEC 블록을 생성한 뒤(단계:S1), 하위 계층을 통하여 전송 가능한 데이터 패킷 형태로 변환시켜 중계자 노드 B3로 송신한다(단계:S2).2 to 3, first, the sender node A performs FEC encoding on original data with a predetermined error recovery rate through an application layer to generate n FEC blocks composed of k FEC data packets and h duplicate packets. Subsequently (step: S1), the data packet is converted into a data packet form that can be transmitted through a lower layer and transmitted to the relay node B3 (step: S2).

이때, 상기 데이터 패킷은 (n, k)로 표현할 수 있다. 그래서 상기 FEC 인코딩을 (n, k)인코딩이라 칭하기도 한다. 여기서 k는 FEC 데이터 패킷의 개수이고, n은 전송 패킷의 전체 개수를 의미한다. 즉, n은 FEC 데이터 패킷의 개수와 중복 패킷의 개수를 더한 것이다. 따라서 n은 k+h이다.In this case, the data packet may be expressed as (n, k). Thus, the FEC encoding may be referred to as (n, k) encoding. Where k is the number of FEC data packets and n is the total number of transport packets. That is, n is the number of FEC data packets plus the number of duplicate packets. N is therefore k + h.

예를 들면, FEC 데이터 패킷이 3개이고 중복 패킷이 1개라면 전송 데이터 패 킷은 (4, 3)과 같이 표현될 수 있을 것이다.For example, if there are three FEC data packets and one duplicate packet, the transmission data packet may be expressed as (4, 3).

상기 FEC 데이터 패킷은 동일한 크기로 분할된 원본 데이터의 블록을 FEC 인코딩한 것이다. 또한, 상기 중복 패킷은 상기 k개의 FEC 데이터 패킷 중 일부가 손실되더라도 다시 복구할 수 있도록 생성된 패리티(Parity) 패킷을 의미한다. 이러한 FEC 패킷에는 상기 k개의 FEC 데이터 패킷이 갖는 정보가 소정의 연산에 의하여 함축적으로 삽입된다.The FEC data packet is a FEC-encoded block of original data divided into equal sizes. In addition, the duplicate packet refers to a parity packet generated so that it can be recovered even if some of the k FEC data packets are lost. Information contained in the k FEC data packets is implicitly inserted into the FEC packet by a predetermined operation.

예를 들어, 전송될 데이터 패킷이 (4, 3)이면 3개의 FEC 데이터 패킷 포함된다는 것을 알 수 있는데, 이때 3개의 FEC 데이터 패킷을 "a", "b", "c"라 할 경우 중복 패킷은 상기 3개의 FEC 데이터 패킷의 정보가 모두 포함되는 "a

Figure 112006022831949-PAT00001
b
Figure 112006022831949-PAT00002
c" 같은 연산값을 가질 수 있다. 따라서, FEC 데이터 패킷의 일부가 손실되더라도 중복 패킷을 통하여 그 손실 부분을 복구할 수 있게 된다.For example, if the data packet to be transmitted is (4, 3), it can be seen that three FEC data packets are included. In this case, if the three FEC data packets are "a", "b", and "c", the duplicate packets are included. &Quot; a " includes all information of the three FEC data packets.
Figure 112006022831949-PAT00001
b
Figure 112006022831949-PAT00002
c ". Thus, even if a part of the FEC data packet is lost, the lost part can be recovered through the duplicate packet.

한편, 에러복구율 E는 다음의 수학식 1과 같이 표현될 수 있다.Meanwhile, the error recovery rate E may be expressed as in Equation 1 below.

E = (h/n) × 100E = (h / n) × 100

즉, 전송 데이터 패킷이 (4, 3)일 경우 에러복구율은 h가 1이고 n이 4이므로 25%가 된다. 이 경우 25% 이내의 패킷 손실은 복구가 가능하게 된다. 따라서 에러복구율을 높이고자할 경우 중폭 패킷의 개수를 높여주면 될 것이다.That is, if the transmission data packet is (4, 3), the error recovery rate is 25% since h is 1 and n is 4. In this case, packet loss within 25% is recoverable. Therefore, if you want to increase the error recovery rate, you can increase the number of heavy packets.

한편, 중계자 노드 B3은 자신의 부모 노드인 송신자 노드 A에 의하여 송신된 데이터 패킷을 수신한 뒤(단계:S3), 그 데이터 패킷의 손실 정도가 허용 기준 이상인지를 판별하고(단계:S4), 그 판별 결과 손실이 허용 기준 이하이면 상기 수신된 데이터 패킷을 자신의 자식 노드인 중계자 노드 B7로 전송한다(단계:S8). 반면, 상기 판별 결과 손실이 허용 기준 이상이면, 중계자 노드 B3은 수신된 데이터 패킷을 FEC 디코딩하여(단계:S5), 손실된 패킷을 복구한 뒤(단계:S6), 다시 FEC 인코딩하여(단계:S7), 자신의 자식 노드인 중계자 노드 B7로 전송한다(단계:S8).On the other hand, the relay node B3 receives the data packet transmitted by the sender node A, which is its parent node (step: S3), and then determines whether the loss level of the data packet is greater than or equal to the acceptance criteria (step: S4), As a result of the determination, if the loss is less than the acceptance criteria, the received data packet is transmitted to the relay node B7 which is its child node (step S8). On the other hand, if the determination result loss is above the acceptance criteria, the relay node B3 FEC decoding the received data packet (step: S5), recovers the lost packet (step: S6), and then FEC encodes again (step: S7), and transmits to the relay node B7 which is its child node (step S8).

예를 들면, 도 3에 도시된 바와 같이 송신자 노드 A에서 송신한 데이터 패킷이 (4, 3)인데 비하여 중계자 노드 B3에서 수신한 데이터 패킷이 (4, 2)라면 FEC 데이터 패킷이 하나 손실된 것이라 할 수 있으므로, 중복 패킷을 이용하여 손실된 데이터 패킷을 복구할 수 있다. 따라서 중계자 노드 B3에 의하여 송신되는 데이터 패킷은 다시 (4, 3)로 표현될 수 있다.For example, if the data packet transmitted from the sender node A is (4, 3) as shown in FIG. 3, but the data packet received at the relay node B3 is (4, 2), one FEC data packet is lost. As a result, the lost data packet can be recovered by using the duplicate packet. Therefore, the data packet transmitted by the relay node B3 may be represented by (4, 3) again.

한편, 중계자 노드 B7로 그 부모 노드인 중계자 노드 B3에 의하여 송신되는 데이터가 전송되면, 상술한 중계자 노드 B3과 동일한 과정을 수행한다. 즉, 데이터 패킷을 수신하고(단계:S3), 그 수신된 데이터 패킷의 손실 정도가 허용 기준 이상인지를 판별하고(단계:S4), 그 판별 결과 손실이 허용 기준 이하이면 상기 수신된 데이터 패킷을 자신의 자식 노드인 수신자 노드 C6로 전송한다(단계:S8). 반면, 상기 판별 결과 손실이 허용 기준 이상이면, 수신된 데이터 패킷을 FEC 디코딩하여(단계:S5), 손실된 패킷을 복구한 뒤(단계:S6), 이를 FEC 인코딩하여(단계:S7), 자식 노드인 수신자 노드 C6로 전송한다(단계:S8).On the other hand, when data transmitted by the relay node B3, which is the parent node, is transmitted to the relay node B7, the same process as the above-described relay node B3 is performed. That is, a data packet is received (step: S3), and it is determined whether the loss degree of the received data packet is greater than or equal to the acceptance criterion (step: S4). It sends to the receiver node C6 which is its child node (step S8). On the other hand, if the determination result loss is above the acceptance criteria, the received data packet is FEC decoded (step: S5), the lost packet is recovered (step: S6), and then FEC encoded (step: S7), the child The data is transmitted to the receiver node C6, which is a node (step S8).

예를 들면, 도 3에 도시된 바와 같이 중계자 노드 B3에서 송신한 데이터 패킷이 (4, 3)인데 비하여 중계자 노드 B7에서 수신한 데이터 패킷이 (3, 3)라면 중복 패킷이 손실된 것으로 볼 수 있다. 따라서, FEC 데이터 패킷 정보를 이용하여 손실된 중복 패킷을 복구할 수 있다. 이에 따라 수신자 노드 C6로 송신되는 데이터 패킷은 최초 송신자 노드 A에서 송신될 때와 같이 (4, 3)가 될 것이다.For example, as shown in FIG. 3, if the data packet transmitted from the relay node B3 is (4, 3), but the data packet received at the relay node B7 is (3, 3), the duplicate packet is lost. have. Therefore, lost duplicate packets can be recovered using the FEC data packet information. The data packet sent to receiver node C6 will thus be (4, 3) as when sent from the original sender node A.

이어서, 수신자 노드 C6은 중계자 노드 B7로부터 전송되는 데이터 패킷을 수신한다. 이때, 수신자 노드 C6에서도 앞서 설명한 중계자 노드 B3 또는 B7에서와 같이 데이터 패킷의 손실 정보를 파악하고 FEC 디코딩 시에 손실이 있을 경우 복구하여 데이터를 얻을 수 있다. 도 3을 살펴보면, 중계자 노드 B7에서 수신자 노드 C6로 전송되는 경로에서는 패킷의 손실이 발생하지 않았으므로 수신자 노드 C6는 별도의 손실 복구를 수행하지 않아도 될 것이다.Subsequently, receiver node C6 receives a data packet transmitted from relay node B7. At this time, the receiver node C6 may also obtain the data by identifying the loss information of the data packet and recovering the loss in the FEC decoding as in the relay node B3 or B7 described above. Referring to FIG. 3, since no packet loss occurs in the path transmitted from the relay node B7 to the receiver node C6, the receiver node C6 may not need to perform a separate loss recovery.

한편, 각 중계자 노드에서 파악되는 데이터 패킷의 손실 정도에 따라 전송되는 데이터 패킷의 에러복구율을 변화시켜 가변적으로 데이터 패킷을 구성할 수도 있다. 실제로 멀티캐스트 기반 네트워크에 있어서 데이터 패킷의 손실은 특정한 경로에서 집중적으로 발생하는 경우가 대부분이기 때문에, 어느 하나의 중계자 노드에서 데이터 패킷의 손실 정도가 훨씬 크다면 그 이전 중계자 노드에서는 에러복구율을 더 높여 데이터 패킷을 구성할 수도 있는 것이다.On the other hand, the error recovery rate of the transmitted data packet may be varied according to the degree of loss of the data packet grasped by each relay node, thereby constituting the data packet variably. In fact, in a multicast-based network, the loss of data packets is mostly concentrated in a specific path, so if the loss of data packets is much higher at one relay node, the error recovery rate is higher at the previous relay node. You can also construct a data packet.

이를 위해서, 각각의 중계자 노드에서 파악되는 데이터 패킷의 손실 정보는 부모 노드의 중계자 노드로 피드백 될 수 있다. 예를 들면, 도 3에 도시된 예에서 중계자 노드 B3에서 중계자 노드 B7로 전송되는 경로에 데이터 패킷의 손실이 집중된다면, 중계자 노드 B7은 데이터 패킷의 손실 정보를 중계자 노드 B3로 피드백해 줄 수 있다. 이는 손실 정도가 다른 중계자 노드에 비하여 큰 중계자 노드에서만 선택적으로 수행되거나, 안정성을 위하여 모든 중계자 노드에서 수행될 수도 있다.To this end, the loss information of the data packet identified in each relay node may be fed back to the relay node of the parent node. For example, in the example shown in FIG. 3, if loss of data packets is concentrated in the path transmitted from the relay node B3 to the relay node B7, the relay node B7 may feed back the lost information of the data packet to the relay node B3. . This may be selectively performed only at the relay node larger than the relay node having a different degree of loss, or may be performed at all relay nodes for stability.

이러한 피드백 정보에 근거하여 각 중계자 노드는 FEC 인코딩 시에 데이터 패킷과 중복 패킷의 수를 조정할 수 있다. 즉, FEC 데이터 패킷의 수는 그대로 두고 중복 패킷의 개수를 늘리는 것이다. 예를 들면, 중계자 노드 B3은 중계자 노드 B7로부터의 피드백 정보에 근거하여 에러복구율을 높일 수 있다. 즉, 수신된 데이터 패킷이 (4, 3)이였다면 에러복구율을 높이기 위하여 중복 패킷의 수를 하나 더 추가하여 (5, 3)와 같이 구성할 수 있다. 이 경우 에러복구율이 25%에서 40%로 향상될 수 있다.Based on this feedback information, each relay node can adjust the number of data packets and duplicate packets during FEC encoding. That is, the number of duplicate packets is increased while leaving the number of FEC data packets intact. For example, the relay node B3 can increase the error recovery rate based on the feedback information from the relay node B7. That is, if the received data packet is (4, 3), it can be configured as (5, 3) by adding one more duplicate packets to increase the error recovery rate. In this case, the error recovery rate can be improved from 25% to 40%.

상기 패킷의 개수의 조합 시에는 패킷손실율이 고려된다. 이때, 패킷손실율은 수신된 데이터 패킷에서 손실된 패킷의 비율을 나타내는 것으로, 에러복구율은 패킷손실율보다 높아야 한다. 왜냐하면, 패킷손실율이 에러복구율 보다 높을 경우 패킷 손실의 복구가 불가능해질 수 있기 때문이다.The packet loss rate is taken into account when combining the number of packets. In this case, the packet loss rate indicates the ratio of packets lost in the received data packet, and the error recovery rate should be higher than the packet loss rate. This is because, if the packet loss rate is higher than the error recovery rate, recovery of the packet loss may be impossible.

이상과 같이, 본 발명에서는 송신자 노드와 수신자 노드 사이에 존재하는 각각의 중계자 노드마다 데이터 패킷의 손실 정도를 판별하여 능동적으로 복구하므로, 수신자 노드에 전송되는 데이터 패킷의 안정성을 확보할 수 있다. 뿐만 아니라, NACK 기반의 ARQ 기능과 같이 별도의 재전송 요구를 하지 않아도 되므로 불필요한 시간 지연을 방지할 수 있어 실시간성도 좋아지게 된다.As described above, according to the present invention, since the loss degree of the data packet is actively recovered for each relay node existing between the sender node and the receiver node, the stability of the data packet transmitted to the receiver node can be ensured. In addition, since there is no need for a separate retransmission request like the NACK-based ARQ function, unnecessary time delays can be prevented, thereby improving real-time.

이에 비하여, 종래의 FEC 기법의 경우 중계자 노드에서는 데이터 패킷의 단순 전송만을 수행하고, 수신자 노드에서만 데이터 패킷의 손실 복구를 수행하였으므로 각각의 전송 경로에서 발생하는 패킷의 손실이 누적되어 손실의 복구가 불가 능한 경우가 발생하였다. 또한, 이를 방지하기 위해서 중복 패킷의 수를 늘리는 방법을 사용하기도 하지만, 이 경우 전송되는 데이터 패킷의 용량이 커져 네트워크에 부담을 줄 수 있다.On the other hand, in the conventional FEC scheme, since the relay node performs only simple data packet transmission, and only the receiver node performs the loss recovery of the data packet, the loss of packets generated in each transmission path is accumulated, and thus the loss cannot be recovered. Possible cases occurred. In addition, in order to prevent this, a method of increasing the number of duplicate packets may be used. However, in this case, the capacity of the data packet to be transmitted increases, which may burden the network.

이때, 상술한 본 발명의 실시예에서 각각의 중계자 노드마다 손실 복구를 위한 FEC 디코딩/인코딩을 수행할 경우, 전송 노드의 부하가 증가할 수 있다고 생각할 수도 있지만, 실제로는 패킷 손실이 특정 중계자 노드의 수신 경로에서만 집중적으로 나타나는 경우가 대부분이기 때문에 해당 노드에서만 손실 복구가 필요하다. 따라서, 다른 중계자 노드들은 단순히 패킷의 손실만을 판단하면 되므로 전체 네트워크의 입장에서 볼 때는 큰 영향을 미치지 않는다.At this time, in the above-described embodiment of the present invention, if the FEC decoding / encoding for loss recovery is performed for each relay node, it may be considered that the load of the transmitting node may be increased. In most cases, loss recovery is required only on the node, as it is mostly focused on the receive path. Therefore, other relay nodes only need to determine the loss of packets, so they do not have a significant effect from the viewpoint of the entire network.

이상, 본 발명의 바람직한 제 1 실시예를 통하여 데이터 패킷 전송의 신뢰성과 실시간성이 우수한 멀티캐스트 기반 네트워크에서의 데이터 전송 방법을 살펴보았다. 그런데, 앞서도 언급했듯이 제 1 실시예에서의 멀티캐스트 기반 네트워크는 어플리케이션 계층에서 이루어지는 오버레이 멀티캐스트를 의미하였다. 그러나 이러한 본 발명의 기술적 사상은 하드웨어적으로 구축된 멀티캐스트 환경에서도 용이하게 수행될 수 있음은 물론이다. 따라서, 이하의 제 2 실시예에서는 멀티캐스트 네트워크를 기반으로 한 데이터 전송 방법을 설명하고자 한다.In the above, the first embodiment of the present invention has described a data transmission method in a multicast-based network having excellent reliability and real-time data packet transmission. However, as mentioned above, the multicast-based network in the first embodiment refers to overlay multicast performed at the application layer. However, the technical idea of the present invention can be easily performed even in a multicast environment constructed in hardware. Therefore, the following second embodiment will be described a data transmission method based on a multicast network.

<실시예 2><Example 2>

도 4는 본 발명의 제 2 실시예에 따른 멀티캐스트 네트워크의 구성을 도시하는 구성도이다.4 is a configuration diagram showing a configuration of a multicast network according to a second embodiment of the present invention.

도 4를 참조하면, 멀티캐스트를 통한 데이터의 전송을 위해서 네트워크상에는 송신자 노드(D)와 복수의 수신자 노드(F1~F3)들을 연결하는 논리적인 트리가 구성된다. 이때 송신자 노드(D)와 수신자 노드(F1~F3)들 사이에는 데이터의 중계를 위하여 중계자 노드로서, 라우터(E1~E4, M1~M3)들이 구비된다.Referring to FIG. 4, a logical tree connecting a sender node D and a plurality of receiver nodes F1 to F3 is configured on a network for data transmission through multicast. At this time, routers E1 to E4 and M1 to M3 are provided between the transmitter node D and the receiver nodes F1 to F3 as relay nodes for data relay.

이때, 상기 라우터(E1~E4, M1~M3)는 자신의 자식 노드, 예를 들면 다른 라우터 또는 수신자 노드(F1~F3)를 가질 수 있는 노드이다. 상기 라우터(E1~E4, M1~M3) 중에는 멀티캐스트 기능이 가능한 엠라우터(MRouter)(M1~M3)와 그렇지 못한 라우터(E1~E4)로 구분될 수 있다. 상기 엠라우터(M1~M3)간에는 터널링을 통하여 데이터 패킷을 전송한다.In this case, the routers E1 to E4 and M1 to M3 are nodes capable of having their own child nodes, for example, other routers or receiver nodes F1 to F3. Among the routers E1 to E4 and M1 to M3, the router E1 to E4 and the routers E1 to E4 that do not have multicast functions may be classified into MRouters M1 to M3. The data packet is transmitted through tunneling between the emrouters M1 to M3.

각각의 라우터(E1~E4, M1~M3)는 자신에게 수신되는 데이터 패킷의 손실 정도를 파악하고, 손실이 허용 기준 이상 발생하였을 경우, FEC 디코딩을 수행하여 손실된 패킷을 복구하고 다시 FEC 인코딩을 수행한 뒤, 자식 노드의 라우터로 송신한다.Each router (E1 ~ E4, M1 ~ M3) grasps the loss of the data packet received to it, and if the loss occurs above the allowable standard, it performs FEC decoding to recover the lost packet and then performs FEC encoding again. After executing, transmit to the router of the child node.

이때, 앞서 설명한 제 1 실시예에서의 경우 FEC 처리 관련 기능들이 중계자 노드인 정보 단말기의 어플리케이션 계층을 통하여 수행되었으나, 본 제 2 실시예에의 경우 중계자 노드가 라우터(E1~E4, M1~M3)이기 때문에, 각 라우터(E1~E4, M1~M3)에는 FEC 관련 기능을 수행하기 위한 FEC 장치가 구비되어야 한다. 이는 곧 FEC 계층이 별도로 구비된다는 것을 의미할 수 있다.In this case, in the first embodiment described above, the FEC processing related functions are performed through the application layer of the information terminal which is the relay node. However, in the second embodiment, the relay nodes are the routers E1 to E4 and M1 to M3. For this reason, each router E1 to E4 and M1 to M3 should be equipped with an FEC apparatus for performing FEC related functions. This may mean that the FEC layer is provided separately.

FEC 계층은 상위 계층으로부터 전달되는 데이터를 동일한 크기를 가지는 k개의 블록으로 분할하고, 그 k개의 데이터 블록을 FEC 인코딩하여 k개의 FEC 데이터 패킷과 n개의 중복 패킷을 생성한 뒤, 하위 계층으로 전송하는 기능을 수행하고 그 역으로 디코딩 기능을 수행한다. 따라서, 각각의 라우터(E1~E4, M1~M3)는 FEC 계층을 통하여 데이터 패킷의 손실 파악 및 손실 복구를 수행할 수 있을 것이다.The FEC layer divides the data transmitted from the upper layer into k blocks having the same size, FEC-encodes the k data blocks, generates k FEC data packets and n duplicate packets, and transmits the same to the lower layer. Performs the function and vice versa. Therefore, each of the routers E1 to E4 and M1 to M3 may perform loss detection and loss recovery of data packets through the FEC layer.

이상 설명한 바와 같이, 본 발명에 따르면 송신자 노드와 수신자 노드 사이에 존재하는 각각의 중계자 노드가 자신의 수신 경로에서 발생하는 데이터 패킷의 손실 정도를 판별하여 능동적으로 복구할 수 있으므로, 데이터 패킷 전송의 안정성을 확보할 수 있다. 또한, 데이터 패킷의 손실 발생에 따른 재전송 과정이 필요 없으므로 불필요한 시간 지연을 방지할 수 있어 실시간성의 측면에서도 우수한 장점을 가진다.As described above, according to the present invention, since each relay node existing between the sender node and the receiver node can actively recover by determining the degree of loss of the data packet occurring in its reception path, the data packet transmission stability Can be secured. In addition, since a retransmission process is not required due to the loss of data packets, unnecessary time delays can be prevented, which is an advantage in terms of real time.

Claims (13)

송신자 노드가 FEC 인코딩된 데이터 패킷을 생성하여 송신하는 단계;A sender node generating and transmitting an FEC encoded data packet; 상기 송신된 데이터 패킷의 전송 경로에 계층적으로 구비된 중계자 노드들이 각자 자신의 수신 경로에서 발생된 데이터 패킷의 손실 정도를 파악하여, 복구가 필요할 경우 상기 손실을 복구한 뒤, 자신의 자식 노드로 송신하는 단계; 및The relay nodes hierarchically provided in the transmission path of the transmitted data packet grasp the degree of loss of the data packet generated in their own reception path, and if the recovery is necessary, recover the loss and then return to the child node. Transmitting; And 수신자 노드가 상기 중계자 노드 중 자신의 부모 노드에 해당하는 중계자 노드에 의하여 송신된 데이터 패킷을 수신하는 단계를 포함하는 것을 특징으로 하는 멀티캐스트 기반 네트워크에서의 데이터 전송 방법.And a receiver node receiving a data packet transmitted by a relay node corresponding to its parent node among the relay nodes. 제 1 항에 있어서, 상기 송신자 노드에 의하여 송신되는 데이터 패킷은 상기 FEC 인코딩에 의하여 생성된 h개의 중복 패킷 및 k개의 FEC 데이터 패킷을 포함하는 것을 특징으로 하는 멀티캐스트 기반 네트워크에서의 데이터 전송 방법.2. The method of claim 1, wherein the data packet transmitted by the sender node includes h duplicate packets and k FEC data packets generated by the FEC encoding. 제 1 항에 있어서, 상기 중계자 노드는 자신에게 수신된 데이터 패킷의 손실 정도가 허용 기준 이상인지를 판단하고, 상기 판단 결과 허용 기준 이상이면 상기 수신된 데이터 패킷을 FEC 디코딩하여 상기 손실을 복구한 뒤 FEC 인코딩하여 상기 자신의 자식 노드로 전송하고, 상기 판단 결과 혀용 기준 이하이면 상기 수신된 데 이터 패킷을 상기 자신의 자식 노드로 전송하는 것을 특징으로 하는 멀티캐스트 기반 네트워크에서의 데이터 전송 방법.The method of claim 1, wherein the relay node determines whether the loss of the data packet received by the relay node is greater than or equal to the acceptance criterion, and if the determination result is greater than or equal to the acceptance criterion, the relay node recovers the loss by FEC decoding the received data packet. And transmitting the received data packet to the own child node if FEC encoding is performed and transmitted to the own child node. 제 1 항에 있어서, 상기 중계자 노드는 자신에게 수신된 데이터 패킷의 손실 정보를 상기 데이터 패킷을 송신한 부모 노드로 피드백하는 것을 특징으로 하는 멀티캐스트 기반 네트워크에서의 데이터 전송 방법.The method of claim 1, wherein the relay node feeds back lost information of the data packet received to the parent node to the parent node that transmitted the data packet. 제 4 항에 있어서, 상기 부모 노드는 상기 피드백된 데이터 패킷 손실 정보를 고려하여, 데이터 패킷의 FEC 데이터 패킷 및 중복 패킷의 조합비가 변경되도록 FEC 인코딩을 수행한 뒤, 상기 중계자 노드로 송신하는 것을 특징으로 하는 멀티캐스트 기반 네트워크에서의 데이터 전송 방법.5. The method of claim 4, wherein the parent node performs FEC encoding so that a combination ratio of the FEC data packet and the duplicate packet of the data packet is changed in consideration of the feedback data packet loss information, and then transmits the FEC encoding to the relay node. A data transmission method in a multicast-based network. 제 5 항에 있어서, 상기 FEC 데이터 패킷 및 중복 패킷의 조합비는 에러복구율이 패킷손실율보다 크도록 결정하는 것을 특징으로 하는 멀티캐스트 기반 네트우커에서의 데이터 전송 방법.6. The method of claim 5, wherein the combination ratio of the FEC data packet and the duplicate packet determines that an error recovery rate is greater than a packet loss rate. 송신자 노드와 수신자 노드 사이에서 데이터 패킷을 중계하기 위하여 적어도 하나 이상 계층적으로 구비된 중계자 노드의 데이터 처리 방법에 있어서,A data processing method of a relay node provided with at least one layer hierarchically for relaying data packets between a sender node and a receiver node, 상기 송신자 노드 및 상위 계층 중계자 노드 중 어느 하나로부터 FEC 인코딩된 데이터 패킷을 수신하는 단계;Receiving an FEC encoded data packet from either the sender node or a higher layer relay node; 상기 수신된 데이터 패킷의 손실이 허용 기준 이상인지를 판별하는 단계; 및Determining whether a loss of the received data packet is above an acceptance criterion; And 상기 판별 결과 허용 기준 이상의 손실이 발생하였을 경우 상기 손실을 복구하여 상기 수신자 노드 및 하위 계층 중계자 노드 중 어느 하나로 송신하고, 상기 판별 결과 데이터 패킷의 손실이 발생하지 않았을 경우 상기 수신된 데이터 패킷을 상기 수신자 노드 및 상기 하위 계층 중계자 노드 중 어느 하나로 송신하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법.If the result of the determination results in a loss exceeding an acceptable criterion, the loss is recovered and transmitted to either the receiver node or a lower layer relay node. If the result of the determination does not cause a loss of the data packet, the receiver receives the received data packet. Transmitting to any one of a node and the lower layer relay node. 제 7 항에 있어서, 상기 송신 단계에서 상기 판별 결과 허용 기준 이상일 경우,The method according to claim 7, wherein in the transmission step, the determination result is greater than or equal to the acceptance criteria. 상기 수신된 데이터 패킷을 FEC 디코딩 하여 상기 손실된 부분을 복구하는 단계; 및Recovering the lost portion by FEC decoding the received data packet; And 상기 복구된 데이터를 소정의 조합비를 갖는 FEC 데이터 패킷 및 중복 패킷으로 FEC 인코딩하는 단계를 포함하는 것을 특징으로 하는 데이터 처리 방법.FEC encoding said recovered data into a FEC data packet having a predetermined combination ratio and a duplicate packet. 제 8 항에 있어서, 상기 FEC 데이터 패킷 및 중복 패킷의 조합비는 패킷손실율보다 큰 에러복구율을 갖도록 정해지는 것을 특징으로 하는 데이터 처리 방법.9. The data processing method according to claim 8, wherein the combination ratio of the FEC data packet and the duplicate packet is determined to have an error recovery rate greater than a packet loss rate. FEC 인코딩된 데이터 패킷을 송신하는 송신자 노드;A sender node for transmitting FEC encoded data packets; 상기 송신된 데이터 패킷을 중계하는 적어도 하나의 중계자 노드; 및At least one relay node for relaying the transmitted data packet; And 상기 중계자 노드로부터 전송되는 데이터 패킷을 수신하는 수신자 노드가 계층적인 구조를 이루며,The receiver node receiving the data packet transmitted from the relay node has a hierarchical structure, 상기 중계자 노드는 자신의 부모 노드로부터 수신되는 상기 FEC 인코딩된 데이터 패킷의 손실 정도를 파악하여, 복구가 필요할 경우 상기 손실을 복구한 뒤 자신의 자식 노드로 전송하고, 복구가 필요 없을 경우 상기 수신된 FEC 인코딩된 데이터 패킷을 상기 자신의 자식 노드로 송신하는 것을 특징으로 하는 멀티캐스트 기반의 데이터 전송 시스템.The relay node detects the loss level of the FEC encoded data packet received from its parent node, recovers the loss if necessary, and transmits the loss to its child node. And transmitting the FEC encoded data packet to the child node. 제 10 항에 있어서, 상기 중계자 노드는 상기 수신된 FEC 인코딩된 데이터 패킷의 손실 정도를 허용 기준과 비교하고, 상기 비교결과 허용 기준 이상이면 상기 FEC 인코딩된 데이터 패킷을 FEC 디코딩하여 손실을 복구한 뒤, 다시 FEC 인코딩하는 것을 특징으로 하는 멀티캐스트 기반의 데이터 전송 시스템.The method of claim 10, wherein the relay node compares the loss of the received FEC-encoded data packet with an acceptance criterion, and if the comparison result is greater than or equal to the acceptance criterion, recovers the loss by FEC decoding the FEC-encoded data packet. And FEC encoding again. 제 11 항에 있어서, 상기 중계자 노드는 정보 단말기이며, 상기 FEC 인코딩 및 FEC 디코딩은 상기 정보 단말기의 어플리케이션 계층에서 수행되는 것을 특징으로 하는 멀티캐스트 기반의 데이터 전송 시스템.12. The system of claim 11, wherein the relay node is an information terminal, and the FEC encoding and FEC decoding are performed at an application layer of the information terminal. 제 11 항에 있어서, 상기 중계자 노드는 라우터이며, 상기 FEC 인코딩 및 FEC 디코딩은 상기 라우터에 구비되는 FEC 계층에 의하여 수행되는 것을 특징으로 하는 멀티캐스트 기반의 데이터 전송 시스템.12. The system of claim 11, wherein the relay node is a router, and the FEC encoding and FEC decoding are performed by an FEC layer provided in the router.
KR1020060029480A 2006-03-31 2006-03-31 Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System KR100792153B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060029480A KR100792153B1 (en) 2006-03-31 2006-03-31 Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060029480A KR100792153B1 (en) 2006-03-31 2006-03-31 Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System

Publications (2)

Publication Number Publication Date
KR20070098169A true KR20070098169A (en) 2007-10-05
KR100792153B1 KR100792153B1 (en) 2008-01-04

Family

ID=38804258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060029480A KR100792153B1 (en) 2006-03-31 2006-03-31 Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System

Country Status (1)

Country Link
KR (1) KR100792153B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101415000B1 (en) * 2009-12-01 2014-07-04 에스케이플래닛 주식회사 IPTV Broadcasting System and Packet Error Correction Method Thereof, and Set-Top Box for Packet Error Correction
JP2019047505A (en) * 2009-10-28 2019-03-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Communication method using parity packet, communication device and relay
WO2020010613A1 (en) * 2018-07-13 2020-01-16 Zte Corporation Resource reservations for relay nodes

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102236581B1 (en) 2014-08-12 2021-04-06 삼성전자주식회사 Method and apparatus for transmitting and receiving data

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060095755A (en) 2003-09-30 2006-09-01 코닌클리케 필립스 일렉트로닉스 엔.브이. Media packet structure for real time transmission via packet switched networks

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019047505A (en) * 2009-10-28 2019-03-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America Communication method using parity packet, communication device and relay
KR101415000B1 (en) * 2009-12-01 2014-07-04 에스케이플래닛 주식회사 IPTV Broadcasting System and Packet Error Correction Method Thereof, and Set-Top Box for Packet Error Correction
WO2020010613A1 (en) * 2018-07-13 2020-01-16 Zte Corporation Resource reservations for relay nodes
US11652536B2 (en) 2018-07-13 2023-05-16 Zte Corporation Resource reservations for relay nodes

Also Published As

Publication number Publication date
KR100792153B1 (en) 2008-01-04

Similar Documents

Publication Publication Date Title
KR101571145B1 (en) Method and apparatus for adaptive forward error correction with merged automatic repeat request for reliable multicast in wireless local area networks
Handley et al. The reliable multicast design space for bulk data transfer
US7542438B2 (en) Reliable multicast data retransmission method by grouping wireless terminals in wireless communication medium and apparatus for the same
US8711854B2 (en) Monitoring and correcting upstream packet loss
US7681101B2 (en) Hybrid corrective scheme for dropped packets
KR100831654B1 (en) A method for data repair in a system capable of handling multicast and broadcast transmissions
WO2011079822A1 (en) Method and apparatus for ensuring quality of service of internet protocol television live broadcast service
WO2008033645A2 (en) Hybrid correction scheme for dropped packets
US11689323B2 (en) Efficient on-demand packet recovery for broadcast and multicast networks system and method
KR100883576B1 (en) Data repair enhancements for multicast/broadcast data distribution
EP1139602A1 (en) Method and device for multicasting
KR100792153B1 (en) Method for Transmission Data for Multicast Based Network, Method for Processing Data and Data Transmission System
KR100240645B1 (en) Packet error controller of multicast communication and method thereof
KR102290779B1 (en) Method and device for transmitting and receiving multimedia data
Sánchez et al. P2P group communication using Scalable Video Coding
CN115189813A (en) OTT multicast method, system, device, multicast proxy and multicast server
Li et al. IPTV multicast with peer-assisted lossy error control
KR101405533B1 (en) Message transport system for high available multicast
Chang et al. Accelerating Transmission of Streaming Files Based on AL-FEC Protection Blocks
CN114422864A (en) Audio and video weak network resisting transmission method and system
Brockners Bulk multicast data transfer-towards the integration of FEC and ARQ using a lightweight feedback control tree
Wang Design and performance evaluation of multicast transport protocols over broadband satellite network
Handley et al. RFC2887: The Reliable Multicast Design Space for Bulk Data Transfer
Kermode et al. Network Working Group M. Handley Request for Comments: 2887 S. Floyd Category: Informational ACIRI B. Whetten Talarian
Howarth et al. Quantitative analysis of restricted reliability protocols for constant rate traffic

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20111201

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee