(57)【要約】【課題】従来のプラグアンドプレイシステムでは、互換情報（ＣＩＤ）を対応していないデバイスや、対応していてもクラスドライバーに紐付いていないデバイスにクラスドライバーを導入することができなかった。【解決手段】情報処理装置は、プリンターから送信された識別情報（ＭＤＬ）に対応するプリンタードライバーを見つけることができない場合、識別情報（ＭＤＬ）に基づいてクラスドライバ用の識別情報（ＣＩＤ）を生成し、生成されたクラスドライバ用の識別情報（ＣＩＤ）を使ってクラスドライバをインストールする。【選択図】  図９
2014056353.tif 000002
【特許請求の範囲】
【請求項１】
プリンターの第１識別情報に対応するプリンタードライバーが見つからず、かつ、前記プリンターから共通ドライバー用の第２識別情報が送信されない場合、前記第１識別情報に基づいて前記第２識別情報を生成する生成手段と、
生成された前記第２識別情報に対応するプリンタードライバーをインストールするインストール手段とを有し、
前記インストール手段によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用されることを特徴とする情報処理装置。
【請求項２】
前記プリンターから、前記プリンターが対応したページ記述言語を示す第３識別情報を前記第１識別情報と共に受信し、
前記生成手段は、前記第１識別情報に基づいて前記第２識別情報を生成できない場合には、前記第３識別情報に基づいて前記第２識別情報を生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
プリンターの第１識別情報に対応するプリンタードライバーが見つからず、かつ、前記プリンターから共通ドライバー用の第２識別情報が送信されない場合、前記プリンターから前記第１識別情報とともに受信した、前記プリンターが対応したページ記述言語を示す第３識別情報に基づいて第２識別情報を生成する生成手段と、
生成された前記第２識別情報に対応するプリンタードライバーをインストールするインストール手段とを有し、
前記インストール手段によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用されることを特徴とする情報処理装置。
【請求項４】
前記生成手段は、前記第３識別情報に基づいて前記第２識別情報を生成できない場合には、前記第１識別情報に基づいて前記第２識別情報を生成することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
プリンターの第１識別情報に基づいて共通ドライバー用の第２識別情報を生成する生成手段と、
前記生成手段により前記第２識別情報を生成できた場合には生成した第２識別情報に、前記生成手段により前記第２識別情報を生成できない場合には、前記第１識別情報と共に前記プリンターから受信した第２識別情報に対応するプリンタードライバーをインストールするインストール手段とを有し、
前記インストール手段によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用されることを特徴とする情報処理装置。
【請求項６】
前記第１識別情報はプリンターのモデルを示す情報であり、前記第２識別情報はプリンターの共通ドライバーを示す互換識別情報であることを特徴とする請求項１乃至５のいずれか一項に記載の情報処理装置。
【請求項７】
請求項１乃至６のいずれか一項に記載の情報処理装置としてコンピュータを機能させるためのプログラム。
【請求項８】
プリンターの第１識別情報に対応するプリンタードライバーが見つからず、かつ、前記プリンターから共通ドライバー用の第２識別情報が送信されない場合、前記第１識別情報に基づいて前記第２識別情報を生成する生成工程と、
生成された前記第２識別情報に対応するプリンタードライバーをインストールするインストール工程とを有し、
前記インストール工程によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用されることを特徴とするプリンタードライバーのインストール方法。
【請求項９】
プリンターの第１識別情報に対応するプリンタードライバーが見つからず、かつ、前記プリンターから共通ドライバー用の第２識別情報が送信されない場合、前記プリンターから前記第１識別情報とともに受信した、前記プリンターが対応したページ記述言語を示す第３識別情報に基づいて第２識別情報を生成する生成工程と、
生成された前記第２識別情報に対応するプリンタードライバーをインストールするインストール工程とを有し、
前記インストール工程によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用されることを特徴とするプリンタードライバーのインストール方法。
【請求項１０】
プリンターの第１識別情報に基づいて共通ドライバー用の第２識別情報を生成する生成工程と、
前記生成工程により前記第２識別情報を生成できた場合には生成した第２識別情報に、前記生成工程により前記第２識別情報を生成できない場合には、前記第１識別情報と共に前記プリンターから受信した第２識別情報に対応するプリンタードライバーをインストールするインストール工程とを有し、
前記インストール工程によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用されることを特徴とするプリンタードライバーのインストール方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は例えば、コンピューターに接続したプリンター等を利用するために適切なドライバーをインストールするドライバーインストールシステムに関するものである。
【背景技術】
【０００２】
コンピューターにプリンター等の周辺機器を接続した際に接続された機器を利用するためのソフトウェアであるドライバーをコンピューターに組み込む技術として、Ｐｌｕｇ  ａｎｄ  Ｐｌａｙ（プラグアンドプレイ）がよく知られている。
【０００３】
プラグアンドプレイシステムを利用した先行技術として、特許文献１に示すような技術が存在する。この特許文献１では、プリンターが、他のプリンターから共通ドライバー向けの機器ＩＤを取得し、共通ドライバー向けの機器ＩＤをプラグアンドプレイの機器ＩＤ要求に応答している。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2011-013816号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、他のプリンターが機器ＩＤを有していない場合、機器ＩＤ要求に対して機器ＩＤを情報処理装置に通知することができなかった。つまり、プラグアンドプレイを実現する上で必要な機器ＩＤをプリンターが有していない場合、プラグランドプレイにより適切なプリンタードライバーをインストールすることができなかった。
【課題を解決するための手段】
【０００６】
上記目的を達成するために本発明は以下の構成を有する。
【０００７】
プリンターの第１識別情報に対応するプリンタードライバーが見つからず、かつ、前記プリンターから共通ドライバー用の第２識別情報が送信されない場合、前記第１識別情報に基づいて前記第２識別情報を生成する生成手段と、
生成された前記第２識別情報に対応するプリンタードライバーをインストールするインストール手段とを有し、
前記インストール手段によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用される。
【０００８】
また他の側面によれば本発明は、プリンターの第１識別情報に対応するプリンタードライバーが見つからず、かつ、前記プリンターから共通ドライバー用の第２識別情報が送信されない場合、前記プリンターから前記第１識別情報とともに受信した、前記プリンターが対応したページ記述言語を示す第３識別情報に基づいて第２識別情報を生成する生成手段と、
生成された前記第２識別情報に対応するプリンタードライバーをインストールするインストール手段とを有し、
前記インストール手段によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用される。
【０００９】
また他の側面によれば本発明は、プリンターの第１識別情報に基づいて共通ドライバー用の第２識別情報を生成する生成手段と、
前記生成手段により前記第２識別情報を生成できた場合には生成した第２識別情報に、前記生成手段により前記第２識別情報を生成できない場合には、前記第１識別情報と共に前記プリンターから受信した第２識別情報に対応するプリンタードライバーをインストールするインストール手段とを有し、
前記インストール手段によりインストールされる前記プリンタードライバーは、複数のモデルのプリンターで共通に使用される。
【発明の効果】
【００１０】
本発明によれば、プラグアンドプレイシステムのユーザー利便性を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本発明のシステム構成を示すブロック図
【図２】クライアントコンピュータ１０の構成を示すブロック図
【図３】プリンター１００の構成を示すブロック図
【図４】クライアントコンピュータ１０２のソフトウェア構成を示すブロック図
【図５】サーバーコンピュータ１０４のソフトウェア構成を示すブロック図
【図６】プリンター１００のソフトウェア構成を示すブロック図
【図７】機器ＩＤ３４０の構成及び例を示す図
【図８】ＣＩＤ変換情報の一例を示す図
【図９】疑似互換情報１（ＣＩＤ´）を用いたプラグアンドプレイの処理フロー
【図１０】ドライバーが見つかった場合の処理（ステップＳ１２００）のフロー
【図１１】ドライバーが見つからなかった場合の処理（ステップＳ１３００）のフロー
【図１２】プリンターの追加画面の例
【図１３】疑似互換情報２（ＣＩＤ´´）を用いたプラグアンドプレイの処理フロー
【図１４】プラグアンドプレイ時の動作（その３）の処理フロー
【図１５】プラグアンドプレイ時の動作（その４）の処理フロー
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１３】
＜実施形態１＞
[システム構成]
図１は本発明のシステム構成の一例を示すブロック図である。本実施形態のドライバーインストールシステムは、プリンター１００、クライアントコンピュータ１０２、サーバーコンピュータ１０４で構成される。プリンター１００とクライアントコンピュータ１０２は双方向通信が可能な接続媒体１０１を介して、クライアントコンピュータ１０２とサーバーコンピュータ１０４はインターネット或いはイントラネット等の通信可能な接続媒体１０３を介して接続されている。尚、サーバーコンピュータ１０４は複数存在していても構わない。なお、プリンター１００は、周辺装置とも呼ばれ、一例としてはマルチファンクションプリンタ（ＭＦＰ）やインクジェットプリンタ、レーザープリンタが挙げられる。
【００１４】
[ハードウェア構成]
図２は代表的なクライアントコンピュータ１０２の構成を示すブロック図である。クライアントコンピュータ１０２はＣＰＵ１により制御される。ＣＰＵ１はＲＯＭ３に記憶された基本入出力システム（ＢＩＯＳ制御プログラム）や外部メモリ１１に記憶されたオペレーティングシステムや各種アプリケーションプログラムなどをＲＡＭ２にロードし、実行することが可能である。情報機器にはユーザーからの入力を受けるキーボード９や処理の結果を画像としてユーザーに表示するためのディスプレイ１０など接続されている。更に、他の情報機器やプリンターなどの機器と通信を行うためのネットワーク・プリンターＩ／Ｆ８を備える。
【００１５】
尚、サーバーコンピュータ１０４も図２で説明したクライアントコンピュータ１０２と同様のハードウェア構成を持つ単独のサーバー装置あるいはクラスターサーバー装置として構成される。このため、サーバーコンピュータ１０４のハードウェア構成の説明は割愛する。
【００１６】
図３はプリンター１００の構成を示すブロック図である。プリンター１００はＣＰＵ１２により制御される。ＣＰＵ１２はＲＯＭ１４に記憶された制御プログラムや外部メモリ２２に格納された各種プログラムをＲＡＭ１３にロードし、実行することが可能である。ＣＰＵ１２は制御プログラムの動作に基づいて入出力部１６を介して入力された印刷データ等を画像信号に変換し印刷部２０に出力することで印刷を行う。また、ＣＰＵ１２は制御プログラムの動作に基づいて入出力部１６を介して入力された各種応答要求に対して処理した結果を入出力部１６から出力する。尚、プリンター１００には操作部２１が接続され、ユーザーからの直接の入力を受け付けることも可能になっている。
【００１７】
プラグアンドプレイを実現する一例について説明する。プリンター向けに実行されるプラグアンドプレイはユニバーサルシリアルバス（ＵＳＢ）やＷｅｂ  Ｓｅｒｖｉｃｅ  ｏｎ  Ｄｅｖｉｃｅｓ（ＷＳＤ）のインターフェイスを介してプリンターから識別情報を取得する。取得した識別情報を使ってＯＳは最適なドライバーを探し出し、ドライバーをインストールし、プリンターを検知した接続先を出力先に設定する。
【００１８】
このプラグアンドプレイでは、プリンターからプリンターのモデル識別情報（ＭＤＬ）を取得し、モデル識別情報（ＭＤＬ）に対応するプリンタードライバーを探し、見出したプリンタードライバーのインストールを行い、出力先ポートの設定を行う。もし、モデル識別情報（ＭＤＬ）に対応するプリンタードライバーが見つからなければ、クライアントコンピュータ１０２は、プリンターから互換識別情報（ＣＩＤ）を取得する。そして、クライアントコンピュータ１０２は、取得された互換識別情報（ＣＩＤ）に対応するプリンタードライバー（共通ドライバー）を探し、インストールを行い、出力先ポートの設定を行う。逆に言えば、互換識別情報とは共通ドライバー用の識別情報ということもできる。
【００１９】
この様にすることで、プリンターのモデル識別情報（ＭＤＬ）に応じたモデル毎のプリンタードライバーを優先的にインストールすることができる。もし、モデル識別情報に応じたドライバーが見つからない場合、互換識別情報（ＣＩＤ）に応じた複数種類のプリンターに対する共通なプリンタードライバーをインストールする。
【００２０】
なお、本実施形態では、モデル識別情報（ＭＤＬ）に対応するプリンターのモデル毎に提供されるプリンタードライバーを「スペシフィックドライバー」と呼ぶ。また、互換識別情報（ＣＩＤ）に対応するプリンタードライバーを「クラスドライバー」と呼ぶ。なお、クラスドライバーは、対応付けられたプリンターのファミリーやクラスに属する複数種類のプリンターで共通に使用される。
【００２１】
ここで、本実施形態で想定する課題の一例を詳細に説明する。モデル識別情報（ＭＤＬ）に対応するスペシフィックドライバーが見つからない場合、互換識別情報（ＣＩＤ）に対応するクラスドライバーを導入することも可能である。この処理により、プラグアンドプレイでスペシフィックドライバーが見つからない場合であっても、適切なクラスドライバーをインストールできる。
【００２２】
しかしながら、上記処理を実現するためには、プリンターが互換識別情報（ＣＩＤ）を情報処理装置に応答する必要がある。しかしながら、互換識別情報（ＣＩＤ）を有していないためにプリンターが互換識別情報（ＣＩＤ）を情報処理装置に送信できないこともある。その結果、上記のようにモデル識別情報（ＭＤＬ）に対応するスペシフィックドライバーが見つからない場合、互換識別情報（ＣＩＤ）がプリンターから送信されないため、情報処理装置は、適切なクラスドライバーをインストールできない可能性がある。
【００２３】
[ソフトウェア構成]
図４はクライアントコンピュータ１０２のソフトウェア構成を示すブロック図である。この図を用いて、クライアントコンピュータ１０２のソフトウェア構成について説明する。プラグアンドプレイ検出部２１０はユニバーサルシリアルバス（ＵＳＢ）やＷｅｂ  Ｓｅｒｖｉｃｅ  ｏｎ  Ｄｅｖｉｃｅｓ（ＷＳＤ）等のインターフェイスを介して接続されたプリンター１００の検知を行う。機器ＩＤ取得部２２０はプラグアンドプレイで検出されたプリンター１００に機器ＩＤ取得要求を送り、機器ＩＤを取得する。機器ＩＤについては後述する。ドライバー・変換情報検索部２３０は取得した機器ＩＤに対応したスペシフィックドライバー２６０やクラスドライバー２７０及びＣＩＤ変換情報２５０の検索を行う。尚、ドライバー・変換情報検索部２３０の検索範囲はクライアントコンピュータ１０２内に留まらず、予め決められたサーバーコンピュータ１０４に対しても行われるものとする。ドライバーインストール処理部２４０はドライバー・変換情報検索部２３０が見つけたスペシフィックドライバー２６０やクラスドライバー２７０のインストール処理を行う。尚、機器ＩＤ、スペシフィックドライバー２６０、クラスドライバー２７０、ＣＩＤ変換情報２５０については後述する。また、クライアントコンピュータ１０２には、ＯＳと一緒にバンドルされていたり、後から導入されたりしたスペシフィックドライバー２６０やクラスドライバー２７０及びＣＩＤ変換情報２５０を保持できるものとする。図４に示すソフトウェアは、クライアントＰＣのＣＰＵにより実行される。本実施形態では、図４におけるプラグアンドプレイ検出部２１０、機器ＩＤ取得部２２０、ドライバー・変換情報検索部２３０、ドライバーインストール処理部２４０はＯＳの機能の一部として説明する。しかし、ＯＳ以外のソフトウェアにより、これらの機能が提供されても構わない。
【００２４】
図５はサーバーコンピュータ１０４のソフトウェア構成を示すブロック図である。この図を用いて、サーバーコンピュータ１０４のソフトウェア構成について説明する。サーバーコンピュータ１０４には、クライアントコンピュータ１０２のドライバー・変換情報検索部２３０に応答するためのドライバー・変換情報管理部２８０を備える。ドライバー・変換情報管理部２８０を介して、サーバーコンピュータ１０４はクライアントコンピュータ１０２にスペシフィックドライバー２６０やクラスドライバー２７０及びＣＩＤ変換情報２５０を提供する。尚、サーバーコンピュータ１０４に各プリンターベンダーが提供する最新のドライバーや変換情報を保持しておくことで、最新のドライバーや変換情報をクライアントコンピュータ１０２に提供することが可能になる効果を発揮する。図５に示すソフトウェアは、サーバーコンピュータ１０４のＣＰＵにより実行される。
【００２５】
図６はプリンター１００のソフトウェア構成を示すブロック図である。この図を用いて、プリンター１００のソフトウェア構成について説明する。印刷ジョブ制御部３１０は受信した印刷データを印刷するための印刷ジョブ制御を行う。印刷処理部３２０は実際に印刷処理を実行する。機器情報提供部３３０はクライアントコンピュータ１０２の機器ＩＤ取得部２２０の要求に応じてプリンター１００内に保持している機器ＩＤ３４０を提供する。図６に示すソフトウェアは、プリンター１００のＣＰＵにより実行される。
【００２６】
[機器ＩＤについて]
図７は機器ＩＤ３４０の構成及び例を示す図である。図７（Ａ）を用いて、本発明で扱う機器ＩＤ３４０の構成及び例を説明する。機器ＩＤ３４０は文字列情報の形で表現され、主な要素として次に示す要素で構成される。機器の製造者情報を示す"ＭＡＮＵＦＡＣＴＵＲＥＲ"（以下ＭＦＧ）。機器のモデル情報を示す"ＭＯＤＥＬ"（以下ＭＤＬ）。機器が対応しているコマンドセット示す"ＣＯＭＭＡＮＤ  ＳＥＴ"（以下ＣＭＤ）。機器の属するファミリーやクラスの互換情報示す"ＣＯＭＰＡＴＩＢＬＥ  ＩＤ"（以下ＣＩＤ）。尚、ＩＥＥＥ１２８４の規定ではＭＦＧ、ＭＤＬ、ＣＭＤの提供は必須とされているが、ＣＩＤの提供は任意となっている。またモデルとは機種と言い替えることもでき、モデル情報とは機種情報と呼びかえることができる。コマンドセットはプリンターが解釈実行できるページ記述言語の名称である。
【００２７】
図７（Ｂ）は機器ＩＤの一例を示している。この例では製造者は "ＡＢＣ"であり、コマンドセットとして"ＰＣＬ"をサポートしており、 モデル名称が"Ｍ１２３"というプリンターであり、互換情報としては "Ｃｌａｓｓ１"という名称が与えられている機器であることを示している。
【００２８】
[スペシフィックドライバーについて]
スペシフィックドライバー２６０はプリンター１００の各々のモデルに対応したプリンタードライバーであり、機器ＩＤ３４０を利用するプラグアンドプレイシステムではモデル情報（ＭＤＬ）に対応するプリンタードライバーである。
【００２９】
[クラスドライバーについて]
クラスドライバー２７０はプリンター１００の属するファミリーやクラスに共通したプリンタードライバーであり、機器ＩＤ３４０を利用するプラグアンドプレイシステムでは互換情報（ＣＩＤ）に対応するプリンタードライバーである。
【００３０】
[ＣＩＤ変換情報について]
図８はＣＩＤ変換情報２５０の一つの例を示す。図８を用いて、ＣＩＤ変換情報２５０について説明する。図８では機器ＩＤ３４０のモデル情報（ＭＤＬ）を疑似互換情報１（ＣＩＤ´）に変換するための情報の例（図８（Ａ））と、コマンドセット（ＣＭＤ）を疑似互換情報２（ＣＩＤ´´）に変換するための情報の例（図８（Ｂ））を示している。
【００３１】
モデル情報（ＭＤＬ）を疑似互換情報１（ＣＩＤ´）に変換するための情報をＣＩＤ変換情報１（２５１）、コマンドセット（ＣＭＤ）を疑似互換情報２（ＣＩＤ´´）に変換するための情報をＣＩＤ変換情報２（２５２）とする。
【００３２】
図８（Ａ）で示すＣＩＤ変換情報１（２５１）の例では、機器ＩＤ３４０のモデル情報（ＭＤＬ）が"Ｍ１２３"、"Ｍ１３５"、"Ｍ１４７"、"Ｍ１５９"である各機器に対する疑似互換情報１（ＣＩＤ´）は"Ｃｌａｓｓ１"であることを示し。同様にモデル情報（ＭＤＬ）が"Ｍ２３４"、"Ｍ２４６"、"Ｍ２５８"の機器に対する疑似互換情報１（ＣＩＤ´）は"Ｃｌａｓｓ２"、ＭＤＬが"Ｍ３４５"の機器の疑似互換情報１（ＣＩＤ´）は"Ｃｌａｓｓ３"であることを示す。
【００３３】
モデル情報（ＭＤＬ）を疑似互換情報１（ＣＩＤ´）に変換することで、互換情報（ＣＩＤ）を返答しない機器に対して、互換情報（ＣＩＤ）の代わりに疑似互換情報１（ＣＩＤ´）を用いてクラスドライバーの導入が可能になる。また、互換情報（ＣＩＤ）を返答する機種であっても、該当機器が応答する互換情報（ＣＩＤ）に応じたクラスドライバーが見つからない場合に、この疑似互換情報１（ＣＩＤ´）を用い他の適切なクラスドライバーを導入することが可能となる。
【００３４】
図８（Ｂ）で示すＣＩＤ変換情報２（２５２）の例では、機器ＩＤ３４０のコマンドセット（ＣＭＤ）が"ＰＣＬ"の場合には疑似互換情報２（ＣＩＤ´´）は"Ｃｌａｓｓ１"であることを示し。コマンドセット（ＣＭＤ）が"ＰＣＬ６"の場合には疑似互換情報２（ＣＩＤ´´）は"Ｃｌａｓｓ２"であり、"ＰＳ"の場合には"Ｃｌａｓｓ３"を採用することを示している。
【００３５】
疑似互換情報２（ＣＩＤ´´）を用いることで、互換情報（ＣＩＤ）を返答しない場合或いは応答された互換情報（ＣＩＤ）に応じたクラスドライバーが見つからない場合であっても、クラスドライバーを導入することできる。疑似互換情報２（ＣＩＤ´´）の基になるコマンドセット（ＣＭＤ）は疑似互換情報１（ＣＩＤ´）の基になるモデル情報（ＭＤＬ）より大きなカテゴリーの情報となる。
【００３６】
[プラグアンドプレイ時の動作（その１）]
図９は疑似互換情報１（ＣＩＤ´）を用いたプラグアンドプレイの処理フローである。この図を用いて、疑似互換情報１（ＣＩＤ´）を用いたプラグアンドプレイに処理について説明を行う。なお、本願のフローチャートは、ＣＰＵ１がフローチャートに関連するプログラムをメモリから読み出して実行することで実現される。まず、クライアントコンピュータ１０２のプラグアンドプレイ検出部２１０が接続媒体１０１を介してプリンター１００が接続されたことを検知し、このプラグアンドプレイの処理が開始される。
【００３７】
機器ＩＤ取得部２２０はプリンター１００に対して機器ＩＤ３４０の取得要求を発行し、この取得容要求を受けたプリンター１００の機器情報提供部３３０は、機器ＩＤ３４０を機器ＩＤ取得部２２０に対して返答する。機器ＩＤ取得部２２０は取得した機器ＩＤ３４０に含まれるモデル情報（ＭＤＬ）をドライバー・変換情報検索部２３０に渡す（ステップＳ１０１０）。
【００３８】
ドライバー・変換情報検索部２３０は機器ＩＤ取得部２２０から受け取ったモデル情報（ＭＤＬ）に対応するスペシフィックドライバー２６０の検索を実施する（ステップＳ１０２０）。
【００３９】
このステップＳ１０２０の検索処理でスペシフィックドライバー２６０が見つかった場合ステップＳ１２００へ、見つからない場合にはステップＳ１０４０に処理を進める（ステップＳ１０３０）。ステップＳ１２００の処理については図１０にて後述する。
【００４０】
ステップＳ１０２０にてモデル情報（ＭＤＬ）に対応するスペシフィックドライバー２６０が見つからない場合、機器ＩＤ取得部２２０は機器ＩＤ３４０に互換情報（ＣＩＤ）が含まれていたかどうかを調べる（ステップＳ１０４０）。
【００４１】
機器ＩＤ３４０に互換情報（ＣＩＤ）が含まれている場合、機器ＩＤ取得部２２０は互換情報（ＣＩＤ）をドライバー・変換情報検索部２３０に渡し、ステップＳ１０５０へと進む。機器ＩＤ３４０に互換情報（ＣＩＤ）が含まれていない場合、ステップＳ１０７０へ進む。ステップＳ１０７０での処理については後述する。
【００４２】
ステップＳ１０５０では、ドライバー・変換情報検索部２３０は機器ＩＤ取得部２２０から受け取った互換情報（ＣＩＤ）に対応するクラスドライバー２７０の検索を実施する。
【００４３】
このステップＳ１０５０の検索処理でクラスドライバー２７０が見つかった場合ステップＳ１２００へ、見つからない場合にはステップＳ１０７０に進む（ステップＳ１０６０）。
【００４４】
ステップＳ１０７０では、ドライバー・変換情報検索部２３０は図８（Ａ）で示したモデル情報（ＭＤＬ）を疑似互換情報１（ＣＩＤ´）に変換するＣＩＤ変換情報１（２５１）が存在するかどうかの検索を行う。該当するＣＩＤ情報１（２５１）が見つかれば次のステップＳ１０８０に進み、見つからなければステップＳ１３００に進む。ステップＳ１３００の処理については図１１にて後述する。
【００４５】
ステップＳ１０８０では、ドライバー・変換情報検索部２３０はＣＩＤ変換情報１（２５１）を参照し、機器ＩＤ取得部２２０から取得したモデル情報（ＭＤＬ）に対応する疑似互換情報１（ＣＩＤ´）が存在するかどうかを調べる。モデル情報（ＭＤＬ）に対応する疑似互換情報１（ＣＩＤ´）が存在すればステップＳ１０９０に進み、疑似互換情報１（ＣＩＤ´）が存在しない場合ステップＳ１３０進む。
【００４６】
ステップＳ１０９０では、ドライバー・変換情報検索部２３０はモデル情報（ＭＤＬ）に対応した疑似互換情報１（ＣＩＤ´）に対応するクラスドライバー２７０の検索を実施する。
【００４７】
このステップＳ１０９０の検索処理でクラスドライバー２７０が見つかった場合ステップＳ１２００へ、見つからない場合にはステップＳ１３００に進む（ステップＳ１１００）。クラスドライバー２７０が見つかればステップＳ１２００に、見つからなければステップＳ１３００に分岐する。なおステップＳ１０９０では、ＣＩＤ変換情報１を参照してモデル情報に対応した疑似互換情報を生成し、生成された疑似互換情報に対応するクラスドライバーをインストールすると言うこともできる。
【００４８】
図１０は図９のフローにおいて、スペシフィックドライバー２６０或いはクラスドライバー２７０が見つかった場合の処理（ステップＳ１２００）のフローである。この図を用いて、ドライバーが見つかった場合の処理について説明を行う。
【００４９】
ドライバーインストール処理部２４０はインストールを指示されたドライバーが既にクライアントコンピュータ１０２にインストール済みかどうかを調べる。例えば、クライアントコンピュータ１０２にインストールされているプリンタードライバー名のリストを取得し、このリストにインストールが指示されたドライバー名が記載されているかどうか調べる。この処理により、ドライバーインストール処理部２４０は、該当ドライバーが既にインストール済みかどうかを判断することができる（ステップＳ１２１０）。
【００５０】
該当ドライバーが未だクライアントコンピュータ１０２にインストールされてない場合、ドライバーインストール処理部２４０はクライアントコンピュータ１０２に該当プリンタードライバーをインストールする処理を行う（ステップＳ１２２０）。
【００５１】
ステップＳ１２１０の処理で既にドライバーがインストール済みの場合も含め、ドライバーインストール処理部２４０はプラグアンドプレイ検出部２１０がプリンター１００の接続を検知したポートを出力先ポートとする論理プリンターの作成を行う（ステップＳ１２３０）。
【００５２】
ここで、論理プリンターとはプリンタードライバーを利用するための論理的なオブジェクであり、印刷アプリケーションが印刷を行う際に「プリンター」として参照するオブイジェクトである。尚、一つの論理プリンターは一つのプリントキューを持つ。
【００５３】
図１１は図９のフローにおいて、スペシフィックドライバー２６０或いはクラスドライバー２７０が見つからなかった場合の処理（ステップＳ１３００）のフローである。
【００５４】
ドライバーインストール処理部２４０は、論理プリンターを追加するためにユーザーの入力を受け付けるダイアログの表示を行う（ステップＳ１３１０）。図１２はプリンターの追加画面の一例を示す図であり、このようなダイアログを表示しユーザーからインストールを行うドライバーの入力を受け付ける。
【００５５】
図１１に戻り、インストールするドライバーの指定をユーザーから受付、インストールドライバーが指定されているかどうかの確認を行う（ステップＳ１３２０）。インストールするドライバーが指定されていない場合、ドライバーのインストールやプリンターの追加処理は行わず、処理を終了する。インストールするドライバーがユーザーにより指定された場合、図１０のステップＳ１２１０、Ｓ１２２０、Ｓ１２３０と同じ処理を行い、ドライバー及びプリンターのインストール・追加処理を行う。
【００５６】
従来のプラグアンドプレイシステムでは、互換情報（ＣＩＤ）を応答しないデバイスや、クラスドライバーに紐付いていない互換情報（ＣＩＤ）を応答するデバイスに対してクラスドライバーをインストールすることができなかった。これにたいし、上述の様に疑似互換情報１（ＣＩＤ´）を用いることで、これらのケースであっても、クラスドライバーを導入できるプラグアンドプレイシステムをユーザーに提供することができる効果を発揮する。
【００５７】
＜実施形態２＞
[プラグアンドプレイ時の動作（その２）]
図１３は疑似互換情報２（ＣＩＤ´´）を用いたプラグアンドプレイの処理フローである。この図を用いて、疑似互換情報２（ＣＩＤ´´）を用いたプラグアンドプレイに処理について説明を行う。尚、図１３のフローは図９のフローに対してステップＳ１１１０〜ステップＳ１１４０を追加したものある。図９で説明した処理とは異なる部分のみをここでは説明する。また他の構成や処理についても実施形態１と同じであるので説明を省略する。
【００５８】
図１３のステップＳ１０７０でＣＩＤ互換情報１が見つからない場合や、ステップＳ１０８０でモデル情報（ＭＤＬ）に該当する疑似互換情報１（ＣＩＤ´）が存在しない場合、ステップＳ１１００でクラスドライバーが見つからない場合にステップＳ１１１０に進む。
【００５９】
ステップＳ１１１０では、ドライバー・変換情報検索部２３０は、図８（Ｂ）で示したコマンドセット（ＣＭＤ）を疑似互換情報２（ＣＩＤ´´）に変換するＣＩＤ変換情報２（２５２）が存在するかどうかの検索を行う。該当するＣＩＤ情報２（２５２）が見つかれば次のステップＳ１１２０に進み、見つからなければステップＳ１３００に進む。
【００６０】
ステップＳ１１２０では、ドライバー・変換情報検索部２３０はＣＩＤ変換情報２（２５２）を参照し、機器ＩＤ取得部２２０から取得したコマンドセット（ＣＭＤ）に対応する疑似互換情報２（ＣＩＤ´´）が存在するかどうかを調べる。コマンドセット（ＣＭＤ）に対応する疑似互換情報２（ＣＩＤ´´）が存在していればステップＳ１１３０に進み、存在しない場合、ステップＳ１３００に進む。
【００６１】
ステップＳ１１３０では、ドライバー・変換情報検索部２３０はコマンドセット（ＣＭＤ）に対応した疑似互換情報２（ＣＩＤ´´）に対応するクラスドライバー２７０の検索を実施する。
【００６２】
このステップＳ１１３０の検索処理でクラスドライバー２７０が見つかった場合ステップＳ１２００へ、見つからない場合にはステップＳ１３００に進む（ステップＳ１１４０）。
【００６３】
図１３では、モデル情報（ＭＤＬ）を基にした疑似互換情報１（ＣＩＤ´）を用いてもクラスドライバー２７０を探し出せない場合に、更にコマンドセット（ＣＭＤ）を基にした疑似互換情報２（ＣＩＤ´´）を用いてクラスドライバー２７０を探す例を示している。
【００６４】
疑似互換情報１（ＣＩＤ´）を使ってクラスドライバーを導入できない場合であっても、疑似互換情報２（ＣＩＤ´´）を用いることで、コマンドセット（ＣＭＤ）の記述を基にクラスドライバーを導入することが可能になる効果を発揮する。
【００６５】
＜実施形態３＞
[プラグアンドプレイ時の動作（その３）]
次に、既にクラスドライバー２７０に紐付けられた互換情報（ＣＩＤ）を応答するデバイス対して、別のクラスドライバー２７０を導入できるように拡張したプラグアンドプレイシステムの例について説明する。この例では、上記のような通常とは異なるプラグアンドプレイをシステム管理者が望んだ場合に、先に説明した２つの例とは排他的に実施できるようになっており、先の２例いずれかの処理と本例の処理とを切り替えるためのスイッチを持つものとする。 
図１４は図９のフローに対して、スペシフィックドライバー２６０の検索を止め、クラスドライバー２７０を検索するために参照する情報の順序を疑似互換情報１（ＣＩＤ´）、互換情報（ＣＩＤ）の順にした場合にフローである。
【００６６】
図９の例との差は次に挙げる３点である。スペシフィックドライバーの検索処理（ステップＳ１０２０、Ｓ１０３０）を行わない事。疑似互換情報１（ＣＩＤ´）を用いてクラスドライバー２７０を探す処理（ステップＳ１０７０〜１０９０）を、互換情報（ＣＩＤ）を用いてクラスドライバーを探す処理よりも先に実施すること。疑似互換情報１（ＣＩＤ´）を用いてクラスドライバー２７０を探す処理によりクラスドライバー２７０が見つからない場合に、互換情報（ＣＩＤ）を用いてクラスドライバー２７０を探す処理（ステップＳ１０４０〜Ｓ１０５０）を実施する事。
【００６７】
上述のように疑似互換情報１（ＣＩＤ´）を用いることで、既にクラスドライバー２７０に紐付けられた互換情報（ＣＩＤ）を応答するデバイスであっても、別のクラスドライバー２７０を導入するプラグアンドプレイシステムをユーザーに提供する効果を発揮する。例えば、社内のイントラネット内にＣＩＤ互換情報１（２５１）を提供するサーバーコンピュータ１０４を配置する。このサーバーコンピュータ１０４内のＣＩＤ互換情報１（２５１）に顧客用にカスタマイズしたクラスドライバー２７０を記述する。このようにシステムを構築することで、プリンター１００を変更することなく、特定の顧客向けのスペシャルなクラスドライバー２７０をプラグアンドプレイで導入することが可能になる。
【００６８】
尚、図示はしないが、クラスドライバー２７０を検索するために互換情報（ＣＩＤ）より先に、疑似互換情報２（ＣＩＤ´´）を参照する他の実施形態でも同様の効果が期待できる。
【００６９】
＜実施形態４＞
[プラグアンドプレイ時の動作（その４）]
図１５は、図１３の例に対して、クラスドライバー２７０を検索するために参照する情報の順序を互換情報（ＣＩＤ）、疑似互換情報２（ＣＩＤ´´）、疑似互換情報１（ＣＩＤ´）の順にした場合にフローである。この例では、上記のような通常とは異なるプラグアンドプレイをシステム管理者が望んだ場合に、先に説明した３つの例とは排他的に実施できるようになっており、先の３例と処理を切り替えるためのスイッチを持つものとする。
【００７０】
図１３の例との差は次に２点である。互換情報（ＣＩＤ）を用いてクラスドライバー２７０が見つからない場合、疑似互換情報２（ＣＩＤ´´）を用いてクラスドライバー２７０を探す処理を、疑似互換情報１（ＣＩＤ´）を用いてクラスドライバーを探す処理よりも先に実施する点である。疑似互換情報２（ＣＩＤ´´）を用いてクラスドライバー２７０を探す処理によりクラスドライバーが見つからない場合、疑似互換情報１（ＣＩＤ´）を用いてクラスドライバー２７０を探す処理（ステップＳ１０７０〜１０９０）を行う。
【００７１】
実施形態４を実行することで、対象のプリンターのモデル情報（ＭＤＬ）に紐付いたクラスドライバー２７０よりコマンドセット（ＣＭＤ）に紐付いたクラスドライバー２７０を優先して導入するプラグアンドプレイシステムをユーザーに提供することになる。
【００７２】
一般に、モデル情報（ＭＤＬ）に基づいたクラスドライバー２７０の種類より、コマンドセット（ＣＭＤ）に基づくクラスドライバー２７０の種類の方が少なくなる。つまり、この形態で本発明を実施することで、導入されるクラスドライバー２７０の種類を少なく抑えることができる。
【００７３】
先に説明した図９や図１３の形態でシステムを運用すると、導入されるクラスドライバー２７０の種類が増え、ＩＴ管理者のサポートコストの増大が予想される場合等に、上述する形態で発明を実施することで、サポートコストを抑える効果を発揮する。
さらに、本願の実施形態１乃至４を実行することで、プリンター側に特殊な仕組みを加えることなく、プリンターに対して有効なクラスドライバーを導入するプラグアンドプレイシステムを提供できる効果を奏する。
【００７４】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2014056353.tif 000003
【図２】
2014056353.tif 000004
【図３】
2014056353.tif 000005
【図４】
2014056353.tif 000006
【図５】
2014056353.tif 000007
【図６】
2014056353.tif 000008
【図７】
2014056353.tif 000009
【図８】
2014056353.tif 000010
【図９】
2014056353.tif 000011
【図１０】
2014056353.tif 000012
【図１１】
2014056353.tif 000013
【図１２】
2014056353.tif 000014
【図１３】
2014056353.tif 000015
【図１４】
2014056353.tif 000016
【図１５】
2014056353.tif 000017