(57)【要約】      （修正有）【課題】システム内の他のプロセスを監視する組込み型プロセッサの回復プロセスを提供する。【解決手段】各プロセスは、回復カウント、回復時間、および回復アクションを含むことが好ましい、回復ポリシーを指定することができる。プロセスが予期せずに終了すると、回復プロセスは、プロセスが対応する回復ポリシーを有するかどうかを判定する。プロセスが対応する回復ポリシーを有する場合、回復プロセスは、回復ポリシーに指定された回復カウントおよび回復時間を調べることによって、プロセスを回復できるかどうかを判定する。プロセスが回復可能な場合、回復プロセスは、対応する回復ポリシーに指定された回復アクションを実行する。プロセスが回復不可能な場合、回復プロセスはシステムをリセットする。この方法では、システム上で実行中の他のプロセスに影響を与えることなしに、単一のプロセスを回復することができる。【選択図】図１
2004326764.tif 000002
【特許請求の範囲】
【請求項１】
組込み型制御プロセッサと、
前記組込み型制御プロセッサに結合されたメモリと、
前記メモリ内に常駐し、前記組込み型制御プロセッサによって実行される回復プロセスとを含む装置であって、前記回復プロセスは前記メモリ内に常駐し前記組込み型制御プロセッサによって実行される複数のプロセスを監視し、前記複数のプロセスのうちの少なくとも１つは、対応するプロセスが前記複数のプロセスのうちの他に影響を与えることなく前記回復プロセスによって回復できることを指定した対応する回復ポリシーを有する装置。
【請求項２】
前記対応する回復ポリシーは前記組込み型制御プロセッサに結合された不揮発性電子メモリに常駐する、請求項１に記載の装置。
【請求項３】
前記回復プロセスは前記複数のプロセスの異常終了を監視する、請求項１に記載の装置。
【請求項４】
前記回復プロセスは、前記対応する回復ポリシーが、前記対応するプロセスが前記回復プロセスによって回復可能であることを指定する場合に、ユーザの介入なしに前記対応するプロセスを回復するものである、請求項１に記載の装置。
【請求項５】
前記回復プロセスの異常終了を監視し、前記回復プロセスが異常に終了した場合に前記装置をリセットするメカニズムをさらに含む、請求項１に記載の装置。
【請求項６】
前記回復ポリシーは回復カウント、回復時間、および回復アクションを含む、請求項１に記載の装置。
【請求項７】
前記回復プロセスは、前記対応する回復ポリシーが、前記対応するプロセスが回復可能であることを指定する場合に前記対応するプロセスを回復するものであって、前記回復プロセスは、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のリセット以降の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップとを含む、請求項６に記載の装置。
【請求項８】
組込み型制御プロセッサと、
前記組込み型制御プロセッサに結合された不揮発性電子メモリと、
前記組込み型制御プロセッサによって実行される複数のプロセスと、
前記組込み型制御プロセッサによって実行される回復プロセスとを含む装置であって、前記回復プロセスは前記複数のプロセスの異常終了を監視し、前記複数のプロセスのうちの少なくとも１つは、対応するプロセスが回復可能であるかどうかを指定する前記不揮発性電子メモリに常駐する対応する回復ポリシーを有し、前記回復ポリシーは回復カウント、回復時間、および回復アクションを含み、前記回復プロセスは、前記対応する回復ポリシーが、前記対応するプロセスが回復可能であることを指定する場合に、ユーザの介入なしに、および前記複数のプロセスのうちの他に影響を与えることなしに、前記対応するプロセスを回復するものであって、前記回復プロセスは、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のリセット以降の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップとを含む装置。
【請求項９】
組込み型制御プロセッサによって実行された複数のプロセスのうちの少なくとも１つを回復するためのコンピュータ実施方法であって、前記方法は、
前記複数のプロセスを監視するステップと、
前記複数のプロセスのうちの１つが異常に終了した場合、および前記１つのプロセスが対応する回復ポリシーを有する場合、前記１つのプロセスが前記複数のプロセスのうちの他に影響を与えることなく回復可能であるかどうかを、前記対応する回復ポリシーから判定するステップとを含む方法。
【請求項１０】
不揮発性電子メモリから前記対応する回復ポリシーを読み取るステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記対応する回復ポリシーが前記１つのプロセスが回復可能であることを指定する場合に、ユーザの介入なしに前記１つのプロセスを回復するステップをさらに含む、請求項９に記載の方法。
【請求項１２】
前記回復プロセスの異常終了を監視するステップと、
前記回復プロセスが異常に終了した場合に前記組込み型制御プロセッサを含む前記システムをリセットするステップをさらに含む、請求項９に記載の方法。
【請求項１３】
前記回復ポリシーは回復カウント、回復時間、および回復アクションを含む、請求項９に記載の方法。
【請求項１４】
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が、前記組込み型制御プロセッサを含むシステムの最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のシステム・リセット以降の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップとを含む、請求項１３に記載の方法。
【請求項１５】
組込み型制御プロセッサによって実行された複数のプロセスのうちの少なくとも１つを回復するためのコンピュータ実施方法であって、前記方法は、
前記複数のプロセスの異常終了を監視するステップと、
前記複数のプロセスのうちの１つが異常に終了した場合、前記プロセスが、前記対応するプロセスが回復可能であるかどうかを指定する不揮発性電子メモリ内の対応する回復ポリシーを有するかどうかを判定するステップとを含み、前記回復ポリシーは回復カウント、回復時間、および回復アクションを含むものであって、
前記回復ポリシーは、前記プロセスが回復可能であることを指定する場合、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が、前記組込み型制御プロセッサを含むシステムの最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のシステム・リセット以降の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップとを実行する方法。
【請求項１６】
プログラム記録媒体であって、
（Ａ）システム内の組込み型制御プロセッサによって実行される複数のプロセスを監視するプロセス回復プログラムと、
（Ｂ）前記複数のプロセスのうちの１つに対応する回復ポリシーであって、前記回復ポリシーは、対応するプロセスが前記複数のプロセスのうちの他に影響を与えることなく前記プロセス回復プログラムによって回復可能であるかどうかを指定する回復ポリシーと、
（Ｃ）前記プロセス回復プログラムおよび前記回復ポリシーを搬送する、信号搬送媒体とを含むプログラム記録媒体。
【請求項１７】
前記信号搬送媒体は記録可能媒体を含む、請求項１６に記載のプログラム記録媒体。
【請求項１８】
前記信号搬送媒体は伝送媒体を含む、請求項１６に記載のプログラム記録媒体。
【請求項１９】
前記プロセス回復プログラムは前記複数のプロセスの異常終了を監視する、請求項１６に記載のプログラム記録媒体。
【請求項２０】
前記プロセス回復プログラムは、前記対応する回復ポリシーが、前記対応するプロセスが前記プロセス回復プログラムによって回復可能であることを指定する場合に、ユーザの介入なしに前記対応するプロセスを回復する、請求項１６に記載のプログラム記録媒体。
【請求項２１】
前記回復ポリシーは回復カウント、回復時間、および回復アクションを含む、請求項１６に記載のプログラム記録媒体。
【請求項２２】
前記プロセス回復プログラムは、前記対応する回復ポリシーが、前記対応するプロセスが回復可能であることを指定する場合に、前記対応するプロセスを回復するものであって、前記プロセス回復プログラムは、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が、最後のシステム・リセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記プロセス回復プログラムが前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記プロセス回復プログラムが前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のシステム・リセット以降の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップとを実行する、請求項２１に記載されたプログラム記録媒体。
【請求項２３】
プログラム記録媒体であって、
（Ａ）システム内の少なくとも１つの組込み型制御プロセッサによって実行される複数のプロセスの異常終了を監視するプロセス回復プログラムを含み、前記複数のプロセスのうちの少なくとも１つは、不揮発性電子メモリに格納された、前記対応するプロセスが回復可能であるかどうかを指定する対応する回復ポリシーを有し、前記回復ポリシーは回復カウント、回復時間、および回復アクションを含むものであって、
前記プロセス回復プログラムは、前記対応する回復ポリシーが、前記対応するプロセスが回復可能であることを指定する場合に、ユーザの介入なしに、および前記複数のプロセスのうちの他に影響を与えることなしに、前記対応するプロセスを回復するものであって、前記プロセス回復プログラムは、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が、最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記プロセス回復プログラムが前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記プロセス回復プログラムが前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のリセット以降の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップとを実行するものであって、
（Ｂ）さらに、前記プロセス回復プログラムを搬送する、コンピュータ読取り可能信号搬送媒体を含むプログラム記録媒体。
【請求項２４】
前記信号搬送媒体は記録可能媒体を含む、請求項２３に記載のプログラム記録媒体。
【請求項２５】
前記信号搬送媒体は伝送媒体を含む、請求項２３に記載のプログラム記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にデータ処理に関し、より具体的には組込み型（ｅｍｂｅｄｄｅｄ）プロセッサ・システムにおけるソフトウェア・プロセス（プログラムの実行）の回復に関する。
【背景技術】
【０００２】
現代のエレクトロニクスは、生活に多くの利便性を与えるものである。現代の電化製品には、制御機能の実行、ユーザへの情報の表示などを、組込み型プロセッサを使用して行っているものが多い。組込み型プロセッサの一例は、電子レンジや衣服用アイロンなどの、多くの電子電化製品に見られる。組込み型プロセッサの他の一般的な例は、多くの現代の自動車に見られる。多くの市販の組込み型プロセッサには、特殊機能が含まれる。たとえば１つには、一部の電子レンジに見られるような、プロセッサが７セグメントの発光ダイオード（ＬＥＤ）ディスプレイを直接駆動できるようにする、ディスプレイ・ドライバが含まれる。その他には、プロセッサを外部のアナログ回路に直接接続することのできる、オンチップのアナログ−デジタル（Ａ／Ｄ）および／またはデジタル−アナログ（Ｄ／Ａ）変換器が含まれる。多くの特殊機能は、知られた組込み型プロセッサ内でオンチップの形で入手できる。
【０００３】
組込み型プロセッサ・システムに伴う問題の１つは、ソフトウェア・プロセス（プログラムの実行、以下単に「プロセス」とも略す。）が予期せずに終了した場合に発生する。組込み型プロセッサ・システムには（デスクトップ・コンピュータ・システムの場合のキーボードおよびディスプレイなどの）一貫したユーザ・インターフェースがないため、プロセッサにはプロセスが終了したことをユーザに通知するための方法がない可能性があり、たとえ通知が可能であっても、それに対してユーザは何も実行できない可能性がある。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
そのため、プロセスの予期せぬ終了に対処する方法を知るための知能を組込み型システム内部に提供することが望ましい。
【課題を解決するための手段】
【０００５】
図２を参照すると、組込み型プロセッサ・システム用の従来の方法２００は、プロセスが異常終了した場合に開始される（ステップ２１０）。（オペレーティング・システムのカーネルなどの）制御コードはすべてのプロセスを監視し、いずれかのプロセスが異常に終了したことを検出する（ステップ２２０）ものと想定する。これに応答して、制御コードはシステムをリセットする（ステップ２３０）。図２の従来技術の方法２００に伴う問題の１つは、結果として組込み型システム全体をリセットすることになる、プロセスの単一の異常終了である。これは、異常終了したプロセスが非重要プロセスである場合、または異常終了したプロセスが組込み型システム上で実行中の他のプロセスに影響を与えることなく再起動できる場合には、望ましくない可能性がある。ユーザの介入を必要としない方法、およびシステム全体を強制的にリセットしない方法で、プロセスを回復する方法がなければ、組込み型制御の業界はこれからも、プロセスの予期せぬ終了に対処するための非効率的なメカニズムの被害を受け続けることになる。
【０００６】
組込み型プロセッサの回復プロセスは、システム内の他のプロセスを監視する。各プロセスは、回復カウント、回復時間、および回復アクションを含むことが好ましい、不揮発性電子メモリに常駐する回復ポリシー（回復指示、回復手順）を指定することができる。プロセスが予期せずに終了すると、回復プロセスは、プロセスが対応する回復ポリシーを有するかどうかを判定する。有していない場合、回復プロセスはプロセスを回復しない。プロセスが対応する回復ポリシーを有する場合、回復プロセスは、回復ポリシーに指定された回復カウントおよび回復時間を調べることによって、プロセスを回復できるかどうかを判定する。プロセスが回復可能な場合、回復プロセスは、対応する回復ポリシーに指定された回復アクションを実行する。プロセスが回復不可能な場合、回復プロセスはシステムをリセットする。この方法では、ユーザの介入なしに、およびシステム上で実行中の他のプロセスに影響を与えることなしに、ならびにシステム全体のリセットを実行することなしに、回復プロセスによって単一のプロセスを回復することができる。
【０００７】
本発明の前述および他の特徴および利点は、添付の図面に示されるような、本発明の好ましい実施形態の以下のより具体的な説明によって明らかになるであろう。
【０００８】
本発明の好ましい実施形態について添付の図面と共に以下で説明するが、ここでは同じ指定は同じ要素を示すものである。
【発明を実施するための最良の形態】
【０００９】
本発明の好ましい実施形態によれば、回復プロセスは、システム内のすべてのプロセスを監視し、いずれかのプロセスが異常に終了した場合はこれを検出し、終了したプロセスが対応する回復ポリシーを不揮発性メモリ内に有するかどうかをチェックする。有していない場合、回復プロセスはプロセスを回復しない。そうである場合、回復プロセスは、プロセスが回復可能であるかどうかを回復ポリシーから判定し、回復可能な場合、回復プロセスは回復ポリシーに指定された１つまたは複数のアクションを実行することによって、プロセスを回復する。したがって好ましい実施形態は、他のプロセスに影響を与えることなく、およびユーザの介入なしに、単一のプロセスを回復させることができる。回復プロセスが異常に終了した場合、制御コードがこの状態を検出し、システムのリセットを実行できることに留意されたい。
【００１０】
図１を参照すると、組込み型制御システム１００は、好ましい実施形態に従ってプロセス回復をサポートするシステムの１つの好適なタイプを表す。図１に示されるように、組込み型制御システム１００は、システム・バス１５０を介してメモリ１２０およびＩ／Ｏインターフェース１３０に接続されたプロセッサ１１０を含む。
【００１１】
メモリ１２０は、制御コード１２１、回復プロセス１２２、およびプロセス１２５Ａから１２５Ｎとして図１に示された１つまたは複数の他のプロセス１２５を含む。制御コード１２１は、組込み型制御システム１００の機能を制御するコードであり、市販のオペレーティング・システムを含むか、または、組込み型制御システム１００に意図された機能を実行させるように作成された単なるカスタム・コードであってよい。制御コード１２１は、プロセッサ１１０、メモリ１２０、Ｉ／Ｏインターフェース１３０、およびシステム・バス１５０などの組込み型制御システム１００のリソースを管理する。さらに好ましいことに、制御コード１２１は回復プロセス１２２を監視し、回復プロセス１２２が異常に終了すると、制御コード１２１は組込み型制御システム１００のシステム・リセットを引き起こす。システムをリセットするための従来技術の方法２００は、制御コード１２１が回復プロセス１２２の異常終了を監視するために使用することができる。ただし好ましい実施形態では、システム内のプロセス１２５のリセットは、回復プロセス１２２によって管理される。その結果、プロセス１２５Ａの異常終了が、図２の方法２００に示されるようなシステム・リセットを必ずしも引き起こすとは限らない。
【００１２】
好ましい実施形態では、制御コード１２１は回復プロセス１２２および他のプロセス１２５を作成し、好ましくはプロセッサ１１０に結合された不揮発性電子メモリに常駐する。したがってメモリ１２０は、（ランダム・アクセス・メモリなどの）揮発性電子メモリおよび（読取り専用メモリなどの）不揮発性電子メモリを含むことが可能である。回復ポリシー１２６は不揮発性メモリに常駐するため、不揮発性メモリにプログラム書込みされ、組込み型制御システムのユーザが変更することはできない。回復ポリシー１２６は、制御コード１２１へのアクセス権を有するプログラマによってのみ変更可能である。そのため、回復ポリシー１２６はプログラミング環境でのみ変更可能であって、装置１００が実行中の間は変更することができない。
【００１３】
回復プロセス１２２は、１つまたは複数の他のプロセス（たとえば図１の１２５）を監視するために使用される、制御コード１２１によって作成された特殊プロセスである。好ましい実施形態では、回復プロセス１２２はすべてのプロセス１２５の異常終了を監視する。プロセス１２５が異常に終了すると、回復プロセス１２２は第1に、プロセスが（図１で１２６Ａから１２６Ｎとして示された）対応する回復ポリシー１２６を有するかどうかを判定する。プロセスが回復ポリシーを有していない場合、回復プロセス１２２はプロセスを回復するために何も実行しない。プロセスが対応する回復ポリシーを有する場合、回復プロセス１２２は、回復ポリシーによってプロセスを回復するように指示された１つまたは複数のアクションを実行することができる。
【００１４】
プロセッサ１１０は、１つまたは複数のマイクロプロセッサおよび／または集積回路から構築することができる。プロセッサ１１０は、メモリ１２０に格納されたプログラム命令を実行する。メモリ１２０は、プロセッサ１１０がアクセス可能なプログラムおよびデータを格納する。コンピュータ・システム１１０が起動すると、プロセッサ１１０は最初に、制御コード１２１を構成するプログラム命令を実行する。
【００１５】
Ｉ／Ｏインターフェース１３０は、組込み型プロセッサ・システム１００の特定アプリケーションに従って、好適な数およびタイプのインターフェースを含むことができる。たとえばＩ／Ｏインターフェース１３０は、オンチップＡ／Ｄ変換器への、またはオンチップＤ／Ａ変換器へのインターフェースを含むことができる。Ｉ／Ｏインターフェース１３０は、ディスプレイ・ドライバ・インターフェースを含むことができる。Ｉ／Ｏインターフェース１３０は、図１では単一アイテムとして示されているが、当分野の技術者であれば、Ｉ／Ｏインターフェース１３０は、現在知られているかまたは将来開発されるかいずれかの、組込み型制御システム１００用の任意のおよびすべての好適なインターフェースを含むことができることを理解されよう。
【００１６】
組込み型制御システム１００は単一のプロセッサおよび単一のシステム・バスのみを含むように示されているが、当分野の技術者であれば、本発明が、複数のプロセッサおよび／または複数のバスを有するシステムで実施可能であることを理解されよう。さらに、好ましい実施形態で使用されたＩ／Ｏインターフェース１３０は、プロセッサ１１０からの計算多用（ｃｏｍｐｕｔｅ−ｉｎｔｅｎｓｉｖｅ）処理を肩代わりするのに使用される、完全にプログラムされた別々のマイクロプロセッサを含むこともできる。
【００１７】
この点で、本発明について、完全に機能できる組込み型制御システムのコンテキストでこれまで説明し、さらにこれからも引き続き説明するが、当分野の技術者であれば、本発明が様々な形式のプログラム記録媒体（ｐｒｏｇｒａｍ  ｐｒｏｄｕｃｔ）として配布可能であること、および本発明が実際に配布を実行する際に使用される特定タイプのコンピュータ読取り可能信号搬送（ｂｅａｒｉｎｇ）媒体であるかどうかにかかわらず等しく適用されることを理解するであろうということに留意することが重要である。好適な信号搬送媒体の例には、フレキシブルディスクおよびＣＤ  ＲＯＭなどの記録可能タイプの媒体、ならびにデジタルおよびアナログの通信リンクなどの伝送タイプの媒体が含まれる。次に、好ましい実施形態のプログラム記録媒体を、組込み型制御システム１００の不揮発性メモリにプログラムすることができる。
【００１８】
好ましい実施形態に従った図１の回復ポリシー１２６の好ましい実施が、図３に示されている。好ましいことに回復ポリシー１２６は、回復カウント３１０、回復時間３２０、および回復アクション３３０を指定する。回復カウント３１０は、対応するプロセスを回復することのできる最大回数である。回復時間３２０は、時間枠を指定することができる。回復時間３２０がゼロの場合、回復カウント３１０は、最後のシステム・リセット以降に対応するプロセスを回復することのできる回数を反映する。回復時間３２０がゼロよりも大きい場合、回復カウント３１０は、回復時間３２０によって定義された時間間隔内で対応するプロセスが回復された回数を反映する。回復アクション３３０は、対応するプロセスを回復するために実行する１つまたは複数のアクションを指定する。最も一般的なケースでは、回復アクション３３０は対応するプロセスを再起動することを指定する。ただし、回復アクション３３０は任意の好適な数および機能のタイプを含むことができる。たとえば、対応するプロセスが異なるプロセスに依存する場合、各プロセスの回復アクション３３０は、どちらのプロセスも再起動されるように指定することができる。他の例では、回復アクション３３０はエラー・メッセージまたはエラー情報のログ、それに続くプロセスの再起動を含むことができる。
【００１９】
好ましい実施形態では、回復プロセス１２２は、好ましくは図４に示される方法４００のステップを実行する。方法４００は、プロセスが終了すると開始される（ステップ４１０）。第1に、ステップ４２０はプロセスを回復する必要があるかどうかを判定する（ステップ４２０）。必要がない場合（ステップ４２０＝「いいえ」）、回復プロセスのアクションは不要であり、方法４００は終了する。プロセスを回復する必要がある場合（ステップ４２０＝「はい」）、対応する回復ポリシーの回復時間が読み取られる。回復時間がゼロより大きい場合（ステップ４３０＝「はい」）、「回復済みカウント」と呼ばれる値は、回復時間によって定義された過去の期間内にプロセスが回復された回数を表す（ステップ４４０）。プロセスの回復時間がゼロよりも大きくない場合（ステップ４３０＝「いいえ」）、回復済みカウントは、最後のシステム・リセット以降にプロセスが回復された回数である（ステップ４５０）。次に回復済みカウントは、対応するプロセスの回復ポリシーで指定された回復カウント３１０と比較される（ステップ４６０）。回復済みカウントが回復カウントよりも大きくない場合（ステップ４６０＝「いいえ」）、プロセスは回復される（ステップ４７０）。回復済みカウントが回復カウントよりも大きい場合（ステップ４６０＝「はい」）、システムはリセットされる（ステップ４８０）。ステップ４７０で実行されるアクションは、対応する回復ポリシー１２６の回復アクション３３０に指定されていることに留意されたい。
【００２０】
ステップ４８０のシステム・リセットは、組込み型プロセッサ・システムの任意の好適なリセットであってよい。最も好ましい実施では、システム・リセットは、プロセッサに制御コード１２１の実行を新たに開始させるソフトウェア・リセットである。ただしステップ４８０は、組込み型制御プロセッサの出力ラインが、ハードウェア・リセット信号を駆動する出力を有する単安定マルチバイブレータ（ワンショット）の入力に接続されている場合、ハードウェア・リセットを発生させることもできる。ステップ４８０は、組込み型プロセッサ・システムをリセットするための、任意のおよびすべてのハードウェアおよびソフトウェア方法を明確に含むものである。
【００２１】
図５の流れ図は、好ましい実施形態に従った図４のステップ４２０に関する１つの好適な実施を示し、プロセスを回復する必要があるか否かを判定するものである。プロセスが正常に終了した場合（ステップ５１０＝「はい」）、プロセスを回復する必要はない（ステップ５２０）。プロセスが正常に終了しなかった場合（ステップ５１０＝「いいえ」）、プロセスの回復が必要な可能性がある。プロセスが回復ポリシーを有していない場合（ステップ５３０＝「いいえ」）、プロセスを回復する必要はない（ステップ５２０）。プロセスが対応する回復ポリシーを有する場合（ステップ５３０＝「はい」）、回復プロセスは回復ポリシーからプロセスを回復する必要があるかどうかを判定する（ステップ５４０）。必要がない場合（ステップ５４０＝「いいえ」）、プロセスを回復する必要はない（ステップ５２０）。回復ポリシーが、プロセスを回復する必要があることを示す場合（ステップ５４０＝「はい」）、プロセスを回復する必要がある（ステップ５５０）。
【００２２】
回復ポリシーがあるということは、対応するプロセスを回復する必要があることを示すと考えられ、これはステップ５４０の回答が常に「はい」となるはずであることを意味する。ただし、回復ポリシーは、プロセスが異常に終了した場合に存在する条件に基づいて、回復が妥当であるかどうかを判定する条件またはテストを含むことができる。たとえば回復ポリシーは、受入れ可能でありプロセスの回復をトリガすべきでない異常終了の指定を含むことが可能である。この例では、あるプロセスがプロセスを強制終了する権限を有する特定のプロセスによって強制終了（ｋｉｌｌ）される場合、回復ポリシーは、この特定のプロセスによって強制終了された場合はプロセスを回復しないことを指定することができる。
【００２３】
好ましい実施形態に従った回復ポリシーの一例１２６Ｍが、図６に示される。組込み型制御システム１００は自動制御システムであると想定する。自動制御に使用される組込み型制御システムの機能のうちの１つは、エンジンの性能を示すエンジン・センサを読み取ることである。この特定の例では、エンジン・センサがセンサ・ポーリング・プロセスによって読み取られることを想定する。したがって、図６に示された回復ポリシーは、センサ・ポーリング・プロセスに対応する回復ポリシーであると想定する。この特定の例では、回復カウント３１０Ｍは値３に設定され、回復時間３２０Ｍは値５秒に設定され、回復アクション３３０Ｍは対応するプロセスが再起動することを指定する。センサ・ポーリング・プロセスが異常に終了すると、回復プロセスはセンサ・ポーリング・プロセスに対応する回復ポリシー１２６Ｍを読み取り、センサ・ポーリング・プロセスが最後の５秒間に３回回復されたかどうかを判定する。否定応答である場合、プロセスは（回復アクション３３０で指定されたように）プロセスを再起動することによって回復される。センサ・プロセスがすでに最後の５秒間に３回回復されている場合、システムはリセットされる。
【００２４】
好ましい実施形態は、組込み型プロセッサ・システムでプロセスを選択的かつ個別に回復するための方法を提供する。他のプロセスに影響を与えることなくプロセスを回復する必要がある場合、時間および頻度のパラメータを指定し、プロセスを回復するために実行する１つまたは複数のアクションを指定する、対応する回復ポリシーを作成し、組込み型プロセッサ・システムの不揮発性メモリにプログラムすることができる。回復ポリシー内の時間または頻度のパラメータに合致しない場合、組込み型プロセッサ・システムをリセットすることができる。さらに、回復プロセスそれ自体が異常に終了した場合も、組込み型プロセッサ・システムをリセットすることができる。したがって好ましい実施形態は、ユーザの介入なしに、および組込み型プロセッサ・システム内の他のプロセスに影響を与えることなしに、プロセスを回復する効果的な方法を提供する。
【００２５】
当分野の技術者であれば、本発明の範囲内で多くの変形形態が可能であることを理解されよう。したがって、これまで本発明についてその好ましい実施形態を参照しながら具体的に図示および説明してきたが、当分野の技術者であれば、本発明の精神および範囲を逸脱することなく、これらおよび他の形式および細部の変更が実行可能であることを理解されよう。
【００２６】
まとめとして、本発明の構成に関して以下の事項を開示する。
【００２７】
（１）組込み型制御プロセッサと、
前記組込み型制御プロセッサに結合されたメモリと、
前記メモリ内に常駐し、前記組込み型制御プロセッサによって実行される回復プロセスとを含む装置であって、前記回復プロセスは前記メモリ内に常駐し前記組込み型制御プロセッサによって実行される複数のプロセスを監視し、前記複数のプロセスのうちの少なくとも１つは、対応するプロセスが前記複数のプロセスのうちの他に影響を与えることなく前記回復プロセスによって回復できることを指定した対応する回復ポリシーを有する装置。
（２）前記対応する回復ポリシーは前記組込み型制御プロセッサに結合された不揮発性電子メモリに常駐する、請求項１に記載の装置。
（３）前記回復プロセスは前記複数のプロセスの異常終了を監視する、請求項１に記載の装置。
（４）前記回復プロセスは、前記対応する回復ポリシーが、前記対応するプロセスが前記回復プロセスによって回復可能であることを指定する場合に、ユーザの介入なしに前記対応するプロセスを回復するものである、請求項１に記載の装置。
（５）前記回復プロセスの異常終了を監視し、前記回復プロセスが異常に終了した場合に前記装置をリセットするメカニズムをさらに含む、請求項１に記載の装置。
（６）前記回復ポリシーは回復カウント、回復時間、および回復アクションを含む、請求項１に記載の装置。
（７）前記回復プロセスは、前記対応する回復ポリシーが、前記対応するプロセスが回復可能であることを指定する場合に前記対応するプロセスを回復するものであって、前記回復プロセスは、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のリセット以降の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップとを含む、請求項６に記載の装置。
（８）組込み型制御プロセッサと、
前記組込み型制御プロセッサに結合された不揮発性電子メモリと、
前記組込み型制御プロセッサによって実行される複数のプロセスと、
前記組込み型制御プロセッサによって実行される回復プロセスとを含む装置であって、前記回復プロセスは前記複数のプロセスの異常終了を監視し、前記複数のプロセスのうちの少なくとも１つは、対応するプロセスが回復可能であるかどうかを指定する前記不揮発性電子メモリに常駐する対応する回復ポリシーを有し、前記回復ポリシーは回復カウント、回復時間、および回復アクションを含み、前記回復プロセスは、前記対応する回復ポリシーが、前記対応するプロセスが回復可能であることを指定する場合に、ユーザの介入なしに、および前記複数のプロセスのうちの他に影響を与えることなしに、前記対応するプロセスを回復するものであって、前記回復プロセスは、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のリセット以降の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップとを含む装置。
（９）組込み型制御プロセッサによって実行された複数のプロセスのうちの少なくとも１つを回復するためのコンピュータ実施方法であって、前記方法は、
前記複数のプロセスを監視するステップと、
前記複数のプロセスのうちの１つが異常に終了した場合、および前記１つのプロセスが対応する回復ポリシーを有する場合、前記１つのプロセスが前記複数のプロセスのうちの他に影響を与えることなく回復可能であるかどうかを、前記対応する回復ポリシーから判定するステップとを含む方法。
（１０）不揮発性電子メモリから前記対応する回復ポリシーを読み取るステップをさらに含む、請求項９に記載の方法。
（１１）前記対応する回復ポリシーが前記１つのプロセスが回復可能であることを指定する場合に、ユーザの介入なしに前記１つのプロセスを回復するステップをさらに含む、請求項９に記載の方法。
（１２）前記回復プロセスの異常終了を監視するステップと、
前記回復プロセスが異常に終了した場合に前記組込み型制御プロセッサを含む前記システムをリセットするステップをさらに含む、請求項９に記載の方法。
（１３）前記回復ポリシーは回復カウント、回復時間、および回復アクションを含む、請求項９に記載の方法。
（１４）前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が、前記組込み型制御プロセッサを含むシステムの最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のシステム・リセット以降の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップとを含む、請求項１３に記載の方法。
（１５）組込み型制御プロセッサによって実行された複数のプロセスのうちの少なくとも１つを回復するためのコンピュータ実施方法であって、前記方法は、
前記複数のプロセスの異常終了を監視するステップと、
前記複数のプロセスのうちの１つが異常に終了した場合、前記プロセスが、前記対応するプロセスが回復可能であるかどうかを指定する不揮発性電子メモリ内の対応する回復ポリシーを有するかどうかを判定するステップとを含み、前記回復ポリシーは回復カウント、回復時間、および回復アクションを含むものであって、
前記回復ポリシーは、前記プロセスが回復可能であることを指定する場合、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が、前記組込み型制御プロセッサを含むシステムの最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のシステム・リセット以降の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップとを実行する方法。
（１６）プログラム記録媒体であって、
（Ａ）システム内の組込み型制御プロセッサによって実行される複数のプロセスを監視するプロセス回復プログラムと、
（Ｂ）前記複数のプロセスのうちの１つに対応する回復ポリシーであって、前記回復ポリシーは、対応するプロセスが前記複数のプロセスのうちの他に影響を与えることなく前記プロセス回復プログラムによって回復可能であるかどうかを指定する回復ポリシーと、
（Ｃ）前記プロセス回復プログラムおよび前記回復ポリシーを搬送する、信号搬送媒体とを含むプログラム記録媒体。
（１７）前記信号搬送媒体は記録可能媒体を含む、請求項１６に記載のプログラム記録媒体。
（１８）前記信号搬送媒体は伝送媒体を含む、請求項１６に記載のプログラム記録媒体。
（１９）前記プロセス回復プログラムは前記複数のプロセスの異常終了を監視する、請求項１６に記載のプログラム記録媒体。
（２０）前記プロセス回復プログラムは、前記対応する回復ポリシーが、前記対応するプロセスが前記プロセス回復プログラムによって回復可能であることを指定する場合に、ユーザの介入なしに前記対応するプロセスを回復する、請求項１６に記載のプログラム記録媒体。
（２１）前記回復ポリシーは回復カウント、回復時間、および回復アクションを含む、請求項１６に記載のプログラム記録媒体。
（２２）前記プロセス回復プログラムは、前記対応する回復ポリシーが、前記対応するプロセスが回復可能であることを指定する場合に、前記対応するプロセスを回復するものであって、前記プロセス回復プログラムは、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が、最後のシステム・リセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記プロセス回復プログラムが前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記プロセス回復プログラムが前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のシステム・リセット以降の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記システムをリセットするステップとを実行する、請求項２１に記載されたプログラム記録媒体。
（２３）プログラム記録媒体であって、
（Ａ）システム内の少なくとも１つの組込み型制御プロセッサによって実行される複数のプロセスの異常終了を監視するプロセス回復プログラムを含み、前記複数のプロセスのうちの少なくとも１つは、不揮発性電子メモリに格納された、前記対応するプロセスが回復可能であるかどうかを指定する対応する回復ポリシーを有し、前記回復ポリシーは回復カウント、回復時間、および回復アクションを含むものであって、
前記プロセス回復プログラムは、前記対応する回復ポリシーが、前記対応するプロセスが回復可能であることを指定する場合に、ユーザの介入なしに、および前記複数のプロセスのうちの他に影響を与えることなしに、前記対応するプロセスを回復するものであって、前記プロセス回復プログラムは、
前記回復カウントを読み取るステップと、
前記回復時間を読み取るステップと、
前記回復時間がゼロである場合、前記対応するプロセスが回復された回数が、最後のリセット以降の回復カウントよりも少ないかどうかを判定し、少ない場合は前記プロセス回復プログラムが前記対応するプロセスを回復するステップと、
前記回復時間がゼロよりも大きい場合、前記対応するプロセスが回復された回数が前記回復時間によって指定された時間枠内の回復カウントよりも少ないかどうかを判定し、少ない場合は前記プロセス回復プログラムが前記対応するプロセスを回復するステップと、
前記回復時間がゼロである場合、および前記対応するプロセスが最後のリセット以降の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップと、
前記回復時間がゼロよりも大きい場合、および前記対応するプロセスが前記回復時間によって指定された時間枠内の回復カウントで指定された回数だけ回復された場合、前記装置をリセットするステップとを実行するものであって、
（Ｂ）さらに、前記プロセス回復プログラムを搬送する、コンピュータ読取り可能信号搬送媒体を含むプログラム記録媒体。
（２４）前記信号搬送媒体は記録可能媒体を含む、請求項２３に記載のプログラム記録媒体。
（２５）前記信号搬送媒体は伝送媒体を含む、請求項２３に記載のプログラム記録媒体。
【図面の簡単な説明】
【００２８】
【図１】好ましい実施形態に従った、ユーザ介入なしのプロセスの自動回復をサポートする組込み型装置を示す構成図である。
【図２】プロセスが異常に終了した場合に組込み型プロセッサ・システムをリセットするための、従来技術の方法を示す流れ図である。
【図３】好ましい実施形態に従った、図１に示された回復ポリシーの追加の詳細を示す構成図である。
【図４】プロセスが異常に終了した場合にプロセスを回復するための、好ましい実施形態に従った方法を示す流れ図である。
【図５】図４のステップ４２０に関する１つの好適な実施を示す、好ましい実施形態に従った方法を示す流れ図である。
【図６】プロセスの例に関する回復ポリシーの例を示す構成図である。
【符号の説明】
【００２９】
１００    組込み型制御システム
１１０    プロセッサ＃１
１２０    メモリ
１２１    制御コード
１２２    回復プロセス
１２５Ａ    プロセス＃１
１２５Ｎ    プロセス＃Ｎ
１２６Ａ    回復ポリシー＃１
１２６Ｎ    回復ポリシー＃Ｎ
１３０    Ｉ／Ｏインターフェース
１４０    Ｉ／Ｏデバイス
１５０    システム・バス
【図１】
2004326764.tif 000003
【図２】
2004326764.tif 000004
【図３】
2004326764.tif 000005
【図４】
2004326764.tif 000006
【図５】
2004326764.tif 000007
【図６】
2004326764.tif 000008