(57)【要約】【課題】  配信サーバ等のコンピュータにおけるキャッシュ領域を、直接参照することなく推定することを可能とする。【解決手段】  各配信サーバ３ａ〜３ｄから各クライアント２ａ，２ｂに、予め定められた量のデータ（ブロックデータ）が配信される毎に各クライアントにおいて配信時刻と先頭オフセット値および終了オフセット値をコンテンツ識別情報に対応付けたブロック情報を生成し、そのブロック情報をデータ送受信部１ａにおいて取得し、データベース１ｃにおいて記憶しておき、キャッシュ割り当て模擬部１ｂにおいて、予め定められた契機で指定されたコンテンツに対応する各ブロック情報を読み出し、読み出した各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで当該サーバコンピュータにおいてキャッシュされているデータを求める。【選択図】        図１
2005346547.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにおいてキャッシュされているデータを特定するシステムであって、
予め定められた量のデータ（ブロックデータ）が読み出されるごとの読み出し開始から終了までの任意のリード時刻および先頭オフセット値と終了オフセット値を取得し各々を対応付けブロック情報として記憶する手段と、
予め定められた契機で上記記憶した各ブロック情報を読み出し、該各ブロック情報を用いて当該コンピュータのキャッシュ入れ替えアルゴリズムを模擬することで該コンピュータにおいてキャッシュされているデータを求める手段と
を有することを特徴とするキャッシュ推定システム。
【請求項２】
コンテンツを配信するサーバコンピュータにおいてキャッシュされているデータを特定するシステムであって、
予め定められた量のデータ（ブロックデータ）が配信されるごとの配信時刻と先頭オフセット値および終了オフセット値を取得しコンテンツ識別情報に対応付けブロック情報として記憶する第１の手段と、
予め定められた契機で指定されたコンテンツに対応する各ブロック情報を読み出し、該各ブロック情報を用いて、当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで該サーバコンピュータにおいてキャッシュされているデータを求める第２の手段と
を有することを特徴とするキャッシュ推定システム。
【請求項３】
ネットワークを介してクライアントコンピュータにコンテンツを配信するサーバコンピュータにおいてキャッシュされているデータを特定するシステムであって、
上記サーバコンピュータから上記クライアントコンピュータに、予め定められた量のデータ（ブロックデータ）が配信されるごとの配信時刻と先頭オフセット値および終了オフセット値を取得しコンテンツ識別情報に対応付けブロック情報として記憶する第１の手段と、
予め定められた契機で指定されたコンテンツに対応する各ブロック情報を読み出し、該各ブロック情報を用いて、当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで該サーバコンピュータにおいてキャッシュされているデータを求める第２の手段と
を有することを特徴とするキャッシュ推定システム。
【請求項４】
請求項３に記載のキャッシュ推定システムであって、
上記ブロック情報は上記クライアントコンピュータで生成され、上記第１の手段は、該クライアントコンピュータから上記ネットワークを介して上記ブロック情報を取得することを特徴とするキャッシュ推定システム。
【請求項５】
請求項４に記載のキャッシュ推定システムであって、
上記第１の手段は、予め時刻同期された複数のクライアントコンピュータから上記ネットワークを介して上記ブロック情報を取得し、
上記第２の手段は、各クライアントコンピュータからの各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することを特徴とするキャッシュ推定システム。
【請求項６】
請求項３に記載のキャッシュ推定システムであって、
上記ブロック情報は上記サーバコンピュータで生成され、
上記第１の手段は、予め時刻同期された複数のサーバコンピュータから上記ネットワークを介して上記ブロック情報を取得し、
上記第２の手段は、各サーバコンピュータからの各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することを特徴とするキャッシュ推定システム。
【請求項７】
請求項２から請求項６のいずれかに記載のキャッシュ推定システムであって、
上記アルゴリズムはＬＲＵであり、
上記第２の手段は、
上記ブロック情報における配信時刻が新しい順に、各ブロックデータの終了オフセットと開始オフセットとの差からなる当該ブロックデータのサイズを求めて合計する手段と、
合計サイズが、上記サーバコンピュータのキャッシュ可能最大サイズに達した時刻を境界時刻として求める手段と、
該境界時刻よりも新しい配信時刻のブロックデータが、当該サーバコンピュータにおいてキャッシュされていると判断する手段と
を有することを特徴とするキャッシュ推定システム。
【請求項８】
請求項２から請求項７のいずれかに記載のキャッシュ推定システムであって、
上記配信時刻として、各データ配信の開始時刻と終了時刻および該終了時刻と上記開始時刻との間の任意の時刻のいずれかを用いることを特徴とするキャッシュ推定システム。
【請求項９】
コンピュータを、請求項１から請求項８のいずれかに記載のキャッシュ推定システムにおける各手段として機能させるためのプログラム。
【請求項１０】
１つのクライアントコンピュータに複数の配信サーバコンピュータから同じコンテンツを分割して配信するシステムであって、
請求項２から請求項８のいずれかに記載のキャッシュ推定システムで当該コンテンツのデータをキャッシュしているとされるサーバコンピュータを特定する手段と、
特定したサーバコンピュータを当該コンテンツの配信元として優先して選択する手段と
を有することを特徴とするコンテンツ配信システム。
【請求項１１】
コンピュータにおいてキャッシュされているデータを、ダンプ処理することなく特定する方法であって、
予め定められた量のデータ（ブロックデータ）が読み出されるごとの読み出し開始から終了までの任意のリード時刻および先頭オフセット値と終了オフセット値を取得し各々を対応付けてブロック情報として記憶装置に記憶するステップと、
予め定められた契機で上記記憶装置から各ブロック情報を読み出し、該各ブロック情報を用いて当該コンピュータのキャッシュ入れ替えアルゴリズムを模擬することで該コンピュータにおいてキャッシュされているデータを求めるステップと
を有することを特徴とするキャッシュ推定方法。
【請求項１２】
コンテンツを配信するサーバコンピュータにおいてキャッシュされているデータを、ダンプ処理することなく特定する方法であって、
予め定められた量のデータ（ブロックデータ）が配信されるごとの配信時刻と先頭オフセット値および終了オフセット値を取得しコンテンツ識別情報に対応付けブロック情報として記憶する第１のステップと、
予め定められた契機で指定されたコンテンツに対応する各ブロック情報を読み出し、該各ブロック情報を用いて、当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで該サーバコンピュータにおいてキャッシュされているデータを求める第２のステップと
を有することを特徴とするキャッシュ推定方法。
【請求項１３】
ネットワークを介してクライアントコンピュータにコンテンツを配信するサーバコンピュータにおいてキャッシュされているデータを、ダンプ処理することなく特定する方法であって、
上記サーバコンピュータから上記クライアントコンピュータに、予め定められた量のデータ（ブロックデータ）が配信されるごとの配信時刻と先頭オフセット値および終了オフセット値を取得しコンテンツ識別情報に対応付けブロック情報として記憶する第１のステップと、
予め定められた契機で指定されたコンテンツに対応する各ブロック情報を読み出し、該各ブロック情報を用いて、当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで該サーバコンピュータにおいてキャッシュされているデータを求める第２のステップと
を有することを特徴とするキャッシュ推定方法。
【請求項１４】
請求項１３に記載のキャッシュ推定方法であって、
上記ブロック情報は上記クライアントコンピュータで生成され、上記第１のステップでは、該クライアントコンピュータから上記ネットワークを介して上記ブロック情報を取得することを特徴とするキャッシュ推定方法。
【請求項１５】
請求項１４に記載のキャッシュ推定方法であって、
上記第１のステップでは、予め時刻同期された複数のクライアントコンピュータから上記ネットワークを介して上記ブロック情報を取得し、
上記第２のステップでは、各クライアントコンピュータからの各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することを特徴とするキャッシュ推定方法。
【請求項１６】
請求項１３に記載のキャッシュ推定方法であって、
上記ブロック情報は上記サーバコンピュータで生成され、
上記第１のステップでは、予め時刻同期された複数のサーバコンピュータから上記ネットワークを介して上記ブロック情報を取得し、
上記第２のステップでは、各サーバコンピュータからの各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することを特徴とするキャッシュ推定方法。
【請求項１７】
請求項１２から請求項１６のいずれかに記載のキャッシュ推定方法であって、
上記アルゴリズムはＬＲＵであり、
上記第２のステップは、
上記ブロック情報における配信時刻が新しい順に、各ブロックデータの終了オフセットと開始オフセットとの差からなる当該ブロックデータのサイズを求めて合計するステップと、
合計サイズが、上記サーバコンピュータのキャッシュ可能最大サイズに達した時刻を境界時刻として求めるステップと、
該境界時刻よりも新しい配信時刻のブロックデータが、当該サーバコンピュータにおいてキャッシュされていると判断するステップと
からなることを特徴とするキャッシュ推定方法。
【請求項１８】
請求項１２から請求項１７のいずれかに記載のキャッシュ推定方法であって、
上記配信時刻として、各データ配信の開始時刻と終了時刻および該終了時刻と上記開始時刻との間の任意の時刻のいずれかを用いることを特徴とするキャッシュ推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータにおいてキャッシュされているデータを、ダンプ処理することなく推定する技術に係わり、特に、インターネット等を介してコンテンツの配信を行うサーバ（配信サーバ）においてキャッシュ（ページキャッシュ）されているデータを効率的に推定するのに好適な技術に関するものである。
【背景技術】
【０００２】
従来、ハードディスク等の補助記憶装置から読み出されたデータをサーバ装置（コンピュータ）の主記憶メモリの一部や外付けＲＡＭ、高速バッファメモリ等のキャッシュメモリに保存しておき、そのデータを再び利用する際に、ハードディスク装置からデータを読まずに、キャッシュ上のデータを直接読むことで高速化を図るキャッシュ技術がある。
【０００３】
例えば、特許文献１に記載のように、インターネット等を介してコンテンツの配信を行うサーバ（配信サーバ）においても、クライアントからのデータ配信要求に対して、配信すべきデータが主記憶上のキャッシュメモリに存在すれば、このキャッシュメモリのデータを配信することで高速化を図ることができる。キャッシュメモリに存在しない場合は、データをハードディスクから読み出して配信するが、当該データをキャッシュメモリに配置してから配信し、次の当該データの要求に対してはキャッシュメモリからの高速な配信ができる。
【０００４】
配信サーバのキャッシュメモリにどのようなデータが存在するかを推定する、すなわち、配信サーバでページキャッシュされているデータを推定するには、配信サーバのメモリ内容をディスク装置等にダンプ（書き出し）して、ページキャッシュされているデータを調査する技術が存在する。
【０００５】
しかし、このように、メモリダンプを行う技術では、配信サーバのメモリ上の全データを読み出してディスク装置に書き込む必要があり、配信サーバへの負荷が大きくなってしまう。また、全メモリの読み出し、ディスク装置への書き込み、ダンプデータの分析には時間がかかるため、推定完了時に得られるページキャッシュに関するデータは既に過去データとなってしまっていて、推定データの利用時には配信サーバのキャッシュデータが入れ替わっている可能性がある。
【０００６】
【特許文献１】特開２００４−６２３８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
解決しようとする問題点は、従来の技術では、配信サーバ等のコンピュータのメモリ上の全データを読み出してハードディスク装置に書き込まなければ、当該コンピュータ（配信サーバ）においてキャッシュ（ページキャッシュ）されているデータを推定することができない点である。
【０００８】
本発明の目的は、これら従来技術の課題を解決し、コンピュータにおけるキャッシュ状況を、外部から推定可能とし、配信サーバ等に一切の負荷をかけること無くページキャッシュ領域を推定可能とすることである。
【課題を解決するための手段】
【０００９】
上記目的を達成するため、本発明では、インターネットを介してコンテンツを配信する配信サーバ等のコンピュータにおいてキャッシュされているデータを特定するために、予め定められた量のデータ（ブロックデータ）が読み出されるごとの読み出し開始から終了までの任意の時刻および先頭オフセット値と終了オフセット値を取得し各々を対応付けブロック情報として記憶しておき、予め定められた契機で記憶した各ブロック情報を読み出し、各ブロック情報を用いて当該コンピュータのキャッシュ入れ替えアルゴリズムを模擬することで当該コンピュータにおいてキャッシュされているデータを求めることを特徴とする。例えば、コンテンツを配信するサーバコンピュータにおいてキャッシュされているデータを特定する場合は、予め定められた量のデータ（ブロックデータ）が配信されるごとに、例えばクライアントコンピュータあるいはサーバコンピュータ側で記録された、その配信時刻と先頭オフセット値および終了オフセット値を、ネットワークを介して取得し、コンテンツ識別情報に対応付けブロック情報として記憶装置に記憶しておき、予め定められた契機で指定されたコンテンツに対応する各ブロック情報を記憶装置から読み出し、読み出した各ブロック情報を用いて、当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで当該サーバコンピュータにおいてキャッシュされているデータを求める。例として、アルゴリズムがＬＲＵ（Least Recently Used）であれば、当該コンテンツに関連する各ブロック情報における配信時刻が新しい順に、各ブロックデータの終了オフセットと開始オフセットとの差からなる当該ブロックデータのサイズを求めて合計し、この合計サイズが、当該サーバコンピュータのキャッシュ可能最大サイズに達した時刻を境界時刻として求め、この境界時刻よりも新しい配信時刻のブロックデータが、当該サーバコンピュータにおいてキャッシュされていると判断する。これにより、コンテンツ等の配信を行うサーバ（配信サーバ）においてキャッシュされているデータ（ページキャッシュ）を推定する際、配信サーバのメモリ情報を、ハードディスク等にダンプしてメモリ情報を直接参照することなく推定できる。
【発明の効果】
【００１０】
本発明によれば、配信サーバ等のコンピュータにおけるキャッシュ領域を、直接参照することなく推定することが可能であり、配信サーバ等に一切の負荷をかけること無くキャッシュ領域を推定することが可能である。特に、本発明は、特開２００４−１２６９１２号公報における分割ダウンロードに有効である。また、このようなキャッシュ領域の推定技術を、１つのクライアントコンピュータに複数の配信サーバコンピュータから同じコンテンツを分割して配信するコンテンツ配信システムに適用することにより、配信対象のコンテンツデータをキャッシュしているとされるサーバコンピュータを特定することができ、この特定したサーバコンピュータを当該コンテンツの配信元として優先して選択することにより、高速なコンテンツ配信が可能となる。
【発明を実施するための最良の形態】
【００１１】
以下、図を用いて本発明を実施するための最良の形態例を説明する。
【実施例】
【００１２】
図１は、本発明に係わるキャッシュ推定システムの構成例を示すブロック図であり、図２は、本発明に係わるキャッシュ推定システムを設けたコンテンツ配信システムの構成例を示すブロック図、図３は、本発明に係わるキャッシュ推定システムで用いるブロック情報の構成例を示す説明図、図４は、本発明に係わるキャッシュ推定システムでの処理手順例を示す説明図である。
【００１３】
図１においては、本発明に係わるキャッシュ推定システムとしてのキャッシュ領域推定装置１の構成例が示されており、このキャッシュ領域推定装置１は、ＣＰＵ（Central Processing Unit）や主メモリ、表示装置、入力装置、外部記憶装置からなるコンピュータ構成からなり、光ディスク駆動装置等を介してＣＤ−ＲＯＭ等の記憶媒体に記録されたプログラムやデータを外部記憶装置内にインストールした後、この外部記憶装置から主メモリに読み込みＣＰＵで処理することにより、各処理部、すなわち、データ送受信部１ａ、キャッシュ割り当て模擬部１ｂ、データベース１ｃの機能を実行する。
【００１４】
このような構成において、キャッシュ領域推定装置１は、データ送受信部１ａにより、図示していないコンピュータにおいて予め定められた量のデータ（ブロックデータ）が読み出されるごとの読み出し開始から終了までの任意のリード時刻および先頭オフセット値と終了オフセット値を取得し、各々を対応付けブロック情報としてデータベース１ｃにおいて記憶する。
【００１５】
そして、キャッシュ割り当て模擬部１ｂにより、予め定められた契機で、データベース１ｃで記憶した各ブロック情報を読み出し、各ブロック情報を用いて当該コンピュータのキャッシュ入れ替えアルゴリズム（例えばＬＲＵ：Least Recently Used）を模擬することで当該コンピュータにおいてキャッシュされているデータを求め、当該コンピュータにおいてキャッシュされているデータを特定する。
【００１６】
以下、その具体的な動作例を、図２に示す構成のコンテンツ配信システムを例に説明する。
【００１７】
図２において、２ａ，２ｂはクライアント（コンピュータ）、３ａ〜３ｄは配信サーバ（コンピュータ）であり、クライアント２ａ，２ｂと配信サーバ３ａ〜３ｄはインターネットを介して接続され、クライアント２ａ，２ｂからの要求に応じて配信サーバ３ａ〜３ｄからコンテンツを配信する。尚、図２においては、図１におけるキャッシュ領域推定装置１をキャッシュマネージメントサーバと記載している。
【００１８】
図２に示すコンテンツ配信システムにおいては、各クライアント２ａ，２ｂと、キャッシュ領域推定装置１（キャッシュマネージメントサーバ）、および配信サーバ３ａ〜３ｄのそれぞれは予め時刻同期がとられているものとする。尚、この時刻同期には公知の技術（例えばＮＴＰ：Network Time Protocol）を用いる。
【００１９】
クライアント２ａ，２ｂは、配信サーバ３ａ〜３ｄからコンテンツを一定量ダウンロードする毎に、そのダウンロード時刻（配信時刻）と先頭オフセット値および終了オフセット値からなるブロック情報を計測し、そのブロック情報をキャッシュ領域推定装置１（キャッシュマネージメントサーバ）に報告する。尚、この報告は計測の度に行っても、複数のブロック情報をまとめて報告してもよい。前述したように、クライアント２ａ，２ｂのそれぞれは時刻同期が実施されており、そのダウンロード時刻（配信時刻）は、各クライアント２ａ，２ｂ間で信頼できるものとなっている。
【００２０】
本例でのブロック情報は、図３に示されるように、コンテンツ全体における一定のサイズごとのブロックにおける先頭データと最終データの、当該コンテンツの先頭アドレスからのオフセット値を先頭オフセットと終了オフセットとし、それぞれのダウンロード時刻からなる。尚、キャッシュデータの推定には、先頭オフセットのダウンロード時刻もしくは終了オフセットのダウンロード時刻、あるいは、先頭オフセットと終了オフセットのダウンロード時刻の中間時刻等を配信時刻として用いる。
【００２１】
図１においては、このようなブロック情報によるクライアント２ａ，２ｂからの報告は、データ送受信部１ａで受信され（Ａ）、データベース１ｃに送信され（Ｂ）、データベース１ｃにおいて記憶・登録される。尚、このデータベース１ｃにおいては、予め、各配信サーバ３ａ〜３ｄのそれぞれで用いられているキャッシュ割り当てアルゴリズムを記憶・登録している。
【００２２】
そして、キャッシュ領域推定装置１は、外部からのキャッシュ推定要求をデータ送受信部１ａで受信すると（ａ）、その要求内容をデータベース１ｃに送信し（ｂ）、データベース１ｃでは、要求に応じて、推定対象のサーバのブロック情報とキャッシュ割り当てアルゴリズムをキャッシュ割り当て模擬部１ｂに送信する（ｃ）。
【００２３】
キャッシュ割り当て模擬部１ｂでは、データベース１ｃからのブロック情報を用いて当該配信サーバ（３ａ〜３ｄ）のキャッシュ割り当てアルゴリズムを模擬し、当該配信サーバ（３ａ〜３ｄ）においてキャッシュされているデータを推定する。
【００２４】
配信サーバ（３ａ〜３ｄ）のキャッシュ割り当てアルゴリズムの例として、ＬＲＵ（Least Recently used）があり、この場合を例に、キャッシュ割り当て模擬部１ｂにおける処理動作を説明する。
【００２５】
この場合、「推定対象の配信サーバのページキャッシュ可能最大サイズ」と「推定対象の配信サーバのブロック情報」とを入力情報として、推定ページキャッシュ領域を出力する。尚、「ページキャッシュ可能最大サイズ」は配信サーバ３ａ〜３ｄのそれぞれの設定から得ることが可能である。これらの情報を以下の手順で利用し、キャッシュ割り当て模擬部１ｂにおいて、ページキャッシュ領域の推定を行う。
【００２６】
まず、手順１として、データベース１ｃから、推定対象サーバに関するデータ（ブロック情報、キャッシュ割り当てアルゴリズム、ページキャッシュ可能最大サイズ）を抽出する。次に、手順２として、ブロック情報における終了オフセットのダウンロード時刻が新しい順に各ブロックのサイズ（終了オフセット値−先頭オフセット値）を求めて合計していく。
【００２７】
そして、手順３として、合計ブロックサイズが推定対象サーバのページキャッシュ可能最大サイズよりも大きくなったブロックの終了オフセットダウンロード時刻をページキャッシュされているかどうかの境界時刻とし、境界時刻よりも新しい終了オフセットダウンロード時間を持つブロックはページキャッシュとして残っていると判断する。
【００２８】
このような処理動作の具体例が図４に示されている。この図４においては、配信サーバＡ，Ｂ，Ｃがあり、配信サーバＡのページキャッシュを推定する場合を示している。すなわち、キャッシュマネージメントサーバ（データベース１ｃ）に登録されているブロック情報として、「サーバ名」（Ａ，Ｂ，Ｃ）、「コンテンツ名」（ｄａｔａ１〜３）、「先頭オフセット」（１０００，４０００，２８０００００，２０００，２００）、「先頭オフセットダウンロード時刻」（５０００（ｅｐｏｃｈ），４８２８（ｅｐｏｃｈ），４２９３（ｅｐｏｃｈ），５０１１（ｅｐｏｃｈ），４２９６（ｅｐｏｃｈ））、「終了オフセット」（２０００，８０００，２８０５０００，３０００，２８０００）、「結了オフセットダウンロード時刻」（５０１０（ｅｐｏｃｈ），４８２３（ｅｐｏｃｈ），４７０３（ｅｐｏｃｈ），５０２５（ｅｐｏｃｈ），４３０９（ｅｐｏｃｈ））が順に並んでいる。
【００２９】
そして、サーバＡに関するブロック情報を抽出した結果、サーバＡに関するブロック情報として、「サーバ名」（Ａ）、「コンテンツ名」（ｄａｔａ１，２）、「先頭オフセット」（１０００，２０００，３０００，２０００，３０００）、「先頭オフセットダウンロード時刻」（５０００（ｅｐｏｃｈ），５０１１（ｅｐｏｃｈ），５０２６（ｅｐｏｃｈ），４７００（ｅｐｏｃｈ），４７２１（ｅｐｏｃｈ））、「終了オフセット」（２０００，３０００，４０００，３０００，４０００）、「終了オフセットダウンロード時刻」（５０１０（ｅｐｏｃｈ），５０２５（ｅｐｏｃｈ），５０３５（ｅｐｏｃｈ），４７２０（ｅｐｏｃｈ），４７３３（ｅｐｏｃｈ））が得られる（手順１）。
【００３０】
各「先頭オフセットダウンロード時刻」もしくは「終了オフセットダウンロード時刻」を比較することで、１〜５番目に新しいブロックを特定し、各ブロックサイズ（１０００）を、新しい順に加算する（手順２）。
【００３１】
ここで、サーバＡのキャッシュ可能最大サイズが３０００であると仮定すると、３番目に新しいブロックを加算した時にページキャッシュ可能最サイズに達するため、ページキャッシュが残っている境界時刻はこのブロックの終了オフセットダウンロード時刻である「５０１０（ｅｐｏｃｈ）」となり、この結果から、「サーバＡ上のコンテンツｄａｔａ１の先頭から１０００バイト目〜４０００パイト目がページキャッシュとして存在」と判断する（手順３）。
【００３２】
これにより、例えば、古くなって利用価値の無くなったブロック情報の判断を行うこともできる。すなわち、キャッシュマネージメントサーバ（キャッシュ領域推定装置１のデータベース１ｃ）には、各クライアント２ａ，２ｂから報告されたブロック情報が蓄積されているが、これらのブロック情報において、終了オフセットダウンロード時刻または先頭オフセットダウンロード時刻が境界時刻よりも古いブロック情報は、古くなって利用価値の無い情報であると判断する。
【００３３】
図５は、本発明に係わるキャッシュ推定方法の処理手順例の前半部分を示すフローチャートであり、図６は、本発明に係わるキャッシュ推定方法の処理手順例の後半部分を示すフローチャートであり、以下、これらの図５，６の説明を行う。
【００３４】
図５に示すように、まず、ＮＴＰ等により、配信サーバ（３ａ〜３ｄ）、キャッシュマネージメントサーバ（キャッシュ領域推定装置１）、クライアント（２ａ，２ｂ）のそれぞれの時刻同期を実施する（ステップＳ５０１）。その後、配信サーバ（３ａ〜３ｄ）からクライアント（２ａ，２ｂ）へコンテンツのダウンロードを開始する（ステップＳ５０２）。
【００３５】
各クライアント（２ａ，２ｂ）では、コンテンツを所定のブロックサイズ分ダウンロードする毎にダウンロード時刻（配信時刻）や先頭オフセット値、終了オフセット値等のブロック情報を測定し（ステップＳ５０３）、キャッシュマネージメントサーバ（キャッシュ領域推定装置１）に報告する（ステップＳ５０４）。当該コンテンツの全データをダウンロードするまでステップＳ５０３〜Ｓ５０４の処理を繰り返す（ステップＳ５０５）。
【００３６】
キャッシュマネージメントサーバ（キャッシュ領域推定装置１）は、図６に示すように、各クライアント（２ａ，２ｂ）から報告されデータベース（１ｃ）に格納したブロック情報から、推定対象サーバのブロック情報を取得し（ステップＳ６０１）、取得したブロック情報を利用して、対象サーバのページキャッシュ割り当て動作を模擬し（ステップＳ６０２）、その模擬結果から、キャッシュ上に残ったブロックを、当該サーバのページキャッシュであるとして判断する（ステップＳ６０３）。
【００３７】
図７は、図２におけるコンテンツ配信システムの動作詳細例を示す説明図であり、クライアント（１）２ａは、要求したコンテンツが配信サーバ３から、所定のブロック分のデータがダウンロードされる毎に、ブロック情報を生成してキャッシュマネージメントサーバ（キャッシュ領域推定装置）１に報告する。尚、数ブロック分のブロック情報をまとめて報告することでも良い。
【００３８】
キャッシュマネージメントサーバ（キャッシュ領域推定装置）１では、クライアント（２）２ｂからのキャッシュ推定要求を受けると、クライアント（１）２ａから報告されたブロック情報を用いてキャッシュ領域を推定し、その推定結果をクライアント（１）２ａに通知する。
【００３９】
以上、図１〜図７を用いて説明したように、本例では、コンピュータにおいてキャッシュされているデータを特定するシステムとして、予め定められた量のデータ（ブロックデータ）が読み出されるごとの読み出し開始から終了までの任意のリード時刻および先頭オフセット値と終了オフセット値を取得し各々を対応付けブロック情報としてデータベース等に記憶しておき、予め定められた契機で記憶した各ブロック情報を読み出し、読み出した各ブロック情報を用いて当該コンピュータのキャッシュ入れ替えアルゴリズムを模擬することで当該コンピュータにおいてキャッシュされているデータを求める。
【００４０】
例えば、コンテンツを配信するサーバコンピュータにおいてキャッシュされているデータを特定するシステムとして、予め定められた量のデータ（ブロックデータ）が配信されるごとの配信時刻と先頭オフセット値および終了オフセット値を取得しコンテンツ識別情報に対応付けブロック情報として記憶しておき、予め定められた契機で指定されたコンテンツに対応する各ブロック情報を読み出し、読み出した各ブロック情報を用いて、当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで当該サーバコンピュータにおいてキャッシュされているデータを求める。
【００４１】
特に、インターネット等のネットワークを介してクライアントコンピュータにコンテンツを配信するサーバコンピュータにおいてキャッシュされているデータを特定するシステムとして、サーバコンピュータからクライアントコンピュータに、予め定められた量のデータ（ブロックデータ）が配信されるごとの配信時刻と先頭オフセット値および終了オフセット値を取得しコンテンツ識別情報に対応付けブロック情報として記憶しておき、予め定められた契機で指定されたコンテンツに対応する各ブロック情報を読み出し、読み出した各ブロック情報を用いて、当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することで当該サーバコンピュータにおいてキャッシュされているデータを求める。
【００４２】
ブロック情報はクライアントコンピュータで生成され、クライアントコンピュータからネットワークを介してブロック情報を取得する構成とする。この際、予め時刻同期された複数のクライアントコンピュータからネットワークを介してブロック情報を取得し、各クライアントコンピュータからの各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬する。
【００４３】
具体的には、サーバコンピュータにおけるキャッシュ割り当てアルゴリズムがＬＲＵであれば、ブロック情報における配信時刻が新しい順に、各ブロックデータの終了オフセットと開始オフセットとの差からなる当該ブロックデータのサイズを求めて加算して合計し、合計サイズが、サーバコンピュータのキャッシュ可能最大サイズに達した時刻を境界時刻として求め、この境界時刻よりも新しい配信時刻のブロックデータが、当該サーバコンピュータにおいてキャッシュされていると判断する。
【００４４】
このように、本例によれば、配信サーバ等のコンピュータにおけるキャッシュ領域を、直接参照することなく推定することが可能であり、配信サーバ等に一切の負荷をかけること無くキャッシュ領域を推定することが可能である。特に、本発明は、特開２００４−１２６９１２号公報における分割ダウンロードに有効である。
【００４５】
また、このような本例のキャッシュ推定システムを、１つのクライアントコンピュータに複数の配信サーバコンピュータから同じコンテンツを分割して配信するコンテンツ配信システムに設け、本例のキャッシュ推定システムで当該コンテンツのデータをキャッシュしているとされるサーバコンピュータを特定することができ、この特定したサーバコンピュータを当該コンテンツの配信元として優先して選択することにより、高速なコンテンツ配信が可能となる。
【００４６】
尚、本発明は、図１〜図７を用いて説明した例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、ブロック情報はクライアントコンピュータで生成され、クライアントコンピュータからネットワークを介してブロック情報を取得し、さらに、この際、予め時刻同期された複数のクライアントコンピュータからネットワークを介してブロック情報を取得し、各クライアントコンピュータからの各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬しているが、例えば、ブロック情報はサーバコンピュータで生成され、予め時刻同期された複数のサーバコンピュータからネットワークを介してブロック情報を取得し、各サーバコンピュータからの各ブロック情報を用いて当該サーバコンピュータのキャッシュ入れ替えアルゴリズムを模擬することでも良い。
【００４７】
また、本例では、キャッシュ推定システム（キャッシュ領域推定装置、キャッシュマネージメントサーバ）を、クライアントや配信サーバとインターネット等のネットワークを介して接続された構成としているが、キャッシュ推定システム（キャッシュ領域推定装置、キャッシュマネージメントサーバ）の機能を、配信サーバ内に搭載する構成とすることでも良い。
【００４８】
また、本例で説明したコンピュータの構成に関しても、キーボードや光ディスクの駆動装置の無いコンピュータ構成としても良い。また、本例では、光ディスクを記録媒体として用いているが、ＦＤ（Flexible Disk）等を記録媒体として用いることでも良い。また、プログラムのインストールに関しても、通信装置を介してネットワーク経由でプログラムをダウンロードしてインストールすることでも良い。
【図面の簡単な説明】
【００４９】
【図１】本発明に係わるキャッシュ推定システムの構成例を示すブロック図である。
【図２】本発明に係わるキャッシュ推定システムを設けたコンテンツ配信システムの構成例を示すブロック図である。
【図３】本発明に係わるキャッシュ推定システムで用いるブロック情報の構成例を示す説明図である。
【図４】本発明に係わるキャッシュ推定システムでの処理手順例を示す説明図である。
【図５】本発明に係わるキャッシュ推定方法の処理手順例の前半部分を示すフローチャートである。
【図６】本発明に係わるキャッシュ推定方法の処理手順例の後半部分を示すフローチャートである。
【図７】図２におけるコンテンツ配信システムの動作詳細例を示す説明図である。
【符号の説明】
【００５０】
１：キャッシュ領域推定装置（キャッシュマネージメントサーバ）、１ａ：データ送受信部、１ｂ：キャッシュ割り当て模擬部、１ｃ：データベース、２ａ，２ｂ：クライアント、３，３ａ〜３ｄ：配信サーバ。
【図１】
2005346547.tif 000003
【図２】
2005346547.tif 000004
【図３】
2005346547.tif 000005
【図４】
2005346547.tif 000006
【図５】
2005346547.tif 000007
【図６】
2005346547.tif 000008
【図７】
2005346547.tif 000009