JPH10187519A - 分配システムの競合を防止する方法 - Google Patents

分配システムの競合を防止する方法

Info

Publication number
JPH10187519A
JPH10187519A JP9161746A JP16174697A JPH10187519A JP H10187519 A JPH10187519 A JP H10187519A JP 9161746 A JP9161746 A JP 9161746A JP 16174697 A JP16174697 A JP 16174697A JP H10187519 A JPH10187519 A JP H10187519A
Authority
JP
Japan
Prior art keywords
token
server
requester
data item
copy
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
JP9161746A
Other languages
English (en)
Inventor
Narain H Gehani
エッチ.ジェハニ ナライン
Alex Kononov
コノノヴ アレックス
Michael Rabinovich
ラビノヴィッチ マイケル
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
AT&T Corp
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 AT&T Corp filed Critical AT&T Corp
Publication of JPH10187519A publication Critical patent/JPH10187519A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2308Concurrency control
    • G06F16/2336Pessimistic concurrency control approaches, e.g. locking or multiple versions without time stamps
    • G06F16/2343Locking methods, e.g. distributed locking or locking implementation details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • 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

Abstract

(57)【要約】 (修正有) 【課題】 分配処理システム、特に、分配システム内部
において同じデータ項目のコピーのなかでの競合を防止
する方法に関する。 【解決手段】 データベース・レプリカをもつシステム
のサーバは、トークンに各々付随するトークン・ポイン
タを備えている。トークン・ポインタは、トークンの今
の所有者を追跡するために用いられる。サーバがトーク
ンを受信する又は転送すると、必ずその対応するトーク
ン・ポインタは、どのサーバがトークンを所有している
かについて反映するために更新される。トークン・ポイ
ンタの使用は、消失したトークンを再び作成するため
に、サーバによる大規模な相互動作の必要性を好都合に
解消する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、分配処理システム、特
に、分配システム内部において同じデータ項目のコピー
のなかでの競合を防止する方法に関する。
【0002】
【従来技術】分配システムでは、データ項目へのアクセ
スが、しばしばデータベース・サーバから促される。デ
ータベース・サーバは、データベースにグループ化した
データ項目を保存する。パーソナル・コンピュータのよ
うに、クライアント・ステーション上で実行するアプリ
ケーションは、対応するデータベースを保存するデータ
ベース・サーバに接続すると、データ項目にアクセスで
きる。分配システムに関係する共通の問題として、一部
のクライアントがサーバから非常に離れて地理的に位置
することにある。これらのクライアントによるデータベ
ースへのアクセスは、距離的に離れた接続、例えば、ダ
イアルアップ接続によって一般的に行われている。距離
的に離れた接続は長距離電話料金を要求することにな
り、コストが上昇する結果になる。また、距離的に離れ
た接続は、システム応答時間を長くする傾向を示し、シ
ステムの性能を低下させることになる。分配システムの
性能を高めて、そのコストを低減するために、データベ
ースのコピー又はレプリカが、各々種々のグループのク
ライアントの近くに好都合に位置する、多重サーバ上で
保存される。このようなシステムは、レプリカ分配シス
テムと呼ばれている。
【0003】
【発明が解決しようとする課題】しかし、同じデータ項
目の多重コピーの存在は、コピー間の競合を防止するた
めに、データベース管理プロトコルを必要とする。ここ
で用いる“競合”という用語は、同じデータ項目の2つ
以上のコピーが異なる状態修飾を各々含んでいる状況を
意味している。ある競合の発生を防止する技術は、同じ
データ項目に対する全ての変更が、直列化されて、最新
のバージョンに常に適用されることを保証することにあ
る。これは、同じデータ項目の全てのコピーに対して、
変更を行う許可として、独自のトークンを指定すること
を意味している。従って、システムのトークンの数は、
データベース・レプリカのデータ項目の数と等しい。サ
ーバが特定のデータ項目に付随するトークンを所有して
いない限り、それは、そのデータ項目に対する状態修飾
を実施できない。
【0004】トークン・ベース・システムの問題は、ト
ークン転送中におけるサーバ異常又は通信遅延の結果と
して、トークンが消失することにある。消失されたトー
クンの回復には、システムによるトークンの再作成が必
要になる。従来のトークン再作成技術は、S.Nish
ioと、K.F.Liと、E.G.Manningの
“コンピュータ・ネットワークにおける相互排除のため
の中断ベース障害許容性トークン転送演算”1989年
度の分配計算システムに関するIEEE国際会議の議事
録、386〜393頁(発行ベース再作成)に記してあ
るように、データ項目の最新のコピーを有するサーバを
確認して、どのサーバがトークンを再作成するかについ
て認可するために、分配合意プロトコルを実行すること
である。これは、サーバ間で発行メッセージの様々な交
換を要求するので、ネットワークのメッセージ量が増加
することになる。このようなプロトコルは、特に狭い帯
域幅のネットワーク(又はネットワークがその帯域幅の
限度で又はその近くで作動している)又はネットワーク
接続のための通信コストが高い場合に、非現実的になる
ことが明らかである。そのうえ、発行再作成プロトコル
は、システムのサーバのなかで大規模な相互動作を要求
するので、これは、トークンの再作成が可能になる前
に、ネットワークが同時に作動しなければならないこと
を意味する。従って、1つ又は複数のサーバを使用でき
ないことが、トークンを再び作成する際に問題を生じる
ことになる。また、これらのプロトコルは、トークンが
再び作成されている時に、システムの全てのサーバを、
それらの正規の動作から強制的に中断させることにな
る。前述の問題から、トークン・ベース・プロトコルを
改善する必要があることが明らかである。
【0005】
【課題を解決するための手段】異なるサーバに位置する
データベースのコピーを有するレプリカ分配システムに
は、異なるサーバに常駐する同じデータ項目のコピー間
の競合を防止するトークン・ベース・プロトコルが設け
てある。ここで、“サーバ”という用語は、データベー
ス・レプリカをもつサーバだけでなく、競合が防止され
るサーバも意味して用いられる。プロトコルは、サーバ
間で大規模な相互動作を必要とせずに、消失したトーク
ンの再作成を好都合に可能にする。この長所は、サーバ
にトークン・ポインタを呈して、トークンを処理するサ
ーバを追跡して行われる。ある実施例では、トークン・
ポインタがシステムの各々トークンに付随している。
【0006】サーバがトークンを別のサーバから受信す
る又は送るたびに、それは、トークンに付随するそのト
ークン・ポインタを更新して、そのトークンの今の所有
者を確認する。プロトコルは、ある事例では、どのサー
バが実際にトークンを所有しているかについて、トーク
ンを要請したサーバ(サーバa)に必ずしも知らせな
い。例えば、要請サーバのトークン・ポインタで確認し
たサーバ(サーバb)が要請サーバ以外の別のサーバ
(サーバc)にトークンを後で転送する場合、サーバa
のトークン・ポインタは、トークンを実際に所有するサ
ーバをもう指示しない。この場合、サーバbが、サーバ
aのためにサーバcからトークンを要請する。ある実施
例によれば、サーバcは、本来のトークン要請者であ
る、サーバaにトークンを送る、サーバbにそれを送
る。従って、トークン・ポインタは、トークン要請者
に、関連事項を、直接的又は間接的に(中間サーバを介
して)、対応するトークンを処理するサーバに呈する。
【0007】プロトコルは、トークン要請中の任意の時
に多くて2つのサーバ、すなわち、トークン要請を発行
するサーバ(要請者)とトークン要請を受信するサーバ
(被要請者)とを対象にしている。この特長により、ど
のサーバがトークンを有しているかについて決定するた
めに、システムのサーバにメッセージを発行する必要が
なくなる。更に、プロトコルは、要請者又は被要請者が
他の者がトークンを有している又は誰も有していないと
考える時に、トークンが消失したと決定する。トークン
が消失すると、それは要請者又は被要請者のいずれかに
最後に存在していたことになる。ある実施例によれば、
データ項目の新しいコピーを所有するサーバが、トーク
ンを最後に有していたサーバになり、トークンを再び作
成する責任を有している。このように、消失したトーク
ンを再び作成することは、要請者と被要請者とを対象に
する必要があるだけである。従って、プロトコルは、シ
ステムのサーバ間における大規模な相互動作の必要性を
なくする。
【0008】
【実施例】本発明は、競合を防止するトークン・ベース
・プロトコルに関する。プロトコルは、データベース・
レプリカをもつ全てのサーバの消失した大規模な相互動
作の必要性なしに、トークンが消失した後のトークンの
効果的な再作成を呈する。前述のように、従来のトーク
ン・ベース・プロトコルは、全てのサーバだけでなく、
トークン消失後にトークンを再び作成するためにメッセ
ージを発行する幾つかの構成要素による、両者の大きな
関連動作を必要とする。これは、コスト上昇とシステム
停止とをまねく結果になる。
【0009】図1は、従来のレプリカ分配システム10
0を単純に示している。このシステムは、1992年に
McGraw−Hill,Inc.,のBersonの
クライアント/サーバの構造に記載してあり、ここに全
ての目的のために引例を用いて包含されている。分配シ
ステム100は、通信リンク150a〜150fにより
互いにネットワーク化されたサイト110、120、1
30、140を備えている。通信リンクの物理的な構成
は重要でない。例えば、通信リンクは、地理的に分散し
て位置するサイトを相互に接続するローカル・エリア・
ネットワーク(LAN)又はワイド・エリア・ネットワ
ーク(WAN)になる。サイトは“緩やかに接続されて
いる”すなわち、ダイアルアップ接続又は衛星リンクの
ような無線接続を介して接続されている。
【0010】図2は、分配システムの典型的なサイト2
00を示す。図のように、サイトは、LAN、MAN、
又はWANによりサーバ210にネットワーク化された
複数のクライアント240a〜240cを含んでいる。
クライアントは、例えば、パーソナル・コンピュータや
ワークステーション又はターミナルになる。他のクライ
アント(図示せず)も遠隔リンクを介して接続できる。
クライアントは、特定のサイトに付随して図示してある
が、それらは、モデムを用いるダイアルアップ接続のよ
うな遠隔リンク、衛星リンクのような無線接続、又はイ
ンターネットを介する接続を用いて、システム内の他の
サイトの他のサーバに接続できることが分かる。更に、
クライアントは互いに類似する又は異なる構成になる場
合もあり、他のクライアント(図示せず)が必要におう
じて含まれる場合もあることが分かる。そのうえ、1つ
又は複数のクライアントがサーバに位置する場合もあ
る。サーバ210は、ある実施例では、データ保存のた
めに磁気ディスク又は光ディスクのような不揮発性記憶
装置225を搭載する、メインフレーム・コンピュータ
・システム、ワークステーション、又はパーソナル・コ
ンピュータになる。記憶装置225に保存するデータ
は、データベースと呼ばれる1つ又は複数のグループに
編成したデータ・ファイルを含んでいる。データベース
の各々個々のデータ・ファイルが、データ項目と呼ばれ
る。
【0011】図1を再び見ると、同じデータベースのコ
ピー又はレプリカが、サイト110、120、130、
140に位置するサーバのメモリに保存されている。単
純にするために、サーバ110、120、130を、各
々、サイト110、120、130、140に位置する
サーバと呼ぶ。更に、各々サイトのサーバをノードと呼
ぶ場合もある。種々のノードのクライアントは、ユーザ
にサーバと通信するインタフェースを呈して、データ項
目を読み取って更新する。“更新”は、1つ又は複数の
データ項目を変える動作を意味する。更新があるレプリ
カに対して行われると、これらの更新事項がレプリカの
他のサーバに伝送され、全てのレプリカが互いに一致す
ることになる。MA(マサチューセッツ州)のCamb
ridgeのLotus Development C
orporationが1993年にロータス・ノート
・リリース3アプリケーション開発者参考マニュアルに
記載していた従来の更新伝送技術が、レプリカの一致性
を維持するために採用できる。
【0012】一般的に、更新事項の伝送は、発信源と受
信サーバとの間でスケジュールに基づいて行われる。発
信源又は受信サーバは、発信源レプリカのデータ項目の
どのコピーが、受信レプリカにおいて、それらの対応す
るコピーより新しいかについて確認する。発信源サーバ
は、新しいコピー又は更新事項を受信サーバに伝える。
同じデータ項目のどのコピーが新しいかについての確認
を促すために、1979年の動作システム原理に関する
第7回ACM SIGOPSシンポジウムの議事録、1
50〜159頁、D.K.Giffordの“レプリカ
・データの重み設定”に記載してあるバージョン数のよ
うなバージョン情報が、又はデータ項目のバージョンを
確認する他の技術が、用いられている。バージョン情報
はデータ項目に付随している。データ項目のコピーが変
わるたびに、その対応するバージョン情報も更新され
る。同じデータ項目の2つのコピーのバージョン情報を
比較すると、どのコピーが新しいかについて決定でき
る。サーバが別のサーバからデータ項目の新しいコピー
を入手するたびに、それは、データ項目のそのコピーに
付随するバージョン情報も入手する。
【0013】本発明のプロトコルによれば、データベー
ス・レプリカを有するシステムのサーバは、各々トーク
ンに付随するポインタを維持している。これらのポイン
タは、ここではトークンホルダと呼ぶことにする。トー
クンの数はレプリカのデータ項目の数と等しいので、各
々サーバのトークンホルダの数もデータ項目の数と等し
い。プロトコルの説明を単純にするために、図の実施例
は、サーバごとに1つのトークンホルダ(すなわち、デ
ータベース・レプリカごとに1つのデータ項目)を用い
て説明される。しかし、プロトコルはデータ項目ごとに
適用されることが分かる。また、説明を容易にするため
に、添字の変数(例えば)を用いて、システムの任意の
サーバと、その対応する要素とを示すことにする。
【0014】ポインタは、トークンを処理するサーバを
追跡するために用いる。ある実施例では、トークンホル
ダiは、(1)サーバiがトークンを送ったサーバを、
又は(2)サーバiがトークンを有する場合に自らを確
認する。サーバiは、トークンを転送する又は受信する
たびに、トークンホルダiの状態を変える。例えば、サ
ーバ110がトークンをサーバ120に送った後に、ト
ークンホルダ110は、サーバ120のサーバ確認(S
ID)のように、サーバ120を確認する情報を含み、
トークンホルダ120はそれ自体のSIDを含むことに
なる。
【0015】サーバiに接続したクライアントが、例え
ば、サーバiのデータ項目xのサーバiのコピーを更新
する要請を送る時に、それは、それがxに付随するトー
クンを有するかどうかについて決定する。サーバiがト
ークンを有している場合、それは更新要請を処理する。
そうでない場合、サーバiは、トークン要請メッセージ
を、トークンホルダiで確認したサーバ(サーバa)に
送る。サーバaがトークンを有していない場合、サーバ
aは、そのトークンホルダaを調べて、トークン要請メ
ッセージをサーバb(トークンホルダbで確認した)に
サーバiのために送る。この要請チェーンは、トークン
を処理するサーバに届くまで続く。サーバbがトークン
を有していると想定すると、サーバbのためのプロトコ
ル・コールのある実施例は、トークンをサーバaに送
り、サーバaはトークンをサーバiに送る。各々サーバ
によるトークンの転送後、その各々トークンホルダが適
切に更新される。その結果、トークンホルダbがサーバ
aのSIDを含むことになり、トークンホルダaとトー
クンホルダiはサーバiのSIDを含むことになる。
【0016】前述の説明から明らかなように、トークン
ホルダiは、ある事例では、真にトークンの所有者であ
る、サーバiに必ずしも知らせない。しかし、ポインタ
は、少なくとも、関連事項を、トークンを実際に保持す
るサーバに呈する。ポインタを更新するこの技術は、要
請サーバが、中間サーバを介して間接的に又は直接的
に、所有者からトークンを入手することを可能にする。
このように、トークン要請は、メッセージ・システムに
広く発行せずに、且つトークン所有者がメッセージに応
答することを待たずに処理される。例えば、サーバ異常
中における情報の消失を避けるために、トークンホルダ
は、サーバの不揮発性メモリに保存される。
【0017】トークンが消失する場合に、要請チェーン
は、システムのサーバがトークンを有していないので、
いつまでも続く。事実上、要請者は被要請者がトークン
を有していると考える状態か、その逆の状態か、又は両
者が有していない状態になる。ここで、システムは、ト
ークンが消失したことに気づく。更に、トークンは、要
請者と被要請者のいずれかに最後に存在していたことに
なる。これがそのケースなので、トークンの再作成は、
これらの2つのサーバを対象にするだけである。xの新
しいバージョンを所有するサーバが、トークンを最後に
有していたサーバである。このように、このサーバがト
ークンを再び作成する。従って、プロトコルは、データ
ベース・レプリカをもつシステムで全てのサーバの大規
模な相互動作を必要とせずに、トークンを好都合に再び
作成する。
【0018】図3a〜3eは、レプリカ分配システム1
00のトークンホルダの動力学を示す例である。矢印
は、各々サーバのトークンホルダが指示するサーバを識
別している。システム100の初期設定中に、サーバ
は、データベースのデータ項目に相応するトークンを作
成するように指令される。ここで、全てのデータ項目の
レプリカが同じなので、どのサーバがトークンを作成す
るかということは重要でない。図3aを見ると、サーバ
140は、データ項目xに付随するトークンを作成する
ように選択されている。その結果、サーバ110、12
0、130のxに付随するトークンホルダは全てサーバ
140を指示するが、トークンホルダ140は自らを指
示している。
【0019】図3bを見ると、サーバ110がトークン
をサーバ140から要請している。サーバ140がトー
クンをサーバ110に解放した後に、それは、そのトー
クンホルダ140を更新し、サーバ110がいまトーク
ンを有していることを反映させる。トークンを受信する
と、サーバ110は、そのトークンホルダ110を更新
し、それがトークンを有していることを示す。しかし、
サーバ120と130のトークンホルダは、一定の状態
を保ち、サーバ140をトークンの所有者として、そう
でない場合でも、指示する。その結果、120又は13
0から始まる任意のトークン要請メッセージがサーバ1
40に送られ、それは、要請を、要請サーバのために、
サーバ110に伝える。トークンが消失しない限り、要
請チェーンは、トークンの所有者に事実上到達する。
【0020】図3cでは、サーバ120が次にトークン
をサーバ140から要請する。要請を受信すると、サー
バ140は、トークンを有するサーバ110にこの要請
を伝える。サーバ140は、要請を受信したサーバ14
0にトークンを解放する。サーバ140は、トークンを
サーバ110から受信すると、それをサーバ120に解
放する。トークン転送のシーケンスが、サーバ110、
120、140に、それらの各々トークンホルダを、次
のように、更新させる。サーバ110のトークンホルダ
110がサーバ140を指示し、サーバ140のトーク
ンホルダ140がサーバ120を指示し、サーバ120
のトークンホルダ120は自らを指示する。サーバ13
0はトークン転送プロセスに関係していなかったので、
そのトークンホルダ130は一定の状態を保っている。
【0021】サーバ140によるトークン要請は、サー
バ140と110とを含む要請チェーンになる。しか
し、この要請チェーンは、任意の2つのサーバ間の更新
伝送がトークンホルダの内容伝送を含む場合に、サーバ
110だけ含む必要がある時に崩れる。図3dは、要請
チェーンが更新伝送中に崩れる様子を示す例である。図
のように、トークンホルダの内容は図3cと似ている。
発信源サーバ140と受信サーバ130との間でスケジ
ュール設定した更新事項伝送の一部として、データ項目
バージョン情報だけでなく、その付随するトークンホル
ダも、受信サーバに伝送される。最新のバージョン情報
を有するデータ項目のコピーに付随するトークンホルダ
が新しいポインタになる。例えば、トークンホルダ14
0が新しい場合、その情報は、更新事項伝送中にそのト
ークンホルダ130でサーバ130により選定される。
その結果、サーバ130はサーバ120をここで指示す
る(点線の矢印)。従って、既にサーバ110(斜線部
のある矢印)を含んでいた要請チェーンはサーバ120
を直接指示するために崩れていた。同様に、サーバ11
0と140の間の更新事項伝送部は、図3eに示すよう
に、サーバ120だけ含むために、サーバ140と12
0とを既に含んでいた、要請チェーンを崩す。
【0022】図3a〜3cから、トークンを処理するサ
ーバは、トークンをトークン要請チェーンの前のサーバ
に、それが本来のトークン要請者であるかどうかにかか
わらず、解放する。その結果、トークンは、要請通路に
沿って戻り、本来のトークン要請者に達する。代わり
に、本来のトークン要請者を確認する情報がトークン要
請メッセージに含まれている場合、トークンは本来の要
請者に直接送ることができるので、本来の要請サーバに
達するために、トークンが要請通路を逆に通る必要がな
くなる。トークンの転送後、トークンを処理するサーバ
のトークンホルダが本来のトークン要請者のSIDを含
むことになる。しかし、この技術の側面的な影響とし
て、ある条件のもとで、それは、本来の要請者を確認す
る情報が要請メッセージに含まれていない場合より長い
要請チェーンに結果としてなる。
【0023】トークンは古くなる場合もある。“古いト
ークン”は、システムが、それはデータ項目の最後のコ
ピーに付随することを保証できないトークンである。こ
れは、データ項目のコピーに競合を潜在させる可能性が
ある。トークンを古くさせる条件として、例えば、エラ
ー発生後に要請サーバにトークンが到着することが考え
られる。このようなエラーはサーバ異常又は中断エラー
になる。“中断エラー”は、要請者がトークンを受信す
るために要する時間がシステムで指定された時間の長さ
を越える時に生じるエラーと定義される。これは、トー
クン・メッセージが例外的な長さの遅延に出会う時に又
はトークンが消失する時に、普通は発生する。中断エラ
ーは、従って、サーバが、絶対に到着しないと思われる
トークンをいつまでも待つことを防止する。
【0024】古いトークンが要請サーバによって不意に
受信されることを防止するために、プロトコルは、サー
バに各々トークンに付随するカウンタ(tナンバー)を
呈する。tナンバーは、各々トークンが各々サーバに到
着した回数、又はエラーがトークン要請から生じた回数
を記録する。tナンバーの今の値は、要請者(サーバ
a)が送った要請メッセージに含まれている。そのう
え、被要請者(サーバb)のtナンバーは、サーバaに
戻されたトークン・メッセージに含まれている。トーク
ンがサーバaに到着すると、それは、そのtナンバーa
の内容とtナンバーbの内容を比較する。tナンバーa
がtナンバーbと等しい場合、トークンは古くならな
い。そうでない場合に、サーバaは古いトークンを捨て
る。このように、カウンタは、サーバが、サーバ異常又
はエラーに起因する予期しないトークン・メッセージ
(すなわち、古い)を検出して無視する。カウンタの内
容は、ある実施例では、サーバ異常中に変質又は消失す
ることを防ぐために、不揮発性メモリに保存される。
【0025】不揮発性記憶装置にトークン・カウンタを
保存することは、トークン・カウンタが変わるたびに、
ディスク・アクセスを要求することになる。ディスク・
アクセスに付随するオーバーヘッドを避けるために、ト
ークン・カウンタに相応して異なる構造が採用される。
ある実施例によれば、各々トークン・カウンタは(期
間、カウンタ)のような2つの要素を備えている。不揮
発性記憶装置に保存されている期間は、サーバが、例え
ば、サーバ異常からリブーツされるたびに増加される。
カウンタは、不安定な記憶装置に保存され、tナンバー
と同様に増加される。このフォーマットを用いると、ト
ークン・カウンタは、期間1≧期間2及びカウンタ1>
カウンタ2の場合にだけトークン・カウンタ2より大き
く定められる。このように、トークン・カウンタの単一
性が、プロトコルの要求によって維持される。しかし、
カウンタの変更又は読取はディスク・アクセスを必要と
しない。
【0026】多重処理環境では、多重プロセスが同時に
実行できる。プロセスの同時実行は、レプリカの同じデ
ータ項目における異なるコピー間に競合を潜在させるお
それがある。例えば、同じノードに接続するクライアン
トaとクライアントbが、同時に同じデータ項目に対す
る独自の更新を要請するとする。ある制御機能が更新要
請を直列化するために設けてない限り、競合が、データ
項目のクライアントaとクライアントbのコピー間に存
在することになる。これらの競合は、内部ノード競合と
呼ばれる。内部ノード競合を避けるために、ロック変数
のような従来の同時制御機能がサーバのために設けてあ
る。同時制御機能とロックは、1991年のカリフォル
ニア州のMorgan Kaufmann、San M
ateoのJ.GrayとA.Reuterの取引処
理:概念と技術に記載してあり、ここで全ての目的のた
めに引例を用いて包含されている。
【0027】ロックは、トークン要請の処理に用いるル
ーチンのようなノード資源に付随している。一般的に、
2つの動作が、各々ロック変数、すなわち、ロックとロ
ック解除に付随している。平行な行為を直列化するため
に、1つのプロセスだけ任意のある時にロック変数のロ
ック(又は入手)に成功できる。他のプロセスがそのロ
ック変数の入手を希望する場合、それらの要請は待ち行
列に置かれる。ロック変数を入手したプロセスがそれを
ロック解除(又は解放)すると、待機プロセスが、ロッ
ク変数を入手する次のプロセスとしてロック待ち行列か
ら選択される。
【0028】ある実施例によれば、サーバは、2つのロ
ック変数、すなわち、各々トークンに付随する要請とト
ークンとを備えている。要請ロック変数の使用は、同じ
サーバからの特定のトークンの要請は、そのトークンの
前の要請が処理されない限り発行されないことを保証す
る。これは、2回トークンを要請することを禁止する。
このロック変数は、トークンが別のサーバに転送される
ことを、それがそれを所有するサーバによって解放され
るまで、防止する。トークンのロックは、多重プロセス
によるトークンの同時アクセスを防止する。(これは、
サーバ内の標準的な同時制御機能である)。
【0029】図4は、サーバが本発明の図示する実施例
に従ってトークンを入手する様子を示す流れ図である。
流れ図は、セクション401、402、403に分離し
ている。セクション410は、本来のトークン要請を発
行するサーバ(サーバa)が行う行為を示し、セクショ
ン402は、要請を受信するサーバ(サーバb)が行う
行為を示す。セクション403は、要請チェーンで、必
要におうじて、更なるサーバ(サーバc)が行う行為を
示す。ステップ410で、サーバaは、データ項目xの
更新要請を受信する。ステップ420で、更新要請に相
応して、サーバはトークンを入手するルーチン(入手ト
ークン)を実行する。入手トークン・ルーチンは、xに
付随するサーバaのトークンホルダaを調べて、システ
ムのどのサーバがxのトークンを所有しているかについ
て決定する。サーバaがトークンを既に有している場
合、それはステップ475に進む。入手トークンが別の
サーバ(サーバb)がトークンを所有していると決定す
ると、それは、トークン要請メッセージをステップ43
0でサーバbに送る。この要請メッセージは、サーバa
のIDと、xのバージョン・ベクトル(vベクトルa)
のサーバaのコピーと、tナンバーとを含んでいる。そ
の後、サーバaは、トークンが戻ることを待つ。トーク
ンが消失する時のように、サーバaがトークンをいつま
でも待つことを防止するために、中断メカニズムが用い
られる。所定の中断期間が終えると、入手トークンは、
要請されたトークンを検索できないことを、サーバaに
知らせる。
【0030】トークンの戻りに成功すると、入手トーク
ンはステップ475に進む。ステップ475で、サーバ
aがトークンを入手した後に、それはトークンハンドラ
・ルーチンを実行する。トークンハンドラは、トークン
のtナンバーをチェックし、tナンバーとtナンバーa
を比較して、それが古くないことを保証する。トークン
が古くない場合に、サーバaはそれを更新する。そうで
ない場合、トークンが無視され、そのサーバaを反映す
るトークンホルダaがここでトークンを有することにな
る。ステップ480で、サーバaは、クライアントの更
新要請を実行し、解放トークン・ルーチンを実行してス
テップ490で要請サーバにトークンを解放する。解放
トークン・ルーチンは、要請サーバを確認して、トーク
ンホルダaを更新し、そのサーバを指示する。
【0031】サーバbがトークン要請メカニズムをサー
バaから受信する時に、それは、3つの状態、すなわ
ち、(1)サーバbはサーバaがトークンを有すると考
える、(2)サーバbがトークンを有する、又は(3)
サーバbがトークンをサーバcに送った状態のなかの1
つになる。トークン要請メッセージに相応して、サーバ
bは要請ハンドラ・ルーチンをステップ440で実行す
る。要請ハンドラは、トークンホルダbを調べて、サー
バbの状態を確認する。状態1は、サーバaもサーバb
もトークンを有していない(両方のサーバは他がトーク
ンを有していると考える)ので、問題を指摘している。
この状態は、トークンを所有するサーバが異常又は予期
しない長さのメッセージ遅延に出会う条件の典型的な例
である。例えば、サーバaは、トークン要請をサーバb
に発行し、サーバbはこの要請を巧みに処置する、すな
わち、サーバbは、トークンをサーバaに送って、その
トークンホルダを更新し、この行為を反映する。しか
し、サーバaに対するトークン・メッセージは、サーバ
aの要請が十分に中断できる長さだけ遅延していた。こ
の中断がサーバaのtナンバーaを増加させる。次に、
サーバaがトークンを受信しても、それは、その付随す
るtナンバーbが古い(tナンバーa≠tナンバーb)
ので無視される。その結果、トークンが転送中に消失す
る。
【0032】要請ハンドラがサーバbが状態1であると
決定すると、トークンの再作成が始まる。これは、xの
サーバbのコピーのvベクトルbとサーバaのそれと
を、ステップ445で比較することも含んでいる。xの
サーバbのコピーが新しい場合、サーバbが、トークン
を有していた最後のサーバと想定される。サーバbは、
トークンを再び作成して、サーバaに送る。トークンの
再作成は、ステップ450でトークンハンドラ・ルーチ
ンを実行し、サーバbにトークン到着を模写して実行さ
せて行われる。要請ハンドラは、ステップ455と46
0に進んで、入手トークンと解放トークン・ルーチンを
実行して、トークンを検索し解放する。トークンは、そ
のxのコピーと共に、それが新しいので、ステップ47
0でサーバaに送られる。一方で、xのサーバaのレプ
リカが新しい場合、サーバbは、サーバaがトークンを
有していた最後のサーバであったと想定し、サーバb
は、メッセージをステップ453で送って、サーバaに
トークンの再作成を知らせる。
【0033】サーバbが状態2又は3である場合、要請
ハンドラは、入手トークン・ルーチンをステップ455
で実行し、解放トークン・ルーチンをステップ460で
実行してトークンをサーバaに転送するか(ステップ
2)又はトークン要請メッセージをステップ458でサ
ーバcに送る(状態3)。サーバcは、トークン要請メ
ッセージを受信して、それをステップ440のサーバb
と同様に処理する。このプロセスは、要請チェーンがト
ークンを所有するサーバに達するまで続く。
【0034】図5は入手トークン・ルーチンの詳細な流
れ図を示す。ステップ500と510で、要請とトーク
ン・ロック変数がそれらのロック状態にセットされる。
要請をロック状態にセットすると、サーバaは、同時に
同じトークンの多重トークン要請を処理することが禁止
される。そのうえ、トークン変数は、今のプロセスがデ
ータ項目の更新を終えるまで、他のプロセスがトークン
を入手することを禁止するためにロックされる。ステッ
プ520で、トークンホルダaは、システムのどのサー
バがトークンを所有するかについて確認するために調べ
られる。サーバaがトークンを既に有している場合、入
手トークンはステップ570に進む。トークンホルダa
がサーバbを指示する場合、入手トークンはトークン要
請メッセージをサーバbにステップ530で送る。メッ
セージは、サーバaのSIDと、tナンバーaと、更新
されるデータ項目を確認する情報と、その付随するバー
ジョン・ベクトルとを備えている。
【0035】ステップ550で、入手トークンは、トー
クンの到着又は中断の発生を待つ。トークンが中断発生
前に到着すると、入手トークンは、ステップ570で、
成功メッセージを戻して、サーバaに、トークンの入手
に成功したことを知らせる。中断が発生すると、入手ト
ークンは、tナンバーを1だけ増やして、サーバaに、
ステップ590でトークンの受信に失敗したことを知ら
せる。トークンの入手の失敗は、同時制御機能を解放
し、すなわち、要請ロック変数のロックを解除して、入
手トークンにシステム資源を放棄させる。
【0036】図6は、本発明のある実施例に従うトーク
ンハンドラ・ルーチンの流れ図を示す。ステップ600
で、サーバaは、トークン・メッセージがサーバbから
到着する時に、トークンハンドラ・ルーチンを実行す
る。サーバaのトークン・ロック変数はステップ710
でロックされる。ステップ620で、トークンハンドラ
は、サーバbからのトークン・カウンタ(tナンバー)
とサーバaのそれとを比較して、トークンの有効性を検
査する。トークンは、両方のカウンタが等しい時に有効
である。vベクトルaの場合、トークンが有効であり、
トークンハンドラは、ステップ650に進み、vベクト
ルaとvベクトルbを比較する。比較からサーバbのコ
ピーが新しいと指摘されると、サーバaは、ステップ6
60でxのサーバbのコピーを採用する。サーバaは、
vベクトルaを更新して、ステップ670でvベクトル
bと等しくし、ステップ680に進む。文書のサーバb
のコピーが新しくないか又はサーバaのコピーと同じ場
合、サーバaはxのサーバbのコピーを行う必要がな
い。このように、トークンハンドラはステップ680に
進む。ステップ680で、tナンバーaは、トークンの
到着を反映するために増加される。ステップ685で、
トークンホルダaも、サーバaがいまトークンを有する
ことを反映するために更新される。トークンホルダの更
新後に、トークン・ロックは、ステップ690でロック
が解除される。
【0037】図7は解放トークン・ルーチンを示す流れ
図である。ステップ700で、サーバbは、トークン要
請メッセージを別のサーバaから受信して、解放トーク
ン・ルーチンを実行する。トークン要請は、SIDaと
tナンバーaとサーバaからのvベクトルaとを備えて
いる。ステップ710で、解放トークンは、SIDaと
それ自体のSIDを比較して、トークン要請メッセージ
が別のサーバから又は自らきたかどうかについて決定す
る。それらが等しい場合、要請は自らきており、次にス
テップ770に進む。そうでない場合、要請は別のサー
バからきていたことになる。ステップ720で、トーク
ンホルダは、SIDaで更新される。オプションで、ス
テップ730で、トークンホルダの更新された内容が不
揮発性メモリに書き込まれる。前述のように、これは、
サーバ異常が発生する場合に、トークンホルダが消失す
ることを防止する。
【0038】ステップ740で、解放トークンは、vベ
クトルaとvベクトルbを比較する。サーバbのコピー
がサーバaのコピーより新しい場合、サーバbは、サー
バaにvベクトルb情報と共にデータ項目のそのコピー
とそのtナンバーbとを含んでいるトークン・メッセー
ジを送る。そうでない場合に、サーバbは、サーバaが
データ項目の新しいコピーを既に有しているので、ステ
ップ750でトークン・メッセージと共にデータ項目の
そのコピーに付随するそのvベクトルbとtナンバーb
とを送るにすぎない。トークン・メッセージが送られた
後に、要請ロックは、ロック解除状態にリセットされ
る。
【0039】図8は、要請ハンドラ・ルーチンを示す流
れ図である。ステップ800で、サーバbは、トークン
要請メッセージをサーバaから受信して、要請ハンドラ
・ルーチンを実行する。メッセージは、SIDaとtナ
ンバーaとvベクトルaとを含んでいる。ステップ81
0で、トークンハンドラ・ルーチンは、SIDaとトー
クンホルダbの内容を比較する。2つの値が等しくない
場合、トークンハンドラはステップ820に進み、それ
は入手トークンをコールする。しかし、それが入手トー
クンをコールする値が等しい場合、システムはステップ
860に進む。これは、xのトークンが消失し、再作成
の必要があることを指摘している。ステップ860で、
サーバaは、xのそのコピーのvベクトルaとvベクト
ルbを比較して、どのサーバが最後にトークンを有して
いたかについて決定する。vベクトルbがvベクトルa
より新しい場合、要請ハンドラは、トークンハンドラを
ステップ870でコールして、トークンの再作成を開始
し、ステップ820に進む。xのサーバaのコピーが新
しい場合、サーバaは、トークン・メッセージをサーバ
bにステップ880で送る。トークン・メッセージは、
その要素の全てがゼロにセットされている、vベクトル
である、ゼロ・ベクトルを含んでいる。これは、ゼロ・
ベクトルに付随するデータ項目が最も遅れることを保証
する。トークン・メッセージとゼロ・ベクトルは、サー
バaにトークンを再び作成することを、それがトークン
を有していた最後のサーバだったので、知らせる。
【0040】ステップ820で、サーバaは、入手トー
クン・ルーチンをコールして、トークンを作成する。要
請されたトークンの戻りに成功した後に、ステップ83
0で、トークンハンドラは、トークンをサーバに送る解
放トークン・ルーチンをコールする。しかし、サーバb
がトークンの検索に失敗すると、すなわち、中断時に、
トークンハンドラは、失敗メッセージをサーバaに送
る。
【0041】
【発明の効果】本発明は種々の実施例を参照しながら特
に図示し説明してきたが、その精神と範囲から逸脱せず
に本発明に修正と変更を実施できることを、当業者は認
めるものと思われる。本発明の範囲は、従って、前述の
説明を参考せずに定めるべきであるが、代わりに、添付
の特許請求の範囲と、同じ趣旨の全てから定められる。
【0042】
【図面の簡単な説明】
【図1】従来のレプリカ分配システムを単純に示す図で
ある。
【図2】図1の分配システム内の典型的なサイトを示す
図である。
【図3a】サーバと、その各々トークン・ポインタの内
容とを示す図である。
【図3b】サーバと、その各々トークン・ポインタの内
容とを示す図である。
【図3c】サーバと、その各々トークン・ポインタの内
容とを示す図である。
【図3d】サーバと、その各々トークン・ポインタの内
容とを示す図である。
【図3e】サーバと、その各々トークン・ポインタの内
容とを示す図である。
【図4】トークンを入手するステップの流れを示す図で
ある。
【図5】入手トークン・ルーチンのステップの流れを示
す図である。
【図6】トークンハンドラ・ルーチンのステップの流れ
を示す図である。
【図7】解放トークン・ルーチンのステップの流れを示
す図である。
【図8】要請ハンドラ・ルーチンのステップの流れを示
す図である。
【符号の説明】
110、120、130、140 サーバ
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成9年12月10日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正内容】
【図1】
【図2】
【図3a】
【図3b】
【図3c】
【図3d】
【図3e】
【図4】
【図5】
【図6】
【図7】
【図8】
───────────────────────────────────────────────────── フロントページの続き (72)発明者 アレックス コノノヴ アメリカ合衆国 08807 ニュージャーシ ィ,ブリッジウォーター,ガレストン ロ ード 485 (72)発明者 マイケル ラビノヴィッチ アメリカ合衆国 07933 ニュージャーシ ィ,ギレッテ,コテージ プレイス 55

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 複数のデータ項目を備えたデータベース
    をもつコンピュータ・ネットワークにおいて、ネットワ
    ークが複数のデータベース・レプリカに対応する複数の
    サーバを備え、各々が複数のデータ項目のコピーを備
    え、データベース・レプリカにおいて同じデータ項目の
    異なるコピーのなかでの競合を防止する方法であって、 複数のデータ項目に対応する複数のトークンを呈し、複
    数のサーバ(プロセス)のなかの1つによるトークンの
    所有が、サーバのデータベース・レプリカにおけるトー
    クンに対応するデータ項目の更新を所有者に対して許可
    することになる、前記の呈するステップと、 複数のトークンに対応する複数のサーバにおいて複数の
    トークン・ポインタを呈するステップと、 対応するトークンの所有者に関連事項を呈するために、
    トークン・ポインタを呈するするステップとを備えてい
    る、前記の方法。
  2. 【請求項2】 要請者のレプリカにおいて複数のデータ
    項目のなかの1つを更新するために、要請者と呼ばれ
    る、サーバに接続されたクライアントの要請を処理する
    ステップを更に備えており、前記のステップが、 データ項目に付随するトークンを検索するステップと、 トークンが検索された後に、データ項目に関する更新を
    実行するステップとを備えている、特許請求の範囲第1
    項に記載の方法。
  3. 【請求項3】 トークンを検索するステップが、 データ項目に付随するトークンに対応する要請者のトー
    クン・ポインタを調べ、もし要請者のトークン・ポイン
    タが要請者を所有者として確認する場合に、それはトー
    クンを既に備えていることになる、前記の調べるステッ
    プと、 要請者のトークン・ポインタが被要請者を所有者として
    確認し、被要請者が要請者と同じでない場合に、トーク
    ン要請メッセージを被要請者サーバに送るステップとを
    備えている、特許請求の範囲第2項に記載の方法。
  4. 【請求項4】 トークン要請のステップが、要請者(S
    ID)を確認する情報と、データ項目に付随するバージ
    ョン情報とを備えている、特許請求の範囲第3項に記載
    の方法。
  5. 【請求項5】 データ項目に付随するバージョン情報が
    バージョン・ベクトルである、特許請求の範囲第4項に
    記載の方法。
  6. 【請求項6】 トークン要請を処理するステップを更に
    備え、そのステップが、 トークンの所有者を決定するために被要請者を調べるス
    テップと、更に、 (1)被要請者のトークン・ポインタが被要請者を所有
    者として確認する場合、要請者にトークンを解放するス
    テップと、 (2)中間トークン要請メッセージを要請者のために第
    2の被要請者に、被要請者のトークン・ポインタが第2
    の被要請者を所有者として確認する場合に送るステップ
    であって、、第2の被要請者は被要請者と同じでなく、
    中間トークン要請メッセージが被要請者のSIDとデー
    タ項目の被要請者のコピーのバージョン・ベクトルとを
    備えている、前記の送るステップと、 (3)被要請者のトークン・ポインタが要請者を所有者
    として確認する場合に、トークンを再び作成するステッ
    プとを備えている、特許請求の範囲第5項に記載の方
    法。
  7. 【請求項7】 トークンを要請者に解放するステップ
    が、 要請者が所有者であることを反映するために、被要請者
    のトークン・ホルダを更新するステップと、 どのデータ項目のコピーが新しいかについて、データ項
    目の被要請者のコピーのバージョン・ベクトルとデータ
    項目の要請者のコピーのバージョン・ベクトルとを比較
    することによって、決定するステップと、 被要請者によるトークン・メッセージを要請者に送るス
    テップであって、トークン・メッセージは、データ項目
    の要請者のコピーが新しい場合にデータ項目の被要請者
    のコピーのバージョン・ベクトルを備え、且つ、データ
    項目が新しい場合に被要請者のコピーへのデータ項目の
    被要請者のコピーを更に備えている、前記の送るステッ
    プとを備えている、特許請求の範囲第6項に記載の方
    法。
  8. 【請求項8】 再び作成するステップが、 どのデータ項目のコピーが新しいかについて決定するた
    めに、被要請者のバージョン・ベクトルと要請者のバー
    ジョン・ベクトルとを比較するステップと、 データ項目の被要請者のコピーが新しい場合にトークン
    を再び作成することを要請者に知らせるために、トーク
    ン再作成メッセージを被要請者から要請者に送るステッ
    プと、 データ項目の被要請者のコピーが新しい場合、被要請者
    によるトークンを再び作成し、トークンを要請者に解放
    するステップとを備えている、特許請求の範囲第7項に
    記載の方法。
  9. 【請求項9】 トークン再作成メッセージがゼロ・バー
    ジョン・ベクトルを備えており、ゼロ・バージョン・ベ
    クトルの要素がゼロに設定されている、特許請求の範囲
    第8項に記載の方法。
  10. 【請求項10】 要請者によるトークン・メッセージを
    処理するステップと、 どのデータ項目のコピーが新しいについて決定するため
    に、トークン・メッセージからのバージョン・ベクトル
    とデータ項目の要請者のコピーのバージョン・ベクトル
    とを比較するステップと、 データ項目の被要請者のコピーが新しい場合、 (1)データ項目の被要請者のコピーを要請者のデータ
    ベース・レプリカに採用するステップと、 (2)データ項目の被要請者のコピーのバージョン・ベ
    クトルと等しくするために、データ項目に付随する要請
    者のバージョン・ベクトルを更新するステップと、 (3)要請者がトークンの所有者であることを反映する
    ために、要請者のトークン・ポインタを更新するステッ
    プと、 又は、データ項目の要請者のコピーが新しい場合、要請
    者がトークンの所有者であることを反映するために、要
    請者のトークン・ポインタを更新するステップとを備え
    ている、特許請求の範囲第7項に記載の方法。
  11. 【請求項11】 複数のサーバにおいて複数のトークン
    数を呈するステップであって、複数のトークン数が複数
    のトークンに付随している、前記の呈するステップと、 トークンを受信する要請者に相応して要請者のトークン
    数を増加するステップとを更に備えている、特許請求の
    範囲第10項に記載の方法。
  12. 【請求項12】 トークン要請中断が発生した後に、要
    請者のトークン数を増加するステップを更に備えてい
    る、特許請求の範囲第11項に記載の方法。
  13. 【請求項13】 ステップが、 要請者のトークン数とトークンに付随する被要請者のト
    ークン数とを比較するステップと、 要請者と被要請者のトークン数が等しい場合にトークン
    を受信するステップと、 要請者と被要請者のトークン数が等しくない場合にトー
    クンを無視するステップとを備えている、特許請求の範
    囲第11項に記載の方法。
  14. 【請求項14】 複数のデータ項目を備えたデータベー
    スを有する分配システムであって、 複数のサーバと、 データベースの複数のレプリカにおいて、レプリカが複
    数のデータ項目のコピーを有しており、複数のレプリカ
    が複数のサーバに対応している、前記のデータベースの
    複数のレプリカと、 複数のデータ項目に付随する複数のトークンにおいて、
    サーバ(所有者)によって承認されたトークンの所有
    が、トークンに対応するデータ項目の更新に対する所有
    者の許可を承認することになる、前記の複数のトークン
    と、 複数のサーバにある複数のトークン・ポインタにおい
    て、複数のトークン・ポインタが複数のトークンに対応
    し、複数のトークン・ポインタが対応するトークンの所
    有者に関連事項を呈するために複数のサーバにおいて更
    新される、前記の複数のトークン・ポインタとを備えて
    いる、前記のシステム。
JP9161746A 1996-06-19 1997-06-19 分配システムの競合を防止する方法 Pending JPH10187519A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/666772 1996-06-19
US08/666,772 US5802062A (en) 1996-06-19 1996-06-19 Preventing conflicts in distributed systems

Publications (1)

Publication Number Publication Date
JPH10187519A true JPH10187519A (ja) 1998-07-21

Family

ID=24675412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9161746A Pending JPH10187519A (ja) 1996-06-19 1997-06-19 分配システムの競合を防止する方法

Country Status (4)

Country Link
US (1) US5802062A (ja)
EP (1) EP0814590A3 (ja)
JP (1) JPH10187519A (ja)
CA (1) CA2205725C (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012140916A1 (ja) * 2011-04-15 2012-10-18 日本電気株式会社 ログ情報記録システム、装置、方法およびプログラム

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6122631A (en) * 1997-03-28 2000-09-19 International Business Machines Corporation Dynamic server-managed access control for a distributed file system
US6031833A (en) * 1997-05-01 2000-02-29 Apple Computer, Inc. Method and system for increasing throughput in a wireless local area network
US6161145A (en) * 1997-05-08 2000-12-12 International Business Machines Corporation Updating server-related data at a client
US6341339B1 (en) * 1998-03-26 2002-01-22 Compaq Computer Corporation Apparatus and method for maintaining data coherence within a cluster of symmetric multiprocessors
US6484109B1 (en) * 1998-05-20 2002-11-19 Dli Engineering Coporation Diagnostic vibration data collector and analyzer
US6526448B1 (en) 1998-12-22 2003-02-25 At&T Corp. Pseudo proxy server providing instant overflow capacity to computer networks
US6298308B1 (en) 1999-05-20 2001-10-02 Reid Asset Management Company Diagnostic network with automated proactive local experts
US6401103B1 (en) 1999-08-06 2002-06-04 International Business Machines Corporation Apparatus, method, and article of manufacture for client-side optimistic locking in a stateless environment
US7596563B1 (en) * 1999-10-28 2009-09-29 Hewlett-Packard Development Company, L.P. Computerized file system and method
US6421686B1 (en) 1999-11-15 2002-07-16 International Business Machines Corporation Method of replicating data records
US6847995B1 (en) 2000-03-30 2005-01-25 United Devices, Inc. Security architecture for distributed processing systems and associated method
US20010027467A1 (en) * 2000-03-30 2001-10-04 Anderson David P. Massively distributed database system and associated method
US20040148336A1 (en) * 2000-03-30 2004-07-29 Hubbard Edward A Massively distributed processing system architecture, scheduling, unique device identification and associated methods
US6654783B1 (en) 2000-03-30 2003-11-25 Ethergent Corporation Network site content indexing method and associated system
US7003547B1 (en) 2000-03-30 2006-02-21 United Devices, Inc. Distributed parallel processing system having capability-based incentives and associated method
US8010703B2 (en) * 2000-03-30 2011-08-30 Prashtama Wireless Llc Data conversion services and associated distributed processing system
USRE42153E1 (en) * 2000-03-30 2011-02-15 Hubbard Edward A Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US7092985B2 (en) * 2000-03-30 2006-08-15 United Devices, Inc. Method of managing workloads and associated distributed processing system
US6963897B1 (en) 2000-03-30 2005-11-08 United Devices, Inc. Customer services and advertising based upon device attributes and associated distributed processing system
US7082474B1 (en) 2000-03-30 2006-07-25 United Devices, Inc. Data sharing and file distribution method and associated distributed processing system
US7020678B1 (en) 2000-03-30 2006-03-28 United Devices, Inc. Machine generated sweepstakes entry model and associated distributed processing system
US20090216641A1 (en) 2000-03-30 2009-08-27 Niration Network Group, L.L.C. Methods and Systems for Indexing Content
US7254607B2 (en) * 2000-03-30 2007-08-07 United Devices, Inc. Dynamic coordination and control of network connected devices for large-scale network site testing and associated architectures
US7039670B2 (en) * 2000-03-30 2006-05-02 United Devices, Inc. Massively distributed processing system with modular client agent and associated method
US6891802B1 (en) 2000-03-30 2005-05-10 United Devices, Inc. Network site testing method and associated system
CA2405414A1 (en) * 2000-04-07 2001-10-18 Adspace Networks, Inc. System for electronically distributing, displaying and controlling advertising and other communicative media
US7136906B2 (en) * 2000-04-07 2006-11-14 Clarity Visual Systems, Inc. System for electronically distributing, displaying and controlling the play scheduling of advertising and other communicative media
US6671699B1 (en) * 2000-05-20 2003-12-30 Equipe Communications Corporation Shared database usage in network devices
US7103586B2 (en) * 2001-03-16 2006-09-05 Gravic, Inc. Collision avoidance in database replication systems
US7177866B2 (en) 2001-03-16 2007-02-13 Gravic, Inc. Asynchronous coordinated commit replication and dual write with replication transmission and locking of target database on updates only
US7243369B2 (en) 2001-08-06 2007-07-10 Sun Microsystems, Inc. Uniform resource locator access management and control system and method
US20050240763A9 (en) * 2001-08-06 2005-10-27 Shivaram Bhat Web based applications single sign on system and method
US7594256B2 (en) * 2003-06-26 2009-09-22 Sun Microsystems, Inc. Remote interface for policy decisions governing access control
US7634566B2 (en) * 2004-06-03 2009-12-15 Cisco Technology, Inc. Arrangement in a network for passing control of distributed data between network nodes for optimized client access based on locality
US8732699B1 (en) 2006-10-27 2014-05-20 Hewlett-Packard Development Company, L.P. Migrating virtual machines between physical machines in a define group
US8185893B2 (en) * 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US8296760B2 (en) * 2006-10-27 2012-10-23 Hewlett-Packard Development Company, L.P. Migrating a virtual machine from a first physical machine in response to receiving a command to lower a power mode of the first physical machine
US9092250B1 (en) 2006-10-27 2015-07-28 Hewlett-Packard Development Company, L.P. Selecting one of plural layouts of virtual machines on physical machines
US8341626B1 (en) 2007-11-30 2012-12-25 Hewlett-Packard Development Company, L. P. Migration of a virtual machine in response to regional environment effects
US20110029432A1 (en) * 2009-07-30 2011-02-03 Hildred Richard N Computer-implemented methods of processing payments for a merchant selling goods or services to a consumer
EP2737398A4 (en) 2011-07-29 2015-01-07 Hewlett Packard Development Co MIGRATION OF VIRTUAL MACHINES
CN112835537A (zh) * 2021-03-12 2021-05-25 东莞中国科学院云计算产业技术创新与育成中心 分布式数据访问方法、装置、计算机设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949302A (en) * 1986-11-17 1990-08-14 International Business Machines Corporation Message file formation for computer programs
JPS63138439A (ja) * 1986-12-01 1988-06-10 Hitachi Ltd 分散データベースアクセス要求処理方法
US5175851A (en) * 1989-05-15 1992-12-29 International Business Machines Corporation System and method for controlling client machine access to a portion of a file with a variable length
JP2519390B2 (ja) * 1992-09-11 1996-07-31 インターナショナル・ビジネス・マシーンズ・コーポレイション デ―タ通信方法及び装置
GB2273182A (en) * 1992-12-04 1994-06-08 Ibm Currency period of replicated data objects.
US5634122A (en) * 1994-12-30 1997-05-27 International Business Machines Corporation System and method for multi-level token management for distributed file systems
US5644698A (en) * 1996-05-30 1997-07-01 International Business Machines Corporation Configurable reuse delay criterion for storage volumes

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012140916A1 (ja) * 2011-04-15 2012-10-18 日本電気株式会社 ログ情報記録システム、装置、方法およびプログラム
JP5212580B2 (ja) * 2011-04-15 2013-06-19 日本電気株式会社 ログ情報記録システム、装置、方法およびプログラム

Also Published As

Publication number Publication date
EP0814590A2 (en) 1997-12-29
US5802062A (en) 1998-09-01
EP0814590A3 (en) 1999-11-17
CA2205725C (en) 2000-08-22
CA2205725A1 (en) 1997-12-19

Similar Documents

Publication Publication Date Title
JPH10187519A (ja) 分配システムの競合を防止する方法
JP2691081B2 (ja) コンピュータ・ネットワーク
US6412034B1 (en) Transaction-based locking approach
US6539446B1 (en) Resource locking approach
JP4241940B2 (ja) 分散形データベース内でトランザクションをするための方法
US5787247A (en) Replica administration without data loss in a store and forward replication enterprise
US6738971B2 (en) Using a resource manager to coordinate the comitting of a distributed transaction
US7149761B2 (en) System and method for managing the synchronization of replicated version-managed databases
JP2691080B2 (ja) 同期点回復手段を有するコンピュータ装置
US7200847B2 (en) Urgent replication facility
US6510478B1 (en) Method and apparatus for coordination of a shared object in a distributed system
JP3268534B2 (ja) 保護された資源の同期点管理を行うコンピュータ・システム
JP3293839B2 (ja) 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
US6823355B1 (en) Synchronous replication of transactions in a distributed system
CN100359508C (zh) 用于处理集群计算机系统的合并协议的方法和装置
JPH0831043B2 (ja) コミット手順の非同期的再同期化実行装置および方法
JPH087690B2 (ja) コミット手順におけるエラー・コードおよびエラー記述情報の処理装置および方法
EP1459213A1 (en) System and methods for asychronous synchronization
EP1386234A2 (en) Resource action in clustered computer system incorporating prepare operation
US20090133037A1 (en) Coordinating application state and communication medium state
JP4885342B2 (ja) クラスタコンピュータシステムにおける高度に利用可能な非同期i/o
Yap et al. Fault tolerant remote procedure call
KR20140047230A (ko) 분산 시스템에서 분산 트랜잭션의 최적화를 위한 방법 및 트랜잭션을 최적화한 분산 시스템
US5550973A (en) System and method for failure recovery in a shared resource system having a moving write lock
KR100466140B1 (ko) 분산 컴퓨팅 환경의 프로세싱 그룹들을 관리하는 방법, 시스템 및 기록매체

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060508

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060511

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20061010