(57)【特許請求の範囲】
【請求項１】
画像形成装置であって、
指定期間内に前記画像形成装置をシャットダウンする電源断タスクを指定する第１指定手段と、
指定期間内に前記画像形成装置に設定されている設定の各項目に対する設定を行う設定工程と該設定工程の後に前記画像形成装置を再起動する再起動工程を行う設定タスクを指定する第２指定手段と、
前記指定された前記電源断タスクおよび前記設定タスクの実行を制御するタスク制御手段とを有し、
前記タスク制御手段は、設定タスクの設定工程における設定の開始前の待機中に電源断タスクによる前記画像形成装置のシャットダウンが開始される場合には、当該設定タスクを実行することなく当該電源断タスクによるによるシャットダウンが実行されるように制御し、
前記タスク制御手段は、さらに、設定タスクの再起動工程における再起動の開始前の待機中に電源断タスクによる前記画像形成装置のシャットダウンが開始される場合には、当該設定タスクの再起動工程における再起動を行うことなく当該電源断タスクによるシャットダウンが実行されるように制御することを特徴とする画像形成装置。
【請求項２】
前記タスク制御手段は、前記電源断タスクの指定期間の後端が、前記設定タスクの指定期間の先端から設定工程が完了すると予想される日時までの期間に含まれる場合、前記設定タスクを一旦キャンセルするとともに前記画像形成装置の次回起動時に実行されるように再スケジューリングして、前記電源断タスクを実行するように制御することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記タスク制御手段は、前記電源断タスクの指定期間の後端が、前記設定タスクの設定工程が完了すると予想される日時から前記設定タスクの再起動工程により再起動される前記画像形成装置の再起動が完了すると予想される日時までの期間に含まれる場合、前記設定タスクの前記設定工程を実行し、さらに前記設定タスクの前記再起動工程をキャンセルし、前記電源断タスクを実行するように制御することを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記タスク制御手段は、前記電源断タスクの指定期間の後端が、前記設定タスクの再起動工程により再起動される前記画像形成装置の再起動が完了すると予想される日時より以降となる場合、前記設定タスクの前記設定工程を実行し、前記電源断タスクを一旦キャンセルするとともに前記画像形成装置の次回起動時に実行されるように再スケジューリングして、前記設定タスクの再起動工程を実行するように制御することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記タスク制御手段が前記設定タスクの前記再起動工程をキャンセルしたにもかかわらず、前記電源断タスクが実行されなかった場合に、所定のユーザに通知を行う通知手段を有することを特徴とする請求項３に記載の画像形成装置。
【請求項６】
前記通知は、手動により前記画像形成装置を再起動することを促す通知であることを特徴とする請求項５に記載の画像形成装置。
【請求項７】
所定のユーザからの指示に応じて前記電源断タスクをキャンセルするキャンセル手段を有し、
前記電源断タスクが実行されなかった場合とは、前記キャンセル手段により前記電源断タスクがキャンセルされた場合を含むことを特徴とする請求項５又は６に記載の画像形成装置。
【請求項８】
前記第１指定手段は、前記指定期間内に待機ジョブの実行が終了しない場合でも前記電源断タスクを実行する強制実行指示の有無を含む指示を行うものであり、
前記電源断タスクが実行されなかった場合とは、前記電源断タスクに前記強制実行指示がなされておらず前記電源断タスクの指定期間内に待機ジョブの実行が終了しなかった場合を含むことを特徴とする請求項５乃至７のいずれか１項に記載の画像形成装置。
【請求項９】
前記タスク制御手段は、前記電源断タスクの指定期間の後端が、前記設定タスクの指定期間の先端から設定工程が完了すると予想される日時までの期間に含まれる場合であって、前記電源断タスクの指定期間の先端が、前記設定タスクの設定工程が完了すると予想される日時よりも先である場合には、前記電源断タスクを前記設定タスクの設定工程の直後に実行するように再スケジューリングして、前記設定タスクの設定工程を実行するように制御することを特徴とする請求項１に記載の画像形成装置。
【請求項１０】
画像形成装置における制御方法であって、
指定期間内に前記画像形成装置をシャットダウンする電源断タスクを指定する第１指定ステップと、
指定期間内に前記画像形成装置に設定されている設定の各項目に対する設定を行う設定工程と該設定工程の後に前記画像形成装置を再起動する再起動工程を行う設定タスクを指定する第２指定ステップと、
前記指定された前記電源断タスクおよび前記設定タスクの実行を制御するタスク制御ステップとを有し、
前記タスク制御ステップでは、設定タスクの設定工程における設定の開始前の待機中に電源断タスクによる前記画像形成装置のシャットダウンが開始される場合には、当該設定タスクを実行することなく当該電源断タスクによるによるシャットダウンが実行され、
前記タスク制御ステップでは、さらに、設定タスクの再起動工程における再起動の開始前の待機中に電源断タスクによる前記画像形成装置のシャットダウンが開始される場合には、当該設定タスクの再起動工程における再起動を行うことなく当該電源断タスクによるシャットダウンが実行されることを特徴とする制御方法。
【請求項１１】
コンピュータを、請求項１乃至９のいずれか１項に記載された手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、画像形成装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、画像形成装置等のネットワークデバイス（以下、デバイス）の管理システムには、デバイスを電源断する機能および、デバイス設定を行う機能およびそれに伴って設定変更を反映させるためデバイスを再起動する機能を備えているものが存在する。
【０００３】
また、それらを管理者からの指示により即時実行することや、スケジュール設定に従って自動的に実行することができるものも存在する。
また、それらの機能のスケジュール設定による自動実行が重なった場合に、少なくとも一方の時刻をずらして実行することでデバイス設定を行っている途中で電源断することを予め防止する機能を備えたものが存在する（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−００４３３５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、それら従来のネットワークデバイス管理システムでは、それらの機能を管理者が指示して即時実行しようとした場合、電源断がデバイス設定を行っている途中に行われてしまう場合がある。この場合、電源断により、デバイス設定が正しく変更されることが妨げられてしまう、ことを防止できなかった。
【０００６】
また、即時実行の指示であれ、スケジュール設定による自動実行であれ、再起動を実行しようとしている間に、電源断を行うべき時刻が過ぎてしまうと、電源断を正しく実行できなかった。
【０００７】
このため、そのようなケースで電源断されているべき時刻に、電源が投入されたままの状態になってしまうことを防止できなかった。なお、外部からの電源供給が突然断たれてしまうといった事態は、デバイス故障の原因にもなりかねない。そのため、特に、停電やメンテナンス等によりデバイスに対する外部からの電源供給が予め特定の時刻に断たれることが分かっている場合には、その時刻までにデバイスを電源断することは重要であるが、従来の技術では、その時刻に電源断されないままになってしまうケースがあった。
【０００８】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、画像形成装置の設定とそれに伴う再起動、および、電源断を、重なるようにそれぞれを即時実行またはスケジュール設定して指示された場合においても、正しく画像形成装置の設定と電源断を行うことを可能にする仕組みを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、画像形成装置であって、指定期間内に前記画像形成装置をシャットダウンする電源断タスクを指定する第１指定手段と、指定期間内に前記画像形成装置に設定されている設定の各項目に対する設定を行う設定工程と該設定工程の後に前記画像形成装置を再起動する再起動工程を行う設定タスクを指定する第２指定手段と、前記指定された前記電源断タスクおよび前記設定タスクの実行を制御するタスク制御手段とを有し、前記タスク制御手段は、設定タスクの設定工程における設定の開始前の待機中に電源断タスクによる前記画像形成装置のシャットダウンが開始される場合には、当該設定タスクを実行することなく当該電源断タスクによるによるシャットダウンが実行されるように制御し、前記タスク制御手段は、さらに、設定タスクの再起動工程における再起動の開始前の待機中に電源断タスクによる前記画像形成装置のシャットダウンが開始される場合には、当該設定タスクの再起動工程における再起動を行うことなく当該電源断タスクによるシャットダウンが実行されるように制御することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、画像形成装置の設定とそれに伴う再起動、および、電源断を、重なるようにそれぞれを即時実行またはスケジュール設定して指示された場合においても、正しく画像形成装置の設定と電源断を行うことが可能になる。
【００１１】
特に、電源断が確実に実行されているべき時刻において電源断が実行されずに終わることがないため、外部から電源供給を断たれる場合においても画像形成装置の故障を未然に防ぐことが可能になる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例を示す画像形成装置を適用可能なシステムの一例を示す図である。
【図２】ＭＦＰ１０２の構成の一部を模式化したブロック図である。
【図３】情報処理装置１０３の構成を模式化したブロック図である。
【図４】ＭＦＰ１０２のコントローラ上２０２上で動作する本発明の実施例１のネットワークデバイス管理システムのネットワーク管理ソフトウェアの内部構成を示すブロック図である。
【図５】電源断タスクデータのデータ構成を模式化した図である。
【図６】電源断タスク作成モジュール４２１がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者に電源断タスクを作成させることができる電源断タスク作成画面を模式化した図である。
【図７】デバイス設定タスクデータのデータ構成を模式化した図である。
【図８】デバイス設定タスク作成モジュール４３１がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者にデバイス設定タスクを作成させることができるデバイス設定タスク作成画面を模式化した図である。
【図９】エラー画面を模式的に示す図である。
【図１０】電源断タスク作成モジュール４２１が電源断タスクを作成する手順の一例を示すフローチャートである。
【図１１】タイマ部４１１が処理するスケジュールデータを模式化した図である。
【図１２】電源断タスク登録モジュール４２４が電源断タスクを登録する手順の一例を示すフローチャートである。
【図１３】デバイス設定タスク作成モジュール４３１がデバイス設定タスクを作成する手順の一例を示すフローチャートである。
【図１４】デバイス設定タスク登録モジュール４３６のデバイス設定タスクを登録する手順の一例を示すフローチャートである。
【図１５】タイマ通知モジュール４４１がスケジュールされたタスクを呼び出す手順の一例を示すフローチャートである。
【図１６Ａ】タスク制御部４１３のメイン処理を示すフローチャートである。
【図１６Ｂ】タスク制御部４１３の電源断タスク処理［１］を示すフローチャートである。
【図１６Ｃ】タスク制御部４１３のデバイス設定タスク処理［１］を示すフローチャートである。
【図１６Ｄ】タスク制御部４１３の電源断タスク処理［２］を示すフローチャートである。
【図１６Ｅ】タスク制御部４１３のデバイス設定タスク処理［２］を示すフローチャートである。
【図１６Ｆ】タスク制御部４１３のデバイス設定タスク処理［３］を示すフローチャートである。
【図１６Ｇ】タスク制御部４１３のリブート処理［１］を示すフローチャートである。
【図１７】タスク制御部４１３がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者に電源断タスクをキャンセルさせることができる電源断タスクキャンセル画面を模式化した図である。
【図１８】実施例２のタスク制御部４１３の電源断タスク処理［２］を示すフローチャートである。
【図１９】実施例３のタスク制御部４１３の電源断タスク処理［２］を示すフローチャートである。
【図２０】実施例２のネットワークデバイス管理ソフトウェアの内部構成の一例を示すブロック図である。
【図２１Ａ】実施例４のタスク制御部４１３のデバイス設定タスク処理［２］を示すフローチャートである。
【図２１Ｂ】実施例４のタスク制御部４１３のリブート処理［１］を示すフローチャートである。
【図２２】実施例４の電源断タスクデータのデータ構成を模式化した図である。
【図２３】タスク制御部４１３がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者に電源断タスクをキャンセルさせることができるデバイス設定タスクキャンセル画面を模式化した図である。
【図２４】実施例５の電源断タスク作成モジュール４２１が電源断タスクを作成する手順の一例を示すフローチャートである。
【図２５】実施例５の電源断タスク作成モジュール４２１がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者に電源断タスクを作成させることができる電源断タスク作成画面を模式化した図である。
【図２６Ａ】実施例５のタスク制御部４１３のデバイス設定タスク処理［１］を示すフローチャートである。
【図２６Ｂ】実施例５のタスク制御部４１３のデバイス設定タスク処理［３］を示すフローチャートである。
【図２７】実施例６のデバイス設定タスク作成モジュール４３１がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者にデバイス設定タスクを作成させることができるデバイス設定タスク作成画面を模式化した図である。
【図２８】実施例６のデバイス設定タスク作成モジュール４３１がデバイス設定タスクを作成する手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１４】
図１は、本発明の一実施例を示す画像形成装置を適用可能なシステムの一例を示す図である。
図１において、１０１はネットワークである。１０２はネットワーク１０１に接続されたデバイスであるところの画像形成装置（Multifunction Peripheral）（以下ＭＦＰと表記する）である。１０３はネットワーク１０１に接続された情報処理装置である。
【００１５】
図２は、ＭＦＰ１０２の構成の一部を模式化したブロック図である。
図２において、２０１はＭＦＰ１０２の制御部である。２０２はコントローラ本体部分である。コントローラ２０２は、内部に図示しないＣＰＵ、ＲＯＭ、ＲＡＭ等を有し、ＣＰＵがＲＯＭに格納されたプログラムを実行することにより、ＭＦＰ１０２全体を統括制御する。
【００１６】
２０３はＨＤＤ(Hard Disk Drive)やＳＳＤ(Solid State Drive)等のストレージである。２０４は操作パネルである。
２０５はネットワークインタフェースであり、制御部２０１はこれを通してネットワーク１０１に接続している。２０６はエンジンインタフェースであり、この先にはＭＦＰ１０２の画像形成エンジン（不図示）が接続されている。２０７は電源コントロールインタフェースであり、この先にはＭＦＰ１０２の電源ユニット（不図示）が接続されている。
【００１７】
図３は、情報処理装置１０３の構成を模式化したブロック図である。
図３において、３０１は情報処理装置１０３の本体である。３０２は情報処理装置１０３の中央処理装置（以下ＣＰＵと表記する）である。３０３はＣＰＵ３０２に接続されたバスである。３０４は読み書き可能メモリ（以下ＲＡＭと表記する）である。
【００１８】
３０５は読み出し専用メモリ（以下ＲＯＭと表記する）である。３０６はネットワークインタフェースであり、情報処理装置（１０２）はこれを通してネットワーク（１０１）に接続している。３０８はＨＤＤ(Hard Disk Drive)やＳＳＤ(Solid State Drive)等のストレージである。
【００１９】
３０７は対人インタフェースデバイス（以下ＨＩＤと表記する）インタフェースである。３０９はキーボードやマウスなどの入力デバイスであり、３１０はディスプレイやスピーカーなどの出力デバイスである。入力デバイス３０９、出力デバイス３１０は、ＨＩＤインタフェース３０７に接続されている。
【００２０】
図４は、ＭＦＰ１０２のコントローラ上２０２上で動作する本発明の実施例１のネットワークデバイス管理システムのネットワーク管理ソフトウェアの内部構成を示すブロック図である。
【００２１】
図４において、４０１はネットワーク管理ソフトウェア全体である。このネットワーク管理ソフトウェア４０１は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される機能に相当する。
【００２２】
ネットワーク管理ソフトウェア４０１において、４１１はタイマ部である。４１２はジョブ検知部である。４１３はタスク制御部である。４１４は電源断タスク提供部である。４１５はデバイス設定タスク提供部である。
【００２３】
電源断タスク提供部４１４において、４２１は電源断タスク作成モジュールである。４２２は電源断実行モジュールであり、ＭＦＰ１０２の電源断（シャットダウン）を行う。４２３は電源断タスクデータ保存モジュールである。４２４は電源断タスク登録モジュールである。なお、これらの詳細は後述する。
【００２４】
デバイス設定タスク提供部４１５において、４３１はデバイス設定タスク作成モジュールである。４３２はデバイス設定値取得モジュールである。４３３はデバイス設定実行モジュールである。４３４は再起動実行モジュールである。４３５はデバイス設定タスクデータ保存モジュールである。４３６はデバイス設定タスク登録モジュールである。なお、これらの詳細は後述する。
【００２５】
タイマ部４１１において、４４１はタイマ通知モジュールである。４４２はスケジュールデータ保存モジュールである。なお、これらの詳細は後述する。
図５は、電源断タスクデータのデータ構成を模式化した図である。
電源断タスクデータは、電源断タスク作成モジュール４２１により作成される。また、電源断タスクデータは、電源断タスクデータ保存モジュール４２３に保存される。
以下、電源断タスクデータの構成について説明する。
５０１は即時フラグで、当該タスクを即時実行するかスケジュール実行するかを決定する。５０２はスケジュール実行する場合に設定される開始時刻である。なお、即時実行する場合でも、電源断タスクデータの作成時にその現在時刻を開始時刻５０２として格納してもよい。５０３はジョブ待機最大待機時間で、電源断を本当に実行する前にジョブ待機を行う際の待機する時間の上限を決定するためのものである。
【００２６】
５０４は強制断フラグで、ジョブ待機最大待機時間５０３を経過してもジョブが存在する場合に強制的に電源断を実行するかどうかを決定するためのものである。この強制断フラグ５０４により、管理者は、指定期間（開始時刻からジョブ待機最大待機時間が経過するまで）内に待機ジョブの実行が終了しない場合でも電源断タスクを強制的に実行する強制実行指示の有無を指示することができる。
【００２７】
図６は、電源断タスク作成モジュール４２１がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者に電源断タスクを作成させることができる電源断タスク作成画面を模式化した図である。
【００２８】
図６において、６０１は更新ボタンで、本画面での入力に基づいて電源断タスクの設定を更新するためのものである。６０２は即時実行ボタンで、本画面での入力に基づいて電源断タスクを即時実行するためのものである。６０３はキャンセルボタンで、電源断タスクの設定をしないで本画面を終了するためのものである。
【００２９】
６１１は、ジョブ待機最大待機時間５０３を管理者に入力させるためのものである。６１２は強制電源断チェックボックスで、強制断フラグ５０４の値を管理者に指定させるためのジョブ待機最大待機時間入力欄である。
【００３０】
６２１は、スケジュール実行するかどうかを管理者に指定させるためのスケジュール設定チェックボックスである。
６２２は、スケジュール実行する場合の開始時刻５０２のうち日付部分を管理者に入力させるための開始時刻日付部分入力欄である。６２３は、スケジュール実行する場合の開始時刻５０２のうち時間部分を管理者に入力させるための開始時刻時間部分入力欄である。
なお、電源断タスク作成モジュール４２１が電源断タスクを作成する手順の詳細については後述する図１０に示す。
【００３１】
図７は、デバイス設定タスクデータのデータ構成を模式化した図である。
デバイス設定タスクデータは、デバイス設定タスク作成モジュール４３１により作成される。またデバイス設定タスクデータはデバイス設定タスクデータ保存モジュール４３５に保存される。
【００３２】
図７において、７０１は即時フラグで、当該タスクを即時実行するかスケジュール実行するかを決定するためのものである。７０２は開始時刻で、スケジュール実行する場合に設定されるものである。
【００３３】
７０３は保存先種別で、デバイス設定値取得モジュール４３２が取得する対象となるデバイス設定値ファイルの保存先の種別を表すものである。７０４は、デバイス設定値取得モジュールが取得する対象となるデバイス設定値ファイルのファイルパスである。デバイス設定値ファイルは、デバイス設定タスクで設定するデバイスの設定項目と設定値を保持するファイルであり、管理者が予め作成し、ＭＦＰ１０２からアクセス可能なネットワーク上の保存先（例えば情報処理装置１０３内のWindows（登録商標）共有ファイル等）に保存しておく。なお、上記保存先種別７０３には、Windows（登録商標）共有ファイルや、ＭＦＰ１０２内のストレージ２０３等が設定可能である。
【００３４】
７０５は、デバイス設定値取得モジュールがデバイス設定値ファイルにアクセスする際に使用するユーザのユーザ名である。７０６は、デバイス設定値取得モジュールがデバイス設定値ファイルにアクセスする際に使用するユーザのパスワードである。
【００３５】
７０７は設定処理開始前ジョブ待機最大待機時間で、デバイス設定タスクにおけるデバイス設定値のインポート処理を開始する前にジョブ待機を行う際の待機する時間の上限を決定するためのものである。７０８は再起動前ジョブ待機最大待機時間で、デバイス設定タスクにおけるデバイス設定値のインポート処理が完了した後に再起動する前にジョブ待機を行う際の待機する時間の上限を決定するためのものである。
【００３６】
図８は、デバイス設定タスク作成モジュール４３１がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者にデバイス設定タスクを作成させることができるデバイス設定タスク作成画面を模式化した図である。
【００３７】
図８において、８０１は更新ボタンで、本画面での入力に基づいてデバイス設定タスクの設定を更新するためのものである。８０２は、本画面での入力に基づいて即時実行ボタンで、デバイス設定タスクを即時実行するためのものである。８０３はキャンセルボタンで、デバイス設定タスクの設定をしないで本画面を終了するためのものである。
【００３８】
８１１は、保存先種別７０３を選択するための保存先種別指定ドロップダウンボックスである。選択肢としてはＷｉｎｄｏｗｓ（登録商標）共有フォルダーとＦＴＰサーバーが選択できるようになっている。
【００３９】
８１２は、ファイルパス７０４を管理者に入力させるファイルパス入力欄である。８１３は、そのファイルパスにアクセス際に使用するユーザのユーザ名７０５を管理者に入力させるユーザ名入力欄である。８１４は、そのユーザのパスワード７０６を管理者に入力させるパスワード入力欄である。
【００４０】
８２１は、作成するデバイス設定タスクにおける設定処理開始前ジョブ待機最大待機時間７０７を管理者に入力させる設定処理開始前ジョブ待機最大待機時間入力欄である。８２２は、作成するデバイス設定タスクにおける再起動前ジョブ待機最大待機時間７０８を管理者に入力させる再起動前ジョブ待機最大待機時間入力欄である。
【００４１】
８３１は、実行スケジュールを設定するかどうかを管理者に指定させるための実行スケジュール設定有効化チェックボックスである。８３２は、開始時刻７０２の日付部分を管理者に入力させる開始時刻日付部分入力欄である。８３３は、開始時刻７０２の時間部分を管理者に入力させる開始時刻時間部分入力欄である。
なお、デバイス設定タスク作成モジュール４３１がデバイス設定タスクを作成する手順の詳細については後述する図１３に示す。
【００４２】
図９は、エラー画面を模式的に示す図である。
電源断タスク作成画面（図６）あるいはデバイス設定タスク作成画面（図８）において、管理者が何らかの整合性に欠けた入力を行ったとする。そのうえで管理者がそのまま更新ボタン６０１または８０１、あるいは、即時実行ボタン６０２または８０２を押下した場合には、電源断タスク作成モジュール４２１またはデバイス設定タスク作成モジュール４３１は、エラーと判断する。
【００４３】
電源断タスク作成モジュール４２１またはデバイス設定タスク作成モジュール４３１は、その場合に、このエラー画面を、ネットワーク経由でサーブレットにより情報処理装置１０３のウェブブラウザ上に表示させる。
９０１は確認ボタンであり、このボタンが押下されると、当該エラー画面が閉じられる。
【００４４】
以下、図１０のフローチャートを用いて、電源断タスク作成処理について説明する。
図１０は、電源断タスク作成モジュール４２１が電源断タスクを作成する手順の一例を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【００４５】
まず、情報処理装置１０３から電源断タスクの作成要求を受けると、電源断タスク作成モジュール４２１は、Ｓ１００１から処理を開始する。
続くＳ１００２において、電源断タスク作成モジュール４２１は、電源断タスク作成画面（図６）を生成し、情報処理装置１０３へ送信する。情報処理装置１０３ではウェブブラウザが動作している。当該ウェブブラウザ上で管理者が必要な情報を入力したのち、更新ボタン６０１または即時実行ボタン６０２を押下するか、特に情報を入力しなくてもキャンセルボタン６０３を押下するなどの操作を行うことで、入力データが、情報処理装置１０３から電源断タスク作成モジュール４２１に対して送信される。
【００４６】
Ｓ１００３において、電源断タスク作成モジュール４２１は、上記情報処理装置から送信された入力データを受信する。
そして続くＳ１００４において、電源断タスク作成モジュール４２１は、上記入力データが整合しているかどうかをチェックする。
そして、入力データが整合していないと判定した場合（Ｓ１００４でＮｏ）、電源断タスク作成モジュール４２１は、Ｓ１００５に処理を進める。
【００４７】
Ｓ１００５では、電源断タスク作成モジュール４２１は、エラー画面（図９）を生成し、情報処理装置１０３へ送信する。情報処理装置１０３上のウェブブラウザがエラー画面（図９）を描画する。管理者がエラー画面の内容を確認し、確認ボタン９０１を押下すると、情報処理装置１０３は、確認ボタン９０１が押下されたという応答のデータを電源断タスク作成モジュール４２１に対して送信する。
【００４８】
Ｓ１００６において、電源断タスク作成モジュール４２１は、確認ボタン９０１が押下されたという応答のデータを受信すると、Ｓ１００２に戻って処理を継続するように制御する。
【００４９】
一方、上記Ｓ１００４において、入力データが整合していると判定した場合（Ｙｅｓ）、電源断タスク作成モジュール４２１は、Ｓ１００７に処理を進める。
Ｓ１００７では、電源断タスク作成モジュール４２１は、上記入力データの内容を確認し、管理者によって押下されたのが更新ボタン６０１または即時実行ボタン６０２であるかどうかをチェックする。
【００５０】
そして、押下されたのが更新ボタン６０１と即時実行ボタン６０２のどちらでもないと判定した場合（Ｓ１００７でＮｏ）、キャンセルボタン６０３が押下されたということであるので、電源断タスク作成モジュール４２１は、何もせずそのままＳ１０１１にて、電源断タスク作成処理を終了する。
【００５１】
一方、押下されたのが更新ボタン６０１または即時実行ボタン６０２であると判定した場合（Ｓ１００７でＹｅｓ）、電源断タスク作成モジュール４２１は、Ｓ１００８に処理を進める。
【００５２】
Ｓ１００８では、電源断タスク作成モジュール４２１は、上記入力データの内容から電源断タスクデータ（図５）を生成する。
次にＳ１００９において、電源断タスク作成モジュール４２１は、上記Ｓ１００８で生成した電源断タスクデータを電源断タスクデータ保存モジュール４２３へ保存する。
【００５３】
さらに、Ｓ１０１０において、電源断タスク作成モジュール４２１は、電源断タスク登録モジュール４２４を呼び出し、上記Ｓ１００９で保存した電源断タスクデータに対応する電源断タスクを登録する。この際、電源断タスク作成モジュール４２１は、登録するタスクに対応する電源断タスクデータのポインタ（電源断タスクデータ保存モジュール４２３内の保存場所を示す）を、電源断タスク登録モジュール４２４に渡す。この登録処理により、電源断タスクのスケジュールデータ（図１１）がスケジュールデータ保存モジュール４４２に保存される。なお、電源断タスクの登録処理の詳細は後述する図１２に示す。上記電源断タスクの登録が完了したら、電源断タスク作成モジュール４２１は、Ｓ１０１１において、電源断タスク作成処理を完了する。
【００５４】
次に、図１１を用いて、スケジュールデータについて説明する。
図１１は、タイマ部４１１が処理するスケジュールデータを模式化した図である。
図１１において、１１０１は、スケジュールの設定時刻である。１１０２は、スケジュールの種別（電源断タスク、デバイス設定タスク）を示すデータである。１１０３は、電源断タスクデータあるいはデバイス設定タスクデータへのポインタである。
【００５５】
以下、図１２のフローチャートを用いて、電源断タスク登録処理について説明する。
図１２は、電源断タスク登録モジュール４２４が電源断タスクを登録する手順の一例を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【００５６】
まず、電源断タスク作成モジュール４２１から呼び出されると、電源断タスク登録モジュール４２４は、Ｓ１２０１から処理を開始する。なお、電源断タスク登録モジュール４２４は、呼び出された際に、電源断タスク作成モジュール４２１から登録するタスクに対応する電源断タスクデータのポインタ（電源断タスクデータ保存モジュール４２３内の保存場所を示す）を受け取る。
【００５７】
Ｓ１２０２では、電源断タスク登録モジュール４２４は、電源断タスク作成モジュール４２１から指定されたポインタから読み出された電源断タスクデータに基づいて、登録するタスクが、スケジュール実行が指定されたものか、即時実行が指定されたものかを判定する。
【００５８】
スケジュール実行が指定されたものであると判定した場合（Ｓ１２０２でＹｅｓ）、電源断タスク登録モジュール４２４は、Ｓ１２０３に処理を進める。
Ｓ１２０３では、電源断タスク登録モジュール４２４は、上記電源断タスク作成モジュール４２１から指定されたポインタから読み出された電源断タスクデータに基づいて、スケジュールデータ（図１１）を作成する。
【００５９】
さらに、Ｓ１２０４において、電源断タスク登録モジュール４２４は、上記Ｓ１２０３で作成したスケジュールデータを、タイマ部４１１のスケジュールデータ保存モジュール４４２へ保存し、Ｓ１２０６にて処理を完了する。なお、スケジュールデータ保存モジュール４４２へスケジュールデータが保存されると、設定時刻１１０１がタイマ登録される。そして、設定時刻１１０１に到達してシグナルが発生すると、タイマ通知モジュール４４１は、タスク制御部４１３へ通知を行う。なお、ＭＦＰの再起動時にも、スケジュールデータ保存モジュール４４２へ保存されたスケジュールデータ内の設定時刻１１０１がタイマ登録される。なお、タイマ部４１１への電源断タスクの登録は１タスクしかできないものとする。
【００６０】
一方、上記Ｓ１２０２において、スケジュール実行が指定されたものでない（即時実行が指定されたものである）と判定した場合（Ｎｏ）、電源断タスク登録モジュール４２４は、Ｓ１２０５に処理を進める。
【００６１】
Ｓ１２０５では、即時実行であるので、電源断タスク登録モジュール４２４は、タスク制御部４１３に対して、上記指定された電源断タスクデータのポインタを渡し、Ｓ１２０６にて処理を完了する。
【００６２】
以下、図１３のフローチャートを用いてデバイス設定タスク作成処理について説明する。
図１３は、デバイス設定タスク作成モジュール４３１がデバイス設定タスクを作成する手順の一例を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【００６３】
まず、情報処理装置１０３からデバイス設定タスクの作成要求を受けると、デバイス設定タスク作成モジュール４３１は、Ｓ１３０１から処理を開始する。
続くＳ１３０２において、デバイス設定タスク作成モジュール４３１は、デバイス設定タスク作成画面（図８）を生成し、情報処理装置１０３へ送信する。情報処理装置１０３上ではウェブブラウザが動作しており、管理者が必要な情報を入力したのち、更新ボタン８０１または即時実行ボタン８０２を押下するか、特に情報を入力しなくてもキャンセルボタン８０３を押下するなどの操作を行うことで、入力データが、情報処理装置１０３からデバイス設定タスク作成モジュール４３１に対して送信される。
【００６４】
そして、Ｓ１３０３において、デバイス設定タスク作成モジュール４３１は、上記情報処理装置から送信された入力データを受信する。
そして続くＳ１３０４において、デバイス設定タスク作成モジュール４３１は、上記入力データが整合しているかどうかをチェックする。
そして、入力データが整合していないと判定した場合（Ｓ１３０４でＮｏ）、デバイス設定タスク作成モジュール４３１は、Ｓ１３０５に処理を進める。
【００６５】
Ｓ１３０５では、デバイス設定タスク作成モジュール４３１は、エラー画面（図９）を生成し、情報処理装置１０３へ送信する。情報処理装置１０３上のウェブブラウザがエラー画面（図９）を描画する。管理者がエラー画面の内容を確認し、確認ボタン９０１を押下すると、情報処理装置１０３は、確認ボタン９０１が押下されたという応答のデータをデバイス設定タスク作成モジュール４３１に対して送信する。
【００６６】
そして、Ｓ１３０６において、デバイス設定タスク作成モジュール４３１は、確認ボタン９０１が押下されたという応答のデータを受信すると、Ｓ１３０２に戻って処理を継続するように制御する。
【００６７】
一方、上記Ｓ１３０４において、入力データが整合していると判定した場合（Ｙｅｓ）、デバイス設定タスク作成モジュール４３１は、Ｓ１３０７に処理を進める。
Ｓ１３０７では、デバイス設定タスク作成モジュール４３１は、上記入力データの内容を確認し、管理者によって押下されたのが更新ボタン８０１または即時実行ボタン８０２であるかどうかをチェックする。
【００６８】
そして、押下されたのが更新ボタン８０１と即時実行ボタン８０２のどちらでもないと判定した場合（Ｓ１３０７でＮｏ）、キャンセルボタン８０３が押下されたということであるので、デバイス設定タスク作成モジュール４３１は、何もせずそのままＳ１３１１にて、デバイス設定タスク作成処理を完了する。
【００６９】
一方、押下されたのが更新ボタン８０１または即時実行ボタン８０２であると判定した場合（Ｓ１３０７でＹｅｓ）、デバイス設定タスク作成モジュール４３１は、Ｓ１３０８に処理を進める。
【００７０】
Ｓ１３０８では、デバイス設定タスク作成モジュール４３１は、上記入力データの内容からデバイス設定タスクデータ（図７）を生成する。
次にＳ１３０９において、デバイス設定タスク作成モジュール４３１は、そのデバイス設定タスクデータをデバイス設定タスクデータ保存モジュール４３５へ保存する。
【００７１】
さらに、Ｓ１３１０において、デバイス設定タスク作成モジュール４３１は、デバイス設定タスク登録モジュール４３６を呼び出し、上記Ｓ１３０９でデバイス設定タスクデータ保存モジュール４３５に保存したデバイス設定タスクデータに対応するデバイス設定タスクを登録する。この際、デバイス設定タスク作成モジュール４３１は、登録するタスクに対応するデバイス設定タスクデータのポインタ（デバイス設定タスクデータ保存モジュール４３５内の保存場所を示す）を、デバイス設定タスク登録モジュール４３６に渡す。この登録処理により、デバイス設定タスクのスケジュールデータ（図１１）がスケジュールデータ保存モジュール４４２に保存される。なお、デバイス設定タスクの登録処理の詳細は後述する図１４に示す。上記デバイス設定タスクの登録が完了したら、デバイス設定タスク作成モジュール４３１は、Ｓ１３１１において、デバイス設定タスク作成処理を完了する。
【００７２】
以下、図１４のフローチャートを参照して、デバイス設定タスク登録処理について説明する。
図１４は、デバイス設定タスク登録モジュール４３６のデバイス設定タスクを登録する手順の一例を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【００７３】
まず、デバイス設定タスク作成モジュール４３１から呼び出されると、デバイス設定タスク登録モジュール４３６は、Ｓ１４０１から処理を開始する。なお、デバイス設定タスク登録モジュール４３６は、呼び出された際に、デバイス設定タスク作成モジュール４３１から登録するタスクに対応するデバイス設定タスクデータのポインタ（デバイス設定タスクデータ保存モジュール４３５内の保存場所を示す）を受け取る。
【００７４】
Ｓ１４０２では、デバイス設定タスク登録モジュール４３６は、デバイス設定タスク作成モジュール４３１から指定されたポインタから読み出されたデバイス設定タスクデータに基づいて、登録するタスクが、スケジュール実行が指定されたものか、即時実行が指定されたものかを判定する。
【００７５】
スケジュール実行が指定されたものであると判定した場合（Ｓ１４０２でＹｅｓ）、デバイス設定タスク登録モジュール４３６は、Ｓ１４０３に処理を進める。
Ｓ１４０３では、デバイス設定タスク登録モジュール４３６は、上記デバイス設定タスク作成モジュール４３１から指定されたポインタから読み出されたデバイス設定タスクデータに基づいて、スケジュールデータ（図１１）を作成する。
【００７６】
さらに、Ｓ１４０４において、デバイス設定タスク登録モジュール４３６は、上記Ｓ１４０３で作成したスケジュールデータを、タイマ部４１１のスケジュールデータ保存モジュール４４２へ保存し、Ｓ１４０６にて処理を完了する。なお、スケジュールデータ保存モジュール４４２へスケジュールデータが保存されると、設定時刻１１０１がタイマ登録される。そして、設定時刻１１０１に到達してシグナルが発生すると、タイマ通知モジュール４４１は、タスク制御部４１３へ通知を行う。なお、ＭＦＰの再起動時にも、スケジュールデータ保存モジュール４４２へ保存されたスケジュールデータ内の設定時刻１１０１がタイマ登録される。なお、タイマ部４１１へのデバイス設定タスクの登録は１タスクしかできないものとする。
【００７７】
一方、上記Ｓ１４０２において、スケジュール実行が指定されたものでない（即時実行が指定されたものである）と判定した場合（Ｎｏ）、デバイス設定タスク登録モジュール４３６は、Ｓ１４０５に処理を進める。
【００７８】
Ｓ１４０５では、即時実行であるので、デバイス設定タスク登録モジュール４３６は、タスク制御部４１３に対して、上記指定されたデバイス設定タスクデータのポインタを渡し、Ｓ１４０６にて処理を完了する。
【００７９】
次に、図１５のフローチャートを参照して、スケジュールされたタスクの呼び出し処理について説明する。
図１５は、タイマ通知モジュール４４１がスケジュールされたタスクを呼び出す手順の一例を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【００８０】
タイマ通知モジュール４４１は、起動時及び所定のタイミングで呼び出され、Ｓ１５０１から処理を開始する。
まず、Ｓ１５０２において、タイマ通知モジュール４４１は、起動直後であるかどうかをチェックする。
そして、起動直後であると判定した場合（Ｓ１５０２でＹｅｓ）、タイマ通知モジュール４４１は、Ｓ１５０３へ処理を進める。
Ｓ１５０３では、タイマ通知モジュール４４１は、次回起動時指定のスケジュールがあるか、即ち、設定時刻に「次回起動時」を意味する特別な時刻値（９９：９９）を持つスケジュールデータ（図１１）がスケジュールデータ保存モジュール４４２に保持されているかどうかを判定する。
【００８１】
そして、次回起動時指定のスケジュールがない、即ち、設定時刻に「次回起動時」を意味する特別な時刻値（９９：９９）を持つスケジュールデータがスケジュールデータ保存モジュール４４２に保持されていないと判定した場合（Ｓ１５０３でＮｏ）、タイマ通知モジュール４４１は、Ｓ１５０４に処理を進める。
【００８２】
また、上記Ｓ１５０２において、起動直後でないと判定した場合も(Ｎｏ）、タイマ通知モジュール４４１は、Ｓ１５０４へ処理を進める。
Ｓ１５０４では、タイマ通知モジュール４４１は、スケジュールデータに登録された時刻かどうか、即ち、現在時刻がスケジュールデータ保存モジュール４４２に保存されている各スケジュールデータ（図１１）に保持されている設定時刻１１０１であるかどうかをチェックする。なお、ここでは各スケジュールデータに保持されている設定時刻１１０１を保存時に予めタイマ登録しておきタイマからシグナルを受け取ることで設定時刻１１０１に到達したことが判明するようにシステムが構成されている。
【００８３】
そして、スケジュールデータに登録された時刻でない、即ち、現在時刻がスケジュールデータにある設定時刻１１０１に到達していないと判定した場合（Ｓ１５０４でＮｏ）、タイマ通知モジュール４４１は、再びＳ１５０４へ戻して処理を続行される。
【００８４】
一方、スケジュールデータに登録された時刻である、即ち、現在時刻がスケジュールデータにある設定時刻１１０１に到達したと判定した場合（Ｓ１５０４でＹｅｓ）、タイマ通知モジュール４４１は、Ｓ１５０５に処理を進める。
【００８５】
また、上記Ｓ１５０３で、次回起動時指定のスケジュールがある、即ち、設定時刻に「次回起動時」を意味する特別な時刻値（９９：９９）を持つスケジュールデータがスケジュールデータ保存モジュール４４２に保持されていると判定した場合も(Ｙｅｓ）、タイマ通知モジュール４４１は、Ｓ１５０５に処理を進める。
【００８６】
Ｓ１５０５では、タイマ通知モジュール４４１は、上記Ｓ１５０４で登録時刻となったと判定されたスケジュールデータ、又は、上記Ｓ１５０３で次回起動時指定と判定されたスケジュールを取り出す。
【００８７】
次に、Ｓ１５０６において、タイマ通知モジュール４４１は、上記Ｓ１５０５で取り出したスケジュールデータに保持されているタスクデータへのポインタ１１０３を取り出す。
【００８８】
さらに、Ｓ１５０７において、タイマ通知モジュール４４１は、上記Ｓ１５０６で取り出したタスクデータへのポインタ１１０３を、タスク制御部４１３に対して渡し、Ｓ１５０８にて処理を終了する。これにより、タスクが呼び出されて処理される。
【００８９】
以下、図１６Ａ〜図１６Ｇのフローチャートを用いて、タスク制御部４１３による電源断タスクおよびデバイス設定タスクの処理について説明する。
図１６Ａは、タスク制御部４１３のメイン処理を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【００９０】
タイマ通知モジュール４４１、電源断タスク登録モジュール４２４、又はデバイス設定タスク登録モジュール４３６からタスクデータへのポインタ１１０３を渡されると、タスク制御部４１３は、Ｓ１６００１から処理を開始する。
【００９１】
続くＳ１６００２において、タスク制御部４１３は、上記渡されたポインタに対応するタスクデータを読み出し、該タスクデータが電源断タスクのデータであるかどうかをチェックする。
【００９２】
そして、上記渡されたポインタに対応するタスクデータが電源断タスクのデータであると判定した場合（Ｓ１６００２でＹｅｓ）、タスク制御部４１３は、Ｓ１６００３において、電源断タスク処理［１］（図１６Ｂ）を実行する。そして、Ｓ１６００３の電源断タスク処理［１］を抜けたら、タスク制御部４１３は、Ｓ１６００７にて処理を終了する。
【００９３】
一方、上記渡されたポインタに対応するタスクデータが電源断タスクのデータでないと判定した場合（Ｓ１６００２でＮｏ）、デバイス設定タスクデータであるので、タスク制御部４１３は、Ｓ１６００４に処理を進める。
【００９４】
Ｓ１６００４では、タスク制御部４１３は、上記渡されたポインタに対応するデバイス設定タスクデータの開始時刻７０２を参照し、該開始時刻７０２から予め定められた時間Ｔｉ内の時刻（近い時刻）に、電源断タスクが存在しているかどうかを、電源断タスクデータ保存モジュール４２３を参照してチェックする。
【００９５】
そして、上記デバイス設定タスクデータの開始時刻７０２から時間Ｔｉ内の時刻（近い時刻）に電源断タスクが存在していないと判定した場合（Ｓ１６０４でＮｏ）、タスク制御部４１３は、Ｓ１６００５において、デバイス設定タスク処理［１］（図１６Ｃ）を実行する。そして、Ｓ１６００５のデバイス設定タスク処理［１］を抜けたら、タスク制御部４１３は、Ｓ１６００７にて処理を終了する。
【００９６】
一方、上記デバイス設定タスクデータの開始時刻７０２から時間Ｔｉ内の時刻（近い時刻）に電源断タスクが存在すると判定した場合（Ｓ１６０４でＹｅｓ）、タスク制御部４１３は、Ｓ１６００６において、デバイス設定タスク処理［２］（図１６Ｅ）を実行する。そして、Ｓ１６００６のデバイス設定タスク処理［２］を抜けたら、タスク制御部４１３は、Ｓ１６００７にて処理を終了する。
【００９７】
次に、電源断タスク処理［１］について説明する。
図１６Ｂは、タスク制御部４１３の電源断タスク処理［１］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【００９８】
電源断タスク処理［１］では、タスク制御部４１３は、まずＳ１６１０１において、ジョブ待機（電源断待機）を実行する。このステップは、現在処理中の電源断タスクの電源断のジョブ待機最大待機時間５０３だけの時間が経過するか、この間にジョブがなくなるか、あるいはこの間に新たなデバイス設定タスクが投入されるかまでの間待機を行う。
【００９９】
上記Ｓ１６１０１のジョブ待機中に、新たなデバイス設定タスクが投入されたと判定した場合、タスク制御部４１３は、Ｓ１６１０２に処理を進める。なお、「新たなデバイス設定タスクが投入された場合」とは、新たなデバイス設定タスクデータのポインタがタスク制御部４１３に渡された（図１５のＳ１５０７や図１４のＳ１４０５）場合である。
【０１００】
Ｓ１６１０２では、タスク制御部４１３は、デバイス設定タスクを再スケジュールする。詳細には、タスク制御部４１３は、上記新たに投入されたデバイス設定タスクのタスクデータの内容を使用して、新たに、開始時刻７０２に次回起動時を示す特別な時刻値「９９：９９」を指定したデバイス設定タスクデータを作成する。さらにタスク制御部４１３は、該作成したデバイス設定タスクデータをデバイス設定タスク登録モジュール４３６により登録する。該登録後、タスク制御部４１３は、Ｓ１６１０３に処理を進める。
【０１０１】
Ｓ１６１０３では、タスク制御部４１３は、電源断タスク処理［２］（図１６Ｄ）を実行する。そして、Ｓ１６１０３の電源断タスク処理［２］を抜けたら、タスク制御部４１３は、電源断タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１０２】
また、上記Ｓ１６１０１のジョブ待機中に、ジョブがなくなったと判定した場合、タスク制御部４１３は、Ｓ１６１０４に処理を進める。なお、上記Ｓ１６１０１において初めからジョブが無かった場合にも、タスク制御部４１３は、Ｓ１６１０４に処理を進める。
【０１０３】
Ｓ１６１０４では、タスク制御部４１３は、電源断実行モジュール４２２に電源断を指示する。そして、タスク制御部４１３は、電源断タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１０４】
また、上記Ｓ１６１０１のジョブ待機中に、ジョブ待機最大待機時間５０３が経過したと判定した場合、タスク制御部４１３は、Ｓ１６１０５に処理を進める。この場合は、ジョブ待機最大待機時間５０３が経過しても全てのジョブを終了できなかった場合に対応する。
【０１０５】
Ｓ１６１０５では、タスク制御部４１３は、当該電源断タスクデータの強制断フラグ５０４が立っているかどうかをチェックする。
そして、当該電源断タスクデータの強制断フラグ５０４が立っていると判定した場合（Ｓ１６１０５でＹｅｓ）、タスク制御部４１３は、Ｓ１６１０４に処理を進め、電源断実行モジュール４２２に電源断を指示する。
【０１０６】
一方、当該電源断タスクデータの強制断フラグ５０４が立っていないと判定した場合（Ｓ１６１０５でＮｏ）、タスク制御部４１３は、そのまま電源断タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。即ち、この場合、ユーザの意図（強制断フラグ５０４の設定）に従って電源断は実行されないこととなる。
【０１０７】
次に、デバイス設定タスク処理［１］について説明する。
図１６Ｃは、タスク制御部４１３のデバイス設定タスク処理［１］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【０１０８】
デバイス設定タスク処理［１］では、タスク制御部４１３は、まずＳ１６２０１において、開始前待機を実行する。このステップは、現在処理中のデバイス設定タスクの開始前ジョブ待機最大待機時間７０７だけの時間が経過するか、この間にジョブがなくなるか、あるいはこの間に新たな電源断タスクが投入されるかまでの間待機を行う。
【０１０９】
上記Ｓ１６２０１の開始前待機中に、新たな電源断タスクが投入されたと判定した場合、タスク制御部４１３は、Ｓ１６２０２に処理を進める。なお、「新たな電源断タスクが投入された場合」とは、新たな電源断タスクデータのポインタがタスク制御部４１３に渡された（図１５のＳ１５０７や図１２のＳ１２０５）場合である。
【０１１０】
Ｓ１６２０２では、タスク制御部４１３は、現在処理しているデバイス設定タスクのデバイス設定処理完了想定最終時刻Ｔｃｏｍｐと電源断タスクの最終実行時刻Ｔｓとを比較する。なお、上記新たな電源断タスクの開始時刻からジョブ待機最大待機時間５０３だけ経過した時刻を電源断タスクの最終実行時刻Ｔｓとする。また、上記処理中のデバイス設定タスクの開始時刻から開始前ジョブ待機最大待機時間７０７が経過した時刻をデバイス設定処理開始最終時刻Ｔｗとする。加えて、デバイス設定値取得モジュール４３２がデバイス設定値ファイルを取得するのに想定される最大必要な時間をＴｆとする。さらに、デバイス設定実行モジュール４３３がデバイス設定を実行開始してから完了するまでに想定される最大必要な時間をＴｃとする。このとき、デバイス設定実行モジュールがデバイス設定の実行を完了するのに想定されるデバイス設定処理完了想定最終時刻ＴｃｏｍｐはＴｗ＋Ｔｆ＋Ｔｃで算出される。
【０１１１】
上記Ｓ１６２０２において、Ｔｃｏｍｐが大きい、すなわち電源断タスクの最終実行時刻Ｔｓの方が先に訪れると判定した場合（「Ｔｓが先」の場合）、タスク制御部４１３は、Ｓ１６２０３に処理を進める。
【０１１２】
Ｓ１６２０３では、タスク制御部４１３は、デバイス設定タスクを再スケジュールする。詳細には、タスク制御部４１３は、現在処理しているデバイス設定タスクのタスクデータの内容を使用して、新たに、開始時刻７０２に次回起動時を示す特別な時刻値「９９：９９」を指定したデバイス設定タスクデータを作成する。さらに、タスク制御部４１３は、該作成したデバイス設定タスクデータをデバイス設定タスク登録モジュール４３６により登録する。該登録後、タスク制御部４１３は、Ｓ１６２０４に処理を進める。
【０１１３】
Ｓ１６２０４では、タスク制御部４１３は、電源断タスク処理［２］（図１６Ｄ）を実行する。そして、Ｓ１６２０４の電源断タスク処理［２］を抜けたら、タスク制御部４１３は、デバイス設定タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１１４】
また、上記Ｓ１６２０２においてＴｓが大きい、すなわちデバイス設定処理完了想定最終時刻Ｔｃｏｍｐの方が先に訪れると判定した場合（「Ｔｃｏｍｐが先」の場合）、タスク制御部４１３は、Ｓ１６２０５に処理を進める。
【０１１５】
Ｓ１６２０５では、タスク制御部４１３は、デバイス設定タスク処理［３］（図１６Ｆ）を実行する。なお、Ｓ１６２０５のデバイス設定タスク処理［３］を抜けたら、デバイス設定タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１１６】
また、上記Ｓ１６２０１の開始前待機中に、ジョブがなくなったと判定した場合（「ジョブがなくなった」の場合）、タスク制御部４１３は、Ｓ１６２０６に処理を進める。
Ｓ１６２０６では、タスク制御部４１３は、デバイス設定を実行する。デバイス設定の実行では、タスク制御部４１３は、まずデバイス設定値取得モジュール４３２に、デバイス設定値ファイルを取得させる。次に、タスク制御部４１３は、上記取得したデバイス設定値ファイルを用い、デバイス設定実行モジュール４３３に、デバイス設定を実行させる。
【０１１７】
上記Ｓ１６２０６のデバイス設定実行が完了したら、タスク制御部４１３は、Ｓ１６２０７において、リブート処理［１］（図１６Ｇ）を実行する。そして、Ｓ１６２０６のリブート処理［１］を抜けたら、タスク制御部４１３は、デバイス設定タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１１８】
また、上記Ｓ１６２０１の開始前待機中に、開始前ジョブ待機最大待機時間７０７を経過したと判定した場合（「待機時間が経過した」の場合）、タスク制御部４１３は、そのままデバイス設定タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１１９】
次に、電源断タスク処理［２］について説明する。
図１６Ｄは、タスク制御部４１３の電源断タスク処理［２］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【０１２０】
電源断タスク処理［２］では、タスク制御部４１３は、まずＳ１６３０１において、ジョブ待機を実行する。このステップでは、現在処理している電源断タスクのタスクデータのジョブ待機最大待機時間５０３が経過するか、この間にジョブがなくなるかのいずれかまでの待機を行う。なお、「ジョブ待機最大待機時間５０３の経過」は、現在処理している電源断タスクの開始時刻からジョブ待機最大待機時間５０３の経過とする。
【０１２１】
上記Ｓ１６３０１のジョブ待機中に、ジョブがなくなったと判定した場合、タスク制御部４１３は、Ｓ１６３０２に処理を進める。
Ｓ１６３０２では、タスク制御部４１３は、電源断実行モジュール４２２へ電源断を指示する。そして、指示が完了したら、タスク制御部４１３は、電源断タスク処理［２］を抜け、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１２２】
また、上記Ｓ１６３０１のジョブ待機中に、ジョブ待機最大待機時間５０３が経過したと判定した場合、タスク制御部４１３は、Ｓ１６３０３に処理を進める。
Ｓ１６３０３では、タスク制御部４１３は、強制断フラグ５０４が立っているかどうかをチェックする。
そして、強制断フラグ５０４が立っていると判定した場合（Ｓ１６３０３でＹｅｓ）、タスク制御部４１３は、Ｓ１６３０２に処理を進め、電源断実行モジュール４２２へ電源断を指示する。
【０１２３】
一方、強制断フラグ５０４が立っていないと判定した場合（Ｓ１６３０３でＮｏ）、タスク制御部４１３は、そのまま電源断タスク処理［２］を抜け、呼び出し元の処理の流れに沿って次のステップへ処理を進める。即ち、この場合、ユーザの意図（強制断フラグ５０４の設定）に従って電源断は実行されないこととなる。
【０１２４】
次に、デバイス設定タスク処理［２］について説明する。
図１６Ｅは、タスク制御部４１３のデバイス設定タスク処理［２］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【０１２５】
デバイス設定タスク処理［２］では、タスク制御部４１３は、まずＳ１６４０１において、現在処理しているデバイス設定タスクと、近い時刻に存在する電源断タスクの間でＴｃｏｍｐとＴｓとを比較する。
【０１２６】
そして、Ｔｃｏｍｐが小さい、すなわちデバイス設定処理完了想定最終時刻Ｔｃｏｍｐの方が先に訪れると判定した場合（Ｓ１６４０１で「Ｔｃｏｍｐが先」の場合）、タスク制御部４１３は、Ｓ１６４０２に処理を進める。
【０１２７】
Ｓ１６４０２では、タスク制御部４１３は、開始前待機を実行する。このステップでは、処理中のデバイス設定タスクの開始前ジョブ待機最大待機時間７０７だけの時間が経過するか、この間にジョブがなくなるかまでの間待機を行う。なお、「開始前ジョブ待機最大待機時間７０７の経過」は、処理中のデバイス設定タスクの開始時刻から開始前ジョブ待機最大待機時間７０７の経過とする。
【０１２８】
そして、上記Ｓ１６４０２の開始前待機中に、ジョブがなくなったと判定した場合（「ジョブがなくなった」の場合）、タスク制御部４１３は、Ｓ１６４０３に処理を進める。
Ｓ１６４０３では、タスク制御部４１３は、デバイス設定を実行する。デバイス設定の実行では、タスク制御部４１３は、まずデバイス設定値取得モジュール４３２に、デバイス設定値ファイルを取得させる。次に、タスク制御部４１３は、上記取得したデバイス設定値ファイルを用い、デバイス設定実行モジュール４３３に、デバイス設定を実行させる。そして、デバイス設定を実行した後、タスク制御部４１３は、Ｓ１６４０４に処理を進める。
【０１２９】
Ｓ１６４０４では、タスク制御部４１３は、上記電源断タスクの最終実行時刻Ｔｓと現在時刻から予め与えられた再起動省略判定基準時間Ｔｎ（例えば、再起動前ジョブ待機最大待機時間７０８＋再起動実行時間＋デバイスの起動時間に対応する時間）だけ経過した時刻Ｔｒ（以下、再起動完了想定最終時刻Ｔｒと呼ぶ）との比較を行う。
【０１３０】
そして、再起動完了想定最終時刻Ｔｒが小さい（Ｔｒが先）と判定した場合、すなわちＴｓが再起動省略判定基準を超えている場合、タスク制御部４１３は、再起動を優先して実行するために、Ｓ１６４０５に処理を進める。
【０１３１】
Ｓ１６４０５では、タスク制御部４１３は、電源断タスクを再スケジューリングする。詳細には、タスク制御部４１３は、上記電源断タスクを、該電源断タスクのタスクデータの内容を使用して、新たに、開始時刻５０２に次回起動時実行を意味する「９９：９９」を指定した新たな電源断タスクデータを作成して登録したのちに消去する。そして、タスク制御部４１３は、Ｓ１６４０６に処理を進める。
【０１３２】
Ｓ１６４０６では、タスク制御部４１３は、再起動前待機を行う。再起動前待機では、ジョブがなくなるか、処理中のデバイス設定タスクの再起動前ジョブ待機最大待機時間７０８が経過するまでの間待機する。そして、ジョブがなくなるか、または再起動前ジョブ待機最大待機時間７０８が経過したら、タスク制御部４１３は、Ｓ１６４０７に処理を進める。
【０１３３】
Ｓ１６４０７では、タスク制御部４１３は、再起動実行モジュール４３４へ再起動を指示し、デバイス設定タスク処理［２］を抜け、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１３４】
また、上記Ｓ１６４０１においてＴｓが先、すなわち電源断タスクの最終実行時刻Ｔｓの方が先に訪れると判定した場合、タスク制御部４１３は、Ｓ１６４０８に処理を進める。
【０１３５】
Ｓ１６４０８では、タスク制御部４１３は、処理中のデバイス設定タスクの再スケジュールを行う。詳細には、タスク制御部４１３は、処理中のデバイス設定タスクを、該デバイス設定タスクのデータを流用して開始時刻に次回起動時実行を意味する「９９：９９」を指定した新たなデバイス設定タスクデータを作成して登録したのちに、消去し、再スケジュールを行う。そして、タスク制御部４１３は、Ｓ１６４０９に処理を進める。
【０１３６】
また、上記Ｓ１６４０２の開始前待機中に、開始前ジョブ待機最大待機時間が経過してしまったと判定した場合（「待機時間が経過」の場合)や、上記Ｓ１６４０４において、電源断タスクの最終実行時刻Ｔｓの方が先に訪れると判定した場合（「Ｔｓ」が先)にも、タスク制御部４１３は、Ｓ１６４０９に処理を進める。
【０１３７】
Ｓ１６４０９では、タスク制御部４１３は、電源断タスク処理［２］を実行する。電源断タスク処理［２］を抜けたら、タスク制御部４１３は、デバイス設定タスク処理［２］を抜け、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１３８】
次に、デバイス設定タスク処理［３］について説明する。
図１６Ｆは、タスク制御部４１３のデバイス設定タスク処理［３］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【０１３９】
デバイス設定タスク処理［３］では、タスク制御部４１３は、まずＳ１６５０１において、開始前待機を実行する。このステップでは、処理中のデバイス設定タスクの開始前ジョブ待機最大待機時間７０７が経過するか、この間にジョブがなくなるかまでの間待機を行う。なお、「開始前ジョブ待機最大待機時間７０７が経過」とは、処理中のデバイス設定タスクの開始時刻から開始前ジョブ待機最大待機時間７０７までの経過を示す。
【０１４０】
そして、上記Ｓ１６５０１の開始前待機中にジョブがなくなったと判定した場合（「ジョブがなくなった」の場合）、タスク制御部４１３は、Ｓ１６４０２に処理を進める。
Ｓ１６４０２では、タスク制御部４１３は、デバイス設定を実行する。デバイス設定の実行では、タスク制御部４１３は、まずデバイス設定値取得モジュール４３２に、デバイス設定値ファイルを取得させる。次に、タスク制御部４１３は、上記取得したデバイス設定値ファイルを用い、デバイス設定実行モジュール４３３に、デバイス設定を実行させる。そして、タスク制御部４１３は、Ｓ１６５０３に処理を進める。
【０１４１】
Ｓ１６５０３では、タスク制御部４１３は、電源断タスクの最終実行時刻Ｔｓと再起動完了想定最終時刻Ｔｒとの比較を行う。
そして、再起動完了想定最終時刻Ｔｒが先に訪れると判定した場合、先に再起動が完了すると判断して、タスク制御部４１３は、Ｓ１６５０４に処理を進める。
Ｓ１６５０４では、タスク制御部４１３は、電源断タスクを次回起動時実行に再スケジュールし、Ｓ１６５０５に処理を進める。
Ｓ１６５０５では、タスク制御部４１３は、再起動前待機を行う。再起動前待機は、ジョブがなくなるか再起動前ジョブ待機最大待機時間７０８が経過するまでの間待機を行う。そして、ジョブがなくなったか再起動前ジョブ待機最大待機時間７０８が経過したら、タスク制御部４１３は、Ｓ１６５０６に処理を進める。
【０１４２】
Ｓ１６５０６では、タスク制御部４１３は、再起動実行モジュール４３４に再起動を指示する。指示が完了したら、タスク制御部４１３は、デバイス設定タスク処理［３］を抜け、呼び出し元の処理の流れに沿って次のステップに処理を進める。
【０１４３】
また、上記Ｓ１６５０１の開始前待機において開始前ジョブ待機最大待機時間７０７が経過したと判定した場合（「待機時間が経過した」の場合)や、上記Ｓ１６５０３において電源断タスクの最終実行時刻Ｔｓが先に訪れると判定した場合（「Ｔｓが先」の場合）、タスク制御部４１３は、Ｓ１６５０７に処理を進める。
【０１４４】
Ｓ１６５０７では、タスク制御部４１３は、電源断タスク処理［２］を実行する。電源断タスク処理［２］から抜けたら、タスク制御部４１３は、デバイス設定タスク処理［３］を抜け、呼び出し元の処理の流れに沿って次のステップに処理を進める。
【０１４５】
次に、リブート処理［１］について説明する。
図１６Ｇは、タスク制御部４１３のリブート処理［１］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【０１４６】
リブート処理［１］では、タスク制御部４１３は、まずＳ１６６０１において、開始前待機を実行する。このステップは、処理中のデバイス設定タスクの開始前ジョブ待機最大待機時間７０７だけの時間が経過するか、この間にジョブがなくなるか、あるいはこの間に新たな電源断タスクが投入されるかまでの間待機を行う。なお、「開始前ジョブ待機最大待機時間７０７が経過」とは、処理中のデバイス設定タスクの開始時刻から開始前ジョブ待機最大待機時間７０７までの経過を示す。
【０１４７】
そして、上記Ｓ１６６０１の再起動前待機中に、新たな電源断タスクが投入されたと判定した場合、タスク制御部４１３は、Ｓ１６６０２に処理を進める。
Ｓ１６６０２では、タスク制御部４１３は、電源断タスクの最終実行時刻Ｔｓと再起動完了想定最終時刻Ｔｒとの比較を行う。
そして、Ｔｒが先に訪れると判定した場合（Ｓ１６６０２で「Ｔｒが先」）、再起動が先に完了すると判断して、タスク制御部４１３は、Ｓ１６６０３に処理を進める。
Ｓ１６６０３では、タスク制御部４１３は、電源断タスクを次回起動時実行に再スケジュールし、Ｓ１６６０４に処理を進める。
Ｓ１６６０４では、タスク制御部４１３は、再起動前待機を実行する。Ｓ１６６０４の再起動前待機では、タスク制御部４１３は、ジョブがなくなるか再起動前ジョブ待機最大待機時間７０８が経過するまでの間待機を実行する。ジョブがなくなったか再起動前ジョブ待機最大待機時間７０８が経過した場合、タスク制御部４１３は、Ｓ１６６０５に処理を進める。
【０１４８】
Ｓ１６６０５では、タスク制御部４１３は、再起動実行モジュール４３４に再起動を指示する。再起動の指示が完了したら、タスク制御部４１３は、リブート処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１４９】
また、上記Ｓ１６６０１において、ジョブがなくなったか再起動前ジョブ待機最大待機時間７０８が経過したと判定した場合、タスク制御部４１３は、Ｓ１６６０６に処理を進める。
【０１５０】
また、上記Ｓ１６６０２において、Ｔｓが先に訪れると判定した場合にも、タスク制御部４１３は、Ｓ１６６０６に処理を進める。
Ｓ１６６０６では、タスク制御部４１３は、電源断タスク処理［２］を実行する。そして、電源断タスク処理［２］を抜けたら、タスク制御部４１３は、リブート処理［１］を抜けて、もとの処理の流れに沿って次のステップに処理を進める。
【０１５１】
以上示したように、実施例１によれば、デバイス設定とそれに伴う再起動および電源断が重なるように即時実行またはスケジュール設定指示された場合でも、正しく設定と電源断を行うことが可能になる。特に電源断が確実に実行されているべき時刻において、ユーザの意図に反して電源断が実行されずに終わることがないため、外部からの電源供給を断たれる場合においてもデバイスの故障を未然に防ぐことが可能になる。
【０１５２】
即ち、本実施例では、電源断タスク提供部４１４による処理（第１指定処理）により、指定期間内に前記画像形成装置をシャットダウンする電源断タスクを指定し、デバイス設定タスク提供部４１５による処理（第２指定処理）により、指定期間内に前記画像形成装置の設定項目の設定を行う設定工程と該設定工程の後に前記画像形成装置を再起動する再起動工程を行う設定タスクを指定するように構成する。さらに、タスク制御部４１３は、電源断タスクが指示された場合、該電源断タスクの最終実行時刻Ｔｓ（即ち、ユーザによる指定期間の後端であり電源断の許される最終時刻）が、デバイス設定タスクの複数の段階（開始前待機、デバイス設定実行、再起起動待機、再起動実行、デバイスの起動）のどの段階に達するかに応じて、処理を変更するように制御する。
【０１５３】
例えば、電源断タスクの最終実行時刻Ｔｓ（指定期間の後端）が、デバイス設定タスクの開始時刻からデバイス設定処理完了想定最終時刻Ｔｃｏｍｐまでの間（開始前待機からデバイス設定実行完了までの間、即ち、デバイス設定タスクの指定期間の先端から設定工程が完了すると予想される日時までの期間）に含まれる場合、タスク制御部４１３は、デバイス設定タスクを一旦キャンセルするとともに次回起動時に実行されるように再スケジューリングして、電源断タスクを実行するように制御する。
【０１５４】
また、電源断タスクの最終実行時刻Ｔｓ（指定期間の後端）が、デバイス設定タスクのデバイス設定処理完了想定最終時刻Ｔｃｏｍｐの直後から再起動完了想定最終時刻Ｔｒまでの間（デバイス設定実行完了の直後からデバイスの起動完了までの間、即ち、設定工程が完了すると予想される日時から再起動工程により再起動されるＭＦＰ１０２の再起動が完了すると予想される日時までの期間）に含まれる場合、タスク制御部４１３は、デバイス設定タスクのうち、デバイス設定を実行し、再起起動待機以降の処理をキャンセルし、電源断タスクを実行するように制御する。即ち、デバイス設定タスクのうち再起動実行をキャンセルし、電源断タスクを実行するように制御する。
【０１５５】
また、電源断タスクの最終実行時刻Ｔｓ（指定期間の後端）が、デバイス設定タスクの再起動完了想定最終時刻Ｔｒ以降である場合（デバイスの再起動完了後である場合、即ち、設定タスクの再起動工程により再起動されるＭＦＰ１０２の再起動が完了すると予想される日時より以降となる場合）、タスク制御部４１３は、デバイス設定タスクのうちデバイス設定を実行し、電源断タスクを一旦キャンセルするとともに次回起動時に実行されるように再スケジューリングして、デバイス設定タスクのうち再起起動待機以降の処理を実行する。
【実施例２】
【０１５６】
上記実施例１によれば、デバイス設定とそれに伴う再起動および電源断が重なるような指示のある場合においても正しく処理を行うことができる。しかし、電源断タスクの実行のために、デバイス設定タスクのうち再起動の実行をキャンセルした後に電源断タスクがキャンセルされた場合、デバイス設定が反映されない状態が続く場合がある。
【０１５７】
例えば、強制フラグがオフで、ジョブ待機最大待機時間５０３が経過してもジョブが無くならなかった場合や、所定のユーザ（管理者）により電源断タスクがキャンセル可能な構成において、電源断タスクがキャンセルされた場合等である。
【０１５８】
このように、デバイス設定後の再起動の実行がキャンセルされたにも関わらず、電源断が実行されないままとなってしまうケースがある。このような状況では、デバイスは本来反映されるべきデバイス設定の実行結果が、再起動が行われていないため反映されていない状態で放置されてしまうことになる。
【０１５９】
本発明の実施例２では、ＭＦＰ１０２は管理者に対してデバイス（ＭＦＰ１０２）で発生した事象について通知する機能を備え、上記のようなデバイスの再起動が行われず放置された状態が発生した場合、管理者へ通知するように構成する。
【０１６０】
以下、実施例２を、図を示して説明を加える。ただし、実施例１との差異についてのみ説明し、説明を省略した部分は実施例１と同様とする。
まず、実施例２のネットワークデバイス管理ソフトウェアについて図２０を用いて説明する。
図２０は、実施例２のネットワークデバイス管理ソフトウェアの内部構成の一例を示すブロック図である。
なお、図２０の４０１〜４４２は、図４に記載したものと同様であるので説明は省略する。
【０１６１】
２００１は、ネットワークデバイス管理システムにおいて管理者に通知すべき事象が発生したときに管理者に通知を行う状態通知部である。状態通知部２００１は、例えば、電源断タスクの存在によりデバイス設定タスクの再起動処理がキャンセルされた後に、その電源断タスクがキャンセルされた場合等に、その旨を管理者の情報処理装置１０３に送信して、電源断タスクがキャンセルされた旨を管理者に通知する。なお、この通知は、状態通知部２００１が管理者の通知先（メールアドレス等）にメール等の通知手段を用いて通知するように構成する。なお、管理者の通知先（メールアドレス等）は予めＭＦＰ１０２のストレージ２０３等の記憶装置に格納されているものとする。
【０１６２】
次に、図１７を用いて、管理者により電源断タスクをキャンセルするための構成について説明する。
図１７は、タスク制御部４１３がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者に電源断タスクをキャンセルさせることができる電源断タスクキャンセル画面を模式化した図である。
【０１６３】
図１７において、１７０１は電源断タスクキャンセルの確認ボタンである。１７０２は電源断タスクキャンセルの中止ボタンである。
タスク制御部４１３は、情報処理装置１０３から電源断タスクのキャンセル要求を受けると、電源断タスクキャンセル画面（図１７）を生成し、情報処理装置１０３へ送信する。
【０１６４】
情報処理装置１０３ではウェブブラウザが動作している。当該ウェブブラウザ上で電源断タスクキャンセル画面（図１７）が表示され、管理者が、確認ボタン１７０１、又は、中止ボタン１７０２を押下する操作を行うことで、操作情報が、情報処理装置１０３からタスク制御部４１３に対して送信される。
【０１６５】
タスク制御部４１３は、上記情報処理装置から送信された操作情報を受信し、該操作情報を判断する。そして、上記操作情報が確認ボタン１７０１を押下した操作を示す場合、タスク制御部４１３は、電源断タスクをキャンセルする。一方、上記操作情報が中止ボタン１７０２を押下した操作を示す場合、タスク制御部４１３は、電源断タスクのキャンセルは行わない。
【０１６６】
次に、図１８を用いて、実施例２の電源断タスク処理［２］について説明する。なお、上述したように、タスク制御部４１３によるタスク処理の他の部分は実施例１と同様であるので説明は省略する。
【０１６７】
図１８は、実施例２のタスク制御部４１３の電源断タスク処理［２］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。
【０１６８】
実施例２の電源断タスク処理［２］では、タスク制御部４１３は、まずＳ１８００１において、ジョブ待機を実行する。このステップでは、現在処理している電源断タスクのタスクデータのジョブ待機最大待機時間５０３が経過するか、この間にジョブがなくなるか、この間に電源断タスクがキャンセルされるかのいずれかの条件が満たされるまで待機する。なお、「ジョブ待機最大待機時間５０３の経過」は、現在処理している電源断タスクの開始時刻からジョブ待機最大待機時間５０３の経過とする。
【０１６９】
上記Ｓ１８００１のジョブ待機中に、ジョブがなくなったと判定した場合、タスク制御部４１３は、Ｓ１８００２に処理を進める。Ｓ１８００２の処理は、図１６ＤのＳ１６３０２の処理と同様であるので説明は省略する。
【０１７０】
また、上記Ｓ１８００１のジョブ待機中に、ジョブ待機最大待機時間５０３が経過したと判定した場合、タスク制御部４１３は、Ｓ１８００３に処理を進める。
Ｓ１８００３では、タスク制御部４１３は、強制断フラグ５０４が立っているかどうかをチェックする。そして、強制断フラグ５０４が立っていると判定した場合（Ｓ１８００３でＹｅｓ）、タスク制御部４１３は、強制実行指示がなされていると判断し、Ｓ１８００２に処理を進める。
【０１７１】
一方、強制断フラグ５０４が立っていないと判定した場合（Ｓ１８００３でＮｏ）、タスク制御部４１３は、強制実行指示がなされていないと判断し、Ｓ１８００４に処理を進める。
【０１７２】
また、上記Ｓ１８００１のジョブ待機中に、電源断タスクがキャンセルされと判定した場合にも、タスク制御部４１３は、Ｓ１８００４に処理を進める。
Ｓ１８００４では、タスク制御部４１３は、状態通知部２００１を通じて管理者へ、電源断が行われないままでタスクの処理が終わっていることを示す通知を行う。そして、上記Ｓ１８０４の通知が完了したら、タスク制御部４１３は、電源断タスク処理［２］を抜け、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１７３】
以上示したように、実施例２によれば、当初電源断タスクがあったためにデバイス設定にともなう再起動がキャンセルされ、且つその後に電源断タスクがキャンセルされた場合についても、正しく処理することが可能になる。
【０１７４】
すなわち、強制断フラグ５０４の設定により電源断タスクが電源断を強制しなかった場合や、電源断タスクが後に管理者等によりキャンセルされ、ＭＦＰ１０２の電源が落ちなかった場合には、管理者に対して通知が行われる。
【０１７５】
このような構成により、管理者は、速やかにデバイス（ＭＦＰ１０２）を手動で再起動することができ、速やかにデバイス設定が正しくデバイスに反映され使用可能な状態とすることができる。
【０１７６】
なお、タスク制御部４１３は、以下に示す場合にも、状態通知部２００１を通じて管理者へ通知を行うように構成してもよい。
例えば、図１６ＢのＳ１６１０５でＮｏと判定された場合、電源断が実行されない旨を管理者に通知するように構成してもよい。
また、図１６ＣのＳ１６２０１で「待機時間が経過した」と判定された場合、デバイス設定が実行されない旨を管理者に通知するように構成してもよい。
また、図１６ＦのＳ１６５０１の開始前待機において開始前ジョブ待機最大待機時間７０７が経過したと判定した場合、デバイス設定が実行されない旨を管理者に通知するように構成してもよい。
【０１７７】
また、デバイス設定が実行された場合、その旨を管理者に通知するように構成してもよい。
さらに、その他、ジョブの実行等のためデバイス設定が実行されなかった場合のように管理者の設定通りに処理が実行されなかった場合、その旨を管理者に通知するように構成してもよい。
【０１７８】
また、電源断が実行される直前や再起動が実行される直前又は直後等にも、その旨を管理者に通知するように構成してもよい。
このような構成により、管理者は、速やかにデバイス（ＭＦＰ１０２）の状態を把握することができ、管理を容易にしたり、速やかに必要な対処を行うことができる。
【実施例３】
【０１７９】
上述の実施例２では、当初電源断タスクがあったためにデバイス設定にともなう再起動がキャンセルされ、且つその後に電源断タスクがキャンセルされた場合には、管理者に通知を行って、管理者にデバイスの再起動を促すように構成したが、実施例３では、上記のような場合に自動で再起動を行うように構成する。
【０１８０】
以下、実施例３を、図を示して説明を加える。ただし、実施例２との差異についてのみ説明し、説明を省略した部分は実施例２と同様とする。
次に、図１９を用いて、実施例３の電源断タスク処理［２］について説明する。なお、上述したように、タスク制御部４１３によるタスク処理の他の部分は実施例１と同様であるので説明は省略する。
【０１８１】
図１９は、実施例３のタスク制御部４１３の電源断タスク処理［２］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。なお、図１８と同一のステップには同一のステップ番号を付してある。以下、図１８と異なる部分のみ説明する。
【０１８２】
Ｓ１８００３において、強制断フラグ５０４が立っていないと判定した場合（Ｎｏ）、タスク制御部４１３は、強制実行指示がなされていないと判断し、待機ジョブの処理が終了した後、Ｓ１９００４に処理を進める。
また、上記Ｓ１８００１のジョブ待機中に、電源断タスクがキャンセルされと判定した場合にも、タスク制御部４１３は、Ｓ１９００４に処理を進める。
Ｓ１９００４では、タスク制御部４１３は、再起動実行モジュール４３４に再起動を指示する。そして、指示が完了したら、タスク制御部４１３は、電源断タスク処理［２］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０１８３】
以上示したように、実施例３によれば、当初電源断タスクがあったためにデバイス設定にともなう再起動がキャンセルされ、且つその後に電源断タスクがキャンセルされた場合についても、正しく処理することが可能になる。
【０１８４】
すなわち、強制断フラグ５０４の設定により電源断タスクが電源断を強制しなかった場合や、電源断タスクが後に管理者等によりキャンセルされ、ＭＦＰ１０２の電源が落ちなかった場合には、あらためて再起動が正しく行われ、デバイス設定が正しくデバイスに反映され使用可能な状態になる。
【０１８５】
上述の実施例２では、管理者が通知を受け取って手動でデバイスを再起動する必要があったが、実施例３においてはその必要がないというメリットも存在する。
なお、実施例３でも、図２０で示した状態通知部２００１を設け、以下のような場合に、実施例２と同様に、タスク制御部４１３が、状態通知部２００１を通じて管理者へ通知を行うように構成してもよい。
【０１８６】
例えば、図１９のＳ１９００４で再起動を行った場合、再起動を実行した旨を管理者に通知するように構成してもよい。
その他、実施例２の最後に示した各種の場合にも、管理者に通知するように構成してもよい。
このような構成により、管理者は、速やかにデバイス（ＭＦＰ１０２）の状態を把握することができ、管理を容易にしたり、速やかに必要な対処を行うことができる。
【実施例４】
【０１８７】
上述の実施例１〜３においては、電源断タスクの最終実行時刻Ｔｓがデバイス設定処理完了想定最終時刻Ｔｃｏｍｐよりも前である場合には必ずデバイス設定タスクを次回起動時に実行するように構成した。この場合、デバイス設定タスクが完了して設定が反映されるのは想定よりも遅くなってしまう。しかし、デバイス設定タスクの実行を優先してしまうと、デバイス設定実行モジュール４３３がデバイス設定を実行している間に電源断タスクの最終実行時刻を過ぎてしまい、電源断を実行できない可能性がある。
【０１８８】
そこで、実施例４では、上記の事情を鑑み、電源断タスクがデバイス設定実行モジュール４３３の実行中に最終実行時刻を迎えるように設定されてしまった場合でも、できるだけデバイス設定タスクと電源断タスクの両方を実行することができるように構成する。
【０１８９】
以下、実施例４を、図を示して説明を加える。ただし、実施例１〜３との差異についてのみ説明し、説明を省略した部分は実施例１〜３のいずれかと同様とする。
まず、図２２を用いて、実施例４の電源断タスクデータについて説明する。
図２２は、実施例４の電源断タスクデータのデータ構成を模式化した図である。
図２２において、５０１〜５０４は図５の５０１〜５０４と同様であるので説明は省略する。２２０１はジョブ待機最終時刻である。
このジョブ待機最終時刻２２０１は、図１０のＳ１００８において、電源断タスク作成モジュール４２１が、電源断タスクデータを生成する際に以下のような方法で算出する。即時フラグ５０１が「スケジュール実行」を示す場合、開始時刻５０２にジョブ待機最大待機時間５０３を加えることによりジョブ待機最終時刻２２０１を算出される。また、即時フラグ５０１が「即時実行」を示す場合、現在時刻にジョブ待機最大待機時間５０３を加えることによりジョブ待機最終時刻２２０１を算出される。
【０１９０】
次に、図２１Ａを用いて、実施例４のデバイス設定タスク処理［２］について説明する。また、図２１Ｂを用いて、実施例４のリブート処理［１］について説明する。なお、上述したように、タスク制御部４１３によるタスク処理の他の部分は実施例１〜３のいずれかと同様であるので説明は省略する。
【０１９１】
図２１Ａは、実施例４のタスク制御部４１３のデバイス設定タスク処理［２］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。なお、図１６Ｅと同一のステップには同一のステップ番号を付してある。以下、図１６Ｅと異なる部分のみ説明する。
【０１９２】
実施例４のデバイス設定タスク処理［２］では、タスク制御部４１３は、まずＳ１６４０１において、現在処理しているデバイス設定タスクと、近い時刻に存在する電源断タスクの間でデバイス設定処理完了想定最終時刻Ｔｃｏｍｐと電源断タスク最終実行時刻Ｔｓとの比較の結果、デバイス設定処理完了想定最終時刻Ｔｃｏｍｐより電源断タスク最終実行時刻Ｔｓの方が先に訪れると判定した場合（Ｓ１６４０１で「Ｔｓが先」の場合）、タスク制御部４１３は、Ｓ２１４０１に処理を進める。
【０１９３】
Ｓ２１４０１では、タスク制御部４１３は、電源断タスクの開始時刻５０２と上記Ｔｃｏｍｐを比較する。
そして、開始時刻５０２がＴｃｏｍｐよりも後であると判定した場合（Ｓ２１４０１で「Ｔｃｏｍｐが先」の場合）、タスク制御部４１３は、何もせずＳ１６４０２に処理を進める。
【０１９４】
一方、開始時刻５０２がＴｃｏｍｐよりも先であると判定した場合（Ｓ２１４０１で「開始時刻５０２が先」の場合）、タスク制御部４１３は、Ｓ２１４０２に処理を進める。
Ｓ２１４０２では、タスク制御部４１３は、電源断タスクを再スケジュールする。詳細には、タスク制御部４１３は、電源断タスクをデバイス設定処理完了直後に実行することを意味する開始時刻「８８：８８」にセットした電源断タスクデータを作成登録し、もとの電源断タスクデータを消去することで再スケジュールする。再スケジュールが完了したら、タスク制御部４１３は、Ｓ１６４０２に処理を進める。
【０１９５】
また、Ｓ１６４０３にてデバイス設定が完了したら、タスク制御部４１３は、Ｓ２１４０３に処理を進める。
Ｓ２１４０３では、タスク制御部４１３は、開始時刻「８８：８８」に指定された電源断タスクが存在するかどうかをチェックすることで、デバイス設定処理完了直後に実行する電源断タスクがあるかどうかを判定する。
【０１９６】
そして、開始時刻「８８：８８」に指定された電源断タスクが存在しない場合はデバイス設定処理完了直後に実行する電源断タスクがないと判定し（Ｓ２１４０３で「なし」）、タスク制御部４１３は、Ｓ１６４０４に処理を進める。
【０１９７】
一方、開始時刻「８８：８８」に指定された電源断タスクが存在する場合はデバイス設定処理完了直後に実行する電源断タスクがあると判定し（Ｓ２１４０３で「あり」）、タスク制御部４１３は、Ｓ２１４０４に処理を進める。
【０１９８】
Ｓ２１４０４では、タスク制御部４１３は、待機時間を再計算する。このとき、タスク制御部４１３は、現在時刻が当初の電源断タスクの最終実行時刻Ｔｓ（即ち、ジョブ待機最終時刻２２０１）を過ぎている場合には、開始時刻５０２に現在時刻、ジョブ待機最大待機時間５０３に「０」をそれぞれセットし、待機時間をゼロとする。一方、現在時刻が当初の電源断タスクの最終実行時刻Ｔｓ（ジョブ待機最終時刻２２０１）を過ぎていない場合には、開始時刻５０２に現在時刻、ジョブ待機最大待機時間５０３にＴｓと現在時刻の差をそれぞれセットし、待機時間をＴｓと現在時刻の差になるようにする。以上のような待機時間の再計算が完了したら、タスク制御部４１３は、Ｓ１６４０９に処理を進める。なお、他のステップは、図１６Ｅと同一であるので説明は省略する。
【０１９９】
図２１Ｂは、実施例４のタスク制御部４１３のリブート処理［１］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。なお、図１６Ｇと同一のステップには同一のステップ番号を付してある。以下、図１６Ｇと異なる部分のみ説明する。
【０２００】
実施例４のリブート処理［１］では、タスク制御部４１３は、まずＳ２１６０１において、新規電源断タスクがあるかどうかをチェックする。
そして、新規電源断タスクがあると判定した場合（Ｓ２１６０１で「ある」の場合）、タスク制御部４１３は、Ｓ２１６０２に処理を進める。
Ｓ２１６０２では、タスク制御部４１３は、現在時刻と電源断タスクの最終実行時刻Ｔｓを比較する。
【０２０１】
そして、まだ現在時刻がＴｓを過ぎていないと判定した場合、タスク制御部４１３は、Ｓ１６６０２に処理を進める。
一方、すでに現在時刻がＴｓを過ぎていると判定した場合、タスク制御部４１３は、Ｓ１６６０６に処理を進める。
【０２０２】
以上示したように、デバイス設定タスクのデバイス設定処理開始後からデバイス設定処理完了想定最終時刻Ｔｃｏｍｐまでの間に、電源断タスクの最終実行時刻Ｔｓを迎えてしまうケースが存在する。上述した実施例１〜３によれば、そのようなケースではデバイス設定タスクを全てキャンセルしてしまい、次回起動時に実行するため、デバイス設定タスクが最終的に実行される時刻が大幅に後ろにずれてしまうことになる。しかし、実施例４によれば、そのような場合でも可能な限りデバイス設定タスクによるデバイス設定を当初意図した時刻に実行することができ、電源断も行うことが可能になる。
【０２０３】
また、リブート処理［１］は「再起動前待機」と「再起動を指示」の２ステップに分かれているが、実施例１〜３では、まず「再起動前待機」に入ってから新規電源断タスクの存在をチェックしていた。しかし、実施例４では、リブート処理［１］の直前の「デバイス設定処理」の最中に新たに投入されて最終実行時刻Ｔｓに到達してしまう電源断タスクが存在する場合には、その電源断タスクを優先的に処理するように構成する。
【０２０４】
以上示したように、実施例１〜３では、デバイス設定タスクのデバイス設定処理完了想定最終時刻Ｔｃｏｍｐが電源断タスクの最終実行時刻Ｔｓを過ぎてしまうような場合には必ず「デバイス設定処理」を再起動後に実行していたため、デバイス設定が管理者の想定より遅くなってしまうケースが多くなる可能性があった。しかし、実施例４では、電源断タスクの指定期間の後端（Ｔｓ）が、デバイス設定タスクの指定期間の先端から設定工程が完了すると予想される日時（Ｔｃｏｍｐ）までの期間に含まれる場合であっても、電源断タスクの指定期間の先端（開始時刻５０２）が、デバイス設定タスクの設定工程が完了すると予想される日時（Ｔｃｏｍｐ）よりも先である場合には、電源断タスクをデバイス設定タスクの設定工程の直後に実行するように再スケジューリングするとともにして、デバイス設定タスクの設定工程を実行するように制御するにように構成し、上記のような場合にもデバイス設定処理を実行可能な場合を設けたので、実施例１〜３に比べて、デバイス設定処理が実行されるケースを増やすことができる。よって、実施例１〜３に比べて、デバイス設定が管理者が想定した時刻に実行できるケースを増やすことが可能となる。
【実施例５】
【０２０５】
実際のシステムでは、デバイス設定タスクによるデバイス設定が実行されている間に外部からの電源供給を断たれてしまうケースが起こり得る。しかし、このようなケースで、管理者が電源供給を断たれてしまう時刻を意識して電源断タスクを作成する時に、デバイス設定タスクが同時刻にデバイス設定処理開始してしまうことに気がつかないことがあり得る。
【０２０６】
実施例５では、そのようなケースでは電源断タスクの作成に制限を設けることで上記のような事態を回避する構成である。
以下、実施例５を、図を示して説明を加える。ただし、実施例１〜４との差異についてのみ説明し、説明を省略した部分は実施例１〜４のいずれかと同様とする。
【０２０７】
まず、図２４のフローチャートを用いて、実施例５の電源断タスク作成処理について説明する。
図２４は、実施例５の電源断タスク作成モジュール４２１が電源断タスクを作成する手順の一例を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。なお、図１０と同一のステップには同一のステップ番号を付してある。また、ここでは図１０との差異についてのみ説明する。
【０２０８】
まず、情報処理装置１０３から電源断タスクの作成要求を受けると、電源断タスク作成モジュール４２１は、Ｓ２４０１から処理を開始する。
続くＳ２４０２において、電源断タスク作成モジュール４２１は、デバイス設定タスクデータが存在しているかどうかを判定する。
そして、デバイス設定タスクデータが存在していないと判定した場合（Ｓ２４０２でＮｏ）、電源断タスク作成モジュール４２１は、Ｓ１００２に処理を進める。
【０２０９】
そして、デバイス設定タスクデータが存在していると判定した場合（Ｓ２４０２でＹｅｓ）、電源断タスク作成モジュール４２１は、Ｓ２４０３に処理を進める。
Ｓ２４０３では、電源断タスク作成モジュール４２１は、電源断タスクの制約条件を計算する。すなわち、電源断タスク作成モジュール４２１は、電源断タスクの最終実行時刻Ｔｓがデバイス設定処理完了想定最終時刻Ｔｃｏｍｐより先に到達するような電源断タスクは作成できないように制約条件を計算する。そして、電源断タスク作成モジュール４２１は、Ｓ１００２に処理を進める。
【０２１０】
さらに、Ｓ２４０４のデータ整合チェック処理において、電源断タスク作成モジュール４２１は、図１０のＳ１００４におけるデータの整合性の検証のほかに、上記制約条件に抵触するような電源断タスクを作成しようとするデータも不整合とみなすものとする。なお、他の処理は、図１０に示した処理と同様であるので説明は省略する。
【０２１１】
以下、図２５を用いて、実施例５の電源断タスク作成画面について説明する。
図２５は、実施例５の電源断タスク作成モジュール４２１がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者に電源断タスクを作成させることができる電源断タスク作成画面を模式化した図である。なお、図６と同一のものには同一の符号を付してある。また、ここでは図６との差異についてのみ説明する。
【０２１２】
図２５において、２５０１は上述の制約条件について管理者へ提示するメッセージである。このメッセージはデバイス設定タスクが存在しない場合には表示されることはない。このためデバイス設定タスクが存在しない場合の電源断タスク作成画面は図６に掲げたものと同様になる。
【０２１３】
次に、図２３を用いて、管理者によりデバイス設定タスクをキャンセルするための構成について説明する。
図２３は、タスク制御部４１３がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者に電源断タスクをキャンセルさせることができるデバイス設定タスクキャンセル画面を模式化した図である。
【０２１４】
図２３において、２３０１はデバイス設定タスクキャンセルの確認ボタンである。１７０２はデバイス設定タスクキャンセルの中止ボタンである。
タスク制御部４１３は、情報処理装置１０３からデバイス設定タスクのキャンセル要求を受けると、デバイス設定タスクキャンセル画面（図２３）を生成し、情報処理装置１０３へ送信する。
【０２１５】
情報処理装置１０３ではウェブブラウザが動作している。当該ウェブブラウザ上でデバイス設定タスクキャンセル画面（図２３）が表示され、管理者が、確認ボタン２３０１、又は、中止ボタン２３０２を押下する操作を行うことで、操作情報が、情報処理装置１０３からタスク制御部４１３に対して送信される。
【０２１６】
タスク制御部４１３は、上記情報処理装置から送信された操作情報を受信し、該操作情報を判断する。そして、上記操作情報が確認ボタン２３０１を押下した操作を示す場合、タスク制御部４１３は、デバイス設定タスクをキャンセルする。一方、上記操作情報が中止ボタン２３０２を押下した操作を示す場合、タスク制御部４１３は、デバイス設定タスクのキャンセルは行わない。
【０２１７】
次に、図２６Ａを用いて、実施例５のデバイス設定タスク処理［１］について説明する。また、図２６Ｂを用いて、実施例５のデバイス設定タスク処理［３］について説明する。なお、タスク制御部４１３によるタスク処理の他の部分は実施例１〜４のいずれかと同様であるので説明は省略する。
【０２１８】
図２６Ａは、実施例５のタスク制御部４１３のデバイス設定タスク処理［１］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。なお、図１６Ｃと同一のステップには同一のステップ番号を付してある。以下、図１６Ｃと異なる部分のみ説明する。
【０２１９】
実施例５のデバイス設定タスク処理［１］では、タスク制御部４１３は、まずＳ２６２０１において、開始前待機を実行する。このステップは、現在処理中のデバイス設定タスクの開始前ジョブ待機最大待機時間７０７だけの時間が経過するか、この間にジョブがなくなるか、この間に新たな電源断タスクが投入されるか、あるいはこの間にデバイス設定タスクがキャンセルされるかまでの間待機を行う。
【０２２０】
上記Ｓ２６２０１の開始前待機中に、新たな電源断タスクが投入されたと判定した場合、タスク制御部４１３は、Ｓ１６２０２に処理を進める。なお、Ｓ１６２０２〜Ｓ１６２０５の処理は図１６Ｃと同様であるので説明は省略する。
【０２２１】
また、上記Ｓ２６２０１の開始前待機中に、ジョブがなくなったと判定した場合（「ジョブがなくなった」の場合）、タスク制御部４１３は、Ｓ１６２０６に処理を進める。なお、Ｓ１６２０６〜Ｓ１６２０７の処理は図１６Ｃと同様であるので説明は省略する。
【０２２２】
また、上記Ｓ２６２０１の開始前待機中に、開始前ジョブ待機最大待機時間７０７を経過したと判定した場合（「待機時間が経過した」の場合）、タスク制御部４１３は、そのままデバイス設定タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０２２３】
また、上記Ｓ２６２０１の開始前待機中に、デバイス設定タスクがキャンセルされたと判定した場合（「デバイス設定タスクがキャンセルされた」の場合）、タスク制御部４１３は、そのままデバイス設定タスク処理［１］を抜けて、呼び出し元の処理の流れに沿って次のステップへ処理を進める。
【０２２４】
図２６Ｂは、実施例５のタスク制御部４１３のデバイス設定タスク処理［３］を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。なお、図１６Ｆと同一のステップには同一のステップ番号を付してある。以下、図１６Ｆと異なる部分のみ説明する。
【０２２５】
実施例５のデバイス設定タスク処理［３］では、タスク制御部４１３は、まずＳ２６５０１において、開始前待機を実行する。このステップでは、処理中のデバイス設定タスクの開始前ジョブ待機最大待機時間７０７が経過するか、あるいはこの間にジョブがなくなるか、この間にデバイス設定タスクがキャンセルされるかまでの間待機を行う。
【０２２６】
そして、上記Ｓ２６５０１の開始前待機中にジョブがなくなったと判定した場合（「ジョブがなくなった」の場合）、タスク制御部４１３は、Ｓ１６４０２に処理を進める。なお、Ｓ１６５０２〜Ｓ１６５０６の処理は図１６Ｆと同様であるので説明は省略する。
【０２２７】
また、上記Ｓ２６５０１の開始前待機において開始前ジョブ待機最大待機時間７０７が経過したと判定した場合（「待機時間が経過した」の場合)、タスク制御部４１３は、Ｓ１６５０７に処理を進める。
【０２２８】
また、上記Ｓ２６５０１の開始前待機においてデバイス設定タスクがキャンセルされたと判定した場合（「デバイス設定タスクがキャンセルされた」の場合)、タスク制御部４１３は、Ｓ１６５０７に処理を進める。
なお、Ｓ１６５０７の処理は図１６Ｆと同様であるので説明は省略する。
【０２２９】
以上示したように、実施例５によれば、管理者は、すでにデバイス設定タスクが存在している場合にデバイス設定値取得モジュール４３２やデバイス設定実行モジュール４３３がデバイス設定値の取得と設定を実行している間に電源断を行う可能性がある電源断タスクを作成できない。即ち、電源断タスク提供部４１４では、指定する電源断タスクの指定期間の後端が、指定済みの前記設定タスクの指定期間の先端から設定工程が完了すると予想される日時までの期間に含まれるような、電源断タスクの指定を禁止する。これにより、デバイス設定値の取得と実行を行っている間に電源断がスケジュールされる危険性を管理者に知らせることが可能になる。
【実施例６】
【０２３０】
上記実施例５においては、デバイス設定タスクは自由に設定できるため、すでに電源断タスクが設定されているときに、該電源断タスクと競合するようなデバイス設定タスクを設定することが可能である。
【０２３１】
実施例６では、デバイス設定タスクの作成時に、電源断タスクが存在している場合には、該電源断タスクと競合するようなデバイス設定タスクを作成できないような制約条件を設ける構成とする。
以下、実施例６を、図を示して説明を加える。ただし、実施例５との差異についてのみ説明し、説明を省略した部分は実施例５と同様とする。
【０２３２】
まず、図２８のフローチャートを用いて実施例６のデバイス設定タスク作成処理について説明する。
図２８は、実施例６のデバイス設定タスク作成モジュール４３１がデバイス設定タスクを作成する手順の一例を示すフローチャートである。このフローチャートの処理は、コントローラ２０２内部のＣＰＵが内部のＲＯＭに格納されたプログラムを実行することにより実現される。なお、図１３と同一のステップには同一のステップ番号を付してある。以下、図１３と異なる部分のみ説明する。
【０２３３】
まず、情報処理装置１０３からデバイス設定タスクの作成要求を受けると、実施例６のデバイス設定タスク作成モジュール４３１は、Ｓ２８０１から処理を開始する。
続くＳ２８０２において、デバイス設定タスク作成モジュール４３１は、電源断タスクデータが存在するかどうかをチェックする。
そして、電源断タスクデータが存在すると判定した場合（Ｓ２８０２でＹｅｓ）、デバイス設定タスク作成モジュール４３１は、Ｓ２８０３に処理を進める。
【０２３４】
Ｓ２８０３では、デバイス設定タスク作成モジュール４３１は、デバイス設定タスクの制約条件を計算する。電源断が起こり得る時間帯、すなわち電源断タスクの開始時刻５０２から最終実行時刻Ｔｓまでの間にデバイス設定値取得モジュール４３２またはデバイス設定実行モジュール４３３が呼ばれるような実行時刻および待機時間の設定はできないように制約条件を計算する。そして、デバイス設定タスク作成モジュール４３１は、Ｓ１３０２に処理を進める。
【０２３５】
また、上記Ｓ２８０２において、電源断タスクデータが存在しないと判定した場合（Ｎｏ）、デバイス設定タスク作成モジュール４３１は、Ｓ１３０２に処理を進める。
【０２３６】
さらに、Ｓ２８０４のデータ整合チェック処理において、デバイス設定タスク作成モジュール４３１は、図１３のＳ１３０７におけるデータの整合性の検証のほかに、上記制約条件に抵触するようなデバイス設定タスクを作成しようとするデータも不整合とみなすものとする。なお、他の処理は、図１３に示した処理と同様であるので説明は省略する。
【０２３７】
次に、図２７を用いて、実施例６のデバイス設定タスク作成画面について説明する。
図２７は、実施例６のデバイス設定タスク作成モジュール４３１がネットワーク経由でサーブレットにより情報処理装置１０３上のウェブブラウザに表示し管理者にデバイス設定タスクを作成させることができるデバイス設定タスク作成画面を模式化した図である。なお、図８と同一のものには同一の符号を付してある。また、ここでは図８と異なる部分についてのみ説明する。
【０２３８】
図２７において、２７０１は上述の制約条件について管理者へ提示するメッセージである。このメッセージはデバイス設定タスクが存在しない場合には表示されることはない。このためデバイス設定タスクが存在しない場合の電源断タスク作成画面は図８に掲げたものと同様になる。
【０２３９】
以上説明したように、実施例６によれば、管理者は、すでに電源断タスクが存在している場合に、電源断が行われる可能性がある時刻にデバイス設定値の取得と設定を実行するようなデバイス設定源断タスクを作成できない。即ち、デバイス設定タスク提供部４１５では、指定済みの電源断タスクの指定期間の後端が、指定するデバイス設定タスクの指定期間の先端から設定工程が完了すると予想される日時までの期間に含まれないようなデバイス設定タスクの指定を禁止する。これにより電源断を行っている間にデバイス設定値の取得と実行を行うようなスケジュールが設定される危険性を管理者に知らせることが可能になる。
【０２４０】
以上示したように、本発明の各実施例によれば、デバイス設定とそれに伴う再起動、および、電源断を、重なるようにそれぞれを即時実行またはスケジュール設定して指示された場合においても、正しくデバイス設定と電源断を行うことが可能になる。
【０２４１】
特に、電源断が確実に実行されているべき時刻において電源断が実行されずに終わることがないため、外部から電源供給を断たれる場合においてもデバイス（ＭＦＰ１０２）の故障を未然に防ぐことが可能になる。
【０２４２】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０２４３】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０２４４】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０２４５】
１０１    ネットワーク
１０２    画像形成装置（ＭＦＰ）
１０３    情報処理装置
【図１】
0005868208.tif 000002
【図２】
0005868208.tif 000003
【図３】
0005868208.tif 000004
【図４】
0005868208.tif 000005
【図５】
0005868208.tif 000006
【図６】
0005868208.tif 000007
【図７】
0005868208.tif 000008
【図８】
0005868208.tif 000009
【図９】
0005868208.tif 000010
【図１０】
0005868208.tif 000011
【図１１】
0005868208.tif 000012
【図１２】
0005868208.tif 000013
【図１３】
0005868208.tif 000014
【図１４】
0005868208.tif 000015
【図１５】
0005868208.tif 000016
【図１６Ａ】
0005868208.tif 000017
【図１６Ｂ】
0005868208.tif 000018
【図１６Ｃ】
0005868208.tif 000019
【図１６Ｄ】
0005868208.tif 000020
【図１６Ｅ】
0005868208.tif 000021
【図１６Ｆ】
0005868208.tif 000022
【図１６Ｇ】
0005868208.tif 000023
【図１７】
0005868208.tif 000024
【図１８】
0005868208.tif 000025
【図１９】
0005868208.tif 000026
【図２０】
0005868208.tif 000027
【図２１Ａ】
0005868208.tif 000028
【図２１Ｂ】
0005868208.tif 000029
【図２２】
0005868208.tif 000030
【図２３】
0005868208.tif 000031
【図２４】
0005868208.tif 000032
【図２５】
0005868208.tif 000033
【図２６Ａ】
0005868208.tif 000034
【図２６Ｂ】
0005868208.tif 000035
【図２７】
0005868208.tif 000036
【図２８】
0005868208.tif 000037