(57)【特許請求の範囲】
【請求項１】
ホスト装置に接続された周辺装置のインストールに関連する情報をアクセスする方法であって、
（ａ）前記ホスト装置が前記周辺装置から、前記ホスト装置の起動時又は前記周辺装置を前記ホスト装置へ接続した時に、前記周辺装置を識別する少なくとも１つの識別子を取得するステップと、
（ｂ）前記ホスト装置が前記少なくとも１つの識別子に基づき、ネットワークアドレスを決定するステップと、
（ｃ）前記インストールを容易にするため自動的に最初に生成された要求に応答して、前記ホスト装置が前記周辺装置を使用するのに必要な情報を取得するため、前記ネットワークアドレスのリモート装置にアクセスするために前記ホスト装置がブラウザ機能を実行するステップと、
（ｄ）前記ホスト装置が前記周辺装置を使用するのに必要な情報を既に取得している場合、前記ホスト装置による前記周辺装置の使用に必須でない情報を前記リモート装置から得るために前記ネットワークアドレスにアクセスする、前記ホスト装置がブラウザ機能を実行する更なる自動的に生成された要求をユーザの予め設定しておいた指示に基づいて抑制することを可能にするステップであって、前記自動的に生成された要求はユーザにより開始されたものでないステップと、
を備えることを特徴とする方法。
【請求項２】
請求項１に記載の方法において、前記取得するステップは、前記ホスト装置が該ホスト装置に接続された周辺装置の個数の変化を検出したときに自動的に発生することを特徴とする方法。
【請求項３】
請求項１に記載の方法において、前記取得するステップは、前記周辺装置が接続された前記ホスト装置に対してユーザが手操作で指示を与えたときに自動的に発生することを特徴とする方法。
【請求項４】
請求項１に記載の方法において、前記決定するステップは、前記少なくとも１つの識別子を前記ネットワークアドレスの少なくとも一部分として使用するステップを備えることを特徴とする方法。
【請求項５】
請求項１に記載の方法において、前記取得するステップは、
（ａ）前記周辺装置に対して装置記述子の要求を発行するステップと、
（ｂ）前記周辺装置から前記装置記述子を受信するステップと、
（ｃ）前記装置記述子を分析して前記少なくとも１つの識別子を決定するステップと
を備えることを特徴とする方法。
【請求項６】
請求項１に記載の方法において、前記取得するステップは、
（ａ）前記周辺装置に対して、前記少なくとも１つの識別子を備える文字列記述子の要求を発行するステップと、
（ｂ）前記周辺装置から前記文字列記述子を受信するステップと、
（ｃ）前記文字列記述子を分析して前記少なくとも１つの識別子を決定するステップと
を備えることを特徴とする方法。
【請求項７】
請求項１に記載の方法において、前記取得するステップは、
（ａ）前記周辺装置に対して、少なくとも１つの識別子のクラス要求を発行するステップと、
（ｂ）前記少なくとも１つの識別子を受信するステップと
を備えることを特徴とする方法。
【請求項８】
請求項１に記載の方法において、前記取得するステップは、
（ａ）前記周辺装置に対して、前記少なくとも１つの識別子に対するＶｅｎｄｏｒ  Ｓｐｅｃｉｆｉｃ  Ｄｅｖｉｃｅ要求を発行するステップと、
（ｂ）前記周辺装置から前記少なくとも１つの識別子を受信するステップと
を備えることを特徴とする方法。
【請求項９】
請求項１に記載の方法において、前記ネットワークアドレスを決定するステップは、複数のネットワークアドレスを含むデータベースにアクセスし、前記少なくとも１つの識別子を使用して前記データベース内のネットワークアドレスを検索するステップを備えることを特徴とする方法。
【請求項１０】
請求項９に記載の方法において、前記データベースは前記ホスト装置にストアされていることを特徴とする方法。
【請求項１１】
請求項９に記載の方法において、前記データベースは前記ホスト装置によりアクセス可能な装置にストアされていることを特徴とする方法。
【請求項１２】
請求項１に記載の方法において、前記ネットワークアドレスを決定するステップは、前記少なくとも１つの識別子に基づいてネットワークアドレスを生成するステップを備えることを特徴とする方法。
【請求項１３】
請求項１に記載の方法において、前記ブラウザ機能を実行するステップは、前記ネットワークアドレスを使用して前記リモート装置から前記周辺装置に関連するデータ、機械命令およびドキュメントのうちの少なくともひとつを自動的に検索するステップを備えることを特徴とする方法。
【請求項１４】
請求項１に記載の方法において、前記リモート装置にストアされおよび前記周辺装置に関連するセットアッププログラムを自動的にダウンロードするために前記ブラウザ機能を使用するステップをさらに備えることを特徴とする方法。
【請求項１５】
請求項１４に記載の方法において、前記周辺装置に関連する前記ホスト装置にソフトウェアをインストールするため、前記ホスト装置にダウンロードされた前記セットアッププログラムを自動的に実行するステップをさらに備えることを特徴とする方法。
【請求項１６】
請求項１に記載の方法において、前記ホスト装置に自動的にインストールされる前記周辺装置のためのデバイスドライバを取得するために前記ブラウザ機能を実行するステップをさらに備えることを特徴とする方法。
【請求項１７】
請求項１に記載の方法において、前記リモート装置にストアされおよび前記ホスト装置による前記周辺装置の使用に関係するアプリケーションプログラムを自動的にダウンロードするために前記ブラウザ機能を使用するステップをさらに備えることを特徴とする方法。
【請求項１８】
請求項１に記載の方法において、前記周辺装置にファームウェアを自動的にダウンロードし、およびインストールするために前記ブラウザ機能を使用するステップをさらに備えることを特徴とする方法。
【請求項１９】
請求項１に記載の方法において、ユーザが引き続き選択して前記リモート装置と通信できる前記ネットワークアドレスへのリンクを生成するステップを更に備えることを特徴とする方法。
【請求項２０】
請求項１に記載の方法において、前記ブラウザ機能を実行するステップが、前記ネットワークアドレスの前記リモート装置に前記ホスト上の前記ブラウザ機能を使用して自動的にアクセスするステップを備えることを特徴とする方法。
【請求項２１】
請求項１に記載の方法において、ユーザが前記ホスト装置でブラウザ機能を選択的に実行して、前記ネットワークアドレスの前記リモート装置に自動的にアクセスすることを可能にするステップを更に備えることを特徴とする方法。
【請求項２２】
請求項１に記載の方法において、周辺装置に関するネットワークアドレスを変更しそして追加するために周期的にデータベースを更新するステップを更に備えて、各ネットワークアドレスは周辺装置から取得された少なくとも１つの識別子に基づいてアクセスされることを特徴とする方法。
【請求項２３】
プロセッサにより実行されたときに前記プロセッサが請求項１のステップ（ａ）から（ｄ）までを実施するコンピュータ読取可能機械命令を記憶することを特徴とするコンピュータ読取可能記憶媒体。
【請求項２４】
周辺装置のインストールに関連する情報を自動的にアクセスするシステムであって、
（ａ）少なくとも１つの識別子がストアされた周辺装置と、
（ｂ）ネットワークを通じて行われる通信に適合したリモート装置と、
（ｃ）ホスト装置であって
（ｉ）機械命令がストアされたメモリと、
（ｉｉ）前記ネットワークを通じて行われる前記リモート装置との通信に適合したネットワークインタフェースと、
（ｉｉｉ）前記メモリにストアされた前記機械命令を実行して、
（１）前記ホスト装置の起動時又は前記周辺装置を前記ホスト装置に接続した時、前記周辺装置と通信を行って前記周辺装置を識別する少なくとも１つの識別子を取得し、
（２）前記少なくとも１つの識別子に基づいてネットワークアドレスを決定し、
（３）前記インストールを容易にするため自動的に最初に生成された要求に応答して、前記ホスト装置が前記周辺装置を使用するのに必要な情報を取得するため、前記ネットワークアドレスの前記リモート装置にアクセスするために前記ホスト装置でブラウザ機能を実行し、
（４）前記ホスト装置が前記周辺装置を使用するのに必要な情報を既に取得している場合、前記ホスト装置による前記周辺装置の使用に必須でない情報を前記リモート装置から得るために前記ネットワークアドレスにアクセスするため、前記ホスト装置がブラウザ機能を実行する更なる自動的に生成された要求をユーザの予め設定しておいた指示に基づいて抑制することを可能にし、前記自動的に生成された要求はユーザにより開始されたものでないプロセッサと、
を有するホスト装置と
を備えたことを特徴とするシステム。
【請求項２５】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対し、更に
（ａ）前記周辺装置に装置記述子の要求を発行させ、
（ｂ）前記周辺装置から前記装置記述子を受信させ、
（ｃ）前記装置記述子を分析して前記少なくとも１つの識別子を決定させることを特徴とするシステム。
【請求項２６】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対し、更に
（ａ）前記周辺装置に対して、前記少なくとも１つの識別子を備える文字列記述子の要求を発行させ、
（ｂ）前記周辺装置から前記文字列記述子を受信させ、
（ｃ）前記文字列記述子を分析して前記少なくとも１つの識別子を決定させることを特徴とするシステム。
【請求項２７】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に
（ａ）前記周辺装置に対して、少なくとも１つの識別子のクラス要求を発行させ、
（ｂ）前記少なくとも１つの識別子を受信させることを特徴とするシステム。
【請求項２８】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に
（ａ）前記周辺装置に対して、前記少なくとも１つの識別子に対するＶｅｎｄｏｒ  Ｓｐｅｃｉｆｉｃ  Ｄｅｖｉｃｅ要求を発行させ、
（ｂ）前記周辺装置から前記少なくとも１つの識別子を受信させることを特徴とするシステム。
【請求項２９】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、複数のネットワークアドレスを含むデータベースにアクセスし、前記少なくとも１つの識別子を使用して前記データベース内のネットワークアドレスを検索させることを特徴とするシステム。
【請求項３０】
請求項２９に記載のシステムにおいて、前記データベースは前記ホスト装置にストアされていることを特徴とするシステム。
【請求項３１】
請求項２９に記載のシステムにおいて、前記データベースは前記ホスト装置によりアクセス可能な装置にストアされていることを特徴とするシステム。
【請求項３２】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記少なくとも１つの識別子に基づいてネットワークアドレスを生成させることを特徴とするシステム。
【請求項３３】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記ネットワークアドレスを使用して前記リモート装置から前記周辺装置に関連するデータ、機械命令およびドキュメントのうちの少なくともひとつを自動的に検索させることを特徴とするシステム。
【請求項３４】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記リモート装置にストアされおよび前記周辺装置に関連するセットアッププログラムを自動的にダウンロードさせることを特徴とするシステム。
【請求項３５】
請求項３４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記ホスト装置にダウンロードされたセットアッププログラムを自動的に実行して、前記周辺装置に関連する前記ホスト装置にソフトウェアをインストールさせることを特徴とするシステム。
【請求項３６】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記周辺装置のためのデバイスドライバを前記ホスト装置に自動的にインストールさせることを特徴とするシステム。
【請求項３７】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記リモート装置にストアされおよび前記ホスト装置による前記周辺装置の使用に関係するアプリケーションプログラムを自動的にダウンロードさせることを特徴とするシステム。
【請求項３８】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記周辺装置にファームウェアを自動的にダウンロードし、およびインストールさせることを特徴とするシステム。
【請求項３９】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、ユーザが引き続き選択して前記リモート装置と通信できる前記ネットワークアドレスへのリンクを生成させることを特徴とするシステム。
【請求項４０】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記ホスト装置でブラウザ機能を自動的に実行して、前記ネットワークアドレスの前記リモート装置に前記ブラウザ機能で自動的にアクセスさせることを特徴とするシステム。
【請求項４１】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、ユーザが前記ホスト装置でブラウザ機能を選択的に実行し、前記ネットワークアドレスの前記リモート装置に自動的にアクセスして、前記ネットワークアドレスにより示されたウェブページを表示させることを特徴とするシステム。
【請求項４２】
請求項２４に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、複数のネットワークアドレスを含むデータベースを周期的に更新して、周辺装置に関係するネットワークアドレスを追加および変更し、各ネットワークアドレスには周辺装置から取得した少なくとも１つの識別子を使用して索引を付すことを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、一般にネットワーク上で周辺装置に関係するソフトウェアおよび他のマテリアルにアクセスする方法およびシステムに関し、より具体的には、データベースにストアされまたは生成されたネットワークアドレスであって、周辺装置の識別子に関連するものを使用して、このようなソフトウェアおよび他の関係するマテリアルにアクセスすることに関する。
【０００２】
【従来の技術】
ほとんどのパーソナルコンピュータ、およびゲームコンソール、ＴＶセットトップボックス、産業用制御機器および車載用機器などの多くの他の種類のコンピュータ装置は、そのコンピュータ装置の機能を拡張する種々の周辺装置に接続するように設計されている。周辺装置およびコンピュータ装置は、一般に接続された周辺装置の存在および識別子を認識することを可能にする通信規格を使用する。これらの通信規格は、自動的に周辺装置を認識し、手操作による介入なしにコンピュータ装置が要求するすべてのリソースを割り当てるプラグアンドプレイを容易にする。より古い時代のパーソナルコンピュータ周辺装置および以前のバージョンのコンピュータオペレーティングシステムはプラグアンドプレイの便利さを実現しなかったが、パーソナルコンピュータと共に使用するために現在販売されている大抵の周辺装置はプラグアンドプレイに適合している。加えて、現在販売されているより新しいパーソナルコンピュータおよびより新しいオペレーティングシステム、ならびに多くのより新しい設計の周辺装置は、コンピュータが通電中であってもユニバーサルシリアルバス（ＵＳＢ）の「ホットな」接続または切断を提供する。例えば、多くのコンピュータおよび周辺装置はＵＳＢ規格をサポートし、「ホットな」接続または切断を提供するＵＳＢインタフェースを有している。具体的には、新たに接続されたＵＳＢ装置がオペレーティングシステムによって列挙されると、周辺装置からの販売者（ベンダ）ＩＤ（識別子）、製品（プロダクト）ＩＤ、および他の情報が装置記述子フィールドに取得される。ＵＳＢに準拠している周辺装置が以前にコンピュータにインストールされている（すなわち、デバイスレジストリ内にリストアップされ適当なデバイスドライバが付与されている）と仮定すると、コンピュータは直ちに周辺装置を使用することができる。
【０００３】
現在、周辺装置がコンピュータまたは他のホスト装置にまさに初めて接続されると、時折、セットアッププログラムを実行して周辺装置との接続に使用されるいずれかのクライアントアプリケーションソフトウェアをインストールしたり、周辺装置に対するドライバを用意する必要がある。一般に、周辺装置のドライバおよび関係するアプリケーションソフトウェアは周辺装置と共にパッケージされたＣＤ−ＲＯＭまたはフロッピー（登録商標）ディスク上に提供される。周辺装置のためのドライバは、特にオペレーティングシステムがリリースされ販売されてから販売された周辺装置については、そのオペレーティングシステムに常に用意されているわけではない。オペレーティングシステムにドライバが含まれていない場合、ユーザはドライバ、アプリケーションソフトウェア、および／または周辺装置のための他のマテリアルを手操作でロードし、あるいはそうでなければ手操作で用意しなければならない。従って、周辺装置の最初のインストールは真の「プラグアンドプレイ」操作ではないため、周辺装置を最初にインストールするためにユーザにより要求される対話は品質の高いユーザの経験を損なっている。
【０００４】
一般に、新しい周辺装置がコンピュータに接続されるた場合、コンピュータオペレーティングシステムは新しい周辺装置の存在を検出し、そこでユーザに周辺装置と共に提供されたＣＤ−ＲＯＭまたは他の媒体の挿入を要求する。ユーザは新製品を使用する前に被るこの遅延に慣らされているが、明かにそれを避けることが好ましいであろう。同様に、周辺装置の製造業者は、費用がかかるため、これらの製品にＣＤ−ＲＯＭまたはフロッピー（登録商標）ディスクを含めないことが好ましいであろう。周辺装置と共に出荷されたＣＤ−ＲＯＭまたは他の記憶媒体を製造しおよび配布することは、少なくとも２つの理由のために周辺装置の販売者に対して少なからぬ出費になるであろう。１つの理由は、ＣＤ−ＲＯＭなどの有体の媒体を用意することに関連する材料とパッケージングの明白なコストである。加えて、ＣＤ−ＲＯＭまたはフロッピー（登録商標）ディスクの製造スケジュールは周辺装置の出荷を遅らせ、またはソフトウェア開発に用い得る時間を減少させる可能性がある。新しい周辺装置と共に出荷されるであろうデバイスドライバまたは他のソフトウェアの変更が製品の開発サイクルの後期において要求された場合、ＣＤ−ＲＯＭの製造は周辺のハードウェア製品が既に完成した後まで遅れる可能性がある。周辺装置の納品の遅れに加えて、ＣＤ−ＲＯＭまたはフロッピー（登録商標）ディスクが製造される間、完成した周辺装置を在庫として保存することは、コストを加え、また収入の発生を遅らせる。これに代えて、ＣＤ−ＲＯＭおよび／またはフロッピー（登録商標）ディスクの製造を予定した周辺装置の製造および出荷スケジュールに確実に間に合わせるため、ソフトウェア開発が短く削減される可能性があり、周辺装置全体を市場でより競争できる魅力的なものにする追加の特徴の開発を行わないであろう。販売者は、以前に販売された周辺装置と共に出荷されたソフトウェア内のバグを修正するため、またはソフトウェアマテリアルの機能を改善するため、アップデートされたソフトウェアを別のＣＤ−ＲＯＭまたは他の手段で配布しなければならないかもしれない。
【０００５】
アップデートされたデバイスドライバおよび他のマテリアルはしばしばインターネットを介して利用可能であり、また多くのコンピュータはインターネットへの常時接続または少なくともダイヤルアップ接続機能を有する。従って、周辺装置の販売者が、代わりにユーザに対してインターネットを通じたダウンロードによってマテリアルを取得するようユーザに要求すれば、販売者は周辺装置と共にＣＤ−ＲＯＭまたはフロッピー（登録商標）ディスクを供給する必要はない。しかし、インターネットへの接続および／またはドライバおよび他のマテリアルのダウンロードは、ユーザにより実行されなければならない手操作の処理でもあり、通常は製造業者のウェブサイトへの適切なアドレスの入力をユーザに要求するので、ユーザはダウンロードの実行を可能にする適切なウェブページが見つかるまで、種々のウェブページを調査しなければならない。このような手操作の処理は、初心者にとって難しく、コンピュータへの周辺装置の初期のインストールを遅らせる可能性があり、ユーザの満足を損ねてしまう。更に、ホストコンピュータ装置に再インストールされた周辺装置に頻繁におこる問題は、ユーザが周辺装置と共に最初に提供されたＣＤ−ＲＯＭまたはフロッピー（登録商標）ディスクの置き場所を誤ってしまうことである。デバイスドライバを別のソースから取得できない限り、周辺装置を再インストールすることは不可能であろう。
【０００６】
これらの問題に対する新しい代替の対処方法は、周辺装置の製造業者が、デバイスドライバおよび／または周辺装置に関する他の情報を取得できるサイトへのネットワークアドレスを周辺装置のメモリの中に用意することである。この代替の方法は、２００１年１月１２日に出願された出願番号０９／７６０，３２７の「Method and System to Access Software Pertinent to an Electronic Peripheral Device Based on an Address Stored in a Peripheral Device」という名称の米国特許出願に開示されている。この代替の方法では、周辺装置がホストコンピュータ装置に最初に接続されたとき、またはホストコンピュータ装置がそのホストコンピュータに接続された周辺装置と共に最初に通電されたとき、オペレーティングシステムが周辺装置からアドレスを読み出す。ここで、オペレーティングシステムはインターネットアドレスを使用してアクセスしたウェブサーバまたはリモート装置からドライバおよび／または他のマテリアルを自動的にダウンロードする。
【０００７】
【発明が解決しようとする課題】
しかし、このアプローチでは周辺装置がアドレスをストアする必要がある。現在、周辺装置はこのようなネットワークアドレスをストアしないので、既存のまたは過去の周辺装置はこの新規な代替の方法を使用できない。
【０００８】
従って、ホストコンピュータ装置に接続された周辺装置に関連するマテリアルが取得できるサイトへのアドレスを自動的に提供するための、既存の周辺装置に適用可能な別の方法の提供が望まれている。現在、この機能を遂行する設備は存在しない。この方法はまた、周辺装置をホストコンピュータ装置へ接続するときに、デバイスドライバをロードし、関連するソフトウェアをインストールするために実質的なユーザの手操作による対話の必要性を回避する必要がある。明らかに、新規なおよびより古い周辺装置に対して、ネットワークを介しての所要のドライバおよび他の関連するソフトウェアへの自動的なアクセスを提供するシステムおよび方法は、上記の問題を回避するであろう。
【０００９】
【課題を解決するための手段】
本発明は、周辺装置から取得した少なくとも１つの周辺装置識別子を使用して、データベースにストアされ、またはアルゴリズムにより生成されたネットワークアドレスを決定する方法およびシステムを指向する。そのネットワークアドレスにおけるリモート装置は、周辺装置に関連する情報を取得するためにアクセスされる。この方法は、周辺装置からホスト装置へ少なくとも１つの識別子を転送するステップを含む。そして、その識別子に基づきホスト装置によりネットワークアドレスが自動的に決定され、そのネットワークアドレスにおいて、ホスト装置とリモート装置または他の追加のソースとの間で、周辺装置に関連する通信が可能となる。例えば、ホスト装置はリモート装置から周辺装置のためのデバイスドライバをダウンロードすることができる。従って、この方法は、ネットワークアドレスにおいてリモート装置からソフトウェアおよび／または他のマテリアルを検索するステップ、プログラムを自動的に実行するステップ、デバイスドライバをインストールするステップ、アプリケーションプログラムをインストールするステップ、ウェブページを提示するステップ、製品を登録するステップ、ドキュメンテーションをダウンロードするステップ、ファームウェアをダウンロードして周辺装置にインストールするステップ、ヘルプ情報を提示するステップ、または周辺装置（全てがネットワークアドレスを使用してアクセスされたリモート装置からのものである）に関連する他のマテリアルにアクセスするステップのうちの少なくとも１つを含むのが好適である。当業者であれば、周辺装置識別子からネットワークアドレスが一旦決定されると、どのような個数の項目も取得でき、かつ／または実行できることを理解するであろう。
【００１０】
周辺装置がホスト装置に新たに接続されたとき、ホスト装置は接続された周辺装置の個数の変更を検出することにより、または他の自動的な手段によりその接続の検出を行うことができる。これに代えて、ユーザは手操作でホスト装置にその接続を通知することができる。
【００１１】
周辺装置から識別子を転送するステップは、好ましくは周辺装置がコンピュータに接続されたときに、オペレーティングシステムにより実行される列挙処理の間に実施される。列挙処理の間、オペレーティングシステムは新たに接続された周辺装置を調べて、ＵＳＢ装置記述子内のパラメータなどの、周辺装置のパラメータを決定する。装置記述子は、販売者識別子および製品識別子などの情報を含む。周辺装置から識別子を転送するステップも、装置記述子を要求しおよび受信する機能を使用した列挙処理の後で実行することができる。
【００１２】
所望の周辺装置の識別子が装置記述子内の識別子と異なる識別子である場合、識別子またはそれらのインデックスを要求し受信するために他の機能が使用できる。例えば、文字列記述子は、識別子、または識別子がストアされる周辺装置のメモリ内のロケーションへのポインタを符号化することができる。代替として、識別子に関して周辺装置に対しクラス要求を発行できる。別の代替として、周辺装置から識別子を取得するために、販売者固有の命令または異なる命令を発行することができる。
【００１３】
この方法は、周辺装置がホスト装置上に前もって登録されているか否かをチェックして決定するステップを含むことも好ましい。もし登録されていなければ、データベース内のネットワークアドレスを探すステップか、または周辺装置識別子に基づいてネットワークアドレスを生成するステップが実行される。代替として、このチェックは、ホスト装置が既にネットワークアドレスを決定した後に行うことができる。この場合、オペレーティングシステムの決定は、ネットワークアドレスにアクセスするタスクを開始するか、またはデバイスドライバおよび／または他の情報を検索しインストールするか、および／またはネットワークアドレスへのアクセスに関連する他のいずれかのタスクを実行するかを決定する。
【００１４】
ネットワークアドレスを決定するステップは、好ましくは識別子に基づいてデータベースをサーチするステップを含む。データベースはホスト装置またはリモート装置上に存在する。代替として、識別子はその識別子を含む、またはそうでなければ識別子に基づくネットワークアドレスを生成するために使用することができる。
【００１５】
ホスト装置とリモート装置との間での通信を可能にするステップは、好ましくは、ネットワークアドレスにおけるリモート装置から周辺装置に関連するデータ、機械使用説明書、文書、または他の機械読み取り可能マテリアルを自動的に検索するステップを含む。好ましくは、この方法は更に、周辺装置に関連するリモート装置上にストアされたセットアッププログラムを実行するステップを含む。セットアッププログラムは、ホスト装置上で周辺装置のためのデバイスドライバプログラムを自動的にインストールし、周辺装置に関連するアプリケーションプログラムを自動的に実行することができ、および／またはユーザが引き続きリモートのサイトに再接続することを選択できるネットワークアドレスへのリンクを提供することができる。
【００１６】
この方法は、好ましくは、周辺装置上のブラウザ機能を自動的に実行し、ネットワークアドレスに自動的にアクセスするステップを更に含む。代替として、この方法は、ユーザがネットワークアドレスに自動的にアクセスするためにホスト装置上のブラウザ機能を実行することの許可を要求するステップを含む。このステップは、ユーザがホスト装置上のブラウザ機能を実行すること、および／またはネットワークアドレスに自動的にアクセスすることを更に要求することを抑制できるようにするステップをオプションで含む。
【００１７】
本発明の別の態様は、周辺装置に関係する情報を自動的にアクセスするシステムを指向する。このシステムは、少なくとも１つの識別子をストアする周辺装置を含む。このシステムの一実施形態は、メモリ、ネットワークインタフェース、プロセッサ、および周辺装置に接続するために使用されるインタフェースを含むパーソナルコンピュータなどのホスト装置も備えている。ホスト装置は、ネットワークインタフェースを介して、または周辺装置を経てリモート装置と交信状態で接続する。好ましくは、リモート装置はサーバであるが、代替として、リモート装置はネットワークアドレスのデータベースがストアされた不揮発性記憶装置を備えることができる。ネットワークアドレスのデータベースを用いて周辺装置から取得した識別子に基づいてリモート装置へのネットワークアドレスを識別し、これにより、デバイスドライバなどの周辺装置に関連する情報が、リモート装置からホスト装置により取得される。代替として、リモート装置は外部記憶装置などの別の周辺装置とすることができる。リモート装置は、産業用、車載用および他の閉じたシステムに対して実用的な別の周辺装置を備えることができる。いずれにせよ、ホスト装置は、周辺装置に関連するデータ、機械使用説明書、文書、および／または他のマテリアルへのネットワークアドレスを使用してリモート装置にアクセスする。
【００１８】
本発明の別の態様は、プロセッサにより実行されたとき、一般にプロセッサに上述した方法のステップを実行させる機械実行可能命令がストアされた機械読取可能媒体を指向する。
【００１９】
上述した本発明の態様および多くの付随する利点は、添付の図面と共に用いたときに、後述の詳細な説明を参照することによりよく理解されるのと同様に、容易に理解されるであろう。
【００２０】
【発明の実施の形態】
（例示のオペレーションシステム）
図１および以下の議論は、ウェブページをストアし提供するサーバと、ウェブページを要求してそれらをユーザに表示するクライアントとの両方に関して、本発明が実行される適当なコンピュータ環境の短く一般的な説明を提供することを意図している。要求はされないが、本発明は、パーソナルコンピュータにより実行されるプログラムモジュールなどの、一般的なコンピュータ実行可能命令の中に記述されるであろう。一般に、プログラムモジュールは特定のタスクを実行し、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンピュータ、データ構造を含んでいる。更に、当業者であれば、本発明が、特にハンドヘルドデバイス、ポケットパーソナルコンピュータ装置、ネットワークへの接続に適合したディジタル携帯電話、マイクロプロセッサを用いたまたはプログラム可能な消費者用電子装置、ゲームコンソール、ＴＶセットトップボックス、マルチプロセッサシステム、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、産業用制御機器、車載用機器、航空宇宙用機器などを含む、ウェブページを表示するクライアント装置に関する他のコンピュータシステム構成により実施できることを理解するであろう。本発明は、タスクが通信ネットワークを介してリンクされたリモート処理装置により実行される分散コンピュータ環境においても実施することができる。分散コンピュータ環境では、プログラムモジュールはローカルおよびリモートの双方のメモリ記憶装置に配置してもよい。
【００２１】
図１を参照すると、本発明を実施する例示のシステムは、処理ユニット２１、システムメモリ２２およびシステムバス２３が備えられた従来のパーソナルコンピュータ２０の形態をとる汎用のコンピュータ装置を含んでいる。システムバスは、システムメモリを含む種々のシステム構成要素を処理ユニット２１に結合し、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、多様なアバスアーキテクチャのいずれかを使用する種々の型のバス構造のいずれかであることができる。システムメモリは、リードオンリメモリ（ＲＯＭ）２４およびランダムアクセスメモリ（ＲＡＭ）２５を含む。スタートアップの間などにパーソナルコンピュータ２０内の要素間での情報の転送を助ける基本ルーチンを含むベーシック入出力システム（ＢＩＯＳ）２６は、ＲＯＭ２４にストアされている。パーソナルコンピュータ２０は更に、ハードディスク（図示せず）から読み出しおよびこれに書き込むためのハードディスクドライブ２７、着脱可能な磁気ディスク２９から読み出しおよびこれに書き込むための磁気ディスクドライブ２８、ＣＤ−ＲＯＭまたは他の光媒体などの着脱可能な光ディスク３１から読み出しおよびこれに書き込むための光ディスクドライブ３０を含んでいる。ハードディスクドライブ２７、磁気ディスクドライブ２８、および光ディスクドライブ３０はそれぞれ、ハードディスクドライブインタフェース３２、磁気ディスクドライブインタフェース３３、および光ディスクドライブインタフェース３４に接続されている。ドライブおよびそれらの関連するコンピュータ読取可能媒体は、コンピュータ読取可能機械命令、データ構造、プログラムモジュールおよびパーソナルコンピュータ２０に対する他のデータの不揮発性記憶装置を提供する。本明細書で述べられる例示の環境はハードディスク、着脱可能な磁気ディスク２９、および着脱可能な光ディスク３１を使用するが、当業者であれば、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）等の、コンピュータによりアクセス可能なデータをストアすることができる他の種類のコンピュータ読取可能な媒体も例示のオペレーティング環境で使用できることを認めるであろう。
【００２２】
多数のプログラムモジュールが、（ブラウザ機能を有する）オペレーティングシステム３５、１つまたは複数のアプリケーションプログラム３６、他のプログラムモジュール３７、およびプログラムデータ３８を含むハードディスク、磁気ディスク２９、光ディスク３１、ＲＯＭ２４またはＲＡＭ２５にストアされる。ユーザは、キーボード４０およびポインティングデバイス４２などの入力デバイスを介してパーソナルコンピュータ２０に命令や情報を入力することができる。他の入力装置（図示しない）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、ディジタルカメラ等を含むことができる。これらのおよび他の入力装置はしばしは、システムバスに結合された入出力（Ｉ／Ｏ）装置インタフェース４６を介して処理ユニット２１に接続される。プリンタ（図示せず）等の出力装置もまた、システムバスに結合されたＩ／Ｏ装置インタフェース４６を介して処理ユニット２１に接続される。同様に、モニタ４７または他のタイプのディスプレイ装置もビデオアダプタ４８などの適当なインタフェースを介してシステムバス２３に接続され、ウェブページおよび／または他の情報を表示するために使用可能である。モニタに加え、パーソナルコンピュータはしばしば（図示しないサウンドカードまたは他のオーディオインタフェースを介して）スピーカ等の他の周辺出力装置（図示せず）に結合される。このようなＩ／Ｏ装置は一般に、周辺装置と呼ばれる。本発明に関する議論を目的として、一般の周辺装置５６がＩ／Ｏ装置インタフェース４６を介してパーソナルコンピュータ２０に結合される。Ｉ／Ｏ装置インタフェースという用語は、シリアルポート、パラレルポート、ゲームポート、キーボードポート、および／またはＵＳＢポートに特別に使用される各インタフェースを包含していることを意図している。Ｉ／Ｏ装置インタフェース４６を通じ、情報がシステムバス２３を介して周辺装置５６と処理ユニット２１との間で通信される。周辺装置５６は、情報をストアするファームウェアメモリ５８を含む。ファームウェアメモリ５８は、消去可能なプログラム可能リードオンリーメモリ（ＥＰＲＯＭ）、フラッシュメモリ、磁気記憶装置、または他の記憶装置とすることができる。ファームウェアメモリ５８は、販売者ＩＤ、製品ＩＤ、および／または周辺装置５６に関する他の情報をストアする。
【００２３】
パーソナルコンピュータ２０は、リモートコンピュータ４９などの、１つまたは複数の追加のソースへの論理接続を使用してネットワーク環境で操作することができる。本発明に関し、周辺装置のファームウェアメモリにストアされたＵＲＩまたはアドレスは、リモートコンピュータ４９を介してアクセスされるロケーションを特定することができる。リモートコンピュータ４９は、別のパーソナルコンピュータ、（パーソナルコンピュータ２０と同様に典型的一般的に構成された）サーバ、ルータ、ネットワークパーソナルコンピュータ、ピアデバイス、別の周辺装置、衛星、またはいくつかの他の共通ネットワークノードであることができ、また図１には外部メモリ記憶装置５０しか示されていないが、一般的にパーソナルコンピュータに関する上述した多くのまたは全てのエレメントを含むことができる。図１に描かれている論理接続は、ローカルエリアネットワーク（ＬＡＮ）５１およびワイドエリアネットワーク（ＷＡＮ）５２を含む。このようなネットワーク環境は、オフィス、企業全域に渡るコンピュータネットワーク、イントラネット、およびインターネットで共通である。
【００２４】
ＬＡＮネットワーク環境で使用される場合、パーソナルコンピュータ２０はネットワークインタフェースまたはアダプタ５３を介してＬＡＮ５１に接続される。ＷＡＮネットワーク環境で使用される場合、パーソナルコンピュータ２０は一般にモデム５４、またはインターネット等のＷＡＮ５２上での通信を実行するための他の手段を含む。内部または外部にあることが可能なモデム５４はシステムバス２３に接続され、またはＩ／Ｏ装置インタフェース４６、すなわちシリアルポートを介してバスに結合される。ネットワーク環境では、パーソナルコンピュータ２０に関して示されたプログラムモジュール、またはそれらの部分は、リモートのメモリ記憶装置にストアすることができる。図示されたネットワーク接続は例示であり、無線通信および広域ネットワークリンクのように、コンピュータ間の通信リンクを確立する他の手段を使用することができる。
【００２５】
本発明の例示の実施形態
下記では、ホスト装置として活動する（図１に示す）パーソナルコンピュータ２０と、周辺装置または他の装置などの周辺装置との間で通信するＵＳＢ規格などのプラグアンドプレイ技術を使用する好ましい具体例の例示の実施形態を説明する。当業者は、プラグアンドプレイ技術およびＲＳ−２３２Ｃシリアル、ＩＥＥＥ１２８４パラレル、ＩｒＤＡ赤外線、ＩＥＥＥ１３９４および他の規格などの周辺装置による他の通信形態のために細部をわずかに変更できることを理解するであろう。しかし、議論を簡単にするために、後述の例でＵＳＢが一貫して使用されるであろう。
【００２６】
図２は、デバイスドライバ、アプリケーションソフトウェア、または別のマテリアルをインストールする実施形態のロジックを示す。ステップ６０でネットワークアドレスがデータベースにストアされる。好ましくは、このネットワークアドレスはデバイスドライバおよび／または他のマテリアルがアクセスされることが可能なロケーションを識別する。しかしながら、別の実施形態では、ネットワークアドレスは、別のアドレスを取得することができるセントラルロケーションを識別する。その別のアドレスから、デバイスドライバおよび／または他のマテリアルがダウンロードされる。当業者であれば、アドレスのリダイレクションおよび／または分岐を更に拡張して、デバイスドライバおよび／または他のマテリアルが配置されおよび取得することができる終端（final terminal）のロケーションへの一連の順次のリンクを作成できることを理解するであろう。１つの好ましい実施形態では、ターミナルネットワークアドレスはホストパーソナルコンピュータ２０のデータベースにストアされる。しかしながら、上述したように、本発明の別の実施形態は、（図１に示されている）リモートコンピュータ４９などの、追加のソースのデータベースにターミナルネットワークアドレスをストアする。
【００２７】
ステップ６１においてユーザは周辺装置を（図１に示されている）ＵＳＢ  Ｉ／Ｏ装置インタフェース４６に接続する。代替として、ステップ６１は既に接続された周辺装置と共にホストパーソナルコンピュータ２０に供給される電力を示すことができる。しかし、別の実施形態では、ステップ６１はダイレクトな物理接続を指さず、これに代えて、ホストコンピュータおよび周辺装置の間で実施される無線通信の性質に依存して、ホストパーソナルコンピュータ２０の赤外線、無線周波数（ＲＦ）、または他の適当な通信距離の範囲内の無線接続を介して通信する周辺装置を持ってくることにより発生するような、遠隔のまたは仮想的な接続を指すことができる。好ましいＵＳＢの実施形態に戻ると、ステップ６２において（図１に示されている）オペレーティングシステム３５は新しいデバイスを検出し、列挙する。列挙処理の間、オペレーティングシステム３５は装置記述子に対するデバイスドライバを検索する。装置記述子は、好ましくは販売者ＩＤおよび製品ＩＤを含む周辺装置に関連するデータフィールドを包含する。
【００２８】
これらのＩＤが装置記述子フィールドから一旦解析されると、ネットワークアドレスをデータベースから決定することができ、または代替として、ＩＤに基づいて決定することができる。一実施形態では、オペレーティングシステム３５は決定ステップ６４でデバイスドライバおよび／または他のソフトウェアがホストパーソナルコンピュータ２０上で既に利用可能か否かを最初に決定する。オペレーティングシステムは一般に、予め定義されたディレクトリにおいてシステムファイル内のデバイスドライバを調査する。
【００２９】
デバイスドライバおよび／または他のソフトウェアがホストパーソナルコンピュータ２０上で既に利用可能であれば、オペレーティングシステム３５は単純にデバイスドライバおよび／または他のソフトウェアを（図１に示されている）メモリ２２にロードする。オプションで、オペレーティングシステム３５は、装置記述子フィールドから取得したＩＤと既存のデバイスドライバおよび／または他のソフトウェアとを比較して、バージョン番号がマッチするかまたは利用可能なバージョン番号が装置記述子フィールド内で参照されるバージョン番号より後かを知ることにより、より詳細なチェックを実行することができる。バージョン番号がマッチする場合、または利用可能なバージョンがより最近のものである場合、オペレーティングシステム３５はデバイスドライバおよび／または他のソフトウェアをメモリ２２にロードする。
【００３０】
バージョン番号がマッチしない場合、あるいは利用可能なバージョンが古い場合、あるいはデバイスドライバおよび／または他のソフトウェアがパーソナルコンピュータ２０上で利用さえできない場合、オペレーティングシステム３５は決定ステップ６６を実行して、対応するネットワークアドレスがデータベースにストアされているかを決定する。この決定をするための後続の更に詳細なステップは図３に関連して後述する。代替として、ネットワークアドレスはＩＤから生成される。例えば、装置記述子の識別子フィールドは、インターネットプロトコル（ＩＰ）アドレスにマップすることができる。具体的には、デバイスクラスは４つのＩＰネットワークアドレスの第１の四半部（quad）に使用され、デバイスサブクラスは第２の四半部に使用され、製品ＩＤは第３の四半部に使用され、製品ＩＤはＩＰネットワークアドレスの第４の四半部に使用される。別のアプローチでは、例えばｗｗｗ．＜ｖｅｎｄｏｒＩＤｎａｍｅ＞．ｃｏｍ／＜ｍｏｄｅｌＩＤｎａｍｅ＞／ｓｕｐｐｏｒｔのように、販売者ＩＤおよび製品ＩＤモデルから文字・数字を組み合わせたウェブアドレスを生成する。
【００３１】
ネットワークアドレスがデータベースにストアされていない場合、または装置記述子フィールドを使用して適切に生成することができない場合、図２に示すようにステップ６８でデバイスドライバおよび／または他のソフトウェアが手操作でロードされなければならない。手操作のローディングは一般に、デバイスドライバおよび／または他のソフトウェアがストアされたＣＤ−ＲＯＭなどの記録媒体を対応するドライブに挿入すること、あるいはインターネットを介してデバイスドライバおよび／または他のソフトウェアを手操作でダウンロードすること、あるいはユーザの介入または動作を要求する後続の別の手続きを含む。手操作のローディングは、ネットワーク通信が利用可能でないかまたはアクティブでないときにも要求される。しかしながら、ネットワークアドレスがデータベースにストアされている場合、オペレーティングシステム３５はステップ７０を実行して、ネットワークアドレスにアクセスする。
【００３２】
例えばインターネットへの接続を介してアクセスされたネットワークアドレスにより特定されるようなウェブサーバ上のウェブページ等のネットワーク接続を介してネットワークアドレスにアクセスした後、オペレーティングシステム３５はステップ７２を実行してそのネットワークアドレスにおけるリモート装置からデバイスドライバおよび／または他のソフトウェアのダウンロードを開始する。更に、ネットワーク通信が利用可能でない場合またはアクティブでない場合、ダウンロードを開始する試みは失敗し、デバイスドライバおよび／または他のソフトウェアをダウンロードするための手操作による介入が要求されるであろう。しかしながら、好ましくは、ネットワーク通信は利用可能／アクティブであり、ソフトウェアおよび他のマテリアルのダウンロードは、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、ファイル転送プロトコル（ＦＴＰ）、無線アプリケーションプロトコル（ＷＡＰ）または他の通信技術を通じたファイル転送要求により達成される。
【００３３】
一旦受信されると、ステップ７４においてデバイスドライバおよび／または他のソフトウェアはホストパーソナルコンピュータにインストールされる。インストールは完全に自動的にすることができ、またはウィザードプログラムにより達成することができる。ドライバおよび／または他のソフトウェアが最初にダウンロードされたとき、ネットワークアドレスにより特定されるサイトにおいて周辺装置に関連する他の情報をアクセスするためにステップ７６を実行することが好ましい。このため、例えば追加の機器、サプライ、またはサービスに対する販売者の申し出を、ユーザに表示することができる。最後に、ステップ７８においてデバイスドライバまたは他のマテリアルがメモリ２２にロードされ、そして周辺装置の使用準備が完了する。
【００３４】
決定ステップ６６において、ホストパーソナルコンピュータに適切なデバイスドライバまたは他のソフトウェアが既にインストールされている場合、他の目的でネットワークアドレスにアクセスするために、更なる一連のステップが開始されてもよい。例えば、周辺装置の販売者は更なる販売を生み出すことを希望して、広告のウェブページが表示されること、または他のサービスがユーザに申し出られることを要求することができる。しかしながら、ユーザにこのような製品またはサービスの追加の表示または申し出を抑制するためのオプションが与えられるであろうことも考慮される。そこで、決定ステップ８０は、ネットワークアドレスにおける情報をアクセスする更なる試みを回避するために、ユーザによりフラグが設定されているか否かをチェックする。もし設定されていれば、この方法は直接ステップ７８に進み、ドライバソフトウェアまたは他のソフトウェアをロードする。しかしながら、フラグが偽、すなわちユーザにより設定されていなければ、この方法は決定ステップ８２に進み、ネットワークアドレスに接続し、あるいはまた、ネットワークアドレスを生成する。ネットワークアドレスがデータベース内に見つからなかった場合および周辺装置ＩＤから生成できない場合、ステップ８６において、オぺレーティングシステム３５はオプションでエラーを処理し、ステップ７８に進み、ソフトウェアをメモリにロードする。データベース内にネットワークアドレスを見つけた場合、またはネットワークアドレスがＩＤに基づいて生成された場合、そのネットワークアドレスはステップ８４においてアクセスされ、ステップ７６において注目された他の情報が取得される。再び、デバイスドライバまたは他の前もってインストールされたソフトウェアがステップ７８においてメモリ２２にロードされる。
【００３５】
図３に関して、特定の周辺装置に関連するネットワークアドレスがデータベースにストアされているかを決定するための好ましい実施形態が示されている。図２の列挙ステップ６２の間、オペレーティングシステム３５は周辺装置からの販売者および製品ＩＤを含む装置記述子を要求する。ステップ９０において、オペレーティングシステム３５は識別子に基づいてネットワークアドレスに対するローカルデータベースをチェックする。データベースは、ホストコンピュータ上に前もってインストールされたオペレーティングシステムファイルの一部とすることができ、オペレーティングシステムの周期的なオンライン更新の間、おそらく時々更新することができるであろう。販売者ＩＤおよび／または製品ＩＤは、周辺装置に関連するネットワークアドレスを参照するためのデータベースへのインデックスとして役立つ。決定ステップ９２において、オペレーティングシステム３５が周辺装置から取得したＩＤに基づくネットワークアドレスを含むローカルデータベースを決定すると、オペレーティングシステム３５はステップ９４においてホストパーソナルコンピュータ（または他のホスト装置）のメモリ２２内でネットワークアドレスを読み出す。この場合、ステップ９６において（ステップ６６の）決定の結果が「はい」に設定される。この結果により、ステップ９０におけるネットワーク全体で発生する自動的なローディングと共にインストール処理全体が継続する。
【００３６】
しかしながら、ホストパーソナルコンピュータまたは他のホスト装置上にローカルデータベースが存在しない場合、またはローカルデータベースが周辺装置から取得したＩＤによりインデックス付けされたネットワークアドレスを含まない場合、ステップ１００においてオペレーティングシステムがリモートデータベースをアクセスする。リモートデータベースは予め定義されたマイクロソフト社のウィンドウズ（登録商標）のアップデートウェブサイトで、またはネットワーク上での通信が提供される他のいくつかのリモート装置を示す異なるアドレスでアクセスすることができる。決定ステップは、周辺装置から取得したＩＤによりインデックス付けされたネットワークアドレスがリモートデータベースにストアされているかを決定する。このステップは、リモートデータベースに対して適切なように、オペレーティングシステム３５からリモートデータベースへの直接の要求により、または別のリモートデータベースアクセスプロシージャにより達成される。例えば、リモートデータベースはアクティブサーバページ（ＡＳＰ）または他のサーバプロセスによって検索することができる。当業者であれば、代替としてネットワークアドレスは周辺装置から取得したＩＤに基づきリモート装置において生成できることを理解するであろう。ネットワークアドレスがリモートデータベース内で見つかった場合、またはリモートで生成された場合、ステップ９４においてそのネットワークアドレスはホストパーソナルコンピュータ（または他のホスト装置）に転送され、メモリ２２にストアされる。しかしながら、リモートデータベースが存在しない場合、またはリモートデータベースが周辺装置から取得したＩＤによりインデックス付けされたネットワークアドレスを含まない場合、（ステップ６６の）全体的な決定の結果はステップ１０４において「いいえ」に設定される。その結果により、ステップ６８において、インストール処理は、従来の手操作によるＣＤ−ＲＯＭまたはフロッピー（登録商標）ディスクからのデバイスドライバおよび他のソフトウェアのローディングにより継続するであろう。
【００３７】
図４に別の詳細な実施形態が示されている。この実施形態は、本発明をオペレーティングシステムに包含したことに基づいている。上記したように、ステップ１１０または１１２は、それぞれ、ユーザがＵＳＢ装置をホスト装置のＵＳＢポートに「ホットコネクト(hot-connect)」したとき、またはホスト装置が既に接続された周辺ＵＳＢ装置と共に起動されたときに発生する。ステップ１１４で、バスドライバプログラムは新しい周辺装置を検出し、プラグアンドプレイマネージャプログラムに対し、バスに接続された装置の個数が変更されたことを通知する。ステップ１１６において、プラグアンドプレイマネージャは、装置記述子の中に他の装置パラメータと共に提供されるＩＤに対する装置を検索するためにＩ／Ｏ要求パケット（ＩＲＰ）を送信することにより、装置を列挙する。この詳細な列挙のタスクは、プラグアンドプレイマネージャプログラムと共同で、バスドライバプログラムにより実行される。
【００３８】
バスドライバプログラムは、一般にＰＣＩ（peripheral component interconnect）またはパーソナルコンピュータ・メモリカード国際協会（ＰＣＭＣＩＡ）の親（parent）バスドライバモジュールである。この列挙処理は、周辺装置からプラグアンドプレイマネージャが販売者ＩＤおよび製品ＩＤなどの情報を集める点で、上記のものと類似している。代替として、ＩＤ情報はクラスドライバまたは販売者固有装置（vendor specific device；ＶＳＤ）要求により取得される。また、ＩＤ情報の文字列は、周辺装置内の既知のメモリロケーションから、または周辺装置のメモリ内のロケーションから取得できる。周辺装置から取得した文字列内での符号化は、種々の情報の型を区別することができる。例えば、フォワードスラッシュ記号は、特定の型の情報、または後続の文字を特定の型の情報として扱う命令を示すために使用することができる。具体的には、スラッシュＴ（／Ｔ）は、後続の文字が表示すべきタイトルまたはテキストであることを示すことができる。スラッシュＩ（／Ｉ）は、オペレーティングシステムに対する命令を示すことができる。スラッシュＳ（／Ｓ）は、別の文字列識別子を示すことができる。前述のように、これらのコマンドの１つに続く文字は、例えば引用符で囲まれた実際の文字、または文字列の文字がストアされたメモリロケーションへのポインタとすることができる。
【００３９】
周辺装置から周辺装置ＩＤおよび他のパラメータが取得されると、ステップ１１８において、プラグアンドプレイマネージャは新たに接続された周辺装置が前もってインストールされているかを決定する。決定ステップ１２０において、プラグアンドプレイマネージャは新たに接続された装置が前もってインストールされているかを決定する。インストールされていなければ、ステップ１２２においてプラグアンドプレイマネージャは操作を実行して、新たなデバイスドライバをロードする。逆に、周辺装置がインストールされていれば、ステップ１２４においてプラグアンドプレイマネージャは古いデバイスドライバをロードする。上述したように、ステップ１２６において、プラグアンドプレイマネージャは、更に周辺装置から取得したＩＤを使用し、ＵＲＩを決定し、装置−ＵＲＩダイナミックリンクライブラリ（ＤＬＬ）を実行して、ブラウザまたはＵＲＩを使用するリモートサイトへ接続する他の機能をアクティブにすることができる。
【００４０】
図５は、図４のステップ１２２に示した新たなデバイスマネージャをロードする処理の詳細を示す。この処理では、ステップ１３０に示すように、プラグアンドプレイマネージャはまずレジストリ内に周辺装置の文字列情報を含む装置ＩＤデータを保存する。ステップ１３２において、プラグアンドプレイマネージャはＮｅｗ−Ｄｅｖｉｃｅ  ＤＬＬを実行する。ステップ１３４において、このＮｅｗ−Ｄｅｖｉｃｅ  ＤＬＬはレジストリから周辺装置ＩＤおよび他のパラメータをロードする。ステップ１３６において、Ｎｅｗ−Ｄｅｖｉｃｅ  ＤＬＬは、周辺装置ＩＤによりインデックス付されたＵＲＩがホストパーソナルコンピュータまたは他のホスト装置上のローカルデータベース内に存在するかを検証する。周辺装置に対するデバイスドライバを取得できるＵＲＩがデータベース内で利用可能でない場合、従来のアプローチを使用して、ユーザにより手操作でインストールが完了する。周辺装置から取得したＩＤによりインデックス付されたＵＲＩがデータベース内に含まれている場合、オプションで、ステップ１３８においてＮｅｗ−Ｄｅｖｉｃｅ  ＤＬＬはユーザにＵＲＩを表示する。更にオプションで、Ｎｅｗ−Ｄｅｖｉｃｅ  ＤＬＬは、ＵＲＩにより示されたリモートデバイスのアクセスをアクティブにするか、または単純に手操作のインストールにより処理するかをユーザが選択できるようにすることができる。ステップ１４０においてユーザがＵＲＩにより示されたリモート装置のアクセスをアクティブにした場合、またはＵＲＩにおけるリモート装置のアクセスが自動的にアクティブにされた場合、ステップ１４２においてＮｅｗ−Ｄｅｖｉｃｅ  ＤＬＬはネットワークアドレスとして含まれているＵＲＬを使用して、ブラウザ機能をアクティブにする。
ブラウザ機能は、ＵＲＩにより示されたリモートサイトへアクセスし、Ｎｅｗ−Ｄｅｖｉｃｅ  ＤＬＬはデバイスドライバ、他のソフトウェア、および／または周辺装置に関係する情報を取得する。
【００４１】
当業者であれば、ＵＲＩは、アクティブなサーバページまたは別のＵＲＩへ再指向させ、デバイスドライバを直接に取得し、または別の関連する機能を実行する他のサーバ側機能とすることができることを理解するであろう。また、上述したように、ＵＲＩはファイル転送プロトコルまたはデバイスドライバを取得するために使用される他の通信機能を識別することができる。従って、ステップ１４２は、デバイスドライバファイルおよび／または他のマテリアルをホストパーソナルコンピュータ２０に転送するか、あるいはＮｅｗ−Ｄｅｖｉｃｅ  ＤＬＬにより使用される、ＩＮＦおよび他のインストールファイルのロケーションとして単に動作するかのいずれかにより、ユーザがデバイスドライバまたはＩＮＦファイルへのロケーションを手操作で識別するときになされるのと同様にして周辺装置をインストールする。ステップ１４４において、Ｎｅｗ−Ｄｅｖｉｃｅ  ＤＬＬはダウンロードされたデバイスドライバ（または前もってインストールされたデバイスドライバ）を使用して周辺装置のインストールを完了する。最良のデバイスドライバが選択されてホストパーソナルコンピュータ２０にインストールされると、ステップ１４６においてプラグアンドプレイマネージャはデバイスドライバをメモリ２２にロードし、周辺装置のアクティブな使用を可能にする。
【００４２】
図６を参照すると、本発明はＵＲＩにより識別されるリモート装置から取得したアプリケーションプログラムをダウンロードしてインストールし、ＵＲＩにおいてアクセスされたウェブページを表示し、周辺装置へのファームウェアをダウンロードしてインストールし、または別法としてＵＲＩにおいて利用可能な追加の情報またはサービスを提供するために使用することができる。そのためには、決定ステップ１５０においてプラグアンドプレイマネージャはＵＲＩがデータベースに存在することを証明する。ＵＲＩが存在しなければ、この処理は継続せず、代わりに前の動作の実行に戻る。周辺装置から取得したＩＤによりインデックス付されたＵＲＩを含むデータベースが存在する場合、決定ステップ１５２は周辺装置の最初のインストールに続く後の時間においてユーザにＵＲＩをアクティブにするよう促すことを止めるようにフラグが設定されているかを決定する。これは、例えばＵＲＩにおいてアクセスされる広告が表示されることをユーザが好まない場合に有効である。ユーザにより「再び尋ねない（don't ask again）」フラグが前もって選択された場合、ユーザはそのＵＲＩによりブラウザをアクティブにすることを促されることはないであろう。代替として、この処理はネットワークアドレスとしてロードされたＵＲＩを使用してブラウザ機能を自動的にアクティブにすることができる。しかしながら、ユーザはＵＲＩによりブラウザ機能をアクティブにするためのオプションが与えられることが好ましいであろう。「再び尋ねない」フラグが偽、つまりユーザがそのオプションを選択していない場合は、ステップ１５４においてプラグアンドプレイマネージャはＤｅｖｉｃｅ−ＵＲＩ  ＤＬＬを実行する。
【００４３】
ステップ１５６において、Ｄｅｖｉｃｅ−ＵＲＩ  ＤＬＬはデータベースがＵＲＩを含んでいることをユーザに通知し、ユーザに対し、そのＵＲＩをアクティブにすることを希望するか否かの指示を促す。このプロンプトにおいて、ユーザはチェックボックスまたはラジオボタンを選択することにより「再び尋ねない」フラグを設定するオプションを有する。決定ステップ１５８は、ユーザがこのオプションを選択したかを決定する。選択した場合、ステップ１６０においてＤｅｖｉｃｅ−ＵＲＩ  ＤＬＬは「再び尋ねない」フラグを真に設定する。チェックされていなければ、ステップ１６２においてＤｅｖｉｃｅ−ＵＲＩ  ＤＬＬは「再び尋ねない」フラグを偽に設定する。ステップ１６４において、Ｄｅｖｉｃｅ−ＵＲＩ  ＤＬＬは、更にユーザがＵＲＩをアクティブにすることを決めたか否かを決定する。ユーザが決めなければ処理は完了する。しかしながら、ユーザが決めた場合、Ｄｅｖｉｃｅ−ＵＲＩ  ＤＬＬはステップ１６６を実行して、ブラウザ機能をアクティブにし、ＵＲＩにより指定されたネットワークアドレスへナビゲートする。前に議論したように、ＵＲＩは広告を表示し、アプリケーションプログラムをダウンロードおよび／または起動し、周辺装置へのファームウェアをダウンロードおよびインストールし、ヘルプ情報を提供し、または他のサービスおよび情報を提供することができる。
【００４４】
図７は、データベースから取得したＵＲＩを使用する別の実施形態を示す。この実施形態は、ユーザが後にＵＲＩにより識別されるリモート装置にアクセスするためにクリックすることができるプロパティページ上のハイパーテキストリンクまたはショートカットなどのフォーム内にＵＲＩを表示することを可能にする。ステップ１７０において、ユーザは例えばウィンドウズ（登録商標）オペレーティングシステムのコントロールパネルを介して利用可能なデバイスマネージャプログラムを実行する。デバイスマネージャは、周辺装置を含むホストパーソナルコンピュータに接続された全てのハードウェア装置のリストを表示する。ステップ１７２においてユーザは所望の周辺装置を示すアイコンをクリックし、その周辺装置のプロパティを見るためのオプションを選択する。ステップ１７４において、デバイスマネージャは選択された装置に関連するプロパティの種々のページへのタブを有するデバイスプロパティシートの表示を開始する。決定ステップ１７６では、デバイスマネージャはデータベース内で、周辺装置から取得した少なくとも１つのＩＤに基づくＵＲＩに対するデータベースを参照する。ＵＲＩが周辺装置に対応するデータベース内に存在する場合、デバイスマネージャは、ユーザが後にそのＵＲＩにより示されたリモート装置への接続をアクティブにするためのＵＲＩをクリックすることを可能にする文字列または他のフォーマット内のデバイスＵＲＩを表示するＵＲＩプロパティページを作成する。このプロパティページおよびそのＵＲＩへのリンクを含むリンクは、ユーザが後にいつでもリモート装置にアクセスすることを可能にする。好ましくは、ステップ１７８はインターネットブラウザ機能およびＵＲＩにより特定されたロケーションにアクセスする機能を実行する。前のステップが完了した後、あるいはデータベース内にＵＲＩが見つからなかった場合、デバイスマネージャはステップ１８０を実行し、周辺装置に対して従来のシステムおよび／または販売者プロパティページが作成される。
【００４５】
図８を参照すると、本発明を実装するための例示の代替システムは、パーソナルビークルアシスタント（ＰＶＡ）２２０のフォーム内に特定目的のコンピュータ装置を含んでいる。ＰＶＡは、いくつかの点においてパーソナルデータアシスタント（ＰＤＡ）と類似しているが、自動車などの車両に使用するために最適化されている。マイクロプロセッサは、現代の車両の操作にますます重要な役割を果たしており、車両の操作、その照明システム、娯楽システムに使用され、より最近では、緊急時の救助、およびナビゲーション機能に使用されている。ドライバーはこれらの車両内の洗練された特徴などに従って、運転時間をより安全に、より生産的に、およびより楽しくする。現在売買されおよび開発中の車両の設計は、ディスプレイスクリーン、スピーカおよび携帯電話機に結合されたリモートマイクロフォン、ディジタルナビゲーションマップに対するドライブ、およびウェブアクセスなどの電子的特徴を組み込む。各リモート装置への個別の電線をルーティングする必要から、車両には各周辺装置のＰＶＡへの接続における多大の費用がかかる。この問題を克服するために、多くの周辺装置が単一セットの電線を介してＰＶＡにより（および互いに）通信することを可能にする周辺バスを用いることができる。
【００４６】
このような周辺バスは他の通信ネットワークと類似しているが、一般に電線の長さ、データレート、エラー取り扱い機能、または他の条件により制限される。従って、図８は周辺バスを利用する自動車内で使用される例を示している。当業者であれば、この図に示されている例示の実施形態は、産業用プログラムロジックコントローラ、ビル管理コンピュータ、飛行制御コンピュータ、および周辺装置と対話する他のコンピュータ装置またはプロセッサ装置などの、他の応用や分野における特定目的のコンピュータ装置にも適用できることが理解できるであろう。
【００４７】
ＰＶＡ２２０は、処理ユニット２２１、システムメモリ２２２、システムバス２２３、記憶装置インタフェース２３２、バスインタフェース２４６、およびネットワークインタフェース２５３を有する。ビデオアダプタ、プリンタインタフェース等のような他のコンポーネントは、オプションでＰＶＡ２２０に含めることも可能であるが、図示を簡単にするために示していない。システムバスは、システムメモリを含む種々のシステムコンポーネントを処理ユニット２２１に結合し、メモリバスまたはメモリコントローラ、周辺バス、および種々のバスアーキテクチャのいずれかを使用するローカルバスを含むいくつかの種類のバス構造のいずれかとすることができる。
【００４８】
システムメモリはＲＯＭ２２４およびＲＡＭ２２５を含む。ＰＶＡ２２０内のコンポーネント間で情報を転送するために使用される基本的なルーチンを含むＢＩＯＳ２２６は、ＲＯＭ２２４にストアされる。ＰＶＡ２２０は、永続性のまたは取り外し可能な媒体から読み出しおよび／または書き込むための記憶装置２２７により更にインタフェースをとる。記憶装置２２７は、記憶装置インタフェース２３２によりシステムバス２２３に接続されている。記憶装置およびその関連する機械読取可能媒体は機械命令、データ構造、プログラムモジュール、およびＰＶＡ２２０に対する他のデータをストアする。フロッピー（登録商標）ディスク、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ＲＡＭ、ＲＯＭ等のような多種類の機械読取可能媒体が、プロセッサによりアクセス可能なデータをストアするために使用できることが当業者により認められるであろう。（ブラウザ機能を有する）オペレーションシステム２３５、１つまたは複数のアプリケーションプログラム２３６、他のプログラムモジュール２３７、およびプログラムデータ２３８を含む多数のプログラムモジュールを、機械読取可能媒体にストアすることができる。
【００４９】
ＰＶＡ２２０は、バスインタフェース２４６および周辺バス２５２を介して周辺装置と通信する。周辺バス２５２は、ＩＥＥＥ１３９４バス、ＩＳＯ１１８９８バス（すなわちＢＯＳＣＨ（商標）コントローラエリアネットワーク）、または他の種類のバスとすることができる。当業者であれば、スマートぺリフェラルに対するＥＮ５０１７０バス（すなわちプロフィバス対応バス）、ＩＳＡ  ＳＰ５０（すなわちフィールドバス協会対応バス）を使用することができる製造産業分野、または取替え可能ユニットに対するＡＲＩＮＣ（商標）を使用する航空宇宙分野等の、本発明を適用できる他の分野に多数の他の周辺バスが存在することを理解するであろう。いくつかの応用において、システムバス２２３を単に拡張することもできる。
【００５０】
従来のオペレーティングシステムでは、特定のディレクトリを指定して新たに取り付けられた周辺装置と共に使用できるデバイスドライバをサーチすることに留意されたい。これに対して、本発明は、オペレーティングシステムがデバイスドライバのロケーションに対するデータベースを検索すること、およびデバイスドライバのロケーションまたはアドレスは、周辺装置のＩＤを使用してデータベース内で見つけられることを要求する。
【００５１】
示した例において、周辺バス２５２にはディジタル携帯電話機２３３およびグローバルポジショニングシステム２３４が接続されている。周辺バス２５２に接続された他の周辺装置は、コンパクトディスクプレイヤー、ディジタルビデオディスクプレイヤーなどの、最近自動車に組み込まれている一般的な周辺装置を含んでいる。追加のソース２４９は、周辺バス２５２に接続されたときに、デバイスドライバまたは他のマテリアルを提供することができる。周辺装置の新たな接続は、最初の製造の間、サービスステーションにおけるメンテナンスの間、または車両がサービス内に配置された後の他の時に発生することができる。
【００５２】
以上で一般的に示したように、周辺バス２５２に接続された各周辺装置は周辺ノード２５６であり、情報を保持するためのファームウェアメモリ２５８を含む。ファームウェアメモリ２５８は販売者ＩＤ、製品ＩＤおよび／または周辺ノード２５６に関連する情報をストアする。
【００５３】
前記のように、周辺ノードのファームウェアメモリにストアされたＵＲＩまたはアドレスは、追加のソース２４９をアクセスすることができるロケーションを指定することができる。追加のソース２４９は別のＰＶＡ、外部のサーバ（これは一般にパーソナルコンピュータ２０と等しくてもよい）、ルータ、ネットワークパーソナルコンピュータ、ピア周辺装置、衛星、または別の公衆ネットワークノードとすることができる。
【００５４】
パーソナルコンピュータ２０と同様に、ＰＶＡ２２０はネットワークインタフェース２５３およびネットワーク２５１を介する１つまたは複数の論理接続を使用して、ネットワーク環境内で動作する。ネットワーク２５１は移動通信の無線ネットワーク、製造業者のサイトにおける通信の有線ネットワーク、サービスステーション、フリートステーション（fleet station）、またはレジデンスであることができる。無線であろうと有線であろうと、ネットワーク２５１はワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、またはいくつかの他の種類の通信ネットワークとすることができる。このようなネットワーク環境は、ディジタル携帯電話機、グローバルポジショニングシステム、緊急路側補助システム、輸送車両（shipping fleet）システム、およびインターネットに対して共通に使用することができる。ネットワーク２５１は、ＰＶＡ２２０が追加のソース２４９などのリモートソースと通信することを可能にする。図示のネットワーク接続は例示であり、従来のモデムなどの通信リンクを確立する他の手段を使用できることが認められるであろう。
【００５５】
追加のソース２４９からの周辺ノード２５６に関係する情報のアクセスは、ＵＳＢの実施形態について上述したのとほぼ同様の方法で遂行される。しかしながら、周辺ノード２５６による列挙および他の通信は、プロセッサ２２１および周辺ノード２５６の間に通信の割り当てられたレイヤを単純に追加する仲介の周辺バス２５２を通じて行われる。
【００５６】
新たな周辺ノードが周辺バス２５２に接続された場合、オペレーティングシステム２３５はＵＳＢの実施形態に関して上述したように通常新たなノードを列挙する。しかしながら、新たな周辺ノードが周辺バス２５２に接続された場合、バスインタフェース２４６はまず新たな周辺ノードの周辺バスアドレスを確立しなければならない。ＵＳＢの実施形態では、新たなデバイスが接続されたＵＳＢポートに対するアドレスが知られている。これと対比して、周辺バスはＰＶＡ上のポートに接続されるのみである。従って、各周辺ノードに対する仲介バスのアドレスは、新たなノードが列挙される前に確立されなければならない。上述したように、このステップは使用された特定の周辺バスに適用可能な周知の規格に従って遂行される。
【００５７】
例えば、新たなノードがＩＥＥＥ１３９４周辺バスに接続された場合、バスはそれ自体完全にリセットし、全ての周辺ノードがそれらの間で通信して、バスに接続された各周辺ノードの新たなバスアドレスを決定する。バスアドレスはゼロからｎ−１までの数字である。ｎは周辺ノードの番号である。次いで、ＰＶＡ２２０は、周辺ノード２５６を含む周辺バス上の各周辺ノードを列挙する。各周辺ノードは、ＵＳＢの装置記述子と同様に情報ブロックを含む。バス情報ブロックの第３および第４のクアドレット（ｑｕａｄｌｅｔ）は、グローバルに一意的なデバイスＩＤを含んでいる。代替として、ＵＳＢを使用することにより、テキストの記述子はファームウェアメモリ２５８内の別のロケーションにおいて、バス情報ブロック外のユニットディレクトリ内に識別子と共にストアすることができる。このテキストの記述子は列挙の間またはその後で取得できる。
【００５８】
周辺ノードが列挙され、または別法で装置記述子が周辺ノード２５６から取得されると、データベースからＵＲＩを取得し、またはＵＲＩを生成し、周辺ノードに関係するＵＲＩおよび情報をアクセスする方法の残りのステップは、実質的にＵＳＢの実施形態に関して上記で説明したのと同様である。
【００５９】
本発明を、それを実行する好ましい形態およびそれらの変形に関して説明してきたが、当業者であれば、請求項の範囲内で多くの追加の変形が可能であることを理解するであろう。従って、本発明の範囲はどのような方法にせよ上記の説明によって制限されず、完全に特許請求の範囲を参照することにより決定されることを意図している。
【００６０】
【発明の効果】
以上説明したように、本発明によれば、周辺装置から取得した周辺装置識別子を使用してデータベースからネットワークアドレスを決定し、またはその識別子に基づきネットワークアドレスを生成することができる。
【図面の簡単な説明】
【図１】本発明を実施するために好適な例示のパーソナルコンピュータ（ＰＣ）システムの概略ブロック図である。
【図２】本発明の好ましい実施形態のロジックを示す流れ図である。
【図３】特定の周辺装置に対応するネットワークアドレスがデータベースにストアされているかを決定する実施形態のロジックを示す流れ図である。
【図４】周辺装置に対する識別子を使用してデータベースからのネットワークアドレスにアクセスする実施形態のロジックを示す流れ図である。
【図５】データベースから取得したユニフォームリソースインジケータ（ＵＲＩ）から周辺装置に対する新たなデバイスドライバをダウンロードする実施形態のロジックを示す流れ図である。
【図６】ブラウザをアクティブにし、データベースから取得したＵＲＩをナビゲートして周辺装置に関連する情報を取得するロジックを示す流れ図である。
【図７】引き続きネットワークアドレスにより指示されたリモートサイトをアクセスするためのユーザによる表示およびアクティブ化に対するＵＲＩを含む周辺装置のプロパティページを作成するために用いられるロジックを示す流れ図である。
【図８】本発明を実施するために好適な例示のパーソナルビークルアシスタント（ＰＶＡ）システムの概略ブロック図である。
【符号の説明】
２１  処理ユニット
２２  システムメモリ
２３  システムバス
２４  ＲＯＭ
２５  ＲＡＭ
２６  ＢＩＯＳ
２７  ハードディスクドライブ
２８  磁気ディスクドライブ
２９  リムーバブル磁気ディスク
３０  光ディスクドライブ
３１  リムーバブル光ディスク
３２  ハードディスクドライブインタフェース
３３  磁気ディスクドライブインタフェース
３４  光ディスクドライブインタフェース
３５  オペレーティングシステム
３６  アプリケーションプログラム
３７  他のプログラムモジュール
３８  プログラムデータ
４０  キーボード
４２  ポインティングデバイス
４６  Ｉ／Ｏ装置インタフェース
４７  モニタ
４８  ビデオアダプタ
４９  リモートコンピュータ
５０  外部メモリ記憶装置
５１  ＬＡＮ
５２  ＷＡＮ
５４  モデム
５６  周辺装置
５８  ファームウェアメモリ
２２０  ＰＶＡ
２２１  処理ユニット
２２２  システムメモリ
２２３  システムバス
２２４  ＲＯＭ
２２５  ＲＡＭ
２２６  ＢＩＯＳ
２２７  記憶装置
２３２  記憶装置インタフェース
２３４  グローバルポジショニングシステム
２３５  オペレーティングシステム
２３６  アプリケーションプログラム
２３７  他のプログラムモジュール
２３８  プログラムデータ
２４９  追加のソース
２５１  ネットワーク
２５２  周辺バス
２５３  ネットワークインタフェース
２５６  周辺ノード
２５８  ファームウェアメモリ
【図１】
0004625213.tif 000002
【図２】
0004625213.tif 000003
【図３】
0004625213.tif 000004
【図４】
0004625213.tif 000005
【図５】
0004625213.tif 000006
【図６】
0004625213.tif 000007
【図７】
0004625213.tif 000008
【図８】
0004625213.tif 000009