(57)【要約】【課題】複数の出力指示に基づいて画像形成を行う際に、指示に基づく正しい順番で画像形成を行うことを支援する。【解決手段】印刷指示を受け付けた順番で印刷処理の識別情報を記録した出力順リスト１１１と、受け付けた印刷指示に係る出力データを蓄積部に一時的に蓄積し、その後に画像形成装置に送信した際の順番で印刷処理の識別情報を記録した印刷順リスト１３１を作成し、各リストに記録された識別情報を先頭から順に比較対象として検査を行う。そして、比較対象の識別情報が不一致である場合、出力順リスト１１１の比較対象である識別情報に係る印刷処理の中止指示が行われている場合は、異常な順番で印刷処理が行われたと判断せず、中止指示が行われていない場合は、異常な順番で印刷処理が行われたと判断する。【選択図】図８
2014106824.tif 000002
【特許請求の範囲】
【請求項１】
出力データの印刷指示を受け付け、受け付けた順番で当該印刷指示に基づく印刷処理の識別情報を記録した第１のリストを作成する印刷管理部と、
前記印刷管理部が受け付けた前記印刷指示に係る出力データを一時的に蓄積する蓄積部と、
前記蓄積部から前記出力データを順次取得して画像形成装置に送信し、送信した順番で当該出力データに基づく印刷処理の識別情報を記録した第２のリストを作成する印刷制御部と、
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを先頭から順に比較対象として検査を行い、
比較対象の識別情報が一致している場合、正常な順番で印刷処理が行われたと判断し、比較対象の識別情報を前記第１のリストの識別情報および前記第２のリストにおける次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われている場合は、比較対象の識別情報を当該第１のリストの識別情報のみ次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われていない場合は、異常な順番で印刷処理が行われたと判断し、当該第１のリストの比較対象である識別情報および前記第２のリストの比較対象である識別情報に基づき、比較対象の識別情報を当該第１のリストまたは当該第２のリストのいずれかの識別情報のみ次の順番の識別情報に更新して比較を継続する、検査部と、
を備えることを特徴とする、印刷制御装置。
【請求項２】
前記検査部は、比較対象の識別情報が不一致であって、
前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われておらず、
当該第２のリストの比較対象である識別情報が既に行われた検査において印刷処理の中止指示が行われた識別情報である場合、
異常な順番で印刷処理が行われたと判断し、比較対象の識別情報を当該第２のリストの識別情報のみ次の順番の識別情報に更新して比較を継続することを特徴とする、請求項１に記載の印刷制御装置。
【請求項３】
前記検査部は、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われている場合、当該中止指示が行われた当該印刷処理の識別情報を当該第１のリストとは別の中止情報リストに記録して保存し、
当該中止情報リストに基づいて、前記第２のリストの比較対象である識別情報が既に行われた検査において印刷処理の中止指示が行われた識別情報か否かを判断することを特徴とする、請求項１に記載の印刷制御装置。
【請求項４】
出力データの印刷指示を受け付け、受け付けた順番で当該印刷指示に基づく印刷処理の識別情報を記録した第１のリストを作成するステップと、
受け付けた前記印刷指示に係る出力データを一時的に記憶手段に蓄積するステップと、
前記記憶手段に蓄積された前記出力データを順次取得して画像形成装置に送信し、送信した順番で当該出力データに基づく印刷処理の識別情報を記録した第２のリストを作成するステップと、
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを先頭から順に比較対象として検査を行い、
比較対象の識別情報が一致している場合、正常な順番で印刷処理が行われたと判断し、比較対象の識別情報を前記第１のリストの識別情報および前記第２のリストにおける次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われている場合は、比較対象の識別情報を当該第１のリストの識別情報のみ次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われていない場合は、異常な順番で印刷処理が行われたと判断し、当該第１のリストの比較対象である識別情報および前記第２のリストの比較対象である識別情報に基づき、比較対象の識別情報を当該第１のリストまたは当該第２のリストのいずれかの識別情報のみ次の順番の識別情報に更新して比較を継続する、ステップと、
を備えることを特徴とする、データ管理方法。
【請求項５】
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを検査するステップにおいて、
比較対象の識別情報が不一致であって、
前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われておらず、
当該第２のリストの比較対象である識別情報が既に行われた検査において印刷処理の中止指示が行われた識別情報である場合、
異常な順番で印刷処理が行われたと判断し、比較対象の識別情報を当該第２のリストの識別情報のみ次の順番の識別情報に更新して比較を継続することを特徴とする、請求項５に記載のデータ管理方法。
【請求項６】
出力データの印刷指示を受け付け、受け付けた順番で当該印刷指示に基づく印刷処理の識別情報を記録した第１のリストを作成する処理と、
受け付けた前記印刷指示に係る出力データを一時的に記憶手段に蓄積する処理と、
前記記憶手段に蓄積された前記出力データを順次取得して画像形成装置に送信し、送信した順番で当該出力データに基づく印刷処理の識別情報を記録した第２のリストを作成する処理と、
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを先頭から順に比較対象として検査を行い、
比較対象の識別情報が一致している場合、正常な順番で印刷処理が行われたと判断し、比較対象の識別情報を前記第１のリストの識別情報および前記第２のリストにおける次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われている場合は、比較対象の識別情報を当該第１のリストの識別情報のみ次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われていない場合は、異常な順番で印刷処理が行われたと判断し、当該第１のリストの比較対象である識別情報および前記第２のリストの比較対象である識別情報に基づき、比較対象の識別情報を当該第１のリストまたは当該第２のリストのいずれかの識別情報のみ次の順番の識別情報に更新して比較を継続する、処理とを、
コンピュータに実行させることを特徴とする、プログラム。
【請求項７】
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを検査するステップにおいて、
比較対象の識別情報が不一致であって、
前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われておらず、
当該第２のリストの比較対象である識別情報が既に行われた検査において印刷処理の中止指示が行われた識別情報である場合、
異常な順番で印刷処理が行われたと判断し、比較対象の識別情報を当該第２のリストの識別情報のみ次の順番の識別情報に更新して比較を継続する処理を、前記コンピュータに実行させることを特徴とする、請求項６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、データ管理方法およびプログラムに関する。
【背景技術】
【０００２】
特許文献１は、ホスト装置等と接続され印刷を行う印刷装置において、データ抜けやデータ化け等が通信データのいずれの場所において発生してもこれを確実に検出し異常印刷を防止するものである。同文献には、印刷データを複数に分割した各ブロックの大きさを表すブロックサイズがあらかじめ決めた閾値を超えているかどうかを判定し、超えていたときは印刷ジョブを廃棄するようにした構成、前記異常データ判定基準である閾値を、通信環境等に応じて任意に最適な値に設定できるようにした構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１８３０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
データ接続された上位装置と画像形成装置とを備え、上位装置から送られたデータに基づいて画像形成装置が画像形成を行うシステムにおいて、複数の印刷ジョブを実行する際に、上位装置が複数の出力指示や出力データを一旦蓄積し、画像形成装置へ順次送信して出力させる場合がある。このとき、印刷指示に基づく順番で印刷ジョブを実行することを要求される場合があった。
【０００５】
本発明は、複数の出力指示に基づいて画像形成を行う際に、指示に基づく正しい順番で画像形成を行うことを支援する印刷制御装置、データ管理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明は、
出力データの印刷指示を受け付け、受け付けた順番で当該印刷指示に基づく印刷処理の識別情報を記録した第１のリストを作成する印刷管理部と、
前記印刷管理部が受け付けた前記印刷指示に係る出力データを一時的に蓄積する蓄積部と、
前記蓄積部から前記出力データを順次取得して画像形成装置に送信し、送信した順番で当該出力データに基づく印刷処理の識別情報を記録した第２のリストを作成する印刷制御部と、
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを先頭から順に比較対象として検査を行い、
比較対象の識別情報が一致している場合、正常な順番で印刷処理が行われたと判断し、比較対象の識別情報を前記第１のリストの識別情報および前記第２のリストにおける次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われている場合は、比較対象の識別情報を当該第１のリストの識別情報のみ次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われていない場合は、異常な順番で印刷処理が行われたと判断し、当該第１のリストの比較対象である識別情報および前記第２のリストの比較対象である識別情報に基づき、比較対象の識別情報を当該第１のリストまたは当該第２のリストのいずれかの識別情報のみ次の順番の識別情報に更新して比較を継続する、検査部と、
を備えることを特徴とする、印刷制御装置である。
請求項２に記載の発明は、
前記検査部は、比較対象の識別情報が不一致であって、
前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われておらず、
当該第２のリストの比較対象である識別情報が既に行われた検査において印刷処理の中止指示が行われた識別情報である場合、
異常な順番で印刷処理が行われたと判断し、比較対象の識別情報を当該第２のリストの識別情報のみ次の順番の識別情報に更新して比較を継続することを特徴とする、請求項１に記載の印刷制御装置である。
請求項３に記載の発明は、
前記検査部は、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われている場合、当該中止指示が行われた当該印刷処理の識別情報を当該第１のリストとは別の中止情報リストに記録して保存し、
当該中止情報リストに基づいて、前記第２のリストの比較対象である識別情報が既に行われた検査において印刷処理の中止指示が行われた識別情報か否かを判断することを特徴とする、請求項１に記載の印刷制御装置である。
請求項４に記載の発明は、
出力データの印刷指示を受け付け、受け付けた順番で当該印刷指示に基づく印刷処理の識別情報を記録した第１のリストを作成するステップと、
受け付けた前記印刷指示に係る出力データを一時的に記憶手段に蓄積するステップと、
前記記憶手段に蓄積された前記出力データを順次取得して画像形成装置に送信し、送信した順番で当該出力データに基づく印刷処理の識別情報を記録した第２のリストを作成するステップと、
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを先頭から順に比較対象として検査を行い、
比較対象の識別情報が一致している場合、正常な順番で印刷処理が行われたと判断し、比較対象の識別情報を前記第１のリストの識別情報および前記第２のリストにおける次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われている場合は、比較対象の識別情報を当該第１のリストの識別情報のみ次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われていない場合は、異常な順番で印刷処理が行われたと判断し、当該第１のリストの比較対象である識別情報および前記第２のリストの比較対象である識別情報に基づき、比較対象の識別情報を当該第１のリストまたは当該第２のリストのいずれかの識別情報のみ次の順番の識別情報に更新して比較を継続する、ステップと、
を備えることを特徴とする、データ管理方法である。
請求項５に記載の発明は、
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを検査するステップにおいて、
比較対象の識別情報が不一致であって、
前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われておらず、
当該第２のリストの比較対象である識別情報が既に行われた検査において印刷処理の中止指示が行われた識別情報である場合、
異常な順番で印刷処理が行われたと判断し、比較対象の識別情報を当該第２のリストの識別情報のみ次の順番の識別情報に更新して比較を継続することを特徴とする、請求項５に記載のデータ管理方法である。
請求項６に記載の発明は、
出力データの印刷指示を受け付け、受け付けた順番で当該印刷指示に基づく印刷処理の識別情報を記録した第１のリストを作成する処理と、
受け付けた前記印刷指示に係る出力データを一時的に記憶手段に蓄積する処理と、
前記記憶手段に蓄積された前記出力データを順次取得して画像形成装置に送信し、送信した順番で当該出力データに基づく印刷処理の識別情報を記録した第２のリストを作成する処理と、
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを先頭から順に比較対象として検査を行い、
比較対象の識別情報が一致している場合、正常な順番で印刷処理が行われたと判断し、比較対象の識別情報を前記第１のリストの識別情報および前記第２のリストにおける次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われている場合は、比較対象の識別情報を当該第１のリストの識別情報のみ次の順番の識別情報に更新して比較を継続し、
比較対象の識別情報が不一致であって、前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われていない場合は、異常な順番で印刷処理が行われたと判断し、当該第１のリストの比較対象である識別情報および前記第２のリストの比較対象である識別情報に基づき、比較対象の識別情報を当該第１のリストまたは当該第２のリストのいずれかの識別情報のみ次の順番の識別情報に更新して比較を継続する、処理とを、
コンピュータに実行させることを特徴とする、プログラムである。
請求項７に記載の発明は、
前記第１のリストに記録された識別情報と前記第２のリストに記録された識別情報とを検査するステップにおいて、
比較対象の識別情報が不一致であって、
前記第１のリストの比較対象である識別情報に係る印刷処理の中止指示が行われておらず、
当該第２のリストの比較対象である識別情報が既に行われた検査において印刷処理の中止指示が行われた識別情報である場合、
異常な順番で印刷処理が行われたと判断し、比較対象の識別情報を当該第２のリストの識別情報のみ次の順番の識別情報に更新して比較を継続する処理を、前記コンピュータに実行させることを特徴とする、請求項６に記載のプログラムである。
【発明の効果】
【０００７】
請求項１の発明によれば、印刷指示を受け付けた順番を記録したリストに基づいて、印刷指示が行われた順番で画像形成装置に対する出力制御が行われたか否かを検査し、印刷処理に対して中止指示が行われた場合でも、画像形成装置における印刷処理が正しい順番で行われたか否かを判断することができる。
請求項２の発明によれば、中止指示がなされた後に画像形成装置における印刷処理が行われた場合に、印刷処理の順番が異常であることを検出することができる。
請求項３の発明によれば、第１のリストの情報が消去された後であっても、中止情報リストに基づいて、中止指示がなされた後に画像形成装置における印刷処理が行われたか否かを判断することができる。
請求項４の発明によれば、印刷指示を受け付けた順番を記録したリストに基づいて、印刷指示が行われた順番で画像形成装置に対する出力制御が行われたか否かを検査し、印刷処理に対して中止指示が行われた場合でも、画像形成装置における印刷処理が正しい順番で行われたか否かを判断することができる。
請求項５の発明によれば、中止指示がなされた後に画像形成装置における印刷処理が行われた場合に、印刷処理の順番が異常であることを検出することができる。
請求項６の発明によれば、このプログラムを実行するコンピュータにおいて、印刷指示を受け付けた順番を記録したリストに基づいて、印刷指示が行われた順番で画像形成装置に対する出力制御が行われたか否かを検査し、印刷処理に対して中止指示が行われた場合でも、画像形成装置における印刷処理が正しい順番で行われたか否かを判断することができる。
請求項７の発明によれば、このプログラムを実行するコンピュータにおいて、中止指示がなされた後に画像形成装置における印刷処理が行われた場合に、印刷処理の順番が異常であることを検出することができる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態が適用される画像形成システムの構成例を示す図である。
【図２】本実施形態における印刷サーバの機能構成例を示す図である。
【図３】印刷サーバのハードウェア構成例を示す図である。
【図４】本実施形態の印刷管理部による出力処理の手順を示すフローチャートである。
【図５】中止指示を受け付けた場合の印刷管理部の処理手順を示すフローチャートである。
【図６】本実施形態の蓄積部および印刷制御部による送信処理の手順を示すシステムフロー図である。
【図７】本実施形態の出力順リストおよび印刷順リストの例を示す図である。
【図８】本実施形態の検査部による印刷順の検査処理の手順を示すフローチャートである。
【図９】図７に示した各リストの開始情報のみを並べたリストおよび検査結果の履歴ファイルの具体例を示す図である。
【図１０】中止指示が行われた場合の検査部による検査の例を示す図である。
【図１１】中止指示が行われた場合の検査部による検査の他の例を示す図である。
【図１２】中止指示が行われ、かつ印刷順序の異常が発生した場合の検査部による検査の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、添付図面を参照して、本発明の実施形態について詳細に説明する。
＜システム構成＞
図１は、本実施形態が適用される画像形成システムの構成例を示す図である。
図１に示す画像形成システム装置は、印刷指示（出力指示）に基づく処理である印刷ジョブを管理する印刷サーバ（印刷制御装置）１００と、印刷サーバ１００の制御下で印刷処理（画像形成処理）を実行する画像形成装置２００と、を備える。印刷サーバ１００と画像形成装置２００とは、直接またはネットワーク等を介してデータ接続されている。また、印刷サーバ１００は、ＬＡＮ（Local Area Network）を介してホストサーバ３００に接続されている。
【００１０】
印刷サーバ１００は、例えばネットワーク機能を備えたパーソナルコンピュータ等で実現され、ホストサーバ３００から印刷指示および印刷データ（出力データ）を受信し、蓄積（スプーリング）する。そして、蓄積した印刷データを画像形成装置２００へ送信し、印刷処理を実行させる。また、本実施形態の印刷サーバ１００は、ホストサーバ３００から取得した印刷指示に基づく正しい順番で画像形成装置２００に対する印刷制御が行われているか否かを検査する。印刷サーバ１００の具体的な機能構成については後述する。
【００１１】
画像形成装置２００は、印刷サーバ１００から印刷データを取得し、取得した印刷データに基づき画像形成材を用いて用紙等の記録媒体に画像を形成（印刷）し出力する。本実施形態において記録媒体に画像を形成するための機構は特に限定されず、いわゆる電子写真方式やインクジェット方式等、既存の種々の方式が用いられる。
【００１２】
ホストサーバ３００は、例えばネットワーク機能を備えたコンピュータで実現され、印刷データを保持する記憶装置３１０を備える。そして、印刷指示を受け付けて、この印刷指示により特定される印刷対象（印刷データ）を記憶装置から読み出して印刷サーバ１００へ送信する。印刷指示は、例えばホストサーバ３００に接続された端末装置３２０から入力される。この端末装置は、例えばキーボード等の入力デバイスを備えたパーソナルコンピュータ等により実現される。
【００１３】
＜印刷サーバの機能構成＞
図２は、印刷サーバ１００の機能構成例を示す図である。
図２に示すように、本実施形態の印刷サーバ１００は、印刷データを取得してデータ処理を行う印刷管理部１１０と、印刷データを蓄積する蓄積部１２０と、画像形成装置２００を制御する印刷制御部１３０とを備える。また、本実施形態の印刷サーバ１００は、印刷データの印刷順の検査を行う検査部１４０を備える。
【００１４】
印刷管理部１１０は、ホストサーバ３００から印刷指示および印刷データを取得し、取得した印刷データを中間データに変換して蓄積部１２０に蓄積させる。ホストサーバ３００から受信する印刷データは、ＰＤＬ（ページ記述言語）で記述されている。そのため、印刷管理部１１０は、受信した印刷データを解析し、機種やデータ処理環境に対する依存度の少ない中間データに変換する。そして、生成した中間データを蓄積部１２０に送る。また、本実施形態の印刷管理部１１０は、印刷データ（中間データ）を蓄積部１２０に蓄積させるために出力する処理（以下、出力処理と呼ぶ）の実行順を記録した履歴情報（以下、出力順リストと呼ぶ）を作成する。
【００１５】
蓄積部１２０は、印刷管理部１１０により中間データに変換された印刷データを一時的に蓄積する。この印刷データの蓄積は、印刷サーバ１００におけるデータ処理の速度に対して、物理的に記録媒体に画像形成を行う画像形成装置２００の処理速度が遅いために、その速度差を吸収するために行われる。したがって、短時間に複数の印刷指示が行われた場合、それらの印刷指示に対応する複数の印刷データが蓄積部１２０に蓄積される場合がある。蓄積された印刷データは、画像形成装置２００において印刷データの受け付けが可能となったならば、順次読み出されて印刷制御部１３０に渡される。
【００１６】
印刷制御部１３０は、いわゆるプリンタ・ドライバであり、画像形成装置２００において印刷データの受け付けが可能であれば、蓄積部１２０から印刷データを取得して、画像形成装置２００へ送信する。上記のように、蓄積部１２０に複数の印刷データが蓄積されている場合は、画像形成装置２００における印刷処理が終了するたびに、蓄積されている印刷データの一つを順次取得して、画像形成装置２００へ送信する。また、本実施形態の印刷制御部１３０は、印刷データを蓄積部１２０から取得して画像形成装置２００へ送信する処理（以下、送信処理と呼ぶ）の実行順を記録した履歴情報（以下、印刷順リストと呼ぶ）を作成する。この印刷順リストは、例えば印刷制御部１３０において画像形成装置２００への送信制御機能を担う、言語モニタやポートモニタにより作成される。なお、画像形成装置２００における印刷処理は、送信処理により送信された印刷データに基づいて行われるので、印刷処理による出力順は、印刷順リストに記録された送信処理の実行順と同一である。
【００１７】
ここで、既存の画像形成システムで用いられる蓄積部１２０には、その仕様上、複数の印刷データが蓄積された場合に、蓄積部１２０から印刷データが読み出される順序が保証されないものがある。すなわち、複数の印刷データが蓄積される順番と読み出される順番とが異なる可能性がある。このようなシステムでは、例えば、印刷ジョブＡ、Ｂ、Ｃの順番で印刷指示が行われた場合であっても、蓄積部１２０から印刷データが読み出される際に順番が入れ替わり、画像形成装置２００において印刷ジョブＡ、Ｃ、Ｂ等の順番で実行されることが起こり得る。
【００１８】
一方、複数の印刷ジョブを実行する際に、印刷指示が行われた順に印刷結果を出力することが要求される場合がある。このような場合、上記のような仕様の蓄積部１２０を有する画像形成システムでは出力結果が印刷指示の順番と一致しているとは限らないため、出力された印刷結果の順序を、手作業等により確認する必要がある。本実施形態では、後述するように、検査部１４０により、印刷制御部１３０による送信処理の検査が行われる。
【００１９】
検査部１４０は、印刷管理部１１０により作成された出力順リストと、印刷制御部１３０により作成された印刷順リストとを比較し、出力処理と送信処理の実行順が異なっていないかを調べる。そして、出力処理と送信処理の実行順が異なっていた場合、検査部１４０は、エラー処理を行う。検査部１４０による処理の詳細については後述する。
【００２０】
ところで、印刷データが蓄積部１２０に蓄積された後、蓄積された印刷データが読み出される前に印刷ジョブの実行を中止（キャンセル）する指示（中止指示）が行われ、印刷ジョブの実行が中止された場合を考える。このとき、中止指示の対象である印刷データは蓄積部１２０から読み出されず、画像形成装置２００において、その印刷データに基づく印刷ジョブは実行されない。そして、中止指示の対象である印刷データの送信処理に関する情報は印刷順リストに記録されないので、出力順リストにおける出力処理の実行順と印刷順リストにおける送信処理の実行順とは一致しない。しかし、この出力順リストと印刷順リストとの不一致は、正当な中止指示に基づく処理（中止処理）の結果なので、エラー処理を行う必要はない。
【００２１】
そこで、印刷管理部１１０がホストサーバ３００から中止指示を受信した場合、検査部１４０は、この中止指示が行われたことを示す情報を印刷管理部１１０から取得し、保持する。そして、出力順リストと印刷順リストとを比較して不一致が検出された場合に、この中止指示の情報に基づいて、エラー処理を行うか否かを判断する。なお、検査部１４０が取得する中止指示の情報は、中止指示が行われたことを印刷管理部１１０から検査部１４０に報知するための何らかの報知情報であっても良いし、中止指示そのものであっても良い。また、中止指示が行われたことを出力順リストに記録することにより検査部１４０に報知するようにしても良い。本実施形態では、出力順リストに中止指示の情報を記録する場合を例として説明する。
【００２２】
＜ハードウェア構成例＞
図３は、印刷サーバ１００のハードウェア構成例を示す図である。
図３に示すコンピュータは、演算手段であるＣＰＵ（Central Processing Unit）１００ａと、主記憶手段であるメモリ１００ｃを備える。また、外部デバイスとして、磁気ディスク装置（ＨＤＤ：Hard Disk Drive）１００ｇ、ネットワーク・インターフェイス１００ｆ、表示機構１００ｄ、音声機構１００ｈ、キーボードやマウス等の入力デバイス１００ｉ等を備える。
【００２３】
図３に示す構成例では、メモリ１００ｃおよび表示機構１００ｄは、システム・コントローラ１００ｂを介してＣＰＵ１００ａに接続されている。また、ネットワーク・インターフェイス１００ｆ、磁気ディスク装置１００ｇ、音声機構１００ｈおよび入力デバイス１００ｉは、Ｉ／Ｏコントローラ１００ｅを介してシステム・コントローラ１００ｂと接続されている。各構成要素は、システム・バスや入出力バス等の各種のバスによって接続される。
【００２４】
なお、図３は、本実施形態が適用されるのに好適なコンピュータのハードウェア構成を例示するに過ぎない。本実施形態は、印刷指示に基づいて画像形成装置２００を制御するサーバ装置に広く適用できるものであり、図示の構成においてのみ本実施形態が実現されるのではない。
【００２５】
図３に示すコンピュータにおいて、磁気ディスク装置１００ｇには、印刷サーバ１００の各機能を実現するためのプログラムが格納されている。そして、このプログラムがメモリ１００ｃにロードされ、このプログラムに基づく処理がＣＰＵ１００ａにより実行されることにより、各種の機能が実現される。
【００２６】
具体的には、印刷管理部１１０における各処理は、例えばアプリケーション・プログラム等として用意されたプログラムに基づいてＣＰＵ１００ａが行う。なお、ホストサーバ３００からの印刷指示および印刷データの受信は、例えばネットワーク・インターフェイス１００ｆを介して行われる。また、印刷データを変換する際には、作業メモリとしてメモリ１００ｃが用いられる。さらに、印刷管理部１１０により作成される出力順リストは、例えばメモリ１００ｃや磁気ディスク装置１００ｇ等の記憶手段に格納される。
【００２７】
蓄積部１２０は、例えばＯＳ（オペレーティング・システム）の機能の一部等として用意されたプログラム・モジュールを実行するＣＰＵ１００ａの制御下で、印刷データの保持手段としてメモリ１００ｃや磁気ディスク装置１００ｇ等の記憶手段を用いることにより実現される。
【００２８】
印刷制御部１３０の各処理は、例えばＯＳの機能の一部等として用意されたプログラム・モジュールに基づいてＣＰＵ１００ａが行う。印刷制御部１３０により作成される印刷順リストは、例えばメモリ１００ｃや磁気ディスク装置１００ｇ等の記憶手段に格納される。
【００２９】
検査部１４０の各処理は、例えばアプリケーション・プログラム等として用意されたプログラムに基づいてＣＰＵ１００ａが行う。エラー処理として、エラーが発生したことを印刷サーバ１００のオペレータに報知する場合は、例えばＣＰＵ１００ａの制御により、表示機構１００ｄを用いてエラー・メッセージを表示したり、音声機構１００ｈを用いて警告音声を出力したりする。
【００３０】
＜印刷管理部の動作＞
図４は、印刷管理部１１０による出力処理の手順を示すフローチャートである。
印刷管理部１１０は、処理対象の印刷ジョブ（以下、対象（カレント）ジョブ）に関して出力処理を開始すると（ステップ４０１）、印刷管理部１１０は、対象ジョブの出力処理が開始されたことを示す履歴情報（開始情報）を出力順リストに登録する（ステップ４０２）。具体的には、例えば図３に示したメモリ１００ｃに保持されている出力順リストのデータ領域に開始情報を書き込む。開始情報は、出力順リストの先頭から順次書き込まれていく。開始情報の書式は、特に限定されないが、少なくとも対象ジョブの識別情報（ジョブ名、ジョブ番号等）と開始情報であることを特定するための情報が記録されていれば良い。
【００３１】
次に、印刷管理部１１０は、印刷データ（中間データ）を出力して蓄積部１２０に格納する。具体的には、まず、中止指示を受け付けたか否かを判断し（ステップ４０３）、受け付けていなければ、印刷データの１ページ分を出力して蓄積部１２０に格納する（ステップ４０４）。これを印刷データの全てのページに対して行うまで繰り返す（ステップ４０５）。
【００３２】
対象ジョブにおける全てのページ分の印刷データを出力した後（ステップ４０５でＮｏ）、または中止指示を受け付けた場合（ステップ４０３でＹｅｓ）、印刷管理部１１０は、対象ジョブに関する出力処理を終了する（ステップ４０６）。そして、印刷管理部１１０は、対象ジョブの出力処理が終了したことを示す履歴情報（終了情報）を出力順リストに登録する（ステップ４０７）。終了情報は、開始情報と同様に、例えば図３に示したメモリ１００ｃに保持されている出力順リストのデータ領域に順次書き込まれる。終了情報の書式は、特に限定されないが、少なくとも対象ジョブの識別情報と終了情報であることを特定するための情報が記録されていれば良い。
【００３３】
図５は、中止指示を受け付けた場合の印刷管理部１１０の処理手順を示すフローチャートである。
図４のステップ４０３で中止指示を受け付けると、印刷管理部１１０は、図４に示したように出力処理を終了する一方で、ステップ４０４およびステップ４０５で蓄積部１２０に格納された印刷データを削除する（ステップ５０１）。そして、印刷管理部１１０は、対象ジョブに対して中止指示が行われたことを示す履歴情報（中止情報）を出力順リストに登録する（ステップ５０２）。中止情報は、終了情報および開始情報と同様に、例えば図３に示したメモリ１００ｃに保持されている出力順リストのデータ領域に順次書き込まれる。中止情報の書式は、特に限定されないが、少なくとも対象ジョブの識別情報と中止情報であることを特定するための情報が記録されていれば良い。
【００３４】
ここで、対象ジョブについて出力処理が終了した後に、その対象ジョブについての中止指示が行われる場合もある。この場合、既に出力処理が終了しているので、図４の動作において中止指示に基づく動作は行われない。しかし、図５に示す印刷データの削除（ステップ５０１）および中止情報の登録（ステップ５０２）は実行される。なお、印刷制御部１３０により蓄積部１２０から印刷データが読み出された後に読み出された印刷データが蓄積部１２０から消去されるシステムの場合、蓄積部１２０から印刷データが読み出された後に中止指示が行われると、印刷管理部１１０が印刷データを削除（ステップ５０１）しようとしても対象の印刷データが蓄積部１２０に存在しないことがあり得る。この場合は、単に中止情報の登録（ステップ５０２）のみが実行される。
【００３５】
＜印刷制御部の動作＞
図６は、蓄積部１２０および印刷制御部１３０による送信処理の手順を示すシステムフロー図である。
図６には、印刷制御部１３０の処理対象（送信対象）である印刷データを保持している蓄積部１２０の動作と、印刷制御部１３０の送信制御機能を担う言語モニタ１３２およびポートモニタ１３３の動作とが記載されている。ここで、蓄積部１２０は、画像形成装置２００において印刷データの受け付けが可能であれば、蓄積されている印刷データを順次出力する。言語モニタ１３２は、蓄積部１２０から出力された印刷データを、ポートモニタ１３３を介して画像形成装置２００へ送信する。また、言語モニタ１３２は、送信処理の経過を示す履歴情報を出力する。ポートモニタ１３３は、言語モニタ１３２から受け取った印刷データを画像形成装置２００へ送信し、送信処理の経過を監視する。
【００３６】
蓄積部１２０は、画像形成装置２００において印刷データの受け付けが可能であれば、まず、対象ジョブを決定して印刷開始指示を出力する（ステップ６０１）。この印刷開始指示は、印刷制御部１３０の言語モニタ１３２およびポートモニタ１３３を経て画像形成装置２００へ送信される。このとき、蓄積部１２０の仕様によっては、蓄積部１２０に印刷データが格納された順番にしたがって送信処理の対象である対象ジョブが決定されるとは限らないことは、上述したとおりである。なお、画像形成装置２００において印刷データの受け付けが可能か否かは、例えばポートモニタ１３３が画像形成装置２００に対して問い合わせの信号を送信し、画像形成装置２００からの応答を蓄積部１２０に送ることにより、蓄積部１２０において判断される。
【００３７】
言語モニタ１３２は、この印刷開始指示を受け取ると、対象ジョブの送信処理が開始されたことを示す履歴情報（開始情報）を印刷順リストに登録する（ステップ６１１）。具体的には、例えば図３に示したメモリ１００ｃに保持されている印刷順リストのデータ領域に開始情報を書き込む。開始情報は、印刷順リストの先頭から順次書き込まれていく。開始情報の書式は、特に限定されないが、少なくとも対象ジョブの識別情報（ジョブ名、ジョブ番号等）と開始情報であることを特定するための情報が記録されていれば良い。
【００３８】
次に、蓄積部１２０は、対象ジョブの印刷データをページごとに順次読み出して印刷制御部１３０に渡す（ステップ６０２）。印刷制御部１３０は、取得した印刷データを、言語モニタ１３２およびポートモニタ１３３により画像形成装置２００へ送信する。
【００３９】
対象ジョブの印刷データが全て送信されると、蓄積部１２０は、対象ジョブの印刷終了指示を出力する（ステップ６０３）。この印刷終了指示は、印刷制御部１３０の言語モニタ１３２およびポートモニタ１３３を経て画像形成装置２００へ送信される。この後、ポートモニタ１３３は、画像形成装置２００から対象ジョブの全ての印刷データの出力が完了した旨の通知を受信すると、この通知を言語モニタ１３２に送る（ステップ６２１）。
【００４０】
言語モニタ１３２は、画像形成装置２００から受信した通知をポートモニタ１３３から受け取ると、対象ジョブの送信処理が終了したことを示す履歴情報（終了情報）を印刷順リストに登録する（ステップ６１２）。終了情報は、開始情報と同様に、例えば図３に示したメモリ１００ｃに保持されている印刷順リストのデータ領域に順次書き込まれる。終了情報の書式は、特に限定されないが、少なくとも対象ジョブの識別情報と終了情報であることを特定するための情報が記録されていれば良い。
【００４１】
以上のようにして、一つの印刷ジョブに関する送信処理が終了する。この後、蓄積部１２０に他の印刷ジョブに関する印刷データが蓄積されていれば、同様にして送信処理が繰り返される。図６を参照すると、引き続き次の対象ジョブについて送信処理が行われている様子が示されている（ステップ６０４、６０５、６１３参照）。そして、この送信処理の実行中に、中止指示が行われている。
【００４２】
図５に示したように、印刷管理部１１０は、中止指示を受け付けると、蓄積部１２０に格納されている印刷データを削除する（ステップ５０１参照）。蓄積部１２０は、印刷データの削除が行われたならば、その印刷データに関する印刷ジョブに対する印刷中止指示を出力する（図６、ステップ６０６）。
【００４３】
言語モニタ１３２は、この印刷中止指示を受け取ると、対象ジョブの送信処理が中止されたことを示す履歴情報（中止情報）を印刷順リストに登録する（ステップ６１４）。中止情報は、終了情報および開始情報と同様に、例えば図３に示したメモリ１００ｃに保持されている印刷順リストのデータ領域に順次書き込まれる。中止情報の書式は、特に限定されないが、少なくとも対象ジョブの識別情報と中止情報であることを特定するための情報が記録されていれば良い。
【００４４】
なお、印刷中止指示が出力されるタイミングとしては、その印刷中止指示に対応する印刷ジョブの送信処理が開始される前、送信処理の実行中、送信処理の終了後の三つが考えられる。送信処理の開始前に中止指示が行われた場合、送信処理は実行されないため、画像形成装置２００において印刷処理は行われない。送信処理の実行中に中止指示が行われた場合、中止指示が行われるまでに送信処理が済んだ印刷データに関しては、画像形成装置２００において印刷処理が行われる。そして、中止指示が行われた際に送信処理が完了していない分の印刷データに関しては、画像形成装置２００において印刷処理は行われない。送信処理の終了後に中止指示が行われた場合、既に印刷ジョブにおける全ての印刷データの送信処理が済んでいるので、画像形成装置２００において印刷ジョブにおける全ての画像が出力される。いずれの場合であっても、中止情報は、言語モニタ１３２から出力されて印刷順リストに登録される。
【００４５】
＜出力順リストおよび印刷順リストの構成例＞
図７は、出力順リストおよび印刷順リストの例を示す図である。
図７（ａ）は、出力順リストを示す。この出力順リスト１１１には、６個の印刷ジョブＡ〜Ｆについての出力処理の履歴情報（開始情報、終了情報、中止情報）が記録されている。個々の履歴情報は、ジョブ名と情報の種別が含まれている。例えば、先頭の履歴情報は、印刷ジョブＡの開始情報であり、「ジョブＡ：開始」となっている。同様に、２行目の履歴情報は、印刷ジョブＡの終了情報であり、「ジョブＡ：終了」となっている。また、１３行目の履歴情報は、印刷ジョブＥの中止情報であり、「ジョブＥ：中止」となっている。
【００４６】
図７（ｂ）は、印刷順リスト１３１を示す。この印刷順リスト１３１には、６個の印刷ジョブＡ〜Ｆについての送信処理の履歴情報（開始情報、終了情報）が記録されている。個々の履歴情報は、図７（ａ）の出力順リスト１１１の履歴情報と同様に、ジョブ名と情報の種別が含まれている。
【００４７】
ここで、図７（ａ）の出力順リスト１１１と図７（ｂ）の印刷順リスト１３１とを比較すると、出力順リスト１１１では、３行目がジョブＢの開始情報、４行目がジョブＢの終了情報、５行目がジョブＣの開始情報、６行目がジョブＣの終了情報となっているのに対し、印刷順リスト１３１では、３行目がジョブＣの開始情報、４行目がジョブＣの終了情報、５行目がジョブＢの開始情報、６行目がジョブＢの終了情報となっている。すなわち、出力処理におけるジョブＢおよびジョブＣの順番と、送信処理におけるジョブＢおよびジョブＣの順番とが入れ替わっている。
【００４８】
また、ジョブＥに対して中止指示が行われたことにより、印刷順リスト１３１にはジョブＥに関する履歴情報が存在しない。そのため、出力順リスト１１１では、９行目と１０行目がジョブＥの開始情報と終了情報、１１行目と１２行目がジョブＦの開始情報と終了情報であるのに対し、印刷順リスト１３１では、９行目と１０行目がジョブＦの開始情報と終了情報になっている。なお、印刷順リスト１３１にジョブＥの中止情報が記録されていないが、これは、図７（ｂ）の印刷順リスト１３１が印刷制御部１３０の言語モニタ１３２から中止情報が出力される前の状態を示しているためである。
【００４９】
＜検査部の動作＞
検査部１４０は、出力順リスト１１１に記録されている履歴情報と印刷順リスト１３１に記録されている履歴情報とを比較し、出力処理が行われた印刷ジョブの順番と送信処理が行われた印刷ジョブの順番が異なっていないかを検査する。検査部１４０による処理の実行順の検査は、印刷ジョブ単位で行われる。したがって、履歴情報のうち、開始情報または終了情報の一方のみに関して、各リスト（出力順リスト１１１および印刷順リスト１３１）での順番を比較すれば良い。本実施形態では、開始情報を用いて各々の処理（出力処理および送信処理）における印刷ジョブの実行順を検査するものとする。
【００５０】
また、検査部１４０は、適当な時間間隔（例えば、数秒ごと）で印刷順リスト１３１を確認し、直前に印刷順リスト１３１を確認した時と比較して登録されているデータが増加している場合に検査処理を行う。このようにすれば、新たな送信処理が行われていない場合には検査処理を省略することができる。印刷順リスト１３１に登録されているデータの増加は、印刷順リスト１３１のデータファイルを開いて登録データの数を調べても良いし、簡易的に印刷順リスト１３１のファイルサイズに基づいて判断しても良い。
【００５１】
図８は、検査部１４０による印刷順の検査処理の手順を示すフローチャートである。
検査部１４０は、まず最初の検査対象となる履歴情報（以下、対象情報）を決定し（ステップ８０１）。ここでは、各リストに登録されている未検査の開始情報のうち、最初に登録された開始情報が、対象情報として決定される。次に、検査部１４０は、決定した対象情報のジョブ名を比較する（ステップ８０２）。
【００５２】
比較した対象情報のジョブ名が一致したならば（ステップ８０２でＹｅｓ）、その対象情報で特定される印刷ジョブに関して、送信処理の実行順（すなわち、画像形成装置２００における印刷処理の実行順）が出力処理の実行順（すなわち、印刷サーバ１００における印刷指示の受け付け順）と同一であることを意味する。したがって、印刷指示の受け付け順と印刷順とが異なっていないので、検査部１４０は、送信処理の実行順（印刷順）が正常であることを示す検査結果と、対象情報のジョブ名とを履歴ファイルに出力する（ステップ８０３）。履歴ファイルに記録される情報の書式は、特に限定されないが、少なくとも印刷ジョブの識別情報（ここではジョブ名）と検査結果の内容を示す情報（ここでは正常であることを示す情報）が記録されていれば良い。この検査結果の履歴ファイルは、例えば図３に示したメモリ１００ｃや磁気ディスク装置１００ｇ等の記憶手段に保持され、画像形成システムのオペレータ等による閲覧が可能となる。
【００５３】
次に、検査部１４０は、対象情報を各リストの次の履歴情報（開始情報）に更新し（ステップ８０４、８０５）、更新した対象情報を比較する（ステップ８０２）。出力順リスト１１１および印刷順リスト１３１のいずれか一方において、最後の履歴情報まで検査した場合は、対象情報を更新できないため（ステップ８０５でＮｏ）、検査処理を終了する。
【００５４】
対象情報の比較においてジョブ名が一致しない場合（ステップ８０２でＮｏ）、次に検査部１４０は、出力順リスト１１１の対象情報のジョブ名による中止情報が、出力順リスト１１１に存在するか否かを調べる（ステップ８０６）。
【００５５】
中止情報が存在する場合、そのジョブ名の印刷ジョブの実行は中止されているので、このジョブ名の不一致は印刷順序の異常の発生を意味しない。したがって、検査部１４０は、検査結果を履歴ファイルに出力しない。ただし、検査部１４０は、印刷ジョブの実行が中止されたことを示すために、この中止情報のジョブ名を中止情報リストに記録する（ステップ８１１）。そして、検査部１４０は、出力順リスト１１１の対象情報のみを次の履歴情報（開始情報）に更新し（ステップ８１２、８０５）、印刷順リスト１３１の対象情報と比較する（ステップ８０２）。
【００５６】
対象情報の比較においてジョブ名が一致せず（ステップ８０２でＮｏ）、出力順リスト１１１の対象情報のジョブ名による中止情報が存在しない場合（ステップ８０６でＮｏ）、次に検査部１４０は、出力順リスト１１１の対象情報のジョブ名が、それまでに作成された検査結果の履歴ファイルに存在するか否かを調べる（ステップ８０７）。ここで、履歴ファイルではなく、印刷順リスト１３１における既に検査を行った履歴情報の中に、出力順リスト１１１の対象情報のジョブ名が存在するか否かを調べる構成とすることも可能である。ただし、出力順リスト１１１および印刷順リスト１３１の登録データは、印刷サーバ１００が有する記憶手段の記憶容量を圧迫しないために、検査が済んだ後は適当なタイミングで消去される。そのため、ステップ８０７でジョブ名を検索する際には、既に消去されている可能性がある。そこで、画像形成システムのオペレータ等による閲覧のために保持される履歴ファイルから対象情報のジョブ名を検索することにより、確実に検索を行うことができる。
【００５７】
なお、履歴ファイルは、画像形成システムのオペレータ等による閲覧されるものであるため、予め定められた期間は保存される。したがって、画像形成システムや本実施形態による印刷順の検査機能の再起動等が行われた場合、再起動以前の検査結果の情報も保存されている。しかし、現在の検査においては、最後に印刷順の検査機能が起動された後の記録に、出力順リスト１１１の対象情報のジョブ名が存在するか否かを調べれば良い。したがって、ステップ８０７の検索を行う際には、遡って検索する対象を今回の検査機能の起動時までとして良い。
【００５８】
検査結果の履歴ファイルに対象情報のジョブ名が存在する場合、そのジョブ名の印刷ジョブは既に実行されており、印刷順序の異常が発生したことを意味する。また、出力順リスト１１１における対象情報の順番は、そのジョブ名の印刷ジョブに対する送信処理が本来実行されるはずであった順番を示している。したがって、検査部１４０は、送信処理が本来実行されるはずであった順番を示す検査結果（異常１）と、出力順リスト１１１の対象情報のジョブ名とを履歴ファイルに出力する（ステップ８１３）。そして、検査部１４０は、出力順リスト１１１の対象情報のみを次の履歴情報（開始情報）に更新し（ステップ８１４、８０５）、印刷順リスト１３１の対象情報と比較する（ステップ８０２）。
【００５９】
対象情報の比較においてジョブ名が一致せず（ステップ８０２でＮｏ）、出力順リスト１１１の対象情報のジョブ名による中止情報が存在せず（ステップ８０６でＮｏ）、出力順リスト１１１の対象情報のジョブ名が、それまでに作成された検査結果の履歴ファイルに存在しない場合（ステップ８０７でＮｏ）、次に検査部１４０は、印刷順リスト１３１の対象情報のジョブ名が、出力順リスト１１１の未検査の範囲に存在するか否かを調べる（ステップ８０８）。
【００６０】
出力順リスト１１１の未検査の範囲に対象情報のジョブ名が存在する場合、そのジョブ名の印刷ジョブに対する送信処理が本来実行されるべき順番は現時点よりも後であり、印刷順序の異常が発生したことを意味する。したがって、検査部１４０は、本来実行されるはずの順番よりも前に送信処理が実行されたことを示す検査結果（異常２）と、印刷順リスト１３１の対象情報のジョブ名とを履歴ファイルに出力する（ステップ８１５）。そして、検査部１４０は、印刷順リスト１３１の対象情報のみを次の履歴情報（開始情報）に更新し（ステップ８１６、８０５）、出力順リスト１１１の対象情報と比較する（ステップ８０２）。
【００６１】
対象情報の比較においてジョブ名が一致せず（ステップ８０２でＮｏ）、出力順リスト１１１の対象情報のジョブ名による中止情報が存在せず（ステップ８０６でＮｏ）、出力順リスト１１１の対象情報のジョブ名が、それまでに作成された検査結果の履歴ファイルに存在せず（ステップ８０７でＮｏ）、印刷順リスト１３１の対象情報のジョブ名が、出力順リスト１１１の未検査の範囲に存在しない場合（ステップ８０８でＮｏ）、次に検査部１４０は、印刷順リスト１３１の対象情報のジョブ名が、中止情報リストに存在するか否かを調べる（ステップ８０９）。
【００６２】
中止情報リストに対象情報のジョブ名が存在する場合、そのジョブ名の印刷ジョブに対して中止指示が行われたものの、蓄積部１２０における印刷データの削除が間に合わず、送信処理が行われたことを意味する。そして、この印刷ジョブが実行されることにより、印刷処理は印刷指示が行われた順番とは異なる順番で行われることになり、印刷順序の異常が発生する。したがって、検査部１４０は、本来実行されるはずの順番よりも前に送信処理が実行されたことを示す検査結果（異常２）と、印刷順リスト１３１の対象情報のジョブ名とを履歴ファイルに出力する（ステップ８１７）。そして、検査部１４０は、印刷順リスト１３１の対象情報のみを次の履歴情報（開始情報）に更新し（ステップ８１８、８０５）、出力順リスト１１１の対象情報と比較する（ステップ８０２）。
【００６３】
対象情報の比較においてジョブ名が一致せず（ステップ８０２でＮｏ）、出力順リスト１１１の対象情報のジョブ名による中止情報が存在せず（ステップ８０６でＮｏ）、出力順リスト１１１の対象情報のジョブ名が、それまでに作成された検査結果の履歴ファイルに存在せず（ステップ８０７でＮｏ）、印刷順リスト１３１の対象情報のジョブ名が、出力順リスト１１１の未検査の範囲に存在せず（ステップ８０８でＮｏ）、印刷順リスト１３１の対象情報のジョブ名が、中止情報リストに存在しない場合（ステップ８０９でＮｏ）、単なる印刷順序の変更とは異なる異常が発生している可能性がある。そこで、検査部１４０は、異常の発生を印刷サーバ１００のオペレータに報知する（ステップ８１０）。異常発生の報知は、例えば、図３に示した表示機構１００ｄを用いてエラー・メッセージを表示したり、音声機構１００ｈを用いて警告音声を出力したりすることにより行われる。また、画像形成システムにとって深刻な異常である可能性があるならば、印刷ジョブの実行を強制的に停止させる制御を行うことも考えられる。
【００６４】
本実施形態では、上記のように、出力順リスト１１１および印刷順リスト１３１が一致しない場合に関して、４種類の場面（図８のステップ８０６〜８０９参照）を想定している。このうち、印刷ジョブの実行が中止された場合（ステップ８０６参照）を除いて、不正な順番で印刷ジョブが実行されることになる。したがって、検査部１４０は、印刷順序の異常が発生したことを印刷サーバ１００のオペレータ等に報知するためのエラー処理を行う。上記の例では、エラー処理として、印刷サーバ１００のオペレータ等が閲覧可能な検査結果の履歴ファイルに、印刷順序の異常が発生したことを示す情報を記録した。この他、ステップ８１０で行われる異常の報知と同様に、表示機構１００ｄを用いたエラー表示や音声機構１００ｈを用いた警告音声の出力等を行っても良い。
【００６５】
また、エラー処理が行われる場面の種類に応じて、異なるエラー処理を行っても良い。例えば、本来実行されるはずの順番よりも前に送信処理が実行された場合（ステップ８０８を参照）は、エラー表示や警告音声の出力を行い、その他の場合は、エラー表示や警告音声の出力を行わずに、履歴ファイルへの情報の記録のみを行うようにしても良い。各場面に対してどのようなエラー処理を適用するかは、本実施形態のシステムの利用者等による選択を受け付けて設定することができる。
【００６６】
なお、上記の動作例では、ステップ８０６で出力順リスト１１１の対象情報のジョブ名による中止情報が存在した場合、この中止情報のジョブ名を中止情報リストに記録した（ステップ８１１参照）。そして、ステップ８０９において、印刷順リスト１３１の対象情報のジョブ名が中止情報リストに存在するか否かを調べ、印刷ジョブに対して中止指示が行われたか否かを判断した。ここで、中止情報リストを作成せず、ステップ８０９において中止情報リストを調べる代わりに、出力順リスト１１１の未検査の範囲に中止情報が存在するか否かを調べることもできる。しかし、中止情報の有無を調べる度に、多くの履歴情報が記録された出力順リスト１１１を先頭の履歴情報から順に検索することは、処理における重複が多く、効率が悪い。また、出力順リスト１１１および印刷順リスト１３１は、印刷サーバ１００が有する記憶手段の記憶容量は有限であるため、データ量や期間等の適当な条件に基づいて登録データが消去される。そこで、出力順リスト１１１とは別に中止情報リストを作成し、ステップ８０９ではこの中止情報リストを検索することにより、処理効率の向上を図ると共に、出力順リスト１１１から消去されても中止情報の検索を可能とすることができる。さらに、中止情報リストを保持しておき、印刷サーバ１００のオペレータ等が閲覧可能とすることにより、印刷ジョブに対して中止指示が行われたことをオペレータ等が確認することが可能となる。
【００６７】
ところで、出力順リスト１１１および印刷順リスト１３１に関して、データ量や期間等の適当な条件に基づいて登録データが消去されると述べた。具体的には、例えば次のように出力順リスト１１１および印刷順リスト１３１の消去処理を行うことができる。すなわち、出力順リスト１１１および印刷順リスト１３１に関して、予め上限値となるサイズを決定しておく。このサイズは、リスト自身のデータサイズやリストに登録される履歴情報の数等で設定される。そして、印刷指示が行われるたびに各リストに履歴情報が追加的に記録されていき、上限値のサイズに達したならば、新たなリストが作成される。そして、次の履歴情報は、この新たなリストに記録される。上限値のサイズに達したリストは、検査部１４０による検査が継続され、リストに登録されている全ての履歴情報について検査が済んだならば、そのリストは削除される。このようにして、既に検査の済んだ履歴情報を消去していくことにより、印刷サーバ１００のハードウェア資源を節約することができる。
【００６８】
なお、上記図８に示した動作例では、ステップ８０６、８０７、８０８、８０９の順に判断を行ったが、このうち、ステップ８０６、８０７、８０８については、順番を入れ替えて行っても良い。また、印刷ジョブの識別情報として、例えば一定個数のジョブ名やジョブ番号をサイクリックに（循環的に）用いる場合は、ステップ８０６、８０７、８０８の判断の後にステップ８０９の判断を行う必要があるが、各識別情報が一意に特定される場合は、ステップ８０９の判断を先に行うことも可能である。
【００６９】
＜履歴情報の検査例＞
図９は、図７に示した各リストの開始情報のみを並べたリストおよび検査結果の履歴ファイルの具体例を示す図である。
検査部１４０による検査について、図９に示す具体例に基づいてさらに説明する。図９（ａ）に示す出力順リスト１１１および図９（ｂ）に示す印刷順リスト１３１には、図７（ａ）、（ｂ）の各リストと同一の符号を付している。また、図９（ａ）、（ｂ）の各リストには、開始情報のジョブ名のみを記載している。また、図９（ｃ）に示す履歴ファイル１４１において、検査結果を表す情報（「正常」または図８の例に示した「異常１」、「異常２」）が、各履歴情報に付加されている。
【００７０】
検査部１４０は、まず、図９（ａ）、（ｂ）に示す出力順リスト１１１および印刷順リスト１３１の先頭の開始情報を対象情報とし、比較する（図８、ステップ８０１、８０２参照）。ここでは、対象情報は、共に「ジョブＡ」で一致しているので、印刷順は正常と判断される。そして、検査部１４０は、履歴ファイル１４１にジョブ名「ジョブＡ」および検査結果「正常」を記録する。
【００７１】
次に、検査部１４０は、両リストの対象情報を更新し、比較する（ステップ８０４、８０５、８０２参照）。ここでは、出力順リスト１１１の対象情報が「ジョブＢ」であり、印刷順リスト１３１の対象情報が「ジョブＣ」であるので、不一致である。
【００７２】
検査部１４０は、次に、ジョブＢの中止情報が出力順リスト１１１に存在するかを調べる（ステップ８０６参照）。図７を参照して説明したように、ジョブＢの中止情報は存在しない（中止指示は行われていない）。したがって、検査部１４０は、次に、ジョブＢの検査結果が履歴ファイル１４１に存在するかを調べる（ステップ８０７参照）。ここでは、履歴ファイル１４１にはジョブＡの検査結果しか存在していない。したがって、検査部１４０は、次に、ジョブＣの開始情報が出力順リスト１１１の未検査範囲に存在するかを調べる（ステップ８０８参照）。ここでは、出力順リスト１１１のジョブＢの次にジョブＣの開始情報が存在する。したがって、印刷順は異常であり、本来実行されるはずの順番よりも前に送信処理が実行されたと判断される。そして、検査部１４０は、履歴ファイル１４１にジョブ名「ジョブＣ」および検査結果「異常２」を記録する。
【００７３】
次に、検査部１４０は、印刷順リスト１３１の対象情報を更新し、比較する（ステップ８１６、８０５、８０２参照）。ここでは、共に「ジョブＢ」で一致しているので、印刷順は正常と判断される。そして、検査部１４０は、履歴ファイル１４１にジョブ名「ジョブＢ」および検査結果「正常」を記録する。
【００７４】
次に、検査部１４０は、両リストの対象情報を更新し、比較する（ステップ８０４、８０５、８０２参照）。ここでは、出力順リスト１１１の対象情報が「ジョブＣ」であり、印刷順リスト１３１の対象情報が「ジョブＤ」であるので、不一致である。
【００７５】
検査部１４０は、次に、ジョブＣの中止情報が出力順リスト１１１に存在するかを調べる（ステップ８０６参照）。図７を参照して説明したように、ジョブＣの中止情報は存在しない（中止指示は行われていない）。したがって、検査部１４０は、次に、ジョブＣの検査結果が履歴ファイル１４１に存在するかを調べる（ステップ８０７参照）。ここでは、履歴ファイル１４１の２番目にジョブＣの検査結果が存在している。したがって、印刷順は異常であり、ジョブＣが本来実行されるはずであった順番は現在であると判断される。そして、検査部１４０は、履歴ファイル１４１にジョブ名「ジョブＣ」および検査結果「異常１」を記録する。
【００７６】
次に、検査部１４０は、出力順リスト１１１の対象情報を更新し、比較する（ステップ８１４、８０５、８０２参照）。ここでは、共に「ジョブＤ」で一致しているので、印刷順は正常と判断される。そして、検査部１４０は、履歴ファイル１４１にジョブ名「ジョブＤ」および検査結果「正常」を記録する。
【００７７】
次に、検査部１４０は、両リストの対象情報を更新し、比較する（ステップ８０４、８０５、８０２参照）。ここでは、出力順リスト１１１の対象情報が「ジョブＥ」であり、印刷順リスト１３１の対象情報が「ジョブＦ」であるので、不一致である。
【００７８】
検査部１４０は、次に、ジョブＥの中止情報が出力順リスト１１１に存在するかを調べる（ステップ８０６参照）。図７を参照して説明したように、ジョブＥの中止情報は存在する（中止指示が行われている）。したがって、検査部１４０は、中止情報リスト（不図示）にジョブ名「ジョブＥ」を記録する。
【００７９】
次に、検査部１４０は、出力順リスト１１１の対象情報を更新し、比較する（ステップ８１２、８０５、８０２参照）。ここでは、共に「ジョブＦ」で一致しているので、印刷順は正常と判断される。そして、検査部１４０は、履歴ファイル１４１にジョブ名「ジョブＦ」および検査結果「正常」を記録する。以上のようにして、ジョブＦまでの検査が完了し、検査結果が履歴ファイル１４１に記録された。
【００８０】
ここで、図９（ｃ）の履歴ファイル１４１を参照すると、検査結果は、「ジョブＡ：正常」、「ジョブＣ：異常２」、「ジョブＢ：正常」、「ジョブＣ：異常１」、「ジョブＤ：正常」、「ジョブＦ：正常」となっている。すなわち、この記録から、正常な印刷順序はジョブＡ→ジョブＢ→ジョブＣ→ジョブＤ→ジョブＦと実行される順であるが、ジョブＢとジョブＣの順番が入れ替わる異常が発生したことがわかる。
【００８１】
＜中止指示が行われた場合の履歴情報の検査例＞
図９に示した例では、ジョブ名「ジョブＥ」の印刷ジョブに対して、出力処理が行われた後に中止指示が行われ、これに基づいて、この印刷ジョブの送信処理が中止された。しかし、図６を参照して印刷制御部１３０の処理手順を説明した際に述べたように、実際には、中止指示が行われたタイミングによっては、中止対象の印刷ジョブに対して送信処理が行われてしまうことがある。以下、中止指示が行われた場合の検査部１４０の処理について、具体例を挙げて説明する。なお、送信処理の実行中に中止指示が受け付けられて、中止対象の印刷ジョブの途中まで印刷処理が行われるが、ここでは、この場合は印刷ジョブに基づく印刷処理が実行されたものとして扱う。また、図９の例による説明と同様に、出力順リスト１１１と印刷順リスト１３１の検査は、開始情報を比較することによって行うものとする。
【００８２】
図１０および図１１は、中止指示が行われた場合の検査部１４０による検査の例を示す図である。
図１０および図１１に示す例では、４個の印刷ジョブＡ〜Ｄについて印刷指示が行われ、その後に印刷ジョブＢについて中止指示が行われた場合の検査結果が記載されている。図１０（ａ）〜（ｃ）は中止指示に基づいて送信処理が行われなかった場合を示し、図１１（ａ）〜（ｃ）は中止指示の受け付けが間に合わずに送信処理が行われた場合を示す。なお、図１０および図１１の出力順リスト１１１および印刷順リスト１３１は、各履歴情報の開始情報と中止情報のみを並べた状態を示す（中止情報にはその旨を明示）。
【００８３】
中止指示に基づいて送信処理が行われなかった場合の動作は、図９を参照して、ジョブ名「ジョブＥ」およびジョブ名「ジョブＦ」の履歴情報に対する検査について説明した動作と同様である。すなわち、図１０（ａ）に示すように、印刷ジョブＢに対して中止指示が行われたことにより、出力順リスト１１１にはジョブＢの開始情報および中止情報が記録されている。一方、図１０（ｂ）に示すように、送信処理が行われなかったため、印刷順リスト１３１にはジョブＢの履歴情報が存在しない。そして、図１０（ｃ）に示すように、検査結果においては、「ジョブＡ」、「ジョブＣ」、「ジョブＤ」について検査結果「正常」が記録されている。
【００８４】
これに対し、中止指示の受け付けが間に合わずに送信処理が行われた場合の動作では、図１１（ｂ）に示すように、印刷順リスト１３１においてもジョブＢの開始情報が記録されている。この場合、図１１（ａ）の出力順リスト１１１と図１１（ｂ）の印刷順リスト１３１とを比較すると、各ジョブ名の開始情報が同じ順番で記録されている。そのため、図１１（ｃ）に示すように、検査結果においては、「ジョブＡ」〜「ジョブＤ」の全てについて検査結果「正常」が記録されている。この動作例では、ジョブＢに対する中止指示を無視することになるが、印刷指示が行われた順番に対して印刷順が変更されてはいないので、印刷順の検査における問題は生じていない。なお、比較対象の開始情報のジョブ名が一致している場合にまで、出力順リスト１１１に中止情報が記録されていないか検索することは、処理効率の多大な低下を招く。したがって、本実施形態のように、中止指示への対応を行わないことにより、処理効率の低下を抑制することができる。
【００８５】
図１２は、中止指示が行われ、かつ印刷順序の異常が発生した場合の検査部１４０による検査の例を示す図である。
図１２に示す例では、図１０および図１１と同様に、４個の印刷ジョブＡ〜Ｄについて印刷指示が行われ、その後に印刷ジョブＢについて中止指示が行われた場合の検査結果が記載されている。図１２（ａ）〜（ｃ）は、中止指示の受け付けが間に合わずに送信処理が行われ、さらに送信処理の順番が出力処理の順番とは異なっている場合を示している。なお、図１２の出力順リスト１１１および印刷順リスト１３１は、各履歴情報の開始情報と中止情報のみを並べた状態を示す（中止情報にはその旨を明示）。
【００８６】
中止指示の受け付けが間に合わずに送信処理が行われ、かつ送信処理の順番が出力処理の順番とは異なっている場合の動作は、図８のフローチャートにしたがって、次のようになる。
【００８７】
まず、図１２（ａ）に示す出力順リスト１１１の先頭の「ジョブＡ」と図１２（ｂ）に示す印刷順リスト１３１の先頭の「ジョブＡ」が対象情報として比較され、図１２（ｃ）の履歴ファイル１４１に示すように、「ジョブＡ」について検査結果「正常」が記録される。
【００８８】
次に、各リストの対象情報が更新されて、出力順リスト１１１の「ジョブＢ」と印刷順リスト１３１の「ジョブＣ」が比較される。ここで、出力順リスト１１１にはジョブＢの中止情報が記録されているので、ジョブＢの中止情報が中止情報リスト（不図示）に記録され、出力順リスト１１１の対象情報が更新される。そして、出力順リスト１１１の「ジョブＣ」と印刷順リスト１３１の「ジョブＣ」が比較され、ジョブ名が一致するので、図１２（ｃ）の履歴ファイル１４１に示すように、「ジョブＣ」について検査結果「正常」が記録される。
【００８９】
次に、各リストの対象情報が更新されて、出力順リスト１１１の「ジョブＤ」と印刷順リスト１３１の「ジョブＢ」が比較される。ここで、出力順リスト１１１にはジョブＤの中止情報は記録されていない。また、この時点で履歴ファイル１４１にはジョブＢの検査結果は記録されていない。そして、中止情報リストにはジョブＢの中止情報が記録されている。したがって、図８のステップ８０９〜８１８にしたがって、図１２（ｃ）の履歴ファイル１４１に示すように、「ジョブＢ」について検査結果「異常２」が記録され、印刷順リスト１３１の対象情報が更新される。そして、出力順リスト１１１の「ジョブＤ」と印刷順リスト１３１の「ジョブＤ」が比較され、ジョブ名が一致するので、図１２（ｃ）の履歴ファイル１４１に示すように、「ジョブＤ」について検査結果「正常」が記録される。
【００９０】
ここで、図１２（ｃ）の履歴ファイル１４１を参照すると、検査結果は、「ジョブＡ：正常」、「ジョブＣ：正常」、「ジョブＢ：異常２」、「ジョブＤ：正常」となっている。すなわち、この記録から、正常な印刷順序はジョブＡ→ジョブＣ→ジョブＤと実行される順であるが、ジョブＣとジョブＤの間に余計なジョブＢの実行が挿入される異常が発生したことがわかる。
【００９１】
ところで、図９に示すジョブＡからジョブＤまでの開始情報に対する検査は、図１２に示す例と同様の印刷順序の異常が発生しているが、ジョブＢに対する中止指示が行われていない場合に相当する。そこで、図１２と図９における各リストの対応部分とを比較すると、出力順リスト１１１の開始情報は、どちらも「ジョブＡ」、「ジョブＢ」、「ジョブＣ」、「ジョブＤ」の順で並んでいる。また、印刷順リスト１３１の開始情報は、どちらも「ジョブＡ」、「ジョブＣ」、「ジョブＢ」、「ジョブＤ」の順で並んでいる。しかし、検査結果の履歴ファイル１４１は、図９の対応部分では、「ジョブＡ：正常」、「ジョブＣ：異常２」、「ジョブＢ：正常」、「ジョブＣ：異常１」、「ジョブＤ：正常」となっており、図１２（ｃ）の検査結果とは異なっている。すなわち、本実施形態によれば、出力順リスト１１１および印刷順リスト１３１における開始情報の並びが同一であっても、中止情報の有無に応じて検査結果が異なるため、印刷順序の異常の内容を正しく判断することができるようになっている。
【００９２】
以上、本実施形態について説明したが、本発明の技術的範囲は上記実施形態に記載の範囲には限定されない。上記実施形態に、種々の変更または改良を加えたものも、本発明の技術的範囲に含まれることは、特許請求の範囲の記載から明らかである。
【００９３】
例えば、上記の実施形態では、図１に示したように、印刷サーバ１００と画像形成装置２００とをデータ接続し、ネットワークを介してホストサーバ３００から印刷サーバ１００に印刷指示等を送信するシステム構成としたが、かかるシステム構成には限定されない。例えば、印刷サーバ１００の機能を備えた画像形成装置を含む構成としても良いし、ホストサーバ３００を介さずに、印刷サーバ１００に直接接続された端末装置（パーソナルコンピュータ等）から印刷指示等を行うようにしても良い。
【符号の説明】
【００９４】
１００…印刷サーバ、１１０…印刷管理部、１２０…蓄積部、１３０…印刷制御部、１４０…検査部、２００…画像形成装置
【図１】
2014106824.tif 000003
【図２】
2014106824.tif 000004
【図３】
2014106824.tif 000005
【図４】
2014106824.tif 000006
【図５】
2014106824.tif 000007
【図６】
2014106824.tif 000008
【図７】
2014106824.tif 000009
【図８】
2014106824.tif 000010
【図９】
2014106824.tif 000011
【図１０】
2014106824.tif 000012
【図１１】
2014106824.tif 000013
【図１２】
2014106824.tif 000014