(57)【要約】　　　（修正有）【課題】ワークステーションとプリンタ間のローカルネットワークを通じたピアツーピア通信のために、ワークステーション上のプリンタフォルダ内にプリンタをインストールする簡単な方法を提供する。【解決手段】追加可能なプリンタのハイパーリンクを提供するｈｔｍｌページをワークステーションにダウンロードし、追加すべきプリンタのハイパーリンクを選択し、選択されたハイパーリンクから選択されたプリンタの識別情報を抽出し、プリンタをインストールするためのコンポーネントオブジェクトを実行する。そして、このコンポーネントオブジェクトは、抽出された識別情報に少なくとも一部基づいてプリンタ設定情報及びプリントドライバ情報を自動的に取得し、取得したプリンタ設定情報及びプリントドライバ情報に基づいて自動的にプリンタを設定するとともにプリントドライバをインストールする。【選択図】　図７
2004005606.tif 000002
【特許請求の範囲】
【請求項１】
ワークステーションとプリンタ間の、ネットワークを通じたピアツーピア通信のために、前記ワークステーション上のプリンタフォルダ内へ前記プリンタをインストールする方法であって、
前記ワークステーションに追加可能なプリンタのハイパーリンクを提供するプリンタｈｔｍｌページを前記ワークステーションにダウンロードするステップと、
前記ワークステーションへ追加すべきプリンタのハイパーリンクを選択するステップと、
前記選択ステップに応答して、前記選択されたハイパーリンクから前記選択されたプリンタの識別情報を抽出し、前記プリンタをインストールするためのコンポーネントオブジェクトを実行するステップとを有し、
前記コンポーネントオブジェクトは、
前記抽出された識別情報に少なくとも一部基づいてプリンタ設定情報及びプリントドライバ情報を自動的に取得するステップと、
前記取得したプリンタ設定情報及びプリントドライバ情報に基づいて自動的に前記プリンタを設定するとともにプリントドライバをインストールするステップと、
ローカル管理される前記プリンタのインスタンスを前記ワークステーション上に生成するステップ
を実行する関数をコールすることを特徴とする方法。
【請求項２】
前記プリンタの前記識別情報が前記プリンタのネットワークアドレスであることを特徴とする請求項１記載の方法。
【請求項３】
前記ネットワークアドレスが前記プリンタのＩＰアドレスであることを特徴とする請求項２記載の方法。
【請求項４】
前記識別情報が前記プリンタのＤＮＳ名であることを特徴とする請求項１記載の方法。
【請求項５】
前記識別情報が前記プリンタのＮｅｔＢｉｏｓ名であることを特徴とする請求項１記載の方法。
【請求項６】
前記プリンタが仮想プリンタであることを特徴とする請求項１記載の方法。
【請求項７】
前記関数が動的デバイスインストーラを有することを特徴とする請求項１記載の方法。
【請求項８】
前記関数が、前記プリンタ設定情報及び前記プリントドライバ情報をリモートデバイスから取得することを特徴とする請求項１記載の方法。
【請求項９】
前記リモートデバイスがＦＴＰサーバであることを特徴とする請求項８記載の方法。
【請求項１０】
前記関数がさらに、前記プリンタと通信するためのポートを自動生成するステップを実行することを特徴とする請求項１記載の方法。
【請求項１１】
前記選択ステップの後、アクティブサーバページを前記ワークステーションにダウンロードするステップをさらに有し、前記アクティブサーバページが前記抽出及び実行ステップを行うためのスクリプトを含むことを特徴とする請求項１記載の方法。
【請求項１２】
実行されるべき前記コンポーネントオブジェクトが前記ワークステーションにインストールされていない場合、前記コンポーネントオブジェクトを含む実行可能ファイルをダウンロードするステップを更に有することを特徴とする請求項１記載の方法。
【請求項１３】
前記実行可能ファイルが前記コンポーネントオブジェクト及び前記関数を含むＣＡＢファイルであり、前記実行可能ファイルが前記関数を前記ワークステーションへインストールするとともに引き続き前記関数を実行するための関数コールを実行することを特徴とする請求項１２記載の方法。
【請求項１４】
ワークステーションとプリンタ間の、ネットワークを通じたピアツーピア通信のために、前記ワークステーション上のプリンタフォルダ内へ前記プリンタをインストールするためのコンピュータが実行可能な処理ステップであって、
前記ワークステーションに追加可能なプリンタのハイパーリンクを提供するプリンタｈｔｍｌページを前記ワークステーションにダウンロードするステップと、
前記ワークステーションへ追加すべきプリンタのハイパーリンクを選択するステップと、
前記選択ステップに応答して、前記選択されたハイパーリンクから前記選択されたプリンタの識別情報を抽出し、前記プリンタをインストールするためのコンポーネントオブジェクトを実行するステップとを有し、
前記コンポーネントオブジェクトは、
前記抽出された識別情報に少なくとも一部基づいてプリンタ設定情報及びプリントドライバ情報を自動的に取得するステップと、
前記取得したプリンタ設定情報及びプリントドライバ情報に基づいて自動的に前記プリンタを設定するとともにプリントドライバをインストールするステップと、
ローカル管理される前記プリンタのインスタンスを前記ワークステーション上に生成するステップ
を実行する関数をコールすることを特徴とするコンピュータが実行可能な処理ステップ。
【請求項１５】
前記プリンタの前記識別情報が前記プリンタのネットワークアドレスであることを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項１６】
前記ネットワークアドレスが前記プリンタのＩＰアドレスであることを特徴とする請求項１５記載のコンピュータが実行可能な処理ステップ。
【請求項１７】
前記識別情報が前記プリンタのＤＮＳ名であることを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項１８】
前記識別情報が前記プリンタのＮｅｔＢｉｏｓ名であることを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項１９】
前記プリンタが仮想プリンタであることを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項２０】
前記関数が動的デバイスインストーラを有することを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項２１】
前記関数が、前記プリンタ設定情報及び前記プリントドライバ情報をリモートデバイスから取得することを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項２２】
前記リモートデバイスがＦＴＰサーバであることを特徴とする請求項２１記載のコンピュータが実行可能な処理ステップ。
【請求項２３】
前記関数がさらに、前記プリンタと通信するためのポートを自動生成するステップを実行することを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項２４】
前記選択ステップの後、アクティブサーバページを前記ワークステーションにダウンロードするステップをさらに有し、前記アクティブサーバページが前記抽出及び実行ステップを行うためのスクリプトを含むことを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項２５】
実行されるべき前記コンポーネントオブジェクトが前記ワークステーションにインストールされていない場合、前記コンポーネントオブジェクトを含む実行可能ファイルをダウンロードするステップを更に有することを特徴とする請求項１４記載のコンピュータが実行可能な処理ステップ。
【請求項２６】
前記実行可能ファイルが前記コンポーネントオブジェクト及び前記関数を含むＣＡＢファイルであり、前記実行可能ファイルが前記関数を前記ワークステーションへインストールするとともに引き続き前記関数を実行するための関数コールを実行することを特徴とする請求項２５記載のコンピュータが実行可能な処理ステップ。
【請求項２７】
ワークステーションとプリンタ間の、ネットワークを通じたピアツーピア通信のために、前記ワークステーション上のプリンタフォルダ内へ前記プリンタをインストールするための、コンピュータが実行可能な処理ステップが格納されたコンピュータが読み取り可能な媒体であって、前記処理ステップが、
前記ワークステーションに追加可能なプリンタのハイパーリンクを提供するプリンタｈｔｍｌページを前記ワークステーションにダウンロードするステップと、
前記ワークステーションへ追加すべきプリンタのハイパーリンクを選択するステップと、
前記選択ステップに応答して、前記選択されたハイパーリンクから前記選択されたプリンタの識別情報を抽出し、前記プリンタをインストールするためのコンポーネントオブジェクトを実行するステップとを有し、
前記コンポーネントオブジェクトは、
前記抽出された識別情報に少なくとも一部基づいてプリンタ設定情報及びプリントドライバ情報を自動的に取得するステップと、
前記取得したプリンタ設定情報及びプリントドライバ情報に基づいて自動的に前記プリンタを設定するとともにプリントドライバをインストールするステップと、
ローカル管理される前記プリンタのインスタンスを前記ワークステーション上に生成するステップ
を実行する関数をコールすることを特徴とするコンピュータが読み取り可能な媒体。
【請求項２８】
前記プリンタの前記識別情報が前記プリンタのネットワークアドレスであることを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項２９】
前記ネットワークアドレスが前記プリンタのＩＰアドレスであることを特徴とする請求項２８記載のコンピュータが読み取り可能な媒体。
【請求項３０】
前記識別情報が前記プリンタのＤＮＳ名であることを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項３１】
前記識別情報が前記プリンタのＮｅｔＢｉｏｓ名であることを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項３２】
前記プリンタが仮想プリンタであることを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項３３】
前記関数が動的デバイスインストーラを有することを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項３４】
前記関数が、前記プリンタ設定情報及び前記プリントドライバ情報をリモートデバイスから取得することを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項３５】
前記リモートデバイスがＦＴＰサーバであることを特徴とする請求項３４記載のコンピュータが読み取り可能な媒体。
【請求項３６】
前記関数がさらに、前記プリンタと通信するためのポートを自動生成するステップを実行することを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項３７】
前記選択ステップの後、アクティブサーバページを前記ワークステーションにダウンロードするステップをさらに有し、前記アクティブサーバページが前記抽出及び実行ステップを行うためのスクリプトを含むことを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項３８】
実行されるべき前記コンポーネントオブジェクトが前記ワークステーションにインストールされていない場合、前記コンポーネントオブジェクトを含む実行可能ファイルをダウンロードするステップを更に有することを特徴とする請求項２７記載のコンピュータが読み取り可能な媒体。
【請求項３９】
前記実行可能ファイルが前記コンポーネントオブジェクト及び前記関数を含むＣＡＢファイルであり、前記実行可能ファイルが前記関数を前記ワークステーションへインストールするとともに引き続き前記関数を実行するための関数コールを実行することを特徴とする請求項３８記載のコンピュータが読み取り可能な媒体。
【発明の詳細な説明】
【０００１】
（発明の属する技術分野）
本発明はワークステーション上のプリンタフォルダ内でのプリンタインスタンス生成に関する。より具体的には、本発明は、ワークステーションのプリンタフォルダに追加可能なプリンタのウェブサイトリスト（ｗｅｂｓｉｔｅ　ｌｉｓｔｉｎｇ）にアクセスし、そのウエブサイトリストからプリンタを選択すると、そのプリンタのプリンタ設定情報（ｐｒｉｎｔｅｒ　ｃｏｎｆｉｇｕｒａｔｉｏｎ　ｉｎｆｏｒｍａｔｉｏｎ）及びプリントドライバ情報が自動的に取得され、ワークステーションにインストールされプリンタフォルダ中にそのプリンタのインスタンスが生成されるよう、選択されたプリンタの識別情報及びコマンド情報がインターネット経由でワークステーションに送信される、ワークステーションとプリンタの間のローカルネットワークを介したピアツーピア通信のための、ワークステーションのプリンタフォルダ内へのプリンタインスタンス生成に関する。
【０００２】
（従来の技術）
従来、ウインドウズＯＳにおいて、プリンタインスタンスはワークステーションで処理を実行するユーザによって生成されている。例えば、Ｍａｒｂｒｙ等に対する米国特許第５，６９２，１１１（以下、”１１１特許”と呼ぶ）は、ローカルネットワークをブラウジングし、ユーザが追加したいサーバベースプリンタ（ｓｅｒｖｅｒ　ｂａｓｅｄ　ｐｒｉｎｔｅｒ）を選択することで、ユーザが、ユーザのワークステーションのウインドウズレジストリ内にローカルネットワークの新しいサーバベースプリンタを追加するプロセスを記述する。サーバベースプリンタを選択すると、選択されたプリンタのためのプリンタ設定ファイル及びプリントドライバファイルがネットワークバインダリから読み出され、ユーザのワークステーションにインストールされる。その後、サーバベースプリンタのインスタンスがユーザのウインドウズレジストリ内に生成される。この処理は、ユーザがローカルネットワークに接続されている場合、例えばプリントサーバによってサービスを受けるローカルネットワークの一部であるようなプリンタをインストールするには非常にうまく機能する。
【０００３】
しかし、この方法はユーザのワークステーションにネットワーククライアントソフトウェアがインストールされており、かつユーザがプリンタをインストール可能となる前にそのネットワークにログインしていることを必要とする。その結果、ユーザのワークステーションに必要なネットワーククライアントソフトウェアがインストールされていないか、例えば管理者権限が無いといったことにより、ユーザがネットワークにログインできない場合、ユーザはプリンタのインストール及び／又はプリンタへの印刷ができない。
１１１特許の別の問題は、プリンタはサーバベースプリントシステムの一部であるから、ユーザが自分のワークステーションにプリンタをインストールし、プリントジョブをプリンタへ送信可能になるよりも前に、プリンタはプリンタサーバ上でされている必要があるということである。従って、ユーザがより簡単にプリンタをワークステーション上にインストールするための方法が求められている。
【０００４】
（発明の概要）
本発明はワークステーションとプリンタ間のローカルネットワークを通じたピアツーピア通信のために、ワークステーション上のプリンタフォルダ内にプリンタをインストールする簡単な方法を提供する。本発明によれば、ユーザは、ユーザのワークステーション上のブラウザを用いて、ワークステーションに追加可能なプリンタのウエブサイトへアクセスし、そこでは、追加可能なプリンタのリストをブラウザに表示するためのｈｔｍｌページがダウンロードされる。ｈｔｍｌページはリストされた各プリンタについてのハイパーリンクを含み、ハイパーリンクはプリンタの識別情報を含む。ユーザは、ワークステーションに追加したいプリンタのハイパーリンクをクリックするだけでプリンタを追加することができる。ハイパーリンクは、アクティブサーバページに対する参照を含み、このページはブラウザにダウンロードされる。アクティブサーバページは選択されたプリンタの識別情報（パラメータ）をハイパーリンクから抽出するスクリプトと、プリンタをインストールするためのインストーラを実行するスクリプトを含む。ワークステーション内のインストーラは、抽出されたパラメータを用い、プリンタ設定情報及びプリントドライバ情報を自動的に取得し、自動的にプリンタを設定し、プリントドライバをワークステーションにインストールし、最後に、ローカル管理されるプリンタのインスタンスをワークステーション上に生成する。
【０００５】
結果として、クライアントネットワークが不要であり、またユーザはネットワークにログインする必要がないため、本発明はワークステーション上にプリンタのインスタンスを生成するための処理を簡単にする。さらに、プリンタインスタンスはピアツーピア通信用である（すなわち、ローカルで管理されるインスタンス）であるため、選択されたプリンタがローカルエリアネットワークの一部であったとしても、ユーザは自分のワークステーションにそのプリンタをインストールすることができ、ネットワークにログオンしているか否かとは無関係にプリンタへプリントジョブを出力することができる。さらに、必要な全ての処理はユーザにトランスペアレントに実行されるため、ユーザはリストからプリンタを選択するだけで、プリンタ、選択されたプリンタに必要なプリントドライバ、プリンタとの通信に必要なポート名といった他のいかなる情報も知る必要がない。
【０００６】
従って、本発明の１つの見地において、ワークステーションとプリンタ間のネットワークを通じたピアツーピア通信のための、ワークステーション上のプリンタフォルダ内へのウェブベースのプリンタインストールは、ワークステーションに追加可能なプリンタのハイパーリンクを提供するプリンタｈｔｍｌページをワークステーションにダウンロードするステップと、ワークステーションへ追加すべきプリンタのハイパーリンクを選択するステップと、この選択ステップに応答して、選択されたハイパーリンクから選択されたプリンタの識別情報を抽出するステップと、プリンタをインストールするためのコンポーネントオブジェクトを実行するステップとを有し、コンポーネントオブジェクトは、抽出された識別情報に少なくとも一部基づいてプリンタ設定情報及びプリントドライバ情報を自動的に取得し、取得したプリンタ設定情報及びプリントドライバ情報に基づいて自動的にプリンタを設定するとともにプリントドライバをインストールするとともに、ローカル管理されるプリンタのインスタンスをワークステーション上に生成する関数（例えばＤＤＩ）をコールする。
【０００７】
関連する見地において、実行されるべきコンポーネントオブジェクトがワークステーションにインストールされていなければ、実行ファイルがワークステーションにダウンロードされる。実行ファイルはコンポーネントオブジェクト及び、例えば動的デバイスインストーラ（ＤＤＩ）であってよい関数を含む。
【０００８】
他の見地は、ＦＴＰサーバ等の、ネットワーク上のリモートデバイスから自動的に取得されるべきプリンタ設定情報及びプリントドライバ情報を提供し、またプリンタとの通信のためのポートを自動的に生成する。従って、ローカル管理されるプリンタのインスタンスが生成される際にはいつでも簡単にアクセスできるよう、プリンタ設定情報及びプリントドライバ情報のデータベースをリモートサーバに保持することができる。
【０００９】
加えて、プリンタの識別情報は、ＩＰアドレス等のプリンタのネットワークアドレス、プリンタ名、ＤＮＳ名又はＮｅｔＢｉｏｓ名であってよい。この見地によれば、ウェブサーバは単にプリンタのＩＰアドレス又は名前をワークステーションに提供するだけであり、ワークステーションがこのＩＰアドレス又は名前を用いてプリンタ設定及びプリントドライバ情報を上述したようなデータベースから取得する。
【００１０】
さらに、プリンタはネットワーク上に設置された現実のプリンタである必要はなく、代わりに仮想プリンタでも良い。この見地によれば、ユーザは例えばウェブサイトリストから仮想プリンタのハイパーリンクを単に選択するだけで仮想プリンタの識別子（ｉｄｅｎｔｉｆｉｅｒ）がワークステーションに送信され、仮想プリンタのインスタンスをワークステーション上に容易に生成可能である。この点に関し、プリンタ設定情報及びプリントドライバ情報のデータベースは、ネットワーク上に設置された現実のプリンタのみならず様々な仮想プリンタのための情報をも含むことができる。結果として、ユーザはウェブサイトリストから仮想プリンタを単に選択するだけでワークステーション上に仮想プリンタのインスタンスを簡単に生成することができる。
【００１１】
この概要は本発明の本質が手早く理解されるように与えられるものである。本発明のより完全な理解は、以下の本発明の好ましい実施形態の詳細な説明を添付図面とともに参照することによって得ることができる。
【００１２】
（好ましい実施形態の詳細な説明）
図１は本発明を適用可能なネットワーク環境の例を示す。ネットワーク１は好ましくはローカルエリアネットワーク（ＬＡＮ）だが、事実上どのような形式のネットワークであってもよい。ネットワーク１は一般的にバックボーン１０として示されるネットワークインフラストラクチャを通じて互いに通信する、ワークステーション、プリンタ、サーバ等のコンピュータ関連構成要素を含みうる。バックボーン１０は、ネットワークに接続された様々な構成要素間に通信リンクを提供するのみならず、好ましくはウェブサーバ５１を含むインターネット５０等の他のネットワークと通信する、ルータ及び通信ハブ（図示せず）といった通信装置を含みうる。ネットワーク１は好ましくは、ワークステーション２０、２１等の複数のクライアントワークステーション、プリンタ４０〜４２等の複数のプリンタ及び、少なくとも１つのネットワーク管理者端末１５を含む。ネットワーク管理者端末１５は、管理者がネットワークを管理するための、ネットワーク上の、例えば、ウェブサーバ５１のウェブページにおいて維持されるプリンタリストへ新しいプリンタを追加するための動作実行を含む手段を提供する。好ましくは、クライアントワークステーションの各々は、プリンタ４０〜４２の少なくとも１つにプリントジョブを送信する能力を有する。プリントジョブはピアツーピアベースで、あるいはサーバベースのプリントジョブとして送信されうる。この点に関し、ネットワーク１もまた、ディスク３１等の固定記憶ディスクを含みうる、サーバ３０等のローカルサーバを少なくとも１つ含みうる。図１に示される各構成要素はネットワーク環境に含まれうる装置のいくつかを代表するに過ぎず、もちろん、他の多くの構成要素もまたネットワークに接続されうる。しかし、簡潔にするため、本発明の説明は図１に示される構成要素を使うものに限定される。
【００１３】
クライアントワークステーション２０は、好ましくはマイクロソフト（登録商標）ウインドウズ（登録商標）２０００又はウインドウＮＴ（登録商標）４．０等のウインドウズＯＳ（ｗｉｎｄｏｗｓ　ｏｐｅｒａｔｉｎｇ　ｓｙｓｔｅｍ）を用いるＩＢＭ又はその互換パーソナルコンピュータである。ワークステーション２０は、データファイル及びアプリケーションプログラムファイル格納用の、ハードディスク等の大容量記憶装置を好ましくは含む。上述したように、ワークステーション２０はハードディスクに格納されるであろうウインドウズＯＳを好ましくは用いる。ワークステーション２０から、ユーザはディスク上に格納されるアプリケーションを用いる様々な処理を実行することができる。この処理にはインターネットを介したウェブサイトのアクセス及び、ネットワーク１に接続されるプリンタ４０〜４２のいずれかへのプリントジョブ送信が含まれる。すなわち、プリンタ４０〜４２の１つでハードコピープリント出力をプリントしたいユーザは、選択されたプリンタへプリントジョブを送信するためにアプリケーションプログラム内の処理を実行する。この点に関し、ワークステーション２０が選択されたプリンタと通信するため、ユーザがプリントジョブをプリンタ４０〜４２の１つへ送信可能になる前に、必要なプリントドライバ及び設定ファイルがワークステーション２０にインストールされることが必要である。この処理は以下により詳しく説明されるが、必要なファイルがインストールされ、ワークステーションがプリンタと通信可能になれば、ユーザはプリンタを選択し、プリントジョブをそのプリンタへ送信することが可能になる。ワークステーション２０はさらにサーバ３０及びウェブサーバ５１等、ネットワーク上の他の装置と通信可能であり、この処理もまた以下で詳しく説明する。
【００１４】
プリンタ４０〜４２は、ワークステーション２０のユーザ等が、プリンタに対してプリンタジョブを送信することができるよう、ネットワーク１に接続される。プリンタ４０〜４２は、バックボーン１０を介してワークステーション２０と通信するためのネットワークインタフェースを含むネットワーク利用可能なプリンタであることが好ましい。この点に関し、プリンタ４０〜４２は任意形式のネットワーク利用可能プリンタであってよく、特定形式のプリンタである必要はない。プリンタ４０〜４２はネットワーク利用可能プリンタであるため、それらは通常ネットワーク管理者によってネットワークを通じて接続され、また通信のために設定されている。管理者はさらに、ウェブサイトで保持されるプリンタのリストへプリンタを追加することも可能である。ユーザはこのリストをブラウズし、ワークステーションへ追加すべきプリンタを選択することができる。すなわち、プリンタがネットワークに追加されると、上述したように、ユーザがそのプリンタへプリントジョブを送信可能になる前にプリンタはまずワークステーションへインストールされねばならない。本発明は、ウェブサーバで保持されるプリンタのリストをインターネットを介してアクセスすることにより、ユーザがプリンタをインストールする方法を提供する。この処理は以下でさらに詳細に説明する。
【００１５】
図２は、ワークステーション２０の内部アーキテクチャの例を示すブロック図である。図２において、ワークステーション２０は、コンピュータバス２００にインタフェースで接続されたプログラム可能なマイクロプロセッサ等の中央処理装置（ＣＰＵ）２１０を含む。コンピュータバス２００には、キーボードをインタフェースするためのキーボードインタフェース２２０、マウス又は他のポインティングデバイスをインタフェースするためのマウスインタフェース２３０、フロッピディスクをインタフェースするためのフロッピディスクインタフェース２４０、モニタ又は他のディスプレイをインタフェースするためのディスプレイインタフェース２５０及びバックボーン１０をインタフェースするためのネットワークインタフェース２６０も接続される。
【００１６】
ランダムアクセスメモリ（ＲＡＭ）２７０は、ＣＰＵ２１０に記憶装置へのアクセスを提供するため、コンピュータバス２００とインタフェースする。特に、格納されたプログラム命令列を実行する際には、ＣＰＵ２１０はこれらの命令を固定ディスク２８０（又は記憶媒体）からＲＡＭ２７０へロードし、これら格納されたプログラム命令列をＲＡＭ２７０から実行する。ここで、ウインドウＯＳ下で利用可能な標準的なディスクスワップ手法が、ＲＡＭ２７０と固定ディスク２８０との間で相互にメモリセグメントのスワップを可能とすることに留意すべきである。読み出し専用メモリ（ＲＯＭ）２９０はＣＰＵ２１０用の起動命令列（ｓｔａｒｔ−ｕｐ　ｉｎｓｔｒｕｃｔｉｏｎ　ｓｅｑｕｅｎｃｅｓ）や、ワークステーション２０に接続された周辺機器の動作のための基本入出力動作システム（ＢＩＯＳ）シーケンス等、不変の命令列を格納する。
【００１７】
固定ディスク２８０はＣＰＵ２１０が実行可能なプログラム命令列を格納するコンピュータ読みとり可能な媒体の一例である。プログラム命令はウインドウズＯＳ２８１、プリンタドライバ２８２、ウインドウズＯＳレジストリ２８３、その他ドライバ２８４、文書処理プログラム２８５、他のプログラム２８６、ＦＴＰ／ＨＴＴＰクライアント２８７、他のファイル２８８及びウェブブラウザ２８９を構成しうる。上述したように、ＯＳ２８１はマイクロソフト（登録商標）ウィンドウズ（登録商標）２０００のようなウインドウズＯＳであることが好ましいが、他の形式のＯＳも本発明とともに用いうる。プリンタドライバ２８２はプリンタ４０〜４２等の少なくとも１つの画像形成装置でプリントするための画像データを作成するために用いられる。ウインドウズレジストリ２８３は様々な装置がワークステーション２０にインストールされた際に、ウインドウズＯＳ内にその装置を登録するための情報を格納する。他のドライバ２８４はコンピュータバス２００に接続された残りのインタフェースの各々に対するドライバを含む。
【００１８】
文書処理プログラム２８５はマイクロソフトワード、コーレルワードパーフェクト文書といった、文書及び画像を生成するための一般的なワードプロセッサプログラムである。他のプログラム２８６はワークステーション２０を動作させ、また所望のアプリケーションを実行するために必要な他のプログラムを含む。ＦＴＰ／ＨＴＴＰクライアント２８７は、ＦＴＰ（Ｆｉｌｅ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）及びＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ　Ｔｒａｎｓｆｅｒ　Ｐｒｏｔｏｃｏｌ）を介し、ネットワークに接続された他の装置からデータ及び情報を要求及び受信する機能をワークステーション２０に提供する。他のファイル２８８は、ワークステーション２０の動作に必要なファイル、又はワークステーション２０上の他のアプリケーションプログラムによって生成及び／又は維持されるファイルのいかなるものも含む。ウェブブラウザ２８９はマイクロソフトインターネットエクスプローラ又はネットスケープナビゲータ等のインターネットブラウザアプリケーションプログラムであることが好ましい。
【００１９】
図３及び４は、サーバ３０及び５１といったサーバの内部アーキテクチャの概要をそれぞれ示すブロック図である。この点に関し、サーバの内部アーキテクチャは同様であるかもしれないが、各々はソフトウェアコンポーネントにおいては異なる機能を含むであろう。従って、以下の内部アーキテクチャの説明は、明示されている箇所を除き、対応する参照数字を有する同様の構成要素についてはサーバ３０及び５１の両方に等しく適用される。図３において、サーバ３０はコンピュータバスに接続された、プログラマブルマイクロプロセッサ等の中央処理部（ＣＰＵ）３１０を含んでいる。コンピュータバス３００には、バックボーン１０にインタフェースするためのネットワークインタフェース３６０がさらに接続されている。加えて、ランダムアクセスメモリ（ＲＡＭ）３７０、固定ディスク３２０及び読み出し専用メモリ（ＲＯＭ）３９０もまたコンピュータバス３００に接続される。ＲＡＭ３７０は記憶装置へのアクセスをＣＰＵ３１０に提供するため、コンピュータバス３００とインタフェースし、それによってＣＰＵ３１０用のメインランタイムメモリとして振る舞う。特に、格納されたプログラム命令列を実行する際には、ＣＰＵ３１０はこれらの命令を固定ディスク３２０（又は記憶媒体）からＲＡＭ３７０へロードし、これら格納されたプログラム命令列をＲＡＭ３７０から実行する。ここで、標準的なディスクスワップ手法が、ＲＡＭ３７０と固定ディスク３２０との間で相互にメモリセグメントのスワップを可能とすることを認識すべきである。ＲＯＭ３９０はＣＰＵ３１０用の起動命令列や、ワークステーション３０に接続されるかもしれない周辺機器（図示せず）の動作のための基本入出力動作システム（ＢＩＯＳ）シーケンス等、不変の命令列を格納する。
【００２０】
固定ディスク３２０はＣＰＵ３１０が実行可能なプログラム命令列を格納するコンピュータ読みとり可能な媒体の一例である。サーバ３０及び５１のいずれにおいても、プログラム命令列はＯＳ３１１（４１１）、ネットワークインタフェースドライバ３１２（４１２）、プリンタドライバファイル３１３（４１３）及びプリンタ設定ファイル３１４（４１４）を構成しうる。ＯＳ３１３はウインドウズＮＴ４．０（又はそれ以降のバージョン）、ＵＮＩＸ（登録商標）、ノベルＮｅｔｗａｒｅ又は他のそのようなサーバＯＳであってよい。ネットワークインタフェースドライバ３１２はネットワークインタフェース３６０を制御し、サーバ３０をバックボーン１０に接続するために用いられる。プリンタドライバファイル３１３及びプリンタ設定ファイル３１４は、サーバ３０及び５１の少なくとも一方に格納されるプリンタ情報の包括的なデータベースの一部であることが好ましい。この点に関し、このデータベースは、仮想プリンタを含む実質上全てのプリンタに対するプリンタ設定情報及びプリントドライバ情報が取得でき、またワークステーション２０へインストール可能なように、固定ディスク３２０で保持できる範囲でできるだけ多くのプリンタ（仮想プリンタを含む）についての情報を含むことが好ましい。他のファイル３１５はサーバ３０の動作及び／又はサーバ３０に付加機能を提供するのに必要な他のファイル又はプログラムを含む。
【００２１】
サーバ３０とサーバ５１との違いは、サーバ５１がウェブサーバであるのに対し、サーバ３０がローカルエリアネットワークを提供することであろう。上述したように、新しいプリンタがネットワーク上に設置される際には、通常ネットワーク管理者がそのプリンタをウェブサーバ５１上で保持されるプリンタのリストへ追加する。この点に関し、サーバ５１は、ネットワークインタフェース４６０を通じてネットワーク越しにＦＴＰ及びＨＴＴＰプロトコルを介してデータファイルを読み出したり送信したりする能力をサーバ５１に与えるためのＦＴＰ／ＨＴＴＰクライアント４１７及び、ワークステーション２０といったワークステーション内のＦＴＰ／ＨＴＴＰクライアントによってアクセス可能なＦＴＰ／ＨＴＴＰサーバ４１８を含みうる。サーバ５１はさらに、サーバ５１からワークステーション２０へ参照もしくはダウンロードされうるＣＡＢファイルを含んでも良い。ＣＡＢファイルはインターネットダウンロードを容易にするために用いられるとともに、”．ＤＬＬ”ファイルの形式にＡｃｔｉｖｅ　Ｘコントロールをまとめるために用いられる。
【００２２】
以下、インターネットを介して新しいプリンタをワークステーションにインストールする際のより詳細な説明を行う。以下の説明においては、ワークステーション２０のユーザがプリンタ４０にプリントしようとしたが、まず最初にプリンタをユーザのワークステーションにインストールしなければならない場合を仮定する。また、本発明によるウェブベースのイントール方法を用いるワークステーション２０には、プリンタが全くインストールされていないものとする。
【００２３】
インストール処理を開始するため、ワークステーション２０のユーザはワークステーション上のウェブブラウザを起動する。そして、ユーザは、ウェブを介してインストールするプリンタを選択するためのウェブページへアクセスするために、例えばプリンタのリストを保持する企業のウェブサイトのＵＲＬ（Ｕｎｉｆｏｒｍ　Ｒｅｓｏｕｒｃｅ　Ｌｏｃａｔｏｒ）を入力する。一例として、ユーザが図５のブラウザに示されるＵＲＬを入力した際に表示されうるメインウェブページの例を図５に示す。図５に示されるメインページにおいて、ユーザは、ローカルプリンタをインストールするためのオプション５００か、ネットワークプリンタをインストールするためのオプション５０１を選択することができる。例えば、ローカルプリンタインストールオプション５００の選択に応じて、”ＤｉｓｃｏｖｅｒＰｒｉｎｔｅｒｓＰａｇｅ”ｈｔｍｌページがウェブサーバからクライアントワークステーション上のブラウザにダウンロードされる。ダウンロードされたｈｔｍｌページは、図６に示すような、インストール可能なプリンタのリストを表示させる。各プリンタは、ハイパーリンク５１０のような、それぞれに関連づけされた独自のハイパーリンクを有する。ｈｔｍｌページにおいて、ハイパーリンクについてのコードは（以下に説明する）アクティブサーバページに対するコールと、プリンタ名、ＩＰアドレス及び装置タイプといったプリンタに関連するパラメータを含む。図６に示されるリストから、ユーザはインストールを希望するプリンタに対するハイパーリンクをクリックすることができる。例えば、ユーザはプリンタＦＷ　ＧＰ２００に対し、ハイパーリンク５１０をクリックすることができる。ハイパーリンク５１０がクリックされると、インストール処理が開始する。”ＤｉｓｃｏｖｅｒＰｒｉｎｔｅｒｓＰａｇｅ”ｈｔｍｌページのコードの例を付録Ａに示す。簡潔さのために、このサンプルコードは図６にリストされた最初の２つのプリンタ（ＦＷ　ＧＰ２００及びｉＲ６０００ｉ）に対する２つのハイパーリンクが表示されるだけのコードを含んでいる。
【００２４】
ユーザがハイパーリンク上をクリックすると、ブラウザはハイパーリンク中で参照されるＡｃｔｉｖｅＳｅｒｖｅｒＰａｇｅ（ＡＳＰ）を探す。このケースでは、付録Ａのｈｔｍｌページテキストに示されるように、ブラウザはＩｎｓｔａｌｌＰｒｉｎｔｅｒ．ａｓｐとして定義されるアクティブサーバページを探す。ワークステーションにまだ常駐していなければ、ＡＳＰがウェブサーバからブラウザにダウンロードされる。ＡＰＳは様々な動作を実行するスクリプトを含んでいる。スクリプトの１つはプリンタの情報（プリンタ名、ＩＰアドレス及び装置タイプ）を”ＤｉｓｃｏｖｅｒＰｒｉｎｔｅｒｓＰａｇｅ”ｈｔｍｌページ内のハイパーリンクから抽出するためのものである。また、別のスクリプトは、ユーザのワークステーション上で実行されるべきＣＯＭ（Ｃｏｍｐｏｎｅｎｔ　Ｏｂｊｅｃｔ　Ｍｏｄｅｌ）オブジェクトに関連するＧＵＩＤ（Ｇｌｏｂａｌ　Ｕｎｉｑｕｅ　Ｉｄｅｎｔｉｆｉｅｒ）を特定するためのものである。ここで、ＣＯＭオブジェクトは、例えば、ＡｃｔｉｖｅＸコンポーネントである。加えて、．ｃａｂファイルがスクリプト中で特定され、ここで．ｃａｂファイルはＣＯＭオブジェクト及びＤＤＩ（Ｄｙｎａｍｉｃ　Ｄｅｖｉｃｅ　Ｉｎｓｔａｌｌｅｒ）ＳＤＫを含む。ＡＳＰはまた、ＣＯＭオブジェクトがユーザのワークステーション上に存在していなければ、．ｃａｂファイルをダウンロード及び実行してＣＯＭオブジェクトを生成させる他のスクリプトを含む。．ｃａｂファイルの実行は、ＤＤＩ　ＳＤＫのインストール及びＣＯＭオブジェクトの実行をもたらす。ＣＯＭオブジェクトの実行において、ＤＤＩ　ＳＤＫを実行するための関数コール（ｆｕｎｃｔｉｏｎ　ｃａｌｌ）がなされ、プリンタ情報がこの関数コールにおけるパラメータとして渡される。これらを実行するアクティブサーバページのためのコードの例を付録Ｂに示す。
【００２５】
図７を参照して、ＤＤＩ関数がコールされ、ＤＤＩにプリンタの識別情報及び装置タイプが与えられると、ＤＤＩは既知のデータベース７０２に対し、装置タイプに対応する装置設定情報の問い合わせ（６０１）を実行する。データベース７０２への問い合わせは、サーバ５１に対するプリンタ設定ファイル４１４のＦＴＰ又はＨＴＴＰ問い合わせを含みうる。この問い合わせは例えばＦＴＰクライアント４１７を用いることにより実行されうる。もちろん、設定ファイルのデータベースがワークステーション２０、フロッピディスクやＣＤ−ＲＯＭといったリムーバブル記録媒体上、又は他の任意の記憶場所に含まれている場合には、ＤＤＩは代わりにその場所へ問い合わせを行うであろう。デバイス設定ファイルが維持される場所とは無関係に、プリンタ設定ファイルは応答６０２中でＤＤＩに与えられる。
【００２６】
装置設定情報を取得すると、ＤＤＩは装置設定ファイルを自動的にインストールする（６０６）とともに、プリンタと通信するためのポートを自動生成する（６０３）。換言すれば、ＤＤＩは、プリンタと通信するために適切なポートを決定し、そのポートを、ユーザ入力の必要なしにワークステーション２０のウインドウズＯＳ内部に設定することにより、プリンタをローカルプリント（すなわち、ワークステーションとピアツーピアとして通信するプリンタ）として設定する。ＤＤＩは必要なデータ構造を、スプーラにトランスペアレントなレジストリ内にマニュアルで生成することによって自動的にポートを生成する。そして、ＤＤＩはスプーラがそのデータ構造を読みとるように、スプーラを起動及び停止する。その後スプーラは新しいプリンタポートを知り、そのポートをデータ送信に使えるようになる。
【００２７】
そして、ＤＤＩはプリントドライバファイルに、インストールされたプリンタのタイプについての問い合わせを実行する（６０４）。この問い合わせは、好ましくはデータベース７０２と同じ場所で保持される、プリントドライバファイル用データベース７０３で実行される。適切なプリントドライバファイルがデータベースから決定され、応答によってＤＤＩへ戻される（６０５）。それによってＤＤＩはプリンタに対するドライバファイルを自動的にインストールする（６０６）。プリンタが設定され、通信用ポートが生成され、またドライバファイルがインストールされると、ＤＤＩは新しいプリンタをウインドウズレジストリに登録し、プリンタのインスタンスを生成する（６０７）。そしてユーザはプリントジョブをワークステーションからそのプリンタへ直接送ることが可能になる。
【００２８】
図８は本発明に従って新しいプリンタをワークステーションへ追加するための処理手順のフローチャートである。ステップＳ８００で、ユーザはプリンタインストールウェブサイトのＵＲＬを入力する。すなわち、ユーザは、図５に示すような、ユーザのワークステーションにインストール可能なプリンタのリストを提供するウェブサイトのＵＲＬを入力する。ステップＳ８０１において、ユーザはウェブページからローカルプリンタにインストールするためのオプションを選択し、それに応答してウェブサーバは”ＤｉｓｃｏｖｅｒｄＰｒｉｎｔｅｒｓＰａｇｅ”ｈｔｍｌページをブラウザにダウンロードし、ブラウザはハイパーリンクとともにプリンタのリストを表示する。ユーザはインストールを希望するプリンタに対するハイパーリンクを選択し（ステップＳ８０２）、それに応答してブラウザは、ハイパーリンク中の参照を注目して、ウェブサーバからアクティブサーバページ（ＩｎｓｔａｌｌＰｒｉｎｔｅｒ．ａｓｐ）を要求する（ステップＳ８０３）。ウェブサーバはアクティブサーバページをブラウザにダウンロードし（ステップＳ８０４）、そこでアクティブサーバページに含まれるスクリプトが実行される。１つのスクリプトがプリンタに対するハイパーリンクからそのプリンタのパラメータ（名前、ＩＰアドレス及び装置タイプ）を抽出する（ステップＳ８０５）。別のスクリプトは、ユーザのワークステーション上にＣＯＭオブジェクトを生成するコードを実行する（ステップＳ８０６）。このスクリプトの実行中、ブラウザはＣＯＭオブジェクトが既にワークステーションに登録されているかどうかを判定する（ステップＳ８０７）。まだであれば、ブラウザはアクティブサーバページ中のコード参照を用い、（付録Ｂではｗｅｒｂｄｄｉ．ｃａｂと呼ばれる）．ｃａｂファイルのダウンロードを要求し（ステップＳ８０８）、ダウンロードされた．ｃａｂファイルを受信し（ステップＳ８０９）、その．ｃａｂファイルを実行する（ステップＳ８１０）。．ｃａｂファイルの実行中、ＣＯＭオブジェクトはワークステーションに登録され、ＤＤＩがインストールされる。そして、ステップＳ８１１で、ＣＯＭオブジェクトを実行するためのコールがなされる。ステップＳ８１１において、ＤＤＩ関数がコールされ、プリンタのパラメータがファンクションコール中でＤＤＩへ引き渡される。
【００２９】
そして、ＤＤＩは図７に関して説明した上述の処理を実行する。つまり、ＤＤＩはプリンタの情報を用いてプリンタ用の設定ファイルを取得し、それらをワークステーションにインストールし（ステップＳ８１２及びＳ８１３）、プリンタとの通信用ポートを生成し（ステップＳ８１４）、データベースからそのプリンタに対するプリントドライバファイルを取得し（ステップＳ８１５）、プリントドライバファイルをワークステーション上にインストールし（ステップＳ８１６）、最後にそのプリンタのインスタンスを、ワークステーションのウインドウズレジストリ中に生成する（ステップＳ８１７）。
【００３０】
これまでは実際のプリンタ（すなわち、ネットワークに物理的に接続されたプリンタ）のウインドウズレジストリへの追加について説明したが、図８の処理ステップは仮想プリンタのインストールにも用いることが可能である。仮想プリンタはプリントジョブのハードコピーをプリントアウトする実際のプリンタではなく、アプリケーションプログラムにおいて選択されるプリンタであり、このプリンタに対するプリントジョブは特定のフォーマットへレンダリングされるだけで、レンダリングされたジョブはユーザのワークステーション上のファイルへプリントされる。図８は、図６のウェブページに示されるリストから実際のプリンタを選択する代わりに、ユーザがリストから仮想プリンタを選択することによって利用することができる。その後の処理は上述したものと同じであり、すなわち、ＤＤＩが装置設定情報及びドライバファイルをデータベースから取得し、仮想プリンタをユーザのワークステーションへインストールできるよう、ＣＯＭオブジェクトが実行される。
【００３１】
本発明を特定の、例示的な実施形態を用いて説明してきた。本発明が上述の実施形態に限定されないこと及び、本技術分野の通常の技術を有するものによって本発明の精神及び範囲を離れることなく様々な変更及び変形がなされうることを理解すべきである。
【００３２】
【付録Ａ】
2004005606.tif 000003
【００３３】
【付録Ｂ】
2004005606.tif 000004
【図面の簡単な説明】
【図１】本発明を適用可能なネットワーク環境の例を示す図である。
【図２】コンピュータワークステーションの内部アーキテクチャの例を示す図である。
【図３】ローカルエリアネットワークサーバの内部アーキテクチャの例を示す図である。
【図４】ウェブサーバの内部アーキテクチャの例を示す図である。
【図５】インターネットを介し、インストールされるプリンタのリストをアクセスするためのウェブページの例を示す図である。
【図６】インストールすべきプリンタを選択するための、プリンタ及び対応するハイパーリンクをリストするｈｔｍｌページの表示例を示す図である。
【図７】動的デバイスインストーラ用の通信及び処理フローの例を示す図である。
【図８Ａ】
【図８Ｂ】本発明による、プリンタのウェブベースインストールのための処理ステップを示すフローチャートである。
【図１】
2004005606.tif 000005
【図２】
2004005606.tif 000006
【図３】
2004005606.tif 000007
【図４】
2004005606.tif 000008
【図５】
2004005606.tif 000009
【図６】
2004005606.tif 000010
【図７】
2004005606.tif 000011
【図８Ａ】
2004005606.tif 000012
【図８Ｂ】
2004005606.tif 000013