(57)【要約】【課題】画像形成装置におけるネイティブフォーマットの文書を、プリンタで印刷できるデータにレンダリングするためのホストサービスを用いてレンダリングするシステムおよび方法を提供する。【解決方法】文書／画像は印刷のためにネイティブフォーマットでＭＦＰ７０へデスプールされる。ＭＦＰ７０は、１つ以上のアプリケーション／画像処理サーバー７２にジョブレンダリング要求を送信し、次にそれらのサーバーがその送信に対して応答する。ＭＦＰ７０は、１つ以上のアプリケーション／画像処理サーバー７２の中から、文書／画像ジョブをレンダリングするためのサーバーを選択する。複数のサービスを利用できる場合、ＭＦＰ７０は、最適のホストサービスを選択する。【選択図】  図４
2006319974.tif 000002
【特許請求の範囲】
【請求項１】
ジョブレンダリングシステムにおける負荷分散レンダリング方法であって、
上記ジョブレンダリングシステムに備えられる画像形成装置においてネイティブフォーマットからなる画像形成ジョブのレンダリング要求を受け付ける工程と、
上記画像形成ジョブに関する１つ以上のジョブレンダリング要求を識別する工程と、
上記ジョブレンダリング要求を１つ以上の画像処理サーバーに送信する工程と、
上記画像形成装置が、上記１つ以上の画像処理サーバーから、該画像処理サーバーが有する上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を受信する工程と、
上記応答に基づいて、上記画像形成ジョブの少なくとも一部を処理するために使用する１つ以上の画像処理サーバーを選択するサーバー選択工程と、
上記選択した画像処理サーバーを用いて上記画像形成ジョブを処理するジョブ処理工程と、
上記画像形成ジョブをレンダリングするレンダリング工程とを含む方法。
【請求項２】
上記レンダリング要求を受け付ける工程において、
上記画像形成装置は、クライアント装置から、画像データおよび該画像形成装置に対して互換性のある画像形成命令を入力されることを特徴とする請求項１に記載の方法。
【請求項３】
上記レンダリング要求の少なくとも一部は、上記画像形成装置に対して互換性がないことを特徴とする請求項１に記載の方法。
【請求項４】
上記画像形成装置は、（i）プリンタ、（ii）コピー機、（iii）スキャナー、（iv）ファックス装置、（v）画像サーバー、（vi）文書サーバー、（vii）電子黒板、（viii）デジタルカメラ、（ix）デジタルプロジェクションシステム、（x）ＣＤ／ＤＶＤライター、（xi）デジタルテレビ、（xii）衛星ラジオ、および（xiii）医療用画像装置のうちのいずれかであることを特徴とする請求項１に記載の方法。
【請求項５】
上記応答は、
（i）上記画像処理サーバーが上記画像形成ジョブを上記画像形成装置に対する互換性のある１つ以上のフォーマットにレンダリングできるかどうかを特定するための情報、
（ii）上記ジョブレンダリング要求のうち上記画像処理サーバーにおいてエミュレートできる要求を特定するための情報、
（iii）上記画像処理サーバーが上記画像形成ジョブの少なくとも一部を処理するために使用可能になる時期を特定するための情報、
（iv）上記画像処理サーバーが上記画像形成ジョブを処理するのに要する時間を特定するための情報、のうちの少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【請求項６】
上記画像処理サーバーは、１つ以上の他のコンピュータ装置を管理するサービスを提供するコンピュータ装置であることを特徴とする請求項１に記載の方法。
【請求項７】
上記ジョブレンダリング要求は、
（i）上記画像形成ジョブの画像データフォーマット、
（ii）上記画像形成ジョブに含まれる画像データのレンダリングされたフォーマットへの変換、
（iii）エミュレーションを必要とする画像形成ジョブ命令、のうちの１つ以上に該当することを特徴とする請求項１に記載の方法。
【請求項８】
上記サーバー選択工程において、
（i）保留ジョブの数、
（ii）保留ジョブのサイズ、
（iii）保留ジョブをレンダリングするのに必要な時間、
のうちのいずれか１つ以上に基づいて、画像処理サーバーを選択することを特徴とする請求項１に記載の方法。
【請求項９】
上記サーバー選択工程において、
（i）使用可能になるまでの時間、
（ii）性能、
（iii）処理を完了できるまでの時間、
（iv）エミュレーション
（v）出力フォーマット、のうちの少なくとも１つに基づいて画像処理サーバーを選択することを特徴とする請求項１に記載の方法。
【請求項１０】
上記選択した画像処理サーバーによって処理された上記画像形成ジョブを上記画像形成装置が受信する工程をさらに含み、
上記処理された画像形成ジョブは、
（i）該画像形成ジョブをレンダリングするための出力フォーマット、
（ii）該画像形成ジョブをエミュレートするための画像処理命令、
のうちの少なくとも１つを含むことを特徴とする請求項１に記載の方法。
【請求項１１】
ジョブレンダリングシステムにおけるダイレクトプリントのために負荷分散レンダリング方法であって、
上記ジョブレンダリングシステムに備えられるクライアント装置において該クライアント装置に対する互換性のないフォーマットからなる画像形成ジョブのレンダリング要求を受け付ける工程と、
上記画像形成ジョブに関する１つ以上のジョブレンダリング要求を識別する工程と、
上記ジョブレンダリング要求を１つ以上の画像処理サーバーに送信する工程と、
上記クライアント装置が、上記１つ以上の画像処理サーバーから、該画像処理サーバーが有する上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を受信する工程と、
上記応答に基づいて、上記画像形成ジョブの少なくとも一部を処理するために使用する１つ以上の画像処理サーバーを選択するサーバー選択工程と、
上記選択した画像処理サーバーを用いて上記画像形成ジョブを処理するジョブ処理工程と、
上記画像形成ジョブをレンダリングするレンダリング工程とを含む方法。
【請求項１２】
上記レンダリング工程は、画像形成装置によって実行されることを特徴とする請求項１１に記載の方法。
【請求項１３】
上記レンダリング工程において、
上記クライアント装置に入力された画像形成命令に応じて上記画像形成ジョブをレンダリングするために画像形成装置を用いることを特徴とする請求項１１に記載の方法。
【請求項１４】
上記画像形成装置が、（i）プリンタ、（ii）コピー機、（iii）スキャナー、（iv）ファックス装置、（v）画像サーバー、（vi）文書サーバー、（vii）電子黒板、（viii）デジタルカメラ、（ix）デジタルプロジェクションシステム、（x）ＣＤ／ＤＶＤライター、（xi）デジタルテレビ、（xii）衛星ラジオ、（xiii）医療用画像装置のうちのうちのいずれかであることを特徴とする請求項１３に記載の方法。
【請求項１５】
上記応答は、
（i）上記画像処理サーバーが上記画像形成ジョブを上記クライアント装置に対する互換性のある１つ以上のフォーマットにレンダリングできるかどうかを特定するための情報、
（ii）上記ジョブレンダリング要求のうち上記画像処理サーバーにおいてエミュレートできる要求を特定するための情報、
（iii）上記画像処理サーバーが上記画像形成ジョブの少なくとも一部を処理するために使用可能になる時期を特定するための情報、
（iv）上記画像処理サーバーが上記画像形成ジョブを処理するのに要する時間を特定するための情報、のうちの少なくとも１つを含むことを特徴とする請求項１１に記載の方法。
【請求項１６】
上記ジョブレンダリング要求は、
（i）上記画像形成ジョブの画像データフォーマット、
（ii）上記画像形成ジョブに含まれる画像データのレンダリングされたフォーマットへの変換、
（iii）エミュレーションを必要とする画像形成ジョブ命令、のうちの１つ以上に該当することを特徴とする請求項１１に記載の方法。
【請求項１７】
上記サーバー選択工程において、
（i）使用可能になるまでの時間、
（ii）性能、
（iii）処理を完了できるまでの時間、
（iv）エミュレーション
（v）出力フォーマット、のうちの少なくとも１つに基づいて画像処理サーバーを選択することを特徴とする請求項１１に記載の方法。
【請求項１８】
上記選択した画像処理サーバーによって処理された上記画像形成ジョブを上記クライアント装置が受信する工程と、
上記クライアント装置が、上記処理された画像形成ジョブをレンダリングのために画像形成装置に送信する工程とをさらに含み、
上記処理された画像形成ジョブは、
（i）該画像形成ジョブをレンダリングするための出力フォーマット、
（ii）該画像形成ジョブをエミュレートするための画像処理命令、
のうちの少なくとも１つを含むことを特徴とする請求項１１に記載の方法。
【請求項１９】
上記レンダリング工程が上記画像形成装置によって実行されることを特徴とする請求項１８に記載の方法。
【請求項２０】
上記サーバー選択工程において複数の画像処理サーバーを選択し、
上記ジョブ処理工程では、上記画像形成ジョブを上記複数の画像処理サーバーに分散して処理させ、
上記レンダリング工程では、各画像処理サーバーが処理した画像形成ジョブを統合してレンダリングすることを特徴とする請求項１または１１に記載の方法。
【請求項２１】
ジョブレンダリングシステムにおけるダイレクトプリントのための負荷分散レンダリング方法をコンピュータに実行させるためのプログラムであって、
上記ジョブレンダリングシステムに備えられる画像形成装置において該画像形成装置に対する互換性のないフォーマットからなる画像形成ジョブのレンダリング要求を受け付ける工程と、
上記画像形成ジョブに関する１つ以上のジョブレンダリング要求を識別する工程と、
上記ジョブレンダリング要求を１つ以上の画像処理サーバーに送信する工程と、
上記画像形成装置が、上記１つ以上の画像処理サーバーから、該画像処理サーバーが有する上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を受信する工程と、
上記応答に基づいて、上記画像形成ジョブの少なくとも一部を処理するために使用する１つ以上の画像処理サーバーを選択するサーバー選択工程と、
上記選択した画像処理サーバーを用いて上記画像形成ジョブを処理するジョブ処理工程と、
上記画像形成ジョブをレンダリングするレンダリング工程とをコンピュータに実行させるためのプログラム。
【請求項２２】
上記レンダリング要求の少なくとも一部は、上記画像形成ジョブのレンダリングを実行するために用いられる画像形成装置に対する互換性を有さないことを特徴とする請求項２１に記載のプログラム。
【請求項２３】
上記画像形成装置は、（i）プリンタ、（ii）コピー機、（iii）スキャナー、（iv）ファックス装置、（v）画像サーバー、（vi）文書サーバー、（vii）電子黒板、（viii）デジタルカメラ、（ix）デジタルプロジェクションシステム、（x）ＣＤ／ＤＶＤライター、（xi）デジタルテレビ、（xii）衛星ラジオ、および（xiii）医療用画像装置のうちのいずれかであることを特徴とする請求項２２に記載のプログラム。
【請求項２４】
上記応答は、
（i）上記画像処理サーバーが上記画像形成ジョブを上記画像形成装置に対する互換性のある１つ以上のフォーマットにレンダリングできるかどうかを特定するための情報、
（ii）上記ジョブレンダリング要求のうち上記画像処理サーバーにおいてエミュレートできる要求を特定するための情報、
（iii）上記画像処理サーバーが上記画像形成ジョブの少なくとも一部を処理するために使用可能になる時期を特定するための情報、
（iv）上記画像処理サーバーが上記画像形成ジョブを処理するのに要する時間を特定するための情報、のうちの少なくとも１つを含むことを特徴とする請求項２１に記載のプログラム。
【請求項２５】
上記サーバー選択工程において、
（i）保留ジョブの数、
（ii）保留ジョブのサイズ、
（iii）保留ジョブをレンダリングするのに必要な時間、
のうちのいずれか１つ以上に基づいて、画像処理サーバーを選択することを特徴とする請求項２１に記載のプログラム。
【請求項２６】
上記サーバー選択工程において、
（i）使用可能になるまでの時間、
（ii）性能、
（iii）処理を完了できるまでの時間、
（iv）エミュレーション
（v）出力フォーマット、のうちの少なくとも１つに基づいて画像処理サーバーを選択することを特徴とする請求項２１に記載のプログラム。
【請求項２７】
請求項２１〜２６のいずれか１項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２８】
負荷分散レンダリングを行うジョブレンダリングシステムに備えられる画像処理装置であって、
ネイティブフォーマットからなる画像形成ジョブのレンダリング要求を受け付ける入力手段と、
上記画像形成ジョブに関する１つ以上のジョブレンダリング要求を識別する識別手段と、
上記ジョブレンダリング要求を１つ以上の画像処理サーバーに送信するとともに、
上記１つ以上の画像処理サーバーから返信される、該画像処理サーバーが有する上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を受信する通信手段と、
上記応答に基づいて、上記画像形成ジョブの少なくとも一部を処理するために使用する１つ以上の画像処理サーバーを選択する選択手段とを備えていることを特徴とする画像形成装置。
【請求項２９】
上記選択手段は、複数の上記画像処理サーバーを選択し、選択した複数の画像処理サーバーに上記画像形成ジョブを分散して処理させるものであり、
上記各画像処理サーバーによって処理された画像形成ジョブを統合する統合手段を備えていることを特徴とする請求項２８に記載の画像形成装置。
【請求項３０】
ダイレクトプリントのために負荷分散レンダリングを行うジョブレンダリングシステムに備えられるクライアント装置であって、
該クライアント装置に対する互換性のないフォーマットからなる画像形成ジョブのレンダリング要求を受け付ける入力手段と、
上記画像形成ジョブに関する１つ以上のジョブレンダリング要求を識別する識別手段と、
上記ジョブレンダリング要求を１つ以上の画像処理サーバーに送信するとともに、上記１つ以上の画像処理サーバーから返信される、該画像処理サーバーが有する上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を受信する通信手段と、
上記応答に基づいて、上記画像形成ジョブの少なくとも一部を処理するために使用する１つ以上の画像処理サーバーを選択する選択手段とを備えていることを特徴とするクライアント装置。
【請求項３１】
上記選択手段は、複数の上記画像処理サーバーを選択し、選択した複数の画像処理サーバーに上記画像形成ジョブを分散して処理させるものであり、
上記各画像処理サーバーによって処理された画像形成ジョブを統合する統合手段を備えていることを特徴とする請求項３０に記載のクライアント装置。
【請求項３２】
負荷分散レンダリングを行うジョブレンダリングシステムであって、
画像形成装置と、１つ以上の画像処理サーバーとを備え、
上記画像形成装置は、
ネイティブフォーマットからなる画像形成ジョブのレンダリング要求を受け付ける入力手段と、
上記画像形成ジョブに関する１つ以上のジョブレンダリング要求を識別する識別手段と、
上記ジョブレンダリング要求を１つ以上の画像処理サーバーに送信するとともに、上記画像処理サーバーから返信される、該画像処理サーバーが有する上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を受信する通信手段と、
上記応答に基づいて、上記画像形成ジョブの少なくとも一部を処理するために使用する１つ以上の画像処理サーバーを選択する選択手段とを備えており、
上記画像処理サーバーは、
上記画像形成装置から送信される上記ジョブレンダリング要求を受信すると、上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を生成して上記画像形成装置に返信することを特徴とするジョブレンダリングシステム。
【請求項３３】
ダイレクトプリントのために負荷分散レンダリングを行うジョブレンダリングシステムであって、
クライアント装置と、１つ以上の画像処理サーバーとを備え、
上記クライアント装置は、
該クライアント装置に対する互換性のないフォーマットからなる画像形成ジョブのレンダリング要求を受け付ける入力手段と、
上記画像形成ジョブに関する１つ以上のジョブレンダリング要求を識別する識別手段と、
上記ジョブレンダリング要求を１つ以上の画像処理サーバーに送信するとともに、上記画像処理サーバーから返信される、該画像処理サーバーが有する上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を受信する通信手段と、
上記応答に基づいて、上記画像形成ジョブの少なくとも一部を処理するために使用する１つ以上の画像処理サーバーを選択する選択手段とを備えており、
上記画像処理サーバーは、
上記画像形成装置から送信される上記ジョブレンダリング要求を受信すると、上記画像形成ジョブの少なくとも一部を処理する能力を特定するための応答を生成して上記画像形成装置に返信することを特徴とするジョブレンダリングシステム。
【請求項３４】
上記選択手段は、複数の上記画像処理サーバーを選択し、選択した複数の画像処理サーバーに上記画像形成ジョブを分散して処理させるものであり、
上記各画像処理サーバーによって処理された画像形成ジョブを統合する統合手段を備えていることを特徴とする請求項３２または３３に記載のジョブレンダリングシステム。
【発明の詳細な説明】
【発明の詳細な説明】
【０００１】
［発明の背景］
１．関連出願
本願は、２００１年１月１１日提出の仮出願第６０／２６１，１３２号に対して優先権を主張している２００１年２月２２日提出の出願第０９／６８１，２０８号の一部継続出願である、２００１年３月３０日提出の出願第０９／６８１，４１６号の一部継続出願であり、かつ２００１年３月３０日提出の出願第０９／６８１，４０９号の一部継続出願である、２００１年６月２８日提出の出願第０９／８９４，９２８号の一部継続出願である、２００１年９月２６日提出の出願第０９／９６４，９８５号の一部継続出願である、２００３年３月２５日提出の出願第１０／３９６，２０１号および２００２年９月３０日提出の出願第１０／２６１，８８５号に対する優先権を主張して２００５年５月１０日に出願した米国特許出願第１１／１２５，５２４号に対する優先権を主張するものである。
２．発明の分野
本発明は、文書レンダリングに関するものであり、具体的には、プリンタにおけるネイティブフォーマットの文書を、ホストサービスを用いてプリンタで印刷できるデータにレンダリングするためのシステムおよび方法に関するものである。さらに、複数のサービスを利用できる場合に、プリンタで印刷できるデータにレンダリングするための最適なホストサービスを選択し、実行するための技術に関するものである。
３．背景および関連技術
文書が印刷される際に、該当する印刷ジョブは典型的にはプリンタで印刷できるフォーマットであるか、またはそのプリンタに互換性のあるフォーマットに変換される。一旦プリンタで印刷できるフォーマットとなると、上記印刷ジョブはプリンタによって押し込まれたり（プルされたり）引き出されたり（プッシュされたり）される。
【０００２】
印刷ジョブをプリンタで印刷できるデータに変換するための技術は現在でも存在するが、印刷ジョブからプリンタで印刷できるデータに変換する工程が不便であったり、状況によっては変換ができなかったりするという問題がある。例えば、そのような状況は、（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 オペレーティングシステム、ＩＢＭ（登録商標）ＡＳ／４００などの印刷サブシステムが含まれる。
【００５７】
このように、本発明は、文書レンダリングに関するものであり、具体的には、ホストサービスを使用するプリンタデバイスで用いられるネイティブフォーマットの文書を、プリンタで印刷できるデータにレンダリングするためのシステムおよび方法に適用できる。さらに、複数のサービスを利用できる場合に、プリンタで印刷できるデータにレンダリングするための最適なホストサービスを選択し、実行することができる。
【００５８】
本発明は、その精神および本質的特性から離れることなく他の具体的な形状でも実施され得る。上述された実施形態はあくまでも単なる説明のためのものであり、限定するものではないと考えられるべきである。したがって、本発明の範囲は前述の説明よりもむしろ付属の特許請求の範囲によって示されている。該特許請求の範囲の教示内でありそれと等価な全ての変更は、その範囲内に包含されるべきものである。
【図面の簡単な説明】
【００５９】
本明細書の付属図面は、本発明の典型的な実施形態を示すものであり、本発明の範囲を限定するものではない。
【図１】文書をネイティブフォーマットでプリンタサーバに送信し、プリンタサーバにおいてプリンタで印刷可能な書式に変換してからプリンタに送信する、従来の技術を示す説明図である。
【図２】本発明の一実施形態にかかるシステムの構成を示す説明図であり、本発明の使用に好適な操作環境を備えた代表的なシステムを示している。
【図３】本発明の一実施形態にかかるシステムに備えられる代表的なネットワーク環境を示す説明図である。
【図４】本発明の一実施形態にかかるシステムを示す説明図であり、文書およびＭＦＰオペレーションがネイティブフォーマットでＭＦＰに送られ、ＭＦＰがレンダリング要求をアプリケーション／画像処理サーバーに送信する構成を示している。
【図５】本発明の一実施形態にかかるシステムを示す説明図であり、クライアント装置がこの装置に適合しない画像形成データを受信すると、受信したデータをその次に行うレンダリングに適するフォーマットにレンダリングできるアプリケーション／画像処理サーバーに選択的に送信する構成を示している。
【図６】本発明の一実施形態にかかるシステムを示す説明図であり、アプリケーション／画像処理サーバーが画像処理ジョブをレンダリングできるかどうか、および、画像処理ジョブのレンダリングをいつ開始できるかをＭＦＰに応答する構成を示している。
【図７】本発明の一実施形態にかかるシステムにおいて、画像処理サーバーが使用可能になるタイミングの見積もり方法を説明するための説明図である。
【図８】本発明の一実施形態にかかるシステムを示す説明図であり、画像形成装置またはクライアント装置がジョブレンダリング要求をアプリケーション／画像処理サーバーに送信し、このジョブレンダリング要求に対するアプリケーション／画像処理サーバーからの応答に応じて、画像形成装置またはクライアント装置が該当する画像形成ジョブのレンダリングに使用する１つ以上のアプリケーション／画像処理サーバーを選択する構成を示している。
【図９】本発明の一実施形態にかかるシステムにおいて、アプリケーション／画像処理サーバーにおいてレンダリングされたジョブが画像形成装置に返信される様子を示した説明図である。
【図１０】本発明の一実施形態にかかるシステムを示す説明図であり、画像形成装置から負荷分散サーバーを介してレンダリングサーバーにジョブを送信する構成を示している。
【図１】
2006319974.tif 000003
【図２】
2006319974.tif 000004
【図３】
2006319974.tif 000005
【図４】
2006319974.tif 000006
【図５】
2006319974.tif 000007
【図６】
2006319974.tif 000008
【図７】
2006319974.tif 000009
【図８】
2006319974.tif 000010
【図９】
2006319974.tif 000011
【図１０】
2006319974.tif 000012