(57)【要約】【課題】先読みパターンデータを自動的に生成する機能を備えるネットワークキャッシュ装置を提供する。【解決手段】ネットワークキャッシュ装置Ｃ１は、ターゲット名、論理ユニット番号、論理ブロック番地が記載された先読みパターンファイル２３を生成する先読みパターンデータ生成手段２１と、先読みパターンファイル２３を用いて、ターゲット装置からデータを先読みし、先読みしたデータをキャッシュデータ格納領域２４に保存する先読みデータ保存手段２２と、を備える。先読みパターンデータ生成手段２１は、先読みパターンデータを生成する契機が到来したならば、キャッシュデータ格納領域２４を検索し、キャッシュデータ格納領域２４に保存されているキャッシュデータのうち、予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０に属するキャッシュデータの論理ブロック番地ａの一覧を抽出し、当該一覧を含む先読みパターンファイル２３を生成する。【選択図】図２
2008003929.tif 000002
【特許請求の範囲】
【請求項１】
イニシエータ装置とターゲット装置との間で送受信されるリード要求及びデータを中継する機能を持ち、
イニシエータ装置がターゲット装置から取得したデータを、当該データが保存されていたターゲット名、論理ユニット番号、論理ブロック番地の組み合わせ単位にキャッシュデータ格納領域に保存し、
イニシエータ装置からリード要求を受信し、当該リード要求がリード対象とするターゲット名、論理ユニット番号、論理ブロック番地の組み合わせのデータがキャッシュデータ格納領域に保存されているならば、当該リード要求をターゲット装置に中継することなく、キャッシュデータ保存領域から対応データを取得して、イニシエータ装置に返送するネットワークキャッシュ装置であって、
ターゲット名、論理ユニット番号、論理ブロック番地が記載された先読みパターンデータを生成する先読みパターンデータ生成手段と、
前記先読みパターンデータを用いて、前記ターゲット装置からデータを先読みし、先読みしたデータを前記キャッシュデータ格納領域に保存する先読みデータ保存手段と、
を備えることを特徴とするネットワークキャッシュ装置。
【請求項２】
請求項１に記載のネットワークキャッシュ装置において、
前記先読みパターンデータ生成手段が、先読みパターンデータを生成する契機が到来したならば、キャッシュデータ格納領域を検索し、キャッシュデータ記憶領域に保存されているキャッシュデータのうち、予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０に属するキャッシュデータの論理ブロック番地ａの一覧を抽出し、当該一覧を含む先読みパターンデータを生成することを特徴とするネットワークキャッシュ装置。
【請求項３】
請求項１に記載のネットワークキャッシュ装置において、
前記先読みパターンデータ生成手段が、
予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０の組み合わせ単位に０以上の整数のアップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）を保持し、ターゲット名Ｔ０と論理ユニット番号ｌ０と論理ブロック番地ａの組み合わせ単位に０以上の整数のアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）を保持し、
先読みパターンデータを生成する契機が到来したならば、アップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）を１加算するとともに、キャッシュデータ格納領域の全域を検索し、キャッシュデータ格納領域にキャッシュデータが存在することが判明した、ターゲット名Ｔ０と論理ユニット番号ｌ０と論理ブロック番地ａの組み合わせに対応するアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）に限って１加算し、
αを０＜α＜１を満たす係数、ｎ＝０として、
Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧αＣｕｐｄａｔｅ（Ｔ０，ｌ０）＋ｎ
を満たす論理ブロック番地ａの一覧を抽出し、当該一覧を含む先読みパターンデータを生成することを特徴とするネットワークキャッシュ装置。
【請求項４】
請求項３に記載のネットワークキャッシュ装置において、
前記先読みパターンデータ生成手段が、
生成されようとする先読みパターンデータによる先読みデータ量が、予め指定された値Ｍｄａｔａを超えるならば、ｎに１加算し、さらにＭｄａｔａを超えるならば、さらにｎに１加算して、Ｍｄａｔａ内におさまるまで１加算を繰り返し、
Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧αＣｕｐｄａｔｅ（Ｔ０，ｌ０）＋ｎ
を満たす論理ブロックａの一覧を抽出し、当該一覧を含む先読みパターンデータを生成することを特徴とするネットワークキャッシュ装置。
【請求項５】
請求項３または４に記載のネットワークキャッシュ装置において、
前記先読みパターンデータ生成手段が、
アクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）が予め指定された値Ｍａｃｃｅｓｓを超えたならば、アクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）およびアップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）に０＜β＜１を満たす係数βを乗じ、小数点以下を切り上げ又は切り下げることにより減算することを特徴とするネットワークキャッシュ装置。
【請求項６】
請求項３ないし５のうちいずれか１項に記載のネットワークキャッシュ装置において、
イニシエータ装置がターゲット装置から取得したデータを、当該データが保存されていたターゲット名Ｔ０、論理ユニット番号ｌ０、論理ブロック番地ａの組み合わせ単位に、その保存時刻と共に、キャッシュデータ格納領域に保存し、
前記先読みパターンデータ生成手段が、
前記キャッシュデータ格納領域にキャッシュデータが存在することが判明し、かつ、保存時刻がイニシエータとターゲット名Ｔ０のターゲットとの間でセッションが確立された時刻ｔ以降である、ターゲット名Ｔ０、論理ユニット番号ｌ０、論理ブロック番地ａの組み合わせに対応するアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）に限って１加算することを特徴とするネットワークキャッシュ装置。
【請求項７】
請求項２ないし請求項６のうちいずれか１項に記載のネットワークキャッシュ装置において、
前記先読みパターンデータ生成手段が先読みパターンデータを生成する契機は、イニシエータと、ターゲット名Ｔ０のターゲットとの間でセッションが確立された時刻をｔ、既定の時間をＴ１として、時刻がｔ＋Ｔ１となった時とすることを特徴とするネットワークキャッシュ装置。
【請求項８】
請求項７に記載のネットワークキャッシュ装置において、
時刻がｔ＋Ｔ１となった時であっても、前回のセッション確立時から既定の時間Ｔ２が経過していない時は、先読みパターンデータを生成する契機としないことを特徴とするネットワークキャッシュ装置。
【請求項９】
コンピュータを請求項１ないし８のうちいずれか１項に記載の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ（イニシエータ装置）と、コンピュータの動作に必要なデータを格納したストレージ装置（ターゲット装置）との間の通信を仲介し、コンピュータ装置がストレージ装置から取得したデータまたはコンピュータがストレージ装置に保存したデータを一時的に記憶し、コンピュータからリード要求を受けたデータが一時的に記憶しているデータ内にあれば、ストレージ装置にアクセスすることなく当該データをコンピュータに返送するネットワークキャッシュ装置およびそのプログラムに関する。
【背景技術】
【０００２】
特許文献１には、内蔵ハードディスク装置を持たないディスクレスパーソナルコンピュータ（ＰＣ）を起動する時間を短縮することができるネットワークブートシステムが記載されている。特許文献１においては、ネットワークキャッシュ装置は、既定の論理ブロック番地に対するリード要求、あるいはユーザ認証の成功を契機として、静的なパターンファイルに基づくデータ先読みを行う。
【０００３】
【特許文献１】特開２００５−１４９３３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１記載のネットワークキャッシュ装置は、先読みパターンデータを作成する手段は、専らネットワークキャッシュ装置の管理者が手作業によって先読みパターンデータを手作業で作成する必要があった。
【０００５】
先読みパターンデータの作成は、例えば次のような手順で行う。はじめに、ＰＣがデータをストレージ装置から読み出しているときにパケットキャプチャを行い、ＰＣが実際に読み出し要求を行った論理ブロック番地の一覧を取得する。次に、その中からデータ先読み対象としたい論理ブロック番地を選び出す。最後に、選び出した論理ブロック番地をデータ先読みパターンデータの形式に従って列挙する。この作業は、ネットワークキャッシュ装置の管理者にとって非常に煩雑である。
【０００６】
また、論理ユニットに保存されたデータが更新（例えば、ＯＳの再インストールや更新、アプリケーションソフトウェアのインストールや更新など）されると、今までデータ先読み対象としていたデータが存在する論理ブロック番地（ＬＢＡ:Logical Block Address）の配置が変化する場合がある。そうすると、従来使用していた先読みパターンファイルでは対象データを正しく先読みすることができなくなる。そのため、論理ユニットに保存されたデータが更新された場合は、再度上記作業を行って先読みパターンファイルを更新する必要があった。
【０００７】
本発明の目的は、先読みパターンデータを自動的に生成する機能を備えるネットワークキャッシュ装置およびそのプログラムを提供することである。
【課題を解決するための手段】
【０００８】
本発明は、前記課題を解決するためのものであって、先読みパターンデータを自動的に生成する機能を備えるネットワークキャッシュ装置である。本明細書において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。
【０００９】
第１の発明は、イニシエータ装置とターゲット装置との間で送受信されるリード要求及びデータを中継する機能を持ち、イニシエータ装置がターゲット装置から取得したデータを、当該データが保存されていたターゲット名、論理ユニット番号、論理ブロック番地の組み合わせ単位にキャッシュデータ格納領域に保存し、イニシエータ装置からリード要求を受信し、当該リード要求がリード対象とするターゲット名、論理ユニット番号、論理ブロック番地の組み合わせのデータがキャッシュデータ格納領域に保存されているならば、当該リード要求をターゲット装置に中継することなく、キャッシュデータ保存領域から対応データを取得して、イニシエータ装置に返送するネットワークキャッシュ装置であって、ターゲット名、論理ユニット番号、論理ブロック番地が記載された先読みパターンデータを生成する先読みパターンデータ生成手段と、前記先読みパターンデータを用いて、前記ターゲット装置からデータを先読みし、先読みしたデータを前記キャッシュデータ格納領域に保存する先読みデータ保存手段と、を備えることを特徴とする。
【００１０】
第２の発明は、第１の発明において、前記先読みパターンデータ生成手段が、先読みパターンデータを生成する契機が到来したならば、キャッシュデータ格納領域を検索し、キャッシュデータ格納領域に保存されているキャッシュデータのうち、予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０に属するキャッシュデータの論理ブロック番地ａの一覧を抽出し、当該一覧を含む先読みパターンデータを生成することを特徴とする。
【００１１】
キャッシュデータ格納領域に保存されているデータは、過去、イニシエータ装置がターゲット装置からリードしたデータであることを意味するから、これらのデータは、今後もイニシエータ装置によって再度リードされる可能性が高いと考えられる。本発明は、イニシエータ装置によって再度リードされる可能性が高いデータを取り込んだ先読みパターンデータを自動生成することができるから、先読みパターンデータを手動で作成する必要がなく、さらにはデータ先読み効果が高い（データ先読みを行った後、イニシエータからのリードがあった時には、キャッシュヒット率がより高くなる）先読みパターンデータを自動的に作成することができる。
【００１２】
第３の発明は、前記先読みパターンデータ生成手段が、予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０の組み合わせ単位に０以上の整数のアップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）を保持し、ターゲット名Ｔ０と論理ユニット番号ｌ０と論理ブロック番地ａの組み合わせ単位に０以上の整数のアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）を保持し、以下の動作を行うことを特徴とする。
【００１３】
先読みパターンデータを生成する契機が到来したならば、まずアップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）を１加算するとともに、キャッシュデータ格納領域の全域を検索し、キャッシュデータ格納領域にキャッシュデータが存在することが判明した、ターゲット名Ｔ０と論理ユニット番号ｌ０と論理ブロック番地ａ１，ａ２，ａ３・・・の組み合わせに対応するＣａｃｃｅｓｓ（Ｔ０，ｌ０，ａ１）、Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ２）、Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ３）・・・に限って１を加算する。
【００１４】
以上の加算処理の結果、αを０＜α＜１を満たす係数、ｎ＝０として、
Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧αＣｕｐｄａｔｅ（Ｔ０，ｌ０）＋ｎ
を満たすこととなった論理ブロックａの一覧を抽出し、当該論理ブロックの一覧を含む先読みパターンデータを生成する。
【００１５】
本発明によれば、先読みパターンデータを生成する契機が到来した数の積算値であるアップデートカウンタ値Ｃｕｐｄａｔｅを基準として、アクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）がαＣｕｐｄａｔｅより大きい値となる論理ブロックａのみを抽出して、当該論理ブロックのみを含む先読みパターンデータが生成される。そうすると、過去のリード履歴に基づき、統計的にリードされる可能性の高いブロックのみを、先読みパターンデータの内容として取り込むことができるから、より効果的なデータ先読みが可能となる。
【００１６】
なお、αの値を大きくするほど論理ブロックａの抽出基準は厳しくなり、過去により多くリードされた論理ブロック、すなわち、リードされる可能性がより高い論理ブロックが抽出対象となる。逆に、αの値を小さくするほど論理ブロックａの抽出基準は緩くなり、リードされる可能性がより低い論理ブロックが抽出対象となる。この値は、ネットワークキャッシュ装置のシステム管理者が自由に選択することができる。
【００１７】
第４の発明は、第３の発明に対して、生成されようとする先読みパターンデータによる先読みデータ量が、予め指定された値Ｍｄａｔａを超えるならば、ｎに１加算して、
Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧αＣｕｐｄａｔｅ（Ｔ０，ｌ０）＋ｎ
を満たす論理ブロックａの一覧を抽出し、当該一覧を含む先読みパターンデータを生成するという特徴を加えたものである。ここで、生成されようとする先読みパターンデータによる先読みデータ量がなおもＭｄａｔａを超えるならば、ｎに２以上の値を加算することで、先読みデータ量が必ずＭｄａｔａ以内となるような先読みパターンデータを生成する。本発明によれば、生成される先読みパターンデータによる先読みデータ量が必ずＭｄａｔａ以内となるから、過大量のデータ先読みが行われることによるネットワークへの負荷を軽減することができる。
【００１８】
第５の発明は、第３または第４の発明において、同一ターゲット名、同一論理ユニット番号におけるカウンタ値の最大値がカウンタ上限値に達した時には、当該ターゲット名、当該論理ユニット番号における全カウンタに０以上１未満の値を乗じることにより、当該全カウンタの値を減算するものである（減算の結果、カウンタ値に小数点以下の端数が生じた場合は、切り上げ、切捨てのいずれかの処理を行った値をカウンタ値とする）。
【００１９】
第３または第４の発明に係るネットワークキャッシュ装置を長期間使用すると、大きいアクセスカウンタ値Ｃａｃｃｅｓｓを有する論理ブロック番地と、小さいアクセスカウンタ値Ｃａｃｃｅｓｓを有する論理ブロック番地との間で、カウンタ値の格差が拡大することが予想される。その結果、最近になってから急激にアクセス頻度が高くなった論理ブロック番地について、当該論理ブロック番地に対応するアクセスカウンタ値が前記不等式を満たす機会がなかなか訪れず、当該論理ブロック番地が、データ先読み対象となりにくい。
【００２０】
本発明によれば、カウンタ値の減算によって、論理ブロック番地間のアクセスカウンタ値の格差が縮小し、最近になってから急激にアクセス頻度が高まった論理ブロック番地について、その論理ブロック番地についてのアクセスカウンタ値Ｃａｃｃｅｓｓが前記不等式を満たすことを促すことにより、当該論理ブロック番地が、生成される先読みパターンデータに基づくデータ先読み対象に含まれることを促すことができる。
【００２１】
第６の発明は、第３ないし第５の発明に対して、以下の特徴をさらに持たせたものである。すなわち、第３ないし第５の発明において、イニシエータ装置がターゲット装置から取得したデータを、当該データが保存されていたターゲット名Ｔ０、論理ユニット番号ｌ０、論理ブロック番地ａの組み合わせ単位に、その保存時刻と共に、キャッシュデータ格納領域に保存し、「キャッシュデータ格納領域の全域を検索し、キャッシュデータ格納領域にキャッシュデータが存在することが判明した」ブロック番地ａすべてについてアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）を１加算するのではなく、それらのブロック番地のうち、保存時刻を参照することによって、時刻ｔと時刻ｔ＋Ｔ１の間にのみ保存されたブロック番地のみについてアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）を１加算するものである。
【００２２】
本発明によれば、第３ないし第５の発明において、ディスクレスＰＣの起動に必要なデータのみを先読みパターンデータに取り込むことができるようになる。
【００２３】
第７の発明は、第２ないし第６の発明に対して、キャッシュデータ格納領域の検索およびその結果に基づく先読みパターンデータの生成タイミングに特徴を持たせたものである。本発明では、イニシエータ装置とターゲット装置との間でセッションを確立した後、既定の時間Ｔ１が経過した後に、キャッシュデータ格納領域の検索を行って、先読みパターンデータを作成する。
【００２４】
イニシエータ装置とターゲット装置との間でセッションが確立したということは、イニシエータ装置とターゲット装置との間の通信が開始されたことを意味する。例えば、イニシエータ装置がディスクレスＰＣ（内蔵ハードディスク装置を持たないＰＣ）であり、ターゲット装置が当該ＰＣの起動に必要な一切のデータ（オペレーティングシステム（ＯＳ）、アプリケーションソフトウェア（アプリケーション）等）が保存されているストレージ装置であるシステムにおいては、イニシエータ装置とターゲット装置との間のセッションが確立したことは、ディスクレスＰＣにおいてＯＳが起動しはじめたことを意味する。
【００２５】
そうすると、セッション確立後、既定の時間Ｔ１が経過するまでの時間帯（例えば５分間とする）では、まずＯＳが起動し、ＯＳの起動後はユーザの手によって主要なアプリケーションが起動されるものと推測される。したがって、キャッシュデータ格納領域にはＯＳおよび主要なアプリケーションの動作に必要なデータが保存されることとなるから、既定の時間Ｔ１＝５分が経過した後に、先読みパターンデータ生成のためのキャッシュデータ格納領域の検索を行って先読みパターンデータを生成すれば、ディスクレスＰＣの起動のために特に重要なデータが先読みパターンデータとして取り込まれることとなる。そして、当該先読みパターンデータによってデータ先読みを行うことによって、その後のディスクレスＰＣの起動および主要アプリケーションの起動を高速化することができる。
【００２６】
第８の発明は、第７の発明に対して、キャッシュデータ格納領域の検索およびその結果に基づく先読みパターンデータの生成タイミングに、さらなる特徴を持たせたものである。本発明は、第７の発明において、キャッシュデータ格納領域の検索およびその結果に基づく先読みパターンデータの生成契機となったセッション確立があった後は、当該セッション確立後、時間Ｔ２の間が経過するまでの間は、新たなセッション確立があったとしても、キャッシュデータ格納領域の検索およびその結果に基づく先読みパターンデータの生成契機しないこととするものである。
【００２７】
本発明によれば、短時間の間にセッション確立が多数あった場合に、先読みパターンデータの生成が乱発することを防止し、ネットワークキャッシュ装置への負荷を軽減することができる。
【発明の効果】
【００２８】
先読みパターンデータを手動で生成する必要がなくなる。さらに、統計的にアクセス頻度の高いデータを対象とする先読みパターンデータを自動作成することができるから、データ先読みが効果的にできるようになる。
【発明を実施するための最良の形態】
【００２９】
本発明のネットワークキャッシュ装置をｉＳＣＳＩ（Internet Small Computer System Interface）ネットブート環境に設置した場合を想定し、実施例を説明する。想定するｉＳＣＳＩネットブート環境は図１のとおりである。
【００３０】
図１において、ＰＣ１とＰＣ２は内蔵ディスク装置を持たないディスクレスＰＣ（以下、ＰＣ）である。Ｃ１はネットワークキャッシュ装置である。ＰＣ１、ＰＣ２、およびネットワークキャッシュ装置Ｃ１はネットワークＮ２（例えばＬＡＮ）に属している。Ｓ１はストレージ装置である。ストレージ装置Ｓ１はネットワークＮ３（例えばＬＡＮ）に属している。Ｎ１はネットワークＮ２とネットワークＮ３を接続するネットワーク（ＷＡＮ）であり、例えばＩＰ（Internet Protocol）ネットワークである。ストレージ装置Ｓ１はｉＳＣＳＩターゲットＴ０、Ｔ１、Ｔ２を有する。ターゲットＴ０、Ｔ１、Ｔ２には論理ユニットＬＵ０、ＬＵ１、ＬＵ２がある。論理ユニットＬＵ０には、ＰＣ１、ＰＣ２の動作に必要な共通的なデータ（オペレーティングシステム（以下、ＯＳ）、アプリケーションソフトウェア（以下、アプリケーション））が保存されている。論理ユニットＬＵ１、ＬＵ２には、それぞれユーザ１、ユーザ２固有のデータが保存されている。ユーザ固有のデータとは、例えばユーザが作成した文書ファイル等である。なお、本実施例において、ＰＣ１、ＰＣ２がイニシエータ装置であり、ストレージ装置Ｓ１がターゲット装置である。本実施例においてはイニシエータ装置はディスクレスＰＣであるが、一般には、イニシエータ装置は、通常のディスクを有するＰＣ、ＰＣ以外の端末、サーバ等、プログラムやデータをターゲット装置から取得したりターゲット装置に保存したりする装置であればよい。
【００３１】
図２に本実施例のネットワークキャッシュ装置Ｃ１のブロック図を示す。図２において、２１は先読みパターンデータ生成手段であり、２２は先読みデータ保存手段である。２３は先読みパターンファイルであり、２４はキャッシュデータ格納領域である。２５は記憶装置である。先読みパターンファイル２３は記憶装置２５に保存されるファイルである。キャッシュデータ格納領域２４はキャッシュデータを格納するための記憶装置２５内の領域である。先読みパターンデータ生成手段２１および先読みデータ保存手段２２は記憶装置２５に記憶されたプログラム（図示していない）がコンピュータ（図示していない）によって実行されることにより実現される。
【００３２】
図２には本実施例を説明するために必要なもののみを図示しているが、このほかに、ネットワークキャッシュ装置Ｃ１は従来のネットワークキャッシュ装置と同様な機能を有することはいうまでもない。すなわち、図には示していないが、ネットワークキャッシュ装置Ｃ１は、イニシエータ装置（ＰＣ１、ＰＣ２）とターゲット装置（ストレージ装置Ｓ１）との間で送受信されるリード要求及びデータを中継する機能を持ち、イニシエータ装置がターゲット装置から取得したデータを、当該データが保存されていたターゲット名、論理ユニット番号、論理ブロック番地の組み合わせ単位にキャッシュデータ格納領域２４に保存し、イニシエータ装置からリード要求を受信し、当該リード要求がリード対象とするターゲット名、論理ユニット番号、論理ブロック番地の組み合わせのデータがキャッシュデータ格納領域２４に保存されているならば、当該リード要求をターゲット装置に中継することなく、キャッシュデータ格納領域２４から対応データを取得して、イニシエータ装置に返送する手段を有する。
【００３３】
図２において、先読みパターンデータ生成手段２１は、ターゲット名、論理ユニット番号、論理ブロック番地が記載された先読みパターンデータを生成する。先読みパターンデータはネットワークキャッシュ装置Ｃ１が先読みを行うためのデータである。本実施例においては、先読みパターンデータは先読みパターンファイル２３として記憶装置２５に保存される。先読みデータ保存手段２２は、先読みパターンファイル２３として記憶装置２５に保存されている先読みパターンデータを用いて、ストレージ装置Ｓ１からデータを先読みし、先読みしたデータをキャッシュデータ格納領域２４に保存する。
【００３４】
図３に先読みパターンファイル２３とキャッシュデータ格納領域２４に保存されるキャッシュデータの例を示す。図３において、３０は先読みパターンファイルの例である。３７はターゲット名であり、３８は論理ユニット番号であり、３９は論理ブロック番地である（論理ブロック番地３９の保存形式については後述する）。３１はキャッシュデータ格納領域２４に格納されるキャッシュデータ保存テーブルの例である。３２はターゲット名であり、３３は論理ユニット番号であり、３４は論理ブロック番地であり、３５はキャッシュデータであり、３６はキャッシュ保存時刻である。このように、ネットワークキャッシュ装置Ｃ１は、ターゲット名３２、論理ユニット番号３３、論理ブロック番地３４の組み合わせ単位にキャッシュデータ３５をキャッシュデータ格納領域２４に保存する。この例では、ターゲット名３２は文字列、論理ユニット番号３３と論理ブロック番地３４は整数、キャッシュデータ３５は１６進データ列で保存される。キャッシュデータ３５は通常は５１２Ｂｙｔｅであるが、これに限らない。キャッシュ保存時刻３６は、キャッシュデータが保存された時刻を示すデータである。キャッシュ保存時刻を利用しない場合は、キャッシュ保存時刻３６を保存する必要はない。
【００３５】
次に、ネットワークキャッシュ装置Ｃ１の動作について説明する。ユーザ１またはユーザ２が、ＰＣ１またはＰＣ２の電源を投入すると、これらのＰＣはターゲットＴ０とｉＳＣＳＩセッションを確立し、Ｔ０内ＬＵ０に保存されたＯＳを取得して起動する。ＯＳの取得は、Ｔ０に対してＳＣＳＩ−ＲＥＡＤコマンドを発行することにより行う。
【００３６】
ユーザ１が起動したＰＣ（ＰＣ１とする）におけるＯＳ起動後、ＰＣ１は、さらにターゲットＴ１に対してｉＳＣＳＩセッションを確立することにより、ユーザ１は論理ユニットＬＵ１内に保存されたデータにアクセスできるようになる。同様に、ユーザ２が起動したＰＣも、ターゲットＴ２に対してｉＳＣＳＩセッションを確立することにより、ユーザ２は論理ユニットＬＵ２内に保存したデータにアクセスできるようになる。ＰＣによる論理ユニットＬＵ１およびＬＵ２へのアクセスも、論理ユニットＬＵからデータを読み出すときはＳＣＳＩ−ＲＥＡＤコマンドを発行することにより、論理ユニットＬＵにデータを書き込むときはＳＣＳＩ−ＷＲＩＴＥコマンドを発行することにより、それらを行う。
【００３７】
ネットワークキャッシュ装置Ｃ１は、ＳＣＳＩ−ＲＥＡＤ、ＳＣＳＩ−ＷＲＩＴＥなどのコマンドを中継時、中継する論理ブロックのデータをネットワークキャッシュ装置Ｃ１内のメモリやＨＤＤに保存することにより、キャッシュを行う。ネットワークキャッシュ装置Ｃ１はキャッシュしている論理ブロックへのＳＣＳＩ−ＲＥＡＤコマンドを受信すると、ストレージ装置Ｓ１にコマンドを発行せず、キャッシュしているデータ（以下、キャッシュデータ）を返送する。このようにストレージ装置Ｓ１にＳＣＳＩ−ＲＥＡＤコマンドを発行せずにキャッシュデータをＰＣに返送する場合をキャッシュヒットと呼び、キャッシュヒットしなかった場合、つまりストレージ装置Ｓ１にコマンドを発行した場合をキャッシュミスヒットと呼ぶ。ＩＰネットワークＮ１が、遅延が大きく、あるいは帯域が小さいＷＡＮ回線であるときには、キャッシュヒットしたときのほうがキャッシュミスヒットの場合よりもＳＣＳＩ−ＲＥＡＤによるデータ取得に要する時間は格段に短くなる。
【００３８】
ネットワークキャッシュ装置Ｃ１にキャッシュデータが存在しないときに、ユーザ１がＰＣ１の電源を投入したケースを考える。電源起動後、ＰＣ１はターゲットＴ０に対するｉＳＣＳＩセッションを確立し、ＬＵ０に対して順次読み出し要求（ＳＣＳＩ−ＲＥＡＤコマンドの発行）を行いながらＯＳを起動する。ネットワークキャッシュ装置Ｃ１にはキャッシュデータが存在しないため、ネットワークキャッシュ装置Ｃ１は読み出し要求された論理ブロックのデータを論理ユニットＬＵ０から読み出し、ネットワークキャッシュ装置Ｃ１内にデータをキャッシュしながらＰＣ１に返送する。結果として、ＰＣ１の読み出し要求は全てキャッシュミスヒットし、ネットワークキャッシュ装置Ｃ１にはＯＳ起動に必要なデータがキャッシュされる。
【００３９】
次に、ユーザ２がＰＣ２の電源を投入したとする。ＰＣ２はＰＣ１と同様に論理ユニットＬＵ０から読み出し要求を行いながらＯＳを起動する。ＯＳ起動に必要なデータはＰＣ１、ＰＣ２ともに殆ど同じであるため、ＰＣ２起動時にはほぼ全ての読み出し要求がキャッシュヒットする。そのため、ＰＣ１よりＰＣ２の起動の方が高速となる。
【００４０】
ユーザ１、ユーザ２がＰＣ１、ＰＣ２にログオンすると、それぞれのユーザに対応する論理ユニットＬＵ（ＬＵ１、ＬＵ２）からデータを読み出し、キャッシュされる。
【００４１】
ネットワークキャッシュ装置Ｃ１が起動した直後や、ユーザのキャッシュデータがキャッシュ領域を専有したとき、ネットワークキャッシュ装置Ｃ１にはＯＳ領域のキャッシュデータが存在しない。なお、ユーザのキャッシュデータがキャッシュ領域を占有したときとは、ユーザ領域（ＬＵ１やＬＵ２）のデータが次々にキャッシュされ、ＯＳ領域（ＬＵ０）のキャッシュデータが全て追い出されてされてしまい（削除されてしまい）、ユーザ領域（ＬＵ１やＬＵ２）のキャッシュデータばかりになってしまった場合のことである。
【００４２】
このときにＰＣの電源を投入すると、キャッシュミスヒットし、ＰＣはストレージ装置Ｓ１からデータを取得しなければならなくなるから、キャッシュヒットする場合に比して起動時間が長くなる。これを改善するために先読み機能が存在する。先読み機能の目的は、ＰＣが電源投入時に読み出し要求する論理ブロックを、ネットワークキャッシュ装置Ｃ１が事前に読み出し要求を行ってキャッシュすることにより、上記状況発生時においてもＰＣの起動を高速化することである。
【００４３】
ネットワークキャッシュ装置Ｃ１のシステム管理者Ａは、先読み機能を有効にするために、先読みパターンファイル、先読み対象論理ユニット、先読み対象論理ユニットに接続するためのｉＳＣＳＩ認証情報、先読み実行契機などをネットワークキャッシュ装置Ｃ１の管理画面から設定する。このような設定は管理者Ａが例えばネットワークＮ３に属する端末から行うことができる。
【００４４】
先読み実行契機としては日時や時間間隔を設定する。ネットワークキャッシュ装置Ｃ１の先読みデータ保存手段２２は先読み実行契機に設定されたタイミングにおいて先読み実行する。なお、先読み実行契機としては、従来技術と同様に、既定の論理ブロック番地に対するリード要求やユーザ認証の成功を先読み実行契機としてもよい。このようなスケジュール先読み機能以外にネットワークキャッシュ装置Ｃ１には強制先読み機能が存在する。強制先読み機能は管理者Ａがネットワークキャッシュ装置Ｃ１の管理画面において指示を出すと、先読みデータ保存手段２２が即座に先読み実行する機能である。
【００４５】
先読み実行契機もしくは強制先読み機能により先読み実行されると、ネットワークキャッシュ装置Ｃ１は、自らがイニシエータとなって、ｉＳＣＳＩ認証情報をもとに先読み対象ターゲットＴ０に対してｉＳＣＳＩセッションを確立し、先読みパターンファイル２３に基づいて読み出し要求を発行する。先読みパターンファイル２３には読み出し要求を行う論理ブロック一覧が記述されている。先読み実行が完了すると、先読みパターンファイル２３で指定したブロックのデータがキャッシュ装置Ｃ１のキャッシュデータ格納領域２４にキャッシュされる。
【００４６】
先読みパターンファイルの作成方法には手動作成（従来技術）と自動更新（本実施例）の２通りがある。従来技術の手動作成は管理者Ａがパケットキャプチャを行って起動時に必要な論理ブロックを取得し、先読みパターンファイルを作成する方法である。しかし、ＬＵ０に保存されているデータが変更されると、ＯＳ起動時に読み出し要求される論理ブロックが変わるため、再度、先読みパターンファイルを手動作成しなければならない。ＬＵ０の内容変更はＯＳへのパッチ適用やアプリケーションの更新（特にウイルスパターンファイルの更新）によって頻繁に発生するため、手動作成は運用コストがかかり、非効率である。
【００４７】
これに対して、本実施例のネットワークキャッシュ装置Ｃ１は自動更新によって先読みパターンファイルを作成する。自動更新は、ＰＣのセッション確立後に読み出し要求された論理ブロックの一覧をもとに、ネットワークキャッシュ装置Ｃ１が自動的に先読みパターンファイルを更新する機能である。ＬＵ０の内容が変更される環境においても、自動更新を繰り返すことで起動時に読み出される論理ブロックを先読みパターンファイルとして出力することができる。
【００４８】
以下、本実施例の先読みパターンファイルの自動更新について説明する。本実施例のネットワークキャッシュ装置Ｃ１においては、先読みパターンデータ生成手段２１が先読みパターンファイル２３を自動的に生成するが、先読みパターンデータ生成手段２１の二つの実施例について説明する。
【００４９】
図３を用いて、実施例１の先読みパターンデータ生成手段２１による先読みパターンデータの生成について説明する。先読みパターンデータ生成手段２１は、先読みパターンデータを生成する契機（実施例２において説明する。）が到来したならば、キャッシュデータ格納領域２４内のキャッシュデータ保存テーブル３１を検索し、保存されているキャッシュデータのうち、管理者Ａによって予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０に属するキャッシュデータの論理ブロック番地ａの一覧を抽出し、当該一覧を含む先読みパターンデータを生成する。
【００５０】
図３は、管理者Ａによって予め指定されたターゲット名Ｔ０が「ｉｑｎ．２００１−０５．ｃｏｍ．ｎｔｔ：ａｂｃ」であり、予め指定された論理ユニット番号ｌ０が「０」の場合を示しており、網掛け部分が予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０に該当する（一般には、任意の数のターゲット名、論理ユニット番号を指定する）。先読みパターンデータ生成手段２１は、先読みパターンデータを生成する契機が到来すると、網掛け部分の論理ブロック番地を抽出する。抽出される論理ブロック番地ａは、１２，１３，１６，１０００，１００１，１００２，１０００５である（図３の論理ブロック番地３４の列の網掛けされたもの）。これを図３の先読みパターンファイル３０に示すように、ターゲット名３７、論理ユニット番号３８、論理ブロック番地３９の形式で保存する。
【００５１】
論理ブロック番地３９は、先読みすべき論理ブロック番地を実際に抽出してみると、通常、１以上の連続したブロック番地が散在することが多いため、本実施例では、先頭ブロック番地と、先頭ブロック番地を含めた連続領域の長さの組み合わせの形式で保存する。すなわち、論理ブロック番地「１２」と「１３」が連続し、次の「１６」は単独であり、次の「１０００」から３番地連続し、次の「１０００５」は単独であるため、図３の３９のように保存される。
【００５２】
本実施例により、ターゲット名Ｔ０と論理ユニット番号ｌ０を予め指定しておくだけで、イニシエータ装置によって再度リードされる可能性が高い論理ブロック番地のデータを取り込んだ先読みパターンファイル３０を自動生成することができるから、先読みパターンファイルを手動で作成する必要がなく、データ先読み効果が高い先読みパターンファイル３０を自動的に作成することができる。
【００５３】
次に、図４〜図１１を用いて、実施例２の先読みパターンデータ生成手段２１による先読みパターンデータの生成について説明する。本実施例の先読みパターンデータ生成手段２１は、予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０の組み合わせ単位に０以上の整数のアップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）と、ターゲット名Ｔ０と論理ユニット番号ｌ０と論理ブロック番地ａの組み合わせ単位に０以上の整数のアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）を保持する。予め指定されたターゲット名Ｔ０と論理ユニット番号ｌ０は、ネットワークキャッシュ装置Ｃ１の管理者Ａが例えばキャッシュ装置Ｃ１に備えられているユーザインタフェース（Ｗｅｂやコマンドラインインタフェース）を介して設定する。先読みパターンデータ生成手段２１は、先読みパターンファイル２３を生成する契機が到来したならば、アップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）を１加算するとともに、キャッシュデータ格納領域２４の全域を検索し、キャッシュデータ格納領域２４にキャッシュデータが存在することが判明した、ターゲット名Ｔ０と論理ユニット番号ｌ０と論理ブロック番地ａの組み合わせに対応するアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）に限って１加算する。そして、αを０＜α＜１を満たす係数、ｎ＝０として、Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧αＣｕｐｄａｔｅ（Ｔ０，ｌ０）＋ｎを満たす論理ブロック番地ａの一覧を抽出し、当該一覧を含む先読みパターンファイル２３を生成する。ただし、先読みパターンデータ生成手段２１は、生成されようとする先読みパターンデータによる先読みデータ量が、予め指定された値Ｍｄａｔａを超えるならば、ｎに１加算して、Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧αＣｕｐｄａｔｅ（Ｔ０，ｌ０）＋ｎを満たす論理ブロックａの一覧を抽出し、当該一覧を含む先読みパターンファイル２３を生成する（ｎ＝０における先読みパターンファイル２３の作成は取りやめる）。また、先読みパターンデータ生成手段２１は、アクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）が予め指定された値Ｍａｃｃｅｓｓを超えたならば、アクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）およびアップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）に０＜β＜１を満たす係数βを乗じ、小数点以下を切り上げ又は切り下げることにより減算することを特徴とする。以下、α＝０．３、β＝０．７、Ｍａｃｃｅｓｓ＝５として説明する。
【００５４】
図４は先読みパターンデータの生成契機を説明するための図である。ある時刻ｔにＰＣ１の電源が投入され、セッションｓ０が確立されたとする。時刻ｔにおいて前回の先読みパターンデータ生成契機からＴ２時間以上経過していたとすると、セッションｓ０はキャッシュデータ格納領域の検索およびその結果に基づく先読みパターンデータの生成契機となる（図４参照）。既定の時間Ｔ２を設け、前回の先読みパターンデータ生成契機からＴ２時間以上経過しない場合は先読みをしないことにより、短時間の間にセッション確立が多数あった場合に、先読みパターンデータの生成が乱発することを防止し、ネットワークキャッシュ装置への負荷を軽減することができる。したがって、既定の時間Ｔ２は先読みパターンデータの生成が乱発しない程度の時間を設定しておけばよい。
【００５５】
時刻ｔの直前において、ネットワークキャッシュ装置Ｃ１の先読みパターンデータ生成手段２１内のパラメータであるアップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）およびアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）が図５のような値であったとする。
【００５６】
時刻ｔにおいて、セッションｓ０確立によって先読みパターンデータを生成する契機が到来したため、アップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）は１加算されて６となる。
【００５７】
セッションｓ０確立後Ｔ１時間経過したとき、すなわち時刻ｔ＋Ｔ１において、ネットワークキャッシュ装置Ｃ１の先読みパターンデータ生成手段２１はキャッシュデータ格納領域２４の検索を開始する。キャッシュデータ格納領域２４のうち、予め指定されたターゲット名Ｔ０、論理ユニット番号ｌ０の論理ユニットＬＵのキャッシュデータであり、かつ最後にアクセスした時刻（保存時刻）がｔ以降である論理ブロックを抽出する。セッション確立後、既定の時間Ｔ１が経過するまでの時間帯（例えば５分間とする）では、まずＯＳが起動し、ＯＳの起動後はユーザの手によって主要なアプリケーションが起動されるものと推測される。この時点でキャッシュデータ格納領域２４にはＯＳおよび主要なアプリケーションの動作に必要なデータが保存されることとなるから、この時点で、先読みパターンファイル生成のためのキャッシュデータ格納領域２４の検索を行って先読みパターンファイルを生成すれば、ディスクレスＰＣの起動のために特に重要なデータが先読みパターンファイルとして取り込まれることとなる。したがって、既定の時間Ｔ１としては、ＰＣの電源が投入されてから、ＯＳや主要なアプリケーションが起動されると推測される時間を設定しておけばよい。
【００５８】
この結果、図６のような論理ブロック一覧Ｌａが得られた。論理ブロック一覧Ｌａは、既定の時間であるＴ１時間（例えば５分間）の間にアクセスされた論理ブロック番地を示す一覧である。図６に示す論理ブロック一覧Ｌａは、ｉＳＣＳＩセッションｓ０が確立された時刻ｔから時刻ｔ＋Ｔ１の間に、論理ブロック番地０、２、…１００４、１００６、１００７、１００９、１０１０…がアクセスされたことを示している。この一覧に含まれる全ての論理ブロックａについて、アクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）を１加算する。この結果、アップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）およびアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）は図７のようになった。
【００５９】
検索処理終了後、先読みパターンファイルとして利用する論理ブロックをアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）の値のもとに抽出する。ｎ＝０としてＣａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧αＣｕｐｄａｔｅ（Ｔ０，ｌ０）＋ｎすなわちＣａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧１．８をみたす論理ブロック一覧ａを抽出したところ（図８網掛部）、論理ブロックａの個数が予め指定された値Ｍｄａｔａよりも多かった。そのため、ｎ＝１としてＣａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧２．８をみたす論理ブロック覧ａ’を抽出した（図９）。このとき、論理ブロックａ’の個数はＭｄａｔａより小さくなったため、ａ’を先読みパターンファイル一覧として出力する（図９）。図９の９０がこの結果生成された先読みパターンファイルである。先読みパターンファイル９０において、９７はターゲット名であり、９８は論理ユニット番号であり、９９は論理ブロック番地である。論理ブロック番地９９は、図３の３９と同様に、先頭ブロック番地と、先頭ブロック番地を含めた連続領域の長さの組み合わせの形式で保存される。なお、本実施例では図９において、論理ブロックａ’の個数はＭｄａｔａより小さくなったため、ａ’を先読みパターンファイル一覧として出力したが、さらにＭｄａｔａを超えるならば、さらにｎに１加算して、Ｍｄａｔａ内におさまるまで１加算を繰り返し、Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）≧αＣｕｐｄａｔｅ（Ｔ０，ｌ０）＋ｎを満たす論理ブロックの一覧を抽出し、当該一覧を含む先読みパターンデータを生成する。
【００６０】
その後、図４において、時刻ｔからＴ２が経過する前に、ＰＣ１から新たに同じＬＵに対するセッションｓ１が確立されたとする。しかし、前回の先読みパターンデータ生成契機ｓ０（時刻ｔ）からＴ２時間経過していないため、セッションｓ１の確立は先読みパターンデータ生成契機とはならない。時刻ｔ＋Ｔ２以降にセッションｓ２が確立した場合、セッションｓ２は先読みパターンデータ生成契機となる。
【００６１】
セッションｓ２を契機とする先読みパターンファイル作成後、アップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）およびアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）は図１０のようになったとする。ここでＭａｃｃｅｓｓ＝５であったとすると、アクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）の中にＭａｃｃｅｓｓ（＝５）を超える論理ブロック番地が存在するため、アップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）およびアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）をβ倍（＝０．７）し、アップデートカウンタ値Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）およびアクセスカウンタ値Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）は図１１のようになる。ここで、Ｍａｃｃｅｓｓは、アップデートカウンタ値Ｃａｃｃｅｓｓの値がＭａｃｃｅｓｓに達すると、Ｃａｃｃｅｓｓの値にβ（０＜β＜１）をかけてＣａｃｃｅｓｓの値を減らすための予め指定された値である。これにより、先読み対象のＬＵが更新された場合でも、頻繁に読まれるようになったブロック情報が先読みされやすくなる。
【００６２】
なお、先読みパターンファイルの形式は、図３の３０や図９の９０の形式に限定されず、ターゲット名（１行目）と論理ユニット番号（２行目）は、先読みパターンファイルと関連づけしつつ、別のファイルとして保持するようにしてもよい。また、３行目以降も別の表現（例えば、開始アドレスを１０進数でなく１６進数とする表記や、開始アドレスと長さの形式でなく、アドレスを列挙する表記など）にしてもよい。
【００６３】
以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施例において想定するｉＳＣＳＩネットブート環境を示す図である。
【図２】本発明の実施例のネットワークキャッシュ装置のブロック図である。
【図３】先読みパターンファイルとキャッシュデータの例を示す図である。
【図４】先読みパターンデータの生成契機を説明するための図である。
【図５】アップデートカウンタ値とアクセスカウンタ値の例を示す図である。
【図６】抽出された論理ブロック一覧Ｌａを示す図である。
【図７】図５のアップデートカウンタ値とアクセスカウンタ値に１が加算された例を示す図である。
【図８】論理ブロック一覧ａの抽出を示す図である。
【図９】論理ブロック一覧ａ’の抽出と先読みパターンファイルの例を示す図である。
【図１０】Ｍａｃｃｅｓｓ＝５を超えるアクセスカウンタ値がある場合の例を示す図である。
【図１１】図１０のアップデートカウンタ値とアクセスカウンタ値を減算した例を示す図である。
【符号の説明】
【００６５】
Ｃ１…ネットワークキャッシュ装置、ＰＣ１、ＰＣ２…ディスクレスＰＣ、Ｓ１…ストレージ装置、Ｔ０、Ｔ１、Ｔ２…ｉＳＣＳＩターゲット、ＬＵ０、ＬＵ１、ＬＵ２…論理ユニット、Ｎ１、Ｎ２、Ｎ２…ネットワーク、Ａ…システム管理者、２１…先読みパターンデータ生成手段、２２…先読みデータ保存手段、２３…先読みパターンファイル、２４…キャッシュデータ格納領域、２５…記憶装置、３０…先読みパターンファイルの例（実施例１）、３１…キャッシュデータ保存テーブル、９０…先読みパターンファイルの例（実施例２）、Ｃｕｐｄａｔｅ（Ｔ０，ｌ０）…アップデートカウンタ値、Ｃａｃｃｅｓｓ（Ｔ０，ｌ０，ａ）…アクセスカウンタ値
【図１】
2008003929.tif 000003
【図２】
2008003929.tif 000004
【図３】
2008003929.tif 000005
【図４】
2008003929.tif 000006
【図５】
2008003929.tif 000007
【図６】
2008003929.tif 000008
【図７】
2008003929.tif 000009
【図８】
2008003929.tif 000010
【図９】
2008003929.tif 000011
【図１０】
2008003929.tif 000012
【図１１】
2008003929.tif 000013