(57)【要約】【課題】様々な画像処理要件を満たすように自動的に拡張可能な画像処理装置ドライバを備えたクライアント装置を提供する。【解決手段】クライアント装置は、様々な画像処理の要件を満たすように自動的に拡張可能な画像処理装置ドライバを有する。画像処理ジョブが開始されると、この装置ドライバは、ターゲット画像処理装置に問い合わせ、機能セットを識別し、ローカルにサポートされる機能セットにおいて機能の識別を行う。そして、装置ドライバは、１以上の遠隔サーバー装置に問い合わせ、機能セットの内のローカルにサポートされていない機能を装置ドライバがサポートすることを可能とする１以上のプラグインを識別し、ユーザーからの許可（ライセンス条件への合意等）を得て、プラグインをダウンロードし、記憶する。【選択図】図１
2010098732.tif 000002
【特許請求の範囲】
【請求項１】
拡張可能な画像処理装置ドライバを自動的に適合させる方法であって、
ターゲット画像処理装置に問い合わせを行う工程と、
前記ターゲット画像処理装置から受け取った問い合わせ応答に基づき機能セットを識別する工程と、
前記画像処理装置ドライバを使用して前記機能セット内のローカルにサポートされる１以上の機能を識別する工程と、
１以上の遠隔サーバー装置に問い合わせを行う工程と、
前記遠隔サーバー装置から受け取った１以上の問い合わせ応答に基づき、前記画像処理装置ドライバが前記機能セット内の追加機能をローカルにサポートできるようにする１以上のプラグインを識別する工程と、
前記プラグインをダウンロードする工程と、
前記プラグインをローカルに記憶する工程とを有することを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記機能セットは、前記ターゲット画像処理装置のための完全な機能セットであることを特徴とする方法。
【請求項３】
請求項１に記載の方法において、前記画像処理装置ドライバが装置ドライバコアを備え、且つ、前記画像処理装置ドライバを使用して前記機能セット内のローカルにサポートされる１以上の機能を識別する工程が、前記装置ドライバコアが元々サポートする１以上の機能及び前記装置ドライバコアによって呼び出されたプラグインを使用することによってサポートされる１以上の機能を識別することを含むことを特徴とする方法。
【請求項４】
請求項１に記載の方法において、インターネットを介して前記遠隔サーバー装置へ問い合わせることを特徴とする方法。
【請求項５】
請求項１に記載の方法において、セルラーネットワークを介して前記遠隔サーバー装置へ問い合わせることを特徴とする方法。
【請求項６】
請求項１に記載の方法において、前記画像処理装置ドライバが装置ドライバコアを有し、
前記方法は、更に、
前記遠隔サーバー装置から受け取った１以上の問い合わせ応答に基づき、前記装置ドライバコアを更新する１以上の更新プラグインを識別する工程と、
前記更新プラグインをダウンロードする工程と、
前記更新プラグインを記憶する工程とを有することを特徴とする方法。
【請求項７】
請求項１に記載の方法において、前記画像処理装置ドライバが装置ドライバコアを有し、
前記方法は、更に、
前記遠隔サーバー装置から受け取った１以上の問い合わせ応答に基づき、前記装置ドライバコアによって呼び出すプラグインを更新する１以上の更新プラグインを識別する工程と、
前記更新プラグインをダウンロードする工程と、
前記更新プラグインを記憶する工程とを含むことを特徴とする方法。
【請求項８】
請求項１に記載の方法において、前記プラグインに関する情報をユーザーへ表示し、前記プラグインをダウンロードするために前記ユーザーから取得指示を得る工程を含むことを特徴とする方法。
【請求項９】
請求項８に記載の方法において、前記表示されたプラグインに関する情報が、ライセンス条件を含むことを特徴とする方法。
【請求項１０】
請求項８に記載の方法において、前記表示されたプラグインに関する情報は、１以上のプラグインにより前記画像処理装置ドライバが前記機能セット内の機能をローカルにサポートすることが可能とされる範囲を示す情報であることを特徴とする方法。
【請求項１１】
請求項１に記載の方法において、前記記憶されたプラグイン及び前記画像処理装置ドライバは、クライアント装置に配置されることを特徴とする方法。
【請求項１２】
請求項９に記載の方法において、前記プラグインは、前記ライセンス条件の期限が切れるまでの期間中、動作することを特徴とする方法。
【請求項１３】
請求項９に記載の方法において、前記プラグインは、前記ライセンス条件の利用回数内で、動作することを特徴とする方法。
【請求項１４】
請求項１に記載の方法において、前記プラグインは、ユーザーインターフェース記述を備えることを特徴とする方法。
【請求項１５】
クライアント装置であって、
プロセッサと、
前記プロセッサと通信可能に接続された通信インターフェースとを備え、
前記プロセッサの制御により前記クライアント装置は、前記通信インターフェースを介して、ターゲット画像処理装置へ問い合わせをし、前記通信インターフェースを介し前記ターゲット画像処理装置から受け取った問い合わせ応答に基づき機能セットを識別し、前記機能セット内のローカルにサポートされる１以上の機能を識別し、前記通信インターフェースを介して１以上の遠隔サーバー装置に問い合わせを行い、前記通信インターフェースを介して前記遠隔サーバー装置より受け取った１以上の問い合わせ応答に基づき、前記クライアント装置上の拡張可能な画像処理装置ドライバが前記機能セット内の追加機能をローカルでサポートできるようにする１以上のプラグインを識別し、前記プラグインをダウンロード及び記憶することを特徴とするクライアント装置。
【請求項１６】
請求項１５に記載の装置において、前記画像処理装置ドライバが装置ドライバコアを備え、前記プロセッサの制御により前記クライアント装置は、前記遠隔サーバー装置より受け取った１以上の問い合わせ応答に基づいて、前記装置ドライバコアを更新する１以上の更新プラグインを識別し、前記更新プラグインをダウンロード及び記憶することを特徴とする装置。
【請求項１７】
請求項１５に記載の装置において、前記画像処理装置ドライバが装置ドライバコアを備え、前記プロセッサの制御により前記クライアント装置は、前記遠隔サーバー装置より受け取った１以上の問い合わせ応答に基づき、前記装置ドライバコアにより呼び出す１以上のプラグインを更新する１以上の更新プラグインを識別し、前記プラグインをダウンロード及び記憶することを特徴とする装置。
【請求項１８】
請求項１５に記載の装置において、ユーザーインターフェースを更に備え、前記プロセッサの制御により前記クライアント装置は、ライセンス情報を含む前記プラグインに関する情報を前記ユーザーインターフェース上に表示し、前記ユーザーインターフェースを介してユーザーから前記プラグインをダウンロードする指示を得ることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置ドライバを備えたクライアント装置及びこのような装置ドライバを実施する方法に関し、より詳細には、様々な画像処理の要件を満たすように自動的に拡張可能な画像処理装置ドライバを備えたクライアント装置及びこのような装置ドライバを実際に機能させる方法に関する。
【背景技術】
【０００２】
従来、メーカーから販売される画像処理装置（例えば、印刷装置）の機種は、その機種特有の画像処理装置ドライバ（以下、単に装置ドライバともいう）と共に使用するように最適化されている。異なる画像処理装置の機種用に最適化された装置ドライバを使用して、別の画像処理装置を動作させようとすると、通常は全くうまくいかないか、予期せぬ結果をもたらしたり、又は画像処理装置の限定された機能しか動作させなかったりする。
【０００３】
機種特有の画像処理装置ドライバは、従来のコンピュータ環境においていくつかの問題を呈している。第１に、このような環境において異なる画像処理装置の機種が動作する場合、複数の装置ドライバを個別に管理（例えば、インストール、アップグレード、置き換え）する必要があった。第２に、そのような環境において一時的に動作する携帯型のクライアント装置は、どの装置ドライバが要求されるのか、またどのようにしてそれらを取得するのかを承知していなかった。第３に、そのような環境で動作するクライアント装置は、ワークフローの統合の機能などのオンデマンドの機能にアクセスすることが難しかった。
【０００４】
これに対して、例えば、特許文献１には、ＭＦＰ、ＰＣ、サーバーがネットワークを介して接続されており、ＰＣがＭＦＰ内の機能とプリンタドライバの機能との整合性を検出し、検出結果に応じてＭＦＰ又はサーバーからプラグインをダウンロードし、インストールを行うようにした技術が記載されている。
【０００５】
また、最近では、これらの問題のいくつかに対処するようなより柔軟性のある画像処理装置ドライバが販売されている。例えば、ヒューレット・パッカード社及びゼロックス社は多数の印刷装置用の事前に構成された「パーソナリティ」をサポートするユニバーサルプリンタドライバ（ＵＰＤ）を提供している。このようなＵＰＤを呼び出すと、ＵＰＤはターゲット印刷装置に機種や構成の情報の問い合わせを行い、その機種や構成に合ったパーソナリティを識別し、識別されたパーソナリティに基づいた機能セットをサポートするように自動的な適合をする。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００６−２６０３５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、このようなＵＰＤは、機種と構成が事前構成されたパーソナリティの１つと対応しない場合、機能のセットに自動的に適合することはできない。さらに、パーソナリティは事前構成されることから、ＵＰＤは構成の後にリリースされるパーソナリティへの更新を含むように自動的に適合することはできず、またオンデマンドの機能、例えばワークフローの統合の機能をサポートするように自動的に適合することはできない。また、このようなＵＰＤは一時的なライセンス機能、例えば加入制又は従量課金制のためのいずれの機構も、サポートしていない。
【０００８】
本発明は、上述のような実情に鑑みてなされたもので、基本的な特徴として、様々な画像処理要件を満たすように自動的に拡張可能な画像処理装置ドライバを備えたクライアント装置及びそのような装置ドライバを実際に機能させる方法を提供するものである。
より具体的には、画像処理ジョブが開始されると、拡張可能な装置ドライバはターゲット画像処理装置に問い合わせをし、機能セットを識別する。その後、装置ドライバはローカルでサポートされる機能セット内の機能を識別する。装置ドライバはまた１以上の遠隔サーバー装置へ問い合わせを行い、ローカルでサポートされていない機能セット内の機能を装置ドライバでサポートすることを可能とする１以上のプラグインを識別する。その後、装置ドライバは、ユーザーから権限を得て（例えば、ライセンス条件への合意）プラグインをダウンロードし、記憶をする。装置ドライバはまた、１以上の遠隔のサーバーに問い合わせを行い、装置ドライバコア及び以前にダウンロード及び記憶済みのプラグインに対する更新を識別、ダウンロード及び記憶する。
【課題を解決するための手段】
【０００９】
本発明の一態様では、拡張可能な画像処理装置ドライバを自動的に適合させる方法は、ターゲット画像処理装置に問い合わせを行う工程、前記ターゲット画像処理装置から受け取った問い合わせ応答に基づき機能セットを識別する工程、前記画像処理装置ドライバを使用して、ローカルでサポートされる前記機能セット内の１以上の機能を識別する工程、１以上の遠隔サーバー装置に問い合わせを行う工程、前記遠隔サーバー装置から受け取った１以上の問い合わせ応答に基づき、前記画像処理装置ドライバが前記機能セット内の追加機能をローカルでサポートできるようにする１以上のプラグインを識別する工程、プラグインをダウンロードする工程、及び前記プラグインをローカルに記憶する工程を有する。
【００１０】
いくつかの実施形態において、前記機能セットは前記ターゲット画像処理装置のための完全な機能セットである。
【００１１】
いくつかの実施形態において、前記画像処理装置ドライバを使用して、ローカルでサポートされる前記機能セット内の１以上の機能を識別する工程は、装置ドライバコアが元々サポートする１以上の機能及び前記装置ドライバコアによって呼び出されるプラグインを使用してサポートされる１以上の機能を識別する。
【００１２】
いくつかの実施形態において、前記遠隔サーバー装置はインターネットを介して問い合わされる。
【００１３】
いくつかの実施形態において、前記遠隔サーバー装置はセルラーネットワークを介して問い合わされる。
【００１４】
いくつかの実施形態において、前記方法は、前記遠隔サーバー装置から受け取った１以上の問い合わせ応答に基づき、装置ドライバコアを更新する１以上の更新プラグインを識別する工程、前記更新プラグインをダウンロードする工程、及び、前記更新プラグインを記憶する工程を更に備える。
【００１５】
いくつかの実施形態において、前記方法は、前記遠隔サーバー装置から受け取った１以上の問い合わせ応答に基づき、装置ドライバコアによって呼び出されるプラグインを更新する１以上の更新プラグインを識別する工程、前記更新プラグインをダウンロードする工程、前記更新プラグインを記憶する工程を更に備える。
【００１６】
いくつかの実施形態において、前記方法は、前記プラグインに関する情報をユーザーに表示し、前記プラグインをダウンロードするための前記ユーザーから取得指示を得る工程を更に備える。
【００１７】
いくつかの実施形態において、前記表示されたプラグインに関する情報は、ライセンス条件を含む。
【００１８】
いくつかの実施形態において、前記表示されたプラグインに関する情報は、１以上のプラグインにより前記画像処理装置ドライバが前記機能セット内の機能をローカルにサポートすることが可能な範囲を示す情報を含む。
【００１９】
いくつかの実施形態において、前記記憶されたプラグイン及び前記画像処理装置ドライバはクライアント装置に配置される。
【００２０】
いくつかの実施形態において、前記プラグインは前記ライセンス条件の期限が切れるまでの期間中、動作する。
【００２１】
いくつかの実施形態において、前記プラグインは前記ライセンス条件の利用回数内で、動作する。
【００２２】
いくつかの実施形態において、前記プラグインはユーザーインターフェース記述を備える。
【００２３】
本発明の別の態様では、クライアント装置は、プロセッサ、及び前記プロセッサと通信可能に接続された通信インターフェースを備え、前記プロセッサの制御により前記クライアント装置は、前記通信インターフェースを介して、ターゲット画像処理装置へ問い合わせをし、前記通信インターフェースを介し、前記ターゲット画像処理装置から受け取った問い合わせ応答に基づき機能セットを識別し、ローカルにサポートされる前記機能セット内の１以上の機能を識別し、前記通信インターフェースを介して１以上の遠隔サーバー装置に問い合わせを行い、前記通信インターフェースを介して前記遠隔サーバー装置より受け取った１以上の問い合わせ応答に基づき、前記クライアント装置上の拡張可能な画像処理装置ドライバが前記機能セット内の追加機能をローカルにサポートできるようにする１以上のプラグインを識別し、前記プラグインをダウンロード及び記憶する。
【発明の効果】
【００２４】
本発明によれば、様々な画像処理要件を満たすように自動的に拡張可能な画像処理装置ドライバを備えたクライアント装置及びそのような装置ドライバを実際に機能させる方法を提供することができる。
【００２５】
本発明の上記及びその他の態様は、以下に簡単に説明する図面と併せて、以下の詳細な説明により、さらに深く理解されるであろう。本発明は添付の特許請求の範囲により定義されることはもちろんである。
【図面の簡単な説明】
【００２６】
【図１】いくつかの実施形態における本発明が動作する通信システムを示す図である。
【図２】いくつかの実施形態における本発明が動作するクライアント装置を示す図である。
【図３】いくつかの実施形態における本発明が動作するソフトウェアの要素を示す図である。
【図４】本発明のいくつかの実施形態において、プラグインを含むように拡張可能な画像処理装置ドライバを自動的に適合させる方法を説明するためのフロー図である。
【図５】本発明のいくつかの実施形態において、レンダリングのための画像処理制御ユーザーインターフェース記述を選択する方法を説明するためのフロー図である。
【図６】本発明のいくつかの実施形態において、更新プラグインを含むように拡張可能な画像処理装置ドライバを自動的に適合させる方法を説明するためのフロー図である。
【発明を実施するための形態】
【００２７】
図１はいくつかの実施形態における本発明が動作する通信システムを示す図である。通信システムは、クライアント装置１１０を備え、通信ネットワーク１４０を介して画像処理装置１２０とサーバー装置１３０に通信可能に接続される。
【００２８】
クライアント装置１１０は、ネットワーク可能なコンピューティング機器である。画像処理装置１２０から機能セットを発見し、発見した機能セットをサポートするように拡張可能な画像処理装置ドライバを自動的に適合させ、画像処理ジョブを準備し管理するなど、様々なタスクを行うプロセッサで実行可能なソフトウェアを有する。クライアント装置１１０は、例を挙げると、デスクトップ型のパーソナルコンピュータ（ＰＣ）、携帯型ＰＣ、携帯情報端末（ＰＤＡ）、大型汎用コンピュータ、小型コンピュータ、携帯電話機、デジタルテレビ受信機、又はインターネット家電であってもよい。
【００２９】
画像処理装置１２０は、単機能の画像処理装置であっても、複合機（ＭＦＰ）であってもよい。画像処理装置１２０は、発見要求に応じ、サポートされる機能セット及び画像処理ジョブを実行する電気機械部に準じて画像処理ジョブを管理するプロセッサで実行可能なソフトウェアを有する。画像処理装置１２０がサポートする画像処理機能には、例を挙げると、印刷、複写、スキャン、ファイリング、ファックス、媒体複製、出版、表示、フォーマット変換、編集、及び音声／映像の記録／再生などが含まれていてもよい。印刷機能の場合、サポートされる機能セットには、例を挙げると、１以上のプリンタ言語、ホストエミュレーション機能、課金機能、ライセンス機能、支払い機能、特別機能及び／又はワークフロー統合機能などが含まれていてもよい。
【００３０】
サーバー装置１３０は、拡張可能な画像処理装置ドライバプラグインを管理するクライアント装置１１０から離れたウェブのサーバーである。サーバー装置１３０は、クライアント装置１１０によってなされる入手可能なプラグインに関する情報についての問い合わせに応じ、プラグインをクライアント装置１１０の適切な箇所へとダウンロードする。サーバー装置１３０は、画像処理装置１２０のメーカーによって操作されても、クライアント装置１１０の持ち主、あるいは第三者によって操作されてもよい。
【００３１】
通信ネットワーク１４０は、データネットワーク装置及びリンクを備え、クライアント装置１１０、画像処理装置１２０及びサーバー装置１３０を相互に接続する。そのリンクは、有線であっても、無線あるいはその組合せであってもよい。例を挙げると、通信ネットワーク１４０は、インターネット又はセルラーネットワークを介して、クライアント装置１１０とサーバー装置１３０を相互に接続するための電気電子学会（ＩＥＥＥ）８０２．３（有線イーサネット（登録商標））、ＩＥＥＥ８０２．１１（無線ＬＡＮ）、ＩＥＥＥ８０２．１６（ＷｉＭＡＸ）、広域、セルラー及び／又はアドホックネットワーク装置及びリンクを１つ以上有してもよい。
【００３２】
通信ネットワーク１４０は、ネットワーク装置とリンクを同様にまとめて有してもよいし、ＲＳ−２３２（ＣＯＭ）、ユニバーサルシリアルバス（ＵＳＢ）、ＩＥＥＥ１２８４規格（パラレルポート）、ＩＥＥＥ１３９４規格（ファイヤーワイヤ）、ブルートゥース、近距離無線通信（ＮＦＣ）、赤外線通信規格（ＩｒＤａ）リンクなどの専用のリンクを有して、クライアント装置１１０と画像処理装置１２０を相互に接続してもよい。
【００３３】
例示された実施形態においては、１つのクライアント装置１１０、１つの画像処理装置１２０及び１つのサーバー装置１３０が存在する場合が示されているが、他の実施形態においては、１以上のこのような種類の装置が複数存在してもよいと理解される。例えば、いくつかの実施形態においては、複数のサーバー装置が存在し、そのそれぞれが異なる画像処理装置メーカーによって作られた、画像処理装置のための拡張可能な画像処理装置ドライバのプラグインを、サポートしてもよい。
【００３４】
図２はクライアント装置１１０をより詳細に示す図で、クライアント装置１１０はユーザーインターフェース２１０、通信インターフェース２２０及びメモリ２４０を備え、これらのすべてがプロセッサ２３０と通信可能に接続されている。ユーザーインターフェース２１０は、キーボード、キーパッド、タッチスクリーン及び／又は音声命令モジュールなど、人間のユーザーからの入力を受け付けるための入力機構と、液晶ディスプレイ（ＬＣＤ）、発光ダイオード（ＬＥＤ）ディスプレイ、ブラウン管（ＣＲＴ）及び／又はスピーカーなど、ユーザーに出力を表示するための出力機構とを有する。
【００３５】
通信インターフェース２２０は、クライアント装置１１０と画像処理装置１２０及びサーバー装置１３０とを通信ネットワーク１４０を介して通信可能に接続する１以上のデータ通信ポートを有する。数多い例の１つとしては、通信インターフェース２２０が、無線ＬＡＮポートを備え、これによりクライアント装置１１０がインターネット接続を確立して、サーバー装置１３０と通信してもよく、また、ＵＳＢポートを備えて、これによりクライアント装置１１０が、画像処理装置１２０と直接通信してもよい。
【００３６】
メモリ２４０は、１以上のランダムアクセスメモリ（ＲＡＭ）と１以上のリードオンリーメモリ（ＲＯＭ）とを備える。
プロセッサ２３０は、メモリ２４０にインストールされたソフトウェアを実行して、画像処理装置１２０のための機能セットを発見したり、拡張可能な画像処理装置ドライバを自動的に発見された機能セットをサポートするように適合させたり、画像処理ジョブを準備し管理するなどの操作をクライアント装置１１０で行う。
【００３７】
図３は、メモリ２４０に記憶されるソフトウェア要素を示す図であり、クライアントアプリケーション３１０、オペレーティングシステム３２０、及び拡張可能な画像処理装置ドライバ３３０が含まれる。拡張可能な画像処理装置ドライバ３３０は、装置ドライバコア３４０、ローカルプラグインリポジトリ３５０及び構成ファイル３６０を有する。クライアントアプリケーション３１０により、ユーザーは、ユーザーインターフェース２１０を介して、デジタル文書を作成、編集、保存、開いて閲覧することが可能になり、それぞれのデジタル文書の画像処理ジョブを開始することが可能となる。
【００３８】
ユーザーが画像処理ジョブを開始し、ターゲット画像処理装置を選択すると、クライアントアプリケーション３１０は、アプリケーション用にフォーマットされたデジタル文書を、オペレーティングシステム３２０が理解する装置に非依存なグラフィック・プリミティブに変換する。オペレーティングシステム３２０はそのグラフィック・プリミティブを拡張可能な画像処理装置ドライバ３３０へ送る。拡張可能な画像処理装置ドライバ３３０は、そのグラフィック・プリミティブを、画像処理ジョブのターゲット画像処理装置がサポートする画像処理フォーマットに変換する。このような変換は、ターゲット画像処理装置がサポートする画像処理フォーマットを、装置ドライバコア３４０が元々サポートしている場合は、装置ドライバコア３４０が行ってもよい。ターゲット画像処理装置がサポートする画像処理フォーマットを、装置ドライバコア３４０が元々サポートしていない場合は、装置ドライバコア３４０が適切なプラグインをローカルプラグインリポジトリ３５０から呼び出して、変換を進めてもよい。
【００３９】
具体例を挙げると、クライアントアプリケーション３１０がマイクロソフトワード（登録商標）で、ユーザーがワードの文書を画像処理装置１２０で印刷したい場合、クライアントアプリケーション３１０は、ワード文書をオペレーティングシステム３２０が理解する装置に非依存のグラフィック・プリミティブ［例えば、グラフィカルディスプレイインターフェース（ＧＤＩ）、ＸＭＬ文書規格（ＸＰＳ）プリミティブ］に変換し、オペレーティングシステム３２０は、そのプリミティブを拡張可能な画像処理装置ドライバ３３０に送る。拡張可能な画像処理装置ドライバ３３０は、そのプリミティブを画像処理装置１２０がサポートするプリンタ言語［例えば、プリンタ制御言語（ＰＣＬ）、ポストスクリプト、タグ付き画像ファイル形式（ＴＩＦＦ）、ポータブルドキュメント形式（ＰＤＦ）］に変換する。そのプリンタ言語を装置ドライバコア３４０が元々サポートしている場合は、プリミティブからプリンタ言語への変換は、ローカルプラグインリポジトリ３５０を用いないで、装置ドライバコア３４０によって成し遂げられてもよい。しかしながら、そのプリンタ言語を装置ドライバコア３４０が元々サポートしていない場合は、装置ドライバコア３４０は変換を支援するためのプラグインをリポジトリ３５０から呼び出す。
【００４０】
拡張可能な画像処理装置ドライバ３３０は、画像処理装置１２０に提出する画像処理ジョブを準備するための別の処理を行う。例を挙げると、追加する処理としては、ホストエミュレーション処理、課金処理、ライセンス処理、支払い処理、特別機能処理及び／又はワークフローの統合処理などが含まれてもよい。追加する処理を装置ドライバコア３４０が元々サポートしているならば、ローカルプラグインリポジトリ３５０を用いることなく、装置ドライバコア３４０がそのような追加する処理を行ってもよい。しかしながら、追加処理を装置ドライバコア３４０が元々サポートしていないならば、装置ドライバコア３４０は、処理を支援するためのプラグインをローカルプラグインリポジトリ３５０から呼び出す。
【００４１】
ローカルプラグインリポジトリ３５０は、プリンタ言語のプラグイン（例えば、ＰＣＬ、ポストスクリプト、ＴＩＦＦ、ＰＤＦ、ラスタ形式のプラグイン）、ホストエミュレーションのプラグイン［例えば、Ｎ−アップ、ブックレット、Ｚ折り、ラスタ画像処理（ＲＩＰ）、中間調処理、色空間変換、画像強調のためのプラグイン］、課金、ライセンス及び支払いのプラグイン（例えば、公共印刷、部門印刷、コンテンツロイヤルティ、特別用紙料金のプラグイン）、命令のプラグイン（例えば、ターゲット画像処理装置専用の命令コード）、及び／又は特別機能／ワークフローの統合プラグイン（例えば、文書の索引付け／ファイリング、一斉印刷、ベーツスタンプ、バーコード、オーバーレイ、監査、校訂、文書作成のプラグイン）など様々な種類のプラグインをその中に有して装置ドライバコア３４０を支援する。プラグインは、例えばダイナミックリンクライブラリ（ＤＬＬ）のダイナミックリンク、プロセス間通信（ＩＰＣ）を用いての実行（例えば、ＣＯＭが実行可能）、命令パイプライン、オープンアプリケーションプログラミングインターフェース（ＡＰＩ）呼び出し又はウェブサービス呼び出しなど、様々な手段を用いて、一時的に装置ドライバコア３４０に統合してもよい。
【００４２】
ローカルプラグインリポジトリ３５０は、クライアント装置１１０のメモリ２４０の中に表示されているが、いくつかの実施形態においては、ローカルプラグインリポジトリのすべて又は一部が、外部ハードドライブ又はＵＳＢサムドライブなど、ローカルにクライアント装置１１０にアクセスできる外部記憶装置に配備されてもよい。
【００４３】
ローカルプラグインリポジトリ３５０は、また、装置ドライバコア３４０が元々サポートしている機能を更新するか、そうでなければ向上させるプラグインを備えていてもよい。ローカルプラグインリポジトリ３５０が、動作するそのような更新プラグインを有しているときは、構成ファイル３６０は変更され、元々サポートされている機能のためのＤＬＬに代えて更新プラグインを使用するよう指示する。このように、構成ファイル３６０が起動時に読み出されると、装置ドライバコア３４０はＤＬＬではなく、更新プラグインをロードする。
【００４４】
画像処理ジョブの準備が完了したら、プラグインの支援があるなしにかかわらず、拡張可能な画像処理装置ドライバ３３０はプロセッサ２３０の制御により、画像処理ジョブを通信インターフェース２２０を介して画像処理装置１２０へ送り、画像処理装置１２０は画像処理ジョブを行う（例えば、デジタル文書の「ハードコピー」を出力する）。
【００４５】
画像処理ジョブ処理の一部として、クライアント装置１１０は、画像処理装置１２０から機能セットを発見し、発見した機能セットをサポートするように自動的に適合する。
図４は本発明のいくつかの実施形態において、発見を行い、プラグインを用いて拡張可能な画像処理装置ドライバ３３０を自動的に適合させる方法を説明するためのフロー図である。
【００４６】
クライアント装置１１０のユーザーが、ユーザーインターフェース２１０を介して画像処理ジョブを開始し、画像処理装置１２０を対象装置（ターゲット）として識別すると、装置ドライバコア３４０は画像処理装置１２０に対して、装置発見情報を問い合わせる（４１０）。いくつかの実施形態においては、装置ドライバコア３４０は、プロセッサ２３０の制御により、画像処理装置１２０についてのメーカー、機種、構成、性能及び／又は他の装置発見情報を要請する発見要求（それにより画像処理装置１２０についての総合的な機能セットが識別できる）を生成して、通信インターフェース２２０を介して送信する。別の実施形態では、発見要求が、ホストエミュレーション機能など、ワークフローの統合や特別機能のための装置発見情報を要請し、それにより、画像処理装置１２０の機能セットの一部が識別できる。一例としては、統合ワークフローによりデジタル文書をラスタデータに変換し、所定の透かしとタイムスタンプを挿入し、変更されたラスタデータを所定のファイリング記憶要素にファイルしてもよい。発見要求に応じて、装置ドライバコア３４０は画像処理装置１２０から、要求された装置発見情報を含む発見応答を受け取る。この発見要求及び応答を行うために、簡易ネットワーク管理プロトコル（ＳＮＭＰ）、ウェブサービス（ＷＤＰｒｉｎｔ）やプリンタジョブ言語（ＰＪＬ）など、様々なプロトコルを使用してもよい。
【００４７】
装置ドライバコア３４０は、この発見応答に基づいて、機能セットのすべての機能がローカルにサポートされているかどうかを判定する（４２０）。いくつかの実施形態においては、装置ドライバコア３４０が、発見応答中の装置発見情報を機能セットに分解して、その機能セットと、拡張可能な装置ドライバ３３０がローカルにサポートしている機能、即ち装置ドライバコア３４０が元々サポートしているか、あるいはローカルプラグインリポジトリ３５０に記憶されている１以上のプラグインの支援によってサポートしている機能とを比較する。すべての機能がローカルにサポートされている場合は、追加プラグインを遠隔で検索する必要はなく、装置ドライバコア３４０に元々ある画像処理制御ユーザーインターフェース記述（ＵＩＤ）がユーザーインターフェース２１０上でレンダリングされる。ユーザーは、その後、ユーザーインターフェース２１０上で画像処理設定を選択し、画像処理ジョブを画像処理装置１２０に提出してもよい（４３０）。
【００４８】
しかしながら、ステップ４２０において、すべての機能がローカルでサポートされていない場合は、装置ドライバコア３４０は、ローカルサポートでの不足を救済できる遠隔のプラグインが入手可能かどうかを判定する（４４０）。いくつかの実施形態においては、装置ドライバコア３４０は、ローカルサポートの不足を救済できるウェブがホストするプラグインやそのようなプラグインのためのライセンス条件について、インターネットを介してサーバー装置１３０に問い合わせ、それに応答して、サーバー装置１３０は問い合わせ応答を発する。勿論、必要ならば、装置ドライバコア３４０が２以上のサーバー装置に問い合わせてもよい。プラグインの問い合わせと応答は、ハイパーテキスト転送プロトコル／ハイパーテキストマークアップ言語（ＨＴＴＰ／ＨＴＭＬ）、拡張可能なマークアップ言語によるＳＯＡＰ（ＳＯＡＰ／ＸＭＬ）、又は伝送制御プロトコル／インターネットプロトコル（ＴＣＰ／ＩＰ）による専有プロトコルなど、様々なプロトコルを介して行うことができる。あるいは、ファイル転送プロトコル（ＦＴＰ）や直接インターネットメッセージのカプセル化（ＤＩＭＥ）などの転送プロトコルを使用してもよい。
【００４９】
プラグインとそれに関連するライセンス条件は、サーバー装置１３０に記憶され、画像処理装置１２０のメーカーや機種の識別子、機能識別子、及び／又はジョブ・チケット［例えば、ＰＪＬ、ＸＭＬ文書規格（ＸＰＳ）印刷チケット、ＷＳ印刷チケット］などの様々な検索パラメータを用いて、及び、ファイル名に符号化されたキーワードを用いたプラグインのメタタグ付け、ファイル、ヘッダー、又はシャドウファイルに追加される補足データ、及び／又はデータベースの検索などの様々な検索技術を用いて、取り出され得る。プラグインのためのライセンス条件としては、料金成分および利用成分が含まれてもよい。料金成分は、ユーザーに対する費用を指定してもよく、また利用成分は、利用制限を指定してもよい。料金成分としては、例えば、１回限り料金、定期的な料金、又は利用ごとの料金を指定してもよいし、利用成分としては、例えば、無期限、特定期間、あるいは所定の利用回数を指定してもよい。
【００５０】
ステップ４４０において、ローカルサポートの不足を救済する遠隔プラグインが入手不可能な場合は、装置ドライバコア３４０は、機能セットが少なくなっても画像処理を進められるような主要な機能が、ローカルにサポートされているかどうかを判定する（４５０）。主要な機能がローカルでサポートされていない場合は、画像処理ジョブは禁止される（４７０）。主要な機能がローカルでサポートされている場合は、ユーザーは、ユーザーインターフェース２１０を介して、限られた機能セットで画像処理を進めたいかどうかを尋ねられる（４６０）。ユーザーがユーザー入力によって進めたくないことを指示すると、画像処理ジョブは禁止される（４７０）。ユーザーがユーザー入力を介して、進めたい旨を指示すると、装置ドライバコア３４０に元々ある画像処理制御ＵＩＤがユーザーインターフェース２１０でレンダリングされ、ユーザーは画像処理設定を選択し画像処理ジョブを提出してもよい（４３０）。
【００５１】
また、ステップ４４０において、ローカルサポートの不足を救済する遠隔のプラグインが入手可能な場合は、装置ドライバコア３４０は、ユーザーインターフェース２１０を介してユーザーにプラグインを取得したいかどうかを問い合わせる（４８０）。いくつかの実施形態においては、ユーザーは、プラグインを取得したい場合に、機能セットの完全なサポートが実現されるかどうかについての表示だけでなくプラグインとライセンス条件の一覧を、ユーザーインターフェース２１０上で提示され、ユーザー入力を介してプラグインを取得するかどうかの決定を指示するよう求められる。
【００５２】
ステップ４８０において、ユーザーがユーザー入力を介して、プラグインの取得を拒否すると、フローはステップ４５０へ移行する。また、ステップ４８０において、ユーザーがプラグインを取得したい旨をユーザー入力により表すと、装置ドライバコア３４０はプラグインをダウンロードし、それらをローカルプラグインリポジトリ３５０に記憶し（４９０）、同時に、プラグインへのアクセス権が、同意されたライセンス条件に従って与えられ、フローはステップ５１０に進む。このステップ４９０において、いくつかの実施形態では、プラグインのための支払いが要求され、取得時に１回限りのクレジットあるいはデビットカード取引を介してなされる。別の実施形態では、プリペイド口座から１回限りのデビットにより支払われる。さらに別の実施形態では、繰り返しの請求サイクル、クレジット又はデビットカード取引、又はプリペイド口座からの引落しにより支払われる。さらに別の実施形態では、利用ごとにクレジット又はデビットカード取引、又はプリペイド口座の引落しにより支払われる。
【００５３】
また、上記のようにして、ローカルプラグインリポジトリ３５０に記憶されたプラグインは、プラグインのためのライセンス条件が期限切れであるか、又はライセンスを受けた利用回数を使い果たした場合は、プラグインがローカルプラグインリポジトリ３５０から削除されるか、又は機能するライセンスキーがない状態に符号化されるなど、無効状態にして残されてもよい。
【００５４】
図５は、本発明のいくつかの実施形態において、ユーザーインターフェース２１０でレンダリングする画像処理制御のＵＩＤを選択する方法を説明するためのフロー図である。ＵＩＤにはメニューが備えられ、ユーザーはそこで画像処理ジョブに対するアプリケーションのための画像処理設定を選択することができる。いくつかの実施形態においては、ＵＩＤは、タイトル、データのタイプ（例えば、整数、列挙型）、データ範囲（例えば、Ａ４、Ａ５、Ａ６、レター、法的文書サイズ）、及びグループ化の指示（例えば、画像処理設定Ｘにならべて表示）など、画像処理設定の各々について様々な情報を有する拡張可能なマークアップ言語（ＸＭＬ）である。
【００５５】
遠隔のプラグインがステップ４９０（図４）でダウンロードされると、機能の不足を救済するダウンロードされたプラグインのいずれかが、統合型の画像処理制御のＵＩＤを有しているかどうかを判定する第１のチェックがなされる（５１０）。例えば、ＵＩＤを有するプラグインに識別フラグを付与しておき、クライアント装置１１０がこの識別フラグを検出することでＵＩＤの有無をチェックすることが考えられる。
【００５６】
次に、ステップ５１０で統合型ＵＩＤを有している場合は、統合型のＵＩＤがユーザーインターフェース２１０上にレンダリングされる（５２０）。また、ステップ５１０で統合型ＵＩＤを有していない場合は、ダウンロードされたプラグインのいずれかが独立型の画像処理制御のＵＩＤであるかどうかを判定する第２のチェックがなされる（５３０）。この際のチェック方法もステップ５１０と同様の方法で行うことができる。独立型の画像処理制御ＵＩＤとは、例えば、サイト特有の（例えば、企業の)全般的な印象を、ユーザーインターフェース２１０に与えるものであってよい。ステップ５３０で独立型ＵＩＤを有している場合は、独立型のＵＩＤがユーザーインターフェース２１０上にレンダリングされる（５４０）。また、ステップ５３０で独立型ＵＩＤを有していない場合は、装置ドライバコア３４０に元々ある画像処理制御ＵＩＤがユーザーインターフェース２１０上にレンダリングされる（５５０）。
【００５７】
図６は、本発明のいくつかの実施形態において、発見を行い、更新プラグインによって拡張可能な画像処理装置ドライバ３３０を自動的に適合させる方法を説明するためのフロー図である。ローカルサポートの不足を救済するプラグインをダウンロードする以外にも、装置ドライバコア３４０はサーバー装置１３０を検索して、装置ドライバコア３４０を更新するか、そうでなければ向上させる遠隔のプラグイン、及び／又は以前にダウンロードされローカルプラグインリポジトリ３５０に記憶されているプラグインをダウンロードしてもよい。そのような更新プラグインの検索は、画像処理装置１２０で新しい機能やファームウェアが検知されたときや、クライアント装置１１０のユーザーが手動で開始したときなど、不定期に行ってもよいし、定期的に行ってもよい。いくつかの実施形態においては、装置ドライバコア３４０は、画像処理装置１２０に対し機能セット発見の一部としてそのファームウェアのレベルを問い合わせ、そのファームウェアのレベルをメモリ２４０に記憶する。その後、ファームウェアのレベルに変化が検知されるたびに、装置ドライバコア３４０は、現在のファームウェアのレベルに対応する更新プラグインを求めてサーバー装置１３０で、検索を開始する。
【００５８】
図６に示すフロー例では、装置ドライバコア３４０が、以前にダウンロードしたプラグインの更新プラグインが１以上入手可能かどうかを判定する（６１０）。以前にダウンロードしたプラグインの更新プラグインが１以上入手可能な場合は、その更新プラグインがローカルプラグインリポジトリ３５０にダウンロードされる（６２０）。更新プラグインが入手可能かどうかにかかわらず、フローはステップ６３０に進み、装置ドライバコア３４０は装置ドライバコア３４０の更新プラグインが１以上入手可能かどうかを判定する（６３０）。装置ドライバコア３４０の更新プラグインが入手不可能な場合は、更新処理は終了する（６６０）。また、装置ドライバコア３４０の更新プラグインが１以上入手可能な場合は、その更新プラグインがローカルプラグインリポジトリ３５０にダウンロードされ（６４０）、構成ファイル３６０が更新され、適切なＤＬＬが更新プラグインと置き換えられて（６５０）、処理が終了する（６６０）。
【００５９】
本発明は、その精神又は主要な特徴から逸脱することなく、他の特定の形式で具現化することが可能であることは当事者により理解されるであろう。従って、本明細書はあらゆる点で例示的なものであって限定的なものではないと見なされる。本発明の範囲は添付の特許請求の範囲により示され、さらに、特許請求の範囲の均等範囲に属する変更は、全て本発明の範囲内のものである。
【符号の説明】
【００６０】
１１０…クライアント装置、１２０…画像処理装置、１３０…サーバー装置、１４０…通信ネットワーク、２１０…ユーザーインターフェース、２２０…通信インターフェース、２３０…プロセッサ、２４０…メモリ、３１０…クライアントアプリケーション、３２０…オペレーティングシステム、３３０…画像処理装置ドライバ（拡張可能な装置ドライバ）、３４０…装置ドライバコア、３５０…ローカルプラグインリポジトリ、３６０…構成ファイル。
【図１】
2010098732.tif 000003
【図２】
2010098732.tif 000004
【図３】
2010098732.tif 000005
【図４】
2010098732.tif 000006
【図５】
2010098732.tif 000007
【図６】
2010098732.tif 000008