(57)【要約】【課題】  自己インストールを行う周辺装置を提供すること。【解決手段】  装置は、装置がコンピュータオペレーティングシステムと通信することができるようにするデバイスドライバを格納する搭載メモリを含む。装置をコンピュータに接続する場合、装置は自動的にデバイスドライバをコンピュータに対しダウンロードし、そのデバイスドライバをインストールする。実施例において、装置は内蔵型ＵＳＢハブを含むＵＳＢデバイスである。搭載メモリをＵＳＢハブに接続するので、ＵＳＢデバイスの主要機能も、ＵＳＢハブを通る単一ＵＳＢ接続を経由してコンピュータに対し接続される。別の実施例において、装置は、無線接続プロトコルを経由してコンピュータに接続される。このような装置はブルートゥース対応装置である。【選択図】  図５
2005353073.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータ処理装置上で周辺装置を動作させるためのソフトウェアをインストールする方法であって、
前記周辺装置上のメモリにインストールソフトウェアを格納するステップと、
前記コンピュータ処理装置と前記周辺装置との間の接続を検出すると、前記コンピュータ処理装置に前記インストールソフトウェアをインストールして、前記コンピュータ処理装置上で前記周辺装置を動作させるようにするステップと
を備えたことを特徴とする方法。
【請求項２】
前記周辺装置は、ユニバーサルシリアルバス（ＵＳＢ）デバイスであることを特徴とする請求項１に記載の方法。
【請求項３】
前記周辺装置は、複数のポートを有するＵＳＢハブを備えたことを特徴とする請求項２に記載の方法。
【請求項４】
前記メモリは、前記ＵＳＢハブの複数のポートのうちの１つに接続されることを特徴とする請求項３に記載の方法。
【請求項５】
前記インストールソフトウェアは、ソフトウェアの装置ドライバを含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記インストールソフトウェアは、周辺装置の１つまたは複数のユーザ設定を構成するためのソフトウェアを含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記周辺装置の１つまたは複数のユーザ設定を構成するステップをさらに備えたことを特徴とする請求項６に記載の方法。
【請求項８】
前記周辺装置上のメモリに構成されたユーザ設定を格納するステップをさらに備えたことを特徴とする請求項７に記載の方法。
【請求項９】
前記コンピュータ処理装置から前記周辺装置を取外すステップと、
前記周辺装置を第二のコンピュータ処理装置に接続するステップと、
前記第二のコンピュータ処理装置と前記周辺装置との間の接続を検出すると、ソフトウェアをインストールして、前記周辺装置を前記第二のコンピュータ処理装置上で動作させるステップと、
前記周辺装置のメモリに格納され、構成されたユーザ設定に従って、前記周辺装置のユーザ設定を構成するステップと
をさらに備えたことを特徴とする請求項８に記載の方法。
【請求項１０】
前記接続は、無線接続であることを特徴とする請求項１に記載の方法。
【請求項１１】
前記周辺装置は、ブルートゥース対応装置であることを特徴とする請求項１０に記載の方法。
【請求項１２】
メモリに格納されたインストールソフトウェアを有し、コンピュータ処理装置に接続され、自己インストールを行う周辺装置において、前記周辺装置に追加の記憶装置を提供するための方法であって、
前記周辺装置から前記コンピュータ処理装置にインストールソフトウェアをコピーするステップと、
周辺装置上のメモリからインストールソフトウェアを削除するステップと
を備えたことを特徴とする方法。
【請求項１３】
周辺装置上のメモリを、コンピュータ処理装置上のファイルシステムに追加するステップをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記自己インストールを行う周辺装置は、コンピュータマウス、ＭＰ３プレーヤ、トラックボール、デジタルペン、ジョイスティック、デジタルカメラ、キーボード、ネットワークインターフェースカード、またはプリンタのうちの１つであることを特徴とする請求項１３に記載の方法。
【請求項１５】
前記周辺装置上のメモリからインストールソフトウェアを削除する前に、ユーザに問合せを行い、前記周辺装置に追加の記憶装置を所望するか否かを決定するステップをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１６】
前記周辺装置からコンピュータ処理装置にインストールソフトウェアをコピーする前に、ユーザに問合せを行い、前記周辺装置に追加の記憶装置を所望するか否かを決定するステップをさらに備えたことを特徴とする請求項１２に記載の方法。
【請求項１７】
コンピュータ処理装置におけるレジストリ設定を更新して、コンピュータ処理装置上のインストールソフトウェアの位置を識別するステップをさらに備えたことを特徴とする請求項に記載１２の方法。
【請求項１８】
第一のコンピュータ処理装置に接続された周辺装置上で更新ソフトウェアを維持する方法であって
遠隔コンピュータに接続するステップと、
前記更新ソフトウェアをダウンロードするステップと、
前記周辺装置上のメモリに前記更新ソフトウェアを格納するステップと、
前記更新ソフトウェアをインストールするステップと
を備えたことを特徴とする方法。
【請求項１９】
前記更新ソフトウェアは、前記周辺装置についての装置ドライバであることを特徴とする請求項１８に記載の方法。
【請求項２０】
前記更新ソフトウェアをインストールする前に、ユーザに問合せを行い、更新ソフトウェアをインストールすべきか否かを決定するステップをさらに備えたことを特徴とする請求項１９に記載の方法。
【請求項２１】
第一のコンピュータ処理装置から周辺装置を切断するステップと、
前記周辺装置を第二のコンピュータ処理装置に接続するステップと、
前記周辺装置と前記第二のコンピュータ処理装置との間の前記接続を検出すると、第二のコンピュータ処理装置に前記更新ソフトウェアをインストールするステップと
をさらに備えたことを特徴とする請求項１９に記載の方法。
【請求項２２】
前記周辺装置のハウジングの内側に配置されたメモリと、
前記メモリからの接続を受信するハブ装置と、
ハブ装置に接続された追加の装置と
を備えたことを特徴とする自己インストールを行う周辺装置。
【請求項２３】
前記メモリは、前記ハブ装置に接続された追加の装置についてのデバイスドライバを格納していることを特徴とする請求項２２に記載の自己インストールを行う周辺装置。
【請求項２４】
前記自己インストールを行う周辺装置は、ＵＳＢデバイスであることを特徴とする請求項２３に記載の自己インストールを行う周辺装置。
【請求項２５】
前記ハブは、ＵＳＢハブであることを特徴とする請求項２４に記載の自己インストールを行う周辺装置。
【請求項２６】
前記追加の装置は、ＵＳＢ対応のカーソル制御装置であることを特徴とする請求項２５に記載の自己インストールを行う周辺装置。
【請求項２７】
コンピュータ処理装置に対して自己インストールを行う周辺装置の接続を検出すると、前記コンピュータ処理装置にデバイスドライバをインストールすることを特徴とする請求項２６に記載の自己インストールを行う周辺装置。
【請求項２８】
前記メモリは、ＵＳＢフラッシュメモリであることを特徴とする請求項２６に記載の自己インストールを行う周辺装置。
【請求項２９】
追加のソフトウェアを格納する追加のＵＳＢフラッシュメモリをさらに備えたことを特徴とする請求項２８に記載の自己インストールを行う周辺装置。
【請求項３０】
前記追加のＵＳＢフラッシュメモリは、前記ＵＳＢハブに接続されることを特徴とする請求項２９に記載の自己インストールを行う周辺装置。
【請求項３１】
前記装置は、支持する表面に関係のあるマウスの移動を決定するためのセンサを有する前記マウスであることを特徴とする請求項３０に記載の自己インストールを行う周辺装置。
【請求項３２】
前記装置は、装置の上面に配置される回転球を含み、前記上面に関係のある前記球の前記回転を決定するためのセンサを含むトラックボールであることを特徴とする請求項３０に記載の自己インストールを行う周辺装置。
【請求項３３】
前記装置は、プリンタ、メモリおよび画像取り込み用レンズを有するデジタルカメラ、ならびにメモリおよびＭＰ３ファイルを再生するソフトウェアを有するＭＰ３プレーヤのうちの１つであることを特徴とする請求項３０に記載の自己インストールを行う周辺装置。
【請求項３４】
前記接続は、無線接続であることを特徴とする請求項２２に記載の自己インストールを行う周辺装置。
【請求項３５】
前記装置は、ブルートゥース対応装置であることを特徴とする請求項３４に記載の自己インストールを行う周辺装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、コンピュータ装置に関し、より詳細には、コンピュータに新しいハードウェア装置をインストールするための方法および装置に関する。
【背景技術】
【０００２】
多くのコンピュータは、多数の周辺装置に対して「プラグアンドプレイ」として知られる機能を提供するオペレーティングシステムを装備する。用語の「プラグアンドプレイ」は、コンピュータのオペレーティングシステムに可能であることであって、新しい周辺装置の接続を検出し、この新しい周辺装置と通信するのにオペレーティングシステムに対して必要なドライバを自動的にインストールすることが可能であることを意味する。明らかに、用語は、装置をプラグに差し込むと直ちにプレイすることができるという概念から着想された。プラグアンドプレイ技術は、コンピュータに周辺装置を追加するために当時存在していた方法を越えた進歩であると考えられた。プラグアンドプレイ技術の出現の前には、新しい周辺装置毎に、装置を適切に働かせるために必要な装置ドライバを手動でインストールすることが要求された。したがって、装置製造者は、インストールプログラムおよび必要なドライバを、装置に含まれるフロッピイディスクまたはＣＤ−ＲＯＭなどのコンピュータ読取可能な媒体に格納させる必要があった。
【０００３】
プラグアンドプレイ技術は、典型的に周辺装置製造者とオペレーティングシステム開発者との間の協力を必要とした。装置がプラグアンドプレイ技術の利点を完全に実現するためには、その装置の接続されるコンピュータ上に予め装置ドライバがインストールされている必要があった。必要な装置ドライバがコンピュータ上の何処かに予めインストールされていない場合は、オペレーティングシステムが装置を認識しても、装置のインストールを完了するには何か外部のコンピュータ読取可能な媒体が必要であった。その結果、装置製造者は、新しいオペレーティングシステムのリリース前に、オペレーティングシステム開発者に対しドライバを供給し、オペレーティングシステムが接続の検出に際して、周辺装置の認識と必要ドライバのインストールの両方をおこなうようにしていた。
【０００４】
明らかに、プラグアンドプレイ技術開発の後であっても、装置製造者は、その周辺装置を、インストールソフトウェアおよび装置ドライバを格納するディスクおよびＣＤ−ＲＯＭと共にパッケージすることを継続した。このパッケージが必要であったのは、早期のプラグアンドプレイモデルに伴う若干の欠点のためであった。第一に、オペレーティングシステムの新バージョンまたは普通にサービスパックとして知られる更新が頻繁でなかったため、プラグアンドプレイオペレーティングシステムのリリースに続いて開発されリリースされた装置には、最新オペレーティングシステムリリースに含まれるドライバがなかったためである。第二には、装置製造者がドライバを頻繁に更新し、オペレーティングシステムを備えるその製品の性能を改善したからである。こうして、オペレーティングシステムの元のリリースに含まれるドライバは、その製品に関して利用可能な最良のドライバではなくなる。オペレーティングシステム販売者は、最新のドライバを確実にサービスパックに含めるのに膨大な資源を投入したけれども、新たなハードウェア周辺装置は頻繁に導入された。その結果、ＯＳ更新にすべてのドライバをロードするのは、実用的ではなかった。そうすることは、膨大なシステム資源を必要とし、未使用のドライバ上のコンピュータのメモリ記憶空間を消費する傾向があるからである。
【０００５】
図２は、例示的な先行技術周辺装置インストール処理に固有の複雑性の例を示す。ステップ２００において、プラグアンドプレイ装置がコンピュータに接続され、オペレーティングシステム（ＯＳ）がプラグアンドプレイ装置を認識する。ステップ２０１において、ＯＳはその装置を動作させるための装置ドライバが、ハードドライブ上でオペレーティングシステムの知る位置に格納されているか否かを決定する。装置ドライバが存在する場合、システムはステップ２０４にスキップし、ここで、オペレーティングシステムはハードドライブ上の既知の位置から装置ドライバを用いて装置をインストールしようとする。装置ドライバがＯＳの中に存在しない場合、システムはステップ２０２に進み、ここで、システムはフロッピイディスクまたはＣＤ−ＲＯＭなどの外部媒体上で装置ドライバを探す。ドライバが外部媒体上で見つけられる場合、システムはステップ２０４までスキップし、ここで、外部媒体上に見つけられる装置ドライバを用いて装置をインストールしようとする。外部媒体上で装置ドライバを見つけることが出来ない場合、システムは、周辺装置に対応する汎用ドライバを探す。汎用ドライバが見つかる場合、オペレーティングシステムはステップ２０４において、装置をインストールしようとする。ステップ２０５において、システムは、インストールに成功したか否かを決定する。インストールに成功している場合、システムはステップ２１０に進み、ユーザは、これで装置にアクセスすることができる。インストールに失敗した場合、システムはステップ２０６に進み、ここで、利用可能な技術サポートがあるか否かを決定する。技術サポートが利用可能である場合は、ステップ２０９において技術サポートが提供される。提供される技術サポートの型にしたがって、このサポートは、技術サポート要員またはウエブサイト維持の形で、装置製造者に多額の費用を生じる。あるいは、技術サポートが利用可能ではない場合、ステップ２０７において、期待を裏切られる顧客が現れる。実体はないけれども、期待を裏切られる顧客というのは、装置製造者の実質的な損失である。ステップ２０８において、インストールは失敗し、顧客はステップ２００に戻って、インストール処理を再開しなければならない。明らかに、図２に示すようなインストールルーチンには、失敗の可能性のある点が多数あり、製造者に対して高価になる可能性がある。
【０００６】
ようやく、装置製造者とオペレーティングシステム開発者の双方が、装置ドライバの提供と更新のためインターネットが役立つであろうことに気付いた。その結果、更新装置ドライバは、ウエブサイトを通してダウンロードのため利用することができるようにされた。しかしながら、この解決策は、インターネットに対するアクセスのないコンピュータに関わる問題には対処していない。その上、コンピュータ所有者に販売されたもっと普通の周辺装置のうちの１つは、ネットワークインターフェースカード（ＮＩＣ）であった。皮肉なことに、インターネットにアクセスするため必要なＮＩＣドライバを入手するため、インターネット接続が必要であった。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
先行技術に伴う短所の観点から、必要とされるのは、何らかの外部媒体にアクセスすることなく、周辺装置を自動的にインストールする方法である。装置の最初の接続の際に最新の装置ドライバがインストールされることを、プラグアンドプレイ装置の製造者が容易に保証することができるのは、追加の利点であろう。
【課題を解決するための手段】
【０００８】
本発明の第一の態様により、周辺装置をオペレーティングシステムに自己インストールするための方法が提供される。その方法は、装置上に配置される不揮発性メモリに装置ドライバを格納することを含む。装置をコンピュータに接続する場合、オペレーティングシステムが装置を認識し、その装置ドライバを装置上の不揮発性メモリからダウンロードしてインストールし、真のプラグアンドプレイが可能であることを提供する。
【０００９】
本発明の第二の態様により、ＵＳＢハブがＵＳＢ周辺装置の中に配置される。このハブは、コンピュータが、装置の機能および、ＵＳＢハブにリンクするフラッシュメモリチップなどの不揮発性メモリ内に格納されているインストールルーチンの双方に、アクセスする単一のアクセスポイントを提供する。
【発明を実施するための最良の形態】
【００１０】
本発明を、例を用いて例示しおよび制限はしないが、添付図面において、同一の参照符号は同一の要素を示す。
【００１１】
図１は、本発明が実施される適切なコンピュータ処理システム環境１００の例を示す。コンピュータ処理システム環境１００は、適切なコンピュータ処理環境の単なる一例で、本発明の利用範囲または機能性に関し、何らのかの制限を意図するものではない。コンピュータ処理システム環境１００は、例示的コンピュータ処理システム環境１００に示されるコンポーネントの任意の１つまたは組合せに関し、どのような依存関係もしくは要件も有するものと解釈すべきものでもない。
【００１２】
本発明は、多数の別の汎用または特殊目的のコンピュータ処理システム環境または構成を用いて実施できる。本発明とともに使用するため適する公知のコンピュータ処理システム、環境、および／または構成の例には、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップの装置、マイクロプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能なコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、ビデオゲーム機、メインフレームコンピュータ、上述のシステムまたは装置の何れかを含む分散コンピュータ処理環境などを含むが、これらには限定しない。
【００１３】
本発明は、プログラムモジュールなど、コンピュータが実行するコンピュータ実行可能命令を一般的な背景で記述する。一般的に、プログラムモジュールには、特殊なタスクを実行するかまたは特殊な抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。本発明はまた、通信ネットワークを通してリンクされたリモート処理装置がタスクを実行する分散コンピュータ処理環境においても実用化される。分散コンピュータ処理環境において、プログラムモジュールは、ローカルコンピュータおよびリモートコンピュータ双方の、メモリ記憶装置を含む記憶媒体の中に配置される。
【００１４】
図１を参照すると、本発明を実施するための例示的システムは、コンピュータ１１０の形の汎用コンピュータ処理装置を含む。コンピュータ１１０のコンポーネントは、処理ユニット１２０、システムメモリ１３０，および、システムメモリを含む各種システムコンポーネントを処理ユニット１２０に対して結合するシステムバス１２１を含むが、これらに限らない。システムバス１２１は、メモリバスまたはメモリコントローラ、ペリフェラルバス、および各種バスアーキテクチャのうち任意のものを使用するローカルバスを含む幾つかの型のバス構造体のうち任意のもので差し支えない。例として、このようなアーキテクチャは、インダストリアルスタンダードアーキテクチャ（ＩＳＡ）バス、マイクロチャンネルアーキテクチャ（ＭＣＡ）バス、エンハンストＩＳＡ（ＥＩＳＡ）バス、ビデオエレクトロニクススタンダードアソシエーション（ＶＥＳＡ）ローカルバス、およびメザニンバスとしても知られているペリフェラルコンポーネントインターコネクト（ＰＣＩ）バスを含むが、これらに限定しない。
【００１５】
コンピュータ１１０は典型的に、各種コンピュータ読取可能な媒体を含む。コンピュータ読取可能な媒体は、コンピュータ１１０がアクセスすることのできる任意の利用可能な媒体であることが可能で、揮発性媒体および不揮発性媒体の双方、取外し可能媒体および固定媒体の双方を含む。例として、コンピュータ読取可能な媒体は、コンピュータ記憶媒体および通信媒体を含むが、これに限定はしない。コンピュータ記憶媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたは他のデータなどの情報の記憶するための方法または技術により実施される揮発性媒体および不揮発性媒体の双方、取外し可能媒体および固定媒体の双方を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ装置、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク装置または他の磁気記憶装置、または所望の情報を格納するのに使用可能で、コンピュータ１１０がアクセスできる他のいっさいの媒体を含むが、これらには限らない。通信媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールまたは他のデータを、搬送波または他のトランスポート機構などの変調データ信号の形で典型的に具体化し、情報送達媒体を含んでいる。用語「変調データ信号」は、情報を信号で符号化するようの方法で設定または変更された特性を1または複数有する信号を意味する。例として、通信媒体は、有線ネットワークまたは直接有線接続などの有線媒体、および音声、ＲＦ、赤外線および他の無線媒体などの無線媒体を含むが、これらに限定しない。上記のいずれかの組み合わせもコンピュータ読取可能な媒体の範囲に含まれる。
【００１６】
システムメモリ１３０は、読み出し専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２など揮発性および／または不揮発性メモリの形式のコンピュータ記憶媒体を含む。立ち上げの間などに、コンピュータ内で要素間の情報転送を助ける基本ルーチンを含む基本入出力システム（ＢＩＯＳ）は、典型的にＲＯＭ１３１に格納される。ＲＡＭ１３２は、典型的に、直ちにアクセス可能なおよび／または処理装置１２０が現在動作させているデータおよび／またはプログラムモジュールを収容する。例として、図１にオペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示すが、これらに限らない。
【００１７】
コンピュータ１１０は、他の取外し可能／固定の、揮発性／不揮発性コンピュータ記憶媒体も含む。例のみとして、図１に、固定の不揮発性磁気媒体から読込をする、またはそこに書込みをするハードディスクドライブ１４１、取外し可能不揮発性磁気ディスク１５２から読込をする、またはそこに書込みをする磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭまたは他の光媒体などの取外し可能不揮発性光ディスク１５６から読込をする、またはそこに書込みをする光ディスクドライブ１５５を示す。例示的オペレーティング環境に使用することできる他の取外し可能／固定の、揮発性／不揮発性コンピュータ記憶媒体は、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどを含むが、これらに限定しない。ハードディスクドライブ１４１は、典型的にインターフェース１４０など固定のメモリインターフェースを通して、システムバス１２１に接続され、磁気ディスクドライブ１５１、および光ディスクドライブ１５５は、典型的に、インターフェース１５０など取外し可能メモリインターフェースによりシステムバス１２１に接続される。
【００１８】
上述の図１に示すドライブおよびそれに関連するコンピュータ記憶媒体は、コンピュータ読取可能な命令の記憶装置、データ構造体、プログラムモジュールおよび他のデータをコンピュータ１１０に提供する。図１に、例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を格納するとして示す。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同一のことも異なることもあることに注意しておく。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、ここで異なる番号を与えて、少なくとも、これらは異なるコピーであることを示している。ユーザは、キーボード１６２、および一般にマウス、トラックボールまたはタッチパッドと呼ばれるポインティングデバイス１６１などの入力装置を通してコマンドおよび情報をコンピュータ１１０に入力する。他の入力装置（図示せず）には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどが含まれる。これらおよび他の入力装置は、システムバスに結合されるユーザ入力インターフェース１６０を通して処理ユニット１２０に接続されることが多いが、パラレルポート、ゲームポートまたはユニバーサルシリアルバス（ＵＳＢ）など別のインターフェースおよびバス構造により接続しても差し支えない。モニタ１９１または別の型の表示装置も、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。モニタに加えて、コンピュータは、スピーカ１９７およびプリンタ１９６など、出力周辺インターフェース１９０を通して接続される別の周辺出力装置をも含む。
【００１９】
コンピュータ１１０は、リモートコンピュータ１８０など１または複数のリモートコンピュータに対する論理接続を用いるネットワークされた環境において操作してもよい。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードとすることができるし、図１にはメモリ記憶装置１８１だけを図示したが、典型的にはコンピュータ１１０に関して先に述べた要素の多くまたは全てを含んでいる。図１に描写する論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１およびワイドネットワーク（ＷＡＮ）１７３を含むだけでなく、別のネットワークをも含むことがある。このようなネットワーク環境は、事務所、企業全体のコンピュータネットワーク、イントラネットおよびインターネットでは普通のことである。
【００２０】
ＬＡＮネットワーク環境内で用いる場合、コンピュータ１１０は、ネットワークインターフェースまたはアダプタ１７０を通してＬＡＮ１７１に接続される。ＷＡＮネットワーク環境内で用いる場合、コンピュータ１１０は、インターネットなどのワイドネットワーク１７３上に通信を確立させるため、典型的にモデム１７２または他の手段を含む。モデム１７２は、内蔵または外付けであって、ユーザ入力インターフェース１６０または他の適切なメカニズムを介してシステムバス１２１に接続してもよい。ネットワーク環境内において、コンピュータ１１０に関して説明したプログラムモジュールまたはその一部は、リモートメモリ記憶装置に格納してもよい。例として、これに制限されるものではないが、図１は、リモートアプリケーションプログラム１８５が記憶装置１８１上に存在するものとして説明している。なお、図示されたネットワーク接続は例示的なものであって、コンピュータの間に通信リンクを成立させる別の方法を用いてもよい。
【００２１】
本発明は、自己インストールを行うコンピュータ周辺装置の提供により、先行技術に見出される限界と欠陥を克服する。本発明の一実施例において、自己インストールを行う周辺装置は、ユニバーサルシリアルバス（ＵＳＢ）デバイスである。ＵＳＢデバイスは、ここで、コンピュータ処理装置上のＵＳＢポートに対する接続を介してコンピュータ処理装置と直接または間接に通信することのできる任意の周辺装置であると定義する。図３に、ＵＳＢハブ３００を用いて１または複数のＵＳＢデバイス３００（ａ）〜（ｄ）を、コンピュータ処理装置上、例えば図１のコンピュータ１１０上にある単一のＵＳＢポートに対し接続する方法のブロック図を示す。ＵＳＢハブは、ここで、２またはそれより多いＵＳＢデバイスが単一のＵＳＢ接続を共有することのできる機構であると定義する。ＵＳＢハブは、当事業者に公知の技術で、利用可能なＵＳＢポートが限られているコンピュータに対し複数のＵＳＢデバイスを接続する目的のため消費者に対し販売されている。これら公知のＵＳＢハブは、通常コンピュータ処理装置上のＵＳＢポートに接続する小型外付け装置の形式を採用する。
【００２２】
ＵＳＢハブ３００は、インターフェースを備えており、それにより数個のＵＳＢ装置３０２（ａ）〜（ｄ）が単一のＵＳＢ接続を共有して、コンピュータ上のＵＳＢポートに動作可能で接続される。ＵＳＢハブ３００は外付け装置であることが多く、これを用いて、単一のＵＳＢポートしかないパーソナルコンピュータ１１０に対し、数個のＵＳＢデバイスを接続することができるようになる。例えば、再度図３を参照すると、ＵＳＢデバイス３０２（ａ）はプリンタ、ＵＳＢデバイス３０２（ｂ）はネットワークインターフェースカード（ＮＩＣ）、ＵＳＢデバイス３０２（ｃ）はキーボード、およびＵＳＢデバイス３０２（ｄ）はマウスであって差し支えない。ＵＳＢハブにより、これら装置の各々が、コンピュータ１１０に対する単一接続を共有することができる。
【００２３】
図４を参照すると、本発明の１または複数の態様による自己インストールを行う周辺装置４００が示されている。ＵＳＢハブ３００が外付け装置である図３に示すシナリオとは異なり、図４に示す自己インストールを行う周辺装置４００は、内蔵ＵＳＢフラッシュメモリ４０４およびＵＳＢ装置４０６を含んでおり、それぞれが、内蔵ＵＳＢハブコンポーネント４０２およびＵＳＢ対応接続を介してコンピュータ１１０に動作可能で接続されている。ＵＳＢフラッシュメモリ４０４は、その上にインストールソフトウェアを格納している。用語「インストールソフトウェア」は、ここで、自己インストールを行う周辺装置４００と通信をして、自己インストールを行う周辺装置の機能性を改良する任意のソフトウェアと定義する。一実施例において、インストールソフトウェアは、ソフトウェア装置ドライバを含んでおり、これは、オペレーティングシステム１４４にインストールする場合、ＵＳＢコンポーネント４０２が、コンピュータ１１０上に格納されたオペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７と共に動作可能に機能できるようにする。別の実施例において、インストールソフトウェアは、自己インストールを行う周辺装置４００との関連で使用されるアプリケーションプログラムであってもよい。
【００２４】
自己インストールを行う周辺装置４００は、数個の異なるハードウェア装置のうち任意のものに実現される。例として、これに制限されないが、一実施例において、自己インストールを行う周辺装置４００は、コンピュータマウスまたは何か別のカーソル制御装置である。この実施例において、ＵＳＢハブデバイス４０２、ＵＳＢフラッシュメモリデバイス４０４およびＵＳＢコンポーネント４０６の各々は、マウスの外側ハウジング４０１の内部に収容されているので、マウスは外観では典型的ＵＳＢマウスと相違がないように見える。この方法で自己インストールを行う周辺装置に変更される別の型のコンポーネントには、プリンタ、ネットワークインターフェースカード（ＮＩＣ）、キーボード、ジョイスティック、トラックボール、デジタルペン、ＭＰ３プレーヤ、デジタルカメラ、またはコンピュータに接続される他の周辺装置が含まれる（しかし、必ずしもこれらに制限されない）。上述の例は、ユニバーサルシリアルバスコンポーネントおよびハブを用いて記述したけれども、ここに記述する発明的特徴は、ＰＣＩ、ＳＣＳＩ、ＥＩＳＡ、ＩＳＡ、ファイヤーワイヤー（ＩＥＥＥ３９４）などのプロトコルを接続する別の公知の装置を用いて実施されることを、当事業者は容易に理解するであろう。その上、ここに記述する発明的特徴は、ブルートゥースおよび他の公知技術の無線接続プロトコルを用いて実施されることを、当事業者は理解するであろう。
【００２５】
再度図４を参照すると、フラッシュメモリ４０４が格納しているのは装置ドライバ４０８で、これによりオペレーティングシステムはその装置と正しく通信することができる。追加のソフトウェア４１０も、フラッシュメモリ４０４に格納される。追加のソフトウェア４１０は、装置の何らかの高度な特徴を構成できるソフトウェアである。または、別の実施例においては、装置との関連で使用されるソフトウェアであってもよい。例えば、自己インストールを行う周辺装置４００がデジタルカメラである場合、追加のソフトウェア４１０はマイクロソフトのフォトエディタなどのマルチメディアプログラムである。自己インストールを行う周辺装置４００がＭＰ３プレーヤである場合、追加のソフトウェア４１０は何らかの音楽再生ソフトウェアかまたは、ＭＰ３ソングを各種の方法で編成することのできるライブラリソフトウェアである。
【００２６】
本発明の１または複数の態様によると、自己インストールを行う周辺装置は、周辺装置と正しくインターフェースするようコンピュータを構成する装置ドライバを自動的にインストールする。図５は、本発明の１または複数の態様により、自己インストールを行う周辺装置を自動的にインストールするためのステップを示すフローチャートを提供する。提供する例において、自己インストールを行う周辺装置は、図４に記述するものなど、プラグアンドプレイ対応ＵＳＢデバイスである。しかしながら、上述のように、装置は何か別の型の接続（無線接続を含む）を使用して差し支えないことは当事業者に理解される筈である。ステップ５００において、自己インストールを行う周辺装置４００がコンピュータ（例えばコンピュータ１１０）に接続され、接続を検出する。当事業者に公知の方法により、プラグアンドプレイ装置は、システムに対しそれ自身を識別し、その装置が必要とするリソースをシステムに通知する。ステップ５０２において、システムは、その装置に周辺装置を自己インストールすることができるかどうかを一般的に決定する。この固有の実施例においては、その装置がＵＳＢデバイスであるか否かを問合せることにより決定する。検出される装置に、周辺装置を自己インストールすることができない場合は、ステップ５１６において、自動インストールを取り消す。
【００２７】
装置に周辺装置を自己インストールすることができる場合、システムはステップ５０４に進み、ここで、装置上でアクセス可能な記憶領域が利用可能か否かを決定する。装置がＵＳＢデバイスである一実施例においては、システムは装置上でＵＳＢフラッシュメモリチップ４０４を探す。装置が何か別の種類の周辺装置である別の実施例においては、システムはＵＳＢ対応でないフラッシュメモリチップを探す。ＵＳＢフラッシュメモリチップ４０４が存在しない場合は、ステップ５１６において、自動インストールを取り消す。ＵＳＢフラッシュメモリチップ４０４が存在する場合は、システムは５０６に進み、ここで、アクセス可能な記憶領域に自己インストールを行う周辺装置４００のための装置ドライバを含むか否かを決定する。装置ドライバが記憶領域（例えば、ＵＳＢフラッシュメモリチップ４０４）に見つけられない場合は、ステップ５１６に進むことにより、自動インストールを取り消す。適切な装置ドライバが見つけられる場合、システムは装置ドライバが既にコンピュータ処理装置上にインストールされているか否かを決定する。そうであれば、インストールの必要はないので、５１６において、自動インストールを取り消す。装置ドライバがまだインストールされていない場合は、ステップ５１０において、自己インストールを行う周辺装置４００上のメモリ４０４に格納されている装置ドライバを、フラッシュメモリ４０４からコンピュータ処理装置１１０上の適切な記憶媒体にコピーすることにより、ＰＣにダウンロードする。
【００２８】
次に、オペレーティングシステムが新しいドライバを検出し、ステップ５１２において、インストール処理を開始する。この処理は、オペレーティングシステム自体がオートプレイまたは何か別の自動ソフトウェア起動技術を用いて開始するか、またはオペレーティングシステムが装置から受取る何らかの信号を通して開始される。代替実施例においては、その装置を自動的にインストールすることをユーザが所望するか否かを問合わせる問合せに対するユーザの応答を介して、インストールをユーザ開始とすることができる。最後に、ステップ５１４において、装置に対して装置ドライバをインストールし、結果としてコンピュータが周辺装置と通信することが可能となる。
【００２９】
本発明の別の態様によると、自己インストールを行う周辺装置４００を使用して、装置のためのユーザ構成の設定をアップロードしてフラッシュメモリチップ４０４に格納することにより格納し、これらの設定を自動的に第二のコンピュータに転送して、ユーザが装置を容易に１つのコンピュータから別のコンピュータに移動することができるようにする。この特徴は、ポータブルな周辺装置の文脈において極めて有用であるけれども、例えば、ユーザがパーソナルコンピュータを置換えたが、それに付属する周辺装置は置換えないとの状況などの固定された周辺装置の文脈の中でも同様に実施される。
【００３０】
上述のように、本発明の若干の実施例において、自己インストールを行う周辺装置４００は、フラッシュメモリ４０４にデバイスドライバ４０８を格納するだけでなく、追加のインストールソフトウェア４１０も格納する。場合によっては、追加のソフトウェア４１０を設けて、ユーザが装置４００の追加の特徴の利点を生かすことができる。例えば、ＵＳＢマウスにおいて、基本マウスドライバはマウスを接続して、ユーザがマウスの基本機能を利用することができるようにする。マウスには、デバイスドライバ単独ではアクセスできないハードウェアに組込まれた追加の特徴を備えてもよい。例えば、マウスカーソルの画面移動速度、スクロールホイールの速度などの構成特性、テーマのカーソルの構成、またはボタンの右利きまたは左利き構成さえも（基本特徴のみを提供する）デバイスドライバを介してアクセスすることは出来ない。むしろ、デバイスドライバに追加してインストールすべきソフトウェアを通してアクセスされる。
【００３１】
図６を参照して、図４のＵＳＢの自己インストールを行う周辺装置４００などの自己インストールを行う周辺装置に格納される構成設定により、第二コンピュータを構成するのに使用されるステップを、フローチャートにより記述する。方法は、図４のＵＳＢデバイスの観点から記述するけれども、ＵＳＢデバイスは、図６を説明する方法の各ステップを実施するのに使用される装置の多数の可能な型のうちの１つに過ぎない。例えば、代替実施例において、コンピュータ処理装置は、無線接続対応装置と併せて無線接続プロトコルを利用するコンピュータを含む。一実施例において、システムはブルートゥース対応パーソナルコンピュータおよび、キーボード、マウス、プリンタ、または当事業者に公知の何か別のブルートゥース対応周辺装置などのブルートゥース装置を含む。ＵＳＢの背景でオペレーティングシステムがＵＳＢデバイス接続を検出するのと全く同様に、オペレーティングシステムはブルートゥース接続を検出し、上述と同様の方法で、ブルートゥース対応装置上の不揮発性メモリに格納されたドライバをダウンロードする。
【００３２】
ステップ６０２において、デバイスドライバ４０８をインストールすることにより、周辺装置４００を第一コンピュータ上に設定する。このインストールは、図５の各ステップを用いて達成する。装置が上手くインストールされると、システムはステップ６０４において、追加の構成が、追加のソフトウェア４１０を介して装置に利用可能か否かを決定する。利用可能な追加のソフトウェア４１０がない場合は、ステップ６１８に進むことにより、第一コンピュータの構成を完了する。追加の構成ソフトウェア４１０が見出される場合、ユーザはステップ６０６において装置に関するユーザ設定を調整する。ステップ６０８において、後々の使用のため、設定をフラッシュメモリに書き戻す。次にステップ６１０において、周辺装置４００を第一コンピュータから取外し、次いでステップ６１２において、第二コンピュータに接続する。第二コンピュータに対する接続に際し、ステップ６１４において、自己インストールを行う周辺装置４００は自動的にその装置ドライバを第二コンピュータにインストールする。これは、図５に示す各ステップによっておこなわれてもよい。次にステップ６１６において、システムは格納された設定をフラッシュメモリ４０４から読取り、追加のソフトウェア４１０を格納された設定と併せて使用して、第二コンピュータを構成する。その結果、第二コンピュータは、第一コンピュータにおけると同様の方法で自己インストールを行う周辺装置と通信する。
【００３３】
本発明の追加の態様により、装置のインストールに続いて、フラッシュメモリ４０４が提供するデータ記憶容量を、追加の記憶容量としてユーザに提供する。図７を参照すると、ステップ７０２において、場合によっては図５に記述する各ステップを通して、自己インストールを行う周辺装置４００がコンピュータ１１０に、インストールされ、構成されている。インストールおよび構成の完了に際し、ステップ７０４において、システムはユーザに問合せを行い、装置上に追加の記憶装置を所望するか否かを決定する。この問合せを実行するためのコンピュータ命令は、追加のソフトウェア４１０に格納されるか、またはコンピュータ処理装置１１０上の記憶媒体に格納される。このユーザ問合せの表現法は、自己インストールを行う周辺装置の型により特徴付けられる。例えば、周辺装置４００がデジタルミュージックプレーヤ（例えばＭＰ３プレーヤ）である場合は、システムはユーザに対し、装置上に特別な記憶装置が必要か否かを問合せるであろう。この特別な記憶装置を設けることによりＭＰ３プレーヤは、装置上に格納することのできるソングの数を増やすことができる。コンピュータマウスの場合、システムは、マウスの中で利用可能な記憶装置を拡張することを所望するか否かを問合せるであろう。ユーザが、利用可能な記憶装置の拡張を選ぶ場合、マウスはデータ記憶装置として使用される。マウスをデータ記憶装置として使用することにより、ユーザはそのマウスを任意のコンピュータに接続し、マウスからプレゼンテーションにアクセスしロードすることができる。
【００３４】
ユーザが装置上の自由記憶空間の追加を拒否する場合は、ステップ７１４においてインストール処理は終了する。ユーザ応答が、ユーザは追加の記憶空間の受取りを希望していることを示す場合は、システムはステップ７０８に進み、ここで、デバイスドライバ４０８および／または追加のソフトウェア４１０をコンピュータ１１０上のローカルハードディスクドライブ１４１にコピーする。このコピールーチンにより、ユーザがハードディスク１４１上でファイルのコピー位置を選択することができるか、またはハードディスク１４１上の指定前の領域、もしくはコンピュータ１１０に付属された何か別の記憶媒体に対し自動的にコピーされる。オペレーティングシステムレジストリ設定が更新されて、デバイスドライバと追加のソフトウェアの新しい位置を反映する。別の実施例においては、ユーザまたはシステムはステップ７０８を飛ばして、直接ステップ７１０に進む。
【００３５】
ステップ７１０において、全てのデータ（デバイスドライバ４０８、追加のソフトウェア４１０）を、フラッシュメモリ４０４から削除する。デバイスドライバは比較的小さい傾向があるため、および装置がオペレーティングシステムと共に正しく機能することを可能にするその役割のため、デバイスドライバ４０８は、フラッシュメモリ４０４に残して追加のソフトウェア４１０のみを削除することがある。ステップ７１２において、フラッシュメモリ４０４をコンピュータファイルシステムに外部メディア装置として取付ける。次いで、フラッシュメモリ４０４は、ウィンドウズ（登録商標）エクスプローラなどのプログラムを介して、追加のドライブマッピングとして利用可能にする。フラッシュメモリ４０４により提供される追加の記憶装置をファイルシステムに追加すると、ステップ７１４において、構成処理は完了する。
【００３６】
本発明の別の態様により、自己インストールを行う周辺装置のためのドライバの更新バージョンを維持する方法が提供される。図８は、本発明のこれら態様を実施するのに適するネットワーク環境を示す。コンピュータ８００は、ローカルエリアネットワークの中でルータ８０２に接続される。ルータ８０２は、インターネット８０４などのワイドエリアネットワークにゲートウエイを提供する。リモートサーバ８０６もインターネット８０４に接続され、ローカルコンピュータ８００にアクセスすることができる。リモートサーバ８０６は、周辺装置４００のため最近更新したばかりのデバイスドライバ、および装置と併せて使用される任意の追加のソフトウェアを格納する。コンピュータ８００に接続されているのは、自己インストールを行う周辺装置４００で、この場合はデジタルカメラとして示す。
【００３７】
ここで図９を参照する。更新ソフトウェアを周辺装置上に維持するために使用される各ステップを記述するフローチャートである。ステップ９０２において、装置ドライバ４０８がコンピュータ８００にインストールされ、これによりオペレーティングシステムは装置４００と通信することができる。このインストールは、図５に記述するメソッドによるか、または代わりに何か別の当事業者に公知のインストールルーチンによるものでよい。次に、ステップ９０４において、自己インストールを行う周辺装置２００を用いて、そのために入手することのできる任意の追加のソフトウェアをインストールする。以前と同様に、このインストールは、ここで以前に説明した（例えば、図５および図６）ルーチンか、または代わりに、何か別の当事業者に公知のインストールルーチンによるものでもよい。
【００３８】
コンピュータ８００上に周辺装置が設定されると、ワイドネットワーク８０４に対する接続が検出される。この検出は、公知のＩＰアドレスのピンギングなど当事業者に公知の技術を通して達成される。ネットワーク接続が検出されると、ステップ９０８において、システムはリモートサーバ８０６に接続して、更新ドライバおよび任意の追加のソフトウェアをダウンロードする。そのソフトウェアは、コンピュータのハードドライブ上に格納するのではなく、代わりに、ステップ９１０において、ダウンロードされたデータは、新しいドライバをフレッシュメモリに書込み、任意選択で古いドライバを削除することにより、自己インストールを行う周辺装置４００上のフラッシュメモリ４０４に格納される。ソフトウェアを装置上のフラッシュメモリに格納することにより、装置が第二コンピュータにインストールされる場合は何時でも、確実に、デバイスドライバの最新バージョンがそのインストールに備えられる。ステップ９１２において、システムはユーザに対し、装置のためのデバイスドライバを更新するか否かを問合せる問合せを行う。ユーザが拒否する場合は、ステップ９１８において、処理は終了する。ユーザが承諾する場合は、ステップ９１６において、更新ソフトウェアを装置４００のためにインストールする。
【００３９】
本発明を、好ましいおよび例示的な実施例に関して記述した。多数の他の実施態様、変更および変形が、付属の特許請求の範囲および精神を逸脱することなく、本開示の観点から当事業者に生じるであろう。
【図面の簡単な説明】
【００４０】
【図１】本発明の態様を実践するため適切なコンピュータ環境例を例示する図である
【図２】先行技術のインストールルーチンを示すフローチャートである。
【図３】本発明の態様を実践するのに使用することができるＵＳＢハブを例示するブロック図である。
【図４】本発明の態様を実践するため適切なＵＳＢデバイスを表すブロック図である。
【図５】本発明の態様に従うインストールルーチンを示すフローチャートである。
【図６】本発明の態様に従って、第一のコンピュータから第二のコンピュータに自己インストールを行う装置を移動するためのステップを説明するフローチャートである。
【図７】本発明の態様に従う自己インストールを行う装置において、追加の記憶空間を作成するためのステップを記述するフローチャートである。
【図８】本発明の実施例を実践するのに適切なネットワーク対応環境を表すブロック図である。
【図９】本発明の態様に従うコンピュータネットワークを介する自己インストールを行う装置の更新を示すフローチャートである。
【図１】
2005353073.tif 000003
【図２】
2005353073.tif 000004
【図３】
2005353073.tif 000005
【図４】
2005353073.tif 000006
【図５】
2005353073.tif 000007
【図６】
2005353073.tif 000008
【図７】
2005353073.tif 000009
【図８】
2005353073.tif 000010
【図９】
2005353073.tif 000011
【外国語明細書】
2005353073000001.pdf