JP2014502400A - ポータブルデバイスのドライバをポータブルデバイスに統合する方法及び装置 - Google Patents

ポータブルデバイスのドライバをポータブルデバイスに統合する方法及び装置 Download PDF

Info

Publication number
JP2014502400A
JP2014502400A JP2013543251A JP2013543251A JP2014502400A JP 2014502400 A JP2014502400 A JP 2014502400A JP 2013543251 A JP2013543251 A JP 2013543251A JP 2013543251 A JP2013543251 A JP 2013543251A JP 2014502400 A JP2014502400 A JP 2014502400A
Authority
JP
Japan
Prior art keywords
driver
portable device
host system
storage medium
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.)
Granted
Application number
JP2013543251A
Other languages
English (en)
Other versions
JP5852130B2 (ja
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 JP2014502400A publication Critical patent/JP2014502400A/ja
Application granted granted Critical
Publication of JP5852130B2 publication Critical patent/JP5852130B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Transfer Systems (AREA)

Abstract

ポータブルデバイスが、USBバス又はIEEE1934などの接続技術を利用して有線又は無線によりホストシステムに接続される。ポータブルデバイスがホストシステムと適切にやりとりすることを可能にするドライバは、ポータブルデバイス内の不揮発性メモリに格納される。ポータブルデバイスがホストシステムに接続されると、ホストシステムがポータブルデバイスのドライバを有していないと判断された場合、又はホストシステムのドライバがポータブルデバイスに格納されているドライバより古いと判断された場合、ポータブルデバイスは、そこに格納されているドライバをホストシステムに自動的にインストールする。インターネットに接続されると、ポータブルデバイスはさらに、最新のドライバをインターネットにおいて検索する。ポータブルデバイスは、インターネットで検出された最新のドライバをダウンロードし、ホストシステムにインストールし、適切な場合、ポータブルデバイスに格納されているドライバをアップデートする。

Description

本開示は、一般に電子デバイスに接続されるポータブルデバイスに関し、より詳細には、ポータブルデバイスがホスト電子デバイスに接続されると、ドライバを自動的にインストールする統合ドライバを備えたポータブルデバイスに関する。
ポータブルデバイスがホスト電子デバイスに接続することを支援する多数の接続技術がある。ポータブルデバイスは、カメラ、マウス、キーボード、プリンタ、フラッシュドライブ、外部ハードドライブ、メディアプレーヤー、ネットワークアダプタなどのコンピュータ周辺デバイスを含む。ホスト電子デバイスは、デスクトップコンピュータ、ラップトップコンピュータ、タブレット、ネットブックコンピュータ、スマートフォンなどを含むものであってもよい。ホストデバイスはまた、周辺デバイスなどの他のホスト電子デバイスに接続されてもよい。接続技術は、限定することなく、USB(Universal Serial Bus)、IEEE1934インタフェース及びeSATAを含む。
USBは、パーソナルコンピュータ(PC)などのホストとデバイスとの間の通信を確立するためのシリアルバスインタフェースのための工業規格である。USBは、一方向又は双方向パイプのセットとしてUSBホストとUSBデバイスとの間の機能データ及び制御交換をサポートする。USBデータの伝送は、USBデバイスのエンドポイントとホストソフトウェアとの間で行われる。USBホストは、USBホストコントローラ(HC)を介しUSBデバイスとやりとりする。ホスト上のUSBシステムのソフトウェアは、USBデバイスとホストベースのデバイスソフトウェアとの間のやりとりを管理する。USB規格は、プラグ・アンド・プレイ及びホットスワッピングをサポートする。
IEEE1934インタフェースは、高帯域幅通信及びアイソクロナスリアルタイムデータ伝送のためのシリアルバスインタフェース規格である。それは、PC、デジタルオーディオ/ビデオアプリケーションにより利用される。このインタフェースはまた、FireWire、i.LINK又はLynxと呼ばれてもよい。IEEE1394は、ツリーチェーントポロジーにおいて多数の周辺装置(63など)を接続する。それは、多くのアプリケーションにおいてパラレルSCSI(Small Computer System Interface)接続を置換するのに利用される。それは、スキャナとプリンタとの間の通信などのピア・ツー・ピアデバイス通信がシステムメモリやCPU(Central Processing Unit)を用いることなく行われることを可能にする。それは、プラグ・アンド・プレイ及びホットスワッピングをサポートするよう設計される。
external Serial Advanced Technology Attachment(SATA)を表すeSATAは、STATインタフェース規格の変形である。SATAインタフェースは、ハードディスクドライバや光ドライブなどのマスストレージデバイスとホストバスアダプタとを接続するためのバスインタフェースである。eSATAは、例えば、PCと外部のハードディスクドライブとを接続する外部接続のため設計される。
何れの接続技術が利用されても、ユーザがポータブルデバイスを用いてホストとやりとりするため、ポータブルデバイスのデバイスドライバをホストにインストールすることが通常必要である。例えば、USBポートを備えたデジタルカメラには、通常はデジタルカメラのドライバを含むインストール用のCD(Compact Disc)が同梱されている。USB接続を介しPCとデジタルカメラとの間でデジタルピクチャを伝送するため、ドライバは、PCにまずインストールされることが必要とされる。同様に、それは、IEEE1934を介しPCとIEEE1934ポートを備えたカムコーダとの間でビデオデータを伝送するため、ドライバをPCにインストールすることが必要である。
典型的には、各ポータブルデバイスは、他のデバイスが同一タイプを有しているが、異なるメーカーにより製造されている場合でさえ、他のデバイスと通常は共有できない自らのドライバを有する。従って、ユーザは、以降の利用のためポータブルデバイスのためのインストール用のCDを保存する必要がある。例えば、PCがクラッシュし、以降に再構築される必要がある場合、ユーザは、ポータブルデバイスのドライバを再インストールするためCDを見つける必要がある。このとき、ユーザは、もはやインストール用のCDを見つけることができないかもしれない。従って、ポータブルデバイスのドライバCDを有することは、あまり便利でない。
開示された主題の特徴及び効果は、当該主題の以下の詳細な説明から明らかになるであろう。
図1は、本発明の一実施例によるUSBインタフェースを利用してポータブルデバイスがホストデバイスに接続される一例となるシステムを示す。 図2は、本発明の一実施例によるポータブルデバイスが無線USBインタフェースを利用してホストデバイスに接続される他の一例となるシステムを示す。 図3は、本発明の一実施例によるUSBデバイスのブロック機能図である。 図4は、本発明の一実施例による無線USB接続を利用してデバイスのブロック機能図である。 図5は、本発明の一実施例による接続トポロジーを利用してホストデバイスに接続されるポータブルデバイスのブロック機能図を示す。 図6は、本発明の一実施例によるUSBデバイスがホストに接続されるとき、USB処理を開始するプロセスを示すフローチャートである。
本出願において開示される主題の実施例によると、ポータブルデバイスのドライバが、ポータブルデバイス自体に統合される。ドライバは、ポータブルデバイス内の不揮発性メモリに格納されてもよい。ポータブルデバイスが有線又は無線によりホストデバイスに接続されると、ポータブルデバイスは、ホストデバイスのオペレーティングシステム(OS)により認識される。ホストデバイスが以前にインストールされたポータブルデバイスのドライバを有している場合、ポータブルデバイスは、ホストデバイスとの通信を開始し、ユーザにより直接利用されてもよい。ホストデバイスがポータブルデバイスを認識しない場合、又はポータブルデバイスのためにホストデバイスにインストールされたワーキングドライバを有していない場合、ポータブルデバイスは、フラッシュドライブとしてホストのOSには見える可能性がある。本発明の一実施例によると、ポータブルデバイスの不揮発性メモリに格納されている自動実行プログラムが、ポータブルデバイスの不揮発性メモリに格納されているドライバをホストデバイスにインストールするため実行される。ホストデバイスがインターネットに接続される場合、自動実行プログラムは、インターネットを介しドライバの最近のアップデートを抽出し、ポータブルデバイスの不揮発性メモリに格納されているドライバをアップデートしてもよい。一実施例では、自動実行プログラムは、ドライバのためのアップデートを定期的にチェックし、ポータブルデバイスにローカルに格納されているドライバを更新してもよい。
いくつかのデバイスは、ホストとやりとりするため複数のドライバを必要とするかもしれない。説明の簡単化及び便宜上、“ドライバ”という単一の用語のみが、当該用語が以下の明細書、図面、請求項及び概要を通じて“ある”又は“1つの”などの数値的用語に従う場合であっても、1以上のドライバを参照するのに利用される。
開示される主題の“一実施例”又は“実施例”の明細書における参照は、当該実施例に関して説明される特徴、構成又は特性が、開示される主題の少なくとも1つの実施例に含まれることを意味する。従って、明細書を通じて各所に現れる“一実施例では”というフレーズの出現は、必ずしもすべてが同一の実施例を参照しているとは限らない。
図1は、USBインタフェースを利用してポータブルデバイスがホストデバイスに接続される一例となるシステム100を示す。システム100は、プロセッサ110、Memory Controller Hub(MCH)120及びInput/Output(I/O) Controller Hub(ICH)140を有する。図面では1ついのプロセッサが示されているが、システム100には複数のプロセッサがあってもよい。プロセッサ110などの各プロセッサは、1以上の処理コアを有してもよく、システムインターコネクト115に接続される。
システムインターコネクト115は、プロセッサ110がMCH120などの他のプロセッサ又はデバイスと通信することを可能にするインタフェース信号を提供する。システムインターコネクト115は、ユニプロセッサ又はマルチプロセッサコンフィギュレーションをサポートしてもよい。システムインターコネクト115は、Front Side Bus(FSB)、リンクベースポイント・ツー・ポイントインターコネクト、又は他の何れかのタイプのインターコネクトであってもよく、パラレル、シーケンシャル、パイプライン、非同期、同期又はこれらの何れかの組み合わせであってもよい。
MCH120は、システムインターコネクト115に接続されてもよい。MCH120は、システムメモリ130及びICH140などのメモリ及び入出力デバイスの制御及び設定を提供する。MCH120は、絶縁分離された実行モード、ホストと周辺装置とのバスインタフェース、メモリ制御などの複数の機能を統合したチップセットに統合されてもよい。チップセットはまた、ICH140の各機能を統合してもよい。簡単化のため、すべての周辺バスが示されているとは限らない。システム100はまた、Peripheral Component Interconnect(PCI)、Accelerated Graphics Port(AGP)、Industry Standard Architecture(ISA)バスなどの周辺バスを有してもよい。MCH120は、プロセッサ110とメモリ130との間の通信を制御するメモリコントローラ125を有する。プロセッサ110とMCH120とは、システムインターコネクト115を介し通信する。他の実施例では、MCH120の機能はプロセッサ110に統合され、プロセッサ100はICH140に直接接続されてもよい。
メインメモリ130は、プロセッサ110又はシステムに含まれる他の何れかのデバイスにより実行される命令シーケンス及びデータを格納する。メモリコントローラ125は、プロセッサ110及び計算システム100の他のデバイスに関連するメモリトランザクションに応答して、メインメモリ130にアクセスしてもよい。メインメモリ130は、メモリコントローラ125がデータを読み/書きするアドレス指定可能な記憶位置を提供する各種メモリデバイスを有してもよい。メインメモリ130は、DRAM(Dynamic Random Access Memory)デバイス、Synchronous DRAM(SDRAM)デバイス、Double Data Rate(DDR) SDRAMデバイス又は他のメモリデバイスなどの1以上の異なるタイプのメモリデバイスを有してもよい。
Input/Output Controller Hub(ICH)140は、Direct Media Interface(DMI)た他の何れかのタイプのチップ間インタフェースなどの高速チップ間インタフェース135を利用して、MCH120に接続されてもよい。DMIは、2つの双方向レーンを介した2ギガビット/秒のコンカレント伝送レートをサポートする。ICH130は、I/O機能をサポートするよう設計されるいくつかの機能を有する。ICH140はまた、I/O機能を実行するため、MCH120と一緒に又は別々にチップセットに統合されてもよい。ICH140は、PCIバス、プロセッサインタフェース、インタラプトコントローラ、DMA(Direct Memory Access)コントローラ、電力管理ロジック、タイマー、USBインタフェース、マスストレージインタフェース、LPC(Low Pin Count)インタフェースなどのいくつかのインタフェース及びI/O機能を有してもよい。I/Oデバイス175及び/又はI/Oデバイス180は、PCIバスインタフェース又は他の何れかのタイプのインタフェースを介しICH140に接続されてもよい。
特に、ICH140は、USBバス150に接続されるUSBホストコントローラ(HC)145を有する。図面には図示されていないが、ICH140は、USBホストコントローラより多く有してもよい。USBホストコントローラ145は、1以上のUSBポートを提供してもよい。USBホストコントローラ145は、USB規格(USB2.0、USB3.0など)に規定されるようないくつかのホストコントローラレジスタを有する。これらのレジスタの具体例として、USBコマンドレジスタ、USBステータスレジスタ、USBインタラプトイネーブルレジスタ、USBフレームナンバーレジスタ、USBフレームリストベースアドレスレジスタ、USB SOF(Start Of Frame)レジスタ、USB Port 0ステータス及び制御レジスタ、及びUSB Port 1ステータス及び制御レジスタがあげられる。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のコネクタは、斜めの外部コーナーを備えた正方形の形状を有し、典型的には、着脱可能なケーブルを利用したデバイス(プリンタなど)上のアップストリームレセプタクルにプラグインする。携帯電話やデジタルカメラなどの小型デバイスに典型的には利用されるUSB miniやマイクロコネクタなどの他のタイプのコネクタがある。
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のブロック図及びフロー図を参照して説明されたが、当業者は、開示された主題を実現する他の多数の方法が代わりに利用されてもよいことを容易に理解するであろう。例えば、フロー図のブロックの実行順序は変更されてもよく、及び/又は説明されたブロック/フロー図のブロックの一部は変更、削除又は合成されてもよい。
上記説明では、開示された主題の各種態様が説明された。説明のため、具体的な数字、システム及び構成が、主題の完全な理解を提供するため与えられた。しかしながら、主題がこれらの具体的な詳細なしに実現されてもよいことは、本開示の利益を有する当業者に明らかである。他の例では、開示された主題を不明りょうにしないように、周知の特徴、コンポーネント又はモジュールは、省略、簡単化、合成又は分割された。
開示された主題が例示的な実施例を参照して説明されたが、本説明は、限定的な意味で解釈されることを意図していない。例示的な実施例の各種改良は、開示された主題が属する分野の当業者に明らかである主題の他の実施例と共に、開示された主題の範囲内に属するものとみなされる。

Claims (21)

  1. ポータブルデバイスであって、
    当該ポータブルデバイスのドライバを格納する記憶媒体と、
    当該ポータブルデバイスとホストシステムとを接続するのに利用される接続技術に互換的なインタフェース機能を提供するインタフェースと、
    前記記憶媒体に格納されているドライバを前記ホストにインストールすべきか判断し、インストールすべきである場合、前記ドライバを前記ホストにインストールするデバイスコントローラと、
    を有するポータブルデバイス。
  2. 前記接続技術は、標準的なUSB技術、標準的な無線USB技術、IEEE1934インタフェース又は無線IEEE1934インタフェースの1つである、請求項1記載のポータブルデバイス。
  3. 前記ホストシステムは、パーソナルコンピュータ、スマートフォン、タブレットコンピュータ又はネットブックコンピュータの1つを有する、請求項1記載のポータブルデバイス。
  4. 前記記憶媒体は、不揮発性メモリを有する、請求項1記載のポータブルデバイス。
  5. 前記デバイスコントローラは、当該ポータブルデバイスのドライバについて前記ホストシステムをチェックし、
    前記ホストシステムにドライバが検出されない場合、前記デバイスコントローラは、前記記憶媒体に格納されているドライバを前記ホストシステムにインストールし、
    前記ホストシステムが当該ポータブルデバイスのドライバを有していることが検出された場合、前記デバイスコントローラは、前記ホストシステムに検出されたドライバと前記記憶媒体に格納されているドライバとを比較し、
    前記ホストシステムに検出されたドライバが前記記憶媒体に格納されているドライバより古い場合、前記デバイスコントローラは、前記記憶媒体に格納されているドライバを前記ホストシステムにインストールする、請求項1記載のポータブルデバイス。
  6. 前記デバイスコントローラは、前記記憶媒体に格納されているドライバより最近にアップデートされた当該ポータブルデバイスのドライバ、又は前記記憶媒体に格納されているドライバのアップデートをインターネットにおいて検索し、検出された場合、前記デバイスコントローラは、前記より最近にアップデートされたドライバ又は前記アップデートをインターネットからダウンロードし、前記より最近にアップデートされたドライバ又は前記アップデートを前記記憶媒体に格納する、請求項1記載のポータブルデバイス。
  7. 前記デバイスコントローラは、前記より最近にアップデートされたドライバ又は前記アップデートをインターネットからダウンロードする前、及び前記より最近にアップデートされたドライバ又は前記アップデートを前記記憶媒体に格納する前、ユーザにパーミッションを照会する、請求項6記載のポータブルデバイス。
  8. 前記デバイスコントローラは、必要に応じて、前記記憶媒体のドライバを前記ホストシステムに自動的にインストールするためのモジュールを有する、請求項1記載のポータブルデバイス。
  9. 前記デバイスコントローラは、前記ホストシステムに外部のストレージドライブとして見えるように当該ポータブルデバイスを設定する、請求項1記載のポータブルデバイス。
  10. 前記デバイスコントローラは、当該ポータブルデバイスが前記ホストシステムに接続されるとき、前記記憶媒体のコンテンツをプロテクトする、請求項1記載のポータブルデバイス。
  11. ポータブルデバイスがホストシステムに接続されると、前記ポータブルデバイスが前記ホストシステムにより認識されるか判断するステップであって、前記ポータブルデバイスは、前記ポータブルデバイス内の記憶媒体に格納されているドライバを有する、前記判断するステップと、
    前記ポータブルデバイスが前記ホストシステムにより認識される場合、前記ポータブルデバイスのドライバの最新バージョンを決定するステップと、
    前記ホストシステムが前記ポータブルデバイスのドライバの最新バージョンを有していない場合、前記ポータブルデバイス又はインターネットから前記ドライバの最新バージョンを前記ホストシステムにインストールするステップと、
    を有する方法。
  12. 前記ポータブルデバイスのドライバの最新バージョンを決定するステップは、
    インターネット接続がある場合、前記ポータブルデバイスのドライブの最新バージョンをインターネットから検索するステップと、
    インターネット接続がある場合、インターネットから検出されたドライバの最新バージョンと前記記憶媒体に格納されているドライバとの間でドライバのアップデートされたバージョンを選択するステップと、
    前記ホストシステムが前記ポータブルデバイスのドライバを有しない場合、前記ドライバの最新バージョンとして前記ドライバのアップデートされたバージョンを利用するステップと、
    前記ホストシステムがドライバの最新バージョンとしてドライバを有する場合、前記ホストシステムにおいて前記ドライバの更新されたバージョンと前記ポータブルデバイスのドライバとの間でドライバのより最近にアップデートされたバージョンを選択するステップと、
    を有する、請求項11記載の方法。
  13. インターネットが前記ポータブルデバイスのドライバの最新のバージョンを有している場合、前記ドライバの最新のバージョンを前記ホストシステムにダウンロードするステップをさらに有する、請求項12記載の方法。
  14. 前記ドライバの最新のバージョンの前記ホストシステムへのインストールが成功し、前記記憶媒体に格納されているドライバが前記ドライバの最新のバージョンでない場合、前記記憶媒体に格納されているドライバを前記ドライバの最新のバージョンによりアップデートするステップをさらに有し、
    前記アップデートするステップは、前記記憶媒体に格納されているドライバの最新のアップデートを前記記憶媒体に格納することを含む、請求項11記載の方法。
  15. 前記記憶媒体のコンテンツが危険にさらされることからプロテクトするステップをさらに有する、請求項11記載の方法。
  16. 前記ポータブルデバイスが最初に前記ホストシステムに接続されるとき、前記ポータブルデバイスが前記ホストシステムにより認識されない場合、前記ホストシステムに外部のストレージドライブとして見えるように前記ポータブルデバイスを設定するステップをさらに有する、請求項11記載の方法。
  17. 前記ポータブルデバイスは、標準的なUSB技術、標準的な無線USB技術、IEEE1934インタフェース又は無線IEEE1934インタフェースの1つを利用して、前記ホストシステムに接続する、請求項11記載の方法。
  18. ポータブルデバイスがホストシステムに接続されると、前記ポータブルデバイスを外部の記憶デバイスとして認識するステップと、
    前記ポータブルデバイスが前記ポータブルデバイスのドライバの最近にアップデートされたバージョンを決定することを可能にするため、前記ポータブルデバイスと通信するステップと、
    前記ホストシステムが前記ポータブルデバイスのドライバの最近にアップデートされたバージョンを有しない場合、前記ポータブルデバイスが前記ポータブルデバイス又はインターネットから前記ドライバの最近にアップデートされたバージョンを前記ホストシステムにインストールすることを可能にするステップと、
    を有する方法。
  19. 前記ポータブルデバイスが、前記ポータブルデバイスのドライバの最新バージョンをインターネットから検索するよう実行するステップをさらに有する、請求項18記載の方法。
  20. インターネットが前記ポータブルデバイスのドライバの最近にアップデートされたバージョンを有している場合、前記ドライバの最近にアップデートされたバージョンがウイルスに感染しているかチェックし、感染していない場合、前記ポータブルデバイスが前記ドライバの最近にアップデートされたバージョンを前記ホストシステムにダウンロードすることを許可するステップをさらに有する、請求項19記載の方法。
  21. 前記ポータブルデバイスは、標準的なUSB技術、標準的な無線USB技術、IEEE1934インタフェース又は無線IEEE1934インタフェースの1つを利用して、前記ホストシステムに接続する、請求項18記載の方法。
JP2013543251A 2010-12-20 2011-12-06 ポータブルデバイスのドライバをポータブルデバイスに統合する方法及び装置 Expired - Fee Related JP5852130B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/973,446 2010-12-20
US12/973,446 US8862787B2 (en) 2010-12-20 2010-12-20 Method and apparatus for integrating driver(s) of a portable device into the portable device
PCT/US2011/063436 WO2012087558A2 (en) 2010-12-20 2011-12-06 Method and apparatus for integrating driver(s) of a portable device into the portable device

Publications (2)

Publication Number Publication Date
JP2014502400A true JP2014502400A (ja) 2014-01-30
JP5852130B2 JP5852130B2 (ja) 2016-02-03

Family

ID=46236273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013543251A Expired - Fee Related JP5852130B2 (ja) 2010-12-20 2011-12-06 ポータブルデバイスのドライバをポータブルデバイスに統合する方法及び装置

Country Status (8)

Country Link
US (1) US8862787B2 (ja)
JP (1) JP5852130B2 (ja)
KR (1) KR101548437B1 (ja)
CN (1) CN204331708U (ja)
DE (1) DE112011104457T5 (ja)
GB (1) GB2499949B (ja)
TW (1) TWI512622B (ja)
WO (1) WO2012087558A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157337A (ja) * 2015-02-25 2016-09-01 アイコム株式会社 多機能マイクロホン及びその多機能マイクロホンを用いた無線通信装置のファームアップ方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862787B2 (en) 2010-12-20 2014-10-14 Intel Incorporation Method and apparatus for integrating driver(s) of a portable device into the portable device
US20130139184A1 (en) * 2011-11-30 2013-05-30 Lsi Corporation Method for embedding a host driver within a device
US9355277B2 (en) * 2012-08-31 2016-05-31 Ncr Corporation Installable secret functions for a peripheral
GB201304872D0 (en) * 2013-03-15 2013-05-01 Imp Innovations Ltd Treatment
CN103309708A (zh) * 2013-05-31 2013-09-18 南京熊猫电子股份有限公司 一种usb设备在主机自动安装驱动程序的方法
JP6146212B2 (ja) * 2013-08-30 2017-06-14 セイコーエプソン株式会社 印刷システムおよび印刷システムの制御方法
US9503428B2 (en) 2014-10-10 2016-11-22 Zanguli Llc Secure device and proxy for secure operation of a host data processing system
US10963406B2 (en) * 2019-06-18 2021-03-30 Intel Corporation Persistent universal serial bus (USB) device enumeration
US11755518B2 (en) * 2021-06-28 2023-09-12 Dell Products L.P. Control of Thunderbolt/DisplayPort multiplexor for discrete USB-C graphics processor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282508A (ja) * 2000-03-28 2001-10-12 Asahi Optical Co Ltd 画像データ入力装置
JP2002342251A (ja) * 2001-05-15 2002-11-29 Sharp Corp 通信インタフェース装置
JP2003022427A (ja) * 2001-07-09 2003-01-24 Hitachi Ltd アップロード機能付き記憶装置
JP2005321907A (ja) * 2004-05-07 2005-11-17 Kyocera Corp デバイスドライバの提供方法、情報機器、及び周辺機器
JP2010067198A (ja) * 2008-09-12 2010-03-25 Dainippon Printing Co Ltd ドライバ更新システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7237101B1 (en) * 2000-02-12 2007-06-26 International Business Machines Corporation Methods and apparatus for self describing devices
US7574481B2 (en) 2000-12-20 2009-08-11 Microsoft Corporation Method and system for enabling offline detection of software updates
US8488143B2 (en) * 2002-08-07 2013-07-16 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting printer internet protocol addresses
US7365614B2 (en) * 2004-03-22 2008-04-29 Mobius Microsystems, Inc. Integrated clock generator and timing/frequency reference
US7624392B2 (en) 2004-05-18 2009-11-24 Oki Semiconductor Co., Ltd. USB device set
US7293117B2 (en) 2004-06-10 2007-11-06 Microsoft Corporation Self-installing peripheral device with memory wherein in response to user request for additional storage peripheral device being configured to remove installation software stored on memory
TWI331742B (en) * 2004-09-15 2010-10-11 Ind Tech Res Inst Brightness control circuit and display device using the same
US7716741B2 (en) * 2005-01-12 2010-05-11 International Business Machines Corporation Method and system for offloading real-time virus scanning during data transfer to storage peripherals
TWI312467B (en) * 2006-05-19 2009-07-21 Avermedia Tech Inc External device and operating method applied thereto
US7801561B2 (en) * 2006-09-28 2010-09-21 Sandisk Corporation Methods of configuring a generic bluetooth controller of a flash drive to be compatible with multiple bluetooth peripheral devices
JP2008139916A (ja) * 2006-11-30 2008-06-19 Canon Inc 情報処理装置、情報処理装置の制御方法、および情報処理装置の制御プログラム
TW200933487A (en) * 2008-01-30 2009-08-01 Ralink Technology Corp External device auto-run a driver installation and method thereof
US8243294B2 (en) 2008-04-10 2012-08-14 Eastman Kodak Company Simplified walk-up print driver installation
US20100011404A1 (en) * 2008-07-14 2010-01-14 Sony Corporation Tv software upgrade using tv internet adapter
EP2539806A4 (en) * 2010-02-24 2014-07-30 Hewlett Packard Development Co DRIVER FOR ONE DEVICE
US8862787B2 (en) 2010-12-20 2014-10-14 Intel Incorporation Method and apparatus for integrating driver(s) of a portable device into the portable device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001282508A (ja) * 2000-03-28 2001-10-12 Asahi Optical Co Ltd 画像データ入力装置
JP2002342251A (ja) * 2001-05-15 2002-11-29 Sharp Corp 通信インタフェース装置
JP2003022427A (ja) * 2001-07-09 2003-01-24 Hitachi Ltd アップロード機能付き記憶装置
JP2005321907A (ja) * 2004-05-07 2005-11-17 Kyocera Corp デバイスドライバの提供方法、情報機器、及び周辺機器
JP2010067198A (ja) * 2008-09-12 2010-03-25 Dainippon Printing Co Ltd ドライバ更新システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016157337A (ja) * 2015-02-25 2016-09-01 アイコム株式会社 多機能マイクロホン及びその多機能マイクロホンを用いた無線通信装置のファームアップ方法

Also Published As

Publication number Publication date
JP5852130B2 (ja) 2016-02-03
KR101548437B1 (ko) 2015-08-28
KR20130095807A (ko) 2013-08-28
WO2012087558A3 (en) 2012-08-16
DE112011104457T5 (de) 2013-09-19
CN204331708U (zh) 2015-05-13
TWI512622B (zh) 2015-12-11
GB2499949A (en) 2013-09-04
US8862787B2 (en) 2014-10-14
GB201310719D0 (en) 2013-07-31
GB2499949B (en) 2018-08-29
TW201229908A (en) 2012-07-16
WO2012087558A2 (en) 2012-06-28
US20120159521A1 (en) 2012-06-21

Similar Documents

Publication Publication Date Title
JP5852130B2 (ja) ポータブルデバイスのドライバをポータブルデバイスに統合する方法及び装置
JP6871957B2 (ja) エミュレートされたエンドポイントコンフィグレーション
US11567895B2 (en) Method, apparatus and system for dynamic control of clock signaling on a bus
US10282192B1 (en) Updating device code through a bus
JP6333993B2 (ja) ハードウェアプラットフォームのためのファームウェアのインシステムプロビジョニング
US9589156B2 (en) System and method for intercept of UEFI block I/O protocol services for bios based hard drive encryption support
US20180011718A1 (en) Re-enumeration of usb 3.0 compatible devices
US10747267B2 (en) Configuring docks
US10515040B2 (en) Data bus host and controller switch
WO2015070640A1 (zh) 设备远程访问的方法、瘦客户端和虚拟机
US20160179556A1 (en) Input/output (i/o) device configuration signature
US10853307B2 (en) System and method for a host application to access and verify contents within non-volatile storage of an information handling system
US8527667B2 (en) Apparatuses and methods for transferring data
US11354259B1 (en) Computer system configurations based on accessing data elements presented by baseboard management controllers
JP3714420B2 (ja) データ転送制御装置、電子機器、プログラム及び電子機器の製造方法
CN114253883B (zh) 一种endpoint设备访问方法、系统及endpoint设备
JP2011530754A (ja) 暗号化ファイル・システムにおける改善された入出力制御および効率
US20070174034A1 (en) Transparent intellectual network storage device
Stavrou et al. Exploiting smart-phone USB connectivity for fun and profit
TW201324172A (zh) 隨身儲存裝置、提供數位裝置傳輸資料之系統及其方法
Halvorsen et al. Universal Serial Bus

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140407

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140415

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140714

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141224

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150324

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20151104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151203

R150 Certificate of patent or registration of utility model

Ref document number: 5852130

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees