JP5835178B2 - Communications system - Google Patents
Communications system Download PDFInfo
- 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
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).
しかし、特許文献1に記載の従来装置では、コンテンツデータの送信に使用する通信データのヘッダに、通信データの転送には不要な情報である経路IDが含まれているため、この経路IDの分だけコンテンツデータの伝送効率を低下させてしまい、通信の効率化を妨げる要因となっているという問題があった。
However, in the conventional apparatus described in
本発明は、上記問題点を解決するために、ネットワークコーディングを利用した通信システムにおいて通信効率をより向上させることを目的とする。 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
提供側ノードの打診ベクトル送信手段は、この利用側ノードからの要求に応じて、利用側ノードから提供される打診ベクトルを送信ベクトルとした送信を行う。 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実施形態]
<全体構成>
通信システム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
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
以下では、自ノード2に接続されたリンク3の他端に接続されたノードを隣接ノードともいう。また、ノード2のうち、コンテンツデータを提供するノードを提供側ノード、コンテンツデータの提供を受けて、そのコンテンツデータを利用するノードを利用側ノード、提供側ノードから利用側ノードに至るネットワークを構成し、コンテンツデータの中継を行うノードを中継ノードという。
Hereinafter, a node connected to the other end of the
また、提供側ノードは、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
メッセージには、コンテンツデータの送信に使用する符号化データメッセージ、及びネットワークコーディングによって符号化されたデータを復号化してコンテンツデータを復元する際に使用する復号化関数の決定に使用する制御メッセージが少なくとも存在する。 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
また、ノード2は、送受信部21を介して所定の隣接ノード(入力側隣接ノード)から他ノード宛の符号化対象メッセージを受信した場合に、そのデータ領域に設定されたデータを予め設定された符号化関数を用いて符号化し、その符号化されたデータがデータ領域に設定された符号化対象メッセージを、送受信部21を介して入力側隣接ノードとは異なる所定の隣接ノード(出力側隣接ノード)に転送することで中継ノードとしての機能を実現する中継処理部23と、符号化対象メッセージを送信する際に、送信対象となるデータ(自身が保持するコンテンツデータや初期化ベクトル,打診ベクトル)を、Kビット単位(以下、このKビット単位のデータを「送信ベクトル」ともいう)で切り出して符号化関数を用いて符号化し、符号化されたデータがデータ領域に設定された符号化対象メッセージを、送受信部21を介して所定の隣接ノードに出力することで提供側ノードとしての機能を実現する送信処理部24と、トポロジー管理部22が収集したトポロジー情報に基づいて、中継処理部23や送信処理部24で使用する符号化関数(個別符号化関数ともいう)を決定する符号化関数決定部25とを備えている。
Further, when the
また、ノード2は、送受信部21を介して自ノード宛の符号化対象メッセージを受信し
た場合に、そのデータ領域に設定されたデータを予め設定された復号化関数を用いて復号化し、提供側ノードが提供するコンテンツデータを復元することで、利用側ノードとしての機能を実現する受信処理部26と、トポロジー管理部22が収集したトポロジー情報、及び提供側ノードとの間で一連の初期化手順(後述する)を実行することによって得られる情報によって復号化関数を決定する復号化関数決定部27とを備えている。
Further, when the
更に、ノード2は、自発的に或いは他ノードからの要求に応じて、自ノード2が有するコンテンツデータを、符号化メッセージを使用して利用側ノードに提供するアプリケーションであるコンテンツデータ提供処理や、受信処理部26にて復元されたコンテンツデータを利用するアプリケーションであるコンテンツデータ利用処理を少なくとも実行するアプリケーション処理部28を備えている。
Furthermore, the
つまり、ノード2は、提供側ノード、利用側ノード、中継ノードのいずれとしても動作するように構成されている。
<送信処理部>
送信処理部24は、符号化対象メッセージを送信する場合、そのデータ領域を使用して送信するデータを、符号化関数決定部25で決定されるK行K列の行列で表現された符号化関数を用いて、送信ベクトル単位で順次符号化する。そして、その符号化によって得られるK種類のデータ系列毎に別々の符号化対象メッセージを生成し、その符号化対象メッセージを、データ系列毎に別々の隣接ノードに送受信部21を介して送信する。
That is, the
<Transmission processing unit>
When transmitting the encoding target message, the
また、送信処理部24は、符号化対象メッセージ以外の制御メッセージを送信する場合、データ領域が存在しても符号化関数による符号化を実行することなく、そのままの形で、予め指定されたいずれか一つの隣接ノードに送信する。
In addition, when transmitting a control message other than the encoding target message, the
<中継処理部>
中継処理部23は、M個の隣接ノードから送受信部21を介して他ノード宛の符号化対象メッセージを受信した場合、その受信した他ノード宛の符号化対象メッセージのデータ領域から、それぞれ1ビットずつ抽出して所定順に並べることで、Mビットのデータで構成される入力ベクトルを生成する。つまり、各メッセージのデータ領域にそれぞれP個のデータが設定されていれば、P個の入力ベクトルが生成される。そして、符号化関数決定部25で決定されるM行N列の行列で表現された符号化関数を用いて、入力ベクトルを順次符号化し、その符号化によって得られるN種類のデータ系列毎に別々の符号化対象メッセージを生成し、その符号化対象メッセージを、データ系列毎に別々の隣接ノードに送受信部21を介して転送する。
<Relay processing unit>
When the
また、中継処理部23は、符号化対象メッセージ以外の制御メッセージを受信した場合、周知のルーティング処理によって決まるいずれか一つの隣接ノードに転送する。
Further, when receiving a control message other than the encoding target message, the
<受信処理部>
受信処理部26は、K個の隣接ノードから送受信部21を介して自ノード宛の符号化対象メッセージを受信した場合、その受信した自ノード宛の符号化対象メッセージのデータ領域から、それぞれ1ビットずつ抽出して所定順に並べることで、Kビットのデータで構成される受信ベクトルを生成する。つまり、各メッセージのデータ領域にそれぞれP個のデータが設定されていれば、P個の受信ベクトルが生成される。そして、復号化関数決定部27で決定されるK行K列の行列で表現された復号化関数を用いて、受信ベクトルを順次復号化することでコンテンツデータを復元する。
<Reception processing unit>
When the
<トポロジー管理部>
トポロジー管理部22は、トポロジー管理のために予め用意された制御メッセージ(図
示せず)を他ノードとの間で送受信することによって、トポロジー情報を収集して、収集した情報をトポロジー管理テーブルに記憶する。これにより、トポロジー管理部22を有する全てのノード2が、共通のトポロジー情報を保持する。
<Topology management unit>
The
なお、トポロジー情報の収集に使用するプロトコルは周知のものであり、本発明の主要部に直接関わるものではないため、ここでは説明を省略する。
また、トポロジー管理部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
<符号化関数決定部>
符号化関数決定部25は、符号化関数が未算出である場合、又は、トポロジー管理部22からトポロジー更新通知を受けた場合に作動して符号化関数(個別符号化関数)を決定する。
<Encoding function determination unit>
The encoding
具体的には、トポロジー管理テーブルに記憶されたトポロジー情報に基づいて、ネットワークコーディングで使用する入力リンク及び出力リンクを決定する。そして、自ノード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
これら符号化関数は、符号化関数を合成してなる全体符号化関数が逆行列を有し、全体符号化関数から復号化関数を求めることができるような特性を有するように、ノード2毎に任意に設定される。このような特性を有する符号化関数は、ネットワークコーディングにおいて周知のものである。
These encoding functions are provided for each
<復号化関数決定部>
復号化関数決定部27は、自ノード2がコンテンツデータを提供する提供側ノードとなる場合には提供側処理、コンテンツデータを利用する利用側ノードとなる場合には利用側処理を実行する。なお、利用側ノードとなるノード2は、提供側ノードとなるノード2を特定するための情報であるノードIDを予め保持している。
<Decoding function determination unit>
The decryption
以下、復号化関数決定部27での処理を提供側処理と利用側処理とに分けて詳述する。
また、これら提供側処理及び利用側処理を実行することによって実現される手順を初期化手順という。
Hereinafter, the process in the decryption
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
本処理が起動すると、図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
また、複数の提供側ノードからコンテンツデータを取得する必要がある場合、それぞれの提供側ノードに対して、本処理を個別に実行する。
本処理が起動すると、図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
<動作例>
通信システム1の動作例について説明する。
なお、図1において、ノードN1が提供側ノード、ノードN2,Nがを中継ノード、ノードN4が利用側ノードとして動作するものとする。
<Operation example>
An operation example of the
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.
また、提供側ノード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).
提供側ノード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.
(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).
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).
この診断ベクトルVexを、送信ベクトルとして提供側ノードN1から送信した場合、利用側ノードN4で得られる受信ベクトルは、H・Vexで表される。そして、推定関数Hsが正しく推定されている場合(Hs=Hの場合)、受信ベクトルは(16)式で表され、推定関数Hsが誤って推定されている場合(Hs=Herrの場合)、受信ベクトルは(17)式で表される。
つまり、診断ベクトル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
このように通信システム1によれば、コンテンツデータの送信を開始する前に、ネットワークコーディングにおいて新規な概念である「初期化ベクトル」や「打診ベクトル」を使用して復号化関数を決定しているため、コンテンツデータの送信時には、符号化データメッセージに復号化関数を特定するための情報を含める必要がなく、従来技術ではメッセージ中に含まれていた経路IDを省略することができる。
このため、コンテンツデータの送信を効率よく行うことができ、しかも、その効果は、短いデータを頻繁に送る場合により顕著なものとなる。
As described above, according to the
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
<他の実施形態>
以上本発明の一実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において様々な態様にて実施することが可能である。
<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
1…通信システム 2…ノード 3…リンク 21…送受信部 22…トポロジー管理部 23…中継処理部 24…送信処理部 25…符号化関数決定部 26…受信処理部
27…復号化関数決定部 28…アプリケーション処理部
DESCRIPTION OF
Claims (4)
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. .
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) |
-
2012
- 2012-09-28 JP JP2012216663A patent/JP5835178B2/en active Active
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 |