JP2007087392A - ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法、プリントサーバ、制御プログラム、および、記録媒体 - Google Patents

ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法、プリントサーバ、制御プログラム、および、記録媒体 Download PDF

Info

Publication number
JP2007087392A
JP2007087392A JP2006255016A JP2006255016A JP2007087392A JP 2007087392 A JP2007087392 A JP 2007087392A JP 2006255016 A JP2006255016 A JP 2006255016A JP 2006255016 A JP2006255016 A JP 2006255016A JP 2007087392 A JP2007087392 A JP 2007087392A
Authority
JP
Japan
Prior art keywords
image processing
raster image
host
description language
load distribution
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.)
Granted
Application number
JP2006255016A
Other languages
English (en)
Other versions
JP4757753B2 (ja
Inventor
James E Owen
イー.オーウェン ジェイムズ
Kerry R Calvert
アール.カルバート ケリー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sharp Corp filed Critical Sharp Corp
Publication of JP2007087392A publication Critical patent/JP2007087392A/ja
Application granted granted Critical
Publication of JP4757753B2 publication Critical patent/JP4757753B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • G06F3/1288Remote printer device, e.g. being remote from client or server in client-server-printer device configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • G06F3/1212Improving printing performance achieving reduced delay between job submission and print start
    • G06F3/1214Improving printing performance achieving reduced delay between job submission and print start at the submitting node
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

【課題】ホストによるラスタデータおよびページ記述言語の生成処理の負荷を分散する。
【解決手段】プリントサーバが印刷ジョブに相当するグラフィックコマンドの処理方法を指示するための要求をホストから受信する。該要求に応じて、プリントサーバがグラフィックコマンドのラスタイメージ処理をホスト上のラスタイメージ処理部が実行するか、または、他の1または複数のラスタイメージ処理部が実行するかを決定する。ホスト上のラスタイメージ処理部でラスタイメージ処理を実行する方がより効率的であるとプリントサーバが決定した場合には、グラフィックコマンドをラスタライズする指示をホストに行う。他の1または複数のラスタイメージ処理部でラスタイメージ処理を実行する方がより効率的であるとプリントサーバが決定した場合には、グラフィックコマンドをページ記述言語にレンダリングする指示をホストに行う。
【選択図】図1

Description

本発明は、コンピュータおよびコンピュータ関連技術に関するものである。特に、本発明は、ホストによるラスタデータおよびページ記述言語の生成処理の負荷を分散する負荷分散システムおよび負荷分散方法に関するものである。
今日では多種多様なコンピュータが使用されている。本願明細書では、「コンピュータシステム」とは、所望の結果を生成するために情報を処理する能力を有するあらゆる装置またはその組合せを指すものとする。コンピュータシステムの例としては、パーソナルコンピュータ、携帯型コンピュータ、携帯情報端末(PDA)、サーバ、メインフレーム、スーパーコンピュータ、ミニコンピュータ、ワークステーション、マイクロコンピュータ、マイクロコントローラなどが挙げられる。
文書印刷は、多くのコンピュータユーザにとって親しみのある作業である。本願明細書では、「プリント装置」とは、紙などの出力媒体上にユーザが読み取り可能なテキストや画像を形成するあらゆる装置を指すものとする。プリント装置の例としては、コンピュータプリンタ、ファクシミリ装置、スキャナ、多機能周辺装置、複写機などが挙げられる。
状況によっては、コンピュータシステムのことをホストという。ホストとプリント装置との通信を容易にするために、ホストはプリント装置用のドライバを有する。特定のプリント装置用のドライバによって、ホスト上のアプリケーションは、上記プリント装置のハードウェアや内部言語についての詳細を知らずとも、上記プリント装置と通信することが可能となる。
1または複数のプリント装置がコンピュータネットワークに接続される。これにより、ネットワーク上の多様なコンピュータシステムがプリント装置(群)に印刷ジョブを送信することができる。印刷ジョブとは、印刷するためにプリント装置に対して投入された1つの文書または文書の集合である。
ラスタイメージ処理(RIP;Raster image processing)とは、テキストおよび画像を、プリント装置で紙上に最終的に印刷することとなるピクセルの行列(ビットマップ)に変換する処理である。RIP部(ラスタイメージ処理部)はラスタイメージ変換を実行するものである。RIP部はハードウェアおよび/またはソフトウェアで実装される。「ラスタライズ」という単語は、ラスタイメージ処理を実行する処理を指す。
印刷ジョブがホスト上で生成されたら、ホストは印刷ジョブをラスタライズ(つまり、ラスタイメージ処理を実行)し、その結果、ラスタデータを生成する。そして、ホストはラスタデータをプリント装置に送信する。あるいは、ホストはページ記述言語(PDL;page description language)を用いて印刷ジョブの記述を生成してもよい。PDLは、印刷ページの配置を記述するのに使用されるものである。PDLはプリンタ技術と無関係にページ要素を定義するので、ページの外見は、利用されたプリント装置の仕様に関わらず一貫性が保たれる。PDLの例としては、プリンタ制御言語(PCL;Printer Control Language)、ポストスクリプト(PostScript)などが挙げられる。ホストが印刷ジョブをPDLで記述した場合、プリント装置や専用RIPサーバなどのいずれかに配置されたRIP部により、ラスタイメージ処理が実行される。
ある状況下では、印刷ジョブ(またはその一部)をラスタライズし、プリント装置にラスタデータを送信する方がホストにとってより効率的な場合がある。しかしながら、別の状況下では、印刷ジョブをPDLコマンドにレンダリングして、該PDLコマンドを、ラスタライズを実行するためのどこかに送信する方が、ホストにとってより効率的な場合がある。以上のことから、ホストにおけるラスタデータおよびページ記述言語データの生成処理の負荷が分散されるようにシステムおよび方法を改良することに利点があることがわかるであろう。
ホストの印刷処理の負荷を分散する技術としては、例えば、特許文献1には、印刷対象のオブジェクトが重複するか否かによって、オブジェクトのデータをラスタライズ処理したり、あるいは、ページ記述言語データに変換してプリンタに転送したりする印刷データ処理方法が開示されている。
また、特許文献2には、入力画像情報の処理を、画像を処理する複数の処理手段に分散して割り当てる管理手段を備えた画像処理装置が開示されている。より具体的には、上記管理手段は、各処理手段に対する割り当て状況、入力画像情報の形式、処理手段の機能などに応じて、割り当てを決定している。
さらに、特許文献3には、出力装置の状態または各画像処理装置の負荷に応じて条件を判定し、転送条件を満たす任意の転送先に、印刷ジョブを転送して負荷分散を図る複合画像処理システムが開示されている。
特開平10−40029(1998年2月13日公開) 特開平10−289066(1998年10月27日公開) 特開2001−34428(2001年2月9日公開)
しかしながら、上記従来の構成では、以下の問題を生じる。
具体的には、特許文献1に記載の方法では、オブジェクトの重複の有無に応じてホストの負荷をプリンタに分散させることができるのみである。また、特許文献2に記載の方法では、画像を並行して処理する複数の処理手段を有する1の画像処理装置における効率化が図れるのみである。
したがって、一つのプリンタに対して、複数のホスト(または、画像処理装置)が接続されているような印刷システム全体における処理効率の向上を図るための、他のホストの負荷をも考慮した負荷分散システムを構築することができないという問題を生じる。
また、特許文献3に記載の方法では、未処理ジョブの分散は、特定の画像処理装置(ホスト)に負荷が集中した状況や、印刷不可能な障害が発生した状況下で実行されるのみである。このため、上述ような状況が発生しない間は、未処理ジョブの分散は行われない。したがって、負荷の集中や障害の発生に関わらず、正常時も含めて、常に最適な処理効率を維持するということができないという問題を生じる。
本発明は、上記の問題点に鑑みてなされたものであり、その目的は、ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散して、常に最適な処理効率を維持する負荷分散方法、プリントサーバ、制御プログラム、および、記録媒体を実現することにある。
本発明の負荷分散方法は、上記課題を解決するために、ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法であって、上記ホストと通信するプリントサーバが、印刷ジョブに相当するグラフィックコマンドをラスタライズするラスタイメージ処理を、上記ホストの第1ラスタイメージ処理部、または、他の1または複数の第2ラスタイメージ処理部のいずれが実行するのがより効率的であるのかを決定するステップと、上記決定するステップにて、上記ホストの上記第1ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをラスタライズするよう指示するステップと、上記決定するステップにて、他の1または複数の上記第2ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをページ記述言語データにレンダリングするよう指示するステップとを含むことを特徴としている。
上記方法によれば、上記決定するステップにて、より効率的にグラフィックコマンドを処理できるラスタイメージ処理部が決定される。決定されたラスタイメージ処理部がホストのものであれば、上記ラスタライズを指示するステップにて、当該ラスタイメージ処理部が上記グラフィックコマンドをラスタライズするための指示がホストに送られる。
一方、決定されたラスタイメージ処理部が他の(例えば、上記ホスト以外の他の画像処理装置など)第2ラスタイメージ処理部であれば、他の装置の第2ラスタイメージ処理部がラスタライズの処理をできるように、上記グラフィックコマンドをページ記述言語データにレンダリングするための指示がホストに送られる。
これにより、常に、より効率的にグラフィックコマンドを処理するラスタイメージ処理部が決定され、決定されたラスタイメージ処理部がラスタライズを実行できるように、ラスタライズまたはレンダリングの指示がホストに送られる。以上のことから、ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散して、常に最適な処理効率を維持することが可能となる。
上記負荷分散方法は、上記決定するステップにて、上記ホストの上記第1ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、さらに、上記プリントサーバが、上記ホストがラスタライズしたラスタデータを上記ホストから受信するステップと、上記受信したラスタデータをプリント装置に送信するステップとを含むことが好ましい。
上記負荷分散方法は、上記決定するステップにて、他の1または複数の上記第2ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、さらに、上記プリントサーバが、上記ページ記述言語データを上記ホストから受信するステップと、上記ページ記述言語データのラスタイメージ処理を、上記他の1または複数の第2ラスタイメージ処理部に分配するステップとを含むことが好ましい。
上記負荷分散方法の上記ページ記述言語データのラスタイメージ処理を分配するステップは、上記ページ記述言語データの少なくとも一部をラスタライズするようローカルのラスタイメージ処理部に指示するステップを含むことが好ましい。
上記負荷分散方法の上記ページ記述言語データのラスタイメージ処理を分配するステップは、ラスタイメージ処理のために、上記ページ記述言語データの少なくとも一部を1または複数の他のホストに送信するステップを含むことが好ましい。
上記負荷分散方法の上記ページ記述言語データのラスタイメージ処理を分配するステップは、ラスタイメージ処理のために、上記ページ記述言語データの少なくとも一部を1または複数の副サーバシステムに送信するステップを含むことが好ましい。
上記負荷分散方法の上記ページ記述言語データのラスタイメージ処理を分配するステップは、ラスタイメージ処理のために、上記ページ記述言語データの少なくとも一部をプリント装置に送信するステップを含むことが好ましい。
なお、上記各ステップは、上記印刷ジョブの複数のセグメントごとに、繰り返し実行されてもよい。
あるいは、上記各ステップは、印刷ジョブ全体に対して1度実行されてもよい。
上記負荷分散方法は、さらに、上記プリントサーバが、上記グラフィックコマンドの処理方法の指示を求める要求を上記ホストから受信するステップを含むことが好ましい。
上記決定するステップは、上記要求を受信するステップにて要求を受信するのに応じて、実行されることが好ましい。
上記決定するステップは、ラスタイメージ処理能力に影響を及ぼす1または複数の要因を評価するステップを含むことが好ましい。
上記1または複数の要因は、ホストの処理能力、プリント装置の処理能力、プリントサーバの処理能力、他の1または複数のラスタイメージ処理部の状態、ラスタイメージ処理部の統計値、ネットワークの転送容量、ネットワークの転送性能、および、グラフィックコマンドの統計値のうち、少なくともいずれか1つを含むことが好ましい。
上記印刷ジョブは、上記ホストから生成されることが好ましい。
上記他の1または複数の第2ラスタイメージ処理部は、上記ホストに備えられていないことが好ましい。
上記他の1または複数の第2ラスタイメージ処理部のうち少なくとも1つは、上記プリントサーバに備えられていることが好ましい。
上記他の1または複数の第2ラスタイメージ処理部のうち少なくとも1つは、副サーバに備えられていることが好ましい。
上記他の1または複数の第2ラスタイメージ処理部のうち少なくとも1つは、上記ホストとは異なるホストに備えられていることが好ましい。
本発明のプリントサーバは、上記課題を解決するために、ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法を実行するためのプリントサーバであって、印刷ジョブに相当するグラフィックコマンドをラスタライズするラスタイメージ処理を、上記ホストの第1ラスタイメージ処理部、または、他の1または複数の第2ラスタイメージ処理部のいずれが実行するのがより効率的であるのかを決定する決定手段と、上記決定手段が、上記ホストの上記第1ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをラスタライズするよう指示するラスタライズ指示手段と、上記決定手段が、他の1または複数の上記第2ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをページ記述言語にレンダリングするよう指示するレンダリング指示手段とを備えていることを特徴としている。
上記決定手段は、ラスタイメージ処理能力に影響を及ぼす1または複数の要因を評価することにより、上記いずれのラスタイメージ処理部がラスタイメージ処理を実行するのがより効率的であるのかを決定することが好ましい。
上記決定手段が評価する上記1または複数の要因は、ホストの処理能力、プリント装置の処理能力、プリントサーバの処理能力、他の1または複数のラスタイメージ処理部の状態、ラスタイメージ処理部の統計値、ネットワークの転送容量、ネットワークの転送性能、および、グラフィックコマンドの統計値のうち、少なくともいずれか1つを含むことが好ましい。
なお、上記プリントサーバは、コンピュータによって実現してもよく、この場合には、コンピュータを上記各手段として動作させることにより上記プリントサーバをコンピュータにて実現させるプリントサーバの制御プログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体も、本発明の範疇に入る。
本発明の負荷分散方法は、上記課題を解決するために、ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法であって、上記ホストと通信するプリントサーバが、印刷ジョブに相当するグラフィックコマンドをラスタライズするラスタイメージ処理を、上記ホストの第1ラスタイメージ処理部、または、他の1または複数の第2ラスタイメージ処理部のいずれが実行するのがより効率的であるのかを決定するステップと、上記決定するステップにて、上記ホストの上記第1ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをラスタライズするよう指示するステップと、上記決定するステップにて、他の1または複数の上記第2ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをページ記述言語データにレンダリングするよう指示するステップとを含むことを特徴としている。
本発明のプリントサーバは、上記課題を解決するために、ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法を実行するためのプリントサーバであって、印刷ジョブに相当するグラフィックコマンドをラスタライズするラスタイメージ処理を、上記ホストの第1ラスタイメージ処理部、または、他の1または複数の第2ラスタイメージ処理部のいずれが実行するのがより効率的であるのかを決定する決定手段と、上記決定手段が、上記ホストの上記第1ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをラスタライズするよう指示するラスタライズ指示手段と、上記決定手段が、他の1または複数の上記第2ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをページ記述言語にレンダリングするよう指示するレンダリング指示手段とを備えていることを特徴としている。
これにより、常に、より効率的にグラフィックコマンドを処理するラスタイメージ処理部が決定され、決定されたラスタイメージ処理部がラスタライズを実行できるように、ラスタライズまたはレンダリングの指示がホストに送られる。以上のことから、ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散して、常に最適な処理効率を維持することが可能となる。
本発明の一実施形態について、添付図面と併せて、以下の記載および添付の特許請求の範囲によって十分に明らかになるであろう。なお、添付図面は本発明の一実施形態を記載したに過ぎず、発明の範囲を限定するものではない。以下の添付図面を参照して、本発明の一実施形態の特徴および詳細をさらに説明する。
ホストによるラスタデータおよびページ記述言語の生成処理の負荷分散システムおよび方法について、以下に説明する。本実施形態において、プリントサーバは、ホストで生成された印刷ジョブに相当するグラフィックコマンドの処理方法についての指示要求を上記ホストから受信する。上記要求に応じて、プリントサーバはグラフィックコマンドのラスタイメージ処理をホスト上のRIP(ラスタイメージ処理)部、または、ホスト上にはない他の1または複数のRIP部のいずれが実行すれば効率がよいかを決定する。この決定処理には、ラスタイメージ処理能力に影響を及ぼす要因の評価処理が含まれていてもよい。例えば、要因としては、ホストの処理能力、プリント装置の処理能力、プリントサーバの処理能力、1または複数のRIP部の状態、RIP部の統計値、ネットワークの転送容量、ネットワークの転送性能、および、グラフィックコマンドの統計値などが挙げられる。
ホスト上のRIP部でラスタイメージ処理を実行する方がより効率的であるとプリントサーバが決定した場合には、プリントサーバは、グラフィックコマンドをラスタライズする指示をホストに行う。そして、プリントサーバはホストからラスタデータを受信し、該ラスタデータをプリント装置に送信する。
他の1または複数のRIP部でラスタイメージ処理を実行する方がより効率的であるとプリントサーバが決定した場合には、プリントサーバは、グラフィックコマンドをページ記述言語にレンダリングする指示をホストに行う。そして、プリントサーバは、ホストからページ記述言語のデータを受信し、他の1または複数のRIP部に、ページ記述言語のラスタイメージ処理を分配する。
上記ページ記述言語のラスタイメージ処理を分配するステップには、ローカルのRIP部に対して、ページ記述言語の少なくとも一部をラスタライズするよう指示するステップが含まれていてもよい。あるいは(または、さらに)、上記ページ記述言語のラスタイメージ処理を分配するステップには、ラスタライズのために、1または複数の他のホストに対してページ記述言語の少なくとも一部を送信するステップが含まれていてもよい。あるいは(または、さらに)、上記ページ記述言語のラスタイメージ処理を分配するステップには、ラスタライズのために、1または複数の副サーバシステムに対してページ記述言語の少なくとも一部を送信するステップが含まれていてもよい。あるいは(または、さらに)、上記ページ記述言語のラスタイメージ処理を分配するステップには、ラスタライズのために、プリント装置に対してページ記述言語の少なくとも一部を送信するステップが含まれていてもよい。
上記各ステップの少なくともいくつかを、印刷ジョブの複数のセグメントごとに繰り返し実行してもよい。あるいは、上記各ステップを印刷ジョブ全体に対して1度だけ実行してもよい。
添付の図面を参照して本発明の様々な実施形態について説明する。なお、添付の各図において、同一機能を有する1の部材には、同一符号を付してある。本発明の本実施形態を添付図面において一般的に記載および図解しているが、本発明はこれに限らず様々な構成にすることができる。すなわち、図面に示す本発明のいくつかの典型的な実施形態の詳細な説明は、請求する発明の範囲を限定するものではなく、発明の実施形態を単に表したものに過ぎない。
なお、本願明細書でもっぱら使用される「典型的な(exemplary)」という単語は、「一例(または、一事例、実例)として開示する」ことを意味する。本願明細書で「典型例」として開示するいかなる実施形態についても、他の実施形態よりも好ましいとか優位であると解釈する必要は無い。実施形態の様々な側面が図示されているが、明確に示されている場合を除いて、必ずしも一定の縮尺で図示されているとは限らない。
本願明細書で開示する実施形態の特徴の多くは、コンピュータソフトウェア、電子ハードウェア、またはその両方により実装される。ハードウェアとソフトウェアとの互換性を明確に示すため、様々な構成要素がそれらの機能の観点で記載されている。その機能がハードウェアとソフトウェアのいずれで実装されるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者が特定のアプリケーションごとに、さまざまな方法で上述の機能を実装するが、このような実装の決定によって、本発明の範囲が逸脱することになると解釈するべきではない。
機能がコンピュータソフトウェアで実装されている場合、該ソフトウェアは、記憶装置に格納され、および/または、システムバスやネットワーク経由で電気信号として転送される、コンピュータの各種命令やコンピュータが実行可能な各種コードを含んでいる。本願明細書で記載する構成要素に関連付けられた機能を実装するソフトウェアは、単一または複数の命令から構成されていてもよく、さまざまなプログラムに対して、複数の記憶装置にまたがり、複数の異なるコードセグメントとして分配されてもよい。
図1は、本実施形態における、印刷ジョブのラスタイメージ処理を負荷分散するための負荷分散システム100の要部構成を示すブロック図である。図1の負荷分散システム100は、プリントサーバ104と電気通信するホスト102を含んでいる。プリントサーバ104は、コンピュータネットワーク上のプリント装置を管理する専用のコンピュータシステムである。プリントサーバ104は印刷要求を管理し、エンドユーザとネットワーク管理者とが利用可能なキューのステータス情報を生成する。
ホスト102上のアプリケーション106が、1または複数の文書を特定のプリント装置(図示せず)にて印刷するように、(例えは、ユーザやスケジュールタスクによって)指示された場合、アプリケーション106は、文書印刷のためのグラフィックコマンド108をプリント装置のドライバ110に渡す。Microsoft Windows(登録商標)環境おいては、アプリケーション106は、グラフィックデバイスインターフェース(GDI;graphics device interface)コマンドをオペレーティングシステムに渡し、オペレーティングシステムがDDIコマンドの形式でドライバ110に送信する。
ドライバ110はRIP部(第1ラスタイメージ処理部)114を含んでいる。RIP部114はラスタイメージ処理を実行するよう構成されている。換言すると、RIP部114は、グラフィックコマンド108を、ラスタデータ122に変換するよう構成されている。ラスタデータ122は、プリント装置により紙に最終的に印刷されるピクセルの行列(ビットマップ)である。
また、ドライバ110はPDL(ページ記述言語)部112を含んでいる。PDL部112は、グラフィックコマンド108をPDLデータ120に変換するよう構成されている。PDLデータ120は、印刷ジョブの様々な要素の配置を記述するものである。PDLデータ120は、PostScriptデータや印刷コマンド言語(PDL;Printer Command Language)データなどである。
印刷ジョブに対応するグラフィックコマンド108を処理する前に、ドライバ110は、プリントサーバ104上のRIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)124に対して、グラフィックコマンド108の処理方法の指示を求めて要求116を送信する。具体的には、ドライバ110は、ホスト102が、グラフィックコマンド108をラスタライズすべきか、あるいは、グラフィックコマンド108をPDLデータ120にレンダリングすべきかについて、RIP制御部124が決定するよう要求する。
上記要求116に応じて、RIP制御部124は、グラフィックコマンド108をラスタライズするのがより効率的なのは、ホスト102上のRIP部114であるか、または、どこかにある他のRIP部であるかを決定する。この決定に際して考慮すべきいくつかの要因については後述する。
RIP制御部124は、ドライバ110からの要求116に対して、グラフィックコマンド108の処理方法を示す指示118により応答する。具体的には、グラフィックコマンド108をラスタライズするのがより効率的なのはホスト102上のRIP部114であるとRIP制御部124が決定した場合には、RIP制御部124はドライバ110に対してグラフィックコマンド108をラスタライズする旨を指示する。この指示に応じて、ホスト102上のRIP部114はグラフィックコマンド108をラスタライズし、その結果、ラスタデータ122を生成する。そして、ラスタデータ122はプリントサーバ104へ送信される。
一方、グラフィックコマンド108をラスタライズするのがより効率的なのは他のRIP部であるとRIP制御部124が決定した場合には、RIP制御部124はドライバ110に対してグラフィックコマンド108をPDLデータ120にレンダリングする旨を指示する。この指示118に応じて、ホスト102上のPDL部112はグラフィックコマンド108をPDLデータ120にレンダリングする。そして、PDLデータ120はプリントサーバ104へ送信される。
本実施形態では、上記処理を印刷ジョブ全体に対して1度実行してもよい。換言すると、RIP制御部124は、印刷ジョブ全体がドライバ110によってどのように処理されるかを決定してもよい(例えば、ドライバ110がラスタデータ122を生成するのかまたは、PDLデータ120を生成するのかなど)。あるいは、上記処理を単一の印刷ジョブに対して複数回繰り返し実行してもよい。具体的には、RIP制御部124は、印刷ジョブの異なるセグメントごとに、個別に上記決定の処理を実行してもよい。印刷ジョブのセグメントとは、例えば、ページやページ域などである。
図1に示す実施形態ではドライバ110が使用されているが、実施形態によっては代わりにプリントプロセッサを使用してもよい。そのような実施形態では、ドライバ110がEMF準拠であって、EMFを処理できるプリントプロセッサが含まれている場合に、アプリケーション106が印刷を実行すると、オペレーティングシステムが装置に依存しないグラフィックコマンドを生成してEMFファイルに配置し、該EMFファイルの格納場所をプリントプロセッサに渡す。そしてプリントプロセッサは、EMFファイルを取得して即座に処理を開始する。次に、プリントプロセッサは、ドライバ110との接続において上述した方法と同様の方法により、RIP制御部124と情報のやりとりを行う。
図2は、実施形態において、プリントサーバ204上のRIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)224の動作を説明する図である。上述のように、RIP制御部224は、ドライバ110(または、プリントプロセッサ)に対し、印刷ジョブに相当するグラフィックコマンド108をラスタライズするか、または、グラフィックコマンド108をPDLデータ220にレンダリングするかを指示する。
RIP制御部224が、グラフィックコマンド108をラスタライズすることをドライバ110に指示した場合、RIP制御部224はホスト102からラスタデータ222を受信する。そして、RIP制御部224はラスタデータ222をプリント装置226に送信する。
RIP制御部224が、グラフィックコマンド108をPDLデータ220にレンダリングすることをドライバ110に指示した場合、RIP制御部224はホスト102からPDLデータ220を受信する。この場合、RIP制御部224はPDLデータ220のラスタイメージ処理を、1または複数の使用可能なRIP部に分配する。図2に示す実施形態では、使用可能なRIP部が複数存在する。特に、プリントサーバ204はRIP部(第2ラスタイメージ処理部/ローカルのラスタイメージ処理部)232を含んでいる。さらに、プリントサーバ204は、1または複数の他のホスト群228(つまり、印刷ジョブを発したホスト102以外のホスト群228)と電気通信を行う。他のホスト群228には、1または複数のRIP部236が含まれている。さらに、プリントサーバ204は、1または複数の副サーバ群230と電気通信を行う。副サーバ群230には、1または複数のRIP部238が含まれている。さらに、プリント装置226はRIP部(第2ラスタイメージ処理部)234を含んでいる。
ある状況下では、RIP制御部224は、ラスタライズするPDLデータ220を、一つのRIP部に送信してもよい。例えば、RIP制御部224はPDLデータ220をローカルのRIP部232に送信してもよいし、他のホスト群228のうちの一つが備えるRIP部(第2ラスタイメージ処理部)236に送信してもよいし、副サーバ群230のうちの一つが備えるRIP部(第2ラスタイメージ処理部)238に送信してもよいし、あるいは、プリント装置226上のRIP部234に送信してもよい。
あるいは、RIP制御部224は、PDLデータ220のさまざまな部分をさまざまな複数のRIP部にそれぞれ送信してもよい。例えば、RIP制御部224は、PDLデータ220のある部分をローカルのRIP部232に送信し、PDLデータ220の上記と異なる部分を他のホスト群228上の1または複数のRIP部236に送信し、PDLデータ220の上記と異なる部分を副サーバ群230上の1または複数のRIP部238に送信し、そして、PDLデータ220の上記と異なる部分をプリント装置226上のRIP部234に送信してもよい。
上記(各)RIP部がPDLデータ220のラスタライズを完了すると、そのラスタデータ222は、プリント装置226に送信される。例えば、プリントサーバ204上のRIP部232、他のホスト群228上のRIP部236、および/または、副サーバ群230上のRIP部238は、RIP制御部224にラスタデータ222を送信し、RIP制御部224がプリント装置226にラスタデータ222を送信する。プリント装置226上のRIP部234は、ラスタデータ222の印刷に関係するプリント装置226上の他の構成要素に、自身が生成したラスタデータ222を提供する。
図3は、実施形態において、RIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)324に含まれる、および/または、使用される、構成要素および/または情報の典型例を示すブロック図である。上述のように、RIP制御部324は、ドライバ110に対して、印刷ジョブに相当するグラフィックコマンド108をラスタライズするか、または、グラフィックコマンド108をPDLデータ120にレンダリングするかについて決定し、指示を送る。この決定を行うために、RIP制御部324はラスタイメージ処理能力に影響を及ぼす各種要因を評価する決定部(決定手段)356を備える。
例えば、RIP制御部324の決定部356は、ホストの処理能力340、プリント装置の処理能力342、プリントサーバの処理能力344を考慮する。他の装置の処理能力についても同様に考慮してもよい。例えば、使用可能な他のホスト(群)228や副サーバ(群)230の処理能力についても考慮してもよい。
また、RIP制御部324は、他のRIP部の状態346に関する情報について、調査や要求を行ってもよい。またRIP制御部324は、例えばCPUの型式、クロック速度、処理に使用できるメモリ量、NICの速度などの、RIP部の統計値348について考慮してもよい。
また、RIP制御部324は、ネットワークの転送容量350と同様にネットワークの転送性能352についても考慮してもよい。ネットワークの転送容量350は初めから決まっているものであるが、ネットワークの負荷により実際のネットワークの転送性能はその転送容量からは大きく変動する。よって、ネットワークの転送性能352に関する情報も同様に使用する。
また、RIP制御部324は、グラフィックコマンドの統計値354についても考慮してもよい。ドキュメント中に、互いに重なり合うグラフィックコマンド108が大量に含まれる場合、グラフィックコマンド108をプリントサーバ204に転送する負荷が非常に高くなる。この場合、ラスタイメージはより小さく、かつ、ホスト102上でラスタライズするのが最適である。逆に、テキスト文字であればPDLデータ120として容易に送信できる。
実施形態によっては、上記要因のうちのいくつかのみがRIP制御部324にて考慮されていてもよい。さらに、上記で追加した要因以外についても考慮してもよい。例えば、実施形態において、使用中のグラフィックコマンド108とラスタライズを実行するソフトウェアとの組合せに関係する統計値を考慮してもよい。
図4は、実施形態においてホスト428の要部構成の典型例を示すブロック図である。上述のように、プリントサーバ404上のRIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)424は、ラスタライズのために、印刷ジョブに相当するPDLデータ420を他のホスト428に送信する。
ホスト428は、プリント装置226用のドライバ410を備える。ドライバ410はRIP部(第1ラスタイメージ処理部)436を含んでいる。さらに図4の実施形態では、要求受信部458が備えられている。要求受信部458は、ホスト428上のRIP部436へのアクセスを管理するよう構成されている。要求受信部458は、プリントサーバ404からのPDLデータ420のラスタライズ要求を受信する。要求受信部458は、上述のような要求に応じて、ホスト428上のRIP部436によるPDLデータ420のラスタライズの実施を許可するための1または複数の条件464を満足しているか否かを判定する。条件(群)464は、ホスト428のCPUの利用限度に関連している。例えば、ホスト428が利用されていない場合や、CPUに負荷がかかる処理を実行していない場合には、RIP部436をPDLデータ420のラスタライズのために使用できる、などの条件が考えられる。
1または複数の条件464を満たす場合、要求受信部458はRIP部436に対してPDLデータ420のラスタライズを指示する。しかしながら、1または複数の条件464を満たさない場合には、要求受信部458は、RIP部436がPDLデータ420のラスタライズに使用できない旨をプリントサーバ404に通知するための通知メッセージ462をプリントサーバ404に送信する。
図5は、本実施形態における、印刷ジョブ566に相当するグラフィックコマンド508(a〜c・・・)の処理方法を説明する図である。上述のように、RIP制御部524は、ドライバ110が印刷ジョブに相当するグラフィックコマンド508をラスタデータに変換すべきか、または、グラフィックコマンド508をPDLデータ120にレンダリングするかについて、ドライバ110に指示する。
図5に示す印刷ジョブ566は、第一セグメント568aと第二セグメント568bと第三セグメント568cとの3つのセグメントを含む。各セグメント568a〜cはページやページ域などに相当する。図示された本実施形態においては、RIP制御部524は、印刷ジョブの各セグメントに対して、個別に決定処理を実施するものとする。すなわち、同じ印刷ジョブ566上の異なるセグメント568a〜cは、それぞれ別々に処理される。例えば、本実施形態においては、RIP制御部524はドライバ510に対して、印刷ジョブ566上の第一セグメント568aおよび第3セグメント568cにそれぞれ相当するグラフィックコマンド508aおよび508cを、PDLデータ120にレンダリングする指示を行う。しかしながら、RIP制御部524はドライバ510のRIP部(第1ラスタイメージ処理部)514に対して、印刷ジョブ566上の第二セグメント568bに相当するグラフィックコマンド508bをラスタライズする指示を行う。
図6は、ホスト102におけるラスタデータ生成処理およびページ記述言語データ生成処理の負荷を分散する負荷分散方法600の処理の流れを示すフローチャートである。負荷分散方法600は、プリントサーバ104上のRIP制御部124によって実行される。
負荷分散方法600の処理は、印刷ジョブに相当するグラフィックコマンド108をどのように処理するかについて指示を受けるための要求116を、RIP制御部124がホスト102のドライバ110から受信すると(ステップ602)、開始される。具体的には、ドライバ110は、RIP制御部124に対して、ホスト102がグラフィックコマンド108をラスタライズするか、あるいは、グラフィックコマンド108をPDLデータ120にレンダリングするかいずれかを決定し、指示するよう要求する。ドライバ110は、印刷ジョブ566全体に対しての指示を要求してもよいし、あるいは、印刷ジョブ566のいくつかのセグメント(例えば、ページやページ域など)ごとに指示を要求してもよい。
上記要求116に応じて、RIP制御部124は、グラフィックコマンド108のラスタライズをホスト102上のRIP部114で行う場合(A)と、別に設置されている他のRIP部で行う場合(B)の、どちらがより効率的かを決定する(ステップ604)。RIP制御部124は、グラフィックコマンド108をどのように処理するかを決定するに際して、ラスタイメージ処理能力に影響を及ぼす各種要因を評価する。例えば、ホストの処理能力340、プリント装置の処理能力342、プリントサーバの処理能力344、他のRIP部の状態346、RIP部の統計値348、ネットワークの転送容量350、ネットワークの転送性能352、グラフィックコマンドの統計値354などである。
RIP制御部124が、グラフィックコマンド108をラスタライズする処理をホスト102上のRIP部114で行う方がより効率的であると決定した場合(ステップ604においてA)、RIP制御部124はホスト102に対してグラフィックコマンド108をラスタライズする指示を行う(ステップ608)。ステップ608の指示に応じて、ホスト102上のRIP部114は、グラフィックコマンド108をラスタライズし、その結果、ラスタデータ122が生成される。RIP制御部124は、ホスト102からラスタデータ122を受信し(ステップ610)、プリント装置226にラスタデータ122を送信する(ステップ612)。
RIP制御部124が、グラフィックコマンド108をラスタライズする処理を他のRIP部で行う方がより効率的であると決定した場合(ステップ604においてB)、RIP制御部124はホスト102に対してグラフィックコマンド108をPDLデータ120にレンダリングする指示を行う(ステップ614)。ステップ614の指示に応じて、ホスト102のPDL部112はグラフィックコマンド108をPDLデータ120にレンダリングし、RIP制御部124にPDLデータ120を送信する。RIP制御部124は、ホスト102からPDLデータ120を受信する(ステップ616)。そして、RIP制御部124は、PDLデータ120のラスタイメージ処理を、利用可能な1または複数のRIP部に分配する(ステップ618)。この分配するステップ618は、PDLデータ120の全てまたは一部をローカルのRIP部232に送信するステップを含んでいてもよいし、他のホスト(群)228上の1または複数のRIP部236に送信するステップを含んでいてもよいし、副サーバ(群)230上の1または複数のRIP部238に送信するステップを含んでいてもよいし、プリント装置226上のRIP部234に送信するステップを含んでいてもよい。
実施形態によっては、負荷分散方法600の各ステップは印刷ジョブ全体に対して一度だけ実行してもよい。あるいは、負荷分散方法600の各ステップが一つの印刷ジョブに対して複数回繰り返されたり、印刷ジョブのセグメントごとに一回ずつ実行されたりしてもよい。
図7は、ホスト102のラスタデータ生成およびページ記述言語データ生成処理に対する負荷分散の処理を行うプリントサーバにおける、ホスト428のRIP部436へのアクセス管理方法700の処理の流れを示すフローチャートである。アクセス管理方法700は、ホスト428上のプリント装置ドライバ410内の要求受信部458により実行される。
アクセス管理方法700は、要求受信部458が、PDLデータ420をラスタライズする要求を受信すると(ステップ702)、開始される。上記要求に応じて、要求受信部458は、ホスト428上のRIP部436がPDLデータ420をラスタライズすることを許可するための1または複数の条件464を満たしているかどうかを判定する(ステップ704)。条件(群)464は、ホスト428のCPUの利用限度に関連している。
条件(群)464が満たされる場合(ステップ704においてYES)、要求受信部458は、RIP部436に対してPDLデータ420のラスタライズを指示する(ステップ706)。一方、条件(群)464が満たされない場合(ステップ704においてNO)、要求受信部458は、RIP部436を、PDLデータ420のラスタライズに使用できない旨をプリントサーバ404に通知する(ステップ708)。
図8は、コンピュータシステム(プリントサーバ)801において一般的に使用される主なハードウェア構成要素を示すブロック図である。図に示す構成要素は、物理的に同じ一つのシステム内に配置されていてもよいし、別のシステムや筐体に配置されていてもよい。
コンピュータシステム801はプロセッサ(決定手段/ラスタライズ指示手段/レンダリング指示手段)803とメモリ805とを備えている。プロセッサ803は、コンピュータシステム801の動作を制御するものであって、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP;digital signal processor)、その他、周知技術の装置によって実現される。プロセッサ803は、一般に、メモリ805に蓄積されているプログラム命令に基づき、論理演算および算術演算を実行する。
上記メモリ805とは、電子的情報を記憶できる電子部品と広義に定義されるものであって、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、磁気ディスク記憶装置、光学記憶装置、RAM上のフラッシュメモリ装置、プロセッサ803内にあるオンボードメモリ、EPROMメモリ、EEPROMメモリ、レジスタなどとして実装される。メモリ805は一般にプログラム命令と他のデータとを記憶するものである。プログラム命令は、上記で開示した方法のすべてまたは一部を実現するために、プロセッサ803によって実行される。
またコンピュータシステム801は、一般的には、他の電子デバイスと通信するための1または複数の通信インタフェース807を備えている。通信インタフェース807は、有線通信技術または無線通信技術、あるいは、その両方に基づいていてもよい。通信インタフェース807の例としては、シリアルポート、パラレルポート、ユニバーサルシリアルバス(USB)、イーサーネットアダプタ、IEEE1394バスインタフェース、小型コンピュータ用周辺機器インタフェース(SCSI)バスインタフェース、赤外線(IR)通信ポート、Bluetooth(登録商標)無線通信アダプタなどがある。
また、コンピュータシステム801は、一般的には、1または複数の入力装置809と出力装置811とを備えている。入力装置809の例としては、キーボード、マウス、マイク、リモート制御装置(リモコン)、ボタン、ジョイスティック、トラックボール、タッチパッド、ライトペンなどがある。出力装置811の例としては、スピーカ、プリンタなどがある。コンピュータシステムに含まれる出力装置の典型的な具体例は、ディスプレイ装置813である。上記で開示した実施形態で使用されるディスプレイ装置813は、例えば、陰極線管(CRT)、液晶ディスプレイ(LCD)、発光ダイオード(LED)、ガスプラズマ、電界発光などの適切な画像投影技術を利用したものである。ディスプレイ制御装置815は、メモリ805に蓄積されているデータを、ディスプレイ装置813に表示するためのテキスト、画像、動画像へと変換するためのものである。
もちろん図8はコンピュータシステム801の一形態にすぎない。様々な他のアーキテクチャや構成要素を使用してもよい。
情報や信号は様々な技術や技法により表現されるものである。例えば、上述したようなデータ、命令、コマンド、情報、信号、ビット、符号、チップは、電圧、電流、電磁波、磁場、磁性粒子、光(optical filed)、光粒子(optical particles)、またはその組合せによって表現される。
上述の各実施形態に関連して記載した様々な論理ブロック、モジュール、回路、アルゴリズム手順は、電気的ハードウェア、コンピュータソフトウェア、またはその両方で実現される。ハードウェアとソフトウェアの互換性を明確に示すために、構成要素、ブロック、モジュール、回路、手順について、上述では機能の観点で一般化して説明した。このような機能がハードウェアで実装されるかソフトウェアで実装されるかは、特定のアプリケーションおよびシステム全体に課せられる設計の制約に依存するものである。当業者が、特定のアプリケーションに対してさまざまな観点で上述の機能を実現するが、その決定された実現形態が本発明の範囲を逸脱することになると解釈されるべきではない。
上述した各実施形態に関連する論理ブロック、モジュール、回路は、上記機能を実行するよう設計された汎用プロセッサ、デジタル信号プロセッサ、特定用途向け集積回路(ASIC;application specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA;filed programmable gate array)または他のプログラマブルロジックデバイス、個別ゲートロジック(discrete gate logic)、個別トランジスタロジック(discrete transistor logic)、個別ハードウェア部品(discrete hardware components)、または、これらの組合せにより実装あるいは実行される。汎用プロセッサはマイクロプロセッサであってもよいし、あるいは、上記プロセッサは、従来のプロセッサ、コントローラ、マイクロコントローラ、または、状態機械であってもよい。また、プロセッサは演算装置の組合せで実現してもよい。例えば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサの組合せ、DSPの核部分と連結する1または複数のマイクロプロセッサの組合せ、または、その他の構成が考えられる。
上述した各実施形態に関連する方法またはアルゴリズムの各ステップは、ハードウェアにより直接、あるいは、プロセッサにより実行されるソフトウェアモジュールにおいて、または、それらの組合せにより実行される。ソフトウェアモジュールは、RAM、フラッシュメモリ、ROM、EPROM、EEPROM、レジスタ、ハードディスク、リムーバルディスク、CD−ROM、または、その他周知の記録媒体に記録されていればよい。記録媒体は、一般的には、該記録媒体から情報を読み書きすることができるプロセッサとつながっている。つまり、プロセッサには記録媒体が必要不可欠である。プロセッサおよび記録媒体はASIC内に備わっている。ASICはユーザ端末に備わっている。つまり、プロセッサおよび記録媒体は、個別部品(discrete component)として、ユーザ端末に備わっている。
本願明細書で開示した方法は、1または複数のステップまたは動作によって実現される。本発明の範囲を逸脱しない範囲で、各ステップおよび/または動作を相互に入れ替えてもよい。つまり、実施形態の適切な処理を行う上で、各ステップまたは動作の具体的な順序を固定する必要がなければ、各ステップおよび/または動作の順序は、本発明の範囲を逸脱しない範囲で、変更および/または省略してもよい。
本発明の実施形態および応用例を図示および説明したが、本発明は、本願明細書で開示した構成や構成要素そのものに限定して解釈されるべきものではない。本発明の精神と範囲を逸脱しない範囲で、本願明細書に開示した本発明に係る方法およびシステムの設計、動作、および、詳細において、当業者にとって明らかな、様々な改良、変更、変形が施されてもよい。
最後に、プリントサーバ104(204、404、504)の各ブロック、特にRIP制御部124(224、324、424、524)は、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。
すなわち、プリントサーバ104は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアであるプリントサーバ104の制御プログラムのプログラムコード(実行形式プログラム、中間コードプログラム、ソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記プリントサーバ104に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。
上記記録媒体としては、例えば、磁気テープやカセットテープ等のテープ系、フロッピー(登録商標)ディスク/ハードディスク等の磁気ディスクやCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカード(メモリカードを含む)/光カード等のカード系、あるいはマスクROM/EPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。
また、プリントサーバ104を通信ネットワークと接続可能に構成し、上記プログラムコードを、通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネット、イントラネット、エキストラネット、LAN、ISDN、VAN、CATV通信網、仮想専用網(virtual private network)、電話回線網、移動体通信網、衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送、ケーブルTV回線、電話線、ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線、HDR、携帯電話網、衛星回線、地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送で具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。
コピー機、多機能周辺機器(MFP;multifunctional peripheral)、または、ファクシミリ装置、パーソナルコンピュータ、サーバなどのように、印刷ジョブを処理して印刷を行う印刷システムを構成する各装置に、本発明を適用することができる。
ラスタイメージ処理(RIP)制御部を備えるプリントサーバと電気通信するホストを含む、印刷ジョブのラスタイメージ処理を負荷分散するための負荷分散システムの要部構成を示すブロック図である。 ある実施形態におけるRIP制御部の動作を説明する図である。 ある実施形態におけるRIP制御部に含まれる、および/または、使用される、構成要素および/または情報の典型例を示すブロック図である。 ある実施形態におけるホストの要部構成の典型例を示すブロック図である。 ある実施形態における、印刷ジョブに相当するグラフィックコマンドの処理方法を説明する図である。 印刷ジョブのラスタイメージ処理に対する負荷分散の処理の流れを示すフローチャートである。 印刷ジョブのラスタイメージ処理に対する負荷分散の処理を行うプリントサーバにおける、RIP部へのアクセス管理の処理の流れを示すフローチャートである。 コンピュータシステムにおいて一般的に使用される主なハードウェア構成要素を示すブロック図である。
符号の説明
100 負荷分散システム
102 ホスト
104 プリントサーバ
106 アプリケーション
108 グラフィックコマンド
110 ドライバ
112 PDL部
114 RIP部(第1ラスタイメージ処理部)
124 RIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)
204 プリントサーバ
224 RIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)
226 プリント装置
228 ホスト(群)
230 副サーバ(群)
232 RIP部(第2ラスタイメージ処理部/ローカルのラスタイメージ処理部)
234 RIP部(第2ラスタイメージ処理部)
236 RIP部(第2ラスタイメージ処理部)
238 RIP部(第2ラスタイメージ処理部)
324 RIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)
356 決定部(決定手段)
404 プリントサーバ
410 ドライバ
424 RIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)
428 ホスト
436 RIP部(第1ラスタイメージ処理部)
458 要求受信部
464 条件
508 グラフィックコマンド
510 ドライバ
514 RIP部(第1ラスタイメージ処理部)
524 RIP制御部(決定手段/ラスタライズ指示手段/レンダリング指示手段)
566 印刷ジョブ
600 負荷分散方法
700 アクセス管理方法
801 コンピュータシステム(プリントサーバ)
803 プロセッサ(決定手段/ラスタライズ指示手段/レンダリング指示手段)
805 メモリ
807 通信インタフェース
809 入力装置
811 出力装置
813 ディスプレイ装置
815 ディスプレイ制御装置

Claims (23)

  1. ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法であって、
    上記ホストと通信するプリントサーバが、
    印刷ジョブに相当するグラフィックコマンドをラスタライズするラスタイメージ処理を、上記ホストの第1ラスタイメージ処理部、または、他の1または複数の第2ラスタイメージ処理部のいずれが実行するのがより効率的であるのかを決定するステップと、
    上記決定するステップにて、上記ホストの上記第1ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをラスタライズするよう指示するステップと、
    上記決定するステップにて、他の1または複数の上記第2ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをページ記述言語データにレンダリングするよう指示するステップとを含むことを特徴とする負荷分散方法。
  2. 上記決定するステップにて、上記ホストの上記第1ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、さらに、
    上記プリントサーバが、
    上記ホストがラスタライズしたラスタデータを上記ホストから受信するステップと、
    上記受信したラスタデータをプリント装置に送信するステップとを含むことを特徴とする請求項1に記載の負荷分散方法。
  3. 上記決定するステップにて、他の1または複数の上記第2ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、さらに、
    上記プリントサーバが、
    上記ページ記述言語データを上記ホストから受信するステップと、
    上記ページ記述言語データのラスタイメージ処理を、上記他の1または複数の第2ラスタイメージ処理部に分配するステップとを含むことを特徴とする請求項1に記載の負荷分散方法。
  4. 上記ページ記述言語データのラスタイメージ処理を分配するステップは、
    上記ページ記述言語データの少なくとも一部をラスタライズするようローカルのラスタイメージ処理部に指示するステップを含むことを特徴とする請求項3に記載の負荷分散方法。
  5. 上記ページ記述言語データのラスタイメージ処理を分配するステップは、
    ラスタイメージ処理のために、上記ページ記述言語データの少なくとも一部を1または複数の他のホストに送信するステップを含むことを特徴とする請求項3に記載の負荷分散方法。
  6. 上記ページ記述言語データのラスタイメージ処理を分配するステップは、
    ラスタイメージ処理のために、上記ページ記述言語データの少なくとも一部を1または複数の副サーバシステムに送信するステップを含むことを特徴とする請求項3に記載の負荷分散方法。
  7. 上記ページ記述言語データのラスタイメージ処理を分配するステップは、
    ラスタイメージ処理のために、上記ページ記述言語データの少なくとも一部をプリント装置に送信するステップを含むことを特徴とする請求項3に記載の負荷分散方法。
  8. 上記各ステップは、上記印刷ジョブの複数のセグメントごとに、繰り返し実行されることを特徴とする請求項1に記載の負荷分散方法。
  9. 上記各ステップは、印刷ジョブ全体に対して1度実行されることを特徴とする請求項1に記載の負荷分散方法。
  10. 上記プリントサーバが、上記グラフィックコマンドの処理方法の指示を求める要求を上記ホストから受信するステップを含むことを特徴とする請求項1に記載の負荷分散方法。
  11. 上記決定するステップは、上記要求を受信するステップにて要求を受信するのに応じて、実行されることを特徴とする請求項10に記載の負荷分散方法。
  12. 上記決定するステップは、ラスタイメージ処理能力に影響を及ぼす1または複数の要因を評価するステップを含むことを特徴とする請求項1に記載の負荷分散方法。
  13. 上記1または複数の要因は、ホストの処理能力、プリント装置の処理能力、プリントサーバの処理能力、他の1または複数のラスタイメージ処理部の状態、ラスタイメージ処理部の統計値、ネットワークの転送容量、ネットワークの転送性能、および、グラフィックコマンドの統計値のうち、少なくともいずれか1つを含むことを特徴とする請求項12に記載の負荷分散方法。
  14. 上記印刷ジョブは、上記ホストから生成されることを特徴とする請求項1に記載の負荷分散方法。
  15. 上記他の1または複数の第2ラスタイメージ処理部は、上記ホストに備えられていないことを特徴とする請求項1に記載の負荷分散方法。
  16. 上記他の1または複数の第2ラスタイメージ処理部のうち少なくとも1つは、上記プリントサーバに備えられていることを特徴とする請求項1に記載の負荷分散方法。
  17. 上記他の1または複数の第2ラスタイメージ処理部のうち少なくとも1つは、副サーバに備えられていることを特徴する請求項1に記載の負荷分散方法。
  18. 上記他の1または複数の第2ラスタイメージ処理部のうち少なくとも1つは、上記ホストとは異なるホストに備えられていることを特徴とする請求項1に記載の負荷分散方法。
  19. ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法を実行するためのプリントサーバであって、
    印刷ジョブに相当するグラフィックコマンドをラスタライズするラスタイメージ処理を、上記ホストの第1ラスタイメージ処理部、または、他の1または複数の第2ラスタイメージ処理部のいずれが実行するのがより効率的であるのかを決定する決定手段と、
    上記決定手段が、上記ホストの上記第1ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをラスタライズするよう指示するラスタライズ指示手段と、
    上記決定手段が、他の1または複数の上記第2ラスタイメージ処理部で上記ラスタイメージ処理を実行する方がより効率的であると決定した場合に、上記ホストに対して、上記グラフィックコマンドをページ記述言語にレンダリングするよう指示するレンダリング指示手段とを備えていることを特徴とするプリントサーバ。
  20. 上記決定手段は、ラスタイメージ処理能力に影響を及ぼす1または複数の要因を評価することにより、上記いずれのラスタイメージ処理部がラスタイメージ処理を実行するのがより効率的であるのかを決定することを特徴とする請求項19に記載のプリントサーバ。
  21. 上記決定手段が評価する上記1または複数の要因は、ホストの処理能力、プリント装置の処理能力、プリントサーバの処理能力、他の1または複数のラスタイメージ処理部の状態、ラスタイメージ処理部の統計値、ネットワークの転送容量、ネットワークの転送性能、および、グラフィックコマンドの統計値のうち、少なくともいずれか1つを含むことを特徴とする請求項20に記載のプリントサーバ。
  22. コンピュータを、請求項19から21のいずれか1項に記載のプリントサーバの各手段として機能させるための制御プログラム。
  23. 請求項22に記載の制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
JP2006255016A 2005-09-22 2006-09-20 ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法、プリントサーバ、制御プログラム、および、記録媒体 Active JP4757753B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/233,286 2005-09-22
US11/233,286 US20070070376A1 (en) 2005-09-22 2005-09-22 Systems and methods for load balancing the creation of raster data and page description language data on a host

Publications (2)

Publication Number Publication Date
JP2007087392A true JP2007087392A (ja) 2007-04-05
JP4757753B2 JP4757753B2 (ja) 2011-08-24

Family

ID=37893454

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006255016A Active JP4757753B2 (ja) 2005-09-22 2006-09-20 ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法、プリントサーバ、制御プログラム、および、記録媒体

Country Status (3)

Country Link
US (1) US20070070376A1 (ja)
JP (1) JP4757753B2 (ja)
CN (1) CN100454230C (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059216A (ja) * 2007-08-31 2009-03-19 Canon Inc 情報処理装置、及びその制御方法
JP2016162238A (ja) * 2015-03-02 2016-09-05 株式会社リコー 画像処理システム、処理実行制御装置、画像形成出力制御装置、画像処理システムの制御プログラム、画像処理システムの制御方法
JP2016177787A (ja) * 2016-02-22 2016-10-06 株式会社リコー 画像形成出力制御装置、画像形成出力制御装置の制御プログラム、画像形成出力制御装置の制御方法、画像処理システム
JP2018060541A (ja) * 2016-10-04 2018-04-12 株式会社リコー 印刷サーバ、印刷システム及びプログラム
JP2019040327A (ja) * 2017-08-24 2019-03-14 株式会社リコー 情報処理装置、情報処理システムおよびプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8184304B2 (en) * 2007-11-19 2012-05-22 Moore Wallace North America, Inc. System and method of operating a raster image processor
CN101446888B (zh) * 2007-11-26 2010-07-14 北大方正集团有限公司 一种打印作业的处理方法及系统
US20100110467A1 (en) * 2008-11-06 2010-05-06 Coniglio Paul A System and Method of Rasterizing PDF Files using Multiple Processors
JP2011257799A (ja) * 2010-06-04 2011-12-22 Konica Minolta Business Technologies Inc プリントサーバ及び印刷制御システム並びに印刷制御方法
US8477364B2 (en) * 2010-12-30 2013-07-02 Konica Minolta Laboratory U.S.A., Inc. Printing using a skeleton electronic document and multiple connections
JP5704949B2 (ja) * 2011-02-08 2015-04-22 キヤノン株式会社 画像処理システム、画像形成装置、制御方法、及び、プログラム
JP5843477B2 (ja) * 2011-05-16 2016-01-13 キヤノン株式会社 印刷システム
JP5393822B2 (ja) * 2012-02-29 2014-01-22 京セラドキュメントソリューションズ株式会社 画像形成装置、画像形成システムおよび情報処理装置用プログラム
US8786888B2 (en) * 2012-07-27 2014-07-22 Hewlett-Packard Development Company, L.P. Cloud processing for print jobs
CN104765578B (zh) * 2014-01-08 2018-01-09 北大方正集团有限公司 栅格化处理方法和栅格图像处理器
WO2015113626A1 (en) * 2014-01-31 2015-08-06 Hewlett-Packard Development Company, L.P. Rendering of print jobs
JP6638458B2 (ja) * 2016-02-18 2020-01-29 株式会社リコー 画像形成出力制御装置、画像形成出力制御装置の制御方法、画像形成出力制御装置の制御プログラム
CN115516417A (zh) 2020-03-20 2022-12-23 艾司科软件有限公司 用于转换用于印刷的图形文件的系统和方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3595630B2 (ja) * 1996-07-18 2004-12-02 キヤノン株式会社 データ処理装置及びデータ処理方法
JP3649842B2 (ja) * 1997-02-26 2005-05-18 富士通株式会社 Pbxネットワーク網
JPH10289066A (ja) * 1997-04-11 1998-10-27 Canon Inc 画像処理装置及びその方法
US7242487B2 (en) * 1997-06-04 2007-07-10 Agfa Corporation Print driver system having a user interface and a method for processing raster data
US6891632B2 (en) * 1998-07-17 2005-05-10 Peerless Systems, Inc. Method and apparatus for selecting print strategy for optimal performance
JP4392906B2 (ja) * 1998-08-28 2010-01-06 キヤノン株式会社 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品
JP2001034428A (ja) * 1999-07-16 2001-02-09 Canon Inc 複合画像処理システム、画像処理装置、管理装置、負荷分散方法及び記憶媒体
US7016061B1 (en) * 2000-10-25 2006-03-21 Hewlett-Packard Development Company, L.P. Load balancing for raster image processing across a printing system
US7339687B2 (en) * 2002-09-30 2008-03-04 Sharp Laboratories Of America Load-balancing distributed raster image processing
JP3661617B2 (ja) * 2001-08-06 2005-06-15 日本電気株式会社 印刷システム
US20030095282A1 (en) * 2001-11-21 2003-05-22 Yusuke Suzuki Distributed printing system and distributed printing method
JP2003216353A (ja) * 2002-01-23 2003-07-31 Minolta Co Ltd プリントシステム、プリント方法及びプログラム
JP2003241913A (ja) * 2002-02-15 2003-08-29 Canon Inc 出力装置、情報処理装置、情報処理システム、情報処理方法、記録媒体及びプログラム
US7158254B2 (en) * 2002-05-01 2007-01-02 Sharp Laboratories Of America, Inc. Print-job, PDL/RIP-independent data-management method and system
US20040012797A1 (en) * 2002-07-16 2004-01-22 Letellier Nolan Wayne Load balancing in image generation
US20040075859A1 (en) * 2002-10-17 2004-04-22 Jacobsen Dana A. Printer instruction processing
US7936469B2 (en) * 2003-12-31 2011-05-03 Hewlett-Packard Development Company, L.P. System and method for distributed printer processing
US8130429B2 (en) * 2005-06-02 2012-03-06 Sharp Laboratories Of America, Inc. Adaptive driver for choosing hybrid raster and PDL format output

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009059216A (ja) * 2007-08-31 2009-03-19 Canon Inc 情報処理装置、及びその制御方法
US8269992B2 (en) 2007-08-31 2012-09-18 Canon Kabushiki Kaisha Information processing apparatus and control method thereof
JP2016162238A (ja) * 2015-03-02 2016-09-05 株式会社リコー 画像処理システム、処理実行制御装置、画像形成出力制御装置、画像処理システムの制御プログラム、画像処理システムの制御方法
JP2016177787A (ja) * 2016-02-22 2016-10-06 株式会社リコー 画像形成出力制御装置、画像形成出力制御装置の制御プログラム、画像形成出力制御装置の制御方法、画像処理システム
JP2018060541A (ja) * 2016-10-04 2018-04-12 株式会社リコー 印刷サーバ、印刷システム及びプログラム
JP2019040327A (ja) * 2017-08-24 2019-03-14 株式会社リコー 情報処理装置、情報処理システムおよびプログラム

Also Published As

Publication number Publication date
JP4757753B2 (ja) 2011-08-24
CN100454230C (zh) 2009-01-21
CN1936827A (zh) 2007-03-28
US20070070376A1 (en) 2007-03-29

Similar Documents

Publication Publication Date Title
JP4757753B2 (ja) ホストによるラスタデータおよびページ記述言語データの生成処理の負荷を分散する負荷分散方法、プリントサーバ、制御プログラム、および、記録媒体
US8139243B2 (en) Information processing apparatus, control method, and computer-readable medium for distributed processing of print jobs
US7382484B2 (en) Information processing apparatus and its control method
US7936466B2 (en) Information processing apparatus and its control method for managing distributed processing of at least one of the device information and operation states
KR100757154B1 (ko) 정보 처리 장치 및 그 제어 방법
US20070070375A1 (en) Systems and methods for heuristics-based load balancing of hybrid PDL/raster printing
EP3021567B1 (en) Image processing apparatus, method for performing specific process, computer-readable storage medium for computer program
JP2008023900A (ja) 画像形成装置、画像形成方法及びプログラム
US20050275883A1 (en) Information processing apparatus and its control method
JP5606062B2 (ja) 印刷装置、印刷装置の制御方法、およびプログラム
JP5857594B2 (ja) 分散印刷システム及び印刷装置
JP2011143576A (ja) 印刷データ生成装置、画像形成装置及びプログラム
US20120307269A1 (en) Image forming apparatus, image drawing processing method, software program, and storage medium
JP2007140952A (ja) 分散処理システム及びその処理方法
US8149448B2 (en) Systems and methods for rapidly creating an image from a document
JP4007084B2 (ja) プリントプログラム
JP5093576B2 (ja) 印刷制御装置と画像形成システム
US8699071B2 (en) Image forming apparatus and method of forming an image thereof
JP2010167621A (ja) 画像形成装置、およびプログラム
JP2011198232A (ja) 印刷制御装置、画像形成システムおよびプログラム
JP4029672B2 (ja) プリントプログラム、プリントサーバ、およびプリント方法
JP2010206251A (ja) 画像形成装置、記憶領域制御方法、および記憶領域制御プログラム
JP2011048519A (ja) 印刷システム、印刷制御装置およびプログラム
JP2003341152A (ja) 印刷制御装置、印刷制御方法、印刷システム、及びプログラム
JP2019142136A (ja) 情報処理装置、情報処理方法、プログラム及び画像処理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090512

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090701

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090820

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090911

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: 20110601

R150 Certificate of patent or registration of utility model

Ref document number: 4757753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140610

Year of fee payment: 3