JP2008532161A - ドライバのインストール - Google Patents

ドライバのインストール Download PDF

Info

Publication number
JP2008532161A
JP2008532161A JP2007557564A JP2007557564A JP2008532161A JP 2008532161 A JP2008532161 A JP 2008532161A JP 2007557564 A JP2007557564 A JP 2007557564A JP 2007557564 A JP2007557564 A JP 2007557564A JP 2008532161 A JP2008532161 A JP 2008532161A
Authority
JP
Japan
Prior art keywords
peripheral device
driver
peripheral
mode
host
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2007557564A
Other languages
English (en)
Inventor
クリス、ロウ
ジェイムズ、ディグビー、ヤーレット、コリア
Original Assignee
ケンブリッジ シリコン ラジオ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ケンブリッジ シリコン ラジオ リミテッド filed Critical ケンブリッジ シリコン ラジオ リミテッド
Publication of JP2008532161A publication Critical patent/JP2008532161A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • G06F9/4413Plug-and-play [PnP]
    • G06F9/4415Self describing peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

周辺デバイスであって、ホストデバイスとの接続のためのインタフェースと、前記周辺デバイスを操作するために前記ホストデバイスにより使用されるソフトウェア、を記憶するメモリと、前記デバイスが前記インタフェースを介して2つの動作モードの内のいずれかで動作することができるよう前記デバイスの動作を制御するプロセッサであって、前記2つの動作モードには、前記デバイスが、前記ソフトウェアを記憶する記憶デバイスとして動作する第1のモードと、前記デバイスが、前記インタフェースを介して前記デバイスに接続されているデバイスに、前記ソフトウェアにより他の機能を提供するデバイスとして動作する第2のモードと、があるようなプロセッサとを有し、前記周辺デバイスは、前記インタフェースがホストデバイスに接続されると前記第1のモードで動作し、その後前記第2のモードで動作するよう構成されている周辺デバイス。

Description

本発明は、周辺デバイス用のドライバのインストールに関する。
デバイスがコンピュータに接続されるとき、コンピュータは、デバイスと通信するのにドライバソフトウェアの使用を必要とすることがある。ドライバソフトウェアは、コンピュータ上で実行され、コンピュータに対し、デバイスに又はデバイスからデータを転送する手段と、デバイスの機能をアクティブにする手段とを提供する。例えばドライバソフトウェアは、デバイスに機能を実行させるために、コンピュータ上で走るプロセスと呼ばれ得るプロシージャのライブラリを提供することができる。当該プロシージャは、呼び出しプロセスからパラメータを受け取り、デバイスとの通信に適した信号を形成してデバイスに当該機能を実行させることができる。
ドライバソフトウェアをコンピュータ上で使用するためには、まずドライバソフトウェアがコンピュータにインストールされなければならない。一般に、このインストールは、コンピュータにアクセス可能な不揮発性記憶装置(例えば、コンピュータのハードディスクドライブ)にドライバソフトウェアを記憶(store)する段階と、ドライバソフトウェアが利用可能でありデバイスとの通信に使用可能であることをコンピュータが分かるよう、ドライバソフトウェアを登録(register)する段階とを含んでいる。
ドライバソフトウェアのインストールは、複雑となることがあるし、コンピュータに関する知識を必要とすることもあるので、スキルのない人々にとっては難しい作業となる。従って、周辺デバイスを使いやすくするには、そのデバイスのドライバソフトウェアをインストールしやすくすることが重要である。
デバイスドライバは通常、ハードウェア周辺デバイスをコンピュータに最初に接続するあたりの時点(接続前か接続後かのいずれか)において、ドライバが正しくインストールされるよう製造元が推奨するような正確なインストール手順に従って、インストールされる。ドライバは、通常、当該周辺デバイスと併せて販売されるCD又はその他のディスクにて供給される(または、インターネットからダウンロードされてもよい)。こうしたやり方のドライバの配布には、ドライバを追加の媒体によって供給する必要があるためハードウェアそれ自体が自己完結的でない、という欠点がある。
ドライバソフトウェアをインストールしやすくする1つの方法は、コンピュータに、ドライバソフトウェアを中央ソースから自動的にダウンロードさせることである。この方法は、Microsoft Windows XPのようなオペレーティングシステムで利用可能である。周辺デバイスがコンピュータに接続されると、周辺デバイスはその識別情報(identity)をコンピュータに提供する。その後、コンピュータは、インターネットを介してサーバに接触し、そのデバイスに適したドライバを見つけようとする。好適なドライバが見つかると、コンピュータはそれをダウンロードして登録する。この方法には、数多くの不利な点がある。第1に、この方法は、サーバが適切なドライバを有するように正しく構成されている場合にしか有効でない。第2に、この方法は、コンピュータが中央サーバにアクセス可能な場合にしか有効でなく、従って、コンピュータがネットワークに接続されていない場合には、コンピュータはドライバにアクセスすることができない。第3に、ユーザは、自分で指定したのではないソースからドライバをダウンロードすることになる場合、セキュリティについて心配を抱えることにもなり得る。
オペレーティングシステムは一般に、標準タイプの周辺デバイスと通信するためのいくつかの標準インタフェースプロトコル及び標準インタフェースドライバをサポートする。例えば、オペレーティングシステムは一般に、USBインタフェースを介してディスクドライブのような大容量記憶デバイスと通信するための標準プロトコルをサポートすることができる。しかしながら、標準プロトコルは一般に、非標準デバイスとの通信には適していない。
ドライバのインストールを改善する1つの方法は、USB複合デバイスを使用することである。この方法については、WO2004/038584に概略が記載されている。この方法にはいくつかの不利な点があり、とりわけ不利なのは、大容量記憶デバイスのUSBマニフェステーションとカスタムUSBデバイスのUSBマニフェステーションとが競合してしまうことである。この方法では更に、ホストコンピュータへの追加のドライブのインストールが必要とされ、このことがユーザを混乱させる可能性がある。
ドライバに当てはまる問題と同様の問題は、周辺デバイスとのインタラクションに必要又は有益な実行ファイルのインストールにも当てはまる。
ドライバ、及び/又は周辺デバイスとインタラクト(interact)する実行ファイル、をインストールする改善された手段が必要とされている。
本発明の一の側面によれば、周辺デバイスであって、ホストデバイスとの接続のためのインタフェースと、前記周辺デバイスを操作(operate)するために前記ホストデバイスにより使用されるソフトウェア、を記憶するメモリと、前記デバイスが前記インタフェースを介して2つの動作モードの内のいずれかで動作することができるよう前記デバイスの動作を制御するプロセッサであって、前記2つの動作モードには、前記デバイスが、前記ソフトウェアを記憶する記憶デバイスとして動作する第1のモードと、前記デバイスが、前記インタフェースを介して前記デバイスに接続されているデバイスに、前記ソフトウェアにより他の機能を提供するデバイスとして動作する第2のモードと、があるようなプロセッサとを有し、前記周辺デバイスは、前記インタフェースがホストデバイスに接続されると前記第1のモードで動作し、その後前記第2のモードで動作するよう構成されている周辺デバイスが提供される。
好ましくは、前記ソフトウェアは、前記周辺デバイスが前記第2のモードで動作しているときに、ホストデバイスが前記周辺デバイスと通信するのを可能にするようなドライバを含んでいる。
好ましくは、前記ソフトウェアは、ホストデバイスに前記ドライバをインストールさせるような実行プログラムを含んでいる。
好ましくは、前記実行プログラムは、前記ドライバのインストール後に、ホストデバイスに所定のタイプのメッセージを前記周辺デバイスへと送信させるよう構成されており、前記周辺デバイスは、当該メッセージに応じて前記第1のモードの動作から前記第2のモードの動作に切り替わる。
好ましくは、前記ソフトウェアは、前記周辺デバイスが前記第2のモードで動作しているときに、前記周辺デバイスにより受信されたデータを処理するようなアプリケーションを含んでいる。
好ましくは、前記ソフトウェアは、前記周辺デバイスが前記第2のモードで動作しているときに、前記周辺デバイスにデータを転送するようなアプリケーションを含んでいる。
好ましくは、前記ソフトウェアは、前記周辺デバイスを記憶デバイスとして検出すると、ホストデバイスに、前記ソフトウェアに含まれるコードを自動的に実行させるようなデータを含んでいる。
好ましくは、前記コードは、前記周辺デバイスが前記第2のモードで動作しているときに、前記ホストドライバが前記周辺デバイスと通信するのを可能にするようなドライバを、前記ホストデバイスが前記ホストデバイスにインストールしたかどうか、を検出することができ、前記コードは、当該ドライバが検出されなかった場合には、前記周辺デバイスにより記憶されている前記ドライバを前記ホストデバイスにインストールさせ、当該ドライバが検出された場合には、前記周辺デバイスが前記第2のモードで動作するのをトリガする、よう構成されている。
好ましくは、前記周辺デバイスは、前記第1のモードにおいて、ホストデバイスが標準ドライバを用いて通信可能な標準記憶デバイスとして動作するよう構成されている。
好ましくは、前記周辺デバイスは、前記第1のモードにおいて、ホストデバイスが標準ドライバを用いて通信可能なカスタム記憶デバイスとして動作するよう構成されている。
好ましくは、前記ソフトウェアは、ホストデバイスが前記第1のモードの前記周辺デバイスと通信するのを可能にするようなドライバを含んでおり、前記ドライバは、前記ホストデバイスを前記第1のモードの動作から前記第2のモードの動作に切り替えさせるよう構成されている。
好ましくは、前記デバイスは、前記インタフェースがホストデバイスに接続されると、前記デバイスが動作する方式を示す識別情報を送信し、これにより前記ホストデバイスが、前記デバイスと通信するのにどのドライバを用いるべきかを判断できる、よう構成されている。
好ましくは、前記インタフェースは、ユニバーサル・シリアル・バス(USB)インタフェースである。
本発明の一の側面はまた、先行するいずれかの請求項に記載の周辺デバイスと前記ホストデバイスとを提供する。
以下、本発明が、添付の図面を参照しつつ、例という形で説明される。
図1の周辺デバイス1は、2つの方法のいずれかでホストコンピュータ2に自己(周辺デバイス1)を提示することができるよう構成されている。周辺デバイスがコンピュータに最初に接続されるとき、周辺デバイスは、標準ドライバによりコンピュータと通信するのに適した記憶デバイスとして、自己(周辺デバイス1)を提示する。当該標準ドライバは、コンピュータのオペレーティングシステム24に組み込まれている。記憶デバイスとして自己(周辺デバイス1)を提示するとき、周辺デバイスは、当該デバイスと共に使用されるドライバソフトウェアへのアクセスを、コンピュータに許す。コンピュータが、そのドライバソフトウェアを受信する(そして好ましくはそれをインストールする)と、周辺デバイスは、当該デバイスにより提供されたドライバソフトウェアによりコンピュータが通信可能な非標準USBデバイスとして、コンピュータに自己(周辺デバイス1)を提示する。
先行技術と比較すると、この方法は、ドライバを記憶する追加のCD又はその他のディスクを必要とすることなくドライバがインストール可能であり、ユーザの介入をほとんど又は全く必要とすることなくドライバがインストール可能であり、ドライバを離れた場所からダウンロードする必要がないので、セキュリティを心配することなくドライバがインストール可能である、という利点を有する。同様の原理が、デバイスの操作(operation)用のアプリケーションソフトウェアのインストールに適用可能である。
図1は、インタフェース3により接続されている周辺デバイス1及びコンピュータ2を示す。周辺デバイスは、いかなる種類の周辺デバイスでもよく、例としては、キーボードやマウスやサウンドカードが挙げられる。コンピュータ2は、パーソナルコンピュータでもよいし、ゲーム機、セットトップボックス、玩具、家庭用電気製品、又は車のような、コンピュータ機能を内蔵するデバイスでもよい。インタフェースは、USBインタフェースでも、PCIインタフェースでも、その他の種類のインタフェースでもよい。
周辺デバイス1は、プロセッサ10と、不揮発性メモリ11と、機能サブシステム(functional subsystem)12と、インタフェースコネクタ(interface connector)13とを備える。不揮発性メモリ11は、プロセッサ10により実行されるプログラムコード14と、周辺デバイスと通信することになるコンピュータにアップロードされるドライバソフトウェア15と、を含むデータを記憶する。プログラムコードは、接続されたコンピュータと通信する当該デバイスの機能を定義する。不揮発性メモリは、集積回路上に実装可能である。機能サブシステム12は、当該デバイスの特定の機能を提供し、それは例えば、キーボードのキー及びスイッチでも、サウンドカードの音声生成コンポーネントでもよい。周辺デバイスは、その電力をインタフェース3を介してコンピュータから受けてもよいし、当該周辺デバイス自体の主電源又はバッテリ電源を有していてもよい。
コンピュータ2は、プロセッサ20と、不揮発性メモリ21と、ユーザインタフェース22と、デバイスインタフェースコネクタ23とを有する。コンピュータは、オペレーティングシステム24及び多数のアプリケーションプログラム25をサポートする。不揮発性メモリ21は、ハードディスクとして実装可能である。不揮発性メモリ21は、オペレーティングシステム及びアプリケーションプログラムを定義するプログラムコードを記憶する。これらのプログラムは、プロセッサ20により実行される。ユーザインタフェース22は、ユーザがコンピュータとインタラクトするための手段を提供する。デバイスインタフェースコネクタ23は、デバイス1のような周辺デバイスを、コンピュータ2との通信のためにコンピュータ2に接続することを可能にする。
この例では、インタフェース3は、USBインタフェースである。インタフェースコネクタ13及び23は、ケーブル3により相互接続されるUSBタイプのコネクタである。これに代わり、これらコネクタは、互いに直接的に接続されてもよい。
ホストデバイスにおいてUSBドライバをインスタンス化する通常の手順は、次の通りである。
1.USBデバイスが、USBバスに接続され、USBバス上に現れる。
2.次に、USBバス自体の特定のドライバが、USBデバイスに、デバイスクラス及びVID(vendor identifier:ベンダ識別子)+PID(product identifier:プロダクト識別子)を問い合わせる。
3.ホストデバイスのオペレーティングシステムが、当該オペレーティングシステムに利用可能なドライバの中から、検出されたVID及びPIDのペアにサービスするのに適しているとされるドライバを探す。オペレーティングシステムがドライバを見つけた場合には、ステップ5に進む。
4.オペレーティングシステムが、当該オペレーティングシステムに利用可能なドライバの中から、検出されたデバイスクラスにサービスするのに適しているとされるドライバを探す。オペレーティングシステムは、そのようなデバイスが見つからなかった場合、ドライバをインスタンスすることができない。
5.オペレーティングシステムが、ステップ3又は4で見つかった適切なデバイスドライバをインスタンス化する。
6.USBデバイスとホストデバイスとが、インスタンス化されたドライバにより互いに通信する。
以下、周辺デバイス1とコンピュータ2とが動作するよう構成されている方法について説明する。この構成は、メモリ11及び21に記憶されており、プロセッサ10及び20により実行されるソフトウェア、の設計によるものである。当該動作における諸ステップが、図2に示されている。
1.周辺デバイスがコンピュータに最初に接続されるとき、周辺デバイスは、自己を、USB大容量記憶デバイスとして提示する。周辺デバイスは、周辺デバイスとコンピュータとの間のUSBデータ接続が初期化されるときに、大容量記憶デバイスのデバイスクラスに対応するデバイスクラスを有すると自己を提示することにより、これを行う。
2.コンピュータのオペレーティングシステムが、USB大容量記憶デバイスの接続を検出する。これにより、オペレーティングシステムは、当該デバイスと通信するために、USB大容量記憶デバイスの汎用デバイスドライバをインスタンス化する。このようなドライバは一般に、オペレーティングシステムに組み込まれている。次に、コンピュータのオペレーティングシステムは、周辺デバイスにより提示されたドライブを、コンピュータのファイルシステムにマッピングする。オペレーティングシステムがドライブの自動マッピングをサポートしていない場合には、オペレーティングシステム上で走り、記憶ドライブとして働く新たに接続されたデバイスを監視するプログラム、により同等の機能が提供可能である。
3.ファイルシステムへのドライブのマッピングが、新たにマウントされたドライブに対してオペレーティングシステムにより通常行われる動作を、トリガする。オペレーティングシステムがそのように動作するよう構成されている場合において、これらの動作には、ドライブの新たなマウント時に実行される指定ファイルの存在を、当該ドライブについてチェックする段階が含まれる。Microsoft Windowsオペレーティングシステムの例では、これはautorun.infファイルである。オペレーティングシステムは、指定ファイルを自動的に実行するよう構成されている必要があるとしてもよい。セキュリティのためには、コンピュータがそのように動作することをユーザが承認している、ということをユーザがコンピュータに確認した後にだけ、当該ファイルが自動的に実行される事が望まれる。オペレーティングシステムが当該ファイルの自動実行をサポートしていない場合には、オペレーティングシステム上で走り、新たに接続されたドライバを監視するプログラム、により同等の機能が提供可能である。
4.周辺デバイスにより提示されるファイル構造は、メモリ11に記憶されている情報の制御下にあり、上記のような指定ファイル(例えばautrun.inf)に加え、実行ファイルを含んでいる。当該実行ファイルは、プロセッサ20による実行に適したプログラムを構成しており、周辺デバイスの特定の機能のためのドライバをインストールする。Windowsオペレーティングシステムの場合、その実行ファイルはsetup.exeと呼ばれ得る。指定ファイル(例えばautorun.inf)は、オペレーティングシステムにその実行ファイルをロードさせて実行させるよう構成されている。従って、コンピュータ2のオペレーティングシステムが指定ファイルを読み込んで実行するとき、オペレーティングシステムは、実行ファイルをロードして(例えば、実行ファイルを周辺デバイスからコンピュータ2のローカルメモリにコピーすることによりロードする)、それを実行する。そして、実行ファイルが実行され、実行ファイルは、周辺デバイスの特定の機能をサポートするドライバを、コンピュータにインストールする。Windowsオペレーティングシステムの場合、これは、コンピュータのハードディスク上に、デバイスドライバの.sysファイル及び種々様々なファイルをコピー又は作成することにより行ってもよい。
5.実行ファイルは、ドライバがインストールされた後に、周辺デバイスにコマンドを送信してドライバがインストールされたことを周辺デバイスに知らせるようなコードを含んでいる。これは、一般的な「detach」コマンドでもよい。その後、実行ファイルは、終了してもよいし、実行を続けて後述のステップ7をサポートしてもよい。
6.上記コマンドに応じて、周辺デバイスは、コンピュータとの接続を解除し、そして自動的に再接続するが、今度は自己を、もはや汎用USB大容量記憶デバイスではなく、その特定の機能を提供する本来のUSBデバイスとして、コンピュータに提示する。周辺デバイスは、上記コマンドに応じてそう動作するよう、そのメモリ11に記憶されているコードにより予めプログラムされている。周辺デバイスが自己として提示する、本来のUSBデバイスのデバイスクラス又は識別子は、新たにインストールされたドライバに対応するようなそれである。接続の解除をトリガするためにコンピュータからのコマンドの受信を要求する代わりに、周辺デバイスは、このステップを自動的に行うことができる。例えば、周辺デバイスは、ホストコンピュータに接続してから所定の時間が経過した時点で当該ステップを実施することもできるし、実行ファイル(又はインストールに関与する別のファイル)がコンピュータにより要求されてコンピュータに提供されてから所定の時間が経過した時点で当該ステップを実施することもできる。これらの場合、上記ステップ5は省略されてよい。上記所定の時間は、必要であれば、実行ファイルが実行を完了していることを確認するのに十分なように選択されるべきである。
7.コンピュータのオペレーティングシステムが、新たなUSBデバイスの接続を検出し、当該デバイスのクラスに基づいて、当該デバイスと共に使用されるドライバを選択する。そのドライバとは、新たにインストールされたドライバである。なぜならば、当該ドライバは、当該ドライバが当該クラスのデバイスを操作するのに適していることを識別させるようなデータを含んでいるからである。この選択はオペレーティングシステムにより実行可能である。実行ファイルが終了していない場合には、代わりに、実行ファイルが、ドライバを選択する及び/又はドライバの使用を開始する、ことが可能である。そして、デバイスの特定の機能を、コンピュータ2及びそのユーザが使用できるようになる。
デバイスがコンピュータから取り外されるとき、実行ファイルは、それがまだ実行中であっても、コンピュータの記憶装置から自己を削除することができる。デバイスは更にドライバをアンインストールすることもできるが、それは通常は望まれない。なぜならば、ドライバは通常、コンピュータの記憶領域の多くを占めてはいないからである。
通常、実行ファイルをロードするために、コンピュータは、当該ファイルを周辺デバイスからコンピュータ上の一時メモリにコピーする。実行ファイルが大きい場合、又は実行ファイルが、その動作をサポートするために、大量の他のデータを共にロードすることを必要とする場合、周辺デバイスからコンピュータへのデータの転送に時間がかかることがある。以下の技術を、この遅延を低減するのに利用してもよい。実行ファイルは、カスタム大容量記憶デバイスドライバをインストールするようにも構成可能である。このデバイスドライバは、デフォルトの大容量記憶デバイスドライバよりも優先的に、周辺デバイスにより提示される大容量記憶デバイスと通信するために、オペレーティングシステムにより使用されるよう構成される。このことは、デバイスが自己をコンピュータに提示するときにデバイスによりコンピュータに提供される、デバイスの識別情報により実現可能である。USBデバイスの場合、この識別情報は、そのVID及びPIDとすることが可能である。カスタム大容量記憶ドライバは、デバイスとの初期通信において、所定のタイプのコマンド又はコマンド列を周辺デバイスに送信するよう構成される。周辺デバイスは、このような(1つまたは複数の)コマンドに応じて、自動的にコンピュータとの接続を解除し、その特定の機能を提供する本来のUSBデバイスとして自己を再提示するよう構成される。こうして、望むならば、実行ファイルの2回目のロードを回避することができる。デバイスドライバを使う方が、多くの場合、実行ファイルを使うよりも迅速である。
他の技術では、周辺デバイスから2つの実行ファイルを提供する。第1のファイルは、autorun.ini又はその他のオートローダファイルから呼び出されるファイルであり、コンピュータにより実行されると、USBデバイスの特定のマニフェステーションに適したドライバがインストールされているかどうかをチェックする、小さなファイルである。インストールされている場合、第1のファイルは、上述のステップ5の場合と同様にUSBデバイスにコマンドを送信し、その後、終了する。インストールされていない場合、第1のファイルは、ドライバをインストールするために、コンピュータに第2のより大きな実行ファイルをUSBデバイスからロードさせる。
実際には、不揮発性メモリは、複数セットのドライバソフトウェアを記憶することが可能であり、各セットは、オペレーティングシステム及び数多くのオートローダファイルの異なる動作システム又は異なる動作バージョンで使用される。コンピュータは、ドライバのインストールにおいて標準的な適切なバージョンを、コンパクトディスク(CD)のような一般的な共通のソースからインストールする。
実行ファイルは、接続されたデバイス用のドライバのインストールを単に監視する以外の機能も提供することが可能である。実行ファイルは、コンピュータによりデバイスから受信されたデータを処理及び/又は表示する機能を提供することが可能である。実行ファイルは、データを取得(capture)し、そのデータをデバイスに提示(direct)する機能を提供することが可能である。
上述のように動作可能なデバイスの一例は、ビデオをストリーミングする手段を提供するUSBドングルである。このようなドングルは、表示画面か記憶されている又は到来したビデオストリームかのいずれかからストリーミングビデオのコンテンツをコピーするアプリケーションを含むことができる。当該アプリケーションは、上述のやり方でコンピュータにロードすることができ、その後、当該ドングルの特殊なビデオデバイス部分の特定の機能により提供されるトランスポートを介して、ビデオデータのストリームを送信するよう動作することができる。
上述のように動作可能なデバイスの別の例は、USB温度計である。当該温度計は、USBデバイスでもよく、当該USB温度計から提供されるデータをグラフィック形式で表示するアプリケーションを記憶していてもよい。当該温度計がコンピュータに挿入されると、当該アプリケーションがロードされ(必要であれば)、上述の技術を利用して実行される。そして、当該アプリケーションは、USB端点ユニットの測定デバイスから気候データを受け取り、当該気象データをユーザにグラフィカルに示すことができる。
上述のように動作可能なデバイスの別の例は、標準ドライバでサポートされるジョイスティックの機能を上回る機能(例えば追加のスイッチコントロール)を有するUSBジョイスティックである。ユーザが当該ジョイスティックをコンピュータに繋ぐと、当該ジョイスティックにより記憶されており特殊な機能に対応するドライバが、当該ジョイスティック上の記憶装置からインストールされる。
上述のように動作可能なデバイスの別の例は、USBマウスである。ユーザが当該マウスをコンピュータに繋ぐと、当該マウスがUSBバス上で発現(manifest)する前に当該マウス用のデバイスドライバがロードされる。当該マウスは、好ましくは、当該マウスが初期化された後に当該マウスが大容量記憶デバイスなしで発現し、コンピュータのBIOSだけが動作しているときでも当該マウスがコンピュータにより使用可能となるよう構成されるべきである。
本発明は、USBインタフェースと共に使用することに限定されない。本発明は、必要な機能をサポートするその他のインタフェースと共に使用してもよい。当該機能としては例えば、様々なタイプの複数のデバイスを提示することや、実行ファイルをデバイスから直接実行するのを可能にするような方法でデバイスを提示することが挙げられる。このようなインタフェースには、SDIOや、IEEE1394(別名ファイアワイア、iリンク)や、カードバスが含まれる。
本出願人は、本明細書において、本明細書に記載の個々の個別の特徴及び2つ以上のこうした特徴の任意の組合せを、こうした特徴又は特徴の組合せが本明細書に開示されたいかなる問題を解決するかを問わず、且つ特許請求の範囲に限定されることなく、こうした特徴又は組合せを当業者に共通の一般知識に照らして概ね本明細書に基づいて実施できる程度に、それぞれ切り離して開示している。本出願人は、本発明の諸側面が、こうした個別の特徴又は特徴の組合せで構成し得ることを示している。上述の説明を鑑みれば、様々な変形例を本発明の範囲内で想到し得ることが当業者には明白であろう。
コンピュータ及び周辺デバイスを概略的に示す。 ドライバのインストールのための通信を示す。

Claims (15)

  1. 周辺デバイスであって、
    ホストデバイスとの接続のためのインタフェースと、
    前記周辺デバイスを操作するために前記ホストデバイスにより使用されるソフトウェア、を記憶するメモリと、
    前記デバイスが前記インタフェースを介して2つの動作モードの内のいずれかで動作することができるよう前記デバイスの動作を制御するプロセッサであって、前記2つの動作モードには、前記デバイスが、前記ソフトウェアを記憶する記憶デバイスとして動作する第1のモードと、前記デバイスが、前記インタフェースを介して前記デバイスに接続されているデバイスに、前記ソフトウェアにより他の機能を提供するデバイスとして動作する第2のモードと、があるようなプロセッサとを有し、
    前記周辺デバイスは、前記インタフェースがホストデバイスに接続されると前記第1のモードで動作し、その後前記第2のモードで動作するよう構成されている周辺デバイス。
  2. 前記ソフトウェアは、前記周辺デバイスが前記第2のモードで動作しているときに、ホストデバイスが前記周辺デバイスと通信するのを可能にするようなドライバを含んでいる、請求項1に記載の周辺デバイス。
  3. 前記ソフトウェアは、ホストデバイスに前記ドライバをインストールさせるような実行プログラムを含んでいる、請求項2に記載の周辺デバイス。
  4. 前記実行プログラムは、前記ドライバのインストール後に、ホストデバイスに所定のタイプのメッセージを前記周辺デバイスへと送信させるよう構成されており、前記周辺デバイスは、当該メッセージに応じて前記第1のモードの動作から前記第2のモードの動作に切り替わる、請求項3に記載の周辺デバイス。
  5. 前記ソフトウェアは、前記周辺デバイスが前記第2のモードで動作しているときに、前記周辺デバイスにより受信されたデータを処理するようなアプリケーションを含んでいる、請求項1乃至4のいずれか1項に記載の周辺デバイス。
  6. 前記ソフトウェアは、前記周辺デバイスが前記第2のモードで動作しているときに、前記周辺デバイスにデータを転送するようなアプリケーションを含んでいる、請求項1乃至5のいずれか1項に記載の周辺デバイス。
  7. 前記ソフトウェアは、前記周辺デバイスを記憶デバイスとして検出すると、ホストデバイスに、前記ソフトウェアに含まれるコードを自動的に実行させるようなデータを含んでいる、請求項1乃至6のいずれか1項に記載の周辺デバイス。
  8. 前記コードは、前記周辺デバイスが前記第2のモードで動作しているときに、前記ホストドライバが前記周辺デバイスと通信するのを可能にするようなドライバを、前記ホストデバイスが前記ホストデバイスにインストールしたかどうか、を検出することができ、
    前記コードは、
    当該ドライバが検出されなかった場合には、前記周辺デバイスにより記憶されている前記ドライバを前記ホストデバイスにインストールさせ、
    当該ドライバが検出された場合には、前記周辺デバイスが前記第2のモードで動作するのをトリガする、
    よう構成されている、
    請求項2に直接又は間接に従属する請求項7に記載の周辺デバイス。
  9. 前記周辺デバイスは、前記第1のモードにおいて、ホストデバイスが標準ドライバを用いて通信可能な標準記憶デバイスとして動作するよう構成されている、請求項8に記載の周辺デバイス。
  10. 前記周辺デバイスは、前記第1のモードにおいて、ホストデバイスが標準ドライバを用いて通信可能なカスタム記憶デバイスとして動作するよう構成されている、請求項8に記載の周辺デバイス。
  11. 前記ソフトウェアは、ホストデバイスが前記第1のモードの前記周辺デバイスと通信するのを可能にするようなドライバを含んでおり、前記ドライバは、前記ホストデバイスを前記第1のモードの動作から前記第2のモードの動作に切り替えさせるよう構成されている、請求項10に記載の周辺デバイス。
  12. 前記デバイスは、前記インタフェースがホストデバイスに接続されると、前記デバイスが動作する方式を示す識別情報を送信し、これにより前記ホストデバイスが、前記デバイスと通信するのにどのドライバを用いるべきかを判断できる、よう構成されている、請求項1乃至11のいずれか1項に記載の周辺デバイス。
  13. 前記インタフェースは、ユニバーサル・シリアル・バス(USB)インタフェースである、請求項1乃至12のいずれか1項に記載の周辺デバイス。
  14. 請求項1乃至13のいずれか1項に記載の周辺デバイスと、前記ホストデバイス。
  15. 実質的に、添付の図面の図1及び図2を参照しつつ本明細書で説明されているような周辺デバイス。
JP2007557564A 2005-03-04 2006-02-13 ドライバのインストール Pending JP2008532161A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GBGB0504567.9A GB0504567D0 (en) 2005-03-04 2005-03-04 Installing drivers
PCT/GB2006/000485 WO2006092552A1 (en) 2005-03-04 2006-02-13 Installing drivers

Publications (1)

Publication Number Publication Date
JP2008532161A true JP2008532161A (ja) 2008-08-14

Family

ID=34451854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007557564A Pending JP2008532161A (ja) 2005-03-04 2006-02-13 ドライバのインストール

Country Status (5)

Country Link
US (1) US7668986B2 (ja)
EP (1) EP1859348A1 (ja)
JP (1) JP2008532161A (ja)
GB (1) GB0504567D0 (ja)
WO (1) WO2006092552A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20060053251A (ko) * 2004-10-13 2006-05-19 조배수 중계기를 이용한 호스트와 클라이언트 간의 플러그 엔플레이 시스템 및 방법
US8386116B2 (en) * 2006-10-26 2013-02-26 Service Solutions U.S., Llc Universal serial bus memory device for use in a vehicle diagnostic device
AT504735B1 (de) * 2006-11-23 2008-12-15 Matthias Dipl Ing Grossberger Verfahren zum betrieb eines mit einem hostsystem verbundenen peripheriegerät, system und peripheriegerät
US20080126628A1 (en) * 2006-11-29 2008-05-29 Sony Ericsson Mobile Communications Ab Methods, devices and computer program products for automatically providing an alternate usb configuration of a usb compliant peripheral device for exposure to a host computer
US8836960B1 (en) 2007-01-03 2014-09-16 Marvell International Ltd. Storing device drivers in imaging devices
US20080189722A1 (en) * 2007-02-02 2008-08-07 Microsoft Corporation Generic Device Driver Replacement
KR101196431B1 (ko) 2007-03-27 2012-11-01 삼성전자주식회사 외부 저장장치 및 상기 외부 저장장치의 자동 실행방법
US8260978B1 (en) 2008-05-28 2012-09-04 Marvell International Ltd. Installation of a device driver
US8244894B1 (en) 2008-06-05 2012-08-14 Marvell International Ltd. Detach mechanisms for host-based mobility protocols
US8341306B1 (en) * 2008-07-21 2012-12-25 Marvell International Ltd. Installation of a device driver and a filter driver
US9354898B1 (en) 2008-07-21 2016-05-31 Marvell International Ltd. Detection of a USB OS descriptor request to facilitate installation of a device driver
JP2010044579A (ja) * 2008-08-12 2010-02-25 Brother Ind Ltd 周辺装置、プログラム、およびドライバインストールシステム
US8458384B2 (en) * 2010-02-03 2013-06-04 National Instruments Corporation Automatically launching a measurement application in response to measurement device connection
EP2539806A4 (en) * 2010-02-24 2014-07-30 Hewlett Packard Development Co DRIVER FOR ONE DEVICE
US8432456B2 (en) * 2010-06-18 2013-04-30 Apple Inc. Digital camera for sharing digital images
US9281535B2 (en) 2010-08-12 2016-03-08 Imergy Power Systems, Inc. System dongle
JP5258065B2 (ja) * 2010-09-15 2013-08-07 Necインフロンティア株式会社 データ通信機器のドライバ管理方法並びにその通信機器
US8738816B2 (en) * 2010-10-30 2014-05-27 Lsi Corporation Management of detected devices coupled to a host machine
US9715598B2 (en) * 2010-11-17 2017-07-25 Invysta Technology Group Automatic secure escrowing of a password for encrypted information an attachable storage device
JP5846016B2 (ja) * 2012-03-30 2016-01-20 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
TWI481292B (zh) * 2012-10-02 2015-04-11 Wistron Neweb Corp 無線通信系統及其控制方法
JP6758995B2 (ja) * 2016-08-15 2020-09-23 キヤノン株式会社 画像処理装置及びその制御方法、並びにプログラム
US20180060260A1 (en) * 2016-08-24 2018-03-01 Prolific Technology Inc. Method and device capable of automatically identifying host operating systems

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124435A (ja) * 1996-10-16 1998-05-15 Nec Corp ドライバインストール方法
JP2001256170A (ja) * 2000-03-13 2001-09-21 Hitachi Ltd 周辺装置及びプリンタ
JP2003131879A (ja) * 2001-08-31 2003-05-09 Hewlett Packard Co <Hp> リブートを行うことなくウィンドウズ(登録商標)インストーラサービスをインストールするシステム及び方法
US6574588B1 (en) * 1998-09-23 2003-06-03 Microsoft Corporation Solid-state memory device that emulates a known storage device
JP2003202930A (ja) * 2002-01-09 2003-07-18 Toshiba Corp 実行権限管理システム
JP2004102335A (ja) * 2002-09-04 2004-04-02 Nec Corp ソフトウェアのライセンス管理方式および方法、並びに記録媒体
JP2004272764A (ja) * 2003-03-11 2004-09-30 Toyo Commun Equip Co Ltd コンピュータシステムの機能拡張方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5457785A (en) * 1993-02-10 1995-10-10 Elonex Technologies, Inc. CPU-independent and device-driver transparent system for translating a computer's internal bus signals onto an intermediate bus and further translating onto an expansion bus
US6012103A (en) * 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
US6009480A (en) * 1997-09-12 1999-12-28 Telxon Corporation Integrated device driver wherein the peripheral downloads the device driver via an I/O device after it is determined that the I/O device has the resources to support the peripheral device
JP3767818B2 (ja) 2002-10-28 2006-04-19 株式会社サスライト 着脱式デバイス及びプログラムの起動方法
US7275118B2 (en) * 2004-05-19 2007-09-25 Sony Ericsson Mobile Communications Ab Input/output (I/O) device driver loading method for data processing system of computer, involves communicating secondary I/O device driver to data processing system using primary I/O device driver

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124435A (ja) * 1996-10-16 1998-05-15 Nec Corp ドライバインストール方法
US6574588B1 (en) * 1998-09-23 2003-06-03 Microsoft Corporation Solid-state memory device that emulates a known storage device
JP2001256170A (ja) * 2000-03-13 2001-09-21 Hitachi Ltd 周辺装置及びプリンタ
JP2003131879A (ja) * 2001-08-31 2003-05-09 Hewlett Packard Co <Hp> リブートを行うことなくウィンドウズ(登録商標)インストーラサービスをインストールするシステム及び方法
JP2003202930A (ja) * 2002-01-09 2003-07-18 Toshiba Corp 実行権限管理システム
JP2004102335A (ja) * 2002-09-04 2004-04-02 Nec Corp ソフトウェアのライセンス管理方式および方法、並びに記録媒体
JP2004272764A (ja) * 2003-03-11 2004-09-30 Toyo Commun Equip Co Ltd コンピュータシステムの機能拡張方法

Also Published As

Publication number Publication date
GB0504567D0 (en) 2005-04-13
EP1859348A1 (en) 2007-11-28
US20080195768A1 (en) 2008-08-14
WO2006092552A1 (en) 2006-09-08
US7668986B2 (en) 2010-02-23

Similar Documents

Publication Publication Date Title
JP2008532161A (ja) ドライバのインストール
US10445258B1 (en) Method for creation of device drivers and device objects for peripheral devices
US7010624B1 (en) System and method of software/firmware uploading and upgrading for peripheral devices
US8997090B2 (en) Installing an operating system in a host system
US9804859B2 (en) Re-enumeration of USB 3.0 compatible devices
US8073997B2 (en) Software install automation
US20150178096A1 (en) Remote bios update in system having multiple computers
JP2007514217A (ja) データ処理装置とコンピュータとの間のデータ交換方法
US20090006831A1 (en) Methods and apparatuses for configuring add-on hardware to a computing platform
US9152492B2 (en) Performing recovery of a headless computer
US10379872B1 (en) Method for creation of a device driver for a peripheral device
JP2010026730A (ja) 外部記憶装置、起動プログラム切替方法および起動プログラム切替プログラム
GB2450422A (en) Installing device drivers for a peripheral device when establishing a connection between the peripheral device and a computer
JP4199677B2 (ja) データをネットワーク上のコンピューターにストリームするためのシステム及び方法
JP4141409B2 (ja) 外付周辺機器
US20090157908A1 (en) Software Driver Device
JP4616763B2 (ja) デバイス・コントローラの設定方法およびコンピュータ・システム
JP2011145827A (ja) 仮想バスシステム、およびデバイス管理方法
CN113703914A (zh) 测试方法和测试系统
JP2004213604A (ja) 記憶モジュールを周辺装置に内蔵させるプラグアンドプレイ接続構造及びその方法
JP2010092240A (ja) 情報処理装置およびデバイス認識方法
JP2006178704A (ja) 複数の機能を有する装置、及び当該装置と接続可能な上位装置
US7373495B2 (en) Hardware cross-emulation using personas
JP4815775B2 (ja) デバイスドライバのインストール方法及びインストールシステム
KR20040051276A (ko) 유아이에이 시스템을 위한 부트로더의 프로그램 다운로드및 엔에프에스 개발환경 지원방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090113

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120229

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120815

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120904