JP4166939B2 - 能動的故障検出 - Google Patents

能動的故障検出 Download PDF

Info

Publication number
JP4166939B2
JP4166939B2 JP2000502457A JP2000502457A JP4166939B2 JP 4166939 B2 JP4166939 B2 JP 4166939B2 JP 2000502457 A JP2000502457 A JP 2000502457A JP 2000502457 A JP2000502457 A JP 2000502457A JP 4166939 B2 JP4166939 B2 JP 4166939B2
Authority
JP
Japan
Prior art keywords
input
output processor
data communication
timing
category
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
JP2000502457A
Other languages
English (en)
Other versions
JP2001509657A (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 JP2001509657A publication Critical patent/JP2001509657A/ja
Application granted granted Critical
Publication of JP4166939B2 publication Critical patent/JP4166939B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components

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)
  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

【0001】
本発明は、フォールトトレラント計算システム内での通信故障といったような故障の検出に関する。
【0002】
フォールトトレラント計算システムにおいては一般に冗長なハードウェア要素が使用される。システムの個々の要素は標準的に、システム内のその他の要素によって生成されるか又はシステムの外部で生成された信号を監視することにより故障を検出しようと試みる。
【0003】
さらに、システムの1つの要素は、要素の適切な作動を表示するいわゆる「ハートビート」信号を周期的に送信することができる。ハートビート信号がシステム内のもう1つの要素により受理されない場合、受信要素は、送信要素が作動状態にないことを疑うことができる。しかしながら、ハートビート信号の受信障害は、2つの要素間の通信経路内の故障の結果もたらされる可能性もある。一般に、故障の取扱いは、要素間の通信内の故障とシステムの1要素内の故障を区別しなくてはならない。
【0004】
外部ネットワークとの信頼性が高く中断の無い通信を提供するために、冗長なネットワークインタフェースコントローラ(NIC)が、フォールトトレラント計算システム内で使用される。一般的に、1つのNICは、それがネットワーク上のその他のデバイスとの通信を担当している一次的つまり活動状態モードで作動するのに対し、その他のNICは待機モードで作動する。
【0005】
作動中、NICは、1つのNICから外部ネットワークを通りそしてもう1つのNICに戻る1本の経路内の故障を検出するためにハートビートメッセージを交換することができる。NIC間の経路内の故障は、NICの入出力段、NICと外部ネットワーク間の送信又は受信接続又は外部ネットワーク自体の中を含む数ヵ所で発生しうる。外部ネットワークへの接続点は一般に、ネットワークハブのポートにあり、このハブは多くのネットワークデバイスに接続された状態にある。各々のNICは、単一のハブが故障臨界点になるのを避けるため外部ネットワーク内の異なるハブに接続されていてよい。
要約
本発明は、データ通信システムに接続された2つの入出力プロセッサを内含するフォールトトレラントコンピュータシステム内の故障検出を提供する。該コンピュータシステムは、一次入出力プロセッサと、ならびに待機入出力プロセッサと結びつけられる故障を検出する能力をもつ。このシステムは同様に、入出力プロセッサの故障とデータ通信ネットワーク自体の中の通信障害を弁別することもできる。システムは、故障を検出するため「ハートビート様の」伝送以外のデータ通信カテゴリを分析する。システムは、プロセッサが同一のデータトラヒックを監視できるようにする共通のネットワークセグメント上に入出力プロセッサがあるときに故障を検出することができる。システムは同様に、スイッチ又は活動状態のハブといったネットワーク要素のろ過挙動の結果としてプロセッサが同一のデータトラヒックを監視できないかもしれない異なるセグメント上にプロセッサがあるときに故障を検出することもできる。
【0006】
各々の入出力プロセッサにより処理されたデータ通信のカテゴリに対し1つのタイミング基準を適用することができ、故障を検出するために、各プロセッサについて得られた結果の間の関係を使用することができる。例えば、データ通信のタイミング間の差が1定のしきい値を上回った時点で、故障を表示することができる。このタイミング基準は、1つの通信カテゴリの最後の送信又は受信時間でありうる。データ通信カテゴリは例えば、データ通信システムに結合されたもう1つのコンピュータシステムからといったように、フォールトトレラントシステムの外部に発信元を有するメッセージであり得る。これらのメッセージは、フォールトトレラントシステムが一構成要素を成している一群のシステムに対してアドレス指定されうる。このカテゴリは同様に、他のプロセッサにアドレス指定されたメッセージを含めた、入出力プロセッサの1つを発信元とするメッセージ、又はシステムのいくつかのその他の要素を発信元とするメッセージを内含していてもよい。
【0007】
1つの形態においては、一般に、本発明は、データ通信システムに結合された第1の入出力プロセッサ及び第2の入出力プロセッサを内含するフォールトトレラントコンピュータシステム内の故障を検出することを特長としている。第1及び第2のタイミング結果を生成するべく第1及び第2の入出力プロセッサにより処理されたデータ通信カテゴリにタイミング基準が適用される。タイミング結果間の関係が決定され、故障が発生したか否かが、この決定された関係に基づいて検出される。
【0008】
本発明の実施形態は、以下の特長のうち単数又は複数のものを内含し得る。例えば、故障が発生したか否かを検出する段階には、タイミング結果間の差がしきい値を上回った時点で故障が発生したことを決定する段階が含まれていてよい。
【0009】
タイミング基準は、最後の送信又は受信の時間でありうる。データ通信カテゴリは、第2の入出力プロセッサが通常応答性をもつアドレスに対して導かれたメッセージといったような第1の入出力プロセッサを発信元とするメッセージ、又は第1の入出力プロセッサから送られかつデータ通信システムを通って第2の入出力プロセッサに導かれたメッセージを内含することができる。データ通信カテゴリは同様に、データ通信システムに結合された第2のコンピュータを発信元とするメッセージといったコンピュータシステムの外部を発信元とするメッセージ又は、コンピュータシステムが一構成要素を成す一群のシステムにアドレス指定されたメッセージを内含することもできる。データ通信カテゴリは同様に、入出力プロセッサとデータ通信状態にあるコンピュータシステムの第3の要素を発信元とするメッセージを含むこともできる。
【0010】
タイミング基準は、第1の入出力プロセッサにおいて第1の入出力プロセッサにより処理されたデータ通信カテゴリに対して適用され得、第1のタイミング結果は第1の入出力プロセッサから第2の入出力プロセッサまで送られ得る。第2の入出力プロセッサにおいて第2の入出力プロセッサにより処理されたデータ通信カテゴリに対し、タイミング基準を適用し、第2の入出力プロセッサにおいてタイミング結果間の関係を決定することができる。又、入出力プロセッサ間の専用通信チャネル上で第1のタイミング結果を送ることができる。
【0011】
第1及び第2の複数のタイミング結果を生成するため、入出力プロセッサにより処理された対応する複数のデータ通信カテゴリに対し、複数のタイミング基準を適用することが可能である。第1の複数のタイミング結果及び第2の複数のタイミング結果のうちの対応するタイミング結果の間の関係を決定することができる。
【0012】
本発明によって提供される1つの利点は、フォールトトレラントシステムからデータネットワークまでの通信経路の中の故障を識別でき、とくに、入出力プロセッサを結合するデータ経路内の故障をプロセッサ内の故障と全く異なるものとして検出することができる。
【0013】
本発明のその他の特長及び利点は、図面を含む以下の記述及びクレームから明らかになることだろう。
記述
図1を参照すると、フォールトトレラントシステム10は、2重冗長計算要素(CE)12及び14,2重冗長入出力プロセッサ(IOPs)24及び26,及び通信相互接続デバイス36及び38を内含している。CE12及び14は、並行動作シーケンスを実施する。各CEは、両方のIOP24及び26と通信する。CE12は、通信リンク50及び54上で通信し、一方CE14は通信リンク52及び56上で通信する。通信リンクは、通信相互接続デバイス36及び38を通してルーティングされる。
【0014】
各CEは、中央処理ユニット(CPU)16又は18及びインタフェースコントローラ(IC)20又は22を内含する。ICは、CPUと通信リンクの間のインタフェースを提供する。例えば、CPU16によるI/O要求は、IC20により通信リンク50及び54を通して伝送される。IOPは、その相互接続された通信構造により、正規の動作において各CEから同一の指令シーケンスを受信するものと予測している。
【0015】
各IOPは、CPU28又は30及びネットワークインタフェースコントローラ(NIC)32又は34を内含している。ネットワークプロバイダ29及び31は、CPU28及び30上で実行するソフトウェアドライバである。NIC32及び34は、ネットワークプロバイダがネットワーク接続62及び64を通してローカルエリアネットワーク(LAN)40上で通信できるようにしている。CPU28及び30を接合する専用通信経路60により、ネットワークプロバイダ29及び31は、LAN40を使用することなくメッセージを変換することが可能となる。
【0016】
1つのネットワークプロバイダは、一次状態で動作し、一方もう1つのネットワークプロバイダは待機状態で動作する。一次状態で動作するネットワークプロバイダのみが、CE12及び14を発信元とするデータをLAN上のその他のデバイスにデータを伝送する。
【0017】
ネットワーク接続62及び64はNIC32及び34に接続し、LAN40の通信ハブ42及び44のポートで終結する。ハブ42及び44はLAN40のブリッジ66を通して接続されている。ハブ42及び44は、いかなる通信もろ過しないが、一方ブリッジ66は、ブリッジ上で特定のポートを通してアクセスされるデバイスに向けられていない通信をろ過する。従って、ハブ42及び44は、LAN40の異なるセグメント上にある。LAN40に接続されたデバイス46といったその他のデバイスは、フォールトトレラントシステム10と通信することができる。
【0018】
NIC32及び34の各々は、両方のNICについて同じであるように構成されているプログラミング可能な「論理」アドレス及び固定された一意的「物理」アドレスを有する。論理アドレスは、フォールトトレラントシステム10とLAN40上のデバイス例えばデバイス46又はLAN40からアクセス可能なデバイスの間での通信のために使用される。各々のNICは同様に、同報通信、マルチキャスト又は機能アドレスに送られるメッセージといったグループアドレス指定メッセージを受信するようにプログラミングされる。NICにより送られたグループアドレス指定メッセージは、メッセージのソースとしてそのNICの一意的物理アドレスを特定する。かくして、グループアドレス指定メッセージの受信者は、どのNICがメッセージを送ったかを決定することができる。
【0019】
ネットワーク接続62及び64は、LAN40の共通セグメント上又は異なるセグメント上で終結しうる。一般に、接続62及び64が共通のセグメントで終結する場合、両方のNIC共、そのセグメント上の全てのデータトラヒックを監視することができる。従って、1つのNICにより伝送されたデータは、たとえそのデータがそのNICにアドレス指定されていなくても、もう一方のNICにより受信され得る。これと対照的に、図1に示されているように、ネットワーク接続62及び64は、ハブ42及び44において異なるセグメント上で終結し得る。これらのハブは、それらがLAN40の異なるセグメント上にくるようにブリッジ66により接続されている。ブリッジ66は、1つのセグメントの通信容量の不必要な利用を避けるためそのセグメントに伝送されたデータをろ過するように構成されている。ブリッジ66に接続された特定のセグメント上にあるか又はそのセグメントを通して通信するデバイスのアドレステーブルが、そのセグメントから到着するデータを監視することによって、該ブリッジによって維持される。1つのセグメントについてのテーブル内にない特定のデバイスに対しアドレス指定されたメッセージ(すなわちグループアドレス指定メッセージではなく入出力指定メッセージ)は、ブリッジ66によりそのセグメントに再度伝送される。一方、グループアドレス指定メッセージは、ろ過無しでLANの全てのセグメント上で再伝送される。
【0020】
動作中、フォールトトレラントシステム10は、ネットワーク接続62及び64がLAN40の共通セグメントに接続されるか否か、従って両方のNICが同一のネットワークトラヒックを見ると予測すべきであるか否かを決定する。NICが異なるセグメント上にあることをシステムが決定した場合には、システムはNICが同一のグループアドレス指定トラヒックのみを見ると予測すべきであることを決定する。
【0021】
動作中、一次ネットワークプロバイダも待機ネットワークプロバイダも共に、故障が発生したか否かを決定するためデータ通信を監視する。故障が1つのIOPのネットワーク接続を非機能的にした場合、適切な行動がとられる。活動状態のネットワークプロバイダがネットワーク連結性を失ない、待機ネットワークプロバイダがオンラインである場合、待機ネットワークプロバイダを新しい一次ネットワークプロバイダにするべく切換えが行なわれることになる。待機ネットワークプロバイダがネットワーク連結性を失なった場合、待機ネットワークプロバイダは、連結性が再度樹立されるまでオフライン状態に入ることになる。
【0022】
ネットワークプロバイダは、データ通信カテゴリを監視し、各カテゴリ内の最後の通信が発生してからの時間を維持することにより故障を検出する。ネットワークプロバイダは、通信故障が発生したと疑っている場合、通信経路60上でもう一方のネットワークプロバイダと状態メッセージを交換する。状態メッセージは、最後の通信の時間を内含する。各々のネットワークプロバイダは、受信した状態メッセージ内の時間と受信ネットワークプロバイダにより維持された時間を比較して、システム内に場合によって存在する故障を識別する。比較を行なう上で、ネットワークプロバイダは、時間が合致すべき許容誤差範囲を考慮する。この許容誤差は、転送時間の自然の可変性及び状態メッセージをアセンブルし伝送するのに必要な時間を説明する。
【0023】
ネットワーク接続62及び64の状態ならびにLAN40の状態を感知するため、ネットワークプロバイダ29及び31は、NIC32及び34を通して、両方のNICにより監視されたグループアドレスにアドレス指定されたノイズパケットとして知られるグループアドレス指定メッセージを伝送する。グループアドレス指定メッセージのソースアドレスは、受信NICがそのソースを決定できるように、送信NICの一意的物理アドレスにセットされる。ネットワーク接続が共通セグメント上にあるとき、メッセージは直接NICにより受信される。ソース及び受信NICが別々のセグメント上にあるとき、グループアドレス指定パケットは、LAN40の正規の動作において1つのセグメントからもう1つのセグメントへと再度伝送される。
【0024】
フォールトトレラントシステム10が初期化された時点で、ネットワークプロバイダ29及び31は、3つの開始状態のシーケンスを通って進む。接合状態として識別される第1の状態では、両方のIOPはすでにLAN40との通信を樹立し、プロセッサ28及び30の間の通信経路60上で通信を樹立している。次に、同期化状態では、CPU16及び18上で実行する通信入出力先変更ソフトウェアがネットワークプロバイダ29及び31と同期化される。最後に、完全に初期化された状態では、CPU16及び18上で実行された入出力要求を、LAN40との通信のため首尾よくネットワークプロバイダ29及び31に送ることができる。
【0025】
図2を参照すると、両方のネットワークプロバイダ共、完全に初期化された時点でオンライン/待機状態70に入る。1つのネットワークプロバイダはその後、オンライン/待機状態からオンライン/一次状態72にされる。オンライン状態70,72の1つで動作するネットワークプロバイダが、自らネットワーク連結性を失なったかもしれないと疑っている場合にはつねに、このネットワークプロバイダは、周期的にネットワーク状態要求をもう1つのネットワークプロバイダに対し送る。ネットワーク連結の喪失が確認されたならば、そのネットワークプロバイダはオフライン状態74へと移る。オンライン/一次状態72で動作するネットワークプロバイダがネットワーク連結性の喪失を検出しオフライン状態74に移行した場合、オンライン/待機状態70で動作しているネットワークプロバイダはオンライン/一次状態72へと移行する。ここで、オンライン/一次状態72からオフライン状態74への自動的遷移は、もう1つのネットワークプロバイダがオンライン/待機状態70にあるときにのみ許容されるということに留意されたい。オフライン状態74にある間、ネットワークプロバイダはリンク60上でもう1方のネットワークプロバイダに対しネットワーク状態要求を周期的に送る。ネットワーク連結性が再度樹立されたならば、ネットワークプロバイダはオンライン/待機状態70に戻る。
【0026】
自動遷移に加えて、オペレータが制御するオンライン及びオフライン状態70,72及び74から使用禁止状態への変更も発生しうる。状態76にあるネットワークプロバイダが手動式で再度使用可能にされた時点で、ネットワークプロバイダはオンライン/待機状態70に入り、次に、ネットワーク連結性が確認されない場合、オフライン状態74まで直ちに遷移する。最後に、その他の検出機構が、ネットワークプロバイダの故障を決定することもでき、その結果ネットワークプロバイダは障害状態78に入ることになる。
【0027】
図3を参照すると、ネットワークプロバイダがオンライン又はオフライン状態70,72又は74にあるとき、そのネットワークプロバイダは、ネットワーク状態要求が通信経路60上でもう1方のネットワークプロバイダに送られるべきかを反復的に検査する。特にネットワークプロバイダは、NetworkStatusInterval と呼ばれる間隔が満了した時点でネットワーク状態要求を送るべきか否かを決定する。NetworkStatusInterval の省略時の値は1000ミリセカンドである。その間隔が満了した時点で、ネットワークプロバイダは、3つの条件のうちの1つが満たされたか否かを決定する。ReceivePacketInterval と呼ばれる間隔内でいかなる非ノイズパケットも受信されなかった場合、第1の条件は真である(ステップ80)。ReceicvePacketIntervalの省略時の値は、システム10により受信されたパケット間の標準的最大間隔に対応する4000ミリセカンドである。第2の条件は、先行する ReceivePacketInterval 内でもう1つのネットワークプロバイダからいかなるノイズパケットも受信されなかった場合に真である(ステップ82)。第3の条件は、ネットワークプロバイダがオフライン状態74にあるときいつでも真である(ステップ84)。これらの条件のいずれかが満たされた場合、ネットワーク状態要求がもう1つのネットワークプロバイダに送られる(ステップ86)。要求は、先行する要求に対する応答が受信されたか否かを考慮することなく伝送される。
【0028】
ネットワーク状態要求を受信した時点で、ネットワークプロバイダが標準的に、以下の通信統計を含む応答メッセージを構築する。
Figure 0004166939
【0029】
両方のネットワークプロバイダが同時に故障を検出しオンライン/一次状態72にいかなるネットワークプロバイダも残らないことがないようにするため、オンライン/一次状態72にあるネットワークプロバイダは、オンライン/一次状態にないネットワークプロバイダとは異なる形でネットワーク状態要求に応答する。オンライン/一次状態72にあるローカルネットワークプロバイダがネットワーク状態要求を送り、それ自体の要求に対する応答を受信する前にリモートネットワークプロバイダからのネットワーク状態要求を受信した場合、ローカルネットワークプロバイダは、応答を待つのではなくむしろその要求を満たすため受信要求の中の情報を使用する。ローカルネットワークプロバイダはこの受信要求に対し応答しない。オンライン/一次状態72にないローカルネットワークプロバイダがネットワーク状態要求を送り、それ自体の要求に対する応答を受信する前にリモートネットワークプロバイダからのネットワーク状態要求を受信した場合、ローカルネットワークプロバイダは、その要求に応答し、その保留要求を満たすために受信要求内の情報を使用しない。
【0030】
図4を参照すると、ネットワーク状態応答の受信時点(ステップ87)で、ローカルネットワークプロバイダは、ローカル又はリポートネットワークプロバイダがまだ完全初期化状態にないか否か(ステップ88),リモートネットワークプロバイダが障害状態78又は使用不能状態76にあるか否か(ステップ90),又はローカルネットワークプロバイダが障害状態78又は使用不能状態76にある(すなわち、オンライン又はオフライン状態70,72又は74にない)か否か(ステップ92)を決定する。これらの条件のいずれも真でない場合、ローカルネットワークプロバイダは、IOPがネットワーク連結性を喪失したか否かを決定するべく、手順94を実行する。いずれかの条件が真である場合、応答は放棄され(ステップ96),応答のいかなる処理も実施されない。
【0031】
図5を参照すると、手順94の最初のステップは、両方のIOPが共通のトラヒックを受信しているか否かを決定することである(ステップ100)。共通トラヒックの定義は、両方のIOPがLAN40の単一のセグメント上にあるか又は異なるSEG上にあることをローカルネットワークプロバイダが決定するか否かにより左右される。当初、両方のネットワークプロバイダは、IOPが異なるSEG上にあることを仮定している。この場合、共通トラヒックは、IOPにより受信された、ノイズパケット以外のグループアドレス指定パケットに対応する。両方のIOPは、ネットワーク状態応答内の TimeLastMulticastReceived の値及びローカルネットワークプロバイダにおいて計算された値が ReceiveTolerance と呼ばれる許容誤差の範囲内にある場合、共通トラヒックを見る。ReceiveTolerance の省略時値は1000ミリセカンドである。ネットワークプロバイダが、自らが同じセグメント上にあることを決定した場合、共通トラヒックは同様に、システム10の論理アドレスに導かれたパケットをも内含する。従って、 TimeLastMulticastReceived を比較することに加えて、TimeLastPacketReceived が比較され、両方のIOPは、時間が ReceiveTolerance の範囲内にある場合、共通トラヒックを見る。
【0032】
両方のIOPが共通トラヒックを見る場合、手順は、ローカルIOPが共通トラヒックを受信しているか否かを決定する(ステップ106)ローカルネットワークプロバイダは、そのローカルIOPについての Time Last Multicast Received 又は Time Last Packet Received の値が少なくとも Receive Tolerance による受信値よりも大きい場合(すなわち最後のグループアドレス指定メッセージが、リモートIOPよりも少なくとも Receive Tolerance だけ早く局所的に受信された場合)ローカルIOPが共通トラヒックを見ないということを決定する。ローカルIOPが共通トラヒックを見ない場合には、ネットワークプロバイダは、LAN40からIOPまでの受信経路内に故障が存在することを決定する。従ってネットワークプロバイダは、オフライン状態74への遷移を行なう(又はその状態にとどまる)(ステップ108)。
【0033】
両方のIOPが共通トラヒックを受信した場合(ステップ100),ネットワークプロバイダは、いずれのIOPも、もう1方のIOPのノイズパケットを受信していないか否かを決定する(ステップ102)。これは、各ネットワークプロバイダの TimeLastNoiseReceived が TimeLastNoiseTransmitted の局所的値よりも少なくとも ReceiveTolerance だけ大きく TimeLastNoiseReceived の局所的値が TimeLastNoiseTransmitted の受信値よりも少なくとも ReceiveTolerance だけ大きい場合に起こる。いずれのIOPももう1方のIOPのノイズパケットを受信していない場合(ステップ102),ローカルプロバイダは、それが送信障害を報告しているか否か検査する(ステップ109)。していない場合、状態値を説明するのに接続62及び64上の同時故障が必要となることから、ネットワークプロバイダはLAN40内に障害があるにちがいないことを仮定する。これらの故障モードの両方が同時に発生することは、確率が低いものと仮定される。ネットワークプロバイダは、送信故障を報告している場合(ステップ109),オフライン状態へと進む(ステップ108)。
【0034】
少なくとも1つのIOPがもう1つのIOPのノイズパケットを受信している場合、ネットワークプロバイダは、局所的に伝送されたノイズパケットがもう1つのIOPにより受信されるか否かを決定する(ステップ104)。これは、TimeLastNoiseReceived の受信値が TimeLastNoiseTransmitted の局所的値を少なくとも ReceiveTolerance だけ上回っていない場合に起こる。局所的に伝送されたノイズパケットがもう1つのIOPにより受信された場合、その局所的IOPについて障害は存在しない。一方、局所的に伝送されたノイズパケットがもう1つのIOPにより受信されなかった場合、ネットワークプロバイダは、ローカルIOPからLAN40への送信経路内に障害が存在すると仮定し、ローカルネットワークプロバイダはオフライン状態74への遷移を行なう(ステップ108)。
【0035】
全ての試験において、受信された時間が TimeNetworkMonitored よりも大きい場合、その時間は無効とみなれる。このメカニズムは、不正確な統計の使用を防ぐのに用いられる。状態変更に対するさらなる制約条件は、オフライン状態74内のネットワークプロバイダがオンライン状態への遷移を行なう前にその状態にある間に少なくとも1つのパケットを受信しなくてはならないということにある。この制約条件により、いずれのIOPにとっても可視的であるネットワークトラヒックが全く存在しないときに状態遷移が阻止される。
【0036】
その他の実施形態も冒頭のクレームの範囲内に入る。例えば、上述したシステムは2重冗長IOPを使用する。さまざまな通信カテゴリの相対的時間を比較する類似の方法と共に、3つ以上のIOPを使用することが可能である。3つ以上のIOPが使用される場合、多数のIOPからの応答を一緒に使用して通信障害を検出することができる。さらに、上述のもの以外のシステム事象カテゴリの相対的時間を、障害検出のために使用することもできる。さらに、通信事象の相対的タイミングを使用するアプローチを用いて、フォールトトレラントシステム自体の中の内部通信障害を検出することもできる。最後に、そのノイズパケットの適切な転送が使用可能にされた場合、異なるLANにIOPをとりつけることも可能である。
【図面の簡単な説明】
【図1】 冗長計算要素及び入出力プロセッサを伴うフォールトトレラント計算システムのブロック図である。
【図2】 入出力プロセッサについての状態図である。
【図3】 入出力プロセッサにより実施される動作の流れ図である。
【図4】 入出力プロセッサにより実施される動作の流れ図である。
【図5】 入出力プロセッサにより実施される動作の流れ図である。
【符号の説明】
10 フォールトトレラントシステム
12,14 2重冗長計算要素
16,18,28,30 中央処理ユニット
20,22 インタフェースコントローラ
24,26 2重冗長入出力プロセッサ
29,31 ネットワークプロバイダ
32,34 ネットワークインタフェースコントローラ
36,38 通信相互接続デバイス
40 ローカルエリアネットワーク
42,44 通信ハブ
50,52,54,56 通信リンク
62,64 ネットワーク接続
60 専用通信経路
66 ブリッジ

Claims (24)

  1. データ通信システムに結合された第1の入出力プロセッサ及び第2の入出力プロセッサを内含するフォールトトレラントコンピュータシステム内の故障を検出するための方法において、
    − 第1のタイミング結果を生成するべく第1の入出力プロセッサにより処理されたデータ通信カテゴリに対してタイミング基準を適用する段階;
    − 第2のタイミング結果を生成するべく第2の入出力プロセッサによって処理されたデータ通信カテゴリに対してタイミング基準を適用する段階;
    − 第1のタイミング結果と第2のタイミング結果の間の関係を決定する段階;及び
    − 決定された関係に基づいて故障が発生したか否かを検出する段階;
    を含んで成る方法。
  2. 故障が発生したか否かを検出する段階には、タイミング結果の間の差がしきい値を上回った時点で故障が発生したと決定する段階が含まれている、請求項1に記載の方法。
  3. タイミング基準が最後の送信又は受信の時間である、請求項1に記載の方法。
  4. データ通信カテゴリには、第1の入出力プロセッサを発信元とするメッセージが含まれる、請求項1に記載の方法。
  5. データ通信カテゴリには、第1の入出力プロセッサを発信元としかつ第2の入出力プロセッサが通常応答性をもつアドレスに対し導かれたメッセージが含まれる、請求項4に記載の方法。
  6. データ通信カテゴリには、第1の入出力プロセッサから送られかつデータ通信システムを通して第2の入出力プロセッサに導かれるメッセージが含まれる、請求項4に記載の方法。
  7. データ通信カテゴリには、コンピュータシステムの外部を発信元とするメッセージが含まれる、請求項1に記載の方法。
  8. メッセージが、データ通信システムに結合された第2のコンピュータを発信元としている、請求項7に記載の方法。
  9. データ通信カテゴリには、コンピュータシステムの外部を発信元としかつそのコンピュータシステムが一構成要素を成している1群のシステムにアドレス指定されたメッセージが含まれる、請求項7に記載の方法。
  10. データ通信カテゴリには、入出力プロセッサとデータ通信状態にあるコンピュータシステムの第3の要素を発信元とするメッセージが含まれている、請求項1に記載の方法。
  11. − 第1の入出力プロセッサから第2の入出力プロセッサに第1のタイミング結果を送信する段階をさらに含んで成り;
    − 第1の入出力プロセッサにより処理されたデータ通信カテゴリに対しタイミング基準を適用する段階には、第1の入出力プロセッサにおいて第1の入出力プロセッサにより処理されたデータ通信カテゴリに対してタイミング基準を適用する段階が内含されており;
    − 第2の入出力プロセッサにより処理されたデータ通信のカテゴリに対してタイミング基準を適用する段階には、第2の入出力プロセッサにおいて第2の入出力プロセッサにより処理されたデータ通信カテゴリに対しタイミング基準を適用する段階が含まれ;
    − タイミング結果の関係を決定する段階には、第2の入出力プロセッサにおけるタイミング結果の間の差を決定する段階が含まれている、請求項1に記載の方法。
  12. 第1のタイミング結果が第1の入出力プロセッサと第2の入出力プロセッサの間の専用通信チャネル上で送られる、請求項11に記載の方法。
  13. − 第1の入出力プロセッサにより処理されたデータ通信カテゴリに対しタイミング基準を適用する段階には、第1の複数のタイミング結果を生成するべく第1の入出力プロセッサにより処理された対応する複数のデータ通信カテゴリに対し複数のタイミング基準を適用する段階がさらに含まれ;
    − 第2の入出力プロセッサにより処理されたデータ通信カテゴリに対しタイミング基準を適用する段階には、第2の複数のタイミング結果を生成するべく第2の入出力プロセッサにより処理された対応する複数のデータ通信カテゴリに対して複数のタイミング基準を適用する段階がさらに含まれ;
    − タイミング結果間の関係を決定する段階には、第1の複数のタイミング結果及び第2の複数のタイミング結果のうちの対応するタイミング結果の間の関係を決定する段階がさらに含まれる、請求項1に記載の方法。
  14. データ通信システムに結合されたフォールトトレラントコンピュータシステムであって、前記フォールトトレラントコンピュータシステムが、
    − データ通信カテゴリを処理しそのデータ通信カテゴリに対しタイミング基準を適用して第1のタイミング結果を生成するように構成された第1の入出力プロセッサ;及び
    − データ通信カテゴリを処理しそのデータ通信カテゴリに対しタイミング基準を適用して第2のタイミング結果を生成するように構成された第2の入出力プロセッサ;
    を含んで成り、前記第1及び第2のタイミング結果間の関係を決定しその関係に基づいて故障が発生したか否かを決定するように構成されているコンピュータシステム。
  15. タイミング基準が最後の送信又は受信の時間である、請求項14に記載のシステム。
  16. データ通信カテゴリには、第1の入出力プロセッサを発信元とするメッセージが含まれる、請求項14に記載のシステム。
  17. データ通信カテゴリには、第1の入出力プロセッサから送られデータ通信システムを通して第2の入出力プロセッサに対し導かれたメッセージが含まれる、請求項16に記載のシステム。
  18. データ通信カテゴリには、第1の入出力プロセッサを発信元としかつ第2の入出力プロセッサが通常応答性をもつアドレスに対し導かれたメッセージが含まれる、請求項16に記載のシステム。
  19. データ通信カテゴリには、フォールトトレラントシステムの外部を発信元とするメッセージが含まれる、請求項14に記載のシステム。
  20. メッセージがデータ通信システムに結合された第2のコンピュータを発信元としている、請求項19に記載のシステム。
  21. データ通信カテゴリには、フォールトトレラントシステムの外部を発信元としかつそのフォールトトレラントシステムが一構成要素を成している1群のシステムにアドレス指定されたメッセージが含まれる、請求項19に記載のシステム。
  22. 入出力プロセッサとデータ通信状態にあるコンピュータシステムの第3の要素をさらに含んで成り、データ通信カテゴリには、該第3の要素を発信元とするメッセージが含まれる、請求項14に記載のシステム。
  23. 第1の入出力プロセッサ及び第2の入出力プロセッサを結合する専用通信チャネルをさらに含んで成り、該通信チャネルは第1の入出力プロセッサから第2の入出力プロセッサに対し第1のタイミング結果を送るように構成されており、
    − 第2の入出力プロセッサは、タイミング結果間の差を決定し、この差がしきい値を超えた時点で故障が発生したか否かを検出するように構成されている、請求項14に記載のシステム。
  24. − 第1の入出力プロセッサはさらに、第1の複数のタイミング結果を生成するべく第1の入出力プロセッサにより処理された対応する複数のデータ通信カテゴリに対し複数のタイミング基準を適用するように構成されており;
    − 第2の入出力プロセッサは、さらに第2の複数のタイミング結果を生成するべく第2の入出力プロセッサにより処理された対応する複数のデータ通信カテゴリに対して複数のタイミング基準を適用するように構成されており;
    − コンピュータシステムは、さらに、第1及び第2の複数のタイミング結果のうちの対応するタイミング結果の間の関係を決定し、決定された関係に基づき故障が発生したか否かを決定するように構成されている、請求項14に記載のシステム。
JP2000502457A 1997-07-11 1998-07-13 能動的故障検出 Expired - Lifetime JP4166939B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/891,539 1997-07-11
US08/891,539 US5983371A (en) 1997-07-11 1997-07-11 Active failure detection
PCT/US1998/014451 WO1999003038A1 (en) 1997-07-11 1998-07-13 Active failure detection

Publications (2)

Publication Number Publication Date
JP2001509657A JP2001509657A (ja) 2001-07-24
JP4166939B2 true JP4166939B2 (ja) 2008-10-15

Family

ID=25398370

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000502457A Expired - Lifetime JP4166939B2 (ja) 1997-07-11 1998-07-13 能動的故障検出

Country Status (8)

Country Link
US (1) US5983371A (ja)
EP (1) EP0993633B1 (ja)
JP (1) JP4166939B2 (ja)
AT (1) ATE208921T1 (ja)
AU (1) AU737333B2 (ja)
CA (1) CA2295853A1 (ja)
DE (1) DE69802535T2 (ja)
WO (1) WO1999003038A1 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6105151A (en) * 1997-05-13 2000-08-15 3Com Corporation System for detecting network errors
US6134678A (en) * 1997-05-13 2000-10-17 3Com Corporation Method of detecting network errors
US6289022B1 (en) * 1997-10-21 2001-09-11 The Foxboro Company Methods and systems for fault-tolerant data transmission
JPH11203157A (ja) * 1998-01-13 1999-07-30 Fujitsu Ltd 冗長装置
US6381656B1 (en) * 1999-03-10 2002-04-30 Applied Microsystems Corporation Method and apparatus for monitoring input/output (“I/O”) performance in I/O processors
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
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
US7260741B2 (en) * 2001-09-18 2007-08-21 Cedar Point Communications, Inc. Method and system to detect software faults
JP2003288279A (ja) 2002-03-28 2003-10-10 Hitachi Ltd 記憶装置間の障害検出方法、及びこれに用いられる記憶装置
US7096383B2 (en) 2002-08-29 2006-08-22 Cosine Communications, Inc. System and method for virtual router failover in a network routing system
US7228545B2 (en) * 2003-01-23 2007-06-05 Hewlett-Packard Development Company, L.P. Methods and apparatus for managing the execution of a task among a plurality of autonomous processes
US7562229B2 (en) * 2003-01-23 2009-07-14 Hewlett-Packard Development Company, L.P. Codeword-based auditing of computer systems and methods therefor
WO2004086225A1 (ja) * 2003-03-24 2004-10-07 Fujitsu Limited 仮想計算機システム
US20050066218A1 (en) * 2003-09-24 2005-03-24 Stachura Thomas L. Method and apparatus for alert failover
US7320127B2 (en) * 2003-11-25 2008-01-15 Cisco Technology, Inc. Configuration synchronization for redundant processors executing different versions of software
GB0402572D0 (en) * 2004-02-05 2004-03-10 Nokia Corp A method of organising servers
JP4128974B2 (ja) 2004-03-31 2008-07-30 富士通株式会社 レイヤ2ループ検知システム
CN100440799C (zh) * 2005-09-06 2008-12-03 华为技术有限公司 一种接入设备中主备板备份及倒换的方法
JP4619940B2 (ja) * 2005-12-21 2011-01-26 富士通株式会社 ネットワーク障害箇所検出装置及びネットワーク障害箇所検出方法
US7975166B2 (en) * 2008-03-05 2011-07-05 Alcatel Lucent System, method and computer readable medium for providing redundancy in a media delivery system
US8903893B2 (en) * 2011-11-15 2014-12-02 International Business Machines Corporation Diagnostic heartbeating in a distributed data processing environment
US10063567B2 (en) 2014-11-13 2018-08-28 Virtual Software Systems, Inc. System for cross-host, multi-thread session alignment
WO2019108767A1 (en) * 2017-11-29 2019-06-06 Corning Incorporated Filtered cell culture caps and cell culture methods

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US31407A (en) * 1861-02-12 Improvement in plows
US3818458A (en) * 1972-11-08 1974-06-18 Comress Method and apparatus for monitoring a general purpose digital computer
USRE31407E (en) 1978-05-10 1983-10-04 Tesdata Systems Corporation Computer monitoring system
US4360912A (en) * 1979-11-23 1982-11-23 Sperry Corporation Distributed status reporting system
US4451916A (en) * 1980-05-12 1984-05-29 Harris Corporation Repeatered, multi-channel fiber optic communication network having fault isolation system
US4477873A (en) * 1982-04-29 1984-10-16 International Telephone & Telegraph Corporation Channel monitor for connection to channel lines
US4491968A (en) * 1983-04-07 1985-01-01 Comsonics, Inc. Status monitor
JPS59212930A (ja) * 1983-05-18 1984-12-01 Hitachi Ltd 端末主導型電源投入制御方法および制御装置
US4611289A (en) * 1983-09-29 1986-09-09 Coppola Anthony F Computer power management system
US4610013A (en) * 1983-11-08 1986-09-02 Avco Corporation Remote multiplexer terminal with redundant central processor units
US4589066A (en) * 1984-05-31 1986-05-13 General Electric Company Fault tolerant, frame synchronization for multiple processor systems
US4967344A (en) * 1985-03-26 1990-10-30 Codex Corporation Interconnection network for multiple processors
US4710926A (en) * 1985-12-27 1987-12-01 American Telephone And Telegraph Company, At&T Bell Laboratories Fault recovery in a distributed processing system
US4780844A (en) * 1986-07-18 1988-10-25 Commodore-Amiga, Inc. Data input circuit with digital phase locked loop
US4847837A (en) * 1986-11-07 1989-07-11 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Local area network with fault-checking, priorities and redundant backup
EP0306211A3 (en) * 1987-09-04 1990-09-26 Digital Equipment Corporation Synchronized twin computer system
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
US5193179A (en) * 1988-08-09 1993-03-09 Harris Corporation Activity monitor system non-obtrusive statistical monitoring of operations on a shared bus of a multiprocessor system
US5109486A (en) * 1989-01-06 1992-04-28 Motorola, Inc. Distributed computer system with network and resource status monitoring
JPH02294753A (ja) * 1989-05-09 1990-12-05 Fujitsu Ltd 入出力処理装置の初期化方式
US4951171A (en) * 1989-05-11 1990-08-21 Compaq Computer Inc. Power supply monitoring circuitry for computer system
US5086499A (en) * 1989-05-23 1992-02-04 Aeg Westinghouse Transportation Systems, Inc. Computer network for real time control with automatic fault identification and by-pass
US5068780A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
US5226120A (en) * 1990-05-21 1993-07-06 Synoptics Communications, Inc. Apparatus and method of monitoring the status of a local area network
US5157663A (en) * 1990-09-24 1992-10-20 Novell, Inc. Fault tolerant computer system
US5404542A (en) * 1990-10-19 1995-04-04 Everex Systems, Inc. Power line switching circuit with monitor
US5214782A (en) * 1990-12-10 1993-05-25 Generic Computer Services Power supply monitor for personal computer
US5542047A (en) * 1991-04-23 1996-07-30 Texas Instruments Incorporated Distributed network monitoring system for monitoring node and link status
CA2071804A1 (en) * 1991-06-24 1992-12-25 Ronald G. Ward Computer system manager
AU661339B2 (en) * 1991-09-03 1995-07-20 Scientific-Atlanta, Inc. Fiber optic status monitor and control system
JP3243264B2 (ja) * 1991-10-16 2002-01-07 富士通株式会社 マルチプロセッサシステムにおける通信バスの障害制御方式
US5363503A (en) * 1992-01-22 1994-11-08 Unisys Corporation Fault tolerant computer system with provision for handling external events
US5423037A (en) * 1992-03-17 1995-06-06 Teleserve Transaction Technology As Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes
JPH0612288A (ja) * 1992-06-29 1994-01-21 Hitachi Ltd 情報処理システム及びその監視方法
US5390326A (en) * 1993-04-30 1995-02-14 The Foxboro Company Local area network with fault detection and recovery
US5488304A (en) * 1993-06-02 1996-01-30 Nippon Telegraph And Telephone Corporation Method and apparatus for judging active/dead status of communication cable
US5448723A (en) * 1993-10-15 1995-09-05 Tandem Computers Incorporated Method and apparatus for fault tolerant connection of a computing system to local area networks
EP0986008B1 (en) * 1993-12-01 2008-04-16 Marathon Technologies Corporation Computer system comprising controllers and computing elements
US5493650A (en) * 1994-03-02 1996-02-20 Synoptics Communications, Inc. Apparatus and method for monitoring the presence of cables connected to ports of a computer network controller and automatically reconfiguring the network when cables are connected to or removed from the controller
US5696895A (en) * 1995-05-19 1997-12-09 Compaq Computer Corporation Fault tolerant multiple network servers

Also Published As

Publication number Publication date
WO1999003038A1 (en) 1999-01-21
ATE208921T1 (de) 2001-11-15
DE69802535T2 (de) 2002-07-25
AU8398098A (en) 1999-02-08
JP2001509657A (ja) 2001-07-24
AU737333B2 (en) 2001-08-16
CA2295853A1 (en) 1999-01-21
DE69802535D1 (de) 2001-12-20
US5983371A (en) 1999-11-09
EP0993633B1 (en) 2001-11-14
EP0993633A1 (en) 2000-04-19

Similar Documents

Publication Publication Date Title
JP4166939B2 (ja) 能動的故障検出
US6173411B1 (en) Method and system for fault-tolerant network connection switchover
US20060085669A1 (en) System and method for supporting automatic protection switching between multiple node pairs using common agent architecture
EP2290878B1 (en) Fault-tolerant ethernet network
US5379278A (en) Method of automatic communications recovery
US7424640B2 (en) Hybrid agent-oriented object model to provide software fault tolerance between distributed processor nodes
JPH09130408A (ja) ネットワークインタフェース装置
US20060274646A1 (en) Method and apparatus for managing network connection
JP6134720B2 (ja) 接続方法
JPH10285202A (ja) 二重化ゲートウェイの通信制御方法
JPH05304528A (ja) 多重化通信ノード
JP3419979B2 (ja) 装置状態管理方法およびデータ通信システム
GB2449178A (en) Dynamic switching to a redundant bridge by a node using bridge protoccol data unit (BPDU) messages and the rapid spanning tree protocol (RSTP)
JPH10242889A (ja) 二重化装置の相互監視方法
JP2000092100A (ja) 光二重ループ型伝送装置
JP3150350B2 (ja) 2重化lanシステム
JPH0553957A (ja) Lan制御装置
JP2001060959A (ja) 高信頼化システム
JP2654524B2 (ja) Lanの接続ポート切り替え方式
JP2000316017A (ja) 光二重ループネットワークシステム
JPH09160875A (ja) マルチエージェント相互バックアップ方式
JPH07288533A (ja) Lan切替方式及び電力系統監視制御システム
JPH088910A (ja) 通信装置の障害検出方法
JPS63139443A (ja) 通信ネツトワ−ク診断方式
JPH10327176A (ja) 多重化lan切り替え方法およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20071026

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080714

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080731

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110808

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120808

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130808

Year of fee payment: 5

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term