(57)【特許請求の範囲】
【請求項１】
要求されるジョブに従って同一ネットワーク上に存在する複数のプリンタから一つのプリンタを選択する際に、該ネットワーク上で、要求されるジョブに対して同等のプリントを提供可能な他のプリンタに対し一定以上の時間がかかり印刷出力が発生しないジョブを投入する手段を有し、他のプリンタが選択されないようにすることを特徴とするプリンタ。
【請求項２】
要求されるジョブに従って同一ネットワーク上に存在する複数のプリンタから一つのプリンタを選択する際に、該ネットワーク上で、要求されるジョブに対して同等のプリントを提供可能な他のプリンタに対し永久に終了せず、印刷出力が発生しないジョブを投入する手段を有し、他のプリンタが選択されないようにすることを特徴とするプリンタ。
【請求項３】
要求されるジョブに従って同一ネットワーク上に存在する複数のプリンタから一つのプリンタを選択する際に、該ネットワーク上で、要求されるジョブに対して同等のプリントを提供可能な他のプリンタに対し印刷出力が発生しない処理時間の短いジョブを大量に投入する手段を有し、他のプリンタが選択され難くすることを特徴とするプリンタ。
【請求項４】
要求されるジョブに従って同一ネットワーク上に存在する複数のプリンタから一つのプリンタを選択する際に、該ネットワーク上で、要求されるジョブに対して同等のプリントを提供可能な他のプリンタをオフラインに切り替える命令を送る手段を有し、他のプリンタが選択されないようにすることを特徴とするプリンタ。
【請求項５】
請求項１に記載された前記他のプリンタに対し一定以上の時間がかかり印刷出力が発生しないジョブを投入する手段、又は請求項２に記載された前記他のプリンタに対し永久に終了せず印刷出力が発生しないジョブを投入する手段、又は、請求項３に記載された前記他のプリンタに対し印刷出力が発生しない処理時間の短いジョブを大量に投入する手段は、前記他のプリンタに投入するジョブをクライアントが使用しないプロトコルで投入することを特徴とする請求項１ないし３のいずれかに記載されたプリンタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、スキャナ、プリンタなどのネットワーク上で同様なサービスを提供するプリンタに関する。
【０００２】
【従来の技術】
同様なサービスが複数のサーバ（サービス提供者）によって提供されるネットワーク環境では、複数のサーバからひとつのサーバを選択することが必要であり、さまざまな選択機構を備えたシステムが従来から提案されている。このような環境の例として、プリントシステムがあげられる。例えば特開平６−１８３１０５号公報、特開平６−１８３１０６号公報、特開平６−１８３１０９号公報などがこの選択機能を実現するシステムを提案している。
【０００３】
上記特開平６−１８３１０５号公報では、プリントジョブを実行するために必要な機能を備えたプリンタを選択するシステムを提案している。特開平６−１８３１０６号公報では、オペレータがプリンタ装置の稼働状況を表示し、それをオペレータが見て、ジョブをできるだけ早く終了できる装置を選択するシステムを提案している。特開平６−１８３１０９号公報では、プリントサーバがジョブをできるだけ早く終了できる装置を選択するシステムを提案している。これらの提案を組み合わせて、与えられたジョブを実行するために必要な機能を備えている複数の装置から、もっとも早期にジョブを終了できる装置を選択し、ジョブを実行することが可能になる。
【０００４】
【発明が解決しようとする課題】
しかしながら、このようなシステムでは、最も機能が高い装置だけが優先的に選択されてしまうことになる。例えば、両面印刷可能装置が複数台あってそれらが少しづつ印刷速度が異なる環境において、両面印刷を必要とするジョブは優先的にもっとも早い両面印刷可能装置に与えられる。そのため、最も機能が高い両面印刷可能装置（プリンタ）以外の特定の装置を選択しようとしても前記最も機能が高い装置が選択されてしまい、希望するプリンタを自由に選択することができない。
【０００７】
本発明は、他のプリンタを積極的に選択されにくい状況にすることによって、自プリンタが選択される機能を有するプリンタを提供することを目的とする。
【００１４】
【課題を解決するための手段】
請求項１では、プリンタが複数存在するネットワーク環境にあって、一定以上の時間がかかり、印刷出力が発生しないジョブを他のプリンタに投入する手段を設けたことを特徴としている。
【００１５】
請求項２では、プリンタが複数存在するネットワーク環境にあって、永久に終了せず、印刷出力が発生しないジョブを他のプリンタに投入する手段を設けたことを特徴としている。
【００１６】
請求項３では、プリンタが複数存在するネットワーク環境にあって、印刷出力が発生しない処理時間の短いジョブを大量に他のプリンタに投入する手段を設けたことを特徴としている。
【００１７】
請求項４では、プリンタが複数存在するネットワーク環境にあって、他のプリンタをオフラインに切り替える命令を送る手段を設けたことを特徴としている。
【００１８】
請求項５では、請求項１に記載された前記他のプリンタに対し一定以上の時間がかかり印刷出力が発生しないジョブを投入する手段、又は請求項２に記載された前記他のプリンタに対し永久に終了せず印刷出力が発生しないジョブを投入する手段、又は、請求項３に記載された前記他のプリンタに対し印刷出力が発生しない処理時間の短いジョブを大量に投入する手段は、他のプリンタに投入するジョブを、クライアントが使わないプロトコルで投入するとよい。
【００１９】
【発明の実施の形態】
次に添付図面を参照して本発明のプリンタの実施の形態を詳細に説明する。図１〜図８を参照すると本発明のプリンタの実施形態が示されている。
【００２０】
図１は本発明の実施の形態によるプリンタ装置を使って構成したプリントシステムの概要を示すものである。このプリントシステムは、複数のワークステーション１、プリントマネージャ２、複数のプリンタ３及びネットワーク４で構成される。
【００２１】
ワークステーション１はユーザが直接操作するコンピュータで、システム内に複数あり、ワークステーション１台又は複数台に１人のユーザ５がいる。
【００２２】
ユーザ５はワークステーション１を操作する人間で、ワークステーション１上で文書を作成し、その文書を印刷するための印刷ジョブを作成し、プリントマネージャ２に印刷ジョブを渡す。１人のユーザ５は複数のワークステーション１を使うことがある。尚、印刷ジョブとは、装置の選択、紙や給排紙トレイの選択、両面印刷の設定、コピー部数、解像度の設定、完了要求時刻を設定するデータと印刷データの集まりである。
【００２３】
プリントマネージャ２は、ユーザ５からの印刷ジョブを受け付け、これを適切なプリンタ３に分配する装置で、システムに１台以上存在する。プリントマネージャ２はソフトウェアだけで実現することも可能であり、その場合は、ワークステーション１、あるいはプリンタ３で動作する。
【００２４】
プリントマネージャ２には、あらかじめそのプリントマネージャ２が管理する複数のプリンタ３が登録されていて、それらのプリンタ３と通信し、各プリンタ３の機能と性能の情報とプリンタ３の状態を常に把握している。つまり、プリンタ３の構成が変更されたり、障害が発生したりして機能が変更されたことを検出すると、プリンタ３の状態や機能を再調査して、自分が参照するデータを更新する。プリンタ３の機能や状態の変化はプリンタ３からの通報や定期的にプリンタ３の状態と構成を調査することで検出できる。
【００２５】
プリンタ３は紙、給排紙トレイ、両面、コピー部数などの設定を受け付け、その設定にしたがって印刷データで定義される印刷内容を紙などのメディアに印刷する。また、機能問い合わせ要求を受信し、機能問い合わせ応答を発信できる。前者をプリント動作といい、後者を問い合わせ対応動作という。
【００２６】
プリンタ３はひとつのプリントマネージャ２によって管理されていて、このプリントマネージャ２はあらかじめプリンタ３のセットアップ時に設定される。それ以降プリンタ３は、電源が投入されるたびにプリントマネージャ２に電源が投入されたことを通知し、プリントサービスを提供できるようになる。ただし、ひとつのプリンタ３で複数の仮想プリンタを実現し、その仮想プリンタを別々のプリンタとしてプリントマネージャ２に登録することで、ひとつの物理的なプリンタが複数の論理的なプリンタを実現することが可能である。この場合は、論理プリンタが個々で説明するプリンタと同等の動作をする。
【００２７】
＜プリントシステムのプリント動作及びプリンタのプリント動作＞
次にプリントシステムのプリント動作、およびプリンタのプリント動作について図２のフローチャートを用いて説明する。
まず、ユーザ５はワープロ、データベースソフトウェアなどを使って文書を作成し（ステップＳ２１）、その文書を印刷する際に、ジョブ設定を行う。ここで、装置の選択、紙や給排紙トレイの選択、両面印刷の設定、コピー部数、解像度の設定、完了要求時刻を指定する（ステップＳ２２）。
【００２８】
ステップ２２にて設定したジョブ印刷はプリントマネージャ２に提出する（ステップＳ２３）。印刷ジョブを受け取ったプリントマネージャ２は、そのジョブを実行するプリンタ３を選択し、ジョブをそのプリンタ３に割り振る（ステップＳ２４）。ジョブを割り振られたプリンタ３はそのジョブを実行する。
【００２９】
プリントマネージャ２は、選択したプリンタ３が、印刷ジョブを実行可能であるか否かを判定する（ステップＳ２５）。選択したプリンタが利用可能であると判断すると（ステップＳ２５／ＹＥＳ）、選択したプリンタ３にプリンタジョブ設定を送信する。
【００３０】
選択したプリンタ３が、印刷ジョブを実行可能ではないと判断すると（ステップＳ２５／ＮＯ）、次の印刷ジョブを実行可能になるのを待ってから（ステップＳ２６）、プリンタ３にプリンタジョブ設定を送る。プリンタジョブ設定は、ジョブ設定から装置の選択のためだけに使われる条件（つまり装置指定、完了要求時刻指定など）を除いたものである。つまり紙や給排紙トレイの選択、両面印刷の設定、コピー部数の設定の集まりである。
【００３１】
プリンタ３は、これらの設定にしたがって自身の設定を変更し、変更が終了したら、プリントマネージャ２にその旨報告する。プリントマネージャ２は、設定終了の報告を受けて、印刷データの転送を始める。
【００３２】
プリンタ３は、印刷データの処理を開始し（ステップＳ２７）、紙を１枚排紙するたびに、その紙について、プリントジョブのＰＤＬで定義されたページの番号と、プリンタジョブ設定で指定されたコピー部数をプリントジョブ進捗状況として、プリントマネージャ２に逐一通知する。両面印刷時には、印刷が終了したのが表か裏かの情報も同時に通知する。そして、印刷データの処理がすべて終了すると、印刷終了をプリントマネージャ２に通知し、印刷ジョブは終了する（ステップＳ２８）。
【００３３】
＜プリントマネージャのプリンタ選択方法＞
次に、プリントマネージャ２によるプリンタの選択方法を図３から図８のフローチャートを用いて説明する。尚、図３は全体の処理の流れを示しており、図４から図８は図３の各項目の動作をさらに詳細に説明するためのフローチャートである。
【００３４】
まず図４のフローチャートを用いて必要な機能をもつプリンタをプリントマネージャ２が選択する動作について説明する。
プリンタの選択は、ジョブに設定されている条件と、プリンタの動作状態に依存する。ジョブの条件で特定のプリンタ３が選択されている場合は、そのプリンタが選択される。しかし、特定のプリンタが選択されていない場合や、複数台選択された場合はプリントマネージャ２が最適なプリンタを選択する。まず、プリントマネージャ２の管理している複数のプリンタの中から、そのジョブを実行するために必要な機能を備えているプリンタを選択するためのジョブ実行可能プリントリストを作成する。
【００３５】
プリントマネージャ２は管理するプリンタの機能を一つ一つチェックしていく。チェックしていく項目としては、必要なメディアを備えているか（ステップ４４）、ジョブが両面機構を必要としていて、装置が両面をサポートしているか（ステップＳ４５）、ジョブがカラー印刷を必要としていて、装置がカラー印刷をサポートしているか（ステップＳ４６）、ジョブが複数コピーを指定していて、装置が複数コピーをサポートしているか（ステップＳ４７）、装置がプリントデータフォーマットをサポートしているか（ステップＳ４８）、ジョブが複数コピーを指定していて、装置が複数コピーをサポートしているか（ステップＳ４９）、プリンタの待ちジョブは３個未満か（ステップＳ５０）、ジョブを処理の場合、ジョブ終了予定は１分以内か（ステップＳ５１）等である。以上のすべての項目が満たされているときプリントマネージャ２はジョブ実行可能プリンタリストに全ての項目を満たしたプリンタを追加登録する（ステップＳ５２）。
【００３６】
尚、上記のチェック項目は、必要最低限の機能を備えたプリンタの集合である。この時の条件には図４のように、要求されているメディアをもっていること、要求項目を実現するために必要な機構（両面機構など）を備えていること、などがある。また、プリンタがすでに大量の処理待ちのジョブを抱えていたり、処理に長い時間がかかるジョブを実行中のプリンタはこの集合から外される。さらに、この集合から何らかの条件でひとつを選択する。この条件はそのプリントシステムの管理者によって選択され、「もっとも早く印刷できるプリンタ」とか「もっとも安価に印刷できるプリンタ」などのアルゴリズムからひとつのポリシーを選択する。
【００３７】
例えば、プリンタＡ: 両面可能。20ppm(片面) 、18ppm(両面) 、1200dpi 、3 円／枚、8 円／両面、プリンタＢ: 両面可能。17ppm(片面) 、16ppm(両面) 、800dpi、3 円／枚、8 円／両面、プリンタＣ: 両面不可能。19ppm(片面）、600dpi、2 円／枚尚、ppm(pages per minutes)は印刷速度の単位であり、dpi(dots per inch)は解像度の単位である。
【００３８】
上記の構成のプリントシステムでは、両面印刷を必要とするジョブは、まずプリンタＡで実行されることになり、プリンタＢが選択されるのはプリンタＡが利用できないときだけである。また、片面印刷を必要とするジョブの場合は、プリンタＡが優先され、その次にプリンタＣが優先され、それも利用できないときにだけプリンタＢが選択される。
【００３９】
＜自己機能調査（実機能ＤＢ作成）、ステップＳ３１＞
次にプリンタの機能問い合わせ対応動作について図５の動作フローを用いて説明する。
プリンタ３はユーザ５やプリントマネージャ２から問い合わせを受信すると、まず、自分の現実の機能を調べて実機能ＤＢを作成する（ステップＳ５５）。これには現在自分に両面装置、カラーインキ、画像改良回路などのオプション装置が装備されているかどうか、または自分の給紙トレイにセットされているメディアの種類を検知し、実機能ＤＢの値を設定していく。こうして完成した実機能ＤＢの内容を機能問い合わせ要求への応答として送出する（ステップＳ５６）ことで、問い合わせへの対応処理は終了する。しかし、プリンタ３は次の競合プリンタ情報収集動作を継続する。
【００４０】
ここで、上記プリンタの機能問い合わせ要求と応答のデータ形式について説明する。
問い合わせ要求は、テキストファイルで、以下のフォーマットである。１行はパラメータ名と０個以上のパラメータの値で構成される。パラメータ名とパラメータの値はスペースやタブなどのホワイトスペースで区切られている。"#" 記号で始まる行はコメントであり、プリントシステムでは無視される。ここでは、フォーマットやデータの説明に利用している。
# プリンタ機能問い合わせ要求
request-printer-capability
# 終了
【００４１】
これを受信したプリンタが送り返す機能問い合わせ応答はテキストファイルで、以下のフォーマットである。１行はパラメータ名と０個以上のパラメータの値で構成される。パラメータ名とパラメータの値はスペースやタブなどのホワイトスペースで区切られている。"#" 記号で始まる行はコメントであり、プリントシステムでは無視される。ここでは、フォーマットやデータの説明に利用している。
# プリンタ機能問い合わせ応答
reply-printer-capability
以下詳細は省略する。
【００４２】
＜競合プリンタの機能調査、ステップＳ３２＞
次に、このプリンタと他の競合プリンタの情報を集める。この動作を図６のフロー図を用いて説明する。
これには、競合プリンタを発見するステップと、その情報を集めるステップがあるが、どちらを先に実施してもよい。競合するプリンタがあらかじめわかっている場合は、そのプリンタだけから機能情報を収集するだけで十分であるが、未知のプリンタがある可能性がある場合は、競合プリンタを発見するステップが必要である。また競合するかどうかを判断するために、未知のプリンタの機能を一度は収集する必要があるため、すべての情報を同時に収集することも考えられる。
【００４３】
他の競合プリンタを発見するために、まず、自分を管理しているプリントマネージャにどのようなプリンタが接続されているのかを問い合わせる。そしてその応答としてプリンタマネージャからプリンタリストを入手する（ステップＳ６１）。
【００４４】
そして入手したプリンタリストに登録されているすべてのプリンタに順番に機能問い合わせ要求を送信していく。ステップＳ６５でプリンタリストに競合プリンタの情報がすでにあるかの確認をおこない、ないときは（ステップＳ６５／ＮＯ）、競合プリンタに機能問い合わせ要求を送信する（ステップＳ６６）。競合プリンタから応答があったときには（ステップＳ６７）、応答を解析して機能を登録する。一定時間内待っても応答がない場合は（ステップＳ７０／ＮＯ）、そのプリンタからの応答を待たないでつぎのプリンタを調べる準備動作に入る（ステップＳ７１）。
【００４５】
そしてプリンタリストの最後まで上記の動作を繰り返し（ステップＳ６３／ＹＥＳ）、対抗プリンタ機能収集を完了させる（ステップＳ６４）。また、これ以外の競合プリンタ発見する手段として、プリントマネージャに問い合わせるのではなく、そのネットワークで利用できるディレクトリサービスを利用することも可能である。
【００４６】
＜対抗プリンタ群作成、ステップＳ３３＞
次に上記のいずれか、あるいは両方の手段で入手した競合プリンタの情報をまとめて、ネットワークにあるプリンタ資源の機能リストを作成する動作フローを図７のフローチャートを用いて説明する。
【００４７】
ステップＳ８２において競合プリンタを検索すると（ステップＳ８２／ＹＥＳ）、以下の選択基準によって対抗プリンタ群を作成する。まず印刷速度が似ているのかを判断し（ステップＳ８４）、似ていると判断すると解像度を比較する（ステップＳ８５）。解像度が似ていると判断すると（ステップＳ８５／ＹＥＳ）、次に印刷コストの比較を行う（ステップＳ８６）。印刷コストが似ていると判断すると（ステップＳ８６／ＹＥＳ）、両面機能が似ているかどうかを判断する（ステップＳ８７）。以上の全ての選択基準が似ていると判断すると、競合プリンタを対抗プリンタ群に追加する（ステップＳ８８）。また以上の選択基準が一つでも異なると競合プリンタは対抗プリンタではないと判断してつぎの競合プリンタを選択する（ステップＳ８１）。
【００４８】
両面機能がある装置は両面印刷の場合と片面印刷の場合の２通りの装置として比較する。印刷速度では毎分の印刷枚数が＋／−20％の装置を比較対象とする。解像度では実効解像度＋／−40％の装置を比較対象とする。これは、高解像度化処理などにより実効解像度が物理解像度より高くなっている場合があるからである。カラー印刷ができる装置はカラー印刷をする場合と白黒印刷をする場合の２通りのケースで、それぞれカラー印刷装置と白黒印刷装置と比較する。メディアとページ記述言語については同等のものを搭載している装置を対象とする。ここでは一例としての数値を列挙したが、これ以外の判断基準を採用することも可能である。このリストの中から、自分の実機能に近いプリンタを選択し、これらを対抗プリンタ群とする。
【００４９】
＜機能を比較して自己機能調整（ステップＳ３６）、及び公開機能ＤＢの内容を応答として送信（ステップＳ３７）＞
次に要求データ転送の動作を図８の動作フローを用いて説明する。
対抗プリンタが見つかったら（ステップＳ９１）、それらに印刷データや命令を送る。そして、対抗プリンタ群に含まれるプリンタごとにサポートしている制御言語を判別する。そしてあらかじめ記憶装置に格納してある対抗プリンタに適した停止命令がある（ステップＳ９３），永久ループを含んだ印刷データがある（ステップＳ９４）、処理に１分ほど時間がかかる複雑な命令を含んだデータ、処理に１時間から２時間ほどかかる複雑な命令を含んだデータがある（ステップＳ９５）のいずれかを選択する。データは処理結果として印刷物が生成されないものが望ましい。これは、紙などを消費して課金対象となってしまうことを避けるためである。
【００５０】
装置はこれら全種類のデータ・命令をすべて持っているとは限らない。しかし、複数種類が記憶装置に格納されている場合は、設定パラメータを参照するなどしていずれかのデータ・命令を選択する。また、適切なデータがない場合には、データ・命令は転送しない（ステップＳ９５／ＮＯ）。
【００５１】
選ばれたデータは、そのプリンタで実施されるように指定したジョブとして、プリントサーバに転送される（ステップＳ９６）。永久ループ印刷データとサービス停止命令を転送した場合は、一度のサービス要求以降、データを転送する必要がないので、プリンタは通常動作に戻る。しかし処理に１分ほど時間がかかるデータの場合は、複数のジョブを一度に転送する。プリントサーバは、受け取ったデータをプリンタに転送し、データを受け取ったプリンタは適切な処理を始める。これにより、今後は他のプリンタが選ばれる可能性が低くなる。
【００５２】
なお、本実施の形態では、機能問い合わせ要求をトリガーとして他のプリンタを調べ、データや命令を送るための一連の動作を開始したが、これは任意のタイミングで開始してもよく、一定時間ごと、他のプリンタがジョブを受け取った時、などのタイミングも利用できる。
【００５３】
また、本実施の形態はネットワーク上にプリンタを設けたシステムであるが、本発明はネットワーク上にスキャナ、画像処理サーバ等の他のサーバを設けたシステムも適用することができる。
【００６０】
【発明の効果】
以上説明したように、請求項１の発明によれば、他のプリンタに計算能力以外の紙やインクなどの資源を消耗させずに長時間使用中とすることで、他のプリンタが選択されないようにすることができる。
【００６１】
請求項２の発明によれば、簡単なデータで他のプリンタに計算能力以外の紙やインクなどの資源を消耗させず、長時間使用中とすることで、他のプリンタが選択されないようにすることができる。
【００６２】
請求項３の発明によれば、他プリンタをほとんど使用中としながら、まだ他のクライアントがそのプリンタにサービスを要求する余地を残しつつ、他プリンタが選択しにくくすることができる。
【００６３】
請求項４の発明によれば、簡単な命令だけで他のプリンタを使用不可能とし、他のプリンタが選択されないようにすることができる。
【００６４】
請求項５の発明によれば、クライアントから直接見えないよう命令やデータを転送することができる。
【図面の簡単な説明】
【図１】本発明の実施の形態によるプリントシステムを示す構成図である。
【図２】プリントシステムのプリント動作を示すフローチャートである。
【図３】プリントマネージャのプリンタ選択動作を示すフローチャートである。
【図４】必要機能を持つプリンタを検索する動作を示すフローチャートである。
【図５】機能問い合わせ動作を示すフローチャートである。
【図６】競合プリンタの情報収集動作を示すフローチャートである。
【図７】対抗プリンタ選択動作を示すフローチャートである。
【図８】サービス要求転送動作を示すフローチャートである。
【符号の説明】
１  ワークステーション
２  プリントマネージャ
３  プリンタ
４  ネットワーク
【図１】
0003775766.tif 000002
【図２】
0003775766.tif 000003
【図３】
0003775766.tif 000004
【図４】
0003775766.tif 000005
【図５】
0003775766.tif 000006
【図６】
0003775766.tif 000007
【図７】
0003775766.tif 000008
【図８】
0003775766.tif 000009