(57)【要約】      （修正有）【課題】ＯＳ内で共通に利用されるプリンタドライバに対し、デバイスごとに異なるプリント拡張アプリを関連付けさせることができる情報処理装置、サーバ装置、制御方法、制御プログラムを提供する。【解決手段】ＯＳ内で共通に利用されるプリンタドライバのインストール時に、取得したプリンタのＨＷＩＤをキーにしてプリント拡張アプリをダウンロードしてプリンタドライバとの関連付けを行う。【選択図】図７
2020087324.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバをインストール可能であり、サーバ装置および画像形成装置と通信可能な情報処理装置において、
前記画像形成装置の識別情報を受信する受信手段と、
前記受信手段が受信した前記画像形成装置の識別情報を前記サーバ装置に対して送信する送信手段と、
サーバ装置から送信されてくる拡張アプリケーションであって尚且つ前記送信手段により送信された前記画像形成装置の識別情報に対応する拡張アプリケーションと、前記プリンタドライバとを関連付ける処理を実行する実行手段を有する情報処理装置。
【請求項２】
前記情報処理装置は、前記サーバ装置から送信されてくる前記拡張アプリケーションが、前記プリンタドライバに対応しているかどうかを確認する確認手段と、
前記確認手段で対応していると確認されたことを条件として、前記拡張アプリケーションをインストールするインストール手段をさらに有する請求項１に記載の情報処理装置。
【請求項３】
前記情報処理装置の送信手段は、前記拡張アプリケーションの識別情報をサーバ装置に対して送信し、前記サーバ装置から当該識別情報に対応する拡張アプリケーションを前記受信手段は受信し、前記情報処理装置においてインストールされたプリンタドライバが、複数の画像形成装置で利用可能な共通プリンタドライバである場合と、前記共通プリンタドライバでない場合とで異なる経路で前記拡張アプリケーションを取得するよう制御する制御手段を有する請求項１または２に記載の情報処理装置。
【請求項４】
前記画像形成装置の識別情報には複数の拡張アプリケーションが対応づけ可能であり、前記実行手段は、前記送信手段が送信した識別情報に対応する複数の拡張アプリケーションを、前記プリンタドライバに関連付ける処理を実行する請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
プリンタドライバをインストール可能であり、サーバ装置および画像形成装置と通信可能な情報処理装置の制御方法において、
前記画像形成装置の識別情報を受信する受信工程と、
前記受信工程で受信された前記画像形成装置の識別情報を前記サーバ装置に対して送信する送信工程と、
前記サーバ装置から送信されてくる拡張アプリケーションであって尚且つ前記送信工程において送信された前記画像形成装置の識別情報に対応する拡張アプリケーションと、前記プリンタドライバとを関連付ける処理を実行する実行工程とをコンピュータに実行させる制御方法。
【請求項６】
前記サーバ装置から送信されてくる前記拡張アプリケーションが、前記プリンタドライバに対応しているかどうかを確認する確認工程と、
前記確認工程で対応していると確認されたことを条件として、前記拡張アプリケーションをインストールするインストール工程をさらにコンピュータに実行させる請求項５に記載の情報処理装置。
【請求項７】
前記情報処理装で実行される送信工程では、前記拡張アプリケーションの識別情報がサーバ装置に対して送信され、前記サーバ装置から当該識別情報に対応する拡張アプリケーションが前記受信工程において受信され、前記情報処理装置においてインストールされたプリンタドライバが、複数の画像形成装置で利用可能な共通プリンタドライバである場合と、前記共通プリンタドライバでない場合とで異なる経路で前記拡張アプリケーションを取得するよう制御する制御工程をコンピュータに実行させる請求項５または６に記載の方法。
【請求項８】
前記画像形成装置の識別情報には複数の拡張アプリケーションが対応づけ可能であり、前記実行工程では、前記送信工程で送信された識別情報に対応する複数の拡張アプリケーションを、前記プリンタドライバに関連付ける処理が実行される請求項５乃至７のいずれか１項に記載の方法。
【請求項９】
請求項５乃至８のいずれか１項に記載の方法をコンピュータに実行させる制御プログラム。
【請求項１０】
情報処理装置と通信可能なサーバ装置において、
前記情報処理装置から画像形成装置の識別情報を受信する受信手段と、
前記画像形成装置に対応する拡張アプリケーションを取得する取得手段と、
前記取得手段が取得した拡張アプリケーションを前記情報処理装置に対して送信する送信手段とを有するサーバ装置。
【請求項１１】
情報処理装置と通信可能なサーバ装置の制御方法において、
前記情報処理装置から画像形成装置の識別情報を受信する受信工程と、
前記画像形成装置に対応する拡張アプリケーションを取得する取得工程と、
前記取得手段が取得した拡張アプリケーションを前記情報処理装置に対して送信する送信工程と、をコンピュータに実行させる制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置と通信する情報処理装置、サーバ装置等に関する。
【背景技術】
【０００２】
プリンタドライバを利用し、印刷装置に対して印刷データを送信する構成がある。ホストコンピュータには、オペレーティングシステム（ＯＳ）がインストールされており、プリンタドライバはそのＯＳの規定する仕様に従って構成され、ＯＳから呼び出されて動作する。印刷装置を提供するベンダは、ＯＳの仕様に適合する印刷装置に適したプリンタドライバを提供することにより、そのＯＳを用いてプリンタに印刷を指示する手段を提供することができる。機能が異なる複数種類の印刷装置を制御するためのプリンタドライバとしてユニバーサルプリンタードライバーと称されるプリンタドライバが知られている（特許文献１）。
【０００３】
特許文献１に開示されているようなユニバーサルプリンタードライバーは、印刷装置を提供するベンダ毎に提供されている。しかし、異なった印刷装置を提供するベンダの印刷装置を１つのユニバーサルプリンタードライバーで対応することは困難であった。
【０００４】
また、上述の仕組みを実現するために、前述したＩＰＰ  Ｅｖｅｒｙｗｈｅｒｅ（登録商標）などに代表されるＩＰＰに準拠する仕組みを使用したいわゆる共通プリンタドライバを利用できるようにすることが考えられる（非特許文献１）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１５−１３５６５８
【非特許文献】
【０００６】
【非特許文献１】ＩＰＰ  Ｉｍｐｌｅｍｅｎｔｏｒ’ｓ  Ｇｕｉｄｅ  ｖ２．０  （ＩＧ）ｈｔｔｐｓ：／／ｆｔｐ．ｐｗｇ．ｏｒｇ／ｐｕｂ／ｐｗｇ／ｃａｎｄｉｄａｔｅｓ／ｃｓ−ｉｐｐｉｇ２０−２０１５０８２１−５１００．１９．ｐｄｆ
【発明の概要】
【発明が解決しようとする課題】
【０００７】
共通プリンタドライバに対して、所定の画像形成装置用の拡張アプリケーションを関連付けの上セットアップする。これにより、共通プリンタドライバの機能を柔軟に拡張したり、画像形成装置の機能をより活用したりするための仕組みが考慮されうる。
【０００８】
しかしながら、拡張アプリケーションをクライアント側においてどのようなタイミングでもしくはどのようにしてセットアップして共通プリンタドライバを拡張させるかの仕組みは考えられていなかった。
【０００９】
本発明は上述の問題点の少なく一つを鑑みてなされたものである。本発明の一つの側面は、所定の画像形成装置の機能を活用することができる拡張アプリケーションと、プリンタドライバとを活用できる仕組みを提供することを一つの目的とする。
【００１０】
本発明の別の側面は、所定の画像形成装置の機能を活用することができる拡張アプリケーションを、共通プリンタドライバと関連付けることができる仕組みを提供することをさらに別の目的とする。
【課題を解決するための手段】
【００１１】
本発明の一つの側面として、プリンタドライバをインストール可能であり、サーバ装置および画像形成装置と通信可能な情報処理装置において、前記画像形成装置の識別情報を受信する受信手段と、前記受信手段が受信した前記画像形成装置の識別情報を前記サーバ装置に対して送信する送信手段と、サーバ装置から送信されてくる拡張アプリケーションであって尚且つ前記送信手段により送信された前記画像形成装置の識別情報に対応する拡張アプリケーションと、前記プリンタドライバとを関連付ける処理を実行する実行手段を有する情報処理装置が一例として開示される。
【発明の効果】
【００１２】
本実施形態の一つの側面として、所定のプリンタドライバに対して、画像形成装置の機能を活用できる拡張アプリケーションを関連付けることができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態における印刷システムの一例を示す図である。
【図２】クライアントコンピュータのハードウェア構成を示すブロック図である。
【図３】クライアントコンピュータのソフトウェア構成を示すブロック図である。
【図４】プリンタ、プリンタキュー、プリント拡張アプリとの関係を示す図である。
【図５】プリンタキュー生成とプリント拡張アプリとの関連付けフロー図である。
【図６】従来のプリンタドライバとプリント拡張アプリの関連付けフロー図である。
【図７】実施形態におけるプリンタドライバとプリント拡張アプリの関連付けフロー図である。
【図８】拡張アプリ検索サーバが行う処理のフロー図である。
【図９】拡張アプリ配信サーバが行う処理のフロー図である。
【図１０】プリンタのＨＷＩＤとプリント拡張アプリの対応表である。
【図１１】第２の実施形態における印刷システムの一例を示す図である。
【図１２】共通プリンタドライバとプリント拡張アプリの関連付けフロー図である。
【図１３】拡張アプリ配信サーバが行う処理のフロー図である。
【図１４】プリント拡張アプリがプリンタキューに対応しているか判断する処理のフロー図である。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための実施形態について図面を用いて説明する。なお、以下の実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１５】
＜第１の実施形態＞
まず図１を用いて、本発明に係る印刷システムの構成を説明する。図１は、本発明に係る印刷システムの一例を示す図である。本実施形態の印刷システムは、クライアントコンピュータ１０１、ページ記述言語（ＰＤＬ）形式の印刷データを受信し印刷を行うプリンタＡ１０２、プリンタＢ１０３、各種サーバ、を備える。各種サーバは具体的には拡張アプリを配信する配信サーバ１０５、配信サーバ１０５から所望の拡張アプリを取得する検索サーバ１０６から成る。さらにドライバを配信するドライバ配信サーバ１０７、ドライバに関連付けられたデバイス管理部（以降、メタデータと呼ぶ）を配信するメタデータ配信サーバ３０８から成る。各装置は、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）を含むネットワーク１０４を通じて相互に通信可能である。
【００１６】
なお、プリンタ１０２及びプリンタ１０３は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。また、クライアントコンピュータ１０１は、ネットワーク１０４に対し一台に限らず、複数台接続されていてもよい。クライアントコンピュータ１０１は、プリンタ１０２などに印刷データを送信することができる。プリンタドライバは、すくアナドライバでも構わない。また、プリンタ拡張アプリは、スキャナ拡張アプリでも構わない。
【００１７】
図２は、図１のクライアントコンピュータ１０１のハードウェア構成を示すブロック図である。クライアントコンピュータ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０２、外部メモリ２０９、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３を有する。
【００１８】
ＣＰＵ２０１を含む制御部２００は、クライアントコンピュータ１０１全体の動作を制御する。ＣＰＵ２０１は、ＲＯＭ２０３又は外部メモリ２０９に記憶されたプログラムをＲＡＭ２０２に展開し、それを実行してＵＩ画面の制御や印刷データの生成、印刷データの転送などの各種制御を行う。ＲＯＭ２０３は、ＣＰＵ２０１で実行可能な制御プログラムやブートプログラム等を格納する。ＲＡＭ２０２は、ＣＰＵ２０１の主記憶メモリであり、ワークエリア又は各種プログラムを展開するための一時記憶領域として用いられる。外部メモリＩ／Ｆ２０８を介して制御部２００に接続される外部メモリ２０９は、ＯＳ２１０、アプリケーション２１２、アプリケーション実行環境２１３、プリンタドライバ２１１などを記憶する。
【００１９】
本実施形態では外部メモリ２０９としてＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の補助記憶装置を想定しているが、ＨＤＤの代わりにＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などの不揮発性メモリを用いるようにしても良い。このように、ＣＰＵ２０１、ＲＯＭ２０３、ＲＡＭ２０２、外部メモリ２０９等のハードウェアは、いわゆるコンピュータを構成している。
【００２０】
操作入力装置Ｉ／Ｆ２０４は、キーボードやポインティングデバイス（マウス）、タッチ入力デバイスなどの操作入力装置２０５を制御するインタフェースである。操作入力装置２０５は、ユーザからの操作を受け付ける受付部として機能する。ディスプレイＩ／Ｆ２０６はディスプレイ２０７への画面の表示を制御する。ディスプレイ２０７は、ユーザに対して情報を表示する表示部として機能する。
【００２１】
制御部２００は、ネットワークＩ／Ｆ２１４を介してネットワーク１０４に接続される。ネットワークＩ／Ｆ２１４は、ネットワーク１０４上のプリンタに印刷データを送信したり、ネットワーク１０４上の各種サーバから拡張アプリケーションやプリンタドライバなどを受信したりする。なお、ネットワーク１０４上の外部端末とのデータ通信は例えばＩＥＥＥ８０２．１１シリーズに準拠する無線通信やＬＴＥや５Ｇなどの移動通信システムや、ＬＡＮケーブルなどの有線ケーブルを介した通信である。
【００２２】
続けて、図３を用いて、クライアントコンピュータ１０１のソフトウェア構成の一例について説明する。まず、クライアントコンピュータ１０１内の動作ソフトウェアについて説明する。クライアントコンピュータ１０１内のソフトウェアは、ＯＳ２１０、アプリケーション実行環境２１３とアプリケーション２１２の３つの層から構成される。
【００２３】
まず、ＯＳ２１０を構成する個々の要素について説明する。ＯＳ２１０は、大きくプリンティングシステム３３７、プリンタドライバ２１１、外部設定ファイル群３５２とスレッドプール３５５から構成される。
【００２４】
まず、外部設定ファイル群３５２について説明する。外部設定ファイル群３５２に含まれるメタデータ３２０は、プリント拡張アプリ３００のプリント拡張アプリ識別子とプリンタドライバ２１１のプリンタキュー３０８のＨＷＩＤ（ＨａｒｄｗａｒｅＩｄ）の識別子を持ち、各々を関連付ける役割を持つ。
【００２５】
ただし、メタデータ３２０によって、Ｍｉｃｒｏｓｏｆｔ（登録商標）製のプリンタドライバ２１１とプリント拡張アプリ３００が関連づくことはできない。
【００２６】
レジストリ３５３は、ＯＳ２１０の設定群が記述された領域である。Ｋｅｙ  Ａｎｄ  Ｖａｌｕｅ方式で値を記載することができ、プリンタキュー毎の設定などを記述することができる。レジストリ３５３には、印刷時起動アプリランチャ３５０によるバックグラウンドタスクの起動を有効とするか無効とするかを示すポリシーの設定や、プリンタドライバ２１１に関連づくプリント拡張アプリ３００の識別子などが登録されている。なお、当該レジストリ３５３に登録されている設定は、ＯＳ２１０の設定画面を介して変更可能である。
【００２７】
続いてプリンティングシステム３３７を構成する要素について説明する。プリンタキュー３０８は、ネットワーク１０４内に存在するプリンタを使用して印刷を行う際に、印刷ジョブを一時的に保存する領域であり、複数個存在することができる。本実施形態では、プリンタ１０２とプリンタ１０３に対応するプリンタキューが作成されているものとする。
【００２８】
スプーラ３２５は、アプリケーション２１２のいずれかから印刷された印刷対象データであるＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）ファイルを一時的に保存及び管理するモジュールである。スプーラ３２５に保存されたＸＰＳファイルは、フィルタパイプラインマネージャ３３５を通して、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換された後に、スプーラ３２５を通じてプリンタ１０２へと送信される。
【００２９】
フィルタパイプラインマネージャ３３５は、１以上のフィルタ３３０をロードして、ＸＰＳファイルをＰＤＬファイルへと変換するモジュールである。フィルタパイプラインマネージャ３３５は、ＯＳ２１０が提供する印刷アーキテクチャ（印刷システムとも呼ぶ）の一部として構成されている。ＯＳ２１０は、フィルタコンフィグ３３６の定義に基づき、プリンタドライバ２１１を構成する要素の一つである１以上のフィルタ３３０を読み込み、当該１以上のフィルタを使用してＰＤＬを生成する。ＰＤＬは、例えば、ＰＣＬやＰＤＦなどを採用することができる。
【００３０】
コンフィグレーションモジュール３３１は、ＰｒｉｎｔＴｉｃｋｅｔ（プリントチケットとも呼ぶ）の生成、変更を行うモジュールである。また、モジュール３３１は、組み合わせることができない設定が行われないよう制限する禁則機能を有する。また、コンフィグレーションモジュールはプリンタの能力情報であるＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを管理する。
【００３１】
プリント拡張アプリ３００の詳細印刷設定ＵＩ部３０４、印刷時起動バックグラウンドタスク部３０５と印刷時起動ＵＩ部３０３は、コンフィグレーションモジュール３３１が提供するＡＰＩを呼び出すことができる。各部は、当該ＡＰＩを呼び出すことで、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式のＰｒｉｎｔＴｉｃｋｅｔやＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを取得することができる。
【００３２】
プリンタドライバ２１１は、禁則ルールやデバイスの機能が記述されたデバイス機能テキストファイル３３２や、スクリプトファイル３３３をＯＳ２１１に提供する。ファイル３３２、３３３に基づき、コンフィグレーションモジュール３３１の動作はカスタマイズされる。
【００３３】
印刷時起動アプリランチャ３５０は、印刷時起動バックグラウンドタスク部３０５などが提供するバックグラウンドタスクの実行を制御するモジュールである。ランチャ３５０は、ユーザにより印刷開始指示が入力されたことをＯＳ２１０が検知し、印刷を行う場合に、印刷時起動バックグラウンドタスク部３０５を起動する。なお、レジストリ３５３にバックグラウンドタスクの起動を無効とする設定が記憶されている場合、ＯＳ２１０はバックグラウンドタスクの実行を抑制する。
【００３４】
プリンタドライバ２１１は、フィルタ３３０、フィルタコンフィグ３３６、スクリプトファイル３３３とデバイス機能テキストファイル３３２、ＩＮＦ３６１で構成され、ドライバ格納領域３７０に保存されている。フィルタ３３０は、フィルタパイプラインマネージャ３３５によって呼び出されるフィルタであり、入力されたＸＰＳファイルをＰＤＬへと変換して出力する機能を有している。フィルタコンフィグ３３６は、フィルタパイプラインマネージャ３３５が参照する定義ファイルであり、１以上のフィルタ３３０を呼び出す順序が記述されている。スクリプトファイル３３３とデバイス機能テキストファイル３３２は、コンフィグレーションモジュール３３１によって呼び出されるファイルであり、コンフィグレーションモジュール３３１の動作をカスタマイズできる。ＩＮＦ３６１は、プリンタドライバ２１１をインストールするための設定情報が記載されたテキストファイルである。
【００３５】
スレッドプール３５５は、各種アプリケーション２１２やＯＳ２１０内のモジュール群が実行される際に利用されるスレッドを格納するモジュールである。
【００３６】
アプリケーション実行環境２１３は、デスクトップアプリ実行環境３２３、タッチアプリ実行環境３０１から構成される。
【００３７】
タッチアプリ実行環境３０１は、後述するアプリケーション２１２の一種であるＯＳ２１０上で動作するタッチアプリ３２１やプリント拡張アプリ３００を実行するための実行環境である。実行環境３０１は、配信サーバ１０５から配布された拡張アプリケーションを動作させるための実行環境であり、拡張アプリケーションの実行を制御する。
【００３８】
デスクトップアプリ実行環境３２３は、後述するアプリケーション２１２の一種であるデスクトップアプリ３２２を実行するための実行環境である。デスクトップアプリ実行環境３２３は、デスクトップ上から実行されうるアプリケーションの実行を制御する。
【００３９】
アプリケーション２１２は、タッチアプリ３２１、プリント拡張アプリ３００とデスクトップアプリ３２２の三種類のアプリケーションで構成される。タッチアプリ３２１は、タッチアプリ実行環境３０１で動作するアプリケーションである。タッチアプリ３２１は、インターネット上で公開されるアプリケーション配布システムを通じて、ダウンロードされ、クライアントコンピュータ１０１にインストールされる。タッチアプリ３２１は、必要なモジュール群がパッケージ化して署名されており、ＯＳ２１０内のＡＰＩの呼び出しが制限されている。
【００４０】
プリント拡張アプリ３００は、タッチアプリ３２１の一種であり、タッチアプリ３２１と同様にタッチアプリ実行環境３０１の上で動作する。プリント拡張アプリ３００は、ＯＳ２１０がアプリケーション配布システムからインターネットを経由して取得する。また、本実施形態のプリント拡張アプリ３００は、印刷時に独自にカスタマイズしたＵＩを表示させる印刷時ＵＩ表示機能を持つ。プリント拡張アプリ３００は、メタデータ３２０を介してプリンタベンダが提供するプリンタドライバ２１１と関連づけられることができる。また、複数のプリンタベンダが提供するプリンタに対して共通で利用される共通プリンタドライバと関連づく場合には、ＩＮＦ３６１やレジストリ３５３を用いて関連づく。ここは、図４を用いて後述する。
【００４１】
プリント拡張アプリ３００は、タイルアプリ部３０２、詳細印刷設定ＵＩ部３０４、印刷時起動バックグラウンドタスク部３０５、印刷時起動ＵＩ部３０３で構成される。
【００４２】
タイルアプリ部３０２部は、拡張アプリ３００を起動するユーザ操作を受け付けたことに従って実行されるＵＩ部であり、登録されたプリンタのステータス表示などの機能を提供する。
【００４３】
詳細印刷設定ＵＩ部３０４は、ＯＳ２１０によって発行された詳細印刷設定イベントを受信したことに従って実行されるＵＩ部である。詳細印刷設定ＵＩ部３０４は、コンフィグレーションモジュール３３１からＡＰＩを通じて取得したＰｒｉｎｔＴｉｃｋｅｔとＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓに基づき印刷設定用のＵＩを生成して表示する。ＵＩ部３０４は、ユーザ操作に従って、適宜、ＰｒｉｎｔＴｉｃｋｅｔの設定を変更し、コンフィグレーションモジュール３３１に返却する。
【００４４】
印刷時起動バックグラウンドタスク部３０５は、印刷イベントが発行された際に実行すべきバックグラウンドタスクに対応するコンポーネントである。タスク部３０５が提供するタスクは、生存時間に限りがあり、一定時間が経過するとＯＳ２１０によって強制的に終了させられる。
【００４５】
印刷時起動バックグラウンドタスク部３０５は、コンフィグレーションモジュール３３１のＡＰＩを通じてＰｒｉｎｔＴｉｃｋｅｔの取得や読み書きをすることができる。バックグラウンドタスクにより、印刷時起動ＵＩ部３０３を起動するか否かを判断し、必要に応じてフォアグラウンドタスクのコンポーネントである印刷時起動ＵＩ部３０３の起動をＯＳ２１０に要求することが既定されている。また、アプリストア３３４に変更した値を読み書きすることで、印刷時起動ＵＩ部３０３と値の受け渡しをすることができる。印刷時起動ＵＩ部３０３を起動しないと判断する場合は、ランチャ３５０は、プリント拡張アプリ３００を起動することなく印刷データの生成を行う。
【００４６】
更に、バックグラウンドタスクにより起動された印刷時起動ＵＩ部３０３は、印刷対象のデータとなるＸＰＳやＰｒｉｎｔＴｉｃｋｅｔを編集して、ＯＳ２１０に返すことができる。
【００４７】
バックグラウンドタスクによってＯＳ２１０に対して起動要求が行われると、ＯＳ２１０は、印刷時起動ＵＩ部３０３を起動する。印刷時起動ＵＩ部３０３は、ＰｒｉｎｔＴｉｃｋｅｔやＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓの取得と設定の変更ができる他に、印刷対象のデータのＸＰＳファイルを取得することができる。ＸＰＳファイルの変更を行う場合には、一度、アプリストア３３４を通じて編集後のＸＰＳファイルを印刷時起動バックグラウンドタスク部３０５に渡し、タスク部３０５が編集したＸＰＳファイルをＯＳ２１０に返す必要がある。本実施形態において、印刷時起動ＵＩ部３０３は、印刷に関する確認を行うためのＵＩや、未入力の設定をユーザに入力させるためのＵＩなどを表示するものとする。
【００４８】
設定ファイル３６２は、プリント拡張アプリ３００の設定値が記述されているファイルである。プリント拡張アプリ３００を一意に示すプリント拡張アプリ識別子や、利用するカスタム設定ファイルが記載されている。
【００４９】
カスタム設定ファイル３６３は、プリント拡張アプリ３００がプリンタドライバ２１１に対して利用できるサービスの設定を記載した設定ファイルである。
【００５０】
次に、共通プリンタドライバについて説明する。簡単に印刷を行いたいユーザにとって、インストールは手間となる。これを解消するために使用するのが共通プリンタドライバである。共通プリンタドライバは例えばＩＰＰを使用して印刷を行うことのできるＭｏｐｒｉａ（登録商標）対応のプリンタに対応した共通のプリンタドライバである。この場合、Ｍｏｐｒｉａ（登録商標）対応のプリンタを持つユーザはプリンタベンダ製のプリンタドライバをインストールすることなく、共通プリンタドライバを使用して簡単に印刷を行うことができる。しかも共通プリンタドライバはプリンタベンダに依存しないため、どこのプリンタベンダのプリンタに対しても同様に使用することができる。
【００５１】
続けて、共通プリンタドライバとプリント拡張アプリの関係について説明する。図４はプリンタＡ１０２およびプリンタＢ１０３に対する共通プリンタドライバのプリントキュー５０２、５０３とプリント拡張アプリ３００との関係を示した図である。プリンタＡ１０２に対応するのが共通プリンタドライバのプリンタキュー５０２であり、プリンタＢ１０３に対応するのが共通プリンタドライバのプリンタキュー５０３である。それぞれ実体としてのプリンタは異なるがどちらも共通プリンタドライバが印刷データを生成し、印刷ジョブを発行する。共通プリンタドライバはプリンタＡ１０２、プリンタＢ１０３からある程度の能力情報を取得してそれぞれの能力に応じた印刷設定が可能になっている。しかし、共通プリンタドライバは複数ベンダの複数プリンタに対応するために設定可能な印刷設定の種類が少ない。これを補うのがプリント拡張アプリ３００である。プリンタＡ用プリント拡張アプリ６０２はプリンタＡに特化したプリント拡張アプリ３００であり、プリンタＢ用プリント拡張アプリ６０３はプリンタＢに特化したプリント拡張アプリ３００である。プリント拡張アプリ３００はプリンタベンダによって作成される。これにより共通プリンタドライバがプリンタの種類に依存しないソフトウェアであるのに対してプリント拡張アプリ３００はプリンタごとのより細かい印刷設定を行う事が可能である。図４に示すように共通プリンタドライバに対してプリンタの種類に応じたプリント拡張アプリ３００を関連付けるためのフローが必要となる。関連付けのフローについては図５を用いて後述する。なお、「関連付け」とは、具体的にはたとえばＯＳ２１０がレジストリ３５３に対してプリンタドライバ２１１に関連付くプリント拡張アプリ３００の識別子を登録することである。
【００５２】
レジストリ３５３に限らず、所定の記憶領域やデータベースにおいて、プリンタドライバ２１１の識別子と関連付けるべきプリント拡張アプリ３００の識別子を対応付けて登録することができる。単に一対一対応の表にするだけでなく、プリンタドライバ２１１に対して複数の拡張アプリを対応付けて登録することも可能である。
【００５３】
これによりＯＳ２１はプリンタドライバ２１１の使用時に、関連付けがされているプリント拡張アプリ３００の詳細印刷設定ＵＩ部を表示したり、印刷時起動ＵＩ部３０３を表示したりすることができる。
【００５４】
図５は共通プリンタドライバとプリント拡張アプリを関連付けるためのフローを示す図である。図５はクライアントコンピュータ１０１のＯＳ２１０の処理である。ここで説明するＯＳ２１０の処理はＲＡＭ２０２にロードされ、ＣＰＵ２０１によって実行される。
【００５５】
ＯＳ２１０へのプリンタの導入時、ＯＳ２１０はネットワーク内のプリンタを探索してユーザに対して表示する（Ｓ１０１）。ＯＳ２１０へのプリンタ導入時とは、たとえば、ネットワークまたはローカルインタフェース上に新しくプリンタが発見されて所定のイベントが発生したときがある。またはユーザに指示によりプリンタ導入が開始される場合がある。
【００５６】
そしてＯＳ２１０は探索された全てのプリンタからどのプリンタに対するプリンタドライバ２１１をインストールするかについてユーザ入力を受け付ける（Ｓ１０２）。ＯＳ２１０はユーザによって指定されたプリンタに印刷可能なプリンタドライバ２１１をインストールしてプリンタキュー３０８を生成する（Ｓ１０３）。次にＯＳ２１０はユーザによって指定されたプリンタ（実デバイス）からプリンタの機種ごとに決められたハードウェアＩＤ（＝ＨＷＩＤ）をネットワーク等を介して取得する（Ｓ１０４）。次にＯＳ２１０はプリンタのＨＷＩＤを元にプリント拡張アプリ３００を取得してＳ１０３で生成したプリンタキュー３０８に関連付ける（Ｓ１０５）。Ｓ１０５の具体的な処理は図６と図７を用いて後述する。このようにして、プリンタドライバとプリント拡張アプリ３００との関連付けが行われる。
【００５７】
図６はＯＳ２１０におけるＳ１０５の処理について、比較例としてのＯＳ２１０の処理を示したフロー図である。ここで説明するＯＳ２１０の処理もＲＡＭ２０２にロードされ、ＣＰＵ２０１によって実行される。まずＯＳ２１０はプリンタのＨＷＩＤを元に、対応するメタデータ３２０が存在するかをメタデータ配信サーバ１０８に問い合わせる（Ｓ３０１）。ＯＳ２１０はメタデータ３２０が存在するかを確認し（Ｓ３０２）、存在しない場合は処理を終了する。Ｓ１０４で取得されたＨＷＩＤに対応するメタデータ３２０が存在する場合、ＯＳ２１０はそのメタデータ３２０をダウンロードする（Ｓ３０３）。そしてそのメタデータ３２０をプリンタキュー３０８に関連付ける（Ｓ３０４）。次にＯＳ２１０はダウンロードしたメタデータ３２０を参照し、メタデータ３２０の中からプリント拡張アプリ３００のアプリ識別子を取得する（Ｓ３０５）。そしてＯＳ２１０はそのアプリ識別子を元にプリント拡張アプリ３００を拡張アプリ配信サーバ１０７に問い合わせる（Ｓ３０６）。ＯＳ２１０はプリント拡張アプリ３００が存在するか確認する（Ｓ３０７）。Ｓ３０７で、存在しないと確認された場合は処理を終了する。Ｓ３０７で存在すると確認された場合、ＯＳ２１０はそのプリント拡張アプリ３００をダウンロードする（Ｓ３０８）。次にＯＳ２１０はダウンロードしたプリント拡張アプリ３００をインストールする（Ｓ３０９）。さらにＯＳ２１０はインストールしたプリント拡張アプリ３００をプリンタキュー３０８に関連付ける（Ｓ３１０）。このようにしてメタデータ３２０を介してプリンタキュー３０８とプリント拡張アプリ３００との関連付けを行っている。
【００５８】
図７はＯＳ２１０における図５のＳ１０６の処理について、本実施形態におけるＯＳ２１０の処理を示したフロー図である。ここで説明するＯＳ２１０の処理もＲＡＭ２０２にロードされ、ＣＰＵ２０１によって実行される。まずＯＳ２１０はＳ１０４で取得されたプリンタのＨＷＩＤを元に、対応するプリント拡張アプリ３００が存在するかを検索サーバ１０６に問い合わせる（Ｓ２０１）。ＯＳ２１０はＨＷＩＤに対応するプリント拡張アプリ３００が存在するかを確認する（Ｓ２０２）。存在しないとＳ２０２で確認された場合は処理を終了する。ＨＷＩＤに対応するプリント拡張アプリ３００が存在するとＳ２０２で確認された場合、ＯＳ２１０はそのプリント拡張アプリ３００をダウンロードする（Ｓ２０３）。次にＯＳ２１０はダウンロードしたプリント拡張アプリ３００とプリンタドライバ２１１が対応しているかどうかを確認する（Ｓ２０４）。具体的には、Ｓ１０４で取得されたプリンタのＨＷＩＤを検索サーバ１０６に対してＯＳ２０１は送信する。これに対する返信として、ＯＳ２１０は、ＨＷＩＤに対応するプリント拡張アプリ３００のリストを受信する。これにより、Ｓ２０２でＨＷＩＤに対応するアプリがあるかが確認される。
【００５９】
ここで確認するＳ２０４の詳細を図１４に示す。ＯＳ２１０はまずダウンロードしたプリント拡張アプリ３００から対応ドライバ識別子を取得する（Ｓ８０１）。プリント拡張アプリ３００はそれぞれ対応するプリンタドライバの識別子を保持している。これによりプリント拡張アプリ３００は予期しないプリンタドライバに紐づくことを回避することができる。次にＯＳ２１０はプリンタキュー３０８のドライバ識別子が前記対応ドライバ識別子の中に存在するかどうかを確認する（Ｓ８０２）。Ｓ８０２で存在すると確認された場合、ＯＳ２１０はプリンタキュー３０８に対応しているプリント拡張アプリ３００であると判断する。Ｓ８０２で存在しないと確認された場合、ＯＳ２１０はプリンタキュー３０８に対応していないプリント拡張アプリ３００であると判断する。
【００６０】
前述の図１４の処理で確認した結果、対応していないと確認された場合（Ｓ２０４−ＮＯ）、ＯＳ２１０は関連付けを行わずに終了する。一方、対応していると確認された場合（Ｓ２０４−ＹＥＳ）、ＯＳ２１０はダウンロードしたプリント拡張アプリ３００をインストールする（Ｓ２０５）。そしてＯＳ２１０はインストールしたプリント拡張アプリ３００をプリンタキュー３０８に関連付ける（Ｓ２０６）。このようにして、ＯＳ２１０はプリンタキュー３０８とプリント拡張アプリ３００の関連付けのためにメタデータ３２０を使用せず、直接関連付けを行う。これによりＭｉｃｒｏｓｏｆｔ（登録商標）製の共通プリンタドライバのプリンタキュー３０８であってもプリンタベンダ製のプリント拡張アプリ３００と関連付けを行うことができる。
【００６１】
なお、ＯＳ２１０は関連付けを行う際に、図６の処理と図７の処理を使い分けて実施することも可能である。例えば、該当するメタデータ３２０がメタデータ配信サーバ１０８に存在するか否かでメタデータ３２０を使用して関連付けを行うか直接プリント拡張アプリ３００との関連付けを行うかを決定してもよい。もしくは関連付け対象のプリンタドライバがベンダ製プリンタドライバの場合は図６の処理を行い、共通プリンタドライバの場合は図７の処理を行う方法を取ってもよい。このようにすることで、従来のメタデータ３２０の資産を活用しつつ共通プリンタドライバへの関連付けにも対応することができる。
【００６２】
次に図８を用いて検索サーバ１０６が行う処理フローについて説明する。拡張検索サーバは、図２と同様のハードウェア構成を持ちうる。具体的にはクライアントコンピュータ１０１のＯＳ２１０が図７のＳ２０１においてＨＷＩＤに対応するプリント拡張アプリ３００を問い合わせた際に検索サーバ１０６が行う処理である。ここで説明する検索サーバ１０６の処理は検索サーバ１０６内に存在するＲＡＭにロードされ、検索サーバ１０６内のＣＰＵによって実行される。まず、検索サーバ１０６は任意のクライアントコンピュータ１０１からＨＷＩＤを伴うプリント拡張アプリ３００の要求を受け付ける（Ｓ４０１）。検索サーバ１０６は内部に保持しているＨＷＩＤとプリント拡張アプリの対応表を取得する（Ｓ４０２）。
【００６３】
ここで、ＨＷＩＤとプリント拡張アプリの対応表について図１０を用いて説明する。検索サーバ１０６は図１０に示すプリンタのＨＷＩＤとプリント拡張アプリの対応表を保持している。プリンタのＨＷＩＤ５０１はプリンタの機種ごとに固有のＩＤであり、機種が異なれば別々のＩＤが降られている。プリント拡張アプリ名称５０２はプリント拡張アプリの名称であり一般のユーザが識別しやすい名称となっている。アプリ識別子（ＡｐｐＩＤ）５０３は配信サーバ１０５で管理されている識別子であり、配信サーバ１０５はアプリ識別子によってすべての拡張アプリの中から該当するプリント拡張アプリ３００を特定することができる。図１０に示す対応表はプリント拡張アプリ３００が新規に開発されて登録されるたびに更新されうる。たとえば、更新用の対応表はネットワークを介して外部の装置から配信サーバ１０５へ送信される。そして、古い対応表は新しい対応表を用いて配信サーバ１０５において更新されうる。
【００６４】
プリンタベンダは一つのプリント拡張アプリ３００を登録する際に関連付けを行うべきプリンタの一つのＨＷＩＤを同時に登録できる。さらに、一つのプリンタのＨＷＩＤに対して複数のアプリ識別子を設けてもよい。いずれの際も、その登録内容が図１０の対応表に追加される。図１０の例では、ひとつのプリンタに対してそれぞれひとつのアプリ識別子が登録されている。また、たとえば、ＰｒｉｎｔｅｒＡＡＡが列５０１に二度現れることを許してもよい。これは、一つのプリンタに対して複数の拡張プリンタアプリを設けることを意味する。
【００６５】
検索サーバ１０６が対応表を取得したら、検索サーバ１０６はクライアントコンピュータ１０１から届いたＨＷＩＤに対応するプリント拡張アプリ３００が対応表に存在するかを確認する（Ｓ４０３）。
【００６６】
例えば、プリンタのＨＷＩＤとしてＰｒｉｎｔｅｒＡＡＡが取得されたら、検索サーバ１０６は、図１０の表を検索して、ＰｒｉｎｔｅｒＡＡＡに対応するアプリの識別子はＡＡＡ０１であると確認する。そして、検索サーバ１０６はクライアントに対してＡＡＡ０１およびプリント拡張アプリ名称Ｐｒｉｎｔ  Ａｐｐ  ＡＡＡを通知することができる。原則ここでのＨＷＩＤは、プリンタからクライアントコンピュータが取得したものである。
【００６７】
図４の説明に戻る。Ｓ４０３で存在しないと確認された場合次の処理をする。検索サーバ１０６は要求元のクライアントコンピュータ１０１にエラーを返す（Ｓ４０９）、そして処理を終了する。Ｓ４０３で存在すると確認された場合、検索サーバ１０６はプリント拡張アプリ３００のアプリ識別子を取得する（Ｓ４０４）。そして検索サーバ１０６はそのアプリ識別子を元にプリント拡張アプリ３００を配信サーバ１０５に問い合わせる（Ｓ４０５）。検索サーバ１０６は配信サーバ１０５に求めるプリント拡張アプリ３００が存在していたかを確認する（Ｓ４０６）。存在しないとＳ４０６で確認された場合、検索サーバ１０６は要求元のクライアントコンピュータ１０１にエラーを返す（Ｓ４０９）。そして、処理を終了する。Ｓ４０６で存在すると確認された場合、検索サーバ１０６はそのプリント拡張アプリ３００をダウンロードする（Ｓ４０７）。そして検索サーバ１０６は取得したプリント拡張アプリ３００を要求元のクライアントコンピュータ１０１からダウンロード可能にする（Ｓ４０８）。そして、Ｓ４０８ではクライアントコンピュータに対してダウンロード可能にしたプリント拡張アプリ３００のリストを通知する。プリント拡張アプリは複数リストに掲載される場合もある。この通知に応じてクライアントコンピュータは自動的にプリント拡張アプリ３００が存在することを確認し、ダウンロードしてもよい（Ｓ３０８）。
【００６８】
検索サーバ１０６が図８の処理を行う。これにより、配信サーバ１０５は共通プリンタドライバに対してもプリンタベンダ製プリンタドライバに対しても動作を変えることなく適切なプリント拡張アプリ３００を提供することができる。なお、ここでは説明を簡単にするためにＳ４０７において検索サーバ１０６が実際のプリント拡張アプリ３００をあらかじめダウンロードする方法について説明した。変形例として、Ｓ４０７ではダウンロードせずにクライアントコンピュータ１０１からの取得要求が来た後に拡張アプリ配信サーバからダウンロード可能にする方法をとることもできる。
【００６９】
次に図９を用いて配信サーバ１０５が行う処理フローについて説明する。具体的にはクライアントコンピュータ１０１が図７のＳ３０６で配信サーバ１０５に問い合わせる際、もしくは検索サーバ１０６が図８のＳ４０５で配信サーバ１０５に問い合わせる際に配信サーバ１０５が行う処理である。ここで説明する配信サーバ１０５の処理は配信サーバ１０５内に存在する不図示のＲＡＭにロードされ、配信サーバ１０５内の不図示のＣＰＵによって実行される。まず、配信サーバ１０５は任意のクライアントコンピュータ１０１もしくは検索サーバ１０６からアプリ識別子によるプリント拡張アプリ要求を受け付ける（Ｓ５０１）。要求が届いたら配信サーバ１０５はそのアプリ識別子のプリント拡張アプリ３００を保持しているかを確認する（Ｓ５０２）。保持していない場合、配信サーバ１０５は要求元のクライアントコンピュータ１０１もしくは検索サーバ１０６に対してエラーを返して（Ｓ５０１）処理を終了する。保持している場合、配信サーバ１０５は指定されたアプリ識別子を持つプリント拡張アプリ３００を特定する（Ｓ５０３）。そして配信サーバ１０５はその特定したプリント拡張アプリ３００を要求元からダウンロード可能にする（Ｓ５０１）。このようにして、配信サーバ１０５は要求元が何かに関わらず同じ処理を行えばよい。ダウンロード可能になると、クライアントコンピュータ１０１の要求に応じて拡張アプリはダウンロード可能になる。
【００７０】
以上、図を用いて本発明の第１の実施形態について説明を行った。本発明のシステムが上記の構成をとることで、共通プリンタドライバに対してもＨＷＩＤに応じた適切なプリント拡張アプリ３００を関連付けることが可能となる。
【００７１】
＜第２の実施形態＞
以下では特に断らない限り同じ符号は同じ装置や機能を示す。第１の実施形態と異なる部分を中心に説明する。第１の実施形態では検索サーバ１０６がＨＷＩＤに対応するプリント拡張アプリ３００を検索する処理を行う例について説明した。しかし、検索サーバ１０６の存在は必須ではない。具体的には、配信サーバ１０５が検索サーバ１０６の機能も担う事で実施が可能であるため、第２の実施形態として説明する。つまり，１０５と１０６が一体化することも考えられる。
【００７２】
図１１は第２の実施形態における印刷システムの構成を示している。第１の実施形態における図１とほぼ同じ構成であるが、検索サーバ１０６が存在しない点が相違点である。それぞれの構成要素の詳細は前記説明済みであるためここでは省略する。第１の実施形態において図２〜図５、図７で説明した内容も第２の実施形態に適用できるため説明を省略する。
【００７３】
図１２はクライアントコンピュータ１０１のＯＳ２１０における図５のＳ１０５の処理をより詳細に示したフロー図である。ここで説明するＯＳ２１０の処理もＲＡＭ２０２にロードされ、ＣＰＵ２０１によって実行される。図１２のフローにおいて、図７との違いはＳ６０１である。ＯＳ２１０がプリンタのＨＷＩＤを元に、プリント拡張アプリ３００の存在を問い合わせる先が検索サーバ１０６ではなく配信サーバ１０５となっている点である（Ｓ６０１）。それ以外の処理（Ｓ６０２〜Ｓ６０６）は第１の実施形態における処理（Ｓ２０２〜Ｓ２０６）と同じであるため説明を省略する。クライアントコンピュータ１０１のＯＳ２１０がこのような処理を行う事で、システム内に検索サーバ１０６を別途立てる必要がなくなる。
【００７４】
図１２はクライアントコンピュータ１０１が、図６のＳ３０６や図１２のＳ６０１において配信サーバ１０５に対して問い合わせを行う際に、配信サーバ１０５が行うフローを示している。ここで説明する配信サーバ１０５の処理は配信サーバ１０５内に存在する不図示のＲＡＭにロードされ、配信サーバ１０５内の不図示のＣＰＵによって実行される。まず、配信サーバ１０５は任意のクライアントコンピュータ１０１からプリント拡張アプリ要求を受け付ける（Ｓ７０１）。次に配信サーバ１０５はその要求がアプリ識別子によるプリント拡張アプリ要求かどうかを確認する（Ｓ７０２）。アプリ識別子によるプリント拡張アプリ要求の場合、配信サーバ１０５は自身の保持するプリント拡張アプリ３００の中から指定されたアプリ識別子を持つプリント拡張アプリ３００を特定する（Ｓ７０３）。そうではない場合、次に配信サーバ１０５はＨＷＩＤによるプリント拡張アプリ要求かどうかを確認する（Ｓ７０４）。ＨＷＩＤによるプリント拡張アプリ要求の場合、配信サーバ１０５は自身の保持するプリント拡張アプリ３００の中から指定されたＨＷＩＤを持つプリント拡張アプリ３００を特定する（Ｓ７０５）。そして配信サーバ１０５は特定したプリント拡張アプリ３００を自身が保持しているかを確認する（Ｓ７０６）。保持ししている場合、配信サーバ１０５は特定したプリント拡張アプリを要求元のクライアントコンピュータ１０１からダウンロード可能にする（Ｓ７０７）。保持していない場合、配信サーバ１０５は要求元のクライアントコンピュータ１０１にエラーを返す（Ｓ７０２）。
【００７５】
以上、図を用いて本発明の第２の実施形態について説明を行った。本発明のシステムが上記の構成をとることで、検索サーバ１０６を有せずとも第１の実施形態と同等の効果を得ることができる。
【００７６】
情報処理装置の一例であるクライアントコンピュータ１０１は、プリンタドライバの一例であるプリンタドライバ２１１をインストール可能である。また、サーバ装置の一例である配信サーバ１０５と通信可能である。また、画像形成装置の一例であるプリンタＡ１０２やプリンタＢ１０３とも通信可能である。なお、プリンタドライバ２１１は複数のプリンタに対応可能である共通プリンタドライバやユニバーサルプリンタドライバでありうる。
【００７７】
また、画像形成装置の識別情報の一例であるＨＷＩＤをネットワークＩ／Ｆ２１４で受信する。また、ネットワークＩ／Ｆ２１４経由で受信したＨＷＩＤを、ネットワークＩ／Ｆ２１４は、配信サーバ１０５に対して送信する。ネットワークＩ／Ｆ２１４は送信手段、受信手段の一例である。プリント拡張アプリ３００は、拡張アプリケーションの一例である。
【００７８】
さらに、配信サーバ１０５から送信されてくるプリント拡張アプリ３００であって尚且つネットワークＩ／Ｆ２１４により送信されたＨＷＩＤに対応するプリント拡張アプリ３００をプログラムＡとする。ＣＰＵ２０１は、プログラムＡと、プリンタドライバ２１１とを関連付ける処理を実行する。ＣＰＵ２０１は実行手段の一例である。クライアントコンピュータ１０１は、配信サーバ１０５から送信されてくるプリント拡張アプリ３００が、プリンタドライバ２１１に対応しているかどうかを確認してもよい。
【００７９】
また、対応していると確認されたことを条件として、プリント拡張アプリ３００をインストールするようにしてもよい。
【００８０】
プリント拡張アプリ３００の識別情報の一例はアプリ識別子である。アプリ識別子を配信サーバ１０５に対して送信し、配信サーバ１０５から当該識別情報に対応するプリント拡張アプリ３００を前記受信手段は受信してもよい。また、１０１においてインストールされたプリンタドライバが、複数のプリンタＡ，Ｂで利用可能な共通プリンタドライバである場合と、そうでない場合とで異なる経路でプリント拡張アプリ３００を取得するようにしてもよい。制御手段の一例は、ＣＰＵ２０１である。
【００８１】
プリンタの識別情報であるＨＷＩＤには複数のプリント拡張アプリが対応づけ可能である。また、ＣＰＵ２０１は、送信したＨＷＩＤに対応する複数のプリント拡張アプリを、プリンタドライバ２１１に関連付ける処理を実行してもよい。
【符号の説明】
【００８２】
１０１  クライアントコンピュータ
１０５  拡張アプリ配信サーバ
１０６  拡張アプリ検索サーバ
２１１  プリンタドライバ
３００  プリント拡張アプリ
３０８  プリンタキュー
【図１】
2020087324.tif 000003
【図２】
2020087324.tif 000004
【図３】
2020087324.tif 000005
【図４】
2020087324.tif 000006
【図５】
2020087324.tif 000007
【図６】
2020087324.tif 000008
【図７】
2020087324.tif 000009
【図８】
2020087324.tif 000010
【図９】
2020087324.tif 000011
【図１０】
2020087324.tif 000012
【図１１】
2020087324.tif 000013
【図１２】
2020087324.tif 000014
【図１３】
2020087324.tif 000015
【図１４】
2020087324.tif 000016