(57)【要約】【課題】ユーザネットの各端末装置のストレージを有効に活用すると共に、コンテンツファイルの改竄確認の時間を短縮し、分散プールの各配信サーバにおけるファイル管理を容易に行なうことができる情報配信システムを提供する。【解決手段】ユーザネット９ａの端末装置間で送受信される第１のコンテンツファイルのデータサイズを、分散プール９ｂの配信サーバに保持される第２のコンテンツファイルのデータサイズよりも小さくし、端末装置が他の端末装置から第１のコンテンツファイルを取得できないとき、配信サーバから第１のコンテンツファイル又は第２のコンテンツファイルを取得可能とした。【選択図】図８
2010004221.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを分割した分割コンテンツデータを、第１のコンテンツファイルとして分散保持する複数の端末装置と、
前記コンテンツデータ又は当該コンテンツデータを分割した分割コンテンツデータを、第２のコンテンツファイルとして分散保持する複数の配信サーバと、を備え、
前記端末装置は、
他の複数の前記端末装置からネットワークを介して複数の前記第１のコンテンツファイルを取得する第１取得手段と、
前記他の端末装置から取得できない第１のコンテンツファイル又は当該第１のコンテンツファイルに対応する第２のコンテンツファイルをネットワークを介して前記配信サーバから取得する第２取得手段と、
前記第１取得手段又は前記第２取得手段で取得したコンテンツファイルに基づいて前記コンテンツデータを再生する再生手段と、を備え、
前記端末装置が保持する前記第１のコンテンツファイルのデータサイズを、前記配信サーバが保持する前記第２のコンテンツファイルのデータサイズよりも小さくしたことを特徴とする情報配信システム。
【請求項２】
前記配信サーバは、
前記第１のコンテンツファイルと前記第２のコンテンツファイルの対応関係を定義した対応情報を記憶する対応情報記憶手段と、
前記対応情報記憶手段に記憶した対応情報に基づき、前記端末装置から要求された第１のコンテンツファイルを、当該第１のコンテンツファイルに対応する前記第２のコンテンツファイルから抽出して送信するコンテンツ送信手段と、を備え、
前記端末装置の前記第２取得手段は、
前記他の端末装置から取得できない前記第１のコンテンツファイルを前記配信サーバへ要求し、当該要求した前記第１のコンテンツファイルを前記配信サーバから取得する
ことを特徴とする請求項１に記載の情報配信システム。
【請求項３】
前記配信サーバは、
前記端末装置が要求した第２のコンテンツファイルを送信するコンテンツ送信手段を備え、
前記端末装置は、
前記第１のコンテンツファイルと前記第２のコンテンツファイルの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、
前記端末装置の前記第２取得手段は、前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から取得できない前記第１のコンテンツファイルに対応する第２のコンテンツファイルを前記配信サーバから取得し、前記他の端末装置から取得できない第１のコンテンツファイルを前記取得した第２のコンテンツファイルから抽出して保持する
ことを特徴とする請求項１に記載の情報配信システム。
【請求項４】
前記端末装置は、
前記第１のコンテンツファイルと前記第２のコンテンツファイルとの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、
前記端末装置の前記第２取得手段は、
前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から取得できない第１のコンテンツファイルに対応する第２のコンテンツファイルのデータ領域を指定して前記第１のコンテンツファイルの送信を前記配信サーバへ要求し、
前記配信サーバは、前記端末装置が要求した第２のコンテンツファイルのデータから第１のコンテンツファイルを抽出して、当該第１のコンテンツファイルを送信するコンテンツ送信手段を備えた
ことを特徴とする請求項１に記載の情報配信システム。
【請求項５】
前記端末装置は、
前記第１のコンテンツファイルと前記第２のコンテンツファイルとの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、
前記端末装置の前記第２取得手段は、
前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から一部が取得できない第１のコンテンツファイルに対応する第２のコンテンツファイルのデータ領域を指定して前記第１のコンテンツファイルの一部のデータの送信を前記配信サーバへ要求し、
前記配信サーバは、前記端末装置が要求した第２のコンテンツファイルのデータから第１のコンテンツファイルの一部を抽出して、前記端末装置が指定したデータ領域のデータを送信するコンテンツ送信手段を備えた
ことを特徴とする請求項１に記載の情報配信システム。
【請求項６】
前記配信サーバは、
前記第２のコンテンツファイルを保持するコンテンツ記憶手段と、
前記端末装置から要求された第２のコンテンツファイル又は第１のコンテンツファイルに対応する第２のコンテンツファイルが前記コンテンツ記憶手段にないとき、自装置或いは前記要求した端末装置を宛先として前記第２のコンテンツファイル又は当該第２のコンテンツファイルに対応する第１のコンテンツファイルの送信を行なうように、他の前記配信サーバに対して要求するコンテンツ送信要求手段と、を備えた
ことを特徴とする請求項１〜５のいずれか１項に記載の情報配信システム。
【請求項７】
前記配信サーバは、
前記第２のコンテンツファイルを保持するコンテンツ記憶手段と、
前記端末装置から要求された第２のコンテンツファイル又は第１のコンテンツファイルに対応する第２のコンテンツファイルが前記コンテンツ記憶手段にないとき、当該第２のコンテンツファイルを他の前記配信サーバから取得し、当該取得した第２のコンテンツファイルを要求元の端末装置へ送信するコンテンツ送信手段と、を備えた
ことを特徴とする請求項１〜５のいずれか１項に記載の情報配信システム。
【請求項８】
前記第２のコンテンツファイルを前記配信サーバへ送信する第１投入手段と、前記第１のコンテンツファイルの保持を前記複数の端末装置へ要求する第２投入手段と、を有する投入サーバを備え、
前記端末装置は、
前記投入サーバから前記第１のコンテンツファイルの保持要求があったとき、当該保持要求にかかる第１のコンテンツファイルを前記配信サーバから取得する第３取得手段と、
前記配信サーバ及び他の前記端末装置から取得した第１のコンテンツファイルを記憶するコンテンツ記憶手段と、
他の前記端末装置からの要求に応じて、前記コンテンツ記憶手段に記憶した前記第１のコンテンツファイルを送信するコンテンツ送信手段と、を備えた
ことを特徴とする請求項１〜７のいずれか１項に記載の情報配信システム。
【請求項９】
前記第２のコンテンツファイルを前記配信サーバへ送信する第１投入手段と、前記コンテンツデータ又は前記第２のコンテンツファイルを分割して前記第１のコンテンツファイルを生成し当該第１のコンテンツファイルを前記端末装置へ送信する第２投入手段と、を有する投入サーバを備え、
前記端末装置は、
前記投入サーバ、配信サーバ及び他の前記端末装置から取得した第１のコンテンツファイルを記憶するコンテンツ記憶手段と、
他の前記端末装置からの要求に応じて、前記コンテンツ記憶手段に記憶した前記第１のコンテンツファイルを送信するコンテンツ送信手段と、を備えた
ことを特徴とする請求項１〜７のいずれか１項に記載の情報配信システム。
【請求項１０】
請求項１〜９のいずれか１項に記載の情報配信システムにおける端末装置。
【請求項１１】
請求項２〜９のいずれか１項に記載の情報配信システムにおける配信サーバ。
【請求項１２】
請求項８又は請求項９に記載の情報配信システムにおける投入サーバ。
【請求項１３】
コンピュータを、請求項１〜９のいずれか１項に記載の情報配信システムにおける端末装置の各手段として機能させることを特徴とするプログラム。
【請求項１４】
コンピュータを、請求項２〜９のいずれか１項に記載の情報配信システムにおける配信サーバの各手段として機能させることを特徴とするプログラム。
【請求項１５】
コンピュータを、請求項８又は請求項９に記載の情報配信システムにおける投入サーバの各手段として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音楽データ、映画データ及び文書データなどのコンテンツを端末装置へ配信する情報配信システム、同情報配信システムにおける端末装置、配信サーバ及び投入サーバ並びにそのプログラムに関する。
【背景技術】
【０００２】
従来より、複数の端末装置をインターネット等の情報通信回線を介して接続して、端末装置間で双方向での情報通信が可能なオーバーレイネットワークを構築すると共に、各端末装置内のストレージ（記憶手段）に、それぞれ様々なコンテンツデータを記憶させておくことにより、複数の端末装置のストレージ群からなる巨大なストレージを仮想的に構築した情報配信システムが知られている（たとえば、特許文献１参照。）。
【０００３】
この種の情報配信システムにおいて、当該システムに投入された全てのコンテンツデータを配信可能に保障するためには、各コンテンツデータが当該情報配信システムに参加している少なくとも１台の端末装置内に記憶されている必要がある。
【０００４】
しかし、上記のように、この情報配信システムでは、仮想ストレージが複数の端末装置のストレージ群により構成されていたため、任意の端末装置が任意のタイミングで当該情報配信システムのネットワークから脱退した場合、脱退した端末装置にしか記憶されていないコンテンツデータがあると、当該情報配信システムに投入された全てのコンテンツデータを完全に保障することができなくなるという問題があった。
【０００５】
そこで、端末装置による分散ストレージとは別に、情報配信システムに投入した全てのコンテンツデータを記憶し、端末装置からの要求に応じてコンテンツデータを配信可能な配信サーバを設けた情報配信システムが考案されている。
【０００６】
しかし、このように、１台の配信サーバで情報配信システムに投入する全てのコンテンツデータを配信可能にしようとすると、そのための設備費が大幅に増大するおそれがあった。
【０００７】
すなわち、膨大な量のコンテンツデータを１台のサーバで保障するためには、大規模なストレージを備えた高性能且つ高価なサーバが必要となる上、このサーバのメンテナンスや障害の発生に対応するため、この配信サーバと同等の性能を有するバックアップ用の配信サーバも必要となり、情報配信システムを構築するための設備費が大幅に増大するという問題が生じる。
【０００８】
かかる問題を解消するために、全てのコンテンツデータを１台の配信サーバに記憶させるのではなく、複数の配信サーバに分散させて記憶させておく分散サーバシステム（以下、「分散プール」と呼ぶ。）を用いて情報配信システムを構築することが考えられる。
【０００９】
情報配信システムをこのように分散プールを用いて構築することにより、当該情報配信システムに投入するコンテンツデータが増大しても、比較的安価なサーバ装置を増設するだけで、コンテンツデータの増大に対処できるため、設備に要するコストの大幅な増大を抑制することができる。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
ところで、端末装置のストレージ（記憶手段）においては、大きな記憶容量を確保することが困難であることが多い。そこで、情報配信システムにおいては、コンテンツデータを分割したデータ（以下、「分割コンテンツデータ」とする。）を分散して複数の端末装置へ保持させて、各端末装置のストレージを有効に活用するものがある。
【００１１】
この場合、端末装置がコンテンツデータを再生するとき、当該再生するコンテンツデータが分割して生成された複数の分割コンテンツデータを複数の端末装置から取得することになるが、このとき分割コンテンツデータのデータサイズが小さいと取得する端末装置での改竄確認を短時間で行なうことができるという利点がある。
【００１２】
このように、情報配信システムを構成する端末装置においては、分割コンテンツデータのデータサイズを小さくすることで、各端末装置のストレージを有効に活用すると共に、コンテンツデータの改竄確認の時間を短縮することができる。
【００１３】
一方で、分割コンテンツデータのデータサイズを小さくすると、上記分散サーバシステムの配信サーバで管理するコンテンツデータ数が増大する。そのため、各配信サーバにおいて保持しているコンテンツデータのデータ管理情報が増大するという課題がある。また、配信サーバ間でコンテンツデータを送受信可能にするためのファイル保持情報を配信サーバ間で共有するための共有管理情報も増大するという課題がある。
【課題を解決するための手段】
【００１４】
かかる課題を解決するために、請求項１に記載の発明は、コンテンツデータを分割した分割コンテンツデータを、第１のコンテンツファイルとして分散保持する複数の端末装置と、前記コンテンツデータ又は当該コンテンツデータを分割した分割コンテンツデータを、第２のコンテンツファイルとして分散保持する複数の配信サーバと、を備え、前記端末装置は、他の複数の前記端末装置からネットワークを介して複数の前記第１のコンテンツファイルを取得する第１取得手段と、前記他の端末装置から取得できない第１のコンテンツファイル又は当該第１のコンテンツファイルに対応する第２のコンテンツファイルをネットワークを介して前記配信サーバから取得する第２取得手段と、前記第１取得手段又は前記第２取得手段で取得したコンテンツファイルに基づいて前記コンテンツデータを再生する再生手段と、を備え、前記端末装置が保持する前記第１のコンテンツファイルのデータサイズを、前記配信サーバが保持する前記第２のコンテンツファイルのデータサイズよりも小さくしたことを特徴とする。
【００１５】
また、請求項２に記載の発明は、請求項１に記載の情報配信システムにおいて、前記配信サーバは、前記第１のコンテンツファイルと前記第２のコンテンツファイルの対応関係を定義した対応情報を記憶する対応情報記憶手段と、前記対応情報記憶手段に記憶した対応情報に基づき、前記端末装置から要求された第１のコンテンツファイルを、当該第１のコンテンツファイルに対応する前記第２のコンテンツファイルから抽出して送信するコンテンツ送信手段と、を備え、前記端末装置の前記第２取得手段は、前記他の端末装置から取得できない前記第１のコンテンツファイルを前記配信サーバへ要求し、当該要求した前記第１のコンテンツファイルを前記配信サーバから取得することを特徴とする。
【００１６】
また、請求項３に記載の発明は、請求項１に記載の情報配信システムにおいて、前記配信サーバは、前記端末装置が要求した第２のコンテンツファイルを送信するコンテンツ送信手段を備え、前記端末装置は、前記第１のコンテンツファイルと前記第２のコンテンツファイルの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、前記端末装置の前記第２取得手段は、前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から取得できない前記第１のコンテンツファイルに対応する第２のコンテンツファイルを前記配信サーバから取得し、前記他の端末装置から取得できない第１のコンテンツファイルを前記取得した第２のコンテンツファイルから抽出して保持することを特徴とする。
【００１７】
また、請求項４に記載の発明は、請求項１に記載の情報配信システムにおいて、前記第１のコンテンツファイルと前記第２のコンテンツファイルとの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、前記端末装置の前記第２取得手段は、前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から取得できない第１のコンテンツファイルに対応する第２のコンテンツファイルのデータ領域を指定して前記第１のコンテンツファイルの送信を前記配信サーバへ要求し、前記配信サーバは、前記端末装置が要求した第２のコンテンツファイルのデータから第１のコンテンツファイルを抽出して、当該第１のコンテンツファイルを送信するコンテンツ送信手段を備えたことを特徴とする。
【００１８】
また、請求項５に記載の発明は、請求項１に記載の情報配信システムにおいて、前記端末装置は、前記第１のコンテンツファイルと前記第２のコンテンツファイルとの対応関係を定義した対応情報を記憶する対応情報記憶手段を備え、前記端末装置の前記第２取得手段は、前記対応情報記憶手段に記憶した対応情報に基づき、前記他の端末装置から一部が取得できない第１のコンテンツファイルに対応する第２のコンテンツファイルのデータ領域を指定して前記第１のコンテンツファイルの一部のデータの送信を前記配信サーバへ要求し、前記配信サーバは、前記端末装置が要求した第２のコンテンツファイルのデータから第１のコンテンツファイルの一部を抽出して、前記端末装置が指定したデータ領域のデータを送信するコンテンツ送信手段を備えたことを特徴とする。
【００１９】
また、請求項６に記載の発明は、請求項１〜５のいずれか１項に記載の情報配信システムにおいて、前記配信サーバは、前記第２のコンテンツファイルを保持するコンテンツ記憶手段と、前記端末装置から要求された第２のコンテンツファイル又は第１のコンテンツファイルに対応する第２のコンテンツファイルが前記コンテンツ記憶手段にないとき、自装置或いは前記要求した端末装置を宛先として前記第２のコンテンツファイル又は当該第２のコンテンツファイルに対応する第１のコンテンツファイルの送信を行なうように、他の前記配信サーバに対して要求するコンテンツ送信要求手段と、を備えたことを特徴とする。
【００２０】
また、請求項７に記載の発明は、請求項１〜５のいずれか１項に記載の情報配信システムにおいて前記第２のコンテンツファイルを保持するコンテンツ記憶手段と、前記端末装置から要求された第２のコンテンツファイル又は第１のコンテンツファイルに対応する第２のコンテンツファイルが前記コンテンツ記憶手段にないとき、当該第２のコンテンツファイルを他の前記配信サーバから取得し、当該取得した第２のコンテンツファイルを要求元の端末装置へ送信するコンテンツ送信手段と、を備えたことを特徴とする。
【００２１】
また、請求項８に記載の発明は、請求項１〜７のいずれか１項に記載の情報配信システムにおいて、前記第２のコンテンツファイルを前記配信サーバへ送信する第１投入手段と、前記第１のコンテンツファイルの保持を前記複数の端末装置へ要求する第２投入手段と、を有する投入サーバを備え、前記端末装置は、前記投入サーバから前記第１のコンテンツファイルの保持要求があったとき、当該保持要求にかかる第１のコンテンツファイルを前記配信サーバから取得する第３取得手段と、前記配信サーバ及び他の前記端末装置から取得した第１のコンテンツファイルを記憶するコンテンツ記憶手段と、他の前記端末装置からの要求に応じて、前記コンテンツ記憶手段に記憶した前記第１のコンテンツファイルを送信するコンテンツ送信手段と、を備えたことを特徴とする。
【００２２】
また、請求項９に記載の発明は、請求項１〜７のいずれか１項に記載の情報配信システムにおいて、前記第２のコンテンツファイルを前記配信サーバへ送信する第１投入手段と、前記コンテンツデータ又は前記第２のコンテンツファイルを分割して前記第１のコンテンツファイルを生成し当該第１のコンテンツファイルを前記端末装置へ送信する第２投入手段と、を有する投入サーバを備え、前記端末装置は、前記投入サーバ、配信サーバ及び他の前記端末装置から取得した第１のコンテンツファイルを記憶するコンテンツ記憶手段と、
他の前記端末装置からの要求に応じて、前記コンテンツ記憶手段に記憶した前記第１のコンテンツファイルを送信するコンテンツ送信手段と、を備えたことを特徴とする。
【００２３】
また、請求項１０に記載の発明は、請求項１〜９のいずれか１項に記載の情報配信システムにおける端末装置とした。
【００２４】
また、請求項１１に記載の発明は、請求項２〜９のいずれか１項に記載の情報配信システムにおける配信サーバとした。
【００２５】
また、請求項１２に記載の発明は、請求項８又は請求項９に記載の情報配信システムにおける投入サーバとした。
【００２６】
また、請求項１３に記載の発明は、コンピュータを、請求項１〜９のいずれか１項に記載の情報配信システムにおける端末装置の各手段として機能させることを特徴とするプログラムとした。
【００２７】
また、請求項１４に記載の発明は、コンピュータを、請求項２〜９のいずれか１項に記載の情報配信システムにおける配信サーバの各手段として機能させることを特徴とするプログラムとした。
【００２８】
また、請求項１５に記載の発明は、コンピュータを、請求項８又は請求項９に記載の情報配信システムにおける投入サーバの各手段として機能させることを特徴とするプログラムとした。
【発明の効果】
【００２９】
本発明では、端末装置間で送受信されるコンテンツファイルのデータサイズを、配信サーバに保持されるコンテンツファイルのデータサイズよりも小さくしたので、各端末装置のストレージを有効に活用すると共に、コンテンツファイルの改竄確認の時間を短縮することができ、しかも、各配信サーバにおけるファイル管理を容易に行なうことができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明の一実施形態について具体的に説明する。なお、本実施形態では分散ハッシュテーブルを用いたＰ２Ｐ型の情報配信システムを例にとり説明するが、Ｐ２Ｐ型の情報配信システムであればよく、これに限られない。
【００３１】
［１．第１実施形態］
［１．１．情報配信システムＳの構成等］
まず始めに、図１を参照して、本発明の第１実施形態における情報配信システムの概要について説明する。図１は、第１実施形態における情報配信システムの各端末装置、各配信サーバ及び投入サーバの接続態様の一例を示す図である。
【００３２】
図１の下部枠５１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Ｓervice Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００３３】
情報配信システムＳは、図１の上部枠５０内に示すように、ネットワーク８を介して相互に接続された複数の端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・と、複数の配信サーバ２ａ，２ｂ，２ｃ，２ｄと、投入サーバ１０とを備えて構成される。各端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・と各配信サーバ２ａ，２ｂ，２ｃ，２ｄとには、各装置を示す情報としての固有の製造番号（例えば、ＭＡＣアドレス）及びＩＰ（Internet Protocol）アドレスが割り当てられている。また、以下の説明において、端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかの端末装置又は全ての端末装置を示す場合には、便宜上、端末装置１といい、配信サーバ２ａ，２ｂ，２ｃ，２ｄのうち何れかの配信サーバ又は全ての配信サーバを示す場合には、便宜上、配信サーバ２という。
【００３４】
本実施形態の情報配信システムＳにおいては、図１の上部枠５０内に示すような、ネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワークが構築される。このオーバーレイネットワークは、複数の端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・から形成されており、ピアツーピア（Ｐ２Ｐ）方式のネットワーク９ａ（以下、「ユーザネット９ａ」と呼ぶ。）と、複数の配信サーバ２ａ，２ｂ，２ｃ，２ｄから形成されており、端末装置１からの要求に応じたコンテンツデータを配信するネットワーク９ｂ（以下、「分散プール９ｂ」と呼ぶ。）とから構成される。なお、以下において、ユーザネット９ａ上に配置された端末装置１を、情報配信システムＳに参加している端末装置１といい、分散プール９ｂ上に配置された配信サーバ２を、情報配信システムＳに参加している配信サーバ２という。
【００３５】
また、情報配信システムＳには、図１に示すように、情報配信システムＳ内にコンテンツファイルを投入する機能や、情報配信システムＳにおいて取得可能なコンテンツファイルのリスト（以下、「コンテンツカタログ」とする。）を生成して端末装置１や配信サーバ２へ提供する機能などを有する投入サーバ１０（サーバ装置の一例）を備えている。
【００３６】
［１．２．ユーザネット９ａの概要］
次に、ユーザネット９ａの概要について図面を参照して説明する。図２はルーティングテーブルの一例、図３は投入サーバ１０から第１のコンテンツファイルが投入される様子を示す図、図４はコンテンツホルダの登録メッセージがＤＨＴルーティングにより転送される様子を示す図、図５はインデックステーブルの一例、図６はコンテンツホルダがＤＨＴルーティングにより検索される様子の一例を示す図、図７は端末装置１が分散プール９ｂの配信サーバ２から第２のコンテンツファイルを取得する様子を示す図である。
【００３７】
ユーザネット９ａは、上述のように、複数の端末装置１で構成されたピアツーピア（Ｐ２Ｐ）方式のネットワークであり、本実施形態においては、上記特許文献１と同様に、分散ハッシュテーブルを用いたＰ２Ｐ方式のネットワークであり、端末装置１間で第１のコンテンツファイルが送受信される。
【００３８】
このユーザネット９ａでは、各端末装置１にハッシュ関数を用いて生成された固有の識別情報（以下、「端末ＩＤ」と呼ぶ。）が割り当てられる。そして、各端末装置１は、図２に示すように、一部の端末装置１の所在情報（ここでは、ＩＰアドレス）をその端末ＩＤに関連づけて記憶したテーブル（以下、「ルーティングテーブル」と呼ぶ。）を記憶部に記憶している（ここでは、端末ＩＤを8bitの４進数（「0000」〜「3333」）での割り当てとしている）。
【００３９】
また、複数の端末装置１に分散して保持される第１のコンテンツファイルにも同様のハッシュ関数を用いて生成された固有の識別情報（以下、「第１ファイルＩＤ」と呼ぶ。）が割り当てられる。そして、第１のコンテンツファイルを保持する端末装置（以下、「コンテンツホルダ」と呼ぶ。）の所在情報（ＩＰアドレス）を管理させる端末装置１（以下、「ルートノード」と呼ぶ。）を、当該第１のコンテンツファイルの第１ファイルＩＤと所定の関連を有する端末ＩＤの端末装置１とする。例えば、ある第１のコンテンツファイルのコンテンツホルダを管理するルートノードは、当該第１のコンテンツファイルのファイルＩＤに最も近い端末装置１とすることができる。なお、「最も近い」ことの定義は、当該第１ファイルＩＤを超えず、第１ファイルＩＤと端末ＩＤとの差が一番少ないものとする。
【００４０】
ここで、図３に示すように、ある端末装置１ｍに投入サーバ１０から新規に第１ファイルＩＤ「3020」の第１のコンテンツファイルが投入されて当該端末装置１ｍがコンテンツホルダとなったとする。このとき、図４に示すように、コンテンツホルダとなった端末装置１ｍは、保持することとなった第１のコンテンツファイルの第１ファイルＩＤ「3020」を宛先識別情報として自装置の所在情報（ＩＰアドレス）等のホルダ情報を含む登録メッセージを、自装置のルーティングテーブルに基づいて送信する。すなわち、コンテンツホルダは、自装置のルーティングテーブルから登録メッセージの宛先識別情報とする第１ファイルＩＤに近い端末ＩＤを判定し、当該端末ＩＤの端末装置１ａへ登録メッセージを送信する。この登録メッセージを受信した端末装置１ａは、自装置のインデックステーブルに基づいてその宛先識別情報に最も近い端末ＩＤが自装置でないときには、この宛先識別情報により近い端末ＩＤを判定し、当該端末ＩＤの端末装置１ｂへ登録メッセージを転送する。そして、この登録メッセージはその宛先識別情報に最も近い端末ＩＤを有する端末装置１ｃ、すなわちルートノード１ｃへ到達したとき、当該ルートノード１ｃは、登録メッセージに含まれるホルダ情報（コンテンツホルダの所在情報等）を、図５に示すようなテーブル（以下、「インデックステーブル」と呼ぶ。）に記憶する。なお、上述のようにルーティングテーブルに基づいて行なわれるメッセージの転送をＤＨＴルーティングと呼ぶ。
【００４１】
その後、ある端末装置がコンテンツホルダの保持する第１のコンテンツファイルを取得したいとき、この第１のコンテンツファイルの検索及び取得は次のように行なわれる。なお、各端末装置１は、情報配信システムＳへの参加時等に投入サーバ１０から取得したコンテンツカタログに基づいて、所望の第１のコンテンツファイルを検索可能としている。
【００４２】
例えば、図６に示すように、第１のコンテンツファイルを取得しようとする端末装置１ｎ（以下、「リクエスタ１ｎ」と呼ぶ。）は、当該第１のコンテンツファイルの第１ファイルＩＤを宛先識別情報として自装置の所在情報を含む検索メッセージを、自装置のルーティングテーブルに基づいて送信する（図６に示す（１）参照。）。この検索メッセージの送信は、登録メッセージの送信と同様の方法で行なわれ、ＤＨＴルーティングによってルートノードへ到達する（図６に示す（２）参照。）。検索メッセージを受信したルートノードは、自装置のインデックステーブルから要求にかかるコンテンツホルダの所在情報（ホルダ情報）をリクエスタ１ｎに通知する（図６に示す（３）参照。）。その後、リクエスタは、通知を受けた所在情報のコンテンツホルダへファイル要求メッセージにより第１のコンテンツファイルの要求を行い（図６に示す（４）参照。）、コンテンツホルダから第１のコンテンツファイルを取得して再生する（図６に示す（５）参照。）。
【００４３】
ここで、コンテンツホルダがユーザネット９ａから脱退していたときやコンテンツホルダが過負荷ある等の原因で第１のコンテンツファイルをリクエスタに送信できないときがある。
【００４４】
例えば、図７に示すように、リクエスタ１ｎが、ユーザネット９ａ内で所望の第１のコンテンツファイルを検索しても取得することができないとき（図７に示す（１）参照。）、分散プール９ｂの配信サーバ２に取得したい第１のコンテンツファイルに対応する第２のコンテンツファイルの送信を要求して取得するようにしている（図７に示す（２），（３）参照。）。ここで、「取得したい第１のコンテンツファイルに対応する第２のコンテンツファイル」とは、「取得したい第１のコンテンツファイル」を含む「第２のコンテンツファイル」を意味する。また、リクエスタから配信サーバ２へアクセスするために必要な配信サーバ２の所在情報（ＩＰアドレス）は、予め設定ファイルなどで指定されている。
【００４５】
そして、第２のコンテンツファイルを取得した端末装置１は、第２のコンテンツファイルから取得したい第１のコンテンツファイルの情報を取得して、再生する。
【００４６】
［１．３．分散プール９ｂの概要］
分散プール９ｂは、ユーザネット９ａと同様に、分散ハッシュテーブルを用いたネットワークであり、配信サーバ２間で第２のコンテンツファイルが送受信される。
【００４７】
この分散プール９ｂでは、各配信サーバ２にハッシュ関数を用いて生成された固有の識別情報（以下、「サーバＩＤ」と呼ぶ。）が割り当てられる。そして、各配信サーバ２は、端末装置１と同様のルーティングテーブル、すなわち一部の配信サーバ２の所在情報（ここでは、ＩＰアドレス）をそのサーバＩＤに関連づけて記憶したルーティングテーブルを記憶部に記憶している。また、複数の配信サーバ２に分散して保持される第２のコンテンツファイルにも同様のハッシュ関数を用いて生成された固有の識別情報（以下、「第２ファイルＩＤ」と呼ぶ。）が割り当てられる。
【００４８】
そして、ユーザネット９ａと同様に、配信サーバ２が状況に応じてリクエスタ、コンテンツホルダ又はルートノードになって、第２のコンテンツファイルの保持、検索、取得などの処理を行なって、第２のコンテンツファイルの送受信を行なう。なお、配信サーバ２は、投入サーバ１０から第２のコンテンツファイルを取得してコンテンツホルダとなる。
【００４９】
［１．４．第１のコンテンツファイルと第２のコンテンツファイル］
次に、第１のコンテンツファイルと第２のコンテンツファイルについて図面を参照して説明する。図８は、投入サーバから投入される第１のコンテンツファイルと第２のコンテンツファイルを説明するための図、図９は新規コンテンツファイルを保持させる配信サーバの決定方法の説明図である。
【００５０】
図８に示すように、投入サーバ１０は、新規コンテンツデータ（音楽データ、映画データ、文書データなど）を情報配信システムＳへ投入する際、この新規コンテンツデータを第１データ単位で分割した分割コンテンツデータ（図８に示す例では、分割コンテンツデータ１〜７）を生成し、これらの分割コンテンツデータと後述するメタファイルとをそれぞれ第１のコンテンツファイルとしてユーザネット９ａの複数の端末装置１へ分散保持させる。また、投入サーバ１０は、この新規コンテンツデータを第２のコンテンツファイルとして、又は新規コンテンツデータを第２データ単位で分割した分割コンテンツデータ（図８に示す例では、分割コンテンツデータ１０，２０）を生成し、この分割コンテンツデータと後述するメタファイルを第２のコンテンツファイルとして分散プール９ｂの複数の配信サーバ２へ分散保持させる。
【００５１】
ここで、メタファイルとは、第１のコンテンツファイルと第２のコンテンツファイルとの対応関係を定義し、また各第１のコンテンツファイル及び各第２のコンテンツファイルにおけるコンテンツデータのデータ配列位置を規定するものであり、図９（ａ）に示す情報が規定される。このメタファイルは、第１のコンテンツファイル及び第２のコンテンツファイルと同様に、第１ファイルＩＤと第２ファイルＩＤがそれぞれ付与されて、端末装置１及び配信サーバ２に分散保持される。すなわち、端末装置１へ投入するメタファイルには第１ファイルＩＤが割り当てられ、配信サーバ２へ投入するメタファイルには第２ファイルＩＤが付与される。このメタファイルはそのデータの一部が上述したハッシュ関数によりハッシュ化された値がユーザネット９ａでは第１ファイルＩＤとして付与され、分散プール９ｂでは第２ファイルＩＤとして付与される。
【００５２】
コンテンツカタログには、各コンテンツデータの名称毎のメタファイルの第１ファイルＩＤ及び第２ファイルＩＤが規定されており、端末装置１は、コンテンツデータを再生しようとするとき、コンテンツカタログに基づいてまず再生しようとするコンテンツデータのメタファイルを取得する。上述のようにメタファイルには、分割コンテンツデータのファイルＩＤがその再生順に規定されており、端末装置１は、このメタファイルに基づいて、第１のコンテンツファイルである分割コンテンツデータ１、分割コンテンツデータ２、・・・をネットワーク８を介して順次取得しながら、これらの第１のコンテンツファイルをその再生順序に従って順次再生していく。なお、ユーザネット９ａ用と分散プール９ｂ用とでメタファイルは同一のものであるため、第１ファイルＩＤと第２ファイルＩＤとは同じＩＤを用いることができる。このようにすることで、メタファイルを検索するときに、ユーザネット９ａ用と分散プール９ｂ用とで区別する必要が無くなり、端末装置１において、処理負荷を軽減することができる。
【００５３】
このとき、第１のコンテンツファイルのデータサイズは小さいことが望ましい。これは、端末装置１においてコンテンツファイルを記憶する記憶容量として大きな領域を確保できないため、コンテンツファイルが小さい方がディスクサイズ領域を有効利用できるからであり、また、ファイルの改竄確認を行なう時間が短縮できるからである。但し、第１のコンテンツファイルのデータサイズがあまり小さすぎると、端末装置１においてファイル管理のコストが増大し、またインデックステーブルに記憶するホルダ情報の量が増え、検索回数が増えることから、この点を考慮して適切なデータサイズを設定することが望ましい。
【００５４】
一方、配信サーバ２においては、コンテンツファイルを記憶する記憶容量として大きな領域を確保することができることから、第２のコンテンツファイルのデータサイズを、第１のコンテンツファイルのデータサイズと同一としても、記憶容量の観点からのメリットは少ない。すなわち、配信サーバ２で保持するコンテンツファイルのデータサイズを大きくできるのにもかかわらず小さくすると、配信サーバ２において、返ってファイル管理のコストが増大し、またインデックスに記憶するホルダ情報の量が増え、検索回数が増えることになる。
【００５５】
そこで、端末装置１間で送受信される第１のコンテンツファイルのデータサイズを、図９（ｂ）に示すように、配信サーバ２が保持する第２のコンテンツファイルのデータサイズよりも小さくするようにしている。そのため、各端末装置１のストレージを有効に活用すると共に、コンテンツファイルの改竄確認の時間を短縮することができ、しかも、各配信サーバ２におけるファイル管理を容易に行なうことができる。
【００５６】
また、本実施形態においては、各第１のコンテンツファイルの分割コンテンツデータは、必ず第２のコンテンツファイルに含まれるものとする。すなわち、１つの第１のコンテンツファイルの分割コンテンツデータが２つの第２のコンテンツファイルに跨って含まれないようにしており、これにより第１のコンテンツファイルを一つ探すときに、二つの第２のコンテンツファイルを検索する必要がなく、処理が簡易になる。
【００５７】
ところで、端末装置１は、上述のように、ユーザネット９ａにおいて第１のコンテンツファイルを取得できないとき、分散プール９ｂの配信サーバ２から第１のコンテンツファイルに対応する第２のコンテンツファイルを取得する。
【００５８】
このとき、端末装置１は、取得しようとする第１のコンテンツファイルのデータ位置を含む第２のコンテンツファイルのファイルＩＤを宛先識別情報とし自装置の所在情報を含む検索メッセージを生成し、任意の配信サーバ２を選択してこの検索メッセージを送信する。この検索メッセージは、分散プール９ｂの配信サーバ２によってＤＨＴルーティングにより転送され、ルートノードに到達する。ルートノードは、検索メッセージによる検索対象の第２のコンテンツファイルを保持するコンテンツホルダの所在情報を要求元の端末装置１へ返信する。この返信を受けた端末装置１は、取得しようとする第１のコンテンツファイルのデータ位置を含む第２のコンテンツファイルのファイルＩＤを宛先識別情報とし自装置の所在情報を含むファイル要求メッセージを送信する。このファイル要求メッセージを受信したコンテンツホルダである配信サーバ２は、ファイル要求メッセージで要求される第２のコンテンツファイルをこのファイル要求メッセージの送信元の端末装置１へ送信する。この端末装置１は、配信サーバ２から第２のコンテンツファイルを受信すると、メタファイルに規定されているデータ位置に基づいて、第２のコンテンツファイルから第１のコンテンツファイルを抽出して再生する。
【００５９】
例えば、端末装置１が再生しようとするコンテンツデータのメタファイルが図９（ａ）に示すように規定され、取得しようとする第１のコンテンツファイルのファイルＩＤが「2121」のとき、端末装置１は、「3030」を識別宛先情報として検索メッセージを任意の配信サーバに送信する。この検索メッセージは、ＤＨＴルーティングによりファイルＩＤ「3030」のルートノードに到達すると、ルートノードは、ファイルＩＤ「3030」のコンテンツホルダとなっている配信サーバ２の所在情報を端末装置１へ送信する。端末装置１は、取得した所在情報のコンテンツホルダへファイルＩＤ「3030」の送信を要求するファイル要求メッセージを送信する。このファイル要求メッセージには、ファイルＩＤ「3030」及び端末装置１の所在情報が含まれる。コンテンツホルダである配信サーバ２は、ファイルＩＤ「3030」の第２のコンテンツファイルをこのファイル要求メッセージの送信元の端末装置１へ送信する。この端末装置１は、配信サーバ２からファイルＩＤ「3030」の第２のコンテンツファイルを受信すると、メタファイルに規定されているデータ位置「501−750」に基づいて、第２のコンテンツファイルからデータ位置「501−750」の第１のコンテンツファイルを抽出して再生する。
【００６０】
以下、このように構成される情報配信システムＳの端末装置１、配信サーバ２及び投入サーバ１０の具体的構成及び動作の一例について図面を参照して説明する。
【００６１】
［１．５．端末装置１の具体的構成及び動作の説明］
以下、図面を参照して、上述した端末装置１の具体的構成及び動作の一例について説明する。
【００６２】
（端末装置１の構成について）
まず、端末装置１の構成について説明する。図１０は、端末装置１の概略構成を示す図である。
【００６３】
端末装置１は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図１０に示すように、制御部１０１と、ルーティングテーブル、インデックステーブルなどを記憶する書き換え可能な第１記憶部１０２と、他の端末装置１、配信サーバ２又は投入サーバ１０から取得したコンテンツファイル（メタファイルを含む）を記憶する不揮発性メモリである第２記憶部１０３（コンテンツ記憶手段及び対応情報記憶手段の一例に相当）と、ネットワーク８を介して取得したコンテンツファイルである分割コンテンツデータを一時的に記憶するバッファメモリ１０４と、このバッファメモリ１０４に記憶した分割コンテンツデータを順次取り出してデコードするデコーダ部１０５と、このデコーダ部１０５によってデコードされた分割コンテンツデータのうち映像情報を後述の表示部１０７で表示可能な情報に変換処理する映像処理部１０６と、この映像処理部１０６からの出力に基づいて分割コンテンツデータの映像を表示する液晶表示装置（ＬＣＤ）などの表示部１０７と、デコーダ部１０５によってデコードされた分割コンテンツデータのうち音声情報を後述のスピーカ１０９で音波として出力可能な情報に変換処理する音声処理部１０８と、この音声処理部１０８からの出力に基づいて分割コンテンツデータの音声を音波として出力するスピーカ１０９と、マウス及びキーボードなどからなる入力部１１０と、ネットワーク８を介して、他の端末装置１、配信サーバ２及び投入サーバ１０と通信するための通信部１１１とを備えている。なお、制御部１０１、第１記憶部１０２、第２記憶部１０３、バッファメモリ１０４、デコーダ部１０５、通信部１１１は、システムバス１２０を介して相互に接続されている。また、デコーダ部１０５、映像処理部１０６及び音声処理部１０８は再生手段の一例に相当する。
【００６４】
制御部１０１は、ＣＰＵ（Central Processing Unit）、内部メモリから構成される。この内部メモリには、情報配信システムＳに参加して、コンテンツファイルであるメタファイルや分割コンテンツデータを送受信し、分割コンテンツデータを再生するための情報処理プログラムが格納されており、ＣＰＵは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、第１取得手段、第２取得手段、第３取得手段、コンテンツ送信手段、再生処理手段、記憶処理手段等として機能する。
【００６５】
なお、この情報処理プログラムは、例えば、ネットワーク８に接続されたサーバ（例えば、投入サーバ１０）から、ネットワーク８及び通信部１１１を介して、制御部１０１の内部メモリにダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部１０１の内部メモリに読み込まれるようにしてもよい。
【００６６】
（端末装置１の動作について）
以上のように構成された端末装置１の動作を図面を参照して具体的に説明する。図１１は端末装置１のメイン処理フローチャートである。なお、以下の各処理は、端末装置１の制御部１０１が上述した各手段等として機能することによって実行されるものである。
【００６７】
図１１に示すように、端末装置１においてメイン電源スイッチ（図示せず）がＯＮされたときやリセットスイッチ（図示せず）が操作されたとき、制御部１０１のＣＰＵは、内部メモリの作業領域確保等の初期設定動作を実行し、内部メモリに記憶した情報処理プログラムを実行状態として、制御部１０１としての機能を動作状態とした後（ステップＳ１０）、情報配信システムＳへ参加してステップＳ１１に処理を移行する。
【００６８】
ステップＳ１１の処理において、制御部１０１は、現在コンテンツ再生中又はコンテンツ再生待ちであるか否かを判定する。制御部１０１は、あるコンテンツ情報のコンテンツデータの最初のコンテンツファイルが再生されている又は再生されたときであって最後のコンテンツファイルの再生が終了していないときにコンテンツ再生中と判定し、あるコンテンツ情報のコンテンツデータの最初のコンテンツファイルがまだ再生されていないときにコンテンツ再生待ちと判定する。
【００６９】
この処理において、現在コンテンツ再生中又はコンテンツ再生待ちではないと判定すると（ステップＳ１１：Ｎｏ）、制御部１０１は、コンテンツのリクエストがあるか否かを判定する（ステップＳ１２）。例えば、制御部１０１は、表示部１０７にコンテンツカタログの情報を表示している状態で、入力部１１０への入力によりコンテンツの再生指示があったときにコンテンツのリクエストがあると判定する。
【００７０】
この処理において、コンテンツのリクエストがあると判定すると（ステップＳ１２：Ｙｅｓ）、制御部１０１は、リクエストにかかるコンテンツのメタファイルを所持しているか否かを判定する（ステップＳ１３）。このメタファイルは、コンテンツカタログにその第１ファイルＩＤが規定されており、検索メッセージ及びファイル要求メッセージにより第１のコンテンツファイルとして他の端末装置１等から取得するものである。
【００７１】
ステップＳ１３の処理において、メタファイルを所持していないと判定すると（ステップＳ１３：Ｎｏ）、制御部１０１は、ユーザネット９ａへ検索メッセージを送信する（ステップＳ１４）。すなわち、制御部１０１は、リクエストにかかるコンテンツの第１ファイルＩＤをコンテンツカタログから取り出し、この第１ファイルＩＤを宛先識別情報としてユーザネット９ａの他の端末装置１へ検索メッセージを送信する。その後、制御部１０１は、リクエストタイマのカウントを開始する（ステップＳ１５）。なお、上述のようにユーザネット９ａ用と分散プール９ｂ用とでメタファイルは同一のものであるため、第１ファイルＩＤと第２ファイルＩＤとは同じＩＤを用いることができる。このようにすることで、メタファイルを検索するときに、ユーザネット９ａ用と分散プール９ｂ用とで区別する必要が無くなる。
【００７２】
次に、制御部１０１は、コンテンツファイルを取得するためのタイマ監視処理を行なう（ステップＳ１６）。このタイマ監視処理は、図１２に示すステップＳ３０〜Ｓ３８の処理であり、後で詳述する。
【００７３】
制御部１０１は、ステップＳ１２でリクエストされたコンテンツデータを再生するための再生処理を行なう（ステップＳ１７）。この再生処理は、図１３に示すステップＳ４０，Ｓ４１の処理であり、後で詳述する。
【００７４】
このステップＳ１７の処理が終了したとき、ステップＳ１２においてコンテンツのリクエストがないと判定したとき（ステップＳ１２：Ｎｏ）、又はステップＳ１３においてメタファイルを所持していると判定したとき（ステップＳ１３：Ｙｅｓ）、制御部１０１は、他の端末装置１などから送信される各種メッセージを受信して処理するメッセージ受信処理を行なう（ステップＳ１８）。このメッセージ受信処理は、図１４に示すステップＳ４５〜Ｓ５６の処理であり、後で詳述する。
【００７５】
その後、制御部１０１は、コンテンツファイルを受信するファイル受信処理を行なう（ステップＳ１９）。このファイル受信処理は、図１５に示すステップＳ６０〜Ｓ６５の処理であり、後で詳述する。
【００７６】
ステップＳ１１の処理において、現在コンテンツ再生中又はコンテンツ再生待ちであると判定すると（ステップＳ１１：Ｙｅｓ）、制御部１０１は、分割コンテンツデータである第１のコンテンツファイルが必要であるか否かを判定する（ステップＳ２０）。制御部１０１は、ステップＳ１２の処理においてリクエストがあったと判定したコンテンツデータについて再生すべき分割コンテンツデータがあるか否かを判定する。
【００７７】
例えば、図９（ａ）に示すメタファイルを有するコンテンツデータがリクエストされているときに、ファイルＩＤ「3121」である第１のコンテンツファイルの分割コンテンツデータが再生中であるとき、制御部１０１は、再生すべき第１のコンテンツファイルがあると判定する。また、図９（ａ）に示すメタファイルを有する第１のコンテンツデータがリクエストされているときに、まだ第１のコンテンツファイルの分割コンテンツデータが再生されていない再生待ちの状態のとき、制御部１０１は、再生すべき第１のコンテンツファイルがあると判定する。
【００７８】
ステップＳ２０の処理において、第１のコンテンツファイルが必要であると判定すると（ステップＳ２０：Ｙｅｓ）、制御部１０１は、この第１のコンテンツファイルを第２記憶部１０３に保持しているか否かを判定する（ステップＳ２１）。このとき、第１のコンテンツファイルを保持していないと判定すると（ステップＳ２１：Ｎｏ）、制御部１０１は、リクエストタイマのカウントが稼働中か否かを判定する（ステップＳ２２）。一方、ステップＳ２０の処理において第１のコンテンツファイルが必要ではないと判定すると（ステップＳ２０：Ｎｏ）、またステップＳ２１の処理において、第１のコンテンツファイルを保持していると判定すると（ステップＳ２１：Ｙｅｓ）、制御部１０１は、処理をステップＳ１７に移行する。
【００７９】
ステップＳ２２の処理において、制御部１０１は、リクエストタイマが稼働中であると判定すると（ステップＳ２２：Ｙｅｓ）、処理をステップＳ１６に移行し、一方でリクエストタイマのカウントが稼働中でないと判定すると（ステップＳ２２：Ｎｏ）、処理をステップ１４に移行する。
【００８０】
ステップＳ１９の処理が終了したとき、制御部１０１は、終了指示を検知したか否かを判定する（ステップＳ２３）。例えば、自装置１の電源がＯＦＦ状態へ移行したとき、制御部１０１は、終了指示を検知する。
【００８１】
ステップＳ２３の処理において、終了指示を検知したと判定すると（ステップＳ２３：Ｙｅｓ）、制御部１０１は、メイン処理を終了し、一方、終了指示を検知していないと判定すると（ステップＳ２３：Ｎｏ）、制御部１０１は、ステップＳ１１からの処理を繰り返す。
【００８２】
次に、ステップＳ１６のタイマ監視処理について図１２のフローチャートを参照して具体的に説明する。図１２は端末装置１におけるタイマ監視処理のフローチャートである。
【００８３】
図１２に示すように、タイマ監視処理を開始すると、制御部１０１は、リクエストタイマのカウントが指定時間を経過したか否かを判定する（ステップＳ３０）。この処理において、リクエストタイマのカウントが指定時間を経過したと判定すると（ステップＳ３０：Ｙｅｓ）、制御部１０１は、ユーザネット９ａ内のホルダ情報を受信しているか否かを判定する（ステップＳ３１）。すなわち、制御部１０１は、ステップＳ１４で送信した検索メッセージに対してユーザネット９ａ内のルートノードとなる端末装置１から第１のコンテンツファイルのコンテンツホルダの所在情報を受信しているか否かを判定する。
【００８４】
ステップＳ３１の処理において、ユーザネット９ａ内のホルダ情報を受信していないと判定すると（ステップＳ３１：Ｎｏ）、制御部１０１は、分散プール９ｂ内のホルダ情報を受信しているか否かを判定する（ステップＳ３２）。すなわち、制御部１０１は、後述するステップＳ３３で送信した検索メッセージに対して分散プール９ｂ内のルートノードとなる配信サーバ２から第２のコンテンツファイルのコンテンツホルダの所在情報（ホルダ情報）を受信しているか否かを判定する。この処理において、分散プール９ｂ内のホルダ情報を受信していないと判定すると（ステップＳ３２：Ｎｏ）、制御部１０１は、再生しようとするコンテンツのメタファイルに基づいてこの第１のコンテンツファイルに対応する第２のコンテンツファイルの第２ファイルＩＤを宛先識別情報として検索メッセージを送信し（ステップＳ３３）、リクエストタイマのカウントを０から開始する（ステップＳ３４）。このように、制御部１０１は、再生しようとするコンテンツのメタファイルに基づき、他の端末装置１から取得できない第１のコンテンツファイルに対応する第２のコンテンツファイルを配信サーバ２に要求して取得する第２取得手段として機能する。
【００８５】
ステップＳ３１の処理においてユーザネット９ａ内のホルダ情報を受信していると判定したとき（ステップＳ３１：Ｙｅｓ）、又はステップＳ３２の処理において分散プール９ｂ内のホルダ情報を配信サーバ２の所在情報を受信していると判定したとき（ステップＳ３２：Ｙｅｓ）、制御部１０１は、リクエストタイマのカウントをリセットして０に戻す（ステップＳ３５）。
【００８６】
次に、制御部１０１は、コンテンツホルダが端末装置１であるか否かを判定する（ステップＳ３６）。この処理において、コンテンツホルダが端末装置１であると判定すると（ステップＳ３６：Ｙｅｓ）、制御部１０１は、コンテンツホルダの端末装置１へ通信部１１１及びネットワーク８を介して第１のコンテンツファイルを要求し（ステップＳ３７）、この第１のコンテンツファイルを後述するファイル受信処理により取得する。このように制御部１０１は、ネットワーク８を介して第１のコンテンツファイルを端末装置１へ要求し、第１のコンテンツファイルを取得する第１取得手段として機能する。
【００８７】
一方、コンテンツホルダが端末装置１ではないと判定すると（ステップＳ３６：Ｎｏ）、制御部１０１は、コンテンツホルダの配信サーバ２へ通信部１１１及びネットワーク８を介して第２のコンテンツファイルを要求し（ステップＳ３８）、この第２のコンテンツファイルを後述するファイル受信処理により取得する。このように制御部１０１は、他の端末装置から取得できない第１のコンテンツファイルに対応する第２のコンテンツファイルをネットワーク８を介して配信サーバ２へ要求し、第２のコンテンツファイルをネットワーク８を介して取得する第２取得手段として機能する。
【００８８】
ステップＳ３４，Ｓ３７，Ｓ３８の処理が終了したとき、又はステップＳ３０の処理においてリクエストタイマのカウントが指定時間を経過していないと判定すると（ステップＳ３０：Ｎｏ）、制御部１０１は、このタイマ監視処理を終了する。
【００８９】
次に、ステップＳ１７の再生処理について図１３のフローチャートを参照して具体的に説明する。図１３は端末装置１における再生処理のフローチャートである。
【００９０】
図１３に示すように、再生処理を開始すると、制御部１０１は、リクエストしたコンテンツファイルを後述するファイル受信処理により受信しているか否かを判定する（ステップＳ４０）。この処理において、リクエストしたコンテンツファイルを受信していると判定すると（ステップＳ４０：Ｙｅｓ）、制御部１０１は、受信しているコンテンツファイルを再生手段により再生する（ステップＳ４１）。すなわち、制御部１０１は、ネットワーク８及び通信部１１１を介して受信したコンテンツファイルの分割コンテンツデータをバッファメモリ１０４に順次蓄積しつつ、このバッファメモリからコンテンツファイルである分割コンテンツデータを取り出して、この分割コンテンツデータに応じて表示部１０７から画像を出力したりスピーカ１０９から音を出力したりする。このように制御部１０１は、上述した第１取得手段又は第２取得手段として機能して取得したコンテンツファイルに基づいてコンテンツデータを再生手段により再生する再生処理手段として機能する。
【００９１】
ステップＳ４１の処理が終了したとき、又はステップＳ４０の処理においてリクエストしたコンテンツファイルを受信していないと判定すると（ステップＳ４０：Ｎｏ）、制御部１０１は、再生処理を終了する。
【００９２】
次に、ステップＳ１８のメッセージ受信処理について図１４のフローチャートを参照して具体的に説明する。図１４は端末装置１におけるメッセージ受信処理のフローチャートである。
【００９３】
図１４に示すように、メッセージ受信処理を開始すると、制御部１０１は、ネットワーク８及び通信部１１１を介して他の装置からメッセージを受信したか否かを判定する（ステップＳ４５）。この処理において、メッセージを受信したと判定すると（ステップＳ４５：Ｙｅｓ）、制御部１０１は、受信したメッセージが検索メッセージであるか否かを判定する（ステップＳ４６）。
【００９４】
このステップＳ４６の処理において、受信したメッセージが検索メッセージであるとき（ステップＳ４６：Ｙｅｓ）、制御部１０１は、第１記憶部１０２に記憶したインデックステーブルにホルダ情報があるか否かを判定する（ステップＳ４７）。すなわち、受信した検索メッセージの検索対象である第１のコンテンツファイルのコンテンツホルダの所在情報を第１記憶部１０２に記憶したインデックステーブルに保持しているか否かを判定する。この処理において、ホルダ情報があると判定すると（ステップＳ４７：Ｙｅｓ）、制御部１０１は、検索メッセージを送信したリクエスタである端末装置１へ保持しているホルダ情報を通信部１１１及びネットワーク８を介して送信する（ステップＳ４８）。
【００９５】
ステップＳ４８の処理が終了したとき、又はステップＳ４７の処理でホルダ情報がないと判定したとき（ステップＳ４７：Ｎｏ）、制御部１０１は、自装置が検索メッセージの検索対象である第１のコンテンツファイルのルートノードであるか否かを判定し（ステップＳ４９）、ルートノードであると判定すると（ステップＳ４９：Ｙｅｓ）、そのままメッセージ受信処理を終了し、一方、ルートノードではないと判定すると（ステップＳ４９：Ｎｏ）、この検索メッセージを第１記憶部１０２に記憶しているルーティングテーブルに基づいてＤＨＴルーティングにより転送して（ステップＳ５０）、メッセージ受信処理を終了する。
【００９６】
ステップＳ４６の処理において、受信したメッセージが検索メッセージではないと判定すると（ステップＳ４６：Ｎｏ）、制御部１０１は、受信したメッセージが登録メッセージであるか否かを判定する（ステップＳ５１）。この処理において、受信したメッセージが登録メッセージであると判定すると（ステップＳ５１：Ｙｅｓ）、制御部１０１は、登録メッセージに含まれるコンテンツホルダの所在情報や端末ＩＤなどのインデックス情報を第１記憶部１０２のインデックステーブルに追加して（ステップＳ５２）、処理をステップＳ４９に移行する。
【００９７】
ステップＳ５１の処理において、受信したメッセージが登録メッセージではないと判定すると（ステップＳ５１：Ｎｏ）、制御部１０１は、受信したメッセージがファイル要求メッセージであるか否かを判定する（ステップＳ５３）。この処理において、受信したメッセージがファイル要求メッセージであると判定すると（ステップＳ５３：Ｙｅｓ）、制御部１０１は、ファイル要求メッセージで要求される第１のコンテンツファイルを第２記憶部１０３から取り出して、要求元の端末装置１へ送信して（ステップＳ５４）、メッセージ受信処理を終了する。このように制御部１０１は、他の端末装置１からの要求に応じて、コンテンツ記憶手段である第２記憶部１０３に記憶した第１のコンテンツファイルを送信するコンテンツ送信手段として機能する。
【００９８】
ステップＳ５３の処理おいて、受信したメッセージがファイル要求メッセージではないと判定すると（ステップＳ５３：Ｎｏ）、制御部１０１は、受信したメッセージが事前ＰＵＳＨメッセージであるか否かを判定する（ステップＳ５５）。この処理において、受信したメッセージが事前ＰＵＳＨメッセージであると判定すると（ステップＳ５５：Ｙｅｓ）、制御部１０１は、事前ＰＵＳＨメッセージで指定されたコンテンツファイルを通信部１１１及びネットワーク８を介して投入サーバ１０へ要求して（ステップＳ５６）、メッセージ受信処理を終了する。また、ステップＳ５５の処理において、受信したメッセージが事前ＰＵＳＨメッセージではないと判定したときも（ステップＳ５５：Ｎｏ）、制御部１０１は、メッセージ受信処理を終了する。
【００９９】
ここで、投入サーバ１０から受信する事前ＰＵＳＨメッセージには、後述するように第１のコンテンツファイルを「分散プール９ｂから取得」するのか、「投入サーバ１０から取得」するのかを指定する情報が含まれている。端末装置１の制御部１０１は、事前ＰＵＳＨメッセージに「分散プール９ｂから取得」の情報が含まれているときには、分散プール９ｂの配信サーバ２に対して指定された第２のコンテンツファイルを要求し、ファイル受信処理により取得する。また、事前ＰＵＳＨメッセージに「投入サーバ１０から取得」の情報が含まれているときには、制御部１０１は、投入サーバ１０に対して指定された第１のコンテンツファイルを要求して後述するファイル受信処理により取得する。このように制御部１０１は、投入サーバ１０からコンテンツファイルの保持要求である事前ＰＵＳＨメッセージを受信したとき、当該事前ＰＵＳＨメッセージによる保持要求にかかる第１のコンテンツファイルを投入サーバ１０又は第２のコンテンツファイルを配信サーバ２から取得する第３取得手段として機能する。
【０１００】
次に、ステップＳ１９のファイル受信処理について図１５のフローチャートを参照して具体的に説明する。図１５は端末装置１におけるファイル受信処理のフローチャートである。
【０１０１】
図１５に示すように、ファイル受信処理を開始すると、制御部１０１は、ネットワーク８及び通信部１１１を介してコンテンツファイルを受信したか否かを判定する（ステップＳ６０）。この処理において、コンテンツファイルを受信したと判定すると（ステップＳ６０：Ｙｅｓ）、制御部は、送信元の装置が配信サーバ２であるか否かを判定する（ステップＳ６１）。送信元の装置が配信サーバ２ではないとき、すなわち送信元の装置が端末装置１又は投入サーバ１０であるとき（ステップＳ６１：Ｎｏ）、制御部１０１は、受信した第１のコンテンツファイルの分割コンテンツデータを第２記憶部１０３に書き込む（ステップＳ６２）。
【０１０２】
一方、送信元の装置が配信サーバ２であるとき（ステップＳ６１：Ｙｅｓ）、制御部１０１は、メタファイルを参照して受信した第２のコンテンツファイルから第１のコンテンツファイルを抽出し、ファイルＩＤを変換して、第２記憶部１０３に書き込む（ステップＳ６３）。すなわち、制御部１０１は、取得したい第１のコンテンツファイルを受信した第２のコンテンツファイルからメタファイルに基づいて抽出する。そして、抽出したデータを第１のコンテンツファイルの分割コンテンツデータとし、第２のコンテンツファイルの第１ファイルＩＤから第１のコンテンツファイルの第２ファイルＩＤへファイルＩＤを変換して、第２記憶部１０３に書き込む。このように制御部１０１は、他の端末装置１から取得できない第１のコンテンツファイルを第２のコンテンツファイルから抽出して保持する第２取得手段として機能する。
【０１０３】
ステップＳ６２，Ｓ６３の処理が終了したとき、制御部１０１は、第１のコンテンツファイルが完成したか否かを判定する（ステップＳ６４）。すなわち、制御部１０１は、第２記憶部１０３に一つのコンテンツファイルについてデータ受信が終了したとき、第１のコンテンツファイルが完成したと判定する。この処理において、第１のコンテンツファイルが完成したと判定したとき（ステップＳ６４：Ｙｅｓ）、制御部１０１は、この第１のコンテンツファイルに関する登録メッセージ生成し、自装置のルーティングテーブルに基づいてこの登録メッセージをユーザネット９ａ内の他の端末装置１へＤＨＴルーティングにより送信する（ステップＳ６５）。
【０１０４】
ステップＳ６０の処理においてコンテンツファイルを受信していないと判定したとき（ステップＳ６０：Ｎｏ）、ステップＳ６４の処理において第１のコンテンツファイルが完成していないと判定したとき（ステップＳ６４：Ｎｏ）、又はステップＳ６５の処理が終了したとき、制御部１０１は、このファイル受信処理を終了する。
【０１０５】
ここで、ステップＳ６０で受信したと判定したコンテンツファイルは、分割コンテンツデータ又はメタファイルであり、配信サーバ２から受信した第２のコンテンツファイルがメタファイルであるときには、コンテンツカタログを参照して、ファイルＩＤを変換する。すなわち、受信した第２のコンテンツファイルの第２ファイルＩＤを第１のコンテンツファイルの第１ファイルＩＤへ変換して第２のコンテンツファイルを第１のコンテンツファイルとして第２記憶部１０３に記憶する。このように、制御部１０１は、第１のコンテンツファイルと前記第２のコンテンツファイルの対応関係を定義した対応情報であるメタファイルを対応情報記憶手段である第２記憶部１０３に記憶する記憶処理手段として機能する。
【０１０６】
以上のように、本第１実施形態における端末装置１では、所望の第１のコンテンツファイルに対応する第２のコンテンツファイルを取得し、この第２のコンテンツファイルから第１のコンテンツファイルを抽出することで、所望の第１のコンテンツファイルを取得するようにしている。
【０１０７】
［１．６．配信サーバ２の具体的構成及び動作の説明］
次に、配信サーバ２の具体的構成及び動作の一例について説明する。
【０１０８】
（配信サーバ２の構成について）
まず、配信サーバ２の具体的構成について説明する。図１６は、本実施形態の情報配信システムＳにおける配信サーバ２の概略構成を示す図である。
【０１０９】
配信サーバ２は、一般のサーバコンピュータを適用可能であり、図１６に示すように、配信サーバ２全体を制御する制御部２０１と、第２のコンテンツファイル（メタファイルを含む）を記憶するコンテンツ記憶領域を有する書き換え可能な記憶部２０２（コンテンツ記憶手段及び対応情報記憶手段の一例に相当）と、端末装置１，他の配信サーバ２及び投入サーバ１０と通信するための通信部２０３とを備えており、これらはシステムバス２１０を介して相互に接続されている。
【０１１０】
制御部２０１は、ＣＰＵ（Central Processing Unit）、内部メモリなどから構成される。この内部メモリには、端末装置１，他の配信サーバ２及び投入サーバ１０と間でのコンテンツファイルやその他のメッセージを送受信するための情報処理プログラムが格納されており、ＣＰＵは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、コンテンツ送信手段、記憶処理手段等として機能する。
【０１１１】
なお、この情報処理プログラムは、例えば、ネットワーク８に接続された他のサーバ（例えば、投入サーバ１０）から、通信部２０３を介して、制御部２０１の内部メモリにダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部２０１の内部メモリに読み込まれるようにしてもよい。
【０１１２】
（配信サーバ２の具体的動作について）
以上のように構成された配信サーバ２の動作を図面を参照して具体的に説明する。図１７は本実施形態における配信サーバ２のメイン処理フローチャートである。なお、以下の各処理は、配信サーバ２の制御部２０１が上述した各手段等として機能することによって実行されるものである。
【０１１３】
配信サーバ２においてメイン電源スイッチ（図示せず）がＯＮされたときやリセットスイッチ（図示せず）が操作されたとき、図１７に示すように、配信サーバ２は初期化動作を行なう（ステップＳ７０）。具体的には、制御部２０１のＣＰＵは、内部メモリの作業領域確保等の初期設定動作を実行し、内部メモリに記憶した情報処理プログラムを実行状態として、制御部２０１としての機能を動作状態とする。
【０１１４】
次に、制御部２０１は、ネットワーク８及び通信部２０３を介してメッセージを受信したか否かを判定する（ステップＳ７１）。この処理において、メッセージを受信したと判定すると（ステップＳ７１：Ｙｅｓ）、制御部２０１は、そのメッセージが事前ＰＵＳＨメッセージであるか否かを判定する（ステップＳ７２）。
【０１１５】
ステップＳ７２の処理において、受信したメッセージが事前ＰＵＳＨメッセージであると判定すると（ステップＳ７２：Ｙｅｓ）、制御部２０１は、投入サーバ１０へ通信部２０３及びネットワーク８を介して投入コンテンツ取得メッセージを送信する（ステップＳ８０）。一方、受信したメッセージが事前ＰＵＳＨメッセージではないと判定すると（ステップＳ７２：Ｎｏ）、制御部２０１は、受信したメッセージが検索メッセージであるか否かを判定する（ステップＳ７３）。この処理において、受信したメッセージが検索メッセージであると判定すると（ステップＳ７３：Ｙｅｓ）、制御部２０１は、自装置の記憶部２０２のインデックステーブルにホルダ情報が記憶されているか否かを判定する（ステップＳ７４）。制御部２０１は、自装置の記憶部２０２のインデックステーブルに受信した検索メッセージの検索対象の第２のコンテンツファイルを所持するコンテンツホルダである配信サーバ２の所在情報が記憶されているときに、インデックステーブルにホルダ情報が記憶されていると判定する。
【０１１６】
この処理において、インデックステーブルにホルダ情報が記憶されていると判定すると（ステップＳ７４）、制御部２０１は、記憶部２０２のインデックステーブルからホルダ情報（コンテンツホルダである配信サーバ２の所在情報）を取り出して検索メッセージの送信元装置であるリクエスタへ送信する（ステップＳ７５）。
【０１１７】
ステップＳ７３の処理において受信したメッセージが検索メッセージではないと判定すると（ステップＳ７３：Ｎｏ）、制御部２０１は、受信したメッセージが登録メッセージであるか否かを判定する（ステップＳ７６）。このとき、受信したメッセージが登録メッセージであると判定すると（ステップＳ７６：Ｙｅｓ）、制御部２０１は、受信した登録メッセージに含まれるホルダ情報を記憶部２０２のインデックステーブルに追加する（ステップＳ７７）。一方、受信したメッセージが登録メッセージではないと判定すると（ステップＳ７６：Ｎｏ）、制御部２０１は、受信したメッセージがファイル要求メッセージであるか否かを判定する（ステップＳ８５）。このとき、受信したメッセージがファイル要求メッセージであると判定すると（ステップＳ８５：Ｙｅｓ）、制御部２０１は、ファイル要求メッセージで指定された第２のコンテンツファイルを記憶部２０２から読み出し、この第２のコンテンツファイルを通信部２０３及びネットワーク８を介して送信する（ステップＳ８６）。このように制御部１０１は、端末装置１が要求した第２のコンテンツファイルを送信するコンテンツ送信手段として機能する。
【０１１８】
ステップＳ７５，Ｓ７７の処理が終了したとき、又はステップＳ７４でホルダ情報がインデックステーブルにないと判定したとき（ステップＳ７４：Ｎｏ）、制御部２０１は、自装置がルートノードであるか否かを判定する（ステップＳ７８）。制御部２０１は、受信したメッセージの宛先識別情報がサーバＩＤに最も近いとき自装置がルートノードであると判定する。
【０１１９】
自装置がルートノードではないと判定すると（ステップＳ７８：Ｎｏ）、制御部２０１は、受信したメッセージを自装置の記憶部２０２に記憶したルーティングテーブルに基づいて通信部２０３及びネットワーク８を介して他の配信サーバ２へ転送する（ステップＳ７９）。
【０１２０】
ステップＳ７１の処理において、メッセージを受信していないと判定すると（ステップＳ７２：Ｎｏ）、制御部２０１は、コンテンツファイルのデータを受信したか否かを判定する（ステップＳ８１）。この処理において、コンテンツファイルのデータを受信したと判定すると（ステッ８１：Ｙｅｓ）、制御部２０１は、受信したデータを記憶部２０２に書き込む（ステップＳ８２）。このように制御部１０１は、第２のコンテンツファイルをコンテンツ記憶手段としての記憶部２０２に保持させる記憶処理手段として機能する。
【０１２１】
次に、制御部２０１は、ステップＳ８２の処理においてデータを書き込むことによって記憶部２０２に第２のコンテンツファイルの全データが記憶され、記憶部２０２上で第２のコンテンツファイルが完成したか否かを判定する（ステップＳ８３）。このとき、第２のコンテンツファイルが完成したと判定すると（ステップＳ８３：Ｙｅｓ）、制御部２０１は、分散プール９ｂ内に登録メッセージを送信する（ステップＳ８４）。すなわち、制御部２０１は、完成した第２のコンテンツファイルの第２ファイルＩＤを宛先識別情報として自装置の所在情報等をホルダ情報とした登録メッセージを生成し、この登録メッセージを自装置の記憶部２０２に記憶したルーティングテーブルに基づいてＤＨＴルーティングにより送信する。
【０１２２】
ステップ７９，Ｓ８０，Ｓ８６の処理が終了したとき、ステップＳ７８の処理において自装置がルートノードであると判定したとき（ステップＳ７８：Ｙｅｓ）、ステップＳ８１でコンテンツファイルのデータを受信していないと判定したとき（ステップＳ８１：Ｎｏ）、ステップＳ８３の処理においてコンテンツファイルが完成していないと判定したとき（ステップＳ８３：Ｎｏ）、ステップＳ８５で受信したメッセージがファイル要求メッセージではないと判定したとき（ステップＳ８５：Ｎｏ）、制御部２０１は、終了指示を検知したか否かを判定する（ステップＳ８７）。例えば、自装置の電源がＯＦＦ状態へ移行したとき、制御部２０１は、終了指示を検知する。
【０１２３】
ステップＳ８７の処理において、終了指示を検知したと判定すると（ステップＳ８７：Ｙｅｓ）、制御部２０１は、メイン処理を終了し、一方、終了指示を検知していないと判定すると（ステップＳ８７：Ｎｏ）、制御部２０１は、ステップＳ７１からの処理を繰り返す。
【０１２４】
以上のように、本第１実施形態における配信サーバ２では、端末装置１や他の配信サーバ２との通信をＤＨＴルーティングで行ない、端末装置１から要求される第２のコンテンツファイルを送信するようにしている。
【０１２５】
［１．７．投入サーバ１０の具体的構成及び動作の説明］
次に、投入サーバ１０の具体的構成及び動作の一例について説明する。
【０１２６】
（投入サーバ１０の構成について）
まず、投入サーバ１０の具体的構成について説明する。図１８は、本実施形態の情報配信システムＳにおける投入サーバ１０の概略構成を示す図である。
【０１２７】
投入サーバ１０は、一般のサーバコンピュータを適用可能であり、図１８に示すように、投入サーバ１０全体を制御する制御部３０１と、コンテンツデータを記憶するコンテンツ記憶領域を有する書き換え可能な記憶部３０２と、端末装置１及び配信サーバ２と通信するための通信部３０３とを備えており、これらはシステムバス３１０を介して相互に接続されている。
【０１２８】
制御部３０１は、ＣＰＵ（Central Processing Unit）、内部メモリなどから構成される。この内部メモリには、端末装置１及び配信サーバ２と間でのコンテンツファイルやその他のメッセージを送受信するための情報処理プログラムが格納されており、ＣＰＵは内部メモリに記憶されている情報処理プログラムを読み出して実行することによって、第１投入手段、第２投入手段等として機能する。
【０１２９】
なお、この情報処理プログラムは、例えば、ネットワーク８に接続された他のサーバから、通信部３０３を介して、制御部３０１の内部メモリにダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、制御部３０１の内部メモリに読み込まれるようにしてもよい。
【０１３０】
（投入サーバ１０の具体的動作について）
以上のように構成された投入サーバ１０の動作の一例を図面を参照して具体的に説明する。図１９は本実施形態における投入サーバ１０のメイン処理フローチャートである。なお、以下の各処理は、投入サーバ１０の制御部３０１が上述した各手段等として機能することによって実行されるものである。
【０１３１】
投入サーバ１０においてメイン電源スイッチ（図示せず）がＯＮされたときやリセットスイッチ（図示せず）が操作されたとき、図１９に示すように、投入サーバ１０は初期化動作を行なう（ステップＳ９０）。具体的には、制御部３０１のＣＰＵは、内部メモリの作業領域確保等の初期設定動作を実行し、内部メモリに記憶した情報処理プログラムを実行状態として、制御部３０１としての機能を動作状態とする。
【０１３２】
次に、制御部３０１は、コンテンツファイルの投入指示があるか否かを判定する（ステップＳ９１）。ここで、制御部３０１は、ネットワーク８及び通信部３０３を介して管理装置（図示せず）から新規コンテンツの投入指示があったときにコンテンツファイルの投入指示があると判定する。なお、新規コンテンツの投入指示には、新規コンテンツのコンテンツデータを含む。
【０１３３】
ステップＳ９１の処理において、制御部３０１は、コンテンツファイルの投入指示があると判定したとき（ステップＳ９１：Ｙｅｓ）、制御部３０１は、分散プール９ｂ用の分割処理を行なう（ステップＳ９２）。この処理は、図２０のステップＳ１００〜Ｓ１０５までの処理であり、後で詳述する。
【０１３４】
次に、制御部３０１は、ユーザネット９ａ用の分割処理を行なう（ステップＳ９３）。この処理は、図２１のステップＳ１１０〜１１７までの処理であり、後で詳述する。
【０１３５】
次に、制御部３０１は、投入指示のあったコンテンツのメタファイルを作成し（ステップＳ９４）、このメタファイル及びステップＳ９２の処理で新規に作成した第２のコンテンツファイルのそれぞれについての事前ＰＵＳＨメッセージを生成し、任意に選択した複数の配信サーバ２へ通信部３０３及びネットワーク８を介して送信する（ステップＳ９５）。また、同様に、メタファイル及びステップＳ９３の処理で新規に作成した第２のコンテンツファイルのそれぞれについての事前ＰＵＳＨメッセージを生成し、任意に選択した複数の端末装置１へ通信部３０３及びネットワーク８を介して送信する（ステップＳ９６）
【０１３６】
ステップＳ９１の処理において、コンテンツの投入指示がないと判定すると（ステップＳ９１：Ｎｏ）、制御部３０１は、投入コンテンツ取得メッセージを端末装置１又は配信サーバ２からネットワーク８及び通信部３０３を介して受信したか否かを判定する（ステップＳ９７）。この処理において、投入コンテンツ取得メッセージを受信したと判定すると（ステップＳ９７：Ｙｅｓ）、制御部３０１は、この投入コンテンツ取得メッセージにより要求されたコンテンツファイルである分割コンテンツデータ又はメタファイルを、通信部３０３及びネットワーク８を介して送信する（ステップＳ９８）。
【０１３７】
ここで、端末装置１からの投入コンテンツ取得メッセージは、第１のコンテンツファイルの送信要求であり、配信サーバ２からの投入コンテンツ取得メッセージは、第２のコンテンツファイルの送信要求である。このように制御部１０１は、第２のコンテンツファイルを配信サーバ２へ送信する第１投入手段と、第１のコンテンツファイルの保持を複数の端末装置１へ要求する第２投入手段として機能する。
【０１３８】
ステップＳ９６，Ｓ９８の処理が終了したとき、或いは、ステップＳ９７の処理において投入コンテンツ取得メッセージを受信していないと判定すると（ステップＳ９７：Ｎｏ）、制御部３０１は、終了指示を検知したか否かを判定する（ステップＳ９９）。例えば、自装置の電源がＯＦＦ状態へ移行したとき、制御部３０１は、終了指示を検知する。
【０１３９】
ステップＳ９９において、終了指示を検知したと判定すると（ステップＳ９９：Ｙｅｓ）、制御部３０１は、メイン処理を終了し、一方、終了指示を検知していないと判定すると（ステップＳ９９：Ｎｏ）、制御部３０１は、ステップＳ９１からの処理を繰り返す。
【０１４０】
次に、ステップＳ９２の分散プール用分割処理について図２０のフローチャートを参照して具体的に説明する。図２０は投入サーバ１０における分散プール用分割処理のフローチャートである。
【０１４１】
図２０に示すように、分散プール用分割処理を開始すると、制御部３０１は、管理装置からのコンテンツ投入指示に分散プール９ｂ用の分割の有無の指示があるか否かを判定する（ステップＳ１００）。この処理において、分散プール９ｂ用の分割の有無の指示がないと判定すると（ステップＳ１００：Ｎｏ）、制御部３０１は、分散プール９ｂ用としては新規コンテンツデータの分割を行なわずに、新規コンテンツデータそのものを第２のコンテンツファイルとしてファイルＩＤを決定して（ステップＳ１０１）、分散プール９ｂ用の分割処理を終了する。
【０１４２】
ステップＳ１００の処理において、分散プール９ｂ用の分割の有無の指示があると判定すると（ステップＳ１００：Ｙｅｓ）、制御部３０１は、コンテンツの投入指示に分散プール９ｂ用の分割サイズの指定があるか否かを判定する（ステップＳ１０２）。この処理において、分散プール９ｂ用の分割サイズの指定がないと判定すると（ステップＳ１０２：Ｎｏ）、分割サイズを記憶部３０２に予め記憶した標準サイズに決定し（ステップＳ１０３）、分散プール９ｂ用の分割サイズの指定があると判定すると（ステップＳ１０２：Ｙｅｓ）、制御部３０１は、新規コンテンツデータの分割サイズを指定された分割サイズに決定する（ステップＳ１０４）。そして、分散プール９ｂ用として新規コンテンツデータを指定された分割サイズで分割して、複数の分割コンテンツデータを生成し、各分割コンテンツデータをそれぞれ第２のコンテンツファイルとしてファイルＩＤを決定して（ステップＳ１０５）、分散プール９ｂ用の分割処理を終了する。
【０１４３】
次に、ステップＳ９３のユーザネット用分割処理について図２１のフローチャートを参照して具体的に説明する。図２１は投入サーバ１０におけるユーザネット用分割処理のフローチャートである。
【０１４４】
図２１に示すように、ユーザネット９ａ用の分割処理を開始すると、制御部３０１は、管理装置からのコンテンツ投入指示にユーザネット９ａ用の分割サイズの指定があるか否かを判定する（ステップＳ１１０）。この処理において、ユーザネット９ａ用の分割サイズの指定がないと判定すると（ステップＳ１１０：Ｎｏ）、分割サイズを記憶部３０２に予め記憶した標準サイズに決定し（ステップＳ１１１）、ユーザネット９ａ用の分割サイズの指定があると判定すると（ステップＳ１１１：Ｙｅｓ）、制御部３０１は、新規コンテンツデータの分割サイズを指定された分割サイズに決定する（ステップＳ１１２）。このときの新規コンテンツデータの分割サイズは、第２のコンテンツファイルのデータサイズよりも小さく設定される。
【０１４５】
次に、制御部３０１は、管理装置からのコンテンツ投入指示に投入方法１が規定されているか否かを判定する（ステップＳ１１３）。この処理において、投入方法１が規定されていると判定すると（ステップＳ１１３：Ｙｅｓ）、制御部３０１は、ユーザネット９ａ用に指定された分割サイズで投入する新規コンテンツのデータを分割した分割コンテンツデータを生成し、各分割コンテンツデータを第２のコンテンツファイルとしてそれぞれに割り当てるファイルＩＤを決定し（ステップＳ１１４）、端末装置１へ送信するメッセージの内容を「投入サーバからから取得」として（ステップＳ１１５）、ユーザネット９ａ用の分割処理を終了する。
【０１４６】
一方、管理装置からのコンテンツ投入指示に投入方法１が規定されていないと判定すると（ステップＳ１１３：Ｎｏ）、制御部３０１は、ユーザネット９ａ用に指定された分割サイズで投入する新規コンテンツのデータを分割して分割コンテンツデータを生成するとした場合の第２のコンテンツファイルである各分割コンテンツデータそれぞれに割り当てるファイルＩＤを決定し（ステップＳ１１６）、端末装置１へ送信するメッセージの内容を「分散プールから取得」として（ステップＳ１１７）、ユーザネット９ａ用の分割処理を終了する。
【０１４７】
以上のように、本第１実施形態における投入サーバ１０では、新規コンテンツデータを情報配信システムＳに投入するとき、新規コンテンツデータをユーザネット９ａ用の第１のコンテンツファイルとしてユーザネット９ａの端末装置１へ投入し、また、新規コンテンツデータを分散プール９ｂ用の第２のコンテンツファイルとして分散プール９ｂ内の配信サーバ２へ投入するようにしている。このとき、第１のコンテンツファイルのデータサイズを第２のコンテンツファイルのデータサイズよりも小さくするようにしており、各端末装置１のストレージを有効に活用すると共に、コンテンツファイルの改竄確認の時間を短縮することができ、しかも、各配信サーバ２におけるファイル管理を容易に行なうことができる。
【０１４８】
また、新規コンテンツデータを情報配信システムＳの端末装置１へ投入する方法として、投入サーバ１０で新規コンテンツデータを分割して第１のコンテンツファイルを準備しておき、端末装置１への要求に応じてこの第１のコンテンツファイルを送信する投入方法１と、分散プール９ｂから第２のコンテンツファイルを端末装置１に取得させ、この第２のコンテンツファイルから第１のコンテンツファイルを抽出させる投入方法２とを選択可能としている。投入方法１を採用することで分散プール９ｂの負荷を軽減することができ、投入方法２を採用することで投入サーバ１０の負荷を軽減することができる。
【０１４９】
〔２．第２実施形態〕
上記第１実施形態では、端末装置１が所望の第１のコンテンツファイルを分散プール９ｂから取得する方法として、端末装置１が所望の第１のコンテンツファイルに対応する第２のコンテンツファイルを取得し、この第２のコンテンツファイルから第１のコンテンツファイルを抽出することで、所望の第１のコンテンツファイルを取得するようにした。
【０１５０】
本第２実施形態では、端末装置１が所望の第１のコンテンツファイルを分散プール９ｂから取得する方法として、所望の第１のコンテンツファイルのデータ位置を指定してこの第１のコンテンツファイルに対応する第２のコンテンツファイルを保持する配信サーバ２に、第１のコンテンツファイルを抽出させて端末装置１へ送信させる。
【０１５１】
すなわち、検索メッセージにより分散プール９ｂからホルダ情報を取得した端末装置１の制御部１０１は、図１２に示すステップＳ３８の処理において、取得しようとする第１のコンテンツファイルのデータ位置を含む第２のコンテンツファイル自体を要求するのではなく、取得しようとする第１のコンテンツファイルの送信を要求するために、第１のコンテンツファイルのデータ位置を含む第２のコンテンツファイルのファイルＩＤ、第１のコンテンツファイルのデータ位置及び自装置の所在情報を含むファイル要求メッセージを送信する。このファイル要求メッセージを受信したコンテンツホルダである配信サーバ２の制御部２０１は、ファイル要求メッセージで規定されるデータ位置の情報に基づいて第２のコンテンツファイルから第１のコンテンツファイルを抽出して端末装置１へ送信する。端末装置１の制御部１０１は、図１５のステップＳ６１〜Ｓ６３に示すような処理、すなわち受信したコンテンツファイルの送信元が端末装置１であるか配信サーバ２であるかの区別をすることなく、配信サーバ２から第１のコンテンツファイルのデータを受信して第２記憶部１０３へ書き込み、第１のコンテンツファイルである分割コンテンツデータを再生する。
【０１５２】
例えば、端末装置１の制御部１０１が再生しようとするコンテンツデータのメタファイルが図９に示すように規定され、取得しようとする第１のコンテンツファイルの第１ファイルＩＤが「2121」のとき、端末装置１の制御部１０１は、第２記憶部１０３に記憶したメタファイルから、第１ファイルＩＤ「2121」の第１のコンテンツファイルのデータ含む第２のコンテンツファイルの第２ファイルＩＤ「3030」を抽出する。そして、端末装置１の制御部１０１は、抽出した第２ファイルＩＤ「3030」を識別宛先情報として検索メッセージを分散プール９ｂ内の任意の配信サーバ２に通信部２０３及びネットワーク８を介して送信する。この検索メッセージは、ＤＨＴルーティングにより分散プール９ｂ内の第２ファイルＩＤ「3030」のルートノードである配信サーバ２に到達すると、ルートノードは、第２ファイルＩＤ「3030」のコンテンツホルダとなっている配信サーバ２の所在情報（ホルダ情報）を検索メッセージの送信元の端末装置１へ送信する。端末装置１の制御部１０１は、取得した所在情報のコンテンツホルダへ第１のコンテンツファイルの送信を要求するファイル要求メッセージを通信部２０３及びネットワーク８を介して送信する。このファイル要求メッセージには、第２ファイルＩＤ「3030」、第１ファイルＩＤが「2121」の第１のコンテンツファイルのデータ位置「501−750」、及び端末装置１の所在情報が含まれる。コンテンツホルダである配信サーバ２の制御部２０１は、ファイル要求メッセージを受信すると、第２ファイルＩＤ「3030」の第２のコンテンツファイルからデータ位置「501−750」のデータを取り出し、第１ファイルＩＤが「2121」の第１のコンテンツファイルとして端末装置１へ送信する。
【０１５３】
このように、端末装置１の制御部１０１は、他の端末装置１から取得できない第１のコンテンツファイルに対応する第２のコンテンツファイルのデータ領域を指定して第１のコンテンツファイルの送信を配信サーバへ通信部２０３及びネットワーク８を介して要求する第２取得手段として機能する。また、配信サーバ２は、端末装置１が要求した第２のコンテンツファイルのデータから第１のコンテンツファイルを抽出して、当該第１のコンテンツファイルを送信するコンテンツ送信手段として機能する。
【０１５４】
このように第２実施形態の情報配信システムＳでは、端末装置１が分散プール９ｂの配信サーバ２から取得するコンテンツファイルを第１のコンテンツファイルとしているので、端末装置１と配信サーバ２との間で送受信するデータ量を低減させることができ、これによりネットワーク８の負荷を低減することができる。また、端末装置１は配信サーバ２から取得したコンテンツファイルをそのまま記憶することができるので、端末装置１の処理負荷の低減を図ることもできる。
【０１５５】
〔３．第３実施形態〕
上記第２実施形態の端末装置では、分散プール９ｂ内のコンテンツホルダへ送信するファイル要求メッセージとして、第２ファイルＩＤ、第１ファイルＩＤが「2121」の第１のコンテンツファイルのデータ位置「501−750」及び端末装置１の所在情報とを含むメッセージを生成して、分散プール９ｂ内のコンテンツホルダに送信するようにした。
【０１５６】
本第３実施形態では、分散プール９ｂ内のコンテンツホルダへ送信するファイル要求メッセージとして、第２ファイルＩＤを含まず、第１ファイルＩＤと端末装置１の所在情報とを含むメッセージを生成して、分散プール９ｂ内のコンテンツホルダに送信する。
【０１５７】
すなわち、検索メッセージにより分散プール９ｂからホルダ情報を取得した端末装置１の制御部１０１は、図１２に示すステップＳ３８の処理において、取得しようとする第１のコンテンツファイルのデータ位置を含む第２のコンテンツファイル自体を要求するのではなく、取得しようとする第１のコンテンツファイルの送信を要求するために、取得しようとする第１のコンテンツファイルの第１ファイルＩＤとメタファイル、及び自装置の所在情報を含むファイル要求メッセージを送信する。このファイル要求メッセージを受信したコンテンツホルダである配信サーバ２の制御部２０１は、ファイル要求メッセージで規定される第１ファイルＩＤを有する第１のコンテンツファイルをメタファイルに基づいて記憶部２０２から取り出して端末装置１へ送信する。端末装置１の制御部１０１は、図１５のステップＳ６１〜Ｓ６３に示すような処理、すなわち受信したコンテンツファイルの送信元が端末装置１であるか配信サーバ２であるかの区別をすることなく、配信サーバ２から第１のコンテンツファイルのデータを受信して第２記憶部１０３へ書き込み、第１のコンテンツファイルである分割コンテンツデータを再生する。
【０１５８】
例えば、端末装置１の制御部１０１が再生しようとするコンテンツデータのメタファイルが図９に示すように規定され、取得しようとする第１のコンテンツファイルの第１ファイルＩＤが「2121」のとき、端末装置１の制御部１０１は、第２記憶部１０３に記憶したメタファイルから、第１ファイルＩＤ「2121」の第１のコンテンツファイルのデータ含む第２のコンテンツファイルの第２ファイルＩＤ「3030」を抽出する。そして、端末装置１の制御部１０１は、抽出した第２ファイルＩＤ「3030」を識別宛先情報として検索メッセージを分散プール９ｂ内の任意の配信サーバ２に通信部２０３及びネットワーク８を介して送信する。この検索メッセージは、ＤＨＴルーティングにより分散プール９ｂ内の第２ファイルＩＤ「3030」のルートノードである配信サーバ２に到達すると、ルートノードは、第２ファイルＩＤ「3030」のコンテンツホルダとなっている配信サーバ２の所在情報（ホルダ情報）を検索メッセージの送信元の端末装置１へ送信する。端末装置１の制御部１０１は、取得した所在情報のコンテンツホルダへ第１ファイルＩＤ「2121」の第１のコンテンツファイルの送信を要求するファイル要求メッセージを通信部２０３及びネットワーク８を介して送信する。このファイル要求メッセージには、第１ファイルＩＤが「2121」とメタファイル、及び端末装置１の所在情報が含まれる。コンテンツホルダである配信サーバ２の制御部２０１は、ファイル要求メッセージを受信すると、このメッセージに含まれるメタファイルから第１ファイルＩＤが「2121」に対応する第２のコンテンツファイルの第２ファイルＩＤが「3030」でありデータ位置「501−750」であると判定し、第２ファイルＩＤ「3030」の第２のコンテンツファイルからデータ位置「501−750」のデータを取り出し、第１ファイルＩＤが「2121」の第１のコンテンツファイルとして端末装置１へ送信する。
【０１５９】
このように、端末装置１の制御部１０１は、他の端末装置１から取得できない第１のコンテンツファイルを配信サーバ２へ要求し、当該要求した第１のコンテンツファイルを配信サーバ２から取得する第２取得手段として機能する。また、配信サーバ２の制御部２０１は、対応情報であるメタファイルに基づき、端末装置１から要求された第１のコンテンツファイルを、この第１のコンテンツファイルに対応する第２のコンテンツファイルから抽出して、通信部２０３及びネットワーク８を介して要求元の端末装置１へ送信するコンテンツ送信手段として機能する。
【０１６０】
以上のように、第３実施形態の情報配信システムＳでは、端末装置１が分散プール９ｂの配信サーバ２から取得するコンテンツファイルを第１のコンテンツファイルとしているので、端末装置１と配信サーバ２との間で送受信するデータ量を低減させることができ、これによりネットワーク８の負荷を低減することができる。また、端末装置１は配信サーバ２から取得したコンテンツファイルをそのまま記憶することができるので、端末装置１の処理負荷の低減を図ることもできる。
【０１６１】
〔４．第４実施形態〕
上記第３実施形態では、端末装置１から分散プール９ｂへ送信する検索メッセージの宛先識別情報として、第２ファイルＩＤを用いることとしたが、本第４実施形態の情報配信システムＳでは、第１ファイルＩＤを用いることとしている。図２２は第４実施形態の配信サーバのメイン処理フローチャートである。なお、図２２におけるステップＳ７０〜Ｓ７４，Ｓ８１〜Ｓ８７の処理は図１７で説明した処理と同じであることから個々では説明を省略する。
【０１６２】
図２２に示すように、配信サーバ２の制御部２０１は、検索メッセージを受信すると（ステップＳ７３：Ｙｅｓ）、その検索メッセージが端末装置１から送信されたものであるか否かを判定する（ステップＳ２００）。この処理において、端末装置１からの検索メッセージであると判定すると（ステップＳ２００：Ｙｅｓ）、制御部２０１は、この検索メッセージの宛先識別情報を第２ファイルＩＤに付け替える（ステップＳ２０１）。すなわち、制御部２０１は、検索メッセージの宛先識別情報に対応する第１のコンテンツファイルを含む第２のコンテンツファイルの第２ファイルＩＤに検索メッセージの宛先識別情報とする。なお、第１のコンテンツファイルと第２のコンテンツファイルとの関係を定義するメタファイルは、配信サーバ２において全てのコンテンツのメタファイルを投入サーバ１０から予め取得しておくようにしておく。このようにすることで、ユーザネット９ａの端末装置１では、第１のコンテンツファイルと第２のコンテンツファイルとの関係を定義するメタファイルを所持することが不要となる（但し、コンテンツに含まれる複数の第１のコンテンツファイルの第１ファイルＩＤを定義するメタファイルは必要）。なお、端末装置１の制御部１０１が検索メッセージにメタファイルを含ませるようにしてもよい。
【０１６３】
ステップＳ２００の処理において検索メッセージが端末装置１からではないと判定したとき（ステップＳ２００：Ｎｏ）、又はステップＳ２０１の処理が終了したとき、配信サーバ２の制御部２０１は、インデックステーブルにホルダ情報があるか否かを判定し（ステップＳ７４）、ホルダ情報があるとき（ステップＳ７４：Ｙｅｓ）、処理をステップＳ７５’へ移行する。制御部２０１は、このステップＳ７５’において、メタファイルに基づいて、ステップＳ２０１の処理で変換した第２ファイルＩＤをさらに第１ファイルＩＤに変換して、この第１ファイルＩＤをホルダ情報として検索メッセージを送信した端末装置１へ通信部２０３及びネットワーク８を介して返信する。
【０１６４】
また、ステップＳ８５の処理において、受信したメッセージがファイル要求メッセージであると判定したとき（ステップＳ８５：Ｙｅｓ）、制御部２０１は、そのファイル要求メッセージが端末装置１から送信されたものであるか否かを判定する（ステップＳ２０２）。この処理において、端末装置１からのファイル要求メッセージであると判定すると（ステップＳ２０２：Ｙｅｓ）、制御部２０１は、記憶部２０２に記憶した第２のコンテンツファイルのうち、メタファイルに基づいて、第１ファイルＩＤに対応する第２ファイルＩＤを有する第２のコンテンツファイルを抽出し、第１ファイルＩＤの第１のコンテンツファイルとして、ファイル要求メッセージを送信した端末装置１へ通信部２０３及びネットワーク８を介して送信する（ステップＳ２０３）。
【０１６５】
このように、端末装置１の制御部１０１は、他の端末装置１から取得できない第１のコンテンツファイルを配信サーバ２へ要求し、当該要求した第１のコンテンツファイルを配信サーバ２から取得する第２取得手段として機能する。また、配信サーバ２の制御部２０１は、対応情報であるメタファイルに基づき、端末装置１から要求された第１のコンテンツファイルを、この第１のコンテンツファイルに対応する第２のコンテンツファイルから抽出して、通信部２０３及びネットワーク８を介して要求元の端末装置１へ送信するコンテンツ送信手段として機能する。
【０１６６】
以上のように、第４実施形態の情報配信システムＳでは、端末装置１が分散プール９ｂの配信サーバ２への検索メッセージ及びファイル要求メッセージを第１ファイルＩＤで行なうこととしているので、第１のコンテンツファイルと第２のコンテンツファイルとの関係を定義するメタファイルを端末装置１で保持する必要がないことから記憶容量の低減を図ることができ、また端末装置１で第２ファイルＩＤへの変換処理も必要ないことから処理負荷の低減を図ることができる。
【０１６７】
〔５．その他の実施形態〕
上述の実施形態においては、端末装置１の制御部１０１は、ユーザネット９ａ内の他の端末装置１から第１のコンテンツファイルが取得できないときに、分散プール９ｂ内の配信サーバ２から第１のコンテンツファイル又はこの第１のコンテンツファイルに対応する第２のコンテンツファイルを取得するようにしたが、さらに、ユーザネット９ａ内の他の端末装置１から第１のコンテンツファイルのが分割してが取得できないときにおいて、分散プール９ｂ内の配信サーバ２から第１のコンテンツファイルの一部又はこの第１のコンテンツファイルに対応する第２のコンテンツファイルを取得することにより第１のコンテンツファイルの一部を取得する。
【０１６８】
例えば、端末装置１の制御部１０１は、その一部を取得しようとする第１のコンテンツファイルを含む第２のコンテンツファイルの第２ファイルＩＤ及び取得しようとしているデータ位置の範囲、及び自装置の所在情報を含むファイル要求メッセージを送信する。このファイル要求メッセージを受信したコンテンツホルダである配信サーバ２の制御部２０１は、ファイル要求メッセージで規定されるデータ位置の情報に基づいて第２のコンテンツファイルから指定されたデータ位置の範囲のデータを抽出して端末装置１へ送信する。
【０１６９】
このように、端末装置１の制御部１０１を、メタファイルに基づき、他の端末装置１から一部が取得できない第１のコンテンツファイルに対応する第２のコンテンツファイルのデータ領域を指定して第１のコンテンツファイルの一部のデータの送信を配信サーバへ要求し、当該要求した第１のコンテンツファイルの一部を配信サーバ２から取得する第２取得手段として機能させる。また、配信サーバ２の制御部２０１は、端末装置１が要求した第２のコンテンツファイルのデータから第１のコンテンツファイルの一部を抽出して、端末装置１が指定したデータ領域のデータを送信するコンテンツ送信手段として機能させる。
【０１７０】
このようにすることで、端末装置１は、ユーザネット９ａのコンテンツホルダから第１のコンテンツファイルを取得しているときに、ネットワーク８の帯域等の問題により第１のコンテンツファイルの取得に時間がかかると判定して、分散プール９ｂから第１のコンテンツファイルの一部を取得することができ、コンテンツファイルの再生をよりスムーズに行なうことが可能となる。
【０１７１】
また、上述の実施形態においては、第１のコンテンツファイルと第２のコンテンツファイルの対応関係を定義した対応情報をメタファイルとして説明したが、この対応情報をコンテンツカタログに含まれるようにしてもよい。
【０１７２】
また、上述の実施形態においては、端末装置１が検索メッセージ、ファイル要求メッセージを送ることとしたが、ファイル要求メッセージを受けた配信サーバ２が分散プール９ｂ内に検索メッセージを送信してコンテンツファイルを取得して、端末装置へ送信するようにしてもよい。
【０１７３】
例えば、各配信サーバ２は、端末装置１から第１のコンテンツファイルの送信要求があったときに（図２３に示す（２）参照。）、この第１のコンテンツファイルに対応する第２のコンテンツファイルを保持していないと判定すると、他の配信サーバ２に検索メッセージを送信する。そして、この検索メッセージによりコンテンツホルダの所在情報を取得し、当該コンテンツホルダに対して第２のコンテンツファイルの送信要求を行ない（図２３に示す（３）参照。）、端末装置１の要求にかかる第２のコンテンツファイルを取得し（図２３に示す（４）参照。）、当該第２のコンテンツファイルから第１のコンテンツファイルを抽出して要求元の端末装置１へ送信する（図２３に示す（５）参照。）。なお、第２のコンテンツファイルから第１のコンテンツファイルを抽出することなく、第２のコンテンツファイルをそのまま要求元の端末装置１へ送信するようにしてもよい。
【０１７４】
このように、配信サーバ２の制御部２０１は、端末装置１から要求された第２のコンテンツファイル又は第１のコンテンツファイルに対応する第２のコンテンツファイルがコンテンツ記憶手段である記憶部２０２にないとき、当該第２のコンテンツファイルを他の前記配信サーバから取得し、当該取得した第２のコンテンツファイルに対応する第１のコンテンツファイルを要求元の端末装置１へ送信するコンテンツ送信手段として機能させることができる。
【０１７５】
また、上述の実施形態においては、端末装置１が検索メッセージ、ファイル要求メッセージを送ることとしたが、ファイル要求メッセージを受けた配信サーバ２が分散プール９ｂ内の他の配信サーバ２にコンテンツファイルの送信依頼をして、依頼を受けた配信サーバ２が端末装置１へ送信するようにしてもよい。
【０１７６】
例えば、各配信サーバ２は、端末装置１から第１のコンテンツファイルの送信要求があったときに（図２４に示す（２）参照。）、この第１のコンテンツファイルに対応する第２のコンテンツファイルを保持していないと判定すると、他の配信サーバ２に検索メッセージを送信する。そして、この検索メッセージによりコンテンツホルダの所在情報を取得し、当該コンテンツホルダに対して第１のコンテンツファイルの送信要求を行ない（図２４に示す（３）参照。）、このコンテンツホルダが、第２のコンテンツファイルから第１のコンテンツファイルを抽出して要求元の端末装置１へ送信する（図２４に示す（５）参照。）。なお、第２のコンテンツファイルから第１のコンテンツファイルを抽出することなく、第２のコンテンツファイルをそのまま要求元の端末装置１へ送信するようにしてもよい。
【０１７７】
このように、配信サーバ２の制御部２０１は、端末装置１から要求された第２のコンテンツファイル又は第１のコンテンツファイルに対応する第２のコンテンツファイルがコンテンツ記憶手段である記憶部２０２にないとき、自装置を宛先として或いは要求した端末装置１を宛先として第２のコンテンツファイルの送信を行なうように、他の配信サーバ２に対して要求するコンテンツ送信要求手段、また、他の配信サーバ２に対して要求に応じて、指定された端末装置１又は配信サーバ２を宛先として第１のコンテンツファイル又は第２のコンテンツファイルを送信するコンテンツ送信手段として機能させることができる。
【図面の簡単な説明】
【０１７８】
【図１】本発明の一実施形態に係る情報配信システムにおける各端末装置、各配信サーバ及び投入サーバの接続態様の一例を示す図である。
【図２】ルーティングテーブルの一例である。
【図３】投入サーバからコンテンツファイルが投入される様子を示す図である。
【図４】コンテンツホルダの登録メッセージがＤＨＴルーティングにより転送される様子を示す図である。
【図５】インデックステーブルの一例である。
【図６】コンテンツホルダがＤＨＴルーティングにより検索される様子の一例を示す図である。
【図７】端末装置が分散プールの配信サーバからコンテンツファイルを取得する様子を示す図である。
【図８】投入サーバから投入される第１のコンテンツファイルと第２のコンテンツファイルを説明するための図である。
【図９】新規コンテンツファイルを保持させる配信サーバの決定方法の説明図である。
【図１０】端末装置の概略構成の一例を示す図である。
【図１１】端末装置におけるメイン処理フローチャートである。
【図１２】端末装置におけるタイマ監視処理のフローチャートである。
【図１３】端末装置における再生処理のフローチャートである。
【図１４】端末装置におけるメッセージ受信処理のフローチャートである。
【図１５】端末装置におけるファイル受信処理のフローチャートである。
【図１６】配信サーバの概略構成の一例を示す図である。
【図１７】配信サーバのメイン処理フローチャートである。
【図１８】投入サーバの概略構成の一例を示す図である。
【図１９】投入サーバのメイン処理フローチャートである。
【図２０】投入サーバにおける分散プール用分割処理のフローチャートである。
【図２１】投入サーバにおけるユーザネット用分割処理のフローチャートである。
【図２２】他の配信サーバのメイン処理フローチャートである。
【図２３】端末装置が分散プールの配信サーバからコンテンツファイルを取得する様子を示す図である。
【図２４】端末装置が分散プールの配信サーバからコンテンツファイルを取得する様子を示す図である。
【符号の説明】
【０１７９】
Ｓ  情報配信システム
１  端末装置
２  配信サーバ
１０  投入サーバ
８  ネットワーク
９ａ  ユーザネット
９ｂ  分散プール
１０１  端末装置の制御部
１０２  端末装置の記憶部
１１１  端末装置の通信部
２０１  配信サーバの制御部
２０２  配信サーバの記憶部
２０３  配信サーバの通信部
３０１  投入サーバの制御部
３０２  投入サーバの記憶部
３０３  投入サーバの通信部
【図１】
2010004221.tif 000003
【図２】
2010004221.tif 000004
【図３】
2010004221.tif 000005
【図４】
2010004221.tif 000006
【図５】
2010004221.tif 000007
【図６】
2010004221.tif 000008
【図７】
2010004221.tif 000009
【図８】
2010004221.tif 000010
【図９】
2010004221.tif 000011
【図１０】
2010004221.tif 000012
【図１１】
2010004221.tif 000013
【図１２】
2010004221.tif 000014
【図１３】
2010004221.tif 000015
【図１４】
2010004221.tif 000016
【図１５】
2010004221.tif 000017
【図１６】
2010004221.tif 000018
【図１７】
2010004221.tif 000019
【図１８】
2010004221.tif 000020
【図１９】
2010004221.tif 000021
【図２０】
2010004221.tif 000022
【図２１】
2010004221.tif 000023
【図２２】
2010004221.tif 000024
【図２３】
2010004221.tif 000025
【図２４】
2010004221.tif 000026