(57)【要約】【課題】実行する処理を切替える処理制御装置で異常が発生して、処理の切替えが正常になされなかった場合にその異常を検知する。【解決手段】装置制御部１２は、実行する処理（タスク）を切替えると共に実行するタスクが切替わるときに該切替内容を示す切替情報を出力する。異常検知部２６に、タスクの切替内容により規定される計時開始条件、タスクの切替内容により規定される計時停止条件、及び計時時間の上限値が予め定められた少なくとも１つのタイマ２６Ａ、上記切替情報に応じて、計時開始条件が満たされたタイマ２６Ａの計時を開始し、計時停止条件が満たされたタイマ２６Ａの計時を停止するタイマ制御部２６Ｃ、少なくとも１つのタイマ２６Ａの状態に基づいて、装置制御部１２に異常が発生したか否かを検知する異常検知処理部２６Ｄ、異常検知処理部２６Ｄで異常の発生が検知された場合に、予め定められた処置を実行する処置実行部２６Ｅを設ける。【選択図】図１
2012043147.tif 000002
【特許請求の範囲】
【請求項１】
処理の切替内容により規定される計時開始条件、及び処理の切替内容により規定される計時停止条件が予め定められた少なくとも１つの計時手段と、
実行する処理を切替える切替手段、及び前記実行する処理が切替わるときに該切替内容を示す切替情報を出力する出力手段を有する処理制御装置の前記出力手段から出力された切替情報に応じて、前記計時開始条件が満たされた計時手段の計時を開始し、前記計時停止条件が満たされた計時手段の計時を停止する計時制御手段と、
前記少なくとも１つの計時手段の状態に基づいて、前記処理制御装置に異常が発生したか否かを検知する検知手段と、
前記検知手段で異常の発生が検知された場合に、予め定められた処置を実行する処置実行手段と、
を備えた異常検知装置。
【請求項２】
実行する処理を切替える切替手段と、
処理の切替内容により規定される計時開始条件、及び処理の切替内容により規定される計時停止条件が予め定められた少なくとも１つの計時手段、前記切替手段で処理を切替えるときに出力された該切替内容を示す切替情報に応じて、前記計時開始条件が満たされた計時手段の計時を開始し、前記計時停止条件が満たされた計時手段の計時を停止する計時制御手段、前記少なくとも１つの計時手段の状態に基づいて前記処理制御装置に異常が発生したか否かを検知する検知手段、及び前記検知手段で異常の発生が検知された場合に予め定められた処置を実行する処置実行手段を有する異常検知装置に対して、前記実行する処理が切替わるときに該切替内容を示す切替情報を出力する出力手段と、
を備えた処理制御装置。
【請求項３】
請求項１に記載の異常検知装置と、
請求項２に記載の処理制御装置と、
を有する情報処理システム。
【請求項４】
前記切替情報は、少なくとも、前記切替手段の切替えにより実行状態になった処理を示す第１の識別情報、及び前記第１の識別情報が示す処理の１つ前に実行状態であった処理を示す第２の識別情報を含む
請求項３に記載の情報処理システム。
【請求項５】
前記切替情報は、更に、前記切替手段の切替えの原因を示す原因情報を含む
請求項４に記載の情報処理システム。
【請求項６】
コンピュータを、
処理の切替内容により規定される計時開始条件、及び処理の切替内容により規定される計時停止条件が予め定められた少なくとも１つの計時手段の計時を制御するものであって、実行する処理を切替える切替手段、及び前記実行する処理が切替わるときに該切替内容を示す切替情報を出力する出力手段を有する処理制御装置の前記出力手段から出力された切替情報に応じて、前記計時開始条件が満たされた計時手段の計時を開始し、前記計時停止条件が満たされた計時手段の計時を停止する計時制御手段、
前記少なくとも１つの計時手段の状態に基づいて、前記処理制御装置に異常が発生したか否かを検知する検知手段、及び
前記検知手段で異常の発生が検知された場合に、予め定められた処置を実行する処置実行手段、
として機能させるための異常検知プログラム。
【請求項７】
コンピュータを、
実行する処理を切替える切替手段、及び
処理の切替内容により規定される計時開始条件と処理の切替内容により規定される計時停止条件とが予め定められた少なくとも１つの計時手段、前記実行する処理が切替わるときに出力された該切替内容を示す切替情報に応じて、前記計時開始条件が満たされた計時手段の計時を開始し、前記計時停止条件が満たされた計時手段の計時を停止する計時制御手段、前記少なくとも１つの計時手段の状態に基づいて前記処理制御装置に異常が発生したか否かを検知する検知手段、及び前記検知手段で異常の発生が検知された場合に予め定められた処置を実行する処置実行手段を有する異常検知装置に対して、前記切替手段で処理を切替えるときに該切替内容を示す切替情報を出力する出力手段、
として機能させるための処理制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、異常検知装置、処理制御装置、情報処理システム、異常検知プログラム、及び処理制御プログラムに関する。
【背景技術】
【０００２】
特許文献１には、リアルタイム処理系ＯＳを用いたシステムにおいて、被検査装置から転送されてくるタスクＩＤ・メッセージ内容とそれらに関連する事前条件のデータを受信する手段と、次いで、被検査装置で、メッセージに対応した処理が実行された後、転送されてくるタスクＩＤと関連する事後条件のデータを受信する手段と、それら受信した各データに対応して、並行して、比較・照合し、検査する手段と、被検査装置の実行時間への影響を最小限にするための、ＤＭＡ等高速データ転送チャネル制御部と、検査の結果がエラーとなった場合に、割り込み処理を行い、被検査装置へ知らせるための割り込み制御部と、を具備するソフトウェア検査装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０７−００６０５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明は、実行する処理を切替える処理制御装置で異常が発生して、処理の切替えが正常になされなかった場合にその異常を検知することができる異常検知装置、処理制御装置、情報処理システム、異常検知プログラム、及び処理制御プログラムを得ることを目的とする。
【課題を解決するための手段】
【０００５】
請求項１の発明は、処理の切替内容により規定される計時開始条件、及び処理の切替内容により規定される計時停止条件が予め定められた少なくとも１つの計時手段と、実行する処理を切替える切替手段、及び前記実行する処理が切替わるときに該切替内容を示す切替情報を出力する出力手段を有する処理制御装置の前記出力手段から出力された切替情報に応じて、前記計時開始条件が満たされた計時手段の計時を開始し、前記計時停止条件が満たされた計時手段の計時を停止する計時制御手段と、前記少なくとも１つの計時手段の状態に基づいて、前記処理制御装置に異常が発生したか否かを検知する検知手段と、前記検知手段で異常の発生が検知された場合に、予め定められた処置を実行する処置実行手段と、を備えた異常検知装置である。
【０００６】
請求項２の発明は、実行する処理を切替える切替手段と、処理の切替内容により規定される計時開始条件、及び処理の切替内容により規定される計時停止条件が予め定められた少なくとも１つの計時手段、前記切替手段で処理を切替えるときに出力された該切替内容を示す切替情報に応じて、前記計時開始条件が満たされた計時手段の計時を開始し、前記計時停止条件が満たされた計時手段の計時を停止する計時制御手段、前記少なくとも１つの計時手段の状態に基づいて前記処理制御装置に異常が発生したか否かを検知する検知手段、及び前記検知手段で異常の発生が検知された場合に予め定められた処置を実行する処置実行手段を有する異常検知装置に対して、前記実行する処理が切替わるときに該切替内容を示す切替情報を出力する出力手段と、を備えた処理制御装置である。
【０００７】
請求項３の発明は、請求項１に記載の異常検知装置と、請求項２に記載の処理制御装置と、を有する情報処理システムである。
【０００８】
請求項４の発明は、請求項３に記載の情報処理システムにおいて、前記切替情報は、少なくとも、前記切替手段の切替えにより実行状態になった処理を示す第１の識別情報、及び前記第１の識別情報が示す処理の１つ前に実行状態であった処理を示す第２の識別情報を含むものである。
【０００９】
請求項５の発明は、請求項４に記載の情報処理システムにおいて、前記切替情報は、更に、前記切替手段の切替えの原因を示す原因情報を含むものである。
【００１０】
請求項６の発明は、コンピュータを、処理の切替内容により規定される計時開始条件、及び処理の切替内容により規定される計時停止条件が予め定められた少なくとも１つの計時手段の計時を制御するものであって、実行する処理を切替える切替手段、及び前記実行する処理が切替わるときに該切替内容を示す切替情報を出力する出力手段を有する処理制御装置の前記出力手段から出力された切替情報に応じて、前記計時開始条件が満たされた計時手段の計時を開始し、前記計時停止条件が満たされた計時手段の計時を停止する計時制御手段、前記少なくとも１つの計時手段の状態に基づいて、前記処理制御装置に異常が発生したか否かを検知する検知手段、及び前記検知手段で異常の発生が検知された場合に、予め定められた処置を実行する処置実行手段、として機能させるための異常検知プログラムである。
【００１１】
請求項７の発明は、コンピュータを、実行する処理を切替える切替手段、及び処理の切替内容により規定される計時開始条件と処理の切替内容により規定される計時停止条件とが予め定められた少なくとも１つの計時手段、前記実行する処理が切替わるときに出力された該切替内容を示す切替情報に応じて、前記計時開始条件が満たされた計時手段の計時を開始し、前記計時停止条件が満たされた計時手段の計時を停止する計時制御手段、前記少なくとも１つの計時手段の状態に基づいて前記処理制御装置に異常が発生したか否かを検知する検知手段、及び前記検知手段で異常の発生が検知された場合に予め定められた処置を実行する処置実行手段を有する異常検知装置に対して、前記切替手段で処理を切替えるときに該切替内容を示す切替情報を出力する出力手段、として機能させるための処理制御プログラムである。
【発明の効果】
【００１２】
請求項１記載の発明によれば、実行する処理を切替える処理制御装置で異常が発生して、処理の切替えが正常になされなかった場合にその異常を検知することができる。
【００１３】
請求項２記載の発明によれば、実行する処理を切替える処理制御装置で異常が発生して、処理の切替えが正常になされなかった場合に、異常検知装置にその異常を検知させることができる。
【００１４】
請求項３記載の発明によれば、実行する処理を切替える処理制御装置で異常が発生して、処理の切替えが正常になされなかった場合にその異常を検知することができる。
【００１５】
請求項４記載の発明によれば、異常検知装置に対して、処理の切替内容を明確に認識させることができる。
【００１６】
請求項５記載の発明によれば、異常検知装置に対して、処理の切替内容をより詳細に認識させることができる。
【００１７】
請求項６記載の発明によれば、実行する処理を切替える処理制御装置で異常が発生して、処理の切替えが正常になされなかった場合にその異常を検知することができる。
【００１８】
請求項７記載の発明によれば、実行する処理を切替える処理制御装置で異常が発生して、処理の切替えが正常になされなかった場合に、異常検知装置にその異常を検知させることができる。
【図面の簡単な説明】
【００１９】
【図１】画像形成装置の構成の一例を示す概略ブロック図である。
【図２】タイマ設定テーブルの一例を示すイメージ図である。
【図３】異常検知設定テーブルの一例を示すイメージ図である。
【図４】ＲＴＯＳが行うタスク切替制御処理の内容を示すフローチャートである。
【図５】異常検知部が行うタイマ制御処理の内容を示すフローチャートである。
【図６】異常検知部が行う異常検知処理の内容を示すフローチャートである。
【図７】タスクの切替えが正常に行われた場合のシーケンスの一例を示す図である。
【図８】異常が発生してタスクの切替えが正常に行われなかった場合のシーケンスの一例を示す図である。
【図９】タスクの切替えが正常に行われた場合のシーケンスの他の例を示す図である。
【図１０】異常が発生してタスクの切替えが正常に行われなかった場合のシーケンスの他の例を示す図である。
【図１１】画像形成装置の構成の他の例を示す概略ブロック図である。
【図１２】画像形成装置の構成の他の例を示す概略ブロック図である。
【図１３】画像形成装置の構成の他の例を示す概略ブロック図である。
【図１４】画像形成装置を含む情報処理システムの構成の例を示す概略ブロック図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して実施形態の一例を詳細に説明する。図１には実施の形態に係る情報処理システムとしての画像形成装置１０が示されている。画像形成装置１０には、画像形成装置１０の各部の動作を制御する装置制御部１２と、セットされた読取対象の文書(紙原稿)を光学的に読み取って読取画像データを出力する画像読取部１４と、入力された画像データが表す画像を記録用紙上に形成する画像形成部１６と、ＬＣＤ等から成る表示部１８Ａ及びテンキーやタッチパネル等から成り利用者による操作を受付ける操作受付部１８Ｂが設けられた操作パネル１８と、ファクシミリ装置としての機能を備えた他の機器と電話線及び公衆通信網(図示省略)経由で画情報の送受信(ファクシミリ通信)を行う画情報送受信部２０と、ＰＣ(Personal Computer)等の情報処理装置とネットワークケーブル及びコンピュータネットワーク(図示省略)経由で情報の送受信を行うためのネットワーク通信制御部２２と、装置制御部１２での異常の発生を検知する異常検知部２６とが設けられており、これらはバス２４を介して互いに接続されている。
【００２１】
装置制御部１２はマイクロコンピュータ等から成り、ＣＰＵ１２Ａ、メモリ１２Ｂ、ＨＤＤ(Hard Disk Drive)やフラッシュメモリ等から成る不揮発性の記憶部１２Ｃが設けられている。記憶部１２Ｃには、画像形成装置１０で実現される機能を提供する処理（以下、タスクという）のプログラムと、タスクのプログラムを実行するためのプラットフォームとして機能すると共に、複数のタスクの実行を切替えながらリアルタイムシステムを実行するリアルタイム処理系のオペレーティング・システム(ＲＴＯＳ)のプログラムが各々記憶されている。
【００２２】
ここで、タスクの切替えについて説明する。１つのＣＰＵ１２Ａが、同時に複数のタスクを実行することはできないため、ＲＴＯＳは、ＣＰＵ１２Ａに割り当てるタスク（すなわち、実行するタスク）を切替えるようにしている。また、本実施の形態のＲＴＯＳは、実行するタスクを切替えるタスク切替タイミングで、その切替内容を示す切替情報を生成して出力するように構成されている。
【００２３】
切替情報には、例えば、切替えにより実行状態となったタスクを示す第１の識別情報、及び切替え直前に実行状態であったタスク（すなわち、第１の識別情報が示すタスクの１つ前に実行状態であったタスク）を示す第２の識別情報が含まれる。本実施の形態では、各タスクに対してタスクを識別するタスクＩＤが付与されている。従って、切替情報における第１の識別情報及び第２の識別情報として、何らかのタスクＩＤが記述される。
【００２４】
また、切替情報に、タスク切替えの原因を示す原因情報が含まれていてもよい。原因情報には、例えば、タスクの実行終了、スリープ状態への移行、ＣＰＵの明示的な解放、切替前のタスクより高い優先度のタスクの発生及び活性化、他のタスクが使用する資源が解放されるのを待つ資源待ち状態への移行、割込の発生などの理由を示す理由情報が含まれるようにしてもよいし、該理由情報の他に、理由情報を補足する情報、例えば、割込要因や解放待ち状態となった資源などを示す付随情報が含まれるようにしてもよい。
【００２５】
なお、本実施の形態において、割込及びアイドル状態についても、各々をタスクといっている。ここで、割込とは、画像形成装置１０の手動操作や画像形成装置１０に対する外部機器からの信号等を受付けて処理するこという。予め定められた時間間隔で割込が行われるようにプログラムしておくことも可能である。また、アイドル状態とは、待機状態をいい、具体的には、プログラムにより実現される処理を示すタスク（ここでは、プログラムタスクという）が実行されておらず割込処理も生じていない状態をいう。従って、何らかのプログラムタスクを実行中に割込が発生した場合や、該割込から復帰した場合、何らかのプログラムタスクの実行後にアイドル状態となった場合、及びアイドル状態から何らかのプログラムタスクが実行状態とされた場合、アイドル状態から割込が発生した場合、及び割込発生後にアイドル状態となった場合にも、タスクの切替えとみなして、切替情報が出力される。従って、割込及びアイドル状態の各々についてもタスクＩＤが付与されている。
【００２６】
なお、装置制御部１２は請求項１等に記載の処理制御装置の一例であり、ＣＰＵ１２ＡがＲＴＯＳのプログラムを実行することで本発明に係る切替手段、及び出力手段の一例として機能する。
【００２７】
異常検知部２６は、複数のタイマ２６Ａと、ＨＤＤやフラッシュメモリ等から成る不揮発性の記憶部２６Ｂと、タイマ制御部２６Ｃと、異常検知処理部２６Ｄと、処置実行部２６Ｅとが設けられている。
【００２８】
なお、本実施の形態では、複数のタイマ２６Ａが設けられている場合を例に挙げて説明するが、１つであってもよい。また、以下では、複数のタイマ２６Ａの各々を区別せずに説明するときは単にタイマ２６Ａと呼称して説明し、区別して説明する場合には、タイマＣ１、Ｃ２・・・等のように、Ｃｎ（ｎは自然数）の符号を付して説明する。複数のタイマ２６Ａの各々には、カウント（計時）を開始するときの計時開始条件と、計時を停止するときの計時停止条件と、計時時間の上限値（タイムアウト値）とがタイマ２６Ａ毎に予め設定されている。その設定内容は、記憶部２６Ｂにタイマ設定テーブルとして事前に（例えば、システム起動の際に）記憶しておく。図２に、タイマ設定テーブルの一例を示す。なお、ここでは、計時開始条件、計時停止条件、及びタイムアウト値の各々を１つのテーブルに記憶する例について説明したが、各々異なるテーブルに記憶しておくようにしてもよい。なお、各タイマ２６Ａは、ダウンカウンタのタイマであってもよいし、アップカウンタのタイマであってもよい。また、ここでは、タイムアウト値が各タイマ２６Ａに設定されている場合を例に挙げたが、タイムアウト値が設定されないタイマ２６Ａがあってもよい。
【００２９】
計時開始条件及び計時停止条件は、タスクの切替内容により規定される。例えば、「タスクＡからタスクＢに切替わった」ことを計時開始条件或いは計時停止条件としてもよいし、「タスクＡが資源待ち状態へ移行したためタスクＣに切替わった」ことを計時開始条件或いは計時停止条件としてもよい。
【００３０】
タイマ２６Ａの計時開始及び計時停止は、タイマ制御部２６Ｃにより制御される。具体的には、タイマ制御部２６Ｃは、ＲＴＯＳから出力された切替情報に基づき、（本実施の形態では記憶部２６Ｂのタイマ設定テーブルを参照しつつ、）計時開始条件を満たした計時停止中のタイマ２６Ａの計時を開始し、計時停止条件を満たした計時中のタイマ２６Ａの計時を停止する。タイマ２６Ａの計時停止後、計時はクリアされ、初期値に戻る。
【００３１】
異常検知処理部２６Ｄは、各タイマ２６Ａの状態（例えば、計時中か、停止中か、タイムアウトしたか等）に応じて、装置制御部１２に異常が発生したか否かを判断することにより、異常の発生を検知する。また、処置実行部２６Ｅは、異常検知処理部２６Ｄで異常の発生が検知された場合に、予め定められた処置を実行する。
【００３２】
本実施の形態では、異常検知処理部２６Ｄの異常検知、及び処置実行部２６Ｅの処置実行の際には、異常検知設定テーブルが参照される。図３に異常検知設定テーブルの一例を示す。異常検知設定テーブルには、異常を識別する識別番号と、その異常を検知するために使用されるタイマ２６Ａ（使用タイマ）を示す情報、異常発生時の使用タイマの状態を示す情報、及び異常が発生したときに実行すべき処置内容を示す情報とが対応付けて記憶されている。例えば、図３に示す例では、異常Ｅ１の異常を検知するために使用される使用タイマは、「タイマＣ１」であり、異常発生時の使用タイマの状態が「タイムアウト」であるため、異常検知処理部２６Ｄは、タイマＣ１がタイムアウトした（計時時間が予め設定されている上限値を超えた）場合に異常Ｅ１が発生したと判断する。また、異常検知処理部２６Ｄが、異常Ｅ１が発生したと判断した（すなわち、異常Ｅ１の発生を検知した）場合には、処置実行部２６Ｅは、異常Ｅ１に対応付けて異常検知設定テーブルに記憶されている処置内容を実行する。なお、ここでは、使用タイマ、使用タイマの状態、及び処置内容の各情報を１つのテーブルに記憶する例について説明したが、各々異なるテーブルに記憶しておくようにしてもよい。
【００３３】
次に本実施形態の作用を説明する。図４は、ＲＴＯＳが行うタスク切替制御処理の内容を示すフローチャートである。ステップ１００では、タスク切替タイミングが到来したか否かを判断する。タスク切替タイミングが到来した場合には、ステップ１０２に進み、実行するタスクの切替えを行う。そして、タスク切替え直後に、ステップ１０４で、ステップ１０２での切替内容を示す切替情報を生成して異常検知部２６に出力する。なお、このフローチャートでは、切替情報の出力を、タスクの切替えの直後に行うようにしているが、切替直前に切替情報を生成して出力するようにしてもよい。すなわち、ステップ１０２及びステップ１０４は、長時間のインターバルをおかずに連続して（ほぼ同時に）行われるものとする。
【００３４】
図５は、装置制御部１２から出力された切替情報が異常検知部２６に入力された場合に、異常検知部２６（のタイマ制御部２６Ｃ）が行うタイマ制御処理の内容を示すフローチャートである。
【００３５】
ステップ２００では、入力された切替情報に基づいて、タイマ設定テーブルを参照し、いずれかのタイマ２６Ａの計時開始条件を満たしたか否かを判断する。例えば、タイマＣ１の計時開始条件が、「タスクＡからタスクＢに切替わった」こととする場合において、装置制御部１２で生成され出力された切替情報に含まれる第１の識別情報（切替えにより実行状態となったタスクのタスクＩＤ）がタスクＢを示し、第２の識別情報（切替直前に実行状態であったタスクのタスクＩＤ、すなわち、タスクＢの１つ前に実行状態であったタスクのタスクＩＤ）がタスクＡを示すときには、タイマＣ１の計時開始条件が満たされたと判断する。ステップ２００で肯定判断した場合には、ステップ２０２に進む。
【００３６】
ステップ２０２では、計時開始条件を満たしたタイマ２６Ａの計時を開始させる。その後、ステップ２０４に進む。
【００３７】
また、ステップ２００で否定判断した場合には、ステップ２０２をスキップして、ステップ２０４に進む。
【００３８】
ステップ２０４では、入力された切替情報に基づいて、いずれかのタイマ２６Ａの計時停止条件を満たしたか否かを判断する。ステップ２０４で肯定判断した場合には、ステップ２０６に進む。
【００３９】
ステップ２０６では、計時停止条件を満たしたタイマ２６Ａの計時を停止させる。また、ステップ２０４で否定判断した場合には、ステップ２０６をスキップしてこのタイマ制御処理を終了する。なお、ステップ２０４、２０６をステップ２００の前に行うようにしてもよい。
【００４０】
図６は、異常検知部２６（異常検知処理部２６Ｄ，及び処置実行部２６Ｅ）が行う異常検知処理の内容を示すフローチャートである。
【００４１】
ステップ３００では、異常検知処理部２６Ｄが、各タイマ２６Ａの状態を取得する。
【００４２】
ステップ３０２では、異常検知処理部２６Ｄが、上記取得した各タイマ２６Ａの状態に基づいて、装置制御部１２に異常が発生したか否かを判断する。例えば、異常検知設定テーブルには図３に示す内容が記憶されており、上記取得した各タイマ２６Ａの状態のうち、タイマＣ１の状態が「タイムアウト」の状態であれば、異常検知処理部２６Ｄは、異常Ｅ１が発生したと判断（ステップ３０２で肯定判断）する。また、異常検知処理部２６Ｄは、各タイマ２６Ａの状態から、なんの異常も発生していないと判断した場合（ステップ３０２で否定判断した場合）には、ステップ３００に戻る。すなわち、ステップ３０２で肯定判断した場合には、異常の発生を検知したこととなり、ステップ３０２で否定判断した場合には、異常の発生を検知しなかったこととなる。
【００４３】
ステップ３０４では、処置実行部２６Ｅは、異常検知設定テーブルを参照し、上記検知した異常に応じて予め定められた処置を実行する。例えば、異常Ｅ１が発生したことが検知された場合には、Ｅ１に対応して記憶されている処置内容を実行する。なお、ここでは、検知した異常に応じた処置を実行する例について説明したが、異常の種別によらず予め定められた固定的な処置（例えば、装置制御部（ＲＴＯＳ）への割込、システムのシャットダウン等）を実行するようにしてもよい。
【００４４】
ステップ３０４の後は、ステップ３００に戻る。
【００４５】
次に、より具体的な例を挙げて説明する。なお、以下では、前述した第１の識別情報、第２の識別情報、及び原因情報（理由情報、付随情報）の各々が、計時開始条件、及び計時停止条件を規定する情報として用いられると共に、ＲＴＯＳが出力する切替情報に含まれているものとする。ここでは、各情報を以下のように表す。
【００４６】
第１の識別情報：CurrentTaskID
第２の識別情報：PreviousTaskID
理由情報：TaskSwitchCauseID
付随情報：resourceID
【００４７】
＜例１＞
【００４８】
画像形成部１６が電子写真方式（静電写真方式）の画像形成部であって、画像形成部に、記録用紙に転写されたトナー画像を加熱、加圧して定着させる定着器が設けられているものとする。なお、定着器には温度センサが設けられ、定期的に定着器の温度を測定するようにしている。そして、この温度センサが示す測定温度が予め定められた温度に達していなければ、定着器のヒータをＯＮにし、予め定められた温度に達していれば、ヒータをＯＦＦにするように制御している。この制御を定着器制御タスクが行う。
【００４９】
ここでは、この定着器制御タスク（タスクＩＤ：FUSER_TASK_ID）が、予め定められた時間Ｔ１動作できない異常を検知し、当該異常を検知した場合に、定着器のヒータを強制的にＯＦＦする例について説明する。
【００５０】
１．まず、事前に、以下の（１）から（４）までの設定を行う。設定は、操作パネル１８を介して行い異常検知部２６の記憶部２６Ｂに記憶するようにしてもよい。また、外部の装置からネットワーク通信制御部２２を介して入力したものを異常検知部２６の記憶部２６Ｂに記憶して設定するようにしてもよい。
【００５１】
（１）タイマＣ１がタイムアウトすると、ＣＰＵ１２Ａの制御にかかわらず、定着器をＯＦＦする（ヒータをＯＦＦする）ように設定しておく。例えば、前述の異常検知設定テーブルにおいて、異常識別番号Ｅｘに対応させて、使用タイマに「Ｃ１」、使用タイマの状態に「タイムアウト」、処置内容に「定着器をＯＦＦする。」を記憶して設定する。
【００５２】
（２）タイマＣ１の計時開始条件を、以下のように設定する。下記条件式中のANYは任意の値を示す。また、「==」は「等しい」を示し、「!=」は「等しくない」を示す。
((PreviousTaskID    == FUSER_TASK_ID) && 
(CurrentTaskID     != FUSER_TASK_ID) && 
(TaskSwitchCauseID == ANY) &&
(resourceID        == ANY))
この条件式により、切替前に実行状態であったタスクが「定着器制御タスク」であり、切替後に実行状態となったタスクが「定着器制御タスク以外のタスク」であって、タスク切替えの原因はどんな原因であってもよいとする計時開始条件が設定される。
【００５３】
（３）タイマＣ１の計時停止条件を、以下のように設定する。
((PreviousTaskID    != FUSER_TASK_ID) && 
(CurrentTaskID     == FUSER_TASK_ID) && 
(TaskSwitchCauseID == ANY) &&
(resourceID        == ANY))
この条件式により、切替前に実行状態であったタスクが「定着器制御タスク以外のタスク」であり、切替後に実行状態となったタスクが「定着器制御タスク」であって、タスク切替えの原因はどんな原因であってもよいとする計時停止条件が設定される。
【００５４】
（４）タイマＣ１のタイムアウト値に「Ｔ１」を設定する。
【００５５】
２．システム稼働開始。
【００５６】
３．正常時のシーケンス
【００５７】
図７を参照して、異常の発生が検知されない場合のシーケンスの一例について説明する。
【００５８】
タスク切替タイミングが到来し（Ｓ１）、ＲＴＯＳが、実行するタスクを、定着器制御タスクから定着制御タスク以外のタスクに切替える（Ｓ２）。このとき、この切替内容を示す切替情報がＲＴＯＳから異常検知部２６に対して出力される（Ｓ３）。この切替情報が示す切替内容は、上記タイマＣ１の計時開始条件を満たす。従って、異常検知部２６で、タイマＣ１の計時が開始される（Ｓ４）。
【００５９】
その後、タイマＣ１がタイムアウトする前にタイマ切替タイミングが到来し（Ｓ５）、ＲＴＯＳが、実行するタスクを定着器制御タスク以外のタスクから定着制御タスクに切替える（Ｓ６）。このとき、この切替内容を示す切替情報がＲＴＯＳから異常検知部２６に対して出力される（Ｓ７）。この切替情報が示す切替内容は、上記タイマＣ１の計時停止条件を満たす。従って、異常検知部２６で、タイマＣ１の計時が停止される（Ｓ８）。タイマＣ１は、計時を開始してからタイムアウト値Ｔ１が経過する前に停止したため、異常検知部２６で異常が発生したと判断されない。
【００６０】
４．異常検知時のシーケンス
【００６１】
図８を参照して、異常の発生が検知される場合のシーケンスの一例について説明する。
【００６２】
Ｓ１からＳ４までは図７で説明した正常時のシーケンスと同様であるため、説明を省略する。
【００６３】
タイマＣ１の計時を開始した後、タイムアウト値Ｔ１が経過するまでに、実行状態のタスクが定着器制御タスク以外のタスクから定着制御タスクに切替わったという切替内容を示す切替情報がＲＴＯＳから異常検知部２６に出力されない場合には、計時停止条件が満たされず、タイマＣ１がタイムアウトする（Ｓ１０）。異常検知部２６は、タイムアウトしたタイマＣ１の計時を停止する（Ｓ１１）。そして、異常検知部２６は、タイマＣ１がタイムアウトしたことをもって異常Ｅｘが発生したことを検知し、定着器のヒータの電源を制御する電源制御部に対して定着器をＯＦＦ（ヒータをＯＦＦ）にする命令を出力すると共に（Ｓ１２）、ＲＴＯＳに対して割込を発生させる（Ｓ１３）。
【００６４】
＜例２＞
【００６５】
ここでは、割込ハンドラ（タスクＩＤ：INTR_SEND_TASK_ID）により送信されるメッセージを、割込処理用タスク（タスクＩＤ：INTR_RECV_TASK_ID）が受信待ちしているソフトウェアの構成において、割込ハンドラにより予め定められた割込が発生（TaskSwitchCauseID：INTERRUPT、resourceID：INT2）してから予め定められた時間（Ｔ２）経過しても割込処理用タスクが起動しない状態を検知し、異常発生とみなしてシステムをシャットダウンする例について説明する。
【００６６】
１．まず、事前に、以下の（１）から（４）までの設定を行う。
【００６７】
（１）タイマＣ２がタイムアウトすると、画像形成装置１０がシャットダウンするように設定しておく。例えば、前述の異常検知設定テーブルに、異常識別番号Ｅｙに対応させて、使用タイマに「Ｃ２」、使用タイマの状態に「タイムアウト」、処置内容に「システムのシャットダウン」を記憶して設定する。
【００６８】
（２）タイマＣ２の計時開始条件を、以下のように設定する。ここで、INTERRUPTは割込を表し、INT2は、割込要因を表している。
((PreviousTaskID    != INTR_SEND_TASK_ID) && 
(CurrentTaskID     == INTR_SEND_TASK_ID) && 
(TaskSwitchCauseID == INTERRUPT) &&
(resourceID        == INT2))
この条件式により、切替前に実行状態であったタスクが「割込ハンドラ以外のタスク」であり、切替後に実行状態となったタスクが「割込ハンドラ」であって、タスク切替えの原因は「割込」であって、その割込の要因は「INT2」で識別される要因であるとする計時開始条件が設定される。
【００６９】
（３）タイマＣ２の計時停止条件を、以下のように設定する。
((PreviousTaskID    != INTR_RECV_TASK_ID) && 
(CurrentTaskID     == INTR_RECV_TASK_ID) && 
(TaskSwitchCauseID == ANY) &&
(resourceID        == ANY))
この条件式により、切替前に実行状態であったタスクが「割込処理用タスク以外のタスク」であり、切替後に実行状態となったタスクが「割込処理用タスク」であって、タスク切替えの原因はどんな原因であってもよいとする計時停止条件が設定される。
【００７０】
（４）タイマＣ２のタイムアウト値に「Ｔ２」を設定する。
【００７１】
２．システム稼働開始。
【００７２】
３．正常時のシーケンス
【００７３】
図９を参照して、異常の発生が検知されない場合のシーケンスの一例について説明する。
【００７４】
割込（INT2)の発生によりタスク切替タイミングが到来し（Ｓ２１）、ＲＴＯＳが、実行するタスクを、割込ハンドラ以外のタスクから割込ハンドラに切替える（Ｓ２２）。このとき、この切替内容を示す切替情報がＲＴＯＳから異常検知部２６に対して出力される（Ｓ２３）。この切替情報が示す切替内容は、上記タイマＣ２の計時開始条件を満たす。従って、異常検知部２６で、タイマＣ２の計時が開始される（Ｓ２４）。
【００７５】
その後、タイマＣ２がタイムアウトする前にタイマ切替タイミングが到来し（Ｓ２５）、ＲＴＯＳが、実行するタスクを割込処理用タスク以外のタスクから割込処理用タスクに切替える（Ｓ２６）。このとき、この切替内容を示す切替情報がＲＴＯＳから異常検知部２６に対して出力される（Ｓ２７）。この切替情報が示す切替内容は、上記タイマＣ２の計時停止条件を満たす。従って、異常検知部２６で、タイマＣ２の計時が停止される（Ｓ２８）。タイマＣ２は、計時を開始してからタイムアウト値Ｔ２が経過する前に停止したため、異常検知部２６で異常が発生したと判断されない。
【００７６】
４．異常検知時のシーケンス
【００７７】
図１０を参照して、異常の発生が検知される場合のシーケンスの一例について説明する。
【００７８】
Ｓ２１からＳ２４までは図９で説明した正常時のシーケンスと同様であるため、説明を省略する。
【００７９】
タイマＣ２の計時を開始した後、タイムアウト値Ｔ２が経過するまでに、実行状態のタスクが割込処理用タスク以外のタスクから割込処理用タスクに切替わったという切替内容を示す切替情報がＲＴＯＳから異常検知部２６に出力されない場合には、タイマＣ２がタイムアウトする（Ｓ３０）。異常検知部２６は、タイムアウトしたタイマＣ２の計時を停止する（Ｓ３１）。そして、異常検知部２６は、タイマＣ２がタイムアウトしたことをもって異常Ｅｙが発生したことを検知し、画像形成装置１０の電源を制御する電源制御部に対して画像形成装置１０の電源をＯＦＦする（システムをシャットダウンする）命令を出力する（Ｓ３２）。
【００８０】
なお、上記説明した２つの具体例では、１つのタイマ２６Ａを用いて異常を検知する例について説明したが、これに限定されない。例えば、複数のタイマ２６Ａを組み合わせ、各タイマ２６Ａの状態（停止中/計時中/タイムアウト発生)に応じて異常を検知するようにしてもよい。例えば、図３に示す異常Ｅ２では、タイマＣ２がタイムアウトし、且つタイマＣ３が計時中の場合に、異常と判断されるように設定されている。
【００８１】
また、上記具体例では、異常の発生を検知したときに実行する処置として、ＲＴＯＳに対する割込の発生や、画像形成装置１０の特定の構成要素を予め定められた状態に移行ささせる例について説明したが、これに限定されず、例えば、画像形成装置１０の外部の装置に異常の発生を報知するようにしてもよい。また、例えば、例１では、計時開始条件、及び計時停止条件として、PreviousTaskID及びCurrentTaskIDの２つの情報を用いており、TaskSwitchCauseID及びresourceIDは用いていないため、切替情報に含める情報は、PreviousTaskID及びCurrentTaskIDの２つの情報だけであってもよい。
【００８２】
また、上記計時開始条件及び計時停止条件を設定する場合に、PreviousTaskID及びCurrentTaskIDのタスクプライオリティ（優先度）と関連付けて、上記例のように==(等しい)もしくは!=(等しくない)という指定だけでなく、タスクの優先度を示す値の大小関係により、計時開始条件及び計時停止条件を指定するようにしてもよい。
【００８３】
これにより、例えば、予め定められた優先度のタスクが資源待ちなどにより実行状態にならないにもかかわらず、それより低い優先度のタスクがＣＰＵ１２Ａを使用しつづける優先度逆転状況の発生なども検知される。こうした異常を検知する場合には、異常検知部２６の記憶部２６Ｂに、予めタスクＩＤの各々と優先度とを対応付けた優先度テーブルを予め記憶しておく。
【００８４】
ここで、より具体的な例を挙げて説明する。まず、この優先度逆転状況という異常（以下、異常Ｅｚとする）に対して、異常検知設定テーブルに、タイマＣ５がタイムアウトとなった場合に、異常Ｅｚが発生したと判断されるように設定しておく。
【００８５】
タイマＣ５については、タイマ設定テーブルに、「何らかの資源の解放待ちを切替要因として、予め定められた優先度より高い優先度のタスクから該タスクより優先度の低いタスクに切替わった」という計時開始条件を設定すると共に、「何らかの資源の解放を切替要因として、予め定められた優先度より低い優先度のタスクから該タスクより優先度の高いタスクに切替わった」という計時停止条件を設定し、且つタイムアウト値Ｔ５を設定する。
【００８６】
そして、異常検知部２６は、ＲＴＯＳから出力された切替情報に含まれる第１の識別情報（CurrentTaskID）、第２の識別情報（PreviousTaskID）、切替前後のタスクの優先度を記憶部２６Ｂに記憶されている優先度テーブルを参照して確認し、優先度の大小関係を確認すると共に、理由情報（TaskSwitchCauseID）、付随情報（resourceID）から切替えの原因を特定して、計時開始条件及び計時停止条件を満たすか否かを判断する。そしてタイマＣ５の計時開始後、タイマＣ５の計時がタイムアウト値Ｔ５を超えてタイムアウトした場合には、異常Ｅｚが発生したと判断して、予め定められた処置を行う。
【００８７】
或いは、複数のタイマ２６Ａ（ここでは説明を簡単にするため、２つのタイマＣ６、Ｃ７を例に挙げる）を使用し、異常を検知するようにしてもよい。ここでは２つのタスクｔ１、ｔ２が存在し、それぞれ優先度はＰ１、Ｐ２であり、それぞれ共通の資源Ｒを使用している。このとき、Ｐ１よりもＰ２のほうが優先度が高いものとする。
【００８８】
まず、タイマＣ６については「タスクｔ２から資源Ｒの開放待ちを理由にタスクｔ２以外のタスクに切替わった場合」に計時を開始する計時開始条件、「タスクｔ２以外のタスクからタスクｔ２に切替わった場合」に計時を停止する計時停止条件を設定する。ただし、タイムアウト値は設定せず、計時停止条件が満たされるまで計時を続けるものとする。
【００８９】
また、タイマＣ７については「タスクｔ１以外のタスクからタスクｔ１に切替わった場合」に計時を開始する計時開始条件、「タスクｔ１からタスクｔ２もしくは優先度Ｐ２以上のタスクに切替わった場合」に計時を停止する計時停止条件、及びタイムアウト値Ｔ７を設定する。
【００９０】
そして、異常検知部２６は、上記設定に従ってタイマＣ６、Ｃ７の計時を制御する。
【００９１】
異常の検知は、以下のように行う。タイマＣ６が計時中にタイマＣ７の計時が開始されタイムアウトした場合には、異常が発生したと判断する。これにより、タスクｔ２が資源Ｒを開放しないため、タスクｔ１が動作できない優先度逆転状況の発生が検知される。
【００９２】
また、上記実施の形態では、異常検知部２６をハードウェアにより構成する例について説明したが、ソフトウェアにより実現するようにしてもよい。
【００９３】
具体的には、図１１に示すように、装置制御部１２とは別のマイクロコンピュータ等から成り、ＣＰＵ３２Ａと、メモリ３２Ｂと、ＯＳのプログラム、異常検知プログラム、タイマ設定テーブル、異常検知設定テーブルを記憶した不揮発性の記憶部３２Ｃと、複数のタイマ３２Ｄ（或いはタイマは１つであってもよい）とが基板に搭載されて成る異常検知部３２が、画像形成装置４０に設けられていてもよい。ここで、異常検知プログラムは、図５及び図６で説明した内容の処理ルーチンを実行するためのプログラムとする。
【００９４】
また、図１２に示すように、異常検知部２６又は３２が、装置制御部１２とバス２４を介して接続されるのではなく、装置制御部１２と直接接続された画像形成装置４０であってもよい。
【００９５】
また、図１３に示すように、画像形成装置５０に設けられたコネクタ５２に接続可能なコネクタ接続部５６と、異常検知部２６又は３２とを備えた異常検知装置５４のコネクタ接続部５６を、画像形成装置５０のコネクタ５２に接続して、この異常検知装置５４で上記異常検知を行わせるようにしてもよい。
【００９６】
また、図１４に示すように、異常検知部２６又は３２と、ネットワーク通信制御部７２とを備えた異常検知装置７０が、画像形成装置６０とネットワーク８０を介して接続されていてもよい。なお、ここでは、画像形成装置６０と異常検知装置７０とがネットワークを介して接続された例について説明したが、公衆回線等、何らかの通信手段であればよく、ネットワークに限定されない。
【００９７】
また、上記実施の形態では、ＲＴＯＳが動く装置制御部１２を処理制御装置の１つの具体例として説明したが、これに限定されるものではなく、例えば、複数のタスク（処理）を切替えて実行させると共にタスクが切替わるタイミングで切替情報を出力するハードウェアにより構成された装置であってもよい。
【００９８】
また、上記実施の形態では、情報処理システムとして画像形成装置を例に挙げて説明したが、情報処理システムを画像形成装置に限定するものではなく、様々な情報処理装置に適用されうる。
【符号の説明】
【００９９】
１０、３０、４０、５０、６０  画像形成装置
１２  装置制御部
１２Ａ      ＣＰＵ
１２Ｂ      メモリ
１２Ｃ      記憶部
１４  画像読取部
１６  画像形成部
１８  操作パネル
２６  異常検知部
２６Ａ      タイマ
２６Ｂ      記憶部
２６Ｃ      タイマ制御部
２６Ｄ      異常検知処理部
２６Ｅ      処置実行部
３２  異常検知部
３２Ａ      ＣＰＵ
３２Ｂ      メモリ
３２Ｃ      記憶部
３２Ｄ      タイマ
４２  コネクタ
５４、７０  異常検知装置
【図１】
2012043147.tif 000003
【図２】
2012043147.tif 000004
【図３】
2012043147.tif 000005
【図４】
2012043147.tif 000006
【図５】
2012043147.tif 000007
【図６】
2012043147.tif 000008
【図７】
2012043147.tif 000009
【図８】
2012043147.tif 000010
【図９】
2012043147.tif 000011
【図１０】
2012043147.tif 000012
【図１１】
2012043147.tif 000013
【図１２】
2012043147.tif 000014
【図１３】
2012043147.tif 000015
【図１４】
2012043147.tif 000016