(57)【要約】【課題】ユーザの要望に応じたプリンタドライバを自動的に生成し、ネットワークを介して提供するプリンタドライバ提供システムを提供する。【解決手段】プリンタドライバ提供システム１０では、クライアントＰＣ２０からの要求があると、プリンタドライバを構築するための仕様情報を入力するためのクライアントプログラムが、Ｗｅｂサーバ１２からクライアントＰＣ２０にネットワーク２２を介して送信される。このクライアントプログラムの実行により、Ｗｅｂサーバ１２は入力された仕様情報を収集することができる。構築サーバ１４は、Ｗｅｂサーバ１２で収集された仕様情報に基づいてプリンタドライバを構築する。そして、構築サーバ１４で構築されたプリンタドライバは、Ｗｅｂサーバ１２を経由してクライアントＰＣ２０に送信される。【選択図】図１
2004110678.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークに接続され、クライアントからの要求に応じてプリンタドライバを構築するための仕様情報を入力するためのクライアントプログラムをネットワークを介して送信し、クライアントプログラムの実行により入力された仕様情報を収集する第１のサーバと、
前記第１のサーバで収集された仕様情報に基づいて、プリンタドライバを構築する第２のサーバと、
を含んで構成され、
前記第２のサーバで構築されたプリンタドライバを、前記第１のサーバを経由してクライアントに提供するプリンタドライバ提供システム。
【請求項２】
前記第２のサーバは、プリンタドライバを構築するための部品モジュール群を予め備え、前記第１のサーバで収集された仕様情報に基づいて前記部品モジュール群から使用する部品モジュールを選択し、選択した部品モジュールを組立ててプリンタドライバを構築する請求項１に記載のプリンタドライバ提供システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタドライバ提供システムに関し、特に、インターネット等のネットワークを介して個別ユーザに対応したプリンタドライバを提供するプリンタドライバ提供システムに関する。
【０００２】
【従来の技術】
通常、プリンタを使用するユーザに対しては、画一的なユーザ・インタフェースと機能とを備えたプリンタドライバが提供されている。このため、ユーザは、印刷設定画面に表示された多数の設定項目の中から変更が必要な項目を探し出し、印刷設定作業を行わなくてはならない、という煩わしさがあった。
【０００３】
このような事情に鑑み、ユーザ毎にプロパティシートの内容をカスタマイズできるようにして、操作性を高めた印刷制御装置が提案されている（特許文献１参照）。この装置では、使用頻度の高い設定項目又はユーザが選択した設定項目の画像が優先的に表示されるように、プロパティシートの内容がカスタマイズされる。
【０００４】
【特許文献１】
特開平１１−２３２０５９号公報（段落００２８〜段落００３４、図７、図８）
【０００５】
【発明が解決しようとする課題】
しかしながら、上記の印刷制御装置では、予め登録された設定項目群の中から優先的に表示する項目を選択するに過ぎず、機能拡張には対応することができない。例えば、印刷するページを任意に並べ替える機能を追加したい場合に、予めその機能が具備されていなければ、その機能を使用することはできない。また、独自の項目表示を行うこともできない。例えば、トレイ１を「再生紙用トレイ」、「赤色トレイ」等、他の名前で定義することはできない。
【０００６】
結局、使用環境に応じたユーザ・インタフェースや機能を備えた専用のプリンタドライバを希望するユーザに対しては、メーカが個別に対応せざるを得ず、価格も高くせざるを得なかった。
【０００７】
本発明は上記問題を解決すべく成されたものであり、本発明の目的は、ユーザの要望に応じたプリンタドライバを自動的に生成し、ネットワークを介して提供するプリンタドライバ提供システムを提供することにある。
【０００８】
【課題を解決するための手段】
上記目的を達成するために本発明のプリンタドライバ提供システムは、クライアントからの要求に応じてプリンタドライバを構築するための仕様情報を入力するためのクライアントプログラムをネットワークを介して送信し、クライアントプログラムの実行により入力された仕様情報を収集する第１のサーバと、前記第１のサーバで収集された仕様情報に基づいて、プリンタドライバを構築する第２のサーバと、を含んで構成され、前記第２のサーバで構築されたプリンタドライバを、前記第１のサーバを経由してクライアントに提供することを特徴とする。
【０００９】
本発明のプリンタドライバ提供システムでは、クライアントからの要求があると、プリンタドライバを構築するための仕様情報を入力するためのクライアントプログラムが、第１のサーバからクライアントにネットワークを介して送信される。このクライアントプログラムの実行により、第１のサーバは入力された仕様情報を収集することができる。第２のサーバは、この第１のサーバで収集された仕様情報に基づいてプリンタドライバを構築する。そして、第２のサーバで構築されたプリンタドライバは、第１のサーバを経由してクライアントに提供される。
【００１０】
これにより、ユーザの要望に応じたユーザ・インタフェースと機能とを備えたプリンタドライバを自動的に生成し、ネットワークを介して提供することができる。プリンタドライバ（ソフトウエア）自体を新たに構築するので、ユーザの要望に応じて機能を追加することも可能である。
【００１１】
上記のプリンタドライバ提供システムにおいて、第２のサーバは、プリンタドライバを構築するための部品モジュール群を予め備え、第１のサーバで収集した仕様情報に基づいて前記部品モジュール群から使用する部品モジュールを選択し、選択した部品モジュールを組立ててプリンタドライバを構築するように構成することができる。
【００１２】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１３】
本実施の形態に係るプリンタドライバ（ＰＤ）提供システム１０は、図１に示すように、Ｗｅｂ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）サーバ１２に、構築サーバ１４及びＤＢ（データベース）サーバ１６が各々接続されて構成されている。また、Ｗｅｂサーバ１２は、プリンタ１８が接続されたユーザ端末（クライアントＰＣ）２０と、インターネットを含むネットワーク２２を介して相互に通信可能に接続されている。即ち、クライアントＰＣ２０と構築サーバ１４との間の通信を仲介する。
【００１４】
なお、１台のプリンタ１８と接続された１台のクライアントＰＣ２０を図示したが、１台のクライアントＰＣ２０に複数のプリンタ１８が接続されていてもよく、ネットワーク２２に複数のクライアントＰＣ２０が接続されていてもよい。
【００１５】
クライアントＰＣ２０には、ディスプレイ等の表示手段やキーボード、マウス等の操作入力手段等のユーザ・インターフェイス（ＵＩ）を備え、且つＣＰＵ、ＲＯＭ、ＲＡＭ等を備えた一般的なパーソナル・コンピュータを用いることができる。また、クライアントＰＣ２０には、Ｗｅｂブラウザがインストールされており、このＷｅｂブラウザを起動することにより、ネットワーク２２を介してＷｅｂサーバ１２にアクセスすることができる。このとき、アクセス位置（アクセス先のＷｅｂサーバの位置、及びＷｅｂサーバ内の情報の位置で構成されるデータ）は、ＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）で指定され、データ通信は、ＨＴＴＰ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）に従って行われる。
【００１６】
Ｗｅｂサーバ１２は、図２に示すように、各種プログラムを実行するＣＰＵ２４、ＣＰＵ２４で実行するプログラムをロードするためのＲＡＭ２６、各種プログラムやデータが格納されるハードディスク装置等の記憶装置２８、表示手段及び操作入力手段といったＵＩ３０、ネットワーク２２を介して通信を行うためのインターフェイス（Ｉ／Ｆ）３２、構築サーバ１４と通信を行うためのＩ／Ｆ３４、及びＤＢサーバ１６と通信を行うためのＩ／Ｆ３６を備えている。これらＣＰＵ２４、ＲＡＭ２６、記憶装置２８、ＵＩ３０、Ｉ／Ｆ３２、Ｉ／Ｆ３４、及びＩ／Ｆ３６は、バス３８を介して相互に接続されている。
【００１７】
記憶装置２８には、サーバプログラム４０とクライアントプログラム４２とが格納（インストール）されている。サーバプログラム４０は、Ｗｅｂサーバ１２の起動中はＣＰＵ２４によりバックグランドで常時実行されて、ネットワーク２２を介して各種の要求を受け付けると共に、ネットワーク２２を介して要求を受信した場合のＷｅｂサーバ１２の動作を司るものである。具体的には、Ｉ／Ｆ３２により受信した要求に応じて、該要求の送信元のクライアントＰＣ２０へクライアントプログラム４２を送信したり、構築サーバ１４へ受信したデータを転送するようにＷｅｂサーバ１２の動作を制御する。
【００１８】
また、クライアントプログラム６０とは、Ｗｅｂブラウザにより解析されて画面上に情報を表示するＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）で記述されたプログラムや、より動的な環境を提供するＪａｖａ（Ｒ）で記述されたプログラムといったＯＳ環境に依存しないプログラムのことである。
【００１９】
本実施の形態では、クライアントＰＣ２０に接続されたプリンタ１８からプリンタ情報を収集すると共に、オペレータにプリンタドライバの仕様形態の入力を促し、作成されたプリンタドライバをダウンロードするためのクライアントプログラムが用意され、記憶装置２８に格納されている。
【００２０】
構築サーバ１４は、図３に示すように、各種プログラムを実行するＣＰＵ４４、ＣＰＵ４４で実行するプログラムをロードするためのＲＡＭ４６、各種プログラムやデータが格納されるハードディスク装置等の記憶装置４８、表示手段及び操作入力手段といったＵＩ５０、及びＷｅｂサーバ１２と通信を行うためのＩ／Ｆ５２を備えている。これらＣＰＵ４４、ＲＡＭ４６、記憶装置４８、ＵＩ５０、及びＩ／Ｆ５２は、バス５４を介して相互に接続されている。
【００２１】
記憶装置４８には、プリンタドライバの生成処理を行う構築プログラム５６と、プリンタドライバの構築に使用される部品モジュール群５８とが格納されている。構築プログラム５６は、Ｗｅｂサーバ１２から送信された仕様情報に基づいて、ＵＩ画面を構成する部品及び設定値を選択し、選択した部品の種類、配置に矛盾が生じないことを確認した上で、部品毎に初期値を設定し、選択した部品画像を表示するためのモジュールを組立てて、送信された仕様情報に応じたプリンタドライバを生成するものである。
【００２２】
次に、図４を参照して、オペレータがクライアントＰＣ２０からオーダーしたプリンタドライバをダウンロードする場合の動作を説明する。
【００２３】
オペレータは、まず、クライアントＰＣ２０にＷｅｂブラウザの起動指示を入力し、これを受けてクライアントＰＣ２０では、ステップ１００において、Ｗｅｂブラウザが起動されて表示手段に入力画面が表示される。次に、ステップ１０２で、オペレータ操作によりこの入力画面上でＷｅｂサーバ１２のＵＲＬを入力するなどして、アクセス先にＷｅｂサーバ１２が指定されて、クライアントＰＣ２０からＷｅｂサーバ１２へとアクセス要求が送信される。
【００２４】
Ｗｅｂサーバ１２では、このアクセス要求を受けて、ステップ１０４において、クライアントプログラム４２が記憶装置２８から読み出されて、該要求送信元のクライアントＰＣ２０へと送信される。
【００２５】
クライアントＰＣ２０では、Ｗｅｂサーバ１２から送信されたクライアントプログラム４２を受信すると、ステップ１０６において、受信したクライアントプログラム４２が実行中のＷｅｂブラウザにより解析されて動作される。この結果、Ｗｅｂブラウザ上で該クライアントプログラム４２が実行され、図５に示すように、ＰＤ提供システム１０の設定条件入力用のウェブページが表示される。このウェブページには、「選択可能な用紙サイズ」、「追加の用紙サイズ」、及び「特殊機能選択」の３項目についての機能リスト２００と、ダウンロードボタン２０２とが表示される。この機能リスト２００から選択された機能に関する情報が、プリンタドライバの仕様を決める仕様情報である。
【００２６】
或いは、図６に示すように、ＵＩ構成部品リスト２０４、ＵＩイメージ２０６、及びダウンロードボタン２０８を備えるウェブページを表示して、オペレータがドラッグ・アンド・ドロップ操作により、ＵＩ構成部品リスト２０４から使用する部品を選択し、ＵＩイメージ２０６上に直接配置して、機能を選択すると共に視覚的な配置（レイアウト）を決定できるようにしてもよい。ＵＩイメージのレイアウトを決定できるようにすることで、ユーザの利便性が向上する。
【００２７】
なお、この例では「追加の用紙サイズ」に「見積り帳票（２１０ｍｍ×２９７ｍｍ）」という用紙名のサイズが追加されている。これにより、用紙サイズの選択肢（設定値）には、Ａ４，Ｂ４等の一般的な用紙サイズの他に、ユーザが定義した「見積り帳票」という用紙サイズが追加される。
【００２８】
次に、ステップ１０８で、クライアントプログラム４２に基づく制御により、クライアントＰＣ２０に接続されたプリンタ１８にプリンタ情報の送信要求が送信される。プリンタ情報には、プリンタの機種に関する情報、オプション機能の有無に関する情報などが含まれる。プリンタ１８は、クライアントＰＣ２０から送信要求を受信すると、ステップ１１０で、直ちにプリンタ情報をクライアントＰＣ２０に送信する。
【００２９】
オペレータの操作により、機能リスト２００から所望の機能が選択され、ダウンロードボタン２０２が押されると、Ｗｅｂブラウザ上で実行されているクライアントプログラム４２に基づく制御により、ステップ１１２で、プリンタ１８から収集したプリンタ情報とオペレータが入力した仕様情報とが、プリンタドライバの出力要求と共に、Ｗｅｂサーバ１２に送信される。Ｗｅｂサーバ１２では、この出力要求を受けて、ステップ１１４で、受信したプリンタ情報及び仕様情報を、ＲＡＭ２６に記憶すると共に構築サーバ１４に転送する。
【００３０】
構築サーバ１４では、Ｗｅｂサーバ１２から転送されてきたプリンタ情報及び仕様情報を受信すると、ステップ１１６で、構築プログラム５６が起動され、ＰＤ（プリンタドライバ）生成処理が開始される。なお、ＰＤ生成処理については後述する。構築サーバ１４は、ＰＤ生成処理が完了すると、ステップ１１８で、生成したプリンタドライバをＷｅｂサーバ１２に送信する。Ｗｅｂサーバ１２では、ステップ１２０で、受信したプリンタドライバをクライアントＰＣ２０に転送（ダウンロード）する。
【００３１】
なお、構築サーバ１４において、選択された機能間に矛盾があり、プリンタドライバの生成が不可能であると判断した場合には、プリンタドライバの代わりにエラーメッセージをＷｅｂサーバ１２に送信し、Ｗｅｂサーバ１２は受信したエラーメッセージをクライアントＰＣ２０に転送する。クライアントＰＣ２０では、クライアントプログラム４２に基づく制御により、エラーメッセージが表示される。
【００３２】
オペレータは、クライアントＰＣ２０にプリンタドライバのインストールを指示し、ステップ１２２で、ダウンロードされたプリンタドライバがクライアントＰＣ２０にインストールされる。これにより、オペレータは、プリンタドライバを起動させて、注文した仕様通りに作成されているか、コンピュータ上で正常に動作するか等を、確認することができる。
【００３３】
Ｗｅｂサーバ１２は、ステップ１２０で、プリンタドライバをクライアントＰＣ２０に送信した後、ステップ１２４で、仕様情報をＲＡＭ２６から読み出し、ＤＢサーバ１６に送信する。ＤＢサーバ１６は、Ｗｅｂサーバ１２から送信されてきた仕様情報を受信すると、ステップ１２６で、これをデータベースに統計情報として保存する。
【００３４】
ここで、構築プログラム５６に基づいて実行されるＰＤ生成処理のルーチンを説明する。まず、ステップ３００で、一時的にＲＡＭ４６に記憶していたプリンタ情報及び仕様情報を読み出す。既に説明した通り、プリンタ情報には、プリンタの機種に関する情報、オプション機能の有無に関する情報などが含まれる。また、仕様情報には、例えば、「印刷方向」、「用紙サイズ」、「印刷部数」、「用紙種類」等のＵＩを構成する部品の種類、部品の配置座標等の位置情報、各部品についての初期値及び設定値が含まれる。
【００３５】
次に、ステップ３０２で、プリンタの機種を選択する。プリンタドライバはプリンタの機種毎に作成されるので、プリンタ情報に複数機種のプリンタの情報が含まれている場合には、まず、プリンタの機種を選択する必要がある。
【００３６】
プリンタの機種が選択されると、ステップ３０４で、仕様情報に基づいて、使用する部品とその部品における設定値とを抽出する。例えば、図６に示すウエブページにおいて、オペレータにより、「用紙サイズ」という部品に関し、「Ａ３、Ｂ４、Ａ４、Ｂ５、Ａ５」という用紙サイズが選択され、「見積り帳票（２１０ｍｍ×２９７ｍｍ）」という用紙サイズが追加された場合、「用紙サイズ」という部品と、「Ａ３、Ｂ４、Ａ４、Ｂ５、Ａ５、見積り帳票（２１０ｍｍ×２９７ｍｍ）」という設定値とが抽出される。
【００３７】
次に、ステップ３０６で、抽出された部品の種類及び設定値について矛盾が無いか判断する。例えば、上記の例では、「見積り帳票」の用紙サイズは実質的にはＡ４サイズであり、プリンタ装置によっては、選択できるトレイが限定されている場合がある。従って、「見積り帳票」の用紙サイズが用紙サイズの初期値に設定され、且つ、Ａ４サイズを給紙できないトレイが、給紙トレイの初期値として設定されていれば、矛盾があると判断される。矛盾があると判断された場合には、ステップ３０８で、Ｗｅｂサーバ１２にエラーメッセージが送信される。
【００３８】
抽出された部品の種類及び設定値に矛盾が無ければ、ステップ３１０で、仕様情報に基づいて、部品の配置に矛盾が無いか判断する。例えば、ＵＩイメージ上で複数の部品が相互に重なり合う場合には、矛盾があると判断される。矛盾があると判断された場合には、ステップ３０８で、Ｗｅｂサーバ１２にエラーメッセージが送信される。このように、矛盾が生じるか否か逐一チェックすることで、矛盾する機能が排除される。
【００３９】
部品の配置に矛盾が無ければ、ステップ３１２で、部品毎に初期値を設定し、ステップ３１４で、各部品画像を表示するために必要な部品モジュールを部品モジュール群５８から読み出して、ステップ３１６で、読み出した部品モジュールを組立てる。これにより、例えば、図６に示すウエブページにおいて、オペレータが作成したＵＩイメージが完成する。最後に、ステップ３１８で、ＵＩイメージが、コンピュータが直接実行可能な言語に変換（コンパイル）され、ソフトウエアとしてのプリンタドライバが完成する。
【００４０】
ステップ３２０で、未選択のプリンタの機種があるかどうか判断し、未選択の機種があれば、ステップ３０２に戻って、次にプリンタドライバを生成するプリンタの機種を選択する。一方、他にプリンタドライバを生成すべき機種が無ければ、ＰＤ生成処理ルーチンを終了する。
【００４１】
以上説明した通り、本実施の形態のＰＤ提供システムによれば、ユーザは個別仕様のプリンタドライバをインターネット経由で容易に入手することができる。従来、コストの観点から、個別仕様のプリンタドライバの提供は一般には行われていなかったが、本実施の形態では、ユーザの要望に応じたプリンタドライバを自動的に生成することができるので、個別仕様のプリンタドライバを無料若しくは安価に提供することができる。プリンタドライバ（ソフトウエア）自体を新たに構築するので、ユーザの要望に応じて機能を追加することや、表示を希望しない機能を排除することも可能である。
【００４２】
また、ユーザの希望した機能を統計情報として保存することで、ユーザの志向性を調査することができる。例えば、個別ユーザがどういった機能を優先的に使いたがっているか統計をとり、次期開発にフィードバックすることができる。
【００４３】
なお、上記の実施の形態では、保守契約及び課金方法については説明しなかったが、図８に示すように、クライアントプログラム４２に基づく制御により、クライアントＰＣ２０の表示手段に、ＵＩ構成部品リスト２１０、ＵＩイメージ２１２、プリンタドライバの価格表示欄２１４、保守契約オプション２１６、及び購入ボタン２１８を備えるウェブページを表示して、課金や保守契約の提供を行うことができるようにしてもよい。これにより、ユーザは、容易に保守契約の申し込みができる。また、標準で提供されていない追加機能を有料で追加することが可能となる。更に、購入価格を検討した上で購入の意思決定をすることができる。なお、保守契約の申し込み等の顧客に関する情報は、Ｗｅｂサーバ１２に接続された顧客管理サーバを更に設けて、顧客管理サーバで管理すればよい。
【００４４】
また、上記の実施の形態では、セキュリティ重視の観点から、Ｗｅｂサーバ１２、構築サーバ１４、及びＤＢサーバ１６を別々の装置として構成したが、Ｗｅｂサーバ１２、構築サーバ１４、及びＤＢサーバ１６を統合した１台のサーバ装置を設けてもよい。各サーバが統合されることにより、コストを低減することができる。
【００４５】
【発明の効果】
本発明によれば、ユーザの要望に応じたプリンタドライバを自動的に生成し、ネットワークを介して提供することができる、という効果が得られる。
【図面の簡単な説明】
【図１】本実施の形態に係るプリンタドライバ（ＰＤ）提供システムの概略構成を示すブロック図である。
【図２】Ｗｅｂサーバの概略構成を示すブロック図である。
【図３】構築サーバの概略構成を示すブロック図である。
【図４】本実施の形態に係るプリンタ、クライアントＰＣ、Ｗｅｂサーバ、構築サーバ、及びＤＢサーバ間の通信制御図である。
【図５】クライアントＰＣに表示されるウェブページのイメージの一例である。
【図６】クライアントＰＣに表示されるウェブページのイメージの他の例である。
【図７】プリンタドライバ生成処理のルーチンを示すフローチャートである。
【図８】クライアントＰＣに表示されるウェブページのイメージの更に他の例である。
【符号の説明】
１０　プリンタドライバ（ＰＤ）提供システム
１２　Ｗｅｂ（Ｗｏｒｌｄ　Ｗｉｄｅ　Ｗｅｂ）サーバ
１４　構築サーバ
１６　ＤＢ（データベース）サーバ
１８　プリンタ
２０　クライアントＰＣ
２２　ネットワーク
【図１】
2004110678.tif 000003
【図２】
2004110678.tif 000004
【図３】
2004110678.tif 000005
【図４】
2004110678.tif 000006
【図５】
2004110678.tif 000007
【図６】
2004110678.tif 000008
【図７】
2004110678.tif 000009
【図８】
2004110678.tif 000010