(57)【要約】【課題】ネットワーク上に分散配置された複数の端末装置を有するＰ２Ｐ型のコンテンツ配信システムにおいて、コンテンツデータを視聴可能に公開したときに特定の端末装置にアクセスが集中することを回避することができるコンテンツ配信システム及びその情報処理方法等を提供すること。【解決手段】コンテンツ配信システムを構成する端末装置において、利用者によるコンテンツデータの取得要求操作が検出されたとき、この取得要求操作に応じたコンテンツデータを前記ネットワークを介して他の端末装置から取得して記憶する。その後、記憶したコンテンツデータの送信要求が他の端末装置からあったとき、送信要求に対応するコンテンツデータを他の端末装置へ送信する。一方、取得したコンテンツデータの予約期間が終了していないときには、コンテンツデータの再生を制限し、予約期間が終了したときには、コンテンツデータの再生を可能とする。【選択図】図１０
2008059399.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上に分散配置された複数の端末装置を備え、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおいて、
前記端末装置は、
利用者によるコンテンツデータの取得要求操作を検出するコンテンツデータ取得要求検出手段と、
前記コンテンツデータ取得要求検出手段により前記取得要求操作が検出されたとき、前記取得要求操作に応じた前記コンテンツデータを前記ネットワークを介して他の端末装置から取得するコンテンツデータ取得手段と、
前記コンテンツデータ取得手段により取得したコンテンツデータを記憶するコンテンツデータ記憶手段と、
前記コンテンツデータ記憶手段に記憶したコンテンツデータの送信要求が他の端末装置からあったとき、前記送信要求に対応するコンテンツデータを前記他の端末装置へ送信するコンテンツデータ送信手段と、
前記コンテンツデータ取得手段により取得したコンテンツデータの公開条件情報を取得する公開条件取得手段と、
前記公開条件取得手段により取得した公開条件情報に基づいて、前記コンテンツデータ取得手段により取得したコンテンツデータがその公開条件を満たすか否かを判定する公開条件判定手段と、
前記公開条件判定手段により公開条件を満たすと判定されたコンテンツデータの再生を行うコンテンツデータ再生手段と、
を備えたことを特徴とするコンテンツ配信システム。
【請求項２】
前記公開条件情報は、コンテンツデータの公開日時の情報であり、
前記公開条件判定手段は、
前記コンテンツデータ取得手段により取得したコンテンツデータがその公開日時となったコンテンツデータ又は前記公開日時を経過しているコンテンツデータであるとき、前記公開条件を満たすと判定する
ことを特徴とする請求項１に記載のコンテンツ配信システム。
【請求項３】
暗号化されたコンテンツデータを復号する復号キーを記憶する復号キー記憶手段と、前記端末装置からネットワークを介して復号キーの要求があると、前記復号キー記憶手段から取り出して要求元の前記端末装置へ送信する復号キー送信手段と、を備えた復号キー管理装置を備え、
前記端末装置は、
前記コンテンツデータ取得手段により取得したコンテンツデータが暗号化されたコンテンツデータであり、前記公開条件判定手段によりその公開条件を満たすと判定された場合に、前記公開条件を満たすコンテンツデータに対応する復号キーを前記復号キー管理装置に対して要求する復号キー要求手段と、
前記復号キー要求手段による前記要求に応じて前記復号キー管理装置から送信される復号キーを取得する復号キー取得手段と、を備え、
前記コンテンツデータ再生手段は、
前記コンテンツデータ取得手段によって取得したコンテンツデータを前記復号キー取得手段により取得した復号キーによって復号した後、前記コンテンツデータを再生する
ことを特徴とする請求項１又は請求項２に記載のコンテンツ配信システム。
【請求項４】
複数のコンテンツデータを記憶するコンテンツ記憶手段と、前記ネットワークを介して前記端末装置からコンテンツデータの送信要求があると、前記コンテンツ記憶手段からコンテンツデータを取り出して、要求元の前記端末装置へ送信するコンテンツ送信手段と、
を備えたコンテンツサーバ装置を備え、
前記端末装置のコンテンツデータ取得手段は、
前記取得要求操作に対応するコンテンツデータが前記ネットワークを介して他の端末装置から取得することができないとき、所定時間待機した後に前記取得要求操作に応じたコンテンツデータの取得処理を再度行う
ことを特徴とする請求項１から３のいずれか１項に記載のコンテンツ配信システム。
【請求項５】
ネットワーク上に分散配置された複数の端末装置を備え、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置において、
利用者によるコンテンツデータの取得要求操作を検出するコンテンツデータ取得要求検出手段と、
前記コンテンツデータ取得要求検出手段により前記取得要求操作が検出されたとき、前記取得要求操作に応じた前記コンテンツデータを前記ネットワークを介して他の端末装置から取得するコンテンツデータ取得手段と、
前記コンテンツデータ取得手段により取得したコンテンツデータを記憶するコンテンツデータ記憶手段と、
前記コンテンツデータ記憶手段に記憶したコンテンツデータの送信要求が他の端末装置からあったとき、前記送信要求に対応するコンテンツデータを前記他の端末装置へ送信するコンテンツデータ送信手段と、
前記コンテンツデータ取得手段により取得したコンテンツデータの公開条件情報を取得する公開条件取得手段と、
前記公開条件取得手段により取得した公開条件情報に基づいて、前記コンテンツデータ取得手段により取得したコンテンツデータがその公開条件を満たすか否かを判定する公開条件判定手段と、
前記公開条件判定手段により公開条件を満たすと判定されたコンテンツデータの再生を行うコンテンツデータ再生手段と、
を備えたことを特徴とする端末装置。
【請求項６】
前記コンテンツデータには、前記公開条件情報が含まれており、
前記公開条件取得手段は、
前記コンテンツデータ取得手段により取得したコンテンツデータに含まれる前記公開条件情報を抽出することによって、前記公開条件を取得する
ことを特徴とする請求項５に記載の端末装置。
【請求項７】
前記公開条件情報は、コンテンツデータの公開日時の情報であり、
前記公開条件判定手段は、
前記コンテンツデータ取得手段により取得したコンテンツデータがその公開日時となったコンテンツデータ又は前記公開日時を経過しているコンテンツデータであるとき、前記公開条件を満たすと判定する
ことを特徴とする請求項５又は請求項６に記載の端末装置。
【請求項８】
前記コンテンツデータ取得手段は、
前記取得要求操作に応じたコンテンツデータを前記他の端末装置から取得することができないとき、所定時間待機した後に前記取得要求操作に応じたコンテンツデータの取得処理を再度行う
ことを特徴とする請求項７に記載の端末装置。
【請求項９】
前記所定時間は、ランダムに決定される時間である
ことを特徴とする請求項８に記載の端末装置。
【請求項１０】
前記所定時間は、前記公開日時までの残り時間の１／２の時間である
ことを特徴とする請求項８に記載の端末装置。
【請求項１１】
前記所定時間は、一定時間を、前記コンテンツデータの取得処理におけるリトライ回数で除した時間である
ことを特徴とする請求項８に記載の端末装置。
【請求項１２】
前記公開条件判定手段により前記再生要求に対応するコンテンツデータがその公開条件を満たさないと判定されると、前記再生要求に対応するコンテンツデータがその公開条件を満たすことになったときに、その旨を報知する報知手段を備えた
ことを特徴とする請求項５から１１のいずれか１項に記載のコンテンツ配信システム。
【請求項１３】
前記コンテンツデータ取得手段により取得したコンテンツデータが暗号化されたコンテンツデータであり、前記公開条件判定手段によりその公開条件を満たすと判定された場合に、前記公開条件を満たすコンテンツデータに対応する復号キーを復号キー管理装置に対して要求する復号キー要求手段と、
前記復号キー要求手段による前記要求に応じて前記復号キー管理装置から送信される復号キーを取得する復号キー取得手段と、を備え、
前記コンテンツデータ再生手段は、
前記コンテンツデータ取得手段によって取得したコンテンツデータを前記復号キー取得手段により取得した復号キーによって復号した後、前記コンテンツデータを再生する
ことを特徴とする請求項５から１２のいずれか１項に記載の端末装置。
【請求項１４】
前記コンテンツデータ取得手段は、
前記取得要求操作に対応するコンテンツデータが前記他の端末装置から取得することができないときであっても、その公開条件を満たすときには、前記取得要求操作に対応するコンテンツデータを保持するコンテンツサーバ装置から前記取得要求操作に対応するコンテンツデータを取得する
ことを特徴とする請求項５から１３のいずれか１項に記載の端末装置。
【請求項１５】
コンピュータを、請求項５から１４のいずれか１項に記載の端末装置における各手段として機能させるためのプログラム。
【請求項１６】
ネットワーク上に分散配置された複数の端末装置を備え、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける情報処理方法において、
前記端末装置が、利用者によるコンテンツデータの取得要求操作を検出するステップと、
前記端末装置が、前記取得要求操作が検出されたとき、前記取得要求操作に応じた前記コンテンツデータを前記ネットワークを介して他の端末装置から取得するステップと、
前記端末装置が、前記取得したコンテンツデータを記憶するステップと、
前記端末装置が、前記記憶したコンテンツデータの送信要求が他の端末装置からあったとき、前記送信要求に対応するコンテンツデータを前記他の端末装置へ送信するステップと、
前記端末装置が、前記取得したコンテンツデータの公開条件情報を取得するステップと、
前記端末装置が、前記取得した公開条件情報に基づいて、前記取得したコンテンツデータがその公開条件を満たすか否かを判定するステップと、
前記端末装置が、前記公開条件を満たすと判定されたコンテンツデータの再生を行うステップと、
を有することを特徴とするコンテンツ配信システムにおける情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介したコンテンツ配信の技術分野に関し、更に詳細には、ネットワーク上に分散配置された複数の端末装置を備え、端末装置間でＰ２Ｐによりコンテンツデータの送受信を行うコンテンツ配信システムに関する。
【背景技術】
【０００２】
近年、インターネットなどのネットワークを介して、音楽、映画、トーク番組などコンテンツデータ（以下、「コンテンツ」ともいう。）を配信する、いわゆるコンテンツ配信システムの研究が盛んである。
【０００３】
特許文献１では、ピアツーピア(Ｐ２Ｐ)型のコンテンツ配信システムにおいて、各端末装置がコンテンツデータを保持するコンテンツ配信サーバとなり、また、各端末装置がコンテンツ配信要求クライアントにもなる。
【０００４】
このようなコンテンツ配信システムにおいて、コンテンツ配信サーバとして機能する端末装置からコンテンツ配信要求クライアントとしてコンテンツデータを取得した端末装置がコンテンツ配信サーバとして機能するものが知られており、コンテンツデータに対する配信要求の増加に応じて、そのコンテンツデータを保持することになる端末装置が増加することになる
【０００５】
従って、コンテンツの人気に応じてコンテンツデータを配信することができる端末装置が増加することになり、ある特定の端末装置へのアクセスの集中を回避できるものである。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところで、上述のコンテンツ配信システムでは、このシステム内の端末装置にコンテンツデータが投入されて公開されたコンテンツデータを端末装置間で送受信を行なうことによってコンテンツデータを配信できる端末装置を順次増加させていくものである。
【０００７】
一方で、人気のコンテンツデータは公開時から時間が経つにつれその人気がなくなっていくのが一般的である。すなわち、コンテンツデータがコンテンツ配信システムで公開されたときに最も人気が高い状態になることが多い。
【０００８】
しかしながら、コンテンツ配信システムでの公開時には、コンテンツデータを保持する端末装置が少ないために、コンテンツデータを保持する特定の端末装置にアクセスが集中し、コンテンツデータの配信を希望する複数のユーザの端末装置において、希望のコンテンツをストレスなく高品質に入手して視聴することが困難になるという不都合がある。
【０００９】
本発明は、以上の不都合に鑑みてなされたものであり、ネットワーク上に分散配置された複数の端末装置を有するＰ２Ｐ型のコンテンツ配信システムにおいて、コンテンツデータを視聴可能に公開したときに特定の端末装置にアクセスが集中することを回避することができるコンテンツ配信システム及びその情報処理方法等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、請求項１に記載の発明は、ネットワーク上に分散配置された複数の端末装置を備え、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおいて、前記端末装置は、利用者によるコンテンツデータの取得要求操作を検出するコンテンツデータ取得要求検出手段と、前記コンテンツデータ取得要求検出手段により前記取得要求操作が検出されたとき、前記取得要求操作に応じた前記コンテンツデータを前記ネットワークを介して他の端末装置から取得するコンテンツデータ取得手段と、前記コンテンツデータ取得手段により取得したコンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツデータ記憶手段に記憶したコンテンツデータの送信要求が他の端末装置からあったとき、前記送信要求に対応するコンテンツデータを前記他の端末装置へ送信するコンテンツデータ送信手段と、前記コンテンツデータ取得手段により取得したコンテンツデータの公開条件情報を取得する公開条件取得手段と、前記公開条件取得手段により取得した公開条件情報に基づいて、前記コンテンツデータ取得手段により取得したコンテンツデータがその公開条件を満たすか否かを判定する公開条件判定手段と、前記公開条件判定手段により公開条件を満たすと判定されたコンテンツデータの再生を行うコンテンツデータ再生手段とを備えたことを特徴とする。
【００１１】
また、請求項２に記載の発明は、請求項１に記載の発明において、前記公開条件情報は、コンテンツデータの公開日時の情報であり、前記公開条件判定手段は、前記コンテンツデータ取得手段により取得したコンテンツデータがその公開日時となったコンテンツデータ又は前記公開日時を経過しているコンテンツデータであるとき、前記公開条件を満たすと判定することを特徴とする。
【００１２】
また、請求項３に記載の発明は、請求項１又は請求項２に記載の発明において、暗号化されたコンテンツデータを復号する復号キーを記憶する復号キー記憶手段と、前記端末装置からネットワークを介して復号キーの要求があると、前記復号キー記憶手段から取り出して要求元の前記端末装置へ送信する復号キー送信手段と、を備えた復号キー管理装置を備え、前記端末装置は、前記コンテンツデータ取得手段により取得したコンテンツデータが暗号化されたコンテンツデータであり、前記公開条件判定手段によりその公開条件を満たすと判定された場合に、前記公開条件を満たすコンテンツデータに対応する復号キーを前記復号キー管理装置に対して要求する復号キー要求手段と、前記復号キー要求手段による前記要求に応じて前記復号キー管理装置から送信される復号キーを取得する復号キー取得手段と、を備え、前記コンテンツデータ再生手段は、前記コンテンツデータ取得手段によって取得したコンテンツデータを前記復号キー取得手段により取得した復号キーによって復号した後、前記コンテンツデータを再生することを特徴とする。
【００１３】
また、請求項４に記載の発明は、請求項１から３のいずれか１項に記載の発明において、複数のコンテンツデータを記憶するコンテンツ記憶手段と、前記ネットワークを介して前記端末装置からコンテンツデータの送信要求があると、前記コンテンツ記憶手段からコンテンツデータを取り出して、要求元の前記端末装置へ送信するコンテンツ送信手段と、を備えたコンテンツサーバ装置を備え、前記端末装置のコンテンツデータ取得手段は、前記取得要求操作に対応するコンテンツデータが前記ネットワークを介して他の端末装置から取得することができないとき、所定時間待機した後に前記取得要求操作に応じたコンテンツデータの取得処理を再度行うことを特徴とする。
【００１４】
また、請求項５に記載の発明は、ネットワーク上に分散配置された複数の端末装置を備え、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける前記端末装置において、利用者によるコンテンツデータの取得要求操作を検出するコンテンツデータ取得要求検出手段と、前記コンテンツデータ取得要求検出手段により前記取得要求操作が検出されたとき、前記取得要求操作に応じた前記コンテンツデータを前記ネットワークを介して他の端末装置から取得するコンテンツデータ取得手段と、前記コンテンツデータ取得手段により取得したコンテンツデータを記憶するコンテンツデータ記憶手段と、前記コンテンツデータ記憶手段に記憶したコンテンツデータの送信要求が他の端末装置からあったとき、前記送信要求に対応するコンテンツデータを前記他の端末装置へ送信するコンテンツデータ送信手段と、前記コンテンツデータ取得手段により取得したコンテンツデータの公開条件情報を取得する公開条件取得手段と、前記公開条件取得手段により取得した公開条件情報に基づいて、前記コンテンツデータ取得手段により取得したコンテンツデータがその公開条件を満たすか否かを判定する公開条件判定手段と、前記公開条件判定手段により公開条件を満たすと判定されたコンテンツデータの再生を行うコンテンツデータ再生手段とを備えたことを特徴とする。
【００１５】
また、請求項６に記載の発明は、請求項５に記載の発明において、前記コンテンツデータには、前記公開条件情報が含まれており、前記公開条件取得手段は、前記コンテンツデータ取得手段により取得したコンテンツデータに含まれる前記公開条件情報を抽出することによって、前記公開条件を取得することを特徴とする。
【００１６】
また、請求項７に記載の発明は、請求項５又は請求項６に記載の発明において、前記公開条件情報は、コンテンツデータの公開日時の情報であり、前記公開条件判定手段は、前記コンテンツデータ取得手段により取得したコンテンツデータがその公開日時となったコンテンツデータ又は前記公開日時を経過しているコンテンツデータであるとき、前記公開条件を満たすと判定することを特徴とする。
【００１７】
また、請求項８に記載の発明は、請求項７に記載の発明において、前記コンテンツデータ取得手段は、前記取得要求操作に応じたコンテンツデータを前記他の端末装置から取得することができないとき、所定時間待機した後に前記取得要求操作に応じたコンテンツデータの取得処理を再度行うことを特徴とする。
【００１８】
また、請求項９に記載の発明は、請求項８に記載の発明において、前記所定時間は、ランダムに決定される時間であることを特徴とする。
【００１９】
また、請求項１０に記載の発明は、請求項８に記載の発明において、前記所定時間は、前記公開日時までの残り時間の１／２の時間であることを特徴とする。
【００２０】
また、請求項１１に記載の発明は、請求項８に記載の発明において、前記所定時間は、一定時間を、前記コンテンツデータの取得処理におけるリトライ回数で除した時間であることを特徴とする。
【００２１】
また、請求項１２に記載の発明は、請求項５から１１のいずれか１項に記載の発明において、前記公開条件判定手段により前記再生要求に対応するコンテンツデータがその公開条件を満たさないと判定されると、前記再生要求に対応するコンテンツデータがその公開条件を満たすことになったときに、その旨を報知する報知手段を備えたことを特徴とする。
【００２２】
また、請求項１３に記載の発明は、請求項５から１２のいずれか１項に記載の発明において、前記コンテンツデータ取得手段により取得したコンテンツデータが暗号化されたコンテンツデータであり、前記公開条件判定手段によりその公開条件を満たすと判定された場合に、前記公開条件を満たすコンテンツデータに対応する復号キーを復号キー管理装置に対して要求する復号キー要求手段と、前記復号キー要求手段による前記要求に応じて前記復号キー管理装置から送信される復号キーを取得する復号キー取得手段とを備え、前記コンテンツデータ再生手段は、前記コンテンツデータ取得手段によって取得したコンテンツデータを前記復号キー取得手段により取得した復号キーによって復号した後、前記コンテンツデータを再生することを特徴とする。
【００２３】
また、請求項１４に記載の発明は、請求項５から１３のいずれか１項に記載の発明において、前記コンテンツデータ取得手段は、前記取得要求操作に対応するコンテンツデータが前記他の端末装置から取得することができないときであっても、その公開条件を満たすときには、前記取得要求操作に対応するコンテンツデータを保持するコンテンツサーバ装置から前記取得要求操作に対応するコンテンツデータを取得することを特徴とする。
【００２４】
また、請求項１５に記載の発明は、コンピュータを、請求項５から１４のいずれか１項に記載の発明における各手段として機能させるためのプログラムとした。
【００２５】
また、請求項１６に記載の発明は、ネットワーク上に分散配置された複数の端末装置を備え、前記端末装置間でコンテンツデータの送受信を行うコンテンツ配信システムにおける情報処理方法において、前記端末装置が、利用者によるコンテンツデータの取得要求操作を検出するステップと、前記端末装置が、前記取得要求操作が検出されたとき、前記取得要求操作に応じた前記コンテンツデータを前記ネットワークを介して他の端末装置から取得するステップと、前記端末装置が、前記取得したコンテンツデータを記憶するステップと、前記端末装置が、前記記憶したコンテンツデータの送信要求が他の端末装置からあったとき、前記送信要求に対応するコンテンツデータを前記他の端末装置へ送信するステップと、前記端末装置が、前記取得したコンテンツデータの公開条件情報を取得するステップと、前記端末装置が、前記取得した公開条件情報に基づいて、前記取得したコンテンツデータがその公開条件を満たすか否かを判定するステップと、前記端末装置が、前記公開条件を満たすと判定されたコンテンツデータの再生を行うステップとを有することを特徴とする。
【発明の効果】
【００２６】
請求項１，５，１５，１６に記載の発明によれば、利用者による取得要求操作に応じたコンテンツデータをネットワークを介して他の端末装置から取得して記憶し、このように記憶したコンテンツデータを他の端末装置からの送信要求に応答して送信する一方、記憶したコンテンツデータがその公開条件を満たすときにコンテンツデータの再生を行うようにしているため、コンテンツデータを公開するまでにコンテンツ保持端末装置を適切に配置することができる。従って、コンテンツデータを公開したときに特定の端末装置にアクセスが集中することを回避することができる。また、コンテンツデータの公開条件を満たすことになったときには、コンテンツデータが端末装置に記憶されているため、コンテンツデータの再生を迅速に行うことができる。
【００２７】
また、請求項２，７に記載の発明によれば、公開条件情報をコンテンツデータの公開日時の情報とし、取得したコンテンツデータがその公開日時となったコンテンツデータ又は公開日時を経過しているコンテンツデータであるとき、公開条件を満たすと判定するので、公開日時になるまでにコンテンツデータを保持するコンテンツ保持端末装置を適切に配置することができ、例えば、公開日時までを予約期間としてコンテンツデータの送受信を可能とすることで、コンテンツデータを公開したときに特定の端末装置にアクセスが集中することを回避することができる。また、コンテンツデータの公開時点でコンテンツデータが端末装置に記憶されているため、コンテンツデータの再生を迅速に行うことができる。
【００２８】
また、請求項３，１３に記載の発明によれば、取得したコンテンツデータが暗号化されたコンテンツデータであり、公開条件を満たすと判定されたコンテンツデータに対応する復号キーを復号キー管理装置に対して要求して取得した復号キーによってコンテンツデータを復号した後、コンテンツデータを再生するので、公開条件を満たすまでは端末装置で再生することができず、確実に公開時までの非公開性を保つことができる。
【００２９】
また、請求項４，８に記載の発明によれば、コンテンツデータがネットワークを介して他の端末装置から取得することができないとき、所定時間待機した後にコンテンツデータの取得処理を行なうので、コンテンツデータを保持している端末装置からコンテンツデータを取得できない状態であっても、利用者の手を煩わせることなく、コンテンツデータの取得を行うことが可能となる。
【００３０】
また、請求項９に記載の発明によれば、待機時間である所定時間をランダムに決定される時間としたので、コンテンツデータを取得できない端末装置が同時期に複数存在した場合であっても、再度コンテンツデータの取得動作を行うタイミングをずらすことができるので、コンテンツデータの取得の可能性を向上させることができる。
【００３１】
また、請求項１０に記載の発明によれば、待機時間である所定時間を公開日時までの残り時間の１／２の時間としたので、コンテンツデータを保持している端末装置からコンテンツデータを取得できない状態であっても、公開日時までにコンテンツデータを取得することができる確率を向上させることができる。
【００３２】
また、請求項１１に記載の発明によれば、待機時間である所定時間を、一定時間を、コンテンツデータの取得処理におけるリトライ回数で除した時間としたので、コンテンツデータを保持している端末装置からコンテンツデータを取得できない状態であっても、公開日時までにコンテンツデータを取得することができる確率を向上させることができる。
【００３３】
また、請求項１２に記載の発明によれば、コンテンツデータがその公開条件を満たすことになったときに、その旨を報知するので、端末装置の利用者が取得したコンテンツデータの再生することができるタイミングを容易に把握することができ、公開条件を満たしたときにすぐにコンテンツデータの再生を行うことが可能となる。
【００３４】
また、請求項１４に記載の発明によれば、コンテンツデータが他の端末装置から取得することができないときであっても、その公開条件を満たすときには、コンテンツサーバ装置からコンテンツデータを取得するので、公開条件を満たしたコンテンツデータの取得可能性を向上させることができる。
【発明を実施するための最良の形態】
【００３５】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、配信する情報を音楽データや映像データなどのコンテンツデータとするＰａｓｔｒｙ型やＴａｐｅｓｔｒｙ型のコンテンツ配信システムに対して本発明を適用した場合の実施形態である。
【００３６】
［１．コンテンツ配信システムＳの構成等］
まず始めに、図１を参照して、情報配信システムとしてのコンテンツ配信システムＳの概要構成等について説明する。図１は、本実施形態に係るコンテンツ配信システムＳにおける各端末装置の接続態様の一例を示す図である。このコンテンツ配信システムは、ネットワーク上に分散配置された複数の端末装置から構成され、端末装置間でコンテンツデータの送受信を行うものである。
【００３７】
図１の下部枠101内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００３８】
コンテンツ配信システムＳは、図１の上部枠100内に示すように、ネットワーク８を介して相互に接続された複数の端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・を備えて構成され、ピアツーピア（Ｐ２Ｐ）方式のネットワークシステムとなっている。各端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、端末装置を示す情報としての固有の製造番号（例えば、ＭＡＣアドレス）及びＩＰ（Internet Protocol）アドレスが割り当てられている。なお、製造番号及びＩＰアドレスは、複数の端末装置間で重複しないものである。また、以下の説明において、端末装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかの端末装置を示す場合には、便宜上、端末装置１という場合がある。
【００３９】
［１．１．ＤＨＴの概要］
以下に、本実施形態に係る分散ハッシュテーブル（以下、「ＤＨＴ」（Distributed Hash Table）と呼ぶ。）を利用したアルゴリズムについて説明する。
【００４０】
上述したコンテンツ配信システムＳにおいて、当該端末装置１同士が、互いに情報をやり取りする際には、お互いの所在情報であるＩＰアドレスを知っていなければならない。
【００４１】
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク８に参加している各端末装置１が互いにネットワーク８に参加している全ての端末装置１のＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全ての端末装置１のＩＰアドレスを覚えておくのは現実的ではない。また、任意の端末装置１の電源が頻繁にＯＮ或いはＯＦＦとすると、各端末装置１において記憶している当該任意の端末装置１のＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００４２】
そこで、１台の端末装置１では、ネットワーク８に参加している全ての端末装置１のうち、必要最低限の一部の端末装置１のＩＰアドレスだけを記憶しておき、ＩＰアドレスを記憶していない端末装置１については、各端末装置１間で互いに情報を転送し合うことによりコンテンツを届けるシステムが考案されている。
【００４３】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠100内に示すような、オーバーレイネットワーク９が構築されることになる。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００４４】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワーク９を前提としており、このオーバーレイネットワーク９上に配置された端末装置１を、コンテンツ配信システムＳに参加（言い換えれば、オーバーレイネットワーク９に参加）している端末装置１という。
【００４５】
コンテンツ配信システムＳに参加している各端末装置１の識別番号である端末ＩＤとして、それぞれの端末装置１毎にユニークな番号（固有番号）を付与する。この番号は、端末装置の最大運用台数を収容できるだけのbit数を持たせる必要がある。例えば、128bitの番号とすれば、２128≒340×1036台の端末装置を運用できる。
【００４６】
より具体的には、各端末装置１の端末ＩＤは、それぞれの端末装置１のＩＰアドレス或いは製造番号等の端末装置１毎に固有の値を、共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。
【００４７】
このように共通のハッシュ関数によりハッシュ化されて求められた端末ＩＤは、当該ＩＰアドレス或いは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。また、本実施形態では、ＩＰアドレス（グローバルＩＰアドレス）を共通のハッシュ関数によりハッシュ化した値を端末ＩＤとする。
【００４８】
また、コンテンツ配信システムＳに参加している複数の端末装置１には、一の端末装置１から他の端末装置１に配信される共用情報としてのコンテンツデータ（例えば、音楽データ、映画データ、文書データ等）が分散して記憶されているが、当該コンテンツデータにも、それぞれのコンテンツデータ毎の固有の識別番号（以下、「コンテンツＩＤ」と呼ぶ。）を付与する。
【００４９】
そして、当該コンテンツＩＤは、端末ＩＤと同様の長さ（例えば、128bit等）とし、コンテンツの名称（コンテンツタイトル）が、上記端末ＩＤを得るときと共通のハッシュ関数によりハッシュ化され（つまり、端末装置１のＩＰアドレスのハッシュ値と同一のＩＤ空間に配置）、そのハッシュ値と最も近い（例えば、上位桁がより多く一致する）端末ＩＤを有する端末装置１が、後述するルート端末装置として、コンテンツデータを保持する端末装置１（以下、「コンテンツ保持端末装置」と呼ぶ。）へのリンク情報、すなわちコンテンツ保持端末装置のＩＰアドレスを保持する。
【００５０】
なお、異なるコンテンツデータであっても、同一のキーワード（例えば、コンテンツの名称）になる場合が想定されるが、この場合、同じハッシュ値になってしまうので、これを避けるために、ハッシュ化するキーワードを、例えば、コンテンツの概要情報（あらすじ）、コンテンツの名称と著作権情報（例えば、出演者名、監督名、原作者名、歌手名、作曲者名、又は作詞者名等）の組み合わせとすればよい。
【００５１】
このように、各端末装置１及び各コンテンツデータに付与された端末ＩＤ及びコンテンツＩＤは、共通のハッシュ関数によって生成したため、図２に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は32bitで端末ＩＤ及びコンテンツＩＤを付与し、図示したものである。図中丸点は端末ＩＤを、四角形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００５２】
次に、どの端末装置１に、どのコンテンツデータが管理されるかを、一定の規則の下に決定する。本実施形態においては、「あるコンテンツＩＤを有するコンテンツデータを管理する端末装置１は、そのコンテンツＩＤに近い端末ＩＤを有する端末装置１である」という規則とする。
【００５３】
ここで、「近い」ことの定義は、当該コンテンツＩＤを超えず、コンテンツＩＤと端末ＩＤとの差が一番少ないものとするが、実際には、各コンテンツデータの管理を各端末装置１に割り振る際に、一貫していれば他の定義でもよい。
【００５４】
図２に示す例では、この定義に基づいて、コンテンツＩＤａは、当該コンテンツＩＤａに近い端末ＩＤ（以下、「端末ＩＤａ」と呼ぶ。）を有する端末装置１に管理され、コンテンツＩＤｂは、当該コンテンツＩＤｂに近い端末ＩＤ（以下、「端末ＩＤｂ」と呼ぶ。）を有する端末装置１に管理され、コンテンツＩＤｃは、当該コンテンツＩＤｃに近い端末ＩＤ（以下、「端末ＩＤｃ」と呼ぶ。）を有する端末装置１に管理される。
【００５５】
なお、ここで「管理」というのは、コンテンツデータを保持していることを意味するのではなく、「コンテンツデータが何れの端末装置１に保持されているかを知っている」ことを意味する。すなわち、図２において、端末ＩＤａを有する端末装置１は、コンテンツＩＤａを有するコンテンツデータが何れの端末装置１に保持されているかを知っており、端末ＩＤｂを有する端末装置１及び端末ＩＤｃを有する端末装置１も同様にそれぞれコンテンツＩＤｂを有するコンテンツデータ及びコンテンツＩＤｃを有するコンテンツデータが何れの端末装置１に保持されているかを知っている、ということになる。
【００５６】
このように、あるコンテンツデータが何れの端末装置１に保持されているかを知っている端末装置１を、そのコンテンツデータのルート端末装置と呼ぶ。つまり、端末ＩＤａを有する端末装置１は、コンテンツＩＤａを有するコンテンツデータのルート端末装置であって、端末ＩＤｂを有する端末装置１は、コンテンツＩＤｂを有するコンテンツデータのルート端末装置であって、端末ＩＤｃを有する端末装置１は、コンテンツＩＤｃを有するコンテンツデータのルート端末装置である。
【００５７】
また、コンテンツ配信システムＳには、図１及び図２に示すように、コンテンツ配信システムＳにコンテンツデータを投入する機能、すなわちコンテンツ配信システムＳ内の端末装置１をコンテンツ保持端末装置とするためにコンテンツデータを端末装置１へ配布する機能と、カタログリストを生成して端末装置１へ提供する機能とを有するコンテンツサーバ装置１０と、端末装置１からの要求に応じてコンテンツデータを復号するための復号キーを送信する復号キー管理装置２０とが設けられている。
【００５８】
［１．２．ルーティングテーブルの作成］
ここで、図３を参照して、ＤＨＴで用いるルーティングテーブルの作成手法の一例について説明する。図３は、ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【００５９】
まず、図３（ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。実際には、16分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長８bitの４進数で表すことにする。そして、端末装置１Ｎの端末ＩＤを「1133」とし、この端末装置１Ｎのルーティングテーブルを作る例について説明する。
【００６０】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とした場合、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXX」「1XXX」、「2XXX」、「3XXX」（Ｘは０から３の自然数、以下同様。）で分けられる。端末装置１Ｎは、当該端末装置１Ｎ自身の端末ＩＤが「1133」であるため、図３（ａ）中左下「1XXX」のエリアに存在することになる。そして、端末装置１Ｎは、参加要求を受信した端末装置１から送信された情報等から、自分の存在するエリア（すなわち、「1XXX」のエリア）以外のエリア（すなわち、「0XXX」のエリア、「2XXX」のエリア、「3XXX」のエリア）に存在する端末装置１を選択し、当該端末装置の端末ＩＤ及びＩＰアドレスをレベル１のテーブルに記憶する。図４がレベル１のテーブルの一例である。このテーブルでは、「0XXX」のエリアの端末ＩＤとして「0100」、「2XXX」のエリアの端末ＩＤとして「2133」、「3XXX」のエリアの端末ＩＤとして「3213」がそれぞれ選択されている状態を示している。なお、当該レベル１の２列目は端末装置１Ｎ自身を示しているため、ＩＰアドレスを記憶する必要はない。
【００６１】
（レベル２のルーティング）
次に、図３（ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリア「1xxx」を更に４分割し、更に４つのエリア「10XX」、「11XX」、「12XX」、「13XX」と分ける。そして、上記と同様に自分の存在するエリア「11XX」以外のエリアに存在する端末装置１を適当に選択し、当該端末装置１の端末ＩＤ及びＩＰアドレスをレベル２のテーブルに記憶する。図４がレベル２のテーブルの一例である。このテーブルでは、「10XX」のエリアの端末ＩＤとして「1003」、「12XX」のエリアの端末ＩＤとして「1221」が、「13XX」のエリアの端末ＩＤとして「1313」がそれぞれ選択されている状態を示している。なお、レベル２の２列目は端末装置１Ｎが存在するエリア「11XX」であり、後述するレベル３にてテーブル化されるためＩＰアドレスを記憶していない。また、上記エリアに端末装置１が存在しない場合には、端末ＩＤ及びＩＰアドレスの欄は空白となる。
【００６２】
（レベル３のルーティング）
更に、上記ルーティングによって４分割したエリアのうち、自分の存在するエリア「11XX」を更に４分割し、更に４つのエリア「110X」「111X」、「112X」、「113X」と分ける。そして、上記と同様に自分の存在するエリア「113X」以外のエリアに存在する端末装置１を適当に選択し、当該端末装置１の端末ＩＤ及びＩＰアドレスをレベル３のテーブルに記憶する。図４がレベル３のテーブルの一例である。レベル３の４列目は端末装置１Ｎが存在するエリアであり、後述するレベル４にてテーブル化されるためＩＰアドレスを記憶していない。また、上記エリアに端末装置１が存在しない場合には、端末ＩＤ及びＩＰアドレスの欄は空白となる。
【００６３】
このようにして、レベル４まで同様にルーティングテーブルを図４に示す如く作成することにより、８bitのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００６４】
以上説明した手法に従って作成したルーティングテーブルを、全ての端末装置１が夫々作成して所有することになる。このように、各端末装置１は、コンテンツ配信システムＳにおける複数の端末装置１のうち一部の端末装置１の識別情報である端末ＩＤ及びＩＰアドレスを関連付けたルーティングテーブルを有している。
【００６５】
［１．３．コンテンツデータの検索方法］
次に、図５を参照して、コンテンツデータを保持している端末装置１の検索方法の一例について説明する。図５は、ＤＨＴによりコンテンツデータを保持している端末装置１が検索される様子の一例を示す図である。
【００６６】
ここでは、端末ＩＤ「1133」の端末装置１Ｎが、コンテンツＩＤ「3020」を有するコンテンツデータを探す際の手順について説明する。なお、以下このようにコンテンツデータを探し、コンテンツデータの送信を要求する端末装置１をリクエスト端末装置と呼ぶ。
【００６７】
リクエスト端末装置１Ｎは、コンテンツＩＤ「3020」を宛先識別情報とし、自己が保持しているルーティングテーブルを参照して、コンテンツ保持端末装置の識別情報の送信要求（以下、「検索メッセージ」と呼ぶ。）を送信する。リクエスト端末装置１Ｎが、図４の例と同じ値のルーティングテーブルを持っていたとすると、コンテンツＩＤ「3020」は「3XXX」のエリアであるため、当該「3XXX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている（すなわち、自己が保持しているルーティングテーブルにＩＰアドレスが記憶されている）端末装置１Ａ（端末ＩＤ「3213」）に対して検索メッセージを送信する。このように、検索メッセージはコンテンツに対応する固有の識別情報であるコンテンツＩＤを含むものであり、このコンテンツＩＤは検索メッセージにおいて宛先識別情報として用いられる。
【００６８】
図５に示す例によれば、端末ＩＤが「3213」である端末装置１ＡのＩＰアドレスがリクエスト端末装置１Ｎのルーティングテーブル（図４参照。）に記憶されているので、リクエスト端末装置１Ｎは、端末ＩＤが「3213」である端末装置１Ａに対して検索メッセージを送信する。
【００６９】
次に、検索メッセージを受信した端末装置１Ａは、この検索メッセージが自端末装置１Ａ宛のメッセージであるか否かを判定する。自端末装置１Ａ宛のメッセージであるか否かは、宛先識別情報とルーティングテーブルとに基づいて行われる。具体的には、宛先識別情報が自端末装置１Ａの識別情報である端末ＩＤと近いか否かが判定される。即ち、宛先識別情報に対して、端末装置１Ａ自身が保持しているルーティングテーブル（テーブルの値は図示しない）に記憶されている端末装置１の端末ＩＤから、一番近い端末装置１の端末ＩＤが、自身であるか他の端末装置１であるかを判定する。
【００７０】
そして、自端末装置１Ａの端末ＩＤよりも他の端末装置１の端末ＩＤの方が、宛先識別情報に近いため、端末装置１Ａは、当該端末装置１Ａ自身が保持しているルーティングテーブルのレベル２のテーブルを参照して、「30XX」のエリアに属す端末装置１のうち、ＩＰアドレスを知っている端末装置１Ｂ（端末ＩＤ「3031」）に対して検索メッセージを転送する。
【００７１】
このように、コンテンツＩＤの桁を上から順に適合していく要領で検索メッセージの転送が進み、最終的に当該コンテンツデータを管理する端末装置１Ｃ、すなわちルート端末装置に辿り着くと、当該ルート端末装置は、検索メッセージに含まれるコンテンツＩＤ「3020」を、自身が管理している後述のインデックス情報の中から検索し、当該コンテンツデータを所有しているコンテンツ保持端末装置に関する情報（端末ＩＤやＩＰアドレス等）をリクエスト端末装置１Ｎに返信するようになっている。なお、検索メッセージなどのメッセージを目的の端末装置１へ辿り着くまでに、上述のように転送する仕組みをＤＨＴルーティングと呼ぶ。
【００７２】
こうして、リクエスト端末装置１Ｎは、上記ルート端末装置１Ｃから、コンテンツＩＤ「3020」のコンテンツデータを保持するコンテンツ保持端末装置に関する所在情報であるＩＰアドレスを受信して知ることになり、当該コンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得することになる。
【００７３】
［１．４．インデックステーブルへの登録方法］
このような構成のコンテンツ配信システムＳの中で、例えば、ある端末装置１が新しいコンテンツデータを、コンテンツ配信システムＳ上の他の端末装置１から検索可能となるように公開する際の手法について述べる。
【００７４】
コンテンツサーバ装置１０から配布されたコンテンツデータを記憶してコンテンツ保持端末装置となった端末装置１は、記憶したコンテンツデータのコンテンツＩＤと同じ端末ＩＤを持つ端末装置に向けて（この端末装置が実在するか否かはこの時点ではわからない。）登録メッセージを送信する。そして、この登録メッセージも、上記検索メッセージと同様にルーティングテーブルに従って、次々と転送されていき、当該登録メッセージに含まれるコンテンツＩＤに最も近い端末ＩＤを有する端末装置１まで転送されたところで、その端末装置１はもはや転送先の端末装置１が他にないと判断すると、当該端末装置１自身がそのコンテンツのルート端末装置となるべきだと判断し、当該登録メッセージに含まれる当該コンテンツＩＤ及びコンテンツ保持端末の端末ＩＤやＩＰアドレス（以下、これらを「インデックス情報」と呼ぶ。）をインデックス情報として記憶する。
【００７５】
更にまた、本実施形態では、登録メッセージがルート端末装置へ転送される経路の途中の端末装置１でも、登録メッセージに含まれるインデックス情報をキャッシュとして保持するように構成されており、このような端末装置１をキャッシュ端末装置という。これにより、ルート端末装置がコンテンツを検索するための検索メッセージを受信するより前に、キャッシュ端末装置に検索メッセージが転送された時点でキャッシュ端末装置がコンテンツ保持端末装置のＩＰアドレスや端末ＩＤを、コンテンツの所在を検索したリクエスト端末装置に返信することが可能になる。なお、本実施形態においては、検索メッセージに対して少なくともコンテンツ保持端末装置のＩＰアドレスを返信することとするが、端末ＩＤをコンテンツ保持端末装置のＩＰアドレスと共に返信するようにしてもよい。
【００７６】
登録メッセージを転送していく際には、通常、上述のようにキャッシュ端末装置が登録メッセージに基づいたインデックス情報を保持していく。
【００７７】
ここで、図６（ａ）に示すように、端末ＩＤが「1301」である端末装置１ＭをコンテンツＩＤ「3020」であるコンテンツを保持するコンテンツ保持端末装置とし、端末ＩＤが「3011」である端末装置１ＣをコンテンツＩＤ「3020」であるコンテンツのルート端末装置とした場合におけるインデックス情報の保持について図６（ａ）、（ｂ）を参照して説明する。
【００７８】
図６（ａ）、（ｂ）に示すように、コンテンツ保持端末装置である端末装置１Ｍがインデックス情報を含む登録メッセージを送信すると、これを受け取った端末装置１Ａは、当該インデックス情報を保持することによりキャッシュ端末装置（１）として機能する。キャッシュ端末装置（１）は、当該登録メッセージを転送する。当該登録メッセージを受け取った端末装置１Ｂは、当該インデックス情報を保持することによりキャッシュ端末装置（２）として機能する。キャッシュ端末装置（２）は、当該登録メッセージを転送する。当該登録メッセージを受け取った端末装置１Ｃは、当該インデックス情報を保持することによりルート端末装置として機能する。このように端末装置１Ａ，１Ｂ，１Ｃは登録メッセージに含まれるインデックス情報を保持することになる。
【００７９】
ところで、ルート端末装置やキャッシュ端末装置におけるインデックス情報の保持は、図７に示すようなインデックステーブルにより行われる。図７はルート端末装置１Ｃにおけるインデックステーブルの例を示したものであり、自端末装置１が管理対象であるコンテンツＩＤ「3020」のコンテンツに関するコンテンツ保持端末装置の端末ＩＤやＩＰアドレスなどを記憶する他、キャッシュ端末装置としてコンテンツＩＤ「2021」のコンテンツに関するコンテンツ保持端末装置の識別情報を記憶している。なお、インデックステーブルには、コンテンツＩＤ、コンテンツ保持端末装置の端末ＩＤやＩＰアドレスの他、著作権情報なども記憶することができる。
【００８０】
［１．５．コンテンツ保持端末装置の配置方法］
次に、コンテンツ配信システムＳにおけるコンテンツ保持端末装置の配置方法について図面を参照して具体的に説明する。図８及び図９は、コンテンツ保持端末装置の配置方法についての説明図である。
【００８１】
本実施形態においては、一例として、あるコンテンツＸのコンテンツデータ（以下、「コンテンツＸのデータ」と呼ぶ。）をコンテンツ配信システムＳに投入した後の所定期間を予約期間とし、この予約期間の間にコンテンツ保持端末装置を増やすことにより、その後の予約期間の終了時点で、コンテンツ保持端末装置が少ないために発生するコンテンツ保持端末装置へのアクセス集中を回避するものである。なお、予約期間とは、コンテンツＸのデータの公開日時までの所定期間を意味する。また、予約期間の終了とは、コンテンツＸのデータの公開日時に達した状態であり、コンテンツデータの公開日時となった状態やその公開日時を経過した状態を意味する。
【００８２】
図８（ａ）に示すように、まず、コンテンツサーバ装置１０からコンテンツ配信システムＳを構成する２台の端末装置１に対してコンテンツＸのデータが配布される。ここでは、コンテンツサーバ装置１０がコンテンツＸのデータを配布する端末装置１の数を２としているが、１以上であればよい。また、例えば投入するコンテンツＸが人気のコンテンツと推測できるものであれば、その数を増やすようにし、コンテンツＸが全く人気のないコンテンツと推測できるものであれば、その数を減らすようにしてもよい。人気があるかないかは、例えばコンテンツＸが音楽のコンテンツであれば、このコンテンツＸの歌手が同一である過去に投入したコンテンツデータの人気度に基づいて、コンテンツサーバ装置１０がコンテンツＸのデータを投入する端末装置１の数を決定することができる。
【００８３】
このようにコンテンツＸのデータが投入されると、端末装置１間でのコンテンツのデータＸの送受信が可能となる。すなわち、コンテンツ保持端末装置でない端末装置１の利用者がコンテンツ配信システムＳに投入されたコンテンツＸのデータの取得するための操作（以下、「取得要求操作」とする。なお、予約期間中の取得要求操作を特に「予約操作」と呼ぶ。）を行うと、当該端末装置１はその予約操作を検出し、リクエスト端末装置として、コンテンツサーバ装置１０から投入されたコンテンツＸのデータを保持するコンテンツ保持端末装置に対してコンテンツＸのデータの送信要求を行う。その後、図８（ｂ）に示すように、コンテンツＸのデータの送信要求を受信したコンテンツ保持端末装置は、コンテンツＸのデータを送信要求を行ったリクエスト端末装置に送信する。
【００８４】
ここで、コンテンツ保持端末装置からコンテンツＸのデータを受信したリクエスト端末装置は、内部の記憶部にコンテンツＸのデータを記憶し、以後コンテンツＸのコンテンツ保持端末装置としての機能をも有することになる（図９参照。）。但し、このリクエスト端末装置は、コンテンツＸのデータを予約期間中は、コンテンツＸのデータを受信しても再生することができない。この点については、後述で詳説する。
【００８５】
このように、コンテンツＸの予約期間中に、端末装置１において予約操作が行われる毎に、端末装置１間でコンテンツＸのデータが送受信されて、コンテンツ保持端末装置の数が増えていく。
【００８６】
その後、コンテンツＸの予約期間が終了すると、予約期間中にコンテンツＸのデータを取得したリクエスト端末装置において、コンテンツＸのデータの再生が可能となる。
【００８７】
ここで、コンテンツＸのデータは、所定の暗号キーで暗号化されているため、そのままでは端末装置１で再生することができない。従って、コンテンツＸのデータを再生するために端末装置１は復号キー管理装置２０からコンテンツＸのデータに対応する復号キー（以下、「コンテンツＸの復号キー」と呼ぶ。）を取得し、この復号キーを用いてコンテンツＸのデータを復号して再生するようにしている。
【００８８】
また、コンテンツＸのデータにはコンテンツＸの公開日時情報が含まれており、端末装置１では、この公開日時情報を抽出することによって予約期間が終了したか否かを判定することができる。
【００８９】
また、コンテンツＸの予約期間の終了後に利用者によりコンテンツＸのデータの取得要求操作が行われたとき、端末装置１は、この取得要求操作に応じたコンテンツＸのデータを保持するコンテンツ保持端末装置からコンテンツＸのデータを取得し、復号キー管理装置２０からコンテンツＸの復号キーを取得する。このように取得されたコンテンツＸのデータは、復号キーによって復号されて、端末装置１によってすぐに再生可能となる。
【００９０】
図１０には、このようにコンテンツＸがコンテンツ配信システムＳに投入された後、コンテンツＸの公開時にコンテンツＸのデータを保持するコンテンツ保持端末装置が増加していることを示している。コンテンツＸの公開時におけるコンテンツ保持端末装置の数は、予約操作が行われた端末装置１の数に応じて増加するものである。従って、予約操作が行われた端末装置１の数が多いときには、コンテンツＸの公開時におけるコンテンツ保持端末装置の数は多く、予約操作が行われた端末装置１の数が少ないときには、コンテンツＸの公開時におけるコンテンツ保持端末装置の数は少ない。
【００９１】
また、端末装置１では予約操作に応じたコンテンツデータの取得動作を行ったときに、コンテンツ保持端末装置から取得動作に応じたコンテンツデータを取得できないときには、所定時間待機した後に、再度コンテンツデータの取得を試みるようにしている。
【００９２】
このように所定時間待機してコンテンツデータの取得動作を再試行するようにしているため、利用者による再度の取得要求操作を行わせることなく、コンテンツデータの取得を行うことが可能となる。
【００９３】
しかも、コンテンツデータの取得動作の再試行は、予約期間内にコンテンツデータを取得できるように行うことができれば、取得要求操作を行った利用者は予約期間終了後の公開時にはコンテンツデータの再生を行うことができるため、この待機時間を例えば、ランダムに決定される時間に設定することによって他の端末装置１とのコンテンツデータの取得動作のタイミングができるだけ重ならないようにすることができ、これによりコンテンツ保持端末装置を適切に増加させることができる。
【００９４】
また、この待機時間をコンテンツデータの公開日時までの残り時間の１／２の時間とすることもできる。例えば、公開日時までの残り時間が２日のときには、公開日時までの残り時間が１日となったときに再試行を行い、この再試行でもコンテンツデータを取得できないときには公開日時までの残り時間が１２時間となったときに再試行を行うようにする。このようにすることによって公開日時までにコンテンツデータを取得することができる確率を向上させることができる。
【００９５】
また、この待機時間を、一定時間をコンテンツデータの取得処理における再試行（リトライ）回数で除した時間に設定することもできる。例えば、一定時間を１２時間とした場合に、再試行回数が２回目のときには６時間後に再試行を、再試行回数が３回目のときには４時間後に再試行を行うようにする。このようにすることでも公開日時までにコンテンツデータを取得することができる確率を向上させることができる。
【００９６】
一方、予約期間が終了して公開されたコンテンツデータについて、コンテンツ保持端末装置から取得動作に応じたコンテンツデータを取得できないときには、図１１に示すように、端末装置１は、コンテンツサーバ装置１０からコンテンツデータを取得するように動作するので、公開後のコンテンツデータの取得可能性を向上させることができる。
【００９７】
ところで、上述では、コンテンツＸのデータの公開条件を、コンテンツＸの公開日時として説明したが、端末装置１の所在情報であるＩＰアドレスを複数にグループ化し、これらのグループ毎に公開日時を設定するようにしてもよい。このようにすることにより、例えば、日本、米国、中国などといったように国単位で割り当てられるＩＰアドレスを国単位でグループ化して、国単位でコンテンツＸのデータの公開日時を変更することができる。
【００９８】
［２．端末装置１の構成等の説明］
次に、図面を参照して、端末装置１の構成及び動作について説明する。図１２は、本実施形態に係るコンテンツ配信システムＳにおける端末装置１の概略構成を示す図である。
【００９９】
端末装置１は、専用のコンピュータの他、一般のパーソナルコンピュータを適用可能であり、図１２に示すように、ＣＰＵ（Central Processing Unit）１０２と、各種プログラム等を記憶する書き換え可能な主記憶装置としての第１記憶部１０３と、各種データ等を記憶するＨＤＤ（Hard Disk Drive）等から構成された第２記憶部１０４と、ルータ３０ａを介してネットワーク８に参加している他の端末装置１との間で通信を行うためのネットワークインターフェイス１０５と、ユーザによって端末装置１を遠隔操作するために所定の赤外線信号を送信及び受信するリモコン１０６と、このリモコン１０６と赤外線により通信を行うための赤外線ポート１０７と、赤外線ポート１０７を制御する周辺機器制御チップ１０８と、ＣＰＵ１０２の制御によりイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込み、このビデオメモリに書き込んだデータを後述の内蔵ディスプレイ１１０に表示するビデオチップ１０９と、内蔵ディスプレイ１１０と、ＦＭ音源やＷａｖｅ  Ｔａｂｌｅ音源などの音源を有し、オーディオ信号をスピーカ１１２に出力することによってスピーカ１１２から音波を出力させる音源チップ１１１と、スピーカ１１２とを備えて構成され、これらの各種構成要素はシステムバス１０１を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ１０２と第１記憶部１０３とで制御部１１３を構成している。
【０１００】
（第１記憶部１０３について）
また、第１記憶部１０３には、端末装置１のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム（ＯＳ）プログラム１１４、内蔵ディスプレイ１１０の制御等を行うための画面制御プログラム１１５、コンテンツ保持端末装置として機能する他の端末装置１から送信されるコンテンツデータを受信し、また自端末装置１がコンテンツ保持端末装置として機能するときには第２記憶部１０４に記憶したコンテンツデータを配信するためのコンテンツ処理プログラム１１６、他の端末装置１とメッセージの送受信を行うためのメッセージ処理プログラム１１７、配信されたコンテンツデータの再生等を行うための音楽デコーダプログラム１１８等を記憶しており、これらはＣＰＵ１０２によって読み出され、ＣＰＵ１０２によってこれらのプログラムに従った機能が実行される。また、第１記憶部１０３には、更にインデックステーブル（図７参照）を記憶するためのインデックステーブル記憶領域１１９やルーティングテーブル（図４参照）を記憶するためのルーティングテーブル記憶領域１２０が設けられている。
【０１０１】
ここで、ＯＳプログラム１１４は、ＣＰＵ１０２によって読み出されて実行されることにより、リモコン１０６の入出力に関する機能や、第１記憶部１０３や第２記憶部１０４などのメモリ管理等の端末装置１であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム１１４がＣＰＵ１０２によって実行された状態で、上述の画面制御プログラム１１５、コンテンツ処理プログラム１１６、メッセージ処理プログラム１１７、音楽デコーダプログラム１１８等が第１記憶部１０３から読み出されて実行される。
【０１０２】
なお、ＯＳプログラム１１４、画面制御プログラム１１５、コンテンツ処理プログラム１１６、メッセージ処理プログラム１１７、音楽デコーダプログラム１１８等は、例えば、ネットワーク８に接続されたサーバ等から、ネットワークインターフェイス１０５を介して、第１記憶部１０３にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、第１記憶部１０３に読み込まれるようにしてもよい。
【０１０３】
（第２記憶部１０４について）
第２記憶部１０４には、コンテンツサーバ装置１０から投入され、コンテンツ配信システムＳ内にて提供されているコンテンツの名称や公開条件などがリスト化されたカタログリストを記憶するカタログリスト記憶領域と、コンテンツサーバ装置１０等から配信されたコンテンツデータを記憶するコンテンツデータ記憶手段として機能するコンテンツデータ記憶領域等を有している。
【０１０４】
（制御部１１３について）
制御部１１３は、上述のようにＣＰＵ１０２と第１記憶部１０３とから構成され、ＣＰＵ１０２が第１記憶部１０３に記憶された各種プログラム１１４〜１１８を読み出して実行することにより、端末装置１全体を統括制御し、かつ、後述する表示制御手段、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、公開条件取得手段、公開条件判定手段、復号キー要求手段、復号キー取得手段、デコード手段、コンテンツデータ再生手段、メッセージ宛先判定手段、メッセージ転送手段、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、端末識別情報送信手段等として機能するようになっている。
【０１０５】
なお、ＣＰＵ１０２が画面制御プログラム１１５を実行することによって、表示制御手段等として、またＣＰＵ１０２がコンテンツ処理プログラム１１６を実行することによって、コンテンツデータ取得要求検出手段、コンテンツデータ取得手段、コンテンツデータ送信手段、公開条件取得手段、公開条件判定手段、復号キー要求手段、復号キー取得手段、コンテンツデータ再生手段等として、またＣＰＵ１０２がメッセージ処理プログラム１１７を実行することによって、メッセージ宛先判定手段、メッセージ転送手段、登録メッセージ送信手段、コンテンツ保持端末情報取得手段、端末識別情報送信手段等として、またＣＰＵ１０２が音楽デコーダプログラム１１８を実行することによって、デコード手段等として、それぞれ機能するようになっている。
【０１０６】
（表示制御手段について）
表示制御手段は、ビデオチップ１０９及び内蔵ディスプレイ１１０を制御して、各種の映像情報（画像情報）を表示させる機能を有している。すなわち、表示制御手段は、内蔵ディスプレイ１１０にどのように映像を表示させるかを制御する。
【０１０７】
（コンテンツデータ取得要求検出手段について）
コンテンツデータ取得要求検出手段は、利用者によるコンテンツデータの取得要求操作を検出する。例えば、コンテンツサーバ装置１０から端末装置１が取得したカタログリストが表示制御手段によって内蔵ディスプレイ１１０に表示されているときに、端末装置１の利用者がリモコン１０６を操作することによって、表示されているカタログリストのうち所望のコンテンツ名称を利用者が選択することによってコンテンツデータの取得要求操作がなされ、この操作をコンテンツデータ取得要求検出手段によって検出する。
【０１０８】
なお、カタログリストにはコンテンツ配信システムＳにおいて配信可能なコンテンツの名称などコンテンツデータを特定するための情報のほかこれらコンテンツデータ毎の公開条件情報が含まれており、表示制御手段は、コンテンツデータの公開条件の情報に基づいて、内蔵ディスプレイ１１０にカタログリストに含まれるコンテンツ名称の一覧とそれらが公開中なのか予約期間中なのかを表示するようにしている。更に、予約期間であれば公開日時の表示も行うようにしている。従って、端末装置１の利用者は、コンテンツ配信システムＳで配信可能なコンテンツのうちどれが公開中でどれが予約期間中であるかを容易に把握することができる。
【０１０９】
（コンテンツデータ取得手段について）
コンテンツデータ取得手段は、ネットワークインターフェイス１０５を介して受信したメッセージがコンテンツサーバ装置１０からのコンテンツデータの保持要求であるときに、このコンテンツデータをコンテンツサーバ装置１０から取得する。そして、取得したコンテンツデータをコンテンツデータ記憶手段である第２記憶部１０４に記憶する。
【０１１０】
また、コンテンツデータ取得手段は、コンテンツデータ取得要求検出手段により利用者による取得要求操作が検出されたとき、この取得要求操作に応じたコンテンツデータをネットワーク８を介して他の端末装置１から取得する。
【０１１１】
ここで、他の端末装置１からコンテンツデータを取得するときには、取得しようとするコンテンツデータを保持するコンテンツ保持端末装置の所在情報を検索するための検索メッセージを生成する。検索メッセージは、要求するコンテンツデータの識別情報であるコンテンツＩＤを宛先識別情報とし、自端末装置１の識別情報である端末ＩＤを要求元識別情報としたメッセージである。コンテンツデータ取得手段は、取得しようとするコンテンツデータのコンテンツ名称をカタログリストから取り出し、取り出したコンテンツ名称を端末ＩＤを得るときと共通のハッシュ関数によりハッシュ化することによってコンテンツＩＤを決定する。なお、コンテンツサーバ装置１０において予めカタログリストにコンテンツデータに対応するコンテンツＩＤを含ませることにしてもよい。
【０１１２】
コンテンツデータ取得手段は、生成した検索メッセージの宛先識別情報であるコンテンツＩＤに基づいて所定条件を満たす送信先端末装置を選択して、検索メッセージを送信する。ここで、「所定条件」とは、ルーティングテーブルに記憶された端末ＩＤのうち、検索メッセージの宛先識別情報であるコンテンツＩＤと上位桁がより多く一致する端末ＩＤを選択するという条件である。例えば、図４に示すようなルーティングテーブルを有しており、かつ宛先識別情報としてのコンテンツＩＤが「1231」である場合、コンテンツ保持端末要求情報送信手段は、ルーティングテーブルから端末ＩＤ「1221」を送信先端末装置として選択し、当該端末ＩＤ「1221」の端末装置１のＩＰアドレス「21.13.21.13」を取り出す。そして、当該ＩＰアドレス「21.13.21.13」を送信先端末装置として検索メッセージを送信する。
【０１１３】
このようにコンテンツデータ取得手段は、決定したコンテンツＩＤ或いはカタログリストに含まれるコンテンツ名称に基づいて生成したコンテンツＩＤを宛先の識別情報とした検索メッセージを生成する。その後、ルーティングテーブルに記憶された端末装置１の識別情報から送信先端末装置を選択して、生成した検索メッセージを送信先端末装置へ転送する。すなわち、ルーティングテーブルに記憶された端末装置１の端末ＩＤのうち、宛先識別情報に近い端末ＩＤを選択し、このように選択した端末ＩＤに対応する端末装置１のＩＰアドレスを知り、そのＩＰアドレスの端末装置１に検索メッセージを送信する。
【０１１４】
コンテンツデータ取得手段は、送信した検索メッセージに対してルート端末装置から送信されるコンテンツ保持端末装置の所在情報を受信し、この情報に基づいてコンテンツ保持端末装置に対して取得要求操作に応じたコンテンツデータを要求して取得する。
【０１１５】
また、コンテンツデータ取得手段は、取得要求操作に対応するコンテンツデータがネットワーク８を介して他の端末装置１から取得することができないとき、所定時間待機した後に取得要求操作に応じたコンテンツデータの取得処理を再度行うようにする。
【０１１６】
ここで、所定時間とは、ランダムに決定される時間であり、コンテンツデータ取得手段が疑似乱数アルゴリズム或いは乱数生成回路によって算出する。
【０１１７】
なお、上述のように所定時間を公開日時までの残り時間の１／２の時間としたり、一定時間をコンテンツデータの取得処理におけるリトライ回数で除した時間としたりするようにしてもよい。また、所定時間を一定時間とするようにしてよい。
【０１１８】
また、コンテンツデータ取得手段は、取得要求操作に対応するコンテンツデータが他の端末装置１から取得することができないときであっても、その公開条件を満たすときには、取得要求操作に対応するコンテンツデータを保持するコンテンツサーバ装置１０から取得要求操作に対応するコンテンツデータを取得する。
【０１１９】
なお、コンテンツサーバ装置１０からのコンテンツデータの取得は、コンテンツデータ取得手段が取得要求操作に対応するコンテンツデータのコンテンツＩＤを含むコンテンツ送信要求を送信することによって行う。
【０１２０】
（コンテンツデータ送信手段について）
コンテンツデータ送信手段は、コンテンツデータ記憶手段である第２記憶部１０４に記憶したコンテンツデータの送信要求が他の端末装置１からあったとき、この送信要求に対応するコンテンツデータを第２記憶部１０４から取り出して送信要求をした他の端末装置１へ送信する。
【０１２１】
（公開条件取得手段について）
公開条件取得手段は、コンテンツデータ取得手段により取得したコンテンツデータの公開条件情報を取得する。
【０１２２】
コンテンツデータの公開条件情報は、コンテンツデータの公開日時の情報であり、コンテンツデータ取得手段により取得したコンテンツデータに含まれている。公開条件取得手段は、コンテンツデータ取得手段により取得したコンテンツデータに含まれる公開条件情報を抽出することによって公開条件を取得する。
【０１２３】
なお、カタログリストには上述のようにコンテンツデータ毎の公開条件情報が含まれており、公開条件取得手段は、カタログリストからコンテンツデータ取得手段により取得したコンテンツデータの公開条件情報を取得するようにしてもよい。
【０１２４】
（公開条件判定手段について）
公開条件判定手段は、公開条件取得手段により取得した公開条件情報である公開日時情報に基づいて、コンテンツデータ取得手段により取得したコンテンツデータがその公開条件を満たすか否かを判定する。
【０１２５】
例えば、コンテンツデータ取得手段により取得したコンテンツデータの公開日時情報が「２００６年８月１０日ＡＭ１０時」である場合には、公開条件判定手段は、現時刻が２００６年８月１０日ＡＭ１０時以前であるときには、コンテンツデータ取得手段により取得したコンテンツデータがその公開条件を満たさないと判定し、２００６年８月１０日ＡＭ１０時又はそれ以後であれば、公開条件を満たすと判定する。
【０１２６】
なお、公開条件取得手段によってコンテンツデータの公開条件を、コンテンツの公開日時に加え、端末装置１の所在情報であるＩＰアドレスをも加えたものとすることができる。すなわち、公開条件取得手段は公開条件情報として公開日時とコンテンツデータを再生する端末装置１のＩＰアドレスとを取得し、公開条件判定手段は、公開日時とＩＰアドレスに基づいて、コンテンツデータ取得手段により取得したコンテンツデータが公開条件を満たすか否かを判定する。例えば、公開条件情報として、ＩＰアドレス「60.32.72.XXX」〜「60.32.79.XXX」までは公開日時を２００６年８月１０日ＡＭ１０時とし、ＩＰアドレス「60.32.80.XXX」〜「60.32.89.XXX」までは公開日時を２００６年８月１１日ＡＭ１０時とすることによって、IPアドレスのグループ毎に公開日時を変更することができる。
【０１２７】
（復号キー要求手段について）
コンテンツデータ取得手段により取得したコンテンツデータは暗号化されたコンテンツデータであり、復号キー要求手段は、公開条件判定手段によりその公開条件を満たすと判定された場合に、公開条件を満たすコンテンツデータに対応する復号キーを復号キー管理装置２０に対して要求する。
【０１２８】
なお、復号キー管理装置２０から復号キーを取得できないときには、公開条件を満たすコンテンツのルート端末装置にその復号キーを要求するようにしてもよい。この場合、復号キー管理装置２０は自己の保有するコンテンツデータのうち、公開条件を満たすと判定されるコンテンツデータを復号キーをルート端末装置に送信しておくようにする。
【０１２９】
（復号キー取得手段について）
復号キー取得手段は、復号キー要求手段による要求に応じて復号キー管理装置２０から送信される復号キーを取得する。
【０１３０】
また、復号キー管理装置２０から復号キーを取得できないときには、公開条件を満たすコンテンツのルート端末装置から復号キーを取得するようにしてもよい。
【０１３１】
（デコード手段について）
デコード手段は、第２記憶部１０４に記憶したコンテンツデータを内蔵ディスプレイ１１０に表示し、スピーカ１１２から出力するためにデコードする。すなわち、他の端末装置１から送信されるコンテンツデータは、所定の形式でエンコードされており、このようにエンコードされているコンテンツデータを内蔵ディスプレイ１１０やスピーカ１１２から出力できるようにデコードする。
【０１３２】
（コンテンツデータ再生手段について）
コンテンツデータ再生手段は、第２記憶部１０４に記憶されたコンテンツデータのうち公開条件判定手段により公開条件を満たすと判定されたコンテンツデータを再生するものであり、第２記憶部１０４に記憶されたコンテンツデータを復号キー取得手段により取得した復号キーによって復号した後、デコード手段によってデコードし、ビデオチップ１０９及び音源チップ１１１を動作させることによりコンテンツデータを再生する。
【０１３３】
（メッセージ宛先判定手段について）
メッセージ宛先判定手段は、ネットワーク８を介して受信したメッセージの宛先識別情報とルーティングテーブルとに基づいて、受信したメッセージが自端末装置１宛であるか否かを判定する。このメッセージ宛先判定手段が判定するメッセージは、コンテンツ保持端末装置の識別情報をルート端末装置に要求するための検索メッセージ、ルート端末装置にコンテンツ保持端末装置の識別情報を登録するための登録メッセージなどである。
【０１３４】
受信したメッセージが自端末装置１宛であるか否かの判定は、メッセージに含まれる宛先識別情報を取り出し、第１記憶部１０３に記憶したルーティングテーブルに基づいて後述の制御部１１３が判定する。すなわち、各種のメッセージをネットワークインターフェイス１０５を介して受信したとき、メッセージ宛先判定手段は、受信したメッセージに含まれる宛先識別情報とルーティングテーブルに記憶した端末ＩＤとを比較し、メッセージに含まれる宛先識別情報と一番近いルーティングテーブル上の端末ＩＤが自端末装置１の端末ＩＤであると判定すると、自端末装置１宛のメッセージであると判定する。
【０１３５】
（メッセージ転送手段について）
メッセージ転送手段は、メッセージ宛先判定手段によりネットワーク８を介して受信したメッセージが自端末装置１宛ではないと判定されると、受信したメッセージの宛先識別情報に基づいて、ルーティングテーブルに記憶された端末装置１の識別情報から送信先端末装置を選択して、受信したメッセージを送信先端末装置へ転送する。すなわち、メッセージ転送手段は、ルーティングテーブルに記憶された端末装置１の端末ＩＤのうち、宛先識別情報に近い端末ＩＤを選択し、このように選択した端末ＩＤに対応する端末装置１のＩＰアドレスを知り、そのＩＰアドレスをＩＰパケットの宛先として、メッセージを転送する。
【０１３６】
（登録メッセージ送信手段について）
登録メッセージ送信手段は、コンテンツサーバ装置１０から受信したコンテンツデータをコンテンツデータ記憶手段である第２記憶部１０４に記憶したとき、当該コンテンツデータの識別情報であるコンテンツＩＤを宛先識別情報とし、自端末装置１の識別情報である端末ＩＤ及びＩＰアドレスとを含む登録メッセージを生成する。また、他のコンテンツ保持端末装置からコンテンツデータを受信したときも同様に、受信したコンテンツデータをコンテンツデータ記憶手段である第２記憶部１０４に記憶し、登録メッセージを生成する。
【０１３７】
登録メッセージ送信手段は、このように生成した登録メッセージを、ルーティングテーブルに基づいて選択した送信先端末装置へ送信する。例えば、図４に示すようなルーティングテーブルを有しており、かつ第２記憶部１０４に記憶したコンテンツデータのコンテンツＩＤが「1231」である場合、登録メッセージ送信手段は、ルーティングテーブルから端末ＩＤ「1221」を送信先端末装置として選択し、当該端末ＩＤ「1221」の端末装置１のＩＰアドレス「21.13.21.13」を取り出す。そして、当該ＩＰアドレス「21.13.21.13」を送信先端末装置として登録メッセージを送信する。なお、この登録メッセージの宛先識別情報は「1231」となる。
【０１３８】
（コンテンツ保持端末情報取得手段について）
コンテンツ保持端末情報取得手段は、自端末装置１において、受信したメッセージが登録メッセージであるとき、登録メッセージに含まれるコンテンツ保持端末装置の識別情報である端末ＩＤやＩＰアドレスなどを取得する。そして、このように取得したインデックス情報をインデックステーブルに記憶する。
【０１３９】
（端末識別情報送信手段について）
端末識別情報送信手段は、検索メッセージによって要求されたコンテンツに対するコンテンツ保持端末装置の端末ＩＤが記憶されている場合、当該コンテンツ保持端末装置の所在情報であるＩＰアドレスを、当該検索メッセージを送信したリクエスト端末装置へ向けて送信する。
【０１４０】
［３．コンテンツサーバ装置１０の構成等の説明］
次に、図面を参照して、コンテンツサーバ装置１０の構成及び動作について説明する。図１３は、本実施形態に係るコンテンツ配信システムＳにおけるコンテンツサーバ装置１０の概略構成を示す図である。
【０１４１】
コンテンツサーバ装置１０は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図１３に示すように、ＣＰＵ（Central Processing Unit）２０２と、各種プログラム等を記憶する書き換え可能な主記憶装置としての第１記憶部２０３と、各種データ等を記憶するＨＤＤ等から構成された第２記憶部２０４と、ルータ３０ｂを介してネットワーク８に参加している他の端末装置１との間で通信を行うためのネットワークインターフェイス２０５と、コンテンツ配信システムＳの管理者によってコンテンツサーバ装置１０の制御を行うために情報を入力する入力手段であるキーボード２０７やマウス２０８と、入力手段から入力された情報を処理するための周辺機器制御チップ２０６と、ＣＰＵ２０２の制御によりイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ２１０に表示するビデオチップ２０９と、ディスプレイ２１０等を備えて構成され、これらの各種構成要素はシステムバス２０１を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ２０２と第１記憶部２０３とで制御部２１３を構成している。
【０１４２】
（第１記憶部２０３について）
また、第１記憶部２０３には、コンテンツサーバ装置１０のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム（ＯＳ）プログラム２１４、ディスプレイ２１０の制御等を行うための画面制御プログラム２１５、コンテンツの一覧表であるカタログリストを管理し、コンテンツ配信システムＳにコンテンツを投入する毎にカタログリストを更新するためのカタログ管理プログラム２１６と、コンテンツ配信システムＳにコンテンツデータを新規に投入したり、端末装置１からの要求に応じてコンテンツデータを送信したりするためのコンテンツ管理プログラム２１７等を記憶しており、これらはＣＰＵ２０２によって読み出され、ＣＰＵ２０２によってこれらのプログラムに従った機能が実行される。なお、「コンテンツ配信システムＳにコンテンツを投入」とは、コンテンツサーバ装置１０が、あるコンテンツデータに関して最初にコンテンツ保持端末装置となる端末装置１を決定し、当該決定した端末装置１にコンテンツデータを配布することを意味する。
【０１４３】
ここで、ＯＳプログラム２１４は、ＣＰＵ２０２によって読み出されて実行されることにより、キーボード２０７やマウス２０８に関する機能や、第１記憶部２０３や第２記憶部２０４などのメモリ管理等のコンテンツサーバ装置１０であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム２１４がＣＰＵ２０２によって実行された状態で、上述の画面制御プログラム２１５、カタログ管理プログラム２１６、コンテンツ管理プログラム２１７等が第１記憶部２０３から読み出されて実行される。
【０１４４】
なお、ＯＳプログラム２１４、画面制御プログラム２１５、カタログ管理プログラム２１６、コンテンツ管理プログラム２１７等は、例えば、ネットワーク８に接続されたサーバ等から、ネットワークインターフェイス２０５を介して、第１記憶部２０３にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、第１記憶部２０３に読み込まれるようにしてもよい。
【０１４５】
（第２記憶部２０４について）
第２記憶部２０４には、カタログ更新プログラムによって生成され、コンテンツ配信システムＳ内にて提供されているコンテンツの名称及び公開条件情報がリスト化されたカタログリストを記憶するカタログリスト記憶領域２１８と、コンテンツ配信システムＳにおいて提供されているコンテンツを記憶する投入済コンテンツデータ記憶領域２１９と、新規に投入するコンテンツのデータを記憶する未投入（新規）コンテンツデータ記憶領域２２０を有している。
【０１４６】
（制御部２１３について）
制御部２１３は、上述のようにＣＰＵ２０２と第１記憶部２０３とから構成され、ＣＰＵ２０２が第１記憶部２０３に記憶された各種プログラム２１４〜２１７を読み出して実行することにより、コンテンツサーバ装置１０全体を統括制御し、かつ、後述する表示制御手段、コンテンツ投入手段、コンテンツ送信手段、カタログリスト更新手段、カタログリスト配布手段等として機能するようになっている。
【０１４７】
なお、ＣＰＵ２０２が画面制御プログラム２１５を実行することによって表示制御手段等として、またＣＰＵ２０２がカタログ管理プログラム２１６を実行することによってカタログリスト更新手段、カタログリスト配布手段等として、またＣＰＵ２０２がコンテンツ管理プログラム２１７を実行することによって、コンテンツ投入手段、コンテンツ送信手段等として、それぞれ機能するようになっている。
【０１４８】
（表示制御手段について）
表示制御手段は、ビデオチップ２０９及びディスプレイ２１０を制御して、各種の映像情報（画像情報）を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ２１０にどのように映像を表示させるかを制御する。
【０１４９】
（コンテンツ投入手段について）
コンテンツ投入手段は、新規にコンテンツ配信システムＳに投入するコンテンツデータの識別情報であるコンテンツＩＤを決定する機能を有する。より具体的には、ランダム演算によってランダムな値を算出し、このようにランダムに算出した値を、上記端末ＩＤを得るときと共通のハッシュ関数によりハッシュ化することによってコンテンツＩＤを決定する。
【０１５０】
また、コンテンツ投入手段は、新規コンテンツデータ記憶領域２２０に記憶したコンテンツデータを保持させる端末装置１、すなわちコンテンツ保持端末装置をランダムに決定する機能を有している。
【０１５１】
また、コンテンツ投入手段がランダムに決定するコンテンツ保持端末装置の数は、例えば、上述のよう２台とするようにしてもよく、また、投入するコンテンツの人気度が推測できるものであれば、上述のように推測した人気度に応じて増減させることができる。
【０１５２】
また、コンテンツ投入手段は、決定したコンテンツ保持端末装置にコンテンツデータの保持要求を行う。このコンテンツデータの保持要求は、本実施形態においては、上記の如く決定したコンテンツ保持端末装置とすべき端末装置１に対してコンテンツデータを保持させるための要求であり、ＤＨＴルーティングによって送信される。この要求に対してコンテンツ保持端末装置となるべき端末装置１は、コンテンツサーバ装置１０のＩＰアドレスをコンテンツデータの保持要求の中から取り出し、当該ＩＰアドレス宛に前記保持要求に対応するコンテンツデータの送信要求を送信する。コンテンツ投入手段は、コンテンツデータの送信要求を受信すると、保持させようとするコンテンツデータを送信要求元の端末装置１へ送信する。
【０１５３】
（コンテンツ送信手段について）
コンテンツ送信手段は、ネットワークを介して端末装置１からコンテンツデータの送信要求があると、コンテンツ記憶手段である第２記憶部２０４から送信要求に対応するコンテンツデータを取り出して、要求元の端末装置１へ送信する。但し、端末装置１から要求されたコンテンツの予約期間が終了していないときには、コンテンツデータを送信できない旨の通知を送信要求を行った端末装置１へ送信する。
【０１５４】
（カタログリスト更新手段について）
カタログリスト更新手段は、コンテンツ投入手段で新規にコンテンツデータがコンテンツ配信システムＳに投入される毎に第２記憶部２０４に記憶したカタログリストを更新する。
【０１５５】
なお、カタログリストへの更新は、新規に投入したコンテンツの名称などコンテンツデータを特定するための情報のほかコンテンツの公開条件情報を関連付けてカタログリストに追加することによって行われる。
【０１５６】
（カタログリスト配布手段について）
カタログリスト配布手段は、端末装置１からのカタログリスト配布要求に応じて、第２記憶部２０４に記憶したカタログリストを取り出し、配布要求を行った端末装置１へ配布する。
【０１５７】
［４．復号キー管理装置２０の構成等の説明］
次に、図面を参照して、復号キー管理装置２０の構成及び動作について説明する。図１４は、本実施形態に係るコンテンツ配信システムＳにおける復号キー管理装置２０の概略構成を示す図である。
【０１５８】
復号キー管理装置２０は、専用のコンピュータの他、一般のサーバコンピュータを適用可能であり、図１４に示すように、ＣＰＵ（Central Processing Unit）３０２と、各種プログラム等を記憶する書き換え可能な主記憶装置としての第１記憶部３０３と、各種データ等を記憶するＨＤＤ等から構成された第２記憶部３０４と、ルータ３０ｃを介してネットワーク８に参加している他の端末装置１との間で通信を行うためのネットワークインターフェイス３０５と、コンテンツ配信システムＳの管理者によって復号キー管理装置２０の制御を行うために情報を入力する入力手段であるキーボード３０７やマウス３０８と、入力手段から入力された情報を処理するための周辺機器制御チップ３０６と、ＣＰＵ３０２の制御によりイメージデータを受け取り、内部のビデオメモリ（図示せず）に書き込み、このビデオメモリに書き込んだデータを後述のディスプレイ３１０に表示するビデオチップ３０９と、ディスプレイ３１０等を備えて構成され、これらの各種構成要素はシステムバス３０１を介して相互に接続されている。なお、本実施形態においては、ＣＰＵ３０２と第１記憶部３０３とで制御部３１３を構成している。
【０１５９】
（第１記憶部３０３について）
また、第１記憶部３０３には、復号キー管理装置２０のコンピュータとしての基本的な機能を提供するためのオペレーティングシステム（ＯＳ）プログラム３１４、ディスプレイ３１０の制御等を行うための画面制御プログラム３１５、端末装置１にコンテンツデータの復号キーを配布する復号キー配布プログラム３１６等を記憶しており、これらはＣＰＵ３０２によって読み出され、ＣＰＵ３０２によってこれらのプログラムに従った機能が実行される。
【０１６０】
ここで、ＯＳプログラム３１４は、ＣＰＵ３０２によって読み出されて実行されることにより、キーボード３０７やマウス３０８に関する機能や、第１記憶部３０３や第２記憶部３０４などのメモリ管理等の復号キー管理装置２０であるコンピュータの基本的な機能を実行可能にするものである。そして、このＯＳプログラム３１４がＣＰＵ３０２によって実行された状態で、上述の画面制御プログラム３１５、復号キー配布プログラム３１６等が第１記憶部３０３から読み出されて実行される。
【０１６１】
なお、ＯＳプログラム３１４、画面制御プログラム３１５、復号キー配布プログラム３１６等は、例えば、ネットワーク８に接続されたサーバ等から、ネットワークインターフェイス３０５を介して、第１記憶部３０３にダウンロードされるようにしてもよく、又ＣＤ−ＲＯＭ等の記録媒体に記録されてから図示しない記録媒体ドライブを介して、第１記憶部３０３に読み込まれるようにしてもよい。
【０１６２】
（第２記憶部３０４について）
第２記憶部３０４には、復号キー記憶手段として機能するものであり、コンテンツサーバ装置１０から投入され、コンテンツ配信システムＳにおいて提供されるコンテンツデータを復号するための復号キーがコンテンツデータ毎にそのコンテンツＩＤに対応してそれぞれ記憶される復号キーデータベース領域３２０を有している。
【０１６３】
（制御部３１３について）
制御部３１３は、上述のようにＣＰＵ３０２と第１記憶部３０３とから構成され、ＣＰＵ３０２が第１記憶部３０３に記憶された各種プログラム３１４〜３１６を読み出して実行することにより、復号キー管理装置２０全体を統括制御し、かつ、後述する表示制御手段、復号キー送信手段等として機能するようになっている。
【０１６４】
なお、ＣＰＵ３０２が画面制御プログラム３１５を実行することによって表示制御手段等として、またＣＰＵ３０２が復号キー配布プログラム３１６を実行することによって復号キー送信手段等として、それぞれ機能するようになっている。
【０１６５】
（表示制御手段について）
表示制御手段は、ビデオチップ３０９及びディスプレイ３１０を制御して、各種の映像情報（画像情報）を表示させる機能を有している。すなわち、表示制御手段は、ディスプレイ３１０にどのように映像を表示させるかを制御する。
【０１６６】
（復号キー送信手段について）
復号キー送信手段は、端末装置１からネットワーク８を介して復号キーの要求があると、第２記憶部３０４から復号キーを取り出して要求元の端末装置１へ送信する。
【０１６７】
端末装置１からの復号キーの要求には、コンテンツＩＤを含んでおり、復号キー送信手段はこのコンテンツＩＤに対応する復号キーを第２記憶部３０４の復号キーデータベースから取り出す。
【０１６８】
［５．コンテンツ配信システムＳの動作］
以下、端末装置１、コンテンツサーバ装置１０及び復号キー管理装置２０の詳細動作について、フローチャートを用いて更に具体的に説明する。
【０１６９】
（端末装置１の処理フローの説明）
まず、端末装置１の更に具体的な動作について、図１５及び図１６のフローチャートを参照して説明する。図１５及び図１６は端末装置１における処理を示すフローチャートである。なお、以下の各処理は、端末装置１の制御部１１３が上述した手段等として機能することによって実行されるものである。
【０１７０】
図１５に示すように、端末装置１の電源がＯＮになると、端末装置１のＣＰＵ１０２は、第１記憶部１０３や第２記憶部１０４のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム１１５〜１１８をＣＰＵ１０２による実行状態とし、制御部１１３としての機能を動作させた後（ステップＳ１００）、ステップＳ１０１に処理を移す。
【０１７１】
ステップＳ１０１において、制御部１１３は、コンテンツサーバ装置１０からカタログリストを取得する。このカタログリストの取得は、制御部１１３がコンテンツサーバ装置１０に対して、カタログリストを要求し、当該要求に対して送信されるカタログリストを受信することによって行う。また、制御部１１３は、以後定期的にコンテンツサーバ装置１０からカタログリストを取得する。
【０１７２】
このカタログリストには、上述のようにコンテンツ配信システムＳにおいて取得可能な複数のコンテンツデータの名称等と公開条件情報とが関連付けられた情報が含まれている。制御部１１３は、コンテンツサーバ装置２からこのカタログリストを取得し、カタログリストの内容を内蔵ディスプレイ１１０に表示する。端末装置１の利用者は内蔵ディスプレイ１１０に表示されているカタログリストの内容を見ながら、リモコン１０６等の操作を行って、コンテンツ配信システムＳにおいてコンテンツデータの取得を行うことができるようにしている。
【０１７３】
ここで、制御部１１３は、カタログリストに基づいてコンテンツが予約期間であると判定すると、内蔵ディスプレイ１１０に予約受付中である旨及び「予約ボタン」を表示する。一方、カタログリストに基づいてコンテンツが予約期間ではないと判定すると、内蔵ディスプレイ１１０に公開中である旨及び「ダウンロードボタン」を表示する。なお、「予約ボタン」及び「ダウンロードボタン」がリモコン１０６などにより選択されたとき、制御部１１３は、利用者からのコンテンツの取得要求操作があったと判定する。
【０１７４】
次に、制御部１１３は、ステップＳ１０２において、利用者からの任意のコンテンツＸの取得要求操作があったか否かを判定する。利用者からのコンテンツＸの取得要求操作があったか否かは、上述のようにリモコン１０６等のコンテンツ選択手段からコンテンツ取得指示の操作（「予約ボタン」、「ダウンロードボタン」の押下）がなされたか否かにより判断される。
【０１７５】
この処理において、制御部１１３は、利用者からのコンテンツＸの取得要求操作があったと判定した場合には（ステップＳ１０２：ＹＥＳ）、コンテンツＸ取得処理に移行する（ステップＳ１０３）。このステップＳ１０３の処理は、図１６におけるＳ１５０〜Ｓ１５８，Ｓ１６０〜Ｓ１６５の処理であり、後述で詳説する。
【０１７６】
一方、ステップＳ１０２において、利用者からのコンテンツＸの取得要求操作がなかったと判定すると（ステップＳ１０２：ＮＯ）、制御部１１３は、登録メッセージを受信したか否かを判定する（ステップＳ１１０）。登録メッセージを受信したか否かは、コンテンツ保持端末装置からネットワーク８を介して送信される登録メッセージが自端末装置１で受信されたか否かによって判断される。
【０１７７】
この処理において、登録メッセージを受信したと判定すると（ステップＳ１１０：ＹＥＳ）、制御部１１３は、受信した登録メッセージに含まれるコンテンツ保持端末装置の所在情報及びコンテンツ保持端末装置が保持するコンテンツデータのコンテンツＩＤ等を関連付けて第１記憶部１０３のインデックステーブルに追加する（ステップＳ１１１）。
【０１７８】
その後、制御部１１３は、自端末装置１がルート端末装置であるか否かを判定する（ステップＳ１１２）。端末装置１がルート端末装置であるか否かは、受信した登録メッセージの宛先識別情報と第１記憶部１０３に記憶したルーティングテーブルとに基づいて判断される。
【０１７９】
この処理において、制御部１１３は、自端末装置１がルート端末装置でないと判定すると（ステップＳ１１２：ＮＯ）、第１記憶部１０３に記憶したルーティングテーブルに基づいて、登録メッセージを他の端末装置１へ転送する（ステップＳ１１３）。一方、自端末装置１がルート端末装置であると判定すると（ステップＳ１１２：ＹＥＳ）、制御部１１３は、ステップＳ１１３の処理は行わない。
【０１８０】
ステップＳ１１０において、登録メッセージを受信しなかったと判定すると（ステップＳ１１０：ＮＯ）、制御部１１３は、投入されるコンテンツデータを受信したか否かを判定する（ステップＳ１２０）。
【０１８１】
この処理において、制御部１１３は、コンテンツサーバ装置１０から投入されるコンテンツデータを受信したと判定すると（ステップＳ１２０：ＹＥＳ）、投入コンテンツ受信処理を行う（ステップＳ１２１）。
【０１８２】
この投入コンテンツ受信処理は、コンテンツサーバ装置１０から投入されたコンテンツデータを第２記憶部１０４に記憶して保存するとともに、ルート端末装置のインデックステーブルに登録するようにする。
【０１８３】
すなわち、制御部１１３は、ステップＳ１２０において受信した投入コンテンツデータを第２記憶部１０４のコンテンツデータ記憶領域に記憶し、保存する。また、制御部１１３は、自端末装置１がルート端末装置ではないと判定したときに、ルーティングテーブルに基づいて、ネットワーク８を介して登録メッセージを他の端末装置１へ送信し、一方自端末装置１がルート端末装置であると判定したときにはインデックステーブルにコンテンツＩＤと自端末装置１の所在情報を追加して登録する。
【０１８４】
ステップＳ１２０において、投入されるコンテンツデータ受信しなかったと判定すると（ステップＳ１２０：ＮＯ）、制御部１１３は、他の端末装置１からコンテンツデータの送信要求があるか否かを判定する（ステップＳ１３０）。
【０１８５】
この処理において、制御部１１３は、他の端末装置１からコンテンツデータの送信要求があったと判定すると（ステップＳ１３０：ＹＥＳ）、コンテンツデータの送信要求に対応するコンテンツデータを第２記憶部１０４から取り出し、送信要求を行った他の端末装置１へ取り出したコンテンツデータを送信する（ステップＳ１３１）。
【０１８６】
また、この処理において、制御部１１３は、他の端末装置１からコンテンツデータの送信要求がなかったと判定すると（ステップＳ１３０：ＮＯ）、検索メッセージを受信したか否かを判定する（ステップＳ１４０）。検索メッセージを受信したか否かは、ネットワーク８を介してリクエスト端末装置から送信される検索メッセージが受信されたか否かによって判断される。
【０１８７】
この処理において、制御部１１３は、検索メッセージを受信したと判定すると（ステップＳ１４０：ＹＥＳ）、ステップＳ１４１においてコンテンツ検索処理を行う。
【０１８８】
このコンテンツ検索処理においては、まずステップＳ１４１において受信した検索メッセージからコンテンツＩＤを取得し、このコンテンツＩＤがインデックステーブルに存在するか否かを判定する。そして、検索メッセージから取得したコンテンツＩＤがインデックステーブルに存在すると判定すると、インデックステーブルからコンテンツ保持端末装置の所在情報を取得し、このコンテンツ保持端末装置の所在情報をネットワーク８を介してリクエスト端末装置へ送信する。一方、検索メッセージから取得したコンテンツＩＤがインデックステーブルに存在しないと判定すると、制御部１１３は、ルーティングテーブルに基づいてネットワーク８を介して次の端末装置１へメッセージを転送する。
【０１８９】
ステップＳ１４０において、検索メッセージを受信しなかったと判定されたとき（ステップＳ１４０：ＮＯ）、ステップＳ１１２において、自端末装置１がルート端末装置でないと判定したとき（ステップＳ１１２：ＹＥＳ）、ステップＳ１０３、ステップＳ１１３、ステップＳ１２１、ステップＳ１３１、ステップＳ１４１の処理が終了したとき、制御部１１３は、自端末装置１の電源がＯＦＦ状態へ移行したか否かを判定する（ステップＳ１４５）。
【０１９０】
ステップＳ１４５において、自端末装置１の電源がＯＦＦ状態へ移行したと判定すると（ステップＳ１４５：ＹＥＳ）、制御部１１３は、メイン処理を終了し、一方、自端末装置１の電源がＯＦＦ状態へ移行していないと判定すると（ステップＳ１４５：ＮＯ）、制御部１１３は、ステップＳ１０２からの処理を繰り返す。
【０１９１】
次に、Ｓ１０３におけるコンテンツＸ取得処理について図１６のフローチャートを参照して具体的に説明する。
【０１９２】
図１６に示すように、コンテンツＸ取得処理が開始されると、制御部１１３は、第２記憶部１０４にコンテンツＸのデータを既に保持しているか否かを判定する（ステップＳ１５０）。
【０１９３】
ステップＳ１５０において、第２記憶部１０４にコンテンツＸのデータを保持していないと判定すると（ステップＳ１５０：ＮＯ）、制御部１１３はコンテンツＸのデータを保持しているコンテンツ保持端末装置の所在情報を取得するために、コンテンツＸのコンテンツＩＤを宛先識別情報とした検索メッセージを、第１記憶部１０３に記憶したルーティングテーブルに基づいて送信する。
【０１９４】
この検索メッセージはコンテンツ配信システムＳのＤＨＴルーティングによってコンテンツＸのルート端末装置に到達する。ルート端末装置はこの検索メッセージに対して、コンテンツＸのデータを保持するコンテンツ保持端末装置の所在情報を送信し、制御部１１３は、ルート端末装置から送信されるコンテンツＸのデータを保持するコンテンツ保持端末装置の所在情報を取得し（ステップＳ１５１）、コンテンツＸのデータを保持するコンテンツ保持端末装置がコンテンツＸのデータが送信可能であるか否かを判定する（ステップＳ１５２）。
【０１９５】
この処理において、制御部１１３は、コンテンツＸのデータを保持するコンテンツ保持端末装置に対して、コンテンツＸのデータの送信が可能か否かを問い合わせ、この問い合わせに対してコンテンツ保持端末装置から送信されるコンテンツＸのデータの送信可否情報に基づいて、当該コンテンツ保持端末装置がコンテンツＸのデータが送信可能であるか否かを判定する。
【０１９６】
ステップＳ１５２において、コンテンツ保持端末装置がコンテンツＸのデータの送信を行うことができると判定すると（ステップＳ１５２：ＹＥＳ）、制御部１１３は、その処理をステップＳ１５３に移行する。
【０１９７】
ステップＳ１５３において、制御部１１３は、コンテンツＸのコンテンツ保持端末装置に対して、コンテンツＸのデータを送信するように要求し、この要求に応じてコンテンツ保持端末装置から送信されるコンテンツＸのデータを受信して（ステップＳ１５４）、処理をステップＳ１５５に移行する。
【０１９８】
ステップＳ１５５において、制御部１１３は、受信したコンテンツＸのデータを第２記憶部１０４に記憶し、その旨をコンテンツ配信システムＳに通知する。すなわち、コンテンツＸのコンテンツ保持端末装置として登録メッセージをコンテンツＸのルート端末装置へ送信する。
【０１９９】
次に、制御部１１３は、処理をステップＳ１５６に移行し、第２記憶部１０４に記憶したコンテンツＸが予約期間中か否かを判定する。
【０２００】
この処理において、制御部１１３は、コンテンツＸが予約期間中であるか否かを第２記憶部１０４に記憶したコンテンツＸのデータに含まれるコンテンツＸの公開日時情報に基づいて行う。すなわち、制御部１１３は、この公開日時情報を抽出することによってコンテンツＸが予約期間中であるのか予約期間が終了したのかを判定する。なお、コンテンツＸが予約期間中であるか否かをカタログリストに含まれるコンテンツＸの公開条件情報である公開日時情報に基づいて行うようにしてもよい。
【０２０１】
ステップＳ１５６において、コンテンツＸが予約期間中であると判定すると（ステップＳ１５６：ＹＥＳ）、制御部１１３は、コンテンツＸのデータの再生を公開日時まで待機する（ステップＳ１５７）。
【０２０２】
コンテンツＸの公開日時に達したとき、制御部１１３は、処理をステップＳ１５７に移行し、コンテンツＸが利用可能になった旨を利用者に通知する（ステップＳ１５８）。
【０２０３】
ここで、コンテンツＸが利用可能になった旨の通知は、制御部１１３が内蔵ディスプレイ１１０にコンテンツＸが利用可能になった旨の表示を行うことによって実行される。その後、利用者からリモコン１０６等の操作によりコンテンツＸの再生要求操作があったとき、制御部１１３は、復号キー管理装置２０からコンテンツＸの復号キーを取得する。すなわち、制御部１１３は、復号キー管理装置２０に対してコンテンツＸの復号キーの送信要求を行い、この送信要求に対して復号キー管理装置２０から送信される復号キーを受信する。制御部１１３は、取得した復号キーを用いて第２記憶部１０４に記憶したコンテンツＸのデータを復号し、端末装置１でコンテンツＸのデータを再生可能な状態とする。そして、復号されたコンテンツＸのデータを制御部１１３によってデコードした後、ビデオチップ１０９及び音源チップ１１１を動作させることによりコンテンツＸのデータを再生する。
【０２０４】
一方、ステップＳ１５６において、コンテンツＸが予約期間中ではないと判定すると（ステップＳ１５６：ＮＯ）、制御部１１３は、復号キー管理装置２０からコンテンツＸの復号キーを取得する。復号キー管理装置２０からコンテンツＸの復号キーを取得する動作については上記の通りである。
【０２０５】
制御部１１３は、取得した復号キーを用いて第２記憶部１０４に記憶したコンテンツＸのデータを復号することによって、端末装置１でコンテンツＸのデータを再生可能な状態とする。そして、復号されたコンテンツＸのデータを制御部１１３によってデコードした後、ビデオチップ１０９及び音源チップ１１１を動作させることによりコンテンツＸのデータを再生する（ステップＳ１６５）。
【０２０６】
また、ステップＳ１５２において、コンテンツ保持端末装置がコンテンツＸのデータの送信を行うことができないと判定すると（ステップＳ１５２：ＮＯ）、制御部１１３は、その処理をステップＳ１６０に移行する。
【０２０７】
ステップＳ１６０において、制御部１１３は、コンテンツＸが予約期間中か否かを判定する。
【０２０８】
この処理において、制御部１１３は、コンテンツＸが予約期間中であるか否かをカタログリストに含まれるコンテンツＸの公開日時情報に基づいて行う。すなわち、制御部１１３は、この公開日時情報を抽出することによってコンテンツＸが予約期間中であるのか予約期間が終了したのかを判定する。コンテンツＸが予約期間中であると判定すると（ステップＳ１６０：ＹＥＳ）、制御部１１３は、所定時間だけ待機した後（ステップＳ１６１）、ステップＳ１５１の処理に移行して、コンテンツＸの取得動作の再試行を行う。
【０２０９】
一方、ステップＳ１６０において、コンテンツＸが予約期間中ではないと判定すると（ステップＳ１６０：ＮＯ）、制御部１１３は、コンテンツサーバ装置１０に対して、コンテンツＸのデータを送信するように要求し（ステップＳ１６２）、この要求に応じてコンテンツサーバ装置１０から送信されるコンテンツＸのデータを受信して（ステップＳ１６３）、処理をステップＳ１６４に移行する。
【０２１０】
ステップＳ１６４において、制御部１１３は、受信したコンテンツＸのデータを第２記憶部１０４に記憶し、その旨をコンテンツ配信システムＳに通知する。すなわち、コンテンツＸのコンテンツ保持端末装置として登録メッセージをルート端末装置へ送信する。その後、制御部１１３は、処理をステップＳ１６５に移行する。
【０２１１】
ステップＳ１５８の処理又はステップＳ１６５の処理が終了すると、制御部１１３は、コンテンツＸ取得処理を終了する。
【０２１２】
このように本実施形態における端末装置１は、利用者の取得要求操作に応じたコンテンツデータをネットワークを介して他の端末装置１から取得して記憶し、このように記憶したコンテンツデータを他の端末装置１からの送信要求に応じて送信する一方、取得したコンテンツデータがその公開条件を満たすときにコンテンツデータの再生を行うようにしているため、コンテンツデータを公開するまでにコンテンツ保持端末装置を適切に配置することができる。従って、コンテンツデータを公開したときに特定のコンテンツ保持端末装置にアクセスが集中することを回避することができる。また、コンテンツデータの公開条件を満たすことになったときには、コンテンツデータが端末装置１に記憶されているため、コンテンツデータの再生を迅速に行うことができる。
【０２１３】
（コンテンツサーバ装置１０の処理フローの説明）
次に、コンテンツサーバ装置１０の更に具体的な動作について、図１７を参照して説明する。図１７はコンテンツサーバ装置１０における処理全体を示すフローチャートである。なお、以下の各処理は、コンテンツサーバ装置１０の制御部２１３が上述した手段等として機能することによって実行されるものである。
【０２１４】
コンテンツサーバ装置１０の電源がＯＮになると、コンテンツサーバ装置１０のＣＰＵ２０２は、第１記憶部２０３や第２記憶部２０４のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム２１４〜２１７をＣＰＵ２０２による実行状態とし、制御部２１３としての機能を動作させた後（ステップＳ２００）、ステップＳ２０１に処理を移す。
【０２１５】
ステップＳ２０１において、制御部２１３は、コンテンツ投入指示があるか否かを判定する。ここで、制御部２１３は、コンテンツ投入指示があるか否かを、利用者によるキーボード２０７やマウス２０８等の入力手段の操作によってコンテンツ投入の操作がなされたか否かにより判断する。このコンテンツ投入指示は、コンテンツの名称によってコンテンツデータを特定して行われるものである。
【０２１６】
この処理において、コンテンツ投入指示があると判定されると（ステップＳ２０１：ＹＥＳ）、制御部２１３は、コンテンツ投入指示によって特定されたコンテンツデータに対応するコンテンツＩＤを第２記憶部２０４の管理テーブルに記憶した後（ステップＳ２０２）、ステップＳ２０３に処理を移す。この管理テーブルは、第２記憶部２０４に記憶している複数のコンテンツデータとコンテンツＩＤとが関連付けて記憶され、更に、第２記憶部２０４に記憶しているコンテンツデータそれぞれについて、コンテンツ保持端末装置へ投入したものであるか否かのフラグが各コンテンツに関連付けて記憶されるものである。なお、フラグには、未投入フラグ（フラグの値が「０」）と投入済フラグ（フラグの値が「１」）とがある。
【０２１７】
ステップＳ２０３において、制御部２１３は、カタログリストを更新し、ステップＳ２０４に処理を移す。このカタログリストの更新は、コンテンツ投入指示によって特定されたコンテンツデータに対応する公開条件情報及びコンテンツの名称とを、第２記憶部２０４に記憶したカタログリストに追加記憶することによって行う。
【０２１８】
ステップＳ２０４において、制御部２１３は、コンテンツ投入指示によって特定されたコンテンツデータをコンテンツ配信システムＳによって配信可能とするために、コンテンツ投入指示によって特定されたコンテンツデータのコンテンツ保持端末装置となる端末装置１をランダムに１以上決定する。このように決定した端末装置１に対して、制御部２１３は、コンテンツ投入指示によって特定されたコンテンツデータをネットワーク８を介して送信する。
【０２１９】
一方、ステップＳ２０１において、コンテンツ投入指示がないと判定されると（ステップＳ２０１：ＮＯ）、制御部２１３は、端末装置１からコンテンツデータの送信要求があったか否かを判定する。コンテンツデータの送信要求には、コンテンツの名称やコンテンツＩＤなどによってコンテンツデータを特定して行われるものである。
【０２２０】
この処理において、端末装置１からコンテンツデータの送信要求があったと判定されると（ステップＳ２１０：ＹＥＳ）、制御部２１３は、コンテンツデータの送信要求に対応するコンテンツデータが公開条件を満たすか否かを判定する。すなわち、送信要求に対応するコンテンツの予約期間が終了したか否かを判定する。予約期間が終了したと判定すると、制御部１１３は、第２記憶部２０４から信要求に対応するコンテンツデータを取り出し、ネットワーク８を介して端末装置１へ送信する（ステップＳ２１１）。一方、送信要求に対応するコンテンツの予約期間が終了していないと判定すると、コンテンツデータを送信できない旨の通知を送信要求を行った端末装置１へ送信する。
【０２２１】
また、ステップＳ２１０において、端末装置１からコンテンツデータの送信要求がないと判定されると（ステップＳ２１０：ＮＯ）、制御部２１３は、端末装置１からカタログリストの送信要求があったか否かを判定する（ステップＳ２２０）。
【０２２２】
この処理において、端末装置１からカタログリストの送信要求があったと判定すると（ステップＳ２２０：ＹＥＳ）、制御部２１３は、第２記憶部２０４に記憶しているカタログリストを取り出す。制御部２１３は、このカタログリストを、ネットワーク８を介してカタログリストの送信要求を行った端末装置１へ送信する（ステップＳ２２１）。
【０２２３】
ステップＳ２０４，Ｓ２１１，Ｓ２２１の処理が終了したとき、或いはステップＳ２２０において端末装置１からカタログリストの送信要求がないと判定したとき（ステップＳ２２０：ＮＯ）、制御部２１３は、コンテンツサーバ装置１０のサービス終了の操作が行われたか否かを判定する（ステップＳ２３０）。サービスの終了操作が行われていないと判定すると（Ｓ２３０：ＮＯ）、ステップＳ２０１からの処理を繰り返し、コンテンツサーバ装置１０のサービス終了の操作が行われたと判定すると（Ｓ２３０：ＹＥＳ）、処理を終了する。
【０２２４】
以上のように、コンテンツサーバ装置１０は、コンテンツ配信システムＳを構成する端末装置１に対してコンテンツデータを送信して投入するようにしており、コンテンツサーバ装置１０によってコンテンツ配信システムＳへ投入するコンテンツデータを管理することができる。また、カタログリストを生成及び更新し、端末装置１からの要求に応じて送信するようにしており、これにより端末装置１は、コンテンツ配信システムＳで配信されるコンテンツデータの取得を容易にしている。
【０２２５】
このように本実施形態におけるコンテンツサーバ装置１０では、端末装置１の要求に応じて予約期間が終了したコンテンツデータを送信するようにしているため、公開後（ここでは、予約期間終了後）のコンテンツの配信を迅速に行うことができる。
【０２２６】
（復号キー管理装置２０の処理フローの説明）
次に、復号キー管理装置２０の更に具体的な動作について、図１８を参照して説明する。図１８は復号キー管理装置２０における処理全体を示すフローチャートである。なお、以下の各処理は、復号キー管理装置２０の制御部３１３が上述した手段等として機能することによって実行されるものである。
【０２２７】
復号キー管理装置２０の電源がＯＮになると、復号キー管理装置２０のＣＰＵ３０２は、第１記憶部３０３や第２記憶部３０４のアクセス許可、作業領域確保を初期化等の初期設定動作を実行し、各プログラム３１４〜３１６をＣＰＵ３０２による実行状態とし、制御部３１３としての機能を動作させた後（ステップＳ３００）、ステップＳ３０１に処理を移す。
【０２２８】
ステップＳ３０１において、制御部３１３は、端末装置１から復号キーの送信要求があるか否かを判定する（ステップＳ３０１）。ここで、復号キーの送信要求があるか否かは、制御部３１３が端末装置１から送信される復号キー送信要求をネットワーク８を介して受信したか否かによって判断される。この復号キー送信要求には、復号したいコンテンツデータを特定した情報（例えば、コンテンツの名称やコンテンツＩＤ）が含まれている。
【０２２９】
この処理において、復号キーの送信要求があると判定されると（ステップＳ３０１：ＹＥＳ）、制御部３１３は、復号キーの送信要求を行った端末装置１に対して、送信要求に対応する復号キーを送信する（ステップＳ３０２）。
【０２３０】
端末装置１に送信する復号キーは、復号キー送信要求に含まれるコンテンツデータを特定した情報に基づいて、制御部３１３により第２記憶部３０４の復号キーデータベースから取り出される。
【０２３１】
ここで、制御部３１３は、復号キー送信要求に含まれるコンテンツデータを特定した情報に基づいてそのコンテンツデータの公開条件を第２記憶部３０４の復号キーデータベースから取り出し、コンテンツデータの公開条件が満たされているときに復号キーを送信し、コンテンツデータの公開条件が満たされていないときには復号キーの送信を行わない。すなわち、コンテンツデータの公開条件である公開日時に達していると判定したときに復号キーを送信し、公開日時に達していないと判定したときに復号キーを送信しない。
【０２３２】
このように、復号キー送信要求に対応するコンテンツデータが公開条件を満たさないときには、復号キーをしないようにしているので、端末装置１では公開条件を満たさないコンテンツデータの再生を行うことができず、コンテンツデータの公開を適切に行うことができる。
【０２３３】
ステップＳ３０２の処理が終了したとき、或いはステップＳ３０１において復号キーの送信要求がないと判定したとき（ステップＳ３０１：ＮＯ）、制御部３１３は、復号キー管理装置２０のサービス終了の操作が行われたか否かを判定する（ステップＳ３０３）。サービスの終了操作が行われていないと判定すると（ステップＳ３０３：ＮＯ）、ステップＳ３０１からの処理を繰り返し、復号キー管理装置２０のサービス終了の操作が行われたと判定すると（ステップＳ３０３：ＹＥＳ）、処理を終了する。
【０２３４】
このように本実施形態における復号キー管理装置２０は、暗号化されたコンテンツデータを復号する復号キーを記憶しており、端末装置１からネットワークを介して復号キーの要求があると、復号キーに対応するコンテンツが公開条件を満たすと判定すると、復号キー記憶手段から復号キーを取り出して要求元の端末装置１へ送信するようにしている。その結果、端末装置１において公開条件を満たさないコンテンツデータの再生を行うことができず、コンテンツデータの公開を適切に行うことができる。
【０２３５】
以上のように本実施形態におけるコンテンツ配信システムＳは、新規にコンテンツデータを投入した後、公開日時に達する前までを予約期間としており、この予約期間中のコンテンツデータはカタログリストに基づいて予約受付中の旨の表示が行われ、復号キー管理装置２０からの復号キーの配布も行われず、端末装置１において再生することができないようにしている。
【０２３６】
一方で、端末装置１の利用者が予約期間中のコンテンツの取得要求操作を行うと、コンテンツ配信システムＳ内でコンテンツデータの送受信が行われ、予約期間終了までにコンテンツデータが複数の端末装置１に記憶されるようにしている。
【０２３７】
ところで、予約期間中はコンテンツデータの再生を行わないため、迅速なコンテンツデータの送受信は必要とされず予約期間が終了するまでにコンテンツデータを取得できればよい。従って、コンテンツデータの取得ができないときでも、所定期間待ってからコンテンツデータの取得処理を再試行することによってコンテンツの取得動作を再試行するようにすることで、一度コンテンツデータの取得ができない状態となったときでも、利用者の手を煩わせることなく、コンテンツデータの取得を行うことが可能となる。
【０２３８】
また、予約期間中であることを端末装置１の利用者にカタログリストなどによって提示するようにしているので、コンテンツデータ取得のためのアクセス集中を回避することができ、一方で、コンテンツの予約期間終了直後の状態は、コンテンツ保持端末装置を予約状態に応じて適切に増加させることができるため、コンテンツの予約期間終了後のアクセス集中の発生を抑制することができる。
【０２３９】
このように本実施形態におけるコンテンツ配信システムＳは、コンテンツサーバ装置１０からコンテンツデータを投入して予め予測したコンテンツ保持端末装置を配置することに比べ、利用者の要求を元にコンテンツ保持端末装置を配置することができるため、効率よく利用できるコンテンツ配信システムＳを提供することができる。
【０２４０】
また、上記実施形態においては、ルート端末装置がリクエスト端末装置に対してコンテンツデータの所在情報を送信し、リクエスト端末装置がコンテンツ保持端末装置から、そのコンテンツデータをダウンロードして取得するものであったが、ルート端末装置がコンテンツ保持端末装置に対して、リクエスト端末装置へのコンテンツデータの送信を要求するようにしてもよい。
【０２４１】
また、コンテンツ配信システムＳの形態を、Ｐａｓｔｒｙ型のコンテンツ配信システムを例にして説明したが、これに限られず、メッセージの転送方法が異なるｋａｄｅｍｌｉａ型、ｃｈｏｒｄ型、Ｖｉｃｅｒｏｙ型、ＣＡＮ型などのコンテンツ配信システムにも本発明を適用可能である。
【０２４２】
また、上記実施形態においては、コンテンツサーバ装置１０から端末装置１に対してコンテンツデータを投入する態様について説明したが、コンテンツサーバ装置１０を利用することなく端末装置１においてコンテンツデータを公開し、公開したコンテンツデータを端末装置１間で送受信するＰ２Ｐ配信システムに適用することも可能である。この場合、コンテンツサーバ装置１０を設けずに、端末装置１の利用者が第２記憶部２０４の所定領域にコンテンツデータやコンテンツ名称を格納することによってコンテンツデータをその名称と共に公開し、その後は上記実施形態と同様に端末装置１間でコンテンツデータの送受信を行う。
【図面の簡単な説明】
【０２４３】
【図１】本実施形態に係るコンテンツ配信システムにおける各端末装置の接続態様の一例を示す図である。
【図２】ＩＤ空間の説明図である。
【図３】ＤＨＴによってルーティングテーブルが作成される様子の一例を示す図である。
【図４】本実施形態に係る端末装置のルーティングテーブルの一例である。
【図５】ＤＨＴによりコンテンツデータの保持元である端末装置が検索される様子の一例を示す図である。
【図６】コンテンツ保持端末の登録メッセージが転送される様子をスパニングツリー状に表した図である。
【図７】本実施形態に係る端末装置のインデックステーブルの一例である。
【図８】コンテンツ保持端末装置の配置方法を説明するための図である。
【図９】コンテンツ保持端末装置の配置方法を説明するための図である。
【図１０】コンテンツ保持端末装置の配置方法を説明するための図である。
【図１１】コンテンツ保持端末装置の配置方法を説明するための図である。
【図１２】本実施形態における端末装置の概略構成例を示す図である。
【図１３】本実施形態におけるコンテンツサーバ装置の概略構成例を示す図である。
【図１４】本実施形態における復号キー管理装置の概略構成例を示す図である。
【図１５】端末装置におけるメイン処理を示すフローチャートである。
【図１６】端末装置におけるコンテンツ取得処理を示すフローチャートである。
【図１７】コンテンツサーバ装置におけるメイン処理を示すフローチャートである。
【図１８】復号キー管理装置におけるメイン処理を示すフローチャートである。
【符号の説明】
【０２４４】
Ｓ  コンテンツ配信システム
１  端末装置
２  コンテンツサーバ装置
３  復号キー管理装置
８  ネットワーク
１０２  端末装置のＣＰＵ
１０３  端末装置の第１記憶部
１０４  端末装置の第２記憶部
１１３  端末装置の制御部
２０２  コンテンツサーバ装置のＣＰＵ
２０３  コンテンツサーバ装置の第１記憶部
２０４  コンテンツサーバ装置の第２記憶部
２１３  コンテンツサーバ装置の制御部
３０２  復号キー管理装置のＣＰＵ
３０３  復号キー管理装置の第１記憶部
３０４  復号キー管理装置の第２記憶部
【図１】
2008059399.tif 000003
【図２】
2008059399.tif 000004
【図３】
2008059399.tif 000005
【図４】
2008059399.tif 000006
【図５】
2008059399.tif 000007
【図６】
2008059399.tif 000008
【図７】
2008059399.tif 000009
【図８】
2008059399.tif 000010
【図９】
2008059399.tif 000011
【図１０】
2008059399.tif 000012
【図１１】
2008059399.tif 000013
【図１２】
2008059399.tif 000014
【図１３】
2008059399.tif 000015
【図１４】
2008059399.tif 000016
【図１５】
2008059399.tif 000017
【図１６】
2008059399.tif 000018
【図１７】
2008059399.tif 000019
【図１８】
2008059399.tif 000020