ポータブルデバイスであって、当該ポータブルデバイスのドライバを格納する記憶媒体と、当該ポータブルデバイスとホストシステムとを接続するのに利用される接続技術に互換的なインタフェース機能を提供するインタフェースと、前記記憶媒体に格納されているドライバを前記ホストにインストールすべきか判断し、インストールすべきである場合、前記ドライバを前記ホストにインストールするデバイスコントローラと、を有するポータブルデバイス。前記接続技術は、標準的なUSB技術、標準的な無線USB技術、IEEE1934インタフェース又は無線IEEE1934インタフェースの1つである、請求項1記載のポータブルデバイス。前記ホストシステムは、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ又はネットブックコンピュータの1つを有する、請求項1記載のポータブルデバイス。前記記憶媒体は、不揮発性メモリを有する、請求項1記載のポータブルデバイス。前記デバイスコントローラは、当該ポータブルデバイスのドライバについて前記ホストシステムをチェックし、前記ホストシステムにドライバが検出されない場合、前記デバイスコントローラは、前記記憶媒体に格納されているドライバを前記ホストシステムにインストールし、前記ホストシステムが当該ポータブルデバイスのドライバを有していることが検出された場合、前記デバイスコントローラは、前記ホストシステムに検出されたドライバと前記記憶媒体に格納されているドライバとを比較し、前記ホストシステムに検出されたドライバが前記記憶媒体に格納されているドライバより古い場合、前記デバイスコントローラは、前記記憶媒体に格納されているドライバを前記ホストシステムにインストールする、請求項1記載のポータブルデバイス。前記デバイスコントローラは、前記記憶媒体に格納されているドライバより最近にアップデートされた当該ポータブルデバイスのドライバ、又は前記記憶媒体に格納されているドライバのアップデートをインターネットにおいて検索し、検出された場合、前記デバイスコントローラは、前記より最近にアップデートされたドライバ又は前記アップデートをインターネットからダウンロードし、前記より最近にアップデートされたドライバ又は前記アップデートを前記記憶媒体に格納する、請求項1記載のポータブルデバイス。前記デバイスコントローラは、前記より最近にアップデートされたドライバ又は前記アップデートをインターネットからダウンロードする前、及び前記より最近にアップデートされたドライバ又は前記アップデートを前記記憶媒体に格納する前、ユーザにパーミッションを照会する、請求項6記載のポータブルデバイス。前記デバイスコントローラは、必要に応じて、前記記憶媒体のドライバを前記ホストシステムに自動的にインストールするためのモジュールを有する、請求項1記載のポータブルデバイス。前記デバイスコントローラは、前記ホストシステムに外部のストレージドライブとして見えるように当該ポータブルデバイスを設定する、請求項1記載のポータブルデバイス。前記デバイスコントローラは、当該ポータブルデバイスが前記ホストシステムに接続されるとき、前記記憶媒体のコンテンツをプロテクトする、請求項1記載のポータブルデバイス。ポータブルデバイスがホストシステムに接続されると、前記ポータブルデバイスが前記ホストシステムにより認識されるか判断するステップであって、前記ポータブルデバイスは、前記ポータブルデバイス内の記憶媒体に格納されているドライバを有する、前記判断するステップと、前記ポータブルデバイスが前記ホストシステムにより認識される場合、前記ポータブルデバイスのドライバの最新バージョンを決定するステップと、前記ホストシステムが前記ポータブルデバイスのドライバの最新バージョンを有していない場合、前記ポータブルデバイス又はインターネットから前記ドライバの最新バージョンを前記ホストシステムにインストールするステップと、を有する方法。前記ポータブルデバイスのドライバの最新バージョンを決定するステップは、インターネット接続がある場合、前記ポータブルデバイスのドライブの最新バージョンをインターネットから検索するステップと、インターネット接続がある場合、インターネットから検出されたドライバの最新バージョンと前記記憶媒体に格納されているドライバとの間でドライバのアップデートされたバージョンを選択するステップと、前記ホストシステムが前記ポータブルデバイスのドライバを有しない場合、前記ドライバの最新バージョンとして前記ドライバのアップデートされたバージョンを利用するステップと、前記ホストシステムがドライバの最新バージョンとしてドライバを有する場合、前記ホストシステムにおいて前記ドライバの更新されたバージョンと前記ポータブルデバイスのドライバとの間でドライバのより最近にアップデートされたバージョンを選択するステップと、を有する、請求項11記載の方法。インターネットが前記ポータブルデバイスのドライバの最新のバージョンを有している場合、前記ドライバの最新のバージョンを前記ホストシステムにダウンロードするステップをさらに有する、請求項12記載の方法。前記ドライバの最新のバージョンの前記ホストシステムへのインストールが成功し、前記記憶媒体に格納されているドライバが前記ドライバの最新のバージョンでない場合、前記記憶媒体に格納されているドライバを前記ドライバの最新のバージョンによりアップデートするステップをさらに有し、前記アップデートするステップは、前記記憶媒体に格納されているドライバの最新のアップデートを前記記憶媒体に格納することを含む、請求項11記載の方法。前記記憶媒体のコンテンツが危険にさらされることからプロテクトするステップをさらに有する、請求項11記載の方法。前記ポータブルデバイスが最初に前記ホストシステムに接続されるとき、前記ポータブルデバイスが前記ホストシステムにより認識されない場合、前記ホストシステムに外部のストレージドライブとして見えるように前記ポータブルデバイスを設定するステップをさらに有する、請求項11記載の方法。前記ポータブルデバイスは、標準的なUSB技術、標準的な無線USB技術、IEEE1934インタフェース又は無線IEEE1934インタフェースの1つを利用して、前記ホストシステムに接続する、請求項11記載の方法。ポータブルデバイスがホストシステムに接続されると、前記ポータブルデバイスを外部の記憶デバイスとして認識するステップと、前記ポータブルデバイスが前記ポータブルデバイスのドライバの最近にアップデートされたバージョンを決定することを可能にするため、前記ポータブルデバイスと通信するステップと、前記ホストシステムが前記ポータブルデバイスのドライバの最近にアップデートされたバージョンを有しない場合、前記ポータブルデバイスが前記ポータブルデバイス又はインターネットから前記ドライバの最近にアップデートされたバージョンを前記ホストシステムにインストールすることを可能にするステップと、を有する方法。前記ポータブルデバイスが、前記ポータブルデバイスのドライバの最新バージョンをインターネットから検索するよう実行するステップをさらに有する、請求項18記載の方法。インターネットが前記ポータブルデバイスのドライバの最近にアップデートされたバージョンを有している場合、前記ドライバの最近にアップデートされたバージョンがウイルスに感染しているかチェックし、感染していない場合、前記ポータブルデバイスが前記ドライバの最近にアップデートされたバージョンを前記ホストシステムにダウンロードすることを許可するステップをさらに有する、請求項19記載の方法。前記ポータブルデバイスは、標準的なUSB技術、標準的な無線USB技術、IEEE1934インタフェース又は無線IEEE1934インタフェースの1つを利用して、前記ホストシステムに接続する、請求項18記載の方法。本出願において開示される主題の実施例によると、ポータブルデバイスのドライバが、ポータブルデバイス自体に統合される。ドライバは、ポータブルデバイス内の不揮発性メモリに格納されてもよい。ポータブルデバイスが有線又は無線によりホストデバイスに接続されると、ポータブルデバイスは、ホストデバイスのオペレーティングシステムOSにより認識される。ホストデバイスが以前にインストールされたポータブルデバイスのドライバを有している場合、ポータブルデバイスは、ホストデバイスとの通信を開始し、ユーザにより直接利用されてもよい。ホストデバイスがポータブルデバイスを認識しない場合、又はポータブルデバイスのためにホストデバイスにインストールされたワーキングドライバを有していない場合、ポータブルデバイスは、フラッシュドライブとしてホストのOSには見える可能性がある。本発明の一実施例によると、ポータブルデバイスの不揮発性メモリに格納されている自動実行プログラムが、ポータブルデバイスの不揮発性メモリに格納されているドライバをホストデバイスにインストールするため実行される。ホストデバイスがインターネットに接続される場合、自動実行プログラムは、インターネットを介しドライバの最近のアップデートを抽出し、ポータブルデバイスの不揮発性メモリに格納されているドライバをアップデートしてもよい。一実施例では、自動実行プログラムは、ドライバのためのアップデートを定期的にチェックし、ポータブルデバイスにローカルに格納されているドライバを更新してもよい。いくつかのデバイスは、ホストとやりとりするため複数のドライバを必要とするかもしれない。説明の簡単化及び便宜上、ドライバという単一の用語のみが、当該用語が以下の明細書、図面、請求項及び概要を通じてある又は1つのなどの数値的用語に従う場合であっても、1以上のドライバを参照するのに利用される。開示される主題の一実施例又は実施例の明細書における参照は、当該実施例に関して説明される特徴、構成又は特性が、開示される主題の少なくとも1つの実施例に含まれることを意味する。従って、明細書を通じて各所に現れる一実施例ではというフレーズの出現は、必ずしもすべてが同一の実施例を参照しているとは限らない。図1は、USBインタフェースを利用してポータブルデバイスがホストデバイスに接続される一例となるシステム100を示す。システム100は、プロセッサ110、MemoryControllerHubMCH120及びInput/OutputI/OControllerHubICH140を有する。図面では1ついのプロセッサが示されているが、システム100には複数のプロセッサがあってもよい。プロセッサ110などの各プロセッサは、1以上の処理コアを有してもよく、システムインターコネクト115に接続される。システムインターコネクト115は、プロセッサ110がMCH120などの他のプロセッサ又はデバイスと通信することを可能にするインタフェース信号を提供する。システムインターコネクト115は、ユニプロセッサ又はマルチプロセッサコンフィギュレーションをサポートしてもよい。システムインターコネクト115は、FrontSideBusFSB、リンクベースポイントツーポイントインターコネクト、又は他の何れかのタイプのインターコネクトであってもよく、パラレル、シーケンシャル、パイプライン、非同期、同期又はこれらの何れかの組み合わせであってもよい。MCH120は、システムインターコネクト115に接続されてもよい。MCH120は、システムメモリ130及びICH140などのメモリ及び入出力デバイスの制御及び設定を提供する。MCH120は、絶縁分離された実行モード、ホストと周辺装置とのバスインタフェース、メモリ制御などの複数の機能を統合したチップセットに統合されてもよい。チップセットはまた、ICH140の各機能を統合してもよい。簡単化のため、すべての周辺バスが示されているとは限らない。システム100はまた、PeripheralComponentInterconnectPCI、AcceleratedGraphicsPortAGP、IndustryStandardArchitectureISAバスなどの周辺バスを有してもよい。MCH120は、プロセッサ110とメモリ130との間の通信を制御するメモリコントローラ125を有する。プロセッサ110とMCH120とは、システムインターコネクト115を介し通信する。他の実施例では、MCH120の機能はプロセッサ110に統合され、プロセッサ100はICH140に直接接続されてもよい。メインメモリ130は、プロセッサ110又はシステムに含まれる他の何れかのデバイスにより実行される命令シーケンス及びデータを格納する。メモリコントローラ125は、プロセッサ110及び計算システム100の他のデバイスに関連するメモリトランザクションに応答して、メインメモリ130にアクセスしてもよい。メインメモリ130は、メモリコントローラ125がデータを読み/書きするアドレス指定可能な記憶位置を提供する各種メモリデバイスを有してもよい。メインメモリ130は、DRAMDynamicRandomAccessMemoryデバイス、SynchronousDRAMSDRAMデバイス、DoubleDataRateDDRSDRAMデバイス又は他のメモリデバイスなどの1以上の異なるタイプのメモリデバイスを有してもよい。Input/OutputControllerHubICH140は、DirectMediaInterfaceDMIた他の何れかのタイプのチップ間インタフェースなどの高速チップ間インタフェース135を利用して、MCH120に接続されてもよい。DMIは、2つの双方向レーンを介した2ギガビット/秒のコンカレント伝送レートをサポートする。ICH130は、I/O機能をサポートするよう設計されるいくつかの機能を有する。ICH140はまた、I/O機能を実行するため、MCH120と一緒に又は別々にチップセットに統合されてもよい。ICH140は、PCIバス、プロセッサインタフェース、インタラプトコントローラ、DMADirectMemoryAccessコントローラ、電力管理ロジック、タイマー、USBインタフェース、マスストレージインタフェース、LPCLowPinCountインタフェースなどのいくつかのインタフェース及びI/O機能を有してもよい。I/Oデバイス175及び/又はI/Oデバイス180は、PCIバスインタフェース又は他の何れかのタイプのインタフェースを介しICH140に接続されてもよい。特に、ICH140は、USBバス150に接続されるUSBホストコントローラHC145を有する。図面には図示されていないが、ICH140は、USBホストコントローラより多く有してもよい。USBホストコントローラ145は、1以上のUSBポートを提供してもよい。USBホストコントローラ145は、USB規格USB2.0、USB3.0などに規定されるようないくつかのホストコントローラレジスタを有する。これらのレジスタの具体例として、USBコマンドレジスタ、USBステータスレジスタ、USBインタラプトイネーブルレジスタ、USBフレームナンバーレジスタ、USBフレームリストベースアドレスレジスタ、USBSOFStartOfFrameレジスタ、USBPort0ステータス及び制御レジスタ、及びUSBPort1ステータス及び制御レジスタがあげられる。USBバス150は、USBキーボード155、USBマウス160、USBカメラ165及び他のUSBデバイス170などのいくつかのUSBデバイスに接続される。ホストコントローラがデータ伝送のタイプ及び方向、USBデバイスのアドレス及びデバイスのエンドポイントナンバーを特定するUSBパケットを送信すると、USBホストコントローラとUSBデバイスとの間のデータ伝送トランザクションが開始される。エンドポイントは、USBホストとUSBデバイスとの間の通信フローの終端であるUSBデバイスの一意的な特定可能な部分である。エンドポイントの方向は、INホストへ又はOUTホストからであってもよい。USBホストとUSBデバイスとの間のデータ及び制御の交換は、一方向又は双方向の論理パイプのセットとしてサポートされる。論理パイプは、USBホストとUSBデバイスとの間でデータ及び制御パケットをやりとりするため、USBホストとUSBデバイスのエンドポイントとの間の論理的抽象化である。USBデバイスは、複数の論理パイプパイプバンドルを介しホストにデータを伝送してもよく、例えば、USBデバイスのOUTエンドポイントにデータを転送するための独立した一方向論理パイプと、USBデバイスのINエンドポイントからUSBホストにデータを転送するための他の一方向論理パイプとがあってもよい。USBデバイスUSBカメラ165などがまず、USBポートを介しUSBホスト図1のシステム100などに接続されると、USBホストコントローラ145は、デバイスがサポートされているか判断する。それがサポートされている場合、ホストとデバイスとの間で通信するのに必要とされるデバイスドライバがロードされる。USBデバイスがかなり一般的であるときUSBキーボード155など、ホストは、デバイスのためのドライバを有しているかもしれない。この場合、ドライバは、ホスト自体からロード可能である。デバイスドライバがホストに検出できなかった場合、ホストは、デバイスドライバを検出するため、インターネットをサーチしてもよいそれがインターネットに接続されている場合。デバイスドライバがインターネット上で検出可能である場合、それらはホストにダウンロードできる。USBデバイスには、それに格納されているデバイスドライバを備えたインストール用媒体CDなどがしばしば同梱されている。デバイスドライバは、インストール用媒体からロード可能である。デバイスドライバがホストにロードされると、それらは、デバイスがホストに再接続される次のとき、再ロードされる必要がない。現実には、ホストのUSBデバイスのデバイスドライバは、損傷又は損失されているかもしれない再構築などにより。このような問題が発生すると、デバイスドライバは、ホストにおいて修復又は再インストールされる必要がある。しかしながら、インストール用の媒体が見つけることができず、又は損傷している可能性がある。インターネット上のデバイスのドライバを検出することが常に可能であるとは限らない。明らかに、これはユーザにとって問題となりうる。本発明の一実施例によると、USBデバイスのドライバは、デバイスの内部に格納されてもよい。例えば、図1のUSBカメラ165は、内部のフラッシュメモリに格納されているそれのドライバを有してもよい。USBカメラ165が最初にシステム100に接続されると、USBカメラ165のドライバは、システム100に自動的にインストールされてもよい。定期的に、USBカメラ165は、ドライバのアップデートをインターネットにおいてサーチし、USBカメラ165内のフラッシュメモリにアップデートをダウンロードしてもよい。このようにして、ドライバの再インストールが必要になると、アップデートされたドライバが、オリジナルのインストール用媒体を検出する負担なく、USBカメラ165から再インストールされてもよい。ユーザは、他のアイテムを保持する必要はない。図2は、無線USBインタフェースを利用してポータブルデバイスがホストデバイスに接続される他の一例となるシステム200を示す。システム200は、USBインタフェースに関連する点を除き、図1のシステム100と同様のコンポーネントを有するよう示される。特に、システム200は、無線USBカメラ220、無線USBマウス230、無線USBキーボード250及び他の無線USBデバイス240などの無線USBデバイスとシステム200との間の無線接続を実現する無線USBホストコントローラ210を有する。さらに、無線USBホストコントローラ210はまた、USBホストコントローラ145などの有線USBホストコントローラの機能を実行してもよい。同様に、無線USBデバイス220などは、内部のフラッシュメモリに格納されているそれのドライバを有してもよい。無線USBがシステム200に最初に無線接続されると、格納されているドライバがシステム200にインストールされ、無線USBデバイスがシステム200と通信することが可能になる。無線USBデバイスはまた、ドライバのアップデートをインターネットにおいて検索し、内部のフラッシュメモリにアップデートを定期的にダウンロードしてもよい。図1及び2はUSB接続を利用した具体例を示しているが、他の接続技術がまた利用されてもよい。一実施例では、IEEE1934インタフェースが利用されてもよい。ポータブルIEEE1934デバイスが、有線又は無線によりホスト100などに接続されてもよい。ポータブルデバイスは、デバイス内のフラッシュメモリ又は他の不揮発性メモリに格納されているそれのドライバを有してもよい。デバイスが最初にホストに接続されると、ドライバがホストにインストールされてもよい。デバイスは、それのドライバのアップデートをインターネットにおいて検索値、デバイス内の不揮発性メモリにアップデートを定期的に格納してもよい。他の実施例では、eSATAインタフェースが、有線又は無線を介しポータブルデバイスとホストとを接続するのに利用されてもよい。ポータブルeSATAデバイスのドライバは、デバイス内の不揮発性メモリに格納されてもよく、ポータブルeSATAデバイスが最初にホストに接続されると、ホストにインストールされてもよい。そこに格納されているドライバは、インターネットからアップデートをダウンロードすることによって、定期的にアップデートされてもよい。図3は、本発明の一実施例によるUSBデバイス300のブロック機能図である。USBデバイス300は、記憶媒体310、クロック生成手段320、USBデバイスコントローラ330、USBコネクタ及びUSBインタフェース350を有する。記憶媒体310は、USBデバイス300のドライバを格納するため、フラッシュメモリ又は他のタイプの不揮発性メモリを有してもよい。記憶媒体310はまた、USBデバイス300の動作を制御するため、USBデバイスコントローラ330により利用される命令など、USBデバイス310の他のデータを格納してもよい。クロック生成手段320は、USBデバイス300のためのメインクロック信号を生成するため、オシレータを有してもよい。クロック生成手段320はまた、位相同期ループPLLを介しUSBデバイス300のデータ出力を制御してもよい。USBコネクタ340は、PCなどのホストデバイスとの物理的インタフェースを提供する。USB規格は、複数タイプのコネクタを規定する。例えば、規格タイプAのコネクタは、USBホスト又はハブ上のレセプタクルに挿入する平らな矩形であり、電力とデータとの双方を搬送する。規格タイプAのコネクタは、USBキーボード、マウス又はフラッシュドライブ上で頻繁に見つけられる。他の具体例では、規格タイプBのコネクタは、斜めの外部コーナーを備えた正方形の形状を有し、典型的には、着脱可能なケーブルを利用したデバイスプリンタなど上のアップストリームレセプタクルにプラグインする。携帯電話やデジタルカメラなどの小型デバイスに典型的には利用されるUSBminiやマイクロコネクタなどの他のタイプのコネクタがある。USBインタフェース350は、ホストとUSBデバイス300との間のインタフェース機能を提供する。例えば、USBインタフェース350は、USBデバイス300からホストにデータを送信する送信機と、ホストからUSBデバイス300へのデータを受信する受信機とを有してもよい。送信機及び受信機は、送受信機能を実行する送受信機として合成されてもよい。USBインタフェース350はまた、データをホストに送信する前にUSB規格に従ってデータをフォーマット処理し、データを処理する前にホストから受信したデータを前処理例えば、USBフォーマットデータストリームから要求される情報を抽出するなどするモジュールを有してもよい。データのフォーマット処理はデータを圧縮することを含み、前処理はデータを伸長することを含むものであってもよい。さらに、USBインタフェース350は、USB規格により要求されるプロトコル機能の一部又はすべてを実行してもよい。USBデバイスコントローラ330は、USBデバイス300における他のコンポーネントの動作を制御する。一実施例では、USBデバイスコントローラ330は、サイズの小さなオンチップメモリを備えた小型マイクロコントローラを有してもよい。マイクロコントローラは、CPUを有してもよい。一実施例では、USBデバイスコントローラ330は、ホストに接続されると、USBデバイス300をホストにとってフラッシュドライブであると見えるようにするUSBフラッシュドライブの機能をシミュレートしてもよい。USBデバイスコントローラは、自動インストール及びセキュリティ問題を処理するモジュール335を有してもよい。モジュール335は、ソフトウェア、ファームウェア、ハードウェア又はこれらの何れかの組み合わせにより実現されてもよい。USBデバイス300がホストに接続されると、ホストは、デバイスコントローラ330のシミュレートされたUSBフラッシュドライブの機能のため、フラッシュドライブとして当該デバイス300を認識することになる。モジュール335はまず、USBデバイス330がホストと適切にやりとりするのに必要なドライバをホストが有しているかチェックする。有していない場合、モジュール335は、記憶媒体310に格納されているドライバとホストのドライバとをさらに比較する。記憶媒体310に格納されているドライバがホストのドライバからアップデートされている場合、モジュール330は、記憶媒体310に格納されているドライバによりホストのドライバをアップデートしてもよい。モジュール335は、ユーザがアップデート処理の実行前にホストのドライバをアップデートすることを所望しているかの選択をユーザに提供してもよい。一実施例では、モジュール335はさらに、記憶媒体310に格納されているドライバの何れかのアップデート又はより最近にアップデートされたドライバをインターネットにおいて検索してもよいホストがインターネットに接続されている場合。より最近にアップデートされたドライバ又はアップデートが検出された場合、モジュール335は、アップデートのより最近にアップデートされたドライバがウイルスに感染しているかチェックしてもよい。モジュール335は、このようなウイルスチェックを実行するため、ホストのOSを呼び出してもよい。ウイルスが検出されない場合、モジュール335は、ユーザがアップデートのより最近にアップデートされたドライバをダウンロードすることを所望しているかユーザに問い合わせてもよい。可能である場合、モジュール335は、より最近にアップデートされたドライバ又はアップデートをダウンロードし、それらをホストにインストールしてもよい。インストールが成功した場合、より最近にアップデートされたドライバ又はアップデートが、記憶媒体310に格納されてもよい。ダウンロードされたアップデートが機能する方法に依存して、ダウンロードされたアップデートは、記憶媒体に格納されているドライバをアップデートするか、又は単に記憶媒体310にアップデートを別に格納してもよい。アップデートが記憶媒体に別に格納される場合、モジュール335は、USBデバイスが次回にホストに接続されるとき、それがドライバをインストールするか、又はホストのドライバをアップデートすると決定しているか否かに関係なく、当初に格納されたドライバと記憶媒体310の何れかアップデートとの双方を検討する。他の実施例では、モジュール335は、USBデバイスがホストに接続される毎に、ドライバのアップデートをインターネットにおいて検索しなくてもよい。モジュール335は、ドライバのアップデートを定期的に2ヶ月毎などチェックすることを選択してもよい。同様に、モジュール335はまた、インターネット上でドライバ又はドライバのアップデートを検索している間、デバイス300の何れかの修正版又はファームウェアアップデートをインターネットにおいて検索してもよい。これらの何れかが検出された場合、モジュール335は、デバイスが有するバグを修正するため、及び/又はデバイスのファームウェアをアップデートするため、ホストシステムを介しデバイス300にそれをダウンロードしてもよい。修正版及び/又はファームウェアアップデートはウイルススキャンされ、それらがダウンロードされる前にユーザはパーミッションについて照会される。さらに、モジュール335は、データがホストに送信される前にデータを暗号化し、データがホストから受信された後にデータを解読する。一実施例では、暗号化及び解読機能は、USBインタフェース350により実行されてもよい。図4は、無線USB接続を利用したデバイス400のブロック機能図である。デバイス400は、記憶媒体410、クロック生成手段420、USBデバイスコントローラ430、USBコネクタ440及びUSBインタフェース450を有する。記憶媒体410、クロック生成手段420及びUSBコネクタ440は、USBデバイス300の記憶媒体310、クロック生成手段320及びUSBコネクタ340とそれぞれ同様であってもよい。USBコネクタ440は、有線又は物理コネクタを介しデバイス400がホストに接続することを可能にするものであってもよい。無線USBインタフェース450は、有線USBデバイスのインタフェース図3のUSBインタフェース350などが典型的に提供する機能を実行するのに加えて、デバイス400とホストとの間の無線インタフェースを提供する。無線USBインタフェース450は、無線信号送信機と無線信号受信機とを提供してもよい。USBデバイスコントローラ430は、図3に示されるようなUSBデバイス330と同様のものであってもよい。それは、上述されたようなUSBデバイスコントローラ335と同様の機能を実行してもよい。さらに、USBデバイスコントローラ430は、デバイス400がホストに無線接続されるとき、USBデバイスコントローラ335について説明されたように、チェック、比較、インストール/アップデート、アップデートの検索及びダウンロードを実行する。図5は、本発明の一実施例による接続技術を利用してホストデバイスに接続されるポータブルデバイス500のブロック機能図を示す。図4に示されるデバイス400と同様に、ポータブルデバイス500は、記憶媒体510、クロック生成手段520、デバイスコントローラ530、デバイスコネクタ540及びデバイスインタフェース550を有してもよい。しかしながら、ポータブルデバイス500は、ホストに接続するため、USB技術と異なる接続技術を利用してもよい。例えば、ポータブルデバイス500は、IEEE1934又はeSATAインタフェースを利用して、有線又は無線を介しホストに接続してもよい。接続技術を除き、記憶媒体510、クロック生成手段520、デバイスコントローラ530、デバイスコネクタ540及びデバイスインタフェース550はそれぞれ、上述された図4に示されるような記憶媒体410、クロック生成手段420、デバイスコントローラ430、デバイスコネクタ440及び無線デバイスインタフェース450の同様であってもよく、また同様の機能を実行してもよい。図6は、本発明の一実施例によるUSBデバイスがホストに接続されるとき、USB処理を開始するプロセス600を示すフローチャートである。ブロック605において、デバイスが、USBインタフェース又は他の何れかのタイプのインタフェースIEEE1934、eSATAなどなどの接続技術を介しホストに接続される。当該接続は、有線又は無線を介することが可能である。ブロック610において、デバイスがホストにより認識されているか判断される。認識されていない場合、ブロック615において、デバイスは、USBフラッシュドライブなどの外部のストレージドライブとしてホストに見えるように自らを設定してもよい。ブロック625において、デバイスがホストにより認識されているかさらに決定されてもよい。認識されていない場合、ブロック630において、ユーザはデバイス又はホストをチェックすることが推奨されてもよい。これは、デバイスの不具合に起因するか、又はホストが外部ストレージドライブを単にサポートしていないという事実に起因する可能性がある。ユーザは、ホスト及び/又はデバイスのメーカーからのヘルプを要求する必要があるかもしれない。ブロック610又は625において、デバイスがホストにより認識されている場合、ブロック620において、デバイスがホストと適切にやりとりするのに必要なドライバをホストが有しているかさらに判断される。有している場合、ブロック635において、ホストのドライバはデバイスの記憶媒体フラッシュメモリなどに格納されているドライバより古いかさらに判断されてもよい。古くない場合、デバイスはホストにより利用される。ブロック650において、デバイスの記憶媒体は、そこに格納されているコンテンツデバイスドライバなどが障害が起きないように例えば、ユーザにより偶然に上書きされるなど、プロテクトされてもよい。一実施例では、デバイスの記憶媒体は、ホストで実行されているアプリケーションから隠蔽されてもよい。他の実施例では、ユーザには、デバイスの記憶媒体にアクセスするためのオプションが与えられ、そこに格納されているコンテンツに障害が起こる可能性があるときはいつでも、促されることになる。ブロック620において、ホストがデバイスのドライバを有しないと判断される場合、又はブロック635において、ホストのドライバがデバイスのドライバより古いと判断された場合、ブロック640において、デバイスの最新のドライバがホストにインストールされてもよい。インターネット接続がある場合、インターネットの検索が、デバイスの最新のドライバについて実行されてもよい。デバイスの記憶媒体に格納されているドライバがインターネットにおいて検出された最新のドライバより古い場合、インターネットにおいて検出された最新のドライバがホストにダウンロード及びインストールされてもよい。一実施例では、ドライバの最新のアップデートがインターネットにおいて検出されてもよい。これらのアップデートは、デバイスに格納されているドライバと共にダウンロード及びインストールされてもよい。最新のドライバ又はドライバの最新のアップデートをインターネットにおいて検索している間、デバイスの何れかの修正版又はファームウェアアップデートがまた検索されてもよい。何れかが検出された場合、それは、デバイスが有するバグを修正し、及び/又はデバイスのファームウェアをアップデートするためダウンロードされる。修正版又はファームウェアアップデートは、デバイスの記憶媒体に格納されてもよいし、そうでなくてもよい。インターネット接続がない場合、インターネット上で検出された最新のドライバがデバイスに格納されているドライバより最近のものでない場合、又は最新のドライバ又はインターネットから検出されたドライバのアップデートのインストールが成功しなかった場合、デバイスのドライバがホストにインストールされる。ブロック645において、デバイスに格納されているドライバが、必要に応じてアップデートされてもよい。最新機のドライバ又はインターネットにおいて検出されたドライバのアップデートが、デバイスに格納されているドライバより最新のものであり、ホストへのインストールが成功した場合、最新のドライバ又はインターネットにおいて検出されるドライバのアップデートが、デバイスに格納されているドライバをアップデートするのに利用されてもよい。一実施例では、インターネットにおいて検出されたアップデートされたドライバは、既存のドライバと共に、デバイスに格納されてもよい。デバイスのドライバがアップデートされた後、デバイスの記憶媒体は、上述されたように、650においてプロテクトされてもよい。セキュリティのため、データファイルがインターネットからダウンロードされる場合、当該ファイルがウイルススキャンされる。ウイルスが検出されない場合、ユーザはさらに、ファイルのダウンロード前にパーミッションについて照会される。開示された主題の実施例が図1~6のブロック図及びフロー図を参照して説明されたが、当業者は、開示された主題を実現する他の多数の方法が代わりに利用されてもよいことを容易に理解するであろう。例えば、フロー図のブロックの実行順序は変更されてもよく、及び/又は説明されたブロック/フロー図のブロックの一部は変更、削除又は合成されてもよい。上記説明では、開示された主題の各種態様が説明された。説明のため、具体的な数字、システム及び構成が、主題の完全な理解を提供するため与えられた。しかしながら、主題がこれらの具体的な詳細なしに実現されてもよいことは、本開示の利益を有する当業者に明らかである。他の例では、開示された主題を不明りょうにしないように、周知の特徴、コンポーネント又はモジュールは、省略、簡単化、合成又は分割された。開示された主題が例示的な実施例を参照して説明されたが、本説明は、限定的な意味で解釈されることを意図していない。例示的な実施例の各種改良は、開示された主題が属する分野の当業者に明らかである主題の他の実施例と共に、開示された主題の範囲内に属するものとみなされる。