(57)【要約】【課題】ドライバー本体とドライバーＵＩが分離した構成を取るドライバー形態であった場合に、ドライバー本体だけをインストールしただけでは、ドライバーの設定ＵＩを起動することができず、その場合の設定画面はＯＳ標準の簡易なＵＩとなってしまっていた。【解決手段】適切なドライバー本体とドライバーＵＩの組み合わせを探索し、関連付けを行うことでベンダーが用意したドライバーＵＩを設定画面として起動することができる。【選択図】図６
2019128857.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置、印刷装置から構成され、ドライバーとドライバーの設定画面が分離した構成の情報処理システムであって、
ドライバーの情報を取得する手段（Ｓ６０２）と、
ドライバーの設定画面の情報を取得する手段（Ｓ６０１）と、
前記ドライバーと前記ドライバーの設定画面が適切な組み合わせかを判定する手段（Ｓ６０４）と、
ドライバーとドライバーの設定画面の関連付け情報を登録する手段（Ｓ６０６）と、
を有することを特徴とする情報処理システム。
【請求項２】
前記情報処理システムの前記ドライバーとドライバーの設定画面が適切な組み合わせかを判定する手段（Ｓ６０４）が、
前記ドライバーが前記ドライバーの設定画面の対象とする種別であるのか判定する手段（Ｓ７０１）と、
前記ドライバーの製造元や部署情報から前記ドライバーの設定画面の対象とするドライバーであるのか判定する手段（Ｓ７０２）と、
前記ドライバーが前記ドライバーの設定画面のサポートする機種であるのかを判定する手段（Ｓ７０３）と、
前記ドライバーが前記ドライバーのバージョンを比較する手段（Ｓ７０４）と、
前記ドライバーが使用可能かを判定する手段（Ｓ７０５）と、
を有することを特徴とする請求項１に記載の情報処理システム。
【請求項３】
前記ドライバーの設定画面と類似のドライバーの設定画面を処理対象とする手段（Ｓ８０２）を有することを特徴とする請求項１に記載の情報処理システム。
【請求項４】
前記ドライバーと機種非依存のドライバーの設定画面との関連付け情報を登録する手段（Ｓ１００１）を有することを特徴とする請求項１に記載の情報処理システム。
【請求項５】
前記請求項１記載の情報処理システムが、
前記ドライバーが前記ドライバーの設定画面を使用可能かどうか判定する手段（Ｓ１１０２）と、
前記ドライバーが前記機種非依存のドライバーの設定画面と関連付いているかを判定する手段（Ｓ１１０３）と、を有することを特徴とする印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイスドライバーを扱うための情報処理装置、プログラム及びシステムに関する。
【背景技術】
【０００２】
まず、本願はドライバーの本体とドライバーの設定用ユーザーインターフェース（以下、ドライバーＵＩ）が分離した構成をとるドライバー形態におけるものである。ドライバーの本体とドライバーＵＩが分離した構成とは、ドライバーパッケージがドライバー本体とドライバーＵＩに分離しており、それぞれ別に情報処理装置に導入することが可能である形態のことを指す。また、ここでのドライバー本体とはドライバーが担う中心的な機能を持つ部分であり、具体的にはプリンターであるなら印刷処理、ファクシミリ（ＦＡＸ）であればＦＡＸの送信処理が該当する。
【０００３】
次に、ドライバーＵＩとはドライバー本体に対して行う詳細な設定画面を表示するプログラムのことを指し、ドライバーＵＩが未導入の場合はオペレーティングシステム（ＯＳ）が標準的に持っているＯＳ標準ＵＩが起動する。この際、ドライバー本体はＯＳのシステム部分に格納され、原則としてＯＳが管理を行う事に対し、ドライバーＵＩは別途、ＯＳの関与しない通常のプログラムとしてインストールが行われる。このため、ドライバー本体からドライバーＵＩにある設定画面を開くためには、ドライバー本体に対してドライバーＵＩのインストール情報をシステムに登録する必要がある。
【０００４】
しかし、本登録処理を行わない場合は、ドライバーＵＩが未導入の場合と同様に設定画面がＯＳ標準ＵＩとなり、必要最低限の設定しか提供されず、詳細な設定を行うことができないという問題が発生する。
【０００５】
また、特許文献１では、別のドライバーのユーザーインターフェースを関連付けるという手段を取っているが、２つのドライバー間での差異が大きかった場合、設定が保存できないなどの問題が起こる可能性がある。また、特許文献１の方法は、ドライバーに組み込まれたＵＩの置き換えを想定しているため、署名が崩れるといった問題もある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１４−１７８８２３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、ドライバーＵＩのバージョンよりも新しい構成のドライバー本体が導入されていた場合でも、適切な組み合わせでドライバー本体とドライバーＵＩの関連付けを行い、設定画面を開くことができる情報処理システムを提供することにある。また、ドライバー本体と関連付いているドライバーＵＩよりも適切なドライバーＵＩがあった場合、関連付けをより適切なドライバーＵＩに修正することもできる情報処理システムを提供することにある。
【課題を解決するための手段】
【０００８】
上記の目的を達成するために、本発明に係る情報処理システムは、
情報処理装置、印刷装置から構成され、ドライバーとドライバーの設定画面が分離した構成の情報処理システムであって、
ドライバーの情報を取得する手段（Ｓ６０２）と、
ドライバーの設定画面の情報を取得する手段（Ｓ６０１）と、
前記ドライバーと前記ドライバーの設定画面が適切な組み合わせかを判定する手段（Ｓ６０４）と、
ドライバーとドライバーの設定画面の関連付け情報を登録する手段（Ｓ６０６）と、
を有することを特徴とする。
【発明の効果】
【０００９】
本発明に係る情報処理システムによれば、ドライバーＵＩのバージョンよりも新しい構成のドライバー本体が導入されていた場合でも、適切な組み合わせでドライバー本体とドライバーＵＩの関連付けを行い、設定画面を開くことができる。また、ドライバー本体と関連付いているドライバーＵＩよりも適切なドライバーＵＩがあった場合、関連付けをより適切なドライバーＵＩに修正することもできる。
【図面の簡単な説明】
【００１０】
【図１】システム構成を示す図
【図２】クライアントコンピュータのハードウェア構成を示す図
【図３】ドライバーセットの構成を示す図
【図４】ドライバー拡張関連付け定義のデータの一例
【図５（Ａ）】機種依存版のドライバーＵＩの一例
【図５（Ｂ）】ＯＳ標準ドライバーＵＩの一例
【図６】本発明の基本処理のフロー
【図７】適切なドライバー本体とドライバーＵＩの組み合わせが適切かを判定するフロー
【図８】類似ドライバーＵＩの探索と関連付け処理を示すフロー
【図９】機種非依存版のドライバーＵＩの一例
【図１０】機種非依存版のドライバーの関連付け処理を示すフロー
【図１１】関連付け修復処理を示すフロー
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１２】
図１に、本発明に係るシステム構成の概略を表す模式図を示す。
【００１３】
このシステムは、情報処理装置の一例であるクライアントコンピュータ１０１とページ記述言語（ＰＤＬ）形式の印刷データを受信し印刷を行うことが可能なプリンター１０２を備える。これらは、Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＷＡＮ）を含むネットワーク１０３を通じて相互に通信可能である。
【００１４】
なお、プリンター１０２は、印刷機能のみを備えるシングルファンクションプリンタでも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンタでも構わない。また、クライアントコンピュータ１０１は、ネットワーク１０３に対し一台に限らず、複数台接続されていても構わない。
【００１５】
図２は、図１のクライアントコンピュータ１０１のハードウェア構成を示すブロック図である。
【００１６】
クライアントコンピュータ１０１において、中央演算処理装置（ＣＰＵ２０１）は、ランダムアクセスメモリ（ＲＡＭ２０２）に記憶されているプログラムに従って、システムバスに接続される各デバイスを制御する。なお、クライアントコンピュータ１０１は、少なくとも１つのＣＰＵ２０１を備える。加えて、ＣＰＵ２０１が外部メモリ２０９に記憶されているプログラムに基づき処理を実行することによって、クライアントコンピュータ１０１のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。このＲＡＭ２０２は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００１７】
２０３は、リードオンリーメモリ（ＲＯＭ）である。ＲＯＭ２０３は、ブートプログラムや基本入出力システム（ＢＩＯＳ）等の各種プログラムが書き込まれてある。操作入力装置インターフェース（Ｉ／Ｆ）２０４は、キーボードやポインティングデバイス（マウス）タッチＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）などの操作入力装置２０５を制御するインターフェースである。ディスプレイＩ／Ｆ２０６はディスプレイ２０７への画面表示を制御する。外部メモリＩ／Ｆ２０８は、例えばハードディスク（ＨＤ）、ソリッドステートディスク（ＳＳＤ）等の外部メモリ２０９とのアクセスを制御する。外部メモリ２０９は、オペレーティングシステムプログラム（ＯＳ）２１０をはじめ、タッチパネル、デスクトップそれぞれに対応したアプリケーション２１２、プリンタードライバーを含むドライバー３００６を含む。そして、各種ファイル等を記憶し、クライアントコンピュータ１０１が読み取り可能な記憶媒体として機能する。ネットワークＩ／Ｆ２１３は、ネットワーク１０３を介してプリンター１０２に接続され通信制御処理を行なう。
【００１８】
図３を用いて、ドライバーセット３０００の構成と配置先について説明する。ここでのドライバーセットとは、ドライバーが設定を行い、デバイスに対して処理を実行するために必要なモジュールや記憶ストレージ領域のことを指す。
【００１９】
まずドライバーセット３０００は、ＯＳ２１０、ドライバー３００１、アプリケーション２１２、それぞれの領域に分離して配置される。機種依存ファイル３００２は、機種ごとの禁則のルールや機能の一覧、工場出荷値の印刷設定やロケールごとのデフォルトの印刷設定などのファイルで構成される。グラフィックスモジュール３００３は、ドライバー３００１が印刷をする際に印刷対象のファイルをＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換を行う機能を担当する。
【００２０】
また、ドライバーＵＩモジュール２１２０１はドライバーセット３０００が導入された後に、印刷時に呼び出され、詳細な印刷設定を行うことを可能とするモジュールである。
【００２１】
また、ドライバー拡張関連付け定義２０１０１はドライバー３００１がどの設定画面を開くかの定義であり、例としてＯＳが持つ設定データベース領域（図４）に情報を登録する。ここでは、特にドライバＵＩの配置場所を定義したドライバーＵＩのファイルパス４０１とドライバー本体を一意に特定するための情報であるドライバー本体ＩＤ４０２に関して取り上げる。ドライバー３００１が設定画面を開く場合、まずドライバー３００１が、ドライバー本体ＩＤ４０２を使って設定データベースにあるドライバー拡張関連付け定義２０１０１を検索する。その上で、ドライバー本体ＩＤ４０２が一致したドライバーに関し、ドライバーＵＩのファイルパス４０１を元に登録されているドライバーＵＩを呼び出す。
【００２２】
また、以後ドライバーＵＩと区別を明確にするためドライバー３００１をドライバー本体と呼ぶ。
【００２３】
まず、本実施例の概要について説明する。
【００２４】
ドライバー本体内部にドライバーＵＩモジュール２１２０１を含める形でパッケージを作成する場合は、ＯＳ２１０がドライバーＵＩモジュール２１２０１の関連付け情報の登録も含めて管理を行うため、各ベンダーは特殊な処理をすることなく図５（Ａ）のような詳細な設定画面を呼び出すことができる。ただし、ドライバーＵＩモジュール２１２０１をアプリケーション２１２として導入する場合、ドライバーＵＩは通常のアプリケーションと同じ扱いとなるため、ＯＳ２１０がドライバーＵＩモジュール２１２０１をドライバー関連のモジュールとして認識できない。この場合は、ドライバー本体から開かれる設定画面は図５（Ｂ）のようなＯＳ標準ドライバーＵＩとなる。例えアプリケーションとしてドライバーＵＩモジュール２１２０１がＯＳに導入済みだったとしても、ドライバー拡張関連付け定義２０１０１に関連付け情報が登録されない限り、同様にＯＳ標準ドライバーＵＩが開かれる。
【００２５】
このため、ドライバーＵＩモジュール２１２０１をＯＳ２１０に導入する場合はドライバー拡張関連付け定義２０１０１に、ドライバー本体との関連付け情報を登録する必要があり、これにより図５（Ａ）のような詳細な設定画面を開くことができるようになる。
【００２６】
図６は、前述のドライバーＵＩとドライバー本体の関連付け情報を登録する処理を示すフローである。
【００２７】
なお、本例においてはドライバーＵＩをインストールする際にインストーラが行うことを前提とするため、本実施例におけるフローの主語は基本的にインストーラとして説明する。しかし、Ｐｏｉｎｔ  ＆  Ｐｒｉｎｔのインストールを始め、ドライバーＵＩのインストーラを介さない形でインストールされる系も考えられる。例えば、「プログラムの削除」等のインストールプログラムを管理する画面の「変更」や「修復」ボタンの処理が実行されるタイミングで処理を行う系が例として挙げられる。あるいはＯＳのサービスやタスクスケジューラを用いる事で、「ユーザーのログイン時」「ＰＣ起動時」「一定時間ごと」「指定時刻」等の所定のタイミングで実行させても良い。また、ＯＳがドライバーのインストールを通知するイベントを発行する場合は、その仕組みを利用しても良い。その場合、主語はＯＳ２１０もしくは、ＯＳ２１０によって起動されたサービス等でも良いものとする。
【００２８】
ここから、本フローにおけるドライバーＵＩとドライバー本体の関連付け処理について説明する。
【００２９】
まず、処理対象となるドライバーＵＩの取得を行う（Ｓ６０１）。本処理では、ドライバーＵＩのインストーラが管理しているものの取得を指す。ここで取得する対象はドライバーＵＩの名称や配置されている場所、関連しているドライバーＵＩに関する情報も併せて取得するものとする。
【００３０】
次にインストール済みのドライバー本体の取得を行う（Ｓ６０２）。ここで取得するのは未処理のインストール済みドライバーの中から１機種分の取得を行う。この際に、取得した機種の関連情報、例えばドライバーの名称や能力情報を始めとする情報の取得も併せて行う。
【００３１】
ここで、取得を行った機種のドライバー本体にドライバー拡張関連付け定義が登録済みであるかどうかの判定を行う（Ｓ６０３）。既に登録済みであった場合は処理をスキップし、Ｓ６０７に移動し、未登録の場合はＳ６０４に移動し登録処理を行う。
【００３２】
未登録であった場合はドライバー本体とドライバーＵＩが適切な組み合わせであるかの判定を行う（Ｓ６０４）。本処理の詳細は後述する。
【００３３】
Ｓ６０４の処理の結果、ドライバー本体とドライバーＵＩが適切な組み合わせであるとされた場合は、ドライバー拡張関連付け定義２０１０１に関連付けの登録を行う。具体的には処理対象となっているドライバー本体のドライバーＵＩのファイルパス４０１情報に、適切とされた組み合わせのドライバーＵＩのパスを登録する。
【００３４】
最後に、未処理のドライバー本体が残っているか判定をし、全て処理済みであった場合は処理を終了し、未処理のドライバー本体が残っていた場合はＳ６０２に遷移し、残りのドライバーの処理を行う（Ｓ６０７）。
【００３５】
以上の処理により、ドライバー本体とドライバーＵＩの関連付け情報の登録を行うことで、詳細な設定画面を開くことが可能となる。
【００３６】
図７では、図６のフロー中の処理である、ドライバー本体とドライバーＵＩの組み合わせが適切なのかどうかの判定処理の詳細を示すフローである。なお、これらの判定のいずれかで条件で対象とするデバイスで無いという判定となったら、フローの処理を終了し、適切な組み合わせはで無いという結果を返す（Ｓ７０７）。
【００３７】
まず、最初にドライバー本体が対象とする種別のものであるのかの判定を行う（Ｓ７０１）。ここでは、まずドライバーが対象とするデバイスがプリンターであるのか、ＦＡＸであるのかの分類や、対象とするドライバーのＣｌａｓｓＶｅｒの情報等から判定される大まかな分類から対象とするデバイスであるのかの判定を行う。
【００３８】
次に製造元情報等を用いた対象機種の判定を行う（Ｓ７０２）。これはドライバーに登録されている製造元情報から自社のものかどうかの判定を行う。この際、製品名に特定の表現を用いている場合、この表現を元として分類を行っても良い。例えば、例えばカラー・モノクロ機で「〜Ｃｏｌｏｒ〜」が入っているかどうかを判定条件に用いる等である。
【００３９】
次にドライバー本体がサポートする機種であるかどうかの条件を元に判定を行う（Ｓ７０３）。本状件はドライバーＵＩがサポートする機種名やドライバーＩＤ等の情報を元に対象とするデバイスかどうかを判定する。
【００４０】
上記対象とする機種であるかの判定を終えた後、対象とするデバイスのドライバー本体がドライバーＵＩに関連付けられるかの判定に移る。本判定のひとつとして、まずバージョン情報が合致するかの判定を行う（Ｓ７０４）。本判定では、バージョンの番号の一致だけでなく、マイナーバージョン以下が食い違っていたとしても一致として判断するといった判定や、前後１バージョンなら問題なしと判断するなど、少しの違いなら許容するといった条件の持たせ方を行っても良い。
【００４１】
最後にドライバー本体が関連付け可能な状態かの判定を行う（Ｓ７０５）。例えばドライバー本体がインストールされた状態であっても、ＯＳの「デバイスとプリンター」等にキューが生成されていない等、実際にポートが割り当てられていない場合は、ＯＳ上に存在していても使用可能で無い場合がある。また、不正ポートが割り当たっている場合も同様である。また、リモートデスクトップ接続時に生成されるリダイレクトプリンター等に対しては、ドライバーＵＩを割り当てなくとも詳細設定画面が起動するため、ドライバーＵＩの関連付けは行わない方が良いため、この場合も関連付けが不可能であるという判定とする。
【００４２】
これら全ての条件に合致した場合は、関連付けを行うのに適切な組み合わせであるという結果を返す（Ｓ７０６）。
【００４３】
以上の判定処理を行うことで、適切なドライバーの組み合わせかの判定を行う。
【００４４】
本実施例においては、これらの処理を行うことで、適切な組み合わせのドライバー本体とドライバーＵＩの関連付け定義の登録を行うことができる。
【実施例２】
【００４５】
実施例１においては、ドライバーＵＩが対応しているドライバー本体に関しては関連付けを行うことができた。ただ、デバイスのシリーズごとにパッケージを分けているような場合に関しては、シリーズごとのドライバーＵＩが別々に存在していることとなり、それらに対して逐一の関連付け処理を呼び出す作業が必要であった。例えば、ＰＣＬ版とＰＳ版のドライバーＵＩがあった場合、ＰＣＬ版のドライバーＵＩの関連付け処理を呼び出した後に、ＰＳ版のドライバーＵＩの関連付け処理も別途呼び出す必要があった。
【００４６】
本実施例においては、対象となっているドライバーＵＩと類似のドライバーＵＩを探索し、類似ドライバーがあった場合は、そのドライバーＵＩの関連付け処理も呼び出すことで、一括で全シリーズのドライバーＵＩの関連付け処理を行う。
【００４７】
図８のフローは本実施例の処理を示すフローである。基本的には実施例１の図６のＳ６０１〜Ｓ６０７の処理フローに処理対象のドライバーＵＩと類似のドライバーＵＩがあるかの探索処理Ｓ８０１、Ｓ８０２の追加を行うことで処理を実現する。
【００４８】
まず、実施例１のＳ６０７の処理が終了した際に、処理対象となっているドライバーＵＩと類似のドライバーＵＩが無いか探索を行う（Ｓ８０１）。ここでの探索方法は、例えば「プログラムの削除」において『「Ｏｆｆｉｃｅ  Ｌａｓｅｒ  Ｐｒｉｎｔｅｒ  〜」で始まる』といった先頭文字の一致で、類似のドライバーＵＩの検索を行う、あるいは正規表現に合致するものやレーベンシュタイン距離を用いた文字列の一致度を用いる等でも良い。あるいは、ドライバーＵＩが配置されているディレクトリと同階層か１階層上、または会社やプロジェクトで定めた特定の領域以下に配置されているか、等を元に探索する方法である。本処理に関して、構成が大幅に異なることが想定されている場合、予め管理テーブル等に探索方法や呼び出し方法を登録しておくといった方法を用いても構わない。
【００４９】
類似のドライバーＵＩが見つかった場合は、そのドライバーＵＩを処理の対象とし、Ｓ６０２〜Ｓ６０７の関連付け処理の呼び出しを行う（Ｓ８０２）。
【００５０】
以上の処理を行うことで、処理対象となっているドライバーＵＩと類似のドライバーＵＩに関しても一括で関連付け処理を行うことが可能となる。
【実施例３】
【００５１】
実施例１においては、ドライバーＵＩが対応しているドライバー本体に対してのみ関連付け処理を行っていた。しかし、ドライバー本体とドライバーＵＩを別々に配布した場合や、ＯＳに内蔵されているドライバー本体を用いる場合、ドライバー本体とドライバーＵＩのバージョンが食い違うことで、ドライバーＵＩが対応していない機種や機能をドライバー本体側が持つ場合がある。このようなケースでは、無理にドライバーＵＩの関連付けを行っても起動しなかったり、設定が反映されないなどの課題を引き起こす可能性がある。
【００５２】
そのため、本実施例では図９のように、機種やバージョンに依存しないドライバーＵＩを予め持たせておき、対応していない機種や機能をドライバー本体が持っていた場合は、図９のような機種非依存のドライバーＵＩの関連付けを行う。この機種非依存のドライバーＵＩであるが、図９では違いが分かりやすいように設定項目を絞ったものを例としているが、デバイスやバージョンの違いによる問題が発生しないのであれば、特に種類は問わない。例えば、機種やバージョンに依存しない設定や共通機能を持たせたものや、予め全機能を持たせておき、ＵＩを動的に切り替えるような構造のものでも構わない。
【００５３】
このように機種非依存のドライバーＵＩを用いることで、機種ごとに造りこまれた図５（Ａ）のようなドライバーＵＩには劣るものの、ある程度の使用感を保ったドライバーＵＩを提供することが可能となる。
【００５４】
図１０を用いて説明すると、実施例１の図６のフローのＳ６０５で、適切な組み合わせのドライバー本体とドライバーＵＩが見つからなかった場合に、図９の機種非依存のドライバーＵＩとドライバー本体との関連付けを行う（Ｓ１００１）。
【実施例４】
【００５５】
これまでの実施例では、ドライバーの関連付けが適切で無いケースが存在する。例えば、実施例１の手段で適切な組み合わせのドライバー本体とドライバーＵＩの関連付けを行ったとしても、ＯＳの更新機能などによりドライバー本体のみがアップグレードされることで、結果としてバージョンが食い違ってしまう場合がある。
【００５６】
このような場合、例えばユーザーが最新版のドライバーＵＩをダウンロードしてきた場合、関連付けを既存のものから最新のドライバーＵＩに付け替えてしまった方が適切と言える。また、実施例３で機種非依存のドライバーＵＩを関連付けたケースでも、ユーザーが最新版のドライバーＵＩを入手したことで、その機種に対応した正式なドライバーＵＩがあるのであれば、そちらに関連付けを付け替えた方が適切である。
【００５７】
そのため、ドライバーＵＩとドライバー本体の関連付けが正しいかどうかの判定を行い、関連付けの更新を行う処理に関して図１１のフローを用いて説明する。
【００５８】
まず、最初にインストール済みのドライバー本体の取得を行う（Ｓ１１０１）。本処理は基本的にＳ６０２の処理と同様である。
【００５９】
次に取得したドライバー本体が設定可能なドライバーＵＩと関連付いているかの判定を行う（Ｓ１１０２）。具体的には、ドライバーＵＩとドライバー本体のバージョンを比較し、一致しない場合、あるいは一定以上のバージョンの開きがある場合に適切でないという判断とする。この他に、プログラム的にドライバー本体とドライバーＵＩの能力を動的に取得し、比較することで、適切かを判定する方法や、プログラムの起動処理を走らせてみて、実際にドライバーＵＩが起動するかどうかを判定の条件としても良い。
【００６０】
Ｓ１１０２の条件で起動には差し支えないと判定された場合でも、機種非依存のドライバーＵＩが関連付いていた場合も、機種依存版の正式なドライバーＵＩがあるのなら、関連付けを更新したほうが良いため、適切でないという判定とし、Ｓ１１０４のステップに遷移する（Ｓ１１０３）。
【００６１】
そこから、Ｓ６０１やＳ８０２の処理と同様、処理対象となるドライバーＵＩを取得する（Ｓ１１０４）。
【００６２】
次に、処理対象のドライバー本体がドライバーＵＩと適切な組み合わせであるかの判定であるが、Ｓ６０４の処理と同様であるため、割愛する（Ｓ１１０５）。
【００６３】
Ｓ１１０５の処理の結果、ドライバー本体とドライバーＵＩが適切な組み合わせであるとされた場合は、Ｓ１１０７の処理に遷移する（Ｓ１１０６）。
【００６４】
判定の結果、より適切なドライバー本体とドライバーＵＩの組み合わせであるとなった場合は、対象となっている組み合わせでドライバー拡張関連付け定義２０１０１の関連付け内容を更新する（Ｓ１１０７）。
【００６５】
適切な組み合わせで無かった場合は、Ｓ１１０４に移動し、次の未処理のドライバーＵＩを取得する（Ｓ１１０８）。
【００６６】
最後に、未処理のドライバー本体が残っている場合は、Ｓ１１０１のステップに移動し、  次のドライバー本体の更新判定に移る（Ｓ１１０９）。
【００６７】
以上の処理を行うことで、ドライバーＵＩとドライバー本体の関連付けが正しいかどうかの判定と、関連付けの更新処理を実施することができる。
【符号の説明】
【００６８】
１０１  クライアントコンピュータ、２０１  ＣＰＵ、２０２  ＲＡＭ
【図１】
2019128857.tif 000003
【図２】
2019128857.tif 000004
【図３】
2019128857.tif 000005
【図４】
2019128857.tif 000006
【図５（Ａ）】
2019128857.tif 000007
【図５（Ｂ）】
2019128857.tif 000008
【図６】
2019128857.tif 000009
【図７】
2019128857.tif 000010
【図８】
2019128857.tif 000011
【図９】
2019128857.tif 000012
【図１０】
2019128857.tif 000013
【図１１】
2019128857.tif 000014