(57)【特許請求の範囲】
【請求項１】
情報処理装置から印刷データを受信する受信手段と、前記受信手段によって受信された印刷データに対して展開処理を実行する処理手段と、前記処理手段によって展開処理を実行することによって生成された画像データを印刷装置に送信する送信手段とを有する制御装置であって、
前記画像データの前記送信手段による送信が完了する前に前記処理手段の所定のエラーを検知したことに従って前記処理手段の再起動を実行し、前記処理手段が再起動したことに従って少なくとも前記所定のエラーによって送信が完了しなかった画像データの前記印刷装置への送信を開始するように制御する制御手段を有することを特徴とする制御装置。
【請求項２】
前記処理手段の前記所定のエラーを検知する検知手段をさらに有することを特徴とする請求項１記載の制御装置。
【請求項３】
前記検知手段は、前記処理手段へ所定の通知を行い、前記所定の通知に対する応答が所定の時間ないことに従って前記エラーを検知することを特徴とする請求項２記載の制御装置。
【請求項４】
前記所定の時間を計測する計測手段をさらに有することを特徴とする請求項１乃至３のいずれか１項に記載の制御装置。
【請求項５】
前記印刷データはＰＤＬ（Page Description Language）データであり、前記展開処理はＲＩＰ（Raster Image Processor）であることを特徴とする請求項１乃至４のいずれか１項に記載の制御装置。
【請求項６】
前記所定のエラーはハングアップであることを特徴とする請求項１乃至５のいずれか１項に記載の制御装置。
【請求項７】
前記受信手段は第１のインタフェースであり、
前記送信手段は前記第１のインタフェースとは異なる第２のインタフェースであることを特徴とする請求項１乃至６のいずれか１項に記載の制御装置。
【請求項８】
情報処理装置から印刷データを受信する受信手段と、前記受信手段によって受信された印刷データに対して展開処理を実行する処理手段と、前記処理手段によって展開処理を実行することによって生成された画像データを印刷装置に送信する送信手段とを有する制御装置の制御方法であって、
前記画像データの前記送信手段による送信が完了する前に前記処理手段の所定のエラーを検知したことに従って前記処理手段の再起動を実行し、前記処理手段が再起動したことに従って少なくとも前記所定のエラーによって送信が完了しなかった画像データの前記印刷装置への送信を開始するように制御する制御ステップを有することを特徴とする制御装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至７のいずれか１項の制御装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、実行データに基づく処理を実行する制御装置、制御装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
情報処理装置としてのＤＦＥ（Digital Front End）から送信された印刷データに基づいて処理実行装置としてのＭＦＰが印刷を行う印刷処理の実行を制御する印刷システムが知られている。印刷処理では、クライアントＰＣから受け付けた印刷の実行指示に基づいてＤＦＥがＲＩＰ処理を行って画像データや印刷設定情報等を含む印刷データを生成し、ＤＦＥから送信された印刷データに基づいてＭＦＰが印刷を行う。印刷システムでは、印刷処理の実行中にエラー、例えば、ＤＦＥ及びＭＦＰ間の通信エラーが発生すると、ＤＦＥからＭＦＰへの印刷データの送信処理が中断される。このような場合、ＤＦＥ及びＭＦＰ間の通信エラーが復旧した後、中断された時点から送信処理が再開される。例えば、ＤＦＥはＭＦＰから当該ＭＦＰが受信した印刷データ数を取得し、取得された印刷データ数に基づいてＭＦＰが未受信の印刷データを送信する（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−０４００４３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した特許文献１の技術では、ＤＦＥのハングアップ等のＤＦＥの再起動エラーが発生した場合、ユーザ自らがＤＦＥを再起動し、ＤＦＥが再起動した後にユーザが印刷処理の実行指示を再度行う必要がある。すなわち、従来の印刷システムでは、ＤＦＥの再起動を要するエラーが発生した場合、中断された印刷処理を再開するために、ユーザに必要以上の手間をかけさせてしまう。
【０００５】
本発明の目的は、ユーザに必要以上の手間をかけさせることなく、中断された処理を再開することができる制御装置、制御装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明の制御装置は、情報処理装置から印刷データを受信する受信手段と、前記受信手段によって受信された印刷データに対して展開処理を実行する処理手段と、前記処理手段によって展開処理を実行することによって生成された画像データを印刷装置に送信する送信手段とを有する制御装置であって、前記画像データの前記送信手段による送信が完了する前に前記処理手段の所定のエラーを検知したことに従って前記処理手段の再起動を実行し、前記処理手段が再起動したことに従って少なくとも前記所定のエラーによって送信が完了しなかった画像データの前記印刷装置への送信を開始するように制御する制御手段を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、受信された印刷データに対して展開処理を実行する処理手段のエラーのように処理手段の再起動が必要な場合でも、ユーザに手間をかけることなく、所定のエラーが原因で送信を完了しなかった画像データの送信を開始することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態に係る情報処理装置としてのＤＦＥを含む印刷システムの構成を概略的に示すブロック図である。
【図２】図１におけるＤＦＥの構成を概略的に示すブロック図である。
【図３】図１におけるＭＦＰの構成を概略的に示すブロック図である。
【図４】図１の印刷システムのソフトウェアモジュールの構成を概略的に示すブロック図であり、図４（ａ）はＤＦＥのソフトウェアモジュールの構成を示し、図４（ｂ）はＭＦＰのソフトウェアモジュールの構成を示す。
【図５】図１の印刷システムで実行される印刷ジョブ実行処理の手順を示すシーケンス図である。
【図６】図１のＤＦＥで用いられるジョブ管理情報の一例を示す図である。
【図７】図４の監視処理モジュールによって実行される再起動処理の手順を示すフローチャートである。
【図８】図１の印刷システムにおいてＤＦＥが通信不能状態である場合を説明するためのシーケンス図であり、図８（ａ）は画像データの転送時にＤＦＥのハングアップが発生した場合を示し、図８（ｂ）は画像データの転送時にＤＦＥのデッドロックが発生した場合を示し、図８（ｃ）は画像データの転送時にＤＦＥのハングアップが発生した場合を示す。
【図９】図４の通信管理モジュールによって実行される再起動処理の手順を示すフローチャートである。
【図１０】図１のＤＦＥで実行されるジョブ投入処理の手順を示すフローチャートである。
【図１１Ａ】図１の印刷システムで実行される印刷再開処理の手順を示すシーケンス図である。
【図１１Ｂ】図１の印刷システムで実行される印刷再開処理の手順を示すシーケンス図である。
【図１２】図１のＭＦＰで実行される移行処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１１】
本実施の形態では、情報処理装置としてのＤＦＥ（Digital Front End）に本発明を適用した場合について説明するが、本発明の適用先はＤＦＥに限られず、例えば、処理実行装置とデータ通信可能なサーバ等の装置であってもよい。また、本実施の形態では、処理実行装置としてのＭＦＰに本発明を適用した場合について説明するが、本発明の適用先はＭＦＰに限られない。例えば、ＳＦＰ（Single Function Printer）やＬＢＰ（Laser Beam Printer）を含む情報処理装置から実行データを取得し、取得された実行データに基づく処理を行う装置であってもよい。ここで実行データとは、例えば、ＭＦＰが印刷を行うために用いる印刷データを含む。
【００１２】
図１は、本発明の実施の形態に係る情報処理装置としてのＤＦＥ１０２を含む印刷システム１００の構成を概略的に示すブロック図である。
【００１３】
図１において、印刷システム１００は、クライアントＰＣ１０１、ＤＦＥ１０２、及びＭＦＰ１０３を備える。クライアントＰＣ１０１及びＤＦＥ１０２はネットワーク１０４を介して接続され、ＤＦＥ１０２及びＭＦＰ１０３はネットワーク１０５を介して接続されている。
【００１４】
クライアントＰＣ１０１は印刷処理の実行指示としてＰＤＬ（Page Description Language）データをＤＦＥ１０２に送信する。ＤＦＥ１０２は受信されたＰＤＬデータに基づいてＲＩＰ（Raster Image Processor）処理を行い、ＭＦＰ１０３で読み込み可能なラスターイメージデータ等の画像データを生成する。また、ＤＦＥ１０２は該画像データ及び印刷処理に用いられる印刷設定情報を印刷データとしてＭＦＰ１０３にそれぞれ送信する。ＭＦＰ１０３は受信された印刷データに基づいて印刷を行う。
【００１５】
図２は、図１におけるＤＦＥ１０２の構成を概略的に示すブロック図である。
【００１６】
図２において、ＤＦＥ１０２は、ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、表示部２０５、操作部２０６、及びネットワークＩ／Ｆ２０７，２０８を備える。ＣＰＵ２０１、ＲＯＭ２０２、ＲＡＭ２０３、ＨＤＤ２０４、表示部２０５、操作部２０６、及びネットワークＩ／Ｆ２０７，２０８は、システムバス２０９を介して互いに接続されている。
【００１７】
ＣＰＵ２０１はＤＦＥ１０２全体を統括的に制御する。ＲＯＭ２０２はＣＰＵ２０１で実行される各プログラム等を格納する。ＲＡＭ２０３はＣＰＵ２０１の作業領域及びＣＰＵ２０１の各データの一時格納領域として用いられる。ＨＤＤ２０４は電力が供給されなくてもデータ保持可能な不揮発性記憶媒体であり、各プログラム及び各データを格納する。本実施の形態では、ＨＤＤ２０４は印刷処理を実行するジョブ（以下、「印刷ジョブ」という。）を管理する後述する図６のジョブ管理情報６００を格納する。表示部２０５は各画像を表示する。操作部２０６は図示しないキーボード及びマウス等を含み、ユーザの操作部２０６の操作によってＤＦＥ１０２における設定情報を設定可能である。ネットワークＩ／Ｆ２０７，２０８は、ネットワーク１０４やネットワーク１０５と接続された各装置とデータ通信を行う。本実施の形態では、ネットワークＩ／Ｆ２０７はネットワーク１０４に接続されたクライアントＰＣ１０１からＰＤＬデータを受信する。また、ネットワークＩ／Ｆ２０８はネットワーク１０５に接続されたＭＦＰ１０３に印刷データを送信する。
【００１８】
図３は、図１におけるＭＦＰ１０３の構成を概略的に示すブロック図である。
【００１９】
図３において、ＭＦＰ１０３は、ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、表示部３０５、操作部３０６、ネットワークＩ／Ｆ３０７、印刷制御部３０８、及びプリンタ部３０９を備える。ＣＰＵ３０１、ＲＯＭ３０２、ＲＡＭ３０３、ＨＤＤ３０４、表示部３０５、操作部３０６、ネットワークＩ／Ｆ３０７、及び印刷制御部３０８はシステムバス３１０を介して互いに接続されている。プリンタ部３０９は印刷制御部３０８と接続されている。
【００２０】
ＣＰＵ３０１はＭＦＰ１０３全体を統括的に制御する。ＲＯＭ３０２はＣＰＵ３０１で実行される各プログラム等を格納する。ＲＡＭ３０３はＣＰＵ３０１の作業領域及びＣＰＵ３０１の各データの一時格納領域として用いられる。ＨＤＤ３０４は各プログラム及び各データを格納する。表示部３０５はＭＦＰ１０３の各設定を行う設定画面等を表示する。操作部３０６はユーザの操作によって入力された入力情報をＭＦＰ１０３の各設定情報として受け付ける。ネットワークＩ／Ｆ３０７はネットワーク１０５と接続された装置、例えば、ＤＦＥ１０２とデータ通信を行う。印刷制御部３０８は受信された印刷データに基づいてプリンタ部３０９に印刷の実行開始を指示する。プリンタ部３０９は印刷制御部３０８からの指示に基づいて印刷を行う。
【００２１】
図４は、図１における印刷システム１００のソフトウェアモジュール４００，４０５の構成を概略的に示すブロック図であり、図４（ａ）はＤＦＥ１０２のソフトウェアモジュール４００の構成を示し、図４（ｂ）はＭＦＰ１０３のソフトウェアモジュール４０５の構成を示す。
【００２２】
図４（ａ）において、ソフトウェアモジュール４００は、ＲＩＰ処理モジュール４０１（印刷データ生成手段）、通信管理モジュール４０２、送受信処理モジュール４０３、及び監視処理モジュール４０４を備える。ソフトウェアモジュール４００の各処理は、ＤＦＥ１０２のＣＰＵ２０１がＲＯＭ２０２に格納されたプログラムを実行することによって行われる。
【００２３】
ＲＩＰ処理モジュール４０１はクライアントＰＣ１０１から取得したＰＤＬデータをＲＡＭ２０３に格納し、格納されたＰＤＬデータから印刷設定情報を抽出する。また、ＲＩＰ処理モジュール４０１は格納されたＰＤＬデータをＲＩＰ処理して画像データを生成し、生成された画像データを印刷データとしてＭＦＰ１０３に転送する。通信管理モジュール４０２はＤＦＥ１０２及びＭＦＰ１０３間の印刷処理に関する通知を管理してＭＦＰ１０３の印刷処理のシーケンスを管理する。送受信処理モジュール４０３はクライアントＰＣ１０１及びＭＦＰ１０３間のデータ通信を管理する。監視処理モジュール４０４はＲＩＰ処理モジュール４０１と定期的にデータ通信を行い、ＤＦＥ１０２の状態の異常を検知する。具体的に、監視処理モジュール４０４は、ＲＩＰ処理モジュール４０１がハングアップやデッドロック等の通信不能状態であるか否かの確認を行う。ＲＩＰ処理モジュール４０１が通信不能状態であると、印刷ジョブにおけるＤＦＥ１０２からＭＦＰへの画像データの転送が実行できず、該画像データの転送を含む印刷ジョブが中断される。中断された印刷ジョブを再開するためにはＤＦＥ１０２を再起動する必要がある。
【００２４】
図４（ｂ）において、ソフトウェアモジュール４０５は、ジョブ制御モジュール４０６（送信制御手段）、印刷処理モジュール４０７、及び送受信処理モジュール４０８を備える。ソフトウェアモジュール４０５の各処理は、ＭＦＰ１０３のＣＰＵ３０１がＲＯＭ３０３に格納されたプログラムを実行することによって行われる。
【００２５】
ジョブ制御モジュール４０６はＤＦＥ１０２から取得した印刷データとしての印刷設定情報をＲＡＭ３０３に格納し、当該印刷設定情報を解析する。これにより、ＤＦＥ１０２から送信される画像データを格納する準備を行う。具体的に、ジョブ制御モジュール４０６は印刷設定情報の解析結果に基づいてＲＡＭ３０４の格納領域のうち一部の領域を一次バッファとして確保する。また、ジョブ制御モジュール４０６はＤＦＥ１０２から取得した画像データを当該一次バッファに格納し、印刷処理モジュール４０７に印刷の実行を指示する。印刷処理モジュール４０７はＲＡＭ３０４に格納された印刷設定情報及び画像データに基づく印刷を行う。送受信処理モジュール４０８はＤＦＥ１０２とのデータ通信を制御する。
【００２６】
図５は、図１の印刷システム１００で実行される印刷ジョブ実行処理の手順を示すシーケンス図である。
【００２７】
図５の処理は、ＤＦＥ１０２のＣＰＵ２０１がＲＯＭ２０２に格納されたプログラムを実行し、また、ＭＦＰ１０３のＣＰＵ３０１がＲＯＭ３０３に格納されたプログラムを実行することによって行われる。図５の処理では、一例として、１ページのみの印刷を行う場合を前提とする。
【００２８】
図５において、まず、ＣＰＵ２０１は、ＲＩＰ処理モジュール４０１によって抽出された印刷設定情報を取得し、印刷ジョブの開始の指示を通信管理モジュール４０２へ通知する（ステップＳ５０１）。印刷設定情報は印刷データの名称、印刷に用いられる用紙サイズ、ページ数、印刷部数等を含む。次いで、ＣＰＵ２０１は通信管理モジュール４０２によって印刷ジョブの開始通知をＭＦＰ１０３へ送信する（ステップＳ５０２）。ＭＦＰ１０３では、ＤＦＥ１０２から印刷ジョブの開始通知を受信すると、ＣＰＵ３０１は印刷ジョブの開始通知を確認した旨を示す開始確認通知をＤＦＥ１０２へ送信し（ステップＳ５０３）、印刷ジョブを開始する。
【００２９】
ＤＦＥ１０２では、ＭＦＰ１０３から開始確認通知を受信すると、ＣＰＵ２０１は、印刷ジョブを特定可能なＩＤ情報及びＭＦＰ１０３で印刷ジョブが開始された旨をＲＩＰ処理モジュール４０１に通知する（ステップＳ５０４）。次いで、ＣＰＵ２０１は印刷ジョブを管理する後述する図６のジョブ管理情報６００に上記印刷ジョブを設定する（ステップＳ５０５）。ジョブ管理情報６００は、ジョブＩＤ６０１及びジョブ名称６０２を含む。ジョブＩＤ６０１にはステップＳ５０４で通知された印刷ジョブを特定可能なＩＤ情報が設定され、ジョブ名称６０２には印刷設定情報に含まれる印刷データの名称等が設定される。印刷ジョブの実行が完了すると、当該印刷ジョブの情報がジョブ管理情報６００から削除される。また、ジョブ管理情報６００は、不揮発性記憶媒体であるＨＤＤ２０４に格納され、ＤＦＥ１０２が再起動しても保持される。次いで、ＣＰＵ２０１は、印刷設定情報をＲＩＰ処理モジュール４０１から通信管理モジュール４０２へ通知し（ステップＳ５０６）、通信管理モジュール４０２によって該印刷設定情報をＭＦＰ１０３へ送信する（ステップＳ５０７）。
【００３０】
ＭＦＰ１０３では、ＤＦＥ１０２から印刷設定情報を受信すると、ＣＰＵ３０１は受信された印刷設定情報に基づいて画像データを格納する準備を開始し、当該格納する準備が完了すると、後述するステップＳ５１０の処理を行う。また、ＣＰＵ３０１は印刷設定情報を受信した旨を示す受信確認通知をＤＦＥ１０２へ送信する（ステップＳ５０８）。ＤＦＥ１０２では、ＭＦＰ１０３から受信確認通知を受信すると、ＣＰＵ２０１はＭＦＰ１０３で印刷設定情報が確認された旨を通信管理モジュール４０２からＲＩＰ処理モジュール４０１へ通知する（ステップＳ５０９）。これにより、ＲＩＰ処理モジュール４０１は、ＲＩＰ処理を行って画像データを生成し、当該画像データをＭＦＰ１０３へ転送する準備を開始する。当該転送する準備を完了すると、ＣＰＵ２０１はＲＩＰ処理モジュール４０１によって後述するステップＳ５１１の処理を行う。
【００３１】
一方、ＭＦＰ１０３では、上記格納する準備が完了すると、ＣＰＵ３０１は画像データの送信を要求する送信要求通知をＤＦＥ１０２へ送信する（ステップＳ５１０）。なお、複数ページの印刷を行う場合、ＣＰＵ３０１は各ページに対応する画像データの送信要求通知をＤＦＥ１０２へそれぞれ送信する。
【００３２】
ＤＦＥ１０２では、上記転送する準備が完了すると、ＣＰＵ２０１は当該転送する準備が完了した旨を示す転送準備完了通知をＲＩＰ処理モジュール４０１から通信管理モジュール４０２へ行う（ステップＳ５１１）。次いで、ＣＰＵ２０１は、ＭＦＰ１０３からの送信要求通知及びＲＩＰ処理モジュール４０１からの転送準備完了通知の各々を通信管理モジュール４０２で受信すると、画像データを転送する旨を示す転送要求通知をＭＦＰ１０３へ送信する（Ｓステップ５１２）。ＭＦＰ１０３では、ＤＦＥ１０２から転送要求通知を受信すると、ＣＰＵ３０１は画像データの転送を許可する旨を示す転送許可通知をＤＦＥ１０２へ送信する（ステップＳ５１３）。
【００３３】
ＤＦＥ１０２では、ＭＦＰ１０３から転送許可通知を受信すると、ＣＰＵ２０１は画像データの転送を開始する転送開始指示を通信管理モジュール４０２からＲＩＰ処理モジュール４０１へ通知する（ステップＳ５１４）。次いで、ＣＰＵ２０１は、転送開始指示に基づいて画像データをＲＩＰ処理モジュール４０１からＭＦＰ１０３へ転送する（ステップＳ５１５）。次いで、ＣＰＵ２０１は画像データの転送が完了すると、該画像データの転送が完了した旨をＲＩＰ処理モジュール４０１から通信管理モジュール４０２へ通知する（ステップＳ５１６）。次いで、ＣＰＵ２０１は画像データの転送が完了した旨を示す転送完了通知をＭＦＰ１０３へ送信する（ステップＳ５１７）。ＭＦＰ１０３では、ＤＦＥ１０２から転送完了通知を受信すると、ＣＰＵ３０１は転送完了通知を確認した旨を示す転送完了確認通知をＤＦＥ１０２へ送信する（ステップＳ５１８）。ＤＦＥ１０２では、ＭＦＰ１０３から転送完了確認通知を受信すると、ＣＰＵ２０１は転送完了確認通知を受信した旨を通信管理モジュール４０２からＲＩＰ処理モジュール４０１に通知し（ステップＳ５１９）、本処理を終了する。
【００３４】
例えば、ステップＳ５１５の画像データの転送中にＲＩＰ処理モジュール４０１が通信不能状態である場合、画像データの転送が実行できず、該画像データの転送を含む印刷ジョブが中断される。従来の印刷システムでは、中断された印刷ジョブを再開するためには、ユーザ自らがＤＦＥ１０２を再起動し、ＤＦＥ１０２が再起動した後にユーザが印刷ジョブの再開の指示を行う必要がある。すなわち、従来の印刷システムでは、ＲＩＰ処理モジュール４０１が通信不能状態である場合、中断された印刷ジョブを再開するために、ユーザに必要以上の手間をかけさせてしまう。
【００３５】
これに対応して、本実施の形態では、監視処理モジュール４０４及び通信管理モジュール４０２によってＤＦＥ１０２の状態の異常の検知、具体的に、ＲＩＰ処理モジュール４０１が通信不能状態であるか否かを確認する。ＲＩＰ処理モジュール４０１が通信不能状態である場合、ＲＩＰ処理モジュール４０１及び通信管理モジュール４０２が再起動され、且つ取得されたＭＦＰ１０３の実行状況に基づいて画像データがＭＦＰ１０３に送信される。
【００３６】
図７は、図４の監視処理モジュール４０４によって実行される再起動処理の手順を示すフローチャートである。
【００３７】
図７の処理は、ＤＦＥ１０２のＣＰＵ２０１がＲＯＭ２０２に格納されたプログラムを実行することによって行われ、ＤＦＥ１０２が起動中に、予め設定された間隔で定期的に実行される。
【００３８】
図７において、まず、ＣＰＵ２０１はＲＩＰ処理モジュール４０１が通信不能状態であるか否かを確認する生存確認通知を監視処理モジュール４０４からＲＩＰ処理モジュール４０１に送信する（ステップＳ７０１）。ＲＩＰ処理モジュール４０１は、生存確認通知を受信すると、通常、当該生存確認通知の応答通知を監視処理モジュール４０４に送信する。一方、監視処理モジュール４０４がハングアップ等の通信不能状態である場合、ＲＩＰ処理モジュール４０１は当該応答通知を監視処理モジュール４０４に送信することができない。次いで、ＣＰＵ２０１は監視処理モジュール４０４により、生存確認通知を送信してからの経過時間を計測する生存確認タイマー処理を開始する（ステップＳ７０２）。次いで、ＣＰＵ２０１はＲＩＰ処理モジュール４０１からの応答通知を受信したか否かを判別する（ステップＳ７０３）。
【００３９】
ステップＳ７０３の判別の結果、ＲＩＰ処理モジュール４０１からの応答通知を受信しないとき、ＣＰＵ２０１は、生存確認タイマー処理を開始してから、予め設定された期間が経過、つまり、タイムアウトしたか否かを判別する（ステップＳ７０４）。
【００４０】
ステップＳ７０４の判別の結果、タイムアウトしないとき、ＣＰＵ２０１はステップＳ７０３の処理に戻る。一方、ステップＳ７０４の判別の結果、タイムアウトしたとき、ＣＰＵ２０１はＲＩＰ処理モジュール４０１が通信不能状態であると判別する。その後、ＣＰＵ２０１はＲＩＰ処理モジュール４０１や通信管理モジュール４０２の再起動の実行を設定するリカバリフラグをオンに設定する。ＣＰＵ２０１はＲＩＰ処理モジュール４０１や通信管理モジュール４０２の再起動を実行する場合、リカバリフラグをオンに設定し、ＲＩＰ処理モジュール４０１や通信管理モジュール４０２の再起動を実行しない場合、リカバリフラグをオフに設定する。次いで、ＣＰＵ２０１はリカバリフラグの設定に基づいて、図８（ａ）に示すように、ＲＩＰ処理モジュール４０１を再起動させ（ステップＳ７０５）、通信管理モジュール４０２を再起動させ（ステップＳ７０６）（再起動実行手段）、本処理を終了する。
【００４１】
ステップＳ７０３の判別の結果、ＲＩＰ処理モジュール４０１からの応答通知を受信したとき、ＣＰＵ２０１は生存確認タイマー処理を終了し（ステップＳ７０７）、ステップＳ７０１の処理に戻る。
【００４２】
図９は、図４の通信管理モジュール４０２によって実行される再起動処理の手順を示すフローチャートである。
【００４３】
図９の処理は、ＤＦＥ１０２のＣＰＵ２０１がＲＯＭ２０２に格納されたプログラムを実行することによって行われる。
【００４４】
図９において、まず、ＣＰＵ２０１は、例えば、図５のステップＳ５１０に示すＭＦＰ１０３からの送信要求通知を受信すると（ステップＳ９０１でＹＥＳ）、通信管理モジュール４０２により、送信要求通知を受信してからの経過時間を計測する通信異常タイマー処理を開始する（ステップＳ９０２）。次いで、ＣＰＵ２０１は、例えば、図５のステップＳ５１１に示す転送準備完了通知を受信したか否かを判別する（ステップＳ９０３）。
【００４５】
ステップＳ９０３の判別の結果、転送準備完了通知を受信しないとき、ＣＰＵ２０１は通信異常タイマー処理を開始してから、予め設定された期間が経過、つまり、タイムアウトしたか否かを判別する（ステップＳ９０４）。本実施の形態では、ＭＦＰ１０３が送信要求通知を送信してから所定の期間が経過するまでに画像データの転送が完了しない場合、ＭＦＰ１０３がエラー状態となってしまう。この場合、ＭＦＰ１０３を再起動する等のリセット処理を行うまで、ＭＦＰ１０３は新たな印刷ジョブを受け付け不可能な状態（以下、「印刷ジョブの受け付け不可能状態」という。）に遷移し、ＭＦＰ１０３は新たな印刷ジョブを実行不可能となる。
【００４６】
ステップＳ９０４の判別の結果、タイムアウトしないとき、ＣＰＵ２０１はステップＳ９０３の処理に戻る。一方、ステップＳ９０４の判別の結果、タイムアウトしたとき、ＣＰＵ２０１はＲＩＰ処理モジュール４０１が通信不能状態であると判別する。その後、ＣＰＵ２０１は、ＭＦＰ１０３が印刷ジョブの受け付け不可能状態に遷移したことを想定し、印刷ジョブの受け付け可能状態（実行可能な状態）へ移行させるためのリカバリ要求通知をＭＦＰ１０３へ送信する（ステップＳ９０５）。印刷ジョブの受け付け不可能状態に遷移していたＭＦＰ１０３がステップＳ９０５によってＤＦＥ１０２から送信されたリカバリ要求通知を受信すると、印刷ジョブのキャンセル処理の実行を開始する。その後、ＭＦＰ１０３は印刷ジョブのキャンセル処理の実行が完了すると、印刷ジョブの受け付け可能状態に移行する。
【００４７】
リカバリ要求通知の内容、及び、印刷ジョブのキャンセル処理の方法については特に限定しない。リカバリ要求通知は、例えば、ＤＦＥ１０２が通信ポートを閉じることをＤＦＥ１０２からＭＦＰ１０３に通知するものであってもよい。このＤＦＥ１０２の通信ポートは、通信管理モジュール４０２がＭＦＰ１０３に対して印刷制御命令を送信するために用いる通信ポートである。ＭＦＰ１０２は、通信ポートを閉じる通知を受けたことに基づいて、印刷ジョブのキャンセル処理を開始することとしてもよい。すなわち、リカバリ要求通知は、通信ポートを閉じることを通知する役割と、上述のリカバリ要求通知としての役割とを兼ねるものであってもよい。ＭＦＰ１０３は、ポートを閉じたことを示す通知を受信すると、印刷ジョブの受け付け可能状態に移行する処理を開始する。またあるいは、リカバリ要求通知は、ＭＦＰ１０３に対して印刷ジョブの削除を指示する通知であってもよい。通信管理モジュール４０２は、通信ポートを閉じることをＭＦＰ１０３に通知する第１の通知と、ＭＦＰ１０３に対して印刷ジョブの削除を指示する第２の通知の両方をＭＦＰ１０３に送信することとしてもよい。
【００４８】
次いで、ＣＰＵ２０１は、図８（ｂ）に示すように、通信管理モジュール４０２からＲＩＰ処理モジュール４０１へ再起動の指示を通知する（ステップＳ９０６）。ここで、ステップＳ９０６の処理を行う前に、リカバリフラグが既にオンに設定され、且つ図７の処理によってＲＩＰ処理モジュール４０１及び通信管理モジュール４０２が再起動されていた場合、ＤＦＥの再起動エラーが解消された可能性が高い。この場合、不要な再起動の実行を抑制するために、図８（ａ）に示すように、ＣＰＵ２０１はＲＩＰ処理モジュール４０１へ再起動の指示を通知しなくてもよい。その後、ＣＰＵ２０１は、図８（ｂ）に示すように、ＲＩＰ処理モジュール４０１によってリカバリフラグをオンに設定し、ＲＩＰ処理モジュール４０１から通信管理モジュール４０２へ再起動の指示を通知する。その後、ＣＰＵ２０１はＲＩＰ処理モジュール４０１及び通信管理モジュール４０２を再起動して、本処理を終了する。
【００４９】
ステップＳ９０３の判別の結果、転送準備完了通知を受信したとき、ＣＰＵ２０１は、ＭＦＰ１０３に転送要求通知を送信する（例えば、図５のステップＳ５１２）。その後、ＣＰＵ２０１は、ＭＦＰ１０３から転送許可通知を受信すると（例えば、図５のステップＳ５１３）、通信異常タイマー処理を終了する（ステップＳ９０７）。次いで、ＣＰＵ２０１は通信管理モジュール４０２からＲＩＰ処理モジュール４０１へ転送開始指示を通知する（ステップＳ９０８）（例えば、図５のステップＳ５１４）。次いで、ＣＰＵ２０１は通信管理モジュール４０２により、転送開始指示を通知してからの経過時間を計測するデータ転送異常タイマー処理を開始する（ステップＳ９０９）。次いで、ＣＰＵ２０１は、例えば、図５のステップＳ５１６のように、ＲＩＰ処理モジュール４０１から画像データの転送が完了した旨が通知されたか否かを判別する（ステップＳ９１０）。
【００５０】
ステップＳ９１０の判別の結果、画像データの転送が完了した旨が通知されないとき、ＣＰＵ２０１はデータ転送異常タイマー処理を開始してから、予め設定された期間が経過、つまり、タイムアウトしたか否かを判別する（ステップＳ９１１）。
【００５１】
ステップＳ９１１の判別の結果、タイムアウトしないとき、ＣＰＵ２０１はステップＳ９１０の処理に戻る。一方、ステップＳ９１１の判別の結果、タイムアウトしたとき、ＣＰＵ２０１はＲＩＰ処理モジュール４０１が通信不能状態であると判別する。その後、ＣＰＵ２０１はＭＦＰ１０３にリカバリ要求通知を送信する（ステップＳ９１２）。これにより、ＭＦＰ１０３は、印刷ジョブの受け付け不可能状態に遷移していた場合、印刷ジョブの受け付け可能状態に移行する。次いで、ＣＰＵ２０１はＲＩＰ処理モジュール４０１へ再起動の指示を通知する（ステップＳ９１３）。ここで、ステップＳ９１３の処理を行う前に、リカバリフラグが既にオンに設定され、且つ図７の処理によってＲＩＰ処理モジュール４０１及び通信管理モジュール４０２が再起動されていた場合、ＤＦＥの再起動エラーが解消された可能性が高い。この場合も、不要な再起動の実行を抑制するために、ＣＰＵ２０１はＲＩＰ処理モジュール４０１へ再起動の指示を通知しなくてもよい。その後、ＣＰＵ２０１はＲＩＰ処理モジュール４０１によってリカバリフラグをオンに設定し、ＲＩＰ処理モジュール４０１から通信管理モジュール４０２へ再起動の指示を通知する。その後、ＣＰＵ２０１はＲＩＰ処理モジュール４０１及び通信管理モジュール４０２を再起動して、本処理を終了する。
【００５２】
ステップＳ９１０の判別の結果、画像データの転送が完了した旨が通知されたとき、ＣＰＵ２０１はデータ転送異常タイマー処理を終了し（ステップＳ９１４）、例えば、図５のステップＳ５１７のように、転送完了通知をＭＦＰ１０３へ送信する。その後、例えば、図５のステップＳ５１８のように、ＭＦＰ１０３から転送完了確認通知を受信すると、ＣＰＵ２０１は転送完了確認通知を受信した旨をＲＩＰ処理モジュール４０１に通知する（ステップＳ９１５）（例えば、図５のステップＳ５１９）。ＣＰＵ２０１はステップＳ９１５の処理を実行した後に本処理を終了する。すなわち、本実施の形態では、監視処理モジュール４０４による図７の処理及び通信管理モジュール４０２による図９の処理によってＤＦＥ１０２の状態の異常が検知される。
【００５３】
図１０は、図１のＤＦＥ１０２で実行されるジョブ投入処理の手順を示すフローチャートである。
【００５４】
図１０の処理は、ＤＦＥ１０２のＣＰＵ２０１がＲＯＭ２０２に格納されたプログラムを実行することによって行われる。また、図１０の処理は、図７の処理や図９の処理によって実行されるＲＩＰ処理モジュール４０１及び通信管理モジュール４０２の再起動（以下、「ＤＦＥ１０２における再起動」という。）後に実行される。
【００５５】
ところで、ＤＦＥ１０２は、ジョブ管理情報６００を用いて印刷ジョブの実行が完了したか否かを判別しているが、ジョブ管理情報６００には各印刷ジョブにおいていずれの工程が実行されているかを示す印刷ジョブの実行状況が含まれていない。そのため、ＤＦＥ１０２は、ジョブ管理情報６００のみでは、当該ＤＦＥ１０２における再起動後に印刷ジョブの適切な再開指示を行うことができない。例えば、ＤＦＥ１０２からＭＦＰ１０３への画像データの転送が完了した印刷ジョブに対し、ＤＦＥ１０２における再起動後に、当該画像データの転送を再び実行するといった誤った指示を行う可能性がある。
【００５６】
これに対応して、本実施の形態では、ＭＦＰ１０３の印刷ジョブの実行状況を取得し、取得された実行状況に基づいて印刷ジョブの再開を行う。
【００５７】
図１０において、まず、ＣＰＵ２０１は、再起動によってリセットされたＭＦＰ１０３とのデータ通信設定を行うために、ＭＦＰ１０３と接続処理を行う（ステップＳ１００１）。接続処理は画像データを送信するための通信設定等を含む。次いで、ＣＰＵ２０１は設定されたリカバリフラグを確認して当該リカバリフラグがオンに設定されているか否かを判別する（ステップＳ１００２）。
【００５８】
ステップＳ１００２の判別の結果、リカバリフラグがオンではなく、オフに設定されているとき、ＣＰＵ２０１は本処理を終了する。一方、ステップＳ１００２の判別の結果、リカバリフラグがオンに設定されているとき、ＣＰＵ２０１は、ＨＤＤ２０４からジョブ管理情報６００を取得する（ステップＳ１００３）。次いで、ＣＰＵ２０１はジョブ管理情報６００に設定されたジョブＩＤに基づいてＭＦＰ１０３における各印刷ジョブの実行状況を当該ＭＦＰ１０３から取得する。具体的に、ＣＰＵ２０１は印刷ジョブの実行状況としてジョブ状態をＭＦＰ１０３から取得する（ステップＳ１００４）。ジョブ状態は、「正常出力完了」、「キャンセル済み」、「印刷中」、「印刷処理待ち」、及び「印刷中断中」を含む。「正常出力完了」は印刷ジョブの実行が完了したことを示し、「キャンセル済み」は図７の処理や図９の処理によるＤＦＥ１０２における再起動等に起因して印刷ジョブに含まれる画像データの転送が中止されたことを示す。「印刷中」は印刷ジョブが印刷中であることを示し、「印刷処理待ち」は印刷ジョブが印刷待ちであることを示す。「印刷中断中」は印刷ジョブの印刷が中断中であることを示し、紙なし、ジャム、排紙先満載等の中断要因も含む。次いで、ＣＰＵ２０１は取得されたジョブ状態が「キャンセル済み」であるか否かを判別する（ステップＳ１００５）。
【００５９】
ステップＳ１００５の判別の結果、取得されたジョブ状態が「キャンセル済み」であるとき、当該ジョブ状態の印刷ジョブはＤＦＥ１０２からＭＦＰ１０３への画像データの転送を完了していないので、ＣＰＵ２０１は当該画像データの転送の再開を決定する。つまり、ＣＰＵ２０１は、該画像データの転送を含む印刷ジョブの再開を決定し、再開を指示する印刷ジョブを管理する図示しない再開印刷ジョブリストに上記印刷ジョブを設定する（ステップＳ１００６）。次いで、ＣＰＵ２０１は後述するステップＳ１００８の処理を行う。
【００６０】
ステップＳ１００５の判別の結果、取得されたジョブ状態が「キャンセル済み」ではなく、「正常出力完了」、「印刷中」、「印刷処理待ち」、及び「印刷中断中」のいずれかであるとき、当該ジョブ状態の印刷ジョブはＤＦＥ１０２からＭＦＰ１０３への画像データの転送を少なくとも完了している。つまり、当該印刷ジョブにおけるＤＦＥ１０２の処理は完了済みであるので、ＣＰＵ２０１は再開印刷ジョブリストに上記印刷ジョブを設定しない。その後、ＣＰＵ２０１は各印刷ジョブのジョブ状態を表示部２０５に表示し（ステップＳ１００７）、ジョブ管理情報６００の全ての印刷ジョブのジョブ状態を確認したか否かを判別する（ステップＳ１００８）。
【００６１】
ステップＳ１００８の判別の結果、ジョブ管理情報６００のいずれかの印刷ジョブのジョブ状態を確認しないとき、ＣＰＵ２０１はステップＳ１００４の処理に戻る。一方、ステップＳ１００８の判別の結果、ジョブ管理情報６００の全ての印刷ジョブのジョブ状態を確認したとき、ＣＰＵ２０１は再開印刷ジョブリストに設定された各印刷ジョブを投入する（ステップＳ１００９）。これにより、投入された各印刷ジョブにおいて図５の処理が実行され、ＤＦＥ１０２における再起動に起因して中断された印刷ジョブが再開される。次いで、ＣＰＵ２０１はリカバリフラグをオフに設定し（ステップＳ１０１０）、本処理を終了する。
【００６２】
図１１Ａ及び図１１Ｂは、図１の印刷システム１００で実行される印刷再開処理の手順を示すシーケンス図である。
【００６３】
図１１Ａ及び図１１Ｂの処理は、ＤＦＥ１０２のＣＰＵ２０１がＲＯＭ２０２に格納されたプログラムを実行し、また、ＭＦＰ１０３のＣＰＵ３０１がＲＯＭ３０３に格納されたプログラムを実行することによって行われる。図１１Ａ及び図１１Ｂの処理は、一例として、印刷ジョブＡのジョブ状態が「正常出力完了」であり、印刷ジョブＢのジョブ状態が「印刷中」であるタイミングで、ＤＦＥ１０２の再起動が行われた場合について説明する。
【００６４】
図１１Ａにおいて、まず、ＣＰＵ２０１は、図１０のステップＳ１００１の処理を行う。具体的に、ＣＰＵ２０１は接続処理の実行の指示をＲＩＰ処理モジュール４０１から通信管理モジュール４０２へ通知する（ステップＳ１１０１）。次いで、ＣＰＵ２０１は通信管理モジュール４０２によって接続処理の実行を要求する接続要求通知をＭＦＰ１０３に送信する（ステップＳ１１０２）。ＭＦＰ１０３では、ＤＦＥ１０２から接続要求通知を受信すると、ＣＰＵ３０１はＭＦＰ１０３が印刷ジョブの受け付け可能状態であるか否かを判別する（ステップＳ１１０３）。ステップＳ１１０３では、印刷ジョブのキャンセル処理の実行が完了している場合、ＣＰＵ３０１はＭＦＰ１０３が印刷ジョブの受け付け可能状態であると判別する。一方、印刷ジョブのキャンセル処理の実行が完了していない場合、ＣＰＵ３０１はＭＦＰ１０３が印刷ジョブの受け付け不可能状態であると判別する。例えば、ＣＰＵ３０１は、印刷ジョブのキャンセル処理の実行が完了しているか否かを、印刷ジョブのキューが空になっているか否かに基づいて判別する。接続要求通知を受信したタイミングで、印刷ジョブのキューが空になっている場合、ＣＰＵ３０１はキャンセル処理の実行が完了していると判別する。一方、印刷ジョブのキューに印刷ジョブが残っている場合、ＣＰＵ３０１はキャンセル処理の実行が完了していないと判別する。
【００６５】
ステップＳ１１０３の判別の結果、ＭＦＰ１０３が印刷ジョブの受け付け不可能状態であるとき、ＣＰＵ３０１が後述する図１１ＢのステップＳ１１１５以降の処理を行う。一方、ステップＳ１１０３の判別の結果、ＭＦＰ１０３が印刷ジョブの受け付け可能状態であるとき、ＣＰＵ３０１は、接続処理に用いられる設定情報等を含む接続許可通知をＤＦＥ１０２に送信する（ステップＳ１１０４）。ＤＦＥ１０２では、ＭＦＰ１０３から接続許可通知を受信すると、ＣＰＵ２０１は接続処理に用いられる設定情報等を通信管理モジュール４０２からＲＩＰ処理モジュール４０１へ通知する（ステップＳ１１０５）。これにより、ＤＦＥ１０２及びＭＦＰ１０３間のデータ通信設定が行われる。
【００６６】
次いで、ＣＰＵ２０１は設定されたリカバリフラグがオンであるか否かを判別する（例えば、図１０のステップＳ１００２）。リカバリフラグがオンであると、ＨＤＤ２０４からジョブ管理情報６００を取得する（例えば、図１０のステップＳ１００３）。次いで、ＣＰＵ２０１は図１０のステップＳ１００４の処理を実行する。具体的に、ＣＰＵ２０１は印刷ジョブＡのジョブ状態の確認の指示をＲＩＰ処理モジュール４０１から通信管理モジュール４０２へ通知する（ステップＳ１１０６）。次いで、ＣＰＵ２０１は通信管理モジュール４０２によって印刷ジョブＡのジョブ状態の送信を要求するジョブ状態送信要求通知をＭＦＰ１０３へ送信する（ステップＳ１１０７）。ＭＦＰ１０３では、ＤＦＥ１０２から印刷ジョブＡのジョブ状態送信要求通知を受信すると、ＣＰＵ３０１は印刷ジョブＡのジョブ状態を含むジョブ状態通知をＤＦＥ１０２へ送信する（ステップＳ１１０８）。ＤＦＥ１０２では、ＭＦＰ１０３からジョブ状態通知を受信すると、ＣＰＵ２０１は印刷ジョブＡのジョブ状態を通信管理モジュール４０２からＲＩＰ処理モジュール４０１へ通知する（ステップＳ１１０９）。これにより、ＲＩＰ処理モジュール４０１は印刷ジョブＡのジョブ状態を取得する。印刷ジョブＡのジョブ状態が「印刷中」であるので、当該印刷ジョブＡに含まれる画像データの転送は完了している。そのため、ＣＰＵ２０１は、印刷ジョブＡを再開ジョブ管理リストに設定することなく、印刷ジョブＡの実行状況をＤＦＥ１０２の表示部２０５へ表示する（例えば、図１０のステップＳ１００７）。次いで、ＣＰＵ２０１はジョブ管理情報６００の全ての印刷ジョブのジョブ状態を確認したか否かを判別する（例えば、図１０のステップＳ１００８）。ジョブ管理情報６００に設定された印刷ジョブのうち、例えば、印刷ジョブＢのジョブ状態を確認しないとき、ＣＰＵ２０１は印刷ジョブＢに対して図１０のステップＳ１００４の処理を実行する。具体的に、ＣＰＵ２０１は印刷ジョブＢのジョブ状態の確認の指示をＲＩＰ処理モジュール４０１から通信管理モジュール４０２へ通知する（ステップＳ１１１０）。次いで、ＣＰＵ２０１は通信管理モジュール４０２によって印刷ジョブＢのジョブ状態送信要求通知をＭＦＰ１０３へ送信する（ステップＳ１１１１）。ＭＦＰ１０３では、ＤＦＥ１０２から印刷ジョブＢのジョブ状態送信要求通知を受信すると、ＣＰＵ３０１は印刷ジョブＢのジョブ状態を含むジョブ状態通知をＤＦＥ１０２へ送信する（ステップＳ１１１２）。ＤＦＥ１０２では、ＭＦＰ１０３からジョブ状態通知を受信すると、ＣＰＵ２０１は印刷ジョブＢのジョブ状態を通信管理モジュール４０２からＲＩＰ処理モジュール４０１へ通知する（ステップＳ１１１３）。これにより、ＲＩＰ処理モジュール４０１は印刷ジョブＢのジョブ状態を取得する。印刷ジョブＢのジョブ状態が「キャンセル済み」であるので、印刷ジョブＢの画像データの転送は完了していない。そのため、ＣＰＵ２０１は、印刷ジョブＢを再開ジョブ管理リストに設定する（例えば、図１０のステップＳ１００６）。次いで、ＣＰＵ２０１は、ジョブ管理情報６００の全ての印刷ジョブのジョブ状態を確認すると（例えば、図１０のステップＳ１００８でＹＥＳ）、図１０のステップＳ１００９、Ｓ１０１０の処理を実行する。これにより、ＣＰＵ２０１はＲＩＰ処理モジュール４０１によって印刷ジョブＢの画像データをＭＦＰ１０３へ転送する。すなわち、本実施の形態では、ＤＦＥ１０２における再起動に起因して実行が中止された印刷ジョブのみが再開される。ＭＦＰ１０３では、当該画像データの転送が完了すると、ＣＰＵ３０１が印刷ジョブＢの印刷を開始し（ステップＳ１１１４）、本処理を終了する。
【００６７】
ステップＳ１１０３の判別の結果、ＭＦＰ１０３が印刷ジョブの受け付け不可能状態であるとき、図１１Ｂにおいて、ＭＦＰ１０３では、ＣＰＵ３０１が表示部３０５にエラー画面を表示する（ステップＳ１１１５）。エラー画面を確認することにより、ユーザは、キャンセルが済んでいないジョブを手動でキャンセルさせる、あるいは、エラーを解消するために手動でＭＦＰ１０３の電源をＯＦＦ/ＯＮする等の対応をとることができる。
【００６８】
次いで、ＣＰＵ３０１はステップＳ１１０４の処理を行い、ＤＦＥ１０２にエラーの発生を通知する（Ｓ１１１６）。ＤＦＥ１０２では、ＭＦＰ１０３からエラーの発生が通知されると、ＣＰＵ２０１はステップＳ１１０５以降の処理を行わず、表示部２０５にＭＦＰ１０３でエラーが発生した旨を示すエラー画面を表示する（ステップＳ１１１７）。これにより、ＭＦＰ１０３が印刷ジョブの受け付け不可能状態であるにも関わらず、ＤＦＥ１０２がＭＦＰ１０３に印刷ジョブの再投入を不要に行うことを防止することができる。その後、ＣＰＵ２０１は本処理を終了する。
【００６９】
上述した本実施の形態によれば、ＤＦＥ１０２の状態の異常が検知された場合、ＲＩＰ処理モジュール４０１及び通信管理モジュール４０２が再起動され、且つ取得されたＭＦＰ１０３の実行状況に基づいて印刷ジョブが再開される。これにより、ＤＦＥ１０２の状態の異常に伴って画像データの転送が実行できず、当該画像データの転送を含む印刷ジョブが中断されても、ユーザがＤＦＥ１０２の再起動の操作や印刷ジョブの再開の指示を行うことなく、ＭＦＰ１０３において印刷ジョブの実行が再開される。すなわち、ユーザに手間をかけることなく、中断された印刷ジョブを再開することができる。
【００７０】
また、上述した本実施の形態では、ＤＦＥ１０２の状態の異常に起因して実行が中止された印刷ジョブのみが実行される。これにより、実行が完了した印刷ジョブが誤って再び実行されるのを防止することができ、その結果、全体の処理の実行時間を短縮することができる。
【００７１】
さらに、上述した本実施の形態では、ＭＦＰ１０３は、画像データを予め設定された期間に受信しない場合、印刷ジョブの受け付け不可能状態へ遷移し、ＤＦＥ１０２の再起動に応じて印刷ジョブの受け付け可能状態へ移行させるリクエスト要求通知がＭＦＰ１０３に送信される。これにより、ＭＦＰ１０３がＤＦＥ１０２の状態の異常に起因して画像データを設定された期間に受信することができず、印刷ジョブの受け付け不可能状態へ遷移しても、ＤＦＥ１０２の再起動に連動してＭＦＰ１０３を印刷ジョブの受け付け可能状態へ移行することができる。その結果、遅滞なく印刷ジョブを実行することができる。
【００７２】
上述した本実施の形態では、ジョブ状態がＭＦＰ１０３からＤＦＥ１０２に送信されるので、ＤＦＥ１０２の状態の異常に起因して実行が中止された印刷ジョブをＤＦＥ１０２に確実に特定させることができる。
【００７３】
以上、本発明について実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。
【００７４】
例えば、ＤＦＥ１０２が通信不能状態であるか否かをＭＦＰ１０３が判別し、判別した結果に基づいてＭＦＰ１０３を印刷ジョブの受け付け可能状態に移行させてもよい。
【００７５】
図１２は、図１のＭＦＰ１０３で実行される移行処理の手順を示すフローチャートである。
【００７６】
図１２の処理は、ＭＦＰ１０３のＣＰＵ３０１がＲＯＭ３０３に格納されたプログラムを実行することによって行われ、ＭＦＰ１０３が起動中、予め設定された間隔で定期的に実行する。
【００７７】
図１２において、まず、ＣＰＵ３０１は、ＤＦＥ１０２が通信不能状態であるか否かを確認する生存確認通知をＤＦＥ１０２に送信する（ステップＳ１２０１）。ＤＦＥ１０２は、生存確認通知を受信すると、通常、当該生存確認通知の応答通知をＭＦＰ１０３に送信するが、ＤＥＦ１０２が再起動中等で通信不能状態であると、ＤＥＦ１０２は当該応答通知をＭＦＰ１０３に送信することができない。次いで、ＣＰＵ３０１は、生存確認通知を送信してからの経過時間を計測する生存確認タイマー処理を開始する（ステップＳ１２０２）。次いで、ＣＰＵ３０１はＤＦＥ１０２からの応答通知を受信したか否かを判別する（ステップＳ１２０３）。
【００７８】
ステップＳ１２０３の判別の結果、応答通知を受信しないとき、ＣＰＵ３０１は、生存確認タイマー処理を開始してから、予め設定された期間が経過、つまり、タイムアウトしたか否かを判別する（ステップＳ１２０４）。
【００７９】
ステップＳ１２０４の判別の結果、タイムアウトしないとき、ＣＰＵ３０１はステップＳ１２０３の処理に戻る。一方、ステップＳ１２０４の判別の結果、タイムアウトしたとき、ＣＰＵ３０１は、実行中の印刷ジョブを中止する（ステップＳ１２０５）。次いで、ＣＰＵ３０１は、ＭＦＰ１０３が印刷ジョブの受け付け不可能状態である場合、当該ＭＦＰ１０３を印刷ジョブの受け付け可能状態に移行させ（ステップＳ１２０６）、本処理を終了する。
【００８０】
ステップＳ１２０３の判別の結果、応答通知を受信したとき、ＣＰＵ３０１は、生存確認タイマー処理を終了し（ステップＳ１２０７）、投入された全ての印刷ジョブの実行が完了しているか否かを判別する（ステップＳ１２０８）。
【００８１】
ステップＳ１２０８の判別の結果、投入された印刷ジョブのうちいずれかの印刷ジョブの実行が完了していないとき、ＣＰＵ３０１はステップＳ１２０１の処理に戻る。一方、ステップＳ１２０８の判別の結果、投入された全ての印刷ジョブの実行が完了しているとき、ＣＰＵ３０１は本処理を終了する。
【００８２】
上述した図１２の処理では、ＭＦＰ１０３から送信された生存確認通知の応答通知に基づいてＭＦＰ１０３を印刷ジョブの受け付け可能状態に移行させる。これにより、ＤＦＥ１０２からＭＦＰ１０３にリカバリ要求通知が送信されなくても、ＭＦＰ１０３を印刷ジョブの受け付け可能状態に移行させることができ、もって、遅滞なく印刷ジョブの印刷を実行することができる。
【００８３】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００８４】
１０２  ＤＦＥ
１０３  ＭＦＰ
２０１  ＣＰＵ
４０１  ＲＩＰ処理モジュール
４０２  通信管理モジュール
４０４  監視処理モジュール
４０６  ジョブ制御モジュール
【図１】
0006797573.tif 000002
【図２】
0006797573.tif 000003
【図３】
0006797573.tif 000004
【図４】
0006797573.tif 000005
【図５】
0006797573.tif 000006
【図６】
0006797573.tif 000007
【図７】
0006797573.tif 000008
【図８】
0006797573.tif 000009
【図９】
0006797573.tif 000010
【図１０】
0006797573.tif 000011
【図１１Ａ】
0006797573.tif 000012
【図１１Ｂ】
0006797573.tif 000013
【図１２】
0006797573.tif 000014