ネットワーク符号化に基づくデータ伝送方法であって、各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、ピアノードグループPGを確立し、ここで、確立されたPG内の全てのノードのダウンロード済みのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しく、PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定し、送信ノードは、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信する、ことを含むことを特徴とする方法。PG内のノードは、1つのセグメントのダウンロードを完了するたびに、自局のダウンロード済みのセグメントを、ネットワークにおける制御機器に報告する、ことをさらに含むことを特徴とする請求項1に記載の方法。PGが確立された後に、PG内の各ノードに通知し、PG内の各ノードは、1つのセグメントのダウンロードを完了するたびに、自局のダウンロード済みのセグメントを、PG内のほかのノードにブロードキャストする、ことをさらに含むことを特徴とする請求項1に記載の方法。各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、PGを確立することは、ネットワークにおける制御機器が、ノードから報告された、ノード識別子IDおよびダウンロード済みセグメント番号が含まれる通知を受信し、ノードIDおよびダウンロード済みセグメント番号を記録し、記録された各ノードのダウンロード済みセグメント番号に基づいて、適切なノードを選択してPGを構成させる、ことを含むことを特徴とする請求項1、2、または3に記載の方法。各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、PGを確立することは、ダウンロード対象ファイルに含まれるセグメント数Nを決定し、セグメント数Nおよびノード数Mの場合における、前記M個のノードのダウンロード済みのセグメントの合併集合がダウンロード対象ファイルの全てのセグメントに等しい確率Pcと、1つのノードによるダウンロード割合Piniとの関係に基づいて、Pini>ダウンロード割合閾値pthのとき、Pcが1に接近するように、適切なpthを設定し、各ノードから報告された各ノードのダウンロード済みセグメント数を受信した後に、ダウンロード対象ファイルに含まれるセグメント数Nに基づいて、各ノードによるダウンロード割合を算出し、ファイルダウンロードに参加する全てのM個のノードによるダウンロード割合がダウンロード割合閾値pth以上である場合、これらのノードでPGを構成させる、ことを含むことを特徴とする請求項1、2、または3に記載の方法。PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定することは、各ノードの全ての符号化方式を走査し、その中から、符号化セグメントの1回伝送で最も多くのノードにオリジナルセグメントの情報を取得させることができる符号化方式を検索し、当該符号化方式に対応する送信ノードおよび送信対象セグメント集合を決定する、ことを含むことを特徴とする請求項1、2、または3に記載の方法。PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定することは、PG内のM個のノードの中から1つのノードiを選択して、当該PG内のノードi以外のほかのM-1個のノードをノードiの隣接ノードとして設定し、全てのノードの選択が完了した場合、ステップ220に進むステップ211と、ノードiの出力キュー先頭からセグメントpを取り出すステップ212と、ノードiの隣接ノードの中に、セグメントpを必要とするノードがある場合、送信対象セグメント集合Nativesをpにして、ステップ214に進み、ノードiの隣接ノードの中に、セグメントpを必要とするノードがない場合、ノードiの出力キューからセグメントpを削除して、ステップ212に戻るステップ213と、ノードiの出力キューからセグメントpの次のセグメントpjを取り出すステップ214と、ノードiの隣接ノードのうち、を復号できるノード数countを統計して、を算出するステップ215と、の復号確率probが所定の復号確率閾値Gより大きい場合、ステップ217に進み、の復号確率probが所定の復号確率閾値G以下である場合、ステップ218に進むステップ216と、ノードiの送信対象セグメント集合をにし、pjが出力キューの最後のパケットである場合、現在のNativesにおけるパケット数Num_coded_packet_iを記録して、ステップ211に戻り、pjが出力キューの最後のパケットではない場合、ステップ219に進むステップ217と、セグメントpjの次のセグメントが存在する場合、ステップ219に進み、セグメントpjの次のセグメントが存在しない場合、ステップ211に戻り、復号確率が所定の復号確率閾値Gより大きい符号化セグメントが検索されるまで、PG内のM個のノードの中からほかのノードを選択するステップ218と、ノードiの出力キューからセグメントpjの次のセグメントを取り出して、やはりpjと記し、ステップ215に戻るステップ219と、Num_coded_packet_iにおける最大値を選出して、その対応するノードiを送信ノードとし、ノードiに記録されたNativesを符号化方式とし、終了するステップ220と、を含むことを特徴とする請求項1、2、または3に記載の方法。PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定することは、PG内のM個のノードの中から1つのノードiを選択して、当該PG内のノードi以外のほかのM-1個のノードをノードiの隣接ノードとして設定し、全てのノードの選択が完了した場合、ステップ236に進むステップ221と、ノードiの出力キュー先頭からセグメントpを取り出すステップ222と、ノードiの隣接ノードの中に、セグメントpを必要とするノードがある場合、送信対象セグメント集合Nativesをpにして、ステップ224に進み、ノードiの隣接ノードの中に、セグメントpを必要とするノードがない場合、ノードiの出力キューからセグメントpを削除して、ステップ222に戻るステップ223と、ノードiの出力キューからセグメントpの次のセグメントpjを取り出すステップ224と、ノードiの隣接ノードのうち、を復号できるノード数countを統計して、を算出するステップ225と、の復号確率probが所定の復号確率閾値Gより大きい場合、ステップ227に進み、の復号確率probが所定の復号確率閾値G以下である場合、ステップ228に進むステップ226と、ノードiを現在の送信ノードにして、現在の送信対象セグメント集合をにし、pjが出力キューの最後のパケットである場合、現在のNativesにおけるパケット数Num_coded_packet_iを記録して、ステップ221に戻り、pjが出力キューの最後のパケットではない場合、ステップ235に進むステップ227と、ノードiの出力キューからセグメントpjの次のセグメントpkを取り出すステップ228と、ノードiの隣接ノードのうち、を復号できるノード数countを統計して、を算出するステップ229と、の復号確率probが所定の復号確率閾値Gより大きい場合、ステップ231に進み、の復号確率probが所定の復号確率閾値G以下である場合、ステップ232に進むステップ230と、ノードiを現在の送信ノードにして、送信対象セグメント集合をにし、pkが出力キューの最後のパケットである場合、現在のNativesにおけるパケット数Num_coded_packet_iを記録して、ステップ221に戻り、pkが出力キューの最後のパケットではない場合、ステップ234に進むステップ231と、セグメントpkの次のセグメントが存在する場合、ステップ233に進み、セグメントpkの次のセグメントが存在しない場合、現在のNativesにおけるパケット数Num_coded_packet_iを記録して、ステップ221に戻るステップ232と、ノードiの出力キューからセグメントpkの次のセグメントを取り出して、やはりpkと記し、ステップ229に戻るステップ233と、ノードiの出力キューからpkの次のセグメントを取り出して、pjと記し、ステップ225に戻るステップ234と、ノードiの出力キューからpjの次のセグメントを取り出して、やはりpjと記し、ステップ225に戻るステップ235と、Num_coded_packet_iにおける最大値を選出して、その対応するノードiを送信ノードとし、ノードiに記録されたNativesを符号化方式とし、終了するステップ236と、を含むことを特徴とする請求項1、2、または3に記載の方法。送信ノードが、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成することは、送信ノードが、送信対象セグメント集合における各セグメントそれぞれと、当該セグメントに対応する符号化係数とを乗算してから、モジュロ加算を行って、符号化セグメントを得る、ことを含み、ここで、各セグメントに対応する符号化係数は、ガロア体でランダムに生成されるものである、ことを特徴とする請求項1、2、または3に記載の方法。PGが確立された後に、新しいノードが前記PGに加入したいと、前記新しいノードのダウンロード割合PiniがPini>pthを満たすかどうかを判断し、PiniがPini>pthを満たす場合、前記新しいノードが前記PGに加入することを許可し、PiniがPini>pthを満たさない場合、前記新しいノードが前記PGに加入することを許可しない、ことを特徴とする請求項5に記載の方法。ノード間の相互位置に基づいて、ダウンロード割合閾値pthを動的に調整する、ことを特徴とする請求項5に記載の方法。ネットワーク符号化に基づくデータ伝送装置であって、ネットワーク側の制御機器に位置し、各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、ピアノードグループPGを確立し、ここで、確立されたPG内の全てのノードのダウンロード済みのダウンロード対象ファイルのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しいPG確立手段と、ネットワーク側の制御機器に位置し、PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定し、送信対象セグメント集合を決定された送信ノードに通知する送信ノード決定手段と、各ノードに位置し、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信するネットワーク符号化手段と、を備えることを特徴とする装置。ネットワーク符号化に基づくデータ伝送装置であって、ネットワーク側の制御機器に位置し、各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、ピアノードグループPGを確立し、ここで、確立されたPG内の全てのノードのダウンロード済みのダウンロード対象ファイルのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しいPG確立手段と、各ノードに位置し、PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定して、自局が現在の送信ノードであるかどうかを判断する送信ノード決定手段と、各ノードに位置し、自局が現在の送信ノードである場合、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信するネットワーク符号化手段と、を備えることを特徴とする装置。上記の従来のネットワーク符号化方式では、P2Pサービスの品質をある程度向上させるが、P2Pサービスの重要な特徴、つまりノードの間で情報交換を行うという特徴を利用していない。P2Pサービスでは、ノード同士は通常互いにピアノードであり、つまり、1つのノードがほかのノードにデータを提供すると同時に、当該ほかのノードもこのノードにデータを提供する。研究により、ノードの間の情報交換という特徴を利用できれば、P2Pサービスにおけるネットワーク符号化の利得をさらに発掘することができ、アップロード帯域幅をさらに削減することができる、ということがわかる。本発明の実施例は、ノードの間の情報交換を十分に利用できるネットワーク符号化に基づくデータ伝送方法および装置を提供している。本発明の実施例で提供されたネットワーク符号化に基づくデータ伝送方法は、各ノードのダウンロード済みのセグメントに基づいて、ピアノードグループPGを確立し、ここで、確立されたPG内の全てのノードのダウンロード済みのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しく、PG内の各ノードのダウンロード済みのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定し、送信ノードは、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信する、ことを含む。本発明の実施例で提供されたネットワーク符号化に基づくデータ伝送装置は、ネットワーク側の制御機器に位置し、各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、ピアノードグループPGを確立し、ここで、確立されたPG内の全てのノードのダウンロード済みのダウンロード対象ファイルのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しいPG確立手段と、ネットワーク側の制御機器に位置し、PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定し、送信対象セグメント集合を決定された送信ノードに通知する送信ノード決定手段と、各ノードに位置し、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信するネットワーク符号化手段と、を備える。本発明の実施例で提供された別のネットワーク符号化に基づくデータ伝送装置は、ネットワーク側の制御機器に位置し、各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、ピアノードグループPGを確立し、ここで、確立されたPG内の全てのノードのダウンロード済みのダウンロード対象ファイルのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しいPG確立手段と、各ノードに位置し、PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定し、自局が現在の送信ノードであるかどうかを判断する送信ノード決定手段と、各ノードに位置し、自局が現在の送信ノードである場合、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信するネットワーク符号化手段と、を備える。本発明に係るネットワーク符号化に基づくデータ伝送方法および装置からわかるように、確立されたPG内の全てのノードのダウンロード済みのダウンロード対象ファイルのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しいため、PGを確立するステップによれば、PGにおけるノードの間の情報交換だけで、ファイルのダウンロードを完了することができ、サーバからダウンロードする必要がない。従って、本発明に係る方法は、ノードの間の情報交換を十分に利用することができる。また、PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定するステップによれば、符号化セグメントの1回伝送で、できるだけ多くのノードにセグメントの情報を取得させることを確保することができる。従って、P2Pサービスにおけるネットワーク符号化の利得を十分に発掘し、アップロード帯域幅を削減することができる。これにより、データ伝送の性能を向上させることができる。本発明の実施例は、ネットワーク符号化に基づくデータ伝送方法を提供している。図3は、本実施例に係るネットワーク符号化に基づくデータ伝送方法のフローを示す。図3に示すように、当該方法は主に、各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、ピアノードグループPG:peergroupを確立し、ここで、確立されたPG内の全てのノードのダウンロード済みのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しいステップ1と、PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定するステップ2と、送信ノードは、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信するステップ3と、を含む。以下、具体的な例示により、上記のステップ1におけるPGの確立過程を詳しく説明する。ネットワークに複数のノードがあって、これらのノードがいずれもあるファイルFの取得を必要とすることを仮定すると、一定時間のダウンロードを経た後に、これらのノードはそれぞれ、ファイルFにおける一部のセグメントを持つことになる。一旦、これらのノードのダウンロード済みのセグメントの合併集合が、ファイルFに含まれる全てのセグメントの集合に等しいと、これらのノードは1つのPGを構成することができる。これは、このPGにおいて、ノード間の情報交換だけで、当該PG内の全てのノードがファイルF全体をダウンロードできることを意味する。従来のP2Pサービスでは、ネットワークに制御機器通常、trackerと呼ばれるがあり、当該制御機器が内容制御機器またはネットワークサーバに位置することができる。当該制御機器は、各ノードのダウンロード済みのセグメントの状況を知ることができる。このように、制御機器は、ネットワークにおける各ノードのダウンロード済みのセグメントに基づいて、どれらのノードが1つのPGを構成できるかを決定することができる。しかし、この場合で、各ノードは、1つのセグメントのダウンロードを完了するたびに、制御機器に通知を送信する必要がある。当該通知には、少なくとも、当該ノードの識別子ID、および当該ノードがダウンロードしたばかりのセグメントの番号が含まれるべきである。制御機器は、各ノードからの通知を受信した後に、ノードのID、および当該ノードのダウンロード済みのセグメントの番号を記録し、記録された各ノードのダウンロード済みのセグメントの番号に基づいて、適切なノードを選択してPGを構成することができる。当業者であれば、上記の方式により、PGを精確に確立できるが、システム全体のシグナリングオーバーヘッドを増加させる、ということが理解できる。現在のP2Pプロトコルによると、各ノードは、一定時間ごとに要求requestメッセージをネットワークにおける制御機器に送信し、この要求メッセージには、当該ノードが現在ダウンロードしたセグメント数を表すパラメータdownloadedが含まれる。Downloadedというパラメータがあって、かつファイル全体に含まれるセグメント総数があれば、当該ノードによるダウンロード割合を知ることができる。以下、各ノードによるダウンロード割合がどのぐらいであるとき、これらのノードが1つのPGを構成できるかを具体的に導出する。導出過程で使用されるパラメータの定義は表1に示す。M個のノードそれぞれが一部のセグメントを既にダウンロードして、かつこれらのセグメントの合併集合が、ファイルFに含まれる全てのセグメントの集合に等しい場合、これらのノードが1つのPGを構成できることを考えられる。つまり、カバー確率CoverProbabilityPcが1に接近するとき、このM個のノードがPGを構成することができる。下記の数式1に示すように、導出によって、Pcと各ノードのダウンロード割合InitialPercentagePiniとの関係を得ることができる。[数式1]ここで、Paijは、全てのノードにも欠けるセグメントにおいて、Sjを含む確率を表すものであり、以下のように算出する。[数式2]上記の数式に基づいて、異なるセグメント数Nおよび異なるノード数Mの場合におけるPcとPiniとの関係をシミュレーションした。図4は、異なるセグメント数Nおよび異なるノード数Mの場合におけるPcとPiniとの関係曲線を示す。ここで、丸印の曲線は、ノード数Nodesが18であり、セグメント数Segmentsが30である場合のPcとPiniとの関係曲線を表し、四角印の曲線は、ノード数Nodesが15であり、セグメント数Segmentsが30である場合のPcとPiniとの関係曲線を表し、菱形印の曲線は、ノード数Nodesが12であり、セグメント数Segmentsが20である場合のPcとPiniとの関係曲線を表し、星印の曲線は、ノード数Nodesが10であり、セグメント数Segmentsが20である場合のPcとPiniとの関係曲線を表す。図4からわかるように、ノード数およびセグメント数が大きくなるほど、Pcは、Piniの増大につれて1に接近することが早くなる。また、異なるセグメント数および異なるノード数の場合においても、Pini>0.5のとき、Pcが1に接近すると考えられる。上記の研究成果に基づき、上記のステップ1における各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいてPGを確立することは、ネットワークにおける制御機器により実行されることができ、具体的に図5に示すように、以下のステップを含む。ステップ11で、ダウンロード対象ファイルに含まれるセグメント数N、および当該ダウンロード対象ファイルに興味があるノード数Mを決定する。ステップ12で、セグメント数Nおよびノード数Mの場合におけるPcとPiniとの関係に基づいて、Pini>ダウンロード割合閾値pthのとき、Pcが1に接近するように、適切なpthを設定する。例えば、pthを0.5以上に設定する。ステップ13で、各ノードから報告された各ノードのダウンロード済みのセグメント数を受信した後に、ダウンロード対象ファイルに含まれるセグメント数Nに基づいて、各ノードによるダウンロード割合を算出する。ステップ14で、ファイルダウンロードに参加する全てのM個のノードによるダウンロード割合がダウンロード割合閾値pth以上である場合、これらのノードでPGを構成させる。PGが確立された後に、新しいノードもこのダウンロード対象ファイルをダウンロードしたいと、即ち、新しいノードが当該PGに加入したいと、当該新しいノードによるダウンロード割合PiniがPini>pthを満たすかどうかを判断すべきである。PiniがPini>pthを満たす場合、当該新しいノードが当該PGに加入することを許可し、PiniがPini>pthを満たさない場合、当該新しいノードが当該PGに加入することを許可すべきではなく、当該新しいノードのダウンロード割合がPini>pthになってはじめて、当該ユーザが当該PGに加入することを許可すべきである。また、PGを形成するとき、ノード間の相互位置に基づいて、ダウンロード割合閾値pthを動的に調整することができ、例えば、同一の基地局下のノードまたは同一のエッジルータEdgeRouter下のノードについて、ダウンロード割合閾値pthを適当に低減することができ、即ち、PGに加入する条件を緩和することにより、コアネットワークの帯域幅の消費を削減する。以下、具体的な例示により、ステップ2におけるPG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信するノードおよび送信対象セグメント集合を決定する方法を詳しく説明する。M個のノードが1つのPGを構成したとすると、これらのノードのダウンロード済みのセグメントの合併集合は、ダウンロード対象ファウル全体に含まれる全てのセグメントの集合に等しい。このとき、これらのノードの間で情報交換を行うだけで、このM個のノードにファイル全体を取得させることができる。しかし、いったいどのノードから先に符号化セグメントを送信すべきか、また、符号化セグメントを如何に生成すべきかについて、当業者であれば、最適な方式として、符号化セグメントの1回伝送で、できるだけ多くのノードにオリジナルセグメントの情報を取得させるべきであることが理解できる。図6は1つのPGを示す図である。図6に示すように、当該PGにN0、N1、N2、N3およびN4の5つのノードが含まれ、かつこの5つのノードのダウンロード済みのセグメントの合併集合は、ダウンロード対象ファイルに含まれる10個のセグメントの集合に等しい。このような場合で、各ノードそれぞれは、様々なネットワーク符号化方式を採用して符号化セグメントを生成することができる。以下、いくつかの可能な符号化方式の間の比較を提供する。方式1では、ノードN0がを送信し、このとき、ノードN1は復号によりセグメント8の情報を取得することができ、ノードN2は復号によりセグメント3の情報を取得することができ、ノードN4は復号によりセグメント2の情報を取得することができるが、ノードN3は当該符号化セグメントを復号することができない。方式2では、ノードN1がを送信し、このとき、ノードN0は復号によりセグメント4の情報を取得することができ、ノードN2は復号によりセグメント3の情報を取得することができ、ノードN3は復号によりセグメント2の情報を取得することができ、かつノードN4は復号によりセグメント2の情報を取得することができる。方式3では、ノードN2がを送信し、このとき、ノードN0は復号によりセグメント4の情報を取得することができ、ノードN1は復号によりセグメント8の情報を取得することができ、ノードN4は復号によりセグメント2の情報を取得することができるが、ノードN3は当該符号化セグメントを復号することができない。方式4では、ノードN3がを送信し、このとき、ノードN0は復号によりセグメント1の情報を取得することができ、ノードN1は復号によりセグメント6の情報を取得することができ、ノードN4は復号によりセグメント1の情報を取得することができるが、ノードN2は当該符号化セグメントを復号することができない。方式5では、ノードN4がを送信し、このとき、ノードN0は復号によりセグメント4の情報を取得することができ、ノードN1は復号によりセグメント8の情報を取得することができ、ノードN2は復号によりセグメント3の情報を取得することができ、かつノードN3は復号によりセグメント8の情報を取得することができる。上記5つの可能な符号化方式から見ると、方式2または方式5を採用するとき、ほかの4つのノードのいずれにもオリジナルセグメントの情報を取得させることができる。従って、この2つの方式が最適なネットワーク符号化方式であると考えられる。最適なネットワーク符号化方式を探し出すことができれば、最大限にデータ伝送効率を向上させ、データのアップロード帯域幅を削減することができる。以下、本発明の具体的な例示により、最適なネットワーク符号化方式を得るいくつかの方法を詳しく説明する。方法1では、符号化セグメントの1回伝送で最も多くのノードにオリジナルセグメントを復号して取得させる符号化方式を、フルサーチで検索する。簡単に言えば、即ち、各ノードの全ての符号化方式を走査し、その中から、符号化セグメントの1回伝送で最も多くのノードにオリジナルセグメントの情報を取得させることができる符号化方式を検索することにより、現在、当該符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定する。説明すべきところとして、当該方法は、ファイルのセグメント数、およびダウンロードに参加するノード数が比較的に多いとき、計算複雑度も比較的に高い。計算複雑度を低減するために、本発明の実施例は、以下のような方法も提供している。方法2は、拡張されたCOPECOPE-Eネットワーク符号化方法である。COPEアルゴリズムは、有名なネットワーク符号化方式である。本発明の実施例に示す応用環境と異なるものとして、COPEアルゴリズムは、無線環境のユニキャストサービスに用いられることが多い。このとき、ネットワークにおけるノードそれぞれは、若干のデータパケットをほかのノードに送信する必要がある。無線環境のブロードキャストの特性によると、ノードは、自局を送信先としないデータパケットを監視することができる。しかし、各データパケットは、当該パケットを必要とするノードが1つしかない。また、COPEアルゴリズムの検索は、単一の送信ノードのみに関し、複数のノードの中から適切なノードを選択する必要がない。従って、COPEアルゴリズムをP2Pサービスに応用する場合、COPEアルゴリズムを改善する必要がある。本発明の実施例で提供されたCOPE-E方法は、具体的に図7に示すように、主に、PG内のM個のノードの中から1つのノードiを選択して、当該PG内のノードi以外のほかのM-1個のノードをノードiの隣接ノードとして設定し、全てのノードの選択が完了した場合、ステップ220に進むステップ211と、ノードiの出力キュー先頭からセグメントpを取り出すステップ212と、ノードiの隣接ノードの中に、セグメントpを必要とするノードがある場合、送信対象セグメント集合Nativesをpにして、ステップ214に進み、ノードiの隣接ノードの中に、セグメントpを必要とするノードがない場合、ノードiの出力キューからセグメントpを削除して、ステップ212に戻るステップ213と、ノードiの出力キューからセグメントpの次のセグメントpjを取り出すステップ214と、ノードiの隣接ノードのうち、を復号できるノード数countを統計して、を算出するステップ215と、の復号確率probが所定の復号確率閾値Gより大きい場合、ステップ217に進み、の復号確率probが所定の復号確率閾値G以下である場合、ステップ218に進むステップ216と、ノードiの送信対象セグメント集合をにし、pjが出力キューの最後のパケットである場合、現在のNativesにおけるパケット数Num_coded_packet_iを記録して、ステップ211に戻り、pjが出力キューの最後のパケットではない場合、ステップ219に進むステップ217と、セグメントpjの次のセグメントが存在する場合、ステップ219に進み、セグメントpjの次のセグメントが存在しない場合、ステップ211に戻り、復号確率が所定の復号確率閾値Gより大きい符号化セグメントが検索されるまで、PG内のM個のノードの中からほかのノードを選択するステップ218と、ノードiの出力キューからセグメントpjの次のセグメントを取り出して、やはりpjと記し、ステップ215に戻るステップ219と、Num_coded_packet_iにおける最大値を選出して、その対応するノードiを送信ノードとし、ノードiに記録されたNativesを符号化方式とし、終了するステップ220と、を含む。上記の方法により現在の送信ノードおよび送信対象セグメント集合を決定した後に、現在の送信ノードは、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行ってから、PG内の隣接ノードに送信する。方法1に示すフルサーチ方法に比べて、上記のCOPE-E方法の複雑度は大幅に低減する。また、上記の方法では、現在、出力キューから取り出したセグメントに対して、出力キュー先頭のセグメントとのモジュロ加算を行った後に、所定の復号確率閾値を満たせない場合、このセグメントを送信対象セグメント集合に入れてさらなるネットワーク符号化に参加させることができない。しかし、実に、複数の受信ノードが存在する場合、出力キューから取り出したこのセグメントと出力キュー先頭のセグメントとのモジュロ加算が復号確率の閾値を満たせなくても、現在のセグメントpjに対して、その次のセグメントと共に、出力キュー先頭のセグメントpとのモジュロ加算を行うことにより、復号確率閾値を満たす可能性がある。このような問題を解決して、データ伝送の性能をさらに向上させるために、方法3のダブルチェックDCK:doublecheck方法を提案している。方法3は、DCKネットワーク符号化方法である。本発明の実施例で提供されたDCK方法は、具体的に図8に示すように、主に、PG内のM個のノードの中から1つのノードiを選択して、当該PG内のノードi以外のほかのM-1個のノードをノードiの隣接ノードとして設定し、全てのノードの選択が完了した場合、ステップ236に進むステップ221と、ノードiの出力キュー先頭からセグメントpを取り出すステップ222と、ノードiの隣接ノードの中に、セグメントpを必要とするノードがある場合、送信対象セグメント集合Nativesをpにして、ステップ224に進み、ノードiの隣接ノードの中に、セグメントpを必要とするノードがない場合、ノードiの出力キューからセグメントpを削除して、ステップ222に戻るステップ223と、ノードiの出力キューからセグメントpの次のセグメントpjを取り出すステップ224と、ノードiの隣接ノードのうち、を復号できるノード数countを統計して、を算出するステップ225と、の復号確率probが所定の復号確率閾値Gより大きい場合、ステップ227に進み、の復号確率probが所定の復号確率閾値G以下である場合、ステップ228に進むステップ226と、ノードiを現在の送信ノードにして、現在の送信対象セグメント集合をにし、pjが出力キューの最後のパケットである場合、現在のNativesにおけるパケット数Num_coded_packet_iを記録して、ステップ221に戻り、pjが出力キューの最後のパケットではない場合、ステップ235に進むステップ227と、ノードiの出力キューからセグメントpjの次のセグメントpkを取り出すステップ228と、ノードiの隣接ノードのうち、を復号できるノード数countを統計して、を算出するステップ229と、の復号確率probが所定の復号確率閾値Gより大きい場合、ステップ231に進み、の復号確率probが所定の復号確率閾値G以下である場合、ステップ232に進むステップ230と、ノードiを現在の送信ノードにして、送信対象セグメント集合をにし、pkが出力キューの最後のパケットである場合、現在のNativesにおけるパケット数Num_coded_packet_iを記録して、ステップ221に戻り、pkが出力キューの最後のパケットではない場合、ステップ234に進むステップ231と、セグメントpkの次のセグメントが存在する場合、ステップ233に進み、セグメントpkの次のセグメントが存在しない場合、現在のNativesにおけるパケット数Num_coded_packet_iを記録して、ステップ221に戻るステップ232と、ノードiの出力キューからセグメントpkの次のセグメントを取り出して、やはりpkと記し、ステップ229に戻るステップ233と、ノードiの出力キューからpkの次のセグメントを取り出して、pjと記し、ステップ225に戻るステップ234と、ノードiの出力キューからpjの次のセグメントを取り出して、やはりpjと記し、ステップ225に戻るステップ235と、Num_coded_packet_iにおける最大値を選出して、その対応するノードiを送信ノードとし、ノードiに記録されたNativesを符号化方式とし、終了するステップ236と、を含む。上記の方法により現在の送信ノードおよび送信対象セグメント集合を決定した後に、現在の送信ノードは、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行ってから、PG内の隣接ノードに送信する。以下、具体的な例示により、DCK方法とCOPE-Eネットワーク符号化方法との性能を比較する。ノードN0は、既にセグメント番号1、5および6のセグメントをダウンロードし、かつ出力キューがセグメント5、1、6であり、ノードN1は、既にセグメント番号1、2および5のセグメントをダウンロードし、かつ出力キューがセグメント5、1、2であり、ノードN2は、既にセグメント番号1、4および5のセグメントをダウンロードし、かつ出力キューがセグメント5、1、4であり、ノードN3は、既にセグメント番号1、3および5のセグメントをダウンロードし、かつ出力キューがセグメント5、1、3であり、ノードN4は、既にセグメント番号1、4および6のセグメントをダウンロードし、かつ出力キューがセグメント4、1、6であり、ノードN5は、既にセグメント番号3、5および6のセグメントをダウンロードし、かつ出力キューがセグメント5、3、6であるとする。同時に、復号確率閾値が0.6であるとする。方法2におけるCOPE-E方法に基づいて、ノードN0から検索し、得られた結果、現在の送信ノードはN0であり、送信対象セグメント集合はセグメント5および6であり、このときの復号確率は0.8である。方法3におけるDCK方法に基づいて、同様にノードN0から検索し、得られた結果、現在の送信ノードはN0であり、送信対象セグメント集合はセグメント5、1および6であり、このときの復号確率は1である。ここからわかるように、DCKネットワーク符号化方法は、COPE-Eネットワーク符号化方法より優れた性能を持つ。送信ノードおよび送信対象セグメント集合を決定した後に、ステップ3で、送信ノードは、送信対象セグメント集合におけるセグメントに対して、従来の符号化方法で重み付けモジュロ加算を行って、即ち、送信対象セグメント集合における各セグメントそれぞれと、当該セグメントに対応する符号化係数とを乗算してから、モジュロ加算を行って、符号化セグメントを得、その後、符号化セグメントおよび符号化係数をPG内のほかのノードに送信する。ここで、各セグメントの符号化係数は、ガロア体でランダムに生成されるものである。説明すべきところとして、上記の送信ノードおよび送信対象セグメント集合を決定する方法は、集中制御型の方式を採用して、ネットワークにおける制御機器によって実現してもよい。この場合で、制御機器がPGを決定した後に、PGにおけるノードは、1つのセグメントのダウンロードを完了するたびに、制御機器へ自局のダウンロード済みのセグメントを報告する必要がある。制御機器は、PGにおける各ノードのダウンロード済みのセグメントを知った後に、上記の方法1、方法2または方法3を採用して、現在の送信ノードおよび送信対象セグメント集合を決定することができ、当該送信ノードに、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行うよう通知し、符号化セグメントを得てからPG内のほかのノードに送信する。上記の集中制御型の方式以外に、分散型の方式を採用して、PGにおける各ノードによって、上記のネットワーク符号化方法を実現してもよい。この場合で、ネットワークにおける制御機器は、PGを確立した後に、決定されたPGを当該PGにおける各ノードに通知し、各ノードは、1つのセグメントのダウンロードを完了するたびに、PG内のほかのノードへ自局のダウンロード済みのセグメントをブロードキャストする必要がある。各ノードは、PGにおける各ノードのダウンロード済みのセグメントを知った後に、上記の方法1、方法2又は方法3を採用して、現在の送信ノードおよび送信対象セグメント集合を決定することができ、自局が現在の送信ノードであるかどうかを判断し、自局が現在の送信ノードである場合、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを得てからPG内のほかのノードに送信する。上記のネットワーク符号化に基づくデータ伝送方法に対応して、本発明の実施例は、ネットワーク符号化に基づくデータ伝送装置も提供している。図9に示すように、当該装置は主に、各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいてPGを確立し、ここで、確立されたPG内の全てのノードのダウンロード済みのダウンロード対象ファイルのセグメントの合併集合が、ダウンロード対象ファイルに含まれる全てのセグメントの集合に等しいPG確立手段と、PG内の各ノードのダウンロード済みのダウンロード対象ファイルのセグメントに基づいて、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定する送信ノード決定手段と、各ノードに位置し、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信するネットワーク符号化手段と、を備える。ここで、各ノードが1つのセグメントのダウンロードを完了するたびに、自局のノードIDおよびダウンロード済みセグメント番号を、ネットワークにおける制御機器に報告する場合、上記のPG確立手段は、各ノードのダウンロード済みセグメント番号に基づいて、PGを確立するようにしてよく、そうでない場合、PG確立手段は、図5に示す方法に基づいて、PGを確立するようにしてもよい。また、送信ノード決定手段は、上記の方法1、2または3に示すネットワーク符号化方法を採用して、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定するようにしてよい。上記のように、各ノードに位置するネットワーク符号化手段は、送信対象セグメント集合における各セグメントそれぞれと、当該セグメントに対応する符号化係数とを乗算してから、モジュロ加算を行って、符号化セグメントを得、その後、符号化セグメントおよび符号化係数をPG内のほかのノードに送信する。ここで、各セグメントの符号化係数は、ガロア体でランダムに生成されるものである。集中制御型の方式に対応して、上記のPG確立手段および送信ノード決定手段はいずれもネットワーク側の制御機器に位置する。このとき、送信ノード決定手段は、符号化セグメントを送信する送信ノードおよび送信対象セグメント集合を決定した後に、送信対象セグメント集合を決定された送信ノードに通知する。送信ノードのネットワーク符号化手段は、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行って、符号化セグメントを生成し、生成された符号化セグメントをPG内のほかのノードに送信する。分散型の方式に対応して、上記のPG確立手段はネットワーク側の制御機器に位置するが、送信ノード決定手段は各ノードに位置する。このとき、PG確立手段は、PGを確立した後に、決定されたPGを当該PGにおける各ノードに通知する。各ノードは、1つのセグメントのダウンロードを完了するたびに、PG内のほかのノードへ自局のダウンロード済みのセグメントをブロードキャストする必要がある。各ノードにおける送信ノード決定手段は、各ノードからブロードキャストされた各ノードのダウンロード済みのセグメントを受信し、PGにおける各ノードのダウンロード済みのセグメントを知った後に、上記の方法1、方法2又は方法3を採用して、現在の送信ノードおよび送信対象セグメント集合を決定することができ、自局が現在の送信ノードであるかどうかを判断する。自局が現在の送信ノードである場合、ネットワーク符号化手段は、送信対象セグメント集合におけるセグメントに対してネットワーク符号化を行ってから、PG内のほかのノードに送信する。本発明の実施例の技術的効果を詳しく説明するために、以下、本発明の実施例に係るデータ伝送方法をシミュレーションした。シミュレーション時に使用される各パラメータは、下記の表2に示す。図10は、異なるネットワーク符号化方法を採用するとき、ノード数と各ノードのダウンロード時間との関係曲線を示す。図11は、異なるネットワーク符号化方法を採用するとき、ノード数と平均ダウンロード時間との関係曲線を示す。図12は、異なるネットワーク符号化方法を採用するとき、ノード数と所要のアップロード帯域幅との関係曲線を示す。図10、図11および図12において、丸印の曲線は、従来のマルチキャストMulticastの方式でのノード数NodeNumberと各ノードのダウンロード時間との関係曲線を表し、四角印の曲線は、COPE-Eネットワーク符号化方法を採用するとき、ノード数と各ノードのダウンロード時間との関係曲線を表し、菱形印の曲線は、DCKネットワーク符号化方法を採用するとき、ノード数と各ノードのダウンロード時間との関係曲線を表す。図10、図11および図12からわかるように、従来のマルチキャスト方式に比べて、COPE-Eネットワーク符号化方法やDCKネットワーク符号化方法を採用するとき、各ノードのダウンロード時間、平均ダウンロード時間および所要のアップロード帯域幅はいずれも減少し、かつ、DCKネットワーク符号化方法は、COPE-Eネットワーク符号化方法より優れた性能を持つ。上記は、本発明の好ましい実施例にすぎず、本発明の保護範囲を限定するものではない。本発明の精神と原則内で行われる種々の修正、均等置換え、改善などは全て本発明の保護範囲内に含まれるべきである。