図面 (/)

技術 自動化されたデバイスドライバの管理

出願人 マイクロソフトコーポレーション
発明者 ブレットディー.エー.フレッグアンソニーバロンダニエルエヌ.ジェイ.ドリュー
出願日 2006年9月26日 (15年0ヶ月経過) 出願番号 2008-538885
公開日 2009年4月2日 (12年6ヶ月経過) 公開番号 2009-514121
状態 特許登録済
技術分野 入出力制御
主要キーワード オフラインコンピュータ 再イメージング ターゲットコンピュータシステム 同一モデル マッチング要求 マシンモデル ドライバパッケージ イントール
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2009年4月2日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (6)

課題・解決手段

ドライバインポートし、管理し、展開する技術が提供されている。あるマシン再イメージングされるとき、そのマシン上のプロセスは、そのマシン上のハードウェアデバイススキャンし、スキャンした各々のハードウェアデバイスに対するハードウェアデバイスIDおよび互換性のあるハードウェアデバイスIDのリストを生成する。その後、プロセスは、ハードウェアと互換性のあるデバイスドライバおよび互換性のあるハードウェアデバイスIDに対応するデバイスドライバパッケージIDに対する要求を作成し、その要求を管理サーバに送信する。プロセスは、その要求に応答して互換性のあるデバイスドライバパッケージIDのリストを受け取り、該当するコンテンツサーバからデバイスドライバファイルアクセスする。

概要

背景

概要

ドライバインポートし、管理し、展開する技術が提供されている。あるマシン再イメージングされるとき、そのマシン上のプロセスは、そのマシン上のハードウェアデバイススキャンし、スキャンした各々のハードウェアデバイスに対するハードウェアデバイスIDおよび互換性のあるハードウェアデバイスIDのリストを生成する。その後、プロセスは、ハードウェアと互換性のあるデバイスドライバおよび互換性のあるハードウェアデバイスIDに対応するデバイスドライバパッケージIDに対する要求を作成し、その要求を管理サーバに送信する。プロセスは、その要求に応答して互換性のあるデバイスドライバパッケージIDのリストを受け取り、該当するコンテンツサーバからデバイスドライバファイルアクセスする。

目的

例えば、このツールは、ドライバパッケージディスクディレクトリコンパクトディスク(CD)などの製造業者のドライバパッケージを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

コンピュータシステムにおいてデバイスドライバを追加する方法であって、プリインストール環境を前記コンピュータシステム上に作成するように動作可能である最低限のオペレーティングシステムを、前記コンピュータシステム上にインストールするステップと、前記プリインストール環境を前記コンピュータシステム上に作成するステップと、前記プリインストール環境内において、前記コンピュータシステム上のハードウェアコンポーネントスキャンするステップと(502)、前記スキャンしたハードウェアコンポーネントについてのハードウェアデバイスIDのリストを生成するステップと(504)、前記ハードウェアデバイスIDのリスト内の前記ハードウェアデバイスIDと互換性のあるデバイスドライバパッケージのリストを取得するステップと(506)、前記デバイスドライバパッケージ内の前記デバイスドライバの使用を考慮するように、前記コンピュータシステム上のオフラインオペレーティングシステムを構成するステップと(510)を備えたことを特徴とする方法。

請求項2

前記互換性のあるデバイスドライバIDのリストは、リモートサーバから取得されることを特徴とする請求項1に記載の方法。

請求項3

前記デバイスドライバパッケージは、コンテンツサーバから取得されることを特徴とする請求項1に記載の方法。

請求項4

前記ハードウェアデバイスIDのリストは、互換性のあるハードウェアデバイスIDを含んでいる(504)ことを特徴とする請求項1に記載の方法。

請求項5

前記プリインストール環境内において、前記取得したデバイスドライバパッケージがブートクリティカルドライバに対するものであるかどうかを判定するステップと、前記取得したデバイスドライバパッケージがブートクリティカルなドライバに対するものであると判定した上で、前記ブートクリティカルなドライバを前記オフラインコンピュータステム上にインストールするステップとをさらに備えたことを特徴とする請求項1に記載の方法。

請求項6

前記ハードウェアデバイスIDのリストは、ランク付けされていることを特徴とする請求項1に記載の方法。

請求項7

前記オフラインオペレーティングシステムは、プラグアンドプレイプロセスにおいて前記デバイスドライバの使用を考慮するように構成されていることを特徴とする請求項1に記載の方法。

請求項8

前記デバイスドライバパッケージの少なくとも1つは、WINDOWS(登録商標ドライバパッケージであることを特徴とする請求項1に記載の方法。

請求項9

前記最低限のオペレーティングシステムは、ネットワーク上にインストールされることを特徴とする請求項1に記載の方法。

請求項10

コンピュータシステムにおいてデバイスドライバをドライバカタログに追加する方法であって、デバイスドライバに対する製造業者のデバイスドライバパッケージを受け取るステップと(202)、前記デバイスドライバパッケージで提供されたインストール命令解析して、前記デバイスドライバパッケージに関連付けられたメタデータを判定するステップと(204)、前記デバイスドライバパッケージに関連付けるための任意の追加のメタデータを取得するステップと(206)、前記デバイスドライバパッケージに関連付けられたメタデータをドライバカタログに保存するステップと(210)、前記デバイスドライバパッケージを少なくとも1つのコンテンツサーバに割り当てるステップと(212)を備えたことを特徴とする方法。

請求項11

前記デバイスドライバパッケージは、WINDOWS(登録商標)ドライバパッケージであることを特徴とする請求項10に記載の方法。

請求項12

前記メタデータおよび前記追加のメタデータは、前記デバイスドライバパッケージをターゲットマシンダウンロードすべきかどうかを判定するために使用されることを特徴とする請求項10に記載の方法。

請求項13

前記追加のメタデータはアドミニストレータから取得されることを特徴とする請求項10に記載の方法。

請求項14

前記追加のメタデータは、前記デバイスドライバパッケージに適切なターゲットマシン製造業者に指示を含むことを特徴とする請求項10に記載の方法。

請求項15

前記追加のメタデータは、前記デバイスドライバパッケージに適切なターゲットマシンモデルの指示を含むことを特徴とする請求項10に記載の方法。

請求項16

コンピュータシステムにおいてハードウェアデバイスIDと互換性のあるデバイスドライバパッケージIDを提供する方法であって、ハードウェアデバイスIDのリスト内のハードウェアデバイスIDと互換性のあるデバイスドライバパッケージに対する要求を受け取るステップであって、前記要求はターゲットマシンの記述を含むステップと(402)、前記ハードウェアデバイスIDの前記リスト内の各々のハードウェアデバイスIDについて(404)、前記ハードウェアデバイスIDと互換性のあるデバイスドライバパッケージを取得するステップと(406)、前記取得したデバイスドライバパッケージに対応するデバイスドライバパッケージIDを互換性のあるデバイスドライバパッケージIDのリストに追加するステップと(408)、前記互換性のあるデバイスドライバパッケージIDのリストを、前記要求に対する応答として提供するステップと(412)を備えたことを特徴とする方法。

請求項17

前記互換性のあるデバイスドライバIDのリストはランク付けされていることを特徴とする請求項16に記載の方法。

請求項18

前記デバイスドライバIDはデータベースクエリすることによって取得されることを特徴とする請求項16に記載の方法。

請求項19

前記前記データベースはドライバカタログであることを特徴とする請求項18に記載の方法。

請求項20

前記データベースは、デバイスドライバIDに対応するデバイスドライバパッケージに関連付けられたメタデータを備えたことを特徴とする請求項18に記載の方法。

技術分野

0001

ある組織パーソナルコンピュータワークステーションサーバクライアントなどのように、数千といわなくても、数百のマシン所有していることはめずらしいことではない。これらのマシンの一部は同じであること(つまり、同一製造業者からの同じコンピュータモデルであること)があるが、マシンの多くが異なっていること(つまり、多数の異なる製造業者からの異なるコンピュータモデルであること)はめずらしいことではない。さらに、同一モデルのマシン(つまり、同一モデルラインに属するマシン)は、ハードウェアおよびハードウェア構成差異のために異なるかもしれない。

0002

一般的に、マシンのビデオカードサウンドカードキーボードマウスなどの、ハードウェアコンポーネントアクセスして使用するには、デバイスドライバが必要である。例えば、マシン内に収められたビデオカードを使用するには、ビデオドライバが通常、必要となる。デバイスドライバは、マシン上で実行されているオペレーティングシステムおよび他のソフトウェアプログラムがマシンのハードウェアコンポーネントと通信して利用できるようにする。従って、異なるマシンのそれぞれについて(つまり、異なるハードウェア構成を有するマシン)、異なるセットのデバイスドライバが必要になることになる。

発明が解決しようとする課題

0003

異なるデバイスドライバまたは異なるセットのデバイスドライバを管理し、組織内の非常に多数のマシン上に展開することは大きな課題でとなっている。システムアドミニストレータは、組織内のマシンによって必要とされる可能性のあるシングルデバイスドライバのすべてを収めたモノリシックイメージ(monolithic image)を作成するのが一般である。その後、モノリシックイメージは、組織内のすべてのマシンに展開され、モノリシックイメージ内ドライバのどれをマシン上にロードする必要があるかを判定するタスクは、各マシン上のオペレーティングシステムの負荷となっている。新しいデバイスドライバを必要とする新しいマシンが追加されたときは、その新しいデバイスドライバを含むようにモノリシックイメージを作り直す必要がある。上記のようにモノリシックイメージを使用してデバイスドライバを管理し、展開する処理は非常に時間を消費し、コストがかかる。

課題を解決するための手段

0004

ドライバをインポートし、管理し、展開するための技術が提供されている。あるマシンが再イメージングされるとき、そのマシン上のプロセスは、マシン上のハードウェアデバイススキャンし、スキャンしたハードウェアデバイスごとにハードウェアデバイスIDおよび互換性のあるハードウェアデバイスIDのリストを生成する。次に、プロセスは、ハードウェアと互換性のあるデバイスドライバおよび互換性のあるハードウェアデバイスIDに対応するデバイスドライバパッケージIDに対する要求を形成し、この要求を管理サーバに送信する。プロセスは、この要求に対する応答として互換性のあるデバイスドライバパッケージIDのリストを受け取り、該当するコンテンツサーバからデバイスドライバファイルにアクセスする。

0005

ここでの概要は、以下の詳細に説明されたでの簡単な形態における概念の選択を紹介するために提供される。ここでの概要は、特許請求された対象の重要な特徴または基本的特徴を特定することを意図せず、また特許請求された対象の範囲を決定する一助として使用されることも意図しない。

発明を実施するための最良の形態

0006

以下には、デバイスドライバなどのドライバをインポートし、管理し、展開するための種々の技術が開示されている。いくつかの実施形態では、システムアドミニストレータは、ターゲットコンピュータシステム(以下では、「マシン」とも呼ばれる)上のイメージ展開の中で考慮に入れられるデバイスドライバを含んでいるデバイスカタログにデバイスドライバをインポートする。管理サーバなどのサーバには、例えば、システムアドミニストレータのコンソールからアクセス可能で、WINDOWS(登録商標)デバイスドライバパッケージなどのドライバ製造業者のデバイスドライバパッケージをドライバカタログにインポートして、操作するために使用できるUI(user interface :ユーザインタフェース)が用意されていることがある。例えば、新しいデバイスドライバを必要とするマシンが購入されたときや、新バージョンのデバイスドライバがリリースされたとき、アドミニストレータはUIを使用してデバイスドライバをドライバカタログにインポートすることができるので、インポートされたデバイスドライバは、オペレーティングシステム(OS)の展開タスクのように、ドライバカタログを利用する将来のイメージ展開タスクで考慮されることになる。いくつかの実施形態では、ドライバカタログには、API(application program interface :アプリケーションプログラムインタフェース)のように、サードパーティのツール(例えば、サードパーティのデバイスドライバプロバイダ)がデバイスドライバをドライバカタログにインポートするのを可能にするインタフェースが用意されていることがある。

0007

いくつかの実施形態では、管理サーバには、WINDOWS(登録商標) Import Driver Wizardなどの、ドライバをドライバカタログに追加する処理を介して、アドミニストレータなどのユーザにガイドするツールが用意されていることがある。例えば、このツールは、ドライバパッケージディスクディレクトリコンパクトディスク(CD)などの製造業者のドライバパッケージを提供するようにアドミニストレータに指示することがある。このツールは、製造業者のドライバパッケージで提供されたインストール命令解析して、そのドライバパッケージに関連付けられたメタデータを判定する。WINDOWS(登録商標) Import Driver Wizardの場合には、このツールは関連の情報(.inf)ファイルを解析して、WINDOWS(登録商標) Import Driver Wizardに関連付けられたメタデータを判定することができる。このツールによると、アドミニストレータは、ドライバパッケージに関連付けようとする追加のメタデータを用意することができる。このツールは、ドライバパッケージに関連付けられたメタデータをドライバカタログに保存する。このツールは、製造業者のドライバパッケージに関連付けられたドライバファイルをドライバカタログのドライバパッケージ内にカプセル化し、そのドライバカタログのドライバパッケージを1または2以上のコンテンツサーバに割り当てる。

0008

いくつかの実施形態では、管理サーバはドライバマッチング要求に応答する。例えば、ターゲットマシンは、ハードウェアIDのリストと互換性のあるドライバIDの要求を管理サーバに送ることができる。この要求には、ターゲットマシンの記述および見つけようとするドライバIDに対応するハードウェアデバイスIDが含まれている。これを受けて、管理サーバは、ドライバカタログなどのデータベースクエリして、指示されたハードウェアデバイスIDと互換性のあるドライバをそのデータベースから判定することができる。ハードウェアデバイスIDのほかに、管理サーバは、ターゲットマシンの製造業者、モデル、OS、プロセッサアーキテクチャなどの要素を使用してデータベースをクエリし、互換性のあるドライバのセットを判定することができる。その後、管理サーバは、ハードウェアデバイスIDと互換性のあるドライバに対応するドライバIDを判定し、ターゲットマシンに対する応答として互換性のあるドライバパッケージIDのリストを返す。ドライバパッケージIDは、ドライバカタログ内のドライバカタログドライバパッケージ(例えば、ドライバメタデータとソース)を一意識別している。いくつかの実施形態では、管理サーバは、指示されたハードウェアデバイスIDと互換性のあるドライバをランク付けし、ランク付けした互換性のあるドライバパッケージIDのリストを提供する。

0009

いくつかの実施形態では、最低限のOSを実行しているターゲットマシンは管理サーバのサービスを使用して、デバイスドライバをターゲットマシンに追加する。例えば、最低限のOSは、ターゲットマシン上でOS展開タスク(OS deployment task)期間に実行されることがあり、最低限のOSが実行されると、ターゲットマシンがプリインスール環境またはプリインスール状態に置かれるか、あるいはプリインスール環境またはプリインスール状態がターゲットマシン上に作成されることになる。このプリインスール環境が存在するのは、イメージ(例えば、最低限のOSイメージ)がターゲットマシンに適用されていたときで、ターゲットマシンがリブート(reboot)されて完全OSになる前である。いくつかの実施形態では、プリイントール環境にある間、ターゲットマシン上のソフトウェア機能(以下「機能」と言う)は、マシン上にあるハードウェアデバイスをスキャンし、スキャンしたハードウェアデバイスのハードウェアIDのリストを生成する。その後、この機能はハードウェアIDのリスト内のハードウェアIDと互換性のあるドライバパッケージIDのリストを取得する。例えば、この機能は、ハードウェアIDのリスト内のハードウェアIDと互換性のあるドライバパッケージに対する要求を作成して管理サーバに送信し、互換性のあるドライバパッケージIDのリストを管理サーバから受け取ることができる。いくつかの実施形態では、この機能は、ターゲットマシン上のオフラインOSを、ドライバパッケージ内のドライバの使用を考慮に入れるように構成することができる。例えば、このオフラインOSは、そのプラグアンドプレイパス(plug-and-play pass)の中でドライバを考慮するように構成することができる。いくつかの実施形態では、ドライバカタログ機能(デバイスドライバをターゲットマシンに追加する管理サーバの機能)は、新しいOSのインスール(例えば、与えられたデバイスドライバのセットを使用するようにオペレーティングシステムのスクリプトによるインストールを構成する)時にドライバを利用可能にするために使用することができる。

0010

いくつかの実施形態では、この機能は、スキャンしたハードウェアデバイスの互換性のあるハードウェアIDも取得し、その中には、ハードウェアIDのリスト内の互換性のあるハードウェアIDが含まれている。従って、互換性のあるドライバIDのリストには、互換性のあるハードウェアIDと互換性のあるドライバIDも含まれている。いくつかの実施形態では、この機能は、取得したドライバパッケージが「ブートクリティカルなドライバ(boot critical driver)」についてのものであるかをチェックして判定する。そうであれば、この機能はそのブートクリティカルなドライバをターゲットマシン上にインストールする。いくつかの実施形態では、この機能はハードウェアIDのリスト内のハードウェアIDをランク付けする。

0011

これらの種々の技術を使用すると、ターゲットマシンは必要とするドライバ(例えば、ターゲットマシン上にあるハードウェアデバイスと互換性のあるドライバ)だけを取得すること(例えば、ダウンロードすること)ができるので、必要とするネットワークバンド幅節減され、イメージ展開プロセスが高速化されることになる。

0012

ある実施形態では、ここで説明しているドライバをインポートし、管理し、展開するための種々な技術は、本願特許出願人のSMS(System Management Server :システム管理サーバ)などの、ソフトウェア配布システムの一部として実現することができる。SMSには、WINDOWS(登録商標)ベースコンピュータシステムの大きなグループを管理するためのアーキテクチャが用意されている。SMSによると、アドミニストレータは、ネットワーク上のマシンを管理し、中心となる場所からソフトウェアをこれらのマシンに配布し、ネットワーク上のマシンを検出し、ソフトウェア構成とハードウェア構成をトラッキングし、マシン上の他のタスクを離れた場所から実行することができる。

0013

SMSアーキテクチャおよびSMS環境では、ここで説明しているドライバをインポートし、管理し、展開する技術の実現を可能にする適当なパラダイムが1つだけ構成されている。種々の周知ソフトウェア構成およびリリース管理システムのいずれかに用意されている他のパラダイムを利用すると、ここに説明しているデバイスをインポートし、管理し、展開する技術を実現することも可能であることを当業者は理解されたい。

0014

図1は、ドライバをインポートし、管理し、展開する技術を実装するドライバ管理システムが動作することのできる例示環境を示すハイレベルブロック図である。この動作環境は適当な動作環境の単なる一例であり、ドライバ管理システムの使用または機能の範囲に関してなんらの制限があることを示唆するものではない。図示のように、この環境は、ターゲットマシン102、管理サーバ104、および各々がネットワーク108に結合された複数のコンテンツサーバ106a−nを含んでいる。管理サーバはドライバカタログ110にも結合されている。図1には、単純化のためターゲットマシンは1つだけが示されているが、2つ以上のターゲットマシンが存在することも可能である。本明細書には、「接続(connected)」、「結合(coupled)」という用語またはその変形が用いられているが、これは、2またはそれ以上の要素間が直接的にも、間接的にも接続または結合されていることを意味し、要素間の結合または接続は、物理的にも、論理的にも、それらを組み合わせたものでもあることができることを、当業者は理解されたい。

0015

例えば、ある会社が新しいデバイスドライバを必要とするマシンまたは周辺デバイスを購入したときのように、新しいデバイスドライバを取得したときは、アドミニストレータは、インポートドライバウィザード(Import Driver Wizard)などの管理サーバに用意されているツールを起動して、そのデバイスドライバをドライバカタログに追加する。この処理の一部として、アドミニストレータは、追加されたデバイスドライバに関連付けようとする追加のメタデータを用意することができる。その後、管理サーバは、提供されたデバイスドライバおよびそのデバイスドライバに関連付けられたメタデータ(この中には、アドミニストレータが用意した追加のメタデータがあれば、それも含まれている)からデバイスドライバパッケージを作成し、そのデバイスドライバパッケージをドライバカタログに追加する。管理サーバは、新しく追加されたデバイスドライバパッケージを1または2以上のコンテンツサーバに配布する。SMSのコンテキスト内では、コンテンツサーバはコンテンツサーバを提供し、コンテンツサーバは地理的に分散された共有ファイル役割を果たし、個々のマシンがデバイスドライバパッケージを取得できる。ドライバカタログ内のデバイスドライバパッケージはその後、ターゲットマシン上の将来のOS展開タスクで考慮に入れられる。例えば、ターゲットマシンが再イメージングされるとき(例えば、ブートイメージがターゲットマシン上で再イメージングされるとき(再インストールされるともいう))は、ターゲットマシン上で実行されているこの機能は、ターゲットマシンがプリイントール状態にある間、ターゲットマシン上のハードウェアデバイスをスキャンし、各ハードウェアデバイスのハードウェアIDおよび互換性のあるハードウェアIDのリストを取得する。その後、この機能はドライバカタログ要求を形成し、その要求を管理サーバに送信する。その要求をターゲットマシンから受け取ると、管理サーバはドライバカタログをクエリして、ドライバカタログ内に利用可能な互換性のあるハードウェアドライバパッケージIDのセットを判定する。管理サーバはその後、その互換性のあるハードウェアドライバパッケージIDのセットを、ターゲットマシンに対する応答として返す。いくつかの実施形態では、管理サーバは、ターゲットマシンに戻された互換性のあるドライバパッケージIDのセットをランク付けすることがある。例えば、互換性のあるドライバパッケージIDは、MICROSOFT社の標準プラグアンドプレイマッチングアルゴリズムを用いてランク付けされることがあるが、これは、当業者に周知である。この機能は互換性のあるハードウェアドライバIDのセットを受け取り、ハードウェアドライバIDに対応するデバイスドライバパッケージをそれぞれのコンテンツサーバから取得する。取得したデバイスドライバパッケージが大容量ストレージに対するものであれば、この機能はドライバをターゲットマシン上にインストールする。そうでない場合は、この機能は取得したデバイスドライバパッケージを、例えば、ターゲットマシンのデバイスドライバストアコピーし、ターゲットマシン上のオフラインOSを、そのデバイスドライバパッケージに対応するデバイスドライバを考慮に入れるように構成する。この機能は、対応するデバイスドライバパッケージが取得されなかったハードウェアドライバIDがあると、警告(例えば、警告メッセージ)をログに記録することがある。

0016

いくつかの実施形態では、この機能はターゲットマシンのローカルデバイスドライバストアをクエリして、ターゲットマシン上の互換性のあるデバイスのランク付け順序を判定することもある。その後、この機能は、管理サーバから受け取られた応答とターゲットマシンのローカルデバイスドライバストアをマージして、最良適合(best match)の(すなわち、最も適切な)デバイスドライバを選択することができる。例えば、この機能は、ローカルマシンのドライバキャッシュ内のすべてのデバイスドライバを列挙し、各デバイスドライバのドライバランク(例えば、0x0000から0xFFFFまでの数)を計算することができる。この機能はその後、ローカルドライバキャッシュ内の最も高くランク付けされたデバイスドライバを、ドライバカタログ内の最も高くランク付けされたデバイスドライバと比較して、そのうちのランク付けが低いほうを選択することができる。同じランクのときは、この機能は、バージョン番号が高いほうのデバイスドライバを選択することができる。

0017

一般的に、ネットワークは、例えば、接続されたターゲットマシン、管理サーバおよびコンテンツサーバの間で電子コンテンツ転送を容易にする通信リンクである。いくつかの実施形態では、ネットワークにはインターネットが含まれている。ネットワークは、ローカルエリアネットワークワイドエリアネットワークポイントツーポイントダイアルアップ接続などのように、1または2以上の他のタイプのネットワークで構成できることを理解されたい。

0018

ターゲットマシン、管理サーバおよびコンテンツサーバを含むドライバ管理システムが実現されているコンピューティングデバイスは、CPU、メモリ入力デバイス(例えば、キーボードおよびポインティングデバイス)、出力デバイス(例えば、ディスプレイデバイス)、およびストレージデバイス(例えば、ディスクドライブ)を備えていることがある。メモリとストレージデバイスは、ドライバ管理システムを実現する命令を収めているコンピュータ可読記憶媒体である。さらに、データ構造メッセージ構造は、通信リンク上の信号などのデータ伝送媒体を通して、格納またはあるいは伝送できる。種々の通信リンクが使用されることがあり、その中には、インターネット、ローカルエリアネットワーク、ワイドエリアネットワーク、ポイントツーポイントダイアルアップの接続、セル電話ネットワークなどが含まれる。

0019

システムの実施形態は、パーソナルコンピュータ、サーバコンピュータハンドヘルドまたはラップトップデバイス、マルチプロセッサシステムマイクロプロセッサベースのシステム、プログラマブル家電デジタルカメラ、ネットワークPC、ミニコンピュータメインフレームコンピュータ、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境などを含む、種々の動作環境で実現することができる。コンピュータシステムは、セル電話、パーソナルデジタルアシスタントスマート電話、パーソナルコンピュータ、プログラマブル家電、デジタルカメラなどであることができる。

0020

システムは、プログラムモジュールのように、1または2以上のコンピュータまたは他のデバイスによって実行されるコンピュータ実行可能命令の一般的コンテキストの中で説明することができる。一般的に、プログラムモジュールの中には、特定のタスクを実行し、あるいは特定の抽象データ型を実現するルーチンプログラムオブジェクトコンポーネント、データ構造などが含まれている。代表例として、プログラムモジュールの機能は、種々の実施形態において必要に応じて組み合わせることも、分散させることもできる。

0021

図2は、いくつかの実施形態に従ってデバイスドライバをドライバカタログに追加することを示すフロー図である。例を挙げると、ある組織は、ハードウェアデバイスに対する新バージョンまたはリリースのデバイスドライバのデバイスドライバパッケージを、製造業者(例えば、ハードウェアデバイスの製造業者および/またはデバイスドライバの開発者)から受け取ることがある。この新バージョンのデバイスドライバが、組織のマシン上の将来のOS展開の中で考慮に入れられるようにするために、組織のアドミニストレータは、管理サーバを利用してデバイスドライバパッケージをドライバカタログに追加またはインポートすることができる。ブロック202において、管理サーバは製造業者のデバイスドライバパッケージを受け取る。ブロック204において、管理サーバはそのデバイスドライバパッケージと共に提供されたインストール命令を解析し、デバイスドライバに関連付けられたメタデータを判定する。ブロック206において、管理サーバは、デバイスドライバに関連付けられる追加のメタデータがあれば、それを取得する。例えば、管理サーバは、そこを通してアドミニストレータが追加のメタデータを提供し、および/またはデバイスドライバに関連付けられたメタデータを編集することができるUIを備えていることがある。ブロック208において、管理サーバは、メタデータ(すなわち、インストール命令から解析されたメタデータ(ブロック204))およびアドミニストレータが用意した追加のメタデータがあれば(ブロック206)、そのメタデータを保存する。ブロック210において、管理サーバは、デバイスドライバファイルをドライバカタログのデバイスドライバパッケージにカプセル化する。デバイスドライバファイルは、製造業者のデバイスドライバパッケージの一部として受け取られたファイルである。管理システムは、ドライバカタログのデバイスドライバパッケージをドライバカタログまたは他の適当なストレージデバイスに格納することもある。ブロック212において、管理サーバは、将来のターゲットマシンへの展開に備えて、ドライバカタログのデバイスドライバパッケージをコンテンツサーバまたは複数のコンテンツサーバにコピーしておく。

0022

ここで開示されている上記および他のプロセスおよび方法について、その処理および方法の中で実行される機能は異なる順序で実現されることがあることを、当業者は理解されたい。さらに、概説した段階は単なる例示であり、これらの段階の一部は、オプションにすることも、より少数の段階と結合することも、追加の段階に拡張することもできる。

0023

図3は、いくつかの実施形態に従ってドライバカタログのデバイスドライバパッケージに関連付けられたメタデータを示すブロック図である。ドライバカタログのデバイスドライバパッケージのメタデータ302は、デバイスドライバパッケージのメタデータ304および追加のデバイスドライバメタデータ306を組み合わせたものから作成される。このデバイスドライバパッケージのメタデータは、例えば、ブロック204に関連して上述したように、そのデバイスドライバパッケージと共に提供されたインストール命令から解析されたメタデータである。図示のように、このメタデータには、例を挙げると、適用されるデバイスドライバの対象となるハードウェアデバイスの製造業者、デバイスドライバのプロバイダ(例えば、デバイスドライバの開発者)、デバイスドライバのクラス(例えば、SCSIデバイスドライバ、ビデオデバイスドライバなど)、デバイスドライバの記述、デバイスドライバによってサポートされるオペレーティングシステム、デバイスドライバと互換性のあるハードウェアデバイスのハードウェアデバイスID、およびデバイスドライバとも互換性のある互換性のあるハードウェアデバイスの互換性のあるハードウェアIDが含まれていることもある。追加のデバイスドライバメタデータは、例えば、ブロック206に関連して上述したように、デバイスドライバパッケージに関連付けられる追加のメタデータである。図示のように、追加のメタデータには、例を挙げると、マシン製造業者のリストおよびマシンモデルのリストが含まれていることがある。マシン製造業者のリストには、適用されるデバイスドライバパッケージの対象となる、0、1または2以上のマシン製造業者を含めることができる。マシンモデルのリストには、適用されるデバイスドライバパッケージの対象となる、0、1または2以上のマシンモデルを含めることができる。その後、このドライバカタログのデバイスドライバパッケージのメタデータは、特定のドライバカタログのデバイスドライバパッケージがターゲットマシン上に展開(例えば、インストール)するのに適したものかどうかを判定するために使用されることもある。例えば、アドミニストレータは、XYZ社からのビデオカードABCに対するデバイスドライバKLMがACME社製のマシン上に展開するのに適していると指示していることがある。この場合、ACMEはマシン製造業者のリストに含まれている。その後、ビデオカードABCと共に構成されたACMEマシンが互換性のあるデバイスドライバIDのリストを要求したときは、管理サーバはその応答の中にデバイスドライバKLMを含めることになる。他方、ACME製ではないが、ビデオカードABCと共に構成されたマシンが互換性のあるデバイスドライバIDのリストを要求したときは、管理サーバは、たとえデバイスドライバKLMがビデオカードABCと互換性がある場合であっても、その要求したマシンがACME製でなかったので、デバイスドライバKLMをその応答の中に含めない。従って、追加のメタデータが存在するときは、その追加のメタデータは、デバイスドライバパッケージをターゲットマシン上に展開すべきかどうかを判定する際に、製造業者から受け取ったデバイスドライバパッケージで提供されたメタデータに対して一種の「指定変更(オーバライド)」の形式の役割をすることができる。

0024

図4は、いくつかの実施形態に従ってドライバパッケージIDのリストに対する要求を受け取る管理サーバのコンポーネントの処理を示すフロー図である。例を挙げると、ターゲットマシンは、必要とする互換性のあるデバイスドライバに対応するハードウェアデバイスのリストを判定していることがある。ターゲットマシンはその後、これらのハードウェアデバイスのハードウェアデバイスIDのリストを作成し、ハードウェアデバイスIDのリストの中で特定されたハードウェアデバイスと互換性のあるデバイスドライバパッケージに対する要求を管理サーバに送信するかもしれない。ブロック402において、管理サーバは、ターゲットマシン上のハードウェアデバイスのハードウェアデバイスIDのリストと互換性のあるデバイスドライバパッケージIDに対する要求を受け取る。いくつかの実施形態では、この要求には、ターゲットマシンのタイプの指示(例えば、ターゲットマシンの製造業者、ターゲットマシンのモデルなど)、ターゲットマシン上のOS、ターゲットマシン上のプロセッサアーキテクチャなどが含まれていることもある。その後、ハードウェアデバイスIDのリスト内のハードウェアデバイスIDごとに(ブロック404)、管理サーバは、そのリスト内のすべてのハードウェアデバイスIDが処理されるまで(ブロック410)、ブロック406−410を実行する。ブロック406において、管理サーバは、ハードウェアデバイスIDをサポートする、または互換性のあるデバイスドライバパッケージを得るためにドライバカタログをクエリする。例えば、管理サーバは、デバイスドライバが互換性があるかどうかを、そのデバイスドライバのドライバカタログのデバイスドライバパッケージに関連付けられたメタデータから判定することができる。ブロック408において、管理サーバは互換性のあるデバイスドライバパッケージを、互換性のあるデバイスドライバパッケージのリストに追加する。例えば、管理サーバは、互換性のあるデバイスドライバパッケージに対応するデバイスドライバパッケージIDを互換性のあるデバイスドライバパッケージIDのリストに追加することができる。リスト内のすべてのハードウェアデバイスドライバIDを処理した後、管理サーバは、ブロック412において、例えば、ターゲットマシンに対する要求に応答して互換性のあるデバイスドライバパッケージIDのリストを返す。

0025

図5は、プリインストール環境においてデバイスドライバパッケージをダウンロードするターゲットマシンの処理を示すフロー図である。例を挙げると、この機能のようなクライアントプロセスは、OSイメージがターゲットマシンに適用されたあとで、ターゲットマシンが「ミニセットアップ(mini setup)」にリブートされる前にOS展開タスクを実行しているかもしれない。この状態にあるとき、ターゲットマシンはプリインストール環境に置かれている。このプリインストール環境では、MICROSOFT社のWinPE(商標)などの最低限のOSまたはOSのサブセットが、ターゲットマシンのハードディスクにインストールされ、ターゲットマシンをプリインストール環境に置くようにリブートされている。最低限のOSは、例を挙げると、CD−ROMRAMディスク、PXEなどのメカニズムを通して提供されることがある。周知であるように、ミニセットアップが実行されると、OSイメージに対応するOSが初期化されて始動され、以前に保存されていたマシン設定状態があれば、その設定状態はターゲットマシン上に再格納される。このプリインストール環境は、この分野の通常の知識を有するものに広く知られている。

0026

ブロック502において、ターゲットマシン上で実行されているこの機能は、ターゲットマシン上にあるハードウェアコンポーネントを判定するためにターゲットマシンをスキャンする。ブロック504において、この機能は、スキャンしたハードウェアコンポーネントに対するハードウェアデバイスIDおよび互換性のあるハードウェアデバイスIDのリストを生成する。ブロック506において、この機能は、ハードウェアデバイスIDおよび互換性のあるハードウェアデバイスIDのリストと互換性のあるデバイスドライバパッケージIDのリストを、管理サーバから取得する。その後、デバイスドライバパッケージIDのリスト内のデバイスドライバパッケージごとに(ブロック508)、この機能は、リスト内のすべてのデバイスドライバパッケージIDが処理されるまで(ブロック512)ブロック510を実行する。ブロック510において、この機能はドライバカタログのデバイスドライバパッケージを、マシン上のオフラインOSが使用できるようにする。例えば、この機能はマシン上のオフラインOSを、ドライバカタログのデバイスドライバパッケージに対応するデバイスドライバを考慮するように構成する。いくつかの実施形態では、この機能は、そのドライバカタログのデバイスドライバパッケージがブートクリティカルなドライバに対するものであるかどうかを判定するためにドライバカタログのデバイスドライバパッケージをチェックする。そのドライバカタログのデバイスドライバパッケージがブートクリティカルなドライバに対するものであれば、この機能はブートクリティカルなドライバをターゲットマシン上にインストールする。

0027

いくつかの実施形態では、ターゲットマシン上のこの機能は、ターゲットマシンがプリインストール環境にない間に、デバイスドライバパッケージをターゲットマシンにダウンロードすることができる。

0028

構造上の特徴および/または方法的振る舞いに特有表現で本発明の対象を説明してきたが、請求項に明確化されている本対象は上述した特定の特徴または振る舞いに必ずしも限定されないことを理解されたい。むしろ、上述した特定の特徴および振る舞いは、特許請求の範囲を実現する形態の例として開示されている。

図面の簡単な説明

0029

ドライバに、インポート、管理および展開する技術を実装するドライバ管理システムが動作できる例示環境を示すハイレベルブロック図である。
いくつかの実施形態に従って、ドライバカタログへのデバイスドライバの追加を示すフロー図である。
いくつかの実施形態に従って、ドライバカタログのデバイスドライバパッケージに関連付けられたメタデータを示すブロック図である。
いくつかの実施形態に従って、ドライバパッケージIDのリストに対する要求を受信する管理サーバのコンポーネントの処理を示すフロー図である。
いくつかの実施形態に従って、デバイスドライバパッケージを追加するためにプリインストール環境内のターゲットマシンの処理を示すフロー図である。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ