(57)【要約】【課題】プリンタに対する接続の確立と連動して、クライアント装置の属性に適合したアプリケーションソフトをクライアント装置にインストールさせる。【解決手段】プリントサーバ１０は、クライアント装置からプリンタ接続要求を受け付ける要求受付部１１と、クライアント装置から属性情報を取得する取得部１２と、取得した属性情報に応じてアプリの構成を決定し、決定した構成のアプリをクライアント装置にインストールさせるためのアプリインストーラを生成する生成部１４と、生成したアプリインストーラを、プリンタ接続要求の対象として指定されたプリンタに対応するプリンタドライバのファイルおよび構成情報とともに、プリンタ接続要求に対する応答としてクライアント装置に送信する要求応答部１５と、を備える。【選択図】図２
2015049862.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介してクライアント装置と接続される情報処理装置であって、
前記クライアント装置から、前記情報処理装置に接続されているプリンタに対する接続要求を受け付ける要求受付部と、
前記クライアント装置から、該クライアント装置の属性情報を取得する取得部と、
取得した前記属性情報に応じて、前記プリンタによる印刷を支援するアプリケーションソフトの構成を決定し、決定した構成の前記アプリケーションソフトを前記クライアント装置にインストールさせるための第１情報を生成する生成部と、
生成した前記第１情報を、前記プリンタに対する接続を確立するための第２情報とともに、前記接続要求に対する応答として前記クライアント装置に送信する要求応答部と、を備える情報処理装置。
【請求項２】
前記アプリケーションソフトは、印刷に関わる機能と、該機能の動作条件を示すフロー定義と、を含んで構成され、
前記生成部は、取得した前記属性情報に応じて、前記アプリケーションソフトに含まれる前記機能と前記フロー定義とを決定する、請求項１に記載の情報処理装置。
【請求項３】
前記属性情報は、前記クライアント装置を使用するユーザの識別情報であり、
前記識別情報と前記ユーザの業務とを対応付けた第１テーブルと、前記業務と該業務に適合する前記機能とを対応付けた第２テーブルと、前記業務と該業務に適合する前記フロー定義とを対応付けた第３テーブルとを記憶する記憶部をさらに備え、
前記生成部は、取得した前記識別情報を前記第１テーブルと照合して前記ユーザの業務を特定し、特定した前記業務を前記第２テーブルおよび前記第３テーブルと照合して、前記アプリケーションソフトに含まれる前記機能と前記フロー定義とを決定する、請求項２に記載の情報処理装置。
【請求項４】
前記第１テーブルは、前記アプリケーションソフトの利用を許可するか否かを示す利用許可情報を前記識別情報にさらに対応付けており、
前記生成部は、取得した前記識別情報に対応する利用許可情報が前記アプリケーションソフトの利用を許可するものである場合に前記第１情報を生成し、
前記要求応答部は、取得した前記識別情報に対応する利用許可情報が前記アプリケーションソフトの利用を許可しないものである場合には、前記接続要求に対する応答として、前記第２情報のみを前記クライアント装置に送信する、請求項３に記載の情報処理装置。
【請求項５】
前記プリンタが前記クライアント装置に接続されることを示す通知を前記クライアント装置に送信する通知部をさらに備え、
前記アプリケーションソフトは、前記クライアント装置が前記通知を受信したことをトリガとして前記クライアント装置にインストールされること、を特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記第１情報は、前記アプリケーションソフトに含まれる前記機能のコンポーネントを含んだインストーラであり、
前記アプリケーションソフトは、前記インストーラの起動により前記クライアント装置にインストールされる、請求項１に記載の情報処理装置。
【請求項７】
前記第１情報は、前記アプリケーションソフトに含まれる前記機能のコンポーネントを保持する前記ネットワーク上の外部装置から前記コンポーネントを取得するための情報を含んだインストーラであり、
前記アプリケーションソフトは、前記インストーラの起動により、前記コンポーネントが前記外部装置から取得されて前記クライアント装置にインストールされる、請求項１に記載の情報処理装置。
【請求項８】
前記アプリケーションソフトは、前記情報処理装置に接続されている複数の前記プリンタに対応しており、
前記生成部は、前記接続要求の対象とされた前記プリンタに対応する前記アプリケーションソフトが前記クライアント装置にインストールされていない場合に前記第１情報を生成し、
前記要求応答部は、前記接続要求の対象とされた前記プリンタに対応する前記アプリケーションソフトが前記クライアント装置にすでにインストールされている場合には、前記接続要求に対する応答として、前記第２情報のみを前記クライアント装置に送信する、請求項１に記載の情報処理装置。
【請求項９】
前記アプリケーションソフトは、該アプリケーションソフトが対応する複数の前記プリンタのうち、前記クライアント装置が接続を確立した前記プリンタを管理する機能を有し、管理対象となっているすべての前記プリンタが削除されると、前記クライアント装置からアンインストールされる、請求項８に記載の情報処理装置。
【請求項１０】
情報処理装置とクライアント装置とがネットワークを介して接続されるシステムであって、
前記情報処理装置は、
前記クライアント装置から、前記情報処理装置に接続されているプリンタに対する接続要求を受け付ける要求受付部と、
前記クライアント装置から、該クライアント装置の属性情報を取得する取得部と、
取得した前記属性情報に応じて、前記プリンタによる印刷を支援するアプリケーションソフトの構成を決定し、決定した構成の前記アプリケーションソフトを前記クライアント装置にインストールさせるための第１情報を生成する生成部と、
生成した前記第１情報を、前記プリンタに対する接続を確立するための第２情報とともに、前記接続要求に対する応答として前記クライアント装置に送信する要求応答部と、を備え、
前記クライアント装置は、
前記情報処理装置に対して前記接続要求を行う要求部と、
前記情報処理装置に前記属性情報を送信する送信部と、
前記情報処理装置から前記第１情報および前記第２情報を受信する受信部と、
前記第１情報に基づいて前記アプリケーションソフトのインストール処理を行う処理部と、を備えるシステム。
【請求項１１】
ネットワークを介してクライアント装置と接続される情報処理装置において実行される方法であって、
前記情報処理装置が、前記クライアント装置から、前記情報処理装置に接続されているプリンタに対する接続要求を受け付けるステップと、
前記情報処理装置が、前記クライアント装置から、該クライアント装置の属性情報を取得するステップと、
前記情報処理装置が、取得した前記属性情報に応じて、前記プリンタによる印刷を支援するアプリケーションソフトの構成を決定し、決定した構成の前記アプリケーションソフトを前記クライアント装置にインストールさせるための第１情報を生成するステップと、
前記情報処理装置が、生成した前記第１情報を、前記プリンタに対する接続を確立するための第２情報とともに、前記接続要求に対する応答として前記クライアント装置に送信するステップと、を含む方法。
【請求項１２】
ネットワークを介してクライアント装置と接続されるコンピュータに、
前記クライアント装置から、前記コンピュータに接続されているプリンタに対する接続要求を受け付ける機能と、
前記クライアント装置から、該クライアント装置の属性情報を取得する機能と、
取得した前記属性情報に応じて、前記プリンタによる印刷を支援するアプリケーションソフトの構成を決定し、決定した構成の前記アプリケーションソフトを前記クライアント装置にインストールさせるための第１情報を生成する機能と、
生成した前記第１情報を、前記プリンタに対する接続を確立するための第２情報とともに、前記接続要求に対する応答として前記クライアント装置に送信する機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷を支援するアプリケーションソフトをクライアント装置に配布する情報処理装置、システム、方法およびプログラムに関する。
【背景技術】
【０００２】
従来、クライアント装置に所定のアプリケーションソフトを配布することで、クライアント装置からプリンタにアクセスして印刷処理を実行する際に様々な印刷支援を行えるようにする技術が知られている。また、このようなアプリケーションソフトを、プリンタドライバのインストールに連動させてクライアント装置にインストールさせる技術も知られている（例えば、特許文献１参照）。
【０００３】
特許文献１には、クライアント装置からサーバを介してプリンタにアクセスがあると、サーバが、クライアント用インストーラの送信に続いて、ユーティリティインストーラをクライアント装置へ送信することが記載されている。この特許文献１に記載の技術によれば、サーバに接続されているプリンタに適合するユーティリティソフト（印刷を支援するアプリケーションソフト）を、クライアント装置へ確実にインストールすることができる。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、クライアント装置において有用な印刷支援の機能は、例えばクライアント装置を使用するユーザの業務内容など、クライアント装置の属性に応じて異なる場合が多い。つまり、同じ印刷支援の機能であっても、クライアント装置の属性によってはその機能が必要であったり、必要でなかったりする。また、クライアント装置に与える印刷支援の機能に対して、ネットワークの管理者が一定の制限を設けたいと考える場合もある。特許文献１に記載の技術では、クライアント装置の属性に関わらず、プリンタに適合したユーティリティソフトがクライアント装置に一律にインストールされるため、上記の要求に対応することができない。
【０００５】
本発明は、上記に鑑みてなされたものであって、プリンタに対する接続の確立と連動して、クライアント装置の属性に適合したアプリケーションソフトをクライアント装置にインストールさせることができる情報処理装置、システム、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、ネットワークを介してクライアント装置と接続される情報処理装置であって、前記クライアント装置から、前記情報処理装置に接続されているプリンタに対する接続要求を受け付ける要求受付部と、前記クライアント装置から、該クライアント装置の属性情報を取得する取得部と、取得した前記属性情報に応じて、前記プリンタによる印刷を支援するアプリケーションソフトの構成を決定し、決定した構成の前記アプリケーションソフトを前記クライアント装置にインストールさせるための第１情報を生成する生成部と、生成した前記第１情報を、前記プリンタに対する接続を確立するための第２情報とともに、前記接続要求に対する応答として前記クライアント装置に送信する要求応答部と、を備える。
【発明の効果】
【０００７】
本発明によれば、プリンタに対する接続の確立と連動して、クライアント装置の属性に適合したアプリケーションソフトをクライアント装置にインストールさせることができるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、実施形態のネットワークシステムの構成例を示すシステム構成図である。
【図２】図２は、プリントサーバの機能的な構成例を示すブロック図である。
【図３】図３は、第１テーブルの一例を示す図である。
【図４】図４は、第２テーブルの一例を示す図である。
【図５】図５は、第３テーブルの一例を示す図である。
【図６】図６は、フロー定義ファイルの一例を示す図である。
【図７】図７は、クライアント装置の機能的な構成例を示すブロック図である。
【図８】図８は、クライアント装置とプリントサーバとの間で連携して行われる情報処理の概要を示すシーケンス図である。
【図９】図９は、クライアント装置の処理手順を示すフローチャートである。
【図１０】図１０は、プリントサーバの処理手順を示すフローチャートである。
【図１１】図１１は、アプリの更新が発生した場合のプリントサーバの処理手順を示すフローチャートである。
【図１２】図１２は、複数のプリンタに対して共通のアプリが対応付けられている場合のプリントサーバの処理手順を示すフローチャートである。
【図１３】図１３は、アプリの構成例を示すブロック図である。
【図１４】図１４は、プリンタリストの一例を示す図である。
【図１５】図１５は、プリンタ削除のイベントが発生した場合のクライアント装置の処理手順を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明に係る情報処理装置、システム、方法およびプログラムの実施形態を詳細に説明する。
【００１０】
図１は、本実施形態のネットワークシステムの構成例を示すシステム構成図である。図１に示すネットワークシステムは、情報処理装置としてのプリントサーバ１０と、複数のクライアント装置２０Ａ，２０Ｂ（以下、総称する場合は「クライアント装置２０」という）と、複数のプリンタ３０Ａ，３０Ｂ（以下、総称する場合は「プリンタ３０」という）と、を備える。プリントサーバ１０と複数のクライアント装置２０は、それぞれネットワーク４０に接続され、ネットワーク４０を介して相互に通信ができる状態となっている。また、複数のプリンタ３０は、プリントサーバ１０に対して直接、あるいはネットワーク４０を通じて接続されている。図１に示す例では、プリンタ３０Ａがプリントサーバ１０に直接接続され、プリンタ３０Ｂがネットワーク４０を通じてプリントサーバ１０に接続されている。
【００１１】
なお、図１に示す構成はネットワークシステムの一構成例であり、これに限定されるものではない。例えば、ネットワーク４０に接続されたそれぞれの要素は、同じサブネット内にあってもよいし、間にルータやスイッチなどのネットワーク機器を挟んだ構成であってもよい。また、ネットワークシステムに含まれるクライアント装置２０の数やプリンタ３０の数は任意である。図１ではクライアント装置２０として２つのクライアント装置２０Ａ，２０Ｂを図示しているが、３つ以上のクライアント装置２０が存在していてもよい。また、図１ではプリントサーバ１０に接続されたプリンタ３０として２つのプリンタ３０Ａ，３０Ｂを図示しているが、プリンタ３０の数は１つであってもよいし、３つ以上であってもよい。また、プリンタ３０は、印刷機能のみを持つものであってもよいし、印刷機能のほかに、コピー機能、ファクシミリ機能、スキャナ機能などを装備した複合機であってもよい。
【００１２】
本実施形態のネットワークシステムでは、複数のクライアント装置２０が、プリントサーバ１０に接続されているプリンタ３０を共有して利用することができる。クライアント装置２０は、プリンタ３０を利用する場合、プリントサーバ１０に対して、接続を確立したいプリンタ３０を指定したプリンタ接続要求を行う。プリントサーバ１０は、クライアント装置２０からのプリンタ接続要求に応じて、指定されたプリンタ３０に対する接続を確立するために必要な情報（第２情報）をクライアント装置２０に渡す。この情報は、例えば、指定されたプリンタ３０に対応するプリンタドライバのファイルおよび構成情報である。クライアント装置２０は、プリントサーバ１０からこれらの情報を受信（ダウンロード）することにより、指定したプリンタ３０に対する接続を確立し、以降、このプリンタ３０を印刷データの出力先として利用することができる。
【００１３】
また、本実施形態のネットワークシステムでは、クライアント装置２０からプリンタ接続要求があった場合に、プリントサーバ１０が、指定されたプリンタ３０による印刷を支援するユーティリティであるアプリケーションソフト（以下、「アプリ」と略称する）をクライアント装置２０に対して配布する。この際、プリントサーバ１０は、クライアント装置２０の属性情報を取得し、この属性情報に基づいてクライアント装置２０に適合したアプリの構成を決定する。そして、決定した構成のアプリをクライアント装置２０にインストールさせるための情報（第１情報）を生成する。この情報は、例えば、アプリに含まれる機能のコンポーネントを含んだアプリインストーラである。プリントサーバ１０は、このアプリインストーラを、上述したプリンタドライバのファイルおよび構成情報とともに、プリンタ接続要求に対する応答としてクライアント装置２０に渡す。クライアント装置２０は、プリントサーバ１０からアプリインストーラを受信（ダウンロード）し、例えば、プリンタ３０がクライアント装置２０に接続されることを示す通知（プリンタ追加の通知）の受信をトリガとして、このアプリインストーラを起動する。これにより、プリンタ３０による印刷を支援するアプリが、プリンタ３０に対する接続の確立と連動して、クライアント装置２０に自動的にインストールされる。
【００１４】
本実施形態のネットワークシステムでは、プリントサーバ１０とクライアント装置２０との間で以上の処理が実行されることにより、プリンタ３０に対する接続の確立と連動して、クライアント装置２０の属性に適合したアプリをクライアント装置２０にインストールさせることができる。
【００１５】
本実施形態のネットワークシステムにおいて、プリントサーバ１０およびクライアント装置２０は、通常のコンピュータシステムとしてのハードウェア構成を有する。つまり、プリントサーバ１０およびクライアント装置２０は、それぞれ、ＣＰＵ（Central  Processing  Unit）などの制御装置、ＲＯＭ（Read  Only  Memory）やＲＡＭ（Random  Access  Memory）などの記憶装置、ハードディスクドライブ、ＣＤ（Compact  Disc）ドライブ、ＤＶＤ（Digital  Versatile  Disc）ドライブ、フラッシュメモリなどの補助記憶装置、これらを接続するバスなどを備える。
【００１６】
また、プリントサーバ１０およびクライアント装置２０には、それぞれオペレーションシステムが搭載され、各種のアプリケーションプログラムは、このオペレーションシステム上で動作する。オペレーションシステムとしては、例えば、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）が知られている。Ｗｉｎｄｏｗｓ（登録商標）は、クライアントがサーバ上のリモートプリンタへの接続を確立するためのプリンタドライバのファイルおよび構成情報を自動的にダウンロードするポイントアンドプリントと呼ばれる機能をサポートしている。また、Ｗｉｎｄｏｗｓ（登録商標）は、ポイントアンドプリントを実行する際に任意のファイルをコピーしたり、イベントを受信したりするためのインタフェースを提供している。プリントサーバ１０およびクライアント装置２０がオペレーションシステムとしてＷｉｎｄｏｗｓ（登録商標）を搭載している場合、これらの機能を利用することで、上述した処理を簡便に行うこともできる。すなわち、プリンタドライバのファイルおよび構成情報のダウンロードをポイントアンドプリントで行い、コピー対象のファイルとしてアプリインストーラを指定し、受信するイベントとしてプリンタ追加の通知のイベントを指定することにより、上述した処理の一部をオペレーションシステムの動作として実行させることができる。
【００１７】
以下では、本実施形態のネットワークシステムの具体例についてさらに詳しく説明する。なお、以下に示す例では、クライアント装置２０の属性情報として、クライアント装置２０を使用するユーザの識別情報であるユーザ名を用いるが、クライアント装置２０の属性情報はこれに限らない。例えば、クライアント装置２０のハードウェア・ソフトウェア構成を示す情報を属性情報として用いてもよいし、クライアント装置２０の設置位置の情報など、その他の情報を属性情報として用いてもよい。
【００１８】
まず、プリントサーバ１０の詳細を説明する。図２は、プリントサーバ１０の機能的な構成例を示すブロック図である。図２に示すように、プリントサーバ１０は、要求受付部１１と、取得部１２と、記憶部１３と、生成部１４と、要求応答部１５と、通知部１６と、を備える。これらの機能的な構成要素は、例えば、プリントサーバ１０に所定のプログラムを実行させることによって実現することができる。また、これらの構成要素の一部を、上述したポイントアンドプリントの機能を利用してオペレーションシステムが実現するように構成してもよい。また、これらの構成要素の一部を、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）などの専用のハードウェアにより実現するように構成してもよい。
【００１９】
要求受付部１１は、クライアント装置２０から、プリントサーバ１０に接続されているプリンタ３０に対するプリンタ接続要求を受け付ける。例えば、要求受付部１１は、プリントサーバ１０にアクセスしたクライアント装置２０に、プリントサーバ１０に接続されているプリンタ３０の一覧を含むプリンタ選択画面を表示させる。クライアント装置２０を使用するユーザは、このプリンタ選択画面を参照し、プリンタ３０の一覧の中から印刷データの出力先として利用したいプリンタ３０を選択する。そして、この選択操作に応じて、クライアント装置２０からプリントサーバ１０に対して、接続要求の対象となるプリンタ３０を指定したプリンタ接続要求が送られる。要求受付部１１は、このクライアント装置２０からのプリンタ接続要求を受信することにより、プリンタ接続要求を受け付ける。
【００２０】
取得部１２は、要求受付部１１がクライアント装置２０からのプリンタ接続要求を受け付けた場合に、クライアント装置２０の属性情報として、クライアント装置２０を使用するユーザの識別情報であるユーザ名を、クライアント装置２０から取得する。例えば、取得部１２は、クライアント装置２０に対してユーザ名の取得要求を行い、この取得要求に応じてクライアント装置２０から送信されたユーザ名を受信することにより、クライアント装置２０の属性情報としてのユーザ名を取得する。また、クライアント装置２０がプリンタ接続要求をプリントサーバ１０に送信する場合に、ユーザ名を付加して送信するように構成してもよい。この場合、取得部１２は、プリンタ接続要求とともにクライアント装置２０から送信されたユーザ名を受信することにより、クライアント装置２０の属性情報としてのユーザ名を取得する。
【００２１】
記憶部１３は、後述の生成部１４がアプリインストーラを生成するために必要な各種情報を記憶する。例えば、記憶部１３は、ユーザ名とユーザの業務および利用許可情報とを対応付けた第１テーブルＴ１と、業務と該業務に適合する印刷支援の機能とを対応付けた第２テーブルＴ２と、業務と該業務に適合するフロー定義とを対応付けた第３テーブルＴ３と、を記憶する。
【００２２】
図３は、記憶部１３が記憶する第１テーブルＴ１の一例を示す図である。ユーザ名は、ネットワーク４０に接続されたクライアント装置２０を使用するユーザを一意に特定する識別情報である。業務は、ユーザが日常的に行っている業務の内容を示す情報である。利用許可情報は、ユーザに対してアプリの利用を許可するか否かを示す情報である。図３の例では、ユーザ名が「Ｕｓｅｒ１」のユーザの業務は「一般」であり、このユーザに対してはアプリの利用が許可されていることが示されている。この第１テーブルＴ１の情報は、ネットワークシステムを管理する管理者により登録され、変更が生じると管理者によって更新される。なお、アプリの利用に対して制限を設けない場合は、第１テーブルＴ１は、ユーザ名と業務とを対応付けた情報となり、利用許可情報は含まれない。
【００２３】
図４は、記憶部１３が記憶する第２テーブルＴ２の一例を示す図である。機能は、アプリに含めることが可能な印刷に関わる機能であり、複数の項目が存在する。それぞれの項目ごとに、業務に対応付けて「利用する」／「利用しない」が記述されている。「利用する」と記述された項目の機能は、その業務に適合する機能であることを示し、「利用しない」と記述された項目の機能は、その業務に適合しない機能であることを示している。図４の例では、「一般」業務には「機能Ａ」、「機能Ｂ」、・・・、が適合する業務であり、「経理」業務には「機能Ｃ」、・・・、が適合する業務であることが示されている。
【００２４】
具体的な例を挙げると、例えば、「機能Ａ」が印刷プレビューの表示機能であるとする。「一般」業務の場合、ユーザは最終的に印刷出力された状態を印刷プレビューで確認することを望む場合が多く、印刷プレビューの表示機能は「一般」業務のユーザにとって有用な機能である。これに対し「経理」業務の場合は、定型の帳票などに数値を入力して印刷出力することが多く、印刷プレビューの表示機能は「経理」業務のユーザにはほとんど利用されない機能である。このため、図４の例では、「機能Ａ」は「一般」業務に適合し、「経理」業務には適合しない機能とされている。
【００２５】
また、例えば、「機能Ｃ」が印刷出力する用紙の自動設定機能であるとする。「経理」業務の場合、上述したように定型の帳票などの印刷出力が多く、用紙の自動設定機能は「経理」業務のユーザにとって有用な機能である。これに対し「一般」業務の場合、印刷の対象は様々であり、印刷の対象に応じて最適な用紙をユーザが選択することが多いため、用紙の自動設定機能は「一般」業務のユーザにはほとんど利用されない機能である。このため、図４の例では、「機能Ｃ」は「経理」業務に適合し、「一般」業務には適合しない機能とされている。
【００２６】
このように、印刷に関わる機能は、ユーザの業務によって必要であったり、必要でなかったりする。業務に適合する機能を第２テーブルＴ２で定めておくことにより、アプリに含めることが可能な機能のうち、それぞれの業務に適合した機能を特定することができる。なお、第２テーブルＴ２の情報は、第１テーブルＴ１と同様にネットワークシステムを管理する管理者により登録され、変更が生じると管理者によって更新される。例えば、アプリの更新（バージョンアップ）によって新たな機能が加わる場合は、管理者の登録によって、新たな機能の項目が第２テーブルＴ２に追加される。
【００２７】
図５は、記憶部１３が記憶する第３テーブルＴ３の一例を示す図である。フロー定義は、アプリに含まれる各機能の動作条件を示す情報である。フロー定義は業務ごとに予め定められ、フロー定義ファイルとして記憶部１３内、あるいは別の記憶装置の記憶領域に格納されている。第３テーブルＴ３では、業務とその業務に適合するフロー定義を特定する情報とを対応付けて記述している。図５の例では、「一般」業務に適合するフロー定義は「フロー定義Ａ」であり、「経理」業務に適合するフロー定義は「フロー定義Ｂ」であり、「営業」業務に適合するフロー定義は「フロー定義Ｃ」であることが示されている。
【００２８】
図６は、フロー定義ファイルの一例を示す図である。図６に示すフロー定義ファイルは、条件（Condition）とその条件に応じた機能の動作（Action）とがＸＭＬ（Extensible  Markup  Language）形式で記述されている。アプリに含まれる各機能は、このフロー定義ファイルに従って動作する。
【００２９】
記憶部１３は、上述した第１テーブルＴ１、第２テーブルＴ２、および第３テーブルＴ３のほか、例えば、アプリに含めることが可能な機能ごとのコンポーネント（プログラムの部品）や上記のフロー定義ファイルなどを記憶していてもよい。また、記憶部１３は、プリントサーバ１０に接続されているプリンタ３０に対応するプリンタドライバのファイルおよび構成情報を記憶していてもよい。
【００３０】
生成部１４は、取得部１２がクライアント装置２０から属性情報として取得したユーザ名に応じて、クライアント装置２０に適合したアプリの構成を決定する。そして、生成部１４は、決定した構成のアプリをクライアント装置２０にインストールさせるためのアプリインストーラを生成する。アプリは、上述したように、印刷に関わる機能と、その機能の動作条件を示すフロー定義とを含んだ構成である。生成部１４は、クライアント装置２０から取得されたユーザ名をもとに、当該クライアント装置２０に適合するアプリの機能およびフロー定義を決定して、当該アプリをクライアント装置２０にインストールさせるためのアプリインストーラを生成する。
【００３１】
例えば、生成部１４は、まず、クライアント装置２０から取得されたユーザ名を記憶部１３が記憶する第１テーブルＴ１と照合し、クライアント装置２０を使用するユーザの業務を特定する。この際、第１テーブルＴ１に利用許可情報が含まれている場合には、生成部１４は、クライアント装置２０から取得されたユーザ名に対応付けられている利用許可情報がアプリの利用許可を示すものであるか、利用拒否を示すものであるかを確認する。そして、ユーザ名に対応付けられている利用許可情報がアプリの利用許可を示すものである場合には、アプリインストーラを生成する処理を継続し、利用拒否を示すものである場合には、アプリインストーラを生成する処理を終了する。つまり、クライアント装置２０を使用するユーザに対してアプリの利用が許可されていない場合、生成部１４は、アプリインストーラを生成しない。
【００３２】
次に、生成部１４は、特定した業務を記憶部１３が記憶する第２テーブルＴ２および第３テーブルＴ３と照合して、ユーザの業務に適合する機能を特定するとともに、ユーザの業務に適合するフロー定義を特定する。これにより、クライアント装置２０に適合したアプリの構成が決定する。そして、生成部１４は、特定した機能に対応するコンポーネントや、特定したフロー定義に対応するフロー定義ファイルを記憶部１３などから取得して、クライアント装置２０に適合したアプリをクライアント装置２０にインストールさせるためのアプリインストーラを生成する。
【００３３】
要求応答部１５は、生成部１４が生成したアプリインストーラを、プリンタ接続要求の対象として指定されたプリンタ３０に対応するプリンタドライバのファイルおよび構成情報とともに、プリンタ接続要求に対する応答としてクライアント装置２０に送信する。例えば、要求応答部１５は、生成部１４によるアプリインストーラの生成処理が終了すると、生成部１４からアプリインストーラを取得するとともに、プリンタ３０に対応するプリンタドライバのファイルおよび構成情報を記憶部１３などから取得して、これらの情報をクライアント装置２０に送信する。
【００３４】
通知部１６は、要求応答部１５のプリンタ接続要求に対する応答に連動して、指定されたプリンタ３０がクライアント装置２０に接続されることを示す通知（プリンタ追加の通知）を、イベントとしてクライアント装置２０に送信する。
【００３５】
次に、クライアント装置２０の詳細を説明する。図７は、クライアント装置２０の機能的な構成例を示すブロック図である。図７に示すように、クライアント装置２０は、要求部２１と、送信部２２と、受信部２３と、処理部２４と、を備える。これらの機能的な構成要素は、例えば、クライアント装置２０に所定のプログラムを実行させることによって実現することができる。また、これらの構成要素の一部を、上述したポイントアンドプリントの機能を利用してオペレーションシステムが実現するように構成してもよい。また、これらの構成要素の一部を、ＡＳＩＣやＦＰＧＡなどの専用のハードウェアにより実現するように構成してもよい。
【００３６】
要求部２１は、クライアント装置２０を使用するユーザの操作に応じて、プリントサーバ１０に接続されているプリンタ３０に対するプリンタ接続要求を行う。例えば、要求部２１は、クライアント装置２０に上述したプリンタ選択画面が表示された状態で、ユーザが印刷データの出力先として利用したいプリンタ３０を選択する操作を行うと、選択されたプリンタ３０を接続要求の対象として指定したプリンタ接続要求を、プリントサーバ１０に対して送信する。要求部２１は、上述したプリントサーバ１０の要求受付部１１に対応して動作する機能である。
【００３７】
送信部２２は、要求部２１がプリントサーバ１０に対してプリンタ接続要求を行った場合に、クライアント装置２０を使用するユーザの識別情報であるユーザ名を、クライアント装置２０の属性情報として、プリントサーバ１０に送信する。例えば、送信部２２は、プリントサーバ１０からの属性情報の取得要求に応じて、ユーザ名をプリントサーバ１０に送信する。また、送信部２２は、要求部２１が発行するプリンタ接続要求にユーザ名を付加するかたちで、ユーザ名をプリントサーバ１０に送信するようにしてもよい。送信部２２は、上述したプリントサーバ１０の取得部１２に対応して動作する機能である。
【００３８】
受信部２３は、プリンタ接続要求に対する応答として、プリントサーバ１０から送信されたアプリインストーラと、プリンタ接続要求の対象として指定したプリンタに対応するプリンタドライバのファイルおよび構成情報を受信（ダウンロード）する。また、受信部２３は、プリンタ接続要求に対する応答と連動して、プリントサーバ１０からイベントとして送信されたプリンタ追加の通知を受信する。受信部２２は、上述したプリントサーバ１０の要求応答部１５および通知部１６に対応して動作する機能である。
【００３９】
クライアント装置２０では、プリントサーバ１０からプリンタドライバのファイルおよび構成情報をダウンロードすることで、指定したプリンタ３０に対する接続が確立する。これにより、クライアント装置２０を使用するユーザは、このプリンタ３０を印刷データの出力先として利用できるようになる。
【００４０】
処理部２４は、プリントサーバ１０からダウンロードしたアプリインストーラを起動して、クライアント装置２０に適合したアプリのインストール処理を行う。例えば、処理部２４は、プリントサーバ１０からイベントとして送信されたプリンタ追加の通知を受信部２３が受信したことをトリガとしてアプリインストーラを起動し、アプリのインストール処理を開始する。これにより、プリンタ３０に対する接続の確立と連動して、クライアント装置２０に適合したアプリが自動的にインストールされる。
【００４１】
次に、本実施形態のネットワークシステムの動作について説明する。図８は、本実施形態のネットワークシステムにおいて、クライアント装置２０とプリントサーバ１０との間で連携して行われる情報処理の概要を示すシーケンス図である。
【００４２】
まず、クライアント装置２０を使用するユーザの操作に応じて、クライアント装置２０からプリントサーバ１０に対して、プリンタ３０を指定したプリンタ接続要求が送られる（ステップＳ１）。プリントサーバ１０は、クライアント装置２０からのプリンタ接続要求を受け付けると、クライアント装置２０を使用するユーザの識別情報であるユーザ名を、クライアント装置２０から取得する（ステップＳ２）。
【００４３】
その後、プリントサーバ１０は、クライアント装置２０から取得したユーザ名に基づいて、クライアント装置２０に適合するアプリの構成を決定し、決定した構成のアプリをクライアント装置２０にインストールさせるためのアプリインストーラを生成する（ステップＳ３）。そして、プリントサーバ１０は、生成したアプリインストーラを、プリンタ接続要求の対象として指定されたプリンタ３０に対応するプリンタドライバのファイルおよび構成情報とともに、プリンタ接続要求に対する応答としてクライアント装置２０に送信する（ステップＳ４）。
【００４４】
その後、プリントサーバ１０は、プリンタ３０がクライアント装置２０に接続されることを示す通知（プリンタ追加の通知）を、クライアント装置２０にイベントとして送信する（ステップＳ５）。クライアント装置２０は、プリントサーバ１０から送られたプリンタドライバのファイルおよび構成情報とアプリインストーラとを受信（ダウンロード）した後、プリンタ追加の通知のイベントを受信すると、アプリインストーラを起動してアプリをインストールする（ステップＳ６）。
【００４５】
図９は、以上の動作を実現するクライアント装置２０の処理手順を示すフローチャートである。
【００４６】
クライアント装置２０では、まず、要求部２１が、ユーザの操作に応じて、プリンタ３０を指定したプリンタ接続要求を行う（ステップＳ１０１）。次に、送信部２２が、ユーザの識別情報であるユーザ名を、クライアント装置２０の属性情報としてプリントサーバ１０に送信する（ステップＳ１０２）。
【００４７】
その後、プリントサーバ１０から、指定したプリンタ３０に対応するプリンタドライバのファイルおよび構成情報とアプリインストーラとが送られると、受信部２３が、これらを受信（ダウンロード）する（ステップＳ１０３）。クライアント装置２０は、プリンタドライバのファイルおよび構成情報をダウンロードすることで、プリンタ３０との接続が確立し、以降、このプリンタ３０を印刷データの出力先として利用することができる。
【００４８】
また、プリントサーバ１０から、プリンタ追加の通知がイベントとして送られると、受信部２３が、このプリンタ追加の通知イベントを受信する（ステップＳ１０４）。そして、受信部２３がプリンタ追加の通知イベントを受信したことをトリガとして、処理部２４が、プリントサーバ１０からダウンロードしたアプリインストーラを起動する。これにより、クライアント装置２０に適合したアプリがクライアント装置２０にインストールされる（ステップＳ１０５）。
【００４９】
図１０は、以上の動作を実現するプリントサーバ１０の処理手順を示すフローチャートである。
【００５０】
プリントサーバ１０では、まず、要求受付部１１が、クライアント装置２０からのプリンタ接続要求を受け付ける（ステップＳ２０１）。次に、取得部１２が、クライアント装置２０からユーザ名を取得する（ステップＳ２０２）。
【００５１】
次に、生成部１４が、クライアント装置２０から取得されたユーザ名を、記憶部１３が記憶する第１テーブルＴ１と照合し、クライアント装置２０を使用するユーザの業務を特定する（ステップＳ２０３）。そして、生成部１４は、特定したユーザの業務を、記憶部１３が記憶する第２テーブルＴ２および第３テーブルＴ３と照合し、ユーザの業務に適合するアプリ構成、つまり、アプリに含める機能およびフロー定義を決定する（ステップＳ２０４）。そして、生成部１４は、決定した構成のアプリをクライアント装置２０にインストールさせるためのアプリインストーラを生成する（ステップＳ２０５）。
【００５２】
次に、要求応答部１５が、生成部１４により生成されたアプリインストーラを、接続要求の対象として指定されているプリンタ３０に対応するプリンタドライバのファイルおよび構成情報とともに、接続要求の応答としてクライアント装置２０に送信する（ステップＳ２０６）。その後、通知部１６が、プリンタ追加の通知をイベントとしてクライアント装置２０に送信する（ステップＳ２０７）。
【００５３】
以上、クライアント装置２０に適合したアプリをクライアント装置２０にインストールさせるまでの動作を説明したが、以下では、クライアント装置２０にインストールされたアプリを更新する際の動作について説明する。図１１は、アプリの更新（バージョンアップ）が発生した場合のプリントサーバ１０の処理手順を示すフローチャートである。
【００５４】
アプリの更新が発生すると、プリントサーバ１０は、まず、アプリの更新をアプリ管理情報に反映させる（ステップＳ３０１）。アプリ管理情報とは、プリントサーバ１０が扱うすべてのアプリを管理するための情報である。記憶部１３が記憶する第２テーブルＴ２や第３テーブルＴ３は、アプリ管理情報の一部である。例えば、プリントサーバ１０は、アプリの更新によってアプリに含めることが可能な機能として新たな機能が追加された場合は、その機能の「利用する／利用しない」を業務ごとに決定して、第２テーブルＴ２に反映させる。また、追加された機能を利用する業務に対応付けられたフロー定義ファイルを更新し、第３テーブルＴ３に反映させる。
【００５５】
次に、プリントサーバ１０は、クライアント装置２０からのアクセスを待ち（ステップＳ３０２：Ｎｏ）、クライアント装置２０からアクセスがあると（ステップＳ３０２：Ｙｅｓ）、クライアント装置２０からアプリ識別情報を取得する（ステップＳ３０３）。アプリ識別情報とは、クライアント装置２０にすでにインストールされているアプリを識別するための情報であり、アプリのバージョンを示す情報を含む。なお、クライアント装置２０は、例えば起動時などの予め定められたタイミングで、プリントサーバ１０にアクセスするように構成されているものとする。
【００５６】
次に、プリントサーバ１０（取得部１２）は、クライアント装置２０からユーザ名を取得する（ステップＳ３０４）。そして、プリントサーバ１０（生成部１４）は、クライアント装置２０から取得したユーザ名を、記憶部１３が記憶する第１テーブルＴ１と照合し、クライアント装置２０を使用するユーザの業務を特定する（ステップＳ３０５）。そして、プリントサーバ１０（生成部１４）は、特定したユーザの業務を、記憶部１３が記憶する第２テーブルＴ２（ステップＳ３０１でアプリの更新が反映された第２テーブルＴ２）と照合し、クライアント装置２０にすでにインストールされているアプリを更新させる必要があるか否かを判定する（ステップＳ３０６）。
【００５７】
例えば、プリントサーバ１０は、クライアント装置２０から取得されたアプリ識別情報をもとに、更新のあったアプリがクライアント装置２０にすでにインストールされているアプリであるか否かを判定する。そして、更新のあったアプリがクライアント装置２０にすでにインストールされているアプリである場合に、第２テーブルＴ２を参照して、アプリの更新によって追加された機能がユーザの業務に適合した業務であるか否かを判定する。その結果、アプリの更新によって追加された機能がユーザの業務に適合した業務であれば、クライアント装置２０にすでにインストールされているアプリを更新させる必要があると判断する。
【００５８】
プリントサーバ１０（生成部１４）は、ステップＳ３０６の判定の結果、クライアント装置２０にすでにインストールされているアプリを更新させる必要がないと判断した場合は（ステップＳ３０６：Ｎｏ）、アプリ更新の処理を終了する。一方、クライアント装置２０にすでにインストールされているアプリを更新させる必要があると判断した場合は（ステップＳ３０６：Ｙｅｓ）、プリントサーバ１０（生成部１４）は、更新されたアプリをクライアント装置２０にインストールさせるための更新インストーラを生成し（ステップＳ３０７）、生成した更新インストーラをクライアント装置２０に送信する（ステップＳ３０８）。その後、プリントサーバ１０（通知部１６）は、更新の通知をイベントとしてクライアント装置２０に送信する（ステップＳ３０９）。
【００５９】
クライアント装置２０では、プリントサーバ１０から送信された更新インストーラを受信（ダウンロード）した後、プリントサーバ１０から更新の通知イベントを受信したことをトリガとして、プリントサーバ１０からダウンロードした更新インストーラを起動する。これにより、クライアント装置２０にすでにインストールされているアプリが、クライアント装置２０に適合したかたちで更新される。
【００６０】
なお、クライアント装置２０にインストールされたアプリは、当該アプリに対応するプリンタ３０に対する接続が解除（プリンタの削除）されたときに、クライアント装置２０が発生するプリンタ削除のイベントをトリガとしてアンインストールされる。
【００６１】
ところで、以上は、プリントサーバ１０に接続された１つのプリンタ３０に対して１つのアプリが対応付けられているものとして説明したが、プリントサーバ１０に接続された複数のプリンタ３０に対して共通のアプリが対応付けられるようにしてもよい。以下では、複数のプリンタ３０に対して共通のアプリが対応付けられている場合の動作について説明する。
【００６２】
図１２は、複数のプリンタ３０に対して共通のアプリが対応付けられている場合のプリントサーバ１０の処理手順を示すフローチャートである。なお、クライアント装置２０の処理手順は、アプリ識別情報をプリントサーバ１０に送る以外は図９に示した手順と同じであるため、ここでは説明を省略する。
【００６３】
まず、要求受付部１１がクライアント装置２０からのプリンタ接続要求を受け付けると（ステップＳ４０１）、プリントサーバ１０は、クライアント装置２０からアプリ識別情報を取得する（ステップＳ４０２）。そして、プリントサーバ１０は、プリンタ接続要求の対象として指定されているプリンタ３０と、クライアント装置２０から取得したアプリ識別情報とをもとに、プリンタ接続要求の対象として指定されたプリンタ３０に対応するアプリが、クライアント装置２０にすでにインストールされているか否かを判定する（ステップＳ４０３）。
【００６４】
プリントサーバ１０は、ステップＳ４０３の判定の結果、プリンタ接続要求の対象として指定されたプリンタ３０に対応するアプリが、クライアント装置２０にインストールされていないと判断した場合は（ステップＳ４０３：Ｎｏ）、図１０のステップＳ２０２〜ステップＳ２０７と同様の手順で処理を実行する（ステップＳ４０４〜ステップＳ４０９）。一方、プリンタ接続要求の対象として指定されたプリンタ３０に対応するアプリが、クライアント装置２０にすでにインストールされていると判断した場合は（ステップＳ４０３：Ｙｅｓ）、取得部１２によるユーザ名の取得や、生成部１４によるアプリインストーラの生成は行われず、要求応答部１５が、プリンタドライバのファイルおよび構成情報のみを、プリンタ接続要求に対する応答としてクライアント装置２０に送信する（ステップＳ４１０）。
【００６５】
以上のように、複数のプリンタ３０に対して共通のアプリが対応付けられる場合は、クライアント装置２０にインストールされるアプリに対して、複数のプリンタ３０のいずれがクライアント装置２０に接続されているのかを管理する機能を持たせることが望ましい。図１３は、クライアント装置２０にインストールされるアプリの構成例を示すブロック図である。図１３に示すアプリ５０は、上述した機能やフロー定義のほか、イベント受信部５１と、プリンタ管理部５２とを備える。
【００６６】
イベント受信部５１は、プリントサーバ１０から送信されてクライアント装置２０の受信部２３により受信されたプリンタ追加の通知イベントや、クライアント装置２０の内部で発生するプリンタ削除のイベントを受け取り、プリンタ管理部５２に渡す。イベント受信部５１が受け取るイベントは、当該イベント受信部５１を備えるアプリに対応するプリンタ３０の追加や削除に関するイベントである。
【００６７】
プリンタ管理部５２は、プリンタリストＰＬを利用して、当該イベント受信部５１を備えるアプリに対応する複数のプリンタ３０のうち、いずれのプリンタ３０がクライアント装置２０と接続されているかを管理する。プリンタリストＰＬは、アプリに対応する複数のプリンタ３０のうち、クライアント装置２０と接続されているプリンタ３０のリストであり、例えば、クライアント装置２０が備える記憶装置に格納される。
【００６８】
図１４は、プリンタリストＰＬの一例を示す図である。図１４に示すプリンタリストＰＬでは、クライアント装置２０が接続を確立しているプリンタ３０のプリンタ名が、接続を仲介するプリントサーバ１０のプリントサーバ名とともに、リストとして記載されている。リストの各エントリには一意のＩＤが与えられており、このＩＤを指定することで、対応するエントリに対して情報の格納や削除を行うことができる。プリンタ管理部５２は、イベント受信部５１からプリンタ追加のイベントを受け取ると、プリンタリストＰＬの未記入のエントリのＩＤを指定してプリンタ名およびプリントサーバ名を書き込むことで、プリンタ追加の登録を行う。また、プリンタ管理部５２は、イベント受信部５１からプリンタ削除のイベントを受け取ると、削除対象のプリンタ３０のプリンタ名が記載されているエントリのＩＤを指定して情報を消去することで、プリンタ削除の登録を行う。
【００６９】
このようなプリンタ管理部５２を備えるアプリは、プリンタリストＰＬで管理しているすべてのプリンタ３０に対する接続が解除され、プリンタリストＰＬに登録されているすべてのプリンタ３０が削除されたときにアンインストールされる。
【００７０】
図１５は、プリンタ削除のイベントが発生した場合のクライアント装置２０の処理手順を示すフローチャートである。プリンタ削除のイベントが発生すると、クライアント装置２０は、まず、削除対象のプリンタ３０に対応するプリンタドライバのファイルおよび構成情報を削除する（ステップＳ５０１）。次に、プリンタ管理部５２が、イベント受信部５１からプリンタ削除のイベントを受け取り、プリンタリストＰＬに登録されているプリンタ３０のうち、削除対象のプリンタ３０に関する情報を削除する（ステップＳ５０２）。
【００７１】
その後、クライアント装置２０は、プリンタリストＰＬにプリンタ３０が残っているか否かを判定する（ステップＳ５０３）。そして、プリンタリストＰＬにプリンタ３０が残っている場合は（ステップＳ５０３：Ｙｅｓ）、そのまま処理を終了する。一方、プリンタリストＰＬにプリンタ３０が残っていなければ（ステップＳ５０３：Ｎｏ）、クライアント装置２０は、アプリをアンインストールする（ステップＳ５０４）。
【００７２】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態のネットワークシステムでは、プリントサーバ１０が、クライアント装置２０からのプリンタ接続要求を受け付けると、クライアント装置２０の属性情報を取得して、取得した属性情報に応じて、クライアント装置２０にインストールさせるアプリの構成を決定する。そして、プリントサーバ１０は、決定した構成のアプリをクライアント装置２０にインストールさせるためのアプリインストーラを生成し、生成したアプリインストーラを、プリンタ接続要求の対象として指定されたプリンタ３０に対応するプリンタドライバのファイルおよび構成情報とともに、プリンタ接続要求に対する応答としてクライアント装置２０に送信する。したがって、本実施形態のネットワークシステムによれば、プリンタ３０に対する接続の確立と連動して、クライアント装置２０の属性に適合したアプリをクライアント装置２０にインストールさせることができる。
【００７３】
なお、上述した実施形態のネットワークシステムにおいて、プリントサーバ１０やクライアント装置２０で実行されるプログラムは、例えば、インストール可能な形式または実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disc）などのコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００７４】
また、プリントサーバ１０やクライアント装置２０で実行されるプログラムを、インターネットなどのネットワークに接続された他のコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、プリントサーバ１０やクライアント装置２０で実行されるプログラムを、インターネットなどのネットワーク経由で提供または配布するように構成してもよい。さらに、プリントサーバ１０やクライアント装置２０で実行されるプログラムを、ＲＯＭなどに予め組み込んで提供するように構成してもよい。
【００７５】
プリントサーバ１０で実行されるプログラムは、上述した各部（要求受付部１１、取得部１２、生成部１４、要求応答部１５、通知部１６）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記録媒体から機器管理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【００７６】
また、クライアント装置２０で実行されるプログラムは、上述した各部（要求部２１、送信部２２、受信部２３、処理部２４）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記記録媒体から機器管理プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【００７７】
なお、本発明は、上述した実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で様々な変形や変更を加えて具体化することができる。
【００７８】
例えば、上述した実施形態では、アプリをクライアント装置２０にインストールさせるための情報として、プリントサーバ１０が、アプリに含まれる機能のコンポーネントを含んだアプリインストーラを生成して、クライアント装置２０に送信している。しかし、プリントサーバ１０は、アプリに含まれる機能のコンポーネントを保持するネットワーク４０上の他の装置（外部装置）から、アプリに含まれる機能のコンポーネントを取得するための情報を含んだインストーラ（例えばＷｅｂインストーラ）を生成して、クライアント装置２０に送信するようにしてもよい。
【００７９】
この場合、クライアント装置２０は、プリントサーバ１０から受信したインストーラを起動することにより外部装置にアクセスし、外部装置からアプリに含まれる機能のコンポーネントを取得してアプリのインストールを行う。したがって、プリントサーバ１０は、アプリに含まれる可能性のあるすべての機能のコンポーネントを予め取得して内部に保持しておく必要はない。また、アプリの更新が発生するたびに、追加される機能のコンポーネントを取得して保持する必要がない。このため、プリントサーバ１０におけるアプリの管理を簡素化することができる。
【符号の説明】
【００８０】
１０  プリントサーバ
１１  要求受付部
１２  取得部
１３  記憶部
１４  生成部
１５  要求応答部
１６  通知部
２０（２０Ａ，２０Ｂ）  クライアント装置
２１  要求部
２２  送信部
２３  受信部
２４  処理部
３０（３０Ａ，３０Ｂ）  プリンタ
【先行技術文献】
【特許文献】
【００８１】
【特許文献１】特許第４９８３２２９号公報
【図１】
2015049862.tif 000003
【図２】
2015049862.tif 000004
【図３】
2015049862.tif 000005
【図４】
2015049862.tif 000006
【図５】
2015049862.tif 000007
【図６】
2015049862.tif 000008
【図７】
2015049862.tif 000009
【図８】
2015049862.tif 000010
【図９】
2015049862.tif 000011
【図１０】
2015049862.tif 000012
【図１１】
2015049862.tif 000013
【図１２】
2015049862.tif 000014
【図１３】
2015049862.tif 000015
【図１４】
2015049862.tif 000016
【図１５】
2015049862.tif 000017