(57)【特許請求の範囲】
【請求項１】
複数のソフトウェアモジュールを起動することによって複数のジョブを実行可能とする画像処理装置であって、
実行中のジョブが中断された場合に、該ジョブの中断時における実行状況を示す実行情報を記憶する不揮発性記憶手段と、
前記画像処理装置に対する電源供給開始時に、前記実行情報に基づいて前記中断されたジョブを再開するジョブ再開手段と、を有し、
前記ジョブ再開手段は、前記中断されたジョブに関するソフトウェアモジュールを、他のソフトウェアモジュールよりも先に前記不揮発性記憶手段から揮発性記憶手段にロードし起動することを特徴とする画像処理装置。
【請求項２】
前記ジョブは複数の処理フェーズから構成され、前記実行情報は、前記中断されたジョブの種類および処理フェーズの情報を含むことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記実行情報はさらに、処理対象である画像ファイルの位置および処理内容を示す情報を含むことを特徴とする請求項２記載の画像処理装置。
【請求項４】
前記ジョブ再開手段は、予め設定されている前記ジョブとソフトウェアモジュールとの関連情報に基づいて、前記中断されたジョブに関するソフトウェアモジュールをロードし起動することを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記ジョブとソフトウェアモジュールとの関連情報は、前記ジョブの処理フェーズごとに必要となるソフトウェアモジュールを示す情報を含むことを特徴とする請求項４記載の画像処理装置。
【請求項６】
前記ジョブ再開手段は、前記実行情報に記載されたジョブ順に、関連するソフトウェアモジュールを起動することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記ジョブ再開手段は、前記実行情報に記載された複数のジョブについて、関連するソフトウェアモジュールを起動し、実行可能となったジョブから順次再開することを特徴とする請求項１乃至６のいずれか１項に記載の画像処理装置。
【請求項８】
複数のソフトウェアモジュールを起動することによって複数のジョブを実行可能とする画像処理装置の制御方法であって、
実行中のジョブが中断された場合に、該ジョブの中断時における実行状況を示す実行情報を不揮発性記憶手段に記憶する実行情報記憶ステップと、
前記画像処理装置に対する電源供給開始時に、前記実行情報に基づいて前記中断されたジョブを再開するジョブ再開ステップと、を有し、
前記ジョブ再開ステップにおいては、前記中断されたジョブに関するソフトウェアモジュールを、他のソフトウェアモジュールよりも先に前記不揮発性記憶手段から揮発性記憶手段にロードし起動することを特徴とする画像処理装置の制御方法。
【請求項９】
前記実行情報は、前記中断されたジョブの種類および処理フェーズの情報を含むことを特徴とする請求項８記載の画像処理装置の制御方法。
【請求項１０】
前記ジョブは複数の処理フェーズから構成され、
前記実行情報はさらに、処理対象である画像ファイルの位置および処理内容を示す情報を含むことを特徴とする請求項９記載の画像処理装置の制御方法。
【請求項１１】
前記ジョブ再開ステップにおいては、予め設定されている前記ジョブとソフトウェアモジュールとの関連情報に基づいて、前記中断されたジョブに関するソフトウェアモジュールをロードし起動することを特徴とする請求項８乃至１０のいずれか１項に記載の画像処理装置の制御方法。
【請求項１２】
前記ジョブとソフトウェアモジュールとの関連情報は、前記ジョブの処理フェーズごとに必要となるソフトウェアモジュールを示す情報を含むことを特徴とする請求項１１記載の画像処理装置の制御方法。
【請求項１３】
前記ジョブ再開ステップにおいては、前記実行情報に記載されたジョブ順に、関連するソフトウェアモジュールを起動することを特徴とする請求項８乃至１２のいずれか１項に記載の画像処理装置の制御方法。
【請求項１４】
前記ジョブ再開ステップにおいては、前記実行情報に記載された複数のジョブについて、関連するソフトウェアモジュールを起動し、実行可能となったジョブから順次再開することを特徴とする請求項８乃至１２のいずれか１項に記載の画像処理装置の制御方法。
【請求項１５】
コンピュータ上で実行されることによって、該コンピュータが請求項１乃至７のいずれか１項に記載された画像処理装置として動作するように制御することを特徴とするプログラム。
【請求項１６】
請求項１５記載のプログラムを記録したことを特徴とするコンピュータで読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置およびその制御方法に関し、特に実行中に中断されたジョブを再開可能とする画像処理装置およびその制御方法に関する。
【背景技術】
【０００２】
従来の画像処理装置においては、ジョブを実行中に例えば不測の事態によって電源が遮断されて該ジョブが中断された場合、次回の電源供給再開時に中断されたジョブの実行を再開できることが望ましい。そのために、ジョブ実行時にその進行情報を不揮発性の記憶装置に記憶させ、ジョブの再開時に、その記憶装置から読み出した進行情報に基づいて、ジョブを自動再開させる技術が知られている（例えば、特許文献１参照）。
【０００３】
一方、複写機やプリンタなどの組み込み機器においては、要求に対する応答時間が一定の範囲内にあることが要求されるため、リアルタイム性に重点を置いた組み込み用リアルタイムオペレーティングシステム（以下、リアルタイムＯＳ）が用いられる。従来のリアルタイムＯＳでは、一度に動作する全アプリケーション分のメモリ容量を物理メモリに確保する必要があり、近年の組み込み機器の多機能化に伴って搭載される物理メモリ容量が増加し続けている。
【特許文献１】特開２０００−１８１７３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記従来の画像処理装置においては、電源が再投入された時に中断されたジョブの有無に関わらず、機器を起動する手順は一定である。したがって、電源遮断等によって中断されたジョブがあった場合、これを再開するまでに、中断されたジョブとは無関係のソフトウェアモジュールを含む全ソフトウェアモジュールが所定順にロードされてしまう。したがって、電源再投入からジョブ再開までに余分な時間がかかってしまい、新規ジョブの実行遅れ等、生産性が低下するという問題があった。
【０００５】
本発明はこのような問題を解決するためになされたものであり、中断されたジョブが、電源投入時に再開されるまでに要する時間を短縮する画像処理装置およびその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するための一手法として、本発明における画像処理装置は以下の構成を備える。
【０００７】
すなわち、複数のソフトウェアモジュールを起動することによって複数のジョブを実行可能とする画像処理装置であって、実行中のジョブが中断された場合に、該ジョブの中断時における実行状況を示す実行情報を記憶する不揮発性記憶手段と、前記画像処理装置に対する電源供給開始時に、前記実行情報に基づいて前記中断されたジョブを再開するジョブ再開手段と、を有し、前記ジョブ再開手段は、前記中断されたジョブに関するソフトウェアモジュールを、他のソフトウェアモジュールよりも先に不揮発性記憶手段から揮発性記憶手段にロードし起動することを特徴とする。
【０００８】
例えば、前記ジョブ再開手段は、前記実行情報に記載されたジョブ順に、関連するソフトウェアモジュールを起動することを特徴とする。
【０００９】
例えば、前記ジョブ再開手段は、前記実行情報に記載された複数のジョブについて、関連するソフトウェアモジュールを起動し、実行可能となったジョブから順次再開することを特徴とする。
【発明の効果】
【００１０】
上記構成からなる本発明によれば、電源供給開始時に中断されたジョブが存在する場合は、ジョブ再開に必要なソフトウェアモジュール群が優先的にロード及び起動されるので、中断されたジョブが再開されるまでに要する時間を短縮することができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照して、本発明をその好適な実施形態に基づいて詳細に説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１２】
＜第１実施形態＞
●装置構成
図１は、本実施形態に係る画像形成装置１００の全体構成を示す図である。画像形成装置１００には、原稿読取部３００、給紙部４００、画像形成部５００、原稿給送部６００、シート処理部７００、が備えられている。なお、原稿読取部３００の上部には不図示の操作部２００が設けられている。また、画像形成装置１００の内部に不図示のコントローラ部８００が設けられている。
【００１３】
ユーザが操作部２００からスキャン開始、もしくは、原稿複写開始の指示を出すと、その指示がコントローラ部８００に伝えられ、コントローラ部８００は原稿読み取り部３００に対して画像読み取り開始を指示する。すると、原稿給送部６００の原稿給紙トレイ６０５に載置された原稿Ｄが、分離ローラ６０１によって１枚ずつ分離され、搬送ローラ６０２によってプラテンガラス３０１上に搬送される。なお、プラテンガラス３０１上を通過した原稿Ｄは、排紙ローラ６０３によって排紙トレイ６０４に排紙される。
【００１４】
プラテンガラス３０１上を通過する原稿Ｄに、光源３０２から照射されて反射した光は、レンズ系３０３を介して、ＣＣＤイメージセンサ３０４において画像データとして読み取られる。ＣＣＤイメージセンサ３０４で読み取られた画像データは、一旦コントローラ部８００に転送され、後述するハードディスク（以下、ＨＤＤ）１００４に保存される。  画像形成部５００では、ＨＤＤ１００４に保存された画像データがレーザー出力部５０１に送られ、画像データに基づいたレーザー光がレーザー出力部５０１から出力される。  出力されたレーザー光は、結像レンズ系５０２を通過し、ミラー５０３で反射されて、感光ドラム５０４面上に集光結像する。
【００１５】
感光ドラム５０４は、予め一次帯電器５０５によって帯電されており、光が照射されることによって静電潜像が形成され、該静電潜像が現像器５０６によって現像されることによって、トナー像が形成される。
【００１６】
給紙部４００から給送されたシートＳは、レジストローラ４０１で斜行が補正され、さらにタイミングが合わされて画像形成部５００へ送られる。
【００１７】
画像形成部５００では、感光ドラム５０４上のトナー像が、送られてきたシートＳに転写用帯電器５０７によって転写される。トナー像が転写されたシートＳは、分離帯電器５０８によって感光ドラム５０４から分離される。
【００１８】
分離されたシートＳは、搬送装置５０９により定着装置５１０に搬送される。定着装置５１０では熱と圧力によって、シートＳにトナー画像が永久定着される。画像が定着されたシートＳは、排紙ローラ５１１によってシート処理部７００に搬送される。
【００１９】
シート処理部７００に搬送されたシートＳは、搬送ローラ７０１，７０２によって処理トレイ７０３に搬送される。処理トレイ７０３に順次搬送されたシートＳは、整合部材７０４によってシート束に整合される。整合されたシート束は、ユーザからの指定に従い、必要に応じて不図示のステイプルユニットによってステイプル処理される。そして、束排出ローラ７０５によって積載トレイ７０６に排出される。
【００２０】
以上の処理によって、原稿Ｄの複写紙が１部完成する。したがって、ユーザの所望する部数を得るには、上記処理が繰り返される。
【００２１】
図２は、操作部２００の構成を示す。同図に示すように操作部２００は、テンキー２０１、スタートキー２０２、タッチパネル２０３、ＩＤキー２０４、電源キー２０５を有する。なお、本実施形態の画像処理装置においてはソフトスイッチ機構を使用しているため、電源キー２０５を押下しても直接機械的に電源回路が切断されることはない。すなわち、所定のソフトウェアを実行することによって、一連の所定動作後に内部の電源回路を落とす構成となっている。
【００２２】
図３は、本実施形態におけるコントローラ部８００の構成を示すブロック図である。同図において、１００１は本装置全体の制御と各種の計算を行なう中央演算処理ユニット（以下、ＣＰＵ）である。１００２は、システムを起動するプログラムを格納するリードオンリメモリ（以下、ＲＯＭ）である。１００３は、二次記憶からロードしたＯＳやアプリケーションなどのプログラムを格納するための領域や、ＣＰＵ１００１のワークエリアやバッファ、さらに、画像メモリとして使われるランダムアクセスメモリ（以下、ＲＡＭ）である。このＲＡＭ１００３のことを揮発性記憶手段又は揮発性メモリ又は揮発性装置と呼ぶこともある。ここでＲＡＭ１００３は、バックアップ電源等を持たないこと等によって、画像処理装置本体のメイン電源が遮断された場合に、データを保持しつづけることができない記憶手段を指す。１００４は、システムを制御するプログラムや比較的データ量の大きい画像データ等を大量に記憶するＨＤＤである。このＨＤＤ１００４のことを不揮発性記憶手段又は不揮発性メモリ又は不揮発性装置と呼ぶこともある。ここでＨＤＤ１００４は、画像処理装置本体のメイン電源が遮断された場合にでも、データを保持しつづけることができる記憶手段を指す。
【００２３】
１００５は、ネットワークとのインタフェースとなるネットワークインタフェース（以下、ＮｅｔＩ／Ｆ）である。１００６は、実際に画像の読み込み処理を行なうスキャナエンジン（図１に示す原稿読取部３００および原稿給送部６００に相当）である。また１００７は、実際に印刷処理を行なうプリンタエンジン（図１に示す給紙部４００、画像形成部５００、およびシート処理部７００に相当）である。１００８は、タッチパネルや各種キーなどを備え、ユーザへの情報を表示したり、ユーザからの指示入力を受け付ける操作パネル（図１の操作部２００に相当）である。１００９は、電源オフ時にも記憶したデータが消えないように専用電源を持つスタティックランダムアクセスメモリ（以下、ＳＲＡＭ）である。このＳＲＡＭ１００９もＨＤＤ１００４と同様に、画像処理装置本体のメイン電源が遮断された場合にでも、データを保持しつづけることができる記憶手段を指す。１０１０は、電話回線を介して受信した圧縮画像データを伸長し、該伸長された画像データをＨＤＤ１００４へ転送する、また、ＨＤＤ１００４から転送された画像データを圧縮し、該圧縮された圧縮画像データを電話回線を介して送信するファクシミリ部である。１０１１はＰＤＬデータを画像データに展開するＰＤＬ処理部、１０１２は上記各構成要素を接続して互いのデータの送受を行う内部バスである。
【００２４】
また、ＣＰＵ１００１には、メモリマネージメントユニット（以下、ＭＭＵ）１０１３が内蔵されている。ＭＭＵ１０１３を使用することによって、物理メモリをページまたはセグメントと呼ばれるブロックごとに分割して管理し、これを論理アドレス空間に割り当てることができる。物理メモリが不足する場合には、二次記憶であるＨＤＤ１００４を論理アドレス空間に割り当てることにより、物理メモリより大きい仮想的なメモリ空間を、ＯＳ上で動作するアプリケーションに提供することができる。
【００２５】
また、ＣＰＵ１００１上で動作するＯＳは、ＭＭＵ１０１３と協調して動作を行う。プログラムが論理アドレスにアクセスした場合、ＭＭＵ１０１３は論理アドレスを物理アドレスに変換し、該変換した物理アドレスが物理メモリ上のアドレスであるか否かをチェックする。物理上のアドレスであった場合には、ＭＭＵ１０１３は物理メモリへアクセスを行う。一方、物理上のアドレスでなかった場合には、ＭＭＵ１０１３はＯＳに制御を渡し、ＯＳが必要なブロックをＨＤＤ１００４から物理メモリに読み込み（スワップイン）を行ってから、制御をＭＭＵ１０１３に戻す。ＯＳはブロックの読み込みに対して十分な物理メモリ上の空きがない場合には、不必要なブロックをＨＤＤ１００４に書き出す（スワップアウト）。
【００２６】
●電源遮断時の制御
図４は、本実施形態におけるジョブ実行中における電源遮断時の制御を示すフローチャートである。Ｓ４０１においてユーザが電源キー２０５を押下すると、ＣＰＵ１００１は操作パネル１００８を介して電源キー２０５が押下された旨を検知する。するとＳ４０２においてＣＰＵ１００１は、実行中のジョブを中断する。そしてＳ４０３において、中断されたジョブの実行情報を記録する。すなわち、該ジョブの実行中にＲＡＭ１００３に書き込まれている実行情報を、ＳＲＡＭ１００９に書き込む。なお、ＳＲＡＭ１００９の代わりにハードディスク１００４を用いるようにしても良い。すなわち、この実行情報の書き込み先としては、ＳＲＡＭ１００９やハードディスク１００４等、電源遮断時にも情報を保持しつづけることが出来る不揮発性記憶手段を適用することができる。以下、中断されたジョブの実行情報を記憶する媒体としてＳＲＡＭ１００９を用いた例を説明する。
【００２７】
なお、電源キー２０５の押下検知に連動してＳ４０２以降の処理を行うよう説明したが、例えば、外部ホストからの電源遮断命令に連動してＳ４０２以降の処理を行うよう構成してもよい。また、画像処理装置に設けられた電源遮断タイマーの計時処理に従う、画像処理装置の内部的な電源遮断命令の検知によりＳ４０２以降の処理を行うよう構成してもよい。また、停電等の不慮の電源遮断に連動し、充電池による電源駆動により、Ｓ４０２以降の処理を行うよう構成してもよい。
【００２８】
図５に、本実施形態におけるジョブの実行情報の一例を示す。この図５の実行情報は、ＲＡＭ１００３や、図４のＳ４０３でＳＲＡＭ１００９に書き込まれる実行情報に相当する。また、ジョブの中断時における実行状況を示す情報にも相当する。同図において、１１０２はジョブに割り振られた機器内で固有の番号であるジョブＩＤであり、ジョブ開始時（ジョブ発生時）に割り当てられる。１１０３は、ＳｃａｎＴｏＳｅｎｄ（原稿から読み取った画像データを他のＰＣや機器へ送信するジョブ）やＳｃａｎＴｏＰｒｉｎｔ（原稿から読み取った画像データを印刷するジョブ）等の、実行ジョブの種類である。１１０４は、電源遮断時におけるジョブの進行状況を表す実行フェーズであり、例えばＳｃａｎＴｏＳｅｎｄのジョブであれば、原稿読み取りが全て終了する前（スキャン終了前）と原稿読み取りが全て終了後（スキャン終了後）という２つのフェーズがある。このように、本実施形態におけるジョブはジョブは複数の処理フェーズから構成され、図５の実行情報には、どの処理フェーズを実行しているかを示す実行状況情報が含まれる。１１０５は処理対象となる画像ファイルのフォルダのパス（格納位置）であり、すなわち、原稿から読み取った画像データが格納されているＨＤＤ１００４のディレクトリを示している。このディレクトリは、ジョブの開始時（ジョブ発生時）に作成される。１１０６は、ユーザが指定したジョブの動作指示が記載されたジョブ設定情報が保存されているＨＤＤ１００４のディレクトリおよびファイル名である。ジョブの動作指示にはステイプル仕上げ等の各種ジョブ処理内容が該当する。また、このファイルは、ジョブの開始時（ジョブ発生時）に作成される。なお、本実施形態におけるジョブの実行情報は、実行中断時の制御用に設けられているため、該ジョブの正常終了時にはＲＡＭ１００３から削除される。
【００２９】
●電源投入時の制御
図６は、本実施形態における電源投入時の制御を示すフローチャートである。該フローチャートに示す制御は、ＣＰＵ１００１によって実行される。
【００３０】
ＣＰＵ１００１に電源が供給されると、Ｓ６０１において、ＨＤＤ１００４からＯＳを読み出して起動し、さらに各種デバイスドライバやミドルウェアも起動される。このとき、スキャナエンジン１００６やプリンタエンジン１００７にも同時に電源が供給され、それぞれが独自に起動する。
【００３１】
次にＳ６０２において、図５に示した実行情報１１０１がＳＲＡＭ１００９に記憶されているか否かを検索し、検出されればこれを読み出してＲＡＭ１００３に記憶させる。。
【００３２】
次にＳ６０３において、Ｓ６０２で実行情報１１０１が検出されたか否か、すなわち、中断ジョブがあるか否かを判断する。中断ジョブがある場合はＳ６０４に移行し、中断ジョブがない場合はＳ６１０に移行する。
【００３３】
Ｓ６０４では、実行情報１１０１内で一番目に記載された中断ジョブについて、そのジョブ種１１０３と、更に特定のジョブ種についてどのフェーズを実行中かを示す実行フェーズ１１０４を取得する。そしてＳ６０５では、この取得されたジョブ種１１０３と実行フェーズ１１０４に基づき、ＨＤＤ１００４に記憶されているソフトウェアモジュールの組み合わせリストから、再開処理に必要となるソフトウェアモジュールのリストを特定し取得する。
【００３４】
ここで図７に、ソフトウェアモジュールの組み合わせリストの一例を示し、各種類のジョブと各ソフトウェアモジュールとを関連付ける関連情報に相当する。また、この図７の関連情報は、ＨＤＤ１００４等に記憶されており、参照される時には一旦ＲＡＭ１００３にロードされる。図７に示すソフトウェアモジュールの組み合わせリストにおいて、１２０２は実行ジョブの種類を示し、１２０３はジョブ進行状況を表すフェーズを示す。また１２０４は、実行ジョブ１２０２の各フェーズ１２０３において必要となるソフトウェアモジュールの格納場所である、ＨＤＤ１００４上のディレクトリおよびファイル名を示している。
【００３５】
次にＳ６０６では、Ｓ６０５で取得したソフトウェアモジュールのリストから、すでに起動済みのモジュールを除くモジュールをＨＤＤ１００４から優先的に読み出して起動する。この読出し及び起動じについては、基本的に、図５の実行情報に記述されるジョブ順序に従う。
【００３６】
ここで、図５および図７を用いて、Ｓ６０６における必要モジュールの起動について具体的に説明する。
【００３７】
まず、図５に示す実行情報１１０１の先頭である、ジョブＩＤが２００１であるジョブの再開時には、必要なソフトウェアモジュールは未だ起動されていない。図５によれば、ジョブＩＤ２００１のジョブ種１１０３はＳｃａｎＴｏＳｅｎｄであり、実行フェーズ１１０４はＳｃａｎ終了後であるので、図７によれば、再開時に実行すべきモジュールは送信モジュールと画像管理モジュールである。また、言い換えれば、ジョブＩＤ２００１のみに着目した時点では、Ｓｃａｎモジュール及び操作画面モジュールの起動は優先されない。したがってこの場合、ＮｅｔＩ／Ｆ１００５を介した画像データのＥメール送信やＦＴＰ送信等の送信モジュールと、ＨＤＤ１００４からの画像データの出し入れ等の画像管理モジュールを起動する。
【００３８】
そして次に、ジョブＩＤが２００２であるジョブの再開時には、既にジョブＩＤ２００１のジョブ再開時に送信モジュールと画像管理モジュールは起動されている。図５によれば、ジョブＩＤ２００２のジョブ種１１０３はＳｃａｎＴｏＳｅｎｄであり、実行フェーズ１１０４はＳｃａｎ終了前であるので、図７によれば、再開時に実行すべきモジュールはＳｃａｎ，送信，画像管理および操作画面のモジュールである。したがってこの場合、既に起動されている送信モジュールと画像管理モジュールを除いた、スキャナエンジン１００６で原稿を読み取らせて画像データを作成するＳｃａｎモジュールと、操作パネル１００８を制御する操作画面モジュールを起動する。
【００３９】
以上のようにＳ６０６で、図５の実行情報中に記述されるジョブ順に従い、必要なモジュールが順次起動されると、次にＳ６０７で中断ジョブを順次再開する。再開されたジョブは、各ジョブ種と実行フェーズの組み合わせによって予め定められた処理手順によって実行される。
【００４０】
例えば、まず図５に示すジョブＩＤ２００１のジョブを再開するが、このジョブ種１１０３はＳｃａｎＴｏＳｅｎｄで、実行フェーズ１１０４はＳｃａｎ終了後である。この場合、画像フォルダ１１０５に示されたＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／２００１"から画像ファイルを読み出し、ＮｅｔＩ／Ｆ１００５を介してジョブ設定情報ファイル１１０６に記載されている送信先へ送信する。そして、実行情報１１０１からジョブＩＤ２００１の情報を削除すると供に、ＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／２００１"について、その内部の画像データを消去し、さらに該ディレクトリを削除する。
【００４１】
次にジョブＩＤ２００２のジョブを再開するが、このジョブ種１１０３はＳｃａｎＴｏＳｅｎｄで、実行フェーズ１１０４はＳｃａｎ終了前である。この場合、スキャナエンジン１００６の起動終了を待って、操作パネル１００８のタッチパネル２０３に原稿読み取り再開画面を表示する。原稿読み取り再開画面においては、図８に一例を示すように、ユーザに対して原稿読み取りの再開を促すメッセージが表示される。該メッセージに応じてユーザがスタートキー２０２を押下すると、スキャナエンジン１００６で原稿を読み取り、作成された画像データを、画像フォルダ１１０５に示されたＨＤＤ１００４上のディレクトリ"／ＩＭＡＧＥ／２００２"に保存する。そして、実行フェーズ１１０４を"スキャン終了後"に書き換える。その後、ディレクトリ"／ＩＭＡＧＥ／２００２"から画像ファイルを読み出し、ＮｅｔＩ／Ｆ１００５を介してジョブ設定情報ファイル１１０６に記載された送信先へ送信する。そして、実行情報１１０１からジョブＩＤ２００２の情報を削除すると供に、ＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／２００２"について、その内部の画像データを消去し、さらに該ディレクトリを削除する。
【００４２】
Ｓ６０８では、実行情報１１０１に記載された全ての中断ジョブの再開又は再開準備が終了したか否かを判断し、全ての再開が終了していた場合はＳ６０９に移行し、再開が終了していない場合はＳ６０４に移行する。
【００４３】
Ｓ６０９では、これまでの再開処理によって起動されたソフトウェアモジュール以外のモジュールを、ＨＤＤ１００４からＲＡＭ１００３にロードして起動する。なお、この時、再開された中断ジョブの処理と、Ｓ６０９での再開処理とは並行して処理されるものとする。ここで本実施形態においては予め、起動する必要のあるモジュールのリストとして、ＨＤＤ１００４上のディレクトリとファイル名で示された起動モジュールリストを有している。この起動モジュールリストの一例を図９に示す。図５に示す実行情報１１０１の例によれば、画像管理，送信，Ｓｃａｎ，操作画面の各モジュールが起動済みであるため、図９の起動モジュールリスト１３０１に示す、画像管理，送信，Ｓｃａｎ，操作画面以外のモジュールが起動される。すなわち、ファクシミリ部１０１０を制御して電話回線で他のファクシミリ装置と画像データの送受信を行うＦＡＸモジュールが起動される。さらに、プリンタエンジン１００７と通信して画像データを紙媒体上に印刷するＰｒｉｎｔモジュールが起動される。さらに、ＰＤＬデータを解釈して画像データに変換するＲＩＰモジュール、が起動される。
【００４４】
一方、Ｓ６０３で中断ジョブが無いと判断された場合、Ｓ６１０において、ＨＤＤ１００４に格納されている図９に示す起動モジュールリスト１３０１を取得する。そしてＳ６１１において、Ｓ６１０で取得した起動モジュールリスト１３０１に記載された全てのモジュールを通常の手順に従いＨＤＤ１００４からロードし、起動する。
【００４５】
なお、図６の説明においては、Ｓ６０６で、図５の実行情報に含まれる各ジョブＩＤに対応して必要なソフトウェアモジュールを全てＨＤＤ１００４からＲＡＭ１００３にロードし、その後にＳ６０７の処理を実行するよう説明した。しかしながら本発明はこの例に限定されない。具体的には、まずＳ６０６で、全てのジョブについてはではなく、最初に着目するジョブＩＤ２００１についてのみ必要なソフトウェアモジュールをロードし、即時にＳ６０７の処理を実行するよう構成しても良い。この場合には、次のジョブＩＤ２００２についてＳ６０６の処理を実行しながら、ジョブＩＤ２００１についてＳ６０７の処理を並行して実行する。そして、ＩＤ２００２についてもＳ６０６の必要なソフトウェアモジュールのロード処理を完了すると、ＩＤ２００２についてＳ６０７の処理を実行し、Ｓ６０８の処理を判断する。
【００４６】
以上説明したように本実施形態によれば、電源供給開始時に中断されたジョブが存在する場合は、ジョブ再開に必要なソフトウェアモジュール群が優先的に起動される。したがって、中断されたジョブが再実行されるまでの時間が短縮される。このように、中断されたジョブがより早く再開されることにより、ひいては新規ジョブが実行可能になるまでの時間も短縮されるため、機器全体としての生産性を向上させることができる。
【００４７】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００４８】
上述した第１実施形態においては、中断ジョブを再開する際に、ジョブ種に関係なく、実行情報リストに記載されている順番に従って再開する方法を示したが、第２実施形態では、実行可能となったジョブ種から順次再開することを特徴とする。
【００４９】
第２実施形態においては、電源遮断時にＳＲＡＭ１００９に書き込まれる実行情報が、図１１に示す実行情報１５０１であった場合を例として説明する。
【００５０】
●電源投入時の制御
図１０は、第２実施形態における電源投入時の制御を示すフローチャートである。該フローチャートに示す制御は、ＣＰＵ１００１によって実行される。
【００５１】
ＣＰＵ１００１に電源が供給されると、Ｓ７０１において、ＨＤＤ１００４からＯＳを読み出して起動し、さらに各種デバイスドライバやミドルウェアも起動される
。このとき、スキャナエンジン１００６やプリンタエンジン１００７にも同時に電源が供給され、それぞれが独自に起動する。
【００５２】
次にＳ７０２において、図１１に示した実行情報１５０１がＳＲＡＭ１００９に記憶されているか否かを検索し、検出されればこれを読み出してＲＡＭ１００３に記憶させる。
【００５３】
次にＳ７０３において、Ｓ７０２で実行情報１５０１が検出されたか否か、すなわち、中断ジョブがあるか否かを判断する。中断ジョブがある場合はＳ７０４に移行し、中断ジョブがない場合はＳ７１１に移行する。
【００５４】
Ｓ７０４では、実行情報１５０１内に記載された全ての中断ジョブについて、そのジョブ種１１０３および実行フェーズ１１０４を取得する。そしてＳ７０５では、この全てのジョブ種１１０３と実行フェーズ１１０４に基づき、ＨＤＤ１００４に記憶されているソフトウェアモジュールの組み合わせリストから、再開処理に必要となるソフトウェアモジュールのリストを特定し取得する。なお、このソフトウェアモジュールの組み合わせリストは、上述した第１実施形態と同様に図７に示す構成からなる。
【００５５】
次にＳ７０６では、Ｓ７０５で取得したソフトウェアモジュールのリストから、すでに起動済みのモジュールを除くモジュールをＨＤＤ１００４から優先的に順次読み出して起動する。そしてＳ７０７に移行するとともに、Ｓ７１０を動作させるスレッドを起動する。
【００５６】
ここで、図１１および図７を用いて、Ｓ７０６における必要モジュールの全起動について具体的に説明する。
【００５７】
図１１によれば、まずジョブＩＤ３００５のジョブ種１１０３はＳｃａｎＴｏＰｒｉｎｔであり、実行フェーズ１１０４はＳｃａｎ終了前である。したがって図１１によれば、ジョブＩＤ３００５の再開時に実行すべきモジュールはＳｃａｎ，Ｐｒｉｎｔ，画像管理および画面操作の各モジュールであるため、これらが全て起動される。
【００５８】
そして、ジョブＩＤ４０２１については、そのジョブ種１１０３はＰＤＬＰｒｉｎｔであり、実行フェーズ１１０４はＲＩＰ終了前であるので、図７によれば、その再開時に必要かつ未起動のＲＩＰモジュールを起動する。
【００５９】
さらに、図１１のジョブＩＤ２００１については、そのジョブ種１１０３はＳｃａｎＴｏＳｅｎｄであり、実行フェーズ１１０４はＳｃａｎ終了後であるので、図７によれば、その再開時に必要かつ未起動の送信モジュールを起動する。
【００６０】
Ｓ７０７においては、Ｓ７０６で起動した各ソフトウェアモジュールが使用可能になるのを待ち、いずれかのジョブ種について、中断ジョブの再開が可能となったらＳ７０８へ移行する。なお、プリンタエンジン１００７やスキャナエンジン１００６等のデバイスを使用する場合には、それぞれのデバイスが起動完了するまで、そのモジュールは使用可能にはならないため、実行情報１５０１に記載された順にジョブが再開されるとは限らない。
【００６１】
Ｓ７０８では、再開可能となったジョブ種に該当する中断ジョブを、実行情報１５０１から読み出して全て再開する。なお、同じジョブ種のジョブが複数存在した場合には、それらのジョブ間において、実行情報中に記述されたジョブ順番に従って中断ジョブ再開が行われる。再開されたジョブは、各ジョブ種と実行フェーズの組み合わせによって予め定められた処理手順によって実行される。
【００６２】
例えば、スキャナエンジン１００６やプリンタエンジン１００７、およびＰＤＬ処理部１０１１の起動に時間がかかる場合、図１１に示すジョブＩＤ３００５や４０２１よりも先に、ジョブＩＤ２００１のジョブが再開される。これは、ジョブＩＤ３００５の再開にはＳｃａｎ，Ｐｒｉｎｔモジュールの起動が必要であり、同様にジョブＩＤ４０２１の再開にはＰｒｉｎｔ，ＲＩＰモジュールの起動が必要であることによる。対して、ジョブＩＤ２００１ではこれらの起動を必要としないため、より早期に再開が可能となる。
【００６３】
以下、この場合の再開動作について詳細に説明する。
【００６４】
まず、図１１のジョブＩＤ２００１のジョブ種１１０３はＳｃａｎＴｏＳｅｎｄで、実行フェーズ１１０４はＳｃａｎ終了後である。この場合、画像フォルダ１１０５に示されたＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／２００１"から画像ファイルを読み出し、ＮｅｔＩ／Ｆ１００５を介してジョブ設定情報ファイル１１０６に記載されている送信先へ送信する。そして、実行情報１５０１からジョブＩＤ２００１の情報を削除すると供に、ＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／２００１"について、その内部の画像データを消去し、さらに該ディレクトリを削除する。
【００６５】
その後、スキャナエンジン１００６の起動が完了すると、Ｓｃａｎモジュールが使用可能となり、Ｓｃａｎ終了前のフェーズであるジョブＩＤ３００５のジョブが再開される。このとき、ジョブＩＤ３００５のジョブ種１１０３がＳｃａｎＴｏＰｒｉｎｔ、実行フェーズ１１０４がＳｃａｎ終了前であるため、操作パネル１００８のタッチパネル２０３に原稿読み取り再開画面を表示する。原稿読み取り再開画面においては、図１２に一例を示すように、ユーザに対して原稿読み取りの再開を促すメッセージが表示される。該メッセージに応じてユーザがスタートキー２０２を押下すると、スキャナエンジン１００６によって原稿を読み取り、作成された画像データを、画像フォルダ１１０５に示されたＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／３００５"に保存する。そして、実行フェーズ１１０４を"スキャン終了後"に書き換えて、Ｐｒｉｎｔモジュールが使用可能になるのを待つ。
【００６６】
次いで、ＰＤＬ処理部１０１１の起動が完了すると、ＲＩＰモジュールが使用可能となり、ＰＤＬデータを受信済みで、かつＲＩＰ完了前のフェーズであるジョブＩＤ４０２１のジョブが再開される。このとき、ジョブＩＤ４０２１のジョブ主１１０３がＰＤＬＰｒｉｎｔ、実行フェーズ１１０４がＲＩＰ終了前であるため、ＨＤＤ１００４から、ジョブ設定情報ファイル１１０６に記載されたＰＤＬデータファイルを読み出し、ＰＤＬ処理部１０１１へ転送する。そして、ＰＤＬ処理部１０１１で変換された画像データを、画像フォルダ１１０５に示されたＨＤＤ１００４上のディレクトリ"ＩＭＡＧＥ／４０２１"に保存する。そして、実行フェーズ１１０４を"ＲＩＰ終了後"に書き換えて、Ｐｒｉｎｔモジュールが使用可能になるのを待つ。
【００６７】
そして、プリンタエンジン１００７の起動が完了すると、Ｐｒｉｎｔモジュールが使用可能となり、該モジュールの起動を待っていたジョブがその待ち状態に入った順に再開される。
【００６８】
まず、ジョブＩＤ３００５のジョブによる印刷動作が開始される。すなわち、ＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／３００５"から画像データを読み出してプリンタエンジン１００７に送り、印刷を実行する。そして印刷が終了すると、実行情報１５０１からジョブＩＤ３００５の情報を削除すると供に、ＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／３００５"について、その内部の画像データを消去し、さらに該ディレクトリを削除する。
【００６９】
次に、ジョブＩＤ４０２１のジョブによる印刷動作が開始される。すなわち、ＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／４０２１"から画像データを読み出してプリンタエンジン１００７に送り、印刷を実行する。そして印刷が終了すると、実行情報１５０１からジョブＩＤ４０２１の情報を削除すると供に、ＨＤＤ１００４のディレクトリ"／ＩＭＡＧＥ／４０２１"について、その内部の画像データを消去し、さらに該ディレクトリを削除する。
【００７０】
Ｓ７０９では、実行情報１５０１に記載された全ての中断ジョブの再開が終了したか否かを判断し、全ての再開が終了していた場合には再開処理を終了するが、再開が終了していない場合はＳ７０７に戻る。
【００７１】
上述したＳ７０７〜Ｓ７０９に示した中断ジョブの再開処理と並行して、Ｓ７１０において未起動のモジュールを起動する。ここで第２実施形態においても、上述した第１実施形態と同様に、起動する必要のあるモジュール群として、図９に示すような起動モジュールリスト１３０１を有している。したがってＳ７１０では、図９に示す起動モジュールリスト１３０１のうち、これまでに起動されたソフトウェアモジュール以外のモジュールをＨＤＤ１００４からロードして起動する。例えばこの場合、画像管理，送信，Ｓｃａｎ，操作画面，Ｐｒｉｎｔ，ＲＩＰの各モジュールが起動済みであるため、未起動であるＦＡＸモジュールを起動する。
【００７２】
一方、Ｓ７０３で中断ジョブが無いと判断された場合、Ｓ７１１において、ＨＤＤ１００４に格納されている図９に示す起動モジュールリスト１３０１を取得する。そしてＳ７１２において、Ｓ７１１で取得した起動モジュールリスト１３０１に記載された全てのモジュールをＨＤＤ１００４からロードし、起動する。
【００７３】
なお、第２実施形態においては、プリンタエンジン１００７の起動を待たずにジョブＩＤ３００５のＳｃａｎＴｏＰｒｉｎｔジョブや、ジョブＩＤ４０２１のＰＤＬＰｒｉｎｔジョブを再開する例を示した。しかしながら本発明はこの例に限定されず、例えば、必要なソフトウェアモジュールが全て使用可能になった時点で、ジョブを再開するようにしても良い。
【００７４】
以上説明したように第２実施形態によれば、電源供給開始時に中断されたジョブが複数存在する場合に、全てのジョブ再開に必要なソフトウェアモジュール群を優先的にロード及び起動し、実行可能となったジョブから順次再開する。したがって、上述した第１実施形態に比べて、中断されたジョブの全てが再実行されるまでの時間を最短とすることができる。。
【００７５】
＜変形例＞
上述した第１および第２実施形態においては、操作パネル１００８上の操作によって原稿読み取りを指示する例を示したが、ネットワークで接続されたパーソナルコンピュータなどの外部ホストからのアクセスによってこれを指示する構成にしてもよい。
【００７６】
また、上述した各実施形態においては、画像形成装置が複写機である場合について説明したが、プリンタ装置やファクシミリ装置等を用いた場合についても本発明は同様に適用可能であり、上述した各実施形態の機能を実施することができる。
【００７７】
さらに、上述した各実施形態においては、プリンタ部（プリンタエンジン）がレーザビーム方式である場合を例にして説明したが、他のプリント方式であっても本発明は同様に適用可能である。他のプリント方式としては例えば、レーザビーム方式以外の電子写真方式（例えばＬＥＤ方式）や液晶シャッタ方式、インクジェット方式、熱転写方式、昇華方式等が挙げられる。
【００７８】
＜他の実施形態＞
以上、実施形態例を詳述したが、本発明は例えば、システム、装置、方法、プログラム若しくは記憶媒体(記録媒体)等としての実施態様をとることが可能である。具体的には、複数の機器（例えば、ホストコンピュータ、インタフェース機器、撮像装置、webアプリケーション等）から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【００７９】
尚本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される。なお、この場合のプログラムとは、実施形態において図に示したフローチャートに対応したプログラムである。
【００８０】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００８１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
【００８２】
プログラムを供給するための記録媒体としては、以下に示す媒体がある。例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD-ROM，DVD-R)などである。
【００８３】
プログラムの供給方法としては、以下に示す方法も可能である。すなわち、クライアントコンピュータのブラウザからインターネットのホームページに接続し、そこから本発明のコンピュータプログラムそのもの(又は圧縮され自動インストール機能を含むファイル)をハードディスク等の記録媒体にダウンロードする。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
【００８４】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせることも可能である。すなわち該ユーザは、その鍵情報を使用することによって暗号化されたプログラムを実行し、コンピュータにインストールさせることができる。
【００８５】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。さらに、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８６】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、実行されることによっても、前述した実施形態の機能が実現される。すなわち、該プログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行うことが可能である。
【図面の簡単な説明】
【００８７】
【図１】本発明に係る一実施形態における画像形成装置の全体構成を示す図である。
【図２】本実施形態の画像形成装置に設けられた操作部を示す図である。
【図３】本実施形態におけるコントローラ部の構成を示すブロック図である。
【図４】本実施形態のジョブ実行中における電源遮断時の制御を示すフローチャートである。
【図５】本実施形態におけるジョブの実行情報の一例を示す図である。
【図６】本実施形態における電源投入時の制御を示すフローチャートである。
【図７】本実施形態におけるソフトウェアモジュールの組み合わせリストの一例を示す図である。
【図８】本実施形態におけるタッチパネル上の原稿読み取り再開画面例を示す図である。
【図９】本実施形態における起動モジュールリストの一例を示す図である。
【図１０】第２実施形態における電源投入時の制御を示すフローチャートである。
【図１１】第２実施形態におけるジョブの実行情報の一例を示す図である。
【図１２】第２実施形態におけるタッチパネル上の原稿読み取り再開画面例を示す図である。
【図１】
0004732248.tif 000002
【図２】
0004732248.tif 000003
【図３】
0004732248.tif 000004
【図４】
0004732248.tif 000005
【図５】
0004732248.tif 000006
【図６】
0004732248.tif 000007
【図７】
0004732248.tif 000008
【図８】
0004732248.tif 000009
【図９】
0004732248.tif 000010
【図１０】
0004732248.tif 000011
【図１１】
0004732248.tif 000012
【図１２】
0004732248.tif 000013