JPS60500232A - 障害がない場合に最適化される、複数プロセッサの合意を得る方法 - Google Patents

障害がない場合に最適化される、複数プロセッサの合意を得る方法

Info

Publication number
JPS60500232A
JPS60500232A JP58500986A JP50098683A JPS60500232A JP S60500232 A JPS60500232 A JP S60500232A JP 58500986 A JP58500986 A JP 58500986A JP 50098683 A JP50098683 A JP 50098683A JP S60500232 A JPS60500232 A JP S60500232A
Authority
JP
Japan
Prior art keywords
message
processor
processors
value
agreement
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
Application number
JP58500986A
Other languages
English (en)
Other versions
JPS6351302B2 (ja
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 JPS60500232A publication Critical patent/JPS60500232A/ja
Publication of JPS6351302B2 publication Critical patent/JPS6351302B2/ja
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/182Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits based on mutual exchange of the output between redundant processing components
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/161Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 障害力ぐない場合に最適化される、複数プロセッサの合意を得る方法 [技術分野] 本発明は複数のプロセッサが同期されたフェーズで情報を交換するようなネット ワークに係り、更に詳細に説明すれば、障害プロセッサが存在する場合でさえも 、前記複数のプロセッサ間で分散されたタスクを実行するか、または全く実行し ないかについて、これらのプロセッサ間の合意(agreement)を得る方 法に係る。
[背景技術] C,PUネットワークに分散されたタスクの並行処理によって計算を行なうこと は、よく知られている。事実、米国特許第4274139号に記述されたシステ ムでは、1つのタスクを実行中の局所CPUが別の機能を他の遠隔CPUに送り 、そしてこの遠隔C,PUで処理された出力結果を、局所CPUが受取るように している。同様に、同時係属出願の米国特許出願第4.59746号(1983 年1月21日出願)では、所与の計算を構成する複数の並行処理可能なタスクと 対話するために、単一の物理ポートを使用する方法が開示されている。この方法 に利用される機能の中には、パス・スルー(pass−through)、即ち 1つのサイトの使用者が別のサイトのCPUにログオンし、そのファイルを転送 することを可能にする機能がある。
一般に、計算とは複数の並行処理可能なタスクから成り、これらのタスクにはネ ットワーク中の局所または遠隔CPUにおける情報のアクセス、変更、及び復元 が含まれる。このことは、調整、活動の同時性、または最終結果の相似性を必要 とする。例としては、分散された複数の勘定口座の借方/貸方に同額を記入する こと、同じ開始クロック値を使用すること、等の多種多様のものがある。それら に共通する重要な特性は、複数の非同期プロセッサが、それらの1つによって生 ぜられた情報値を使用するとともに、それら依存することである。この場合、受 取った値が送られた最初の値であったかどうかを決定することが必要である。こ の問題を処理するために2クラスのプロトコル、即ち多重フェーズ確約(com mit)/放棄プロトコル及びビザンチン合意(Byzantj neAgre ement)プロトコルが考案されている。
確約/放棄プロトコルとビザンチン合意プロ1−コルは共に、ネットワーク構成 のCPU (ノート)間で同期されたフェーズのメツセージを交換すること、及 びそれぞれのノードでこれらのメツセージを評価することを含む。その目的は、 すべてのノートにおけるトランザクションの一様な確約を最終的に保証すること であるが、プロトコルの種類によって強調点が異なる。例えば、ビザンチン合意 プロトコルは、アクティブノードの各々が、ネットワーク中の他のすへてのアク ティブノードのアイデンティティを知っていること、そしてそれらの間に直接結 合があることを仮定する。更に、ビザンチン合意プロトコルは、高いメツセージ ・オーバヘッドで、一定期間内に集中的に合意しようとする。これに対し、多重 フェーズ確約プ」トコルは、Gray、”Operating Systems 、 AnAdvcinced Ct+urse”、Speringer Ver lag、1978て説明しているように、タスクの階層に焦点を当てており、ノ ードに関する個々のノードの知識を従属ノードに限定している。
多重フェーズ確約プロトコルは、多くのメツセージが失なわれても許容すること ができるが、これらのプロトコルは調整用プロセッサノードについては、−瞬の 障害でさえも許容することができない。このノードは、ネットワーク構成された 幾つかのプロセッサに、トランザクションの確約信号を選択的に送り、その他の プロセッサには、トランザクションの放棄信号を送る。それとは対照的に、ビザ ンチン合意プロトコルは、平均してより多くのメツセージを必要とし、限られた 数のノード/リンク障害を許容するが、これらの障害には、各種のものがある。
従って、このプロトコルの目的が、保証された同報通信を確保することである場 合、メツセージ・オーバヘットと保証の信頼性の間で、トレードオフが計られる 。
また、5keen、”Non−BlockingCommit Protoco ls”、198Lpp133−142には、障害時の閉塞(ブロッキング)の可 能性を減少させる多重フェーズ確約プロトコルが記述されている。計算の目的が 、複写されたデータベースの同時更新である場合、プロトコルのクラス間のメツ セージ伝送量が同じ大きさとなることがある。
Pease et al、”Reaching Agreement in t he Presence ofFaul、ts”、27 Journal of  the ACM、pp228−234. April 1980では、ビザン チン合意プロトコルを、同期されたフェーズで情報交換する手段を有するネット ワークにおいて非同期プロセッサの間の、−貫性及び合意を実現する方法として 定義している。これは、いくつかのプロセッサに障害がある場合でさえも適用さ れる。それと関連して、Lamport、”The ByzantineGen erals ’ Problem”、84 ACM Tramsaction  on Programmj、ngLanguages and Systems 、pp382−401.Jul−y 1.982では、軍事用語の瞳側が図式的 に説明されている。しかしながら、両方向性のリンクによって情報を交換できる nプロセッサのネットワークに適用された場合の問題点は、潜在的に障害のある プロセッサ、またはリンクを含む環境において、プロセッサの1つによって伝送 中の、メツセージの内容(値)についてすべてのプロセッサが合意することであ る。このような環境の下では、障害のある構成要素の動作についていがなる仮定 も行なわれない。従って、どの方法も、メツセージを中継することができなかっ たり、またはその内容を破壊することさえあるプロセッサまたはリンクに、対処 しなければならない。
ビザンチン合意(BA)は、1−組のプロセッサに対する回報通信を結果的に保 証するものである。つまり、システム中の障害の数が、この保証の信頼性を特徴 づけるパラメータtを越えないことを条件として、正しく動作するすべてのプロ セッサが同じメツセージを受取るが、またはどのプロセッサもメジセージを受取 らない、ということである。特徴としては、潜在的に信頼性が低いプロセッサの ネットワークは、いくつかの同期されたフェーズの情報交換を行なう手段を含む 。
この情報交換後、前記プロセッサはすべて、それらのプロセッサの1つが最初に 保持していた値について合意しなければ(1)すべての正しいプロセッサが同じ 値について合意し、かつ、 (2)もし最初の値が正しければ、すべてのプロセッサがその値について合意す る ときに得られる。
項目(1)及び(2)が暗に含んでいるのは、プロセッサの各々がそのプロトコ ルの実行を完了して合意に達するのに成る時間を要すること、そしてすべてのプ ロセッサがこの時間について承知していなければならない、ということである。
もし、すべてのプロセッサが同じフェーズで合意に達する。ならば、それは“即 時”の合意と呼ばれ、そうでない場合は、′最後I′合意と呼ばれる。
プロトコルは必要に応じて確認(authentication)を使用し、こ れにより任意のプロセッサが新しい値またはメツセージを情報交換に導入するこ とを阻止する。確認プロトコルは、送信プロセッサがメツセージに署名を添付す ることを要求する。この署名には符号化されたメツセージのサンプル部分が含ま れているので、任意の受信プロセッサはこのメツセージ力(真正であり且つ生成 プロセッサによって作成されたことを検査できる。また、どのプロセッサも、他 のプロセッサの署名を偽造不可能な、即ち、見破られずにメツセージ内容を変更 できないものと仮定される。
若しも、信頼性度tを有するBAがtよりも少ない障害によって影響されるとす れば、実際にはf個の障害しか生じえないという合意に、複数のプロセッサがど れ位の時間で到達できるであろうか。この問題の解決には、停止の概念を′明白 にすることが含まれる。プロセッサは、それが合意の値を決めたとき停止してい るとみなされ、この合意に関するそれ以上の処理またはメツセージの中継を行な わない。成るプロセッサが、特定の合意に関して停止したとき、他のプロセッサ またはそれ自身の合意の結果に影響することなく、その通信リンクの全部を切断 することができる。
従来技術では、確認を用いてパ即時BA”を達成するための方法は、t+1のフ ェーズ及び0(nt)メツセージを必要とする。ここで、確認を必要とする幾つ かのプロトコルでは、nプロセッサのネットワークにおいて合意を得るためのメ ツセージ数が、係数n及びtを含む小さな多項式関数で表わされるものと仮定す る。また、確認なしに、これらの結果が更に変更されるものと仮定する。
[発明の説明] 本発明の目的は、ネットワーク化されたアクティブなプロセッサ間でビザンチン 合意を得るための、計算機で実現可能な方法を提供することである。但し、この ネットワークでは、合意を得るのに必要なフェーズ及びメツセージの数が制限さ れており、またこれらのプロセッサが確認された回報通信メツセージを同期化さ れたフェーズで交換するものとする。それに関連して、本発明の他の目的は、高 々t(n/2)個のプロセッサ/リンクに障害があったとしても、信頼性のある (1+1.)接続のネットワークに結合されたnプロセッサ間で、該方法が動作 可能であり、更に、(t+2)のフェーズで合意を得ることができるようにする ことである。本発明の他の目的は、障害のあるプロセッサがない場合に、該方法 により最小数のフェーズで合意を得ることである。
これらの目的は、下記ステップ(a)〜(c)を含む方法によって達成される: (a) 偽造不可能な署名を有する値メツセージを、開始プメセツサから、それ 自身を含むすべてのアクティブなプロセッサに同報通信する。
(b) 各受信プロセッサは前記のメツセージを受取り、それ自身の偽造不可能 な署名を付加して、それ自身を含む他のすべてのアクティブなプロセッサに渡す 。
(c) 若しアクティブなプロセッサがどれもみな署名し、全員一致のサポート を得るならば、アクティブな各プロセッサはこのメツセージ値に合意し且つ最初 の2メツセージの通過の終りで停止する。若し、署名数が少なくともt+1であ るが、全員一致でないならば、署名を行ない且つt+1の署名を有するメツセー ジを送付し、全員一致のサポー1−による停止がなされない各プロッセサは、受 取ったメツセージを、繰返し送付し、t+2メツセージが通過するまで、その署 名をメツセージに付加するステップを続行する。t+2メツセージが通過した時 点で、若し、少なくともt+1の署名がメツセージに付加されていれば、その値 に対する合意が得られ、そうでない場合には、省略時の値(default v a]、ue)がとられる。
この方法の核心は、それ自身を含むすべてのアクティブなプロセッサに対し、受 取ったメツセージの″署名及び送信″を行なうことである。若し、最初の2つの メツセージの連続通過後、すべてのプロセッサが署名した(全員一致でサポート した)ならば、早期の停止が得られる。そうでない場合は、これらの全員一致の サポートが得られないプロセッサは、t+2の通過が生じるまで、受取ったメツ セージの署名、送信を繰返し行なうステップを続行する。この方法の利点は、障 害が無いときに早期の停止を生じるだけではなく、メツセージ数を0(nt)ま で直線的に制限するという点にある。従来技術の他の方に関しては、関与プロセ ッサ数が2t+1はどに小さいときは、前記のような障害がない場合の早期停止 は許されない。
[図面の簡単な説明] 第1図はBA呼出しの流れ図、 第2図は回報通信モニタの流れ図、 第3図は同報通信モニタとビザンチン・モニタの間の起時間(すakeup t ime)の伝達に関する流れ図、第4図はビザンチン・モニタの流れ図、第5図 は、7プロセツサのネットワークで、その中の3プロセツサに障害があるかもし れない場合の、メツセージ署名、送付のシナリオを示す図である。
最良の実施態様 本発明の方法は、完全かつ確実に接続された同期ネットワークにおいて、すべて のプロセッサが、大部分の時間、正常であると仮定する。この方法は特に、(a )障害のあるプロセッサがない場合、または(b)最大tプロセッサまで障害の ある場合、ビザンチン合意を得るのに必要なフェーズ及び確認されたメツセージ の数を最小限にするように定められている。
ビザンチン合意及び同期されたフェーズの情報交換以下の説明は、関係するネッ トワークがアクティブなプロセッサだけから成り、そしてメツセージ・トラフィ ックが複数のプロセッサをアクティブと非アクティブ(passive)に区分 することによって部分的に管理できるという仮定の下に行なう。ここで、フェー ズ1ではすべての“アクティブ″なプロセッサに対し、ソースSが偽造不可能な 署名を有する値■を送付する(生じる)ものと仮定しよう。これに関連して、“ フェーズ″を有向グラフで表わす場合、そのノードはプロセッサを表わし、枝は ノードの対の間で伝送されるメッセーすべてのプロセッサがこのメツセージの値 ■を受取り、前記メツセージを処理し、次の停止を決定までの時間差と定義され る。
若し、2番目のプロセッサによって、(V)sが正確に受取られるならば、この プロセッサは、その署名((v)s)pを添付し、フェーズ2の間に、それ自身 を含むすべてのプロセッサに対し、署名されたメツセージを送付する。また、こ のフェーズの間に、((v)s)pが、それ自身を含む各プロセッサpがら、q 番目のプロセッサによって正確に受取られ、かつフェーズ2の間に、他のメツセ ージが受取られないならば、q番目のプロセッサは、この方法に対する、これ以 上の関与を停止し、その確約された値のリストに値■を加える。フェーズ2で、 署名された値■が、それ自身を含むすべてのプロセッサから正確に受取られると 、″早期停止″が行なわれる。この制約がないと、q番目のプロセッサは、フェ ーズ(t+2)まで待たなければならない。その後に、値Vを確約された値のリ ストに加えることができる。
若し、■以外の値を、q番目のプロセッサが受取ったならば、送信者の障害が推 定され、q番目のプロセッサはその省略時の値をとる。
特殊メツセージ構文 ここで、特殊メツセージ構文を次のように定義する:(1)値Vのセットは原文 メツセージのセットに含まれる。
(2) ラベルは、原子メツセージ、確認またはラベル・シーケンスのどれかで ある。
(3)確認は形式ラベル(a)pである。ただしpはプロセッサの名前であり、 ラベルaは1つのラベルである。
(4) ラベル・シーケンスは、形式ラベルa、bのラベルである。ただし、ラ ベルa、bはラベルである。(a、b。
c)pは(a )p (b )p (c )と同じてはないことに注意されたい 。
(5)若し、a=bであるが、またはaがCの一部であり且つb=c (p)と なるようなラベルC及びプロセッサpがあるか、またはb=c、dであり且っa がC若しくはdの一部であるようなラベルC及びdがあれば、ラベルaはラベル bの一部である。
(6) メツセージ番スコンマのないラベルである。
[低いサポート及び密なメツセージ] 成るプロセッサが値■について“低いサポート″を有するといわれるのは1次の ようなt+1のプロセッサPの各々ごとに、当該プロセッサがその唯一の原子メ ツセージ部分として、■を有するpによって署名された確認を受取る場合である 。任意のフェーズで成るプロセッサに受取られたメツセージが″密″であるとい われるのは、その唯一の原子メツセージ部分が値であり、その他のすべての部分 が確認であり、そして複数のプロセッサの明白な■署名がそのメツセージに現ね れる場合である。ここで説明の便宜上、p+g*r及びSをプロセッサとし、■ を値とし、t=2とする。そうすると、(((v ) s )p)qがフェーズ 4ではなく、フェーズ3で受取られるならば、これは“密”なメツセージである 。これに関連して、シーケンス((v)s)p 、 ((v’) s)qは■に 対して1′低いサポート”である。なぜなら、これは原子部分Vを有するメツセ ージに(t+1)=3の明白な署名を含むからである。一般に、フェーズにで受 取った密なメツセージは次の形式%式%) を有する。低いサポートはフェース2でtメツセージを必要とする。後に、メツ セージ数は、フェーズを後の1つの密なメツセージと同じ位、大きくまたは小さ くなることがある。
密なメツセージと低いサポートの概念は次のように表現することができる: フェーズqで受取った密なメツセージ=(値Vだけの)原子メツセージ部分十明 白なqプロセッサからの確認低いサポート=原子部分の値■だけを有する密なメ ツセージで受取ったq>=(t+1)の明白な署名若し、成るプロセッサがフェ ーズ2で停止せず、かっこのプロセッサが値Vについて低いサポートを有するな らば、このプロセッサは、(1)その確約された値のリストにVを加え、そして (2)若し、■が最初の2つの値の1つであるならば、密なメツセージを含む十 分なメツセージを送り、■に対する低いサポートを伝達しなければならない。最 後に、プロセッサは、若し前記以外の場合で停止しないならば、フェーズt+2 の後に停止しなければならない。
本発明の方法は、障害のない場合には、全員一致のサポーシを受取るプロセッサ がフェーズ2で停止することを可能にするという点で最適化されるが、障害があ る場合には、全員一致のサポートを受けないプロセッサは、低いサポートを有す る密なメツセージを、フェーズ2とフェーズt+2の間の期間中待ち、伝達され た値をそれらの確約された値のリストに加え、そして、最初に受取った前記2つ の値に対応するすべてのプロセッサに、密なメツセージを伝送しなければならな い。
相互依存効果と局所クロッキング 複数ノードを有するネットワークは、メツセージ・インターフェースに対の伝送 が存在するような、単一送信者/単一受信者型のネットワークである。既に説明 したように、用語″フェーズは、ノード対間のメツセージ伝送を特徴づけ、かつ 大まかに″時間間隔″′に対応する。相互依存の問題は、時間がノード間におい て正確に同じではないという事実から生じる。詳細については、Lamport 、”Time、C1ocks、and theOrdering of Eve nts in a Distributed System”、21Cosnm unications of the ACM、pp558−565. Jul y 1978に記述されている。実際的には、これは、若しシステムが大域(グ ローバル)クロックによって同期化できるなら、用語“フェーズ″は時間間隔と 同義語である。
局 ノードの 打検2 初めに、本発明の方法は、主記憶、入出力チャネル、制御装置、直接アクセス記 憶装置及びその他のI10装置が、それぞれ接続されている少なくとも1つのC PUを含むような計算システムで実行可能である。このようなシステムは米国特 許第3400371号に説明されている。このシステムには、プロセスの実行に 必要な、計算システムまたはオペレーティング・システムの機能のすべてが、資 源として含まれる。
代表的な資源には、主記憶、■/○装置、CPU、データ・セット、及び制御プ ログラムまたは処理プログラムが含まれる。更に、このようなシステムは多重プ ログラミング能力を有する。これは、計算システムによる2つ以上のプロセスの 並行処理に適し、IBM社から発行された刊行物GC28−6646(1973 年7月)に説明されているIBMシステム/360オポレーテイング・システム によって動作するコンピュータで管理することができる。非同期動作する複数の CPUから成るネットワークは、米国特許第3940743号、同第42233 80号に記述されている。
本発明の方法を実行する流れ図 ネットワークの各プロセッサ・ノードには、第2図の同報通信モニタ及び第4図 のビザンチン合意モニタが含まれる。
回報通信モニタは、ノードに対する一般的なメツセージ通信プロセッサである。
また、これには、障害がない場合に早期停止、即ちフェーズ2によって停止する ビザンチン合意を決定する機能も含まれる。対照的に、ビザンチン合意モニタは 早期停止以外の合意を決定する。
第1図には、メツセージ構文が示されている。これは、合意プロセスの開始時に ビザンチン合意が呼出される場合は、合意識別子(AI)、生成時刻(TG)、 及び値(v)を含むメツセージが生成されることを意味する。(ビザンチン合意 の目的は、プロセッサが初めに伝えたことに関しての合意を確認することである 。そして、メツセージは署名され、他のすべてのアクティブなプロセッサに送信 される。これは、ネットワーク中の他のすべてのアクティブな関与プロセッサが 分っているからである。更に、完壁なものにするために、″署名″として、暗号 化されたメツセージを用いたり、または少なくとも1つの追加FCCバイトを用 いることができる。
モニタの属性 モニタは、計算資源に結合された手順の集りである。これは、資源を割当てたり 、資源に対する参照を制御する責任を有する。一般しこ、システム中の各資源は 特定のモニタを有する。例えば、記憶モニタ、通信(回報通信)モニタ、または CPUモニタがある。モニタの各々は、責任を有する資源についての情報を含む テーブルまたは他の構造に対し、排他的なアクセスを有する。モニタに関連する ものに1メール・ボックスl′がある。メール・ボックスは、2つ以上の送信プ ロセスからのメツセージを記録できるような受信者に関連したキュー(queu e)である。
回報通信モニタ 第2図には、本発明による回報通信モニタの流れ図が示されている。このモニタ は、指定された論理レジスタにイニシアル・タイムを記録する。モニタ手順は、 最初に回報通信メイル・ボックスをアクセスしてこれをロックは、そして繰返し 手順(ループ)を用いて、メール・ボックスを定義する外部ソースからのメツセ ージのキューが使い果たされるまで、各メツセージを順次に処理するように構築 される。この時点で、メール・ボックスは、アンロック(unLock)されて おり、新しいメツセージの到着を待つ。各メツセージは、その中に組込まれた回 報通信情報ブロックによって形式化される。このブロックトこは、アイデンティ ティ、生成時刻及び確約値にす対するステータス情報が含まれる。そして、一般 的に認められる幾つかのループがある。最初のループは、誤っているか、または 確認されていないか、または現在時刻(CT)がメツセージ生成時刻(TG)を 所定量越えているようなメツセージをすべて廃棄することに関連する。これらの 量は署名数(S)に等しい時間単位である。メツセージが廃棄されると、回報通 信モニタは゛″休休止状状態戻る。メツセージが確認されたものであって、誤り のないものであり、しかも現在時刻が、生成時刻に所定の増加量を加えたものを 越えていないと仮定すれば、″ベース″′と呼ばれる一定配列の目的リストから 成るデータ構造がアクセスされる。6ベース”は、任意の合意について最初に受 取られるメツセージである。また、メツセージ内の検出されたベースの数をカウ ントするために、走行変数に7!l′KOにセットされる。これらのベースは、 その生成時刻(T G)によって配列されるので、“次のベース”を取出す次の ステップは、リストから次の最大の大きさを有するTGを得ることを意味する。
若し、次のベース″がなければ、この最初のプロセスのメツセージは、この一定 配列のリストのデータ構造にベースとして記憶される。
次のベース”を取出すステップで、次のベース″が見つかったものと仮定すると 、処理中のメツセージのアイデンティティをベースのアイデンティティと比較す る必要がある。
若し、両者が等しくないならば、次のベースが取出され、比較される。ベースが なくなるまで、または処理中のメツセージのAI(合意識別子)と同じAIを有 するベースが見つかるまで、一定配列のリストは走査される。カウントは一単位 ずつ増加される、即ちに=に+1となる。
次に、若し、ベースが見つかったならば、このベースの値がメツセージの値Vに 等しいかどうかについて検査が行なわされる。若し、処理中のメツセージの値と 、ベースの値が等しくないならば、Kが2よりも小さい場合に、ベースは再走査 される。このリストでは2つのベースだけを維持すればよいことに注意されたい 。これは、現在のメツセージと1つのベースの間の値Vの不一致が、送信者の障 害を表わすのに十分であるという判断を前提としている。即ち1、若し、送信者 が同じAIの下に異なった値を有する2つのメツセージを送るならば、障害が表 示される。若し、ベースが2回以上ルー一致であるならば、メツセージは廃棄さ れる。
ここで、現在処理されたメツセージ値Vがベース値に等しいものと仮定しよう。
若し、該ベースが“C”または“d”によってマークされれば、それは廃棄され る。これは、これ以上のメツセージ処理またはビザンチン合意を行なわなくても よいことを意味し、合意は既に決定されていることを表わす。
若し、ベースがマークされていなければ、メツセージの署名は、ベースの署名を 更新するのに用いられる。即ち、最初のt+2の署名は完全に記憶され、それら のすべてに適切なビットがマークされる。
若し、現在時刻CTが生成時刻TGラプラス単位を越えていないならば、それは 早期停止時刻以前、即ちフェーズ2の範囲内にある。若し、すべての署名が受取 られているならば、全員一致のサポートが存在する。一方、すべての署名が受取 られていなかったならば、メツセージは廃棄され、回報通信モニタは“休止”状 態に戻る。
ここで早期停止中の処理について考えてみると、ベースを検査して、処理中のメ ツセージ及びベースと同じAIを有するもう1つのベースが存在するかどうかを 調べる。若し、存在するなら、ベースは、lld”をマークしてリストに戻され 、プロセッサは省略時の値をとる。さもなければ、ベースは、LL C+1をマ ークしてリストに戻され、そしてベース値■が合意値左して採用される。この実 現形態では、省略時の値は、送信者が障害を有するという情報を含む。tr c I+またはd′″のどちらかにベースがマークされた後、回報通信モニタは″休 止″状態になる。こうして、早期停止のプロセスが完了する。
次に、データ構造を循環した後、ベースが存在しないものと仮定すると、処理中 のメツセージがベースとして記憶される。若し、そのメツセージの署名数が2つ であれば、回報通信モニタは直ちに″休止″状態に戻る。他方、若し、署名数が 2以外であれば、プロセッサは、そのメツセージに署名し、これを自らを含む、 すべての他のプロセッサに同報通信する。
その後、同報通信モニタは″休止″状態に戻る。
回報通信モニタは、各メツセージを順次に処理し、時間確認または誤り基準に適 合しないメツセージを廃棄してベースを確立する。同報通信モニタが合意を決定 する唯一の時機は早期停止の場合である。同報通信モニタの活動と同期していな いのは、ビザンチン・モニタの活動であり、該モニタは早期停止の合意以外の合 意を決定することを目的とする。回報通信モニタとビザンチン・モニタの間の通 信は、ベースを変更し、それを記憶することによって行なわれる。
第3図を参照するに、そこではメツセージがベースとして記憶され、生成時刻+ 2単位がビザンチン・モニタのベースをポイントする起動時間のリストに入れら れる。起動時間の最も早い時機にビザンチン・モニタを起動するため、ビザンチ ン・モニタのタイマが必要に応じてリセットされる。
ビザンチン・モニタ 第4図には、ビザンチン・モニタの流れ図が示されている。
このモニタは、2つの配列されたリストに応答する。このモニタは、呼出される と、同報通信メール・ボックスをアクセスし、ロックして、現在時刻を得るとと もに、配列されたリストをロックする。これに関しては、最初のリストは、いく つかのベースのTG+2またはTG+t+2に対応する起動時間の一定配列のリ ストであるが、他のリス1−は、依然としてアクティブなベースの配列されたリ ストである。これらのリストの内容はループによって処理される。]一つのメツ セージがベースとして記憶されるごとに、時刻TO+2単位は、ビザンチン・モ ニタの起動時間として記憶される。そのリスト上の該目的に関連するのは、他の リストに記憶されたベースに対するポインタである。オペレーティング・システ ムが起動時間に応答してビザンチン・モニタを呼出す場合、この起動時間はリス トから除去され、そして関連するベースのアクセスが行なわれる。このベースは 、”c”またはLL d”とマークされているか、または全くマークされていな い。若し、このベースがマークされているならば、ビザンチン・モニタは“休止 ”状態に戻る。若し、ベースが“マークされていない′″ならば、起動時間WT はベースの生成時刻TGと比較される。若し、WT=TO+2であり、そして、 ベースに低いサポート(t+1の署名)があれば、ベースは署名されたとえ、前 に送信されていても、全部のプロセッサに送信される。
いずれにしても、TG十t+2の新しい起動時間がリストに載せられる。また、 若し、最も早い″起動時間″に起動する必要があれば、ビザンチン・モニタはそ のタイマをリセットした後に“休止”に戻る。若し、WT=TG+t+2ならば 、ベースのメツセージに付随する署名数が検査され、それが十分にサポートされ ているかどうかが確かめられる。即ち、若し、署名数Sが(t+1)よりも小さ ければ、サポートは不十分であるとみなされ、ベースは“d”とマークされる。
プロセッサは合意とは反対の決定をし、省略時の値をとる。そして、ビザンチン ・モニタは“休止”状態に戻る。他方、若し、5=)(t+1)ならば、リスト において同じ識別子を有するもう1つのベースの探索が行なわれる。若し、この ベースが見つかれば、それを“d”とマークし、プロセッサは合意に反対の決定 をして、省略時の値をとり、ビザンチン・モニタは″休止″状態に戻る。若し、 同じ識別子を有するもう1つのベースがなければ、ベースはrr Cuとマーク され、プロセッサはそのベースの合意値Vをとる。その後、ビザンチン・モニタ は″休止″状態に戻る。
ビザンチン・モニタの機能は、時刻TG+ (t+2)時間単位で合意を決定す ることである。従って、同報通信モニタは、最初の2フエーズ内で、合意の可否 を決定するが、ビザンチン・モニタは、フェーズt+2で、合意の可否を非同期 的に決定する。この方法によって、障害のない場合には2フエーズ内に、または 、障害数tが(n/2)よりも小さい場合にはt+2フェーズ内に、アクティブ なプロセッサはことごとく、合意値または省略時の値に達することが保証される 。
本発明のビザンチン合意方法 本発明の方法は、複数のプロセッサがトランザクションの確約または放棄につい ての合意を、所定の時間内で保証することが望ましい場合、本発明の方法は2フ エーズ確約プロトコルに適用することができる。従って、本方法によるメツセー ジに成るプロセッサが応答し、その応答が、同期された(t+1)接続のプロセ ッサ・ネットワーク中の更にもう1つのプロセッサに受取られるのに要する時間 の上限τが存在する。(t+1)接続ネットワークは、ネットワーク中の任意の 2点がt+1の「互いに素J (disjoint)なる経路を有することを意 味すると定義される。
若し、プロセッサが成る値を予期し、その後、時間τ内にそれを受取らなければ 、このプロセッサは、送信または受信プロセッサのどちらかに障害があると結論 する。本発明の方法を2フエーズ確約に適用するプロトコルは、下記のステップ を必要とする: (a) ノードの1つをトランザクション・コーディネータとして指定し、(そ のクロックの)時刻tで、″確約準備(prepare−to−commit) ”メツセージを、すべての関与プロセッサに同報通信し、 (b) 各プロセッサは、″準備された(prepared) ”レコードを記 録して″イエス″と投票するか、または放棄して″ノー″と投票することにより 、″確約準備″に応答し、(c) 若し1時刻t+2でまでに、トランザクショ ン・コーディネータが、すべてのネットワーク関与者から″イエス″を受取って いるならば、ビザンチン合意プロトコルを用いて事象1′確約″を同報通信する か、または前記ビザンチン・プロトコルを用いて″放棄″″を同報通信し、(d ) 若し、そのクロックの時刻t+6τまでに、プロセッサは、′確約”するこ とを決定していなければ、″放棄″すること髪決定する、即ち省略時の値を採用 する。
敢瀝LJbB(社)乙ナリオ 第5図には、CPUネットワークのグラフのノード間の有向性の枝に沿ったメツ セージ伝達パターンが示されている。
この場合、n=7のCPUがあり、そのうち、t=3のcpUに障害がある。黒 丸のノードは障害のあるプロセッサを表わし、白丸のノートは正しいプロセッサ を表わす。第1のフェーズで、Aは値Vを含み、Aが署名したメツセージを、時 物TGにおいてBにだけ(不正な様式で)送る。第2のフェーズで、Bは、送ら れたメツセージに正しく署名し、それをすべてのノードに送る。第3のフェーズ で、Gは(不正な様式で)そのメツセージに署名し、それをFにだけ送る。第4 のフェーズで、Fは同じように(不正な様式で)そのメツセージに署名し、それ をEにだけ送る。最後の第5のフェーズで、Eは正しく、そのメツセージに署名 し、それをすべてのノードに送る。面白いことに、メツセージは、それが少なく ともt+1の署名を必要とするという理由がら、第47エーズまでは十分にサポ ートされず、第5フエーズになって始めて十分にサポートされる。メツセージが 署名され、ノードG及びFから送られるためには、両ノードは、たぶん共謀して 動作するものとみられる。Eにだけ送られたメツセージに(t+1)=4の署名 をノードが添付するのは、第4フエーズにおいてだけである。若し、下が実際に 、たった1つのノードの代りにすべてのノードにメツセージを送っていたならば 、フェーズTG+4で合意が決定されたであろう。
複数のフェーズは、不連続に生じているように説明されてはいるが、入子関係で もよいことはいうまでもない。更に。
若し、ネットワークが完全に接続され、各ノードが他のあらゆるノードに連結さ れ、かつ少なくとも巨+1)接続であるならば、本発明は、変更なしに、t(n /2)の範囲まで、検出されないノード/リンク障害に耐えるであろう。
有利な点として、本発明は、ベースがすべてのアクディプなプロセッサの署名を 含んでいる場合、その時点(第2)ニーズ)で即時停止を要求する。早期停止し ない場合、プロセッサは少なくともt+1の署名が得られる。t+2のフェーズ まで待って始めて、確約された値のリストに値Vを加えることができる。若し、 ■以外の値を受取ったならば、このプロセッサは、送信者に障害があったものと 結論づけ、省略時の値を採用する。障害の証拠は即時停止を満足させないことで あると考えられる。即ち、若し、2フエーズの処理の後、プロセッサが停止して いなければ、ノードの1つのどこかに障害がある。
FIG、 I FIG、 3 FIG、 2 G・ oB FIo、 5 国際調査報告

Claims (3)

    【特許請求の範囲】
  1. (1) 信頼性のある(t+1)接続のネットワークにおいてnプロセッサ間の 合意を得る方法であって、誤゛りがない場合は早期停止を保証し、t(n/2) の誤りがある場合は最後的には停止し、 開始プロセッサの偽造不可能な署名を有する値メツセージを、該開始プロセッサ からそれ自身を含むアクティブなすへてのプロセッサに同報通信するステップと 、アクティブな各受信プロセッサが、このようなメツセージにそれ自身の偽造不 可能な署名を添付して、それ自身を含む他のすべてのアクティブなプロセッサに 送るステップと、 アクティブな各プロセッサは、あらゆるアクティブなプロセッサが署名している 場合は、最初の2つのメツセージ通過の終りに、メツセージ値に合意して停止し 、署名数が少なくともt+1であるが、全員一致ではない場合は、そのメツセー ジに署名して、t+1の署名とともに送り、そして全員一致のサポートによる停 止をされなかった各プロセッサは、(t+2)のメツセージ通過が済むまで、繰 返し、受取ったメツセージを送り且つそれにその署名を添付するステップを続け 、(t+2)のメツセージ通過の時点で、少なくとも”(−”t + 1 )の 署名がメツセージに添付されている場合は、その値に合意し、そうでなければ、 省略時の値をとるステップと を含むことを特徴とするプロセッサ間の合意を得る方法。
  2. (2)請求の範囲第(1)項において、生成された各メツセージが、合意識別子 (AI)、生成時刻(TG) 、メツセージ値(V)、及び少なくとも1つの添 付された署名を含むことを特徴とするプロセッサ間の合意を得る方法。
  3. (3)請求の範囲第(1)項において、各プロセッサが少なくとも回報通信モニ タ及びビザンチン合意モニタを含むことを出願人 インターナショナル・ビジネ ス・マシーンズ・コーポレーション 代理人 弁理士 頓 宮 孝 − (外1名)
JP58500986A 1983-02-09 1983-02-09 障害がない場合に最適化される、複数プロセッサの合意を得る方法 Granted JPS60500232A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US1983/000171 WO1984003158A1 (en) 1983-02-09 1983-02-09 A method for achieving multiple processor agreement optimized for no faults

Publications (2)

Publication Number Publication Date
JPS60500232A true JPS60500232A (ja) 1985-02-21
JPS6351302B2 JPS6351302B2 (ja) 1988-10-13

Family

ID=22174833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP58500986A Granted JPS60500232A (ja) 1983-02-09 1983-02-09 障害がない場合に最適化される、複数プロセッサの合意を得る方法

Country Status (5)

Country Link
US (1) US4569015A (ja)
EP (1) EP0135499B1 (ja)
JP (1) JPS60500232A (ja)
DE (1) DE3381526D1 (ja)
WO (1) WO1984003158A1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4644542A (en) * 1984-10-16 1987-02-17 International Business Machines Corporation Fault-tolerant atomic broadcast methods
US4807224A (en) * 1987-08-21 1989-02-21 Naron Steven E Multicast data distribution system and method
US5109384A (en) * 1988-11-02 1992-04-28 Tseung Lawrence C N Guaranteed reliable broadcast network
DE3906846C2 (de) * 1989-03-03 1994-02-17 Bodenseewerk Geraetetech Redundante Rechneranordnung für Steuersysteme
US5212788A (en) * 1990-05-22 1993-05-18 Digital Equipment Corporation System and method for consistent timestamping in distributed computer databases
US5363121A (en) * 1990-06-29 1994-11-08 International Business Machines Corporation Multiple protocol communication interface for distributed transaction processing
JP2500038B2 (ja) * 1992-03-04 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセッサ・コンピュ―タ・システム、フォ―ルト・トレラント処理方法及びデ―タ処理システム
JP2534430B2 (ja) * 1992-04-15 1996-09-18 インターナショナル・ビジネス・マシーンズ・コーポレイション フォ―ルト・トレランスのあるコンピュ―タ・システム出力の合致を達成するための方法
US5754757A (en) * 1992-11-06 1998-05-19 The University Of Newcastle Upon Tyne Efficient schemes for constructing reliable computing nodes in distributed systems
US5586252A (en) * 1994-05-24 1996-12-17 International Business Machines Corporation System for failure mode and effects analysis
US5713017A (en) * 1995-06-07 1998-01-27 International Business Machines Corporation Dual counter consistency control for fault tolerant network file servers
US5682470A (en) * 1995-09-01 1997-10-28 International Business Machines Corporation Method and system for achieving collective consistency in detecting failures in a distributed computing system
US5799305A (en) * 1995-11-02 1998-08-25 Informix Software, Inc. Method of commitment in a distributed database transaction
EP0813710B1 (en) * 1996-01-09 2001-08-22 Koninklijke Philips Electronics N.V. A method and system for synchronizing concurrent sequential processes by means of intra-process update operations and inter-process adapt operations
US6016505A (en) * 1996-04-30 2000-01-18 International Business Machines Corporation Program product to effect barrier synchronization in a distributed computing environment
US5696896A (en) * 1996-04-30 1997-12-09 International Business Machines Corporation Program product for group leader recovery in a distributed computing environment
US5704032A (en) * 1996-04-30 1997-12-30 International Business Machines Corporation Method for group leader recovery in a distributed computing environment
US5793962A (en) * 1996-04-30 1998-08-11 International Business Machines Corporation System for managing membership of a group of processors in a distributed computing environment
US5787250A (en) * 1996-04-30 1998-07-28 International Business Machines Corporation Program product for managing membership of a group of processors in a distributed computing environment
US5699501A (en) * 1996-04-30 1997-12-16 International Business Machines Corporation System for group leader recovery in a distributed computing environment
US5764875A (en) * 1996-04-30 1998-06-09 International Business Machines Corporation Communications program product involving groups of processors of a distributed computing environment
US6052712A (en) * 1996-04-30 2000-04-18 International Business Machines Corporation System for barrier synchronization wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each subsequent phase
US6026426A (en) * 1996-04-30 2000-02-15 International Business Machines Corporation Application programming interface unifying multiple mechanisms
US5787249A (en) * 1996-04-30 1998-07-28 International Business Machines Coporation Method for managing membership of a group of processors in a distributed computing environment
US6104871A (en) * 1996-04-30 2000-08-15 International Business Machines Corporation Utilizing batch requests to present membership changes to process groups
US6216150B1 (en) 1996-04-30 2001-04-10 International Business Machines Corporation Program product for an application programming interface unifying multiple mechanisms
US5748958A (en) * 1996-04-30 1998-05-05 International Business Machines Corporation System for utilizing batch requests to present membership changes to process groups
US5768538A (en) * 1996-04-30 1998-06-16 International Business Machines Corporation Barrier synchronization method wherein members dynamic voting controls the number of synchronization phases of protocols and progression to each new phase
US5799146A (en) * 1996-04-30 1998-08-25 International Business Machines Corporation Communications system involving groups of processors of a distributed computing environment
US5790772A (en) * 1996-04-30 1998-08-04 International Business Machines Corporation Communications method involving groups of processors of a distributed computing environment
US6671821B1 (en) * 1999-11-22 2003-12-30 Massachusetts Institute Of Technology Byzantine fault tolerance
US7681018B2 (en) * 2000-08-31 2010-03-16 Intel Corporation Method and apparatus for providing large register address space while maximizing cycletime performance for a multi-threaded register file set
US6931431B2 (en) * 2001-01-13 2005-08-16 International Business Machines Corporation Agreement and atomic broadcast in asynchronous networks
US8458754B2 (en) * 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US6704887B2 (en) * 2001-03-08 2004-03-09 The United States Of America As Represented By The Secretary Of The Air Force Method and apparatus for improved security in distributed-environment voting
AU2002240697A1 (en) * 2001-03-30 2002-10-15 Tttech Computertechnik Ag Method for operating a distributed computer system
US7257617B2 (en) * 2001-07-26 2007-08-14 International Business Machines Corporation Notifying users when messaging sessions are recorded
US20030023850A1 (en) * 2001-07-26 2003-01-30 International Business Machines Corporation Verifying messaging sessions by digital signatures of participants
US20030021416A1 (en) * 2001-07-26 2003-01-30 International Business Machines Corporation Encrypting a messaging session with a symmetric key
US7269622B2 (en) * 2001-07-26 2007-09-11 International Business Machines Corporation Watermarking messaging sessions
US7305585B2 (en) * 2002-05-23 2007-12-04 Exludus Technologies Inc. Asynchronous and autonomous data replication
US20050060608A1 (en) * 2002-05-23 2005-03-17 Benoit Marchand Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters
US20080222234A1 (en) * 2002-05-23 2008-09-11 Benoit Marchand Deployment and Scaling of Virtual Environments
US20050216910A1 (en) * 2002-05-23 2005-09-29 Benoit Marchand Increasing fault-tolerance and minimizing network bandwidth requirements in software installation modules
US7444514B2 (en) * 2003-10-15 2008-10-28 International Business Machines Corporation Group key exchanges with failures
US20060045101A1 (en) * 2004-08-31 2006-03-02 International Business Machines Corporation Efficient fault-tolerant messaging for group communication systems
US8837528B2 (en) 2005-02-25 2014-09-16 Sony Computer Entertainment America Llc Data distribution by proxy
JP2008003646A (ja) * 2006-06-20 2008-01-10 Fujitsu Ltd 不良モジュール検出方法および信号処理装置
US9483405B2 (en) * 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
WO2009140707A1 (en) * 2008-05-21 2009-11-26 Technische Universität Wien Cross-domain soc architecture for dependable embedded applications
US20100293072A1 (en) * 2009-05-13 2010-11-18 David Murrant Preserving the Integrity of Segments of Audio Streams
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
CN103562805B (zh) * 2011-03-30 2017-06-30 维斯塔斯风力系统集团公司 具有高度可靠实时功率控制的风力发电厂
US20150088761A1 (en) * 2013-09-20 2015-03-26 International Business Machines Corporation Implementing a bargaining strategy between teams with majority voting
US10049017B2 (en) * 2016-10-04 2018-08-14 Nec Corporation Method and system for byzantine fault-tolerance replicating of data on a plurality of servers
CN107391320B (zh) * 2017-03-10 2020-07-10 创新先进技术有限公司 一种共识方法及装置
US20180308091A1 (en) * 2017-04-21 2018-10-25 Vmware, Inc. Fairness preserving byzantine agreements
WO2019202393A1 (en) * 2018-04-16 2019-10-24 Slock.It Gmbh Trustless statelessincentivized remote node network using minimal verification clients
EP3566392B1 (en) * 2018-12-13 2021-08-25 Advanced New Technologies Co., Ltd. Achieving consensus among network nodes in a distributed system
RU2716558C1 (ru) 2018-12-13 2020-03-12 Алибаба Груп Холдинг Лимитед Выполнение изменения первичного узла в распределенной системе
BR112019014815A2 (pt) 2018-12-13 2020-02-27 Alibaba Group Holding Limited Método implementado por computador, meio de armazenamento legível por computador não transitório e sistema

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573751A (en) * 1969-04-22 1971-04-06 Sylvania Electric Prod Fault isolation system for modularized electronic equipment
GB1422952A (en) * 1972-06-03 1976-01-28 Plessey Co Ltd Data processing system fault diagnostic arrangements
US4030072A (en) * 1974-12-18 1977-06-14 Xerox Corporation Computer system operation and control
US4112488A (en) * 1975-03-07 1978-09-05 The Charles Stark Draper Laboratory, Inc. Fault-tolerant network with node branching
US4015246A (en) * 1975-04-14 1977-03-29 The Charles Stark Draper Laboratory, Inc. Synchronous fault tolerant multi-processor system
US4174536A (en) * 1977-01-21 1979-11-13 Massachusetts Institute Of Technology Digital communications controller with firmware control
JPS53124943A (en) * 1977-04-08 1978-10-31 Agency Of Ind Science & Technol Composite information processor
US4276594A (en) * 1978-01-27 1981-06-30 Gould Inc. Modicon Division Digital computer with multi-processor capability utilizing intelligent composite memory and input/output modules and method for performing the same
US4223380A (en) * 1978-04-06 1980-09-16 Ncr Corporation Distributed multiprocessor communication system
GB2023314B (en) * 1978-06-15 1982-10-06 Ibm Digital data processing systems
US4325120A (en) * 1978-12-21 1982-04-13 Intel Corporation Data processing system
US4354225A (en) * 1979-10-11 1982-10-12 Nanodata Computer Corporation Intelligent main store for data processing systems
US4418384A (en) * 1980-10-06 1983-11-29 Honeywell Information Systems Inc. Communication subsystem with an automatic abort transmission upon transmit underrun

Also Published As

Publication number Publication date
DE3381526D1 (de) 1990-06-07
EP0135499A4 (en) 1987-07-06
EP0135499B1 (en) 1990-05-02
WO1984003158A1 (en) 1984-08-16
US4569015A (en) 1986-02-04
JPS6351302B2 (ja) 1988-10-13
EP0135499A1 (en) 1985-04-03

Similar Documents

Publication Publication Date Title
EP0135499B1 (en) A method for achieving multiple processor agreement optimized for no faults
Davcev et al. Consistency and Recovery Control for Replicated Files.
Amir et al. Steward: Scaling byzantine fault-tolerant replication to wide area networks
Powell et al. The Delta-4 approach to dependability in open distributed computing systems.
Nawab et al. Blockplane: A global-scale byzantizing middleware
Malkhi et al. An architecture for survivable coordination in large distributed systems
Guerraoui et al. Consensus in asynchronous distributed systems: A concise guided tour
WO2003073278A2 (en) Clustering infrastructure system and method
Guerraoui et al. Refined quorum systems
EP0814590A2 (en) Preventing conflicts in distributed systems
US20180308091A1 (en) Fairness preserving byzantine agreements
US7562100B2 (en) Maintaining coherency in a symbiotic computing system and method of operation thereof
Hine et al. An architecture for distributed OASIS services
Sheff et al. Heterogeneous paxos: Technical report
Dolev A simple model for agreement in distributed systems
WO1994011820A1 (en) Efficient schemes for constructing reliable computing nodes in distributed systems
Buchnik et al. A generic efficient biased optimizer for consensus protocols
Al Salih et al. Innovative Byzantine Fault Tolerance in Hyperledger Fabric with BDLS
Zhou et al. A system for managing remote procedure call transactions
Ezhilchelvan et al. Systematic development of a family of fair exchange protocols
Hellings et al. [Solution] Byzantine Cluster-Sending in Expected Constant Cost and Constant Time
Bessani et al. Decoupled quorum-based Byzantine-resilient coordination in open distributed systems
Martin Byzantine fault-tolerance and beyond
Ramasamy et al. Semi-passive replication in the presence of byzantine faults
Drost et al. Assertional verification of a majority consensus algorithm for concurrency control in multiple copy databases