JP3156083B2 - フォルトトレラント・コンピュータ装置 - Google Patents

フォルトトレラント・コンピュータ装置

Info

Publication number
JP3156083B2
JP3156083B2 JP51451591A JP51451591A JP3156083B2 JP 3156083 B2 JP3156083 B2 JP 3156083B2 JP 51451591 A JP51451591 A JP 51451591A JP 51451591 A JP51451591 A JP 51451591A JP 3156083 B2 JP3156083 B2 JP 3156083B2
Authority
JP
Japan
Prior art keywords
engine
message
state
processing means
event
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.)
Expired - Lifetime
Application number
JP51451591A
Other languages
English (en)
Other versions
JPH06504389A (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 JPH06504389A publication Critical patent/JPH06504389A/ja
Application granted granted Critical
Publication of JP3156083B2 publication Critical patent/JP3156083B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1687Temporal synchronisation or re-synchronisation of redundant processing components at event level, e.g. by interrupt or result of polling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1482Generic software techniques for error detection or fault masking by means of middleware or OS functionality
    • 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/2053Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error 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 persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers
    • G06F11/2076Synchronous techniques
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/2038Error 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 with a single idle spare processing component
    • 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/2048Error 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 neither address space nor persistent storage

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Ceramic Products (AREA)
  • Manufacture Of Alloys Or Alloy Compounds (AREA)
  • Compositions Of Oxide Ceramics (AREA)

Description

【発明の詳細な説明】 発明の背景 1.発明の分野 本発明は、多数のプロセッサを利用するオペレーティ
ングシステム・ソフトウェアをベースとするフォルトト
レラント・コンピュータ装置に関するものである。
2.背景技術 コンピュータ装置の応用においては、部品が故障した
場合にも、コンピュータ装置の連続運転を行うことが望
ましいことがしばしばある。たとえば、パーソナル・コ
ンピュータ(PC's)またはワークステーションはデー
タ、アプリケーション、ファイル、処理パワー、通信、
およびプリンタ、モデム、大容量記憶装置等のようなそ
の他の資源を共用できるようにするためにコンピュータ
・ネットワークをしばしば用いる。一般に、資源の共用
はネットワーク・サーバの使用により行われる。サーバ
というのは、集中化されている資源を管理し、データを
管理し、それらの資源を顧客のPC'sまたはワークステー
ションで共用することに専用される処理装置のことであ
る。サーバ、ネットワークおよびPC'sまたはワークステ
ーションは一緒に組合わされてコンピュータ装置を構成
する。ネットワーク・サーバに障害が存在するならば、
ネットワーク上のPC'sおよびワークステーションは希望
の集中化されている資源の障害とシステム障害をもはや
アクセスできない。
構成装置が障害を引き起こしている間もコンピュータ
装置の運転を維持するために、冗長システムまたはバッ
クアップ・システムを必要とする。従来技術の1つのバ
ックアップ・システムは完全なハードウェア冗長性を含
む。コンピュータ装置の運転中に2つの同一のプロセッ
サへ同じハードウェア信号レベルの同じ入力が同時に供
給される。典型的には、1つのプロセッサが主プロセッ
サとみなされ、別のプロセッサが第2のプロセッサとみ
なされる。主プロセッサが障害を起こすと、システムは
第2のプロセッサへ切り換える。そのようなハードウェ
ア冗長システムがラベェル(Lovell)、米国特許第3,44
4,528号に記載されている。ラベェル(Lovell)におい
ては、2つの同一のコンピュータ装置が同じ入力を受
け、同じ動作を行う。しかし、障害がなければただ1つ
のコンピュータが出力を供給する。その場合には第2の
コンピュータは出力を制御する。動作時には、主コンピ
ュータに誤動作が起きるまではバックアップコンピュー
タの出力回路は動作不能にさせられる。その時に、バッ
クアップコンピュータは動作可能にさせられる。
同一のプロセッサまたは同一のハードウェアの使用に
はいくつかの潜在的な欠点がある。1つの欠点はプロセ
ッサをある信号レベルに同期させる事が複雑で、コスト
がかかることである。
バックアップ・システムを用意する別の従来の方法は
「チェックポイント」システムと呼ばれているものであ
る。チェックポイント・システムは「有限状態オートマ
トン」として知られている原理を利用する。この原理
は、2つの装置が同じ状態にあるとすると、それらの装
置への同一の入力により各装置が同一の出力を生じ、か
つ各装置が同じ同一の状態へ進む結果となる事を主張し
ている。
チェックポイント・システムにおいては、プロセッサ
の状態および関連するメモリのような装置の全体の状態
は、主プロセッサの各動作の後で別のバックアップ・プ
ロセッサへ転送される。障害発生時には、バックアップ
・プロセッサは主プロセッサの最後の有効な状態にある
ことが理想的である。最後の動作はバックアップ・プロ
セッサへ供給され、バックアップ・プロセッサを用いて
その点から動作は続行される。あるいは、主プロセッサ
の各動作の後で状態情報が大容量記憶装置へ供給され
る。障害発生時には、障害発生時以前には別の動作のた
めに使用でき、または使用できなかったバックアップ・
プロセッサへ、記憶されている情報が供給される。
従来技術の1つのチェックポイント・システムが、グ
レイザー(Graser)、米国特許第4,590,554号に記載さ
れている。グレイザー(Graser)においては、あるタス
クを実行するために主プロセッサが設けられる。別のタ
スクを実行するために第2のプロセッサが設けられる。
主プロセッサの状態が第2のプロセッサへ周期的に転送
される。主プロセッサに障害が起きると、主プロセッサ
およびバックアップ・プロセッサの最後の同期以後に主
プロセッサにより実行された任意のオペレーションがバ
ックアップ・プロセッサにより実行されて、それを主プ
ロセッサと同じ状態にする。グレイザー(Graser)の装
置、およびその他のチェックポイント・システムにはい
くつかの欠点がある。1つの欠点は主装置の状態を第2
の装置へ転送するために要する時間の長さとメモリの量
である。チェックポイント・システムの別の欠点は、主
装置に障害が生じた時のサービスの割込みである。第2
の装置は、メッセージ列中のメッセージの実行により
「速度を向上」させねばならない。
この問題を解決するための従来技術の1つの試みは、
主装置の状態のうち、以前の状態から変更されている部
分だけを更新することである。しかし、これには複雑な
メモリ技術および複雑なデータ管理技術を必要とする。
本発明の目的は、バックアップ装置の同期のために特
殊なハードウェアを必要としないバックアップ装置を得
ることでである。
本発明の別の目的は、非同期事象にとって明らかであ
るバックアップ装置を得ることである。
本発明の別の目的は、ネットワーク・サーバ・オペレ
ーションのための改良したバックアップ装置を得ること
である。
本発明の更に別の目的は、単一のハードウェア構成装
置障害でもサービスを継続することである。
発明の概要 本発明は、主処理装置に障害が存在するものとする
と、全く同一の装置が中断なしに動作を引き継ぐ事がで
きるように、フォルトトレラント・バックアップ装置を
提供する方法および装置である。主処理装置およびバッ
クアップ処理装置は、高速通信チャネルにより接続され
る別々のコンピュータである。本発明はバックアップ装
置を同期させるためのソフトウェア解決を提供するもの
である。本発明はネットワーク・サーバとして実現され
るが、本発明の背景の原理を、別の処理環境においても
同様に使用できる。サーバは特別に構成されたオペレー
ティングシステムを用いる。本発明はこのオペレーティ
ングシステムを2つの「エンジン」に分割する。入力/
出力(I/O)エンジンはシステムにおける全てのデータ
および非同期事象の取扱いと受け取りを行う。I/Oエン
ジンは物理的装置および装置ドライバを制御し、かつ物
理的装置および装置ドライバをインターフェイスする。
オペレーティングシステム(OS)エンジンがI/Oエンジ
ンから受けたデータを処理するために用いられる。主サ
ーバにおいては、それらのエンジンは主I/Oエンジンお
よび主OSエンジンと呼ばれる。
オペレーティングシステムの状態を変更する事ができ
る全ての事象または全てのデータは、I/Oエンジンを介
して送られ、メッセージ・フォーマットへ変換される。
メッセージは、OSエンジンによりアクセスされるメッセ
ージ待ち行列へ供給される。したがって、事象のタイミ
ングとは無関係に、(すなわち、非同期事象)、OSエン
ジンは全ての事象を入力データの連続する順次流れを介
して順次受ける。その結果、OSエンジンは装置の残りの
一次元入力「ビュー」を介する有限状態オートマトンで
ある。このように、OSエンジンが非同期事象を処理させ
られるとしても、事象の処理は単一の順序をつけられた
入力順序で制御される。
起動させられると、または第2のプロセッサが最初に
提供されると、主プロセッサは「飢えさせられる」、す
なわち、OSエンジンが安定な状態に達するまで、全ての
命令またはその他の状態変更事象が停止させられる。そ
の点において、状態はバックアップ装置のOSエンジンへ
転送される。その点から、同一のメッセージ(事象)が
各OSエンジンへ供給される。両方の装置は同一の状態か
ら始まり、同じ入力を受けるから、装置のOSエンジン部
分が同一の出力を発生し、同一の状態へ進む。
バックアップ装置はオペレーティングシステムを第2
のOSエンジンと第2のI/Oエンジンへ分割もする。第2
のOSエンジンは第1のOSエンジンと通信する。主装置が
諸具合を起こすと、コンピュータ装置の残りの部分がほ
とんど中断なしに第2の装置へ切り換えられる。これが
可能である理由は、各事象がバックアップ装置と主装置
によりほぼ瞬時に実行されるからである。このように、
構成装置に障害が起きている間もシステム動作が中断さ
れる事はない。更に、最初の同期が取られた時は状態の
転送は求められない。これにより装置の構成が簡単にな
り、メモリの管理に対する要求が減少し、中断のないサ
ービスを行う。
図面の簡単な説明 図1は本発明の好適な実施例のブロック図である。
図2は図1のI/Oエンジンの詳細図である。
図3は図1のOSエンジンの詳細図である。
図4Aは要求および事象の実行中のOSエンジン動作を示
す流れ図である。
図4Bは事象の実行中の第2のI/Oエンジン動作を示す
流れ図である。
図4Cは要求の実行中の主I/Oエンジンおよび第2のI/O
エンジンの動作を示す流れ図である。
図5は本発明の状態遷移を示す図である。
図6は主装置および第2の装置の同期を示す流れ図で
ある。
図7は本発明の別の実施例のブロック図である。
発明の詳細な説明 ネットワーク・サーバとして用いられるフォルトトレ
ラント・システムを説明する。以下の説明においては、
本発明を完全に理解できるようにするために、数多くの
特定の詳細について述べる。しかし、それらの特定の詳
細なしに本発明を実施できることが当業者には明らかで
あろう。他の場合には、本発明を不必要にあいまいにし
ないようにするために、周知の構成は説明しなかった。
本発明のブロック図 本発明の好適な実施例のブロック図が図1に示されて
いる。本発明は、破線21の内部の要素により全体的に示
されている主プロセッサおよびオペレーティングシステ
ムと、破線22の内部に入っている要素により全体的に示
されている第2のプロセッサおよびオペレーティングシ
ステムを提供するものである。主オペレーティングシス
テム21は、入力/出力(I/O)エンジン12へ結合されて
いるオペレーティングシステム(OS)エンジン10を有す
る。I/OエンジンおよびOSエンジンは「事象」待ち行列
および「要求」待ち行列を介して通信する。I/Oエンジ
ンは事象を事象待ち行列へ書込み、OSエンジンはその事
象を読出す。OSエンジンは要求を要求待ち行列へ書込
み、I/Oエンジンはその要求を読出す。
バックアップ22はそれ自身のOSエンジン16を含む。こ
のOSエンジンは事象待ち行列17および要求待ち行列42を
介してI/Oエンジン18と通信する。I/Oエンジン12は高速
通信バス15Aおよび15Bを介してI/Oエンジン18と通信す
る。15Aおよび15Bは2種類のメッセージ、AとB、を通
信するために用いられる1つのハードウェア・チャネル
である。高速通信バスは主サーバから第2のサーバへ事
象を転送するために用いられる(15A)。それはI/Oエン
ジンの間の別の通信のためにも用いられる(15B)。I/O
エンジン12は線13を介して大容量記憶装置14をアクセス
する事もできる。I/Oエンジン12は、バス64を介してI/O
エンジン12へ結合されているブロック44Aとして記号的
に示されている、タイマ、キーボード、表示装置等のよ
うな別の装置へも結合される。I/Oエンジン18は線19を
介して大容量記憶装置20へ結合される。I/Oエンジン12
とI/Oエンジン18はネットワーク23へおのおの接続され
る。I/Oエンジン18はバス65を介してブロック44B(タイ
マ、キーボード表示装置等)へ結合される。
I/Oエンジン12は、それが一部を構成しているコンピ
ュータ装置からデータと非同期事象を受ける。たとえ
ば、本発明がネットワーク・サーバとして用いられるも
のとすると、ネットワークへ結合されている別の装置か
らI/Oエンジン12はLANパケットを受ける。I/Oエンジン
は、大容量記憶装置14、キーボードまたはタイマのよう
な、物理的装置および装置ドライバを制御し、かつそれ
らとインターフェイスする。
OSエンジンはI/Oエンジンから事象待ち行列11、17を
介して受けたデータを演算する。希望の動作が実行され
た後で、別のシステム装置へ出力するために、データは
要求待ち行列41、42を介してI/Oエンジンへ戻される。
主サーバ21はネットワーク23から入力線24を介してデ
ータまたは事象を受ける。I/Oエンジン12はそれらの事
象またはデータを「メッセージ」フォーマットへ変換す
る。各メッセージは、オペレーティングシステムの状態
を変化できるデータまたは事象を表す。I/Oエンジン12
はそれらのメッセージをまずバス15Aへ供給し、I/Oエン
ジン18がそのメッセージを受けたことをI/Oエンジン18
が信号すると、そのメッセージはI/Oエンジン12、18に
より事象メッセージ待ち行列11、17を介して両方のOSエ
ンジンへ与えられる。それらのメッセージはOSエンジン
10、16により順次実行される。メッセージを待ち行列化
することにより、全ての非同期事象が事象メッセージの
同期列へ変換されるように、時間依存性がシステムから
除去される。OSエンジンをI/Oエンジンから分離するこ
とにより、OSエンジンがシステムの一次元図(すなわ
ち、事象メッセージ待ち行列)を有する有限状態オート
マトンであるかのように、OSエンジンは動作させられ
る。
主I/Oエンジン12を第2のOSエンジン18へ結合するバ
ス15A、15Bは双方向通信チャネルを利用する。物理的に
は、バス15Aと15Bは高速通信を行わせ、待ち時間が短
く、CPUオーバーヘッドが低い。バス拡張器およびロー
カルエリアネットワーク(LAN)カードを含めた、適当
な任意の通信チャネルを本発明で使用できる。
希望によっては、I/OエンジンとOSエンジンを単一の
プロセッサで実現できる。あるいは、OSエンジンに1つ
と、I/Oエンジンに1つの別々のプロセッサを利用でき
る。付加プロセッサを用いて付加OSエンジンを本発明で
利用する事もできる。そうすると全てのOSエンジンの状
態は反映させられる。
OSエンジンとI/Oエンジンのために1つのプロセッサ
または2つのプロセッサが利用されるかとは無関係に、
システムRAMメモリが2つのエンジンの間に分割され
る。I/OエンジンはOSエンジン・メモリをアクセスでき
るが、OSエンジンはI/Oエンジン・メモリをアクセスで
きない。その理由はメモリ・バッファ・アドレスが主I/
Oエンジンと第2のI/Oエンジンに対して異なることがあ
り、主OSエンジンと第2のOSエンジンがI/Oエンジン・
メモリ内のアドレスをアクセスすることを許されたとす
ると、それらのOSエンジンの状態を異なるようにするか
らである。
主サーバとバックアップ・サーバが同一のプロセッサ
を持つ必要はない。プロセッサの性能は類似せねばなら
ず(CPUの型、CPUの速度)、プロセッサは、必ずしもピ
ンおよびバスサイクル・レベルにおいてではなくて、メ
モリへ書込まれた値および命令順序付けレベルにおい
て、同様にして命令を実行せねばならない。たとえば、
アメリカ合衆国カリフォルニア州サンタ・クララ(Sant
a Clara)所在のインテル・コーポレーション(Intel C
orporation)により製造された80386マイクロプロセッ
サを主サーバに使用でき、インテル80486を第2のサー
バに使用できる。第2のエンジンは、主OSエンジンによ
り使用されているRAMの数と少なくとも同数のRAMを有す
ることを求められる。また、主サーバと第2のサーバは
同じ構成のディスク記憶装置を同数持たねばならない。
ハードウェアとソフトウェアの少なくとも一方のアッ
プグレードおよび変更を、サービスの喪失なしにシステ
ムに対して行うことができる。たとえば、ユーザーはよ
り多くのRAMを主サーバと第2のサーバへ付加すること
を望むことである。これを行うために、主サーバまたは
第2のサーバをシステムから取り出す。主サーバがライ
ンから外されたとすると、第2のサーバはその発生を障
害として取扱い、主サーバとして動作を開始するから、
システムの動作の崩壊すなわち中断はない。それから、
ラインから外されたサーバをアップグレードでき、オン
ラインへ戻すことができる。それからそれらのサーバを
再び同期させ、別のサーバをラインから外してアップグ
レードする。第2のサーバのアップグレードの後で、そ
のサーバはオンラインへ戻され、サーバは再び同期さ
れ、新たに付加されたRAMを用いて両方共スタートす
る。このようにして、サービスの喪失なしにハードウェ
アおよびソフトウェアのアップグレードを行うことがで
きる。本発明をネットワーク・サーバに関連して説明し
たが、汎用コンピュータ装置へ等しく応用される。
第2のオペレーティングシステムを初期化するため
に、それが安定状態に達するまで、主OSエンジン10から
の全ての新しい事象が保留される。安定した時点でOSエ
ンジン10の状態(OSエンジン10のメモリ画像で具体化さ
れる)がメッセージバス15Bを介してバックアップ・オ
ペレーティングシステムのOSエンジン16へ転送される。
そうすると、OSエンジン10はOSエンジン16と同一の状態
を有する。この時には、I/Oエンジン12により発生され
てOSエンジン10へ供給された全てのメッセージが、バス
15Aを介してI/Oエンジン18へも供給され、OSエンジン16
へ転送される。OSエンジン10と16は同一の状態で開始
し、同一の入力を受け、各OSエンジンは各事象またはメ
ッセージの後で同一の状態へ進む。
本発明においては、同一のメッセージが主オペレーテ
ィングシステム・エンジンとバックアップ・オペレーテ
ィングシステム・エンジン内に同一の状態を生ずるか
ら、従来技術のチェックポイント動作は求められない。
時間に依存する配慮すべき事柄は最小にされ、同期事象
と非同期事象がメッセージ待ち行列へ供給されるから、
同時動作のためのそれぞれのOSエンジンの同期は不必要
であり、メッセージ待ち行列は、非同期事象を同期事象
へ変換するための方法として機能する。
主装置に障害が生ずると、第2のオペレーティングシ
ステムのI/Oエンジン18がネットワーク23へ結合され
る。それから第2のI/Oエンジン18がメッセージを発生
するために用いられる。それらのメッセージは第2のOS
エンジン16へ供給される。バックアップ・オペレーティ
ングシステムは主オペレーティングシステムと同じ状態
にあるから、サーバを用いている顧客に対して、サーバ
の切り換え中に動作が行われなくなることはない。
I/Oエンジン/OSエンジンの分離 本発明においては、I/OエンジンとOSエンジンはほぼ
論理的に独立している。バックアップOSエンジンへ反映
できない望ましくない状態変化を阻止するために、以下
に更に説明するように、I/OエンジンとOSエンジンによ
り共用されるデータが制御される。各エンジンはそれ自
身の自立プロセス・スケジューラー、コマンド・インタ
ープリター、メモリ管理装置、およびOSの機能に重要な
OSの部分に関連するコードを有する。
OSエンジンとI/Oエンジンの間の分割は、ドライバ支
持層におけるハードウェア・ドライバ・レベルの上で行
われる。ドライバ支持層ソフトウェアはI/OエンジンとO
Sエンジンの両方において複製され、同じトップレベル
・インターフェイスを維持する。I/OエンジンとOSエン
ジンのためにドライバ支持層ソフトウェアは修正され
る。I/Oエンジンのドライバ支持層はドライバ・レベル
・インターフェイスを維持し、物理的ハードウェア・ド
ライバへ通信する。それはハードウェア・ドライバ・レ
ベル事象をメッセージへ変換する。それらのメッセージ
はOSエンジンの事象待ち行列へ供給される。
OSエンジンは、割り込みまたはI/Oポートアドレスを
割り当てるためのような、ハードウェア・ドライバ・イ
ンターフェイス支持ルーチンを持たない。ハードウェア
成分を含むオペレーション(たとえば、書込みまたはデ
ィスクからの読出し)をOSエンジンが要求すると、OSエ
ンジン内のドライバ支持層ソフトウェアが動作を要求へ
変換し、それを実行のためにI/Oエンジン要求待ち行列
へ供給する。それから、その要求の結果が、I/Oエンジ
ン・ドライバ支持層により発生された事象メッセージと
してOSエンジンへ戻される。
I/Oエンジン ここで図2を参照すると、I/Oエンジンはドライバ・
レベルと、管理ソフトウェア・レベルと、メッセージ・
レベルとの3つのレベルより成る。装置ドライバ26A〜2
6Eは、プリンタ、記憶装置(たとえば、ディスク・ドラ
イブ)、表示装置、LANアダプタ、キーボード等のよう
なハードウェア要素をドライブする。管理ソフトウェア
・レベルは装置ドライバのための制御器を含む。たとえ
ば、ディスク・ブロック27はディスク装置ドライバ(た
とえば、ディスク装置ドライバ26A)を制御する。ディ
スク・ブロック27はディスクの読出しと書込みとの開始
を制御する。また、ディスク・ブロック27はディスク・
オペレーションの状態を追跡する。主I/Oエンジン(す
なわち、I/Oエンジン12)のディスク・ブロック27はデ
ィスク・オペレーションの状態をバックアップI/Oエン
ジンと通信する。主大容量記憶装置14と第2の大容量記
憶装置20はほぼ同一の装置である。主I/Oエンジンがデ
ィスク14からの読出しを実行したとすると、それは読出
しが終了させられたことをI/Oエンジン18へ通信する。
主I/Oエンジンが読出しを最初に終了したとすると、デ
ータをメッセージとしてバス15Bを介して第2のI/Oエン
ジン18へ送ることができる。あるいは、I/Oエンジン18
はデータをそれ自身のディスク・ドライブ20から読出
す。
LANブロック28は、ローカル・エリア・ネットワーク
へのような外部通信を制御する。しかし本発明はローカ
ル・エリア・ネットワークに限定されるものではなく、
本発明は任意の種類の通信を利用できる。LAN制御器は
情報パケットをネットワークから受け、そのパケットを
OSエンジンへ供給するかどうかを決定する。
表示ブロック29は、装置ドライバ26Cを介するCRTスク
リーンのような表示装置への通信を制御する。タイマ・
ブロック30はシステム時間クロックをドライブし、キー
ボード・ブロック31はキーボードとのインターフェイス
および通信を行う。
メッセージ・ブロック47はシステム事象をメッセージ
へ変換し、OSエンジンの事象待ち行列へ供給し、OSエン
ジンからの要求を待ち行列から外す。メッセージはヘッ
ダ・フィールドとデータ・フィールドで構成される。ヘ
ッダ・フィールドはメッセージまたはオペレーションの
型を示す。データ・フィールドはオペレーションを実行
すべきデータを含む。メッセージ・レベルは事象メッセ
ージを事象バス15Aを介してI/Oエンジンと通信する。
OSエンジン 図3を参照すると、OSエンジンは、I/Oエンジンから
受けた事象メッセージを待ち行列から順次外し、要求を
待ち行列に入れてOSエンジン要求をI/Oエンジンの要求
ブロック47へ供給する。OSエンジンは、I/Oエンジンの
管理ソフトウェアに対応する管理ソフトウェアも含む。
たとえば、OSエンジンはディスク管理ソフトウェア33
と、LAN管理ソフトウェア34と、タイマー管理ソフトウ
ェアと、キーボード・ソフトウェア37とを含む。OSエン
ジンのトップレベル48は本発明を用いるコンピュータ装
置のオペレーティングシステムである。
ディスク管理ソフトウェア33は冗長ディスク14、20へ
のデータの鏡映されたコピーを制御する。ディスク読出
しオペレーションのようなディスク・オペレーションを
実行するものとすると、両方のI/Oエンジン12、18が読
出しオペレーションを実行するか、I/Oエンジン12が読
出しを実行してデータを第2のI/Oエンジン18へ転送す
るのかをディスク管理ソフトウェア33が決定する。タイ
マ管理ソフトウェア36はタイマ事象を制御する。一般
に、オペレーティングシステムは周期的に中断されるタ
イマを有する。このタイマ中断は時間に独立なオペレー
ションのためにしばしば用いられる。本発明において
は、タイマ中断自体は入力待ち行列における事象であ
る。タイマ中断をメッセージへ転換することにより、タ
イマ事象は絶対的の代わりに相対的になる。タイマ事象
は非同期事象から同期事象へ変更される。LANブロック3
4と、表示ブロック35とキーボード・ブロック37とはそ
れぞれネットワーク事象、表示事象、キーボード事象を
制御する。
オペレーション OSエンジンが事象メッセージを受けると、OSエンジン
の状態にいくつかの変更を行わせることができ、それら
の変更を行わせるためにある有限の時間がかかる。本発
明においては、メッセージがOSエンジンによりひとたび
受けられると、メッセージの関数として実行できる全て
のオペレーションをOSエンジンは実行する。それらのオ
ペレーションが全て実行されると、OSエンジンはメッセ
ージ待ち行列を検査して実行のために別のメッセージを
利用できるかどうかを判定する。利用できる別のメッセ
ージがなければ、メッセージを利用できるようになるま
でOSエンジンは動作しなくなる。主OSエンジンと第2の
OSエンジンが同期されたままであるようにこのオペレー
ション方法が求められる。I/Oエンジンが非同期である
から、新しいメッセージを主OSエンジンと第2のOSエン
ジンへ異なる時刻に与えることができる。したがって、
OSエンジンの状態を変更するために、新しい事象の存在
または非存在に対して働きかける事または利用する事は
できない。
本発明の好適な実施例においては、OS環境は非先使用
であると定義される。先使用は本質的に非同期事象であ
る。従来技術においては、タスクの実行をタイマ中断に
より中断して、別のタスクで置き換えることができる。
このシステムは1度に1つのメッセージを実行するか
ら、メッセージ待ち行列中のそのメッセージに達するま
で、タイマ中断または非先使用の要求はOSエンジンに影
響を及ぼさない。タイマ事象を受ける事ができ、かつOS
エンジンにより実行できる前に、OSエンジンで実行して
いるタスクは制御を放棄せねばならない。
エンジン間通信 本発明においては、OSエンジンとI/Oエンジンの間の
通信が制御される。OSエンジンに対する単一入力源を保
存することにより、時間に依存する事象と、I/Oエンジ
ンにより行われる変更とがOSエンジンの状態に影響する
ことを阻止するために本発明は構成される。
I/OエンジンとOSエンジンの間の通信は下記のように
特徴づけられる。
1.OSエンジンはそれ自身のOSエンジン・メモリをアクセ
スできるだけである。OSエンジンとI/Oエンジンの間の
全ての通信はOSエンジンのメモリ内で起こさねばならな
い。OSエンジンはI/Oエンジン・メモリと名づけられて
いるメモリをアクセスできない。メモリのコヒーレンシ
ィが保存される。本発明においては主OSエンジンと第2
のOSエンジンが鏡像関係にされるが、主I/Oエンジンと
第2のI/Oエンジンはそうではない。したがって、各I/O
エンジンで構成されているメモリは異ならせることがで
きる。OSエンジンがI/Oメモリをアクセスしない限り
は、安定な同期が維持される。
2.メモリのブロックをI/Oエンジンにより修正する事をO
Sエンジンが要求すると、修正が行われたことをOSエン
ジンへ知らせる事象をI/Oエンジンが送り返すまで、OS
エンジンはそのメモリ・ブロックをアクセスできないこ
とがある。主OSエンジンと第2のOSエンジンは完全に同
期して動作するわけではない。それらのOSエンジンの動
作のいくらかのスキューおよび分岐が存在することがあ
る(もっとも状態は常に集中する)。また、主I/Oエン
ジンおよび第2のOSエンジンは種々の時にOSエンジン・
メモリを修正できる。それから、I/Oエンジンにより変
更されているプロセス中にあるメモリ場所の現在の値に
関連するOSエンジンにより判定が行われ、種々の修正時
刻に起因するスキューのデータをそのメモリ場所が含ん
でいるものとすると、2つのI/Oエンジンの間の同期化
は失われることになる。
実際の動作においては、I/Oエンジンからのデータの
コピーをOSエンジンが求めたとすると、それはデータを
保持するために作業バッファを割り当て、その作業バッ
ファのアドレスをI/Oエンジンへ供給する。I/Oエンジン
は求められたデータを作業バッファへコピーし、データ
が置かれたことを裏付ける事象をOSエンジンに対して発
生する。OSエンジンは作業バッファからのデータをその
最終的な宛先へコピーし、作業バッファを解放する。
3.OSエンジンによりOSエンジン・メモリ場所の明らかな
制御が行われていなければ、I/OエンジンはOSエンジン
・メモリと名づけられているメモリを変更できない。I/
OエンジンがOSエンジン・メモリの制御をOSエンジンへ
転送して戻すと、(事象を介して)I/Oエンジンはその
メモリをアクセスできない。
4.OSエンジン・ソフトウェアは、ボール・ループ中にプ
ロセッサの制御を放棄することなしに、メモリ値におけ
る変化に対して「ボール」できない。その理由は、この
実現においてOSエンジンを先使用ドライブまたは割り込
みドライブできないからである。全ての変更は事象を介
して行われ、実行中のプロセスによりプロセッサが放棄
されるまで新しい事象は受けられない。
主サーバに障害が起きると、第2のサーバが主サーバ
になる。OSエンジンのアドレスは変更しないが、「ネッ
トワーク」から受けられたメッセージは、メッセージを
第2のサーバへ向けるために再び経路指定される。
ディスク・ミラーリング 本発明の動作のために主記憶装置14と第2の記憶装置
20は鏡映関係になければならない。新しい第2のエンジ
ンがラインへつながれると、ディスク装置は第2のエン
ジンにおけるドライブを主エンジンにおける対応するド
ライブへマップする。2つのエンジンにおけるドライブ
には、どのドライブがより現在であるか、または2つの
ドライブが既に完全に同期させられている事かを示すた
めに使用できる「現在の同期化レベル」カウンタでマー
クされる。その同期化レベルが変化した(すなわち、別
のサーバに障害が生じた)とすると、生き残っているサ
ーバにより現在の同期化レベルが高くされる。生き残っ
ているサーバは、ディスクへ書込まれたメモリ・ブロッ
クのトラッキングを開始する。障害を起こしたエンジン
がラインへ復帰すると、それが以前の媒体と同じ媒体で
あることを確認した後で、サービスから外されている間
に変更されたメモリ・ブロックだけを介して転送するこ
とにより、修理したエンジンを再び同期させることがで
きる。システムが最初に起動させられ、元の主エンジン
がラインへつながれると、それはどのディスク・ブロッ
クが同じ理由で変更させられたかを追跡する。
主I/Oエンジンと第2のI/Oエンジンの通信 主システムのI/Oエンジンは、主OSエンジンと第2のO
Sエンジンへ供給される事象の順序を決定する。ある事
象に、主OSエンジン・メモリにおいて修正された任意の
データを加え合わせたものが、主OSエンジンへそれの事
象待ち行列内の事象が与えられる前に第2のOSエンジン
へ通信される。この通信はバス15Aを介して行われる。
第2のシステムのI/Oエンジンは第2のOSエンジン・メ
モリを修正して、事象を第2のOSエンジンへ供給する。
事象を通信する事に加えて、主I/Oエンジンと第2のI
/Oエンジンは別の情報を通信する。種々のドライバ層支
持ルーチンが、別のシステム内の片割れと通信できるよ
うにする機構が設けられる。この通信は双方向であり、
バス15Bを介して行われる。そのような通信は、ディス
ク・ハードウェアの障害のためにシステムの一方にデー
タが記憶されているだけである時に、ディスクI/O要求
の終了と、ディスクI/Oデータの通信とを例として含
む。
OSエンジンの間の通信のために用いられる2つの手順
がある。ある事象をOSエンジンへ与えるためにI/Oエン
ジンにより「AddFSEvent」が用いられ、I/Oエンジンに
対する要求を通信するためにOSエンジンにより「MakeIO
Request」が呼び出される。AddFSEventは主I/Oエンジン
により呼び出すことができるだけである。行われている
要求または事象を識別するために、両方の呼び出しは要
求の型または事象の型を用いる。また、両方の呼び出し
は、機能に特有のやりかたで定められたパラメータを送
る。たとえば、それはOSエンジン・メモリ内のデータ構
造へのポインタとすることができる。
主システムI/OエンジンがOSエンジン内のデータ構造
を修正すると、事象をOSエンジンへ与える事ができる前
に第2のOSエンジンにおいて同じ修正を同様に行う必要
がある。OSエンジン内のデータ構造に対するポインタを
AddFSEventへ与える事ができ、それは事象とともに第2
のサーバへ転送されて、OSエンジン・データ修正を第2
のシステムへ転送する。
第2のシステムにおいては、要求の型ごとに1つずつ
のハンドラ手順がI/Oエンジンに存在する。それらのハ
ンドラ手順は、事象が主サーバから受けられたときに呼
び出される。ハンドラ手順は元のパラメータと、修正す
る必要があるOSエンジン内の区域に対するポインタで呼
び出される。
第2のI/Oエンジン事象ハンドラ手順は、事象を受け
るか、放すかの選択を持つ。事象がOSエンジンからの要
求に応答し、かつ第2のシステムが要求をまだ得ていな
ければ、放棄が用いられる。その事象が放棄されなかっ
たとすると、潜在的にメモリをOSエンジンにおいて想起
に変更できる。通常は、第2のI/Oエンジン内の事象ハ
ンドラーが、それらがトラッキングして、事象を受ける
事を信号する顕著な要求を除去する。データがコピーさ
れた後で、事象が第2のOSエンジンへ与えられる。イン
プリメンテーションにより必要があれば、第2のシステ
ムの事象ハンドラーはOSエンジン・メモリに対する別の
変更を行うことができる。
ある事象をEOSエンジンへ与える前に、第2のシステ
ムがその事象を受けるまで主I/Oエンジンが待つ事が重
要である。さもないと、主OSエンジンは事象を処理で
き、元の事象が転送される前に第2のシステムへ応答を
供給する(事象を主システムにおける待ち行列で遅延さ
せて、第2のシステムへ送られる事を待つ)。第2のシ
ステムへまだ転送されていない事象の関数である要求を
主システムが発生したとすると、主システムが外部の障
害を起こしたならば、顧客からみたそれの状態は第2の
システムへ同期されない。
オペレーションおよび遷移のサーバ状態 I/Oエンジン・ソフトウェアは、どのサーバも活動状
態でない、第2の状態でない主システム、第2の状態に
ある主システム、および第2のシステム状態、の4つの
状態で実行する。また、I/Oエンジンは、サーバ非活動
から第2の状態でない主システムへ、第2の状態でない
主システムから第2の状態にある主システムへ、第2の
システムから主システムへの状態遷移を行う。第2のシ
ステムの同期化中に起きるいくつかの付加状態がある。
本発明のシステムの状態が図5に示されている。気が
付くように、I/Oエンジンは4つの状態S1、S2、S3、S4
の内の1つの状態で動作する。状態S1、無サーバ・エン
ジン、は、I/Oエンジンが動作しているが、オペレーシ
ョンが動作していない時に生ずる。状態2、第2の状態
でない主システムは、I/OエンジンとOSエンジンがロー
ドされるが、システムが鏡映されていない時に起きる。
システムが鏡映されると、それは主OSエンジンになり、
I/Oエンジンは主I/Oエンジンとして動作する。
状態3は第2の状態にある主システムと呼ばれる。こ
の状態においては、I/Oエンジンは鏡映されている主シ
ステムで動作する。状態4、主の状態にある第2のシス
テムは、I/Oエンジンが鏡映されている第2のシステム
で動作する時に起きる。
I/Oエンジンが経験できる可能な状態遷移は5つあ
る。それらは線T1〜T5により示されている。第1の遷移
T1は状態S1から状態S2へである。この遷移はOSエンジン
が起動させられた後で起きる。
第2の遷移T2は状態S2から状態S3へで、主システムが
第2のシステムへ同期させられた時にシステム内で起き
る。遷移T3は状態S1から状態S4へで、OSエンジンが主シ
ステムへ同期させられた時に第2のシステム内で起き
る。
遷移T4は状態S4から状態S2へで、主システムに障害が
ある時に起きる。遷移T5は状態S3から状態S2へで、第2
のシステムに障害がある時に起きる。
第2のサーバ要求のトラッキングおよび実行 第2のシステムI/Oエンジンはそれ自体のOSエンジン
から要求を受けるが、通常はそれらは実行しない。その
代わりに、それは要求を待ち行列に入れ、主I/Oシステ
ムが要求に応答するまで待ち、それから応答(主I/Oシ
ステムにより発生された事象)のコピーを得て、要求の
それ自身のコピーを待ち行列に入れ、応答「事象」がそ
れ自身のOSエンジンへ与えられる事を許す。
いくつかの理由から、第2のI/OエンジンはOSエンジ
ンからの要求を待ち行列に入れねばならない。まず初め
に、OSエンジンはそれの要求のおのおの1つからある種
の応答「事象」を通常期待する。主システムに障害が生
ずると、第2のシステム(今は主システム)が要求を完
了して、適切な応答事象を発生する。別の理由は、第2
のシステムがその応答事象を受けることを認めることが
できる前にその第2のシステムが要求を受けるまで第2
のシステムは待たなければならないからである(主シス
テムが第2のより大きく進んでいるならば起きる事がで
きるケースである)。さもないと第2のシステムは、受
ける事をまだ準備していないそれのOSエンジンへデータ
を転送するからで、第2のシステムが要求を待ち行列に
入れたとすると、それは応答事象を受け、そうでなけれ
ば、「放し」て再び試みる事を主システムへ知らせる。
両方のサーバにより実行されることが必要となり、そ
うすると主システムにより調整される実際の終了「事
象」を有するOSエンジンにより与えられる要求がある。
これの1つの例がディスク書き込みである。第2のシス
テムはそれが要求により行われる時に主システムへ知ら
せねばならない。すなわち、主システムは、書込みを終
了し、第2のシステムが終了「事象」を発生する前に第
2のシステムから終了確認を受けるまで、待たねばなら
ない。
事象および要求の実行を示す流れ図が図4A〜4Cに示さ
れている。まず、ISエンジンの動作が示されている図4A
を参照する。
OSエンジンが要求を発生する時のそのOSエンジンの動
作がステップ51と52に示されている。事象を受ける時の
OSエンジンの動作がステップ53と54に示されている。ス
テップ51においては、I/O動作を行う必要があることをO
Sエンジンの管理層が決定する。ステップ52において
は、OSエンジンはI/Oエンジンに対する要求を発生し、
待機モードに入って、I/Oエンジンからの応答事象を待
つ。
ステップ53においては、OSエンジンの事象待ち行列内
のI/Oエンジンからある事象が受けられる。その事象
は、ディスク・ブロック、LANブロック、キーボード・
ブロック等のような適切な管理層ブロックへ与えられ
る。ステップ54においては、管理層は最初のI/O事象を
元の要求に一致させることにより、その事象を終了す
る。
事象処理中のI/Oエンジンの動作を示す流れ図が図4B
に示されている。ステップ55〜58は主I/Oエンジンを示
し、ステップ59〜63は第2のI/Oエンジンを示す。ステ
ップ55においては、OSエンジンのための事象が存在する
ことを主I/Oエンジンの管理層が決定する。ステップ56
においては、この事象はメッセージへ組み込まれて第2
のI/Oエンジンへ送られる。それから、第2のI/Oエンジ
ンがメッセージを主OSエンジンへ供給する前に肯定応答
するまで、主I/Oエンジンは待つ。判定ブロック57にお
いては、事象が第2のOSエンジンにより受けられたかど
うかについての判定が行われる。事象がまだ受けられて
いないとすると、肯定応答が行われるまで主I/Oエンジ
ンは待つ。第2のI/Oエンジンが事象を受けたとする
と、ステップ58において、I/Oエンジンは事象を主OSエ
ンジン事象待ち行列内に置く。
ステップ59において、第2のI/Oエンジンは主I/Oエン
ジンからの事象を待つ。判定ブロック60においては、第
2のI/Oエンジンが受けられた事象に対してレディであ
るかどうかを判定する。第2のI/Oエンジンがレディで
ないとすると、ステップ61において、それは受けないメ
ッセージを主I/Oエンジンへ送り、ステップ59へ戻って
別の事象を待つ。第2のI/Oエンジンが事象を受ける用
意ができており、判定ブロック60における条件が満たさ
れたとすれば、ステップ62において、第2のI/Oエンジ
ンはその事象の肯定応答を主I/Oエンジンへ送る。それ
から、ステップ63において、第2のI/Oエンジンは事象
を第2のOSエンジン事象待ち行列に置く。
図4Cは、OSエンジンにより処理要求が発生された時の
I/Oエンジンの処理状態を示す。ステップ70〜74はそれ
らの動作中の主I/Oエンジンの状態を示し、ステップ75
〜81はそれらの動作中の第2のI/Oエンジンの状態を示
す。ステップ70においては、I/Oエンジンのメッセージ
・レベルは要求待ち行列において利用できる要求がある
ことを決定する。ステップ71においては、要求はI/Oエ
ンジンにより実行される。この要求はディスク書込みオ
ペレーションとすることができ、LAN等へバケットを送
る。判定ブロック72においては、第2のI/Oエンジンに
よる要求の実行が求められているかどうかが判定され
る。別の実行が求められていないとすると、主I/Oエン
ジンはステップ74へ進む。第2の実行が求められるとす
ると、主I/Oエンジンは判定ブロック73へ進む。第2の
プロセッサが終了させられたとすると、主I/Oエンジン
はステップ74Aへ進む。第2のステップが終了させられ
ないとすると、第2のステップが終了させられるまで主
I/Oエンジンは待つ。判定ブロック74Aにおいては、要求
が終了事象を発生するかどうかにつての判定が行われ
る。回答が肯定であれば、主I/Oエンジンはステップ74B
へ進んで終了事象を発生する。終了事象が求められない
とすると、主I/Oエンジンはステップ74Cへ進んで行われ
る。
ステップ75においては、OSエンジンから利用できる要
求があることを第2のメッセージレベルが決定する。判
定ブロック76においては、要求を実行するために第2の
プロセッサが求められるかどうかについての判定が行わ
れる。第2のI/Oエンジンが要求を実行するものとする
と、第2のI/Oエンジンはステップ77へ進み、その要求
を実行する。要求の実行の後で、第2のI/Oエンジンは
終了を主I/Oエンジンへ知らせる。第2のI/Oエンジンが
要求を実行しないものとすると、第2のI/Oエンジンは
判定ブロック79へ進み、要求が終了事象を発生するかど
うかを判定する。要求による終了事象が発生されないと
すると、第2のI/Oエンジンはステップ80へ進み、それ
が実行される。要求がある事象を発生するものとする
と、ステップ81において第2のI/Oエンジンは主I/Oエン
ジンから対応する事象を待つ。
サーバ同期化シーケンス 第2のシステムと主システムの同期化中は、OSエンジ
ンの全「状態」、およびOSエンジンの状態に関連する主
I/Oエンジンの状態を第2のシステムへ通信せねばなら
ない。主システムと第2のシステムの同期化を開始する
ために、主OSエンジン・システムが新しい事象が「飢
え」させられる。すなわち、新しい事象が主システムの
事象待ち行列へ供給されない。主システムのメッセージ
待ち行列が空にされたあとで、主システムOSエンジンは
ループして、新しい事象を待つ。OSエンジンが新しい事
象を待っている時は、それは再び安定状態にあり、新し
い事象に遭遇するまでそのままになっている。そうする
とOSエンジンの全状態がOSエンジンのメモリ画像内に含
まれる。それからそのメモリ画像は第2のシステムへ単
に転送させる。最後に、両方のOSエンジンへ新しい事象
の同じセットが与えられ、互いにミラーリングを開始す
る。
本発明の同期化シーケンスを示す流れ図が図6に示さ
れている。ステップ85〜89は主サーバの状態および遷移
を表す。ステップ90〜93は第2のサーバの状態および遷
移を表す。主サーバは最初は状態S2にあり、ステップ8
5、第2のサーバは最初へ状態S1(I/Oエンジンのみ)に
ある、ステップ90。
I/Oエンジンは同期化シーケンシングを調整する。同
期化するためのコマンドがサーバへ与えられると、主I/
Oエンジンの管理ソフトウェアが同期化の用意をする、
ステップ86。これにより、種々のドライバ支持層がOSエ
ンジンと通信する事が許され、同期化を阻止するどのよ
うなタスクも終了させる。主システムはOSエンジンの
「飢え」を開始させ、OSエンジンから要求を取ることを
同様に停止させる。
次に、I/Oエンジンにより実行されているどのような
未解決の要求も終了させられる(および適切な終了事象
がOSエンジン・メモリ画像へ転送されるが、隠されて、
この時にはOSエンジンへ与えられない)。ステップ87お
よび91においては、I/Oエンジンは状態情報を交換す
る。I/Oエンジンが相互の状態に気がつき、第2のI/Oエ
ンジンがOSエンジンからの任意の未解決な状態に気がつ
くようになるように、主I/Oエンジンがそれの状態情報
を第2のI/Oエンジンへ供給する。このステップは第2
のI/Oエンジン・シーケンスのステップ91により表され
る。
ステップ88においては、主I/OエンジンがOSエンジン
・メモリ画像を第2のサーバへ転送する。これは、第2
のI/OエンジンがOSエンジン・メモリ画像を主サーバか
ら受ける第2のサーバ・シーケンスのステップ92に対応
する。
ステップ89においては、同期化は終了し、主システム
は状態S3(第2のを有する主)にある。同様に、第2の
サーバの対応するステップ93において、同期化プロセス
が終了し、第2のサーバは状態S4にある。
同期化シーケンス中にサーバまたは通信に障害起きる
ことがある。主システムに障害が起きたり、サーバ間通
信リンクに障害が起きたとすると、第2のシステムは同
様に停止せねばならない。第2のシステムに障害が生ず
るか、通信リンクに障害が生じたとすると、主システム
を回復して「PrimaryNoSecondary」S2状態へ戻らねばな
らない。それらの状態は同期化シーケンス中の異なる時
刻に知らせられねばならない。変化が起きた後で、隠さ
れていて待ち行列に入れられた事象がOSエンジンへ戻さ
れ、I/OエンジンがOSエンジンからの要求の処理を再び
開始する。同期化中に障害が発生したとすると、I/Oエ
ンジン管理ソフトウェアは、同期させるために行われた
どのような変更も元へ戻し、非鏡映された状態へ戻す必
要がある。
主サーバ障害による遷移 第2のシステムに障害が存在すると、待ち行列に組み
入れられて第2のシステムへ送られる全てのメッセージ
は捨てられる。そのメッセージがOSエンジン事象である
ならば、それらのメッセージはOSエンジンへ単に供給さ
れる。I/Oエンジンのドライバ支持層は、第2のシステ
ムからの未決の通知を待っていたどのような要求も終了
する。
多数のOSエンジンおよび余分なプロセッサ 以上、単一のOSエンジンをおのおの有する主サーバお
よび第2のサーバに関連して本発明を説明した。本発明
の別の実施例が図7に示されている。この実施例では主
サーバと第2のサーバの少なくとも一方が1つまたは複
数のOSエンジンを有することができる。図7を参照する
と、主サーバは3つのプロセッサで構成される。プロセ
ッサ1は主サーバのI/Oエンジンを実現する。第1のOS
エンジンと第2のOSエンジンがそれぞれプロセッサ2と
3により実現される。
同様に、第2のサーバはI/Oエンジンを実現する第1
のプロセッサと、第1のOSエンジンと第2のOSエンジン
を実現する第3のプロセッサとを有する。動作時には、
各OSエンジンが同じ事象で動作するように、多数の事象
待ち行列が各OSエンジンのために維持される。このよう
にして、1つのサーバに障害が生じたときに別のサーバ
が動作を開始できるように、各OSエンジンの状態をほば
同一に維持できる。
以上、フォルトトレラント・コンピュータ装置につい
て説明した。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 パウエル,カイル アメリカ合衆国 84606−6194 ユタ 州・プロヴォ・イースト 1700 サウ ス・122・ノーヴェル・イン コーポレ ーテッド内 (72)発明者 ネイバー,デイル アメリカ合衆国 84606−6194 ユタ 州・プロヴォ・イースト 1700 サウ ス・122・ノーヴェル・イン コーポレ ーテッド内 (56)参考文献 特開 昭59−133663(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 11/16 - 11/20 G06F 15/16 - 15/177

Claims (16)

    (57)【特許請求の範囲】
  1. 【請求項1】フォルトトレラント・コンピュータ装置の
    動作のために、第1のオペレーティングシステム(OS)
    エンジンと第1の入力/出力(I/O)エンジンとを備え
    る第1の処理手段を提供する過程と、 第2のオペレーティングシステム(OS)エンジンと第2
    の入力/出力(I/O)エンジンとを備える第2の処理手
    段を提供する過程と、 前記第1の処理手段の状態を決定し、その状態を前記第
    2の処理手段へ供給する過程と、 前記第1のOSエンジンの状態を変化させ得るオペレーシ
    ョンを事象として定める過程と、 事象を前記第1のI/Oエンジンへ供給し、前記事象それ
    ぞれをメッセージへ変換する過程と、 前記メッセージを、前記第1のOSエンジン内の第1のメ
    ッセージ待ち行列と前記第2のOSエンジン内の第2のメ
    ッセージ待ち行列とへ供給する過程と、 前記第1および第2のOSエンジンにおいて、前記第1お
    よび第2の処理手段に障害未発生の間に前記第1および
    第2のメッセージ待ち行列中の同一のメッセージの実行
    を行う、メッセージの実行を行う過程と、 前記第1の処理手段の障害発生時に前記コンピュータ装
    置の動作を、欠落を生じさせることなく、前記第2の処
    理手段へと移す過程と を備えるフォルトトレラント・コンピュータ装置を提供
    する方法。
  2. 【請求項2】請求項1記載の方法において、 前記第1の処理手段が動作しない時に各事象を前記第2
    のI/Oエンジンへ供給する過程と、 各前記事象を前記第2のI/Oエンジン内でメッセージへ
    変換する過程と、 前記第2のOSエンジンにより実行をするために、前記第
    2のOSエンジン内の前記第2のメッセージ待ち行列へ前
    記メッセージを供給する過程と、 を含む方法。
  3. 【請求項3】請求項1記載の方法において、前記第1の
    処理手段の状態を決定し、その状態を前記第2の処理手
    段へ供給する過程は、 前記第1のOSエンジンが利用できる任意のメッセージ
    を、前記第1のOSエンジンが安定な状態を達成するま
    で、前記第1のOSエンジンにおいて実行する過程と、 前記第1のOSエンジンのメモリ画像を前記第1のI/Oエ
    ンジンを介して前記第2の処理手段へ転送する過程と、 を備える方法。
  4. 【請求項4】請求項1記載の方法において、前記第1の
    処理手段が少なくとも1つのプロセッサを備える方法。
  5. 【請求項5】請求項1記載の方法において、前記第2の
    処理手段が少なくとも1つのプロセッサを備える方法。
  6. 【請求項6】請求項1記載の方法において、 入力/出力動作を行うための要求を前記OSエンジン内で
    発生する過程と、 前記第1のOSエンジンにより実行をするために前記要求
    を前記第1のOSエンジン内の第1の待ち行列へ供給する
    過程と、 を更に含む方法。
  7. 【請求項7】請求項1記載の方法において、前記事象は
    非同期である方法。
  8. 【請求項8】フォルトトレラント・コンピュータ装置の
    動作のために、第1のオペレーティングシステム(OS)
    エンジンと第1の入力/出力(I/O)エンジンとを備え
    る第1の処理手段を備え、この第1のI/Oエンジンは、
    前記第1のOSエンジンからアクセス可能な第1のメッセ
    ージ待ち行列を介して前記第1のOSエンジンと通信で
    き、 第2のオペレーティングシステム(OS)エンジンと第2
    の入力/出力(I/O)エンジンとを備える第2の処理手
    段を備え、この第2のI/Oエンジンは、前記第2のOSエ
    ンジンからアクセス可能な第2のメッセージ待ち行列を
    介して前記第2のOSエンジンと通信でき、 前記第1のI/Oエンジンは、第1のバスを介して前記第
    2のI/Oエンジンへ結合され、 前記第1のI/Oエンジンには、前記第1のOSエンジンの
    状態を変化させ得るオペレーションをメッセージへと変
    換する変換手段が備えられ、 前記第1のI/Oエンジンは前記メッセージを、前記第1
    のOSエンジンからのアクセスに備えて前記第1のメッセ
    ージ待ち行列へと送り、かつ、前記第2のI/Oエンジン
    を介して、前記第2のOSエンジンからのアクセスに備え
    て前記第2のメッセージ待ち行列へと送り、 前記第1のOSエンジンおよび前記第2のOSエンジンは、
    前記第1および第2の処理手段に障害未発生の間に前記
    第1および第2のメッセージ待ち行列中の同一のメッセ
    ージの実行を行う、メッセージの実行を行う手段を有
    し、 前記第1の処理手段の障害発生時に前記コンピュータ装
    置の動作を、欠落を生じさせることなく、前記第2の処
    理手段へと移す手段を備えている ことを特徴とするフォルトトレラント・コンピュータ装
    置。
  9. 【請求項9】請求項8記載のコンピュータ装置におい
    て、前記第1の処理手段は少なくとも1つのプロセッサ
    を備えるコンピュータ装置。
  10. 【請求項10】請求項8記載のコンピュータ装置におい
    て、前記第2の処理手段は少なくとも1つのプロセッサ
    を備えるコンピュータ装置。
  11. 【請求項11】請求項8記載のコンピュータ装置におい
    て、前記第1の処理手段へ結合され、前記第1のOSエン
    ジンの前記状態に対応するメモリ画像を記憶する第1の
    記憶手段を更に含むコンピュータ装置。
  12. 【請求項12】請求項11記載のコンピュータ装置におい
    て、前記第2の処理手段へ結合され、前記第2のOSエン
    ジンの前記状態に対応するメモリ画像を記憶する第2の
    記憶手段を更に含むコンピュータ装置。
  13. 【請求項13】請求項8記載のコンピュータ装置におい
    て、前記第1のOSエンジンは前記コンピュータ装置の命
    令の実行を制御するコンピュータ装置。
  14. 【請求項14】請求項8記載のコンピュータ装置におい
    て、前記第1および第2のI/Oエンジンは入力装置およ
    び出力装置との通信を制御するコンピュータ装置。
  15. 【請求項15】請求項13記載のコンピュータ装置におい
    て、前記第1のOSエンジンが前記コンピュータ装置の命
    令の実行をできない時に、前記第2のOSエンジンが前記
    命令の実行を制御するコンピュータ装置。
  16. 【請求項16】請求項8記載のコンピュータ装置におい
    て、前記メッセージは同期事象と非同期事象を備えるコ
    ンピュータ装置。
JP51451591A 1990-09-24 1991-08-09 フォルトトレラント・コンピュータ装置 Expired - Lifetime JP3156083B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/586,807 US5157663A (en) 1990-09-24 1990-09-24 Fault tolerant computer system
US586,807 1990-09-24
PCT/US1991/005679 WO1992005487A1 (en) 1990-09-24 1991-08-09 Fault tolerant computer system

Publications (2)

Publication Number Publication Date
JPH06504389A JPH06504389A (ja) 1994-05-19
JP3156083B2 true JP3156083B2 (ja) 2001-04-16

Family

ID=24347179

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51451591A Expired - Lifetime JP3156083B2 (ja) 1990-09-24 1991-08-09 フォルトトレラント・コンピュータ装置

Country Status (13)

Country Link
US (2) US5157663A (ja)
EP (1) EP0550457B1 (ja)
JP (1) JP3156083B2 (ja)
KR (1) KR0137406B1 (ja)
AT (1) ATE152261T1 (ja)
AU (1) AU660939B2 (ja)
BR (1) BR9106875A (ja)
CA (1) CA2091993C (ja)
DE (1) DE69125840T2 (ja)
FI (1) FI101432B (ja)
NO (1) NO302986B1 (ja)
RU (1) RU2108621C1 (ja)
WO (1) WO1992005487A1 (ja)

Families Citing this family (342)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
JP2864741B2 (ja) * 1990-12-19 1999-03-08 株式会社日立製作所 データインテグリティを保証する通信システム
DE69231452T2 (de) * 1991-01-25 2001-05-03 Hitachi Ltd Fehlertolerantes Rechnersystem mit Verarbeitungseinheiten die je mindestens drei Rechnereinheiten haben
JP3189903B2 (ja) * 1991-06-03 2001-07-16 富士通株式会社 ケーパビリティの退避・復元機構を持つ装置
DE69227956T2 (de) * 1991-07-18 1999-06-10 Tandem Computers Inc Multiprozessorsystem mit gespiegeltem Speicher
US5278969A (en) * 1991-08-02 1994-01-11 At&T Bell Laboratories Queue-length monitoring arrangement for detecting consistency between duplicate memories
EP0537903A2 (en) * 1991-10-02 1993-04-21 International Business Machines Corporation Distributed control system
WO1993009494A1 (en) * 1991-10-28 1993-05-13 Digital Equipment Corporation Fault-tolerant computer processing using a shadow virtual processor
US5379417A (en) * 1991-11-25 1995-01-03 Tandem Computers Incorporated System and method for ensuring write data integrity in a redundant array data storage system
JPH05191388A (ja) * 1992-01-14 1993-07-30 Fujitsu Ltd 通信処理システム
EP0559222A2 (en) * 1992-03-06 1993-09-08 Microsoft Corporation Improved method for loading programs
JPH05260134A (ja) * 1992-03-12 1993-10-08 Fujitsu Ltd 伝送装置の監視システム
FR2688907B1 (fr) * 1992-03-20 1994-05-27 Kiota Int Procede d'enregistrement et de lecture d'une bande magnetique bicouche et systeme de mise en óoeuvre.
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.
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US5914953A (en) 1992-12-17 1999-06-22 Tandem Computers, Inc. Network message routing using routing table information and supplemental enable information for deadlock prevention
US5469573A (en) * 1993-02-26 1995-11-21 Sytron Corporation Disk operating system backup and recovery system
US5608872A (en) * 1993-03-19 1997-03-04 Ncr Corporation System for allowing all remote computers to perform annotation on an image and replicating the annotated image on the respective displays of other comuters
US5664195A (en) * 1993-04-07 1997-09-02 Sequoia Systems, Inc. Method and apparatus for dynamic installation of a driver on a computer system
JP3047275B2 (ja) * 1993-06-11 2000-05-29 株式会社日立製作所 バックアップ切り換え制御方法
AU7211194A (en) * 1993-06-23 1995-01-17 Vinca Corporation Method for improving disk mirroring error recovery in a computer system including an alternate communication path
US5812748A (en) * 1993-06-23 1998-09-22 Vinca Corporation Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
US5978565A (en) 1993-07-20 1999-11-02 Vinca Corporation Method for rapid recovery from a network file server failure including method for operating co-standby servers
AU7211594A (en) * 1993-07-20 1995-02-20 Vinca Corporation Method for rapid recovery from a network file server failure
US6289390B1 (en) 1993-08-18 2001-09-11 Microsoft Corporation System and method for performing remote requests with an on-line service network
US5473771A (en) * 1993-09-01 1995-12-05 At&T Corp. Fault-tolerant processing system architecture
US5566299A (en) * 1993-12-30 1996-10-15 Lockheed Martin Corporation Fault tolerant method and system for high availability document image and coded data processing
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JP2790034B2 (ja) * 1994-03-28 1998-08-27 日本電気株式会社 非運用系メモリ更新方式
JP3140906B2 (ja) * 1994-04-12 2001-03-05 株式会社エヌ・ティ・ティ・データ システムファイルの更新及び復元方法
JPH10506483A (ja) * 1994-06-10 1998-06-23 テキサス・マイクロ・インコーポレーテッド フォールト・トレラントなコンピュータ・システムのためのメイン・メモリ・システム及びチェックポイント用プロトコル
US5566297A (en) * 1994-06-16 1996-10-15 International Business Machines Corporation Non-disruptive recovery from file server failure in a highly available file system for clustered computing environments
US5659682A (en) * 1994-06-16 1997-08-19 International Business Machines Corporation Scheme to determine completion of directory operations for server recovery
JPH0816421A (ja) * 1994-07-04 1996-01-19 Hitachi Ltd 一重化/二重化切り替え入出力ポートを有する電子装置とフォールトトレラントシステム
JPH0816446A (ja) * 1994-07-05 1996-01-19 Fujitsu Ltd クライアント/サーバ・システム
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
US5764903A (en) * 1994-09-26 1998-06-09 Acer America Corporation High availability network disk mirroring system
US5996001A (en) * 1994-09-27 1999-11-30 Quarles; Philip High availability on-line transaction processing system
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
KR0133337B1 (ko) * 1994-12-21 1998-04-21 양승택 타켓 시스템 이중화 운용관리 장치 및 방법
US5757642A (en) * 1995-01-20 1998-05-26 Dell Usa L.P. Multi-function server input/output subsystem and method
CA2167634A1 (en) * 1995-01-23 1996-07-24 Michael E. Fisher Method and apparatus for maintaining network connections across a voluntary process switchover
US5790791A (en) * 1995-05-12 1998-08-04 The Boeing Company Apparatus for synchronizing flight management computers where only the computer chosen to be the master received pilot inputs and transfers the inputs to the spare
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers
US5822512A (en) * 1995-05-19 1998-10-13 Compaq Computer Corporartion Switching control in a fault tolerant system
TW292365B (en) 1995-05-31 1996-12-01 Hitachi Ltd Computer management system
US6901433B2 (en) * 1995-06-07 2005-05-31 Microsoft Corporation System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5621885A (en) * 1995-06-07 1997-04-15 Tandem Computers, Incorporated System and method for providing a fault tolerant computer program runtime support environment
US5956489A (en) * 1995-06-07 1999-09-21 Microsoft Corporation Transaction replication system and method for supporting replicated transaction-based services
JP3086779B2 (ja) * 1995-06-19 2000-09-11 株式会社東芝 メモリ状態復元装置
US5594863A (en) * 1995-06-26 1997-01-14 Novell, Inc. Method and apparatus for network file recovery
US5933599A (en) * 1995-07-17 1999-08-03 Microsoft Corporation Apparatus for presenting the content of an interactive on-line network
US6728959B1 (en) 1995-08-08 2004-04-27 Novell, Inc. Method and apparatus for strong affinity multiprocessor scheduling
US5941947A (en) * 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US5956509A (en) * 1995-08-18 1999-09-21 Microsoft Corporation System and method for performing remote requests with an on-line service network
US6029175A (en) * 1995-10-26 2000-02-22 Teknowledge Corporation Automatic retrieval of changed files by a network software agent
US5737514A (en) * 1995-11-29 1998-04-07 Texas Micro, Inc. Remote checkpoint memory system and protocol for fault-tolerant computer system
US5745672A (en) * 1995-11-29 1998-04-28 Texas Micro, Inc. Main memory system and checkpointing protocol for a fault-tolerant computer system using a read buffer
US5864657A (en) * 1995-11-29 1999-01-26 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system
US5751939A (en) * 1995-11-29 1998-05-12 Texas Micro, Inc. Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory
US5802265A (en) * 1995-12-01 1998-09-01 Stratus Computer, Inc. Transparent fault tolerant computer system
US5838921A (en) * 1995-12-08 1998-11-17 Silicon Graphics, Inc. Distributed connection management system with replication
GB2308040A (en) * 1995-12-09 1997-06-11 Northern Telecom Ltd Telecommunications system
GB9601585D0 (en) * 1996-01-26 1996-03-27 Hewlett Packard Co Fault-tolerant processing method
GB9601584D0 (en) * 1996-01-26 1996-03-27 Hewlett Packard Co Fault-tolerant processing method
US5777874A (en) * 1996-02-12 1998-07-07 Allen-Bradley Company, Inc. Programmable controller backup system
US5761518A (en) * 1996-02-29 1998-06-02 The Foxboro Company System for replacing control processor by operating processor in partially disabled mode for tracking control outputs and in write enabled mode for transferring control loops
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US5708776A (en) * 1996-05-09 1998-01-13 Elonex I.P. Holdings Automatic recovery for network appliances
US5796934A (en) * 1996-05-31 1998-08-18 Oracle Corporation Fault tolerant client server system
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US5852724A (en) * 1996-06-18 1998-12-22 Veritas Software Corp. System and method for "N" primary servers to fail over to "1" secondary server
US5774660A (en) * 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6321270B1 (en) * 1996-09-27 2001-11-20 Nortel Networks Limited Method and apparatus for multicast routing in a network
TW379298B (en) * 1996-09-30 2000-01-11 Toshiba Corp Memory updating history saving device and memory updating history saving method
US6484208B1 (en) 1996-10-15 2002-11-19 Compaq Information Technologies Group, L.P. Local access of a remotely mirrored disk in a computer network
US5917997A (en) * 1996-12-06 1999-06-29 International Business Machines Corporation Host identity takeover using virtual internet protocol (IP) addressing
JP3507307B2 (ja) * 1996-12-27 2004-03-15 キヤノン株式会社 情報処理装置およびネットワークプリントシステムおよびその制御方法およびプログラムが格納された記憶媒体
US6151688A (en) 1997-02-21 2000-11-21 Novell, Inc. Resource management in a clustered computer system
JPH10240557A (ja) * 1997-02-27 1998-09-11 Mitsubishi Electric Corp 待機冗長化システム
US6654933B1 (en) 1999-09-21 2003-11-25 Kasenna, Inc. System and method for media stream indexing
US5941999A (en) * 1997-03-31 1999-08-24 Sun Microsystems Method and system for achieving high availability in networked computer systems
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US7389312B2 (en) * 1997-04-28 2008-06-17 Emc Corporation Mirroring network data to establish virtual storage area network
US5892928A (en) * 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6247898B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Computer fan speed control system
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6243773B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6170067B1 (en) 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6324608B1 (en) 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6163853A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method for communicating a software-generated pulse waveform between two servers in a network
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6292905B1 (en) * 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6122746A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US5987554A (en) * 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6195717B1 (en) 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6526333B1 (en) 1997-05-13 2003-02-25 Micron Technology, Inc. Computer fan speed control system method
US6134668A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6163849A (en) * 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6338150B1 (en) * 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6073255A (en) * 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6138250A (en) * 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6266721B1 (en) 1997-05-13 2001-07-24 Micron Electronics, Inc. System architecture for remote access and control of environmental management
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6490610B1 (en) 1997-05-30 2002-12-03 Oracle Corporation Automatic failover for clients accessing a resource through a server
US6199110B1 (en) 1997-05-30 2001-03-06 Oracle Corporation Planned session termination for clients accessing a resource through a server
US5983371A (en) * 1997-07-11 1999-11-09 Marathon Technologies Corporation Active failure detection
JP3111935B2 (ja) * 1997-08-15 2000-11-27 日本電気株式会社 Lanエミュレーションサーバ二重化方式
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6088816A (en) * 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6154835A (en) * 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
GB2330034A (en) 1997-10-01 1999-04-07 Northern Telecom Ltd A narrowband to broadband interface for a communications system
US6138179A (en) * 1997-10-01 2000-10-24 Micron Electronics, Inc. System for automatically partitioning and formatting a primary hard disk for installing software in which selection of extended partition size is not related to size of hard disk
US6199173B1 (en) 1997-10-01 2001-03-06 Micron Electronics, Inc. Method for mapping environmental resources to memory for program access
US6009541A (en) * 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6035420A (en) * 1997-10-01 2000-03-07 Micron Electronics, Inc. Method of performing an extensive diagnostic test in conjunction with a bios test routine
US6014667A (en) * 1997-10-01 2000-01-11 Novell, Inc. System and method for caching identification and location information in a computer network
US6173420B1 (en) * 1997-10-31 2001-01-09 Oracle Corporation Method and apparatus for fail safe configuration
US6799224B1 (en) * 1998-03-10 2004-09-28 Quad Research High speed fault tolerant mass storage network information server
DE19810814B4 (de) * 1998-03-12 2004-10-28 Telefonaktiebolaget Lm Ericsson (Publ) Rechnersystem und Zustandskopierverfahren zur skalierbaren Software-Aktualisierung
DE19810807A1 (de) * 1998-03-12 1999-09-23 Ericsson Telefon Ab L M Gerät und Verfahren zum Umsetzen von Meldungen
US6185695B1 (en) * 1998-04-09 2001-02-06 Sun Microsystems, Inc. Method and apparatus for transparent server failover for highly available objects
US6260155B1 (en) 1998-05-01 2001-07-10 Quad Research Network information server
US6061602A (en) * 1998-06-23 2000-05-09 Creative Lifestyles, Inc. Method and apparatus for developing application software for home automation system
US6195739B1 (en) 1998-06-29 2001-02-27 Cisco Technology, Inc. Method and apparatus for passing data among processor complex stages of a pipelined processing engine
US6101599A (en) * 1998-06-29 2000-08-08 Cisco Technology, Inc. System for context switching between processing elements in a pipeline of processing elements
US6513108B1 (en) 1998-06-29 2003-01-28 Cisco Technology, Inc. Programmable processing engine for efficiently processing transient data
US6119215A (en) * 1998-06-29 2000-09-12 Cisco Technology, Inc. Synchronization and control system for an arrayed processing engine
US6836838B1 (en) 1998-06-29 2004-12-28 Cisco Technology, Inc. Architecture for a processor complex of an arrayed pipelined processing engine
US6154849A (en) * 1998-06-30 2000-11-28 Sun Microsystems, Inc. Method and apparatus for resource dependency relaxation
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US9361243B2 (en) 1998-07-31 2016-06-07 Kom Networks Inc. Method and system for providing restricted access to a storage medium
US8234477B2 (en) 1998-07-31 2012-07-31 Kom Networks, Inc. Method and system for providing restricted access to a storage medium
DE19836347C2 (de) 1998-08-11 2001-11-15 Ericsson Telefon Ab L M Fehlertolerantes Computersystem
US7305451B2 (en) * 1998-08-24 2007-12-04 Microsoft Corporation System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network
US6266785B1 (en) 1998-09-01 2001-07-24 Ncr Corporation File system filter driver apparatus and method
US6247141B1 (en) 1998-09-24 2001-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Protocol for providing replicated servers in a client-server system
US6728839B1 (en) 1998-10-28 2004-04-27 Cisco Technology, Inc. Attribute based memory pre-fetching technique
US6460146B1 (en) * 1998-12-04 2002-10-01 Cisco Technology, Inc. System and method for establishing processor redundancy
US6389459B1 (en) * 1998-12-09 2002-05-14 Ncr Corporation Virtualized storage devices for network disk mirroring applications
US6173386B1 (en) 1998-12-14 2001-01-09 Cisco Technology, Inc. Parallel processor with debug capability
US6385747B1 (en) 1998-12-14 2002-05-07 Cisco Technology, Inc. Testing of replicated components of electronic device
US6920562B1 (en) 1998-12-18 2005-07-19 Cisco Technology, Inc. Tightly coupled software protocol decode with hardware data encryption
US6853623B2 (en) 1999-03-05 2005-02-08 Cisco Technology, Inc. Remote monitoring of switch network
US6457138B1 (en) * 1999-04-19 2002-09-24 Cisco Technology, Inc. System and method for crash handling on redundant systems
US6298474B1 (en) 1999-04-30 2001-10-02 Intergral Vision, Inc. Method and system for interactively developing a graphical control-flow structure and associated application software for use in a machine vision system and computer-readable storage medium having a program for executing the method
US6681341B1 (en) 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
US6529983B1 (en) 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
TW454120B (en) 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
US7203732B2 (en) * 1999-11-11 2007-04-10 Miralink Corporation Flexible remote data mirroring
US6338126B1 (en) * 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
US6769027B1 (en) * 2000-01-31 2004-07-27 Avaya Technology Corp. System and method for using multi-headed queues for bookmarking in backup/recover scenarios
US6738826B1 (en) 2000-02-24 2004-05-18 Cisco Technology, Inc. Router software upgrade employing redundant processors
JP2001256067A (ja) * 2000-03-08 2001-09-21 Mitsubishi Electric Corp プロセッサ省電力制御方法、記憶媒体、およびプロセッサ省電力制御装置
US6892237B1 (en) 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
JP3651353B2 (ja) * 2000-04-04 2005-05-25 日本電気株式会社 デジタルコンテンツ再生システム及びデジタルコンテンツ配信システム
US6735717B1 (en) * 2000-04-13 2004-05-11 Gnp Computers, Inc. Distributed computing system clustering model providing soft real-time responsiveness and continuous availability
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
US6691225B1 (en) 2000-04-14 2004-02-10 Stratus Technologies Bermuda Ltd. Method and apparatus for deterministically booting a computer system having redundant components
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US6901481B2 (en) 2000-04-14 2005-05-31 Stratus Technologies Bermuda Ltd. Method and apparatus for storing transactional information in persistent memory
US6505269B1 (en) 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US6892221B2 (en) * 2000-05-19 2005-05-10 Centerbeam Data backup
US7225244B2 (en) * 2000-05-20 2007-05-29 Ciena Corporation Common command interface
US6983362B1 (en) 2000-05-20 2006-01-03 Ciena Corporation Configurable fault recovery policy for a computer system
US6742134B1 (en) 2000-05-20 2004-05-25 Equipe Communications Corporation Maintaining a local backup for data plane processes
US6715097B1 (en) 2000-05-20 2004-03-30 Equipe Communications Corporation Hierarchical fault management in computer systems
US6760859B1 (en) 2000-05-23 2004-07-06 International Business Machines Corporation Fault tolerant local area network connectivity
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
US20020004849A1 (en) * 2000-06-22 2002-01-10 Elink Business Fault tolerant internet communications system
US6728897B1 (en) 2000-07-25 2004-04-27 Network Appliance, Inc. Negotiating takeover in high availability cluster
US7277956B2 (en) 2000-07-28 2007-10-02 Kasenna, Inc. System and method for improved utilization of bandwidth in a computer system serving multiple users
CA2457557A1 (en) * 2000-08-10 2002-02-21 Miralink Corporation Data/presence insurance tools and techniques
US6977927B1 (en) 2000-09-18 2005-12-20 Hewlett-Packard Development Company, L.P. Method and system of allocating storage resources in a storage area network
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US7386610B1 (en) 2000-09-18 2008-06-10 Hewlett-Packard Development Company, L.P. Internet protocol data mirroring
US6871271B2 (en) 2000-12-21 2005-03-22 Emc Corporation Incrementally restoring a mass storage device to a prior state
US6941490B2 (en) * 2000-12-21 2005-09-06 Emc Corporation Dual channel restoration of data between primary and backup servers
US7054927B2 (en) * 2001-01-29 2006-05-30 Adaptec, Inc. File system metadata describing server directory information
US6990667B2 (en) 2001-01-29 2006-01-24 Adaptec, Inc. Server-independent object positioning for load balancing drives and servers
US6862692B2 (en) 2001-01-29 2005-03-01 Adaptec, Inc. Dynamic redistribution of parity groups
US20020138559A1 (en) * 2001-01-29 2002-09-26 Ulrich Thomas R. Dynamically distributed file system
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
AU2002247257A1 (en) 2001-03-02 2002-09-19 Kasenna, Inc. Metadata enabled push-pull model for efficient low-latency video-content distribution over a network
US8244864B1 (en) 2001-03-20 2012-08-14 Microsoft Corporation Transparent migration of TCP based connections within a network load balancing system
US7065672B2 (en) 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US7028228B1 (en) 2001-03-28 2006-04-11 The Shoregroup, Inc. Method and apparatus for identifying problems in computer networks
US7296194B1 (en) 2002-03-28 2007-11-13 Shoregroup Inc. Method and apparatus for maintaining the status of objects in computer networks using virtual state machines
US7197561B1 (en) * 2001-03-28 2007-03-27 Shoregroup, Inc. Method and apparatus for maintaining the status of objects in computer networks using virtual state machines
US6971043B2 (en) * 2001-04-11 2005-11-29 Stratus Technologies Bermuda Ltd Apparatus and method for accessing a mass storage device in a fault-tolerant server
US6928579B2 (en) * 2001-06-27 2005-08-09 Nokia Corporation Crash recovery system
US7072911B1 (en) * 2001-07-27 2006-07-04 Novell, Inc. System and method for incremental replication of changes in a state based distributed database
US6920579B1 (en) 2001-08-20 2005-07-19 Network Appliance, Inc. Operator initiated graceful takeover in a node cluster
US7137026B2 (en) 2001-10-04 2006-11-14 Nokia Corporation Crash recovery system
US7177267B2 (en) * 2001-11-09 2007-02-13 Adc Dsl Systems, Inc. Hardware monitoring and configuration management
US6954877B2 (en) * 2001-11-29 2005-10-11 Agami Systems, Inc. Fault tolerance using logical checkpointing in computing systems
US7296125B2 (en) * 2001-11-29 2007-11-13 Emc Corporation Preserving a snapshot of selected data of a mass storage system
US7730153B1 (en) 2001-12-04 2010-06-01 Netapp, Inc. Efficient use of NVRAM during takeover in a node cluster
US6802024B2 (en) 2001-12-13 2004-10-05 Intel Corporation Deterministic preemption points in operating system execution
KR100441712B1 (ko) * 2001-12-29 2004-07-27 엘지전자 주식회사 확장 가능형 다중 처리 시스템 및 그의 메모리 복제 방법
US7007142B2 (en) * 2002-02-19 2006-02-28 Intel Corporation Network data storage-related operations
US7039828B1 (en) 2002-02-28 2006-05-02 Network Appliance, Inc. System and method for clustered failover without network support
GB0206604D0 (en) * 2002-03-20 2002-05-01 Global Continuity Plc Improvements relating to overcoming data processing failures
US7571221B2 (en) * 2002-04-03 2009-08-04 Hewlett-Packard Development Company, L.P. Installation of network services in an embedded network server
US7058849B2 (en) * 2002-07-02 2006-06-06 Micron Technology, Inc. Use of non-volatile memory to perform rollback function
US7885896B2 (en) 2002-07-09 2011-02-08 Avaya Inc. Method for authorizing a substitute software license server
US8041642B2 (en) 2002-07-10 2011-10-18 Avaya Inc. Predictive software license balancing
US7240048B2 (en) * 2002-08-05 2007-07-03 Ben Pontius System and method of parallel pattern matching
US6782424B2 (en) * 2002-08-23 2004-08-24 Finite State Machine Labs, Inc. System, method and computer program product for monitoring and controlling network connections from a supervisory operating system
US7216363B2 (en) * 2002-08-30 2007-05-08 Avaya Technology Corp. Licensing duplicated systems
US7707116B2 (en) 2002-08-30 2010-04-27 Avaya Inc. Flexible license file feature controls
US7966520B2 (en) * 2002-08-30 2011-06-21 Avaya Inc. Software licensing for spare processors
US7698225B2 (en) 2002-08-30 2010-04-13 Avaya Inc. License modes in call processing
US7228567B2 (en) * 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US7681245B2 (en) 2002-08-30 2010-03-16 Avaya Inc. Remote feature activator feature extraction
US7051053B2 (en) * 2002-09-30 2006-05-23 Dinesh Sinha Method of lazily replicating files and monitoring log in backup file system
US20040078339A1 (en) * 2002-10-22 2004-04-22 Goringe Christopher M. Priority based licensing
US7171452B1 (en) 2002-10-31 2007-01-30 Network Appliance, Inc. System and method for monitoring cluster partner boot status over a cluster interconnect
US7890997B2 (en) 2002-12-26 2011-02-15 Avaya Inc. Remote feature activation authentication file system
US7246255B1 (en) * 2003-01-17 2007-07-17 Unisys Corporation Method for shortening the resynchronization time following failure in a computer system utilizing separate servers for redundancy
US7155638B1 (en) * 2003-01-17 2006-12-26 Unisys Corporation Clustered computer system utilizing separate servers for redundancy in which the host computers are unaware of the usage of separate servers
US7149923B1 (en) * 2003-01-17 2006-12-12 Unisys Corporation Software control using the controller as a component to achieve resiliency in a computer system utilizing separate servers for redundancy
US7260557B2 (en) * 2003-02-27 2007-08-21 Avaya Technology Corp. Method and apparatus for license distribution
US7231489B1 (en) 2003-03-03 2007-06-12 Network Appliance, Inc. System and method for coordinating cluster state information
US7373657B2 (en) 2003-03-10 2008-05-13 Avaya Technology Corp. Method and apparatus for controlling data and software access
US20040181696A1 (en) * 2003-03-11 2004-09-16 Walker William T. Temporary password login
US20040184464A1 (en) * 2003-03-18 2004-09-23 Airspan Networks Inc. Data processing apparatus
JP2004295465A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
US7127442B2 (en) * 2003-04-01 2006-10-24 Avaya Technology Corp. Ironclad notification of license errors
US7739543B1 (en) 2003-04-23 2010-06-15 Netapp, Inc. System and method for transport-level failover for loosely coupled iSCSI target devices
US7260737B1 (en) 2003-04-23 2007-08-21 Network Appliance, Inc. System and method for transport-level failover of FCP devices in a cluster
US7194655B2 (en) * 2003-06-12 2007-03-20 International Business Machines Corporation Method and system for autonomously rebuilding a failed server and a computer system utilizing the same
US20050039074A1 (en) * 2003-07-09 2005-02-17 Tremblay Glenn A. Fault resilient/fault tolerant computing
US7593996B2 (en) * 2003-07-18 2009-09-22 Netapp, Inc. System and method for establishing a peer connection using reliable RDMA primitives
US7716323B2 (en) * 2003-07-18 2010-05-11 Netapp, Inc. System and method for reliable peer communication in a clustered storage system
US7467191B1 (en) 2003-09-26 2008-12-16 Network Appliance, Inc. System and method for failover using virtual ports in clustered systems
US7096331B1 (en) * 2003-09-29 2006-08-22 Emc Corporation System and method for managing data associated with copying and replication procedures in a data storage environment
US7447860B1 (en) * 2003-09-29 2008-11-04 Emc Corporation System and method for managing data associated with copying and recovery procedures in a data storage environment
US7222143B2 (en) * 2003-11-24 2007-05-22 Lenovo (Singapore) Pte Ltd. Safely restoring previously un-backed up data during system restore of a failing system
US7340639B1 (en) 2004-01-08 2008-03-04 Network Appliance, Inc. System and method for proxying data access commands in a clustered storage system
US7966294B1 (en) 2004-01-08 2011-06-21 Netapp, Inc. User interface system for a clustered storage system
US7353388B1 (en) 2004-02-09 2008-04-01 Avaya Technology Corp. Key server for securing IP telephony registration, control, and maintenance
US7272500B1 (en) 2004-03-25 2007-09-18 Avaya Technology Corp. Global positioning system hardware key for software licenses
US8621029B1 (en) 2004-04-28 2013-12-31 Netapp, Inc. System and method for providing remote direct memory access over a transport medium that does not natively support remote direct memory access operations
US7328144B1 (en) 2004-04-28 2008-02-05 Network Appliance, Inc. System and method for simulating a software protocol stack using an emulated protocol over an emulated network
US7496782B1 (en) 2004-06-01 2009-02-24 Network Appliance, Inc. System and method for splitting a cluster for disaster recovery
US7478263B1 (en) 2004-06-01 2009-01-13 Network Appliance, Inc. System and method for establishing bi-directional failover in a two node cluster
EP1782237A2 (en) * 2004-07-13 2007-05-09 Teneros, Inc. Autonomous service appliance
US7363366B2 (en) * 2004-07-13 2008-04-22 Teneros Inc. Network traffic routing
US20060015764A1 (en) * 2004-07-13 2006-01-19 Teneros, Inc. Transparent service provider
US7321906B2 (en) * 2004-07-23 2008-01-22 Omx Technology Ab Method of improving replica server performance and a replica server system
US7587400B2 (en) * 2004-08-12 2009-09-08 Oracle International Corporation Suspending a result set and continuing from a suspended result set for transparent session migration
US7613710B2 (en) * 2004-08-12 2009-11-03 Oracle International Corporation Suspending a result set and continuing from a suspended result set
US7743333B2 (en) * 2004-08-12 2010-06-22 Oracle International Corporation Suspending a result set and continuing from a suspended result set for scrollable cursors
US7415470B2 (en) * 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US7502824B2 (en) * 2004-08-12 2009-03-10 Oracle International Corporation Database shutdown with session migration
US7707405B1 (en) 2004-09-21 2010-04-27 Avaya Inc. Secure installation activation
US7747851B1 (en) 2004-09-30 2010-06-29 Avaya Inc. Certificate distribution via license files
US8229858B1 (en) 2004-09-30 2012-07-24 Avaya Inc. Generation of enterprise-wide licenses in a customer environment
US7965701B1 (en) 2004-09-30 2011-06-21 Avaya Inc. Method and system for secure communications with IP telephony appliance
US7434630B2 (en) * 2004-10-05 2008-10-14 Halliburton Energy Services, Inc. Surface instrumentation configuration for drilling rig operation
KR100651388B1 (ko) * 2004-11-25 2006-11-29 삼성전자주식회사 이동통신 단말기에서 착신알림 설정방법
JP4182948B2 (ja) * 2004-12-21 2008-11-19 日本電気株式会社 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
DE102004062116B3 (de) * 2004-12-23 2006-05-11 Ab Skf Lageranordnung für einen Computertomographen
US7496787B2 (en) * 2004-12-27 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US9176772B2 (en) * 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
US8073899B2 (en) * 2005-04-29 2011-12-06 Netapp, Inc. System and method for proxying data access commands in a storage system cluster
US7743286B2 (en) * 2005-05-17 2010-06-22 International Business Machines Corporation Method, system and program product for analyzing demographical factors of a computer system to address error conditions
US20070028144A1 (en) * 2005-07-29 2007-02-01 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US20070038891A1 (en) * 2005-08-12 2007-02-15 Stratus Technologies Bermuda Ltd. Hardware checkpointing system
US7814023B1 (en) 2005-09-08 2010-10-12 Avaya Inc. Secure download manager
US7370235B1 (en) * 2005-09-29 2008-05-06 Emc Corporation System and method for managing and scheduling recovery after a failure in a data storage environment
US7401251B1 (en) * 2005-09-29 2008-07-15 Emc Corporation Architecture for managing failover and recovery after failover in a data storage environment
US7793329B2 (en) 2006-02-06 2010-09-07 Kasenna, Inc. Method and system for reducing switching delays between digital video feeds using multicast slotted transmission technique
JP4585463B2 (ja) * 2006-02-15 2010-11-24 富士通株式会社 仮想計算機システムを機能させるためのプログラム
CN100353330C (zh) * 2006-03-10 2007-12-05 四川大学 一种基于ip网络的磁盘镜像方法
JP4808524B2 (ja) * 2006-03-17 2011-11-02 株式会社日立製作所 データ処理方法、データ処理システム及びデータ処理プログラム
WO2007140475A2 (en) * 2006-05-31 2007-12-06 Teneros, Inc. Extracting shared state information from message traffic
AU2012202229B2 (en) * 2006-08-04 2014-07-10 Tsx Inc. Failover system and method
US7725764B2 (en) 2006-08-04 2010-05-25 Tsx Inc. Failover system and method
US7734947B1 (en) 2007-04-17 2010-06-08 Netapp, Inc. System and method for virtual interface failover within a cluster
US7958385B1 (en) 2007-04-30 2011-06-07 Netapp, Inc. System and method for verification and enforcement of virtual interface failover within a cluster
US8130084B2 (en) * 2007-04-30 2012-03-06 International Business Machines Corporation Fault tolerant closed system control using power line communication
US8346719B2 (en) 2007-05-17 2013-01-01 Novell, Inc. Multi-node replication systems, devices and methods
US8818936B1 (en) 2007-06-29 2014-08-26 Emc Corporation Methods, systems, and computer program products for processing read requests received during a protected restore operation
US8421614B2 (en) * 2007-09-19 2013-04-16 International Business Machines Corporation Reliable redundant data communication through alternating current power distribution system
US7870374B2 (en) * 2007-09-27 2011-01-11 International Business Machines Corporation Validating physical and logical system connectivity of components in a data processing system
US8489554B2 (en) 2007-10-05 2013-07-16 Ge Intelligent Platforms, Inc. Methods and systems for operating a sequence of events recorder
US9201745B2 (en) * 2008-01-23 2015-12-01 Omx Technology Ab Method of improving replica server performance and a replica server system
US8688798B1 (en) 2009-04-03 2014-04-01 Netapp, Inc. System and method for a shared write address protocol over a remote direct memory access connection
CN102216726A (zh) * 2009-04-24 2011-10-12 株式会社东京技术 渐开线齿轮齿廓测量方法
US9256598B1 (en) 2009-08-19 2016-02-09 Emc Corporation Systems, methods, and computer readable media for copy-on-demand optimization for large writes
WO2012011781A2 (ko) * 2010-07-22 2012-01-26 엘지전자 주식회사 이동성이 없는 유휴상태 단말용 하향링크 데이터를 송신 및 수신하기 위한 장치 및 그 방법
GB201016079D0 (en) * 2010-09-24 2010-11-10 St Microelectronics Res & Dev Apparatus & method
US8706834B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Methods and apparatus for remotely updating executing processes
EP2701065B1 (de) * 2012-08-24 2015-02-25 Siemens Aktiengesellschaft Verfahren zum Betreiben eines redundanten Automatisierungssystems
US9251002B2 (en) 2013-01-15 2016-02-02 Stratus Technologies Bermuda Ltd. System and method for writing checkpointing data
US10185631B2 (en) * 2013-07-04 2019-01-22 Data Deposit Box Inc. System and method of performing continuous backup of a data file on a computing device
US9965363B2 (en) 2013-12-14 2018-05-08 Netapp, Inc. Techniques for LIF placement in SAN storage cluster synchronous disaster recovery
WO2015102873A2 (en) 2013-12-30 2015-07-09 Stratus Technologies Bermuda Ltd. Dynamic checkpointing systems and methods
WO2015102874A2 (en) 2013-12-30 2015-07-09 Stratus Technologies Bermuda Ltd. Method of delaying checkpoints by inspecting network packets
WO2015102875A1 (en) 2013-12-30 2015-07-09 Stratus Technologies Bermuda Ltd. Checkpointing systems and methods of using data forwarding
WO2015157896A1 (zh) * 2014-04-14 2015-10-22 华为技术有限公司 一种云计算架构下的容灾方案配置方法及装置
EP3110106B1 (en) * 2014-04-14 2019-11-06 Huawei Technologies Co., Ltd. Disaster recovery data center configuration method and apparatus in cloud computing architecture
US9558143B2 (en) * 2014-05-09 2017-01-31 Micron Technology, Inc. Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device
US9830237B2 (en) * 2015-09-25 2017-11-28 Netapp, Inc. Resynchronization with compliance data preservation
RU170236U1 (ru) * 2016-09-19 2017-04-18 Федеральное государственное бюджетное образовательное учреждение высшего образования "Томский государственный университет систем управления и радиоэлектроники" (ТУСУР) Резервированная многоканальная вычислительная система
EA201800181A1 (ru) * 2018-03-30 2019-10-31 Система управления сетью pos-терминалов
US11947465B2 (en) 2020-10-13 2024-04-02 International Business Machines Corporation Buffer overflow trapping

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4471429A (en) * 1979-12-14 1984-09-11 Honeywell Information Systems, Inc. Apparatus for cache clearing
US4530052A (en) * 1982-10-14 1985-07-16 Honeywell Information Systems Inc. Apparatus and method for a data processing unit sharing a plurality of operating systems
US4590554A (en) * 1982-11-23 1986-05-20 Parallel Computers Systems, Inc. Backup fault tolerant computer system
US4615001A (en) * 1984-03-29 1986-09-30 At&T Bell Laboratories Queuing arrangement for initiating execution of multistage transactions
US4658351A (en) * 1984-10-09 1987-04-14 Wang Laboratories, Inc. Task control means for a multi-tasking data processing system
US4979108A (en) * 1985-12-20 1990-12-18 Ag Communication Systems Corporation Task synchronization arrangement and method for remote duplex processors
SE454730B (sv) * 1986-09-19 1988-05-24 Asea Ab Forfarande och datorutrustning for stotfri omkoppling av funktionen fran aktiva enheter till beredskapsenheter i en centralenhet
US4959768A (en) * 1989-01-23 1990-09-25 Honeywell Inc. Apparatus for tracking predetermined data for updating a secondary data base
DE69021712T2 (de) * 1990-02-08 1996-04-18 Ibm Wiederanlaufkennzeichnungsmechanismus für fehlertolerierende Systeme.

Also Published As

Publication number Publication date
BR9106875A (pt) 1993-07-20
CA2091993A1 (en) 1992-03-25
DE69125840T2 (de) 1997-10-23
FI101432B1 (fi) 1998-06-15
DE69125840D1 (de) 1997-05-28
FI931276A (fi) 1993-05-21
AU8431091A (en) 1992-04-15
FI101432B (fi) 1998-06-15
KR0137406B1 (ko) 1998-07-01
CA2091993C (en) 1998-12-22
US5157663A (en) 1992-10-20
WO1992005487A1 (en) 1992-04-02
NO931062L (no) 1993-05-24
RU2108621C1 (ru) 1998-04-10
EP0550457A1 (en) 1993-07-14
NO302986B1 (no) 1998-05-11
JPH06504389A (ja) 1994-05-19
NO931062D0 (no) 1993-03-23
EP0550457B1 (en) 1997-04-23
US5455932A (en) 1995-10-03
EP0550457A4 (en) 1995-10-25
FI931276A0 (fi) 1993-03-23
AU660939B2 (en) 1995-07-13
ATE152261T1 (de) 1997-05-15

Similar Documents

Publication Publication Date Title
JP3156083B2 (ja) フォルトトレラント・コンピュータ装置
JP2505928B2 (ja) フォ―ルト・トレラント・システムのためのチェックポイント機構
JP3364572B2 (ja) 多重パスi/o要求機構を有するデータ処理システム及びキュー・ステータス更新方法
US5812748A (en) Method for improving recovery performance from hardware and software errors in a fault-tolerant computer system
US7607037B1 (en) SAR restart and going home procedures
US7657718B1 (en) Storage automated replication processing
Borg et al. A message system supporting fault tolerance
US6145066A (en) Computer system with transparent data migration between storage volumes
US5668943A (en) Virtual shared disks with application transparent recovery
US7392421B1 (en) Framework for managing clustering and replication
US9576040B1 (en) N-site asynchronous replication
US20040083358A1 (en) Reboot manager usable to change firmware in a high availability single processor system
JPH076099A (ja) リモート・データの2重化のためのシステム及び方法
US7752404B2 (en) Toggling between concurrent and cascaded triangular asynchronous replication
JPH0926891A (ja) アプリケーション間のネットワーク接続を維持するための方法およびデータ処理システム
JP3748339B2 (ja) 複数のデータストアの同期をとってデータ整合性を達成する方法
US6715099B1 (en) High-availability architecture using high-speed pipes
JP2000222368A (ja) リモ―ト・メソッド呼び出しシステムにおける複製サポ―トのための方法及びシステム
US11468091B2 (en) Maintaining consistency of asynchronous replication
JP3308210B2 (ja) 分散処理システムとその処理方法
JP2772068B2 (ja) 引き継ぎ情報のデータ保証処理方法
JPH06230995A (ja) 二重化プロセッサ装置
JPH11120017A (ja) 自動採番システム、二重系システム、クラスタシステム
JP3463696B2 (ja) オンラインガーベッジコレクション処理方法
JPH10289122A (ja) ホットスタンバイシステムにおける系間共用ディスクの高速切り替え方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090209

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090209

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100209

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110209

Year of fee payment: 10

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 11

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120209

Year of fee payment: 11