以下、本発明を実施するための形態について図面を用いて説明する。
図1は、本発明にかかわる情報処理システムの全体構成を示す図である。なお、以下の説明における情報処理システム全体の環境は本発明の説明を理解しやすくするためのものであり、本発明はこれらの環境に限定されるものではない。
同図において、ネットワーク100に、画像形成装置101、後処理装置102、情報処理装置103が接続されている。画像形成装置101は情報処理装置103などから送信されてくる印字データを含む印刷データを解析し、1ページずつドットイメージに変換して印刷する。また、画像形成装置101は、後処理装置102とネットワーク100を介して通信して制御情報などを送受信する。画像形成装置101から出力された印刷物は、印刷オペレータによるハンドキャリーで後処理装置102へ渡されたり、図示しないベルトコンベアーを介して後処理装置102へ渡されたりする。後処理装置102は、画像形成装置101から出力された印刷物に対して、断裁、製本、折りなどの後処理(後加工)を行う。後処理装置102は、画像形成装置101や情報処理装置103とネットワーク100を介して通信を行うことができる後処理装置である。情報処理装置103上では、ワークフロー管理プログラム、WEBサーバなどのプログラムが動作している。また、画像形成装置101や後処理装置102とネットワーク越しに接続し、画像形成装置101を制御するためのプリンタドライバプログラムなどがインストールされている。図では画像形成装置101、後処理装置102、情報処理装置103はそれぞれ1つであるが、複数であってもよい。情報処理装置103がなくてもよい。また、ネットワーク100はインターネットであってもよく、例えば、情報処理装置103からインターネット越しに画像形成装置101や後処理装置102へとアクセスする構成であってもよい。尚、画像形成装置101は、印刷装置であり、後処理装置102は、印刷物処理装置である。
図2は、本実施形態の画像形成装置101のハードウェア構成図である。画像形成装置101は、操作部204、認証部205、NIC206、CPU209、RAM210、ROM211、記憶部212、画像読取部207、印刷部208を備え、制御部201を介して接続されている。制御部201は、画像形成装置101全体を制御する装置制御部202と、画像データを処理する画像処理部203とを有する。操作部204は、例えばソフトウェアキーボード、タッチパネル、その他入出力装置によって構成され、各種の設定値の入力、および表示をすることが可能である。CPU209は、ROM211内に記憶されたプログラムや、記憶部212からRAM210にロードされたアプリケーション等のプログラムを実行する。すなわち、CPU209が、読み取り可能な記憶媒体に格納された該プログラムを実行することにより、後述する各フローチャートの処理を実行する各処理部として機能する。RAM210は、CPU209のメインメモリであり、ワークエリア等として機能する。画像読取部207は、例えばスキャナーによって構成され、紙文書等を読取ることにより画像データ形式(例えば、JPEG形式やBITMAP形式)の文書画像を取得することができる。制御部201は、記憶部212に記憶された文書画像を操作部204に提供し、操作部204上に文書画像を出力する処理を実行する。また、制御部201は同様に記憶部212に記憶された文章画像を、印刷部208に提供し、印刷部208は、種々の形式で文書画像を出力する処理を実行する。例えば、印刷部208は、文書画像を記憶媒体に出力する処理を実行することができる。あるいはまた、印刷部208は印刷機能を備え、紙媒体等の出力媒体に文書画像を出力する処理を実行してもよい。また、画像形成装置101は、NIC206を介して、ネットワークと接続し、データの送受信を可能とする。NIC206を介して得られたデータは、操作部204上に表示することも可能である。
図3は、本実施形態の後処理装置102のハードウェア構成図である。後処理装置102は、操作部304、NIC305、CPU308、RAM309、ROM310、記憶部311、センサー読取部306、後処理部307を備え、制御部301を介して接続されている。制御部301は、センサー読取部306が読み取ったセンサー情報を処理するセンサー処理部302と、後処理装置102全体を制御する装置制御部303とを有する。操作部304は、例えばソフトウェアキーボード、タッチパネル、その他入出力装置によって構成され、各種の設定値の入力、および表示をすることが可能である。CPU308は、ROM310内に記憶されたプログラムや、記憶部311からRAM309にロードされたアプリケーション等のプログラムを実行する。すなわち、CPU308が、読み取り可能な記憶媒体に格納された該プログラムを実行することにより、後述する各フローチャートの処理を実行する各処理部として機能する。RAM309は、CPU308のメインメモリであり、ワークエリア等として機能する。センサー読取部306は、後処理対象の印刷物のジョブ情報(例えばくるみ製本ジョブの表紙と本文の組み合わせを照合する)などを、カメラなどの装置を介して読み取ることができる。制御部301は、記憶部311に記憶された後処理情報を操作部304に提供し、操作部304上に後処理の設定情報を出力する処理を実行する。また、制御部301は同様に記憶部311に記憶された後処理情報を後処理部307に提供し、後処理部307は、種々の形式で後処理を実行する。また、後処理装置102は、NIC305を介して、ネットワークと接続し、データの送受信を可能とする。NIC305を介して得られたデータは、操作部304上に表示することも可能である。また、後処理装置102は、画像形成装置101で印刷された印刷物を受け取る受取部(不示図)を有する。
図4は、本実施形態の情報処理装置103のハードウェア構成図である。情報処理装置103は一般的なコンピュータ(PC)のハードウェアで構成することができる。図4において、CPU401は、ROM403内のプログラム用ROMに記憶されたプログラムや、外部メモリ410からRAM402にロードされたOS(オペレーションシステム)やアプリケーション等のプログラムを実行する。
すなわち、CPU401が、読み取り可能な記憶媒体に格納された該プログラムを実行することにより、後述する各フローチャートの処理を実行する各処理部として機能する。RAM402は、CPU401のメインメモリであり、ワークエリア等として機能する。キーボードコントローラ404は、キーボード408や図示しないポインティングデバイス(マウス、タッチパッド、タッチパネル、トラックボールなど)からの操作入力を制御する。ディスプレイコントローラ405は、ディスプレイ409の表示を制御する。ディスクコントローラ406は、各種データを記憶するハードディスク(HD)やフレキシブルディスク(FD)等の外部メモリ410へのデータアクセスを制御する。ネットワークコントローラ(NC)407はネットワークに接続されて、ネットワークに接続された他の機器との通信制御処理を実行する。
図5は、本実施形態の情報処理システムにおける、画像形成装置101及び後処理装置102の各機能を示す機能ブロック図である。本実施形態では、図6に示す命令(コマンド)を使って、画像形成装置101と後処理装置102とで通信する例を説明するため、ここでは、画像形成装置101及び後処理装置102の機能ブロック図を説明する。
まず、画像形成装置101の各処理部の機能について述べる。デバイス制御部5101は、ジョブ制御部5102からの印刷指示に応じて画像形成部5112を制御する。ジョブ制御部5102は、印刷ジョブの処理に関する制御を行う。すなわち、ジョブ情報記憶部5107に記憶されている印刷ジョブ情報や後処理装置102から受信した命令をもとにデバイス制御部5101へ印刷処理に関する指示を行ったり、後処理装置102へ後処理に関する命令を送ったりする。命令解析部5103は、後処理装置102や情報処理装置103から受信した命令(例えば、後述する図6に示すようなコマンド)の解析を行う。命令生成部5104は後処理装置102や情報処理装置103へ送信する命令(例えば、後述する図6に示すようなコマンド)の生成を行う。通信処理部5105は、後処理装置102や情報処理装置103とデータ通信を行う。ジョブ情報管理部5106は、ジョブ情報記憶部5107に記憶されている印刷ジョブ情報の管理を行う。ジョブ情報記憶部5107は、画像形成装置101において印刷処理を行うための印刷ジョブに関する情報を記憶する。図12(c)は、ジョブ情報記憶部5107で記憶されている情報の一例で、画像形成装置101で保持しているジョブのリスト1700である。リスト1700には、ジョブID1701、ジョブ名1702、プリントキューにあるかホールドキューにあるかを示すキューの情報1703、処理中か待機かなどの状態1704、一時停止命令受信したかどうかの情報1705、一時停止理由1706が含まれる。画像形成部5112は印刷処理を行う処理機構である。理由判定部5108は、後処理装置102から受信した命令が一時停止命令の場合、一時停止命令に記述された一時停止理由を取得する。取得部5110は、一時停止理由の内容、あるいは後処理装置の種類に基づいて、一時停止時間を取得する。
まず、一時停止理由の内容に基づいて、一時停止時間を取得する場合を説明する。図12(a)のリスト1200を用いて、一時停止理由の内容に基づいた一時停止時間を取得する。図12(a)は、一時停止理由の内容と一時停止時間が関連付けられたリスト1200である。このリストは、画像形成装置101の保持部で保持している。1201は、一時停止理由の内容である。1201に登録される値は、一時停止命令の一時停止理由に記述される値と同一であるである。1202は、一時停止時間を表す。1203は、1202に登録された数値の単位を表す。1203に登録可能な値は「日」、「時」、「分」、「秒」のいずれかである。尚、1201における「DoorOpen」は、後処理装置に付属のドアがオープンになっていることを示し、「PaperJam」は、紙ジャムを示す。「ObliqueSheet」は、紙が斜めに搬送されたことを示す。「BadFeed」は、フィーダーにおける紙のフィードが正しくないことを示す。「OutputAreaFull」は、成果物の出力先がいっぱいになったことを示し、「WasteFull」は、ゴミがいっぱいになったことを示す。
後処理装置の種類に基づいて、一時停止時間を取得する方法について説明する。図12(b)のリスト1300を用いて、後処理装置の種類に基づく一時停止時間を取得する。図12(b)は、後処理装置と、その後処理装置で1つのリソースを処理するために必要な処理時間とを示すリスト1300である。このリスト1300は、画像形成装置101の保持部で保持している。1301は後処理装置名で、1302は1つのリソースを処理するために必要な処理時間、1303は時間の単位を表す。例えば、装置名が後処理装置102の場合は、リソースを1つ生成するために必要な時間が90秒となる。
再印刷判定部5111は、後処理装置102から受信した命令に記述されたデバイスIDを取得する。具体的には、図6(a)のPauseコマンドのDeviceID属性から値を取得する。そして、再印刷判定部5111は、デバイスIDに応じて、くるみ製本機や断裁機、折り機といったデバイスの種類を判定し、さらに一時停止理由の内容とを見て、再印刷要否を判定する。例えば、後処理装置102の種類がくるみ製本機で、一時停止理由の内容が紙の二重給紙だった場合、紙をくるみ製本機から取り出して再利用できるので、再印刷は不要と判定する。逆に、後処理装置102の種類が断裁機で、一時停止理由の内容が紙の二重給紙だった場合、既に紙が断裁されてしまっており、再印刷が必要と判定する。
次に、後処理装置102の各処理部の機能について述べる。通信処理部5201は、画像形成装置101や情報処理装置103とデータ通信を行う。命令解析部5202は、画像処理装置101や情報処理装置103から受信した命令(後述する図6に示すようなコマンド)の解析を行う。命令生成部5203は画像形成装置101や情報処理装置103へ送信する命令(後述する図6に示すようなコマンド)の生成を行う。ジョブ制御部5204は、後処理装置102において後処理を行う後処理ジョブの処理に関する制御を行う。すなわち、ジョブ情報記憶部5206に記憶されている後処理ジョブの情報や画像形成装置101から受信した命令をもとにデバイス制御部5205へ後処理に関する指示を行ったり、画像形成装置101へ印刷処理に関する命令を送ったりする。デバイス制御部5205は、ジョブ制御部5204からの印刷指示に応じて後処理部5208を制御する。ジョブ情報記憶部5206は、後処理装置102において後処理を行うための後処理ジョブに関する情報を記憶する。後処理ジョブの情報には、各ジョブに対してどのような後処理を実施すべきかを示す指示情報も含まれる。例えばくるみ製本を行う後処理であれば、表紙・本文の用紙サイズや用紙種類、仕上がりサイズなどの情報が含まれている。これらの情報は、あらかじめ情報処理装置103などから受信したり、後処理装置102の操作部304から操作者が入力したりする。ジョブ情報管理部5207は、ジョブ情報記憶部5206に記憶されている後処理ジョブの情報の管理を行う。後処理部5208は後処理を行う処理機構である。
検知部5209は、後処理装置102において実行中の処理が中断した原因を検知する。受付部5210は、後述する操作パネル(操作部)から通信相手の処理を一時的に停止するための命令の入力を受け付ける。
図6は、本実施形態の情報処理システムにおいて、画像形成装置101の命令生成部5104および後処理装置102の命令生成部5203が生成する命令(コマンド)のフォーマットの一例を示す図である。なお、命令のやりとりを示すシーケンスは、図7にて説明する。
図6(b)は、自装置での処理を開始することを通信相手に通知する、あるいは処理を開始したことを通信相手に通知する、あるいは処理の再開を通信相手に確認するための命令である。本実施形態では、これらの命令を、まとめて、出力通知命令、あるいは、“Push”コマンドと呼ぶ。例えば、画像形成装置101からの印刷物を後処理装置102へ出力通知命令を受け渡すことで、後処理装置102における後処理の実行を指示することができる。
6200は、通信を開始するために画像形成装置101から後処理装置102に送信される出力通知命令の例である。62001でType=“PipePush”と記述し、さらにxsi:type=“CommandPipePush”と記述することにより、出力通知命令となる。62002におけるPipeParams要素のPipeID=“PipeSheet”によって、通信(Pipe)のIDを指定している。ここで、“PipeSheet”は、PipeIDの一例であって、IDの付与の仕方は何でも構わない。PipeIDを用いることで、どの通信に関する命令かを特定することができる。なお、通信が開始された後、画像形成装置101が後処理装置102にリソース(例えば、印刷物)を出力する度に、この出力通知命令が後処理装置102に送信される。
6201は、画像形成装置101にてリソース(例えば、印刷物)が出力されたことを後処理装置102に通知する出力通知命令の例である。62011は、画像形成装置101が35セット目の本文を7部のうち、1部出力したことを後処理装置102に通知している。
6202は、一時的に停止された処理の再開をしてよいかを後処理装置102に確認するため、画像形成装置101が後処理装置102に送信する出力通知命令の例である。62021では、Part要素のSetIndex=“34〜−1”と指定することで、34セット目から処理を再開してよいか確認している。なお、“−1”は最後までという意味である。
6203は、一時的に停止していた処理が再開した後、画像形成装置101にてリソース(例えば、印刷物)が出力されたことを後処理装置102に通知する出力通知命令である。62031では、34セット目から処理を再開したことを示している。尚、画像形成装置101がリソースを出力する度に、出力通知命令が後処理装置102に送信される。
図6(a)は、通信相手の処理を一時的に停止するための命令である。この命令を、本実施形態では、一時停止命令、あるいは“Pause”コマンドと呼ぶことにする。例えば、後処理装置102から画像形成装置101へこの命令(“Pause”コマンド)を送信することで、画像形成装置101における印刷処理の停止を指示することができる。尚、本実施形態では後処理装置102から画像形成装置101へこの命令(“Pause”コマンド)を送信する例を説明する。
6100は、後処理装置102において紙ジャムが発生して後処理が実行できないため、画像形成装置10の処理を一時的に停止したい場合に、後処理装置102から画像形成装置101に送信される一時停止命令である。本実施形態では、一時停止命令とともに、一時停止した理由情報を、通信相手に送る例を説明する。61001でType=“PipePause”と記述し、さらにxsi:type=“CommandPipePause”と記述することにより、一時停止命令となる。61002のPipeParams要素は通信相手に対する指示を記述するパラメータである。Reason=“Error”と記述することで、システムに影響のある中断が発生したことを表すことができる。StatusDetails=“PaperJam”と記述することで、後処理装置102において紙ジャムが発生したことを表すことができる。61003のPart要素のCondition=“Waste”及びSetIndex=“34 35”は、紙ジャムが発生したことにより、34セット目と35セット目が後処理装置102にてヤレ紙になったことを画像形成装置101に対して通知している。尚、ヤレ紙とは、製品として使用できなくなった印刷物のことである。
6101は、後処理装置102において後処理装置102のドアが開けられた際に、後処理装置102から画像形成装置101に送信される一時停止命令である。61004のPipeParams要素のReason=“Warning”と記述することで、システムに影響のない中断が発生したことを表す。StatusDetails=“DoorOpen”と記述することで、後処理装置102のドアが開けられたことを表す。
6102は、後処理装置102においてリソースの数が所定値を超えた際に、後処理装置102から画像形成装置101に送信される一時停止命令である。リソースの数が所定値を超えた場合というのは、例えば、画像形成装置101からベルトコンベアーなどでリソース(印刷物)が送られてきて、後処理装置102で処理されていないリソースの数が所定値を超え、後処理装置102で処理に支障がでる場合である。つまり、後処理装置102で処理しきれていないことを表す。61005のPipeParams要素のReason=“ExceededIntendedQuantity”と記述することで、リソースの数が所定値を超えたことによる一時停止が発生したことを表すことができる。なお、所定値は、図13に示す印刷用のジョブチケットと後処理用のジョブチケットのComponent要素のPipePause属性及びPipeResume属性に記述することで表現できる。PipePause属性は、所定値を意味する。リソースの生産量が、PipePause属性に記述された値に達した場合、通信相手に一時停止命令が送信される(例えば、画像形成装置101がリソースを100セット生成した時点で、後処理装置102は一時停止命令を送信する)。
図6(c)は、通信相手へ処理(例えば、成果物の生成)を指示するための命令である。本実施形態では、この命令を、出力要求命令、あるいは、“Pull”コマンドと呼ぶ。例えば、後処理装置102から出力要求命令を画像形成装置101へ送信することで、画像形成装置101へ印刷の指示を行うことができる。
6300は、後処理装置102から画像形成装置101に送信される出力要求命令の例である。63001でType=“PipePull”と記述し、さらにxsi:type=“CommandPipePull”と記述することにより、出力要求命令となる。6300においては、後処理装置において紙ジャムが解消されたので、後処理装置102が、6100にて一時的に停止された処理を再開するように画像形成装置101に指示している例を示している。そのため、63002でPart要素のSetIndex=“34〜−1”と記述することで、34セット目から処理を再開するように指示している。なお、“−1”は最後までという意味である。
図6(d)は、通信相手へ通信の終了を通知するための命令である。本実施形態では、この命令を、終了命令、あるいは“Close”コマンドと呼ぶ。本実施形態では、画像形成装置101が後処理装置102に本命令を送信する例を示している。しかし、後処理装置102が画像形成装置101へ本命令を送信することも可能である。6400は、画像形成装置101が後処理装置102に送信する終了命令の例である。64001でType=“PipeClose”と記述し、さらにxsi:type=“CommandPipeClose”と記述することにより、終了命令となる。64002では、PipeParams要素のPipeID=“PipeSheet”を参照し、PipeIDがPipeSheetである通信を終了することを表している。
尚、図6で示した命令(コマンド)の記述方法は一例であって、他の記述方法であってもよい。また、ここで説明した以外の命令(コマンド)を用いて、画像形成装置101と後処理装置102で命令のやりとりをしてもよい。さらに、画像形成装置101と後処理装置102で命令のやりとりする際のコマンドを示したが、画像形成装置101と後処理装置102とば別の装置間でこれらのコマンドをやりとりしてもよい。
図7は、本実施形態の情報処理システムにおいて、図6に示した命令(コマンド)を使って画像形成装置101と後処理装置102が通信する処理の流れの例を示したシーケンス図である。
図7において、701では、画像形成装置101の命令生成部5104が印刷処理を開始する際に対象ジョブの後処理を行う後処理装置102へ接続を確立するためのコマンド(接続命令)を生成して通信処理部5105を介して送信する。具体的には、画像形成装置101は、図13(b)の後処理用のジョブチケットを後処理装置102に送信する。701のコマンドによって、画像形成装置101と後処理装置102の間の接続が開始される。コマンドを受信した後処理装置102の命令解析部5202は、受信したコマンドを解析してその結果(接続OKまたはNG)を画像形成装置101へ送信する。
図13(b)は、後処理用のジョブチケットである。後処理用のジョブチケットは、後処理装置102で処理されるために用いられるジョブチケットである。図13(b)のComponent要素にPipeID=“PipeSheet”を指定する(1601)ことで、PipeSheetというIDを持つ通信が確立される。つまり、図13(b)の後処理用のジョブチケットにPipeIDが記述されることにより、後処理装置102に対する接続命令となる。図13(b)のComponent要素のPipeURL属性にURL(Uniform Resource Identifier)を記述する(1602)ことで、通信の接続先を指定できる。図13(b)のComponent要素にPipeProtocol=“JMFPush”と指定することで(1603)、画像形成装置101が通信を初期化することを定義する。PipePause属性(1604)とPipeResume属性(1605)は、通信を一時的に停止するか再開するかの既定値を定義することができる。PipePause属性に記述された値にリソースが達した時点で、後処理装置102が画像形成装置101に一時停止命令(“Pause”コマンド)を送信する。PipeResume属性に記述された値にリソースが達した時点で、後処理装置102が画像形成装置101に処理再開命令(“Pull”コマンド)を送信する。
なお、図13(a)は、印刷用のジョブチケットの例である。印刷用のジョブチケットは、画像形成装置101で処理されるために用いられるジョブチケットである。印刷用のジョブチケットには、例えば、両面印刷設定やホチキス設定、用紙情報といった画像形成装置101が印刷をする上で必要な印刷設定が記述されている。また、図13(a)に示す印刷用のジョブチケットは、画像形成装置101の操作部204に入力された印刷設定を基に、ジョブ制御部5102が生成してもよい。あるいは情報処理装置103が生成して画像形成装置101が通信処理部5105経由で受信してもよい。
702では、画像形成装置101が後処理装置102に対して図6(b)の6200に示す出力通知命令(“Push”コマンド)を送信することで、印刷物の出力(リソースが出力されたこと)を通知する。コマンドを受信した後処理装置102の命令解析部5202は、受信したコマンドを解析してその結果(OKまたはNG)を画像形成装置101へ送信する。
703では、画像形成装置101での印刷処理が開始されると、後処理装置102で後処理を行うリソースごとに“Push”コマンド(例えば、図6(b)の6201)を命令生成部5104が生成し、後処理装置102へ送信する。後処理装置では受信したリソースに対する後処理が行われる。コマンドを受信した後処理装置102の命令解析部5202は、受信したコマンドを解析してその結果(OKまたはNG)を画像形成装置101へ送信する。703は、リソース分の“Push”コマンドが後処理装置102へ送信される。
704では、後処理装置102において、処理の中断が発生したことを表している。705では、後処理装置102が、画像形成装置101に対して印刷処理の一時停止を示す“Pause”コマンドを命令生成部5203が生成し、画像形成装置101へ送信する。本コマンドは、後処理装置102においてリソースのバッファが既定値を超えたために通知するケースや、後処理装置102において機器エラーが発生したために通知するケースなどがある。例えば、後処理装置102は、画像形成装置101に図6aの6100を送信する。コマンドを受信した画像形成装置101の命令解析部5202は、受信したコマンドを解析してその結果(OKまたはNG)を後処理装置102へ送信する。
706では、画像形成装置101が、後処理装置102に処理を再開してよいかを確認するための命令(“Push”コマンド)を送信する。具体的には、画像形成装置101は後処理装置102に図6(b)の6202を送信する。図6(b)の6202は、34セット目から印刷を再開した場合の出力通知命令である。出力通知命令を受信した、後処理装置102がまだ処理再開できない場合、後処理装置102は印刷処理が再開したと認識し、一時停止命令を画像形成装置101に送信する。この仕組みにより、画像形成装置101は、処理を再開してよいか後処理装置102に確認することができる。コマンドを受信した後処理装置102の命令解析部5202は、受信したコマンドを解析してその結果(OKまたはNG)を画像形成装置101へ送信する。
707では、後処理装置102において、704にて発生した中断が解消されたことを表している。708では、後処理装置102が、画像形成装置101に出力要求命令(“Pull”)を送信する。具体的には、図6(c)の6300を送信する。コマンドを受信した画像形成装置101の命令解析部5202は、受信したコマンドを解析してその結果(OKまたはNG)を後処理装置102へ送信する。709では、画像形成装置101が、後処理装置102にリソースを出力する度に出力通知命令(“Push”)を送信する。具体的には、画像形成装置101は、後処理装置102に図6(b)の6203を送信する。コマンドを受信した後処理装置102の命令解析部5202は、受信したコマンドを解析してその結果(OKまたはNG)を画像形成装置101へ送信する。710では、画像形成装置101がすべてのリソースの出力が完了したために現在の接続を終了することを示す“Close”コマンドを命令生成部5104が生成し、後処理装置102へ送信する。具体的には、画像形成装置101は、後処理装置102に図6(d)の6400を送信する。コマンドを受信した後処理装置102の命令解析部5202は、受信したコマンドを解析してその結果(OKまたはNG)を画像形成装置101へ送信する。
本実施形態では、コマンドを受信した際、受信したコマンドを解析してその結果(OKまたはNG)を送るが、OKを受けった場合は、それ以降の処理を継続し、NGを受けった場合は、それ以降の処理を行わない。尚、図7では、画像形成装置101と後処理装置102におけるシーケンスを示したが、これらの装置間に限定されることはない。
図8は本実施例の後処理装置102において、他の装置から命令(コマンド)を受信してから命令に対する処理を実行するまでの流れについて説明している。各フローに係るプログラムは後処理装置102記憶部311に格納されており、RAM309に読み出され、CPU308により実行される。
S801では、通信処理部5201が命令(コマンド)を受信したかを判定する。命令を受信した場合はS802へ処理を移行する。S802では、命令解析部5202が受信した命令(コマンド)を解析する。S803では、命令解析部5202が解析した命令が図16に示した接続命令であるかを判定する。具体的には、命令解析部5202は、図16のComponent要素にPipeID属性が指定されているかどうかを確認し、PipeID属性が指定されている場合は接続命令であると判定する。PipeID属性が指定されていない場合は接続命令ではないと判定する。接続命令である場合はS804へ処理を移行し、接続命令ではない場合はS810へ処理を移行する。S804では、通信処理部5201が画像形成装置101との通信のための接続開始処理を行う。まず、通信処理部5201は、受信した前記命令をジョブ情報記憶部5206に格納する。次に、通信処理部5201は、前記命令に記述されたPipeIDを基に、通信を確立する。具体的には、通信処理部5201は、図16のComponent要素にPipeID=“PipeSheet”を取得し、PipeSheetというIDを持つ接続を作成し、画像形成装置101とのソケットの初期化を行う。
S805では、命令解析部5202が解析した命令が出力通知命令(“Push”)であるかを判定する。出力通知命令である場合はS806へ処理を移行し、出力命令ではない場合はS818へ処理を移行する。S806では、ジョブ制御部5204がデバイス制御部5205へ後処理の実行を指示し、後処理部5208において後処理が実行される。
S807では、ジョブ制御部5204が、受付部5210からの一時停止指示を検知する、あるいはデバイス制御部5205からの一時停止指示を検知する。検知した場合はS808へ処理を移行し、検知していない場合は処理を終了する。なお、一時停止指示には、一時停止理由の情報が含まれる。一時停止指示の作成主体は、受付部5210であってもよいし、デバイス制御部5205であってもよい。システムに影響があり一時停止した場合(例えば、断裁機で紙が斜行して断裁された、紙ジャム、マシントラブル等)場合、後処理部5208がシステムに影響が出たことを検知し、デバイス制御部5205に検知結果を通知する。その後、デバイス制御部5205は、一時停止指示を作成し、ジョブ制御部5204に通知する。システムに影響がないが一時停止した場合(例えば、後処理装置102のドアが開かれた等)場合、デバイス制御部5205は後処理装置102の状況を検知し、一時停止指示を作成し、ジョブ制御部5204に通知する。受付部5210が一時停止指示を作成し、ジョブ制御部5204に通知する。
S808では、検知部5209が、一時停止の理由を取得する。S807にて検知した一時停止指示から一時停止の理由を取得する。後処理装置102で検知された一時停止であれば、一時停止した理由を取得する。後述する図14のジョブの一時停止画面を用いて一時停止が指示された場合は、図14のジョブの一時停止画面に入力された一時停止理由を取得する。
図14は、図3にて示した後処理装置102の操作部304に表示されるジョブの一時停止画面の例である。1401は、ジョブIDを受け付けるテキストボックスである。1401に入力されたジョブIDを基に、ジョブ情報記憶部5206に格納されているジョブが特定される。1402は、画像形成装置101とやりとりされているジョブ毎の通信を特定するPipeIDを受け付けるテキストボックスである。なお、1402のユーザーインターフェースのコントロールは、ジョブ毎の通信を特定できるものであればよく、例えばドロップダウンリストやリストボックスであってもよい。1406は、通信相手との処理を一時的に停止する命令を発行するボタンである。1406の一時停止ボタンが押下されると、画像形成装置101に一時停止命令が送信される。尚、図14では、ジョブの一時停止画面を介して、一時停止の理由などを入力する例を説明したが、入力する方法はこれに限らず、例えば、一時停止の理由を示したバーコードを用いて入力しても構わない。
S809では、検知部5209が、S808にて一時停止理由が取得できたかどうかを判定する。一時停止理由を取得できた場合はS810へ処理を移行し、一時停止理由を取得できない場合はS811へ処理を移行する。S810では、命令生成部5203が、一時停止理由を含む一時停止命令(“Pause”コマンド)を生成する。S811では、命令生成部5203は、一時停止理由を含まない一時停止命令(“Pause”コマンド)を生成する。
S812では、通信処理部5201が、S810あるいはS811で生成した一時停止命令を画像形成装置101へ送信する。
S813では、ジョブ制御部5204がデバイス制御部5205へ後処理の一時停止を指示し、後処理部5208において後処理が停止される。S814では、ジョブ制御部5204が、受付部5210からの一時停止解除指示を検知する、あるいはデバイス制御部5205からの一時停止解除指示を検知する。一時停止解除指示を受信した場合は、S815へ処理を移行し、一時停止指示を受信しない場合は、S813へ処理を移行し一時停止を継続する。
S815では、命令生成部5203が、図7の708にて示したとおり、画像形成装置101に対する処理再開を指示するための出力要求命令(“Pull”コマンド)を生成する。
S816では、通信処理部5201がS813で生成した前記出力要求命令を画像形成装置101へ送信する。S815では、ジョブ制御部5204がデバイス制御部5205へ後処理の処理再開を指示し、後処理部5208において後処理が再開される。
S818では、命令解析部5202が解析した命令が一時停止命令(“Pause”コマンド)であるかを判定する。一時停止命令である場合はS819へ処理を移行し、一時停止命令ではない場合はS820へ処理を移行する。S819では、ジョブ制御部5204がデバイス制御部5205へ後処理の一時停止を指示し、後処理部5208において後処理が停止される。
S820では、命令解析部5202が解析した命令が終了命令(“Close”コマンド)であるかを判定する。終了命令である場合はS821へ処理を移行し、終了命令ではない場合はS822へ処理を移行する。S821では、通信処理部5201が画像形成装置101との接続を終了する。また、ジョブ制御部5204が後処理部5208での後処理の終了を待機して、後処理が終了したらデバイス制御部5205へ後処理の終了を通知し、ジョブ情報記憶部5206からジョブ情報を削除する。S822では、命令解析部5202での解析に失敗したことを、通信処理部5201を介して画像形成装置101へ通知する。
図9は、本実施形態の画像形成装置101において、印刷処理を開始してから印刷処理が終了するまでの流れについて説明している。各フローに係るプログラムは画像形成装置101の記憶部212に格納されており、RAM210に読み出され、CPU209により実行される。
S901では、ジョブ制御部5102が通信処理部5105を介して他の装置からの印刷ジョブを受信することによって、または、操作部204への操作によって、印刷指示を受けたかを判定する。印刷ジョブは、例えば、情報処理装置103、あるいは、後処理装置102から受信する。印刷指示を受けた場合はS902へ処理を移行する。S902では、命令生成部5104が、図7の701に示したとおり、通信を行うための接続開始命令(図16の1600)を生成する。S903では、命令生成部5104がS902で作成した接続開始命令を、通信処理部5105を介して通信先の装置へ送信する。尚、本実施形態において、図9で説明する、通信先の装置とは、後処理装置102である。
S904では、ジョブ制御部5102がデバイス制御部5101を介して画像形成部5112での印刷処理を開始する。例えば、印刷処理は成果物の単位(例えば1部ずつ)に順次実行される。S905では、命令生成部5104が印刷処理を開始したことを通知する命令(“Push”コマンド)を作成する。S906では、命令生成部5104がS903で作成した命令(“Push”コマンド)を、通信処理部5105を介して通信先の装置へ送信する。
S907では、通信処理部5105が命令(コマンド)を受信したかを判定する。命令を受信した場合はS906へ処理を移行する。S908では、通信処理部5105が図10に示す命令受信処理を行う。S909では、ジョブ制御部5102が指示を受けた印刷ジョブの処理がすべて完了したか(例えば全部数の印刷が完了したか)を判定する。すべて完了した場合はS910へ処理を移行し、処理すべき印刷ジョブが残っている場合はS905へ処理を移行する(例えば次の部の印刷処理を行う)。
S910では、命令生成部5104が処理の終了を示す命令(“Close”コマンド)を作成する。S911では、命令生成部5104がS910で作成した命令(“Close”コマンド)を、通信処理部5105を介して通信先の装置へ送信する。
図10は、図9のS906における命令受信処理の流れについて説明している。各フローに係るプログラムは画像形成装置101の記憶部212に格納されており、RAM210に読み出され、CPU209により実行される。
S1001では、命令解析部5103が受信した命令(コマンド)を解析する。S1002では、命令解析部5103が解析した命令が出力命令(“Pull”)であるかを判定する。出力命令である場合はS1003へ処理を移行し、出力命令ではない場合はS1008へ処理を移行する。
S1003では、ジョブ制御部5102が、図12(c)に示すリスト1700の一時停止命令受信したかを示す情報1705を確認し、当該処理は後処理装置によって一時的に停止されたかを確認する。一時停止されている場合はS1004へ処理を移行し、一時停止されていない場合はS1005へ処理を移行する。
S1004では、理由判定部5108が、図12(c)のリスト1700の一時停止理由1706を確認し、一時停止理由の内容がくるみ製本における表紙と本文のミスマッチだったかを確認する。ミスマッチの場合はS1006へ処理を移行し、ミスマッチでない場合はS1105へ処理を移行する。なお、一時停止理由の内容がくるみ製本における表紙と本文のミスマッチだった場合、その後の成果物も表紙と本文の順序がバラバラの可能性が高い。仮に該当する表紙と本文を再印刷したとしても、エラーは解消されない。また、個人情報を扱うバリアブル印刷を行っている場合は、表紙と本文がそれぞれ別な人のものである可能性が高く、成果物として納品できない状況である。他人の情報が紛れ込まないために、今まで印刷した印刷物をすべて破棄してでも、最初からやり直すことが必要となる。
S1005では、ジョブ制御部5102がデバイス制御部5101を介して画像形成部5112での印刷処理を実行する。
S1006では、ジョブ制御部5102が、画像形成装置101の操作部204に警告を通知する。S1007では、ジョブ制御部5102が、ジョブの最初から印刷処理を行う。
S1008では、命令解析部5103が解析した命令が一時停止命令(“Pause”コマンド)であるかを判定する。一時停止命令である場合はS1009へ処理を移行し、一時停止命令ではない場合はS1012へ処理を移行する。S1009では、命令解析部5103が解析した命令内に一時停止理由があるかを判定する。一時停止理由がある場合はS1011へ処理を移行し、一時停止理由がない場合はS1010へ処理を移行する。S1010では、ジョブ制御部5102がデバイス制御部5101へ印刷処理の一時停止を指示し、画像形成部5112での印刷処理が停止される。また、図12(c)に示すリスト1700の一時停止命令受信したかを示す情報1705を、「あり」とする。
S1011では、ジョブ制御部5102が図11に示す一時停止理由に応じた印刷処理を行う。また、図12(c)にリスト1700の一時停止命令受信したかを示す情報1705「あり」にし、さらに受信した一時停止命令に記述された一時停止理由を、図12(c)にリスト1700の一時停止理由1706に保存する。S1012では、命令解析部5102が解析した命令が終了命令(“Close”コマンド)であるかを判定する。終了命令である場合はS1013へ処理を移行し、終了命令ではない場合はS1014へ処理を移行する。
S1013では、通信処理部5105が接続中の装置との接続を終了する。また、ジョブ制御部5102が画像形成部5112での印刷処理の終了を待機して、印刷処理が終了したらデバイス制御部5101へ後処理の終了を通知し、ジョブ情報記憶部5107から当該ジョブ情報を削除する。S1014では、命令解析部5103での解析に失敗したことを、通信処理部5105を介して接続中の装置へ通知する。
図11は、図10のS1011における一時停止理由に応じた印刷処理の流れについて説明している。各フローに係るプログラムは画像形成装置101の記憶部212に格納されており、RAM210に読み出され、CPU209により実行される。
S1101にて、理由判定部5108は、一時停止命令(“Pause”コマンド)から一時停止理由を取得する。具体的には、図6(a)のReason属性の値を取得する。また、StatusDetails属性があれば、その値も取得する。S1103にて、理由判定部5108は、取得した一時停止理由が、リソースの数が所定値を超えた(“ExceededIntendedQuantity”)と判定された場合は、S1114へ処理を移行する。超えてないと判定された場合はS1114へ処理を移行する。
S1104にて、理由判定部5108は、取得した一時停止理由が、保持しているリストに記載されている一時停止理由かどうかを判定する。具体的には、Reason属性やStatusDetails属性値が、図12(a)のリスト1200の1201に含まれるかどうかを判定する。Reason属性やStatusDetails属性値がリスト1200の1201に含まれる場合はS1108へ処理を移行する。Reason属性やStatusDetails属性値が1201のリストに含まれない場合はS1105へ処理を移行する。
S1105にて、ジョブ制御部5102は、後処理装置102から一時停止命令を受けたジョブの処理を一時的に停止する指示をデバイス制御部5101に対して行う。デバイス制御部5101は、ジョブの処理を一時的に停止する。
S1106にて、ジョブ制御部5102は、処理を再開してよいかの確認命令(“Push”コマンド)を作成するよう、命令生成部5104に指示を出す。命令生成部5104は、当該指示を受けて、処理を再開してよいかの確認命令(“Push”コマンド)を作成する。確認命令に対するレスポンスは、一時停止命令(“Pause”コマンド)あるいは出力要求命令(“Pull”コマンド)のいずれかである。レスポンスに対する画像形成装置101の処理は、図10に示す通りである。S1107にて、通信処理部5105は、命令生成部5104が生成した前記命令を後処理装置102に送信する。S1107は、一時停止命令を取得してから所定の時間経過後に送るようにする。
S1108にて、取得部5110は、一時停止理由の内容に基づいて、一時停止時間を取得する。具体的には、図6(a)のReason属性あるいはStatusDetails属性の値と一致する項目を図12(a)の1201から特定し、特定された項目の待機時間を図12(a)の1202と1203から取得する。図6(a)の6101の場合は、StatusDetails属性の値がDoorOpenなので、90秒という値を取得できる。S1109にて、ジョブ制御部5102は、後処理装置102から一時停止命令を受けたジョブの処理を一時的に停止する指示をデバイス制御部5101に対して行う。デバイス制御部5101は、ジョブの処理を一時的に停止する。
S1114は、ジョブ制御部5102は、一時停止時間内に処理可能な別のジョブを処理する。具体的には、画像形成装置101でプリント待ちのジョブであって、かつ、後処理装置102で処理しないジョブであって、かつ、一時停止時間内に処理が可能なジョブを処理する。一時停止時間内に処理が可能かどうかは、プリントジョブ毎に、推測処理時間を持たせ、それを用いて判定する。
S1110にて、ジョブ制御部5102は、一時停止時間を過ぎたかどうかの判定をする。一時停止時間を過ぎた場合はS1111へ処理を移行し、過ぎていない場合はS1110へ処理を移行する。S1111にて、再印刷判定部5111は、一時停止命令に記述されたデバイスIDを取得し、後処理装置102の種類を判定する。さらに、一時停止理由の内容に応じて、再印刷が必要かどうかを判定する。例えば、断裁機の場合、紙の二重搬送が発生したら、その紙を印刷からやり直す必要がある。一方、くるみ製本機で紙の二重搬送が発生したら、くるみ製本機のドアを開けて紙を取り出し、確認せずに印刷再開できる。そのため、デバイスの種類(例えば、断裁機)および一時停止理由(例えば、紙の二重搬送)を確認し、再印刷が必要かどうかを判定する。尚、判定は、デバイスの種類と一時停止理由毎に、再印刷が必要かどうかの情報をリストで保持しておき、そのリストを用いることで判定する。
S1112にて、ジョブ制御部5102は、再印刷判定部5111によって再印刷が必要と判定された場合はS1105へ処理を移行し、再印刷が必要のないと判定された場合はS1113へ処理を移行する。S1113にて、ジョブ制御部5102は、ジョブの処理を再開する。S1114にて、算出部は、リソースの数が所定値以下になるまでの時間を算出する。図12(b)は、後処理装置とその後処理装置にてリソースを1つ処理するのに必要な時間を示すリスト1300である。リスト1300から、後処理装置102にてリソース1つを処理するのに必要な時間を取得し、リソースの数が所定値以下になるまでの時間を算出する。尚、後処理装置で複数種類の後処理を行う場合は、後処理の種類も考慮して算出する。
本実施形態では、S1107で一時停止命令を取得してから所定の時間経過後に再開確認を送るようにしたが、S1106、S1107を省略してもよい。その場合は、画像形成装置101は、後処理装置102から、出力要求命令を受信するまで、処理を停止する。
本実施形態によれば、一時停止理由から一時停止時間が推測できる場合は、画像形成装置は、その一時停止時間内に、別のジョブを処理することが可能になる。一時停止理由から一時停止時間が推測ものとして、リソースの数が所定値を超えた場合と、図12(a)のリストに記載の一時停止理由を説明したが、これらは一例である。
さらに、本実施形態によれば、一時停止理由から一時停止時間が推測できる場合は、画像形成装置は、一時停止時間経過後、再開確認することなく、処理を再開し、後処理装置は、再開指示をすることなく、印刷物を受け取ることができる。そのため、後処理装置も画像形成装置も、不必要な処理をすることなくスムーズに再開ができ、生産性を上げることができる。
また、仮に、後処理装置が、画像形成装置に、一時停止命令だけを送った場合、画像形成装置は、停止時間が推測できないので、一時停止時間が長い場合であっても、別のジョブを処理できない。あるいは、画像形成装置は、停止時間が推測できないので、とりあえず、別のジョブを始めてしまう場合も考えられる。その場合は、後処理装置での処理再開が遅れてしまうことがある。本実施形態によれば、後処理装置が、画像形成装置に、一時停止命令だけでなく、一時停止理由も送ることから、一時停止時間が推測でき、結果として、画像形成装置の生産性も、後処理装置の生産性も上げることができる。
<その他の実施形態>
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能をソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。