(57)【要約】【課題】本発明は全ての帯域を効率的に使用し配信速度を更に改善することが可能な技術を提供することを目的とする。【解決手段】送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、所定のアルゴリズムに従って複数の受信装置を複数グループに区分した後、各々のグループ内で複数の受信装置を数珠繋ぎで接続したグループ内配信経路を割り当て前記グループ内配信経路の情報を各々の受信装置に通知し各々の受信装置が他の受信装置からコンテンツを受信する際には前記グループ内配信経路によって定まる上流側の他の受信装置からコンテンツのデータを受信しながら、同時に前記グループ内配信経路によって定まる下流側の他の受信装置に向けて前記コンテンツのデータを転送することを特徴とする。【選択図】      図１
2004318274.tif 000002
【特許請求の範囲】
【請求項１】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、
所定のアルゴリズムに従って、前記複数の受信装置を複数グループに区分した後、各々のグループ内で複数の受信装置を数珠繋ぎで接続したグループ内配信経路を割り当て、
前記グループ内配信経路の少なくとも一部に関する情報を各々の受信装置に通知し、
各々の受信装置が他の受信装置からコンテンツを受信する際には、前記グループ内配信経路によって定まる上流側の他の受信装置からコンテンツのデータを受信しながら、同時に前記グループ内配信経路によって定まる下流側の他の受信装置に向けて前記コンテンツのデータを転送する
ことを特徴とする中継型コンテンツ配信方法。
【請求項２】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続され、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信装置において、
所定のアルゴリズムに従って、前記複数の受信装置を複数グループに区分した後、各々のグループ内で複数の受信装置を数珠繋ぎで接続したグループ内配信経路を生成するグループ内配信経路生成手段と、
前記グループ内配信経路の少なくとも一部に関する情報を各々の受信装置に通知する配信経路通知手段と、
各々の受信装置が他の受信装置からコンテンツを受信する際には、前記グループ内配信経路によって定まる上流側の他の受信装置からコンテンツのデータを受信しながら、同時に前記グループ内配信経路によって定まる下流側の他の受信装置に向けて前記コンテンツのデータを転送するオンザフライ転送手段と
を設けたことを特徴とする中継型コンテンツ配信装置。
【請求項３】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するために用いる中継型コンテンツ配信装置において、
所定のアルゴリズムに従って、前記複数の受信装置を複数グループに区分した後、各々のグループ内で複数の受信装置を数珠繋ぎで接続したグループ内配信経路を生成するグループ内配信経路生成手段と、
前記グループ内配信経路の少なくとも一部に関する情報を各々の受信装置に通知する配信経路通知手段と
を設けたことを特徴とする中継型コンテンツ配信装置。
【請求項４】
請求項３の中継型コンテンツ配信装置において、前記グループ内配信経路生成手段は、同一のグループには互いに送信能力の近似した複数の受信装置を割り当て、各グループ内の複数の受信装置の並びを送信能力の順番に従って変更し、各グループ内の送信能力が最小の受信装置の送信能力合計が前記送信装置の送信能力を上回らないように割り当てを決定することを特徴とする中継型コンテンツ配信装置。
【請求項５】
請求項３の中継型コンテンツ配信装置において、前記グループ内配信経路生成手段は、配信経路への割り当て対象となる各々の受信装置が正常に動作しているか否か、及び各々の受信装置にコンテンツ配信に必要とされる記憶容量が残っているか否かを調べ、これらの結果が条件を満たさない受信装置については配信経路への割り当てから除外することを特徴とする中継型コンテンツ配信装置。
【請求項６】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、
各々の受信装置が、
配信経路上で自局の下流側に隣接する第２の受信装置の故障の有無を調べ、故障の発生を検出した場合には、前記第２の受信装置の下流側に隣接する第３の受信装置の存在の有無を識別し、
前記第３の受信装置が存在しない場合には、自局が配信経路の末端に位置する受信装置とみなしてコンテンツの受信を継続し、前記第３の受信装置が存在する場合には、前記第２の受信装置を省略して自局から前記第３の受信装置に対してコンテンツの情報を転送する
ことを特徴とする中継型コンテンツ配信方法。
【請求項７】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、
各々の受信装置が、
自局が故障状態から復旧したことを検出した場合には、自局の保持しているコンテンツが最新であるか否かを識別し、最新でないコンテンツが自局に存在し、かつ該当するコンテンツが配信処理中でない場合には、自局の最寄りの受信装置である第２の受信装置に関する情報を取得し、前記第２の受信装置から最新のコンテンツをダウンロードする
ことを特徴とする中継型コンテンツ配信方法。
【請求項８】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、
各々の受信装置が、
自局が故障状態から復旧したことを検出した場合には、自局の保持しているコンテンツが最新であるか否かを識別し、最新でないコンテンツが自局に存在し、かつ該当するコンテンツが配信処理中であった場合には、いずれか１つの配信経路の最後尾に接続された最寄りの受信装置である第２の受信装置に関する情報を取得し、
前記第２の受信装置はコンテンツを上流の他の受信装置から受信しながら、受信の完了した部分から順にコンテンツを復旧した受信装置に送信し、復旧した受信装置の受信したコンテンツの量が前記第２の受信装置と同じになった場合には、前記第２の受信装置はコンテンツを受信するたびにそのデータを逐次復旧した受信装置に送信する
ことを特徴とする中継型コンテンツ配信方法。
【請求項９】
請求項７において、前記第２の受信装置を決定する際には、故障状態から復旧した第１の受信装置がいずれのグループに属しているかを確認し、
第１の受信装置がグループに属している場合には、該当するグループの中でネットワーク接続速度が速い順に従って、ラウンドロビンで前記第２の受信装置を順に決定し、
第１の受信装置がグループに属していない場合には、全体の受信装置の中でネットワーク接続速度が速い順に従って、ラウンドロビンで前記第２の受信装置を順に決定する
ことを特徴とする中継型コンテンツ配信方法。
【請求項１０】
請求項７において、前記第２の受信装置を決定する際には、故障状態から復旧した第１の受信装置がいずれのグループに属しているかを確認し、
第１の受信装置がグループに属している場合には、該当するグループの中でランダムに前記第２の受信装置を順に決定し、
第１の受信装置がグループに属していない場合には、全体の受信装置の中でランダムに前記第２の受信装置を順に決定し、
第１の受信装置がグループに属しているか否かにかかわらず、第２の受信装置として選択された受信装置については、グループ内の全ての受信装置が選択されるかもしくは全ての受信装置が選択されるまで、第２の受信装置の選択候補から除外する
ことを特徴とする中継型コンテンツ配信方法。
【請求項１１】
請求項８において、前記第２の受信装置を決定する際に、故障状態から復旧した第１の受信装置がいずれのグループに属しているかを確認し、
第１の受信装置がグループに属している場合には、該当するグループ内の配信経路の中で最後尾の受信装置を前記第２の受信装置として選択し、
第１の受信装置がグループに属していない場合には、全ての配信経路の中で連結された受信装置の数が最小の配信経路の最後尾の受信装置を前記第２の受信装置として選択する
ことを特徴とする中継型コンテンツ配信方法。
【請求項１２】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための配信経路を決定するコンピュータが実行可能なプログラムにおいて、
配信対象の各々の受信装置が正常に動作しているか否か、及び各々の受信装置にコンテンツ配信に必要とされる記憶容量が残っているか否かを調べてその結果が条件を満たさない第１の受信装置を検出する手順と、
前記第１の受信装置以外の複数の受信装置を複数のグループに区分するとともに、同一のグループには互いに送信能力の近似した複数の受信装置を割り当てる手順と、
各グループ内の複数の受信装置の並びを送信能力の順番に従って変更する手順と、
各グループ内の送信能力が最小の受信装置の送信能力合計が前記送信装置の送信能力を上回らないように割り当てを決定する手順と
を設けたことを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オリジナルサーバに蓄積されているコンテンツを分散された多数のミラーサーバに配信する場合に利用可能な技術に関する。
【０００２】
【従来の技術】
本発明と関連のある従来技術としては、特許文献１，特許文献２及び特許文献３が存在する。
特許文献１の技術では、配信対象となるディレクトリ内のファイルの全てを配信するのではなく、ファイルの被参照頻度などの情報に基づいて特定のファイルだけを配信することを提案している。これにより、配信するファイルの量を効率的に削減し、配信にかかる負荷の低減を実現している。
【０００３】
特許文献２の技術においては、配信対象となるディレクトリのファイルを初回のみ全て配信するが、２回目以降の配信では初回に配信されたもの以降に追加又は更新された差分のみを配信することを提案している。これにより、配信するファイルの量を効率的に削減し、配信にかかる負荷の低減を実現している。
なお、本出願人は出願時点では未公開の関連する技術を、特願２００２−０２４３８９，特願２００２−２６１２６１，特願２００２−３６９８４５として既に出願している。
【０００４】
特許文献１，特許文献２の技術を採用する場合であっても、未配信のファイルのサイズが大きくなると、配信にかかる負荷は増えるばかりである。
そこで、特願２００２−０２４３８９ではＴＣＰ／ＩＰのようなユニキャストプロトコルを用いず、マルチキャストプロトコルによる配信を提案している。ユニキャストプロトコルを用いた配信の場合、ｎ台の受信装置への配信を行うためには同じデータ送信をｎ回繰り返す必要があるが、マルチキャストプロトコルを用いると１回の送信で済む。マルチキャストプロトコルを用いることにより、配信時に必要なネットワーク設備，配信に必要な時間，配信サーバの処理能力の全てを低減できる。
【０００５】
しかし、マルチキャストプロトコルが効率的に機能するためには、ネットワークを構成するルータなどの設備がマルチキャストに対応している必要があり、更にマルチキャストパケットが途中で紛失しないように、ネットワークの帯域が十分に確保されている必要があり、これらの条件を満たすのが難しい場合が多い。
このような条件を満たすのが難しい場合には、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ（Ｐ２Ｐ）型の配信方法を用いることが考えられる。特願２００２−２６１２６１，特願２００２−３６９８４５では、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ型の配信方法を用いている。
【０００６】
このような配信を行う通信システムにおいては、最初にコンテンツを保持する１つのサーバはオリジナルサーバと呼ばれる。また、オリジナルサーバからコンテンツの転送を受けてオリジナルサーバと同一のコンテンツを蓄える他のサーバはミラーサーバと呼ばれる。ミラーサーバは、オリジナルサーバにかかる負荷の一部を肩代わりするために設けられる。
【０００７】
Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ型の配信では、１回目の配信はオリジナルサーバからミラーサーバに対して行われるが、１回目の配信が終了してミラーサーバにコンテンツが格納されると、今度は受信の終了したミラーサーバも配信側に転化し、未配信のミラーサーバに対してコンテンツの配信を開始する。
このような動作の繰り返しにより、受信の終了したミラーサーバを順次に配信側に転化させることにより、全体からみた配信性能が向上し、配信先ミラーサーバが増大した場合の配信時間が短縮され、オリジナルサーバの設備増強やネットワーク設備増強のコスト低減が実現する。
【０００８】
特願２００２−２６１２６１では、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ型のコンテンツ配信の基本的な技術を提案している。また、特願２００２−３６９８４５では、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ型のコンテンツ配信を行う場合に、宛先となるミラーサーバをグループ分けすることについて提案している。
特願２００２−２６１２６１の技術では、未配信のミラーサーバは前段のオリジナルサーバもしくはミラーサーバからのコンテンツの受信を全て完了した後でなければ、配信側のミラーサーバに転化することができない。
【０００９】
従って、この場合のネットワーク帯域については、図１４に示すようにコンテンツ受信中のミラーサーバ方向の帯域は埋まっているが、反対方向の帯域は有効に利用されていない。
また、特許文献３では前段サーバからファイルを受信しつつ後段サーバにファイルを送信できるように構成したオンザフライ型の転送装置を提案している。
【特許文献１】
特開２００１−２７９６５
【特許文献２】
特開２００１−９２６９９
【特許文献３】
特開２００２−１４９５３５
【００１０】
【発明が解決しようとする課題】
マルチキャストプロトコルによる配信が困難で、大量の宛先サーバに対してコンテンツの配信を行う必要がある場合には、Ｐｅｅｒ−ｔｏ−Ｐｅｅｒ型の配信方式を用いることにより、効率的に配信を行うことができる。
【００１１】
しかしながら、従来のようにＰｅｅｒ−ｔｏ−Ｐｅｅｒ型の配信を実施する場合には、前段サーバ（オリジナルサーバもしくは前段ミラーサーバ）からの配信が終了してから後段のサーバへ配信を行うことになるため、各時点では双方向の通信回線の一方向の帯域だけしか有効に利用していないことになる。従って、全ての帯域を効率的に使用しているとはいえず、無駄がある。
【００１２】
本発明は、全ての帯域を効率的に使用し配信速度を更に改善することが可能な技術を提供することを目的とする。
【００１３】
【課題を解決するための手段】
請求項１は、送信装置（オリジナルサーバ）と複数の受信装置（ミラーサーバ）とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、所定のアルゴリズムに従って、前記複数の受信装置を複数グループに区分した後、各々のグループ内で複数の受信装置を数珠繋ぎで接続したグループ内配信経路を割り当て、前記グループ内配信経路の少なくとも一部に関する情報を各々の受信装置に通知し、各々の受信装置が他の受信装置からコンテンツを受信する際には、前記グループ内配信経路によって定まる上流側の他の受信装置からコンテンツのデータを受信しながら、同時に前記グループ内配信経路によって定まる下流側の他の受信装置に向けて前記コンテンツのデータを転送することを特徴とする。
【００１４】
請求項１においては、送信装置と複数の受信装置とを接続する全体の配信経路がツリー状に形成され、このツリーに沿ってコンテンツの情報が配信される。送信装置は、複数グループに対して並列に各グループのグループ内配信経路の先頭に割り当てられた受信装置に向けてコンテンツの情報を送信する。
ｎ個の受信装置が含まれているグループのグループ内配信経路においては、１番目の受信装置（グループ内の先頭）−２番目の受信装置−３番目の受信装置−・・・−ｎ番目の受信装置（グループ内の最後尾）が数珠繋ぎですなわち直列に接続され、コンテンツの情報が転送される。
【００１５】
つまり、各グループの１番目の受信装置は送信装置からコンテンツを受信しながらそのコンテンツを中継して下流の２番目の受信装置に送信し、２番目の受信装置は上流の１番目の受信装置からコンテンツを受信しながらそのコンテンツを中継して下流の３番目の受信装置に送信し、同様の中継転送を最後尾のｎ番目の受信装置まで繰り返す。
【００１６】
配信を開始する前に全ての配信経路が決定されるので、各々の受信装置は、上流の受信装置からのコンテンツの受信と下流の受信装置へのコンテンツの転送とを同時に処理しオンザフライ転送を実現することができる。従って、各受信装置が接続しているネットワークの双方向の帯域を、例えば図１３に示すように効率よく使用することになり、各グループに含まれる受信装置の数が多い場合でも全ての受信装置に対して短い時間でコンテンツの転送を完了することができる。
【００１７】
請求項２は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続され、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信装置において、所定のアルゴリズムに従って、前記複数の受信装置を複数グループに区分した後、各々のグループ内で複数の受信装置を数珠繋ぎで接続したグループ内配信経路を生成するグループ内配信経路生成手段と、前記グループ内配信経路の少なくとも一部に関する情報を各々の受信装置に通知する配信経路通知手段と、各々の受信装置が他の受信装置からコンテンツを受信する際には、前記グループ内配信経路によって定まる上流側の他の受信装置からコンテンツのデータを受信しながら、同時に前記グループ内配信経路によって定まる下流側の他の受信装置に向けて前記コンテンツのデータを転送するオンザフライ転送手段とを設けたことを特徴とする。
【００１８】
請求項２においては、請求項１と同様の結果が得られる。
請求項３は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するために用いる中継型コンテンツ配信装置において、所定のアルゴリズムに従って、前記複数の受信装置を複数グループに区分した後、各々のグループ内で複数の受信装置を数珠繋ぎで接続したグループ内配信経路を生成するグループ内配信経路生成手段と、前記グループ内配信経路の少なくとも一部に関する情報を各々の受信装置に通知する配信経路通知手段とを設けたことを特徴とする。
【００１９】
請求項３の装置を用いることにより、請求項２と同様の装置を実現できる。
請求項４は、請求項３の中継型コンテンツ配信装置において、前記グループ内配信経路生成手段は、同一のグループには互いに送信能力の近似した複数の受信装置を割り当て、各グループ内の複数の受信装置の並びを送信能力の順番に従って変更し、各グループ内の送信能力が最小の受信装置の送信能力合計が前記送信装置の送信能力を上回らないように割り当てを決定することを特徴とする。
【００２０】
請求項４においては、同じグループ内には互いに送信能力の近似した複数の受信装置が割り当てられるので、各受信装置が上流の他の受信装置からコンテンツを受信する速度と下流の他の受信装置へコンテンツを転送する速度とがほぼ同じになる。従って、各受信装置の動作をそれ自身の最大能力に近づけて効率的な配信を実現できる。
【００２１】
実際には、送信能力の高い受信装置から順に上流側に配置するようにグループ内配信経路を決定すればよい。
また、実際に各グループを流れるコンテンツの速度は最も配信速度の遅い受信装置の能力に依存する。更に、グループの総数は各グループを流れるコンテンツの速度と送信装置の送信能力に依存する。従って、各グループ内の送信能力が最小の受信装置の送信能力合計が送信装置の送信能力を上回らないようにグループ総数を決定することにより効率的な配信が実現する。
【００２２】
請求項５は、請求項３の中継型コンテンツ配信装置において、前記グループ内配信経路生成手段は、配信経路への割り当て対象となる各々の受信装置が正常に動作しているか否か、及び各々の受信装置にコンテンツ配信に必要とされる記憶容量が残っているか否かを調べ、これらの結果が条件を満たさない受信装置については配信経路への割り当てから除外することを特徴とする。
【００２３】
請求項５においては、コンテンツの配信に利用できない受信装置を配信経路から除外しておくことにより、各グループの最後尾の受信装置まで確実にコンテンツを配信することが可能になる。
請求項６は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、各々の受信装置が、配信経路上で自局の下流側に隣接する第２の受信装置の故障の有無を調べ、故障の発生を検出した場合には、前記第２の受信装置の下流側に隣接する第３の受信装置の存在の有無を識別し、前記第３の受信装置が存在しない場合には、自局が配信経路の末端に位置する受信装置とみなしてコンテンツの受信を継続し、前記第３の受信装置が存在する場合には、前記第２の受信装置を省略して自局から前記第３の受信装置に対してコンテンツの情報を転送することを特徴とする。
【００２４】
コンテンツの配信中に配信経路中の何れかの受信装置が何らかの理由で通信不能になってしまった場合には、通信不能になった部分で配信を終端してしまうと、その下流に存在する全ての受信装置についてはコンテンツが配信されないので、配信サービスの品質が著しく劣化してしまう。
請求項６においては、第２の受信装置に故障が発生すると、それを上流の受信装置が検出して問題を解決する。すなわち、第２の受信装置の下流側に隣接する第３の受信装置が存在する場合には、第２の受信装置をスキップするように配信経路を変更する。これにより、経路の途中の第２の受信装置に故障が発生した場合でも第３の受信装置以降の下流の受信装置に対してコンテンツを配信できる。
【００２５】
請求項７は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、各々の受信装置が、自局が故障状態から復旧したことを検出した場合には、自局の保持しているコンテンツが最新であるか否かを識別し、最新でないコンテンツが自局に存在し、かつ該当するコンテンツが配信処理中でない場合には、自局の最寄りの受信装置である第２の受信装置に関する情報を取得し、前記第２の受信装置から最新のコンテンツをダウンロードすることを特徴とする。
【００２６】
コンテンツの配信中に故障した受信装置やコンテンツの配信前に既に故障していた受信装置については、他の受信装置と同じコンテンツを配信することができない。しかし、故障状態から復旧した受信装置については、できる限り他の受信装置と同じ最新の（バージョンなどが同じ）コンテンツを配信するのが望ましい。
請求項７においては、最新でないコンテンツが自局（故障状態から復旧した受信装置）に存在し、かつ該当するコンテンツが配信処理中でない場合には、自局の最寄りの受信装置である第２の受信装置に関する情報を取得し、前記第２の受信装置から最新のコンテンツをダウンロードする。
【００２７】
請求項８は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための中継型コンテンツ配信方法において、各々の受信装置が、自局が故障状態から復旧したことを検出した場合には、自局の保持しているコンテンツが最新であるか否かを識別し、最新でないコンテンツが自局に存在し、かつ該当するコンテンツが配信処理中であった場合には、いずれか１つの配信経路の最後尾に接続された最寄りの受信装置である第２の受信装置に関する情報を取得し、前記第２の受信装置はコンテンツを上流の他の受信装置から受信しながら、受信の完了した部分から順にコンテンツを復旧した受信装置に送信し、復旧した受信装置の受信したコンテンツの量が前記第２の受信装置と同じになった場合には、前記第２の受信装置はコンテンツを受信するたびにそのデータを逐次復旧した受信装置に送信することを特徴とする。
【００２８】
請求項８においては、最新でないコンテンツが自局（故障状態から復旧した受信装置）に存在し、かつ該当するコンテンツが配信処理中であった場合には、いずれか１つの配信経路の最後尾に接続された最寄りの受信装置である第２の受信装置に関する情報を取得する。また、第２の受信装置においてはコンテンツを上流の他の受信装置から受信しながら、受信の完了した部分から順にコンテンツを復旧した受信装置に送信し、復旧した受信装置の受信したコンテンツの量が第２の受信装置と同じになった場合には、第２の受信装置はコンテンツを受信するたびにそのデータを逐次復旧した受信装置に送信する。
【００２９】
すなわち、復旧した受信装置は配信経路の最後尾の受信装置の下流に接続されるので、他の受信装置に対するコンテンツの配信に影響を及ぼすことなく、復旧した受信装置を配信経路に加えることができる。また、最後尾の受信装置の送信機能を有効に利用できる。
請求項９は、請求項７において、前記第２の受信装置を決定する際には、故障状態から復旧した第１の受信装置がいずれのグループに属しているかを確認し、第１の受信装置がグループに属している場合には、該当するグループの中でネットワーク接続速度が速い順に従って、ラウンドロビンで前記第２の受信装置を順に決定し、第１の受信装置がグループに属していない場合には、全体の受信装置の中でネットワーク接続速度が速い順に従って、ラウンドロビンで前記第２の受信装置を順に決定することを特徴とする。
【００３０】
この場合のラウンドロビンのアルゴリズムでは、最初に第２の受信装置を決定する際にはネットワーク接続速度が最も速い受信装置が割り当てられ、２番目に第２の受信装置を決定する際にはネットワーク接続速度が２番目に速い受信装置が割り当てられる。
なお、ネットワーク接続速度が同一の受信装置が複数存在する場合には、何れか１つ、例えばデータベース上のエントリが若い番号から順に割り当てればよい。
【００３１】
請求項１０は、請求項７において、前記第２の受信装置を決定する際には、故障状態から復旧した第１の受信装置がいずれのグループに属しているかを確認し、第１の受信装置がグループに属している場合には、該当するグループの中でランダムに前記第２の受信装置を順に決定し、第１の受信装置がグループに属していない場合には、全体の受信装置の中でランダムに前記第２の受信装置を順に決定し、第１の受信装置がグループに属しているか否かにかかわらず、第２の受信装置として選択された受信装置については、グループ内の全ての受信装置が選択されるかもしくは全ての受信装置が選択されるまで、第２の受信装置の選択候補から除外することを特徴とする。
【００３２】
請求項１０においては、第１の受信装置と同じグループ内もしくは全ての受信装置の中から各受信装置を順番に第２の受信装置として選択することができる。
請求項１１は、請求項８において、前記第２の受信装置を決定する際に、故障状態から復旧した第１の受信装置がいずれのグループに属しているかを確認し、第１の受信装置がグループに属している場合には、該当するグループ内の配信経路の中で最後尾の受信装置を前記第２の受信装置として選択し、第１の受信装置がグループに属していない場合には、全ての配信経路の中で連結された受信装置の数が最小の配信経路の最後尾の受信装置を前記第２の受信装置として選択することを特徴とする。
【００３３】
請求項１１においては、第１の受信装置がグループに属していない場合には、全ての配信経路の中で連結された受信装置の数が最小の配信経路の最後尾の受信装置を前記第２の受信装置として選択するので、配信経路のツリー構造が最適化される位置に第１の受信装置を連結することができる。
請求項１２は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを利用し、前記送信装置が保持しているコンテンツの情報を各々の受信装置に配信するための配信経路を決定するコンピュータが実行可能なプログラムにおいて、配信対象の各々の受信装置が正常に動作しているか否か、及び各々の受信装置にコンテンツ配信に必要とされる記憶容量が残っているか否かを調べてその結果が条件を満たさない第１の受信装置を検出する手順と、前記第１の受信装置以外の複数の受信装置を複数のグループに区分するとともに、同一のグループには互いに送信能力の近似した複数の受信装置を割り当てる手順と、各グループ内の複数の受信装置の並びを送信能力の順番に従って変更する手順と、各グループ内の送信能力が最小の受信装置の送信能力合計が前記送信装置の送信能力を上回らないように割り当てを決定する手順とを設けたことを特徴とする。
【００３４】
請求項１２においては、送信装置から利用可能な全ての受信装置に対してコンテンツを効率的に配信するためのツリー状の配信経路を自動的に決定することができる。
【００３５】
【発明の実施の形態】
本発明の中継型コンテンツ配信方法及び装置並びにプログラムの１つの実施の形態について、図１〜図１２を参照して説明する。この形態は全ての請求項に対応する。
【００３６】
図１は通信システムの動作例を示すシーケンス図である。図２は通信システムの構成例を示すブロック図である。図３は受信装置状態情報テーブルの構成例を示す模式図である。図４は正常性確認メッセージで得られる情報の構成例を示す模式図である。図５は配信ツリー設定メッセージの例を示す模式図である。図６は配信結果通知メッセージの例を示す模式図である。
【００３７】
図７は配信ツリー作成の動作を示すフローチャートである。図８は通信システムの動作例を示すシーケンス図である。図９は通信システムの動作例を示すシーケンス図である。図１０は最寄り受信装置の選択処理を示すフローチャートである。図１１は最寄り受信装置の選択処理を示すフローチャートである。図１２は配信経路のツリーの構成例を示す模式図である。
【００３８】
この形態では、請求項２及び請求項３ののグループ内配信経路生成手段及び配信経路通知手段は配信ツリー作成部３０に相当し、請求項２のオンザフライ転送手段は書庫化ファイル送受信部２２及びステップＳ２１に相当する。
図２に示す通信システムにおいては、送信装置１０，配信ツリー作成部３０及び複数の受信装置２０がＩＰネットワーク３５を介して互いに接続されている。なお、配信ツリー作成部３０については送信装置１０と一体に構成することもできるし、いずれかの受信装置２０に配置することもできる。
【００３９】
送信装置１０は、書庫化ファイル生成部１１，書庫化ファイル送信部１２，コンテンツ記憶部１３及び配信制御用ＤＢ（データベース）１４を備えている。
コンテンツ記憶部１３には配信すべきコンテンツの情報が保持され、その情報はコンテンツ提供者からの要求などに応じて追加及び更新される。配信制御用ＤＢ１４には、配信制御に必要な様々な情報が保持される。配信制御用ＤＢ１４上の情報は必要に応じて更新される。
【００４０】
書庫化ファイル生成部１１は、コンテンツ記憶部１３上に新たなコンテンツが追加された場合や、既に登録されているコンテンツのバージョンが更新された場合に、追加又は更新された全てのコンテンツのファイルを一纏めにして書庫として管理する。書庫内に格納される各々のファイルは、圧縮された状態で保持される。また、書庫にはそれに格納されているファイルを管理するための情報が含まれている。
【００４１】
書庫化ファイル送信部１２は、書庫化ファイル生成部１１が生成した書庫の内容、すなわち前回配信時の内容とは異なる追加又は変更されたコンテンツの情報を受信装置２０に対して送信する。この場合の宛先は、配信ツリー作成部３０が決定する。
書庫化ファイル送信部１２は、オンザフライ転送機能を備えている。すなわち、上位の装置から新たなコンテンツが入力された場合に、それを受信しながら中継して受信中のコンテンツを下流の受信装置２０に転送する。
【００４２】
配信制御用ＤＢ１４には、配信宛先となる受信装置２０の情報を保持しており、この情報は配信の結果や定期的に行われる状態検査によって随時書き換えられる。この情報には、各々の受信装置２０が蓄積するコンテンツの種類，保持しているコンテンツのバージョン，配信前／配信中／配信終了／エラーなどの状態を表す情報，受信装置２０が属しているグループが含まれている。
【００４３】
実際には、配信制御用ＤＢ１４上の受信装置状態情報テーブルには、図３に示すようなフォーマットで情報が管理されている。すなわち、コンテンツ毎に配信状態を管理しており、それぞれのコンテンツについて、配信先の受信装置，現在のコンテンツバージョン，最後に配信が開始された日時，最後に配信が終了した日時，装置か正常か否か，送信帯域及び受信帯域が管理されている。
【００４４】
各受信装置２０に備わった書庫化ファイル送受信部２２は、送信装置１０又は予め定められた配信経路の上流側にある他の受信装置２０から送信されるコンテンツの情報を受信しながらそれを中継して同じ情報を前記配信経路の下流側の受信装置２０に対して転送する。すなわち、受信と送信とを同時に行いオンザフライ転送を実現する。
【００４５】
また、受信したコンテンツの情報は書庫として纏められ圧縮されているので、その情報を書庫化ファイル展開部２１が展開する。展開した受信情報はコンテンツ記憶部２３に蓄積される。
実際にコンテンツを配信する際には、図１に示すような動作が行われる。すなわち、ステップＳ１０で送信装置１０が配信処理を開始した後、ステップＳ１１で配信ファイルの書庫化を行う。
【００４６】
つまり、複数のファイルを１つのファイルにまとめて圧縮し書庫として管理する。書庫化の形式としては、一般に広く用いられている「ＺＩＰ」や「ＧＺＩＰ」などを用いればよい。
書庫化が完了してファイルの送信が可能になると、送信装置１０は次のステップＳ１２で配信宛先を配信ツリー作成部３０に問い合わせる。
【００４７】
この場合、配信ツリー作成部３０はステップＳ１３で配信制御用ＤＢ１４を参照し、配信先となる受信装置２０の情報を受信装置情報３１及び受信装置状態情報３２としてメモリに読み込む。
次に、配信ツリー作成部３０は各受信装置２０の最新の状態を取得するために正常性確認メッセージを各受信装置２０に送信する。すなわち、ステップＳ１４で受信装置（１）に対して正常性確認メッセージを送信し、ステップＳ１５で受信装置（２）に対して正常性確認メッセージを送信し、同様の動作を全ての受信装置２０に対して繰り返す。
【００４８】
この正常性確認メッセージに対して各受信装置２０が応答する内容により、図４に示すような情報が得られる。
また、正常性確認メッセージに対する応答がない場合，システムバージョンが互換性がないほど古い場合，又はディスク使用率が１００％もしくはそれに近い場合のように、正常にコンテンツの配信ができない状態が検出された場合には、配信ツリー作成部３０は該当する異常な受信装置２０を配信経路への割り当てから除外する。
【００４９】
ステップＳ１６では、正常性に問題のなかった全ての受信装置２０を対象として配信経路のツリーの生成を行う。この処理の具体的な内容は図７に示されている。
配信対象となる受信装置２０の数が比較的少ない場合には、各受信装置２０の送信能力の合計ＴＢが送信装置１０の送信帯域Ｂｔ以内になる可能性がある。その場合には、ステップＳ３３からＳ３４に進み、全ての受信装置２０を一次受信装置として送信装置１０の下流に接続する。
【００５０】
「ＴＢ＞Ｂｔ」の場合には、ステップＳ３５に進み受信装置２０を複数のグループに区分する。そして、互いに送信帯域が近い（±２０％以内）受信装置２０同士を同じグループに割り当てる。また、グループ毎に受信装置２０を送信帯域の大きい順に並べ替える。
また、各グループの最後尾の受信装置の送信能力の合計ＡＬが送信装置１０の送信能力Ｂｔを超えないように「ＡＬ＞Ｂｔ」の場合にはステップＳ３７が実行される。
【００５１】
このような処理によって、例えば図１２に示すようなツリー状の配信経路が生成される。各々のグループ内では、複数の受信装置２０が数珠繋ぎで連結されている。
例えば、図１２のグループ（Ａ）において受信装置（Ａ１），（Ａ２），（Ａ３）及び（Ａ４）はそれぞれ一次受信装置，二次受信装置，三次受信装置及び四次受信装置になる。すなわち、受信装置（Ａ１）は送信装置１０からコンテンツを受信しながら中継したコンテンツを受信装置（Ａ２）に転送し、受信装置（Ａ２）は受信装置（Ａ１）からコンテンツを受信しながら中継したコンテンツを受信装置（Ａ３）に転送し、受信装置（Ａ３）は受信装置（Ａ２）からコンテンツを受信しながら中継したコンテンツを受信装置（Ａ４）に転送し、受信装置（Ａ４）は受信装置（Ａ３）からコンテンツを受信する。
【００５２】
また、受信装置（Ａ１），（Ａ２），（Ａ３）及び（Ａ４）は送信能力の大きい順番に従って並んでいる。
形成した配信経路に従ってコンテンツの配信を実行するために、図１のステップＳ１７，Ｓ１８では、配信ツリー作成部３０は各受信装置２０に対して配信経路の情報を通知する。
【００５３】
実際には、図５に示すようなフォーマットに従って、上流受信装置を特定する情報（ｐｒｅｖｉｏｕｓ以降の内容）と下流受信装置を特定する情報（ｎｅｘｔ以降の内容）とを通知する。
各受信装置２０の書庫化ファイル送受信部２２は、上流受信装置及び下流受信装置が決定された後、上流受信装置から送信されるコンテンツを受信しながらそれを中継して下流受信装置に転送する。すなわちオンザフライ転送を実現する。
【００５４】
配信経路の設定が完了すると、配信ツリー作成部３０はステップＳ１９で各々のグループの先頭に位置する特定の受信装置２０（図１２の（Ａ１），（Ｂ１），（Ｃ１））を一次配信先受信装置として送信装置１０に通知する。
送信装置１０は、ステップＳ２０でコンテンツのファイル転送を開始すると、通知された各グループの先頭の全ての一次配信先受信装置（図１２の（Ａ１），（Ｂ１），（Ｃ１））に向けて同時にコンテンツの配信を実行する。
【００５５】
送信装置１０から送出されたコンテンツのファイルは、配信経路の途中に存在する各受信装置２０でそれぞれ中継されながら（Ｓ２１）、各グループ末端の受信装置まで配信される。
末端の受信装置まで配信が終了すると、末端の受信装置から中継経路の逆順に配信結果の通知が遡ってくる（Ｓ２２，Ｓ２３，Ｓ２４）。
【００５６】
配信結果通知のメッセージは、例えば図６に示すように構成される。このメッセージにおいては、１行目に末端の受信装置に関する情報が記述され、最下行に一次受信装置に関する情報が記述される。
また、各々の受信装置について、受信装置の識別名，コンテンツのバージョン，配信終了時刻及び配信結果（０は成功、１は失敗）の情報が記述される。
【００５７】
ところで、コンテンツの配信を行っている途中で配信経路上に割り当てられた何れかの受信装置２０に故障が発生する場合がある。その場合には、図８に示すような動作が実行される。
図８の例では、ステップＳ４２で受信装置（２）に故障が発生しているので、配信経路の上流に位置する受信装置（１）及び下流に位置する受信装置（３）の書庫化ファイル送受信部２２（中継を行っている部分）がエラーを検知する。
【００５８】
実際には、受信装置（１）がステップＳ４３で故障の発生を検知し、受信装置（３）は受信装置（２）からのデータ待ちで停止する。
この場合、受信装置（１）はステップＳ４４で受信装置（２）の故障を配信ツリー作成部３０に通知する。
配信ツリー作成部３０は、故障の通知を受け取るとステップＳ４５で配信経路の情報を保持しているデータベース（ＤＢ）の内容を参照し、故障が発生した受信装置（２）の下流の受信装置２０の存在について調べる。
【００５９】
図８の例では、受信装置（２）の下流に受信装置（３）が接続されているので、ステップＳ４６で受信装置（１）に対してその下流受信装置として受信装置（３）を通知し、ステップＳ４７で受信装置（３）に対してその上流受信装置として受信装置（１）を通知する。
これにより、事前に形成された配信経路上で受信装置（２）をスキップして受信装置（１）から受信装置（３）にコンテンツを転送するように配信経路の設定が変更される。
【００６０】
この場合、受信装置（３）はステップＳ４８で受信中断位置を受信装置（１）に通知し、受信装置（１）はステップＳ４９で通知された中断位置から受信装置（３）に向けてデータの転送を開始する。
一方、故障の生じた受信装置２０が正常な状態に復旧した場合には、図９に示すような動作が実行される。図９の例では、受信装置（２）がステップＳ５１で故障から復旧した場合を想定している。
【００６１】
故障から復旧した受信装置（２）は、ステップＳ５２で送信装置１０に対して復旧対象となるコンテンツのバージョンに関する問い合わせを行う。そして、送信装置１０から通知された最新バージョンのコンテンツが受信装置（２）に存在しない場合には、最新のコンテンツを受信するための処理を行う。
この場合、受信装置（２）はステップＳ５５で最寄りの受信装置２０の情報を配信ツリー作成部３０に問い合わせる。
【００６２】
配信ツリー作成部３０は問い合わせに対してステップＳ５６で適当な最寄りの受信装置を選択してその結果を受信装置（２）に通知する。
図９の例では受信装置（１）が最寄り受信装置として通知された場合を想定しているので、受信装置（２）は受信装置（１）から最新バージョンのコンテンツをダウンロードする。
【００６３】
図９のステップＳ５６に示す配信ツリー作成部３０の選択処理については、実際には図１０又は図１１に示すアルゴリズムに従って選択が行われる。すなわち、コンテンツを配信してしない時に配信ツリー作成部３０が問い合わせを受けた場合には図１０に示す処理が実行され、コンテンツを配信している途中で配信ツリー作成部３０が問い合わせを受けた場合には図１１に示す処理が実行される。
【００６４】
図１０の処理では、復旧した受信装置が何れかのグループに属しているか否かに応じて異なる処理を実行している。
なお、図１０の例では送信速度の速い順番でラウンドロビンのアルゴリズムに従って１つの受信装置を順番に選択する場合を示してあるが、完全にランダムに選択するように変更しても良い。
【００６５】
また、図１１の処理においては、復旧した受信装置が何れかのグループに属している場合には、ステップＳ７３で属しているグループ内の経路の最後尾の受信装置を最寄りの受信装置として選択し、グループに属していない場合には、各グループの経路に接続された受信装置の連結数が最小のグループの経路の最後尾の受信装置を最寄りの受信装置として選択する。
【００６６】
従って、コンテンツの配信動作に影響を及ぼすことなく、復旧した受信装置を配信経路に追加することができる。
【００６７】
【発明の効果】
本発明によれば、配信を開始する前に全ての配信経路が決定されるので、各々の受信装置は、上流の受信装置からのコンテンツの受信と下流の受信装置へのコンテンツの転送とを同時に処理しオンザフライ転送を実現することができる。従って、各受信装置が接続しているネットワークの双方向の帯域を、例えば図１３に示すように効率よく使用することになり、各グループに含まれる受信装置の数が多い場合でも全ての受信装置に対して短い時間でコンテンツの転送を完了することができる。
【図面の簡単な説明】
【図１】通信システムの動作例を示すシーケンス図である。
【図２】通信システムの構成例を示すブロック図である。
【図３】受信装置状態情報テーブルの構成例を示す模式図である。
【図４】正常性確認メッセージで得られる情報の構成例を示す模式図である。
【図５】配信ツリー設定メッセージの例を示す模式図である。
【図６】配信結果通知メッセージの例を示す模式図である。
【図７】配信ツリー作成の動作を示すフローチャートである。
【図８】通信システムの動作例を示すシーケンス図である。
【図９】通信システムの動作例を示すシーケンス図である。
【図１０】最寄り受信装置の選択処理を示すフローチャートである。
【図１１】最寄り受信装置の選択処理を示すフローチャートである。
【図１２】配信経路のツリーの構成例を示す模式図である。
【図１３】配信時の帯域の利用状況を示す模式図である。
【図１４】配信時の帯域の利用状況を示す模式図である。
【符号の説明】
１０  送信装置
１１  書庫化ファイル生成部
１２  書庫化ファイル送信部
１３  コンテンツ記憶部
１４  配信制御用ＤＢ
２０  受信装置
２１  書庫化ファイル展開部
２２  書庫化ファイル送受信部
２３  コンテンツ記憶部
３０  配信ツリー作成部
３１  受信装置情報
３２  受信装置状態情報
３５  ＩＰネットワーク
【図１】
2004318274.tif 000003
【図２】
2004318274.tif 000004
【図３】
2004318274.tif 000005
【図４】
2004318274.tif 000006
【図５】
2004318274.tif 000007
【図６】
2004318274.tif 000008
【図７】
2004318274.tif 000009
【図８】
2004318274.tif 000010
【図９】
2004318274.tif 000011
【図１０】
2004318274.tif 000012
【図１１】
2004318274.tif 000013
【図１２】
2004318274.tif 000014
【図１３】
2004318274.tif 000015
【図１４】
2004318274.tif 000016