JP2002504249A - 複製されたデータ対象の初期化 - Google Patents

複製されたデータ対象の初期化

Info

Publication number
JP2002504249A
JP2002504249A JP50425399A JP50425399A JP2002504249A JP 2002504249 A JP2002504249 A JP 2002504249A JP 50425399 A JP50425399 A JP 50425399A JP 50425399 A JP50425399 A JP 50425399A JP 2002504249 A JP2002504249 A JP 2002504249A
Authority
JP
Japan
Prior art keywords
node
state
data object
log
logged
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.)
Pending
Application number
JP50425399A
Other languages
English (en)
Inventor
ウイクストロム、クラエス
Original Assignee
テレフオンアクチーボラゲツト エル エム エリクソン
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by テレフオンアクチーボラゲツト エル エム エリクソン filed Critical テレフオンアクチーボラゲツト エル エム エリクソン
Publication of JP2002504249A publication Critical patent/JP2002504249A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99938Concurrency, e.g. lock management in shared database
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 複製されたデータベース環境において、全部のノード(30)は、ネットワーク(20)を通じてノード状態メッセージを受信することにより相互の安泰をモニタする。一つのノードが最早生きていないと検出されると、他のノードは、この様なノードは故障したと推定する。ノード故障が検出されると、ノードダウン値を持つノード状態記録が、故障しているノードに関してノードログ(80)に書込まれる。同様に、ノードが生きて現れ又は新しいノードがネットワークに知られるようになると、ノードアップ値を持つノード状態記録がノードログに書込まれる。一つの局所ノードが故障し、次に再始動すると、この局所ノードは、複製されたデータ対象の値をどの様に初期化するかを決定するため、そのノードログの内容を使用する。そのノードログを読出すことにより、局所ノードは、データ対象がそのデイスク(32)から初期化出来るかどうかを決めることが出来る。

Description

【発明の詳細な説明】 複製されたデータ対象の初期化 この発明は、同時に出願された「複製されたデータ対象のための残存クロック 」と題する米国特許出願一連番号第08/ , ,号(代理人整理番号14 10−317)に記載された発明に関する。前記出願の内容は、ここに引用する ことにより、本明細書の一部として取り込むこととする。 背景 1. 発明の分野 この発明は、分散形又は複製形データベース(distributed or replicated database)に関し、特にこの様なデータベー スに保存されたデータ対象(data object)の初期化に関する。 2. 関連技術及び他の考察 アプリケーションプログラムを実行する時、計算機はしばしばデータ対象の値 を割当て及び/又は変更する。多くの場合において、データ対象は。データベー スの一部として記憶される。複数の計算機が一緒にネットワーク形成されるより 複雑なシステムにおいては、1つより多い計算機が一つのあるデータ対象にアク セスすることを要求するかも知れず、またそのデータ対象の値を変更又は更新す るかも知れない。この様な多重計算機がネットワーク形成される環境を賄うため に、複製されたデータベースシステムを確立することが出来る。複製されたデー タベースシステムにおいては、複製されたデータベース間の一貫性を維持するた め全部の他の計算機にデータ対象の変更が通知される限りにおいて各計算機はそ れ自身のデータベースのバージョンを維持することが出来る。 複製されたデータベースは、2つの主要な利点をもつている。第1の利点はフ オールトトレランスである。第2の利点は、複製されたデータベースへの局所ア クセスが、別の計算機におけるデータベースへの遠隔アクセスより速く且つ安価 であることである。 これらの利点にも拘らず。複製されたデータベースにおけるデータ対象の初期 化は複雑となり得る。例えば、一緒にネットワーク形成される2つの計算機N1 とN2を含む簡単な情況を仮定する。各計算機N1、N2は、そのデータベース のバージョンを持ち、計算機N1におけるデータベースのバージョンはDB1で あり、また計算機N2におけるデータベースのバージョンはDB2である。両方 の計算機N1及びN2が正常に機能していると、一方の計算機によるデータ対象 のいかなる変更もネットワークを通じて他方の計算機に通信され、そのためデー タベースDB1、DB2は同一に保持される。この様な変更及びデータ対象の更 新の交渉は、従来技術において、バーンシュタイン、P.A等のデータベースシ ステムにおける同時性制御及び回復、アデイソン ウエスレイ、1987に述べ られている様に2相コミット(two−phase commit)プロトコル を使用して(例えば)一般に行われる。 計算機N1は故障し、しかし計算機N2は動作し続け、そのデータベース内の データ対象の値を更新する情況を考える。それから計算機N2も引き続いて故障 し、結果として両方の計算機N1及びN2がダウンすると仮定する。データベー スDB2内のデータ対象の内容は、データベースDB1内の同じデータ対象の内 容より新しい。 計算機N1が再始動した時、計算機N1に対して、データベースDB1内に記 憶されているそのバージョンを使用してデータ対象に対する値を初期化しようと 試みることは誤りであろうし、その理由はより新しいデータは計算機N2により 保存されるデータベースDB2に存在するからである。しかし、計算機N1は、 計算機N1に利用出来る局所的情報のみに基づいてどのようにしてデータ対象を 初期化するか決定しなければならない。従って、計算機N1は、データ対象のよ り新しい値がデータベースDB1ではなくてデータベースDB2に存在すること を知らない。更に、この事を計算機N2について調査し又は交渉することは可能 ではなく、それは計算機N2は現在動作していないからである。 分散形データベースの初期化は、アッタR.等の「分散形データベースにおけ るサイトでの初期化、回復及びバックアップ」、ソフトウエア工学についてのI EEEトランザクション、Vol、10(6)、1983年11月、pp.64 5−650、及びスキーンD.等の「分散形システムにおける破壊回復の形式的 モデル」、ソフトウエア工学についてのIEEEトランザクション、1983年 5月、SE−9(3):219−228に詳しく説明されている。現在の初期化 計画は、一般に計算機間の協力と通信を要求するが、これは(前述の様に)常に 実行可能で現実的とは限らない。とくに問題なのは、複製されたデータベース環 境において、複製されたデータベースシステムの他の計算機が動作していない時 に第1の計算機においてどのようにしてデータ対象を初期化するかを決めること である。 電気通信の分野において、ダウン時間を最少にすることは極めて重要である。 従って、複製されたデータベースを使用して計算機システムを迅速に再始動する ことは最も重要である。 必要とされるもの、従って、また本発明の目的は、局所的情報のみを使用して 複製されたデータベースのデータ対象を初期化する方法及び装置である。 概要 複製されたデータベース環境において、全部のノードは、ネットワークを通じ てのノード状態メッセージの受信により相互の安泰をモニタする。一つのノード が最早生きていないことが検出されると、他のノードは、この様なノードは故障 したと推定する。ノード故障が検出されると、ノードダウン値を持つノード状態 記録が故障しているノードに関してノードログに書込まれる。同様に、一つのノ ードが生きになり又は新しいノードがネットワークに知られるようになると、ノ ードアップ(nodeup)値を持つノード状態記録がノードログ(node log)に書込まれる。局所ノードが故障し、次に再始動すると、その局所ノー ドは、複製されたデータ対象の値をどのようにして初期化するかを決定するため そのノードログの内容を使用する。そのノードログを読出すことにより局所ノー ドは、データ対象はそのデイスクから初期化出来るかどうかを決定出来る。 図面の簡単な説明 本発明の前述及び他の目的、特徴、及び利点は、付随する図面に示される様な 好ましい実施例のより特定した以下の記載から明らかになり、この図面において 参照符号は種々の図を通じて同じ部品を指す。図面は必ずしも縮尺で描いたもの ではなく、強調は代わりに発明の原理を示すことに置いている。 図1は、複製されたデータ対象が存在する2つのノードを含むネットワークの 概略図である。 図2は、図1のネットワークの一つのノードの概略図である。 図3は、本発明のデータ対象初期化手順において実行されるステップを示す流 れ図である。 図面の詳細な説明 以下の記載は、説明の目的で、限定のためではなく、本発明の完全な理解を提 供するため特別のアーキテクチャ、インタフェース、技術等の特定の詳細が述べ られている。しかし当業者には、本発明はこれらの詳細から逸脱する他の実施例 において実施できることは明白であろう。他の場合においては、周知の装置、回 路、及び方法の詳細な記載は、本発明の記載が不必要な詳細により不明確になら ないように省略した。 図1は、2つの例示的ノード30A及び30Bを含むネットワーク20を示し 、これらノードはまた別々にノード「A」及び「B」、また総称して「ノード3 0」として呼ばれる。各ノード30は、データ対象Xのそれ自身のバージョンを 持っている。特定的には、ノード30Aは、ハードデイスク32Aを持ち、その 中にデータ対象Xのバージョン、X−Aと呼ばれるものが記憶される。同様に、 ノード30Bは、ハードデイスク32Bを持ち、その中にデータ対象Xのバージ ョン、X−Bと呼ばれるものが記憶される。ここに採用されている様に、「デー タ対象」は、単一のデータ値を指し、又はしばしばデータベースにおいて起こる ようにデータの集合又はテーブルを指すことが出来る。 データ対象Xのバージョンは、ノード30A及び30Bの両方に記憶されるの で、一方のノードがデータ対象Xの値を更新すると、更新された値は他方のノー ドへ通信され、それで他方のノードも同様に更新された値を持つことが出来、こ れによりデータ対象Xの値の調整を維持する。この様な調整は、例えば2相コミ ットプロトコルの様な、分散形データベースに対する適切な更新又は交渉技術に より行うことが出来る。 各ノード30は、処理装置又はCPU40を含み、これは内部バス42により 多くの素子に接続される。内部バス42に接続される素子の示されたものは、リ ードオンリメモリ(ROM)43、ランダムアクセスメモリ(RAM)、デイス ク駆動機構(ディスクドライブ)インタフェース45、及びネットワークインタ フェース46を含む。デイスク駆動機構インタフェース45はデイスク駆動機構 50に接続される。ネットワークインタフェース46はネットワークリンク60 に接続され、これを通じてノード30A及び30Bが通信する。 ハードデイスク32は、ノード状態不可侵メモリ又は記憶媒体の1例である。 「ノード状態不可侵」により、メモリの内容は、ノードが故障し又は「ダウン」 状態になる時、影響されずに残ることを意味する。ノード状態不可侵メモリは、 1つの実施例においてハード磁気デイスクとして示されるが、他の形式のメモリ 、例えば光デイスク、磁気テープ等も含まれることを理解すべきである。 処理装置40は、オペレーテイングシステムにおける一組の命令を実行し、こ れは次に処理装置40が好ましくはハードデイスク32に記憶される種々のアプ リケーションプログラム70の実行を可能にする。本発明に対し特に関心のある のは、計算機製品において具体化され、データベース管理プログラム(DAMA P)72として知られる一組の命令である。データベース管理プログラム(DA MAP)72の動作の効果は、以下に述べる。データベース管理プログラム(D AMAP)72の顕著な面は、デイスク32に保存されるログ80の保守と利用 である。 図2は、ノード30Aをより詳細に且つ機能的見方から示している。これに匹 敵する構造及び機能性がネットワーク30の他のノード、例えばノード30Bに も存在することは理解されるであろう。 ノード30Aの処理装置40Aは、データベース管理プログラム(DAMAP )72Aを実行している時、メッセージエンコーダ/デコーダ100、状態メッ セージ発生器102、ログ更新器106、及びログ打切り器108の機能を遂行 する。メッセージエンコーダ/デコーダ100は、ネットワークインタフェース 46に接続され、ネットワークリンク60から受けたメッセージをデコードし、 ネットワークリンク60に向けられたメッセージをエンコードする。状態メッセ ージ発生器102は、第1のクロック信号を第1クロック120から受け、チャ ネルテーブルモニタ104は、第2のクロック信号を第2クロック122から受 ける。 ノード30Aは、それが首尾良く起動(booted up)され、全部のデ ータ対象が初期化された後は「アップ」状態にあり、正常に実行する過程にある 。アップ状態にある時、そして各クロック信号を第1クロック120から受ける と、状態メッセージ発生器は状態質問メッセージをネットワーク20のノードの 各々へ出す。これに応じて、「アップ」状態にあるネットワーク20のノード( 例えば、破壊又はダウンでない)は、従来のTCP/IPプロトコルを使用して 「生き」メッセージ(“alive”message)で応答する。夫々の他の ノードからの「生き」メッセージはメッセージエンコーダ/デコーダ100によ りデコードされ、そのノードに対する生きビットがチャネルテーブル130内に セットされる。 チャネルテーブル130は、ネットワークのノードに関する情報を記憶するた めに使用され、各ノードは異なるチャネルに対応し、それ故チャネルテーブル1 30内の異なるチャネルスロットに対応する。チャネルテーブル130は、5つ のノードに対して5つの潜在的スロットが示されるが、本実施例においては簡単 化のため唯1つの他のノード、即ちノード30B(「B」)が示される。チャネ ルテーブル130内の各チャネルスロットに記憶される情報は、そのノードに対 するネットワークアドレスを含む。従って、チャネルテーブル130内のアドレ スを使用して各クロック信号がクロック120から受信されると、状態メッセー ジ発生器102は状態質問メッセージを作成し、これはエンコードされ、ネット ワークインタフェース46Aを経由してネットワークリンク60へ印加される。 チャネルテーブル130内の各チャネルスロットに記憶される情報はまた、夫々 のノードに対する復帰状態(returned status)ビットを含む。 前述の様に、このビットは、夫々のノードからの「生き」メッセージの受信に従 ってセットされる。 チャネルテーブル130は、ROM43の中に維持することが出来る。代わり に、チャネルテーブル130の少なくとも復帰状態ビットは、処理装置40のレ ジスタの中に記憶できる。 クロック122により出される各クロック信号を使用して、チャネルテーブル モニタ104は、チャネルテーブル130の復帰ビット内容を取り出し、ノード のその状態を確認するため復帰ビットを読出し、テーブル130内のビットの各 各をリセットする。クロック122からのクロック信号の周波数は、クロック1 20からのクロック信号のそれよりもかなり低い。もしチャネルテーブルモニタ 104が、クロック122からのクロック信号を受けて、一つのノードに対する 復帰ビットが、そのリセットからセット状態へ変更されていないことを決定する と、その対応するノードはダウン(down)であると宣言される。例えば、も しチャネルテーブル130内のチャネルスロットBが、ノード30Bからの状態 質問メッセージに応じて未だセットされていないならば、ノード30Bは死んで いる(dead)と宣言される。 一つのノードがダウンであると決定されると、ログ更新器106は、ノード状 態記録(そのノードがダウンである事を示す)をログ80Aへ書き込む。ログ更 新器106により作成されるノード状態記録は、ノードの識別とノードの状態を 含む。1つの実施例において、ノード状態記録は、形式「{B、ノード状態}」 を持ち、そこに「B」はノードの識別子(即ち、ノードB[30B])、また「 ノード状態」は識別されたノードの状態を示す。例えば、もしノード30Bがダ ウンと宣言されると、「ノードダウン」ノード状態記録が、次の様にデイスク3 2Aに書き込まれる、即ち、{B、ノードダウン}。 テーブルモニタ104が、一つのノードが死んでいると宣言すると、それは更 に、その死んだノードの識別を死にノードテーブル140に記録する。死にノー ドテーブル140は好ましくはRAM44の中に記憶される。死にノードテーブ ル140が、ダウンノードを示す値をその中に記憶している時は、テーブルモニ タ104が死にノードテーブル140を調べ、チャネルテーブル130から復帰 ビットを受信すると、死にノードテーブル140にリストされているどれかのノ ードがアップ状態に復帰したかどうかを決定する。もしチャネルテーブル130 から拾った情報が、一つのノードがダウン状態からアップ状態へ変化したことを 示していれば、対応するノードの識別は死にノードテーブル140から除去され 、ノードアップ値を持つノード状態記録がログ80Aに書込まれる。 周期的に、ログ打切り器(log truncator)108はログ80A の内容を読出し、ログ80Aの記録がどれかのノードに関して除去出来るかどう かを決定する。例えば、もしログ80Aが、ある与えられたノードに対して同じ 数のノードダウンとノードアップ記録を持っていれば、ログ打切り器108はこ の様なノードに対する全部の記録を除去出来る。ログ打切り器108は従ってロ グ80Aに対する記憶を節約するのに役立つ。 前述は、ノード30Aの正常な動作について記載し、そこにノード30Aはモ ニタしており、適当な場合には、ネットワーク20の他のログの状態、特にノー ド30Bをログしている。ここでは特定して記載しないが、ノード40Aの処理 装置40Aにより実行される他のアプリケーションプログラムが値を取り出し、 修正し、そしてデータ対象X−Aを回復し、また値の修正をノード30Bへ通信 し、そのため更新された(修正された)データ対象Xの値がX−Bとしてデイス ク32B上へ記憶できることを理解すべきである。 さて、ノード30Aが破壊し、例えばダウン状態になり、次に、引き続いて再 始動する(例えば、アップ状態に復帰する)情況について説明する。この様な情 況において、処理装置40が直面する困難は、データ対象Xがアプリケーション プログラムにより次に要求される時に、どの値をデータ対象Xのために利用する かである。処理装置40は、データ対象xのそのバージョン、即ちX−Aが最も 最近のものであるか、又はデータ対象Xのためその値は、ネットワーク20の別 のノードから入手すべきであるかを決定することである。初期化手順として知ら れる、この様な情況において遂行される手順は、図3に示すステップに反映され ている。 ステップ3−1は、再始動されている、例えば、リセット又は再ブート(re booted)されるノード30Aを表す。再始動の後、処理装置40Aは、デ イスク32Aからログ80AをRAM44Aの中に読込む(ステップ3−2)。 上に示した様に、ログ80Aは、ネットワーク20の夫々のノードのためのノー ド状態記録を含み、これはノード30Aの死に先立って状態を変化させた(例え ばダウンがらアップへ又はアップからダウンへ)。ログ80Aは、ノード30A がダウンであった間に、ネットワーク20の他のノードにどの様な状態変化が発 生したかを知らない。 ステップ3−3において、処理装置40はノード30Bが死んでいる(ダウン )か又は生きている(アップ)かを決定する。この決定は、メッセージをノード 30Bへ送ることにより遂行され、ノード30Bが活動しているとしてデータ対 象Xを持つかどうかを問合わせる。「活動している(active)」とは、デ ータ対象Xのノードのバージョンが、現在の使用のためにノード状態不可侵メモ リからRAMの様なメモリの中へロードされたことを意味する。もしノード30 Bが答えなければ、処理装置40はノード30Bが死んでいると結論する。さも なければ、ノード30Bは、肯定的(即ち、データ対象Xは活動している)か、 又は否定的(即ち、データ対象Xは活動していない)かいずれかで答える。この 問合わせに対する答えは、ステップ3−4において採用され、データ対象Xがノ ード30Bにおいて活動している場合のステップ3−5への分岐か、又はデータ 対象Xがノード30Bにおいて活動していない場合のステップ3−6への分岐と なる。 もしデータ対象Xがノード30Bにおいて活動しているならば、処理装置40 Aは、データ対象Xの活動しているバージョンをノード30Bからステップ3− 5において、データ対象のコピーを複製されたデータベースにおいて入手する通 常の実行に従い入手する。 もしデータ対象Xがノード30Bにおいて活動していなければ、ステップ3− 6において処理装置40は、ノードBがログ80Aにおいて「ダウン」のログさ れた状態を持つかどうかを調べる。この様な場合が在り得るが、例えば、ノード Bが最初に死に、ノードAが更にデータ対象Xを操作し、ノードAがそこで死に 、そしてノードΛが再始動された前にノードBが再始動されたというシナリオで ある。もしノードBが、ログ80Aにおいて「ダウン」のログされた状態を持つ ならば、そこで処理装置は、データ対象Xの値として使用するためデータ対象X のバージョンX−Aをそれ自身のデイスク32Aから入手する(ステップ3−7 )。処理装置40はそこでノード30Bにデータ対象Xの初期化されたバージョ ンを通知するが(ステップ3−8)、これは特に、ノード30Bが最初に再始動 されたが、データ対象の最も最近の値を入手するためノードAの再始動を待たな ければならない情況において利益がある。 もしステップ3−6において、ノード30Bはログ80A内にログされた「ダ ウン」状態を持たないと決定され、しかもノード30Bは生きており、データ対 象Xを待ちかまえているならば、処理装置40Aは、ノードAとBの死は実質的 に同時に発生したと結論する。この様な事情のため、ステップ3−9において処 理装置40Aは、データ対象のコピーを、2つのノードA、Bのどちらでもそれ が好む方から入手する。大抵の情況において、データ対象のコピーを、ステップ 3−7に対して上に述べた方法の様に、それ自身のデイスクに記憶されるバージ ョンX−Aから入手するのがより容易であろう。次に処理装置40Aはノード3 0Bに通知する(ステップ3−8)。 もしステップ3−3において、ノード30Bは生きていない(例えば、ノード Bはダウン)と決定されると、処理装置40Aはステップ3−10において、ノ ードBはログ80Aにおいてダウンであると示されているかどうかを調べる。も しノードBが「ダウン」とログされた状態を持っていると、ステップ3−11に おいて処理装置40Aは、ステップ3−7と同じ方法で、データ対象の初期化さ れた値として使用するためバージョンX−Aをそのデイスク32Aから入手する 。ノードBはダウンであるので、データ対象の初期化された値をノードBへ通信 する必要はない。もし、他方、ノード30Bはログ80A内でダウンであると示 されていないならば、処理装置40Aは、データ対象Xは未だロード可能ではな いことを示さなければならない(ステップ3−12)。この様なことは、以下の シナリオにおいて発生し、即ち、ノードAが死ぬ最初のもので、ノードBがその 後データ対象の値を変更したかも知れず、ノードBがそこで死に(例えば、死ぬ 2番目のもの)、ノードAが最初に再始動され、そして次に(引き続いて)ノー ドBが再始動された。この様な場合、ノードAは、ステップ3−8においてノー ドAにより発生するメッセージと類似したノードBからのメッセージを待たなけ ればならなかったであろう。 簡単のために本発明は、2つのノード、即ちノード30Aと30Bを含むネッ トワークに関して上に説明したが、本発明は、より多くのノードを持つネットワ ークに容易に適用出来る。これに関して、以下に述べるのは、どの様な大きさの ネットワークにおいてもノードAにおいて本発明に従いデータ対称Xを初期化す るための一般化した論理である。ここで使用される用語「REPS」は、データ 対称Xの複製が存在する一組のノード(ノード30A以外)を指す。 「ACTIVE」は、現在走行している、即ち生きている一組の全部のノードで ある。「AREPS」は、現在走行しており且つまたデータ対称Xの複製を持つ 一組のノードである。「DOWNS」は、ノード30Aのログ80Aに従い、ノ ード30Aが死ぬ前に死んだ一組のノードである。「D2」は、組DOWNSと 組REPSの共通部分である。 ACTIVE情報は、初期化前に、チャネルテーブル130に関して上に述べ た方法でネットワークI/Oを使用して全部のノードの状態を調べることにより 入手される。上述の手順は、ACTIVE組が空であっても動作する。 もしデータ対称Xが既に、組AREPS内に含まれる一つのノードへロードさ れていれば、処理装置40Aは、ネットワークを通じてこの様なノードからデー タ対称Xのコピーを入手しさえすればよい。 もし、しかし、組D2が組REPSと同じであれば、処理装置40Aは、その ログ80Aが、データ対称Xの複製を保持する全部の他のノードに対する最後の 記録としてノードダウン記録を持っていることに気が付く。この場合、ノード3 0Aの処理装置40Aは、それがデータ対称Xを操作する最後であったことを了 解し、データ対称Xのための値をデイスク32Aに記憶されているそのバージョ ンからロード出来る。処理装置40Aはまた、AREPSの組内の全部の他のノ ードにネットフークを通じてデータ対称Xの初期化された値を通知する。 もし組REPSが組AREPSと同じであれば、処理装置40は、それらノー ドが同時に故障したと仮定する。どのノードも彼等の夫々のログの中に必要なノ ードダウンメッセージを発見することは出来ないであろう。この様なことは、( a)データ対象がネットワーク上で利用出来ないか、又は(b)データ対象の複 製を持つと想像される全部の他のノードが走行しているが、これらノードのどれ もロードされたデータ対象を持たないとき発生し得る。この様な情況において、 処理装置40Aは、同時の故障が発生したと結論することが出来、データ対象X をデイスクからロードするためどちらのノードも選ぶことが出来る。ノードの選 ばれた1つは、しかし、残りにノードに、彼等は今やデータ対象をネットワーク を通じてコピー出来ることを知らせる。 組REPSが組AREPSと同じでない情況においては、処理装置40Aはデ ータ対象を未だロードすることは出来ず、しかし代わりにどれか他のノードがデ ータ対象を彼等の夫々のデイスクから読出すことを決めるまで待たねばならない 。処理装置40Aは差し当たり単にデータ対象は未だロードされていないことを 示し、そして継続する。 本発明は、単純性と応用性の両方を持つ。本発明は、同時性制御アルゴリズム を採用しないデータ管理システムのために実施出来、またデータベースの多重複 製を維持するデータベースシステムに適用出来る。本発明は、例えば、そのデー タを複製するフォールトトレラント世界的ウエブ(WWW)サーバに適用出来る 。データ対象がWWWサーバに書込まれると何時でも、それは2つのノードに書 込まれる。この形式の応用において、全部の複製が、他のノードの走行を要求す ることなく、始動できることが重要である。 更に、2つのノードがデータ対象を複製している情況において、一方のノード が故障すると、他方のノードがその(いまや単一で)複製を更新することを継続 する。更新は安全に継続できるが、その理由は本発明は、譬えこの最後のノード が故障するとしても、正しいバージョンがそれにも拘らずロードされることを保 証するからである。 本発明は、その好ましい実施例に関し特別に示し且つ記載したが、発明の精神 及び範囲を逸脱することなく形式及び詳細において種々の変更がなされ得ること は当業者により理解されるであろう。
【手続補正書】特許法第184条の8第1項 【提出日】平成11年7月2日(1999.7.2) 【補正内容】 明細書 複製されたデータ対象の初期化 この発明は、同時に出願された「複製されたデータ対象のための残存クロック 」と題する米国特許出願一連番号第08/876,588号に記載された発明に 関する。前記出願の内容は、ここに引用することにより、本明細書の一部として 取り込むこととする。 背景 1. 発明の分野 この発明は、分散形又は複製形データベース(distributed or replicated database)に関し、特にこの様なデータベー スに保存されたデータ対象(data object)の初期化に関する。 2. 関連技術及び他の考察 アプリケーションプログラムを実行する時、計算機はしばしばデータ対象の値 を割当て及び/又は変更する。多くの場合において、データ対象は。データベー スの一部として記億される。複数の計算機が一緒にネットワーク形成されるより 複雑なシステムにおいては、1つより多い計算機が一つのあるデータ対象にアク セスすることを要求するかも知れず、またそのデータ対象の値を変更又は更新す るかも知れない。この様な多重計算機がネットワーク形成される環境を賄うため に、複製されたデータベースシステムを確立することが出来る。複製されたデー タベースシステムにおいては、複製されたデータベース間の一貫性を維持するた め全部の他の計算機にデータ対象の変更が通知される限りにおいて各計算機はそ れ自身のデータベースのバージョンを維持することが出来る。 複製されたデータベースは、2つの主要な利点をもつている。第1の利点はフ ォールトトレランスである。第2の利点は、複製されたデータベースへの局所ア クセスが、別の計算機におけるデータベースへの遠隔アクセスより速く且つ安価 であることである。 これらの利点にも拘らず。複製されたデータベースにおけるデータ対象の初期 化は複雑となり得る。例えば、一緒にネットワーク形成される2つの計算機N1 とN2を含む簡単な情況を仮定する。各計算機N1、N2は、そのデータベース のバージョンを持ち、計算機N1におけるデータベースのバージョンはDB1で あり、また計算機N2におけるデータベースのバージョンはDB2である。両方 の計算機N1及びN2が正常に機能していると、一方の計算機によるデータ対象 のいかなる変更もネットワークを通じて他方の計算機に通信され、そのためデー タベースDB1、DB2は同一に保持される。この様な変更及びデータ対象の更 新の交渉は、従来技術において、バーンシュタイン、P.A等のデータベースシ ステムにおける同時性制御及び回復、アデイソン ウエスレイ、1987に述べ られている様に2相コミット(two−phase commit)プロトコル を使用して(例えば)一般に行われる。 計算機N1は故障し、しかし計算機N2は動作し続け、そのデータベース内の データ対象の値を更新する情況を考える。それから計算機N2も引き続いて故障 し、結果として両方の計算機N1及びN2がダウンすると仮定する。データベー スDB2内のデータ対象の内容は、データベースDB1内の同じデータ対象の内 容より新しい。 計算機N1が再始動した時、計算機N1に対して、データベースDB1内に記 憶されているそのバージョンを使用してデータ対象に対する値を初期化しようと 試みることは誤りであろうし、その理由はより新しいデータは計算機N2により 保存されるデータベースDB2に存在するからである。しかし、計算機N1は、 計算機N1に利用出来る局所的情報のみに基づいてどのようにしてデータ対象を 初期化するか決定しなければならない。従って、計算機N1は、データ対象のよ り新しい値がデータベースDB1ではなくてデータベースDB2に存在すること を知らない。更に、この事を計算機N2について調査し又は交渉することは可能 ではなく、それは計算機N2は現在動作していないからである。 分散形データベースの初期化は、アッタR.等の「分散形データベースにおけ るサイトでの初期化、回復及びバックアップ」、ソフトウエア工学についてのI EEEトランザクション、Vol、10(6)、1983年11月、pp.64 5−650、及びスキーンD.等の「分散形システムにおける破壊回復の形式的 モデル」、ソフトウエア工学についてのIEEEトランザクション、1983年 5月、SE−9(3):219−228に詳しく説明されている。現在の初期化 計画は、一般に計算機間の協力と通信を要求するが、これは(前述の様に)常に 実行可能で現実的とは限らない。とくに問題なのは、複製されたデータベース環 境において、複製されたデータベースシステムの他の計算機が動作していない時 に第1の計算機においてどのようにしてデータ対象を初期化するかを決めること である。 JP−A−02059942は、分散形データベースのためのノード接続状態 管理システムを開示し、そこでは各ノードの接続状態は回復可能記憶装置内に別 のノードと共に記憶される。 電気通信の分野において、ダウン時間を最少にすることは極めて重要である。 従って、複製されたデータベースを使用して計算機システムを迅速に再始動する ことは最も重要である。 必要とされるもの、従つて、また本発明の目的は、局所的情報のみを使用して 複製されたデータベースのデータ対象を初期化する方法及び装置である。 概要 複製されたデータベース環境において、全部のノードは、ネットワークを通じ てのノード状態メッセージの受信により相互の安泰をモニタする。一つのノード が最早生きていないことが検出されると、他のノードは、この様なノードは故障 したと推定する。ノード故障が検出されると、ノードダウン値を持つノード状態 記録が故障しているノードに関してノードログ(node log)に書込まれ る。同様に、一つのノードが生きになり又は新しいノードがネットワークに知ら れるようになると、ノードアップ(nodeup)値を持つノード状態記録がノ ードログに書込まれる。 更新は安全に継続できるが、その理由は本発明は、譬えこの最後のノードが故障 するとしても、正しいバージョンがそれにも拘らずロードされることを保証する からである。 本発明は、その好ましい実施例に関し特別に示し且つ記載したが、形式及び詳 細において種々の変更がなされ得ることは当業者により理解されるであろう。 請求の範囲 独占的所有権又は特権が請求される発明の実施例は以下の様に定義される。 1. データ対象の値、及びネットワークの第2のノード(30B)のログされ た第2ノード状態を表すログ(80A)が維持され、前記データ対象は第2のノ ードにおいて複製されるようになつている、ノードに関して不可侵であるメモリ (32A)を含む、ネットワークのノード(30A)であって、 (1)前記ログを維持し、 (2)データ対象に対する値がノードにおいて変化すると、データ対象に対す る更新された値を第2のノードへ送り、 (3)第2のノードの状態を知らせる周期的メッセージを第2のノードから受 け取り、 (4)ノードの状態がダウン状態からアップ状態へ変化する時は、どの様にし てノードにおけるデータ対象を初期化するかを決定するため、前記ログされた第 2ノード状態を使用する処理装置(40A)を備えることを特徴とする、ネット ワークのノード。 2. 請求項1に記載の装置において、第2ノード状態がダウン状態であり、ま たログされた第2ノード状態がダウン状態であり、前記処理装置はデータ対象を メモリに維持された値を使用して初期化する、装置。 3. 請求項1に記載の装置において、第2ノード状態がダウン状態であり、ま たログされた第2ノード状態がアップ状態であり。前記処理装置はデータ対象を 初期化することが出来ない、装置。 4. 請求項1に記載の装置において、第2ノード状態がアップ状態であり、ま たログされた第2ノード状態がダウン状態であり、前記処理装置はデータ対象を メモリに維持された値を使用して初期化する、装置。 5. 請求項1に記載の装置において、第2ノード状態がアップ状態であり、ま たログされた第2ノード状態がアップ状態であり、前記装置はデータ対象のため の初期化値を第2のノードから入手する、装置。 6. 少なくとも2つのノード(30A、30B)を持つネットワークであって 、前記ネットワークは第1ノード(30A)及び第2ノード(30B)を有し、 前記第1ノードは、複製されたデータ対象のための第1ノード値(X−A)、 及びネットワークの第2ノードの第2ノードログ状態を表す第1ノードログ(8 0A)が維持され、ノードの状態に関して不可侵である第1ノードメモリ(32 A)を備え、 前記第2ノードは、複製されたデータ対象のための第2ノード値(X−B)、 及びネットワークの第1ノードの第1ノードログ状態を表す第2ノードログ(8 0B)が維持され、ノードの状態に関して不可侵である第2ノードメモリ(32 B)を備え、前記ネットワークは、 (1)前記第1ノードログを維持し、 (2)データ対象に対する値が第1ノードにおいて変化した時は、データ対 象に対する更新された値を第2ノードへ送り、 (3)第1ノードのアップ状態を通知する周期的メッセージを第2ノードへ 送り、 (4)第1ノードの状態がダウン状態からアップ状態へ変化する時は、デー タ対象の第1ノード値をどのように初期化するかを決定するためログされた第2 ノード状態を使用する、 第1ノード処理装置(40A)と、 (1)前記第2ノードログを維持し、 (2)データ対象に対する値が第2ノードにおいて変化した時は、データ対 象に対する更新された値を第1ノードへ送り、 (3)第2ノードのアップ状態を通知する周期的メッセージを第1ノードへ 送り、 (4)第2ノードの状態がダウン状態からアップ状態へ変化する時は、デー タ対象の第2ノード値をどのように初期化するかを決定するためログされた第1 ノード状態を使用する、 第2ノード処理装置(40B)と を備えることを特徴とする、ネットワーク。 7. プログラムメモリ(70A)内に記憶される一組のプログラムされた命令 を含む計算機プロダクト(DAMAP)であって、前記一組の命令は、ネットワ ークの第1ノード(30A)の処理装置(40A)により実行されると、 第1ノードがアップ状態を持つ間、前記ネットワークの第2ノード(30B) の第2ノード状態から周期的アップ状態メッセージを受信して、ログされた第2 ノード状態を第1ノードの状態に関して不可侵であるメモリ(80A)内に維持 するため前記周期的アップ状態メッセージを使用するステップと、 第1ノードの状態がダウン状態からアップ状態へ変化する時は、どの様に前記 第1ノードの不可侵メモリに維持された、前記第1ノードにおけるデータ対象( X−A)を初期化するかを決定するため前記ログされた第2ノード状態を使用す るステップと、 データ対象に対する値が第1ノードにおいて変化する時は、データ対象に対す る更新された値を第1ノードから第2ノードへ送るステップとを実行する、計算 機プロダクト。 8. 請求項7に記載の計算機プロダクトにおいて、前記一組のプログラムされ た命令の実行は、その結果として、 第2ノード状態がダウン状態であり且つログされた第2ノード状態がダウン状 態である時は、データ対象を不可侵メモリに維持された値を使用して初期化する ステップを更に実行する、計算機プロダクト。 9. 請求項7に記載の計算機プロダクトにおいて、前記一組のプログラムされ た命令の実行は、その結果として、 第2ノード状態がダウン状態であり且つログされた第2ノード状態がアップ状 態である時は、データ対象を初期化しないようにするステップを更に実行する、 計算機プロダクト。 10.請求項7に記載の計算機プロダクトにおいて、前記一組のプログラムされ た命令の実行は、その結果として、 第2ノード状態がアップ状態であり且つログされた第2ノード状態がダウン状 態である時は、データ対象を不可侵メモリに維持された値を使用して初期化する ステップを更に実行する、計算機プロダクト。 11.請求項7に記載の計算機プロダクトにおいて、前記一組のプログラムされ た命令の実行は、その結果として、 第2ノード状態がアップ状態であり且つログされた第2ノード状態がアップ状 態である時は、データ対象のための初期化値は第2ノードから入手するステップ を更に実行する、計算機プロダクト。 12.データ対象を複製されたデータベースシステム内に維持する方法であって 、 データ対象の調整された値(X−A、X−B)を第1ノード(30A)及び第 2ノード(30B)のノード状態不可侵メモリ内に維持するステップと、 第1ノード及び第2ノードのアップ状態を夫々示すメッセージを第1ノード及 び第2ノードにおいて周期的に発生してこれらメッセージを第1ノードと第2ノ ードの間で送信するステップと、 第1ノード及び第2ノードの各々の不可侵メモリ内にログ(80A、80B) を維持するステップにして、第1ノードのノードログにはログされた第2ノード 状態が記憶され、第2ノードのノードログにはログされた第1ノード状態が記憶 されるようにするステップと、 第1ノード及び第2ノードの一方がダウン状態を取得し且つその後ダウン状態 からアップ状態へ変化した時は、そのノードログを、どの様にデータ対象を初期 化するかを決定するために使用するステップと、 データ対象に対する値が第1ノード及び第2ノードの一方において変化した時 は、データ対象に対する更新された値を他方のノードへ送るステップとを有する 、データ対象を複製されたデータベースシステム内に維持する方法。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,ML,MR, NE,SN,TD,TG),AP(GH,GM,KE,L S,MW,SD,SZ,UG,ZW),EA(AM,AZ ,BY,KG,KZ,MD,RU,TJ,TM),AL ,AM,AT,AU,AZ,BA,BB,BG,BR, BY,CA,CH,CN,CU,CZ,DE,DK,E E,ES,FI,GB,GE,GH,GM,GW,HU ,ID,IL,IS,JP,KE,KG,KP,KR, KZ,LC,LK,LR,LS,LT,LU,LV,M D,MG,MK,MN,MW,MX,NO,NZ,PL ,PT,RO,RU,SD,SE,SG,SI,SK, SL,TJ,TM,TR,TT,UA,UG,UZ,V N,YU,ZW

Claims (1)

  1. 【特許請求の範囲】 独占的所有権又は特権が請求される発明の実施例は以下の様に定義される。 1. ネットワークのノードであって、 データ対象の値、及びネットワークの第2のノードのログされた第2ノード状 態を表すログが記憶され、前記データ対象は第2のノードにおいて複製されるよ うになっている、ノードに関して不可侵であるメモリと、 前記ログを維持し、ノードの状態がダウン状態からアップ状態へ変化すると、 前記ログされた第2ノード状態を使用してどの様にしてデータ対象を初期化する かを決定する処理装置と、を包含するネットワークのノード。 2. 請求項1に記載の装置において、第2ノード状態がダウン状態であり、ま たログされた第2ノード状態がダウン状態であり、処理装置はデータ対象をメモ リに記憶された値を使用して初期化する、装置。 3. 請求項1に記載の装置において、第2ノード状態がダウン状態であり、ま たログされた第2ノード状態がアップ状態であり、処理装置はデータ対象を初期 化することが出来ない、装置。 4. 請求項1に記載の装置において、第2ノード状態がアップ状態であり、ま たログされた第2ノード状態がダウン状態であり、処理装置はデータ対象をメモ リに記憶された値を使用して初期化する、装置。 5. 請求項1に記載の装置において、第2ノード状態がアップ状態であり、ま たログされた第2ノード状態がアップ状態であり。処理装置はデータ対象のため の初期化値を第2のノードから入手する、装置。 6. 少なくとも2つのノードを持つネットフークであって、前記ネットワーク は第1ノード及び第2ノードを有し、 前記第1ノードは、 複製されたデータ対象のための第1ノード値、及びネットワークの第2ノー ドの第2ノードログ状態を表す第1ノードログが記憶され、ノードの状態に関し て不可侵である第1ノードメモリと、 前記第1ノードログを維持し、第1ノードの状態がダウン状態からアップ状 態へ変化すると、前記ログされた第2ノード状態を使用してデータ対象の第1ノ ード値をどのように初期化するかを決定する第1ノード処理装置とを有し、 前記第2ノードは、 複製されたデータ対象のための第2ノード値、及びネットワークの第1ノー ドの第1ノードログ状態を表す第2ノードログが記憶され、ノードの状態に関し て不可侵である、第2ノードメモリと、 前記第2ノードログを維持し、第2ノードの状態がダウン状態からアップ状 態へ変化すると、前記ログされた第1ノード状態を使用してデータ対象の第2ノ ード値をどのように初期化するかを決定する第2ノード処理装置とを有する、ネ ットワーク。 7. プログラムメモリ内に記憶される一組のプログラムされた命令を含む、計 算機プロダクトであって、前記一組の命令は、ネットワークの第1ノードの処理 装置により実行されると、 前記ネットワークの第2ノードの第2ノード状態を確認し、前記第1ノードが アップ状態にある間に、ログされた第2ノード状態を、第1ノードの状態に関し て不可侵であるメモリ内に記憶するステップと、 前記ノードの状態がダウン状態からアップ状態へ変化する時、どの様にデータ 対象を初期化するかを決定するため、前記ログされた第2ノード状態を使用する ステップとを実行し、前記データ対象もまた前記不可侵メモリに記憶される、計 算機プロダクト。 8. 請求項7に記載の計算機プロダクトにおいて、前記一組のプログラムされ た命令の実行は、その結果として 第2ノード状態がダウン状態であり且つログされた第2ノード状態がダウン状 態である時は、データ対象を不可侵メモリに記憶された値を使用して初期化する ステップを更に実行する、計算機プロダクト。 9. 請求項7に記載の計算機プロダクトにおいて、前記一組のプログラムされ た命令の実行は、その結果として、 第2ノード状態がダウン状態であり且つログされた第2ノード状態がアップ状 態である時は、データ対象を初期化しないようにするステップを更に実行する計 算機プロダクト。 10.請求項7に記載の計算機プロダクトにおいて、前記一組のプログラムされ た命令の実行は、その結果として、 第2ノード状態がアップ状態であり且つログされた第2ノード状態がダウン状 態である時は、データ対象を不可侵メモリに記憶された値を使用して初期化する ステップを更に実行する、計算機プロダクト。 11.請求項7に記載の計算機プロダクトにおいて、前記一組のプログラムされ た命令の実行は、その結果として、 第2ノード状態がアップ状態であり且つログされた第2ノード状態がアップ状 態である時は、データ対象のための初期化値は第2ノードから入手するステップ を更に実行する、計算機プロダクト。 12.データ対象を複製されたデータベースシステム内に維持する方法であって 、 データ対象の調整された値を第1ノード及び第2ノードのノード状態不可侵メ モリ内に維持するステップと、 第1ノード及び第2ノードのアップ状態を夫々示すメッセージを第1ノード及 び第2ノードにおいて周期的に発生するステップと、 第1ノード及び第2ノードの各々の不可侵メモリ内にログを維持し、第1ノー ドのノードログにはログされた第2ノード状態が記憶され、第2ノードのノード ログにはログされた第1ノード状態が記憶されるようにするステップと、 第1ノード及び第2ノードの一方がダウン状態を取得し且つその後ダウン状態 からアップ状態へ変化した時は、そのノードログを、どの様にデータ対象を初期 化するかを決定するために使用するステップとを有する、データ対象を複製され たデータベースシステム内に維持する方法。
JP50425399A 1997-06-16 1998-05-29 複製されたデータ対象の初期化 Pending JP2002504249A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/876,587 US5995981A (en) 1997-06-16 1997-06-16 Initialization of replicated data objects
US08/876,587 1997-06-16
PCT/SE1998/001028 WO1998058316A1 (en) 1997-06-16 1998-05-29 Initialization of replicated data objects

Publications (1)

Publication Number Publication Date
JP2002504249A true JP2002504249A (ja) 2002-02-05

Family

ID=25368080

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50425399A Pending JP2002504249A (ja) 1997-06-16 1998-05-29 複製されたデータ対象の初期化

Country Status (9)

Country Link
US (1) US5995981A (ja)
EP (1) EP0988597B1 (ja)
JP (1) JP2002504249A (ja)
KR (1) KR20010013779A (ja)
AU (1) AU8045298A (ja)
BR (1) BR9810132A (ja)
CA (1) CA2294035C (ja)
DE (1) DE69804099T2 (ja)
WO (1) WO1998058316A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006206A (en) * 1997-09-08 1999-12-21 Reuters Limited Data health monitor for financial information communications networks
US6651183B1 (en) * 1999-10-28 2003-11-18 International Business Machines Corporation Technique for referencing failure information representative of multiple related failures in a distributed computing environment
US20030005091A1 (en) * 2001-06-29 2003-01-02 International Business Machines Corporation Method and apparatus for improved monitoring in a distributed computing system
US6954752B2 (en) * 2001-07-19 2005-10-11 International Business Machines Corporation Methods and apparatus for clustering and prefetching data objects
US7675854B2 (en) 2006-02-21 2010-03-09 A10 Networks, Inc. System and method for an adaptive TCP SYN cookie with time validation
US8312507B2 (en) 2006-10-17 2012-11-13 A10 Networks, Inc. System and method to apply network traffic policy to an application session
US20090132534A1 (en) * 2007-11-21 2009-05-21 Inventec Corporation Remote replication synchronizing/accessing system and method thereof
US9960967B2 (en) 2009-10-21 2018-05-01 A10 Networks, Inc. Determining an application delivery server based on geo-location information
US9215275B2 (en) 2010-09-30 2015-12-15 A10 Networks, Inc. System and method to balance servers based on server load status
US9609052B2 (en) 2010-12-02 2017-03-28 A10 Networks, Inc. Distributing application traffic to servers based on dynamic service response time
DE102011018878B3 (de) * 2011-04-28 2012-09-27 Deutsches Zentrum für Luft- und Raumfahrt e.V. Verfahren zum Synchronisieren der Datenbestände von Datenbanken
US8897154B2 (en) 2011-10-24 2014-11-25 A10 Networks, Inc. Combining stateless and stateful server load balancing
US9094364B2 (en) 2011-12-23 2015-07-28 A10 Networks, Inc. Methods to manage services over a service gateway
US10044582B2 (en) 2012-01-28 2018-08-07 A10 Networks, Inc. Generating secure name records
US9705800B2 (en) 2012-09-25 2017-07-11 A10 Networks, Inc. Load distribution in data networks
US10021174B2 (en) 2012-09-25 2018-07-10 A10 Networks, Inc. Distributing service sessions
US9843484B2 (en) 2012-09-25 2017-12-12 A10 Networks, Inc. Graceful scaling in software driven networks
US10002141B2 (en) * 2012-09-25 2018-06-19 A10 Networks, Inc. Distributed database in software driven networks
US9531846B2 (en) 2013-01-23 2016-12-27 A10 Networks, Inc. Reducing buffer usage for TCP proxy session based on delayed acknowledgement
US9900252B2 (en) 2013-03-08 2018-02-20 A10 Networks, Inc. Application delivery controller and global server load balancer
US9992107B2 (en) 2013-03-15 2018-06-05 A10 Networks, Inc. Processing data packets using a policy based network path
US10038693B2 (en) 2013-05-03 2018-07-31 A10 Networks, Inc. Facilitating secure network traffic by an application delivery controller
US10230770B2 (en) 2013-12-02 2019-03-12 A10 Networks, Inc. Network proxy layer for policy-based application proxies
US9942152B2 (en) 2014-03-25 2018-04-10 A10 Networks, Inc. Forwarding data packets using a service-based forwarding policy
US9942162B2 (en) 2014-03-31 2018-04-10 A10 Networks, Inc. Active application response delay time
US9906422B2 (en) 2014-05-16 2018-02-27 A10 Networks, Inc. Distributed system to determine a server's health
US9992229B2 (en) 2014-06-03 2018-06-05 A10 Networks, Inc. Programming a data network device using user defined scripts with licenses
US10129122B2 (en) 2014-06-03 2018-11-13 A10 Networks, Inc. User defined objects for network devices
US9986061B2 (en) 2014-06-03 2018-05-29 A10 Networks, Inc. Programming a data network device using user defined scripts
US10581976B2 (en) 2015-08-12 2020-03-03 A10 Networks, Inc. Transmission control of protocol state exchange for dynamic stateful service insertion
US10243791B2 (en) 2015-08-13 2019-03-26 A10 Networks, Inc. Automated adjustment of subscriber policies
CN109391510B (zh) * 2018-08-13 2021-12-10 杭州复杂美科技有限公司 一种故障节点检测方法及系统、设备和可存储介质
CN110932918B (zh) * 2019-12-26 2023-01-10 远景智能国际私人投资有限公司 日志数据采集方法、装置及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0259942A (ja) * 1988-08-26 1990-02-28 Hitachi Ltd 分散データベースシステムのノード結合状態管理方式
JPH02287858A (ja) * 1989-04-28 1990-11-27 Toshiba Corp 分散処理システムのリスタート方式
US5440727A (en) * 1991-12-18 1995-08-08 International Business Machines Corporation Asynchronous replica management in shared nothing architectures
US5544359A (en) * 1993-03-30 1996-08-06 Fujitsu Limited Apparatus and method for classifying and acquiring log data by updating and storing log data
CA2172517C (en) * 1993-09-24 2000-02-15 Sandeep Jain Method and apparatus for data replication
US5687363A (en) * 1994-03-30 1997-11-11 Siemens Stromberg-Carlson Distributed database architecture and distributed database management system for open network evolution
US5608865A (en) * 1995-03-14 1997-03-04 Network Integrity, Inc. Stand-in Computer file server providing fast recovery from computer file server failures

Also Published As

Publication number Publication date
WO1998058316A1 (en) 1998-12-23
CA2294035A1 (en) 1998-12-23
EP0988597A1 (en) 2000-03-29
EP0988597B1 (en) 2002-03-06
BR9810132A (pt) 2000-08-08
DE69804099D1 (de) 2002-04-11
KR20010013779A (ko) 2001-02-26
DE69804099T2 (de) 2002-08-22
US5995981A (en) 1999-11-30
CA2294035C (en) 2004-10-26
AU8045298A (en) 1999-01-04

Similar Documents

Publication Publication Date Title
JP2002504249A (ja) 複製されたデータ対象の初期化
AU711220B2 (en) Method of commitment in a distributed database transaction
EP1019822B1 (en) Highly-available cluster configuration database
US7743036B2 (en) High performance support for XA protocols in a clustered shared database
CN100440155C (zh) 用于创建虚拟数据拷贝的方法和系统
CN101809558B (zh) 远程异步数据复制系统和方法
EP1131715B1 (en) Distributed transactional processing system and method
EP0988596B1 (en) Method and system for recovery in a partitioned shared nothing database system using virtual shared disks
US6532494B1 (en) Closed-loop node membership monitor for network clusters
US6363495B1 (en) Method and apparatus for partition resolution in clustered computer systems
US8086661B2 (en) Method for resolving collisions in a database replication system by relaxing a constraint that contributes to collisions, or removing the cause of the constraint that contributes to the collisions
US7693882B2 (en) Replicating data across the nodes in a cluster environment
CN103703464B (zh) 用于分布式配置管理的方法及装置
US20130110781A1 (en) Server replication and transaction commitment
US10366106B2 (en) Quorum-based replication of data records
US20030050930A1 (en) Method and apparatus for lockstep data replication
US20080177741A1 (en) Maintaining item-to-node mapping information in a distributed system
WO2002088946A2 (en) Resource action in clustered computer system incorporating prepare operation
US7228352B1 (en) Data access management system in distributed processing system
US6212595B1 (en) Computer program product for fencing a member of a group of processes in a distributed processing environment
CN115098229A (zh) 事务处理方法、装置、节点设备及存储介质
CN113010549A (zh) 基于异地多活系统的数据处理方法、相关设备及存储介质
JP2004164401A (ja) データベースシステム、センタサーバ及びデータベースのアクセス方法
CA2167632A1 (en) Apparatus and method for efficient transfer of data and events between processes and between processes and drivers in a parallel, fault tolerant message based operating system
US6192443B1 (en) Apparatus for fencing a member of a group of processes in a distributed processing environment