(57)【要約】【課題】ディスクへのアクセスが集中する領域を特定して、その領域をキャッシュする分散ディスクキャッシュシステムを提供する。【解決手段】パケット解析装置４は、アクセス装置３からのディスク装置１１への入出力アクセスの集中度を監視し、その入出力アクセスの集中度が第１の閾値を超えるデータ領域を特定し、ストレージサーバ１０に対し、そのデータ領域のキャッシュを指示する。パケット解析装置４は、そのデータ領域がキャッシュされた領域への入出力アクセスの集中度を監視し、その入出力アクセスの集中度が第２の閾値を下回る場合、ストレージサーバ１０にキャッシュの解除を指示する。【選択図】図１
2010002942.tif 000002
【特許請求の範囲】
【請求項１】
複数のデータ領域に分割されたストレージ装置と、
前記ストレージ装置の１又は複数のデータ領域をキャッシュするキャッシュサーバと、
ネットワークを介して、前記ストレージ装置又はキャッシュサーバにアクセスするアクセス装置と、
前記ネットワークに接続され、前記アクセス装置からの前記ストレージ装置への前記ネットワークを介してのアクセスを監視し、前記アクセスの集中度が予め定められた第１の閾値を超えるデータ領域を、前記キャッシュサーバにキャッシュする監視装置とを備える
ことを特徴とする分散ディスクキャッシュシステム。
【請求項２】
前記監視装置が、前記アクセス装置からの前記キャッシュサーバへの前記ネットワークを介してのアクセスを監視し、前記キャッシュされたデータ領域へのアクセスの集中度が予め定められた第２の閾値を下回る場合に、前記キャッシュされたデータ領域の前記キャッシュサーバへのキャッシュを解消する
ことを特徴とする請求項１に記載の分散ディスクキャッシュシステム。
【請求項３】
前記監視装置が、前記アクセス装置からの前記ストレージ装置へのアクセスを監視した結果を統計処理することにより生成した統計情報を格納する情報蓄積テーブルを備え、前記情報蓄積テーブルに基づいて、前記ストレージ装置への前記アクセスの集中度が前記第１の閾値を超えるか否かを監視し、前記キャッシュされたデータ領域への前記アクセスの集中度が前記第２の閾値を下回るかを監視する
ことを特徴とする請求項２に記載の分散ディスクキャッシュシステム。
【請求項４】
当該分散ディスクキャッシュシステムが、更に、
キャッシュサーバを管理するキャッシュ管理サーバを備え、
前記監視装置が、前記第１の閾値を超えるデータ領域を前記キャッシュサーバにキャッシュするキャッシュ指示を前記ストレージ装置に送信し、
前記ストレージ装置が、前記キャッシュ指示に応じて、前記キャッシュ管理サーバにキャッシュ領域割当て要求を行い、
前記キャッシュ管理サーバが、前記要求に応じて、前記キャッシュサーバにおける記憶領域を割り当て、
前記ストレージ装置が、前記第１の閾値を超えるデータ領域を、前記割り当てられた記憶領域にキャッシュする
ことを特徴とする請求項１に記載の分散ディスクキャッシュシステム。
【請求項５】
複数のデータ領域に分割されたストレージ装置と、前記ストレージ装置の１又は複数のデータ領域をキャッシュするキャッシュサーバと、ネットワークを介して、前記ストレージ装置又はキャッシュサーバにアクセスするアクセス装置と、前記ネットワークに接続され、前記アクセス装置からの前記ストレージ装置への前記ネットワークを介してのアクセスを監視し、前記アクセスの集中度が予め定められた第１の閾値を超えるデータ領域を、前記キャッシュサーバにキャッシュする監視装置とを備える分散ディスクキャッシュシステムにおける分散ディスクキャッシュ方法であって、
前記監視装置が、
前記アクセス装置からの前記ストレージ装置への前記ネットワークを介してのアクセスを監視し、
前記アクセスの集中度が予め定められた第１の閾値を超えるデータ領域を、前記キャッシュサーバにキャッシュする
ことを特徴とする分散ディスクキャッシュ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、分散ディスクキャッシュシステム及び分散ディスクキャッシュ方法に関し、特に、ディスクにおいてアクセスが集中する領域を特定してキャッシュする分散ディスクキャッシュシステム及び分散ディスクキャッシュ方法に関する。
【背景技術】
【０００２】
コンピュータが複数のディスク装置とネットワークを介して接続される構成を備えるコンピュータシステムが知られている。このようなコンピュータシステムでは、キャッシュを設けることにより、データのアクセス性能を向上させている。
【０００３】
例えば、コンピュータとストレージデバイスとをバスで接続したコンピュータシステムにおいて、コンピュータの入出力部にキャッシュを設けると共に、ディスク装置へのアクセス頻度をカウントして、その頻度に応じてデータをキャッシュすることが知られている。
【０００４】
また、ホストコンピュータと共有メモリとをネットワークで接続したコンピュータシステムにおいて、他のネットワークで接続したキャッシュを設けると共に、ディスク制御装置内のアクセス状況を監視し、ディスク装置間でアクセスが頻発している論理ボリュームに関してデータの移動等の推奨する情報を管理者に提供するシステムが知られている。
【特許文献１】特開２００１−１３４５２２号公報
【特許文献２】特開２００２−３３３９５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明者は、コンピュータと複数のＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置を備えるストレージとをネットワークを介して接続し、コンピュータに仮想（論理）ボリュームを提供するコンピュータシステムにおける、ストレージへのアクセスについて検討した。その結果、このようなコンピュータシステムでは、ファイルシステムの構成やアプリケーションのアクセスパターンに依存して、ある時間帯にある特定のＲＡＩＤ装置の記憶領域（以下、ホットスポットと言う）にアクセスが集中する傾向があることを見出した。ホットスポットのような負荷は、アクセス性能の向上におけるボトルネックとなる。
【０００６】
図１０及び図１１は、本発明者が検討した本発明の背景を示す図である。
【０００７】
図１０は、ネットワークストレージシステム（以下、ネットワークストレージ）におけるパケットキャプチャの結果を示す図である。図１０において、横軸は、ディスク装置のセグメントＩＤ（１ギガバイト単位）を示し、縦軸は、対応するセグメントＩＤへの書込み又は読出し動作が行われた回数（アクセス回数）を示す。セグメントは論理ボリュームの分割単位であり、その大きさは図１０では１ギガバイトである（図１１においても同じ）。
【０００８】
図１０は、アクセス条件として、ｅｘｔ３ファイルシステムにおいてジャーナルマウント状態で、ストレージのディスク装置へのアクセス（Ｉ／Ｏアクセス）を実行した場合について示す。図１０から判るように、セグメントＩＤが“１”即ち論理ボリュームの最初の１ギガバイトに対して、書き込みのアクセスが２０万回近く集中している。それ以外のセグメントでは、アクセスが５万回以下である。
【０００９】
この例は、ディスク装置へのアクセスの集中がファイルシステムの構成に依存する場合を示す。ファイルシステムによっては、その管理データ（例えば、メタデータ等）を先頭の記憶領域に持つ。図１０は、この特定領域にアクセスが集中する状況が発生する例である。
【００１０】
図１１は、ネットワークストレージへのＩ／Ｏアクセスの状態を、時間帯毎に示す図である。図１１において、横軸は、ディスク装置のセグメントＩＤ（１ギガバイト単位）を示し、縦軸は、アクセスされたブロック数をそのアクセスの時間帯と共に示す。例えば、アクセスのパターンＡは、セグメントＩＤが“１００”の領域について、時間帯毎にアクセスされたブロック数の変化（アクセスパターン）を示す。
【００１１】
図１１は、アクセス条件として、ある１個のアプリケーションを実行し、５００ギガバイトの容量のネットワークストレージでの負荷状態を監視した場合について示したものである。監視は、アクセス装置のネットワークアクセスのコピーをネットワークスイッチで生成し、パケット解析装置に転送することによって行った。
【００１２】
図１１から判るように、特定の時間帯に、特定の一部の領域にＩ／Ｏアクセスが集中して発生している。これは、動作しているアプリケーションが使用する特定の領域へのアクセスが集中したことによる。
【００１３】
なお、この明細書においては、図１１に示すように、Ｉ／Ｏアクセスが集中して発生している領域（点線の枠で示す）を、ホットスポットという。図１１に示すアクセスの時間変化のパターンＡ〜Ｆにおいて、例えば、パターンＢ、Ｃ、Ｅの各々における記号△又は◎で表される領域がホットスポットである。
【００１４】
以上のように、本発明者の検討によれば、アクセスの集中は、ファイルシステムやアプリケーション等の種々の条件に依存しているが、当該条件に応じて種々の集中の形態が存在する。また、ホットスポットは、図１１に矢印で示すように、固定されておらず移動し、その移動時間も固定されていない。例えば、１日単位では移動しないが、１週間単位で移動する場合がある。本発明者は、このようなアクセスの集中の形態を利用することにより、データを効率良くキャッシュすれば、更にアクセスの性能を向上することができると考えた。
【００１５】
本発明は、ディスクへのアクセスが集中する領域を特定して、その領域をキャッシュする分散ディスクキャッシュシステムを提供することを目的とする。
【００１６】
また、本発明は、ディスクへのアクセスが集中する領域を特定して、その領域をキャッシュする分散ディスクキャッシュ方法を提供することを目的とする。
【課題を解決するための手段】
【００１７】
この分散ディスクキャッシュシステムは、ストレージ装置と、キャッシュサーバと、アクセス装置と、監視装置とを備える。ストレージ装置は、複数のデータ領域に分割される。キャッシュサーバは、前記ストレージ装置の１又は複数のデータ領域をキャッシュする。アクセス装置は、ネットワークを介して、前記ストレージ装置又はキャッシュサーバにアクセスする。監視装置は、前記ネットワークに接続され、前記アクセス装置からの前記ストレージ装置への前記ネットワークを介してのアクセスを監視し、前記アクセスの集中度が予め定められた第１の閾値を超えるデータ領域を、前記キャッシュサーバにキャッシュする。
【００１８】
また、この分散ディスクキャッシュ方法は、分散ディスクキャッシュシステムにおける分散ディスクキャッシュ方法である。分散ディスクキャッシュシステムは、ストレージ装置と、キャッシュサーバと、アクセス装置と、監視装置とを備える。ストレージ装置は、複数のデータ領域に分割される。キャッシュサーバは、前記ストレージ装置の１又は複数のデータ領域をキャッシュする。アクセス装置は、ネットワークを介して、前記ストレージ装置又はキャッシュサーバにアクセスする。監視装置は、前記アクセス装置からの前記ストレージ装置への前記ネットワークを介してのアクセスを監視し、前記アクセスの集中度が予め定められた第１の閾値を超えるデータ領域を、前記キャッシュサーバにキャッシュする。
【発明の効果】
【００１９】
この分散ディスクキャッシュシステム及び分散ディスクキャッシュ方法によれば、アクセス装置からのストレージ装置へのアクセスの集中度が第１の閾値を超えるデータ領域が、キャッシュサーバにキャッシュされる。これにより、アクセスの集中度が閾値を超えてホットスポットとなったデータ領域を、オペレータが介在することなく、動的に抽出してキャッシュすることができる。従って、ファイルシステムやアプリケーション等の種々の条件に依存してアクセスの集中が種々の形態で発生しても、また、ホットスポットが変動しても、ホットスポットを抽出してキャッシュすることができる。この結果、データを効率良くキャッシュして、ディスク装置のアクセスの性能を向上することができる。
【発明を実施するための最良の形態】
【００２０】
図１は、分散ディスクキャッシュシステムの構成を示す図である。図２は、図１に示すストレージ装置の論理ボリュームの構成を示す図である。
【００２１】
分散ディスクキャッシュシステムは、ストレージ装置１、キャッシュ管理サーバ２、アクセス装置３、パケット解析装置４、１又は複数のキャッシュサーバ５、これらの間を接続するネットワーク６を備える。
【００２２】
ストレージ装置１は、複数のストレージサーバ１０と、複数のディスク装置１１を備えるストレージ装置である。各々のストレージサーバ１０は、少なくとも１個のディスク装置１１を備える。ストレージサーバ１０は、各々、ネットワーク６を介して、相互に接続される。ディスク装置１１は、例えばＲＡＩＤ等の磁気ディスクからなる大容量の記憶装置である。ストレージ装置１は、後述するように、仮想的に（論理的に）複数のデータ領域に分割される。１個のデータ領域は、後述するように、例えば論理ボリュームに含まれるセグメントにより構成される。
【００２３】
ストレージ装置１において、アクセス装置３からのデータ読出し要求又は書込み要求に応じて、ストレージサーバ１０は、対応するディスク装置１１を制御する。即ち、ストレージサーバ１０は、対応するディスク装置１１について、要求されたデータの読出し又は書込みを行う。
【００２４】
複数のストレージサーバ１０を区別する場合には、例えばストレージサーバ１０Ａと表すこととする。これは、ディスク装置１１、キャッシュサーバ５、キャッシュ５１についても、同様である。なお、ストレージサーバ１０Ａを“ストレージサーバＡ”と表示している。これは、キャッシュサーバ５、キャッシュ５１についても、同様である。また、ディスク装置１１Ａを“ＲＡＩＤ−Ａ”と表示している。
【００２５】
キャッシュサーバ５は、キャッシュ５１を備えるサーバ（サーバ装置）であり、キャッシュ５１にストレージ装置１の１又は複数のデータ領域をキャッシュする。キャッシュ５１は、ディスク装置１１よりも十分に高速の記憶装置、例えば半導体メモリ、ディスク装置等である。
【００２６】
キャッシュサーバ５として、複数のキャッシュサーバ５Ａ及び５Ｂがネットワーク６に接続されている。キャッシュサーバ５は、キャッシュ管理サーバ２のキャッシュ領域の割当て要求に応じて、キャッシュ５１に、ディスク装置１１のセグメントをキャッシュするための領域（キャッシュ領域）を確保する。この例では、キャッシュされるデータ領域は、例えばホットスポットとして検出されたセグメントである。
【００２７】
なお、この例では、キャッシュサーバ５Ａがプライマリのキャッシュサーバとされ、キャッシュサーバ５Ｂがセカンダリのキャッシュサーバとされる。これにより、キャッシュサーバ５をミラーリングして二重化することができる。更に、プライマリのキャッシュ５１Ａを高速の半導体メモリとし、セカンダリのキャッシュ５１Ｂを高速のＲＡＩＤとするようにしても良い。このような冗長化構成を採用することにより、キャッシュサーバの信頼性を高めることができる。
【００２８】
キャッシュ管理サーバ２は、キャッシュサーバ５を管理するサーバ（サーバ装置）である。具体的には、キャッシュ管理サーバ２は、キャッシュサーバ５のキャッシュ５１における記憶領域（キャッシュ領域）の割当及び開放を管理する。例えば、キャッシュ管理サーバ２は、ストレージサーバ１０からのキャッシュ領域の割当て要求に対応して、要求されたキャッシュ領域の割当てを行う。また、キャッシュ管理サーバ２は、ストレージサーバ１０からのキャッシュ領域の開放要求に対応して、開放要求されたキャッシュ領域の開放を行う。
【００２９】
アクセス装置３は、クライアントがアプリケーション（アプリケーションプログラム）を実行するコンピュータ（クライアント装置）である。アプリケーションの実行のために、アクセス装置３は、ネットワーク６を介して、ストレージ装置１及びキャッシュサーバ５にアクセスする。アクセス装置３は、実際には、図２に示すように、複数のアクセス装置３を含む。複数のアクセス装置３を区別する場合には、例えばアクセス装置Ａと表すこととする。
【００３０】
図２において、各々のアクセス装置３は、少なくとも１個のアプリケーション（アプリ）を備える。例えば、アクセス装置Ａの備えるアプリケーションをアプリＡと表すこととする。ストレージ装置１において、仮想的な単位記憶装置である論理ボリュームは、アプリケーション毎に割当てられる。例えば、アプリＡに割当てられた論理ボリュームを、論理ボリュームＡと表すこととする。実際には、複数のストレージ装置１の複数の物理ディスクの一部領域を結合して、１個の論理ボリュームを作っている。
【００３１】
このように、アプリケーション毎に論理ボリュームを割当てることにより、パケット解析装置４が、論理ボリュームを単位として、アクセスを監視することができる。また、その監視結果に基づいて、例えば論理ボリュームに含まれるセグメントを単位として、キャッシュの要否を制御することができる。
【００３２】
パケット解析装置４は、例えば、ネットワークスイッチによりネットワーク６に接続される。パケット解析装置４は、ネットワークスイッチによりネットワーク６に接続されたアクセス装置３の送受信パケットを監視する監視装置である。即ち、パケット解析装置４は、アクセス装置３からのストレージ装置１へのネットワーク６を介してのアクセスを監視し、この監視結果に基づいて、例えばアクセスの集中度が第１の閾値を超えるデータ領域（例えば、セグメント）を、キャッシュサーバ５にキャッシュする（格納する）。パケット解析装置４は、例えば、監視するパケットを受信するための通信インタフェース、受信したパケットを保持するバッファ領域、パケット解析処理及び統計処理を実行するＣＰＵ及びメモリ等を備える。
【００３３】
アクセスの集中度としては、種々のパラメータを用いることができる。例えば、所定の時間における、データ領域当たりのアクセスの回数、データ領域当たりのアクセスされたブロック数、データ領域当たりの読出し又は書き込みのパケット数等が用いられる。アクセスの集中度として用いられるパラメータに応じて、第１の閾値が定まる。
【００３４】
第１の閾値は、キャッシュサーバ５にキャッシュすべきデータ領域を定める値であり、ホットスポットを定義する値である。第１の閾値は、過去のアクセス状況を分析することなどで定めることができ、予め定められる。アクセスの集中度としてパケット数を用いる場合、第１の閾値は、詳しくは後述するように、例えば“５００”とされる。
【００３５】
また、パケット解析装置４は、アクセス装置３からのキャッシュサーバ５へのネットワーク６を介してのアクセスを監視する。この監視結果に基づいて、パケット解析装置４は、キャッシュサーバ５にキャッシュされたデータ領域へのアクセスの集中度が第２の閾値を下回る場合に、キャッシュされたデータ領域のキャッシュサーバ５へのキャッシュを解消する。
【００３６】
第２の閾値は、キャッシュサーバ５にキャッシュしたデータ領域の解消（キャッシュの解消）を定める値であり、データ領域をホットスポットではなくする値である。第２の閾値は、過去のアクセス状況を分析することなどで定めることができ、予め定められる。アクセスの集中度としてパケット数を用いる場合、第２の閾値は、詳しくは後述するように、例えば“７００”とされる。
【００３７】
パケット解析装置４は、情報蓄積テーブル４１と、情報管理テーブル４２とを備える。情報蓄積テーブル４１及び情報管理テーブル４２は、パケット解析装置４が備える記憶装置に設けられ、パケット解析装置４により作成される。
【００３８】
パケット解析装置４は、前記監視によりアクセス装置３の送受信パケットを収集し、監視結果としての前記収集したパケットについて統計処理して、統計情報を生成する。統計処理は、例えば、図１１に示すように、所定の時間帯毎に又は所定の単位時間毎に、セグメントＩＤ毎のアクセスされたブロック数を求めることである。統計情報は、情報蓄積テーブル４１に格納される。情報蓄積テーブル４１については、図３（Ｂ）を参照して後述する。情報蓄積テーブル４１は、統計情報に応じて逐次更新される。
【００３９】
更に、パケット解析装置４は、情報蓄積テーブル４１の統計情報に基づいて、ホットスポットとなったデータ領域を特定し、当該データ領域毎に、キャッシュ制御状態を情報管理テーブル４２に設定する。情報管理テーブル４２については、図３（Ｃ）を参照して後述する。情報管理テーブル４２は、キャッシュ制御状態に応じて逐次更新される。
【００４０】
具体的には、パケット解析装置４は、統計情報が格納された情報蓄積テーブル４１に基づいて、ストレージ装置１へのアクセスの集中度が第１の閾値を超えるか否かを監視する。この結果に基づいて、パケット解析装置４は、ホットスポットを検出し、検出したホットスポットについての情報を情報管理テーブル４２に格納する。パケット解析装置４は、情報管理テーブル４２に基づいて、ホットスポットとされたデータ領域をキャッシュサーバ５にキャッシュする。
【００４１】
また、パケット解析装置４は、情報蓄積テーブル４１に基づいて、キャッシュされたデータ領域へのアクセスの集中度が第２の閾値を下回るかを監視する。この結果に基づいて、パケット解析装置４は、解除すべきホットスポットを検出し、検出した解除すべきホットスポットについての情報を情報管理テーブル４２から削除する。パケット解析装置４は、情報管理テーブル４２に基づいて、ホットスポットではなくなったデータ領域をキャッシュサーバ５から消去する。
【００４２】
ネットワーク６は、例えば、ギガビット・イーサネット（ＩＥＥＥ８０２．３ｚ標準、イーサネットは登録商標）により構成される。パケット解析装置４は、ネットワーク６に含まれるギガビット・イーサネットスイッチのようなネットワーク機器（図示せず）から、ストレージサーバ１０のパケットを監視する。具体的には、ネットワーク６は、前記ネットワーク機器におけるアクセス装置３との通信ポートを監視するミラーリングポートを備える。パケット解析装置４は、その通信インタフェースがミラーリングポートに接続されることにより、パケットを解析する。
【００４３】
図３（Ａ）は、ディスク装置１１のディスクデータ構造を示す図である。図３（Ｂ）は、パケット解析装置４が統計収集する情報蓄積テーブル４１を示し、また、図３（Ｃ）は、パケット解析装置４が管理する情報管理テーブル４２を示している。
【００４４】
ディスク装置１１においては、図３（Ａ）に示すように、スライス（又はセグメント）１１０毎に、データ領域が管理される。１個のディスク装置１１は、複数のスライスを含む。ディスク装置１１におけるスライスの数はディスク装置１１の容量に依存する。
【００４５】
１個のスライス１１０は、データ管理の単位であり、例えば１ギガバイトとされる。１個のスライス１１０は、例えばデバイスメタ情報１１１、スライスアクセスカウンタ１１２、スライスメタ情報１１３、スライスデータ１１４を備える。
【００４６】
デバイスメタ情報１１１は、当該ディスク装置１１の全体情報であり、その記憶領域である。スライスアクセスカウンタ１１２は、当該スライス１１０へのアクセスの回数であり、その記憶領域である。スライスメタ情報１１３は、データ管理情報であり、その記憶領域である。スライスデータ１１４は、当該スライス１１０に格納されたデータであり、その記憶領域である。
【００４７】
前記データ管理情報は、キャッシュ制御情報と、キャッシュサーバ５のＩＰアドレスと、キャッシュ領域情報とを含む。キャッシュ制御情報は、当該スライス１１０についてのキャッシュが有効又は無効であることを示す。キャッシュが有効である場合は、当該スライス１１０がキャッシュサーバ５にキャッシュされていることを示し、キャッシュが無効である場合は、当該スライス１１０がキャッシュサーバ５にキャッシュされていないことを示す。キャッシュが有効である場合に、キャッシュサーバ５のＩＰアドレスと、キャッシュ領域情報とが格納される。キャッシュ領域情報は、例えば当該キャッシュサーバ５における当該キャッシュ領域のアドレスである。
【００４８】
なお、「スライスｘメタ情報」と言う場合、「ｘ」は、整数であり、スライスの数を先頭論理アドレスから順に割振った場合における当該スライスの順番を表す番号である。例えば、図３（Ａ）において、「スライス１」のスライスメタ情報１１３を「スライス１メタ情報」と表示しており、また、ｘが２以上については図示を省略している。スライスｘデータも、同様であり、スライスｘメタ情報が当該データ領域の情報を管理する。なお、スライスｘメタ情報及びスライスｘデータにおけるｘの値は、ディスク装置１１の容量に依存する。
【００４９】
情報蓄積テーブル４１は、図３（Ｂ）に示すように、セグメント毎に、論理ボリューム、アクセスの種別、サイズ等の情報を格納する。セグメントは、当該アクセスの対象とされたデータ領域である。従って、この例では、アクセスの有無は、セグメントを単位として管理される。論理ボリュームは、当該セグメントが属するデータ領域である。論理ボリュームは当該論理ボリュームのＩＤを用いて表され、セグメントは当該セグメントのＩＤを用いて表される。アクセスの種別は、読出し処理（ｒｅａｄ）又は書込み処理（ｗｒｉｔｅ）である。サイズは、当該アクセスによりアクセスされたデータのサイズである。
【００５０】
例えば、ＩＤが“Ａ”である論理ボリュームに属するＩＤが“ＳＡ”であるセグメントについて、“６４Ｍ”バイトのサイズのデータの“読出し処理”が発生したとする。この場合、図３（Ｂ）に示すように、論理ボリュームＩＤ“Ａ”、セグメントＩＤ“ＳＡ”、アクセス種別“ｒｅａｄ”、サイズ“６４Ｍ（バイト）”が、その発生時刻（図示せず）と共に、記録される。パケット解析装置４は、これらの情報を解析して、ホットスポットを検出する。即ち、情報蓄積テーブル４１は、ホットスポットの検出のための情報（統計情報）を、セグメント毎に格納する。
【００５１】
なお、この例は、説明の簡単化のために、セグメントをアクセスの有無の管理、キャッシュの単位等における単位データ領域として、説明している。しかし、セグメントは１ギガバイトと大きいので、実際には、セグメントよりも小さいデータ領域が、アクセスの有無の管理、キャッシュの単位等における単位データ領域として用いられる。単位データ領域の大きさは、例えば６４キロバイトとされる。この例では、ストレージ装置１は、各々が６４キロバイトの大きさの複数の単位データ領域に分割され管理される。情報蓄積テーブル４１は、実際には、単位データ領域の識別情報をも格納し、当該単位データ領域毎に、アクセス種別、サイズ、発生時刻等を格納する。後述する情報管理テーブル４２においても、実際には、同様に単位データ領域の識別情報をも格納し、当該単位データ領域毎に、必要な情報を格納する。このように単位データ領域を小さい領域とすることにより、キャッシュに起因するオーバーヘッドを減らすことができる。
【００５２】
情報管理テーブル４２は、図３（Ｃ）に示すように、セグメント毎に、論理ボリューム、ロジック制御、キャッシュ容量等を格納する。セグメントは、パケット解析装置４によりホットスポットとして検出されたデータ領域である。論理ボリュームは、当該セグメントが属するデータ領域である。論理ボリュームは当該論理ボリュームのＩＤを用いて記述され、セグメントは当該セグメントのＩＤを用いて記述される。ロジック制御は、当該ホットスポットとして検出されたデータ領域が依然としてホットスポットであるか否かを調べるための情報（従って、当該キャッシュの継続を制御する情報）である。キャッシュ容量は、当該キャッシュのために獲得すべきキャッシュメモリの容量である。
【００５３】
例えば、ＩＤが“Ａ”である論理ボリュームに属するＩＤが“ＳＡ”であるセグメントが、ホットスポットとして検出されたとする。この場合、図３（Ｃ）に示すように、論理ボリュームＩＤ“Ａ”、セグメントＩＤ“ＳＡ”、ロジック制御“１０分”、キャッシュ容量“２５６Ｍ（バイト）”が、その検出時刻（図示せず）と共に、情報管理テーブル４２に、ホットスポットとして記録される。
【００５４】
パケット解析装置４は、情報管理テーブル４２に基づいて、論理ボリューム“Ａ”のセグメント“ＳＡ”についてキャッシュ指示する。このキャッシュ指示の際、対応するストレージサーバ１０に対し、情報管理テーブル４２に基づいて、キャッシュ容量情報（図３（Ｃ）の例では、２５６メガバイト）が通知される。
【００５５】
ロジック制御は、セグメント（又は、論理ボリューム）に応じて、経験的に定めることができ、予め定められる。キャッシュ容量も、同様である。セグメントＩＤが例えば“ＳＡ”であるとすると、ロジック制御として“所定の検出時間”が格納され、キャッシュ容量として“２５６Ｍ（バイト）”が格納される。この検出時間は、例えば１０分である。これらの値は、予めパケット解析装置４が保持する。
【００５６】
なお、セグメントＩＤが例えば“ＳＣ”であるとすると、ロジック制御として“（キャッシュ）しない”が格納される。これにより、ユーザは、データをキャッシュしないことを選択することができる。
【００５７】
パケット解析装置４は、当該キャッシュの後、セグメントＩＤが“ＳＡ”であるセグメントについてのキャッシュ制御のために、情報蓄積テーブル４１に基づいて、その後の“１０分”におけるアクセスの集中度を解析する。そして、パケット解析装置４は、当該解析に基づいて、当該セグメントが依然としてホットスポットであるか否かを判断する。パケット解析装置４は、当該セグメントが最早ホットスポットでないと判断した場合、キャッシュ解除を対応するストレージサーバ１０に通知する。この通知を受信したストレージサーバ１０は、キャッシュ管理サーバ２にキャッシュ領域の開放を要求する。
【００５８】
このように、パケット解析装置４は、ホットスポットとされたセグメントに応じた所定の検出時間を用いて、当該セグメントがホットスポットであるか否かを継続して監視する。これにより、突発的なアクセスについては、ホットスポットとして検出することを防止することができるので、キャッシュに起因するオーバーヘッドを回避して、ネットワーク負荷の増加を抑えることができる。
【００５９】
パケット解析装置４は、所定の監視時間毎に、情報蓄積テーブル４１に基づいて、ストレージ装置１に対するアクセスの集中度が第１の閾値を超えるデータ領域を監視する。パケット解析装置４は、アクセスの集中度が第１の閾値を超えると、当該データ領域がディスク装置１１のいずれのデータ領域であるかを特定し、特定したデータ領域を情報管理テーブル４２に登録する。
【００６０】
パケット解析装置４は、アクセスの集中度が第１の閾値を超えるデータ領域をキャッシュサーバ５にキャッシュするキャッシュ指示をストレージ装置１に送信する。具体的には、パケット解析装置４は、特定されたデータ領域を含むディスク装置１１を管理するストレージサーバ１０に対し、特定されたデータ領域のキャッシュ指示を行う。
【００６１】
パケット解析装置４は、特定されたデータ領域のデータがキャッシュサーバ５の割当てられた記憶領域（キャッシュ領域）にキャッシュされた後、前記所定の監視時間毎に、情報蓄積テーブル４１に基づいて、アクセスの集中度が第１の閾値を超えた後に、第２の閾値を下回るかを監視する。パケット解析装置４は、アクセスの集中度が第２の閾値を下回った場合、ストレージサーバ１０にキャッシュ解除（キャッシュ領域の開放）を指示する。
【００６２】
ストレージサーバ１０は、パケット解析装置４からキャッシュ指示を受信すると、これに応じて、特定されたデータ領域をキャッシュする。このため、ストレージサーバ１０は、特定されたデータ領域（のデータ）を、当該ディスク装置１１から読み出して、キャッシュサーバ５に転送する。
【００６３】
このデータ転送に先立って、ストレージサーバ１０は、前記キャッシュ指示を受信すると、これに応じて、キャッシュ管理サーバ２にキャッシュ領域の割当て要求を行う。キャッシュ管理サーバ２は、割り当て要求を受信すると、これに応じて、キャッシュサーバ５における記憶領域を割り当て、この後、当該割当て要求の応答確認を送信元のストレージサーバ１０に返信する。ストレージサーバ１０は、割当て要求の応答確認を受信すると、これに応じて、特定されたデータ領域のデータをキャッシュサーバ５の割当てられたキャッシュ領域へ転送する。ストレージサーバ１０は、このデータ転送の後、ディスク装置１１のデータ領域情報にキャッシュ制御の設定、キャッシュ先のキャッシュサーバ５のアドレス情報を格納する。
【００６４】
アクセス装置３からの入出力アクセスにおいて、ストレージサーバ１０は、前記データ領域情報に基づいて、キャッシュヒットするか否かを調べる。キャッシュヒットした場合、ストレージサーバ１０は、アクセス装置３にキャッシュサーバ５にアクセスするように応答を返す。また、ストレージサーバ１０は、キャッシュヒットしなかった場合、ディスク装置１１における対応するデータ領域から当該データを読出し、前述のキャッシュ領域の割当て要求、データ転送、データ領域情報の更新を行った後、アクセス装置３にキャッシュサーバ５にアクセスするように応答を返す。
【００６５】
キャッシュ管理サーバ２は、ストレージサーバ１０からのキャッシュ領域の割当て要求を受信すると、これに応じて、キャッシュ領域を割当てて、これを管理する。キャッシュ管理サーバ２は、キャッシュ領域を割当てたキャッシュサーバ５に対して、ストレージサーバ１０からのデータを受信して、当該キャッシュ領域に書き込むように指示する。これと共に、キャッシュ管理サーバ２は、キャッシュ領域の割当てが設定された際、ストレージサーバ１０にキャッシュ領域の割当て完了通知を行う。
【００６６】
また、キャッシュ管理サーバ２は、ストレージサーバ１０からのキャッシュ領域の開放要求を受信すると、これに応じて、キャッシュサーバ５に対して当該キャッシュ領域の開放を指示する。これと共に、キャッシュ管理サーバ２は、ストレージサーバ１０へキャッシュ領域のデータを転送するように、キャッシュサーバ５に指示する。
【００６７】
キャッシュサーバ５は、キャッシュ管理サーバ２のキャッシュ領域の割当て指示を受信すると、これに応じて、キャッシュ５１上において、当該指示されたキャッシュ領域を確保する。この後、キャッシュサーバ５は、ストレージサーバ１０から特定されたデータ領域のデータを受信する。
【００６８】
アクセス装置３からの入出力アクセスにおいて、キャッシュヒットした場合、キャッシュサーバ５は、アクセス装置３に対してデータ転送を行う。キャッシュヒットしなかった場合、キャッシュサーバ５は、ディスク装置１１からキャッシュ５１上にキャッシュした後に、アクセス装置３に対してデータ転送を行う。
【００６９】
以下、図４乃至図７に従って、図１の分散ディスクキャッシュシステムにおけるホットスポットの検出処理と、キャッシュの割当及び開放等の制御処理とについて説明する。
【００７０】
図４は、パケット解析装置４が、アクセス装置３の入出力パケットを監視する処理を示す。
【００７１】
アクセス装置３ＡのアプリＡが起動されると、アプリＡは、ネットワーク６を介して、ストレージサーバ１０Ａに対し、データの読出し又は書込み要求を行う（Ｔ１）。この要求を受信したストレージサーバ１０Ａは、対応するディスク装置１１Ａについて、データの読出し又は書込みを行う（Ｔ２）。
【００７２】
同様にして、起動されたアクセス装置３ＢのアプリＢがストレージサーバ１０Ｂとの間でデータの読出し要求又は書込み要求を行い（Ｔ３）、ストレージサーバ１０Ｂがディスク装置１１Ｂについてデータ読出し又は書込みを行う（Ｔ４）。アクセス装置３ＣのアプリＣがストレージサーバ１０Ｃとの間でデータの読出し要求又は書込み要求を行い（Ｔ５）、ストレージサーバ１０Ｃがディスク装置１１Ｃについてデータ読出し又は書込みを行う（Ｔ６）。
【００７３】
このようなアクセス処理と並行して、パケット解析装置４は、ネットワーク６を介したパケットモニタリングにより、Ｔ１においてアクセス装置３Ａが送受信したパケットと同一のパケット（アクセス装置３Ａについてのモニタパケット）ＰＡを取得し（Ｔ７）、その内容を解析する。同様にして、パケット解析装置４は、アクセス装置３ＢについてのモニタパケットＰＢを取得し（Ｔ８）、アクセス装置３ＣについてのモニタパケットＰＣを取得し（Ｔ９）、これらの内容を解析する。
【００７４】
パケット解析装置４は、以上の解析の結果について統計処理を行い、その結果である統計情報を情報蓄積テーブル４１に格納する。これにより、情報蓄積テーブル４１が作成され、又は、逐次更新される。
【００７５】
図５は、ホットスポット検出及びキャッシュ制御の動作概要を示す。図５は、パケット解析装置４が、ストレージサーバ１０のディスク装置１１に対するアクセスにおいて、ホットスポットを検出し、キャッシュ指示を行う場合の動作を示す。
【００７６】
例えば、アクセス装置３ＢのアプリＢが起動されると、アプリＢにより、論理ボリュームＢ（ＲＡＩＤ−Ｂ）であるディスク装置１１Ｂに対し、頻繁にアクセスが生じる。例えば、アプリＢがストレージサーバ１０Ｂにあるデータの書込み要求を行い（Ｔ１０）、ストレージサーバ１０Ｂがディスク装置１１Ｂについて当該データの書込みを行う（Ｔ１１）。また、アプリＢがストレージサーバ１０Ｂに当該データの読出し要求を行うと、ストレージサーバ１０Ｂがディスク装置１１Ｂについて当該データの読出しを行い（Ｔ１２）、読み出した当該データをアクセス装置３のアプリＢに送信する（Ｔ１３）。これらのアクセスはストレージサーバ１０Ｂの特定のスライスに集中するので、当該スライスはホットスポットＨとなる。
【００７７】
パケット解析装置４は、アクセス装置３ＢについてのモニタパケットＰＢを取得して解析し、その解析結果である統計情報を情報蓄積テーブル４１に格納し、これを逐次更新する。そして、パケット解析装置４は、情報蓄積テーブル４１に基づいて、当該スライスへのアクセスの集中度が第１の閾値を超えたことを検出して、当該スライスをホットスポットＨとして検出する（Ｔ１４）。ホットスポットＨは、例えば図１１のパターンＢにおけるホットスポットである。パケット解析装置４は、検出したホットスポットＨを所定の情報と共に情報管理テーブル４２に登録し、当該ホットスポットＨを管理するストレージサーバ１０Ｂを検出し、検出したストレージサーバ１０Ｂに対して、キャッシュ指示を送信する（Ｔ１５）。
【００７８】
キャッシュ指示を受信したストレージサーバ１０Ｂは、キャッシュサーバ５におけるキャッシュ領域の割当要求を、当該キャッシュ領域のサイズと共に、キャッシュ管理サーバ２に対して送信する（Ｔ１６）。
【００７９】
この割当要求を受信したキャッシュ管理サーバ２は、キャッシュ領域の割当指示を、当該キャッシュ領域のサイズと共に、キャッシュサーバ５Ａに対して送信し（Ｔ１７）、また、キャッシュ領域の割当指示を、当該キャッシュ領域のサイズと共に、キャッシュサーバ５Ｂに対して送信する（Ｔ１８）。
【００８０】
例えば、この割当指示を受信したキャッシュサーバ５Ａは、キャッシュ５１Ａ上に割当指示されたサイズのキャッシュ領域５２Ａを確保し、そのアドレス（キャッシュ領域情報）と共に、キャッシュ管理サーバ２に通知する。キャッシュサーバ５Ｂも同様である。この後、キャッシュ管理サーバ２は、ストレージサーバ１０Ｂに対して、キャッシュ領域５２Ａ及び５２Ｂの確保を通知する（Ｔ１９）。この時、キャッシュ領域５２Ａと共に、これが属するキャッシュサーバ５ＡのＩＰアドレス、及びキャッシュサーバ５Ａにおけるキャッシュ領域情報も通知される。キャッシュ領域５２Ｂについても同様である。
【００８１】
図６は、キャッシュサーバ５のキャッシュ領域割当後のＩ／Ｏアクセス処理の動作概要を示す。
【００８２】
キャッシュ領域確保の通知を受信したストレージサーバ１０Ｂは、当該ホットスポットＨとして検出されたディスク装置１１Ｂのスライスのデータを、キャッシュのために読出す（Ｔ２０）。この後、ストレージサーバ１０Ｂは、読出したデータをプライマリディスクであるキャッシュサーバ５Ａに転送する（Ｔ２１）。更に、ストレージサーバ１０Ｂは、対応するディスク装置１１Ｂのスライスｘメタ情報（図３（Ａ）参照）に、キャッシュの有効（当該スライスがキャッシュされたことを示す情報）、キャッシュサーバ５ＡのＩＰアドレス及びキャッシュ領域情報、キャッシュサーバ５ＢのＩＰアドレス及びキャッシュ領域情報を書込む。キャッシュサーバ５Ａ及び５ＢのＩＰアドレス及びキャッシュ領域情報は、キャッシュ領域確保の通知と共に受信されたものである。
【００８３】
キャッシュサーバ５Ａは、転送されたデータを受信すると、これをキャッシュ領域５２Ａに書込む。この後、キャッシュサーバ５Ａは、キャッシュ領域５２Ａに書込んだデータを、セカンダリディスクであるキャッシュサーバ５Ｂに転送する（Ｔ２２）。キャッシュサーバ５Ｂは、転送されたデータを受信すると、これをキャッシュ領域５２Ｂに書込む。これにより、当該ホットスポットＨのデータはキャッシュされ、ミラーリングされる。
【００８４】
この後、アクセス装置３が、ストレージサーバ１０Ｂに対してＩ／Ｏ要求を送信する（Ｔ２３）。ストレージサーバ１０Ｂは、このＩ／Ｏ要求に対して、以下のような処理を行う。
【００８５】
即ち、アクセス処理が読出し処理の場合、ストレージサーバ１０Ｂは、読み出すべきスライスから、そのスライスメタ情報１１３を読出し、これに基づいて当該スライスについてキャッシュが有効であるか否かを調べる。キャッシュが有効である場合、ストレージサーバ１０Ｂは、アクセス装置３に対して、当該データをキャッシュサーバ５Ａから読出すように応答を返す（Ｔ２４）。
【００８６】
キャッシュが有効でない場合、ストレージサーバ１０Ｂは、当該スライスのデータをキャッシュサーバ５Ａに転送する（以下、キャッシュ転送と言う）。この後、ストレージサーバ１０Ｂは、当該スライスのスライスメタ情報１１３にキャッシュが有効であることを書き込む。この後、ストレージサーバ１０Ｂは、アクセス装置３に対して、当該データをキャッシュサーバ５Ａから読出すように応答する（Ｔ２４と同様のタイミング）。
【００８７】
一方、アクセス処理が書込み処理の場合、ストレージサーバ１０Ｂは、書き込むべきスライスから、そのスライスメタ情報１１３を読出し、これに基づいて当該スライスについてキャッシュが有効であるか否かを調べる。キャッシュが有効である場合、ストレージサーバ１０Ｂは、アクセス装置３に対して、データをキャッシュサーバ５Ａに書込むように応答を返す（Ｔ２４と同様のタイミング）。
【００８８】
キャッシュが有効でない場合、ストレージサーバ１０Ｂは、当該スライスのデータをキャッシュサーバ５Ａにキャッシュ転送する。この後、ストレージサーバ１０Ｂは、当該スライスのスライスメタ情報１１３にキャッシュが有効であることを書き込む。この後、ストレージサーバ１０Ｂは、アクセス装置３に対して、データをキャッシュサーバ５Ａに書込むように応答する（Ｔ２４と同様のタイミング）。
【００８９】
この通知を受けたアクセス装置３は、当該アクセスのアクセス先を、ディスク装置１１Ｂからキャッシュサーバ５Ａに切替える（Ｔ２５）。即ち、アクセス装置３は、キャッシュサーバ５Ａに対して当該Ｉ／Ｏ要求を送信し、データの読出し又は書込みを行う（Ｔ２６）。
【００９０】
この後、キャッシュサーバ５Ａにおいて読出し又は書込みされたデータは、キャッシュサーバ５Ｂにミラーリングされる。このミラーリングは、例えば当該読出し又は書込みの終了時に実行される。又は、このミラーリングは、例えば一定時間間隔で行うようにしても良く、読出し及び書込み回数が予め定められた回数を超えた場合に行うようにしても良い。
【００９１】
図７は、キャッシュサーバ５のキャッシュ領域開放の処理を示す。
【００９２】
キャッシュサーバ５にキャッシュしたホットスポットＨに対するＩ／Ｏアクセスが、アクセス装置３とキャッシュサーバ５Ａとの間において実行される（Ｔ３０、Ｔ３１）。例えば、このアクセスは、最初は極めて頻繁に実行されるが、その後急激に減少する。
【００９３】
パケット解析装置４は、情報蓄積テーブル４１に基づいて、当該スライスへのアクセスの集中度が第２の閾値を下回ったことを検出して、当該スライスがホットスポットではないことを検出する（Ｔ３２）。この検出処理は、情報管理テーブル４２に登録されたロジック制御における所定の単位時間毎に実行される。
【００９４】
そこで、パケット解析装置４は、ストレージサーバ１０Ｂに対して、ホットスポットＨである当該スライスのキャッシュの解除を通知する（Ｔ３３）。キャッシュの解除を受信したストレージサーバ１０Ｂは、キャッシュ管理サーバ２に対し、キャッシュの解除を通知する（Ｔ３４）。キャッシュの解除を受信したキャッシュ管理サーバ２は、当該キャッシュの解除を、キャッシュサーバ５Ａに通知し（Ｔ３５）、また、キャッシュサーバ５Ｂに通知する（Ｔ３６）。
【００９５】
この後、キャッシュサーバ５Ａは、キャッシュ領域５２Ａ（図６参照）の内容であるキャッシュデータを、キャッシュサーバ５Ｂのキャッシュ領域５２Ｂ（図６参照）に格納する（Ｔ３７）。なお、Ｔ３７の処理は省略するようにしても良い。この後、キャッシュサーバ５Ａは、キャッシュ領域５２Ａの内容を、ストレージサーバ１０Ｂに転送する（Ｔ３８）。これを受信したストレージサーバ１０Ｂは、受信したデータを、ディスク装置１１Ｂの対応するスライスに書込む（Ｔ３９）。
【００９６】
この後、ディスク装置１１Ｂは、データ領域１１０の対応するスライスメタ情報１１３に、当該スライスについてのキャッシュが無効であることを書込み、この書込みの終了をストレージサーバ１０Ｂに通知する。この書込み終了を受信したストレージサーバ１０Ｂは、キャッシュ領域５２Ａの内容のディスク装置１１Ｂへの書込み完了通知を、キャッシュサーバ５Ａに通知する。
【００９７】
この完了通知を受信したキャッシュサーバ５Ａは、キャッシュサーバ５Ｂに対して、キャッシュ領域５２Ｂの開放を通知する。この開放の通知を受信したキャッシュサーバ５Ｂは、キャッシュ領域５２Ｂを開放する。この後、キャッシュサーバ５Ｂは、キャッシュ領域５２Ｂの開放の完了をキャッシュサーバ５Ａに通知する。これを受信したキャッシュサーバ５Ａは、キャッシュ領域５２Ａを開放し、この後、キャッシュ管理サーバ２に対し、キャッシュ領域５２Ａ及び５２Ｂの開放の完了を通知する。
【００９８】
この後、例えば、キャッシュ管理サーバ２は、キャッシュ領域５２Ａ及び５２Ｂの開放の完了を、パケット解析装置４に通知する。これに応じて、パケット解析装置は、情報管理テーブル４２からホットスポットＨを削除する。
【００９９】
図８は、パケット解析装置４のホットスポット判断処理フローを示す。
【０１００】
パケット解析装置４は、ネットワーク６に含まれるネットワークスイッチ等において、アクセス装置３との通信インタフェースのミラーポートから受信されるパケットを待つ（ステップＳ１）。パケットが受信されない場合、ステップＳ１を繰り返す。
【０１０１】
パケットが受信された場合、パケット解析装置４は、取得したモニタパケットを解析して、論理ボリュームＩＤ、セグメントＩＤ等のアクセス先の情報、読出し処理及び書込み処理のアクセス種別、パケットサイズ等の情報を読取り、情報蓄積テーブル４１に保存する（ステップＳ２）。
【０１０２】
パケット解析装置４は、直前のホットスポットの検出（ステップＳ４〜Ｓ１１の処理）から、当該セグメント（又は論理ボリューム）についての所定の検出時間が経過したか否かを監視する（ステップＳ３）。セグメントＩＤが“ＳＡ”であるとすると、所定の検出時間は１０分である。所定の検出時間が経過していない場合、ステップＳ１以下を繰り返す。なお、当該セグメントが情報管理テーブル４２に登録されていなければ、所定の検出時間は経過していないものとされる。所定の検出時間が経過した場合、パケット解析装置４は、情報管理テーブル４２に登録されているセグメント（以下、ホットスポット登録セグメント）について、所定の検出時間即ち直前の１０分間における入出力パケット数ｉｏｐｓを求める（ステップＳ４）。
【０１０３】
パケット解析装置４は、直前の所定の検出時間、即ち、１０分間におけるｉｏｐｓが５００（図８においては、５００ｉｏｐｓと表す）を下回るか否かを調べる（ステップＳ５）。即ち、この例における第２の閾値は５００ｉｏｐｓである。ｉｏｐｓが５００を下回る場合、パケット解析装置４は、ｉｏｐｓが５００を下回ったセグメントを管理するストレージサーバ１０に対し、ホットスポットＨの解除を指令する（ステップＳ６）。即ち、パケット解析装置４は、キャッシュ解除を通知する。
【０１０４】
パケット解析装置４は、情報管理テーブル４２（以下、ホットスポット管理テーブル）から該当するセグメントを削除し（ステップＳ７）、ホットスポットとして、ホットスポット管理テーブルに登録されていないスライス即ちセグメント（以下、未登録セグメント）について直前の１０分間におけるｉｏｐｓを求める（ステップＳ８）。
【０１０５】
パケット解析装置４は、直前の１０分間におけるｉｏｐｓが７００を上回るか否かを調べる（ステップＳ９）。即ち、この例における第１の閾値は７００ｉｏｐｓである。ｉｏｐｓが７００を上回らない場合、ステップＳ１以下を繰り返す。
【０１０６】
ｉｏｐｓが７００を上回る場合、パケット解析装置４は、ｉｏｐｓが７００を上回ったセグメントを管理するストレージサーバ１０に対し、ホットスポットの設定指令を出す（ステップＳ１０）。即ち、パケット解析装置４は、キャッシュ指示を通知する。該当ストレージサーバ１０の応答確認後、パケット解析装置４は、ホットスポット管理テーブルへ該当するセグメントを登録（ステップＳ１１）し、ステップＳ１以下を繰り返す。
【０１０７】
なお、第１の閾値を第２の閾値よりも大きい値とすることにより、確実にホットスポットであると判断されるデータ領域をホットスポット管理テーブルに登録することができ、また、一旦ホットスポットとして検出したデータ領域のキャッシュを継続することができ、これにより、オーバーヘッドの発生を防止することができる。
【０１０８】
図９は、分散ディスクキャッシュシステムの一実施例による他の構成を示す。図９は、図１の構成にキャッシュサーバ５Ｃを増設した構成である。図９の分散ディスクキャッシュシステムは、ストレージ装置１のディスク容量、アクセス装置３のＩ／Ｏ負荷に応じて、キャッシュサーバ５をネットワーク６に容易に増設することができる。なお、図９の分散ディスクキャッシュシステムにおいては、パケット解析装置４を１台としているが、アクセス装置３の数や、監視する通信ポートの数等に応じて、複数のパケット解析装置４を接続するようにしても良い。
【図面の簡単な説明】
【０１０９】
【図１】本発明の一実施形態による分散ディスクキャッシュシステムの構成を示す図である。
【図２】ストレージ装置の論理ボリュームの構成を示す図である。
【図３】ディスク装置のディスクデータ構造、情報蓄積テーブル及び情報管理テーブルを示す図である。
【図４】パケット解析装置の入出力パケットを監視する動作概要を示す図である。
【図５】パケット解析装置のホットスポット検出及びキャッシュ制御の動作概要を示す図である。
【図６】キャッシュサーバのキャッシュ領域割当後のＩ／Ｏアクセス処理の動作概要を示す図である。
【図７】キャッシュサーバのキャッシュ領域開放後の動作概要を示す図である。
【図８】パケット解析装置のホットスポット判断処理フローを示す図である。
【図９】本発明の他の実施形態による分散ディスクキャッシュシステムの構成を示す図である。
【図１０】本発明の背景となったネットワークストレージの負荷状態におけるパケットキャプチャ結果を示す図である。
【図１１】本発明の背景となったネットワークストレージの時間帯分布毎のＩ／Ｏアクセス状態の概要を示す図である。
【符号の説明】
【０１１０】
１      ストレージ装置
２      キャッシュ管理サーバ
３      アクセス装置
４      パケット解析装置
５      キャッシュサーバ
６      ネットワーク
１０    ストレージサーバ
１１    ディスク装置（ＲＡＩＤ）
４１    情報蓄積テーブル
４２    情報管理テーブル
５１    キャッシュ
５２    割当てキャッシュ領域
１１０  スライス（セグメント）
１１１  デバイスメタ情報
１１２  スライスアクセスカウンタ
１１３  スライスメタ情報
１１４  スライスデータ
【図１】
2010002942.tif 000003
【図２】
2010002942.tif 000004
【図３】
2010002942.tif 000005
【図４】
2010002942.tif 000006
【図５】
2010002942.tif 000007
【図６】
2010002942.tif 000008
【図７】
2010002942.tif 000009
【図８】
2010002942.tif 000010
【図９】
2010002942.tif 000011
【図１０】
2010002942.tif 000012
【図１１】
2010002942.tif 000013