JP2004118482A - 記憶装置、および、キャッシュ方法 - Google Patents
記憶装置、および、キャッシュ方法 Download PDFInfo
- Publication number
- JP2004118482A JP2004118482A JP2002280296A JP2002280296A JP2004118482A JP 2004118482 A JP2004118482 A JP 2004118482A JP 2002280296 A JP2002280296 A JP 2002280296A JP 2002280296 A JP2002280296 A JP 2002280296A JP 2004118482 A JP2004118482 A JP 2004118482A
- Authority
- JP
- Japan
- Prior art keywords
- file
- update
- latest
- computer node
- cache
- 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.)
- Abandoned
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】効率の良い先読みキャッシュ方法を備えた記憶装置の提供。
【解決手段】計算機ノード111は、複数のファイルを記憶可能な記憶部117と、他の計算機ノード101、121のキャッシュ優先度判定テーブル106、126の一部(エントリ)を格納している。キャッシュ優先度判定テーブル106、126の各エントリは、ファイル名と、そのファイルの最新更新時刻と最新参照時刻と該ファイルの更新回数及び参照回数の差を示す更新・参照差情報とを備える。所定のタイミングで、各エントリのうち、所定の条件を満たすものがあるかを確認し、所定の条件を満たしたファイルを他の計算機ノードから取得し、キャッシュする。
【選択図】 図1
【解決手段】計算機ノード111は、複数のファイルを記憶可能な記憶部117と、他の計算機ノード101、121のキャッシュ優先度判定テーブル106、126の一部(エントリ)を格納している。キャッシュ優先度判定テーブル106、126の各エントリは、ファイル名と、そのファイルの最新更新時刻と最新参照時刻と該ファイルの更新回数及び参照回数の差を示す更新・参照差情報とを備える。所定のタイミングで、各エントリのうち、所定の条件を満たすものがあるかを確認し、所定の条件を満たしたファイルを他の計算機ノードから取得し、キャッシュする。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、ネットワークを介して接続される複数の計算機ノードで構成される計算機クラスタシステムにおける、ファイルの先読みキャッシュを行なうことが可能な記憶装置、およびキャッシュ方法に関する。
【0002】
【従来の技術】
独立した複数の計算機ノードを組み合わせてプログラムを動作させるシステムを計算機クラスタシステムという。
【0003】
ネットワークによって接続された複数の計算機ノードによって構成される計算機クラスタシステムの各計算機ノード間でデータを格納したファイルを共有する手法として、ネットワークを介しファイルを格納している計算機ノード上の記憶装置からファイルの内容を参照することが一般的に行われている。このような手法の代表的なものとしては、NFS(Network File System)がある。
【0004】
NFSは、ネットワークに接続されたNFS サーバと、NFSクライアントとによって構成される。NFSサーバは、ファイルを格納しており、他の計算機ノードからのファイルへのアクセスを提供する計算機ノードにおいて動作している。NFSクライアントは、他の計算機ノードに格納されているファイルに対してアクセスを行う計算機ノードにおいて動作している。NFSクライアントが動作している計算機ノードにおいて、ファイルに対してアクセスの要求があった場合、NFSクライアントがその要求をNFSサーバに転送し、NFSサーバは実際のファイルにアクセスを行い、NFSクライアントにその結果を返す。このようにして、複数の計算機ノード間でファイルの共有を実現している。
【0005】
このような計算機クラスタシステムにおいて、各計算機ノードから他の計算機ノードに格納されているファイルの参照や更新は、計算機ノード間通信を伴う。これは、プロセスが動作している計算機ノードに格納されているファイルの参照や更新よりも時間がかかる。そのため、他の計算機ノードに格納されているファイルを、ファイルアクセスに先行してプロセスが動作している計算機ノードに前もって参照して記憶する先読みキャッシュを行なうことは、ファイルアクセスの性能を上げるために非常に重要である。
【0006】
この先読みキャッシュの方法としては、ファイルへの参照時刻が新しいものを優先して先読みを行なう方法(LRU)が一般的であった。この他に、参照のアクセス頻度と参照時刻とを使い分けたキャッシュの管理方法も提案されている(例えば、特許文献1参照)。
【0007】
【特許文献1】特開平7−182220号公報(特に、0026段落−0029、及び、第3図、第4図。)
【0008】
【発明が解決しようとする課題】
しかしながら、上記で説明した従来の先読みキャッシュ方法を用いた計算機クラスタシステムは、先読みキャッシュを行っても、他の計算機ノードで該ファイルが更新された場合、先読みキャッシュした内容と実際のファイルの内容が異なってしまうので、改めてキャッシュを行わなければならない。そのため、結果として、先読みキャッシュを行なったことが原因で、逆に計算機ノード間通信の通信量を増やしてしまい、システム全体の性能を下げる要因となってしまうことが多かった。
【0009】
また、ファイルをキャッシュするためのキャッシュ領域の容量は有限であるため、一定の優先順位をつけてキャッシュされたファイルをキャッシュ領域から削除する必要がある。この時の優先度も、従来の先読みキャッシュ方法では、ファイルの参照時刻によって判断し、ファイルアクセス時刻の古いファイルから削除するため、更新される可能性が低く、キャッシュしておくことが有効なファイルがキャッシュ領域から削除されてしまうといったことが多く起きてしまっていた。
【0010】
本発明は上記で説明した問題点に鑑みなされたものであって、効率の良い先読みキャッシュ方法を備えた記憶装置、および、キャッシュ方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記課題を解決するために本発明は、ネットワークを介して互いに通信可能な複数の計算機ノードのそれぞれに備えることが可能な記憶装置であって、複数のファイルを記憶可能な記憶手段と、他の計算機ノードの記憶手段に記憶された複数のファイルのうち、少なくとも一つのファイルに対し、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルの最新参照時刻と該ファイルの更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを格納する格納手段と、前記格納手段に格納されるキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすときに、その組に対応するファイルを要求し、該要求により取得した該ファイルを前記記憶手段に記憶するキャッシュ管理手段とを備えた。
【0012】
また、本発明は、ネットワークを介して互いに通信可能な複数の計算機ノードのそれぞれに備えることが可能な記憶装置であって、ファイルを複数の領域に分割した分割領域単位で記憶可能な記憶手段と、他の計算機ノードの記憶手段に記憶された複数の分割領域のうち、少なくとも一つの該分割領域を含むファイルに対し、該ファイルを特定するための情報と、該ファイルの各分割領域の最新更新時刻と該ファイルの各分割領域の最新参照時刻と該ファイルの各分割領域の更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを格納する格納手段と、前記格納手段に格納されるキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすときに、その組に対応する分割領域を要求し、該要求により取得した該分割領域を前記記憶手段に記憶するキャッシュ管理手段とを備えた。
【0013】
また、本発明は、それぞれ複数のファイルを記憶する第1の計算機ノードと第2の計算機ノードとを含む複数の計算機ノードはネットワークで互いに接続されており、前記第2の計算機ノードの該ファイルを前記第1の計算機ノードで利用するに先立って、該ファイルまたはこれを分割した分割領域を自身のノードへ選択的にキャッシュするキャッシュ方法であって、前記第1の計算機ノードは、前記第2の計算機ノードから、前記第2の計算機ノードに記憶される少なくとも一つのファイルに対する、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルの最新参照時刻と該ファイルの更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを取得し、格納しておき、前記第1の計算機ノードは、所定のタイミングにおいて、該格納した第2の計算機ノードのキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすか否かを判定し、前記第1の計算機ノードは、該所定の条件を満たしたことを判定した際に、その組に対応するファイルまたはこれを分割した分割領域を前記第1の計算機ノードは前記第2の計算機ノードへ要求して取得し、前記第1の計算機ノードは、取得した該ファイルまたはこれを分割した分割領域を自身のノード内へキャッシュするようにした。
【0014】
また、本発明は、それぞれ複数のファイルを記憶する第1の計算機ノードと第2の計算機ノードとを含む複数の計算機ノードはネットワークで互いに接続されており、前記第2の計算機ノードの該ファイルを前記第1の計算機ノードで利用するに先立って、該ファイルまたはこれを分割した分割領域を自身のノードへ選択的にキャッシュするキャッシュ方法であって、前記第2の計算機ノードは、自計算機ノードに記憶されるファイルまたはこれを分割した分割領域単位に対する、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルまたはこれを分割した分割領域の最新参照時刻と該ファイルまたはこれを分割した分割領域の更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを取得し、格納しておき、前記第2の計算機ノードは、所定のタイミングにおいて、該キャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすか否かを判定し、前記第2の計算機ノードは、該所定の条件を満たしたことを判定した際に、その組に対応するファイルまたはこれを分割した分割領域を前記第1の計算機ノードへ送信し、前記第1の計算機ノードは、取得した該ファイルまたはこれを分割した分割領域を自身のノード内へキャッシュするようにした。
【0015】
このような本発明によって、従来に比べ、格段とヒット率の高い効率的な先読みキャッシュができるようになった。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について、説明する前に、まず、本発明の概念について説明する。
【0017】
計算機クラスタシステムを構成する各計算機ノードには、ファイル単位、または、ファイルを所定の方法で分割した各領域(以下、分割領域と称す)単位に対応付けて、最新更新時刻、最新参照時刻、更新回数と参照回数との差を記録する領域を備えるキャッシュ優先度判定テーブルを備える。このキャッシュ優先度判定テーブルを参照し、ファイルまたは分割領域に対するアクセスのパターンを予測することにより、先読みキャッシュを行うか否かを決定する。なお、更新回数と参照回数との差の記録の代わりに更新回数と参照回数とをそれぞれ記憶し、それらの比較差を求めるようにしても良いことは勿論である。
【0018】
最新更新時刻と最新参照時刻とからは、その値を比較することで、ファイルまたは分割領域に対して行われた最後のアクセスが、更新であるのか、参照であるのかを判断することができる。
【0019】
また、ファイルまたは分割領域に対する更新回数と参照回数の差は、この値が正の値であれば更新が多く、負の値であれば参照が多いことを表す。つまり、この値を利用することで、該ファイルまたは分割領域に対するアクセスは、更新のアクセスが多いのか、参照のアクセスが多いのかという傾向を判断することができる。なお、更新回数と参照回数のどちらが多いかは単純に比較せずに、ある閾値を設け、その閾値よりも差が多いときに、更新回数と参照回数に有意な差があると見なすようにしてもよい。
【0020】
そして、これら3つの値が、最新更新時刻よりも最新参照時刻の方が新しく、且つ、更新回数よりも参照回数が多い条件(第1条件)下においては、次のアクセスは参照のためのアクセスである可能性が大変高いという判断を行うことができる。また、3つの値が、最新参照時刻よりも最新更新時刻の方が新しいが、更新回数よりも参照回数が多い条件(第2条件)下においては、第1条件程ではないが、次のアクセスは参照のためのアクセスである可能性が高いという判断を行うことができる。また、3つの値が、最新更新時刻よりも最新参照時刻の方が新しいが、更新回数の方が参照回数よりも多い条件(第3条件)下では、以降のアクセスで参照される可能性もあるが更新される可能性のほうが高いという判断ができる。また、3つの値が、最新更新時刻が最新参照時刻よりも新しく、さらに更新回数が参照回数よりも多い条件(第4条件)下では、以降のアクセスで、更新される可能性が非常に高いという判断を行うことができる。
【0021】
以上の4つの条件を区別してキャッシュを管理する。すなわち、本計算機クラスタシステムの各記憶装置は、まず、第1条件、次に第2条件の順で優先的に、ファイルまたは分割領域を先読みキャッシュするようにし、その結果、キャッシュのヒット率の高い記憶装置が提供できるようになる。また、本計算機クラスタシステムの各記憶装置は、少なくとも第4条件を満たすときファイルまたは分割領域の先読みキャッシュを行わないようにし、その結果、キャッシュのヒット率の高さを維持した記憶装置が提供でき、且つ、無駄になる可能性の高いファイルまたは分割領域の通信を削減できるようになる。更に、本計算機クラスタシステムを構成する各計算機ノード上のキャッシュ領域が不足した場合に、第3条件のファイルまたは分割領域のキャッシュが存在した場合には、優先的にキャッシュ領域から削除するようにし、その結果、キャッシュのヒット率の高さを維持した記憶装置が提供できる。
【0022】
以上のようにして、本記憶システムを構成する各計算機ノードは、参照されるが、更新はされない可能性の高いファイルまたは分割領域を優先して各々の計算機ノードで先読みキャッシュし、更新される可能性の高いファイルまたは分割領域は先読みキャッシュしないという動作を実現し、先読みキャッシュを有効に行なうことが可能となり、無駄な計算機ノード間通信を削減することが可能となる。
【0023】
次に、上記で説明した本発明の概念に基づいた本発明の実施の形態について、図面を用いて以下に詳細に説明する。
【0024】
図1は、ネットワーク130で接続された3台の計算機ノード101、111、121によって構成される計算機クラスタシステムのブロック図である。なお、計算機ノードは3台に限らず、2台以上であれば何台でもよい。
【0025】
各計算機ノード101、111、121は、通信装置103、113、123と、ファイル管理部104、114、124と、記憶部107、117、127とをそれぞれ備える。各通信装置103、113、123は、ネットワーク130を介し、互いに接続される。通信の方式は、例えば、イーサーネット等が好適であるが、計算機ノード101、111、121間で通信を行うことができれば種類は問わない。
【0026】
各計算機ノード101、111、121上では、それぞれに備える図示しないプロセッサ上で、プロセス102、112、122が動作しており、各種処理を行っている。
【0027】
記憶部107、117、127は、ハードディスク、半導体メモリなどの記憶媒体であり、複数のマスターファイルを記憶する。各マスターファイルは、データや、ファイルに関する管理情報等を記録している。また、記憶部107、117、127は、それぞれ他の記憶部からキャッシュしてきたコピー(スレーブ)のファイルまたは分割領域も記憶可能である。
【0028】
ファイル管理部104、114、124は、自身の記憶部107、117、127に記憶されるマスターファイルやキャッシュしてきたコピーのファイルまたは分割領域を管理し、またこれらの入出力を行なうものである。また、ファイル管理部104、114、124は、記憶されるマスターファイルやキャッシュしてきたコピーのファイルまたは分割領域がどの計算機ノードにマスターファイルが格納されているかを管理する。また、ファイル管理部104、114、124は、キャッシュ管理部105、115、125と、先読みキャッシュを行うためのキャッシュ優先度判定テーブル106、116、126とを備える。
【0029】
キャッシュ優先度判定テーブル106、116、126は、自身の記憶部107、117、127に記憶されるマスターファイルやキャッシュしてきたコピーのファイルまたは分割領域のキャッシュ優先度判定に関する値を格納するものである。キャッシュ優先度判定テーブル106、116、126の一例を図2に示す。図2のキャッシュ優先度判定テーブルは、A、B、C、Dの4つのファイルが登録されていることを示している。該テーブルには、1つのファイルに対するエントリーとして、ファイルの最新更新時刻(TSw)、ファイルの最新参照時刻(TSr)、ファイルに対する更新回数と参照回数との差を示す更新・参照差値(C)、および、各計算機ノード上での更新回数と参照回数との差を示す自ノード更新・参照差値(Cc)を格納する領域が用意されている。なお、マスターファイルを対象としたエントリーの自ノード更新・参照差値(Cc)は、利用されないのでXで示している。また、図3は、図2の変形例のキャッシュ優先度判定テーブルであって、一つのファイルを領域分割して、各領域毎に情報を記録するようにしたものである。本実施の形態では、何れのテーブルを用いても良い。
【0030】
図4は、キャッシュ優先度判定テーブルからの抽出条件を列挙した表である。たとえば、条件1は最新更新時刻(TSw)が新しく、最新参照時刻(TSr)が古く、ファイルまたは分割領域に対する更新・参照差値(C)がある閾値Tよりも大きい条件を意味する。なお、閾値Tは、0よりも大きな数値である。
【0031】
次に、上記で説明した計算機クラスタシステムの動作について説明する。なお、以下の説明では、図3のキャッシュ優先度判定テーブルを用いたものとして、説明を行うこととする。
【0032】
図5は、キャッシュ管理に係る全体の動作を、例として計算機ノード111を中心として示したフローチャートである。なお、計算機ノード101および計算機ノード121も同様な動作を行う。
【0033】
まず、ファイル管理部114は、ファイルまたは分割領域に係る諸処理の要求を待つ(S10)。ここで、ファイル管理部114は、何らかの処理の要求を受ける(S11)と、まず、定期キャッシュの要求であるか否かを判定する(S12)。本計算機クラスタシステムの各計算機ノードの各ファイル管理部104、114、124間は、定期的に通信装置103、113、123を介し通信を行って、各計算機ノード101、111、121の記憶部107、117、127の記憶容量をチェックしている。その結果、各記憶容量に十分余裕がある場合には、先読みキャッシュ動作を行う。この処理をここでは定期キャッシュと呼び、この定期キャッシュの要求は、ファイル管理部114自身で行っている。
【0034】
処理の要求の判定が、定期キャッシュの要求であれば、定期キャッシュ処理を実行する(S13)。一方、定期キャッシュの要求でなければ、次に、ファイルの使用開始(open)の要求であるか否か判定する(S14)。ファイルのopen要求であれば、ファイルの使用開始処理を行う(S15)。ファイルの使用開始の要求でなければ、次に分割領域の参照(read)要求であるか否か判定する(S16)。分割領域の参照要求であれば、分割領域の参照処理を行う(S17)。分割領域の参照要求でなければ、次に分割領域の更新(write)要求であるか否か判定する(S18)。分割領域のwrite要求であれば、分割領域の更新処理を行う(S19)。分割領域のwrite要求でなければ、ファイルの使用終了(close)の要求なので、ファイルの使用終了の処理を行う(S20)。各要求に対する処理が終わると、ステップS11に戻り、ファイル管理部114は、再び、次の要求を待つ。
【0035】
なお、ここで説明したフローでは、この他の判定を行うこともあるかも知れないが、本実施の形態に直接関係ないので、省略する。また、判定の順序も上記の順でなくても良いことは勿論である。
【0036】
図6は、図5のステップS13の定期キャッシュ処理の動作を説明したフローチャートである。
【0037】
定期キャッシュ処理の要求と判定したファイル管理部114は、キャッシュ管理部115へ定期キャッシュ処理を通知する(S21)。キャッシュ管理部115は、キャッシュ優先度判定テーブル116の中から、図4の条件4に合致するエントリを検索する(S22)。なお、エントリとは、ここでは、各分割領域に対応したキャッシュ優先度判定テーブル116の各行をそれぞれ指している。
【0038】
次に、検索により抽出されたエントリが計算機ノード111の記憶部117に格納されている分割領域であるか否かを判断する(S23)。記憶部117に格納されていた場合には、次に、その分割領域がマスターであるかコピーであるかを判断する(S24)。なお、各ファイル管理部104、114、124は、ファイルのマスターがどの計算機ノードにあるかは知っており、その分割領域を含むファイルが自ノードに格納されている場合はマスターであり、他ノードに格納されている場合はコピー(以前にキャッシュされた領域)であると判断することができる。
【0039】
もし、コピーであると判断された場合には何もせず、定期キャッシュを終了する。一方、判断の結果、マスターであると判断すると、キャッシュ管理部115は、ファイル管理部114を介し、他の計算機ノード101、121のファイル管理部104、124のキャッシュ管理部105、125へ、この分割領域を含むファイルのエントリを添付し、且つ、この分割領域をキャッシュすべき旨の要求を出す(S25)。キャッシュ管理部105、125は、この要求を受け、添付されたエントリを自身のキャッシュ優先度判定テーブル106、126へ追加するとともに、ファイル管理部104、124を介し、ファイル管理部115へその分割領域の送信要求を行う(S26)。なお、キャッシュ管理部105、125は、添付されたエントリを自身のキャッシュへ追加する際には、更新時刻(TSw)、参照時刻(TSr)、更新・参照差値(C)はそのままとし、自ノード更新・参照差値(Cc)を0として追加する。
【0040】
ファイル管理部115は、要求を受けた分割領域を読み出してファイル管理部104、124へ送信し、ファイル管理部104、124は、受信した分割領域を記憶部107、127へキャッシュする(S27)。そして、定期キャッシュを終了する。
【0041】
一方、ステップS23で、抽出されたエントリの分割領域が計算機ノード111の記憶部117に格納されていない場合には、分割領域を含むファイルのファイル名に基づいて、ファイルを格納している、例えば計算機ノード101へ分割領域の送信要求を行う(S28)。そして、計算機ノード101から転送された分割領域を計算機ノード111の記憶部117へキャッシュする(S29)。
【0042】
なお、上記フローチャートの説明は、ステップS22の検索により抽出されたエントリが1つの場合について説明したが、S22によって、複数のエントリを抽出しても良い。この場合、S23から終了までに関するステップを繰り返し行えば良いことは明らかである。以上のようにして、定期キャッシュ処理時に先読みキャッシュが行われる。
【0043】
次に、図7は、図5のステップS15のファイルの使用開始(open)処理の動作を説明したフローチャートである。
【0044】
まず、プロセス112からのファイルの使用開始(open)の要求と判定したファイル管理部114は、open要求のファイルが自ノードにマスターファイルが有るか否かを判定する(S31)。自ノードにマスターファイルが無いと判定した場合にのみ、以降のステップを行なう。
【0045】
まず、ファイル管理部114は、キャッシュ管理部115へファイルの使用開始を通知する(S32)。キャッシュ管理部115は、要求されたファイルを備える、例えば計算機ノード101へエントリの取得要求を行い、要求ファイルのエントリを取得する(S33)。
【0046】
次に、キャッシュ優先度判定テーブルに、既に要求のあったファイルのエントリを格納しているかを確認する(S34)。既に格納していたならば、既に格納していたエントリの最新更新時刻(TSw)と、新たに取得したエントリの最新更新時刻(TSw)を比較し、新たに取得したテーブルのTSwの方が新しく(実際には一致しない場合)、かつ、その分割領域をキャッシュとして既に格納している場合(S35)は、該当する分割領域またはファイルのキャッシュを削除する(S36)。そして格納していたエントリを新たなエントリに変更する(S37)。
【0047】
次に、取得した要求ファイルの各エントリが、条件4または条件2に該当しないか否かを判別する(S38)。条件4または条件2に該当しない場合には、キャッシュすることなく処理を終了する。一方、条件4または条件2に該当するエントリがある場合には、その分割領域を取得するために、計算機ノード101のファイル管理部104に要求を出して、その要求する分割領域を読み出して、記憶部117に先読みキャッシュする(S39)。
【0048】
次に、図8は、図5のステップS17の分割領域の参照処理の動作を説明したフローチャートである。
【0049】
まず、プロセス112からの分割領域の参照(read)の要求と判定したファイル管理部114は、read要求の分割領域を含むファイルが自ノードにマスターファイルが有るか否かを判定する(S31)。自ノードにマスターファイルが有ると判定した場合、この分割領域に対応するキャッシュ優先度判定テーブルのエントリの最新参照時刻(TSr)を現在時刻に変更し、また、更新・参照差値(C)を1減らす(S42)。
【0050】
一方、自ノードにマスターファイルが無いと判定した場合には、次に、記憶部117に要求された分割領域の最新の分割領域をキャッシュ済であるか否かを判断する(S43)。もし、キャッシュ済で無い場合には、キャッシュ管理部115へその旨通知し、キャッシュ管理部115は、ファイル管理部114を介し、この分割領域を格納している例えば他の計算機ノード101へ、この分割領域の送信要求を出す(S44)。この要求を受けた他の計算機ノード101のファイル管理部104は、要求された分割領域を読みだし、この分割領域を計算機ノード111へ送信する。ファイル管理部114は、受信した分割領域を記憶部117へキャッシュする(S45)。なお、readはopenより必ず後になるので、キャッシュ優先度判定テーブルはキャッシュ管理部115に登録されている。
【0051】
次に、この分割領域のキャッシュ優先度判定テーブル116のエントリを次のように更新する(S46)。すなわち、最新参照時刻(TSr)に現在の時刻を代入し、更新・参照差値(C)から1を減じ、Cの更新の内容を記録するための自ノード更新・参照差値Ccから1を減じる。なお、この例では単純にCから1を減じる処理としたが、例えば、最新更新時刻(TSw)と最新参照時刻(TSr)の新しい方の値と、現在時刻の差に応じて係数f(0<f<1)を用いた演算を行って、最新の参照に重み付けをしてもよい。
【0052】
ステップS42またはS46の後に、この分割領域を読み出した領域の応答としてプロセスへ送る(S45)。そして、ファイル108からの参照が終了する。
【0053】
次に、図9に、図5のステップS19の分割領域の更新処理の動作を示すフローチャートを示し説明する。
【0054】
まず、プロセス112からの、ある分割領域への更新(write)の要求と判断したファイル管理部114は、write要求の分割領域を含むファイルが自ノードにマスターファイルが有るか否かを判定する(S51)。自ノードにマスターファイルが有ると判定した場合、この分割領域に対応するキャッシュ優先度判定テーブルのエントリの最新更新時刻(TSw)を現在時刻に変更し、また、更新・参照差値(C)を1増やす(S52)。
【0055】
一方、自ノードにマスターファイルが無いと判定した場合には、次に、記憶部117に、分割領域のキャッシュが必要か否かを判断する(S53)。なお、ここでキャッシュが必要と判断される場合は、キャッシュ内容が最新のものでなく、且つ、分割領域のエントリが(前記キャッシュ条件の)条件4または2のときである。もし、キャッシュが必要と判断された場合には、キャッシュ管理部115へその旨通知し、キャッシュ管理部115は、ファイル管理部114を介し、この分割領域を格納している例えば他の計算機ノード101へ、この分割領域の送信要求を出す(S54)。この要求を受けた、ファイル管理部104は、要求された分割領域を読みだし、この分割領域を計算機ノード111へ送信する。ファイル管理部114は、受信した分割領域を記憶部117へキャッシュする(S55)。なお、write要求は、open要求より必ず後になるので、キャッシュ優先度判定テーブルはキャッシュ管理部115に登録されている。
【0056】
次に、該当する分割領域のキャッシュ優先度判定テーブル116のエントリを更新する(S56)。最新更新時刻(TSw)に現在の時刻を代入し、更新・参照差値(C)に1を加え、Cの更新の内容を記録するための自ノード更新・参照差値(Cc)に1を加える。なお、Cに1を加える際に、最新更新時刻(TSw)と最新参照時刻(TSr)の新しい方の値と、現在時刻の差に応じて係数f(0<f<1) を用いた演算を行って、最新の更新に重み付けをしてもよい。
【0057】
ステップS52またはS56の後に、この分割領域を読み出して、プロセス112により分割領域を更新する(S56)。なお、分割領域がコピーである場合、この時点で計算機ノード101のファイルの分割領域へ更新するようにしても良いし、また、そうでなければ、後述のcloseの処理の時点で更新するようにしても良い。また、例えば、分割領域の更新の有無を示すフラグなどで管理するようにすれば、上記以外の時点で更新するようにもできる。
【0058】
次に、図10に、図5のステップS20の分割領域の使用終了処理の動作を示すフローチャートを示し説明する。
【0059】
まず、プロセス112からの分割領域の使用終了(close)の要求と判断したファイル管理部114は、close要求のファイルが自ノードにマスターファイルが有るものか否かを判定する(S61)。自ノードにマスターファイルが有ると判定した場合、キャッシュ管理に係る処理としては特に何もせず、ファイル管理部114は、通常のclose処理を行って終了する。
この分割領域に対応するキャッシュ優先度判定テーブルのエントリの最新更新時刻(TSw)
一方、自ノードにマスターファイルが無いと判定した場合には、ファイル管理部104は、
自ノード上で参照・更新されたファイルに対応するキャッシュ優先度判定テーブル11のエントリをマスターファイルの有るノードへ送信するようキャッシュ管理部105に要求する(S62)。これにより、送信されたエントリを受信したキャッシュ管理部105は、ファイル108に対応するキャッシュ優先度判定テーブル106の内容にキャッシュ優先度判定テーブル116の内容を反映させる(S63)。この内容の反映とは、最新更新時刻(TSw)が106の最新更新時刻(TSw)よりも新しければ、116のTSwを106のTSwに代入する。また、116の最新参照時刻(TSr)が106の最新参照時刻(TSr)よりも新しければ、116のTSrを106のTSrに代入する。また、更新・参照差値(C)に、ノード11でのエントリの更新内容を記録するための自ノード更新・参照差値Ccの値を加える。なお、キャッシュ優先度判定テーブル106のCに116のCcを加える際に、最新更新時刻(TSw) と最新参照時刻(TSr)の新しい方の値と、現在時刻の差に応じて係数f(0<f<1) を用いた演算を行って、最新の更新や参照に重み付けをしてもよい。
【0060】
ステップS63で、反映させて、キャッシュに係るclose処理は終了する。なお、ファイル108のキャッシュ優先度判定テーブルの反映が終了した後、図6に示した定期キャッシュを行うようにしても良い。
【0061】
キャッシュを行う際に、キャッシュデータを格納するための領域がない場合には、優先度の低いキャッシュデータを破棄する必要がある。本発明による記憶部では、図4の条件1に合致するファイルの領域は更新される確率が最も高いので、優先的にキャッシュを破棄する。条件3に合致するファイルの領域の更新される確率は条件1についで高いので、必要があればこれに該当するキャッシュも破棄する。条件4、条件2に合致するキャッシュデータは参照される確率が高いので、なるべく破棄しないようにし、残りのキャッシュデータについては従来のLRU等の手法で破棄する。
【0062】
以上詳細に述べてきたように、本実施の形態のようにキャッシュ優先度判定テーブルを設け、また、キャッシュ優先度判定テーブルの管理を行うことにより、効率的な先読みキャッシュができるようになった。
【0063】
また、本記憶システムを構成する各計算機ノードは、参照されるが、更新はされない可能性の高いファイルまたは分割領域を優先して各々の計算機ノードで先読みキャッシュし、更新される可能性の高いファイルまたは分割領域は先読みキャッシュしないという動作を実現し、先読みキャッシュを有効に行なうことが可能となり、無駄な計算機ノード間通信を削減することが可能となった。
【0064】
【発明の効果】
本発明によれば、キャッシュ優先度判定テーブルを設け、また、キャッシュ優先度判定テーブルの管理を行うようにしたから、効率的な先読みキャッシュができるようになった。
【図面の簡単な説明】
【図1】本発明の実施形態に係る計算機クラスタシステムの機能ブロックを示す図。
【図2】ファイル単位のキャッシュ優先度判定テーブルの例。
【図3】ファイルを領域単位で分割した分割領域のキャッシュ優先度判定テーブルの例。
【図4】キャッシュ優先度判定テーブルの抽出条件の例。
【図5】本実施の形態のキャッシュ管理に係る全体の動作を示したフローチャート。
【図6】定期キャッシュ処理の動作に係るフローチャート。
【図7】ファイルの使用開始(open)処理におけるキャッシュに係る動作を示すフローチャート。
【図8】ファイルの参照(read)処理におけるキャッシュに係る動作を示すフローチャート。
【図9】ファイルの更新(write)処理におけるキャッシュに係る動作を示すフローチャート。
【図10】ファイルの使用終了(close)処理におけるキャッシュに係る動作を示すフローチャート。
【符号の説明】
101、111、121・・・計算機ノード
102、112、122・・・プロセス
103、113、123・・・通信部
104、114、124・・・ファイル管理部
105、115、125・・・キャッシュ管理部
106、116、126・・・キャッシュ優先度判定テーブル
107、117、127・・・記憶部
130・・・ネットワーク
【発明の属する技術分野】
本発明は、ネットワークを介して接続される複数の計算機ノードで構成される計算機クラスタシステムにおける、ファイルの先読みキャッシュを行なうことが可能な記憶装置、およびキャッシュ方法に関する。
【0002】
【従来の技術】
独立した複数の計算機ノードを組み合わせてプログラムを動作させるシステムを計算機クラスタシステムという。
【0003】
ネットワークによって接続された複数の計算機ノードによって構成される計算機クラスタシステムの各計算機ノード間でデータを格納したファイルを共有する手法として、ネットワークを介しファイルを格納している計算機ノード上の記憶装置からファイルの内容を参照することが一般的に行われている。このような手法の代表的なものとしては、NFS(Network File System)がある。
【0004】
NFSは、ネットワークに接続されたNFS サーバと、NFSクライアントとによって構成される。NFSサーバは、ファイルを格納しており、他の計算機ノードからのファイルへのアクセスを提供する計算機ノードにおいて動作している。NFSクライアントは、他の計算機ノードに格納されているファイルに対してアクセスを行う計算機ノードにおいて動作している。NFSクライアントが動作している計算機ノードにおいて、ファイルに対してアクセスの要求があった場合、NFSクライアントがその要求をNFSサーバに転送し、NFSサーバは実際のファイルにアクセスを行い、NFSクライアントにその結果を返す。このようにして、複数の計算機ノード間でファイルの共有を実現している。
【0005】
このような計算機クラスタシステムにおいて、各計算機ノードから他の計算機ノードに格納されているファイルの参照や更新は、計算機ノード間通信を伴う。これは、プロセスが動作している計算機ノードに格納されているファイルの参照や更新よりも時間がかかる。そのため、他の計算機ノードに格納されているファイルを、ファイルアクセスに先行してプロセスが動作している計算機ノードに前もって参照して記憶する先読みキャッシュを行なうことは、ファイルアクセスの性能を上げるために非常に重要である。
【0006】
この先読みキャッシュの方法としては、ファイルへの参照時刻が新しいものを優先して先読みを行なう方法(LRU)が一般的であった。この他に、参照のアクセス頻度と参照時刻とを使い分けたキャッシュの管理方法も提案されている(例えば、特許文献1参照)。
【0007】
【特許文献1】特開平7−182220号公報(特に、0026段落−0029、及び、第3図、第4図。)
【0008】
【発明が解決しようとする課題】
しかしながら、上記で説明した従来の先読みキャッシュ方法を用いた計算機クラスタシステムは、先読みキャッシュを行っても、他の計算機ノードで該ファイルが更新された場合、先読みキャッシュした内容と実際のファイルの内容が異なってしまうので、改めてキャッシュを行わなければならない。そのため、結果として、先読みキャッシュを行なったことが原因で、逆に計算機ノード間通信の通信量を増やしてしまい、システム全体の性能を下げる要因となってしまうことが多かった。
【0009】
また、ファイルをキャッシュするためのキャッシュ領域の容量は有限であるため、一定の優先順位をつけてキャッシュされたファイルをキャッシュ領域から削除する必要がある。この時の優先度も、従来の先読みキャッシュ方法では、ファイルの参照時刻によって判断し、ファイルアクセス時刻の古いファイルから削除するため、更新される可能性が低く、キャッシュしておくことが有効なファイルがキャッシュ領域から削除されてしまうといったことが多く起きてしまっていた。
【0010】
本発明は上記で説明した問題点に鑑みなされたものであって、効率の良い先読みキャッシュ方法を備えた記憶装置、および、キャッシュ方法を提供することを目的とする。
【0011】
【課題を解決するための手段】
上記課題を解決するために本発明は、ネットワークを介して互いに通信可能な複数の計算機ノードのそれぞれに備えることが可能な記憶装置であって、複数のファイルを記憶可能な記憶手段と、他の計算機ノードの記憶手段に記憶された複数のファイルのうち、少なくとも一つのファイルに対し、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルの最新参照時刻と該ファイルの更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを格納する格納手段と、前記格納手段に格納されるキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすときに、その組に対応するファイルを要求し、該要求により取得した該ファイルを前記記憶手段に記憶するキャッシュ管理手段とを備えた。
【0012】
また、本発明は、ネットワークを介して互いに通信可能な複数の計算機ノードのそれぞれに備えることが可能な記憶装置であって、ファイルを複数の領域に分割した分割領域単位で記憶可能な記憶手段と、他の計算機ノードの記憶手段に記憶された複数の分割領域のうち、少なくとも一つの該分割領域を含むファイルに対し、該ファイルを特定するための情報と、該ファイルの各分割領域の最新更新時刻と該ファイルの各分割領域の最新参照時刻と該ファイルの各分割領域の更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを格納する格納手段と、前記格納手段に格納されるキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすときに、その組に対応する分割領域を要求し、該要求により取得した該分割領域を前記記憶手段に記憶するキャッシュ管理手段とを備えた。
【0013】
また、本発明は、それぞれ複数のファイルを記憶する第1の計算機ノードと第2の計算機ノードとを含む複数の計算機ノードはネットワークで互いに接続されており、前記第2の計算機ノードの該ファイルを前記第1の計算機ノードで利用するに先立って、該ファイルまたはこれを分割した分割領域を自身のノードへ選択的にキャッシュするキャッシュ方法であって、前記第1の計算機ノードは、前記第2の計算機ノードから、前記第2の計算機ノードに記憶される少なくとも一つのファイルに対する、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルの最新参照時刻と該ファイルの更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを取得し、格納しておき、前記第1の計算機ノードは、所定のタイミングにおいて、該格納した第2の計算機ノードのキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすか否かを判定し、前記第1の計算機ノードは、該所定の条件を満たしたことを判定した際に、その組に対応するファイルまたはこれを分割した分割領域を前記第1の計算機ノードは前記第2の計算機ノードへ要求して取得し、前記第1の計算機ノードは、取得した該ファイルまたはこれを分割した分割領域を自身のノード内へキャッシュするようにした。
【0014】
また、本発明は、それぞれ複数のファイルを記憶する第1の計算機ノードと第2の計算機ノードとを含む複数の計算機ノードはネットワークで互いに接続されており、前記第2の計算機ノードの該ファイルを前記第1の計算機ノードで利用するに先立って、該ファイルまたはこれを分割した分割領域を自身のノードへ選択的にキャッシュするキャッシュ方法であって、前記第2の計算機ノードは、自計算機ノードに記憶されるファイルまたはこれを分割した分割領域単位に対する、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルまたはこれを分割した分割領域の最新参照時刻と該ファイルまたはこれを分割した分割領域の更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを取得し、格納しておき、前記第2の計算機ノードは、所定のタイミングにおいて、該キャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすか否かを判定し、前記第2の計算機ノードは、該所定の条件を満たしたことを判定した際に、その組に対応するファイルまたはこれを分割した分割領域を前記第1の計算機ノードへ送信し、前記第1の計算機ノードは、取得した該ファイルまたはこれを分割した分割領域を自身のノード内へキャッシュするようにした。
【0015】
このような本発明によって、従来に比べ、格段とヒット率の高い効率的な先読みキャッシュができるようになった。
【0016】
【発明の実施の形態】
以下、本発明の実施の形態について、説明する前に、まず、本発明の概念について説明する。
【0017】
計算機クラスタシステムを構成する各計算機ノードには、ファイル単位、または、ファイルを所定の方法で分割した各領域(以下、分割領域と称す)単位に対応付けて、最新更新時刻、最新参照時刻、更新回数と参照回数との差を記録する領域を備えるキャッシュ優先度判定テーブルを備える。このキャッシュ優先度判定テーブルを参照し、ファイルまたは分割領域に対するアクセスのパターンを予測することにより、先読みキャッシュを行うか否かを決定する。なお、更新回数と参照回数との差の記録の代わりに更新回数と参照回数とをそれぞれ記憶し、それらの比較差を求めるようにしても良いことは勿論である。
【0018】
最新更新時刻と最新参照時刻とからは、その値を比較することで、ファイルまたは分割領域に対して行われた最後のアクセスが、更新であるのか、参照であるのかを判断することができる。
【0019】
また、ファイルまたは分割領域に対する更新回数と参照回数の差は、この値が正の値であれば更新が多く、負の値であれば参照が多いことを表す。つまり、この値を利用することで、該ファイルまたは分割領域に対するアクセスは、更新のアクセスが多いのか、参照のアクセスが多いのかという傾向を判断することができる。なお、更新回数と参照回数のどちらが多いかは単純に比較せずに、ある閾値を設け、その閾値よりも差が多いときに、更新回数と参照回数に有意な差があると見なすようにしてもよい。
【0020】
そして、これら3つの値が、最新更新時刻よりも最新参照時刻の方が新しく、且つ、更新回数よりも参照回数が多い条件(第1条件)下においては、次のアクセスは参照のためのアクセスである可能性が大変高いという判断を行うことができる。また、3つの値が、最新参照時刻よりも最新更新時刻の方が新しいが、更新回数よりも参照回数が多い条件(第2条件)下においては、第1条件程ではないが、次のアクセスは参照のためのアクセスである可能性が高いという判断を行うことができる。また、3つの値が、最新更新時刻よりも最新参照時刻の方が新しいが、更新回数の方が参照回数よりも多い条件(第3条件)下では、以降のアクセスで参照される可能性もあるが更新される可能性のほうが高いという判断ができる。また、3つの値が、最新更新時刻が最新参照時刻よりも新しく、さらに更新回数が参照回数よりも多い条件(第4条件)下では、以降のアクセスで、更新される可能性が非常に高いという判断を行うことができる。
【0021】
以上の4つの条件を区別してキャッシュを管理する。すなわち、本計算機クラスタシステムの各記憶装置は、まず、第1条件、次に第2条件の順で優先的に、ファイルまたは分割領域を先読みキャッシュするようにし、その結果、キャッシュのヒット率の高い記憶装置が提供できるようになる。また、本計算機クラスタシステムの各記憶装置は、少なくとも第4条件を満たすときファイルまたは分割領域の先読みキャッシュを行わないようにし、その結果、キャッシュのヒット率の高さを維持した記憶装置が提供でき、且つ、無駄になる可能性の高いファイルまたは分割領域の通信を削減できるようになる。更に、本計算機クラスタシステムを構成する各計算機ノード上のキャッシュ領域が不足した場合に、第3条件のファイルまたは分割領域のキャッシュが存在した場合には、優先的にキャッシュ領域から削除するようにし、その結果、キャッシュのヒット率の高さを維持した記憶装置が提供できる。
【0022】
以上のようにして、本記憶システムを構成する各計算機ノードは、参照されるが、更新はされない可能性の高いファイルまたは分割領域を優先して各々の計算機ノードで先読みキャッシュし、更新される可能性の高いファイルまたは分割領域は先読みキャッシュしないという動作を実現し、先読みキャッシュを有効に行なうことが可能となり、無駄な計算機ノード間通信を削減することが可能となる。
【0023】
次に、上記で説明した本発明の概念に基づいた本発明の実施の形態について、図面を用いて以下に詳細に説明する。
【0024】
図1は、ネットワーク130で接続された3台の計算機ノード101、111、121によって構成される計算機クラスタシステムのブロック図である。なお、計算機ノードは3台に限らず、2台以上であれば何台でもよい。
【0025】
各計算機ノード101、111、121は、通信装置103、113、123と、ファイル管理部104、114、124と、記憶部107、117、127とをそれぞれ備える。各通信装置103、113、123は、ネットワーク130を介し、互いに接続される。通信の方式は、例えば、イーサーネット等が好適であるが、計算機ノード101、111、121間で通信を行うことができれば種類は問わない。
【0026】
各計算機ノード101、111、121上では、それぞれに備える図示しないプロセッサ上で、プロセス102、112、122が動作しており、各種処理を行っている。
【0027】
記憶部107、117、127は、ハードディスク、半導体メモリなどの記憶媒体であり、複数のマスターファイルを記憶する。各マスターファイルは、データや、ファイルに関する管理情報等を記録している。また、記憶部107、117、127は、それぞれ他の記憶部からキャッシュしてきたコピー(スレーブ)のファイルまたは分割領域も記憶可能である。
【0028】
ファイル管理部104、114、124は、自身の記憶部107、117、127に記憶されるマスターファイルやキャッシュしてきたコピーのファイルまたは分割領域を管理し、またこれらの入出力を行なうものである。また、ファイル管理部104、114、124は、記憶されるマスターファイルやキャッシュしてきたコピーのファイルまたは分割領域がどの計算機ノードにマスターファイルが格納されているかを管理する。また、ファイル管理部104、114、124は、キャッシュ管理部105、115、125と、先読みキャッシュを行うためのキャッシュ優先度判定テーブル106、116、126とを備える。
【0029】
キャッシュ優先度判定テーブル106、116、126は、自身の記憶部107、117、127に記憶されるマスターファイルやキャッシュしてきたコピーのファイルまたは分割領域のキャッシュ優先度判定に関する値を格納するものである。キャッシュ優先度判定テーブル106、116、126の一例を図2に示す。図2のキャッシュ優先度判定テーブルは、A、B、C、Dの4つのファイルが登録されていることを示している。該テーブルには、1つのファイルに対するエントリーとして、ファイルの最新更新時刻(TSw)、ファイルの最新参照時刻(TSr)、ファイルに対する更新回数と参照回数との差を示す更新・参照差値(C)、および、各計算機ノード上での更新回数と参照回数との差を示す自ノード更新・参照差値(Cc)を格納する領域が用意されている。なお、マスターファイルを対象としたエントリーの自ノード更新・参照差値(Cc)は、利用されないのでXで示している。また、図3は、図2の変形例のキャッシュ優先度判定テーブルであって、一つのファイルを領域分割して、各領域毎に情報を記録するようにしたものである。本実施の形態では、何れのテーブルを用いても良い。
【0030】
図4は、キャッシュ優先度判定テーブルからの抽出条件を列挙した表である。たとえば、条件1は最新更新時刻(TSw)が新しく、最新参照時刻(TSr)が古く、ファイルまたは分割領域に対する更新・参照差値(C)がある閾値Tよりも大きい条件を意味する。なお、閾値Tは、0よりも大きな数値である。
【0031】
次に、上記で説明した計算機クラスタシステムの動作について説明する。なお、以下の説明では、図3のキャッシュ優先度判定テーブルを用いたものとして、説明を行うこととする。
【0032】
図5は、キャッシュ管理に係る全体の動作を、例として計算機ノード111を中心として示したフローチャートである。なお、計算機ノード101および計算機ノード121も同様な動作を行う。
【0033】
まず、ファイル管理部114は、ファイルまたは分割領域に係る諸処理の要求を待つ(S10)。ここで、ファイル管理部114は、何らかの処理の要求を受ける(S11)と、まず、定期キャッシュの要求であるか否かを判定する(S12)。本計算機クラスタシステムの各計算機ノードの各ファイル管理部104、114、124間は、定期的に通信装置103、113、123を介し通信を行って、各計算機ノード101、111、121の記憶部107、117、127の記憶容量をチェックしている。その結果、各記憶容量に十分余裕がある場合には、先読みキャッシュ動作を行う。この処理をここでは定期キャッシュと呼び、この定期キャッシュの要求は、ファイル管理部114自身で行っている。
【0034】
処理の要求の判定が、定期キャッシュの要求であれば、定期キャッシュ処理を実行する(S13)。一方、定期キャッシュの要求でなければ、次に、ファイルの使用開始(open)の要求であるか否か判定する(S14)。ファイルのopen要求であれば、ファイルの使用開始処理を行う(S15)。ファイルの使用開始の要求でなければ、次に分割領域の参照(read)要求であるか否か判定する(S16)。分割領域の参照要求であれば、分割領域の参照処理を行う(S17)。分割領域の参照要求でなければ、次に分割領域の更新(write)要求であるか否か判定する(S18)。分割領域のwrite要求であれば、分割領域の更新処理を行う(S19)。分割領域のwrite要求でなければ、ファイルの使用終了(close)の要求なので、ファイルの使用終了の処理を行う(S20)。各要求に対する処理が終わると、ステップS11に戻り、ファイル管理部114は、再び、次の要求を待つ。
【0035】
なお、ここで説明したフローでは、この他の判定を行うこともあるかも知れないが、本実施の形態に直接関係ないので、省略する。また、判定の順序も上記の順でなくても良いことは勿論である。
【0036】
図6は、図5のステップS13の定期キャッシュ処理の動作を説明したフローチャートである。
【0037】
定期キャッシュ処理の要求と判定したファイル管理部114は、キャッシュ管理部115へ定期キャッシュ処理を通知する(S21)。キャッシュ管理部115は、キャッシュ優先度判定テーブル116の中から、図4の条件4に合致するエントリを検索する(S22)。なお、エントリとは、ここでは、各分割領域に対応したキャッシュ優先度判定テーブル116の各行をそれぞれ指している。
【0038】
次に、検索により抽出されたエントリが計算機ノード111の記憶部117に格納されている分割領域であるか否かを判断する(S23)。記憶部117に格納されていた場合には、次に、その分割領域がマスターであるかコピーであるかを判断する(S24)。なお、各ファイル管理部104、114、124は、ファイルのマスターがどの計算機ノードにあるかは知っており、その分割領域を含むファイルが自ノードに格納されている場合はマスターであり、他ノードに格納されている場合はコピー(以前にキャッシュされた領域)であると判断することができる。
【0039】
もし、コピーであると判断された場合には何もせず、定期キャッシュを終了する。一方、判断の結果、マスターであると判断すると、キャッシュ管理部115は、ファイル管理部114を介し、他の計算機ノード101、121のファイル管理部104、124のキャッシュ管理部105、125へ、この分割領域を含むファイルのエントリを添付し、且つ、この分割領域をキャッシュすべき旨の要求を出す(S25)。キャッシュ管理部105、125は、この要求を受け、添付されたエントリを自身のキャッシュ優先度判定テーブル106、126へ追加するとともに、ファイル管理部104、124を介し、ファイル管理部115へその分割領域の送信要求を行う(S26)。なお、キャッシュ管理部105、125は、添付されたエントリを自身のキャッシュへ追加する際には、更新時刻(TSw)、参照時刻(TSr)、更新・参照差値(C)はそのままとし、自ノード更新・参照差値(Cc)を0として追加する。
【0040】
ファイル管理部115は、要求を受けた分割領域を読み出してファイル管理部104、124へ送信し、ファイル管理部104、124は、受信した分割領域を記憶部107、127へキャッシュする(S27)。そして、定期キャッシュを終了する。
【0041】
一方、ステップS23で、抽出されたエントリの分割領域が計算機ノード111の記憶部117に格納されていない場合には、分割領域を含むファイルのファイル名に基づいて、ファイルを格納している、例えば計算機ノード101へ分割領域の送信要求を行う(S28)。そして、計算機ノード101から転送された分割領域を計算機ノード111の記憶部117へキャッシュする(S29)。
【0042】
なお、上記フローチャートの説明は、ステップS22の検索により抽出されたエントリが1つの場合について説明したが、S22によって、複数のエントリを抽出しても良い。この場合、S23から終了までに関するステップを繰り返し行えば良いことは明らかである。以上のようにして、定期キャッシュ処理時に先読みキャッシュが行われる。
【0043】
次に、図7は、図5のステップS15のファイルの使用開始(open)処理の動作を説明したフローチャートである。
【0044】
まず、プロセス112からのファイルの使用開始(open)の要求と判定したファイル管理部114は、open要求のファイルが自ノードにマスターファイルが有るか否かを判定する(S31)。自ノードにマスターファイルが無いと判定した場合にのみ、以降のステップを行なう。
【0045】
まず、ファイル管理部114は、キャッシュ管理部115へファイルの使用開始を通知する(S32)。キャッシュ管理部115は、要求されたファイルを備える、例えば計算機ノード101へエントリの取得要求を行い、要求ファイルのエントリを取得する(S33)。
【0046】
次に、キャッシュ優先度判定テーブルに、既に要求のあったファイルのエントリを格納しているかを確認する(S34)。既に格納していたならば、既に格納していたエントリの最新更新時刻(TSw)と、新たに取得したエントリの最新更新時刻(TSw)を比較し、新たに取得したテーブルのTSwの方が新しく(実際には一致しない場合)、かつ、その分割領域をキャッシュとして既に格納している場合(S35)は、該当する分割領域またはファイルのキャッシュを削除する(S36)。そして格納していたエントリを新たなエントリに変更する(S37)。
【0047】
次に、取得した要求ファイルの各エントリが、条件4または条件2に該当しないか否かを判別する(S38)。条件4または条件2に該当しない場合には、キャッシュすることなく処理を終了する。一方、条件4または条件2に該当するエントリがある場合には、その分割領域を取得するために、計算機ノード101のファイル管理部104に要求を出して、その要求する分割領域を読み出して、記憶部117に先読みキャッシュする(S39)。
【0048】
次に、図8は、図5のステップS17の分割領域の参照処理の動作を説明したフローチャートである。
【0049】
まず、プロセス112からの分割領域の参照(read)の要求と判定したファイル管理部114は、read要求の分割領域を含むファイルが自ノードにマスターファイルが有るか否かを判定する(S31)。自ノードにマスターファイルが有ると判定した場合、この分割領域に対応するキャッシュ優先度判定テーブルのエントリの最新参照時刻(TSr)を現在時刻に変更し、また、更新・参照差値(C)を1減らす(S42)。
【0050】
一方、自ノードにマスターファイルが無いと判定した場合には、次に、記憶部117に要求された分割領域の最新の分割領域をキャッシュ済であるか否かを判断する(S43)。もし、キャッシュ済で無い場合には、キャッシュ管理部115へその旨通知し、キャッシュ管理部115は、ファイル管理部114を介し、この分割領域を格納している例えば他の計算機ノード101へ、この分割領域の送信要求を出す(S44)。この要求を受けた他の計算機ノード101のファイル管理部104は、要求された分割領域を読みだし、この分割領域を計算機ノード111へ送信する。ファイル管理部114は、受信した分割領域を記憶部117へキャッシュする(S45)。なお、readはopenより必ず後になるので、キャッシュ優先度判定テーブルはキャッシュ管理部115に登録されている。
【0051】
次に、この分割領域のキャッシュ優先度判定テーブル116のエントリを次のように更新する(S46)。すなわち、最新参照時刻(TSr)に現在の時刻を代入し、更新・参照差値(C)から1を減じ、Cの更新の内容を記録するための自ノード更新・参照差値Ccから1を減じる。なお、この例では単純にCから1を減じる処理としたが、例えば、最新更新時刻(TSw)と最新参照時刻(TSr)の新しい方の値と、現在時刻の差に応じて係数f(0<f<1)を用いた演算を行って、最新の参照に重み付けをしてもよい。
【0052】
ステップS42またはS46の後に、この分割領域を読み出した領域の応答としてプロセスへ送る(S45)。そして、ファイル108からの参照が終了する。
【0053】
次に、図9に、図5のステップS19の分割領域の更新処理の動作を示すフローチャートを示し説明する。
【0054】
まず、プロセス112からの、ある分割領域への更新(write)の要求と判断したファイル管理部114は、write要求の分割領域を含むファイルが自ノードにマスターファイルが有るか否かを判定する(S51)。自ノードにマスターファイルが有ると判定した場合、この分割領域に対応するキャッシュ優先度判定テーブルのエントリの最新更新時刻(TSw)を現在時刻に変更し、また、更新・参照差値(C)を1増やす(S52)。
【0055】
一方、自ノードにマスターファイルが無いと判定した場合には、次に、記憶部117に、分割領域のキャッシュが必要か否かを判断する(S53)。なお、ここでキャッシュが必要と判断される場合は、キャッシュ内容が最新のものでなく、且つ、分割領域のエントリが(前記キャッシュ条件の)条件4または2のときである。もし、キャッシュが必要と判断された場合には、キャッシュ管理部115へその旨通知し、キャッシュ管理部115は、ファイル管理部114を介し、この分割領域を格納している例えば他の計算機ノード101へ、この分割領域の送信要求を出す(S54)。この要求を受けた、ファイル管理部104は、要求された分割領域を読みだし、この分割領域を計算機ノード111へ送信する。ファイル管理部114は、受信した分割領域を記憶部117へキャッシュする(S55)。なお、write要求は、open要求より必ず後になるので、キャッシュ優先度判定テーブルはキャッシュ管理部115に登録されている。
【0056】
次に、該当する分割領域のキャッシュ優先度判定テーブル116のエントリを更新する(S56)。最新更新時刻(TSw)に現在の時刻を代入し、更新・参照差値(C)に1を加え、Cの更新の内容を記録するための自ノード更新・参照差値(Cc)に1を加える。なお、Cに1を加える際に、最新更新時刻(TSw)と最新参照時刻(TSr)の新しい方の値と、現在時刻の差に応じて係数f(0<f<1) を用いた演算を行って、最新の更新に重み付けをしてもよい。
【0057】
ステップS52またはS56の後に、この分割領域を読み出して、プロセス112により分割領域を更新する(S56)。なお、分割領域がコピーである場合、この時点で計算機ノード101のファイルの分割領域へ更新するようにしても良いし、また、そうでなければ、後述のcloseの処理の時点で更新するようにしても良い。また、例えば、分割領域の更新の有無を示すフラグなどで管理するようにすれば、上記以外の時点で更新するようにもできる。
【0058】
次に、図10に、図5のステップS20の分割領域の使用終了処理の動作を示すフローチャートを示し説明する。
【0059】
まず、プロセス112からの分割領域の使用終了(close)の要求と判断したファイル管理部114は、close要求のファイルが自ノードにマスターファイルが有るものか否かを判定する(S61)。自ノードにマスターファイルが有ると判定した場合、キャッシュ管理に係る処理としては特に何もせず、ファイル管理部114は、通常のclose処理を行って終了する。
この分割領域に対応するキャッシュ優先度判定テーブルのエントリの最新更新時刻(TSw)
一方、自ノードにマスターファイルが無いと判定した場合には、ファイル管理部104は、
自ノード上で参照・更新されたファイルに対応するキャッシュ優先度判定テーブル11のエントリをマスターファイルの有るノードへ送信するようキャッシュ管理部105に要求する(S62)。これにより、送信されたエントリを受信したキャッシュ管理部105は、ファイル108に対応するキャッシュ優先度判定テーブル106の内容にキャッシュ優先度判定テーブル116の内容を反映させる(S63)。この内容の反映とは、最新更新時刻(TSw)が106の最新更新時刻(TSw)よりも新しければ、116のTSwを106のTSwに代入する。また、116の最新参照時刻(TSr)が106の最新参照時刻(TSr)よりも新しければ、116のTSrを106のTSrに代入する。また、更新・参照差値(C)に、ノード11でのエントリの更新内容を記録するための自ノード更新・参照差値Ccの値を加える。なお、キャッシュ優先度判定テーブル106のCに116のCcを加える際に、最新更新時刻(TSw) と最新参照時刻(TSr)の新しい方の値と、現在時刻の差に応じて係数f(0<f<1) を用いた演算を行って、最新の更新や参照に重み付けをしてもよい。
【0060】
ステップS63で、反映させて、キャッシュに係るclose処理は終了する。なお、ファイル108のキャッシュ優先度判定テーブルの反映が終了した後、図6に示した定期キャッシュを行うようにしても良い。
【0061】
キャッシュを行う際に、キャッシュデータを格納するための領域がない場合には、優先度の低いキャッシュデータを破棄する必要がある。本発明による記憶部では、図4の条件1に合致するファイルの領域は更新される確率が最も高いので、優先的にキャッシュを破棄する。条件3に合致するファイルの領域の更新される確率は条件1についで高いので、必要があればこれに該当するキャッシュも破棄する。条件4、条件2に合致するキャッシュデータは参照される確率が高いので、なるべく破棄しないようにし、残りのキャッシュデータについては従来のLRU等の手法で破棄する。
【0062】
以上詳細に述べてきたように、本実施の形態のようにキャッシュ優先度判定テーブルを設け、また、キャッシュ優先度判定テーブルの管理を行うことにより、効率的な先読みキャッシュができるようになった。
【0063】
また、本記憶システムを構成する各計算機ノードは、参照されるが、更新はされない可能性の高いファイルまたは分割領域を優先して各々の計算機ノードで先読みキャッシュし、更新される可能性の高いファイルまたは分割領域は先読みキャッシュしないという動作を実現し、先読みキャッシュを有効に行なうことが可能となり、無駄な計算機ノード間通信を削減することが可能となった。
【0064】
【発明の効果】
本発明によれば、キャッシュ優先度判定テーブルを設け、また、キャッシュ優先度判定テーブルの管理を行うようにしたから、効率的な先読みキャッシュができるようになった。
【図面の簡単な説明】
【図1】本発明の実施形態に係る計算機クラスタシステムの機能ブロックを示す図。
【図2】ファイル単位のキャッシュ優先度判定テーブルの例。
【図3】ファイルを領域単位で分割した分割領域のキャッシュ優先度判定テーブルの例。
【図4】キャッシュ優先度判定テーブルの抽出条件の例。
【図5】本実施の形態のキャッシュ管理に係る全体の動作を示したフローチャート。
【図6】定期キャッシュ処理の動作に係るフローチャート。
【図7】ファイルの使用開始(open)処理におけるキャッシュに係る動作を示すフローチャート。
【図8】ファイルの参照(read)処理におけるキャッシュに係る動作を示すフローチャート。
【図9】ファイルの更新(write)処理におけるキャッシュに係る動作を示すフローチャート。
【図10】ファイルの使用終了(close)処理におけるキャッシュに係る動作を示すフローチャート。
【符号の説明】
101、111、121・・・計算機ノード
102、112、122・・・プロセス
103、113、123・・・通信部
104、114、124・・・ファイル管理部
105、115、125・・・キャッシュ管理部
106、116、126・・・キャッシュ優先度判定テーブル
107、117、127・・・記憶部
130・・・ネットワーク
Claims (18)
- ネットワークを介して互いに通信可能な複数の計算機ノードのそれぞれに備えることが可能な記憶装置であって、
複数のファイルを記憶可能な記憶手段と、
他の計算機ノードの記憶手段に記憶された複数のファイルのうち、少なくとも一つのファイルに対し、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルの最新参照時刻と該ファイルの更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを格納する格納手段と、
前記格納手段に格納されるキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすときに、その組に対応するファイルを要求し、該要求により取得した該ファイルを前記記憶手段に記憶するキャッシュ管理手段とを備えたことを特徴とする記憶装置。 - ネットワークを介して互いに通信可能な複数の計算機ノードのそれぞれに備えることが可能な記憶装置であって、
ファイルを複数の領域に分割した分割領域単位で記憶可能な記憶手段と、
他の計算機ノードの記憶手段に記憶された複数の分割領域のうち、少なくとも一つの該分割領域を含むファイルに対し、該ファイルを特定するための情報と、該ファイルの各分割領域の最新更新時刻と該ファイルの各分割領域の最新参照時刻と該ファイルの各分割領域の更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを格納する格納手段と、
前記格納手段に格納されるキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすときに、その組に対応する分割領域を要求し、該要求により取得した該分割領域を前記記憶手段に記憶するキャッシュ管理手段とを備えたことを特徴とする記憶装置。 - 前記格納手段は、更に、前記記憶手段に記憶されるファイルに対応するキャッシュ優先度判定テーブルをも格納することを特徴とする請求項1または請求項2記載の記憶装置。
- 前記所定の条件は、最新更新時刻より最新参照時刻が新しく、且つ、参照回数が更新回数に対し所定の閾値より大きい第1の条件としたことを特徴とする請求項1または請求項2記載の記憶装置。
- 前記所定の条件は、最新更新時刻より最新参照時刻が新しく、且つ、参照回数が更新回数に対し所定の閾値より大きい第1の条件と、最新参照時刻より最新更新時刻が新しく、且つ、参照回数が更新回数に対し所定の閾値より大きい第2の条件とからなるようにしたことを特徴とする請求項1または請求項2記載の記憶装置。
- 前記キャッシュ管理手段を定期的に実行する手段を更に備え、
前記所定の条件は、最新更新時刻より最新参照時刻が新しく、且つ、参照回数が更新回数に対し所定の閾値より大きい第1の条件としたことを特徴とする請求項1または2記載の記憶装置。 - 前記他の計算機ノードにあるファイルの使用を開始するときに、使用が開始される該ファイルに対する、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルの最新参照時刻と該ファイルの更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを前記計算機ノードから取得し、前記格納手段に格納されるキャッシュ優先度判定テーブルに追加するようにしたことを特徴とする請求項1記載の記憶装置。
- 前記キャッシュ管理部は、前記他の計算機ノードにあるファイルの使用を開始するときに、使用を開始される該ファイルに対する、分割領域を含むファイルに対し、該ファイルを特定するための情報と、該ファイルの各分割領域の最新更新時刻と該ファイルの各分割領域の最新参照時刻と該ファイルの各分割領域の更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを取得し、前記格納手段に格納されるキャッシュ優先度判定テーブルに追加するようにしたことを特徴とする請求項2記載の記憶装置。
- 該キャッシュ優先度判定テーブルに含まれる該ファイルの使用終了時に、該ファイルに対応の最新更新情報と最新参照情報と更新・参照差情報とを該別の計算機へ送信するようにしたことを特徴とする請求項1または請求項2記載の記憶装置。
- 前記格納手段は、更に、前記記憶手段に記憶されるファイルに対応するキャッシュ優先度判定テーブルをも格納するようにするとともに、
自記憶装置を備える計算機ノードが、該キャッシュ優先度判定テーブルに含まれる該ファイルの使用終了時に、該ファイルのマスターファイルが該計算機ノードと別の計算機ノードにある場合には、該ファイルに対応の最新更新情報と最新参照情報と更新・参照差情報とを該別の計算機へ送信するようにしたことを特徴とする請求項1記載の記憶装置。 - 前記キャッシュ管理手段は、該別の計算機ノードから、前記記憶手段に記憶されるマスターファイルのあるファイルに対応の最新更新情報と最新参照情報と更新・参照差情報とを受信した時、前記キャッシュ優先度判定テーブルに格納される該ファイルに対応の最新更新情報と最新参照情報と更新・参照差情報とを必要に応じて更新するテーブル更新手段を更に備えたことを特徴とする請求項10記載の記憶装置。
- 前記格納手段は、更に、前記記憶手段に記憶されるファイルに対応するキャッシュ優先度判定テーブルをも格納するようにするとともに、
自記憶装置を備える計算機ノードが、該キャッシュ優先度判定テーブルに含まれる該ファイルの使用終了時に、該ファイルのマスターファイルが該計算機ノードと別の計算機ノードにある場合には、該ファイルの分割領域それぞれに対応の最新更新情報と最新参照情報と更新・参照差情報とを該別の計算機へ送信するようにしたことを特徴とする請求項2記載の記憶装置。 - 前記キャッシュ管理手段は、該別の計算機ノードから、前記記憶手段に記憶されるマスターファイルのあるファイルに対応の最新更新情報と最新参照情報と更新・参照差情報とを受信した時、前記キャッシュ優先度判定テーブルに格納される該ファイルの各分割領域に対応の最新更新情報と最新参照情報と更新・参照差情報とを必要に応じて更新するテーブル更新手段を更に備えたことを特徴とする請求項12記載の記憶装置。
- 前記格納手段に格納されるキャッシュ優先度判定テーブルは、更に自記憶装置を備える計算機ノードで行われた更新及び参照による更新回数及び参照回数の差を得ることが可能な自ノード更新・参照差情報を対応付けて格納するようにしたことを特徴とする請求項1または請求項2記載の記憶装置。
- 前記キャッシュ管理手段は、ファイルの削除が必要なとき、該キャッシュ優先度判定テーブルを参照し、最新更新時刻より最新参照時刻が古く、且つ、更新・参照差情報が参照回数が更新回数に対し所定の閾値より小さいことを示すファイルを最優先に削除するようにしたことを特徴とする請求項1記載の記憶装置。
- 前記キャッシュ管理手段は、該分割領域の削除が必要なとき、該キャッシュ優先度判定テーブルを参照し、最新更新時刻より最新参照時刻が古く、且つ、更新・参照差情報が参照回数が更新回数に対し所定の閾値より小さいことを示す該分割領域を最優先に削除するようにしたことを特徴とする請求項2記載の記憶装置。
- それぞれ複数のファイルを記憶する第1の計算機ノードと第2の計算機ノードとを含む複数の計算機ノードはネットワークで互いに接続されており、前記第2の計算機ノードの該ファイルを前記第1の計算機ノードで利用するに先立って、該ファイルまたはこれを分割した分割領域を自身のノードへ選択的にキャッシュするキャッシュ方法であって、
前記第1の計算機ノードは、前記第2の計算機ノードから、前記第2の計算機ノードに記憶される少なくとも一つのファイルに対する、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルの最新参照時刻と該ファイルの更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを取得し、格納しておき、
前記第1の計算機ノードは、所定のタイミングにおいて、該格納した第2の計算機ノードのキャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすか否かを判定し、
前記第1の計算機ノードは、該所定の条件を満たしたことを判定した際に、その組に対応するファイルまたはこれを分割した分割領域を前記第1の計算機ノードは前記第2の計算機ノードへ要求して取得し、
前記第1の計算機ノードは、取得した該ファイルまたはこれを分割した分割領域を自身のノード内へキャッシュするようにしたことを特徴とするキャッシュ方法。 - それぞれ複数のファイルを記憶する第1の計算機ノードと第2の計算機ノードとを含む複数の計算機ノードはネットワークで互いに接続されており、前記第2の計算機ノードの該ファイルを前記第1の計算機ノードで利用するに先立って、該ファイルまたはこれを分割した分割領域を自身のノードへ選択的にキャッシュするキャッシュ方法であって、
前記第2の計算機ノードは、自計算機ノードに記憶されるファイルまたはこれを分割した分割領域単位に対する、該ファイルを特定するための情報と、該ファイルの最新更新時刻と該ファイルまたはこれを分割した分割領域の最新参照時刻と該ファイルまたはこれを分割した分割領域の更新回数及び参照回数の差を得ることが可能な更新・参照差情報とを対応付けたキャッシュ優先度判定テーブルを取得し、格納しておき、
前記第2の計算機ノードは、所定のタイミングにおいて、該キャッシュ優先度判定テーブルの該最新更新時刻と該最新参照時刻と該更新・参照差情報との組が所定の条件を満たすか否かを判定し、
前記第2の計算機ノードは、該所定の条件を満たしたことを判定した際に、その組に対応するファイルまたはこれを分割した分割領域を前記第1の計算機ノードへ送信し、
前記第1の計算機ノードは、取得した該ファイルまたはこれを分割した分割領域を自身のノード内へキャッシュするようにしたことを特徴とするキャッシュ方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002280296A JP2004118482A (ja) | 2002-09-26 | 2002-09-26 | 記憶装置、および、キャッシュ方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002280296A JP2004118482A (ja) | 2002-09-26 | 2002-09-26 | 記憶装置、および、キャッシュ方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004118482A true JP2004118482A (ja) | 2004-04-15 |
Family
ID=32275032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002280296A Abandoned JP2004118482A (ja) | 2002-09-26 | 2002-09-26 | 記憶装置、および、キャッシュ方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004118482A (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007148554A (ja) * | 2005-11-24 | 2007-06-14 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークキャッシュ装置およびプログラム |
JP2012018607A (ja) * | 2010-07-09 | 2012-01-26 | Nomura Research Institute Ltd | 分散キャッシュシステム |
JP2012078927A (ja) * | 2010-09-30 | 2012-04-19 | Internatl Business Mach Corp <Ibm> | データベースにおけるキャッシュ制御方法、システム及びプログラム |
US8291093B2 (en) | 2005-12-08 | 2012-10-16 | Microsoft Corporation | Peer-to-peer remediation |
CN103701929A (zh) * | 2014-01-02 | 2014-04-02 | 中安消技术有限公司 | 实现业务数据缓存的方法及装置 |
WO2014155553A1 (ja) * | 2013-03-27 | 2014-10-02 | 富士通株式会社 | 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム |
CN107908769A (zh) * | 2017-11-29 | 2018-04-13 | 中国平安财产保险股份有限公司 | 违章数据查询方法、装置、系统、设备及可读存储介质 |
JP2018092271A (ja) * | 2016-11-30 | 2018-06-14 | 富士通株式会社 | 分散データ管理装置、分散データ管理プログラム及び分散データ管理方法 |
JP2022100514A (ja) * | 2020-12-24 | 2022-07-06 | 株式会社日立製作所 | ストレージシステムおよびデータ管理方法 |
CN116383258A (zh) * | 2023-05-23 | 2023-07-04 | 菏泽全胜建筑装饰工程有限公司 | 基于bim的建筑施工数据管理方法及系统 |
-
2002
- 2002-09-26 JP JP2002280296A patent/JP2004118482A/ja not_active Abandoned
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4606998B2 (ja) * | 2005-11-24 | 2011-01-05 | 日本電信電話株式会社 | ネットワークキャッシュ装置およびプログラム |
JP2007148554A (ja) * | 2005-11-24 | 2007-06-14 | Nippon Telegr & Teleph Corp <Ntt> | ネットワークキャッシュ装置およびプログラム |
US8924577B2 (en) | 2005-12-08 | 2014-12-30 | Microsoft Corporation | Peer-to-peer remediation |
US8291093B2 (en) | 2005-12-08 | 2012-10-16 | Microsoft Corporation | Peer-to-peer remediation |
JP2012018607A (ja) * | 2010-07-09 | 2012-01-26 | Nomura Research Institute Ltd | 分散キャッシュシステム |
JP2012078927A (ja) * | 2010-09-30 | 2012-04-19 | Internatl Business Mach Corp <Ibm> | データベースにおけるキャッシュ制御方法、システム及びプログラム |
JPWO2014155553A1 (ja) * | 2013-03-27 | 2017-02-16 | 富士通株式会社 | 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム |
WO2014155553A1 (ja) * | 2013-03-27 | 2014-10-02 | 富士通株式会社 | 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム |
US10049049B2 (en) | 2013-03-27 | 2018-08-14 | Fujitsu Limited | Method and system for caching data managed by plural information processing apparatuses |
CN103701929A (zh) * | 2014-01-02 | 2014-04-02 | 中安消技术有限公司 | 实现业务数据缓存的方法及装置 |
JP2018092271A (ja) * | 2016-11-30 | 2018-06-14 | 富士通株式会社 | 分散データ管理装置、分散データ管理プログラム及び分散データ管理方法 |
CN107908769A (zh) * | 2017-11-29 | 2018-04-13 | 中国平安财产保险股份有限公司 | 违章数据查询方法、装置、系统、设备及可读存储介质 |
JP2022100514A (ja) * | 2020-12-24 | 2022-07-06 | 株式会社日立製作所 | ストレージシステムおよびデータ管理方法 |
JP7391826B2 (ja) | 2020-12-24 | 2023-12-05 | 株式会社日立製作所 | ストレージシステムおよびデータ管理方法 |
CN116383258A (zh) * | 2023-05-23 | 2023-07-04 | 菏泽全胜建筑装饰工程有限公司 | 基于bim的建筑施工数据管理方法及系统 |
CN116383258B (zh) * | 2023-05-23 | 2023-08-11 | 菏泽全胜建筑装饰工程有限公司 | 基于bim的建筑施工数据管理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3612271B2 (ja) | ファイルシステム | |
JP4294494B2 (ja) | 複数のキャッシュサーバによる共有ストレージの使用を管理するデバイスおよび方法 | |
JP4489292B2 (ja) | 高性能オブジェクト・キャッシュ | |
US9246776B2 (en) | Forward-based resource delivery network management techniques | |
US7058763B2 (en) | File system for caching web proxies | |
EP1540498B1 (en) | Apparatus and method for proxy cache | |
US6219676B1 (en) | Methodology for cache coherency of web server data | |
US6871268B2 (en) | Methods and systems for distributed caching in presence of updates and in accordance with holding times | |
US7539818B2 (en) | Network object cache engine | |
US6370620B1 (en) | Web object caching and apparatus for performing the same | |
US6182111B1 (en) | Method and system for managing distributed data | |
US8868831B2 (en) | Caching data between a database server and a storage system | |
US7269608B2 (en) | Apparatus and methods for caching objects using main memory and persistent memory | |
US8396936B2 (en) | Computer system with cooperative cache | |
US20080172531A1 (en) | Data-aware cache state machine | |
JP3481054B2 (ja) | ゲートウェイ装置、クライアント計算機およびそれらを接続した分散ファイルシステム | |
US20070143340A1 (en) | System and method of time-based cache coherency maintenance in user file manager of object-based storage system | |
JP2009501390A (ja) | 領域を解放するための、ストレージボリューム上のファイルから代替ロケーションへのデータの移動 | |
US10942867B2 (en) | Client-side caching for deduplication data protection and storage systems | |
JP2004118482A (ja) | 記憶装置、および、キャッシュ方法 | |
US7249219B1 (en) | Method and apparatus to improve buffer cache hit rate | |
JP4105260B2 (ja) | 情報処理装置 | |
JP2004280847A (ja) | 情報中継装置及び記憶媒体 | |
JPH11175539A (ja) | 代理情報取得方法及びシステム及び代理情報取得プログラムを格納した記憶媒体 | |
JP2002511170A (ja) | ネットワークオブジェクトキャッシュエンジン |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050207 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050415 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20070709 |