(57)【要約】      （修正有）【課題】サーバ装置からプリンタドライバの拡張モジュールダウンロードしてセットアップするシステムにおいて、拡張モジュールのライセンスの適切な管理を実現する。【解決手段】クライアント装置２０はサーバ装置１０からプリンタドライバの拡張モジュールをダウンロードしてセットアップし、さらにサーバ装置１０からライセンス管理プログラムを受信する。クライアント装置２０は、受信処理に応じて、プリンタドライバを用いて前記受信手段が受信したライセンス管理プログラムを呼び出し、前記拡張プログラムのライセンス状況を示すライセンス情報を取得する。そして、取得したライセンス情報を用いて、前記拡張プログラムのクライアント装置２０における使用を許可するか否かを決定する。【選択図】図４
2008186386.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置からプリンタドライバの拡張モジュールをダウンロードしてセットアップする情報処理装置において、
サーバ装置からプリンタドライバの拡張モジュールと、ライセンス管理プログラムとを受信する受信手段と、
前記受信手段の受信処理に応じて、プリンタドライバを用いて前記受信手段が受信したライセンス管理プログラムを呼び出すことにより、前記拡張プログラムのライセンス状況を示すライセンス情報を取得する取得手段と、
前記取得手段が取得したライセンス情報を用いて、前記拡張プログラムの情報処理装置における使用を許可するかを決定する決定手段と、
を備える情報処理装置。
【請求項２】
ダウンロードして拡張モジュールをセットアップするのに際して、拡張モジュールのダウンロード完了のイベントがプリンタドライバに対して通知されたことを検知する検知手段をさらに備え、
前記検知手段がダウンロードの完了イベントを検知するのに応答して、前記取得手段はライセンス管理プログラムを呼び出す請求項１に記載の情報処理装置。
【請求項３】
前記取得手段は、サーバ装置からライセンス情報を取得し、
記決定手段が前記拡張プログラムの情報処理装置における使用を許可しないと決定した場合に、当該拡張プログラムの使用を制限する又は／及び使用の不許可を警告する制御手段を有する請求項１に記載の情報処理装置。
【請求項４】
前記受信手段が受信した拡張モジュールのドライバ構成情報を登録する登録手段をさらに備え、前記検知手段がダウンロード完了のイベントを検知するのに応答して、前記登録手段が登録したドライバ構成情報が示す拡張モジュールに関連するライセンス情報を、ライセンス管理プログラムを用いて前記取得手段は取得する請求項２に記載の情報処理装置。
【請求項５】
前記ライセンス管理プログラムはプリンタドライバプログラムの拡張モジュールであって、前記検知手段がダウンロードの完了イベントを検知するのに応答して、当該ライセンス管理プログラムをプリンタドライバの拡張プログラムとして実行する実行手段をさらに備える請求項２に記載の情報処理装置。
【請求項６】
サーバ装置からプリンタドライバの拡張モジュールをダウンロードしてセットアップする情報処理装置における方法における方法において、
サーバ装置からプリンタドライバの拡張モジュールと、ライセンス管理プログラムとを受信する受信ステップと、
前記受信ステップの受信処理に応じて、プリンタドライバを用いて前記受信ステップが受信したライセンス管理プログラムを呼び出すことにより、前記拡張プログラムのライセンス状況を示すライセンス情報を取得する取得ステップと、
前記取得ステップが取得したライセンス情報を用いて、前記拡張プログラムの情報処理装置における使用を許可するかを決定する決定ステップと、
を備える情報処理方法。
【請求項７】
ダウンロードして拡張モジュールをセットアップするのに際して、拡張モジュールのダウンロード完了のイベントがプリンタドライバに対して通知されたことを検知する検知ステップをさらに備え、
前記検知ステップがダウンロードの完了イベントを検知するのに応答して、前記取得ステップはライセンス管理プログラムを呼び出す請求項６に記載の情報処理方法。
【請求項８】
前記取得ステップは、サーバ装置からライセンス情報を取得し、
前記決定ステップが前記拡張プログラムの情報処理装置における使用を許可しないと決定した場合に、当該拡張プログラムの使用を制限する又は／及び使用の不許可を警告する制御ステップを有する請求項６に記載の情報処理方法。
【請求項９】
前記受信ステップが受信した拡張モジュールのドライバ構成情報を登録する登録ステップをさらに備え、前記検知ステップがダウンロード完了のイベントを検知するのに応答して、前記登録ステップが登録したドライバ構成情報が示す拡張モジュールに関連するライセンス情報を、ライセンス管理プログラムを用いて前記取得ステップは取得する請求項７に記載の情報処理方法。
【請求項１０】
前記ライセンス管理プログラムはプリンタドライバプログラムの拡張モジュールであって、前記検知ステップがダウンロードの完了イベントを検知するのに応答して、当該ライセンス管理プログラムをプリンタドライバの拡張プログラムとして実行する実行ステップをさらに備える請求項７に記載の情報処理方法。
【請求項１１】
請求項６乃至１０のいずれか１項に記載の方法をコンピュータに実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及びその制御方法及びそのプログラムと記録媒体に関するものである。
【背景技術】
【０００２】
プリンタに接続されたホストコンピュータをプリントサーバとする。そして、そのホストコンピュータとネットワークを介して接続されているクライアントコンピュータから、そのプリンタを使用して印刷を行うことができるシステムがある。
【０００３】
このような環境下では、クライアントは、プリントサーバにインストールされているプリンタドライバと同じプリンタドライバをインストールしていなければならない。このようなクライアントにおけるインストールを容易にするプログラムとして、例えばマイクロソフト社のＰｏｉｎｔ＆Ｐｒｉｎｔ（登録商標：以下略）（ポイントアンドプリント）が知られている。クライアントは、クライアントのＡＰＩを用いてサーバ側の共有プリンタを選択指示する。そしてクライアントとサーバ間で、プリンタの機能やクライアントのＯＳの情報を授受する。その授受した情報に基づいてプリントサーバがプリンタドライバを選択してクライアントへ転送する。そのクライアントは、そのプリントサーバから転送されたプリンタドライバをインストールする。以上のような機能をＰｏｉｎｔ＆Ｐｒｉｎｔという。
【０００４】
このＰｏｉｎｔ＆Ｐｒｉｎｔ機能は、主にマイクロソフト社のオペレーティングシステムの機能の一部として実現されている。このＰｏｉｎｔ＆Ｐｒｉｎｔの利点としては、クライアントコンピュータを操作するユーザが印刷を行いたいと思った時に直ちにインストール作業を自動的に実行できるという点にある。また、クライアント側では、プリンタドライバを記憶しているＣＤ−ＲＯＭ等の記憶メディアを必要とせずにプリンタドライバをインストールできるという点も挙げられる。
【０００５】
プリンタドライバへの高機能化の要求は年々高まっている。例えば、特許文献１開示があるように地紋プリント機能が、プリンタドライバにより実現されるようになってきた。また、地紋プリントのような特殊用途の機能を全てプリンタドライバに搭載することはプリンタドライバの肥大化を招く。そこで特許文献２にて発案がなされているようにプリンタドライバに着脱可能な追加モジュール（以降Ａｄｄ−ｉｎと呼称）でこのような特殊機能を実現するようになってきた。
【０００６】
地紋プリントは高度な付加価値機能であるので、プリンタドライバが地紋プリント機能をＡｄｄ−ｉｎで実現する場合のみライセンス管理を行いたい。しかしながら、Ｐｏｉｎｔ＆Ｐｒｉｎｔ機能によってサーバからクラインアントへＡｄｄ−ｉｎを含むプリンタドライバが自動ダウンロードされてしまうので、ライセンス管理が困難である。Ｐｏｉｎｔ＆Ｐｒｉｎｔは、ダウンロードインストールの一例である。
【０００７】
一方、特許文献３にて、許可したライセンス数のクライアント装置からのみクライアント用アプリケーションプログラム起動を可能としたクライアントランセンス管理方法が発案されている。この発案では、クラインアント用アプリケーションの起動時にライセンスを確認する仕組みになっている。
【０００８】
しかしながら、プリンタドライバは、一般的なアプリケーションプログラムとは異なり、ＯＳやアプリケーションから呼び出されるＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）として作られることがある。
【特許文献１】特開２００５−１０７７７７
【特許文献２】特開２００５−２０８８９５
【特許文献３】特開２００２−２３８８２
【発明の開示】
【発明が解決しようとする課題】
【０００９】
ＯＳやアプリケーションがプリンタドライバを呼び出すタイミングや頻度をプリンタドライバ自身が制御できない前提がある。プリンタドライバ起動時にサーバなどと通信してライセンス管理を行うことにすると、ライセンスサーバとプリンタドライバの間で予測できないタイミングや頻度で通信が発生する。これは、性能効率上好ましくなかった。
【００１０】
さらに、プリンタドライバ単体の場合はライセンス管理を望まないが、拡張機能をＡｄｄ−ｉｎで付加したときにのみライセンス管理をするといった柔軟な制御管理が出来なかった。
【００１１】
また、プリンタドライバにライセンス管理機能を含めると、プリンタドライバと密結合してしまうため、プリンタドライバを更新するとライセンス管理機能も更新することになる。更新時のトラフィックの増大や柔軟性に欠けていた。
【課題を解決するための手段】
【００１２】
サーバ装置からプリンタドライバをダウンロードしてセットアップする情報処理装置において、サーバ装置からプリンタドライバの拡張モジュールと、ライセンス管理プログラムとを受信する受信手段と、前記受信手段の受信処理に応じて、プリンタドライバを用いて前記受信手段が受信したライセンス管理プログラムを呼び出すことにより、前記拡張プログラムのライセンス状況を示すライセンス情報を取得する取得手段と、前記取得手段が取得したライセンス情報を用いて、前記拡張プログラムの使用を許可するかを決定する決定手段と、を備える情報処理装置が開示される。
【発明の効果】
【００１３】
サーバ装置からプリンタドライバの拡張モジュールダウンロードしてセットアップするシステムにおいて、拡張モジュールのライセンスの適切な管理を実現することが出来る。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して本発明の実施の形態の一例を詳しく説明する。
【００１５】
図１は、本発明の実施の形態に係るプリントサーバシステムの構成例を説明する図である。
【００１６】
図１において、プリントサーバ１０はホストコンピュータとして機能している。２０はクライアントコンピュータで、ここではラップトップタイプ或はノートタイプのパーソナルコンピュータで示している。これらの装置と同等の機能を発揮できるクライアントコンピュータであればなんでもよい。３０はプリンタ装置で、ここではレーザービームプリンタの場合で示しているが、インクジェットプリンタその他のプリンタでも良い。ここで、プリントサーバ１０とプリンタ装置３０とはＵＳＢ、セントロニクス等のインターフェース或はイーサネット（登録商標）等のネットワークを介して接続されている。また、プリントサーバ１０とクライアントコンピュータ２０は、例えばイーサネット（登録商標）等のネットワークを介して接続されている。
【００１７】
このような構成を備えるプリントサーバシステムでは、プリントサーバ１０自身がプリンタ装置３０により印刷することは重要ではない。むしろ、クライアントコンピュータ２０から入力された印刷データを仲介し、それをプリンタ装置３０に出力して印刷させる場合を主に構成されている。
【００１８】
前述したように、プリントサーバ１０には印刷機能を備えたプログラムが少なくとも一つ組み込まれており、同時に、アプリケーションからプリンタ装置３０への印刷を仲介するプリンタドライバも組み込まれている。また、クライアントコンピュータ２０には、通常、少なくとも一つの印刷機能を備えた、プリンタサーバ１０と同様のプログラムが組み込まれている。
【００１９】
ここで、クライアントコンピュータ２０を利用するユーザがプリンタ装置３０を使用して印刷させるためには、プリントサーバ１０に組み込まれているのと同じプリンタドライバをクライアントコンピュータ２０に組み込まなければならない。なぜならば、クライアントコンピュータ２０のアプリケーションによって生成される印刷データは、プリンタ装置３０に入力される前にプリントサーバ１０上のプリンタドライバによって処理される必要があるからである。更にプリントサーバ１０のプリンタドライバに印刷データを処理させるためには、クライアントコンピュータ２０上で同じプリンタドライバに印刷データを処理させる必要があるからである。
【００２０】
従って、上述のプリントサーバシステムでは、クライアントコンピュータ２０に対し、プリントサーバ１０にインストールされているものと同じプリンタドライバをインストールしなければならない。しかしながら、このようなクライアントコンピュータ２０におけるインストール作業は、そのクライアントコンピュータ２０を利用するユーザにとって負担になってしまうという問題があった。
【００２１】
このような問題を解決する方法として、前述したＰｏｉｎｔ＆Ｐｒｉｎｔが知られている。
【００２２】
以下、このＰｏｉｎｔ＆Ｐｒｉｎｔによるインストールの流れを図２及び図３を参照して説明する。
【００２３】
図２は、プリントサーバとクライアントコンピュータの機能の内、プリンタドライバのインストールに関連するモジュールを説明する機能ブロック図である。
【００２４】
プリントサーバ１０上の印刷サービス１００は、サーバ１０のオペレーティングシステム（ＯＳ）上で印刷処理や、プリンタドライバのインストールを制御するサービスプログラムである。マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）  ＯＳにおいてはスプーラー（ｓｐｏｏｌｅｒ）サービスがこれに相当する。前記スプーラーサービスは、プリンタドライバで生成からプリンタへの印刷データの送信や、プリンタドライバのインストール、またＰｏｉｎｔ＆Ｐｒｉｎｔなど様々な機能を利用するためのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を提供している。プログラムやプリンタドライバはこのＡＰＩを通じて処理を実行する。本実施例における印刷サービス１００もこれと同様な特徴を備えているものとする。これにより、オペレーティングシステムの一部として実装される各種印刷サービスは、プラグインの着脱を認識できる。ドライバ構成情報１０１は、サーバ１０００におけるプリンタドライバ１０２のドライバ構成情報であり、オペレーティングシステムの共有記憶領域に格納されている。印刷キュー１０３は、印刷データをプリンタ装置へ出力する前に一旦貯める働きをする仮想的なキューである。
【００２５】
次にクライアントコンピュータ２０上の印刷サービス２００は、プリントサーバ１０の印刷サービス１００と同様に、クライアント２０のオペレーティングシステム（ＯＳ）上で印刷処理や、プリンタドライバのインストールを制御している。尚、Ｐｏｉｎｔ＆Ｐｒｉｎｔの実行前には、プリンタドライバ２０２と、そのドライバ構成情報２０１は、クライアントコンピュータ２０に存在していない。Ｐｏｉｎｔ＆Ｐｒｉｎｔによって、プリントサーバ１０からこれらの情報をクライアントコンピュータ２０に組み込むのが目的である。
【００２６】
図３は、Ｐｏｉｎｔ＆Ｐｒｉｎｔによるインストールの流れを説明する図である。まず、クライアントコンピュータ２０を利用するユーザが、クライアントコンピュータ２０の印刷サービス２００を通じて共有プリンタに接続し、Ｐｏｉｎｔ＆Ｐｒｉｎｔの要求を出す（３００）。プリントサーバ１０の印刷サービス１００は、この要求に応じてドライバ構成情報１０１を参照してダウンロードすべきインストールセットを決定する（３０１）。次に、プリントサーバ１０の印刷サービスは、次の処理をする。クライアントコンピュータ２０の印刷サービス２００と連携しながら、プリントサーバ１０に記憶されているプリンタドライバ１０２のインストールセットをクライアントコンピュータ２０にコピーする（３０２）。次にクライアントコンピュータ２０の印刷サービス２００は、それに基づいてプリンタドライバ２０２をクライアント２０のオペレーティングシステムに登録し、それと同時にドライバ構成情報２０１を登録する（３０３）。この結果、クライアントコンピュータ２０のユーザは、プリントサーバ１０を介してプリンタ装置に対して印刷を実行させることができる。以上、Ｐｏｉｎｔ＆Ｐｒｉｎｔの処理について説明した。
【００２７】
図４は、本実施の形態に係るプリントサーバシステムの機能構成を示す機能ブロック図で、前述の図２と共通する部分は同じ記号で示している。
【００２８】
この図４の構成では、プリントサーバ１０において、プリンタドライバ１０２にライセンス管理Ａｄｄ−ｉｎ１０４と地紋プリントＡｄｄ−ｉｎ１０５とライセンス管理サービス１０６が追加されている点が前述の図２の構成とは異なっている。ライセンス管理Ａｄｄ−ｉｎ１０４や地紋プリントＡｄｄ−ｉｎ１０５は、例えばＤＬＬ等のプログラムファイルであり、プリンタドライバ１０２と連携して動作が可能となる。地紋プリントＡｄｄ−ｉｎ１０５のプログラムは、具体的には、プリンタドライバ１０２による地紋プリント機能をプリンタドライバ１０２に付加し、そのプリンタドライバ１０２の機能を拡張させる働きがある。ライセンス管理Ａｄｄ−ｉｎ１０４のプログラムは、具体的には、プリンタドライバによるＡｄｄ−ｉｎのライセンス管理を司る機能をプリンタドライバ１０２に付加し、そのプリンタドライバ１０２の機能を拡張させる働きがある。この実施の形態において、Ａｄｄ−ｉｎはライセンス管理Ａｄｄ−ｉｎ１０４と地紋プリントＡｄｄ−ｉｎ１０５の２つだけ追加されているが、Ａｄｄ−ｉｎの数に制限はないので、さらに他の機能を持つＡｄｄ−ｉｎを複数個追加してもよい。ただし、ライセンス管理Ａｄｄ−ｉｎ１０４だけは他のＡｄｄ−ｉｎのライセンスを管理するという特別な機能を持つため、ライセンス管理Ａｄｄ−ｉｎ１０４を複数個追加することはできない。ライセンス管理Ａｄｄ−ｉｎ１０４と地紋プリントＡｄｄ−ｉｎ１０５といったＡｄｄ−ｉｎモジュールはプリンタドライバ１０２を機能拡張するもモジュールではあり、プリンタドライバの構成上プリンタドライバの一部である。ドライバ構成情報１０１にはライセンス管理Ａｄｄ−ｉｎ１０４と地紋プリントＡｄｄ−ｉｎ１０５がプリンタドライバ１０２の一部として登録されている。このため、印刷サービス１００といったプリンタドライバの制御を行うＯＳモジュール群は、ライセンス管理Ａｄｄ−ｉｎ１０４と地紋プリントＡｄｄ−ｉｎ１０５を完全にプリンタドライバ１０２の一部とみなす。すなわち、図２と図３で説明したＰｏｉｎｔ＆Ｐｒｉｎｔの仕組みによって、プリントサーバ１０にあるプリンタドライバ１０２がクライアントコンピュータ２０に自動ダウンロードされてプリンタドライバ２０２としてコピーされる。よって、ライセンス管理Ａｄｄ−ｉｎ１０４と地紋プリントＡｄｄ−ｉｎ１０５にもＰｏｉｎｔ＆Ｐｒｉｎｔは適用される。クライアントコンピュータ２０には、Ｐｏｉｎｔ＆Ｐｒｉｎｔによりライセンス管理Ａｄｄ−ｉｎ２０４と地紋プリント２０５がダウンロードされている。Ｐｏｉｎｔ＆Ｐｒｉｎｔでダウンロードされたライセンス管理Ａｄｄ−ｉｎはダウンロードの直後にプリントサーバ１０のライセンス管理サービス１０６と通信して地紋プリントＡｄｄ−ｉｎ２０５のライセンスの有無を確認する。なお、ライセンス管理サービス１０６は本実施形態の説明においてはプリントサーバ１０上に存在するが、別のサーバ上に存在してもかまわない。
【００２９】
図５において、クライアントコンピュータ２０の印刷サービス２００からプリントサーバ１０の印刷サービス１００に対し、印刷キュー１０３への接続要求を出す（５００）。接続要求とは、具体的にはクライアントコンピュータ２０上でユーザがネットワーク共有されているプリンタを使用開始することを意味する。例えば、Ｗｉｎｄｏｗｓ（登録商標）  ＸＰ  Ｐｒｏｆｅｓｓｉｏｎａｌ日本語版の場合、コントロールパネルからプリンタとＦＡＸを選択し、さらにプリンタのインストールにおいて共有プリンタを選択することである。また、クライアントコンピュータ２０上で動作するプログラムがＡｄｄＰｒｉｎｔｅｒＣｏｎｎｅｃｔｉｏｎというＡＰＩを呼び出す場合も同等の効果がある。以上のような接続要求があると、Ｐｏｉｎｔ＆Ｐｒｉｎｔの機能により、ライセンス管理Ａｄｄ−ｉｎ１０４と地紋プリントＡｄｄ−ｉｎ１０５を含むプリンタドライバ１０２がクライアントコンピュータ２０へ自動ダウンロードされる（５０１）。クライアントコンピュータ２０の印刷サービス２００は、ライセンス管理Ａｄｄ−ｉｎ２０４と地紋プリントＡｄｄ−ｉｎ２０５を含むプリンタドライバ２０２の構成をドライバ構成情報２０１として登録する（５０２）。
【００３０】
この一連のダウンロード処理が完了すると、クライアントコンピュータ２０の印刷サービス２００は、ダウンロード完了のイベントをプリンタドライバ２０２に通知する（５０３）。この通知によってプリンタドライバ２０２は、プリンタドライバ自身とＡｄｄ−ｉｎがクライアントコンピュータ２０にダウンロードされた直後であることを認識できる。プリンタドライバ２０２は、ドライバ構成情報２０１を参照して確認し、Ａｄｄ−ｉｎの構成を得る（５０４）。そして、ライセンス管理Ａｄｄ−ｉｎ２０４に地紋プリントＡｄｄ−ｉｎ２０５のライセンスの問い合わせを行う（５０５）。ライセンス管理Ａｄｄ−ｉｎ２０４は、プリントサーバ１０のライセンス管理サービスにライセンスの有無を確認する（５０６）。プリンタドライバ２０２は、ライセンスの問い合わせの結果、ライセンスが無いことを確認できた場合、地紋プリントＡｄｄ−ｉｎ２０５に対し、ライセンスが無いことを通知する５０７）。
【００３１】
図６は、本発明の実施の形態に係るプリントサーバ１０のハードウェア構成を示すブロック図である。
【００３２】
図において、６０１はＣＰＵで、ＲＡＭ６０２にロードされたプログラムに従って本実施の形態に係る処理を実行している。ＲＡＭ６０２は、各種プログラムを記憶するメモリエリア、及びＣＰＵ６０１による制御処理の実行時にワークエリアとして使用され、各種データを一時的に保存するメモリエリアとを有している。ハードディスク（ＨＤ）６０３には、予めＯＳや各種プログラムがインストールされており、サーバ１０の立ち上げ時、或はプログラムの起動が指示されると、その指示されたプログラムがＲＡＭ６０２にロードされてＣＰＵ６０１の制御の下に実行される。表示部６０４は、例えばＣＲＴや液晶などの表示部である。入力部６０５は、キーボードやマウスなどのポインティングデバイスを含み、ユーザの操作に応じたデータの入力に使用される。ネットワーク・インターフェース６０６は、イーサネット（登録商標）やインターネットなどのネットワークと接続するためのインターフェースユニットである。システムバス６１０はこれら各部とＣＰＵ６０１とを接続し、データや各種制御信号を伝送している。
【００３３】
尚、クライアントコンピュータ２０のハードウェア構成も、基本的にこのプリントサーバ１０のハードウェア構成と同じであるため、その説明を省略する。
【００３４】
図７は、本実施の形態に係るプリントサーバシステムのクライアントコンピュータ２０のプリンタドライバ２０２における処理の流れを示すフローチャートである。図５の５０４から５０５における処理に相当する。この処理を実行するプログラムはＨＤ６０３にインストールされており、ＲＡＭ６０２にロードされて実行される。具体的には、印刷サービス２００がプリントサーバ１０からプリンタドライバ１０２をダウンロードして、ドライバ構成情報２０１にプリンタドライバ２０２の構成情報を登録し、プリンタドライバ２０２を呼び出したときに実行される。
【００３５】
以下の処理はプリンタドライバ２０２により実行される。
まずステップＳ７０１で、プリンタドライバ２０２は、ドライバ構成情報２０１を参照してＡｄｄ−ｉｎも含めたドライバ構成ファイル名のリストを得る。以降、ドライバ構成ファイル名のリストにあるファイル名を一つ一つ取り出すループ処理がＳ７０２からＳ７０７の間で繰り返される。ステップＳ７０２で、ドライバ構成ファイル名のリストから最初の構成ファイル名をプリンタドライバ２０２が取り出す。もし、処理がＳ７０７から続いている場合は、次の構成ファイル名を取り出す。ステップＳ７０３で、次の構成ファイル名が存在するかどうかを判断する。構成ファイル名のリストが末端まで到達していなくて次の構成ファイルが存在するならば、ステップＳ７０４へ進む。次の構成ファイルが存在しないなら、ループ処理を抜けてステップＳ７０８へ進む。ステップＳ７０４で、構成ファイルの種類を調べてＡｄｄ−ｉｎかどうかを判断する。プリンタドライバの構成はＡｄｄ−ｉｎ以外にもデータファイルやヘルプファイルやプリンタドライバ本体といった様々な種類のファイルの集まりなので、Ｓ７０４によってＡｄｄ−ｉｎのみ取り出す。構成ファウルがＡｄｄ−ｉｎだった場合、ステップＳ７０５へ進み、構成ファウルがＡｄｄ−ｉｎでない場合、ステップＳ７０２へ進む。ステップＳ７０５で、さらに構成ファイルがライセンス管理用Ａｄｄ−ｉｎかどうかを判断する。構成ファウルがライセンス管理用Ａｄｄ−ｉｎだった場合、ステップＳ７０６へ進み、構成ファイルがライセンス管理用Ａｄｄ−ｉｎでない場合、ステップＳ７０７へ進む。ステップＳ７０６で、ライセンス管理用Ａｄｄ−ｉｎの名前が判明するので、その名前を記憶しておく。この記憶したライセンス管理用Ａｄｄ−ｉｎの名前は以降のＳ７０８およびＳ７０９で使用される。なお、ライセンス管理用Ａｄｄ−ｉｎが複数存在することは仕様上ないこととしている。よってここでは一つの名前のみ記憶する。ステップＳ７０７で、ライセンス管理用Ａｄｄ−ｉｎ  以外のＡｄｄ−ｉｎの名前が判明するので、その名前を記憶しておく。この記憶したＡｄｄ−ｉｎの名前は以降のＳ７０８およびＳ７０９で使用される。なお、ライセンス管理用以外のＡｄｄ−ｉｎは複数存在することは仕様上可能なので、ここでは複数の名前のリストとして記憶する。上述したように、Ｓ７０３にて、構成ファイル名のリストが末端まで到達して次の構成ファイルが存在しないと判定されたならば、ループ処理を抜けてステップ７０８へ進む。ステップＳ７０８で、Ｓ７０６とＳ７０７で得たＡｄｄ−ｉｎの構成情報から、ライセンス管理用Ａｄｄ−ｉｎが存在し、かつライセンス管理用以外のＡｄｄ−ｉｎが少なくとも１つ存在するかどうかを判断する。この条件を満たすと判断された場合は、Ｓ７０９に進む。この条件を満たさないと判断されればライセンス管理は不要なので当処理を終了する。ステップＳ７０９で、プリンタドライバ２０２は、ライセンス管理用Ａｄｄ−ｉｎ２０４を呼び出す。このときＳ７０７で得たＡｄｄ−ｉｎ名のリストをプリンタドライバ２０２は２０４に対して渡す。
【００３６】
ステップＳ７１０は、ライセンス管理用Ａｄｄ−ｉｎ２０４内部の処理を示している。図８を使って後述する。Ｓ７１０が終わると当処理も終了する。このように、プリンタドライバ２０２がポイントアンドプリントによりダウンロードインストールされる。そして、インストールのセットアップ時に、ライセンス管理用ＡＤＤ−ｉｎ２０４もインストールされ、実行される。
【００３７】
図８は、本実施の形態に係るプリントサーバシステムのクライアントコンピュータ２０のライセンス管理用Ａｄｄ−ｉｎ２０４における処理の流れを示すフローチャートである。図５の５０６から５０７における処理に相当する。この処理を実行するプログラムはＨＤ６０３にインストールされており、ＲＡＭ６０２にロードされて実行される。具体的には、プリンタドライバ２０２がライセンス管理用Ａｄｄ−ｉｎ２０４を呼び出すことで実行される。このとき、地紋プリントＡｄｄ−ｉｎ２０５の名前をパラメータとして渡す。
【００３８】
まずステップＳ８０１で、ライセンス管理用Ａｄｄ−ｉｎ２０４は、Ａｄｄ−ｉｎ名のリストにある最初のファイル名を取り出す。Ａｄｄ−ｉｎ名を一つ一つ取り出すループ処理がＳ８０１からＳ８０６間で繰り返される。もし、Ｓ８０１の処理がＳ８０６から続いている場合は、次のＡｄｄ−ｉｎ名を取り出す。ステップＳ８０２で、次のＡｄｄ−ｉｎ名が存在するかどうかを判断する。Ａｄｄ−ｉｎ名のリストが末端まで到達していなくて次のＡｄｄ−ｉｎが存在するならば、ステップ８０３へ進む。次のＡｄｄ−ｉｎが存在しないなら、当処理を終了する。ステップＳ８０３で、プリントサーバ１０のライセンス管理サービス１０６にＡｄｄ−ｉｎのライセンスの有無を問い合わせる。本実施例の場合、地紋プリントＡｄｄ−ｉｎ２０５のライセンスの有無を問い合わせることになる。ライセンス管理用Ａｄｄ−ｉｎ２０４は、ライセンス管理サービス１０６に、パラメータとしてクライアントコンピュータ名（もしくはＩＰアドレスなどの一意に決まるＩＤ）とＡｄｄ−ｉｎの機能の名前（もしくは一意に決まるＩＤ。ここでは地紋プリントであることを示す）を渡す。ライセンス管理サービス１０６おける処理は図９にて後述する。ライセンス管理用Ａｄｄ−ｉｎ２０４は、ライセンス管理サービス１０６から指定したＡｄｄ−ｉｎのライセンスの有無を得ると、ステップＳ８０４にてライセンスの有無を判断する。ライセンスが無ければ、Ｓ８０５に進み、ライセンスが有ればＳ８０１へ進む。ステップＳ８０５で、ライセンス管理用Ａｄｄ−ｉｎ２０４は、Ａｄｄ−ｉｎを呼び出して、ライセンスが無いことを通知する。本実施例の場合、地紋プリントＡｄｄ−ｉｎ２０５にライセンスが無いことを通知することになる。地紋プリントＡｄｄ−ｉｎ２０５における処理は図１０にて後述する。上述したように、Ｓ８０２にて、Ａｄｄ−ｉｎ名のリストが末端まで到達して次のＡｄｄ−ｉｎ名が存在しないならば、ループ処理を抜けて当処理を終了する。
【００３９】
図９は、本実施の形態に係るプリントサーバシステムのプリントサーバ１０のライセンス管理サービス１０６における処理の流れを示すフローチャートである。図５の５０６における処理に相当する。この処理を実行するプログラムはＨＤ６０３にインストールされており、ＲＡＭ６０２にロードされて実行される。具体的には、ライセンス管理サービス１０６はサービスとして常時起動していて、ライセンス管理Ａｄｄ−ｉｎ２０４の要求に応じる。このとき、ライセンス管理Ａｄｄ−ｉｎ２０４は、クライアントコンピュータ名（もしくはＩＰアドレスなどの一意に決まるＩＤ）とＡｄｄ−ｉｎの機能の名前（もしくは一意に決まるＩＤ。ここでは地紋プリントであることを示す）を渡す。
【００４０】
まずステップＳ９０１で、ライセンス管理サービス１０６は、ライセンスを要求してくるクライアントコンピュータとライセンス対象となる機能に適合する残ライセンス数を確認する。残ライセンスがあれば、Ｓ９０２へ進む。ステップＳ９０２で、残ライセンス数を１つ減算し、ステップＳ９０２で、ライセンス有りとライセンス管理Ａｄｄ−ｉｎ２０４に返す。ライセンスが無い場合は、ステップ９０４で、ライセンス無とライセンス管理Ａｄｄ−ｉｎ２０４に返す。
【００４１】
図１０は、本実施の形態に係るプリントサーバシステムのクライアントコンピュータ２０の地紋プリントＡｄｄ−ｉｎ２０５における処理の流れを示すフローチャートである。図６の５０７における処理に相当する。これまでＰｏｉｎｔ＆Ｐｒｉｎｔに係る一連の処理を、図５をベースにして図７から図９までのフローチャートで説明してきたが、この図１０をもってＰｏｉｎｔ＆Ｐｒｉｎｔに係る一連の処理が終了することになる。この処理を実行するプログラムはＨＤ６０３にインストールされており、ＲＡＭ６０２にロードされて実行される。具体的には、ライセンス管理用Ａｄｄ−ｉｎ２０４が地紋プリントＡｄｄ−ｉｎ２０５を呼び出すことで実行される。
【００４２】
ステップＳ１００１で、地紋プリントＡｄｄ−ｉｎ２０５は、地紋プリントライセンスが無いことをメモリに記憶する。ここまでＰｏｉｎｔ＆Ｐｒｉｎｔの一連の処理の流れの中で各処理フローを説明してきた。そのＰｏｉｎｔ＆Ｐｒｉｎｔが完了後、クライアントコンピュータ２０上でユーザが任意のアプリケーションを起動して印刷する場合に、その記憶しておいたライセンスの有無を記したメモリを参照する。詳細は、以降の図１１および図１２で説明する。
【００４３】
図１１は、本実施の形態に係るプリントサーバシステムのクライアントコンピュータ２０のプリンタドライバ２０２における処理の流れを示すフローチャートである。図５で説明されたＰｏｉｎｔ＆Ｐｒｉｎｔ一連の処理が完了後、クライアントコンピュータ２０上でユーザが任意のアプリケーションを起動して印刷する場合に、プリンタドライバ２０２が呼ばれる。このときのプリンタドライバ２０２の印刷処理の流れを示す。この処理を実行するプログラムはＨＤ６０３にインストールされており、ＲＡＭ６０２にロードされて実行される。
【００４４】
まずステップＳ１１０１で、プリンタドライバ２０２を初期化する。この初期化処理においては、オペレーティングシステムとのインターフェースのネゴシエーション開始処理、印刷設定の取得処理、Ａｄｄ−ｉｎの初期化処理などを行う。本実施形態において重要となるＡｄｄ−ｉｎの初期化処理については、図１２で後述する。なお、ここで述べる印刷設定とは、プリンタドライバへの印刷設定を意味し、用紙サイズや用紙の向きといった印刷に係る設定を保持するデータを指す。印刷設定の保存形式としては、Ｍｉｃｒｏｓｏｆｔ  Ｗｉｎｄｏｗｓ（登録商標）において、ＤＥＶＭＯＤＥと呼ばれるバイナリデータであったり、プリントチケットと呼ばれるＸＭＬ形式データであることが多い。Ｓ１１０１を処理した結果、次のステップＳ１１０２で、印刷を処理を続行すべきか判断する。印刷処理を続行する場合、ステップＳ１１０３に進み、プリンタ３０に入力可能なページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ、ＰＤＬとも呼ぶ）を出力する。ステップＳ１１０４で、後処理をして当処理を終了する。Ｓ１１０２で印刷を処理を停止する場合は、Ｓ１１０３をスキップして、Ｓ１１０４の後処理だけを実行して当処理を終了する。
【００４５】
図１２は、本実施の形態に係るプリントサーバシステムのクライアントコンピュータ２０のプリンタドライバ２０２における処理の流れを示すフローチャートである。図１１のＳ１１０１にてＡｄｄ−ｉｎの初期化処理が行われるが、図１２はその処理の詳細を説明したものである。この処理を実行するプログラムはＨＤ６０３にインストールされており、ＲＡＭ６０２にロードされて実行される。
【００４６】
まずステップＳ１２０１で、プリンタドライバ２０２は、ドライバ構成情報２０１を参照してＡｄｄ−ｉｎも含めたドライバ構成ファイル名のリストを得る。以降、ドライバ構成ファイル名のリストにあるファイル名を一つ一つ取り出すループ処理がＳ１２０２からＳ１２０７の間で繰り返される。ステップＳ１２０２で、ドライバ構成ファイル名のリストから最初の構成ファイル名を取り出す。もし、処理がＳ１２０７から続いている場合は、次の構成ファイル名を取り出す。ステップＳ１２０３で、次の構成ファイル名が存在するかどうかを判断する。構成ファイル名のリストが末端まで到達していなくて次の構成ファイルが存在するならば、ステップＳ１２０４へ進む。次の構成ファイルが存在しないなら、ループ処理を抜けてステップＳ１２０９へ進む。ステップＳ１２０４で、構成ファイルの種類を調べてＡｄｄ−ｉｎかどうかを判断する。プリンタドライバの構成はＡｄｄ−ｉｎ以外にもデータファイルやヘルプファイルやプリンタドライバ本体といった様々な種類のファイルの集まりなので、Ｓ１２０４によってＡｄｄ−ｉｎのみ取り出す。構成ファイルがＡｄｄ−ｉｎだった場合、ステップＳ１２０５へ進み、構成ファウルがＡｄｄ−ｉｎでない場合、ステップＳ１２０２へ進む。ステップＳ１２０５で、さらに構成ファイルがライセンス管理用Ａｄｄ−ｉｎかどうかを判断する。構成ファイルがライセンス管理用Ａｄｄ−ｉｎでない場合、ステップＳ１２０６へ進み、構成ファイルがライセンス管理Ａｄｄ−ｉｎならば、Ｓ１２０２へ進む。ステップＳ１２０６で、Ａｄｄ−ｉｎを呼び出す。本実施形態においては地紋プリントＡｄｄ−ｉｎ２０５を呼び出すことになる。地紋プリントＡｄｄ−ｉｎ２０５は印刷を停止するかどうかを返す。処理の詳細については図１２で後述する。ステップＳ１２０７で地紋プリントＡｄｄ−ｉｎ２０５が返した指示に従い、印刷を停止するかどうかを判断する。印刷を停止する場合、Ｓ１２０８へ進み、以後の印刷処理を停止して当処理を終了する。印刷を停止しない場合は、Ｓ１２０２へ進む。上述したように、Ｓ１２０３にて、構成ファイル名のリストが末端まで到達して次の構成ファイルが存在しないならば、ループ処理を抜けてステップＳ１２０９へ進む。ステップＳ１２０９で当処理を終了する。すなわち、印刷処理は続行される。
【００４７】
図１３は、本実施の形態に係るプリントサーバシステムのクライアントコンピュータ２０の地紋プリントＡｄｄ−ｉｎ２０５における処理の流れを示すフローチャートである。図５で説明されたＰｏｉｎｔ＆Ｐｒｉｎｔ一連の処理が完了後、クライアントコンピュータ２０上でユーザが任意のアプリケーションを起動して印刷する場合に、プリンタドライバ２０２が呼ばれ、さらに地紋プリントＡｄｄ−ｉｎ２０５が呼ばれる。この処理を実行するプログラムはＨＤ６０３にインストールされており、ＲＡＭ６０２にロードされて実行される。
【００４８】
まずステップＳ１３０１で、図１０のＳ１００１で記憶済みのメモリを参照する。これにて当Ａｄｄ−ｉｎのライセンスの有無が判定可能になる。ステップＳ１３０２で、ライセンスの有無を判定する。ライセンスが無い場合は、Ｓ１３０３へ進む、ライセンスがある場合は何もせずに当処理を終了する。ステップＳ１３０３で、地紋プリントＡｄｄ−ｉｎ２０５は、図１４のメッセージボックスを表示して、ユーザに印刷を停止するかどうか選択を促す。ユーザが選択した結果、ステップＳ１３０４で印刷を停止するかどうか判断する。印刷を停止する場合、ステップＳ１３０５へ進み、図１５のメッセージボックスを表示する。印刷を停止しない場合は、ステップＳ１３０６へ進み、図１６のメッセージボックスを表示する。ステップＳ１３０７で、プリンタドライバ２０２に印刷を停止するように指示して当処理を終了する。ステップＳ１３０８で、地紋プリントが無効になるように印刷設定を変更して当処理を終了する。
【００４９】
以上をまとめると次のようになる。
サーバ装置の一例であるサーバ装置２０からプリンタドライバの拡張モジュールをダウンロードしてセットアップするクライアント装置１０が開示された。
【００５０】
当該クライアント装置は、サーバ装置２０からプリンタドライバの拡張モジュールと、ライセンス管理プログラムとを受信するネットワークＩ／Ｆ６０６を備える。クライアント装置１０は、受信処理に応じて、プリンタドライバを用いて前記受信手段が受信したライセンス管理プログラムを呼び出す。前記拡張プログラムのライセンス状況を示すライセンス情報を、ＣＰＵ６０１を実行してクライアント装置１０は、取得する。
【００５１】
取得したライセンス情報を用いて、前記拡張プログラムの情報処理装置における使用を許可するかをＣＰＵ６０１を実行して決定する。この処理はライセンス管理プログラムの一例であるライセンスＡＤＤＩＮを用いて行われる。
【００５２】
ダウンロードして拡張モジュールの一例であるＡＤＤ−ＩＮをセットアップするのに際して、次のように処理する。ＣＰＵ６０１を実行して、拡張モジュールのダウンロード完了のイベントがプリンタドライバに対して通知されたことをクライアントコンピュータ１０は検知する。
【００５３】
ダウンロードの完了イベントをＣＰＵ６０１が検知するのに応答して、クライアント装置１０は、ＣＰＵ６０１を実行してライセンス管理プログラムを呼び出す。
【００５４】
クライアント装置１０は、ＣＰＵ６０１を用いてライセンス管理プログラムを実行し、サーバ装置からライセンス情報を取得する。
【００５５】
さらに、クライアント装置１０は、受信した拡張モジュールのドライバ構成情報をレジストリに登録する。ＣＰＵ６０１がダウンロード完了のイベントを検知するのに応答して、登録したドライバ構成情報が示す拡張モジュールに関連するライセンス情報を、ライセンス管理プログラムを用いて取得する。
【００５６】
なお、ライセンス管理プログラムは、プリンタドライバプログラムの拡張モジュールである。ダウンロードの完了イベントを検知されるのに応答して、当該ライセンス管理プログラムをプリンタドライバの拡張プログラムとしてＣＰＵ６０１が実行する。
【００５７】
以上述べたように、ポイントアンドプリントのフレームワークを変更する必要が無い。すなわち、プリンタドライバがダウンロードを検知したタイミングでプリンタドライバがドライバ構成情報を読み出す。そして、ライセンス管理ＡＤＤ−ＩＮがドライバ構成情報に含まれていれば、当該ＡＤＤ−ＩＮをまず、実行するように構成する。こうすると、ポイントアンドプリントを実行すると、ライセンス管理ＡＤＤ−ＩＮが実行される。これにより、同じく構成情報に含まれるプログラムにいてライセンス管理ＡＤＤ−ＩＮがライセンスの有無判定できる。
【００５８】
拡張プログラムのクライアント装置における使用を許可しないと決定された場合に、当該拡張プログラムの使用を制限する又は／及び使用の不許可を警告するＣＰＵ６０１を有する。
【００５９】
本実施形態により、プリントサーバ上のプリンタドライバに着脱可能なＡｄｄ−ｉｎ機能（例えば地紋プリント）が追加されている状態でＰｏｉｎｔ＆Ｐｒｉｎｔ機能によってクライアントコンピュータに自動ダウンロードされてもライセンス管理が可能となる。また、ライセンス管理機能自体もプリンタドライバに着脱可能なＡｄｄ−ｉｎ機能を使って実現するため、柔軟な制御管理を可能となる。
【図面の簡単な説明】
【００６０】
【図１】本実施形態におけるプリントサーバシステムの構築を示す図である。
【図２】従来のプリントサーバシステムにおけるプリントサーバとクライアントコンピュータの機能構成を説明する機能ブロック図である。
【図３】Ｐｏｉｎｔ＆Ｐｒｉｎｔによるプリンタドライバのインストール処理の流れを説明する図である。
【図４】本実施の形態に係るプリントサーバシステムにおけるプリントサーバとクライアントコンピュータの機能構成を説明する機能ブロック図である。
【図５】本実施の形態に係るプリントサーバシステムにおける処理の流れを説明する図である。
【図６】本実施の形態に係るプリントサーバおよびクライアントコンピュータのハードウェア構成を示すブロック図である。
【図７】本実施の形態に係るクライアントコンピュータにおけるプリンタドライバの処理の流れを示すフローチャートである。
【図８】本実施の形態に係るクライアントコンピュータにおけるライセンス管理用Ａｄｄ−ｉｎの処理の流れを示すフローチャートである。
【図９】本実施の形態に係るプリントサーバにおけるライセンス管理サービスの処理の流れを示すフローチャートである。
【図１０】本実施の形態に係るクライアントコンピュータにおける地紋プリントＡｄｄ−ｉｎの処理の流れを示すフローチャートである。
【図１１】本実施の形態に係るクライアントコンピュータにおける印刷実行時のプリンタドライバの処理の流れを示すフローチャートである。
【図１２】本実施の形態に係るクライアントコンピュータにおける印刷実行時のプリンタドライバのＡｄｄ−ｉｎ初期化処理の流れを示すフローチャートである。
【図１３】本実施の形態に係るクライアントコンピュータにおける印刷実行時の地紋プリントＡｄｄ−ｉｎの処理の流れを示すフローチャートである。
【図１４】本実施の形態に係るクライアントコンピュータにおける印刷実行時の地紋プリントＡｄｄ−ｉｎが表示するユーザーインターフェースである。
【図１５】本実施の形態に係るクライアントコンピュータにおける印刷実行時の地紋プリントＡｄｄ−ｉｎが表示するユーザーインターフェースである。
【図１６】本実施の形態に係るクライアントコンピュータにおける印刷実行時の地紋プリントＡｄｄ−ｉｎが表示するユーザーインターフェースである。
【図１】
2008186386.tif 000003
【図２】
2008186386.tif 000004
【図３】
2008186386.tif 000005
【図４】
2008186386.tif 000006
【図５】
2008186386.tif 000007
【図６】
2008186386.tif 000008
【図７】
2008186386.tif 000009
【図８】
2008186386.tif 000010
【図９】
2008186386.tif 000011
【図１０】
2008186386.tif 000012
【図１１】
2008186386.tif 000013
【図１２】
2008186386.tif 000014
【図１３】
2008186386.tif 000015
【図１４】
2008186386.tif 000016
【図１５】
2008186386.tif 000017
【図１６】
2008186386.tif 000018