(57)【特許請求の範囲】
【請求項１】
他の制御部と通信する通信手段と、
前記他の制御部を監視する監視処理を実行する監視手段と、
前記監視処理を実行可能であるか否か判定する判定手段と、
前記判定手段により前記監視処理を実行可能でないと判定された場合は、前記監視処理を実行するための監視処理実行権を前記他の制御部に委譲する委譲手段とを有し、
前記監視手段は、
前記通信手段を用いて、前記他の制御部に対して状態要求信号を送信し、該状態要求信号に応じて該他の制御部から状態通知を受信し、該状態通知に基づき異常状態を検出する
ことを特徴とする情報処理装置。
【請求項２】
前記状態通知には、前記他の制御部が正常であるか異常であるかおよび前記他の制御部が前記監視処理を実行可能であるか否かを表す情報が含まれていることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記委譲手段は、
前記他の制御部から受信した前記状態通知に基づき、前記監視処理実行権を委譲する他の制御部を決定することを特徴とする請求項１または２記載の情報処理装置。
【請求項４】
前記判定手段は、特定のタスクに処理実行権が回ってくる時間に基づき、前記監視処理を実行可能であるか否かを判定することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他の制御部と通信を行い他の制御部を監視する情報処理装置に関するものである。
【背景技術】
【０００２】
電子写真方式を採用する画像形成装置のプリンタデバイス制御では、１つのＣＰＵによる集中制御が行われている。しかし、制御の一点集中によるＣＰＵ負荷の増大によって、より高性能なＣＰＵが必要となる。さらに、プリンタデバイスの制御負荷の増大に伴い、通信ケーブル（通信束線）をＣＰＵ基板から離れた制御負荷ドライバユニットまで引き回す必要があり、長大な通信ケーブルが多数必要となっていた。このような問題を解決するために、電子写真システムを構成する各制御モジュールを個々のサブＣＰＵに分割する制御形態が注目されている。
【０００３】
このように複数のＣＰＵにより個々の部分モジュール制御機能を分割して制御システムを構築する例については、いくつかの制御機器製品分野で提案されている。例えば、車両における機能モジュールを階層的に配置し分散制御を行うシステムや、階層的な制御構造をロボット・自動化機器に適用しているシステムが。また、これらの複数のサブＣＰＵ同士は全体をシステムとして動作させるための通信部を当然有しており、各ＣＰＵは、通信部を通じてＣＰＵ間で情報共有やシステムの制御を実現している。
【０００４】
このような通信部を介して分割制御するシステム（以下、分散システムと称する。）では、異常検知が重要な課題となる。分散システムにおける異常には、通信部自体の物理的異常と各ＣＰＵを動作させるアプリケーションソフトが引き起こす論理的異常が存在する。物理的異常の検知には、例えばシリアル通信のパリティチェックやＣＲＣチェックが一般的な技術として知られている。また、ＣＡＮ（Ｃｏｎｔｒｏｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）におけるエラー回数をカウントしてネットワークから切り出す技術等のように各通信プロトコル独自でネットワークの信頼性をさらに向上させる技術が知られている。これらの物理的異常を検知する技術はハードウェアによって実現されているケースも多く精度良く異常検知を行うことができる。
【０００５】
一方、論理的異常の検知では以下のような技術が提案されている。例えば、特許文献１には、マスタＣＰＵと、スレーブＣＰＵと、異常が検知された場合に当該マスタＣＰＵ及びスレーブＣＰＵにリセット信号を供給するタイマとを備えるコントローラが提案されている。当該マスタＣＰＵは、自身が正常なときに一定時間ごとにタイマをクリアする信号をタイマに出力する。即ち、マスタＣＰＵに異常が発生した場合は上記タイマをクリアする信号が出力されず、タイマが満了するためマスタＣＰＵ及びスレーブＣＰＵにリセット信号が通知されることとなる。また、マスタＣＰＵは、スレーブＣＰＵから出力されたデータを監視し、当該データからスレーブＣＰＵで異常が発生したと判断した場合にはスレーブＣＰＵに対して強制リセット信号を供給している。また、特許文献２には、自己デバイスとは異なる他のデバイスを監視し、その監視結果をデバイス管理サーバ又は当該他のデバイスに通知する他デバイス監視機能を備えるデバイスが提案されている。
【０００６】
さらに、特許文献３には、異常監視用の監視制御回路部を別途設けた電子制御装置が提案されている。当該監視制御回路部は、不揮発プログラムメモリの内容と入力センサ群の動作状態とに応動して電気負荷群を制御するマイクロプロセッサに対して、照会パケットによって多数の質問事項を順次送信し、マイクロプロセッサからの応答内容と正解情報とを比較して異常判定を行う。マイクロプロセッサは、照会パケットの受信間隔を診断して監視制御回路部の監視動作を逆監視する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００３−１８６６９１号公報
【特許文献２】特開２００４−２２０５６２号公報
【特許文献３】特開２００５−０３１８６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記従来技術例を分散システムに適用することは以下に記載する問題がある。例えば、マスタＣＰＵからタイマをクリアする方法では、スレーブＣＰＵに異常が発生した場合にマスタＣＰＵで検知することが難しい。したがって、スレーブＣＰＵにおける最適な異常処理制御を実現することが困難となる。また、特許文献２の場合、異常情報は検知したノード及びそれを通知された別ノードしか受け取ることができず、その他のノードは当該異常を知ることが困難となる。さらに、監視するノードの制御負荷が大きくなると、一般的に負荷制御よりも実行優先度の低い異常検知制御の実行頻度が下がるため、異常が発生してから検知するまでの時間が増大してしまう。また、特許文献３のように、監視制御回路部や異常検知専用ノードを有する場合には、当然ながらコストの増大を招いてしまう。
【０００９】
本発明は、上述の問題に鑑みて成されたものであり、監視処理を実行できない場合は、他の制御部に監視処理実行権を委譲できるようにすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、他の制御部と通信する通信手段と、前記他の制御部を監視する監視処理を実行する監視手段と、前記監視処理を実行可能であるか否か判定する判定手段と、前記判定手段により前記監視処理を実行可能でないと判定された場合は、前記監視処理を実行するための監視処理実行権を前記他の制御部に委譲する委譲手段とを有し、前記監視手段は、前記通信手段を用いて、前記他の制御部に対して状態要求信号を送信し、該状態要求信号に応じて該他の制御部から状態通知を受信し、該状態通知に基づき異常状態を検出することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、監視処理を実行できない場合は、他の制御部に監視処理実行権を委譲できるようにすることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る画像形成装置１０００の概観を示す図である。
【図２】本実施形態に係る画像形成部３００の構成例を示す断面図である。
【図３】本実施形態に係るマスタＣＰＵ、サブマスタＣＰＵ及びスレーブＣＰＵの関連を模式的に示す図である。
【図４】本実施形態に係る画像形成装置１０００の制御基板の一例を示す図である。
【図５】本実施形態に係るマスタＣＰＵとサブマスタＣＰＵとの間の異常検知制御の制御フローを示すシーケンス図である。
【図６】本実施形態に係る状態通知のデータフォーマットの一例を示す図である。
【図７】本実施形態に係るアイドル間隔の計算方法を示すフローチャートである。
【図８】本実施形態に係る監視実行権を有するＣＰＵの処理手順を示すフローチャートである。
【図９】本実施形態に係る状態要求を受信したＣＰＵの処理手順を示すフローチャートである。
【図１０】本実施形態に係るサブマスタＣＰＵとスレーブＣＰＵとの間の異常検知制御の制御フローを示すシーケンス図である。
【図１１】本実施形態に係る状態要求を送信するサブマスタＣＰＵの処理手順を示すフローチャートである。
【図１２】本実施形態に係るサブマスタＣＰＵとスレーブＣＰＵとの間の異常が検知された場合の制御フローを示すシーケンス図である。
【図１３】本実施形態に係る監視実行権を委譲するＣＰＵの処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
＜画像形成装置の構成＞
以下では、図１乃至図１３を参照して、本実施形態について説明する。図１は、本実施形態に係る画像形成装置１０００の概観を示す。画像形成装置１０００は、自動原稿搬送装置１００、画像読取部２００、画像形成部３００、及び操作部１０を備える。図１に示すように、画像読取部２００は、画像形成部３００の上に載置されている。さらに、画像読取部２００上には、自動原稿搬送装置（ＤＦ）１００が載置されている。また、本画像形成装置１０００は、複数の制御部（ＣＰＵ）を用いて分散制御を実現する。各ＣＰＵの構成については、図３を用いて後述する。
【００１４】
自動原稿搬送装置１００は、原稿を自動的に原稿台ガラス上に搬送する。画像読取部２００は、自動原稿搬送装置１００から搬送された原稿を読み取って画像データを出力する。画像形成部３００は、自動原稿搬送装置１００から出力された画像データやネットワークを介して接続された外部装置から入力された画像データに従って記録材に画像を形成する。操作部１０は、ユーザが各種操作を行うためのＧＵＩ（グラフィカル・ユーザ・インタフェース）を有する。さらに、操作部１０は、タッチパネル等の表示部を有し、ユーザに対して情報を提示することもできる。
【００１５】
次に、図２を参照して、画像形成部３００の詳細について説明する。なお、本実施形態の画像形成部３００は電子写真方式を採用している。なお、図２の参照番号の末尾に示すアルファベットＹ、Ｍ、Ｃ、Ｋは、それぞれイエロー、マゼンダ、シアン、ブラックのトナーに対応した各エンジンを示す。以下では、全てのトナーに対応するエンジンを示す場合は末尾のアルファベットＹ、Ｍ、Ｃ、Ｋを省略して参照番号を記載し、個別に示す場合は参照番号の末尾にアルファベットＹ、Ｍ、Ｃ、Ｋを付記して記載する。
【００１６】
像担持体としてフルカラー静電画像を形成するための感光ドラム（以下、単に「感光体」と称する。）２２５は、モータで矢印Ａの方向に回転可能に設けられる。感光体２２５の周囲には、一次帯電装置２２１、露光装置２１８、現像装置２２３、転写装置２２０、クリーナ装置２２２、除電装置２７１及び表面電位計２７３が配置されている。
【００１７】
現像装置２２３Ｋはモノクロ現像のための現像装置であり、感光体２２５Ｋ上の潜像をＫのトナーで現像する。また現像装置２２３Ｙ、Ｍ、Ｃはフルカラー現像のための現像装置であり、現像装置２２３Ｙ、Ｍ、Ｃは、感光体２２５Ｙ、Ｍ、Ｃ上の潜像をそれぞれＹ、Ｍ、Ｃのトナーで現像する。感光体２２５上に現像された各色のトナー像は、転写装置２２０によって中間転写体である転写ベルト２２６に一括で多重転写されて、４色のトナー像が重ね合わされる。
【００１８】
転写ベルト２２６は、ローラ２２７、２２８、２２９に張架されている。ローラ２２７は、駆動源に結合されて転写ベルト２２６を駆動する駆動ローラとして機能し、ローラ２２８は転写ベルト２２６の張力を調節するテンションローラとして機能する。また、ローラ２２９は、２次転写装置２３１としての転写ローラのバックアップローラとして機能する。転写ローラ脱着ユニット２５０は、２次転写装置２３１を転写ベルト２２６に接着させるか、又は離脱させるための駆動ユニットである。２次転写装置２３１を通過した後の転写ベルト２２６の下部にはクリーナブレード２３２が設けられており、転写ベルト２２６上の残留トナーがブレードで掻き落とされる。
【００１９】
カセット２４０、２４１及び手差し給紙部２５３に格納された記録材（記録紙）は、レジストローラ２５５、給紙ローラ対２３５及び縦パスローラ対２３６、２３７によってニップ部、つまり２次転写装置２３１と転写ベルト２２６との当接部に給送される。なお、その際２次転写装置２３１は、転写ローラ脱着ユニット２５０ことによって転写ベルト２２６に当接されている。転写ベルト２２６上に形成されたトナー像は、このニップ部で記録材上に転写される。その後、トナー像が転写された記録材は、定着装置２３４でトナー像が熱定着されて装置外へ排出される。
【００２０】
カセット２４０、２４１及び手差し給紙部２５３は、それぞれ記録材の有無を検知するためのシートなし検知センサ２４３、２４４、２４５を備える。また、カセット２４０、２４１及び手差し給紙部２５３は、それぞれ記録材のピックアップ不良を検知するための給紙センサ２４７、２４８、２４９を備える。
【００２１】
ここで、画像形成部３００による画像形成動作について説明する。画像形成が開始されると、カセット２４０、２４１及び手差し給紙部２５３に格納された記録材は、ピックアップローラ２３８、２３９、２５４により１枚毎に給紙ローラ対２３５に搬送される。記録材は、給紙ローラ対２３５によりレジストローラ２５５へと搬送されると、その直前のレジストセンサ２５６により記録材の通過が検知される。
【００２２】
レジストセンサ２５６により記録材の通過が検知された時点で、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は停止しているレジストローラ２５５に突き当たり搬送が停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように搬送位置が固定され、記録材の搬送方向が搬送経路に対してずれた状態の斜行が補正される。以下では、この処理を位置補正と称する。位置補正は、以降の記録材に対する画像形成方向の傾きを最小化するために必要となる。位置補正後、レジストローラ２５５を起動させることにより、記録材は、２次転写装置２３１へ供給される。なお、レジストローラ２５５は、駆動源に結合され、クラッチによって駆動が伝えられることで回転駆動を行う。
【００２３】
次に、一次帯電装置２２１に電圧を印加して感光体２２５の表面を予定の帯電部電位で一様にマイナス帯電させる。続いて、帯電された感光体２２５上の画像部分が所定の露光部電位になるようにレーザスキャナ部からなる露光装置２１８で露光を行い潜像が形成される。露光装置２１８はプリンタ制御Ｉ／Ｆ２１５を介してコントローラ４６０より送られてくる画像データに基づいてレーザ光をオン、オフすることによって画像に対応した潜像を形成する。なお、表面電位計２７３は、一次帯電装置２２１によって一様にその表面を帯電された感光体２２５の表面電位を測定し、出力する。
【００２４】
また、現像装置２２３の現像ローラには各色毎に予め設定された現像バイアスが印加されており、上記潜像は、現像ローラの位置を通過する際にトナーで現像され、トナー像として可視化される。トナー像は、転写装置２２０により転写ベルト２２６に転写され、さらに２次転写装置２３１で、給紙部より搬送された記録材に転写された後、レジスト後搬送パス２６８を通過し、定着搬送ベルト２３０を介して、定着装置２３４へと搬送される。
【００２５】
定着装置２３４では、まずトナーの吸着力を補って画像乱れを防止するために、定着前帯電器２５１、２５２で帯電され、さらに定着ローラ２３３でトナー画像が熱定着される。その後、記録材は、排紙フラッパ２５７により排紙パス２５８側に搬送パスが切り替えられることにより、排紙ローラ２７０によってそのまま排紙トレイ２４２に排紙される。
【００２６】
感光体２２５上に残留したトナーは、クリーナ装置２２２で除去、回収される。最後に、感光体２２５は、除電装置２７１で一様に０ボルト付近まで除電されて、次の画像形成サイクルに備える。
【００２７】
画像形成装置１０００によるカラーの画像形成開始タイミングは、Ｙ、Ｍ、Ｃ、Ｋの同時転写であるため転写ベルト２２６上の任意の位置に画像形成を行うことが可能である。しかし、感光体２２５Ｙ、Ｍ、Ｃ上のトナー像を転写する位置のずれ分をタイミング的にシフトさせながら画像形成開始タイミングを決定する必要がある。
【００２８】
なお、画像形成部３００においては、記録材を連続的にカセット２４０、２４１及び手差し給紙部２５３より給送させることが可能である。この場合、先行する記録材のシート長を考慮し、記録材が重なり合わないような最短の間隔でカセット２４０、２４１及び手差し給紙部２５３からの給紙を行う。上述したように、位置補正後に、レジストローラ２５５を起動させることにより、記録材は２次転写装置２３１へ供給されるが、２次転写装置２３１に到達すると、再びレジストローラ２５５が一時停止される。これは、後続の記録材に対して先行する記録材と同様に位置補正を行うためである。
【００２９】
次に、記録材の裏面に画像を形成する場合の動作について詳細に説明する。記録材の裏面に画像を形成する際には、まず記録材の表面への画像形成が先行して実行される。表面のみの画像形成であれば、定着装置２３４でトナー像が熱定着された後に、そのまま排紙トレイ２４２に排紙される。一方、引き続き裏面の画像形成を行なう場合、センサ２６９で記録材が検知されると、排紙フラッパ２５７により裏面パス２５９側に搬送パスが切り替えられ、それに併せた反転ローラ２６０の回転駆動により記録材が両面反転パス２６１に搬送される。その後、記録材は、送り方向幅の分だけ両面反転パス２６１に搬送された後に反転ローラ２６０の逆回転駆動により進行方向が切り替えられ、表面に画像形成された画像面を下向きにして両面パス搬送ローラ２６２の駆動により両面パス２６３に搬送される。
【００３０】
続いて、記録材は、両面パス２６３を再給紙ローラ２６４に向かって搬送されると、その直前の再給紙センサ２６５により通過が検知される。再給紙センサ２６５により記録材の通過が検知されると、本実施形態では所定の時間が経過した後に一端搬送動作を中断する。その結果、記録材は、停止している再給紙ローラ２６４に突き当たり搬送が一時停止されるが、その際記録材の進行方向端部が搬送経路に対して垂直になるように位置が固定され、記録材の搬送方向が再給紙パス内の搬送経路に対してずれる斜行が補正される。以下では、この処理を再位置補正と称する。
【００３１】
再位置補正は、以降の記録材裏面に対する画像形成方向の傾きを最小化するために必要となる。再位置補正後、再給紙ローラ２６４を起動させることにより、記録材は、表裏が逆転した状態で再度給紙パス２６６上に搬送される。その後の画像形成動作については、上述した表面の画像形成動作と同じであるためここでは省略する。このように表裏両面に画像形成された記録材は、そのまま排紙フラッパ２５７より排紙パス２５８側に搬送パスが切り替えられることにより、排紙トレイ２４２に排紙される。
【００３２】
なお、本画像形成部３００においては、両面印刷時においても、記録材の連続給送が可能である。しかしながら、記録材への画像形成や形成されたトナー像の定着などを行うための装置は１系統しか有していないため、表面への印刷と裏面への印刷を同時に行うことはできない。したがって、両面印刷時においては、画像形成部３００に対し、カセット２４０、２４１及び手差し給紙部２５３からの記録材と、裏面印刷のために反転させて画像形成部に再度給送された記録材とは交互に画像形成されることとなる。
【００３３】
本画像形成部３００は、図２に示す各制御負荷を、後述する搬送モジュールＡ２８０、搬送モジュールＢ２８１、作像モジュール２８２、定着モジュール２８３という４つの制御ブロックに分けて各々が自律的に制御されている。さらに、これらの４つの制御ブロックを統括して画像形成装置として機能させるためのマスタモジュール２８４を有する。以下では、各モジュールの制御構成について図３を用いて説明する。
【００３４】
図３は、本実施形態に係るマスタＣＰＵ、サブマスタＣＰＵ及びスレーブＣＰＵの関連を模式的に示す図である。本実施形態において、マスタモジュール２８４に備えられるマスタＣＰＵ（マスタ制御部／第１層制御部）１００１は、プリンタ制御Ｉ／Ｆ２１５を介してコントローラ４６０より送られる指示及び画像データに基づいて画像形成装置１０００の全体を制御する。また、画像形成を実行するための搬送モジュールＡ２８０、搬送モジュールＢ２８１、作像モジュール２８２、及び定着モジュール２８３は、各機能を制御するサブマスタＣＰＵ（サブマスタ制御部／第２層制御部）６０１、９０１、７０１、８０１を備える。サブマスタＣＰＵ６０１、９０１、７０１、８０１はマスタＣＰＵ１００１により制御される。さらに、各機能モジュールは、さらに、各機能を実行するための制御負荷を動作させるためのスレーブＣＰＵ（スレーブ制御部／第３層制御部）６０２、６０３、６０４、６０５、９０２、９０３、７０２、７０３、７０４、７０５、７０６、８０２、８０３を備える。スレーブＣＰＵ６０２、６０３、６０４、６０５はサブマスタＣＰＵ６０１に、スレーブＣＰＵ９０２、９０３はサブマスタＣＰＵ９０１に、スレーブＣＰＵ７０２、７０３、７０４、７０５、７０６はサブマスタＣＰＵ７０１に、スレーブＣＰＵ８０２、８０３はサブマスタＣＰＵ８０１に制御される。本画像形成装置は、これらの複数のＣＰＵを備え、分散制御システムを実現している。
【００３５】
図３に示すように、マスタＣＰＵ１００１と複数のサブマスタＣＰＵ６０１、７０１、８０１、９０１は共通のネットワーク型通信バス（第１信号線）１００２によってバス接続される。サブマスタＣＰＵ６０１、７０１、８０１、９０１同士の間もネットワーク型通信バス（第１信号線）１００２によってバス接続される。なお、マスタＣＰＵ１００１と複数のサブマスタＣＰＵ６０１、７０１、８０１、９０１はリング接続されるものでもよい。サブマスタＣＰＵ６０１は、さらに、高速シリアル通信バス（第２信号線）６１２、６１３、６１４、６１５を介して、複数のスレーブＣＰＵ６０２、６０３、６０４、６０５のそれぞれと１対１接続（ピアツーピア接続）されている。同様に、サブマスタＣＰＵ７０１は、高速シリアル通信バス（第２信号線）７１１、７１２、７１３、７１４、７１５を介して、それぞれスレーブＣＰＵ７０２、７０３、７０４、７０５、７０６と接続される。サブマスタＣＰＵ８０１は、高速シリアル通信バス（第２信号線）８０８、８０９を介して、それぞれスレーブＣＰＵ８０２、８０３と接続される。サブマスタＣＰＵ９０１は、高速シリアル通信バス（第２信号線）９０９、９１０を介して、それぞれスレーブＣＰＵ９０２、９０３と接続される。ここで、高速シリアル通信バスは、短距離高速通信に用いられる。
【００３６】
本実施形態に係る画像形成装置１０００において、タイミングに依存した応答性が必要とされる制御に関しては、各サブマスタＣＰＵに統括された機能モジュール内で実現されるように機能分割されている。そのため、末端の制御負荷を駆動するための各スレーブＣＰＵと各サブマスタＣＰＵとの間の通信は、応答性のよい高速シリアル通信バスによって接続されている。つまり、上記第２信号線には、上記第１信号線よりもデータ転送のタイミング精度が高い信号線が用いられる。
【００３７】
一方、サブマスタＣＰＵ６０１、７０１、８０１、９０１とマスタＣＰＵ１００１との間では、精密な制御タイミングを必要としない、画像形成動作の大まかな処理の流れを統括するようなやり取りだけが行われる。例えば、マスタＣＰＵ１００１はサブマスタＣＰＵに、画像形成前処理開始、給紙開始、画像形成後処理開始といった指示を出す。また、マスタＣＰＵ１００１はサブマスタＣＰＵに、コントローラ４６０から指示されたモード（例えばモノクロモードや両面画像形成モードなど）に基づいた指示を画像形成開始の前に出す。サブマスタＣＰＵ６０１、７０１、８０１、９０１のそれぞれの間でも、精密なタイミング制御を必要としないやり取りだけが行われる。すなわち、画像形成装置の制御を、相互に精密なタイミング制御を必要としない制御単位に分け、それぞれのサブマスタＣＰＵがそれぞれの制御単位を精密なタイミングで制御する。これにより、本画像形成装置１０００では、通信トラフィックを最小限に抑え、低速で安価なネットワーク型通信バス１００２で接続することを可能としている。なお、マスタＣＰＵ、サブマスタＣＰＵ、及びスレーブＣＰＵについては、実装される制御基板が必ずしも一律である必要はなく、装置実装上の事情に合わせて可変的に配置させることが可能である。
【００３８】
次に、図４を参照して、本実施形態における具体的なマスタＣＰＵ、サブマスタＣＰＵ、スレーブＣＰＵの基板構成上の配置について説明する。本実施形態によれば、図４に示すように、様々な制御基板の構成を採用することができる。例えば、サブマスタＣＰＵ６０１とスレーブＣＰＵ６０２、６０３、６０４、６０５とは、同一の基板上に実装されている。また、サブマスタＣＰＵ７０１及びスレーブＣＰＵ７０２、７０３、７０４、又は、サブマスタＣＰＵ８０１及びスレーブＣＰＵ８０２、８０３のように、サブマスタＣＰＵと個々のスレーブＣＰＵが独立の基板として実装されてもよい。また、スレーブＣＰＵ７０５、７０６のように一部のスレーブＣＰＵが同一の基板上に実装されてもよい。また、サブマスタＣＰＵ９０１及びスレーブＣＰＵ９０２のように、サブマスタＣＰＵとスレーブＣＰＵの一部だけが同一基板上に配置されてもよい。
【００３９】
＜異常検知制御＞
次に、本発明の特徴となる異常検知制御について説明する。従来の分散制御やネットワークコンピューティングの異常検知制御では、所定の１つのモジュールや１つのノードが統括的に他のモジュールや他のノードの異常状態を検知している。このような場合、異常検知制御を実施しているモジュールやノード自身に異常が発生すると、制御システム全体の異常検知が機能しなくなるという問題がある。また、異常検知制御の実行は概して優先順位が下げられているため、当該モジュールやノードにおいて、異常検知制御以外の処理が多く発生すればするほど、異常検知制御の単位時間あたりの実行回数が低減されるという問題もある。これは、異常検知専用にモジュールやノードを用意することによって解決可能だが、当然コストの増大に繋がる。また、決められたモジュールやノード同士で異常を検知することによって、異常検知制御の負荷を分散させる方式も考えられる。しかしながら、監視対象が少なくなるために異常を検知したときの異常発生時処理等においてシステム全体における処理が複雑となり、望まれる処理を実行することが困難となる可能性がある。特に、本実施形態で説明している画像形成装置では例えば用紙搬送を行っている全てのモータを同時に停止させなければ用紙が搬送パス内で折れ曲がる可能性がある。このような問題を解決するために、本発明では監視実行権を委譲する方式を採用する。
【００４０】
まず、図５を参照して、本実施形態における基本的な異常検知制御の制御フローについて説明する。このフローではマスタＣＰＵ１００１が異常検知処理を実行するための監視実行権を有しているパターンを示している。まず、マスタＣＰＵ１００１は、Ｓ１４０１でサブマスタＣＰＵ６０１へ搬送状態要求１を送信し、Ｓ１４０２でサブマスタＣＰＵ７０１へ作像状態要求を送信し、Ｓ１４０３でサブマスタＣＰＵ８０１へ定着状態要求を送信し、Ｓ１４０４でサブマスタＣＰＵ９０１へ搬送状態要求２を送信する。これに対して、サブマスタＣＰＵ６０１は、Ｓ１４０５でマスタＣＰＵ１００１へ搬送状態通知１を送信する。また、サブマスタＣＰＵ７０１は、Ｓ１４０６でマスタＣＰＵ１００１へ作像状態通知を送信する。また、サブマスタＣＰＵ８０１は、Ｓ１４０７でマスタＣＰＵ１００１へ定着状態通知を送信する。さらに、サブマスタＣＰＵ９０１は、Ｓ１４０８でマスタＣＰＵ１００１へ搬送状態通知２を送信する。ここで、マスタＣＰＵ１００１は、通知された各状態に基づいて異常状態を判断する。なお、本実施形態に係る画像形成装置では、上記マスタＣＰＵ１００１の異常状態の監視機能を各サブマスタＣＰＵも保有しており、監視実行権を有する何れか１つのＣＰＵが上記異常状態の監視処理を実行する。
【００４１】
各サブマスタＣＰＵから送信される状態通知を図６に示す。上記Ｓ１４０５乃至Ｓ１４０８で各サブマスタＣＰＵから送信される状態通知のデータには、図６に示すように、送信先１５０１、ＣＰＵ状態１５０２及び送信元１５０３の情報が含まれる。ＣＰＵ状態１５０２の詳細を表１に示す。
【００４２】
【表１】
0005539075.tif 000002
【００４３】
表１に示すように、ＣＰＵ状態１５０２には、自身の状態が正常であるか又は異常であるかを示す状態情報が含まれる。さらに、状態情報が正常を示す場合、ＣＰＵ状態１５０２には、アイドル間隔に依存して当該ＣＰＵが監視実行権を保有することが可能か又は不可能かを示す情報、即ち、異常状態を監視可能か又は監視不可能かを示す監視可否情報を示す情報が含まれている。ここで、アイドル間隔とは、当該ＣＰＵに搭載されたリアルタイムＯＳにおいて、実行優先順位が最も低いタスクに処理実行権が回ってくる間隔を示す。即ち、実行待ちタスクが多いほど、又は、実行待ちタスクにおける処理負荷が大きいほどアイドル間隔が広がることとなる。ここで、表２を参照して、アイドル間隔と監視可能との関係について説明する。
【００４４】
【表２】
0005539075.tif 000003
【００４５】
例えば、本実施形態では、表２に示すように、当該ＣＰＵのアイドル間隔が１０〜５０ｍｓｅｃであれば異常状態の監視を可能（１）と定義し、５０〜１００ｍｓｅｃであれば可能（２）と定義し、１００ｍｓｅｃを超える場合は不可能と定義する。各ＣＰＵは、マスタＣＰＵ１００１へ、ＣＰＵ状態にこれらの監視可能情報を付加して送信する。また、ＣＰＵ状態が異常である場合は、上記監視可能情報を通知する。また、可能（１）は、いつでも監視実行権を保有することが可能であることを示し、可能（２）は他に可能（１）の状態のＣＰＵが存在しなければ監視実行権を保有することが可能であることを示す。このように、ＣＰＵ状態１５０２は、自身の状態が正常であるか又は異常であるかを示す状態情報と、自身の状態が正常である場合に異常状態を監視可能か否かを示す監視可否情報を示す情報とを含む。
【００４６】
次に、図７を参照して、アイドル間隔の計算方法について説明する。以下で説明する処理は、各ＣＰＵが自身のアイドル間隔を計算するために行われる。基本的にはシステムを構成するマスタＣＰＵ１００１とサブマスタＣＰＵ６０１、７０１、８０１、９０１において実行されるフローである。ここではマスタＣＰＵ１００１が処理する例について説明する。
【００４７】
Ｓ１６００において、マスタＣＰＵ１００１は、予め定められたアイドル間隔、本実施形態では１０ｍｓｅｃの待機処理を実行する。例えば、マスタＣＰＵ１００１は、１０ｍｓｅｃのタイマを発行し、タイマが満了するごとにＳ１６０１乃至Ｓ１６０３の処理を行なう。続いて、マスタＣＰＵ１００１は、Ｓ１６０１で現在時刻Ｔｃを取得し、Ｓ１６０２で前回取得した時刻Ｔｐとの差を求めることによりアイドル間隔を算出する。さらに、Ｓ１６０３において、マスタＣＰＵ１００１は、前回時刻Ｔｐを現在時刻Ｔｃに設定し、Ｓ１６００に処理を戻す。なお、マスタＣＰＵ１００１の処理負荷が大きくなるほど、算出されるアイドル間隔が１０ｍｓｅｃよりも長くなる。
【００４８】
次に、図８を参照して、監視実行権を有するＣＰＵの処理内容について説明する。ここでは、一例として、マスタＣＰＵ１００１が監視実行権を有しているものとする。Ｓ１７０１において、マスタＣＰＵ１００１は、サブマスタＣＰＵ６０１、７０１、８０１、９０１に状態要求を送信する。続いて、Ｓ１７０２において、マスタＣＰＵ１００１は、受信準備を開始し、Ｓ１７０３で各ＣＰＵから通知されてくる状態通知を受信したか否かを判定する。ここで、状態通知を受信した場合はＳ１７０４に進み、受信していない場合は定期的にＳ１７０３の処理を繰り返す。
【００４９】
Ｓ１７０４において、マスタＣＰＵ１００１は、受信した状態通知のＣＰＵ状態１５０２を確認し、異常状態になっているか否かを判定する。異常状態になっている場合はＳ１７０５に進み、マスタＣＰＵ１００１は、異常処理を開始する。この異常処理の詳細については後述する。一方、異常状態でない場合はＳ１７０６に進み、マスタＣＰＵ１００１は、全ＣＰＵから状態通知を受信したか否かを判定する。ここで、受信していればＳ１７０３に戻り、受信していなければ処理を終了する。
【００５０】
次に、図９を参照して、状態要求を受信したＣＰＵの処理内容について説明する。ここでは、一例として、状態要求を受信したサブマスタＣＰＵ８０１の処理について説明する。状態要求を受信するとＳ１８０１において、サブマスタＣＰＵ８０１は、図７のフローチャートに基づいて算出した現状の自身のアイドル間隔に基づいて、監視実行権を受け取ることが可能か否かを表２に示す情報を用いて判定する。続いて、Ｓ１８０２において、サブマスタＣＰＵ８０１は、下層のＣＰＵが存在する場合に、即ち、スレーブＣＰＵを制御している場合に、当該スレーブＣＰＵの異常状態を取得する。ここで、サブマスタＣＰＵ８０１は、スレーブＣＰＵ８０２と８０３とを制御しているため、当該スレーブＣＰＵから異常状態を取得する。
【００５１】
次に、Ｓ１８０３において、サブマスタＣＰＵ８０１は、Ｓ１８０１で判定した監視可否情報及び取得したスレーブＣＰＵの状態情報に基づいて、ＣＰＵ状態（表１）を判定する。続いて、Ｓ１８０４において、サブマスタＣＰＵ８０１は、判定した情報を状態要求を送信したマスタＣＰＵ１００１へ送信し、処理を終了する。
【００５２】
次に、図１０及び図１１を参照して、サブマスタＣＰＵがスレーブＣＰＵに対して送信する状態要求について説明する。ここでは、図５のＳ１４０３において定着状態要求をサブマスタＣＰＵ８０１が受信し、スレーブＣＰＵ８０２、８０３の状態情報を取得する処理について記載する。図１０に示すように、Ｓ１４０３の定着状態要求を受信すると、サブマスタＣＰＵ８０１は、Ｓ１９０１でスレーブＣＰＵ８０２へスレーブ状態要求１を送信し、Ｓ１９０２でスレーブＣＰＵ８０３へスレーブ状態要求２を送信する。その後、サブマスタＣＰＵ８０１は、Ｓ１９０３でスレーブＣＰＵ８０２からスレーブ状態通知１を受信し、Ｓ１９０４でスレーブＣＰＵ８０３からスレーブ状態通知２を受信する。このように、サブマスタＣＰＵは、制御対象となるスレーブＣＰＵの異常状態を取得する。
【００５３】
図１１は、図９のＳ１８０２におけるサブマスタＣＰＵ８０１の詳細な処理を示す。まず、Ｓ２００１において、サブマスタＣＰＵ８０１は、各スレーブＣＰＵに対して状態要求を送信する（Ｓ１９０１、Ｓ１９０２）。続いて、Ｓ２００２において、サブマスタＣＰＵ８０１は、状態要求に対する応答の受信処理を開始し、Ｓ２００３でスレーブＣＰＵから状態情報を受信したか否かを判定する。ここで、状態情報を受信していればＳ２００４に進み、受信していなければＳ２００３の処理を定期的に繰り返す。Ｓ２００４において、サブマスタＣＰＵ８０１は、さらに、Ｓ２００１で状態要求を送信した全てのスレーブＣＰＵから状態情報を受信したか否かを判定する。ここで、未受信の場合はＳ２００３に戻り、受信している場合はＳ１８０３に進む。
【００５４】
次に、図１２を参照して、異常が検知された場合の制御フローについて説明する。まず、Ｓ２１０１乃至Ｓ２１０４において、マスタＣＰＵ１００１は、各サブマスタＣＰＵ６０１、７０１、８０１、９０１に対して状態要求を送信する。ここで、マスタＣＰＵ１００１は、各状態要求を通知すると同時に、各サブマスタＣＰＵから状態を通知されるまでの待ち時間（所定時間Ｔ１）をタイマで計時する。
【００５５】
図１２の例では、サブマスタＣＰＵ６０１、７０１、９０１が、それぞれＳ２１０５、２１０６、２１０７において、状態情報をマスタＣＰＵ１００１へ送信している。一方、サブマスタＣＰＵ８０１は、所定時間Ｔ１内に状態情報をマスタＣＰＵ１００１へ送信していない。ここで、マスタＣＰＵ１００１は、所定時間Ｔ１（２１０８）内に状態情報の通知が確認できない場合は、当該ＣＰＵ（ここでは、サブマスタＣＰＵ８０１となる。）に異常が発生したと判断する。異常が発生したと判断した場合、Ｓ２１０９において、マスタＣＰＵ１００１は、異常発生通知を各サブマスタＣＰＵに対して通知する。
【００５６】
図１２では状態要求を通知してから所定時間Ｔ１が経過するまでにサブマスタＣＰＵ８０１から状態通知が無いため、異常が発生したと判断している。このとき、サブマスタＣＰＵ８０１自身が異常な状態になっている場合や、スレーブＣＰＵ８０２、８０３からの状態通知が無いためにマスタＣＰＵ１００１に状態通知ができない場合が想定される。
【００５７】
次に、図１３を参照して、マスタＣＰＵ１００１が監視実行権を委譲する際の制御について説明する。まず、Ｓ２２０１において、マスタＣＰＵ１００１は、監視処理が可能かどうかを判断する。ここで、マスタＣＰＵ１００１は、上述した計算方法によって計算したアイドル間隔と表２から導き出される状態が可能（１）であれば、監視実行権の委譲は必要ないと判断し、処理を終了する。また、可能（２）又は不可能と判断した場合はＳ２２０２に進み、マスタＣＰＵ１００１は、監視可能状態のＣＰＵが他にあるか否かを判定する。この場合、対象はサブマスタＣＰＵ６０１、７０１、８０１、９０１となる。具体的には、マスタＣＰＵ１００１は、通常の状態監視処理によって通知された各ＣＰＵの状態から可能（１）又は可能（２）の状態のＣＰＵが存在するかを検索し、存在した場合はＳ２２０３に進む。一方、存在しない場合は処理を終了する。
【００５８】
Ｓ２２０３において、マスタＣＰＵ（第１の制御部）１００１は、対象ＣＰＵ（第２の制御部）に対して、監視実行権に関する委譲要求を通知する。続いて、Ｓ２２０４において、マスタＣＰＵ１００１は、対象のＣＰＵからの通知（Ａｃｋ）を待ち、Ａｃｋを受信するとＳ２２０５に進み、監視実行権に関する受領応答であれば、監視実行権を委譲して処理を終了する。監視実行権の受領応答で無い場合は、Ｓ２２０２へと戻り、他のＣＰＵ（第２の制御部とは異なる他の制御部）の検索を行う。ここで、Ｓ２２０２で再度監視実行権の委譲が可能なＣＰＵが有るか否かを判定するのは、対象ＣＰＵ（他の制御部）が状態通知をした後に状態が変更されている可能性があるためである。その後、監視実行権に関する受領応答を送信したＣＰＵは、上述した状態監視処理を実行することとなる。
【００５９】
以上説明したように、本実施形態に係る画像形成装置は、複数の制御部（第１の制御部、第２の制御部、第３の制御部）を備え、分散制御を行うとともに、監視実行権を有する何れか１つの制御部が各制御部の異常状態を監視する。さらに、各制御部は、異常状態を監視可能か否かを示す監視可否情報を自身の処理負荷から判定し、監視実行権を有している場合に監視可否情報が予め定められた情報を満たしていなければ、満たしている他の制御部へ監視実行権を委譲する。これにより、本実施形態に係る画像形成装置は、処理負荷に応じて、各制御部の異常状態を監視する制御部が切り替わるため、複数の制御部の中で、他の制御部の異常状態を監視可能な制御部が監視処理を実行することができる。
【図１】
0005539075.tif 000004
【図２】
0005539075.tif 000005
【図３】
0005539075.tif 000006
【図４】
0005539075.tif 000007
【図５】
0005539075.tif 000008
【図６】
0005539075.tif 000009
【図７】
0005539075.tif 000010
【図８】
0005539075.tif 000011
【図９】
0005539075.tif 000012
【図１０】
0005539075.tif 000013
【図１１】
0005539075.tif 000014
【図１２】
0005539075.tif 000015
【図１３】
0005539075.tif 000016