(57)【要約】【課題】本発明は、通信トラヒックを多数のノードに分散させて輻輳の発生を抑制することが可能なデータ配信方法及び装置並びにプログラム及び記録媒体を提供することを目的とする。【解決手段】配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信方法において、データの配信に携わっている端末を配信可能端末として前記配信サーバで管理し、アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定し、前記アクセス先端末の情報をアクセス元の端末に対して通知し、前記アクセス先端末に対しては前記アクセス元の端末の情報を通知し、前記アクセス先端末と前記アクセス元の端末との間の通信によりデータ配信を行う。【選択図】　　　図１
2004038788.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信方法において、
データの配信に携わっている端末を配信可能端末として前記配信サーバで管理し、
アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定し、
前記アクセス先端末の情報をアクセス元の端末に対して通知し、
前記アクセス先端末に対しては前記アクセス元の端末の情報を通知し、
前記アクセス先端末と前記アクセス元の端末との間の通信によりデータ配信を行う
ことを特徴とするデータ配信方法。
【請求項２】
少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信方法において、
データの配信に携わっている端末を配信可能端末として前記配信サーバで管理し、
アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信サーバが前記配信可能端末の１つをアクセス先端末として決定し、
前記配信サーバが、前記アクセス先端末の情報をアクセス元の端末に対して通知し、
前記配信サーバが、前記アクセス先端末に対して前記アクセス元の端末の情報を通知する
ことを特徴とするデータ配信方法。
【請求項３】
請求項２のデータ配信方法において、前記配信サーバが、前記アクセス先端末の候補となる複数の配信可能端末の回線帯域幅を考慮して前記アクセス先端末を決定することを特徴とするデータ配信方法。
【請求項４】
請求項２のデータ配信方法において、前記配信サーバが、前記アクセス先端末の候補となる複数の配信可能端末の通信経路におけるホップ数を考慮して前記アクセス先端末を決定することを特徴とするデータ配信方法。
【請求項５】
少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信方法において、
データ配信を希望するアクセス元の端末は、前記配信サーバに対してアクセス先を問い合わせるとともに、前記配信サーバから指定されたアクセス先の端末と接続して目的のデータを取得し、
前記配信サーバからアクセス先の端末として指定された端末は、許可があったアクセス元の端末からの接続に対して指定されたデータを送信する
ことを特徴とするデータ配信方法。
【請求項６】
請求項５のデータ配信方法において、データ配信を希望するアクセス元の端末は、前記配信サーバに対してアクセス先を問い合わせる際に、回線帯域幅の情報を送信することを特徴とするデータ配信方法。
【請求項７】
少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信装置において、
データの配信に携わっている端末を配信可能端末として前記配信サーバで管理する配信可能端末管理手段と、
アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定するアクセス先端末決定手段と、
前記アクセス先端末の情報をアクセス元の端末に対して通知するアクセス先通知手段と、
前記アクセス先端末に対して前記アクセス元の端末の情報を通知するアクセス元通知手段と、
前記アクセス先端末と前記アクセス元の端末との間の通信によりデータ配信を行うためのデータ配信制御手段と
を設けたことを特徴とするデータ配信装置。
【請求項８】
少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信装置において、
前記配信サーバに、
データの配信に携わっている端末を配信可能端末として管理する配信可能端末管理手段と、
アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定するアクセス先端末決定手段と、
前記アクセス先端末の情報を前記配信サーバからアクセス元の端末に対して通知するアクセス先通知手段と、
前記アクセス先端末に対して前記配信サーバから前記アクセス元の端末の情報を通知するアクセス元通知手段と
を設けたことを特徴とするデータ配信装置。
【請求項９】
請求項８のデータ配信装置において、前記アクセス先端末決定手段は、前記アクセス先端末の候補となる複数の配信可能端末の回線帯域幅を考慮して前記アクセス先端末を決定することを特徴とするデータ配信装置。
【請求項１０】
請求項８のデータ配信装置において、前記アクセス先端末決定手段は、前記アクセス先端末の候補となる複数の配信可能端末の通信経路におけるホップ数を考慮して前記アクセス先端末を決定することを特徴とするデータ配信装置。
【請求項１１】
少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信装置において、
前記各端末に、
データ配信を希望するアクセス元の端末から前記配信サーバに対してアクセス先を問い合わせるとともに、前記配信サーバから指定されたアクセス先の端末と接続して目的のデータを取得するデータ取得制御手段と、
前記配信サーバからアクセス先の端末として指定された端末が、許可のあったアクセス元の端末からの接続に対して指定されたデータを送信するデータ送信制御手段と
を設けたことを特徴とするデータ配信装置。
【請求項１２】
請求項１１のデータ配信装置において、データ配信を希望するアクセス元の端末は、前記配信サーバに対してアクセス先を問い合わせる際に、回線帯域幅の情報を送信することを特徴とするデータ配信装置。
【請求項１３】
少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するための前記配信サーバを制御するプログラムにおいて、
データの配信に携わっている端末を配信可能端末として管理する配信可能端末管理手順と、
アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定するアクセス先端末決定手順と、
前記アクセス先端末の情報を前記配信サーバからアクセス元の端末に対して通知するアクセス先通知手順と、
前記アクセス先端末に対して前記配信サーバから前記アクセス元の端末の情報を通知するアクセス元通知手順と
を設けたことを特徴とするプログラム。
【請求項１４】
請求項１３のプログラムにおいて、前記アクセス先端末決定手順では、前記アクセス先端末の候補となる複数の配信可能端末の回線帯域幅を考慮して前記アクセス先端末を決定することを特徴とするプログラム。
【請求項１５】
請求項１３のプログラムにおいて、前記アクセス先端末決定手順では、前記アクセス先端末の候補となる複数の配信可能端末の通信経路におけるホップ数を考慮して前記アクセス先端末を決定することを特徴とするプログラム。
【請求項１６】
少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するための前記端末を制御するプログラムにおいて、
データ配信を希望するアクセス元の端末から前記配信サーバに対してアクセス先を問い合わせるとともに、前記配信サーバから指定されたアクセス先の端末と接続して目的のデータを取得するデータ取得制御手順と、
前記配信サーバからアクセス先の端末として指定された端末が、許可のあったアクセス元の端末からの接続に対して指定されたデータを送信するデータ送信制御手順と
を設けたことを特徴とするプログラム。
【請求項１７】
請求項１６のプログラムにおいて、前記配信サーバからのデータ受信を希望するアクセス元の端末が前記配信サーバに対してアクセス先を問い合わせる際に、回線帯域幅の情報を送信する回線帯域幅情報送信手順を設けたことを特徴とするプログラム。
【請求項１８】
請求項１３，請求項１４及び請求項１５のいずれかのプログラムを記録した記録媒体。
【請求項１９】
請求項１６又は請求項１７のプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、テキスト，音声，画像などのデータを通信網に接続された端末に配信するために用いるデータ配信方法及び装置並びにプログラム及び記録媒体に関する。
【０００２】
【従来の技術】
従来より、テキスト，音声，画像，ストリームデータなどの各種データを多数の端末に対して配信しようとする場合には、配信対象のデータを予め保持している配信サーバから各端末に対して直接データを配信するのが一般的である。
しかし、多数の端末がほぼ同時にデータ配信を要求する場合には、配信サーバ上、あるいは配信サーバと各端末との間の通信経路に存在するネットワーク上で輻輳が発生しやすい。
【０００３】
そこで、輻輳の発生を抑制するために、通信経路上の通信トラヒックの多い位置に中継サーバが設置される場合もある。この中継サーバは、配信サーバとの間で通信して同じデータを蓄積し、配信サーバと同じデータを各端末に対して配信することができる。
従って、多数の端末の一部分は配信サーバの代わりに中継サーバにアクセスしてデータの配信を受けることになる。これにより、配信サーバの負荷を軽減し輻輳の発生を抑制できる。
【０００４】
【発明が解決しようとする課題】
しかしながら、中継サーバを設置する場合であっても、データ配信を要求する端末の数が増大すると、配信サーバ及び中継サーバには非常に大きな負荷がかかる。
その場合、配信サーバ及び中継サーバは端末に対するデータ送信処理ができなくなる。また、配信サーバ及び中継サーバと端末との間のネットワークにおいては、通信トラヒックの集中している部分で輻輳が発生する。その結果、データの送信が大幅に遅延するか、もしくはデータがネットワーク内で消失して送信できなくなる。
【０００５】
これらの原因は、いずれも配信トラヒックが特定のノードに集中することにある。
本発明は、通信トラヒックを多数のノードに分散させて輻輳の発生を抑制することが可能なデータ配信方法及び装置並びにプログラム及び記録媒体を提供することを目的とする。
【０００６】
【課題を解決するための手段】
請求項１は、少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信方法において、データの配信に携わっている端末を配信可能端末として前記配信サーバで管理し、アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定し、前記アクセス先端末の情報をアクセス元の端末に対して通知し、前記アクセス先端末に対しては前記アクセス元の端末の情報を通知し、前記アクセス先端末と前記アクセス元の端末との間の通信によりデータ配信を行うことを特徴とする。
【０００７】
通信網に配信サーバ及び複数の端末が接続されている環境においては、特定の端末が既に配信サーバからデータを受け取っている場合には、その端末が配信サーバの代わりに他の端末に対してデータ配信を行うこともできる。
請求項１においては、データ配信を要求するアクセス元の端末が配信サーバに対して問合せを行うと、配信サーバは管理している配信可能端末（データを配信可能な端末）の１つをアクセス先として選択する。そして、アクセス先の情報がアクセス元の端末に通知される。また、アクセス先端末に対してはアクセス元の情報が通知される。
【０００８】
そして、アクセス先端末とアクセス元の端末との間で通信を行い、アクセス先端末はアクセス元の端末に対してデータ配信を行う。
従って、配信サーバや従来の中継サーバだけでなく、同じ通信網に接続された一般の１つ又は複数の端末からアクセス元の端末に対してデータを配信することができる。このため、データ配信元となる端末を通信網上の様々な位置に分散させて配置することができ、データを受信する端末が多数存在する場合であっても、通信網上のトラヒックを多数の端末に分散させ、輻輳の発生を抑制できる。
【０００９】
従って、データ配信元となる端末は、データの受信と送信とを行うことになる。また、データ配信元となる端末は配信サーバ又は他の端末からデータを受け取った後、すぐにそのデータを他の端末に対して配信することもできる。
例えば、インターネットヘの回線接続サービスを提供する組織（ＩＳＰ）の回線へのアクセスポイントとユーザとの間の通信を想定すると、この通信は、例えばＩＴＵ−Ｔによって勧告されているＩＳＤＮなどの通信方式により行われる。また、ＩＳＤＮでは、通常、ダイヤルアップで利用されるＢチャネルは６４ｋｂｐｓの全二重通信を提供する。ＩＴＵ−Ｔによって定められたモデム用規格Ｖ３４なども同じである。つまり、この種の通信においては受信、送信用のチャネルはそれぞれ独立している。
【００１０】
このような通信環境においては、データをダウンロードしている端末では、データの受信方向のトラヒックは多い。しかし、送信方向のトラヒックは通信制御パケットのみであり比較的少ない。つまり、送信方向の通信チャネルは空きが多い。
そこで、空いている送信方向の通信チャネルを使って別のユーザにデータを送信することができる。
【００１１】
つまり、通信網に接続された多数の端末のそれぞれがあるユーザから受信し、別のユーザに送信するという動作を行うことにより、配信サーバや通信網の輻輳の原因となるトラヒックの集中を防ぐことができる。
これにより、配信サーバや中継サーバに集中していたトラヒックが分散される。各端末がどの端末からデータを受信するかは、配信サーバによって決定される。
【００１２】
請求項２は、少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信方法において、データの配信に携わっている端末を配信可能端末として前記配信サーバで管理し、アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信サーバが前記配信可能端末の１つをアクセス先端末として決定し、前記配信サーバが、前記アクセス先端末の情報をアクセス元の端末に対して通知し、前記配信サーバが、前記アクセス先端末に対して前記アクセス元の端末の情報を通知することを特徴とする。
【００１３】
請求項２においては、請求項１と同様の動作を実現できる。
請求項３は、請求項２のデータ配信方法において、前記配信サーバが、前記アクセス先端末の候補となる複数の配信可能端末の回線帯域幅を考慮して前記アクセス先端末を決定することを特徴とする。
請求項３においては、各端末が利用できる回線帯域幅を超えない範囲で他の端末へのデータ配信を行うように配信サーバが割り当てることができる。これにより、輻輳の発生を防止できる。
【００１４】
請求項４は、請求項２のデータ配信方法において、前記配信サーバが、前記アクセス先端末の候補となる複数の配信可能端末の通信経路におけるホップ数を考慮して前記アクセス先端末を決定することを特徴とする。
請求項４においては、配信サーバは利用可能な配信可能端末が複数存在する場合に、配信サーバからのホップ数が最も少ない１つの配信可能端末をアクセス先端末として選択できる。これにより、通信網上のトラヒックの増大を抑制できる。
【００１５】
請求項５は、少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信方法において、データ配信を希望するアクセス元の端末は、前記配信サーバに対してアクセス先を問い合わせるとともに、前記配信サーバから指定されたアクセス先の端末と接続して目的のデータを取得し、前記配信サーバからアクセス先の端末として指定された端末は、許可があったアクセス元の端末からの接続に対して指定されたデータを送信することを特徴とする。
【００１６】
請求項５においては、配信サーバとともに通信網に接続されている各端末の制御により、端末同士の間で通信を行ってデータ配信を実現することができる。
請求項６は、請求項５のデータ配信方法において、データ配信を希望するアクセス元の端末は、前記配信サーバに対してアクセス先を問い合わせる際に、回線帯域幅の情報を送信することを特徴とする。
【００１７】
請求項６においては、アクセス元の端末が回線帯域幅の情報を送信するので、配信サーバは各端末が利用可能な回線帯域幅を知ることができる。
請求項７は、少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信装置において、データの配信に携わっている端末を配信可能端末として前記配信サーバで管理する配信可能端末管理手段と、アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定するアクセス先端末決定手段と、前記アクセス先端末の情報をアクセス元の端末に対して通知するアクセス先通知手段と、前記アクセス先端末に対して前記アクセス元の端末の情報を通知するアクセス元通知手段と、前記アクセス先端末と前記アクセス元の端末との間の通信によりデータ配信を行うためのデータ配信制御手段とを設けたことを特徴とする。
【００１８】
請求項７においては、請求項１の方法と同様な動作を実現できる。
請求項８は、少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信装置において、前記配信サーバに、データの配信に携わっている端末を配信可能端末として管理する配信可能端末管理手段と、アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定するアクセス先端末決定手段と、前記アクセス先端末の情報を前記配信サーバからアクセス元の端末に対して通知するアクセス先通知手段と、前記アクセス先端末に対して前記配信サーバから前記アクセス元の端末の情報を通知するアクセス元通知手段とを設けたことを特徴とする。
【００１９】
請求項８においては、請求項２の方法と同様な動作を実現できる。
請求項９は、請求項８のデータ配信装置において、前記アクセス先端末決定手段は、前記アクセス先端末の候補となる複数の配信可能端末の回線帯域幅を考慮して前記アクセス先端末を決定することを特徴とする。
【００２０】
請求項９においては、請求項３の方法と同様な動作を実現できる。
請求項１０は、請求項８のデータ配信装置において、前記アクセス先端末決定手段は、前記アクセス先端末の候補となる複数の配信可能端末の通信経路におけるホップ数を考慮して前記アクセス先端末を決定することを特徴とする。
請求項１０においては、請求項４の方法と同様な動作を実現できる。
【００２１】
請求項１１は、少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するためのデータ配信装置において、前記各端末に、データ配信を希望するアクセス元の端末から前記配信サーバに対してアクセス先を問い合わせるとともに、前記配信サーバから指定されたアクセス先の端末と接続して目的のデータを取得するデータ取得制御手段と、前記配信サーバからアクセス先の端末として指定された端末が、許可のあったアクセス元の端末からの接続に対して指定されたデータを送信するデータ送信制御手段とを設けたことを特徴とする。
【００２２】
請求項１１においては、請求項５の方法と同様な動作を実現できる。
請求項１２は、請求項１１のデータ配信装置において、データ配信を希望するアクセス元の端末は、前記配信サーバに対してアクセス先を問い合わせる際に、回線帯域幅の情報を送信することを特徴とする。
請求項１２においては、請求項６の方法と同様な動作を実現できる。
【００２３】
請求項１３は、少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するための前記配信サーバを制御するプログラムにおいて、データの配信に携わっている端末を配信可能端末として管理する配信可能端末管理手順と、アクセス元の端末から前記配信サーバに対して問合せがあった場合に、前記配信可能端末の１つをアクセス先端末として決定するアクセス先端末決定手順と、前記アクセス先端末の情報を前記配信サーバからアクセス元の端末に対して通知するアクセス先通知手順と、前記アクセス先端末に対して前記配信サーバから前記アクセス元の端末の情報を通知するアクセス元通知手順とを設けたことを特徴とする。
【００２４】
請求項１３のプログラムを前記配信サーバ上のコンピュータで実行することにより、請求項２の方法と同様な動作を実現できる。
請求項１４は、請求項１３のプログラムにおいて、前記アクセス先端末決定手順では、前記アクセス先端末の候補となる複数の配信可能端末の回線帯域幅を考慮して前記アクセス先端末を決定することを特徴とする。
【００２５】
請求項１４のプログラムを前記配信サーバ上のコンピュータで実行することにより、請求項３の方法と同様な動作を実現できる。
請求項１５は、請求項１３のプログラムにおいて、前記アクセス先端末決定手順では、前記アクセス先端末の候補となる複数の配信可能端末の通信経路におけるホップ数を考慮して前記アクセス先端末を決定することを特徴とする。
【００２６】
請求項１５のプログラムを前記配信サーバ上のコンピュータで実行することにより、請求項４の方法と同様な動作を実現できる。
請求項１６は、少なくとも１つの配信サーバと複数の端末とが所定の通信網を介して接続される通信システムを用いて、前記配信サーバに保持されたデータをアクセス元の端末に対して配信するための前記端末を制御するプログラムにおいて、データ配信を希望するアクセス元の端末から前記配信サーバに対してアクセス先を問い合わせるとともに、前記配信サーバから指定されたアクセス先の端末と接続して目的のデータを取得するデータ取得制御手順と、前記配信サーバからアクセス先の端末として指定された端末が、許可のあったアクセス元の端末からの接続に対して指定されたデータを送信するデータ送信制御手順とを設けたことを特徴とする。
【００２７】
請求項１６のプログラムを前記各端末上のコンピュータで実行することにより、請求項５の方法と同様な動作を実現できる。
請求項１７は、請求項１６のプログラムにおいて、前記配信サーバからのデータ受信を希望するアクセス元の端末が前記配信サーバに対してアクセス先を問い合わせる際に、回線帯域幅の情報を送信する回線帯域幅情報送信手順を設けたことを特徴とする。
【００２８】
請求項１７のプログラムを前記各端末上のコンピュータで実行することにより、請求項６の方法と同様な動作を実現できる。
請求項１８は、請求項１３，請求項１４及び請求項１５のいずれかのプログラムを記録した記録媒体である。
請求項１８の記録媒体からプログラムを読み出して前記配信サーバ上のコンピュータで実行することにより、請求項２〜請求項４の方法と同様な動作を実現できる。
【００２９】
請求項１９は、請求項１６又は請求項１７のプログラムを記録した記録媒体である。
請求項１９の記録媒体からプログラムを読み出して前記各端末上のコンピュータで実行することにより、請求項５及び請求項６の方法と同様な動作を実現できる。
【００３０】
【発明の実施の形態】
本発明のデータ配信方法及び装置並びにプログラム及び記録媒体の１つの実施の形態について図１〜図４を参照して説明する。この形態は全ての請求項に対応する。
図１はシステムの動作を示すシーケンス図である。図２はシステムの構成例を示すブロック図である。図３は配信サーバの動作を示すフローチャートである。図４は接続状況ＤＢ（データベース）の構成例を示す模式図である。
【００３１】
この形態では、請求項７及び請求項８の配信サーバ，端末，配信可能端末管理手段，アクセス先端末決定手段，アクセス先通知手段及びアクセス元通知手段は、それぞれ配信サーバ１０，端末２０，接続状況ＤＢ１１，ステップＳ１２，Ｓ１４及びＳ１３に対応する。
また、請求項７のデータ配信制御手段は接続制御部２３及び接続許可判定部２４に対応する。
【００３２】
また、請求項１１のデータ取得制御手段及びデータ送信制御手段は、それぞれデータ受信部２１及びデータ送信部２５に対応する。
本発明のデータ配信方法及び装置並びにプログラム及び記録媒体は、例えば図２に示すような構成のシステムを用いて実施される。図２に示すシステムは、１つの配信サーバ１０と複数の端末２０（１），２０（２），２０（３），・・・・とで構成されている。配信サーバ１０及び端末２０（１），２０（２），２０（３），・・・・は、所定の通信網（例えばＩＰ網）を介して接続されている。
【００３３】
図２に示すように、配信サーバ１０は接続状況ＤＢ１１，接続許可判定部１２，接続許可情報送信部１３，データ送信部１４，記憶装置１５及び通信インタフェース１６を備えている。
また、各々の端末２０はデータ受信部２１，記憶装置２２，接続制御部２３，接続許可判定部２４，データ送信部２５及び通信インタフェース２６を備えている。
【００３４】
なお、配信サーバ１０上の主要な構成要素及び端末２０上の主要な構成要素については、専用のハードウェアを用いて実現することもできるし、プログラムとコンピュータとの組み合わせによって実現することもできる。
配信サーバ１０は、例えばテキスト，音声，画像などの情報で構成される様々なコンテンツを記憶装置１５に保持している。また、一般的なサーバと同様の方法で、配信サーバ１０は要求を受けた端末２０に対してコンテンツのデータを配信する。
【００３５】
また、通信トラヒックを分散させるために配信サーバ１０は各端末２０の通信状況を制御する。
各端末２０は固有の端末ＩＤを有している。各端末２０は、配信サーバ１０に蓄積されているコンテンツを必要に応じて受信する。また、各端末２０がコンテンツを受信するときの通信先は、配信サーバ１０の場合もあるし、他の端末２０の場合もある。各端末２０がコンテンツを受信するときの通信先は、配信サーバ１０からの指示に従って選択する。
【００３６】
配信サーバ１０に設けられた接続状況ＤＢ１１は、図４に示すように、管理している端末毎に端末ＩＤ，自アドレス，接続先アドレス，回線帯域幅，接続帯域幅及びホップ数の情報を管理している。
端末ＩＤは端末固有のＩＤである。自アドレスは端末に割り振られたアドレスであり、インターネットであれぱＩＰアドレスに該当する。接続先アドレスは、自端末が接続しているアクセス先端末のアドレスである。回線帯域幅は、端末に接続されている回線の帯域幅である。接続帯域幅は、該当端末にアクセスしている別の端末に接続する回線の帯域幅（使用帯域）の合計である。複数の端末がアクセスしている場合は、それらの端末に接続している回線の帯域幅の合計値である。接続状況ＤＢ１１には、初期状態では配信サーバ１０のアドレスのみが登録されている。
【００３７】
配信サーバ１０に設けられた接続状況ＤＢ１１及び接続許可情報送信部１３は、コンテンツを配信する際の通信先の管理及び制御を行う。また、接続許可判定部１２及びデータ送信部１４は、コンテンツの送信制御を行う。
一方、各端末２０に設けられたデータ受信部２１及び接続制御部２３は、配信サーバ１０などからのコンテンツの受信のための制御を行う。記憶装置２２は受信したコンテンツの情報を蓄積する。また、接続許可判定部２４及びデータ送信部２５はコンテンツの送信制御を行う。
【００３８】
すなわち、図２に示すシステムにおいては、各端末２０はコンテンツを受信する機能だけでなく、コンテンツを送信するための機能も備えている。
配信サーバ１０のデータ送信部１４は、コンテンツを要求された特定の端末２０に対してコンテンツのデータを送信する。但し、端末２０から受け取った接続コードに対して接続許可判定部１２が接続を許可した場合はコンテンツを送信するが、許可されない場合は送信しない。
【００３９】
例えば図２において、端末２０（１）が所望のコンテンツを既に配信サーバ１０から受信して保持しているか、もしくは受信可能な状態である場合を想定すると、端末２０（２）は配信サーバ１０の代わりに端末２０（１）からコンテンツの配信を受けることが可能である。この場合、コンテンツの配信を要求する端末２０（２）をアクセス元とし、アクセス元の端末２０（２）が接続する端末２０（１）をアクセス先とする。
【００４０】
以下、端末２０（２）がアクセス元、端末２０（１）がアクセス先の場合を想定して説明する。
配信サーバ１０が接続を許可した場合には、配信サーバ１０の接続許可判定部１２からアクセス先の端末２０（１）に対してアクセス許可情報が送信される（図１のＳ１３）。このアクセス許可情報は、アクセス元の端末ＩＤ，アドレス及び接続コードで構成されている。
【００４１】
配信サーバ１０から送信されたアクセス許可情報は、アクセス先の端末２０（１）で受信され、予め定めた一定期間に渡って、アクセス先の端末２０（１）の内部に保持される。
配信サーバ１０の接続許可情報送信部１３は、新規に受信を希望する端末２０（２）から接続コード取得要求を受け取ると、アクセス元の端末２０（２）に対して接続コードを送信する（Ｓ１４）。
【００４２】
アクセス元の端末２０（２）は、配信サーバ１０から受け取った接続コードをアクセス先の端末２０（１）に送信する（Ｓ１５）。
アクセス先の端末２０（１）では、アクセス元の端末２０（２）から送信されるアクセス元の端末ＩＤ，アドレス，接続コードと、自局にアクセス許可情報として保存されている端末ＩＤ，アドレス，接続コードとがそれぞれ一致するか調べ、一致した場合にはアクセスを許可する（Ｓ１６）。
【００４３】
また、アクセス先の端末２０（１）は、アクセスが許可されたアクセス元の端末２０（２）に対してコンテンツのデータを配信する（Ｓ１７）。
なお、接続許可判定及びデータ送信の機能については、同じ機能が配信サーバ１０及び端末２０の双方に備わっている。
次に、配信サーバ１０の動作について図３を参照しながら説明する。
【００４４】
配信サーバ１０は、アクセス元の端末２０（２）から接続コードの取得要求（接続要求）とともに、アクセス元の端末２０（２）における回線帯域幅ＢＷ１及び端末ＩＤを受け取る（Ｓ２１）。この接続要求を受け取ると配信サーバ１０はステップＳ２２以降の処理を行う。
ステップＳ２２では、接続状況ＤＢ１１を検索し次の条件を満たす行のデータを選択する。
【００４５】
ＢＷ２−ＢＷ２１＞ＢＷ１
ＢＷ２：各ノードの回線帯域幅
ＢＷ２１：各ノードの接続帯域幅（使用済帯域幅）
ＢＷ１：アクセス元の端末２０（２）の回線帯域幅
すなわち、接続状況ＤＢ１１に登録されている端末２０（又は配信サーバ１０）の中で、回線帯域幅の余裕（ＢＷ２−ＢＷ２１）がアクセス元の端末２０（２）の回線帯域幅ＢＷ１を超えている端末２０（又は配信サーバ１０）を抽出する。
【００４６】
ステップＳ２３では、ステップＳ２２で抽出した１つ又は複数行のデータの中から、ホップ数が最小の行に対応する端末２０（又は配信サーバ１０）をアクセス先端末として指定する。
この場合、接続状況ＤＢ１１における接続先アドレスのフィールドを自端末（接続要求を受け取った端末）のアドレスとする。自端末が配信サーバ１０の場合にはサーバ自身のアドレスとする。つまり、以下の処理を行う。
【００４７】
（１）ホップ数が最小の行を求めその行の端末をアクセス先に定める。
（２）自端末の行を追加し、接続先アドレスフィールドに対して、（１）で求めたアクセス先の端末アドレスを割り当てる。
なお、ホップ数はあるネットワークにおける２ノードの距離を示す指標であり、ノード（端末２０及び配信サーバ１０に相当する）が配信サーバ１０からいくつのノードを経由する通信経路を形成しているかを表す値である。図２の例では、配信サーバ１０と直接接続している端末２０（１）のホップ数は１であり、端末２０（１）と接続している端末２０（２）のホップ数は２である。
【００４８】
ステップＳ２４では、関数ｆを用いて接続コードを計算する。この接続コードは、アクセス元端末ＩＤ，アクセス元アドレス，アクセス先端末ＩＤ，アクセス先アドレスをパラメータとして生成する。つまり、アクセス元端末ＩＤ，アクセス元アドレス，アクセス先端末ＩＤ及びアクセス先アドレスをパラメータとして入力し、関数ｆを用いて次のように接続コードを求める。
【００４９】
接続コード＝ｆ（アクセス元端末ＩＤ，アクセス元アドレス，アクセス先端末ＩＤ，アクセス先端末アドレス，アクセス元ホップ数）
この例では、関数ｆはアクセス元端末ＩＤ，アクセス元アドレス，アクセス先端末ＩＤ，アクセス先アドレスを入力とし、予め定められた長さ以下の文字列を出力する。
【００５０】
ステップＳ２５では、アクセス先のノードに対してアクセス許可情報を送信する。このアクセス許可情報は、アクセス元の端末ＩＤ，アクセス元のアドレス及び接続コードで構成される。
ステップＳ２６では、アクセス元の端末に接続情報を送信する。この接続情報は、アクセス先の端末ＩＤ，アクセス先の端末アドレス及び接続コードで構成される。
【００５１】
また、ステップＳ２７では接続状況ＤＢ１１にアクセス元の端末に関するデータの行を追加する。なお、アクセス元端末の行のホップ数の値は、アクセス先端末のホップ数の値に１を加えた値になる。
また、接続状況ＤＢ１１のアクセス先端末の行については、接続帯域幅の値に、アクセス元端末の回線帯域幅の値を加算する。
【００５２】
次に、端末２０の動作について説明する。
データ受信部２１は、接続先からのコンテンツなどのデータを受信する。接続制御部２３は通信の開始までの制御を行う。
アクセス元としてアクセス先からコンテンツのデータを受信する端末２０（２）においては、接続制御部２３は、接続コード取得要求及び回線帯域幅を配信サーバ１０に送信し、配信サーバ１０から接続情報を受け取る。また、接続情報からアクセス先の端末２０（１）の端末ＩＤ及びアドレスを取得する。
【００５３】
また、接続制御部２３はアクセス先の端末２０（１）端末に対して、接続コードを送信する。その後、アクセス先の端末２０（１）からデータが送信されて来るとデータ受信部２１でそれを受信し、定められた形式で出力する。接続制御部２３の通信先は常に配信サーバ１０である。
一方、アクセス先として動作する端末２０（１）においては、接続許可判定部２４で接続が許可されたアクセス元の端末２０（２）に対して、データ送信部２５からデータを送信する。なお、端末２０の接続許可判定部２４における許可判定手続きは、配信サーバ１０における接続許可判定部１２の動作と同じである。
【００５４】
ここで、ある端末２０のデータ送信機能に故障が発生した場合を想定してシステムの動作を説明する。
例えば、アクセス元の端末２０（２）がアクセス先からデータを受信中に、予め定められた通信停止期間を超える期間に渡って、アクセス先からのデータの配信が行われず、データを受信できない場合には以下の通信途絶回復手順が実行され、アクセス先が変更される。
【００５５】
通信途絶回復手順：
アクセス元の端末２０（２）の接続制御部２３は、配信サーバ１０に対して再接続要求，自端末ＩＤ及び自端末アドレスを送信する。
この場合、配信サーバ１０からは新たなアクセス先が接続情報としてアクセス元の端末２０（２）端末に対して送られる。
【００５６】
アクセス元の端末２０（２）の接続制御部２３は、接続情報を受取り、接続情報から、アクセス先の端末ＩＤ及びアドレスを取得する。
その後、アクセス先の端末からデータが送信されて来ると、アクセス元の端末２０（２）はデータ受信部２１でそれを受け取り、定められた形式で出力する。
この際の配信サーバ１０の動作について説明する。
【００５７】
配信サーバ１０の接続許可情報送信部１３は、アクセス元の端末２０（２）からの再接続要求を受け取ると同時に、アクセス元の端末ＩＤ及びアドレスを取得する。そして、接続状況ＤＢ１１から、アクセス元の端末ＩＤ及び自アドレスの列が接続許可情報送信部１３の取得した値と一致する行を選択する。また、その行の接続先アドレス列の値を、障害端末アドレスとする。
【００５８】
一方、配信サーバ１０と障害端末との間でも通信ができない場合には、再度、接続状況ＤＢ１１から、自アドレスの列の値が、障害端末アドレスと一致する行を選択する。その行の接続先アドレスを、新規接続先アドレスとし、またそのアドレスを持つ端末のＩＤを新規接続先端末ＩＤとする。
【００５９】
同時に、接続先アドレスフィールドの値が、障害端末アドレスと一致する行を選択し（この際、複数の行が選択されることもある）、選択された行の自端末アドレスの値を取り出して障害端末接続アドレスとする。そして、障害端末アドレスの行を削除する。
また、新規接続先ＩＤ及び新規接続先アドレスを、それぞれ図３のステップＳ２２における端末ＩＤ及びアクセス先に定める。これ以降の配信サーバ１０の処理は、新規に受信を希望する端末から接続コード取得要求を受取った場合と同じである。つまり、図３のステップＳ２４以降の処理を継続する。これにより、配信機能の停止した端末を迂回して接続し、データの配信を継続することが可能になる。
【００６０】
配信サーバ１０の接続許可情報送信部１３は、障害端末接続アドレスに対しては、接続更新指示を送信する。接続更新指示を受取った端末２０は、現在の接続先との接続を停止し、受信側端末の通信手順に従って新たな接続先との通信を開始する。つまり、配信サーバ１０に対して接続コード取得要求を送信し、新たな接続先を取得する。
【００６１】
なお、配信サーバ１０からデータを送信していなくても、本発明により予めデータの配信経路を決定しておくことができる。また、データが送信されていなくても、決定された配信経路を維持しておくことは可能である。
これを実現するため、配信サーバ１０はデータ送信が終了したときに、終了信号を送信する。また、配信経路を維持するため、一定周期ごとに空線信号を送信する。また、予め定められた期間以上、空線信号が届かない場合には、通信途絶回復手順によりアクセス先を変更する。
【００６２】
以上のように、本発明では各端末２０が、配信サーバ１０からの指示に従って接続先の端末２０を探し、そこから、受信したデータを、配信サーバから指示された端末に対して送信する。
【００６３】
また、各端末２０が別の端末２０に対してデータを送信し始める際に、配信サーバ１０から受信したアクセス許可情報と、別の端末２０から受信した情報を比較してそれが一致した場合のみ送信する（Ｓ１６）。
また、新規にデータを受信するために別の端末２０への接続を希望する端末２０に対しては、回線帯域幅の余裕、つまり回線の帯域幅から現在通信によって占有されている帯域幅の残りの帯域が０以上である端末を選択する（Ｓ２２）。
【００６４】
【発明の効果】
以上のように本発明によれば、サーバと端末との間だけでなく、任意の端末と端末との間でデータ配信を行うように制御できるので、端末の数が増えた場合であってもトラヒックを分散させて輻輳の発生を抑制することができる。
また、各端末は空いている上り回線を利用して他の端末にデータを送信できるので、未使用の回線帯域幅を有効に利用できる。これにより、映像データのストリーム配信のようにリアルタイムのデータ配信を行おうとする際に、サーバの負荷を大幅に削減することが可能になる。
【図面の簡単な説明】
【図１】システムの動作を示すシーケンス図である。
【図２】システムの構成例を示すブロック図である。
【図３】配信サーバの動作を示すフローチャートである。
【図４】接続状況ＤＢの構成例を示す模式図である。
【符号の説明】
１０　配信サーバ
１１　接続状況ＤＢ
１２　接続許可判定部
１３　接続許可情報送信部
１４　データ送信部
１５　記憶装置
１６　通信インタフェース
２０　端末
２１　データ受信部
２２　記憶装置
２３　接続制御部
２４　接続許可判定部
２５　データ送信部
２６　通信インタフェース
【図１】
2004038788.tif 000003
【図２】
2004038788.tif 000004
【図３】
2004038788.tif 000005
【図４】
2004038788.tif 000006