CN1205795C - 在无线射频介质上提供远程网络驱动器接口规范服务 - Google Patents

在无线射频介质上提供远程网络驱动器接口规范服务 Download PDF

Info

Publication number
CN1205795C
CN1205795C CNB018103030A CN01810303A CN1205795C CN 1205795 C CN1205795 C CN 1205795C CN B018103030 A CNB018103030 A CN B018103030A CN 01810303 A CN01810303 A CN 01810303A CN 1205795 C CN1205795 C CN 1205795C
Authority
CN
China
Prior art keywords
data
control order
equipment control
equipment
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
Application number
CNB018103030A
Other languages
English (en)
Other versions
CN1446425A (zh
Inventor
蒂莫西·M·摩尔
欧文·皮雷茨
肯尼斯·D·雷
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 Technology Licensing LLC
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 CN1446425A publication Critical patent/CN1446425A/zh
Application granted granted Critical
Publication of CN1205795C publication Critical patent/CN1205795C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • 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
    • 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
    • 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)
  • Stored Programmes (AREA)
  • Steering Control In Accordance With Driving Conditions (AREA)
  • Control Of Eletrric Generators (AREA)
  • Saccharide Compounds (AREA)
  • Noodles (AREA)
  • Communication Control (AREA)

Abstract

本发明提供用于在符合蓝牙规范的RF链路上提供网络报文协议的方法和计算机程序产品,其中网络报文协议是总线独立的,并且最初是为总线连接的网络设备设计的。一种网络报文协议为NDIS设备管理协议。于是,能够在蓝牙无线网络上使用计划在硬连接(或总线连接)网络上运行的许多计算机软件产品。

Description

在无线射频介质上提供 远程网络驱动器接口规范服务
相关申请的交叉参照
本申请涉及序号为09/556,567,申请日期为2000年4月24日,题目为“作为调制解调器或套接字的蓝牙兼容无线设备连接”(代理案件号204843)的美国专利申请,以及序号为556,568,申请日期为2000年4月24日,题目为“蓝牙Miniport驱动程序模型”(代理案件号204858)的美国专利申请,这里全文引用作为参考。
技术领域
本发明一般涉及无线接口技术,更确切地说,涉及计算机软件应用程序和根据蓝牙规范运行的无线设备之间的接口。
背景技术
为了在计算机系统上的软件和硬件组件之间提供最大兼容性,计算机的操作系统定义特定接口,软件组件的程序设计员可以访问并使用这些接口,而由硬件组件的设计者提供并支持这些接口。因此,通过使用定义的接口,能够确保软件组件与支持该接口的所有硬件组件的兼容性。同样,使提供特定接口的硬件组件确信软件组件能够通过该接口定位并访问硬件组件提供的功能性。
通常,经由物理电缆或电线,互连计算机和其他电子设备。这些通信通道允许在此类设备之间交换数据或控制信息。然而,人们越来越认识到消除互连设备使用的电缆和电线所产生的益处。此类益处包括易于配置和重新配置,其原因在于无需物理添加、删除或替换物理介质。此外,设备互连介质惯常使用的空间可用作他用。而且通过使用无线连接能够增加设备移动工作的灵活性。
一种在设备之间提供无线连接的方法是,利用电磁波频谱的红外线范围中的光波连接设备。IrDA(红外数据协会)协议定义此类连接机制。不幸的是,此类机制必须以瞄准线的方式运行。亦即,发射机和接收机之间的不透明障碍物妨碍正常操作。另外,当把IR发射机安装到通信设备中时,IR发射机通常不是全向的,因此为了进行正确操作,必须把发射机指向接收机的方向,例如30度公称偏差以内。最后,IR发射机通常为低功耗设备,因此IR链路的范围通常约为一米。
射频链路能够解决红外链路固有的许多问题,然而,需要射频连接模式,从而通过提供适当接口的连接机制,各种应用程序能够轻易访问无线电链路。通过射频链路定义无线设备之间的通信的一种协议是蓝牙规范。蓝牙设备无需以瞄准线方式运行,并且其范围远远大于IR链路的范围。然而,蓝牙规范的难点在于,只有为数很少的计算机软件程序能够与蓝牙兼容设备通信。蓝牙规范的另一个难点在于,能够在符合蓝牙规范的RF链路上运行的高层网络协议非常少。
发明内容
因此,本发明提供用于在符合蓝牙规范的RF链路上提供网络报文协议的方法和计算机程序产品,其中网络报文协议是总线独立的,并且最初是为总线连接的网络设备设计的。于是,能够在蓝牙无线网络上使用计划在硬连接(或总线连接)网络上运行的许多计算机软件产品。
本发明提供一种使用网络设备的方法,该网络设备包括一个网络连接和一个无线连接,该方法包括以下步骤:把设备控制命令和数据抽象为设备独立格式;建立连接独立的驱动程序层将所抽象的设备控制命令和数据封装为连接独立格式;使用中间驱动程序层将封装的设备控制命令和数据转换成连接特定的设备控制命令和数据;以及使用连接特定的驱动程序层将连接特定的设备控制命令和数据无线传送到网络设备,其中,该网络设备通过无线连接接收连接特定的设备控制命令和数据,通过网络连接发送数据。
本发明提供一种通过无线设备连接到网络的计算设备,该计算设备包括:一个设备独立驱动程序层,用于将设备控制命令和数据抽象为设备独立格式;一个连接独立的驱动程序层,用于将所抽象的设备控制命令和数据封装为连接独立格式;一个中间驱动程序层,用于将封装的设备控制命令和数据转换为连接特定的设备控制命令和数据;一个连接特定的驱动程序层,用于将连接特定的设备控制命令和数据传输到无线设备;以及一个无线通信硬件,由连接特定的驱动程序层使用以将连接特定的设备控制命令和数据传输到无线设备。
通过参照附图阅读所示实施方式的详细说明,将更加了解本发明的其他特征和优点。
附图说明
虽然附属权利要求书具体阐述本发明的特征,但是通过连同附图阅读以下详细说明书,将更好地理解本发明以及其目的和优点,其中附图为:
图1是一个框图,一般表示实施本发明的典型计算机系统;
图2是一个框图,一般表示七层网络模型;以及
图3是一个框图,一般表示本发明能够在其上运行的层模型。
具体实施方式
转到附图,其中相同参考号数表示相同部件,以在适当计算环境中实现本发明的方式,说明本发明。在诸如个人计算机执行的程序模块之类的计算机可执行指令的上下文中说明本发明,但并不做此规定。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,熟练技术人员可以了解,可以利用其他计算机系统配置实现本发明,这些配置包括手持设备、多处理器系统、基于微处理器的消费类电子产品或可编程的消费类电子产品、网络PC、小型机和大型计算机等。也可以在利用远程处理设备执行任务的分布式计算环境中,实现本发明,其中通过通信网络连接远程处理设备。在分布式计算环境中,可以在本地或远程存储器存储设备中存储程序模块。
参照图1,用于实现本发明的典型系统包括通用计算设备,如常规个人计算机20,个人计算机20包括处理部件21、系统存储器22和系统总线23,系统总线23将包括系统存储器在内的各种系统组件,连接到处理部件21。系统总线23可以为各种类型的总线结构,包括存储总线或存储控制器、外围总线以及使用各种总线体系结构的局域总线。系统存储器包括只读存储器(ROM)24和随机存取存储器(RAM)25。在ROM 24中存储包含基本例程的基本输入/输出系统(BIOS)26,这些基本例程帮助在个人计算机20内的部件之间传送信息,例如在启动时。个人计算机20还包括:用于读写硬盘60的硬盘驱动器27,用于读写可更换磁盘29的磁盘驱动器28,以及用于读写诸如CD ROM或其他光学介质之类的可更换光盘31的光盘驱动器30。
分别利用硬盘驱动器接口32、磁盘驱动器接口33和光盘驱动器接口34,把硬盘驱动器27、磁盘驱动器28和光盘驱动器30连接到系统总线23。驱动器及其关联的计算机可读介质为个人计算机20提供计算机可读指令、数据结构、程序模块以及其他数据的非易失性存储。尽管本文描述的典型环境采用硬盘60、可更换磁盘29和可更换光盘31,熟练技术人员可以理解,可以在典型操作环境中使用能够存储计算机可读数据的其他类型的计算机可读介质,如磁带、闪存存储卡、数字视盘、伯努利磁带、随机存取存储器、只读存储器等。
可以在硬盘60、磁盘29、光盘31、ROM 24或RAM 25中存储许多程序模块,包括一个操作系统35,一个或几个应用程序36,其他程序模块37和程序数据38。用户通过诸如键盘40和定点设备42之类的输入设备,把命令和信息输入到个人计算机20中。其他输入设备(未示出)包括麦克风、操纵杆、游戏控制器、圆盘式卫星电视天线或扫描仪等。通常,通过与系统总线相连的串行端口接口46,把输入设备连接到处理单元21,也可以利用诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口,进行连接。经由诸如视频适配器48之类的接口,把监视器47或其他类型的显示设备连接到系统总线23。除监视器之外,个人计算机通常还包括其他外围输出设备,如扬声器和打印机(未示出)。
个人计算机20可以在网络环境中运行,其中利用逻辑连接把个人计算机连接到一台或几台远程计算机或设备,如远程计算机49或RF设备64。远程计算机49可以为其他的个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,通常包括相对于个人计算机20描述的许多或所有设备,尽管图1仅示出存储器存储设备50。射频(RF)设备64可以为蜂窝式电话、数字照相机、其他的个人计算机或能够通过RF频谱进行通信的其他设备。图1描述的逻辑连接包括局域网(LAN)51,广域网(WAN)52和RF连接63。上述网络环境在办公室、企业计算机网络、内联网和因特网中很普通。
当在LAN网络环境中使用时,通过网络接口或适配器53,把个人计算机20连接到局域网51。当在WAN网络环境中使用时,个人计算机20通常包括调制解调器54或用于在WAN 52上建立通信链路的其他装置。经由串行端口接口46,把内置或外置调制解调器54连接到系统总线23。当和RF连接63一起使用时,个人计算机20包括RF接口62。在网络环境中,可以在远程存储器存储设备中存储与个人计算机20有关的全部或部分的程序模块。可以理解,所示网络连接只是示范性的,也可以使用用于在计算机之间建立通信链路的其他方法。
在以下说明中,将参照一台或几台计算机执行的动作和操作的符号表示,描述本发明,除非另有说明。同样,可以理解,有时称为计算机执行模块的动作和操作,包括表示结构数据的电信号的计算机的处理单元进行的处理。此类处理把数据传送或保存到计算机的存储系统中的某个位置,此类处理以熟练技术人员易于理解的方式,重新配置或改变计算机的操作。保存数据的数据结构为存储器的物理位置,存储器的物理位置具有数据格式定义的特定属性。然而,正如熟练技术人员理解的那样,尽管在上述上下文中描述本发明,但并不意味着此类限制,可以利用硬件实现下文描述的各种动作和操作。
根据本发明并转到图2,该图表示开放系统互连(OSI)七层模型。该模型为计算机网络的工业标准抽象。应用层100直接服务终端用户,并支持与用户进行交互的软件应用程序。表示层102解释从一台计算机上的应用层100发送到另一台计算机上的应用层的数据。会话层104描述正在传送的数据的结构。传输层106作为最终的纠错层,确保以正确顺序,在没有损失也没有重复的情况下,正确传送数据。网络层108定义通过网络的数据的寻址和路由。它控制局部子网的操作,并根据给定的网络条件、服务优先级和其他因素,确定该数据采用的物理通路。数据链路层110控制数据块或数据包在网络上的传输,并提供更基础的纠错。把数据链路层110划分为两个子层:逻辑链路控制(LLC)子层和媒体存取控制(MAC)子层。LLC子层通过保持逻辑链路,控制帧流,排定数据帧的先后顺序,应答数据帧以及重新传输未应答的数据帧,确保数据帧的正确传输。MAC子层管理对网络的存取,检查帧错误以及所接收帧的地址识别。包含LLC子层的协议只需最低限度的传输层106。最后,物理层112传送发送到网络连接114的信号。通常,利用把计算机20连接到网络连接114的硬件,实现物理层112。
网络设备接口规范(NDIS)116可以驻留在网络层108和数据链路层110之间。NDIS 116能够提供软件组件和硬件组件之间的接口库。NDIS 116通过提供网络接口卡(NIC)驱动程序需要执行的每个外部函数的例程,定义NIC驱动程序开发需要的全部抽象环境。因此,NDIS116能够提供NIC驱动程序和上层协议驱动程序之间的通信接口,以及NIC驱动程序和其低层NIC硬件之间的通信接口。
通常,在计算机上运行的软件组件中,实现应用层100、表示层102、会话层104、传输层106和网络层108。以诸如网络接口卡之类的硬件组件的方式,实现数据链路层110和物理层112。在传输层110中实现的软件驱动程序利用NDIS 116库,与在数据链路层110中实现的网络接口卡驱动程序进行通信。传输层驱动程序通常实现网络协议栈,如因特网上使用的众所周知的传输控制协议/网际协议(TCP/IP)。如果传输层软件驱动程序有需要传送的数据包,则通过NDIS 116库的接口,调用NIC驱动程序,然后向下传送需要传输的数据包。同样,NIC驱动程序利用NDIS 116的接口,把数据包传送到NIC本身,以便在网络上传输。NDIS 116的接口可以调用操作系统的特定组件,后者完成在NIC的传输。同时,NIC驱动程序利用NDIS 116的接口与传输层软件驱动程序通信,并且NDIS 116的接口向上传送接收的数据包或其他信息。
物理层112的一个例子是无线射频(RF)设备64。用于设备64和计算机20之间的无线通信的日益普及的RF协议是蓝牙协议,“蓝牙系统规范”版本1.0B(1999年12月1日)详细描述蓝牙协议,这里全文引用作为参考。参见附录B中的“Windows无线体系结构”介绍,附录C中的“蓝牙体系结构概述”介绍,附录D中的“Windows蓝牙体验”介绍和附录E中的“Windows蓝牙协议栈”介绍。正如蓝牙规范中描述的那样,逻辑链路控制和自适应协议(L2CAP)允许高层协议在与蓝牙兼容的RF链路上运行。在“蓝牙系统规范”版本1.0B,附录A的D部分“逻辑链路控制和自适应协议规范”(1999年12月1日)中详细描述L2CAP层,这里全文引用作为参考。一种高层消息协议是微软公司的远程网络设备接口规范(远程NDIS),序号为09/302,735,申请人为Hyder等,题目为“用于抽象网络设备驱动器的方法和系统”,申请日期为1999年4月30日并且转让给本发明之受让人的共同未决申请,详细描述以上消息协议,这里全文引用作为参考。正如上述共同未决申请中描述的那样,远程NDIS在不改变特定总线消息传输机制的情况下,提供扩展性,从而物理层112能够实现更多种类的传输机制。远程NDIS还提供用于网络和外部总线设备模型的驱动器体系结构。
在不使用本发明的情况下,硬件厂商需要编写两个驱动程序,即,NDIS miniport驱动程序以及总线或网络接口。然而,以单个二进制代码的方式分发两个驱动程序。第一个驱动程序,即,NDIS miniport驱动程序,与NDIS 116交换信息,并且通过某些厂商的专用API,与总线或网络接口驱动器进行通信。总线或网络接口驱动器是面向特定总线或网络的,并且通过适当的总线或网络驱动器与硬件通信。NDISminiport驱动程序以及总线或网络接口驱动器通过特定厂商的API进行通信,因为上述两个驱动程序都是由正在访问的网络设备的厂商编写的。因此,NDIS miniport必须符合NDIS API,以便与NDIS层116通信,同时总线或网络接口必须符合适当的总线或网络驱动器,以便向网络设备传送信息,NDIS miniport与总线或网络接口之间的交互完全由硬件厂商自行处理。要求设备厂商为市场上销售的每种设备编写两个驱动程序会引起某些非常严重的问题。例如,硬件厂商以及利用其软件分发某些设备驱动程序的操作系统开发商,很难管理设备驱动程序的绝对号,并且管理费用很高。此外,由于厂商同时提供到达NDIS以及总线或网络接口的连接,所以网络功能性和特定总线的细节是联在一起的,因此不可能在缺少另一个驱动程序的情况下,更新一个驱动程序。通过解决上述问题,将能够快速部署远程连接的网络设备,并且以更低成本开发基于主机的驱动程序。
可以利用远程NDIS miniport层以及特定总线或网络的microport,替换设备硬件厂商提供的NDIS miniport驱动程序以及总线或网络接口。远程NDIS miniport层以及特定总线或网络的microport独立于正在访问的特定设备,因此可以作为操作系统的一部分。因此,不再要求写入远程NDIS规范的硬件厂商编写其设备的基于主机的驱动程序。
远程NDIS定义连接不可知或连接独立的消息集,以及该消息集在诸如特定总线或网络之类的特定连接上的运行方式的描述。由于远程NDIS接口是标准化的,所以主驱动程序的核心集能够支持许多附属网络设备,从而能够提高系统稳定性以及用户满意度,因为无需安装新驱动程序就能支持新增网络设备。远程NDIS体系结构包括远程NDIS miniport驱动程序,后者理解远程NDIS消息集,并与特定总线或网络的microport驱动程序进行通信。具体而言,在不修改网络设备的情况下,远程NDIS miniport层把NDIS OID(对象标识符)和NDIS数据包,封装到能够传送的数据结构中。该数据结构称为远程NDIS消息。
特定总线或网络的microport驱动程序代表中间层,后者理解负责把消息传送到设备上的总线或网络。因此,microport层接收远程NDIS消息,然后把它们传送到总线或网络驱动器层的相应部件。接着,总线或网络驱动器层将远程NDIS消息传送到NDIS设备。
由于网络协议机制是在特定总线或网络microport层上抽取的,所以仅仅改变远程NDIS miniport层就能添加新的网络功能性。Microport层保持不变,因为microport层仅仅是一种消息传输机制,该机制传送封装在NDIS消息中的NDIS OID以及NDIS数据包。此外,所有总线或网络microport均可使用以新的NDIS OID格式添加的网络功能性,因为单个远程NDIS miniport层能够为它们提供服务。本发明还保持向后兼容性。在添加新的NDIS OID时,远程NDIS设备可能回答并不理解该NDIS OID,因此不支持新的网络功能。
现在转到图3,诸如L2CAP信道160之类的单一L2CAP信道用于远程NDIS控制通信。上述控制通信包括控制信息,控制消息的应答,以及设备162用来指示状态改变的消息。利用一个分离的L2CAP信道交换远程NDIS数据包。数据报文的长度至多为1500字节,当使用全部蓝牙带宽时大约需要20ms,如果该数据报文需要与其他通信量共享带宽,则所需时间会大大增加。因此,提供一个分离的L2CAP信道160,以限制发送控制消息时的等待时间。可以增加额外的L2CAP信道,以便容纳设备162上可能存在的众多网络信道。
正如参照图2说明的那样,将控制消息直接发送到图3所示的控制层158,而首先由媒体存取控制层154接收数据,然后进行封装以便在物理层156的物理网络上传输。为了便于发送应答和状态信号,并且为了提供即时控制,将控制层158直接连接到媒体存取控制层154和物理层156。
通过L2CAP信道150,在主机164和设备162之间传送网络数据。采用NDIS网络协议栈所用模型上的NDIS数据包机制,对该数据进行封装。L2CAP支持的数据包的最大长度为媒体的最大MTU减去RNDIS报头长度。设备152可以将NDIS函数调用的中MaxTransferSize值填写为该设备能够发送的最大L2CAP报文。如果主机164具有的报文长度小于L2CAP最大报文长度,则利用它的最大报文长度重写返回信息。主机164或设备162均能发起控制和数据L2CAP信道的建立。
表1表示能够用于蓝牙远程NDIS设备的最小服务发现协议(SDP)记录。正如从表中看到的那样,远程NDIS设备使用标准服务发现描述。个人区域网络(PAN)服务能够彼此通信。蓝牙设备可能拥有许多PAN服务。例如,蜂窝电话可以具有一台无线WAN服务器,该服务器供蓝牙设备访问蜂窝数据网络。在上述情况中,ServiceName为“WWAN”,或者是一个更具描述性的名称。作为选择,蜂窝电话可以具有PAN服务,该服务允许内部PAN服务在设备之间进行对等通信。在上述情况中,可以把ServiceName设置为“PEER”。设备不能利用ServiceName PEER广告多个PAN配置文件。
表1
     项目    定义    类型/大小 属性ID
    ServiceClassIDList 0x0001
    ServiceClass0   UUID/32比特
    ProtocolDescriptorList 0x0004
    Protocol0   L2CAP   UUID/32比特 L2CAP
    Protocol1   PAN   UUID/32比特 PAN
    ProtocolSpecificParameter0   控制信道   Unit8 N=控制信道号
    ProtocolSpecificParameter1   数据信道   Unit8 N=数据信道1
    ProtocolSpecificParameterN   数据信道   Unit8 N=控制信道N
    ServiceName   可显示的正文名
远程NDIS蓝牙设备可以建立或接收两个或多个L2CAP信道:一个控制信道以及一个或多个数据信道。以L2CAP分组数据单元(PDU)的形式,发送到达设备162的报文。能够在控制信道160上,从主机164向该设备发送一个报文,然后该设备在相同控制信道上发送应答。蓝牙RNDIS设备的典型事务示例如下:主机164在控制信道上发出蓝牙WRITE,其内容包括NdisQueryRequest类型。将NdisQueryRequest的RNDIS_OID的值设置为OID_GEN_MEDIA_CONNECT_STATUS。当设备162收到蓝牙数据时,对NdisQueryRequest进行解码,然后执行必要操作以确定连接状态。当该设备在NdisQueryRequest中具有主机请求的信息时,在控制信道160上发出蓝牙WRITE,包括NdisQueryResponse。此时,可以将NdisQueryResponse设置为OID_GEN_MEDIA_CONNECTION_STATUS。
蓝牙是对等系统。此外,SDP记录并不定义主机和设备系统之间的差异。因此,蓝牙microport可能对它自己产生消极影响。只有主机的RNDIS microport才需要发出某些报文,并且仅仅接收某些报文。然而,由于microport可以是主机、设备或二者,所以能够处理主机或设备接收的所有报文。因此,microport必须处理上述报文。例如,当连接到蜂窝电话时,蓝牙microport可以仅仅作为主机microport,当连接到运行microport的其他设备时,可以作为双重主机/设备。必须将microport设计为在处理报文时不出现摆动。
远程NDIS定义REMOTE_NDIS_PACKET报文的格式,包括传送NDIS OOB的空间以及每数据包信息字段。当远程驱动器指定它支持的功能性时,由NDIS提供每数据包信息文件。可以支持特定媒体类型的OOB信息。例如,对以太网不需要对等仿真字段。此时,不需要44字节的偏移以及数据包信息长度字段。因此,1514字节的以太网MTU L2CAP具有最小值为1554字节的MTU,大约浪费3%的蓝牙带宽。对于低速链路,这的确是一个问题。如果DataOffset为4,则可以进行优化,其前提是RNDIS_PACKET报头的其他部分为NULL。从而能够使数据总开销变为16字节,即1%。
在实施时,当支持PAN服务的远程蓝牙设备在范围内并且能够通信时,加载蓝牙microport。通过加载microport,促使microport发送初始化报文。例如,如果远程设备为蜂窝电话,则利用初始化完成报文进行应答。作为另一个例子,如果远程设备为其他Windows设备,也可以生成初始化报文。Microport可以接收诸如REMOTE_NDIS_INITIALIZE_MSG、REMOTE_NDIS_QUERY_MSG、REMOTE_NDIS_SET_MSG、REMOTE_NDIS_RESET_MSG以及REMOTE_NDIS_KEEPALIVE_MSG之类的额外报文。在附录F中题目为“蓝牙规范上的远程NDIS”(2000年3月20日)一节中详细描述以上报文。
这里全文引用包含专利、专利申请以及出版物在内的所有文献作为参考。
由于可以将本发明的原理应用于许多可能的实施方式,所以应该理解,参照附图叙述的实施方式只是说明性的,而并不能视为对本发明使用范围的限制。例如,熟练技术人员可以理解,可以利用硬件实现用软件表示的实施方式中的组件,反之亦然,可以在排列或细节方面修改所示实施方式而并不背离本发明的实质。因此,本文叙述的发明认为所有此类实施方式均在附属权利要求书及其等价物的范围内。

Claims (12)

1.一种使用网络设备的方法,该网络设备包括一个网络连接和一个无线连接,该方法包括以下步骤:
把设备控制命令和数据抽象为设备独立格式;
建立连接独立的驱动程序层将所抽象的设备控制命令和数据封装为连接独立格式;
使用中间驱动程序层将封装的设备控制命令和数据转换成连接特定的设备控制命令和数据;以及
使用连接特定的驱动程序层将连接特定的设备控制命令和数据无线传送到网络设备,其中,该网络设备通过无线连接接收连接特定的设备控制命令和数据,通过网络连接发送数据。
2.权利要求1的方法,其特征在于无线连接是蓝牙连接;并且连接特定的设备控制命令和数据符合蓝牙协议。
3.权利要求1的方法,其特征在于连接特定的驱动程序层通过至少一个L2CAP信道,将连接特定的设备控制命令和数据传输到无线设备。
4.权利要求3的方法,其特征在于连接特定的驱动程序层通过第一L2CAP信道传输连接特定的设备控制命令,通过第二L2CAP信道传输连接特定的数据。
5.权利要求1的方法,其特征在于中间驱动程序层参照服务发现协议记录,将封装的设备控制命令和数据转换为连接特定的设备控制命令和数据。
6.权利要求1的方法,其特征在于连接特定的驱动程序层通过把连接特定的设备控制命令和数据分割为比网络设备的无线连接使用的无线协议的最大传输单位小的数据包,传输连接特定的设备控制命令和数据。
7.一种通过无线设备连接到网络的计算设备,该计算设备包括:
一个设备独立驱动程序层,用于将设备控制命令和数据抽象为设备独立格式;一个连接独立的驱动程序层,用于将所抽象的设备控制命令和数据封装为连接独立格式;一个中间驱动程序层,用于将封装的设备控制命令和数据转换为连接特定的设备控制命令和数据;一个连接特定的驱动程序层,用于将连接特定的设备控制命令和数据传输到无线设备;以及一个无线通信硬件,由连接特定的驱动程序层使用以将连接特定的设备控制命令和数据传输到无线设备。
8.权利要求7的计算设备,其特征在于无线通信硬件使用蓝牙协议;并且连接特定的设备控制命令和数据符合蓝牙协议。
9.权利要求7的计算设备,其特征在于连接特定的驱动程序层通过至少一个L2CAP信道,将连接特定的设备控制命令和数据传输到无线设备。
10.权利要求9的计算设备,其特征在于连接特定的驱动程序层通过第一L2CAP信道传输连接特定的设备控制命令,通过第二L2CAP信道传输连接特定的数据。
11.权利要求7的计算设备,其特征在于中间驱动程序层参照服务发现协议记录,将封装的设备控制命令和数据转换为连接特定的设备控制命令和数据。
12.权利要求7的计算设备,其特征在于连接特定的驱动程序层将连接特定的设备控制命令和数据分割为比无线通信硬件使用的无线协议的最大传输单位小的数据包。
CNB018103030A 2000-04-24 2001-03-22 在无线射频介质上提供远程网络驱动器接口规范服务 Expired - Fee Related CN1205795C (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
CN1446425A CN1446425A (zh) 2003-10-01
CN1205795C true CN1205795C (zh) 2005-06-08

Family

ID=24221875

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018103030A Expired - Fee Related CN1205795C (zh) 2000-04-24 2001-03-22 在无线射频介质上提供远程网络驱动器接口规范服务

Country Status (13)

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

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
CA2605852C (en) * 2005-04-25 2012-06-19 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
US9088915B2 (en) 2007-03-22 2015-07-21 Telefonaktiebolaget L M 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
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
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
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US20090254924A1 (en) * 2008-04-04 2009-10-08 Microsoft Corporation Operating system interfaces for virtual wifi and softap capable drivers
US8396992B2 (en) * 2009-01-30 2013-03-12 Cassis International Pte Ltd System and method for virtualizing the peripherals in a terminal device to enable remote management via removable portable 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)

* 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 (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

Also Published As

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

Similar Documents

Publication Publication Date Title
CN1205795C (zh) 在无线射频介质上提供远程网络驱动器接口规范服务
US7631031B2 (en) Point-to-point data communication implemented with multipoint network data communication components
US6760804B1 (en) Apparatus and method for providing an interface between legacy applications and a wireless communication network
US20070294457A1 (en) USB wireless network drive
US7827334B2 (en) Protocol method apparatus and system for the interconnection of electronic systems
US8234628B2 (en) Layered architecture for mobile terminals
US20020181501A1 (en) System and method for machine to machine communication
US20050177625A1 (en) System and method for trivial file transfer protocol including broadcasting function
WO2005098637A1 (en) Operating a remote usb host controller
US7660875B2 (en) Bidirectional remote communication via browser plug-in
US7389334B2 (en) Exposing bluetooth compliant wireless device connection as modems or sockets
EP1051825A1 (en) Communications system for mobile data transfer
WO2011017648A1 (en) System and method for sharing a payload among multiple homed networks
US20100002717A1 (en) Partitioned Medium Access Control Implementation
CN107872431B (zh) 一种数据收发方法、装置及基站
US11216424B2 (en) Dynamically rendering an application programming interface for internet of things applications
Roth A Communication Middleware for Mobile and Ad-hoc Senarios.
Hännikäinen et al. Windows NT software design and implementation for a wireless LAN base station
WO2021236785A1 (en) Dynamically rendering an application programming interface for internet of things applications
KR20050061959A (ko) 데이터 서비스 시스템
Kupris et al. Connecting Embedded Applications to the Internet
KR20020073676A (ko) 키폰 시스템의 데이터 패킷 전송 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150507

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150507

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20050608

Termination date: 20190322