(57)【要約】【課題】コンテンツが不定期に変わる環境下であってもコンテンツ配信サーバへの負荷を軽減することができ、クライアント装置のキャッシュに格納されているコンテンツが不正に変更されていないかどうかを確認することができ、他のクライアント装置からはクライアント装置のキャッシュ記憶装置にだけしかアクセスすることができないようにする。【解決手段】コンテンツ１２及び該コンテンツ１２を特定する固有情報を配信するコンテンツ配信サーバ１１と、取得した前記コンテンツ１２を格納するキャッシュ記憶装置２１を備えるクライアント装置２０と、前記コンテンツ１２のそれぞれに対応する固有情報及びクライアント装置２０に関するデータを格納するキャッシュインデックスデータベース１９を備えたキャッシュインデックスサーバ１７とを有する。【選択図】          図１
2004185263.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）コンテンツ及び該コンテンツを特定する固有情報を配信するコンテンツ配信サーバと、
（ｂ）取得した前記コンテンツを格納するキャッシュ記憶装置を備えるクライアント装置と、
（ｃ）前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバとを有することを特徴とする分散協調型コンテンツ配信システム。
【請求項２】
一のクライアント装置は、前記コンテンツ配信サーバから所定のコンテンツに対応する固有情報を取得し、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する請求項１に記載の分散協調型コンテンツ配信システム。
【請求項３】
（ａ）コンテンツ、該コンテンツを特定する固有情報、公開鍵暗号方式によって求めたコンテンツ署名値、及び、公開鍵を第三者が保証した公開鍵証明書を配信するコンテンツ配信サーバと、
（ｂ）取得した前記コンテンツを格納するキャッシュ記憶装置及び取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備えるクライアント装置と、
（ｃ）前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバと、
（ｄ）前記公開鍵証明書の有効性の検証を行う公開鍵証明書検証サーバとを有することを特徴とする分散協調型コンテンツ配信システム。
【請求項４】
（ａ）一のクライアント装置は、所定のコンテンツ配信サーバの公開鍵証明書を格納していない場合、該公開鍵証明書を前記コンテンツ配信サーバから取得し、前記公開鍵証明書の有効性検証の依頼を前記公開鍵証明書サーバに送信し、
（ｂ）該公開鍵証明書サーバは前記公開鍵証明書の検証結果を前記一のクライアント装置に送信し、
（ｃ）該一のクライアント装置は、前記公開鍵証明書が有効である場合、該公開鍵証明書を格納し、該公開鍵証明書から公開鍵を取得し、前記コンテンツ配信サーバから所定のコンテンツのコンテンツ署名値を取得し、前記公開鍵に基づいて前記コンテンツ署名値から前記所定のコンテンツの固有情報を求め、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する請求項３に記載の分散協調型コンテンツ配信システム。
【請求項５】
（ａ）コンテンツ、該コンテンツを特定する固有情報、公開鍵暗号方式によって求めたコンテンツ署名値、及び、公開鍵を第三者が保証した公開鍵証明書を配信するコンテンツ配信サーバと、
（ｂ）取得した前記コンテンツを格納するキャッシュ記憶装置及び取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備えるクライアント装置と、
（ｃ）前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバと、
（ｄ）取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備え、前記公開鍵証明書の取得、保管及び有効性の検証を行う公開鍵証明書検証サーバとを有することを特徴とする分散協調型コンテンツ配信システム。
【請求項６】
（ａ）一のクライアント装置は、前記公開鍵の配信要求を公開鍵証明書管理検証サーバに送信し、
（ｂ）該公開鍵証明書サーバは前記公開鍵の取得及び検証を行い、有効な公開鍵を前記一のクライアント装置に送信し、
（ｃ）該一のクライアント装置は、前記コンテンツ配信サーバから所定のコンテンツのコンテンツ署名値を取得し、前記公開鍵に基づいて前記コンテンツ署名値から前記所定のコンテンツの固有情報を求め、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する請求項５に記載の分散協調型コンテンツ配信システム。
【請求項７】
前記クライアント装置は、取得したコンテンツが真であることが判定された後に、前記コンテンツを前記キャッシュ記憶装置に格納する請求項１〜６のいずれか１項に記載の分散協調型コンテンツ配信システム。
【請求項８】
前記クライアント装置は、前記コンテンツの名称、種類等に応じて前記コンテンツを前記キャッシュ記憶装置に格納する請求項１〜６のいずれか１項に記載の分散協調型コンテンツ配信システム。
【請求項９】
前記キャッシュインデックスサーバは、一のクライアント装置が要求する所定のコンテンツを格納する他のクライアント装置が複数である場合、該他のクライアント装置の一覧を所定のアルゴリズムに従って並べ替えた一覧を前記一のクライアント装置に送信し、前記一のクライアント装置は、前記並べ替えた一覧の順番にコンテンツの取得を試みる請求項１〜６のいずれか１項に記載の分散協調型コンテンツ配信システム。
【請求項１０】
前記キャッシュインデックスサーバは、前記クライアント装置の要求に従って、キャッシュインデックスデータベースの中から所定の情報を削除する請求項１〜６のいずれか１項に記載の分散協調型コンテンツ配信システム。
【請求項１１】
前記クライアント装置は、キャッシュ記憶装置が格納するコンテンツの記憶量が前記クライアント装置の管理者が定めた条件を超えた場合に要求を前記キャッシュインデックスサーバに送信する請求項１０に記載の分散協調型コンテンツ配信システム。
【請求項１２】
前記クライアント装置は、前記キャッシュインデックスサーバの要求に従って、キャッシュ記憶装置からコンテンツを削除する請求項１〜６のいずれか１項に記載の分散協調型コンテンツ配信システム。
【請求項１３】
前記キャッシュインデックスサーバは、定期的にキャッシュインデックスデータベースの利用頻度を調べ、利用頻度が低いコンテンツを削除する要求を送信する請求項１２に記載の分散協調型コンテンツ配信システム。
【請求項１４】
前記キャッシュインデックスサーバは、キャッシュされたデータ量が定めた条件を超えた場合に利用頻度が低いコンテンツを削除する要求を送信する請求項１２に記載の分散協調型コンテンツ配信システム。
【請求項１５】
前記キャッシュインデックスサーバは、名称、種類等が同じ登録済のコンテンツのうち固有情報がより古いコンテンツを削除する要求を送信する請求項１２に記載の分散協調型コンテンツ配信システム。
【請求項１６】
前記キャッシュインデックスサーバは、一のクライアント装置が要求する所定のコンテンツを格納する他のクライアント装置がキャッシュインデックスデータベースに含まれていない場合、他のキャッシュインデックスサーバに問い合わせる請求項１〜６のいずれか１項に記載の分散協調型コンテンツ配信システム。
【請求項１７】
前記固有情報は、ハッシュ値である請求項１〜１６のいずれか１項に記載の分散協調型コンテンツ配信システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、分散協調型コンテンツ配信システムに関するものである。
【０００２】
【従来の技術】
従来、ブラウザ（ｂｒｏｗｓｅｒ）機能を装備したパーソナルコンピュータ等の情報端末からインターネットに接続されたウェブ（ｗｅｂ）サーバにアクセス（訪問）することによって、該ウェブサーバ内に開設されたウェブサイトの格納された画像、音声等の各種のコンテンツを利用することができるようになっている。そして、近年では、インターネットの利用拡大に伴い、前記コンテンツを格納しているウェブサーバとしてのコンテンツ配信サーバへのアクセスが増加している。ところが、前記コンテンツ配信サーバへのアクセスが増加すると、前記コンテンツ配信サーバがコンテンツを配信するための負荷が大きくなるので、前記コンテンツ配信サーバへのアクセスが困難になり、前記コンテンツを取得するために時間がかかったり、コンテンツの取得が不可能になったりしてしまう。
【０００３】
そこで、前記コンテンツ配信サーバの負荷を軽減するために、前記コンテンツの内容を一時的に格納するキャッシュサーバを利用する技術が提供されている。
さらに、前記キャッシュサーバの負荷を軽減するために、該キャッシュサーバを更に分散させる技術も提供されている（例えば、特許文献１〜３参照。）。
【０００４】
【特許文献１】特表２００１−５１１５５１号公報
【０００５】
【特許文献２】特開平１０−２２２４１２号公報
【０００６】
【特許文献３】特開平１０−２２２４４９号公報
【０００７】
【発明が解決しようとする課題】
しかしながら、前記従来のシステムにおいては、情報端末からのアクセスが増加するとキャッシュサーバの負荷が大きくなり、該キャッシュサーバからコンテンツを取得するために時間がかかったり、コンテンツの取得が不可能になったりしてしまう。もっとも、前記キャッシュサーバの台数を増やすことによって、各キャッシュサーバの負荷を軽減することは可能であるが、コストや管理面での負担が大きくなってしまう。
【０００８】
そこで、コンテンツを一時的に保存するキャッシュ機能をクライアント装置としての情報端末に持たせ、コンテンツを配信する代わりに一時的にコンテンツを格納するキャッシュ記憶装置としてのキャッシュのありかを示すキャッシュインデックスを配信するキャッシュインデックスサーバを使用する分散協調型コンテンツ配信システムとすることが考えられる。この場合、ある情報端末からコンテンツの配信要求が送信されると、前記キャッシュインデックスサーバは前記コンテンツのキャッシュインデックスを返信する。そして、前記情報端末は、キャッシュインデックスに従って、前記コンテンツが保存されている情報端末に直接アクセスして前記コンテンツを取得する。なお、それぞれに格納されているコンテンツを情報端末同士が直接アクセスして取得する技術は、一般的にＰｔｏＰ（ピアツウピア又はＰ２Ｐ：Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）と呼ばれている。
【０００９】
しかし、前記分散協調型コンテンツ配信システムにおいては、コンテンツの内容が不定期に変更される場合、コンテンツ配信サーバへのアクセスが増加するので前記コンテンツ配信サーバの負荷が増大してしまう。また、情報端末のキャッシュに格納されているコンテンツが不正に変更されてしまう恐れがある。さらに、情報端末同士が直接アクセスするので、情報端末に保存されているプライベートな情報が他の情報端末によって取得されてしまう恐れがある。
【００１０】
本発明は、前記従来の分散協調型コンテンツ配信システムの問題点を解決して、コンテンツが不定期に変わる環境下であってもコンテンツ配信サーバへの負荷を軽減することができ、クライアント装置のキャッシュに格納されているコンテンツが不正に変更されていないかどうかを確認することができ、他のクライアント装置からはクライアント装置のキャッシュ記憶装置にだけしかアクセスすることができない分散協調型コンテンツ配信システムを提供することを目的とする。
【００１１】
【課題を解決するための手段】
そのために、本発明の分散協調型コンテンツ配信システムにおいては、コンテンツ及び該コンテンツを特定する値を配信するコンテンツ配信サーバと、取得した前記コンテンツを格納するキャッシュ記憶装置を備えるクライアント装置と、前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバとを有する。
【００１２】
本発明の他の分散協調型コンテンツ配信システムにおいては、さらに、一のクライアント装置は、前記コンテンツ配信サーバから所定のコンテンツに対応する固有情報を取得し、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する。
【００１３】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、コンテンツ、該コンテンツを特定する固有情報、公開鍵（かぎ）暗号方式によって求めたコンテンツ署名値、及び、公開鍵を第三者が保証した公開鍵証明書を配信するコンテンツ配信サーバと、取得した前記コンテンツを格納するキャッシュ記憶装置及び取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備えるクライアント装置と、前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバと、前記公開鍵証明書の有効性の検証を行う公開鍵証明書検証サーバとを有する。
【００１４】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、一のクライアント装置は、所定のコンテンツ配信サーバの公開鍵証明書を格納していない場合、該公開鍵証明書を前記コンテンツ配信サーバから取得し、前記公開鍵証明書の有効性検証の依頼を前記公開鍵証明書サーバに送信し、該公開鍵証明書サーバは前記公開鍵証明書の検証結果を前記一のクライアント装置に送信し、該一のクライアント装置は、前記公開鍵証明書が有効である場合、該公開鍵証明書を格納し、該公開鍵証明書から公開鍵を取得し、前記コンテンツ配信サーバから所定のコンテンツのコンテンツ署名値を取得し、前記公開鍵に基づいて前記コンテンツ署名値から前記所定のコンテンツの固有情報を求め、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する。
【００１５】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、コンテンツ、該コンテンツを特定する固有情報、公開鍵暗号方式によって求めたコンテンツ署名値、及び、公開鍵を第三者が保証した公開鍵証明書を配信するコンテンツ配信サーバと、取得した前記コンテンツを格納するキャッシュ記憶装置及び取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備えるクライアント装置と、前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバと、取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備え、前記公開鍵証明書の取得、保管及び有効性の検証を行う公開鍵証明書検証サーバとを有する。
【００１６】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、一のクライアント装置は、前記公開鍵の配信要求を公開鍵証明書管理検証サーバに送信し、該公開鍵証明書サーバは前記公開鍵の取得及び検証を行い、有効な公開鍵を前記一のクライアント装置に送信し、該一のクライアント装置は、前記コンテンツ配信サーバから所定のコンテンツのコンテンツ署名値を取得し、前記公開鍵に基づいて前記コンテンツ署名値から前記所定のコンテンツの固有情報を求め、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する。
【００１７】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記クライアント装置は、取得したコンテンツが真であることが判定された後に、前記コンテンツを前記キャッシュ記憶装置に格納する。
【００１８】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記クライアント装置は、前記コンテンツの名称、種類等に応じて前記コンテンツを前記キャッシュ記憶装置に格納する。
【００１９】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、一のクライアント装置が要求する所定のコンテンツを格納する他のクライアント装置が複数である場合、該他のクライアント装置の一覧を所定のアルゴリズムに従って並べ替えた一覧を前記一のクライアント装置に送信し、前記一のクライアント装置は、前記並べ替えた一覧の順番にコンテンツの取得を試みる。
【００２０】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、前記クライアント装置の要求に従って、キャッシュインデックスデータベースの中から所定の情報を削除する。
【００２１】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記クライアント装置は、キャッシュ記憶装置が格納するコンテンツの記憶量が前記クライアント装置の管理者が定めた条件を超えた場合に要求を前記キャッシュインデックスサーバに送信する。
【００２２】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記クライアント装置は、前記キャッシュインデックスサーバの要求に従って、キャッシュ記憶装置からコンテンツを削除する。
【００２３】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、定期的にキャッシュインデックスデータベースの利用頻度を調べ、利用頻度が低いコンテンツを削除する要求を送信する。
【００２４】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、キャッシュされたデータ量が定めた条件を超えた場合に利用頻度が低いコンテンツを削除する要求を送信する。
【００２５】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、名称、種類等が同じ登録済のコンテンツのうち固有情報がより古いコンテンツを削除する要求を送信する。
【００２６】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、一のクライアント装置が要求する所定のコンテンツを格納する他のクライアント装置がキャッシュインデックスデータベースに含まれていない場合、他のキャッシュインデックスサーバに問い合わせる。
【００２７】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記固有情報は、ハッシュ値である。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００２９】
図１は本発明の第１の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【００３０】
図に示されるように、本実施の形態における分散協調型コンテンツ配信システム１０はウェブサーバとしてのコンテンツ配信サーバ１１ａ及びコンテンツ配信サーバ１１ｂを有する。なお、コンテンツ配信サーバは単数であっても複数であってもよく、その数は任意であるが、本実施の形態においては、説明の都合上、コンテンツ配信サーバ１１ａ及びコンテンツ配信サーバ１１ｂがすべてのコンテンツ配信サーバを代表する。なお、コンテンツ配信サーバ１１ａ及びコンテンツ配信サーバ１１ｂを統合的に説明する場合には、コンテンツ配信サーバ１１として説明する。ここで、該コンテンツ配信サーバ１１は、ＣＰＵ、ＭＰＵ等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、通信インターフェイス等を備えるコンピュータである。なお、前記コンテンツ配信サーバ１１は、独立して存在するものであってもよいし、他の大型コンピュータ等の装置の一部であってもよいし、複数のサーバが有機的に結合した分散型サーバであってもよい。
【００３１】
そして、前記コンテンツ配信サーバ１１ａ及びコンテンツ配信サーバ１１ｂは、記憶手段に、それぞれ、コンテンツ１２ａ及びコンテンツ１２ｂ、該コンテンツ１２ａ及びコンテンツ１２ｂを特定するハッシュ値１３ａ及びハッシュ値１３ｂ等のデータを格納し、外部からの要求に応じて前記データを配信する。ここで、前記コンテンツ１２ａ及びコンテンツ１２ｂは、例えば、ウェブページ、文字データ、音楽等の音声データ、ビデオ、写真等の画像データ、ソフトウェア等であるが、いかなる種類のものであってもよい。また、前記コンテンツ１２ａ及びコンテンツ１２ｂは、単数であっても複数であってもよく、その数は任意である。そして、前記ハッシュ値１３ａ及びハッシュ値１３ｂは前記コンテンツ１２ａ及びコンテンツ１２ｂのそれぞれに対応する。なお、コンテンツ１２ａ及びコンテンツ１２ｂ、並びに、ハッシュ値１３ａ及びハッシュ値１３ｂを統合的に説明する場合には、コンテンツ１２及びハッシュ値１３として説明する。
【００３２】
ところで、ハッシュ値１３は、入力されたデータを元にハッシュ関数によって生成される疑似乱数であり、元データに対して一意に定まる固定長データである。この場合、元データが１ビットでも改変されると、生成されるハッシュ値１３は異なったものになる。そして、元データがデータ量の多いコンテンツであっても、ハッシュ値１３はデータ量が少ない固定長データである。データの改ざんを防止するためのデジタル署名は、通常、公開鍵暗号技術とハッシュ関数の組合せで実現される。一般に利用されるハッシュ関数としては、ＭＤ２、ＭＤ５、ＳＨＡ１等がある。
【００３３】
また、１４は外部ネットワークとしてのインターネットであるが、いかなる種類のネットワークであってもよく、例えば、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等であってもよい。そして、前記コンテンツ配信サーバ１１は、インターネット１４に接続され、該インターネット１４を経由して、前記コンテンツ１２、ハッシュ値１３等のデータを配信することができる。
【００３４】
なお、１６は内部ネットワークとしてのイントラネットであり、キャッシュインデックスサーバ１７、クライアント装置２０ａ、クライアント装置２０ｂ等が接続されている。そして、前記イントラネット１６はルータ１５を介して前記インターネット１４に接続されている。ここで、前記ルータ１５は、イントラネット１６に接続された装置同士の通信データをインターネット１４に出さず、また、イントラネット１６に接続された装置とインターネット１４に接続された装置との間の通信データを、適切な経路を選択して中継する役割を担う。なお、前記ルータ１５は、一般的にルータ装置と呼ばれているものである。
【００３５】
ここで、クライアント装置は単数であっても複数であってもよく、その数は任意であるが、本実施の形態においては、説明の都合上、クライアント装置２０ａ及びクライアント装置２０ｂがすべてのクライアント装置を代表する。なお、クライアント装置２０ａ及びクライアント装置２０ｂを統合的に説明する場合には、クライアント装置２０として説明する。そして、該クライアント装置２０は、ＣＰＵ、ＭＰＵ等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、ＣＲＴ、液晶ディスプレイ等の表示手段、通信インターフェイス等を備えるコンピュータであり、例えば、パーソナルコンピュータ等の情報端末であるが、いかなる種類のものであってもよい。なお、前記クライアント装置２０ａ及びクライアント装置２０ｂは、ダウンロードしたコンテンツ１２を格納するキャッシュとして機能するものであり、キャッシュ記憶装置２１ａ及びキャッシュ記憶装置２１ｂをそれぞれ備える。ここで、該キャッシュ記憶装置２１ａ及びキャッシュ記憶装置２１ｂは、クライアント装置２０ａ及びクライアント装置２０ｂの記憶手段の一部であってもよいし、いわゆる外付けのハードディスク装置等の外部記憶手段の全部又は一部であってもよい。なお、キャッシュ記憶装置２１ａ及びキャッシュ記憶装置２１ｂを統合的に説明する場合には、キャッシュ記憶装置２１として説明する。本実施の形態において、前記クライアント装置２０がコンテンツ配信サーバ１１にアクセスしてダウンロードしたコンテンツ１２は前記キャッシュ記憶装置２１に一時的に格納される。
【００３６】
また、前記キャッシュインデックスサーバ１７は、ＣＰＵ、ＭＰＵ等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、通信インターフェイス等を備えるコンピュータであり、独立して存在するものであってもよいし、他の大型コンピュータ等の装置の一部であってもよいし、複数のサーバが有機的に結合した分散型サーバであってもよい。そして、前記キャッシュインデックスサーバ１７は、前記コンテンツ配信サーバ１１から取得したコンテンツ１２のキャッシュとして機能する前記クライアント装置２０の名前等のキャッシュインデックスデータを一元管理するものであり、キャッシュインデックスデータベース１９を備える。ここで、該キャッシュインデックスデータベース１９は、キャッシュインデックスサーバ１７の記憶手段の一部であってもよいし、いわゆる外付けのハードディスク装置等の外部記憶手段の全部又は一部であってもよい。本実施の形態において、前記キャッシュインデックスサーバ１７は、コンテンツ１２の配信要求に応じて前記コンテンツ１２のキャッシュインデックスを返信する。
【００３７】
次に、前記キャッシュインデックスデータベース１９の内容について説明する。
【００３８】
図２は本発明の第１の実施の形態におけるキャッシュインデックスデータベースの内容を示す図である。
【００３９】
図に示されるように、キャッシュインデックスデータベース１９には、キャッシュインデックスデータとして、コンテンツ名（例えば、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）名）、ハッシュ関数としてのハッシュアルゴリズム、ハッシュ値１３、コンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置名（例えば、クライアント装置２０のＩＰアドレスやホスト名）、コンテンツ１２をキャッシュ記憶装置２１に格納した日時としての登録日時、コンテンツ１２の通算利用回数等の情報が格納されている。なお、前記コンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置名は、複数のクライアント装置２０の名称が含まれていてもよい。
【００４０】
次に、前記構成の分散協調型コンテンツ配信システム１０の動作について説明する。
【００４１】
まず、クライアント装置２０ａ及びクライアント装置２０ｂがコンテンツ１２を取得するまでの動作について説明する。
【００４２】
図３は本発明の第１の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示す第１のフローチャート、図４は本発明の第１の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示す第２のフローチャートである。
【００４３】
この場合、今からコンテンツ１２を取得するクライアント装置２０ａ、既にキャッシュを保持しているクライアント装置２０ｂ、前記クライアント装置２０ａ及びクライアント装置２０ｂを含むイントラネット１６に接続されている各クライアント装置２０のキャッシュインデックスデータを一元管理しているキャッシュインデックスサーバ１７、並びに、コンテンツ１２及びハッシュ値１３を格納したコンテンツ配信サーバ１１の間での処理の流れを示す。
【００４４】
まず、クライアント装置２０ａは、取得したいコンテンツ１２に対応するハッシュ値１３の配信要求をコンテンツ配信サーバ１１に送信する。
【００４５】
次に、コンテンツ配信サーバ１１は、クライアント装置２０ａにハッシュ値１３及びハッシュアルゴリズムを送信する。前記ハッシュ値１３をあらかじめハッシュ関数としてのハッシュアルゴリズムによって求めておくと、ハッシュ値１３はデータ量が少なく送信する時間が短いので、前記コンテンツ配信サーバ１１が一つのクライアント装置２０ａに対して応対する時間が短くなり、極めて短時間に処理を済ませることができる。すなわち、該処理でのコンテンツ配信サーバ１１の負担は軽微なものになる。
【００４６】
続いて、前記クライアント装置２０ａは、前記コンテンツ１２と同じ名称、種類等のコンテンツ１２で、かつ、ハッシュ値１３が同じものが自身のキャッシュ記憶装置２１ａに格納されているか否かを確認し、該キャッシュ記憶装置２１ａに格納されている場合は、前記コンテンツ１２をブラウザ機能によって表示手段上に表示（又は動作）させる。
【００４７】
また、前記キャッシュ記憶装置２１ａに格納されていない場合、前記クライアント装置２０ａは、キャッシュインデックスサーバ１７に、前記コンテンツ１２と同じ名称で、かつ、ハッシュ値１３が同じものが他のクライアント装置２０内に登録されているか否かの確認を要求する存在確認要求をキャッシュインデックスサーバ１７に送信する。
【００４８】
そして、該キャッシュインデックスサーバ１７は前記存在確認要求を受信すると、自身のキャッシュインデックスデータベース１９に前記コンテンツ１２と同じ名称で、かつ、ハッシュ値１３が同じものが登録されているか否かを検索する。そして、登録されている場合、キャッシュインデックスサーバ１７は、該当するコンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置名をクライアント装置２０ａに返信する。また、登録されていない場合、登録されていない旨をクライアント装置２０ａに返信する。なお、該当するコンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置が複数ある場合は、すべてのクライアント装置名を返信してもよいが、この場合の返信の方法については後述される。このように、前記キャッシュインデックスサーバ１７は、該当するコンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置名を返信するだけなので、クライアント装置２０ａに対して応対する時間が短くなり、極めて短時間に処理を済ませることができる。すなわち、該処理でのキャッシュインデックスサーバ１７の負担は軽微なものになる。
【００４９】
次に、クライアント装置２０ａは、キャッシュインデックスサーバ１７から該当するコンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置名を受信した場合、該クライアント装置としてのクライアント装置２０ｂが起動しているか否かを判断する。この場合、例えば、ＩＣＭＰ（ＩｎｔｅｒｎｅｔＣｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ：ＲＦＣ７９２／ＲＦＣ１８１２）と呼ばれるインターネットプロトコルを用いることによって、前記クライアント装置２０ｂが起動しているか否かを判断することができる。
【００５０】
そして、前記クライアント装置２０ｂが起動している場合、クライアント装置２０ａは、前記クライアント装置２０ｂに対してキャッシュ記憶装置２１ｂに格納されている前記コンテンツ１２の配信要求を送信する。続いて、前記クライアント装置２０ｂはキャッシュ記憶装置２１ｂに格納されている前記コンテンツ１２をクライアント装置２０ａに配信する。
【００５１】
続いて、クライアント装置２０ａは、クライアント装置２０ｂから受信したコンテンツ１２のハッシュ値１３を求め、コンテンツ配信サーバ１１から取得したハッシュ値１３と比較して前記コンテンツ１２の真偽判定を行う。そして、両方のハッシュ値１３が一致した場合は、クライアント装置２０ｂから受信したコンテンツは真である、すなわち、前記コンテンツ１２であるので、該コンテンツ１２を出力する、すなわち、ブラウザ機能によって表示手段上に表示（又は動作）させる。
【００５２】
また、前記コンテンツ１２と同じ名称で、かつ、ハッシュ値１３が同じものが他のクライアント装置２０内に登録されていない場合、前記クライアント装置２０ｂが起動していない場合、及び、両方のハッシュ値１３が一致しない場合、クライアント装置２０ａはコンテンツ配信サーバ１１に対してコンテンツ１２の配信要求を送信する。続いて、前記コンテンツ配信サーバ１１はコンテンツ１２をクライアント装置２０ａに送信する。なお、コンテンツ１２の表示の処理が完全に終わってから次の処理を行う必要はないので、コンテンツ１２の表示の処理とそれ以降の処理は並行して行ってもよい。
【００５３】
次に、クライアント装置２０ａは、クライアント装置２０ｂ又はコンテンツ配信サーバ１１から受信したコンテンツ１２を表示すると、該コンテンツ１２を自身のキャッシュ記憶装置２１ａに格納するか否かをあらかじめ設定された条件に従って判断する。この処理内容の詳細については後述する。
【００５４】
そして、前記条件を満たしている場合、クライアント装置２０ａは、キャッシュインデックスサーバ１７にハッシュ値１３及びハッシュアルゴリズムを送信してコンテンツ１２の登録申請を行う。続いて、登録申請を受けたキャッシュインデックスサーバ１７は、キャッシュインデックスデータベース１９に追加登録を行う。なお、既にコンテンツ１２と同じ名称のコンテンツが登録されていても、それぞれのハッシュ値が異なる場合、キャッシュインデックスサーバ１７は、コンテンツ１２が更新されたものであると判断して、既に登録されているコンテンツに関するデータを削除することもできる。
【００５５】
続いて、クライアント装置２０ａはコンテンツ１２をキャッシュ記憶装置２１ａに格納し、一連の処理を終了する。
【００５６】
次に、フローチャートについて説明する。
ステップＳ１  クライアント装置２０ａは、取得したいハッシュ値１３の配信要求をコンテンツ配信サーバ１１に送信する。
ステップＳ２  コンテンツ配信サーバ１１は、クライアント装置２０ａに対してハッシュ値１３及びハッシュアルゴリズムを送信する。
ステップＳ３  クライアント装置２０ａは、該当するコンテンツ１２で、かつ、ハッシュ値１３が同じものが自身のキャッシュ記憶装置２１ａ内にあるか否かを判断する。キャッシュ記憶装置２１ａ内にある場合はステップＳ４に進み、キャッシュ記憶装置２１ａ内にない場合はステップＳ５に進む。
ステップＳ４  クライアント装置２０ａは、コンテンツ１２をブラウザ等に表示（又は動作）させる。
ステップＳ５  クライアント装置２０ａは、キャッシュインデックスサーバ１７に対して該当するコンテンツ１２で、かつ、ハッシュ値１３が同じものが他のクライアント装置２０内に登録されているか否かの存在確認要求を送信する。
ステップＳ６  キャッシュインデックスサーバ１７は、該当するコンテンツ１２がキャッシュインデックスデータベース１９に登録されているか否かを判断する。登録されている場合はステップＳ７に進み、登録されていない場合はステップＳ８に進む。
ステップＳ７  キャッシュインデックスサーバ１７は、該当するコンテンツ１２をキャッシュに保存しているクライアント装置名をクライアント装置２０ａに対して送信する。
ステップＳ８  キャッシュインデックスサーバ１７は、登録なしをクライアント装置２０ａに対して送信する。
ステップＳ９  クライアント装置２０ａは、該当するコンテンツ１２を保持するクライアント装置２０ｂが起動しているか否かを判断する。該当するコンテンツ１２を保持するクライアント装置２０ｂが起動している場合はステップＳ１０に進み、該当するコンテンツ１２を保持するクライアント装置２０ｂが起動していない場合はステップＳ１４に進む。
ステップＳ１０  クライアント装置２０ａは、キャッシュ記憶装置２１ｂに格納されているコンテンツ１２の配信要求を送信する。。
ステップＳ１１  クライアント装置２０ｂは、キャッシュ記憶装置２１ｂに保持しているコンテンツ１２をクライアント装置２０ａに対して送信する。
ステップＳ１２  クライアント装置２０ａは、受信したハッシュ値１３を検査する。
ステップＳ１３  クライアント装置２０ａは、ハッシュ値１３が一致するか否かを判断する。一致する場合はステップＳ１６に進み、一致しない場合はステップＳ１４に進む。
ステップＳ１４  クライアント装置２０ａは、コンテンツ配信サーバ１１に対してコンテンツ１２の送信要求を行う。
ステップＳ１５  コンテンツ配信サーバ１１は、コンテンツ１２をクライアント装置２０ａに対して送信する。
ステップＳ１６  クライアント装置２０ａは、受信したコンテンツ１２を表示（又は動作）させる。
ステップＳ１７  クライアント装置２０ａは、コンテンツ１２がキャッシュ記憶装置２１ａに保存する条件を満たしているか否かを判断する。条件を満たしている場合はステップＳ１８に進み、条件を満たしていない場合は処理を終了する。
ステップＳ１８  クライアント装置２０ａは、キャッシュインデックスサーバ１７に対してコンテンツ１２の登録申請を行う。
ステップＳ１９  キャッシュインデックスサーバ１７は、キャッシュインデックスデータベース１９に追加登録する。
ステップＳ２０  クライアント装置２０ａは、コンテンツ１２をキャッシュ記憶装置２１ａに格納し、処理を終了する。
【００５７】
次に、同じコンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置２０が複数ある場合について説明する。
【００５８】
この場合、キャッシュインデックスサーバ１７は、あるクライアント装置２０が要求する所定のコンテンツ１２を格納する他のクライアント装置２０が複数である場合、該他のクライアント装置２０の一覧を所定のアルゴリズムに従って並べ替えた一覧を前記クライアント装置２０に送信し、該クライアント装置２０は、前記並べ替えた一覧の順番にコンテンツ１２の取得を試みるようになっている。すなわち、ステップＳ６において、キャッシュインデックスデータベース１９に該当するコンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置２０が複数登録されている場合、キャッシュインデックスサーバ１７は、クライアント装置２０ａに送信するクライアント装置名の一覧をランダムに並べ替えたり、毎回規則的にずらした並びにしたりして、常に特定のクライアント装置２０にアクセスが集中しないようにする。
【００５９】
そして、クライアント装置２０ａはキャッシュインデックスサーバ１７から受信したクライアント装置名の一覧の最初に挙げられているクライアント装置２０からのコンテンツ１２の取得を試み、所定の時間内に応答がない場合は、次のクライアント装置２０からのコンテンツ１２の取得を試みる。
【００６０】
次に、コンテンツ１２を自身のキャッシュ記憶装置２１ａに格納するか否かを判断する条件について説明する。
【００６１】
この場合、コンテンツ１２は他のクライアント装置２０においても使い回しされるので、前記コンテンツ１２に個人情報が含まれてはならない。
【００６２】
そこで、例えば、コンテンツ名に個人情報（禁止ワード）が含まれていないこと、コンテンツ１２を取得するまでの操作でキーボードが使われていないこと等の条件が設定される。なお、前記禁止ワードはあらかじめ登録される。
【００６３】
また、最も単純な方法として、コンテンツ名に引数がないものだけを対象にする方法もある。例えば、ＨＴＴＰである場合は、コンテンツ名に引数があるか否かを見分けることができる。すなわち、コンテンツ名がｈｔｔｐ：／／ｗｗｗ．ａａａ．ｂｂｂ．ｃｃｃ．ｈｔｍｌである場合は引数がなく、コンテンツ名がｈｔｔｐ：／／ｗｗｗ．ａａａ．ｂｂｂ．ｃｃｃ．ｈｔｍｌ＆ｕｓｅｒｉｄ＝１２３４…である場合は引数がある。
【００６４】
また、コンテンツ１２の種類やデータ形式によっては保存しないように設定してもよい。
【００６５】
次に、キャッシュ記憶装置２１に格納されたコンテンツ１２が無限に増えることを抑えるために、キャッシュ記憶装置２１に格納されたコンテンツ１２を削除する動作について説明する。
【００６６】
この場合、キャッシュ記憶装置２１に格納されたコンテンツ１２を削除するには、クライアント装置２０の指示で削除する方法（コンテンツが一定量以上溜（た）まってしまった場合等）と、キャッシュインデックスサーバ１７の指示で削除する方法（古いコンテンツ１２が存在する場合、コンテンツ１２が更新された場合等）の二つの方法がある。
【００６７】
なお、本実施の形態においては、前述された二つの方法を同時に行うこともできる。
【００６８】
次に、クライアント装置２０の指示でキャッシュ記憶装置２１に格納されたコンテンツ１２を削除する動作について説明する。
【００６９】
図５は本発明の第１の実施の形態におけるクライアント装置の指示でキャッシュ記憶装置に格納されたコンテンツを削除する動作を示すフローチャートである。
【００７０】
この場合、キャッシュインデックスサーバ１７は、クライアント装置２０の要求に従って、キャッシュインデックスデータベース１９の中から所定の情報を削除するようになっている。なお、この処理の開始は、新たなコンテンツ１２を取得した場合である。具体的には、図４におけるステップＳ１９の処理が終わった後である。
【００７１】
まず、クライアント装置２０自身のキャッシュ記憶装置２１に格納されているコンテンツ１２の総量があらかじめ決めてある閾（しきい）値以上であるか否かを判断する。前記閾値は、クライアント装置２０の管理者が自由に設定することができる。
【００７２】
そして、閾値より小さい場合は処理を終了する。また、閾値以上である場合、クライアント装置２０はキャッシュインデックスサーバ１７に対してインデックス削除依頼を送信する。続いて、キャッシュインデックスサーバ１７はインデックス削除依頼を受けると、キャッシュインデックスサーバ１７から該当するコンテンツ１２のキャッシュインデックスデータ（他のクライアント装置２０も登録されている場合は、クライアント装置名だけ）を削除し、その後、クライアント装置２０に削除した旨の結果としてのインデックス削除結果を送信する。
【００７３】
次に、キャッシュインデックスサーバ１７からのインデックス削除結果を受信すると、クライアント装置２０は自身のキャッシュ記憶装置２１に格納されていたコンテンツ１２を削除し、処理を終了する。
【００７４】
次に、フローチャートについて説明する。
ステップＳ２１  クライアント装置２０は、キャッシュ記憶装置２１のコンテンツ１２の総量が閾値以上であるか否かを判断する。閾値以上である場合はステップＳ２２に進み、閾値より小さい場合は処理を終了する。
ステップＳ２２  クライアント装置２０は、キャッシュインデックスサーバ１７に対してインデックス削除依頼を送信する。
ステップＳ２３  キャッシュインデックスサーバ１７は、キャッシュインデックスデータベース１９から該当するコンテンツの情報を削除する。
ステップＳ２４  キャッシュインデックスサーバ１７は、クライアント装置２０に対してインデックス削除結果を送信する。
ステップＳ２５  クライアント装置２０は、キャッシュ記憶装置２１からコンテンツ１２を削除し、処理を終了する。
【００７５】
次に、キャッシュインデックスサーバ１７の指示でキャッシュ記憶装置２１に格納されたコンテンツ１２を削除する動作について説明する。
【００７６】
図６は本発明の第１の実施の形態におけるキャッシュインデックスサーバの指示でキャッシュ記憶装置に格納されたコンテンツを削除する動作を示すフローチャートである。
【００７７】
この場合、キャッシュインデックスサーバ１７は、定期的にキャッシュインデックスデータベース１９の利用頻度を調べ、利用頻度が低いコンテンツ１２を削除する要求を送信するようになっている。なお、この処理は、キャッシュインデックスサーバ１７の管理者が決めた周期で実行される。
【００７８】
まず、キャッシュインデックスサーバ１７は、自身のキャッシュインデックスデータベース１９内を検索し、利用頻度が一定数以下のコンテンツ１２又は更新されたコンテンツ１２があるか否かを判断する。
【００７９】
前記利用頻度が一定数以下のコンテンツ１２は、最初に登録された日時から現在までの経過時間ｔｘと、前記コンテンツ１２の通算利用回数ｎと、利用頻度閾値ｆｔと、削除対象外期間ｔｅ［登録されてから間もないコンテンツ１２は削除対象にしない期間］とから、条件は、
条件：もし、ｔｘ＞ｔｅ、かつ、ｎ／ｔｘ＜ｆｔ、なら削除対象
となる。
【００８０】
また、更新されたコンテンツ１２の判定条件は、ハッシュ値１３が異なる同一コンテンツ名を検索し、登録日時の古いものを削除対象とする。
【００８１】
そして、削除対象のコンテンツ１２がある場合は、キャッシュインデックスサーバ１７は自身のキャッシュインデックスデータベース１９からキャッシュインデックスデータを削除する。
【００８２】
次に、キャッシュインデックスサーバ１７は削除対象のコンテンツ１２を格納しているすべてのクライアント装置２０に対してコンテンツ削除依頼を送信し、各クライアント装置２０はコンテンツ１２を自身のキャッシュ記憶装置２１から削除する。例えば、クライアント装置２０の電源オフなどによってコンテンツ削除依頼を受信することができなかったクライアント装置２０に対しては、キャッシュインデックスサーバ１７は一定時間後に再びコンテンツ削除依頼を送信する。また、登録データ数が一定数を超えた場合に利用頻度の低いものから削除するようにする。
【００８３】
次に、フローチャートについて説明する。
ステップＳ３１  キャッシュインデックスサーバ１７は、利用頻度が一定数以下のコンテンツ又は更新されたコンテンツ１２があるか否かを判断する。利用頻度が一定数以下のコンテンツ１２又は更新されたコンテンツ１２がある場合はステップＳ３２に進み、利用頻度が一定数以下のコンテンツ１２又は更新されたコンテンツ１２がない場合は処理を終了する。
ステップＳ３２  キャッシュインデックスサーバ１７は、キャッシュインデックスデータベース１９から登録内容を削除する。
ステップＳ３３  キャッシュインデックスサーバ１７は、クライアント装置２０に対してコンテンツ削除依頼を送信する。
ステップＳ３４  各クライアント装置２０は、キャッシュ記憶装置２１からコンテンツ１２を削除する。
ステップＳ３５  クライアント装置２０は、キャッシュインデックスサーバ１７に対して削除終了を送信する。
ステップＳ３６  キャッシュインデックスサーバ１７は、削除対象のコンテンツ１２を所持しているすべてのクライアント装置２０に対してコンテンツ削除依頼を送信したか否かを判断する。すべてのクライアント装置２０に対してコンテンツ削除依頼を送信した場合は処理を終了し、すべてのクライアント装置２０に対してコンテンツ削除依頼を送信していない場合はステップＳ３３に戻る。
【００８４】
このように、本実施の形態においては、よく利用されているコンテンツ１２の取得には、多数のクライアント装置２０から直接行うことができる。したがって、これまでアクセスが集中していたコンテンツ配信サーバ１１への負担が軽減され、また、コンテンツ１２の取得に要する時間を短縮することができる。
【００８５】
また、コンテンツ１２の内容が不定期に変わるような環境下においても、コンテンツ１２の内容をハッシュ値１３によって確認することができるので、各コンテンツ配信サーバ１１との通信処理を短くすることができる。
【００８６】
さらに、他のクライアント装置２０から取得したコンテンツ１２が正しいか否かを確認する手段を備えているので、不正なコンテンツ１２の表示を防止することができる。
【００８７】
次に、コンテンツ配信サーバ１１自体及びハッシュ値１３をより厳密に検証する機能を加えることによって、前記第１の実施の形態と比べて処理は多いが、コンテンツ本体の信頼性を高くすることができる本発明の第２の実施の形態について説明する。なお、第１の実施の形態と同じ構造を有するものについては、同じ符号を付与することによってその説明を省略する。
【００８８】
図７は本発明の第２の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【００８９】
図に示されるように、本実施の形態におけるコンテンツ配信サーバ１１ａ及びコンテンツ配信サーバ１１ｂは、記憶手段に、それぞれ、コンテンツ１２ａ及びコンテンツ１２ｂ、公開鍵暗号方式によって求めたコンテンツ署名値３３ａ及びコンテンツ署名値３３ｂ、前記コンテンツ配信サーバ１１ａ及びコンテンツ配信サーバ１１ｂの公開鍵を第三者（ＣＡ）が証明した公開鍵証明書３４ａ及び公開鍵証明書３４ｂ等のデータを格納する。前記コンテンツ署名値３３ａ及びコンテンツ署名値３３ｂとは、公知の公開鍵暗号方式（例えば、ＲＳＡやＤＳＡなど）に基づいてコンテンツ１２ａ及びコンテンツ１２ｂの生データのハッシュ値（ＭＤ５やＳＨＡ１など）を元に自身の秘密鍵で作成される。なお、コンテンツ署名値３３ａ及びコンテンツ署名値３３ｂはあらかじめ求めておくことができる。また、本実施の形態においては、公開鍵証明書３４ａ及び公開鍵証明書３４ｂの具体例として、最も一般的なＸ．５０９公開鍵証明書を例に説明する。なお、コンテンツ署名値３３ａ及びコンテンツ署名値３３ｂ並びに公開鍵証明書３４ａ及び公開鍵証明書３４ｂを統合的に説明する場合には、コンテンツ署名値３３及び公開鍵証明書３４として説明する。
【００９０】
そして、クライアント装置２０ａ及びクライアント装置２０ｂは、キャッシュ記憶装置２１ａ及びキャッシュ記憶装置２１ｂをそれぞれ備えるとともに、前記公開鍵証明書３４ａ及び公開鍵証明書３４ｂを格納する公開鍵証明書ストア２２ａ及び公開鍵証明書ストア２２ｂをそれぞれ備える。前記公開鍵証明書ストア２２ａ及び公開鍵証明書ストア２２ｂは、コンテンツ配信サーバ１１ａ及びコンテンツ配信サーバ１１ｂから公開鍵証明書３４ａ及び公開鍵証明書３４ｂを毎回取得しなくてもよいようにするために設けられる。なお、公開鍵証明書ストア２２ａ及び公開鍵証明書ストア２２ｂを統合的に説明する場合には、公開鍵証明書ストア２２として説明する
また、イントラネット１６には、前記公開鍵証明書３４の有効性の検証を行う公開鍵証明書検証サーバ３７が接続される。該公開鍵証明書検証サーバ３７は前記公開鍵証明書３４が有効であるかどうかの検証を代行して行う。なお、検証とは、公開鍵証明書３４の有効期限、公開鍵証明書３４の発信元（ＣＡ）が公開している失効リスト（ＣＲＬ）に掲載されていないかどうかの判断、公開鍵証明書３４に付けられている発信元（ＣＡ）の署名が正しいかどうかの判断（これは新規にコンテンツ配信サーバ１１から取得した時だけ行えばよい。）等の項目に対する検証である。なお、前記公開鍵証明書検証サーバ３７の公知の具体例としては、ＸＫＭＳ（ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｘｋｍｓ／）、ＯＣＳＰ（Ｏｎｌｉｎｅ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｓｔａｔｕｓ  Ｐｒｏｔｏｃｏｌ：ＲＦＣ２５６０）、ＳＣＶＰ（Ｓｉｍｐｌｅ  Ｃｅｒｔｉｆｉｃａｔｅ  Ｖａｌｉｄａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）がある。
【００９１】
次に、前記構成の分散協調型コンテンツ配信システムの動作について説明する。
【００９２】
まず、クライアント装置２０ａがコンテンツ１２を取得するまでの動作について説明する。
【００９３】
図８は本発明の第２の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【００９４】
まず、クライアント装置２０ａは、これからアクセスするコンテンツ配信サーバ１１ａの公開鍵証明書３４ａが自身の公開鍵証明書ストア２２ａに格納されているか否かを判断し、公開鍵証明書ストア２２ａに格納されていない場合は、前記コンテンツ配信サーバ１１ａに公開鍵証明書３４ａの配信要求を送信する。そして、コンテンツ配信サーバ１１ａは、公開鍵証明書３４ａの配信要求をクライアント装置２０ａから受信すると、自身の公開鍵証明書３４ａを前記クライアント装置２０ａに送信する。
【００９５】
また、前記コンテンツ配信サーバ１１ａの公開鍵証明書３４ａが自身の公開鍵証明書ストア２２ａに格納されている場合、クライアント装置２０ａは対象となるコンテンツ配信サーバ１１ａの公開鍵証明書３４ａの検証依頼を公開鍵証明書検証サーバ３７に対して送信する。
【００９６】
次に、該公開鍵証明書検証サーバ３７は公開鍵証明書３４ａの検証を行い、その検証結果をクライアント装置２０ａに返信する。続いて、公開鍵証明書３４ａの検証結果を受信したクライアント装置２０ａは、前記検証結果に基づいて公開鍵証明書３４ａが有効であるか否かを判断する。そして、公開鍵証明書３４ａが有効でない場合、前記クライアント装置２０ａは、前記公開鍵証明書３４ａを公開鍵証明書ストア２２ａから削除し、再び新しい公開鍵証明書３４ａをコンテンツ配信サーバ１１ａから取得する。また、公開鍵証明書３４ａが有効である場合、クライアント装置２０ａは公開鍵証明書３４ａを自身の公開鍵証明書ストア２２ａに追加する。なお、前記クライアント装置２０ａは公開鍵証明書３４ａから公開鍵を取得する。
【００９７】
続いて、クライアント装置２０ａはコンテンツ署名値３３ａの配信要求をコンテンツ配信サーバ１１ａに対して送信する。そして、該コンテンツ配信サーバ１１ａは前記配信要求をが受信すると、コンテンツ署名値３３ａをクライアント装置２０ａに対して送信する。
【００９８】
次に、クライアント装置２０ａは、公開鍵証明書３４ａから取得した公開鍵に基づいてコンテンツ署名値３３ａからコンテンツ１２ａのハッシュ値を求める。
なお、以降の動作については、前記第１の実施の形態と同様であるので、説明を省略する。
【００９９】
次に、フローチャートについて説明する。
ステップＳ４１  クライアント装置２０ａは、コンテンツ配信サーバ１１ａの公開鍵証明書３４ａを格納しているか否かを判断する。所有している場合はステップＳ４４に進み、格納していない場合はステップＳ４２に進む。
ステップＳ４２  クライアント装置２０ａは、コンテンツ配信サーバ１１ａの公開鍵証明書３４ａの配信要求をコンテンツ配信サーバ１１ａに対して送信する。
ステップＳ４３  コンテンツ配信サーバ１１ａは、コンテンツ配信サーバ１１ａの公開鍵証明書３４ａをクライアント装置２０ａに対して送信する。
ステップＳ４４  クライアント装置２０ａは、公開鍵証明書３４ａの検証依頼を公開鍵証明書検証サーバ３７に対して行う。
ステップＳ４５  公開鍵証明書検証サーバ３７は、公開鍵証明書３４ａの検証を行う。
ステップＳ４６  公開鍵証明書検証サーバ３７は、公開鍵証明書３４ａの検証結果をクライアント装置２０ａに対して送信する。
ステップＳ４７  クライアント装置２０ａは、公開鍵証明書３４ａの検証結果から公開鍵証明書３４ａが有効であるか否かを判断する。公開鍵証明書３４ａが有効である場合はステップＳ４９に進み、公開鍵証明書３４ａが有効でない場合はステップＳ４８に進む。
ステップＳ４８  クライアント装置２０ａは、内部に保持している公開鍵証明書３４ａを削除し、ステップＳ４１に戻る。
ステップＳ４９  クライアント装置２０ａは、公開鍵証明書３４ａを公開鍵証明書ストア２２ａに追加する。
ステップＳ５０  クライアント装置２０ａは、コンテンツ署名値３３ａをコンテンツ配信サーバ１１ａに対して要求する。
ステップＳ５１  コンテンツ配信サーバ１１ａは、コンテンツ署名値３３ａをクライアント装置２０ａに対して送信する。
ステップＳ５２  クライアント装置２０ａは、コンテンツ署名値３３ａからハッシュ値を取得する。
【０１００】
このように、本実施の形態においては、コンテンツ配信サーバ１１自体及びハッシュ値をより厳密に検証することができる。ただし、コンテンツ配信サーバ１１の処理量は第１の実施の形態と比較して増える。
【０１０１】
また、正しいコンテンツ配信サーバ１１に格納されている秘密鍵だけが正しいコンテンツ署名値３３ａを作ることができる。そのため、他の装置が偽コンテンツを配信するサーバに成り済ましている場合であっても、偽コンテンツを配信した装置が作ったコンテンツ署名値３３ａから公開鍵証明書３４ａの公開鍵で取得したハッシュ値は、偽コンテンツのハッシュ値と一致しないので、見破ることができる。
【０１０２】
ところで、前記第２の実施の形態においては、コンテンツ配信サーバ１１の公開鍵証明書３４をクライアント装置２０が取得して格納していたが、別の実施例として公開鍵証明書管理検証サーバがコンテンツ配信サーバの公開鍵証明書を取得して格納する本発明の第３の実施の形態について説明する。なお、第１及び第２の実施の形態と同じ構造を有するものについては、同じ符号を付与することによってその説明を省略する。
【０１０３】
図９は本発明の第３の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【０１０４】
本実施の形態においては、前記第２の実施の形態における公開鍵証明書検証サーバ３７に代えて、公開鍵証明書管理検証サーバ４７がイントラネット１６に接続されている。図に示されるように、前記公開鍵証明書管理検証サーバ４７は、コンテンツ配信サーバ１１の公開鍵証明書３４を格納する公開鍵証明書ストア４８を備えている。そして、前記公開鍵証明書管理検証サーバ４７は、クライアント装置２０ａから指定されたコンテンツ配信サーバ１１の公開鍵請求があった場合に、該当する公開鍵証明書３４の取得、保管、及び、公開鍵証明書３４が有効であるかどうかの検証を代行して行う。そして、前記公開鍵証明書３４が有効である場合は、その公開鍵をクライアント装置２０ａに送信する。なお、前記公開鍵証明書管理検証サーバ４７の公知の具体例として、ＸＫＭＳ（ｈｔｔｐ：／／ｗｗｗ．ｗ３．ｏｒｇ／ＴＲ／ｘｋｍｓ／）がある。
【０１０５】
次に、前記構成の分散協調型コンテンツ配信システムの動作について説明する。
【０１０６】
まず、クライアント装置２０ａがコンテンツ１２を取得するまでの動作について説明する。
【０１０７】
図１０は本発明の第３の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【０１０８】
まず、クライアント装置２０ａは、取得したいコンテンツ１２ａを所有しているコンテンツ配信サーバ４１の公開鍵の取得を公開鍵証明書管理検証サーバ４７に依頼する。そして、該公開鍵証明書管理検証サーバ４７は、依頼されたコンテンツ配信サーバ４１の公開鍵証明書３４ａが自身の公開鍵証明書ストア４８にあるか否かを判断し、公開鍵証明書ストア４８にない場合は、コンテンツ配信サーバ４１に公開鍵証明書３４ａを要求し、公開鍵証明書３４ａを送信してもらう。
【０１０９】
次に、公開鍵証明書管理検証サーバ４７は受信した公開鍵証明書３４ａの検証を行う。そして、公開鍵証明書３４ａの検証結果の内容から、前記公開鍵証明書３４ａが無効であると判断した場合、前記公開鍵証明書管理検証サーバ４７は、前記公開鍵証明書３４ａを公開鍵証明書ストア４８から削除し、再び新しい公開鍵証明書３４ａをコンテンツ配信サーバ４１から取得する。
【０１１０】
また、公開鍵証明書３４ａが有効であると判断した場合、公開鍵証明書管理検証サーバ４７は、前記公開鍵証明書３４ａを自身の公開鍵証明書ストア４８に追加し、検証した前記公開鍵証明書３４ａにある公開鍵をクライアント装置２０ａに送信する。
【０１１１】
次に、クライアント装置２０ａは、コンテンツ署名値３３ａの要求をコンテンツ配信サーバ４１に対して送信する。そして、該コンテンツ配信サーバ４１はコンテンツ署名値３３ａの要求を受信すると、前記クライアント装置２０ａにコンテンツ署名値３３ａを送信する。そして、前記クライアント装置２０ａは、受信した公開鍵に基づいてコンテンツ署名値３３ａからコンテンツのハッシュ値を求める。なお、以降の動作については、前記第１の実施の形態と同様であるので、説明を省略する。
【０１１２】
次に、フローチャートについて説明する。
ステップＳ６１  クライアント装置２０ａは、公開鍵証明書管理検証サーバ４７に対してコンテンツ配信サーバ４１の公開鍵を要求する。
ステップＳ６２  公開鍵証明書管理検証サーバ４７は、コンテンツ配信サーバ４１の公開鍵証明書３４ａを所有しているか否かを判断する。所有している場合はステップＳ６５に進み、所有していない場合はステップＳ６３に進む。
ステップＳ６３  公開鍵証明書管理検証サーバ４７は、コンテンツ配信サーバ４１の公開鍵証明書３４ａをコンテンツ配信サーバ４１に対して要求する。
ステップＳ６４  コンテンツ配信サーバ４１は、コンテンツ配信サーバ４１の公開鍵証明書３４ａを公開鍵証明書管理検証サーバ４７に対して送信する。
ステップＳ６５  公開鍵証明書管理検証サーバ４７は、公開鍵証明書３４ａの検証を行う。
ステップＳ６６  公開鍵証明書管理検証サーバ４７は、公開鍵証明書３４ａの検証結果から公開鍵証明書３４ａが有効であるか否かを判断する。公開鍵証明書３４ａが有効である場合はステップＳ６８に進み、公開鍵証明書３４ａが有効でない場合はステップＳ６７に進む。
ステップＳ６７  公開鍵証明書管理検証サーバ４７は、内部に保持している公開鍵証明書３４ａを削除し、ステップＳ６２に戻る。
ステップＳ６８  公開鍵証明書管理検証サーバ４７は、公開鍵証明書３４ａを公開鍵証明書ストア４８に追加する。
ステップＳ６９  公開鍵証明書管理検証サーバ４７は、公開鍵をクライアント装置２０ａに対して送信する。
ステップＳ７０  クライアント装置２０ａは、コンテンツ署名値３３ａをコンテンツ配信サーバ４１に対して要求する。
ステップＳ７１  コンテンツ配信サーバ４１は、コンテンツ署名値３３ａをクライアント装置２０ａに対して送信する。
ステップＳ７２  クライアント装置２０ａは、コンテンツ署名値３３ａからハッシュ値を取得する。
【０１１３】
このように、本実施の形態においては、クライアント装置２０は公開鍵の取得及び検証を別の装置に委ねることができるので、前記第２の実施の形態と比較してクライアント装置２０の処理負担を減らすことができる。
【０１１４】
次に、キャッシュインデックスサーバ１７の管理下にあるイントラネット１６のクライアント装置２０の記憶手段にコンテンツ１２が格納されていない場合に、他のネットワーク１４のキャッシュインデックスサーバ１７に問合せを行う本発明の第４の実施の形態について説明する。なお、第１の実施の形態と同じ構造を有するものについては、同じ符号を付与することによってその説明を省略する。
【０１１５】
図１１は本発明の第４の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【０１１６】
図に示されるように、本実施の形態においては、二つのイントラネット１６ａ及び１６ｂがインターネット１４に接続されている。ここで、前記イントラネット１６ａ及びイントラネット１６ｂは、それぞれ、前記第１の実施の形態におけるイントラネット１６と同様の構成を有し同様の装置が接続されている。すなわち、前記イントラネット１６ａにはキャッシュインデックスサーバ１７ａ、クライアント装置２０ａ及びクライアント装置２０ｂが接続され、前記イントラネット１６ｂにはキャッシュインデックスサーバ１７ｂ、クライアント装置２０ｃ及びクライアント装置２０ｄが接続されている。また、イントラネット１６ａ及びイントラネット１６ｂは、それぞれ、ルータ１５ａ及びルータ１５ｂを介してインターネット１４に接続される。なお、付与された符号における数字が同じものは同じ構造を有するものである。
【０１１７】
次に、前記構成の分散協調型コンテンツ配信システムの動作について説明する。
【０１１８】
まず、クライアント装置２０ａがコンテンツを取得するまでの動作について説明する。
【０１１９】
図１２は本発明の第４の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【０１２０】
ここで、クライアント装置２０ａが存在確認要求をキャッシュインデックスサーバ１７ａに送信するまでの動作は、前記第１の実施の形態と同様なので、説明を省略する。なお、前記クライアント装置２０ａは、同じイントラネット１６ａのキャッシュインデックスサーバ１７ａに存在確認要求を送信する。
【０１２１】
そして、キャッシュインデックスサーバ１７ａは自身のキャッシュインデックスデータベース１９ａを検索し、該当するコンテンツ１２をキャッシュ記憶装置２１に格納するクライアント装置２０が登録されている場合は、そのクライアント装置名をクライアント装置２０ａに送信する。すると、クライアント装置２０ａは前記第１の実施の形態におけるステップＳ９以降の動作を行う。
【０１２２】
また、クライアント装置２０が登録されていない場合、キャッシュインデックスサーバ１７ａは他のイントラネット１６ｂに接続されているキャッシュインデックスサーバ１７ｂに問い合わせを送信する。そして、キャッシュインデックスサーバ１７ｂは自身のキャッシュインデックスデータベース１９ｂを検索し、該当するコンテンツ１２をキャッシュ記憶装置２１に格納するクライアント装置２０が登録されている場合は、そのクライアント装置名をキャッシュインデックスサーバ１７ａに送信する。また、クライアント装置が登録されていない場合、キャッシュインデックスサーバ１７ｂはキャッシュインデックスサーバ１７ａにその旨の通知を送信する。
【０１２３】
次に、キャッシュインデックスサーバ１７ａはキャッシュインデックスサーバ１７ｂから前記問い合わせの結果を受信する。そして、イントラネット１６ｂに接続されているクライアント装置２０が該当するコンテンツ１２を格納している場合、そのクライアント装置名をクライアント装置２０ａに送信する。また、クライアント装置が登録されていない場合、登録なしという結果をキャッシュインデックスサーバ１７ａに送信する。なお、以降の動作については、前記第１の実施の形態と同様であるので、説明を省略する。
【０１２４】
次に、フローチャートについて説明する。
ステップＳ８１  クライアント装置２０ａは、キャッシュインデックスサーバ１７ａに対して該当するコンテンツの存在確認要求を送信する。
ステップＳ８２  キャッシュインデックスサーバ１７ａは、該当するコンテンツを所有しているクライアント装置２０がキャッシュインデックスデータベース１９ａに存在するか否かを判断する。存在する場合はステップＳ８３に進み、存在しない場合はステップＳ８４に進む。
ステップＳ８３  キャッシュインデックスサーバ１７ａは、該当するコンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置名をクライアント装置２０ａに対して送信する。
ステップＳ８４  キャッシュインデックスサーバ１７ａは、他のキャッシュインデックスサーバ１７ｂに問合せを送信する。
ステップＳ８５  キャッシュインデックスサーバ１７ｂは、該当するコンテンツ１２を所有しているクライアント装置２０がキャッシュインデックスデータベース１９ｂに存在するか否かを判断する。存在する場合はステップＳ８６に進み、存在しない場合はステップＳ８７に進む。
ステップＳ８６  キャッシュインデックスサーバ１７ｂは、該当するコンテンツ１２をキャッシュ記憶装置２１に格納しているクライアント装置名をキャッシュインデックスサーバ１７ａに対して送信する。
ステップＳ８７  キャッシュインデックスサーバ１７ｂは、該当するコンテンツをキャッシュ記憶装置２１に保存しているクライアント装置名がないことをキャッシュインデックスサーバ１７ａに対して送信する。
ステップＳ８８  キャッシュインデックスサーバ１７ａは、他のキャッシュインデックスサーバからの問合せ結果を受信する。
ステップＳ８９  キャッシュインデックスサーバ１７ａは、該当するコンテンツを所有しているクライアント装置が他のキャッシュインデックスサーバ１７に登録されているか否かを判断する。登録されている場合はステップＳ８３に戻り、登録されていない場合はステップＳ９０に進む。
ステップＳ９０  キャッシュインデックスサーバ１７ａは、登録なしをクライアント装置２０ａに対して送信する。
【０１２５】
このように、本実施の形態においては、キャッシュインデックスデータベース１９に登録されているクライアント装置２０の範囲が広がるので、よりコンテンツ配信サーバ１１からのコンテンツ送信の回数を減らすことができ、コンテンツ配信サーバ１１の負荷を軽減することができる。
【０１２６】
なお、前記第１〜第４の実施の形態において、対象となるコンテンツ１２は、例えば、ウェブページ、文字データ、音楽等の音声データ、ビデオ、写真等の画像データ、ソフトウェア等であるが、いかなる種類のものであってもよい。また、各装置間の通信は、ＳＳＬやＩＰｓｅｃなどの暗号通信を行ってもよい。さらに、キャッシュインデックスサーバ１７は、キャッシュインデックスデータベース１９のバックアップや、負荷分散のために、複数のサーバで構成してもよい。
【０１２７】
そして、前記第２の実施の形態においては、公開鍵証明書の検証を公開鍵証明書検証サーバ３７が行う場合について説明したが、該公開鍵証明書検証サーバ３７と同等の機能を各クライアント装置２０が所持している場合は、各クライアント装置２０が独自に行ってもよい。
【０１２８】
また、第２及び第３の実施の形態において、公開鍵証明書検証の発信元のポリシーが許せば毎回ではなく、発信元が定める周期内であれば、以前の検証結果を利用することもできる。例えば、失効リスト（ＣＲＬ）の次回発信日までは前の検証結果を利用してもよい。
【０１２９】
図１３は本発明の第４の実施の形態における分散協調型コンテンツ配信システムの他の構成を示す図である。
【０１３０】
さらに、前記第４の実施の形態においては、キャッシュインデックスサーバ１７の連携は二台だけであったが、三台以上であってもよい。また、接続形態として図１３に示されるように、イントラネット同士が直接接続していてもよい。
【０１３１】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【０１３２】
【発明の効果】
以上詳細に説明したように、本発明によれば、分散協調型コンテンツ配信システムにおいては、コンテンツが不定期に変わる環境下であってもコンテンツ配信サーバへの負荷を軽減することができ、クライアント装置のキャッシュに格納されているコンテンツが不正に変更されていないかどうかを確認することができ、他のクライアント装置からはクライアント装置のキャッシュ装置装置にだけしかアクセスすることができない。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【図２】本発明の第１の実施の形態におけるキャッシュインデックスデータベースの内容を示す図である。
【図３】本発明の第１の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示す第１のフローチャートである。
【図４】本発明の第１の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示す第２のフローチャートである。
【図５】本発明の第１の実施の形態におけるクライアント装置の指示でキャッシュ記憶装置に格納されたコンテンツを削除する動作を示すフローチャートである。
【図６】本発明の第１の実施の形態におけるキャッシュインデックスサーバの指示でキャッシュ記憶装置に格納されたコンテンツを削除する動作を示すフローチャートである。
【図７】本発明の第２の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【図８】本発明の第２の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【図９】本発明の第３の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【図１０】本発明の第３の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【図１１】本発明の第４の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【図１２】本発明の第４の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【図１３】本発明の第４の実施の形態における分散協調型コンテンツ配信システムの他の構成を示す図である。
【符号の説明】
１０    分散協調型コンテンツ配信システム
１１、１１ａ、１１ｂ、４１    コンテンツ配信サーバ
１２、１２ａ、１２ｂ    コンテンツ
１３、１３ａ、１３ｂ    ハッシュ値
１７  、１７ａ、１７ｂ    キャッシュインデックスサーバ
１９、１９ａ、１９ｂ    キャッシュインデックスデータベース
２０、２０ａ、２０ｂ、２０ｃ、２０ｄ    クライアント装置
２１、２１ａ、２１ｂ、２１ｃ、２１ｄ    キャッシュ記憶装置
２２、２２ａ、２２ｂ、４８    公開鍵証明書ストア
３３、３３ａ、３３ｂ    コンテンツ署名値
３４、３４ａ、３４ｂ    開鍵証明書
３７    公開鍵証明書検証サーバ
４７    公開鍵証明書管理検証サーバ
【図１】
2004185263.tif 000003
【図２】
2004185263.tif 000004
【図３】
2004185263.tif 000005
【図４】
2004185263.tif 000006
【図５】
2004185263.tif 000007
【図６】
2004185263.tif 000008
【図７】
2004185263.tif 000009
【図８】
2004185263.tif 000010
【図９】
2004185263.tif 000011
【図１０】
2004185263.tif 000012
【図１１】
2004185263.tif 000013
【図１２】
2004185263.tif 000014
【図１３】
2004185263.tif 000015