JP4210059B2 - デバイスドライバの生成 - Google Patents
デバイスドライバの生成 Download PDFInfo
- Publication number
- JP4210059B2 JP4210059B2 JP2001579086A JP2001579086A JP4210059B2 JP 4210059 B2 JP4210059 B2 JP 4210059B2 JP 2001579086 A JP2001579086 A JP 2001579086A JP 2001579086 A JP2001579086 A JP 2001579086A JP 4210059 B2 JP4210059 B2 JP 4210059B2
- Authority
- JP
- Japan
- Prior art keywords
- connection
- data
- device control
- specific
- network
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/169—Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4557—Directories for hybrid networks, e.g. including telephone numbers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/565—Conversion or adaptation of application format or content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
- H04W84/22—Self-organising networks, e.g. ad-hoc networks or sensor networks with access to wired networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Vehicle Body Suspensions (AREA)
- Steering Control In Accordance With Driving Conditions (AREA)
- Control Of Eletrric Generators (AREA)
- Stored Programmes (AREA)
- Communication Control (AREA)
- Noodles (AREA)
- Saccharide Compounds (AREA)
Description
(関連出願の相互参照)
本出願は、ともに参照により本明細書に完全に組み込む、2000年4月24日に出願した「Bluetooth Compliant Wireless Device Connections As Modems Or Sockets(モデムまたはソケットとしての、ブルートゥース準拠ワイヤレス装置接続)」という名称の米国出願第09/556,567号(整理番号204843)、および2000年4月24日に出願した「Bluetooth MiniPort Driver Model(ブルートゥースミニポートドライバモデル)」という名称の米国出願第556,568号(整理番号204858)に関連する。
【0002】
(技術分野)
本発明は、一般に、ワイヤレスインターフェース技術に関し、より詳細には、コンピュータソフトウェアアプリケーションと、ブルートゥース仕様に従って動作するワイヤレス装置の間のインターフェースに関する。
【0003】
(発明の背景)
コンピュータシステム上でソフトウェアコンポーネントとハードウェアコンポーネントの間の適合性を最大限に高めるために、コンピュータのオペレーティングシステムは、特定のインターフェースを定義している。このインターフェースに対して、ソフトウェアコンポーネントのプログラマがアクセスし、これを使用することができ、ハードウェアコンポーネントの設計者がこのインターフェースを提供およびサポートできる。したがって、この定義されたインターフェースを使用することによって、ソフトウェアコンポーネントは、そのインターフェースをサポートするすべてのハードウェアコンポーネントと確実に適合できるようになる。同様に、ハードウェアコンポーネントが特定のインターフェースを提供することにより、このハードウェアコンポーネントがインターフェースを介して提供する機能をソフトウェアコンポーネントが確実に検出しアクセスできるようになる。
【0004】
一般に、コンピュータおよびその他の電子装置は、物理的なケーブルまたはワイヤを介して相互接続されている。これらの通信経路によって、このような装置間のデータまたは制御情報の交換が可能になる。しかし、装置を相互接続するためのケーブルおよびワイヤを除去することによりある種の利点が得られるとの認識が強まっている。このような利点には、物理媒体を物理的に追加、除去、または移動する必要性がなくなることによって、構成および再構成が容易になるということが含まれる。さらに、従来は装置の相互接続媒体のために使用されていたスペースを、他用途に供することができる。さらに、ワイヤレス接続の使用により、装置の可動性が向上する。
【0005】
装置間のワイヤレス接続を提供するある方法は、諸装置をリンクさせるために電磁スペクトルの赤外領域中の光波を使用する。IrDA(Infrared Data Association(赤外線データ協会))プロトコルは、このような接続メカニズムの1つを定義している。残念なことに、このようなメカニズムは、通常、光軸(line of sight)を合わせた方法で動作しなければならない。すなわち、送信機と受信機の間に不透明な障害物があると、正しい動作が妨げられる。さらに、IR送信機は、一般に、通信装置に組み込まれた場合には全方向性ではなく、したがって、正しく動作させるためには、30度など、ある公称偏差の範囲内で、ほぼ受信機の方向に向けなければならない。最後に、IR送信機は、一般に、きわめて低電力の装置であり、したがって、IRリンクの範囲は、通常、約1メートルに限定される。
【0006】
無線周波リンクは、赤外線リンクに固有の問題の多くを解決する。しかし、適切なインターフェースを提供する接続メカニズムを介して様々なアプリケーションが無線リンクに容易にアクセスすることができるような無線周波接続スキームが必要とされている。無線周波リンクを介したワイヤレス装置間の通信を定義する1つのプロトコルが、ブルートゥース仕様である。ブルートゥース装置は、動作するのに、互いが有する視野線を必要とはせず、その範囲は、IRリンクよりも著しく広くできる。しかし、ブルートゥース仕様の1つの難点は、ブルートゥース準拠装置との通信用に書かれたコンピュータソフトウェアプログラムがきわめて少ないことである。ブルートゥース仕様のもう1つの難点は、ブルートゥース仕様に準拠したRFリンク上で動作するような設計の、高レベルのネットワーキングプロトコルが非常に少ないことである。
【0007】
(発明の概要)
したがって、本発明は、ブルートゥース仕様に準拠したRFリンクを介して、バス独立型で、本来はバス付加型ネットワーキング装置のために設計されたネットワークメッセージプロトコルを提供するための方法およびコンピュータプログラムプロダクトを提供する。このような方法で、ハードワイヤード(またはバス付加型)ネットワークで動作するように設計された多くのコンピュータソフトウェアプロダクトを、ブルートゥースワイヤレスネットワーク上で使用することもできる。
【0008】
本発明のさらなる特徴および利点は、添付の図面を参照しながら記載する、以下の例示的実施形態の詳細な説明から明らかであろう。
【0009】
添付の特許請求の範囲に、本発明の特徴を詳細に記載してあるが、添付の図面とともに以下の詳細な説明を読めば、本発明を、その目的および利点とともに最もよく理解することができるであろう。
【0010】
(発明の詳細な説明)
図面を参照すると、同一参照番号が同一エレメントを示しており、本発明を、適切なコンピューティング環境で実施したものとして図示してある。必要とはしないが、本発明を、プログラムモジュールなど、パーソナルコンピュータによって実行されるコンピュータ実行可能命令という一般的状況において説明する。一般に、プログラムモジュールには、特定のタスクを実行し、または特定の抽象タイプのデータを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。さらに、当業者は、本発明が、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含めて、その他のコンピュータシステム構成で実施できることを理解されよう。本発明はまた、タスクが、通信ネットワークを介してリンクされているリモート処理装置によって実行される、分散コンピューティング環境においても実施することができる。分散コンピューティング環境では、プログラムモジュールをローカルおよびリモート、両方のメモリ記憶装置に配置することができる。
【0011】
図1を参照すると、本発明を実施するための例示的システムは、処理装置21、システムメモリ22、および、システムメモリを含めて、様々なシステムコンポーネントを処理装置21に結合するシステムバス23を含む、従来のパーソナルコンピュータ20という形の汎用コンピューティング装置を含む。システムバス23は、様々なバスアーキテクチャのいずれかを使用した、メモリバスまたはメモリコントローラ、周辺バス、ローカルバスを含めて、何種類かのバス構造のうちのいずれかでよい。システムメモリは、読出し専用メモリ(ROM)24およびランダムアクセスメモリ(RAM)25を含む。起動中などに、パーソナルコンピュータ20内のエレメント間の情報の転送を援助する基本ルーチンを含む、基本入出力システム(BIOS)26は、ROM24中に記憶されている。パーソナルコンピュータ20は、ハードディスク60からの読出しおよびそれへの書込みを行うためのハードディスクドライブ27、リムーバブル磁気ディスク29からの読出しおよびそれへの書込みを行うための磁気ディスクドライブ28、および、CD ROMまたはその他の光媒体など、リムーバル光ディスク31からの読出しおよびそれへの書込みを行う光ディスクドライブ30をさらに含む。
【0012】
ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスクドライブ30は、それぞれ、ハードディスクドライブインターフェース32、磁気ディスクドライブインターフェース33、および光ディスクドライブインターフェース34によって、システムバス23に接続されている。ドライブおよびそれらの関連するコンピュータ可読媒体は、パーソナルコンピュータ20に、コンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの不揮発性記憶を提供する。本明細書で説明している例示的環境では、ハードディスク60、リムーバブル磁気ディスク29、およびリムーバブル光ディスク31を使用しているが、当業者は、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイ(Bernoulli)カートリッジ、ランダムアクセスメモリ、読出し専用メモリなど、コンピュータがアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体も、例示の動作環境で使用できることを理解されよう。
【0013】
ハードディスク60、磁気ディスク29、光ディスク31、ROM24またはRAM25には、オペレーティングシステム35、1つまたは複数のアプリケーションプログラム36、その他のプログラムモジュール37、およびプログラムデータ38を含めて、いくつかのプログラムモジュールを記憶することができる。ユーザは、キーボード40やポインティング装置42などの入力装置を介して、パーソナルコンピュータ20にコマンドおよび情報を入力することができる。その他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらおよびその他の入力装置は、システムバスに結合されたシリアルポートインターフェース46を介して処理装置21に接続されていることが多いが、パラレルポート、ゲームポート、ユニバーサルシリアルバス(USB)など、その他のインターフェースで接続することもできる。モニタ47または他のタイプのディスプレイ装置も、ビデオアダプタ48などのインターフェースを介してシステムバス23に接続される。モニタに加えて、パーソナルコンピュータは、一般に、スピーカやプリンタなど、図示してはいないが、その他の周辺出力装置も含む。
【0014】
パーソナルコンピュータ20は、リモートコンピュータ49やRF装置64など、1つまたは複数のリモートコンピュータまたは装置への論理接続を使って、ネットワーク化された環境で動作することができる。リモートコンピュータ49は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の一般のネットワークノードでよく、一般に、パーソナルコンピュータ20に関連して上記に説明したエレメントの多くまたはすべてを含む。ただし、図1では、記憶装置50しか図示していない。無線周波(RF)装置64は、セルラフォン、デジタルカメラ、別のパーソナルコンピュータ、またはRFスペクトルを介して通信を行う機能を含むその他の装置でよい。図1に示す論理接続は、ローカルエリアネットワーク(LAN)51および広域ネットワーク(WAN)52、およびRF接続63を含む。このようなネットワーキング環境は、オフィス、企業全体にわたるコンピュータネットワーク、イントラネットおよびインターネットでは普通である。
【0015】
パーソナルコンピュータ20は、LANネットワーキング環境で使用される場合は、ネットワークインターフェースまたはアダプタ53を介して、ローカルネットワーク51に接続される。パーソナルコンピュータ20は、WANネットワーキング環境で使用される場合は、一般に、モデム54、またはWAN52を介して通信を確立するためのその他の手段を含む。モデム54は、内部装置でも外部装置でもよく、シリアルポートインターフェース46を介してシステムバス23に接続される。パーソナルコンピュータ20は、RF接続63と共に使用される場合は、RFインターフェース62を含む。ネットワーク化された環境では、パーソナルコンピュータ20またはその部分に関連して示しているプログラムモジュールを、リモート記憶装置に記憶することができる。図示しているネットワーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されよう。
【0016】
以下の記載では、別途記載がない限り、本発明を、1つまたは複数のコンピュータによって実行される、動作およびオペレーションの記号表示を参照して説明する。したがって、時々、コンピュータによって実行される、と述べるこのような動作およびオペレーションには、コンピュータの処理装置による、構造化した形のデータを表す電気信号の操作も含まれることを理解されたい。この操作は、データを変形し、またはコンピュータのメモリシステム中のロケーションに保持し、それによって、コンピュータのオペレーションを、当業者によく理解されている方法で、再構成あるいは変更する。データが保持されるデータ構造とは、データのフォーマットによって定義される特定のプロパティを有するメモリの物理的ロケーションである。しかし、本発明を前述の状況で説明しているが、以下に記載の様々な動作およびオペレーションは、ハードウェアでも実施できることが当業者にはわかるように、それは限定することを意図したものではない。
【0017】
本発明に従って、図2を参照すると、オープンシステム間相互接続(OSI)の7層モデルを示してある。このモデルは、コンピュータネットワーキングの業界標準抽象化である。応用層100は、直接、エンドユーザにサービスし、ユーザが相互作用し合うソフトウェアアプリケーションをサポートする。プレゼンテーション層102は、あるコンピュータ上の応用層100から別のコンピュータ上の応用層に送られてきたデータを解釈するメカニズムを提供する。セション層104は、転送されてきたデータの構成を記述する。トランスポート層106は、最終的なエラー訂正層として動作し、データが正確に正しい順序で、損失や重複なく確実に引き渡されるようにする。ネットワーク層108は、ネットワーク上でのデータのアドレス指定および経路指定を定義する。それは、ローカルサブネットワークのオペレーションを制御し、また、データがどの物理的経路をとるべきか、所与のネットワーク条件、サービスの優先順位、およびその他の要因を決定する。データリンク層110は、ネットワークを介したデータブロックまたはパケットの送信を制御し、より基本的なエラー訂正を行う。データリンク層110は、論理リンク制御(LLC)副層および媒体アクセス制御(MAC)副層の2つの副層(sublayer)に分けられる。LLC副層は、論理リンクを保持し、フレームフローを制御し、フレームの順番を付け、フレームに肯定応答し、肯定応答しなかったフレームを再送信することによって、エラーのないデータフレーム送信を保証する。MAC副層は、ネットワークへのアクセスを管理し、フレームエラーをチェックし、受け取ったフレームの認識を行う。LLC副層を含むプロトコルは、最小限のトランスポート層106だけが必要である。最後に、物理層112は、ネットワーク接続114に送られる信号を搬送する。一般に、物理層112は、コンピュータ20をネットワーク接続114に接続するハードウェアで実施される。
【0018】
ネットワーク装置インターフェース仕様(NDIS)116は、ネットワーク層108とデータリンク層110の間に常駐することができる。NDIS116は、ソフトウェアコンポーネントとハードウェアコンポーネントの間のインターフェースのライブラリを提供することができる。NDIS116は、ネットワークインターフェースカード(NIC)ドライバが実行する必要があるすべての外部機能にルーチンを提供することによって、NICドライバ開発のための完全に抽象化された環境を定義することができる。したがって、NDIS116は、NICドライバと上部のプロトコルドライバの間、およびNICドライバと下部のNICハードウェア自体の間で通信を行うためのインターフェースを提供することができる。
【0019】
一般に、応用層100、プレゼンテーション層102、セション層104、トランスポート層106、およびネットワーク層108は、コンピュータ上で動作するソフトウェアコンポーネントで実施される。データリンク層110および物理層112は、一般に、ネットワークインターフェースカードなどのハードウェアコンポーネントで実施される。NDIS116ライブラリは、トランスポート層110で実施されたソフトウェアドライバが、データリンク層110で実施されたネットワークインターフェースカードドライバと通信を行うために使用することができる。トランスポート層ドライバは、一般に、インターネット上で使用される、よく知られているTCP/IP(Transfer Control Protocol/Internet Protocol(転送制御プロトコル/インターネットプロトコル))スタックなどの、ネットワークプロトコルスタックを実施する。トランスポート層ソフトウェアドライバは、送信すべきデータパケットを持っている場合、NDIS116ライブラリからのインターフェースを使ってNICドライバを呼び出し、転送すべきパケットを下に渡すことができる。同様に、NICドライバは、NDIS116のインターフェースを使って、ネットワークを介して送信するように、パケットをNIC自体に渡すことができる。NDIS116インターフェースは、NICで送信を実行する、オペレーティングシステム固有のコンポーネントを呼び出すことができる。また、NICドライバは、NDIS116インターフェースを使って、トランスポート層ソフトウェアドライバと通信し、受け取ったデータパケットまたはその他の情報を上に渡すこともできる。
【0020】
物理層112の一例が、ワイヤレス無線周波(RF)装置64である。装置64とコンピュータ20の間のワイヤレス通信のための、ますます人気を集めつつあるRFプロトコルが、ブルートゥースプロトコルである。これについては、参照により本明細書に完全に組み込まれている「Specification of the Bluetooth System(ブルートゥースシステムの仕様)」第1.0B版(1999年12月1日)に、より詳細に記載されている。また、付録Bに提示の「Windows(登録商標) Wireless Architecture(Windows(登録商標)ワイヤレスアーキテクチャ)」、付録Cに提示の「Bluetooth Architecture Overview(ブルートゥースアーキテクチャの概要)」、付録Dに提示の「Bluetooth Experience in Windows(登録商標)(Windows(登録商標)でのブルートゥースの経験)」、および付録Eに提示の「Bluetooth Stack in Windows(登録商標)(Windows(登録商標)でのブルートゥーススタック)」も参照されたい。ブルートゥース仕様に記載されているように、L2CAP(Logical Link Control and Adaptation Protocol(論理リンク制御および適合用プロトコル))は、高水準プロトコルがブルートゥース準拠のRFリンクを介して動作できるようにする。L2CAP層については、付録Aに添付し、参照により本明細書に完全に組み込まれている、「Logical Link Control and Adaptation Protocol Specification(論理リンク制御および適合用プロトコル仕様)」というタイトルの「Specification of the Bluetooth System(ブルートゥースシステムの仕様)」第1.OB版、パートD(1999年12月1日)に、より詳細に記載されている。このようなより高水準のメッセージングプロトコルの1つに、マイクロソフト社のリモートNDIS(リモートネットワーク装置インターフェース仕様)がある。これについては、1999年4月30日に出願され、本出願の譲受人に譲渡されて、参照により本明細書に完全に組み込まれている、Hyder等による、「Method and System for Abstracting Network Device Drivers(ネットワークデバイスドライバを抽象化する方法およびシステム)」という名称の同時係属出願第09/302,735号により詳細に記載されている。この同時係属出願に記載されているように、リモートNDISは、バス固有のメッセージトランスポートメカニズムを変更することなく拡張可能性を提供し、それによって、物理層112によって実施される、比較的多種にわたるこのようなトランスポートメカニズムへの実施が可能になる。また、リモートNDISは、ネットワーキングと外部バス装置モデルの両方について証明されているドライバアーキテクチャも提供する。
【0021】
本発明がなければ、ハードウェアのメーカは、2つのドライバ、NDIS ミニポートドライバと、バスまたはネットワークインターフェースを書かなければならない。しかし、この2つのドライバを、単一のバイナリとして配布することができる。第1のドライバ、NDISミニポートドライバは、NDIS116と情報を交換し、あるベンダ固有のAPIを介して、バスまたはネットワークインターフェースドライバと通信を行う。バスまたはネットワークインターフェースドライバは、バス固有またはネットワーク固有であり、適切なバスまたはネットワークドライバを介してハードウェアと通信を行う。NDISミニポートドライバ、およびバスまたはネットワークインターフェースドライバは、両ドライバとも、アクセスされているネットワーク装置のメーカが書いたものであるため、ベンダ固有のAPIを介して通信を行う。したがって、NDISミニポートが、NDIS層116と通信するためにはNDIS APIに準拠しなければならず、また、バスまたはネットワークインターフェースが、情報をネットワーク装置に渡す際に、該当するバスまたはネットワークドライバに従わなければならない一方で、NDISミニポートと、バスまたはネットワークインターフェースの間の相互作用は、完全にハードウェアメーカに一任されている。装置メーカに、彼らが市場に出している各機器ごとに2つのドライバを書くことを要求することは、いくつかのきわめて重大な問題を生じさせる。例えば、デバイスドライバの純粋な数を管理することは、ハードウェアメーカおよびソフトウェアとともにある種のデバイスドライバを配布する可能性があるオペレーティングシステム開発会社の両方にとって、困難かつ費用がかかることである。さらに、メーカが、NDISへの接続とバスまたはネットワークインターフェースの両方を提供するため、ネットワークの機能と特定のバスの特性が結合される可能性があり、一方を、もう一方なしに更新することが不可能になる。これらの問題を解決することにより、リモートに接続されるネットワーキング装置の配置をより速く行うことができ、また、ホストベースのドライバの開発コストをより低くすることができる。
【0022】
NDISミニポートドライバ、およびバスまたはネットワークインターフェースは、ともに装置ハードウェアメーカが提供しており、リモートNDISミニポート層およびバス固有またはネットワーク固有のマイクロポートと交換することができる。リモートNDISミニポート層、およびバス固有またはネットワーク固有のマイクロポートは、アクセスされる特定の装置とは独立しており、したがって、オペレーティングシステムの一部として含めることができる。したがって、リモートNDIS仕様に添ってドライバを書くハードウェアメーカは、自分たちの装置のためにホストベースのドライバを書く必要がなくなる。
【0023】
リモートNDISは、接続不可知または接続独立のメッセージセットを、そのメッセージセットが、特定のバスやネットワークなど特定の接続を介してどのように動作するかという記載とともに、定義する。リモートNDISインターフェースは標準化されているので、コアセットのホストドライバは、取り付けられているネットワーキング装置をいくつでもサポートすることができる。それによって、新しいネットワーク装置をサポートするために新しいドライバをインストールする必要がなくなるので、システムの安定性とユーザの満足度が向上する。リモートNDISアーキテクチャは、リモートNDISメッセージセットを理解し、バス固有またはネットワーク固有のマイクロポートドライバと通信を行う、リモートNDISミニポートドライバを含む。特に、リモートNDISミニポート層は、NDIS OID(オブジェクト識別子)とNDISデータパケットを、修正なしにネットワーキング装置に渡すことができるデータ構造にカプセル化する。このデータ構造はリモートNDISメッセージとして知られる。
【0024】
バス固有またはネットワーク固有のマイクロポートドライバは、メッセージを装置に渡す責任を有するバスまたはネットワークを理解する中間層を表す。したがって、マイクロポート層は、リモートNDISメッセージを受け取って、それらをバスまたはネットワークドライバ層の対応するエレメントに渡す。次いで、バスまたはネットワークドライバ層は、そのリモートNDISメッセージを、リモートNDIS装置に渡す。ネットワークプロトコルメカニズムは、バスまたはネットワーク固有のマイクロポート層よりも上で抽象化されるため、新しいネットワーク機能の追加は、リモートNDISミニポート層のみを変更するだけで行うことができる。マイクロポート層は、リモートNDISメッセージにカプセル化されたNDIS OIDおよびNDISデータパケットを渡すメッセージトランスポートメカニズムにすぎないので、変更されないままである。さらに、すべてのバスまたはネットワークマイクロポートは、単一のリモートNDISミニポート層がそれらすべてにサービスすることができるので、ネットワーク機能を新しいNDIS OIDの形で追加することが利用可能である。本発明はまた、後方互換性も維持する。新しいNDIS OIDが追加されると、リモートNDIS装置が、それがそのNDIS OIDを理解できず、したがって、その新しいネットワーク機能をサポートしないと応答することもある。
【0025】
図3を見ると、L2CAPチャネル160など、単一のL2CAPチャネルを、リモートNDIS制御通信のために使用することができる。このような制御通信には、制御メッセージ、これらのメッセージへの応答、および装置162が、それによって状態の変化を示すことができるメッセージが含まれる。別のL2CAPチャネル150を使って、リモートNDISデータパケットを交換することができる。データメッセージは、長さが1500バイトまで可能であり、これは、全ブルートゥース帯域幅を使用した場合には約20msかかるが、データメッセージが他のトラフィックと帯域幅を共用しなければならない場合にはこれよりもずっとかかる。したがって、制御メッセージを送る際の待ち時間を制限するために、別個のL2CAPチャネル160が提供されている。装置162上に存在する可能性がある複数のネットワーキングチャネルに対処するために、追加L2CAPチャネルを加えることができる。
【0026】
上記に、図2を参照して説明したように、制御メッセージは、図3に示す制御層158に直接送られ、一方、データは、まず媒体アクセス制御層154が受け取り、次に、物理層156で、物理的ネットワークを介して送信するためにカプセル化することができる。応答および状態信号の送信を容易にするために、また、即時制御を可能にするために、制御層158を、媒体アクセス制御層154および物理層156の両方に直接、接続する。
【0027】
ネットワークデータは、L2CAPチャネル150を介して、ホスト164と装置162の間で渡される。このデータは、NDISネットワークスタックがすでに使用しているモデル上で、NDISパケットメカニズムにカプセル化することができる。L2CAPがサポートするパケットの最大長は、媒体の最大MTUから、RNIDSヘッダサイズを差し引いたものであり得る。装置152は、それが送ることができる最大L2CAPメッセージ(サイズ)までのMaxTransferSize値を、NDISファンクションコールに記入することができる。ホスト164は、そのL2CAP最大メッセージサイズがそれよりも小さい場合、戻された情報をそれ自体の最大メッセージサイズで上書きすることができる。ホスト164または装置162のいずれかが、制御およびデータL2CAPチャネルの両方のセットアップを開始することができる。
【0028】
ブルートゥースリモートNDIS装置に使用することができる、最小のサービスディスカバリプロトコル(SDP)レコードは、下記の表1に示すようになり得る。見てわかるように、リモートNDIS装置は、標準サービスディスカバリ記述を使用する。パーソナルエリアネットワーク(PAN)サービスは、互いに通信を行うことができる。ブルートゥース装置が複数のPANサービスを有することも可能である。例えば、セルラフォンが、セルラデータネットワークへのブルートゥース装置のアクセスを可能にするワイヤレスWANサーバを有することもあり得る。このような場合、ServiceNameは「WWAN」、またはより説明的な名前であってよい。あるいは、セルラフォンが、装置間でピアツーピアの通信を行うための内部PANサービスを可能にする、PANサービスを有することもあり得る。このような場合、ServiceNameは、「PEER」に設定すればよい。装置は、PEERというServiceNameを持つPANプロファイルを、2つ以上アドバタイズするべきではない。
【0029】
【表1】
【0030】
リモートNDISブルートゥース装置は、2つ以上のL2CAPチャネル、すなわち1つの制御チャネル、および1つまたは複数のデータチャネルを開始または受信することができる。装置162へのメッセージは、L2CAPパケットデータユニット(PDU)の形で送ることができる。この装置には、ホスト164から制御チャネル160でメッセージを送ることができ、また、この装置は、次いで、その同じ制御チャネルで応答を送ることができる。ブルートゥースRNDIS装置のこのような典型的なトランザクションの一例として、以下のような場合があり得る。ホスト164は、NdisQueryRequest型で構成された内容で、制御チャネル上にブルートゥースWRITEを発行する。NdisQueryRequestのRNDIS_OID値は、OID_GEN_MEDIA_CONNECT_STATUSに設定され得る。装置162は、ブルートゥースデータを受け取ると、NdisQueryRequstを復号し、必要なアクションを行って、接続ステータスを判断する。装置は、ホストが要求している情報をNdisQueryRequest中に持っていると、制御チャネル160上に、NdisQueryResponseから成るブルートゥースWRITEを発行する。この場合、NdisQueryResponseはOID_GEN_MEDIA_CONNECTION_STATUSに設定され得る。
【0031】
ブルートゥースは、ピアツーピアシステムである。さらに、SDPレコードは、ホストと装置システムの違いを定義しない。したがって、ブルートゥースマイクロポートがそれ自体に対して作動できることがあり得る。ホストのみのRNDISマイクロポートは、ある種のメッセージを開始する必要があるだけであり、ある種のメッセージを受け取るだけである。しかし、マイクロポートは、ホスト、装置、またはその両方であり得るので、ホストまたは装置のいずれかが受け取ることができるあらゆるメッセージを処理することができる。したがって、マイクロポートは、これらのメッセージを扱うことができなければならない。ブルートゥースマイクロポートは、例えばセルラフォンに接続されている場合には、ホストマイクロポートとしてのみ動作することができ、また、同じくマイクロポートを走らせている別のマシンに接続されている場合には、ホスト/装置の両方として動作することができる。マイクロポートは、メッセージを処理する際に振動が起きないように設計しなければならない。
【0032】
リモートNDISは、NDIS OOBおよびパケットごとの情報のフィールドをトランスポートするためのスペースを含めて、REMOTE_NDIS_PACKETメッセージのフォーマットを定義する。パケットごとの情報のファイルは、NDISが、それがその機能をサポートすることをリモートドライバが指定している場合に、供給することができる。OOB情報は、特定の媒体タイプについてサポートされ得る。例えば、イーサネット(登録商標)の場合は、ピアツーピアのエミュレーションフィールドは必要ではない。このような場合、44バイトのオフセットおよびパケット情報フィールドの長さは必要とされない。したがって、1514バイトのイーサネット(登録商標)MTUの場合、L2CAPのMTUは最小1554バイトであることが可能であり、ブルートゥース帯域幅の約3%が無駄になる。これは、低速リンクの場合には問題になる。これは、DataOffsetが4であるならば、RNDIS_PACKETヘッダの残りがヌルであると想定して、最適化することができる。これによって、データのオーバヘッドを、16バイトすなわち1%減少させることができる。
【0033】
オペレーション中に、PANサービスをサポートするリモートブルートゥース装置が範囲内にあり、通信することが可能な場合には、ブルートゥースマイクロポートをロードすることができる。マイクロポートをロードすることによって、マイクロポートから初期化メッセージが送られるようにすることができる。リモート装置が例えばセルラフォンである場合、それは、初期化完了メッセージで応答することができる。別の例として、リモート装置が別のWindows(登録商標)マシンの場合、これもまた初期化メッセージを生成することができる。マイクロポートは、REMOTE_NDIS_INITIALIZE_MSG、REMOTE_NDIS_QUERY_MSG、REMOTE_NDIS_SET_MSG、REMOTE_NDIS_RESET_MSG、REMOTE_NDIS_KEEPALIVE_MSGなどの特別なメッセージを受け取ることもできる。これらのメッセージについては、2000年3月20日付けの「Remote NDIS Over Bluetooth Specification(ブルートゥース仕様を介したリモートNDIS)」というタイトルの論文に、より詳細に説明されている。これは付録Fに添付した。
【0034】
特許、特許出願、出版物を含めて、本明細書で挙げている参考文献はすべて、参照により本明細書に完全に組み込まれている。
【0035】
本発明の原理を適用することができる多くの可能な実施形態を考えると、本明細書で図面を参照して説明している実施形態は例示にすぎず、発明の範囲を限定するものとして解釈するべきではないことを理解されたい。例えば、当業者は、ソフトウェアとして示してある例示の実施形態のエレメントが、ハードウェアとして実施でき、またその反対も可能であること、または、例示の実施形態が、本発明の趣旨から逸脱することなく、構成および細部において修正可能であることを理解されるであろう。したがって、本明細書に記載している本発明は、すべてのこのような実施形態を、特許請求の範囲およびその同等物の範囲内に入るものとしてみなすものである。
【図面の簡単な説明】
【図1】 本発明が存在する例示的コンピュータシステムを全体的に示す構成図である。
【図2】 7層ネットワークモデルを全体的に示す構成図である。
【図3】 本発明が動作することができる層モデルを、全体的に示す構成図である。
Claims (18)
- ネットワーク装置を使用する方法であって、前記ネットワーク装置は、ネットワーク接続およびワイヤレス接続を有する方法において、
装置制御コマンドおよびデータを装置独立フォーマットに抽象化するステップと、
接続独立ドライバ層を使用して、抽象化された前記装置制御コマンドおよびデータを接続独立フォーマットにカプセル化するステップと、
中間ドライバ層を使用して、カプセル化された前記装置制御コマンドおよびデータを接続固有の装置制御コマンドおよびデータに変換するステップと、
接続固有のドライバ層を使用して、前記接続固有の装置制御コマンドおよびデータを前記ネットワーク装置にワイヤレスで送信するステップであって、そこでは前記ネットワーク装置は前記接続固有の装置制御コマンドおよびデータを前記ワイヤレス接続を介して受信し、前記ネットワーク接続を介して前記データを送信するステップと
を含むことを特徴とする方法。 - 前記ワイヤレス接続が、ブルートゥース接続であり、前記接続固有の装置制御コマンドおよびデータが、前記ブルートゥースプロトコルに準拠することを特徴とする請求項1に記載の方法。
- 前記接続固有のドライバ層が、前記接続固有の装置制御コマンドおよびデータを、少なくとも1つのL2CAPチャネルを介して前記ネットワーク装置に送信することを特徴とする請求項1に記載の方法。
- 前記接続固有のドライバ層が、第1のL2CAPチャネルを介して前記接続固有の装置制御コマンドを送信し、第2のL2CAPチャネルを介して前記接続固有のデータを送信することを特徴とする請求項3に記載の方法。
- 前記中間ドライバ層がカプセル化された前記装置制御コマンドおよびデータを、サービスディスカバリプロトコルレコードを参照して、接続固有の装置制御コマンドおよびデータに変換することを特徴とする請求項1に記載の方法。
- 前記接続固有のドライバ層が、前記接続固有の装置制御コマンドおよびデータを、前記ネットワーク装置のワイヤレス接続が使用するワイヤレスプロトコルの最大送信単位よりも小さいパケットにセグメント化することによって送信することを特徴とする請求項1に記載の方法。
- ワイヤレス装置を介してネットワーク接続するコンピュータにおいて、
装置制御コマンドおよびデータを装置独立フォーマットに抽象化する装置独立ドライバ層、
抽象化された前記装置制御コマンドおよびデータを接続独立フォーマットにカプセル化する接続独立ドライバ層、
カプセル化された前記装置制御コマンドおよびデータを接続固有の装置制御コマンドおよびデータに変換する中間ドライバ層、
前記接続固有の装置制御コマンドおよびデータを前記ワイヤレス装置に送信する接続固有のドライバ層、および
前記接続固有のドライバ層を使用して、前記接続固有の装置制御コマンドおよびデータを前記ワイヤレス装置に送信するワイヤレス通信機器
を備えたことを特徴とするコンピュータ。 - 前記ワイヤレス通信機器は、ブルートゥースプロトコルを使用し、前記接続固有の装置制御コマンドおよびデータが、前記ブルートゥースプロトコルに準拠することを特徴とする請求項7に記載のコンピュータ。
- 前記接続固有のドライバ層は、前記接続固有の装置制御コマンドおよびデータを、少なくとも1つのL2CAPチャネルを介して前記ワイヤレス装置に送信することを特徴とする請求項7に記載のコンピュータ。
- 前記接続固有のドライバ層は、前記接続固有の装置制御コマンドを第1のL2CAPチャネルを介して送信し、前記接続固有のデータを第2のL2CAPチャネルを介して送信することを特徴とする請求項9に記載のコンピュータ。
- 前記中間ドライバ層は、前記カプセル化された装置制御コマンドおよびデータを前記接続固有の装置制御コマンドおよびデータに変換している間、サービスディスカバリプロトコルレコードを参照することを特徴とする請求項7に記載のコンピュータ。
- 前記接続固有のドライバ層は、前記接続固有の装置制御コマンドおよびデータを、前記ワイヤレス通信機器が使用するワイヤレスプロトコルの最大送信単位よりも小さいパケットにセグメント化することを特徴とする請求項7に記載のコンピュータ。
- ネットワーク接続およびワイヤレス接続を有するネットワーク装置を使用し、コンピュータ実行可能命令を有するコンピュータプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記コンピュータ実行可能命令は、
装置制御コマンドおよびデータを装置独立フォーマットに抽象化するステップ、
前記装置制御コマンドおよびデータを接続独立フォーマットにカプセル化するステップ、
当該カプセル化された装置制御コマンドおよびデータを接続固有の装置制御コマンドおよびデータに変換するステップ、および、
前記接続固有の装置制御コマンドおよびデータをワイヤレスに前記ネットワーク装置のワイヤレス接続に送信するステップであって、そこでは前記データは前記ネットワーク接続を介して前記ネットワーク装置により送信されるステップ
を実行することを特徴とするコンピュータ読み取り可能な記憶媒体。 - 前記ワイヤレス接続は、ブルートゥース接続であり、前記接続固有の装置制御コマンドおよびデータが、前記ブルートゥースプロトコルに準拠することを特徴とする請求項13に記載のコンピュータ読み取り可能な記憶媒体。
- 前記接続固有の装置制御コマンドおよびデータの前記ネットワーク装置への送信は、少なくとも1つのL2CAPチャネルを介して行われることを特徴とする請求項13に記載のコンピュータ読み取り可能な記憶媒体。
- 前記少なくとも1つのL2CAPチャネルを介した前記接続固有の装置制御コマンドおよびデータの送信では、第1のL2CAPチャネルを介して前記接続固有の装置制御コマンドを送信し、第2のL2CAPチャネルを介して前記接続固有のデータを送信することを特徴とする請求項15に記載のコンピュータ読み取り可能な記憶媒体。
- 前記カプセル化された装置制御コマンドおよびデータを前記接続固有の装置制御コマンドおよびデータに変換するステップでは、サービスディスカバリプロトコルレコードを参照することを特徴とする請求項13に記載のコンピュータ読み取り可能な記憶媒体。
- 前記接続固有の装置制御コマンドおよびデータを変換するステップでは、前記ワイヤレス装置が使用するワイヤレスプロトコルの最大送信単位よりも小さいパケットにセグメント化することを特徴とする請求項13に記載のコンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/556,565 | 2000-04-24 | ||
US09/556,565 US6922548B1 (en) | 2000-04-24 | 2000-04-24 | Providing remote network driver interface specification services over a wireless radio-frequency medium |
PCT/US2001/009064 WO2001082061A2 (en) | 2000-04-24 | 2001-03-22 | Device driver generation |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2003532315A JP2003532315A (ja) | 2003-10-28 |
JP2003532315A5 JP2003532315A5 (ja) | 2008-02-21 |
JP4210059B2 true JP4210059B2 (ja) | 2009-01-14 |
Family
ID=24221875
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001579086A Expired - Fee Related JP4210059B2 (ja) | 2000-04-24 | 2001-03-22 | デバイスドライバの生成 |
Country Status (13)
Country | Link |
---|---|
US (1) | US6922548B1 (ja) |
EP (1) | EP1277322B1 (ja) |
JP (1) | JP4210059B2 (ja) |
CN (1) | CN1205795C (ja) |
AT (1) | ATE256946T1 (ja) |
AU (1) | AU2001250917A1 (ja) |
BR (1) | BRPI0110273B1 (ja) |
CA (1) | CA2407555C (ja) |
DE (1) | DE60101566T2 (ja) |
HK (1) | HK1053026B (ja) |
MX (1) | MXPA02010500A (ja) |
RU (1) | RU2258251C2 (ja) |
WO (1) | WO2001082061A2 (ja) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010033554A1 (en) * | 2000-02-18 | 2001-10-25 | Arun Ayyagari | Proxy-bridge connecting remote users to a limited connectivity network |
US7324226B2 (en) * | 2000-05-31 | 2008-01-29 | National Semiconductor Corporation | Method, and arrangement in a communications network |
DE60213010T2 (de) * | 2002-05-15 | 2007-07-05 | Nokia Corp. | Verfahren und vorrichtung zum herstellen eines l2cap-kanals, der fest für die datenflussübertragung in bluetooth-netzwerken zugewiesen ist |
US20040203296A1 (en) * | 2002-11-15 | 2004-10-14 | Globespan Virata Inc. | Method and system for attaching a USB network adapter supporting both RNDIS and non-RNDIS capable operating systems |
US20050060385A1 (en) * | 2003-09-15 | 2005-03-17 | Gupta Vivek G. | Method and apparatus for sharing a GPRS module with two computing devices |
US8856401B2 (en) * | 2003-11-25 | 2014-10-07 | Lsi Corporation | Universal controller for peripheral devices in a computing system |
US20060039348A1 (en) * | 2004-08-20 | 2006-02-23 | Nokia Corporation | System, device and method for data transfer |
CN101180856B (zh) * | 2005-04-25 | 2013-03-06 | Lg电子株式会社 | 询问射频标识标签数据的方法 |
US7333464B2 (en) * | 2006-02-01 | 2008-02-19 | Microsoft Corporation | Automated service discovery and wireless network set-up |
US7944890B2 (en) * | 2006-05-23 | 2011-05-17 | Interdigital Technology Corporation | Using windows specified object identifiers (OIDs) for an antenna steering algorithm |
US7734942B2 (en) * | 2006-12-28 | 2010-06-08 | Intel Corporation | Enabling idle states for a component associated with an interconnect |
AU2008227222B2 (en) | 2007-03-22 | 2011-06-02 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for configuring the link maximum transmission unit (MTU) in a user equipment (UE). |
US8112769B2 (en) * | 2007-05-04 | 2012-02-07 | Rockwell Automation Technologies, Inc. | System and method for implementing and/or operating network interface devices to achieve network-based communications |
US8478915B2 (en) | 2008-02-14 | 2013-07-02 | International Business Machines Corporation | Determining extended capability of a channel path |
US8117347B2 (en) | 2008-02-14 | 2012-02-14 | International Business Machines Corporation | Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system |
US7890668B2 (en) | 2008-02-14 | 2011-02-15 | International Business Machines Corporation | Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous |
US7941570B2 (en) | 2008-02-14 | 2011-05-10 | International Business Machines Corporation | Bi-directional data transfer within a single I/O operation |
US9052837B2 (en) | 2008-02-14 | 2015-06-09 | International Business Machines Corporation | Processing communication data in a ships passing condition |
US20090254924A1 (en) * | 2008-04-04 | 2009-10-08 | Microsoft Corporation | Operating system interfaces for virtual wifi and softap capable drivers |
US8442509B2 (en) * | 2009-01-30 | 2013-05-14 | Cassis International Pte. Ltd. | System and method for managing a wireless device from removable media with processing capability |
CN101867565A (zh) * | 2010-04-13 | 2010-10-20 | 中兴通讯股份有限公司 | 一种移动宽带设备的通用驱动方法及驱动器 |
CN104038553B (zh) * | 2010-09-21 | 2018-10-30 | 华为终端有限公司 | 一种控制方法、装置和系统 |
CN102236571B (zh) * | 2011-07-27 | 2013-10-09 | 华为终端有限公司 | 一种数据卡升级方法、个人计算机及数据卡 |
CN102360307A (zh) * | 2011-08-17 | 2012-02-22 | 中兴通讯股份有限公司 | 设备驱动消息处理方法及装置 |
US8990439B2 (en) | 2013-05-29 | 2015-03-24 | International Business Machines Corporation | Transport mode data transfer between a channel subsystem and input/output devices |
US9756455B2 (en) * | 2015-05-28 | 2017-09-05 | Sony Corporation | Terminal and method for audio data transmission |
CN106533800B (zh) * | 2016-12-16 | 2019-12-06 | 深圳市有方科技股份有限公司 | 一种实现终端网络适配的方法及rndis设备 |
CN112090061B (zh) * | 2020-09-16 | 2021-04-27 | 深圳未来游戏设备科技有限公司 | 针对蓝牙通讯协议上的游戏外设模式调节方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5949776A (en) * | 1990-01-18 | 1999-09-07 | Norand Corporation | Hierarchical communication system using premises, peripheral and vehicular local area networking |
US5566331A (en) * | 1994-01-24 | 1996-10-15 | University Corporation For Atmospheric Research | Mass storage system for file-systems |
US5497412A (en) * | 1994-04-07 | 1996-03-05 | Gte Telecommunication Services Incorporated | Enhanced call delivery system for roaming cellular subscribers |
US5765155A (en) * | 1994-05-11 | 1998-06-09 | Nec Corporation | Master data managing method |
US5918158A (en) * | 1996-07-24 | 1999-06-29 | Lucent Technologies Inc. | Two-way wireless messaging system |
US5875478A (en) * | 1996-12-03 | 1999-02-23 | Emc Corporation | Computer backup using a file system, network, disk, tape and remote archiving repository media system |
US5987060A (en) | 1997-06-13 | 1999-11-16 | Innova Corporation | System and method of radio communications with an up-down digital signal link |
JP3045985B2 (ja) * | 1997-08-07 | 2000-05-29 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ |
FI105978B (fi) | 1998-05-12 | 2000-10-31 | Nokia Mobile Phones Ltd | Menetelmä langattoman päätelaitteen kytkemiseksi tiedonsiirtoverkkoon ja langaton päätelaite |
EP0975123A1 (en) | 1998-07-15 | 2000-01-26 | Telefonaktiebolaget L M Ericsson (Publ) | Communication device and method for reliable and low-delay packet transmission |
US6480711B1 (en) * | 1998-09-15 | 2002-11-12 | Nms Communications Corporation | Method and system for wireless data communication over the internet |
US6600726B1 (en) * | 1999-09-29 | 2003-07-29 | Mobilian Corporation | Multiple wireless communication protocol methods and apparatuses |
US6480505B1 (en) * | 1999-12-06 | 2002-11-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Batched fair exhaustive polling scheduler |
-
2000
- 2000-04-24 US US09/556,565 patent/US6922548B1/en not_active Expired - Lifetime
-
2001
- 2001-03-22 CN CNB018103030A patent/CN1205795C/zh not_active Expired - Fee Related
- 2001-03-22 AT AT01924246T patent/ATE256946T1/de not_active IP Right Cessation
- 2001-03-22 JP JP2001579086A patent/JP4210059B2/ja not_active Expired - Fee Related
- 2001-03-22 WO PCT/US2001/009064 patent/WO2001082061A2/en active IP Right Grant
- 2001-03-22 CA CA2407555A patent/CA2407555C/en not_active Expired - Fee Related
- 2001-03-22 MX MXPA02010500A patent/MXPA02010500A/es active IP Right Grant
- 2001-03-22 DE DE60101566T patent/DE60101566T2/de not_active Expired - Lifetime
- 2001-03-22 AU AU2001250917A patent/AU2001250917A1/en not_active Abandoned
- 2001-03-22 RU RU2002131450/09A patent/RU2258251C2/ru not_active IP Right Cessation
- 2001-03-22 EP EP01924246A patent/EP1277322B1/en not_active Expired - Lifetime
- 2001-03-22 BR BRPI0110273-7A patent/BRPI0110273B1/pt not_active IP Right Cessation
-
2003
- 2003-07-22 HK HK03105262.7A patent/HK1053026B/zh not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CA2407555A1 (en) | 2001-11-01 |
WO2001082061A3 (en) | 2002-07-18 |
EP1277322B1 (en) | 2003-12-17 |
WO2001082061A2 (en) | 2001-11-01 |
RU2258251C2 (ru) | 2005-08-10 |
AU2001250917A1 (en) | 2001-11-07 |
CA2407555C (en) | 2010-10-26 |
BRPI0110273B1 (pt) | 2015-07-28 |
DE60101566D1 (de) | 2004-01-29 |
CN1446425A (zh) | 2003-10-01 |
ATE256946T1 (de) | 2004-01-15 |
HK1053026B (zh) | 2004-10-21 |
RU2002131450A (ru) | 2004-03-10 |
US6922548B1 (en) | 2005-07-26 |
EP1277322A2 (en) | 2003-01-22 |
CN1205795C (zh) | 2005-06-08 |
JP2003532315A (ja) | 2003-10-28 |
HK1053026A1 (en) | 2003-10-03 |
MXPA02010500A (es) | 2003-09-22 |
BR0110273A (pt) | 2003-07-08 |
DE60101566T2 (de) | 2004-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4210059B2 (ja) | デバイスドライバの生成 | |
US7733885B2 (en) | Extending access to a device in a limited connectivity network to devices residing outside the limited connectivity network | |
US8176187B2 (en) | Method, system, and program for enabling communication between nodes | |
US8650321B2 (en) | Network architecture | |
US6977939B2 (en) | Method and apparatus for emulating ethernet functionality over a serial bus | |
JP5374503B2 (ja) | メディアインターフェースの双方向通信を提供するためのオペレーション | |
US7305426B2 (en) | Point-to-point data communication implemented with multipoint network data communication components | |
US20030091037A1 (en) | Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network | |
EP1730645A1 (en) | Operating a remote usb host controller | |
MXPA02010535A (es) | Un metodo y aparato para la comunicacion entre dispositivos esclavos a traves de una interconexion inherentemente maestro esclavo. | |
US7389334B2 (en) | Exposing bluetooth compliant wireless device connection as modems or sockets | |
JP5698366B2 (ja) | 制御方法、装置、及びシステム | |
WO1999039488A1 (en) | Communications system for mobile data transfer | |
US6779185B1 (en) | Bluetooth miniport driver model | |
Ko et al. | Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA) | |
US20050125523A1 (en) | Methodology for remote HBA management using message encapsulation | |
US8275901B1 (en) | Method and system to program programmable input output (PIO) pins via non-storage of a control message in a client | |
Ko et al. | Internet Small Computer System Interface (iSCSI) Extensions for the Remote Direct Memory Access (RDMA) Specification | |
Ko et al. | RFC 5046: Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA) | |
Hufferd et al. | Network Working Group M. Ko Request for Comments: 5046 IBM Corporation Category: Standards Track M. Chadalapaka Hewlett-Packard Company | |
Elzur et al. | INTERNET DRAFT Mike Ko draft-ietf-ips-iser-05. txt IBM Corporation Mallikarjun Chadalapaka Hewlett-Packard Company | |
Ko et al. | RFC 7145: Internet Small Computer System Interface (iSCSI) Extensions for the Remote Direct Memory Access (RDMA) Specification | |
Bigioi et al. | PTP/IP-transport layer for picture transfer protocol | |
Elzur et al. | INTERNET DRAFT Mike Ko draft-ietf-ips-iser-01. txt John Hufferd IBM Corporation Mallikarjun Chadalapaka Hewlett-Packard Company |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071226 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20071226 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20071226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20071226 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20080208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080328 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080630 |
|
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: 20080926 |
|
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: 20081024 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4210059 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111031 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121031 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131031 Year of fee payment: 5 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |