KR101109658B1 - Multicast routing method using network coding scheme in wireless mobile multihop network system - Google Patents

Multicast routing method using network coding scheme in wireless mobile multihop network system Download PDF

Info

Publication number
KR101109658B1
KR101109658B1 KR1020100054832A KR20100054832A KR101109658B1 KR 101109658 B1 KR101109658 B1 KR 101109658B1 KR 1020100054832 A KR1020100054832 A KR 1020100054832A KR 20100054832 A KR20100054832 A KR 20100054832A KR 101109658 B1 KR101109658 B1 KR 101109658B1
Authority
KR
South Korea
Prior art keywords
packet
encoded
data
packets
generation
Prior art date
Application number
KR1020100054832A
Other languages
Korean (ko)
Other versions
KR20110135099A (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 KR1020100054832A priority Critical patent/KR101109658B1/en
Publication of KR20110135099A publication Critical patent/KR20110135099A/en
Application granted granted Critical
Publication of KR101109658B1 publication Critical patent/KR101109658B1/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/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/32Flooding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Abstract

본 발명은 무선 이동 멀티홉 네트워크 시스템에서의 멀티캐스트 라우팅 방법에 관한 것이다. 본 발명의 실시 예에 따른 무선 이동 멀티홉 네트워크 시스템에서의 멀티캐스트 라우팅 방법은 컨트롤 패킷들의 송수신을 통해 소스 노드와 목적 노드 사이의 데이터 전송 경로를 설정하는 단계; 상기 소스 노드에서 발생한 데이터 패킷이 상기 소스 노드의 버퍼에 저장될 때마다, 상기 소스 노드의 버퍼에 저장된 데이터 패킷들 중 같은 제네레이션 번호를 갖는 적어도 하나의 데이터 패킷을 네트워크 코딩 기법에 의해 인코딩하여 부호화 패킷을 발생하는 단계; 및 상기 데이터 전송 경로를 통해 상기 부호화 패킷을 상기 소스 노드에서 상기 목적 노드로 전송하는 단계를 포함한다. 본 발명의 실시 예에 따른 멀티캐스트 라우팅 방법에 의하면, 무선 이동 멀티홉 네트워크 시스템에서 컨트롤 패킷들의 송수신으로 인한 오버헤드를 줄이면서 데이터 패킷의 수신율(신뢰성)을 높일 수 있다.The present invention relates to a multicast routing method in a wireless mobile multihop network system. Multicast routing method in a wireless mobile multi-hop network system according to an embodiment of the present invention comprises the steps of establishing a data transmission path between the source node and the destination node through the transmission and reception of control packets; Whenever a data packet generated at the source node is stored in a buffer of the source node, at least one data packet having the same generation number among the data packets stored in the buffer of the source node is encoded by a network coding scheme to encode an encoded packet. Generating a; And transmitting the encoded packet from the source node to the destination node through the data transmission path. According to the multicast routing method according to an embodiment of the present invention, the reception rate (reliability) of a data packet can be increased while reducing the overhead due to transmission and reception of control packets in a wireless mobile multihop network system.

Description

무선 이동 멀티홉 네트워크 시스템에서의 네트워크 코딩 기법을 이용한 멀티캐스트 라우팅 방법{MULTICAST ROUTING METHOD USING NETWORK CODING SCHEME IN WIRELESS MOBILE MULTIHOP NETWORK SYSTEM}Multicast routing method using network coding technique in wireless mobile multi-hop network system {MULTICAST ROUTING METHOD USING NETWORK CODING SCHEME IN WIRELESS MOBILE MULTIHOP NETWORK SYSTEM}

본 발명은 멀티캐스트 라우팅 방법에 관한 것으로, 좀 더 구체적으로 무선 이동 멀티홉(multi-hop) 네트워크에서의 멀티캐스트 라우팅 방법에 관한 것이다.The present invention relates to a multicast routing method, and more particularly to a multicast routing method in a wireless mobile multi-hop network.

무선 이동 멀티홉(multi-hop) 또는 모바일 애드-혹 네트워크(Mobile Ad-hoc Network, 이하 MANET이라 칭함)에서는 유선 인프라 또는 중앙 통제 장치 없이 노드(node)들이 서로 통신할 수 있다. 따라서, MANET은 유선 인프라가 구축되어 있지 않거나, 이에 접근하기 어려운 환경에서 유용하다.In a wireless mobile multi-hop or mobile ad-hoc network (hereinafter referred to as MANET), nodes can communicate with each other without a wired infrastructure or a central control unit. Therefore, MANET is useful in environments where wired infrastructure is not built or difficult to access.

MANET에서 사용되는 온디맨드 멀티캐스트 라우팅 프로토콜(On-Demand Multicast Routing Protocol, 이하 ODMRP라 칭함)에 따르면, 멀티캐스트 데이터 전송 경로는 멀티캐스트 그룹(multicast group) 내의 노드들 사이에서의 컨트롤 패킷들의 송수신을 통해 설정된다. 다만, 이렇게 설정된 경로는 노드들의 이동성으로 인해 끊어질 수 있다. 따라서, 경로 유지를 위해서는 컨트롤 패킷들의 송수신이 주기적으로 이루어져야 한다.According to the On-Demand Multicast Routing Protocol (ODMRP) used in MANET, the multicast data transmission path allows the transmission and reception of control packets between nodes in a multicast group. Is set through. However, the path set in this way may be broken due to the mobility of nodes. Therefore, transmission and reception of control packets should be performed periodically to maintain the path.

그러나, ODMRP를 기반으로 하는 네트워크에서는, 이러한 주기적인 컨트롤 패킷들의 송수신으로 인해 네트워크 전체에 많은 오버헤드(overhead)가 발생한다. 여기서, 컨트롤 패킷들이 발생하는 시간 간격은 오버헤드 및 신뢰성(reliability)에 영향을 미치는 요인들 중 하나이다. 만약에, 컨트롤 패킷들이 발생하는 시간 간격이 너무 짧으면, 오버헤드의 증가로 인해 주어진 채널 대역폭에서의 한정된 자원이 낭비된다. 반면에, 컨트롤 패킷들이 발생하는 시간 간격이 너무 길면, 경로 단절로 인해 발생하는 데이터 패킷 손실로 인해 신뢰성이 떨어진다. 그리고, 이는 데이터 패킷 수신율이 감소함을 의미한다.However, in a network based on ODMRP, the transmission and reception of these periodic control packets incurs a lot of overhead throughout the network. Here, the time interval in which control packets occur is one of the factors affecting overhead and reliability. If the time interval over which control packets occur is too short, limited resources at a given channel bandwidth are wasted due to increased overhead. On the other hand, if the time interval over which control packets occur is too long, reliability is lost due to data packet loss caused by path disconnection. This means that the data packet reception rate is reduced.

본 발명의 목적은 무선 이동 멀티홉(multi-hop) 네트워크 시스템에서 경로 복구 또는 재설정 도중에 손실된 데이터 패킷을 복원하는 멀티캐스트 라우팅 방법을 제공하는 데 있다.It is an object of the present invention to provide a multicast routing method for recovering lost data packets during path recovery or reconfiguration in a wireless mobile multi-hop network system.

본 발명의 실시 예에 따른 무선 이동 멀티홉 네트워크 시스템에서의 멀티캐스트 라우팅 방법은 컨트롤 패킷들의 송수신을 통해 소스 노드와 목적 노드 사이의 데이터 전송 경로를 설정하는 단계; 상기 소스 노드에서 발생한 데이터 패킷이 상기 소스 노드의 버퍼에 저장될 때마다, 상기 소스 노드의 버퍼에 저장된 데이터 패킷들 중 같은 제네레이션 번호를 갖는 적어도 하나의 데이터 패킷을 네트워크 코딩 기법에 의해 인코딩하여 부호화 패킷을 발생하는 단계; 및 상기 데이터 전송 경로를 통해 상기 부호화 패킷을 상기 소스 노드에서 상기 목적 노드로 전송하는 단계를 포함한다.Multicast routing method in a wireless mobile multi-hop network system according to an embodiment of the present invention comprises the steps of establishing a data transmission path between the source node and the destination node through the transmission and reception of control packets; Whenever a data packet generated at the source node is stored in a buffer of the source node, at least one data packet having the same generation number among the data packets stored in the buffer of the source node is encoded by a network coding scheme to encode an encoded packet. Generating a; And transmitting the encoded packet from the source node to the destination node through the data transmission path.

실시 예에 있어서, 상기 멀티캐스트 라우팅 방법은 상기 목적 노드에서 수신된 부호화 패킷이 상기 목적 노드의 버퍼에 저장될 때마다, 상기 목적 노드의 버퍼에 저장된 부호화 패킷들 중 같은 제네레이션 번호를 갖는 적어도 하나의 부호화 패킷에 대한 디코딩 가능 여부를 판단하는 단계; 및 상기 적어도 하나의 부호화 패킷이 디코딩될 수 있다고 판단되면, 상기 적어도 하나의 부호화 패킷을 디코딩하는 단계를 더 포함할 수 있다.In one embodiment, the multicast routing method includes at least one of the encoded packets stored in a buffer of the target node each time the encoded packet received at the target node has the same generation number. Determining whether to decode the encoded packet; And if it is determined that the at least one encoded packet can be decoded, the method may further include decoding the at least one encoded packet.

실시 예에 있어서, 상기 데이터 전송 경로를 설정하는 단계는, 상기 컨트롤 패킷들 중 가입 질의 패킷을 주기적으로 발생하는 단계; 및 상기 가입 질의 패킷을 멀티캐스트 그룹에 속하는 모든 노드들로 플러딩하는 단계를 포함한다.The setting of the data transmission path may include: periodically generating a subscription query packet among the control packets; And flooding the subscription query packet to all nodes belonging to a multicast group.

실시 예에 있어서, 상기 멀티캐스트 라우팅 방법은 이전 가입 질의 패킷의 발생 시점과 다음 가입 질의 패킷의 발생 시점 사이의 시간 동안에 발생한 부호화 패킷들 중 가장 큰 값의 제네레이션 크기를 갖는 부호화 패킷을 상기 다음 가입 질의 패킷에 추가하는 단계를 더 포함할 수 있다.In an embodiment, the multicast routing method may be configured to generate an encoded packet having a generation size of a largest value among encoded packets generated during a time between a generation time of a previous subscription query packet and a generation time of a next subscription query packet. The method may further include adding to the packet.

실시 예에 있어서, 상기 부호화 패킷의 제네레이션 크기는 상기 부호화 패킷을 발생하기 위해 인코딩되는 데이터 패킷들의 수에 따라 결정된다.In an embodiment, the generation size of the encoded packet is determined according to the number of data packets that are encoded to generate the encoded packet.

실시 예에 있어서, 상기 가입 질의 패킷을 주기적으로 발생하는 단계에서, 상기 가입 질의 패킷의 발생 주기는 데이터 패킷의 수신율에 따라 가변한다.In an embodiment, in the step of periodically generating the subscription query packet, the generation period of the subscription query packet varies according to the reception rate of the data packet.

실시 예에 있어서, 상기 가입 질의 패킷을 주기적으로 발생하는 단계에서, 상기 가입 질의 패킷의 발생 주기는 상기 데이터 패킷의 수신율이 증가함에 따라 감소하고, 상기 데이터 패킷의 수신율이 감소함에 따라 증가한다.In an embodiment, in the step of periodically generating the subscription query packet, the generation period of the subscription query packet decreases as the reception rate of the data packet increases, and increases as the reception rate of the data packet decreases.

실시 예에 있어서, 이전 가입 질의 패킷의 발생 시점과 다음 가입 질의 패킷의 발생 시점 사이의 시간 동안에 발생한 데이터 패킷들 및 부호화 패킷들의 제네레이션 번호는 상기 이전 가입 질의 패킷의 발생에 응답하여 갱신된다.In an embodiment, the generation number of data packets and encoded packets generated during the time between the generation of the previous subscription query packet and the generation of the next subscription query packet is updated in response to the generation of the previous subscription query packet.

실시 예에 있어서, 상기 디코딩 가능 여부를 판단하는 단계에서, 상기 목적 노드의 버퍼에 저장된 부호화 패킷들 중 같은 제네레이션 번호를 갖는 적어도 하나의 부호화 패킷(이하, 적어도 하나의 디코딩 대상 부호화 패킷)의 수가 상기 적어도 하나의 디코딩 대상 부호화 패킷이 갖는 제네레이션 크기들 중 가장 큰 값과 같거나 그보다 크다면, 상기 적어도 하나의 디코딩 대상 부호화 패킷은 디코딩될 수 있는 것으로 판단한다.In the determining of whether the decoding is possible, the number of at least one encoded packet (hereinafter, at least one decoded encoded packet) having the same generation number among the encoded packets stored in the buffer of the target node may be determined. If at least one decoding object encoded packet has a value equal to or greater than a largest value among generations, it is determined that the at least one decoding object encoded packet can be decoded.

실시 예에 있어서, 상기 멀티캐스트 라우팅 방법은 상기 적어도 하나의 부호화 패킷을 디코딩하여 얻어진 데이터 패킷들로부터 손실된 데이터를 복원하는 단계를 더 포함할 수 있다.In an embodiment, the multicast routing method may further include recovering lost data from data packets obtained by decoding the at least one encoded packet.

실시 예에 있어서, 상기 데이터 전송 경로를 설정하는 단계는, 지역적 경로 복구를 수행하는 단계를 포함한다.In an embodiment, the establishing of the data transmission path may include performing a local path recovery.

실시 예에 있어서, 상기 부호화 패킷을 상기 소스 노드에서 상기 목적 노드로 전송하는 단계는, 수동적인 수신 확인 응답을 통해 상기 부호화 패킷이 정상적으로 전송되었는지 여부를 판단하는 단계를 포함한다.The transmitting of the encoded packet from the source node to the destination node may include determining whether the encoded packet is normally transmitted through a passive acknowledgment response.

실시 예에 있어서, 상기 부호화 패킷을 발생하는 단계에서, 상기 네트워크 코딩 기법으로서 랜덤 리니어 코딩 방식이 적용된다.In an embodiment, in the generating the encoded packet, a random linear coding scheme is applied as the network coding scheme.

본 발명의 실시 예에 따른 멀티캐스트 라우팅 방법에 의하면, 무선 이동 멀티홉(multi-hop) 네트워크 시스템에서 컨트롤 패킷들의 송수신으로 인한 오버헤드를 줄이면서 데이터 패킷의 수신율(신뢰성)을 높일 수 있다.According to the multicast routing method according to an embodiment of the present invention, the reception rate (reliability) of a data packet can be improved while reducing overhead due to transmission and reception of control packets in a wireless mobile multi-hop network system.

도 1은 ODMRP 기반의 네트워크 시스템에서의 멀티캐스트 라우팅 방법을 예시적으로 설명하기 위한 도면이다.
도 2a 내지 2c는 본 발명의 실시 예에 따른 지역적 경로 복구에 의한 멀티캐스트 라우팅 방법을 설명하기 위한 도면들이다.
도 3은 경로 재설정 주기를 데이터 패킷의 수신율에 따라 조절하는 멀티캐스트 라우팅 방법을 설명하기 위한 순서도이다.
도 4는 Passive ACK를 사용하는 멀티캐스트 라우팅 방법을 설명하기 위한 도면이다.
도 5는 네트워크 코딩 기법에 의해 인코딩된 데이터 패킷들을 예시적으로 보여주는 도면이다.
도 6은 본 발명의 실시 예에 따른 네트워크 코딩 기법에 의한 인코딩 방법을 설명하기 위한 순서도이다.
도 7은 본 발명의 실시 예에 따른 네트워크 코딩 기법에 의한 디코딩을 통해 손실된 데이터 패킷을 복원하는 방법을 설명하기 위한 순서도이다.
1 is a diagram for exemplarily describing a multicast routing method in an ODMRP-based network system.
2A through 2C are diagrams for describing a multicast routing method using local path recovery according to an embodiment of the present invention.
3 is a flowchart illustrating a multicast routing method of adjusting a rerouting period according to a reception rate of a data packet.
4 is a diagram illustrating a multicast routing method using a passive ACK.
5 is a diagram illustrating data packets encoded by a network coding technique.
6 is a flowchart illustrating an encoding method by a network coding scheme according to an embodiment of the present invention.
7 is a flowchart illustrating a method of recovering a lost data packet through decoding by a network coding scheme according to an embodiment of the present invention.

이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여, 본 발명의 실시 예를 첨부된 도면을 참조하여 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, so that those skilled in the art can easily carry out the technical idea of the present invention.

본 발명의 실시 예에 따른 멀티캐스트 라우팅(multicast routing) 방법은 모바일 애드-혹 네트워크(Mobile Ad-hoc Network, 이하 MANET이라 칭함) 등에 적용된다. 그리고, 본 발명의 실시 예에 따른 네트워크 시스템은 온디맨드 방식의 멀티캐스트 라우팅 프로토콜(On-Demand Multicast Routing Protocol, 이하 ODMRP라 칭함)을 기반으로 한다.The multicast routing method according to an embodiment of the present invention is applied to a mobile ad-hoc network (hereinafter referred to as MANET). The network system according to an embodiment of the present invention is based on an on-demand multicast routing protocol (hereinafter, referred to as ODMRP).

도 1은 ODMRP 기반의 네트워크 시스템에서의 멀티캐스트 라우팅 방법을 예시적으로 설명하기 위한 도면이다. 도 1을 참조하면, 본 발명의 실시 예에 따른 MANET의 멀티캐스트 그룹(multicast group)이 예시적으로 도시된다. 멀티캐스트 그룹은 소스 노드(source node, S), 목적 노드(destination node, D) 및 제 1 내지 제 6 포워딩 노드(forwarding node, F1~F6)를 포함한다.1 is a diagram for exemplarily describing a multicast routing method in an ODMRP-based network system. Referring to FIG. 1, a multicast group of a MANET according to an embodiment of the present invention is illustrated by way of example. The multicast group includes a source node S, a destination node D, and first to sixth forwarding nodes F1 to F6.

간결한 설명을 위해, 본 발명의 실시 예에 따른 멀티캐스트 그룹은 하나의 소스 노드(S)와 하나의 목적 노드(D)가 포함된다고 가정한다. 그러나, 이는 예시적인 것으로서, 멀티캐스트 그룹이 복수의 소스 노드들과 복수의 목적 노드들을 포함할 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.For simplicity, it is assumed that a multicast group according to an embodiment of the present invention includes one source node S and one destination node D. However, this is exemplary and it is apparent to those skilled in the art that a multicast group may include a plurality of source nodes and a plurality of destination nodes.

소스 노드(S)와 목적 노드(D) 사이에서 데이터 패킷의 전송을 위한 경로를 설정하기 위해서는, 컨트롤 패킷들의 주기적인 송수신을 통해 포워딩 노드들을 선출하여 메쉬(mesh)를 구성하는 과정이 필요하다. 여기서, 소스 노드(S)와 목적 노드(D) 사이에서 데이터 패킷을 중개하기 위해 선출된 포워딩 노드들의 집합을 포워딩 그룹(forwarding group)이라 한다.In order to establish a path for data packet transmission between the source node S and the destination node D, a process of configuring a mesh by selecting forwarding nodes through periodic transmission and reception of control packets is required. Here, the set of forwarding nodes elected to mediate the data packet between the source node S and the destination node D is called a forwarding group.

소스 노드(S)와 목적 노드(D) 사이의 데이터 패킷 전송 경로는 질의 단계와 응답 단계를 거쳐 설정된다. 우선, 질의 단계가 설명된다. 소스 노드(S)는 가입 질의 메시지(Join Query message) 및 식별 정보를 포함하는 컨트롤 패킷(이하, 가입 질의 패킷이라 칭함)을 플러딩(flooding)한다. 여기서, 플러딩이란 패킷을 이웃하는 모든 노드들로 전송하는 것을 의미한다. 소스 노드(S)와 1-홉(hop) 이웃 노드인 제 1 포워딩 노드(F1)는 소스 노드(S)로부터 플러딩된 가입 질의 패킷을 수신한다. 그리고, 제 1 포워딩 노드(F1)는 소스 노드(S)의 식별 정보를 라우팅 테이블에 저장하고, 가입 질의 패킷에 자신의 식별 정보를 추가한다. 이후, 제 1 포워딩 노드(F1)는 가입 질의 패킷을 브로드캐스팅한다.The data packet transmission path between the source node S and the destination node D is established through an inquiry step and a response step. First, the querying step is described. The source node S floods a control packet (hereinafter referred to as a subscription query packet) including a join query message and identification information. In this case, flooding means transmitting a packet to all neighboring nodes. The first forwarding node F1, which is a source node S and a one-hop neighbor node, receives the flooded subscription query packet from the source node S. The first forwarding node F1 stores the identification information of the source node S in the routing table and adds its identification information to the subscription query packet. The first forwarding node F1 then broadcasts the subscription query packet.

제 2 내지 제 4 노드(F2~F4)는 제 1 포워딩 노드(F1)로부터 브로드캐스팅된 가입 질의 패킷을 수신한다. 그리고, 제 2 내지 제 4 포워딩 노드(F2~F4) 각각은 소스 노드(S) 및 제 1 포워딩 노드(F1)의 식별 정보를 라우팅 테이블에 저장하고, 가입 질의 패킷에 자신의 식별 정보를 추가한다. 이후, 제 2 내지 제 4 포워딩 노드(F2~F4) 각각은 가입 질의 패킷을 브로드캐스팅한다. 이와 같은 방법으로 가입 질의 패킷은 멀티캐스트 그룹의 다른 모든 노드들로 플러딩된다.The second to fourth nodes F2 to F4 receive the subscription query packet broadcast from the first forwarding node F1. Each of the second to fourth forwarding nodes F2 to F4 stores the identification information of the source node S and the first forwarding node F1 in the routing table, and adds its identification information to the subscription query packet. . Thereafter, each of the second to fourth forwarding nodes F2 to F4 broadcasts a subscription query packet. In this way the subscription query packet is flooded to all other nodes in the multicast group.

다음으로, 응답 단계가 설명된다. 목적 노드(D)는 가입 질의 패킷을 수신한 후에, 이에 대한 응답으로 가입 응답 메시지(Join Reply message)를 포함하는 컨트롤 패킷(이하, 가입 응답 패킷이라 칭함)을 소스 노드(S)로 전송한다. 이때, 제 1 및 제 2 포워딩 노드(F1, F2)는 각각의 라우팅 테이블에 저장되어 있는 식별 정보를 참조하여 가입 응답 메시지를 중개한다. 소스 노드(S)와 목적 노드(D) 사이에서 가입 질의 패킷 및 가입 응답 패킷을 중개한 제 1 및 제 2 포워딩 노드(F1, F2)는 포워딩 그룹의 멤버로 선출된다.Next, the response step is described. After receiving the subscription query packet, the destination node D transmits a control packet (hereinafter, referred to as a subscription reply packet) including a join reply message to the source node S in response thereto. At this time, the first and second forwarding nodes F1 and F2 mediate the subscription response message with reference to the identification information stored in the respective routing tables. The first and second forwarding nodes F1 and F2 which mediate the subscription query packet and the subscription response packet between the source node S and the destination node D are elected as members of the forwarding group.

이와 같이, 질의 단계와 응답 단계를 거쳐 데이터 패킷 전송 경로가 설정되면, 소스 노드(S)는 데이터 패킷들을 목적 노드(D)로 전송한다. 이때, 제 1 및 제 2 포워딩 노드(F1, F2)는 소스 노드(S)와 목적 노드(D) 사이에서 데이터 패킷들을 중개한다.As such, when the data packet transmission path is established through the inquiry step and the response step, the source node S transmits the data packets to the destination node D. At this time, the first and second forwarding nodes F1 and F2 mediate data packets between the source node S and the destination node D. FIG.

그런데, 데이터 패킷 전송 경로는 노드들의 이동성으로 인해 끊어질 수 있다. 따라서, 경로 유지를 위해서는 컨트롤 패킷들의 송수신이 주기적으로 이루어져야 한다. 즉, 주기적인 경로 재설정이 필요하다. 이때, 경로 재설정 주기는 데이터 패킷의 수신율 및 컨트롤 패킷들의 송수신으로 인한 오버헤드(overhead)에 영향을 미친다. 경로 재설정 주기가 짧아질수록, 오버헤드는 증가하지만, 데이터 패킷의 손실은 감소한다. 반면에, 경로 재설정 주기가 길어질수록, 데이터 패킷의 손실은 증가하지만, 오버헤드는 감소한다.However, the data packet transmission path may be broken due to the mobility of the nodes. Therefore, transmission and reception of control packets should be performed periodically to maintain the path. That is, periodic rerouting is necessary. In this case, the rerouting period affects the reception rate of the data packet and the overhead due to transmission and reception of control packets. As the rerouting period gets shorter, the overhead increases but the loss of data packets decreases. On the other hand, as the rerouting period is longer, the loss of data packets increases, but the overhead decreases.

본 발명의 실시 예에 따른 네트워크 시스템은 지역적 경로 복구 기능, 경로 재설정 주기를 데이터 패킷의 수신율에 따라 조절하는 기능, 수동적인 수신 확인 응답(passive acknowledge character, 이하 Passive ACK라 칭함) 등을 지원하는 강화된 ODMRP(Enhanced-ODMRP, 이하 E-ODMRP라 칭함)를 기반으로 할 수 있다. 지역적 경로 복구에 의한 멀티캐스트 라우팅 방법은 이하의 도 2a 내지 2c를 참조하여 설명된다. 경로 재설정 주기를 데이터 패킷의 수신율에 따라 조절하는 멀티캐스트 라우팅 방법은 이하의 도 3을 참조하여 설명된다. Passive ACK를 사용하는 멀티캐스트 라우팅 방법은 이하의 도 4를 참조하여 설명된다.The network system according to an embodiment of the present invention is enhanced to support a local path recovery function, a function of adjusting a path reset period according to a data packet reception rate, a passive acknowledgment (hereinafter, referred to as a passive ACK), and the like. It can be based on ODMRP (Enhanced-ODMRP, hereinafter referred to as E-ODMRP). The multicast routing method by local path recovery is described below with reference to FIGS. 2A to 2C. A multicast routing method for adjusting the rerouting period according to the reception rate of the data packet is described with reference to FIG. 3 below. A multicast routing method using a passive ACK is described with reference to FIG. 4 below.

도 2a 내지 2c는 본 발명의 실시 예에 따른 지역적 경로 복구에 의한 멀티캐스트 라우팅 방법을 설명하기 위한 도면들이다. 간결한 설명을 위해, 목적 노드(D)는 도 1에서 도시된 멀티캐스트 그룹에서 탈퇴한 후 재가입한다고 가정한다. 이하에서, 이미 도 1을 참조하여 설명된 사항은 생략된다.2A through 2C are diagrams for describing a multicast routing method using local path recovery according to an embodiment of the present invention. For the sake of brevity, it is assumed that the destination node D leaves and rejoins the multicast group shown in FIG. In the following, the matters already described with reference to FIG. 1 are omitted.

도 2a를 참조하면, 목적 노드(D)는 멀티캐스트 그룹에 재가입하기 위해 가입 요청 메시지(Join Request messege)를 포함하는 컨트롤 패킷(이하, 가입 요청 패킷이라 칭함)을 플러딩한다. 목적 노드(D)와 1-홉 이웃 노드인 제 2 및 제 5 포워딩 노드(F2, F5)는 목적 노드(D)로부터 플러딩된 가입 요청 패킷을 수신한다.Referring to FIG. 2A, the destination node D floods a control packet (hereinafter referred to as a join request packet) including a join request message to rejoin the multicast group. The destination node D and the second and fifth forwarding nodes F2 and F5, which are one-hop neighbor nodes, receive the flooded subscription request packet from the destination node D.

도 2b를 참조하면, 플러딩된 가입 요청 패킷을 수신한 제 2 및 제 5 포워딩 노드(F2, F5)는 임시 포워딩 노드로서 동작한다. 즉, 제 2 및 제 5 포워딩 노드(F2, F5)는 제 2 및 제 5 포워딩 노드(F2, F5) 중 하나가 포워딩 그룹의 멤버로 선택될 때까지 일시적으로 데이터 패킷들을 중개한다.Referring to FIG. 2B, the second and fifth forwarding nodes F2 and F5 that receive the flooded subscription request packet operate as temporary forwarding nodes. That is, the second and fifth forwarding nodes F2 and F5 intermediate data packets temporarily until one of the second and fifth forwarding nodes F2 and F5 is selected as a member of the forwarding group.

목적 노드(D)는 최단 경로를 구성하는 임시 포워딩 노드를 포워딩 그룹의 멤버로 선택한다. 이를 위해, 경로 선택 메시지 및 최단 경로를 구성하는 임시 포워딩 노드의 식별 정보를 포함하는 컨트롤 패킷(이하, 경로 선택 패킷)을 플러딩한다. 여기서, 최단 경로를 구성하는 임시 포워딩 노드는 제 2 포워딩 노드(F2)이다. 즉, 경로 선택 패킷에 포함되는 식별 정보는 제 2 포워딩 노드(F2)를 나타낸다. 제 2 및 제 5 포워딩 노드(F2, F5)는 목적 노드(D)로부터 플러딩된 경로 선택 패킷을 수신한다.The destination node D selects a temporary forwarding node constituting the shortest path as a member of the forwarding group. To this end, a control packet (hereinafter, referred to as a path selection packet) including the path selection message and identification information of the temporary forwarding node constituting the shortest path is flooded. Here, the temporary forwarding node constituting the shortest path is the second forwarding node F2. That is, the identification information included in the path selection packet indicates the second forwarding node F2. The second and fifth forwarding nodes F2 and F5 receive the flooded path selection packets from the destination node D.

도 2c를 참조하면, 제 2 및 제 5 포워딩 노드(F2, F5)는 경로 선택 패킷에 포함된 식별 정보를 확인한다. 경로 선택 패킷에 포함된 식별 정보는 제 2 포워딩 노드(F2)를 나타내고 있으므로, 제 2 포워딩 노드(F2)는 포워딩 그룹의 멤버로 선택되어 계속해서 데이터 패킷들을 중개한다. 반면에, 제 5 포워딩 노드(F5)는 더 이상 데이터 패킷들을 목적 노드(D)로 전송하지 않는다.Referring to FIG. 2C, the second and fifth forwarding nodes F2 and F5 confirm identification information included in the path selection packet. Since the identification information included in the path selection packet indicates the second forwarding node F2, the second forwarding node F2 is selected as a member of the forwarding group and continues to relay data packets. On the other hand, the fifth forwarding node F5 no longer transmits data packets to the destination node D.

상술한 바와 같이, 지역적 경로 복구에 의한 멀티캐스트 라우팅 방법에 의하면, 목적 노드(D)와 1-홉 이웃 노드 사이에서 컨트롤 패킷들이 송수신 된다. 따라서, 경로 재설정을 위해, 컨트롤 패킷들이 소스 노드(S)와 멀티캐스트 그룹의 다른 모든 노드들 사이에서 송수신 되는 것에 비해 오버헤드를 줄일 수 있다.As described above, according to the multicast routing method using the local path recovery, control packets are transmitted and received between the destination node D and the 1-hop neighbor node. Thus, for rerouting, overhead can be reduced compared to the transmission and reception of control packets between the source node S and all other nodes in the multicast group.

도 3은 경로 재설정 주기를 데이터 패킷의 수신율에 따라 조절하는 멀티캐스트 라우팅 방법을 설명하기 위한 순서도이다. 여기서, 경로 재설정 주기는 컨트롤 패킷(가입 질의 패킷)이 소스 노드(S)로부터 플러딩되는 시간 간격을 의미한다.3 is a flowchart illustrating a multicast routing method of adjusting a rerouting period according to a reception rate of a data packet. Here, the rerouting period means a time interval in which the control packet (subscription query packet) is flooded from the source node (S).

도 3을 참조하면, 본 발명의 실시 예에 따른 네트워크 시스템에서는, 데이터 패킷의 수신율이 모니터링된다(단계 S110). 이때, 높은 데이터 패킷의 수신율은 노드들의 이동성이 낮아 데이터 패킷 손실이 적음을 의미한다. 이 경우, 오버헤드를 줄이기 위해 경로 재설정 주기를 늘리는 것이 바람직하다. 반면에, 낮은 데이터 패킷의 수신율은 노드들의 이동성이 높아 데이터 패킷 손실이 많음을 의미한다. 이 경우, 신뢰성을 높이기 위해 경로 재설정 주기를 줄이는 것이 바람직하다.Referring to FIG. 3, in a network system according to an exemplary embodiment of the present disclosure, a reception rate of a data packet is monitored (step S110). At this time, the reception rate of the high data packet means that the mobility of the nodes is low, so that the data packet loss is low. In this case, it is desirable to increase the rerouting period to reduce the overhead. On the other hand, the low data packet reception rate means that the mobility of nodes is high, resulting in high data packet loss. In this case, it is desirable to reduce the rerouting period to increase the reliability.

이후, 데이터 패킷의 수신율이 기준 값과 비교된다(단계 S120). 만약, 데이터 패킷의 수신율이 기준 값과 같으면, 계속해서 데이터 패킷의 수신율이 모니터링된다. 반면에, 데이터 패킷의 수신율이 기준 값과 다르면, 경로 재설정 주기가 조절된다(단계 S130). 즉, 가입 질의 패킷이 소스 노드(S)로부터 플러딩되는 시간 간격이 조절된다. 예를 들어, 데이터 패킷의 수신율이 기준 값보다 크면, 오버헤드를 줄이기 위해 경로 재설정 주기를 늘린다. 반면에, 데이터 패킷의 수신율이 기준 값보다 작으면, 신뢰성을 높이기 위해 경로 재설정 주기를 줄인다.Then, the reception rate of the data packet is compared with the reference value (step S120). If the reception rate of the data packet is equal to the reference value, then the reception rate of the data packet is continuously monitored. On the other hand, if the reception rate of the data packet is different from the reference value, the rerouting period is adjusted (step S130). That is, the time interval at which the subscription query packet is flooded from the source node S is adjusted. For example, if the reception rate of the data packet is greater than the reference value, the rerouting period is increased to reduce overhead. On the other hand, if the reception rate of the data packet is smaller than the reference value, the rerouting period is reduced to increase the reliability.

상술한 바와 같이, 경로 재설정 주기를 데이터 패킷의 수신율에 따라 조절하는 멀티캐스트 라우팅 방법에 의하면, 경로 재설정 주기가 적정 수준으로 유지되어 컨트롤 패킷들의 송수신으로 인한 오버헤드를 줄일 수 있다.As described above, according to the multicast routing method of adjusting the rerouting period according to the reception rate of the data packet, the rerouting period is maintained at an appropriate level to reduce the overhead due to transmission and reception of control packets.

도 4는 Passive ACK를 사용하는 멀티캐스트 라우팅 방법을 설명하기 위한 도면이다. 도 4를 참조하면, 소스 노드(S)는 데이터 패킷을 1-홉 이웃 노드인 제 1 포워딩 노드(F1)로 전송한다. 제 1 포워딩 노드(F1)는 소스 노드(S)로부터 전송된 데이터 패킷을 브로드캐스팅한다. 소스 노드(S)는 제 1 포워딩 노드(F1)로부터 브로드캐스팅된 데이터 패킷을 수신할 수 있다. 이때, 하위 노드인 제 1 포워딩 노드(F1)에서 상위 노드인 소스 노드(S)로 전송되는 데이터 패킷은 Passive ACK로서 취급된다.4 is a diagram illustrating a multicast routing method using a passive ACK. Referring to FIG. 4, the source node S transmits a data packet to the first forwarding node F1, which is a one-hop neighbor node. The first forwarding node F1 broadcasts the data packet transmitted from the source node S. The source node S may receive the broadcast data packet from the first forwarding node F1. At this time, the data packet transmitted from the first forwarding node F1, which is a lower node, to the source node S, which is an upper node, is treated as a passive ACK.

멀티캐스트 그룹에 속하는 노드들 각각은 상위 노드와 하위 노드에 대한 식별 정보를 라우팅 테이블에 저장하고 있기 때문에, 소스 노드(S)는 Passive ACK를 받으면, 라우팅 테이블을 참조하여 데이터 패킷이 정상적으로 전송되었는지 여부를 확인할 수 있다. 따라서, 제 1 포워딩 노드(F1)는 소스 노드(S)로부터 데이터 패킷을 수신한 후에 별도의 ACK를 소스 노드(S)로 전송하지 않더라도, 소스 노드(S)는 Passive ACK를 통해 데이터 패킷이 정상적으로 전송되었는지 여부를 확인할 수 있다.Since each node belonging to the multicast group stores the identification information of the upper node and the lower node in the routing table, when the source node S receives the passive ACK, whether the data packet is normally transmitted by referring to the routing table. You can check. Therefore, even if the first forwarding node F1 does not transmit a separate ACK to the source node S after receiving the data packet from the source node S, the source node S normally receives the data packet through the passive ACK. You can check whether it was sent.

만약, 소스 노드(S)가 제 1 포워딩 노드(F1)로부터 수차례 Passive ACK를 받지 못하면, 소스 노드(S)는 제 1 포워딩 노드(F1)가 포워딩 그룹에 속하지 않는 것으로 판단하여 데이터 패킷을 제 1 포워딩 노드(F1)로 전송하지 않는다. 이는 제 1 및 제 2 포워딩 노드(F1, F2)와의 관계에서도 동일하게 적용된다.If the source node S does not receive the passive ACK several times from the first forwarding node F1, the source node S determines that the first forwarding node F1 does not belong to the forwarding group and removes the data packet. 1 does not transmit to the forwarding node F1. The same applies to the relationship with the first and second forwarding nodes F1 and F2.

상술한 바와 같이, Passive ACK를 사용하는 멀티캐스트 라우팅 방법에 의하면, 데이터 패킷이 불필요한 포워딩 노드로 전송되는 것으로 인한 오버헤드를 줄일 수 있다.As described above, according to the multicast routing method using the passive ACK, it is possible to reduce the overhead due to the data packet is transmitted to the unnecessary forwarding node.

본 발명의 실시 예는 E-ODMRP 기반의 네트워크 시스템에서, 네트워크 코딩 기법(network coding scheme)의 적용을 통해 손실된 데이터 패킷을 복원하는 멀티캐스트 라우팅 방법을 제공한다. E-ODMRP 기반의 네트워크 시스템에 네트워크 코딩 기법을 적용하면, 목적 노드는 손실된 데이터 패킷의 재전송 없이 버퍼에 저장되어 있는 부호화 패킷들을 디코딩하여 손실된 데이터 패킷을 복원할 수 있다. 이는 이하의 도 5 내지 7을 참조하여 더욱 상세하게 설명된다.An embodiment of the present invention provides a multicast routing method for recovering a lost data packet by applying a network coding scheme in an E-ODMRP-based network system. When the network coding scheme is applied to the E-ODMRP-based network system, the target node may recover the lost data packet by decoding the encoded packets stored in the buffer without retransmitting the lost data packet. This is explained in more detail with reference to FIGS. 5 to 7 below.

도 5는 네트워크 코딩 기법에 의해 인코딩된 데이터 패킷들을 예시적으로 보여주는 도면이다. 도 5를 참조하면, 제 1 내지 제 N 데이터 패킷(P1~PN) 및 제 1 내지 제 N 부호화 패킷(EP1~EPN)이 도시된다.5 is a diagram illustrating data packets encoded by a network coding technique. Referring to FIG. 5, first to N th data packets P1 to PN and first to N th encoded packets EP1 to EPN are illustrated.

제 1 내지 제 N 데이터 패킷(P1~PN)은 원본 데이터를 포함한다. 제 1 내지 제 N 부호화 패킷(EP1~EPN)은 인코딩 벡터와 인코딩된 데이터를 포함한다. 여기서, 인코딩 벡터는 네트워크 코딩 기법에 의한 인코딩 및 디코딩에 사용되는 값들의 집합을 의미한다.The first to Nth data packets P1 to PN include original data. The first to Nth encoded packets EP1 to EPN include encoding vectors and encoded data. Here, the encoding vector means a set of values used for encoding and decoding by a network coding technique.

본 발명의 실시 예로서, 네트워크 코딩 기법에는 랜덤 리니어 코딩(random linear coding) 방식이 적용될 수 있다. 랜덤 리니어 코딩 방식에 의하면, 인코딩 벡터의 각각의 원소는 유한 필드(finite field, 갈로아 필드(Galois field)라고도 칭함)에서 정의되는 값들 중 무작위로 선정된다.As an embodiment of the present invention, a random linear coding scheme may be applied to the network coding scheme. According to the random linear coding scheme, each element of the encoding vector is randomly selected from values defined in a finite field (also referred to as a Galois field).

네트워크 코딩 기법에서 사용되는 모든 연산은 유한 필드에서 정의되고 수행된다. 따라서, 유한 필드의 연산 알고리즘이 사용된다. 유한 필드의 연산 중 덧셈과 뺄셈 연산은 배타적 논리합(XOR)으로만 이루어진다. 반면에, 곱셈 연산을 위해서는, 쉬프트(shift) 및 덧셈 연산이 반복되는 알고리즘 또는 테이블 참조 알고리즘이 사용된다.All operations used in network coding techniques are defined and performed in finite fields. Thus, a finite field algorithm is used. Addition and subtraction operations in finite field operations consist of exclusive ORs only. On the other hand, for the multiplication operation, an algorithm or a table reference algorithm in which shift and addition operations are repeated is used.

본 발명의 실시 예에 따른 네트워크 코딩 기법에 의한 인코딩 및 디코딩은 제네레이션(generation) 번호 및 크기를 고려하여 수행된다. 제네레이션 번호는 소스 노드에서 가입 질의 패킷이 발생하는 시점마다 갱신된다. 즉, 이전 가입 질의 패킷의 발생 시점부터 다음 가입 질의 패킷의 발생 시점까지의 시간(경로 재설정 주기) 동안에 발생한 데이터 패킷들 및 부호화 패킷들은 모두 같은 제네레이션 번호를 갖는다. 간결한 설명을 위해, 제 1 내지 제 N 데이터 패킷(P1~PN)은 소스 노드에서 순차적으로 발생한다고 가정한다. 그리고, 제 1 내지 제 N 데이터 패킷(P1~PN) 및 제 1 내지 제 N 부호화 패킷(EP1~EPN)은 같은 제네레이션에 속한다고 가정한다. 따라서, 제 1 내지 제 N 데이터 패킷(P1~PN) 및 제 1 내지 제 N 부호화 패킷(EP1~EPN)은 같은 제네레이션 번호를 갖는다.Encoding and decoding by a network coding scheme according to an embodiment of the present invention are performed in consideration of generation number and size. The generation number is updated every time a subscription query packet occurs at the source node. That is, data packets and coded packets generated during the time (path resetting period) from the time of generation of the previous subscription query packet to the time of generation of the next subscription query packet have the same generation number. For the sake of brevity, it is assumed that the first to N th data packets P1 to PN occur sequentially at the source node. In addition, it is assumed that the first to Nth data packets P1 to PN and the first to Nth encoded packets EP1 to EPN belong to the same generation. Therefore, the first to Nth data packets P1 to PN and the first to Nth encoded packets EP1 to EPN have the same generation number.

소스 노드에서 발생한 데이터 패킷들은 일단 버퍼에 저장된다. 그리고, 데이터 패킷이 발생할 때마다 버퍼에 저장된 데이터 패킷들 중 같은 제네레이션에 속하는 모든 데이터 패킷들은 인코딩된다. 예를 들어, 제 1 데이터 패킷(P1)이 발생하면, 제 1 데이터 패킷(P1)은 버퍼에 저장되고, 인코딩된다. 이때, 제 1 데이터 패킷(P1)의 인코딩 결과로서 제 1 부호화 패킷(EP1)이 얻어진다. 이후, 제 2 데이터 패킷(P2)이 발생하면, 제 2 데이터 패킷(P2)은 버퍼에 저장되고, 같은 제네레이션에 속하는 제 1 및 제 2 데이터 패킷(P1, P2)은 인코딩된다. 이때, 제 1 및 제 2 데이터 패킷(P1, P2)의 인코딩 결과로서 제 2 부호화 패킷(EP2)이 얻어진다. 이와 같이 계속해서 제 N 데이터 패킷(PN)이 발생하면, 제 N 데이터 패킷(PN)은 버퍼에 저장되고, 같은 제네레이션에 속하는(같은 제네레이션 번호를 갖는) 제 1 내지 제 N 데이터 패킷(P1~PN)은 인코딩된다. 이때, 제 1 내지 제 N 데이터 패킷(P1~PN)의 인코딩 결과로서 제 N 부호화 패킷(EPN)이 얻어진다.Data packets originating at the source node are once stored in a buffer. Whenever a data packet occurs, all data packets belonging to the same generation among the data packets stored in the buffer are encoded. For example, when the first data packet P1 occurs, the first data packet P1 is stored in a buffer and encoded. At this time, the first encoded packet EP1 is obtained as a result of encoding the first data packet P1. Thereafter, when the second data packet P2 occurs, the second data packet P2 is stored in the buffer, and the first and second data packets P1 and P2 belonging to the same generation are encoded. At this time, the second encoded packet EP2 is obtained as a result of encoding the first and second data packets P1 and P2. When the N-th data packet PN continues in this manner, the N-th data packet PN is stored in a buffer, and the first to N-th data packets P1 to PN belonging to the same generation (having the same generation number). ) Is encoded. At this time, the Nth encoded packet EPN is obtained as a result of encoding the first to Nth data packets P1 to PN.

제네레이션 크기는 인코딩될 데이터 패킷들의 수에 따라 결정된다. 예를 들어, 제 1 데이터 패킷(P1)을 인코딩하여 얻어진 제 1 부호화 패킷(EP1)의 제네레이션 크기는 1이다. 제 1 및 제 2 데이터 패킷(P1, P2)을 인코딩하여 얻어진 제 2 부호화 패킷(EP2)의 제네레이션 크기는 2이다. 그리고, 제 1 내지 제 N 데이터 패킷(P1~PN)을 인코딩하여 얻어진 제 N 부호화 패킷(EPN)의 제네레이션 크기는 N이다. 이와 같이, 같은 제네레이션 번호를 갖는 부호화 패킷들은 서로 다른 제네레이션 크기를 가질 수 있다. 여기서, 같은 제네레이션 번호를 갖는 부호화 패킷들 중 마지막으로 발생한 제 N 부호화 패킷(EPN)은 가장 큰 값의 제네레이션 크기를 갖는다. 한편, 인코딩 벡터의 크기(인코딩 벡터의 원소들의 수)는 이러한 제네레이션 크기에 대응한다.The generation size is determined by the number of data packets to be encoded. For example, the generation size of the first encoded packet EP1 obtained by encoding the first data packet P1 is one. The generation size of the second encoded packet EP2 obtained by encoding the first and second data packets P1 and P2 is two. The generation size of the Nth encoded packet EPN obtained by encoding the first to Nth data packets P1 to PN is N. As such, encoded packets having the same generation number may have different generation sizes. Here, the last N-th coded packet (EPN) generated among the coded packets having the same generation number has the largest generation size. On the other hand, the size of the encoding vector (the number of elements of the encoding vector) corresponds to this generation size.

본 발명의 실시 예에 따른 E-ODMRP 기반의 네트워크 시스템에서는, 도 3을 참조하여 설명된 바와 같이, 경로 재설정 주기(가입 질의 패킷이 플러딩되는 시간 간격)가 데이터 패킷의 수신율에 따라 조절된다. 따라서, 인코딩을 위한 제네레이션의 최대 크기는 데이터 패킷의 수신율에 따라 가변한다. 예를 들어, 경로 재설정 주기가 길어질수록 한 주기 동안 발생하는 데이터 패킷들의 수는 증가하므로 제네레이션의 최대 크기도 증가할 것이다. 반면에, 경로 재설정 주기가 짧아질수록 한 주기 동안 발생하는 데이터 패킷들의 수는 감소하므로 제네레이션의 최대 크기도 감소할 것이다.In an E-ODMRP-based network system according to an embodiment of the present invention, as described with reference to FIG. 3, a rerouting period (time interval at which the subscription query packet is flooded) is adjusted according to the reception rate of the data packet. Thus, the maximum size of the generation for encoding varies with the reception rate of the data packet. For example, the longer the rerouting period, the greater the number of data packets that occur during one period, so the maximum size of the generation will also increase. On the other hand, a shorter rerouting period will reduce the number of data packets that occur during one period, thus reducing the maximum size of the generation.

도 6은 본 발명의 실시 예에 따른 네트워크 코딩 기법에 의한 인코딩 방법을 설명하기 위한 순서도이다. 간결한 설명을 위해, 임의의 경로 재설정 주기 동안에 소스 노드에서 발생하는 제 1 내지 제 N 데이터 패킷들에 대한 인코딩 방법이 설명된다.6 is a flowchart illustrating an encoding method by a network coding scheme according to an embodiment of the present invention. For the sake of brevity, an encoding method for first to Nth data packets occurring at a source node during any rerouting period is described.

도 6을 참조하면, 우선, 제 1 데이터 패킷이 발생한다(단계 S210). 그리고, 제 1 데이터 패킷은 버퍼에 저장된다(단계 S220). 버퍼에 저장된 데이터 패킷들 중 같은 제네레이션 번호를 갖는 데이터 패킷들이 인코딩된다(단계 S230). 여기서는, 제 1 데이터 패킷의 인코딩 결과로서 제 1 부호화 패킷이 얻어진다.Referring to Fig. 6, first, a first data packet is generated (step S210). Then, the first data packet is stored in the buffer (step S220). Data packets having the same generation number among the data packets stored in the buffer are encoded (step S230). Here, the first coded packet is obtained as a result of encoding the first data packet.

다음으로, 가입 질의 패킷이 발생 여부를 확인한다(단계 S240). 만약, 가입 질의 패킷이 발생하지 않으면, 제 1 부호화 패킷은 브로드캐스팅된다(단계 S250). 이후, 단계 S210 내지 단계 S240이 반복된다. 반면에, 가입 질의 패킷이 발생하면, 버퍼에 저장된 데이터 패킷들 중 같은 제네레이션 번호를 갖는 데이터 패킷들이 인코딩되어 얻어진 부호화 패킷이 가입 질의 패킷에 추가된다(단계 S260). 그리고, 이러한 가입 질의 패킷은 브로드캐스팅된다(단계 S270). 이후, 제네레이션 번호가 갱신된다(단계 S280).Next, it is checked whether a subscription query packet is generated (step S240). If no subscription query packet occurs, the first coded packet is broadcasted (step S250). Thereafter, steps S210 to S240 are repeated. On the other hand, if a subscription query packet occurs, an encoded packet obtained by encoding data packets having the same generation number among the data packets stored in the buffer is added to the subscription query packet (step S260). This subscription query packet is then broadcasted (step S270). Thereafter, the generation number is updated (step S280).

제 N 데이터 패킷이 발생할 때까지 가입 질의 패킷은 발생하지 않는다고 가정한다. 따라서, 제 N 데이터 패킷이 발생할 때까지 단계 S210 내지 단계 S250이 반복된다.Assume that the subscription query packet does not occur until the Nth data packet occurs. Therefore, steps S210 to S250 are repeated until the Nth data packet occurs.

제 2 데이터 패킷이 발생하면(단계 S210), 제 2 데이터 패킷은 버퍼에 저장된다(단계 S220). 그리고, 버퍼에 저장된 제 1 및 제 2 데이터 패킷의 인코딩 결과로서 제 2 부호화 패킷이 얻어진다(단계 S230). 이후, 제 2 부호화 패킷은 브로드캐스팅된다(단계 S250). 이와 같이 계속해서 제 N 데이터 패킷이 발생하면(단계 S210), 제 N 데이터 패킷은 버퍼에 저장된다(단계 S220). 그리고, 버퍼에 저장된 제 1 내지 제 N 데이터 패킷이 인코딩된다(단계 S230).When the second data packet occurs (step S210), the second data packet is stored in the buffer (step S220). Then, a second encoded packet is obtained as a result of encoding the first and second data packets stored in the buffer (step S230). Thereafter, the second coded packet is broadcasted (step S250). When the Nth data packet continues to be generated in this manner (step S210), the Nth data packet is stored in the buffer (step S220). Then, the first to Nth data packets stored in the buffer are encoded (step S230).

제 N 데이터 패킷 다음으로 가입 질의 패킷이 발생하므로, 제 1 내지 제 N 데이터 패킷의 인코딩 결과로서 얻어진 제 N 부호화 패킷은 가입 질의 패킷에 추가된다(단계 S260). 그리고, 이러한 가입 질의 패킷은 브로드캐스팅된다(단계 S270). 여기서, 가입 질의 패킷을 통해 브로드캐스팅되는 제 N 부호화 패킷은 같은 제네레이션에 속하는 부호화 패킷들 중 가장 큰 값의 제네레이션 크기를 갖는다. 이후, 제네레이션 번호가 갱신된다(단계 S280).Since the subscription query packet is generated next to the Nth data packet, the Nth encoded packet obtained as the encoding result of the first to Nth data packets is added to the subscription query packet (step S260). This subscription query packet is then broadcasted (step S270). Here, the Nth coded packet broadcasted through the subscription query packet has a generation size of the largest value among the coded packets belonging to the same generation. Thereafter, the generation number is updated (step S280).

포워딩 노드에서도 상술한 바와 같은 인코딩 방법이 적용될 수 있다. 다만, 포워딩 노드에서는, 데이터 패킷이 발생하는 대신에 데이터 패킷 또는 부호화 패킷이 수신될 것이다. 그리고, 가입 질의 패킷의 발생 여부가 확인되는 대신에 가입 질의 패킷의 수신 여부가 확인될 것이다.The encoding method as described above may also be applied to the forwarding node. However, in the forwarding node, instead of generating data packets, data packets or encoded packets will be received. Instead of confirming whether a subscription query packet is generated, whether or not a subscription query packet is received will be confirmed.

도 7은 본 발명의 실시 예에 따른 네트워크 코딩 기법에 의한 디코딩을 통해 손실된 데이터 패킷을 복원하는 방법을 설명하기 위한 순서도이다. 간결한 설명을 위해, 임의의 경로 재설정 주기 동안에 목적 노드에서 수신되는 부호화 패킷들에 대한 디코딩 방법이 설명된다.7 is a flowchart illustrating a method of recovering a lost data packet through decoding by a network coding scheme according to an embodiment of the present invention. For the sake of brevity, a decoding method for encoded packets received at a destination node during any rerouting period is described.

도 7을 참조하면, 우선, 부호화 패킷이 수신된다(단계 S310). 이때, 부호화 패킷은 가입 질의 패킷을 통해 전달될 수 있다. 그리고, 수신된 부호화 패킷은 버퍼에 저장된다(단계 S320). 버퍼에 저장된 부호화 패킷들 중 같은 제네레이션 번호를 갖는 부호화 패킷들에 대한 디코딩 가능 여부를 판단한다(단계 S330). 이때, 같은 제네레이션 번호를 갖는 부호화 패킷들의 수가 이들이 갖는 제네레이션 크기들 중 가장 큰 값과 같거나 그보다 크다면, 부호화 패킷들이 디코딩될 수 있는 것으로 판단한다. 이는 같은 제네레이션에 속하는 부호화 패킷들의 수가 증가할수록 부호화 패킷들의 디코딩 가능성이 커짐을 의미한다.Referring to Fig. 7, first, an encoded packet is received (step S310). In this case, the encoded packet may be delivered through a subscription query packet. The received encoded packet is stored in a buffer (step S320). In step S330, it is possible to decode the encoded packets having the same generation number among the encoded packets stored in the buffer. At this time, if the number of encoded packets having the same generation number is equal to or greater than the largest value among the generation sizes they have, it is determined that the encoded packets can be decoded. This means that as the number of encoded packets belonging to the same generation increases, the decoding probability of encoded packets increases.

만약, 부호화 패킷들이 디코딩될 수 없는 것으로 판단되면, 단계 S310 및 단계 S320이 반복된다. 반면에, 부호화 패킷들이 디코딩될 수 있는 것으로 확인되면, 버퍼에 저장된 부호화 패킷들 중 같은 제네레이션 번호를 갖는 부호화 패킷들은 디코딩된다(단계 S340). 부호화 패킷들이 디코딩되면, 소스 노드에서 발생한 데이터 패킷들이 얻어진다. 따라서, 부호화 패킷들의 디코딩 결과로서 얻어진 데이터 패킷들로부터 경로 복구 또는 재설정 도중에 손실된 데이터 패킷이 복원된다(단계 S350).If it is determined that the encoded packets cannot be decoded, steps S310 and S320 are repeated. On the other hand, if it is confirmed that the encoded packets can be decoded, the encoded packets having the same generation number among the encoded packets stored in the buffer are decoded (step S340). When the encoded packets are decoded, data packets originating at the source node are obtained. Thus, data packets lost during path recovery or resetting are recovered from the data packets obtained as a result of decoding the encoded packets (step S350).

E-ODMRP 기반의 네트워크 시스템에서는, 가입 질의 패킷이 네트워크 전체로 플러딩되기 때문에 가입 질의 패킷이 중복된다. 그러나, 상술한 바와 같이, 본 발명의 실시 예에 따른 네트워크 코딩 기법을 적용하면, 가입 질의 패킷에 추가되는 부호화 패킷은 해당 제네레이션에 속하는 모든 데이터 패킷들에 대한 인코딩된 성분을 포함한다. 따라서, 가입 질의 패킷이 중복하여 수신되면, 같은 제네레이션 번호를 갖는 부호화 패킷들의 수가 증가하므로 디코딩 가능성이 커진다. 이는 경로 복구 또는 재설정 도중에 손실된 데이터 패킷이 복원될 확률이 높아짐을 의미한다.In an E-ODMRP-based network system, subscription query packets are duplicated because subscription query packets are flooded throughout the network. However, as described above, when applying a network coding scheme according to an embodiment of the present invention, an encoded packet added to a subscription query packet includes encoded components for all data packets belonging to the corresponding generation. Therefore, if the subscription query packet is received in duplicate, the number of encoded packets having the same generation number increases, so that the decoding possibility increases. This means that the probability of data packets lost during path recovery or reestablishment being increased is high.

이와 같이, 본 발명의 실시 예에 따라, E-ODMRP 기반의 네트워크 시스템에 네트워크 코딩 기법을 적용하면, 목적 노드는 손실된 데이터 패킷의 재전송 없이 버퍼에 저장되어 있는 부호화 패킷들을 디코딩하여 손실된 데이터 패킷을 복원할 수 있다. 이로 인해, E-ODMRP 기반의 네트워크 시스템에서, 오버헤드가 증가하지 않으면서 신뢰성이 향상될 수 있다.As described above, when the network coding scheme is applied to the E-ODMRP-based network system, the destination node decodes the encoded packets stored in the buffer without retransmission of the lost data packets, thereby losing the lost data packets. Can be restored. As a result, in an E-ODMRP-based network system, reliability may be improved without increasing overhead.

본 발명의 범위 또는 기술적 사상을 벗어나지 않고 본 발명의 구조가 다양하게 수정되거나 변경될 수 있음은 이 분야에 숙련된 자들에게 자명하다. 상술한 내용을 고려하여 볼 때, 만약 본 발명의 수정 및 변경이 아래의 청구항들 및 동등물의 범주 내에 속한다면, 본 발명이 이 발명의 변경 및 수정을 포함하는 것으로 여겨진다.It will be apparent to those skilled in the art that the structure of the present invention can be variously modified or changed without departing from the scope or spirit of the present invention. In view of the foregoing, it is intended that the present invention cover the modifications and variations of this invention provided they fall within the scope of the following claims and equivalents.

Claims (13)

무선 이동 멀티홉 네트워크 시스템에서의 멀티캐스트 라우팅 방법에 있어서:
컨트롤 패킷들의 송수신을 통해 소스 노드와 목적 노드 사이의 데이터 전송 경로를 설정하는 단계;
상기 소스 노드에서 발생한 데이터 패킷이 상기 소스 노드의 버퍼에 저장될 때마다, 상기 소스 노드의 버퍼에 저장된 데이터 패킷들 중 같은 제네레이션 번호를 갖는 적어도 하나의 데이터 패킷을 네트워크 코딩 기법에 의해 인코딩하여 부호화 패킷을 발생하는 단계; 및
상기 데이터 전송 경로를 통해 상기 부호화 패킷을 상기 소스 노드에서 상기 목적 노드로 전송하는 단계를 포함하는 멀티캐스트 라우팅 방법.
In a multicast routing method in a wireless mobile multihop network system:
Establishing a data transmission path between a source node and a destination node through transmission and reception of control packets;
Whenever a data packet generated at the source node is stored in a buffer of the source node, at least one data packet having the same generation number among the data packets stored in the buffer of the source node is encoded by a network coding scheme to encode an encoded packet. Generating a; And
And transmitting the encoded packet from the source node to the destination node through the data transmission path.
제 1 항에 있어서,
상기 목적 노드에서 수신된 부호화 패킷이 상기 목적 노드의 버퍼에 저장될 때마다, 상기 목적 노드의 버퍼에 저장된 부호화 패킷들 중 같은 제네레이션 번호를 갖는 적어도 하나의 부호화 패킷에 대한 디코딩 가능 여부를 판단하는 단계; 및
상기 적어도 하나의 부호화 패킷이 디코딩될 수 있다고 판단되면, 상기 적어도 하나의 부호화 패킷을 디코딩하는 단계를 더 포함하는 멀티캐스트 라우팅 방법.
The method of claim 1,
Whenever the encoded packet received at the target node is stored in the buffer of the target node, determining whether to decode at least one encoded packet having the same generation number among the encoded packets stored in the buffer of the target node. ; And
If it is determined that the at least one encoded packet can be decoded, further comprising decoding the at least one encoded packet.
제 1 항에 있어서,
상기 데이터 전송 경로를 설정하는 단계는, 상기 컨트롤 패킷들 중 가입 질의 패킷을 주기적으로 발생하는 단계; 및
상기 가입 질의 패킷을 멀티캐스트 그룹에 속하는 모든 노드들로 플러딩하는 단계를 포함하는 멀티캐스트 라우팅 방법.
The method of claim 1,
The setting of the data transmission path may include: periodically generating a subscription query packet among the control packets; And
Flooding the subscription query packet to all nodes belonging to a multicast group.
제 3 항에 있어서,
이전 가입 질의 패킷의 발생 시점과 다음 가입 질의 패킷의 발생 시점 사이의 시간 동안에 발생한 부호화 패킷들 중 가장 큰 값의 제네레이션 크기를 갖는 부호화 패킷을 상기 다음 가입 질의 패킷에 추가하는 단계를 더 포함하는 멀티캐스트 라우팅 방법.
The method of claim 3, wherein
And adding to the next subscription query packet an encoded packet having a generation size of the largest value among the encoded packets generated during the time between the generation of the previous subscription query packet and the generation of the next subscription query packet. Routing method.
제 4 항에 있어서,
상기 부호화 패킷의 제네레이션 크기는 상기 부호화 패킷을 발생하기 위해 인코딩되는 데이터 패킷들의 수에 따라 결정되는 멀티캐스트 라우팅 방법.
The method of claim 4, wherein
The generation size of the encoded packet is determined according to the number of data packets that are encoded to generate the encoded packet.
제 3 항에 있어서,
상기 가입 질의 패킷을 주기적으로 발생하는 단계에서, 상기 가입 질의 패킷의 발생 주기는 데이터 패킷의 수신율에 따라 가변하는 멀티캐스트 라우팅 방법.
The method of claim 3, wherein
In the step of periodically generating the subscription query packet, the generation period of the subscription query packet is variable according to the reception rate of the data packet.
제 5 항에 있어서,
상기 가입 질의 패킷을 주기적으로 발생하는 단계에서, 상기 가입 질의 패킷의 발생 주기는 상기 데이터 패킷의 수신율이 증가함에 따라 감소하고, 상기 데이터 패킷의 수신율이 감소함에 따라 증가하는 멀티캐스트 라우팅 방법.
The method of claim 5, wherein
In the step of generating the subscription query packet periodically, the generation period of the subscription query packet decreases as the reception rate of the data packet increases, and increases as the reception rate of the data packet decreases.
제 2 항에 있어서,
이전 가입 질의 패킷의 발생 시점과 다음 가입 질의 패킷의 발생 시점 사이의 시간 동안에 발생한 데이터 패킷들 및 부호화 패킷들의 제네레이션 번호는 상기 이전 가입 질의 패킷의 발생에 응답하여 갱신되는 멀티캐스트 라우팅 방법.
The method of claim 2,
The generation number of data packets and encoded packets generated during the time between the generation of the previous subscription query packet and the generation of the next subscription query packet is updated in response to the generation of the previous subscription query packet.
제 2 항에 있어서,
상기 디코딩 가능 여부를 판단하는 단계에서, 상기 목적 노드의 버퍼에 저장된 부호화 패킷들 중 같은 제네레이션 번호를 갖는 적어도 하나의 부호화 패킷(이하, 적어도 하나의 디코딩 대상 부호화 패킷)의 수가 상기 적어도 하나의 디코딩 대상 부호화 패킷이 갖는 제네레이션 크기들 중 가장 큰 값과 같거나 그보다 크다면, 상기 적어도 하나의 디코딩 대상 부호화 패킷은 디코딩될 수 있는 것으로 판단하는 멀티캐스트 라우팅 방법.
The method of claim 2,
In the determining of the decodability, the number of at least one encoded packet (hereinafter, at least one decoded encoded packet) having the same generation number among the encoded packets stored in the buffer of the target node is the at least one decoded object. And determining that the at least one encoded packet to be decoded can be decoded if it is equal to or greater than the largest value of the generation sizes of the encoded packet.
제 2 항에 있어서,
상기 적어도 하나의 부호화 패킷을 디코딩하여 얻어진 데이터 패킷들로부터 손실된 데이터를 복원하는 단계를 더 포함하는 멀티캐스트 라우팅 방법.
The method of claim 2,
Recovering lost data from data packets obtained by decoding the at least one encoded packet.
제 1 항에 있어서,
상기 데이터 전송 경로를 설정하는 단계는, 지역적 경로 복구를 수행하는 단계를 포함하는 멀티캐스트 라우팅 방법.
The method of claim 1,
Establishing the data transmission path comprises performing local path recovery.
제 1 항에 있어서,
상기 부호화 패킷을 상기 소스 노드에서 상기 목적 노드로 전송하는 단계는, 수동적인 수신 확인 응답을 통해 상기 부호화 패킷이 정상적으로 전송되었는지 여부를 판단하는 단계를 포함하는 멀티캐스트 라우팅 방법.
The method of claim 1,
The step of transmitting the encoded packet from the source node to the destination node includes determining whether the encoded packet is normally transmitted through a passive acknowledgment response.
제 1 항에 있어서,
상기 부호화 패킷을 발생하는 단계에서, 상기 네트워크 코딩 기법으로서 랜덤 리니어 코딩 방식이 적용되는 멀티캐스트 라우팅 방법.
The method of claim 1,
In the generating the coded packet, a random linear coding scheme is applied as the network coding scheme.
KR1020100054832A 2010-06-10 2010-06-10 Multicast routing method using network coding scheme in wireless mobile multihop network system KR101109658B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100054832A KR101109658B1 (en) 2010-06-10 2010-06-10 Multicast routing method using network coding scheme in wireless mobile multihop network system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100054832A KR101109658B1 (en) 2010-06-10 2010-06-10 Multicast routing method using network coding scheme in wireless mobile multihop network system

Publications (2)

Publication Number Publication Date
KR20110135099A KR20110135099A (en) 2011-12-16
KR101109658B1 true KR101109658B1 (en) 2012-01-31

Family

ID=45502136

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100054832A KR101109658B1 (en) 2010-06-10 2010-06-10 Multicast routing method using network coding scheme in wireless mobile multihop network system

Country Status (1)

Country Link
KR (1) KR101109658B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014193092A1 (en) * 2013-05-30 2014-12-04 중앙대학교 산학협력단 Device and method for managing multicast group in wireless network
KR101501168B1 (en) * 2013-08-12 2015-03-12 홍익대학교 산학협력단 Feedback apparatus for network coding and method for data transmission of network coding
US10122540B2 (en) 2013-05-30 2018-11-06 Chung-Ang University-Academy Cooperation Foundation Device and method for managing multicast group in wireless network

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101871489B1 (en) * 2016-08-16 2018-06-26 주식회사 알엔웨어 The wireless multicast system by using network coding

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066622A (en) * 2007-01-12 2008-07-16 삼성전자주식회사 Group communication system and method in a mobile ad-hoc network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080066622A (en) * 2007-01-12 2008-07-16 삼성전자주식회사 Group communication system and method in a mobile ad-hoc network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014193092A1 (en) * 2013-05-30 2014-12-04 중앙대학교 산학협력단 Device and method for managing multicast group in wireless network
US10122540B2 (en) 2013-05-30 2018-11-06 Chung-Ang University-Academy Cooperation Foundation Device and method for managing multicast group in wireless network
KR101501168B1 (en) * 2013-08-12 2015-03-12 홍익대학교 산학협력단 Feedback apparatus for network coding and method for data transmission of network coding

Also Published As

Publication number Publication date
KR20110135099A (en) 2011-12-16

Similar Documents

Publication Publication Date Title
US8595359B2 (en) Efficient message distribution for directed acyclic graphs
US9231738B2 (en) Communication method for relay node and next node of the relay node for network coding
ES2472691T3 (en) Route selection in wireless networks
Anastasi et al. A hybrid adaptive protocol for reliable data delivery in WSNs with multiple mobile sinks
US10257718B2 (en) Method for configuring a network comprising several nodes, a method for transmitting data in said network, and corresponding equipment and computer program
KR101109658B1 (en) Multicast routing method using network coding scheme in wireless mobile multihop network system
KR101136051B1 (en) Multicast routing method in wireless mobile multi-hop network system
Kok et al. Improving network coding in wireless ad hoc networks
Islam et al. CORMEN: coding-aware opportunistic routing in wireless mess network
KR100755709B1 (en) Method for multicast routing using MPR set information
Hay et al. Network coding and quality of service for mobile ad hoc networks
Oh et al. Network coding over a manet proactive link state routing protocol and tdma scheduling
JP5136434B2 (en) Wireless communication apparatus and wireless communication system
Mehmood et al. Optimal opportunistic routing and network coding for bidirectional wireless flows
US20220303745A1 (en) Path discovery procedure for a bluetooth mesh network
Wu et al. A loss-tolerant scheme for unicast routing in VANETs using network coding
Chen et al. Multiple Trees with Network Coding for Efficient and Reliable Multicast in MANETs
Wang et al. Identifying the network coding opportunity
Saha et al. RBP: Reliable Broadcasting Protocol in Large Scale Mobile Ad Hoc Networks
Mythreyi et al. QOD enabled AOMDV protocol for hybrid wireless networks
Khalili et al. On the capacity of multiple input erasure relay channels
Mulla et al. Overview of various opportunistic routing protocols
William et al. SpeedCollect: Data Collection Using Synchronous Transmission for Low-Power Heterogeneous Wireless Sensor Network.
Srinivas et al. Network coding-aware neighbor based topology control in MANETs
RENUGADEVI et al. Adaptive coding aware routing Algorithm in wireless Mesh Networks with multiple QOS constraints (ACAR)

Legal Events

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

Payment date: 20150615

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160106

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161221

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20190115

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20200106

Year of fee payment: 9