JP2004185263A - Dispersed cooperative content delivery system - Google Patents

Dispersed cooperative content delivery system Download PDF

Info

Publication number
JP2004185263A
JP2004185263A JP2002350697A JP2002350697A JP2004185263A JP 2004185263 A JP2004185263 A JP 2004185263A JP 2002350697 A JP2002350697 A JP 2002350697A JP 2002350697 A JP2002350697 A JP 2002350697A JP 2004185263 A JP2004185263 A JP 2004185263A
Authority
JP
Japan
Prior art keywords
content
client device
public key
server
key certificate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2002350697A
Other languages
Japanese (ja)
Inventor
Akihiro Fujii
明宏 藤井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2002350697A priority Critical patent/JP2004185263A/en
Publication of JP2004185263A publication Critical patent/JP2004185263A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To reduce the load on a content delivery server even in an environment where contents vary irregularly; to check to see if the contents stored in the cache of a client device have been modified illicitly; and to allow other client devices to access only the cache storage device of the client device. <P>SOLUTION: A dispersed cooperative content delivery system includes contents 12; a content delivery server 11 which delivers characteristic information specifying the contents 12; a client device 20 with a cache storage device 21 for storing the contents 12 acquired; and a cache index server 17 with a cache index database 19 for storing the characteristic information corresponding to the contents 12 and data about the client device 20. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、分散協調型コンテンツ配信システムに関するものである。
【0002】
【従来の技術】
従来、ブラウザ(browser)機能を装備したパーソナルコンピュータ等の情報端末からインターネットに接続されたウェブ(web)サーバにアクセス(訪問)することによって、該ウェブサーバ内に開設されたウェブサイトの格納された画像、音声等の各種のコンテンツを利用することができるようになっている。そして、近年では、インターネットの利用拡大に伴い、前記コンテンツを格納しているウェブサーバとしてのコンテンツ配信サーバへのアクセスが増加している。ところが、前記コンテンツ配信サーバへのアクセスが増加すると、前記コンテンツ配信サーバがコンテンツを配信するための負荷が大きくなるので、前記コンテンツ配信サーバへのアクセスが困難になり、前記コンテンツを取得するために時間がかかったり、コンテンツの取得が不可能になったりしてしまう。
【0003】
そこで、前記コンテンツ配信サーバの負荷を軽減するために、前記コンテンツの内容を一時的に格納するキャッシュサーバを利用する技術が提供されている。
さらに、前記キャッシュサーバの負荷を軽減するために、該キャッシュサーバを更に分散させる技術も提供されている(例えば、特許文献1〜3参照。)。
【0004】
【特許文献1】特表2001−511551号公報
【0005】
【特許文献2】特開平10−222412号公報
【0006】
【特許文献3】特開平10−222449号公報
【0007】
【発明が解決しようとする課題】
しかしながら、前記従来のシステムにおいては、情報端末からのアクセスが増加するとキャッシュサーバの負荷が大きくなり、該キャッシュサーバからコンテンツを取得するために時間がかかったり、コンテンツの取得が不可能になったりしてしまう。もっとも、前記キャッシュサーバの台数を増やすことによって、各キャッシュサーバの負荷を軽減することは可能であるが、コストや管理面での負担が大きくなってしまう。
【0008】
そこで、コンテンツを一時的に保存するキャッシュ機能をクライアント装置としての情報端末に持たせ、コンテンツを配信する代わりに一時的にコンテンツを格納するキャッシュ記憶装置としてのキャッシュのありかを示すキャッシュインデックスを配信するキャッシュインデックスサーバを使用する分散協調型コンテンツ配信システムとすることが考えられる。この場合、ある情報端末からコンテンツの配信要求が送信されると、前記キャッシュインデックスサーバは前記コンテンツのキャッシュインデックスを返信する。そして、前記情報端末は、キャッシュインデックスに従って、前記コンテンツが保存されている情報端末に直接アクセスして前記コンテンツを取得する。なお、それぞれに格納されているコンテンツを情報端末同士が直接アクセスして取得する技術は、一般的にPtoP(ピアツウピア又はP2P:Peer to Peer)と呼ばれている。
【0009】
しかし、前記分散協調型コンテンツ配信システムにおいては、コンテンツの内容が不定期に変更される場合、コンテンツ配信サーバへのアクセスが増加するので前記コンテンツ配信サーバの負荷が増大してしまう。また、情報端末のキャッシュに格納されているコンテンツが不正に変更されてしまう恐れがある。さらに、情報端末同士が直接アクセスするので、情報端末に保存されているプライベートな情報が他の情報端末によって取得されてしまう恐れがある。
【0010】
本発明は、前記従来の分散協調型コンテンツ配信システムの問題点を解決して、コンテンツが不定期に変わる環境下であってもコンテンツ配信サーバへの負荷を軽減することができ、クライアント装置のキャッシュに格納されているコンテンツが不正に変更されていないかどうかを確認することができ、他のクライアント装置からはクライアント装置のキャッシュ記憶装置にだけしかアクセスすることができない分散協調型コンテンツ配信システムを提供することを目的とする。
【0011】
【課題を解決するための手段】
そのために、本発明の分散協調型コンテンツ配信システムにおいては、コンテンツ及び該コンテンツを特定する値を配信するコンテンツ配信サーバと、取得した前記コンテンツを格納するキャッシュ記憶装置を備えるクライアント装置と、前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバとを有する。
【0012】
本発明の他の分散協調型コンテンツ配信システムにおいては、さらに、一のクライアント装置は、前記コンテンツ配信サーバから所定のコンテンツに対応する固有情報を取得し、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する。
【0013】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、コンテンツ、該コンテンツを特定する固有情報、公開鍵(かぎ)暗号方式によって求めたコンテンツ署名値、及び、公開鍵を第三者が保証した公開鍵証明書を配信するコンテンツ配信サーバと、取得した前記コンテンツを格納するキャッシュ記憶装置及び取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備えるクライアント装置と、前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバと、前記公開鍵証明書の有効性の検証を行う公開鍵証明書検証サーバとを有する。
【0014】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、一のクライアント装置は、所定のコンテンツ配信サーバの公開鍵証明書を格納していない場合、該公開鍵証明書を前記コンテンツ配信サーバから取得し、前記公開鍵証明書の有効性検証の依頼を前記公開鍵証明書サーバに送信し、該公開鍵証明書サーバは前記公開鍵証明書の検証結果を前記一のクライアント装置に送信し、該一のクライアント装置は、前記公開鍵証明書が有効である場合、該公開鍵証明書を格納し、該公開鍵証明書から公開鍵を取得し、前記コンテンツ配信サーバから所定のコンテンツのコンテンツ署名値を取得し、前記公開鍵に基づいて前記コンテンツ署名値から前記所定のコンテンツの固有情報を求め、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する。
【0015】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、コンテンツ、該コンテンツを特定する固有情報、公開鍵暗号方式によって求めたコンテンツ署名値、及び、公開鍵を第三者が保証した公開鍵証明書を配信するコンテンツ配信サーバと、取得した前記コンテンツを格納するキャッシュ記憶装置及び取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備えるクライアント装置と、前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバと、取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備え、前記公開鍵証明書の取得、保管及び有効性の検証を行う公開鍵証明書検証サーバとを有する。
【0016】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、一のクライアント装置は、前記公開鍵の配信要求を公開鍵証明書管理検証サーバに送信し、該公開鍵証明書サーバは前記公開鍵の取得及び検証を行い、有効な公開鍵を前記一のクライアント装置に送信し、該一のクライアント装置は、前記コンテンツ配信サーバから所定のコンテンツのコンテンツ署名値を取得し、前記公開鍵に基づいて前記コンテンツ署名値から前記所定のコンテンツの固有情報を求め、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する。
【0017】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記クライアント装置は、取得したコンテンツが真であることが判定された後に、前記コンテンツを前記キャッシュ記憶装置に格納する。
【0018】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記クライアント装置は、前記コンテンツの名称、種類等に応じて前記コンテンツを前記キャッシュ記憶装置に格納する。
【0019】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、一のクライアント装置が要求する所定のコンテンツを格納する他のクライアント装置が複数である場合、該他のクライアント装置の一覧を所定のアルゴリズムに従って並べ替えた一覧を前記一のクライアント装置に送信し、前記一のクライアント装置は、前記並べ替えた一覧の順番にコンテンツの取得を試みる。
【0020】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、前記クライアント装置の要求に従って、キャッシュインデックスデータベースの中から所定の情報を削除する。
【0021】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記クライアント装置は、キャッシュ記憶装置が格納するコンテンツの記憶量が前記クライアント装置の管理者が定めた条件を超えた場合に要求を前記キャッシュインデックスサーバに送信する。
【0022】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記クライアント装置は、前記キャッシュインデックスサーバの要求に従って、キャッシュ記憶装置からコンテンツを削除する。
【0023】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、定期的にキャッシュインデックスデータベースの利用頻度を調べ、利用頻度が低いコンテンツを削除する要求を送信する。
【0024】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、キャッシュされたデータ量が定めた条件を超えた場合に利用頻度が低いコンテンツを削除する要求を送信する。
【0025】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、名称、種類等が同じ登録済のコンテンツのうち固有情報がより古いコンテンツを削除する要求を送信する。
【0026】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記キャッシュインデックスサーバは、一のクライアント装置が要求する所定のコンテンツを格納する他のクライアント装置がキャッシュインデックスデータベースに含まれていない場合、他のキャッシュインデックスサーバに問い合わせる。
【0027】
本発明の更に他の分散協調型コンテンツ配信システムにおいては、さらに、前記固有情報は、ハッシュ値である。
【0028】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【0029】
図1は本発明の第1の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【0030】
図に示されるように、本実施の形態における分散協調型コンテンツ配信システム10はウェブサーバとしてのコンテンツ配信サーバ11a及びコンテンツ配信サーバ11bを有する。なお、コンテンツ配信サーバは単数であっても複数であってもよく、その数は任意であるが、本実施の形態においては、説明の都合上、コンテンツ配信サーバ11a及びコンテンツ配信サーバ11bがすべてのコンテンツ配信サーバを代表する。なお、コンテンツ配信サーバ11a及びコンテンツ配信サーバ11bを統合的に説明する場合には、コンテンツ配信サーバ11として説明する。ここで、該コンテンツ配信サーバ11は、CPU、MPU等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、通信インターフェイス等を備えるコンピュータである。なお、前記コンテンツ配信サーバ11は、独立して存在するものであってもよいし、他の大型コンピュータ等の装置の一部であってもよいし、複数のサーバが有機的に結合した分散型サーバであってもよい。
【0031】
そして、前記コンテンツ配信サーバ11a及びコンテンツ配信サーバ11bは、記憶手段に、それぞれ、コンテンツ12a及びコンテンツ12b、該コンテンツ12a及びコンテンツ12bを特定するハッシュ値13a及びハッシュ値13b等のデータを格納し、外部からの要求に応じて前記データを配信する。ここで、前記コンテンツ12a及びコンテンツ12bは、例えば、ウェブページ、文字データ、音楽等の音声データ、ビデオ、写真等の画像データ、ソフトウェア等であるが、いかなる種類のものであってもよい。また、前記コンテンツ12a及びコンテンツ12bは、単数であっても複数であってもよく、その数は任意である。そして、前記ハッシュ値13a及びハッシュ値13bは前記コンテンツ12a及びコンテンツ12bのそれぞれに対応する。なお、コンテンツ12a及びコンテンツ12b、並びに、ハッシュ値13a及びハッシュ値13bを統合的に説明する場合には、コンテンツ12及びハッシュ値13として説明する。
【0032】
ところで、ハッシュ値13は、入力されたデータを元にハッシュ関数によって生成される疑似乱数であり、元データに対して一意に定まる固定長データである。この場合、元データが1ビットでも改変されると、生成されるハッシュ値13は異なったものになる。そして、元データがデータ量の多いコンテンツであっても、ハッシュ値13はデータ量が少ない固定長データである。データの改ざんを防止するためのデジタル署名は、通常、公開鍵暗号技術とハッシュ関数の組合せで実現される。一般に利用されるハッシュ関数としては、MD2、MD5、SHA1等がある。
【0033】
また、14は外部ネットワークとしてのインターネットであるが、いかなる種類のネットワークであってもよく、例えば、LAN(Local Area Network)、WAN(Wide Area Network)等であってもよい。そして、前記コンテンツ配信サーバ11は、インターネット14に接続され、該インターネット14を経由して、前記コンテンツ12、ハッシュ値13等のデータを配信することができる。
【0034】
なお、16は内部ネットワークとしてのイントラネットであり、キャッシュインデックスサーバ17、クライアント装置20a、クライアント装置20b等が接続されている。そして、前記イントラネット16はルータ15を介して前記インターネット14に接続されている。ここで、前記ルータ15は、イントラネット16に接続された装置同士の通信データをインターネット14に出さず、また、イントラネット16に接続された装置とインターネット14に接続された装置との間の通信データを、適切な経路を選択して中継する役割を担う。なお、前記ルータ15は、一般的にルータ装置と呼ばれているものである。
【0035】
ここで、クライアント装置は単数であっても複数であってもよく、その数は任意であるが、本実施の形態においては、説明の都合上、クライアント装置20a及びクライアント装置20bがすべてのクライアント装置を代表する。なお、クライアント装置20a及びクライアント装置20bを統合的に説明する場合には、クライアント装置20として説明する。そして、該クライアント装置20は、CPU、MPU等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、CRT、液晶ディスプレイ等の表示手段、通信インターフェイス等を備えるコンピュータであり、例えば、パーソナルコンピュータ等の情報端末であるが、いかなる種類のものであってもよい。なお、前記クライアント装置20a及びクライアント装置20bは、ダウンロードしたコンテンツ12を格納するキャッシュとして機能するものであり、キャッシュ記憶装置21a及びキャッシュ記憶装置21bをそれぞれ備える。ここで、該キャッシュ記憶装置21a及びキャッシュ記憶装置21bは、クライアント装置20a及びクライアント装置20bの記憶手段の一部であってもよいし、いわゆる外付けのハードディスク装置等の外部記憶手段の全部又は一部であってもよい。なお、キャッシュ記憶装置21a及びキャッシュ記憶装置21bを統合的に説明する場合には、キャッシュ記憶装置21として説明する。本実施の形態において、前記クライアント装置20がコンテンツ配信サーバ11にアクセスしてダウンロードしたコンテンツ12は前記キャッシュ記憶装置21に一時的に格納される。
【0036】
また、前記キャッシュインデックスサーバ17は、CPU、MPU等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、通信インターフェイス等を備えるコンピュータであり、独立して存在するものであってもよいし、他の大型コンピュータ等の装置の一部であってもよいし、複数のサーバが有機的に結合した分散型サーバであってもよい。そして、前記キャッシュインデックスサーバ17は、前記コンテンツ配信サーバ11から取得したコンテンツ12のキャッシュとして機能する前記クライアント装置20の名前等のキャッシュインデックスデータを一元管理するものであり、キャッシュインデックスデータベース19を備える。ここで、該キャッシュインデックスデータベース19は、キャッシュインデックスサーバ17の記憶手段の一部であってもよいし、いわゆる外付けのハードディスク装置等の外部記憶手段の全部又は一部であってもよい。本実施の形態において、前記キャッシュインデックスサーバ17は、コンテンツ12の配信要求に応じて前記コンテンツ12のキャッシュインデックスを返信する。
【0037】
次に、前記キャッシュインデックスデータベース19の内容について説明する。
【0038】
図2は本発明の第1の実施の形態におけるキャッシュインデックスデータベースの内容を示す図である。
【0039】
図に示されるように、キャッシュインデックスデータベース19には、キャッシュインデックスデータとして、コンテンツ名(例えば、URL(Uniform Resource Locator)名)、ハッシュ関数としてのハッシュアルゴリズム、ハッシュ値13、コンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置名(例えば、クライアント装置20のIPアドレスやホスト名)、コンテンツ12をキャッシュ記憶装置21に格納した日時としての登録日時、コンテンツ12の通算利用回数等の情報が格納されている。なお、前記コンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置名は、複数のクライアント装置20の名称が含まれていてもよい。
【0040】
次に、前記構成の分散協調型コンテンツ配信システム10の動作について説明する。
【0041】
まず、クライアント装置20a及びクライアント装置20bがコンテンツ12を取得するまでの動作について説明する。
【0042】
図3は本発明の第1の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示す第1のフローチャート、図4は本発明の第1の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示す第2のフローチャートである。
【0043】
この場合、今からコンテンツ12を取得するクライアント装置20a、既にキャッシュを保持しているクライアント装置20b、前記クライアント装置20a及びクライアント装置20bを含むイントラネット16に接続されている各クライアント装置20のキャッシュインデックスデータを一元管理しているキャッシュインデックスサーバ17、並びに、コンテンツ12及びハッシュ値13を格納したコンテンツ配信サーバ11の間での処理の流れを示す。
【0044】
まず、クライアント装置20aは、取得したいコンテンツ12に対応するハッシュ値13の配信要求をコンテンツ配信サーバ11に送信する。
【0045】
次に、コンテンツ配信サーバ11は、クライアント装置20aにハッシュ値13及びハッシュアルゴリズムを送信する。前記ハッシュ値13をあらかじめハッシュ関数としてのハッシュアルゴリズムによって求めておくと、ハッシュ値13はデータ量が少なく送信する時間が短いので、前記コンテンツ配信サーバ11が一つのクライアント装置20aに対して応対する時間が短くなり、極めて短時間に処理を済ませることができる。すなわち、該処理でのコンテンツ配信サーバ11の負担は軽微なものになる。
【0046】
続いて、前記クライアント装置20aは、前記コンテンツ12と同じ名称、種類等のコンテンツ12で、かつ、ハッシュ値13が同じものが自身のキャッシュ記憶装置21aに格納されているか否かを確認し、該キャッシュ記憶装置21aに格納されている場合は、前記コンテンツ12をブラウザ機能によって表示手段上に表示(又は動作)させる。
【0047】
また、前記キャッシュ記憶装置21aに格納されていない場合、前記クライアント装置20aは、キャッシュインデックスサーバ17に、前記コンテンツ12と同じ名称で、かつ、ハッシュ値13が同じものが他のクライアント装置20内に登録されているか否かの確認を要求する存在確認要求をキャッシュインデックスサーバ17に送信する。
【0048】
そして、該キャッシュインデックスサーバ17は前記存在確認要求を受信すると、自身のキャッシュインデックスデータベース19に前記コンテンツ12と同じ名称で、かつ、ハッシュ値13が同じものが登録されているか否かを検索する。そして、登録されている場合、キャッシュインデックスサーバ17は、該当するコンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置名をクライアント装置20aに返信する。また、登録されていない場合、登録されていない旨をクライアント装置20aに返信する。なお、該当するコンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置が複数ある場合は、すべてのクライアント装置名を返信してもよいが、この場合の返信の方法については後述される。このように、前記キャッシュインデックスサーバ17は、該当するコンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置名を返信するだけなので、クライアント装置20aに対して応対する時間が短くなり、極めて短時間に処理を済ませることができる。すなわち、該処理でのキャッシュインデックスサーバ17の負担は軽微なものになる。
【0049】
次に、クライアント装置20aは、キャッシュインデックスサーバ17から該当するコンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置名を受信した場合、該クライアント装置としてのクライアント装置20bが起動しているか否かを判断する。この場合、例えば、ICMP(InternetControl Message Protocol:RFC792/RFC1812)と呼ばれるインターネットプロトコルを用いることによって、前記クライアント装置20bが起動しているか否かを判断することができる。
【0050】
そして、前記クライアント装置20bが起動している場合、クライアント装置20aは、前記クライアント装置20bに対してキャッシュ記憶装置21bに格納されている前記コンテンツ12の配信要求を送信する。続いて、前記クライアント装置20bはキャッシュ記憶装置21bに格納されている前記コンテンツ12をクライアント装置20aに配信する。
【0051】
続いて、クライアント装置20aは、クライアント装置20bから受信したコンテンツ12のハッシュ値13を求め、コンテンツ配信サーバ11から取得したハッシュ値13と比較して前記コンテンツ12の真偽判定を行う。そして、両方のハッシュ値13が一致した場合は、クライアント装置20bから受信したコンテンツは真である、すなわち、前記コンテンツ12であるので、該コンテンツ12を出力する、すなわち、ブラウザ機能によって表示手段上に表示(又は動作)させる。
【0052】
また、前記コンテンツ12と同じ名称で、かつ、ハッシュ値13が同じものが他のクライアント装置20内に登録されていない場合、前記クライアント装置20bが起動していない場合、及び、両方のハッシュ値13が一致しない場合、クライアント装置20aはコンテンツ配信サーバ11に対してコンテンツ12の配信要求を送信する。続いて、前記コンテンツ配信サーバ11はコンテンツ12をクライアント装置20aに送信する。なお、コンテンツ12の表示の処理が完全に終わってから次の処理を行う必要はないので、コンテンツ12の表示の処理とそれ以降の処理は並行して行ってもよい。
【0053】
次に、クライアント装置20aは、クライアント装置20b又はコンテンツ配信サーバ11から受信したコンテンツ12を表示すると、該コンテンツ12を自身のキャッシュ記憶装置21aに格納するか否かをあらかじめ設定された条件に従って判断する。この処理内容の詳細については後述する。
【0054】
そして、前記条件を満たしている場合、クライアント装置20aは、キャッシュインデックスサーバ17にハッシュ値13及びハッシュアルゴリズムを送信してコンテンツ12の登録申請を行う。続いて、登録申請を受けたキャッシュインデックスサーバ17は、キャッシュインデックスデータベース19に追加登録を行う。なお、既にコンテンツ12と同じ名称のコンテンツが登録されていても、それぞれのハッシュ値が異なる場合、キャッシュインデックスサーバ17は、コンテンツ12が更新されたものであると判断して、既に登録されているコンテンツに関するデータを削除することもできる。
【0055】
続いて、クライアント装置20aはコンテンツ12をキャッシュ記憶装置21aに格納し、一連の処理を終了する。
【0056】
次に、フローチャートについて説明する。
ステップS1 クライアント装置20aは、取得したいハッシュ値13の配信要求をコンテンツ配信サーバ11に送信する。
ステップS2 コンテンツ配信サーバ11は、クライアント装置20aに対してハッシュ値13及びハッシュアルゴリズムを送信する。
ステップS3 クライアント装置20aは、該当するコンテンツ12で、かつ、ハッシュ値13が同じものが自身のキャッシュ記憶装置21a内にあるか否かを判断する。キャッシュ記憶装置21a内にある場合はステップS4に進み、キャッシュ記憶装置21a内にない場合はステップS5に進む。
ステップS4 クライアント装置20aは、コンテンツ12をブラウザ等に表示(又は動作)させる。
ステップS5 クライアント装置20aは、キャッシュインデックスサーバ17に対して該当するコンテンツ12で、かつ、ハッシュ値13が同じものが他のクライアント装置20内に登録されているか否かの存在確認要求を送信する。
ステップS6 キャッシュインデックスサーバ17は、該当するコンテンツ12がキャッシュインデックスデータベース19に登録されているか否かを判断する。登録されている場合はステップS7に進み、登録されていない場合はステップS8に進む。
ステップS7 キャッシュインデックスサーバ17は、該当するコンテンツ12をキャッシュに保存しているクライアント装置名をクライアント装置20aに対して送信する。
ステップS8 キャッシュインデックスサーバ17は、登録なしをクライアント装置20aに対して送信する。
ステップS9 クライアント装置20aは、該当するコンテンツ12を保持するクライアント装置20bが起動しているか否かを判断する。該当するコンテンツ12を保持するクライアント装置20bが起動している場合はステップS10に進み、該当するコンテンツ12を保持するクライアント装置20bが起動していない場合はステップS14に進む。
ステップS10 クライアント装置20aは、キャッシュ記憶装置21bに格納されているコンテンツ12の配信要求を送信する。。
ステップS11 クライアント装置20bは、キャッシュ記憶装置21bに保持しているコンテンツ12をクライアント装置20aに対して送信する。
ステップS12 クライアント装置20aは、受信したハッシュ値13を検査する。
ステップS13 クライアント装置20aは、ハッシュ値13が一致するか否かを判断する。一致する場合はステップS16に進み、一致しない場合はステップS14に進む。
ステップS14 クライアント装置20aは、コンテンツ配信サーバ11に対してコンテンツ12の送信要求を行う。
ステップS15 コンテンツ配信サーバ11は、コンテンツ12をクライアント装置20aに対して送信する。
ステップS16 クライアント装置20aは、受信したコンテンツ12を表示(又は動作)させる。
ステップS17 クライアント装置20aは、コンテンツ12がキャッシュ記憶装置21aに保存する条件を満たしているか否かを判断する。条件を満たしている場合はステップS18に進み、条件を満たしていない場合は処理を終了する。
ステップS18 クライアント装置20aは、キャッシュインデックスサーバ17に対してコンテンツ12の登録申請を行う。
ステップS19 キャッシュインデックスサーバ17は、キャッシュインデックスデータベース19に追加登録する。
ステップS20 クライアント装置20aは、コンテンツ12をキャッシュ記憶装置21aに格納し、処理を終了する。
【0057】
次に、同じコンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置20が複数ある場合について説明する。
【0058】
この場合、キャッシュインデックスサーバ17は、あるクライアント装置20が要求する所定のコンテンツ12を格納する他のクライアント装置20が複数である場合、該他のクライアント装置20の一覧を所定のアルゴリズムに従って並べ替えた一覧を前記クライアント装置20に送信し、該クライアント装置20は、前記並べ替えた一覧の順番にコンテンツ12の取得を試みるようになっている。すなわち、ステップS6において、キャッシュインデックスデータベース19に該当するコンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置20が複数登録されている場合、キャッシュインデックスサーバ17は、クライアント装置20aに送信するクライアント装置名の一覧をランダムに並べ替えたり、毎回規則的にずらした並びにしたりして、常に特定のクライアント装置20にアクセスが集中しないようにする。
【0059】
そして、クライアント装置20aはキャッシュインデックスサーバ17から受信したクライアント装置名の一覧の最初に挙げられているクライアント装置20からのコンテンツ12の取得を試み、所定の時間内に応答がない場合は、次のクライアント装置20からのコンテンツ12の取得を試みる。
【0060】
次に、コンテンツ12を自身のキャッシュ記憶装置21aに格納するか否かを判断する条件について説明する。
【0061】
この場合、コンテンツ12は他のクライアント装置20においても使い回しされるので、前記コンテンツ12に個人情報が含まれてはならない。
【0062】
そこで、例えば、コンテンツ名に個人情報(禁止ワード)が含まれていないこと、コンテンツ12を取得するまでの操作でキーボードが使われていないこと等の条件が設定される。なお、前記禁止ワードはあらかじめ登録される。
【0063】
また、最も単純な方法として、コンテンツ名に引数がないものだけを対象にする方法もある。例えば、HTTPである場合は、コンテンツ名に引数があるか否かを見分けることができる。すなわち、コンテンツ名がhttp://www.aaa.bbb.ccc.htmlである場合は引数がなく、コンテンツ名がhttp://www.aaa.bbb.ccc.html&userid=1234…である場合は引数がある。
【0064】
また、コンテンツ12の種類やデータ形式によっては保存しないように設定してもよい。
【0065】
次に、キャッシュ記憶装置21に格納されたコンテンツ12が無限に増えることを抑えるために、キャッシュ記憶装置21に格納されたコンテンツ12を削除する動作について説明する。
【0066】
この場合、キャッシュ記憶装置21に格納されたコンテンツ12を削除するには、クライアント装置20の指示で削除する方法(コンテンツが一定量以上溜(た)まってしまった場合等)と、キャッシュインデックスサーバ17の指示で削除する方法(古いコンテンツ12が存在する場合、コンテンツ12が更新された場合等)の二つの方法がある。
【0067】
なお、本実施の形態においては、前述された二つの方法を同時に行うこともできる。
【0068】
次に、クライアント装置20の指示でキャッシュ記憶装置21に格納されたコンテンツ12を削除する動作について説明する。
【0069】
図5は本発明の第1の実施の形態におけるクライアント装置の指示でキャッシュ記憶装置に格納されたコンテンツを削除する動作を示すフローチャートである。
【0070】
この場合、キャッシュインデックスサーバ17は、クライアント装置20の要求に従って、キャッシュインデックスデータベース19の中から所定の情報を削除するようになっている。なお、この処理の開始は、新たなコンテンツ12を取得した場合である。具体的には、図4におけるステップS19の処理が終わった後である。
【0071】
まず、クライアント装置20自身のキャッシュ記憶装置21に格納されているコンテンツ12の総量があらかじめ決めてある閾(しきい)値以上であるか否かを判断する。前記閾値は、クライアント装置20の管理者が自由に設定することができる。
【0072】
そして、閾値より小さい場合は処理を終了する。また、閾値以上である場合、クライアント装置20はキャッシュインデックスサーバ17に対してインデックス削除依頼を送信する。続いて、キャッシュインデックスサーバ17はインデックス削除依頼を受けると、キャッシュインデックスサーバ17から該当するコンテンツ12のキャッシュインデックスデータ(他のクライアント装置20も登録されている場合は、クライアント装置名だけ)を削除し、その後、クライアント装置20に削除した旨の結果としてのインデックス削除結果を送信する。
【0073】
次に、キャッシュインデックスサーバ17からのインデックス削除結果を受信すると、クライアント装置20は自身のキャッシュ記憶装置21に格納されていたコンテンツ12を削除し、処理を終了する。
【0074】
次に、フローチャートについて説明する。
ステップS21 クライアント装置20は、キャッシュ記憶装置21のコンテンツ12の総量が閾値以上であるか否かを判断する。閾値以上である場合はステップS22に進み、閾値より小さい場合は処理を終了する。
ステップS22 クライアント装置20は、キャッシュインデックスサーバ17に対してインデックス削除依頼を送信する。
ステップS23 キャッシュインデックスサーバ17は、キャッシュインデックスデータベース19から該当するコンテンツの情報を削除する。
ステップS24 キャッシュインデックスサーバ17は、クライアント装置20に対してインデックス削除結果を送信する。
ステップS25 クライアント装置20は、キャッシュ記憶装置21からコンテンツ12を削除し、処理を終了する。
【0075】
次に、キャッシュインデックスサーバ17の指示でキャッシュ記憶装置21に格納されたコンテンツ12を削除する動作について説明する。
【0076】
図6は本発明の第1の実施の形態におけるキャッシュインデックスサーバの指示でキャッシュ記憶装置に格納されたコンテンツを削除する動作を示すフローチャートである。
【0077】
この場合、キャッシュインデックスサーバ17は、定期的にキャッシュインデックスデータベース19の利用頻度を調べ、利用頻度が低いコンテンツ12を削除する要求を送信するようになっている。なお、この処理は、キャッシュインデックスサーバ17の管理者が決めた周期で実行される。
【0078】
まず、キャッシュインデックスサーバ17は、自身のキャッシュインデックスデータベース19内を検索し、利用頻度が一定数以下のコンテンツ12又は更新されたコンテンツ12があるか否かを判断する。
【0079】
前記利用頻度が一定数以下のコンテンツ12は、最初に登録された日時から現在までの経過時間txと、前記コンテンツ12の通算利用回数nと、利用頻度閾値ftと、削除対象外期間te[登録されてから間もないコンテンツ12は削除対象にしない期間]とから、条件は、
条件:もし、tx>te、かつ、n/tx<ft、なら削除対象
となる。
【0080】
また、更新されたコンテンツ12の判定条件は、ハッシュ値13が異なる同一コンテンツ名を検索し、登録日時の古いものを削除対象とする。
【0081】
そして、削除対象のコンテンツ12がある場合は、キャッシュインデックスサーバ17は自身のキャッシュインデックスデータベース19からキャッシュインデックスデータを削除する。
【0082】
次に、キャッシュインデックスサーバ17は削除対象のコンテンツ12を格納しているすべてのクライアント装置20に対してコンテンツ削除依頼を送信し、各クライアント装置20はコンテンツ12を自身のキャッシュ記憶装置21から削除する。例えば、クライアント装置20の電源オフなどによってコンテンツ削除依頼を受信することができなかったクライアント装置20に対しては、キャッシュインデックスサーバ17は一定時間後に再びコンテンツ削除依頼を送信する。また、登録データ数が一定数を超えた場合に利用頻度の低いものから削除するようにする。
【0083】
次に、フローチャートについて説明する。
ステップS31 キャッシュインデックスサーバ17は、利用頻度が一定数以下のコンテンツ又は更新されたコンテンツ12があるか否かを判断する。利用頻度が一定数以下のコンテンツ12又は更新されたコンテンツ12がある場合はステップS32に進み、利用頻度が一定数以下のコンテンツ12又は更新されたコンテンツ12がない場合は処理を終了する。
ステップS32 キャッシュインデックスサーバ17は、キャッシュインデックスデータベース19から登録内容を削除する。
ステップS33 キャッシュインデックスサーバ17は、クライアント装置20に対してコンテンツ削除依頼を送信する。
ステップS34 各クライアント装置20は、キャッシュ記憶装置21からコンテンツ12を削除する。
ステップS35 クライアント装置20は、キャッシュインデックスサーバ17に対して削除終了を送信する。
ステップS36 キャッシュインデックスサーバ17は、削除対象のコンテンツ12を所持しているすべてのクライアント装置20に対してコンテンツ削除依頼を送信したか否かを判断する。すべてのクライアント装置20に対してコンテンツ削除依頼を送信した場合は処理を終了し、すべてのクライアント装置20に対してコンテンツ削除依頼を送信していない場合はステップS33に戻る。
【0084】
このように、本実施の形態においては、よく利用されているコンテンツ12の取得には、多数のクライアント装置20から直接行うことができる。したがって、これまでアクセスが集中していたコンテンツ配信サーバ11への負担が軽減され、また、コンテンツ12の取得に要する時間を短縮することができる。
【0085】
また、コンテンツ12の内容が不定期に変わるような環境下においても、コンテンツ12の内容をハッシュ値13によって確認することができるので、各コンテンツ配信サーバ11との通信処理を短くすることができる。
【0086】
さらに、他のクライアント装置20から取得したコンテンツ12が正しいか否かを確認する手段を備えているので、不正なコンテンツ12の表示を防止することができる。
【0087】
次に、コンテンツ配信サーバ11自体及びハッシュ値13をより厳密に検証する機能を加えることによって、前記第1の実施の形態と比べて処理は多いが、コンテンツ本体の信頼性を高くすることができる本発明の第2の実施の形態について説明する。なお、第1の実施の形態と同じ構造を有するものについては、同じ符号を付与することによってその説明を省略する。
【0088】
図7は本発明の第2の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【0089】
図に示されるように、本実施の形態におけるコンテンツ配信サーバ11a及びコンテンツ配信サーバ11bは、記憶手段に、それぞれ、コンテンツ12a及びコンテンツ12b、公開鍵暗号方式によって求めたコンテンツ署名値33a及びコンテンツ署名値33b、前記コンテンツ配信サーバ11a及びコンテンツ配信サーバ11bの公開鍵を第三者(CA)が証明した公開鍵証明書34a及び公開鍵証明書34b等のデータを格納する。前記コンテンツ署名値33a及びコンテンツ署名値33bとは、公知の公開鍵暗号方式(例えば、RSAやDSAなど)に基づいてコンテンツ12a及びコンテンツ12bの生データのハッシュ値(MD5やSHA1など)を元に自身の秘密鍵で作成される。なお、コンテンツ署名値33a及びコンテンツ署名値33bはあらかじめ求めておくことができる。また、本実施の形態においては、公開鍵証明書34a及び公開鍵証明書34bの具体例として、最も一般的なX.509公開鍵証明書を例に説明する。なお、コンテンツ署名値33a及びコンテンツ署名値33b並びに公開鍵証明書34a及び公開鍵証明書34bを統合的に説明する場合には、コンテンツ署名値33及び公開鍵証明書34として説明する。
【0090】
そして、クライアント装置20a及びクライアント装置20bは、キャッシュ記憶装置21a及びキャッシュ記憶装置21bをそれぞれ備えるとともに、前記公開鍵証明書34a及び公開鍵証明書34bを格納する公開鍵証明書ストア22a及び公開鍵証明書ストア22bをそれぞれ備える。前記公開鍵証明書ストア22a及び公開鍵証明書ストア22bは、コンテンツ配信サーバ11a及びコンテンツ配信サーバ11bから公開鍵証明書34a及び公開鍵証明書34bを毎回取得しなくてもよいようにするために設けられる。なお、公開鍵証明書ストア22a及び公開鍵証明書ストア22bを統合的に説明する場合には、公開鍵証明書ストア22として説明する
また、イントラネット16には、前記公開鍵証明書34の有効性の検証を行う公開鍵証明書検証サーバ37が接続される。該公開鍵証明書検証サーバ37は前記公開鍵証明書34が有効であるかどうかの検証を代行して行う。なお、検証とは、公開鍵証明書34の有効期限、公開鍵証明書34の発信元(CA)が公開している失効リスト(CRL)に掲載されていないかどうかの判断、公開鍵証明書34に付けられている発信元(CA)の署名が正しいかどうかの判断(これは新規にコンテンツ配信サーバ11から取得した時だけ行えばよい。)等の項目に対する検証である。なお、前記公開鍵証明書検証サーバ37の公知の具体例としては、XKMS(http://www.w3.org/TR/xkms/)、OCSP(Online Certificate Status Protocol:RFC2560)、SCVP(Simple Certificate Validation Protocol)がある。
【0091】
次に、前記構成の分散協調型コンテンツ配信システムの動作について説明する。
【0092】
まず、クライアント装置20aがコンテンツ12を取得するまでの動作について説明する。
【0093】
図8は本発明の第2の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【0094】
まず、クライアント装置20aは、これからアクセスするコンテンツ配信サーバ11aの公開鍵証明書34aが自身の公開鍵証明書ストア22aに格納されているか否かを判断し、公開鍵証明書ストア22aに格納されていない場合は、前記コンテンツ配信サーバ11aに公開鍵証明書34aの配信要求を送信する。そして、コンテンツ配信サーバ11aは、公開鍵証明書34aの配信要求をクライアント装置20aから受信すると、自身の公開鍵証明書34aを前記クライアント装置20aに送信する。
【0095】
また、前記コンテンツ配信サーバ11aの公開鍵証明書34aが自身の公開鍵証明書ストア22aに格納されている場合、クライアント装置20aは対象となるコンテンツ配信サーバ11aの公開鍵証明書34aの検証依頼を公開鍵証明書検証サーバ37に対して送信する。
【0096】
次に、該公開鍵証明書検証サーバ37は公開鍵証明書34aの検証を行い、その検証結果をクライアント装置20aに返信する。続いて、公開鍵証明書34aの検証結果を受信したクライアント装置20aは、前記検証結果に基づいて公開鍵証明書34aが有効であるか否かを判断する。そして、公開鍵証明書34aが有効でない場合、前記クライアント装置20aは、前記公開鍵証明書34aを公開鍵証明書ストア22aから削除し、再び新しい公開鍵証明書34aをコンテンツ配信サーバ11aから取得する。また、公開鍵証明書34aが有効である場合、クライアント装置20aは公開鍵証明書34aを自身の公開鍵証明書ストア22aに追加する。なお、前記クライアント装置20aは公開鍵証明書34aから公開鍵を取得する。
【0097】
続いて、クライアント装置20aはコンテンツ署名値33aの配信要求をコンテンツ配信サーバ11aに対して送信する。そして、該コンテンツ配信サーバ11aは前記配信要求をが受信すると、コンテンツ署名値33aをクライアント装置20aに対して送信する。
【0098】
次に、クライアント装置20aは、公開鍵証明書34aから取得した公開鍵に基づいてコンテンツ署名値33aからコンテンツ12aのハッシュ値を求める。
なお、以降の動作については、前記第1の実施の形態と同様であるので、説明を省略する。
【0099】
次に、フローチャートについて説明する。
ステップS41 クライアント装置20aは、コンテンツ配信サーバ11aの公開鍵証明書34aを格納しているか否かを判断する。所有している場合はステップS44に進み、格納していない場合はステップS42に進む。
ステップS42 クライアント装置20aは、コンテンツ配信サーバ11aの公開鍵証明書34aの配信要求をコンテンツ配信サーバ11aに対して送信する。
ステップS43 コンテンツ配信サーバ11aは、コンテンツ配信サーバ11aの公開鍵証明書34aをクライアント装置20aに対して送信する。
ステップS44 クライアント装置20aは、公開鍵証明書34aの検証依頼を公開鍵証明書検証サーバ37に対して行う。
ステップS45 公開鍵証明書検証サーバ37は、公開鍵証明書34aの検証を行う。
ステップS46 公開鍵証明書検証サーバ37は、公開鍵証明書34aの検証結果をクライアント装置20aに対して送信する。
ステップS47 クライアント装置20aは、公開鍵証明書34aの検証結果から公開鍵証明書34aが有効であるか否かを判断する。公開鍵証明書34aが有効である場合はステップS49に進み、公開鍵証明書34aが有効でない場合はステップS48に進む。
ステップS48 クライアント装置20aは、内部に保持している公開鍵証明書34aを削除し、ステップS41に戻る。
ステップS49 クライアント装置20aは、公開鍵証明書34aを公開鍵証明書ストア22aに追加する。
ステップS50 クライアント装置20aは、コンテンツ署名値33aをコンテンツ配信サーバ11aに対して要求する。
ステップS51 コンテンツ配信サーバ11aは、コンテンツ署名値33aをクライアント装置20aに対して送信する。
ステップS52 クライアント装置20aは、コンテンツ署名値33aからハッシュ値を取得する。
【0100】
このように、本実施の形態においては、コンテンツ配信サーバ11自体及びハッシュ値をより厳密に検証することができる。ただし、コンテンツ配信サーバ11の処理量は第1の実施の形態と比較して増える。
【0101】
また、正しいコンテンツ配信サーバ11に格納されている秘密鍵だけが正しいコンテンツ署名値33aを作ることができる。そのため、他の装置が偽コンテンツを配信するサーバに成り済ましている場合であっても、偽コンテンツを配信した装置が作ったコンテンツ署名値33aから公開鍵証明書34aの公開鍵で取得したハッシュ値は、偽コンテンツのハッシュ値と一致しないので、見破ることができる。
【0102】
ところで、前記第2の実施の形態においては、コンテンツ配信サーバ11の公開鍵証明書34をクライアント装置20が取得して格納していたが、別の実施例として公開鍵証明書管理検証サーバがコンテンツ配信サーバの公開鍵証明書を取得して格納する本発明の第3の実施の形態について説明する。なお、第1及び第2の実施の形態と同じ構造を有するものについては、同じ符号を付与することによってその説明を省略する。
【0103】
図9は本発明の第3の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【0104】
本実施の形態においては、前記第2の実施の形態における公開鍵証明書検証サーバ37に代えて、公開鍵証明書管理検証サーバ47がイントラネット16に接続されている。図に示されるように、前記公開鍵証明書管理検証サーバ47は、コンテンツ配信サーバ11の公開鍵証明書34を格納する公開鍵証明書ストア48を備えている。そして、前記公開鍵証明書管理検証サーバ47は、クライアント装置20aから指定されたコンテンツ配信サーバ11の公開鍵請求があった場合に、該当する公開鍵証明書34の取得、保管、及び、公開鍵証明書34が有効であるかどうかの検証を代行して行う。そして、前記公開鍵証明書34が有効である場合は、その公開鍵をクライアント装置20aに送信する。なお、前記公開鍵証明書管理検証サーバ47の公知の具体例として、XKMS(http://www.w3.org/TR/xkms/)がある。
【0105】
次に、前記構成の分散協調型コンテンツ配信システムの動作について説明する。
【0106】
まず、クライアント装置20aがコンテンツ12を取得するまでの動作について説明する。
【0107】
図10は本発明の第3の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【0108】
まず、クライアント装置20aは、取得したいコンテンツ12aを所有しているコンテンツ配信サーバ41の公開鍵の取得を公開鍵証明書管理検証サーバ47に依頼する。そして、該公開鍵証明書管理検証サーバ47は、依頼されたコンテンツ配信サーバ41の公開鍵証明書34aが自身の公開鍵証明書ストア48にあるか否かを判断し、公開鍵証明書ストア48にない場合は、コンテンツ配信サーバ41に公開鍵証明書34aを要求し、公開鍵証明書34aを送信してもらう。
【0109】
次に、公開鍵証明書管理検証サーバ47は受信した公開鍵証明書34aの検証を行う。そして、公開鍵証明書34aの検証結果の内容から、前記公開鍵証明書34aが無効であると判断した場合、前記公開鍵証明書管理検証サーバ47は、前記公開鍵証明書34aを公開鍵証明書ストア48から削除し、再び新しい公開鍵証明書34aをコンテンツ配信サーバ41から取得する。
【0110】
また、公開鍵証明書34aが有効であると判断した場合、公開鍵証明書管理検証サーバ47は、前記公開鍵証明書34aを自身の公開鍵証明書ストア48に追加し、検証した前記公開鍵証明書34aにある公開鍵をクライアント装置20aに送信する。
【0111】
次に、クライアント装置20aは、コンテンツ署名値33aの要求をコンテンツ配信サーバ41に対して送信する。そして、該コンテンツ配信サーバ41はコンテンツ署名値33aの要求を受信すると、前記クライアント装置20aにコンテンツ署名値33aを送信する。そして、前記クライアント装置20aは、受信した公開鍵に基づいてコンテンツ署名値33aからコンテンツのハッシュ値を求める。なお、以降の動作については、前記第1の実施の形態と同様であるので、説明を省略する。
【0112】
次に、フローチャートについて説明する。
ステップS61 クライアント装置20aは、公開鍵証明書管理検証サーバ47に対してコンテンツ配信サーバ41の公開鍵を要求する。
ステップS62 公開鍵証明書管理検証サーバ47は、コンテンツ配信サーバ41の公開鍵証明書34aを所有しているか否かを判断する。所有している場合はステップS65に進み、所有していない場合はステップS63に進む。
ステップS63 公開鍵証明書管理検証サーバ47は、コンテンツ配信サーバ41の公開鍵証明書34aをコンテンツ配信サーバ41に対して要求する。
ステップS64 コンテンツ配信サーバ41は、コンテンツ配信サーバ41の公開鍵証明書34aを公開鍵証明書管理検証サーバ47に対して送信する。
ステップS65 公開鍵証明書管理検証サーバ47は、公開鍵証明書34aの検証を行う。
ステップS66 公開鍵証明書管理検証サーバ47は、公開鍵証明書34aの検証結果から公開鍵証明書34aが有効であるか否かを判断する。公開鍵証明書34aが有効である場合はステップS68に進み、公開鍵証明書34aが有効でない場合はステップS67に進む。
ステップS67 公開鍵証明書管理検証サーバ47は、内部に保持している公開鍵証明書34aを削除し、ステップS62に戻る。
ステップS68 公開鍵証明書管理検証サーバ47は、公開鍵証明書34aを公開鍵証明書ストア48に追加する。
ステップS69 公開鍵証明書管理検証サーバ47は、公開鍵をクライアント装置20aに対して送信する。
ステップS70 クライアント装置20aは、コンテンツ署名値33aをコンテンツ配信サーバ41に対して要求する。
ステップS71 コンテンツ配信サーバ41は、コンテンツ署名値33aをクライアント装置20aに対して送信する。
ステップS72 クライアント装置20aは、コンテンツ署名値33aからハッシュ値を取得する。
【0113】
このように、本実施の形態においては、クライアント装置20は公開鍵の取得及び検証を別の装置に委ねることができるので、前記第2の実施の形態と比較してクライアント装置20の処理負担を減らすことができる。
【0114】
次に、キャッシュインデックスサーバ17の管理下にあるイントラネット16のクライアント装置20の記憶手段にコンテンツ12が格納されていない場合に、他のネットワーク14のキャッシュインデックスサーバ17に問合せを行う本発明の第4の実施の形態について説明する。なお、第1の実施の形態と同じ構造を有するものについては、同じ符号を付与することによってその説明を省略する。
【0115】
図11は本発明の第4の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【0116】
図に示されるように、本実施の形態においては、二つのイントラネット16a及び16bがインターネット14に接続されている。ここで、前記イントラネット16a及びイントラネット16bは、それぞれ、前記第1の実施の形態におけるイントラネット16と同様の構成を有し同様の装置が接続されている。すなわち、前記イントラネット16aにはキャッシュインデックスサーバ17a、クライアント装置20a及びクライアント装置20bが接続され、前記イントラネット16bにはキャッシュインデックスサーバ17b、クライアント装置20c及びクライアント装置20dが接続されている。また、イントラネット16a及びイントラネット16bは、それぞれ、ルータ15a及びルータ15bを介してインターネット14に接続される。なお、付与された符号における数字が同じものは同じ構造を有するものである。
【0117】
次に、前記構成の分散協調型コンテンツ配信システムの動作について説明する。
【0118】
まず、クライアント装置20aがコンテンツを取得するまでの動作について説明する。
【0119】
図12は本発明の第4の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【0120】
ここで、クライアント装置20aが存在確認要求をキャッシュインデックスサーバ17aに送信するまでの動作は、前記第1の実施の形態と同様なので、説明を省略する。なお、前記クライアント装置20aは、同じイントラネット16aのキャッシュインデックスサーバ17aに存在確認要求を送信する。
【0121】
そして、キャッシュインデックスサーバ17aは自身のキャッシュインデックスデータベース19aを検索し、該当するコンテンツ12をキャッシュ記憶装置21に格納するクライアント装置20が登録されている場合は、そのクライアント装置名をクライアント装置20aに送信する。すると、クライアント装置20aは前記第1の実施の形態におけるステップS9以降の動作を行う。
【0122】
また、クライアント装置20が登録されていない場合、キャッシュインデックスサーバ17aは他のイントラネット16bに接続されているキャッシュインデックスサーバ17bに問い合わせを送信する。そして、キャッシュインデックスサーバ17bは自身のキャッシュインデックスデータベース19bを検索し、該当するコンテンツ12をキャッシュ記憶装置21に格納するクライアント装置20が登録されている場合は、そのクライアント装置名をキャッシュインデックスサーバ17aに送信する。また、クライアント装置が登録されていない場合、キャッシュインデックスサーバ17bはキャッシュインデックスサーバ17aにその旨の通知を送信する。
【0123】
次に、キャッシュインデックスサーバ17aはキャッシュインデックスサーバ17bから前記問い合わせの結果を受信する。そして、イントラネット16bに接続されているクライアント装置20が該当するコンテンツ12を格納している場合、そのクライアント装置名をクライアント装置20aに送信する。また、クライアント装置が登録されていない場合、登録なしという結果をキャッシュインデックスサーバ17aに送信する。なお、以降の動作については、前記第1の実施の形態と同様であるので、説明を省略する。
【0124】
次に、フローチャートについて説明する。
ステップS81 クライアント装置20aは、キャッシュインデックスサーバ17aに対して該当するコンテンツの存在確認要求を送信する。
ステップS82 キャッシュインデックスサーバ17aは、該当するコンテンツを所有しているクライアント装置20がキャッシュインデックスデータベース19aに存在するか否かを判断する。存在する場合はステップS83に進み、存在しない場合はステップS84に進む。
ステップS83 キャッシュインデックスサーバ17aは、該当するコンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置名をクライアント装置20aに対して送信する。
ステップS84 キャッシュインデックスサーバ17aは、他のキャッシュインデックスサーバ17bに問合せを送信する。
ステップS85 キャッシュインデックスサーバ17bは、該当するコンテンツ12を所有しているクライアント装置20がキャッシュインデックスデータベース19bに存在するか否かを判断する。存在する場合はステップS86に進み、存在しない場合はステップS87に進む。
ステップS86 キャッシュインデックスサーバ17bは、該当するコンテンツ12をキャッシュ記憶装置21に格納しているクライアント装置名をキャッシュインデックスサーバ17aに対して送信する。
ステップS87 キャッシュインデックスサーバ17bは、該当するコンテンツをキャッシュ記憶装置21に保存しているクライアント装置名がないことをキャッシュインデックスサーバ17aに対して送信する。
ステップS88 キャッシュインデックスサーバ17aは、他のキャッシュインデックスサーバからの問合せ結果を受信する。
ステップS89 キャッシュインデックスサーバ17aは、該当するコンテンツを所有しているクライアント装置が他のキャッシュインデックスサーバ17に登録されているか否かを判断する。登録されている場合はステップS83に戻り、登録されていない場合はステップS90に進む。
ステップS90 キャッシュインデックスサーバ17aは、登録なしをクライアント装置20aに対して送信する。
【0125】
このように、本実施の形態においては、キャッシュインデックスデータベース19に登録されているクライアント装置20の範囲が広がるので、よりコンテンツ配信サーバ11からのコンテンツ送信の回数を減らすことができ、コンテンツ配信サーバ11の負荷を軽減することができる。
【0126】
なお、前記第1〜第4の実施の形態において、対象となるコンテンツ12は、例えば、ウェブページ、文字データ、音楽等の音声データ、ビデオ、写真等の画像データ、ソフトウェア等であるが、いかなる種類のものであってもよい。また、各装置間の通信は、SSLやIPsecなどの暗号通信を行ってもよい。さらに、キャッシュインデックスサーバ17は、キャッシュインデックスデータベース19のバックアップや、負荷分散のために、複数のサーバで構成してもよい。
【0127】
そして、前記第2の実施の形態においては、公開鍵証明書の検証を公開鍵証明書検証サーバ37が行う場合について説明したが、該公開鍵証明書検証サーバ37と同等の機能を各クライアント装置20が所持している場合は、各クライアント装置20が独自に行ってもよい。
【0128】
また、第2及び第3の実施の形態において、公開鍵証明書検証の発信元のポリシーが許せば毎回ではなく、発信元が定める周期内であれば、以前の検証結果を利用することもできる。例えば、失効リスト(CRL)の次回発信日までは前の検証結果を利用してもよい。
【0129】
図13は本発明の第4の実施の形態における分散協調型コンテンツ配信システムの他の構成を示す図である。
【0130】
さらに、前記第4の実施の形態においては、キャッシュインデックスサーバ17の連携は二台だけであったが、三台以上であってもよい。また、接続形態として図13に示されるように、イントラネット同士が直接接続していてもよい。
【0131】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【0132】
【発明の効果】
以上詳細に説明したように、本発明によれば、分散協調型コンテンツ配信システムにおいては、コンテンツが不定期に変わる環境下であってもコンテンツ配信サーバへの負荷を軽減することができ、クライアント装置のキャッシュに格納されているコンテンツが不正に変更されていないかどうかを確認することができ、他のクライアント装置からはクライアント装置のキャッシュ装置装置にだけしかアクセスすることができない。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【図2】本発明の第1の実施の形態におけるキャッシュインデックスデータベースの内容を示す図である。
【図3】本発明の第1の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示す第1のフローチャートである。
【図4】本発明の第1の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示す第2のフローチャートである。
【図5】本発明の第1の実施の形態におけるクライアント装置の指示でキャッシュ記憶装置に格納されたコンテンツを削除する動作を示すフローチャートである。
【図6】本発明の第1の実施の形態におけるキャッシュインデックスサーバの指示でキャッシュ記憶装置に格納されたコンテンツを削除する動作を示すフローチャートである。
【図7】本発明の第2の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【図8】本発明の第2の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【図9】本発明の第3の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【図10】本発明の第3の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【図11】本発明の第4の実施の形態における分散協調型コンテンツ配信システムの構成を示す図である。
【図12】本発明の第4の実施の形態における分散協調型コンテンツ配信システムのクライアント装置がコンテンツを取得するまでの動作を示すフローチャートである。
【図13】本発明の第4の実施の形態における分散協調型コンテンツ配信システムの他の構成を示す図である。
【符号の説明】
10 分散協調型コンテンツ配信システム
11、11a、11b、41 コンテンツ配信サーバ
12、12a、12b コンテンツ
13、13a、13b ハッシュ値
17 、17a、17b キャッシュインデックスサーバ
19、19a、19b キャッシュインデックスデータベース
20、20a、20b、20c、20d クライアント装置
21、21a、21b、21c、21d キャッシュ記憶装置
22、22a、22b、48 公開鍵証明書ストア
33、33a、33b コンテンツ署名値
34、34a、34b 開鍵証明書
37 公開鍵証明書検証サーバ
47 公開鍵証明書管理検証サーバ
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a distributed cooperative content distribution system.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, when an information terminal such as a personal computer equipped with a browser function accesses (visits) a web server connected to the Internet, a web site opened in the web server is stored. Various contents such as images and sounds can be used. In recent years, with the expansion of use of the Internet, access to a content distribution server as a web server storing the content has been increasing. However, when access to the content distribution server increases, a load for the content distribution server to distribute the content increases, so that access to the content distribution server becomes difficult, and it takes time to acquire the content. Or the acquisition of the content becomes impossible.
[0003]
Therefore, in order to reduce the load on the content distribution server, a technique using a cache server that temporarily stores the content of the content has been provided.
Further, in order to reduce the load on the cache server, a technique for further distributing the cache server has been provided (for example, see Patent Documents 1 to 3).
[0004]
[Patent Document 1] Japanese Patent Publication No. 2001-511551
[0005]
[Patent Document 2] JP-A-10-222412
[0006]
[Patent Document 3] JP-A-10-222449
[0007]
[Problems to be solved by the invention]
However, in the conventional system, when the access from the information terminal increases, the load on the cache server increases, and it takes time to acquire the content from the cache server, or the content cannot be acquired. Would. Although it is possible to reduce the load on each cache server by increasing the number of cache servers, the cost and management burden increase.
[0008]
Therefore, an information terminal as a client device is provided with a cache function for temporarily storing content, and a cache index indicating a cache as a cache storage device for temporarily storing content is distributed instead of distributing the content. And a distributed cooperative content distribution system using a cache index server that performs the above. In this case, when a content distribution request is transmitted from a certain information terminal, the cache index server returns a cache index of the content. Then, the information terminal directly accesses the information terminal in which the content is stored according to the cache index to acquire the content. In addition, the technology in which the information terminals directly access and acquire the contents stored in the respective devices is generally called PtoP (Peer to Peer or P2P: Peer to Peer).
[0009]
However, in the distributed cooperative content distribution system, when the content of the content is changed irregularly, the access to the content distribution server increases, so that the load on the content distribution server increases. In addition, there is a possibility that the contents stored in the cache of the information terminal may be illegally changed. Furthermore, since the information terminals directly access each other, there is a possibility that private information stored in the information terminal may be acquired by another information terminal.
[0010]
The present invention solves the problems of the conventional distributed cooperative content distribution system, and can reduce the load on the content distribution server even in an environment where contents change irregularly. Provides a distributed cooperative content distribution system that can check whether the content stored in the client has been tampered with, and allows other client devices to access only the cache device of the client device. The purpose is to do.
[0011]
[Means for Solving the Problems]
Therefore, in the distributed cooperative content distribution system of the present invention, a content distribution server that distributes a content and a value specifying the content, a client device including a cache storage device that stores the acquired content, A cache index server having a cache index database for storing unique information corresponding to each and data relating to the client device.
[0012]
In another distributed cooperative content distribution system according to the present invention, further, one client device acquires specific information corresponding to predetermined content from the content distribution server, and stores the content corresponding to the specific information. An inquiry about whether or not there is a client device is transmitted to the cache index server, and if there is the other client device, the content is obtained from the other client device, and unique information corresponding to the content is calculated. The unique information is compared with the unique information acquired from the content distribution server to determine whether the content is true or false. If the content is true, the content is output and stored in the cache storage device.
[0013]
In still another distributed cooperative content distribution system according to the present invention, a third party guarantees the content, unique information specifying the content, a content signature value obtained by a public key (key) encryption method, and a public key. A content distribution server that distributes a public key certificate, a client device including a cache storage device that stores the acquired content and a public key certificate store that stores the acquired public key certificate, and A cache index server having a cache index database for storing unique information and data relating to the client device, and a public key certificate verification server for verifying the validity of the public key certificate.
[0014]
In still another distributed cooperative content distribution system according to the present invention, when one client device does not store a public key certificate of a predetermined content distribution server, the client device transmits the public key certificate to the content distribution server. And transmits a request for validity verification of the public key certificate to the public key certificate server, and the public key certificate server transmits a verification result of the public key certificate to the one client device. If the public key certificate is valid, the one client device stores the public key certificate, acquires a public key from the public key certificate, and obtains a predetermined content from the content distribution server. Obtaining a signature value, obtaining unique information of the predetermined content from the content signature value based on the public key, and storing a content corresponding to the unique information An inquiry as to whether or not there is another client device is sent to the cache index server.If there is the other client device, the content is obtained from the other client device, and unique information corresponding to the content is obtained. Calculating and comparing the unique information with the unique information obtained from the content distribution server to determine the authenticity of the content, and when the content is true, outputs the content and stores it in the cache storage device. .
[0015]
According to still another distributed cooperative content distribution system of the present invention, a content, unique information for specifying the content, a content signature value obtained by a public key encryption method, and a public key certificate in which a public key is guaranteed by a third party. Content distribution server for distributing a certificate, a client device including a cache storage device for storing the obtained content and a public key certificate store for storing the obtained public key certificate, and unique information corresponding to each of the content. And a cache index server having a cache index database for storing data relating to the client device, and a public key certificate store for storing the obtained public key certificate, and obtaining, storing and validating the public key certificate. A public key certificate verification server for performing verification.
[0016]
In still another distributed cooperative content distribution system of the present invention, one client device transmits the public key distribution request to a public key certificate management verification server, and the public key certificate server A key is obtained and verified, a valid public key is transmitted to the one client device, and the one client device obtains a content signature value of predetermined content from the content distribution server, and obtains a content signature value based on the public key. Determining the unique information of the predetermined content from the content signature value, transmitting an inquiry to the cache index server as to whether or not there is another client device that stores the content corresponding to the unique information, If there is a device, the content is obtained from the other client device, and the content corresponding to the content is acquired. Calculating the information, comparing the unique information with the unique information obtained from the content distribution server to determine the authenticity of the content, and when the content is true, outputs the content and sends it to the cache storage device. Store.
[0017]
In still another distributed cooperative content distribution system according to the present invention, the client device stores the content in the cache storage device after it is determined that the acquired content is true.
[0018]
In still another distributed cooperative content distribution system of the present invention, the client device stores the content in the cache storage device according to the name, type, and the like of the content.
[0019]
In still another distributed cooperative content distribution system according to the present invention, the cache index server may further include, when there are a plurality of other client devices that store predetermined content requested by one client device, the other client device. A list obtained by rearranging the device list according to a predetermined algorithm is transmitted to the one client device, and the one client device attempts to acquire contents in the order of the rearranged list.
[0020]
In still another distributed cooperative content distribution system according to the present invention, the cache index server deletes predetermined information from a cache index database according to a request from the client device.
[0021]
In still another distributed cooperative content distribution system according to the present invention, the client device may further include a request when a storage amount of the content stored in the cache storage device exceeds a condition determined by an administrator of the client device. Send to the cache index server.
[0022]
In still another distributed cooperative content distribution system according to the present invention, the client device deletes the content from the cache storage device according to a request from the cache index server.
[0023]
In still another distributed cooperative content distribution system according to the present invention, the cache index server periodically checks the use frequency of the cache index database and transmits a request to delete the content whose use frequency is low.
[0024]
In still another distributed cooperative content distribution system according to the present invention, the cache index server transmits a request to delete content that is used less frequently when the amount of cached data exceeds a predetermined condition.
[0025]
In still another distributed cooperative content distribution system according to the present invention, the cache index server transmits a request to delete a content whose unique information is older among registered contents having the same name and type.
[0026]
In still another distributed cooperative content distribution system according to the present invention, the cache index server further includes a case where another client device that stores the predetermined content requested by one client device is not included in the cache index database. Query other cache index servers.
[0027]
In still another distributed cooperative content distribution system according to the present invention, the unique information is a hash value.
[0028]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0029]
FIG. 1 is a diagram showing a configuration of a distributed cooperative content distribution system according to the first embodiment of the present invention.
[0030]
As shown in the figure, the distributed cooperative content distribution system 10 in the present embodiment has a content distribution server 11a and a content distribution server 11b as web servers. It should be noted that the content distribution server may be singular or plural, and the number is arbitrary. However, in the present embodiment, for the sake of explanation, all the content distribution servers 11a and 11b Represents a content distribution server. When the content distribution server 11a and the content distribution server 11b are described in an integrated manner, the content distribution server 11 will be described. Here, the content distribution server 11 is a computer including arithmetic means such as a CPU and an MPU, storage means such as a magnetic disk and a semiconductor memory, a communication interface, and the like. The content distribution server 11 may exist independently, may be a part of another device such as a large computer, or may be a distributed type in which a plurality of servers are organically coupled. It may be a server.
[0031]
The content distribution server 11a and the content distribution server 11b store data such as the content 12a and the content 12b, and the hash value 13a and the hash value 13b for specifying the content 12a and the content 12b, respectively, in the storage unit. And distributes the data in response to a request from. Here, the content 12a and the content 12b are, for example, web pages, character data, audio data such as music, image data such as videos and photographs, software, and the like, but may be of any type. The content 12a and the content 12b may be singular or plural, and the number is arbitrary. The hash value 13a and the hash value 13b correspond to the content 12a and the content 12b, respectively. When the contents 12a and 12b and the hash values 13a and 13b are described in an integrated manner, they are described as the contents 12 and the hash value 13.
[0032]
Incidentally, the hash value 13 is a pseudo-random number generated by a hash function based on input data, and is fixed-length data uniquely determined for the original data. In this case, if the original data is modified even by one bit, the generated hash value 13 becomes different. Then, even if the original data is a content having a large data amount, the hash value 13 is a fixed length data having a small data amount. A digital signature for preventing data tampering is usually realized by a combination of a public key encryption technique and a hash function. Commonly used hash functions include MD2, MD5, SHA1, and the like.
[0033]
In addition, reference numeral 14 denotes the Internet as an external network, but any type of network may be used, such as a LAN (Local Area Network) or a WAN (Wide Area Network). The content distribution server 11 is connected to the Internet 14 and can distribute the data such as the content 12 and the hash value 13 via the Internet 14.
[0034]
Reference numeral 16 denotes an intranet as an internal network, to which a cache index server 17, a client device 20a, a client device 20b, and the like are connected. The intranet 16 is connected to the Internet 14 via a router 15. Here, the router 15 does not output communication data between devices connected to the intranet 16 to the Internet 14, and transmits communication data between a device connected to the intranet 16 and a device connected to the Internet 14. , And plays a role of selecting and relaying an appropriate route. The router 15 is generally called a router device.
[0035]
Here, the client device may be singular or plural, and the number is arbitrary. However, in the present embodiment, for convenience of explanation, the client devices 20a and 20b are connected to all the client devices. To represent. When the client device 20a and the client device 20b are described in an integrated manner, the client device 20 will be described as the client device 20. The client device 20 is a computer including a computing unit such as a CPU and an MPU, a storage unit such as a magnetic disk and a semiconductor memory, a display unit such as a CRT and a liquid crystal display, and a communication interface. It is an information terminal, but may be of any type. The client device 20a and the client device 20b function as a cache for storing the downloaded content 12, and include a cache storage device 21a and a cache storage device 21b, respectively. Here, the cache storage device 21a and the cache storage device 21b may be a part of the storage device of the client device 20a and the client device 20b, or all or one of the external storage devices such as a so-called external hard disk device. Department. When the cache storage device 21a and the cache storage device 21b are described in an integrated manner, the cache storage device 21 will be described as the cache storage device 21. In the present embodiment, the content 12 downloaded by the client device 20 accessing the content distribution server 11 is temporarily stored in the cache storage device 21.
[0036]
Further, the cache index server 17 is a computer including an arithmetic unit such as a CPU and an MPU, a storage unit such as a magnetic disk and a semiconductor memory, a communication interface, and the like. May be a part of an apparatus such as a large computer, or a distributed server in which a plurality of servers are organically combined. The cache index server 17 is for centrally managing cache index data such as the name of the client device 20 functioning as a cache of the content 12 acquired from the content distribution server 11, and includes a cache index database 19. Here, the cache index database 19 may be a part of the storage means of the cache index server 17, or may be all or a part of an external storage means such as a so-called external hard disk device. In the present embodiment, the cache index server 17 returns a cache index of the content 12 in response to a distribution request of the content 12.
[0037]
Next, the contents of the cache index database 19 will be described.
[0038]
FIG. 2 is a diagram showing the contents of the cache index database according to the first embodiment of the present invention.
[0039]
As shown in the figure, the cache index database 19 stores, as cache index data, a content name (for example, a URL (Uniform Resource Locator) name), a hash algorithm as a hash function, a hash value 13, and the content 12 in a cache storage device. Information such as the client device name (eg, the IP address or host name of the client device 20) stored in the storage device 21, the registration date and time as the date and time when the content 12 was stored in the cache storage device 21, and the total number of times the content 12 is used are stored. Have been. The name of the client device that stores the content 12 in the cache storage device 21 may include the names of a plurality of client devices 20.
[0040]
Next, the operation of the distributed cooperative content distribution system 10 having the above configuration will be described.
[0041]
First, an operation until the client device 20a and the client device 20b acquire the content 12 will be described.
[0042]
FIG. 3 is a first flowchart showing an operation until the client device of the distributed cooperative content distribution system according to the first embodiment of the present invention acquires the content, and FIG. 4 is a flowchart showing the operation of the first embodiment of the present invention. 9 is a second flowchart illustrating an operation until a client device of the distributed cooperative content distribution system acquires content.
[0043]
In this case, the cache index data of the client device 20a that acquires the content 12 from now on, the client device 20b that already holds the cache, and the client device 20 connected to the intranet 16 including the client device 20a and the client device 20b. 2 shows the flow of processing between the cache index server 17 that centrally manages the content and the content distribution server 11 that stores the content 12 and the hash value 13.
[0044]
First, the client device 20a transmits a distribution request of the hash value 13 corresponding to the content 12 to be acquired to the content distribution server 11.
[0045]
Next, the content distribution server 11 transmits the hash value 13 and the hash algorithm to the client device 20a. If the hash value 13 is obtained in advance by a hash algorithm as a hash function, since the hash value 13 has a small data amount and a short transmission time, the time required for the content distribution server 11 to respond to one client device 20a And the processing can be completed in a very short time. That is, the burden on the content distribution server 11 in this processing is light.
[0046]
Subsequently, the client device 20a confirms whether or not the content 12 having the same name and type as the content 12 and having the same hash value 13 is stored in its own cache storage device 21a. When the content 12 is stored in the cache storage device 21a, the content 12 is displayed (or operated) on a display unit by a browser function.
[0047]
If the content is not stored in the cache storage device 21a, the client device 20a stores in the cache index server 17 a content having the same name as the content 12 and the same hash value 13 in another client device 20. An existence check request for checking whether or not the information is registered is transmitted to the cache index server 17.
[0048]
When the cache index server 17 receives the existence confirmation request, the cache index server 17 searches its own cache index database 19 to determine whether or not a content having the same name as the content 12 and the same hash value 13 is registered. If it is registered, the cache index server 17 returns the name of the client device storing the corresponding content 12 in the cache storage device 21 to the client device 20a. If it has not been registered, it notifies the client device 20a that it has not been registered. If there are a plurality of client devices storing the corresponding content 12 in the cache storage device 21, all client device names may be returned. The method of replying in this case will be described later. As described above, since the cache index server 17 only returns the name of the client device storing the corresponding content 12 in the cache storage device 21, the time for responding to the client device 20a is shortened, and the time is extremely short. Can be completed. That is, the load on the cache index server 17 in this process becomes light.
[0049]
Next, when the client device 20a receives the name of the client device that stores the corresponding content 12 in the cache storage device 21 from the cache index server 17, whether or not the client device 20b as the client device is running is determined. Judge. In this case, for example, it is possible to determine whether or not the client device 20b is running by using an Internet protocol called ICMP (Internet Control Message Protocol: RFC792 / RFC1812).
[0050]
Then, when the client device 20b is activated, the client device 20a transmits a distribution request for the content 12 stored in the cache storage device 21b to the client device 20b. Subsequently, the client device 20b distributes the content 12 stored in the cache storage device 21b to the client device 20a.
[0051]
Subsequently, the client device 20a obtains a hash value 13 of the content 12 received from the client device 20b, and compares the hash value 13 with the hash value 13 obtained from the content distribution server 11 to determine the authenticity of the content 12. If the two hash values 13 match, the content received from the client device 20b is true, that is, the content 12, and the content 12 is output. Display (or operate).
[0052]
Further, when the same name as the content 12 and the same hash value 13 are not registered in another client device 20, when the client device 20b is not activated, and when both the hash values 13 Do not match, the client device 20a transmits a distribution request for the content 12 to the content distribution server 11. Subsequently, the content distribution server 11 transmits the content 12 to the client device 20a. Since it is not necessary to perform the next process after the display processing of the content 12 is completely completed, the display processing of the content 12 and the subsequent processing may be performed in parallel.
[0053]
Next, upon displaying the content 12 received from the client device 20b or the content distribution server 11, the client device 20a determines whether to store the content 12 in its own cache storage device 21a according to a preset condition. . Details of this processing content will be described later.
[0054]
Then, when the above condition is satisfied, the client device 20a transmits the hash value 13 and the hash algorithm to the cache index server 17, and applies for registration of the content 12. Subsequently, the cache index server 17 that has received the registration application performs additional registration in the cache index database 19. Note that, even if a content having the same name as the content 12 is already registered, if the respective hash values are different, the cache index server 17 determines that the content 12 has been updated and has already been registered. Data related to content can also be deleted.
[0055]
Subsequently, the client device 20a stores the content 12 in the cache storage device 21a, and ends a series of processing.
[0056]
Next, the flowchart will be described.
Step S1 The client device 20a transmits a distribution request for the hash value 13 to be obtained to the content distribution server 11.
Step S2: The content distribution server 11 transmits the hash value 13 and the hash algorithm to the client device 20a.
Step S3: The client device 20a determines whether or not the corresponding content 12 having the same hash value 13 exists in its own cache storage device 21a. If it is in the cache storage device 21a, the process proceeds to step S4.
Step S4: The client device 20a displays (or operates) the content 12 on a browser or the like.
Step S5: The client device 20a transmits an existence confirmation request to the cache index server 17 as to whether or not the corresponding content 12 having the same hash value 13 is registered in another client device 20.
Step S6: The cache index server 17 determines whether or not the corresponding content 12 is registered in the cache index database 19. If registered, the process proceeds to step S7, and if not registered, the process proceeds to step S8.
Step S7: The cache index server 17 transmits to the client device 20a the name of the client device that stores the corresponding content 12 in the cache.
Step S8: The cache index server 17 transmits “no registration” to the client device 20a.
Step S9: The client device 20a determines whether or not the client device 20b holding the corresponding content 12 is running. If the client device 20b holding the corresponding content 12 is running, the process proceeds to step S10. If the client device 20b holding the corresponding content 12 is not running, the process proceeds to step S14.
Step S10: The client device 20a transmits a distribution request for the content 12 stored in the cache storage device 21b. .
Step S11: The client device 20b transmits the content 12 held in the cache storage device 21b to the client device 20a.
Step S12: The client device 20a checks the received hash value 13.
Step S13: The client device 20a determines whether or not the hash values 13 match. If they match, the process proceeds to step S16. If they do not match, the process proceeds to step S14.
Step S14: The client device 20a requests the content distribution server 11 to transmit the content 12.
Step S15: The content distribution server 11 transmits the content 12 to the client device 20a.
Step S16: The client device 20a displays (or operates) the received content 12.
Step S17: The client device 20a determines whether or not the condition for storing the content 12 in the cache storage device 21a is satisfied. When the condition is satisfied, the process proceeds to step S18, and when the condition is not satisfied, the process ends.
Step S18: The client device 20a makes an application for registration of the content 12 to the cache index server 17.
Step S19: The cache index server 17 additionally registers in the cache index database 19.
Step S20: The client device 20a stores the content 12 in the cache storage device 21a, and ends the processing.
[0057]
Next, a case where there are a plurality of client devices 20 storing the same content 12 in the cache storage device 21 will be described.
[0058]
In this case, when there is a plurality of other client devices 20 storing the predetermined content 12 requested by a certain client device 20, the cache index server 17 sorts the list of the other client devices 20 according to a predetermined algorithm. The list is transmitted to the client device 20, and the client device 20 tries to acquire the contents 12 in the order of the sorted list. That is, in step S6, when a plurality of client devices 20 storing the content 12 corresponding to the cache index database 19 in the cache storage device 21 are registered, the cache index server 17 transmits the client device 20a to the client device 20a. The list of names is randomly rearranged or regularly shifted each time so that access is not always concentrated on a specific client device 20.
[0059]
Then, the client device 20a attempts to acquire the content 12 from the client device 20 listed first in the list of client device names received from the cache index server 17, and if there is no response within a predetermined time, the next Attempt to acquire the content 12 from the client device 20.
[0060]
Next, conditions for determining whether to store the content 12 in its own cache storage device 21a will be described.
[0061]
In this case, since the content 12 is reused in other client devices 20, the content 12 must not include personal information.
[0062]
Therefore, for example, conditions are set such that the personal information (prohibited word) is not included in the content name, and the keyboard is not used in the operation until the content 12 is obtained. The prohibited word is registered in advance.
[0063]
In addition, as the simplest method, there is a method in which only a content name having no argument is targeted. For example, in the case of HTTP, it can be determined whether or not the content name has an argument. That is, if the content name is http: // www. aaa. bbb. ccc. In the case of html, there is no argument, and the content name is http: // www. aaa. bbb. ccc. If html & userid = 1234..., there is an argument.
[0064]
Further, it may be set so as not to be saved depending on the type or data format of the content 12.
[0065]
Next, an operation of deleting the content 12 stored in the cache storage device 21 in order to suppress an infinite increase in the content 12 stored in the cache storage device 21 will be described.
[0066]
In this case, in order to delete the content 12 stored in the cache storage device 21, a method of deleting the content according to an instruction from the client device 20 (for example, when a certain amount of content is accumulated (accumulated)) and a cache index server There are two methods of deleting with the instruction of 17 (when the old content 12 exists, when the content 12 is updated, etc.).
[0067]
In the present embodiment, the two methods described above can be performed simultaneously.
[0068]
Next, an operation of deleting the content 12 stored in the cache storage device 21 according to an instruction from the client device 20 will be described.
[0069]
FIG. 5 is a flowchart showing an operation of deleting content stored in the cache storage device according to an instruction of the client device according to the first embodiment of the present invention.
[0070]
In this case, the cache index server 17 deletes predetermined information from the cache index database 19 according to a request from the client device 20. Note that this processing is started when new content 12 is acquired. Specifically, this is after the processing of step S19 in FIG. 4 has been completed.
[0071]
First, it is determined whether or not the total amount of the contents 12 stored in the cache storage device 21 of the client device 20 itself is equal to or more than a predetermined threshold value. The threshold can be freely set by the administrator of the client device 20.
[0072]
If it is smaller than the threshold value, the process ends. If the value is equal to or larger than the threshold value, the client device 20 transmits an index deletion request to the cache index server 17. Subsequently, when the cache index server 17 receives the index deletion request, the cache index server 17 deletes the cache index data of the corresponding content 12 from the cache index server 17 (only the client device name when other client devices 20 are also registered). Then, an index deletion result as a result of the deletion is transmitted to the client device 20.
[0073]
Next, upon receiving the index deletion result from the cache index server 17, the client device 20 deletes the content 12 stored in its own cache storage device 21 and ends the processing.
[0074]
Next, the flowchart will be described.
Step S21: The client device 20 determines whether or not the total amount of the contents 12 in the cache storage device 21 is equal to or larger than a threshold. If it is equal to or greater than the threshold, the process proceeds to step S22, and if it is smaller than the threshold, the process ends.
Step S22: The client device 20 transmits an index deletion request to the cache index server 17.
Step S23: The cache index server 17 deletes the information of the corresponding content from the cache index database 19.
Step S24: The cache index server 17 transmits the index deletion result to the client device 20.
Step S25: The client device 20 deletes the content 12 from the cache storage device 21, and ends the processing.
[0075]
Next, an operation of deleting the content 12 stored in the cache storage device 21 according to an instruction from the cache index server 17 will be described.
[0076]
FIG. 6 is a flowchart showing the operation of deleting the content stored in the cache storage device according to the instruction of the cache index server in the first embodiment of the present invention.
[0077]
In this case, the cache index server 17 periodically checks the frequency of use of the cache index database 19, and transmits a request to delete the content 12 with a low frequency of use. This process is executed at a cycle determined by the administrator of the cache index server 17.
[0078]
First, the cache index server 17 searches its own cache index database 19 and determines whether there is any content 12 whose usage frequency is equal to or less than a certain number or an updated content 12.
[0079]
The content 12 whose usage frequency is equal to or less than a certain number includes the elapsed time tx from the date and time of first registration to the present, the total number of usages n of the content 12, the usage frequency threshold ft, and the non-deletion period te [registration] The period in which the content 12 that has just been created is not subject to deletion]]
Condition: If tx> te and n / tx <ft, delete target
It becomes.
[0080]
In addition, the determination condition of the updated content 12 is to search for the same content name having a different hash value 13 and to delete the one having the oldest registration date and time.
[0081]
When there is the content 12 to be deleted, the cache index server 17 deletes the cache index data from its own cache index database 19.
[0082]
Next, the cache index server 17 transmits a content deletion request to all the client devices 20 storing the content 12 to be deleted, and each client device 20 deletes the content 12 from its own cache storage device 21. . For example, the cache index server 17 transmits the content deletion request again after a certain period of time to the client device 20 that has failed to receive the content deletion request due to the power-off of the client device 20 or the like. In addition, when the number of registered data exceeds a certain number, the data that is used less frequently is deleted.
[0083]
Next, the flowchart will be described.
Step S31: The cache index server 17 determines whether there is any content whose usage frequency is equal to or less than a certain number or the updated content 12. If there is the content 12 whose usage frequency is equal to or less than the certain number or the updated content 12, the process proceeds to step S32. If there is no content 12 whose usage frequency is equal to or less than the certain number or the updated content 12, the process ends.
Step S32: The cache index server 17 deletes the registered contents from the cache index database 19.
Step S33: The cache index server 17 transmits a content deletion request to the client device 20.
Step S34: Each client device 20 deletes the content 12 from the cache storage device 21.
Step S35: The client device 20 transmits a deletion end to the cache index server 17.
Step S36: The cache index server 17 determines whether or not a content deletion request has been transmitted to all the client devices 20 having the content 12 to be deleted. When the content deletion request has been transmitted to all the client devices 20, the process is terminated, and when the content deletion request has not been transmitted to all the client devices 20, the process returns to step S33.
[0084]
As described above, in the present embodiment, the frequently used content 12 can be obtained directly from many client devices 20. Therefore, the load on the content distribution server 11 to which access has been concentrated is reduced, and the time required for acquiring the content 12 can be reduced.
[0085]
Further, even in an environment where the content of the content 12 changes irregularly, the content of the content 12 can be confirmed by the hash value 13, so that the communication processing with each content distribution server 11 can be shortened.
[0086]
Furthermore, since a means for confirming whether or not the content 12 obtained from another client device 20 is correct is provided, it is possible to prevent the display of the unauthorized content 12.
[0087]
Next, by adding a function of more strictly verifying the content distribution server 11 itself and the hash value 13, the number of processes is larger than in the first embodiment, but the reliability of the content body can be increased. A second embodiment of the present invention will be described. In addition, about what has the same structure as 1st Embodiment, the description is abbreviate | omitted by attaching the same code | symbol.
[0088]
FIG. 7 is a diagram showing a configuration of a distributed cooperative content distribution system according to the second embodiment of the present invention.
[0089]
As shown in the figure, the content distribution server 11a and the content distribution server 11b in the present embodiment store the content 12a and the content 12b, the content signature value 33a and the content signature value obtained by the public key encryption method in the storage unit, respectively. 33b, data such as a public key certificate 34a and a public key certificate 34b that certify the public key of the content distribution server 11a and the content distribution server 11b by a third party (CA) are stored. The content signature value 33a and the content signature value 33b are based on a hash value (MD5, SHA1, or the like) of the raw data of the content 12a or the content 12b based on a public key encryption method (for example, RSA or DSA). Created with its own private key. Note that the content signature value 33a and the content signature value 33b can be obtained in advance. Further, in the present embodiment, as a specific example of the public key certificate 34a and the public key certificate 34b, the most general X.264 certificate is used. 509 public key certificate will be described as an example. When the content signature value 33a and the content signature value 33b and the public key certificate 34a and the public key certificate 34b are described in an integrated manner, the content signature value 33 and the public key certificate 34 will be described.
[0090]
The client device 20a and the client device 20b have a cache storage device 21a and a cache storage device 21b, respectively, and have a public key certificate store 22a storing the public key certificate 34a and the public key certificate 34b. Each has a book store 22b. The public key certificate store 22a and the public key certificate store 22b are provided so that the public key certificate 34a and the public key certificate 34b do not have to be obtained from the content distribution server 11a and the content distribution server 11b each time. Provided. When the public key certificate store 22a and the public key certificate store 22b are described in an integrated manner, the public key certificate store 22 will be described.
Further, a public key certificate verification server 37 for verifying the validity of the public key certificate 34 is connected to the intranet 16. The public key certificate verification server 37 performs verification on behalf of whether the public key certificate 34 is valid. Verification means the expiration date of the public key certificate 34, determination of whether or not the public key certificate 34 is listed on a revocation list (CRL) published by the source (CA), This is verification of items such as a determination as to whether the signature of the transmission source (CA) attached to 34 is correct (this may be performed only when newly acquired from the content distribution server 11). Known public examples of the public key certificate verification server 37 include XKMS (http://www.w3.org/TR/xkms/), OCSP (Online Certificate Status Protocol: RFC2560), and SCVP (Simple Certificate). Validation Protocol).
[0091]
Next, the operation of the distributed cooperative content distribution system having the above configuration will be described.
[0092]
First, an operation until the client device 20a acquires the content 12 will be described.
[0093]
FIG. 8 is a flowchart showing an operation until a client device of the distributed cooperative content distribution system according to the second embodiment of the present invention acquires content.
[0094]
First, the client device 20a determines whether or not the public key certificate 34a of the content distribution server 11a to be accessed is stored in its own public key certificate store 22a, and the client device 20a stores the public key certificate 34a in the public key certificate store 22a. If not, a distribution request for the public key certificate 34a is transmitted to the content distribution server 11a. When receiving the distribution request for the public key certificate 34a from the client device 20a, the content distribution server 11a transmits its own public key certificate 34a to the client device 20a.
[0095]
When the public key certificate 34a of the content distribution server 11a is stored in its own public key certificate store 22a, the client device 20a sends a request for verification of the public key certificate 34a of the target content distribution server 11a. It is transmitted to the public key certificate verification server 37.
[0096]
Next, the public key certificate verification server 37 verifies the public key certificate 34a, and returns the verification result to the client device 20a. Subsequently, the client device 20a that has received the verification result of the public key certificate 34a determines whether the public key certificate 34a is valid based on the verification result. If the public key certificate 34a is not valid, the client device 20a deletes the public key certificate 34a from the public key certificate store 22a and acquires a new public key certificate 34a again from the content distribution server 11a. . If the public key certificate 34a is valid, the client device 20a adds the public key certificate 34a to its own public key certificate store 22a. The client device 20a acquires a public key from the public key certificate 34a.
[0097]
Subsequently, the client device 20a transmits a distribution request for the content signature value 33a to the content distribution server 11a. Upon receiving the distribution request, the content distribution server 11a transmits the content signature value 33a to the client device 20a.
[0098]
Next, the client device 20a obtains the hash value of the content 12a from the content signature value 33a based on the public key obtained from the public key certificate 34a.
Note that the subsequent operation is the same as in the first embodiment, and a description thereof will be omitted.
[0099]
Next, the flowchart will be described.
Step S41: The client device 20a determines whether or not the public key certificate 34a of the content distribution server 11a is stored. If possessed, the process proceeds to step S44; otherwise, the process proceeds to step S42.
Step S42: The client device 20a transmits a distribution request for the public key certificate 34a of the content distribution server 11a to the content distribution server 11a.
Step S43: The content distribution server 11a transmits the public key certificate 34a of the content distribution server 11a to the client device 20a.
Step S44: The client device 20a requests the public key certificate verification server 37 to verify the public key certificate 34a.
Step S45: The public key certificate verification server 37 verifies the public key certificate 34a.
Step S46: The public key certificate verification server 37 transmits the verification result of the public key certificate 34a to the client device 20a.
Step S47: The client device 20a determines whether or not the public key certificate 34a is valid based on the verification result of the public key certificate 34a. When the public key certificate 34a is valid, the process proceeds to step S49, and when the public key certificate 34a is not valid, the process proceeds to step S48.
Step S48: The client device 20a deletes the public key certificate 34a stored therein, and returns to step S41.
Step S49: The client device 20a adds the public key certificate 34a to the public key certificate store 22a.
Step S50: The client device 20a requests the content signature value 33a from the content distribution server 11a.
Step S51: The content distribution server 11a transmits the content signature value 33a to the client device 20a.
Step S52: The client device 20a acquires a hash value from the content signature value 33a.
[0100]
Thus, in the present embodiment, the content distribution server 11 itself and the hash value can be more strictly verified. However, the processing amount of the content distribution server 11 increases compared to the first embodiment.
[0101]
Also, only the secret key stored in the correct content distribution server 11 can create the correct content signature value 33a. Therefore, even if another device is impersonating the server that distributes the fake content, the hash value obtained with the public key of the public key certificate 34a from the content signature value 33a created by the device that distributed the fake content is , Because it does not match the hash value of the fake content.
[0102]
By the way, in the second embodiment, the public key certificate 34 of the content distribution server 11 is obtained and stored by the client device 20, but as another embodiment, the public key certificate management verification server A third embodiment of the present invention in which a public key certificate of a distribution server is obtained and stored will be described. In addition, about what has the same structure as 1st and 2nd embodiment, the description is abbreviate | omitted by attaching | subjecting the same code | symbol.
[0103]
FIG. 9 is a diagram showing a configuration of a distributed cooperative content distribution system according to the third embodiment of the present invention.
[0104]
In the present embodiment, a public key certificate management verification server 47 is connected to the intranet 16 instead of the public key certificate verification server 37 in the second embodiment. As shown in the figure, the public key certificate management verification server 47 includes a public key certificate store 48 for storing the public key certificate 34 of the content distribution server 11. When the public key certificate management verification server 47 receives a public key request from the content distribution server 11 specified by the client device 20a, the public key certificate management verification server 47 obtains and stores the corresponding public key certificate 34, and Verification of whether the certificate 34 is valid is performed instead. If the public key certificate 34 is valid, the public key is transmitted to the client device 20a. As a publicly known specific example of the public key certificate management verification server 47, there is XKMS (http://www.w3.org/TR/xkms/).
[0105]
Next, the operation of the distributed cooperative content distribution system having the above configuration will be described.
[0106]
First, an operation until the client device 20a acquires the content 12 will be described.
[0107]
FIG. 10 is a flowchart showing an operation until a client device of the distributed cooperative content distribution system according to the third embodiment of the present invention acquires content.
[0108]
First, the client device 20a requests the public key certificate management verification server 47 to acquire the public key of the content distribution server 41 owning the content 12a to be acquired. Then, the public key certificate management verification server 47 determines whether or not the requested public key certificate 34a of the content distribution server 41 is in its own public key certificate store 48. If not, it requests the public key certificate 34a from the content distribution server 41 and sends the public key certificate 34a.
[0109]
Next, the public key certificate management verification server 47 verifies the received public key certificate 34a. If it is determined from the verification result of the public key certificate 34a that the public key certificate 34a is invalid, the public key certificate management verification server 47 converts the public key certificate 34a into a public key certificate. Then, the public key certificate 34a is deleted from the content store 48, and a new public key certificate 34a is obtained from the content distribution server 41 again.
[0110]
If it is determined that the public key certificate 34a is valid, the public key certificate management verification server 47 adds the public key certificate 34a to its own public key certificate store 48, and verifies the verified public key certificate. The public key in the certificate 34a is transmitted to the client device 20a.
[0111]
Next, the client device 20a transmits a request for the content signature value 33a to the content distribution server 41. Upon receiving the request for the content signature value 33a, the content distribution server 41 transmits the content signature value 33a to the client device 20a. Then, the client device 20a obtains a hash value of the content from the content signature value 33a based on the received public key. Note that the subsequent operation is the same as in the first embodiment, and a description thereof will be omitted.
[0112]
Next, the flowchart will be described.
Step S61: The client device 20a requests the public key certificate management verification server 47 for the public key of the content distribution server 41.
Step S62: The public key certificate management verification server 47 determines whether or not the public key certificate 34a of the content distribution server 41 is owned. If so, the process proceeds to step S65, and if not, the process proceeds to step S63.
Step S63: The public key certificate management verification server 47 requests the content distribution server 41 for the public key certificate 34a of the content distribution server 41.
Step S64: The content distribution server 41 transmits the public key certificate 34a of the content distribution server 41 to the public key certificate management verification server 47.
Step S65: The public key certificate management verification server 47 verifies the public key certificate 34a.
Step S66: The public key certificate management verification server 47 determines whether the public key certificate 34a is valid based on the verification result of the public key certificate 34a. When the public key certificate 34a is valid, the process proceeds to step S68, and when the public key certificate 34a is not valid, the process proceeds to step S67.
Step S67: The public key certificate management verification server 47 deletes the public key certificate 34a stored therein, and returns to step S62.
Step S68: The public key certificate management verification server 47 adds the public key certificate 34a to the public key certificate store 48.
Step S69: The public key certificate management verification server 47 transmits the public key to the client device 20a.
Step S70: The client device 20a requests the content distribution server 41 for the content signature value 33a.
Step S71: The content distribution server 41 transmits the content signature value 33a to the client device 20a.
Step S72: The client device 20a acquires a hash value from the content signature value 33a.
[0113]
As described above, in the present embodiment, the client device 20 can delegate the acquisition and verification of the public key to another device, so that the processing load on the client device 20 is reduced as compared with the second embodiment. Can be reduced.
[0114]
Next, when the content 12 is not stored in the storage means of the client device 20 of the intranet 16 under the management of the cache index server 17, an inquiry is made to the cache index server 17 of another network 14. An embodiment will be described. In addition, about what has the same structure as 1st Embodiment, the description is abbreviate | omitted by attaching the same code | symbol.
[0115]
FIG. 11 is a diagram showing a configuration of a distributed cooperative content distribution system according to the fourth embodiment of the present invention.
[0116]
As shown in the figure, in the present embodiment, two intranets 16a and 16b are connected to the Internet 14. Here, the intranet 16a and the intranet 16b have the same configuration as the intranet 16 in the first embodiment, and the same devices are connected. That is, a cache index server 17a, a client device 20a, and a client device 20b are connected to the intranet 16a, and a cache index server 17b, a client device 20c, and a client device 20d are connected to the intranet 16b. The intranet 16a and the intranet 16b are connected to the Internet 14 via the router 15a and the router 15b, respectively. In addition, the thing with the same number in the provided code | symbol has the same structure.
[0117]
Next, the operation of the distributed cooperative content distribution system having the above configuration will be described.
[0118]
First, an operation until the client device 20a acquires the content will be described.
[0119]
FIG. 12 is a flowchart showing an operation until the client device of the distributed cooperative content distribution system according to the fourth embodiment of the present invention acquires content.
[0120]
Here, the operation until the client device 20a transmits the existence confirmation request to the cache index server 17a is the same as that of the first embodiment, and the description is omitted. The client device 20a transmits a presence confirmation request to the cache index server 17a on the same intranet 16a.
[0121]
Then, the cache index server 17a searches its own cache index database 19a, and if a client device 20 that stores the corresponding content 12 in the cache storage device 21 is registered, transmits the client device name to the client device 20a. I do. Then, the client device 20a performs the operation after step S9 in the first embodiment.
[0122]
If the client device 20 is not registered, the cache index server 17a transmits an inquiry to the cache index server 17b connected to another intranet 16b. Then, the cache index server 17b searches its own cache index database 19b, and if a client device 20 that stores the corresponding content 12 in the cache storage device 21 is registered, the client device name is stored in the cache index server 17a. Send. When the client device is not registered, the cache index server 17b transmits a notification to that effect to the cache index server 17a.
[0123]
Next, the cache index server 17a receives the result of the inquiry from the cache index server 17b. When the client device 20 connected to the intranet 16b stores the corresponding content 12, the client device 20 transmits the client device name to the client device 20a. If the client device has not been registered, the result of no registration is transmitted to the cache index server 17a. Note that the subsequent operation is the same as in the first embodiment, and a description thereof will be omitted.
[0124]
Next, the flowchart will be described.
Step S81: The client device 20a transmits an existence confirmation request of the corresponding content to the cache index server 17a.
Step S82: The cache index server 17a determines whether or not the client device 20 owning the corresponding content exists in the cache index database 19a. If it exists, the process proceeds to step S83. If it does not exist, the process proceeds to step S84.
Step S83: The cache index server 17a transmits the name of the client device storing the corresponding content 12 in the cache storage device 21 to the client device 20a.
Step S84: The cache index server 17a transmits an inquiry to another cache index server 17b.
Step S85: The cache index server 17b determines whether or not the client device 20 owning the corresponding content 12 exists in the cache index database 19b. If it exists, the process proceeds to step S86; otherwise, the process proceeds to step S87.
Step S86: The cache index server 17b transmits the name of the client device storing the relevant content 12 in the cache storage device 21 to the cache index server 17a.
Step S87: The cache index server 17b transmits to the cache index server 17a that there is no client device name storing the corresponding content in the cache storage device 21.
Step S88: The cache index server 17a receives a query result from another cache index server.
Step S89: The cache index server 17a determines whether or not the client device owning the corresponding content is registered in another cache index server 17. If it has been registered, the process returns to step S83, and if it has not been registered, the process proceeds to step S90.
Step S90: The cache index server 17a transmits “no registration” to the client device 20a.
[0125]
As described above, in the present embodiment, the range of the client devices 20 registered in the cache index database 19 is expanded, so that the number of times of content transmission from the content distribution server 11 can be further reduced. Load can be reduced.
[0126]
In the first to fourth embodiments, the target content 12 is, for example, a web page, character data, audio data such as music, video data, image data such as a photograph, software, and the like. It may be of any type. In addition, communication between the devices may be performed by encrypted communication such as SSL or IPsec. Further, the cache index server 17 may be composed of a plurality of servers for backup of the cache index database 19 and load distribution.
[0127]
In the second embodiment, the case where the public key certificate verification server 37 performs the verification of the public key certificate has been described. In the case where the client device 20 possesses the information, each client device 20 may perform the operation independently.
[0128]
In the second and third embodiments, the verification result can be used not every time if the policy of the source of the public key certificate verification permits, but within a period determined by the source. . For example, the previous verification result may be used until the next transmission date of the revocation list (CRL).
[0129]
FIG. 13 is a diagram showing another configuration of the distributed cooperative content distribution system according to the fourth embodiment of the present invention.
[0130]
Furthermore, in the fourth embodiment, only two cache index servers 17 are linked, but three or more cache index servers may be linked. Further, as shown in FIG. 13 as a connection form, intranets may be directly connected to each other.
[0131]
It should be noted that the present invention is not limited to the above-described embodiment, but can be variously modified based on the gist of the present invention, and they are not excluded from the scope of the present invention.
[0132]
【The invention's effect】
As described above in detail, according to the present invention, in a distributed cooperative content distribution system, the load on the content distribution server can be reduced even in an environment where contents change irregularly, and the client device It is possible to confirm whether or not the contents stored in the cache of the client device have been illegally changed, and other client devices can access only the cache device of the client device.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration of a distributed cooperative content distribution system according to a first embodiment of the present invention.
FIG. 2 is a diagram showing contents of a cache index database according to the first embodiment of the present invention.
FIG. 3 is a first flowchart illustrating an operation until a client device of the distributed cooperative content distribution system according to the first embodiment of the present invention acquires content.
FIG. 4 is a second flowchart illustrating an operation of the client device of the distributed cooperative content distribution system according to the first embodiment of the present invention until the client device acquires the content.
FIG. 5 is a flowchart illustrating an operation of deleting content stored in a cache storage device according to an instruction of a client device according to the first embodiment of the present invention.
FIG. 6 is a flowchart illustrating an operation of deleting a content stored in a cache storage device according to an instruction of a cache index server in the first embodiment of the present invention.
FIG. 7 is a diagram illustrating a configuration of a distributed cooperative content distribution system according to a second embodiment of the present invention.
FIG. 8 is a flowchart showing an operation until a client device of the distributed cooperative content distribution system acquires content in the second embodiment of the present invention.
FIG. 9 is a diagram showing a configuration of a distributed cooperative content distribution system according to a third embodiment of the present invention.
FIG. 10 is a flowchart showing an operation until a client device of the distributed cooperative content distribution system according to the third embodiment of the present invention acquires content.
FIG. 11 is a diagram illustrating a configuration of a distributed cooperative content distribution system according to a fourth embodiment of the present invention.
FIG. 12 is a flowchart illustrating an operation until a client device of a distributed cooperative content distribution system obtains content according to a fourth embodiment of the present invention.
FIG. 13 is a diagram showing another configuration of the distributed cooperative content distribution system according to the fourth embodiment of the present invention.
[Explanation of symbols]
10 Distributed cooperative content distribution system
11, 11a, 11b, 41 Content distribution server
12, 12a, 12b content
13, 13a, 13b Hash value
17, 17a, 17b Cache index server
19, 19a, 19b Cache index database
20, 20a, 20b, 20c, 20d Client device
21, 21a, 21b, 21c, 21d Cache storage device
22, 22a, 22b, 48 Public key certificate store
33, 33a, 33b Content signature value
34, 34a, 34b Open Key Certificate
37 Public Key Certificate Verification Server
47 Public key certificate management verification server

Claims (17)

(a)コンテンツ及び該コンテンツを特定する固有情報を配信するコンテンツ配信サーバと、
(b)取得した前記コンテンツを格納するキャッシュ記憶装置を備えるクライアント装置と、
(c)前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバとを有することを特徴とする分散協調型コンテンツ配信システム。
(A) a content distribution server that distributes content and unique information that specifies the content;
(B) a client device including a cache storage device that stores the acquired content;
(C) a distributed cooperative content distribution system, comprising: a cache index server having a cache index database that stores unique information corresponding to each of the contents and data relating to a client device.
一のクライアント装置は、前記コンテンツ配信サーバから所定のコンテンツに対応する固有情報を取得し、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する請求項1に記載の分散協調型コンテンツ配信システム。One client device acquires unique information corresponding to predetermined content from the content distribution server, and inquires of the cache index server whether there is another client device that stores the content corresponding to the unique information. Transmitting, when there is the other client device, acquiring the content from the other client device, calculating unique information corresponding to the content, and combining the unique information with the unique information acquired from the content distribution server. The distributed cooperative content distribution system according to claim 1, wherein the content is compared to determine whether the content is true, and when the content is true, the content is output and stored in a cache storage device. (a)コンテンツ、該コンテンツを特定する固有情報、公開鍵暗号方式によって求めたコンテンツ署名値、及び、公開鍵を第三者が保証した公開鍵証明書を配信するコンテンツ配信サーバと、
(b)取得した前記コンテンツを格納するキャッシュ記憶装置及び取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備えるクライアント装置と、
(c)前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバと、
(d)前記公開鍵証明書の有効性の検証を行う公開鍵証明書検証サーバとを有することを特徴とする分散協調型コンテンツ配信システム。
(A) a content distribution server that distributes a content, unique information for identifying the content, a content signature value obtained by a public key encryption method, and a public key certificate in which a public key is guaranteed by a third party;
(B) a client device including a cache storage device for storing the obtained content and a public key certificate store for storing the obtained public key certificate;
(C) a cache index server including a cache index database for storing unique information corresponding to each of the contents and data relating to the client device;
(D) A distributed cooperative content distribution system, comprising: a public key certificate verification server that verifies the validity of the public key certificate.
(a)一のクライアント装置は、所定のコンテンツ配信サーバの公開鍵証明書を格納していない場合、該公開鍵証明書を前記コンテンツ配信サーバから取得し、前記公開鍵証明書の有効性検証の依頼を前記公開鍵証明書サーバに送信し、
(b)該公開鍵証明書サーバは前記公開鍵証明書の検証結果を前記一のクライアント装置に送信し、
(c)該一のクライアント装置は、前記公開鍵証明書が有効である場合、該公開鍵証明書を格納し、該公開鍵証明書から公開鍵を取得し、前記コンテンツ配信サーバから所定のコンテンツのコンテンツ署名値を取得し、前記公開鍵に基づいて前記コンテンツ署名値から前記所定のコンテンツの固有情報を求め、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する請求項3に記載の分散協調型コンテンツ配信システム。
(A) When the client device does not store the public key certificate of the predetermined content distribution server, the client device acquires the public key certificate from the content distribution server and checks the validity of the public key certificate. Sending a request to the public key certificate server,
(B) the public key certificate server transmits a verification result of the public key certificate to the one client device;
(C) if the public key certificate is valid, the one client device stores the public key certificate, acquires a public key from the public key certificate, and obtains a predetermined content from the content distribution server. And obtains unique information of the predetermined content from the content signature value based on the public key, and inquires whether there is another client device that stores the content corresponding to the unique information. To the cache index server, if there is the other client device, obtain the content from the other client device, calculate the unique information corresponding to the content, from the unique information and the content distribution server The authenticity of the content is determined by comparing the acquired unique information with the acquired unique information. Distributed Cooperative content distribution system according to claim 3, stored in the cache memory outputs the tool.
(a)コンテンツ、該コンテンツを特定する固有情報、公開鍵暗号方式によって求めたコンテンツ署名値、及び、公開鍵を第三者が保証した公開鍵証明書を配信するコンテンツ配信サーバと、
(b)取得した前記コンテンツを格納するキャッシュ記憶装置及び取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備えるクライアント装置と、
(c)前記コンテンツのそれぞれに対応する固有情報及びクライアント装置に関するデータを格納するキャッシュインデックスデータベースを備えたキャッシュインデックスサーバと、
(d)取得した前記公開鍵証明書を格納する公開鍵証明書ストアを備え、前記公開鍵証明書の取得、保管及び有効性の検証を行う公開鍵証明書検証サーバとを有することを特徴とする分散協調型コンテンツ配信システム。
(A) a content distribution server that distributes a content, unique information for identifying the content, a content signature value obtained by a public key encryption method, and a public key certificate in which a public key is guaranteed by a third party;
(B) a client device including a cache storage device for storing the obtained content and a public key certificate store for storing the obtained public key certificate;
(C) a cache index server including a cache index database for storing unique information corresponding to each of the contents and data relating to the client device;
(D) a public key certificate store for storing the obtained public key certificate, and a public key certificate verification server for obtaining, storing and validating the public key certificate. Distributed cooperative content distribution system.
(a)一のクライアント装置は、前記公開鍵の配信要求を公開鍵証明書管理検証サーバに送信し、
(b)該公開鍵証明書サーバは前記公開鍵の取得及び検証を行い、有効な公開鍵を前記一のクライアント装置に送信し、
(c)該一のクライアント装置は、前記コンテンツ配信サーバから所定のコンテンツのコンテンツ署名値を取得し、前記公開鍵に基づいて前記コンテンツ署名値から前記所定のコンテンツの固有情報を求め、該固有情報に対応するコンテンツを格納する他のクライアント装置があるか否かの問合せを前記キャッシュインデックスサーバに送信し、前記他のクライアント装置がある場合、該他のクライアント装置から前記コンテンツを取得し、該コンテンツに対応する固有情報を算出し、該固有情報と前記コンテンツ配信サーバから取得した固有情報とを比較して前記コンテンツの真偽判定を行い、前記コンテンツが真である場合、該コンテンツを出力するとともにキャッシュ記憶装置に格納する請求項5に記載の分散協調型コンテンツ配信システム。
(A) one client device transmits the public key distribution request to a public key certificate management verification server,
(B) the public key certificate server acquires and verifies the public key, transmits a valid public key to the one client device,
(C) the one client device obtains a content signature value of predetermined content from the content distribution server, obtains unique information of the predetermined content from the content signature value based on the public key, and obtains the unique information. Sends to the cache index server an inquiry as to whether there is another client device that stores the content corresponding to the content, and if there is the other client device, obtains the content from the other client device; Is calculated, and the authenticity of the content is determined by comparing the unique information with the unique information acquired from the content distribution server. If the content is true, the content is output. 6. The distributed cooperative content distribution system according to claim 5, wherein the content distribution system stores the contents in a cache storage device. Temu.
前記クライアント装置は、取得したコンテンツが真であることが判定された後に、前記コンテンツを前記キャッシュ記憶装置に格納する請求項1〜6のいずれか1項に記載の分散協調型コンテンツ配信システム。The distributed cooperative content distribution system according to claim 1, wherein the client device stores the content in the cache storage device after determining that the acquired content is true. 前記クライアント装置は、前記コンテンツの名称、種類等に応じて前記コンテンツを前記キャッシュ記憶装置に格納する請求項1〜6のいずれか1項に記載の分散協調型コンテンツ配信システム。The distributed cooperative content distribution system according to claim 1, wherein the client device stores the content in the cache storage device according to a name, a type, and the like of the content. 前記キャッシュインデックスサーバは、一のクライアント装置が要求する所定のコンテンツを格納する他のクライアント装置が複数である場合、該他のクライアント装置の一覧を所定のアルゴリズムに従って並べ替えた一覧を前記一のクライアント装置に送信し、前記一のクライアント装置は、前記並べ替えた一覧の順番にコンテンツの取得を試みる請求項1〜6のいずれか1項に記載の分散協調型コンテンツ配信システム。The cache index server, when there are a plurality of other client devices that store predetermined content requested by one client device, sorts the list of the other client devices according to a predetermined algorithm into the one client device. The distributed cooperative content distribution system according to any one of claims 1 to 6, wherein the content is transmitted to a device, and the one client device tries to acquire the content in the order of the sorted list. 前記キャッシュインデックスサーバは、前記クライアント装置の要求に従って、キャッシュインデックスデータベースの中から所定の情報を削除する請求項1〜6のいずれか1項に記載の分散協調型コンテンツ配信システム。The distributed cooperative content distribution system according to any one of claims 1 to 6, wherein the cache index server deletes predetermined information from a cache index database according to a request from the client device. 前記クライアント装置は、キャッシュ記憶装置が格納するコンテンツの記憶量が前記クライアント装置の管理者が定めた条件を超えた場合に要求を前記キャッシュインデックスサーバに送信する請求項10に記載の分散協調型コンテンツ配信システム。The distributed cooperative content according to claim 10, wherein the client device transmits a request to the cache index server when a storage amount of the content stored in the cache storage device exceeds a condition determined by an administrator of the client device. Delivery system. 前記クライアント装置は、前記キャッシュインデックスサーバの要求に従って、キャッシュ記憶装置からコンテンツを削除する請求項1〜6のいずれか1項に記載の分散協調型コンテンツ配信システム。The distributed cooperative content distribution system according to claim 1, wherein the client device deletes the content from the cache storage device according to a request from the cache index server. 前記キャッシュインデックスサーバは、定期的にキャッシュインデックスデータベースの利用頻度を調べ、利用頻度が低いコンテンツを削除する要求を送信する請求項12に記載の分散協調型コンテンツ配信システム。13. The distributed cooperative content distribution system according to claim 12, wherein the cache index server periodically checks the use frequency of the cache index database and transmits a request to delete the content whose use frequency is low. 前記キャッシュインデックスサーバは、キャッシュされたデータ量が定めた条件を超えた場合に利用頻度が低いコンテンツを削除する要求を送信する請求項12に記載の分散協調型コンテンツ配信システム。13. The distributed cooperative content distribution system according to claim 12, wherein the cache index server transmits a request to delete a content whose usage frequency is low when the amount of cached data exceeds a predetermined condition. 前記キャッシュインデックスサーバは、名称、種類等が同じ登録済のコンテンツのうち固有情報がより古いコンテンツを削除する要求を送信する請求項12に記載の分散協調型コンテンツ配信システム。13. The distributed cooperative content distribution system according to claim 12, wherein the cache index server transmits a request for deleting content having older unique information from registered content having the same name, type, and the like. 前記キャッシュインデックスサーバは、一のクライアント装置が要求する所定のコンテンツを格納する他のクライアント装置がキャッシュインデックスデータベースに含まれていない場合、他のキャッシュインデックスサーバに問い合わせる請求項1〜6のいずれか1項に記載の分散協調型コンテンツ配信システム。7. The cache index server according to claim 1, wherein when another client device that stores the predetermined content requested by one client device is not included in the cache index database, the cache index server queries another cache index server. 8. A distributed cooperative content distribution system according to the section. 前記固有情報は、ハッシュ値である請求項1〜16のいずれか1項に記載の分散協調型コンテンツ配信システム。The distributed cooperative content distribution system according to any one of claims 1 to 16, wherein the unique information is a hash value.
JP2002350697A 2002-12-03 2002-12-03 Dispersed cooperative content delivery system Withdrawn JP2004185263A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002350697A JP2004185263A (en) 2002-12-03 2002-12-03 Dispersed cooperative content delivery system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002350697A JP2004185263A (en) 2002-12-03 2002-12-03 Dispersed cooperative content delivery system

Publications (1)

Publication Number Publication Date
JP2004185263A true JP2004185263A (en) 2004-07-02

Family

ID=32752834

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002350697A Withdrawn JP2004185263A (en) 2002-12-03 2002-12-03 Dispersed cooperative content delivery system

Country Status (1)

Country Link
JP (1) JP2004185263A (en)

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006103800A1 (en) 2005-03-29 2006-10-05 Brother Kogyo Kabushiki Kaisha Information processing device and storage device, information processing method and storing method, and information processing program and program for storage device
JP2006277337A (en) * 2005-03-29 2006-10-12 Brother Ind Ltd Information processor, information processing method, and information processing program
JP2007034630A (en) * 2005-07-26 2007-02-08 Brother Ind Ltd Information distribution system, registration device, information processor, registration program and information processing program
JP2007305025A (en) * 2006-05-15 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> Replica control method using principle of living body, enclosure equipped with the same, and its program
JP2008507919A (en) * 2004-07-21 2008-03-13 クゥアルコム・インコーポレイテッド Method and apparatus for hybrid multimedia presentation
WO2008107993A1 (en) * 2007-03-08 2008-09-12 Pioneer Corporation Video contents reproducing method and system
JP2009518995A (en) * 2005-12-06 2009-05-07 リッパーシイ・セレッシャル・エルエルシイ Digital object title authentication
JP2009537909A (en) * 2006-05-16 2009-10-29 アベニュー インク Rule-based caching for packet-based data transfer
JP2009259265A (en) * 2006-07-19 2009-11-05 Panasonic Corp System for managing distributed files
JP2010505201A (en) * 2006-09-29 2010-02-18 マイクロソフト コーポレーション Secure peer-to-peer cache sharing
JP2010238161A (en) * 2009-03-31 2010-10-21 Brother Ind Ltd Node device, node processing program, information communication system, and content data management method
US7870422B2 (en) 2006-12-27 2011-01-11 International Business Machines Corporation Apparatus and method for backing up data on server using at least one cache as a client
JP2011525278A (en) * 2008-06-19 2011-09-15 マイクロソフト コーポレーション Method and system for reducing network traffic using local host cache and cryptographic hash functions
US8055780B2 (en) 2006-09-12 2011-11-08 Konica Minolta Holdings, Inc. Method of managing information and information processing apparatus
US8195764B2 (en) 2005-01-13 2012-06-05 Brother Kogyo Kabushiki Kaisha Information delivery system, delivery request program, transfer program, delivery program, and the like
US8194701B2 (en) 2005-12-06 2012-06-05 Lippershy Celestial Llc System and/or method for downstream bidding
JP2014035601A (en) * 2012-08-07 2014-02-24 Kddi Corp Server device, communication device, and program
WO2015052968A1 (en) * 2013-10-08 2015-04-16 ソニー株式会社 Server device, client device, information processing method, and recording medium
JP2015514274A (en) * 2012-04-05 2015-05-18 マイクロソフト コーポレーション Cache management
WO2015166680A1 (en) * 2014-04-30 2015-11-05 ソニー株式会社 Client device, server, recording medium and information processing method
JP2016116100A (en) * 2014-12-16 2016-06-23 Kddi株式会社 Management server, content sharing system, and content sharing method

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008507919A (en) * 2004-07-21 2008-03-13 クゥアルコム・インコーポレイテッド Method and apparatus for hybrid multimedia presentation
US8195764B2 (en) 2005-01-13 2012-06-05 Brother Kogyo Kabushiki Kaisha Information delivery system, delivery request program, transfer program, delivery program, and the like
JP2006277337A (en) * 2005-03-29 2006-10-12 Brother Ind Ltd Information processor, information processing method, and information processing program
JP4635682B2 (en) * 2005-03-29 2011-02-23 ブラザー工業株式会社 Information processing apparatus, information processing method, and information processing program
US8190779B2 (en) 2005-03-29 2012-05-29 Brother Kogyo Kabushiki Kaisha Information processing apparatus and storing apparatus, information processing method and storing method, and recording medium that promptly and efficiently distributes content
WO2006103800A1 (en) 2005-03-29 2006-10-05 Brother Kogyo Kabushiki Kaisha Information processing device and storage device, information processing method and storing method, and information processing program and program for storage device
JP2007034630A (en) * 2005-07-26 2007-02-08 Brother Ind Ltd Information distribution system, registration device, information processor, registration program and information processing program
US7886037B2 (en) 2005-07-26 2011-02-08 Brother Kogyo Kabushiki Kaisha Information distribution system, registration apparatus, information processing apparatus, recording medium having registration program memorized in it, and storage medium having information processing program memorized in it
JP4661429B2 (en) * 2005-07-26 2011-03-30 ブラザー工業株式会社 Information distribution system, information processing apparatus, information processing program, and information processing method
JP2009518995A (en) * 2005-12-06 2009-05-07 リッパーシイ・セレッシャル・エルエルシイ Digital object title authentication
US8194701B2 (en) 2005-12-06 2012-06-05 Lippershy Celestial Llc System and/or method for downstream bidding
JP4590651B2 (en) * 2006-05-15 2010-12-01 日本電信電話株式会社 Replication control method, system and program
JP2007305025A (en) * 2006-05-15 2007-11-22 Nippon Telegr & Teleph Corp <Ntt> Replica control method using principle of living body, enclosure equipped with the same, and its program
JP2009537909A (en) * 2006-05-16 2009-10-29 アベニュー インク Rule-based caching for packet-based data transfer
JP2009259265A (en) * 2006-07-19 2009-11-05 Panasonic Corp System for managing distributed files
US8055780B2 (en) 2006-09-12 2011-11-08 Konica Minolta Holdings, Inc. Method of managing information and information processing apparatus
JP4762347B2 (en) * 2006-09-29 2011-08-31 マイクロソフト コーポレーション Secure peer-to-peer cache sharing
JP2010505201A (en) * 2006-09-29 2010-02-18 マイクロソフト コーポレーション Secure peer-to-peer cache sharing
US7870422B2 (en) 2006-12-27 2011-01-11 International Business Machines Corporation Apparatus and method for backing up data on server using at least one cache as a client
WO2008107993A1 (en) * 2007-03-08 2008-09-12 Pioneer Corporation Video contents reproducing method and system
US9747340B2 (en) 2008-06-19 2017-08-29 Microsoft Technology Licensing, Llc Method and system of using a local hosted cache and cryptographic hash functions to reduce network traffic
JP2011525278A (en) * 2008-06-19 2011-09-15 マイクロソフト コーポレーション Method and system for reducing network traffic using local host cache and cryptographic hash functions
JP2010238161A (en) * 2009-03-31 2010-10-21 Brother Ind Ltd Node device, node processing program, information communication system, and content data management method
JP2015514274A (en) * 2012-04-05 2015-05-18 マイクロソフト コーポレーション Cache management
US10198462B2 (en) 2012-04-05 2019-02-05 Microsoft Technology Licensing, Llc Cache management
JP2014035601A (en) * 2012-08-07 2014-02-24 Kddi Corp Server device, communication device, and program
WO2015052968A1 (en) * 2013-10-08 2015-04-16 ソニー株式会社 Server device, client device, information processing method, and recording medium
JPWO2015052968A1 (en) * 2013-10-08 2017-03-09 ソニー株式会社 Server apparatus, client apparatus, information processing method, and recording medium
US10509826B2 (en) 2013-10-08 2019-12-17 Sony Corporation Server device, client device, information processing method, and recording medium
US10171613B2 (en) 2014-04-30 2019-01-01 Sony Corporation Client device, server, recording medium and information processing method
WO2015166680A1 (en) * 2014-04-30 2015-11-05 ソニー株式会社 Client device, server, recording medium and information processing method
JP2016116100A (en) * 2014-12-16 2016-06-23 Kddi株式会社 Management server, content sharing system, and content sharing method

Similar Documents

Publication Publication Date Title
JP2004185263A (en) Dispersed cooperative content delivery system
US11281805B2 (en) Distributed blockchain-based method for saving the location of a file
US7500099B1 (en) Method for mitigating web-based “one-click” attacks
US8959336B1 (en) Securing locally stored web-based database data
US20180139056A1 (en) Apparatus and method to perform secure data sharing in a distributed network by using a blockchain
US7437551B2 (en) Public key infrastructure scalability certificate revocation status validation
KR100781725B1 (en) Method and system for peer-to-peer authorization
CA2327078C (en) Secure session management and authentication for web sites
US7533269B2 (en) Digital-signed digital document exchange supporting method and information processor
JP2022508138A (en) Systems and methods implemented by computers that store data on the blockchain
US7966491B2 (en) Protection of the distribution of digital documents in a peer to peer network
JP4474845B2 (en) Authentication infrastructure system with CRL issue notification function
US7100045B2 (en) System, method, and program for ensuring originality
JP2004102951A (en) Network system
KR20090086276A (en) Metadata broker
Lee et al. Firmware verification of embedded devices based on a blockchain
JP5347429B2 (en) Uniform resource locator rewriting method and apparatus
WO2000046681A9 (en) Content certification
JPWO2005004386A1 (en) Authentication device
JP4162578B2 (en) Audit apparatus and audit method for auditing electronic notification
US20060047662A1 (en) Capability support for web transactions
CN107026828A (en) A kind of anti-stealing link method cached based on internet and internet caching
CN113300848B (en) Method and device for determining certificate state
JP2004171524A (en) Service providing device, service providing method, service providing program and recording medium
JP2000172645A (en) Server computer and certificate information managing method for the same

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060207