(57)【要約】パーソナルコンピュータやワークステーションなどのクライアント装置と、データを格納する記憶装置および格納位置を管理する制御装置からなるストレージシステムとにより構成され、クライアント装置からのアクセス要求に対するレイテンシを短縮したデータアクセス応答システムである。ネットワーク５を介して互いに通信する、ストレージ装置３、キャッシュ装置４、クライアント装置７、およびストレージ装置３とキャッシュ装置４とに格納されたデータの格納位置を管理する制御装置２を備え、制御装置２は、クライアント装置７から格納位置を管理するデータへのアクセス要求を受けたときには、そのデータが格納された格納先装置に転送指示を行い、転送指示を受けた格納先装置は、そのデータの格納位置の情報を付加した応答メッセージを、直接クライアント装置７に返信する。
2004104838.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して接続された、データを記憶するストレージ装置、
前記ストレージ装置に記憶されたデータのキャッシュ先となるキャッシュ装置、
データを処理するクライアント装置、および該ストレージ装置と該キャッシュ装置とに格納されたデータの格納位置を管理する制御装置を備え、
前記制御装置は、前記クライアント装置から格納位置を管理するデータへのアクセス要求を受けたときには、前記ストレージ装置および前記キャッシュ装置のうちの該データが格納された何れか一方の格納先装置に該データの転送指示を行い、
転送指示を受けた前記格納先装置は、前記アクセス要求を受けたデータの格納位置の情報を付加した応答メッセージを、直接前記クライアント装置に返信することを特徴とするデータアクセス応答システム。
【請求項２】
前記格納先装置が前記キャッシュ装置であって、
前記クライアント装置は、前記格納位置の情報を格納するメモリを有することを特徴とする請求項２記載のデータアクセス応答システム。
【請求項３】
前記クライアント装置は、前記メモリに前記格納位置の情報を格納したデータに再びアクセス要求を行うときには、前記制御装置にアクセス要求を行うことなく、直接前記キャッシュ装置にアクセスし、該キャッシュ装置から該データの転送を受けることを特徴とする請求項２記載のデータアクセス応答システム。
【請求項４】
前記キャッシュ装置は、前記アクセス要求を受けたデータに対する前記格納位置の情報を変更することにより、該データに関し前記クライアント装置が直接該キャッシュ装置にアクセスすることを排除することを特徴とする請求項３記載のデータアクセス応答システム。
【請求項５】
前記クライアント装置は、直接前記キャッシュ装置にアクセスできないときは、該クライアント装置にキャッシュした前記格納位置の情報を消去し、前記データへのアクセス要求は、前記制御装置に行うことを特徴とする請求項４記載のデータアクセス応答システム。
【請求項６】
前記クライアント装置は、前記アクセス要求が書き込み処理を伴う要求である場合には、直接前記キャッシュ装置にアクセスして書き込み処理を行った後に、前記制御装置に前記書き込み処理を行ったデータの整合指令を送信することを特徴とする請求項３記載のデータアクセス応答システム。
【請求項７】
前記キャッシュ装置は、前記整合指令を受けた前記制御装置の指示により、前記クライアント装置が書き込み処理を行ったデータを前記ストレージ装置に複写することを特徴とする請求項６記載のデータアクセス応答システム。
【請求項８】
ネットワークを介して互いに通信する、データを記憶するストレージ装置、
前記ストレージ装置に記憶されたデータのキャッシュ先となるキャッシュ装置、
データを処理するクライアント装置、および該ストレージ装置と該キャッシュ装置とに格納されたデータの格納位置を管理する制御装置を備え、
前記クライアント装置は、データを格納するキャッシュ領域を有するメモリを備え、該キャッシュ領域に関する情報を前記制御装置に通知することを特徴とするデータアクセス応答システム。
【請求項９】
前記制御装置は、前記キャッシュ装置へのアクセス頻度が高いデータの格納位置の情報を前記キャッシュ領域に格納することを特徴とする請求項８記載のデータアクセス応答システム。
【請求項１０】
前記制御装置は、前記キャッシュ領域にキャッシュした前記格納位置の情報を任意に消去することを特徴とする請求項９記載のデータアクセス応答システム。
【請求項１１】
前記クライアント装置は、アクセス頻度が高いデータを自己管理するとともに、所定のアクセス頻度のデータに関する格納位置の情報を前記制御装置に要求し、該格納位置の情報を前記キャッシュ領域に格納することを特徴とする請求項８記載のデータアクセス応答システム。
【請求項１２】
前記クライアント装置は、前記キャッシュ領域にキャッシュした前記格納位置の情報を任意に消去することを特徴とする請求項１１記載のデータアクセス応答システム。
【請求項１３】
前記クライアント装置は、前記制御装置により前記格納位置が管理されたデータへのアクセス要求を行う場合には、前記キャッシュ領域にキャッシュされた前記格納位置の情報を検索し、該アクセス要求に対応するデータが前記キャッシュ装置に格納されているときは、該制御装置にアクセス要求を行うことなく、直接該キャッシュ装置にアクセスし、該キャッシュ装置から該データの転送を受けることを特徴とする請求項９又は１１記載のデータアクセス応答システム。
【請求項１４】
前記クライアント装置は、前記アクセス要求が書き込み処理を伴う要求である場合には、直接前記キャッシュ装置にアクセスして書き込み処理を行った後に、前記制御装置に前記書き込み処理を行ったデータの整合指令を送信することを特徴とする請求項９又は１１記載のデータアクセス応答システム。
【請求項１５】
前記キャッシュ装置は、前記整合指令を受けた前記制御装置の指示により、前記クライアント装置が書き込み処理を行ったデータを前記ストレージ装置に複写することを特徴とする請求項１４記載のデータアクセス応答システム。
【請求項１６】
ネットワークを介して接続された、データを記憶するストレージ装置、
前記ストレージ装置に記憶されたデータのキャッシュ先となるキャッシュ装置、
および該ストレージ装置と該キャッシュ装置とに格納されたデータの格納位置を管理する制御装置を備え、
前記制御装置は、データを処理するクライアント装置から格納位置を管理するデータへのアクセス要求を受けたときには、前記ストレージ装置および前記キャッシュ装置のうちの該データが格納された何れか一方の格納先装置に該データの転送指示を行い、
転送指示を受けた前記格納先装置は、前記アクセス要求を受けたデータの格納位置の情報を付加した応答メッセージを、直接前記クライアント装置に返信することを特徴とするストレージシステム。
【請求項１７】
ネットワークを介して互いに接続された、データを記憶するストレージ装置、前記ストレージ装置に記憶されたデータのキャッシュ先となるキャッシュ装置、および該ストレージ装置と該キャッシュ装置とに格納されたデータの格納位置を管理する制御装置を備えたストレージシステムに、該ネットワークを介して接続された、データを処理するクライアント装置であって、
該クライアント装置は、該制御装置にアクセス要求を行ない、該アクセス要求を行なったデータが格納された格納先装置から該データの格納位置の情報を含む応答メッセージを受けることにより該格納先装置に直接アクセスして該格納されたデータを取得することを特徴とするクライアント装置。
【請求項１８】
データを記憶するストレージ装置に記憶されたデータのキャッシュ先となるキャッシュ装置であって、
前記ストレージ装置、データを処理するクライアント装置、および該ストレージ装置と前記キャッシュ装置とに格納されたデータの格納位置を管理する制御装置それぞれにネットワークを介して接続され、該クライアント装置からアクセス要求を受けたデータの転送指示が該制御装置から送信されたときに、該データの格納位置の情報を付加した応答メッセージを、直接該クライアント装置に返信することを特徴とするキャッシュ装置。
【請求項１９】
ネットワークを介して互いに接続された、データを記憶するストレージ装置、
前記ストレージ装置に記憶されたデータのキャッシュ先となるキャッシュ装置、
データを処理するクライアント装置、および該ストレージ装置と該キャッシュ装置とに格納されたデータの格納位置を管理する制御装置を備えたデータアクセス応答システムへのアクセス方法であって、
前記制御装置が前記クライアント装置から格納位置を管理するデータへのアクセス要求を受けたときに、前記ストレージ装置および前記キャッシュ装置のうちの該データが格納された何れか一方の格納先装置に該データの転送指示を行う手順と、
転送指示を受けた前記格納先装置が前記アクセス要求を受けたデータの格納位置の情報を付加した応答メッセージを、直接前記クライアント装置に返信する手順とを有することを特徴とするデータアクセス応答システムへのアクセス方法。
【請求項２０】
前記クライアント装置は、前記格納位置の情報を前記キャッシュメモリにキャッシュし、該キャッシュメモリに該格納位置の情報がキャッシュされたデータにアクセス要求を行うときは、前記制御装置にアクセス要求を行うことなしに直接前記格納先装置にアクセスすることを特徴とする請求項１９記載のデータアクセス応答システムへのアクセス方法。
【請求項２１】
前記クライアント装置は、データを格納するキャッシュ領域を有するメモリを備え、
前記クライアント装置が、前記キャッシュ領域に関する情報を前記制御装置に通知する手順と、該キャッシュ装置へのアクセス頻度が高いデータの格納位置の情報を該キャッシュ領域に格納する手順とを備えたことを特徴とする請求項１９記載のデータアクセス応答システムへのアクセス方法。
【請求項２２】
前記クライアント装置が、前記制御装置により前記格納位置が管理されたデータへのアクセス要求を行う場合に、前記キャッシュ領域にキャッシュされた前記格納位置の情報を検索し、該アクセス要求に対応するデータが前記キャッシュ装置に格納されているときは、該制御装置にアクセス要求を行うことなく、直接該キャッシュ装置にアクセスする手順を備えたことを特徴とする請求項１９記載のデータアクセス応答システムへのアクセス方法。
【発明の詳細な説明】
【技術分野】  本発明は、特にパーソナルコンピュータ（以下、「ＰＣ」と略称する。）やワークステーション（以下、「ＷＳ」と略称する。）などのクライアント装置からハードディスク装置等のストレージ装置へのアクセス技術に関する。
【背景技術】  従来から、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）やＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）等のインタフェースを用いて、ＰＣやＷＳ等のクライアント装置にハードディスク装置等のストレージ装置を物理的に接続したストレージシステムが盛んに使用されている。
図２５は、従来から用いられているストレージシステムの一例を示す図である。
図２５に示すストレージシステムは、ＰＣ等からなるクライアント装置１００と、ＳＣＳＩカード１０３に接続されたバス３００と、ディスク装置２０３等を有する入出力装置２００とを備えている。クライアント装置１００と入出力装置２００とは、バス３００により接続されている。クライアント装置１００は、ＣＰＵ１０１、メインメモリ１０２、ＳＣＳＩカード１０３、内部バス１０４とを備え、ＣＰＵ１０１とメインメモリ１０２とは内部バス１０４を介して相互に通信可能に接続され、内部バス１０４は、ＳＣＳＩカード１０３に接続されている。また、メインメモリ１０２には、ＯＳの一機能としてファイルシステム１０５およびＳＣＳＩドライバ１０６が組み込まれている。
入出力装置２００は、ディスクコントローラ２０１と、バッファ２０２と、ディスク装置２０３とを備え、ディスク装置２０３は、バッファ２０２を介してディスクコントローラ２０１に接続され、ディスクコントローラ２０１は、バス３００に接続されている。
このストレージシステムにおいて、例えばクライアント装置１００から入出力装置２００へデータの書き込みを行う場合には、以下の処理がなされる。
すなわち、クライアント装置１００のＯＳ（ファイルシステム１０５）が、ＳＣＳＩドライバ１０６にディスク装置２０３への書き込み要求を行う（Ａ１）。ＳＣＳＩドライバ１０６は、ディスクコントローラ２０１との間でデータの転送レート決定のためのネゴシエーションを数回繰り返した後に、バス３００上にパスを設定する（Ａ２）。パスが設定されると、クライアント装置１００は、データの転送を開始するためディスクコントローラ２０１にそのデータの書き込みを依頼する（Ａ３）。この場合、入出力装置２００におけるデータの書き込みに時間がかかるときは、ＳＣＳＩドライバ１０６は、一旦ディスクコントローラ２０１とのパスを解除する。
入出力装置２００のディスクコントローラ２０１は、クライアント装置１００から受け取ったデータを一旦バッファ２０２に格納した後（Ａ４）、その受け取ったデータをディスク装置２０３に書き込む（Ａ５）。入出力装置２００におけるデータの書き込みが終了すると、ディスクコントローラ２０１は、ＳＣＳＩドライバ１０６に割り込みを入れ、書き込みの終了を報告し（Ａ８）、ＳＣＳＩドライバ１０６は、ファイルシステム１０５に転送完了を報告する（Ａ９）。
このように、従来から用いられているストレージシステムにおいて、例えばクライアント装置１００から入出力装置２００にデータ転送を行なう場合は、入出力装置２００がＳＣＳＩやＦＣ等に規定されたプロトコルにより、先ずディスクコントローラ２０１を起動する必要がある。また、クライアント装置１００から入出力装置２００にデータ転送を開始するまでに、転送レートを決定するためのネゴシエーションを複数回行う必要がある。したがって、データ転送を開始するまでのレイテンシ（待ち時間）が大きく、さらに、データ転送を開始した後の手順も複雑であるという課題がある。
また、ＳＣＳＩやＦＣ等のインタフェースを用いたストレージシステムのデータ転送速度は、せいぜい１６０Ｍバイト／秒である。このため、次世代の高速入出力技術として開発が進められている、例えばＩｎｆｉｎｉＢａｎｄ（ＩｎｆｉｎｉＢａｎｄ（ＳＭ）Ｔｒａｄｅ  Ａｓｓｏｃｉａｔｉｏｎの商標、以下「ＩＢ」と略称する。）など、２．５Ｇｂｐｓ、１０Ｇｂｐｓ、３０Ｇｂｐｓといった高速度の伝送帯域を充分に活用しきれなくなるという問題もある。
このような問題を解決するものとして、例えばクライアント装置と、入出力装置と、それら相互間を接続してデータ転送を可能にする接続手段と、入出力装置の仮想アドレス情報と物理アドレス情報とを対応付けて管理する仮想アドレス管理手段と、仮想アドレス管理手段で管理されている仮想アドレス情報に基づいてクライアント装置とストレージ装置相互間のデータ転送を制御する制御手段とを備え、クライアント装置から入出力装置にデータ転送を開始するまでの、煩雑なネゴシエーションを回避したストレージシステムが提案されている（特許文献１）。
一方、データ処理量の増大化に対応する１つの解決手段として複数サーバにより分割処理が可能なシステムの開発が盛んに行なわれている。しかし、その実現には、複数のサーバから共通のデータにアクセスしたり、任意のサーバから任意のデータにアクセスすることが可能な高速ファイルアクセス技術が不可欠である。このため、例えばＩＢなどの高速の伝送帯域にも適合する、Ｄｉｒｅｃｔ  Ａｃｃｅｓｓ  Ｆｉｌｅ  Ｓｙｓｔｅｍ（以下、「ＤＡＦＳ」と略称する。）と称するファイル共用プロトコルの開発が推進されている。このＤＡＦＳは、異なるクライアント装置等のメモリに直接アクセスするＲｅｍｏｔｅ  Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ（以下、「ＲＤＭＡ」と略称する。）技術等を用いることにより実現される（非特許文献１）。
本発明は、ＤＡＦＳなどのプロトコルを用い、例えばＩｎｆｉｎｉＢａｎｄなどの高速の伝送帯域を充分に生かすともに、クライアント装置とストレージ装置との間のデータ転送時のレイテンシの短縮を図った、データアクセス応答システム、ストレージシステム、クライアント装置、キャッシュ装置、およびデータアクセス応答システムへのアクセス方法を提供することを目的とする。
『特許文献１』特開２００３−６１３７号公報（段落番号００１０〜段落番号００２０、図１他）
『非特許文献１』ｈｔｔｐ：／／ｗｗｗ／ｄａｆｓ０１．ｈｔｍｌ（特別企画「ＤＡＦＳ」技術解説、２００３．０３．１７）
【発明の開示】
第１の発明は、ネットワークを介して互いに通信する、データを記憶するストレージ装置、そのストレージ装置に記憶されたデータのキャッシュ先となるキャッシュ装置、データを処理するクライアント装置、およびそのストレージ装置とそのキャッシュ装置とに格納されたデータの格納位置を管理する制御装置を備え、その制御装置は、上記クライアント装置から格納位置を管理するデータへのアクセス要求を受けたときには、そのデータが格納された、上記ストレージ装置および／または上記キャッシュ装置のうちの何れか一方の格納先装置に格納されたデータの転送指示を行い、転送指示を受けたその格納先装置は、上記アクセス要求を受けたデータの格納位置の情報を付加した応答メッセージを、直接上記クライアント装置に返信することを特徴とするデータアクセス応答システムである。
なお、本発明のうち、データを処理するクライアント装置を除いた構成要素によりストレージシステムが構成される。
第１の発明の制御装置は、ストレージ装置およびキャッシュ装置の何処にどのようなデータが格納されているかを管理するとともに、ストレージ装置およびキャッシュ装置に格納されたデータに対するクライアント装置からのアクセス要求を、原則として一元的に受け付ける。そして、アクセス要求を受けたデータがストレージ装置またはキャッシュ装置の何れか一方のみに格納されている場合には、格納されているその一方の装置にデータの転送指示を行い、そのデータがストレージ装置およびキャッシュ装置双方に格納されている場合には、キャッシュ装置にデータの転送指示を行う。第１の発明においては、クライアント装置からアクセス要求を受けた制御装置がデータの転送指示を行う先を「格納先装置」と称する。クライアント装置は、その格納先装置に直接アクセスする、ＲＤＭＡを行なうことにより所定のデータを取得する。これにより、クライアント装置からアクセス要求を行なったときのレイテンシの短縮が図れる。
また、クライアント装置に、格納先装置に格納されたデータの格納位置の情報を格納するメモリを設け、そのメモリにキャッシュされたデータに再びアクセス要求を行うときには、制御装置にアクセス要求を行うことなく、直接その格納先装置にアクセスし、データの転送を受けることにより、アクセス要求を行なったときのレイテンシを、さらに短縮することができる。なお、クライアント装置にキャッシュしたデータへのアクセス頻度が低下したときには、クライアント装置の格納位置の情報を消去すれば、格納位置の情報を格納するメモリを有効活用することができる。
また、アクセス要求は、データ転送に限らず、データの書き込み処理についても同様な処理が可能であるが、格納先装置に書き込み処理を行ったときは、制御装置に書き込み処理を行ったデータをストレージ装置にも複写し、格納データの整合を図ることもできる。
また、第２の発明は、ネットワークを介して互いに通信する、データを記憶するストレージ装置、そのストレージ装置に記憶されたデータのキャッシュ先となるキャッシュ装置、データを処理するクライアント装置、およびそのストレージ装置とそのキャッシュ装置とに格納されたデータの格納位置を管理する制御装置を備え、上記クライアント装置は、データを格納するキャッシュ領域を有するメモリを備え、そのキャッシュ領域に関する情報を上記制御装置に通知することを特徴とするデータアクセス応答システムである。
この第２の発明における制御装置は、上記キャッシュ装置へのアクセス頻度が高いデータの格納位置の情報を上記キャッシュ領域に格納することにより、直接キャッシュ装置にアクセスし、ＲＤＭＡを行なうことができるので、クライアント装置からのアクセス要求におけるレイテンシを短縮することができる。
また、上記制御装置は、例えばアクセス頻度の高いデータを管理し、上記キャッシュ領域にキャッシュした格納位置の情報のうちアクセス頻度が低下したデータの格納位置の情報を自在に消去することにより、キャッシュ領域を有効に活用することができる。なお、アクセス頻度の高いデータの管理をクライアント装置が行ない、アクセス頻度の高いデータの格納位置の情報を、クライアント装置から制御装置に要求することにしてもよい。
また、第２の発明のクライアント装置は、制御装置により格納位置が管理されたデータへのアクセス要求を行う場合には、キャッシュ領域に格納された格納位置の情報を検索し、アクセス要求に対応するデータがキャッシュ装置に格納されていることが確認されたときは、制御装置にアクセス要求を行うことなく、直接キャッシュ装置にアクセスし、そのキャッシュ装置から所望のデータの転送を受けることができる。さらに、アクセス要求が書き込み処理を伴う要求である場合には、第１の発明と同様、キャッシュ装置に書き込み処理を行ったデータをストレージ装置にも複写し、格納データの整合を図ることもできる。
【図面の簡単な説明】  図１は、本発明の第１の実施形態のデータアクセス応答システムを示す構成図である。
図２は、クライアント装置からアクセス要求を受けたデータアクセス応答システムの処理を示す図である。
図３は、格納位置情報を格納するメモリを有するクライアント装置からアクセス要求を受けたデータアクセス応答システムの処理を示す図である。
図４は、格納位置情報を格納するメモリを有するクライアント装置からアクセス要求を受けたデータアクセス応答システムの処理を示す図である。
図５は、本クライアント装置からアクセス要求を受けた場合におけるデータアクセス応答システムのシーケンスチャートを示す図である。
図６は、格納位置情報を格納しているクライアント装置からファイルＡへ再びアクセス要求を行う処理を示す図である。
図７は、格納位置情報を格納しているクライアント装置からファイルＡへ再びアクセス要求を行うシーケンスチャートを示す図である。
図８は、クライアント装置からＲＤＭＡにより直接キャッシュ装置にアクセスするのを排除する手段の一例を示す図である。
図９は、クライアント装置からＲＤＭＡにより直接キャッシュ装置にアクセスするのを排除するシーケンスチャートを示す図である。
図１０は、キャッシュ装置が特定のクライアント装置用の格納位置の情報を排除した場合に、その格納位置へ再びアクセス要求が生じた場合の処理を示す図である。
図１１は、キャッシュ装置が特定のクライアント装置用の格納位置の情報を排除した場合に、その格納位置へ再びアクセス要求が生じたときのシーケンスチャートを示す図である。
図１２は、クライアント装置からキャッシュ装置へ書き込み要求を行う処理を示す図である。
図１３は、クライアント装置からキャッシュ装置へ書き込み要求を行う処理を示す図である。
図１４は、クライアント装置からキャッシュ装置へ書き込み要求を行うシーケンスを示す図である。
図１５は、本発明の第２の実施形態のデータアクセス応答システムの、メモリにキャッシュ領域を有するクライアント装置とデータの格納位置の情報をメモリにキャッシュ領域を有するクライアント装置とデータの格納位置の情報を管理する制御装置との間において、キャッシュ領域や格納位置情報を通信する処理を示す図である。
図１６は、本発明の第２の実施形態のデータアクセス応答システムの、メモリにキャッシュ領域を有するクライアント装置とデータの格納位置の情報をメモリにキャッシュ領域を有するクライアント装置とデータの格納位置の情報を管理する制御装置との間において、キャッシュ領域や格納位置情報を通信する処理を示す図である。
図１７は、本発明の第２の実施形態のデータアクセス応答システムの、メモリにキャッシュ領域を有するクライアント装置とデータの格納位置の情報を管理する制御装置との間において、キャッシュ領域や格納位置情報を通信する処理を示す図である。
図１８は、クライアント装置と制御装置との間においてキャッシュ領域や格納位置の情報を通信するシーケンスチャートを示す図である。
図１９は、キャッシュ領域に書き込まれた情報に基づいてクライアント装置がアクセス要求を行う処理を示す図である。
図２０は、キャッシュ領域に書き込まれた情報に基づいてクライアント装置がアクセス要求を行う処理を示す図である。
図２１は、キャッシュ領域に書き込まれた情報に基づいてクライアント装置がアクセス要求を行う処理を示す図である。
図２２は、本発明の第３の実施形態のデータアクセス応答システムにおけるクライアント装置が、自ら管理するアクセス頻度に応じて、制御装置に格納位置の情報を登録するよう要求する処理を示す図である。
図２３は、本発明の第３の実施形態のデータアクセス応答システムにおけるクライアント装置が、自ら管理するアクセス頻度に応じて、制御装置に格納位置の情報を登録するよう要求する処理を示す図である。
図２４は、クライアント装置から制御装置に格納位置の情報を登録するよう要求するシーケンスチャートを示す図である。
図２５は、従来から用いられているストレージシステムの一例を示す図である。
【発明を実施するための最良の形態】  以下に、本発明のデータアクセス応答システム、ストレージシステム、クライアント装置、キャッシュ装置、およびデータアクセス応答システムへのアクセス方法の実施形態について説明する。
（第１の実施形態）
図１は、本発明の第１の実施形態のデータアクセス応答システムを示す構成図である。
図１に示すデータアクセス応答システムは、データを処理する、ＰＣやＷＳからなる複数のクライアント装置７が通信回線を介して接続されたクライアント装置群６と、それらクライアント装置群６にネットワーク５を介して接続された、データを記憶するストレージ装置３、ストレージ装置３に記憶されたデータのキャッシュ先となるキャッシュ装置４、ストレージ装置３およびキャッシュ装置４それぞれに格納されたデータの格納位置を管理するＷＳからなる制御装置２とにより構成されている。
クライアント装置群６を構成する各クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれ通信機能を有し、各クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれを接続するネットワーク５を介して相互に通信することができる。なお、ネットワーク５に接続された、ストレージ装置３、キャッシュ装置４、および制御装置２は、本発明のストレージシステムに相当する。
キャッシュ装置４は、アクセスタイムが短い半導体メモリを備えており、ストレージシステムに格納されるデータのうちアクセス頻度の高いものを、その半導体メモリに格納することができる。
制御装置２は、ストレージ装置３およびキャッシュ装置４の何処にどのようなデータが格納されているかを管理するとともに、ストレージ装置３およびキャッシュ装置４に格納されたデータに対するクライアント装置７からのアクセス要求を、原則として一元的に受け付ける。そして、アクセス要求を受けたデータがストレージ装置３またはキャッシュ装置４の何れか一方のみに格納されている場合には、格納されているその一方の装置にデータの転送指示を行い、そのデータがストレージ装置３およびキャッシュ装置４双方に格納されている場合には、キャッシュ装置４にデータの転送指示を行う。
本発明においては、クライアント装置７からアクセス要求を受けた制御装置がデータの転送指示を行う先を「格納先装置」と称する。
データの転送指示を受けた格納先装置、例えばキャッシュ装置４は、制御装置２からの転送指示に従って、ＲＤＭＡにより直接、クライアント装置７にアクセスさせる。
ここで、ネットワーク５は、例えば光ファイバにより形成され、１０Ｇｂｐｓでデータ通信を行うことができるので、例えばＩＢに対応することができる。ただし、ネットワーク５におけるデータ通信可能な速度は、必ずしも１０Ｇｂｐｓである必要はなく、２．５Ｇｂｐｓであっても、３０Ｇｂｐｓであってもよい。
クライアント装置群６は、光ファイバで構成されたＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（以下「ＬＡＮ」と略称する。）に複数のクライアント装置７が接続されることにより形成されているが、ＬＡＮは、同軸ケーブルなどにより構成されたものであってもよい。
ストレージ装置３は、データを記憶するディスク装置３１と、ディスク装置３１へのアクセスを制御するインタフェースカード３２とを備えている。インタフェースカード３２は、ネットワークコントローラとしての機能を有するターゲットチャンネルアダプタ（ＴＣＡ）３３と、プロトコル変換処理およびディスク領域管理を行う変換・管理部３４と、ディスクコントローラとしての機能を有するＳＣＳＩ３５とを有する。変換・管理部３４は、制御装置２からのメッセージを解釈し、そのメッセージ内容に応じて、ＳＣＳＩ３５を介してアクセスすべきディスク装置３１にアクセスしたり、クライアント装置７がＲＤＭＡによりそのディスク装置３１に格納されたデータに直接アクセスする。
キャッシュ装置４は、例えば１０ギガバイト（Ｇｂｙｔｅ）の容量を有するＲＡＭ等の半導体メモリからなるメモリデバイス４３と、ネットワークコントローラとしての機能を有するターゲットチャンネルアダプタ（ＴＣＡ）４１と、プロトコル処理およびメモリ領域管理を行うメモリ管理部４２とを有する。
メモリ管理部４２は、メモリデバイス４３のどの領域をディスク装置３１のデータのキャッシュ先として割り当てたかを管理するとともに、制御装置２からのメッセージを解釈し、そのメッセージ内容に応じて、メモリデバイス４３にアクセスすることにより、アクセス要求されたデータを、直接、クライアント装置７にアクセスさせてデータ転送を行う。また、その際に、キャッシュ装置４は、所定の応答メッセージをクライアント装置７に返信する。
制御装置２は、ＣＰＵ２１と、メモリ２２と、チップセット２３と、ホストチャンネルアダプタ（ＨＣＡ）２４とを有し、データアクセス応答システムのプロセスを管理するプログラムがプロソフトウエアやファームウエアという形態で実装されている。なお、このプログラムには、ＤＡＦＳに基づいたプロトコル処理を行うハンドラが組み込まれている。
制御装置２は、このプログラムの作用により、クライアント装置７からのアクセス要求を受け付け、ストレージ装置３およびキャッシュ装置４の何処にどのようなデータが格納されているかを管理することができる。
図２は、クライアント装置からアクセス要求を受けたデータアクセス応答システムの処理を示す図である。
図２に示す本実施形態のデータアクセス応答システムは、図１で説明したように、クライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムとにより構成されている。クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれの通信機能によりネットワーク５を介して相互に通信することができる。
ここで、キャッシュ装置には、例えばファイルＡが格納され、ストレージ装置３には、例えばファイルＢが格納されている。制御装置２は、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納位置が記録された管理表を備えている。
クライアント装置７から制御装置２に対して、ＤＡＦＳプロトコルに基づいたファイルＡへのアクセス要求がなされると（Ｓ−１）、制御装置２は、そのアクセス要求の内容を解析する。解析の結果、ファイルＡに対するアクセス要求であると認識すると、制御装置２は、管理表を検索し、先ず、アクセス要求があったファイルＡがキャッシュ装置４に格納されているか否かを確認する。
ファイルＡがキャッシュ装置４に格納されていることが確認されると、制御装置２は、キャッシュ装置４に、ＤＡＦＳプロトコルに基づいたデータの転送指示を行う（Ｓ−２）。このとき、アクセス要求があったクライアント装置７は、例えばＩＰ（インターネットプロトコル）のアドレス等を用いることにより特定することが可能である。
キャッシュ装置４は、制御装置２からデータの転送指示を受けると、その内容を解析し、クライアント装置７へのデータの転送指示であることを確認する。キャッシュ装置４は、データの転送指示があったファイルＡをメモリデバイス４３から読み出し、制御装置２から受信した応答メッセージをクライアント装置７に送出する（Ｓ−３）。また、ＲＤＭＡにより読み出したファイルＡに直接クライアント装置７をアクセスさせる（Ｓ−４）。
一方、クライアント装置７から制御装置２に対するアクセス要求がファイルＢであり、管理表を検索した結果、そのファイルＢがキャッシュ装置４に格納されていないことが確認されると、制御装置２は、さらに管理表を検索してそのファイルＢが格納されているストレージ装置３を特定する。ファイルＢの格納先装置が特定されると、制御装置２は、ＤＡＦＳプロトコルに基づいたデータ転送指示を、その格納先装置であるストレージ装置３に行う。転送指示を受けたストレージ装置３は、ファイルＢを読み出し、制御装置２から受信した応答メッセージをクライアント装置７に送出するとともに、読み出したファイルＢに、ＲＤＭＡにより直接クライアント装置７にアクセスさせる。
このように、データアクセス応答システムは、クライアント装置７からアクセスするデータの一部を、アクセスタイムの短い半導体メモリにキャッシュしたキャッシュ装置を備えており、またデータアクセス応答システムを構成する各装置は、高速度通信が可能なネットワークで接続され、かつＲＤＭＡにより高速度データ転送に適合させたＤＡＦＳプロトコルに基づく処理を行うことができる。したがって、クライアント装置から所定のデータへのアクセス要求を行なう際のレイテンシを短縮することができる。
また、本実施形態のデータアクセス応答システムにおいては、クライアント装置群の一部または全てが、キャッシュ装置に格納されたデータの格納位置情報を格納することが可能なメモリを備えおり、その格納位置情報を活用してアクセス要求を行なう際のレイテンシをさらに短縮することができるように構成されている。以下には、その格納位置情報を活用する形態について説明する。
図３および図４は、格納位置情報を格納するメモリを有するクライアント装置からアクセス要求を受けたデータアクセス応答システムの処理を示す図である。また、図５は、本クライアント装置からアクセス要求を受けた場合におけるデータアクセス応答システムのシーケンスチャートを示す図である。
図３および図４に示す本実施形態のデータアクセス応答システムは、キャッシュメモリ７１を備えるクライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムと、により構成されている。
クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれ通信機能を有し、その通信機能によりネットワーク５を介して相互に通信することができる。
キャッシュ装置４には、例えば格納位置をあらわすポインタｐｔｒ、格納されたデータの容量をあらわすサイズ、所定のクライアント装置のみに対してアクセスを許容するプロテクションタグｐｔａｇからなる情報が記録されたファイルＡが格納されており、ストレージ装置３には、ファイルＢが格納されている。
制御装置２には、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納先装置等（ファイルＡ：キャッシュ装置ＣＭ、ファイルＢ：ストレージ装置ＳＭ等）を記録した管理表が備えられている。
また、クライアント装置には、キャッシュ装置に格納されたファイルＡの格納位置の情報（ファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」）を格納するキャッシュメモリ７１が備えられている。
図３〜図５に示すように、キャッシュメモリ７１を備えるクライアント装置７から制御装置２に対し、ＤＡＦＳプロトコルに基づいたファイルＡへのアクセス要求がなされると（Ｓ−１）、制御装置２は、そのアクセス要求の内容を解析し、ファイルＡが格納されている格納先装置（キャッシュ装置ＣＭまたはストレージ装置ＳＭ）を特定する。ファイルＡがキャッシュ装置ＣＭに格納されていることが確認されると、管理表からさらにファイルＡの格納位置の情報（「ｐｔｒ」、「サイズ」、「ｐｔａｇ」）を取り出す。次に、制御装置２は、キャッシュ装置４に対し、ＤＡＦＳプロトコルに基づいた、クライアント装置７へのファイルＡの転送指示を行なう（Ｓ−２）。このとき、クライアント装置７の特定は、例えばＩＰ（インターネットプロトコル）のアドレス等を用いることが可能である。キャッシュ装置４は、制御装置２からファイルＡの転送指示を受けると、その内容を解析し、クライアント装置７への転送指示であることを確認する。キャッシュ装置４は、転送指示があったファイルＡをメモリデバイスから読み出し、制御装置２から受信した、ファイルＡの格納位置の情報（「ｐｔｒ」、「サイズ」、「ｐｔａｇ」）を添付した応答メッセージをクライアント装置７に送出する（Ｓ−３）。また、読み出したファイルＡに、ＲＤＭＡにより直接、クライアント装置７がアクセスする（Ｓ−４）。クライアント装置は、キャッシュメモリ７１に、ファイルＡの格納位置の情報（「ｐｔｒ」、「サイズ」、「ｐｔａｇ」）を格納する。
図６は、格納位置の情報を格納しているクライアント装置からファイルＡへ再びアクセス要求を行う処理を示す図であり、図７は、格納位置情報を格納しているクライアント装置からファイルＡへ再びアクセス要求を行うシーケンスチャートを示す図である。
図６に示す本実施形態のデータアクセス応答システムは、キャッシュメモリ７１を備えるクライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムとにより構成されている。クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれの通信機能によりネットワーク５を介して相互に通信することができる。
キャッシュ装置４には、例えば格納位置をあらわすポインタｐｔｒ、格納されたデータの容量をあらわすサイズ、所定のクライアント装置のみに対してアクセスを許容するプロテクションタグｐｔａｇからなる情報が記録されたファイルＡが格納されており、ストレージ装置３には、ファイルＢが格納されている。
制御装置２には、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納先装置等（ファイルＡ：キャッシュ装置ＣＭ、ファイルＢ：ストレージ装置ＳＭ等）を記録した管理表が備えられている。
また、クライアント装置４には、キャッシュ装置４に格納されたファイルＡの格納位置の情報（ファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」）を格納するキャッシュメモリ７１が備えられている。
図６および図７に示すように、格納位置の情報を格納しているクライアント装置７から、アクセス要求を行う場合は、クライアント装置７は、先ず、アクセス要求を行うファイルＡの格納位置の情報が自己のキャッシュメモリ７１に格納されているか否かを検索する。そして、ファイルＡの格納位置の情報がキャッシュメモリ７１に格納されていることを確認すると（Ｓ−５）、クライアント装置７は、制御装置２にアクセス要求を行うことなく、確認したファイルＡの格納位置の情報に基づいて、ＲＤＭＡにより直接、キャッシュ装置４にアクセスする（Ｓ−６）。
このように、キャッシュ装置４に格納されたデータの格納位置の情報をクライアント装置７に格納しておき、それと同じデータに再びアクセスする必要が生じた場合には、制御装置２を介することなく、クライアント装置７がＲＤＭＡにより直接、キャッシュ装置４にアクセスするので、アクセス要求を行う際のレイテンシをさらに短縮することができる。
図８は、図６および図７で説明した、クライアント装置からＲＤＭＡにより直接キャッシュ装置にアクセスするのを排除する手段の一例を示す図であり、図９は、クライアント装置からＲＤＭＡにより直接キャッシュ装置にアクセスするのを排除するシーケンスチャートを示す図である。
図８に示す本実施形態のデータアクセス応答システムは、キャッシュメモリ７１を備えるクライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムとにより構成されている。クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれの通信機能によりネットワーク５を介して相互に通信することができる。
キャッシュ装置４には、例えば格納位置をあらわすポインタｐｔｒ、格納されたデータの容量をあらわすサイズ、所定のクライアント装置のみに対してアクセスを許容するプロテクションタグｐｔａｇからなる情報が記録されたファイルＡが格納されており、ストレージ装置３には、ファイルＢが格納されている。
制御装置２には、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納先装置等（ファイルＡ：キャッシュ装置ＣＭ、ファイルＢ：ストレージ装置ＳＭ等）を記録した管理表が備えられている。
また、クライアント装置４には、キャッシュ装置４に格納されたファイルＡの格納位置の情報（ファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」）を格納するキャッシュメモリ７１が備えられている。
図８および図９において、特定のクライアント装置７からＲＤＭＡにより直接キャッシュ装置４のファイルＡにアクセスするのを排除する場合には、制御装置２は、特定のクライアント装置７用に管理表に登録されたファイルＡの情報を削除する。そして、キャッシュ装置４に対して、メモリデバイスの格納位置の情報（「ｐｔｒ」、「サイズ」、「ｐｔａｇ＝ｘｘ」）により指定された、特定のクライアント装置７用のメモリ領域の排除指令を行う（Ｓ−７）。
制御装置２から排除指令を受けたキャッシュ装置４は、プロテクションタグｐｔａｇを特定のクライアント装置７用のｐｔａｇ＝ｘｘから、例えば別のクライアント装置用のプロテクションタグｐｔａｇ＝ｙｙに変更する。その結果、（「ｐｔｒ」、「サイズ」、「ｐｔａｇ＝ｘｘ」）により特定されていたファイルＡが排除される。
図１０は、キャッシュ装置が特定のクライアント装置用の格納位置の情報を排除した場合に、その格納位置へ再びアクセス要求が生じた場合の処理を示す図であり、図１１は、キャッシュ装置が特定のクライアント装置用の格納位置の情報を排除した場合に、その格納位置へ再びアクセス要求が生じたときのシーケンスチャートを示す図である。
図１０に示す本実施形態のデータアクセス応答システムは、キャッシュメモリ７１を備えるクライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムとにより構成されている。クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれの通信機能によりネットワーク５を介して相互に通信することができる。
キャッシュ装置４には、例えば格納位置をあらわすポインタｐｔｒ、格納されたデータの容量をあらわすサイズ、所定のクライアント装置のみに対してアクセスを許容するプロテクションタグｐｔａｇからなる情報が記録されたファイルＡが格納されており、ストレージ装置３には、ファイルＢが格納されている。
制御装置２には、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納先装置等（ファイルＡ：キャッシュ装置ＣＭ、ファイルＢ：ストレージ装置ＳＭ等）を記録した管理表が備えられている。
また、クライアント装置４には、キャッシュ装置４に格納されたファイルＡの格納位置の情報（ファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」）を格納するキャッシュメモリ７１が備えられている。
図１０および図１１に示すように、格納位置の情報を格納しているクライアント装置７から、アクセス要求を行う場合は、クライアント装置７は、先ず、アクセス要求を行うファイルＡの格納位置の情報がキャッシュメモリ７１に格納されているか否かを検索する。そして、ファイルＡの格納位置の情報がキャッシュメモリ７１に格納されていることが確認されると（Ｓ−５）、クライアント装置７は、制御装置２にアクセス要求を行うことなく、ファイルＡの格納位置の情報に基づいて、ＲＤＭＡにより直接、キャッシュ装置４にアクセス要求する（Ｓ−６）。
キャッシュ装置４は、ファイルＡのプロテクションタタグｐｔａｇ＝ｘｘを、プロテクションタタグｐｔａｇ＝ｙｙに変更してあるので、格納位置の情報（ファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」）により特定されたファイルＡは該当のものが見当たらない。したがって、キャッシュ装置４は、クライアント装置７にアクセス要求がエラーであることを通知する（Ｓ−８）。クライアント装置７は、キャッシュ装置４からのエラー通知に基づいて、キャッシュメモリ７１に格納しているファイルＡの格納位置の情報を削除する（Ｓ−８）。
このため、クライアント装置７が次回ファイルＡへアクセス要求を行うときは、ファイルＡの格納位置の情報がすでに削除されているので、制御装置２に対してアクセス要求を行う。クライアント装置７から制御装置２に対し、ＤＡＦＳプロトコルに基づいたファイルＡのアクセス要求がなされると（Ｓ−１０）、制御装置２は、そのアクセス要求の内容を解析する。解析の結果、ファイルＡに対するアクセス要求であると認識すると、制御装置２は、管理表を検索し、アクセス要求があったファイルＡは、キャッシュ装置４に格納されているか否かを確認する。ファイルＡがキャッシュ装置４に格納されていることが確認されると、制御装置２は、キャッシュ装置４に、ＤＡＦＳプロトコルに基づいたデータ転送指示を行う（Ｓ−１２）。このとき、クライアント装置７は、例えばＩＰ（インターネットプロトコル）のアドレス等を用いることにより特定することが可能である。
キャッシュ装置４は、制御装置２からファイルＡの転送指示を受けると、その内容を解析し、クライアント装置７への転送指示であることを確認する。キャッシュ装置４は、転送指示があったファイルＡをメモリデバイスから読み出し、制御装置２から受信した応答メッセージをクライアント装置７に送出する（Ｓ−１３）。また、キャッシュ装置４は、読み出したファイルＡに、ＲＤＭＡにより直接、クライアント装置７にアクセスさせる（Ｓ−１４）。
このように、クライアント装置７にアクセス要求が生じると、先ず、クライアント装置７に備える、キャッシュ装置４のファイルの格納位置の情報を検索し、ＲＤＭＡにより直接キャッシュ装置４にアクセスを行なうので、レイテンシをさらに短縮することができる。また、例えばアクセス頻度が少ない場合などには、格納位置の情報のプロテクションタグを変更し、特定のクライアント装置からの直接のアクセスを排除することもできるので、格納されるデータの安全性を高めることもできる。
図１２および１３は、クライアント装置からキャッシュ装置へ書き込み要求を行う処理を示す図であり、図１４は、クライアント装置からキャッシュ装置へ書き込み要求を行うシーケンスチャートを示す図である。
図１２および１３に示す本実施形態のデータアクセス応答システムは、キャッシュメモリ７１を備えるクライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムとにより構成されている。
クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれの通信機能によりネットワーク５を介して相互に通信することができる。
キャッシュ装置４には、例えば格納位置をあらわすポインタｐｔｒ、格納されたデータの容量をあらわすサイズ、所定のクライアント装置のみに対してアクセスを許容するプロテクションタグｐｔａｇからなる情報が記録されたファイルＡが格納されており、ストレージ装置３には、ファイルＢが格納されている。
制御装置２には、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納先装置等（ファイルＡ：キャッシュ装置ＣＭ、ファイルＢ：ストレージ装置ＳＭ等）を記録した管理表が備えられている。
また、クライアント装置４には、キャッシュ装置４に格納されたファイルＡの格納位置の情報（ファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」）を格納するキャッシュメモリ７１が備えられている。
図１２および図１４に示すように、キャッシュ装置４に格納されたファイルの格納位置の情報を格納しているクライアント装置７から、アクセス要求を行う場合は、クライアント装置７は、先ず、アクセス要求を行うファイルＡの格納位置の情報がキャッシュメモリ７１に格納されているか否かを検索する。そして、ファイルＡがキャッシュメモリ７１に格納されていることが確認されると（Ｓ−５）、制御装置にアクセス要求を行うことなく、格納されている格納位置の情報に基づいて、直接、キャッシュ装置４にアクセスし、ＲＤＭＡによる書き込み処理を要求する（Ｓ−１６）。また、クライアント装置７は、制御装置２に対して、制御装置２の管理表に書き込まれているファイルＡのデータの整合指令を出す（Ｓ−１７）。
さらに、図１３および図１４に示すように、クライアント装置７から整合指令を受けた制御装置２は、ファイルＡを管理しているキャッシュ装置（ＣＭ）４の格納位置の情報（「ｐｔｒ」、「サイズ」、「ｐｔａｇ」）を確認し、キャッシュ装置４に対してファイルＡに書き込まれたデータをストレージ装置３へ格納するよう整合指令を出す（Ｓ−１８）。その整合指令を受けて、キャッシュ装置４は、ストレージ装置３に、ファイルＡに書き込まれたデータを格納する（Ｓ−１９）。
このように、クライアント装置７のアクセス要求が、キャッシュ装置へのデータの書き込み処理を要求するものであっても、クライアント装置７から制御装置２へ整合指令を出すとともに、制御装置２はキャッシュ装置４へ整合指令を出し、制御装置２から整合指令を受けたキャッシュ装置４がストレージ装置３へ書き込まれたデータを格納するので、格納されたデータは、整合が図られ、格納されたデータ相互に矛盾が生じることはない。
（第２の実施形態）
第２の実施形態は、第１の実施形態に比べて、クライアント装置のキャッシュ領域に関する情報を制御装置が把握し、キャッシュ装置におけるアクセス頻度の高いデータの格納位置の情報を制御装置がクライアント装置のキャッシュ領域に書き込むことができる点が異なる。しかし、データアクセス応答システムの構成やクライアント装置がアクセス要求を行う場合の機能は同じであることから、相違する、クライアント装置と制御装置との関係について説明する。
図１５〜図１７は、本発明の第２の実施形態のデータアクセス応答システムの、メモリにキャッシュ領域を有するクライアント装置とデータの格納位置の情報を管理する制御装置との間において、キャッシュ領域や格納位置情報を通信する処理を示す図である。また、図１８は、クライアント装置と制御装置との間においてキャッシュ領域や格納位置の情報を通信するシーケンスチャートを示す図である。
図１５〜図１７に示す本実施形態のデータアクセス応答システムは、キャッシュメモリ７１を備えるクライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムとにより構成されている。クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれの通信機能によりネットワーク５を介して相互に通信することができる。
キャッシュ装置４には、例えば格納位置をあらわすポインタｐｔｒ、格納されたデータの容量をあらわすサイズ、所定のクライアント装置のみに対してアクセスを許容するプロテクションタグｐｔａｇからなる情報が記録されたファイルＡが格納されており、ストレージ装置３には、ファイルＢが格納されている。
制御装置２には、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納先装置等（ファイルＡ：キャッシュ装置ＣＭ、ファイルＢ：ストレージ装置ＳＭ等）を記録した管理表が備えられている。
また、クライアント装置４には、所定のサイズのキャッシュ領域７２を有し、キャッシュ装置４に格納されたファイルＡの格納位置の情報を格納するキャッシュメモリ７１が備えられている。
図１６および図１７に示すように、キャッシュ領域７２には、例えばファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」を書き込んだり、削除したりすることができる。
クライアント装置７を、ネットワーク５に接続したときやリセットしたときには、クライアント装置７は、このキャッシュ領域７２の情報を制御装置２に通知し、制御装置２は、このキャッシュ領域の情報をメモリ領域２１に記憶することができるように構成されている。
図１５〜図１８に示すように、例えばクライアント装置７をリセットしたときには、クライアント装置７は、キャッシュ領域７２のポインタｐｔｒやキャッシュ領域７２のサイズの情報を添付し、制御装置２に対して、キャッシュ装置（ＣＭ）４に格納されたファイルの格納位置の情報を書き込むように要求する（Ｓ−２１）。制御装置２は、添付されていた、クライアント装置（ＣＬ）７のキャッシュ領域７２のポインタ（ｐｔｒ）やキャッシュ領域７２の容量（サイズ）の情報をメモリ領域２１に登録する。
制御装置２は、クライアント装置７からアクセス要求を受けたデータを管理しており、例えばファイルＡのアクセス頻度の高いことが検出されると、クライアント装置７のキャッシュ領域７２にファイルＡの格納位置の情報を書き込む（Ｓ−２２）。一方、制御装置２は、アクセス頻度が高かったファイルＡのアクセス頻度が低下したことを検出すると（Ｓ−２３）、クライアント装置のキャッシュ領域７２に書き込んだファイルＡの格納位置の情報を削除する（Ｓ−２４）。
ここで、キャッシュ装置４へのアクセス頻度は、必ずしも、当該クライアント装置からのアクセス要求に限定する必要はなく、例えばデータアクセス応答システムの全てのクライアント装置、あるいは特定の複数のクライアント装置のアクセス頻度に基づいて設定することもできる。
このように、制御装置２がクライアント装置７のキャッシュ領域７２に関する情報を把握し、キャッシュ装置４へのアクセス頻度に応じて、そのキャッシュ領域７２にキャッシュ装置４に格納されたデータの格納位置の情報を書き込んだり、削除したりするので、クライアント装置７は、予めアクセス頻度の高いデータの格納位置の情報を保持することができる。したがって、クライアント装置７は、キャッシュ領域７２に予め書き込まれた格納位置の情報に基づいて、直接キャッシュ装置４にアクセスすることが可能となるので、アクセス要求する際のレイテンシをさらに短縮することができる。
図１９〜図２１は、キャッシュ領域に書き込まれた情報に基づいてクライアント装置がアクセス要求を行う処理を示す図である。
図１９〜図２１に示す本実施形態のデータアクセス応答システムは、キャッシュメモリ７１を備えるクライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムとにより構成されている。クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれの通信機能によりネットワーク５を介して相互に通信することができる。
キャッシュ装置４には、例えば格納位置をあらわすポインタｐｔｒ、格納されたデータの容量をあらわすサイズ、所定のクライアント装置のみに対してアクセスを許容するプロテクションタグｐｔａｇからなる情報が記録されたファイルＡが格納されており、ストレージ装置３には、ファイルＢが格納されている。
制御装置２には、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納先装置等（ファイルＡ：キャッシュ装置ＣＭ、ファイルＢ：ストレージ装置ＳＭ等）を記録した管理表が備えられている。
また、クライアント装置４には、所定のサイズのキャッシュ領域７２を有し、キャッシュ装置４に格納されたファイルＡの格納位置の情報を格納するキャッシュメモリ７１が備えられている。キャッシュ領域７２には、例えばファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」を書き込んだり、削除したりすることができる。
図１９に示すように、格納位置の情報を格納しているクライアント装置７から、アクセス要求を行う場合は、クライアント装置７は、先ず、アクセス要求を行うファイルＡの格納位置の情報がキャッシュメモリ７１に格納されているか否かを検索する。そして、ファイルＡの格納位置の情報がキャッシュメモリ７１に格納されていることが確認されると（Ｓ−５）、制御装置にアクセス要求を行うことなく、確認された格納位置の情報に基づいて、直接キャッシュ装置４にアクセスしＲＤＭＡを要求する（Ｓ−６）。
このように、クライアント装置７に、キャッシュ装置４に格納されたファイルの格納位置の情報をキャッシュしておき、それと同じファイルに再びアクセスする必要が生じた場合には、制御装置２を介することなく、直接キャッシュ装置４にＲＤＭＡを要求することができるので、アクセス要求に伴うレイテンシをさらに短縮することができる。
図２０に示すように、クライアント装置７からのアクセス要求が書き込み処理を行う要求の場合は、クライアント装置７は、先ず、アクセス要求を行うファイルＡの格納位置の情報がキャッシュメモリ７１に格納されているか否かを検索する。そして、ファイルＡの格納位置の情報がキャッシュメモリ７１に格納されていることが確認されると（Ｓ−５）、制御装置２にアクセス要求を行うことなく、確認された格納位置の情報に基づいて、直接、キャッシュ装置４にアクセスし、ＲＤＭＡによる書き込み処理の要求を行う（Ｓ−１６）。また、クライアント装置７は、制御装置２に対して、管理表に書き込まれているファイルＡの格納位置の情報の整合指令を行う（Ｓ−１７）。
図２１に示すように、クライアント装置７からのアクセス要求が書き込み処理を行う要求の場合において、クライアント装置７から整合指令を受けた制御装置２は、図２１で説明した処理に引き続いて、ファイルＡを格納しているキャッシュ装置（ＣＭ）４の格納位置の情報（「ｐｔｒ」、「サイズ」、「ｐｔａｇ」）を確認し、キャッシュ装置４に対し、ファイルＡに書き込まれたデータをストレージ装置３へ格納するよう整合指令を出す（Ｓ−１８）。その整合指令を受けて、キャッシュ装置４は、ストレージ装置３に、ファイルＡに書き込まれたデータを格納する（Ｓ−１９）。
このように、アクセス要求が、データの書き込み処理を要求する場合であっても、クライアント装置７のキャッシュ領域７２に格納位置の情報が格納されているファイルである場合には、直接、キャッシュ装置にＲＤＭＡを行なうので、アクセス要求に伴うレイテンシを短縮することができる。また、クライアント装置７から制御装置２へ、整合指令を出し、制御装置２は、キャッシュ装置４に整合指令を出して、格納されたデータの整合が図られるので、格納データ相互に矛盾が生じることはない。
（第３の実施形態）
第３の実施形態は、第２の実施形態に比べて、クライアント装置自体が、アクセス要求の頻度を管理しており、その管理結果に基づいてクライアント装置が制御装置にアクセス頻度の高いデータの格納位置の情報をクライアント装置のキャッシュ領域に書き込むように要求する点が異なるが、それ以外の点は共通する。したがって、相違点について説明する。
図２２および図２３は、本発明の第３の実施形態のデータアクセス応答システムにおけるクライアント装置が、自ら管理するアクセス頻度に応じて、制御装置に格納位置の情報を登録するよう要求する処理を示す図である。また、図２４は、クライアント装置から制御装置に格納位置の情報を登録するよう要求するシーケンスチャートを示す図である。
図２２および図２３に示す本実施形態のデータアクセス応答システムは、キャッシュメモリ７１を備えるとともに、キャッシュ装置４に格納されたデータへのアクセス頻度を管理する機能を有するクライアント装置７と、そのクライアント装置７にネットワーク５を介してそれぞれが接続された、ストレージ装置３、キャッシュ装置４、および制御装置２からなるストレージシステムとにより構成されている。クライアント装置７、ストレージ装置３、キャッシュ装置４、および制御装置２は、それぞれの通信機能によりネットワーク５を介して相互に通信することができる。
キャッシュ装置４には、例えば格納位置をあらわすポインタｐｔｒ、格納されたデータの容量をあらわすサイズ、所定のクライアント装置のみに対してアクセスを許容するプロテクションタグｐｔａｇからなる情報が記録されたファイルＡが格納されており、ストレージ装置３には、ファイルＢが格納されている。
制御装置２には、ストレージ装置３およびキャッシュ装置４それぞれに格納されているファイルの格納先装置等（ファイルＡ：キャッシュ装置ＣＭ、ファイルＢ：ストレージ装置ＳＭ等）を記録した管理表が備えられている。
また、クライアント装置４には、所定のサイズのキャッシュ領域７２を有し、キャッシュ装置４に格納されたファイルＡの格納位置の情報を格納するキャッシュメモリ７１が備えられている。キャッシュ領域７２には、例えばファイル名「Ａ」、ポインタ「ｐｔｒ」、ファイル容量「サイズ」、プロテクションタグ「ｐｔａｇ＝ｘｘ」を書き込んだり、削除したりすることができる。
図２２〜図２４に示すように、例えばクライアント装置７をリセットしたときには、クライアント装置７は、キャッシュ領域７２のポインタ（ｐｔｒ）やキャッシュ領域７２の容量（サイズ）の情報を添付して、制御装置２にキャッシュ装置（ＣＭ）４のデータの格納位置の情報を要求する（Ｓ−２１）。制御装置２は、添付されていた、キャッシュ領域７２のポインタ（ｐｔｒ）やキャッシュ領域７２の容量（サイズ）の情報をメモリ領域２１に登録する。
クライアント装置７は、キャッシュ装置４に格納されたデータへのアクセス頻度を管理している。そして、例えばキャッシュ装置４に格納されたファイルＡのアクセス頻度が高いことを検出すると、クライアント装置７は、ファイルＡの格納位置の情報を、キャッシュ領域７２に登録するよう制御装置２に要求する（Ｓ−３１）。要求を受けた制御装置２は、ファイルＡの格納位置の情報をクライアント装置のキャッシュ領域７２に書き込む（Ｓ−３２）。
一方、クライアント装置７は、キャッシュ装置４に格納されたファイルＡのアクセス頻度が低下したことを検出すると、制御装置２に、キャッシュ領域７２に書き込まれたファイルＡの格納位置の情報を削除するよう要求する（Ｓ−３３）。要求を受けた制御装置２は、ファイルＡの格納位置の情報をクライアント装置のキャッシュ領域７２から削除する（Ｓ−３４）。
このように、それぞれのクライアント装置７がキャッシュ装置４に格納されたデータへのアクセス頻度を管理することにすれば、それぞれのクライアント装置７の事情に合わせて、それぞれのクライアント装置７がアクセス頻度を調整することができる。
【図１】
2004104838.tif 000003
【図２】
2004104838.tif 000004
【図３】
2004104838.tif 000005
【図４】
2004104838.tif 000006
【図５】
2004104838.tif 000007
【図６】
2004104838.tif 000008
【図７】
2004104838.tif 000009
【図８】
2004104838.tif 000010
【図９】
2004104838.tif 000011
【図１０】
2004104838.tif 000012
【図１１】
2004104838.tif 000013
【図１２】
2004104838.tif 000014
【図１３】
2004104838.tif 000015
【図１４】
2004104838.tif 000016
【図１５】
2004104838.tif 000017
【図１６】
2004104838.tif 000018
【図１７】
2004104838.tif 000019
【図１８】
2004104838.tif 000020
【図１９】
2004104838.tif 000021
【図２０】
2004104838.tif 000022
【図２１】
2004104838.tif 000023
【図２２】
2004104838.tif 000024
【図２３】
2004104838.tif 000025
【図２４】
2004104838.tif 000026
【図２５】
2004104838.tif 000027
【国際調査報告】
2004104838.tif 000028
2004104838.tif 000029
2004104838.tif 000030