本発明の非限定的な実施形態を、図面を参照して説明する。図面において、同様の構成要素には同じ参照番号が付されている。
図1は、本発明の実施形態が適用されるプリンタ300の概略的な構成を表すブロック図である。プリンタ300は、ネットワークを介して複数のパーソナル・コンピュータ(以下、単にPCという)PC1、PC2、等に接続されている。複数のPCPC1、PC2等は、プリンタ300に印刷要求を出すことができる。
プリンタ300は、制御部310、プリンタ機構部320、表示器(ディスプレイ)313、記憶装置314、ネットワーク・インタフェース(NW I/F)および入力装置(キー)を含んでいる。制御部310と機構部320の間にはインタフェース(I/F)が介在する。
制御部310は、例えば記憶装置314等の記憶装置に格納されたプリンタ用のプログラムに従って動作するソフトウェア処理部(プロセッサ)312を含んでいる。但し、処理部312は、例えば専用の集積回路からなるハードウェアの形態で実装してもよい。機構部320は、用紙カセットを含む給紙機構322、ドラムおよび定着器を含む印刷機構324、および、排出された印刷紙用のスタッカおよび印刷紙センサ328を含む排紙機構26を含んでいる。
ソフトウェア処理部312は、(1)印刷要求の受信、(2)印刷データの受信、(3)プリンタ300の占有、占有外および占有解除の通知、(4)記憶装置314への印刷データの記憶、(5)ビットマップ展開、(6)印刷起動、および(7)印刷紙の有/無のチェック、等の処理を実行する。ソフトウェア処理部312は、PCPC1、PC2等から受信した識別番号、印刷要求(コマンド)および印刷データ等を記憶装置314に格納する。
PC PC1およびPC2等は、周知の形態で、プロセッサ、ディスプレイ、入力装置(キーボード、ポインティング・デバイス)等を含んでいる。
図2は、本発明の実施形態による、プリンタ300とPC PC1およびPC2の間の通信手順を示している。図3は、図2のプリンタ300における制御部310による印刷処理のためのフローチャートを示している。
図2を参照すると、PC PC1およびPC2は、入力装置を用いてユーザによって操作され印刷起動されて、識別番号を含む「印刷要求」をプリンタ300に送信する(1、1’)。PCPC1からの識別番号を含む「印刷要求」の受信(1)に応答して、プリンタ300の制御部310は、プリンタ300は他のPCによって占有されていないので、PC1によるプリンタ300の占有を決定し、応答「受信可」をPC1に送信し返す(2)。一方、制御部310は、その後のPC PC2からの他の識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300はPC1によって既に占有されているので、応答「受信不可」をPC2に送信し返す(2’)。
PC1は、次いで印刷データをプリンタ300に送信する(3)。プリンタ300の制御部310は、占有中のPC1から印刷データを受信して、機構部320にその印刷を開始させる(4)。PC1は、印刷データの送信が完了すると通知「データ終了」をプリンタ300に送信する(5)。制御部310は、占有中のPC1からの「データ終了」の受信に応答して、「受信完了」をPC1に送信し返す(6)。その後、制御部310は、機構部320による印刷終了を検出して印刷の終了を決定する(7)。
センサ328によってスタッカ上に排出された印刷紙の存在が検出されている限り、制御部310は、PC1によるプリンタ300の「占有」の状態を維持する。プリンタ300の「占有」の状態が継続する限り、制御部310は、プリンタ300を占有しているPC1から新たな印刷要求に対して「受信可」を送信し、PC1に対して印刷データの受信から印刷終了までの手順(3〜7)を繰り返す。
PC1のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙が存在しないことが検出された場合(8)、制御部310は、プリンタ300の状態に関する「占有」の状態を「占有外」または「非占有」の状態に変更する。
その後、プリンタ300の制御部310は、PC PC2からの識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300は他のPCによって占有されていないので、PC2によるプリンタ300の占有を決定し、応答「受信可」をPC2に送信し返す(2”)。その後、同様に上述の手順が行われる。
従って、プリンタ300は、プリンタ300を占有しているPCの印刷データだけを受信して印刷する。PC1とPC2によって印刷要求された印刷物がスタッカ上に排出されて同時に重ねられることがない。
図3を参照すると、ステップ402においてプリンタ300の制御部310はPC1から識別番号を含む「印刷要求」を受信すると、ステップ404において、プリンタ300が現在占有されていない状態かどうか、またはその印刷要求がプリンタ300を現在占有中のPC1からのものかどうかを判定する。換言すれば、その印刷要求が、占有状態にあるプリンタ300を占有していないPCからのものかどうかを判定する。
ステップ404において、プリンタ300が現在占有されていない状態か、またはその印刷要求がプリンタ300を現在占有中のPC1からのものであると判定された場合は、制御部310は、ステップ422において印刷要求を送信したPCまたはPC1によるプリンタ300の「占有」の状態を記憶装置314中の状態フィールドに設定しまたは状態フィールドにおける「占有」の状態を維持し、ステップ424において印刷データを受信して機構部320に印刷を行わせ、印刷が終了した時は、ステップ426においてプリンタ300の「印刷終了」の状態を、記憶装置314中の状態フィールドに設定する。その後、手順は図3のルーチンを出る。
ステップ404においてプリンタ300が現在占有されておりその「印刷要求」がプリンタ300を占有中のものでないPC(例えばPC2)からのものであると判定された場合は、制御部310は、ステップ442において占有PC1から要求された印刷データの印刷は終了しているかどうかを判定する。印刷が終了していない(印刷済みでない)と判定された場合は、ステップ458において、制御部310は、その「印刷要求」が占有外のPCからのものであると判定して、受信不可をそのPCに送信し返す。その後、手順はこのルーチンを出る。
ステップ442において印刷が終了していると判定された場合は、ステップ444において制御部310はセンサ328からの検出出力に基づいてスタッカ上に印刷紙が存在するかどうかを判定する。スタッカ上に印刷紙が存在すると判定された場合は、手順はステップ458に進む。
ステップ444においてスタッカ上に印刷紙が存在しないと判定された場合は、制御部310は、ステップ422において印刷要求を受信したPC(例えばPC2)によるプリンタ300の「占有」の状態を、記憶装置314中の状態フィールドに設定する。その後、手順はステップ424に進む。
図4は、本発明の別の実施形態による、プリンタ300とPC PC1およびPC2の間の通信手順を示している。図5は、図4のプリンタ300における制御部310による印刷処理のためのフローチャートを示している。
図4を参照すると、PC PC1およびPC2は、入力装置を用いてユーザによって操作され印刷起動されて、識別番号を含む「印刷要求」を送信する(1、1’)。この場合、PC PC1またはPC2のユーザによってプリンタ300の印刷開始キーが押下されるまで、プリンタ300は「印刷不可」の状態またはPC1またはPC2とのデータ切断(オフライン)状態を継続する(2)。プリンタ300の制御部310は、PC PC1またはPC2からの識別番号を含む「印刷要求」の受信(1、1’)に応答して、応答「受信不可」をPC1およびPC2に送信し返す(3、3’)。
その後、PC PC1(PC2)のユーザによってプリンタ300の印刷開始キーが押下されると、PC PC1からの識別番号を含む「印刷要求」の受信(1)に応答して、プリンタ300が他のPCによって占有されていないので、プリンタ300の制御部310は、「印刷可」の状態またはPC1(PC2)とのデータ接続(オンライン)状態を開始し(4)、PC1によるプリンタ300の占有を決定し、PC1による「占有」の状態を設定し(5)、応答「受信可」をPC1に送信し返す(5)。
一方、制御部310は、その後のPC PC2からの他の識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300がPC1によって既に占有されているので、応答「受信不可」をPC2に送信し返す(3’)。
PC1は、次いで、印刷データをプリンタ300に送信する(6)。プリンタ300の制御部310は、占有中のPC1から印刷データを受信して、機構部320に印刷を開始させる(6)。PC1は、印刷データの送信が完了すると「データ終了」をプリンタ300に送信する(7)。制御部310は、占有中のPC1からの「データ終了」の受信に応答して、「受信完了」をPC1に送信し返す(8)。その後、制御部310は、機構部320による印刷の終了を検出して「印刷終了」の状態を設定する(9)。
センサ328によってスタッカ上に排出された印刷紙が検出されている限り、制御部310は、PC1によるプリンタ300の「占有」の状態を維持する。プリンタ300の状態「占有」が継続する限り、制御部310は、プリンタ300を占有しているPC1から印刷要求に対して応答「受信可」を送信し、印刷データの受信から印刷終了までの手順(1〜9)を繰り返す。
PC1のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙が存在しないことが検出された場合(10)、制御部310は、プリンタ300の「占有」の状態を「占有外」または「非占有」の状態に変更し、「データ接続」の状態を「データ切断」の状態に変更する。(11)
PC PC2は、識別番号を含む「印刷要求」を送信する(1’)。PC PC2のユーザによってプリンタ300の印刷開始キーが押下されるまで、プリンタ300は印刷不可またはPC2とのデータ切断(オフライン)状態を継続する(11)。プリンタ300の制御部310は、PC2からの識別番号を含む「印刷要求」の受信(1’)に応答して、応答「受信不可」をPC1に送信し返す(3”)。
従って、プリンタ300は、ユーザによってその開始キーが押下されることによって占有状態となり、ユーザによってその開始キーが押下されるまで印刷データを受信することがない。プリンタ300は、プリンタ300を占有しているPCの印刷データの印刷紙だけをスタッカに排出する。従って、PC1とPC2によって印刷要求された印刷物がスタッカ上に排出されて同時に重ねられることがない。
図5を参照すると、ステップ402および404、およびステップ442〜458は、図3のものと同様である。
ステップ404において、プリンタ300が現在占有されていない状態か、または印刷要求がプリンタ300を現在占有中のPC1からのものであると判定された場合は、制御部310は、ステップ405において、印刷要求がプリンタ300を現在占有中のPC1からのものであるかどうかを判定する。その印刷要求がプリンタ300を占有中のPC1からのものであると判定された場合は、手順はステップ422に進む。
ステップ405においてその印刷要求がプリンタ300を占有中のPC1からのものでない、即ちプリンタ300が現在占有されていないと判定された場合は、ステップ406において、制御部310は、プリンタ300のデータ接続が切断状態(オフライン)かどうかを判定する。データ接続が切断されていないと判定された場合は、ステップ407において、制御部310はプリンタ300のデータ接続を切断する。その後、手順はステップ408に進む。ステップ406においてデータ接続が切断されていると判定された場合は、手順はステップ408に進む。
ステップ408において、制御部310は、所定の遅延時間の後、制御部310はユーザによるプリンタ300の開始キーの押下を待って、データ接続が接続状態かどうか、即ち開始キーが押下されたかどうかを判定する。データ接続が接続状態になっていると判定された場合は、手順はステップ422に進む。
ステップ408においてデータ接続が接続状態になっていないと判定された場合は、ステップ446において、制御部310は、次の別の印刷要求を受信したかどうかを判定する。次の別の印刷要求を受信したと判定された場合は、手順はステップ402に戻る。ステップ446において次の別の印刷要求を受信していないと判定された場合は、手順はステップ408に戻る。
ステップ422〜426は図3のものと同様である。
図6は、本発明のさらに別の実施形態による、プリンタ300とPC PC1およびPC2の間の通信手順を示している。図7は、図6のプリンタ300における制御部310による印刷処理のためのフローチャートを示している。
図6を参照すると、PC PC1およびPC2は、入力装置を用いてユーザによって操作され印刷起動されて、識別番号を含む「印刷要求」を送信する(1、1’)。プリンタ300の制御部310は、PC PC1からの識別番号を含む「印刷要求」の受信(1)に応答して、プリンタ300は他のPCによって占有されていないので、PC1によるプリンタ300の占有を決定し、応答「受信可」をPC1に送信し返す(2)。一方、制御部310は、その後のPC PC2からの他の識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300はPC1によって既に占有されているので、PC2によるプリンタ300の「占有外」または「非占有」を決定し、応答「受信不可」をPC2に送信し返す(2’)。
PC1は、次いで印刷データをプリンタ300に送信する(3)。プリンタ300の制御部310は、占有中のPC1から印刷データを受信して、機構部320に印刷を開始させる(4)。PC1は、印刷データの送信が完了するとデータ終了をプリンタ300に送信する(5)。制御部310は、占有中のPC1からのデータ終了の受信に応答して、受信完了と判定して「受信完了」をPC1に送信し返す(6)。
制御部310は、PC1によるプリンタ300の占有の開始からデータの受信完了と判定するまでは、PC2からの「印刷要求」に対して応答「受信不可」を送信し返す(2’)。PC1からのデータの「受信完了」と判定された後、制御部310は、PC PC2からの他の識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300はそれ以外のPCからデータを受信していないので、応答「受信可」をPC2に送信し返す(2”)。
PC2は、次いで印刷データをプリンタ300に送信する(3’)。プリンタ300の制御部310は、プリンタ300がPC1によって占有されているので、占有外のPC2から印刷データを受信してそれを記憶部314に格納する(4’)。PC2は、印刷データの送信が完了するとデータ終了をプリンタ300に送信する(5’)。制御部310は、占有外のPC2からのデータ終了の受信に応答して、受信完了と判定して「受信完了」をPC1に送信し返す(6’)。
その後、制御部310は、機構部320によるPC1の印刷データの印刷終了を検出してその印刷の終了を決定する(7)。センサ328によってスタッカ上に排出された印刷紙が検出されている限り、制御部310は、プリンタ300の「占有」の状態を維持する。
PC1のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙がなくなったことが検出された場合(8)、制御部310は、プリンタ300の「占有」の状態を「非占有」または「占有外」の状態に変更する。次いで、記憶部314中に印刷されていない印刷データが格納されている場合は、PC2によるプリンタ300の「占有」を決定する(12’)。次いで、制御部310は、その記憶された印刷データの印刷を開始する(14’)。その後、制御部310は、機構部320によるPC2の印刷データの印刷終了を検出してその印刷の終了を決定する(7’)。
その後、PC2のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙がなくなったことが検出された場合(18’)、制御部310は、プリンタ300の状態「占有」を解除して、プリンタ300の「占有」の状態を「非占有」または「占有外」の状態に変更する。
従って、プリンタ300は、プリンタ300を占有しているPCの印刷データの印刷紙だけをスタッカ上に排出する。プリンタ300は、PC1とPC2からの印刷データを受信し印刷できない場合にはそのデータを記憶はするが、PC1とPC2によって印刷要求された印刷物がスタッカ上に排出されて同時に重ねられることがない。
図7を参照すると、ステップ402〜404およびステップ422〜426は、図3のものと同様である。
ステップ404においてプリンタ300は現在占有されておりその印刷要求がプリンタ300を占有中のもの(例えばPC1)でない別のPC(PC2)からのものであると判定された場合は、制御部310は、ステップ458においてそのPC(PC2)を「占有外」または「非占有」のPCと決定する。ステップ440において、プリンタ300を現在占有しているPC(PC1)からの印刷データは受信完了したかどうかを判定する。占有しているPC1からの印刷データが受信完了していないと判定された場合は、手順は図7のルーチンを出る。ステップ440において占有しているPC1からの印刷データが受信完了であると判定された場合は、手順はステップ442に進む。
ステップ442〜444は図3のものと同様である。
ステップ442において占有PC1から要求された印刷データが印刷終了していないと判定された場合、またはステップ442の後のステップ444においてスタッカ上に印刷紙が存在すると判定された場合は、ステップ446において、制御部210は、占有外のPC2に「受信可」を送信し返し、占有外のそのPC2から印刷データを受信して記憶部314に記憶する。その後、手順は図7のルーチンを出る。
ステップ426の後のステップ445において、制御部310はセンサ328からの検出出力に基づいてスタッカ上に印刷紙が存在するかどうかを判定する。スタッカ上に印刷紙が存在すると判定された場合は、ステップ446において、制御部310は、次の別の印刷要求を受信したかどうかを判定する。次の別の印刷要求を受信したと判定された場合は、手順はステップ402に戻る。ステップ446において次の別の印刷要求を受信していないと判定された場合は、手順はステップ445に戻る。
ステップ445においてスタッカ上に印刷紙が存在しないと判定された場合は、制御部310は、ステップ448において記憶部314中に占有中のPCの未だ印刷されていない印刷データが存在するかどうかを判定する。印刷データが存在すると判定された場合は、手順はステップ422に戻る。ステップ448において印刷データが存在しないと判定された場合は、手順は図7のルーチンを出る。
図8は、本発明のさらに別の実施形態による、プリンタ300とPC PC1およびPC2の間の通信手順を示している。図9は、図8のプリンタ300における制御部310による印刷処理のためのフローチャートを示している。
図8を参照すると、PC PC1およびPC2は、入力装置を用いてユーザによって操作され印刷起動されて、識別番号を含む「印刷要求」を送信する(1、1’)。プリンタ300の制御部310は、PC PC1からの識別番号を含む「印刷要求」の受信(1)に応答して、プリンタ300は他のPCによって占有されていないので、PC1によるプリンタ300の占有を決定し、応答「受信可」をPC1に送信し返す(2)。
PC1のプロセッサは、応答「受信可」を受信すると、そのディスプレイ上にPC1がプリンタ300を「占有中」であることを表示する(2)。一方、制御部310は、その後のPC PC2からの他の識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300はPC1によって既に占有されているので、PC2によるプリンタ300の「占有外」または「非占有」を決定し、応答「受信不可」をPC2に送信し返す(2’)。PC2のプロセッサは、応答「受信可」を受信すると、ディスプレイ上に他のPCがプリンタ300を「他の占有」であること即ち他のPCによって占有されていることを表示する(2’)。
PC1は、次いで印刷データをプリンタ300に送信する(3)。プリンタ300の制御部310は、占有中のPC1から印刷データを受信して、機構部320に印刷を開始させる(4)。PC1は、印刷データの送信が完了するとデータ終了をプリンタ300に送信する(5)。制御部310は、占有中のPC1からのデータ終了の受信に応答して、受信完了と判定して「受信完了」をPC1に送信し返す(6)。
その後、制御部310は、機構部320によるPC1の印刷データの印刷終了を検出して印刷の終了を判定する(7)。センサ328によってスタッカ上に排出された印刷紙が検出されている限り、制御部310は、PC1によるプリンタ300の状態「占有」を維持する。
PC1のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙がなくなったことが検出された場合(8)、制御部310は、プリンタ300の「占有」の状態を「占有外」または「非占有」の状態に変更し、通知「占有解除」をPC1およびPC2に送信する。PC1のプロセッサは、応答「占有解除」を受信すると、ディスプレイ上の「占有中」の表示を解除する(2”)。また、PC2のプロセッサは、応答「占有解除」を受信すると、ディスプレイ上の「他の占有」の表示を解除する(2”)。
プリンタ300の制御部310は、PC PC2からの識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300は他のPCによって占有されていないので、PC2によるプリンタ300の占有を決定し、応答「受信可」をPC2に送信し返す(12)。PC2のプロセッサは、応答「受信可」を受信すると、ディスプレイ上にPC2がプリンタ300を「占有中」であることを表示する(12)。
PC2は、次いで印刷データをプリンタ300に送信する(13)。プリンタ300の制御部310は、占有中のPC2から印刷データを受信して、機構部320に印刷を開始させる(14)。PC2は、印刷データの送信が完了するとデータ終了をプリンタ300に送信する(15)。制御部310は、占有中のPC2からのデータ終了の受信に応答して、受信完了と判定して応答「受信完了」をPC1に送信し返す(16)。
その後、制御部310は、機構部320によるPC2の印刷データの印刷終了を検出して印刷の終了を判定する(17)。センサ328によってスタッカ上に排出された印刷紙が検出されている限り、制御部310は、PC2によるプリンタ300の「占有」の状態を維持する。
PC2のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙がなくなったことが検出された場合(18)、制御部310は、プリンタ300の「占有」の状態を「占有外」または「非占有」の状態に変更し、通知「占有解除」をPC1およびPC2に送信する。
従って、プリンタ300は、PC1とPC2によって印刷要求された印刷物がスタッカ上に排出されて同時に重ねられることがない。また、PC1またはPC2は自己または他のPCによるプリンタ300の占有状態を表示するので、ユーザはプリンタ300に印刷を要求した場合、自己のPCが出した印刷要求に関する自己のPCのプリンタ300における占有状態を確認することができる。
図9を参照すると、ステップ402〜404およびステップ422〜426は、図3のものと同様である。
ステップ404においてプリンタ300は現在占有されておりその印刷要求がプリンタ300を占有中のものでないPCからのものであると判定された場合は、制御部310は、ステップ439において先のPCの占有状態は解除されたかどうかを判定する。占有状態が解除されていないと判定された場合は、ステップ458において、制御部210は受信した印刷要求を送信したPCは「占有外」または「非占有」のPCであると決定し、そのPCに応答「受信不可」を送信し返す。応答「受信不可」を受信したPCは、自己のディスプレイに「他のPCによるプリンタの占有状態」を表示する。その後、手順は図9のルーチンを出る。
ステップ439において占有状態が解除されたと判定された場合は、手順はステップ422に進む。ステップ422において、制御部310は、受信した印刷要求を送信したPCによるプリンタ300の占有状態を、記憶装置中の状態フィールドに設定しまたは維持する。応答「受信可」を受信したPCは、自己のディスプレイに「自己のPCによるプリンタの占有状態」を表示する。
ステップ445〜446は図7のものと同様である。
ステップ445においてスタッカ上に印刷紙が存在すると判定された場合は、制御部310は、ステップ460において、占有中のPCによる「占有」の状態を解除し、占有中のPCおよび占有外のPCに対して通知「占有の解除」を送信する。応答「受信可」を受信したPCは、自己のディスプレイにプリンタ300の占有状態に関する表示を解除する。
図10は、本発明のさらに別の実施形態による、プリンタ300とPC PC1およびPC2の間の通信手順を示している。図11は、図10のプリンタ300における制御部310による印刷処理のためのフローチャートを示している。
図10を参照すると、PC PC1およびPC2は、入力装置を用いてユーザによって操作され印刷起動されて、識別番号を含む「印刷要求」を送信する(1、1’)。プリンタ300の制御部310は、PC PC1からの識別番号を含む「印刷要求」の受信(1)に応答して、プリンタ300は他のPCによって占有されていないので、PC1によるプリンタ300の占有を決定してプリンタ300の表示器313にPC1による「占有」を表示し、応答「受信可/占有」をPC1に送信し返す(2)。PC1のプロセッサは、応答「受信可/占有」を受信すると、そのディスプレイ上にPC1がプリンタ300を「占有中」であることを表示する(2)。
一方、制御部310は、その後のPC PC2からの他の識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300はPC1によって既に占有されているので、PC2によるプリンタ300の「占有外」または「非占有」を決定し、応答「受信不可/占有外」をPC2に送信し返す(2’)。PC2のプロセッサは、応答「受信可/占有外」を受信すると、ディスプレイ上に他のPCがプリンタ300を「他の占有」であること即ち他のPCによって占有されていることを表示する(2’)。
PC1は、次いで印刷データをプリンタ300に送信する(3)。プリンタ300の制御部310は、占有中のPC1から印刷データを受信して、機構部320に印刷を開始させる(4)。PC1は、印刷データの送信が完了するとデータ終了をプリンタ300に送信する(5)。制御部310は、占有中のPC1からのデータ終了の受信に応答して、受信完了と判定して応答「受信完了」をPC1に送信し返す(6)。
制御部310は、PC1によるプリンタ300の占有の開始からデータの受信完了と判定するまでは、PC2からの「印刷要求」に対して応答「受信不可」を送信し返す(2’)。PC1からのデータの「受信完了」と判定された後、制御部310は、PC PC2からの他の識別番号を含む「印刷要求」の受信(1’)に応答して、プリンタ300はそれ以外のPCからデータを受信していないので、応答「受信可」をPC2に送信し返す(2’)。
PC2は、次いで印刷データをプリンタ300に送信する(3’)。プリンタ300の制御部310は、プリンタ300がPC1によって占有されているので、占有外のPC2から印刷データを受信してそれを記憶部314に格納する(4’)。PC2は、印刷データの送信が完了するとデータ終了をプリンタ300に送信する(5’)。制御部310は、占有中のPC2からのデータ終了の受信に応答して、受信完了と判定して「受信完了」をPC1に送信し返す(6’)。
その後、制御部310は、機構部320によるPC1の印刷データの印刷終了を検出して印刷の終了を判定する(7)。センサ328によってスタッカ上に排出された印刷紙が検出されている限り、制御部310は、プリンタ300の状態「占有」を維持する。
PC1のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙がなくなったことが検出された場合(18)、制御部310は、プリンタ300の状態「占有」を解除して、記憶装置314の状態フィールドにおけるプリンタ300の「占有」の状態を「占有外」または「非占有」に変更し、プリンタ300のディスプレイ上の「占有」に関する表示を消去し、通知「占有解除」をPC1およびPC2に送信する。PC1のプロセッサは、通知「占有解除」を受信すると、ディスプレイ上の「占有中」の表示を解除する(2”)。また、PC2のプロセッサは、「占有解除」を受信すると、ディスプレイ上の「他の占有」の表示を解除する(2”)。
次いで、印刷されていない印刷データが記憶装置314に格納されている場合は、その印刷データを送信したPC2によるプリンタ300の占有を決定する(12)。次いで、制御部310は、その印刷データの印刷を開始する(14)。その後、制御部310は、機構部320によるPC2の印刷データの印刷終了を検出してその印刷の終了を決定する(17)。
その後、PC2のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙がなくなったことが検出された場合(18)、制御部310は、プリンタ300の「占有」の状態を解除して、プリンタ300の占有に関する状態を「占有外」または「非占有」に変更し、プリンタ300のディスプレイ上の「占有」に関する表示を消去し、通知「占有解除」をPC2に送信する。PC2のプロセッサは、通知「占有解除」を受信すると、ディスプレイ上の「占有中」の表示を解除する(12)。
従って、プリンタ300は、プリンタ300を占有しているPCの印刷データの印刷紙だけをスタッカ上に排出する。プリンタ300は、PC1とPC2からの印刷データを受信し印刷できない場合にはそのデータを記憶はするが、PC1とPC2によって印刷要求された印刷物がスタッカ上に排出されて同時に重ねられることがない。また、プリンタ300、PC1またはPC2は自己または他のPCによるプリンタ300の占有状態を表示するので、ユーザはプリンタ300に印刷を要求した場合、自己のPCが出した印刷要求に関する自己のPCのプリンタ300における占有状態を確認することができる。
図11を参照すると、ステップ402〜404、ステップ422〜426およびステップ445〜460は、図9のものと同様である。ステップ458および440は図7のものと同様である。
ステップ440において現在占有しているPC(PC1)からの印刷データが受信完了でないと判定された場合は、手順は図7のルーチンを出る。ステップ440において現在占有しているPCからの印刷データが受信完了であると判定された場合は、ステップ439において、制御部210は先のPCの占有状態は解除されたかどうかを判定する。占有状態が解除されていると判定された場合は、手順はステップ422に進む。ステップ439において占有状態が解除されていないと判定された場合は、ステップ446において、制御部210は、占有外のPC(PC2)に「受信可」を送信し返し、占有外のそのPCから印刷データを受信して記憶部314に記憶する。その後、手順は図7のルーチンを出る。
ステップ460の後のステップ448において、制御部210は、記憶部314中に占有中のPCの未だ印刷されていない印刷データが存在するかどうかを判定する。印刷データが存在すると判定された場合は、手順はステップ422に戻る。印刷データが存在しないと判定された場合は、手順は図7のルーチンを出る。
図12は、本発明のさらに別の実施形態による、プリンタ300とPC PC1およびPC2の間の通信手順を示している。図13は、図12のプリンタ300における制御部310による印刷処理のためのフローチャートを示している。
図12を参照すると、PC PC1およびPC2は、入力装置を用いてユーザによって操作され印刷起動されて、識別番号および占有要求の有無を含む「印刷要求/占有」を送信する(1、1’)。プリンタ300の制御部310は、PC PC1からの識別番号および占有要求有りを含む「印刷要求/占有」の受信(1)に応答して占有要求があることを認識し、プリンタ300は他のPCによって占有されておらず、かつセンサ328によってスタッカ上に排出された印刷紙がないことが検出された(8)場合には、制御部310は、PC1によるプリンタ300の占有を決定しプリンタを「占有モード」に設定してプリンタ300の表示器313にPC1による「占有モード」を表示する。制御部310はさらに応答「受信可/占有」をPC1に送信し返す(2)。PC1のプロセッサは、応答「受信可/占有」を受信すると、ディスプレイ上にPC1がプリンタ300を「占有モード」であることを表示してもよい(2)。
一方、制御部310は、その後のPC PC2からの他の識別番号および占有要求無しを含む「印刷要求/占有無し」の受信(1’)に応答して、PC2によるプリンタ300の「占有外」または「非占有」を決定し、またプリンタ300はPC1によって既に占有されていて印刷データを受信できないので、応答「受信不可/占有外」をPC2に送信し返す(2’)。
制御部310は、PC1によるプリンタ300の占有モードから非占有モードに変化するまでは、PC2からの「印刷要求」に対して応答「受信不可」を送信し返す(2’)。
PC1は、次いで印刷データをプリンタ300に送信する(3)。プリンタ300の制御部310は、占有中のPC1から印刷データを受信して、機構部320に印刷を開始させる(4)。PC1は、印刷データの送信が完了するとデータ終了をプリンタ300に送信する(5)。制御部310は、占有中のPC1からのデータ終了の受信に応答して、受信完了と判定して「受信完了」をPC1に送信し返す(6)。
その後、制御部310は、機構部320によるPC1の印刷データの印刷終了を検出してその印刷の終了を決定する(7)。センサ328によってスタッカ上に排出された印刷紙が検出されている限り、制御部310は、PC1によるプリンタ300の「占有モード」を維持する。
PC1のユーザが排紙機構326のスタッカ上に排出された印刷紙を持ち去って、センサ328によってスタッカ上に排出された印刷紙がなくなったことが検出された場合(8)、制御部310は、プリンタ300の「占有モード」を解除してプリンタ300を「非占有モード」に設定する(9)。
プリンタ300の制御部310は、PC PC2からの識別番号および占有要求の無しを含む「印刷要求/占有無し」の受信(1’)に応答して、PC2によるプリンタ300の「占有外」または「非占有」を決定し、また、プリンタ300は他のPCによって占有されておらず印刷データの受信中でもないので、通常(従来)のプリンタの形態で動作し、応答「受信可」をPC2に送信し返す(12)。
PC2は、次いで印刷データをプリンタ300に送信する(13)。プリンタ300の制御部310は、占有外のPC2から印刷データを受信して、機構部320に印刷を開始させる(14)。PC2は、印刷データの送信が完了するとデータ終了をプリンタ300に送信する(15)。制御部310は、占有中のPC2からのデータ終了の受信に応答して、受信完了と判定して「受信完了」をPC2に送信し返す(16)。プリンタ300は占有モードではないので、受信可から受信完了までの間の印刷データの受信中でない限り、制御部310は、いずれのPCからの印刷要求に対しても「受信可」を送信し返すことができ、印刷データを受信することができる。
その後、制御部310は、機構部320によるPC2の印刷データの印刷終了を検出してその印刷の終了を決定する(17)。プリンタ300は占有モードではないので、センサ328によってスタッカ上に排出された印刷紙が検出されても、制御部310は、いずれのPCからの「印刷要求」に対して応答「受信可」を送信し返し、印刷を行う。
従って、ユーザはプリンタ300を占有するかどうかを選択することができ、プリンタ300は、ユーザの占有要求の有無に応じて、占有モードを設定しまたは占有モードを設定しない。占有モードにおいて、プリンタ300は、プリンタ300を占有しているPCの印刷データの印刷紙だけをスタッカ上に排出し、PC1とPC2によって印刷要求された印刷物がスタッカ上に排出されて同時に重ねられることがない。
図13を参照すると、ステップ402、444、および422〜426は、図3のものと同様である。
ステップ402においてプリンタ300の制御部310はPCから識別番号を含む印刷要求を受信すると、ステップ403において、プリンタ300が現在占有されていない状態かまたはその印刷要求がプリンタ300を占有中のPCからのものかどうかを判定する。換言すれば、その印刷要求が、占有状態にあるプリンタ300を占有していないPCからのものかどうかを判定する。プリンタ300が現在占有されていない状態かまたはその印刷要求が占有中のPCからのものであると判定された場合は、手順はステップ412に進む。その印刷要求が占有中のPCからのものでないと判定された場合は、手順はステップ443に進む。
ステップ412において、制御部310は、PCから受信した印刷要求において「占有要求」が含まれているかどうかを判定する。「占有要求」が含まれていないと判定された場合は、ステップ414において、制御部310は、通常(従来)の形態で印刷データを受信して機構部320に印刷を行わせる。その後、手順は図13のルーチンを出る。ステップ412において占有モードが設定されていると判定された場合は、手順はステップ422に進む。
ステップ443において、制御部310は、占有外のPCによって先に印刷要求された印刷データの印刷は終了しているかどうかを判定する。その印刷が終了していないと判定された場合は、ステップ459において、制御部310は、現在印刷中の印刷データがあるので、受信不可をそのPCに送信し返す。その後、手順はこのルーチンを出る。
ステップ443において印刷が終了していると判定された場合は、ステップ444において制御部310はセンサ328からの検出出力に基づいてスタッカ上に印刷紙が存在するかどうかを判定する。スタッカ上に印刷紙が存在すると判定された場合は、手順はステップ459に進む。
ステップ444においてスタッカ上に印刷紙が存在しないと判定された場合は、制御部310は、ステップ448においてプリンタ300が現在「占有無し」であると決定する。その後、手順はステップ412に進む。
ステップ422において、制御部310は、「印刷要求/占有」を送信したPCによるプリンタ300の占有モードを設定する。
図14は、図12のPC1またはPC2によってプリンタ300の占有を要求する際に用いられる印刷設定における占有の設定のための印刷オプション画面を示している。
図14を参照すると、ユーザは、自己のPCからプリンタ300に印刷を要求する場合、印刷指示のためのアイコンまたはキーを選択して、印刷設定画面を表示し、その印刷オプションまたはプロパティを選択する。次いで、ユーザは、印刷オプション画面または印刷プロパティ画面においてプリンタ300を占有するための「プリンタを占有する」を選択し設定する。次いで、「プリンタ名」および「印刷範囲」等を指定して印刷を要求すると、PCのプロセッサは、識別番号および占有要求有りを含む「印刷要求/占有」をプリンタ300に送信する。
以上説明した実施形態は典型例として挙げたに過ぎず、その各実施形態の構成要素を組み合わせること、その変形およびバリエーションは当業者にとって明らかであり、当業者であれば本発明の原理および請求の範囲に記載した発明の範囲を逸脱することなく上述の実施形態の種々の変形を行えることは明らかである。
以上の実施例を含む実施形態に関して、さらに以下の付記を開示する。
(付記1) ネットワークに接続されるプリンタであって、
給紙機構と、印刷機構と、紙載置手段および紙センサを有する排紙機構とを含む機構部と、
前記ネットワークを介して或る情報処理装置から識別情報および印刷要求を受信して、前記受信した識別情報および印刷要求に従って前記機構部を制御し、前記印刷要求に従ってデータを受信した後で前記紙センサによって前記紙載置手段における排出された紙が検出されなくなるまで前記識別情報を有する前記或る情報処理装置に前記プリンタを占有させる制御部と、
印刷データを記憶する記憶装置と、
を具えるプリンタ。
(付記2) 前記制御部は、前記或る情報処理装置に前記プリンタを占有させている間、別の情報処理装置によって要求された印刷データの印刷を前記機構部にさせないものであることを特徴とする、付記1に記載のプリンタ。
(付記3) 前記制御部は、前記或る情報処理装置に前記プリンタを占有させている間、別の情報処理装置によって要求された印刷データの印刷を前記記憶装置に格納するものであることを特徴とする、付記1に記載のプリンタ。
(付記4) 前記制御部は、前記或る情報処理装置に前記プリンタを占有させている間、前記或る情報処理装置によって要求された印刷データの印刷を前記機構部に行わせるものであることを特徴とする、付記1乃至3のいずれかに記載のプリンタ。
(付記5) 前記制御部は、前記或る情報処理装置に前記プリンタを占有させた場合、前記或る情報処理装置による前記プリンタの占有を示す情報を前記或る情報処理装置に前記ネットワークを介して送信するものであることを特徴とする、付記1乃至4のいずれかに記載のプリンタ。
(付記6) 前記制御部は、前記或る情報処理装置に前記プリンタを占有させている間、印刷要求を送信した別の情報処理装置に対して、他の情報処理装置による前記プリンタの占有を示す情報を前記別の情報処理装置に前記ネットワークを介して送信するものであることを特徴とする、付記5に記載のプリンタ。
(付記7) 前記制御部は、前記或る情報処理装置に前記プリンタを占有させた場合、前記或る情報処理装置による前記プリンタの占有を示す情報を前記プリンタの表示器に表示するものであることを特徴とする、付記1乃至6のいずれかに記載のプリンタ。
(付記8) 前記制御部は、前記或る情報処理装置から前記印刷要求とともに受信した占有に関する情報に従って前記或る情報処理装置に前記プリンタを占有させるかどうかを決定するものであることを特徴とする、付記1乃至7のいずれかに記載のプリンタ。