JP2001154885A - コンピュータシステムのロックアップ防止方法及びコンピュータシステムをモニターする方法 - Google Patents

コンピュータシステムのロックアップ防止方法及びコンピュータシステムをモニターする方法

Info

Publication number
JP2001154885A
JP2001154885A JP2000305292A JP2000305292A JP2001154885A JP 2001154885 A JP2001154885 A JP 2001154885A JP 2000305292 A JP2000305292 A JP 2000305292A JP 2000305292 A JP2000305292 A JP 2000305292A JP 2001154885 A JP2001154885 A JP 2001154885A
Authority
JP
Japan
Prior art keywords
timer
computer system
program
software
interrupt
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2000305292A
Other languages
English (en)
Inventor
Ralph Edwin Frazier
エドウィン フレイザー ラルフ
Denis Michael Blanford
マイケル ブランフォード デニス
William Martin Belknapp
マーティン ベルクナップ ウィリアム
Iii Theodore Heske
ヘスケ 3世 テオドア
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NCR International Inc
Original Assignee
NCR International Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NCR International Inc filed Critical NCR International Inc
Publication of JP2001154885A publication Critical patent/JP2001154885A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【目的】 ユーザーの介入なしにコンピュータのソフト
ウェアロックアップ状態を自動的に検出し、これを回復
するためのコンピュータシステムのロックアップ防止方
法を提供する。 【構成】 第一タイマを始動するステップと、第二タイ
マを監視し、前記第二タイマの周期時間がいつ経過する
かを決定するステップと、低優先度のプログラムが続行
していることを確認するため、前記コンピュータシステ
ムのオペレーティングソフトウェア スケジューリング
情報をサンプル採取するステップと、低優先度のプログ
ラムが続行している場合には、前記第一タイマが前記コ
ンピュータシステムに割り込まないように前記第一タイ
マを再始動するステップと、第二タイマを再始動するス
テップと、低優先度のプログラムが続行されていない場
合には、前記第一タイマが時間切れし前記コンピュータ
システムに割り込むことを許すステップと、監視プログ
ラムが前記コンピュータシステムの制御を行うステップ
と、を含むことを特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は一般に、人が介入しない
コンピュータシステムのロックアップ状態の自動的検出
及び修復のためのモニター技術に関し、特に、コンピュ
ータシステムのロックアップ状態を防止し又はロックア
ップ状態から復旧する方法に関する。
【0002】
【従来の技術】多くのコンピュータシステムはロックア
ップ状態からの回復を図るため、ウォッチドッグタイマ
を含んでいる。いくつかのマイクロプロセッサはこの能
力をプログラム化して備えている。多くの場合、ウォッ
チドッグタイマは基本的には、コード内にロックアップ
状態が生じているか、あるいはコードがウォッチドッグ
タイマ期間内にタイマを再始動させないかのいずれかが
起きない限り、時間切れとならないように頻繁に再始動
されることにより、機能する。ウォッチドッグタイマを
使うことはかなり簡単であるが、プログラマがルーチン
期間中のウォッチドッグタイマを「当てる(ヒットす
る)」ことが必要であり、そうすることはかなりの時間
がかかる。
【0003】したがって、本技術分野では、コンピュー
タシステムのロックアップ状態につながる状態を自動検
出して自動的にその状態を修復することにより、人の介
入なしにコンピュータシステムのロックアップを防止す
るウォッチドッグタイマが必要である。
【0004】
【発明が解決しようとする課題】それゆえ、本発明は、
コンピュータシステムのロックアップ状態につながる状
態を自動的に検出するとともにそのような状態を修復又
は特定し、コンピュータシステムのロックアップを防止
する方法及び装置を与えることを目的とする。
【0005】
【課題を解決するための手段】本発明に基づく「ソフト
ウェア健全性モニタ(Software Sanity Monitor, SS
M)」の目的は、ユーザが介入せずにソフトウェアロッ
クアップ状態を自動的に検出し修復することである。ユ
ーザはしばしばソフトウェアロックアップ状態を「ハン
グ」とか「永久ループ」と読んでいる。ソフトウェア健
全性モニタはオペレーティングソフトウェアがもってい
る情報を使用するが、オペレーティングシステムソフト
ウェアとは独立に実行されるように設計されていること
により、「健全な」オペレーティングシステムへの依存
性を排除している。「ハング」状態が検出されると、ソ
フトウェア健全性モニタは自動的に、故障のログ(運転
記録)を取った後、かつ任意選択的にユーザ又はホスト
システムに通告をした後、システムを再始動する。
【0006】ソフトウェア健全性モニタはコンソール入
力手段を有しない装置に用いるように設計されている
が、それに限定されない。ソフトウェア健全性モニタ
は、プログラムのランタイム(実行時間)優先度が変化
するオペレーティング環境で走るように設計されてい
る。加えて、ソフトウェア健全性モニタは、任意の比率
を占める複数プログラムが同じランタイム優先度をもち
うるオペレーティング環境で走るように設計される。ソ
フトウェア健全性モニタの設計は、もっぱら「時間分
割」方式を用いる環境には、適用できない。ソフトウェ
ア健全性モニタは、システムソフトウェアが適切に走っ
ているか否かを検出するように設計されているが、任意
の特定プログラムが適切な結果を生成しているか否かは
決定しない。
【0007】本発明の上記の目的及びその他の目的は、
コンピュータで遂行するコンピュータシステム ロック
アップ 防止方法により達成され、この方法は、第一タ
イマの始動を含む。第二タイマが監視され、第二タイマ
の周期的時間間隔がいつ経過するかが決定される。低優
先度のプログラムが続行していることを確認するため、
コンピュータシステムのオペレーティングソフトウェア
スケジューリング情報がサンプル採取される。低優先
度のプログラムが続行しているなら、第一タイマがコン
ピュータシステムに割り込まないように第一タイマが再
始動される。第二タイマが再始動される。低優先度のプ
ログラムが続行していないなら、第一タイマは時間切れ
すること、およびコンピュータシステムに割り込むこと
を許される。次いで、コンピュータシステムの制御が監
視プログラムによって行われる。
【0008】上述した本発明の目的及び他の目的は、複
数の命令シーケンスを格納している、コンピュータ読み
取りが可能な媒体を含む物品により達成される。前記複
数の命令シーケンスは、それがプロセッサによって実行
されると、そのプロセッサに第一タイマを始動させるス
テップを実行させる命令シーケンスを含んでいる。第二
のモニタが監視され、第二タイマの周期的時間間隔がい
つ経過するかが決定される。低優先度のプログラムが走
り続けていることを確認するため、コンピュータシステ
ムのオペレーティングソフトウェア スケジューリング
情報がサンプル採取される。低優先度のプログラムが続
行しているなら、第一タイマがコンピュータシステムに
割り込まないように第一タイマが再始動される。第二タ
イマが再始動される。低優先度のプログラムが続行され
ていないなら、第一タイマが時間切れとなること、およ
びコンピュータシステムに割り込むことが許される。コ
ンピュータシステムの制御が監視プログラムによって行
われる。
【0009】上記の目的及びその他の目的は、第一タイ
マを始動させる始動手段を含むコンピュータアーキテク
チャによって達成される。監視手段が第二タイマを監視
し、第二タイマの周期時間間隔がいつ経過するかを決定
する。低優先度のプログラムが続行していることを確認
するため、サンプル採取手段がコンピュータシステムの
オペレーティングソフトウェア スケジューリング情報
をサンプル採取する。低優先度のプログラムが続行して
いるなら、第一タイマがコンピュータシステムに割り込
まないように第一タイマが再始動される。第二タイマが
再始動される。低優先度のプログラムが続行していない
なら、第一タイマは時間切れすること、およびコンピュ
ータシステムに割り込むことを許される。コンピュータ
システムの制御が監視プログラムによって行われる。
【0010】本発明の上記の目的及びその他の目的は、
プロセッサ及びそのプロセッサに結合されたメモリを含
むコンピュータシステムによって達成される。この場
合、前記メモリは、命令シーケンスを含み、その命令シ
ーケンスが前記プロセッサによって実行されると、第一
タイマを始動させるステップをプロセッサに行わせる。
第二タイマが監視され、第二タイマの周期時間間隔がい
つ経過するか決定される。低優先度のプログラムが続行
していることを確認するため、コンピュータシステムの
オペレーティングソフトウェア スケジューリング情報
がサンプル採取される。低優先度のプログラムが続行し
ているなら、第一タイマがコンピュータシステムに割り
込まないように第一タイマが再始動される。第二タイマ
が再始動される。低優先度のプログラムが続行されてい
ないなら、第一タイマは時間切れすること、およびコン
ピュータシステムに割り込むことを許される。コンピュ
ータシステムの制御が監視プログラムによって行われ
る。
【0011】本発明のさらに別の目的及び利点が以下の
詳細な説明から当業者に明らかとなろう。ただし本発明
の好適な実施例は、単に本発明を実施する最良の形態を
例示するために説明し図示しているに過ぎない。本発明
は他の異なる実施形態の形をとることが可能であり、そ
のいくつかの詳細はすべて、本発明の要旨から逸脱する
ことなく種々の態様で設計変更することができることが
理解されよう。したがって、図面及びその説明はその性
質上、説明のためのものであって、本発明を限定するも
のではない。
【0012】本発明の第一実施態様で与えられる方法
は、コンピュータで実行する、コンピュータシステムの
ロックアップを防止する方法であって、第一タイマを始
動させるステップと、第二タイマを監視し、前記第二タ
イマの周期時間間隔がいつ経過するかを決定するステッ
プと、低優先度のプログラムが続行していることを確認
するため、前記コンピュータシステムのオペレーティン
グソフトウェア スケジューリング情報をサンプル採取
するステップと、低優先度のプログラムが続行している
なら、前記第一タイマが前記コンピュータシステムに割
り込まないように前記第一タイマを再始動するステップ
と、第二タイマを再始動するステップと、低優先度のプ
ログラムが続行していないなら、前記第一タイマが、時
間切れすること、および前記第一タイマが前記コンピュ
ータシステムに割り込むことを許すステップと、監視プ
ログラムによって前記コンピュータシステムを制御する
ステップとを含むことを特徴とする方法である。
【0013】本発明の第二の実施態様では、複数の命令
シーケンスを含む、コンピュータ読み取りが可能な媒体
を有する物品が与えられ、この物品は、前記複数の命令
シーケンスがプロセッサにより実行されると前記複数の
命令シーケンスが、第一タイマを始動させるステップ
と、第二タイマを監視し、前記第二タイマの周期的時間
間隔がいつ経過するかを決定するステップと、低優先度
のプログラムが続行していることを確認するため、コン
ピュータシステムのオペレーティングソフトウェア ス
ケジューリング情報をサンプル採取するステップと、低
優先度のプログラムが続行している場合には、前記第一
タイマが前記コンピュータシステムに割り込まないよう
に前記第一タイマを再始動するステップと、第二タイマ
を再始動するステップと、低優先度のプログラムが続行
されていない場合には、第一タイマが時間切れし、前記
第一タイマがコンピュータシステムに割り込むことを許
すステップと、監視プログラムがコンピュータシステム
の制御を行うステップとを前記プロセッサに行わせるこ
とを特徴とする物品が与えられる。
【0014】本発明の第三の実施態様ではコンピュータ
アーキテクチャが与えられ、このアーキテクチャは、第
一タイマを始動させる処理と、第二タイマを監視し、前
記第二タイマの周期的時間間隔がいつ経過するかを決定
する処理と、低優先度のプログラムが続行していること
を確認するため、コンピュータシステムのオペレーティ
ングソフトウェア スケジューリング情報をサンプル採
取する処理と、低優先度のプログラムが続行している場
合には、前記第一タイマが前記コンピュータシステムに
割り込まないように前記第一タイマを再始動する処理
と、第二タイマを再始動する処理と、低優先度のプログ
ラムが続行されていない場合には、第一タイマが時間切
れし、前記第一タイマがコンピュータシステムに割り込
むことを許す処理と、コンピュータシステムの制御を監
視プログラムに行わせる処理とを含むことを特徴とする
アーキテクチャである。
【0015】本発明の第四の実施態様ではコンピュータ
システムが与えられ、このコンピュータシステムは、プ
ロセッサ及びこのプロセッサに接続されたメモリを含
み、前記メモリが命令シーケンスを含み、その命令シー
ケンスは、前記プロセッサにより実行されると、第一タ
イマを始動させるステップと、第二タイマを監視し、前
記第二タイマの周期的時間間隔がいつ経過するかを決定
するステップと、低優先度のプログラムが続行している
ことを確認するため、コンピュータシステムのオペレー
ティングソフトウェア スケジューリング情報をサンプ
ル採取するステップと、低優先度のプログラムが続行し
ている場合には、前記第一タイマが前記コンピュータシ
ステムに割り込まないように前記第一タイマを再始動す
るステップと、第二タイマを再始動するステップと、低
優先度のプログラムが続行されていない場合には、第一
タイマが時間切れし、前記第一タイマがコンピュータシ
ステムに割り込むことを許すステップと、監視プログラ
ムがコンピュータシステムの制御を行うステップとを含
むことを特徴とするコンピュータシステムである。
【0016】添付の図面を参照しつつ実施例を通して以
下に本発明の実施形態を説明する。
【0017】
【実施例】人が介入することなくコンピュータシステム
のソフトウェアロックアップ状態を自動的に検出し、修
復する方法及び装置を説明する。以下の説明では、説明
の目的上、本発明の完全な理解を与えるため、多数の具
体的な詳細を説明する。しかしながら、本発明の実施は
これらの具体的詳細を実施しなくてもできることは明ら
かであろう。また、本発明を無用に不透明にすることを
避けるため、よく知られている構造体及び装置はブロッ
ク図で示す。
【0018】ハードウェアの概観図1は本発明の一実施
形態を与えるコンピュータシステム100の例を示すブ
ロック図である。本発明は、現在利用されているパソコ
ンやミニメインフレーム等に使用できる。
【0019】コンピュータシステム100は、バス10
2または情報通信のための他の通信機構と、情報処理の
ため、バス102に結合されたプロセッサ104とを含
む。またコンピュータシステム100は、情報とプロセ
ッサ104で実行する命令とを格納するための、バス1
02に結合されたメインメモリ106、例えばランダム
アクセスメモリ(RAM)その他の動的格納装置などを
含む。メインメモリ106は、プロセッサ104により
命令が実行される間、一時的変数その他中間的情報を格
納するためにも使用することができる。コンピュータシ
ステム100は、バス102に結合されて静的情報及び
プロセッサ104用の命令を格納する読み取り専用メモ
リ(ROM)等の静的格納装置をさらに含むことができ
る。情報及び命令を格納するための磁気ディスクあるい
は光ディスクのような格納装置110が設けられてお
り、バス102に結合されている。
【0020】コンピュータシステム100はバス102
を介して、情報をコンピュータユーザに表示するための
陰極線管(CRT)又はフラットディスプレイパネル等
のディスプレイ112に結合することができる。情報の
通信のため及びプロセッサ104への命令を選択するた
め、英数字キーなどのキーを含む入力装置114がバス
102に接続される。もう一つの型のユーザ入力装置
は、方向情報及び命令の選択をプロセッサ104へ通信
し、またディスプレイ112上のカーソルの動きを制御
するためのカーソル制御装置116であり、例えばマウ
ス、トラックボール、あるいはカーソル方向キーなどが
ある。この入力装置は二軸に沿った二つの自由度、すな
わち第一軸(例えばx軸)及び第二軸(例えばy軸)を
有し、一平面上の位置を特定することを可能にする。
【0021】本発明は、人が介入せずにコンピュータシ
ステムのソフトウェアロックアップ状態を自動的に検出
および修復を行うために、例示したようなコンピュータ
システム100を使用する手段に関する。本発明の一実
施形態では、メインメモリ106内に収容されている命
令シーケンスを実行するプロセッサ104に応答するコ
ンピュータ100によって、人の介入しないコンピュー
タシステムのソフトウェアロックアップ状態の自動的な
検出及び修復が与えられる。そのような命令はコンピュ
ータ読み取りが可能な別の媒体、例えば格納装置110
などからメインメモリ106中に読み取ることもでき
る。しかし、コンピュータ読み取りが可能な媒体は格納
装置110のような装置に限られない。例えば、コンピ
ュータ読み取りが可能な媒体には、プロッピーディス
ク、フレキシブルディスク、ハードディスク、磁気テー
プ、その他の任意の磁気媒体、CDROMその他の任意
の光学的媒体、パンチカード、紙テープその他の孔パタ
ーンをもつ物理的媒体、RAM、PROM,EPRO
M、フラッシュEPROM、その他のメモリチップ、あ
るいはカートリッジ、電気的、電磁気的、赤外線、もし
くは光信号の形で実現されるキャリア波、その他、コン
ピュータが読み取ることができる任意の媒体が含まれ
る。メインメモリ106に収容されている命令シーケン
スが実行されることより、プロセッサ104に下記の処
理ステップを行わせる。別の実施形態では、本発明を実
施するため、コンピュータソフトウェア命令の代わり
に、あるいはそれと組み合わせて、有線接続された回路
を使用することができる。したがって本発明の実施形態
はハードウェア回路及びソフトウェアのどのような特定
の組み合わせにも限定されない。
【0022】コンピュータシステム100はまた、バス
102に接続された通信インターフェース118を含
む。通信インターフェース118は公知の双方向データ
通信を与える。例えば、通信インターフェース118は
所定の型の電話線に接続可能なデータ通信接続用の統合
サービスデジタルネットワーク(ISDN)カードある
いはモデムでよい。もう一つの例として、通信インター
フェース118は、これと互換性のある、ローカルネッ
トワーク(LAN)とデータ通信するためのLANカー
ドでもよい。好ましい実施形態では、通信インターフェ
ース118は仮想黒板に接続される。無線リンクも使用
することができる。そのような任意の設備において、通
信インターフェース118が、種々の形の情報を表すデ
ジタルデータストリームを搬送する電気信号、電磁信
号、又は光信号を送受信する。特に注目に値するのは、
インターフェース118を介して行う通信が、臨界タイ
マが行うマスク不能な割り込みの送受信を可能にするこ
とである。例えば、二つ以上のコンピュータシステム1
00は、それぞれ在来の方法で通信インターフェース1
18を使用して、ネットワーク接続することができる。
【0023】ネットワークリンク120は、普通、一つ
以上のネットワークを介して他のデータ装置とのデータ
通信を提供する。例えば、ネットワークリンク120は
ローカルネットワーク122を介してホストコンピュー
タ124と、又はインターネットサービスプロバイダ
(ISP)126により運営されるデータ装置と、接続
することができる。ISP126はさらに、今日では通
常「インターネット」128と呼ばれている世界的規模
のパケットデータ通信ネットワークを介する世界的規模
のパケットデータ通信サービスを通してデータ通信サー
ビスを提供する。ローカルネットワーク122及びイン
ターネット128は、両方とも、デジタルデータストリ
ームを搬送する電気信号、電磁気信号、又は光信号を使
用する。種々のネットワークを経由する信号、ネットワ
ークリンク120上の信号、および通信インターフェー
ス118を経由する信号は、コンピュータシステム10
0との間でデジタルデータを搬送するものであり、情報
を運ぶキャリヤ波の例である。
【0024】コンピュータシステム100は、ネットワ
ーク、ネットワークリンク120,及び通信インターフ
ェース118を介してメッセージを送り、プログラムコ
ードを含むデータを受信することができる。インターネ
ットの場合には、サーバ130は、インターネット12
8,ISP126,ローカルネットワーク122,及び
通信インターフェース118を介して、アプリケーショ
ンプログラムを求めるリクエストコードを送信すること
ができる。本発明によれば、そのようにしてダウンロー
ドした一つのアプリケーションが、以下に述べるように
して情報の発見および情報の視覚化を行う。
【0025】受信したコードは、プロセッサ104がこ
れを受信したときに実行することができ、及び又は後で
実行するために格納装置110その他の不揮発性格納装
置に格納することができる。このようにして、コンピュ
ータシステム100はキャリヤ波の形でアプリケーショ
ンコードを取得できる。
【0026】本発明のソフトウェア健全性モニタはオペ
レーティングソフトウェアのプログラムスケジュール制
御行動を監視する。このプログラムスケジュール制御行
動とは、プログラムのスケジューリングすなわちスケジ
ュールを立てること、プログラムの切替を行うこと、プ
ログラムのプリエンプションを行うこと、他のすべての
プログラムスケジュール技法を行うことである。
【0027】本明細書では以下の定義を使用する。
【0028】オペレーティングソフトウェアはオペレー
ティングシステム又はオペレーティングアプリケーショ
ンのいずれかでよい。
【0029】プログラムとは、アプリケーション、タス
ク、またはオペレーティングソフトウェア環境内で実行
される処理である。
【0030】ランタイム優先度とは、一プログラムの当
該システム内の他のプログラムに対するスケジューリン
グ上及び実行上の固有の重要度である。オペレーティン
グソフトウェアは、ランタイム優先度を使用して当該コ
ンピュータ装置で実行すべきプログラムを決定する。
【0031】スケジューリング情報とは、オペレーティ
ングソフトウェアがプログラムのスケジューリングとの
関連で更新し維持するカウント、変数、又はシステム構
造でよい。
【0032】アイドルループとは、システムが非アクテ
ィブであるときに実行されるポイント、プログラム、あ
るいはルーチンを指す。この状態ではシステムはビジー
でなく、低レベルのバックグラウンド診断を行ってい
る。別のプログラムを走らせるためにオペレーティング
ソフトウェアを始動させるあるイベントが起きたとき、
システムはアイドルループから出る。
【0033】ブロッキングとは、ソフトウェアがコンピ
ュータの制御を放棄してオペレーティングソフトウェア
へ返す行為である。
【0034】プログラムはイベントが起きるのを待つ
間、ブロックする。
【0035】プログラムのプリエンプションとは、より
高位のランタイム優先度(高ランタイム優先度)をもつ
別のプログラムに制御が与えられるように、オペレーテ
ィングソフトウェアがあるプログラムを一時停止する行
為である。
【0036】システム初期化とは、オペレーティングソ
フトウェア及びシステムのすべての初期プログラムを始
動させる処理である。
【0037】降順ランタイム優先度にしたがってプログ
ラムが続行しているとき、又は割り込みが可能のアイド
ルループに達したとき、「健全なシステム」の宣言が行
われる。
【0038】臨界タイマ期間内で下位ランタイム優先度
のプログラムが走っていないとき、又はシステムが割り
込み禁止のアイドルループに到達したとき、「不健全な
システム」の宣言が行われる。
【0039】ソフトウェア健全性モニタはオペレーティ
ングソフトウェアのスケジューリング情報を評価してシ
ステムソフトウェアが適切に動いているか否かを決定す
る。この評価を行う論理は、システムがより低位の優先
度のプログラムを走らせ続ける限りシステムは健全であ
ると見なされる事実に基づいている。システムが健全で
あることは、オペレーティングソフトウェアがやがては
アイドルループを走らせなければならないことを意味し
ている。高ランタイム優先度をもつプログラムによるプ
ログラムプリエンプションはソフトウェア健全性モニタ
の健全性評価基準を満たさない。ソフトウェア健全性モ
ニタの健全性評価基準は、プリエンプションにかかった
プログラムよりも低優先度をもつプログラムが走ってい
るとき、又はプログラムがシステムアイドルループに到
達したとき、満たされる。
【0040】この評価を行うため、ソフトウェア健全性
モニタは二つのハードウェアタイマによる割り込みのう
ちの最小のものを利用して、ソフトウェア健全性モニタ
が在駐しているコンピュータシステムのオペレーティン
グシステムの制御を獲得する。これらのタイマの一方
は、内蔵の又は外部的ハードウェアクロックのいずれか
の形で当該システムの時間間隔タイマ/クロックハード
ウェアから分離されていなければならない。分離してい
るクロック(分離クロック)のハードウェアはマスク不
可能な割り込みを与えなければならない。ソフトウェア
健全性モニタはこの分離タイマを臨界タイマと定義す
る。ソフトウェア健全性モニタによって使用される他の
タイマはマスク可能であってよく、システムの時間間隔
タイマ/クロックハードウェアから分離したものである
必要はない。これらの他のタイマはルーチンタイマと定
義される。ルーチンタイマの持続時間は臨界タイマの持
続時間の半分よりも小さくすべきである。ソフトウェア
健全性モニタが評価に使う論理は、「割り込みサービス
ルーチン」コードであり、このコードは上記タイマ/ク
ロックハードウェアの一つが当該システムに割り込みを
した後、制御を受け取る。ソフトウェア健全性モニタの
ルーチンタイマ及び臨界タイマはシステムを初期化する
期間中に最初に始動される。
【0041】ソフトウェア健全性モニタによる評価は二
つの段階のうちの最小値をもつ段階の中で行われる。最
初の評価は、定められたルーチンタイマの周期時間間隔
が経過した後に行われる。ソフトウェア健全性モニタ
は、低優先度のプログラムが続行されていることを確認
するため、オペレーティングソフトウェアのスケジュー
リング情報をサンプル採取する。より低優先度のプログ
ラムが続行されているなら、ソフトウェア健全性モニタ
は臨界タイマがシステムに割り込まないように臨界時間
を再始動させる。その後、ソフトウェア健全性モニタは
適当なルーチンタイマを再始動させて次のルーチンタイ
マ時間間隔まで、待つ、すなわちブロックする。
【0042】一つのルーチンタイマ時間間隔内で低位の
ランタイム優先度(低ランタイム優先度)のプログラム
が実行されていないなら、ソフトウェア健全性モニタ
は、潜在的に「システムがハングアップ」状態にある、
と状況認識する。この場合には、ソフトウェア健全性モ
ニタは、後続の臨界タイマが時間切れし、それによって
システムに割り込むことを許可する。臨界タイマが割り
込む結果、制御はソフトウェア健全性モニタに与えられ
る。ソフトウェア健全性モニタはスケジューリング情報
をサンプル採取し、最終的評価である第二段階のシステ
ム健全性評価を行う。この時までに低ランタイム優先度
のプログラムが走っていないなら、あるいはシステムが
割り込み禁止状態でアイドルループに到達しているな
ら、ソフトウェア健全性モニタは故障を宣言して、必要
な通知及びシステムの回復を行う。
【0043】ソフトウェア健全性モニタはアイドルルー
プを一つの固有状況として取り扱う。通常、コンピュー
タシステムがアイドルループに留まっているときは、シ
ステムは健全であると見なされる。その例外は、システ
ムがアイドルループにあり、かつ割り込みが禁止されて
いる場合である。この状況が起きると、ルーチンタイマ
は割り込みをしない。その結果、ソフトウェア健全性モ
ニタの第一段階は起きない。しかしながら、この状況は
ソフトウェア健全性モニタが評価を行う第二段階の始ま
りを止めない。臨界タイマはマスク不可能であるから、
ソフトウェア健全性モニタの第二段階は実行される。
【0044】低ランタイム優先度のプログラムが実行さ
れている限り、あるいは最大周期内で(割り込み可能
の)アイドルループに到達している限り、ソフトウェア
健全性モニタは故障が起きたとは想定しない。もしもア
イドルループ実行中に割り込みが禁止されると、マスク
不可能な第二タイマは時間切れすることとなり、その結
果、ソフトウェア健全性モニタに制御を行わせる。ソフ
トウェア健全性モニタは割り込み禁止の状態でアイドル
ループが走っている、と認識する。その結果、ソフトウ
ェア健全性モニタはシステムが不健全であると宣言し、
必要な通告及びシステムの回復を開始する。最大周期と
は、すべてのルーチンタイマ及び臨界タイマの総和と定
義される。ソフトウェア健全性モニタの評価は循環プロ
シージャである。ソフトウェア健全性モニタはアイドル
ループに到達するまで低ランタイム優先度マークを追跡
する。アイドルループに到達すると、低ランタイム優先
度マークがリセットされる。この反応により、ソフトウ
ェア健全性モニタがアイドルループ後の最初のプログラ
ムの優先度で低ランタイム優先度マークを調整し直すこ
とが可能となる。別のプログラムが実行されるときはも
う一つのサイクルが開始される。そのイベント以降、ソ
フトウェア健全性モニタがシステムの健全性監視を再開
する。ソフトウェア健全性モニタは、定められた時間周
期内で低ランタイム優先度のプログラムが続行する期間
中、受動状態に留まる。
【0045】具体的実施形態 ソフトウェア健全性モニタはリアルタイムオペレーティ
ングシステム(RTOS)カーネル(すなわちオペレーティ
ングソフトウェア)を含んでいる。ソフトウェア健全性
モニタはRTOSと協働してシステム健全性評価を行
う。
【0046】ソフトウェア健全性モニタハードウェアは
二つのタイマを提供する。第一のタイマ(ルーチンタイ
マ)は、2秒のマスク可能な割り込みであり、他方のタ
イマ(臨界タイマ)は5秒のマスク不可能の割り込みで
ある。2秒タイマが行う処理は、最後に与えた2秒間隔
以降にタスク切替が発生したか否かの確認を含んでい
る。最終的な健全性確認を行う論理を開始させるのに5
秒タイマが使用される。5秒タイマは2秒タイマがイネ
ーブル化されることを保証するので、故障(「ハン
グ」)が検出されたときは5秒タイマが回復行為を行
う。
【0047】RTOSカーネル自体が「ハング」状態に
巻き込まれている小さな可能性を考慮するため、すべて
の処理が割り込みサービスルーチン(ISR)内で起き
る。
【0048】ソフトウェア健全性モニタは、(1)RT
OSにおいて低ランタイム優先度のタスクへの切替が連
続的に起きていること、あるいは(2)割り込み可能な
状態のヌルタスク(Null Task)(アイドルループ)が
走っていることのいずれかを確認することにより、シス
テムソフトウェアが走っていることを確認する。これ
は、プリエンプションからの回復手段以外の手段によっ
て低ランタイム優先度の諸タスクが実行されるようにス
ケジュールに入れられる限り、RTOSが動作可能であ
ることを意味する。RTOSカーネルは、低ランタイム
優先度タスクへのタスク切替が発生したときはいつで
も、グローバルフィールドであるタスク切替スケジュー
ルカウントを更新する。タスク切替スケジュールカウン
トは現時点の評価サイクルおける最低ランタイム優先度
値を含む。ルーチンタイマの割り込み又は臨界タイマの
割り込みのいずれかに続いてソフトウェア健全性モニタ
が制御を獲得すると、システム健全性論理によってこの
タスク切替スケジュールカウントがそれ以前の最低ラン
タイム優先度値と比較される。以前の最低ランタイム優
先度値が新たなタスク切替スケジュールカウントよりも
大きいとき、システムは健全であると見なされる。
【0049】RTOSタスク切替スケジュールカウント
はプリエンプションがあるとき、または割り込みサービ
スルーチン(ISR)が或タスクをスケジュールに入れ
るときは、増分されない。カーネルは、高優先度タスク
が処理から出て低ランタイム優先度タスクの実行スケジ
ューリングが可能となった後、RTOSタスク切替スケ
ジュールカウントを増数する。
【0050】ウォッチドッグ期間が最後に起きた時期以
降にタスク切替が生じたことを確認するため、ソフトウ
ェア健全性モニタはRTOSタスク切替スケジュールカ
ウントを検査する。ソフトウェア健全性モニタはソフト
ウェア健全性モニタデータセグメント内の「最終タスク
保存領域」内に、RTOSタスク切替スケジュールカウ
ント及び現タスクを保存する。
【0051】ソフトウェア健全性モニタの初期化処理
は、臨界タイマ及びルーチンタイマの設定、及び最終タ
スク保存領域を含めたデータ構造の初期化を含んでい
る。加えて、ソフトウェア健全性モニタの各休止後又は
各電力投入後にマップされたI/Oロケーションを、
「開始コード」がソフトウェア健全性モニタに書き込
む。ソフトウェア健全性モニタ始動コードがソフトリセ
ット命令によって回避できるので、「RTOSオブジェ
クト初期化」ルーチンも又、マップされたI/Oロケー
ションをソフトウェア健全性モニタに書き込む。
【0052】割り込みが可能である限り、「2秒ウォッ
チドッグタイマ処理」が発生する。割り込みが永久的に
禁止された場合は、究極的に「5秒ウォッチドッグタイ
マ処理」が発生する。というのは、5秒割り込みはマス
クされないからである。以下は「2秒ウォッチドッグタ
イマ処理」、「5秒ウォッチドッグタイマ処理」、「故
障処理」、及び「回復処理」の要約である。
【0053】「2秒ウォッチドッグタイマ処理」2秒の
「ウォッチドッグタイマ」は「2秒ウォッチドッグタイ
マ」を再始動させる。この2秒の「ウォッチドッグタイ
マ」は「RTOSタスク切替スケジュールカウント」及
び「現タスク」を、「最終タスク保存領域」に保存され
ている情報と比較する。
【0054】もしもそれらの値が異なると、ソフトウェ
ア健全性モニタは「最終タスク領域」を新しい最低ラン
タイム優先度値及び新しい「現タスク」を使って更新す
る。
【0055】「ヌルタスク」が「現タスク(アイドルル
ープ)」であれば、次の評価サイクルに進むことを可能
にするため、ソフトウェア健全性モニタは「最終タスク
保存領域」を最高ランタイム優先度値でリセットする。
ソフトウェア健全性モニタは「5秒ウォッチドッグタイ
マ」を再始動させる。もしもそれらの値が同じであり、
「ヌルタスク」が「現タスク」でないなら、ソフトウェ
ア健全性モニタは5秒タイマが時間切れとなるのを待
つ。
【0056】「5秒ウォッチドッグタイマ処理」5秒の
「ウォッチドッグタイマ」は以下に詳細に述べるよう
に、それ以前の故障状態があるかどうか検査する。もし
も故障状態が示されると、「回復処理」が行われる。そ
うでないときは、5秒の「ウォッチドッグタイマ」が
「RTOSタスク切替スケジュールカウント」及び「現
タスク」を「最終タスク保存領域」内に保存されている
情報と比較する。もしもそれらの値が異なると、ソフト
ウェア健全性モニタは「最終保存領域」を新しい最低ラ
ンタイム優先度値及び新しい「現タスク」で更新する。
ソフトウェア健全性モニタは「5秒ウォッチドッグタイ
マ」を再始動させ、終了する。もしもそれらの値が同じ
であれば、5秒の「ウォッチドッグタイマ」は故障
(「ハング)を宣言し、「故障処理」を呼び出す。
【0057】割り込みが許される限り「2秒ウォッチド
ッグタイマ処理」が「5秒ウォッチドッグタイマ処理」
の実行を防止するから、5秒「ウォッチドッグタイマ」
は時間切れとなることを許されない。
【0058】「故障処理/回復処理」あるウォッチドッ
グタイマデータ領域が故障とマークされる。ソフトウェ
ア健全性モニタは適当な故障データを使って、故障保存
領域(RAM及び又はフラッシュROM及び又は外部デ
バイス)を更新し、又はログを取る。その故障データが
記録された後、ソフトウェア健全性モニタはシステムを
リセットする。これによって全RTOSを再始動させ
る。
【0059】「5秒ウォッチドッグタイマ」の論理は割
り込み禁止状態で「ヌルタスク」が走っている状況を考
慮する必要がない。「RTOSタスク切替スケジュール
カウント」における値及び「最終タスク保存領域」にお
ける値が同じである限り、故障が宣言されなければなら
ない。割り込みが許されている状態で「ヌルタスク」が
走っているときは、「2秒ウォッチドッグタイマ」は5
秒のウォッチドッグタイマが時間切れとなることを防止
する。
【0060】図2に示す場合、システムには5個のプロ
グラムがあり、プログラム5が最高優先度のプログラム
であり、アイドルループが最低優先度のタスクである。
オペレーティングシステムへの割り込みが許されてい
る。オペレーティングシステムの状況は、システムがア
イドル状態になっている状況である。ルーチンタイマが
ソフトウェア健全性モニタを始動させる。ソフトウェア
健全性モニタはシステムがアイドル状態であると確認す
る。ソフトウェア健全性モニタはシステムが健全である
と評価する。システム内の最高優先度のものに低優先度
マークが設定される。臨界タイマが再始動される。ルー
チンタイマが再始動され、ソフトウェア健全性モニタが
オペレーティングソフトウェアへ制御を返す。
【0061】図3ではプログラム3が走っている点を除
き、図2と同じである。ルーチンタイマがソフトウェア
健全性モニタを始動させる。ソフトウェア健全性モニタ
は現在の低優先度マークをそれ以前の低優先度マークと
比較する。ランタイム優先度として、その低優先度マー
クがプログラム3に設定される。ソフトウェア健全性モ
ニタはシステムが健全であると評価する。臨界タイマが
再始動される。ルーチンタイマが再始動され、ソフトウ
ェア健全性モニタはオペレーティングソフトウェアへ制
御を返す。
【0062】図4ではプログラム5によりプログラム3
がプリエンプトされている。プログラム5が走り始め
る。ルーチンタイマがソフトウェア健全性モニタを始動
させる。ソフトウェア健全性モニタは現在の低優先度マ
ークをそれ以前の低優先度マークと比較する。低優先度
マークは最終評価以来、変更されていない。ルーチンタ
イマが再始動される。臨界タイマは再始動されない。潜
在的に、システムは不健全である。ソフトウェア健全性
モニタは制御をオペレーティングソフトウェアに返す。
【0063】図5ではプログラム5がブロックされてお
り、プログラム3が回復され、プログラム3がブロック
している。ルーチンタイマがソフトウェア健全性モニタ
を始動する。ソフトウェア健全性モニタはシステムがア
イドル状態にあることを認識する。ソフトウェア健全性
モニタはシステムが健全であると評価する。システム内
で最高優先度のものに低優先度マークが設定される。臨
界タイマが再始動される。ルーチンタイマが再始動さ
れ、ソフトウェア健全性モニタはオペレーティングソフ
トウェアに制御を返す。
【0064】図6ではプログラム4が走っている。ルー
チンタイマがソフトウェア健全性モニタを始動する。ソ
フトウェア健全性モニタは現在の低優先度マークをそれ
以前の低優先度マークと比較する。この低優先度マーク
がランタイム優先度としてプログラム4に設定される。
ソフトウェア健全性モニタはシステムを健全であると評
価する。臨界タイマが再始動される。ルーチンタイマが
始動され、ソフトウェア健全性モニタはオペレーティン
グソフトウェアに制御を返す。
【0065】図7には第6例が示してある。図7ではプ
ログラム5によりプログラム4がプリエンプトされてお
り、プログラム5が走っている。ルーチンタイマがソフ
トウェア健全性モニタを始動する。ソフトウェア健全性
モニタは現在の低優先度マークをそれ以前の低優先度マ
ークと比較する。この低優先度マークは最終評価以来、
変更されていない。ルーチンタイマが再始動される。臨
界タイマは再始動されない。潜在的に、システムは不健
全である。ソフトウェア健全性モニタはオペエレメント
ソフトウェアに制御を返す。
【0066】図8には第7例が示してある。プログラム
4は依然としてプログラム5によりプリエンプトされて
いる。プログラム4が走っている。ルーチンタイマがソ
フトウェア健全性モニタを始動する。ソフトウェア健全
性モニタは現在の低優先度マークをそれ以前の低優先度
マークと比較する。低優先度マークは最後の評価以来、
変更されていない。ルーチンタイマが再始動される。臨
界タイマは再始動されない。潜在的に、システムは不健
全である。ソフトウェア健全性モニタはオペレーティン
グソフトウェアへ制御を返す。
【0067】図9には第8例が示してある。プログラム
4は依然としてプログラム5によりプリエンプトされて
いる。プログラム5が走っている。臨界タイマがソフト
ウェア健全性モニタを始動する。ソフトウェア健全性モ
ニタは現在の低優先度マークをそれ以前の低優先度マー
クと比較する。この低優先度マークは最後の評価以来、
変更されていない。ソフトウェア健全性モニタは「不健
全システム」−故障−を宣言するソフトウェア健全性モ
ニタは通告を行い、エラーログをとる。臨界タイマは再
始動されない。ソフトウェア健全性モニタはシステムを
再始動する。
【0068】当業者は上記の課題を本発明がすべて達成
することが直ちに了解できよう。前述の明細を読むこと
により当業者は種々の設計変更、等価物の置換を施し、
またここに広く開示した本発明の他の種々の実施態様を
実施することができよう。
【図面の簡単な説明】
【図1】 本発明に使用できるコンピュータアーキテク
チャの高レベルブロック図である。
【図2】 本発明の機能を例示する図である。
【図3】 本発明の機能を例示する図である。
【図4】 本発明の機能を例示する図である。
【図5】 本発明の機能を例示する図である。
【図6】 本発明の機能を例示する図である。
【図7】 本発明の機能を例示する図である。
【図8】 本発明の機能を例示する図である。
【図9】 本発明の機能を例示する図である。
【符号の説明】
100 コンピュータシステム 102 バス 104 プロセッサ 106 メインメモリ 108 ROM 110 格納装置 112 ディスプレイ 114 入力装置 116 カーソル制御装置 118 通信インターフェース 120 ネットワークリンク 122 ローカルネットワーク 124 ホスト 126 ISP 128 インターネット 130 サーバ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 デニス マイケル ブランフォード アメリカ合衆国 30096 ジョージア州 デュルース ヒース レーン 2664 (72)発明者 ウィリアム マーティン ベルクナップ アメリカ合衆国 30044 ジョージア州 ローレンスビル シングリー コート 715 (72)発明者 テオドア ヘスケ 3世 アメリカ合衆国 30024 ジョージア州 スワニー メープル リッジ ドライブ 1486

Claims (20)

    【特許請求の範囲】
  1. 【請求項1】 第一タイマを始動するステップと、 第二タイマを監視し、前記第二タイマの周期時間がいつ
    経過するかを決定するステップと、 低優先度のプログラムが続行していることを確認するた
    め、前記コンピュータシステムのオペレーティングソフ
    トウェア スケジューリング情報をサンプル採取するス
    テップと、 低優先度のプログラムが続行している場合には、前記第
    一タイマが前記コンピュータシステムに割り込まないよ
    うに前記第一タイマを再始動するステップと、 第二タイマを再始動するステップと、 低優先度のプログラムが続行されていない場合には、前
    記第一タイマが時間切れし前記コンピュータシステムに
    割り込むことを許すステップと、 監視プログラムが前記コンピュータシステムの制御を行
    うステップとを含むことを特徴とする、コンピュータが
    実行するコンピュータシステムのロックアップ防止方
    法。
  2. 【請求項2】 前記第一タイマが前記コンピュータシス
    テムのクロックから分離されており、前記第一タイマが
    マスク不可能な割り込みを与える、ことを特徴とする請
    求項1に記載のコンピュータシステムのロックアップ防
    止方法。
  3. 【請求項3】 コンピュータシステムの初期化の際に前
    記第一タイマを始動させるステップを含むことを特徴と
    する請求項1又は2に記載のコンピュータシステムのロ
    ックアップ防止方法。
  4. 【請求項4】 前記第二タイマが前記コンピュータシス
    テムのクロックから分離されていないで、前記第二タイ
    マがマスク可能な割り込みを与えることを特徴とする請
    求項1乃至3の何れか1項に記載のコンピュータシステ
    ムのロックアップ防止方法。
  5. 【請求項5】 前記監視プログラムによる制御ステップ
    に続いて、前記スケジューリング情報をサンプル採取す
    るステップと、 低優先度のプログラムが続行していないことが決定され
    ると、又は前記コンピュータシステムがアイドルループ
    に到達すると、システム回復を行うステップと、を含む
    ことを特徴とする請求項1乃至4の何れか1項に記載の
    コンピュータシステムのロックアップ防止方法。
  6. 【請求項6】 前記コンピュータシステムがアイドルル
    ープにいて、割り込みが禁止されているか否かを決定す
    るステップを含むことを特徴とする請求項1乃至5の何
    れか1項に記載のコンピュータシステムのロックアップ
    防止方法。
  7. 【請求項7】 低優先度のプログラムが続行されている
    か否か、又は予定最大時間の中でアイドルループに到達
    したか否かを決定することにより、前記コンピュータシ
    ステムが適切に機能しているか否かを決定するステップ
    を含むことを特徴とする請求項6に記載のコンピュータ
    システムのロックアップ防止方法。
  8. 【請求項8】 前記予定最大時間が前記第二タイマ及び
    前記第一タイマの和として定義されることを特徴とする
    請求項7に記載のコンピュータシステムのロックアップ
    防止方法。
  9. 【請求項9】 低ランタイム優先度マークを含むことを
    特徴とする請求項1乃至8の何れか1項に記載のコンピ
    ュータシステムのロックアップ防止方法。
  10. 【請求項10】 前記アイドルループに到達したときは
    前記低ランタイム優先度マークをリセットするステップ
    を含むことを特徴とする請求項9に記載のコンピュータ
    システムのロックアップ防止方法。
  11. 【請求項11】 前記監視プログラムによる制御ステッ
    プがソフトウェア健全性モニタにより行われることを特
    徴とする請求項1乃至10の何れか1項に記載のコンピ
    ュータシステムのロックアップ防止方法。
  12. 【請求項12】 前記監視プログラムが前記コンピュー
    タシステムのオペレーティングシステムとは独立に実行
    されることを特徴とする請求項1乃至11の何れか1項
    に記載のコンピュータシステムのロックアップ防止方
    法。
  13. 【請求項13】 オペレーティングシステムが不健全に
    なったために監視プログラムが制御を行うにいたったす
    べて場合のログをとるステップを含むことを特徴とする
    請求項12に記載のコンピュータシステムのロックアッ
    プ防止方法。
  14. 【請求項14】 前記オペレーティングシステムが高ラ
    ンタイム優先度プログラムから低ランタイム優先度プロ
    グラムに切り替えを行うときは常にグローバルフィール
    ドを更新するステップを含むことを特徴とする請求項1
    乃至13の何れか1項に記載のコンピュータシステムの
    ロックアップ防止方法。
  15. 【請求項15】 前記第一タイマが、割り込みサービス
    ルーチンコードである評価論理を含むことを特徴とする
    請求項1乃至14の何れか1項に記載のコンピュータシ
    ステムのロックアップ防止方法。
  16. 【請求項16】 次の低位のランタイム優先度を与える
    タスク切替スケジュールカウントを検査するステップを
    含むことを特徴とする請求項14に記載のコンピュータ
    システムのロックアップ防止方法。
  17. 【請求項17】 高優先度タスクがルーチンを出た後、
    前記タスク切替スケジュールカウントを増分し、下位ラ
    ンタイム優先度タスクの実行を許可し又はスケジュール
    に入れるステップを含むことを特徴とする請求項16に
    記載のコンピュータシステムのロックアップ防止方法。
  18. 【請求項18】 複数の命令シーケンスを格納している
    コンピュータ読み取りが可能な媒体を含む物品であっ
    て、プロセッサによって前記複数の命令シーケンスが実
    行されると、 そのプロセッサに第一タイマを始動させるステップと、 第二タイマを監視し、前記第二タイマの周期的時間間隔
    がいつ経過するかを決定するステップと、 低優先度のプログラムが続行していることを確認するた
    め、コンピュータシステムのオペレーティングソフトウ
    ェア スケジューリング情報をサンプル採取するステッ
    プと、 低優先度のプログラムが続行している場合には、前記第
    一タイマが前記コンピュータシステムに割り込まないよ
    うに前記第一タイマを再始動するステップと、 第二タイマを再始動するステップと、 低優先度のプログラムが続行されていない場合には、第
    一タイマが時間切れし、前記コンピュータシステムに割
    り込むことを許すステップと、 監視プログラムがコンピュータシステムの制御を行うス
    テップと、を前記プロセッサに実行させることを特徴と
    するコンピュータシステムをモニターする方法。
  19. 【請求項19】 コンピュータシステムのアーキテクチ
    ャにおいて、 第一タイマを始動させるステップと、 第二タイマを監視し、前記第二タイマの周期的時間間隔
    がいつ経過するかを決定するステップと、 低優先度のプログラムが続行していることを確認するた
    め、コンピュータシステムのオペレーティングソフトウ
    ェア スケジューリング情報をサンプル採取するステッ
    プと、 低優先度のプログラムが続行している場合には、前記第
    一タイマが前記コンピュータシステムに割り込まないよ
    うに前記第一タイマを再始動するステップと、 第二タイマを再始動するステップと、 低優先度のプログラムが続行されていない場合には、第
    一タイマが時間切れし、前記第一タイマがコンピュータ
    システムに割り込むことを許すステップと、 監視プログラムがコンピュータシステムの制御を行うス
    テップとを含むことを特徴とするコンピュータシステム
    をモニターする方法。
  20. 【請求項20】 プロセッサ及びこのプロセッサに接続
    されたメモリを含み、前記メモリが命令シーケンスを含
    み、 前記命令シーケンスは、前記プロセッサにより実行され
    ることにより、 前記プロセッサに対して第一タイマを始動させるステッ
    プと、 第二タイマを監視し、前記第二タイマの周期的時間間隔
    がいつ経過するかを決定するステップと、 低優先度のプログラムが続行していることを確認するた
    め、コンピュータシステムのオペレーティングソフトウ
    ェア スケジューリング情報をサンプル採取するステッ
    プと、 低優先度のプログラムが続行している場合には、前記第
    一タイマが前記コンピュータシステムに割り込まないよ
    うに前記第一タイマを再始動するステップと、 第二タイマを再始動するステップと、 低優先度のプログラムが続行されていない場合には、第
    一タイマが時間切れし、前記第一タイマがコンピュータ
    システムに割り込むことを許すステップと、 監視プログラムがコンピュータシステムの制御を行うス
    テップとを行わせることを特徴とするコンピュータシス
    テム。
JP2000305292A 1999-10-04 2000-10-04 コンピュータシステムのロックアップ防止方法及びコンピュータシステムをモニターする方法 Pending JP2001154885A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/411,497 US6665758B1 (en) 1999-10-04 1999-10-04 Software sanity monitor
US09/411497 1999-10-04

Publications (1)

Publication Number Publication Date
JP2001154885A true JP2001154885A (ja) 2001-06-08

Family

ID=23629178

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000305292A Pending JP2001154885A (ja) 1999-10-04 2000-10-04 コンピュータシステムのロックアップ防止方法及びコンピュータシステムをモニターする方法

Country Status (3)

Country Link
US (1) US6665758B1 (ja)
EP (1) EP1091297A3 (ja)
JP (1) JP2001154885A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2502123C1 (ru) * 2012-07-20 2013-12-20 Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт машиностроения" (ФГУП ЦНИИмаш) Способ динамического контроля тупиковых ситуаций инфокоммуникационной системы и устройство для его осуществления

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266725B2 (en) 2001-09-03 2007-09-04 Pact Xpp Technologies Ag Method for debugging reconfigurable architectures
DE19651075A1 (de) 1996-12-09 1998-06-10 Pact Inf Tech Gmbh Einheit zur Verarbeitung von numerischen und logischen Operationen, zum Einsatz in Prozessoren (CPU's), Mehrrechnersystemen, Datenflußprozessoren (DFP's), digitalen Signal Prozessoren (DSP's) oder dergleichen
DE19654595A1 (de) 1996-12-20 1998-07-02 Pact Inf Tech Gmbh I0- und Speicherbussystem für DFPs sowie Bausteinen mit zwei- oder mehrdimensionaler programmierbaren Zellstrukturen
EP1329816B1 (de) 1996-12-27 2011-06-22 Richter, Thomas Verfahren zum selbständigen dynamischen Umladen von Datenflussprozessoren (DFPs) sowie Bausteinen mit zwei- oder mehrdimensionalen programmierbaren Zellstrukturen (FPGAs, DPGAs, o.dgl.)
US6542998B1 (en) 1997-02-08 2003-04-01 Pact Gmbh Method of self-synchronization of configurable elements of a programmable module
US8686549B2 (en) 2001-09-03 2014-04-01 Martin Vorbach Reconfigurable elements
DE19861088A1 (de) 1997-12-22 2000-02-10 Pact Inf Tech Gmbh Verfahren zur Reparatur von integrierten Schaltkreisen
US6721898B1 (en) * 1999-02-03 2004-04-13 William H. Gates, III Method and system for tracking software components
AU5805300A (en) 1999-06-10 2001-01-02 Pact Informationstechnologie Gmbh Sequence partitioning in cell structures
US6606716B1 (en) * 1999-10-06 2003-08-12 Dell Usa, L.P. Method and system for automated technical support for computers
US6732299B1 (en) * 2000-03-08 2004-05-04 Lucent Technologies Inc. Warm start software recovery
EP1342158B1 (de) 2000-06-13 2010-08-04 Richter, Thomas Pipeline ct-protokolle und -kommunikation
US8058899B2 (en) 2000-10-06 2011-11-15 Martin Vorbach Logic cell array and bus system
US7444531B2 (en) 2001-03-05 2008-10-28 Pact Xpp Technologies Ag Methods and devices for treating and processing data
US9552047B2 (en) 2001-03-05 2017-01-24 Pact Xpp Technologies Ag Multiprocessor having runtime adjustable clock and clock dependent power supply
US9141390B2 (en) 2001-03-05 2015-09-22 Pact Xpp Technologies Ag Method of processing data with an array of data processors according to application ID
US9436631B2 (en) 2001-03-05 2016-09-06 Pact Xpp Technologies Ag Chip including memory element storing higher level memory data on a page by page basis
US9250908B2 (en) 2001-03-05 2016-02-02 Pact Xpp Technologies Ag Multi-processor bus and cache interconnection system
US9037807B2 (en) 2001-03-05 2015-05-19 Pact Xpp Technologies Ag Processor arrangement on a chip including data processing, memory, and interface elements
US9411532B2 (en) 2001-09-07 2016-08-09 Pact Xpp Technologies Ag Methods and systems for transferring data between a processing device and external devices
WO2005045692A2 (en) 2003-08-28 2005-05-19 Pact Xpp Technologies Ag Data processing device and method
US7844796B2 (en) 2001-03-05 2010-11-30 Martin Vorbach Data processing device and method
KR100820789B1 (ko) * 2001-04-06 2008-04-10 엘지전자 주식회사 실시간 기반 시스템 및 그의 모니터링 방법
US7000100B2 (en) * 2001-05-31 2006-02-14 Hewlett-Packard Development Company, L.P. Application-level software watchdog timer
US10031733B2 (en) 2001-06-20 2018-07-24 Scientia Sol Mentis Ag Method for processing data
EP1402382B1 (de) 2001-06-20 2010-08-18 Richter, Thomas Verfahren zur bearbeitung von daten
US7996827B2 (en) 2001-08-16 2011-08-09 Martin Vorbach Method for the translation of programs for reconfigurable architectures
US7003775B2 (en) * 2001-08-17 2006-02-21 Hewlett-Packard Development Company, L.P. Hardware implementation of an application-level watchdog timer
US7007268B2 (en) * 2001-08-20 2006-02-28 Sun Microsystems, Inc. Method and apparatus for debugging in a massively parallel processing environment
US7434191B2 (en) 2001-09-03 2008-10-07 Pact Xpp Technologies Ag Router
US8686475B2 (en) 2001-09-19 2014-04-01 Pact Xpp Technologies Ag Reconfigurable elements
US8281108B2 (en) 2002-01-19 2012-10-02 Martin Vorbach Reconfigurable general purpose processor having time restricted configurations
US9170812B2 (en) 2002-03-21 2015-10-27 Pact Xpp Technologies Ag Data processing system having integrated pipelined array data processor
US8914590B2 (en) 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US20030226056A1 (en) * 2002-05-28 2003-12-04 Michael Yip Method and system for a process manager
US7010724B1 (en) * 2002-06-05 2006-03-07 Nvidia Corporation Operating system hang detection and methods for handling hang conditions
US20040015741A1 (en) * 2002-07-17 2004-01-22 Adc Telecommunications Israel Ltd. Watchdog device operation
WO2004021176A2 (de) 2002-08-07 2004-03-11 Pact Xpp Technologies Ag Verfahren und vorrichtung zur datenverarbeitung
US7657861B2 (en) 2002-08-07 2010-02-02 Pact Xpp Technologies Ag Method and device for processing data
AU2003289844A1 (en) 2002-09-06 2004-05-13 Pact Xpp Technologies Ag Reconfigurable sequencer structure
US6946753B2 (en) * 2002-11-14 2005-09-20 Fyre Storm, Inc. Switching power converter controller with watchdog timer
US7191364B2 (en) * 2003-11-14 2007-03-13 Microsoft Corporation Automatic root cause analysis and diagnostics engine
GB2415271A (en) * 2004-06-16 2005-12-21 Sendo Int Ltd Computing device with watchdog timer
US7383470B2 (en) * 2004-09-30 2008-06-03 Microsoft Corporation Method, system, and apparatus for identifying unresponsive portions of a computer program
US7343476B2 (en) * 2005-02-10 2008-03-11 International Business Machines Corporation Intelligent SMT thread hang detect taking into account shared resource contention/blocking
US20060235655A1 (en) * 2005-04-18 2006-10-19 Qing Richard X Method for monitoring function execution
US7558986B2 (en) * 2005-05-26 2009-07-07 United Parcel Service Of America, Inc. Software process monitor
US7823021B2 (en) * 2005-05-26 2010-10-26 United Parcel Service Of America, Inc. Software process monitor
US8332826B2 (en) * 2005-05-26 2012-12-11 United Parcel Service Of America, Inc. Software process monitor
JP2009524134A (ja) 2006-01-18 2009-06-25 ペーアーツェーテー イクスペーペー テクノロジーズ アクチエンゲゼルシャフト ハードウェア定義方法
US8146094B2 (en) * 2008-02-01 2012-03-27 International Business Machines Corporation Guaranteeing delivery of multi-packet GSM messages
US8200910B2 (en) * 2008-02-01 2012-06-12 International Business Machines Corporation Generating and issuing global shared memory operations via a send FIFO
US7877436B2 (en) * 2008-02-01 2011-01-25 International Business Machines Corporation Mechanism to provide reliability through packet drop detection
US8239879B2 (en) * 2008-02-01 2012-08-07 International Business Machines Corporation Notification by task of completion of GSM operations at target node
US8484307B2 (en) * 2008-02-01 2013-07-09 International Business Machines Corporation Host fabric interface (HFI) to perform global shared memory (GSM) operations
US8214604B2 (en) * 2008-02-01 2012-07-03 International Business Machines Corporation Mechanisms to order global shared memory operations
US8255913B2 (en) * 2008-02-01 2012-08-28 International Business Machines Corporation Notification to task of completion of GSM operations by initiator node
US8275947B2 (en) * 2008-02-01 2012-09-25 International Business Machines Corporation Mechanism to prevent illegal access to task address space by unauthorized tasks
US8166464B2 (en) * 2008-06-27 2012-04-24 Microsoft Corporation Analysis and detection of soft hang responsiveness program errors
JP5335552B2 (ja) * 2009-05-14 2013-11-06 キヤノン株式会社 情報処理装置、その制御方法、及びコンピュータプログラム
US8595556B2 (en) 2010-10-14 2013-11-26 International Business Machines Corporation Soft failure detection
US9122522B2 (en) * 2011-12-14 2015-09-01 Advanced Micro Devices, Inc. Software mechanisms for managing task scheduling on an accelerated processing device (APD)
US9032258B2 (en) * 2012-09-14 2015-05-12 Infineon Technologies Ag Safety system challenge-and-response using modified watchdog timer
US10606640B2 (en) 2017-12-23 2020-03-31 International Business Machines Corporation Rescheduling high performance computing jobs based on personalized sanity checks and job problem resolution classification
WO2021074484A1 (en) * 2019-10-18 2021-04-22 Minima Processor Oy Method, arrangement, and computer program product for organizing the excitation of processing paths for testing a microelectric circuit
US11175977B2 (en) * 2020-01-14 2021-11-16 Nxp Usa, Inc. Method and system to detect failure in PCIe endpoint devices

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278976A (en) 1990-04-16 1994-01-11 Rolm Company Method for detecting infinite loops by setting a flag indicating execution of an idle task having lower priority than executing application tasks
DE4039355C2 (de) * 1990-12-10 1998-07-30 Bosch Gmbh Robert Vorrichtung zur Funktionsüberprüfung einer Watchdog-Schaltung
US5341497A (en) * 1991-10-16 1994-08-23 Ohmeda Inc. Method and apparatus for a computer system to detect program faults and permit recovery from such faults
ES2103402T3 (es) * 1992-08-21 1997-09-16 Siemens Ag Procedimiento para la supervision temporal de la ejecucion de un programa.
US5655083A (en) * 1995-06-07 1997-08-05 Emc Corporation Programmable rset system and method for computer network
US5864663A (en) * 1996-09-12 1999-01-26 United Technologies Corporation Selectively enabled watchdog timer circuit
DE19827430C2 (de) * 1997-07-22 2001-07-12 Siemens Ag Überwachungsverfahren zur Erkennung von Endlosschleifen und blockierten Prozessen in einem Rechnersystem
US6145103A (en) * 1998-04-07 2000-11-07 Advanced Micro Devices, Inc. Emulator support mode for disabling and reconfiguring timeouts of a watchdog timer
US6393433B1 (en) * 1998-09-24 2002-05-21 Lucent Technologies, Inc. Methods and apparatus for evaluating effect of run-time schedules on performance of end-system multimedia applications

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2502123C1 (ru) * 2012-07-20 2013-12-20 Федеральное государственное унитарное предприятие "Центральный научно-исследовательский институт машиностроения" (ФГУП ЦНИИмаш) Способ динамического контроля тупиковых ситуаций инфокоммуникационной системы и устройство для его осуществления

Also Published As

Publication number Publication date
EP1091297A3 (en) 2002-05-22
US6665758B1 (en) 2003-12-16
EP1091297A2 (en) 2001-04-11

Similar Documents

Publication Publication Date Title
JP2001154885A (ja) コンピュータシステムのロックアップ防止方法及びコンピュータシステムをモニターする方法
US5715386A (en) Apparatus and methods for software rejuvenation
US6101524A (en) Deterministic replay of multithreaded applications
US6594784B1 (en) Method and system for transparent time-based selective software rejuvenation
US7337444B2 (en) Method and apparatus for thread-safe handlers for checkpoints and restarts
US20060130061A1 (en) Use of rollback RCU with read-side modifications to RCU-protected data structures
US7043729B2 (en) Reducing interrupt latency while polling
US9830211B2 (en) Framework as well as method for developing time-triggered computer systems with multiple system modes
WO2006076853A1 (fr) Procede de traitement multifiliere/multitache/multiprocesseur
US7451454B2 (en) Event handling mechanism
EP0701209B1 (en) Apparatus and method for software rejuvenation
US7340594B2 (en) Bios-level incident response system and method
JP2965075B2 (ja) プログラム実行状態監視方法
US20090113255A1 (en) Software Fault Detection Using Progress Tracker
JP2000516745A (ja) 機能停止しているマスタcpuのスレーブdspによる再ブート
JPWO2018211865A1 (ja) 車両制御装置
JP2002149437A (ja) ソフトウェア再起動方法
JP2009151440A (ja) プログラムハング検出方法及びそれを適用したコンピュータ装置
Lee et al. Process resurrection: A fast recovery mechanism for real-time embedded systems
JPH10269110A (ja) 計算機システムのハングアップ回避方法並びにこの方法を用いた計算機システム。
JP2005182594A (ja) コンピュータ及びプログラム
JP3122371B2 (ja) 計算機システム
JP2004070458A (ja) 自己診断機能を持つプログラムと、プログラム監視装置及びその方法と、プログラム監視機能を持つプログラム
JP2002244885A (ja) コンピュータシステム監視システム
KR100424458B1 (ko) 리얼타임 멀티타스킹 오퍼레이팅 시스템에서의 타스크관리 방법