[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2003532315A - Generating device drivers - Google Patents

Generating device drivers

Info

Publication number
JP2003532315A
JP2003532315A JP2001579086A JP2001579086A JP2003532315A JP 2003532315 A JP2003532315 A JP 2003532315A JP 2001579086 A JP2001579086 A JP 2001579086A JP 2001579086 A JP2001579086 A JP 2001579086A JP 2003532315 A JP2003532315 A JP 2003532315A
Authority
JP
Japan
Prior art keywords
connection
data
device control
control commands
specific
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2001579086A
Other languages
Japanese (ja)
Other versions
JP2003532315A5 (en
JP4210059B2 (en
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 JP2003532315A publication Critical patent/JP2003532315A/en
Publication of JP2003532315A5 publication Critical patent/JP2003532315A5/ja
Application granted granted Critical
Publication of JP4210059B2 publication Critical patent/JP4210059B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/169Special adaptations of TCP, UDP or IP for interworking of IP based networks with other networks 
    • 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
    • H04L61/4557Directories for hybrid networks, e.g. including telephone numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • H04W84/22Self-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)
  • Noodles (AREA)
  • Saccharide Compounds (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 本発明は、ブルートゥース仕様に準拠したRFリンクを介して、バス独立型の、本来はバス付加型ネットワーキング装置のために設計されたネットワークメッセージプロトコルを提供するための方法およびコンピュータプログラムプロダクトを提供する。このようなネットワークメッセージプロトコルの1つに、NDIS装置管理プロトコルがある。このような方法で、ハードワイヤード(またはバス付加型)ネットワークで動作するように設計された多くのコンピュータソフトウェアプロダクトを、ブルートゥースワイヤレスネットワーク上で使用することもできる。   (57) [Summary] The present invention provides a method and a computer program product for providing a network message protocol designed for a bus-independent, originally bus-attached networking device, over an RF link compliant with the Bluetooth specification. One such network message protocol is the NDIS device management protocol. In this way, many computer software products designed to operate on hardwired (or bus-attached) networks can also be used over Bluetooth wireless networks.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】 (関連出願の相互参照) 本出願は、ともに参照により本明細書に完全に組み込む、2000年4月24
日に出願した「Bluetooth Compliant Wireless
Device Connections As Modems Or Sock
ets(モデムまたはソケットとしての、ブルートゥース準拠ワイヤレス装置接
続)」という名称の米国出願第09/556,567号(整理番号204843
)、および2000年4月24日に出願した「Bluetooth MiniP
ort Driver Model(ブルートゥースミニポートドライバモデル
)」という名称の米国出願第556,568号(整理番号204858)に関連
する。
CROSS REFERENCE TO RELATED APPLICATIONS This application is incorporated by reference herein in its entirety, April 24, 2000.
Filed on the date "Bluetooth Compliant Wireless
Device Connections As Modems Or Sock
U.S. application Ser. No. 09 / 556,567 entitled "ets (Bluetooth compliant wireless device connection as modem or socket)"
), And “Bluetooth MiniP filed on April 24, 2000.
ort driver model (bluetooth miniport driver model) "in relation to US application no. 556,568 (docket number 204858).

【0002】 (技術分野) 本発明は、一般に、ワイヤレスインターフェース技術に関し、より詳細には、
コンピュータソフトウェアアプリケーションと、ブルートゥース仕様に従って動
作するワイヤレス装置の間のインターフェースに関する。
TECHNICAL FIELD The present invention relates generally to wireless interface technology, and more specifically, to
It relates to an interface between a computer software application and a wireless device operating according to the Bluetooth specification.

【0003】 (発明の背景) コンピュータシステム上でソフトウェアコンポーネントとハードウェアコンポ
ーネントの間の適合性を最大限に高めるために、コンピュータのオペレーティン
グシステムは、特定のインターフェースを定義している。このインターフェース
に対して、ソフトウェアコンポーネントのプログラマがアクセスし、これを使用
することができ、ハードウェアコンポーネントの設計者がこのインターフェース
を提供およびサポートできる。したがって、この定義されたインターフェースを
使用することによって、ソフトウェアコンポーネントは、そのインターフェース
をサポートするすべてのハードウェアコンポーネントと確実に適合できるように
なる。同様に、ハードウェアコンポーネントが特定のインターフェースを提供す
ることにより、このハードウェアコンポーネントがインターフェースを介して提
供する機能をソフトウェアコンポーネントが確実に検出しアクセスできるように
なる。
BACKGROUND OF THE INVENTION To maximize the compatibility between software and hardware components on a computer system, the computer's operating system defines specific interfaces. This interface can be accessed and used by the programmer of the software component, and the designer of the hardware component can provide and support this interface. Thus, the use of this defined interface ensures that the software component is compatible with all hardware components that support that interface. Similarly, providing a particular interface by a hardware component ensures that the software component can detect and access the functionality that the hardware component provides through the interface.

【0004】 一般に、コンピュータおよびその他の電子装置は、物理的なケーブルまたはワ
イヤを介して相互接続されている。これらの通信経路によって、このような装置
間のデータまたは制御情報の交換が可能になる。しかし、装置を相互接続するた
めのケーブルおよびワイヤを除去することによりある種の利点が得られるとの認
識が強まっている。このような利点には、物理媒体を物理的に追加、除去、また
は移動する必要性がなくなることによって、構成および再構成が容易になるとい
うことが含まれる。さらに、従来は装置の相互接続媒体のために使用されていた
スペースを、他用途に供することができる。さらに、ワイヤレス接続の使用によ
り、装置の可動性が向上する。
Computers and other electronic devices are typically interconnected through physical cables or wires. These communication paths allow the exchange of data or control information between such devices. However, there is increasing recognition that the elimination of cables and wires for interconnecting devices provides certain advantages. Such advantages include ease of configuration and reconfiguration by eliminating the need to physically add, remove, or move physical media. In addition, the space previously used for the interconnect medium of the device can be used for other purposes. In addition, the use of wireless connections improves the mobility of the device.

【0005】 装置間のワイヤレス接続を提供するある方法は、諸装置をリンクさせるために
電磁スペクトルの赤外領域中の光波を使用する。IrDA(Infrared
Data Association(赤外線データ協会))プロトコルは、この
ような接続メカニズムの1つを定義している。残念なことに、このようなメカニ
ズムは、通常、光軸(line of sight)を合わせた方法で動作しな
ければならない。すなわち、送信機と受信機の間に不透明な障害物があると、正
しい動作が妨げられる。さらに、IR送信機は、一般に、通信装置に組み込まれ
た場合には全方向性ではなく、したがって、正しく動作させるためには、30度
など、ある公称偏差の範囲内で、ほぼ受信機の方向に向けなければならない。最
後に、IR送信機は、一般に、きわめて低電力の装置であり、したがって、IR
リンクの範囲は、通常、約1メートルに限定される。
One method of providing wireless connectivity between devices uses light waves in the infrared region of the electromagnetic spectrum to link devices. IrDA (Infrared
The Data Association (Infrared Data Association) protocol defines one such connection mechanism. Unfortunately, such mechanisms typically have to operate in a line of sight aligned manner. That is, an opaque obstruction between the transmitter and receiver prevents proper operation. Furthermore, IR transmitters are generally not omnidirectional when incorporated into a communication device, and therefore, to operate properly, within a certain nominal deviation, such as 30 degrees, the direction of the receiver is approximately the same. Have to turn to. Finally, IR transmitters are generally very low power devices, and therefore IR
The range of links is usually limited to about 1 meter.

【0006】 無線周波リンクは、赤外線リンクに固有の問題の多くを解決する。しかし、適
切なインターフェースを提供する接続メカニズムを介して様々なアプリケーショ
ンが無線リンクに容易にアクセスすることができるような無線周波接続スキーム
が必要とされている。無線周波リンクを介したワイヤレス装置間の通信を定義す
る1つのプロトコルが、ブルートゥース仕様である。ブルートゥース装置は、動
作するのに、互いが有する視野線を必要とはせず、その範囲は、IRリンクより
も著しく広くできる。しかし、ブルートゥース仕様の1つの難点は、ブルートゥ
ース準拠装置との通信用に書かれたコンピュータソフトウェアプログラムがきわ
めて少ないことである。ブルートゥース仕様のもう1つの難点は、ブルートゥー
ス仕様に準拠したRFリンク上で動作するような設計の、高レベルのネットワー
キングプロトコルが非常に少ないことである。
Radio frequency links solve many of the problems inherent in infrared links. However, there is a need for a radio frequency connection scheme that allows various applications to easily access the wireless link via a connection mechanism that provides a suitable interface. One protocol that defines communication between wireless devices over radio frequency links is the Bluetooth specification. Bluetooth devices do not require the lines of sight they have to operate, and their range can be significantly wider than IR links. However, one drawback of the Bluetooth specification is that there are very few computer software programs written for communicating with Bluetooth compliant devices. Another difficulty with the Bluetooth specification is that there are very few high level networking protocols designed to operate over RF links that comply with the Bluetooth specification.

【0007】 (発明の概要) したがって、本発明は、ブルートゥース仕様に準拠したRFリンクを介して、
バス独立型で、本来はバス付加型ネットワーキング装置のために設計されたネッ
トワークメッセージプロトコルを提供するための方法およびコンピュータプログ
ラムプロダクトを提供する。このような方法で、ハードワイヤード(またはバス
付加型)ネットワークで動作するように設計された多くのコンピュータソフトウ
ェアプロダクトを、ブルートゥースワイヤレスネットワーク上で使用することも
できる。
SUMMARY OF THE INVENTION Accordingly, the present invention provides, via an RF link compliant with the Bluetooth specification,
A method and computer program product for providing a network message protocol, originally designed for bus-independent, bus-added networking devices. In this way, many computer software products designed to operate on hardwired (or bus-attached) networks can also be used on Bluetooth wireless networks.

【0008】 本発明のさらなる特徴および利点は、添付の図面を参照しながら記載する、以
下の例示的実施形態の詳細な説明から明らかであろう。
Further features and advantages of the invention will be apparent from the following detailed description of exemplary embodiments, which is described with reference to the accompanying drawings.

【0009】 添付の特許請求の範囲に、本発明の特徴を詳細に記載してあるが、添付の図面
とともに以下の詳細な説明を読めば、本発明を、その目的および利点とともに最
もよく理解することができるであろう。
While the features of the invention are set forth in detail in the appended claims, the invention, together with its objects and advantages, will be best understood from a reading of the following detailed description in conjunction with the accompanying drawings. Could be

【0010】 (発明の詳細な説明) 図面を参照すると、同一参照番号が同一エレメントを示しており、本発明を、
適切なコンピューティング環境で実施したものとして図示してある。必要とはし
ないが、本発明を、プログラムモジュールなど、パーソナルコンピュータによっ
て実行されるコンピュータ実行可能命令という一般的状況において説明する。一
般に、プログラムモジュールには、特定のタスクを実行し、または特定の抽象タ
イプのデータを実装する、ルーチン、プログラム、オブジェクト、コンポーネン
ト、データ構造などが含まれる。さらに、当業者は、本発明が、ハンドヘルド装
置、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム
可能な消費者電子機器、ネットワークPC、ミニコンピュータ、メインフレーム
コンピュータなどを含めて、その他のコンピュータシステム構成で実施できるこ
とを理解されよう。本発明はまた、タスクが、通信ネットワークを介してリンク
されているリモート処理装置によって実行される、分散コンピューティング環境
においても実施することができる。分散コンピューティング環境では、プログラ
ムモジュールをローカルおよびリモート、両方のメモリ記憶装置に配置すること
ができる。
DETAILED DESCRIPTION OF THE INVENTION Referring to the drawings, like reference numbers indicate like elements, and
It is shown as implemented in a suitable computing environment. Although not required, the invention will be described in the general context of computer-executable instructions, such as program modules, being executed by a personal computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract types of data. Moreover, those skilled in the art will appreciate that the present invention may be implemented in other computer system configurations, including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, etc. It will be appreciated that it can be done. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

【0011】 図1を参照すると、本発明を実施するための例示的システムは、処理装置21
、システムメモリ22、および、システムメモリを含めて、様々なシステムコン
ポーネントを処理装置21に結合するシステムバス23を含む、従来のパーソナ
ルコンピュータ20という形の汎用コンピューティング装置を含む。システムバ
ス23は、様々なバスアーキテクチャのいずれかを使用した、メモリバスまたは
メモリコントローラ、周辺バス、ローカルバスを含めて、何種類かのバス構造の
うちのいずれかでよい。システムメモリは、読出し専用メモリ(ROM)24お
よびランダムアクセスメモリ(RAM)25を含む。起動中などに、パーソナル
コンピュータ20内のエレメント間の情報の転送を援助する基本ルーチンを含む
、基本入出力システム(BIOS)26は、ROM24中に記憶されている。パ
ーソナルコンピュータ20は、ハードディスク60からの読出しおよびそれへの
書込みを行うためのハードディスクドライブ27、リムーバブル磁気ディスク2
9からの読出しおよびそれへの書込みを行うための磁気ディスクドライブ28、
および、CD ROMまたはその他の光媒体など、リムーバル光ディスク31か
らの読出しおよびそれへの書込みを行う光ディスクドライブ30をさらに含む。
Referring to FIG. 1, an exemplary system for implementing the present invention is a processing unit 21.
, A general-purpose computing device in the form of a conventional personal computer 20, including a system memory 22, and a system bus 23 that couples various system components, including the system memory, to the processing device 21. The system bus 23 may be any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, a local bus, using any of a variety of bus architectures. The system memory includes read only memory (ROM) 24 and random access memory (RAM) 25. A basic input / output system (BIOS) 26, containing the basic routines that help to transfer information between elements within the personal computer 20, such as during start-up, is stored in ROM 24. The personal computer 20 includes a hard disk drive 27 for reading from and writing to the hard disk 60, a removable magnetic disk 2
Magnetic disk drive 28 for reading from and writing to
And further includes an optical disc drive 30 for reading from and writing to a removable optical disc 31, such as a CD ROM or other optical medium.

【0012】 ハードディスクドライブ27、磁気ディスクドライブ28、および光ディスク
ドライブ30は、それぞれ、ハードディスクドライブインターフェース32、磁
気ディスクドライブインターフェース33、および光ディスクドライブインター
フェース34によって、システムバス23に接続されている。ドライブおよびそ
れらの関連するコンピュータ可読媒体は、パーソナルコンピュータ20に、コン
ピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータ
の不揮発性記憶を提供する。本明細書で説明している例示的環境では、ハードデ
ィスク60、リムーバブル磁気ディスク29、およびリムーバブル光ディスク3
1を使用しているが、当業者は、磁気カセット、フラッシュメモリカード、デジ
タルビデオディスク、ベルヌーイ(Bernoulli)カートリッジ、ランダ
ムアクセスメモリ、読出し専用メモリなど、コンピュータがアクセス可能なデー
タを記憶することができる他のタイプのコンピュータ可読媒体も、例示の動作環
境で使用できることを理解されよう。
The hard disk drive 27, magnetic disk drive 28, and optical disk drive 30 are connected to the system bus 23 by a hard disk drive interface 32, a magnetic disk drive interface 33, and an optical disk drive interface 34, respectively. The drives and their associated computer-readable media provide personal computer 20 with non-volatile storage of computer-readable instructions, data structures, program modules, and other data. In the exemplary environment described herein, hard disk 60, removable magnetic disk 29, and removable optical disk 3
1 is used, those skilled in the art can store computer-accessible data such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memory, read only memory, etc. It will be appreciated that other types of computer-readable media may be used in the exemplary operating environment.

【0013】 ハードディスク60、磁気ディスク29、光ディスク31、ROM24または
RAM25には、オペレーティングシステム35、1つまたは複数のアプリケー
ションプログラム36、その他のプログラムモジュール37、およびプログラム
データ38を含めて、いくつかのプログラムモジュールを記憶することができる
。ユーザは、キーボード40やポインティング装置42などの入力装置を介して
、パーソナルコンピュータ20にコマンドおよび情報を入力することができる。
その他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲー
ムパッド、サテライトディッシュ、スキャナなどを含めることができる。これら
およびその他の入力装置は、システムバスに結合されたシリアルポートインター
フェース46を介して処理装置21に接続されていることが多いが、パラレルポ
ート、ゲームポート、ユニバーサルシリアルバス(USB)など、その他のイン
ターフェースで接続することもできる。モニタ47または他のタイプのディスプ
レイ装置も、ビデオアダプタ48などのインターフェースを介してシステムバス
23に接続される。モニタに加えて、パーソナルコンピュータは、一般に、スピ
ーカやプリンタなど、図示してはいないが、その他の周辺出力装置も含む。
The hard disk 60, the magnetic disk 29, the optical disk 31, the ROM 24, or the RAM 25 includes a number of programs including an operating system 35, one or more application programs 36, other program modules 37, and program data 38. Modules can be stored. The user can input commands and information to the personal computer 20 via an input device such as the keyboard 40 or the pointing device 42.
Other input devices (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing device 21 via a serial port interface 46 that is coupled to the system bus, but other parallel ports, game ports, universal serial buses (USB), etc. You can also connect with an interface. A monitor 47 or other type of display device is also connected to the system bus 23 via an interface such as a video adapter 48. In addition to the monitor, personal computers typically include other peripheral output devices, not shown, such as speakers and printers, although not shown.

【0014】 パーソナルコンピュータ20は、リモートコンピュータ49やRF装置64な
ど、1つまたは複数のリモートコンピュータまたは装置への論理接続を使って、
ネットワーク化された環境で動作することができる。リモートコンピュータ49
は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装
置、または他の一般のネットワークノードでよく、一般に、パーソナルコンピュ
ータ20に関連して上記に説明したエレメントの多くまたはすべてを含む。ただ
し、図1では、記憶装置50しか図示していない。無線周波(RF)装置64は
、セルラフォン、デジタルカメラ、別のパーソナルコンピュータ、またはRFス
ペクトルを介して通信を行う機能を含むその他の装置でよい。図1に示す論理接
続は、ローカルエリアネットワーク(LAN)51および広域ネットワーク(W
AN)52、およびRF接続63を含む。このようなネットワーキング環境は、
オフィス、企業全体にわたるコンピュータネットワーク、イントラネットおよび
インターネットでは普通である。
Personal computer 20 uses logical connections to one or more remote computers or devices, such as remote computer 49 or RF device 64,
It can operate in a networked environment. Remote computer 49
May be another personal computer, server, router, network PC, peer device, or other common network node and generally includes many or all of the elements described above in connection with personal computer 20. However, in FIG. 1, only the storage device 50 is shown. The radio frequency (RF) device 64 may be a cellular phone, a digital camera, another personal computer, or other device that includes the ability to communicate over the RF spectrum. The logical connection shown in FIG. 1 includes a local area network (LAN) 51 and a wide area network (W).
AN) 52, and RF connection 63. Such a networking environment
It is common in offices, enterprise-wide computer networks, intranets and the Internet.

【0015】 パーソナルコンピュータ20は、LANネットワーキング環境で使用される場
合は、ネットワークインターフェースまたはアダプタ53を介して、ローカルネ
ットワーク51に接続される。パーソナルコンピュータ20は、WANネットワ
ーキング環境で使用される場合は、一般に、モデム54、またはWAN52を介
して通信を確立するためのその他の手段を含む。モデム54は、内部装置でも外
部装置でもよく、シリアルポートインターフェース46を介してシステムバス2
3に接続される。パーソナルコンピュータ20は、RF接続63と共に使用され
る場合は、RFインターフェース62を含む。ネットワーク化された環境では、
パーソナルコンピュータ20またはその部分に関連して示しているプログラムモ
ジュールを、リモート記憶装置に記憶することができる。図示しているネットワ
ーク接続は例示的なものであり、コンピュータ間の通信リンクを確立する他の手
段も使用できることを理解されよう。
When used in a LAN networking environment, the personal computer 20 is connected to the local network 51 via a network interface or adapter 53. Personal computer 20, when used in a WAN networking environment, typically includes a modem 54, or other means for establishing communications over WAN 52. The modem 54 may be an internal device or an external device, and is connected to the system bus 2 via the serial port interface 46.
3 is connected. The personal computer 20 includes an RF interface 62 when used with the RF connection 63. In a networked environment,
The program modules shown associated with personal computer 20 or portions thereof may be stored in a remote storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.

【0016】 以下の記載では、別途記載がない限り、本発明を、1つまたは複数のコンピュ
ータによって実行される、動作およびオペレーションの記号表示を参照して説明
する。したがって、時々、コンピュータによって実行される、と述べるこのよう
な動作およびオペレーションには、コンピュータの処理装置による、構造化した
形のデータを表す電気信号の操作も含まれることを理解されたい。この操作は、
データを変形し、またはコンピュータのメモリシステム中のロケーションに保持
し、それによって、コンピュータのオペレーションを、当業者によく理解されて
いる方法で、再構成あるいは変更する。データが保持されるデータ構造とは、デ
ータのフォーマットによって定義される特定のプロパティを有するメモリの物理
的ロケーションである。しかし、本発明を前述の状況で説明しているが、以下に
記載の様々な動作およびオペレーションは、ハードウェアでも実施できることが
当業者にはわかるように、それは限定することを意図したものではない。
In the following description, unless otherwise stated, the present invention is described with reference to acts and symbolic representations of operations that are performed by one or more computers. Thus, it should be understood that such operations and operations, which are sometimes described as being performed by a computer, also include the manipulation by a processor of a computer of electrical signals that represent data in a structured form. This operation is
The data is transformed or held in a location in the computer's memory system, thereby reconfiguring or changing the operation of the computer in a manner well understood by those skilled in the art. A data structure in which data is held is a physical location in memory that has specific properties defined by the format of the data. However, while the present invention has been described in the foregoing context, it will be appreciated by those skilled in the art that the various acts and operations described below may be implemented in hardware and are not intended to be limiting. .

【0017】 本発明に従って、図2を参照すると、オープンシステム間相互接続(OSI)
の7層モデルを示してある。このモデルは、コンピュータネットワーキングの業
界標準抽象化である。応用層100は、直接、エンドユーザにサービスし、ユー
ザが相互作用し合うソフトウェアアプリケーションをサポートする。プレゼンテ
ーション層102は、あるコンピュータ上の応用層100から別のコンピュータ
上の応用層に送られてきたデータを解釈するメカニズムを提供する。セション層
104は、転送されてきたデータの構成を記述する。トランスポート層106は
、最終的なエラー訂正層として動作し、データが正確に正しい順序で、損失や重
複なく確実に引き渡されるようにする。ネットワーク層108は、ネットワーク
上でのデータのアドレス指定および経路指定を定義する。それは、ローカルサブ
ネットワークのオペレーションを制御し、また、データがどの物理的経路をとる
べきか、所与のネットワーク条件、サービスの優先順位、およびその他の要因を
決定する。データリンク層110は、ネットワークを介したデータブロックまた
はパケットの送信を制御し、より基本的なエラー訂正を行う。データリンク層1
10は、論理リンク制御(LLC)副層および媒体アクセス制御(MAC)副層
の2つの副層(sublayer)に分けられる。LLC副層は、論理リンクを
保持し、フレームフローを制御し、フレームの順番を付け、フレームに肯定応答
し、肯定応答しなかったフレームを再送信することによって、エラーのないデー
タフレーム送信を保証する。MAC副層は、ネットワークへのアクセスを管理し
、フレームエラーをチェックし、受け取ったフレームの認識を行う。LLC副層
を含むプロトコルは、最小限のトランスポート層106だけが必要である。最後
に、物理層112は、ネットワーク接続114に送られる信号を搬送する。一般
に、物理層112は、コンピュータ20をネットワーク接続114に接続するハ
ードウェアで実施される。
In accordance with the present invention, referring to FIG. 2, Open Systems Interconnection (OSI)
7-layer model is shown. This model is an industry standard abstraction for computer networking. The application layer 100 directly services the end user and supports the software applications with which the user interacts. The presentation layer 102 provides a mechanism for interpreting data sent from the application layer 100 on one computer to the application layer on another computer. The session layer 104 describes the structure of the transferred data. The transport layer 106 acts as the final error correction layer to ensure that the data is delivered in the correct order and without loss or duplication. The network layer 108 defines the addressing and routing of data on the network. It controls the operation of the local sub-network and also determines which physical path the data should take, given network conditions, service priorities, and other factors. The data link layer 110 controls the transmission of data blocks or packets over the network and provides more basic error correction. Data link layer 1
10 is divided into two sublayers, a logical link control (LLC) sublayer and a medium access control (MAC) sublayer. The LLC sublayer ensures error-free data frame transmission by maintaining logical links, controlling frame flow, ordering frames, acknowledging frames, and retransmitting unacknowledged frames. To do. The MAC sublayer manages access to the network, checks for frame errors and recognizes received frames. Protocols including LLC sublayers require only a minimal transport layer 106. Finally, the physical layer 112 carries signals sent to the network connection 114. Generally, physical layer 112 is implemented in the hardware that connects computer 20 to network connection 114.

【0018】 ネットワーク装置インターフェース仕様(NDIS)116は、ネットワーク
層108とデータリンク層110の間に常駐することができる。NDIS116
は、ソフトウェアコンポーネントとハードウェアコンポーネントの間のインター
フェースのライブラリを提供することができる。NDIS116は、ネットワー
クインターフェースカード(NIC)ドライバが実行する必要があるすべての外
部機能にルーチンを提供することによって、NICドライバ開発のための完全に
抽象化された環境を定義することができる。したがって、NDIS116は、N
ICドライバと上部のプロトコルドライバの間、およびNICドライバと下部の
NICハードウェア自体の間で通信を行うためのインターフェースを提供するこ
とができる。
The Network Equipment Interface Specification (NDIS) 116 may reside between the network layer 108 and the data link layer 110. NDIS116
May provide a library of interfaces between software and hardware components. The NDIS 116 can define a completely abstracted environment for NIC driver development by providing routines for all external functions that a network interface card (NIC) driver needs to perform. Therefore, NDIS 116
An interface may be provided for communicating between the IC driver and the upper protocol driver and between the NIC driver and the lower NIC hardware itself.

【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インターフェースを使って、トランスポート層ソフト
ウェアドライバと通信し、受け取ったデータパケットまたはその他の情報を上に
渡すこともできる。
In general, application layer 100, presentation layer 102, session layer 104, transport layer 106, and network layer 108 are implemented with software components running on a computer. Data link layer 110 and physical layer 112 are typically implemented in hardware components such as network interface cards. The NDIS 116 library can be used by software drivers implemented in the transport layer 110 to communicate with network interface card drivers implemented in the data link layer 110. The transport layer driver is a well-known TCP / IP (Transfer Control) generally used on the Internet.
Implement a network protocol stack, such as a Protocol / Internet Protocol (Transfer Control Protocol / Internet Protocol) stack. If the transport layer software driver has a data packet to send, it can call the NIC driver using the interface from the NDIS 116 library and pass the packet to be transferred down. Similarly, the NIC driver uses the interface of NDIS116
The packet can be passed to the NIC itself for transmission over the network. The NDIS 116 interface can call operating system specific components that perform the transmission on the NIC. The NIC driver can also use the NDIS 116 interface to communicate with the transport layer software driver and pass the received data packets or other information onto it.

【0020】 物理層112の一例が、ワイヤレス無線周波(RF)装置64である。装置6
4とコンピュータ20の間のワイヤレス通信のための、ますます人気を集めつつ
あるRFプロトコルが、ブルートゥースプロトコルである。これについては、参
照により本明細書に完全に組み込まれている「Specification o
f the Bluetooth System(ブルートゥースシステムの仕
様)」第1.0B版(1999年12月1日)に、より詳細に記載されている。
また、付録Bに提示の「Windows(登録商標) Wireless Ar
chitecture(Windows(登録商標)ワイヤレスアーキテクチャ
)」、付録Cに提示の「Bluetooth Architecture Ov
erview(ブルートゥースアーキテクチャの概要)」、付録Dに提示の「B
luetooth Experience in Windows(登録商標)
(Windows(登録商標)でのブルートゥースの経験)」、および付録Eに
提示の「Bluetooth Stack in Windows(登録商標)
(Windows(登録商標)でのブルートゥーススタック)」も参照されたい
。ブルートゥース仕様に記載されているように、L2CAP(Logical
Link Control and Adaptation Protocol
(論理リンク制御および適合用プロトコル))は、高水準プロトコルがブルート
ゥース準拠のRFリンクを介して動作できるようにする。L2CAP層について
は、付録Aに添付し、参照により本明細書に完全に組み込まれている、「Log
ical Link Control and Adaptation Pro
tocol Specification(論理リンク制御および適合用プロト
コル仕様)」というタイトルの「Specification of the
Bluetooth System(ブルートゥースシステムの仕様)」第1.
OB版、パートD(1999年12月1日)に、より詳細に記載されている。こ
のようなより高水準のメッセージングプロトコルの1つに、マイクロソフト社の
リモートNDIS(リモートネットワーク装置インターフェース仕様)がある。
これについては、1999年4月30日に出願され、本出願の譲受人に譲渡され
て、参照により本明細書に完全に組み込まれている、Hyder等による、「M
ethod and System for Abstracting Net
work Device Drivers(ネットワークデバイスドライバを抽
象化する方法およびシステム)」という名称の同時係属出願第09/302,7
35号により詳細に記載されている。この同時係属出願に記載されているように
、リモートNDISは、バス固有のメッセージトランスポートメカニズムを変更
することなく拡張可能性を提供し、それによって、物理層112によって実施さ
れる、比較的多種にわたるこのようなトランスポートメカニズムへの実施が可能
になる。また、リモートNDISは、ネットワーキングと外部バス装置モデルの
両方について証明されているドライバアーキテクチャも提供する。
One example of physical layer 112 is wireless radio frequency (RF) device 64. Device 6
An increasingly popular RF protocol for wireless communication between 4 and computer 20 is the Bluetooth protocol. This is described in "Specification o", which is fully incorporated herein by reference.
f the Bluetooth System (Specification of the Bluetooth System) ", version 1.0B (December 1, 1999), in more detail.
In addition, “Windows (registered trademark) Wireless Ar” presented in Appendix B
"(Bluetooth (registered trademark) wireless architecture)" in Appendix C, "Bluetooth Architecture Ov"
"view (bluetooth architecture overview)", Appendix B, "B
Bluetooth Experience in Windows (registered trademark)
(Bluetooth experience with Windows®) ”and“ Bluetooth Stack in Windows® ”presented in Appendix E.
See also (Bluetooth stack in Windows®). As described in the Bluetooth specification, L2CAP (Logical
Link Control and Adaptation Protocol
(Logical Link Control and Adaptation Protocol) enables high level protocols to operate over Bluetooth compliant RF links. The L2CAP layer is attached to Appendix A and is fully incorporated herein by reference, "Log.
ical Link Control and Adaptation Pro
“Specification of the”, entitled “tocol Specification”.
Bluetooth System (Specification of Bluetooth system) "1.
The OB version, Part D (December 1, 1999), is described in more detail. One such higher level messaging protocol is Microsoft's Remote NDIS (Remote Network Equipment Interface Specification).
This is described in “M., by Hyder et al., Filed Apr. 30, 1999, assigned to the assignee of the present application and fully incorporated herein by reference.
method and System for Abstracting Net
Co-pending Application No. 09 / 302,7 entitled "Work Device Drivers (Method and System for Abstracting Network Device Drivers)"
No. 35 in more detail. As described in this co-pending application, remote NDIS provides scalability without changing the bus-specific message transport mechanism, thereby providing a relatively wide variety of implementations by physical layer 112. It becomes possible to implement such a transport mechanism. Remote NDIS also provides a proven driver architecture for both networking and external bus device models.

【0021】 本発明がなければ、ハードウェアのメーカは、2つのドライバ、NDIS ミ
ニポートドライバと、バスまたはネットワークインターフェースを書かなければ
ならない。しかし、この2つのドライバを、単一のバイナリとして配布すること
ができる。第1のドライバ、NDISミニポートドライバは、NDIS116と
情報を交換し、あるベンダ固有のAPIを介して、バスまたはネットワークイン
ターフェースドライバと通信を行う。バスまたはネットワークインターフェース
ドライバは、バス固有またはネットワーク固有であり、適切なバスまたはネット
ワークドライバを介してハードウェアと通信を行う。NDISミニポートドライ
バ、およびバスまたはネットワークインターフェースドライバは、両ドライバと
も、アクセスされているネットワーク装置のメーカが書いたものであるため、ベ
ンダ固有のAPIを介して通信を行う。したがって、NDISミニポートが、N
DIS層116と通信するためにはNDIS APIに準拠しなければならず、
また、バスまたはネットワークインターフェースが、情報をネットワーク装置に
渡す際に、該当するバスまたはネットワークドライバに従わなければならない一
方で、NDISミニポートと、バスまたはネットワークインターフェースの間の
相互作用は、完全にハードウェアメーカに一任されている。装置メーカに、彼ら
が市場に出している各機器ごとに2つのドライバを書くことを要求することは、
いくつかのきわめて重大な問題を生じさせる。例えば、デバイスドライバの純粋
な数を管理することは、ハードウェアメーカおよびソフトウェアとともにある種
のデバイスドライバを配布する可能性があるオペレーティングシステム開発会社
の両方にとって、困難かつ費用がかかることである。さらに、メーカが、NDI
Sへの接続とバスまたはネットワークインターフェースの両方を提供するため、
ネットワークの機能と特定のバスの特性が結合される可能性があり、一方を、も
う一方なしに更新することが不可能になる。これらの問題を解決することにより
、リモートに接続されるネットワーキング装置の配置をより速く行うことができ
、また、ホストベースのドライバの開発コストをより低くすることができる。
Without the present invention, a hardware manufacturer would have to write two drivers, an NDIS miniport driver and a bus or network interface. However, the two drivers can be distributed as a single binary. The first driver, the NDIS miniport driver, exchanges information with the NDIS 116 and communicates with the bus or network interface driver via a vendor-specific API. A bus or network interface driver is bus or network specific and communicates with the hardware via the appropriate bus or network driver. Since both the NDIS miniport driver and the bus or network interface driver are written by the manufacturer of the network device being accessed, they communicate via a vendor-specific API. Therefore, the NDIS miniport is
In order to communicate with the DIS layer 116, it must comply with the NDIS API,
Also, the bus or network interface must obey the appropriate bus or network driver in passing information to the network device, while the interaction between the NDIS miniport and the bus or network interface is completely hard. It is left to the ware maker. Requiring device manufacturers to write two drivers for each device they put on the market
It causes some very serious problems. For example, managing a pure number of device drivers can be difficult and expensive both for hardware manufacturers and operating system developers that may distribute certain device drivers along with software. In addition, the manufacturer
To provide both a connection to S and a bus or network interface,
The capabilities of the network and the characteristics of a particular bus may be combined, making it impossible to update one without the other. Resolving these problems allows for faster deployment of remotely connected networking devices and lower development costs for host-based drivers.

【0022】 NDISミニポートドライバ、およびバスまたはネットワークインターフェー
スは、ともに装置ハードウェアメーカが提供しており、リモートNDISミニポ
ート層およびバス固有またはネットワーク固有のマイクロポートと交換すること
ができる。リモートNDISミニポート層、およびバス固有またはネットワーク
固有のマイクロポートは、アクセスされる特定の装置とは独立しており、したが
って、オペレーティングシステムの一部として含めることができる。したがって
、リモートNDIS仕様に添ってドライバを書くハードウェアメーカは、自分た
ちの装置のためにホストベースのドライバを書く必要がなくなる。
The NDIS miniport driver and the bus or network interface are both provided by the device hardware manufacturer and can be replaced with a remote NDIS miniport layer and a bus-specific or network-specific microport. The remote NDIS miniport layer, and bus-specific or network-specific microports are independent of the particular device being accessed, and thus can be included as part of the operating system. Therefore, hardware manufacturers who write drivers according to the Remote NDIS specification do not have to write host-based drivers for their devices.

【0023】 リモートNDISは、接続不可知または接続独立のメッセージセットを、その
メッセージセットが、特定のバスやネットワークなど特定の接続を介してどのよ
うに動作するかという記載とともに、定義する。リモートNDISインターフェ
ースは標準化されているので、コアセットのホストドライバは、取り付けられて
いるネットワーキング装置をいくつでもサポートすることができる。それによっ
て、新しいネットワーク装置をサポートするために新しいドライバをインストー
ルする必要がなくなるので、システムの安定性とユーザの満足度が向上する。リ
モートNDISアーキテクチャは、リモートNDISメッセージセットを理解し
、バス固有またはネットワーク固有のマイクロポートドライバと通信を行う、リ
モートNDISミニポートドライバを含む。特に、リモートNDISミニポート
層は、NDIS OID(オブジェクト識別子)とNDISデータパケットを、
修正なしにネットワーキング装置に渡すことができるデータ構造にカプセル化す
る。このデータ構造はリモートNDISメッセージとして知られる。
Remote NDIS defines a connection agnostic or connection independent message set, along with a description of how the message set operates over a particular connection such as a particular bus or network. Since the remote NDIS interface is standardized, the core set host driver can support any number of attached networking devices. This improves system stability and user satisfaction by eliminating the need to install new drivers to support new network devices. The remote NDIS architecture includes a remote NDIS miniport driver that understands the remote NDIS message set and communicates with bus-specific or network-specific microport drivers. In particular, the remote NDIS miniport layer sends NDIS OID (object identifier) and NDIS data packets,
Encapsulates in a data structure that can be passed to the networking device without modification. This data structure is known as a remote NDIS message.

【0024】 バス固有またはネットワーク固有のマイクロポートドライバは、メッセージを
装置に渡す責任を有するバスまたはネットワークを理解する中間層を表す。した
がって、マイクロポート層は、リモートNDISメッセージを受け取って、それ
らをバスまたはネットワークドライバ層の対応するエレメントに渡す。次いで、
バスまたはネットワークドライバ層は、そのリモートNDISメッセージを、リ
モートNDIS装置に渡す。ネットワークプロトコルメカニズムは、バスまたは
ネットワーク固有のマイクロポート層よりも上で抽象化されるため、新しいネッ
トワーク機能の追加は、リモートNDISミニポート層のみを変更するだけで行
うことができる。マイクロポート層は、リモートNDISメッセージにカプセル
化されたNDIS OIDおよびNDISデータパケットを渡すメッセージトラ
ンスポートメカニズムにすぎないので、変更されないままである。さらに、すべ
てのバスまたはネットワークマイクロポートは、単一のリモートNDISミニポ
ート層がそれらすべてにサービスすることができるので、ネットワーク機能を新
しいNDIS OIDの形で追加することが利用可能である。本発明はまた、後
方互換性も維持する。新しいNDIS OIDが追加されると、リモートNDI
S装置が、それがそのNDIS OIDを理解できず、したがって、その新しい
ネットワーク機能をサポートしないと応答することもある。
A bus-specific or network-specific microport driver represents an intermediate layer that understands the bus or network that is responsible for passing messages to devices. Thus, the Microport layer receives remote NDIS messages and passes them on to the corresponding elements of the bus or network driver layer. Then
The bus or network driver layer passes the remote NDIS message to the remote NDIS device. Since the network protocol mechanism is abstracted above the bus or network specific microport layer, adding new network functionality can be done by changing only the remote NDIS miniport layer. The microport layer remains unchanged as it is only a message transport mechanism that passes NDIS OID and NDIS data packets encapsulated in remote NDIS messages. Further, all buses or network microports are available to add network functionality in the form of new NDIS OIDs, as a single remote NDIS miniport layer can service them all. The present invention also maintains backward compatibility. When a new NDIS OID is added, the remote NDI
The S device may respond that it does not understand its NDIS OID and therefore does not support its new network capability.

【0025】 図3を見ると、L2CAPチャネル160など、単一のL2CAPチャネルを
、リモートNDIS制御通信のために使用することができる。このような制御通
信には、制御メッセージ、これらのメッセージへの応答、および装置162が、
それによって状態の変化を示すことができるメッセージが含まれる。別のL2C
APチャネル150を使って、リモートNDISデータパケットを交換すること
ができる。データメッセージは、長さが1500バイトまで可能であり、これは
、全ブルートゥース帯域幅を使用した場合には約20msかかるが、データメッ
セージが他のトラフィックと帯域幅を共用しなければならない場合にはこれより
もずっとかかる。したがって、制御メッセージを送る際の待ち時間を制限するた
めに、別個のL2CAPチャネル160が提供されている。装置162上に存在
する可能性がある複数のネットワーキングチャネルに対処するために、追加L2
CAPチャネルを加えることができる。
Turning to FIG. 3, a single L2CAP channel, such as L2CAP channel 160, can be used for remote NDIS control communication. Such control communications include control messages, responses to these messages, and device 162.
It contains a message by which the change of state can be indicated. Another L2C
The AP channel 150 can be used to exchange remote NDIS data packets. Data messages can be up to 1500 bytes in length, which takes about 20 ms when using the full Bluetooth bandwidth, but when the data message has to share bandwidth with other traffic. It costs much more than this. Therefore, a separate L2CAP channel 160 is provided to limit the latency in sending control messages. To accommodate multiple networking channels that may be present on device 162, additional L2
A CAP channel can be added.

【0026】 上記に、図2を参照して説明したように、制御メッセージは、図3に示す制御
層158に直接送られ、一方、データは、まず媒体アクセス制御層154が受け
取り、次に、物理層156で、物理的ネットワークを介して送信するためにカプ
セル化することができる。応答および状態信号の送信を容易にするために、また
、即時制御を可能にするために、制御層158を、媒体アクセス制御層154お
よび物理層156の両方に直接、接続する。
As described above with reference to FIG. 2, the control message is sent directly to the control layer 158 shown in FIG. 3, while the data is first received by the medium access control layer 154 and then: At the physical layer 156, it can be encapsulated for transmission over a physical network. The control layer 158 is directly connected to both the medium access control layer 154 and the physical layer 156 to facilitate the transmission of response and status signals and to allow immediate control.

【0027】 ネットワークデータは、L2CAPチャネル150を介して、ホスト164と
装置162の間で渡される。このデータは、NDISネットワークスタックがす
でに使用しているモデル上で、NDISパケットメカニズムにカプセル化するこ
とができる。L2CAPがサポートするパケットの最大長は、媒体の最大MTU
から、RNIDSヘッダサイズを差し引いたものであり得る。装置152は、そ
れが送ることができる最大L2CAPメッセージ(サイズ)までのMaxTra
nsferSize値を、NDISファンクションコールに記入することができ
る。ホスト164は、そのL2CAP最大メッセージサイズがそれよりも小さい
場合、戻された情報をそれ自体の最大メッセージサイズで上書きすることができ
る。ホスト164または装置162のいずれかが、制御およびデータL2CAP
チャネルの両方のセットアップを開始することができる。
Network data is passed between host 164 and device 162 via L2CAP channel 150. This data can be encapsulated in the NDIS packet mechanism on the model already used by the NDIS network stack. The maximum packet length supported by L2CAP is the maximum MTU of the medium.
, Minus the RNIDS header size. Device 152 may send MaxTra up to the maximum L2CAP message (size) it can send.
The nsferSize value can be entered in the NDIS function call. The host 164 can overwrite the returned information with its own maximum message size if its L2CAP maximum message size is smaller. Either the host 164 or the device 162 has control and data L2CAP
Both setups of channels can be started.

【0028】 ブルートゥースリモートNDIS装置に使用することができる、最小のサービ
スディスカバリプロトコル(SDP)レコードは、下記の表1に示すようになり
得る。見てわかるように、リモートNDIS装置は、標準サービスディスカバリ
記述を使用する。パーソナルエリアネットワーク(PAN)サービスは、互いに
通信を行うことができる。ブルートゥース装置が複数のPANサービスを有する
ことも可能である。例えば、セルラフォンが、セルラデータネットワークへのブ
ルートゥース装置のアクセスを可能にするワイヤレスWANサーバを有すること
もあり得る。このような場合、ServiceNameは「WWAN」、または
より説明的な名前であってよい。あるいは、セルラフォンが、装置間でピアツー
ピアの通信を行うための内部PANサービスを可能にする、PANサービスを有
することもあり得る。このような場合、ServiceNameは、「PEER
」に設定すればよい。装置は、PEERというServiceNameを持つP
ANプロファイルを、2つ以上アドバタイズするべきではない。
The minimum service discovery protocol (SDP) record that can be used for a Bluetooth remote NDIS device can be as shown in Table 1 below. As can be seen, the remote NDIS device uses standard service discovery descriptions. Personal area network (PAN) services can communicate with each other. It is also possible that the Bluetooth device has multiple PAN services. For example, the cellular phone could have a wireless WAN server that allows the Bluetooth device access to the cellular data network. In such cases, ServiceName may be "WWAN", or a more descriptive name. Alternatively, the cellular phone may have a PAN service that enables an internal PAN service for peer-to-peer communication between devices. In such a case, ServiceName is "PEER
You can set it to ". The device is a P with a ServiceName called PEER.
No more than one AN profile should be advertised.

【0029】[0029]

【表1】 [Table 1]

【0030】 リモートNDISブルートゥース装置は、2つ以上のL2CAPチャネル、す
なわち1つの制御チャネル、および1つまたは複数のデータチャネルを開始また
は受信することができる。装置162へのメッセージは、L2CAPパケットデ
ータユニット(PDU)の形で送ることができる。この装置には、ホスト164
から制御チャネル160でメッセージを送ることができ、また、この装置は、次
いで、その同じ制御チャネルで応答を送ることができる。ブルートゥースRND
IS装置のこのような典型的なトランザクションの一例として、以下のような場
合があり得る。ホスト164は、NdisQueryRequest型で構成さ
れた内容で、制御チャネル上にブルートゥースWRITEを発行する。Ndis
QueryRequestのRNDIS_OID値は、OID_GEN_MED
IA_CONNECT_STATUSに設定され得る。装置162は、ブルート
ゥースデータを受け取ると、NdisQueryRequstを復号し、必要な
アクションを行って、接続ステータスを判断する。装置は、ホストが要求してい
る情報をNdisQueryRequest中に持っていると、制御チャネル1
60上に、NdisQueryResponseから成るブルートゥースWRI
TEを発行する。この場合、NdisQueryResponseはOID_G
EN_MEDIA_CONNECTION_STATUSに設定され得る。
A remote NDIS Bluetooth device can initiate or receive more than one L2CAP channel, one control channel, and one or more data channels. The message to device 162 may be sent in the form of L2CAP packet data units (PDUs). This device includes a host 164
From the control channel 160, and the device can then send a response on that same control channel. Bluetooth RND
As an example of such a typical transaction of the IS device, there may be the following cases. The host 164 issues Bluetooth WRITE on the control channel with the content configured in the NdisQueryRequest type. Ndis
The RNDIS_OID value of the QueryRequest is OID_GEN_MED
It may be set to IA_CONNECT_STATUS. Upon receiving the Bluetooth data, the device 162 decrypts the NdisQueryRequest and performs necessary actions to determine the connection status. When the device has the information requested by the host in the NdisQueryRequest, the device sends control channel 1
Bluetooth WRI consisting of NdisQueryResponse on 60
Issue TE. In this case, NdisQueryResponse is OID_G
It may be set to EN_MEDIA_CONNECTION_STATUS.

【0031】 ブルートゥースは、ピアツーピアシステムである。さらに、SDPレコードは
、ホストと装置システムの違いを定義しない。したがって、ブルートゥースマイ
クロポートがそれ自体に対して作動できることがあり得る。ホストのみのRND
ISマイクロポートは、ある種のメッセージを開始する必要があるだけであり、
ある種のメッセージを受け取るだけである。しかし、マイクロポートは、ホスト
、装置、またはその両方であり得るので、ホストまたは装置のいずれかが受け取
ることができるあらゆるメッセージを処理することができる。したがって、マイ
クロポートは、これらのメッセージを扱うことができなければならない。ブルー
トゥースマイクロポートは、例えばセルラフォンに接続されている場合には、ホ
ストマイクロポートとしてのみ動作することができ、また、同じくマイクロポー
トを走らせている別のマシンに接続されている場合には、ホスト/装置の両方と
して動作することができる。マイクロポートは、メッセージを処理する際に振動
が起きないように設計しなければならない。
Bluetooth is a peer-to-peer system. Furthermore, the SDP record does not define the difference between host and device system. Therefore, it is possible that the Bluetooth Microport can operate on itself. RND for host only
IS microport only needs to initiate some kind of message,
It only receives certain messages. However, the microport can be a host, a device, or both, so it can handle any messages that either the host or device can receive. Therefore, the microport must be able to handle these messages. A Bluetooth microport can only act as a host microport if it is connected to a cellular phone, for example, or it can be a host / port if it is connected to another machine also running the microport. It can act as both a device. Microports must be designed to avoid vibrations when processing messages.

【0032】 リモートNDISは、NDIS OOBおよびパケットごとの情報のフィール
ドをトランスポートするためのスペースを含めて、REMOTE_NDIS_P
ACKETメッセージのフォーマットを定義する。パケットごとの情報のファイ
ルは、NDISが、それがその機能をサポートすることをリモートドライバが指
定している場合に、供給することができる。OOB情報は、特定の媒体タイプに
ついてサポートされ得る。例えば、イーサネット(登録商標)の場合は、ピアツ
ーピアのエミュレーションフィールドは必要ではない。このような場合、44バ
イトのオフセットおよびパケット情報フィールドの長さは必要とされない。した
がって、1514バイトのイーサネット(登録商標)MTUの場合、L2CAP
のMTUは最小1554バイトであることが可能であり、ブルートゥース帯域幅
の約3%が無駄になる。これは、低速リンクの場合には問題になる。これは、D
ataOffsetが4であるならば、RNDIS_PACKETヘッダの残り
がヌルであると想定して、最適化することができる。これによって、データのオ
ーバヘッドを、16バイトすなわち1%減少させることができる。
The remote NDIS includes REMOTE_NDIS_P, including space for transporting fields of NDIS OOB and per-packet information.
It defines the format of the ACKET message. A file of per-packet information can be provided by NDIS if the remote driver specifies that it supports the feature. OOB information may be supported for specific media types. For example, in the case of Ethernet, a peer-to-peer emulation field is not necessary. In such a case, an offset of 44 bytes and the length of the packet information field are not needed. Therefore, in the case of a 1514-byte Ethernet (registered trademark) MTU, L2CAP is used.
MTU can be a minimum of 1554 bytes, wasting about 3% of the Bluetooth bandwidth. This is a problem for slow links. This is D
If the ataOffset is 4, it can be optimized assuming the rest of the RNDIS_PACKET header is null. This can reduce the data overhead by 16 bytes or 1%.

【0033】 オペレーション中に、PANサービスをサポートするリモートブルートゥース
装置が範囲内にあり、通信することが可能な場合には、ブルートゥースマイクロ
ポートをロードすることができる。マイクロポートをロードすることによって、
マイクロポートから初期化メッセージが送られるようにすることができる。リモ
ート装置が例えばセルラフォンである場合、それは、初期化完了メッセージで応
答することができる。別の例として、リモート装置が別のWindows(登録
商標)マシンの場合、これもまた初期化メッセージを生成することができる。マ
イクロポートは、REMOTE_NDIS_INITIALIZE_MSG、R
EMOTE_NDIS_QUERY_MSG、REMOTE_NDIS_SET
_MSG、REMOTE_NDIS_RESET_MSG、REMOTE_ND
IS_KEEPALIVE_MSGなどの特別なメッセージを受け取ることもで
きる。これらのメッセージについては、2000年3月20日付けの「Remo
te NDIS Over Bluetooth Specification
(ブルートゥース仕様を介したリモートNDIS)」というタイトルの論文に、
より詳細に説明されている。これは付録Fに添付した。
During operation, the Bluetooth microport can be loaded if the remote Bluetooth device supporting the PAN service is in range and able to communicate. By loading the microport,
An initialization message can be sent from the microport. If the remote device is a cellular phone, for example, it can respond with an initialization complete message. As another example, if the remote device is another Windows machine, this too may generate an initialization message. Microport is REMOTE_NDIS_INITIALIZE_MSG, R
EMOTE_NDIS_QUERY_MSG, REMOTE_NDIS_SET
_MSG, REMOTE_NDIS_RESET_MSG, REMOTE_ND
It is also possible to receive special messages such as IS_KEEPALIVE_MSG. For these messages, see “Remo
te NDIS Over Bluetooth Specification
(Remote NDIS via Bluetooth specification) ",
It is described in more detail. This is attached in Appendix F.

【0034】 特許、特許出願、出版物を含めて、本明細書で挙げている参考文献はすべて、
参照により本明細書に完全に組み込まれている。
All references cited herein, including patents, patent applications, and publications, are
It is fully incorporated herein by reference.

【0035】 本発明の原理を適用することができる多くの可能な実施形態を考えると、本明
細書で図面を参照して説明している実施形態は例示にすぎず、発明の範囲を限定
するものとして解釈するべきではないことを理解されたい。例えば、当業者は、
ソフトウェアとして示してある例示の実施形態のエレメントが、ハードウェアと
して実施でき、またその反対も可能であること、または、例示の実施形態が、本
発明の趣旨から逸脱することなく、構成および細部において修正可能であること
を理解されるであろう。したがって、本明細書に記載している本発明は、すべて
のこのような実施形態を、特許請求の範囲およびその同等物の範囲内に入るもの
としてみなすものである。
Given the many possible embodiments to which the principles of the invention may be applied, the embodiments described herein with reference to the drawings are exemplary only, and limit the scope of the invention. It should be understood that it should not be interpreted as a thing. For example, one skilled in the art would
The elements of the exemplary embodiments shown as software can be implemented as hardware and vice versa, or the exemplary embodiments can be configured and detailed without departing from the spirit of the invention. It will be understood that it can be modified. Accordingly, the invention described herein contemplates all such embodiments as falling within the scope of the claims and their equivalents.

【図面の簡単な説明】[Brief description of drawings]

【図1】 本発明が存在する例示的コンピュータシステムを全体的に示す構成図である。[Figure 1]   1 is a block diagram generally illustrating an exemplary computer system in which the present invention is present.

【図2】 7層ネットワークモデルを全体的に示す構成図である。[Fig. 2]   It is a block diagram which shows the 7-layer network model overall.

【図3】 本発明が動作することができる層モデルを、全体的に示す構成図である。[Figure 3]   It is a block diagram which shows generally the layer model with which this invention can operate | move.

【手続補正書】[Procedure amendment]

【提出日】平成15年2月13日(2003.2.13)[Submission date] February 13, 2003 (2003.2.13)

【手続補正1】[Procedure Amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】特許請求の範囲[Name of item to be amended] Claims

【補正方法】変更[Correction method] Change

【補正の内容】[Contents of correction]

【特許請求の範囲】[Claims]

───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE,TR),OA(BF ,BJ,CF,CG,CI,CM,GA,GN,GW, ML,MR,NE,SN,TD,TG),AP(GH,G M,KE,LS,MW,MZ,SD,SL,SZ,TZ ,UG,ZW),EA(AM,AZ,BY,KG,KZ, MD,RU,TJ,TM),AE,AG,AL,AM, AT,AU,AZ,BA,BB,BG,BR,BY,B Z,CA,CH,CN,CR,CU,CZ,DE,DK ,DM,DZ,EE,ES,FI,GB,GD,GE, GH,GM,HR,HU,ID,IL,IN,IS,J P,KE,KG,KP,KR,KZ,LC,LK,LR ,LS,LT,LU,LV,MA,MD,MG,MK, MN,MW,MX,MZ,NO,NZ,PL,PT,R O,RU,SD,SE,SG,SI,SK,SL,TJ ,TM,TR,TT,TZ,UA,UG,UZ,VN, YU,ZA,ZW (72)発明者 アーヴィン ペレツ アメリカ合衆国 98053 ワシントン州 レッドモンド イースト エイメス レイ ク レーン 3649 (72)発明者 ケネス ディー.レイ アメリカ合衆国 98052 ワシントン州 レッドモンド オールド レッドモンド ロード 7479 アパートメント ディー 320 Fターム(参考) 5K033 DA17 DB12 DB14 ─────────────────────────────────────────────────── ─── Continued front page    (81) Designated countries EP (AT, BE, CH, CY, DE, DK, ES, FI, FR, GB, GR, IE, I T, LU, MC, NL, PT, SE, TR), OA (BF , BJ, CF, CG, CI, CM, GA, GN, GW, ML, MR, NE, SN, TD, TG), AP (GH, G M, KE, LS, MW, MZ, SD, SL, SZ, TZ , UG, ZW), EA (AM, AZ, BY, KG, KZ, MD, RU, TJ, TM), AE, AG, AL, AM, AT, AU, AZ, BA, BB, BG, BR, BY, B Z, CA, CH, CN, CR, CU, CZ, DE, DK , DM, DZ, EE, ES, FI, GB, GD, GE, GH, GM, HR, HU, ID, IL, IN, IS, J P, KE, KG, KP, KR, KZ, LC, LK, LR , LS, LT, LU, LV, MA, MD, MG, MK, MN, MW, MX, MZ, NO, NZ, PL, PT, R O, RU, SD, SE, SG, SI, SK, SL, TJ , TM, TR, TT, TZ, UA, UG, UZ, VN, YU, ZA, ZW (72) Inventor Irvin Perez             United States 98053 Washington             Redmond East Ames Ray             Crane 3649 (72) Inventor Kenneth Dee. Ray             United States 98052 Washington             Redmond Old Redmond             Road 7479 Apartment Dee             320 F term (reference) 5K033 DA17 DB12 DB14

Claims (18)

【特許請求の範囲】[Claims] 【請求項1】 ワイヤレス装置のデバイスドライバを作成する方法であって
、 装置制御コマンドおよびデータを装置独立フォーマットに抽象化するステップ
と、 接続独立ドライバ層を確立するステップであって、前記接続独立ドライバ層が
、前記装置制御コマンドおよびデータを受け取り、前記装置制御コマンドおよび
データを接続独立フォーマットにカプセル化するステップと、 中間ドライバ層を確立するステップであって、前記中間ドライバ層が、前記接
続独立フォーマットにカプセル化された装置制御コマンドおよびデータを受け取
って、前記接続独立フォーマットにカプセル化された装置制御コマンドおよびデ
ータを、接続固有のドライバ層に渡すステップと、 前記接続固有のドライバ層を確立するステップであって、前記接続固有のドラ
イバ層が、前記接続独立フォーマットにカプセル化された装置制御コマンドおよ
びデータを受け取って、前記接続独立フォーマットにカプセル化された装置制御
コマンドおよびデータを、接続固有の装置制御コマンドおよびデータに変換し、
前記接続固有の装置制御コマンドおよびデータを前記ワイヤレス装置に送信する
ステップとを含むことを特徴とする方法。
1. A method of creating a device driver for a wireless device, the steps of abstracting device control commands and data into a device independent format, and establishing a connection independent driver layer, the connection independent driver. A layer receiving the device control commands and data and encapsulating the device control commands and data in a connection independent format; and establishing an intermediate driver layer, the intermediate driver layer including the connection independent format. Receiving a device control command and data encapsulated in a connection and passing the device control command and data encapsulated in the connection independent format to a connection-specific driver layer; and establishing the connection-specific driver layer. And the connection A driver layer of the device receives the device control commands and data encapsulated in the connection independent format and converts the device control commands and data encapsulated in the connection independent format into connection-specific device control commands and data. ,
Sending the connection-specific device control commands and data to the wireless device.
【請求項2】 前記ワイヤレス装置が、ブルートゥースプロトコルに準拠す
るワイヤレス通信を受信することができ、前記接続固有の装置制御コマンドおよ
びデータが、前記ブルートゥースプロトコルに準拠することを特徴とする請求項
1に記載の方法。
2. The wireless device is capable of receiving wireless communication compliant with the Bluetooth protocol, and the connection-specific device control commands and data are compliant with the Bluetooth protocol. The method described.
【請求項3】 前記接続固有のドライバ層が、前記接続固有の装置制御コマ
ンドおよびデータを、少なくとも1つのL2CAPチャネルを介して前記ワイヤ
レス装置に送信することを特徴とする請求項1に記載の方法。
3. The method of claim 1, wherein the connection-specific driver layer sends the connection-specific device control commands and data to the wireless device via at least one L2CAP channel. .
【請求項4】 前記接続固有のドライバ層が、第1のL2CAPチャネルを
介して前記接続固有の装置制御コマンドを送信し、第2のL2CAPチャネルを
介して前記接続固有のデータを送信することを特徴とする請求項3に記載の方法
4. The connection-specific driver layer sends the connection-specific device control command over a first L2CAP channel and sends the connection-specific data over a second L2CAP channel. The method of claim 3 characterized.
【請求項5】 前記接続固有のドライバ層が、前記接続独立フォーマットに
カプセル化された装置制御コマンドおよびデータを、サービスディスカバリプロ
トコルレコードを参照して、接続固有の装置制御コマンドおよびデータに変換す
ることを特徴とする請求項1に記載の方法。
5. The connection-specific driver layer converts device control commands and data encapsulated in the connection-independent format into connection-specific device control commands and data with reference to a service discovery protocol record. The method according to claim 1, characterized in that
【請求項6】 前記接続固有のドライバ層が、前記接続固有の装置制御コマ
ンドおよびデータを、前記ワイヤレス装置が使用するワイヤレスプロトコルの最
大送信単位よりも小さいパケットにセグメント化することによって送信すること
を特徴とする請求項1に記載の方法。
6. The connection-specific driver layer sends the connection-specific device control commands and data by segmenting them into packets that are smaller than a maximum transmission unit of a wireless protocol used by the wireless device. The method of claim 1 characterized.
【請求項7】 ワイヤレス装置と通信する方法であって、 装置制御コマンドおよびデータを装置独立フォーマットに抽象化するステップ
と、前記装置独立フォーマットの前記装置制御コマンドおよびデータを、接続独
立フォーマットにカプセル化するステップと、前記接続独立フォーマットにカプ
セル化された装置制御コマンドおよびデータを、接続固有の装置制御コマンドお
よびデータに変換するステップと、前記接続固有の装置制御コマンドおよびデー
タをワイヤレス装置に送信するステップとを含むことを特徴とする方法。
7. A method of communicating with a wireless device, the method comprising: abstracting device control commands and data into a device independent format; encapsulating the device control commands and data in the device independent format into a connection independent format. Converting the device control commands and data encapsulated in the connection-independent format into connection-specific device control commands and data, and transmitting the connection-specific device control commands and data to a wireless device. A method comprising: and.
【請求項8】 前記ワイヤレス装置が、ブルートゥースプロトコルに準拠す
るワイヤレス通信を受信することができ、前記接続固有の装置制御コマンドおよ
びデータが、前記ブルートゥースプロトコルに準拠することを特徴とする請求項
7に記載の方法。
8. The wireless device according to claim 7, wherein the wireless device is capable of receiving wireless communication conforming to the Bluetooth protocol, and the connection-specific device control commands and data conforming to the Bluetooth protocol. The method described.
【請求項9】 前記接続固有の装置制御コマンドおよびデータが、少なくと
も1つのL2CAPチャネルを介して前記ワイヤレス装置に送信されることを特
徴とする請求項7に記載の方法。
9. The method of claim 7, wherein the connection-specific device control commands and data are sent to the wireless device via at least one L2CAP channel.
【請求項10】 前記接続固有の装置制御コマンドが第1のL2CAPチャ
ネルを介して送信され、前記接続固有のデータが第2のL2CAPチャネルを介
して送信されることを特徴とする請求項9に記載の方法。
10. The connection-specific device control command is transmitted via a first L2CAP channel and the connection-specific data is transmitted via a second L2CAP channel. The method described.
【請求項11】 前記接続独立フォーマットにカプセル化された装置制御コ
マンドおよびデータを、接続固有の装置制御コマンドおよびデータに変換する前
記ステップが、サービスディスカバリプロトコルレコードを参照することを特徴
とする請求項7に記載の方法。
11. The method of converting device control commands and data encapsulated in the connection-independent format into connection-specific device control commands and data refers to a service discovery protocol record. 7. The method according to 7.
【請求項12】 前記接続固有の装置制御コマンドおよびデータを、前記ワ
イヤレス装置が使用するワイヤレスプロトコルの最大送信単位よりも小さいパケ
ットにセグメント化することによって送信することを特徴とする請求項7に記載
の方法。
12. The method of claim 7, wherein the connection-specific device control commands and data are transmitted by segmenting them into packets that are smaller than the maximum transmission unit of the wireless protocol used by the wireless device. the method of.
【請求項13】 ワイヤレス装置のデバイスドライバを作成するための、コ
ンピュータ実行命令を収めたコンピュータ可読媒体を含むコンピュータプログラ
ムプロダクトであって、前記コンピュータ実行命令が、 装置制御コマンドおよびデータを装置独立フォーマットに抽象化するステップ
と、 接続独立ドライバ層を確立するステップであって、前記接続独立ドライバ層が
、前記装置制御コマンドおよびデータを受け取り、前記装置制御コマンドおよび
データを接続独立フォーマットにカプセル化するステップと、 中間ドライバ層を確立するステップであって、前記中間ドライバ層が、前記接
続独立フォーマットにカプセル化された装置制御コマンドおよびデータを受け取
って、前記接続独立フォーマットにカプセル化された装置制御コマンドおよびデ
ータを、接続固有のドライバ層に渡すステップと、 前記接続固有のドライバ層を確立するステップであって、前記接続固有のドラ
イバ層が、前記接続独立フォーマットにカプセル化された装置制御コマンドおよ
びデータを受け取って、前記接続独立フォーマットにカプセル化された装置制御
コマンドおよびデータを、接続固有の装置制御コマンドおよびデータに変換し、
前記接続固有の装置制御コマンドおよびデータを前記ワイヤレス装置に送信する
ステップとのためのものであることを特徴とするコンピュータプログラムプロダ
クト。
13. A computer program product comprising a computer-readable medium containing computer-executable instructions for creating a device driver for a wireless device, the computer-executable instructions providing device control commands and data in a device independent format. Abstracting; establishing a connection independent driver layer, the connection independent driver layer receiving the device control commands and data and encapsulating the device control commands and data in a connection independent format. Establishing an intermediate driver layer, the intermediate driver layer receiving a device control command and data encapsulated in the connection independent format, the device control command encapsulated in the connection independent format. Data and data to a connection-specific driver layer; and establishing the connection-specific driver layer, the connection-specific driver layer encapsulating device control commands in the connection-independent format; Receiving data and converting device control commands and data encapsulated in the connection independent format into connection-specific device control commands and data,
Computer program product for transmitting connection-specific device control commands and data to the wireless device.
【請求項14】 前記ワイヤレス装置が、ブルートゥースプロトコルに準拠
するワイヤレス通信を受信することができ、前記接続固有の装置制御コマンドお
よびデータが、前記ブルートゥースプロトコルに準拠することを特徴とする請求
項13に記載のコンピュータプログラムプロダクト。
14. The wireless device according to claim 13, wherein the wireless device is capable of receiving wireless communication complying with the Bluetooth protocol, and the connection-specific device control commands and data comply with the Bluetooth protocol. The listed computer program product.
【請求項15】 前記接続固有のドライバ層が、前記接続固有の装置制御コ
マンドおよびデータを、少なくとも1つのL2CAPチャネルを介して前記ワイ
ヤレス装置に送信することを特徴とする請求項13に記載のコンピュータプログ
ラムプロダクト。
15. The computer of claim 13, wherein the connection-specific driver layer sends the connection-specific device control commands and data to the wireless device via at least one L2CAP channel. Program product.
【請求項16】 前記接続固有のドライバ層が、第1のL2CAPチャネル
を介して前記接続固有の装置制御コマンドを送信し、第2のL2CAPチャネル
を介して前記接続固有のデータを送信することを特徴とする請求項15に記載の
コンピュータプログラムプロダクト。
16. The connection-specific driver layer sends the connection-specific device control command via a first L2CAP channel and the connection-specific data via a second L2CAP channel. A computer program product as recited in claim 15, wherein the computer program product is a computer program product.
【請求項17】 前記接続固有のドライバ層が、前記接続独立フォーマット
にカプセル化された装置制御コマンドおよびデータを、サービスディスカバリプ
ロトコルレコードを参照して、接続固有の装置制御コマンドおよびデータに変換
することを特徴とする請求項13に記載のコンピュータプログラムプロダクト。
17. The connection-specific driver layer converts device control commands and data encapsulated in the connection-independent format into connection-specific device control commands and data with reference to a service discovery protocol record. 14. A computer program product according to claim 13, characterized in that
【請求項18】 前記接続固有のドライバ層が、前記接続固有の装置制御コ
マンドおよびデータを、前記ワイヤレス装置が使用するワイヤレスプロトコルの
最大送信単位よりも小さいパケットにセグメント化することによって送信するこ
とを特徴とする請求項13に記載のコンピュータプログラムプロダクト。
18. The connection-specific driver layer sends the connection-specific device control commands and data by segmenting them into packets that are smaller than a maximum transmission unit of the wireless protocol used by the wireless device. A computer program product as recited in claim 13, wherein the computer program product is a computer program product.
JP2001579086A 2000-04-24 2001-03-22 Generating device drivers Expired - Fee Related JP4210059B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/556,565 US6922548B1 (en) 2000-04-24 2000-04-24 Providing remote network driver interface specification services over a wireless radio-frequency medium
US09/556,565 2000-04-24
PCT/US2001/009064 WO2001082061A2 (en) 2000-04-24 2001-03-22 Device driver generation

Publications (3)

Publication Number Publication Date
JP2003532315A true JP2003532315A (en) 2003-10-28
JP2003532315A5 JP2003532315A5 (en) 2008-02-21
JP4210059B2 JP4210059B2 (en) 2009-01-14

Family

ID=24221875

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001579086A Expired - Fee Related JP4210059B2 (en) 2000-04-24 2001-03-22 Generating device drivers

Country Status (13)

Country Link
US (1) US6922548B1 (en)
EP (1) EP1277322B1 (en)
JP (1) JP4210059B2 (en)
CN (1) CN1205795C (en)
AT (1) ATE256946T1 (en)
AU (1) AU2001250917A1 (en)
BR (1) BRPI0110273B1 (en)
CA (1) CA2407555C (en)
DE (1) DE60101566T2 (en)
HK (1) HK1053026B (en)
MX (1) MXPA02010500A (en)
RU (1) RU2258251C2 (en)
WO (1) WO2001082061A2 (en)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
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
AU2002302879A1 (en) * 2002-05-15 2003-12-02 Nokia Corporation Method for establishing an l2cap channel dedicated for data flow transmission in bluetooth networks
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
WO2006115374A1 (en) * 2005-04-25 2006-11-02 Lg Electronics Inc. Reader control system
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
KR20100014507A (en) 2007-03-22 2010-02-10 텔레폰악티에볼라겟엘엠에릭슨(펍) Method for configuring the link maximum trasmission 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
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
US9052837B2 (en) * 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
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
US20090254924A1 (en) * 2008-04-04 2009-10-08 Microsoft Corporation Operating system interfaces for virtual wifi and softap capable drivers
US8477082B2 (en) * 2009-01-30 2013-07-02 Cassis International Pte Ltd. System and method for implementing a remote display using a virtualization technique
CN101867565A (en) * 2010-04-13 2010-10-20 中兴通讯股份有限公司 General drive method and driver for mobile broadband equipment
CN104038553B (en) * 2010-09-21 2018-10-30 华为终端有限公司 A kind of control method, device and system
CN102236571B (en) * 2011-07-27 2013-10-09 华为终端有限公司 Data card upgrading method, personal computer and data card
CN102360307A (en) * 2011-08-17 2012-02-22 中兴通讯股份有限公司 Device driver message processing method and device
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 (en) * 2016-12-16 2019-12-06 深圳市有方科技股份有限公司 Method for realizing terminal network adaptation and RNDIS equipment
CN112090061B (en) * 2020-09-16 2021-04-27 深圳未来游戏设备科技有限公司 Game peripheral mode adjusting method aiming at Bluetooth communication protocol

Family Cites Families (13)

* Cited by examiner, † Cited by third party
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 (en) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション Connection establishment method, communication method, state change transmission method, state change execution method, wireless device, wireless device, and computer
FI105978B (en) 1998-05-12 2000-10-31 Nokia Mobile Phones Ltd Method of connecting a wireless data terminal in a data transmission network and a wireless data terminal
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

Also Published As

Publication number Publication date
CA2407555A1 (en) 2001-11-01
WO2001082061A2 (en) 2001-11-01
ATE256946T1 (en) 2004-01-15
RU2002131450A (en) 2004-03-10
RU2258251C2 (en) 2005-08-10
AU2001250917A1 (en) 2001-11-07
DE60101566D1 (en) 2004-01-29
US6922548B1 (en) 2005-07-26
BRPI0110273B1 (en) 2015-07-28
HK1053026B (en) 2004-10-21
HK1053026A1 (en) 2003-10-03
CN1446425A (en) 2003-10-01
JP4210059B2 (en) 2009-01-14
EP1277322A2 (en) 2003-01-22
BR0110273A (en) 2003-07-08
MXPA02010500A (en) 2003-09-22
EP1277322B1 (en) 2003-12-17
WO2001082061A3 (en) 2002-07-18
CN1205795C (en) 2005-06-08
DE60101566T2 (en) 2004-06-09
CA2407555C (en) 2010-10-26

Similar Documents

Publication Publication Date Title
JP2003532315A (en) Generating device drivers
US8176187B2 (en) Method, system, and program for enabling communication between nodes
US7305426B2 (en) Point-to-point data communication implemented with multipoint network data communication components
US7966380B2 (en) Method, system, and program for forwarding messages between nodes
WO2003026251A1 (en) Network architecture
US7409432B1 (en) Efficient process for handover between subnet managers
WO2005098637A1 (en) Operating a remote usb host controller
US9288287B2 (en) Accelerated sockets
US7389334B2 (en) Exposing bluetooth compliant wireless device connection as modems or sockets
US6618393B1 (en) Method and apparatus for transparent support of network protocols with header translation
US20060015655A1 (en) Method and system for supporting read operations with CRC for iSCSI and iSCSI chimney
KR20110110199A (en) Communication protocol for sharing memory resources between components of a device
Ko et al. Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA)
US7408944B2 (en) Method, system, and apparatus for a virtual host gateway in a modem device
US20050125523A1 (en) Methodology for remote HBA management using message encapsulation
Ko Technical overview of iSCSI extensions for RDMA (iSER) & Datamover architecture for iSCSI (DA)
WO2024130615A1 (en) Data transmission method and related apparatus
Ko et al. Internet Small Computer System Interface (iSCSI) Extensions for the Remote Direct Memory Access (RDMA) Specification
Hufferd et al. Network Working Group M. Ko Request for Comments: 5046 IBM Corporation Category: Standards Track M. Chadalapaka Hewlett-Packard Company
Bigioi et al. PTP/IP-transport layer for picture transfer protocol
Ko et al. RFC 5046: Internet Small Computer System Interface (iSCSI) Extensions for Remote Direct Memory Access (RDMA)
US8275901B1 (en) Method and system to program programmable input output (PIO) pins via non-storage of a control message in a client
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
Kupris et al. Connecting Embedded Applications to the Internet

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