(57)【特許請求の範囲】
【請求項１】
それぞれが主メモリを有するとともに二次記憶機構が接続される複数の計算機と、
これら複数の計算機に接続されて計算機間のデータの転送を可能とするネットワーク機構と、
該ネットワーク機構に接続されるそれぞれの計算機においてデータアクセスの高速化を実現するために設けられたキャッシュ領域を、ネットワーク機構を介して管理するキャッシュ領域管理機構とを有する分散データ管理システムにおいて、
キャッシュ領域が、計算機の主メモリ内において、当該計算機に接続される二次記憶機構および当該計算機内で発生される複数のプロセスが直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられ、
主メモリにおいて、取り扱うデータの更新頻度に基づいて使用するキャッシュ領域を区別するようにキャッシュ領域を分割して、取り扱うデータの更新頻度に対応した複数のサブキャッシュ領域を備え、
前記それぞれの計算機のキャッシュ領域には、すべてに共通のデータが保持されるように、１つの計算機のキャッシュ領域においてデータブロックの更新があると、他の計算機のキャッシュ領域においても該当するデータブロックを更新し、
前記取り扱うデータの更新頻度に対応したそれぞれのサブキャッシュ領域毎に、当該サブキャッシュ領域を管理するキャッシュ領域管理機構を備えることを特徴とする分散データ管理システム。
【請求項２】
計算機に接続された二次記憶機構に配置されたキャッシュ領域を分割して、当該計算機が有する主メモリに配置されたサブキャッシュ領域を包含するように対応付けて二次記憶機構にサブキャッシュ領域を備えることを特徴とする請求項１記載の分散データ管理システム。
【請求項３】
計算機内部に設けられ、当該計算機のサブキャッシュ領域には直接アクセス可能であり、他の計算機のサブキャッシュ領域にはネットワーク機構を介してアクセスして管理するキャッシュ領域管理機構を備えることを特徴とする請求項１記載の分散データ管理システム。
【請求項４】
計算機に接続された二次記憶機構に配置されたキャッシュ領域を分割して、当該計算機が有する主メモリに配置されたサブキャッシュ領域を包含するように対応付けて二次記憶機構にサブキャッシュ領域を備えることを特徴とする請求項３記載の分散データ管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、分散システムを構築する際にメモリの効率的な使用およびデータの高速アクセス等を実現するための分散データ管理システムに関するものである。
【０００２】
【従来の技術】
図９は、例えば「Distributed Operating System」（A.S.Tanenbaum 著、Prentice-Hall International,  Inc.発行）の5.2.3 節（pp.262-265）に示されたクライアント−サーバ構成による従来の分散データ管理システムを示す構成図である。
【０００３】
図において、１０１，１０２，１０３はクライアント計算機、１０４はネットワーク機構、１０５はキャッシュ領域管理機構、１０６はサーバ計算機である。各クライアント計算機１０１，１０２，１０３において利用される計算機キャッシュについては、クライアント計算機１０１は各プロセスに割り当てられたメモリ空間にキャッシュを配置する方式を採用し、クライアント計算機１０２はＯＳのカーネルプロセスに割り当てられたメモリ空間にキャッシュを配置する方式を採用し、クライアント計算機１０３はキャッシュ管理プロセスをユーザプロセスとして構成するとともにキャッシュ管理ユーザプロセスに割り当てられたメモリ空間にキャッシュを配置する方式を採用している。
【０００４】
次に動作について説明する。
いずれのクライアント計算機１０１，１０２，１０３においても、ユーザプロセスでデータを参照する際には、それぞれのクライアント計算機毎に設定された自己のキャッシュ領域に最新のデータがある場合、すなわちヒットした場合には当該キャッシュ領域からデータを参照し、自己のキャッシュ領域にデータがない場合、すなわちミスした場合にはキャッシュ領域管理機構１０５を介して他のクライアント計算機またはサーバ計算機１０６から最新のデータを参照する。また、プロセスがデータを更新する場合には、キャッシュ領域において当該データに関連するデータブロックを更新して、更新情報をキャッシュ領域管理機構１０５に通知する。
【０００５】
【発明が解決しようとする課題】
従来の分散データ管理システムは以上のように構成されているので、クライアント計算機１０１により採用されている方式では、単一のクライアント計算機に複数のプロセスが存在する場合には、プロセスの個数分だけキャッシュ領域が設定されるから、キャッシュ領域のために多くのメモリが必要となってメモリ効率が悪いという課題があった。また、例えばプロセスＡが消滅した際には、プロセスＡに対して設定されたキャッシュ領域も消滅するので、他のプロセスがその後にプロセスＡに対して設定されたキャッシュ領域に記憶されたデータを参照しようとしても、再度サーバ等からデータを参照しなければならないから、キャッシュのヒット率が低下するという課題があった。
【０００６】
また、クライアント計算機１０２により採用されている方式では、プロセスの消滅後もキャッシュ上にデータは残る。しかし、キャッシュ上にデータが存在していても、ＯＳのカーネル関数を呼び出す必要があるので、キャッシュに対するアクセス速度が遅いという課題があった。
【０００７】
また、クライアント計算機１０３により採用されている方式では、キャッシュの管理はキャッシュ管理ユーザプロセスに任されており、ユーザプロセスに対して割り当てられるメモリはＯＳの管理下において制御される。したがって、クライアント計算機１０３において例えば仮想メモリ方式が採用されている場合には、キャッシュ管理ユーザプロセスにより管理されるキャッシュ上のデータが主メモリにはなくて、二次記憶機構上に掃き出されている場合があるという課題があった。
【０００８】
この発明は上記のような課題を解決するためになされたもので、キャッシュ領域のメモリ使用効率を向上させる分散データ管理システムを得ることを目的とする。
【０００９】
また、この発明は、キャッシュに対するアクセス速度の低下を抑制する分散データ管理システムを得ることを目的とする。
【００１０】
さらに、この発明は、キャッシュのヒット率の低下を抑制する分散データ管理システムを得ることを目的とする。
【００１１】
【課題を解決するための手段】
この発明に係る分散データ管理システムは、それぞれが主メモリを有するとともに二次記憶機構が接続される複数の計算機と、これら複数の計算機に接続されて計算機間のデータの転送を可能とするネットワーク機構と、該ネットワーク機構に接続されるそれぞれの計算機においてデータアクセスの高速化を実現するために設けられたキャッシュ領域を、ネットワーク機構を介して管理するキャッシュ領域管理機構とを有する分散データ管理システムにおいて、キャッシュ領域が、計算機の主メモリ内において、当該計算機に接続される二次記憶機構および当該計算機内で発生される複数のプロセスが直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられ、主メモリにおいて、取り扱うデータの更新頻度に基づいて使用するキャッシュ領域を区別するようにキャッシュ領域を分割して、取り扱うデータの更新頻度に対応した複数のサブキャッシュ領域を備え、前記それぞれの計算機のキャッシュ領域には、すべてに共通のデータが保持されるように、１つの計算機のキャッシュ領域においてデータブロックの更新があると、他の計算機のキャッシュ領域においても該当するデータブロックを更新し、前記取り扱うデータの更新頻度に対応したそれぞれのサブキャッシュ領域毎に、当該サブキャッシュ領域を管理するキャッシュ領域管理機構を備えるようにしたものである。
【００１３】
この発明に係る分散データ管理システムは、計算機内部に設けられ、当該計算機のキャッシュ領域には直接アクセス可能であり、他の計算機のキャッシュ領域にはネットワーク機構を介してアクセスして管理するキャッシュ領域管理機構を備えるようにしたものである。
【００１４】
この発明に係る分散データ管理システムは、主メモリにおいて、取り扱うデータの種類に基づいて使用するキャッシュ領域を区別するようにキャッシュ領域を分割して、取り扱うデータの種類数に対応した複数のサブキャッシュ領域を備えるようにしたものである。
【００１５】
この発明に係る分散データ管理システムは、計算機に接続された二次記憶機構に配置されたキャッシュ領域を分割して、当該計算機が有する主メモリに配置されたサブキャッシュ領域を包含するように対応付けて二次記憶機構にサブキャッシュ領域を備えるようにしたものである。
【００１６】
この発明に係る分散データ管理システムは、取り扱うデータに対応したそれぞれの種類のサブキャッシュ領域毎に、当該サブキャッシュ領域を管理するキャッシュ領域管理機構を備えるようにしたものである。
【００１７】
この発明に係る分散データ管理システムは、計算機内部に設けられ、当該計算機のサブキャッシュ領域には直接アクセス可能であり、他の計算機のサブキャッシュ領域にはネットワーク機構を介してアクセスして管理するキャッシュ領域管理機構を備えるようにしたものである。
【００１８】
【発明の実施の形態】
以下、この発明の実施の一形態を説明する。
実施の形態１．
図１は、この発明の実施の形態１による分散データ管理システムを示す構成図である。図において、１，２は分散システムにおいて使用される計算機、３は計算機１，２等複数の計算機を接続して計算機間でのデータ転送を実現するネットワーク機構、４，５はそれぞれ計算機１，２の主メモリ、６，７はそれぞれ計算機１，２に接続された二次記憶機構、８，９は計算機１内で生成されたユーザプロセス（プロセス）、１０，１１は計算機２内で生成されたユーザプロセス（プロセス）、１２は計算機１の主メモリ４内において二次記憶機構６およびユーザプロセス８，９が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられたキャッシュ領域、１３は計算機２の主メモリ５内において二次記憶機構７およびユーザプロセス１０，１１が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられたキャッシュ領域、１４はネットワーク機構３を介して計算機１，２等のキャッシュ領域１２，１３等を管理するキャッシュ領域管理機構である。なお、キャッシュ領域１２，１３等には、自計算機の二次記憶機構のみではなく、他計算機の二次記憶機構に記憶されていてプロセスの発生により必要となったデータブロックがコピーされる。
【００１９】
各データは識別子を有していて、計算機１，２等のいずれかの二次記憶機構６，７等に記憶されている。二次記憶機構６，７等に記憶されているデータは、マスタデータと呼ばれる。キャッシュ領域管理機構１４は、各計算機１，２等の二次記憶機構６，７等毎に、当該二次記憶機構６，７等に記憶されているデータの識別子を保有している。
【００２０】
また、各計算機１，２等のキャッシュ領域１２，１３等には、すべてに共通のデータが保持される。したがって、１つの計算機のキャッシュ領域においてデータブロックの更新があると、キャッシュ領域の一貫性を保持するためには、他の計算機のキャッシュ領域においても該当するデータブロックを更新する必要がある。
【００２１】
次に動作について説明する。
この実施の形態１では、キャッシュ領域の一貫性を保持するために、データの更新が生じる毎に変更されたデータおよび当該データの識別子をネットワーク機構３を介して全計算機に転送する方式を採用している。変更されたデータおよび当該データの識別子が転送された他の計算機については、キャッシュ領域管理機構１４により変更された対象データをキャッシュ領域に保持するかあるいは棄却するかの判断がなされる。さらに、対象データについてのマスタデータが保持されている計算機では、マスタデータを転送されてきたデータに更新する。
【００２２】
事例的に説明すれば、計算機１に接続された二次記憶機構６に記憶されていたマスタデータが、ユーザプロセス８により更新された場合を考察する。この場合、計算機１は、ネットワーク機構３に接続された全計算機に対して、変更されたデータおよび当該データの識別子を転送する。変更されたデータおよび当該データの識別子が転送された計算機２については、キャッシュ領域管理機構１４により変更されたデータをキャッシュ領域１３に記憶すべきであると判断されると、計算機２はキャッシュ領域１３に変更されたデータを書き込む。また、変更された対象データをマスターデータとして保持している計算機では、マスターデータを転送されたデータに更新する。
【００２３】
ところで、キャッシュ領域１２上のデータは共有メモリ内に存在するために、ユーザプロセス９も参照することが可能である。また、対象データはキャッシュ領域１３にも書き込まれて、キャッシュ領域１３も同様に共有メモリ内に存在するから、ユーザプロセス１０，１１も対象データを参照することが可能である。
【００２４】
なお、キャッシュ領域の一貫性を保持する方式としては、各計算機が時々刻々に自計算機のキャッシュ領域を更新する方式、キャッシュの各データの更新時刻を記録しておいてキャッシュのデータを参照する毎に更新時刻以降にマスタデータが更新されていないかを調べた後にデータを参照する方式、キャッシュの各データまたはマスタデータに更新フラグを付与してデータ変更がある度ごとに更新フラグを立てることにより、データ参照時には更新フラグを基にしてマスタデータを参照するか否かを判定する方式等が考案されている。この発明の実施の形態１においては、キャッシュ領域の一貫性を保持する方式としていずれの方式をも採用することが可能である。
【００２５】
以上のように、この実施の形態１によれば、キャッシュ領域が共有メモリに割り当てられるために、複数のプロセスがキャッシュ領域において同一のデータに対してアクセスすることができるので、キャッシュ領域の容量を小さくすることができてメモリ使用効率を向上できるという効果を奏する。
【００２６】
実施の形態２．
図２は、この発明の実施の形態２による分散データ管理システムを示す構成図である。図２において、図１と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態２は、実施の形態１と比較すると、二次記憶機構内にキャッシュ領域を設定する点で相違する。
【００２７】
図２において、１５は計算機１に接続された二次記憶機構６内に設定されたキャッシュ領域、１６は計算機２に接続された二次記憶機構７内に設定されたキャッシュ領域である。二次記憶機構６，７等に設定されたキャッシュ領域１５，１６等には、主メモリに設定されたキャッシュ領域と同様に自計算機の二次記憶機構のみではなく、他計算機の二次記憶機構に記憶されていてプロセスの発生により必要となったデータブロックがコピーされる。
【００２８】
また、二次記憶機構６，７等に設定されたキャッシュ領域１５，１６等には、すべてに共通のデータが保持される。したがって、主メモリに設定されたキャッシュ領域と同様に、１つの計算機に接続された二次記憶機構のキャッシュ領域においてデータブロックの更新があると、キャッシュ領域の一貫性を保持するためには、他の計算機に接続された二次記憶機構のキャッシュ領域においても該当するデータブロックを更新する必要がある。
【００２９】
さらに、二次記憶機構６，７等に設定されたキャッシュ領域１５，１６等は主メモリに設定されたキャッシュ領域を包含する関係にあり、主メモリに設定されたキャッシュ領域に対するバックアップ的機能をも有する。すなわち、主メモリに設定されたキャッシュ領域に存在するデータブロックは、必ず二次記憶機構に設定されたキャッシュ領域にもコピーされて存在している。
【００３０】
次に動作について説明する。
計算機１でデータの更新が行われると、更新される対象データがキャッシュ領域に存在する場合には、キャッシュ領域管理機構１４は、主メモリ４のキャッシュ領域１２と二次記憶機構６のキャッシュ領域１５とにおいて関連するデータブロックを更新する。そして、計算機１におけるキャッシュ領域１２，１５の更新後、キャッシュ領域管理機構１４は、計算機２について主メモリ５のキャッシュ領域１３と二次記憶機構７のキャッシュ領域１６とにおいて関連するデータブロックを更新する。
【００３１】
以上のように、この実施の形態２によれば、実施の形態１によるのと同等の効果が得られるのに加えて、データの更新をした後に計算機が停止した場合でも、二次記憶機構にあるキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自己の計算機の二次記憶機構にあるキャッシュ領域から参照することができるから、ネットワーク機構を介して他の計算機からデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【００３２】
実施の形態３．
図３は、この発明の実施の形態３による分散データ管理システムを示す構成図である。図３において、図１と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態３は、実施の形態１と比較すると、キャッシュ領域管理機構１４が計算機１内に設置される点で相違する。
【００３３】
図３において、計算機１の主メモリ４内においてキャッシュ領域１２は、キャッシュ領域管理機構１４、二次記憶機構６、およびユーザプロセス８，９が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられる。また、計算機２の主メモリ５内においてキャッシュ領域１３は、二次記憶機構７およびユーザプロセス１０，１１が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられる。
【００３４】
なお、この実施の形態３は、計算機１においてデータの更新が高頻度で実施されることを前提としている。また、計算機２は、計算機１が保持するデータの一部または全部を参照して画面に当該データを表示するものとする。計算機２は自計算機内にキャッシュ領域管理機構を有しないから、計算機１に設けられたキャッシュ領域管理機構１４が計算機２のキャッシュ領域１３を管理する。
【００３５】
次に動作について説明する。
計算機１でデータの更新が行われると、更新される対象データがキャッシュ領域に存在する場合には、キャッシュ領域管理機構１４が、主メモリ４のキャッシュ領域１２において関連するデータブロックを更新する。その後、キャッシュ領域管理機構１４は、計算機２について主メモリ５のキャッシュ領域１３において関連するデータブロックを更新する。
【００３６】
以上のように、この実施の形態３によれば、実施の形態１によるのと同等の効果が得られるのに加えて、キャッシュ領域管理機構１４を内部に有する計算機１については、ネットワーク機構３を介さずにキャッシュ領域１２へのアクセスが可能であるので、キャッシュ領域上のデータへのアクセスを高速に実施することができるという効果を奏する。
【００３７】
実施の形態４．
図４は、この発明の実施の形態４による分散データ管理システムを示す構成図である。図４において、図３と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態４は、実施の形態３と比較すると、二次記憶機構内にキャッシュ領域を設定する点で相違する。図において、１５は計算機１に接続された二次記憶機構６内に設定されたキャッシュ領域、１６は計算機２に接続された二次記憶機構７内に設定されたキャッシュ領域である。
【００３８】
次に、動作について説明する。
計算機１でデータの更新が行われると、更新される対象データがキャッシュ領域に存在する場合には、キャッシュ領域管理機構１４は、主メモリ４のキャッシュ領域１２と二次記憶機構６のキャッシュ領域１５とにおいて関連するデータブロックを更新する。その後、キャッシュ領域管理機構１４は、計算機２について主メモリ５のキャッシュ領域１３と二次記憶機構７のキャッシュ領域１６とにおいて関連するデータブロックを更新する。
【００３９】
以上のように、この実施の形態４によれば、実施の形態３によるのと同等の効果が得られるのに加えて、データの更新をした後に計算機が停止した場合でも、二次記憶機構にあるキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自己の計算機の二次記憶機構にあるキャッシュ領域から参照することができるから、ネットワーク機構を介して他の計算機からデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【００４０】
実施の形態５．
図５は、この発明の実施の形態５による分散データ管理システムを示す構成図である。図５において、図１と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態５は、実施の形態１と比較すると、キャッシュ領域を分割し、取り扱うデータの種類に応じて使用するキャッシュ領域を区別する点で相違する。
【００４１】
図５において、計算機１について、１７は更新頻度が低いデータであるリードオンリーデータ用にキャッシュ領域１２を分割して同様に共有メモリ上に設定されたリードオンリーデータ用キャッシュ領域（サブキャッシュ領域）、１８は更新頻度が高いデータであるカレントデータ用にキャッシュ領域１２を分割して同様に共有メモリ上に設定されたカレントデータ用キャッシュ領域（サブキャッシュ領域）である。また、計算機２について、同様に、１９はリードオンリーデータ用キャッシュ領域（サブキャッシュ領域）、２０はカレントデータ用キャッシュ領域（サブキャッシュ領域）である。
【００４２】
次に動作について説明する。
計算機１でリードオンリーデータの更新が行われると、更新される対象データがリードオンリーデータ用キャッシュ領域１７に存在する場合には、キャッシュ領域管理機構１４は、主メモリ４のリードオンリーデータ用キャッシュ領域１７において関連するデータブロックを更新する。その後、キャッシュ領域管理機構１４は、計算機２についてリードオンリーデータ用キャッシュ領域１９において関連するデータブロックを更新する。なお、カレントデータの更新が行われた場合にも、リードオンリーデータの更新が行なわれた場合と同様に取り扱われる。
【００４３】
以上のように、この実施の形態５によれば、データの種類別にキャッシュ領域を分割することで、異なる種類のデータが同一の分割されたキャッシュ領域を使用しないから、キャッシュ領域におけるヒット率の低下を抑制することができるという効果を奏する。
【００４４】
なお、上記説明では、キャッシュ領域管理機構１４が１つ設けられている場合について説明したが、データ種類毎にキャッシュ領域管理機構を設ける構成とすることも可能である。この場合には、それぞれのキャッシュ領域管理機構１４の構造を簡単にすることができるという効果を奏する。
【００４５】
また、上記説明では、更新の頻度に応じてデータを分類する場合について説明したが、例えばデータ量、データの参照頻度、求められるデータ更新の速度、データの読み込み・書き込み権、更新可能なユーザ等に応じてデータを分類する構成とすることも可能である。
さらに、上記説明では、データをリードオンリーデータとカレントデータの２種類に分類する場合について説明したが、データを３種類以上に分類する構成とすることも可能である。
【００４６】
実施の形態６．
図６は、この発明の実施の形態６による分散データ管理システムを示す構成図である。図６において、図５と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態６は、実施の形態５と比較すると、主メモリにおいてキャッシュ領域を分割使用するのと同様に、二次記憶機構内にも分割使用されるキャッシュ領域を設定する点で相違する。
【００４７】
図６において、計算機１について、２１は主メモリ４内に配置されたリードオンリーデータ用キャッシュ領域１７を包含するように対応付けられて二次記憶機構６内に設定されたリードオンリーデータ用キャッシュ領域（サブキャッシュ領域）、２２は主メモリ４内に配置されたカレントデータ用キャッシュ領域１８を包含するように対応付けられて二次記憶機構６内に設定されたカレントデータ用キャッシュ領域（サブキャッシュ領域）である。また、計算機２について、同様に、２３は二次記憶機構７内に設定されたリードオンリーデータ用キャッシュ領域（サブキャッシュ領域）、２４は二次記憶機構７内に設定されたカレントデータ用キャッシュ領域（サブキャッシュ領域）である。
【００４８】
次に、動作について説明する。
計算機１でリードオンリーデータの更新が行われると、更新される対象データがリードオンリーデータ用キャッシュ領域１７に存在する場合には、キャッシュ領域管理機構１４は、主メモリ４のリードオンリーデータ用キャッシュ領域１７と二次記憶機構６のリードオンリーデータ用キャッシュ領域２１とにおいて関連するデータブロックを更新する。また、計算機１におけるリードオンリーデータ用キャッシュ領域１７等の更新後、キャッシュ領域管理機構１４は、計算機２についてリードオンリーデータ用キャッシュ領域１９と二次記憶機構７のリードオンリーデータ用キャッシュ領域２３とにおいて関連するデータブロックを更新する。なお、カレントデータの更新が行なわれた場合にも、リードオンリーデータの更新が行なわれた場合と同様に取り扱われる。
【００４９】
以上のように、この実施の形態６によれば、実施の形態５によるのと同等の効果が得られるのに加えて、データの更新をした後に計算機が停止した場合でも、二次記憶機構にあるキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自己の計算機の二次記憶機構にあるキャッシュ領域から参照することができるから、ネットワーク機構を介して他の計算機からデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【００５０】
実施の形態７．
図７は、この発明の実施の形態７による分散データ管理システムを示す構成図である。図７において、図５と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態７は、実施の形態５と比較すると、キャッシュ領域管理機構１４が計算機１内に設置される点で相違する。
【００５１】
図７において、計算機１の主メモリ４内においてリードオンリーデータ用キャッシュ領域１７およびカレントデータ用キャッシュ領域１８は、キャッシュ領域管理機構１４、二次記憶機構６、およびユーザプロセス８，９が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられる。また、計算機２の主メモリ５内においてリードオンリーデータ用キャッシュ領域１９およびカレントデータ用キャッシュ領域２０は、二次記憶機構７およびユーザプロセス１０，１１が直接アクセス可能なアドレス空間として与えられる共有メモリに割り当てられる。
【００５２】
なお、この実施の形態７は、計算機１においてデータの更新が高頻度で実施されることを前提としている。また、計算機２は、計算機１が保持するデータの一部または全部を参照して画面に当該データを表示するものとする。計算機２は自計算機内にキャッシュ領域管理機構を有しないので、計算機１に設けられたキャッシュ領域管理機構１４が計算機２のリードオンリーデータ用キャッシュ領域１９およびカレントデータ用キャッシュ領域２０を管理する。
【００５３】
次に動作について説明する。
計算機１でリードオンリーデータの更新が行われると、更新される対象データがリードオンリーデータ用キャッシュ領域１７に存在する場合には、キャッシュ領域管理機構１４は、主メモリ４のリードオンリーデータ用キャッシュ領域１７において関連するデータブロックを更新する。その後、キャッシュ領域管理機構１４は、計算機２についてリードオンリーデータ用キャッシュ領域１９において関連するデータブロックを更新する。なお、カレントデータの更新が行われた場合にも、リードオンリーデータの更新が行われた場合と同様に取り扱われる。
【００５４】
以上のように、この実施の形態７によれば、実施の形態５によるのと同等の効果が得られるのに加えて、キャッシュ領域管理機構１４を内部に有する計算機１については、ネットワーク機構３を介さずにリードオンリーデータ用キャッシュ領域１７およびカレントデータ用キャッシュ領域１８へのアクセスが可能であるので、キャッシュ領域上のデータへのアクセスを高速に実施することができるという効果を奏する。
【００５５】
実施の形態８．
図８は、この発明の実施の形態８による分散データ管理システムを示す構成図である。図８において、図７と同一符号は同一または相当部分を示すので、その説明を省略する。実施の形態８は、実施の形態７と比較すると、主メモリにおいてキャッシュ領域を分割使用するのと同様に、二次記憶機構内にも分割使用されるキャッシュ領域を設定する点で相違する。
【００５６】
図８において、計算機１について、２１は主メモリ４内に配置されたリードオンリーデータ用キャッシュ領域１７を包含するように対応付けられて二次記憶機構６内に設定されたリードオンリーデータ用キャッシュ領域、２２は主メモリ４内に配置されたカレントデータ用キャッシュ領域１８を包含するように対応付けられて二次記憶機構６内に設定されたカレントデータ用キャッシュ領域である。また、計算機２について、同様に、２３は二次記憶機構７内に設定されたリードオンリーデータ用キャッシュ領域、２４は二次記憶機構７内に設定されたカレントデータ用キャッシュ領域である。
【００５７】
次に、動作について説明する。
計算機１でリードオンリーデータの更新が行われると、更新される対象データがリードオンリーデータ用キャッシュ領域１７に存在する場合には、キャッシュ領域管理機構１４は、主メモリ４のリードオンリーデータ用キャッシュ領域１７と二次記憶機構６のリードオンリーデータ用キャッシュ領域２１とにおいて関連するデータブロックを更新する。その後、キャッシュ領域管理機構１４は、計算機２について主メモリ５のリードオンリーデータ用キャッシュ領域１９と二次記憶機構７のリードオンリーデータ用キャッシュ領域２３とにおいて関連するデータブロックを更新する。なお、カレントデータの更新が行われた場合にも、リードオンリーデータの更新が行われた場合と同様に取り扱われる。
【００５８】
以上のように、この実施の形態８によれば、実施の形態７によるのと同等の効果が得られるのに加えて、データの更新をした後に計算機が停止した場合でも、二次記憶機構にあるキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自己の計算機の二次記憶機構にあるキャッシュ領域から参照することができるから、ネットワーク機構を介して他の計算機からデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【００５９】
なお、上記の実施の形態１から実施の形態８による分散データ管理システムでは、ネットワーク機構に接続される計算機を２台として説明したが、ネットワーク機構に接続される計算機が３台以上の場合においても、実施の形態１から実施の形態８による分散データ管理システムを実現することは勿論可能である。
【００６０】
【発明の効果】
以上のように、この発明によれば、計算機の主メモリ内において、当該計算機に接続される二次記憶機構および当該計算機内で発生される複数のプロセスが直接アクセス可能なアドレス空間として与えられる共有メモリにキャッシュ領域を割り当てるように構成したので、複数のプロセスがキャッシュ領域において同一のデータに対してアクセスすることができるから、キャッシュ領域の容量を小さくすることができてメモリ使用効率を向上できるという効果を奏する。
【００６１】
この発明によれば、主メモリにおいて、取り扱うデータの種類に基づいて使用するキャッシュ領域を区別するようにキャッシュ領域を分割して、取り扱うデータの種類数に対応した複数のサブキャッシュ領域を備えるように構成したので、異なる種類のデータが同一のサブキャッシュ領域を使用しないから、キャッシュ領域におけるヒット率の低下を抑制することができるという効果を奏する。
【００６２】
この発明によれば、主メモリに配置されたキャッシュ領域またはサブキャッシュ領域を包含するように対応付けて、当該主メモリを有する計算機に接続された二次記憶機構にキャッシュ領域またはサブキャッシュ領域を備えるように構成したので、データの更新をした後に計算機が停止した場合でも、二次記憶機構内のキャッシュ領域またはサブキャッシュ領域に保持されているデータブロックは消滅することがないので、プロセスが新たに主メモリのキャッシュ領域またはサブキャッシュ領域に保持されていたデータブロックを参照しようとする場合にも、自計算機の二次記憶機構にあるキャッシュ領域またはサブキャッシュ領域から参照することができるから、他の計算機にネットワーク機構を介してデータを参照する必要もなくキャッシュのヒット率の低下を抑制することができるという効果を奏する。
【００６３】
この発明によれば、計算機内部に設けられ、当該計算機のキャッシュ領域またはサブキャッシュ領域には直接アクセス可能であり、他の計算機のキャッシュ領域またはサブキャッシュ領域にはネットワーク機構を介してアクセスして管理するキャッシュ領域管理機構を備えるように構成したので、キャッシュ領域管理機構を有する計算機については、ネットワーク機構を介さずにキャッシュ領域またはサブキャッシュ領域へのアクセスが可能であるから、キャッシュ領域またはサブキャッシュ領域上のデータへのアクセスを高速に実施することができるという効果を奏する。
【００６４】
この発明によれば、取り扱うデータに対応したそれぞれの種類のサブキャッシュ領域毎に、当該サブキャッシュ領域を管理するキャッシュ領域管理機構を備えるように構成したので、それぞれのキャッシュ領域管理機構の構造を簡単にすることができるという効果を奏する。
【図面の簡単な説明】
【図１】  この発明の実施の形態１による分散データ管理システムを示す構成図である。
【図２】  この発明の実施の形態２による分散データ管理システムを示す構成図である。
【図３】  この発明の実施の形態３による分散データ管理システムを示す構成図である。
【図４】  この発明の実施の形態４による分散データ管理システムを示す構成図である。
【図５】  この発明の実施の形態５による分散データ管理システムを示す構成図である。
【図６】  この発明の実施の形態６による分散データ管理システムを示す構成図である。
【図７】  この発明の実施の形態７による分散データ管理システムを示す構成図である。
【図８】  この発明の実施の形態８による分散データ管理システムを示す構成図である。
【図９】  従来の分散データ管理システムを示す構成図である。
【符号の説明】
１，２  計算機、３  ネットワーク機構、４，５  主メモリ、６，７  二次記憶機構、８，９，１０，１１  ユーザプロセス（プロセス）、１２，１３，１５，１６  キャッシュ領域、１４  キャッシュ領域管理機構、１７，１９，２１，２３  リードオンリーデータ用キャッシュ領域（サブキャッシュ領域）、１８，２０，２２，２４  カレントデータ用キャッシュ領域（サブキャッシュ領域）。
【図１】
0004240658.tif 000002
【図２】
0004240658.tif 000003
【図３】
0004240658.tif 000004
【図４】
0004240658.tif 000005
【図５】
0004240658.tif 000006
【図６】
0004240658.tif 000007
【図７】
0004240658.tif 000008
【図８】
0004240658.tif 000009
【図９】
0004240658.tif 000010