(57)【要約】【課題】  １つの端末装置またはコンテンツサーバーに、コンテンツ送信処理が集中することを防止するコンテンツ配信方法を提供すること。【解決手段】  コンテンツ配信システムは、センターサーバーと、センターサーバーに接続可能な複数の端末装置とを含む。センターサーバーは、コンテンツが複数に分割された部分コンテンツのうち、端末装置が格納する部分コンテンツに隣接する部分コンテンツを特定し、特定した部分コンテンツを格納する他の端末装置を特定し、特定した他の端末装置に、特定した部分コンテンツを端末装置に送信するよう指示する。他の端末装置は、センターサーバーによって特定された部分コンテンツを端末装置に送信し、端末装置は、他の端末装置から部分コンテンツを受信し、格納する。【選択図】図７
2006099723.tif 000002
【特許請求の範囲】
【請求項１】
センターサーバーと該センターサーバーに接続可能な複数の端末装置とを備え、
該センターサーバーが、コンテンツが複数に分割された部分コンテンツのうち、該端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定する手段と、
該特定した部分コンテンツを格納する他の端末装置を特定する手段とを含み、
該端末装置が、該特定された他の端末装置から該特定された部分コンテンツを受信し、格納する手段を含む、コンテンツ配信システム。
【請求項２】
前記複数の端末装置が接続可能なコンテンツサーバーをさらに備え、
該コンテンツサーバーが、コンテンツが複数に分割された前記部分コンテンツを格納する手段と、
該部分コンテンツの各々を、それぞれ異なる該端末装置に送信する手段とを含み、
該端末装置が、該コンテンツサーバーから送信された部分コンテンツを格納する手段を含む、請求項１に記載のコンテンツ配信システム。
【請求項３】
複数の端末装置が接続可能であり、
コンテンツが複数に分割された部分コンテンツのうち、該端末装置が受信すべき部分コンテンツとして、該端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定する手段と、
該端末装置に該特定した部分コンテンツを送信する他の端末装置として、該特定した部分コンテンツを格納する他の端末装置を特定する手段とを含む、センターサーバー。
【請求項４】
前記端末装置の各々から動作状態情報を受信し、管理する手段をさらに含み、
前記他の端末装置を特定する手段が、該端末装置の動作状態情報に基づいて、該他の端末装置を特定する、請求項３に記載のセンターサーバー。
【請求項５】
前記他の端末装置を特定する手段が、該特定した他の端末装置が複数ある場合に、前記端末装置と該他の端末装置との間の伝送効率に基づいて、該他の端末装置をさらに特定する、請求項３または４に記載のセンターサーバー。
【請求項６】
前記各端末装置毎に、該端末装置が未だ格納していない前側の部分コンテンツの数を示す前側残り数と、該端末装置が未だ格納していない後側の部分コンテンツの数を示す後側残り数との差分値を記憶する手段をさらに備え、
前記部分コンテンツを特定する手段が、全端末装置の該差分値の合計に基づいて、前記直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する、請求項３〜５のいずれかに記載のセンターサーバー。
【請求項７】
前記部分コンテンツを特定する手段が、前記他の端末装置を特定できない場合に、前記端末装置自身の前記差分値に基づいて、前記直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する、請求項６に記載のセンターサーバー。
【請求項８】
コンテンツを格納するコンテンツサーバーに接続可能であり、
該コンテンツサーバーが接続された通信回線の帯域と、該コンテンツサーバーがコンテンツを送信する転送レートとに基づいて、該コンテンツを分割する分割数を算出する手段と、
該算出した分割数に基づいて、該コンテンツを複数の部分コンテンツに分割するように該コンテンツサーバーに指示する手段と、
該部分コンテンツの各々を該コンテンツサーバーから受信するよう、それぞれ異なる端末装置に指示する手段とをさらに備える、請求項３〜７のいずれかに記載のセンターサーバー。
【請求項９】
コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定し、かつ、該特定した部分コンテンツを格納する他の端末装置を特定するセンターサーバーに接続可能であり、
該複数の部分コンテンツのうち、該センターサーバによって特定された、自身が既に格納する部分コンテンツに隣接する直前または直後の部分コンテンツを、該センターサーバーによって特定された他の端末装置から受信し、格納する受信手段と、
自身が格納する部分コンテンツを他の端末装置に送信する送信手段とを含む、端末装置。
【請求項１０】
コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定するステップと、
該特定された部分コンテンツを格納する他の端末装置を特定するステップと、
該端末装置において、該特定された他の端末装置から該特定された部分コンテンツを受信し、格納するステップとを含む、コンテンツ配信方法。
【請求項１１】
複数の端末装置が接続可能なセンターサーバーの動作方法であり、
コンテンツが複数に分割された部分コンテンツのうち、端末装置が受信すべき部分コンテンツとして、該端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定するステップと、
該端末装置に該特定した部分コンテンツを送信する他の端末装置として、該特定した部分コンテンツを格納する他の端末装置を特定するステップとを含む、センターサーバーの動作方法。
【請求項１２】
コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定し、かつ、該特定した部分コンテンツを格納する他の端末装置を特定するセンターサーバーに接続可能な端末装置の動作方法であり、
コンテンツが複数に分割された部分コンテンツのうち、該センターサーバーによって特定された、自身が既に格納する部分コンテンツに隣接する直前または直後の部分コンテンツを、該センターサーバーによって特定された他の端末装置から受信し、格納するステップと、
自身が格納する部分コンテンツを他の端末装置に送信するステップとを含む、端末装置の動作方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツサーバーに格納されたコンテンツを端末装置に配信するコンテンツ配信システムに関する。
【背景技術】
【０００２】
音楽および／または映像等のコンテンツを、インターネットを介してダウンロードする方法として、サーバークライアント方式およびピアツーピア方式が提案されている。サーバークライアント方式では、コンテンツを格納するサーバーから複数のクライアントにコンテンツを送信する。そのため、クライアントの数が増加すれば、それだけサーバーが一度に送信するコンテンツの容量が増大（負荷が増大）するので、サーバーが接続する通信回線の帯域（回線容量）をきわめて大きくする必要がある。一方、ピアツーピア方式では、各端末装置間でコンテンツを送受信するので、サーバークライアントシステムにおけるサーバーに比べると、端末装置にかかる負荷を軽減することができる。
【０００３】
しかし、ピアツーピア方式では、１つの端末装置に他の端末装置への送信処理が集中する可能性があり、１つの端末装置にかかる負荷をさらに軽減する必要がある。さらに、端末装置が送信するコンテンツの容量が大きい場合には、端末装置がコンテンツ全体を送信し終わるまでに時間がかかる。そのため、端末装置の負荷を減少させるためには、コンテンツ全体を送信し終わるまで、端末装置は他の端末装置からコンテンツを受信、または他の端末装置にコンテンツを送信することができない。
【０００４】
さらに、下記特許文献１には、サーバーの負荷および通信量を軽減するために、複数のサーバーにコンテンツが分散配置されており、コンテンツの動的重要度に基づいてこれらのコンテンツを分割および／または結合して、複数のサーバーに再配置して、端末装置からのアクセスを分散させる方法が記載されている。しかし、この方法においても、１つのサーバーに端末装置への送信処理が集中すると、１つのサーバーにかかる負荷が増大するという問題がある。
【０００５】
さらに、下記特許文献２は、サーバーにアクセスが集中することを防止するために、以下の内容を記載する。サーバーＳＶは、送信するファイルを内部でブロック単位に分けて管理し、クライアントＣ１とクライアントＣ２とに送信する。クライアントＣ２に対してはファイルをブロック化した順番で先頭のブロックから順に送信し、クライアントＣ１に対してはブロック化した末尾から逆順に送信する。これにより、クライアントＣ１に送信するブロックとクライアントＣ２に送信するブロックとがなるべく重複しないように送信する。クライアントＣ１は、１つのブロックの受信を完了すると自己の記憶装置に保存すると共に、直ちにそのブロックをブロック化した末尾から逆順にクライアントＣ２に向けて送信する。同様に、クライアントＣ２は、１つのブロックの受信を完了すると自己の記憶装置に保存すると共に、直ちにそのブロックをブロック化した先頭から逆順にクライアントＣ１に向けて送信する。なお、クライアントＣ１とＣ２との組合せは、クライアントＣ１がサーバーから送信されたリストを参照してクライアント間の転送速度テストや距離の測定等に基づいて決定する。また、サーバーの帯域に余裕がなければ、要求されたファイルの複製を持つクライアントＣ２からファイルの全てがクライアントＣ１に送信される。
【０００６】
しかし、特許文献２においては、クライアント間のブロック送信、およびサーバーからクライアントへのブロック送信のいずれの場合も、ブロックを先頭から順番に送信するか、ブロックを末尾から順番に送信するかをクライアントによって選択しているにすぎない。その結果、３つ以上のクライアントが同時に同じファイルを要求した場合に、クライアントが取得するブロックが重複してしまい、ブロックを送信するサーバーまたはクライアントの送信処理が集中するという問題を有している。また、ブロックを先頭または末尾から順番に送信するので、ブロックを送信し終わるまでに長い時間を要してしまい、その間他のクライアントにブロックを送信すると、クライアントの負荷が増大するという問題を有する。
【０００７】
【特許文献１】特開２００３−２１６５２１号公報
【特許文献２】特開２００４−２４９５４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は上記従来の課題を解決するためになされたものであり、その目的とするところは、１つの端末装置またはコンテンツサーバーに、コンテンツ送信処理が集中することを防止するコンテンツ配信システムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の好ましい実施形態によるコンテンツ配信システムは、センターサーバーと該センターサーバーに接続可能な複数の端末装置とを備える。該センターサーバーは、コンテンツが複数に分割された部分コンテンツのうち、該端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定する手段と、該特定した部分コンテンツを格納する他の端末装置を特定する手段とを含む。該端末装置は、該特定された他の端末装置から該特定された部分コンテンツを受信し、格納する手段を含む。
【００１０】
好ましくは、コンテンツ配信システムは、上記複数の端末装置が接続可能なコンテンツサーバーをさらに備える。該コンテンツサーバーは、コンテンツが複数に分割された前記部分コンテンツを格納する手段と、該部分コンテンツの各々を、それぞれ異なる該端末装置に送信する手段とを含む。該端末装置は、該コンテンツサーバーから送信された部分コンテンツを格納する手段を含む。
【００１１】
本発明の好ましい実施形態によるセンターサーバーは、複数の端末装置が接続可能であり、コンテンツが複数に分割された部分コンテンツのうち、該端末装置が受信すべき部分コンテンツとして、該端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定する手段と、該端末装置に該特定した部分コンテンツを送信する他の端末装置として、該特定した部分コンテンツを格納する他の端末装置を特定する手段とを含む。
【００１２】
好ましくは、センターサーバーは、上記端末装置の各々から動作状態情報を受信し、管理する手段をさらに含む。上記他の端末装置を特定する手段は、該端末装置の動作状態情報に基づいて、該他の端末装置を特定する。
【００１３】
好ましくは、上記他の端末装置を特定する手段は、該特定した他の端末装置が複数ある場合に、上記端末装置と該他の端末装置との間の伝送効率に基づいて、該他の端末装置をさらに特定する。
【００１４】
好ましくは、センターサーバーは、上記各端末装置毎に、該端末装置が未だ格納していない前側の部分コンテンツの数を示す前側残り数と、該端末装置が未だ格納していない後側の部分コンテンツの数を示す後側残り数との差分値を記憶する手段をさらに備える。上記部分コンテンツを特定する手段は、全端末装置の該差分値の合計に基づいて、直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する。
【００１５】
好ましくは、上記部分コンテンツを特定する手段は、上記他の端末装置を特定できない場合に、上記端末装置自身の前記差分値に基づいて、直前の部分コンテンツまたは直後の部分コンテンツのいずれかを特定する。
【００１６】
好ましくは、センターサーバーはコンテンツを格納するコンテンツサーバーに接続可能であり、該コンテンツサーバーが接続された通信回線の帯域と、該コンテンツサーバーがコンテンツを送信する転送レートとに基づいて、該コンテンツを分割する分割数を算出する手段と、該算出した分割数に基づいて、該コンテンツを複数の部分コンテンツに分割するように該コンテンツサーバーに指示する手段と、該部分コンテンツの各々を該コンテンツサーバーから受信するよう、それぞれ異なる端末装置に指示する手段とをさらに備える。
【００１７】
本発明の好ましい実施形態による端末装置は、コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定し、かつ、該特定した部分コンテンツを格納する他の端末装置を特定するセンターサーバーに接続可能であり、該複数の部分コンテンツのうち、該センターサーバによって特定された、自身が既に格納する部分コンテンツに隣接する直前または直後の部分コンテンツを、該センターサーバーによって特定された他の端末装置から受信し、格納する受信手段と、自身が格納する部分コンテンツを他の端末装置に送信する送信手段とを含む。
【００１８】
本発明の好ましい実施形態によるコンテンツ配信方法は、コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定するステップと、該特定された部分コンテンツを格納する他の端末装置を特定するステップと、該端末装置において、該特定された他の端末装置から該特定された部分コンテンツを受信し、格納するステップとを含む。
【００１９】
本発明の別の局面においては、複数の端末装置が接続可能なセンターサーバーの動作方法が提供され得る。この方法は、コンテンツが複数に分割された部分コンテンツのうち、端末装置が受信すべき部分コンテンツとして、該端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定するステップと、該端末装置に該特定した部分コンテンツを送信する他の端末装置として、該特定した部分コンテンツを格納する他の端末装置を特定するステップとを含む。
【００２０】
本発明のさらに別の局面においては、コンテンツが複数に分割された部分コンテンツのうち、端末装置が既に格納する部分コンテンツに隣接する直前および／または直後の部分コンテンツを特定し、かつ、該特定した部分コンテンツを格納する他の端末装置を特定するセンターサーバーに接続可能な端末装置の動作方法が提供され得る。この方法は、コンテンツが複数に分割された部分コンテンツのうち、該センターサーバーによって特定された、自身が既に格納する部分コンテンツに隣接する直前または直後の部分コンテンツを、該センターサーバーによって特定された他の端末装置から受信し、格納するステップと、自身が格納する部分コンテンツを他の端末装置に送信するステップとを含む。
【００２１】
以下、本発明の作用について説明する。
本発明のコンテンツ配信システムにおいては、端末装置はコンテンツサーバーからコンテンツ全体を受信するのではなく、１つの部分コンテンツのみを受信し、その他の部分コンテンツは他の端末装置から受信する。そして、端末装置は、自身が格納する部分コンテンツを他の端末装置に送信する。そのため、コンテンツサーバーに送信処理が集中することがなく、コンテンツサーバーの負荷増大を防止できる。
【００２２】
さらに、端末装置間においても、コンテンツ全体ではなく１つの部分コンテンツを送受信するので、端末装置が部分コンテンツを送信し終わるまでに必要な時間は、コンテンツ全体を送信し終わるまでの時間に比べてはるかに短い。そのため、端末装置は、より短い時間で部分コンテンツの送信を完了した後、自身が他の端末装置から部分コンテンツを受信したり、さらに他の端末装置に部分コンテンツを送信することができる。さらに、端末装置は、自身が格納する部分コンテンツに隣接する部分コンテンツを他の端末装置から受信する。すなわち、端末装置は、自身が格納する最小アドレスを有する部分コンテンツの直前のアドレスを有する部分コンテンツ、または自身が格納する最大アドレスを有する部分コンテンツの直後のアドレスを有する部分コンテンツのうち特定された方を受信して格納する。次に受信すべき部分コンテンツはその都度特定される。つまり、端末装置は先頭または末尾から順番に部分コンテンツを受信しない。そのため、端末装置ごとに、格納済の部分コンテンツに基づいて、次に受信すべき部分コンテンツが異なる。また、受信すべき部分コンテンツ毎に送信元になる端末装置をその都度特定する。その結果、端末装置ごとに、部分コンテンツの送信元になる端末装置が異なる。従って、１つの端末装置に部分コンテンツの送信処理が集中することがなく、１つの端末装置の負荷が増大することを防止できる。
【００２３】
また、センターサーバーが、端末装置が次に受信すべき部分コンテンツおよび端末装置に当該部分コンテンツを送信する他の端末装置を特定する。そして、センターサーバーは、特定した他の端末装置から特定した部分コンテンツを受信するよう端末装置に指示する。そのため、各端末装置は、複数存在する他の端末装置の中から部分コンテンツを送信する端末装置を特定する必要がない。すなわち、各端末装置は、他の端末装置の動作状態情報および格納する部分コンテンツを管理する必要がない。従って、複数存在する端末装置の処理を簡素化することができるので、システム全体の処理を簡素化できる。
【００２４】
好ましくは、部分コンテンツを格納するコンテンツサーバーが各端末装置にそれぞれ異なる部分コンテンツを送信する。各端末装置はそれぞれ異なる部分コンテンツを格納する。そのため、各端末装置が、自身が既に格納する部分コンテンツに隣接する部分コンテンツを他の端末装置から受信する際に、部分コンテンツの送信元になる端末装置がそれぞれ異なる。従って、１つの端末装置に送信処理が集中することをさらに良好に防止できる。
【００２５】
好ましくは、センターサーバーは端末装置の動作状態情報に基づいて部分コンテンツの送信元になる端末装置を特定する。具体的には、動作状態情報が待機中である端末装置を特定する。従って、１つの端末装置に部分コンテンツの送信処理が集中することを防止できる。
【００２６】
好ましくは、センターサーバーは、端末装置間の伝送効率に基づいて、部分コンテンツの送信元になる端末装置を特定する。従って、端末装置間で部分コンテンツが送受信完了するまでの時間を短縮できる。そのため、全ての端末装置が部分コンテンツの全てを格納し終わるまでの時間を短縮できる。
【００２７】
好ましくは、コンテンツは、コンテンツサーバーが接続された通信回線の帯域と、コンテンツサーバーからの実際の転送レートとに基づいて算出された分割数の部分コンテンツに分割されている。そのため、コンテンツサーバーは部分コンテンツの全てを異なる端末装置に一斉に（同時に）送信することができる。従って、部分コンテンツが端末装置に格納されるまでの時間を短縮することができる。
【００２８】
好ましくは、センターサーバーは、端末装置毎に、前側残り数と後側残り数との差分値とを記憶する。差分値は、前側の部分コンテンツと後側の部分コンテンツとのどちらの残り数が多いかを表している。センターサーバーは、全端末装置の差分値の合計を算出する。差分値の合計がプラスの値の場合、センターサーバーは、全端末装置にわたり前側の部分コンテンツの方が残り数が多いと判断し、端末装置が前側の部分コンテンツを他の端末装置から受信することを特定する。一方、差分値の合計がマイナスの値の場合、センターサーバーは、全端末装置にわたり後側の部分コンテンツの方が残り数が多いと判断し、端末装置が後側の部分コンテンツを他の端末装置から受信することを特定する。従って、全端末装置にわたって、前側または後側の一方に偏って部分コンテンツが格納されることを防止できる。
【００２９】
好ましくは、センターサーバーは、部分コンテンツを受信する端末装置の差分値に基づいて、差分値がプラスの値の場合、前側の部分コンテンツを他の端末装置から受信することを特定し、差分値がマイナスの値の場合、後側の部分コンテンツを他の端末装置から受信することを特定する。従って、部分コンテンツを受信する端末装置に関して、前側または後側の一方に偏って部分コンテンツを受信することを防止できる。
【発明の効果】
【００３０】
本発明のコンテンツ配信システムは、端末装置が自身が格納する部分コンテンツに隣接する部分コンテンツを他の端末装置から受信するので、コンテンツサーバーおよび端末装置に送信処理が集中することを防止することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の好ましい実施形態について、図面を参照して具体的に説明するが、本発明はこれらの実施形態には限定されない。図１は、本発明の好ましい実施形態によるコンテンツ配信システム１を説明するブロック図である。コンテンツ配信システム１は、サーバーシステム２および複数の端末装置３（端末装置Ａ〜Ｊ）を備える。サーバーシステム２は、センターサーバー４およびコンテンツサーバー５を含む。センターサーバー４は、端末装置３の動作状態情報および端末装置３が格納する部分コンテンツ（後述）等を管理し、端末装置３に部分コンテンツの送受信を指示するサーバーである。コンテンツサーバー５は、コンテンツが複数に分割された部分（以下、その各部分を部分コンテンツとする）を格納し、端末装置３に部分コンテンツを送信するサーバーである。センターサーバー４とコンテンツサーバー５とは一体であってもよく、別々であってもよい。すなわち、センターサーバー４とコンテンツサーバー５とを１つの事業者が運営してもよく、異なる事業者が運営してもよい。センターサーバー４およびコンテンツサーバー５は、それぞれ通信回線ＹおよびＸを介してインターネット等のＩＰ通信網６に接続されている。センターサーバー４とコンテンツサーバー５とが一体である場合には、通信回線ＸおよびＹは共通である。端末装置３は、通信回線Ｗ（Ｗ１〜Ｗ１０）を介してＩＰ通信網６に接続されている。端末装置３は、コンテンツサーバー５および他の端末装置３から部分コンテンツを受信して格納する。また、端末装置３は、他の端末装置３に部分コンテンツを送信する。コンテンツは、例えば、音楽、映像および／または静止画等を含むが、データ容量の大きい映像に特に好適に採用され得る。
【００３２】
センターサーバー４の構成を図２に示す。センターサーバー４は、コンテンツ管理データベース２１、端末情報データベース２２、端末伝送効率データベース２３、コンテンツ分割数データベース２４およびサーバー伝送効率データベース２５等の各種データベースと、動作管理インターフェース２６と、コンテンツ管理インターフェース２７と、センターサーバーアプリケーション２８と、全体の動作を制御するマイコン２９と、ＲＯＭ、ＲＡＭ等のメモリ２０とを有する。各種データベースおよびセンターサーバーアプリケーション２８は、図示しないハードディスクに格納されている。動作管理インターフェース２６は、端末装置３からの動作状態情報を受信するインターフェースである。コンテンツ管理インターフェース２７は、端末装置３からコンテンツ情報（例えば、タイトル、コンテンツの長さ等）を受信するインターフェースである。センターサーバーアプリケーション２８は、動作管理インターフェース２６より受信した動作状態情報を端末情報データベース２２に登録し、コンテンツ管理インターフェース２７より受信したコンテンツ情報をコンテンツ管理データベース２１および端末情報データベース２２に登録する。さらに、センターサーバーアプリケーション２８は、図５〜図１０に示すセンターサーバーの各種動作を実行する。センターサーバー４は、図示しないコンテンツ情報テーブルをコンテンツ管理データベース２１に格納している。コンテンツ情報テーブルには、部分コンテンツＩＤ（後述）に対応して、コンテンツ情報（例えば、タイトル、コンテンツの長さ等）を管理する。
【００３３】
センターサーバー４は、端末情報データベース２２に表１に示す端末情報テーブルを格納している。端末情報テーブルは、各端末装置３に関する情報をセンターサーバー４が管理するためのテーブルである。
【表１】
2006099723.tif 000003
【００３４】
端末情報テーブルは、端末名と、部分コンテンツＩＤと、通信条件と、端末特定情報と、動作状態情報とを含む。端末名は、各端末装置に付与される名称であり、例えばホスト名である（本例では、簡単のため端末装置Ａ〜Ｊとする）。部分コンテンツＩＤは、各端末装置が既に格納する部分コンテンツの識別番号を表す。例えば、コンテンツＺは８つの部分コンテンツに分割されており、部分コンテンツＩＤとしてＺ１〜Ｚ８が付与されている。端末装置Ａは部分コンテンツＺ２〜Ｚ４を格納し、端末装置Ｂは部分コンテンツＺ１〜Ｚ３を格納していることを表している。通信条件は、端末装置間、あるいはコンテンツサーバーと端末装置との間の伝送効率を決定するための条件であり、例えば、回線種別（ＦＴＴＨ、ＡＤＳＬ）、プロバイダ、通信事業者、地域情報（例えば、都道府県等）である（本例では、通信事業者Ａ〜Ｃとする）。端末特定情報は、端末装置が部分コンテンツを送受信する際に使用される特定情報であり、例えば、ＩＰアドレスである。動作状態情報は、各端末装置の動作状態を表し、例えば、通信可能状態、待機中、通信中等を示すステータス情報を含む。センターサーバー４は、端末装置３が通信可能状態であれば部分コンテンツの受信指示が可能であり、待機中であれば部分コンテンツ送信元として特定可能であり、通信中であれば現在端末装置３が通信中であるので部分コンテンツの受信の指示および部分コンテンツ送信元としての特定が不可能であると判断できる。端末情報テーブルの各値は、最初は何も登録されておらず、各端末装置３から動作状態情報が通知されることによって、端末情報テーブルに登録される。
【００３５】
センターサーバー４は、端末伝送効率データベース２３に表２に示す端末伝送効率テーブルを格納している。
【表２】
2006099723.tif 000004
【００３６】
端末伝送効率テーブルは、端末装置間の伝送効率を表し、ある端末装置に部分コンテンツを送信する端末装置をセンターサーバー４が特定するために使用される。端末伝送効率テーブルは、送信元の通信条件（通信事業者）と、送信先の通信条件（通信事業者）と、送信元から送信先に部分コンテンツを送信する際の伝送効率とを含む。伝送効率は、例えば、送信元から送信先への転送レートの比に基づいて決定され、この値が小さいほど伝送効率が高い。伝送効率が高いほど、部分コンテンツの送信に必要な時間が短い。例えば、通信事業者Ａを使用した端末装置から通信事業者Ｃを使用した端末装置に送信する場合は、通信事業者Ａを使用した端末装置から通信事業者Ｂを使用した端末装置に送信する場合に比べて、送信に必要な時間が長い。
【００３７】
センターサーバー４は、コンテンツ分割数データベース２４に表３に示すコンテンツ分割数テーブルを格納している。
【表３】
2006099723.tif 000005
【００３８】
コンテンツ分割数テーブルは、センターサーバー４が、コンテンツの分割数を管理するテーブルである。センターサーバー４は、コンテンツ分割数テーブルに基づいて、端末装置３が、部分コンテンツの全て（コンテンツ全体）を格納済であるかを判断する。また、センターサーバー４は、コンテンツ分割数テーブルに基づいて、端末装置３が次に格納すべき部分コンテンツが存在するかを判断する。例えば、表３は、コンテンツＺは８つの部分コンテンツに分割されていること（Ｚ１〜Ｚ８で１つのコンテンツＺを構成すること）を示す。
【００３９】
センターサーバー４は、サーバー伝送効率データベース２５に表４に示すサーバー伝送効率テーブルを格納している。
【表４】
2006099723.tif 000006
【００４０】
サーバー伝送効率テーブルは、コンテンツサーバー５から端末装置３への伝送効率を表し、センターサーバー４が、コンテンツサーバー５の部分コンテンツ送信先となる端末装置３を特定するために使用される。サーバー伝送効率テーブルは、送信元（コンテンツサーバー）と、送信先（端末装置）の通信条件（通信事業者）と、送信元から送信先に送信する場合の伝送効率とを含む。伝送効率は、例えば、送信元から送信先への転送レートの比を表しており、この値が小さいほど伝送効率が高い。伝送効率が高いほど、送信に必要な時間が短い。例えば、コンテンツサーバーから通信事業者Ａを使用した端末装置に送信する場合は、通信事業者Ｃを使用した端末装置に送信する場合に比べて、送信に必要な時間が長い。
【００４１】
コンテンツサーバー５の構成を図３に示す。コンテンツサーバー５は、コンテンツストレージデバイス３１と、コンテンツインターフェース３２と、コンテンツサーバーアプリケーション３３と、全体の動作を制御するマイコン３４と、ＲＯＭ、ＲＡＭ等のメモリ３５とを有する。コンテンツストレージデバイス３１およびコンテンツサーバーアプリケーション３３は、図示しないハードディスクによって構成または格納される。コンテンツストレージデバイス３１は、コンテンツを格納し、あるいはコンテンツが後述する所定の分割数で分割された部分コンテンツを格納する。コンテンツインターフェース３２は、外部から受信したコンテンツおよびコンテンツ情報をコンテンツストレージデバイス３１に格納し、端末装置３に部分コンテンツを送信するためのインターフェースである。コンテンツサーバーアプリケーション３３は、センターサーバー４からの指示に基づいて、コンテンツを複数の部分コンテンツに分割し、コンテンツストレージデバイス３１に格納する。さらに、コンテンツサーバーアプリケーション３３は、各部分コンテンツをそれぞれ異なる端末装置３に送信する。
【００４２】
端末装置３の構成を図４に示す。端末装置３は、ダウンローダ４１と、ローカルストレージデバイス４２と、再生アプリケーション４３と、端末アプリケーション４４と、動作通知インターフェース４５と、コンテンツ通知インターフェース４６と、全体の動作を制御するマイコン４７と、ＲＯＭ、ＲＡＭ等のメモリ４８とを有する。ダウンローダ４１は、コンテンツサーバー５または他の端末装置３から部分コンテンツを受信する。ローカルストレージデバイス４２は、ハードディスクによって構成され、受信された部分コンテンツおよび部分コンテンツのコンテンツ情報を格納する。再生アプリケーション４３は、ローカルストレージデバイス４２から所望のコンテンツを読み出し、そのコンテンツに基づいて映像、音楽および／または静止画を再生する。端末アプリケーション４４は、自身の動作状態情報を動作通知インターフェース４５を介してセンターサーバー４に通知し、自身が格納した部分コンテンツのコンテンツ情報をコンテンツ通知インターフェース４６を介してセンターサーバー４に通知する。さらに、端末アプリケーション４４は、図６、図７に示す各種処理を実行する。
【００４３】
次に、コンテンツ配信システムの配信方法について図５〜図９のフロチャートを用いて説明する。まず、コンテンツ配信方法の概略について説明する。センターサーバー４は、コンテンツの分割数を算出する。コンテンツサーバー５は、センターサーバー４が算出した分割数に基づいてコンテンツを分割数分の部分コンテンツに分割する（図５）。端末装置３は、自身の動作状態が変化した場合、センターサーバー４に動作状態情報を通知する。センターサーバー４は端末装置３の動作状態情報を受信して管理する。コンテンツサーバー５は、部分コンテンツを端末装置３に送信する（図６）。端末装置３は部分コンテンツを受信して格納し、他の端末装置から自身が格納していない部分コンテンツを受信し、他の端末装置に自身が格納する部分コンテンツを送信する（図７〜図９）。以下、詳細に説明する。
【００４４】
図５は、サーバーシステム２のコンテンツ分割動作を示す。Ｓ５０１において、センターサーバー４は、コンテンツサーバー５が接続されている通信回線Ｘ、すなわちコンテンツサーバー５が部分コンテンツを送信する通信回線Ｘの帯域（回線容量）（bit per second）を設定する。この値は、代表的にはセンターサーバー４の管理者によって入力されるものであるが、センターサーバー４が自動的に設定するようにしても構わない。
【００４５】
Ｓ５０２において、センターサーバー４は、コンテンツサーバー５から端末装置３に部分コンテンツを送信する際の転送レート（bit per second）を設定する。すなわち、コンテンツサーバー５が接続された通信回線Ｘにおける実際の転送レートが設定される。この値は、代表的にはセンターサーバーの管理者によって入力されるものであるが、センターサーバーが自動的に設定するようにしてもよい。
【００４６】
Ｓ５０３において、センターサーバー４は、Ｓ５０１で設定した通信回線Ｘの帯域ａと、Ｓ５０２で設定した転送レートｂとに基づいて、コンテンツの分割数を算出する。具体的には、センターサーバー４は、通信回線Ｘの帯域ａを転送レートｂで除算して、分割数（整数）を算出する。すなわち、コンテンツの分割数Ｐは、Ｐ＝ａ／ｂで表される。例えば、通信回線Ｘの帯域ａが４０Ｍｂｐｓであり、転送レートｂが５Ｍｂｐｓである場合には、コンテンツの分割数Ｐは８となる。
【００４７】
Ｓ５０４において、センターサーバー４は、コンテンツをＳ５０３で算出した分割数で分割した場合に、分割後の部分コンテンツのサイズが、端末装置３が管理できるサイズであるかを判断する。具体的には、センターサーバー４は、コンテンツの全体サイズを確認し、当該コンテンツサイズを分割数で除算し、部分コンテンツ当たりのサイズを算出する。そして、部分コンテンツのサイズが、端末装置３が管理可能なサイズ以上であるかを判断する。端末装置３が管理可能なサイズとは、例えば、３２bitのOS（operating system）が管理可能な１ファイル当たりの最大サイズである。部分コンテンツのサイズが、端末装置が管理可能なサイズ以上である場合には、コンテンツの分割数をＳ５０３で算出した分割数よりも増加させる。例えば、端末装置が管理可能なサイズが２ＧＢであり、コンテンツの分割数が８であるとする。コンテンツのサイズが１２ＧＢである場合には、部分コンテンツのサイズは１．５ＧＢとなり、端末装置の管理可能なサイズ未満であるので、分割数は８に決定される。一方、コンテンツのサイズが３２ＧＢの場合には、部分コンテンツのサイズは４ＧＢとなり、端末装置の管理可能なサイズ以上であるので、センターサーバー４は、部分コンテンツのサイズが端末装置の管理可能なサイズ未満になるように、コンテンツの分割数を増加させ、例えば２０に決定する。
【００４８】
Ｓ５０５において、センターサーバー４は、Ｓ５０３およびＳ５０４で算出した分割数に基づいて、コンテンツを分割するようにコンテンツサーバー５に指示する。具体的には、センターサーバー４はコンテンツサーバー５に、分割するコンテンツのコンテンツＩＤおよび分割数を含む分割コマンドを送信する。コンテンツサーバー５は、センターサーバー４からの分割コマンドに応答して、指示されたコンテンツをコンテンツストレージデバイス３１から読み出し、指示された分割数の部分コンテンツに分割する（代表的には均等のサイズに分割する）。そして、コンテンツサーバー５は、コンテンツストレージデバイス３１に部分コンテンツを格納する（Ｓ５５１）。その際に、コンテンツサーバー５は、各部分コンテンツに部分コンテンツＩＤ（Ｚ１〜Ｚ８）をアドレスの順番に付与する（Ｓ５５２）。Ｓ５５３において、コンテンツサーバー５は、センターサーバー４にコンテンツを分割完了した旨の動作状態情報を通知する（Ｓ５５３）。センターサーバー４は、動作状態情報通知に応答して、例えば、コンテンツＺの分割数８をコンテンツ分割数テーブルに登録する（Ｓ５０６）。
【００４９】
以上のように、コンテンツの分割数は、通信回線Ｘの帯域とコンテンツサーバー５からの実際の転送レートとに基づいて算出されているので、コンテンツサーバー５は部分コンテンツを端末装置３に一斉に送信することができる。例えば、転送レート５Ｍｂｐｓで８つの部分コンテンツを一斉送信しても、通信回線Ｘの帯域４０Ｍｂｐｓを越えないからである。すなわち、コンテンツサーバー５は、通信回線Ｘの帯域について、最大限の分割数でコンテンツを分割して端末装置３に一斉に送信する。そのため、各端末装置３が部分コンテンツを格納し終わるまでの時間が短くなるので、次の端末装置間での部分コンテンツの送受信処理に移行するまでの時間を短縮できる。なお、Ｓ５０４で分割数を増加させた場合には、Ｓ５０３で算出された分割数の部分コンテンツのみを端末装置に一斉に送信する。
【００５０】
図６は、サーバーシステム２から端末装置３に部分コンテンツを送信する動作を説明するフローチャートである。Ｓ６０１〜Ｓ６０４において、部分コンテンツが送信される端末装置３を特定する。具体的には、Ｓ６０１において、センターサーバー４は、コンテンツサーバー５からの伝送効率が最高の通信条件を有する端末装置３を特定する。すなわち、センターサーバー４はサーバー伝送効率テーブルを参照して、コンテンツサーバー５からの伝送効率が最高の通信条件として通信事業者Ｂ（伝送効率：１０）を特定する。センターサーバー４は、端末情報テーブルを参照して、通信条件が通信事業者Ｂである６台の端末装置Ａ，Ｂ，Ｄ，Ｆ，Ｇ，Ｈを特定する。
【００５１】
Ｓ６０２において、図５で算出したコンテンツの分割数がＳ６０１で特定した端末装置の数以下であるかを判断する。本例では、コンテンツの分割数が８であり、特定した端末装置の数６よりも大きいので、Ｓ６０３において、センターサーバー４は、コンテンツサーバー５からの伝送効率が次に高い通信条件を有する端末装置３を特定する。具体的には、センターサーバー４は、コンテンツサーバー５からの伝送効率が次に高い通信条件として通信事業者Ｃ（伝送効率：５０）を特定する。センターサーバー４は、端末情報テーブルを参照して、通信条件が通信事業者Ｃである３台の端末装置Ｃ，Ｅ，Ｊを特定する。Ｓ６０２において、コンテンツの分割数８がＳ６０１およびＳ６０３で特定した端末装置の総数９以下になるので、Ｓ６０４に進む。
【００５２】
Ｓ６０４において、センターサーバー４は、Ｓ６０１およびＳ６０３で特定した９台の端末装置の中から、コンテンツの分割数（８台）の端末装置に絞り込む。具体的には、センターサーバー４は、Ｓ６０３で後から特定した３台の端末装置Ｃ，Ｅ，Ｊの中から、端末情報テーブルの最後段に登録されている端末装置Ｊを除外する。その結果、センターサーバー４は、８台の端末装置Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆ，Ｇ，Ｈを特定する。
【００５３】
Ｓ６０５において、センターサーバー４は各端末装置Ａ〜Ｈに部分コンテンツ受信を指示する。具体的には、センターサーバー４は各端末装置Ａ〜Ｈに、コンテンツサーバー５のＩＰアドレスおよびそれぞれ異なる部分コンテンツの部分コンテンツＩＤを含むコンテンツ受信コマンドを送信する。なお、端末装置と部分コンテンツとの組合せは本例では特に限定されない。端末装置は、部分コンテンツ受信コマンドに応答して（Ｓ６７１）、指示された部分コンテンツをコンテンツサーバー５に要求する（Ｓ６７２）。具体的には、端末装置は部分コンテンツの部分コンテンツＩＤを含むコンテンツ要求コマンドをコンテンツサーバーに送信する。コンテンツサーバー５は、コンテンツ要求コマンドに応答して、端末装置に要求された部分コンテンツを送信する。各端末装置Ａ〜Ｈからほぼ同時に部分コンテンツ要求を受けるので、コンテンツサーバー５は、各端末装置Ａ〜Ｈに対して、それぞれ異なる部分コンテンツＺ１〜Ｚ８を一斉に（ほぼ同時に）送信する。一斉送信することにより、各端末装置Ａ〜Ｈが部分コンテンツを受信し格納し終わるまでの時間を短縮できる。一斉送信できるのは、図５のＳ５０１〜Ｓ５０３において、通信回線Ｘの帯域とセンターサーバー５からの転送レートとに基づいてコンテンツの分割数を決定しているからである。端末装置３は、部分コンテンツを受信し、ローカルストレージデバイス４２に格納し、センターサーバーに動作状態情報（受信完了、待機中）を通知する（Ｓ６７３）。センターサーバー４は、端末装置３から動作状態情報を受信し、端末情報テーブルを更新する（Ｓ６０６）。具体的には、センターサーバー４は、端末情報テーブルの動作状態情報を待機中に更新し、部分コンテンツＩＤ欄に端末装置が格納した部分コンテンツの部分コンテンツＩＤを登録する。
【００５４】
表５は、端末装置３がコンテンツサーバー５から部分コンテンツを受信および格納した後に、更新された端末情報テーブルを示す。
【表５】
2006099723.tif 000007
【００５５】
表５に示すとおり、端末装置Ａ〜Ｈにはそれぞれ異なる部分コンテンツが格納されている。この後、各端末装置は、自身が未だ格納していない部分コンテンツを他の端末装置から受信して格納するが、好ましくは、既に格納済の部分コンテンツに隣接する（直前および／または直後の）部分コンテンツを格納する。端末装置ごとに他の端末装置から受信する部分コンテンツが異なり、他の端末装置に送信する部分コンテンツが異なる。しかも、コンテンツ全体を送信するのではなく、部分コンテンツごとに送信するので、端末装置間での部分コンテンツの送受信が完了するまでの時間が短い。従って、一部の端末装置のみに部分コンテンツの送信処理が集中することがないので、端末装置の負荷を分散し、軽減することができる。例えば、端末装置Ａであれば、部分コンテンツＺ２を端末装置Ｈから受信するか、または部分コンテンツＺ４を端末装置Ｆから受信する。端末装置Ｄであれば、部分コンテンツＺ６を端末装置Ｃから受信するか、または部分コンテンツＺ８を端末装置Ｇから受信する。
【００５６】
図７は、端末装置間の部分コンテンツ送受信を説明するフローチャートである。Ｓ７０１において、端末装置Ａは動作状態情報をセンターサーバー４に通知する。ここでは、端末装置Ａは、待機中が一定時間継続した後に、通信可能状態であることをセンターサーバー４に通知する。部分コンテンツ受信指示をセンターサーバー４に促すためである。Ｓ７３１において、センターサーバー４は、端末装置Ａから動作状態情報を受信して、端末情報テーブルの動作状態情報欄を更新する。Ｓ７３２において、センターサーバー４は、端末装置Ａから受信した動作状態情報が通信可能状態であるかを判断する。動作状態情報が通信可能状態ではなく、例えば通信中である場合には、センターサーバー４は端末装置Ａにコンテンツ受信を指示することなく、次の動作状態情報を受信するまで待機する（Ｓ７３２：ＮＯ）。通信可能状態でない端末装置にコンテンツ受信を指示しないことにより、端末装置の負荷が増大することを防止することができる。本例では、動作状態情報が通信可能状態であるので（Ｓ７３２：ＹＥＳ）、センターサーバー４は端末装置Ａが受信する部分コンテンツおよび端末装置Ａに部分コンテンツを送信する端末装置を特定する部分コンテンツ特定処理を実行する（Ｓ７３３）。
【００５７】
部分コンテンツ特定処理（Ｓ７３３）の詳細を図８に示す。Ｓ８０１において、センターサーバー４は、コンテンツ受信を指示する端末装置Ａを特定して、端末情報テーブルに登録された端末名Ａの欄を照合する。センターサーバー４は、端末装置Ａが格納する部分コンテンツがＺ２〜Ｚ４であると判断する。Ｓ８０２において、センターサーバー４は、端末装置Ａが受信して格納すべき部分コンテンツを特定する。すなわち、端末装置Ａが既に格納する部分コンテンツの直前または直後に隣接する部分コンテンツを特定する。
【００５８】
Ｓ８０２の詳細を図９に示す。Ｓ９０１において、センターサーバー４は、端末装置Ａが格納する部分コンテンツのうち、最小アドレスを有する（部分コンテンツＩＤが最小である）部分コンテンツＺ２を特定する。すなわち、最前の部分コンテンツＺ２を特定する。Ｓ９０２において、センターサーバー４は、部分コンテンツＺ２の直前の部分コンテンツＩＤが付与された部分コンテンツ（部分コンテンツＺ２の直前のアドレスを有する部分コンテンツ）Ｚ１が存在するかをコンテンツ分割数テーブルを参照して判断する。すなわち、コンテンツ分割数テーブルを参照すると、コンテンツＺの分割数が８であり、部分コンテンツＺ１〜Ｚ８が存在するので、センターサーバー４は、Ｓ９０３において、部分コンテンツＺ２の直前の部分コンテンツＩＤが付与された部分コンテンツとして、部分コンテンツＺ１を特定する。
【００５９】
同様にＳ９０４において、センターサーバー４は、端末装置Ａが格納する部分コンテンツのうち、最大アドレスを有する（部分コンテンツＩＤが最大である）部分コンテンツＺ４を特定する。Ｓ９０５において、センターサーバー４は、部分コンテンツＺ４の直後の部分コンテンツＩＤが付与された部分コンテンツ（部分コンテンツＺ４の直後のアドレスを有する部分コンテンツ）Ｚ５が存在するかをコンテンツ分割数テーブルを参照して判断する。すなわち、コンテンツＺの分割数が８であり、部分コンテンツＺ１〜Ｚ８が存在するので、センターサーバー４は、Ｓ９０６において、部分コンテンツＺ４の直後の部分コンテンツＩＤが付与された部分コンテンツとして、部分コンテンツＺ５を特定する。
【００６０】
なお、例えば、端末装置Ａが部分コンテンツＺ３〜Ｚ８を既に格納している場合には、Ｓ９０５において部分コンテンツＺ９は存在しないと判断され、直前の部分コンテンツＺ２のみが特定される。
【００６１】
図８に戻って、Ｓ８０３において、センターサーバー４は、端末装置ＡがコンテンツＺの部分コンテンツＺ１〜Ｚ８を全て格納済であるかを判断する。具体的には、図９において端末装置Ａが格納する部分コンテンツに直前または直後に隣接する部分コンテンツを特定できたかを判断し、特定できなければ全ての部分コンテンツを格納済であると判断する。部分コンテンツの全てを格納していれば（Ｓ８０３：ＹＥＳ）、センターサーバー４は、端末情報テーブルの端末装置Ａの動作状態情報を待機中に更新して（Ｓ８０８）、動作を終了する。本例では、端末装置Ａは部分コンテンツの全てを未だ格納していないので（Ｓ８０３：ＮＯ）、Ｓ８０４に進む。
【００６２】
Ｓ８０４において、センターサーバー４は、Ｓ８０２において特定した部分コンテンツＺ１および／またはＺ５を格納する端末装置を、表１の端末情報テーブルの部分コンテンツＩＤを参照して特定する。本例では、センターサーバー４は、端末装置Ｂが部分コンテンツＺ１を格納し、端末装置Ｃ、ＥおよびＦが部分コンテンツＺ５を格納していると判断する。
【００６３】
Ｓ８０５において、センターサーバー４は、Ｓ８０４で特定した端末装置のうち動作状態情報が待機中のものに限定する。すなわち、端末装置Ａに部分コンテンツを送信する端末装置として、動作状態情報が待機中以外の端末装置を除外する。これは、待機中でない端末装置が部分コンテンツを送信して端末装置の負荷が増大することを防止するためである。具体的には、センターサーバー４は、端末情報テーブルの動作状態情報を参照して、待機中である端末装置Ｂ，ＥおよびＦを特定し、通信中である端末装置Ｃを除外する。
【００６４】
Ｓ８０６において、センターサーバー４は、Ｓ８０５で動作状態情報が待機中である端末装置を特定できたかを判断する。待機中である端末装置を特定できない場合には（Ｓ８０６：ＮＯ）、Ｓ８０８においてセンターサーバー４は、端末装置Ａの動作状態情報を待機中に更新して、終了する。すなわち、センターサーバー４は、端末装置Ａが次に格納すべき部分コンテンツを格納する端末装置の中で、待機中のものがなければ部分コンテンツの送受信を端末装置に指示しない。本例では、待機中である端末装置を特定できるので（Ｓ８０６：ＹＥＳ）、Ｓ８０７に進む。
【００６５】
Ｓ８０７〜Ｓ８１３では、端末装置Ａが受信すべき部分コンテンツＺ１またはＺ５を格納する端末装置が複数存在する場合に、端末装置Ａに部分コンテンツを送信する端末装置を以下の条件に基づいて１つに絞り込む。Ｓ８０７において、部分コンテンツＺ１またはＺ５を格納する端末装置が複数存在するかを判断する。本例では、複数の端末装置Ｂ，Ｅ，Ｆが存在するので、Ｓ８０９に進む。
【００６６】
Ｓ８０９において、センターサーバー４は、端末装置Ａに部分コンテンツを送信する際の伝送効率が最高の端末装置を、端末装置Ａに部分コンテンツを送信する端末装置として特定する。端末装置Ａが部分コンテンツを格納し終わるまでの時間を短縮できるからである。センターサーバー４は、端末伝送効率テーブルおよび端末情報テーブルを参照して、端末装置Ｂ，Ｆ（通信事業者Ｂ）から端末装置Ａ（通信事業者Ｂ）に部分コンテンツを送信する際の伝送効率が、端末装置Ｅ（通信事業者Ｃ）から端末装置Ａに部分コンテンツを送信する際の伝送効率よりも高いと判断する。従って、センターサーバー４は、端末装置Ａに部分コンテンツを送信する端末装置として、端末装置Ｂ，Ｆを特定する。Ｓ８１０において、Ｓ８０７と同様に端末装置Ａに部分コンテンツを送信する端末装置を複数特定しているかを判断する。本例では、複数の端末装置Ｂ，Ｆを特定しているので、Ｓ８１１に進む。
【００６７】
Ｓ８１１において、センターサーバー４は、コンテンツＺについて部分コンテンツ格納数が最大の端末装置を、部分コンテンツを送信する端末装置として特定する。部分コンテンツ格納数の多い端末装置は、今後他の端末装置から部分コンテンツを受信し格納する回数が少ない。そのため、部分コンテンツ格納数の多い端末装置から優先的に部分コンテンツを受信する。逆に部分コンテンツ格納数の少ない端末装置は、可能な限り部分コンテンツの送信元にはならず、部分コンテンツの送信先となる。これにより、全ての端末装置が部分コンテンツ全体を格納し終わるまでの時間を短縮することができる。本例では、センターサーバー４は、端末情報テーブルを参照して、端末装置Ａに部分コンテンツを送信する端末装置として、端末装置Ｆを特定する。Ｓ８１２において、複数の端末装置が特定されていないので、最終的に端末装置Ｆが特定される。
【００６８】
なお、Ｓ８１１で端末装置を特定した結果、複数の端末装置が特定されている場合（Ｓ８１２：ＹＥＳ）、Ｓ８１３において、センターサーバー４は端末情報テーブルの最前段に登録されている（最初に検索される）端末装置を、部分コンテンツを送信する端末装置として特定する。
【００６９】
図７に戻って、Ｓ７３４において、センターサーバー４は、Ｓ７３３で特定した部分コンテンツを受信するように端末装置Ａに指示する。具体的には、センターサーバー４は、受信すべき部分コンテンツの部分コンテンツＩＤ（Ｚ５）、および当該部分コンテンツを送信する端末装置ＦのＩＰアドレスを含む、部分コンテンツ受信コマンドを端末装置Ａに送信する。端末装置Ａは、部分コンテンツ受信コマンドを受信し（Ｓ７０２）、センターサーバー４に動作状態情報（通信中）を通知する（Ｓ７０３）。センターサーバー４は、動作状態情報を受信し、端末情報テーブルの端末装置Ａの動作状態情報を通信可能状態から通信中に更新する（Ｓ７３５）。
【００７０】
Ｓ７０４において、端末装置Ａは、端末装置Ｆに部分コンテンツを要求する。具体的には、端末装置Ａは、受信すべき部分コンテンツの部分コンテンツＩＤ（Ｚ５）を含む部分コンテンツ要求コマンドを端末装置Ｆに送信する。端末装置Ｆは、部分コンテンツ要求コマンドを受信して（Ｓ７５１）、センターサーバー４に動作状態情報（通信中）を通知する（Ｓ７５２）。センターサーバー４は、動作状態情報を受信し、端末情報テーブルの端末装置Ｆの動作状態情報を待機中から通信中に更新する（Ｓ７３６）。端末情報テーブルの端末装置Ａ，Ｆの動作状態情報が通信中になるので、端末装置Ａ，Ｆはセンターサーバー４から他の受信指示が与えられることはない。従って、端末装置Ａ，Ｆの負荷が増大することを防止できる。
【００７１】
Ｓ７５３において、端末装置Ｆは端末装置Ａに部分コンテンツＺ５を送信する。端末装置Ａは端末装置Ｆから部分コンテンツＺ５を受信し、ローカルストレージデバイス４２に格納する（Ｓ７０５）。端末装置Ｆは、端末装置Ａに部分コンテンツＺ５を送信完了すれば、センターサーバー４に動作状態情報（待機中）を通知し（Ｓ７５４）、センターサーバー４は動作状態情報を受信し、端末情報テーブルの端末装置Ｆの動作状態情報を通信中から待機中に更新する（Ｓ７３７）。同様に、端末装置Ａは、端末装置Ｆから部分コンテンツＺ５を受信および格納完了すれば、センターサーバー４に動作状態情報（受信完了，待機中）を通知し（Ｓ７０６）、センターサーバー４は動作状態情報を受信し、端末情報テーブルの端末装置Ａの動作状態情報を通信中から待機中に更新する（Ｓ７３７）。端末情報テーブルの端末装置Ａ，Ｆの動作状態情報が待機中になるので、センターサーバー４は、別の部分コンテンツ特定処理Ｓ７３３において、端末装置Ａ，Ｆを特定できるようになる。また、センターサーバー４は、端末装置Ａからの動作状態情報通知に応答して、端末情報テーブルの部分コンテンツＩＤ欄にＺ５を追加するよう更新する。そのため、端末装置Ａは、次に部分コンテンツＺ１またはＺ６を受信指示されることになる。さらに、端末装置Ａ，Ｆは待機中を所定時間継続した後に、再びセンターサーバー４に動作状態情報（通信可能状態）を通知するので、端末装置Ａ，Ｆは部分コンテンツを他の端末装置からさらに受信し格納することができる。全ての端末装置がこれらの処理を繰り返し、自身が未だ格納していない部分コンテンツを順次格納していくことにより、最終的には全ての端末装置が部分コンテンツの全てを格納することができる。
【００７２】
以上のように、本実施形態では、コンテンツサーバーが部分コンテンツをそれぞれ異なる端末装置に送信した後、端末装置が自身が格納する部分コンテンツの前後の部分コンテンツを他の端末装置から受信し格納する。そのため、コンテンツサーバーおよび１つの端末装置に負荷が集中することを防止できる。さらにセンターサーバーが部分コンテンツを送信する端末装置を端末情報テーブルに基づいて特定しているので、端末装置の負荷をさらに良好に低減できる。
【００７３】
次に、本発明の別の好ましい実施形態について説明するが、前の実施形態と同一部分については説明を省略する。本例では、センターサーバー４は、全端末装置Ａ〜Ｈが格納している部分コンテンツに関して、前側（先頭側、すなわちＺ１側）の部分コンテンツと後側（末尾側、すなわちＺ８側）の部分コンテンツとのどちらがより多く未だ取得されていないかを判断して、より多く取得されていない側の部分コンテンツを端末装置Ａが取得する部分コンテンツとして特定する。これにより、各端末装置が、システム全体に亘って、前側または後側のどちらか一方に偏って、部分コンテンツを取得しないようにすることができる。
【００７４】
本例の端末情報テーブルは表６に示す通り、表１の構成に加えて、前側残り数、後側残り数、および差分値を含んでいる。これらの値は、端末装置から受信してもよく、または、センターサーバー４が端末情報テーブルの部分コンテンツＩＤの欄を基にして算出してもよい。
【表６】
2006099723.tif 000008
【００７５】
前側残り数は、端末装置が未だ格納していない部分コンテンツのうち、前側（先頭側、部分コンテンツＺ１側）の部分コンテンツの個数である。後側残り数は、端末装置が未だ格納していない部分コンテンツのうち、後側（末尾側、部分コンテンツＺ８側）の部分コンテンツの個数である。差分値は、未だ格納していない部分コンテンツのうち、前側または後側のどちらが多く残っているかを表すものであり、「差分値」＝「前側残り数」−「後側残り数」で表される。差分値がプラスの値であるとき、未だ格納していない部分コンテンツのうち、前側の部分コンテンツの残り数が後側の部分コンテンツの残り数より多いことを表す。一方、差分値がマイナスの値であるとき、未だ格納していない部分コンテンツのうち、後側の部分コンテンツの残り数が前側の部分コンテンツの残り数より多いことを表す。例えば、端末装置Ａは、部分コンテンツＺ２〜Ｚ４を有しているので、前側残り数は１、後側残り数は４、差分値は−３となる。
【００７６】
次に、本例の動作を図１０のフローチャートを参照して説明する。図８と同一処理には同一符号を付し、説明を省略する。図１０では、Ｓ１００１〜Ｓ１００６の処理が追加されている。Ｓ８０７において、センターサーバー４は、部分コンテンツＺ１またはＺ５を格納する端末装置として、複数の端末装置Ｂ，Ｅ，Ｆを特定するので、Ｓ１００１に進む。センターサーバー４は、全端末装置Ａ〜Ｈの差分値の合計を算出して、当該値に基づいて、端末装置Ａに部分コンテンツを送信する端末装置を絞り込む（Ｓ１００１）。具体的には、全端末装置の差分値の合計がプラスの値であれば、センターサーバー４は、端末装置Ａ〜Ｈ全体にわたり、前側の部分コンテンツの残り数が後側の部分コンテンツの残り数より多いと判断する。その結果、センターサーバー４は、端末装置Ａが前側の部分コンテンツであるＺ１を格納すべきと判断し、かつ、部分コンテンツＺ１を格納する端末装置を端末装置Ｂ、Ｅ、Ｆの中から特定する。一方、差分値の合計がマイナスの値であれば、センターサーバー４は、端末装置Ａ〜Ｈ全体にわたり、後側の部分コンテンツの残りが前側の部分コンテンツの残り数より多いと判断する。その結果、センターサーバー４は、端末装置Ａが後側の部分コンテンツであるＺ５を格納すべきと判断し、かつ、部分コンテンツＺ５を格納する端末装置を端末装置Ｂ、Ｅ、Ｆの中から特定する。本例では、差分値の合計が４であるので、前側の部分コンテンツＺ１を格納する端末装置Ｂを特定する。Ｓ１００２において、センターサーバー４は端末装置を特定できたと判断し（Ｓ１００２：ＹＥＳ）、複数の端末装置を特定していないと判断するので（Ｓ１００３：ＮＯ）、端末装置Ｂから端末装置Ａに部分コンテンツＺ１を送信することを特定する。なお、センターサーバー４は、複数の端末装置を特定している場合（Ｓ１００３：ＹＥＳ）、Ｓ８０９に進み、端末装置をさらに絞り込む。
【００７７】
一方、例えば、部分コンテンツＺ１を格納する端末装置が存在せず、Ｓ１００２で端末装置を特定できなかったと判断されると、センターサーバー４は、Ｓ８０１で特定した端末装置Ａ自身の差分値に基づいて、端末装置Ａに部分コンテンツを送信する端末装置を特定する（Ｓ１００４）。具体的には、端末装置Ａの差分値がプラスの値であれば、センターサーバー４は、端末装置Ａについて、前側の部分コンテンツの残り数が後側の部分コンテンツの残り数より多いと判断する。その結果、センターサーバー４は、端末装置Ａが前側の部分コンテンツであるＺ１を格納すべきと判断し、かつ、部分コンテンツＺ１を格納する端末装置を端末装置Ｂ、Ｅ、Ｆの中から特定する。一方、端末装置Ａの差分値がマイナスの値であれば、センターサーバー４は、端末装置Ａについて、後側の部分コンテンツの残り数が前側の部分コンテンツの残り数より多いと判断する。その結果、センターサーバー４は、端末装置Ａが後側の部分コンテンツであるＺ５を格納すべきと判断し、かつ、部分コンテンツＺ５を格納する端末装置を端末装置Ｂ、Ｅ、Ｆの中から特定する。本例では、差分値が−３であるので、後側の部分コンテンツＺ５を格納する端末装置Ｅ，Ｆを特定する。センターサーバー４は、端末装置を特定できたと判断し（Ｓ１００５：ＹＥＳ）、複数の端末装置を特定したと判断する（Ｓ１００６：ＹＥＳ）ので、Ｓ８０９に進み、端末装置をさらに絞り込む。なお、Ｓ１００６で１つの端末装置しか特定していないと判断されると、センターサーバー４は、その端末装置を端末装置Ａに部分コンテンツを送信する端末装置として特定する。さらに、Ｓ１００４での処理の結果、端末装置を特定できなかったと判断されると（Ｓ１００５：ＮＯ）、Ｓ８０８に進み、端末装置Ａの動作状態を待機中に更新し、処理を終了する。
【００７８】
以上のように、本実施形態では、まず、全端末装置にわたり、前側の部分コンテンツまたは後側の部分コンテンツのうち、どちらの残り数が多いかを判断して、残り数が多い側の部分コンテンツを優先的に端末装置に格納させるようにしている。そのため、全端末装置にわたり、前側または後側のどちらか一方に偏って部分コンテンツが格納されることを防止できる。例えば、全端末装置にわたり、後側の部分コンテンツばかりが偏って格納されている場合、各端末装置が前側の部分コンテンツを取得する時期が重なってしまい、かつ、前側の部分コンテンツを格納する端末装置が少ないので、前側の部分コンテンツを格納する端末装置の送信処理が集中するという問題があるが、本例ではそのような問題を解決できる。次に、全端末装置の差分値に基づいて端末装置を特定できない場合、端末装置Ａ自身について、前側または後側の部分コンテンツのうち、残り数が多い側の部分コンテンツを優先的に格納させるようにしている。従って、端末装置Ａが前側または後側の一方に偏って部分コンテンツを格納することを防止できる。全ての端末装置についてこの処理を実行することによって、全端末装置にわたり、前側または後側のいずれか一方に偏って部分コンテンツが格納されることを防止できる。
【００７９】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態には限定されない。例えば、Ｓ８１１において、部分コンテンツ格納数が最小である端末装置を特定してもよい。部分コンテンツ格納数の少ない端末装置は、格納する部分コンテンツの種類が少ないので、他の端末装置にコンテンツを送信する可能性が低い。逆に部分コンテンツ格納数の多い端末装置は、他の端末装置に部分コンテンツを送信する機会が多い。従って、部分コンテンツ格納数の多い端末装置は、他の端末装置が部分コンテンツを取得可能であるように、待機状態としておく。これにより、できるだけ多くの端末装置が他の端末装置から同時にコンテンツを受信できるので、全て端末装置にコンテンツ全体が格納されるまでの時間を短縮することができる。さらに、本例では、センターサーバーが端末装置Ａに部分コンテンツを受信するように指示しているが、端末装置Ｆに部分コンテンツを送信するように指示して、端末装置Ｆが強制的に部分コンテンツを端末装置Ａに送信してもよい。なお、上述した動作をコンピュータに実行させるためのプログラムが提供され、これらプログラムが記録された記録媒体が提供され得る。
【産業上の利用可能性】
【００８０】
本発明は、端末装置を各ユーザーの家庭内に配置し、事業者が運営するセンターサーバーおよびコンテンツサーバーから各端末装置にコンテンツを配信するコンテンツ配信事業に好適に適用され得る。
【図面の簡単な説明】
【００８１】
【図１】本発明の好ましい実施形態によるコンテンツ配信システムを示すブロック図である。
【図２】本発明の好ましい実施形態によるセンターサーバーを示すブロック図である。
【図３】本発明の好ましい実施形態によるコンテンツサーバーを示すブロック図である。
【図４】本発明の好ましい実施形態による端末装置を示すブロック図である。
【図５】コンテンツ分割処理を示すフローチャートである。
【図６】コンテンツサーバーから端末装置に部分コンテンツを送信する動作を示すフローチャートである。
【図７】端末装置間の部分コンテンツ送受信を示すフローチャートである。
【図８】部分コンテンツ特定処理を示すフローチャートである。
【図９】端末装置が受信すべき部分コンテンツ特定処理を示すフローチャートである。
【図１０】別の実施形態による部分コンテンツ特定処理を示すフローチャートである。
【符号の説明】
【００８２】
１        コンテンツ配信システム
３        端末装置
４        センターサーバー
５        コンテンツサーバー
【図１】
2006099723.tif 000009
【図２】
2006099723.tif 000010
【図３】
2006099723.tif 000011
【図４】
2006099723.tif 000012
【図５】
2006099723.tif 000013
【図６】
2006099723.tif 000014
【図７】
2006099723.tif 000015
【図８】
2006099723.tif 000016
【図９】
2006099723.tif 000017
【図１０】
2006099723.tif 000018