(57)【特許請求の範囲】
【請求項１】
クライアント装置、印刷装置及びウェブ印刷サーバを含む印刷システムにおける処理方法であって、
前記クライアント装置が、前記印刷装置の印刷機能に関するリクエストを前記印刷装置へ送信するステップと、
前記クライアント装置が、前記印刷機能の情報を含む応答を前記印刷装置から受信するステップと、
前記クライアント装置が、文書データ及び前記印刷機能の情報を前記ウェブ印刷サーバへ送信するステップと、
前記クライアント装置が、前記印刷機能についての一群の印刷ジョブオプションのフォームを受信するステップと、
前記クライアント装置のユーザにより選択された一群の印刷ジョブオプションと前記文書データとに基づいて前記ウェブ印刷サーバによりレンダリングされた印刷ジョブが前記印刷装置において印刷されるように、前記クライアント装置のユーザが前記フォームを用いて選択した一群の印刷ジョブオプションを、前記クライアント装置が前記ウェブ印刷サーバに通知するステップと、
を有する処理方法。
【請求項２】
前記クライアント装置及び前記印刷装置が、第１のネットワークにより通信可能に結合され、前記ウェブ印刷サーバは第２のネットワークにおけるウェブアプリケーションサーバであり、前記ウェブ印刷サーバ及び前記印刷装置は直接的に通信可能であるようには結合されていない、請求項１に記載の処理方法。
【請求項３】
前記クライアント装置が、前記ウェブ印刷サーバから受信した前記印刷ジョブを前記印刷装置へ転送するステップを更に有する請求項１又は２に記載の処理方法。  
【請求項４】
前記印刷装置用のプリンタドライバが前記ウェブ印刷サーバにインストールされていなかった場合に、前記ウェブ印刷サーバが、第三者のドライバリポジトリにおいて前記プリンタドライバを検索し、前記プリンタドライバを前記ウェブ印刷サーバにインストールするステップ
をさらに有し、前記ウェブ印刷サーバによりレンダリングされた印刷ジョブは、前記プリンタドライバを利用してレンダリングされた印刷ジョブである、請求項１から３までのうちの何れか１項に記載の処理方法。
【請求項５】
前記第三者のドライバリポジトリにおいて前記プリンタドライバを検索する際、
前記印刷機能に関する前記リクエストに対する応答から、前記印刷装置のモデル名及び電気電子技術者協会番号（IEEE−ID）の内の少なくとも１つを特定し、
前記モデル名及び前記IEEE−IDの内の前記少なくとも１つを、ドライバリクエストにより前記第三者のドライバリポジトリに送信する、請求項４に記載の処理方法。
【請求項６】
前記文書データ及び前記印刷機能の情報を前記ウェブ印刷サーバへ送信するステップにおいて、前記文書データを暗号化されたフォーマットで送信する、請求項１から５までのうち何れか１項に記載の処理方法。
【請求項７】
前記ウェブ印刷サーバから受信した前記印刷ジョブを前記印刷装置へ転送するステップにおいて、前記印刷ジョブを暗号化されたフォーマットで転送する、請求項３に記載の処理方法。
【請求項８】
クライアント装置、印刷装置及びウェブ印刷サーバを含む印刷システムであって、前記クライアント装置は、
前記印刷装置の印刷機能に関するリクエストを前記印刷装置へ送信する処理と、
前記印刷機能の情報を含む応答を前記印刷装置から受信する処理と、
文書データ及び前記印刷機能の情報を前記ウェブ印刷サーバへ送信する処理と、
前記印刷機能についての一群の印刷ジョブオプションのフォームを受信する処理と、
前記クライアント装置のユーザにより選択された一群の印刷ジョブオプションと前記文書データとに基づいて前記ウェブ印刷サーバによりレンダリングされた印刷ジョブが前記印刷装置において印刷されるように、前記クライアント装置のユーザが前記フォームを用いて選択した一群の印刷ジョブオプションを前記ウェブ印刷サーバに通知する処理と、
を実行する、印刷システム。
【請求項９】
前記クライアント装置及び前記印刷装置が、第１のネットワークにより通信可能に結合され、前記ウェブ印刷サーバは第２のネットワークにおけるウェブアプリケーションサーバであり、前記ウェブ印刷サーバ及び前記印刷装置は直接的に通信可能であるようには結合されていない、請求項８に記載の印刷システム。
【請求項１０】
前記クライアント装置が、前記ウェブ印刷サーバから受信した前記印刷ジョブを前記印刷装置へ転送する処理を実行する、請求項８又は９に記載の印刷システム。  
【請求項１１】
前記印刷装置用のプリンタドライバが前記ウェブ印刷サーバにインストールされていなかった場合に、前記ウェブ印刷サーバが、第三者のドライバリポジトリにおいて前記プリンタドライバを検索し、前記プリンタドライバを前記ウェブ印刷サーバにインストールし、
前記ウェブ印刷サーバによりレンダリングされた印刷ジョブは、前記プリンタドライバを利用してレンダリングされた印刷ジョブである、請求項８から１０までのうちの何れか１項に記載の印刷システム。
【請求項１２】
前記第三者のドライバリポジトリにおいて前記プリンタドライバを検索する際、
前記印刷機能に関する前記リクエストに対する応答から、前記印刷装置のモデル名及び電気電子技術者協会番号（IEEE−ID）の内の少なくとも１つを特定し、
前記モデル名及び前記IEEE−IDの内の前記少なくとも１つを、ドライバリクエストにより前記第三者のドライバリポジトリに送信する、請求項１１記載の印刷システム。
【請求項１３】
前記文書データ及び前記印刷機能の情報を前記ウェブ印刷サーバへ送信する処理において、前記文書データを暗号化されたフォーマットで送信する、請求項８から１２までのうち何れか１項に記載の印刷システム。
【請求項１４】
前記ウェブ印刷サーバから受信した前記印刷ジョブを前記印刷装置へ転送する処理において、前記印刷ジョブを暗号化されたフォーマットで転送する、請求項１０に記載の印刷システム。
【請求項１５】
クライアント装置、印刷装置及びウェブ印刷サーバを含む印刷システムに処理方法を実行させるコンピュータプログラムであって、前記処理方法は、
前記クライアント装置が、前記印刷装置の印刷機能に関するリクエストを前記印刷装置へ送信するステップと、
前記クライアント装置が、前記印刷機能の情報を含む応答を前記印刷装置から受信するステップと、
前記クライアント装置が、文書データ及び前記印刷機能の情報を前記ウェブ印刷サーバへ送信するステップと、
前記クライアント装置が、前記印刷機能についての一群の印刷ジョブオプションのフォームを受信するステップと、
前記クライアント装置のユーザにより選択された一群の印刷ジョブオプションと前記文書データとに基づいて前記ウェブ印刷サーバによりレンダリングされた印刷ジョブが前記印刷装置において印刷されるように、前記クライアント装置のユーザが前記フォームを用いて選択した一群の印刷ジョブオプションを、前記クライアント装置が前記ウェブ印刷サーバに通知するステップと、
を有する、コンピュータプログラム。
【請求項１６】
前記クライアント装置及び前記印刷装置が、第１のネットワークにより通信可能に結合され、前記ウェブ印刷サーバは第２のネットワークにおけるウェブアプリケーションサーバであり、前記ウェブ印刷サーバ及び前記印刷装置は直接的に通信可能であるようには結合されていない、請求項１５に記載のコンピュータプログラム。
【請求項１７】
前記処理方法が、前記クライアント装置が、前記ウェブ印刷サーバから受信した前記印刷ジョブを前記印刷装置へ転送するステップを更に有する、請求項１５又は１６に記載のコンピュータプログラム。
【請求項１８】
前記処理方法が、前記印刷装置用のプリンタドライバが前記ウェブ印刷サーバにインストールされていなかった場合に、前記ウェブ印刷サーバが、第三者のドライバリポジトリにおいて前記プリンタドライバを検索し、前記プリンタドライバを前記ウェブ印刷サーバにインストールするステップをさらに有し、
前記ウェブ印刷サーバによりレンダリングされた印刷ジョブは、前記プリンタドライバを利用してレンダリングされた印刷ジョブである、請求項１５から１７までのうちの何れか１項に記載のコンピュータプログラム。
【請求項１９】
前記第三者のドライバリポジトリにおいて前記プリンタドライバを検索する際、
前記印刷機能に関する前記リクエストに対する応答から、前記印刷装置のモデル名及び電気電子技術者協会番号（IEEE−ID）の内の少なくとも１つを特定し、
前記モデル名及び前記IEEE−IDの内の前記少なくとも１つを、ドライバリクエストにより前記第三者のドライバリポジトリに送信する、請求項１８に記載のコンピュータプログラム。
【請求項２０】
前記文書データ及び前記印刷機能の情報を前記ウェブ印刷サーバへ送信するステップにおいて、前記文書データを暗号化されたフォーマットで送信する、請求項１５から１９までのうち何れか１項に記載のコンピュータプログラム。
【請求項２１】
前記ウェブ印刷サーバから受信した前記印刷ジョブを前記印刷装置へ転送するステップにおいて、前記印刷ジョブを暗号化されたフォーマットで転送する、請求項１７に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般にクライアント装置にリモート印刷サービスを提供することに関連し、特に、リモート印刷サービスに対して印刷装置用の装置固有の印刷オプションを設定することに関連する。
【背景技術】
【０００２】
印刷する環境において、印刷装置で文書を印刷する際、様々な印刷ジョブオプションが存在する。例えば、ユーザは、両面（duplex）、ホチキス留め（stapling）、並べ替え（sorting）、片面又は両面印刷等のような様々な印刷ジョブオプションを、印刷される文書に対して設定する。ユーザが様々な印刷ジョブオプションを選択した後、印刷される文書や、ユーザが選択した様々な印刷ジョブオプションに基づいて、印刷ジョブが生成される。生成された印刷ジョブは、以後、何らかの印刷可能な媒体の形式で印刷を行う印刷装置に送られる。
【０００３】
一般的には、印刷装置がクライアント装置にインストールされている場合、特定の印刷装置に利用可能な印刷オプションが設定される（すなわち、印刷装置に対するドライバがインストールされており、印刷機能ファイルがクライアントに保存されている。）。例えば、印刷ドライバがコンピュータにインストールされている場合、どの用紙トレイが利用可能であるか、各トレイ内の用紙サイズ、印刷装置のメモリ容量等のような様々な印刷装置の印刷オプションが、ユーザにより指定される。また、印刷装置の印刷機能ファイル（print  capabilities  file）は、後の利用に備えてコンピュータに保存される。印刷機能ファイルは、クライアント装置が、特定の印刷装置の印刷機能を首尾一貫して確実に特定できるようにする。
【０００４】
印刷装置用の印刷ジョブが、プリンタドライバ及び印刷機能ファイルを用いて以後に生成されると、印刷ジョブに関する様々な印刷オプションが、印刷装置に固有の装置コマンドに変換される。多くの場合、装置固有のコマンドは、印刷装置のモデル又は特定のベンダに固有である
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、印刷装置用に印刷ジョブが生成される場合において、ターゲットの印刷装置の印刷機能が未知であった場合、問題が生じる。例えば、クライアント装置が、印刷ジョブ生成プロセスを、ウェブ印刷サービスを行うサーバに転送できるようにする様々なウェブ印刷サービスが存在する。クライアント装置が、印刷ジョブのレンダリング（rendering）機能を備えていない場合や、パフォーマンスが簡易に限定されているために、妥当な時間内に印刷ジョブをクライアント装置にレンダリングできない場合、そのようなサービスが使用される。そのような場合、ウェブ印刷サービスを実行するサーバは、クライアントの印刷ジョブをレンダリングする。しかしながら場合によっては、ウェブ印刷サービスは、印刷ジョブに対する特定のターゲット印刷装置の完全な印刷機能を確実に又は適切に特定できないおそれがある。ウェブ印刷サービスを実行するサーバが、特定の印刷装置の実際の完全な印刷機能を取得するための印刷装置への直接的な接続を備えていなかった場合、問題が生じる。その場合、ウェブ印刷サービスは、一般的に利用可能な又は印刷装置のファミリ全体に共通する印刷オプション群を提示できるにすぎず、印刷ジョブを生成する際にウェブ印刷サービスの機能を制限してしまう。
【０００６】
本発明の課題は、多種多様な接続形態において印刷装置の印刷機能を確実に把握及び使用できるようにすることである。
【課題を解決するための手段】
【０００７】
一形態による方法は、
クライアント装置及びウェブ印刷サービス（WPS）を含む印刷システムにおいて印刷ジョブを印刷する方法であって、
印刷装置の印刷機能に関するリクエストを、前記クライアント装置から前記印刷装置へ送信し、
前記印刷機能の情報を含む印刷装置からの応答を前記クライアント装置において受信し、
文書データ及び前記印刷機能の情報を、前記クライアント装置から前記WPSへ送信し、
前記文書データ及び選択された一群の印刷機能に基づいて、前記WPSにおいて印刷ジョブをレンダリングし、
前記印刷ジョブを前記印刷装置に提供し、
前記印刷ジョブを前記印刷装置において印刷するステップ
を有する方法である。
【図面の簡単な説明】
【０００８】
【図１】多種多様なコネクション形態を介して印刷装置の印刷機能を確実に取得及び利用する開示される特徴及び形態による印刷システム例のブロック図。
【図２】多種多様なコネクション形態を介して印刷装置の印刷機能を確実に取得及び利用する開示される特徴及び形態による通信処理フロー例を示す図。
【図３】多種多様なコネクション形態を介して印刷装置の印刷機能を確実に取得及び利用する開示される特徴及び形態による方法例のフローチャート。
【図４】図３の方法のさらなる詳細を示すフローチャート例。
【図５】図３の方法のさらなる詳細を示すフローチャート例。
【図６】多種多様なコネクション形態を介して印刷装置の印刷機能を確実に取得及び利用する開示される特徴及び形態によるコンピュータ装置例のブロック図。
【発明を実施するための形態】
【０００９】
本発明は上記及び他の問題を解決し、多種多様な接続形態において印刷装置の印刷機能を、リモート印刷サービスが確実に把握及び使用できるようにするシステム及び方法を提供することで、最先端の技術をさらに進展させる。
【００１０】
一形態によれば、印刷システムにおいて印刷ジョブを印刷する方法が提供され、印刷システムは、クライアント装置及びウェブ印刷サービスを含む。本方法によれば、印刷装置の印刷機能に関するリクエストが、クライアント装置から印刷装置へ送信される。印刷装置からの応答はクライアント装置において受信され、その応答は印刷機能の情報を含んでいる。文書データ及び印刷機能（情報）は、クライアント装置からウェブ印刷サービスへ送信される。印刷ジョブは、文書データ及び印刷機能に基づいて、ウェブ印刷サービスにおいてレンダリングされる。印刷ジョブは印刷装置に提供され、その後に印刷される。
【００１１】
別の形態によれば、印刷システムが提供される。印刷システムは、ウェブ印刷サーバ、及びウェブ印刷サーバに結合されたクライアント装置を含む。クライアント装置は、印刷装置の印刷機能に関するリクエストを印刷装置に送信するよう機能する。クライアント装置は、印刷装置の印刷機能に関する応答を印刷装置から受信するように機能する。クライアント装置は、文書データ及び印刷機能（情報）をウェブ印刷サーバに送信するように機能する。ウェブ印刷サーバは、文書データ及び印刷機能に基づいて、印刷装置の印刷ジョブをレンダリングし、印刷装置における以後の印刷に備えて印刷ジョブを印刷装置に提供するように機能する。
【００１２】
図中、同様な参照番号は同じ又は同種の要素を示す。
【実施例１】
【００１３】
図１ないし６及び以下の説明は、本発明の製造及び使用法を当業者に説明するために、本発明の特定の実施例を示す。この目的のため、本発明における通常の部分は簡略化又は省略されている。当業者は、それらの実施例から、本発明の範囲内に該当する適切な変形例を認めるであろう。当業者は、以下に説明する特徴が様々な仕方で結合され、本発明の様々な変形例をもたらすことを認めるであろう。したがって、本発明は説明される以下の特定の実施例に限定されるものではなく、特許請求の範囲及び均等物によってのみ規定される。
【００１４】
図１は、ウェブ印刷サーバにより印刷ジョブをレンダリングする際に、印刷装置の印刷機能を使用する開示される特徴及び形態による印刷システム例100のブロック図である。
【００１５】
印刷システム100は、クライアント装置102及びウェブ印刷サーバ106を含む。一実施例において、印刷装置100は、さらに、通信ゲートウェイ120及び印刷装置104を含む。印刷システム100は特定の複数の要素を利用するように示されているが、当業者は、印刷システム100が設計事項にしたがってより多い又はより少ない要素を含んでよいことを認識するであろう。さらに、印刷システム100は、本願により開示される機能を実行するために、回路、プログラマブル論理装置、プロセッサ、メモリ装置、印刷装置、クライアント装置及びウェブ印刷サーバ等をいくつでも含んでよいことを、当業者は理解するであろう。
【００１６】
印刷システム100において、クライアント装置102は、印刷装置104から印刷機能（情報）を取得し、印刷機能情報をウェブ印刷サーバ106に提供する。印刷機能情報112を取得した後、ウェブ印刷サーバ106は、印刷装置104のために印刷ジョブをレンダリングする際に、印刷機能情報を使用する。クライアント装置102は、ウェブ印刷サーバ106及び印刷装置104間の仲介手段として機能するので、異なる接続形態（トポロジ）に起因する問題が軽減される。例えば、印刷装置104及びウェブ印刷サーバ106間の単独の経路（パス）140は、存在しない。すなわち、ウェブ印刷サーバ106及び印刷装置104の間に通信経路は存在せず、印刷装置104のために印刷ジョブをレンダリングする際、特定の印刷装置104の実際の完全な印刷機能（情報）を確実に取得及び利用できる。
【００１７】
クライアント装置102は、印刷装置104及びウェブ印刷サーバ106と通信する任意の装置を含んでよい。クライアント装置102は、パーソナルディジタルアシスタント（PDA）、移動電話及び／又はネットワークによる電話、形態コンピュータ等のような多数の装置104を含む。例えば、ディスプレイ118は、印刷の前に印刷装置104の様々な印刷オプションを表示するインターフェースをユーザ（図示せず）に提供する。図１において、クライアント装置102は、様々な方法で印刷装置104と結合されてもよい。一例として、単独の経路で接続されてもよい。単独の経路128は、クライアント装置102及び印刷装置104間の直接的な接続を含む印刷システムにおける選択的な例である。単独の経路128は、配線された接続（例えば、USB、並列的な接続、又は直列的な接続）又は無線接続（例えば、802．11、ブルートゥース）等を含む。他の実施例において、クライアント装置102は、第１のネットワーク108及びネットワーク接続130、132を介して印刷装置104に結合される。同様に、ネットワーク接続130、132は有線でも無線でもよい。
【００１８】
クライアント装置102は、様々な方法でウェブ印刷サーバ106と結合され得る。一例として、クライアント装置102は、単独の経路138を介して第２のネットワーク122に結合される。一実施例では、通信ゲートウェイ120を介する第２のネットワーク122及び第１のネットワーク108間の通信経路が含まれる。ネットワーク接続130と同様に、第１のネットワーク108及びゲートウェイ120間のネットワーク接続134は、有線接続でもよいし、無線接続でもよい。同様に、第２のネットワーク122及びゲートウェイ120間のネットワーク接続136も、有線でも無線でもよい。
【００１９】
印刷システムの印刷装置104は、印刷ジョブを印刷する任意の装置を含み、例えば、プリンタ、ネットワークにより動作するコピー機、複合機等を含む。印刷装置104は印刷機能（印刷機能部及び印刷機能の情報）112をさらに含む。印刷機能112は、印刷装置104のコンフィギュレーションメモリ110内にあってもよい。印刷機能112は、印刷装置104の様々な印刷コンフィギュレーション情報を含み、例えば、印刷装置104の様々な用紙トレイを利用して印刷に利用できる用紙のタイプ及び枚数、様々な仕上げオプション（両面、ステープリング、ソーティング等）等を含む。印刷機能112は印刷装置104に関する情報をさらに含んでもよく、例えば、印刷装置104の中で印刷ジョブを処理するのに利用可能なメモリ量、印刷ジョブの印刷に利用可能なトナーやカラーカートリッジの量及びタイプ、印刷ジョブの印刷に利用可能な解像度、モデル名、電気電子技術者ID（IEEE−ID）、印刷装置104がサポートしているページ記述言語（PDL）のタイプ等を含む。印刷装置104は印刷エンジン114をさらに含む。印刷エンジン114は印刷データを印刷可能な媒体に転送する任意の装置でもよく、例えば、感熱ヘッド、レーザ印刷エンジン、インクジェット液滴システム等でもよい。
【００２０】
ウェブ印刷サーバ106は、クライアント装置102から文書データを受信し、文書データを、印刷装置104における印刷用の印刷ジョブにレンダリングする任意の装置を含む。ウェブサーバ106は、ネットワーク接続142を介して第２のネットワーク122に結合されている。一実施例において、ウェブサーバ106は、ウェブによる印刷のためのウェブアプリケーションサービス（WAS：Web  Application  Service）を使用するコンピュータを含む。別の実施例において、ウェブ印刷サーバ106は、装置内に常駐してもよいし、公のインターネットプロトコル（IP）アドレスを利用してインターネット上でアクセス可能でもよい。ウェブ印刷サーバ106は、レンダリングエンジン126をさらに含む。レンダリングエンジン126は、例えば、文書でデータ及び印刷オプションを処理し、印刷装置104用の印刷ジョブを生成する。
【００２１】
ウェブ印刷サーバ106は、様々な方法で印刷装置104に結合されてもよい。一例として、第２のネットワーク122及び選択的な信号経路140を利用した直接的な接続が含まれていてもよい。例えば、印刷装置104が公のIPアドレスを有し、第２のネットワーク122がインターネットでもよい。そして、ウェブ印刷サーバ106は、信号経路140を介して直接的に、印刷ジョブをレンダリングし、印刷装置104に提供する。別の実施例では、ゲートウェイ120を介して第１のネットワーク108に結合する。例えば、通信ゲートウェイ120は、レンダリングされた印刷ジョブを、ウェブ印刷サーバ106から印刷装置104へ転送する。さらに別の実施例では、クライアント装置102を、ウェブ印刷サーバ106に対する仲介手段的な印刷ジョブハンドラとして使用する。例えば、ウェブ印刷サーバ106は、（選択的なシグナリング経路138を利用して、又はゲートウェイ120を介して）レンダリングされた印刷ジョブをクライアント装置102へ送信する。そして、クライアント装置102は、印刷ジョブを印刷装置104へ転送する。
【００２２】
上述したように、クライアント装置102は、ウェブ印刷サーバ106を利用して、印刷装置104において文書を印刷することを希望しているかもしれない。クライアント装置102は、クライアント装置102のディスプレイ118により、文書データに対する印刷データを事前閲覧（プレビュー）することを希望しているかもしれない。いずれにせよ、クライアント装置102は、様々な理由により、この機能を備えたウェブ印刷サーバ106を利用する。理由の１つは、クライアント装置102が、印刷装置104における文書データを印刷することに関し、限られた機能しか備えていないことである。そのように限られた機能しか備えていないことについては、例えば、印刷ドライバがインストールされていないこと、印刷ジョブを生成する適切なレンダリングエンジンが備わっていないこと、印刷装置104において文書データを印刷するのに適していないこと等が挙げられる。
【００２３】
ウェブ印刷サーバ106がクライアント装置の文書データを印刷ジョブにレンダリングし、印刷装置104用の印刷ジョブを生成した場合、印刷機能112が使用される。例えば、クライアント装置102のユーザは、（ステープリング、デュプレクシング、ソーティング、使用される用紙サイズ、印刷装置104の特定の印刷機能に基づく他のオプション等のような）様々な印刷ジョブオプションを含めることを希望するかもしれない。場合によっては、ウェブ印刷サーバ106は、印刷機能112に対するアクセス権を所有していないかもしれない。例えば、印刷装置104が第１のネットワーク108内にあり、第１のネットワークは、印刷機能112を、（例えば、選択的な信号経路140が利用可能でない場合）ウェブ印刷サーバ106にとってアクセスできないようにしているかもしれない。別の場合として、ウェブ印刷サーバ106は、印刷装置104にアクセスするが、印刷装置104から直接的に印刷機能情報112を抽出するプロトコルにアクセスできないかもしれない。例えば、通信ゲートウェイ120は、ウェブ印刷サーバ106及び印刷装置104の間で、例えば印刷ポートのような制約されたタイプの通信しか許可せず、（例えば、印刷装置104に対する印刷機能112についての問い合わせのような）他のタイプの通信リクエストを許可しないかもしれない。ウェブ印刷サーバ106は印刷装置104の印刷機能112に対するアクセス権を持っていないので、ウェブ印刷サーバ106及び印刷装置104の間の接続によらずに印刷装置104に対する印刷ジョブをレンダリングする場合、ウェブ印刷サーバ106は、印刷機能112を確実に取得及び利用することができないおそれがある。
【００２４】
この問題に対処するため、クライアント装置102は、ウェブ印刷サーバ106及び印刷装置104間の仲介代理人（仲介エージェント）として機能する。この機能により、クライアント装置102は、印刷機能112に対するリクエストを印刷装置104に送信する。印刷装置104から印刷機能情報112を受信したことに応答して、クライアント装置102は、印刷機能情報112をウェブ印刷サーバ106に送信する。そして、ウェブ印刷サーバ106は、文書データ及び印刷ジョブオプションを利用して印刷ジョブをレンダリングし、その後に印刷ジョブを印刷する印刷装置104に提供する。クライアント装置102がこの機能を実行することで、印刷装置104用に印刷ジョブをレンダリングする場合、印刷機能情報112はウェブ印刷サーバ106により確実に取得及び使用される。
【００２５】
図２は、多種多様なコネクション形態を介して印刷装置104の印刷機能112を確実に取得及び利用する開示される特徴及び形態による、図１の印刷システム100の装置間における通信及び処理フロー200の一例を示す。図２に示される通信は、具体的な設計事項に依存して、より多くの又はより少ない通信ステップ及び／又はプロセスを含んでもよい。さらに、何らかの通信及び／又は処理ステップは、図２に示されているものとは異なるシーケンスで行われてもよいことを、当業者は理解するであろう。
【００２６】
図２の通信及び処理フロー200は、印刷システム100の第１のネットワーク内の印刷装置104を識別するために、クライアント装置102がデバイスディスカバリリクエスト（装置発見用メッセージ）をどのように送信するかを示す（204）。例えば、クライアント装置102は、プリンタディスカバリに関する多数のプロトコルを送信又はブロードキャストしてもよい（そのようなプロトコルは、例えば、シンプルネットワークマネジメントプロトコル（SNMP）、ウェブサービスディスカバリ（WS−discovery）、ボンジュール（Bonjour）、シンプルサービスディスカバリプロトコル（SSDP）、及び／又はサービスロケーションプロトコル（SLP）等である）。当業者は、プリンタの発見に関する多数の方法が存在し、当該技術分野において知られていることを認めるであろう。
【００２７】
デバイスディスカバリリクエストの送信（204）に応答して、クライアント装置102は、第１のネットワーク108内の１つ以上の印刷装置から１つ以上のディスカバリレスポンスを受信する（206）。そのようなディスカバリレスポンスの１つは、印刷装置104を特定する。クライアント装置102は、印刷機能情報112を求めるリクエストを印刷装置104に送信する（208）。印刷装置104は、例えば、印刷機能情報112を抽出するためにコンフィギュレーションメモリ110を読み取り、印刷機能情報112を応答としてクライアント装置102に送信する（210）。当業者は、様々なメッセージングプロトコルを利用して、印刷装置104からの印刷機能情報112を復元できることを認めるであろう。そのようなプロトコルは、例えば、標準的な又はプライベートな管理情報（MIB：Management  Information  Base）を利用するSNMPリクエスト、ウェブサービス印刷（WS−print）リクエスト、又は他のタイプのプロトコル等を含む。さらに、クライアント装置102は、印刷装置104がポストスクリプト又はプリンタ制御言語（PCL）のような特定のPDLをサポートしていることを確認する。
【００２８】
クライアント装置102が印刷装置104から印刷機能情報112を受信したことに応答して、クライアント装置102は、印刷機能情報112をウェブ印刷サーバ106に送信する。さらに、クライアント装置102は、文書データをウェブ印刷サーバ106に送信する（212）。印刷機能情報112及び文書データをウェブ印刷サーバ106に送信する場合、クライアント装置102は、図１の暗号化／解読モジュール116を利用して、クライアント装置102及びウェブ印刷サーバ106間で送信されるデータの全部又は一部を暗号化する。ウェブ印刷サーバ106は、インターネットのような公のネットワーク内にあるので、データをウェブ印刷サーバ106に送信する際、クライアント装置102のユーザは重要な文書データを保護することを希望するかもしれない。そのような場合、ウェブ印刷サーバ106は、図１の自身の暗号化／解読モジュール124を利用して、クライアント装置102から受信した文書データ及び／又は印刷機能情報112を解読する。アドバンスト暗号化スタンダード（AES）実現手段、データ暗号化スタンダード（DES）実現手段、及び／又はセキュアソケットレイヤ（SSL）実現手段などを含むデータを暗号化及び解読する様々な選択肢が存在することを、当業者は認めるであろう。
【００２９】
ウェブ印刷サーバ106がクライアント装置102から印刷機能情報112を受信したことに応答して、ウェブ印刷サーバ106は、印刷装置104の印刷ドライバ214を特定する。例えば、ウェブ印刷サーバ106は、印刷装置104の印刷機能情報112から抽出した印刷装置に対するモデル名及び／又はIEEE−IDを利用してもよい。場合によっては、印刷装置104の印刷ドライバがウェブ印刷サーバ106に既にインストールされているかもしれない。例えば、クライアント装置102は、印刷装置104で印刷する文書データをレンダリングするために過去に使用したウェブ印刷サーバ106の情報を既に有するかもしれない。あるいは、ウェブサーバ106は、印刷装置104にインストールされた印刷ドライバを備えていないかもしれない。その場合、ウェブサーバ106は、ドライバリクエスト（ドライバを要求するメッセージ）を第三者のドライバリポジトリ202に送信する。第三者のドライバリポジトリ202は、例えば、インターネットにおけるリモードWASであってもよいし、あるいはウェブ印刷サーバ106が利用可能なローカルな及び／又はリモートのデータベースでもよい。第三者のドライバリポジトリ202の具体例は、www.opendriver.org、www.opendrivers.com及びoperating.comを含むことに加えて、www.richo.comのようなベンダ固有のサイトを含んでもよい。
【００３０】
ウェブ印刷サーバ106がドライバリクエスト（216）を送信する前に、印刷サーバ106は、印刷装置104のIEEE−ID及び／又はモデル名を、第三者のドライバリポジトリ202が理解可能なフォーマットに変換してもよい。例えば、ウェブ印刷サーバ106は、印刷装置104のモデル名を「foomatic  id」フォーマットに変換してもよい。「foomatic  Id」フォーマットは、プリンタドライバを特定する際に、例えばリナックスファンデーション（Linux  Foundation）のような様々なドライバリポジトリにより使用されている。
【００３１】
ウェブ印刷サーバ106は第三者のドライバリポジトリ202と通信する際に様々なプロトコルを利用してもよく、例えば、SNMP、TCP（送信制御プロトコル）、UDP（ユーザデータグラムプロトコル）、FTP（ファイル転送プロトコル）、第三者のドライバリポジトリ202が理解可能なその他のプロトコルを設計内容に依存して使用してもよい。
【００３２】
ドライバリクエスト（216）に応答して、第三者のドライバリポジトリ202は、（印刷装置104に対応する）印刷ドライバ218を特定し、それをウェブ印刷サーバ106に送信する。ウェブ印刷サーバ106は、その後に、受信した印刷ドライバ104をインストールする（220）。一実施例において、ウェブ印刷サーバ106は、印刷ジョブオプションのフォーム（形式）222をクライアント装置102に送信する。印刷ジョブオプションフォーム222は、例えば、クライアント装置102のユーザが、印刷装置104の一群の印刷ジョブオプション（選択肢）を選択できるようにする。印刷ジョブオプションは選択された一群の印刷機能情報112を含み、その選択された一群の印刷機能群は、クライアント装置102により過去に特定され、そしてウェブ印刷サーバ106に送信されたものである。印刷装置104の印刷機能情報112を利用することで、ウェブサーバ106は、印刷装置104に固有の印刷ジョブオプションフォーム222における特定の印刷ジョブオプションを提供する。例えば、多数の印刷装置がウェブ印刷サーバ106にとって印刷に利用可能であり、それら各々の印刷装置は、用紙のタイプ、利用可能なメモリ容量、サポートしているPDL言語等のような様々な印刷機能情報を使用する。さらに、幾つかの機能は印刷システムのファミリにおいて一般的に利用可能であるが、装置機能情報112から生成されたフォームは、特定の印刷装置104にとって固有である。
【００３３】
印刷ジョブオプションフォーム222を受信したことに応答して、クライアント装置102のユーザは、ディスプレイ118を利用して、１つ以上の印刷ジョブオプションを選択する（224）。クライアント装置102は、印刷ジョブのレンダリング（228）に使用する印刷ジョブオプションをウェブ印刷サーバ106に送信する（226）。ウェブ印刷サーバ106は、受信した印刷ジョブオプションを利用して、文書データから印刷ジョブをレンダリングする（228）。印刷ジョブのレンダリング後に、ウェブ印刷サーバ106は、印刷ジョブを印刷装置104に提供する。印刷ジョブの提供は、使用されている接続トポロジに基づいて様々な方法により行われ得る。例えば、ウェブ印刷サーバ106及び印刷装置104の間に通信経路が存在する場合、ウェブ印刷サーバ106は、通信ゲートウェイ120を利用して（あるいは、選択的な信号経路を利用して）、印刷ジョブを印刷装置104に直接的に提供してもよい。また、例えば、印刷サーバ106及び印刷装置104の間に通信経路がなかった場合、ウェブ印刷サーバ106は、ゲートウェイ120を介して（又は選択的な信号経路138を介して）印刷ジョブをクライアント装置102に送信してもよい。クライアント装置102が印刷ジョブを受信した後、クライアント装置102は、第１のネトワーク108を介して（又は選択的な威信合経路128を介して）印刷ジョブを印刷装置104に転送する（234）。印刷装置104が印刷ジョブを受信した後、印刷装置104は印刷エンジン114を使用して印刷ジョブを印刷する（236）。
【００３４】
図３は、多種多様なコネクション形態を介して印刷装置の印刷機能を確実に取得及び利用する開示される特徴及び形態による方法例300のフローチャートを示す。方法300のステップ302は、印刷装置の印刷機能情報を求めるリクエストをクライアント装置から印刷装置へ送信することを含む。例えば、クライアント装置は、印刷装置各々に関連する印刷機能の情報を求めるリクエストを1つ以上のプリンタに送信する。図１の印刷システム100及び図２の通信処理フロー200に関連して既に言及したように、リクエストはSNMP及びWS−Printのような特定のプロトコルを利用してなされてもよい。
【００３５】
ステップ304は、クライアント装置が印刷装置から印刷機能情報を受信することを含む。印刷機能情報は、用紙タイプ、プリンタのメモリ量等のような上述の任意のプリンタ固有の機能情報を含んでもよい。
【００３６】
ステップ306は、文書データ及び印刷機能情報をウェブ印刷サービスへクライアント装置から送信することを含む。上述したように、あるサーバが、クライアント装置が使用するためのウェブ印刷サービスを提供してもよい。文書データ及び／又は印刷機能情報は、クライアント装置からウェブ印刷サービスへの送信前に、セキュリティの目的に応じて暗号化されてもよい。場合によっては、文書データ及び印刷機能情報は、ウェブ印刷サービスへ別々に送信されてもよい。
【００３７】
ステップ308は、文書データ及び様々な印刷ジョブオプション（選択された一群の印刷機能群）に基づいて、ウェブ印刷サービスを用いて印刷ジョブをレンダリングすることを含む。ステップ308は、ウェブ印刷サービスが、文書データ及び／又は印刷機能情報をレンダリング前に解読することを含む。
【００３８】
ステップ310は、ウェブ印刷サービスが、印刷ジョブを印刷装置に提供することを含む。上述したように、場合によっては、ウェブ印刷サービスは、印刷ジョブを印刷装置へ直接的に提供してもよい。あるいは、ウェブ印刷サービスは印刷ジョブをクライアント装置へ送信してもよい。印刷ジョブをクライアント装置へ送信する場合、ウェブ印刷サービスは印刷ジョブを暗号化してもよい。印刷ジョブを受信した後、クライアント装置は、（必要に応じて）印刷ジョブを解読（暗号化を解除）し、印刷ジョブを、印刷する印刷装置へ転送する。ステップ312は、印刷ジョブを印刷装置において印刷することを含む。
【００３９】
図４は、図３の方法のさらなる詳細を示すフローチャート例である。図４のステップ402は、ウェブ印刷サービスが、印刷ドライバはインストールされているか否かを判定することを含む。ウェブ印刷サービスが図３のステップ306の印刷機能情報を受信した後、ウェブ印刷サービスは、印刷機能情報が指定しているように印刷ドライバが印刷装置用にインストールされているか否かを確認しようとする。上述したように、印刷機能情報は、印刷装置のIEEE−ID及び／又はモデル名を含んでいてもよい。印刷ドライバがインストールされていたならば、ステップ408が以下に説明されるように実行される。
【００４０】
ステップ404は、ウェブ印刷サービスが第三者のドライバリポジトリから印刷ドライバを受信することを含む。上述したように、印刷ドライバの受信は、印刷装置のモデル名及び／又はIEEE−IDを送信することを含み、そして、印刷装置のモデル名及び／又はIEEE−IDを、第三者のドライバリポジトリが理解できるフォーマットに変換することを含む。
【００４１】
ステップ406は、ウェブ印刷サービスが、取得した印刷ドライバをウェブ印刷サービス内にインストールすることを含む。ステップ408は、インストールされたプリンタドライバを利用して印刷ジョブをレンダリングする。
【００４２】
図５は、図３の方法のさらなる詳細を示すフローチャート例である。ステップ502は、クライアント装置からウェブ印刷サービスへ印刷機能情報を送信することを含む。印刷機能情報を受信した後、ウェブ印刷サービスは、印刷機能情報から印刷ジョブオプションフォームを生成する。印刷ジョブオプションフォームは、ウェブ印刷サービスが過去に受信した印刷機能情報に対応する特定の印刷装置が利用可能な様々な印刷ジョブオプションを含む。
【００４３】
ステップ504は、クライアント装置が、ウェブ印刷サービスから印刷ジョブオプションを受信することを含む。ステップ506は、クライアント装置の中で、様々な印刷ジョブオプションを、印刷ジョブオプションフォームから選択することを含む。クライアント装置は印刷ジョブオプションフォームを受信し、それをユーザに表示する。そして、ユーザは、ユーザの好みに応じて、選択された印刷装置に対する特定の印刷ジョブオプションを選択する。例えば、ユーザは、印刷装置により台帳サイズの用紙（ledger  sized  paper）の両面に文書データを印刷することを希望するかもしれないし、あるいは印刷装置の他の印刷機能を選択するかもしれない。
【００４４】
ステップ508は、クライアント装置からウェブ印刷サービスへ、印刷ジョブオプション及び文書データを送信する。ステップ510は、選択された印刷ジョブオプション及び文書データに基づいて、印刷ジョブをレンダリングすることを含む。
【００４５】
図３−５は、本願により開示される発明をどのように使用及び作成するかを当業者に教示するために、方法例及び付随する詳細を記述している。当業者は、図３−５に示されているステップが、設計内容に応じて様々な方法で拡張又は組み合わせられてもよいことを理解するであろう。図３−５に示されるステップは、処理システムにより実行可能なプログラム可能な命令として実現されてもよいし、プログラム可能な論理装置として実現されてもよいし、図１の印刷システム100のような様々な実施例により実現されてもよいし、本願の印刷システム100に関して開示した機能を実行可能な他の印刷システムにより実現されてもよいことを、当業者は理解するであろう。
【００４６】
本発明の実施例は、完全なハードウェア（すなわち、回路）の形式で実現されてもよいし、完全なソフトウェアで実現されてもよいし、ハードウェア及びソフトウェア双方を含む形式で実現されてもよい。一実施例において、本発明はソフトウェアにより実現され、そのソフトウェアはファームウェア、常駐ソフトウェア、マイクロコード等を含むが、これらに限定されない。
【００４７】
図６は、コンピュータ読取可能な記憶媒体612に保存されたプログラム命令を実行しデータにアクセスすることで、本願による特徴及び形態をもたらすように構築されたサーバのようなコンピュータ装置600を示すブロック図である。
【００４８】
さらに、本発明の実施例は、コンピュータが利用可能な又はコンピュータが読取可能な媒体612によりアクセス可能なコンピュータプログラムプロダクトの形式をとってもよく、これらは、コンピュータ又は任意の命令実行システムにより又はそれに関連して使用されるプログラムコードを提供する。本願において、コンピュータが利用可能な又はコンピュータが読取可能な媒体は、コンピュータ、命令実行システム、装置、又は機器により又はこれらに関連して使用されるプログラムを、包含、保存、通信、伝送又は転送することが可能な任意の装置でもよい。
【００４９】
媒体（medium）は、電子的な、磁気的な、光学的な、電磁的な、赤外線による又は半導体によるシステム（又は装置若しくは機器）でもよい。コンピュータ読取可能な媒体の具体例は、半導体若しくはソリッドステートメモリ、磁気テープ、取り外し可能なコンピュータディスケット、ランダムアクセスメモリ（RAM）、リードオンリメモリ（ROM）、固定磁気ディスク（rigid  magnetic  disk）及び光ディスク等である。現在の光ディスクの具体例は、コンパクトディスク−リードオンリメモリ（CD−ROM）、コンパクトディスク−リード／ライト（CD−R／W）及びDVD等である。
【００５０】
プログラムコードを保存及び／又は実行するのに適したコンピュータ装置600は、システムバス650を介してメモリ要素604に直接的に又は間接的に結合された少なくとも１つのプロセッサ602を含む。メモリ要素604は、プログラムコードの実際の実行中に使用されるローカルメモリ、大容量ストレージ及びキャッシュメモリを含んでもよい。キャッシュメモリは、少なくとも一部のプログラム命令の一時的なストレージを提供し、実行中に大容量メモリからコードを抽出しなければならない回数を減らす。
【００５１】
以上特定の実施例が説明されてきたが、本発明の範囲はそれらの特定の実施例に制限されない。本発明の範囲は特許請求の範囲及び均等物によって規定される。
【符号の説明】
【００５２】
100  印刷システム例
102  クライアント装置
104  印刷装置
106  ウェブ印刷サーバ
108  第１のネットワーク
110  コンフィギュレーションメモリ
112  印刷機能
114  印刷エンジン
116  暗号化／解読モジュール
118  ディスプレイ
120  通信ゲートウェイ
122  第２のネットワーク
124  暗号化／解読モジュール
126  レンダリングエンジン
128、138、140  信号経路
130、132、134、136  ネットワーク接続
202  第三者のドライバリポジトリ
600  コンピュータ装置
602  プロセッサ
604  プログラム・データメモリ
606  I／Oデバイスインターフェース
608  ホストシステムインターフェース
612  ストレージ媒体
650  システムバス
【図１】
0005614160.tif 000002
【図２】
0005614160.tif 000003
【図３】
0005614160.tif 000004
【図４】
0005614160.tif 000005
【図５】
0005614160.tif 000006
【図６】
0005614160.tif 000007