JP4625213B2 - 周辺装置に関連する情報にアクセスする方法およびシステム - Google Patents

周辺装置に関連する情報にアクセスする方法およびシステム Download PDF

Info

Publication number
JP4625213B2
JP4625213B2 JP2001390569A JP2001390569A JP4625213B2 JP 4625213 B2 JP4625213 B2 JP 4625213B2 JP 2001390569 A JP2001390569 A JP 2001390569A JP 2001390569 A JP2001390569 A JP 2001390569A JP 4625213 B2 JP4625213 B2 JP 4625213B2
Authority
JP
Japan
Prior art keywords
peripheral device
peripheral
identifier
network address
host device
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.)
Expired - Fee Related
Application number
JP2001390569A
Other languages
English (en)
Other versions
JP2002268983A (ja
Inventor
エイチ.チロヤン ジョン
シー.ジャイモ エドワード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2002268983A publication Critical patent/JP2002268983A/ja
Application granted granted Critical
Publication of JP4625213B2 publication Critical patent/JP4625213B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一般にネットワーク上で周辺装置に関係するソフトウェアおよび他のマテリアルにアクセスする方法およびシステムに関し、より具体的には、データベースにストアされまたは生成されたネットワークアドレスであって、周辺装置の識別子に関連するものを使用して、このようなソフトウェアおよび他の関係するマテリアルにアクセスすることに関する。
【0002】
【従来の技術】
ほとんどのパーソナルコンピュータ、およびゲームコンソール、TVセットトップボックス、産業用制御機器および車載用機器などの多くの他の種類のコンピュータ装置は、そのコンピュータ装置の機能を拡張する種々の周辺装置に接続するように設計されている。周辺装置およびコンピュータ装置は、一般に接続された周辺装置の存在および識別子を認識することを可能にする通信規格を使用する。これらの通信規格は、自動的に周辺装置を認識し、手操作による介入なしにコンピュータ装置が要求するすべてのリソースを割り当てるプラグアンドプレイを容易にする。より古い時代のパーソナルコンピュータ周辺装置および以前のバージョンのコンピュータオペレーティングシステムはプラグアンドプレイの便利さを実現しなかったが、パーソナルコンピュータと共に使用するために現在販売されている大抵の周辺装置はプラグアンドプレイに適合している。加えて、現在販売されているより新しいパーソナルコンピュータおよびより新しいオペレーティングシステム、ならびに多くのより新しい設計の周辺装置は、コンピュータが通電中であってもユニバーサルシリアルバス(USB)の「ホットな」接続または切断を提供する。例えば、多くのコンピュータおよび周辺装置はUSB規格をサポートし、「ホットな」接続または切断を提供するUSBインタフェースを有している。具体的には、新たに接続されたUSB装置がオペレーティングシステムによって列挙されると、周辺装置からの販売者(ベンダ)ID(識別子)、製品(プロダクト)ID、および他の情報が装置記述子フィールドに取得される。USBに準拠している周辺装置が以前にコンピュータにインストールされている(すなわち、デバイスレジストリ内にリストアップされ適当なデバイスドライバが付与されている)と仮定すると、コンピュータは直ちに周辺装置を使用することができる。
【0003】
現在、周辺装置がコンピュータまたは他のホスト装置にまさに初めて接続されると、時折、セットアッププログラムを実行して周辺装置との接続に使用されるいずれかのクライアントアプリケーションソフトウェアをインストールしたり、周辺装置に対するドライバを用意する必要がある。一般に、周辺装置のドライバおよび関係するアプリケーションソフトウェアは周辺装置と共にパッケージされたCD−ROMまたはフロッピー(登録商標)ディスク上に提供される。周辺装置のためのドライバは、特にオペレーティングシステムがリリースされ販売されてから販売された周辺装置については、そのオペレーティングシステムに常に用意されているわけではない。オペレーティングシステムにドライバが含まれていない場合、ユーザはドライバ、アプリケーションソフトウェア、および/または周辺装置のための他のマテリアルを手操作でロードし、あるいはそうでなければ手操作で用意しなければならない。従って、周辺装置の最初のインストールは真の「プラグアンドプレイ」操作ではないため、周辺装置を最初にインストールするためにユーザにより要求される対話は品質の高いユーザの経験を損なっている。
【0004】
一般に、新しい周辺装置がコンピュータに接続されるた場合、コンピュータオペレーティングシステムは新しい周辺装置の存在を検出し、そこでユーザに周辺装置と共に提供されたCD−ROMまたは他の媒体の挿入を要求する。ユーザは新製品を使用する前に被るこの遅延に慣らされているが、明かにそれを避けることが好ましいであろう。同様に、周辺装置の製造業者は、費用がかかるため、これらの製品にCD−ROMまたはフロッピー(登録商標)ディスクを含めないことが好ましいであろう。周辺装置と共に出荷されたCD−ROMまたは他の記憶媒体を製造しおよび配布することは、少なくとも2つの理由のために周辺装置の販売者に対して少なからぬ出費になるであろう。1つの理由は、CD−ROMなどの有体の媒体を用意することに関連する材料とパッケージングの明白なコストである。加えて、CD−ROMまたはフロッピー(登録商標)ディスクの製造スケジュールは周辺装置の出荷を遅らせ、またはソフトウェア開発に用い得る時間を減少させる可能性がある。新しい周辺装置と共に出荷されるであろうデバイスドライバまたは他のソフトウェアの変更が製品の開発サイクルの後期において要求された場合、CD−ROMの製造は周辺のハードウェア製品が既に完成した後まで遅れる可能性がある。周辺装置の納品の遅れに加えて、CD−ROMまたはフロッピー(登録商標)ディスクが製造される間、完成した周辺装置を在庫として保存することは、コストを加え、また収入の発生を遅らせる。これに代えて、CD−ROMおよび/またはフロッピー(登録商標)ディスクの製造を予定した周辺装置の製造および出荷スケジュールに確実に間に合わせるため、ソフトウェア開発が短く削減される可能性があり、周辺装置全体を市場でより競争できる魅力的なものにする追加の特徴の開発を行わないであろう。販売者は、以前に販売された周辺装置と共に出荷されたソフトウェア内のバグを修正するため、またはソフトウェアマテリアルの機能を改善するため、アップデートされたソフトウェアを別のCD−ROMまたは他の手段で配布しなければならないかもしれない。
【0005】
アップデートされたデバイスドライバおよび他のマテリアルはしばしばインターネットを介して利用可能であり、また多くのコンピュータはインターネットへの常時接続または少なくともダイヤルアップ接続機能を有する。従って、周辺装置の販売者が、代わりにユーザに対してインターネットを通じたダウンロードによってマテリアルを取得するようユーザに要求すれば、販売者は周辺装置と共にCD−ROMまたはフロッピー(登録商標)ディスクを供給する必要はない。しかし、インターネットへの接続および/またはドライバおよび他のマテリアルのダウンロードは、ユーザにより実行されなければならない手操作の処理でもあり、通常は製造業者のウェブサイトへの適切なアドレスの入力をユーザに要求するので、ユーザはダウンロードの実行を可能にする適切なウェブページが見つかるまで、種々のウェブページを調査しなければならない。このような手操作の処理は、初心者にとって難しく、コンピュータへの周辺装置の初期のインストールを遅らせる可能性があり、ユーザの満足を損ねてしまう。更に、ホストコンピュータ装置に再インストールされた周辺装置に頻繁におこる問題は、ユーザが周辺装置と共に最初に提供されたCD−ROMまたはフロッピー(登録商標)ディスクの置き場所を誤ってしまうことである。デバイスドライバを別のソースから取得できない限り、周辺装置を再インストールすることは不可能であろう。
【0006】
これらの問題に対する新しい代替の対処方法は、周辺装置の製造業者が、デバイスドライバおよび/または周辺装置に関する他の情報を取得できるサイトへのネットワークアドレスを周辺装置のメモリの中に用意することである。この代替の方法は、2001年1月12日に出願された出願番号09/760,327の「Method and System to Access Software Pertinent to an Electronic Peripheral Device Based on an Address Stored in a Peripheral Device」という名称の米国特許出願に開示されている。この代替の方法では、周辺装置がホストコンピュータ装置に最初に接続されたとき、またはホストコンピュータ装置がそのホストコンピュータに接続された周辺装置と共に最初に通電されたとき、オペレーティングシステムが周辺装置からアドレスを読み出す。ここで、オペレーティングシステムはインターネットアドレスを使用してアクセスしたウェブサーバまたはリモート装置からドライバおよび/または他のマテリアルを自動的にダウンロードする。
【0007】
【発明が解決しようとする課題】
しかし、このアプローチでは周辺装置がアドレスをストアする必要がある。現在、周辺装置はこのようなネットワークアドレスをストアしないので、既存のまたは過去の周辺装置はこの新規な代替の方法を使用できない。
【0008】
従って、ホストコンピュータ装置に接続された周辺装置に関連するマテリアルが取得できるサイトへのアドレスを自動的に提供するための、既存の周辺装置に適用可能な別の方法の提供が望まれている。現在、この機能を遂行する設備は存在しない。この方法はまた、周辺装置をホストコンピュータ装置へ接続するときに、デバイスドライバをロードし、関連するソフトウェアをインストールするために実質的なユーザの手操作による対話の必要性を回避する必要がある。明らかに、新規なおよびより古い周辺装置に対して、ネットワークを介しての所要のドライバおよび他の関連するソフトウェアへの自動的なアクセスを提供するシステムおよび方法は、上記の問題を回避するであろう。
【0009】
【課題を解決するための手段】
本発明は、周辺装置から取得した少なくとも1つの周辺装置識別子を使用して、データベースにストアされ、またはアルゴリズムにより生成されたネットワークアドレスを決定する方法およびシステムを指向する。そのネットワークアドレスにおけるリモート装置は、周辺装置に関連する情報を取得するためにアクセスされる。この方法は、周辺装置からホスト装置へ少なくとも1つの識別子を転送するステップを含む。そして、その識別子に基づきホスト装置によりネットワークアドレスが自動的に決定され、そのネットワークアドレスにおいて、ホスト装置とリモート装置または他の追加のソースとの間で、周辺装置に関連する通信が可能となる。例えば、ホスト装置はリモート装置から周辺装置のためのデバイスドライバをダウンロードすることができる。従って、この方法は、ネットワークアドレスにおいてリモート装置からソフトウェアおよび/または他のマテリアルを検索するステップ、プログラムを自動的に実行するステップ、デバイスドライバをインストールするステップ、アプリケーションプログラムをインストールするステップ、ウェブページを提示するステップ、製品を登録するステップ、ドキュメンテーションをダウンロードするステップ、ファームウェアをダウンロードして周辺装置にインストールするステップ、ヘルプ情報を提示するステップ、または周辺装置(全てがネットワークアドレスを使用してアクセスされたリモート装置からのものである)に関連する他のマテリアルにアクセスするステップのうちの少なくとも1つを含むのが好適である。当業者であれば、周辺装置識別子からネットワークアドレスが一旦決定されると、どのような個数の項目も取得でき、かつ/または実行できることを理解するであろう。
【0010】
周辺装置がホスト装置に新たに接続されたとき、ホスト装置は接続された周辺装置の個数の変更を検出することにより、または他の自動的な手段によりその接続の検出を行うことができる。これに代えて、ユーザは手操作でホスト装置にその接続を通知することができる。
【0011】
周辺装置から識別子を転送するステップは、好ましくは周辺装置がコンピュータに接続されたときに、オペレーティングシステムにより実行される列挙処理の間に実施される。列挙処理の間、オペレーティングシステムは新たに接続された周辺装置を調べて、USB装置記述子内のパラメータなどの、周辺装置のパラメータを決定する。装置記述子は、販売者識別子および製品識別子などの情報を含む。周辺装置から識別子を転送するステップも、装置記述子を要求しおよび受信する機能を使用した列挙処理の後で実行することができる。
【0012】
所望の周辺装置の識別子が装置記述子内の識別子と異なる識別子である場合、識別子またはそれらのインデックスを要求し受信するために他の機能が使用できる。例えば、文字列記述子は、識別子、または識別子がストアされる周辺装置のメモリ内のロケーションへのポインタを符号化することができる。代替として、識別子に関して周辺装置に対しクラス要求を発行できる。別の代替として、周辺装置から識別子を取得するために、販売者固有の命令または異なる命令を発行することができる。
【0013】
この方法は、周辺装置がホスト装置上に前もって登録されているか否かをチェックして決定するステップを含むことも好ましい。もし登録されていなければ、データベース内のネットワークアドレスを探すステップか、または周辺装置識別子に基づいてネットワークアドレスを生成するステップが実行される。代替として、このチェックは、ホスト装置が既にネットワークアドレスを決定した後に行うことができる。この場合、オペレーティングシステムの決定は、ネットワークアドレスにアクセスするタスクを開始するか、またはデバイスドライバおよび/または他の情報を検索しインストールするか、および/またはネットワークアドレスへのアクセスに関連する他のいずれかのタスクを実行するかを決定する。
【0014】
ネットワークアドレスを決定するステップは、好ましくは識別子に基づいてデータベースをサーチするステップを含む。データベースはホスト装置またはリモート装置上に存在する。代替として、識別子はその識別子を含む、またはそうでなければ識別子に基づくネットワークアドレスを生成するために使用することができる。
【0015】
ホスト装置とリモート装置との間での通信を可能にするステップは、好ましくは、ネットワークアドレスにおけるリモート装置から周辺装置に関連するデータ、機械使用説明書、文書、または他の機械読み取り可能マテリアルを自動的に検索するステップを含む。好ましくは、この方法は更に、周辺装置に関連するリモート装置上にストアされたセットアッププログラムを実行するステップを含む。セットアッププログラムは、ホスト装置上で周辺装置のためのデバイスドライバプログラムを自動的にインストールし、周辺装置に関連するアプリケーションプログラムを自動的に実行することができ、および/またはユーザが引き続きリモートのサイトに再接続することを選択できるネットワークアドレスへのリンクを提供することができる。
【0016】
この方法は、好ましくは、周辺装置上のブラウザ機能を自動的に実行し、ネットワークアドレスに自動的にアクセスするステップを更に含む。代替として、この方法は、ユーザがネットワークアドレスに自動的にアクセスするためにホスト装置上のブラウザ機能を実行することの許可を要求するステップを含む。このステップは、ユーザがホスト装置上のブラウザ機能を実行すること、および/またはネットワークアドレスに自動的にアクセスすることを更に要求することを抑制できるようにするステップをオプションで含む。
【0017】
本発明の別の態様は、周辺装置に関係する情報を自動的にアクセスするシステムを指向する。このシステムは、少なくとも1つの識別子をストアする周辺装置を含む。このシステムの一実施形態は、メモリ、ネットワークインタフェース、プロセッサ、および周辺装置に接続するために使用されるインタフェースを含むパーソナルコンピュータなどのホスト装置も備えている。ホスト装置は、ネットワークインタフェースを介して、または周辺装置を経てリモート装置と交信状態で接続する。好ましくは、リモート装置はサーバであるが、代替として、リモート装置はネットワークアドレスのデータベースがストアされた不揮発性記憶装置を備えることができる。ネットワークアドレスのデータベースを用いて周辺装置から取得した識別子に基づいてリモート装置へのネットワークアドレスを識別し、これにより、デバイスドライバなどの周辺装置に関連する情報が、リモート装置からホスト装置により取得される。代替として、リモート装置は外部記憶装置などの別の周辺装置とすることができる。リモート装置は、産業用、車載用および他の閉じたシステムに対して実用的な別の周辺装置を備えることができる。いずれにせよ、ホスト装置は、周辺装置に関連するデータ、機械使用説明書、文書、および/または他のマテリアルへのネットワークアドレスを使用してリモート装置にアクセスする。
【0018】
本発明の別の態様は、プロセッサにより実行されたとき、一般にプロセッサに上述した方法のステップを実行させる機械実行可能命令がストアされた機械読取可能媒体を指向する。
【0019】
上述した本発明の態様および多くの付随する利点は、添付の図面と共に用いたときに、後述の詳細な説明を参照することによりよく理解されるのと同様に、容易に理解されるであろう。
【0020】
【発明の実施の形態】
(例示のオペレーションシステム)
図1および以下の議論は、ウェブページをストアし提供するサーバと、ウェブページを要求してそれらをユーザに表示するクライアントとの両方に関して、本発明が実行される適当なコンピュータ環境の短く一般的な説明を提供することを意図している。要求はされないが、本発明は、パーソナルコンピュータにより実行されるプログラムモジュールなどの、一般的なコンピュータ実行可能命令の中に記述されるであろう。一般に、プログラムモジュールは特定のタスクを実行し、または特定の抽象データ型を実施するルーチン、プログラム、オブジェクト、コンピュータ、データ構造を含んでいる。更に、当業者であれば、本発明が、特にハンドヘルドデバイス、ポケットパーソナルコンピュータ装置、ネットワークへの接続に適合したディジタル携帯電話、マイクロプロセッサを用いたまたはプログラム可能な消費者用電子装置、ゲームコンソール、TVセットトップボックス、マルチプロセッサシステム、ネットワークパーソナルコンピュータ、ミニコンピュータ、メインフレームコンピュータ、産業用制御機器、車載用機器、航空宇宙用機器などを含む、ウェブページを表示するクライアント装置に関する他のコンピュータシステム構成により実施できることを理解するであろう。本発明は、タスクが通信ネットワークを介してリンクされたリモート処理装置により実行される分散コンピュータ環境においても実施することができる。分散コンピュータ環境では、プログラムモジュールはローカルおよびリモートの双方のメモリ記憶装置に配置してもよい。
【0021】
図1を参照すると、本発明を実施する例示のシステムは、処理ユニット21、システムメモリ22およびシステムバス23が備えられた従来のパーソナルコンピュータ20の形態をとる汎用のコンピュータ装置を含んでいる。システムバスは、システムメモリを含む種々のシステム構成要素を処理ユニット21に結合し、メモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含む、多様なアバスアーキテクチャのいずれかを使用する種々の型のバス構造のいずれかであることができる。システムメモリは、リードオンリメモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。スタートアップの間などにパーソナルコンピュータ20内の要素間での情報の転送を助ける基本ルーチンを含むベーシック入出力システム(BIOS)26は、ROM24にストアされている。パーソナルコンピュータ20は更に、ハードディスク(図示せず)から読み出しおよびこれに書き込むためのハードディスクドライブ27、着脱可能な磁気ディスク29から読み出しおよびこれに書き込むための磁気ディスクドライブ28、CD−ROMまたは他の光媒体などの着脱可能な光ディスク31から読み出しおよびこれに書き込むための光ディスクドライブ30を含んでいる。ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30はそれぞれ、ハードディスクドライブインタフェース32、磁気ディスクドライブインタフェース33、および光ディスクドライブインタフェース34に接続されている。ドライブおよびそれらの関連するコンピュータ読取可能媒体は、コンピュータ読取可能機械命令、データ構造、プログラムモジュールおよびパーソナルコンピュータ20に対する他のデータの不揮発性記憶装置を提供する。本明細書で述べられる例示の環境はハードディスク、着脱可能な磁気ディスク29、および着脱可能な光ディスク31を使用するが、当業者であれば、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)等の、コンピュータによりアクセス可能なデータをストアすることができる他の種類のコンピュータ読取可能な媒体も例示のオペレーティング環境で使用できることを認めるであろう。
【0022】
多数のプログラムモジュールが、(ブラウザ機能を有する)オペレーティングシステム35、1つまたは複数のアプリケーションプログラム36、他のプログラムモジュール37、およびプログラムデータ38を含むハードディスク、磁気ディスク29、光ディスク31、ROM24またはRAM25にストアされる。ユーザは、キーボード40およびポインティングデバイス42などの入力デバイスを介してパーソナルコンピュータ20に命令や情報を入力することができる。他の入力装置(図示しない)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナ、ディジタルカメラ等を含むことができる。これらのおよび他の入力装置はしばしは、システムバスに結合された入出力(I/O)装置インタフェース46を介して処理ユニット21に接続される。プリンタ(図示せず)等の出力装置もまた、システムバスに結合されたI/O装置インタフェース46を介して処理ユニット21に接続される。同様に、モニタ47または他のタイプのディスプレイ装置もビデオアダプタ48などの適当なインタフェースを介してシステムバス23に接続され、ウェブページおよび/または他の情報を表示するために使用可能である。モニタに加え、パーソナルコンピュータはしばしば(図示しないサウンドカードまたは他のオーディオインタフェースを介して)スピーカ等の他の周辺出力装置(図示せず)に結合される。このようなI/O装置は一般に、周辺装置と呼ばれる。本発明に関する議論を目的として、一般の周辺装置56がI/O装置インタフェース46を介してパーソナルコンピュータ20に結合される。I/O装置インタフェースという用語は、シリアルポート、パラレルポート、ゲームポート、キーボードポート、および/またはUSBポートに特別に使用される各インタフェースを包含していることを意図している。I/O装置インタフェース46を通じ、情報がシステムバス23を介して周辺装置56と処理ユニット21との間で通信される。周辺装置56は、情報をストアするファームウェアメモリ58を含む。ファームウェアメモリ58は、消去可能なプログラム可能リードオンリーメモリ(EPROM)、フラッシュメモリ、磁気記憶装置、または他の記憶装置とすることができる。ファームウェアメモリ58は、販売者ID、製品ID、および/または周辺装置56に関する他の情報をストアする。
【0023】
パーソナルコンピュータ20は、リモートコンピュータ49などの、1つまたは複数の追加のソースへの論理接続を使用してネットワーク環境で操作することができる。本発明に関し、周辺装置のファームウェアメモリにストアされたURIまたはアドレスは、リモートコンピュータ49を介してアクセスされるロケーションを特定することができる。リモートコンピュータ49は、別のパーソナルコンピュータ、(パーソナルコンピュータ20と同様に典型的一般的に構成された)サーバ、ルータ、ネットワークパーソナルコンピュータ、ピアデバイス、別の周辺装置、衛星、またはいくつかの他の共通ネットワークノードであることができ、また図1には外部メモリ記憶装置50しか示されていないが、一般的にパーソナルコンピュータに関する上述した多くのまたは全てのエレメントを含むことができる。図1に描かれている論理接続は、ローカルエリアネットワーク(LAN)51およびワイドエリアネットワーク(WAN)52を含む。このようなネットワーク環境は、オフィス、企業全域に渡るコンピュータネットワーク、イントラネット、およびインターネットで共通である。
【0024】
LANネットワーク環境で使用される場合、パーソナルコンピュータ20はネットワークインタフェースまたはアダプタ53を介してLAN51に接続される。WANネットワーク環境で使用される場合、パーソナルコンピュータ20は一般にモデム54、またはインターネット等のWAN52上での通信を実行するための他の手段を含む。内部または外部にあることが可能なモデム54はシステムバス23に接続され、またはI/O装置インタフェース46、すなわちシリアルポートを介してバスに結合される。ネットワーク環境では、パーソナルコンピュータ20に関して示されたプログラムモジュール、またはそれらの部分は、リモートのメモリ記憶装置にストアすることができる。図示されたネットワーク接続は例示であり、無線通信および広域ネットワークリンクのように、コンピュータ間の通信リンクを確立する他の手段を使用することができる。
【0025】
本発明の例示の実施形態
下記では、ホスト装置として活動する(図1に示す)パーソナルコンピュータ20と、周辺装置または他の装置などの周辺装置との間で通信するUSB規格などのプラグアンドプレイ技術を使用する好ましい具体例の例示の実施形態を説明する。当業者は、プラグアンドプレイ技術およびRS−232Cシリアル、IEEE1284パラレル、IrDA赤外線、IEEE1394および他の規格などの周辺装置による他の通信形態のために細部をわずかに変更できることを理解するであろう。しかし、議論を簡単にするために、後述の例でUSBが一貫して使用されるであろう。
【0026】
図2は、デバイスドライバ、アプリケーションソフトウェア、または別のマテリアルをインストールする実施形態のロジックを示す。ステップ60でネットワークアドレスがデータベースにストアされる。好ましくは、このネットワークアドレスはデバイスドライバおよび/または他のマテリアルがアクセスされることが可能なロケーションを識別する。しかしながら、別の実施形態では、ネットワークアドレスは、別のアドレスを取得することができるセントラルロケーションを識別する。その別のアドレスから、デバイスドライバおよび/または他のマテリアルがダウンロードされる。当業者であれば、アドレスのリダイレクションおよび/または分岐を更に拡張して、デバイスドライバおよび/または他のマテリアルが配置されおよび取得することができる終端(final terminal)のロケーションへの一連の順次のリンクを作成できることを理解するであろう。1つの好ましい実施形態では、ターミナルネットワークアドレスはホストパーソナルコンピュータ20のデータベースにストアされる。しかしながら、上述したように、本発明の別の実施形態は、(図1に示されている)リモートコンピュータ49などの、追加のソースのデータベースにターミナルネットワークアドレスをストアする。
【0027】
ステップ61においてユーザは周辺装置を(図1に示されている)USB I/O装置インタフェース46に接続する。代替として、ステップ61は既に接続された周辺装置と共にホストパーソナルコンピュータ20に供給される電力を示すことができる。しかし、別の実施形態では、ステップ61はダイレクトな物理接続を指さず、これに代えて、ホストコンピュータおよび周辺装置の間で実施される無線通信の性質に依存して、ホストパーソナルコンピュータ20の赤外線、無線周波数(RF)、または他の適当な通信距離の範囲内の無線接続を介して通信する周辺装置を持ってくることにより発生するような、遠隔のまたは仮想的な接続を指すことができる。好ましいUSBの実施形態に戻ると、ステップ62において(図1に示されている)オペレーティングシステム35は新しいデバイスを検出し、列挙する。列挙処理の間、オペレーティングシステム35は装置記述子に対するデバイスドライバを検索する。装置記述子は、好ましくは販売者IDおよび製品IDを含む周辺装置に関連するデータフィールドを包含する。
【0028】
これらのIDが装置記述子フィールドから一旦解析されると、ネットワークアドレスをデータベースから決定することができ、または代替として、IDに基づいて決定することができる。一実施形態では、オペレーティングシステム35は決定ステップ64でデバイスドライバおよび/または他のソフトウェアがホストパーソナルコンピュータ20上で既に利用可能か否かを最初に決定する。オペレーティングシステムは一般に、予め定義されたディレクトリにおいてシステムファイル内のデバイスドライバを調査する。
【0029】
デバイスドライバおよび/または他のソフトウェアがホストパーソナルコンピュータ20上で既に利用可能であれば、オペレーティングシステム35は単純にデバイスドライバおよび/または他のソフトウェアを(図1に示されている)メモリ22にロードする。オプションで、オペレーティングシステム35は、装置記述子フィールドから取得したIDと既存のデバイスドライバおよび/または他のソフトウェアとを比較して、バージョン番号がマッチするかまたは利用可能なバージョン番号が装置記述子フィールド内で参照されるバージョン番号より後かを知ることにより、より詳細なチェックを実行することができる。バージョン番号がマッチする場合、または利用可能なバージョンがより最近のものである場合、オペレーティングシステム35はデバイスドライバおよび/または他のソフトウェアをメモリ22にロードする。
【0030】
バージョン番号がマッチしない場合、あるいは利用可能なバージョンが古い場合、あるいはデバイスドライバおよび/または他のソフトウェアがパーソナルコンピュータ20上で利用さえできない場合、オペレーティングシステム35は決定ステップ66を実行して、対応するネットワークアドレスがデータベースにストアされているかを決定する。この決定をするための後続の更に詳細なステップは図3に関連して後述する。代替として、ネットワークアドレスはIDから生成される。例えば、装置記述子の識別子フィールドは、インターネットプロトコル(IP)アドレスにマップすることができる。具体的には、デバイスクラスは4つのIPネットワークアドレスの第1の四半部(quad)に使用され、デバイスサブクラスは第2の四半部に使用され、製品IDは第3の四半部に使用され、製品IDはIPネットワークアドレスの第4の四半部に使用される。別のアプローチでは、例えばwww.<vendorIDname>.com/<modelIDname>/supportのように、販売者IDおよび製品IDモデルから文字・数字を組み合わせたウェブアドレスを生成する。
【0031】
ネットワークアドレスがデータベースにストアされていない場合、または装置記述子フィールドを使用して適切に生成することができない場合、図2に示すようにステップ68でデバイスドライバおよび/または他のソフトウェアが手操作でロードされなければならない。手操作のローディングは一般に、デバイスドライバおよび/または他のソフトウェアがストアされたCD−ROMなどの記録媒体を対応するドライブに挿入すること、あるいはインターネットを介してデバイスドライバおよび/または他のソフトウェアを手操作でダウンロードすること、あるいはユーザの介入または動作を要求する後続の別の手続きを含む。手操作のローディングは、ネットワーク通信が利用可能でないかまたはアクティブでないときにも要求される。しかしながら、ネットワークアドレスがデータベースにストアされている場合、オペレーティングシステム35はステップ70を実行して、ネットワークアドレスにアクセスする。
【0032】
例えばインターネットへの接続を介してアクセスされたネットワークアドレスにより特定されるようなウェブサーバ上のウェブページ等のネットワーク接続を介してネットワークアドレスにアクセスした後、オペレーティングシステム35はステップ72を実行してそのネットワークアドレスにおけるリモート装置からデバイスドライバおよび/または他のソフトウェアのダウンロードを開始する。更に、ネットワーク通信が利用可能でない場合またはアクティブでない場合、ダウンロードを開始する試みは失敗し、デバイスドライバおよび/または他のソフトウェアをダウンロードするための手操作による介入が要求されるであろう。しかしながら、好ましくは、ネットワーク通信は利用可能/アクティブであり、ソフトウェアおよび他のマテリアルのダウンロードは、ハイパーテキスト転送プロトコル(HTTP)、ファイル転送プロトコル(FTP)、無線アプリケーションプロトコル(WAP)または他の通信技術を通じたファイル転送要求により達成される。
【0033】
一旦受信されると、ステップ74においてデバイスドライバおよび/または他のソフトウェアはホストパーソナルコンピュータにインストールされる。インストールは完全に自動的にすることができ、またはウィザードプログラムにより達成することができる。ドライバおよび/または他のソフトウェアが最初にダウンロードされたとき、ネットワークアドレスにより特定されるサイトにおいて周辺装置に関連する他の情報をアクセスするためにステップ76を実行することが好ましい。このため、例えば追加の機器、サプライ、またはサービスに対する販売者の申し出を、ユーザに表示することができる。最後に、ステップ78においてデバイスドライバまたは他のマテリアルがメモリ22にロードされ、そして周辺装置の使用準備が完了する。
【0034】
決定ステップ66において、ホストパーソナルコンピュータに適切なデバイスドライバまたは他のソフトウェアが既にインストールされている場合、他の目的でネットワークアドレスにアクセスするために、更なる一連のステップが開始されてもよい。例えば、周辺装置の販売者は更なる販売を生み出すことを希望して、広告のウェブページが表示されること、または他のサービスがユーザに申し出られることを要求することができる。しかしながら、ユーザにこのような製品またはサービスの追加の表示または申し出を抑制するためのオプションが与えられるであろうことも考慮される。そこで、決定ステップ80は、ネットワークアドレスにおける情報をアクセスする更なる試みを回避するために、ユーザによりフラグが設定されているか否かをチェックする。もし設定されていれば、この方法は直接ステップ78に進み、ドライバソフトウェアまたは他のソフトウェアをロードする。しかしながら、フラグが偽、すなわちユーザにより設定されていなければ、この方法は決定ステップ82に進み、ネットワークアドレスに接続し、あるいはまた、ネットワークアドレスを生成する。ネットワークアドレスがデータベース内に見つからなかった場合および周辺装置IDから生成できない場合、ステップ86において、オぺレーティングシステム35はオプションでエラーを処理し、ステップ78に進み、ソフトウェアをメモリにロードする。データベース内にネットワークアドレスを見つけた場合、またはネットワークアドレスがIDに基づいて生成された場合、そのネットワークアドレスはステップ84においてアクセスされ、ステップ76において注目された他の情報が取得される。再び、デバイスドライバまたは他の前もってインストールされたソフトウェアがステップ78においてメモリ22にロードされる。
【0035】
図3に関して、特定の周辺装置に関連するネットワークアドレスがデータベースにストアされているかを決定するための好ましい実施形態が示されている。図2の列挙ステップ62の間、オペレーティングシステム35は周辺装置からの販売者および製品IDを含む装置記述子を要求する。ステップ90において、オペレーティングシステム35は識別子に基づいてネットワークアドレスに対するローカルデータベースをチェックする。データベースは、ホストコンピュータ上に前もってインストールされたオペレーティングシステムファイルの一部とすることができ、オペレーティングシステムの周期的なオンライン更新の間、おそらく時々更新することができるであろう。販売者IDおよび/または製品IDは、周辺装置に関連するネットワークアドレスを参照するためのデータベースへのインデックスとして役立つ。決定ステップ92において、オペレーティングシステム35が周辺装置から取得したIDに基づくネットワークアドレスを含むローカルデータベースを決定すると、オペレーティングシステム35はステップ94においてホストパーソナルコンピュータ(または他のホスト装置)のメモリ22内でネットワークアドレスを読み出す。この場合、ステップ96において(ステップ66の)決定の結果が「はい」に設定される。この結果により、ステップ90におけるネットワーク全体で発生する自動的なローディングと共にインストール処理全体が継続する。
【0036】
しかしながら、ホストパーソナルコンピュータまたは他のホスト装置上にローカルデータベースが存在しない場合、またはローカルデータベースが周辺装置から取得したIDによりインデックス付けされたネットワークアドレスを含まない場合、ステップ100においてオペレーティングシステムがリモートデータベースをアクセスする。リモートデータベースは予め定義されたマイクロソフト社のウィンドウズ(登録商標)のアップデートウェブサイトで、またはネットワーク上での通信が提供される他のいくつかのリモート装置を示す異なるアドレスでアクセスすることができる。決定ステップは、周辺装置から取得したIDによりインデックス付けされたネットワークアドレスがリモートデータベースにストアされているかを決定する。このステップは、リモートデータベースに対して適切なように、オペレーティングシステム35からリモートデータベースへの直接の要求により、または別のリモートデータベースアクセスプロシージャにより達成される。例えば、リモートデータベースはアクティブサーバページ(ASP)または他のサーバプロセスによって検索することができる。当業者であれば、代替としてネットワークアドレスは周辺装置から取得したIDに基づきリモート装置において生成できることを理解するであろう。ネットワークアドレスがリモートデータベース内で見つかった場合、またはリモートで生成された場合、ステップ94においてそのネットワークアドレスはホストパーソナルコンピュータ(または他のホスト装置)に転送され、メモリ22にストアされる。しかしながら、リモートデータベースが存在しない場合、またはリモートデータベースが周辺装置から取得したIDによりインデックス付けされたネットワークアドレスを含まない場合、(ステップ66の)全体的な決定の結果はステップ104において「いいえ」に設定される。その結果により、ステップ68において、インストール処理は、従来の手操作によるCD−ROMまたはフロッピー(登録商標)ディスクからのデバイスドライバおよび他のソフトウェアのローディングにより継続するであろう。
【0037】
図4に別の詳細な実施形態が示されている。この実施形態は、本発明をオペレーティングシステムに包含したことに基づいている。上記したように、ステップ110または112は、それぞれ、ユーザがUSB装置をホスト装置のUSBポートに「ホットコネクト(hot-connect)」したとき、またはホスト装置が既に接続された周辺USB装置と共に起動されたときに発生する。ステップ114で、バスドライバプログラムは新しい周辺装置を検出し、プラグアンドプレイマネージャプログラムに対し、バスに接続された装置の個数が変更されたことを通知する。ステップ116において、プラグアンドプレイマネージャは、装置記述子の中に他の装置パラメータと共に提供されるIDに対する装置を検索するためにI/O要求パケット(IRP)を送信することにより、装置を列挙する。この詳細な列挙のタスクは、プラグアンドプレイマネージャプログラムと共同で、バスドライバプログラムにより実行される。
【0038】
バスドライバプログラムは、一般にPCI(peripheral component interconnect)またはパーソナルコンピュータ・メモリカード国際協会(PCMCIA)の親(parent)バスドライバモジュールである。この列挙処理は、周辺装置からプラグアンドプレイマネージャが販売者IDおよび製品IDなどの情報を集める点で、上記のものと類似している。代替として、ID情報はクラスドライバまたは販売者固有装置(vendor specific device;VSD)要求により取得される。また、ID情報の文字列は、周辺装置内の既知のメモリロケーションから、または周辺装置のメモリ内のロケーションから取得できる。周辺装置から取得した文字列内での符号化は、種々の情報の型を区別することができる。例えば、フォワードスラッシュ記号は、特定の型の情報、または後続の文字を特定の型の情報として扱う命令を示すために使用することができる。具体的には、スラッシュT(/T)は、後続の文字が表示すべきタイトルまたはテキストであることを示すことができる。スラッシュI(/I)は、オペレーティングシステムに対する命令を示すことができる。スラッシュS(/S)は、別の文字列識別子を示すことができる。前述のように、これらのコマンドの1つに続く文字は、例えば引用符で囲まれた実際の文字、または文字列の文字がストアされたメモリロケーションへのポインタとすることができる。
【0039】
周辺装置から周辺装置IDおよび他のパラメータが取得されると、ステップ118において、プラグアンドプレイマネージャは新たに接続された周辺装置が前もってインストールされているかを決定する。決定ステップ120において、プラグアンドプレイマネージャは新たに接続された装置が前もってインストールされているかを決定する。インストールされていなければ、ステップ122においてプラグアンドプレイマネージャは操作を実行して、新たなデバイスドライバをロードする。逆に、周辺装置がインストールされていれば、ステップ124においてプラグアンドプレイマネージャは古いデバイスドライバをロードする。上述したように、ステップ126において、プラグアンドプレイマネージャは、更に周辺装置から取得したIDを使用し、URIを決定し、装置−URIダイナミックリンクライブラリ(DLL)を実行して、ブラウザまたはURIを使用するリモートサイトへ接続する他の機能をアクティブにすることができる。
【0040】
図5は、図4のステップ122に示した新たなデバイスマネージャをロードする処理の詳細を示す。この処理では、ステップ130に示すように、プラグアンドプレイマネージャはまずレジストリ内に周辺装置の文字列情報を含む装置IDデータを保存する。ステップ132において、プラグアンドプレイマネージャはNew−Device DLLを実行する。ステップ134において、このNew−Device DLLはレジストリから周辺装置IDおよび他のパラメータをロードする。ステップ136において、New−Device DLLは、周辺装置IDによりインデックス付されたURIがホストパーソナルコンピュータまたは他のホスト装置上のローカルデータベース内に存在するかを検証する。周辺装置に対するデバイスドライバを取得できるURIがデータベース内で利用可能でない場合、従来のアプローチを使用して、ユーザにより手操作でインストールが完了する。周辺装置から取得したIDによりインデックス付されたURIがデータベース内に含まれている場合、オプションで、ステップ138においてNew−Device DLLはユーザにURIを表示する。更にオプションで、New−Device DLLは、URIにより示されたリモートデバイスのアクセスをアクティブにするか、または単純に手操作のインストールにより処理するかをユーザが選択できるようにすることができる。ステップ140においてユーザがURIにより示されたリモート装置のアクセスをアクティブにした場合、またはURIにおけるリモート装置のアクセスが自動的にアクティブにされた場合、ステップ142においてNew−Device DLLはネットワークアドレスとして含まれているURLを使用して、ブラウザ機能をアクティブにする。
ブラウザ機能は、URIにより示されたリモートサイトへアクセスし、New−Device DLLはデバイスドライバ、他のソフトウェア、および/または周辺装置に関係する情報を取得する。
【0041】
当業者であれば、URIは、アクティブなサーバページまたは別のURIへ再指向させ、デバイスドライバを直接に取得し、または別の関連する機能を実行する他のサーバ側機能とすることができることを理解するであろう。また、上述したように、URIはファイル転送プロトコルまたはデバイスドライバを取得するために使用される他の通信機能を識別することができる。従って、ステップ142は、デバイスドライバファイルおよび/または他のマテリアルをホストパーソナルコンピュータ20に転送するか、あるいはNew−Device DLLにより使用される、INFおよび他のインストールファイルのロケーションとして単に動作するかのいずれかにより、ユーザがデバイスドライバまたはINFファイルへのロケーションを手操作で識別するときになされるのと同様にして周辺装置をインストールする。ステップ144において、New−Device DLLはダウンロードされたデバイスドライバ(または前もってインストールされたデバイスドライバ)を使用して周辺装置のインストールを完了する。最良のデバイスドライバが選択されてホストパーソナルコンピュータ20にインストールされると、ステップ146においてプラグアンドプレイマネージャはデバイスドライバをメモリ22にロードし、周辺装置のアクティブな使用を可能にする。
【0042】
図6を参照すると、本発明はURIにより識別されるリモート装置から取得したアプリケーションプログラムをダウンロードしてインストールし、URIにおいてアクセスされたウェブページを表示し、周辺装置へのファームウェアをダウンロードしてインストールし、または別法としてURIにおいて利用可能な追加の情報またはサービスを提供するために使用することができる。そのためには、決定ステップ150においてプラグアンドプレイマネージャはURIがデータベースに存在することを証明する。URIが存在しなければ、この処理は継続せず、代わりに前の動作の実行に戻る。周辺装置から取得したIDによりインデックス付されたURIを含むデータベースが存在する場合、決定ステップ152は周辺装置の最初のインストールに続く後の時間においてユーザにURIをアクティブにするよう促すことを止めるようにフラグが設定されているかを決定する。これは、例えばURIにおいてアクセスされる広告が表示されることをユーザが好まない場合に有効である。ユーザにより「再び尋ねない(don't ask again)」フラグが前もって選択された場合、ユーザはそのURIによりブラウザをアクティブにすることを促されることはないであろう。代替として、この処理はネットワークアドレスとしてロードされたURIを使用してブラウザ機能を自動的にアクティブにすることができる。しかしながら、ユーザはURIによりブラウザ機能をアクティブにするためのオプションが与えられることが好ましいであろう。「再び尋ねない」フラグが偽、つまりユーザがそのオプションを選択していない場合は、ステップ154においてプラグアンドプレイマネージャはDevice−URI DLLを実行する。
【0043】
ステップ156において、Device−URI DLLはデータベースがURIを含んでいることをユーザに通知し、ユーザに対し、そのURIをアクティブにすることを希望するか否かの指示を促す。このプロンプトにおいて、ユーザはチェックボックスまたはラジオボタンを選択することにより「再び尋ねない」フラグを設定するオプションを有する。決定ステップ158は、ユーザがこのオプションを選択したかを決定する。選択した場合、ステップ160においてDevice−URI DLLは「再び尋ねない」フラグを真に設定する。チェックされていなければ、ステップ162においてDevice−URI DLLは「再び尋ねない」フラグを偽に設定する。ステップ164において、Device−URI DLLは、更にユーザがURIをアクティブにすることを決めたか否かを決定する。ユーザが決めなければ処理は完了する。しかしながら、ユーザが決めた場合、Device−URI DLLはステップ166を実行して、ブラウザ機能をアクティブにし、URIにより指定されたネットワークアドレスへナビゲートする。前に議論したように、URIは広告を表示し、アプリケーションプログラムをダウンロードおよび/または起動し、周辺装置へのファームウェアをダウンロードおよびインストールし、ヘルプ情報を提供し、または他のサービスおよび情報を提供することができる。
【0044】
図7は、データベースから取得したURIを使用する別の実施形態を示す。この実施形態は、ユーザが後にURIにより識別されるリモート装置にアクセスするためにクリックすることができるプロパティページ上のハイパーテキストリンクまたはショートカットなどのフォーム内にURIを表示することを可能にする。ステップ170において、ユーザは例えばウィンドウズ(登録商標)オペレーティングシステムのコントロールパネルを介して利用可能なデバイスマネージャプログラムを実行する。デバイスマネージャは、周辺装置を含むホストパーソナルコンピュータに接続された全てのハードウェア装置のリストを表示する。ステップ172においてユーザは所望の周辺装置を示すアイコンをクリックし、その周辺装置のプロパティを見るためのオプションを選択する。ステップ174において、デバイスマネージャは選択された装置に関連するプロパティの種々のページへのタブを有するデバイスプロパティシートの表示を開始する。決定ステップ176では、デバイスマネージャはデータベース内で、周辺装置から取得した少なくとも1つのIDに基づくURIに対するデータベースを参照する。URIが周辺装置に対応するデータベース内に存在する場合、デバイスマネージャは、ユーザが後にそのURIにより示されたリモート装置への接続をアクティブにするためのURIをクリックすることを可能にする文字列または他のフォーマット内のデバイスURIを表示するURIプロパティページを作成する。このプロパティページおよびそのURIへのリンクを含むリンクは、ユーザが後にいつでもリモート装置にアクセスすることを可能にする。好ましくは、ステップ178はインターネットブラウザ機能およびURIにより特定されたロケーションにアクセスする機能を実行する。前のステップが完了した後、あるいはデータベース内にURIが見つからなかった場合、デバイスマネージャはステップ180を実行し、周辺装置に対して従来のシステムおよび/または販売者プロパティページが作成される。
【0045】
図8を参照すると、本発明を実装するための例示の代替システムは、パーソナルビークルアシスタント(PVA)220のフォーム内に特定目的のコンピュータ装置を含んでいる。PVAは、いくつかの点においてパーソナルデータアシスタント(PDA)と類似しているが、自動車などの車両に使用するために最適化されている。マイクロプロセッサは、現代の車両の操作にますます重要な役割を果たしており、車両の操作、その照明システム、娯楽システムに使用され、より最近では、緊急時の救助、およびナビゲーション機能に使用されている。ドライバーはこれらの車両内の洗練された特徴などに従って、運転時間をより安全に、より生産的に、およびより楽しくする。現在売買されおよび開発中の車両の設計は、ディスプレイスクリーン、スピーカおよび携帯電話機に結合されたリモートマイクロフォン、ディジタルナビゲーションマップに対するドライブ、およびウェブアクセスなどの電子的特徴を組み込む。各リモート装置への個別の電線をルーティングする必要から、車両には各周辺装置のPVAへの接続における多大の費用がかかる。この問題を克服するために、多くの周辺装置が単一セットの電線を介してPVAにより(および互いに)通信することを可能にする周辺バスを用いることができる。
【0046】
このような周辺バスは他の通信ネットワークと類似しているが、一般に電線の長さ、データレート、エラー取り扱い機能、または他の条件により制限される。従って、図8は周辺バスを利用する自動車内で使用される例を示している。当業者であれば、この図に示されている例示の実施形態は、産業用プログラムロジックコントローラ、ビル管理コンピュータ、飛行制御コンピュータ、および周辺装置と対話する他のコンピュータ装置またはプロセッサ装置などの、他の応用や分野における特定目的のコンピュータ装置にも適用できることが理解できるであろう。
【0047】
PVA220は、処理ユニット221、システムメモリ222、システムバス223、記憶装置インタフェース232、バスインタフェース246、およびネットワークインタフェース253を有する。ビデオアダプタ、プリンタインタフェース等のような他のコンポーネントは、オプションでPVA220に含めることも可能であるが、図示を簡単にするために示していない。システムバスは、システムメモリを含む種々のシステムコンポーネントを処理ユニット221に結合し、メモリバスまたはメモリコントローラ、周辺バス、および種々のバスアーキテクチャのいずれかを使用するローカルバスを含むいくつかの種類のバス構造のいずれかとすることができる。
【0048】
システムメモリはROM224およびRAM225を含む。PVA220内のコンポーネント間で情報を転送するために使用される基本的なルーチンを含むBIOS226は、ROM224にストアされる。PVA220は、永続性のまたは取り外し可能な媒体から読み出しおよび/または書き込むための記憶装置227により更にインタフェースをとる。記憶装置227は、記憶装置インタフェース232によりシステムバス223に接続されている。記憶装置およびその関連する機械読取可能媒体は機械命令、データ構造、プログラムモジュール、およびPVA220に対する他のデータをストアする。フロッピー(登録商標)ディスク、磁気カセット、フラッシュメモリカード、ディジタルビデオディスク、ベルヌーイカートリッジ、RAM、ROM等のような多種類の機械読取可能媒体が、プロセッサによりアクセス可能なデータをストアするために使用できることが当業者により認められるであろう。(ブラウザ機能を有する)オペレーションシステム235、1つまたは複数のアプリケーションプログラム236、他のプログラムモジュール237、およびプログラムデータ238を含む多数のプログラムモジュールを、機械読取可能媒体にストアすることができる。
【0049】
PVA220は、バスインタフェース246および周辺バス252を介して周辺装置と通信する。周辺バス252は、IEEE1394バス、ISO11898バス(すなわちBOSCH(商標)コントローラエリアネットワーク)、または他の種類のバスとすることができる。当業者であれば、スマートぺリフェラルに対するEN50170バス(すなわちプロフィバス対応バス)、ISA SP50(すなわちフィールドバス協会対応バス)を使用することができる製造産業分野、または取替え可能ユニットに対するARINC(商標)を使用する航空宇宙分野等の、本発明を適用できる他の分野に多数の他の周辺バスが存在することを理解するであろう。いくつかの応用において、システムバス223を単に拡張することもできる。
【0050】
従来のオペレーティングシステムでは、特定のディレクトリを指定して新たに取り付けられた周辺装置と共に使用できるデバイスドライバをサーチすることに留意されたい。これに対して、本発明は、オペレーティングシステムがデバイスドライバのロケーションに対するデータベースを検索すること、およびデバイスドライバのロケーションまたはアドレスは、周辺装置のIDを使用してデータベース内で見つけられることを要求する。
【0051】
示した例において、周辺バス252にはディジタル携帯電話機233およびグローバルポジショニングシステム234が接続されている。周辺バス252に接続された他の周辺装置は、コンパクトディスクプレイヤー、ディジタルビデオディスクプレイヤーなどの、最近自動車に組み込まれている一般的な周辺装置を含んでいる。追加のソース249は、周辺バス252に接続されたときに、デバイスドライバまたは他のマテリアルを提供することができる。周辺装置の新たな接続は、最初の製造の間、サービスステーションにおけるメンテナンスの間、または車両がサービス内に配置された後の他の時に発生することができる。
【0052】
以上で一般的に示したように、周辺バス252に接続された各周辺装置は周辺ノード256であり、情報を保持するためのファームウェアメモリ258を含む。ファームウェアメモリ258は販売者ID、製品IDおよび/または周辺ノード256に関連する情報をストアする。
【0053】
前記のように、周辺ノードのファームウェアメモリにストアされたURIまたはアドレスは、追加のソース249をアクセスすることができるロケーションを指定することができる。追加のソース249は別のPVA、外部のサーバ(これは一般にパーソナルコンピュータ20と等しくてもよい)、ルータ、ネットワークパーソナルコンピュータ、ピア周辺装置、衛星、または別の公衆ネットワークノードとすることができる。
【0054】
パーソナルコンピュータ20と同様に、PVA220はネットワークインタフェース253およびネットワーク251を介する1つまたは複数の論理接続を使用して、ネットワーク環境内で動作する。ネットワーク251は移動通信の無線ネットワーク、製造業者のサイトにおける通信の有線ネットワーク、サービスステーション、フリートステーション(fleet station)、またはレジデンスであることができる。無線であろうと有線であろうと、ネットワーク251はワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、またはいくつかの他の種類の通信ネットワークとすることができる。このようなネットワーク環境は、ディジタル携帯電話機、グローバルポジショニングシステム、緊急路側補助システム、輸送車両(shipping fleet)システム、およびインターネットに対して共通に使用することができる。ネットワーク251は、PVA220が追加のソース249などのリモートソースと通信することを可能にする。図示のネットワーク接続は例示であり、従来のモデムなどの通信リンクを確立する他の手段を使用できることが認められるであろう。
【0055】
追加のソース249からの周辺ノード256に関係する情報のアクセスは、USBの実施形態について上述したのとほぼ同様の方法で遂行される。しかしながら、周辺ノード256による列挙および他の通信は、プロセッサ221および周辺ノード256の間に通信の割り当てられたレイヤを単純に追加する仲介の周辺バス252を通じて行われる。
【0056】
新たな周辺ノードが周辺バス252に接続された場合、オペレーティングシステム235はUSBの実施形態に関して上述したように通常新たなノードを列挙する。しかしながら、新たな周辺ノードが周辺バス252に接続された場合、バスインタフェース246はまず新たな周辺ノードの周辺バスアドレスを確立しなければならない。USBの実施形態では、新たなデバイスが接続されたUSBポートに対するアドレスが知られている。これと対比して、周辺バスはPVA上のポートに接続されるのみである。従って、各周辺ノードに対する仲介バスのアドレスは、新たなノードが列挙される前に確立されなければならない。上述したように、このステップは使用された特定の周辺バスに適用可能な周知の規格に従って遂行される。
【0057】
例えば、新たなノードがIEEE1394周辺バスに接続された場合、バスはそれ自体完全にリセットし、全ての周辺ノードがそれらの間で通信して、バスに接続された各周辺ノードの新たなバスアドレスを決定する。バスアドレスはゼロからn−1までの数字である。nは周辺ノードの番号である。次いで、PVA220は、周辺ノード256を含む周辺バス上の各周辺ノードを列挙する。各周辺ノードは、USBの装置記述子と同様に情報ブロックを含む。バス情報ブロックの第3および第4のクアドレット(quadlet)は、グローバルに一意的なデバイスIDを含んでいる。代替として、USBを使用することにより、テキストの記述子はファームウェアメモリ258内の別のロケーションにおいて、バス情報ブロック外のユニットディレクトリ内に識別子と共にストアすることができる。このテキストの記述子は列挙の間またはその後で取得できる。
【0058】
周辺ノードが列挙され、または別法で装置記述子が周辺ノード256から取得されると、データベースからURIを取得し、またはURIを生成し、周辺ノードに関係するURIおよび情報をアクセスする方法の残りのステップは、実質的にUSBの実施形態に関して上記で説明したのと同様である。
【0059】
本発明を、それを実行する好ましい形態およびそれらの変形に関して説明してきたが、当業者であれば、請求項の範囲内で多くの追加の変形が可能であることを理解するであろう。従って、本発明の範囲はどのような方法にせよ上記の説明によって制限されず、完全に特許請求の範囲を参照することにより決定されることを意図している。
【0060】
【発明の効果】
以上説明したように、本発明によれば、周辺装置から取得した周辺装置識別子を使用してデータベースからネットワークアドレスを決定し、またはその識別子に基づきネットワークアドレスを生成することができる。
【図面の簡単な説明】
【図1】本発明を実施するために好適な例示のパーソナルコンピュータ(PC)システムの概略ブロック図である。
【図2】本発明の好ましい実施形態のロジックを示す流れ図である。
【図3】特定の周辺装置に対応するネットワークアドレスがデータベースにストアされているかを決定する実施形態のロジックを示す流れ図である。
【図4】周辺装置に対する識別子を使用してデータベースからのネットワークアドレスにアクセスする実施形態のロジックを示す流れ図である。
【図5】データベースから取得したユニフォームリソースインジケータ(URI)から周辺装置に対する新たなデバイスドライバをダウンロードする実施形態のロジックを示す流れ図である。
【図6】ブラウザをアクティブにし、データベースから取得したURIをナビゲートして周辺装置に関連する情報を取得するロジックを示す流れ図である。
【図7】引き続きネットワークアドレスにより指示されたリモートサイトをアクセスするためのユーザによる表示およびアクティブ化に対するURIを含む周辺装置のプロパティページを作成するために用いられるロジックを示す流れ図である。
【図8】本発明を実施するために好適な例示のパーソナルビークルアシスタント(PVA)システムの概略ブロック図である。
【符号の説明】
21 処理ユニット
22 システムメモリ
23 システムバス
24 ROM
25 RAM
26 BIOS
27 ハードディスクドライブ
28 磁気ディスクドライブ
29 リムーバブル磁気ディスク
30 光ディスクドライブ
31 リムーバブル光ディスク
32 ハードディスクドライブインタフェース
33 磁気ディスクドライブインタフェース
34 光ディスクドライブインタフェース
35 オペレーティングシステム
36 アプリケーションプログラム
37 他のプログラムモジュール
38 プログラムデータ
40 キーボード
42 ポインティングデバイス
46 I/O装置インタフェース
47 モニタ
48 ビデオアダプタ
49 リモートコンピュータ
50 外部メモリ記憶装置
51 LAN
52 WAN
54 モデム
56 周辺装置
58 ファームウェアメモリ
220 PVA
221 処理ユニット
222 システムメモリ
223 システムバス
224 ROM
225 RAM
226 BIOS
227 記憶装置
232 記憶装置インタフェース
234 グローバルポジショニングシステム
235 オペレーティングシステム
236 アプリケーションプログラム
237 他のプログラムモジュール
238 プログラムデータ
249 追加のソース
251 ネットワーク
252 周辺バス
253 ネットワークインタフェース
256 周辺ノード
258 ファームウェアメモリ

Claims (42)

  1. ホスト装置に接続された周辺装置のインストールに関連する情報をアクセスする方法であって、
    (a)前記ホスト装置が前記周辺装置から、前記ホスト装置の起動時又は前記周辺装置を前記ホスト装置へ接続した時に、前記周辺装置を識別する少なくとも1つの識別子を取得するステップと、
    (b)前記ホスト装置が前記少なくとも1つの識別子に基づき、ネットワークアドレスを決定するステップと、
    (c)前記インストールを容易にするため自動的に最初に生成された要求に応答して、前記ホスト装置が前記周辺装置を使用するのに必要な情報を取得するため、前記ネットワークアドレスのリモート装置にアクセスするために前記ホスト装置がブラウザ機能を実行するステップと、
    (d)前記ホスト装置が前記周辺装置を使用するのに必要な情報を既に取得している場合、前記ホスト装置による前記周辺装置の使用に必須でない情報を前記リモート装置から得るために前記ネットワークアドレスにアクセスする、前記ホスト装置がブラウザ機能を実行する更なる自動的に生成された要求をユーザの予め設定しておいた指示に基づいて抑制することを可能にするステップであって、前記自動的に生成された要求はユーザにより開始されたものでないステップと、
    を備えることを特徴とする方法。
  2. 請求項1に記載の方法において、前記取得するステップは、前記ホスト装置が該ホスト装置に接続された周辺装置の個数の変化を検出したときに自動的に発生することを特徴とする方法。
  3. 請求項1に記載の方法において、前記取得するステップは、前記周辺装置が接続された前記ホスト装置に対してユーザが手操作で指示を与えたときに自動的に発生することを特徴とする方法。
  4. 請求項1に記載の方法において、前記決定するステップは、前記少なくとも1つの識別子を前記ネットワークアドレスの少なくとも一部分として使用するステップを備えることを特徴とする方法。
  5. 請求項1に記載の方法において、前記取得するステップは、
    (a)前記周辺装置に対して装置記述子の要求を発行するステップと、
    (b)前記周辺装置から前記装置記述子を受信するステップと、
    (c)前記装置記述子を分析して前記少なくとも1つの識別子を決定するステップと
    を備えることを特徴とする方法。
  6. 請求項1に記載の方法において、前記取得するステップは、
    (a)前記周辺装置に対して、前記少なくとも1つの識別子を備える文字列記述子の要求を発行するステップと、
    (b)前記周辺装置から前記文字列記述子を受信するステップと、
    (c)前記文字列記述子を分析して前記少なくとも1つの識別子を決定するステップと
    を備えることを特徴とする方法。
  7. 請求項1に記載の方法において、前記取得するステップは、
    (a)前記周辺装置に対して、少なくとも1つの識別子のクラス要求を発行するステップと、
    (b)前記少なくとも1つの識別子を受信するステップと
    を備えることを特徴とする方法。
  8. 請求項1に記載の方法において、前記取得するステップは、
    (a)前記周辺装置に対して、前記少なくとも1つの識別子に対するVendor Specific Device要求を発行するステップと、
    (b)前記周辺装置から前記少なくとも1つの識別子を受信するステップと
    を備えることを特徴とする方法。
  9. 請求項1に記載の方法において、前記ネットワークアドレスを決定するステップは、複数のネットワークアドレスを含むデータベースにアクセスし、前記少なくとも1つの識別子を使用して前記データベース内のネットワークアドレスを検索するステップを備えることを特徴とする方法。
  10. 請求項9に記載の方法において、前記データベースは前記ホスト装置にストアされていることを特徴とする方法。
  11. 請求項9に記載の方法において、前記データベースは前記ホスト装置によりアクセス可能な装置にストアされていることを特徴とする方法。
  12. 請求項1に記載の方法において、前記ネットワークアドレスを決定するステップは、前記少なくとも1つの識別子に基づいてネットワークアドレスを生成するステップを備えることを特徴とする方法。
  13. 請求項1に記載の方法において、前記ブラウザ機能を実行するステップは、前記ネットワークアドレスを使用して前記リモート装置から前記周辺装置に関連するデータ、機械命令およびドキュメントのうちの少なくともひとつを自動的に検索するステップを備えることを特徴とする方法。
  14. 請求項1に記載の方法において、前記リモート装置にストアされおよび前記周辺装置に関連するセットアッププログラムを自動的にダウンロードするために前記ブラウザ機能を使用するステップをさらに備えることを特徴とする方法。
  15. 請求項14に記載の方法において、前記周辺装置に関連する前記ホスト装置にソフトウェアをインストールするため、前記ホスト装置にダウンロードされた前記セットアッププログラムを自動的に実行するステップをさらに備えることを特徴とする方法。
  16. 請求項1に記載の方法において、前記ホスト装置に自動的にインストールされる前記周辺装置のためのデバイスドライバを取得するために前記ブラウザ機能を実行するステップをさらに備えることを特徴とする方法。
  17. 請求項1に記載の方法において、前記リモート装置にストアされおよび前記ホスト装置による前記周辺装置の使用に関係するアプリケーションプログラムを自動的にダウンロードするために前記ブラウザ機能を使用するステップをさらに備えることを特徴とする方法。
  18. 請求項1に記載の方法において、前記周辺装置にファームウェアを自動的にダウンロードし、およびインストールするために前記ブラウザ機能を使用するステップをさらに備えることを特徴とする方法。
  19. 請求項1に記載の方法において、ユーザが引き続き選択して前記リモート装置と通信できる前記ネットワークアドレスへのリンクを生成するステップを更に備えることを特徴とする方法。
  20. 請求項1に記載の方法において、前記ブラウザ機能を実行するステップが、前記ネットワークアドレスの前記リモート装置に前記ホスト上の前記ブラウザ機能を使用して自動的にアクセスするステップを備えることを特徴とする方法。
  21. 請求項1に記載の方法において、ユーザが前記ホスト装置でブラウザ機能を選択的に実行して、前記ネットワークアドレスの前記リモート装置に自動的にアクセスすることを可能にするステップを更に備えることを特徴とする方法。
  22. 請求項1に記載の方法において、周辺装置に関するネットワークアドレスを変更しそして追加するために周期的にデータベースを更新するステップを更に備えて、各ネットワークアドレスは周辺装置から取得された少なくとも1つの識別子に基づいてアクセスされることを特徴とする方法。
  23. プロセッサにより実行されたときに前記プロセッサが請求項1のステップ(a)から(d)までを実施するコンピュータ読取可能機械命令を記憶することを特徴とするコンピュータ読取可能記憶媒体。
  24. 周辺装置のインストールに関連する情報を自動的にアクセスするシステムであって、
    (a)少なくとも1つの識別子がストアされた周辺装置と、
    (b)ネットワークを通じて行われる通信に適合したリモート装置と、
    (c)ホスト装置であって
    (i)機械命令がストアされたメモリと、
    (ii)前記ネットワークを通じて行われる前記リモート装置との通信に適合したネットワークインタフェースと、
    (iii)前記メモリにストアされた前記機械命令を実行して、
    (1)前記ホスト装置の起動時又は前記周辺装置を前記ホスト装置に接続した時、前記周辺装置と通信を行って前記周辺装置を識別する少なくとも1つの識別子を取得し、
    (2)前記少なくとも1つの識別子に基づいてネットワークアドレスを決定し、
    (3)前記インストールを容易にするため自動的に最初に生成された要求に応答して、前記ホスト装置が前記周辺装置を使用するのに必要な情報を取得するため、前記ネットワークアドレスの前記リモート装置にアクセスするために前記ホスト装置でブラウザ機能を実行し、
    (4)前記ホスト装置が前記周辺装置を使用するのに必要な情報を既に取得している場合、前記ホスト装置による前記周辺装置の使用に必須でない情報を前記リモート装置から得るために前記ネットワークアドレスにアクセスするため、前記ホスト装置がブラウザ機能を実行する更なる自動的に生成された要求をユーザの予め設定しておいた指示に基づいて抑制することを可能にし、前記自動的に生成された要求はユーザにより開始されたものでないプロセッサと、
    を有するホスト装置と
    を備えたことを特徴とするシステム。
  25. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対し、更に
    (a)前記周辺装置に装置記述子の要求を発行させ、
    (b)前記周辺装置から前記装置記述子を受信させ、
    (c)前記装置記述子を分析して前記少なくとも1つの識別子を決定させることを特徴とするシステム。
  26. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対し、更に
    (a)前記周辺装置に対して、前記少なくとも1つの識別子を備える文字列記述子の要求を発行させ、
    (b)前記周辺装置から前記文字列記述子を受信させ、
    (c)前記文字列記述子を分析して前記少なくとも1つの識別子を決定させることを特徴とするシステム。
  27. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に
    (a)前記周辺装置に対して、少なくとも1つの識別子のクラス要求を発行させ、
    (b)前記少なくとも1つの識別子を受信させることを特徴とするシステム。
  28. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に
    (a)前記周辺装置に対して、前記少なくとも1つの識別子に対するVendor Specific Device要求を発行させ、
    (b)前記周辺装置から前記少なくとも1つの識別子を受信させることを特徴とするシステム。
  29. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、複数のネットワークアドレスを含むデータベースにアクセスし、前記少なくとも1つの識別子を使用して前記データベース内のネットワークアドレスを検索させることを特徴とするシステム。
  30. 請求項29に記載のシステムにおいて、前記データベースは前記ホスト装置にストアされていることを特徴とするシステム。
  31. 請求項29に記載のシステムにおいて、前記データベースは前記ホスト装置によりアクセス可能な装置にストアされていることを特徴とするシステム。
  32. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記少なくとも1つの識別子に基づいてネットワークアドレスを生成させることを特徴とするシステム。
  33. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記ネットワークアドレスを使用して前記リモート装置から前記周辺装置に関連するデータ、機械命令およびドキュメントのうちの少なくともひとつを自動的に検索させることを特徴とするシステム。
  34. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記リモート装置にストアされおよび前記周辺装置に関連するセットアッププログラムを自動的にダウンロードさせることを特徴とするシステム。
  35. 請求項34に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記ホスト装置にダウンロードされたセットアッププログラムを自動的に実行して、前記周辺装置に関連する前記ホスト装置にソフトウェアをインストールさせることを特徴とするシステム。
  36. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記周辺装置のためのデバイスドライバを前記ホスト装置に自動的にインストールさせることを特徴とするシステム。
  37. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記リモート装置にストアされおよび前記ホスト装置による前記周辺装置の使用に関係するアプリケーションプログラムを自動的にダウンロードさせることを特徴とするシステム。
  38. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記周辺装置にファームウェアを自動的にダウンロードし、およびインストールさせることを特徴とするシステム。
  39. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、ユーザが引き続き選択して前記リモート装置と通信できる前記ネットワークアドレスへのリンクを生成させることを特徴とするシステム。
  40. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、前記ホスト装置でブラウザ機能を自動的に実行して、前記ネットワークアドレスの前記リモート装置に前記ブラウザ機能で自動的にアクセスさせることを特徴とするシステム。
  41. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、ユーザが前記ホスト装置でブラウザ機能を選択的に実行し、前記ネットワークアドレスの前記リモート装置に自動的にアクセスして、前記ネットワークアドレスにより示されたウェブページを表示させることを特徴とするシステム。
  42. 請求項24に記載のシステムにおいて、前記機械命令は前記プロセッサに対して、更に、複数のネットワークアドレスを含むデータベースを周期的に更新して、周辺装置に関係するネットワークアドレスを追加および変更し、各ネットワークアドレスには周辺装置から取得した少なくとも1つの識別子を使用して索引を付すことを特徴とするシステム。
JP2001390569A 2000-12-21 2001-12-21 周辺装置に関連する情報にアクセスする方法およびシステム Expired - Fee Related JP4625213B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/746637 2000-12-21
US09/746,637 US7076536B2 (en) 2000-12-21 2000-12-21 Method and system to access software pertinent to an electronic peripheral device at an address based on a peripheral device identifier

Publications (2)

Publication Number Publication Date
JP2002268983A JP2002268983A (ja) 2002-09-20
JP4625213B2 true JP4625213B2 (ja) 2011-02-02

Family

ID=25001687

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001390569A Expired - Fee Related JP4625213B2 (ja) 2000-12-21 2001-12-21 周辺装置に関連する情報にアクセスする方法およびシステム

Country Status (3)

Country Link
US (1) US7076536B2 (ja)
EP (1) EP1225744B1 (ja)
JP (1) JP4625213B2 (ja)

Families Citing this family (112)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4054451B2 (ja) * 1997-08-26 2008-02-27 キヤノン株式会社 通信装置
US8620520B2 (en) * 2000-05-09 2013-12-31 Robert Bosch Gmbh Method for controlling devices, and a device in a communications network in a motor vehicle
US7117280B2 (en) * 2000-12-27 2006-10-03 Intel Corporation Network based intra-system communications architecture
US7165109B2 (en) * 2001-01-12 2007-01-16 Microsoft Corporation Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device
US20020124046A1 (en) * 2001-02-20 2002-09-05 Fischer William A. Peripheral devices which manage application upload to computing devices
JP4291467B2 (ja) * 2001-03-01 2009-07-08 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置、メニュー表示方法および情報記録媒体
JPWO2002079968A1 (ja) * 2001-03-30 2004-07-22 セイコーエプソン株式会社 不具合対策のためのネットワーク技術
AU2002355800A1 (en) * 2001-07-31 2003-02-17 Silicom Ltd. Device-related software installation
US7174548B2 (en) * 2001-10-15 2007-02-06 Intel Corporation Managing firmware download
JP2003216378A (ja) * 2001-11-15 2003-07-31 Canon Inc 情報処理装置及び方法及びコンピュータプログラム及びコンピュータ可読記憶媒体
FR2832888B1 (fr) * 2001-11-23 2004-02-27 France Telecom Systeme de gestion d'applications dediees a des appareils connectes a un reseau, procede de gestion d'applications, terminal d'acces, serveur d'applications et appareil pour un tel systeme
US20030120624A1 (en) * 2001-12-10 2003-06-26 Poppenga Burton H. System and method for efficiently installing and configuring device drivers in managed environments
US20030125815A1 (en) * 2001-12-31 2003-07-03 Ghanime George Hanna E-installation system and method for use in installation of power-plant equipment
US7392310B2 (en) * 2002-12-26 2008-06-24 Ricoh Company, Ltd. Method and system for using data structures to store database information for multiple vendors and model support for remotely monitored devices
TW556096B (en) * 2002-05-01 2003-10-01 Prolific Technology Inc Installation method for driver of plug-and-play device
US7266818B2 (en) * 2002-06-28 2007-09-04 Microsoft Corporation Automated system setup
JP2004046327A (ja) * 2002-07-09 2004-02-12 Sony Corp データ記録媒体、プログラム起動方法およびプログラム
WO2004015505A2 (en) * 2002-08-09 2004-02-19 Mckesson Automation Systems, Inc. Controller for dispensing products
US20040086120A1 (en) * 2002-11-06 2004-05-06 Akins Glendon L. Selecting and downloading content to a portable player
US7765280B2 (en) * 2002-11-06 2010-07-27 Scientific-Atlanta, Llc Downloadable remotely stored device drivers for communication with set-top box peripherals
US7617502B2 (en) * 2002-11-06 2009-11-10 Scientific-Atlanta, Llc Managing peripheral device drivers
EP1429243A3 (en) * 2002-12-14 2007-01-03 Samsung Electronics Co., Ltd. Device driver installation
US7289995B2 (en) * 2002-12-26 2007-10-30 Ricoh Company, Ltd. Method and system for using internal data structures for storing information related to remotely monitored devices
US7356629B2 (en) * 2003-02-06 2008-04-08 Electronic Data Systems Corporation Conveying data between computing devices
GB0313720D0 (en) * 2003-06-13 2003-07-16 Electra Guide Ltd England An improved television system
JP3888342B2 (ja) * 2003-08-29 2007-02-28 ブラザー工業株式会社 ネットワーク装置
US7865907B2 (en) * 2003-09-25 2011-01-04 Fisher-Rosemount Systems, Inc. Method and apparatus for providing automatic software updates
JP4483259B2 (ja) * 2003-10-16 2010-06-16 富士ゼロックス株式会社 応用プログラム実行システム、そのセンサ、その第1のサーバ、その第2のサーバ、そのオブジェクト及び応用プログラム実行方法
GB2397477B (en) * 2003-11-26 2004-12-01 F Secure Oyj Securing a data transmission channel
JP2005165514A (ja) * 2003-12-01 2005-06-23 Sony Corp アプリケーション表示装置
CN1313941C (zh) * 2004-03-10 2007-05-02 台均科技(深圳)有限公司 数据处理装置与操作***进行数据交换的方法
JP2005267089A (ja) * 2004-03-17 2005-09-29 Fuji Xerox Co Ltd ドライバ管理方法および装置並びにプログラム
US20050216865A1 (en) * 2004-03-29 2005-09-29 Kelly Rollin System and method for device selection in a computer system
US7379790B2 (en) 2004-05-04 2008-05-27 Intuitive Surgical, Inc. Tool memory-based software upgrades for robotic surgery
US7529920B2 (en) * 2004-06-11 2009-05-05 Canon Kabushiki Kaisha Apparatus and method capable of executing plug and play installation processing operation upon acquiring one piece of device identification information including both printer and facsimile identification information
KR100662363B1 (ko) * 2004-10-19 2007-01-02 엘지전자 주식회사 디스플레이 기기의 인스톨 장치 및 방법
US7330967B1 (en) * 2004-12-03 2008-02-12 Symantec Operating Corporation System and method for injecting drivers and setup information into pre-created images for image-based provisioning
US20060142991A1 (en) * 2004-12-29 2006-06-29 Imtiaz Sajwani Remote USB network device control
US7873765B1 (en) * 2005-03-31 2011-01-18 Google, Inc. Method and system for detection of peripheral devices and communication of related devices
US20060242271A1 (en) * 2005-04-22 2006-10-26 Ben Tucker System and method for accessing devices with a console server
GB0508576D0 (en) * 2005-04-27 2005-06-01 Symbian Software Ltd Delegating universal serial bus functionality
US7921420B2 (en) 2005-04-29 2011-04-05 Sharp Laboratories Of America, Inc. Systems and methods for updating imaging device drivers on one or more computer systems
US7555573B2 (en) * 2005-08-05 2009-06-30 Microsoft Corporation Initiating software responses based on a hardware action
US20070061818A1 (en) * 2005-09-12 2007-03-15 Microsoft Corporation Detection of devices during operating system setup
US7945642B1 (en) * 2005-10-06 2011-05-17 Sprint Spectrum L.P. Method and system for providing software to a machine
US20070169116A1 (en) * 2006-01-18 2007-07-19 Dell Products L.P. Method and system for automated installation of system specific drivers
US20070168457A1 (en) * 2006-01-18 2007-07-19 International Business Machines Corporation Apparatus and method for addressing computer-related problems
KR100703804B1 (ko) * 2006-01-20 2007-04-09 삼성전자주식회사 플러그 앤 인스톨 시스템 및 방법
US8438319B1 (en) 2010-06-24 2013-05-07 Atmel Wi-Fi Solutions, Inc. Method and apparatus for virtualizing hardware dongle over a wireless connection
US20070245333A1 (en) * 2006-03-27 2007-10-18 Ferlitsch Andrew R Methods and Systems for Managing Firmware
CA2683475A1 (en) * 2006-04-10 2007-10-18 Embedded Technologies Corporation Pty Ltd Process control system and method
CN101106563A (zh) * 2006-07-14 2008-01-16 Ge医疗***环球技术有限公司 服务***
WO2008028989A1 (en) 2006-09-07 2008-03-13 Nokia Corporation Managing information relating to secure module applications
KR101368714B1 (ko) * 2006-12-22 2014-03-05 삼성전자주식회사 이동식 저장장치, 소프트웨어 자동설치시스템 및소프트웨어 자동설치방법
WO2008092985A1 (en) * 2007-01-31 2008-08-07 Nokia Corporation Managing applications related to secure modules
US20080275963A1 (en) * 2007-05-04 2008-11-06 Joseph Aaron Hatfield Dynamically Modifying A Universal Resource Indicator
US20090006831A1 (en) * 2007-06-30 2009-01-01 Wah Yiu Kwong Methods and apparatuses for configuring add-on hardware to a computing platform
US9454384B2 (en) * 2007-07-05 2016-09-27 Microsoft Technology Licensing, Llc Custom operating system via a web-service
US7857222B2 (en) 2007-08-16 2010-12-28 Hand Held Products, Inc. Data collection system having EIR terminal interface node
TWM328026U (en) * 2007-08-20 2008-03-01 Tenx Technology Inc Interface controlling device capable of changing data transmission mode
EP2034663B1 (en) * 2007-09-07 2012-08-29 Sony Corporation Main electronic device for communicating within a network and method for operating a main electronic device for communicating within the network
US9770655B2 (en) * 2007-10-01 2017-09-26 Disney Enterprises, Inc. Mesh synchronization
US20090094500A1 (en) * 2007-10-05 2009-04-09 Chris Swekel Dynamic generator of unique world wide numbers
US8296781B1 (en) * 2007-12-11 2012-10-23 Nvidia Corporation System, method, and computer program product for determining application parameters based on hardware specifications
US8276133B1 (en) 2007-12-11 2012-09-25 Nvidia Corporation System, method, and computer program product for determining a plurality of application settings utilizing a mathematical function
US8280864B1 (en) 2007-12-17 2012-10-02 Nvidia Corporation System, method, and computer program product for retrieving presentation settings from a database
US8566431B2 (en) * 2008-01-16 2013-10-22 Razer (Asia-Pacific) Pte. Ltd. Identification device and method for device identification
US8209443B2 (en) * 2008-01-31 2012-06-26 Hewlett-Packard Development Company, L.P. System and method for identifying lost/stale hardware in a computing system
JP4535143B2 (ja) * 2008-02-20 2010-09-01 セイコーエプソン株式会社 情報管理システム及びそれを利用した情報管理方法
TW200943188A (en) * 2008-04-01 2009-10-16 Sunplus Innovation Technology Inc A method for automatically detecting an operating system on a USB device
US20100050104A1 (en) * 2008-08-20 2010-02-25 Franco Stellari System and Method for Automatic Instrument Address Recognition
US20110294547A1 (en) * 2008-11-11 2011-12-01 Netqin Mobile (Beijing) Technology Co., Ltd. Method and system for interactive operation between mobile phone and pc based on a middleware
TWI395103B (zh) * 2008-12-31 2013-05-01 C Media Electronics Inc 自動執行訊號處理方法與具有該自動執行功能之裝置
US20100299588A1 (en) * 2009-05-21 2010-11-25 Michael Joseph Dattilo Method and system for providing interaction between a host system and web pages
US9497092B2 (en) 2009-12-08 2016-11-15 Hand Held Products, Inc. Remote device management interface
US20110153405A1 (en) * 2009-12-22 2011-06-23 Kingston Technology Company, Inc. Method of advertising and a portable memory device for use as an advertising platform
US9141564B1 (en) * 2010-08-04 2015-09-22 Open Invention Network, Llc Interconnection of peripheral devices on different electronic devices
US8943229B2 (en) * 2010-12-30 2015-01-27 Google Inc. Peripheral device detection with short-range communication
US20120303750A1 (en) * 2011-05-26 2012-11-29 Mike Anderson Cloud-assisted network device integration
US9160785B2 (en) 2011-05-26 2015-10-13 Candi Controls, Inc. Discovering device drivers within a domain of a premises
WO2013002547A2 (ko) 2011-06-30 2013-01-03 주식회사 케이티 외부 디바이스와 도킹되는 휴대 단말 및 그 제어 방법
KR101554599B1 (ko) 2011-06-30 2015-09-21 주식회사 케이티 외부 디바이스와 도킹 연결되는 휴대 단말 및 어플리케이션 실행 방법
US9535415B2 (en) * 2011-07-20 2017-01-03 Rockwell Automation Technologies, Inc. Software, systems, and methods for mobile visualization of industrial automation environments
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
KR101474927B1 (ko) 2011-12-22 2014-12-31 주식회사 케이티 외부 디스플레이 기기로의 영상 송출 방법 및 그 단말
KR102001223B1 (ko) * 2011-12-23 2019-07-18 주식회사 케이티 외부 디바이스와 연결되는 휴대 단말 인증 시스템 및 인증 방법, 휴대 단말을 인증하는 외부 디바이스
KR101546407B1 (ko) 2011-12-23 2015-08-24 주식회사 케이티 어플리케이션 실행 제어 방법 및 장치
KR101522399B1 (ko) 2011-12-23 2015-05-22 주식회사 케이티 휴대 단말에서 외부 디스플레이 기기로의 화면 표출 방법 및 그 휴대 단말
KR101522397B1 (ko) 2011-12-26 2015-05-22 주식회사 케이티 복수의 외부 장치와 연결될 수 있는 휴대 단말 및 그 제어 방법
KR101504655B1 (ko) 2011-12-26 2015-03-23 주식회사 케이티 어플리케이션 실행 제어 방법 및 장치
US9275377B2 (en) 2012-06-15 2016-03-01 Nvidia Corporation System, method, and computer program product for determining a monotonic set of presets
US9201670B2 (en) 2012-07-06 2015-12-01 Nvidia Corporation System, method, and computer program product for determining whether parameter configurations meet predetermined criteria
US10668386B2 (en) 2012-07-06 2020-06-02 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
US9092573B2 (en) 2012-07-06 2015-07-28 Nvidia Corporation System, method, and computer program product for testing device parameters
US9250931B2 (en) 2012-07-06 2016-02-02 Nvidia Corporation System, method, and computer program product for calculating settings for a device, utilizing one or more constraints
US9286247B2 (en) 2012-07-06 2016-03-15 Nvidia Corporation System, method, and computer program product for determining settings for a device by utilizing a directed acyclic graph containing a plurality of directed nodes each with an associated speed and image quality
US10509658B2 (en) 2012-07-06 2019-12-17 Nvidia Corporation System, method, and computer program product for simultaneously determining settings for a plurality of parameter variations
EP2741222B1 (en) 2012-12-04 2019-07-03 Polar Electro Oy Exercise-related data processing
AU2014395561B2 (en) * 2014-05-28 2019-08-15 Starview Technologies Pte. Ltd. Optical transceiver device and method
US20150378938A1 (en) * 2014-06-30 2015-12-31 Nate L. Lyman Wearable computer with expandable link capabilities
US10437742B2 (en) 2014-10-10 2019-10-08 Microsoft Technology Licensing, Llc Vendor-specific peripheral device class identifiers
US20170212742A1 (en) * 2016-01-26 2017-07-27 Obigo Inc. Method for managing software related to hardware mounted onto vehicle and system using the same
US10264024B2 (en) * 2016-05-19 2019-04-16 Google Llc Wireless peripheral administration
US11223537B1 (en) 2016-08-17 2022-01-11 Veritas Technologies Llc Executing custom scripts from the host during disaster recovery
JP6325630B2 (ja) 2016-10-28 2018-05-16 ファナック株式会社 ラダーライブラリ管理装置
US10430175B2 (en) * 2016-11-01 2019-10-01 Johnson Controls Technology Company Thermostat with software update features
US10747527B2 (en) 2016-11-01 2020-08-18 Johnson Controls Technology Company Multi-zone system with software update features
EP3850798B1 (en) * 2018-09-16 2023-12-13 U-Thing Technology Ltd Method and system for enabling usb devices to operate as internet of thing (iot) devices based on thing description model
DE102018131701A1 (de) * 2018-12-11 2020-06-18 Endress+Hauser Conducta Gmbh+Co. Kg Verfahren zur Parametrierung eines Feldgeräts
TWI737148B (zh) * 2020-02-03 2021-08-21 緯創資通股份有限公司 擴展塢系統和擴展塢裝置之設定方法
US11822931B2 (en) * 2020-02-12 2023-11-21 Red Hat, Inc. Providing a captive portal to manage a driver application for a peripheral device

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US147795A (en) * 1874-02-24 Improvement in sectional steam-boilers
US4449182A (en) 1981-10-05 1984-05-15 Digital Equipment Corporation Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
US5428748A (en) * 1992-09-24 1995-06-27 National Semiconductor Corporation Method and apparatus for automatically configuring a computer peripheral
US6026366A (en) * 1993-09-22 2000-02-15 Motorola, Inc. Method for providing software to a remote computer
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5802304A (en) * 1996-04-18 1998-09-01 Microsoft Corporation Automatic dialer responsive to network programming interface access
US6148346A (en) * 1996-06-20 2000-11-14 Peerless Systems Imaging Products, Inc. Dynamic device driver
US5870610A (en) * 1996-06-28 1999-02-09 Siemens Business Communication Systems, Inc. Autoconfigurable method and system having automated downloading
US6023585A (en) * 1997-05-02 2000-02-08 Webtv Networks, Inc. Automatically selecting and downloading device drivers from a server system to a client system that includes one or more devices
US6012103A (en) * 1997-07-02 2000-01-04 Cypress Semiconductor Corp. Bus interface system and method
US6266809B1 (en) * 1997-08-15 2001-07-24 International Business Machines Corporation Methods, systems and computer program products for secure firmware updates
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
US6122676A (en) * 1998-01-07 2000-09-19 National Semiconductor Corporation Apparatus and method for transmitting and receiving data into and out of a universal serial bus device
US6205501B1 (en) * 1998-01-07 2001-03-20 National Semiconductor Corp. Apparatus and method for handling universal serial bus control transfers
JPH11296375A (ja) * 1998-04-08 1999-10-29 Hitachi Ltd デバイスドライバプログラムの自動選択方法
US6178468B1 (en) * 1998-06-19 2001-01-23 Hewlett-Packard Company Real time supply PF plug-and-play installation resources
US6725260B1 (en) * 1998-09-11 2004-04-20 L.V. Partners, L.P. Method and apparatus for configuring configurable equipment with configuration information received from a remote location
US6694354B1 (en) * 1998-11-30 2004-02-17 Telefonaktiebolaget Lm Ericsson (Publ) Host computer access to peripheral device drivers
US6389495B1 (en) * 1999-01-16 2002-05-14 Cypress Semiconductor Corp. Dedicated circuit and method for enumerating and operating a peripheral device on a universal serial bus
US6424424B1 (en) * 1999-01-19 2002-07-23 Hewlett-Packard Company Method and apparatus for automatic installation of shared printers over a network
US6594690B2 (en) * 1999-02-24 2003-07-15 Hewlett-Packard Development Company, L.P. Network peripheral device driver installer
US6473854B1 (en) * 1999-10-07 2002-10-29 Micron Technology, Inc. Method for automatically retrieving and installing device drivers across a network
TW460786B (en) * 1999-12-09 2001-10-21 Via Tech Inc System to reprogram the content value of the flash memory of the peripheral device and the method thereof
US6668376B1 (en) * 2000-01-07 2003-12-23 Ricoh Company, Ltd. System and method for automatically loading a device driver
US6615286B1 (en) * 2000-02-14 2003-09-02 Intel Corporation Method and apparatus for updating device driver control data
US6728787B1 (en) * 2000-03-31 2004-04-27 Mitsubishi Electric Research Labs, Inc System and method for locating and installing device drivers for peripheral devices
US6607314B1 (en) * 2000-10-03 2003-08-19 Hewlett-Packard Development Company, L.P. Apparatus for and method of updating a software routine

Also Published As

Publication number Publication date
EP1225744B1 (en) 2013-11-20
US20020083228A1 (en) 2002-06-27
JP2002268983A (ja) 2002-09-20
EP1225744A3 (en) 2004-05-19
EP1225744A2 (en) 2002-07-24
US7076536B2 (en) 2006-07-11

Similar Documents

Publication Publication Date Title
JP4625213B2 (ja) 周辺装置に関連する情報にアクセスする方法およびシステム
US7165109B2 (en) Method and system to access software pertinent to an electronic peripheral device based on an address stored in a peripheral device
US6668376B1 (en) System and method for automatically loading a device driver
US6078951A (en) Method and apparatus for automating a software delivery system by locating, downloading, installing, and upgrading of viewer software
RU2421785C2 (ru) Автоматизированное управление драйверами устройств
CN1315042C (zh) 创建和使用具有选定功能的操作***的方法和***
US8640122B2 (en) Systems and methods for abstracting software content management in a software provisioning environment
CA2800917C (en) Applications including multiple experience modules
US8402123B2 (en) Systems and methods for inventorying un-provisioned systems in a software provisioning environment
TWI473019B (zh) 用於可部署物件階層內之應用程式管理的方法及系統
US7293115B2 (en) Internet-aware agent for automatically updating applications without executing the application
US8225312B2 (en) Method and apparatus for downloading software updates
US20030195951A1 (en) Method and system to dynamically detect, download and install drivers from an online service
US20100058328A1 (en) Systems and methods for differential software provisioning on virtual machines having different configurations
US20070106984A1 (en) Application suite installer with automatic detection of content and configurable options
US20070240150A1 (en) Simplifying installation of a suite of software products
US20060288166A1 (en) System, method, and computer program product for nonvolatile memory devices
CN109375986A (zh) 基于元数据的虚拟机配置
JP2001508575A (ja) ソフトウェア更新マネージャ
US20150113423A1 (en) System and method to configure a field device
CN101694625A (zh) 基于加密服务器管理的客户端软件更新方法及装置
US20070027996A1 (en) Configuring application settings based on changes associated with a network identifier
KR20050048320A (ko) 네트워크를 통하여 소프트웨어를 설치하는 장치 및 방법
JP3711162B2 (ja) ソフトウェア代金決裁システムおよび方法
JP2002189594A (ja) 最新バージョン自動設定システム、及び自動設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041111

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20041111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070330

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070720

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071019

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080404

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20080407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080407

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20080512

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20080711

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100520

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100929

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101105

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131112

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees