JP4226361B2 - 画像通信方法及び画像形成装置 - Google Patents
画像通信方法及び画像形成装置 Download PDFInfo
- Publication number
- JP4226361B2 JP4226361B2 JP2003065035A JP2003065035A JP4226361B2 JP 4226361 B2 JP4226361 B2 JP 4226361B2 JP 2003065035 A JP2003065035 A JP 2003065035A JP 2003065035 A JP2003065035 A JP 2003065035A JP 4226361 B2 JP4226361 B2 JP 4226361B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- job
- reception
- timeout
- forming apparatus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【発明の属する技術分野】
本発明は、画像通信方法及び画像形成装置に関するものである。
【0002】
【従来の技術】
従来、印刷装置等の画像形成装置は、大きく分けて二つのユニットによって構成されている。まず、一つは、定型サイズの用紙、封筒、OHPシート等の物理的な記録媒体を吸引及び搬送し、該記録媒体上にインクやトナーなどを用いて白黒やカラーの像を形成して排出する機構である印刷ユニットであり、もう一つは、ホストコンピュータから印刷データを受信し、該印刷データを処理して前記記録媒体上の像を表すデータ(以下、「ビデオデータ」という。)を生成し、前記印刷ユニットを制御しながらビデオデータを前記印刷ユニットに送信する制御ユニットである。
【0003】
通常、印刷ユニットは、印刷前の記録媒体を格納しておく入力トレイを一つ又は複数有していて、該入力トレイ毎に異なるサイズや種類の記録媒体、例えば、A4サイズの厚紙、B5サイズの薄紙、封筒、OHPシートを格納することができる。また、印刷ユニットは、印刷後の記録媒体の排出先となる一つ又は複数の出力ビンを有している。例えば、印刷面を上にして排出するための出力ビン、印刷面を下にして排出するための出力ビン、又は、複写機と同様の複数段の出力ビンを有している。
【0004】
そして、ホストコンピュータ上で用いられる各種のアプリケーションプログラム、例えば、文書や表の作成用のプログラムは、その文書データを印刷する際に、アプリケーションプログラムが保持している文書データから画像形成装置が処理することができるデータ形式の印刷データを生成し、該印刷データを画像形成装置に送信する。なお、一つの文書を印刷するために画像形成装置に送信されるひとまとまりの印刷データを印刷ジョブデータ又は単にジョブという。
【0005】
通常、印刷ジョブデータは、印刷に用いる記録媒体のサイズや種類の指定、記録媒体を吸引する入力トレイ及び排出先の出力ビンの指定、印刷時の解像度の指定、印刷部数の指定等を行うためのジョブ制御コマンドと、各ページの印刷像を生成するためのページ描画データと、印刷ジョブデータの終わりを示すジョブ終端データとによって構成されている。また、各ページ描画データは、通常、ビットマップ、JPEG、TIFF等の形式の画像データ、文字や図形を描画するためのコマンド等によって構成されている。
【0006】
ところで、利用者が画像形成装置のオペレータパネル等を通して現在印刷中の印刷ジョブデータのキャンセルを指示した場合、その印刷ジョブデータの終端、すなわち、ジョブ終端データまでデータを読み飛ばすようになっている。
【0007】
しかし、印刷ジョブデータを生成するホストコンピュータ側の障害発生によって、該ホストコンピュータから印刷装置への印刷ジョブデータの送信が途中で途切れてしまうことがある。また、ホストコンピュータの利用者が、ホストコンピュータ上での印刷処理(印刷ジョブデータの生成)を明示的に中止したり、間違ったデータを画像形成装置に送ってしまうこともある。
【0008】
このような場合、該画像形成装置側においては、現在印刷中の印刷ジョブデータをキャンセルするために、該印刷ジョブデータのジョブ終端データまでデータを読み飛ばそうとしても、データそのものが送られてこなくなる。このような状況は、印刷ジョブデータをキャンセルする場合だけでなく、通常の印刷を行っている最中でも発生する。
【0009】
そのために、通常、画像形成装置においては、印刷ジョブデータを受信タイムアウト値として指定された時間だけ待っても受信することができない場合には、明示的なジョブ終端データを受信していなくても、その時点で印刷ジョブデータが終了したと見なし、その後に受信した印刷ジョブデータは、次の印刷ジョブデータであると見なして処理する機能を有している。また、利用者は、画像形成装置のオペレータパネル等を通して、受信タイムアウト時間を設定することができるようになっている。
【0010】
【発明が解決しようとする課題】
しかしながら、前記従来の画像形成装置において、前記受信タイムアウト値は、ホストコンピュータ、及び、ホストコンピュータ上で稼動する各種のプログラムが、印刷ジョブデータを生成したり送信したりするために要する時間を考慮して決める必要があるが、前記時間はホストコンピュータの性能や印刷対象のデータの内容によって大きく異なっている。
【0011】
また、LAN(Local Area Network)等のネットワークを経由して、ホストコンピュータから画像形成装置にデータを送信している場合には、ネットワークの一時的な障害や遅延も考慮する必要がある。
【0012】
そのために、受信タイムアウトの発生頻度を抑えるために、受信タイムアウト値には比較的大きな値(例えば、1分以上)が設定されることもある。したがって、ホストコンピュータから画像形成装置への印刷ジョブデータが、前述されたような何らかの理由で途切れた場合には、受信タイムアウトが発生するまで印刷ジョブデータのキャンセルが終了しないので、該印刷ジョブデータのキャンセルに要する時間が長くなってしまう。
【0013】
また、印刷ジョブデータ自体に受信タイムアウト値を設定するコマンド(印刷制御コマンド)が含まれていることがある。そして、該コマンドによって受信タイムアウトがかなり大きな値又は無限大に設定されている印刷ジョブデータの送信が途切れた場合には、印刷ジョブデータのキャンセルが終了しないので、画像形成装置の電源を再投入する等の処理が必要になってしまう。
【0014】
また、間違った印刷ジョブデータが画像形成装置に送信されたり、ある印刷ジョブデータの送信が途切れた後に、次の印刷ジョブデータが送信されたりした場合には、印刷ジョブデータのジョブ終端データまでデータを読み飛ばす処理をうまく行うことができない場合もある。さらに、正常な印刷ジョブデータであっても、サイズが大きい場合(例えば、数十メガバイト)には、その印刷ジョブデータの送信自体に時間がかかるので、結果として、その印刷ジョブデータのキャンセルにも時間がかかることになる。
【0015】
本発明は、前記従来の画像形成装置の問題点を解決して、受信タイムアウトの設定値が大きい場合や送信されたデータに誤りがあるような場合でも、利用者の指示に従って受信タイムアウト値やキャンセルの方法を変えることができるとともに、印刷ジョブデータを受信するための複数のホストコンピュータを有する画像形成装置においては、あるホストコンピュータから送られた印刷ジョブデータをキャンセルしている最中に、別のインタフェイスから送られた印刷ジョブデータの処理を開始することによって、利用者は印刷ジョブデータのキャンセルの終了を待つことなく新たな印刷を行うことができる画像通信方法及び画像形成装置を提供することを目的とする。
【0016】
【課題を解決するための手段】
そのために、本発明の画像通信方法においては、ジョブ単位で画像データを受信し、受信タイムアウトを検出して画像データの区切りを判断する画像通信方法であって、画像データの受信中、第1の受信タイムアウト値に基づいて受信タイムアウトを検出し、前記画像データの区切りを判断し、前記画像データの受信中に予め設定した条件となると、前記第1の受信タイムアウト値よりも短い第2の受信タイムアウト値に基づいて受信タイムアウトを検出し、前記画像データの区切りを判断し、前記画像データの区切りを判断した後には、前記第1の受信タイムアウト値に基づいて前記画像データの後に受信する画像データの受信タイムアウトを検出して前記後に受信する画像データの区切りを判断する。
【0017】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【0018】
図2は本発明の第1の実施の形態における画像形成装置の構成を示すブロック図、図3は本発明の第1の実施の形態における印刷ジョブデータの構成を示す図である。
【0019】
図2に示されるように、画像形成装置21は、制御ユニット22及び印刷ユニット23によって構成されている。ここで、前記画像形成装置21は、例えば、プリンタ、ファクシミリ、複写機等であり、印刷用紙、封筒、OHPシート等の記録媒体上にインクやトナーなどを用いて白黒やカラーの画像を形成するようになっている。そして、前記印刷ユニット23は、記録媒体を吸引及び搬送し、該記録媒体上にインクやトナーなどを用いて白黒やカラーの画像を形成して排出する機構であり、前記制御ユニット22は、ホストコンピュータ20から印刷ジョブデータ11を受信し、該印刷ジョブデータ11を処理して前記記録媒体上の像を表すデータとしてのビデオデータを生成し、前記印刷ユニット23を制御しながらビデオデータを前記印刷ユニット23に送信する。
【0020】
ここで、前記印刷ユニット23は、印刷前の記録媒体を格納しておく入力トレイを一つ又は複数有していて、該入力トレイ毎に異なるサイズや種類の記録媒体を格納することができる。なお、本実施の形態においては、入力トレイ1及び入力トレイ2がすべての入力トレイを代表するものとして説明する。また、印刷ユニット23は、印刷後の記録媒体の排出先となる一つ又は複数の出力ビンを有している。例えば、印刷面を上にして排出するための出力ビン、印刷面を下にして排出するための出力ビン、又は、複数段の出力ビンを有している。なお、本実施の形態においては、出力ビン1及び出力ビン2がすべての出力ビンを代表するものとして説明する。
【0021】
また、前記印刷ジョブデータ11は、図3に示されるように、印刷に用いる記録媒体のサイズや種類の指定、記録媒体を吸引する入力トレイ及び排出先の出力ビンの指定、印刷時の解像度の指定、印刷部数の指定等を行うためのジョブ制御コマンド12と、各ページの印刷像を生成するためのページ描画データ13と、印刷ジョブデータ11の終わりを示すジョブ終端データ14とによって構成されている。また、ページ描画データ13は、通常、ビットマップ、JPEG、TIFF等の形式の画像データ、文字や図形を描画するためのコマンド等によって構成されている。
【0022】
そして、前記制御ユニット22は、前記ジョブ制御コマンド12を解釈して、印刷の際に印刷ユニット23に指定する記録媒体のサイズや種類、入力トレイや出力ビン、データの解像度等に関する印刷制御パラメータを取得する。また、ページ描画データ13に含まれる画像データの変換、描画コマンドの解釈、実行等の処理を行い、印刷ユニット23に送信するビデオデータを生成する。
【0023】
なお、該ビデオデータの形式としては、画像形成装置21毎に種々の形式が考えられるが、例えば、該画像形成装置21が、白黒画像形成装置である場合は、ビットマップ形式、又は、該ビットマップを圧縮した形式が考えられ、画像形成装置21がカラー画像形成装置である場合は、イエロー、マゼンタ、シアン、ブラックの色成分毎のビットマップ、又は該色成分毎のビットマップを圧縮した形式が考えられる。
【0024】
そして、制御ユニット22においては、ビデオデータが生成されると、前記印刷制御パラメータに従って印刷ユニット23に記録媒体の吸入及び搬送を指示し、印刷ユニット23内での記録媒体の走行に同期して、前記ビデオデータを印刷ユニット23に送信することによって、印刷ジョブデータ11の受信から印刷ユニット23からの記録媒体の排出までの印刷過程を制御している。
【0025】
ここで、前記制御ユニット22は、CPU24、ROM25、RAM26、ホストI/Fデバイス27、ビデオI/Fデバイス28、コマンドI/Fデバイス29、オペレータパネルI/Fデバイス30等によって構成されている。そして、前記ROM25には、制御ユニット22の機能を実現するためのプログラムが格納されていて、CPU24によって実行される。また、RAM26は主メモリであり、受信データやビデオデータを格納する領域や、前記ROM25に格納されているプログラムが使用する作業領域が割り付けられる。
【0026】
そして、制御ユニット22は、ホストI/Fデバイス27を介してホストコンピュータ20に接続されていて、該ホストコンピュータ20が送信した印刷ジョブデータ11を受信する。前記ホストI/Fデバイス27としては、RS232Cやセントロ、USB(Universal Serial Bus)、LAN等のネットワークがある。特に、該ネットワークを介してホストコンピュータ20に接続される場合には、複数のホストコンピュータ20からの印刷ジョブデータ11を、異なるチャンネルを通して受信することができる。
【0027】
また、ホストI/Fデバイス27を介して受信された印刷ジョブデータ11は制御ユニット22内で処理され、ビデオデータが生成される。このとき、前記制御ユニット22は、コマンドI/Fデバイス29を通して、印刷ユニット23に記録媒体の吸引及び搬送を行うためのコマンドを送信するとともに、ビデオI/Fデバイス28を通して前記ビデオデータを送信する。また、印刷ユニット23からの記録媒体の排出や異常状態の発生などの状態通知も、コマンドI/Fデバイス29を通して制御ユニット22に送信される。
【0028】
さらに、制御ユニット22は、印刷ジョブデータ11の処理状況や印刷ユニット23の状態、エラー、警告等を示すメッセージや画像形成装置21の各種のパラメータ設定を行うためのメニュー文字列を、オペレータパネルI/Fデバイス30を通して、オペレータパネル31のLCD等のディスプレイに表示する。また、利用者が各種パラメータ設定のためのメニュー選択、印刷中のジョブのキャンセル等の指示のために、オペレータパネル31上のスイッチを押下すると、前記制御ユニット22においては、オペレータパネルI/Fデバイス30を通して、オペレータパネル31のスイッチの押下状態を読み取り、押下されたスイッチに応じた処理を行う。
【0029】
本実施の形態においては、現在印刷中の印刷ジョブデータ11をキャンセルする際に、該現在印刷中の印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばす際に用いる受信タイムアウト値を二つ保持しておき、一方の受信タイムアウト値T1は比較的大きな値を、もう一方の受信タイムアウト値T2は前記受信タイムアウト値T1に比べて小さな値を設定しておくようになっている。そして、利用者が画像形成装置21のオペレータパネル31上のスイッチを押下等することによって、現在印刷中の印刷ジョブデータ11のキャンセルを初めて指示した際には、まず、受信タイムアウト値T1を用いて、現在印刷中の印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばす処理を行う。また、その最中に、前記利用者が印刷ジョブデータ11のキャンセルを再度指示した場合には、受信タイムアウト値T1を受信タイムアウト値T2に変更して、現在印刷中の印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばすようにする。
【0030】
次に、本実施の形態における画像形成装置21の制御ユニット22内のモジュールについて説明する。この場合、該モジュールはソフトウェアであり、そのプログラムはROM25上に格納されていて、CPU24によって実行されるものであるが、必ずしもソフトウェアである必要はなく、ハードウェアであってもよい。なお、本実施の形態においては、説明の都合上、モジュールがソフトウェアである場合について説明する。
【0031】
図1は本発明の第1の実施の形態における画像形成装置の制御ユニット内のモジュールの構成を示す図、図4は本発明の第1の実施の形態における画像形成装置の制御ユニット内のRAMに展開されるデータの構成を示す図である。
【0032】
図2に示されるように、ホストコンピュータ20上においては、画像形成装置21を用いて印刷を行うデータを生成するためのプログラムが稼動していて、生成された印刷ジョブデータ11は、ホストI/Fデバイス27を介して画像形成装置21の制御ユニット22に送られる。ここで、該制御ユニット22は、図1に示されるように、印刷データ受信モジュール41、印刷データ翻訳モジュール42、印刷制御モジュール43及びオペレータパネル監視モジュール44を有していて、各モジュールはそれぞれ独立して動作することが可能である。
【0033】
前記オペレータパネル31のスイッチが押下されているか否かは、前記オペレータパネル監視モジュール44が制御ユニット22からオペレータパネルI/Fデバイス30を経由してスイッチの押下状態を定期的にセンシングすることによって検出する。
【0034】
そして、図4に示されるように、RAM26内の受信バッファ51には、ホストI/Fデバイス27を介して受信されたデータが書き込まれていき、受信バッファ51が一杯になると、ホストI/Fデバイス27はデータの受信を一時的に停止し、受信バッファ51からデータが読み出されて空きができると、データの受信を再開する。なお、前記受信バッファ51に対するデータの読み書きはFIFO(First−In First−Out)順に行われる。
【0035】
そして、受信タイムアウト値T1、T2は、受信バッファ51が空の場合、新たなデータが受信されるまでどれだけ待つかを指定するために用いられる。前記受信タイムアウト値T1は、受信タイムアウト値T2より大きな値を設定しておく。また、受信データポーリング時間T3は、受信バッファ51上にデータがあるか否かを定期的に調べる時間間隔を指定する。前記受信データポーリング時間T3の値は、受信タイムアウト値T1、T2に比べて十分小さな値を設定する。例えば、受信タイムアウト値T1には60秒を、受信タイムアウト値T2には1秒を、受信データポーリング時間T3には0.1秒を設定する。
【0036】
また、ジョブキャンセル要求カウンタ52は、使用者がオペレータパネル31上のジョブキャンセル用のスイッチを押下する度にカウントアップされる。前記ジョブキャンセル要求カウンタ52は、印刷ジョブデータ11の処理を開始する際に0にリセットされる。
【0037】
そして、ページデータリスト53は、各ページのビデオデータと該ビデオデータを印刷する際に用いる用紙のサイズや排出先、その他の属性から成るデータ(以下、「ページデータ」という。)を、印刷するページの順番につないだものである。各ページデータは、生成された順にページデータリスト53につながれ、先頭から順に印刷ユニット23で印刷され、印刷が完了するとページデータリスト53から削除される。
【0038】
本実施の形態においては(第2の実施の形態以降も含めて)、制御ユニット22の各モジュールはソフトウェアであり、そのプログラムはROM25上に格納されていて、CPU24によって実行されるものとする。また、印刷データ受信モジュール41以外のモジュールはそれぞれ異なるタスクとして実装され、CPU24によって並行的に実行されるものとする。ただし、前記モジュールは必ずしもソフトウェアである必要はなく、ハードウェアであってもよい。
【0039】
次に、前記構成の画像形成装置の動作について説明する。
【0040】
まず、利用者がジョブキャンセル用のスイッチを押下した時のオペレータパネル監視モジュール44の動作について説明する。
【0041】
図5は本発明の第1の実施の形態における画像形成装置のオペレータパネル監視モジュールの動作を示すフローチャートである。
【0042】
この場合、オペレータパネル監視モジュール44は、オペレータパネル31のどのスイッチが押下されたかを定期的に調べている。
【0043】
まず、オペレータパネル監視モジュール44は、オペレータパネルI/Fデバイス30を通して、各スイッチが押下されているか否かを調べる。そして、ジョブキャンセルスイッチが押下されたことが検出されると、ジョブキャンセル要求カウンタ52を1増やす。ただし、ジョブキャンセル要求カウンタ52の初期値は0であるとする。
【0044】
また、ジョブキャンセルスイッチ以外のスイッチが押された場合は、各スイッチの意味に応じた処理が行われるが、本実施の形態においては関係がないので、その詳細については説明を省略する。
【0045】
そして、ジョブキャンセルスイッチの押下に伴う処理を行った後、オペレータパネル監視モジュール44は一定時間(例えば、50〔秒〕程度)待った後、前述された処理を繰り返す。すなわち、利用者がジョブキャンセルスイッチを押下する度に、ジョブキャンセル要求カウンタ52が増えていく。
【0046】
次に、フローチャートについて説明する。
ステップS1 オペレータパネル31のスイッチが押下されたか否かを判断する。スイッチが押下された場合はステップS2に進み、スイッチが押下されていない場合はステップS5に進む。
ステップS2 ジョブキャンセルスイッチが押下されたか否かを判断する。ジョブキャンセルスイッチが押下された場合はステップS3に進み、ジョブキャンセルスイッチが押下されていない場合はステップS4に進む。
ステップS3 ジョブキャンセル要求カウンタ52を1増やす。
ステップS4 押下されたスイッチに伴う処理を行う。
ステップS5 一定時間待ち、処理を繰り返す。
【0047】
次に、印刷データ受信モジュール41の動作について説明する。
【0048】
図6は本発明の第1の実施の形態における画像形成装置の印刷データ受信モジュールの動作を示すフローチャートである。
【0049】
まず、印刷データ受信モジュール41は、印刷データ翻訳モジュール42から要求がある度に、受信バッファ51からデータを読み出し、印刷データ翻訳モジュール42が指定したバッファにデータを格納し、格納した該データのバイト数を返す。その際、ホストI/Fデバイス27には、データ読み出しによって、受信バッファ51上に空きができたことを通知する。また、受信バッファ51が空の場合には、データなしを示すコードとして0を返す。
【0050】
そして、受信バッファ51上にデータが存在する場合、印刷データ受信モジュール41は、そのデータを先読みしてジョブ終端データ14が含まれているか否かを調べる。その際、先読みする範囲は、受信バッファ51上のすべてのデータではなく、ある上限値の範囲、例えば、受信バッファ51の先頭データから最大で8キロバイトの範囲にとどめてもよい。
【0051】
また、先読みした範囲にジョブ終端データ14が含まれていない場合は、先読みしたデータすべてを受信バッファ51からデータを読み出して返す。そして、ジョブ終端データ14が見つかった場合には、該ジョブ終端データ14の直前までのデータを受信バッファ51から読み出して返し、ジョブ終端データ14は読み飛ばし、その代わり、ジョブ終端フラグを1に設定しておく。
【0052】
そして、印刷データ受信モジュール41が次に呼び出された際には、ジョブ終端フラグが1であるので、受信バッファ51からデータを読み出さずに、ジョブ終端フラグを0にして、ジョブの終端を示すコードとして−1を返す。ただし、ジョブ終端フラグは0に初期化されているものとする。
【0053】
次に、フローチャートについて説明する。
ステップS11 ジョブ終端フラグが1であるか否かを判断する。1である場合はステップS12に進み、1でない場合はステップS14に進む。
ステップS12 ジョブ終端フラグを0に設定する。
ステップS13 ジョブの終端を示すコードとして−1を返す。
ステップS14 受信バッファ51にデータが存在するか否かを判断する。存在する場合はステップS16に進み、存在しない場合はステップS15に進む。
ステップS15 データなしを示すコードとして0を返す。
ステップS16 受信バッファ51上のデータを走査し、ジョブ終端データ14を探す。
ステップS17 ジョブ終端データ14が含まれるか否かを判断する。含まれる場合はステップS18に進み、含まれない場合はステップS21に進む。
ステップS18 受信バッファ51からジョブ終端データ14の直前までのデータを読み出し、指定されたバッファに格納する。
ステップS19 ジョブ終端データ14を読み飛ばす。
ステップS20 ジョブ終端フラグを1にセットする。
ステップS21 受信バッファ51から走査した範囲のデータを読み出し、指定されたバッファに格納する。
ステップS22 受信バッファ51に空きができたことをホストI/Fデバイス27に通知する。
ステップS23 読み出したデータのバイト数を返す。
【0054】
次に、印刷データ翻訳モジュール42の動作について説明する。
【0055】
図7は本発明の第1の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示す第1のフローチャート、図8は本発明の第1の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示す第2のフローチャートである。
【0056】
この場合、印刷データ翻訳モジュール42は、印刷ジョブデータ11の翻訳処理、ジョブキャンセル処理及び受信タイムアウト処理を行う。
【0057】
まず、印刷データ翻訳モジュール42は、印刷データ受信モジュール41を定期的に呼び出しながら、印刷ジョブデータ11の最初のデータを受信することができるまで待つ。そして、印刷ジョブデータ11の最初のデータを受信することができると、ジョブキャンセル要求カウンタ52を0に初期化し、その時点以降に、オペレータパネル31のジョブキャンセルスイッチが押下された場合にだけ、現在翻訳中の印刷ジョブデータ11をキャンセルすることができるようにする。
【0058】
次に、印刷データ翻訳モジュール42は、ジョブ終端データ14に出会うか、受信タイムアウトが発生するまで、印刷データ受信モジュール41を介して受信データを読み出しながら、そのデータの翻訳又は破棄を繰り返す。
【0059】
そして、ジョブキャンセル要求カウンタ52が0である場合は、受信した印刷ジョブデータ11を翻訳する。この翻訳処理の過程において、各ページのビデオデータ及びページ属性が生成され、1ページ分のデータが揃(そろ)うと、図4に示されるページデータリスト53につながれる。この翻訳処理の詳細については、本発明においては関係しないので説明を省略する。
【0060】
また、ジョブキャンセル要求カウンタ52が1以上である場合には、読み出したデータは破棄される。そして、印刷データ受信モジュール41がジョブの終端を示すコードを返した場合には、ジョブの後始末処理を行った後、次のジョブの処理を行う。また、前記印刷データ受信モジュール41がデータを読み出すことができない場合は、受信タイムアウトが発生するまでデータの読み出しを定期的に行う。
【0061】
まず、受信待ち時間wtを0に初期化しておき、データを読み出すことができなかった場合には、受信データポーリング時間T3だけ待って、再度データの読み出しを試みる。その際、受信待ち時間wtは受信データポーリング時間T3ずつ増やされ、受信待ち時間wtが受信タイムアウト時間tmo以上に大きくなると、受信タイムアウトが発生したとして、現在のジョブの翻訳又はキャンセル処理を終了する。
【0062】
ただし、受信タイムアウト時間tmoに用いられる値は、ジョブキャンセル要求カウンタ52が1以下である場合は、受信タイムアウト値T1又は受信タイムアウト値T2が用いられる。なお、前記受信タイムアウト値T1、T2は固定値ではなく、例えば、利用者がオペレータパネル31やコマンドを用いて変更することができるようにしてもよい。ただし、前記受信タイムアウト値T2は、その目的から大きな値には設定することができないようにしておくべきである。
【0063】
そして、印刷制御モジュール43は、印刷ユニット23が次のページの印刷が可能になると、ページデータリスト53の先頭のページデータ(ビデオデータとページ属性との組)を取り出して、印刷ユニット23に制御コマンド(ページ属性にも依存する。)及びビデオデータを送信し、印刷ユニット23内でそのページの印刷が終了した際に、前述されたページデータを破棄する。
【0064】
また、印刷制御モジュール43は、利用者からのジョブキャンセル要求があった場合には、印刷データ翻訳モジュール42がキャンセル中のジョブから生成されたページデータであり、印刷ユニット23でまだ印刷していないものは、ページデータリスト53から削除する。
【0065】
次に、フローチャートについて説明する。
ステップS31 印刷データ受信モジュール41にデータの読み出しを要求する。
ステップS32 データを読み出すことができたか否かを判断する。データを読み出すことができた場合はステップS33に進み、データを読み出すことができない場合は待機する。
ステップS33 受信データポーリング時間T3だけ待つ。
ステップS34 ジョブキャンセル要求カウンタ52を0にセットする。
ステップS35 繰り返しフラグloop2を1にセットする。
ステップS36 loop2が0か否かを判断する。0である場合はステップS52に進み、0でない場合はステップS37に進む。
ステップS37 ジョブキャンセル要求カウンタ52が0か否かを判断する。0である場合はステップS38に進み、0でない場合はステップS39に進む。
ステップS38 読み出したデータを翻訳する。
ステップS39 読み出したデータを破棄する。
ステップS40 データ受信待ち時間wtを0にセットする。
ステップS41 印刷データ受信モジュール41にデータの読み出しを要求する。
ステップS42 データを読み出すことができたか否かを判断する。データを読み出すことができた場合はステップS36に戻り、データを読み出すことができない場合はステップS43に進む。
ステップS43 ジョブ終端コードが返されたか否かを判断する。ジョブ終端コードが返された場合はステップS44に進み、ジョブ終端コードが返されない場合はステップS45に進む。
ステップS44 loop2を0にセットする。
ステップS45 受信データポーリング時間T3だけ待つ。
ステップS46 受信待ち時間wtをwttT3にセットする。
ステップS47 受信タイムアウト時間tm0を受信タイムアウト値T1にセットする。
ステップS48 ジョブキャンセル要求カウンタ52が2以上か否かを判断する。2以上である場合はステップS49に進み、2以上でない場合はステップS50に進む。
ステップS49 受信タイムアウト時間tm0を受信タイムアウト値T2にセットする。
ステップS50 受信待ち時間wtが受信タイムアウト時間tm0以上か否かを判断する。受信タイムアウト時間tm0以上である場合はステップS51に進み、受信タイムアウト時間tm0以上でない場合はステップS41に戻る。
ステップS51 loop2を0にセットする。
ステップS52 ジョブ終了の後始末処理を行う。
【0066】
このように、本実施の形態においては、利用者が現在印刷中の印刷ジョブデータ11のキャンセルを指示した場合、まず、比較的大きな値に設定された受信タイムアウト値T1を用いてジョブキャンセルを試みる。そして、現在印刷中のジョブのキャンセル(受信タイムアウトを含む。)が終了する前に、利用者が再度ジョブキャンセルを指示した際には、受信タイムアウト値T1に比べて十分に小さな受信タイムアウト値T2に変更することができる。
【0067】
したがって、ホストコンピュータ20側でジョブのデータ送信を中断されたことが既知であったり、そのような事態が予測されたりする場合には、利用者はジョブキャンセル時の受信タイムアウト値T1を途中から小さな受信タイムアウト値T2に変更することができるので、ジョブキャンセルをすばやく終了して、次のジョブのデータを印刷可能にすることができる。
【0068】
ところで、前記第1の実施の形態においては、印刷中の印刷ジョブデータ11をキャンセルするために、該印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばすようになっている。そして、印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばす際の受信タイムアウト値として、大きな値の受信タイムアウト値T1及び小さな値の受信タイムアウト値T2を保持しておき、利用者の指示に従って受信タイムアウト値を受信タイムアウト値T1から受信タイムアウト値T2に変更するようになっている。
【0069】
そこで、画像形成装置が受信している印刷ジョブデータ11中のジョブ終端データ14を探すことなく、単に破棄するだけのジョブキャンセルの方法も有していて、どちらの方法を用いて現在印刷中のジョブをキャンセルするかを利用者が選択することができる本発明の第2の実施の形態について説明する。
【0070】
なお、本発明の実施の形態における画像形成装置の構造については、前記第1の実施の形態における画像形成装置の構造と同じであるので、図1及び2を援用して説明する。
【0071】
図9は本発明の第2の実施の形態における画像形成装置の制御ユニット内のRAMに展開されるデータの構成を示す図である。
【0072】
図9に示されるように、RAM26(図2)上に置かれる本実施の形態に関係する主なデータも、受信バッファクリア要求フラグ54が設けられた点を除けば前記第1の実施の形態と同様である。
【0073】
そして、受信バッファクリア要求フラグ54が1である場合は、前記第1の実施の形態のようにジョブ終端データ14を見つけるか、受信タイムアウトが発生するまで、印刷ジョブデータ11を破棄することによってジョブキャンセルを実現するのではなく、ホストI/Fデバイス27をデータ受信不可状態にした後に、受信バッファ51上のデータをすべてクリアすることによって、ジョブキャンセルを行うことを意味している。
【0074】
この場合、利用者はどちらの方法でジョブキャンセルを行うかを、オペレータパネル31のジョブキャンセルスイッチを短押下(押下時間が、例えば、2秒未満)又は長押下(押下時間が、例えば、2秒以上)することによって指定することができる。すなわち、短押下である場合は、ジョブ終端データ14に出会うまでデータを読み飛ばし、長押下である場合は、受信バッファ51をクリアするようにする。
【0075】
そこで、前記オペレータパネル監視モジュール44は、ジョブキャンセルスイッチの短押下と長押下とを区別する必要がある。もちろん、短押下と長押下とによる方法以外にも、様々なオペレータパネル31の操作による指定が考えられるが、本実施の形態においては本質的な問題ではない。
【0076】
また、受信バッファ51のクリアによるジョブキャンセルを行った直後は、ホストI/Fデバイス27は受信停止状態になっているので、その状態を解除するために、利用者はオペレータパネル31のオンラインスイッチを短押下する。
【0077】
次に、前記構成の画像形成装置の動作について説明する。
【0078】
まず、利用者がジョブキャンセルを行うためにジョブキャンセルスイッチを短押下又は長押下した場合と、ホストI/Fデバイス27による印刷ジョブデータ11の受信を再開させるためにオンラインスイッチを短押下した場合のオペレータパネル監視モジュール44の動作について説明する。
【0079】
図10は本発明の第2の実施の形態における画像形成装置のオペレータパネル監視モジュールの動作を示すフローチャートである。
【0080】
まず、オペレータパネル監視モジュール44は、オペレータパネルI/Fデバイス30を通して、各スイッチが押下(短押下と長押下との区別を含む。)されているか否かを判断する。そして、ジョブキャンセルスイッチが短押下又は長押下されると、ジョブキャンセル要求カウンタ52が1増やされる。さらに、ジョブキャンセルスイッチが長押下された場合には、受信バッファクリア要求フラグ54が1に設定される。ただし、受信バッファクリア要求フラグ54の初期値は0である。
【0081】
また、オンラインスイッチが短押下された場合は、ホストI/Fデバイス27がデータ受信停止状態になっていると、オペレータパネル31上に表示されている受信停止メッセージをクリアし、ホストI/Fデバイス27をデータ受信可能状態にする。それ以外の動作については、前記第1の実施の形態(図5)と同様であるので説明を省略する。
【0082】
次に、フローチャートについて説明する。
ステップS61 オペレータパネル31のスイッチが押下されたか否かを判断する。
ステップS62 ジョブキャンセルスイッチが短押下されたか又は長押下されたか否かを判断する。短押下されたか又は長押下された場合はステップS62−1に進み、短押下されたか又は長押下されない場合はステップS65に進む。
ステップS62−1 ジョブキャンセル要求カウンタ52を1増やす。
ステップS63 ジョブキャンセルスイッチが長押下されたか否かを判断する。長押下された場合はステップS64に進み、長押下されない場合はステップS61に戻る。
ステップS64 受信バッファクリア要求フラグ54を1にセットする。
ステップS65 オンラインスイッチが押下されたか否かを判断する。押下された場合はステップS66に進み、押下されない場合はステップS61に戻る。
ステップS66 ホストI/Fデバイス27がデータ受信停止状態か否かを判断する。データ受信停止状態である場合はステップS67に進み、データ受信停止状態でない場合はステップS61に戻る。
ステップS67 オペレータパネル31に表示されるデータ受信停止メッセージをクリアする。
ステップS68 ホストI/Fデバイス27を受信可能状態にする。
ステップS69 その他のスイッチが押下れたか否かを判断する。押下された場合はステップS70に進み、押下されない場合はステップS61に戻る。
ステップS70 その他のスイッチ押に伴う処理を行う。
ステップS71 一定時間待つ。
【0083】
次に、受信バッファクリア時の印刷データ受信モジュール41の動作について説明する。なお、印刷ジョブデータ11の読み出し時の印刷データ受信モジュール41の動作については、前記第1の実施の形態(図6)と同様であるので説明を省略する。
【0084】
図11は本発明の第2の実施の形態における画像形成装置の印刷データ受信モジュールの動作を示すフローチャートである。
【0085】
まず、印刷データ受信モジュール41は、印刷データ翻訳モジュール42から受信バッファ51のクリア要求があると、ホストI/Fデバイス27をデータ受信停止状態にして、ホストコンピュータ20からの印刷ジョブデータ11の受信を停止した後、受信バッファ51上のすべてのデータをクリアする。
【0086】
次に、オペレータパネル31に印刷ジョブデータ11の受信が停止したことを示すメッセージを表示し、最後に、ジョブ終端フラグを1に設定する。
【0087】
次に、フローチャートについて説明する。
ステップS81 ホストI/Fデバイス27をデータ受信状態にする。
ステップS82 受信バッファ51中のデータをすべてクリアする。
ステップS83 オペレータパネル31にデータ受信状態であることを表示する。
ステップS84 ジョブ終端フラグを1にセットする。
【0088】
次に、印刷データ翻訳モジュール42の動作について説明する。なお、本実施の形態においては、前記第1の実施の形態(図7及び8)に、受信バッファクリアによるジョブキャンセルを行う場合の処理が追加される。また、印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばす場合の動作については、前記第1の実施の形態と同様であるので説明を省略する。
【0089】
図12は本発明の第2の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示す第1のフローチャート、図13は本発明の第2の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示す第2のフローチャートである。
【0090】
まず、印刷データ翻訳モジュール42は、図に示される処理に従って、印刷ジョブデータ11の翻訳処理、ジョブキャンセル処理及び受信タイムアウト処理を行う。基本的には、前記第1の実施の形態と同様であるが、利用者が印刷ジョブデータ11のジョブキャンセルスイッチを長押下した場合、すなわち、ジョブキャンセル要求フラグが1以上であり、かつ、受信バッファクリア要求フラグ54が1である場合には、印刷データ受信モジュール41に受信バッファクリア要求を行う。
【0091】
これにより、ジョブ終端フラグは1に設定されるので、その後に、印刷データ受信モジュール41にデータの読み出しを要求すると、常にジョブの終端を示すコードが返されるので、結果としてジョブキャンセルが終了する。
【0092】
次に、フローチャートについて説明する。
ステップS91 印刷データ受信モジュール41にデータの読み出しを要求する。
ステップS92 データを読み出すことができたか否かを判断する。データを読み出すことができた場合はステップS93に進み、データを読み出すことができない場合は待機する。
ステップS93 受信データポーリング時間T3だけ待つ。
ステップS94 ジョブキャンセル要求カウンタ52を0にセットする。
ステップS95 受信バッファクリアフラグを0にセットする。
ステップS96 繰り返しフラグloop2を1にセットする。
ステップS97 loop2が0か否かを判断する。0である場合はステップS115に進み、0でない場合はステップS98に進む。
ステップS98 ジョブキャンセル要求カウンタ52が0か否かを判断する。0である場合はステップS99に進み、0でない場合はステップS100に進む。
ステップS99 読み出したデータを翻訳する。
ステップS100 読み出したデータを破棄する。
ステップS101 受信バッファクリア要求フラグ54が1であるか否かを判断する。1である場合はステップS102に進み、1でない場合はステップS103に進む。
ステップS102 印刷データ受信モジュール41に受信バッファ51のクリア処理を要求する。
ステップS103 データ受信待ち時間wtを0にセットする。
ステップS104 印刷データ受信モジュール41にデータの読み出しを要求する。
ステップS105 データを読み出すことができたか否かを判断する。データを読み出すことができた場合はステップS97に戻り、データを読み出すことができない場合はステップS106に進む。
ステップS106 ジョブ終端コードが返されたか否かを判断する。ジョブ終端コードが返された場合はステップS107に進み、ジョブ終端コードが返されない場合はステップS108に進む。
ステップS107 loop2を0にセットする。
ステップS108 受信データポーリング時間T3だけ待つ。
ステップS109 受信待ち時間wtをwttT3にセットする。
ステップS110 受信タイムアウト時間tm0を受信タイムアウト値T1にセットする。
ステップS111 ジョブキャンセル要求カウンタ52が2以上か否かを判断する。2以上である場合はステップS112に進み、2以上でない場合はステップS113に進む。
ステップS112 受信タイムアウト時間tm0を受信タイムアウト値T2にセットする。
ステップS113 受信待ち時間wtが受信タイムアウト時間tm0以上か否かを判断する。受信タイムアウト時間tm0以上である場合はステップS114に進み、受信タイムアウト時間tm0以上でない場合はステップS104に戻る。
ステップS114 loop2を0にセットする。
ステップS115 ジョブ終了の後始末処理を行う。
【0093】
ところで、ホストコンピュータ20から画像形成装置21に送られた印刷ジョブデータ11が、画像形成装置21には処理することができないコマンドで構成されている場合や、そもそも印刷データではないような不正なデータが画像形成装置21に送られたような場合には、画像形成装置21は無意味なページの印刷を行ってしまう。このような状況では、現在印刷中のジョブをキャンセルするために、印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばそうとしても、印刷ジョブデータ11自身が正しくないので無駄である。
【0094】
このように、本実施の形態においては、現在印刷中のジョブをキャンセルする際に、利用者がジョブ終端データ14を見つけるか、受信タイムアウトになるまで、データを読み飛ばすことによってジョブをキャンセルするか、画像形成装置21のデータ受信を停止した後、受信バッファ51等に入っているすべてのデータを単にクリア(破棄)することによってジョブをキャンセルするかを、オペレータパネル31のジョブキャンセルスイッチの短押下と長押下とによって選択することができるようになっている。
【0095】
したがって、利用者は、まず、最初はジョブキャンセルスイッチを1回短押下してみて、ジョブ終端データ14の読み飛ばしを試みる。それでも無意味なデータの印刷が停止しない場合は、ジョブキャンセルスイッチを長押下することによって受信を停止するとともに、受信バッファ51内に溜(た)まっているデータをすべて破棄することによって印刷を停止することができる。
【0096】
そして、利用者はホストコンピュータ20側のデータ転送を停止した後、オンラインスイッチを押下することによって、受信可能状態に復帰することができる。
【0097】
このように、2段階でジョブキャンセルを行うのは、受信バッファ51内にはキャンセル対象の印刷ジョブデータ11だけではなく、他の利用者の印刷ジョブデータ11が入っている場合もあるので、不用意に他の利用者の印刷ジョブデータ11が破棄されることがないようにするためである。もちろん、利用者が不正なデータを画像形成装置21に送ったことが既知であり、他の利用者は印刷を行っていないことが明らかである場合は、最初からジョブキャンセルスイッチを長押下して受信バッファ51をクリアするようにしてもよい。
【0098】
ところで、前記第1及び第2の実施の形態においては、現在印刷中の印刷ジョブデータ11をキャンセルする際、印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばすのは、印刷データ翻訳モジュール42が行うようになっている。
【0099】
したがって、印刷データ翻訳モジュール42が現在印刷中の印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばすようになっているので、印刷中の印刷ジョブデータ11のデータサイズが大きい場合や、ホストコンピュータ20から画像形成装置21へのデータ送信に時間がかかる場合には、次の印刷ジョブデータ11の翻訳をなかなか開始することができない。
【0100】
そこで、制御ユニット22に印刷データ翻訳モジュール42と並行的に動作するジョブキャンセルモジュールを設け、該ジョブキャンセルモジュールがキャンセル対象の印刷ジョブデータ11をジョブ終端データ14まで読み飛ばす処理を行っている間に、印刷データ翻訳モジュール42は、別のジョブの翻訳処理を行うことができる本発明の第3の実施の形態について説明する。
【0101】
図14は本発明の第3の実施の形態における画像形成装置の制御ユニット内のモジュールの構成を示す図、図15は本発明の第3の実施の形態における画像形成装置の印刷ジョブデータの流れを示す図、図16は本発明の第3の実施の形態における画像形成装置のキャンセルジョブリストの流れを示す図である。
【0102】
図14に示されるように、画像形成装置21は、複数のホストI/Fデバイスを有していて、それぞれ別のホストコンピュータ20a、20b、…、20nからそれぞれ異なる印刷ジョブデータ11a、11b、…、11nを受信することができるようになっている。例えば、RS232C、セントロ及びUSBの三つのホストI/Fデバイスを用いて、それぞれ異なるホストコンピュータ20a、20b、…、20nに接続されている場合がそれである。
【0103】
また、ホストI/Fデバイスとしてネットワークカード(LANコントローラ)を用いるような場合、TCP/IP等のプロトコルを用いることによって、ハードウェアとしてのホストI/Fデバイス(LANコントローラ)は単一でも、複数のホストコンピュータ20a、20b、…、20nとの間にそれぞれ別々の論理的な通信チャンネルを設けると同様の状況になる。
【0104】
そして、制御ユニット22には、印刷データ翻訳モジュール42と並行的に動作するジョブキャンセルモジュール65を設け、該ジョブキャンセルモジュール65がキャンセル対象の印刷ジョブデータ11a、11b、…、11nをジョブ終端データ14まで読み飛ばす処理を行っている間に、印刷データ翻訳モジュール42は、別のジョブの翻訳処理を行うことができる。
【0105】
また、図15に示されるように、異なるホストI/Fデバイスから受信された印刷ジョブデータ11a、11b、…、11nは、各ホストI/Fデバイス毎に別個に設けられた受信バッファ51a、51b、…、51nに格納されるようになっている。そして、印刷データ受信モジュール42においては、いずれか一つのホストI/Fデバイス(受信バッファ51a、51b、…、51n)を選択して、そこから印刷ジョブデータ11a、11b、…、11nを受信する。例えば、受信バッファ51a、51b、…、51nの選択方法として、各受信バッファ51a、51b、…、51nにデータがあるか否かを定期的に走査しておき、最初にデータが見つかった受信バッファ51a、51b、…、51nから印刷ジョブデータ11a、11b、…、11nを受信して処理する方法がある。
【0106】
次に、図16に示されるように、各受信バッファ51a、51b、…、51nに通し番号を付与し、通し番号によって区別する。また、各受信バッファ51a、51b、…、51nには、その受信バッファ51a、51b、…、51nから受信している印刷ジョブデータ11a、11b、…、11nがキャンセル中であることを示すジョブキャンセル中フラグを設ける。
【0107】
さらに、各受信バッファ51a、51b、…、51nには、前記第1及び第2の実施の形態で用いた受信タイムアウト値以外の各受信バッファ51a、51b、…、51n固有の受信タイムアウト値を与えておく。該各受信バッファ51a、51b、…、51n毎の受信タイムアウト値は、利用者のオペレータパネル31の操作や印刷ジョブデータ11a、11b、…、11n自身によって変更することができないようにしておき、その値も大きくても1分程度にしておく。これは、受信タイムアウト値が画像形成装置21の運用中に異常に大きな値に設定されることを防止するための措置である。
【0108】
次に、前記構成の画像形成装置の動作について説明する。
【0109】
まず、印刷データ翻訳モジュール42の動作について説明する。
【0110】
図17は本発明の第3の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示すフローチャートである。
【0111】
なお、前記第1及び第2の実施の形態と異なる点は、ジョブキャンセル要求カウンタ52(図4)が1以上である場合、すなわち、利用者はオペレータパネル31のキャンセルスイッチを押下した場合に、印刷データ翻訳モジュール42は、キャンセル対象の印刷ジョブデータ11a、11b、…、11nを読み出していた受信バッファ51a、51b、…、51nのジョブキャンセル中フラグを1に設定し、図16に示されるように、キャンセルジョブリスト68に受信バッファ番号A、B、…、Zを追加するだけであり、自らはジョブキャンセルを行わないで、即座にキャンセル対象のジョブの後始末をした後、別の受信バッファ51a、51b、…、51nからの印刷ジョブデータ11a、11b、…、11nの処理を試みる。
【0112】
次に、フローチャートについて説明する。
ステップS121 印刷データ受信モジュール42にデータを読み出すことができる受信バッファを探させる。
ステップS122 受信バッファ51が見つかったか否かを判断する。見つかった場合はステップS123に進み、見つからない場合はステップS121に戻る。
ステップS123 受信データポーリング時間T3だけ待つ。
ステップS124 ジョブキャンセル要求カウンタ52を0にセットする。
ステップS125 受信バッファ番号を指定し、印刷データ受信モジュール42にデータ読み出しを要求する。
ステップS126 ジョブキャンセル要求カウンタ52は0か否かを判断する。0である場合はステップS127に進み、0でない場合はステップS128に進む。
ステップS127 読み出したデータを翻訳する。
ステップS128 受信バッファ51のジョブキャンセル中フラグを1にセットする。
ステップS129 キャンセルジョブリスト68に受信バッファ番号を追加する。
ステップS130 ジョブ終了の後始末処理を行う。
【0113】
そして、キャンセルジョブリスト68につながれた受信バッファ51a、51b、…、51n上のジョブは、ジョブキャンセルモジュール65によってキャンセルされる。
【0114】
次に、ジョブキャンセルモジュール65によるジョブキャンセル動作について説明する。
【0115】
図18は本発明の第3の実施の形態における画像形成装置のジョブキャンセルモジュールの動作を示すフローチャートである。
【0116】
まず、ジョブキャンセルモジュール65は、キャンセルジョブリスト68の先頭からキャンセル対象の印刷ジョブデータ11a、11b、…、11nを読み出す受信バッファ番号A、B、…、Zを取得する。
【0117】
次に、その受信バッファ51a、51b、…、51nからジョブ終端データ14が読み出されるか、受信タイムアウトが発生するまでの間データを読み出し、。最後に、受信バッファ51a、51b、…、51nのジョブキャンセル中フラグを0にする。
【0118】
次に、フローチャートについて説明する。
ステップS141 キャンセルジョブリスト68が空であるか否かを判断する。空である場合はステップS142に進み、空である場合はステップS143に進む。
ステップS142 キャンセルジョブリスト68に要素が追加されるまで待つ。
ステップS143 キャンセルジョブリスト68の先頭要素を取り出す。
ステップS144 受信タイムアウト時間tm0を受信バッファ毎のタイムアウト値にセットする。
ステップS145 繰り返しフラグloop2を1にセットする。
ステップS146 loop2が0か否かを判断する。0である場合はステップS156に進み、0でない場合はステップS147に進む。
ステップS147 データ受信待ち時間wtを0にセットする。
ステップS148 受信バッファ番号を受信し、印刷データ受信モジュール41にデータの読み出しを要求する。
ステップS149 データを読み出すことができたか否かを判断する。データを読み出すことができた場合はステップS146に戻り、データを読み出すことができない場合はステップS150に進む。
ステップS150 ジョブ終端コードが返されたか否かを判断する。ジョブ終端コードが返された場合はステップS151に進み、ジョブ終端コードが返されない場合はステップS152に進む。
ステップS151 loop2を0にセットする。
ステップS152 受信データポーリング時間T3だけ待つ。
ステップS153 wtをwt+T3にセットする。
ステップS154 wtがtm0以上であるか否かを判断する。tm0以上である場合はステップS155に進み、tm0以上でない場合はステップS148に戻る。
ステップS155 loop2を0にセットする。
ステップS156 受信バッファ51のジョブキャンセル中フラグを0にセットする。
【0119】
次に、印刷データ翻訳モジュール42が印刷ジョブデータ11a、11b、…、11nの受信が可能な受信バッファ51a、51b、…、51nを選択するために利用する印刷データ受信モジュール41の受信バッファ選択処理の動作について説明する。
【0120】
図19は本発明の第3の実施の形態における画像形成装置の印刷データ受信モジュールの受信バッファ選択処理の動作を示すフローチャートである。
【0121】
まず、印刷データ受信モジュール41は、ジョブキャンセル中フラグが0であるものの中から、印刷データ翻訳モジュール42に渡す受信バッファ51a、51b、…、51n、すなわち、データを読み出すことができる状態になっているものを探す。
【0122】
次に、フローチャートについて説明する。
ステップS161 すべての受信バッファ51についての処理が終了したか否かを判断する。終了した場合は処理を終了し、終了しない場合はステップS162に進む。
ステップS162 ジョブキャンセル中フラグが0で、かつ、受信バッファ51上にデータがあるか否かを判断する。
ステップS163 受信バッファ51の番号を返す。
ステップS164 受信バッファ51にデータがないことを示すコードとして1を返す。
【0123】
このように、本実施の形態においては、現在印刷中の印刷ジョブデータ11のジョブ終端データ14までデータを読み飛ばすキャンセル処理を、印刷ジョブデータ11のデータを翻訳する処理と並行して行うことができるので、セントロ、RS232C、USB、LAN等の複数のホストI/Fからデータを受信することができる画像形成装置21においては、ある一つのホストI/Fを通して受信している印刷ジョブデータ11をキャンセルしている間に、別のホストI/Fから送られてくる別の印刷ジョブデータ11を受信して翻訳し、印刷を行うことができる。これは、LAN等のネットワーク環境下で、一つの画像形成装置21が、複数のホストコンピュータ20a、20b、…、20nとの間で印刷ジョブデータ受信用のコネクションを同時に張って、複数のホストコンピュータ20a、20b、…、20nから印刷ジョブデータを受信する場合には、特に有効である。
【0124】
ところで、前記第3の実施の形態においては、ジョブキャンセルモジュール65は、キャンセルジョブリスト68の先頭からキャンセル対象の印刷ジョブデータ11a、11b、…、11nを読み出すための受信バッファ番号A、B、…、Zを一つずつ取り出し、各ジョブを順番にキャンセルするようになっている。すなわち、一つのジョブのキャンセルが終了してから、次のジョブのキャンセルを行うようになっている。
【0125】
したがって、ジョブキャンセルモジュール65は、キャンセル対象のジョブ(受信バッファ51a、51b、…、51n)が複数存在する場合でも、一つのジョブのキャンセルが終了するまでは、次のジョブのキャンセルを行うことができない。このような方法では、一つ目の受信バッファからのデータ読み出しが遅い(印刷ジョブデータ11の送信が遅い)場合には、後続のジョブをキャンセルするまでの待ち時間が長くなってしまう。
【0126】
そこで、前述されたようにジョブのキャンセルを逐次的に行うのではなく、キャンセルジョブリスト68に複数の受信バッファ51a、51b、…、51nがつながれている場合には、複数の受信バッファ51a、51b、…、51nからデータを読み出すことによって、複数の印刷ジョブデータ11a、11b、…、11nを同時にキャンセルすることができる本発明の第4の実施の形態について説明する。なお、本実施の形態における画像形成装置21のモジュールの構成については、前記第3の実施の形態における画像形成装置21のモジュールの構成と同じであるので、図14を援用して説明する。
【0127】
次に、前記構成の画像形成装置の動作について説明する。
【0128】
まず、ジョブキャンセルモジュール65の動作について説明する。
【0129】
図20は本発明の第4の実施の形態における画像形成装置のジョブキャンセルモジュールの動作を示す第1のフローチャート、図21は本発明の第4の実施の形態における画像形成装置のジョブキャンセルモジュールの動作を示す第2のフローチャートである。
【0130】
本実施の形態においては、キャンセル対象のジョブが複数存在する場合、すなわち、キャンセルジョブリスト68(図16)に複数の受信バッファ番号A、B、…、Zがつながれている時、ラウンドロビン式に、各受信バッファ51a、51b、…、51nを変更しながらデータを読み出している。前記ラウンドロビン式のデータ読み出しは、キャンセルジョブリスト68につながれているいずれかの受信バッファ51a、51b、…、51nからデータを読み出すことができている間は繰り返される。
【0131】
そして、いずれの受信バッファ51a、51b、…、51nからからもデータを読み出すことができなくなると、受信データポーリング時間T3だけ待ち、再びラウンドロビン式のデータ読み出しを行う。
【0132】
このラウンドロビン式のデータ読み出しの過程においては、データを読み出すことができた最新のデータ読出時刻を各受信バッファ51a、51b、…、51n毎に保持しておき、データを読み出す順番が回ってきた際にデータを読み出すことができなければ、最新のデータ読出時刻から現在の時刻を減算して、受信待ち(データを受信することができていない時間)を計算することができる。
【0133】
これにより、ラウンドロビン式のデータ読み出しの過程において、各受信バッファ51a、51b、…、51n毎に受信タイムアウトの発生を検出することができる。また、受信タイムアウトが発生した場合には、その受信バッファ番号A、B、…、Zをキャンセルジョブリスト68から取り除き、受信バッファ51a、51b、…、51nのジョブキャンセル中フラグを0にしている。そして、受信バッファ51a、51b、…、51nからデータを読み出す際に、ジョブの終端を示すコードが返された場合にも、同様の処理が行われる。
【0134】
次に、フローチャートについて説明する。
ステップS171 キャンセルジョブリスト68が空であるか否かを判断する。空である場合はステップS172に進み、空である場合はステップS173に進む。
ステップS172 キャンセルジョブリスト68に要素が追加されるまで待つ。
ステップS173 繰り返しフラグを0にセットする。
ステップS174 キャンセルジョブリスト中の各受信バッファnについて処理が終了したか否かを判断する。終了した場合はステップS186に進み、終了しない場合はステップS175に進む。
ステップS175 キャンセルジョブリスト68中の受信バッファnを指定し、印刷データ受信モジュール41にデータの読み出しを要求する。
ステップS176 データを読み出すことができたか否かを判断する。データを読み出すことができた場合はステップS177に進み、データを読み出すことができない場合はステップS179に進む。
ステップS177 受信バッファのデータ受信時刻を現在の時刻にセットする。
ステップS178 繰り返しフラグを1にセットする。
ステップS179 ジョブ終端コードが返されたか否かを判断する。ジョブ終端コードが返された場合はステップS180に進み、ジョブ終端コードが返されない場合はステップS182に進む。
ステップS180 受信バッファnをジョブキャンセルリストから削除する。
ステップS181 受信バッファnのジョブキャンセル中フラグを0にセットする。
ステップS182 受信バッファnのデータ受信時刻と現在時刻の差をデータ受信待ち時間wtとする。
ステップS183 データ受信待ち時間wtは受信バッファnの受信タイムアウト値以上か否かを判断する。受信バッファnの受信タイムアウト値以上である場合はステップS184に進み、受信バッファnの受信タイムアウト値以上でないる場合はステップS174に戻る。
ステップS184 受信バッファnをジョブキャンセルリストから削除する。
ステップS185 受信バッファnのジョブキャンセル中フラグを0にセットする。
ステップS186 繰り返しフラグが1であるか否かを判断する。1である場合はステップS173に戻り、1でない場合はステップS187に進む。
ステップS187 受信データポーリング時間T3だけ待つ。
【0135】
このように、本実施の形態においては、キャンセル対象のジョブが複数ある場合、ラウンドロビン式に受信バッファ51a、51b、…、51nから順番にデータを読み出していくので、いずれかの受信バッファ51a、51b、…、51nからのデータ受信が遅い場合では、他も受信バッファ51a、51b、…、51nからデータ読み出しはその影響を受けることなく、データ受信(ジョブキャンセル処理)を進めることができる。
【0136】
なお、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【0137】
【発明の効果】
以上詳細に説明したように、本発明によれば、画像通信方法においては、ジョブ単位で画像データを受信し、受信タイムアウトを検出して画像データの区切りを判断する画像通信方法であって、画像データの受信中、第1の受信タイムアウト値に基づいて受信タイムアウトを検出し、前記画像データの区切りを判断し、前記画像データの受信中に予め設定した条件となると、前記第1の受信タイムアウト値よりも短い第2の受信タイムアウト値に基づいて受信タイムアウトを検出し、前記画像データの区切りを判断し、前記画像データの区切りを判断した後には、前記第1の受信タイムアウト値に基づいて前記画像データの後に受信する画像データの受信タイムアウトを検出して前記後に受信する画像データの区切りを判断する。
【0138】
この場合、利用者の指示に従って受信タイムアウト値やキャンセルの方法を変えることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態における画像形成装置の制御ユニット内のモジュールの構成を示す図である。
【図2】本発明の第1の実施の形態における画像形成装置の構成を示すブロック図である。
【図3】本発明の第1の実施の形態における印刷ジョブデータの構成を示す図である。
【図4】本発明の第1の実施の形態における画像形成装置の制御ユニット内のRAMに展開されるデータの構成を示す図である。
【図5】本発明の第1の実施の形態における画像形成装置のオペレータパネル監視モジュールの動作を示すフローチャートである。
【図6】本発明の第1の実施の形態における画像形成装置の印刷データ受信モジュールの動作を示すフローチャートである。
【図7】本発明の第1の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示す第1のフローチャートである。
【図8】本発明の第1の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示す第2のフローチャートである。
【図9】本発明の第2の実施の形態における画像形成装置の制御ユニット内のRAMに展開されるデータの構成を示す図である。
【図10】本発明の第2の実施の形態における画像形成装置のオペレータパネル監視モジュールの動作を示すフローチャートである。
【図11】本発明の第2の実施の形態における画像形成装置の印刷データ受信モジュールの動作を示すフローチャートである。
【図12】本発明の第2の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示す第1のフローチャートである。
【図13】本発明の第2の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示す第2のフローチャートである。
【図14】本発明の第3の実施の形態における画像形成装置の制御ユニット内のモジュールの構成を示す図である。
【図15】本発明の第3の実施の形態における画像形成装置の印刷ジョブデータの流れを示す図である。
【図16】本発明の第3の実施の形態における画像形成装置のキャンセルジョブリストの流れを示す図である。
【図17】本発明の第3の実施の形態における画像形成装置の印刷データ翻訳モジュールの動作を示すフローチャートである。
【図18】本発明の第3の実施の形態における画像形成装置のジョブキャンセルモジュールの動作を示すフローチャートである。
【図19】本発明の第3の実施の形態における画像形成装置の印刷データ受信モジュールの受信バッファ選択処理の動作を示すフローチャートである。
【図20】本発明の第4の実施の形態における画像形成装置のジョブキャンセルモジュールの動作を示す第1のフローチャートである。
【図21】本発明の第4の実施の形態における画像形成装置のジョブキャンセルモジュールの動作を示す第2のフローチャートである。
【符号の説明】
11 印刷ジョブデータ
14 ジョブ終端データ
21 画像形成装置
27 ホストI/Fデバイス
Claims (6)
- (a)ジョブ単位で画像データを受信し、受信タイムアウトを検出して画像データの区切りを判断する画像通信方法であって、
(b)画像データの受信中、第1の受信タイムアウト値に基づいて受信タイムアウトを検出し、前記画像データの区切りを判断し、
(c)前記画像データの受信中に予め設定した条件となると、前記第1の受信タイムアウト値よりも短い第2の受信タイムアウト値に基づいて受信タイムアウトを検出し、前記画像データの区切りを判断し、
(d)前記画像データの区切りを判断した後には、前記第1の受信タイムアウト値に基づいて前記画像データの後に受信する画像データの受信タイムアウトを検出して前記後に受信する画像データの区切りを判断することを特徴とする画像通信方法。 - 前記画像データを印刷中に該画像データのジョブキャンセルが初めて指示された場合には、前記第1の受信タイムアウト値に基づいて前記印刷中の画像データのジョブ終端データまで受信したデータを破棄するジョブキャンセル処理を行い、
該ジョブキャンセル処理の終了前に前記画像データのジョブキャンセルが再度指示された場合には、前記第2の受信タイムアウト値に基づいて前記印刷中の画像データのジョブ終端データまで受信したデータを破棄するジョブキャンセル処理を行うことを特徴とする請求項1に記載の画像通信方法。 - (a)受信タイムアウトを検出して通信の区切りを判断する画像形成装置であって、
(b)通常の状態で用いられる第1のタイムアウト設定値と、
(c)該第1のタイムアウト設定値より短い第2のタイムアウト設定値と、
(d)前記第1のタイムアウト設定値に基づいて受信タイムアウトを検出し、連続するデータの受信中に予め設定した条件となると、前記第2のタイムアウト設定値に基づいて前記連続するデータの受信タイムアウトを検出するタイムアウト検出部と、
(e)該タイムアウト検出部が受信タイムアウトを検出すると、前記連続するデータの区切りを判断する判断部とを有し、
(f)前記タイムアウト検出部は、前記判断部が前記連続するデータの区切りを判断した後に、前記第1のタイムアウト設定値に基づいて前記連続するデータの後に受信するデータの受信タイムアウトを検出し、
(g)前記判断部は、前記後に受信するデータの区切りを判断することを特徴とする画像形成装置。 - 前記連続するデータのジョブを印刷中に該連続するデータのジョブキャンセルが初めて指示された場合には、前記第1のタイムアウト設定値に基づいて印刷中の前記連続するデータのジョブ終端データまで受信したデータを破棄するジョブキャンセル処理を行い、
該ジョブキャンセル処理の終了前に前記連続するデータのジョブキャンセルが再度指示された場合には、前記第2のタイムアウト設定値に基づいて印刷中の前記連続するデータのジョブ終端データまで受信したデータを破棄するジョブキャンセル処理を行う請求項3に記載の画像形成装置。 - 受信したデータの印刷を行う印刷部と、
該印刷部が行う印刷をキャンセルするジョブキャンセル指示、及び、前記タイムアウト検出部による第1のタイムアウト設定値に基づいた受信タイムアウトの検出を促すジョブキャンセル指示部とを更に有する請求項3に記載の画像形成装置。 - 前記予め設定した条件は、前記ジョブキャンセル指示部から受け付けたジョブキャンセル指示の回数である請求項5に記載の画像形成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003065035A JP4226361B2 (ja) | 2003-03-11 | 2003-03-11 | 画像通信方法及び画像形成装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003065035A JP4226361B2 (ja) | 2003-03-11 | 2003-03-11 | 画像通信方法及び画像形成装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004272765A JP2004272765A (ja) | 2004-09-30 |
JP4226361B2 true JP4226361B2 (ja) | 2009-02-18 |
Family
ID=33126169
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003065035A Expired - Fee Related JP4226361B2 (ja) | 2003-03-11 | 2003-03-11 | 画像通信方法及び画像形成装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4226361B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4704195B2 (ja) * | 2005-11-24 | 2011-06-15 | 株式会社エヌ・ティ・ティ・ドコモ | 利用者情報管理装置及びサービス提供サーバ |
JP2009202488A (ja) | 2008-02-28 | 2009-09-10 | Oki Data Corp | 画像形成装置 |
JP5200668B2 (ja) * | 2008-06-03 | 2013-06-05 | 株式会社リコー | 画像形成装置、印刷制御方法、印刷制御プログラム、及びそのプログラムを記録した記録媒体 |
JP2010000688A (ja) * | 2008-06-20 | 2010-01-07 | Murata Mach Ltd | ネットワークプリンタとそのプログラム |
-
2003
- 2003-03-11 JP JP2003065035A patent/JP4226361B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2004272765A (ja) | 2004-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5819015A (en) | Method and apparatus for providing remote printer resource management | |
US6592275B1 (en) | Image forming apparatus having a function of sending output completion notice | |
US8730513B2 (en) | Image forming apparatus, and method for forming images on recording media such as paper having different sizes | |
JP6065542B2 (ja) | 画像処理装置および通信プログラム | |
US8976379B2 (en) | Method and system to automatically convert a file format and image forming apparatus used in the same | |
US7262877B2 (en) | Image input-output apparatus and method therefor | |
EP2565777B1 (en) | Processing device and processing method | |
US20110299123A1 (en) | Image forming apparatus, method of controlling the same, program and image forming system | |
US20050189711A1 (en) | Printing system, method for controlling printing system, and computer-readable memory medium | |
US20060092464A1 (en) | Printing apparatus, printing control method, printing control program and computer-readable recording medium recording the same | |
US20170123741A1 (en) | Image forming apparatus capable of managing print job and computer-readable non-transitory recording medium with print job management program stored thereon | |
JP4226361B2 (ja) | 画像通信方法及び画像形成装置 | |
JP2006079591A (ja) | ジョブ処理方法、画像形成システム、画像形成装置、プログラム、記憶媒体 | |
JP2006205407A (ja) | 印刷装置 | |
US20040145776A1 (en) | Digital multiple function processing machine and printer | |
JP3711433B2 (ja) | 印刷制御方法及びシステム、記録媒体 | |
JP5484010B2 (ja) | 情報処理装置、情報処理装置の制御方法、及びコンピュータプログラム | |
JP2007238305A (ja) | 画像形成装置 | |
JP4364475B2 (ja) | 印刷装置 | |
JP2009255577A (ja) | 印刷装置 | |
US10956109B2 (en) | Image forming system including plural image forming apparatuses connected via network | |
US20220066715A1 (en) | Image processing apparatus and non-transitory computer-readable recording medium therefor | |
JP2018202823A (ja) | 画像形成装置 | |
JP2000168206A (ja) | 画像形成装置 | |
JP2001358866A (ja) | 画像形成装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080701 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080827 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20081125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111205 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121205 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131205 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |