(57)【要約】【課題】本発明の課題は、ネットワークを介して接続される画像形成装置から印刷パラメータと画像形成される文書データとを格納し、該印刷パラメータと該文書データとを該画像形成装置と１つ以上の他の画像形成装置とに提供することによって、該文書データに対する画像形成処理を分散して行わせることができるデータ保存装置を提供することを目的とする。【解決手段】本発明の課題は、画像形成パラメータと画像形成すべき対象データの保存を要求する保存要求に応じて、該画像形成パラメータと該対象データとを保存する保存手段と、複数の画像形成装置から送信される上記画像形成パラメータと上記対象データの取得を要求する取得要求に対して、該取得要求で指定される該対象データの全部又は一部をロックして該対象データと該画像形成パラメータとを提供する提供手段とを有するデータ保存装置によって達成される。【選択図】  図１
2004265092.tif 000002
【特許請求の範囲】
【請求項１】
画像形成パラメータと画像形成すべき対象データの保存を要求する保存要求に応じて、該画像形成パラメータと該対象データとを保存する保存手段と、
複数の画像形成装置から送信される上記画像形成パラメータと上記対象データの取得を要求する取得要求に対して、該取得要求で指定される該対象データの全部又は一部をロックして該対象データと該画像形成パラメータとを提供する提供手段とを有することを特徴とするデータ保存装置。
【請求項２】
上記保存手段は、上記画像形成パラメータと上記対象データとを保存する際、上記保存要求で指定される該対象データの全部又は一部をロックすることを特徴とする請求項１記載のデータ保存装置。
【請求項３】
ロックされた上記対象データの全部又は一部のロック時間が所定ロック時間を経過したか否かを判断するロック時間経過判断手段と、
上記ロック時間経過判断手段による判断結果に基づいて、ロックを解除するロック解除手段とを有することを特徴とする請求項１又は２記載のデータ保存装置。
【請求項４】
上記対象データの全部又は一部を削除する削除要求に応じて、該対象データの全部又は一部を削除する削除手段を有することを特徴とする請求項１乃至３のいずれか一項記載のデータ保存装置。
【請求項５】
ネットワークを介して上記複数の画像形成装置との間で共通に通信可能とする装置間インターフェースプロトコルに従って通信制御を行う通信制御手段を有することを特徴とする請求項１乃至４のいずれか一項記載のデータ保存装置。
【請求項６】
上記通信制御手段から通知される上記複数の画像形成装置からの要求を解析する要求解析手段と、
上記要求解析手段から通知される上記要求にて指定されるコマンドに応じて、上記保存手段、上記提供手段、及び、上記削除手段のいずれかに処理を振り分けることによって、該画像形成パラメータと該対象データとの管理を行う管理手段とを有することを特徴とする請求項５記載のデータ保存装置。
【請求項７】
上記管理手段から通知される上記処理の結果を示す応答を生成し、上記要求をした画像形成装置へ上記通信制御手段によって送信する応答処理手段を有することを特徴とする請求項６記載のデータ保存装置。
【請求項８】
ネットワークを介して、画像形成処理に関する情報を保存する複数の保存装置と、画像形成処理を実行する１つの画像形成装置とが接続される画像形成システムにおいて、該複数の保存装置から該情報を取得して該画像形成処理を行う画像形成方法において、
上記画像形成装置が、上記ネットワークを介して上記複数の保存装置との間で共通に通信可能とする装置間インターフェースプロトコルに従って、画像形成パラメータと画像形成すべき対象データの保存を要求する保存要求を上記複数の保存装置に対して行う複数保存要求手順と、
上記保存要求を受信した上記複数の保存装置各々が、同一の上記画像形成パラメータと上記対象データとを保存する保存手順と、
上記画像形成装置が、上記装置間インターフェースプロトコルに従って、上記画像形成パラメータと上記対象データの取得を要求する取得要求を上記複数の保存装置の１つに行い、該保存装置の障害により該画像形成パラメータと該対象データが取得不可能な場合に、他の保存装置に対して同様の取得要求を行う取得要求手順と、
上記取得要求を受信した上記他の保存装置が、該取得要求で指定される該対象データの全部又は一部をロックして該対象データと該画像形成パラメータとを上記装置間インターフェースプロトコルに従って提供する提供手順とを有することを特徴とする画像形成方法。
【請求項９】
ネットワークを介して、画像形成処理に関する情報を保存する複数の保存装置と、画像形成処理を実行する複数の画像形成装置とが接続される画像形成システムにおいて、各画像形成装置が該複数の保存装置いずれか１つから該情報を取得して該画像形成処理を行う画像形成方法において、
上記複数の画像形成装置の１つが、上記ネットワークを介して上記複数の保存装置との間で共通に通信可能とする装置間インターフェースプロトコルに従って、画像形成パラメータと画像形成すべき対象データの保存を要求する保存要求を上記複数の保存装置に対して行う複数保存要求手順と、
上記保存要求を受信した上記複数の保存装置各々が、同一の上記画像形成パラメータと上記対象データとを保存する保存手順と、
上記保存要求を行った上記画像形成装置が、上記装置間インターフェースプロトコルに従って、他の複数の画像形成装置に対して画像形成要求を行う複数画像形成要求手順と、
上記複数の画像形成装置各々が、上記装置間インターフェースプロトコルに従って、上記画像形成パラメータと上記対象データの取得を要求する取得要求を上記複数の保存装置の１つに行い、該保存装置の障害により該画像形成パラメータと該対象データが取得不可能な場合に、他の保存装置に対して同様の取得要求を行う取得要求手順と、
上記取得要求を受信した上記他の保存装置が、該取得要求で指定される該対象データの全部又は一部をロックして該対象データと該画像形成パラメータとを上記装置間インターフェースプロトコルに従って提供する提供手順とを有することを特徴とする画像形成方法。
【請求項１０】
画像形成パラメータと画像形成すべき対象データの保存を要求する保存要求に応じて、該画像形成パラメータと該対象データとを保存する保存手順と、
複数の画像形成装置から送信される上記画像形成パラメータと上記対象データの取得を要求する取得要求に対して、該取得要求で指定される該対象データの全部又は一部をロックして該対象データと該画像形成パラメータとを提供する提供手順とを有することを特徴とするデータ保存方法。
【請求項１１】
ロックされた上記対象データの全部又は一部のロック時間が所定ロック時間を経過したか否かを判断するロック時間経過判断手順と、
上記ロック時間経過判断手順による判断結果に基づいて、ロックを解除するロック解除手順とを有することを特徴とする請求項１０記載のデータ保存方法。
【請求項１２】
上記対象データの全部又は一部を削除する削除要求に応じて、該対象データの全部又は一部を削除する削除手順を有することを特徴とする請求項１０又は１１記載のデータ保存方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、データ保存要求に応じてデータを保存し、データ取得要求に応じて保存されたデータを提供するデータ保存装置に関し、特に、ネットワークを介して接続される画像形成装置から印刷パラメータと画像形成される文書データとを格納し、該印刷パラメータと該文書データとを該画像形成装置と１つ以上の他の画像形成装置とに提供することによって、該文書データに対する画像形成処理を分散して行わせることができるデータ保存装置を提供するものである。
【０００２】
【従来の技術】
ネットワークを介してプリンタと接続されるＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）から印刷を該プリンタに行わせる際、プリンタ側での紙切れ、紙詰まり、トナー切れ等の要因によって印刷が中断されることがあった。そこで、必ず印刷されるようにするために、複数のプリンタと接続され、それらプリンタへの印刷処理を制御するサーバによって、印刷が中断された場合には、他プリンタへ処理を切り替えるようにすることが可能となった。
【０００３】
【発明が解決しようとする課題】
しかしながら、上記従来のサーバを備えたプリンタシステムでは、該サーバに接続されるプリンタの設定等を行う利用者による作業を必要としていた。そのため、プリンタを追加又は取り除かれる等によって該サーバへの接続されるプリンタの構成が変更した際には、その都度、利用者によって設定を変更しなければならなかった。
【０００４】
そこで、本発明の課題は、ネットワークを介して接続される画像形成装置から印刷パラメータと画像形成される文書データとを格納し、該印刷パラメータと該文書データとを該画像形成装置と１つ以上の他の画像形成装置とに提供することによって、該文書データに対する画像形成処理を分散して行わせることができるデータ保存装置を提供するものである。
【０００５】
【課題を解決するための手段】
上記課題を解決するため、本発明は、請求項１に記載されるように、画像形成パラメータと画像形成すべき対象データの保存を要求する保存要求に応じて、該画像形成パラメータと該対象データとを保存する保存手段と、複数の画像形成装置から送信される上記画像形成パラメータと上記対象データの取得を要求する取得要求に対して、該取得要求で指定される該対象データの全部又は一部をロックして該対象データと該画像形成パラメータとを提供する提供手段とを有するように構成される。
【０００６】
このようなデータ保存装置では、画像形成パラメータと画像形成すべき対象データを保存し、保存した画像形成パラメータと画像形成すべき対象データが要求される場合には、該対象データの全部又は一部をロックする。従って、同一の画像形成パラメータと画像形成すべき対象データが要求された場合に、重複して提供しないように制御することができる。
【０００７】
また、本発明は、請求項２に記載されるように、上記保存手段は、上記画像形成パラメータと上記対象データとを保存する際、上記保存要求で指定される該対象データの全部又は一部をロックするように構成することができる。
【０００８】
このようなデータ保存装置では、保存要求によって、対象データの全部又は一部（例えば、ジョブ又はページ）をロックすることができるため、主プリンタは、保存要求を行うと共に、即座に印刷処理を行うことができる。
【０００９】
また、本発明は、請求項３に記載されるように、ロックされた上記対象データの全部又は一部のロック時間が所定ロック時間を経過したか否かを判断するロック時間経過判断手段と、上記ロック時間経過判断手段による判断結果に基づいて、ロックを解除するロック解除手段とを有するように構成することができる。
【００１０】
このようなデータ保存装置では、上記取得要求に応じてロックした対象データが所定ロック時間を経過した場合、ロックを解除する。従って、取得要求をした画像形成装置にて障害が発生し、対象データの画像形成処理が完了しない状態になった場合においても、データ保存装置側にてロックを解除することができるため、他の画像形成装置から対象データの取得要求があった場合、ロックが解除された対象データを提供することができる。つまり、他の画像形成装置にて画像形成処理を完了させることができる。
【００１１】
更に、本発明は、請求項４に記載されるように、上記対象データの全部又は一部を削除する削除要求に応じて、該対象データの全部又は一部を削除する削除手段を有するように構成することができる。
【００１２】
このようなデータ保存装置では、画像形成処理が完了した対象データの全部又は一部を削除する削除要求に応じて削除するため、データ保存装置の資源を他の対象データのために使用することができる。
【００１３】
また、本発明は、請求項５に記載されるように、ネットワークを介して上記複数の画像形成装置との間で共通に通信可能とする装置間インターフェースプロトコルに従って通信制御を行う通信制御手段を有するように構成することができる。
【００１４】
このようなデータ保存装置では、装置間インターフェースプロトコル（例えば、ＢＭＬｉｎｋＳ）で通信可能であればいかなる画像形成装置も画像形成パラメータと画像形成すべき対象データを保存することができる。
【００１５】
更に、本発明は、請求項６に記載されるように、上記通信制御手段から通知される上記複数の画像形成装置からの要求を解析する要求解析手段と、上記要求解析手段から通知される上記要求にて指定されるコマンドに応じて、上記保存手段、上記提供手段、及び、上記削除手段のいずれかに処理を振り分けることによって、該画像形成パラメータと該対象データとの管理を行う管理手段とを有するように構成することができる。
【００１６】
このようなデータ保存装置では、装置間インターフェースプロトコルに従ったコマンドに対応したデータ管理処理を行うことができる。
【００１７】
また、本発明は、請求項７に記載されるように、上記管理手段から通知される上記処理の結果を示す応答を生成し、上記要求をした画像形成装置へ上記通信制御手段によって送信する応答処理手段を有するように構成することができる。
【００１８】
このようなデータ保存装置では、装置間インターフェースプロトコルに従ったコマンドに対応するデータ管理処理を行った処理結果を応答として要求元の画像形成装置へ送信することができる。
【００１９】
また、上記課題を解決するため、本発明は、請求項８に記載されるように、ネットワークを介して、画像形成処理に関する情報を保存する複数の保存装置と、画像形成処理を実行する１つの画像形成装置とが接続される画像形成システムにおいて、該複数の保存装置から該情報を取得して該画像形成処理を行う画像形成方法において、上記画像形成装置が、上記ネットワークを介して上記複数の保存装置との間で共通に通信可能とする装置間インターフェースプロトコルに従って、画像形成パラメータと画像形成すべき対象データの保存を要求する保存要求を上記複数の保存装置に対して行う複数保存要求手順と、上記保存要求を受信した上記複数の保存装置各々が、同一の上記画像形成パラメータと上記対象データとを保存する保存手順と、上記画像形成装置が、上記装置間インターフェースプロトコルに従って、上記画像形成パラメータと上記対象データの取得を要求する取得要求を上記複数の保存装置の１つに行い、該保存装置の障害により該画像形成パラメータと該対象データが取得不可能な場合に、他の保存装置に対して同様の取得要求を行う取得要求手順と、上記取得要求を受信した上記他の保存装置が、該取得要求で指定される該対象データの全部又は一部をロックして該対象データと該画像形成パラメータとを上記装置間インターフェースプロトコルに従って提供する提供手順とを有するように構成することができる。
【００２０】
このような画像形成システムにおける画像形成方法では、利用者は、ネットワークを介して、１つの画像形成装置に対して画像形成要求を行うのみで、保存装置にて障害が発生した場合においても、いずれかの保存装置によって画像形成処理が行うことができる。
【００２１】
また、上記課題を解決するため、本発明は、請求項９に記載されるように、ネットワークを介して、画像形成処理に関する情報を保存する複数の保存装置と、画像形成処理を実行する複数の画像形成装置とが接続される画像形成システムにおいて、各画像形成装置が該複数の保存装置いずれか１つから該情報を取得して該画像形成処理を行う画像形成方法において、上記複数の画像形成装置の１つが、上記ネットワークを介して上記複数の保存装置との間で共通に通信可能とする装置間インターフェースプロトコルに従って、画像形成パラメータと画像形成すべき対象データの保存を要求する保存要求を上記複数の保存装置に対して行う複数保存要求手順と、上記保存要求を受信した上記複数の保存装置各々が、同一の上記画像形成パラメータと上記対象データとを保存する保存手順と、上記保存要求を行った上記画像形成装置が、上記装置間インターフェースプロトコルに従って、他の複数の画像形成装置に対して画像形成要求を行う複数画像形成要求手順と、上記複数の画像形成装置各々が、上記装置間インターフェースプロトコルに従って、上記画像形成パラメータと上記対象データの取得を要求する取得要求を上記複数の保存装置の１つに行い、該保存装置の障害により該画像形成パラメータと該対象データが取得不可能な場合に、他の保存装置に対して同様の取得要求を行う取得要求手順と、上記取得要求を受信した上記他の保存装置が、該取得要求で指定される該対象データの全部又は一部をロックして該対象データと該画像形成パラメータとを上記装置間インターフェースプロトコルに従って提供する提供手順とを有するように構成される。
【００２２】
このような画像形成システムにおける画像形成方法では、利用者は、ネットワークを介して、１つの画像形成装置に対して画像形成要求を行うのみで、画像形成装置又は保存装置にて障害が発生した場合においても、いずれかの画像形成装置又は保存装置によって画像形成処理が行うことができる。
【００２３】
上記課題を解決するための手段として、本発明は、コンピュータに行なわせるための上記プログラムを記録した記録媒体とすることもできる。
【００２４】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。
【００２５】
本発明の第一実施例に係る画像形成システムは、図１に示すようなネットワーク構成を成す。図１は、本発明の第一実施例に係る画像形成システムのネットワーク構成例を示す図である。図１において、画像形成システム１００１は、印刷処理を行う複数のプリンタ１００−１〜１００−ｎと、印刷パラメータ及び文書データを保存するストレージ２００と、文書を印刷する利用者が使用するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）３００とによって構成されるシステムである。複数のプリンタ１００−１〜１００−ｎと、ストレージ２００と、ＰＣ３００とは、ネットワーク４０を介して接続される。
【００２６】
このような画像形成システム１００１において、ＰＣ３００から印刷要求を直接受信するプリンタを主となるプリンタ１００−１とし、プリンタ１００−１がＰＣ３００に代わって印刷要求を送信する補助のプリンタをプリンタ１００−２から１００−３とする。複数のプリンタ１００−１〜１００−ｎは、同等の機能を有するプリンタであって、以下、総称する場合には単にプリンタ１００と言う。
【００２７】
説明の便宜上、プリンタ１００−１をＰＣ３００から直接印刷要求を受信するプリンタとしているが、プリンタ１００−１から１００−ｎのどのプリンタであっても良い。単に、プリンタ１００−１から１００−ｎのうちのＰＣ３００から印刷要求を直接受信したプリンタを主プリンタと定義する。また、主プリンタ１００−１が印刷要求を送信するプリンタ１００−２から１００−３を補助プリンタとするが、プリンタ１００−２から１００−ｎのどのプリンタであっても良い。また、補助プリンタは、主プリンタ１００−１以外のネットワーク４０を介して接続されるプリンタ１００−２から１００−ｎの１つ以上であれば良い。ここで、ネットワーク４０上に主プリンタ１００−１しか存在しない場合、従来通り主プリンタ１００−１にて印刷処理が実行されて出力される。
【００２８】
図１を参照しつつ、画像形成システム１００１での処理フローの概要を説明する。
【００２９】
主プリンタ１００−１は、ＰＣ３００から直接印刷要求を受信すると（ステップＳ１）、該印刷要求で指定される出力先として所望するプリンタ１００の一覧及びステープルの要否等のフィニッシングの方法を示す印刷パラメータと、印刷処理の対象となる文書データとに基づいてジョブを生成する。その生成したジョブに関するジョブ指示情報には、ＰＣ３００からの印刷パラメータに基づいて作成された印刷パラメータと、印刷処理のイベント通知に関する通知指示情報とが含まれる。
【００３０】
主プリンタ１００−１は、そのジョブ指示情報をストレージ２００に保存するためのジョブ保存要求をストレージ２００に送信する（ステップＳ２）。ストレージ２００は、主プリンタ１００−１からジョブ保存要求を受信すると、該ジョブ保存要求で指定されるファイル名でジョブ指示情報及び文書データを保存する。
【００３１】
利用者が所望する補助としてのプリンタがプリンタ１００−２から１００−３であるとする。主プリンタ１００−１は、ＰＣ３００から指示された印刷パラメータに基づく補助プリンタ用の印刷パラメータを設定した補助印刷要求を補助プリンタ１００−２から１００−３へ順次送信する（ステップＳ３−１及びＳ３−２）。
【００３２】
そして、主プリンタ１００−１は、生成したジョブに従って印刷処理を実行する。同様に、補助プリンタ１００−２及び１００−３は、夫々、ストレージ２００へジョブ取得要求を送信することによってジョブ指示情報の全部又は一部と文書データとを取得し（ステップＳ４−１及びＳ４−２）、印刷処理を実行する。
【００３３】
このような画像形成システム１００１では、ＰＣ３００から印刷要求を受信したプリンタ１００−１が自立的に主プリンタとなって、利用者が所望するプリンタ１００−２及び１００−３を補助プリンタとして制御するため、複数のプリンタ１００−１から１００−ｎを制御するための専用のサーバを設ける必要がない。また、主プリンタ１００−１及び補助プリンタ１００−２及び１００−３からのジョブ取得要求に応じて、ストレージ２００は、主プリンタ１００−１及び補助プリンタ１００−２及び１００−３へジョブ指示情報及び文書データを提供することができるため、プリンタ１００−１から１００−３のいずれかのプリンタに障害が発生したとしても、他のプリンタによって印刷処理が行われるため、利用者は、必ず、指定したプリンタ１００−１から１００−３のいずれかで印刷された文書を取得することができる。従って、プリンタの障害に影響されにくい耐障害性に優れたシステムを実現することができる。
【００３４】
本発明の第一実施例に係る画像形成システム１００１に適用されるプリンタ１００は、例えば、図２に示すようなハードウェア構成を成す。図２は、本発明の第一実施例に係るプリンタのハードウェア構成を示すブロック図である。
【００３５】
図２において、プリンタ１００は、コンピュータによって制御され印刷処理を実行する装置であって、ＣＰＵ（中央処理装置）１１と、ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３と、不揮発性ＲＡＭ（ｎｏｎ−ｖｏｌａｔｉｌｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１４と、リアルタイムクロック１５、イーサネット（登録商標）Ｉ／Ｆ（Ｅｔｈｅｒｎｅｔ（登録商標）  Ｉｎｔｅｒｆａｃｅ）２１と、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）２２と、ＩＥＥＥ（Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｅｎｇｉｎｅｅｒｓ）１２８４  ２３と、ハードディスクＩ／Ｆ２４と、ビデオＩ／Ｆ２５と、ＲＳ−２３２Ｃ  Ｉ／Ｆ２６とで構成され、システムバスＢに接続される。
【００３６】
ＣＰＵ１１は、ＲＯＭ１２に格納されたプログラムに従ってプリンタ１００を制御する。ＲＡＭ１３には、例えば、各インターフェース２１から２６に接続される資源に領域が割り当てられる。不揮発性ＲＡＭ１４には、プリンタ１００の電源がオフになるまでＣＰＵ１１による処理で必要な情報が格納される。リアルタイムクロック１５は、現時刻を計ると共に、処理を同期させる場合にＣＰＵ１１によって使用される。
【００３７】
イーサネット（登録商標）Ｉ／Ｆ２１には、１０ＢＡＳＥ−Ｔ又は１０ＢＡＳＥ−ＴＸ等のイーサネット（登録商標）用インターフェースケーブルが接続される。ＵＳＢ２２には、ＵＳＢ用インターフェースケーブルが接続される。ＩＥＥＥ１２８４  ２３には、ＩＥＥＥ１２８４用インターフェースケーブルが接続される。
【００３８】
ハードディスクＩ／Ｆ２４には、ハードディスク３４が接続され、ネットワークを介して送信された印刷される文書の文書データ、又は、印刷処理後の画像データがハードディスクＩ／Ｆ２４を介してハードディスク３４に格納される。ビデオＩ／Ｆ２５には、プリンタエンジン３５が接続され、画像データがビデオＩ／Ｆ２５を介してプリンタエンジン２５に送信され、該画像データに基づいて用紙等の印刷可能な媒体に画像が形成される。ＲＳ−２３２Ｃ  Ｉ／Ｆ２６には、オペレーションパネル３６が接続され、ユーザへの情報の表示及びユーザから入力情報又は設定情報の取得が行われる。
【００３９】
また、本発明の第一実施例に係る画像形成システム１００１に適用されるストレージ２００は、ジョブ指示情報及び文書データを保存するハードディスクを有するコンピュータであって、プリンタ１００からのジョブ保存要求及びジョブ取得要求に応じた処理を実行する。更に、ＰＣ３００は、利用者によって使用されるパーソナルコンピュータであって、プリンタ１００への印刷要求を行う。
【００４０】
図３は、本発明の第一実施例に係るプリンタの機能構成例を示すブロック図である。図３において、プリンタ１００は、主に、印刷要求及び補助印刷要求を受付けるジョブ受付部１０１と、印刷処理を実行するためにジョブを発行するジョブ発行部１０２と、ネットワーク４０上に存在する印刷可能なプリンタを検索するサービス検索部１０３と、ステータスを通知する通知発行部１０４と、ジョブに関するジョブ指示情報等をＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）によって解析及び作成すると共に、処理全体を制御する制御部１０５と、図２に示すプリンタエンジン３５を制御して印刷処理を実行する印刷処理部１０６と、ジョブ又はページのロック時間を制御するロック時間制御部１０７と、ネットワーク４０を介してストレージ２００とＰＣ３００とで夫々の通信を制御するネットワーク制御部１１０とを有する。
【００４１】
ジョブ受付部１０１は、ＰＣ３００からの印刷要求、他プリンタからの補助印刷要求、及び、ストレージ２００からのジョブに関するジョブ指示情報を受付け、ジョブを受付けたことを制御部１０５に通知する。
【００４２】
ジョブ発行部１０２は、印刷要求に応じてジョブを生成し、ストレージ２００に対しては、ジョブ保存要求を送信し、利用者が所望する他プリンタに対しては、補助印刷要求を送信することによってジョブを発行する。その後、ストレージ２００に対してジョブ取得要求を送信する。一方、補助印刷要求に対しては、ジョブ発行部１０２は、印刷要求の受信時と同様にジョブを生成し、該補助印刷要求で指定されるストレージ２００に対してジョブ取得要求を送信する。
【００４３】
サービス検索部１０３は、制御部１０５からの指示に応じて、ネットワーク４０上に存在する印刷処理可能な他プリンタを検索するディスカバリ機能を実行し、プリンタ一覧を生成して、制御部１０５へ通知する。
【００４４】
制御部１０５は、印刷要求及び補助印刷要求に設定されるジョブ指示情報等をＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）によって解析し、解析結果に基づいて、ジョブ発行部１０２を制御し、ジョブ発行部１０２によって生成されたジョブに従って印刷処理部１０６を制御し印刷処理を実行する。また、補助プリンタを検索する際には、サービス検索部１０３を制御して印刷処理可能なプリンタの一覧を取得する。
【００４５】
通知発行部１０４は、制御部１０５から通知されるステータスに基づいて、ネットワーク制御部１１０によってＨＴＴＰプロトコルでクライアントＰＣ２００に通知する。
【００４６】
印刷処理部１０６は、制御部１０５からの指示に応じて印刷処理を実行し、所定の媒体に画像を形成して出力する。
【００４７】
ロック時間制御部１０７は、ストレージ２００に保存された印刷処理対象となるジョブ又はページがロックされている場合に、ロック時間経過後に再度ロックを試みる制御を行う。
【００４８】
ネットワーク制御部１１０は、更に、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）１１１と、ＨＴＴＰ１１２と、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）１１３と、ＢＭＬｉｎｋＳ１１４とで構成される。
【００４９】
ＴＣＰ／ＩＰ１１１は、ネットワーク４０を介したデータ通信を制御するネットワーク通信プロトコルである。ＨＴＴＰ１１２は、インターネット上の情報提供及び情報取得を実現するインターネット通信プロトコルである。ＳＯＡＰ１１３は、例えばＸＭＬに従って記述されたメッセージの交換を制御するメッセージ交換プロトコルである。ＢＭＬｉｎｋＳ１１４は、ネットワーク４０上に存在するプリンタ、スキャナ、ストレージ、ＦＡＸ送信及び受信の少なくともいずれか１つの機能を有する１つ以上のＯＡ機器に対して、ジョブ制御手順、ステータス参照等に関するデータ通信を制御するＯＡ機器Ｉ／Ｆプロトコルである。
【００５０】
ストレージ２００及びＰＣ３００は、ネットワーク制御部１１０の構成と同様の構成を有し、ネットワーク４０を介して、ＢＭＬｉｎｋＳに従ってプリンタ１００とで通信を行う。
【００５１】
次に、プリンタ１００での処理を制御する制御部１０５にて行われる処理について説明する。先ず、ＰＣ３００から印刷要求を直接受信した場合の処理について図４及び図５で説明する。図４及び図５は、本発明の第一実施例に係るプリンタの制御部の印刷要求を受信した場合の処理例を説明するためのフローチャート図である。図４において、制御部１０５は、所定時間毎にジョブを受信したか否かを判断する（ステップＳ１１）。ジョブ（ＰＣ３００からの印刷要求）を受信せず、ロック時間制御部１０７からの通知を受信した場合、後述されるロック結果処理を実行する（ステップＳ１９−２）。一方、ジョブを受信した場合、つまり、ＰＣ３００から印刷要求を受信した場合、印刷要求の内容を取得する（ステップＳ１２）。
【００５２】
印刷要求の内容に基づいて、部数単位の印刷か、又は、ページ単位の印刷かを判断する（ステップＳ１３）。部単位の印刷であると判断した場合、制御部１０５は、ジョブ発行部１０２にジョブを生成させ、そのジョブのロックを示すジョブ指示情報をストレージ２００に保存するためのジョブ保存要求をストレージ２００に送信する（ステップＳ１４）。印刷要求に直接的に部単位の印刷が指定されていないくても、例えば、印刷要求にステープルの指定がある場合、部単位の印刷であると判断される。そして、ジョブ発行部１０２は、ＰＣ３００から受信した印刷要求にて指定される補助としてのプリンタ全てに対して補助印刷要求を送信する（ステップＳ１５）。
【００５３】
制御部１０５は、印刷処理部１０６を制御してＰＣ３００から受信した印刷すべき文書データの全ページを印刷する（ステップＳ１６）。印刷処理部１０６による全ページの印刷が終了すると、制御部１０５は、全ページの削除をストレージ２００に要求するページ削除要求を送信し（ステップＳ１７）、続けて、ジョブの削除をストレージ２００に要求するジョブ削除要求を送信して（ステップＳ１８）、印刷要求を受信した場合の処理を終了する。
【００５４】
一方、ステップＳ１３にて、制御部１０５がページ単位の印刷であると判断した場合、制御部１０５は、ページＸに１を設定し（ステップＳ２１）、ジョブ発行部１０２にジョブを生成させ、そのジョブのロックを示すジョブ指示情報をストレージ２００に保存するためのジョブ保存要求をストレージ２００に送信する（ステップＳ２２）。そして、ジョブ発行部１０２は、ＰＣ３００から受信した印刷要求にて指定される補助としてのプリンタ全てに対して補助印刷要求を送信する（ステップＳ２３）。
【００５５】
制御部１０５は、印刷処理部１０６を制御してＰＣ３００から受信した印刷すべき文書データのページＸを印刷する（ステップＳ２４）。ページＸの印刷が終了すると、制御部１０５は、ページＸの削除をストレージ２００に要求するページ削除要求を送信する（ステップＳ２５）。
【００５６】
そして、制御部１０５は、ページがまだあるか否かを判断する（ステップＳ２６）。ページがまだある場合、制御部１０５は、ページＸに１を加えて（ステップＳ２７）、ページＸのロックをストレージ２００に要求する（ステップＳ２８）。ページＸをロックすることによって、他プリンタから重複して出力されないようにすることができる。
【００５７】
そして、制御部１０５は、ストレージ２００からの応答がロックできたことを示しているか否かを判断する（ステップＳ２９）。ページＸのロックができた場合、制御部１０５は、ステップＳ２４へ戻り、印刷処理部１０６にページＸの印刷を行わせ、上記同様の処理を行う。
【００５８】
一方、ステップＳ２９にて制御部１０５がページＸのロックができなかったと判断した場合、ページＸが削除されているか否かを判断する（ステップＳ３０）。ページＸが削除されて存在しない場合、ステップＳ２６へ戻り次のページがあるか否かを判断する。一方、ページＸがある場合、つまり、補助プリンタ１００−２又は１００−３のいずれかがページＸをロックしている場合、ロック時間制御部１０７に通知し（ステップＳ３１）、ステップＳ２６へ戻り次のページがあるか否かを判断する。
【００５９】
このようにページＸがロックできなかった場合には、ステップＳ２６に戻ることによって、ロックできるページから先に印刷処理を行うことができる。また、ステップＳ３１にて、ロック時間をストレージ２００から取得しロック時間制御部１０７に通知するようにしても良い。ロック時間の取得は、ストレージ２００からの応答に設定されるようにすれば良い。又は、制御部１０５がロック時間の問い合わせをストレージ２００に対して行うようにしても良い。また、ロック時間とは、他プリンタがロックした時刻とロックが満了となるまでの間隔とが示されれば良い。又は、他プリンタと同期した時間を持つことができる場合には、ロック時間がロックが満了となる時刻を示しても良い。
【００６０】
ステップＳ２６にて制御部１０５がページがないと判断した場合、ロック時間制御部１０７によるロック時間制御処理が終了しているか否かを判断する（ステップＳ３２）。ロック時間制御処理が終了していない場合、終了するまで待ち状態となる。ロック時間制御処理が終了後、制御部１０５は、ストレージ２００に対してジョブ削除要求を送信し、ＰＣ３００から直接印刷要求を受信した場合の処理を終了する。
【００６１】
次に、他プリンタ１００から補助印刷要求を受信した場合の制御部１０５での処理について図６及び図７で説明する。図６及び図７は、本発明の第一実施例に係るプリンタの制御部の補助印刷要求を受信した場合の処理例を説明するためのフローチャート図である。図６において、プリンタ１００−２がプリンタ１００−１から補助印刷要求を受信し補助プリンタとして機能する。制御部１０５は、ジョブを受信したか否かを判断する（ステップＳ４１）。ジョブ（他プリンタ１００からの補助印刷要求）を受信せず、ロック時間制御部１０７からの通知を受信した場合、後述されるロック結果処理を実行して（ステップＳ４２−２）、ステップＳ５１へ進む。一方、ジョブを受信した場合、つまり、他プリンタ１００から補助印刷要求を受信した場合、補助印刷要求の内容を取得する（ステップＳ４３）。
【００６２】
制御部１０５は、ページＸに１を設定する（ステップＳ４４）。続けて、制御部１０５は、補助印刷要求の内容に基づいて、部数単位の印刷か、又は、ページ単位の印刷かを判断する（ステップＳ４５）。ページ単位の印刷でる場合、制御部１０５は、ページＸのロック及びページＸのダウンロードをストレージ２００に要求する（ステップＳ４６）。
【００６３】
そして、制御部１０５は、ストレージ２００からの応答がロックできたことを示しているか否かを判断する（ステップＳ４７）。ページＸのロックができなかった場合、ページＸが削除されているか否かを判断する（ステップＳ４８）。ページＸが削除されて存在しない場合、ステップＳ５３へ進み、次のページがあるか否かを判断する。
【００６４】
一方、ページＸがある場合、主プリンタ１００−１又は補助プリンタ１００−３のいずれかがページＸをロックしている場合、ロック時間制御部１０７に通知し（ステップＳ４９）、ステップＳ５３へ進み、次のページがあるか否かを判断する。このようにページＸがロックできなかった場合には、ステップＳ５３へ進むことによって、ロックできるページから先に印刷処理を行うことができる。
【００６５】
ステップＳ４９にて、ロック時間をストレージ２００から取得しロック時間制御部１０７に通知するようにしても良い。ロック時間の取得は、ストレージ２００からの応答に設定されるようにすれば良い。又は、制御部１０５がロック時間の問い合わせをストレージ２００に対して行うようにしても良い。また、ロック時間とは、他プリンタがロックした時刻とロックが満了となるまでの間隔とが示されれば良い。又は、他プリンタと同期した時間を持つことができる場合には、ロック時間がロックが満了となる時刻を示しても良い。
【００６６】
一方、ステップＳ４７にて制御部１０５がページＸのロックができたと判断した場合、ページＸがダウンロードされる（ステップＳ５０）。ページＸを取得すると、制御部１０５は、印刷処理部１０６を制御してページＸの印刷処理を行う。印刷処理部１０６によるページＸの印刷が終了すると、制御部１０５は、ページＸの削除をストレージ２００に要求するページ削除要求を送信する（ステップＳ５２）。
【００６７】
そして、制御部１０５は、文書データのページがまだあるか否かを判断する（ステップＳ５３）。ページがまだある場合、制御部１０５は、ページＸに１を加えて（ステップＳ５４）、部数単位又はページ単位の印刷であるかを判断する（ステップＳ５５）。部単位の印刷である場合、制御部１０５は、ページＸのダウンロードをストレージ２００に要求して、ステップＳ５１へ戻る。一方、ページ単位の印刷である場合、ステップＳ４６へ戻る。部数単位の印刷である場合、ページＸのダウンロードをストレージに要求し（ステップＳ５６）、ステップＳ５０へ戻る。
【００６８】
一方、ステップＳ５３にて制御部１０５がページがないと判断すると、ロック時間制御処理が終了したか否かを判断する（ステップＳ５７）。ロック時間制御処理が終了していない場合、終了するまで待ち状態となる。ロック時間制御処理が終了している場合、制御部１０５は、ストレージ２００に対してジョブを削除するジョブ削除要求を送信して（ステップＳ５８）、補助印刷要求の処理を終了する。
【００６９】
一方、ステップＳ４５にて部単位の印刷であると判断した場合、制御部１０５は、ジョブのロック及びページＸのダウンロードをストレージ２００に要求する（ステップＳ６１）。補助印刷要求に直接的に部単位の印刷が指定されていないくても、例えば、印刷要求にステープルの指定がある場合、部単位の印刷であると判断される。
【００７０】
そして、制御部１０５は、ストレージ２００からの応答がロックできたことを示しているか否かを判断する（ステップＳ６２）。ジョブのロックができなかった場合、ジョブが削除されているか否かを判断する（ステップＳ６３）。ジョブが削除されて存在しない場合、補助印刷要求の処理を終了する。一方、ジョブがある場合、ロック時間制御部に通知し（ステップＳ６４）、一旦、補助印刷要求の処理を終了する。一方、ステップＳ６２にて制御部１０５がロックできたと判断した場合、ステップＳ５０へ戻り、上記同様の処理を行う。
【００７１】
ステップＳ６４にて、ロック時間をストレージ２００から取得しロック時間制御部１０７に通知するようにしても良い。ロック時間の取得は、ストレージ２００からの応答に設定されるようにすれば良い。又は、制御部１０５がロック時間の問い合わせをストレージ２００に対して行うようにしても良い。また、ロック時間とは、他プリンタがロックした時刻とロックが満了となるまでの間隔とが示されれば良い。又は、他プリンタと同期した時間を持つことができる場合には、ロック時間がロックが満了となる時刻を示しても良い。
【００７２】
次に、ロック時間制御部１０７にて実行されるロック時間制御処理について図８で説明する。図８は、ロック時間制御処理を説明するためのフローチャート図である。図８において、ロック時間制御部１０７は、制御部１０５からの通知に応じて、ロック時間が経過する待ち（ステップＳ８１）、ロック時間の経過後、ジョブの種類を判断する（ステップＳ８２）。ジョブの種類がＰＣ３００から直接送信された印刷要求である場合、ページＸのロックをストレージ２００に要求し（ステップＳ８３）、制御部１０５へロック結果を通知する（ステップＳ８４）。
【００７３】
ステップＳ８２にて、ロック時間制御部１０７が補助印刷要求であると判断した場合、ジョブのロックであったか否かを判断する（ステップＳ８５）。ページのロックであった場合、ページＸのロック及びダウンロードをストレージ２００に要求し（ステップＳ８６）、制御部１０５へロック結果を通知する（ステップＳ８４）。
【００７４】
ステップＳ８５にて、ジョブのロックであると判断した場合、ジョブのロック及びページＸのダウンロードをストレージ２００に要求し（ステップＳ８７）、制御部１０５へロック結果を通知する（ステップＳ８４）。
【００７５】
このように、ロック時間の経過に再び、ストレージ２００にロック又はダウンロードを要求し、その結果を制御部１０５に通知することによって、他プリンタ１００での処理の状態に応じた処理を図４のステップ１９−２及び図６のステップＳ４２−２におけるロック結果処理にて行うことができる。
【００７６】
図９は、ロック結果処理を説明するためのフローチャート図である。図９において、制御部１０５は、ロック時間制御処理部からロック結果を受信し（ステップＳ９１）、ジョブの種類を判断する（ステップＳ９２）。ジョブが印刷要求である場合、ロック結果の内容を判断する（ステップＳ９３−２）。ロック結果がページＸが削除されていることを示す場合、つまり、既に、他プリンタ１００によってページＸが印刷されたことを示している場合、図５のステップＳ２６へ進み、上記同様の処理を行う。
【００７７】
一方、ロックできたことを示す場合、つまり、ストレージ２００がロック時間を経過してもロックされているため、他プリンタ１００にて印刷を行えない状態であると判断し、ストレージ２００がページＸのロックを強制的に解除し、ロックできる状態になったことを示す場合、図５のステップＳ２９へ進み、上記同様の処理を行う。
【００７８】
ステップＳ９２にて制御部１０５がジョブが補助印刷要求であると判断すると、更に、ジョブをロックしたのか或いはページＸをロックしたのかを判断する（ステップＳ９６）。ページＸをロックしたと判断した場合、ロック結果の内容を判断する（ステップＳ９７−２）。ロック結果がページＸが削除されていることを示す場合、つまり、既に、他プリンタ１００によってページＸが印刷されたことを示している場合、図６のステップＳ５３へ進み、上記同様の処理を行う。
【００７９】
一方、ロックできたことを示す場合、つまり、ストレージ２００がロック時間を経過してもロックされているため、他プリンタ１００にて印刷を行えない状態であると判断し、ストレージ２００がページＸのロックを強制的に解除し、ロックできる状態になったことを示す場合、図６のステップＳ５０へ進み、上記同様の処理を行う。
【００８０】
ステップＳ９６にて制御部１０５がジョブをロックしたと判断した場合、ロック結果の内容を判断する（ステップＳ１００−２）。ロック結果がジョブが削除されていることを示す場合、つまり、既に、他プリンタ１００によって文書データ全体の印刷が終了したことを示している場合、補助印刷要求による処理を終了する。
【００８１】
ロックできたことを示す場合、つまり、ストレージ２００がロック時間を経過してもロックされているため、他プリンタ１００にて印刷を行えない状態であると判断し、ストレージ２００がページＸのロックを強制的に解除し、ロックできる状態になったことを示す場合、図６のステップＳ５０へ進み、上記同様の処理を行う。
【００８２】
図４から図９に示される処理によると、プリンタ１００は、主プリンタの場合、部数単位又はページ単位で示される処理単位毎にストレージ２００に対してロックをかけて、ＰＣ３００から受信した文書データに基づいて、ストレージ２００から取得することなく印刷処理を実行する。従って、他プリンタ１００によって部数単位又はページ単位で同一の文書又はページを重複して印刷することがない。また、ページ単位での処理の場合、ロックされていないページを検索し、そのページを優先して印刷することができる。更に、他のプリンタ１００によってページがロックされ、ロック時間を経過してもロックされたままである場合、そのロック時間経過後に再度ロックを試みて、自プリンタ１００で印刷することができる。
【００８３】
また、補助プリンタとしてのプリンタ１００は、ロックとダウンロードの要求をストレージ２００に行うことによって、他プリンタ１００によって部数単位又はページ単位で同一の文書又はページを重複して印刷することがない。また、ページ単位での処理の場合、ロックされていないページを検索し、そのページを優先して印刷することができる。更に、他のプリンタ１００によってページがロックされ、ロック時間を経過してもロックされたままである場合、そのロック時間経過後に再度ロックを試みて、自プリンタ１００で印刷することができる。
【００８４】
尚、図４から図９に示される処理を全てのプリンタ１００−１〜１００−ｎにて行えるように構成することができる。
【００８５】
本発明の第一実施例に係る画像形成システム１００１に適用されるストレージ２００は、例えば、図１０に示すようなハードウェア構成を成す。図１０は、本発明の第一実施例に係るストレージのハードウェア構成を示すブロック図である。
【００８６】
図１０において、ストレージ２００は、コンピュータによって制御されデータ管理を行う装置であって、ＣＰＵ（中央処理装置）４１と、メモリユニット４２と、表示ユニット４３と、入力ユニット４４と、通信ユニット４５と、記憶装置４６とで構成され、システムバスＢ２に接続される。
【００８７】
ＣＰＵ４１は、メモリユニット４２に格納されたプログラムに従ってストレージ２００を制御する。メモリユニット４２は、ＲＡＭ及びＲＯＭ等にて構成され、ＣＰＵ４１にて実行されるプログラム、ＣＰＵ４１での処理に必要なデータ、ＣＰＵ４１での処理にて得られたデータ等を格納する。また、メモリユニット４２の一部の領域が、ＣＰＵ４１での処理に利用されるワークエリアとして割り付けられている。
【００８８】
表示ユニット４３は、ＣＰＵ４１の制御のもとに必要な各種情報を表示する。通信ユニット４５は、ストレージ２００がコンピュータとして機能し、複数のプリンタ１００とＰＣ３００と例えばＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で接続される場合に、それら複数のプリンタ１００とＰＣ３００との間で通信制御をするための装置である。記憶装置４６は、例えば、ハードディスクユニットにて構成され、各プリンタ１００からのジョブ保存要求に応じてジョブ指示情報及び文書データとを保存する。
【００８９】
ストレージ２００を制御するプログラムは、予め、記憶装置４６にインストールされている。但し、必要に応じて、通信ユニット４５によってネットワーク４０を介して、制御プログラムをダウンロードするようにしても良い。
【００９０】
また、本発明の第一実施例に係る画像形成システム１００１に適用される複数のプリンタ１００は、ＰＣ３００からの印刷要求に応じて、ジョブ保存要求、補助印刷要求、ジョブ取得要求等の処理を実行可能なコンピュータである。更に、ＰＣ３００は、利用者によって使用されるパーソナルコンピュータであって、プリンタ１００への印刷要求を行う。
【００９１】
図１１は、本発明の第一実施例に係るストレージの機能構成例を示すブロック図である。図１１において、ストレージ２００は、主に、ジョブ保存要求及びジョブ取得要求を受付ける要求処理部２０１と、要求処理部２０１で受付けた要求に応じた応答を処理する応答処理部２０３と、要求処理部２０１から通知される要求内容及び要求に応じた処理結果をＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）によって解析及び作成すると共に、図１０に示す記憶装置４６を制御するジョブ管理部２０５と、記憶装置４６で管理されるジョブのロック時間を制御するロック時間制御部２０７と、ネットワーク４０を介して複数のプリンタ１００との通信を制御するネットワーク制御部２１０とを有する。
【００９２】
要求処理部２０１は、プリンタ１００からのジョブ保存要求及びジョブ取得要求を受付け、要求を受付けたことをジョブ管理部２０５に通知する。応答処理部２０３は、ジョブ管理部２０５からジョブ保存要求又はジョブ取得要求に応じた処理結果が通知されると、その処理結果を示す応答を生成し、ネットワーク制御部２１０によって要求元へ送信する。
【００９３】
ジョブ管理部２０５は、ジョブ保存要求に応じて、記憶装置４６にファイルを生成し、そのファイルへジョブ指示情報及び文書データを格納する。文書データは、ページ単位で格納する。また、ジョブ取得要求に応じて、記憶装置４６からジョブ取得要求によって指定されるページを取り出す。
【００９４】
ロック時間制御部２０７は、所定時間毎に、記憶装置４６にて管理されるジョブ指示情報に設定されたジョブ毎又はページ毎のロック時間を監視し、所定時間が経過している場合、ロックを解除する制御を行う。この制御によって、ジョブ又はページをロックしたプリンタ１００に障害が発生して印刷処理が完了しなかった場合においても、他のプリンタ１００によって印刷処理が行いえるようになる。
【００９５】
ネットワーク制御部２１０は、更に、ＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）２１１と、ＨＴＴＰ２１２と、ＳＯＡＰ（Ｓｉｍｐｌｅ  Ｏｂｊｅｃｔ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）２１３と、ＢＭＬｉｎｋＳ２１４とで構成される。
【００９６】
ＴＣＰ／ＩＰ２１１は、ネットワーク４０を介したデータ通信を制御するネットワーク通信プロトコルである。ＨＴＴＰ２１２は、インターネット上の情報提供及び情報取得を実現するインターネット通信プロトコルである。ＳＯＡＰ２１３は、例えばＸＭＬに従って記述されたメッセージの交換を制御するメッセージ交換プロトコルである。ＢＭＬｉｎｋＳ２１４は、ネットワーク４０上に存在するプリンタ、スキャナ、ストレージ、ＦＡＸ送信及び受信の少なくともいずれか１つの機能を有する１つ以上のＯＡ機器に対して、ジョブ制御手順、ステータス参照等に関するデータ通信を制御するＯＡ機器Ｉ／Ｆプロトコルである。
【００９７】
プリンタ１００及びＰＣ３００は、ネットワーク制御部２１０の構成と同様の構成を有し、ネットワーク４０を介して、ＢＭＬｉｎｋＳに従ってストレージ２００とで通信を行う。
【００９８】
次に、ストレージ２００での処理について図１２及び図１３で説明する。図１２は、本発明の第一実施例に係るストレージのジョブ管理部の処理例を説明するためのフローチャート図である。図１２において、ストレージ２００のジョブ管理部２０５は、要求処理部２０１から要求を受信すると（ステップＳ２７１）、その要求がジョブ保存要求か否かを判断する（ステップＳ２７２）。ジョブ保存要求である場合、記憶装置４６に空きファイルを生成して、その空きファイルにジョブ保存要求に設定されるジョブ指示情報と文書データとを保存する（ステップＳ２７３）。この際、ジョブ保存要求で指定されるジョブ又はページをロックする。
【００９９】
ステップＳ２７２にてジョブ保存要求でないと判断すると、ジョブ取得要求か否かを判断する（ステップＳ２７４）。ジョブ取得要求である場合、ステップＳ２８１からステップＳ２８５までを実行する。一方、ジョブ取得要求でない場合、ページ削除要求か否かを判断する（ステップＳ２７５）。ページ削除要求の場合、ページ削除要求にて指定されるジョブのページを記憶装置４６から削除する（ステップＳ２７６）。
【０１００】
ステップＳ２７５にてページ削除要求でないと判断すると、ジョブ削除要求か否かを判断する（ステップＳ２７７）。ジョブ削除要求である場合、ジョブ削除要求にて指定されるジョブを記憶装置４６から削除し（ステップＳ２７８）、この処理を終了する。一方、ジョブ削除要求でない場合、この処理を終了する。
【０１０１】
ステップＳ２７４にてジョブ取得要求であると判断された場合について説明する。ジョブ管理部２０５は、ジョブ取得要求にて指定されるジョブのページをロックする（ステップＳ２８１）。ジョブ取得要求にてロック時間が指定されている場合は、そのロック時間をもってロックし、ロック時間が指定されていない場合は、所定ロック時間をもってロックするようにすれば良い。
【０１０２】
ジョブ管理部２０５は、ページをロックすることができたか否かを判断する（ステップＳ２８２）。既に、ページがロックされているためロックできなかった場合、ページがロックできなかったことを、ジョブ取得要求を行ったプリンタ１００に応答処理部２０３によって通知する（ステップＳ２８３）。一方、ページをロックすることができた場合、ページロック完了をジョブ取得要求を行ったプリンタ１００に応答処理部２０３によって通知し（ステップＳ２８４）、ロックしたページをプリンタ１００へ送信（アップロード）する（ステップＳ２８５）。
【０１０３】
また、図１２に示す処理において、ジョブ取得要求にてジョブが指定される場合、ジョブをロックするようにしても良い。
【０１０４】
次に、ストレージ２００のロック時間制御部２０７によるロック時間の制御処理を説明する。図１３は、本発明の第一実施例に係るストレージのロック時間制御部によるロック時間の制御処理例を説明するためのフローチャート図である。図１３において、ロック時間制御部２０７は、ジョブを１つ記憶装置４６から読み出し（ステップＳ２５１）、ジョブがロックされているか否かを判断する（ステップＳ２５２）。ジョブがロックされていない場合、ページ毎のロック時間を制御するため、ステップＳ２５７からステップＳ２６２までを実行する。
【０１０５】
ステップＳ２５２において、ジョブがロックされている場合、所定ロック時間が経過しているか否かを判断する（ステップＳ２５３）。所定ロック時間が経過していない場合、ステップＳ２５５へ進む。一方、所定ロック時間が経過している場合、ジョブｊのロックを解除する（ステップＳ２５４）。
【０１０６】
ロック時間制御部２０７は、ジョブがまだあるか否かを判断し（ステップＳ２５５）、ジョブがまだある場合、次のジョブを記憶装置４６から取り出してステップＳ２５２へ戻り、上記同様の処理を行う。
【０１０７】
ステップＳ２５２において、ジョブがロックされていない場合、ページｐに１を設定し（ステップＳ２５７）、ページｐがロックされているか否かを判断する（ステップＳ２５８）。ロックされていない場合、ステップＳ２６１へ進む。一方、ロックされている場合、所定ロック時間が経過しているか否かを判断する（ステップＳ２５９）。所定ロック時間が経過していない場合、ステップＳ２６１へ進む。所定ロック時間が経過している場合、ページｐのロックを解除する（ステップＳ２６０）。
【０１０８】
ロック時間制御部２０７は、ページがまだあるか否かを判断し（ステップＳ２６１）、ページがまだある場合、ページｐに１を追加してステップＳ２５８へ戻り、次のページｐについて上記同様の処理を行う。一方、ページがない場合、ステップＳ２５５に戻り、次のジョブがあるか否かを判断する。ステップＳ２５５において、ジョブがないと判断した場合、ロック時間の制御処理を終了する。
【０１０９】
このようなロック時間の制御処理によって、ジョブがロックされている場合は、ジョブ毎にロック時間を制御し、ジョブがロックされていないがページがロックされている場合は、ページ毎にロック時間を制御することができる。従って、何らかの障害によって、ジョブ又はページをロックしたプリンタ１００が印刷処理を行うことができなくなったとしても、ストレージ２００にて所定時間後にロックが解除されるため、他のプリンタ１００によって印刷処理することが可能となる。
【０１１０】
このようにジョブをロックすることによって、ＰＣ３００は、ただ１つのプリンタ１００に対して印刷要求を行うのみで、複数のプリンタ１００の状態を知る必要なく、確実に文書全体を印刷した１部を１つのプリンタ１００によって行わせることができる。
【０１１１】
また、ページをロックすることによって、ＰＣ３００は、ただ１つのプリンタ１００に対して印刷要求を行うのみで、複数のプリンタ１００の状態を知る必要なく、ページが重複することなく、確実に文書全体を印刷させることができる。
【０１１２】
ストレージ２００の記憶装置４６にて管理されるジョブ指示情報及び管理情報と文書データとで構成されるジョブデータは、例えば、図１４に示されるような構造を成す。図１４は、ジョブデータの構造を示す図である。ストレージ２００は、各プリンタ１００から受信したジョブ保存要求に基づいて、ジョブ保存要求によって指定されるジョブ指示情報とストレージ２００にて管理するために必要な管理情報とを有するジョブ管理情報をジョブ毎に格納するジョブ管理領域２９１と、ジョブ管理情報と関連付けされる文書を構成する少なくとも１つ以上のページデータ（ページ１からｎ）を格納するページデータ管理領域２９２とを有する。例えば、ジョブ管理領域２９１において、ジョブ毎又はページ毎のロック時間等がジョブ管理情報にて管理される。
【０１１３】
図１のステップＳ１にて、ＰＣ３００から主プリンタ１００−１へ送信される印刷要求のスクリプトについて説明する。図１５は、ＰＣから送信される印刷要求のスクリプト例を示す図である。図１５において、＜ｂｍ：ｃｒｅａｔｅ＿ｊｏｂ  ｘｍｌｎｓ：ｂｍ＝”ｕｒｎ：ｓｃｈｅｍａｓ−ｂｍ：ｓｅｒｖｉｃｅ：ｂｍ”＞から＜／ｂｍ：ｃｒｅａｔｅ＿ｊｏｂ＞で示される記述４００は、ＢＭＬｉｎｋＳに従ったＸＭＬによる記述であることを示す。ｃｒｅａｔｅ＿ｊｏｂを示す記述４０１によってＢＭＬｉｎｋＳによって規定されるｃｒｅａｔｅ＿ｊｏｂコマンドが発行されたことが示される。
【０１１４】
＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞から＜／ｒｅｑｕｅｓｔ−ｕｓｅｒ−ｎａｍｅ＞で示される記述４０２によって、印刷を要求したユーザ名「ｓｏｍｅｏｎｅ」が示される。
【０１１５】
＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞から＜／ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞で示される記述４０３は、印刷処理に関するパレメータを指定する＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞から＜／ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞で示される記述４０４と、通知すべき印刷処理中のイベントを指定する＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞から＜／ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞で示される記述４０５とで構成される。
【０１１６】
記述４０４において、＜ｊｏｂ−ｎａｍｅ＞から＜／ｊｏｂ−ｎａｍｅ＞で示される記述は、ジョブ名を指定し、例えば、「ｓａｍｐｌｅ−ｊｏｂ」のように指定される。＜ｏｐｔｉｏｎａｌ−ａｔｔｒｉｂｕｔｅｓ−ｆｉｄｅｌｉｔｙ＞から＜／ｏｐｔｉｏｎａｌ−ａｔｔｒｉｂｕｔｅｓ−ｆｉｄｅｌｉｔｙ＞で示される記述は、例えば、「ｆａｌｓｅ」のように指定される。＜ｃｏｐｉｅｓ＞から＜／ｃｏｐｉｅｓ＞で示される記述は、印刷すべき部数を示し、例えば、「１」部が示される。
【０１１７】
＜ｐａｒａｌｌｅｌｐｒｉｎｔ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：ｐａｒａｌｌｅｌｐｒｉｎｔ［１］”＞から＜／ｐａｒａｌｌｅｌｐｒｉｎｔ＞で示される記述４０６は、ＢＭＬｉｎｋＳに従って、ジョブ指示情報と文書データとを保存するストレージと、補助としてのプリンタとを配列「ｐａｒａｌｌｅｌｐｒｉｎｔ［１］」によって指定している。＜ｓｔｏｒａｇｅＮａｍｅ  ｕｒｉ＝”ｈｔｔｐ：／／１９２．１６８．３．１”＞から＜／ｓｔｏｒａｇｅＮａｍｅ＞で示す記述は、例えば、「ｓｔｏｒａｇｅ＃１」を示し、ストレージ名「ｓｔｏｒａｇｅ＃１」にジョブ指示情報及び文書データを保存することを指定する。この場合、ストレージ２００のストレージ名が「ｓｔｏｒａｇｅ＃１」であるとする。＜ｐｒｉｎｔｅｒＮａｍｅ  ｕｒｉ＝”ｈｔｔｐ：／／１９２．１６８．２．２”＞から＜／ｐｒｉｎｔｅｒＮａｍｅ＞で示す記述は、例えば、「ｐｒｉｎｔｅｒ＃２」を示し、プリンタ名「ｐｒｉｎｔｅｒ＃２」で印刷処理することを指定する。この場合、プリンタ１００−２のプリンタ名が「ｐｒｉｎｔｅｒ＃２」であるとする。＜ｐｒｉｎｔｅｒＮａｍｅ  ｕｒｉ＝”ｈｔｔｐ：／／１９２．１６８．２．３”＞から＜／ｐｒｉｎｔｅｒＮａｍｅ＞で示す記述は、例えば、「ｐｒｉｎｔｅｒ＃３」を示し、プリンタ名「ｐｒｉｎｔｅｒ＃３」で印刷処理することを指定する。この場合、プリンタ１００−３のプリンタ名が「ｐｒｉｎｔｅｒ＃３」であるとする。
【０１１８】
＜ｆｉｎｉｓｈｉｎｇｓ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：ｆｉｎｉｓｈｉｎｇ［１］”＞から＜／ｆｉｎｉｓｈｉｎｇｓ＞で示される記述４０７は、ＢＭＬｉｎｋＳに従って、印刷処理後のフィニッシングを配列「ｆｉｎｉｓｈｉｎｇ［１］」によって指定している。＜ｆｉｎｉｓｈｉｎｇ＞から＜／ｆｉｎｉｓｈｉｎｇ＞で示される記述は、フィニッシングとして、印刷した文書を「ｓｔａｐｌｅ」で綴じることを指定している。
【０１１９】
＜ｄｏｃｕｍｅｎｔ−ｆｏｒｍａｔ＞から＜／ｄｏｃｕｍｅｎｔ−ｆｏｒｍａｔ＞で示される記述は、文書データのデータ形式「ｉｍａｇｅ／ｔｉｆｆ」を指定する。
【０１２０】
記述４０５は、印刷処理結果の通知方法を指定し、通知発行部１０４によって参照される。例えば、＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞から＜／ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞までの記述４０８は、通知先として主プリンタ１００−１のＵＲＩ「ｈｔｔｐ：／／１９２．１６８．２．１／ｅｖｅｎｔ」を指定する。＜ｅｖｅｎｔｓ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：Ｅｖｅｎｔ［２］”＞から＜／ｅｖｅｎｔｓ＞までの記述４０９は、ＢＭＬｉｎｋＳに従って２つのイベントが通知されることを配列「Ｅｖｅｎｔ［２］」によって指定することを示し、各イベント種類は、＜ｅｖｅｎｔ＞から＜／ｅｖｅｎｔ＞までの記述によって指定される。例えば、正常終了を示すイベント「ｊｏｂ−ｃｏｍｐｌｅｔｅｄ」と、印刷処理がキャンセルされたことを示すイベント「ｊｏｂ−ｃａｎｃｅｌｅｄ」とが指定される。
【０１２１】
図４のステップＳ１４にて、主プリンタ１００−１からストレージ２００へ送信されるジョブ保存要求のスクリプトについて説明する。図１６は、主プリンタからストレージへ送信されるジョブ保存要求のスクリプト例を示す図である。図１６において、＜ｂｍ：ｃｒｅａｔｅ＿ｆｉｌｅ  ｘｍｌｎｓ：ｂｍ＝”ｕｒｎ：ｓｃｈｅｍａｓ−ｂｍ：ｓｅｒｖｉｃｅ：ｂｍ”＞から＜／ｂｍ：ｃｒｅａｔｅ＿ｆｉｌｅ＞で示される記述４１０は、ＢＭＬｉｎｋＳに従ったＸＭＬによる記述であることを示す。ｃｒｅａｔｅ＿ｆｉｌｅを示す記述４１１によってＢＭＬｉｎｋＳによって規定されるｃｒｅａｔｅ＿ｆｉｌｅコマンドが発行されたことが示される。
【０１２２】
記述４１０において、＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞から＜／ｒｅｑｕｅｓｔ−ｕｓｅｒ−ｎａｍｅ＞で示される記述４１２は、登録されたユーザ名「ｓｏｍｅｏｎｅ」を示す。＜ｆｉｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ＞から＜／ｆｉｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ＞で示される記述４１３は、データ保存条件を指定する。＜ｆｉｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞から＜／ｆｉｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞までの記述４１５は、データ保存条件のパラメータ値を指定する。例えば、＜ｆｉｌｅ−ｎａｍｅ＞から＜／ｆｉｌｅ−ｎａｍｅ＞までの記述は、ファイル名「ｓａｍｐｌｅ−ｊｏｂ」を指定する。また、＜ｒｅａｄ−ｏｎｌｙ＞から＜／ｒｅａｄ−ｏｎｌｙ＞までの記述は、読み取りのみを示す「ｔｒｕｅ」を指定する。
【０１２３】
更に、記述４１０において、＜ｆｉｌｅ−ａｔｔｒｉｂｕｔｅ＞から＜／ｆｉｌｅ−ａｔｔｒｉｂｕｔｅ＞で示される記述４１４は、文書を印刷する際の属性を指定する。＜ｐａｒａｌｌｅｌｐｒｉｎｔ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：ｐａｒａｌｌｅｌｐｒｉｎｔ［１］”＞から＜／ｐａｒａｌｌｅｌｐｒｉｎｔ＞で示される記述４１６は、ＢＭＬｉｎｋＳに従って補助プリンタを１つの配列「ｐａｒａｌｌｅｌｐｒｉｎｔ［１］」によって指定することを示し、補助プリンタは、＜ｐｒｉｎｔｅｒＮａｍｅ＞から＜／ｐｒｉｎｔｅｒＮａｍｅ＞までの記述によって指定される。＜ｐｒｉｎｔｅｒＮａｍｅ  ｕｒｉ＝”ｈｔｔｐ：／／１９２．１６８．２．２”＞から＜／ｐｒｉｎｔｅｒＮａｍｅ＞で示す記述は、例えば、「ｐｒｉｎｔｅｒ＃２」を示し、プリンタ名「ｐｒｉｎｔｅｒ＃２」で印刷処理することを指定する。この場合、プリンタ１００−２のプリンタ名が「ｐｒｉｎｔｅｒ＃２」であるとする。＜ｐｒｉｎｔｅｒＮａｍｅ  ｕｒｉ＝”ｈｔｔｐ：／／１９２．１６８．２．３”＞から＜／ｐｒｉｎｔｅｒＮａｍｅ＞で示す記述は、例えば、「ｐｒｉｎｔｅｒ＃３」を示し、プリンタ名「ｐｒｉｎｔｅｒ＃３」で印刷処理することを指定する。この場合、プリンタ１００−３のプリンタ名が「ｐｒｉｎｔｅｒ＃３」であるとする。
【０１２４】
図４のステップＳ１５にて、主プリンタ１００−１から補助プリンタ１００−２及び１００−３の夫々へ送信される補助印刷要求のスクリプトについて説明する。図１７は、主プリンタから補助プリンタへ送信される補助印刷要求のスクリプト例を示す図である。図１７において、＜ｂｍ：ｃｒｅａｔｅ−ｊｏｂ  ｘｍｌｎｓ：ｂｍ＝”ｕｒｎ：ｓｃｈｅｍａｓ−ｂｍ：ｓｅｒｖｉｃｅ：ｂｍ”＞から＜／ｂｍ：ｃｒｅａｔｅ＿ｊｏｂ＞で示される記述４２０は、ＢＭＬｉｎｋＳに従ったＸＭＬによる記述であることを示す。ｃｒｅａｔｅ＿ｊｏｂを示す記述４２１によってＢＭＬｉｎｋＳによって規定されるｃｒｅａｔｅ＿ｊｏｂコマンドが発行されたことが示される。
【０１２５】
＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞から＜／ｒｅｑｕｅｓｔ−ｕｓｅｒ−ｎａｍｅ＞で示される記述４２２によって、印刷を要求したユーザ名「ｓｏｍｅｏｎｅ」が示される。
【０１２６】
＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞から＜／ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞で示される記述４２３は、印刷処理に関するパレメータを指定する＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞から＜／ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞で示される記述４２４と、通知すべき印刷処理中のイベントを指定する＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞から＜／ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞で示される記述４２５とで構成される。
【０１２７】
記述４２４において、＜ｊｏｂ−ｎａｍｅ＞から＜／ｊｏｂ−ｎａｍｅ＞で示される記述は、ジョブ名を指定し、＜ｊｏｂ−ｎａｍｅ＞から＜／ｊｏｂ−ｎａｍｅ＞で示される記述は、ジョブ名を指定し、例えば、「ｓａｍｐｌｅ−ｊｏｂ」のように指定される。＜ｏｐｔｉｏｎａｌ−ａｔｔｒｉｂｕｔｅｓ−ｆｉｄｅｌｉｔｙ＞から＜／ｏｐｔｉｏｎａｌ−ａｔｔｒｉｂｕｔｅｓ−ｆｉｄｅｌｉｔｙ＞で示される記述は、例えば、「ｆａｌｓｅ」のように指定される。＜ｃｏｐｉｅｓ＞から＜／ｃｏｐｉｅｓ＞で示される記述は、印刷すべき部数を示し、例えば、「１」部が示される。
【０１２８】
＜ｆｉｎｉｓｈｉｎｇｓ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：ｆｉｎｉｓｈｉｎｇ［１］”＞から＜／ｆｉｎｉｓｈｉｎｇｓ＞で示される記述４２６は、ＢＭＬｉｎｋＳに従って、印刷処理後のフィニッシングを配列「ｆｉｎｉｓｈｉｎｇ［１］」によって指定している。＜ｆｉｎｉｓｈｉｎｇ＞から＜／ｆｉｎｉｓｈｉｎｇ＞で示される記述は、フィニッシングとして、印刷した文書を「ｓｔａｐｌｅ」で綴じることを指定している。
【０１２９】
＜ｄｏｃｕｍｅｎｔ−ｆｏｒｍａｔ＞から＜／ｄｏｃｕｍｅｎｔ−ｆｏｒｍａｔ＞で示される記述は、文書データのデータ形式「ｉｍａｇｅ／ｔｉｆｆ」を指定する。
【０１３０】
ジョブの格納場所に関する記述４２７において、＜ｓｏｕｒｃｅ−ｕｒｉ＞から＜／ｓｏｕｒｃｅ−ｕｒｉ＞で示される記述は、ジョブが格納されているＵＲＩ「ｈｔｔｐ：／／１９２．１６８．２．１／ｓａｍｐｌｅ−ｊｏｂ」を示し、＜ｓｏｕｒｃｅ−ｆｉｌｅ−ｉｄ＞から＜／ｓｏｕｒｃｅ−ｆｉｌｅ−ｉｄ＞で示される記述は、ファイルＩＤ「００１」を示す。
【０１３１】
記述４２５は、印刷処理結果の通知方法を指定し、各補助プリンタ１００−２及び１００−３の通知発行部１０４によって参照される。例えば、＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞から＜／ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞までの記述４０８は、通知先としての主プリンタ１００−１のＵＲＩ「ｈｔｔｐ：／／１９２．１６８．１．１／ｅｖｅｎｔ」を指定する。＜ｅｖｅｎｔｓ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：Ｅｖｅｎｔ［３］”＞から＜／ｅｖｅｎｔｓ＞までの記述４２９は、ＢＭＬｉｎｋＳに従って３つのイベントが通知されることを配列「Ｅｖｅｎｔ［３］」によって指定することを示し、各イベント種類は、＜ｅｖｅｎｔ＞から＜／ｅｖｅｎｔ＞までの記述によって指定される。例えば、正常終了を示すイベント「ｊｏｂ−ｃｏｍｐｌｅｔｅｄ」と、印刷処理がキャンセルされたことを示すイベント「ｊｏｂ−ｃａｎｃｅｌｅｄ」と、読み込みが終了したことを示すイベント「ｒｅａｄ−ｃｏｍｐｌｅｔｅｄ」とが指定される。
【０１３２】
図５のステップＳ４６にて、補助プリンタプリンタ１００−２からストレージ２００へ送信されるジョブ取得要求によって、ページのみを指定してページロックするスクリプトについて説明する。図１８は、主プリンタからストレージへ送信されるジョブ取得要求によるページロックの第一スクリプト例を示す図である。図１８において、＜ｂｍ：ｆｉｌｅ−ａｔｔｒｉｂｕｔｅ  ｘｍｌｎｓ：ｂｍ＝”ｕｒｎ：ｓｃｈｅｍａｓ−ｂｍ：ｓｅｒｖｉｃｅ：ｂｍ”＞から＜／ｂｍ：ｆｉｌｅ−ａｔｔｒｉｂｕｔｅ  ＞で示される記述４３０は、ＢＭＬｉｎｋＳに従ったＸＭＬによる記述であることを示す。ｆｉｌｅ−ａｔｔｒｉｂｕｔｅを示す記述４３１によってＢＭＬｉｎｋＳによって規定されるｆｉｌｅ−ａｔｔｒｉｂｕｔｅコマンドが発行されたことが示される。
【０１３３】
記述４３０において、＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞から＜／ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞で示される記述４３２は、登録されたユーザ名「ｓｏｍｅｏｎｅ」を示す。＜ｓｏｕｒｃｅ−ｆｉｌｅ−ｉｄ＞から＜／ｓｏｕｒｃｅ−ｆｉｌｅ−ｉｄ＞で示される記述４３３は、ファイルＩＤ「００１」を示す。＜ｌｏｃｋ−ｐａｇｅ−ｉｄ＞から＜／ｌｏｃｋ−ｐａｇｅ−ｉｄ＞で示される記述４３４は、ロックすべきページ「００１」を示す。
【０１３４】
図５のステップＳ４６にて、補助プリンタプリンタ１００−２からストレージ２００へ送信されるジョブ取得要求によって、ページ及びロック期間を指定してページロックするスクリプトについて説明する。図１９は、主プリンタからストレージへ送信されるジョブ取得要求によるページロックの第二スクリプト例を示す図である。図１９において、＜ｂｍ：ｆｉｌｅ−ａｔｔｒｉｂｕｔｅ  ｘｍｌｎｓ：ｂｍ＝”ｕｒｎ：ｓｃｈｅｍａｓ−ｂｍ：ｓｅｒｖｉｃｅ：ｂｍ”＞から＜／ｂｍ：ｆｉｌｅ−ａｔｔｒｉｂｕｔｅ＞で示される記述４４０は、ＢＭＬｉｎｋＳに従ったＸＭＬによる記述であることを示す。ｆｉｌｅ−ａｔｔｒｉｂｕｔｅを示す記述４４１によってＢＭＬｉｎｋＳによって規定されるｆｉｌｅ−ａｔｔｒｉｂｕｔｅコマンドが発行されたことが示される。
【０１３５】
記述４４０において、＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞から＜／ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞で示される記述４４２は、登録されたユーザ名「ｓｏｍｅｏｎｅ」を示す。＜ｓｏｕｒｃｅ−ｆｉｌｅ−ｉｄ＞から＜／ｓｏｕｒｃｅ−ｆｉｌｅ−ｉｄ＞で示される記述４３３は、ファイルＩＤ「００１」を示す。＜ｌｏｃｋ−ｐａｇｅ−ｉｄ＞から＜／ｌｏｃｋ−ｐａｇｅ−ｉｄ＞で示される記述４３４は、ロックすべきページ「００１」を示す。更に、＜ｌｏｃｋ−ｅｘｐｉｒｅ−ｓｅｃｏｎｄｓ＞から＜／ｌｏｃｋ−ｅｘｐｉｒｅ−ｓｅｃｏｎｄｓ＞で示される記述４５５は、例えば、「６０」秒のロック期間を指定する。この場合、終了時刻を指定するようにしても良い。
【０１３６】
図５のステップＳ２５にて、ストレージ２００に保存されている印刷済みのページを削除するページ削除要求のスクリプトについて説明する。図２０は、ストレージ２００に保存されている印刷済みのページを削除するページ削除要求のスクリプト例を示す図である。図２０において、＜ｂｍ：ｄｅｌｅｔｅ＿ｐａｇｅ  ｘｍｌｎｓ：ｂｍ＝”ｕｒｎ：ｓｃｈｅｍａｓ−ｂｍ：ｓｅｒｖｉｃｅ：ｂｍ”＞から＜／ｂｍ：ｄｅｌｅｔｅ＿ｐａｇｅ＞で示される記述４５０は、ＢＭＬｉｎｋＳに従ったＸＭＬによる記述であることを示す。ｄｅｌｅｔｅ＿ｐａｇｅを示す記述４５１によってＢＭＬｉｎｋＳによって規定されるｄｅｌｅｔｅ＿ｐａｇｅコマンドが発行されたことが示される。
【０１３７】
記述４５０において、＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞から＜／ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞で示される記述４５２は、登録されたユーザ名「ｓｏｍｅｏｎｅ」を示す。＜ｆｉｌｅ−ｉｄ＞から＜／ｆｉｌｅ−ｉｄ＞で示される記述４５３は、ファイルＩＤ「００１」を示す。＜ｐａｇｅ−ｉｄ＞から＜／ｐａｇｅ−ｉｄ＞で示される記述４５４は、削除すべきページ「００１」を示す。
【０１３８】
上記第一実施例に係る画像形成システム１００１おいて、１つのストレージにジョブを保存し、複数のプリンタ１００−１から１００−３にて文書を重複なく出力する方法について説明したが、ストレージ２００に障害が発生した場合にも、文書の印刷を行うことができる第二実施例について以下に説明する。
【０１３９】
図２１は、本発明の第二実施例に係る画像形成システムのネットワーク構成例を示す図である。図２１に示す画像形成システム１００２において、ストレージ２００−１から２００−３（以下、総称する場合ストレージ２００と言う）は、第一実施例に係る画像形成システム１００１のストレージ２００の図２に示すハードウェア構成を成し、また、図３に示す機能構成を成す。プリンタ１００及びＰＣ３００は、第一実施例におけるプリンタ１００とＰＣ３００と同等である。
【０１４０】
図２１に示す画像形成システム１００２は、印刷処理を行うプリンタ１００と、印刷パラメータ及び文書データを保存する複数のストレージ２００−１から２００−３と、文書を印刷する利用者が使用するＰＣ３００とによって構成されるシステムである。プリンタ１００と、複数のストレージ２００−１から２００−３と、ＰＣ３００とは、ネットワーク４０を介して接続される。
【０１４１】
このような画像形成システム１００２において、ＰＣ３００から印刷要求を受信すると、プリンタ１００は、複数のストレージ２００−１から２００−３へジョブ保存要求を送信する。説明の便宜上、プリンタ１００は、複数のストレージ２００−１から２００−３へジョブ保存要求を送信するとしているが、ジョブ保存要求を送信するストレージ２００は１つ以上であればよい。
【０１４２】
図２１を参照しつつ、画像形成システム１００２での処理フローの概要を説明する。
【０１４３】
プリンタ１００は、ＰＣ３００から印刷要求を受信すると（ステップＳ１３１）、該印刷要求で指定される保存先として所望するストレージ２００の一覧及びステープルの要否等のフィニッシングの方法を示す印刷パラメータと、印刷処理の対象となる文書データとに基づいてジョブを生成する。その生成したジョブに関するジョブ指示情報には、ＰＣ３００からの印刷パラメータに基づいて作成された印刷パラメータと、印刷処理のイベント通知に関する通知指示情報とが含まれる。
【０１４４】
プリンタ１００は、そのジョブ指示情報を複数のストレージ２００−１から２００−３に対してジョブ保存要求を順次送信する（ステップＳ１３２−１からＳ１３２−３）。各ストレージ２００−１から２００−３は、プリンタ１００からジョブ保存要求を受信すると、該ジョブ保存要求で指定されるファイル名でジョブ指示情報及び文書データを保存する。
【０１４５】
そして、プリンタ１００は、印刷要求生に指定されたストレージ２００の一覧の順に、例えば、先ずストレージ２００−１に対してジョブ取得要求を送信し（ステップＳ１３３−１）、取得したジョブ指示情報及び文書データに従って印刷処理を実行する。プリンタ１００は、印刷処理をするためにストレージ２００−１からページを取得できない場合、次のストレージ２００−２へジョブ取得要求を送信することによって（ステップＳ１３３−２）、該ページを取得して印刷する。更に、ストレージ２００−２からもページを取得できない場合、次のストレージ２００−３に対してジョブ取得要求を送信し（ステップＳ１３３−３）、該ページを取得して印刷する。
【０１４６】
このように、何らかの理由でストレージ２００−１から印刷すべきページを取得できない場合、他のストレージ２００−２又は２００−３から印刷すべきページを取得することができる。したがって、ＰＣ３００の利用者は、バックアップとしてストレージ２００−２及び２００−３を指定することによって各ストレージ２００−１から２００−３の状態を知ることなく、印刷要求を送信したプリンタ１００にて文書を印刷させることができる。よって、画像形成システム１００２は対障害性を向上させることができる。
【０１４７】
次に、プリンタ１００での処理を制御する制御部１０５にて行われる処理について説明する。図２２は、本発明の第二実施例に係るプリンタでの処理例を説明するためのフローチャート図である。図２２において、プリンタ１００は、所定時間毎にジョブを受信したか否かを判断する（ステップＳ１４１）。ジョブを受信していない場合、待ち状態となり、所定時間毎にステップＳ１４１を繰り返す。一方、ＰＣからジョブを受信した場合、ステップＳ１１３を実行する。
【０１４８】
制御部１０５は、ジョブ発行部１０２にジョブを生成させ、ジョブ内容を指示するジョブ指示情報を、印刷要求で指定される複数のストレージ２００−１から２００−３に順次保存する（ステップＳ１４２）。そして、プリンタ１００は、印刷要求で指定される最初のストレージ（この場合、ストレージ１００−１とする）を選択する（ステップＳ１４３）。
【０１４９】
制御部１０５は、ページＸに１を設定し（ステップＳ１４４）、ページＸの取得を選択したストレージ２００−１に対してジョブ取得要求を送信することによって要求する（ステップＳ１４５）。制御部１０５は、ストレージ２００−１からページＸを取得できたか否かを判断する（ステップＳ１４６）。ページＸを取得できなかった場合、次のストレージ２００−２を選択し（ステップＳ１４７）、ステップＳ１４５へ戻る。この場合、ストレージ２００−１からページＸを取得できなかった場合、ストレージ２００−２を選択する。ストレージ２００−２からページＸを取得できなかった場合、順にストレージ２００−３を選択する。
【０１５０】
一方、ページＸを取得できた場合、制御部１０５は、印刷処理部１０６を制御してページＸを印刷する（ステップＳ１４８）。制御部１０５は、印刷すべきページがまだあるか否かを判断する（ステップＳ１４９）。ページがまだある場合、制御部１０５は、ページＸに１を加えて（ステップＳ１５０）、ステップＳ１４５へ戻る。一方、全てのページを印刷した場合、ジョブを削除するため、ストレージ２００−１から２００−３に対してジョブ削除要求を送信し、プリンタ１００での処理を終了する（ステップＳ１５１）。
【０１５１】
図２１のステップＳ１３１にて、ＰＣ３００から主プリンタ１００−１へ送信される印刷要求のスクリプトについて説明する。図２３は、複数のストレージが指定される印刷要求のスクリプト例を示す図である。図２３において、＜ｂｍ：ｃｒｅａｔｅ＿ｊｏｂ  ｘｍｌｎｓ：ｂｍ＝”ｕｒｎ：ｓｃｈｅｍａｓ−ｂｍ：ｓｅｒｖｉｃｅ：ｂｍ”＞から＜／ｂｍ：ｃｒｅａｔｅ＿ｊｏｂ＞で示される記述４６０は、ＢＭＬｉｎｋＳに従ったＸＭＬによる記述であることを示す。ｃｒｅａｔｅ＿ｊｏｂを示す記述４６１によってＢＭＬｉｎｋＳによって規定されるｃｒｅａｔｅ＿ｊｏｂコマンドが発行されたことが示される。
【０１５２】
＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞から＜／ｒｅｑｕｅｓｔ−ｕｓｅｒ−ｎａｍｅ＞で示される記述４６２によって、印刷を要求したユーザ名「ｓｏｍｅｏｎｅ」が示される。
【０１５３】
＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞から＜／ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ＞で示される記述４６３は、印刷処理に関するパレメータを指定する＜ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞から＜／ｊｏｂ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞で示される記述４６４と、通知すべき印刷処理中のイベントを指定する＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞から＜／ｎｏｔｉｆｉｃａｔｉｏｎ−ｉｎｓｔｒｕｃｔｉｏｎ＞で示される記述４０５とで構成される。
【０１５４】
記述４６４において、＜ｊｏｂ−ｎａｍｅ＞から＜／ｊｏｂ−ｎａｍｅ＞で示される記述は、ジョブ名を指定し、例えば、「ｓａｍｐｌｅ−ｊｏｂ」のように指定される。＜ｏｐｔｉｏｎａｌ−ａｔｔｒｉｂｕｔｅｓ−ｆｉｄｅｌｉｔｙ＞から＜／ｏｐｔｉｏｎａｌ−ａｔｔｒｉｂｕｔｅｓ−ｆｉｄｅｌｉｔｙ＞で示される記述は、例えば、「ｆａｌｓｅ」のように指定される。＜ｃｏｐｉｅｓ＞から＜／ｃｏｐｉｅｓ＞で示される記述は、印刷すべき部数を示し、例えば、「１」部が示される。
【０１５５】
＜ｐａｒａｌｌｅｌｐｒｉｎｔ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：ｐａｒａｌｌｅｌｐｒｉｎｔ［１］”＞から＜／ｐａｒａｌｌｅｌｐｒｉｎｔ＞で示される記述４６６は、ＢＭＬｉｎｋＳに従って、ジョブ指示情報と文書データとを保存する複数のストレージを指定している。＜ｓｔｏｒａｇｅＮａｍｅ  ｕｒｉ＝”ｈｔｔｐ：／／１９２．１６８．３．１”＞から＜／ｓｔｏｒａｇｅＮａｍｅ＞で示す記述は、例えば、「ｓｔｏｒａｇｅ＃１」を示し、ストレージ名「ｓｔｏｒａｇｅ＃１」にジョブ指示情報及び文書データを保存することを指定する。また、＜ｓｔｏｒａｇｅＮａｍｅ  ｕｒｉ＝”ｈｔｔｐ：／／１９２．１６８．３．２”＞から＜／ｓｔｏｒａｇｅＮａｍｅ＞で示す記述は、例えば、「ｓｔｏｒａｇｅ＃２」を示し、ストレージ名「ｓｔｏｒａｇｅ＃２」にジョブ指示情報及び文書データを保存することを指定する。更に、ｓｔｏｒａｇｅＮａｍｅ  ｕｒｉ＝”ｈｔｔｐ：／／１９２．１６８．３．３”＞から＜／ｓｔｏｒａｇｅＮａｍｅ＞で示す記述は、例えば、「ｓｔｏｒａｇｅ＃３」を示し、ストレージ名「ｓｔｏｒａｇｅ＃３」にジョブ指示情報及び文書データを保存することを指定する。この場合、ストレージ名「ｓｔｏｒａｇｅ＃１」はストレージ２００−１、ストレージ名「ｓｔｏｒａｇｅ＃２」はストレージ２００−２、ストレージ名「ｓｔｏｒａｇｅ＃３」はストレージ２００−３に対応するとする。
【０１５６】
＜ｆｉｎｉｓｈｉｎｇｓ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：ｆｉｎｉｓｈｉｎｇ［１］”＞から＜／ｆｉｎｉｓｈｉｎｇｓ＞で示される記述４６７は、ＢＭＬｉｎｋＳに従って、印刷処理後のフィニッシングを配列「ｆｉｎｉｓｈｉｎｇ［１］」によって指定している。＜ｆｉｎｉｓｈｉｎｇ＞から＜／ｆｉｎｉｓｈｉｎｇ＞で示される記述は、フィニッシングとして、印刷した文書を「ｓｔａｐｌｅ」で綴じることを指定している。
【０１５７】
＜ｄｏｃｕｍｅｎｔ−ｆｏｒｍａｔ＞から＜／ｄｏｃｕｍｅｎｔ−ｆｏｒｍａｔ＞で示される記述は、文書データのデータ形式「ｉｍａｇｅ／ｔｉｆｆ」を指定する。
【０１５８】
記述４６５は、印刷処理結果の通知方法を指定し、通知発行部１０４によって参照される。例えば、＜ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞から＜／ｎｏｔｉｆｉｃａｔｉｏｎ−ｒｅｃｉｐｉｅｎｔ＞までの記述４６８は、通知先としてＰＣ３００のＵＲＩ「ｈｔｔｐ：／／１９２．１６８．４．１／ｅｖｅｎｔ」を指定する。＜ｅｖｅｎｔｓ  ｅｎｃ：ａｒｒａｙＴｙｐｅ＝”ｂｍ：Ｅｖｅｎｔ［２］”＞から＜／ｅｖｅｎｔｓ＞までの記述４６９は、ＢＭＬｉｎｋＳに従って２つのイベントが通知されることを配列「Ｅｖｅｎｔ［２］」によって指定することを示し、各イベント種類は、＜ｅｖｅｎｔ＞から＜／ｅｖｅｎｔ＞までの記述によって指定される。例えば、正常終了を示すイベント「ｊｏｂ−ｃｏｍｐｌｅｔｅｄ」と、印刷処理がキャンセルされたことを示すイベント「ｊｏｂ−ｃａｎｃｅｌｅｄ」とが指定される。
【０１５９】
図２１のステップＳ１３３−１からＳ１３３−３にて、プリンタ１００から複数のストレージ２００−１から２００−３へ送信されるジョブ保存要求のスクリプトについて説明する。図２４は、プリンタから複数のストレージへ送信されるジョブ保存要求のスクリプト例を示す図である。図２４において、＜ｂｍ：ｃｒｅａｔｅ＿ｆｉｌｅ  ｘｍｌｎｓ：ｂｍ＝”ｕｒｎ：ｓｃｈｅｍａｓ−ｂｍ：ｓｅｒｖｉｃｅ：ｂｍ”＞から＜／ｂｍ：ｃｒｅａｔｅ＿ｆｉｌｅ＞で示される記述４７０は、ＢＭＬｉｎｋＳに従ったＸＭＬによる記述であることを示す。ｃｒｅａｔｅ＿ｆｉｌｅを示す記述４７１によってＢＭＬｉｎｋＳによって規定されるｃｒｅａｔｅ＿ｆｉｌｅコマンドが発行されたことが示される。
【０１６０】
記述４７０において、＜ｒｅｑｕｅｓｔｉｎｇ−ｕｓｅｒ−ｎａｍｅ＞から＜／ｒｅｑｕｅｓｔ−ｕｓｅｒ−ｎａｍｅ＞で示される記述４７２は、登録されたユーザ名「ｓｏｍｅｏｎｅ」を示す。＜ｆｉｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ＞から＜／ｆｉｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ＞で示される記述４７３は、データ保存条件を指定する。＜ｆｉｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞から＜／ｆｉｌｅ−ｉｎｓｔｒｕｃｔｉｏｎ−ｐａｒａｍｓ＞までの記述４７４は、ファイルに関する情報を示す記述４７５と、バックアップとしての複数のストレージの一覧を示す記述４７６とで構成される。
【０１６１】
記述４７５において、例えば、＜ｆｉｌｅ−ｎａｍｅ＞から＜／ｆｉｌｅ−ｎａｍｅ＞までの記述は、ファイル名「ｓａｍｐｌｅ−ｊｏｂ」を指定する。また、＜ｒｅａｄ−ｏｎｌｙ＞から＜／ｒｅａｄ−ｏｎｌｙ＞までの記述は、読み取りのみを示す「ｔｒｕｅ」を指定する。
【０１６２】
また、記述４７６において、＜ｂａｃｋｕｐ−ｕｒｉ＞から＜／ｂａｃｋｕｐ−ｕｒｉ＞で示される３つの記述は、バックアップとしてジョブ指示情報及び文書データが格納されるＵＲＩ「ｈｔｔｐ：／／１９２．１６８．３．１／ｓａｍｐｌｅ−ｊｏｂ」、「ｈｔｔｐ：／／１９２．１６８．３．２／ｓａｍｐｌｅ−ｊｏｂ」、及び、「ｈｔｔｐ：／／１９２．１６８．３．３／ｓａｍｐｌｅ−ｊｏｂ」を指定する。
【０１６３】
このように、何らかの理由でストレージ２００−１からページＸが取得できない場合、プリンタ１００は、ストレージ２００−２又は２００−３からページＸを取得し印刷することができる。したがって、ＰＣ３００の利用者は、バックアップとしてストレージ２００−２及び２００−３を指定することによって各ストレージ２００−１から２００−３の状態を知ることなく、印刷要求を送信したプリンタ１００にて文書を印刷させることができる。よって、画像形成システム１００２は対障害性を向上させることができる。
【０１６４】
次に、ＰＣ３００から印刷要求を受信したプリンタ１００−１は、主プリンタとして、複数のストレージ２００−１から２００−３にジョブを保存すると共に、プリンタ１００−２及び１００−３に補助プリンタとして補助印刷要求を送信する第三実施例について説明する。
【０１６５】
図２５は、本発明の第三実施例に係る画像形成システムのネットワーク構成例を示す図である。図１８に示す画像形成１００３において、ストレージ２００−１から２００−３（以下、総称する場合ストレージ２００と言う）は、第一実施例に係る画像形成システム１００１のストレージ２００−１から２００−３の図２に示すハードウェア構成を成し、また、図３に示す機能構成を成す。プリンタ１００−１から１００−３及びＰＣ３００は、第一実施例におけるプリンタ１００−１から１００−３とＰＣ３００と同等である。
【０１６６】
図２５に示す画像形成システム１００３は、印刷処理を行う複数のプリンタ１００−１から１００−３と、印刷パラメータ及び文書データを保存する複数のストレージ２００−１から２００−３と、文書を印刷する利用者が使用するＰＣ３００とによって構成されるシステムである。複数のプリンタ１００−１から１００−３と、複数のストレージ２００−１から２００−３と、ＰＣ３００とは、ネットワーク４０を介して接続される。
【０１６７】
このような画像形成システム１００３において、ＰＣから印刷要求を直接受信するプリンタを主となるプリンタ１００−１とし、プリンタ１００−１がＰＣ３００に代わって印刷要求を送信する補助のプリンタをプリンタ１００−２から１００−３とする。複数のプリンタ１００−１〜１００−ｎは、同等の機能を有するプリンタであって、以下、総称する場合には単にプリンタ１００と言う。ＰＣから印刷要求を直接受信した主プリンタ１００−１は、複数のストレージ２００−１から２００−３へジョブ保存要求を送信する。説明の便宜上、プリンタ１００は、複数のストレージ２００−１から２００−３へジョブ保存要求を送信するとしているが、ジョブ保存要求を送信するストレージ２００は１つ以上であればよい。
【０１６８】
説明の便宜上、プリンタ１００−１をＰＣ３００から直接印刷要求を受信するプリンタとしているが、プリンタ１００−１から１００−ｎのどのプリンタであっても良い。単に、プリンタ１００−１から１００−ｎのうちのＰＣ３００から印刷要求を直接受信したプリンタを主プリンタと定義する。
【０１６９】
図２５を参照しつつ、画像形成システム１００３での処理フローの概要を説明する。
【０１７０】
主プリンタ１００−１は、ＰＣ３００から直接印刷要求を受信すると（ステップＳ１６１）、該印刷要求で指定される出力先として所望するプリンタ１００の一覧、ジョブを保存するストレージ２００の一覧、及び、ステープルの要否等のフィニッシングの方法を示す印刷パラメータと、印刷処理の対象となる文書データとに基づいてジョブを生成する。その生成したジョブに関するジョブ指示情報には、ＰＣ３００からの印刷パラメータに基づいて作成された印刷パラメータと、印刷処理のイベント通知に関する通知指示情報とが含まれる。
【０１７１】
主プリンタ１００−１は、そのジョブ指示情報を印刷要求で指定されるストレージ２００の一覧に従って順に保存するためのジョブ保存要求をストレージ２００−１から２００−３に送信する（ステップＳ１６２−１からＳ１６２−３）。各ストレージ２００−１から２００−３は、主プリンタ１００−１からジョブ保存要求を受信すると、該ジョブ保存要求で指定されるファイル名でジョブ指示情報及び文書データを保存する。
【０１７２】
利用者が所望する補助としてのプリンタがプリンタ１００−２から１００−３であるとする。主プリンタ１００−１は、ＰＣ３００から指示された印刷パラメータに基づく補助プリンタ用の印刷パラメータを設定した補助印刷要求を補助プリンタ１００−２から１００−３へ順次送信する（ステップＳ１６３−１及びＳ１６３−２）。
【０１７３】
そして、主プリンタ１００−１は、ストレージ２００−１へジョブ取得要求を送信することによってジョブ指示情報の全部又は一部と文書データとを取得し（ステップＳ１６４−１）、印刷処理を実行する。同様に、補助プリンタ１００−２及び１００−３は、夫々、ストレージ２００へジョブ取得要求を送信することによってジョブ指示情報の全部又は一部と文書データとを取得し（ステップＳ１６４−２及びＳ１６４−３）、印刷処理を実行する。
【０１７４】
このような画像形成システム１００３では、ＰＣ３００から印刷要求を受信したプリンタ１００−１が自立的に主プリンタとなって、利用者が所望するプリンタ１００−２及び１００−３を補助プリンタとして制御するため、複数のプリンタ１００−１から１００−ｎを制御するための専用のサーバを設ける必要がない。
【０１７５】
また、主プリンタ１００−１及び補助プリンタ１００−２及び１００−３が印刷処理を行うため、プリンタ１００−１から１００−３のいずれかのプリンタに障害が発生したとしても、他のプリンタによって印刷処理が行われるため、利用者は、必ず、指定したプリンタ１００−１から１００−３のいずれかで印刷された文書を取得することができる。従って、プリンタの障害に影響されにくい耐障害性に優れたシステムを実現することができる。
【０１７６】
更に、ストレージ２００−１から２００−３のいずれかに障害が発生したとしても、プリンタ１００−１から１００−３のいずれかで文書を印刷させることができる。従って、ストレージの障害に影響されにくい耐障害性に優れたシステムを実現することができる。
【０１７７】
また、このような画像形成システム１００３では、各プリンタ１００−１から１００−３が夫々ストレージ２００−１から２００−３に対してジョブ保存要求を送信することによって、各プリンタ１００−１から１００−３によって文書印刷することができる。例えば、同時に３部を印刷するができるため、高速に印刷処理をすることができる。
【０１７８】
【発明の効果】
以上、説明してきたように、本願発明によれば、画像形成パラメータと画像形成すべき対象データを保存し、保存した画像形成パラメータと画像形成すべき対象データが要求される場合には、該対象データの全部又は一部をロックする。従って、同一の画像形成パラメータと画像形成すべき対象データが要求された場合に、重複して提供しないように制御することができる。また、ロックした対象データが所定ロック時間を経過した場合、そのロックを解除する。従って、取得要求をした画像形成装置にて障害が発生し、対象データの画像形成処理が完了しない状態になった場合においても、データ保存装置側にてロックを解除することができるため、他の画像形成装置から対象データの取得要求があった場合、ロックが解除された対象データを提供することができる。つまり、他の画像形成装置にて画像形成処理を完了させることができる。
【０１７９】
【図面の簡単な説明】
【図１】本発明の第一実施例に係る画像形成システムのネットワーク構成例を示す図である。
【図２】本発明の第一実施例に係るプリンタのハードウェア構成を示すブロック図である。
【図３】本発明の第一実施例に係るプリンタの機能構成例を示すブロック図である。
【図４】本発明の第一実施例に係るプリンタの制御部の第一の印刷要求を受信した場合の処理例を説明するためのフローチャート図である。
【図５】本発明の第一実施例に係るプリンタの制御部の第一の印刷要求を受信した場合の処理例を説明するためのフローチャート図である。
【図６】本発明の第一実施例に係るプリンタの制御部の補助印刷要求を受信した場合の処理例を説明するためのフローチャート図である。
【図７】本発明の第一実施例に係るプリンタの制御部の補助印刷要求を受信した場合の処理例を説明するためのフローチャート図である。
【図８】ロック時間制御処理を説明するためのフローチャート図である。
【図９】ロック結果処理を説明するためのフローチャート図である。
【図１０】本発明の第一実施例に係るストレージのハードウェア構成を示すブロック図である。
【図１１】本発明の第一実施例に係るストレージの機能構成例を示すブロック図である。
【図１２】本発明の第一実施例に係るストレージのジョブ管理部の処理例を説明するためのフローチャート図である。
【図１３】本発明の第一実施例に係るストレージのロック時間制御部によるロック時間の制御処理例を説明するためのフローチャート図である。
【図１４】ジョブデータの構造を示す図である。
【図１５】ＰＣから送信される印刷要求のスクリプト例を示す図である。
【図１６】主プリンタからストレージへ送信されるジョブ保存要求のスクリプト例を示す図である。
【図１７】主プリンタから補助プリンタへ送信される補助印刷要求のスクリプト例を示す図である。
【図１８】主プリンタからストレージへ送信されるジョブ取得要求によるページロックの第一スクリプト例を示す図である。
【図１９】主プリンタからストレージへ送信されるジョブ取得要求によるページロックの第二スクリプト例を示す図である。
【図２０】ストレージ２００に保存されている印刷済みのページを削除するページ削除要求のスクリプト例を示す図である。
【図２１】本発明の第二実施例に係る画像形成システムのネットワーク構成例を示す図である。
【図２２】本発明の第二実施例に係るプリンタでの処理例を説明するためのフローチャート図である。
【図２３】複数のストレージが指定される印刷要求のスクリプト例を示す図である。
【図２４】プリンタから複数のストレージへ送信されるジョブ保存要求のスクリプト例を示す図である。
【図２５】本発明の第三実施例に係る画像形成システムのネットワーク構成例を示す図である。
【符号の説明】
４０            ネットワーク
１００、１００−１、１００−２、１００−３  プリンタ
１０１          ジョブ受付部
１０２          ジョブ発行部
１０３          サービス検索部
１０４          通知発行部
１０５          制御部
１０６          印刷処理部
１０７          ロック時間制御部
２００、２００−１、２００−２、２００−３  ストレージ
２０１          要求処理部
２０３          応答処理部
２０５          ジョブ管理部
２０７          ロック時間制御部
２１０          ネットワーク制御部
３００          ＰＣ
【図１】
2004265092.tif 000003
【図２】
2004265092.tif 000004
【図３】
2004265092.tif 000005
【図４】
2004265092.tif 000006
【図５】
2004265092.tif 000007
【図６】
2004265092.tif 000008
【図７】
2004265092.tif 000009
【図８】
2004265092.tif 000010
【図９】
2004265092.tif 000011
【図１０】
2004265092.tif 000012
【図１１】
2004265092.tif 000013
【図１２】
2004265092.tif 000014
【図１３】
2004265092.tif 000015
【図１４】
2004265092.tif 000016
【図１５】
2004265092.tif 000017
【図１６】
2004265092.tif 000018
【図１７】
2004265092.tif 000019
【図１８】
2004265092.tif 000020
【図１９】
2004265092.tif 000021
【図２０】
2004265092.tif 000022
【図２１】
2004265092.tif 000023
【図２２】
2004265092.tif 000024
【図２３】
2004265092.tif 000025
【図２４】
2004265092.tif 000026
【図２５】
2004265092.tif 000027
【手続補正書】
【提出日】平成15年5月1日(2003.5.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正の内容】
【図面の簡単な説明】
【図１】本発明の第一実施例に係る画像形成システムのネットワーク構成例を示す図である。
【図２】本発明の第一実施例に係るプリンタのハードウェア構成を示すブロック図である。
【図３】本発明の第一実施例に係るプリンタの機能構成例を示すブロック図である。
【図４】本発明の第一実施例に係るプリンタの制御部の第一の印刷要求を受信した場合の処理例を説明するためのフローチャート図である。
【図５】本発明の第一実施例に係るプリンタの制御部の第一の印刷要求を受信した場合の処理例を説明するためのフローチャート図である。
【図６】本発明の第一実施例に係るプリンタの制御部の補助印刷要求を受信した場合の処理例を説明するためのフローチャート図である。
【図７】本発明の第一実施例に係るプリンタの制御部の補助印刷要求を受信した場合の処理例を説明するためのフローチャート図である。
【図８】ロック時間制御処理を説明するためのフローチャート図である。
【図９】ロック結果処理を説明するためのフローチャート図である。
【図１０】本発明の第一実施例に係るストレージのハードウェア構成を示すブロック図である。
【図１１】本発明の第一実施例に係るストレージの機能構成例を示すブロック図である。
【図１２】本発明の第一実施例に係るストレージのジョブ管理部の処理例を説明するためのフローチャート図である。
【図１３】本発明の第一実施例に係るストレージのロック時間制御部によるロック時間の制御処理例を説明するためのフローチャート図である。
【図１４】ジョブデータの構造を示す図である。
【図１５】ＰＣから送信される印刷要求のスクリプト例を示す図である。
【図１６】主プリンタからストレージへ送信されるジョブ保存要求のスクリプト例を示す図である。
【図１７】主プリンタから補助プリンタへ送信される補助印刷要求のスクリプト例を示す図である。
【図１８】主プリンタからストレージへ送信されるジョブ取得要求によるページロックの第一スクリプト例を示す図である。
【図１９】主プリンタからストレージへ送信されるジョブ取得要求によるページロックの第二スクリプト例を示す図である。
【図２０】ストレージ２００に保存されている印刷済みのページを削除するページ削除要求のスクリプト例を示す図である。
【図２１】本発明の第二実施例に係る画像形成システムのネットワーク構成例を示す図である。
【図２２】本発明の第二実施例に係るプリンタでの処理例を説明するためのフローチャート図である。
【図２３】複数のストレージが指定される印刷要求のスクリプト例を示す図である。
【図２４】プリンタから複数のストレージへ送信されるジョブ保存要求のスクリプト例を示す図である。
【図２５】本発明の第三実施例に係る画像形成システムのネットワーク構成例を示す図である。
【符号の説明】
４０            ネットワーク
１００、１００−１、１００−２、１００−３  プリンタ
１０１          ジョブ受付部
１０２          ジョブ発行部
１０３          サービス検索部
１０４          通知発行部
１０５          制御部
１０６          印刷処理部
１０７          ロック時間制御部
２００、２００−１、２００−２、２００−３  ストレージ
２０１          要求処理部
２０３          応答処理部
２０５          ジョブ管理部
２０７          ロック時間制御部
２１０          ネットワーク制御部
３００          ＰＣ