(57)【特許請求の範囲】
【請求項１】
負荷分散レンダリングを行うジョブレンダリングシステムであって、
画像形成装置と、負荷分散サーバーと、複数の画像処理サーバーとを備え、
上記画像形成装置は、
当該画像形成装置で印刷できないフォーマットからなる画像形成ジョブを受け付ける入力手段と、
上記画像形成ジョブを上記負荷分散サーバーに送信する第１送信手段とを備え、
上記負荷分散サーバーは、
上記画像形成ジョブを上記画像形成装置で印刷可能なフォーマットにレンダリングするために使用する複数の画像処理サーバーを上記複数の画像処理サーバーの中から選択する選択手段と、
選択した画像処理サーバーの数に応じて上記画像形成ジョブを分割する分割手段と、
分割した各画像形成ジョブを当該各画像形成ジョブに対するレンダリング処理を行わせる画像処理サーバーに対応するレンダリングキューにそれぞれ送信する送信手段とを備え、
上記各画像処理サーバーは、
当該画像処理サーバーに対応するレンダリングキューに送信された画像形成ジョブに対してレンダリング処理を行うレンダリング処理手段と、
レンダリング処理後の画像形成ジョブを上記画像形成装置に送信する第２送信手段とを備え、
上記画像形成装置は、
上記各画像処理サーバーから送信されたレンダリング処理後の上記各画像形成ジョブを統合し、統合した画像形成ジョブに基づいて印刷を行うことを特徴とするジョブレンダリングシステム。
【請求項２】
負荷分散レンダリングを行うジョブレンダリングシステムにおけるジョブレンダリング方法であって、
上記ジョブレンダリングシステムは、画像形成装置と、負荷分散サーバーと、複数の画像処理サーバーとを備えており、
上記画像形成装置が当該画像形成装置で印刷できないフォーマットからなる画像形成ジョブを受け付ける工程と、
上記画像形成装置が上記画像形成ジョブを上記負荷分散サーバーに送信する工程と、
上記負荷分散サーバーが上記画像形成ジョブを上記画像形成装置で印刷可能なフォーマットにレンダリングするために使用する複数の画像処理サーバーを上記複数の画像処理サーバーの中から選択する工程と、
上記負荷分散サーバーが選択した画像処理サーバーの数に応じて上記画像形成ジョブを分割する工程と、
上記負荷分散サーバーが、分割した各画像形成ジョブを当該各画像形成ジョブに対するレンダリング処理を行わせる画像処理サーバーに対応するレンダリングキューにそれぞれ送信する工程と、
上記各画像処理サーバーが当該画像処理サーバーに対応するレンダリングキューに送信された画像形成ジョブに対してレンダリング処理を行う工程と、
上記各画像処理サーバーがレンダリング処理後の画像形成ジョブを上記画像形成装置に送信する工程と、
上記画像形成装置が、上記各画像処理サーバーから送信されたレンダリング処理後の上記各画像形成ジョブを統合し、統合した画像形成ジョブに基づいて印刷を行う工程とを含むことを特徴とするジョブレンダリング方法。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［発明の背景］
１．関連出願
本願は、２００１年１月１１日提出の仮出願第６０／２６１，１３２号に対して優先権を主張している２００１年２月２２日提出の出願第０９／６８１，２０８号の一部継続出願である、２００１年３月３０日提出の出願第０９／６８１，４１６号の一部継続出願であり、かつ２００１年３月３０日提出の出願第０９／６８１，４０９号の一部継続出願である、２００１年６月２８日提出の出願第０９／８９４，９２８号の一部継続出願である、２００１年９月２６日提出の出願第０９／９６４，９８５号の一部継続出願である、２００３年３月２５日提出の出願第１０／３９６，２０１号および２００２年９月３０日提出の出願第１０／２６１，８８５号に対する優先権を主張して２００５年５月１０日に出願した米国特許出願第１１／１２５，５２４号に対する優先権を主張するものである。
２．発明の分野
本発明は、文書レンダリングに関するものであり、具体的には、プリンタにおけるネイティブフォーマットの文書を、ホストサービスを用いてプリンタで印刷できるデータにレンダリングするためのシステムおよび方法に関するものである。さらに、複数のサービスを利用できる場合に、プリンタで印刷できるデータにレンダリングするための最適なホストサービスを選択し、実行するための技術に関するものである。
３．背景および関連技術
文書が印刷される際に、該当する印刷ジョブは典型的にはプリンタで印刷できるフォーマットであるか、またはそのプリンタに互換性のあるフォーマットに変換される。一旦プリンタで印刷できるフォーマットとなると、上記印刷ジョブはプリンタによって押し込まれたり（プッシュされたり）引き出されたり（プルされたり）される。
【０００２】
印刷ジョブをプリンタで印刷できるデータに変換するための技術は現在でも存在するが、印刷ジョブからプリンタで印刷できるデータに変換する工程が不便であったり、状況によっては変換ができなかったりするという問題がある。例えば、そのような状況は、（i）ホスト装置が、印刷を行うプリンタ用のプリンタドライバにアクセスしていない時、（ii）ホスト装置が、文書データを上記プリンタ用の基本図形に変換するアプリケーションにアクセスしていない時、（iii）印刷ジョブが上記プリンタで開始され、プル印刷型のプリンタが上記プリンタ上でバックグラウンド印刷を開始できない時、（iv）プリンタが印刷ジョブをプリンタで印刷できるデータではなく文書のネイティブフォーマットで受信した時などに起こりうる。
【０００３】
そのような問題を解決するための試みが従来から行われてきた。例えば、図１に示すように、ネイティブフォーマットの画像形成ジョブをプリントサーバーに送信し、このプリントサーバーにおいてプリンタで印刷可能な書式に変換してからプリンタに送信する技術がある。具体的には、ユーザはターゲット装置を特定せずに、サポートされているネイティブファイルフォーマット（例えばＭＳ‐Ｏｆｆｉｃｅ、ＰＤＦ、ＨＴＭＬ、ＪＰＥＧ）のうちのいずれかのフォーマットでプリントサーバーにファイルを送信する。ユーザは、例えば、キーパッドおよび液晶ディスプレイ（LCD）を備え、プリンタとローカルエリアネットワーク（ＬＡＮ）との間に接続された小型装置を用いて上記ファイルを印刷する。この小型装置は、２つの機能を有する。第一に、ユーザはキーパッドを介してサーバーにアクセスし、印刷するファイルを付属のプリンタ上に引き出せる（プルダウンできる）。第二に、この装置は、サーバーにユーザが使用するプリンタの識別情報を送信する。これにより、サーバーは印刷データを上記プリンタで印刷できるデータに変換するのに適したプリンタドライバを選択できる。したがって、遠隔ユーザがサーバーを介してジョブを出力装置に送ることが可能となる。
【０００４】
この方法は現在でも利用できるが、いくつかの制限が存在する。例えば、この方法ではピアツーピア（peer-to-peer）印刷を実行できない、既存の印刷サブシステムを使用できない、サーバーによってホスト側の限られた数のオプションしか印刷オプションに変換できない、上記プリンタからの印刷の開始（例えばプルプリント）ができない、プリントサーバーが文書フォーマットに応じたアプリケーションおよびプリンタに応じたドライバーを有していなければならない、などの制限である。
【０００５】
このように、画像形成ジョブをプリンタで印刷できるデータに変換するために使用される技術は従来から存在するものの、まだ課題は残されている。したがって、この課題を解決するために、現在の技術を増補するか、あるいは他の技術と置き換えることは、技術的な改善となるであろう。
【特許文献１】特開２００１−２９０６２２号公報（２００１年１０月１９日公開）［発明の概要］  本発明は、文書レンダリングに関するものであり、具体的には、プリンタにおけるネイティブフォーマットの文書を、ホストサービスを用いてプリンタで印刷できるデータにレンダリングするためのシステムおよび方法に関するものである。さらに、複数のサービスを利用できる場合に、プリンタで印刷できるデータにレンダリングするための最適なホストサービスを選択し、実行するための技術に関するものである。
【０００６】
本発明は、画像形成ジョブをレンダリングする際に使用される印刷環境に関連して実施される。画像形成ジョブは印刷のためにネイティブフォーマットで画像形成装置（imaging device）へデスプール(despool)される。なお、画像形成ジョブは、この画像形成ジョブの広範な設定（job wide settings）を特定するためのヘッダーを含んでいてもよい。画像形成装置は、１つ以上の画像処理サーバーにジョブレンダリング要求（job rendering requirements）を送信し、それらの画像処理サーバーがその送信に対して応答する。１つ以上の画像処理サーバーの中から、画像形成ジョブをレンダリングするための画像処理サーバーが選択され、選択された画像処理サーバーは、画像形成装置にその画像形成装置に特有のレンダリングがなされた画像形成ジョブを提供する。
【０００７】
本発明の少なくとも１つの実施形態では、プリンタは、ネイティブフォーマットの文書をこのプリンタに適合するフォーマットにレンダリングできる画像処理サーバーを検出する能力を有する。さらなる実施形態では、画像処理サーバーの実行できる処理がプリンタに登録される。そして、このプリンタは、文書をレンダリングする画像処理サーバーを決定するために、予め登録されている画像処理サーバーと通信を行う。
【０００８】
上記文書をレンダリングする能力を有する複数の画像処理サーバーがプリンタに応答した場合、上記プリンタは、後述するいずれかの基準に基づいて最適な結果を得られる（１つまたは複数の）画像処理サーバーを選択する。上記の基準としては、例えば、（ｉ）有効性（他の画像形成ジョブをレンダリングするために忙しくない画像処理サーバー、すなわち最も早く処理を開始できる画像処理サーバー）、（ii）性能（すなわち最速の定格レンダリング速度を有する画像処理サーバー）、（iii）エミュレーション（すなわち上記能力を模倣することによってプリンタ上で処理をオフロードできる画像処理サーバー）、（iv）ジョブ分配（job splitting）（すなわち１つ以上の画像処理サーバーにレンダリングを分配し、レンダリングされた結果がプリンタで合体されて画像形成ジョブに戻される）
本発明のこれらの特徴および他の特徴および利点は、以下の記述および添付の特許請求の範囲において説明されるか、またはより明らかにされるであろう。上記特徴および利点は、上記特許請求の範囲に具体的に指摘された機器および組み合わせによって実現され、得られ得るものである。さらに、本発明の上記特徴および利点は、本発明の実践によって理解され得るものであり、以下に説明する記述から明らかになるであろう。
［本発明の詳細な説明］
本発明は、文書レンダリングに関するものであり、具体的には、プリンタにおけるネイティブフォーマットの文書を、ホストサービスを用いてプリンタで印刷できるデータにレンダリングするためのシステムおよび方法に関するものである。さらに、複数のサービスを利用できる場合に、プリンタで印刷できるデータにレンダリングするための最適なホストサービスを選択し、実行するための技術に関するものである。
【０００９】
本発明の実施形態は、画像形成ジョブをレンダリングする際に使用される印刷環境に関連して実施される。画像形成ジョブは印刷のためにネイティブフォーマットで画像形成装置へデスプールされる。なお、画像形成ジョブには、この画像形成ジョブの広範な設定（job wide settings）を特定するためのヘッダーを含んでいてもよい。
【００１０】
本発明の少なくとも１つの実施形態では、プリンタは、ネイティブフォーマットの文書をこのプリンタに適合するフォーマットにレンダリングできる画像処理サーバーを検出する能力を有する。さらなる実施形態では、画像処理サーバーの実行できる処理がプリンタに登録される。そして、このプリンタは、文書をレンダリングできる画像処理サーバー決定するために、予め登録されている画像処理サーバーと通信を行う。
【００１１】
上記文書をレンダリングする能力を有する複数の画像処理サーバーがプリンタに応答した場合、上記プリンタは、後述するいずれかの基準に基づいて最適な結果を得られる（１つまたは複数の）画像処理サーバーを選択する。上記の基準としては、例えば、（ｉ）有効性（他の画像形成ジョブをレンダリングするために忙しくない画像処理サーバー、すなわち最も早く処理を開始できる画像処理サーバー）、（ii）性能（すなわち最速の定格レンダリング速度を有する画像処理サーバー）、（iii）エミュレーション（すなわち上記能力を模倣することによってプリンタ上で処理をオフロードできる画像処理サーバー）、（iv）ジョブ分配（job splitting）（すなわち１つ以上の画像処理サーバーにレンダリングを分配し、レンダリングされた結果がプリンタで合体されて画像形成ジョブに戻される）
本発明の以下の開示は２つの小見出し、すなわち「操作環境の例」および「ダイレクトプリント（direct printing）のための負荷分散レンダリング」に分類されている。上記小見出しの使用は単に読者の便宜を図ったものであり、いかなる意味においても限定として解釈されるべきものではない。
［操作環境の例］
本発明を実施する好適な操作環境について、図２を用いて説明する。当業者には、本発明は１つ以上のコンピュータデバイスによってネットワーク化された構成を含む様々なシステム構成で実施され得るということが理解されるであろう。
【００１２】
本発明の実施形態は、１つ以上のコンピュータ読み取り可能な記録媒体を含んでいる。これらの各記録媒体には、データまたはデータの操作に関するコンピュータ実行可能な命令を含まれている。上記コンピュータ実行可能な命令には、データ構造、オブジェクト、プログラム、ルーチン、または、例えば様々な異なる機能を実行できる多目的コンピュータもしくは限られた数の機能を実行できる専用コンピュータなどの処理システムによってアクセスされ得る他のプログラムモジュールが含まれる。コンピュータ実行可能な命令によって処理システムが特定の１つのまたは一連の機能を実行できる。このコンピュータ実行可能な命令は本明細書で開示される方法の各工程を実施するためのプログラムコード手段（プログラム）の例である。さらに、上記コンピュータ実行可能な命令を特定の順序で実施することにより、上記工程を実施するのに適した動作例が提供される。コンピュータ読み取り可能な記録媒体としては、例えば、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）、プログラム可能ＲＯＭ（ＰＲＯＭ）、消去可能ＲＯＭ（ＥＰＲＯＭ）、電気的消去可能ＲＯＭ（ＥＥＰＲＯＭ）、コンパクトディスクＲＯＭ（ＣＤ‐ＲＯＭ）、処理システムによってアクセス可能なデータまたは実行可能な命令を提供できる他のデバイスもしくは構成要素を用いることができる。
【００１３】
図２に示すように、本発明を実施するための代表的なシステムには、クライアント装置（コンピュータ装置）１０が含まれている。このクライアント装置１０は、汎用のコンピュータであってもよく、特殊な用途に用いられるコンピュータであってもよい。例えば、クライアント装置１０は、パソコン、ノートパソコン、携帯情報端末（ＰＤＡ）等の携帯装置、ワークステーション、小型コンピュータ（minicomputer）、大型コンピュータ（mainframe）、スーパーコンピュータ、マルチプロセッサシステム(multi-processor system)、ネットワークコンピュータ、プロセッサを備えた家庭用電子機器などであってもよい。
【００１４】
クライアント装置１０は、このクライアント装置１０に備えられる構成要素間を接続し、２つ以上の構成要素の間でデータの交換を可能にするためのシステムバス１２を備えている。システムバス１２は、メモリバス、メモリコントローラ、周辺バス、または様々なバス構成のうちのいずれかを使用するローカルバスなどを含んでいてもよい。システムバス１２によって接続される典型的な構成要素としては、処理システム（識別手段、選択手段）１４およびメモリ１６が含まれる。また、他の構成要素として、１つ以上の大容量記憶装置インターフェース（mass storage device interface）１８、入力インターフェース（入力手段）２０、出力インターフェース２２、ネットワークインターフェース（通信手段）２４などを含まれていてもよい。それら各々については以下に述べる。
【００１５】
処理システム１４には、例えば中央処理装置あるいは特定の機能またはタスクを実行するよう設計された他の処理装置などの、１つ以上の処理装置が含まれる。処理システム１４は、典型的には、例えばメモリ１６、磁気ハードディスク、取り外し可能な磁気ディスク、磁気カセット、光ディスク、通信手段などのコンピュータ読み取り可能な記録媒体、あるいは通信手段によって与えられる命令を実行する。
【００１６】
メモリ１６には、データまたはデータを操作するための命令を記録するコンピュータ読み取り可能な１つ以上の記録媒体が含まれる。なお、処理システム１４は、システムバス１２を介してこのメモリ１６にアクセスすることができる。メモリ１６は、例えば、情報を恒久的に記憶するためのＲＯＭ２８、および／または、情報を一時的に記憶するためのＲＡＭ３０が含まれている。ＲＯＭ２８には、例えばクライアント装置１０の起動中などに通信を確立するために使用される１つ以上のルーチンを有する基本入出力システム（ＢＩＯＳ）が含まれている。ＲＡＭ３０には、例えばオペレーティングシステム、アプリケーションプログラム、プログラムデータなどのプログラムモジュールを１つ以上含んでいる。
【００１７】
１つ以上の大容量記憶装置インターフェース１８は、１つ以上の大容量記憶装置２６をシステムバス１２に接続するために用いられる。大容量記憶装置２６は、クライアント装置１０が大容量のデータを保持することを可能にするためのものであり、クライアント装置１０に内蔵されていてもよく、あるいはクライアント装置１０の周辺に配置されていてもよい。１つ以上の大容量記憶装置２６をクライアント装置１０から任意に取り外すことができる構成としてもよい。大容量記憶装置２６としては、例えば、ハードディスクドライブ、磁気ディスク装置、テープ装置、光ディスク駆動装置などが含まれる。大容量記憶装置２６は、磁気ハードディスク、取り外し可能な磁気ディスク、磁気カセット、光ディスク、あるいはその他のコンピュータ読み取り可能な記録媒体からデータを読み出したり、これらの記録媒体にデータを書き込んだりすることができる。大容量記憶装置２６およびこの大容量記憶装置２６に対応する記録媒体は、データおよび／または実行命令（例えば、オペレーティングシステム、１つ以上のアプリケーションプログラム、他のプログラムモジュール、プログラムデータなど）を記憶する不揮発性記憶装置として機能する。なお、上記の実行命令は、本明細書に開示する方法の各工程を実施するためのプログラムコード手段の例である。
【００１８】
１つ以上の入力インターフェース２０は、ユーザがデータおよび／または命令を、１つ以上の入力装置３２を介してクライアント装置１０に入力できるようにするためのものである。入力装置３２としては、例えば、キーボード、およびそれに代わる他の入力装置（例えば、マウス、トラックボール、ライトペン、スタイラス、その他のポインティングデバイス、マイク、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナー、ビデオカメラ、デジタルカメラなど）を用いることができる。また、入力装置３２をシステムバス１２に接続させるために使用される入力インターフェース２０としては、例えば、シリアルポート、パラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）、ファイアワイヤー（ＩＥＥＥ１３９４）、あるいはその他のインターフェースを用いることができる。
【００１９】
１つ以上の出力インターフェース２２は、１つ以上の出力装置３４をシステムバス１２に接続するためのものである。出力装置３４としては、例えば、モニター、ディスプレイスクリーン、スピーカー、プリンタなどが含まれる。出力装置３４は、クライアント装置１０と一体化されていてもよく、クライアント装置１０の周辺に配置されていてもよい。なお、出力インターフェース２２として、例えば、ビデオアダプタ、オーディオアダプタ、パラレルポートなどを用いてもよい。
【００２０】
１つ以上のネットワークインターフェース２４は、クライアント装置１０と他のコンピュータ装置３６（例えばローカルコンピュータデバイスやリモートコンピュータデバイスなど）との間を配線リンクおよび／または無線リンクなどからなるネットワーク３８を介して通信可能に接続し、クライアント装置１０と他のコンピュータ装置３６との間で情報交換することを可能にするためのものである。ネットワークインターフェース２４としては、例えば、ローカルエリアネットワーク（ＬＡＮ）、モデムとの接続を行うネットワークアダプタ、無線リンク、インターネットなどの広域ネットワーク（ＷＡＮ）との接続を可能にするための他のアダプタなどが含まれる。ネットワークインターフェース２４は、コンピュータ装置１０に内蔵されていてもよく、クライアント装置１０の周辺に配置されていてもよい。ネットワーク化されたシステムにおいて、アクセス可能なプログラムモジュールまたはその一部を、リモート記憶装置に記憶させてもよい。さらに、ネットワーク化されたシステムにおいては、クライアント装置１０は、機能またはタスクをネットワーク化された複数のコンピュータ装置によって実行する分散処理環境の一部であってもよい。
【００２１】
図３は、本発明を実施するための代表的なネットワークシステムの構成を示している。ただし、当業者であれば、図３に示した構成に限らず、他の様々な形態のコンピュータシステム構成によって本発明を実行できることが理解できるであろう。図３は、ネットワークに接続されたクライアント装置４０、２つのプリンタ（画像形成装置）５０，５２、および画像処理サーバー６０を含む実施形態を示している。ただし、これに限らず、例えば、１つ以上のクライアント装置を含んでいてもよく、２つ以上のプリンタ（画像形成装置）を含んでいてもよい。また、画像処理サーバー６０を含まなくてもよく、あるいはネットワークに接続された１つ以上の画像処理サーバーを含んでいてもよい。本発明の他の実施形態として、局所的に接続された印刷環境、ネットワーク化された印刷環境、あるいは１つ以上のクライアント装置（コンピュータ装置）が複数のプリンタと局所的に接続されているピアツーピア（peer-peer）の印刷環境が含まれていてもよい。少なくともいくつかの実施形態では、利用可能になる時間の特性（time-to-availability attribute）がクライアント装置で、あるいは画像処理サーバーで、あるいはプリンタファームウェアによって利用（support）される。さらに、本発明の実施形態には、ワイヤレスネットワーク環境、あるいは、例えばインターネットのような広域ネットワーク環境も含まれる。
【００２２】
図３に示した代表的なシステムには、クライアント装置４０として図示されたコンピュータ装置が含まれており、このコンピュータ装置は、ネットワーク５６を介して複数のプリンタ（５０および５２）に接続されている。図３では、プリンタ５０および５２はそれぞれ印刷機能を有する。ある実施形態では、プリンタ５０の機能とプリンタ５２の機能とは異種のものであり（すなわちプリンタ５０の機能の少なくとも１つがプリンタ５２の機能と異なっており）、他の実施形態では、プリンタ５０の機能はプリンタ５２の機能と同種のものである。
【００２３】
プリンタ５０および５２はネットワーク５６に接続されているが、本発明の実施形態では、これらのプリンタがクライアント装置（コンピュータ装置）と局所的に接続されていてもよく、ネットワークにおいてピアツーピアに接続されていてもよく、あるいは共用プリンタ（例えばプリントサーバー）としてネットワークに接続されていてもよく、ワイヤレスネットワーク環境に構成されていてもよい。さらに、これらのプリンタ（画像形成装置）は、１つ以上の多機能プリンタＭＦＰであってもよく、遠隔コピー機（remote copier）であってもよく、ファックス装置であってもよく、入力のハードコピーもしくはソフトコピーを出力するその他の装置であってもよい。
【００２４】
図３に示した例では、クライアント装置４０は、ソフトウェアアプリケーション４２、１つ以上のプリンタドライバ４４、レジストリ４５、ポートマネジャー４６、スプールディレクトリ４７、スプーラ４８、印刷プロセッサ４９を備えている。また、画像処理サーバー６０は、例えば１つ以上の印刷キュー６２、１つ以上のプリンタドライバ６４、ポートマネジャー６６、スプーラ６８、プリントプロセッサ６９を備えている。なお、この画像処理サーバー６０については、必ずしも備えられていなくてもよい。
【００２５】
このように、本発明の図示した実施形態および他の実施形態によって、ダイレクトプリントのための負荷分散レンダリング用に、高性能で持続的な、利用度の高い印刷環境がもたらされる。少なくともいくつかの実施形態においては、プリンタドライバ、プリントプロセッサ、プリントスプーラ、１つ以上のプリンタ、任意に備えられるプリントサーバー、局所的に接続された印刷環境、ネットワークを介して接続された印刷環境、あるいは遠隔印刷環境において１つ以上の画像形成ジョブを開始させるための手段を含む、コンピュータによって構成される印刷システムが提供される。詳細については後述するが、画像形成ジョブの負荷は、複数のプリンタに選択的に分散される。［ダイレクトプリントのための負荷分散レンダリング］
本発明は、文書レンダリングに関するものであり、具体的には、プリンタにおけるネイティブフォーマットの文書を、ホストサービスを用いてプリンタで印刷できるデータにレンダリングするためのシステムおよび方法に関するものである。さらに、複数のサービスを利用できる場合に、プリンタで印刷できるデータにレンダリングするための最適なホストサービスを選択し、実行するための技術に関するものである。
【００２６】
本発明の少なくともいくつかの実施形態は、（i）プリンタとクライアント装置上の処理装置（例えば、ＴＣＰ／ＩＰ上でのソケットを使用したポート番号との接続を確立する処理を行う処理装置）との間の通信方法；（ii）クライアント装置からプリンタへ送られる画像形成ジョブ（例えば、ポートモニタからプリンタへ送られるＬＰＲ，９１００，ＩＰ，あるいはＳＯＡＰ／ＸＭＬなどを用いた印刷プロトコル）のデスプーリング；（iii）レンダリング処理の有効性（availability）の判定（例えば、レンダリング工程によって処理された画像形成ジョブおよび処理待ちの画像形成ジョブの数およびサイズについて双方向通信を用いた照会）；（iv）ネイティブフォーマットの文書をサブドキュメントへの分割に関するものである。
【００２７】
本明細書で規定されるように、代表的な環境には、局所的に接続された、および／または、ネットワークを介して接続された１つ以上の画像形成装置、上記画像形成装置に論理接続（logical connection）された１つ以上のクライアント装置（例えば、ピアツーピアに接続されるか、あるいは上記画像形成装置に管理される）、および１つ以上の接続された画像処理サーバー(imaging server)が含まれる。上記接続された画像形成装置の例には、（i）プリンタ、（ii）コピー機、（iii）スキャナー、（iv）ファックス装置、（v）文書／画像サーバー、（vi）電子黒板、（vii）デジタルカメラ、（viii）デジタルプロジェクションシステム、（ix）ＣＤ／ＤＶＤライター、（x）デジタルテレビ、（xi）衛星ラジオ、（xii）医療用画像装置（例えば、Ｘ線、ＭＲＩなど）などが含まれるが、これに限定されるものではない。また、クライアント装置の構成についても特に限定されるものではなく、画像形成ジョブ（imaging job）を送信または受信できるものであればよい。上述したように、クライアント装置としては、例えば、デスクトップ型パソコン、小型コンピュータ、大型コンピュータ、分散コンピュータネットワーク、仮想コンピュータシステム（virtual computing system）、ゲストコンピュータシステム（guest computing system）、あるいは、ネットワークに接続されたその他の画像形成装置（クライアント装置）などが含まれる。画像処理サーバーとしては、他のコンピュータ装置および／または画像形成装置によって管理されるサービスを提供する各種のコンピュータ装置や画像形成装置を用いることができる。
【００２８】
ある実施形態では、画像形成装置は出力装置としての役割を果たす。画像形成装置は、クライアント装置から画像形成データ（imaging data）およびこの画像形成装置に適合する（互換性を有する）一連の画像形成命令を受信し、画像形成命令に応じた画像形成データからの出力をレンダリングする。レンダリングの例としては、例えば、（i）印刷、（ii）コピー、（iii）ファックス送信、（iv）ファイリング、（v）出版（例えば画像転写（image transfer））、（vi）変換、（vii）映像化、（viii）音声化などが含まれる。
【００２９】
また、他の実施形態では、画像形成装置は入力装置としての役割を果たす。画像形成装置は、クライアント装置に画像形成データおよびこのクライアント装置に適合する一連の印刷命令を送り、このクライアント装置は画像形成命令に応じて画像形成データをレンダリングする。この場合のレンダリングの例としては、例えば、（i）スキャン、（ii）ファックス受信、（iii）ファイル検索などが含まれる。
【００３０】
図４および図５に、１つ以上の画像処理サーバーにジョブレンダリング要求を選択的に送信するように構成された画像形成装置またはクライアント装置を含む代表的な環境を示す。図４には、複数の画像処理サーバー７２（７２ａ，７２ｂ，・・・，７２ｎ）と通信を行う画像形成装置（ＭＦＰ７０）を含む代表的な環境が図示されている。文書およびＭＦＰオペレーションはネイティブフォーマットでＭＦＰ７０に入力され、ＭＦＰ７０はレンダリング要求を画像処理サーバー７２に送信する。
【００３１】
ある実施形態では、画像形成データの入力フォーマットを画像形成装置に適合する出力フォーマットにレンダリングできることを確認された画像処理サーバーが選択され、他の実施形態では最適な画像処理サーバーが選択される。
【００３２】
さらに、画像形成装置（またはクライアント装置）は、該装置に適合しない画像形成データを送信または受信することもあり得る。例えば、画像形成装置からプリンタに送信される印刷命令はこのプリンタに適合するものの、印刷命令とともにこのプリンタに送信されるネイティブフォーマットの文書がプリンタに適合しない場合があり、このような場合には上記ネイティブフォーマットの文書をレンダリングできない。他の例としては、例えば、光学式文字認識装置（ＯＣＲ）によってスキャンした画像の文字認識結果が、クライアント装置に適合するインデックス命令とともにクライアント装置に送信されたものの、上記データの言語フォーマットが上記クライアント装置には解釈できない場合がある。
【００３３】
図５は、クライアント装置８０および複数の画像処理サーバー８２（８２ａ，８２ｂ，・・・，８２ｎ）を含む代表的な環境を示している。画像形成装置またはクライアント装置がこれらの装置に適合しない画像形成データを受信すると、この画像形成装置またはクライアント装置は、画像形成命令の一部または全部に基づいて、上記受信したデータをその後に行うレンダリングに適するフォーマットにレンダリングできる画像処理サーバー（例えばプリントサーバー）に選択的に送る。すなわち、図５の構成では、クライアント装置８０がこのクライアント装置８０に適合しない画像形成データを受信すると、レンダリング要求を画像処理サーバー８２に送信し（broadcast）、画像形成命令の一部または全てに応じて、クライアント装置８０によるその後のレンダリングに適したフォーマットに上記画像処理データをレンダリングできる画像処理サーバー８２に、上記適合しない画像処理データを送る。
【００３４】
さらに、画像形成装置またはクライアント装置は、画像形成データを画像形成装置またはクライアント装置に適合するフォーマットにレンダリングできる画像処理サーバーを探し出すことができる。探し出す方法としては、例えば、（i）各画像処理サーバーの機能を個別に検出して探す（discovery）、（ii）各画像処理サーバーの機能を事前に登録しておき、この登録された機能に基づいて適切な画像処理サーバーを探す（registration）、（iii）手入力されるデータに基づいて探す（manual entry)、あるいはこれらを組み合わせた方法を用いることができる。
【００３５】
また、他の実施形態では、画像形成データの送受信方法が異なっている。この方法では、画像形成命令および画像形成データを探し出す（locating）ための情報だけが画像形成装置またはクライアント装置に送信される。
【００３６】
本明細書で規定されるように、画像形成装置またはクライアント装置がジョブレンダリング要求を１つ以上の画像処理サーバーに送信すると、画像処理サーバーはその送信に対して応答する。例えば、図６に示すように、画像形成装置（ＭＦＰ９０）が画像処理サーバー９２に画像形成ジョブ要求（imaging job requirement）を送信する。この画像形成ジョブ要求としては、例えば（i）画像形成データのフォーマット、（ii）画像形成データを変換するためにレンダリングされた１つまたは複数のフォーマット、（iii）エミュレーション（すなわち上記画像形成装置またはクライアント装置によって与えられない能力のエミュレーション）を必要とする画像形成ジョブ命令（imaging job instruction）などが含まれ得るが、これに限定されるものではない。
【００３７】
画像形成ジョブ要求を受信した各画像処理サーバー９２は、画像形成装置（ＭＦＰ９０）に対して、各自の画像形成ジョブをレンダリングする能力を示す情報を返信する。画像形成装置またはクライアント装置と画像処理サーバーとの間のこの双方向通信は、例えば、（i）単線ポイントツーポイント専用接続（single point-to-point dedicated connection）（例えばローカルポート−ＵＳＢ、パラレル、シリアルなど）、（ii）単線仮想接続（single virtual connection）（例えばＴＣＰ／ＩＰ、AppleTalkなど）、（iii）２つの個別接続および／または通信プロトコルなどを介して実行できる。
【００３８】
例えば、画像形成装置またはクライアント装置は、所定の各画像処理サーバーのために前もって指定されたポートとのソケット接続をＴＣＰ／ＩＰで確立する。その後、画像形成装置またはクライアント装置は、独自のデータプロトコルを使用して画像処理要求（imaging request）を上記接続で各画像処理サーバーに送信する。各画像処理サーバーは、上記前もって指定されたポートで受信した要求に対する応答を返信する。
【００３９】
他の例では、画像処理サーバーの検出（discovery）方法または識別方法が異なっている。画像形成装置またはクライアント装置は、１つ以上のサブネット(subnet)で同報メッセージ（broadcast message）を送信する。サブネット上の画像処理サーバーのいずれかが、画像処理要求メッセージを受信してこれに応答する。
【００４０】
この応答には、例えば（i）画像形成装置またはクライアント装置に適合する１つ以上のフォーマットに画像形成ジョブをレンダリングできるかどうか、（ii）どの画像形成ジョブ命令をその画像処理サーバーでエミュレートできるのか、（iii）画像形成ジョブを処理するためにその画像処理サーバーがいつ使用可能になるのかの見積もり、（iv）画像形成ジョブを処理するのにかかる時間の見積もりのうちのいずれか１つ以上が含まれる。ただし、応答内容はこれに限定されるものではない。
【００４１】
図７は、画像処理サーバーが使用可能になるタイミングの見積もり方法を説明するための説明図である。この図に示すように、有効性（availability）の判定は例えば画像処理サーバー上の保留ジョブの数に基づいて行われる。ある方法では、画像処理サーバーは画像処理要求を画像処理キュー（imaging queue）に入れる。画像処理キュー上の画像形成ジョブは、ＦＩＦＯ順（入力順）に処理されるのが一般的であるが、処理の順番はいずれの方法によるものでもよい。画像処理キューが空である場合、画像処理サーバーは即座に使用できることを示す応答を行う。画像処理キューが空ではない場合、画像処理サーバーは、ビジー状態にあることを示す応答を行う。この際、いつ使用可能になるかを特定して使用可能となる時刻の見積もりを返信するようにしてもよい。この見積もりは、例えば、（i）保留ジョブの数、（ii）保留ジョブのサイズ、（iii）画像形成ジョブのサイズまたは事前分析に基づく各保留ジョブをレンダリングするのにかかる時間の見積もりなどに基づいて行うことができる。
【００４２】
また、画像処理サーバーがいつ使用可能になるのかを示す応答は、作業の時間または量に基づいて決定されてもよい。さらに、画像形成ジョブを現在処理中である場合には、画像処理サーバーは、未処理の画像形成ジョブの量と、画像形成ジョブの全体量との比較結果を作成してもよい。
【００４３】
図８は、画像形成装置またはクライアント装置がジョブレンダリング要求を画像処理サーバーに送信し、このジョブレンダリング要求に対する画像処理サーバーからの応答に応じて、画像形成装置またはクライアント装置が該当する画像形成ジョブのレンダリングに使用する１つ以上の画像処理サーバーを選択する構成を示す説明図である。図８に示すように、画像処理サーバー１０２の応答は、セレクタ１００によって受信される。このセレクタ１００は、１つ以上のどの画像処理サーバー１０２を使用するかを決定するためのものである。ある実施形態では、画像形成ジョブを上記画像形成装置またはクライアント装置に適合するフォーマットにレンダリングする１つ以上の画像処理サーバーを選択するために、画像形成装置またはクライアント装置によって上記応答が調査される。
【００４４】
ある実施形態では、１つの画像処理サーバーが選択される。例えば、（i）最も早く使用可能であること、（ii）性能、（iii）最も速く処理を完了できること、（iv）エミュレーション、（v）出力フォーマット、あるいはこれらのうちの１つ以上の組み合わせが最適な選択基準として使用される。最も早く使用可能な画像処理サーバーは、該画像処理サーバーが使用可能であることを示す応答のうち最初に受信したものに対応する。即座に使用可能であることを示す応答をした画像処理サーバーを選択することは、ビジー状態であることを示す応答をしたものを選択するよりも有利である。全ての画像処理サーバーがビジー状態である場合、未処理の作業量が最低であることを示しているものを選択することが有利である。
【００４５】
性能は、画像処理サーバーの機能に関連するものである。例えば、画像処理サーバーは、画像処理サーバーの有効性および画像処理サーバー上のリソースの種類に応じてレンダリング速度を記録することができ、最速のレンダリング速度を記録するものを選択することが有利である。
【００４６】
完成が最速であることは、画像処理サーバーの機能および有効性に関連する。例えば、有効性と速度情報とを組み合わせて、画像形成ジョブがいつ完成するかに関して各画像処理サーバーについて見積もりが行われる。そのような方法は、例えば、米国特許出願第１０／３９６、２０１号に開示されている。
【００４７】
エミュレーションは、効率性に関連するものである。例えば、上記画像処理サーバーと、画像形成装置またはクライアント装置とは同一の画像形成命令（例えば、コピーの校合（copy collation）、小冊子の作成（booklet ordering）、Ｎ−ｕｐ処理（N-up ordering；１枚の用紙にＮページ分の画像を形成する処理）など）を実行できるけれども、上記画像形成装置およびクライアント装置は、上記画像処理サーバーが該当する機能を（時間および能力（resources）に関して）より効率よく実行できるかどうかを測定する。
【００４８】
出力フォーマットに関しては、上記画像形成装置およびクライアント装置は複数のフォーマット（例えばＰＣＬ、ＰＳ、プリンタ用の表示リストなど）を受け入れ得る。しかしながら、他のものよりも処理の効率が良い出力フォーマットもあり得る。このため、上記画像形成装置およびクライアント装置は、より効率の良い互換性のあるフォーマットを出力できる画像処理サーバーを優先する。
【００４９】
また、他の実施形態では、複数の画像処理サーバーが選択される。したがって、上記画像形成装置およびクライアント装置は画像形成ジョブをサブジョブに分割し、分割したサブジョブを異なる画像処理サーバーに送信し、その後、各画像処理サーバーからおいてレンダリングされて返信されたサブジョブを合成する。例えば、文書の画像形成ジョブの場合には、該文書は連続したページからなる複数部分に分割され、それぞれの部分が異なる画像処理サーバーに送られる。各ページ部分のサイズおよび配分の決定方法は、特に限定されるものではなく、例えば上述したいずれかの要因に基づいて行ってもよい。
【００５０】
図９に示すように、画像形成装置またはクライアント装置が（１つまたは複数の）画像処理サーバー１１０を選択すると、選択された（１つまたは複数の）画像処理サーバー１１０で画像形成ジョブがレンダリングされ、画像形成装置に特有のレンダリングが施されたジョブは、画像形成装置またはクライアント装置（ＭＦＰ１０２）に送られる。このように、画像形成ジョブまたはその一部は、上記画像形成装置またはクライアント装置に適合するフォーマットにレンダリングするために、選択された画像処理サーバーに送られる。なお、画像形成ジョブの送信に加えて、例えば（i）画像形成ジョブをレンダリングするための出力フォーマット、および／または（ii）エミュレーションのための画像処理命令などの情報を送信してもよい。
【００５１】
画像処理サーバーは、画像形成データを受信すると、受信した画像形成データを画像形成装置またはクライアント装置に適合するフォーマットにレンダリングする。このレンダリングは、例えば用紙サイズおよび解像度などに関する画像処理命令に基づいて行うようにしてもよい。さらに、画像処理サーバーが、画像形成装置またはクライアント装置の要求に基づいて画像処理命令をエミュレートするようにしてもよい。エミュレートされる画像処理命令の例としては、（i）コピーの校合、（ii）ページ設定（例えば逆順印刷、小冊子の作成、Ｎ−ｕｐ処理など）、（iii）ページスケーリング（例えばＮ−ｕｐ、小冊子、プリントクラブなど）、（iv）画像補正（image enhancement）、（v）スペル／文法校正、（vi）インデックス処理／ソート処理、（vii）言語変換、（viii）内容のフィルタリング（例えば編集）などが含まれる。
【００５２】
エミュレートされた画像処理命令はその後いずれも削除される。部分的にエミュレートされた画像処理命令は、実行すべき残りの作業を示すように変更される。最後に、画像処理サーバーは画像形成ジョブを以下のように再構成する。すなわち、（i）画像形成命令から削除部分を引き、修正部分を加え、（ii）画像形成データを新しくレンダリングしたフォーマットに再構成する。再構成された画像形成データはその後画像形成装置またはクライアント装置に返送され、上記画像形成装置またはクライアント装置は、当初の予定通り画像形成ジョブを実行する。
【００５３】
図１０は、本発明の他の実施形態を示す説明図である。図１０に示す構成では、画像形成ジョブが、画像形成装置（ＭＦＰ１２０）にネイティブフォーマットで入力される。ＭＦＰ１２０は上記画像形成ジョブをレンダリングするために負荷分散サーバー１２２と通信する。負荷分散サーバー１２２は、上記画像形成ジョブに関する情報を、レンダリングキュー１２４に選択的に送信する。レンダリングキュー１２４は、その後、対応する画像形成ジョブをレンダリングする１つ以上の画像処理サーバー（ジョブレンダリングサーバー）１２６と通信を行う。１つ以上の画像処理サーバー１２６は、上記画像形成ジョブを、プリンタで印刷できる文書にレンダリングする。このレンダリングされたジョブは、ＭＦＰ１２０においてレンダリングを行うためにＭＦＰ１２０に送信される。
【００５４】
つまり、この構成では、負荷分散サーバー１２２が画像形成ジョブを複数に分割し、分割したジョブを複数のレンダリングキュー１２４ａ，１２４ｂに送信する。そして、各レンダリングキュー１２４ａ，１２４ｂは、それぞれ対応する画像処理サーバー１２６ａ，１２６ｂに画像形成ジョブのレンダリングを実行させる。また、各画像処理サーバーによってレンダリングされた画像形成ジョブは、ＭＦＰ１２０に送信され、ＭＦＰ１２０において統合されて印刷される。これにより、画像形成ジョブを複数の画像処理サーバーに分散して処理させることができ、効率よく処理することができる。また、分散した画像形成ジョブを各画像処理サーバーでそれぞれ印刷するのではなく、分散して処理された各画像形成ジョブをＭＦＰ１２０に集めて印刷することができる。したがって、ユーザは各画像処理サーバーまで印刷結果を取りに行く必要がないので、ユーザの利便性を向上できる。
【００５５】
なお、図１０の構成では、画像形成ジョブを各画像処理サーバーに分散させる処理を負荷分散サーバー１２２において行っているが、これに限らず、例えばＭＦＰ１２０にこの処理を実行する手段を備えてもよい。また、図１０の構成では、各画像処理サーバーによって処理された画像形成ジョブをＭＦＰ１２０において統合しているが、これに限るものではない。例えば、負荷分散サーバー１２２が統合してからＭＦＰ１２０に送信するようにしてもよく、あるいはネットワーク上に備えられる他の手段によって統合してＭＦＰ１２０に送信するようにしてもよい。
【００５６】
また、図５に示したクライアント装置と複数の画像処理サーバーとを備えたネットワーク構成において、画像形成ジョブを複数の画像処理サーバーに分散して処理させるようにしてもよい。この場合にも、画像形成ジョブを複数の画像処理サーバーに分散させる手段、および各画像処理サーバーによって処理された画像形成ジョブを統合する手段は、ネットワーク上に備えられていればよい。つまり、クライアント装置に備えられていてもよく、ネットワーク上の他の装置にそなえられていてもよい。
【００５７】
当業者には、本発明の方法および処理を、様々な印刷サブシステムにおいて使用可能であることが理解されよう。そのような印刷サブシステムの例には、Microsoft（登録商標）Windows（登録商標）オペレーティングシステム、Apple Machintosh（登録商標）オペレーティングシステム、Linux（登録商標）オペレーティングシステム、System V Unix（登録商標）オペレーティングシステム、BSD Unix（登録商標）オペレーティングシステム、OSF Unix（登録商標）オペレーティングシステム、Citrix、ＩＢＭ（登録商標）Mainframe MVS オペレーティングシステム、ＩＢＭ（登録商標）ＡＳ／４００などの印刷サブシステムが含まれる。
【００５８】
このように、本発明は、文書レンダリングに関するものであり、具体的には、ホストサービスを使用するプリンタで用いられるネイティブフォーマットの文書を、プリンタで印刷できるデータにレンダリングするためのシステムおよび方法に適用できる。さらに、複数のサービスを利用できる場合に、プリンタで印刷できるデータにレンダリングするための最適なホストサービスを選択し、実行することができる。
【００５９】
本発明は、その精神および本質的特性から離れることなく他の具体的な形状でも実施され得る。上述された実施形態はあくまでも単なる説明のためのものであり、限定するものではないと考えられるべきである。したがって、本発明の範囲は前述の説明よりもむしろ付属の特許請求の範囲によって示されている。該特許請求の範囲の教示内でありそれと等価な全ての変更は、その範囲内に包含されるべきものである。
【図面の簡単な説明】
【００６０】
本明細書の付属図面は、本発明の典型的な実施形態を示すものであり、本発明の範囲を限定するものではない。
【図１】文書をネイティブフォーマットで画像処理サーバに送信し、画像処理サーバにおいてプリンタで印刷可能な書式に変換してからプリンタに送信する、従来の技術を示す説明図である。
【図２】本発明の一実施形態にかかるシステムの構成を示す説明図であり、本発明の使用に好適な操作環境を備えた代表的なシステムを示している。
【図３】本発明の一実施形態にかかるシステムに備えられる代表的なネットワーク環境を示す説明図である。
【図４】本発明の一実施形態にかかるシステムを示す説明図であり、文書およびＭＦＰオペレーションがネイティブフォーマットでＭＦＰ（画像形成装置）に送られ、ＭＦＰがレンダリング要求を画像処理サーバーに送信する構成を示している。
【図５】本発明の一実施形態にかかるシステムを示す説明図であり、クライアント装置がこの装置に適合しない画像形成データを受信すると、受信した画像形成データをその次に行うレンダリングに適するフォーマットにレンダリングできる画像処理サーバーに選択的に送信する構成を示している。
【図６】本発明の一実施形態にかかるシステムを示す説明図であり、画像処理サーバーが画像形成ジョブをレンダリングできるかどうか、および、画像形成ジョブのレンダリングをいつ開始できるかをＭＦＰ（画像形成装置）に応答する構成を示している。
【図７】本発明の一実施形態にかかるシステムにおいて、画像処理サーバーが使用可能になるタイミングの見積もり方法を説明するための説明図である。
【図８】本発明の一実施形態にかかるシステムを示す説明図であり、画像形成装置またはクライアント装置がジョブレンダリング要求を画像処理サーバーに送信し、このジョブレンダリング要求に対する画像処理サーバーからの応答に応じて、画像形成装置またはクライアント装置が該当する画像形成ジョブのレンダリングに使用する１つ以上の画像処理サーバーを選択する構成を示している。
【図９】本発明の一実施形態にかかるシステムにおいて、画像処理サーバーにおいてレンダリングされたジョブが画像形成装置に返信される様子を示した説明図である。
【図１０】本発明の一実施形態にかかるシステムを示す説明図であり、画像形成装置から負荷分散サーバーを介して画像処理サーバーに画像形成ジョブを送信する構成を示している。
【図１】
0004509965.tif 000002
【図２】
0004509965.tif 000003
【図３】
0004509965.tif 000004
【図４】
0004509965.tif 000005
【図５】
0004509965.tif 000006
【図６】
0004509965.tif 000007
【図７】
0004509965.tif 000008
【図８】
0004509965.tif 000009
【図９】
0004509965.tif 000010
【図１０】
0004509965.tif 000011