JPS63238634A - 分散多重処理トランザクション処理システム - Google Patents

分散多重処理トランザクション処理システム

Info

Publication number
JPS63238634A
JPS63238634A JP62216271A JP21627187A JPS63238634A JP S63238634 A JPS63238634 A JP S63238634A JP 62216271 A JP62216271 A JP 62216271A JP 21627187 A JP21627187 A JP 21627187A JP S63238634 A JPS63238634 A JP S63238634A
Authority
JP
Japan
Prior art keywords
processing unit
transaction
data
disk
processing
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
JP62216271A
Other languages
English (en)
Inventor
デイル・エル・シップリー
ジャン・ディ・アーネット
ウィリアム・エイ・アーネット
スティーヴン・ディ・バウメル
アニル・バヴナニ
チュエンプ・ジェイ・チョー
ディヴッド・エル・ネルソン
マティ・ソーハ
ディヴッド・エイチ・ヤマダ
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.)
TORERANTO SYST Inc
Original Assignee
TORERANTO SYST Inc
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 TORERANTO SYST Inc filed Critical TORERANTO SYST Inc
Publication of JPS63238634A publication Critical patent/JPS63238634A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2046Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant where the redundant components share persistent storage
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • G06F16/1767Concurrency control, e.g. optimistic or pessimistic approaches
    • G06F16/1774Locking methods, e.g. locking methods for file systems allowing shared and concurrent access to files
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2035Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant without idle spare hardware

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、多重処理コンピュータシステムに関し、より
特定的には分散された故障寛容オンライントランザクシ
ョン処理コンピュータシステムに関するものである。
〔従来の技術〕
多重処理システムはこれまでに公知である。
種々の形式の多重処理システムが存在し、その中には並
列処理システム、及びオンライントランザクション処理
のために設計された多くの形式の計算システムが含まれ
る。
オンライントランザクション処理は一般的に云って、バ
ッチ処理及び実時間処理と対照されるものである。バッ
チ処理は、前のジョブが完了した後に各々のジョブが連
続して開始され、且つ次のジョブが始まる前に完了され
るようにして、複数のジョブを待ち行列とすることを含
むものであり、処理の間にはユーザーとの間に事実上何
の相互作用もない。データベースに対するアクセスが必
要であるのならば、データベースはジョブと共にロード
され、またアンロードされる。ジョブを列状に配置して
から応答を受は取るまでの間の経過時間は大きぐ異なり
得るものであるが、殆どの場合には数分以上を要し、そ
のためユーザーがジョブを人力してから応答までの間に
作業をすることなしに待つということは合理的でなかっ
た。1970年代の後半に至るまで、殆どの市販のコン
ピュータシステムの構成は、基本的に云ってバッチ処理
を意図したものであった。バッチ処理システムは、科学
的な応用において特別な用途を見出すことのできるもの
である。
実時間処理システムは市場においてシェアが小さいもの
であり、基本的には、刺激即ち要求が例えばミリ秒単位
の如く非常に敏速に実行されねばならないような製造工
業での用途に使用されている。実時間処理システムの典
型的な用途は、高度に自動化された化学的または製造工
程をモニターし及び制御するための、プロセス制御を含
んでいる。
一部オンライントランザクション処理システムは多くの
場合、大きなデータベース及び複数の個人との間での非
常に多くの相互作用を含むものであり、各々の個人は典
型的には端末を操作しており且つ何等かの機能を営むよ
うにシステムを使用している。この何らかの機能には、
より大きなタスクの一部としてデータベースを最新のも
のとすること、及び受は入れ可能な時間内に予想可能な
応答を要求することがある。
オンライントランザクション処理システムは、典型的に
は大きなデータベースと、日常の多量のオンライン最新
化と、及び広範囲にわたる端末の取り扱い設備とを含ん
でいる。多くの場合、オンライントランザクション処理
システムにおいては、書類によるバックアップなしに、
最新のデータベースのみが包含されている。
オンライントランザクション処理のために特別に設計さ
れたコンピュータシステムの構成は1970年代の後半
に紹介された。しかしながらオンライントランザクショ
ン処理に用いるための、バッチ式でない形式のものにつ
いても、それまでより一般的であったバッチシステムが
好ましいことが多かった。しかし時がたって、現在では
オンライントランザクション処理は、処理システムに対
して幾つかの要求を出すまでになった。そのような要求
としては、システムが実質的に連続的に利用可能である
こと、拡張可能性(通常はモジュール形式での)、構成
部分が故障した場合でもデータが完全であること、及び
操作が容易であることが含まれる。
実質的に連続的にシステムが利用可能であることに対す
る要求、及びデータの完全性に対する要求は、一般的に
は合わせて「故障寛容性」(fault tolera
nce) と称されている。従って商業的に受は入れる
ことのできるオンライントランザクション処理システム
は、その属性の一つとして故障寛容性を示さなければな
らない。しかしこの故障寛容性という用語は未だ混乱を
生ずるかもしれない。なぜならこの用語はハードウェア
及びソフトウェアの両者に対しても、ハードウェアのみ
についても、またソフトウェアのみについても適用可能
なものだからである。
また故障寛容性は、一つの構成要素のみの故障をも、ま
た多数の構成要素の故障をも意味し得る。現在の技術水
準においては、故障寛容性は一般的には、単一のハード
ウェア構成要素の故障から回復することのできる能力、
即ち「単一のハードウェア故障寛容性」を意味するもの
として取られている。
単一のプロセッサシステムにおいて故障寛容性を備える
ことができないことは、容易に認められるであろう。な
ぜなら当該プロセッサの故障は、システム全体の故障と
イコールだからである。その帰結として、故障寛容シス
テムは多数のプロセッサを含むことになる。しかし、総
ての故障寛容システムがオンライントランザクション処
理に適合している必要はない。
故障寛容性のマルチプロセッサシステムは、所謂「コー
ルド」 「ワーム」及び「ホット」バックアップシステ
ムから、米国特許第4.228.496号に記載された
如き分散並行オンライントランザクション処理システム
に至るまで、広範囲に渡っている。コールド、ワーム及
びホットバックアップシステムは基本的に、バッチ処理
システムに使用されるものであって、所望のタスクを実
行する主コンピユータを、使用の種々の段階における従
コンビ二一夕と共に使用することを含んでいる。主コン
ビ二一夕が故障した場合には、システムのオペレータは
種々の範囲にわたる操作を実行し、故障した主システム
によってそれまで行われていたタスクを、実質的に使用
されていないバックアップシステムへと伝送する。この
形式の故障寛容は通常、値段がとてつもなく高く、それ
にもかかわらずデータの破損に対して殆ど保護を与えず
、また一般的に云って許容することのできない遅延をオ
ンラインの使用に対してもたらすものである。
故障寛容性の分散処理システムには、最初は軍事及び宇
宙用に開発され現在は幾らか改変された形式でストレイ
タス・コンピュータ社によって市販されている、ロック
ステップ式冗長ハードウェア手法を用いたシステムや、
前述した米国特許第4.228.496号に記載された
如き、故障寛容を達成するためのハードウェアとソフト
ウェアの組み合わせを使用しているシステムが含まれる
。故障寛容を達成するためにハードウェアとソフトウェ
アの組み合わせを使用する別の手法としては、以前にシ
ナプス・コンピュータ社によって市販されていたものが
あり、それはマルチプロセッサシステムにおける他の総
てのプロセッサのためのホット・バックアップとして単
一の付加的なプロセッサを提供することを含んでいる。
〔発明の解決しようとする問題点〕
冗長ハードウェアによる手法は、多くの制限を受けるも
のであり、その中には特に、システムの種々の要素の間
で所要の密結合関係を維持するという困難性、及びソフ
トウェアの開発と柔軟性に関する限界がある。
米国特許第4.228.496号に記載されたシステム
は、分散した故障寛容電算処理の分野において多くの改
良をもたらしたが、しかし当該システムはまた、トラン
ザクション・ベースの操作の取り扱いのために必要なオ
ーバヘッドに関する制限を受けるものである。トランザ
クションを取り扱うために必要とされるオーバヘッドに
ついて、米国特許第4.228.496号に記載された
システムは、チェックポイントと呼ばれるキーとなる段
階におけるトランザクションの状態が主プロセツサから
バックアッププロセッサまで通じそいることを確実なら
しめるために、主プロセツサとバックアッププロセッサ
との間で連続的な通信を必要とすることが判っている。
この相対的に云って連続的なチェックポイントは、好ま
しくないオーバヘッドを要求することになる。また、シ
ステムによってランされている用途によっては、オーバ
ヘッドに対する要求はシステムに対する極度の負担とな
り得る。
米国特許第4.228.496号に記載されたシステム
はまた、特別に開発されたソフトウェアと互換性がある
か、或いはそのために書き込まれる応用プログラムを必
要とするという制限をも受ける。この特別に開発された
ソフトウェアは多くの場合、プログラマ−が新しいプロ
グラム言語を学習することを必要とし、またシステムに
ついて応用例が開発されたり適用されたりする容易さを
不必要に限定する。トランザクション処理のためにより
効率的なシステムを使用することに対する主たる障害物
の一つは、故障寛容トランザクション処理システムにつ
いて使用するように顧客の応用プログラムを書き直すた
めの費用であることが、充分に認識されてきている。そ
してそのような費用は、全く新しいプログラム言語を学
習する場合には非常に増大するものである。
その結果、より簡単化されたトランザクション・ベース
のオペレーションをもって故障寛容オペレーションを行
うことのできる、分散多重処理システムに対する要求が
高まってきた。
また、従来のオペレーティング・システムを用いて故障
寛容オペレーションを行うことのできる、疎結合された
分散多重処理システムに対する要求も存在する。
そこで本発明の一つの目的は、改良された多重プロセッ
サシステムを提供することである。
本発明の別の目的は、トランザクションをベースとした
並列分散多重処理システムを提供することである。
本発明のさらに別の目的は、故障寛容性である並列分散
多重処理システムを提供することである。
本発明のさらに別の目的は、UNIXの如き通常の、そ
して容易に搬送可能なオペレーティングシステムを使用
した、多重処理システムを提供することである。
本発明のさらなる目的は、インタプロセッサ通信がイー
サネット(Ethernet:ゼロックス社のバス構造
のLANの商標名)リンクの如きを介してローカルエリ
アネットワークの一部として統御される、分散された故
障寛容多重処理システムを提供することである。
本発明のさらなる目的は、自動的に且つ動的にバランス
されることのできる多重プロセッサシステムを提供する
ことである。
本発明のさらなる目的は、論理データボリュームに関連
するメツセージ待ち行列が移動可能であり、また処理の
失敗の場合にデータに対するアクセスをもたらすように
再度開けることができる、故障寛容多重プロセッサシス
テムを提供することである。
本発明のこれらの目的及び他の目的は、以下の本発明の
詳細な説明によってより良く認識されるであろう。
〔問題点を解決するための手段〕
本発明は、多重プロセッサオペレーション用に修正され
たUNIXオペレーティング・システムに基づいており
、通常のLAN’Jンクによって通信している多数の並
列プロセッサを使用している、分散された多重プロセッ
サオンライントランザクション処理システムを提供する
ことにより、上述した従来技術の制限の多くを実質的に
解消するものである。
故障寛容性はハードウェア的及びソフトウェア的の両方
の分散処理構造によって与えられ、それは中でも多ポー
トのディスク及び関連機器、固有であり且つ可動のメツ
セージ待ち行列、分散システムランデブー、広がりを基
礎としたファイル割り当て、及びカーネルを基礎とした
トランザクション処理を含むものである。これらについ
ては以下に示される詳細な記述からより良く認識される
であろう。
本システムのハードウェア構成は、ナショナル社製の3
2000チツプ・セットに基づいており、それぞれが実
時間プロセッサを含んでいる複数のシステム構成ブロッ
ク(SOB) と、ユーザープロセッサと、入出カプロ
セッサと、システム相互結合ボード(SIB)  と、
及び局所メモリとを使用している。これらの特定のプロ
セッサ、SIB並びにメモリは、内部メインフレームバ
スによって、SBB内で内部的に通信する。
SBBは相互に、イーサネットの如きLANリンクを介
して通信しており、システムの残りの部分とは、入出カ
プロセッサによって制御された入出力バスを介して通信
している。
本システムはトランザクションをベースとしており、各
々のトランザクションはアトム的に処理され、普通でな
い取り扱いやオーバヘッドは必要とされない。チェック
ポイントを設けることは排除される。
本発明の目的に関してトランザクションは、アトム的に
実行されるオペレーションのシーケンスであるとして定
義される。従って総てのオペレーションが満足に実行さ
れるか、或いはどのオペレーションも格納されたデータ
を変更することが許されないかの何れかである。トラン
ザクションがアトム的であるということは、トランザク
ション統合子を確立することによって確実なものとなる
。この統合子は、トランザクションの処理の際に必要な
分散したファイルのアクセスの記録即ちログを維持し、
また処理の間の不適当な時に別のトランザクションがデ
ータを変更しないように、ファイル及び、ブロックのレ
ベルロックと結合されている。
殆どの場合、トランザクションが完了した時点において
、トランザクションによって読み出され又は最新化され
たファイル又はブロックは、別のトランザクションによ
って使用され得るように解放される。仮にトランザクシ
ョンが中止されたとすると、そのトランザクションの統
合子は、当該トランザクションが変更した総てのデータ
ファイルを、当該トランザクションが開始された時点に
あける状態へと戻す。トランザクションの処理の間には
、要求された総てのファイルについて一貫した視野が維
持される。つまり、当該トランザクションが完了又は中
止される迄は、システム内における他のどのような作動
によって要求されたファイルも変化されることはない。
トランザクション統合子を有するSBBが故障した場合
には、統合子は別のSBBへと移動し、データを最後の
トランザクションの開始前の状態へと回復させ、また処
理信号取り扱い者に対して5IGABORT信号及びコ
ードでもって通知を行うことにより、データに対する一
貫した視野が再び回復される。この過程は次いで、所望
の場合には処理を再スタートさせることができる。統合
子の再スタートは自動的に行われる。このようにして、
システム及びデータの連続的な利用可能性がもたらされ
る。
通常でない言語は必要とされないから、ユーザーのプロ
グラムの完全な書換は必要でない。
そのため故障寛容環境に対して適用する場合には、より
優れた軽便さがもたらされる。
特に、インタプロセッサ通信チャネルを使用することに
よって、スループットの改良がもたらされる。このイン
タプロセッサ通信チャネルは、各々の入出力オペレーシ
ョンが要求を出しているSBBから統御されることを必
要とするのではなく、要求を出しているSBBの位置と
は無関係に、データを所有しているディスクと組み合わ
せられているSBBに対して入出力オペレーションが局
所的になることを可能ならしめる。
〔実施例〕
先ず最初に第1図を参照すると、本発明のシステムの概
略的なハードウェア構成が良く理解され得る。第1図は
ブロックダイヤグラムの形式において、二つのプロセッ
サモジュールの実施形態を図示している。つまり第−及
び第二のプロセッサモジューノペ即ちSBB (システ
ム構成ブロック) 10及び20である。5BBI(l
及び20は、例えばイーサネットリンク、光ファイバケ
ーブル或いは他の適当な通信チャネルである二重のロー
カルエリアネットワーク(LAN)リンク30及び40
によって相互に結合されている。
5BBIO及び20の各々は、それぞれ入出力チャネル
又はバス50及び60を介して種々の形態の周辺コント
ローラと通信している。そのようなものとしてはテープ
コントローラ(TC)70、ディスクコントローラ(D
C)80、及び通信インタフェースフロセッサ(CIP
) 即チ通信インタフェース90が含まれる。入出力チ
ャネルの各々は、チャネルターミネータ、100でもっ
て#端している。
第2図からより良く理解されるように、一つのSBBは
一つ又は二つの入出力チャネルを有する。5BBIO及
び20並びに種々のコントローラ70、80及び90の
各々には、局所的な電源(PS)が備えられている。
単一のポートを有するテープコントローラは、少なくと
も一つのテープ駆動装置110と組み合わせられている
。同様にディスクコントローラ80の各々もまた単一の
ポートを有するようになっているが、これらに組み合わ
せられたディスク駆動装置(Di−04) 120.1
30.140及び150は、好ましくは二つのポートを
有していて、二つのSBBからアクセス可能なようにな
っている。各々のディスクは一つのSBBによってのみ
「所有」され得るものであり、所有されたディスクは、
当該SBBが所有を継続する限りは、当該SBBによっ
てのみアドレスされうる。所有を行っているSBBがデ
ィスクの状態セクタにあるタイムスタンプ即ち日付を定
期的に最新のものとすることによって所有は継続される
が、この日付はまた、所有を行っていないSBBのボリ
ュームマネージャー(以下で議論されるように、オペレ
ーティングシステムと組み合わせられている)によって
もチェックされる。所有を行っているSBBが故障した
場合には、所有を行っていないSBBのボリュームマネ
ージャーは日付の遅れを認め、当該ディスクの所有を行
う。典型的には、日付は周期的に、及びデータの整合性
に影響しろる動作が生じた場合にはいつでも、ディスク
に対して印加されるものである。当業者ならば理解でき
るように、ディスクは鏡像的な構成でもって、或いは鏡
像的なバックアップなしに作動される。作動の際に、さ
らなるディスクをシステムに追加してもよい。
第1図に示された二つの通信インタフェース90の各々
は、次いでシステム分散ボード即ち5DB160 と通
信し、SDBに対しては一つ又はそれ以上の端末170
が結合され得る。通信インタフェース90には、プリン
タ及びその他の同様の出力装置が結合され得る。システ
ムに対して最新化された構成情報を与え、また通信イン
タフェースを初期化することによって、システムが作動
している際にさらなる通信インタフェース90をシステ
ムに対して付加することが可能である。
第1図は二つのSBBによる実施形態を示しているが、
第1図の構成を拡張して、L A N ’Jンク30及
び40の特性によってのみ限定されるような数の多数の
SBBの間で通信が行えるようにすることも可能である
ことが認められるであろう。そのような構成においては
、単に、システムの5IB(システム相互結合ボード)
に対して付加的なSBBを識別し、この付加的なSBB
に対してL A N +Jンク30及び40を延伸し、
そして必要なファイルに対する格納及びアクセスを可能
ならしめるように適当なディスクコントローラ及びディ
スクを追加することによって、付加的なSBBをシステ
ム中に加えることができる。付加的なSBBはシステム
の始動の前にSIBに対して識別してもよく、或いはシ
ステムの作動中にSIBに対して連続的に識別してもよ
い。また、故障したSBBは、システムを休止させるこ
となしにシステム中から除去し、再スタートさせること
ができるから、モジュール的な形式による簡易で効率的
な拡張可能性をもたらすものである。
上記のような構成においては、少なくとも幾つかの場合
において、5BBIO及び20並びに付加的なSBBの
間でディスクコントローラは好ましくは共存され、故障
が生じた場合のバランスの取れたロード及びより良いア
クセスをもたらすようにする。また、第1図は二つのイ
ーサネットケーブルを用いた実施を記載しているけれど
も、光ファイバの如き他の形式のローカルエリアネット
ワークも、適当な、場合によってはより改良された作動
を提供する。
さて第2図を参照すると、5BBIO及び20の構成が
より良く認識できる。各々のSBBは、複数の専用プロ
セッサと、メインフレームバス即ちMFB200を介し
て通信している関連したロジックを有している。一つの
実施形態においては、MFB200は64ビツトのデー
タバスであり、バスターミネータ205によって終端し
ている。
5BBIOを構成している専用プロセッサおよび関連す
るロジックは、実時間プロセッサユニッ) (RPU)
210と、ユーザープロセッサユニット(UPU)22
0と、入出力プロセッサ(IOP)230a及び230
bと、システム相互結合ボード(S I B) 240
と、メモリ (MEM)250を含んでいる。第2図に
見られるように、RP 0210はMFB200に対す
るアクセスのための基本的制御を提供するものであり、
それ故一つ又はそれ以上のラインを介して、SBBを形
成している他のモジ、−ルの各々と通信している。これ
らのラインはMFB200 とは別個に示されているが
、実際にはSBBを構成するモジュール間にあるライン
の各々はMFB200の一部であり、従って単に明確化
のために別個に示されているに過ぎない。MFB200
に含まれているラインではあるが第2図に別個に示され
ていないものとしては、アドレスライン(0−31) 
、アドレスパリティライン(0−3) 、データライン
(0−63)、データパリティ(0−7)  、データ
バイト有効(0−7)及びデータバイト有効パリティビ
ットがある。
本発明を不明瞭にするのを避けるため、第2図及び本明
細書で議論する残りの総ての図面について、ここに示さ
れる教示から当業者に明らかであると思われる多くの細
かい制御信号が省略されていることを理解されたい。
RP U210は他のモジュールの各々へと延びる幾つ
かのラインと、及び他のモジュールの内の一つへと単独
で延びる他のラインを介して、SBB内の他のモジュー
ルの各々と通信している。他のモジュールの各々へと延
びているラインには、双方向レディ、中止及びビジーラ
イン254a−Cと、アドレス及びデータストローブ並
びに書き込み信号を検知するための二つの双方向ライフ
255a−bと、及びRP U210から他のモジュー
ルの各々へと延伸しているリセットライン258 とが
含まれる。RP U210はシステムのリセットに応じ
てSBB内において最初に初期化を行うモジュールであ
り、ついでSBBの他のモジュールの各々を公知の状態
へとセットするものである。
RPU210から残りの専用プロセッサモジュールテあ
るU P U220 、I OP230a−b、及びS
I B240へと単独で延びるラインには、他のモジュ
ールからRP U210への割り込みリクエストライン
260a−Cと、他のモジュールからRPUへのバスリ
クエストライン262a−dと、及びRPU210から
他のモジュールへのバス許可ライン264a−dが含ま
れる。IOPは両方とも、一つの割り込みライン260
bのみを使用しており、どちらのIOPが実際にリクエ
ストを行ったのかをオペレーティングシステムが定める
ようにしていることに注意されたい。また、各々のl0
P230は固有のバスリクエストライン262b−C及
びバス許可ライン264b−Cを有している。メモリ2
50は必要に応じて、基本的にはM F B200を介
してシステムの残りの部分と通信しているが、割り込み
リクエストライン266を介して直接にRPU210に
対して割り込みリクエストを送出することができる。
以下で行う議論から理解されるように、UPU220は
MFB200に対する非常に頻繁なアクセスを維持する
ものであるため、RP U210は付加的なラインを含
んでいて、RP U210とUP U220との間で生
ずる頻繁な通信をより容易にするようにしている。この
ような付加的なラインには、U P U220からRP
 U210へのノンマスカブル割り込みリクエストライ
ン268 と、RP U210からU P U220へ
の割り込みリクエストライン270 と、RP U21
0からU P U220へのバスクリアライン272 
と、及びRP U210から通常のリセットライン25
8とは別個に延びるUPUリセットライン274が含ま
れる。
以下においてより良く理解されるように、UP U22
0の目的は、一般的に云って、SBB内にあるユーザー
レベルのソフトウェアを実行することである。UPUは
、UPUで実行するソフトウェアのためのキャッシュメ
モリを含んでいる。I OP230a−bは一般的に、
割り込み、調停及びデータ伝送などを含めて、周辺機器
とSBBとの間の通信を制御する。このような機能に含
まれるものには、RPU210によってMEM250内
に構築されたチャネルプログラムを処理することがある
。第1図において部分的に示されているように、入出力
チャネル即ちバス50及び60と、これらに組み合わせ
られたコントローラ70.80又は90は、I OP2
30a−bを介してSBBと通信する。第2図には二つ
のIOPが示されているが、システムが一つだけの、或
いはより多くのIOPを有するように構成することもで
きる。
S I B240はプロセッサ間の通信を制御するもの
であるが、その中には、二つのイーサネット或いは他の
LANケーブル30及び40を収容するように、二つの
ポートのイーサネット又は他のLANインタフェースを
提供することを含んでいる。一つの実施形態において、
メモリ250の大きさは、一般的に通常のデザインの4
から12メガバイトの固体RAMである。
さて第3図を参照すると、RP U210についてより
良い理解が得られる。例えばナショナル・セミコンダク
タ社から市販されている如き、32032型マイクロプ
ロセツサ(MPU)300 (或いは幾つかの実施形態
においては、同じ会社から販売されている32016型
のプロセッサ)が、タイミング制御ユニット (TCU
)302からタイミング制御信号を受信する。T CU
302は、やはりナショナル社から市販されている32
201型のチップである。
M P U300は通常の手法により、メインバス30
4上にアドレス及びデータ情報を提供し、また受信する
。このメインバス304は次いで、アドレスラッチ30
6を介してアドレス情報を通信し、一対のデータバッフ
ァ30g及び310を介してデータを提供しまた受信す
る。アドレスラッチ306は双方向アドレスバス312
を介して、EPROMアレー314 、EEPROME
PROMアレー314M318 、及び割り込み制御回
路(CIO)320に対して、並びに一つ又はそれ以上
の非同期通信コン) o −5(A S CC) 32
2a−bに対してアドレス情報を提供する。また、アド
レスバス312は実時間クロック(RTC)アドレスバ
ッファ324 及ヒMFBアドレスバッファ328と通
信している。
データバッファ308は、第一の双方向データバス33
0を介して、EPROMアレー314及びEEFROM
EPROMアレー314通信している。データバッファ
308はまた、二次的なデータバッファ332を介して
、CI 0320及びASCC322a−bともデータ
を通信している。さらに第一のデータバス330は、R
TCデータバッファ336、エラー状態レジスタ338
、診断データバッファ340、制御レジスタ342、及
びMFBデータバッファ344と通信している。データ
バッファ310は、第二のデータバス334を介してR
A M318と通信している。
EPROMアレー314は、非常に広範囲に渡って大き
さが異なり得るものであるが、典型的には512にバイ
ト程度のものであり、RPU用のファームウェアを格納
する。EEPROM316は典型的には2にバイト程度
のものであり、SBB、システム及びネットワーク用の
識別子を格納すると共に、診断に関連した情報をも格納
する。RAM318は典型的にはパリティによって保護
されており、1メガバイト程度の大きさである。CI 
0320は例えばザイログ社又はAMD社から市販され
ている如き8536型のチップであり、バス312及び
バッファ332に対して結合されているのに加えて、複
数の割り込みリクエスト人力346を受け、割り込み出
力348によってM P U300に対し割り込み信号
を送出する。
A S CC322a及び322bは、例えばザイログ
社又は他の製造業者から市販されている8531型のチ
ップであるか、或いは幾つかの他の形式の何れかである
ことができる。しかし典型的には、例えばR3232又
はR3422の如き所望の通信プロトコルと互換性のあ
る出力をもたらす。
RTCアドレスバッファ324は実時間クロック (R
TC)350と通信し、このクロック350 は次いで
データ側においてRTCデータバッファ336 と通信
する。RTC350には、システムが年月を経た場合に
も継続的なオペレーションを保証するように、バッテリ
ーバックアップ352が備えられている。最後にアドレ
スバス側においては、MFBアドレスバッファ328が
MFB200と双方向的に通信している。
データバス側において、データバッファ340はスイッ
チバンク354から入力を受けるが、このスイッチバン
クは診断の際にRPUを強制的に特定の状態にすること
を可能ならしめる。状態レジスタ338は、システムの
残りの部分からのバスのタイムアウト、不良パリティ及
びバス中止信号を検出するエラーロジック357からの
エラーストローブ人力356を受は取る。制御レジスタ
342は、制御ビットがボード上及びボード外で使用さ
れるようにする。制御ビットのボード上での使用には、
例えばLED、指示ライトその他を含む状態ディスプレ
ー358を含む。
ボード外での使用には、故障及びレディLEDアレーを
含む。最後に、MFBデータバッファ344は、MFB
200とデータを通信する。
上記に説明したRPUの要素に加えて、RPUはまたM
FB調停ロジック360をも含んでおり、このロジック
は例えばモトローラ社から人手可能な68452型のチ
ップである。調停ロジック360は、RPUからのバス
リクエストを受信し且つ適当にバス許可を提供する以外
には、RPUの残りとは結合されていない。この調停ロ
ジック360は、バスリクエストを生成することのでき
るSBBの要素からバスリクエストを受信し、またライ
ン362上においてバスビジー信号をも受信する。適当
な場合には、バスリクエストに応答して、調停ロジック
360はバス許可出力をライン364上に、そしてバス
クリア信号をライン366上に提供する。
続いて第4図を参照すると、U P U220がより良
く認識され得る。このU P U220はCPU400
を含み、このCPUは例えばナショナル社製の3203
2型プロセツサであるか、或いはナショナル社製の32
016型プロセツサであり、メモリ管理ユニッ) (M
MU)402と、浮動小数点演算ユニッ)  (FPU
)404とを備えている。MMU402はナショナル社
製の32082型デバイスであり、F P U2O5は
ナショナル社製の32081であ不。タイミング制御ユ
ニット406はナショナル社製の32000チツプセツ
トの一部であり、双方向メインバス408を介して各々
通信しているC P U2O5、MMU402及びF 
P U2O5に対してタイミング信号を提供している。
メインバス408はまた、これら種々の専用プロセッサ
40〇−404をアドレスラッチ410及び双方向デー
タバッファ412へと結合している。
アドレスラッチ410の出力は、ラッチアドレスバス4
14から種々のロケーションへと提供される。即ちラッ
チ410 は制御デコーダ416、パリティイネーブル
マルチプレクサ418、及びバスイネーブルゲートロジ
ック420へとアドレス情報を提供するのである。また
ラッチアドレスバス414はアドレスラッチ410から
、MFBアドレスバッファ422 、エラーラッチ42
4 、Cl0426及びアドレスパリティ生成/検査手
段428へとデータを通信する。MFBアドレスバッフ
ァ422は次いで、M F B200に対してアドレス
情報を供給する。
またバス414はアドレスブータラ、TAGRAM43
0 、TAGデータバッファ432 、TAGヒツト比
較器434 、TAGパリティ生成器436、フラッシ
ュカウンタデコードロジック438、フラッシュカウン
タ440及びキャッシニデータバリティRA M442
へと供給する。最後に、バス414はアドレスデータを
キャッシュデータRAM444へと供給する。
バスイネーブルゲートロジック420は、キャッシュバ
スイネーブルロジック452、エラーラッチイネーブル
ロジック454、及びデマルチプレクサバッファゲート
ロジック456に対して、8ビツトのゲートバス450
上にゲート信号を供給する。キャッシュバスイネーブル
ロジック452は、その出力をキャッシュバス458上
において、キャツシュRAMバスイネーブルラッチ46
0、キャッシュMFBラッチ462、及びキャッシュパ
リティ生成及びイネーブルロジック464に対して提供
する。このロジック464は次いで、キャッシュデータ
パリティRA M442に対してゲート出力を供給する
T A G RA M430は双方向の11ビツトのT
AGバス466を介して通信し、これによりRAM43
0は、TAGデータをTAGデータバッファ432から
受信する。T’AGバス466はまた、TAGヒツト比
較器434及びTAGパリティ検査器468に対しても
データを供給する。
U P U220のデータ側に目を向けてみると、バス
408によってCP U2O5及び該チップセットの関
連部分と双方向通信しているデータバスバッファ412
は、32ビツトのデータバス470によってUPUの残
余のデータロジック部分とも双方向通信している。ここ
に記載されているのは32ビツトのバスであるが、もし
も特定の実施用として32ビツト以外のCPUが選択さ
れたならば、このプロセッサの変更に応じてバス構造を
対応変化させることが必要であることは、当業者には理
解されるであろう。
32ビツトのエラーラッチ424はバス414からアド
レス及び関連した情報を受信し、またTAGヒツト比較
器434からヒツト制御信号を受信する。エラーが生じ
た場合には、エラーラッチイネーブルロジック454か
らの制御信号によって、エラーラッチの内容がバス47
0上へと読み出される。データバス470はまた、CI
 0426及び64ビツトの大きさのデマルチプレクサ
バッファ472と双方向通信している。さらにデータバ
ス470は、キャッシュデータラッチ474、キャッシ
ュイネーブルラッチ476、フラッシニラッチ478、
広域状態ラッチ480、通常のデータパリティロジック
482及びパリティイネーブルラッチ483に対して、
情報を供給している。またデータバス470は3ビツト
をEEPROMラッチ484へと供給し、これは次に診
断EEPROM2B5をアドレスする。EEPROM4
86 は次いでその出力をバス470へと戻す。キャッ
シュデークラッチ474は、キャッシュ内にデータが置
かれることを可能ならしめる。キャッシュイネーブルラ
ッチ476はキャッシュを付勢し又は消勢するものであ
る。パリティイネーブルラッチ483はパリティの生成
及び検出を付勢し又は消勢する。
キャッシュデークラッチ474、キャッシュイネーブル
ラッチ476、フラッシュイネーブルラッチ478及び
パリティイネーブルラッチ483はCI 0426に対
して状態情報を提供し、そしてまたC I 0426は
システムの残余の部分から割り込みを受信する。この割
り込みに対してCIOは割り込み承認を送出して応答し
、データバス470上にベクタを宣言する。(j042
6はまた、時間又は日付カウンタを含んでいる。
デマルチプレクサバッファ472及びキャッシュデータ
RA M444は両方とも、伝送データバス488に対
して双方向的に結合されており、伝送データバスは次い
で、MFBデータバッファ490と双方向的に通信して
いる。MFBデータバッファ490は次にMFB200
 と、データ情報を双方向的に通信している。
上述の説明を所与のものとすれば、UPUのオペレーシ
ョンは当業者には明らかであろう。
しかし以下に説明するソフトウェアのオペレーションの
理解を助けるために、UPUのオペレーションを簡潔に
記述することとする。プロセッサ400.402又は4
04は、バス408に沿って通常の手法によりデータを
リクエストする。もしもデータがキャッシュ内にあるの
ならば、情報はリクエストを行ったプロセッサに供給さ
れる。
データがキャッシュ内になければ、リクエストハS B
 Bの残余の部分に対して、特にメインメモリに対して
行われる。データが一旦得られたならば、そのデータは
MFBデータバス488、デマルチプレクサバッファ4
72 、及びバス470を介してデータバスバッファ4
12及びバス408へと進んで、リクエストを行ったプ
ロセッサに供給される。リクエストを行ったプロセッサ
に情報を提供するのと同時に、データはキャッシュデー
タRA M444内のREAD MISSという個所に
格納される。SBBの要素の何れかによるメインメモリ
250のアドレスへの書き込みオペレーションの際に、
もしも当該アドレスが先行する何等かのオペレーション
によってTAGRAM430に格納されているものであ
ったなら、キャッシュは最新化される。このことはWR
ITE HITと称される。好ましくは、上記のオペレ
ーションにおいてパリティもまた読み出され、格納され
る。情報を書き込むことによってUPUのキャッシュ4
44を最新化する代わりに、有効化/無効化オペレーシ
ョンを行うことによってUPUのキャッシュ444を最
新化してもよい。
U P U220によって受は取られたMFB200か
らのデータは、その後MFBバッファ490によって受
信されるものであり、当該データはこのバッファからバ
ス488を介してデマルチプレクサバッファ472へと
送られ、そして上記に説明したように進むものである。
場合によっては、公知のデータをキャッジ、 RA M
444内にセットすることが適当であり、その場合には
上記に説明した「フラッシュ」的な特徴が用いられるで
あろう。UPUの他の機能的な側面は、後述のプロセス
ソフトウェアについての議論から明らかになるであろう
第5a図を参照すると、第2図のI OP230が概略
的なブロックダイヤグラムの形式で示されている。先に
記載したように、通常の信号を省略することによって第
5図は簡単化されており、それによって本発明に関する
特徴をより明瞭に表現できるようにしている。例えばナ
ショナル社製の32016型マイクロプロセツサ及び3
2201型TCUである、IOP  MPU及び関連す
るタイミング制御ユニット500は、直接メモリアクセ
ス即ちDMAエンジン502と並列に構成されている。
IOP  MPU及びDMAエンジンの各々は、MFB
200及び入出力チャネル50と双方向通信している。
通常のCRC(巡回冗長符号)生成及び検査ロジック5
04がまた、入出力チャネル50とIOP  MPU5
00の間で通信するために結合されている。さらに、I
OP  M P U300 とDMAエンジン502は
、ライン506を介して直接に通信することができる。
プロセッサ500は、双方向のアドレス/データバス5
08を介して、I OP230の残りの部分と通信して
いる。このバス508は、局所RAM510 、EPR
OMアレー512、及びI OP230のための診断情
報を包含しているEEPROMEPROMアレー512
いる。
I OP  M P U300は、例えば32キロバイ
トの大きさのE P ROM512内に格納されている
ファームウェアを実行する。局所RA M510は、フ
ァームウェアによって必要とされるような内部データ記
憶装置を提供する。
I OP230の一般的なオペレーションは、第5b図
に示されたファームウェアの流れ図から理解することが
できる。通常のIOPの動作はRP U210によって
開始されるものであり、この動作には自己試験及び初期
化(先に第2図に関して説明した)が含まれる。コント
ローラが情報の転送をリクエストしている場合には、こ
のIOPの制御プログラムは、当該転送を行うように分
岐する。どのコントローラもデータの転送を欲していな
い場合には、制御プログラムは、チャネルプログラムが
実行待ちをしているかどうかを判定するためにチェック
を行う。RPU210は、I OP230によって実行
されるためのチャネルプログラムを生成する。このチャ
ネルプログラムは一つまたはそれ以上の転送コマンドを
含んでおり、それらのコマンドのいずれもが、メインメ
モリ (MFBを介して)と入出力チャネルに結合され
たコントローラとの間での何れかの方向における転送を
要求することができる。もしチャネルプログラムが実行
待ちをしているのであれば、制御プログラムは分岐して
、一度に−コマンド宛、当該プログラムを実行する。チ
ャネルプログラムが転送を要求しているかどうかに依存
して、制御プログラムは必要ならば関連するコントロー
ラに割り込みを掛け、又は再スタートへとループして戻
る。
実行待ちをしているチャネルプログラムが存在しない場
合には、制御プログラムは、RPUからの新しいチャネ
ルプログラムがレディ状態にあるかどうかをチェックす
る。何もチャネルプログラムが存在しなければ、制御プ
ログラムはスタートへとルー プする。しかしRPUか
らのチャネルプログラムがレディ状態であった場合には
、そのチャネルプログラムの実行が開始され、特定のコ
ントローラに割り込みが掛かる。
当該コントローラは割り込み以外の総ての転送を開始す
る。そして該コントローラは転送リクエストをもって応
答し、IOPプロセッサ500は制御情報を送出して、
当該コントローラに対し、該コントローラを想定してい
るチャネルプログラムが実行されていることを知らせる
IOP  MPU500は次いで、チャネルプログラム
コマンドの実行へと進む。コマンドが転送を要求する場
合には、コントローラには再度の割り込みが掛かる。
データ又はRPUによって生成された制御情報のブロッ
クの転送が必要な場合には、IOP制御プログラムはD
MAロジックをスタートさせて、転送を迅速に実行する
。IOP  MPU500は、制御情報の単一の16ピ
ツトワードをl0P230からコントローラへ、及ヒコ
ントローラから転送する。チャネルプログラムにおける
最後のコマンドは常に、当該チャネルプログラムが完了
したということをコントローラに知らせるような、制御
の転送を生じさせる。このような転送の後、I OP2
30はRPUに対し、チャネルプログラムが完了したこ
とを通知する。
チャネルプログラム中の転送コマンドは、メインメモリ
のロケーションと、転送の長さを特定する。単一の転送
において、幾つかのロケーション及び長さをチェイニン
グ(論理的な順序付け)することができるが、これはI
OPMP U300によって行われるものである。IO
PM P U300はチェイニングされた各データ毎に
DMAエンジン502をスタートさせ、該エンジン50
2は当iDMAの終わりに停止する。
DMAエンジンによって制御された転送のために、巡回
冗長符号CRCが、IOP  MPU500及びコント
ローラによって累積される。転送の終わりには、IOP
  MPU500がコントローラによって累積されたC
RCを読み出し、エラーをチェックするために、これを
IOPによって累積されたCRCと比較する。
RPUは10 P230に対し、多くのチャネルプログ
ラムを並列的に処理することをコマンドできる。単一の
コントローラのための多数のチャネルプログラムを並列
に実行することも可能である。各々の転送は、コントロ
ーラに対して、該コントローラが関係するチャネルプロ
グラムについて知らせるための識別子を転送することを
含む。コントローラは必要な場合に、例えばディスクが
オフラインとされた場合に転送を開始することができる
。そのような場合、ディスクコントローラは、関係のあ
るSBBに対して通知を行うためのプログラムを開始す
る。そしてそうなった場合には、IOP  MPU50
0は情報をRPUへと回す。
さて次に第6図を参照すると、システム相互結合ボード
(S I B)240の詳細が示されている。
S I B240は、M F B200と二連の通常の
LANケーブル232及び234(第2図)との間のイ
ンタフェースを与えるものである。S I B240は
独立した二つの、しかし同一のユニット600を含んで
いて、これは二つの別個のL A N IJンク30及
び40をインタフェースするものであるが、第6図には
その一つのみしか完全には示されていない。ポート調停
子ロジック602を含む通常の調停ロジックとMFB制
御P A L604が、特定の場合において二つのユニ
ット600の内のどちらが通信用に使用されるかを決定
する。各々のユニット600は好ましくは、アメリカ電
気・電子工学技術協会即ちIEEEの規格802.3に
対して適合性があるように設計される。しかし本発明か
ら離脱することなしに、他の形式のイーサネットデバイ
スに適合するように変更されることもできる。
各々のユニット600は、関連するSBBのRPU21
0又はU P U220の何れかから、MFB200を
介してアクセスされる。好ましい実施形態においては、
ソフトウェアを支援するためのどのような局所プロセッ
サも設けられない。イーサネットにより必要とされる条
件の故に、コマンド構造がS I B240のRAMに
格納されることが必要であり、また32ビツトの境界か
ら開始するためにデータのブロック化が必要とされる。
SIBは、キャッシュ制御P A L6QBによって制
御されている例えば8バイトのキャッシュ606を介し
て、M F B200からデータを受は取りまた伝送す
る。ラッチ610がキャッシュ606と並列に結合され
ている。このラッチは、状態レジスタ612及び制御レ
ジスタ614の各々と、並びに例えば8キロバイトの局
所RA M616、パリティRAM618及び持久RA
 M620及び別のラッチ622と通信している。局所
RAM616、パリティRAM618及び持久RA M
620の各々は、ラッチ626を介してMFB200に
結合されているアドレスバス624から、アドレス情報
を受は取る。アドレスバス624はまた、スレーブポー
トアドレスデコードロジック及び関連する制御P A 
L628a−bに対して情報を供給する。
ラッチ622からの情報は、例えばインテル社の825
86型デバイスであるローカル通信コントローラ(LC
C)630と双方向通信する。また、L CC630は
キャッシュ606と直接に、且つ双方向的に通信する。
LCCは次いで、LAN)ランシーバ632及び適当な
エンコーダ/デコーダ634を介して、LAN’Jンク
30と双方向的に通信する。エンコーダ/デコーダ63
4は例えば、シーク社の8023型デバイス又はインテ
ル社の82501型デバイスによって与えられるような
、マンチェスタエンコーディング方法を使用するもので
ある。L CC630はLCC制御P A L636と
双方向通信し、このPALは次いで、ポート調停ロジッ
ク602 と通信している。
L CC630から受信された、入って来るアドレス情
報は、LCCアドレスラッチ638 に対して供給され
、次いでデコーダ640、キャッシュタグ比較及びラッ
チ642、そして最後にはバッファ644及びラッチ6
26を介してMFBへと供給される。
次に第7a図を参照すると、メインメモリ250の物理
的な構造がより良く理解できるであろう。
M F B200は、適当なラッチ、デコーダ及び翻訳
FROMを含むアドレスロジック700に対してアドレ
ス情報を供給し、このアドレスロジックは次に、例えば
8207型デバイスの如きダイナミックRAMコントロ
ーラ702に対して物理的アドレスを供給する。このD
RAMコントローラ702からのアドレス情報は次に、
DRAMアレー704に対して供給される。
MFB200はまた双方向ラッチ706を介してメモリ
250へとデータを通信し、このラッチは。
次にパリティロジック708、データバッファ710及
びエラー検出及び訂正ロジック712と通信する。エラ
ー検出及び訂正ロジック712は、例えば8206型デ
バイスのアレーを含んでいる。データバッファ710は
次にDRAMアレー704 と双方向的に通信するが、
このDRAMアレーはどのような大容量のものであって
もよい。しかし好ましくは4から12メガバイトの範囲
内のものである。DRAMアレー704はまた、数ある
メモリデバイスの何れかで代替することができ、出力デ
ータを一組のデータ出力バッファ714に対して供給す
る。出力バッファ714は、バッファ710及びラッチ
706を介して、出力データをMFB200に戻す。メ
モリ250は、RP U210及びLjPU220の両
方からアドレス可能なものである。
メモリ250の機能的な構成は、第7b図からより良く
理解することができる。そこには、本発明のシステムソ
フトウェアによって必要とされる、メモリの区分けが示
されている。DRAMアレー704と互換性のあるメモ
リアレー720は、バッファキャッジ5722、メツセ
ージプール724、ユーザスペース726及びUPUコ
ード728へと分割されている。RPU制御プログラム
はRPU内の局所メモリに存在することが認識されるで
あろう。RP U210及びU P U220は両方と
も、バッファキャッジ5722及びメツセージブール7
24をアドレスすることができ、メインメモリのこれら
の部分は、以下に詳細に説明するように、衝突を防ぐよ
うに適当にロックされている。
バッファキャッジ5722の大きさは、完全にソフトウ
ェアによって定義されるものであり、ディスク120−
150’のためのキャッシュ格納エリアを提供するもの
である。メツセージブール724も同様にメモリによっ
て定義されるものであって、以下でさらに説明するよう
にして、システム内で別々に指定される多くの要素の間
での通信を容易にするために用いられる。
〔作用〕
上記のハードウェアを用いることにより、本発明のプロ
セスに関連した特徴を説明することが可能になる。本発
明のこのような特徴をより明確に記載するために、他の
通常の特徴についての議論は、当業者に自明であるもの
として省略することにする。なぜなら当業者は多数のユ
ーザによる、マルチプロセッサオペレーティングシステ
ムを良く知っているものと思われるからである。特に、
仮想メモリを含むメモリの管理、フロセッサスケジニー
リング、プロセス及びプロセッサの両者のための同期装
置、メツセージの通過、通常のデバイス駆動装置、端末
及びネットワークサポート、システム初期化、割り込み
管理、システム呼出装置、及び管理的装置等の如きに対
するかかるオペレーティングシステムの必要条件につい
て、当業者は充分な知   −識を持っているであろう
本発明のプロセスに関連した特徴の内の幾つかのものを
評価するためには、本発明の詳細な説明するために用い
られる一般的な用語の幾つかを簡単に説明するのが適当
であろう。本発明において使用されている、ファイルの
命名についての規則は、システムのオペレーションを理
解するのに役立つであろう。本発明は好ましくは、UN
IXにおいて見出されるのと同様な階層ファイルシステ
ムを使用するが、しかし多数のSBBの使用を許容する
ように拡張されている。
通常のUNIXの場合の如く、オンラインにあってアク
セス可能なファイルシステムはマウント即ち取りつけら
れたものとして描かれる。
しかし一時的又は永久的に利九可能でないファイルシス
テムは、取り外されたものとなる。本発明のオペレーテ
ィングシステムは、後に詳しく議論するようにして、シ
ステム全体のためにマウントされたファイルシステムに
ついてUID(後述)のリストを、当該ファイルを所有
しているSBBを含む各々のSBBのRPUメモリ内に
保持するものである。本発明による命名の規則及び取り
つけられたファイルシステムのリストによって、どのS
BBのどのディスクにファイルが存在するのかを知らな
くとも、遠隔のSBBが所有するディスク上のファイル
をプログラムによってアクセスすることができる。
回復プロセスについての議論においてさらに扱われるよ
うに、どのファイルシステムもオートマウントピットを
有し、このビットはSBBが当該ファイルシステムが存
在するディスクを所有した場合に、当該のファイルシス
テムが自動的にマウントされるようにする。
UNIXのディスク区分と同様に、本発明のファイルシ
ステムは論理ボリューム内、にマウントされるが、しか
し論理ボリューム内に多数のディスクを有しうるように
、またボリュームの多数の鏡像的(同一の)コピーを含
むことを可能ならしめるように拡張されている。論理ボ
リュームはその中にマウントされたファイルシステムを
有していても、有していなくとも良いが、ファイルシス
テムが論理ボリュームなしに存在することはできない。
ファイルシステム内に存在するファイル、及びブロック
は、ファイルの部分を構成する。
ファイルシステムは多数のディスク、即ち多数のディス
ク駆動装置の部分にわたって跨がることができ、論理ボ
リュームは一つ又はそれ以上の物理ディスクの総て又は
一部の位置を記すことができる。また、論理ボリューム
は従来技術の通常の故障寛容システムと同様にデュプレ
ッ°クス(二つのシステムの一方を待機させて、切り換
え動作可能なようにしておくシステム)とすることがで
きるだけでなく、n個の間での切り換えを可能にするこ
ともできる。
各々の論理ボリュームは二つの部分を含んでいる。即ち
データ格納部分及びログである。ログは論理ボリューム
の比較的小さな部分、通常5から10パ一セント程度を
形成し、システムによって処理されているトランザクシ
ョンに関する情報を特に格納するものであるが、これに
ついての詳細は後述する。また各々のログのために、メ
インメモリ250の一部はログバッファとして確保され
る。このログバッファは、バッファキャッシュに対する
付属部分を形成する。
本発明のシステムは、システムのキーとなる特定の資源
の追跡を行うが、これは各々のそのような資源に対して
システム全体の中で固有の識別子を割り当てることによ
って為されるものである。このような識別子をUIDと
称することとする。UIDは各々の通信インタフェース
、各々のディスク、各々のトランザクション統合子(以
下でさらに定義)、各々のボリューム、各々のファイル
システム及び各々のファイルといった資源に対して割り
当てられるであろう。
システム全体にわたるアドレス指定を行つためにUTD
を使用することは、本発明で接続システムとして参照さ
れる。
各々のUIDは、64ビツトのワードの一部として、関
連するRPUについての連続番号情報である22ビツト
、シーケンス番号についての10ビツト及び日時即ちタ
イムスタンプ情報につぃての32ビツトを含んでいる。
クロックが逆に進まず、プロセッサの連続番号が繰り返
されない限り、システム全体にわたっての独自性が保証
される。シーケンス番号はクロックが進む毎にリセット
され、新しいUIDが割り当てられる毎に増加される。
次に割り当てられるべきUIDは、UPU220及びR
P U210の両方からアクセス可能なメインメモリ2
50の一部に保持されている。どのUIDも関連するキ
ューを有するが、このキューはメモリの割り当てをして
キューを開放することによって生成されるものである。
システム全体のために開いた総てのUIDは、システム
内の各々のSBBのメインメモリ250内にあるテーブ
ルに保持されている。
システムの資源に対して一旦UIDが割り当てられたな
らば、その資源は単に当該資源のUIDを使用すること
により、メツセージを処理しているシステムによって特
別に且つ直接に72 ドレス指定される。メツセージは
次いでUIDのキューによって受は取られ、さらに処理
される。
SBBが自分が所有していないUIDを指定したメツセ
ージを受は取った場合には、そのSBBはUIDを調査
して他のどのSBBが当該UIDを有しているのかを判
定し、当該能のSBHに対してメツセージを送出する。
他のSBBが故障しなお別のSBBにより回復を受けて
いることなどを含む多くの理由から、メツセージを受は
取ったSBBは、UIDの所有者であるとして自己を識
別することによって応答しないかもしれない。そのよう
な場合には、メツセージを送出したSBBは総てのSB
Bに対して、UIDを所有しているSBBを識別するた
めのメツセージを送出する。当該UIDの新たな所7有
者であるSBBが突き止められた場合には、送出を行っ
たSBBは当該所有者であるSBBにメツセージを送出
し、そこで当該メツセージの処理が行われ得る。また、
送出を行ったSBBは自己のテーブルに、前記UIDの
新たな所存者を入力する。
また、上記に説明したUIDの直接のアドレス指定の他
に、間接的なアドレス指定を使用することも可能である
。このアドレス指定においては、メツセージを受信する
ために複数のUrDが確立され、そして接続システムが
これらのUIDに送出されたメツセージを単に再度方向
付けするものである。そのような間接的なUrDの一つ
の使用法には、ファイルシステムキニ−UID (FS
QUID) 、即ちメツセージブール内のキューであっ
て、それに対して特定のファイルシステムが送出される
ものが含まれる1以下において詳細に説明するように、
あるSBBが故障した場合には、接続システムが、シス
テム内にある残りのSBBによって保持されている開い
たUIDのテーブルから、故障したSBBによって所有
されていたUIDを削除する。
やはり以下において詳細に説明するように、これらの削
除されたUIDは次いで、本発明の回復システムによっ
て再度確立される。
上記の階層ファイル及び接続システムを念頭におけば、
本発明の下でトランザクションを処理するについての段
階を理解することができょう。トランザクションは常に
ユーザープログラムから開始される。これは即ち、トラ
ンザクションが常にU P U220において開始され
ることを意味する。各々のトランザクションは典型的に
は、入出力読み出し、入出カ書き込み、ロギング、トラ
ンザクション遂行、トランザクション中止、及び内部プ
ロセス通信を含む、幾つかの段階を包含する。これらの
機能の各々は、R’   PU210とUPU220(
7)間、及ヒシステムノ他の部分との共働を含む。
基本的にはアプリケーションコードの処理ヲ意図してい
るU P U220は、システム呼出インタフェース、
ファイルシステムバッファキャッ・  シュ探索、他の
同期ユーザー機能、単一のSBB内での内部プロセス通
信、及びある種の低レベルメツセージ並びにRPUに関
する割り込み処理を提供するものである。
RPUは特に、それによってハードウェアからよす高い
レベルのソフトウェアへと割り込みが指定されるところ
の多数の実行プロセス即ちスレッダ(threads)
 、システム内での物理的目的物の発見、論理ブロック
から物理ブロックへのマツピング、スペース割り当て及
びボリューム管理を含むファイルシステムの取す扱い、
トランザクションイメージ管理、S88間での内部プロ
セス通信、低レベルメツセージ取り扱い、及びディスク
入出力を行うためのディスク駆動装置を含んでいる。こ
れらのRPUの特徴の内の少なくとも幾つかは、実時間
実行プログラム(RTE)によって提供される。RTE
はRPU内で走り、第1図から第7図において説明した
システムのハードウェアと、アプリケーションプログラ
ム又はユーザーレベルプログラムの如き高レベルソフト
ウェアとの間を繋ぐ連結ソフトウェアである。
オペレーティングシステムによってリクエストされるR
PU内に含まれるプロセスは、本明細書においてトラン
ザクション統合子と称することがあるトランザクション
管理(TM)プロセス、一つ又はそれ以上の入出カサ−
バー(10)及び非同期入出力を完了するための非同期
サーバー(ASC)を含んでいる。RTEはまた、シス
テムの残りの部分によって必要とされるのに応じて処理
の間の適当な時にプロセスが保留され(「眠らされ」)
又は復活され(「呼び起こされ」)ることを可能ならし
める。プロセスが保留されている場合、RPU210 
及ヒRTEは他のオペレーションを行う。
システムのソフトウェアとU P U220及ヒRPU
210で作動しているユーザーのソフトウェアとの間の
関係、及びトランザクション処理の際のこれらの相互作
用は、後述する第8a図−第8d図からより良く理解さ
れるであろう。UP U220の枠組みの中には、ユー
ザープログラムおよびオペレーティングシステムの一部
、並びにUPUファームウェアの核が存在する。RP 
U210の側には、RTEの核、RTEプロセスTM、
IO及びASCが存在する。
トランザクションは常にユーザープログラム即ちユーザ
ープロセスから開始される。ユーザープロセスは、UP
Uのオペレーティングシステムに対し、「トランザクシ
ョン開始」と称するシステム呼び出しを行う。この「ト
ランザクション開始」という呼び出しは、UPUが当該
トランザクションのためにカーネル(核)データ構造を
自動的に生成するようにし、このデータ構造はRP U
210内のトランザクション統合子プロセスによって管
理される。
RP U210内に存在するトランザクション統合子は
、当該トランザクションに関連するファイルシステムの
各々を、該ファイルシステムを所有しているSBBのR
PUに対してメツセージを送出することによって通知す
る。関連するファイルシステムを有している遠隔のSB
Bの各々は次いで、当該関連するファイルシステムのた
めに、局所トランザクション制御構造を確立する。アプ
リケーションプログラムがファイルからの情報を要求し
たり或いはファイルに情報を書き込んだりする場合には
、ファイル開放リクエストはトランザクションの際にロ
ックが適用されるようにする特性を含んでよい。
本発明の下では、ロックを行うことはファイルレベル又
はブロックレベルの何れかにおいて行われる。ファイル
レベルでのロックは、ユーザーによりリクエストされた
場合にはファイルの開放に際して自動的に適用される。
ブロックレベルでロックを行うには、〇−制御特性と称
する特別の属性の使用が必要とされる。
ファイルレベルでは四つのタイプのロックを適用するこ
とができる。先ず第一のタイプである排他的ロックは排
他的な読み出し/書き込みのアクセスをもたらし、ブロ
ックレベルで0−制御特性が用いられているかどうかと
は無関係に読み出しの再現性及びトランザクションの際
のファイルに対する一貫性を保証し、そしてブロックレ
ベルのロックによって遅延されることはない。第二のタ
イプである共有ロックは読み出し専用のアクセスをもた
らし、他のどのようなプロセスもファイルに対して排他
的又は専心排他的ファイルロックを行わないようにし、
読み出しの再現性及びファイルの整合性を保証し、どの
ようなブロックレベルのロックによっても遅延されない
。第三のタイプは専心排他的ロックであり、これは読み
出し/書き込みのアクセスをもたらし、他のどのような
プロセスもファイルレベルでの排他的又は共有ロックを
行わないようにするが、〇−制御特性が設定されない限
りは読み出しの再現性を保証せず、ブロックレベルのロ
ックと衝突することによって遅延される(このタイプの
ファイルレベルでのロックは、通常オンライントランザ
クション処理に使用されている)。最後に第四のタイプ
である専心共有ロックは、読み出し専用のアクセスをも
たらし、他のどのようなプロセスもファイルレベルの排
他的ロックを行わないようにするが、ブロックレベルの
ロックのために〇−制御が設定されなければ一貫性のあ
る読み出しを保証せず、ブロックレベルのロックと衝突
することによって遅延される。
〇−制御特性を使用することによって得られるブロック
レベルでのロックには、二つのタイプがある。一つ目は
共有タイプであり、これはプロセスがあるブロックを読
み出した場合に自動的に生じ、そして他のプロセスが当
該ブロックについて排他的ロックを得ることのないこと
を保証する。もうひとつは排他的タイプであり、これは
プロセスがあるブロックに書き込みを行い或いは「書き
込みロックと共に読みだす」というシステム呼び出しを
実行した場合に生ずるものであって、他のプロセスがト
ランザクションの間に当該ブロックについて共有又は排
他的ロックのいずれをも得ることができないことを保証
する。
リクエストの際に探索されているブロックが別のプロセ
スからのロックを受けている場合には、当該ブロックが
利用可能となりロックをすることができるようになるま
でリクエストを行ったプロセスは保留され、その後再度
試みられる。しかしながら幾つかの場合には、デッドロ
ックが生ずる可能性も理論的には存在する。そのような
場合には、即時デッドロック検出が局所的にもたらされ
、例えばシステムの待ちを終了させるためのタイムアウ
トによって、遠隔のデッドロックに対する解決が行われ
る。
あるトランザクションにおいて探索されているファイル
は、局所のSBB又は遠隔のSBBの何れに存在するこ
ともできる。ファイルが局所的である場合には、読み出
し及び書き込みリクエストはU P U220にあるフ
ァイルマネージャーへと直接に通過される。リクエスト
された情報が当該UPUのバッファキャッシ二内に見出
されたなら、当該情報はリクエストを行っているプロセ
スへと単に戻される。
しかしながら、もしも当該情報がバッファキャッシュ内
に存在していない場合、即ち遠隔のSBBに存在してい
る場合には、UPUは当該データを発見し伝送するよう
にRP U210に対してリクエストを伝送する。当該
データがある遠隔のSBBにあるならば、当該トランザ
クションの始まりにあたって確立された当該遠隔のSB
Bの局所データ構造は適当なロックを得て、当該データ
即ち情報を、リクエストを行っているSBBへと送出す
る。遠隔のSBBに対するファイルロックは局所のSB
Bに対するファイルロックと同一に取り扱われ、従って
適当なレベルのロックが利用可能になるまで、〇−制御
特性を有するどのようなファイルも待つようにされる。
トランザクション開始オペレーションが一旦完了したら
、当該トランザクションはユーザープログラムによって
要求されるところに従って処理される。オンライントラ
ンザクションの特徴的な部分は、入出力読み出しを行う
ことである。本発明のシステムにおいては読み出しオペ
レーションに四つのタイプがあるが、これらはそれぞれ
第ga−d図からより良く理解されるであろう。
第8a図に示された第一のタイプの読み出しオペレーシ
ョンにおいては、所望のデータはバッファキャッシュに
含まれており、ディスクに対するアクセスは要求されて
いない。このタイプの読み出しにおいては、U P U
220に存在するユーザープログラムはメインメモリ2
50内に存在するバッファキャッシュの部分に対して呼
び出しく1)を行い、そこでデータを捜し出す。キャッ
シュは次いで、当該データをユーザープログラムへと直
接に戻す(2)。
第8b図に示された第二のタイプの読み出しオペレーシ
ョンにおいては、キャッシュは情報を含んでおらず、当
該要求されているデータを有しているディスク及びファ
イルシステムは局所的である。この第二のタイプの読み
出しオペレーションにおいては、UPUにおいて走って
いるユーザープログラムはやはりバッファキャッシュを
探索するための呼び出しく1)を行うが、しかしキャツ
シュヒツトはない。このことはUP U220がRP 
U2°10で走っている入出カサ−バープロセスに対し
てメツセージ(2)を送出するようにし、そして入出力
サ−バーは次いで局所のボリュームマネージャーに対し
て呼び出しく3)を行う。
次にボリュームマネージャーはRTEに対してシステム
呼び出しく4)を行って、データが局所ディスクから回
復されるようにする。このRTEの駆動装置はここでデ
ータをボリュームマネージャーに対して供給(5)シ、
ボリュームマネージャーは次いで該データを入出力サ−
バーへと伝送(6) する。そして入出カサ−バーは、
データと共に直接にメツセージ(7)をユーザープログ
ラムへと送出する。
第8C図に示された第三のタイプの読み出しオペレーシ
ョンは、キャツシュヒツトがなり、入出カサ−バーが局
所的であり、データを含んでいるディスクが遠隔にある
状態を包含する。このような場合、ユーザープログラム
はキャッシュに対して呼び出しく1)を行い、キャッシ
ュは「キャッシュミス」としてメツセージ(2)をRP
Uの入出力サ−バーに対して送出する。入出力サ−バー
は次いで局所ボリュームマネージャーに呼び出しく3)
を掛けるが、ボリュームマネージャーはデータを有する
ディスクが局所的でないことを判定する。
次にボリュームマネージャーは、データを有しているデ
ィスクを所有しているとしてUIDによって識別された
SBBのRPUで走っている遠隔のディスクサーバープ
ロセスに対してメツセージ(4)を送出する。そこでデ
ィスクサーバープロセスは第8b図の場合と同様にして
RTE駆動装置に呼び出しく5)を行い、データはディ
スクプロセスへと戻される(6)。ディスクプロセスは
データを含んでいるメツセージ(7)をボリュームマネ
ージャーに戻すよう送出し、ボリュームマネージャーは
関連する入出力サ−バーに応答(8)する。入出力サ−
バーはそこでメツセージ(9)をデータと共に、直接に
ユーザープログラムへと戻す。
上記した三つのタイプの読み出しオペレーションは、フ
ァイルが読み出し専用ファイルである場合、或いは読み
出し専用ではないがシステムの他のSBBの何れかによ
って書き込まれていない場合にのみ使用可能なものであ
る。四番目のタイプの読み出しオペレーションは、読み
出し専用ファイル、読み出し/書き込みファイノペ及び
読み出し又は書き込みの何れかのために〇−制御特性で
もって開かれたファイルについて使用される。
第8d図に示された四つ目のタイプの読み出しは、局所
ユーザープログラム、遠隔ファイルシステムを含み、キ
ャツシュヒツトはしないがディスクと同じSBBに存在
するファイルシステムを含んでいる。この例は〇−制御
特性を使用するファイルの開放、或いは後述するような
ファイルの書き込みにも適用されるものである。
この四つ目のタイプのオペレーションにおいては、ユー
ザープログラムに関連するオペレーティングシステムは
遠隔のRPUの入出カサ−バーに対してメツセージ(1
) を直接に送出し、当該遠隔の入出カサ−バーは局所
ボリュームマネージャーに対してシステム呼び出しく2
) を行う。ボリュームマネージャーはこれまで説明し
た他のタイプの読み出しの場合と同様にしてRTE駆動
装置に対してシステム呼び出しく3)を行い、そして情
報はボリュームマネージャーへと戻るように提供(4)
される。前と同様に、ボリュームマネージャーはデータ
を入出力サ−バーへと戻す(5)。遠隔の入出力サ−バ
ーは次いで、メツセージ(6)をオペレーティングシス
テムへと直接に、つまりユーザープログラムへと送出す
る。
第8d図において示されたプロセスについて説明された
段階は、データの状態が許すならば、第8a−c図の段
階を組み込んでよいことが認識されるであろう。
第8C図及び第8d図を再度検分してみると、本発明の
システムが二つのレベルの遠隔の度合ヲ取り扱うことが
できるということが明らかになる。最初の遠隔レベルは
高レベルで生じ、第8d図に示された如き遠隔の入出力
サ−バーを含むが、第二の遠隔レベルはディスクという
低レベルで生じて、遠隔のディスクにアクセスするため
にボリュームマネージャーを介して作動する。
さらに、前述したダイヤグラムから、入出カサ−バーが
常に局所ボリュームマネージャーを呼び出し、ボリュー
ムマネージャーはディスクそれ自体が局所的であるか遠
隔にあるかを判定することが理解されよう。当該ディス
クが局所的であれば、ボリュームマネージャーはRTE
を呼び出す。遠隔にあるのならば、ポリニームマネージ
ャーはメツセージを遠隔のディスクサーバーに対して送
出する。ボリュームマネージャー及び遠隔のディスクサ
ーバーは両方共、常にRPUで走っている。
第8a図から第8d図に示された読み出しオペレーショ
ンにおいては、ロックを行う段階は簡単化のために記載
されていない。しかしながらロックを行うことは第一段
階において、即ちキャッシュに呼び出しを行う直前(第
8a図から第8c図)又は入出カサ−バーに呼び出しを
行う直前(第8d図)に生ずる。各々の関連するファイ
ルシステムのための入出カサ−バープロセスが、必要に
応じてロックを実行する。適当なレベルのロックが容易
に利用可能でない場合には、ロックリクエストはロック
キューにおいて、競合するロックをファイル又はブロッ
クに有している何等かのトランザクションが当該ロック
を解除するまで待つ。入出カサ−バーはトランザクショ
ンの完了及びロックの解除に際して当該ロックキューを
再度調査するが、それまでは他のタスクを行うために利
用可能なままとされる。
第8a図から第8d図においては一つのRTE駆動装置
のみが示されているが、これは単に複数の同一物の内の
一つを表示したに過ぎないものであり、幾つかの同一の
RTE駆動装置が存在していて良いことが理解されるで
あろう。そして故障寛容構造においては、少なくとも二
つの同一のRTE駆動装置がある。そのような構造は、
RTE駆動装置との通信を含む段階の隼なる拡張を要求
するのみである。
トランザクション内での別の共通の機能は入出力書き込
みであるが、これは上記に説明した入出力読み出しに対
してかなりの類似性を有している。しかしデータの一貫
性を確保するために、幾らか異なるロック及びロギング
を必要とする。入出力読み出しの場合と同様に、作用は
、前述のファイルシステムキューUID即ちFSQUI
Dを介して入出力サ−バーに対してメツセージを送出す
るというユーザープロセスから開始される。入出力サ−
バーはポリニームマネージャーを呼び出すが、しかしブ
ロックに対して排他的ロックを要求する。当該ブロック
をロックしていた何等かの未了のトランザクションが解
消した後、ボリュームマネージャーハ所望の排他的ロッ
クを返す。
この時点にふいて、現在の、即ち「古い」データは事前
イメージとしてログバッファにおいて待ち行列とされ、
一つ又はそれ以上の事前イメージ又は他の情報からなる
パケットにヘッダ及びトレーラを加えたものが受信され
た場合に論理ボリュームのログに書き込み即ち流し込ま
れる。このパケットは、トランザクション統合子によっ
て要求された場合、或いは一貫性を保持するために事前
イメージがディスクに書き込まれねばならない場合、若
しくはパケットが満杯の場合に、ログへと書き出される
ことができる。ヘッダは統合子のUrDを含み、また種
々のポインタをも含んでいる。
事前イメージは1キロバイトのブロックで書き込まれる
。なぜなら書き込まれるレコードは典型的には1キロバ
イト以下だからである。勿論、バッファキャッシュ内に
既に事前イメージが存在しているならば、当該イメージ
はディスクから読み出されるのではなく、第4図に関し
て説明したように取り扱われる。
新たな、即ち変更されたデータはバッファキャッシュ内
に格納され、それがディスクへと書き込まれる必要があ
るということを示すフラグを付けられる。入出カサ−バ
ーは周期的に、ポリニームマネージャーが実際にブロッ
クを書き改めるようにするが、これはトランザクション
の完了時に、或いはバッファキャッシュメモリを入れ替
えるために行われる。当該ブロックのための事前イメー
ジがログバッファ内に割り当てられてはいるがまだログ
に書゛き込まれていない状態にあるのではないかという
ことを見るために、ブロックを書き込む前にログバッフ
ァの調査がなされる。もしそうならば、RTEを発動さ
せているボリュームマネージャーの制御の下に、当該ロ
グバッファが先ずログへと書き込まれる。
データが書き込まれるべきディスクが局所的である場合
には、ポリニームマネージャーはRPUのRTEに対し
て直接の呼び出しを行い、ディスクサーバー°を迂回す
る。しかしながら、もしもディスクが遠隔にあるならば
、ボリュームマネージャーはディスクサーバーへとデー
タを送出し、このディスクサーバーがデータを有して遠
隔のSBBのRTEに対して呼び出しを行う。関連する
IOPはその時点でディスクコントローラを介してディ
スクに対する通常の書き込みを行い、ボリュームマネー
ジャーに対して、ひいては入出カサ−バーに対して承認
信号を戻す。入出カサ−バーは次に、ユーザープロセス
に対して承認信号を送出する。ブロックに書き込むこと
が必要であることを示していたバッファキャッシニのフ
ラグはリセットされる。
幾つかの場合には、デッドロック又はハードウェア若し
くはソフトウェアの故障のために、完全なトランザクシ
ョンが完了されないことがある。そのような場合、故障
寛容装置がデータの破損を好適に防止する。トランザク
ションの間には何時でも失敗が生じ得るものであるから
、例えばディスクに対する書き込みが行われた後にも失
敗が生ずることはある。その場合には、データの破損を
防ぐために、ファイルを書き込みが行われる以前の状態
へと回復させることが必要となる。かかる場合に、ログ
内に格納されている事前イメージが重要なものとなる。
ディスクの書き込みに続く失敗によるデータの破損を防
止するために、少なくとも「トランザクション遂行」と
称する機能が営まれるまでか或いは「トランザクション
中止」とされるまでは、事前イメージはログ内に保持さ
れねばならない。殆どの場合にはトランザクションは中
止されず、成功裏に完了されるものであるから、先ずは
「トランザクション遂行」処理について説明する。
本発明の遂行処理は、一般的に二段階遂行と称するもの
を実行する。第一段階は、ユーザープロセスが遂行トラ
ンザクションシステム呼び出しを実行した場合に開始さ
れる。ユーザープロセスが遂行を要求した時点において
、トランザクション統合子はトランザクションに含まれ
ているファイルシステムの各々のFSQUIDに対して
、或いはトランザクションシステム呼び出しの開始以来
読み出し又は書き込みが宛てられていた何れかのファイ
ルシス・テムのFSQUIDに対して遂行メツセージを
送出する。これらのメツセージは入出カサ−バーに受信
され、サーバーは次に、関連するファイルへの書き込み
の場合に、事前イメージをログに満たし、後のイメージ
をデータファイルへと満たす。
入出力サ−バーがディスクに対して総ての事前イメージ
及びデータブロック(既に満たされていない場合)を書
き込んだならば、サーバーは前述のように承認信号(A
CK)を送出する。
総ての関連する入出カサ−バーがこのようにして応答し
たなら、トランザクションは遂行処理の第二段階に入る
。そうではなく、何れかの入出カサ−バーが書き込みを
行うことができない場合には、当該サーバーは否定的承
認即ちNACKをもって応答し、そしてトランザクショ
ンは中止手続きへと入る。
遂行処理の第二段階の際に、総てのACK応答が入出力
サ−バーから受信された後、トランザクション統合子は
、統合子ログと称するログの一部へと同期して書き込み
を行う。統合子ログに対する書き込みは、トランザクシ
ョンを遂行するものである。統合子ログは常に、統合子
が存在するSBBの局所ルートの論理ボリュームログに
保持されている。
同一のボリュームが複数存在していることから、統合子
ログもやはり同一物が複数存在しており、多重の物理デ
ィスク上に渡って広がっていることが理解されよう。従
ってトランザクション統合子による同期的書き込みは、
多重ディスクファイルへの書き込みを実際に含んでよい
が、しかし遂行を受信する最初のディスクファイルは、
もはや事前イメージを回復することができないようにな
る。この理由から、トランザクション統合子が一つだけ
でも統合子ログに書き込んだならば、トランザクション
は遂行されたものと見做される。
勿論、はとんど総ての場合に、トランザクション統合子
は複数の同一の統合子ログの各々に対してうまく書き込
みを行う。この場合トランザクション統合子は、関連す
る入出カサ−バーからの先のACKメツセージに応答し
て、トランザクションが遂行されたことをサーバーに通
知する。入出カサ−バーはそれらが関連するデータのブ
ロックのロックを解除すると共に、それらのログに対し
て局所遂行を知らせることによって応答する。局所的な
遂行レコードの各々がディスクに対して一旦うまく書き
込まれた場合には、入出カサ−バーはトランザクション
統合子に対して別のACKを送出し、そして統合子は当
該トランザクションの開始時点において創出されたトラ
ンザクション制御構造を他に割り当てる。
上記した読み出し及び書き込みに密接に関連したシステ
ム通信の形式は、インクプロセス通信チャネル即ちIP
Cチャネルである。本発明によるIPCチャネルは一旦
生成されれば、通常のファイルと同様にして開くことが
できる。
また、読み出し及び書き込みはストリームモード又はメ
ツセージモードの何れでも行うことができ、通常のファ
イルアクセス保護機構を含め、開放、閉鎖、読み出し及
び書き込みという本発明のシステム呼び出しと共に使用
することができる。
本発明によって提供されるIPCチャネルは、データに
対するアクセスがシステム全体に分散して行われ、デー
タベースに対してサーバーが行うアクセスの数が顧客と
サーバーとの間の取引の数よりも多い場合には、改良さ
れたスループットをもたらす。なぜならIPCチャネル
は、遠隔のSBBに対してリクエストを行っているSB
Bではなく、対象となるデータを所有しているSBBに
おいてサーバープロセスが走ることを可能ならしめるか
らである。
IPCチャネルは顧客とサーバーとの間に確立される。
顧客は典型的には、取引を端末において取り扱うアプリ
ケーションを処理しているトランザクションの一部であ
ると見做され、そしてサーバーは取引をデータベースを
もって取り扱う。また、本発明によればIPCチャネル
は、類似の或いは関連する範鴫にあるプロセスの間に確
立されてもよい。IPCチャネルは、読み出し専用、書
き込み専用、或いは読み出し−書き込みとして定義され
、必然的にという訳ではないが、好ましくは読み出し専
用と書き込み専用、及び読み出し−書き込みと読み出し
−書き込みと対になっている。
IPCチャネルの確立には、二つの段階が要求される。
第一に、当該IPCチャネルのために適当なUIDを識
別し、第二に、顧客とサーバーとの間、類似の或いは関
連する範鴫にあるプロセス同士の間、又はこのようなプ
ロセスとサーバーとの間でシステムを開けるための呼び
出しのマツチングをとる。IPCチャネルを定義するた
めには、両端部に一つ宛、合計二つのUIDが必要とさ
れる。典型的には、サーバーは顧客がIPCチャネルを
開くのを待っている。
また、〇−制御特性をもってトランザクション処理のた
めに開かれたIPCチャネルは、好ましくは〇−制御フ
ラグセットをもってIPCチャネルを開く別のプロセス
とのみ対にされ、またその逆も然りである。
IPCチャネルは、トランザクション処理の目的で一時
的又は永久的な接続として確立され、入れ予室トランザ
クションを含むこともできる。
これらは第9a図から第9C図に示されている。
まず第一に第9a図を参照すると、一時的な接続構成が
示されている。この一時的接続モデルは、永久的な接続
構成では単一の顧客しか受は入れられないのに対し、チ
ャネルが複数の顧客プロセスについて働くのを可能なら
しめる。
第9a図の一時的接続構成においては、第8図に関して
説明したように、顧客プロセスはトランザクション開始
呼び出しをもって接続を開始し、これに続いて〇−制御
特性を用いてファイルシステムを開くための呼び出しが
行われる。
サーバーも〇−制御特性を用いてファイルシステムを開
くための・呼び出しを行った場合には、チャネルの確立
を識別している信号がサーバーに送られる。そこでサー
バーがIPCチャネル上で読み出しを行い且つ顧客が書
き込みを行うまで当該チャネルをブロックすることをも
って、トランザクションが開始される。この「読み出し
−書き込み」は顧客とサーバーのための同期をとり、そ
の後トランザクションの本体が実行される。
サーバーがトランザクション1こお(する自己の役割を
完遂した場合には、「トランザクションレディ」呼び出
しが実行され、トランザクションの終了にあたってIP
Cチャネルを非同期的に閉じ、そしてプログラムの最初
へとループして、別の顧客のためにIPCチャネルを再
び開く。当初のトランザクションにおいてその後失敗が
生じた場合には、サーバーは信号を送らない。その代わ
り、トランザクションが遂行されたことを合図するよう
書き込み呼び出しが顧客プロセスによって発せられるま
で、サーバーは読み出し呼び出しをブロックすることに
よりトランザクションモードに留まる。何れの場合にも
、顧客プロセスはトランザクションの遂行の後に閉じら
れる。
第9.b図の永久接続モデルが第9a図と異なるところ
は、ファイルシステムを開きまた閉じるための呼び出し
がループの範囲外で生じ、そして顧客プロセスにもトラ
ンザクション開始呼び出しへのループが含まれるという
点のみである。
このような構成が顧客プロセス及びサーバープロセスの
連続的な通信を保つということは明らかである。
第9C図を参照してみると、あるプロセスが、トランザ
クションの一部に関してはサーバープロセスであるが、
しかし当該トランザクションの別の部分については顧客
プロセスとなることが明らかである。またこの二次的な
顧客−サーバープロセスが、〇−制御特性でシステムを
開くための呼び出しのタイミングの僅かな調整を含むこ
とも明らかである。
本発明の新規な特徴によるトランザクションの良好な処
理を説明したが、トランザクションの完了の失敗、及び
データを一貫した状態へと戻すための回復手順について
議論するのも妥当であると思われる。
トランザクションが中止される場合、その失敗の原因は
数多く存在しうる。しかし一般的には、失敗は三つの種
類に分けることができよう。
即ちトランザクション統合子及びファイルシステムの両
者が生き残っている場合、トランザクション統合子は生
き残ったがファイルシステムが失われた場合、及びトラ
ンザクション統合子は生き残っていないがファイルシス
テムが生き残っている場合である。
第一の種類、即ち失敗が生じたがトランザクション統合
子が生き残っている状況では、当該統合子は入出力サ−
バーの各々に対して、トランザクションが中止されるべ
きであるとのメツセージを送出する。そこで入出カサ−
バーは、それらの関連するブロックの各々の事前イメー
ジをログレコード(バッファキャツシ二又はログの何れ
か)から読み出し、それらをデータファイルへと書き込
む。データファイルは、データをトランザクション開始
前の状態へと回復する。次いで入出力サ−バーはそれら
が関連するブロックに対するロックを解除し、トランザ
クション統合子に対してACKを送出する。また、トラ
ンザクション統合子は、ユーザープロセス(又はアプリ
ケーションソフトウェア)に対して、当該トランザクシ
ョンが失敗したという通知を行う。これによりユーザー
プログラムは、トランザクションを再スタートさせるか
又は他の動作を行うかを決定することが可能となる。
第二の場合、即ち例えばSBBが破損するなどによって
ファイルシステムのボリュームマネージャーが失われた
場合には、別のSBBに存在しているバックアップ用の
ボリュームマネージャーがそのことに気付いて、マウン
トプロセスを開始する。他のポリニームマネージャーが
気付くのは、残りのSBBによって絶え間なく行われて
いる状態モニタリングによるものである。この状態モニ
タリングは、通常のオペレーション関連メツセージを規
則的に受信することに基づいている。あるSBBが異常
に長い期間別のSBBからのメツセージを受信していな
い場合には、当該SBBはその疑わしい別のSBBに対
して模造のメツセージを発生し、応答が何も受信されな
ければ、その疑わしいSBBは故障したのだと結論する
。このことにより、幾つかある公知のプロトコルの何れ
かに従って、新しい論理ボリュームが選択されるように
なる。
マウントプロセスの目的は、ファイルシステムを該ファ
イルシステムがオンラインに入ってくる以前と一貫した
即ち整合した状態に置くことである。マウントプロセス
は、ファイルシステムのために呼び出される毎に、最初
のモニタリングをも含めてこの手順を実行する。ユーザ
ーは論理ポリニームを構成する場合に、−次的及び二次
的なSBB統合子を指定することができる。もしもユー
ザーによって何も選択されなかったなら、ボリュームに
対するアクセスに基づいて、不履行経路が割り当てられ
る。局所ルートファイルシステムには自動マウントビッ
トが設定されており、バックアップ用のボリュームマネ
ージャーが引き継ぎを行った場合に自動的にマウントさ
れる。
マウントプロセスはログの活性な部分全体を走査し、事
前イメージの中でトランザクション遂行が存在していな
いものの各々を識別する。
マウントプロセスは、遂行が存在していない事前イメー
ジの各々について、当該事前イメージを組み込んでいる
メツセージのヘッダから、関連するトランザクション統
合子のUIDを判定し、そして当該統合子に対してメツ
セージを送出して、トランザクションが遂行されたのか
又は中止されたのかを判定する。トランザクション統合
子は局所的に管理されることが必要とされるが、なお制
御構造を有しており、トランザクションを認識して、遂
行或いは中止の何れかのメツセージを送り返す。中止さ
れたトランザクションの各々については、事前イメージ
が上述のようにしてデータファイルに印加される。
遂行されたトランザクションの各々についてはログが修
正されて、トランザクションが遂行されたことを示すよ
うになる。この時点においてファイルシステムは一貫し
ており、オンラインに乗った時点でユーザープロセスは
再スタートすることができる。
第三番目の種類の中止は、SBBの故障の如く、トラン
デクジョン統合子が失われるような失敗を含んでいる。
そのような場合、トランザクション統合子は典型的には
、入出カサ−バーに対して、事前イメージを印加するよ
うに指示することはない。しかしデータリクエストに応
じないこと或いは所要の周期的信号が喪失したことを介
して、別のSBBが失敗のあったことを知る。
どのようにして失敗が判定されるかとは関係なく、トラ
ンザクション統合子の引渡が、統合子ログを含んでいる
論理ボリュームのためのマウントプロセスの一部として
、ボリュームマネージャーによって開始される。このマ
ウントプロセスは、故障したSBBのための統合子ログ
を記載しているレコードを見出し、古い統合子のUID
の下で暫定的な統合子を生成し、それが古いトランザク
ション統合子へと前に送られた総てのメツセージを受は
取るようにする。当該統合子が元のSBBにおいて再ス
タートすることも可能であることも理解されるであろう
マウントプロセスは次に統合子ログを走査して、前述し
たようにして、遂行されたことを統合子ログが示してい
るトランザクションの各々について、トランザクション
制御ブロックを生成する。そこでバックアップ統合子は
前述のようにして、総ての他のトランザクションを中止
し、ファイルシステムが一貫するようにする。
幾つかの場合には、この暫定的な統合子が確立される前
に、別のファイルシステムについてのマウントプロセス
が開始される。そのような場合には、マウントプロセス
はバックアップ統合子が確立されるまで、単にUIDを
質し、応答を得なければタイムアウトを待ち、再度サイ
クルして再度トライする。そしてその後にメツセージを
送出するものである。
〔発明の効果〕
遠隔のSBB並びに局所のSBHの故障からの回復をも
たらすことにより、適当に構成されたシステム内のどの
ようなシステムハードウェアの故障も、データの破損或
いは全体としてのシステムによる処理の中止を生ずるこ
とがないことが理解し得る。より簡単にいうと、本発明
は故障寛容性という特性を有するオンライントランザク
ション処理システムであって、連続的な利用可能性及び
データの完全性、使用の容易さ並びに拡張可能性を有す
るものである。
本発明は好ましい実施例について説明されてきたが、本
発明から離れることなしに数多くの変更例及び均等物が
存在しうろことは、当業者にとって明らかであろう。従
って本発明の範囲は前述の記載事項によって限定される
ものではなく、特許請求の範囲のみに基づいて解釈され
るべきである。
【図面の簡単な説明】
第1図は本発明により二つのプロセッサ(SBBO及び
5BBI)を有する多重プロセッサシステムの構成を機
能ブロックダイヤグラムの形態で示す概略的なブロック
ダイヤグラム;第2図はシステム構成ブロック即ちSB
Bの要素を示す概略的なブロックダイヤグラム;第3図
はSBBの実時間処理ユニット即ちRPUを示す概略的
なブロックダイヤグラム;第4図はSBBのユーザー処
理ユニット即ちUPUを示す概略的なブロックダイヤグ
ラム;第5a図から第5d図はSBBの入出力プロセッ
サ即ちIOP及び関連する制御プログラムの流れ図をそ
れぞれ示す概略的なブロックダイヤグラム; 第6図はSBBのシステム相互結合ボード即ちSIBを
示す概略的なブロックダイヤグラム;第7a図から第7
d図はSBBのメインメモリ及びオペレーティングシス
テムによるメインメモリの区分けをそれぞれ示す概略的
なブロックダイヤグラム; 第8a図から第8d図は本発明による読み出しオペレー
ションの四つの種類をそれぞれ示す説明用のダイヤグラ
ム; 第9図はインクプロセス通信チャネルの三つのタイプを
概念的に示す説明図である。 10、20・・・SBB (システム構成ボード)30
、40・・・LANリンク 80・・・ディスクコントローラ 120、130.140.150・・・ディスク駆動装
置200・・・MFB (メインフレームバス)210
・・・RPU (実時間プロセッサユニット)220・
・・UPU (ユーザープロセッサユニット)230・
・・IOP (入出カプロセッサ)240・・・5IB
(システム相互結合ボード)250・・・MEM (−
7’インメモリ)出願人代理人   古 谷   畳 量   溝部単音 同   古谷 聡 図面の浄15F(内容に変更なし) :■−1 二ゴー7A コゴー7B コゴー8B 扇)答デOt2           カーIX′γに
スコゴー9A r9B  ’

Claims (1)

  1. 【特許請求の範囲】 1 複数の処理ユニットと、 各々の処理ユニットから他の処理ユニットの各々へとそ
    れぞれ延伸している複数のインタプロセッサ通信リンク
    と、 各々の処理ユニットは、インタプロセッサ通信リンクの
    数と等しい数のインタプロセッサ通信ユニットと、実時
    間プロセッサと、応用プログラムプロセッサと、局所メ
    モリと、該ユニットの内部でバスによってそれぞれ結合
    され且つ入出力チャネルとは離された少なくとも一つの
    入出力プロセッサとを含み、前記実時間プロセッサは該
    処理ユニットの残りの部分による内部のバスに対するア
    クセスを制御することと、各々の処理ユニット内に含ま
    れた各々の入出力プロセッサに対して一つ宛結合された
    複数の入出力チャネルと、 少なくとも二つのポートを有する複数の通信プロセッサ
    と、各々のポートは別の処理ユニットと組み合わせられ
    た入出力チャネルと結合され且つ複数の入出力装置に結
    合されるように構成されていることと、 各々の入出力チャネルに結合された複数のディスクコン
    トローラと、各々少なくとも二つのポートを有し且つ第
    一の処理ユニットに結合された入出力チャネルと組み合
    わせられたディスクコントローラに結合された第一のポ
    ート及び第二の処理ユニットに結合された入出力チャネ
    ルと組み合わせられたディスクコントローラに結合され
    た第二のポートを有するように構成され、さらに一度に
    前記ディスクコントローラの内の一つのみによってアド
    レス可能なように構成されている複数のディスクと、 各々の処理ユニットは該処理ユニットがアドレス可能な
    前記ディスクの少なくとも一つのキーと組み合わせられ
    ており、各々のそのようなキーのディスクは組み合わせ
    られた処理ユニットに関連するトランザクション情報を
    含んでいるログを格納するよう構成されていることと、
    及び、 前記処理ユニットの少なくとも一つは他の処理ユニット
    の故障を認識し、当該処理ユニットに組み合わせられて
    いるディスクに格納されたログに含まれているトランザ
    クション情報を調査し、当該組み合わせられているディ
    スクの制御を確立して当該ディスクに格納されているデ
    ータファイルをシステムの残りの部分に格納されている
    データファイルと整合させることが可能であることを含
    む、分散処理システム。 2 複数の処理ユニットの各々と、少なくとも二つのポ
    ートを有する少なくとも一つの持久格納媒体の間に組み
    合わせを確立し、それによって一つの処理ユニットのみ
    が、当該処理ユニットが作動を継続し且つ少なくとも一
    つの持久格納媒体の制御を止めない限り、組み合わせら
    れた少なくとも一つの持久格納媒体をアドレス可能なよ
    うにし、 組み合わせられた少なくとも一つの持久格納媒体にある
    ログ内に、各々の処理ユニットによって統合されたトラ
    ンザクションの状態に関する情報を格納し、 複数の処理ユニットを少なくとも一つのインタプロセッ
    サ通信リンクによって相互に結合し、各々の処理ユニッ
    トから時々伝送される信号をモニターして処理ユニット
    のどれかが故障したかどうかを判定し、 一つの処理ユニットが故障した場合に別の処理ユニット
    が、故障した処理ユニットと以前に組み合わせられてい
    た少なくとも一つの持久格納媒体と通信を確立すると共
    に、故障した処理ユニットによって以前に統合されてい
    たトランザクションのためのトランザクション情報を調
    査できるようにし、及び、 前記トランザクションを遂行又は中止することにより、
    前記別の処理ユニットが前記故障した処理ユニットによ
    って以前に統合されていたトランザクションを完了する
    ようにすること、の各段階を含む、故障寛容トランザク
    ション処理の方法。 3 複数の処理ユニットと、少なくとも二つのポートを
    有する複数のディスク駆動装置と、及び各々の処理ユニ
    ットを結合するインタプロセッサ通信リンクとを有する
    処理システムにおける、故障寛容トランザクション処理
    のための方法であって、 各々の処理ユニットとディスク駆動装置との間に組み合
    わせを確立し、 各々の処理ユニットのために、組み合わせられたディス
    ク駆動装置においてログファイルを生成し、 システムにより処理されるトランザクションの各々のた
    めに前記処理ユニットの一つにおいてトランザクション
    統合子を確立し、 組み合わせられたトランザクション統合子によって発現
    された、ログファイル内にある関連するトランザクショ
    ンに関する情報を記録し、トランザクション統合子があ
    る処理ユニットの故障を検出し、 別の処理ユニットが、前記故障した処理ユニットと組み
    合わせられているログファイルを有するディスク駆動装
    置と通信を確立するようにし、 前記ログファイルを走査して、システム内のどこかに格
    納されている情報と整合しない記録事項を判定し、 システム内のどこかに格納されている情報と前記ログフ
    ァイルとの間の不整合を識別するために他の処理ユニッ
    トに尋問し、及び、 システム内のどこかに格納されている情報と前記ログフ
    ァイルとが整合するように、トランザクションの実際の
    状態に従って必要に応じて該トランザクションを遂行又
    は中止すること、の各段階を含む方法。
JP62216271A 1986-08-29 1987-08-29 分散多重処理トランザクション処理システム Pending JPS63238634A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US902191 1986-08-29
US06/902,191 US4819159A (en) 1986-08-29 1986-08-29 Distributed multiprocess transaction processing system and method

Publications (1)

Publication Number Publication Date
JPS63238634A true JPS63238634A (ja) 1988-10-04

Family

ID=25415465

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62216271A Pending JPS63238634A (ja) 1986-08-29 1987-08-29 分散多重処理トランザクション処理システム

Country Status (4)

Country Link
US (1) US4819159A (ja)
JP (1) JPS63238634A (ja)
KR (1) KR910007762B1 (ja)
AU (1) AU7767387A (ja)

Families Citing this family (175)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5056003A (en) * 1985-06-17 1991-10-08 International Business Machines Corporation Distributed data management mechanism
US5045996A (en) * 1986-11-12 1991-09-03 Xerox Corporation Multiprocessor cache memory housekeeping
US5175852A (en) * 1987-02-13 1992-12-29 International Business Machines Corporation Distributed file access structure lock
US5202971A (en) * 1987-02-13 1993-04-13 International Business Machines Corporation System for file and record locking between nodes in a distributed data processing environment maintaining one copy of each file lock
US5113496A (en) * 1987-08-04 1992-05-12 Mccalley Karl W Bus interconnection structure with redundancy linking plurality of groups of processors, with servers for each group mounted on chassis
DE3889904T2 (de) * 1987-09-08 1995-01-12 Digital Equipment Corp Namensverwaltung für ein digitaldatenverarbeitungssystemnetzwerk.
US5109515A (en) * 1987-09-28 1992-04-28 At&T Bell Laboratories User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services
US5319780A (en) * 1987-10-19 1994-06-07 International Business Machines Corporation System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued
CA2003338A1 (en) * 1987-11-09 1990-06-09 Richard W. Cutts, Jr. Synchronization of fault-tolerant computer system having multiple processors
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
DE3854384T2 (de) * 1987-11-30 1996-03-28 Ibm Verfahren zum Betreiben eines einen anteilig genutzten virtuellen Speicher verwendenden Multiprozessorsystems.
US5129088A (en) * 1987-11-30 1992-07-07 International Business Machines Corporation Data processing method to create virtual disks from non-contiguous groups of logically contiguous addressable blocks of direct access storage device
IN170793B (ja) * 1987-12-18 1992-05-23 Hitachi Ltd
JPH0776939B2 (ja) * 1988-03-16 1995-08-16 富士ゼロックス株式会社 通信ネットワークシステム
US5043866A (en) * 1988-04-08 1991-08-27 International Business Machines Corporation Soft checkpointing system using log sequence numbers derived from stored data pages and log records for database recovery
AU601328B2 (en) * 1988-05-26 1990-09-06 Digital Equipment Corporation Temporary state preservation for a distributed file service
US4924384A (en) * 1988-09-21 1990-05-08 International Business Machines Corporation Method for controlling the peer-to-peer processing of a distributed application across a synchronous request/response interface using push-down stack automata
JPH0290330A (ja) * 1988-09-28 1990-03-29 Hitachi Ltd プログラム構成方式
AU625293B2 (en) * 1988-12-09 1992-07-09 Tandem Computers Incorporated Synchronization of fault-tolerant computer system having multiple processors
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5133075A (en) * 1988-12-19 1992-07-21 Hewlett-Packard Company Method of monitoring changes in attribute values of object in an object-oriented database
US5023832A (en) * 1989-01-12 1991-06-11 Honeywell Inc. Method of maintaining asynchronous real-time data
US5222217A (en) * 1989-01-18 1993-06-22 International Business Machines Corporation System and method for implementing operating system message queues with recoverable shared virtual storage
US5165036A (en) * 1989-01-31 1992-11-17 Sharp Kabushiki Kaisha Parallel processing development system with debugging device includes facilities for schematically displaying execution state of data driven type processor
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
KR920008461B1 (ko) * 1989-05-15 1992-09-30 인터내셔널 비지네스 머신즈 코포레이션 프로세스 인터럽팅 시스템 및 그 방법
JPH02310665A (ja) * 1989-05-25 1990-12-26 Toshiba Corp 分散トランザクション処理システム
US5029169A (en) * 1989-07-11 1991-07-02 Bell Communications Research, Inc. Methods and apparatus for fault detection
US5095421A (en) * 1989-08-17 1992-03-10 International Business Machines Corporation Transaction processing facility within an operating system environment
DE69033092D1 (de) * 1989-09-08 1999-06-10 Auspex Systems Inc Santa Clara Betriebssystemaufbau mit mehreren verarbeitungseinheiten
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
JP2559499B2 (ja) * 1989-09-20 1996-12-04 株式会社日立製作所 オンライントランザクション処理システム
US5170480A (en) * 1989-09-25 1992-12-08 International Business Machines Corporation Concurrently applying redo records to backup database in a log sequence using single queue server per queue at a time
US5193162A (en) * 1989-11-06 1993-03-09 Unisys Corporation Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US5317752A (en) * 1989-12-22 1994-05-31 Tandem Computers Incorporated Fault-tolerant computer system with auto-restart after power-fall
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
FR2656441B1 (fr) * 1989-12-22 1993-12-10 Bull Sa Procede securise d'ecriture rapide d'informations pour dispositif de memoire de masse.
US5203004A (en) * 1990-01-08 1993-04-13 Tandem Computers Incorporated Multi-board system having electronic keying and preventing power to improperly connected plug-in board with improperly configured diode connections
US5185884A (en) * 1990-01-24 1993-02-09 International Business Machines Corporation Computer controlled optimized pairing of disk units
DE69123987T2 (de) * 1990-01-31 1997-04-30 Hewlett Packard Co Stossbetrieb für Mikroprozessor mit externem Systemspeicher
US5195100A (en) * 1990-03-02 1993-03-16 Micro Technology, Inc. Non-volatile memory storage of write operation identifier in data sotrage device
US5233618A (en) * 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5201044A (en) * 1990-04-16 1993-04-06 International Business Machines Corporation Data processing method for file status recovery includes providing a log file of atomic transactions that may span both volatile and non volatile memory
US5271013A (en) * 1990-05-09 1993-12-14 Unisys Corporation Fault tolerant computer system
US5319773A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Asynchronous resynchronization of a commit procedure
US5319774A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Recovery facility for incomplete sync points for distributed application
US5327532A (en) * 1990-05-16 1994-07-05 International Business Machines Corporation Coordinated sync point management of protected resources
JP2691081B2 (ja) * 1990-05-16 1997-12-17 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・ネットワーク
US5165031A (en) * 1990-05-16 1992-11-17 International Business Machines Corporation Coordinated handling of error codes and information describing errors in a commit procedure
US5261089A (en) * 1990-05-16 1993-11-09 International Business Machines Corporation Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary
JP3293839B2 (ja) * 1990-05-16 2002-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
US5276876A (en) * 1990-05-16 1994-01-04 International Business Machines Corporation Registration of resources for commit procedures
US5459862A (en) * 1990-06-14 1995-10-17 Sunquest Informaion Systems, Inc. Network concurrency control for autonomous databases featuring independent lock release and lock ownership transfer
JPH0448350A (ja) * 1990-06-18 1992-02-18 Toshiba Corp データベース管理システム
US5363121A (en) * 1990-06-29 1994-11-08 International Business Machines Corporation Multiple protocol communication interface for distributed transaction processing
JP2829115B2 (ja) * 1990-10-19 1998-11-25 株式会社日立製作所 ファイル共用方法
US5329626A (en) * 1990-10-23 1994-07-12 Digital Equipment Corporation System for distributed computation processing includes dynamic assignment of predicates to define interdependencies
DE69131551T2 (de) * 1990-11-09 2000-02-17 Emc Corp Logische Aufteilung eines Speichersystems mit redundanter Matrix
US5287496A (en) * 1991-02-25 1994-02-15 International Business Machines Corporation Dynamic, finite versioning for concurrent transaction and query processing
US5592660A (en) * 1991-03-04 1997-01-07 Fujitsu Limited Database management system to alternately perform retrieval process and updating process
JPH06124223A (ja) * 1991-03-28 1994-05-06 Texas Instr Inc <Ti> ディスクファイルシステムのログ装置および方法
US5241672A (en) * 1991-04-01 1993-08-31 Xerox Corporation System using the storage level of file updates in nonvolatile memory to trigger saving of RAM to disk and using the file updates to reboot after crash
DE69209364T2 (de) * 1991-05-22 1996-10-10 Philips Electronics Nv Verteiltes Mehrknoten-Datenverarbeitungssystem zur Verwendung in einem Oberflächenfahrzeug
US5287501A (en) * 1991-07-11 1994-02-15 Digital Equipment Corporation Multilevel transaction recovery in a database system which loss parent transaction undo operation upon commit of child transaction
JPH0797782B2 (ja) * 1991-09-18 1995-10-18 インターナショナル・ビジネス・マシーンズ・コーポレイション 異種トランザクションの調整方法
US5499367A (en) * 1991-11-15 1996-03-12 Oracle Corporation System for database integrity with multiple logs assigned to client subsets
US5440727A (en) * 1991-12-18 1995-08-08 International Business Machines Corporation Asynchronous replica management in shared nothing architectures
US5307482A (en) * 1992-01-28 1994-04-26 International Business Machines Corp. Computer, non-maskable interrupt trace routine override
US5528490A (en) * 1992-04-10 1996-06-18 Charles E. Hill & Associates, Inc. Electronic catalog system and method
WO1994000816A1 (en) * 1992-06-18 1994-01-06 Andor Systems, Inc. Remote dual copy of data in computer systems
JP2888401B2 (ja) * 1992-08-03 1999-05-10 インターナショナル・ビジネス・マシーンズ・コーポレイション 冗長ディスクドライブアレイに対する同期方法
US5465351A (en) * 1992-08-14 1995-11-07 Noblenet Inc. Client-side memory management process for client-server computing
JPH06214969A (ja) * 1992-09-30 1994-08-05 Internatl Business Mach Corp <Ibm> 情報通信方法および装置
CA2106280C (en) * 1992-09-30 2000-01-18 Yennun Huang Apparatus and methods for fault-tolerant computing employing a daemon monitoring process and fault-tolerant library to provide varying degrees of fault tolerance
US5715386A (en) * 1992-09-30 1998-02-03 Lucent Technologies Inc. Apparatus and methods for software rejuvenation
GB2273180A (en) * 1992-12-02 1994-06-08 Ibm Database backup and recovery.
SE500656C2 (sv) * 1992-12-08 1994-08-01 Ellemtel Utvecklings Ab System för backuptagning i en distribuerad databas
JPH06266597A (ja) * 1993-03-11 1994-09-22 Fujitsu Ltd ログ取得方式
US5493724A (en) * 1993-04-01 1996-02-20 International Business Machines Corporation Locking a non-busy device for accessing a data record stored on another device
JPH06324953A (ja) * 1993-05-10 1994-11-25 Mita Ind Co Ltd 書換可能なメモリのメモリチェック方法、その装置及び該装置を有するデータ自動復旧装置
EP0701716B1 (en) * 1993-06-03 2002-08-14 Network Appliance, Inc. Method and file system for allocating blocks of files to storage space in a RAID disk system
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
DE69425658T2 (de) * 1993-06-03 2001-04-19 Network Appliance Inc Anordnung eines dateisystems zum beschreiben beliebiger bereiche
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US5963962A (en) * 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
DE69434381T2 (de) * 1993-06-04 2006-01-19 Network Appliance, Inc., Sunnyvale Verfahren zur Paritätsdarstellung in einem Raid-Untersystem unter Verwendung eines nichtflüchtigen Speichers
US5499364A (en) * 1993-10-14 1996-03-12 Digital Equipment Corporation System and method for optimizing message flows between agents in distributed computations
US5590318A (en) * 1993-11-18 1996-12-31 Microsoft Corporation Method and system for tracking files pending processing
JP3488500B2 (ja) * 1994-02-07 2004-01-19 富士通株式会社 分散ファイルシステム
US5668993A (en) * 1994-02-28 1997-09-16 Teleflex Information Systems, Inc. Multithreaded batch processing system
US6708226B2 (en) 1994-02-28 2004-03-16 At&T Wireless Services, Inc. Multithreaded batch processing system
US7412707B2 (en) * 1994-02-28 2008-08-12 Peters Michael S No-reset option in a batch billing system
US5999916A (en) 1994-02-28 1999-12-07 Teleflex Information Systems, Inc. No-reset option in a batch billing system
US6658488B2 (en) 1994-02-28 2003-12-02 Teleflex Information Systems, Inc. No-reset option in a batch billing system
AU1927695A (en) * 1994-02-28 1995-09-11 Teleflex Information Systems, Inc. Method and apparatus for processing discrete billing events
US5544325A (en) * 1994-03-21 1996-08-06 International Business Machines Corporation System and method for generating messages for use in transaction networks
US5649092A (en) * 1994-04-21 1997-07-15 Unisys Corporation Fault tolerant apparatus and method for maintaining one or more queues that are shared by multiple processors
US5636359A (en) * 1994-06-20 1997-06-03 International Business Machines Corporation Performance enhancement system and method for a hierarchical data cache using a RAID parity scheme
US5435004A (en) * 1994-07-21 1995-07-18 International Business Machines Corporation Computerized system and method for data backup
US5537533A (en) * 1994-08-11 1996-07-16 Miralink Corporation System and method for remote mirroring of digital data from a primary network server to a remote network server
US5625811A (en) * 1994-10-31 1997-04-29 International Business Machines Corporation Method and system for database load balancing
US5634127A (en) * 1994-11-30 1997-05-27 International Business Machines Corporation Methods and apparatus for implementing a message driven processor in a client-server environment
US6061731A (en) * 1994-12-06 2000-05-09 Thunderwave, Inc. Read only linear stream based cache system
US5623699A (en) * 1994-12-06 1997-04-22 Thunderwave, Inc. Read only linear stream based cache system
US5757642A (en) * 1995-01-20 1998-05-26 Dell Usa L.P. Multi-function server input/output subsystem and method
CA2206302A1 (en) * 1995-01-23 1996-08-01 Tandem Computers Incorporated Tracking the state of transactions
US5706472A (en) * 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
US6108759A (en) * 1995-02-23 2000-08-22 Powerquest Corporation Manipulation of partitions holding advanced file systems
US5930831A (en) * 1995-02-23 1999-07-27 Powerquest Corporation Partition manipulation architecture supporting multiple file systems
WO1996027157A1 (fr) * 1995-02-28 1996-09-06 Ntt Data Communications Systems Corporation Systeme associatif decentralise et traitements de journaux et de reprise dans celui-ci
US5606679A (en) * 1995-02-28 1997-02-25 International Business Machines Corporation Method for optimal retrieval of non-volume-specific data
US5734817A (en) * 1995-03-01 1998-03-31 Unisys Corporation Method for making a data base available to a user program during data base recovery
US5550973A (en) * 1995-03-15 1996-08-27 International Business Machines Corporation System and method for failure recovery in a shared resource system having a moving write lock
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
US5822512A (en) * 1995-05-19 1998-10-13 Compaq Computer Corporartion Switching control in a fault tolerant system
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5594863A (en) * 1995-06-26 1997-01-14 Novell, Inc. Method and apparatus for network file recovery
US5675781A (en) * 1995-07-06 1997-10-07 Sun Microsystems, Inc. Augmenting volume management of information storage devices to handle direct access to storage devices
US5682537A (en) * 1995-08-31 1997-10-28 Unisys Corporation Object lock management system with improved local lock management and global deadlock detection in a parallel data processing system
US5970471A (en) 1996-03-22 1999-10-19 Charles E. Hill & Associates, Inc. Virtual catalog and product presentation method and apparatus
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US6031978A (en) * 1996-06-28 2000-02-29 International Business Machines Corporation System, method and program for enabling a client to reconnect to a same server in a network of computer systems after the server has moved to a different network address
US5884327A (en) * 1996-09-25 1999-03-16 International Business Machines Corporation System, method and program for performing two-phase commit with a coordinator that performs no logging
US5940839A (en) * 1997-04-04 1999-08-17 Hewlett-Packard Company Fault-tolerant system and method of managing transaction failures in hierarchies
US5907849A (en) * 1997-05-29 1999-05-25 International Business Machines Corporation Method and system for recovery in a partitioned shared nothing database system using virtual share disks
US6249879B1 (en) * 1997-11-11 2001-06-19 Compaq Computer Corp. Root filesystem failover in a single system image environment
US6247139B1 (en) 1997-11-11 2001-06-12 Compaq Computer Corp. Filesystem failover in a single system image environment
US6385707B1 (en) * 1998-02-24 2002-05-07 Adaptec, Inc. Method and apparatus for backing up a disk drive upon a system failure
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US6799224B1 (en) * 1998-03-10 2004-09-28 Quad Research High speed fault tolerant mass storage network information server
US6122629A (en) * 1998-04-30 2000-09-19 Compaq Computer Corporation Filesystem data integrity in a single system image environment
US6260155B1 (en) 1998-05-01 2001-07-10 Quad Research Network information server
US6615091B1 (en) * 1998-06-26 2003-09-02 Eveready Battery Company, Inc. Control system and method therefor
SE521433C2 (sv) * 1998-07-22 2003-11-04 Ericsson Telefon Ab L M En metod för hantering av risken för en total låsning mellan samtidiga transaktioner i en databas
US6286110B1 (en) * 1998-07-30 2001-09-04 Compaq Computer Corporation Fault-tolerant transaction processing in a distributed system using explicit resource information for fault determination
US6347322B1 (en) * 1998-11-09 2002-02-12 Lucent Technologies Inc. Transaction state data replication by transaction forwarding in replicated database systems
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
JP2000181771A (ja) * 1998-12-15 2000-06-30 Fujitsu Ltd 情報処理方法及び情報処理装置並びに記録媒体
US6411981B1 (en) 1999-03-12 2002-06-25 Compaq Computer Corporation Method and apparatus for conducting a transaction between homogeneous and/or heterogeneous transaction processing systems using asynchronous pull of a transaction transfer
JP5220974B2 (ja) * 1999-10-14 2013-06-26 ブルアーク ユーケー リミテッド ハードウェア実行又はオペレーティングシステム機能の加速のための装置及び方法
US6587962B1 (en) * 1999-10-20 2003-07-01 Hewlett-Packard Development Company, L.P. Write request protection upon failure in a multi-computer system
TW454120B (en) * 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
US6745240B1 (en) 1999-11-15 2004-06-01 Ncr Corporation Method and apparatus for configuring massively parallel systems
US6412002B1 (en) * 1999-11-15 2002-06-25 Ncr Corporation Method and apparatus for selecting nodes in configuring massively parallel systems
US6519697B1 (en) 1999-11-15 2003-02-11 Ncr Corporation Method and apparatus for coordinating the configuration of massively parallel systems
US6418526B1 (en) 1999-11-15 2002-07-09 Ncr Corporation Method and apparatus for synchronizing nodes in massively parallel systems
US6658470B1 (en) * 1999-12-17 2003-12-02 International Business Machines Corporation Centralized logging of global reliability, availability, and serviceability (GRAS) services data for a distributed environment and backup logging system and method in event of failure
JP4201447B2 (ja) * 1999-12-27 2008-12-24 富士通株式会社 分散処理システム
US7263476B1 (en) * 2000-06-12 2007-08-28 Quad Research High speed information processing and mass storage system and method, particularly for information and application servers
US6687849B1 (en) 2000-06-30 2004-02-03 Cisco Technology, Inc. Method and apparatus for implementing fault-tolerant processing without duplicating working process
US7296073B1 (en) 2000-09-13 2007-11-13 Network Appliance, Inc. Mechanism to survive server failures when using the CIFS protocol
US20020161814A1 (en) * 2000-10-04 2002-10-31 Wical Kelly J. Batch processing system running in parallel on automated and distributed replication systems
ATE349041T1 (de) * 2000-10-27 2007-01-15 Availigent Inc Fehlertoleranz für über ein kommunikationsnetzwerk betriebene rechnerprogramme
US7028297B2 (en) 2000-11-17 2006-04-11 Aristos Logic Corporation System and method of scalable transaction processing
US6889228B1 (en) 2001-03-29 2005-05-03 Network Appliance, Inc. Cascading support for mirrored volumes
JP4166056B2 (ja) * 2002-08-16 2008-10-15 富士通株式会社 データベース操作履歴管理装置、データベース操作履歴管理方法、およびデータベース操作履歴管理プログラム
NZ539138A (en) * 2002-09-23 2006-09-29 Neos Financial Systems Ltd Transaction processing system
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7209919B2 (en) * 2003-06-11 2007-04-24 International Business Machines Corporation Library server locks DB2 resources in short time for CM implicit transaction
US7711721B2 (en) * 2004-09-01 2010-05-04 International Business Machines Corporation Apparatus, system, and method for suspending a request during file server serialization reinitialization
ATE407397T1 (de) 2005-04-29 2008-09-15 Network Appliance Inc System und verfahren zur erzeugung einheitlicher bilder einer menge von datenobjekten
US7743039B2 (en) * 2006-12-11 2010-06-22 Simdesk Technologies, Inc. File operations with multiple level file locking techniques
US20080294705A1 (en) * 2007-05-24 2008-11-27 Jens Brauckhoff Performance Improvement with Mapped Files
US8825743B2 (en) * 2007-07-12 2014-09-02 Cornell University Semantic transactions in online applications
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
CN102301368B (zh) * 2009-02-06 2014-01-22 国际商业机器公司 用于保持数据完整性的设备
US9317472B2 (en) * 2013-06-07 2016-04-19 International Business Machines Corporation Processing element data sharing
CN107885488B (zh) 2016-09-29 2021-06-01 微软技术许可有限责任公司 意图和具有意图的锁
CN111209125B (zh) * 2019-12-31 2023-09-26 瑞斯康达科技发展股份有限公司 一种多进程的命令行实现方法
CN113296897B (zh) * 2020-07-21 2023-12-26 阿里巴巴集团控股有限公司 一种分布式事务的处理方法、装置、设备和机器可读介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5872267A (ja) * 1981-10-26 1983-04-30 Hitachi Ltd 2重系状態監視計算機装置
JPS60100256A (ja) * 1976-09-07 1985-06-04 タンデム コンピユ−タ−ズ インコ−ポレ−テツド デ−タ通信方法と入出力システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4141066A (en) * 1977-09-13 1979-02-20 Honeywell Inc. Process control system with backup process controller
US4245306A (en) * 1978-12-21 1981-01-13 Burroughs Corporation Selection of addressed processor in a multi-processor network
US4480304A (en) * 1980-10-06 1984-10-30 International Business Machines Corporation Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
ZA821999B (en) * 1981-03-31 1983-05-25 British Telecomm Computor or processor control systems
US4577272A (en) * 1983-06-27 1986-03-18 E-Systems, Inc. Fault tolerant and load sharing processing system
US4751702A (en) * 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60100256A (ja) * 1976-09-07 1985-06-04 タンデム コンピユ−タ−ズ インコ−ポレ−テツド デ−タ通信方法と入出力システム
JPS5872267A (ja) * 1981-10-26 1983-04-30 Hitachi Ltd 2重系状態監視計算機装置

Also Published As

Publication number Publication date
AU7767387A (en) 1988-03-03
US4819159A (en) 1989-04-04
KR910007762B1 (ko) 1991-10-02
KR880003256A (ko) 1988-05-16

Similar Documents

Publication Publication Date Title
JPS63238634A (ja) 分散多重処理トランザクション処理システム
US5423044A (en) Shared, distributed lock manager for loosely coupled processing systems
US5261109A (en) Distributed arbitration method and apparatus for a computer bus using arbitration groups
US5282272A (en) Interrupt distribution scheme for a computer bus
US4399504A (en) Method and means for the sharing of data resources in a multiprocessing, multiprogramming environment
US4480304A (en) Method and means for the retention of locks across system, subsystem, and communication failures in a multiprocessing, multiprogramming, shared data environment
JP2675955B2 (ja) データ処理システム
US5191649A (en) Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
US6691194B1 (en) Selective association of lock override procedures with queued multimodal lock
US6718448B1 (en) Queued locking of a shared resource using multimodal lock types
US6105085A (en) Lock mechanism for shared resources having associated data structure stored in common memory include a lock portion and a reserve portion
US6757769B1 (en) Cooperative lock override procedure
JP3385091B2 (ja) 計算機間の排他制御装置
FI101432B (fi) Vikasietoinen tietokonejärjestelmä
US5276828A (en) Methods of maintaining cache coherence and processor synchronization in a multiprocessor system using send and receive instructions
US5271020A (en) Bus stretching protocol for handling invalid data
EP0304556A2 (en) High availability multiprocessing
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
JPH0522259B2 (ja)
KR920008439B1 (ko) 데이타 처리 시스템과 데이타 처리 시스템에 시스템 특성을 추가로 제공하는 방법 및 그 기구
JP2565658B2 (ja) リソースの制御方法及び装置
JPH02228744A (ja) データ処理システム
US5809533A (en) Dual bus system with multiple processors having data coherency maintenance
US5450590A (en) Authorization method for conditional command execution
KR940002340B1 (ko) 다중 운영 체제 컴퓨터 장치