JP2002503846A - あるノードのキャッシュから別のノードのキャッシュへデータを転送するための方法および装置 - Google Patents
あるノードのキャッシュから別のノードのキャッシュへデータを転送するための方法および装置Info
- Publication number
- JP2002503846A JP2002503846A JP2000531781A JP2000531781A JP2002503846A JP 2002503846 A JP2002503846 A JP 2002503846A JP 2000531781 A JP2000531781 A JP 2000531781A JP 2000531781 A JP2000531781 A JP 2000531781A JP 2002503846 A JP2002503846 A JP 2002503846A
- Authority
- JP
- Japan
- Prior art keywords
- resource
- copy
- cache
- version
- database server
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/912—Applications of a database
- Y10S707/913—Multimedia
- Y10S707/915—Image
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
データの最も最近のバージョンが別のノードのキャッシュ内にあるときことに関
連付けられるペナルティを低減するための技術に関する。
が別個に稼動する)2つ以上のデータベースサーバがディスクメディア上に記憶
されるなど、共有の記憶装置に同時にアクセスすることを可能にするものがある
。各データベースサーバは、ディスクブロックなどの、共有資源をキャッシュす
るためのキャッシュを有する。そのようなシステムをここではパラレルサーバシ
ステムと呼ぶ。
るものの可能性がある。あるサーバのキャッシュ内にある資源のバージョンが異
なったサーバのキャッシュに与えられなければならないとき、ピングは起きる。
したがって、ピングが起きるのは、データベースサーバAがそのキャッシュ内の
資源xを変更した後、データベースサーバBが資源xの変更を要求するときであ
る。データベースサーバAおよびBは、典型的には、異なったノード上で稼動す
るが、場合によっては同じノード上で稼動することもあり得る。
と呼ぶ。ディスク介入アプローチは、中間的記憶装置としてディスクを使用して
2つのキャッシュ間で資源の最新バージョンを転送する。したがって、上記の例
では、ディスク介入アプローチは、データベースサーバ1が資源Xのそのキャッ
シュバージョンをディスクに書込み、データベースサーバ2がこのバージョンを
ディスクからそのキャッシュへと検索することを必要とする。ディスク介入アプ
ローチは、資源のサーバ間転送ごとに2ディスクI/Oを必要とするので、パラ
レルサーバシステムのスケーラビリティが制限される。具体的には、ピングを処
理するために必要とされるディスクI/Oは、比較的不経済で時間がかかり、シ
ステムに加えられるデータベースサーバの数が多ければ多いほど、ピングの数も
多くなる。
からの比較的効率よい復旧を提供する、というのもそのような復旧が必要とする
のは障害の発生したデータベースサーバの復旧(再実行)ログを適用するだけで
あるからである。障害の発生したデータベースサーバの再実行ログを適用すると
、障害の発生したデータベースサーバ上のトランザクションが障害の発生したサ
ーバのキャッシュ内の資源に加えた、かかわった変更はすべて確実に復旧される
。復旧の間の再実行ログの使用は、1997年1月21日出願の「復旧可能オブ
ジェクト内のキャッシングデータ」(“CACHING DATA IN RECOVERABLE OBJECTS ”)と題する米国特許出願連続番号第08/784,611号に詳細に記載され
、その内容はここに引用により援用される。
資源アクセスおよび変更に関するグローバルな調停のすべてが分散ロックマネー
ジャー(DLM)によって行なわれる場合のプロトコルを使用する。例示的DL
Mの動作は、1996年6月24日出願の「ロックキャッシングのための方法お
よび装置」(“METHOD AND APPARATUS FOR LOCK CACHING”)と題する米国特許 出願連続番号第08/669,689号に詳細に記載され、その内容はここに引
用により援用される。
報は、資源に対応するロックオブジェクト内に記憶される。各ロックオブジェク
トは、単一のノードのメモリ内に記憶される。ロックオブジェクトが記憶されて
いるノード上にあるロックマネージャーは、そのロックオブジェクトおよびそれ
がカバーする資源のマスタと呼ばれる。
ングは、さまざまなロックが関係する通信においてDLMを必要とする。具体的
には、データベースサーバ(「要求サーバ」)が資源のアクセスを必要とすると
き、データベースサーバは、それが適切なモード、すなわち、読出の場合には共
有され、書込の場合には排他的であるモードにロックされた所望の資源を有する
かどうかをチェックする。もし要求データベースサーバが正しいモードにロック
された所望の資源を有していなければ、または、資源に全くロックがされていな
ければ、要求サーバは、資源のマスタに要求を送信して特定のモードのロックを
獲得する。
ることがある(たとえば、別のデータベースサーバが資源に対する排他的なロッ
クを現在保持している可能性がある)。もし競合がなければ、資源のマスタは、
ロックを許可し許可を登録する。競合の場合には、資源のマスタは、競合解決プ
ロトコルを開始する。資源のマスタは、競合するロックを保持するデータベース
サーバ(「ホルダ」)に、下位の互換性のあるモードにそのロックをダウングレ
ードするよう命令する。
新された(「ダーティ」)バージョンをそのキャッシュ内に現在持っていなけれ
ば、それはそのロックを即座にダウングレードできない。そのロックをダウング
レードするために、データベースサーバAは、「ハードピング」プロトコルと呼
ばれるものを経る。ハードピングプロトコルに従って、データベースサーバAは
、ディスクに書込まれるべき更新に関連付けられる再実行ログを強制し、資源を
ディスクに書込み、そのロックをダウングレードし、データベースサーバAが完
了したことをマスタに通知する。通知を受取ると、マスタは、ロック許可を登録
し、要求されたロックが許可されたことを要求サーバに通知する。この時点で、
要求サーバBは、ディスクからそのキャッシュ内に資源を読出す。
バによって更新された資源(「ダーティ資源」)を別のデータベースサーバに直
接発送することはできない。そのような直接発送は、復旧に関連する問題のため
に、実行可能性がないと考えられる。たとえば、資源がデータベースサーバAで
変更されてから、データベースサーバBに直接発送されたと仮定する。データベ
ースサーバBでも、資源は変更され、データベースサーバAに発送し返される。
データベースサーバAで、資源は3度目に変更される。各サーバが、別のサーバ
に資源を送る前にすべての再実行ログをディスクに記憶することによって、受信
側が先の変更可能となると仮定する。
タベースサーバAのログは、穴のあいた資源への変更のレコードを含む。具体的
には、サーバAのログは、データベースサーバBによってなされたこれらの変更
を含んでいない。正確には、サーバBによってなされた変更は、データベースサ
ーバBのログ内に記憶されている。この時点で、資源を復旧するために、2つの
ログは適用される前にマージされなければならない。このログマージ動作は、も
し実現されれば、障害の発生しなかったデータベースサーバを含む、データベー
スサーバの総数に比例して時間および資源を必要とするであろう。
られる問題を回避するが、簡単で効率のよい復旧を支持する定常状態のパラレル
サーバシステムの性能にペナルティを科す。直接発送アプローチは、ディスク介
入アプローチに関連付けられるオーバーヘッドを回避するが、障害の発生した場
合に複雑で非スケーラブルな復旧動作を伴う。
しに、ピングに関連付けられるオーバーヘッドを低減するためのシステムおよび
方法を提供することが明らかに望まれる。
シュから別のデータベースサーバのキャッシュへと資源を転送するための方法お
よび装置が提供される。データベースサーバ(要求者)が資源を変更したい場合
、要求者は資源の現在のバージョンを要求する。現在のバージョンを有するデー
タベースサーバ(ホルダ)は現在のバージョンを要求者に直接発送する。バージ
ョンを発送すると、ホルダは資源を変更する許可を失うが、メモリ内に資源のコ
ピーを引続き保持する。資源の保持されたバージョンまたはその後のバージョン
がディスクに書込まれると、ホルダは資源の保持されたバージョンを廃棄するこ
とができる。他の態様では、ホルダは保持されたバージョンを廃棄しない。サー
バ障害の場合には、障害の発生したサーバの再実行ログ内の変更のあったすべて
の資源の先のコピーを、必要に応じて、障害の発生したサーバの再実行ログを適
用するための開始点として使用する。この技術を用いて、単一のサーバ障害(障
害の最もよくある形態)は、資源へアクセスしていなかったさまざまなデータベ
ースサーバの復旧ログをマージする必要なしに、復旧される。
されるが、これに限定されるものでない。
載する。以下の記載では、説明のため、この発明を完全に理解するために、多く
の具体的な詳細を述べる。しかしながら、この発明がこれらの具体的な詳細なし
に実施可能であることは当業者には明らかであろう。他のデータベースサーバで
は、この発明を不要にわかりにくくすることを避けるために、周知の構造および
装置がブロック図の形で示される。
ベースサーバ間で直接資源の更新されたバージョンを発送することによってピン
グを処理し、これによってディスク介入アプローチに関連付けられるI/Oオー
バーヘッドを回避する。さらに、単一の場合の障害復旧に関連付けられる問題は
、資源が別のキャッシュに転送されたとしても、変更された資源またはその何ら
かのサクセサがディスクに書込まれるまで資源の変更されたバージョンがキャッ
シュ内で置換されることを防ぐことによって、回避される。
められた」資源と呼ぶ。留められた資源を置換可能にする動作を、資源を「解放
する」と呼ぶ。
とは分離される。したがって、キャッシュからディスクへ資源の更新されたバー
ジョンを書込む許可を有するデータベースサーバが、必ずしも資源を更新する許
可を有するとは限らない。逆に、資源のキャッシュされたバージョンを変更する
許可を有するデータベースサーバが、そのキャッシュされたバージョンをディス
クに書込む許可を有するとは限らない。
て実施される。具体的には、資源を変更する許可は、「M」ロックによって与え
られるであろうし、ディスクに資源を書込む許可は、「W」ロックによって与え
られるであろう。しかしながら、ここに記載するようなMロックおよびWロック
の使用は、資源の転送されたバージョンが、その資源またはそのサクセサがディ
スクに書込まれるまでキャッシュ内で置換されることを防ぐためのメカニズムの
1つにすぎないことが注目される。
を使用するデータシステムにおいてピングに応答して実行されるステップを示す
。ステップ200で、資源を変更したいデータベースサーバは、資源のマスタ(
すなわち、資源のロックを管理するデータベースサーバ)にMロックを要求する
。ステップ202で、マスタは、資源のMロックを現在保持するデータベースサ
ーバ(「ホルダ」)に、2つのサーバを接続する通信チャネル(「相互接続」)
を介する直接転送によって、Mロックを資源のそのキャッシュされたバージョン
とともに転送するよう命令する。
者に送る。ステップ206で、ホルダは、Mロックの転送をマスタに通知する。
ステップ208で、マスタは、資源のロック情報を更新して要求者がMロックを
現在保持していることを示す。
のキャッシュ内に含まれる資源のバージョンをディスクに書出す許可を有してい
ない可能性がある。したがって、転送データベースサーバ(すなわち、Mロック
を最後に保持していたデータベースサーバ)は、未来のある時点でそのバージョ
ンをディスクに書出すよう要求される可能性があるので、資源のそのバージョン
をダイナミックメモリに留め続ける。転送データベースサーバ内に留まる資源の
バージョンは、もし受信データベースサーバが資源のそのコピーを変更すれば、
古くなる。転送データベースサーバは、受信データベースサーバ(またはそのサ
クセサ)が資源をいつ変更するかわかっているとは限らないので、転送データベ
ースサーバは資源のコピーを送信した時点から、その保持されたバージョンを「
古い可能性のあるデータ」として扱う。資源のそのような古い可能性のあるバー
ジョンを、ここではパストイメージ資源(PI資源)と呼ぶ。
書される可能性がある。典型的には、資源のダーティバージョンは、資源をディ
スクに書込むことによって解放され得る。しかしながら、キャッシュ内にPI資
源を有するデータベースサーバが必ずしも、PI資源をディスクに記憶する権利
を持っているとは限らない。これらの状況下でPI資源を解放するためのある技
術が、図3に示される。
したいとき、これはWロックの要求を分散ロックマネージャー(DLM)に送信
する。ステップ302で、DLMは次に、要求データベースサーバ、または、資
源のより新しいバージョン(サクセサ)をそのキャッシュ内に有する何らかのデ
ータベースサーバに、資源をディスクに書出すよう命令する。こうして、資源を
ディスクに書込むよう命令されたデータベースサーバは、ダブルロックを許可さ
れる。ダブルロックを許可されたデータベースサーバか資源をディスクに書込ん
だ後、データベースサーバはWロックを解放する。
れた資源のバージョンを示し(ステップ304)、この結果、資源のこれ以前の
PIバージョンはすべて解放可能となる(ステップ306)。たとえば、ディス
クに書込まれたバージョンが時間T10で変更されたと仮定する。それより前の
時間T5で最後に変更された資源のバージョンを有するデータベースサーバは、
ここで、これが記憶されているバッファを他のデータのために使用することがで
きるであろう。しかしながら、それより後の時間T11で変更されたバージョン
を有するデータベースサーバは、資源のそのバージョンをそのメモリ内に保持し
続けなければならないであろう。
ロックアプローチを実現化してピングを処理してもよい。図1を参照すると、4
つのデータベースサーバA、B、CおよびDのブロック図が示され、これらのサ
ーバはすべて特定の資源を含むデータベースへのアクセスを有している。例示さ
れる時点では、データベースサーバA、BおよびCはすべて、資源のバージョン
を有する。データベースサーバAのキャッシュ内に保持されるバージョンは、資
源の最も最近に変更されたバージョンである(時間T10で変更された)。デー
タベースサーバBおよびCに保持されるバージョンは、資源のPIバージョンで
ある。データベースサーバDは、資源のマスタである。
定する。要求者は、マスタに変更ロックを要求する。マスタは、要求者からの競
合する要求のために、データベースサーバAにコマンドを送信してロック(「B
AST」)をダウンコンバートする。ダウンコンバートコマンドに応答して、資
源の現在のイメージ(クリーンまたはダーティのいずれでも)が、データベース
サーバAから要求者に、資源を変更する許可とともに発送される。こうして発送
された許可は、資源をディスクに書込む許可を含んでいない。
そのMロックを「保持」ロック(「Hロック」)にダウングレードする。Hロッ
クは、データベースサーバAが留められたPIコピーを保持していることを示す
。Hロックの所有権は、オーナーにPIコピーをそのバッファキャッシュ内に維
持することを強制するが、PIコピーをディスクに書込むいかなる権利もそのデ
ータベースサーバに与えない。同じ資源に対して複数の同時的Hホルダがあり得
るが、一度に資源の書込ができるデータベースサーバは1以下であり、したがっ
て資源のWロックを保持することのできるデータベースサーバはたった1つであ
る。
うにする(すなわち、データベースサーバAによって資源になされた変更につい
て生成された復旧ログが永続的に記憶されるようにする)。変更許可を送ること
によって、データベースサーバAは、資源を変更する自らの権利を失う。資源の
コピー(発送の時点ではそうであったような)は、発送データベースサーバAに
なおも維持されている。資源の発送の後に、データベースサーバA内に保持され
る資源のコピーは、PI資源である。
源の保持されたコピーは留められたPI資源となり、解放されるまでそのバッフ
ァを別の資源に使用することはできない。PI資源を含むバッファをここでは、
PIバッファと呼ぶ。これらのバッファは、データベースサーバのキャッシュ内
に有効な空間を占有しており、やがては他のデータのために再利用されなければ
ならない。
れた)を置換するために、ここでは「優遇書込」と呼ぶ新しいディスク書込プロ
トコルを採用する。優遇書込プロトコルに従って、データベースサーバが資源を
ディスクに書込む必要があるとき、データベースサーバは要求をDLMに送信す
る。DLMは、ディスクに書込まれるべき資源のバージョンを選択し、選択され
たバージョンを有するデータベースサーバを見つけ、書込要求を開始したデータ
ベースサーバに代わって、そのデータベースサーバにディスクへの資源の書込を
させる。資源をディスクに実際に書込むデータベースサーバは、資源の最新の軌
跡に依存して、書込を要求したデータベースサーバであっても、または、らかの
他のデータベースサーバであってもよい。
込まれた選択されたバージョンと同じ古さまたはそれよりも古い、クラスタのす
べてのバッファキャッシュ内の資源のPIバージョンはすべて解放される。ディ
スクに書込まれるべきバージョンを選択するために使用される規準を、以下によ
り詳細に記載する。しかしながら、選択されたバージョンは、マスタに知られて
いる最新のPIバージョンか、または、資源のカレントバージョン(「CURR
」)のいずれかであり得る。カレントバージョン以外のバージョンを選択する利
点の1つは、この別のバージョンの選択によって現在のコピーが妨害されること
なく変更可能となることである。
るならば、そのPIコピーを書出すことができる。資源の書込は、さまざまなデ
ータベースサーバ間でのCURR資源イメージの移動から切離される。
い。したがって、資源を永続的に記憶する目的は、ディスクコピーを十分最近の
ものにしておくことと、バッファキャッシュ内の置換不可能な資源の数を妥当な
ものにしておくこととである。さまざまな要因が、上述した優遇書込プロトコル
を採用するシステムの効率性を決定する。具体的には、 (1) ディスクにダーティ資源を書込むことによって起きるI/O動作を最
低限にすることと、 (2) 資源のディスクバージョンを十分に現在のものにしておくことによっ
て障害後の復旧動作を迅速化することと、 (3) 留められたPI資源でバッファキャッシュがオーバーフローすること
を防ぐこととが望まれる。
もまたある。したがって、トレードオフが必要である。この発明のある実施例に
従うと、総IO経費に対する制御と併せてチェックポイントのさまざまな技術(
臨時的継続的チェックポイントと混合されたLRU)を組合せるセルフチューニ
ングアルゴリズムを使用してもよい。
最新書込アプローチに従うと、すべてのデータベースサーバが、そのPI資源を
ディスクに書込む許可を有する。しかしながら、そうする前に、データベースサ
ーバは資源のディスクベースのコピーに対するロックを獲得する。ロックを獲得
した後、データベースサーバは、ディスクバージョンを、これが書込みたいPI
バージョンと比較する。もしディスクバージョンの方が古ければ、PIバージョ
ンがディスクに書込まれる。もしディスクバージョンの方が新しければ、PIバ
ージョンは廃棄されてもよく、それが占有していたバッファは再利用可能である
。
、自己のPIバージョンをディスクに書込むことによって、またはディスクバー
ジョンの方がより新しいことを決定することによって、自己のPIバージョンを
解放可能にする。しかしながら、最新書込アプローチは、ディスクベースのコピ
ーのロックに対する競合を増大させ、優遇書込アプローチでは起きなかったであ
ろうディスクI/Oを招く可能性がある。
のアクセスを管理し、ここではモードは互換性があるか競合しているかのいずれ
かである。ある実施例に従うと、資源へのアクセスを管理するメカニズムは、ロ
ックモードを異なった種の許可および義務の集合と代用するよう拡張される。許
可および義務は、たとえば、資源を書込み、資源を変更し、キャッシュ内の資源
を維持するなどの許可を含んでもよい。具体的な許可および義務を以下により詳
細に記載する。
くの許可は資源自体にではなく資源のバージョンに相関するので、許可ストリン
グは資源バージョン数によって増大するであろう。もし2つの異なった許可スト
リングが、資源の同じバージョン(たとえば、変更のための現在バージョンまた
は書込のためのディスクアクセス)に対する同じ排他的許可を要求するならば、
これらは競合する。そうでなければこれらは互換性がある。
スサーバによってさらなる変更を要求されると、マスタは、資源のカレントコピ
ー(CURRコピー)を保持するデータベースサーバに、そのMロック(変更す
る権利)を資源のCURRコピーとともに他のデータベースサーバに送るように
命令する。重要なことには、Mロックの要求はマスタに送信されるが、許可は何
らかの他のデータベースサーバ(先のMロックホルダ)によってなされる。この
三者間メッセージングモデルは、ロック要求が最初にアドレスされたロックマネ
ージャーを含むデータベースサーバからロック要求に対する応答が期待される、
従来の双方向通信とはかなり異なる。
データベースサーバA)がMロックを別のデータサーバに送ると、データベース
サーバAは、Mロックが転送されたことをマスタに通知する。しかしながら、デ
ータベースサーバAは、マスタが通知を受取ったという確認を待つことなく、そ
のような確認を受取る前にCURRコピーおよびMロックを送信する。待たない
ことによって、マスタとデータベースサーバAとの間の往復通信は転送に遅延を
もたらすことなく、これによってプロトコルレイテンシがかなり節約される。
に、ロック許可の正確な全体像を知っているとは限らない。むしろ、マスタは、
任意の所与の時間でのロックの正確な位置についてではなく、Mロックの軌跡に
ついてのみ、「これを最近保持した」データベースサーバについてのみ知ってい
る。ある実施例に従うと、この「レージーな」通知方式は、Mロックに適用可能
であるが、Wロック、Xロック、またはSロック(またはその対応物)には適用
可能でない。ロック方式のさまざまな実施例を以下により詳細に記載する。
クセス不可能となった場合、データベースサーバに障害が発生したという。ここ
に記載する技術を用いるダーティ資源の直接のサーバ間発送を採用するデータシ
ステムは、単一サーバの障害に応答して復旧ログをマージする必要性を回避する
。ある実施例に従って、単一のサーバの障害は、図4に示すとおり処理される。
図4を参照して、単一のデータベースサーバに障害が発生すると、復旧プロセス
は、障害の発生したデータベースサーバのキャッシュ内に保持される各資源につ
いて、以下のステップを実行する。
を決定し、 (ステップ402) ステップ400で決定されたデータベースサーバが障害
の発生したデータベースサーバでなければ、(ステップ404)決定されたデー
タベースサーバは資源のそのキャッシュされたバージョンをディスクに書込み、
(ステップ406)資源のPIバージョンはすべて解放される。このバージョン
は、資源に加えられた、かかわった変更(障害の発生したデータベースサーバに
よってなされたものを含む)を有するため、いかなるデータベースサーバの復旧
ログも適用される必要がない。
ベースサーバであれば、(ステップ408)資源の最新PIバージョンを保持す
るデータベースサーバは、資源のそのキャッシュされたバージョンをディスクに
書出し、(ステップ410)先のPIバージョンはすべて解放される。ディスク
に書出されたバージョンは、障害の発生したデータベースサーバ以外のすべての
データサーバによって資源に加えられたかかわった変更を有する。障害の発生し
たデータベースサーバの復旧ログを適用して(ステップ412)障害の発生した
データベースサーバによって加えられたかかわった変更を復旧する。
現在のバージョンを復旧するための開始点として使用してもよい。具体的には、
障害の発生したデータベースサーバの復旧ログから適切なレコードを、キャッシ
ュ内にある最新PIバージョンに直接適用して、最新PIバージョンを保持する
データベースサーバのキャッシュ内のカレントバージョンを再構築してもよい。
残らなかったとき、資源になされた変更が障害の発生したデータベースサーバの
複数のログにわたって広がっていることが起こり得る。この状況下では、障害の
発生したデータベースサーバのログはマージされなければならない。しかしなが
ら、すべてのデータベースサーバのログではなく、障害の発生したデータベース
サーバのログのみがマージされなければならない。したがって、復旧のために必
要とされる作業量は、構成全体のサイズにではなく障害の程度に比例する。
可能なシステムにおいては、資源を更新した障害の発生したデータベースサーバ
のログのみがマージされ適用される必要がある。同様に、どの障害の発生したデ
ータベースサーバが、資源の永続的に記憶されたバージョンの後に資源を更新し
たかを決定することのできるシステムにおいては、資源の永続的に記憶されたバ
ージョンの後に資源を更新した、障害の発生したデータベースサーバのログのみ
がマージされ適用される必要がある。
送の間、資源は複数のデータベースサーバでアクセスされる。具体的には、資源
がクラスタノードに沿って発送され変更されると、データベースサーバの1つで
のチェックポイントによってこの資源の物理的I/Oが起こる。
る。データベースサーバDが資源のマスタである。まずデータベースサーバCが
資源を変更する。データベースサーバCは資源バージョン8を有する。この時点
で、データベースサーバCは、この資源に対するMロック(排他的変更権)も有
する。
いる資源を変更したいと仮定する。データベースサーバBは、資源のMロックの
要求(1)を送信する。データベースサーバDは、資源に関連付けられるモディ
ファィアキュー上に要求を置き、 (a) 変更許可(Mロック)をデータベースサーバBに送り、 (b) 資源の現在イメージをデータベースサーバBに送信し、 (c) データベースサーバCのMロックをHロックにダウングレードするよ
う、データベースサーバCに命令する(メッセージ2:BAST)。
のバージョン(PIコピー)を維持させられる。
をさらに強制してもよい。加えて、データベースサーバCは、これが動作を実行
したこと(AST)をマスタにレージーに通知する(3AckM)。この通知は
、データベースサーバCがバージョン8を維持していることもマスタに知らせる
。データベースサーバCは、マスタからの確認を待たない。従って、データベー
スサーバBは、マスタがそれを知る前に、Mロックを得ることが可能である。
データベースサーバAは、メッセージ(4)をデータベースサーバDに送信する
。このメッセージは、データベースサーバCからデータベースサーバDへの非同
期の通知の前に、到着し得る。
データベースサーバAに送るよう、データベースサーバB、すなわちこの資源の
最新と知られているモディファィアにメッセージ(5)を送信する。なお、デー
タベースサーバDは、資源がそこにあるのかまだなのかを知らない。しかし、デ
ータベースサーバDは、資源がやがてBに到着することは知っている。
バージョン9を有している)、これは自己のロックをHにダウングレードし、デ
ータベースサーバAに、資源のカレントバージョン(「CURR資源」)をMロ
ックとともに送信する(6)。データベースサーバBはまた、レージーな通知(
6AckM)をマスタに送信する。
Cでのチェックポイントメカニズムが、資源をディスクに書込むことを決定した
とする。上記の非同期の事象に関しては、3AckMおよび6AckMの両方が
既にマスタに到着していると仮定する。チェックポイント動作に応答して実行さ
れた動作を図5を参照して示す。
ン8に対するHロックを保持しているので、データベースサーバCは、メッセー
ジ1をマスタ(D)に送信してそのバージョンについてのW(書込)ロックを要
求する。この時点ではもう、マスタは、(確認が到着したと仮定して)資源がデ
ータベースサーバAに発送されたことを知っている。データベースサーバDは、
資源書込の命令とともに、(非請求の)WロックをデータベースサーバAに送信
する(2BastW)。
ベースサーバへ(または、最新であると知られている送信者から資源を受取ると
考えられるデータベースサーバへ)送られる。データベースサーバAは、資源の
そのバージョンを書込む(3)。データベースサーバによって書込まれた資源は
、資源のバージョン10である。このときまでに、もしさらなる要求者が資源を
要求していれば、資源のカレントコピーはどこか他にあるであろう。ディスクは
、書込が完了したとき確認する(4AckW)。
ジョン10が現在ディスク上にあるという情報を与える(5AckW)。データ
ベースサーバAは、(これは最初には要求していなかった)そのWロックを自発
的にダウングレードする。
る代わりに、書込が完成したことをCに通知する(6)。マスタは、現在のディ
スクバージョン数を全てのPIコピーのホルダに知らせ、これによってCでのこ
れ以前のPIコピーはすべて解放可能となる。このシナリオでは、データベース
サーバCは、10より古いPIコピーを有していないので、これはデータベース
サーバCのロックをNULLにダウンコンバートする。
スサーバBに10より以前のそのPIコピーを解放するよう命令する(7Ack
W(10))。
ムでのマスタは、データベースサーバでのロック状態について不完全な情報を有
することがある。ある実施例に従うと、資源のマスタは、以下の情報およびデー
タ構造を維持する。
者のキュー(キューの長さの上限は、クラスタ内のデータベースサーバの数であ
る)。このキューをここでは、カレント要求キュー(CQ)と呼ぶ。
れが確認を待たないという意味では非同期に)マスタに事象について通知する。
マスタは、最新のいくつかの送信者を追跡し続ける。これがCQ上のポインタで
ある。
み許可され、マスタは、この資源についてのクラスタ内の書込要求者が1以下で
あることを確実にする。マスタが次の許可を出すことができるのは、先の書込が
完了しWロックが解放されたと通知された後のみである。もし2以上のモディフ
ァィアがあれば、Wロックは書込の持続時間の間与えられ、書込の後に自発的に
解放される。もしモディファィアが1つだけであれば、モディファィアはW許可
を維持可能である。
これは、バッファキャッシュ内のPIコピーについての情報を(おそらく不完全
であるが)与える。
メージとのライフサイクルを大きく引き離すので、復旧の際にこのギャップを埋
める必要がある。ある実施例に従うと、DLM復旧とバッファキャッシュ復旧と
の間に、復旧の新しいステップが加えられる。この新しい復旧ステップをここで
は「ディスクウォームアップ」と呼ぶ。
DLM復旧の際に、資源の位置とPIコピーおよびCURRコピーの利用可能性
とについておおよそしか知らないが、資源のマスタは、生き残ったデータベース
サーバのバッファキャッシュ内の最新PIおよびCURRコピーの利用可能性に
ついて完全な情報を収集する。資源のマスタが、(もし障害より前に資源が障害
の発生したデータベースサーバ上にマスタされていれば)新しいマスタであって
も生き残ったマスタであっても、これは当てはまる。
所有しているかを知る。「ディスクウォームアップ」段では、マスタは、資源の
この最新コピー(もし利用可能であればCURR、および、もしCURRコピー
が障害の発生したデータベースサーバとともに消失していれば最新PIコピー)
のオーナーにWロックを発行する。次に、マスタは、このデータベースサーバに
、資源をディスクに書込むよう命令する。書込が完了すると、すべての他のデー
タベースサーバは、そのHロックをNULLロックに変換する(なぜなら書込ま
れたコピーが最新の利用可能なものであるからである)。これらのロックがコン
バートされた後、キャッシュ復旧は通常通り続行可能である。
もし最新イメージが復旧を実行するデータベースサーバのバッファキャッシュ内
にあれば、資源は必ずしもディスクに書込まれる必要はない。
まな技術を、特殊なタイプのロック(Mロック、WロックおよびHロック)使用
するロッキング方式をコンテクストとして記載した。具体的には、これらの特殊
ロックを使用して、(1)資源のカレントバージョンを有するサーバのみが資源
を変更することと、(2)資源の同じバージョンまたはより新しいバージョンが
ディスクに書込まれるまで、すべてのサーバが資源のそのPIバージョンを維持
することと、(3)資源のディスクベースのバージョンが資源のより古いバージ
ョンによって重ね書きされないこととを確実にする。
るコンテクストの1つにすぎない。たとえば、任意のさまざまなアクセス制御方
式を用いてこれらの同じ3つの規則を実施してもよい。したがって、この発明は
、特定のタイプのアクセス制御方式に限定されるものではない。
セスは、トークンによって管理されてもよく、この場合各トークンが特定のタイ
プの許可を表わす。特定の資源のためのトークンが、上述した3つの規則が確実
に実施されるように、パラレルサーバ間で転送されてもよい。
では、資源のバージョンは、事象に応答して状態を変化させ、バージョンの状態
がそのバージョンに対して実行可能である動作のタイプを決定する。たとえば、
データベースサーバは、その「現在の」状態での資源のカレントバージョンを受
取る。現在の状態は、資源の変更および資源のディスクへの書込を可能とする。
データベースサーバが資源のカレントバージョンを別のノードに転送すると、保
持されているバージョンは「PI書込可能」状態に変る。PI書込可能状態では
、バージョンは、(1)変更不可能であり、(2)量ね書き不可能であるが、(
3)ディスクへの書込は可能である。資源の任意のバージョンがディスクに書込
まれると、ディスクに書込まれたバージョンと同じまたはそれよりも古い、PI
書込可能状態にあるバージョンのすべてが、「PI解放」状態に置かれる。PI
解放状態では、バージョンは量ね書き可能であるが、ディスクへの書込または変
更は不可能である。
すブロック図である。コンピュータシステム600は、情報を受け渡しするため
のバス602または他の通信メカニズムと、バス602に結合され情報を処理す
るためのプロセッサ604とを含む。コンピュータシステム600はまた、ラン
ダムアクセスメモリ(RAM)または他のダイナミック記憶装置などの主メモリ
606を含み、これはバス602に結合されプロセッサ604によって実行され
るべき命令および情報を記憶する。主メモリ606はまた、プロセッサ604に
よって実行されるべき命令の実行の間、一時的変数または他の中間情報を記憶す
るために使用され得る。コンピュータシステム600は、リードオンリメモリ(
ROM)608または他の静的記憶装置をさらに含み、これはバス602に結合
され静的情報およびプロセッサ604のための命令を記憶する。磁気ディスクま
たは光学ディスクなどの記憶装置610が設けられこれはバス602に結合され
情報および命令を記憶する。
のディスプレイ612に結合されもよく、これはコンピュータユーザに情報を表
示する。英数字および他のキーを含む入力デバイス614は、バス602に結合
されプロセッサ604に情報およびコマンド選択を与える。ユーザ入力デバイス
の別のタイプは、マウス、トラックボールまたはカーソル方向キーなどのカーソ
ルコントロール616であって、これは方向情報およびコマンド選択をプロセッ
サ604に与え、かつ、ディスプレイ612上のカーソルの動きを制御する。こ
の入力デバイスは典型的には、第1の軸(たとえばx)および第2の軸(たとえ
ばy)の、2軸での2自由度を有し、これによってデバイスは画面での位置を特
定することが可能となる。
システム600の使用に関する。この発明のある実施例に従うと、ピングに関連
付けられるオーバーヘッドは、プロセッサ604が主メモリ606に含まれる1
つ以上の命令の1つ以上のシーケンスを実行することに応答して、コンピュータ
システム600によって低減される。そのような命令は、記憶装置610などの
、別のコンピュータ読出可能媒体から主メモリ606に読出されてもよい。主メ
モリ606内に含まれる命令のシーケンスを実行することによって、プロセッサ
604はここに記載するプロセスステップを実行する。代替の実施例では、ハー
ドワイア回路をソフトウェア命令の代わりにまたはこれと組合せて使用してこの
発明を実現してもよい。したがって、この発明の実施例は、ハードウェア回路お
よびソフトウェアの特定の組合せに限定されない。
に命令を与えて実行させることに関与する任意の媒体を指す。そのような媒体は
、不揮発性媒体、揮発性媒体および伝送媒体を含むがこれに限られるものではな
い、多くの形態を取ってもよい。不揮発性媒体は、たとえば、記憶装置610な
どの、光学ディスクまたは磁気ディスクを含む。揮発性媒体は、主メモリ606
などの、ダイナミックメモリを含む。伝送媒体は、バス602を含むワイアを含
む、同軸ケーブル、銅線および光ファイバを含む。伝送媒体はまた、電波および
赤外データ通信の間生成されるものなど、音波または光波の形態を取ってもよい
。
ブルディスク、ハードディスク、磁気テープ、またはその他の磁気媒体、CD−
ROM、その他の光学媒体、パンチカード、紙テープ、孔のパターンを備えるそ
の他の物理的媒体、RAM、PROMおよびEPROM、FLASH−EPRO
M、その他のメモリチップまたはカートリッジ、以下に記載する搬送波、または
コンピュータが読出可能なその他の媒体の形態を含む。
シーケンスをプロセッサ604に搬送して実行することにかかわり得る。たとえ
ば、命令は最初に、遠隔コンピュータの磁気ディスク上に担持されてもよい。遠
隔コンピュータは、命令をそのダイナミックメモリにロードし、モデムを使用し
て電話線を介して命令を送信することができる。コンピュータシステム600に
ローカルなモデムは、電話線上のデータを受信し、赤外送信器を使用してデータ
を赤外信号に変換することができる。赤外検出器は赤外信号で搬送されるデータ
を受信可能であり、適切な回路がデータをバス602上に与えることができる。
バス602は、データを主メモリ606に搬送し、プロセッサ604はそこから
命令を検索し実行する。主メモリ606によって受取られた命令は、プロセッサ
604によって実行される前またはその後に、記憶装置610上にオプションと
して記憶されてもよい。
イブ655)がコンピュータシステム600と1つ以上の他のCPU(たとえば
CPU651)の両方にアクセス可能である、共有ディスクシステムに属する。
例示のシステムでは、ディスクドライブ655への共有アクセスは、システムエ
リアネットワーク653によって与えられる。しかしながら、さまざまなメカニ
ズムを代替的に使用して共有アクセスを与えてもよい。
ェイス618を含む。通信インターフェイス618は、双方向のデータ通信を与
え、これはネットワークリンク620に結合し、ネットワークリンクはローカル
ネットワーク622に接続される。たとえば、通信インターフェイス618は、
統合サービスデジタル網(ISDN)カードまたはモデムであってもよく対応す
るタイプの電話線にデータ通信接続を与える。別の例として、通信インターフェ
イス618は、互換性のあるLANにデータ通信接続を与えるローカルエリアネ
ットワーク(LAN)カードであってもよい。ワイアレスリンクが実現されても
よい。いかなるそのような実現化例でも、通信インターフェイス618は、さま
ざまなタイプの情報を表わすデジタルデータストリームを搬送する電気信号、電
磁波信号または光学信号を送信し受信する。
他のデータデバイスにデータ通信を与える。たとえば、ネットワークリンク62
0は、ローカルネットワーク622を介してホストコンピュータ624またはイ
ンターネットサービスプロバイダ(ISP)626によって動作するデータ装置
に接続してもよい。ISP626は、現在通常「インターネット」628と呼ば
れるワールドワイドパケットデータ通信ネットワークを介して、データ通信サー
ビスを提供する。ローカルネットワーク622とインターネット628とはどち
らも、デジタルデータストリームを搬送する電気信号、電磁波信号または光学信
号を使用する。さまざまなネットワークを通る信号と、ネットワークリンク62
0上および通信インターネット618を通る信号とは、デジタルデータをコンピ
ュータシステム600へかつそこから搬送するものであるが、情報を転送する搬
送波の例示的形態である。
よび通信インターフェイス618を介して、プログラムコードを含め、メッセー
ジを送信しデータを受信することが可能である。インターネットの例では、サー
バ630は、インターネット628、ISP626、ローカルネットワーク62
2および通信インターフェイス618を介して、アプリケーションプログラムの
ために要求されたコードを伝送可能である。
もよいし、かつ/または記憶装置610または他の不揮発性装置に記憶されて後
に実行されてもよい。このようにして、コンピュータシステム600は、搬送波
の形でアプリケーションコードを獲得可能である。
に生じるピングを参照してピングを処理するための技術が記載されるが、この技
術はこのコンテクストに限定されるのではない。具体的には、これらの技術は、
あるキャッシュに関連付けられるプロセスが現在のバージョンが他のキャッシュ
内に位置する資源を要求する可能性のあるいかなる環境に適用されてもよい。そ
のような環境は、たとえば、異なったノード上のテキストサーバが同じテキスト
材料へのアクセスを有するような環境、異なったノード上のメディアサーバが同
じビデオデータへのアクセスを有するような環境、などを含む。
間の転送は効率よくなるので、動作可能時間性能は、データベースサーバの数お
よびデータベースサーバあたりのユーザの増加にあわせて増大する。加えて、こ
の技術によって、データベースサーバの数の増加にあわせて増大する単一のデー
タベースサーバの障害(障害の最もよくあるタイプ)からの効率的な復旧が得ら
れる。
PCトランスポートを介して資源を送信することによってピングを処理する。し
たがって、ピングをもたらす、資源についてのディスクI/Oは、かなり解消さ
れる。同期I/Oを伴うのは、これがログ強制のために必要とされる場合におい
てのみである。加えて、ディスクI/Oはチェックポイントおよびバッファキャ
ッシュ置換のために生じるが、そのようなI/Oは、クラスタにわたるバッファ
発送を減速させることはない。
の数を低減させるようにもなる。具体的には、プロトコルの関与者(要求者およ
びホルダ)とマスタとの間の往復メッセージのシーケンスは、要求者、マスタ、
ホルダ、要求者からなる通信トライアングルによって代用される。
しながら、この発明のより広い精神および範囲から逸脱することなしに、これに
さまざまな変形および変更をなし得ることは明らかであろう。したがって、この
明細書および図面は、限定的ではなく例示的なものとして見なされるべきである
。
示するブロック図である。
ら別のキャッシュへ資源を伝送するステップを例示するフローチャートである。
テップを例示するフローチャートである。
に復旧するステップを例示するフローチャートである。
ブロック図である。
ック図である。
からの比較的効率よい復旧を提供する、というのもそのような復旧が必要とする
のは障害の発生したデータベースサーバの復旧(再実行)ログを適用するだけで
あるからである。障害の発生したデータベースサーバの再実行ログを適用すると
、障害の発生したデータベースサーバ上のトランザクションが障害の発生したサ
ーバのキャッシュ内の資源に加えた、かかわった変更はすべて確実に復旧される
。復旧の間の再実行ログの使用は、1997年1月21日出願の「復旧可能オブ
ジェクト内のキャッシングデータ」(“CACHING DATA IN RECOVERABLE OBJECTS ”)と題する米国特許出願連続番号第08/784,611号に詳細に記載され
る。
Claims (27)
- 【請求項1】 第1のキャッシュから第2のキャッシュへ資源を転送するた
めの方法であって、 前記第1のキャッシュから永続的記憶装置に前記資源を最初に永続的に記憶す
ることなしに、前記第1のキャッシュ内に資源の第1のコピーを保持する一方で
資源の第2のコピーを第1のキャッシュから第2のキャッシュへと転送するステ
ップと、 資源の前記第1のコピーまたはそのサクセサが永続的に記憶されるまで前記第
1のコピーが前記第1のキャッシュ内で置換されることを防ぐステップとを含む
、方法。 - 【請求項2】 前記第1のキャッシュは第1のデータベースサーバによって
維持されるキャッシュであり、前記第2のキャッシュは第2のデータベースサー
バによって維持されるキャッシュである、請求項1に記載の方法。 - 【請求項3】 前記第2のコピーを前記第2のキャッシュに転送するよりも
前に前記資源の前記第1のコピーが前記第1のキャッシュ内で変更されることを
可能にするステップと、 前記第2のコピーを前記第2のキャッシュに転送した後に前記資源の前記第1
のコピーが変更されることを防ぐステップとをさらに含む、請求項1に記載の方
法。 - 【請求項4】 前記第2のコピーを前記第2のキャッシュに転送した後に、
許可の要求を送信して前記第1のコピーを解放するステップと、 前記要求に応答して、前記第1のコピーまたはそのサクセサが永続的に記憶さ
れるようにするステップと、 前記サクセサが永続的に記憶されたことに応答して、前記第1のコピーが解放
可能であることを示すメッセージを送信するステップとをさらに含む、請求項1
に記載の方法。 - 【請求項5】 許可の要求を送信して前記第1のコピーを解放するステップ
は、送信側プロセスによって実行され、 前記第1のコピーまたはそのサクセサが永続的に記憶されるようにするステッ
プは、送信側プロセス以外のプロセスが前記資源の前記第1のコピーのサクセサ
を記憶するようにするステップを含む、請求項4に記載の方法。 - 【請求項6】 前記第1のコピーが置換されることを防ぐステップは、 前記第1のコピーを永続的に記憶しようとするより前に、前記資源の永続的に
記憶されたコピーが前記第1のコピーよりも最近のものであったかどうかを決定
するステップと、 もし前記永続的に記憶されたコピーが前記第1のコピーよりもより最近のもの
であれば、前記第1のコピーを永続的に記憶することなしに前記第1のコピーを
解放するステップと、 もし前記永続的に記憶されたコピーが前記第1のコピーよりもより最近のもの
でなければ、前記第1のコピーを永続的に記憶するステップとを含む、請求項1
に記載の方法。 - 【請求項7】 第1のキャッシュに関連付けられる送信側プロセスから第2
のキャッシュに関連付けられる受信側プロセスに前記資源の前記第2のコピーと
ともに変更許可を転送するステップをさらに含む、請求項3に記載の方法。 - 【請求項8】 前記資源にアクセスする許可はマスタによって管理され、 前記変更許可を受信側プロセスに転送するステップは、前記マスタから前記変
更許可の前記受信側プロセスへの転送についての確認を受信するより前に実行さ
れる、請求項7に記載の方法。 - 【請求項9】 前記第2のキャッシュに関連付けられる受信側プロセスが前
記資源の要求を前記資源のマスタに送信するステップと、 前記受信側プロセスからの前記要求に応答して、前記資源の前記マスタが前記
第1のキャッシュに関連付けられる受信側プロセスにメッセージを送信するステ
ップと、 前記送信側プロセスは前記マスタからの前記メッセージに応答して前記第2の
コピーを前記受信側プロセスに転送するステップとをさらに含む、請求項1に記
載の方法。 - 【請求項10】 前記第2のコピーを前記第2のキャッシュに転送するステ
ップの後に、 前記第1のキャッシュに関連付けられる送信側プロセスがロックマネージャに
ロックを要求するステップを実行し、前記ロックは前記資源をディスクに書込む
許可は与えるが前記資源を変更する許可は与えず、さらに、 前記ロックマネージャは前記第1のコピーと少なくとも同じほど最近である前
記資源のバージョンを有するプロセスを選択するステップと、 前記ロックマネージャは前記ロックを前記選択されたプロセスに与えるステッ
プと、 前記選択されたプロセスは前記資源の前記バージョンをディスクに書込むステ
ップとを実行するステップをさらに含む、請求項1に記載の方法。 - 【請求項11】 前記資源の前記バージョンがディスクに書込まれるのに応
答して、前記ロックマネージャは前記バージョンよりもより古い前記資源のすべ
てのバージョンが解放されるようにするステップをさらに含む、請求項10に記
載の方法。 - 【請求項12】 前記資源のダーティコピーを保持するキャッシュの障害の
後に、 障害の発生したキャッシュが資源の最新バージョンを保持していたかどうかを
決定するステップと、 もし障害の発生したキャッシュが資源の最新バージョンを保持していれば、 資源の最新パストイメージをディスクに書込むステップと、 資源のすべての先のパストイメージを解放するステップと、 前記障害の発生したキャッシュの復旧ログを適用して資源の最新バージョンを
再構築するステップとをさらに含む、請求項1に記載の方法。 - 【請求項13】 もし障害の発生したキャッシュが資源の最新バージョンを
保持していなかったとすれば、 資源の最新バージョンをディスクに書込むステップと、 資源のすべてのパストイメージを解放するステップとをさらに含む、請求項1
2に記載の方法。 - 【請求項14】 前記資源のダーティバージョンを保持する複数個のキャッ
シュの障害の後に、 障害の発生したキャッシュのいずれかが資源の最新バージョンを保持していた
かどうかを決定するステップと、 もし障害の発生したキャッシュのいずれかが資源の最新バージョンを保持して
いたとすれば、 前記障害の発生したキャッシュの復旧ログをマージし適用して資源の最新バー
ジョンを再構築するステップをさらに含む、請求項1に記載の方法。 - 【請求項15】 命令の1つ以上のシーケンスを搬送して第1のキャッシュ
から第2のキャッシュへと資源を転送するコンピュータ読出可能媒体であって、
命令の1つ以上のシーケンスが1つ以上のプロセッサによって実行されると、1
つ以上のプロセッサは、 前記第1のキャッシュから永続的記憶装置に前記資源を最初に永続的に記憶す
ることなしに、前記第1のキャッシュ内に資源の第1のコピーを保持する一方で
資源の第2のコピーを第1のキャッシュから第2のキャッシュへと転送するステ
ップと、 資源の前記第1のコピーまたはそのサクセサが永続的に記憶されるまで前記第
1のコピーが前記第1のキャッシュ内で置換されることを防ぐステップとを実行
するようになる、コンピュータ読出可能媒体。 - 【請求項16】 前記第2のコピーを前記第2のキャッシュに転送するより
前に、前記資源の前記第1のコピーが前記第1のキャッシュ内で変更されること
を可能にするステップと、 前記第2のコピーが前記第2のキャッシュに転送された後に前記資源の前記第
1のコピーが変更されることを防ぐステップとを実行する命令のシーケンスをさ
らに含む、請求項15に記載のコンピュータ読出可能媒体。 - 【請求項17】 前記第2のコピーを前記第2のキャッシュに転送した後に
、許可の要求を送信して前記第1のコピーを解放するステップと、 前記要求に応答して、前記第1のコピーまたはそのサクセサが永続的に記憶さ
れるようにするステップと、 前記サクセサが永続的に記憶されたことに応答して、前記第1のコピーが置換
可能であることを示すメッセージを送信するステップとを実行する命令のシーケ
ンスをさらに含む、請求項15に記載のコンピュータ読出可能媒体。 - 【請求項18】 許可の要求を送信して前記第1のコピーを解放するステッ
プは送信側プロセスによって実行され、 前記第1のコピーまたはそのサクセサが永続的に記憶されるようにするステッ
プは、前記送信側プロセス以外のプロセスが前記資源の前記第1のコピーのサク
セサを記憶するようにするステップを含む、請求項17に記載のコンピュータ読
出可能媒体。 - 【請求項19】 前記第1のコピーが置換されることを防ぐステップは、 前記第1のコピーを永続的に記憶しようとするより前に、前記資源の永続的に
記憶されたコピーが前記第1のコピーよりもより最近のものであるかどうかを決
定するステップと、 もし前記永続的に記憶されたコピーが前記第1のコピーよりもより最近のもの
であれば、前記第1のコピーを永続的に記憶することなしに前記第1のコピーを
解放するステップと、 もし前記永続的に記憶されたコピーが前記第1のコピーよりもより最近のもの
でなければ、前記第1のコピーを永続的に記憶するステップを含む、請求項15
に記載のコンピュータ読出可能媒体。 - 【請求項20】 前記第1のキャッシュに関連付けられる送信側プロセスか
ら前記第2のキャッシュに関連付けられる受信側プロセスに前記資源の前記第2
のコピーとともに変更許可を転送するステップを実行する命令をさらに含む、請
求項16に記載のコンピュータ読出可能媒体。 - 【請求項21】 前記資源にアクセスする許可はマスタによって管理され、
前記変更許可を受信側プロセスに転送するステップは、前記マスタから前記変更
許可の前記受信側プロセスへの転送についての確認を受信するより前に実行され
る、請求項20に記載のコンピュータ読出可能媒体。 - 【請求項22】 前記第2のキャッシュに関連付けられる受信側プロセスが
前記資源の要求を前記資源のマスタに送信するステップと、 前記受信側プロセスからの前記要求に応答して、前記資源の前記マスタは前記
第1のキャッシュに関連付けられる送信側プロセスにメッセージを送信するステ
ップと、 前記送信側プロセスは前記マスタからの前記メッセージに応答して前記第2の
コピーを前記受信側プロセスに転送するステップとを実行する命令のシーケンス
をさらに含む、請求項15に記載のコンピュータ読出可能媒体。 - 【請求項23】 前記第2のコピーを前記第2のキャッシュに転送するステ
ップより後に、 前記第1のキャッシュに関連付けられる送信側プロセスがロックマネージャに
ロックを要求するステップを実行し、前記ロックは前記資源をディスクに書込む
許可を与えるが前記資源を変更する許可は与えず、さらに、 前記ロックマネージャは前記第1のコピーと少なくとも同じほど最近である前
記資源のバージョンを有するプロセスを選択するステップと、 前記ロックマネージャは前記選択されたプロセスに前記ロックを与えるステッ
プと、 前記選択されたプロセスは前記資源の前記バージョンをディスクに書込むステ
ップとを実行する命令をさらに含む、請求項15に記載のコンピュータ読出可能
媒体。 - 【請求項24】 前記資源の前記バージョンがディスクに書込まれたことに
応答して、前記ロックマネージャは前記バージョンよりもより古い前記資源のす
べてのバージョンが解放されるようになるステップを実行する命令をさらに含む
、請求項23に記載のコンピュータ読出可能媒体。 - 【請求項25】 前記資源のダーティコピーを保持するキャッシュの障害の
後に、 障害の発生したキャッシュが資源の最新バージョンを保持していたかどうかを
決定するステップと、 もし障害の発生したプロセスが資源の最新バージョンを保持していたとすれば
、 資源の最新パストイメージをディスクに書込むステップと、 資源のすべての先のパストイメージを解放するステップと、 前記障害の発生したキャッシュの復旧ログを適用して資源の最新バージョンを
再構築するステップとを実行する命令のシーケンスをさらに含む、請求項15に
記載のコンピュータ読出可能媒体。 - 【請求項26】 もし障害の発生したキャッシュが資源の最新バージョンを
保持していなかったとすれば、 資源の最新バージョンをディスクに書込むステップと、 資源のすべてのパストイメージを解放するステップとを実行する命令のシーケ
ンスをさらに含む、請求項25に記載のコンピュータ読出可能媒体。 - 【請求項27】 前記資源のダーティバージョンを保持する複数個のキャッ
シュの障害の後に、 もし障害の発生したキャッシュのいずれかが資源の最新バージョンを保持して
いたかどうかを決定するステップと、 もし障害の発生したキャッシュのいずれかが資源の最新バージョンを保持して
いたとすれば、 前記障害の発生したキャッシュの復旧ログをマージし適用して資源の最新バー
ジョンを再構築するステップとを実行する命令のシーケンスをさらに含む、請求
項15に記載のコンピュータ読出可能媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US7458798P | 1998-02-13 | 1998-02-13 | |
US60/074,587 | 1998-02-13 | ||
US09/199,120 | 1998-11-24 | ||
US09/199,120 US6353836B1 (en) | 1998-02-13 | 1998-11-24 | Method and apparatus for transferring data from the cache of one node to the cache of another node |
PCT/US1999/002965 WO1999041664A1 (en) | 1998-02-13 | 1999-02-12 | Method and apparatus for transferring data from the cache of one node to the cache of another node |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002503846A true JP2002503846A (ja) | 2002-02-05 |
JP2002503846A5 JP2002503846A5 (ja) | 2005-12-22 |
JP3815967B2 JP3815967B2 (ja) | 2006-08-30 |
Family
ID=26755827
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000531781A Expired - Lifetime JP3815967B2 (ja) | 1998-02-13 | 1999-02-12 | あるノードのキャッシュから別のノードのキャッシュへデータを転送するための方法および装置 |
Country Status (8)
Country | Link |
---|---|
US (7) | US6353836B1 (ja) |
EP (1) | EP1055173B1 (ja) |
JP (1) | JP3815967B2 (ja) |
AU (1) | AU768747B2 (ja) |
CA (1) | CA2320240C (ja) |
DE (6) | DE69901291T2 (ja) |
HK (5) | HK1041535B (ja) |
WO (1) | WO1999041664A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014197402A (ja) * | 2014-05-26 | 2014-10-16 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
Families Citing this family (111)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6574654B1 (en) | 1996-06-24 | 2003-06-03 | Oracle Corporation | Method and apparatus for lock caching |
AU2007202589B2 (en) * | 1998-02-13 | 2008-11-06 | Oracle International Corporation | Method and apparatus for transferring data from the cache of one node to the cache of another node |
US7930278B2 (en) | 1998-02-13 | 2011-04-19 | Oracle International Corporation | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US6353836B1 (en) | 1998-02-13 | 2002-03-05 | Oracle Corporation | Method and apparatus for transferring data from the cache of one node to the cache of another node |
AU2003213536B2 (en) * | 1998-02-13 | 2007-05-10 | Oracle International Corporation | Method and apparatus for transferring data from the cache of one node to the cache of another node |
US7200623B2 (en) * | 1998-11-24 | 2007-04-03 | Oracle International Corp. | Methods to perform disk writes in a distributed shared disk system needing consistency across failures |
US6633891B1 (en) | 1998-11-24 | 2003-10-14 | Oracle International Corporation | Managing replacement of data in a cache on a node based on caches of other nodes |
US7065540B2 (en) * | 1998-11-24 | 2006-06-20 | Oracle International Corporation | Managing checkpoint queues in a multiple node system |
US7003721B1 (en) * | 1999-06-15 | 2006-02-21 | Microsoft Corporation | Safe save method of HTML files using recovery files including a list with temporary and final names for replacement files |
US6405219B2 (en) * | 1999-06-22 | 2002-06-11 | F5 Networks, Inc. | Method and system for automatically updating the version of a set of files stored on content servers |
US6609126B1 (en) | 2000-11-15 | 2003-08-19 | Appfluent Technology, Inc. | System and method for routing database requests to a database and a cache |
US6961728B2 (en) * | 2000-11-28 | 2005-11-01 | Centerboard, Inc. | System and methods for highly distributed wide-area data management of a network of data sources through a database interface |
US6965893B1 (en) | 2000-12-20 | 2005-11-15 | Oracle International Corporation | Techniques for granting shared locks more efficiently |
US6850938B1 (en) * | 2001-02-08 | 2005-02-01 | Cisco Technology, Inc. | Method and apparatus providing optimistic locking of shared computer resources |
CA2440277C (en) * | 2001-03-07 | 2011-05-17 | Oracle International Corporation | Managing checkpoint queues in a multiple node system |
US6772363B2 (en) * | 2001-03-12 | 2004-08-03 | Hewlett-Packard Development Company, L.P. | Fast failover database tier in a multi-tier transaction processing system |
US7107319B2 (en) * | 2001-05-31 | 2006-09-12 | Oracle Corporation | Method and apparatus for reducing latency and message traffic during data and lock transfer in a multi-node system |
US7076510B2 (en) * | 2001-07-12 | 2006-07-11 | Brown William P | Software raid methods and apparatuses including server usage based write delegation |
US7325064B2 (en) * | 2001-07-17 | 2008-01-29 | International Business Machines Corporation | Distributed locking protocol with asynchronous token prefetch and relinquish |
US6721851B2 (en) | 2001-08-07 | 2004-04-13 | Veritas Operating Corporation | System and method for preventing sector slipping in a storage area network |
US7363447B1 (en) | 2001-08-07 | 2008-04-22 | Symantec Operating Corporation | System and method for providing safe data movement using third party copy techniques |
US6820114B2 (en) * | 2001-09-27 | 2004-11-16 | Sap Aktiengesellschaft | Identifying object suppliers in a network |
US7496645B2 (en) * | 2001-10-18 | 2009-02-24 | Hewlett-Packard Development Company, L.P. | Deployment of business logic software and data content onto network servers |
US20030105871A1 (en) * | 2001-11-13 | 2003-06-05 | Microsoft Corporation, | Method and system for modifying lock properties in a distributed environment |
US7028300B2 (en) * | 2001-11-13 | 2006-04-11 | Microsoft Corporation | Method and system for managing resources in a distributed environment that has an associated object |
US6748470B2 (en) * | 2001-11-13 | 2004-06-08 | Microsoft Corporation | Method and system for locking multiple resources in a distributed environment |
US7406519B2 (en) * | 2001-11-13 | 2008-07-29 | Microsoft Corporation | Method and system for locking resources in a distributed environment |
US8086579B1 (en) * | 2002-01-22 | 2011-12-27 | Oracle International Corporation | Semantic response to lock requests to reduce coherence overhead in multi-node systems |
US20030188096A1 (en) * | 2002-03-15 | 2003-10-02 | Otto Lehner | Distributing access rights to mass storage |
CA2377649C (en) * | 2002-03-20 | 2009-02-03 | Ibm Canada Limited-Ibm Canada Limitee | Dynamic cluster database architecture |
US7181452B1 (en) * | 2002-04-04 | 2007-02-20 | Ncr Corp. | Locking mechanism using predefined locks for aggregate materialized views in a database system |
US6988165B2 (en) * | 2002-05-20 | 2006-01-17 | Pervasive Software, Inc. | System and method for intelligent write management of disk pages in cache checkpoint operations |
US7448077B2 (en) * | 2002-05-23 | 2008-11-04 | International Business Machines Corporation | File level security for a metadata controller in a storage area network |
US6981104B2 (en) * | 2002-07-12 | 2005-12-27 | Hewlett-Packard Development Company, L.P. | Method for conducting checkpointing within a writeback cache |
US8095657B2 (en) * | 2002-07-24 | 2012-01-10 | Oracle America, Inc. | First thread lock management for distributed data systems |
US7093230B2 (en) * | 2002-07-24 | 2006-08-15 | Sun Microsystems, Inc. | Lock management thread pools for distributed data systems |
US20040019660A1 (en) * | 2002-07-24 | 2004-01-29 | Sandhya E. | Lock holding multi-threaded processes for distibuted data systems |
US7565406B2 (en) * | 2002-07-24 | 2009-07-21 | Sun Microsystems, Inc. | Last thread lock management for multi-threaded process and distributed data systems |
US7653667B2 (en) * | 2002-09-09 | 2010-01-26 | Sap Ag | Methods and systems for data moving using locks |
EP1540516B1 (en) * | 2002-09-09 | 2009-11-25 | Sap Ag | Methods and systems for archiving data |
US7693881B2 (en) * | 2002-09-09 | 2010-04-06 | Sap Ag | Methods and systems for moving data using locks |
US20060149696A1 (en) * | 2002-09-09 | 2006-07-06 | Thorsten Pferdekaemper | Method and systems for controlling access to a data object by means of locks |
US7457933B2 (en) * | 2002-09-09 | 2008-11-25 | Sap Ag | Methods and systems for archiving data |
US7756813B2 (en) * | 2002-09-09 | 2010-07-13 | Sap Ag | Electronic data structure for controlling access to data objects using locks |
US7707184B1 (en) * | 2002-10-09 | 2010-04-27 | Netapp, Inc. | System and method for snapshot full backup and hard recovery of a database |
US7451359B1 (en) | 2002-11-27 | 2008-11-11 | Oracle International Corp. | Heartbeat mechanism for cluster systems |
DE10256148A1 (de) * | 2002-11-29 | 2004-06-17 | Basf Ag | Gegenstand der vorliegenden Erfindung sind Zusammensetzungen enthaltend mindestens ein Copolymer (A) und mindestens ein Copolymer (B) sowie deren Verwendung in kosmetischen Zubereitungen |
US7822612B1 (en) | 2003-01-03 | 2010-10-26 | Verizon Laboratories Inc. | Methods of processing a voice command from a caller |
US7281050B2 (en) * | 2003-04-08 | 2007-10-09 | Sun Microsystems, Inc. | Distributed token manager with transactional properties |
US7124131B2 (en) * | 2003-04-29 | 2006-10-17 | International Business Machines Corporation | Discipline for lock reassertion in a distributed file system |
US7039773B2 (en) | 2003-04-29 | 2006-05-02 | Oracle International Corporation | Method and mechanism for efficient implementation of ordered records |
US7376744B2 (en) | 2003-05-09 | 2008-05-20 | Oracle International Corporation | Using local locks for global synchronization in multi-node systems |
US7447786B2 (en) * | 2003-05-09 | 2008-11-04 | Oracle International Corporation | Efficient locking of shared data that is accessed for reads in a cluster database |
US7139772B2 (en) | 2003-08-01 | 2006-11-21 | Oracle International Corporation | Ownership reassignment in a shared-nothing database system |
US7343432B1 (en) * | 2003-09-19 | 2008-03-11 | Emc Corporation | Message based global distributed locks with automatic expiration for indicating that said locks is expired |
US7324995B2 (en) * | 2003-11-17 | 2008-01-29 | Rackable Systems Inc. | Method for retrieving and modifying data elements on a shared medium |
US7447710B2 (en) * | 2003-12-11 | 2008-11-04 | Sybase, Inc. | Database system providing self-tuned parallel database recovery |
US7299378B2 (en) | 2004-01-15 | 2007-11-20 | Oracle International Corporation | Geographically distributed clusters |
US7421562B2 (en) * | 2004-03-01 | 2008-09-02 | Sybase, Inc. | Database system providing methodology for extended memory support |
US20050251495A1 (en) * | 2004-05-06 | 2005-11-10 | Bea Systems, Inc. | System and method for unified file management |
US7428733B2 (en) * | 2004-05-13 | 2008-09-23 | Bea Systems, Inc. | System and method for custom module creation and deployment |
US7814484B2 (en) * | 2004-05-14 | 2010-10-12 | Bea Systems, Inc. | System and method for web application extensibility |
US8181162B2 (en) * | 2004-06-14 | 2012-05-15 | Alcatel Lucent | Manager component for checkpoint procedures |
JP2006004031A (ja) * | 2004-06-16 | 2006-01-05 | Hitachi Ltd | データ処理方法およびシステム並びにストレージ装置方法およびその処理プログラム |
US7809690B2 (en) * | 2004-07-13 | 2010-10-05 | Oracle International Corporation | Performance metric-based selection of one or more database server instances to perform database recovery |
US8688662B2 (en) * | 2004-09-28 | 2014-04-01 | International Business Machines Corporation | Copy on access to locked objects |
US7567986B2 (en) * | 2004-10-07 | 2009-07-28 | Microsoft Corporation | Method and system for limiting resource usage of a version store |
US8566326B2 (en) * | 2004-11-05 | 2013-10-22 | Oracle International Corporation | High-performance log-based processing |
US7506202B1 (en) * | 2005-02-08 | 2009-03-17 | Symantec Operating Corporation | Compression of temporal dimension in a temporal storage device |
US7631021B2 (en) * | 2005-03-25 | 2009-12-08 | Netapp, Inc. | Apparatus and method for data replication at an intermediate node |
US7209990B2 (en) * | 2005-04-05 | 2007-04-24 | Oracle International Corporation | Maintain fairness of resource allocation in a multi-node environment |
US7752625B2 (en) * | 2005-06-17 | 2010-07-06 | International Business Machines Corporation | Caching resources requested by applications |
US7596712B1 (en) * | 2006-03-23 | 2009-09-29 | Network Appliance, Inc. | Method and system for efficiently accessing a storage redundancy group |
WO2007134251A2 (en) * | 2006-05-12 | 2007-11-22 | Goldengate Software, Inc. | Apparatus and method for read consistency in a log mining system |
US20080034053A1 (en) * | 2006-08-04 | 2008-02-07 | Apple Computer, Inc. | Mail Server Clustering |
US7788243B2 (en) * | 2006-09-08 | 2010-08-31 | Sybase, Inc. | System and methods for optimizing data transfer among various resources in a distributed environment |
US8156082B2 (en) * | 2006-10-06 | 2012-04-10 | Sybase, Inc. | System and methods for temporary data management in shared disk cluster |
US7831772B2 (en) * | 2006-12-12 | 2010-11-09 | Sybase, Inc. | System and methodology providing multiple heterogeneous buffer caches |
GB0625330D0 (en) * | 2006-12-20 | 2007-01-24 | Ibm | System,method and computer program product for managing data using a write-back cache unit |
JP2008276456A (ja) * | 2007-04-27 | 2008-11-13 | Hitachi Software Eng Co Ltd | ファイル管理システム及び方法、並びに携帯端末装置 |
US8195610B1 (en) * | 2007-05-08 | 2012-06-05 | IdeaBlade, Inc. | Method and apparatus for cache management of distributed objects |
US8914565B2 (en) * | 2007-06-08 | 2014-12-16 | Sap Ag | Locking or loading an object node |
US7975025B1 (en) | 2008-07-08 | 2011-07-05 | F5 Networks, Inc. | Smart prefetching of data over a network |
US20100082560A1 (en) * | 2008-09-19 | 2010-04-01 | Sony Computer Entertainment America Inc. | Software change management, configuration substitution and remote administration of datacenters |
US20100088270A1 (en) * | 2008-10-03 | 2010-04-08 | Carsten Ziegler | Data versioning concept including time dependency and active and inactive states |
US8429134B2 (en) * | 2009-09-08 | 2013-04-23 | Oracle International Corporation | Distributed database recovery |
US8510334B2 (en) * | 2009-11-05 | 2013-08-13 | Oracle International Corporation | Lock manager on disk |
US8527460B2 (en) * | 2010-02-19 | 2013-09-03 | Jason Laurence Noble | Method for carrying out database version control |
US9026510B2 (en) * | 2011-03-01 | 2015-05-05 | Vmware, Inc. | Configuration-less network locking infrastructure for shared file systems |
JP5772458B2 (ja) * | 2011-09-29 | 2015-09-02 | 富士通株式会社 | データ管理プログラム、ノード、および分散データベースシステム |
US9342411B2 (en) | 2012-10-22 | 2016-05-17 | International Business Machines Corporation | Reducing memory overhead of highly available, distributed, in-memory key-value caches |
US9311014B2 (en) | 2012-11-29 | 2016-04-12 | Infinidat Ltd. | Storage system and methods of mapping addresses of snapshot families |
US9146877B2 (en) * | 2012-11-29 | 2015-09-29 | Infinidat Ltd. | Storage system capable of managing a plurality of snapshot families and method of snapshot family based read |
US9330055B2 (en) * | 2013-06-04 | 2016-05-03 | International Business Machines Corporation | Modular architecture for extreme-scale distributed processing applications |
US9767178B2 (en) | 2013-10-30 | 2017-09-19 | Oracle International Corporation | Multi-instance redo apply |
US10599630B2 (en) | 2015-05-29 | 2020-03-24 | Oracle International Corporation | Elimination of log file synchronization delay at transaction commit time |
US10698829B2 (en) | 2015-07-27 | 2020-06-30 | Datrium, Inc. | Direct host-to-host transfer for local cache in virtualized systems wherein hosting history stores previous hosts that serve as currently-designated host for said data object prior to migration of said data object, and said hosting history is checked during said migration |
US10268744B2 (en) * | 2015-09-22 | 2019-04-23 | Walmart Apollo, Llc | System for maintaining consistency across a decentralized database cluster and method therefor |
US10083201B2 (en) * | 2015-09-22 | 2018-09-25 | Walmart Apollo, Llc | System for maintaining consistency across a decentralized database cluster and method therefor |
US10169138B2 (en) | 2015-09-22 | 2019-01-01 | Walmart Apollo, Llc | System and method for self-healing a database server in a cluster |
US10394817B2 (en) | 2015-09-22 | 2019-08-27 | Walmart Apollo, Llc | System and method for implementing a database |
US10116736B2 (en) | 2015-09-22 | 2018-10-30 | Walmart Apollo, Llc | System for dynamically varying traffic routing modes in a distributed cluster and method therefor |
KR101758558B1 (ko) * | 2016-03-29 | 2017-07-26 | 엘에스산전 주식회사 | 에너지 관리 서버 및 그를 갖는 에너지 관리 시스템 |
US9971645B2 (en) | 2016-08-23 | 2018-05-15 | Seagate Technology Llc | Auto-recovery of media cache master table data |
US10223272B2 (en) | 2017-04-25 | 2019-03-05 | Seagate Technology Llc | Latency sensitive metadata object persistence operation for storage device |
US10459810B2 (en) | 2017-07-06 | 2019-10-29 | Oracle International Corporation | Technique for higher availability in a multi-node system using replicated lock information to determine a set of data blocks for recovery |
US11126505B1 (en) * | 2018-08-10 | 2021-09-21 | Amazon Technologies, Inc. | Past-state backup generator and interface for database systems |
US11188516B2 (en) | 2018-08-24 | 2021-11-30 | Oracle International Corproation | Providing consistent database recovery after database failure for distributed databases with non-durable storage leveraging background synchronization point |
US11334445B2 (en) * | 2018-10-19 | 2022-05-17 | Oracle International Corporation | Using non-volatile memory to improve the availability of an in-memory database |
JP7335966B2 (ja) | 2019-02-05 | 2023-08-30 | カーサシステムズ インコーポレイテッド | ネットワーク関連付け情報を回復するための方法及び装置 |
US11593309B2 (en) * | 2020-11-05 | 2023-02-28 | International Business Machines Corporation | Reliable delivery of event notifications from a distributed file system |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3039168A1 (de) | 1980-10-16 | 1982-05-13 | Agfa-Gevaert Ag, 5090 Leverkusen | Fotografisches material, herstellungsverfahren sowie verfahren zur herstellung fotografischer bilder |
EP0348628A3 (en) * | 1988-06-28 | 1991-01-02 | International Business Machines Corporation | Cache storage system |
US5193162A (en) * | 1989-11-06 | 1993-03-09 | Unisys Corporation | Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities |
US5297269A (en) | 1990-04-26 | 1994-03-22 | Digital Equipment Company | Cache coherency protocol for multi processor computer system |
US5261069A (en) | 1990-08-13 | 1993-11-09 | Hewlett-Packard Company | Method of maintaining consistency of cached data in a database system |
US5276835A (en) | 1990-12-14 | 1994-01-04 | International Business Machines Corporation | Non-blocking serialization for caching data in a shared cache |
US5287473A (en) | 1990-12-14 | 1994-02-15 | International Business Machines Corporation | Non-blocking serialization for removing data from a shared cache |
JPH0827755B2 (ja) | 1991-02-15 | 1996-03-21 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データの単位を高速度でアクセスする方法 |
US5280611A (en) | 1991-11-08 | 1994-01-18 | International Business Machines Corporation | Method for managing database recovery from failure of a shared store in a system including a plurality of transaction-based systems of the write-ahead logging type |
US5630124A (en) | 1993-12-06 | 1997-05-13 | International Business Machines Corporation | System and method for assuring atomicity of distributed update requests in a parallel database |
JPH08185359A (ja) | 1994-10-31 | 1996-07-16 | Toshiba Corp | メモリサブシステム |
US5680576A (en) | 1995-05-05 | 1997-10-21 | Silicon Graphics, Inc. | Directory-based coherence protocol allowing efficient dropping of clean-exclusive data |
JP3085899B2 (ja) | 1995-06-19 | 2000-09-11 | 株式会社東芝 | マルチプロセッサシステム |
JPH0926910A (ja) | 1995-07-11 | 1997-01-28 | Canon Inc | 情報処理装置及びその方法及び情報処理システム及びその制御方法 |
US5903910A (en) * | 1995-11-20 | 1999-05-11 | Advanced Micro Devices, Inc. | Method for transferring data between a pair of caches configured to be accessed from different stages of an instruction processing pipeline |
US5832516A (en) | 1997-01-21 | 1998-11-03 | Oracle Corporation | Caching data in recoverable objects |
US5966706A (en) * | 1997-02-19 | 1999-10-12 | At&T Corp | Local logging in a distributed database management computer system |
US6067550A (en) | 1997-03-10 | 2000-05-23 | Microsoft Corporation | Database computer system with application recovery and dependency handling write cache |
US5933849A (en) * | 1997-04-10 | 1999-08-03 | At&T Corp | Scalable distributed caching system and method |
US5987477A (en) * | 1997-07-11 | 1999-11-16 | International Business Machines Corporation | Parallel file system and method for parallel write sharing |
US6256712B1 (en) | 1997-08-01 | 2001-07-03 | International Business Machines Corporation | Scaleable method for maintaining and making consistent updates to caches |
US5924096A (en) * | 1997-10-15 | 1999-07-13 | Novell, Inc. | Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand |
US6279084B1 (en) | 1997-10-24 | 2001-08-21 | Compaq Computer Corporation | Shadow commands to optimize sequencing of requests in a switch-based multi-processor system |
US6052758A (en) * | 1997-12-22 | 2000-04-18 | International Business Machines Corporation | Interface error detection and isolation in a direct access storage device DASD system |
US6353836B1 (en) | 1998-02-13 | 2002-03-05 | Oracle Corporation | Method and apparatus for transferring data from the cache of one node to the cache of another node |
US6085198A (en) * | 1998-06-05 | 2000-07-04 | Sun Microsystems, Inc. | Integrated three-tier application framework with automated class and table generation |
-
1998
- 1998-11-24 US US09/199,120 patent/US6353836B1/en not_active Expired - Lifetime
-
1999
- 1999-02-12 EP EP99906927A patent/EP1055173B1/en not_active Expired - Lifetime
- 1999-02-12 DE DE69901291T patent/DE69901291T2/de not_active Expired - Lifetime
- 1999-02-12 DE DE69917333T patent/DE69917333T2/de not_active Expired - Lifetime
- 1999-02-12 JP JP2000531781A patent/JP3815967B2/ja not_active Expired - Lifetime
- 1999-02-12 DE DE69939226T patent/DE69939226D1/de not_active Expired - Lifetime
- 1999-02-12 CA CA002320240A patent/CA2320240C/en not_active Expired - Lifetime
- 1999-02-12 WO PCT/US1999/002965 patent/WO1999041664A1/en active IP Right Grant
- 1999-02-12 AU AU26723/99A patent/AU768747B2/en not_active Expired
- 1999-02-12 DE DE69918470T patent/DE69918470T2/de not_active Expired - Lifetime
- 1999-02-12 DE DE69917342T patent/DE69917342T2/de not_active Expired - Lifetime
- 1999-02-12 DE DE69929095T patent/DE69929095T2/de not_active Expired - Lifetime
-
2001
- 2001-04-25 HK HK02103044.8A patent/HK1041535B/zh not_active IP Right Cessation
- 2001-04-25 HK HK04104594A patent/HK1061724A1/xx not_active IP Right Cessation
- 2001-04-25 HK HK02101306.5A patent/HK1039812B/zh not_active IP Right Cessation
- 2001-04-25 HK HK02103043.9A patent/HK1041534B/zh not_active IP Right Cessation
- 2001-04-25 HK HK01102941A patent/HK1032642A1/xx not_active IP Right Cessation
- 2001-06-27 US US09/894,757 patent/US6609136B2/en not_active Expired - Lifetime
- 2001-06-27 US US09/894,325 patent/US6411968B2/en not_active Expired - Lifetime
- 2001-06-27 US US09/894,636 patent/US6564230B2/en not_active Expired - Lifetime
- 2001-06-27 US US09/894,640 patent/US6567827B2/en not_active Expired - Lifetime
- 2001-06-27 US US09/894,521 patent/US6507853B2/en not_active Expired - Lifetime
- 2001-06-27 US US09/894,635 patent/US6564234B2/en not_active Expired - Lifetime
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014197402A (ja) * | 2014-05-26 | 2014-10-16 | 富士通株式会社 | 情報処理装置、制御方法および制御プログラム |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3815967B2 (ja) | あるノードのキャッシュから別のノードのキャッシュへデータを転送するための方法および装置 | |
US7296039B2 (en) | Managing checkpoint queues in a multiple node system | |
US8051046B2 (en) | Methods to perform disk writes in a distributed shared disk system needing consistency across failures | |
US20110173169A1 (en) | Methods To Perform Disk Writes In A Distributed Shared Disk System Needing Consistency Across Failures | |
AU2002248570B2 (en) | Managing checkpoint queues in a multiple node system | |
EP1162539B1 (en) | Recovering data from one or more failed caches | |
AU2007202589B2 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node | |
EP1408408B1 (en) | Managing a resource used by a plurality of nodes | |
AU2003213536B2 (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node | |
CA2448050C (en) | Method and apparatus for transferring data from the cache of one node to the cache of another node |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040728 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040728 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20050913 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060530 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060606 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100616 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110616 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120616 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130616 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S802 | Written request for registration of partial abandonment of right |
Free format text: JAPANESE INTERMEDIATE CODE: R311802 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
EXPY | Cancellation because of completion of term |