(57)【要約】【課題】リストとして値が定義されている情報から、機種に依存した情報に記述された情報に基づいて自動的に構成情報を取得可能とする。【解決手段】通信可能に接続されたプリンタを制御するプリンタドライバ300が組み込まれた情報処理装置によるデバイス構成情報の取得方法において、ドライバ共通部301は、プリンタ300に装着可能な構成に関する記述を含む機種依存情報ファイル303を参照して状態情報を取得すべき構成を特定する。プリンタ情報取得サービス304は、変換情報ファイル305を参照して、特定された構成に関するプリンタ104へのアクセス情報を取得し、プリンタ104のＭＩＢ306をアクセスして状態情報を取得する。取得した状態情報が複数の構成に関する情報を含み、さらに特定された構成が複数の選択肢を持つ場合、プリンタ情報取得サービス304は、特定された構成に関わる状態情報を抽出し、これをドライバ共通部301に通知し、ドライバ共通部301は、前記特定された構成を前記複数の選択肢のいずれかに割り当てる。【選択図】  図３
2005258721.tif 000002
【特許請求の範囲】
【請求項１】
通信可能に接続されたデバイスを制御するデバイスドライバが組み込まれた情報処理装置によるデバイス構成情報の取得方法であって、
前記デバイスに装着可能な構成に関する記述を参照して状態情報を取得すべき構成を特定する特定工程と、
前記特定工程によって特定された構成に関して前記デバイスへのアクセス情報を取得し、該デバイスをアクセスして状態情報を取得する取得工程と、
前記取得工程で取得した状態情報が複数の構成に関する情報を含み、さらに前記特定された構成が複数の選択肢を含む場合、前記取得工程で取得した状態情報から前記複数の選択肢のいずれかに対応する状態情報を検索して、前記特定された構成の状態情報を抽出する抽出工程と、
前記抽出工程で抽出した状態情報に基づいて、前記特定された構成を前記複数の選択肢のいずれかに割り当てる割当工程とを備えることを特徴とするデバイス構成情報の取得方法。
【請求項２】
前記デバイスドライバは、複数種類のデバイスに共通の共通処理部と、該共通処理部が機種に応じた処理を実現するための機種依存の情報を提供する機種依存情報とを備え、該機種依存情報は前記デバイスに装着可能な構成を前記デバイスドライバの機能に対応付ける記述を含み、前記特定工程は、前記共通処理部において前記機種依存情報を参照することにより実行されることを特徴とする請求項１に記載のデバイス構成情報の取得方法。
【請求項３】
前記デバイスと前記共通処理部との間に介在し、前記デバイスへの情報取得のためのアクセスを実行するアクセス処理部が設けられ、前記取得工程と前記抽出工程は前記アクセス処理部によって実行されることを特徴とする請求項２に記載のデバイス構成情報の取得方法。
【請求項４】
構成に対応する記述をアクセス情報へ変換する変換テーブルをさらに備え、前記アクセス処理部は前記変換テーブルを参照して前記アクセス情報を取得することを特徴とする請求項３に記載のデバイス構成情報の取得方法。
【請求項５】
前記変換テーブルには、構成に対応する記述に関して抽出すべき値が登録されており、前記抽出工程では、前記アクセス処理部が前記抽出すべき値を用いて、前記取得工程で取得した状態情報から前記特定された構成の状態情報を抽出し、これを前記共通処理部へ通知することを特徴とする請求項４に記載のデバイス構成情報の取得方法。
【請求項６】
前記アクセス処理部は、前記情報処理装置に組み込まれるオペレーティングシステムによって提供されることを特徴とする請求項３乃至５のいずれかに記載のデバイス構成情報の取得方法。
【請求項７】
前記デバイスにおける構成の変化の発生を検出する検出工程をさらに備え、
前記特定工程は、前記検出工程による構成の変化の発生の検出に応じて起動されることを特徴とする請求項１に記載のデバイス構成情報の取得方法。
【請求項８】
通信可能に接続されたデバイスを制御するデバイスドライバが組み込まれた情報処理装置であって、
前記デバイスに装着可能な構成に関する記述を参照して状態情報を取得すべき構成を特定する特定手段と、
前記特定手段によって特定された構成に関して前記デバイスへのアクセス情報を取得し、該デバイスをアクセスして状態情報を取得する取得手段と、
前記取得手段で取得した状態情報が複数の構成に関する情報を含み、さらに前記特定された構成が複数の選択肢を含む場合、前記取得手段で取得した状態情報から前記複数の選択肢のいずれかに対応する状態情報を検索して、前記特定された構成の状態情報を抽出する抽出手段と、
前記抽出手段で抽出した状態情報に基づいて、前記特定された構成を前記複数の選択肢のいずれかに割り当てる割当手段とを備えることを特徴とする情報処理装置。
【請求項９】
請求項１乃至７のいずれかに記載のデバイス構成情報の取得方法をコンピュータによって実行するための制御プログラム。
【請求項１０】
請求項１乃至７のいずれかに記載のデバイス構成情報の取得方法をコンピュータによって実行するための制御プログラムを格納した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータによって管理対象のデバイスから情報を取得するための技術に関し、特に、デバイス管理ユーティリティソフトウェアやプリンタドライバ等のデバイスドライバソフトウエアに好適なものである。
【背景技術】
【０００２】
現在では、パーソナルコンピュータ（ＰＣ）から利用可能なデバイスとして、プリンタ、ファクシミリ（ＦＡＸ）、スキャナ、マルチファンクションペリフェラル装置（ＭＦＰ）等が普及している。そして、ＰＣには、これらデバイスを利用する為のドライバやポートモニタ、デバイスを管理する為のデバイス管理ユーティリティソフトなどのソフトウェアがインストールされる。これらのソフトウェアは、管理対象のデバイスと通信を行い、デバイスの構成情報、オプション情報、ジョブ情報、ユーザ情報、状態情報などを取得する機能を備えていることが多い。
【０００３】
例えばプリンタドライバにおいては、プリンタデバイスのオプション構成をシステムのネットワークデバイス管理システムを介して取得し、ドライバユーザインターフェース（ドライバＵＩ）に反映させるようなプリンタドライバが存在する（例えば、特許文献１）。
【０００４】
しかし、このようなプリンタドライバは、プリンタメーカーが提供する専用のプリンタドライバ、いわゆるモノリシックドライバ（monolithic driver）で実現している。よって従来、米国マイクロソフト社のWindows（登録商標）ＯＳに搭載されるユニバーサルドライバでは、プリンタデバイスのオプション構成を取得し、ドライバＵＩに反映させる機能が存在しなかった。
【特許文献１】特開２００４−２１４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
そして、ＭＳ社は、Ｌｏｎｇｈｏｒｎと呼ばれるコードネームの次期Windowsのバージョンにおいて、ドライバＵＩとデバイス間の通信により、ＯＳに搭載されるユニバーサルドライバ（共通デバイスドライバとも呼ばれる）がプリンタデバイスを自動構成する機能を実現することを、『2004 Japan Print Driver セミナー』で公表している。この自動構成機能は、従来のＧＰＤ（Generic Printer Description：汎用プリンタ記述の構文定義のこと）と呼ばれるデバイス依存情報ファイルに拡張性を持たせた新たなデバイス依存情報ファイルでクエリ（問合せ）／応答用スキーマ（概要）を定義することにより実現するようである。
【０００６】
また、Microsoft社（以下、ＭＳ社）のWindows（登録商標）のＸＰ以降のバージョンから、Bidiインタフェース（Bi-directional interfaceの略称）をサポートしている。Bidiインタフェースは、Windowsスプーラにおけるインタフェースで、ポートモニタから取得される情報を上位のモジュールであるＯＳ（オペレーションシステム）や共通デバイスドライバに対して情報を双方向に受け渡すためのインタフェースである。
これらの仕様を用いることで、ユニバーサルドライバ（共通デバイスドライバ）は、ネットワークデバイス管理システムから公開されているインタフェース（Bidiインタフェース）を用いて、プリンタデバイス本体からデバイスオプションの装着状態を取得し、取得した結果に応じて、ユニバーサルドライバのデバイス構成情報を更新することが可能であると予想される。
【０００７】
ここで、ＰＣがデバイスから情報を取得する為のプロトコルとしてはＳＮＭＰ（Simple Network Management Protocol）が一般的であるが、デバイスのベンダが独自に定義したプロトコルを用いる場合もある。ＳＮＭＰで情報を取得する場合には、プリンタに実装しているＭＩＢ（Management Information Base）の情報を取得することができる。
【０００８】
上記の自動構成機能においては、ドライバＵＩとデバイスとの間の通信によりデバイスの機能情報を取得してデバイスの構成情報を生成し、ドライバＵＩ上に表現される機能へデバイスから取得された機能情報をマッピングすることによりドライバＵＩを構築する。ＰＣとデバイスの通信にＳＮＭＰを用いて上記の機能を実現する場合、一つのＭＩＢ情報とプリンタドライバのＵＩの一つの機能とが関連付けられていれば、プリンタドライバがデバイス依存情報内のクエリ／応答用スキーマを参照することで、容易にプリンタの構成情報をＵＩに反映することができる。つまり、各デバイスで自動構成機能に対応する場合には、このデバイス依存情報内に、クエリ／応答用スキーマを記述しておけば良いということになる。
【０００９】
一般に、プリンタメーカは幅広い顧客層に対応するため、多種類のプリンタを揃える。機種が異なれば異なるプリンタドライバが必要となり、それだけ管理工数が増加することになる。そこで、プリンタドライバにおいては、機種に依存しないドライバ共通部を設け、機種依存の機能については機種依存情報を参照するようにして管理工数を低減することが行われている。特にドライバＵＩにおいては、非機種依存によるインターフェースをベースとして、機種依存のインターフェースを機種依存情報を参照して構築するようにすれば、開発コストを低減できる。この場合、機種依存情報とＭＩＢによりプリンタの構成状態を取得し、取得された内容に基づいてドライバＵＩを構築することになる。
【００１０】
しかしながら、ＭＩＢのデータの定義によっては、例えば図７に示すように、１回の問い合わせで複数の値をリストとして取得する構成を持つものがある。プリンタドライバの機種依存情報とＭＩＢで取得されるリストの情報をドライバＵＩの機能にマッピングするには、リストの情報の一部（必要な項目）を抽出する必要がある。また、このリストに含まれる値の数は、同じ定義のＭＩＢのデータでもオプションの装着状態によって変化する場合がある。例えば、図７のリストにおいて、FaxBoardが装着されていない場合、FinisherA2以降のindex番号は一つずつ繰り上がることになる。このため、リストの配列のどの位置にマッピングしたい値が含まれているのかは判断できない。さらに、抽出したデータを複数の選択肢を持つドライバの機能の一つの選択肢にマッピングする場合は、問い合わせを行ったプリンタドライバにデバイスからどの選択肢に対応した値が取得できたかを伝えなければならない。
【００１１】
これらのケースを解決するため、上述の機種依存情報とは別に、ＳＮＭＰ等の通信プロトコルを用いた各ベンダー独自の処理によってデバイスの構成情報を取得することで対応することが可能ではあるが、機種依存の実装が増えるため、管理工数が増加してしまうという問題がある。
【００１２】
本発明は、上記のような課題を鑑みてなされたもので、リストとして値が定義されている情報から、機種に依存した情報に記述された情報に基づいて自動的に構成情報を取得可能とすることを目的とする。
【００１３】
また、本発明は、リストとして値を定義された情報を複数の選択肢を持つ機能を有するプリンタドライバの機能にマッピングする場合においても、機種に依存した情報に記述された情報を元に自動的に構成情報を取得可能とすることを目的とする。
【課題を解決するための手段】
【００１４】
上記の目的を達成するための本発明によるデバイス構成情報の取得方法は、
通信可能に接続されたデバイスを制御するデバイスドライバが組み込まれた情報処理装置によるデバイス構成情報の取得方法であって、
前記デバイスに装着可能な構成に関する記述を参照して状態情報を取得すべき構成を特定する特定工程と、
前記特定工程によって特定された構成に関して前記デバイスへのアクセス情報を取得し、該デバイスをアクセスして状態情報を取得する取得工程と、
前記取得工程で取得した状態情報が複数の構成に関する情報を含み、さらに前記特定された構成が複数の選択肢を含む場合、前記取得工程で取得した状態情報から前記複数の選択肢のいずれかに対応する状態情報を検索して、前記特定された構成の状態情報を抽出する抽出工程と、
前記抽出工程で抽出した状態情報に基づいて、前記特定された構成を前記複数の選択肢のいずれかに割り当てる割当工程とを備える。
【００１５】
また、本発明の他の態様による情報処理装置は以下の構成を備える。即ち、
通信可能に接続されたデバイスを制御するデバイスドライバが組み込まれた情報処理装置であって、
前記デバイスに装着可能な構成に関する記述を参照して状態情報を取得すべき構成を特定する特定手段と、
前記特定手段によって特定された構成に関して前記デバイスへのアクセス情報を取得し、該デバイスをアクセスして状態情報を取得する取得手段と、
前記取得手段で取得した状態情報が複数の構成に関する情報を含み、さらに前記特定された構成が複数の選択肢を含む場合、前記取得手段で取得した状態情報から前記複数の選択肢のいずれかに対応する状態情報を検索して、前記特定された構成の状態情報を抽出する抽出手段と、
前記抽出手段で抽出した状態情報に基づいて、前記特定された構成を前記複数の選択肢のいずれかに割り当てる割当手段とを備える。
【発明の効果】
【００１６】
本発明によれば、リストとして値が定義されている情報（例えばＭＩＢ情報）から、機種に依存した情報（装着可能な構成に関する記述）に記述された情報に基づいて自動的に構成情報を取得することが可能となる。
【００１７】
また、本発明によれば、リストとして値を定義された情報を複数の選択肢を持つ機能を有するプリンタドライバの機能にマッピングする場合においても、機種に依存した情報に記述された情報を元に自動的に構成情報を取得することが可能となる。
【発明を実施するための最良の形態】
【００１８】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００１９】
図１は、本実施形態におけるネットワークの構成図である。図１において、クライアントＰＣ１０１，１０２，１０３およびプリンタ１０４は、ネットワーク１０５を介して相互に通信可能に接続されている。なお、本実施形態では、ネットワーク１０５としてＬＡＮ（Local Area Network）を想定している。
【００２０】
図２は、クライアントＰＣ１０１の概略構成を表すブロック図である。なお、クライアントＰＣ１０２、１０３の構成も同様である。クライアントＰＣ１０１は、ＣＰＵ２０１、ＲＯＭ２０２、外部メモリ２０３、キーボード２０４、通信部２０５、ＲＡＭ２０６、ハードディスク（ＨＤ）２０７、ディスプレイ２０８、システムバス２０９を備えている。
【００２１】
ＣＰＵ２０１はシステムバス２０９に接続された各デバイスを統括的に制御する中央処理装置である。ＣＰＵ２０１は、ＨＤ２０７に格納されているアプリケーションプログラム、プリンタ管理ユーティリティソフト、プリンタドライバ、ポートモニタ、ＯＳ、ネットワークプリンタ制御プログラム、通信プログラムなどを実行し、ＲＡＭ２０６にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。ＲＯＭ２０２には、基本Ｉ／Ｏプログラム等のプログラムを記憶する。外部メモリ２０３には、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ、ＨＤ、フラッシュメモリ、不揮発性のメモリカード、磁気テープなどがあり、各種記憶媒体からプログラムやデータを本コンピュータシステムにロードすることができる。
【００２２】
キーボード２０４は、ユーザからクライアントＰＣに対する入力を指示し、ディスプレイ２０８は、キーボード２０４からの入力やアプリケーションプログラムのグラフィックユーザインターフェース（ＧＵＩ）の表示などを行う。プリンタドライバは印刷条件等の設定のためのＧＵＩを有している。これにより、例えば、ユーザはプリンタ１０４を使用して印刷する際、印刷設定に関するウインドウを開き、プリンタの設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。通信部２０５はＮＩＣなどを備え、ネットワーク１０５を介して他のクライアントＰＣ１０２，１０３やプリンタ１０４と通信を行う。
【００２３】
プリンタ１０４は、ネットワーク管理プロトコルＳＮＭＰとデータベースＭＩＢを実装している。クライアントＰＣ１０１は、プリンタ１０４とＳＮＭＰにて通信することにより、プリンタ１０４のＭＩＢへアクセスして各種情報を取得できる。図３に示すように、クライアントＰＣ１０１には、プリンタ１０４から情報を取得するためのプリンタ情報取得サービス（常駐プログラム）３０４と、プリンタ１０４を制御するためのプリンタドライバ３００がインストールされている。プリンタドライバ３００は、プリンタ情報取得サービス３０４を用いてプリンタ１０４のＭＩＢ３０６をアクセスし、プリンタ１０４の構成に関する情報を取得する。
【００２４】
図３はプリンタドライバによるプリンタの構成情報取得のための機能構成を説明するブロック図である。プリンタドライバ３００は、プリンタの機種に依存しないドライバ共通部３０１、プリンタの機種依存の情報を格納している機種依存情報ファイル３０２、ドライバ共通部３０１によって制御され、プリンタの機種依存の処理を実現するための機種依存モジュール３０３を含む。
【００２５】
ドライバ共通部３０１は、例えば、図４Ａに示されるようなユーザインターフェース（ＵＩ）４００をディスプレイ２０８上に表示する。ＵＩ４００を表示する際に、ドライバ共通部３０１は機種依存情報ファイル３０３の内容を解析し、データをメモリ２０６に読み込む。ＵＩ４００において、「デバイス設定１」タブを選択すると、デバイス設定用画面４０１が表示される。ここで、デバイス名４０２やプリンタの外観図４０３は機種依存情報ファイル３０２の解析により取得されたものである。
【００２６】
さて、図４Ａに示したようなＵＩ４００において、構成情報取得ボタン４０５をクリックすると、図４Ｂに示すＵＩ４２０が表示される。即ち、ドライバ共通部３０１は、メモリ２０６に読み込まれた機種依存情報を参照して、図４Ｂに示すようなＵＩをクライアントＰＣ１０１上のディスプレイモニタ２０８に表示する。なお、図４Ｂに示されるＵＩ４２０は、図６（ａ）に示すような構成情報を含む機種依存情報ファイルをドライバ共通部３０１が読み込んだ場合の表示例である。
【００２７】
ここで、図６（ａ）に示す構成情報について説明する。図６（ａ）の*Featureは当該機能のＵＩコントロールを示しており、図６（ａ）の６０１の例では“OutputOptions”コントロールであり、図４ＢのＵＩ４２０におけるコントロール４２１に対応している。また、６０３は“PaperDeck”コントロールであり、図４ＢのＵＩ４２０におけるコントロール４２２に対応している。*Feature内に記述された各*Optionは当該*Featureの選択肢を定義したものであり、*Featureに関連付けられたＵＩコントロールの要素を構成している。この*Optionは互いに排他であり、*Featureは常に何れかの一つの*Optionを設定として持っている。また、*NameはＵＩに表示される文字列を示している。機種依存情報ファイル３０３には、図６（ｂ）に示すようなプリンタの構成情報を記述することが可能であり、構成情報を記述するとＵＩ上にはプリンタの構成情報に対応したコントロールが表示されることになる。図６に示される他の記述については後述する。
【００２８】
ドライバ共通部３０１は、図３に示すプリンタ情報取得サービス３０４から公開されているプリンタ情報取得インタフェース３０４ａを取得することで、プリンタドライバ３００に関連付けられているプリンタから構成情報を取得することができる。なお、プリンタ情報取得サービス３０４はオペレーティングシステム（ＯＳ）に持たせておくものとする。プリンタ情報取得インタフェース３０４ａを用いてプリンタの構成情報を取得する際は、ＯＳの特定のフォルダに格納されたＸＭＬ形式の変換情報ファイル３０５に記述されている、プリンタＭＩＢに関連付けられたキーワードを指定する。なお、この変換情報ファイルは、ベンダーによらず共通の変換情報と、ベンダーに依存する非共通の変換情報を含み、共通の変換情報はＯＳから提供され、非共通部分はベンダーから提供されるようにする。
【００２９】
ドライバ共通部３０１は上述の機種依存ファイル３０３の構成情報（図６（ａ））に記載されたQueryKeywordを用いて、プリンタ情報取得サービス３０４にプリンタの構成情報の問い合わせを行う。プリンタ情報取得サービス３０４は、インタフェース３０４ａを介してプリンタドライバ３００（ドライバ共通部３０１）から構成情報取得の問い合わせがくると、QueryKeywordによって指定された変換情報ファイル３０５を参照し、関連付けられたプリンタＭＩＢの状態をプリンタ３０６に対して問い合わせ、取得した結果をプリンタドライバ３００に返す。結果を取得したプリンタドライバ３００は、結果に応じて構成情報を変更しＵＩに反映させる。
【００３０】
次に、プリンタ１０４の自動構成情報取得処理について図５のフローチャートを用いて説明する。ここでは、図６（ａ）に示す構成情報を含む機種依存ファイル３０３を持つプリンタドライバ３００がプリンタ１０４の構成情報を取得する場合を例にとって説明する。図４Ｂに示した通り、このフローチャートの最初の状態では、Output Optionsには、“Not Installed”が設定されているものする。
【００３１】
プリンタ１０４におけるオプションの着脱等によりプリンタ１０４の構成に変化が起こった場合に、プリンタ情報取得サービス３０４からプリンタドライバ３００に対してイベントが通知される。プリンタ１０４における構成の変化の検出方法としては、プリンタ１０４からプリンタ情報取得サービス３０４に対して構成の変化の発生を通知するようにしてもよいし、プリンタ情報取得サービス３０４が所定の時間間隔でプリンタ１０４に対して構成を問い合わせ、構成の変化を検出するようにしてもよい。なお、図５では上記イベント通知をトリガとして構成情報取得処理を起動するが、構成情報取得処理の起動タイミングはイベント通知に限られるものではなく、プリンタドライバ３００のインストール時、起動時、構成情報取得ボタン４０５がクリックされたときに構成情報取得処理を実行するようにする。
【００３２】
ステップＳ５０１において、ドライバ共通部３０１は、プリンタ情報取得サービス３０４からのイベント通知を受信すると、ステップＳ５０２へ進み、プリンタ情報取得サービス３０４からプリンタ情報取得インタフェース３０４ａを取得する。次に、ステップＳ５０３において、ドライバ共通部３０１は機種依存情報ファイル３０３を参照して機種依存情報を取得する。ここで取得する機種依存情報には、図６（ａ）に示すような各機能の構成情報取得のための情報が記述されている。
【００３３】
図６（ａ）において、機能毎に定義された*Featureエントリ内の*ConfigQueryエントリには、ドライバ共通部３０１がプリンタ情報取得インタフェース３０４ａ（プリンタ構成情報取得サービス３０４）を用いてプリンタ１０４の構成情報を取得するための情報が記述されている。*ConfigQueryエントリ内の*QueryKeywordは、取得したい構成情報に対応したキーワードを指定するエントリである。例えば、プリンタドライバ３００からプリンタ情報取得インタフェース３０４ａを用いてOutputOptionsに関する構成の問い合わせをする際には、このキーワード（Finishing.OutputOptions）を指定する。プリンタ情報取得サービス３０４が保持しているＸＭＬ形式の変換情報ファイル３０５には上記キーワードとプリンタＭＩＢの対応が記述されている。従って、プリンタドライバから上記キーワードによる問い合わせが来ると、プリンタ情報取得サービス３０４は指定されたキーワードにマッピングされたプリンタＭＩＢの状態を取得することができる。なお、*PickupOptionは、装着の有無を問い合わせたいOption名をLIST内に記述しておくためのエントリである。また、*Optionエントリ内の*Valueエントリは、各Optionの装着を問い合わせる際にプリンタ情報取得サービス３０４から返ってくる値を評価するために用いる。
【００３４】
図５のフローチャートに戻ると、ドライバ共通部３０１は上記で説明したような機種依存情報を取得した後、ステップＳ５０４に進み、ステップＳ５０２で取得したプリンタ構成情報取得インタフェース３０４ａに対して*QueryKeywordに記述されたキーワードを指定して構成情報の問い合わせを実行する。
【００３５】
以下、図８の変換情報ファイルの例と、図１０のフローチャートを参照して、ドライバ共通部３０１から構成情報の問い合わせを受けたプリンタ情報取得サービス３０４が実行する構成情報取得処理について説明する。
【００３６】
ステップＳ５０４による問い合わせを受けたプリンタ情報取得サービス３０４は、指定されたキーワードにマッピングされたプリンタＭＩＢのオブジェクトＩＤ（oid）を取得し、取得したoidを用いてＳＮＭＰプロトコルを用いてプリンタ１０４より構成情報を取得する。即ち、変換情報ファイル３０５から、QueryKeywordに記述されたキーワードに対応した記述個所を検索する（ステップＳ６０１）。そして検索された記述個所に指定されているoidでもってプリンタ１０４からＭＩＢ情報を取得する（ステップＳ６０２）。
【００３７】
図８は、プリンタ情報取得サービス３０４が参照するＸＭＬ形式の変換情報ファイル３０５の例を示したものである。ステップＳ５０４で指定されたキーワード“Finishing.OutputOptions”により、図８に示す変換情報の個所が特定され、“Finishing.OutputOptions”に対してプリンタＭＩＢのoid（=1.3.6.1…）が関連付けられている。ここで、“Finishing.OutputOptions”に対応したＭＩＢデータとして、プリンタ１０４には図７のようなオプションユニット管理テーブルが実装されているとする。オプションユニット管理テーブルには、“Finishing.OutputOptions”に関連する項目のほかに、FaxBoardやPaperFoldingUnitといったような複数の項目を含むリストとなっている。このオプションユニと管理テーブルの複数の項目の中から、特定の名前を抜き出して、フィニッシャ名を取得する場合は、図８に記述してあるとおり、pickup属性に“true”を指定し、〈OutputOptions〉タグ内に、ピックアップする文字列をPickupValueとして記述しておく。
【００３８】
プリンタ情報取得サービス３０４は、このような指定が変換情報ファイルに存在すると、oidで特定されるＭＩＢ情報（本例では図７に示すテーブル）をプリンタから取得し、取得したテーブルの各項目とPickupValueとして記述された文字列とを比較する（ステップＳ６０３、Ｓ６０４）。比較した結果、図７のオプションユニット管理テーブル内に合致したものがあれば、その文字列を問い合わせ元のドライバ共通部３０１に返す（ステップＳ６０５、Ｓ６０８）。この例では、図８に示したPickupValueの“Finisher-A2”と、図７のオプションユニット管理テーブル内のIndex2における“Finisher-A2”とが合致する。よって、この合致した文字列“Finisher-A2”をドライバ共通部３０１に返すことになる。また、合致する文字列がない場合には、“FALSE”をドライバ共通部３０１に返す（ステップＳ６０５、Ｓ６０６）。
【００３９】
なお、pickup属性に“true”が指定されていない場合は、ステップＳ６０３からステップＳ６０７へ進み、ステップＳ６０２で取得されたＭＩＢ情報は、要求された機能のみに関する情報であるとして、そのままドライバ共通部３０１へ返す。また、図７に示すリストの他の項目の情報は、それぞれに対応した機能の情報に従って検索がなされた場合に取得される。例えば、図６(ａ）の６０２を参照して情報取得が実行された場合は、図７のStapleUnitが抽出され、ドライバ共通部３０１へ通知されることになる。
【００４０】
図５に戻り、以上のようにして、ステップＳ５０５にてドライバ共通部３０１はプリンタ情報取得サービス３０４から結果を取得すると、ステップＳ５０６において、取得した値を機種依存情報内の*PickupOptionに列挙されているOptionに関連付けられた*Valueの中身と対比、評価する。そして、合致したオプションがあれば、ドライバ管理部は、構成情報を更新する（ステップＳ５０７）。ここでは、プリンタ情報取得サービス３０４から“Finisher-A2”が返るので、図６の（ｂ）に示すように、構成情報における*Feature：OutputOptionの状態を、Finisher-A2に設定する。一方、プリンタ情報取得サービス３０４から、“FALSE”が返ってきた場合や、機種依存情報内に合致した文字列がない場合には、*Valueに、FALSEが指定されているものを設定する。図６（ａ）の例では、NotInstalledオプションが設定されることになる。さらに、*ValueにFALSEが指定されているオプションが存在しない場合には、*DefaultOptionに記述されているデフォルトのオプションが設定される。
【００４１】
次に、ステップＳ５０８において、機種依存情報内のすべての構成情報について上記処理を終えたか否かを判断し、すべての構成情報について処理を終えたならば本処理を終了する。一方、ステップＳ５０８で未処理の構成情報が存在すると判定された場合は、ステップＳ５０３に戻り、上記処理を繰り返す。
【００４２】
この一連の自動構成情報取得処理の結果、プリンタドライバのＵＩは図４Ｂの状態から図９に示すような状態に変化し、現在のプリンタの構成情報がプリンタドライバＵＩに反映されることになる（図４Ｂの４２１が図９ではFinisher-A2になっている）。
【００４３】
以上のように、本実施形態によれば、リストからピックアップすべきオプションの情報を機種依存情報ファイル３０３内に記述しておくだけで、ドライバ共通部３０１はリストとして取得されたデバイスの構成情報から任意の情報を特定し、取得することができる。即ち、構成情報がリストで取得されるような場合でも、ドライバの共通性を維持しながら、プリンタドライバの構成情報の自動更新を実現することができる。なお、図８に示す変換情報においてPickupValueの数は構成の選択肢の数に対応する。例えば、選択肢が一つしかない場合はPickupValue１つだけ記述されることになる。また、ＭＩＢへアクセスした結果、取得対象の構成に関する情報のみが得られる項目については、図８に示す変換情報におけるpickupの値は“false”に設定されたものとなる。
【００４４】
＜その他の実施形態＞
なお、上記実施形態では、デバイスとしてプリンタを想定しているが、他のデバイスとしてＦＡＸ、複写機、複合機、ルータなどあらゆる機器において同様であり、これに限るものではない。
【００４５】
また、上記実施形態のデバイス管理システムは、１つのサービス（常駐プロセス）と複数のクライアント（プリンタドライバ、プリンタ管理アプリケーション）を想定しているが、デバイス管理システムは、複数のプロセスで実現されていても、単一のプロセスで実現されていても良い。同様にデバイス管理システムは、複数の端末（ＰＣ）からなる構成であっても、単一の端末からなる構成であっても良い。本実施形態では、プリンタから情報を取得するためのプロトコルとしてＳＮＭＰを想定しているが、あらゆる接続形態、通信プロトコルにおいて同様であり、これに限るものではない。
【００４６】
さらに、上記実施形態では、情報取得サービス３０４がプリンタのＭＩＢ情報を取得し、取得したＭＩＢ情報が複数の構成情報を含むリストの場合にはQueryKeywordに対応した構成情報をリストから抽出し、抽出した構成情報をドライバ共通部３０１へ通知している。しかしながら、ドライバ共通部３０１が情報取得サービス３０４よりリストの形態のまま構成情報を受け取り、図６の（ａ）に示した*Valueとリスト内の情報（文字列）を比較することで必要な構成情報を抽出するようにしてもよい。
【００４７】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００４８】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００４９】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００５０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００５２】
【図１】本実施形態におけるネットワーク構成の概略図である。
【図２】本実施形態におけるクライアントＰＣの構成を表すブロック図である。
【図３】本実施形態におけるプリンタドライバ、プリンタ構成情報取得サービス、プリンタ間の関係を表すブロック図である。
【図４Ａ】本実施形態におけるプリンタドライバによるＵＩ例を示す図である。
【図４Ｂ】本実施形態におけるプリンタドライバの構成情報の取得前のドライバＵＩの例を示す図である。
【図５】本実施形態における自動構成情報取得の動作を表すフローチャートである。
【図６】本実施形態における機種依存情報ファイルの記述例を示す図である。
【図７】本実施形態におけるプリンタから取得できるフィニッシャーオプションテーブルを示す図である。
【図８】本実施形態におけるフィニッシャーオプション情報を取得する為のＸＭＬファイルの記述例を示す図である。
【図９】本実施形態におけるプリンタドライバの構成情報の取得後のドライバＵＩの例を示す図である。
【図１０】プリンタ情報取得サービスによる構成情報の取得処理を示すフローチャートである。
【図１】
2005258721.tif 000003
【図２】
2005258721.tif 000004
【図３】
2005258721.tif 000005
【図４Ａ】
2005258721.tif 000006
【図４Ｂ】
2005258721.tif 000007
【図５】
2005258721.tif 000008
【図６】
2005258721.tif 000009
【図７】
2005258721.tif 000010
【図８】
2005258721.tif 000011
【図９】
2005258721.tif 000012
【図１０】
2005258721.tif 000013