KR101217861B1 - Transmission and received method for multi path in multi-homing network, transmission and received terminal thereof - Google Patents

Transmission and received method for multi path in multi-homing network, transmission and received terminal thereof Download PDF

Info

Publication number
KR101217861B1
KR101217861B1 KR1020100126637A KR20100126637A KR101217861B1 KR 101217861 B1 KR101217861 B1 KR 101217861B1 KR 1020100126637 A KR1020100126637 A KR 1020100126637A KR 20100126637 A KR20100126637 A KR 20100126637A KR 101217861 B1 KR101217861 B1 KR 101217861B1
Authority
KR
South Korea
Prior art keywords
packet
transmitting
fountain
network
terminal
Prior art date
Application number
KR1020100126637A
Other languages
Korean (ko)
Other versions
KR20110138139A (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 광주과학기술원
Publication of KR20110138139A publication Critical patent/KR20110138139A/en
Application granted granted Critical
Publication of KR101217861B1 publication Critical patent/KR101217861B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3761Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 using code combining, i.e. using combining of codeword portions which may have been transmitted separately, e.g. Digital Fountain codes, Raptor codes or Luby Transform [LT] codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 실시예에 따르면, 송신 단말은 응용 계층의 연속적인 데이터를 파운틴 코드-여기서 파운틴 코드는 이레이저(Erasure) 채널로 표현되는 네트워크 상에서 다수에게 전송하는 브로드캐스팅 및 멀티캐스팅에 적합하도록 개발된 채널 부호화 기술임-를 이용하여 인코딩한다. 그리고 파운틴 코드로 인코딩된 패킷을 둘 이상의 서로 다른 네트워크 경로를 통하여 전송한다. 그러면, 수신 단말은 파운틴 코드로 인코딩된 패킷을 수신 순서에 관계없이 디코딩하고, 인코딩된 패킷에 추가된 파운틴 헤더를 이용하여 디코딩한다.According to an embodiment of the present invention, a transmitting terminal is developed to be suitable for broadcasting and multicasting in which continuous data of an application layer is transmitted to a plurality of fountain codes in which a fountain code is transmitted to a network represented by an erasure channel. Encode using channel encoding technique. The packet encoded by the fountain code is transmitted through two or more different network paths. Then, the receiving terminal decodes the packet encoded with the fountain code regardless of the reception order, and decodes the packet by using the fountain header added to the encoded packet.

Description

멀티홈잉 네트워크에서 다중 경로 전송, 수신 방법, 송신 단말 및 수신 단말{TRANSMISSION AND RECEIVED METHOD FOR MULTI PATH IN MULTI-HOMING NETWORK, TRANSMISSION AND RECEIVED TERMINAL THEREOF}TRANSMISSION AND RECEIVED METHOD FOR MULTI PATH IN MULTI-HOMING NETWORK, TRANSMISSION AND RECEIVED TERMINAL THEREOF}

본 발명은 멀티홈잉 네트워크에서 다중 경로 전송, 수신 방법, 송신 단말 및 수신 단말에 관한 것이다.The present invention relates to a multipath transmission and reception method, a transmitting terminal and a receiving terminal in a multihomed network.

최근 네트워크 기술 및 서비스의 발달과 각종 무선 기기의 개발이 이루어지며 소비자의 다양한 서비스 요구가 증대됨에 따라, 다수의 네트워크 인터페이스를 가지는 단말의 수가 빠르게 증가하고 있다. Recently, as the development of network technology and services, the development of various wireless devices, and the increasing demand for various services by consumers, the number of terminals having a plurality of network interfaces is rapidly increasing.

다양한 네트워크 서비스를 제공받기 위하여 자연히 하나의 단말에 다수의 네트워크 인터페이스를 가지는 멀티홈잉 네트워크에 대한 관심이 집중되고 있다.In order to receive various network services, an interest in a multihomed network having a plurality of network interfaces in one terminal is naturally concentrated.

멀티홈잉이란 하나의 단말이 다수의 네트워크 인터페이스를 가짐으로써 이를 이용하여 다수의 네트워크 경로를 설정할 수 있는 것을 말한다. 이렇게 설정된 경로는 자신만의 IP 주소를 가지며 독립적인 데이터 전송을 할 수 있다. Multihoming means that a single terminal has a plurality of network interfaces, and thus, a plurality of network paths can be set using the terminal. This route has its own IP address and can transmit data independently.

예를 들면, 노트북의 경우 유선 인터넷과 무선 인터넷을 지원하며 사용자는 상황에 맞게 유선 혹은 무선 인터넷에 접속하여 인터넷 서비스를 받을 수 있다. For example, laptops support wired and wireless Internet, and users can access the wired or wireless Internet to receive Internet service according to the situation.

또한, 최근 많은 관심이 집중되고 있는 스마트폰의 경우도 WCDMA 혹은 WiFi를 이용하여 데이터 서비스를 제공받을 수 있다. In addition, smart phones, which have recently attracted much attention, may be provided with data services using WCDMA or WiFi.

이렇듯 멀티홈잉 단말은 그 중요성이 높이 평가되는 만큼 이를 잘 활용할 수 있는 방법의 개발 또한 매우 중요하다.As the multi-homed terminal is highly valued, the development of a method that can utilize it is also very important.

하지만 현재 사용되고 있는 데이터 전송 프로토콜은 단일경로를 기반으로 개발되었고 오직 하나의 인터페이스만을 사용하여 데이터를 전송하고 있다. 즉, 다수의 네트워크 망을 연결할 수 있더라도 한번에 하나의 네트워크 망만을 사용할 수 있다. However, the current data transmission protocol is developed based on a single path and transmits data using only one interface. That is, even though multiple network networks can be connected, only one network network can be used at a time.

만약에 다수의 네트워크 망을 동시에 이용하여 데이터를 전송할 수 있다면 기존의 프로토콜 보다 훨씬 빠르고 안정적인 데이터 전송을 할 수 있을 것이다. 하지만 단일경로 기반의 기존의 전송 프로토콜은 다중경로로 전송할 때 그 성능이 저하되고 효율적인 데이터 전송을 할 수 없다. If data can be transmitted using multiple network networks at the same time, it will be able to transmit data much faster and more stable than existing protocol. However, the existing transmission protocol based on single path degrades its performance when transmitting in multipath and cannot transmit data efficiently.

기존의 TCP(Transmission Control Protocol)는 순차적인 패킷 전송을 기반으로 하기 때문에 어긋난 패킷의 순서는 곧 패킷의 손실로 해석되어 손실 패킷에 대해 재전송을 요청하며, 네트워크가 혼잡하다고 판단하여 송신기의 전송속도를 낮추게 된다. 이는 TCP의 기능 중에 하나인 혼잡제어이다. 하지만 순서가 어긋난 패킷이 손실이 아닌 경로의 특성 차이에 의해 패킷의 도착 순서가 바뀐 경우에는 패킷 손실로 판단되어서는 안된다. 그렇지 않으면 재전송에 의한 중복 패킷의 수신으로 인하여 네트워크 성능이 저하된다. Since the conventional TCP (Transmission Control Protocol) is based on sequential packet transmission, the out-of-order packet is interpreted as a loss of a packet, requesting retransmission of the lost packet, and determining that the network is congested. Will be lowered. This is one of the functions of TCP, congestion control. However, when packets arrive out of order and the packet arrival order is changed due to a difference in path characteristics, the packet loss should not be determined. Otherwise, network performance is degraded due to the reception of duplicate packets by retransmission.

또한, 기존의 TCP를 이용할 때 경로 별로 차등적으로 패킷을 할당하게 된다면 수신단에서 패킷의 순서를 재조합 해야 하는 부담이 늘어나게 된다.In addition, when a packet is differentially allocated to each path when using the existing TCP, the burden of recombining the order of the packets increases at the receiving end.

따라서, 멀티홈잉의 장점을 이용하여 동시에 다중경로로 데이터를 전송하는 프로토콜의 연구가 꾸준히 진행되어 왔다. 즉 멀티홈잉 네트워크에서 단말은 독립적인 다수의 경로를 가지고 있다. 이러한 환경 하에서 단말은 각각의 경로를 통하여 데이터를 전송한다. 이를 위하여 기존의 전송 프로토콜을 수정한 다중경로 전송프로토콜의 개발이 많이 이루어지고 있다. 이렇게 다중경로 전송을 통해 전체적인 네트워크 성능의 향상과 안정적인 데이터 전송을 기대할 수 있다. Accordingly, researches on protocols for transmitting data in multipaths at the same time by using the advantages of multihoming have been steadily progressed. That is, in a multihomed network, a terminal has a plurality of independent paths. In this environment, the terminal transmits data through each path. To this end, the development of a multipath transmission protocol modified from the existing transmission protocol is being made. Through multipath transmission, overall network performance and stable data transmission can be expected.

하지만 기존의 다중경로 전송 프로토콜은 이질적인 네트워크 하에서 효율적이지 못하다.However, existing multipath transmission protocols are not efficient under heterogeneous networks.

하지만 지금까지 제시된 다중경로 전송 프로토콜은 각 경로의 특성이 다른 이질적인 환경에서 성능이 저하되는 문제점이 있다. However, the multipath transmission protocols presented so far have a problem in that performance is degraded in heterogeneous environments with different characteristics of each path.

또한, 멀티홈잉 네트워크에서 동시에 이질적인 경로로 데이터를 전송하였을 때 수신기에 도착한 패킷의 순서가 어긋하게 된다. 기존의 다중경로 전송 프로토콜은 이러한 송신기의 뒤바뀐 순서를 올바르게 처리할 수 있도록 제안되었지만 경로의 특성이 매우 다른 경우 기존의 프로토콜은 한계가 있다. In addition, when data is transmitted over heterogeneous paths simultaneously in a multihomed network, packets arriving at a receiver are out of order. Conventional multipath transmission protocols have been proposed to correctly handle the reversed order of these transmitters. However, existing protocols have limitations when path characteristics are very different.

따라서, 본 발명이 이루고자 하는 기술적 과제는 멀티홈잉 네트워크에서 채널 특성이 이질적인 다수의 네트워크 경로를 통하여 데이터를 동시에 전송할 때 파운틴 코드를 이용하여 효율적으로 다중경로 전송을 할 수 있는 방법, 이를 수행하는 송신 단말 및 수신 단말을 제공하는 것이다.Accordingly, a technical problem to be achieved by the present invention is a method for efficiently transmitting multipath using a fountain code when simultaneously transmitting data through multiple network paths having heterogeneous channel characteristics in a multihomed network, and a transmitting terminal performing the same. And to provide a receiving terminal.

본 발명의 한 특징에 따르면 다중 경로 전송 방법이 제공된다. 이 방법은, 송신 단말이 응용 계층의 연속적인 데이터를 파운틴 코드-여기서 파운틴 코드는 이레이저(Erasure) 채널로 표현되는 네트워크 상에서 다수에게 전송하는 브로드캐스팅 및 멀티캐스팅에 적합하도록 개발된 채널 부호화 기술임-를 이용하여 인코딩하는 단계; 및 파운틴 코드로 인코딩된 패킷을 둘 이상의 서로 다른 네트워크 경로를 통하여 전송하는 단계를 포함한다.According to one aspect of the present invention, a multipath transmission method is provided. This method is a channel encoding technique developed for broadcasting and multicasting in which a transmitting terminal transmits continuous data of an application layer to a fountain code, where the fountain code is transmitted to a large number on a network represented by an erasure channel. Encoding with-; And transmitting the packet encoded with the fountain code through two or more different network paths.

본 발명의 다른 특징에 따르면 다중 경로 수신 방법이 제공된다. 이 방법은, 수신 단말이 송신 단말로부터 둘 이상의 서로 다른 네트워크 경로를 통하여 파운틴 코드로 인코딩된 패킷을 수신하는 단계; 및 상기 인코딩된 패킷을 수신 순서에 관계없이 디코딩하는 단계를 포함한다.According to another feature of the present invention, a multipath reception method is provided. The method comprises the steps of: a receiving terminal receiving a packet encoded with a fountain code from at least one different network path from a transmitting terminal; And decoding the encoded packet regardless of the reception order.

본 발명의 또 다른 특징에 따르면 송신 단말이 제공된다. 이 단말은, 이레이저(Erasure) 채널을 사용하는 둘 이상의 서로 다른 네트워크 경로와 접속되는 둘 이상의 네트워크 인터페이스; 송신 단말이 응용 계층의 연속적인 데이터를 파운틴 코드-여기서 파운틴 코드는 상기 이레이저 채널로 표현되는 네트워크 상에서 다수에게 전송하는 브로드캐스팅 및 멀티캐스팅에 적합하도록 개발된 채널 부호화 기술임-를 이용하여 인코딩하는 인코더; 및 파운틴 코드로 인코딩된 패킷을 상기 둘 이상의 네트워크 인터페이스를 통하여 전송하는 전송부를 포함한다.According to another feature of the invention there is provided a transmitting terminal. The terminal includes: at least two network interfaces connected with at least two different network paths using an erasure channel; A transmitting terminal encodes continuous data of an application layer using a fountain code, where the fountain code is a channel encoding technique developed for broadcasting and multicasting, which is transmitted to a plurality of users on a network represented by the erasure channel. Encoder; And a transmitter for transmitting a packet encoded with a fountain code through the two or more network interfaces.

본 발명의 또 다른 특징에 따르면 수신 단말이 제공된다. 이 단말은, 이레이저(Erasure) 채널을 사용하는 둘 이상의 서로 다른 네트워크 경로와 접속되는 둘 이상의 네트워크 인터페이스; 상기 둘 이상의 네트워크 인터페이스를 통하여 파운틴 코드로 인코딩된 패킷을 각각 수신하는 수신부; 및 상기 인코딩된 패킷을 수신 순서에 관계없이 디코딩하는 디코더를 포함한다.According to another feature of the invention there is provided a receiving terminal. The terminal includes: at least two network interfaces connected with at least two different network paths using an erasure channel; A receiving unit for receiving packets encoded with a fountain code through the two or more network interfaces, respectively; And a decoder for decoding the encoded packet regardless of the reception order.

본 발명의 실시예에 따르면, 파운틴 코드를 이용함으로써 멀티홈잉 네트워크 하에서 동시에 채널특성이 이질적인 다수의 네트워크 경로를 통하여 데이터를 전송할 때 발생되는 문제점을 해결한다. 따라서, 이질적인 멀티홈잉 네트워크의 전체적인 성능을 향상 시킬 수 있을 뿐 아니라, 갑작스럽게 하나의 망이 단절되더라도 안정적인 데이터 전송을 가능하게 한다.According to an embodiment of the present invention, using a fountain code solves a problem that occurs when transmitting data over multiple network paths having heterogeneous channel characteristics simultaneously under a multihomed network. Thus, not only the overall performance of heterogeneous multihomed networks can be improved, but also stable data transmission is possible even if one network is suddenly disconnected.

또한, 종래에 TCP를 이용할 때 경로 별로 차등적으로 패킷을 할당하게 된다면 수신단에서 패킷의 순서를 재조합 해야 하는 부담이 늘어나게 되지만 파운틴 코드를 이용하게 되면 이러한 제약 없이 데이터를 수신하게 되며 네트워크의 특성을 충분히 고려하여 데이터 전송을 할 수 있다.In addition, in case of using TCP in the related art, if the packet is differentially allocated for each path, the burden of recombining the order of the packets is increased at the receiving end. However, using the fountain code, the data is received without this restriction, and the characteristics of the network are sufficient. Data transfer can be taken into consideration.

도 1은 본 발명의 실시예에 따른 멀티홈잉 네트워크 구성도이다.
도 2는 본 발명의 실시예에 따른 송신 단말의 세부적인 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 네트워크 경로의 특성을 고려한 패킷 스케줄링을 나타낸다.
도 4 내지 도 7은 본 발명의 실시예에 따른 네트워크 경로의 특성을 고려한 패킷 분할 단위를 나타낸다.
도 8은 본 발명의 실시예에 따른 수신 단말의 세부적인 구성을 나타낸 블록도이다.
도 9는 본 발명의 실시예에 따른 다중 경로 전송 방법을 나타낸 순서도이다.
도 10은 본 발명의 실시예에 따른 다중 경로 수신 방법을 나타낸 순서도이다.
1 is a block diagram of a multihomed network according to an exemplary embodiment of the present invention.
2 is a block diagram showing a detailed configuration of a transmitting terminal according to an embodiment of the present invention.
3 shows packet scheduling in consideration of characteristics of a network path according to an embodiment of the present invention.
4 to 7 illustrate packet splitting units in consideration of characteristics of a network path according to an embodiment of the present invention.
8 is a block diagram showing a detailed configuration of a receiving terminal according to an embodiment of the present invention.
9 is a flowchart illustrating a multipath transmission method according to an embodiment of the present invention.
10 is a flowchart illustrating a multi-path receiving method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary 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. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성 요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when an element is referred to as "comprising ", it means that it can include other elements as well, without excluding other elements unless specifically stated otherwise.

이하, 도면을 참조로 하여 본 발명의 실시예에 따른 멀티홈잉 네트워크에서 다중 경로 전송, 수신 방법, 송신 단말 및 수신 단말에 대하여 상세히 설명한다.Hereinafter, a multipath transmission, a reception method, a transmission terminal, and a reception terminal in a multihomed network according to an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예에서는 파운틴 코드를 이용하는데, 파운틴 코드는 이레이저(Erasure) 채널로 표현되는 네트워크 상에서 다수에게 전송하는 브로드캐스팅 및 멀티캐스팅에 적합하도록 개발된 채널 부호화 기술이다. In an embodiment of the present invention, a fountain code is used. The fountain code is a channel encoding technique developed for broadcasting and multicasting to be transmitted to a large number on a network represented by an erasure channel.

여기서, 이레이저 채널은 패킷이 에러 없이 완벽하게 수신되거나 수신이 되지 않는 특성을 가지는 채널을 통칭한다. 파운틴 코드는 이러한 이레이저 채널을 위해 고안된 이레이저 코드의 한 종류이다.Here, the erasure channel refers to a channel having a characteristic that a packet is completely received or not received without error. Fountain codes are a type of erasure code designed for such erasure channels.

파운틴 코드의 특징은 오리지널 데이터와 같은 크기를 갖는다면 어떠한 인코딩 패킷들의 집합으로부터 오리지널 데이터를 복원할 수 있다는 것이다. 하지만 이는 이상적인 경우이며 실제로는 오리지널 데이터보다 더 많은 양의 인코딩 패킷을 필요로 한다. k개의 오리지날 데이터를 복원하기 위해 k'개의 패킷이 필요하다고 할 때 k'/k를 디코딩 무효능(inefficiency)라고 한다. 이렇듯 파운틴 코드는 전송중에 생기는 패킷의 손실을 무시하고 충분한 양의 패킷을 수신하기만 하면 된다.A feature of the fountain code is that it can recover the original data from any set of encoded packets if it has the same size as the original data. However, this is an ideal case and actually requires a larger amount of encoded packets than the original data. When k 'packets are needed to restore k original data, k' / k is called decoding efficiency. As such, the fountain code only needs to receive enough packets, ignoring any loss of packets in transit.

즉 어떤 패킷을 수신하였는가가 중요한 것이 아니라 얼마만큼의 패킷을 수신하였는지가 중요하다. In other words, it is not important which packet is received, but how many packets are received.

따라서, 파운틴 코드로 인코딩한 패킷을 다중 경로로 전송하면 각 경로에서 어떠한 패킷이 손실되었는지 도착한 패킷이 어떤지 혹은 그 순서가 어떤지는 더 이상 문제가 되지 않는다. 수신단이 충분한 양의 데이터를 수신하기만 하면 된다.Therefore, if a packet encoded with a fountain code is transmitted in multiple paths, it is no longer a matter of which packets are lost on each path, whether the packets arrive or the order of the packets. The receiving end only needs to receive a sufficient amount of data.

따라서, 본 발명의 실시예에서는 이러한 파운틴 코드의 특성을 이용하여 다중 경로 상에서의 전송, 수신 구성에 대해서 설명한다.Therefore, embodiments of the present invention will be described for the transmission and reception configuration on the multi-path using the characteristics of the fountain code.

도 1은 본 발명의 실시예에 따른 멀티홈잉 네트워크 구성도이다.1 is a block diagram of a multihomed network according to an exemplary embodiment of the present invention.

여기서, 멀티홈잉 네트워크는 하나의 단말이 다수의 네트워크 인터페이스를 가짐으로써 이를 이용하여 다수의 네트워크 경로를 설정할 수 있는 것을 말한다. 이렇게 설정된 경로는 자신만의 IP 주소를 가지며 독립적인 데이터 전송을 할 수 있다. Here, the multihomed network means that one terminal has a plurality of network interfaces so that a plurality of network paths can be set using the same. This route has its own IP address and can transmit data independently.

도 1을 참조하면, 각각 두 개의 네트워크 인터페이스를 갖는 송신 단말(100)과 수신 단말(200)을 나타낸다. 즉 송신 단말(100) 및 수신 단말(200)은 무선 네트워크1(300) 및 무선 네트워크2(400)에 각각 연결되어 통신한다.Referring to FIG. 1, a transmitting terminal 100 and a receiving terminal 200 each having two network interfaces are shown. That is, the transmitting terminal 100 and the receiving terminal 200 are connected to and communicate with the wireless network 1 300 and the wireless network 2 400, respectively.

이때, 송신 단말(100)은 무선 네트워크1(300) 및 무선 네트워크2(400) 각각의 네트워크 경로를 통하여 동시에 데이터를 전송할 수 있다.In this case, the transmitting terminal 100 may simultaneously transmit data through the network paths of the wireless network 1 300 and the wireless network 2 400, respectively.

또한, 네트워크 인터페이스의 수는 이에 한정되지 않으며, 복수개 존재할 수 있다.In addition, the number of network interfaces is not limited thereto, and a plurality of network interfaces may exist.

이하, 송신 단말(100) 및 수신 단말(200)의 구성에 대해 상세히 살펴보기로 한다.Hereinafter, the configuration of the transmitting terminal 100 and the receiving terminal 200 will be described in detail.

도 2는 본 발명의 실시예에 따른 송신 단말의 세부적인 구성을 나타낸 블록도이고, 도 3은 본 발명의 실시예에 따른 네트워크 경로의 특성을 고려한 패킷 스케줄링을 나타내며, 도 4 내지 도 7은 본 발명의 실시예에 따른 네트워크 경로의 특성을 고려한 패킷 분할 단위를 나타낸다.2 is a block diagram showing a detailed configuration of a transmitting terminal according to an embodiment of the present invention, Figure 3 shows a packet scheduling in consideration of the characteristics of the network path according to an embodiment of the present invention, Figures 4 to 7 The packet division unit considering the characteristics of the network path according to an embodiment of the present invention is shown.

여기서, 도 2를 참조하면, 송신 단말(100)은 네트워크 상태 분석부(110), 패킷 스케줄러(120), 인코더(130), 전송부(140), 네트워크 인터페이스1(150) … 네트워크 인터페이스2(160)를 포함한다.Here, referring to FIG. 2, the transmitting terminal 100 includes a network state analyzer 110, a packet scheduler 120, an encoder 130, a transmitter 140, and a network interface 1 150. Network interface 2 (160).

네트워크 상태 분석부(110)는 피드백 채널(500)을 통하여 수신 단말(200)로부터 둘 이상의 네트워크 경로의 상태 정보를 수집한다. 이때, 전송 계층에서 각 경로의 상태를 알 수 있는데, 파운틴 계층을 전송 계층 위에 오도록 설계한다. 이렇게 하면, 전송 계층에서의 피드백을 통해서 각 경로의 상태를 잘 파악할 수 있다.The network state analyzer 110 collects state information of two or more network paths from the receiving terminal 200 through the feedback channel 500. At this time, the state of each path in the transport layer can be known, and the fountain layer is designed to be above the transport layer. In this way, feedback from the transport layer can be used to better understand the state of each path.

패킷 스케줄러(120)는 네트워크 상태 분석부(110)가 수집한 상태 정보에 기초하여 블록을 구성하는 패킷의 길이를 결정한다. 즉 네트워크 경로의 상태에 맞게 최적화된 데이터 스케줄링을 하는 것이다. 각 네트워크 경로의 상태를 고려하여 패킷의 양을 다르게 할당한다.The packet scheduler 120 determines the length of a packet constituting the block based on the state information collected by the network state analyzer 110. That is, data scheduling optimized for the state of the network path. The amount of packets is allocated differently considering the state of each network path.

즉 패킷 스케줄러(120)는 각 네트워크 경로의 특성이 다르다고 할 때 채널의 상태가 좋은 경로에 더 많은 패킷을 할당하도록 스케줄링한다.That is, the packet scheduler 120 schedules to allocate more packets to a path having a good channel state when the characteristics of each network path are different.

도 3을 참조하면, PATH2의 상태가 가장 좋고 PATH1의 상태가 가장 나쁘다. 따라서, PATH2에 가장 많은 패킷이 할당되고, 그 다음으로 PATH3에 패킷이 할당되며, 마지막으로 PATH1에 가장 적은 패킷이 할당되도록 스케줄링한다. 3, the state of PATH2 is the best and the state of PATH1 is the worst. Therefore, the most packets are allocated to PATH2, then the packets are allocated to PATH3, and finally the schedules are assigned to the smallest packets to PATH1.

또한, 채널의 상태에 따라 안정적으로 전송할 수 있는 패킷의 길이는 달라진다. 채널의 상태가 좋을 때 긴 패킷을 전송하여도 문제가 없지만 채널의 상태가 좋지 않을 경우 길이가 긴 패킷은 안정적으로 전송되기가 어렵다. 따라서, 채널의 상태에 따라서 패킷의 길이를 바꿀수 있다면 좀 더 신뢰적이고 효율적인 데이터 전송을 할 수 있다. In addition, the length of a packet that can be stably transmitted varies depending on the state of the channel. It is not a problem to transmit long packets when the channel is in good condition, but long packets are difficult to be transmitted stably when the channel is in poor condition. Therefore, if the length of the packet can be changed according to the channel state, more reliable and efficient data transmission can be achieved.

패킷 스케줄러(120)는 파운틴 계층에서 블록을 형성하는 단계에서 채널의 상태에 따라 블록의 길이를 조절함으로써 패킷의 길이를 다르게 할 수 있다. 또한, 블록을 몇 개의 패킷으로 나누냐에 따라서도 각 패킷의 길이를 다르게 할 수 있다.The packet scheduler 120 may vary the length of the packet by adjusting the length of the block according to the state of the channel in the step of forming the block in the fountain layer. Also, the length of each packet can be different depending on how many packets are divided into blocks.

임의의 네트워크 경로에 대해 도 4, 도 6은 상대적으로 채널 상태가 양호할 경우를 나타내고, 도 5, 도 7은 상대적으로 채널 상태가 불량한 경우를 나타낸다.4 and 6 show a relatively good channel condition for any network path, and FIGS. 5 and 7 show a relatively poor channel state.

이때, 도 4를 참조하면, 어플리케이션 계층(Application Layer)에서 발생한 임의의 길이를 가진 데이터는 두 개의 블록(block1, block2)으로 분할되고, 각각의 블록(block1, block2)은 6개의 패킷으로 구성된다.In this case, referring to FIG. 4, data having an arbitrary length generated in an application layer is divided into two blocks block1 and block2, and each block block1 and block2 includes six packets. .

반면, 도 5를 참조하면, 어플리케이션 계층에서 발생한 임의의 길이를 가진 데이터를 네 개의 블록(B1, B2, B3, B4)으로 분할되고, 각각의 블록(B1, B2, B3, B4)은 6개의 패킷으로 구성된다. On the other hand, referring to Figure 5, the data having any length generated in the application layer is divided into four blocks (B1, B2, B3, B4), each block (B1, B2, B3, B4) is divided into six It consists of packets.

즉 블록의 분할 길이를 조절하여 결국 패킷의 길이를 다르게 설정할 수 있는 것이다.In other words, the length of the packet can be set differently by adjusting the partition length of the block.

또한, 도 6을 참조하면, 어플리케이션 계층에서 발생한 임의의 길이를 가진 데이터는 네 개의 블록(B1, B2, B3, B4)으로 분할되고, 각각의 블록(B1, B2, B3, B4)은 10개의 패킷으로 구성된다.6, data having an arbitrary length generated in an application layer is divided into four blocks B1, B2, B3, and B4, and each block B1, B2, B3, and B4 includes ten pieces of data. It consists of packets.

반면, 도 7을 참조하면, 어플리케이션 계층에서 발생한 임의의 길이를 가진 데이터는 네 개의 블록(B1, B2, B3, B4)으로 분할되고, 각각의 블록(B1, B2, B3, B4)은 5개의 패킷으로 구성된다. On the other hand, referring to Figure 7, the data having an arbitrary length generated in the application layer is divided into four blocks (B1, B2, B3, B4), each block (B1, B2, B3, B4) is five It consists of packets.

즉 하나의 블록을 구성하는 패킷의 개수를 다르게 하여 결국 패킷의 길이를 다르게 설정할 수 있는 것이다.In other words, by varying the number of packets constituting one block, the length of the packet can be set differently.

인코더(130)는 다중 경로로 데이터를 전송하기 전에 어플리케이션 계층에서 발생한 임의의 길이를 가진 데이터를 패킷 스케줄러(120)에서 결정한 블록 개수 또는 패킷 개수에 따라 복수의 블록으로 분할한 후, 분할된 블록을 각각의 파운틴 코드를 이용하여 독립적으로 인코딩한다. 이때, 모듈로-2 덧셈을 통하여 인코딩한다.The encoder 130 divides the data having an arbitrary length generated in the application layer into a plurality of blocks according to the number of blocks or the number of packets determined by the packet scheduler 120 before transmitting data through the multipath, and then divides the divided blocks. Encode independently using each fountain code. At this time, encoding is performed through modulo-2 addition.

전송부(140)는 인코더(130)가 파운틴 코드로 인코딩한 각각의 패킷에 파운틴 헤더를 추가한다. 또한, 파운틴 헤더가 추가된 패킷에 전송 순서를 나타내는 인덱스를 할당한다. The transmitter 140 adds a fountain header to each packet encoded by the encoder 130 by the fountain code. In addition, an index indicating a transmission order is assigned to a packet to which a fountain header is added.

이러한 인덱스는 Sequence Number(TCP), Transmission Sequence Number(SCTP)이다. 인덱스는 패킷의 전송 순서를 나타내며 TCP 또는 SCTP와 같은 전송 프로토콜에서 신뢰적인 정보 전송을 위해 패킷에 부여되는 번호이다. These indexes are Sequence Number (TCP) and Transmission Sequence Number (SCTP). An index indicates a packet transmission order and is a number given to a packet for reliable information transmission in a transmission protocol such as TCP or SCTP.

인덱스를 기초로 수신 패킷의 순서와 손실 유무를 파악할 수 있다. 또한, 송신 단말(100)에서는 ACK의 인덱스를 이용하여 수신 단말(200)이 몇 개의 패킷을 정상적으로 수신하였는지를 알 수 있다.Based on the index, the order of received packets and whether or not they are lost can be determined. In addition, the transmitting terminal 100 may know how many packets the receiving terminal 200 has normally received using the index of the ACK.

그리고 전송부(140)는 파운틴 헤더가 추가되고, 인덱스가 할당된 패킷을 전송하는데, 서로 다른 네트워크 경로 별로 패킷 스케줄러(120)에서 결정한 패킷 양만큼 할당하여 전송한다.The transmitter 140 transmits a packet to which a fountain header is added and an index is assigned. The transmitter 140 allocates and transmits the packet amount determined by the packet scheduler 120 for each network path.

여기서, 파운틴 헤더는 인코딩 패킷에 대한 정보를 포함한다. 즉 인코딩 패킷의 degree(몇 개의 오리지널 패킷의 모듈로-2연산으로 이루어졌는지를 나타내는 수)와 Pseudo Random generator의 Seed값(인코딩 패킷에 사용된 오리지날 패킷에 대한 정보를 나타냄)을 포함한다. Here, the fountain header includes information about the encoding packet. That is, it includes the degree of the encoding packet (number indicating how many original packets are modulo-2 operations) and the Seed value of the pseudo random generator (representing information on the original packet used in the encoding packet).

이때, 전송부(140)는 수신 단말(200)로부터 ACK가 수신되는 경우, 새로운 파운틴 패킷에 대한 전송 동작을 수행한다. 그러나 ACK가 수신되지 않는 경우, 새로운 파운틴 패킷에 ACK가 수신되지 않은 파운틴 패킷에 할당된 인덱스를 할당하여 전송한다.At this time, when the ACK is received from the receiving terminal 200, the transmitting unit 140 performs a transmission operation for a new fountain packet. However, when the ACK is not received, the new fountain packet is allocated an index assigned to the fountain packet for which no ACK is received and transmitted.

네트워크 인터페이스1(150), … 네트워크 인터페이스n(160)는 둘 이상의 서로 다른 네트워크와 접속되어 서로 다른 둘 이상의 네트워크 경로로 파운틴 패킷을 전송한다.Network interface 1 150... The network interface n 160 is connected to two or more different networks and transmits fountain packets through two or more different network paths.

다음, 도 8은 본 발명의 실시예에 따른 수신 단말의 세부적인 구성을 나타낸 블록도이다.8 is a block diagram showing the detailed configuration of a receiving terminal according to an embodiment of the present invention.

도 8을 참조하면, 수신 단말(200)은 측정부(210), 전송부(220), 네트워크 인터페이스1(230), … 네트워크 인터페이스n(240), 수신부(250) 및 디코더(260)를 포함한다.Referring to FIG. 8, the receiving terminal 200 includes a measuring unit 210, a transmitting unit 220, a network interface 1 230,. The network interface n 240, the receiver 250, and the decoder 260 are included.

측정부(210)는 둘 이상의 서로 다른 네트워크 경로 각각의 상태를 측정한다. 즉 네트워크 인터페이스1(230), … 네트워크 인터페이스n(240) 각각이 연결된 무선 네트워크의 기지국(미도시)을 통해 네트워크 상태를 수집한다. 예컨대, 트래픽 부하 등을 수집할 수 있다.The measuring unit 210 measures the state of each of two or more different network paths. Network interface 1 230,... Each network interface n 240 collects a network state through a base station (not shown) of a wireless network to which each of the network interfaces n 240 is connected. For example, traffic load and the like can be collected.

전송부(220)는 측정부(210)가 획득한 둘 이상의 서로 다른 네트워크 경로 각각의 상태 정보를 피드백 채널(500)을 통하여 송신 단말(100)로 전송한다.The transmitter 220 transmits state information of each of two or more different network paths obtained by the measurer 210 to the transmitting terminal 100 through the feedback channel 500.

네트워크 인터페이스1(230), … 네트워크 인터페이스n(240)는 둘 이상의 서로 다른 네트워크와 접속되어 서로 다른 둘 이상의 네트워크 경로로 파운틴 패킷을 수신한다.Network interface 1230,... The network interface n 240 is connected to two or more different networks to receive a fountain packet through two or more different network paths.

수신부(250)는 네트워크 인터페이스1(230), … 네트워크 인터페이스n(240)를 통하여 파운틴 코드로 인코딩된 패킷을 각각 수신한다. 이때, 패킷은 에러없이 수신되거나 수신되지 않는다. Receiver 250 is network interface 1 230... Receive a packet encoded with the fountain code via the network interface n (240), respectively. At this time, the packet is received or not received without error.

또한, 수신부(250)는 인코딩된 패킷의 수신을 알리는 ACK를 송신 단말(100)로 전송한다. 수신부(250)는 파운틴 계층으로 패킷을 전달하면서, 인덱스를 제거한다.In addition, the receiver 250 transmits an ACK indicating the reception of the encoded packet to the transmitting terminal 100. The receiver 250 removes an index while delivering a packet to the fountain layer.

디코더(260)는 수신부(250)가 수신한 인코딩된 패킷을 수신 순서에 관계없이 디코딩한다. 즉 인코딩된 패킷로부터 오리지널 데이터를 복원한다. The decoder 260 decodes the encoded packet received by the receiver 250 regardless of the reception order. That is, the original data is restored from the encoded packet.

여기서, 디코더(260)는 인코딩된 패킷의 파운틴 헤더에 수록된 정보를 이용하여 오리지널 패킷을 복호한다.Here, the decoder 260 decodes the original packet by using the information contained in the fountain header of the encoded packet.

그러면, 이상 설명한 구성에 기초하여 다중 경로 전송 방법 및 다중 경로 수신 방법에 대해 설명한다. Then, a multipath transmission method and a multipath reception method will be described based on the above-described configuration.

이때, 도 1 내지 도 8과 동일한 구성 요소에 대한 설명에서는 동일한 도면 부호를 사용한다.In this case, the same reference numerals are used to describe the same components as those of FIGS. 1 to 8.

먼저, 도 9는 본 발명의 실시예에 따른 다중 경로 전송 방법을 나타낸 순서도이다.First, FIG. 9 is a flowchart illustrating a multipath transmission method according to an embodiment of the present invention.

도 9를 참조하면, 송신 단말(100)의 인코더(130)가 응용 계층의 연속적인 데이터를 패킷 스케줄러(120)가 결정한 k개의 패킷으로 구성된 블록으로 분할한다(101). 그리고 송신 단말(100)의 인코더(130)는 분할된 블록 단위의 패킷을 파운틴 코드를 이용하여 인코딩한다(S103).Referring to FIG. 9, the encoder 130 of the transmitting terminal 100 divides continuous data of an application layer into blocks composed of k packets determined by the packet scheduler 120 (101). The encoder 130 of the transmitting terminal 100 encodes the packet of the divided block unit using a fountain code (S103).

그러면, 송신 단말(100)의 전송부(140)가 S103 단계에서 인코딩된 패킷에 파운틴 헤더를 추가(S105)한다. 그리고 전송 순서를 나타내는 번호 즉 인덱스를 순차적으로 할당한다(S107). 이때, 기본적인 원칙은 전송 계층에 도착한 순서대로 번호를 할당한다.Then, the transmitting unit 140 of the transmitting terminal 100 adds the fountain header to the packet encoded in step S103 (S105). The numbers indicating the transmission order, that is, the indexes, are sequentially assigned (S107). In this case, the basic principle is to assign numbers in the order in which they arrive at the transport layer.

그리고 송신 단말(100)의 전송부(140)는 패킷 스케줄러(120)가 결정한 패킷 양만큼 각 네트워크 경로에 분배하여 각 네트워크 경로로 파운틴 패킷을 연속적으로 전송한다(S109).In addition, the transmitting unit 140 of the transmitting terminal 100 distributes the amount of packets determined by the packet scheduler 120 to each network path and continuously transmits the fountain packet to each network path (S109).

이때, 송신 단말(100)의 전송부(140)는 전송된 패킷에 대한 ACK가 정상적으로 수신되었는지를 판단한다(S111). At this time, the transmitting unit 140 of the transmitting terminal 100 determines whether the ACK for the transmitted packet is normally received (S111).

이때, 정상적으로 ACK가 수신되었을 경우 S107 단계로 귀환한다. At this time, if ACK is normally received, the process returns to step S107.

그러나 정상적으로 ACK 를 수신하지 못하고 중복 ACK가 수신될 경우에는 패킷의 손실을 의미한다. 이러한 경우 송신 단말(100)의 전송부(140)는 새로운 인코딩 패킷에 손실된 패킷의 번호를 다시 부여(S113)한 후, S109 단계로 귀환한다. 이렇게 하면, 송신 단말(100)은 수신 단말(200)이 몇 개의 패킷을 수신하였는지 알 수 있다.However, if a normal ACK is not received and duplicate ACKs are received, this means packet loss. In this case, the transmitting unit 140 of the transmitting terminal 100 renumbers the lost packet to the new encoding packet (S113), and then returns to step S109. In this way, the transmitting terminal 100 may know how many packets the receiving terminal 200 has received.

도 10은 본 발명의 실시예에 따른 다중 경로 수신 방법을 나타낸 순서도이다.10 is a flowchart illustrating a multi-path receiving method according to an embodiment of the present invention.

도 10을 참조하면, 수신 단말(200)의 수신부(250)는 네트워크 인터페이스1(230), … 네트워크 인터페이스n(240)를 통하여 파운틴 코드로 인코딩된 패킷을 각각 수신한다(S201). Referring to FIG. 10, the receiving unit 250 of the receiving terminal 200 includes network interface 1 230,. Packets encoded with the fountain code are respectively received through the network interface n 240 (S201).

이때, 수신부(250)는 도착 순서에 상관없이 수신된 패킷을 배열한다(S203). 즉 다중 경로를 통해 전송된 파운틴 패킷이 도착하게 되면 도착 순서에 상관없이 도착과 동시에 파운틴 계층으로 보낸다.At this time, the receiver 250 arranges the received packets regardless of the arrival order (S203). That is, when a Fountain packet transmitted through a multi-path arrives, it is sent to the Fountain layer at the same time as it arrives.

그리고, 디코더(260)는 수신부(250)를 통해 전달받은 파운틴 패킷이 k'개가 되면 이들로부터 오리지널 패킷을 복원한다(S205). 이렇게 복원된 오리지널 패킷은 최종적으로 응용 계층으로 전달된다.
When the number of fountain packets transmitted through the receiving unit 250 is k ', the decoder 260 restores original packets from them (S205). The original packet thus restored is finally delivered to the application layer.

이상 설명한 구성은, 예컨대 소프트웨어 제품을 제공하는 회사들이 자신의 제품을 구매한 소비자에 대해 제품의 업데이트를 제공하고자 할 때, 이용될 수 있다. 보통 이러한 제품의 업데이트는 짧은 시간 동안 다수의 소비자에게 제공되게 되는데 이때 파운틴 코드를 이용한 다중 경로 전송 방법을 사용하게 되면 보다 빠르고 효과적으로 업데이트 데이터를 전송할 수 있다. The configuration described above can be used, for example, when companies providing software products wish to provide an update of the product to consumers who have purchased their products. Typically, updates to these products will be available to a large number of consumers in a short time, using a multi-path transmission method using the fountain code to send update data more quickly and effectively.

특히, 송신단에서는 짧은 시간 안에 다수의 클라이언트(client)에게 전송해야 하기에 가능한 모든 인터페이스(interface)를 사용하여 신뢰적인 데이터를 전송할 수 있어야 한다. 그러나 종래의 UDP나 TCP를 이용해서는 위 두 가지 조건을 모두 만족할 수 없다. 그러나 파운틴 코드를 이용한 다중경로 전송방법을 이용한다면 위 두 가지 조건을 만족시킬 수 있다. 게다가 수신단에서는 다운로드 중간에 접속이 끊어 지더라도 처음부터 다시 받을 필요 없이 기존에 받았던 패킷에 추가적인 패킷을 더 받아 k'개의 패킷을 수신하면 된다.In particular, the transmitting end should be able to transmit reliable data using all possible interfaces since it must be transmitted to a large number of clients in a short time. However, both of the above conditions cannot be satisfied using conventional UDP or TCP. However, if the multipath transmission method using the fountain code is used, the above two conditions can be satisfied. Furthermore, even if the connection is lost in the middle of the download, the receiving end receives additional packets in addition to the previously received packets and receives k 'packets without having to receive them from the beginning.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, It belongs to the scope of right.

100: 송신 단말 110: 네트워크 상태 분석부
120: 패킷 스케줄러 130: 인코더
140: 전송부 150, 230: 네트워크 인터페이스1
160, 240: 네트워크 인터페이스n 200: 수신 단말
210: 측정부 220: 전송부
250: 수신부 260: 디코더
300: 무선 네트워크1 400: 무선 네트워크2
500: 피드백 채널 600: 이레이저 채널
100: transmitting terminal 110: network state analysis unit
120: packet scheduler 130: encoder
140: transmission unit 150, 230: network interface 1
160 and 240: network interface n 200: receiving terminal
210: measuring unit 220: transmission unit
250: receiver 260: decoder
300: wireless network 1 400: wireless network 2
500: feedback channel 600: erasure channel

Claims (23)

송신 단말이 응용 계층의 연속적인 데이터를 파운틴 코드-여기서 파운틴 코드는 이레이저(Erasure) 채널로 표현되는 네트워크 상에서 다수에게 전송하는 브로드캐스팅 및 멀티캐스팅에 적합하도록 개발된 채널 부호화 기술임-를 이용하여 인코딩하는 단계; 및
파운틴 코드로 인코딩된 패킷을 둘 이상의 서로 다른 네트워크 경로를 통하여 전송하는 단계를 포함하고,
상기 송신 단말은,
수신 단말이 둘 이상의 서로 다른 네트워크 경로 각각의 상태를 측정하여 획득한 상태 정보를 피드백 채널을 통하여 전송하면, 상기 상태 정보를 수신하는 다중 경로 전송 방법.
Using a fountain code, a transmitting terminal transmits continuous data of an application layer, where the fountain code is a channel encoding technique developed for broadcasting and multicasting, which is transmitted to a large number on a network represented by an erasure channel. Encoding; And
Transmitting a packet encoded with a fountain code through two or more different network paths,
The transmitting terminal,
And receiving the state information when a receiving terminal transmits state information obtained by measuring states of two or more different network paths through a feedback channel.
제1항에 있어서,
상기 인코딩하는 단계 이전에,
상기 데이터를 기 정의된 개수의 패킷으로 구성된 블록으로 분할하는 단계를 더 포함하고,
상기 인코딩하는 단계는,
상기 연속적인 데이터가 블록 단위로 분할된 각각의 패킷을 파운틴 코드로 독립적으로 인코딩하는 다중 경로 전송 방법.
The method of claim 1,
Before the step of encoding,
Dividing the data into blocks consisting of a predefined number of packets;
Wherein the encoding step comprises:
And independently encoding each packet in which the continuous data is divided into blocks by a fountain code.
제2항에 있어서,
상기 분할하는 단계는,
피드백 채널을 통하여 상기 수신 단말로부터 수집한 둘 이상의 네트워크 경로의 상태 정보에 기초하여 상기 블록을 구성하는 패킷의 길이를 결정하는 단계;
결정된 패킷의 길이를 이용하여 상기 블록으로 분할하는 단계
를 포함하는 다중 경로 전송 방법.
The method of claim 2,
Wherein the dividing step comprises:
Determining a length of a packet constituting the block based on state information of at least two network paths collected from the receiving terminal through a feedback channel;
Dividing into the block using the determined length of the packet
Multipath transmission method comprising a.
제3항에 있어서,
상기 결정하는 단계는,
블록을 구성하는 패킷의 길이 또는 블록을 구성하는 패킷의 개수를 결정하는 다중 경로 전송 방법.
The method of claim 3,
Wherein the determining comprises:
A multipath transmission method for determining the length of a packet constituting a block or the number of packets constituting a block.
제2항 내지 제4항 중 어느 한 항에 있어서,
상기 전송하는 단계는,
파운틴 코드로 인코딩된 각각의 패킷에 파운틴 헤더를 추가하는 단계;
상기 파운틴 헤더가 추가된 패킷을 상기 둘 이상의 네트워크 경로를 통하여 전송하는 단계
를 포함하는 다중 경로 전송 방법.
5. The method according to any one of claims 2 to 4,
The transmitting step,
Adding a fountain header to each packet encoded with a fountain code;
Transmitting the packet with the fountain header added through the two or more network paths;
Multipath transmission method comprising a.
제5항에 있어서,
상기 둘 이상의 네트워크 경로를 통하여 전송하는 단계는,
상기 파운틴 헤더가 추가된 패킷에 전송 순서를 나타내는 인덱스-여기서 인덱스는 수신 단말에서 복호화시 사용됨-를 할당하는 단계; 및
상기 인덱스가 할당된 파운틴 패킷을 전송하는 단계
를 포함하는 다중 경로 전송 방법.
The method of claim 5,
Transmitting through the two or more network paths,
Allocating an index indicating a transmission order to a packet to which the fountain header is added, wherein the index is used in decoding at a receiving terminal; And
Transmitting a fountain packet to which the index is assigned
Multipath transmission method comprising a.
제6항에 있어서,
상기 파운틴 패킷을 전송하는 단계 이후,
상기 수신 단말로부터 ACK가 수신되는지를 판단하는 단계;
상기 ACK가 수신되는 경우, 상기 할당하는 단계 및 상기 전송하는 단계를 수행하는 단계; 및
상기 ACK가 수신되지 않는 경우, 새로운 파운틴 패킷에 상기 ACK가 수신되지 않은 파운틴 패킷에 할당된 인덱스를 할당하여 전송하는 단계
를 더 포함하는 다중 경로 전송 방법.
The method according to claim 6,
After transmitting the fountain packet,
Determining whether an ACK is received from the receiving terminal;
When the ACK is received, performing the allocating and the transmitting; And
If the ACK is not received, assigning and transmitting an index assigned to the new packet having no ACK received in the packet;
Multipath transmission method further comprising.
제7항에 있어서,
상기 파운틴 패킷을 전송하는 단계 또는 상기 할당하여 전송하는 단계는,
피드백 채널을 통하여 상기 수신 단말로부터 수집한 둘 이상의 네트워크 경로의 상태 정보를 토대로 네트워크 경로 별 전송할 패킷을 스케줄링하는 단계; 및
상기 스케줄링에 따라 할당된 패킷을 네트워크 경로 별로 전송하는 단계
를 포함하는 다중 경로 전송 방법.
The method of claim 7, wherein
Transmitting the fountain packet or transmitting the allocation packet,
Scheduling packets to be transmitted for each network path based on state information of two or more network paths collected from the receiving terminal through a feedback channel; And
Transmitting the allocated packet for each network path according to the scheduling
Multipath transmission method comprising a.
수신 단말이 둘 이상의 서로 다른 네트워크 경로 각각의 상태를 측정하여 획득한 상태 정보를 피드백 채널을 통하여 송신 단말로 전송하는 단계;
상기 송신 단말로부터 상기 둘 이상의 서로 다른 네트워크 경로를 통하여 파운틴 코드로 인코딩된 패킷을 수신하는 단계; 및
상기 인코딩된 패킷을 수신 순서에 관계없이 디코딩하는 단계
를 포함하는 다중 경로 수신 방법.
Transmitting, by a receiving terminal, status information obtained by measuring states of two or more different network paths to a transmitting terminal through a feedback channel;
Receiving a packet encoded with a fountain code from the transmitting terminal through the two or more different network paths; And
Decoding the encoded packet regardless of the reception order
Multipath reception method comprising a.
제9항에 있어서,
상기 수신하는 단계와 상기 디코딩하는 단계 사이에,
상기 인코딩된 패킷의 수신을 알리는 ACK를 상기 송신 단말로 전송하는 단계
를 더 포함하는 다중 경로 수신 방법.
10. The method of claim 9,
Between the receiving step and the decoding step,
Transmitting an ACK to the transmitting terminal informing that the encoded packet is received.
Multi-path receiving method further comprising.
제9항 또는 제10항에 있어서,
상기 디코딩하는 단계는,
상기 인코딩된 패킷에 추가된 파운틴 헤더를 이용하여 디코딩하는 다중 경로 수신 방법.
11. The method according to claim 9 or 10,
The decoding step,
And decoding using a fountain header added to the encoded packet.
삭제delete 이레이저(Erasure) 채널을 사용하는 둘 이상의 서로 다른 네트워크 경로와 접속되는 둘 이상의 네트워크 인터페이스;
송신 단말이 응용 계층의 연속적인 데이터를 파운틴 코드-여기서 파운틴 코드는 상기 이레이저 채널로 표현되는 네트워크 상에서 다수에게 전송하는 브로드캐스팅 및 멀티캐스팅에 적합하도록 개발된 채널 부호화 기술임-를 이용하여 인코딩하는 인코더;
파운틴 코드로 인코딩된 패킷을 상기 둘 이상의 네트워크 인터페이스를 통하여 전송하는 전송부; 및
수신 단말이 둘 이상의 서로 다른 네트워크 경로 각각의 상태를 측정하여 획득한 상태 정보를 피드백 채널을 통하여 전송하면, 상기 피드백 채널을 통하여 상기 수신 단말로부터 상기 상태 정보를 수집하는 네트워크 상태 분석부
를 포함하는 송신 단말.
Two or more network interfaces connected with two or more different network paths using an erasure channel;
A transmitting terminal encodes continuous data of an application layer using a fountain code, where the fountain code is a channel encoding technique developed for broadcasting and multicasting, which is transmitted to a plurality of users on a network represented by the erasure channel. Encoder;
A transmitter for transmitting a packet encoded with a fountain code through the two or more network interfaces; And
When the receiving terminal transmits the state information obtained by measuring the state of each of two or more different network paths through a feedback channel, the network state analyzer to collect the state information from the receiving terminal through the feedback channel.
Transmission terminal comprising a.
제13항에 있어서,
상기 인코더는,
상기 데이터를 기 정의된 개수의 패킷으로 구성된 블록으로 분할하고, 상기 연속적인 데이터가 블록 단위로 분할된 각각의 패킷을 파운틴 코드로 독립적으로 인코딩하는 송신 단말.
The method of claim 13,
The encoder comprising:
And transmitting the data into blocks composed of a predetermined number of packets, and independently encoding each packet having the continuous data divided into blocks by a fountain code.
제14항에 있어서,
상기 상태 정보에 기초하여 상기 블록을 구성하는 패킷의 길이를 결정하는 패킷 스케줄러를 더 포함하고,
상기 인코더는,
상기 패킷 스케줄러가 결정한 패킷의 길이를 이용하여 상기 블록으로 분할하는 송신 단말.
15. The method of claim 14,
A packet scheduler for determining a length of a packet constituting the block based on the state information;
The encoder comprising:
The transmitting terminal divides the block into the block using the length of the packet determined by the packet scheduler.
제15항에 있어서,
상기 패킷 스케줄러는,
상기 네트워크 경로의 상태 정보를 토대로 네트워크 경로 별 전송할 패킷을 스케줄링하고, 네트워크 경로의 상태가 상대적으로 좋은 네트워크 경로에 더 많은 패킷 양을 할당하는 송신 단말.
16. The method of claim 15,
The packet scheduler,
The transmitting terminal schedules a packet to be transmitted for each network path based on the state information of the network path, and allocates a larger packet amount to a network path having a relatively good state of the network path.
제13항 내지 제16항 중 어느 한 항에 있어서,
상기 전송부는,
파운틴 코드로 인코딩된 각각의 패킷에 파운틴 헤더를 추가하여 전송하는 송신 단말.
17. The method according to any one of claims 13 to 16,
Wherein the transmission unit comprises:
A transmitting terminal for adding a fountain header to each packet encoded with a fountain code and transmitting the same.
제17항에 있어서,
상기 전송부는,
상기 파운틴 헤더가 추가된 패킷에 전송 순서를 나타내는 인덱스-여기서 인덱스는 수신 단말에서 복호화시 사용됨-를 할당하여 전송하는 송신 단말.
18. The method of claim 17,
Wherein the transmission unit comprises:
And transmitting an index indicating an order of transmission to the packet to which the fountain header is added, wherein the index is used in decoding at the receiving terminal.
제18항에 있어서,
상기 전송부는,
상기 수신 단말로부터 ACK가 수신되는지를 판단하고, 상기 ACK가 수신되는 경우, 새로운 파운틴 패킷에 대한 전송 동작을 수행하고, 상기 ACK가 수신되지 않는 경우, 상기 새로운 파운틴 패킷에 상기 ACK가 수신되지 않은 파운틴 패킷에 할당된 인덱스를 할당하여 전송하는 송신 단말.
19. The method of claim 18,
Wherein the transmission unit comprises:
It is determined whether an ACK is received from the receiving terminal, and when the ACK is received, a transmission operation for a new fountain packet is performed. If the ACK is not received, a fountain in which the ACK is not received in the new fountain packet is received. A transmitting terminal which allocates and transmits an index assigned to a packet.
이레이저(Erasure) 채널을 사용하는 둘 이상의 서로 다른 네트워크 경로와 접속되는 둘 이상의 네트워크 인터페이스;
상기 둘 이상의 네트워크 인터페이스를 통하여 파운틴 코드로 인코딩된 패킷을 각각 수신하는 수신부;
상기 인코딩된 패킷을 수신 순서에 관계없이 디코딩하는 디코더;
상기 둘 이상의 서로 다른 네트워크 경로 각각의 상태를 측정하는 측정부; 및
상기 측정부가 획득한 상기 둘 이상의 서로 다른 네트워크 경로 각각의 상태 정보를 피드백 채널을 통하여 송신 단말로 전송하는 전송부
를 포함하는 수신 단말.
Two or more network interfaces connected with two or more different network paths using an erasure channel;
A receiving unit for receiving packets encoded with a fountain code through the two or more network interfaces, respectively;
A decoder for decoding the encoded packet regardless of the reception order;
A measuring unit measuring a state of each of the two or more different network paths; And
Transmitter for transmitting the status information of each of the two or more different network paths obtained by the measurement unit to the transmitting terminal through a feedback channel
Receiving terminal comprising a.
제20항에 있어서,
상기 수신부는,
상기 인코딩된 패킷의 수신을 알리는 ACK를 상기 송신 단말로 전송하는 수신 단말.
21. The method of claim 20,
The receiver may further comprise:
Receiving terminal for transmitting to the transmitting terminal an ACK indicating the reception of the encoded packet.
제20항 또는 제21항에 있어서,
상기 디코더는,
상기 인코딩된 패킷에 추가된 파운틴 헤더를 이용하여 디코딩하는 수신 단말.
22. The method according to claim 20 or 21,
The decoder includes:
Receiving terminal for decoding using the fountain header added to the encoded packet.
삭제delete
KR1020100126637A 2010-06-18 2010-12-13 Transmission and received method for multi path in multi-homing network, transmission and received terminal thereof KR101217861B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020100057892 2010-06-18
KR20100057892 2010-06-18

Publications (2)

Publication Number Publication Date
KR20110138139A KR20110138139A (en) 2011-12-26
KR101217861B1 true KR101217861B1 (en) 2013-01-02

Family

ID=45504182

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100126637A KR101217861B1 (en) 2010-06-18 2010-12-13 Transmission and received method for multi path in multi-homing network, transmission and received terminal thereof

Country Status (1)

Country Link
KR (1) KR101217861B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740198B2 (en) 2016-12-22 2020-08-11 Purdue Research Foundation Parallel partial repair of storage

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101306304B1 (en) * 2012-02-24 2013-09-09 에스케이텔레콤 주식회사 Apparatus for simultaneously transmitting data in heterogeneous network
CN103814602B (en) 2011-09-19 2018-05-15 Sk电信有限公司 The apparatus and method of transmission service while for supporting the data based on Multi net voting
KR102114847B1 (en) 2013-10-18 2020-06-05 삼성전자주식회사 Apparatus and method for transmitting and receiving multimedia data in mobile communication system
KR101983088B1 (en) * 2017-06-23 2019-05-31 (주)넷비젼텔레콤 Method for UDP Packet Processing in the Multi-path Environment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070133420A1 (en) * 2005-10-24 2007-06-14 Tuna Guven Multipath routing optimization for unicast and multicast communication network traffic
KR20090073964A (en) * 2007-12-31 2009-07-03 인더스트리얼 테크놀로지 리서치 인스티튜트 System for donwloading real-time interaction data through mobile and broadcast converged networks and method thereof
US20090175214A1 (en) * 2008-01-02 2009-07-09 Interdigital Technology Corporation Method and apparatus for cooperative wireless communications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070133420A1 (en) * 2005-10-24 2007-06-14 Tuna Guven Multipath routing optimization for unicast and multicast communication network traffic
KR20090073964A (en) * 2007-12-31 2009-07-03 인더스트리얼 테크놀로지 리서치 인스티튜트 System for donwloading real-time interaction data through mobile and broadcast converged networks and method thereof
US20090175214A1 (en) * 2008-01-02 2009-07-09 Interdigital Technology Corporation Method and apparatus for cooperative wireless communications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10740198B2 (en) 2016-12-22 2020-08-11 Purdue Research Foundation Parallel partial repair of storage

Also Published As

Publication number Publication date
KR20110138139A (en) 2011-12-26

Similar Documents

Publication Publication Date Title
Hansen et al. Network coded software defined networking: Enabling 5G transmission and storage networks
WO2017185983A1 (en) Signaling transmitting and receiving methods, device, network-side device, terminal, and storage medium
KR102318021B1 (en) Method and apparatus for distributing packets over multiple links in mobile cellular networks
US9838166B2 (en) Data stream division to increase data transmission rates
US20160218979A1 (en) Apparatus and method for transmitting packets through multi-homing based network
KR20140134936A (en) Method and apparatus for transmitting and receiving data packets in a wireless communication system
Xu et al. CMT-NC: improving the concurrent multipath transfer performance using network coding in wireless networks
KR101217861B1 (en) Transmission and received method for multi path in multi-homing network, transmission and received terminal thereof
CN101690037A (en) Media-access-control protocol for a network employing multi-user wireless channels
CN103580773A (en) Method and device for transmitting data frame
US20060280203A1 (en) Communication control apparatus and communication control method
CN113055285A (en) Self-adaptive data transmission method based on MPTCP and network coding
CN107615810B (en) Packet header compression system and method for online network code
CN108476519B (en) Wireless communication apparatus, wireless communication method, and computer-readable medium
KR101605323B1 (en) Method for transmitting and receiving Data using Random Linear Coding
Schütz et al. Adding a network coding extension to CoAP for large resource transfer
KR101430853B1 (en) Communication node apparatus, communication system, and method for selecting destination reception interface used for same
Kutscher et al. Scalable DTN distribution over uni-directional links
Islambouli et al. Dynamic multipath resource management for ultra reliable low latency services
Bhatia et al. Review on variants of network coding in wireless ad-hoc networks
CN112152925B (en) Data transmission method, terminal and communication system
Ali et al. RS-RLNC: A Reinforcement Learning Based Selective Random Linear Network Coding Framework For Tactile Internet
Molnár et al. Living with congestion: digital fountain based communication protocol
Liu et al. Design of a network coding concurrent multipath transmission algorithm in complex mobile environment
KR101524825B1 (en) Packet routing method, packet routing control apparatus and packet routing system in wireless mesh network

Legal Events

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

Payment date: 20151002

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161004

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170926

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee