JP5835178B2 - Communications system - Google Patents

Communications system Download PDF

Info

Publication number
JP5835178B2
JP5835178B2 JP2012216663A JP2012216663A JP5835178B2 JP 5835178 B2 JP5835178 B2 JP 5835178B2 JP 2012216663 A JP2012216663 A JP 2012216663A JP 2012216663 A JP2012216663 A JP 2012216663A JP 5835178 B2 JP5835178 B2 JP 5835178B2
Authority
JP
Japan
Prior art keywords
vector
node
function
data
transmission
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2012216663A
Other languages
Japanese (ja)
Other versions
JP2014072660A (en
Inventor
加藤 一郎
一郎 加藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Priority to JP2012216663A priority Critical patent/JP5835178B2/en
Publication of JP2014072660A publication Critical patent/JP2014072660A/en
Application granted granted Critical
Publication of JP5835178B2 publication Critical patent/JP5835178B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、ネットワークコーディングを実現する通信システムに関する。   The present invention relates to a communication system that implements network coding.

効率的な通信を実現する通信方法としてネットワークコーディングが知られている。
このネットワークコーディングは、各ノード間が個別の伝送路で接続された通信システムに適用される。そして、コンテンツデータを提供する提供側ノードと、コンテンツデータの提供を受ける利用側ノードとの間に存在する各ノード(中継ノード)では、一つ以上の隣接ノードから受信したデータを、予め設定された符号化関数を用いて符号化し、一つ以上の別の隣接ノードに転送する。また、利用側ノードでは、複数の隣接ノードから受信する互いに異なった符号化が施されたデータを復号化することによって、コンテンツデータを復元する。
Network coding is known as a communication method for realizing efficient communication.
This network coding is applied to a communication system in which nodes are connected by individual transmission paths. In each node (relay node) existing between the providing node that provides the content data and the user node that receives the provision of the content data, data received from one or more adjacent nodes is set in advance. Are encoded using the encoding function and transferred to one or more other adjacent nodes. Further, the user side node restores the content data by decoding the data received from the plurality of adjacent nodes and having been encoded differently.

そして、利用側ノードでは、データを復号化する際には、ネットワーク中でどのような経路が使用され、各中継ノードでどのような符号化関数が使用されたかに関する情報が必要となる。   In the use side node, when decoding data, information on what route is used in the network and what encoding function is used in each relay node is required.

これを実現する一つの手法として、以下のものが知られている。即ち、コンテンツデータの提供を開始するにあたって、提供側ノードが、利用側ノードまでの伝送経路を特定するための情報として経路IDを各ノード(中継ノード及び利用側ノード)へ予め通知しておく。情報の通知を受けた各ノードは、通知された情報に基づいて伝送経路及び使用する符号化関数を決定して経路IDと対応づけて記憶しておく。そして、提供側ノードは、コンテンツデータの送信に使用する通信データのヘッダに経路IDを含ませ、利用側ノードは、ヘッダに示された経路IDから伝送経路や各中継ノードで使用される符号化関数を特定し、その特定された伝送経路や符号化関数についての情報を利用してコンテンツデータを復元する(例えば、特許文献1参照)。   As one method for realizing this, the following is known. That is, when the provision of content data is started, the providing side node notifies each node (relay node and using side node) of the route ID as information for specifying the transmission route to the using side node. Each node that has received the notification of information determines the transmission path and the encoding function to be used based on the notified information, and stores them in association with the path ID. Then, the providing side node includes the path ID in the header of the communication data used for transmitting the content data, and the using side node encodes the transmission path and each relay node used from the path ID indicated in the header. A function is specified, and content data is restored using information about the specified transmission path and encoding function (see, for example, Patent Document 1).

特開2009−296251号公報JP 2009-296251 A

しかし、特許文献1に記載の従来装置では、コンテンツデータの送信に使用する通信データのヘッダに、通信データの転送には不要な情報である経路IDが含まれているため、この経路IDの分だけコンテンツデータの伝送効率を低下させてしまい、通信の効率化を妨げる要因となっているという問題があった。   However, in the conventional apparatus described in Patent Document 1, the header of communication data used for transmission of content data includes a route ID that is unnecessary information for transferring the communication data. However, there is a problem that the transmission efficiency of the content data is reduced, which is a factor that hinders the efficiency of communication.

本発明は、上記問題点を解決するために、ネットワークコーディングを利用した通信システムにおいて通信効率をより向上させることを目的とする。   In order to solve the above problems, an object of the present invention is to further improve communication efficiency in a communication system using network coding.

本発明の通信システムでは、提供側ノードが、コンテンツデータから切り出したK(Kは2以上の整数)ビットのデータを成分とするベクトルを送信ベクトルとして、予め設定されたK行K列の行列で表現される符号化関数を用いて送信ベクトルを順次符号化し、該符号化によって得られるK種類のデータ系列毎に通信データを生成し、該通信データを前記データ系列毎に別々の隣接ノードに送信する。   In the communication system of the present invention, the providing node uses a vector having K (K is an integer of 2 or more) bits cut out from the content data as a transmission vector, and is a matrix of K rows and K columns set in advance. The transmission vector is sequentially encoded using the expressed encoding function, communication data is generated for each of K types of data sequences obtained by the encoding, and the communication data is transmitted to separate adjacent nodes for each data sequence. To do.

また、中継ノードは、M,Nをいずれも1以上の整数として、M個の隣接ノードから受信する他ノード宛の通信データのそれぞれから1ビットずつ抽出した合計Mビットのデータを成分とするベクトルを入力ベクトルとして、予め設定されたM行N列の行列で表現される符号化関数を用いて入力ベクトルを符号化し、該符号化によって得られるN種類のデータ系列毎に通信データを生成し、該通信データをデータ系列毎に別々の隣接ノードに転送する。   Further, the relay node is a vector having M and N as integers equal to or greater than 1, and a total M bits of data extracted from each piece of communication data addressed to other nodes received from M adjacent nodes. As an input vector, the input vector is encoded using a preset encoding function represented by a matrix of M rows and N columns, and communication data is generated for each of N types of data series obtained by the encoding, The communication data is transferred to a separate adjacent node for each data series.

そして、利用側ノードは、K個の隣接ノードから受信する自ノード宛の通信データのそれぞれから1ビットずつ抽出したKビットのデータを成分とするK次ベクトルを受信ベクトルとして、予め設定されたK行K列の行列で表現される復号化関数を用いて前記受信ベクトルを復号化することで前記コンテンツデータを復元する。   Then, the usage-side node uses a K-order vector having K-bit data extracted from each of the communication data addressed to its own node received from K adjacent nodes as a reception vector as a reception vector. The content data is restored by decoding the received vector using a decoding function represented by a matrix of rows and columns.

つまり、本発明の通信システムでは、所謂ネットワークコーディングを利用した通信を実現する。
そして、利用側ノードの関数推定手段が、提供側ノードに対して初期化ベクトルの送信を要求すると、提供側ノードの初期化ベクトル送信手段が、その要求に応じて、初期化ベクトルを、上述の送信ベクトルとして送信する。但し、初期化ベクトルは、Kビットのデータを成分とするベクトルに関するK個の単位ベクトル(いずれか一つの成分が1となり他の成分が0となるベクトル)からなる。
That is, the communication system of the present invention realizes communication using so-called network coding.
Then, when the function estimation unit of the use side node requests the providing side node to transmit the initialization vector, the initialization vector transmission unit of the providing side node returns the initialization vector in response to the request as described above. Transmit as a transmission vector. However, the initialization vector is composed of K unit vectors (vectors in which any one component becomes 1 and the other components become 0) related to a vector having K-bit data as a component.

この初期化ベクトルは、提供側ノードで符号化され、中継ノードで再符号化されながら転送され、利用側ノードで受信される。
利用側ノードの関数推定手段は、自身の要求に基づく自ノード宛の通信データを受信すると、受信した通信データから抽出されるK個の受信ベクトルに基づき、該受信ベクトルを列ベクトルとして並べてなるK行K列の行列で表現され、送信ベクトルから受信ベクトルへの変換特性を表す全体符号化関数を推定する。
This initialization vector is encoded at the provider side node, transferred while being re-encoded at the relay node, and received at the user side node.
When the function estimation means of the user side node receives communication data addressed to the own node based on its own request, the function estimation means arranges the received vectors as column vectors based on K received vectors extracted from the received communication data. An overall coding function that represents a conversion characteristic from a transmission vector to a reception vector is estimated by a matrix of rows and K columns.

つまり、K行K列の行列に、i行目が1に設定された単位ベクトル(列ベクトル)を作用させると、その出力として、行列のi列目の成分に等しい列ベクトルが得られる。また、利用側ノードが受信する受信ベクトルは、提供側ノードが提供する送信ベクトルに、全体符号化関数を作用させた結果であるといえる。このことから、提供側ノードから送信されたK種類の単位ベクトルに対して、利用側ノードで得られる受信ベクトルは、それぞれが、全体符号化関数を構成する列ベクトルのいずれかを表したものとなり、受信ベクトルを適切に並べることによって、全体符号化関数を推定することができるのである。   That is, when a unit vector (column vector) in which the i-th row is set to 1 is applied to a matrix of K rows and K columns, a column vector equal to the i-th component of the matrix is obtained as its output. Further, it can be said that the reception vector received by the use side node is a result of applying the entire encoding function to the transmission vector provided by the providing side node. From this, for the K types of unit vectors transmitted from the providing side node, the receiving vectors obtained at the using side node each represent one of the column vectors constituting the overall coding function. The entire encoding function can be estimated by appropriately arranging the received vectors.

そして、利用側ノードでは、復号化関数設定手段が、関数推定手段によって推定された符号化関数から求めた逆関数を、復号化関数として設定する。
以後、利用側ノードは、この復号化関数を使用して、提供側ノードから送信されてくる符号化されたデータを復号化することで、コンテンツデータを復元する。
In the usage-side node, the decoding function setting unit sets the inverse function obtained from the encoding function estimated by the function estimation unit as the decoding function.
Thereafter, the use side node restores the content data by decoding the encoded data transmitted from the providing side node using this decoding function.

以上説明したように、本発明の通信システムでは、提供側ノードに初期化ベクトルを送信させ、利用側ノードで受信される符号化された初期化ベクトルから全体符号化関数、ひいては復号化関数を決定し、以後、その決定した復号化関数を使用して受信ベクトルからコンテンツデータを復元するようにされている。   As described above, in the communication system according to the present invention, the initialization vector is transmitted to the providing side node, and the entire encoding function, and thus the decoding function, is determined from the encoded initialization vector received at the using side node. Thereafter, the content data is restored from the received vector using the determined decoding function.

このように、本発明の通信システムによれば、コンテンツデータを送信する前に、新たに考案した初期化ベクトルを使用して復号化関数を決定するため、コンテンツデータの送信時には、通信データ中に復号化関数を特定するための情報を含める必要がなく、従来技術では通信データ中に含まれていた経路IDを省略することができる。
その結果、コンテンツデータの送信を効率よく行うことができ、しかも、その効果は、短いデータを頻繁に送る場合により顕著なものとなる。
As described above, according to the communication system of the present invention, before the content data is transmitted, the decoding function is determined using the newly devised initialization vector. It is not necessary to include information for specifying the decryption function, and the path ID included in the communication data in the prior art can be omitted.
As a result, content data can be transmitted efficiently, and the effect becomes more prominent when short data is frequently transmitted.

また、請求項2に記載の通信システムでは、利用側ノードの打診ベクトル生成手段が、関数推定手段にて推定された全体符号化関数に基づいて生成した打診ベクトルを提供側ノードに対して送信することで、提供側ノードに打診ベクトルの送信を要求する。なお、打診ベクトルとは、全体符号化関数に作用させると、予め設定された単位ベクトルに変換されるベクトルのことをいう。   In the communication system according to claim 2, the consultation vector generation unit of the user side node transmits the consultation vector generated based on the entire coding function estimated by the function estimation unit to the providing side node. This requests the providing node to transmit the consultation vector. The consultation vector refers to a vector that is converted into a preset unit vector when applied to the entire encoding function.

提供側ノードの打診ベクトル送信手段は、この利用側ノードからの要求に応じて、利用側ノードから提供される打診ベクトルを送信ベクトルとした送信を行う。   The consultation vector transmission means of the providing side node performs transmission using the consultation vector provided from the usage side node as a transmission vector in response to a request from the usage side node.

これにより、打診ベクトルは、初期化ベクトルの場合と同様に、提供側ノードで符号化され、中継ノードで再符号化されながら転送され、利用側ノードで受信される。   As a result, the consultation vector is encoded by the providing side node, transferred while being re-encoded by the relay node, and received by the using side node, as in the case of the initialization vector.

利用側ノードの関数修正手段は、自身の要求に基づく自ノード宛の通信データを受信すると、受信した通信データから抽出される受信ベクトルが、予期した単位ベクトルと不一致である場合に、該受信ベクトルの内容に従って、関数推定手段にて推定した全体符号化関数を構成する行ベクトルの並び順(つまり、列ベクトルを構成する成分の並び順)を入れ替えることで、全体符号化関数を修正する。   When the function correction means of the user side node receives the communication data addressed to its own node based on its own request, the received vector extracted from the received communication data does not match the expected unit vector. The overall encoding function is corrected by changing the arrangement order of the row vectors constituting the overall encoding function estimated by the function estimation means (that is, the arrangement order of the components constituting the column vector).

具体的には、i行が1に設定された単位ベクトル(列ベクトル)に変換されることが期待される打診ベクトルを受信した結果、j(i≠j)行が1に設定された単位ベクトルであった場合には、推定された全体符号化関数を構成するj行目の行ベクトルをi行目に移動させればよい。そして、この操作を、K−1種類の単位ベクトルに対応する打診ベクトルについて繰り返すことによって、誤って推定された全体符号化関数を訂正することができる。   Specifically, as a result of receiving a consultation vector expected to be converted to a unit vector (column vector) in which i row is set to 1, a unit vector in which j (i ≠ j) row is set to 1 In this case, the j-th row vector constituting the estimated overall encoding function may be moved to the i-th row. Then, by repeating this operation for the consultation vectors corresponding to the K-1 types of unit vectors, it is possible to correct the erroneously estimated overall coding function.

従って、本発明の通信システムによれば、利用側ノードにおいて、受信ベクトルを構成する各成分の正しい並び順が不明であっても、新たに考案した打診ベクトルを使用することで正しい並び順を把握することができ、ひいては全体符号化関数を一意に決定することができる。   Therefore, according to the communication system of the present invention, even when the correct arrangement order of each component constituting the reception vector is unknown at the user side node, the correct arrangement order is grasped by using the newly devised consultation vector. And thus the overall coding function can be uniquely determined.

通信システムの全体構成図である。1 is an overall configuration diagram of a communication system. ノード間で送受信されるメッセージの内容を示す説明図である。It is explanatory drawing which shows the content of the message transmitted / received between nodes. ノードの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of a node. 提供側ノードの復号化関数決定部が実行する提供側処理の内容を示すフローチャートである。It is a flowchart which shows the content of the provision side process which the decoding function determination part of a provision side node performs. 利用側ノードの復号化関数決定部が実行する利用側処理の内容を示すフローチャートである。It is a flowchart which shows the content of the utilization side process which the decoding function determination part of a utilization side node performs. 利用側ノードが復号化関数を決定する際に実行される初期化手順を示すシーケンス図である。It is a sequence diagram which shows the initialization procedure performed when a utilization side node determines a decoding function. 全体符号化関数を推定する際の不確定要素についての説明図である。It is explanatory drawing about the uncertain element at the time of estimating a whole encoding function.

以下に本発明の実施形態を図面と共に説明する。
[第1実施形態]
<全体構成>
通信システム1は、ネットワークコーディングを利用した通信を実行するものであり、
図1に示すように、複数の通信装置(ノード)2を、1対1の通信を行う伝送路(リンク)3で相互に接続した構成を有する。なお、各ノード2は、それぞれ一つ以上の伝送路に接続されている。
Embodiments of the present invention will be described below with reference to the drawings.
[First Embodiment]
<Overall configuration>
The communication system 1 executes communication using network coding.
As shown in FIG. 1, a plurality of communication devices (nodes) 2 are connected to each other via a transmission line (link) 3 that performs one-to-one communication. Each node 2 is connected to one or more transmission paths.

以下では、自ノード2に接続されたリンク3の他端に接続されたノードを隣接ノードともいう。また、ノード2のうち、コンテンツデータを提供するノードを提供側ノード、コンテンツデータの提供を受けて、そのコンテンツデータを利用するノードを利用側ノード、提供側ノードから利用側ノードに至るネットワークを構成し、コンテンツデータの中継を行うノードを中継ノードという。   Hereinafter, a node connected to the other end of the link 3 connected to the own node 2 is also referred to as an adjacent node. In addition, among the nodes 2, a node that provides content data is configured as a providing side node, a node that receives the provision of content data, and a node that uses the content data is configured as a usage side node, and a network that extends from the providing side node to the usage side node A node that relays content data is called a relay node.

また、提供側ノードは、K(Kは1以上の整数)個のリンクを介してK個の隣接ノードにデータを送信し、中継ノードは、M(Mは1以上の整数)個のリンク(入力リンク)を介して、M個の隣接ノードから入力されるデータを符号化して、入力リンクとは異なるN(Nは1以上の整数)個のリンク(出力リンク)を介してN個の隣接ノードに符号化したデータを出力する。そして、利用側ノードは、K個のリンクを介してK個の隣接ノードからデータを受信し、この受信したデータを復号化することによって、コンテンツデータを復元するように構成されている。   The providing side node transmits data to K adjacent nodes via K (K is an integer of 1 or more) links, and the relay node transmits M (M is an integer of 1 or more) links ( Encode data input from M adjacent nodes via (input link), and N adjacent via N (N is an integer of 1 or more) links (output links) different from the input link Output the encoded data to the node. Then, the user side node is configured to receive data from K adjacent nodes via K links and to decrypt the received data to restore the content data.

<メッセージ>
ここで、ノード2間で送受信される通信データ(以下「メッセージ」という)の内容について説明する。
<Message>
Here, the contents of communication data (hereinafter referred to as “message”) transmitted and received between the nodes 2 will be described.

メッセージには、コンテンツデータの送信に使用する符号化データメッセージ、及びネットワークコーディングによって符号化されたデータを復号化してコンテンツデータを復元する際に使用する復号化関数の決定に使用する制御メッセージが少なくとも存在する。   The message includes at least an encoded data message used for transmission of content data, and a control message used to determine a decoding function used when decoding data encoded by network coding to restore content data Exists.

符号化データメッセージは、図2(a)に示すように、シーケンス番号を設定するシーケンス領域、送信元を示す送信ノードIDを設定する送信ID領域、受信先を示す受信ノードIDを設定する受信ID領域、データを設定するデータ領域からなる。   As shown in FIG. 2A, the encoded data message includes a sequence area for setting a sequence number, a transmission ID area for setting a transmission node ID indicating a transmission source, and a reception ID for setting a reception node ID indicating a reception destination. It consists of an area and a data area for setting data.

なお、シーケンス番号は、提供側ノードから並列に送信されるK個の符号化データメッセージについては、同じシーケンス番号が付与される。各中継ノードは、送信ノードID,受信ノードID,シーケンス番号がいずれも一致しているM個の符号化データメッセージを対象として、データ領域に設定されたデータを符号化する。この符号化されたデータがデータ領域に設定されるN個の符号化データメッセージには、符号化の対象となった符号化データメッセージに付与されていたものと同じ送信ノードID,受信ノードID,シーケンス番号が付与されて転送される。また、利用側ノードは、送信ノードID,受信ノードID,シーケンス番号がいずれも一致しているK個の符号化データメッセージを対象として、データ領域に設定されたデータの復号化を行い、コンテンツデータを復元する。   Note that the same sequence number is assigned to the K encoded data messages transmitted in parallel from the providing side node. Each relay node encodes data set in the data area for M encoded data messages having the same transmission node ID, reception node ID, and sequence number. The N encoded data messages in which the encoded data is set in the data area include the same transmission node ID, reception node ID, and the same as those given to the encoded data message to be encoded. Transferred with a sequence number. Further, the user side node decodes the data set in the data area for K encoded data messages having the same transmission node ID, reception node ID, and sequence number, and content data. To restore.

一方、制御メッセージは、図2(b)〜(e)に示すように、シーケンス領域の変わりに、制御の種類を指定するコマンド領域が設けられている以外は、符号化データメッセージと同様である。但し、データ領域については、コマンド領域の設定内容によって省略される場合もある。   On the other hand, as shown in FIGS. 2B to 2E, the control message is the same as the encoded data message except that a command area for designating the type of control is provided instead of the sequence area. . However, the data area may be omitted depending on the setting contents of the command area.

図2(b)は、初期化要求メッセージであり、利用側ノードにて使用される復号化関数を決定するための一連の処理を開始することを、利用側ノードから提供側ノードに要求する際に使用する。この初期化要求メッセージは、データ領域は必要がないため省略される。   FIG. 2B shows an initialization request message, when a request is made from the use side node to the providing side node to start a series of processes for determining a decoding function used in the use side node. Used for. This initialization request message is omitted because the data area is not necessary.

図2(c)は、初期化開始通知メッセージであり、初期化要求メッセージを受け付けて初期化処理を開始することを、提供側ノードから利用側ノードに通知する際に使用する。この初期化開始通知メッセージも、データ領域は必要がないため省略される。   FIG. 2C shows an initialization start notification message, which is used when the providing side node notifies the user side node that the initialization request message is received and the initialization process is started. This initialization start notification message is also omitted because the data area is not necessary.

図2(d)は、初期化ベクトル送信メッセージであり、提供側ノードから利用側ノードに向けて送信され、そのデータ領域には、初期化ベクトル(後述する)を符号化したデータが設定される。   FIG. 2D shows an initialization vector transmission message which is transmitted from the providing side node to the usage side node, and data obtained by encoding an initialization vector (described later) is set in the data area. .

図2(e)は、打診ベクトル通知メッセージであり、利用側ノードにて推定した全体符号化関数の検証に必要なデータを、利用側ノードから提供側ノードに通知する際に使用する。この打診ベクトル通知メッセージのデータ領域には、推定した全体符号化関数を用いて生成された打診ベクトル(後述する)が設定される。   FIG. 2E shows a consultation vector notification message, which is used when notifying data necessary for verification of the entire encoding function estimated by the user side node from the user side node to the providing side node. In the data area of this consultation vector notification message, a consultation vector (described later) generated using the estimated overall encoding function is set.

図2(f)は、打診ベクトル送信メッセージであり、打診ベクトル通知メッセージによって取得した打診ベクトルを使用して、提供側ノードから利用側ノードに送信される。この打診ベクトル送信メッセージのデータ領域には、打診ベクトルを符号化したデータが設定される。   FIG. 2F shows a consultation vector transmission message, which is transmitted from the provider side node to the user side node using the consultation vector acquired by the consultation vector notification message. In the data area of this consultation vector transmission message, data obtained by encoding the consultation vector is set.

なお、提供側ノードから利用側ノードに送信される制御メッセージ(ここでは初期化ベクトル送信メッセージ,打診ベクトル送信メッセージ)のデータ領域は、符号化データメッセージと同様に、提供側ノード及び中継ノードにおいて符号化(ネットワークコーディング)の対象となる。以下では、符号化データメッセージ、初期化ベクトル送信メッセージ、打診ベクトル送信メッセージを総称して、符号化対象メッセージともいう。   Note that the data area of the control message (here, initialization vector transmission message, consultation vector transmission message) transmitted from the provider side node to the user side node is encoded by the provider side node and the relay node in the same manner as the encoded data message. (Network coding). Hereinafter, the encoded data message, the initialization vector transmission message, and the consultation vector transmission message are collectively referred to as an encoding target message.

一方、符号化対象メッセージ以外の制御メッセージ(ここでは、初期化開始要求メッセージ、初期化開始通知メッセージ、打診ベクトル通知メッセージ)は、ネットワークコーディングを使用しない周知のルーティング技術に従って転送される。   On the other hand, control messages other than the encoding target message (here, an initialization start request message, an initialization start notification message, and a consultation vector notification message) are transferred according to a known routing technique that does not use network coding.

<ノード>
ノード2は、図3に示すように、複数のリンク3に接続され、各リンク3を介して隣接ノード2との通信(メッセージの送受信)を個別に行う送受信部21と、自ノード2が属するネットワーク(即ち、通信システム1)内のノードの配置状態(トポロジー)に関する情報(以下「トポロジー情報」という)を収集して記憶するトポロジー管理部22とを備えている。
<Node>
As shown in FIG. 3, the node 2 is connected to a plurality of links 3, and a transmission / reception unit 21 that individually performs communication (message transmission / reception) with an adjacent node 2 via each link 3 and the own node 2 belong to the node 2. And a topology management unit 22 that collects and stores information (hereinafter referred to as “topology information”) relating to the arrangement state (topology) of nodes in the network (that is, the communication system 1).

また、ノード2は、送受信部21を介して所定の隣接ノード(入力側隣接ノード)から他ノード宛の符号化対象メッセージを受信した場合に、そのデータ領域に設定されたデータを予め設定された符号化関数を用いて符号化し、その符号化されたデータがデータ領域に設定された符号化対象メッセージを、送受信部21を介して入力側隣接ノードとは異なる所定の隣接ノード(出力側隣接ノード)に転送することで中継ノードとしての機能を実現する中継処理部23と、符号化対象メッセージを送信する際に、送信対象となるデータ(自身が保持するコンテンツデータや初期化ベクトル,打診ベクトル)を、Kビット単位(以下、このKビット単位のデータを「送信ベクトル」ともいう)で切り出して符号化関数を用いて符号化し、符号化されたデータがデータ領域に設定された符号化対象メッセージを、送受信部21を介して所定の隣接ノードに出力することで提供側ノードとしての機能を実現する送信処理部24と、トポロジー管理部22が収集したトポロジー情報に基づいて、中継処理部23や送信処理部24で使用する符号化関数(個別符号化関数ともいう)を決定する符号化関数決定部25とを備えている。   Further, when the node 2 receives an encoding target message addressed to another node from a predetermined adjacent node (input side adjacent node) via the transmission / reception unit 21, the data set in the data area is set in advance. An encoding target message, which is encoded using an encoding function and the encoded data is set in a data area, is transmitted to a predetermined adjacent node (output-side adjacent node) different from the input-side adjacent node via the transmission / reception unit 21. ) And a relay processing unit 23 that realizes a function as a relay node and data to be transmitted when transmitting a message to be encoded (content data, initialization vector, consultation vector held by itself) Is cut out in K-bit units (hereinafter, data in K-bit units is also referred to as “transmission vector”), encoded using an encoding function, and encoded. A transmission processing unit 24 that realizes a function as a providing side node by outputting an encoding target message in which the data is set in the data area to a predetermined adjacent node via the transmission / reception unit 21, and a topology management unit 22 An encoding function determination unit 25 that determines an encoding function (also referred to as an individual encoding function) used in the relay processing unit 23 and the transmission processing unit 24 based on the collected topology information is provided.

また、ノード2は、送受信部21を介して自ノード宛の符号化対象メッセージを受信し
た場合に、そのデータ領域に設定されたデータを予め設定された復号化関数を用いて復号化し、提供側ノードが提供するコンテンツデータを復元することで、利用側ノードとしての機能を実現する受信処理部26と、トポロジー管理部22が収集したトポロジー情報、及び提供側ノードとの間で一連の初期化手順(後述する)を実行することによって得られる情報によって復号化関数を決定する復号化関数決定部27とを備えている。
Further, when the node 2 receives the encoding target message addressed to itself via the transmitting / receiving unit 21, the node 2 decodes the data set in the data area using a preset decoding function, A series of initialization procedures between the reception processing unit 26 that realizes the function as the user side node by restoring the content data provided by the node, the topology information collected by the topology management unit 22, and the providing side node A decoding function determining unit 27 that determines a decoding function based on information obtained by executing (described later).

更に、ノード2は、自発的に或いは他ノードからの要求に応じて、自ノード2が有するコンテンツデータを、符号化メッセージを使用して利用側ノードに提供するアプリケーションであるコンテンツデータ提供処理や、受信処理部26にて復元されたコンテンツデータを利用するアプリケーションであるコンテンツデータ利用処理を少なくとも実行するアプリケーション処理部28を備えている。   Furthermore, the node 2 is a content data providing process that is an application that provides the content data of the node 2 to the user side node using the encoded message, either spontaneously or in response to a request from another node. An application processing unit 28 that executes at least content data use processing that is an application that uses content data restored by the reception processing unit 26 is provided.

つまり、ノード2は、提供側ノード、利用側ノード、中継ノードのいずれとしても動作するように構成されている。
<送信処理部>
送信処理部24は、符号化対象メッセージを送信する場合、そのデータ領域を使用して送信するデータを、符号化関数決定部25で決定されるK行K列の行列で表現された符号化関数を用いて、送信ベクトル単位で順次符号化する。そして、その符号化によって得られるK種類のデータ系列毎に別々の符号化対象メッセージを生成し、その符号化対象メッセージを、データ系列毎に別々の隣接ノードに送受信部21を介して送信する。
That is, the node 2 is configured to operate as any of the providing side node, the usage side node, and the relay node.
<Transmission processing unit>
When transmitting the encoding target message, the transmission processing unit 24 encodes the data to be transmitted using the data area by an encoding function expressed by a matrix of K rows and K columns determined by the encoding function determination unit 25. Are sequentially encoded in units of transmission vectors. Then, a separate encoding target message is generated for each of the K types of data series obtained by the encoding, and the encoding target message is transmitted to a separate adjacent node for each data series via the transmission / reception unit 21.

また、送信処理部24は、符号化対象メッセージ以外の制御メッセージを送信する場合、データ領域が存在しても符号化関数による符号化を実行することなく、そのままの形で、予め指定されたいずれか一つの隣接ノードに送信する。   In addition, when transmitting a control message other than the encoding target message, the transmission processing unit 24 does not perform encoding by the encoding function even if the data area exists, and does not execute any encoding specified in advance. To one adjacent node.

<中継処理部>
中継処理部23は、M個の隣接ノードから送受信部21を介して他ノード宛の符号化対象メッセージを受信した場合、その受信した他ノード宛の符号化対象メッセージのデータ領域から、それぞれ1ビットずつ抽出して所定順に並べることで、Mビットのデータで構成される入力ベクトルを生成する。つまり、各メッセージのデータ領域にそれぞれP個のデータが設定されていれば、P個の入力ベクトルが生成される。そして、符号化関数決定部25で決定されるM行N列の行列で表現された符号化関数を用いて、入力ベクトルを順次符号化し、その符号化によって得られるN種類のデータ系列毎に別々の符号化対象メッセージを生成し、その符号化対象メッセージを、データ系列毎に別々の隣接ノードに送受信部21を介して転送する。
<Relay processing unit>
When the relay processing unit 23 receives an encoding target message addressed to another node from the M adjacent nodes via the transmission / reception unit 21, the relay processing unit 23 receives 1 bit from the data area of the received encoding target message addressed to the other node. By extracting and arranging them in a predetermined order, an input vector composed of M-bit data is generated. That is, if P data is set in the data area of each message, P input vectors are generated. Then, the input function is sequentially encoded using the encoding function expressed by the matrix of M rows and N columns determined by the encoding function determination unit 25, and separately for each of the N types of data series obtained by the encoding. The encoding target message is generated, and the encoding target message is transferred to a separate adjacent node for each data series via the transmission / reception unit 21.

また、中継処理部23は、符号化対象メッセージ以外の制御メッセージを受信した場合、周知のルーティング処理によって決まるいずれか一つの隣接ノードに転送する。   Further, when receiving a control message other than the encoding target message, the relay processing unit 23 transfers the control message to any one of the adjacent nodes determined by a known routing process.

<受信処理部>
受信処理部26は、K個の隣接ノードから送受信部21を介して自ノード宛の符号化対象メッセージを受信した場合、その受信した自ノード宛の符号化対象メッセージのデータ領域から、それぞれ1ビットずつ抽出して所定順に並べることで、Kビットのデータで構成される受信ベクトルを生成する。つまり、各メッセージのデータ領域にそれぞれP個のデータが設定されていれば、P個の受信ベクトルが生成される。そして、復号化関数決定部27で決定されるK行K列の行列で表現された復号化関数を用いて、受信ベクトルを順次復号化することでコンテンツデータを復元する。
<Reception processing unit>
When the reception processing unit 26 receives the encoding target message addressed to the own node from the K adjacent nodes via the transmission / reception unit 21, the reception processing unit 26 receives 1 bit from the data area of the received encoding target message addressed to the own node. By extracting and arranging them in a predetermined order, a reception vector composed of K-bit data is generated. That is, if P data is set in the data area of each message, P reception vectors are generated. Then, the content data is restored by sequentially decoding the received vector using the decoding function expressed by the matrix of K rows and K columns determined by the decoding function determination unit 27.

<トポロジー管理部>
トポロジー管理部22は、トポロジー管理のために予め用意された制御メッセージ(図
示せず)を他ノードとの間で送受信することによって、トポロジー情報を収集して、収集した情報をトポロジー管理テーブルに記憶する。これにより、トポロジー管理部22を有する全てのノード2が、共通のトポロジー情報を保持する。
<Topology management unit>
The topology management unit 22 collects topology information by transmitting and receiving control messages (not shown) prepared in advance for topology management to and from other nodes, and stores the collected information in the topology management table. To do. Thereby, all the nodes 2 having the topology management unit 22 hold common topology information.

なお、トポロジー情報の収集に使用するプロトコルは周知のものであり、本発明の主要部に直接関わるものではないため、ここでは説明を省略する。
また、トポロジー管理部22は、通信システム1に新たなノード2が追加されたり、接続されていたノード2が除去されたりする等して、トポロジー情報に変化が生じたことを検知すると、トポロジー情報に基づいた処理を実行する符号化関数決定部25,復号化関数決定部27に対して、その旨を通知するトポロジー更新通知を出力するように構成されている。
The protocol used for collecting the topology information is well known and is not directly related to the main part of the present invention, and therefore the description thereof is omitted here.
When the topology management unit 22 detects that the topology information has changed, for example, when a new node 2 is added to the communication system 1 or the connected node 2 is removed, the topology information To the encoding function determination unit 25 and the decoding function determination unit 27 that execute processing based on the above, a topology update notification that notifies the fact is output.

<符号化関数決定部>
符号化関数決定部25は、符号化関数が未算出である場合、又は、トポロジー管理部22からトポロジー更新通知を受けた場合に作動して符号化関数(個別符号化関数)を決定する。
<Encoding function determination unit>
The encoding function determination unit 25 operates to determine an encoding function (individual encoding function) when the encoding function has not been calculated or when a topology update notification is received from the topology management unit 22.

具体的には、トポロジー管理テーブルに記憶されたトポロジー情報に基づいて、ネットワークコーディングで使用する入力リンク及び出力リンクを決定する。そして、自ノード2が提供側ノードとして動作する場合に使用する出力リンク数をKとして、送信側処理部24で使用するK行K列の符号化関数を設定すると共に、自ノード2が中継ノードとして動作する場合に使用する入力リンク数をM、出力リンク数をNとして、中継処理部23で使用するM行N列の行列で表現される符号化関数を設定する。   Specifically, input links and output links used in network coding are determined based on topology information stored in the topology management table. Then, the number of output links to be used when the own node 2 operates as the providing side node is set as K, and an encoding function of K rows and K columns used by the transmission side processing unit 24 is set. Assuming that the number of input links to be used is M and the number of output links is N, an encoding function expressed by a matrix of M rows and N columns used in the relay processing unit 23 is set.

これら符号化関数は、符号化関数を合成してなる全体符号化関数が逆行列を有し、全体符号化関数から復号化関数を求めることができるような特性を有するように、ノード2毎に任意に設定される。このような特性を有する符号化関数は、ネットワークコーディングにおいて周知のものである。   These encoding functions are provided for each node 2 so that the entire encoding function obtained by synthesizing the encoding functions has an inverse matrix and has a characteristic that a decoding function can be obtained from the entire encoding function. Set arbitrarily. An encoding function having such characteristics is well known in network coding.

<復号化関数決定部>
復号化関数決定部27は、自ノード2がコンテンツデータを提供する提供側ノードとなる場合には提供側処理、コンテンツデータを利用する利用側ノードとなる場合には利用側処理を実行する。なお、利用側ノードとなるノード2は、提供側ノードとなるノード2を特定するための情報であるノードIDを予め保持している。
<Decoding function determination unit>
The decryption function determination unit 27 executes a providing process when the node 2 is a providing node that provides content data, and a using process when it is a using node that uses content data. Note that the node 2 serving as the user side node holds in advance a node ID that is information for specifying the node 2 serving as the providing side node.

以下、復号化関数決定部27での処理を提供側処理と利用側処理とに分けて詳述する。
また、これら提供側処理及び利用側処理を実行することによって実現される手順を初期化手順という。
Hereinafter, the process in the decryption function determination unit 27 will be described in detail by dividing it into a providing side process and a using side process.
A procedure realized by executing the provider side process and the user side process is referred to as an initialization procedure.

<<提供側処理>>
提供側処理は、トポロジー管理部22によるトポロジー情報の収集が行われ、かつ、符号化関数決定部25によって符号化関数が決定された後、利用側ノードから初期化開始要求メッセージを受信すると起動する。また、利用側ノードが複数存在する場合、各利用側ノードから個別に初期化開始要求メッセージが送信されるため、そのそれぞれについて同様の処理を実行する。
<< Providing processing >>
The provider side process is started when the topology management unit 22 collects the topology information and the encoding function determination unit 25 determines the encoding function and then receives the initialization start request message from the user side node. . When there are a plurality of usage-side nodes, an initialization start request message is individually transmitted from each usage-side node, and the same processing is executed for each of the usage-side nodes.

本処理が起動すると、図4,図6に示すように、まず、初期化開始要求メッセージの送信元となった利用側ノード(以下「要求元ノード」という)に対して、初期化開始通知メッセージを送信し(S110)、続けて、要求元ノードに対して初期化ベクトル通知メッセージを送信する(S120)。   When this processing is started, as shown in FIGS. 4 and 6, first, an initialization start notification message is sent to the use side node (hereinafter referred to as “request source node”) that is the transmission source of the initialization start request message. Is transmitted (S110), and then an initialization vector notification message is transmitted to the requesting node (S120).

なお、初期化ベクトル通知メッセージは、自ノードが有するK個の出力リンクのそれぞれから出力される。
ここで、初期化ベクトルとは、出力リンクの数と同じ数であるKビットのデータを成分として構成され、かつ、いずれか一つの成分が1、他の全ての成分が0に設定されたK種類の単位ベクトルからなる。例えばK=3の場合、初期化ベクトルはそれぞれ[1,0,0][0,1,0][0,0,1]で表される。
The initialization vector notification message is output from each of the K output links of the own node.
Here, the initialization vector is composed of K-bit data having the same number as the number of output links as components, and any one component is set to 1 and all other components are set to 0. Consists of various unit vectors. For example, when K = 3, the initialization vectors are represented by [1, 0, 0] [0, 1, 0] [0, 0, 1], respectively.

そして、これら初期化ベクトルを単位符号化関数に作用させることによって得られる符号化されたデータ(出力ベクトル)を[x1 ,x2 ,…xK ]で表すものとすると、出力ベクトルの成分xi (i=1,2,…K)が、i番目の出力リンクから出力される初期化ベクトル通知メッセージのデータ領域に設定される。つまり、ここではK種類の初期化ベクトルが存在するため、各出力リンクから出力される初期化ベクトル通知メッセージのデータ領域には、それぞれK個のデータが設定されることになる。 If the encoded data (output vector) obtained by applying these initialization vectors to the unit encoding function is represented by [x 1 , x 2 ,... X K ], the output vector component x i (i = 1, 2,... K) is set in the data area of the initialization vector notification message output from the i-th output link. That is, since K types of initialization vectors exist here, K data are set in the data area of the initialization vector notification message output from each output link.

その後、要求元ノードから打診ベクトル通知メッセージを受信するまで待機し(S130)、打診ベクトル通知メッセージを受信すると、そのメッセージに設定されている打診ベクトルに基づく打診ベクトル送信メッセージを送信して(S140)、本処理を終了する。   After that, it waits until a consultation vector notification message is received from the requesting node (S130). When a consultation vector notification message is received, a consultation vector transmission message based on the consultation vector set in the message is transmitted (S140). This process is terminated.

なお、打診ベクトル送信メッセージは、初期化ベクトル通知メッセージの場合と同様に、K個の出力リンクのそれぞれから出力される。即ち、初期化ベクトルを打診ベクトルに置き換えて、初期化ベクトル通知メッセージの送信時と同様の符号化、及びデータ領域へ符号化されたデータの設定が行われる。   The consultation vector transmission message is output from each of the K output links as in the case of the initialization vector notification message. That is, the initialization vector is replaced with the consultation vector, and the same encoding as when the initialization vector notification message is transmitted and the setting of the encoded data in the data area are performed.

この処理の後、要求元ノードからの要求に応じて又は周期的に、符号化データメッセージを使用したコンテンツデータの送信が開始される。コンテンツデータを送信する場合、コンテンツデータからKビットずつ切り出したデータを送信ベクトルとして、以下、初期化ベクトル及び打診ベクトルの場合と同様の処理が行われる。但し、同じ送信ベクトルに基づく符号化データがデータ領域に設定されたK個の符号化データメッセージには、同じシーケンス番号が付与される。   After this processing, transmission of content data using the encoded data message is started in response to a request from the requesting node or periodically. In the case of transmitting content data, the same processing as in the case of the initialization vector and the consultation vector is performed below using the data cut out in K bits from the content data as a transmission vector. However, the same sequence number is assigned to K encoded data messages in which encoded data based on the same transmission vector is set in the data area.

<<利用側処理>>
利用側処理は、トポロジー管理部22によって収集されたトポロジー情報に変化(トポロジー更新情報の入力)があり、かつ、自ノード2が、他ノードが提供するコンテンツデータを利用する利用側ノードである場合(例えば、所定の記憶領域に提供側ノードのノードIDが記憶されている場合)に起動する。なお、トポロジー情報に変化がある場合とは、過去に取得され記憶されているトポロジー情報が存在せず、トポロジー情報が始めて取得された場合も含む。
<< User side processing >>
In the use side process, there is a change in the topology information collected by the topology management unit 22 (input of topology update information), and the own node 2 is a use side node that uses content data provided by another node. (For example, when the node ID of the providing node is stored in a predetermined storage area). The case where there is a change in topology information includes the case where topology information acquired and stored in the past does not exist and topology information is acquired for the first time.

また、複数の提供側ノードからコンテンツデータを取得する必要がある場合、それぞれの提供側ノードに対して、本処理を個別に実行する。
本処理が起動すると、図5,図6に示すように、まず、提供側ノードに対して初期化開始要求メッセージを送信する(S210)。
Further, when it is necessary to acquire content data from a plurality of providing side nodes, this processing is individually executed for each providing side node.
When this process starts, as shown in FIGS. 5 and 6, first, an initialization start request message is transmitted to the providing side node (S210).

その後、提供側ノードから初期化開始通知メッセージを受信するまで待機し(S220)、これを受信すると、引き続き初期化ベクトル通知メッセージを受信するまで待機する(S230)。   Thereafter, it waits until an initialization start notification message is received from the providing side node (S220), and upon receiving this, it waits until it receives an initialization vector notification message (S230).

コンテンツデータの受信に使用するK個の入力リンクの全てから送信ノードID,受信
ノードID,シーケンス番号が全て一致する初期化ベクトル通知メッセージを受信すると、それらメッセージのデータ領域から受信ベクトルを抽出し、その抽出された受信ベクトルに基づいて、ネットワーク全体の符号化関数(提供側ノード及び全ての中継ノードで使用される符号化関数を合成した関数)である全体符号化関数を推定する(S240)。
When receiving an initialization vector notification message in which the transmission node ID, the reception node ID, and the sequence number all match from all K input links used for receiving the content data, the reception vector is extracted from the data area of those messages, Based on the extracted received vector, an overall encoding function which is an encoding function of the entire network (a function obtained by combining encoding functions used in the providing side node and all relay nodes) is estimated (S240).

ここでは、各初期化ベクトル通知メッセージのデータ領域には、それぞれK個のデータが設定されているため、各メッセージからi番目(i=1,2,…K)に設定されているデータを抽出したものをi番目の受信ベクトルとして抽出する。そして、i番目の受信ベクトルを、K行K列の行列におけるi列の列ベクトルとして並べたものを全体符号化関数の推定値(以下「推定関数」という)としている。   Here, since K data is set in the data area of each initialization vector notification message, the i-th (i = 1, 2,... K) set data is extracted from each message. Is extracted as the i-th received vector. An i-th received vector arranged as a column vector of i columns in a matrix of K rows and K columns is used as an estimated value (hereinafter referred to as “estimation function”) of the entire coding function.

次に、S240で求めた推定関数に基づいて打診ベクトルを算出し(S250)、その算出した打診ベクトルをデータ領域に設定した打診ベクトル通知メッセージを、提供側ノードに対して送信する(S260)。   Next, a consultation vector is calculated based on the estimation function obtained in S240 (S250), and a consultation vector notification message in which the calculated consultation vector is set in the data area is transmitted to the providing side node (S260).

なお、打診ベクトルは、推定関数に作用させると、Kビットの単位ベクトルに符号化されるKビットのベクトルであり、K種類ある単位ベクトルのそれぞれに対応するK個のベクトルからなる。   Note that the consultation vector is a K-bit vector that is encoded into a K-bit unit vector when applied to the estimation function, and is composed of K vectors corresponding to each of K types of unit vectors.

その後、提供側ノードから打診ベクトル送信メッセージを受信するまで待機し(S270)、コンテンツデータの受信に使用するK個の入力リンクの全てから初期化ベクトル通知メッセージを受信すると、それらメッセージのデータ領域から受信ベクトルを抽出し、その抽出された受信ベクトルが、期待した単位ベクトルと一致しているか否かを判断することによって、推定関数の検証を行う(S280)。   After that, it waits until receiving a consultation vector transmission message from the providing side node (S270). When initialization vector notification messages are received from all of the K input links used for receiving content data, from the data area of those messages. The received vector is extracted, and the estimated function is verified by determining whether or not the extracted received vector matches the expected unit vector (S280).

受信ベクトルが一つでも期待した単位ベクトルと一致していなければ、その受信ベクトルの内容に従って、推定関数を構成する列ベクトルを適宜入れ替えることで推定関数を修正する(S290)。   If even one received vector does not match the expected unit vector, the estimated function is corrected by appropriately replacing column vectors constituting the estimated function according to the contents of the received vector (S290).

そして、全ての受信ベクトルが期待した単位ベクトルと一致している場合には、推定関数をそのまま全体符号化関数として使用し、両者が一致していない場合には、S290にて修正された推定関数を全体符号化関数として使用し、その全体符号化関数の逆関数を復号化関数として求めて(S300)、本処理を終了する。   If all the received vectors match the expected unit vector, the estimation function is used as the whole encoding function as it is. If the two do not match, the estimation function modified in S290 is used. Is used as the overall encoding function, an inverse function of the overall encoding function is obtained as a decoding function (S300), and the process is terminated.

以後、受信処理部26は、送受信部21を介して、送信ノードID,受信ノードIDシーケンス番号が全て一致した符号化データメッセージをK個ある入力リンクの全てから受信すると、それらのメッセージのデータ領域に設定されたデータから抽出した受信ベクトルを、復号化関数決定部27によって決定された復号化関数を用いて復号化し、その復号化によって復元されたコンテンツデータをアプリケーション処理部28に提供する。   Thereafter, when the reception processing unit 26 receives, through the transmission / reception unit 21, encoded data messages having the same transmission node ID and reception node ID sequence number from all K input links, the data area of those messages The reception vector extracted from the data set in (2) is decrypted using the decryption function determined by the decryption function determination unit 27, and the content data restored by the decryption is provided to the application processing unit 28.

<動作例>
通信システム1の動作例について説明する。
なお、図1において、ノードN1が提供側ノード、ノードN2,Nがを中継ノード、ノードN4が利用側ノードとして動作するものとする。
<Operation example>
An operation example of the communication system 1 will be described.
In FIG. 1, it is assumed that the node N1 operates as a providing side node, the nodes N2 and N as relay nodes, and the node N4 as a usage side node.

ここで、(1)〜(3)式に示すように、ノードN1〜N3で設定される符号化関数をH1〜H3で表すものとする。   Here, as shown in the equations (1) to (3), the encoding functions set in the nodes N1 to N3 are represented by H1 to H3.

Figure 0005835178
Figure 0005835178

また、提供側ノードN1が提供するコンテンツデータから切り出した2ビットのデータからなる送信ベクトルを[b1 ,b2 ]で表し、ノードNiから出力される符号化されたデータを[SiL,SiR]で表すものとして、各ノードN1〜N3で実行される符号化は、(4)〜(6)式で表される。 Further, a transmission vector composed of 2-bit data cut out from the content data provided by the providing side node N1 is represented by [b 1 , b 2 ], and the encoded data output from the node Ni is represented by [S iL , S iR ], the encoding executed at each of the nodes N1 to N3 is expressed by the equations (4) to (6).

Figure 0005835178
Figure 0005835178

提供側ノードN1が提供する受信ベクトル[b1 ,b2 ]と、利用側ノードN4が受信する符号化データメッセージから抽出される受信ベクトル[S2R,S3L]とは、ネットワーク全体の符号化関数である全体符号化関数をHとすると(7)式に示す関係を有し、更に、全体符号化関数Hは、(4)〜(7)から求めることができ、(8)式で表される。 The received vector [b 1 , b 2 ] provided by the provider side node N1 and the received vector [S 2R , S 3L ] extracted from the encoded data message received by the user side node N4 are encoded in the entire network. If the overall coding function as a function is H, the relationship shown in the equation (7) is obtained. Further, the overall coding function H can be obtained from (4) to (7), and is represented by the equation (8). Is done.

Figure 0005835178
Figure 0005835178

(7)式からわかるように、全体符号化関数Hが逆行列を持つように個別符号化関数H1〜H3が設定されていれば、全体符号化関数Hの逆行列である復号化関数を用いて、受信ベクトル[S2R,S3L]から送信ベクトル[b1 ,b2 ]を求めることができ、ひいてはコンテンツデータを復元することができる。 As can be seen from the equation (7), if the individual encoding functions H1 to H3 are set so that the overall encoding function H has an inverse matrix, a decoding function that is an inverse matrix of the overall encoding function H is used. Thus, the transmission vector [b 1 , b 2 ] can be obtained from the reception vector [S 2R , S 3L ], and the content data can be restored.

また、(7)(8)式から明らかなように、提供側ノードN1から送信される送信ベクトルが初期化ベクトル[1,0]である場合、利用側ノードN4にて受信される受信ベクトルは、全体符号化関数Hの1列目の列ベクトルに等しくなり、また、送信ベクトルが初期化ベクトル[0,1]である場合、受信ベクトルは、全体符号化関数Hの2列目の列ベクトルに等しくなる。   Further, as is clear from the equations (7) and (8), when the transmission vector transmitted from the providing side node N1 is the initialization vector [1, 0], the reception vector received at the using side node N4 is , When the transmission vector is the initialization vector [0, 1], the received vector is the column vector of the second column of the overall encoding function H. Is equal to

従って、利用側ノードN4では、初期化ベクトル送信メッセージのデータ領域に設定された値から抽出される受信ベクトルを適宜並べることによって、全体符号化関数Hを推定することが可能となる。   Therefore, the use side node N4 can estimate the entire encoding function H by appropriately arranging received vectors extracted from the values set in the data area of the initialization vector transmission message.

但し、送信ベクトルを構成する各成分の並び順と、受信ベクトルを構成する各成分の並び順との対応関係は、K=2の場合は、図7に示す二つのパタンに集約される。   However, the correspondence relationship between the arrangement order of the components constituting the transmission vector and the arrangement order of the components constituting the reception vector is collected into two patterns shown in FIG. 7 when K = 2.

つまり、受信ベクトルの並び順が正しい場合に、初期化ベクトルを使用して推定される正しい全体符号化関数をH、受信ベクトルの並び順が誤っている(入れ替わっている)場合に、初期化ベクトルを使用して推定される誤った全体符号化関数をHerrとして、両関数は、(9)(10)式で表され、両者の関係は、(12)式で表される変換行列Tを使用して(11)で表される。   That is, when the received vector arrangement order is correct, the correct overall encoding function estimated using the initialization vector is H, and when the received vector arrangement order is incorrect (replaced), the initialization vector Assuming that the erroneous overall coding function estimated using the Herr is Herr, both functions are expressed by the equations (9) and (10), and the relationship between them uses the transformation matrix T expressed by the equation (12). (11).

Figure 0005835178
Figure 0005835178

2成分からなるベクトルの単位ベクトルE1,E2を(13)(14)式で表し、また、推定関数をHs(=H or Herr)で表すものとすると、推定関数Hsから求めた単位ベクトルE1に変換される診断ベクトルVexは(15)式で表される。   When unit vectors E1 and E2 of two-component vectors are expressed by equations (13) and (14) and the estimation function is expressed by Hs (= H or Herr), the unit vector E1 obtained from the estimation function Hs is expressed as The converted diagnostic vector Vex is expressed by equation (15).

Figure 0005835178
Figure 0005835178

この診断ベクトルVexを、送信ベクトルとして提供側ノードN1から送信した場合、利用側ノードN4で得られる受信ベクトルは、H・Vexで表される。そして、推定関数Hsが正しく推定されている場合(Hs=Hの場合)、受信ベクトルは(16)式で表され、推定関数Hsが誤って推定されている場合(Hs=Herrの場合)、受信ベクトルは(17)式で表される。

Figure 0005835178
When this diagnostic vector Vex is transmitted from the providing side node N1 as a transmission vector, the reception vector obtained at the use side node N4 is represented by H · Vex. When the estimation function Hs is correctly estimated (when Hs = H), the received vector is expressed by equation (16), and when the estimation function Hs is estimated incorrectly (when Hs = Herr), The reception vector is expressed by equation (17).
Figure 0005835178

つまり、診断ベクトルVexがネットワークコーディングされることで得られる受信ベクトルは、推定関数Hsが正しければ、期待した値である単位ベクトルE1となり、推定関数Hsが誤っていれば、期待した値とは一致しない単位ベクトルE2となることがわか
る。
That is, the received vector obtained by network coding the diagnostic vector Vex is the unit vector E1 that is an expected value if the estimation function Hs is correct, and matches the expected value if the estimation function Hs is incorrect. It turns out that it becomes unit vector E2 which does not.

このため、診断ベクトルVexに基づく受信ベクトルが期待した単位ベクトルと一致しない場合には、推定関数Hsが誤っているものとして、推定関数Hsを構成する行ベクトルを入れ替えることで、正しい全体符号化関数が得られることになる。   For this reason, when the received vector based on the diagnostic vector Vex does not match the expected unit vector, it is assumed that the estimation function Hs is incorrect, and the correct whole coding function is obtained by replacing the row vectors constituting the estimation function Hs. Will be obtained.

ここでは、K=2の場合について説明したが、K>3の場合は、次のような修正を行えばよい。
即ち、i行目が1となる単位ベクトルを期待しているにも関わらず、受信ベクトルがj(i≠j)行目が1となる単位ベクトルである場合、推定関数Hsを構成するj行目の行ベクトルをi行目に移動させる。これを、期待した値と一致しない全ての受信ベクトルについて行うことにより、正しい全体符号化関数が得られることになる。
Here, the case of K = 2 has been described, but when K> 3, the following correction may be performed.
That is, when a unit vector whose i-th row is expected to be 1 but a received vector is a unit vector whose 1-th row is j (i ≠ j), j rows constituting the estimation function Hs The eye row vector is moved to the i-th row. By performing this operation for all received vectors that do not match the expected value, a correct overall coding function can be obtained.

<効果>
以上説明したように、通信システム1では、提供側ノードN1に初期化ベクトルや打診ベクトルを送信させ、利用側ノードN4で受信される符号化されたデータ(受信ベクトル)から全体符号化関数H、ひいては復号化関数を特定し、以後、その特定した復号化関数を使用して受信ベクトルからコンテンツデータを復元するようにされている。
<Effect>
As described above, the communication system 1 causes the providing side node N1 to transmit the initialization vector and the consultation vector, and the encoded data (received vector) received by the using side node N4 is used as an overall encoding function H, As a result, a decoding function is specified, and thereafter, the content data is restored from the received vector using the specified decoding function.

このように通信システム1によれば、コンテンツデータの送信を開始する前に、ネットワークコーディングにおいて新規な概念である「初期化ベクトル」や「打診ベクトル」を使用して復号化関数を決定しているため、コンテンツデータの送信時には、符号化データメッセージに復号化関数を特定するための情報を含める必要がなく、従来技術ではメッセージ中に含まれていた経路IDを省略することができる。
このため、コンテンツデータの送信を効率よく行うことができ、しかも、その効果は、短いデータを頻繁に送る場合により顕著なものとなる。
As described above, according to the communication system 1, before starting transmission of content data, a decoding function is determined using “initialization vector” and “consultation vector” which are new concepts in network coding. Therefore, when transmitting the content data, there is no need to include information for specifying the decoding function in the encoded data message, and the path ID included in the message can be omitted in the prior art.
For this reason, content data can be transmitted efficiently, and the effect becomes more prominent when short data is frequently transmitted.

また、通信システム1では、ネットワークのトポロジー情報が変化した場合に、個別符号化関数を再設定し、全体符号化関数H(ひいては復号化関数)を特定し直すように構成されているため、ノード2が後付けされたり、除去されたりする可能性があるシステムでも好適に用いることができる。   The communication system 1 is configured to reset the individual encoding function and re-specify the overall encoding function H (and thus the decoding function) when the network topology information changes. It can be suitably used even in a system in which 2 may be retrofitted or removed.

<他の実施形態>
以上本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において様々な態様にて実施することが可能である。
<Other embodiments>
Although one embodiment of the present invention has been described above, the present invention is not limited to the above embodiment, and can be implemented in various modes without departing from the gist of the present invention.

例えば、上記実施形態では、各ノード2は、提供側ノード、利用側ノード、中継ノードのいずれとしても動作可能に構成されているが、いずれか専用に構成されていてもよい。具体的には、提供側ノード専用であれば、中継処理部23、受信処理部26、復号化関数決定部27における利用側処理、アプリケーション処理部28におけるコンテンツ利用処理を省略してもよい。また、利用側ノード専用であれば、中継処理部23、送信処理部24、符号化関数決定部25、復号化関数決定部27における提供側処理、アプリケーション処理部28におけるコンテンツ提供処理を省略してもよい。また、中継ノード専用であれば、送信処理部24、受信処理部26、復号化関数決定部27、アプリケーション処理部28を省略してもよい。   For example, in the above-described embodiment, each node 2 is configured to be operable as any of the providing side node, the usage side node, and the relay node, but may be configured for any one of them. Specifically, if it is dedicated to the providing side node, the use side process in the relay processing unit 23, the reception processing unit 26, the decryption function determining unit 27, and the content use process in the application processing unit 28 may be omitted. If the node is dedicated to the use side node, the providing side process in the relay processing unit 23, the transmission processing unit 24, the encoding function determining unit 25, the decoding function determining unit 27, and the content providing process in the application processing unit 28 are omitted. Also good. If the relay node is dedicated, the transmission processing unit 24, the reception processing unit 26, the decoding function determination unit 27, and the application processing unit 28 may be omitted.

1…通信システム 2…ノード 3…リンク 21…送受信部 22…トポロジー管理部 23…中継処理部 24…送信処理部 25…符号化関数決定部 26…受信処理部
27…復号化関数決定部 28…アプリケーション処理部
DESCRIPTION OF SYMBOLS 1 ... Communication system 2 ... Node 3 ... Link 21 ... Transmission / reception part 22 ... Topology management part 23 ... Relay processing part 24 ... Transmission processing part 25 ... Coding function determination part 26 ... Reception processing part 27 ... Decoding function determination part 28 ... Application processing section

Claims (4)

コンテンツデータから切り出したK(Kは2以上の整数)ビットのデータを成分とするベクトルを送信ベクトルとして、予め設定されたK行K列の行列で表現される符号化関数を用いて前記送信ベクトルを順次符号化し、該符号化によって得られるK種類のデータ系列毎に通信データを生成し、該通信データを前記データ系列毎に別々の隣接ノードに送信する提供側ノードと、
M,Nをいずれも1以上の整数として、M個の隣接ノードから受信する他ノード宛の通信データのそれぞれから1ビットずつ抽出したMビットのデータを成分とするベクトルを入力ベクトルとして、予め設定されたM行N列の行列で表現される符号化関数を用いて前記入力ベクトルを符号化し、該符号化によって得られるN種類のデータ系列毎に通信データを生成し、該通信データを前記データ系列毎に別々の隣接ノードに転送する複数の中継ノードと、
K個の隣接ノードから受信する自ノード宛の通信データのそれぞれから1ビットずつ抽出したKビットのデータを成分とするベクトルを受信ベクトルとして、予め設定されたK行K列の行列で表現される復号化関数を用いて前記受信ベクトルを復号化することで前記コンテンツデータを復元する利用側ノードと、
を備え、
前記提供側ノードは、
いずれか一つの成分が1となり他の成分が0となるベクトルを単位ベクトル、Kビットの成分で構成されるベクトルに関するK個の単位ベクトルを初期化ベクトルとして、前記利用側ノードからの要求に応じて、前記初期化ベクトルを前記送信ベクトルとした送信を行う初期化ベクトル送信手段を備え、
前記利用側ノードは、
前記提供側ノードに対して前記初期化ベクトルの送信を要求し、該要求に基づく自ノード宛の通信データを受信すると、該通信データから抽出されるK個の受信ベクトルに基づき、該受信ベクトルを列ベクトルとして並べてなるK行K列の行列で表現され、前記送信ベクトルから前記受信ベクトルへの変換特性を表す全体符号化関数を推定する関数推定手段と、
前記関数推定手段にて推定された符号化関数から求めた逆関数を、前記復号化関数として設定する復号化関数設定手段と、
を備えることを特徴とする通信システム。
A transmission vector is a vector having K (K is an integer greater than or equal to 2) bits extracted from the content data as a transmission vector, and the transmission vector is expressed using an encoding function expressed in a preset matrix of K rows and K columns. Sequentially providing, generating communication data for each of the K types of data sequences obtained by the encoding, and providing the communication data to separate adjacent nodes for each data sequence,
M and N are both integers greater than or equal to 1, and a vector whose components are M-bit data extracted from each of the communication data addressed to other nodes received from M adjacent nodes is set in advance as an input vector. The input vector is encoded using an encoding function represented by a matrix of M rows and N columns, communication data is generated for each of N types of data series obtained by the encoding, and the communication data is converted to the data A plurality of relay nodes that transfer to different neighboring nodes for each sequence;
A vector having K-bit data extracted from each of the communication data addressed to its own node received from K adjacent nodes as a component is represented as a reception vector, and is expressed by a matrix of preset K rows and K columns. A user side node that restores the content data by decoding the received vector using a decoding function;
With
The provider node is
In response to a request from the user side node, a vector in which any one component is 1 and the other component is 0 is a unit vector, and K unit vectors related to a vector composed of K-bit components are initialization vectors. Initialization vector transmission means for performing transmission with the initialization vector as the transmission vector,
The user side node is
When requesting the provider node to transmit the initialization vector and receiving communication data addressed to the own node based on the request, the reception vector is determined based on K received vectors extracted from the communication data. Function estimation means for estimating an overall encoding function expressed by a matrix of K rows and K columns arranged as a column vector and representing a conversion characteristic from the transmission vector to the reception vector;
Decoding function setting means for setting an inverse function obtained from the encoding function estimated by the function estimation means as the decoding function;
A communication system comprising:
前記提供側ノードは、
前記利用側ノードからの要求に応じて、該利用側ノードから提供される打診ベクトルを前記送信ベクトルとした送信を行う打診ベクトル送信手段を備え、
前記利用側ノードは、
前記関数推定手段にて推定された全体符号化関数を作用させると、予め設定された単位ベクトルに変換されるベクトルを、前記打診ベクトルとして生成する打診ベクトル生成手段と、
前記提供側ノードに対して前記打診ベクトル生成手段にて生成された打診ベクトルを送信することで、前記提供側ノードに前記打診ベクトルの送信を要求し、該要求に基づく自ノード宛の通信データを受信すると、該通信データから抽出される受信ベクトルが、予期した単位ベクトルと不一致である場合に、該受信ベクトルの内容に従って、前記関数推定手段にて推定した全体符号化関数の列ベクトルを入れ替えることで、該全体符号化関数を修正する関数修正手段と、
を備えることを特徴とする請求項1に記載の通信システム。
The provider node is
In response to a request from the user side node, comprising a consultation vector transmission means for performing transmission with the consultation vector provided from the user side node as the transmission vector,
The user side node is
When the entire encoding function estimated by the function estimation unit is operated, a consultation vector generation unit that generates a vector that is converted into a preset unit vector as the consultation vector;
By transmitting the consultation vector generated by the consultation vector generation means to the providing side node, the transmission side node is requested to transmit the consultation vector, and communication data addressed to the own node based on the request is transmitted. When received, if the received vector extracted from the communication data does not match the expected unit vector, the column vector of the overall coding function estimated by the function estimating means is replaced according to the content of the received vector. A function correcting means for correcting the entire encoding function;
The communication system according to claim 1, further comprising:
前記提供側ノード及び前記中継ノードは、
ネットワークのトポロジー情報を収集するトポロジー情報管理手段と、
前記トポロジー情報管理手段によって収集されたトポロジー情報に基づいて符号化関数を設定する符号化関数設定手段と、
を備えることを特徴とする請求項1又は請求項2に記載の通信システム。
The providing side node and the relay node are:
Topology information management means for collecting network topology information;
Encoding function setting means for setting an encoding function based on the topology information collected by the topology information management means;
The communication system according to claim 1, further comprising:
前記利用側ノードは、
ネットワークのトポロジー情報を収集するトポロジー情報管理手段を備え、
前記関数推定手段は、前記トポロジー情報管理手段によって収集されるトポロジー情報の内容に変化が生じた場合に起動することを特徴とする請求項1乃至請求項3のいずれか1項に記載の通信システム。
The user side node is
A topology information management means for collecting network topology information is provided.
4. The communication system according to claim 1, wherein the function estimation unit is activated when a change occurs in the content of the topology information collected by the topology information management unit. 5. .
JP2012216663A 2012-09-28 2012-09-28 Communications system Active JP5835178B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012216663A JP5835178B2 (en) 2012-09-28 2012-09-28 Communications system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012216663A JP5835178B2 (en) 2012-09-28 2012-09-28 Communications system

Publications (2)

Publication Number Publication Date
JP2014072660A JP2014072660A (en) 2014-04-21
JP5835178B2 true JP5835178B2 (en) 2015-12-24

Family

ID=50747504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012216663A Active JP5835178B2 (en) 2012-09-28 2012-09-28 Communications system

Country Status (1)

Country Link
JP (1) JP5835178B2 (en)

Also Published As

Publication number Publication date
JP2014072660A (en) 2014-04-21

Similar Documents

Publication Publication Date Title
US11082262B2 (en) Flow entry generating method and apparatus
EP2873197B1 (en) Deterministic distributed network coding
CN103210617B (en) For reducing the method and system of message in network and computing cost
JP6571090B2 (en) Multi-domain source route selective forwarding based on cooperating network controllers
JP5683755B2 (en) How to avoid broken links in smart meter networks for loop-free routing of packets
US11637665B2 (en) Forwarding table generation method and forwarding device
JP5811895B2 (en) Communication apparatus and communication method
GB2572537A (en) Generating or obtaining an updated neural network
US8976818B2 (en) Communication device, a control device, and a non-transitory computer readable medium
JP2009284271A (en) Method for selecting network path and communication system
JP6643424B2 (en) Video encoding apparatus for rearranging packet transmission order and method of operating the same
JP2016523066A (en) Encoding and decoding method and apparatus
WO2018003117A1 (en) Communication system and communication method
JP2015164245A (en) Flow path change calculation device, flow path change calculation system and flow traffic amount calculation device
US10250477B2 (en) Method and controller for announcing bandwidth of cluster system
JP5835178B2 (en) Communications system
JP2009055339A (en) Data transmission method and communication system
JP2008244678A (en) Communication path control device, program, and record medium
CN110267310B (en) Link capacity adjusting method, device, system, controller and network node
US9648540B2 (en) Node device and data relaying method
Yin et al. Early Release: Reduce Buffering Overhead of Practical Network Coding with Routing Information
JP5671125B1 (en) Forward error correction information generation device, reception device, forward error correction information generation method, forward error correction processing method, forward error correction information generation program, and forward error correction processing program
JP2016092833A (en) Decoding technique, decoder and receiver
CN111796950A (en) Data processing method and system
JP2008236606A (en) Path setting method and communication equipment for method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20141215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150916

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151006

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151019

R151 Written notification of patent or utility model registration

Ref document number: 5835178

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250