(57)【要約】【課題】本発明は効率の良いコンテンツの配信が可能なコンテンツ配信方法及び装置並びにプログラム及び記録媒体を提供することを目的とする。【解決手段】送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信方法において、配信先となる前記複数の受信装置を、所定のアルゴリズムに従って送信装置の能力に応じた最大同時配信数に相当する複数のグループに区分し、送信装置がコンテンツを最初に配信する場合には各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信し、コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理し、各受信装置におけるコンテンツの受信が終了した場合に当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信する。【選択図】      図１
2004199578.tif 000002
【特許請求の範囲】
【請求項１】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信方法において、
配信先となる前記複数の受信装置を、所定のアルゴリズムに従って送信装置の能力に応じた最大同時配信数に相当する複数のグループに区分し、
前記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信し、
コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理し、
各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信する
ことを特徴とするコンテンツ配信方法。
【請求項２】
請求項１のコンテンツ配信方法において、前記複数の受信装置を複数のグループに区分する際には、
まず、第１ステップとして配信能力の高い受信装置から順番に各グループに割り当て、
次に第２ステップとして、第１ステップで割り当てられた受信装置のうち配信能力の低い受信装置が割り当てられたグループから順番に、配信能力の高い残りの受信装置を割り当て、
前記第１ステップと第２ステップとを交互に繰り返し、
各グループに割り当てられる複数の受信装置の配信能力及び台数を均等化する
ことを特徴とするコンテンツ配信方法。
【請求項３】
請求項１のコンテンツ配信方法において、前記複数の受信装置を複数のグループに区分する際には、
各グループに割り当てられる受信装置の数をグループ間で均等化し、
通信網上の中継点数を同じグループ内の受信装置間で抑制し、
各グループ内で能力が最大の受信装置を先頭に配置する
ことを特徴とするコンテンツ配信方法。
【請求項４】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信方法において、
配信先となる前記複数の受信装置を、所定のアルゴリズムに従ってＧ個の複数グループに区分し、
前記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信し、
コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理し、
各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信するとともに、
全受信装置数をＰ（個）、コンテンツサイズをＣ（メガバイト）、送信装置の上り回線速度をＲｕ（Ｍｂｐｓ）、受信装置の上り回線速度をＬｕ（Ｍｂｐｓ）、受信装置の下り回線速度をＬｄ（Ｍｂｐｓ）、全受信完了時間をＴｔｏｔａｌとする場合に、前記グループ数Ｇを
【数１】
2004199578.tif 000005
に従って算出する
ことを特徴とするコンテンツ配信方法。
【請求項５】
請求項１又は請求項４のコンテンツ配信方法において、
コンテンツ配信の進行に伴って複数のグループ間で未配信の受信装置数に差が発生した場合には、再割り当てにより未配信の一部の受信装置を未配信の受信装置数が多いグループから少ないグループへ移動する
ことを特徴とするコンテンツ配信方法。
【請求項６】
請求項１又は請求項４のコンテンツ配信方法において、
予め用意された複数種類のアルゴリズムの中から１つを選択し、選択されたアルゴリズムに従って、配信先となる前記複数の受信装置を複数のグループに区分する
ことを特徴とするコンテンツ配信方法。
【請求項７】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信装置において、
配信先となる前記複数の受信装置を複数のグループのいずれかに割り当て、グループ毎に未配信の受信装置を管理する受信装置管理部と、
前記送信装置から前記受信装置管理部に対して、配信先の受信装置を問い合わせる問い合わせ手段と、
問い合わせの結果に応じて前記送信装置が、複数グループの特定の受信装置に対してコンテンツを配信するための処理を行うコンテンツ配信手段と
を設けたことを特徴とするコンテンツ配信装置。
【請求項８】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信装置において、
配信先となる前記複数の受信装置を複数のグループのいずれかに割り当て、グループ毎に未配信の受信装置を管理する受信装置管理部と、
各グループの受信装置がコンテンツの受信を完了した場合に、同じグループに属する未配信の他の受信装置を前記受信装置管理部に問い合わせる問い合わせ手段と、
問い合わせの結果に応じて前記受信装置が、同じグループに属する未配信の他の受信装置に対してコンテンツを配信するための処理を行うコンテンツ配信手段と、
各グループの受信装置がコンテンツの受信を完了した場合に、前記送信装置に対して完了を通知する完了通知手段と
を設けたことを特徴とするコンテンツ配信装置。
【請求項９】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するために用いるコンピュータで実行可能なプログラムにおいて、
配信先となる前記複数の受信装置を、所定のアルゴリズムに従って送信装置の能力に応じた最大同時配信数に相当する複数のグループに区分するグループ割り当て手順と、
前記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信する第１の配信先決定手順と、
コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理する配信状況管理手順と、
各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信する第２の配信先決定手順と
を設けたことを特徴とするプログラム。
【請求項１０】
請求項９のプログラムにおいて、前記グループ割り当て手順では、
まず、第１ステップとして配信能力の高い受信装置から順番に各グループに割り当て、
次に第２ステップとして、第１ステップで割り当てられた受信装置のうち配信能力の低い受信装置が割り当てられたグループから順番に、配信能力の高い残りの受信装置を割り当て、
前記第１ステップと第２ステップとを交互に繰り返し、
各グループに割り当てられる複数の受信装置の配信能力及び台数を均等化する
ことを特徴とするプログラム。
【請求項１１】
請求項９のプログラムにおいて、前記グループ割り当て手順では、
各グループに割り当てられる受信装置の数をグループ間で均等化し、
通信網上の中継点数を同じグループ内の受信装置間で抑制し、
各グループ内で能力が最大の受信装置を先頭に配置する
ことを特徴とするプログラム。
【請求項１２】
送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するために用いるコンピュータで実行可能なプログラムにおいて、
配信先となる前記複数の受信装置を、所定のアルゴリズムに従ってＧ個の複数グループに区分するグループ数決定手順と、
前記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信する第１の配信先決定手順と、
コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理する配信状況管理手順と、
各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信する第２の配信先決定手順と
を設け、前記グループ数決定手順では、全受信装置数をＰ（個）、コンテンツサイズをＣ（メガバイト）、送信装置の上り回線速度をＲｕ（Ｍｂｐｓ）、受信装置の上り回線速度をＬｕ（Ｍｂｐｓ）、受信装置の下り回線速度をＬｄ（Ｍｂｐｓ）、全受信完了時間をＴｔｏｔａｌとする場合に、前記グループ数Ｇを
【数２】
2004199578.tif 000006
に従って算出する
ことを特徴とするプログラム。
【請求項１３】
請求項９，請求項１０，請求項１１及び請求項１２の何れかのプログラムを記録したコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オリジナルサーバに蓄積されているコンテンツを分散された多数のミラーサーバに配信する場合に利用可能なコンテンツ配信方法及びコンテンツ配信制御装置に関する。
【０００２】
【従来の技術】
コンテンツの配信方法や配信時のサーバにかかる負荷を効率的に削減する従来技術としては、特許文献１，特許文献２及び特許文献３が存在する。特許文献１は、オリジナルサーバに蓄積するコンテンツのうち人気のあるものだけを配信するシステムに関するものであり、特許文献２は、オリジナルサーバで更新されつづけるコンテンツのうち最新の差分だけを配信する方法に関するものである。
【０００３】
また、本出願人は関連する技術を、特願２００２−０２４３８９号，特願２００２−２６１２６１号として既に出願している。
インターネット上のようにアクセスが集中する可能性のある環境で様々なコンテンツの情報を提供しようとする場合には、サーバに対する負荷を分散するために複数のサーバをネットワークに接続し、それぞれのサーバにコンテンツの情報を蓄積しておく場合が多い。
【０００４】
このような通信システムにおいては、最初にコンテンツを保持する１つのサーバはオリジナルサーバと呼ばれる。また、オリジナルサーバからコンテンツの転送を受けてオリジナルサーバと同一のコンテンツを蓄える他のサーバはミラーサーバと呼ばれる。ミラーサーバは、オリジナルサーバにかかる負荷の一部を肩代わりするために設けられる。
【０００５】
オリジナルサーバから不特定多数のミラーサーバに対してコンテンツを配信する場合の配信形態としては、ＰＵＳＨ型，ＰＵＬＬ型，マルチキャスト型などが考えられる。
ＰＵＳＨ型の配信を実施する場合には、オリジナルサーバが任意のタイミングでミラーサーバに対してコンテンツを送信する。ＰＵＬＬ型の配信を実施する場合には、ミラーサーバが定期的にオリジナルサーバに対して問い合わせを行い、更新されたコンテンツがある場合には、ミラーサーバはオリジナルサーバから更新されたコンテンツをダウンロードする。
【０００６】
また、ＰＵＳＨ型及びＰＵＬＬ型の配信形態を用いる場合には、オリジナルサーバからミラーサーバに対して仮想的に１対１のコネクションが形成され、このコネクションを用いてコンテンツの配信が行われる。
また、物理的に１つのリンクであっても、コネクションが複数存在する場合には、リンクの持つ伝送容量を複数のコネクションで共有することになるため、それぞれのコネクションにおける伝送速度は低下する。
【０００７】
また、オリジナルサーバが複数のミラーサーバに対して同一のコンテンツを配信する場合には、複数のコネクションのそれぞれに同一のデータが流れることになるが、これは物理的には同一のリンクの中を同じデータが繰り返し流れることを意味する。従って、通信の効率が良いとはいえない。
一方、マルチキャスト型の配信を実施する場合には、伝送プロトコルとしてＩＰマルチキャストプロトコルを用いることになり、ＰＵＳＨ型と同様の形態で配信することになる。但し、ＰＵＳＨの方向が１対１ではなく、１対多になるという違いがある。
【０００８】
すなわち、マルチキャスト型の配信形態では、オリジナルサーバから複数のミラーサーバに対して論理的に１対多のコネクションが形成される。そのため、同じ物理リンクの中を同一のデータが繰り返し流れることはなく、効率の良い配信を実施できる。
ＰＵＳＨ型，ＰＵＬＬ型，マルチキャスト型のいずれの形態においても、配信の契機を決定する方法としては、一定間隔方式，スケジュール方式及びオンデマンド方式を適用できる。
【０００９】
一定間隔方式の場合には、コンテンツの配信を開始する契機のタイミングを、１分おき，１時間おきなどの一定時間おきに定めておき、そのタイミングでオリジナルサーバに新規のコンテンツがあればそのコンテンツを配信する。
スケジュール方式の場合には、例えば毎朝６時など予め定められたスケジュールの時刻を契機として、その時刻に新規のコンテンツがあればそのコンテンツを配信する。オンデマンド方式の場合には、運用を管理するオペレータの操作に従って、任意のタイミングで新規のコンテンツの配信を行う。
【００１０】
いずれの方式で配信を実施する場合であっても、コンテンツのサイズが大きくなるとコンテンツの配信に時間がかかるため、最初に行った配信の動作と次の配信の動作とが時間的に重なる可能性がある。そのような時間的な配信の重複が生じると、新旧ファイルの入れ違いが生じるためオリジナルサーバのコンテンツを正確にミラーサーバに反映できなくなる。
【００１１】
従って、前の配信と次の配信とが時間的に重ならないように配信のタイミングを調節する必要がある。また、１回の配信をなるべく短い時間で効率よく実施する必要がある。また、複数のコンテンツを配信するような場合には、それぞれのコンテンツを希望する時間通りに配信できなくなる可能性がある。
従って、オリジナルサーバとミラーサーバとの間に１対１のコネクションを形成するＰＵＳＨ型やＰＵＬＬ型の配信を行う場合に、配信宛先が大量であれば、同時に配信する宛先数を制限して配信セッションを分けるなどの対処が必要になる。例えば、１００台のミラーサーバへの配信が必要な場合に、宛先のミラーサーバを１０台ずつに区分して、１０台のミラーサーバへの配信を１０回繰り返すような動作が必要になる。
【００１２】
この方法では、オリジナルサーバやネットワークの帯域を増加させることなく多数の宛先に配信することが可能であり、コストを低減できるという長所がある。しかし、宛先数が増えるに従って配信の所要時間が長くなるという問題もある。また、配信が終了したミラーサーバと配信が未完了のミラーサーバとが混在する時間が長くなり、運用上の問題も大きい。
【００１３】
ミラーサーバの数が増えた場合の負荷の集中を防止するために最も適している方法は、ＩＰマルチキャストを用いてファイルを配信することである。ＩＰマルチキャストを用いると、最も理想的な場合には、一度の配信処理だけで全てのミラーサーバへのファイル配信を完了できる。
【００１４】
しかしながら、大抵の公衆のネットワークでは運用上の問題からＩＰマルチキャストは伝搬されないように規制されているのがふつうである。従って、インターネットを介したファイルの配信を考えると、ＩＰマルチキャストを用いるのは現実的でない。
そこで、特願２００２−２６１２６１号ではＰ２Ｐ（Peer to peer）配信と呼ばれる技術を利用している。すなわち、既にコンテンツが配信されたエンドユーザの端末をミラーサーバもしくはキャッシュサーバの１つとみなし、この端末が未配信のエンドユーザマシンに対してコンテンツを配信する。
【００１５】
この方式を用いると、最も理想的な形では、１つのコンテンツの配信が終わる直前には全配信宛先サーバの半分がミラーサーバとしてコンテンツの配信を行っていることになり、配信センターの設備を増強することなく大量のコンテンツを効率よく配信することができる。
【特許文献１】
特開２００１−２７９６５号公報
【特許文献２】
特開２００１−９２６９９号公報
【特許文献３】
特開２００２−２９７４２６号公報
【００１６】
【発明が解決しようとする課題】
コンテンツの配信を受けたエンドユーザの端末が、更に他の未配信のエンドユーザ端末に対して配信を行うようなシステムにおいては、コンテンツの配信順序や配信経路並びに各装置及び通信回線の能力の違いに応じて配信の効率が大きく変化する。
【００１７】
従って不適当な配信順序や配信経路を利用すると、効率の良いコンテンツの配信を実現できない。
また、効率の良い配信を実現するために配信先となる多数のエンドユーザ端末を予め複数のグループに区分し、エンドユーザ端末から他のエンドユーザ端末へのコンテンツ配信を同じグループ内に限定するような制御を行う場合、エンドユーザ端末に対する配信サービスの品質（配信の遅延時間）にグループ間で格差が発生する可能性がある。
【００１８】
本発明は、効率の良いコンテンツの配信が可能なコンテンツ配信方法及び装置並びにプログラム及び記録媒体を提供することを目的とする。
【００１９】
【課題を解決するための手段】
請求項１は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信方法において、配信先となる前記複数の受信装置を、所定のアルゴリズムに従って送信装置の能力に応じた最大同時配信数に相当する複数のグループに区分し、前記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信し、コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理し、各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信することを特徴とする。
【００２０】
請求項１においては、送信装置だけでなく、送信装置からコンテンツを受信した受信装置が未配信の他の受信装置に対してコンテンツの配信を行うので、効率の良いコンテンツの配信が可能になる。
また、複数の受信装置は複数のグループに区分されるが、グループの数は送信装置の能力に応じた最大同時配信数に相当する数に決定されるので、送信装置は全グループの受信装置に対して同時にコンテンツの配信を実施できる。これにより、コンテンツ配信時の遅延時間についてグループ間で格差が生じるのを抑制できる。
【００２１】
すなわち、多数の受信装置を複数のグループに区分して配信を行う場合には、配信の最終段階において、未配信の受信端末を抱えているグループと、全ての受信端末に対して配信が完了しているグループとが現れる可能性があり、グループ間に生じるサービスの品質格差が問題になる。このような品質格差は本発明により解消可能である。
【００２２】
請求項２は、請求項１のコンテンツ配信方法において、前記複数の受信装置を複数のグループに区分する際には、まず、第１ステップとして配信能力の高い受信装置から順番に各グループに割り当て、次に第２ステップとして、第１ステップで割り当てられた受信装置のうち配信能力の低い受信装置が割り当てられたグループから順番に、配信能力の高い残りの受信装置を割り当て、前記第１ステップと第２ステップとを交互に繰り返し、各グループに割り当てられる複数の受信装置の配信能力及び台数を均等化することを特徴とする。
【００２３】
請求項２においては、配信能力（装置自身の処理能力や通信回線の速度）の高い受信装置を各グループに均等に割り当てることができる。従って、コンテンツ配信時の遅延時間についてグループ間で格差が生じるのを抑制できる。
請求項３は、請求項１のコンテンツ配信方法において、前記複数の受信装置を複数のグループに区分する際には、各グループに割り当てられる受信装置の数をグループ間で均等化し、通信網上の中継点数を同じグループ内の受信装置間で抑制し、各グループ内で能力が最大の受信装置を先頭に配置することを特徴とする。
【００２４】
請求項３においては、各グループに割り当てられる受信装置の数をグループ間で均等化するので、グループ内の全ての受信装置に対して配信が完了する時間にグループ間で格差が生じるのを抑制できる。
また、通信網上で受信装置間の中継点数が少なくなるようにグループの割り当てを決定するので、同じグループ内の受信装置間でコンテンツの配信をする場合に、ネットワークにかかる負荷を軽減することができ、配信速度の向上にも役立つ。すなわち、グループ内ではルータなどの中継点を跨ぐことなく受信装置間で通信できる。
【００２５】
実際には、それぞれのグループに配信能力の高い受信装置を順に１次受信装置として割り当てていく。このとき、同じネットワークに属する受信装置はなるべく別々のグループにならないように、同じネットワークに属する１つの受信装置を１次受信装置に割り当てた場合には、同じネットワークに属する他の受信装置は１次受信装置の割り当て対象から除外する。但し、１次受信装置の数がグループ数に満たなくなった場合には、配信能力の高い残りの受信装置から順に１次受信装置として残りのグループに割り当てる。
【００２６】
また、１次受信装置の割り当てが終了したら、残りの受信装置の中から、１次受信装置との間の距離がネットワーク的に近い順番にそれぞれのグループに対して割り当てていく。
ネットワーク的な距離については、例えばＩＰアドレスのサブネットマスクやドメイン名から類推することができる。また、予めネットワークトポロジー（接続形態）を測定しておき、その情報を所定のデータベースに保持しておけば、トポロジーに基づいてネットワーク的な距離を検出することが可能である。
【００２７】
請求項４は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信方法において、配信先となる前記複数の受信装置を、所定のアルゴリズムに従ってＧ個の複数グループに区分し、前記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信し、コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理し、各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信するとともに、全受信装置数をＰ（個）、コンテンツサイズをＣ（メガバイト）、送信装置の上り回線速度をＲｕ（Ｍｂｐｓ）、受信装置の上り回線速度をＬｕ（Ｍｂｐｓ）、受信装置の下り回線速度をＬｄ（Ｍｂｐｓ）、全受信完了時間をＴｔｏｔａｌとする場合に、前記グループ数Ｇを
【数３】
2004199578.tif 000003
に従って算出することを特徴とする。
【００２８】
請求項４においては、計算式に基づいてグループ数Ｇを求めることができる。全リーフサーバの回線速度が一定と見なせる場合には、求めたグループ数Ｇに受信装置を区分してコンテンツの配信を行うことにより、それぞれのグループにおけるコンテンツ配信がほぼ同時に終了するので、最短時間でコンテンツの配信を終了することが可能である。
【００２９】
請求項５は、請求項１又は請求項４のコンテンツ配信方法において、コンテンツ配信の進行に伴って複数のグループ間で未配信の受信装置数に差が発生した場合には、再割り当てにより未配信の一部の受信装置を未配信の受信装置数が多いグループから少ないグループへ移動することを特徴とする。
グループ間で配信時間に大きな格差が生じないように各受信装置に対するグループの割り当てを実施した場合であっても、例えばネットワークの負荷が大きく変動したような場合には、グループ間で配信時間に格差が生じる可能性がある。
【００３０】
請求項５においては、配信の進捗状況にグループ間で格差（例えば未配信の受信装置数の差が２以上）が現れると、未配信の一部の受信装置を未配信の受信装置数が多いグループから少ないグループへ移動するので、各グループの配信が完了する時刻の差が小さくなるように制御することができる。
未配信の受信装置数については、受信装置が出力するイベント情報を集計することにより把握できる。なお、割り当てを変更する受信装置としては、配信能力が最も低い受信装置を選択するのが望ましい。
【００３１】
請求項６は、請求項１又は請求項４のコンテンツ配信方法において、予め用意された複数種類のアルゴリズムの中から１つを選択し、選択されたアルゴリズムに従って、配信先となる前記複数の受信装置を複数のグループに区分することを特徴とする。
請求項６においては、複数の受信装置を複数のグループに区分する場合に、予め用意された複数種類のアルゴリズムの中から１つを選択して実行できるので、ネットワークの形態や運用条件に応じて適切なグループ割り当てを行うことができる。
【００３２】
請求項７は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信装置において、配信先となる前記複数の受信装置を複数のグループのいずれかに割り当て、グループ毎に未配信の受信装置を管理する受信装置管理部と、前記送信装置から前記受信装置管理部に対して、配信先の受信装置を問い合わせる問い合わせ手段と、問い合わせの結果に応じて前記送信装置が、複数グループの特定の受信装置に対してコンテンツを配信するための処理を行うコンテンツ配信手段とを設けたことを特徴とする。
【００３３】
請求項７のコンテンツ配信装置を用いることにより、効率的なコンテンツの配信が可能になる。
請求項８は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するためのコンテンツ配信装置において、配信先となる前記複数の受信装置を複数のグループのいずれかに割り当て、グループ毎に未配信の受信装置を管理する受信装置管理部と、各グループの受信装置がコンテンツの受信を完了した場合に、同じグループに属する未配信の他の受信装置を前記受信装置管理部に問い合わせる問い合わせ手段と、問い合わせの結果に応じて前記受信装置が、同じグループに属する未配信の他の受信装置に対してコンテンツを配信するための処理を行うコンテンツ配信手段と、各グループの受信装置がコンテンツの受信を完了した場合に、前記送信装置に対して完了を通知する完了通知手段とを設けたことを特徴とする。
【００３４】
請求項８のコンテンツ配信装置を用いることにより、効率的なコンテンツの配信が可能になる。
請求項９は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するために用いるコンピュータで実行可能なプログラムにおいて、配信先となる前記複数の受信装置を、所定のアルゴリズムに従って送信装置の能力に応じた最大同時配信数に相当する複数のグループに区分するグループ割り当て手順と、前記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信する第１の配信先決定手順と、コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理する配信状況管理手順と、各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信する第２の配信先決定手順とを設けたことを特徴とする。
【００３５】
請求項９のプログラムをコンピュータで実行することにより、請求項１と同様の方法を実現できる。
請求項１０は、請求項９のプログラムにおいて、前記グループ割り当て手順では、まず、第１ステップとして配信能力の高い受信装置から順番に各グループに割り当て、次に第２ステップとして、第１ステップで割り当てられた受信装置のうち配信能力の低い受信装置が割り当てられたグループから順番に、配信能力の高い残りの受信装置を割り当て、前記第１ステップと第２ステップとを交互に繰り返し、各グループに割り当てられる複数の受信装置の配信能力及び台数を均等化することを特徴とする。
【００３６】
請求項１０のプログラムをコンピュータで実行することにより、請求項２と同様の方法を実現できる。
請求項１１は、請求項９のプログラムにおいて、前記グループ割り当て手順では、各グループに割り当てられる受信装置の数をグループ間で均等化し、通信網上の中継点数を同じグループ内の受信装置間で抑制し、各グループ内で能力が最大の受信装置を先頭に配置することを特徴とする。
【００３７】
請求項１１のプログラムをコンピュータで実行することにより、請求項３と同様の方法を実現できる。
請求項１２は、送信装置と複数の受信装置とが所定の通信網を介して互いに接続された通信システムを用いて、前記送信装置の保持しているコンテンツの情報を各々の受信装置に配信するために用いるコンピュータで実行可能なプログラムにおいて、配信先となる前記複数の受信装置を、所定のアルゴリズムに従ってＧ個の複数グループに区分するグループ数決定手順と、前記送信装置がコンテンツを最初に配信する場合には、各グループに含まれる先頭の受信装置に対してそれぞれコンテンツを配信する第１の配信先決定手順と、コンテンツの受信が終了した受信装置が生成するイベント情報に従って各グループに属する受信装置のコンテンツ配信状況を管理する配信状況管理手順と、各受信装置におけるコンテンツの受信が終了した場合に、当受信装置が属するグループ内で未配信の他の受信装置を検索し、当受信装置から未配信の他の受信装置に対してコンテンツを配信する第２の配信先決定手順とを設け、前記グループ数決定手順では、全受信装置数をＰ（個）、コンテンツサイズをＣ（メガバイト）、送信装置の上り回線速度をＲｕ（Ｍｂｐｓ）、受信装置の上り回線速度をＬｕ（Ｍｂｐｓ）、受信装置の下り回線速度をＬｄ（Ｍｂｐｓ）、全受信完了時間をＴｔｏｔａｌとする場合に、前記グループ数Ｇを
【数４】
2004199578.tif 000004
に従って算出することを特徴とする。
【００３８】
請求項１２のプログラムをコンピュータで実行することにより、請求項４と同様の方法を実現できる。
請求項１３は、請求項９，請求項１０，請求項１１及び請求項１２の何れかのプログラムを記録したコンピュータで読み取り可能な記録媒体である。
請求項１３の記録媒体から読みとったプログラムをコンピュータで実行することにより、請求項１〜請求項４と同様の方法を実現できる。
【００３９】
【発明の実施の形態】
本発明のコンテンツ配信方法及び装置並びにプログラム及び記録媒体の１つの実施の形態について、図１〜図１１を参照して説明する。この形態は全ての請求項に対応する。
図１は通信システムの動作例を示すシーケンス図である。図２は受信装置情報テーブルの具体例を示す模式図である。図３は通信システムの構成例を示すブロック図である。図４は通信システムの動作例を示すブロック図である。
【００４０】
図５は受信装置状態情報テーブルの構成例を示す模式図である。図６は通信システムの動作例を示すシーケンス図である。図７はコンテンツ毎の配信設定ファイルの構成を示す模式図である。図８はシステム全体で共通の配信設定ファイルの構成を示す模式図である。
図９は宛先グループ化処理部の動作例（１）を示すフローチャートである。図１０は宛先グループ化処理部の動作例（２）を示すフローチャートである。図１１は宛先グループ化処理部の動作例（３）を示すフローチャートである。
【００４１】
この形態では、請求項７の受信装置管理部，問い合わせ手段及びコンテンツ配信手段は、それぞれ宛先グループ化処理部３０，ステップＳ１１及び書庫化ファイル送信部１２に対応する。
また、請求項８の受信装置管理部，問い合わせ手段，コンテンツ配信手段及び完了通知手段は、それぞれ宛先グループ化処理部３０，ステップＳ１６，書庫化ファイル送受信部２２及びステップＳ４５（Ｓ５１）に対応する。
【００４２】
この形態では、図１に示すような構成の通信システムを用いて、送信装置１０から多数の受信装置２０に対してコンテンツを配信する場合を想定している。例えば、オリジナルサーバとミラーサーバとの間でコンテンツの転送を行う場合には、送信装置１０がオリジナルサーバに相当し、受信装置２０がミラーサーバに相当する。また、サーバとクライアント端末との間でコンテンツの転送を行う場合には、送信装置１０がサーバに相当し、受信装置２０がクライアント端末に相当する。
【００４３】
図１に示す通信システムにおいては、送信装置１０，宛先グループ化処理部３０及び複数の受信装置２０がＩＰネットワーク３５を介して互いに接続されている。なお、宛先グループ化処理部３０については送信装置１０と一体に構成することもできるし、いずれかの受信装置２０に配置することもできる。
送信装置１０は、書庫化ファイル生成部１１，書庫化ファイル送信部１２，コンテンツ記憶部１３及び配信制御用ＤＢ（データベース）１４を備えている。
【００４４】
コンテンツ記憶部１３には配信すべきコンテンツの情報が保持され、その情報はコンテンツ提供者からの要求などに応じて追加及び更新される。配信制御用ＤＢ１４には、配信制御に必要な様々な情報が保持される。配信制御用ＤＢ１４上の情報は必要に応じて更新される。
コンテンツ記憶部１３については、実際には送信装置１０の本体にＳＣＳＩインタフェースやＡＴＡインタフェースで直接接続してもよいし、外部装置である記憶装置サーバ（ＮＡＳ：Network Attached Strage）をＮＦＳで送信装置１０に接続してもよい。
【００４５】
送信装置１０から受信装置２０へのコンテンツ配信を開始する条件（図１，図６に示す動作を開始する条件）は、前回配信時のコンテンツと比べて新しいファイルがコンテンツ記憶部１３に追加された場合、又はファイルのタイムスタンプやファイルサイズが更新されたことを発見した場合である。
【００４６】
この検査は、送信装置１０上のコンテンツ記憶部１３を走査することによって行われる。
コンテンツ記憶部１３を走査する契機については、送信装置１０上にコンテンツ毎に用意されているMirrorControlファイルと呼ばれる定義ファイルの内容に応じて、Ｅｖｅｎｔ型，Ｓｃｈｅｄｕｌｅｄ型，ＯｎＤｅｍａｎｄ型のいずれかに切り替えることができる。
【００４７】
Ｅｖｅｎｔ型の場合には、例えば１分おき、１時間おきなどの一定時間周期で走査を行う。Ｓｃｈｅｄｕｌｅｄ型の場合には、例えば毎日午前８時、毎週月曜〜金曜の午前８時などのように特定の時間に走査を行う。ＯｎＤｅｍａｎｄ型の場合には、コンテンツを追加した任意の時間にコンテンツの配信を行う。
書庫化ファイル生成部１１は、コンテンツ記憶部１３上に新たなコンテンツが追加された場合や、既に登録されているコンテンツのバージョンが更新された場合に、追加又は更新された全てのコンテンツのファイルを一纏めにして書庫として管理する。書庫内に格納される各々のファイルは、圧縮された状態で保持される。また、書庫にはそれに格納されているファイルを管理するための情報が含まれている。
【００４８】
書庫化ファイル送信部１２は、書庫化ファイル生成部１１が生成した書庫の内容、すなわち前回配信時の内容とは異なる追加又は変更されたコンテンツの情報を受信装置２０に対して送信する。この場合の宛先は、宛先グループ化処理部３０が決定する。
宛先グループ化処理部３０は、送信装置１０又はいずれかの受信装置２０から問い合わせを受けた場合に、送信装置１０上の配信制御用ＤＢ１４で管理されている情報に基づいて特定の受信装置２０を宛先として決定する。宛先グループ化処理部３０における具体的な動作については後で詳細に説明する。
【００４９】
各受信装置２０に備わった書庫化ファイル送受信部２２は、送信装置１０又は他の受信装置２０から送信されるコンテンツの情報を受信するとともに、受信した情報を他の未受信の受信装置２０に対して再転送する。
また、受信したコンテンツの情報は書庫として纏められ圧縮されているので、その情報を書庫化ファイル展開部２１が展開する。展開した受信情報はコンテンツ記憶部２３に蓄積される。
【００５０】
この形態では、送信装置１０及び各受信装置２０は、図７及び図８に示すような設定ファイルを保持している。図７に示す設定ファイルにはコンテンツ毎に決定される様々なパラメータが含まれており、図８に示す設定ファイルにはシステム全体で共通に利用される情報が含まれている。
また、宛先グループ化処理部３０は受信装置情報テーブル３１及び受信装置状態情報テーブル３２として各受信装置２０の状態を管理している。受信装置情報テーブル３１及び受信装置状態情報テーブル３２の具体例は、それぞれ図２及び図５に示されている。
【００５１】
すなわち、宛先グループ化処理部３０は各受信装置２０に関するアドレス情報や状態情報を管理している。また、場合によってはネットワークのトポロジー（接続形態）情報を管理する。トポロジー情報を利用する場合には、事前に送信装置１０及び受信装置２０の間に存在するルータ（図示せず）の情報を収集し所定のデータベース上に登録しておけばよい。
【００５２】
この形態の通信システムにおいては、送信装置１０から受信装置２０に対してコンテンツの配信を行うだけでなく、コンテンツの受信を完了した受信装置２０が他の未配信の受信装置２０に対してコンテンツの配信を行う。
また、効率的なコンテンツの配信を可能にするために、多数の受信装置２０を複数のグループに区分する。そして、コンテンツの受信を完了した受信装置２０は、同じグループに属している他の未配信の受信装置２０に対してコンテンツの配信を行う。
【００５３】
また、コンテンツ配信の効率は、形成するグループの数や、各グループに割り当てる受信装置２０の組み合わせなどに応じて大きく変化する可能性がある。更に、グループ間で配信サービスの品質格差が発生する可能性もある。
コンテンツ配信の効率を高め、グループ間の品質格差を無くするために、宛先グループ化処理部３０は所定のアルゴリズムに従ってグループ数及び各受信装置２０のグループへの割り当てを自動的に決定する。
【００５４】
この例では、複数種類のアルゴリズムを実現するためのプログラムが宛先グループ化処理部３０に予め組み込まれている。いずれのアルゴリズムを用いるかは、オペレータの入力やパラメータの内容に従って決定することができる。
例えば、図７に示す設定ファイルのパラメータ「DirectorMode」により、宛先グループ化処理部３０がいずれのアルゴリズムを用いるかを決定できる。
【００５５】
宛先グループ化処理部３０が多数の受信装置２０を複数グループのいずれかに割り当てるための動作について以下に説明する。
（アルゴリズム(1)）
このアルゴリズムに沿ってプログラムを実行する場合の宛先グループ化処理部３０の動作について、図９を参照しながら説明する。
【００５６】
ステップＳ６１では、グループ数Ｎとして、設定ファイル（図７参照）のパラメータ「MaxPararelTransfer」の値を割り当てる。このパラメータ「MaxPararelTransfer」は、送信装置１０の送信能力によって定まる最大同時配信数に相当する。
ステップＳ６２では、受信装置情報テーブル３１から受信装置情報（図２参照）を読み込み、各受信装置２０の配信能力の順番で並べ替えて保持する。ここでは全受信装置数がＭの場合を想定している。
【００５７】
ステップＳ６３では、配信能力の高い順に並べ替えた受信装置情報について、順番にグループ番号（０，１，２，・・・，Ｎ−１）を割り当てる。つまり、配信能力の高い受信装置２０から順に、各グループの先頭位置に１つの受信装置２０を割り当てる。ここで割り当てた装置を１次受信装置と呼ぶ。
【００５８】
受信装置２０の総数ＭがＮ−１より大きい場合には、ステップＳ６４からＳ６５に進み、ＭからＮを減算する。
次のステップＳ６６では、配信能力の高い順に並べ替えた受信装置情報のうち、まだグループ番号を割り当てていない残りの受信装置について、順番にグループ番号（Ｎ−１，Ｎ−２，・・・，２，１，０）を割り当てる。従って、ステップＳ６３とは逆に、各グループ（０，１，２，・・・，Ｎ−１）には、配信能力の低い順に残りの各受信装置２０が割り当てられる。
【００５９】
受信装置２０の残りの総数ＭがＮ−１より大きい場合には、ステップＳ６７からＳ６８に進み、ＭからＮを減算する。
すなわち、グループ番号の割り当てが済んでいない受信装置２０が残っている場合には、処理を続行しステップＳ６３の処理に戻る。
従って、ステップＳ６３及びＳ６６が交互に実行される。このため、各グループに割り当てられた受信装置２０の全体の配信能力にグループ間で大きな差が生じるのを防止できる。
【００６０】
（アルゴリズム(2)）
このアルゴリズムでは、次のようにして各受信装置２０を何れかのグループに割り当てる。
図９のステップＳ６１と同様に、グループ数Ｎを送信装置１０の送信能力によって定まる最大同時配信数に決定する。
【００６１】
各グループに割り当てる受信装置２０の数を均等にする。
同じグループの受信装置間で通信網上の中継点数が少なくなるように割り当てる。
各グループ内で配信能力が最大の受信装置を先頭に配置する。
【００６２】
実際には、それぞれのグループに配信能力の高い受信装置２０を順に１次受信装置として割り当てていく。また、ネットワークのトポロジー情報などに基づいて、同じネットワークに属する受信装置はなるべく同じグループに割り当てる。
すなわち、あるネットワークに属する１つの受信装置２０を１次受信装置として割り当てた場合には、同じネットワークに属する他の受信装置２０は１次受信装置の割り当て対象から除外する。但し、１次受信装置の数がグループ数Ｎに満たなくなった場合には、配信能力の高い残りの受信装置から順に１次受信装置として残りのグループに割り当てる。
【００６３】
また、１次受信装置の割り当てが終了したら、残りの受信装置の中から、１次受信装置との間の距離がネットワーク的に近い順番にそれぞれのグループに対して割り当てていく。
ネットワーク的な距離については、例えばＩＰアドレスのサブネットマスクやドメイン名から類推することができる。また、予めネットワークトポロジーを測定しておき、その情報を所定のデータベースに保持しておけば、トポロジーに基づいてネットワーク的な距離を検出することが可能である。
【００６４】
なお、受信装置間の最短距離を求める方法の詳細については、既に出願してある（特願２００２−２３３２７６号，特願２００２−２６５２８８号）。
同じグループ内で受信装置間の中継点数が少なくなるように割り当てを行うので、グループ内の受信装置間でコンテンツの配信をする場合に、ネットワークにかかる負荷を軽減することができ、配信速度の向上にも役立つ。すなわち、グループ内ではルータなどの中継点を跨ぐことなく受信装置間で通信できる。
【００６５】
（アルゴリズム(3)）
このアルゴリズムでは、図１０に示す処理を実行する。すなわち、グループ数Ｇ（前述のＮに相当する）を計算式を用いて決定する。
ステップＳ７１では、配信対象のコンテンツに基づいて配信コンテンツ容量Ｃを取得する。
【００６６】
ステップＳ７２では、設定ファイルや受信装置情報テーブル３１から送信装置の上り回線速度Ｒｕ，受信装置の上り回線速度Ｌｕ，受信装置の下り回線速度Ｌｄ及び全受信装置数Ｐを取得する。
ステップＳ７３では、取得した値を図１０の計算式（１）に代入し、この関係式を満たすパラメータＴｔｏｔａｌを求める。
【００６７】
ステップＳ７４では、Ｓ７３で求めたパラメータＴｔｏｔａｌを図１０の計算式（２）に代入し、グループ数Ｇを計算する。
ステップＳ７５では、Ｇ個のグループに各受信装置２０を均等に割り当てる。具体的な割り当て処理の内容については、前述のアルゴリズム(1)やアルゴリズム(2)を用いればよい。
【００６８】
宛先グループ化処理部３０は、実際には図１１に示すような処理を実行する。
すなわち、オペレータからの選択入力があった場合、あるいは予め決定されたパラメータの値を入力するとステップＳ８１からＳ８２に進み、前述の複数種類のアルゴリズムの中から何れか１つを選択する。
ステップＳ８３では、選択されたアルゴリズムに従って、グループ数Ｎ（Ｇ）を決定し、各受信装置２０を何れかのグループに均等に割り当てる。
【００６９】
この後で、実際にコンテンツの配信が開始される。コンテンツの配信を行っている間には、宛先グループ化処理部３０はステップＳ８４以降の処理を繰り返し実行する。
後述するように、各受信装置２０はコンテンツの受信を完了すると所定のイベント情報を宛先グループ化処理部３０に入力する。このイベント情報によって、宛先グループ化処理部３０は各受信装置２０に対するコンテンツ配信が完了したか未配信かを把握する。また、イベント情報が入力されると、宛先グループ化処理部３０はステップＳ８６でイベント情報の集計を行う。
【００７０】
イベント情報の集計はグループ毎に行われるので、グループ毎にコンテンツ配信の進捗状況を把握することができる。そこで、ステップＳ８７ではコンテンツ配信の進捗状況に関するグループ間の格差を検出する。例えば、１番目のグループにおける未配信の受信装置数と、２番目のグループにおける未配信の受信装置数との差を検出すればよい。
【００７１】
宛先グループ化処理部３０は各グループにおける受信装置２０の配信能力が均等になるようにグループの割り当てを実施するので、通常はグループ間の格差は小さい。しかし、ネットワーク上の負荷が変動するとグループ間の格差が大きくなる可能性がある。
そこで、グループ間の格差が２以上になると、ステップＳ８８からＳ８９に進む。ステップＳ８９では、未配信の受信装置についてグループの割り当てを変更する。
【００７２】
例えば、１番目のグループにおける未配信の受信装置数が３で、２番目のグループにおける未配信の受信装置数が１の場合には、１番目のグループに属している１つの未配信受信装置を１番目のグループから２番目のグループに割り当て直す。その結果、１番目のグループにおける未配信の受信装置数が２になり、２番目のグループにおける未配信の受信装置数が２になるので、グループ間の格差が解消され、コンテンツの配信が全てのグループについてほぼ同時に完了することになる。
【００７３】
図１の通信システムにおける実際のコンテンツ配信は、図１及び図６に示すような手順で実行される。
送信装置１０においてコンテンツ配信が命令されると、図６のステップＳ３１で配信対象のコンテンツを書庫化する。なお、書庫とは複数のファイルから成り立つコンテンツを、１つのファイルに連結し、かつ所定のファイル圧縮方法を用いて圧縮したものである。
【００７４】
書庫化を終えた送信装置１０は、次のステップＳ３２（図１のＳ１１）で送信すべきコンテンツの宛先となる受信装置２０を宛先グループ化処理部３０に問い合わせる。この場合、送信装置１０はコンテンツ名，コンテンツバージョン及び自分のアドレス情報を引数にして問い合わせを行う。
宛先グループ化処理部３０は、送信装置１０からの転送先に関する問い合わせを受けると、まずコンテンツ名及びコンテンツバージョンを参照し、そのコンテンツを配信するためのグループの割り当てが既に行われているか否かを確認する。もしも、各受信装置２０に対するグループの割り当てが済んでいなければ、この時点で図１１のステップＳ８３と同じ処理を実行し、各受信装置２０を複数グループの何れかに割り当てる。
【００７５】
また、各受信装置２０に対するグループの割り当てが済んでいた場合であっても、配信対象の受信装置２０の数が増減した場合には、もう一度各受信装置２０に対するグループ割り当てをやり直す。
各受信装置２０に対するグループ割り当てが正常に終了した場合には、各々のグループの先頭に配置された１次受信装置のアドレス情報を図６のステップＳ３３（図１のＳ１２）で送信装置１０に返す。
【００７６】
なお、宛先グループ化処理部３０が各受信装置２０に割り当てたグループに関する情報は、該当するコンテンツ自体が消去されるか、又は宛先グループ化処理部３０のプロセス自体が終了するまで宛先グループ化処理部３０上に保持される。
送信装置１０は、宛先グループ化処理部３０から応答として各グループの１次受信装置に関するアドレスを受け取ると、その受信装置２０に対してコンテンツの配信を実行する。
【００７７】
また、送信装置１０の能力によって定まる最大同時配信数が、宛先グループ化処理部３０から通知された１次受信装置の数と比べて余裕がある場合には、送信装置１０は再び宛先グループ化処理部３０に対して配信先となる受信装置２０を宛先グループ化処理部３０に問い合わせる。
【００７８】
この場合、宛先グループ化処理部３０は各グループの先頭に位置する１次受信装置から順番に未配信の受信装置２０の情報を送信装置１０に返す。送信装置１０の宛先グループ化処理部３０に対する問い合わせは、配信数が最大同時配信数に達するまで繰り返され、宛先グループ化処理部３０が返したそれぞれの未配信受信装置について、逐次コンテンツの配信を開始する。
【００７９】
また、１つの受信装置２０に対するコンテンツの配信が完了して余裕ができた場合にも、次の未配信受信装置に関する問い合わせを行い、未配信の受信装置がなくなるまで同じ処理が繰り返される。
実際にコンテンツを配信する場合には、送信装置１０は該当するコンテンツに関するコンテンツ更新通知をステップＳ３４で宛先の受信装置２０に送信する。受信装置２０は、送信装置１０からのコンテンツ更新通知を受け取ると、ステップＳ３５で応答メッセージを返し、更にステップＳ３６でコンテンツダウンロード要求を送信装置１０に送信する。
【００８０】
送信装置１０は、受信装置２０からのコンテンツダウンロード要求に従って、該当する書庫化されたコンテンツの送信を開始する。
受信装置２０は、コンテンツの受信を完了すると、受信が完了したことを表すイベント情報を生成してこれを図１のステップＳ１４で宛先グループ化処理部３０に送信する。
【００８１】
このイベント情報により、それを送信した受信装置２０が未配信でなくなったことを把握できる。実際には、宛先グループ化処理部３０はイベント情報を受け取ると、配信用データベースにアクセスし、イベント情報の送信元の受信装置２０について、配信済みの印を付ける。
コンテンツの配信を実施するのは送信装置１０だけではない。すなわち、既にコンテンツを受信した受信装置２０も送信装置１０の代わりにコンテンツの配信を実施する。
【００８２】
図６において、コンテンツを受信した受信装置(1)は、受信したコンテンツの書庫を自分自身の記憶装置上に展開する（Ｓ４０）と同時に、自分が配信すべき宛先（転送先）となる他の受信装置２０（同じグループに属するもの）を宛先グループ化処理部３０に問い合わせる（Ｓ３８）。
宛先グループ化処理部３０は、宛先に関する問い合わせの要求元が受信装置２０であった場合には、その受信装置２０が属しているグループと同じグループ内で未配信の受信装置２０を検索し、１つの未配信の受信装置２０に関する情報を要求元の受信装置２０に返す（Ｓ３９）。
【００８３】
宛先グループ化処理部３０があるグループ内で未配信の受信装置２０を検索した際に、未配信の受信装置２０が既に存在しなければ、宛先グループ化処理部３０は要求元の受信装置２０に対して０（ＮＵＬＬ）を返し、該当するグループにおける配信処理を終了する。
但し、他のグループ内に未配信の受信装置２０がまだ存在する場合には、未配信の受信装置２０の中で最も配信能力の小さい受信装置２０を選び、それを全ての配信が終了したグループに異動させ、その未配信受信装置を宛先として要求元の受信装置２０に返す。
【００８４】
コンテンツの受信を終了した受信装置２０においては、受信したコンテンツの書庫の解凍をステップＳ４１で終了すると、ステップＳ４５で配信終了通知を送信装置１０に送信する。これに対して、送信装置１０はステップＳ４６で応答メッセージを返す。
具体的なコンテンツの配信動作例について、図４を参照しながら説明する。この例では、１２台の受信装置２０を２つのグループ（１，２）に分けた場合を想定している。
【００８５】
また、送信装置１０は同時に２台までの受信装置２０に対して同時にコンテンツを配信することができ、受信装置２０は同時に１つの他の受信装置２０に対してのみコンテンツを配信できる場合を想定している。
もしも、コンテンツの配信を送信装置１０単独で行おうとすると、６回のコンテンツ配信処理を繰り返さなければ１２台全ての受信装置２０に対して配信を完了することができない。
【００８６】
しかし、この例ではコンテンツを受信した受信装置２０も未配信の他の受信装置２０に対してコンテンツを配信するので、図４に示すように、送信装置１０が３回の配信動作を繰り返す間に、１２台全ての受信装置２０に対して配信を終了することかできる。
なお、送信装置１０，受信装置２０及び宛先グループ化処理部３０に必要とされる各機能については、専用のハードウェアで実現することもできるし、プログラムを実行するコンピュータにより実現することもできる。また、プログラムはＣＤ−ＲＯＭなどの記録媒体からコンピュータに読み込むこともできる。
【００８７】
【発明の効果】
以上のように、本発明によれば大量の受信装置に対してコンテンツを配信しようとする場合に、効率的に配信を行うことができる。
【図面の簡単な説明】
【図１】通信システムの動作例を示すシーケンス図である。
【図２】受信装置情報テーブルの具体例を示す模式図である。
【図３】通信システムの構成例を示すブロック図である。
【図４】通信システムの動作例を示すブロック図である。
【図５】受信装置状態情報テーブルの構成例を示す模式図である。
【図６】通信システムの動作例を示すシーケンス図である。
【図７】コンテンツ毎の配信設定ファイルの構成を示す模式図である。
【図８】システム全体で共通の配信設定ファイルの構成を示す模式図である。
【図９】宛先グループ化処理部の動作例（１）を示すフローチャートである。
【図１０】宛先グループ化処理部の動作例（２）を示すフローチャートである。
【図１１】宛先グループ化処理部の動作例（３）を示すフローチャートである。
【符号の説明】
１０  送信装置
１１  書庫化ファイル生成部
１２  書庫化ファイル送信部
１３  コンテンツ記憶部
１４  配信制御用ＤＢ
２０  受信装置
２１  書庫化ファイル展開部
２２  書庫化ファイル送受信部
２３  コンテンツ記憶部
３０  宛先グループ化処理部
３１  受信装置情報テーブル
３２  受信装置状態情報テーブル
３５  ＩＰネットワーク
【図１】
2004199578.tif 000007
【図２】
2004199578.tif 000008
【図３】
2004199578.tif 000009
【図４】
2004199578.tif 000010
【図５】
2004199578.tif 000011
【図６】
2004199578.tif 000012
【図７】
2004199578.tif 000013
【図８】
2004199578.tif 000014
【図９】
2004199578.tif 000015
【図１０】
2004199578.tif 000016
【図１１】
2004199578.tif 000017