CN1610325A - 移动连接服务和wwan设备之间的接口 - Google Patents

移动连接服务和wwan设备之间的接口 Download PDF

Info

Publication number
CN1610325A
CN1610325A CNA200410088279XA CN200410088279A CN1610325A CN 1610325 A CN1610325 A CN 1610325A CN A200410088279X A CNA200410088279X A CN A200410088279XA CN 200410088279 A CN200410088279 A CN 200410088279A CN 1610325 A CN1610325 A CN 1610325A
Authority
CN
China
Prior art keywords
oid
wwan
equipment
device driver
driver
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.)
Pending
Application number
CNA200410088279XA
Other languages
English (en)
Inventor
A·W·沈
D·A·奴德森
H·庄
N·S·S·N·劳
T·曼德哈那
W·V·巴克利
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 CN1610325A publication Critical patent/CN1610325A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • H04W12/068Authentication using credential vaults, e.g. password manager applications or one time password [OTP] applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0853Network architectures or network communication protocols for network security for authentication of entities using an additional device, e.g. smartcard, SIM or a different communication terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/06Authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W92/00Interfaces specially adapted for wireless communication networks
    • H04W92/04Interfaces between hierarchically different network devices
    • H04W92/10Interfaces between hierarchically different network devices between terminal device and access point, i.e. wireless air interface

Abstract

为支持移动连接的服务和展现WWAN数据服务的设备驱动器之间的基于事件的配置接口提供了方法和系统。在服务和设备驱动器之间传递对象标识符(OID)。启用异步通信。提供了用于使用OID来协商诸如基于GSM和CDMA设备等WWAN设备的配置,包括PIN、SIM和信号强度的方法和系统。

Description

移动连接服务和WWAN设备之间的接口
相关申请的参照
本发明要求2003年10月24日提交的Shen等人的名为“NIDS WWAN接口(NIDS WWAN INTERFACE)”的美国临时专利申请号60/514,331的优先权,该申请通过整体引用结合于此。
技术领域
本发明一般涉及计算机软件—硬件接口,尤其涉及用户模式连接应用程序和内核模式WWAN设备驱动器之间的接口。
背景技术
无线广域网(WWAN,更常见地被称为蜂窝操作器)允许计算机连接到采用WWAN协议,如全球移动系统(GSM)、通用分组无线电服务(GPRS)、码分多址(CDMA)等的网络。尽管最初用于语音传输,然而这些网络可向其具有用WWAN连接硬件装备的计算机或设备的最终用户提供有效的数据服务。
现有系统需要个别的WWAN硬件开发者提供自定义配置的用户接口用于在WWAN上管理无线数据服务。这些接口允许用户接口和WWAN设备之间的通信,但是其专有特性意味着给定用户接口仅与一特定的WWAN设备兼容。此外,现有系统的用户接口通常需要用户通过高度手动的过程来配置连接。
现有系统另外还具有需要WWAN设备驱动器及其配置的用户接口之间的同步通信的缺点。例如,如果在现用系统中WWAN设备驱动器需要个人标识号(PIN),则必须由用户输入该PIN,将该PIN发送到设备驱动器并由设备驱动器在发出任何另外的命令之前处理。现有系统所施加的同步通信的需求经常导致配置WWAN设备的冗长时段,因为仅当先前的命令完成之后才能发送配置命令。
发明内容
本发明的实施例提供了用于支持移动连接(如,“漫游服务”)的服务和展现WWAN数据服务的设备驱动器之间的基于事件的配置接口的方法和系统。该接口旨在用最小的用户配置向漫游服务提供必要状态和事件。
依照本发明的一个方面,提供了一种系统,用于使用用户模式模块—内核模式驱动器接口,通过使用OID向内核模式WWAN设备驱动器发送命令并从其接收信息。在一个实施例中,WWAN设备驱动器控制基于GSM的设备。在另一实施例中,WWAN设备驱动器控制基于CDMA的设备。在又一实施例中,WWAN设备驱动器控制基于CDMA或GSM的设备。
在一个实施例中,某些OID用于向用户模式实体指示WWAN设备已由WWAN服务提供商供应(provision)。在另一实施例中,某些OID用于用来自SIM的信息进行验证。在又一实施例中,某些OID用于用PIN进行验证。在一个版本中,PIN结合语音呼叫一起使用。
在一个实施例中,某些OID用于管理信号强度范围阈值。在一个版本中,某些OID用于建立信号强度范围阈值,某些OID用于指示信号强度处于建立的信号强度范围阈值之外。
在一个实施例中,某些OID用于管理信号强度报告间隔。在一个版本中,某些OID用于建立信号强度报告间隔,某些OID以建立的信号强度报告间隔的最小频率接收。
依照本发明的另一方面,提供了一种方法,用于使用通过用户模式模块—内核模式驱动器接口发送的OID管理WWAN设备的信号强度。在一个实施例中,该方法包括发送一OID以建立信号强度范围阈值,以及接收报告处于建立的信号强度范围阈值之外的WWAN设备的信号强度的OID。在另一实施例中,该方法还包括发送一OID来调整信号强度范围阈值。在又一实施例中,该方法还包括由结合WWAN设备的WWAN设备驱动器确定WWAN设备的信号强度处于建立的信号强度范围阈值之外。
依照本发明的另一方面,提供了一种方法,用于用户模式实体使用通过用户模式模块—内核模式驱动器接口发送的OID来初始化WWAN设备。在一个实施例中,该方法包括发送并接收OID以向连接WWAN设备的设备驱动器查询关于该设备支持的媒质的信息、发送一OID以设置用户模式实体支持的配置服务版本的范围、发送并接收OID以向设备驱动器查询该设备驱动器支持的配置服务版本的范围、以及发送并接收OID以向设备驱动器查询设备驱动器的能力。在一个实施例中,WWAN设备驱动器控制基于GSM的设备。在另一实施例中,WWAN设备驱动器控制基于CDMA的设备。
依照本发明的另一方面,提供了一种方法,用于用户模式实体使用通过用户模式模块—内核模式驱动器接口发送的OID来初始化WWAN设备。在一个实施例中,该方法包括初始化连接WWAN设备的设备驱动器、发送一OID以初始化协议栈、接收指示该设备驱动器处于准备好状态的OID、发送一OID以对收发器加电并尝试注册、发送一OID以建立环境、以及接收指示该设备已连接并已为通信会话准备好的OID。在另一实施例中该方法还包括从设备驱动器接收指示是否需要PIN的OID。在一个版本中,如需要PIN,用户模式实体发送包含PIN的OID。
在一个实施例中,该方法还包括接收指示设备驱动器在搜索提供商的OID。在一个版本中,该方法还包括接收指示该设备驱动器具有附加的分组的OID。
在一个实施例中,该方法还包括发送请求供应上下文的列表的OID。在一个版本中,该方法还包括接收具有供应上下文的列表的OID。
在一个实施例中,WWAN设备是基于GSM的设备。在另一实施例中,WWAN设备是基于CDMA的设备。
附图说明
尽管所附权利要求书用特殊性阐明了本发明的特征,然而当结合附图阅读以下详细描述时,可以最好地理解本发明及其优点,附图中:
图1所示是依照本发明的一个实施例用于实现WWAN设备的配置的计算装置的示例性体系结构的简化示意图;
图2是包括移动计算装置可能连接到其上的多个网络接入点的示例性多个网络通信媒质布置;
图3是标识实施本发明的计算装置内移动连接模块到WWAN设备驱动器的接口中的主要组件的示意图;
图4所示是依照本发明的一个实施例的对象标识符的组件图;
图5是例示了依照本发明的一个实施例使用对象标识符的移动连接模块到WWAN设备驱动器的接口中的异步请求和响应的修改的流程图;
图6所示是本发明的一个实施例中所使用的对象标识符的功能组的示图;
图7所示是依照本发明的一个实施例的使用对象标识符的WWAN设备驱动器的初始化的修改的流程图;
图8所示是依照本发明的一个实施例的WWAN设备的初始化的修改的流程图;
图9所示是依照本发明的一个实施例在分组连接过程中使用对象标识符由WWAN设备服务的语音呼叫的修改的流程图;
图10所示是依照本发明的一个实施例使用对象标识符控制并监控信号强度的修改的流程图;以及
图11所示是依照本发明的一个实施例使用对象标识符需要SIM密码的操作的执行的修改的流程图。
具体实施方式
现在参考较佳实施例描述使用OID在支持移动连接的服务和展现WWAN数据的设备驱动器之间接口的方法和系统;然而,本发明的方法和系统不限于移动连接服务和设备驱动器之间的接口。此外,本领域的技术人员容易理解,本发明所描述的方法和系统仅为示例性的,并且可以在不脱离本发明的精神和范围的情况下作出各种变化。
结合附图阅读以下详细描述,可以更完整地理解本发明。在该描述中,在本发明的各个实施例内,相同的标号标识相同的元件。示出本发明在合适的计算环境中实现。尽管并非所需,但本发明将在计算机可执行指令的一般环境中描述,计算机可执行指令如由个人计算机执行的过程。一般而言,过程包括程序模块、例程、函数、程序、对象、组件、数据结构等等,执行特定的任务或实现特定的抽象数据类型。此外,本领域的技术人员可以理解,本发明可以使用其它计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器或可编程消费者电子设备、网络PC、小型机、大型机等等。本发明也可以在分布式计算环境中实践,其中,任务由通过通信网络连接的远程处理设备来执行。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中。术语计算机系统可用于指诸如在分布式计算环境中的计算机系统。
图1示出了适合在其中实现本发明的计算系统环境100的一个示例。计算系统环境100仅为合适的计算环境的一个示例,并非建议对本发明的使用或功能的范围的局限。也不应将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合具有依赖或需求。尽管本发明的一个实施例确实包括示例性操作系统100中所示的每一组件,然而本发明的另一更典型的实施例排除了非本质的组件,如,除网络通信所需要之外的输入/输出设备。
参考图1,用于实现本发明的示例系统包括以计算机110形式的通用计算装置。计算机110的组件可包括但不限于,处理单元120、系统存储器130以及将包括系统存储器的各类系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干种总线结构类型的任一种,包括存储器总线或存储器控制器、外围总线以及使用各类总线结构之一的局部总线。作为示例而非局限,这类结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线以及外围部件互连(PCI)总线,也称为Mezzanine总线。
计算机110通常包括各种计算机可读媒质。计算机可读媒质可以是可由计算机110访问的任一可用媒质,包括易失和非易失媒质、可移动和不可移动媒质。作为示例而非局限,计算机可读媒质包括计算机存储媒质和通信媒质。计算机存储媒质包括以用于储存信息的任一方法或技术实现的易失和非易失,可移动和不可移动媒质,信息如计算机可读指令、数据结构、程序模块或其它数据。计算机存储媒质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它媒质。通信媒质通常在诸如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并包括任一信息传送媒质。术语“已调制数据信号”指以对信号中的信息进行编码的方式设置或改变其一个或多个特征的信号。作为示例而非局限,通信媒质包括有线媒质,如有线网络或直接连线连接,以及无线媒质,如声学、RF、红外和其它无线媒质。上述任一的组合也应当包括在计算机可读媒质的范围之内。
系统存储器130包括以易失和/或非易失存储器形式的计算机存储媒质,如只读存储器(ROM)131和随机存取存储器(RAM)132。基本输入/输出系统133(BIOS)包括如在启动时帮助在计算机110内的元件之间传输信息的基本例程,通常储存在ROM 131中。RAM 132通常包含处理单元120立即可访问和/或当前正在操作的数据和/或程序模块。作为示例而非局限,图1示出了操作系统134、应用程序135、其它程序模块136和程序数据137。
计算机110也可包括其它可移动/不可移动、易失/非易失计算机存储媒质。仅作示例,图1示出了对不可移动、非易失磁媒质进行读写的硬盘驱动器141、对可移动、非易失磁盘152进行读写的磁盘驱动器151以及对可移动、非易失光盘156,如CD ROM或其它光媒质进行读写的光盘驱动器155。可以在示例性操作环境中使用的其它可移动/不可移动、易失/非易失计算机存储媒质包括但不限于,磁带盒、闪存卡、数字多功能盘、数字视频带、固态RAM、固态ROM等等。硬盘驱动器141通常通过不可移动存储器接口,如接口140连接到系统总线121,磁盘驱动器151和光盘驱动器155通常通过可移动存储器接口,如接口150连接到系统总线121。
图1讨论并示出的驱动器及其关联的计算机存储媒质为计算机110提供了计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图1中,示出硬盘驱动器141储存操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以与操作系统134、应用程序135、其它程序模块136和程序数据137相同,也可以与它们不同。这里对操作系统144、应用程序145、其它程序模块146和程序数据147给予不同的标号来说明至少它们是不同的副本。用户可以通过输入设备,如图形输入板或电子数字化仪164、麦克风163、键盘162和定位设备161(通常指鼠标、跟踪球或触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通常通过耦合至系统总线的用户输入接口160连接至处理单元120,但是也可以通过其它接口和总线结构连接,如并行端口、游戏端口或通用串行总线(USB)。监视器191或其它类型的显示设备也通过接口,如视频接口190连接至系统总线121。监视器191也可以与触摸屏面板或其类似物一体形成。注意,监视器和/或触摸屏面板可以物理地耦合至包含计算装置110的外壳,如图形输入板类型的个人计算机。另外,诸如计算装置110的计算机也包括其它外围输出设备,如扬声器197和打印机196,通过输出外围接口194或其类似物连接。
计算机110可以在使用到一个或多个远程计算机,如远程计算机180的逻辑连接的网络化环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公用网络节点,并通常包括许多或所有上述与计算机420相关的元件,尽管在图1中仅示出了存储器存储设备181。图1描述的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但也可包括其它网络。这类网络环境常见于办公室、企业范围计算机网络、内联网以及因特网。例如,在本发明中,计算机110可包括向其移植数据的源机器,并且远程计算机180可包括目标机器。然而,注意,源和目标机器不需要通过网络或任一其它装置连接,而是相反,数据可通过能够由源平台写并且由一个或多个目标平台读的任一媒质移植。
当在LAN网络环境中使用时,计算机110通过网络接口或适配器170连接至LAN 171。当在WAN网络环境中使用时,计算机110通常包括调制解调器172或其它装置,用于通过WAN 173,如因特网建立通信。调制解调器172可以是内置或外置的,通过用户输入接口160或其它合适的机制连接至系统总线121。在网络化环境中,描述的与计算机110相关的程序模块或其部分可储存在远程存储器存储设备中。作为示例而非局限,图1示出了远程应用程序185驻留在存储器设备181中。可以理解,示出的网络连接是示例性的,也可以使用在计算机之间建立通信链路的其它装置。
本发明可潜在地结合进各种动态网络环境中使用的移动和非移动计算装置/机器中。在这一环境中,当可用媒体设置变化、特定媒体上的服务质量变化、和/或各种通信媒体上的工作负荷变化时,通信的较佳方式可能变化。转向图2,描述了可能利用本发明的无线计算环境的一个简单示例。在说明性环境中,笔记本计算机200包括方便通过多个通信媒体进行通信的多个网络接口卡(未具体示出)。在图2描述的具体示例中,笔记本计算机200(通过WWAN媒体)与蜂窝传输塔202以及(通过WLAN媒体)通信上耦合至局域网206的无线收发器204进行通信。
无线收发器204(也称为无线接入点,或WAP)提供了对LAN 206上各种资源的访问。例如,无线收发器204提供笔记本计算机200到文件服务器208上维护的目录/文件的访问。LAN 206也包含提供LAN 206的用户,包括笔记本计算机200的用户对因特网212的访问的网关/防火墙/调制解调器210。网关/防火墙/调制解调器210也提供因特网的用户对LAN 206上的资源的访问。
作为多个支持的网络媒体的结果,笔记本计算机200的用户能够通过多个通信媒体访问因特网212和文件服务器208(通过因特网212)。例如,使用WWAN网络接口,笔记本计算机200能够通过包括蜂窝传输塔202的蜂窝网络访问WWAN213和因特网212。可选地,笔记本计算机200通过无线收发器204访问LAN 206上的资源。假定说明性示例中示出的LAN 206包括允许笔记本计算机200的正确验证的用户能够通过两个图示描述的无线网络媒体的任一个访问因特网212和LAN 206的资源的网络接入和代理服务器。笔记本计算机通过多个媒体访问同一资源的能力引入了基于笔记本计算机200的用户的当前条件、需求、优选等选择无线网络媒体的具体一个的潜力。例如,网络的其它用户(如,通过无线收发器204连接的PC 214以及硬布线PC 216)通过多个媒体网络的具体一个竞争有限的网络带宽和/或降低通信质量。此外,由于使用无线用户接口设备(鼠标和键盘),PC 214可造成降低其它无线通信的信号干扰。在这些实例中,相对静态的优选列表可能无法选择可用于在当前的网络环境条件下满足笔记本200的当前用户的特定需求的最佳连接。
结合在采用本发明的笔记本计算机200中的漫游(网络和接口选择)引擎向涉及多个支持的网络媒体接口的信息应用标准来选择笔记本计算机200的网络接口组的一个或多个以及关联的网络,以实现笔记本计算机200的当前网络需求。该漫游引擎支持基于由多个网络接口提供的状态/能力信息对其多个网络接口的每一个的自动化网络和接口选择决策制定。该漫游引擎能够在选择用以建立连接的当前较佳网络和接口组合时,考虑涉及其它网络/媒体组合的当前状态/能力的信息。除优选列表之外,该漫游引擎可将其网络接口/网络选择决策基于:具体资源的可用性、网络速度(最大/实际)、日期/时间以及可由漫游引擎获取的任一期望的因素。由此,与仅按照优选降序排列用于单个媒体(如,WLAN)的网络接口的列表直到识别出建立期望的联系可用的网络接口的优选列表相比,确定笔记本计算机200的多个网络接口配置的信息和因素的宽度(每一个都潜在地包含多个媒体)的范围得到了显著的增强。
描述了较佳地结合本发明的示例性无线网络环境之后,将注意力针对图3,其中,示意性地描述了用于结合进笔记本计算机200(或任一其它计算设备)的示例性网络软件体系结构/框架。该网络软件体系结构通过结合进用户模式联机服务实体,如漫游服务设施300的集中式协调控制来特征化。
在图示的体系结构中,从物理网络接口层开始,一组各种媒体类型(如,蓝牙、WWAN、WLAN—如,802.11a/b/g等等)的N个媒体专用驱动器302与一组安装在计算机200上N个当前存在的网络接口卡(NIC)关联。在图示的示例中,每一媒体专用驱动器302与对应的NIC进行通信。这一通信包括,由NIC提供的状态/能力信息等。这一状态/能力信息如通过NIC在驱动器302的请求之后执行的周期性扫描来获取。在请求之后,由N个媒体专用驱动器302收集的状态/能力信息被传递到动态数据存储304并储存在内。除接收用于搜索可用无线设备和网络的频带的扫描命令之外,NIC也从驱动器302接收配置命令。
注意,在本发明的一个实施例中,上述网络接口状态/能力信息和通知可由应用程序、供应服务305(如,无线ISP)、组政策服务306和用户接口308通过公共漫游服务API 301访问。作为示例,公共漫游服务API 310包括用于通过用户接口308或组政策服务306查询或改变:优选列表、可视列表、媒体配置、设备状态、用户验证数据和网络配置的可呼叫方法/操作/功能。
在本发明的一个实施例中,一组媒体专用模块320支持涉及特定媒体类型的自动网络和接口选择以及网络通信。在说明性示例中,该组媒体专用模块320包括:802.3模块、802.11模块、WWAN模块、DSL模块。媒体专用模块320代表漫游服务实体300从媒体专用驱动器请求能力/状态信息并与其进行通信,并通过支持的媒体类型的关联的媒体专用驱动器调用网络接口扫描。
网络接口配置命令被传递到媒体专用模块320的适当的一个(或多个)以连接到特定的一个或多个网络。响应于从漫游服务实体300接收的配置指令,媒体专用模块320通过对关联的媒体专用驱动器的调用启动对与标识的网络接口关联的连接的改变。在示例性实施例中,媒体专用模块320的每一个结合了用于实现上述功能的状态机。尽管图示的实施例为特定的媒体类型或媒体类型的分类提供了媒体专用模块,然而考虑本发明的替换实施例包括支持多个不相关媒体类型的复合媒体专用模块(如,WWAN/WLAN媒体专用模块)。
媒体专用模块320与两个接口关联。媒体专用模块320通过结合到媒体专用协调组件322的一般化接口与漫游服务实体进行通信。协调组件322,包括漫游引擎和自动配置引擎,在需要时协调外部数据和存储信息。例如,用户模式媒体专用模块320依照(内核模式)网络驱动器接口规范(NDIS)340与媒体专用驱动器302进行通信。在本发明的一个实施例中,媒体专用模块320使用对象标识符(OID)依照NDIS与媒体专用驱动器302进行通信。
在本发明的一个实施例中,每一媒体专用驱动器302包含其自己的信息库,驱动器在该信息库中储存管理实体可查询或设置的动态配置信息和统计信息。以太网组播地址列表是配置信息的一个示例。接收的广播分组数是统计信息的一个示例。信息库内的每一信息元素被看作是一个对象,并通过一OID表示。因此,如果管理实体希望查询或设置特定的管理对象,它为该对象提供专用的OID。
依照本发明的一个实施例,一OID的结构在图4中示出。OID的前3个字节提供了OID的各种分类的关键字。第4个字节标识了这些分类内的专用信息管理对象。
如上所述,在本发明的一个实施例中,用户模式连接服务,如漫游服务,通过接口链接到WWAN驱动器。在本发明的一个较佳实施例中,沿该接口的通信依照NDIS。对于命令和控制操作,漫游服务和WWAN驱动器通过交换OID进行通信。根据谁启动了行动以及该控制数据流向何处,有三个原语(SET、QUERY、INDICAT)可用。SET由漫游服务调用,并向WWAN驱动器向下发送数据结构。QUERY也由漫游服务调用,但是促使WWAN驱动器向漫游服务向上发送数据结构。INDICATE由WWAN驱动器调用,令其能够抢先地向漫游服务向上发送数据结构。在每一情况下,对象标识符(OID)随该结构一起传递,因此允许接收方分类整理该结构。
在本发明的一个实施例中,WWAN驱动器实现MiniportSetInformation NDIS处理器来响应SET请求,如下表1所示。
NIDS_STATUS MiniportSetInformation(IN NDIS_HANDLE   MiniportAdapterContext,IN NDIS_OID    Oid,IN PVOID    InformationBuffer,IN ULONG     InformationBufferLength,OUT PULONG      BytesRead,OUT PULONG      BytesNeeded);
                              表1
依照该实施例,MiniportAdapterContext指定了到驱动器维护每一NIC状态的小型端口驱动器分配环境区域的句柄,由MiniportInitialize设置。Oid参数指定了指明驱动器应当实现的SET操作的系统定义OID XXX代码。InformationBuffer是指向包含该组的MiniportSetInformation使用的OID专用数据的缓冲器的指针。InformationBufferLength指定了InformationBuffer中的字节数。ByteRead是到MiniportSetInformation对它从InformationBuffer的缓冲器读取的字节数设置的变量的指针。BytesNeeded是如果InformationBufferLength小于Oid需求时,到MiniportSetInformation向它满足该需求所需要的总字节数设置的变量的指针。
在本发明的一个实施例中,WWAN驱动器实现MiniportQueryInformationNDIS处理器来响应QUERY请求,如下表2所示。
MiniportQueryInformation(IN NDIS_HANDLE  MiniportAdapterContext,IN NDIS_OID  Oid,IN PVOID    InformationBuffer,IN ULONG    InformationBufferLength,OUT PULONG     BytesWritten,OUT PULONG     BytesNeeded);
                                表2
依照该实现,MiniportAdapterContext指定了到驱动器维护每一NIC状态的小型端口驱动器分配环境区域的句柄,由MiniportInitialize设置。Oid参数指定了指定驱动器应当实现的全局查询操作的系统定义的OID_XXX代码。InformationBuffer是到MiniportQueryInformation应当返回OID专用信息的缓冲器的指针。InformationBufferLength指定了InformationBuffer的字节数。BytesWritten是到MiniportQueryInformation向它在InformationBuffer返回的字节数设置的变量的指针。BytesNeeded是如果InformationBufferLength小于Oid需求时,到MiniportQueryInformation向它满足该需求所需要的总字节数设置的变量的指针。
在本发明的一个实施例中,通过调用NidsMIndicateStatus来发送指示,如下表3所示。
NdisMIndicateStatus(IN NDIS_HANDLE MiniportAdapterHandle,IN NDIS_STATUS  GeneralStatus,IN PVOID StatusBuffer,
    IN UNIT    StatusBufferSize);
                         表3
依照该实现,对未经请求的指示,GeneralStatus参数被设为NDIS_STATUS_WW_INDICATION。对于异步响应,它被设为NDIS_STATUS_WW_ASYNC_RESPONSE。对于未经请求的通信,StatusBuffer参数包含在表4示出的数据结构中包装的数据。StatusBufferSize包含StatusBuffer的总尺寸。
typedef struct WWANASYNC_NOTIFY{ULONG StatusType;  /*通知代码*/ULONG DataSize;    /*以字节计算的OID数据尺寸*/ULONG DataOffset;  /*以字节计算的OID偏移*/}WWAN_ASYNC_NOTIFY;
                        表4
现在参考图5描述异步操作的语义。在本发明的一个实施例中,SET和QUERY命令用于定义快速返回的操作。当WWAN驱动器550接收这一命令时,它以及时的方式处理该请求并返回完成的响应。然而,某些WWAN操作(如,扫描可视运行设备或从用户标识模块,或SIM读条目)可消耗几秒来完成。通常,NDIS 552串行化OID命令(即使使用了NdisMSetInformationComplete或NdisMQueryInformationComplete)。由此,依照本发明的一个实施例,大多数与WWAN设备交互的操作使用以下基于设置/指示(SET/INDICATE)语义的异步机制。
在设置(SET)554,InformationBuffer和InformationBufferLength指向表6所示的数据结构。
typedef struct_WWAN_ASYNC_REQUEST{ULONG_PTR RequestID;    /*用于匹配异步响应*/ULONG_DataSize;        /*数据结构的尺寸和偏移*/
    ULONG DataOffset;      /*与该操作关联*/}WWAN_ASYNC_REQUEST;
                         表6
如果有直接的错误情况,则WWAN驱动器令SET命令立刻失败。否则,WWAN驱动器直接返回成功,并然后开始执行该操作。返回操作556中允许的返回值在表7中示出。
#define NDIS_STATUS_SUCCESS<值>#define NDIS_STATUS_WW_UNKNOWN_VERSION<值>#define NDIS_STATUS_WW_INVALID_CAPABILITIES<值>
                         表7
直到返回操作556之前,NDIS OID信道504对其它OID阻塞。在返回操作556之后,NDIS OID信道为其它OID开放,可包括更多的异步请求。WWAN设备驱动器通过请求的RequestID参数跟踪待决的异步请求,它们储存在WWAN设备驱动器550的信息库中。当WWAN设备驱动器550完成请求的操作之后,WWAN驱动器550发送OID类型OID_WW_ASYNC_RESPONSE的指示558,其ObjectDataSize和ObjectDataOffset指向表8所示的结构,匹配来自原始异步设置请求554的RequestID参数。
typedef struct_WWAN_ASYNC_RESPONSE{ULONG_PTR RequestID;    /*用于匹配异步响应*/WWAN_RESULT_CODE ResultCode;  /*命令的结果*/ULONG Datasize;       /*数据结构的尺寸和偏移*/ULONG DataOffset;     /*与该操作关联*/}WWAN_ASYNC_RESPONSE;
                         表8
不论在设置554上传递了什么值,RequestId都匹配。在本发明的一个实施例中,响应的ResultCode是下表9所示的值之一。
typedef enum_WWAN_RESULT_CODE{
    WwanResultSuccess,          /*成功*/WwanResultSuccessPartial,   /*成功,给出部分结果*/WwanResultFailure,          /*失败,不给出原因*/WwanResultNoSim,            /*失败,SIM不存在*/WwanResultBadSim,           /*失败,SIM无效*/WwanResultSimRejected,      /*失败,SIM被拒绝*/WwanResultNotInitialized,   /*失败,设备未准备好*/WwanResultSubsidyLocked,    /*失败,设备被补助锁定*/WwanResultPinLocked,        /*失败,操作需要PIN*/WwanResultPukLocked,        /*失败,操作需要PUK*/WwanResultPin2Locked,       /*失败,操作需要PIN2*/WwanResultPuk2Locked,       /*失败,操作需要PUK2*/WwanResultNetworkPwdLocked, /*失败,需要网络密码*/WwanResultDevicePwdLocked,  /*失败,需要设备密码*/WwanResultWrongPassword,    /*失败,密码/PIN不正确*/WwanResultPasswordIgnored,  /*失败,密码类型未锁定*/WwanResultRegistrationDenied,/*失败,紧急呼叫可行*/WwanNoProvidersFound,        /*失败,仍在搜索中*/WwanNoActiveProvider,        /*失败,必须注册*/WwanResultNotAttached,       /*失败,必须附加分组*/WwanResultMaxActivatedContexts,/*失败,最大活动环境*/WwanResultServiceUnavailable,  /*失败,如,没有分组在漫游*/WwanResultMax,                 /*最大值*/}WWAN_RESULT_CODE;
                         表9
现在参考图6描述本发明的一个实施例中所使用的为WWAN驱动器所定义的OID和状态指示。这些OID是除其它强制性的OID和需要由任一NDIS小型端口驱动器支持的指示之外的OID。基于使用的技术类型需要某些OID和状态指示。给出的指示值仅用于NDIS_STATUS_WW_INDICATION状态类型。
在本发明的一个实施例中,若干OID支持驱动器初始化602。用于支持驱动器初始化的OID的描述如下:
OID_GEN_MEDIA_SUPPORTED。当查询时,小型端口必须返回NdisMedium802_3。这意味着WWAN驱动器需要欺骗DHCP服务器和ARP解析。
OID_GEN_PHYSICAL_MEDIUM。当查询时,小型端口必须返回NdisPhysicalMediumWirelessWan。在执行任一WWAN OID行动之前需要漫游服务来获取该值。
OID_WW_NEGOTIATE_VERSION。该对象用于协商漫游服务和WWAN驱动器之间的接口的版本。首先,漫游服务执行SET(设置),告诉WWAN驱动器它支持什么版本。然后,漫游服务执行QUERY(查询),并且返回WWAN驱动器支持的版本以及协商的版本。在执行进一步的WWAN OID行动之前需要漫游服务来与WWAN驱动器协商版本。用于支持OID_WW_NEGOTIATE_VERSION对象的数据结构在表10中示出。如果在QUERY之前执行了SET,并且WWAN驱动器找到了较好的版本来使用,则将QUERY返回的NegotiatedVersion参数设为使用的版本。如果未执行SET或未找到公共版本,则将NegotiatedVersion参数设为0xffffffff,并且为这一以及随后所有的SET和QUERY操作生成错误,并且驱动器不发出任何INDICATE(指示)。
typedefULONG WWAN_VERSION;    /*指定版本的值。位[16∶31]:主要版本位[0∶15]:次要版本*/typedef struct WWAN_CFG_VERSION_RANGE{WWAN_VERSION LowVersion;WWAN_VERSION HighVersion;WWAN_VERSION NegotiatedVersion;}WWAN_VERSION_RANGE;
                          表10
OID_WW_DEVICE_CAPS。该对象用于读WWAN驱动器的能力,包括蜂窝技术、支持的分组数据类、提供的语音服务类型以及是否使用SIM。第一个和最后一个尤其重要,假定提供商选择和SIM用户接口取决于这两个能力参数。制造商和固件修订版本也作为可任选字段可用。依照本发明的一个实施例,支持OID_WW_DEVICE_CAPS对象的数据结构在表11中示出。WwanDeviceType参数指示该设备对于漫游服务设备是本地还是远程。WwanCellularClass参数控制蜂窝技术专用特征,如提供商注册模式。当设为WwanCelluarClassGsm时,允许手动和自动模式。当设为WwanCelluarClassCdma时,仅允许自动模式。WwanVoiceClass参数表示语音服务的存在,以及这一服务如何与数据服务交互。WwanSimClass参数控制漫游服务是否应当执行SIM专用操作。WwanDataClass位字段参数指示支持哪些数据服务。Manufacturer字段指向制造商串。Model字段指向型号串。Firmware字段指向固件修订版本串。DevSepcificSize和DevSepcificOffset字段指向设备专用接口信息。
typedef enum_WWAN_DEVICE_TYPE{WwanInterfaceTypeUnknown,WwanInterfaceTypeLocal,WwanInterfaceTypeRemote,WwanInterfaceTypeMax}WWAN_DEVICE_TYPE;typedef enum WWAN_CELLUAR_CLASS{WwanCellularClassUnknown,WwanCellularClassGsm,WwanCellularClassCdma,WwanCellularClassMax}WWAN_CELLULAR_CLASS;#define WWAN_DATA_CLASS_UNKNOWN 0x00000000#define WWAN_DATA_CLASS_GPRS  0x00000001#define WWAN-DATA_CLASS_EGPRS 0x00000002#define WWAN_DATA_CLASS_UMTS  0x00000004
#define WWAN_DATA_CLASS_HSDPA    0x00000008#define WWAN_DATA_CLASS_1XRTT  0x00000010#define WWAN_DATA_CLASS_1XEVD0    0x00000020#define WWAN_DATA_CLASS_1XEVDV  0x00000040#define WWAN_DATA_CLASS_3XRIT 0x00000080typedef enum WWAN_VOICE CLASS{WwanVoiceClassUnknown,WwanVoiceClassNoVoice,WwanVoiceClassSeparateVoiceData,WwanVoiceClassSimulataneousVoiceData,WwanVoiceClassMax}WWAN_VOICE_CLASS;typedef enum WWAN_SIM_CLASS{WwanSimClassUnknown,WwanSimClassNoSim,WwanSimClassSimSupported,WwanSimClassMax}WWAN_XIM_CLASS;#define WWAN_MANUFACTURER_LEN  32#define WWAN_MODEL_LEN  32#define WWAN_FIRMWARE_LEN  32typedef struct WWAN_DEVICE_CAPS{WWAN_DEVICE_TYPE WwanDeviceType;    /*本地或远程设备*/WWAN_CELLUAR_CLASS WwanCelluarClass;/*GSM、CDMA等等*/WWAN_VOICE_CLASS WwanVoiceClass;    /*语音服务能力*/WWAN_SIM_CLASS WwanSimClass;        /*需要SIM?*/
   ULONG    WwanDataClass;    /*数据服务技术*/Wchar    Manufacturer[WWAN_MANUFACTURER_LEN];Wchar    Model[WWAN_MODEL_LEN];Wchar    Firmware[WWAN_FIRMWARE_LEN];ULONG DevSpecificSize;    /*设备的尺寸和偏移*/ULONG DevSpecificOffset;  /*可任选WWAN信息*/}WWAN_DEVICE_CAPS;
                       表11
在本发明的一个实施例中,若干OID支持WWAN初始化604。用于支持WWAN初始化的OID的描述如下:
OID_WW_INITIALIZE。该对象上的设置指示漫游服务已为WWAN初始化过程准备好。如果使用了SIM,则在该时刻也将它初始化。不向下传递数据结构。设备可在接收该命令之前开始初始化;然而,OID_WW_READY_STATE指示只能在设备接收初始化OID之后发送。如果启用了PIN,则设备使用WWAN_NOTIFY_PIN_STATE指示来指示需要PIN。一旦驱动器准备好网络注册,则它指示WWAN_READYSTATE_INITIALIZED。在这一时刻收发器未加电,以防万一系统处于飞机模式。如果WWAN驱动器接收OID_WW_INITIALIZE OID并已初始化,漫游服务可能已意外终止并重起。由此,驱动器以WwanResultFailure错误完成任何待决的请求,并拆卸任何现有的接口和连接,并返回到正确的初始化状态。
OID_WW_SHUTDOWN。该对象上的设置指示漫游服务将要去激活(deactivate)驱动器。不需要数据结构。清理过程开始,如去激活任何环境、分离并取消注册。当这些操作出现时,驱动器可发送关联的指示,但是漫游服务仅查找WWAN_READY_STATE_SHUTDOWN通知以知道WAN关闭何时完成。漫游服务可在某段时间过去之后假定WAN关闭已完成。漫游服务等候某段时间允许异步事件的完成。在这之后,它继续剩余的关闭过程。
OID_WW_GET_READY_STATE和NDIS_WW_READY_STATE。这些对象允许驱动器令漫游服务知道某些功能片断何时准备好启动和关闭。(在操作的过程中可出现变化,但是是不太可能的。)首先,这允许驱动器在漫游服务激活收发器并注册网络之前将WWAN设备放入适当的状态。也支持其它状态,如初始化SIM电话簿和SMS存储时。在初始化过程中,漫游服务不进行注册,直到它接收WWAN_READY_STATE_INITIALIZED指示。
依照本发明的一个实施例,支持这些OID的数据结构在表12中示出。State参数是WWAN_READY_STATE_*常量的位字段。Imsi参数指向标识用户的IMSI串。该值不需要被填充直到达到WWAN_READY_STATE_INITIALIZED状态。Imei参数指向标识设备的串(GSM中为IMEI,CDMA中为ESN)。该值不需要被填充直到达到WWAN_READY_STATE_INITIALIZED状态。IsdnCount、IsdnListSize和IsdnListOffset参数指向标识用户的电话号码的MSISDN串的数组。每一个是空终止(NULL terminated)的,并且最终电话号码是双空终止的。这些值不需要被填充直到达到WWAN_READY_STATE_INITIALIZED状态。
#define WWAN_READY_STATE_SHUTDOWN     0x00000001  /*栈关闭*/#define WWAN_READY_STATE_PHONEBOOK    0x00000002  /*可读PB*/#define WWAN_READY_STATE_SMSSTORE     0x00000004  /*可读SMS*/#define WWAN_READY_STATE_INITIALIZED  0x00000008  /*准备好加电、*//*发送/接收和注册*/#define WWAN_READY_STATE_NO_SIM    0x000000l0     /*未插入SIM*/#define WWAN_READY_STATE_BAD_SIM  0x00000020      /*SIM无效*/#define WWAN_READY_STATE_FAILURE  0x00000040      /*设备失败*/#define WWAN_IMSI_LEN 32#define WWAN_IMEI_LEN 32typedef struct_WWAN_READY_STATE{ULONG State;    /*WWAN_READY_STATE_*常量*/Wchar Imsi[WWAN_IMSI_LEN];    /*用户身份*/Wchar Imei[WWAN_IMSI_LEN];    /*设备身份*/ULONG IsdnCount;              /*列出的ISDN个数*/ULONG IsdnListSize;           /*ISDN串数组的大小*/ULONG IsdnListOffset;         /*到空终止串ISDN(电话号码)*/
       /*数组的偏移*/}WWAN_READY_STATE;
                          表12
在本发明的一个实施例中,若干OID支持PIN操作606。依照本发明的一个实施例,支持PIN操作OID的数据结构在表13中示出。支持PIN操作606的OID描述如下:
OID_WW_GET_IN_STATE和NDIS_WW_PIN_STATE。这些对象允许驱动器在起动时和操作过程中指示不同的密码条件,如需要PIN、PIN2、PUK和PUK2。也支持无SIM密码。在初始化过程中,漫游服务将不进行注册直到它接收WwanPinStateNone指示。OID_WW_GET_PIN_STATE上的设置用于异步查询当前准备状态。WWAN_ASYNC_REQUEST结构中的DataSize和DataOffset被忽略。WWAN_ASYNC_REQUEST结构中的DataSize和DataOffset指向WWAN_PIN_STATE结构。当准备状态值改变时,发送NDIS_WW_PIN_STATE上的指示(INDICATE)。WWAN_ASYNC_NOTIFY结构中的DataSize和DataOffset指向WWAN_PIN_STATE结构。在本发明的一个实施例中,如果在起动过程中指示了WwanPinTypePin,则WWAN驱动器负责处理紧急语音呼叫。仅在用户实际从PIN对话框拨号紧急语音呼叫之后激活收发器、执行自动注册并启动紧急呼叫。
OID_WW_SET_PIN。该对象上的设置用于向设备发送PIN、启用/禁用PIN设置或改变SIM上的PIN。如果响应于需要PIN的指示,漫游服务无法显示PIN输入UI或者用户在对话框之外取消,则漫游服务发送OID_WW_SET_PIN_OID,设置WwanPinActionCancel。WWAN驱动器然后返回适当的密码错误,用于等候输入有效PIN的任何未完成的命令。
参考表13所示的用于支持PIN操作606的数据结构,PinType参数是WWAN_PIN_TYPE值。PinFormat参数指示对pin允许什么格式的字符。PinLengthMin和PinLengthMax参数是必须为PIN输入的字符的最小个数和最大个数。如果范围未知,则它们被设为-1。如果WWAN_PIN_TYPE指示不同于WwanPinTypeNone的任何东西,则设备正在等候PIN并且AttemptsRemaining参数指示为该PIN类型还剩余多少次尝试。-1值指示未知。PinAction参数是WWAN_PIN_ACTION值。Pin参数是要向下发送的PIN,或者启用/禁用PIN设置所需要的PIN。当发送PIN代码或启用/禁用PIN时,应当忽略NewPin字段。当发送PUK代码时,Pin参数指向PUK代码,并且NewPin指向要设置的新PIN。
typedef enum_WWAN_PIN_TYPE{WwanPinTypeUnknown,        /*等候未知pin类型*/WwanPinTypeNone,           /*不需要pin*/WwanPinTypeSubsidyLock,    /*补助解锁码*/WwanPinTypePin,            /*等候PIN输入*/WwanPinTypePuk,            /*等候PUK输入*/WwanPinTypePin2             /*等候PIN2输入*/WwanPinTypePuk2             /*等候PUK2输入*/WwanPinTypeNetworkPassword,/*等候网络密码*/WwanPinTypeDevicePassword, /*等候PUK2输入*/WwanPinTypeMax}WWAN_PIN_TYPE;typedef enum_WWAN_PIN_FORMAT{WwanPinFormatUnknown,      /*需要的pin格式未知*/WwanPinFormatNumeric,      /*允许字符0-9、*、#*/WwanPinFormatAlphaNumeric, /*允许字符a-z、A-Z、0-9、*、#*/WwanPinFormatMax}WWAN_PIN_FORMAT;typedef struct_WWAN_PIN_STATE{WWAN_PIN_TYPE_PinType;     /*WWAN_PIN_TYPE值*/WWAN_PIN_FORMAT PinFormat; /*数字、字母等*/ULONG PinLengthMin;        /*字符最小个数*/ULONG PinLengthMax          /*字符最大个数*/ULONG AttemptsRemaining;   /*剩余的尝试个数*/}WWAN_PIN_TYPE;
typedef enum_WWAN_PIN_ACTION{WwanPinActionUnknown,WwanPinActionSend,WwanPinActionEnable,WwanPinActionDisable,WwanPinActionChange,WwanPinActionCancel,    /*不发送pin,仅令该命令失败*/WwanPinActionMax}WWAN_PIN_ACTION;#define WWAN_PIN_LEN  32typedef struct_WWAN_SET_PIN{WWAN_PIN_ACTION PinAction;      /*WWAN_PIN_ACTION值*/WWAN_PIN_TYPE PinType;        /*WWAN_PIN_TYPE值*/Wchar    Pin[WWAN_PIN_LEN];         /*PIN代码本身*/Wchar    NewPin[WWAN_PIN_LEN];     /*新PIN代码*/}WWAN_SET_PIN;
                    表13
在本发明的一个实施例中,若干OID支持提供商操作608:
OID_WW_GET_PREFERRED_PROVIDERS和OID_WW_SET_PREFERRED_PROVIDERS。这些对象用于读、添加并删除设备或SIM上本地储存的优选提供商列表中的条目。较佳地不联系网络来读这些字段。在本发明的一个实施例中,如果禁止提供商列表也可用,则这些条目被包括在该列表中并相应地标记。OID_WW_GET_PREFERRED_PROVIDERS上的设置用于异步查询优选提供商列表。OID_WW_SET_PREFERRED_PROVIDERS上的设置用于异步设置优选提供商列表。在本发明的一个实施例中,该列表被整体传递。不跟踪个别的添加和删除。驱动器维护该列表的高速缓存的副本,并执行个别的添加/删除,或在单个操作中重写整个列表。
OID_WW_GET_VISIBLE_PROVIDERS。该对象用于获取设备范围中当前存在的提供商的列表。该OID上的设置异步地查询优选的提供商列表。WWAN_ASYNC_RESPONSE中的DataSize和DataOffset指向WWAN_PROVIDER_LIST结构。扫描操作较佳地花费不超过30秒。如果达到了这一极限,则驱动器返回部分列表。
依照本发明的一个实施例,支持这些提供商操作OID 608的数据结构在表14中示出。
typedef enum_WWAN_PROVIDER_STATE{WwanProviderStateUnknown,    /*未知提供商状态*/WwanProviderStateForbidden,  /*存在,但在禁止列表上*/WwanProviderStateAvailable,  /*提供商可用*/WwanProviderStatePreferred,  /*存在并在优选列表上*/WwanProviderStateCurrent,    /*当前注册的运行设备*/WwanRegisteModeMax}WWAN_PROVIDER_STATE;#define WWAN_PROVIDERNAME_LEN  32typedef struct_WWAN_PROVIDER{ULONG ProviderID;           /*十进制编码提供商ID*/WWAN_PROVIDER_STATE State;  /*WWAN_PROVIDER_STATE值*/ULONG ProviderName[WWAN_PROVIDERNAME_LEN];}WWAN_PROVIDER;typedef struct_WWAN_PROVIDER_LIST{ULONG ProviderCount;        /*数组中提供商的个数*/ULONG ProviderListSize;     /*数组的尺寸和偏移*/ULONG  ProviderListOffset;  /*WWAN_PROVIDER条目*/}WWAN_PROVIDER_LIST;
                         表14
需要ProviderID字段。对于GSM网络,该串通常是3位移动国家代码(MCC)和2或3位移动网络代码(MNC)的连接。推荐使用零来预填充MNC代码并为对齐和剖析目的设为3位。State参数表示可标记的提供商条目的各种状态。ProviderName参数指向友好的提供商串。鉴于UI原因,串较佳地不超过20个字符。当漫游服务设置优选提供商列表时忽略该字段。ProviderCount、ProviderListSize和ProviderListOffset参数形成WWAN_PROVIDER结构的列表。
在本发明的一个实施例中,若干OID支持注册操作610。依照本发明的一个实施例,支持注册操作OID 610的数据结构在表15中示出。支持注册操作610的OID描述如下:
OID_WW_GET_REGISTER_STATE、OID_WW_SET_REGISTER_STATE和NDIS_WW_REGISTER_STATE。这些对象允许对收发器加电并执行注册,以及关联的状态查询和指示。支持自动和手动注册模式。一旦注册成功,驱动器自动启动分组附加。对于不支持显式分组附加的网络,驱动器仍较佳地指示分组附加状态。当设备的注册状态改变时,驱动器发送合适的指示,使得漫游服务能向用户反映正确的状态。在本发明的一个实施例中,一旦驱动器指示WWAN_READY_STATE_INITIALIZED状态,漫游服务仅启动注册。设备保留在注册模式中,直到另外指示或设备被禁用。对于WwanRegisterModeAutomatic、WwanRegisterModeManual和WwanRegisterModeReregister,一旦设备占用了运行设备,则设备自动分组附加。使用WwanRegisterModeDeregister,设备自动分组分离。当设置注册模式时,如果新模式与前一模式相同,WwanRegisterModeAutomatic和WwanRegisterModeManual将不再启动注册。WwanRegisterModeReregister用于此目的。该标志仅对设置注册状态有效。注册设备上的随后的查询或指示分别产生WwanRegisterModeAutomatic或WwanRegisterModeManual。
typedef enum_WWAN_REGISTER_MODE{WwanRegisterModeUnknown,     /*注册模式未知*/WwanRegisterModeReregister,  /*使用当前模式重注册*//*并然后进行分组附加*/WwanRegisterModeAutomatic,   /*打开收发器、占用*//*最佳可用网络、分组附加*/
    WwanRegisterModeManual,     /*打开收发器,使用数字代码*//*来占用,分组附加*/WwanRegisterModeDeregister, /*收发器已打开,但是设备被分离*//*并取消注册*/WwanRegisterModeRadioOff,   /*收发器已关闭,设备被分离并取消注册*/WwanRegisterModeMax}WWAN_REGISTER_MODE;typedef enum_WWAN_REGISTER_STATE{WwanRegisterStateUnknown,     /*注册状态未知*/WwanRegisterStateDeregistered,/*未注册,未搜索*/WwanRegisterStateSearching,   /*搜索提供商*/WwanRegisterStateHome,        /*设备在家庭提供商处*/WwanRegisterStateRomaing,     /*设备在漫游提供商处*/WwanRegisterStateDenied,      /*注册被拒绝,仍可作出紧急呼叫*/WwanRegisterStateMax}WWAN_REGISTER_STATE;typedef struct_WWAN_REGISTATION{WWAN_REGISTER_MODE RegisterMode;/*WWAN_REGISTER_MODE值*/WWAN_REGISTER_STATE RegisterState;/*WWAN_REGISTER_STATE值*/WWAN_PROVIDER Provider; /*WWAN_PROVIDER结构*/}WWAN_REGISTERATION;
                           表15
参考表15所示的用于支持注册操作610的数据结构,RegisterMode描述了WWAN设备用于找出占用的运行设备的方法。对于WwanRegisterModeAutomatic和WwanRegisterModeManal,设备确保收发器被激活、注册了提供商并自动进行了分组附加(如果适合的话)。对于WwanRegisterModeDeregister,设备从当前网络分离并取消注册,但是保留收发器加电。对于WwanRegisterModeRadioOff,设备从当前网络分离并取消注册,关闭收发器,但是保留协议栈(包括SIM)初始化。WwanRegisterModeReregister标志仅当设备当前处于模式WwanRegisterModeAutomatic或WwanRegisterModeManual时在设置上有效。RegisterState参数指示WWAN设备的当前注册状态,可能在用户界面中反映。当读自动注册模式中的注册状态时,Provider参数包含设备当前占用的提供商(如果适合的话)。当读手动注册模式中的注册状态时,Provider参数包含设备锁定的提供商(即使提供商不可用)。当设置手动模式中的注册状态时,它包含锁定的运行设备ID(忽略运行设备串)。当设置自动模式中的注册状态时,忽略该参数。
在本发明的一个实施例中,若干OID支持信号强度操作612:
OID_WW_SET_SIGNAL_SUGGESTION、OID_WW_GET_SIGNAL_STATE和NDIS_WW_SIGNAL_STATE。这些对象用于管理信号强度状态,报告为驱动器敏感噪声层以上的分贝。当信号强度变得在默认阈值之外时,给出指示,确保事件率不超过默认最大频率。使用适当的滞后作用。应用程序较佳地从不轮询信号强度。在特殊的情况下(如起动时),应用程序使用查询来获取信号强度。OID_WW_SET_SIGNAL_SUGGESTION对象上的设置异步地为场强设置建议的通知间隔和阈值。在某些实施例中,这些值由驱动器在可通过进一步减少信号通知来提高功率节省的条件下使用。NDIS_WW_SIGNAL_STATE对象上的指示允许驱动器在测定的信号强度行进到阈值之外时发送信号强度通知。默认地,驱动器不超过每隔5秒报告指示。驱动器较佳地仅在信号强度从最后一次报告的值改变至少+/-4db时通知。
依照本发明的一个实施例,用于支持信号强度操作OID 612的数据结构在表16中示出。
typedef struct_WWAN_SIGNAL_STATE{ULONG Rssi;          /*噪声层以上的分贝(db)*/ULONG RssiInterval;  /*以秒计算的建议间隔*/ULONG RssiThreshold; /*以db计算的建议+/-阈值*/}WWAN_SIGNAL_STATE;
                            表16
Rssi参数是信号强度,报告为设备的敏感噪声层以上的分贝。为最小化功率消耗,接口为基于Rssi变化指定了发送通知的默认最小间隔。在某些情况下(如用户不活动的很长时间内),RssiInterval指定了何时可使用更长的间隔来保存额外的功率。驱动器不需要遵守这一增加的间隔。当设置间隔时,“-1”值意味着没有建议值可用。使用默认最小间隔。当指示信号强度时,该值包含设备当前使用的间隔。为最小化功率消耗,该接口还为基于Rssi变化发送通知指定了默认±阈值。在本发明的一个实施例中,当信号强度变化超过阈值的一个量时,驱动器向漫游服务通知该变化。在某些情况下(如,在强信号区域中),RssiThreshold指定了何时可使用更大的±阈值来保存额外的功率。驱动器不需要遵守这一增加的阈值。当设置间隔时,“-1”值意味着没有建议值可用。使用默认的阈值。当指示信号强度时,该值包含设备当前使用的阈值。
在本发明的一个实施例中,若干OID支持分组数据管理和激活操作614。依照本发明的一个实施例,支持分组数据管理和激活操作614的数据结构在表17中示出。支持分组数据管理和激活操作614的OID描述如下:
OID_WW_GET_PACKET_SERVICE和NDIS-WW_PACKET_SERVICE。这些对象用于读和通知当前的分组附加状态和所支持的关联的数据服务。一旦注册,设备自动尝试分组附加,因此不需要设置对象。
OID_WW_GET_PROVISIONED_CONTEXTS和OID_WW_SET_PROVISIONED_CONTEXTS。这些对象用于读和写设备上储存的较佳环境条目。这些设置对设备是本地的。较佳地不联系网络来读这些字段。OID_WW_GET_PROVISIONED_CONTEXTS对象上的设置自动查询优选的提供商。OID_WW_SET_PROVISIONED_CONTEXTS对象上的设置异步地激活或去激活提供的接入串。该列表被整体传递。不跟踪个别的添加和删除。在某些实施例中,驱动器维护该列表的高速缓存副本并执行个别的添加/删除,或在单个操作中重写整个列表。
OID_WW_GET_ACTIVATE_STATE、OID_WW_SET_ACTIVATE_STATE和NDIS_WW_ACTIVATE_STATE。这些对象用于激活(或去激活)特定的分组环境并查询关联的状态。OID_WW_SET_ACTIVATE_STATE对象用于启动或关闭特定的环境。WWAN驱动器仅当漫游服务发送该OID时尝试环境激活。即使在丢失注册和/或信号之后,驱动器也不自动激活。如果未提供接入串,则用空接入串而非默认接入串激活环境。期望WWAN驱动器在激活状态变化时通过NDSI_WW_ACTIVATE_STATE对象发送合适的指示。仅当WWAN驱动器指示WwanRegisterStateHome或WwanRegisterStateRoaming的注册状态时才调用该对象。在GSM网络上,设备也必须指示WwanAttachStateAttached的附加状态。
typedef enum_WWAN_ATTACH_STATE{WwanAttachStateUnknown,WwanAttachStateDetached,   /*设备可能未注册*/WwanAttachStateSearching,  /*在注册成功后自动*/WwanAttachStateAttached,   /*分组附加*/WwanAttachStateDenied,     /*分组服务不可用*/WwanAttachStateMax}WWAN_ATTACH_STATE;typedef enum_WWAN_CONTEXT_AUTHENTICATION{WwanContextAuthenticationUnknown,WwanContextAuthenticationNone,    /*忽略用户/密码字段*/WwanContextAuthenticationChap,    /*使用CHAP验证*/WwanConttextAuthenticationPap,    /*使用PAP验证*/WwanContextAnthenticationEap,     /*使用EAP验证*/WwanContextAuthenticationMax}WWAN_CONTEXT_AUTHENTICATION;typedef enum_WWAN_ACTIVATION_STATE{WwanActivationStateUnknown,WwanActivationStateActivated,WwanActivationStateDeactivated,WwanActivationStateMax}WWAN_ACTIVATION_STATE;
#define WWAN_ACCESSSTRING_LEN  64#define WWAN_USERNAME_LEN    32#define WWAN_PASSWORD_LEN    32typedef struct_WWAN_PACKET_SERVICE{WWAN_ATTACH_STATE AttachState;  /*忽略CDMA设备*/ULONG DataClass;      /*可用数据服务*/}WWAN_PACKET_SERVICE;typedef struct_WWAN_CONTEXT{ULONG ProviderId       /*拥有接入串的提供商*/WWAN_ACTIVATION_STATE ActivationState; /*激活状态*/Wchar AccessString[WWAN_ACCESSSTRING_LEN];WWAN_CONTEXT_AUTHENTICATION AuthenticationType;/*验证类型*/Wchar UserName[WWAN_USERNAME_LEN];Wchar Password[WWAN_PASSWORD_LEN];}WWAN_CONTEXT;typedef struct_WWAN_CONTEXT_LIST{ULONG ContextCount;ULONG ContextListSize;     /*上下文列表的尺寸*/ULONG ContextListOffset;   /*到WWAN_CONTEXT数组的偏移*/}WWAN_CONTEXT_LIST;
                           表17
参考表17所示的用于支持分组数据管理和激活操作614的数据结构,AttachState是分组附加状态。在GPRS中,漫游服务必须在它进行激活环境之前看见WwanAttachStateAttached。对于不支持分组附加的技术,忽略该参数。DataClass参数是指示当前使用了哪一数据类的WWAN_DATA_CLASS*常量。如果它变化(如,从1xRTT转移到1xEvDo),发送通知来指示服务的这一变化。Provider参数标识拥有接入串所引用的服务的提供商,由于某些网络不使用全局唯一接入串,因此使用该接入串。(例如,“internet(互联网)”由若干提供商使用。)WWAN_CONTEXT_AUTHENTICATION字段表示当需要用户/密码验证时所使用的验证类型。当设置激活状态时,ActivationState参数指示驱动器应当对提供的上下文作什么。当查询激活状态时,ActivationState参数反映给定环境中当前的激活状态。在GSM网络中,AccessString参数是诸如“interner2.voicestream.com”等APN串。在CDMA网络中,它可以是诸如“#777”的特殊拨号代码。AuthenticationType参数表示当激活环境时使用什么验证(如果有的话)。UserName参数指向用于验证的用户名。Password参数指向用于验证的密码。NumberOfContexts、ContextListSize和ContextListOffset参数是环境结构数组的引用。Context参数表示激活分组连接所需要的接入串和可任选验证信息。
在本发明的一个实施例中,若干OID支持定位操作616:
OID_WW_GET_LOCATION_INFO、OID_WW_SET_LOCATION_INFO和NDIS_WW_LOCATION_INFO。这些对象用于读当前可用的小区塔信息。这用于提供直接网络拓扑的较好“指纹(fingerprint)”。
在本发明的一个实施例中,若干OID支持销售商专用操作618。用于支持这些OID的数据结构在表18中示出。
typedef struct_WWAN_VENDOR_SPECIFIC{ULONG_PTRAppId;        /*为“ALL(所有)”保存0*/ULONG DataSize;    /*销售商专用数据的尺寸*/ULONG DataOffset;  /*到销售商专用数据的偏移*/}WWAN_VENDOR_SPECIFIC;
                         表18
当AppId参数非零时,它唯一地标识了注册漫游服务的每一应用程序。WWAN驱动器通过发出其AppId设为零的指示向所有注册的应用程序广播消息。
支持销售商专用操作618的OID包括:
OID_WW_GET_VENDOR_SPECIFIC、OID_WW_SET_VENDOR_SPECIFIC和NDIS_WW_VENDOR_SPECIFIC。这些对象用于使用销售商专用数据对漫游服务不透明地执行操作。应用程序标识符可用于将每一命令与具体的应用程序关联。具有空应用程序标识符的指示将被广播到所有注册的应用程序。
依照本发明的一个实施例,现在描述采用上述OID的各种情形的示例。图7示出了依照本发明的一个实施例使用OID初始化WWAN设备驱动器的示例700。一般而言,驱动器将其自身标识为WWAN驱动器并执行适当的版本协商。在步骤702,漫游服务使用OID_GEN_PHYSICAL_MEDIUM查询驱动器。在步骤704,驱动器返回NdisPhysicalMediumWirelessWan,指示它支持WWAN OID。在步骤706,漫游服务然后用OID_GEN_MEDIA_SUPPORTED查询驱动器,在步骤708,驱动器用NdisMedium802_3响应,由此传递了依照802.3协议格式化的以太网分组。在步骤710,漫游服务然后用OID_WW_NEGOTIATE_VERSION设置它支持的配置服务版本的范围。在步骤712,漫游服务用OID_WW_NEGOTIATE_VERSION查询驱动器以找出该驱动器支持的配置服务版本的范围。在步骤714,驱动器返回该值。在步骤716,漫游服务然后用OID_WW_DEVICE_CAPS查询驱动器以发现设备驱动器的能力。在步骤718,驱动器返回这些能力。
图8示出了依照本发明的一个实施例使用OID初始化WWAN设备的示例。要通过这一过程初始化的WWAN设备可以是GPRS设备、基于CDMA的设备或其它WWAN设备,并可需要或不需要用户输入PIN。总过程在步骤700以初始化设备驱动器开始,如参考图7所描述的。驱动器初始化在漫游服务调用任何WWANOID之前完成。在步骤802,漫游服务使用OID_WW_INITIALIZE初始化协议栈和SIM,如果存在的话。一旦由设备驱动器接收该命令,它可以开始向漫游服务发送回准备状态指示。在步骤804,设备驱动器用NDIS_WW_PIN_STATE上的WwanPinStateNone参数指示不需要PIN。
可选地,设备驱动器用WwanPinStateNeedPin参数指示需要PIN。例如,可需要PIN来解锁PIN。在这一情况下,在步骤806,漫游服务通过设置OID_WW_SET_PIN的WWAN_PIN字段来发送PIN。这是异步的请求,并且在步骤808,驱动器稍后用NDIS_WW_ASYNC_RESPONSE上的ResultCode=S_OK来指示该设置操作的接收和完成。
在步骤810,驱动器用NDIS_WW_READY_STATE指示其处于准备好状态,示例继续。在步骤812,漫游服务通过使用OID_WW_SET_REGISTER_STATE告诉驱动器对收发器加电并尝试注册。在步骤814,驱动器用NDIS_WW_ASYNC_RESPONSE上的ResultCode=S_OK指示设置操作的接收和完成。在步骤816,驱动器用NDIS_WW_REGISTER_STATE指示它正在搜索提供商。在步骤818,它然后使用NDIS_WW_REGISTER_STATE指示设备在家庭提供商处。当设备附加了分组时,在步骤820,驱动器用NDIS_WW_PACKET_SERVICE向漫游服务指示。可选地,如果WWAN设备是基于CDMA的设备,则使用NDIS_WW_PACKET_SERVICE返回WWAN_DATA_CLASS_1XRTT,因为CDMA不支持附加概念。
在图8的示例中,由WWAN服务提供商供应环境,并且在步骤822,漫游服务使用OID_WW_GET_PROVISIONED_CONTEXTS要求这些供应的环境。在步骤824,驱动器用NDIS_WW_ASYNC_RESPONSE的WWAN_ACTIVATION_CONTEXT_LIST参数指示供应上下文的列表。例如,WWAN_ACTIVATION_CONTEXT_LIST参数可以是激活串,如“#777”。以这一方式,不需要选择连接类型,因为设备驱动器已向漫游服务通知设备已被供应。可选地,在未供应环境的情形中省略步骤822和824,用户手动配置接入点串。
在步骤826,漫游服务用OID_WW_SET_ACTIVATE_STATE的WWAN_CONTEXT参数设置环境,示例继续。在步骤828,设备驱动器用NDIS_WW_ASYNC_RESPONSE上的ResultCode=S_OK指示它已激活环境。在步骤830,驱动器然后用NDIS_WW_ACTIVATE_STATE指示WWAN状态已激活。在步骤832,驱动器使用NDIS_OID_GEN_MEDIA_CONNECT_STATUS的NdisMediaStateConnected参数指示它现在能够服务输入和输出的IP分组。
图9示出了依照本发明的一个实施例,在分组连接过程中由WWAN设备使用OID服务的语音呼叫的示例。在步骤902,设备驱动器使用NDIS_WW_PACKET_SERVICE指示设备正在使用的服务类型(GPRS、CDMA等)。对于GPRS,使用WWAN_DATA_CLASS_GPRS参数。对于CDMA,使用WWAN_DATAC_LASS_1XRTT参数。在分组连接的过程中,在步骤904,驱动器用NDIS_GEN_MEDIA_CONNECT_STATUS上的NdisMediaStateConnected参数指示它已连接。在步骤906,当稍后在设备上放置或应答语音呼叫时,在步骤908,驱动器用NDIS_GEN_MEDIA_CONNECT_STATUS指示它在未连接状态。在步骤910,当语音呼叫完成时,在步骤912,驱动器用NDIS_GEN_MEDIA_CONNECT_STATUS指示它再次处于连接状态,分组连接重新开始。
图10示出了依照本发明的一个实施例控制信号强度监控的频率的示例。在步骤1002,驱动器用NDIS_WW_REGISTER_STATE指示设备在家庭提供商处。在步骤1004,驱动器用NDSI_WW_SIGNAL_STATE指示其当前信号状态—本示例中为50db。在步骤1006,漫游服务通过设置OID_WW_SET_SIGNAL_SUGGESTION建议一阈值,在该阈值内驱动器不需要通知漫游服务。在本示例中,漫游服务建议+/-10db的阈值范围,因为当前报告的50db的信号强度己足够高。在步骤1008,驱动器用NDIS_WW_ASYNC_RESPONSE上的ResultCode=SOK响应,因为OID_WW_SET_SIGNAL_SUGGESTION由漫游服务作为异步命令发送。当信号强度最终下降到阈值以下时,在步骤1010,驱动器用NDIS_WW_SIGNAL_STATE指示该值。在本示例中,信号下降到38db。一旦指示了这一下降,在某些实施例中,驱动器停止报告信号强度下降的进一步指示。在步骤1012,漫游服务用OID_WW_SET_SIGNAL_SUGGESTION设置新阈值。在本示例中,新阈值是+/-6db。在步骤1014,驱动器用NDIS_WW_ASYNC_RESPONSE上的ResultCode=S_OK响应。在某一段设备空闲1016之后,在步骤1018,漫游服务用OID_WW_SET_SIGNAL_SUGGESTION的RssiSuggestedInteral参数建议该驱动器指示信号状态的增加的最小时间间隔。在本示例中,建议的间隔是20秒。在步骤1020,驱动器用NDIS_WW_ASYNC_RESPONSE上的ResultCode=S_OK来响应。在步骤1022,驱动器用NDIS_WW_SIGNAL_STATE指示信号强度—本示例中为45db—处于建议的阈值之外。
图11示出了依照本发明的一个实施例执行需要SIM密码的操作的示例。在本示例中,用户试图用WWAN设备作出语音呼叫,但是设备需要PIN2清除。在步骤1102,驱动器用NDIS_WW_REGISTER_STATE指示设备在家庭提供商处。在步骤1104,驱动器用NDIS_WW_PACKET_SERVICE向漫游服务指示设备已附加了分组。当用户试图作出语音呼叫时,在步骤1106,漫游服务向驱动器发送自定义OID_WW_VENDOR_SPECIFIC。然而,在发送异步结果之前,在步骤1108,驱动器用NDIS-WW_PIN_STATE指示需要PIN2。在步骤1110,漫游服务用OID_WW_SET_PIN发送PIN。在步骤1112,驱动器用NDIS_WW_ASYNC_RESPONSE上的ReusltCode=S_OK响应,指示PIN2现在已清除。在步骤1114,驱动器然后用NDIS_WW_ASYNC_RESPONSE上的另一ResultCode=S_OK响应,作为对步骤1106中给出的语音呼叫命令的异步响应。
鉴于本发明的原理可应用的许多可能的实施例,应当认识到,此处参考附图所描述的实施例仅为说明性的,并不应当作为对本发明的范围的局限。例如,本领域的技术人员将认识到,可以在不脱离本发明的精神的情况下在排列和细节上修改所示的实施例。尽管按照软件模块或组件描述了本发明,本领域的技术人员将认识到,它们可用硬件组件来等效地替换。因此,此处所描述的本发明考虑处于所附权利要求书及其等效技术方案范围内的所有这样的实施例及其等效技术方案。

Claims (27)

1.一种使用用户模式模块-内核模式驱动器接口来向内核模式WWAN设备驱动器发送命令并从其接收信息的系统,其特征在于,它包括:
一用户模式实体;
可由所述用户模式实体通过用户模式模块-内核模式驱动器接口向所述WWAN设备驱动器发送的第一组对象标识符(OID);以及
可由所述用户模式实体通过用户模式模块-内核模式驱动器接口从所述WWAN设备驱动器接收的第二组OID;
其中,在发送了所述第一组的一个OID之后,准许所述用户模式实体在从所述WWAN设备驱动器接收响应之前,通过所述用户模式模块-内核模式驱动器接口向所述WWAN设备驱动器发送OID。
2.如权利要求1所述的系统,其特征在于,所述WWAN设备驱动器控制基于GSM的设备。
3.如权利要求1所述的系统,其特征在于,所述WWAN设备驱动器控制基于CDMA的设备。
4.如权利要求1所述的系统,其特征在于,所述WWAN设备驱动器控制基于CDMA或GSM的设备。
5.如权利要求1所述的系统,其特征在于,所述第二组OID包括用于向所述用户模式实体指示与所述WWAN设备驱动器关联的WWAN设备已由WWAN服务提供商供应的OID。
6.如权利要求1所述的系统,其特征在于,所述第一组和第二组OID包括用于用来自SIM的信息验证的OID。
7.如权利要求1所述的系统,其特征在于,所述第一和第二组OID包括用于用PIN验证的OID。
8.如权利要求7所述的系统,其特征在于,所述PIN结合语音呼叫一起使用。
9.如权利要求1所述的系统,其特征在于,所述第一和第二组OID包括用于管理信号强度范围阈值的OID。
10.如权利要求9所述的系统,其特征在于,所述第一组OID包括可由所述用户模式实体发送来建立信号强度范围阈值的OID,并且其中,所述第二组OID包括可从所述WWAN设备驱动器接收用于指示所述信号强度处于所建立的信号强度范围阈值之外的OID。
11.如权利要求1所述的系统,其特征在于,所述第一和第二组OID包括用于管理信号强度报告间隔的OID。
12.如权利要求11所述的系统,其特征在于,所述第一组OID包括可由所述用户模式实体发送来建立信号强度报告间隔的OID,并且其中,所述第二组OID包括可用所建立的信号强度报告间隔的最小频率从所述WWAN设备驱动器接收的OID。
13.一种使用通过用户模式模块-内核模式驱动器接口发送的OID管理WWAN设备的信号强度的方法,其特征在于,所述方法包括:
发送一OID以建立信号强度范围阈值;以及
接收一报告所述WWAN设备的信号强度处于所建立的信号强度范围阈值之外的OID。
14.如权利要求13所述的方法,其特征在于,它还包括发送一OID以调整所述信号强度范围阈值。
15.如权利要求13所述的方法,其特征在于,它还包括由与所述WWAN设备结合的WWAN设备驱动器确定所述WWAN设备的信号强度处于所建立的信号强度范围阈值之外。
16.一种用户模式实体使用通过用户模式模块-内核模式驱动器接口发送的对象标识符来初始化WWAN设备的方法,其特征在于,所述方法包括:
发送并接收对象标识符以向与所述WWAN设备连结的所述设备驱动器查询关于所述设备所支持的媒体的信息;
发送一OID以设置所述用户模式实体所支持的配置服务版本的范围;
发送并接收对象标识符以向所述设备驱动器查询所述设备驱动器支持的配置服务版本的范围;以及
发送并接收对象标识符以向所述设备驱动器查询所述设备驱动器的能力。
17.如权利要求16所述的方法,其特征在于,所述WWAN设备驱动器控制基于GSM的设备。
18.如权利要求16所述的方法,其特征在于,所述WWAN设备驱动器控制基于CDMA的设备。
19.一种用户模式实体使用通过用户模式模块-内核模式驱动器接口发送的对象标识符来初始化WWAN设备的方法,其特征在于,所述方法包括:
初始化与所述WWAN设备连结的设备驱动器;
发送一OID以初始化协议栈;
接收一指示所述设备驱动器处于准备好状态的OID;
发送一OID以对收发器加电并尝试注册;
发送一OID以建立上下文;以及
接收一指示所述设备已连接并已准备好通信会话的OID。
20.如权利要求19所述的方法,其特征在于,它还包括从所述设备驱动器接收一指示是否需要PIN的OID。
21.如权利要求20所述的方法,其特征在于,如果需要PIN,所述用户模式实体发送一包含PIN的OID。
22.如权利要求19所述的方法,其特征在于,它还包括接收一指示所述设备驱动器正在搜索提供商的OID。
23.如权利要求22所述的方法,其特征在于,它还包括接收一指示所述设备驱动器附加有分组的OID。
24.如权利要求19所述的方法,其特征在于,它还包括发送一请求所供应的上下文的列表的OID。
25.如权利要求24所述的方法,其特征在于,它还包括接收一具有所供应的上下文的列表的OID。
26.如权利要求19所述的方法,其特征在于,所述WWAN设备是基于GSM的设备。
27.如权利要求19所述的方法,其特征在于,所述WWAN设备是基于CDMA的设备。
CNA200410088279XA 2003-10-24 2004-10-22 移动连接服务和wwan设备之间的接口 Pending CN1610325A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US51433103P 2003-10-24 2003-10-24
US60/514,331 2003-10-24
US10/749,796 2003-12-31
US10/749,796 US7814179B2 (en) 2003-10-24 2003-12-31 Interface between mobile connectivity service and WWAN device

Publications (1)

Publication Number Publication Date
CN1610325A true CN1610325A (zh) 2005-04-27

Family

ID=34396619

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA200410088279XA Pending CN1610325A (zh) 2003-10-24 2004-10-22 移动连接服务和wwan设备之间的接口

Country Status (5)

Country Link
US (1) US7814179B2 (zh)
EP (1) EP1526689B1 (zh)
JP (1) JP2005141737A (zh)
KR (1) KR101099270B1 (zh)
CN (1) CN1610325A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867565A (zh) * 2010-04-13 2010-10-20 中兴通讯股份有限公司 一种移动宽带设备的通用驱动方法及驱动器
CN104205078A (zh) * 2012-04-10 2014-12-10 英特尔公司 具有降低的延迟的远程直接存储器访问
CN112566218A (zh) * 2020-12-01 2021-03-26 中兴通讯股份有限公司 Sim卡选择方法、装置、终端及存储介质

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7814179B2 (en) * 2003-10-24 2010-10-12 Microsoft Corporation Interface between mobile connectivity service and WWAN device
KR100803683B1 (ko) * 2004-03-04 2008-02-20 인터디지탈 테크날러지 코포레이션 이동성이 가능한 시스템 구조의 소프트웨어 아키텍쳐 및응용 프로그래밍 인터페이스
US7587495B2 (en) * 2004-08-26 2009-09-08 Apple Inc Automatic configuration of controller computers in a network
US8127045B2 (en) 2004-09-13 2012-02-28 Apple Inc. Dynamically configurable connection on demand
US20060221987A1 (en) * 2005-03-30 2006-10-05 Junxion Inc. LAN and WWAN gateway
WO2007059037A2 (en) * 2005-11-10 2007-05-24 Junxion, Inc. Gateway network multiplexing
US8054778B2 (en) * 2005-11-10 2011-11-08 Junxion, Inc. LAN/WWAN gateway carrier customization
US8121071B2 (en) * 2005-11-10 2012-02-21 Sierra Wireless America, Inc. Gateway network multiplexing
US7885858B2 (en) * 2006-01-24 2011-02-08 Dell Products L.P. System and method for managing information handling system wireless network provisioning
US20070245414A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Proxy Authentication and Indirect Certificate Chaining
US7821987B2 (en) * 2006-11-22 2010-10-26 Kyocera Corporation Wireless wide area network (WWAN) mobile gateway with communication protocol management
US20090017865A1 (en) * 2007-07-13 2009-01-15 Sony Ericsson Mobile Communications Ab Making calls using the preferred network
KR20090016200A (ko) * 2007-08-10 2009-02-13 삼성전자주식회사 통신 단말기 및 그의 패킷 서비스 제공 방법
US8826307B2 (en) * 2008-04-18 2014-09-02 Microsoft Corporation Extensible private driver interface
CN101276289B (zh) * 2008-05-09 2010-06-16 中兴通讯股份有限公司 在Linux系统中用户和多内核进行通讯的方法
US8676942B2 (en) * 2008-11-21 2014-03-18 Microsoft Corporation Common configuration application programming interface
US8683046B2 (en) * 2008-11-21 2014-03-25 Microsoft Corporation Unified interface for configuring multiple networking technologies
US8751612B2 (en) * 2008-11-21 2014-06-10 Microsoft Corporation Creating cross-technology configuration settings
US8504006B2 (en) * 2008-12-30 2013-08-06 Symbol Technologies, Inc. Interactive management of wireless WAN (WWAN) mobile devices
US8521852B2 (en) * 2009-12-28 2013-08-27 The Directv Group, Inc. Method and system for registering a client device in a multi-room digital video recording system
TW201132163A (en) * 2010-03-12 2011-09-16 Gemtek Technology Co Ltd Network interface selection method and network device thereof
US8590023B2 (en) * 2011-06-30 2013-11-19 Intel Corporation Mobile device and method for automatic connectivity, data offloading and roaming between networks
GB2510729B (en) 2011-09-28 2020-01-08 Hewlett Packard Development Co Managing data usage of a computing device
US9078170B2 (en) * 2012-01-18 2015-07-07 Futurewei Technologies, Inc. System and method for network discovery
US9414305B2 (en) * 2013-02-04 2016-08-09 Metropcs Wireless, Inc. Intelligent network selection system
US20170251422A1 (en) * 2016-02-29 2017-08-31 Qualcomm Innovation Center, Inc. Mobile device with multiple wifi interfaces
CN106776094B (zh) * 2016-12-12 2020-02-21 郑州云海信息技术有限公司 一种tgtd服务方法、装置及客户端

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09179807A (ja) 1995-12-25 1997-07-11 Hitachi Ltd メッセージ通信システム及び方式
DE69826616T2 (de) * 1997-12-19 2005-10-06 Toyo Boseki K.K. Etiketten , Flaschen mit diesen Etiketten , und Verfahren zur Wiederwertung derselben
US6421728B1 (en) * 1997-12-31 2002-07-16 Intel Corporation Architecture for communicating with and controlling separate upstream and downstream devices
US6157965A (en) * 1998-02-27 2000-12-05 Intel Corporation System and method for binding a virtual device driver to a network driver interface
US6629151B1 (en) * 1999-03-18 2003-09-30 Microsoft Corporation Method and system for querying the dynamic aspects of wireless connection
US6633929B1 (en) 1999-04-30 2003-10-14 Microsoft Corporation Method and system for abstracting network device drivers
US6959439B1 (en) * 1999-09-30 2005-10-25 Mindspeed Technologies System interface abstraction layer
US7461148B1 (en) * 2001-02-16 2008-12-02 Swsoft Holdings, Ltd. Virtual private server with isolation of system components
US7814179B2 (en) * 2003-10-24 2010-10-12 Microsoft Corporation Interface between mobile connectivity service and WWAN device
US20060242270A1 (en) * 2005-04-21 2006-10-26 Microsoft Corporation Isolation of user-mode device drivers
US7944890B2 (en) * 2006-05-23 2011-05-17 Interdigital Technology Corporation Using windows specified object identifiers (OIDs) for an antenna steering algorithm

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101867565A (zh) * 2010-04-13 2010-10-20 中兴通讯股份有限公司 一种移动宽带设备的通用驱动方法及驱动器
WO2011127707A1 (zh) * 2010-04-13 2011-10-20 中兴通讯股份有限公司 一种移动宽带设备的通用驱动方法及驱动器
CN104205078A (zh) * 2012-04-10 2014-12-10 英特尔公司 具有降低的延迟的远程直接存储器访问
US9774677B2 (en) 2012-04-10 2017-09-26 Intel Corporation Remote direct memory access with reduced latency
CN104205078B (zh) * 2012-04-10 2018-01-19 英特尔公司 具有降低的延迟的远程直接存储器访问
US10334047B2 (en) 2012-04-10 2019-06-25 Intel Corporation Remote direct memory access with reduced latency
CN112566218A (zh) * 2020-12-01 2021-03-26 中兴通讯股份有限公司 Sim卡选择方法、装置、终端及存储介质

Also Published As

Publication number Publication date
EP1526689A3 (en) 2009-10-07
KR101099270B1 (ko) 2011-12-26
US20050090248A1 (en) 2005-04-28
JP2005141737A (ja) 2005-06-02
EP1526689B1 (en) 2018-10-17
US7814179B2 (en) 2010-10-12
EP1526689A2 (en) 2005-04-27
KR20050039538A (ko) 2005-04-29

Similar Documents

Publication Publication Date Title
CN1610325A (zh) 移动连接服务和wwan设备之间的接口
CN1902609A (zh) 用于在一外围装置与一无线装置之间建立通信的系统及方法
EP3714612B1 (en) Quick pairing of peripheral and host devices
RU2420000C2 (ru) Система, устройство и способ динамического конфигурирования параметров точки доступа для приложения
CN1276681C (zh) 协商移动业务的一种方法
CN1324854C (zh) 通信方法、通信系统和通信装置
CN1735059A (zh) 能经由多个网络通信媒体建立连接的计算设备上的网络和接口选择
US7945642B1 (en) Method and system for providing software to a machine
CN1198475C (zh) 通过无线通信模块控制使用sim卡的终端设备的系统和方法,对应的无线通信模块和终端设备
CN1685323A (zh) 通信系统,中继设备和通信控制方法
CN1308823C (zh) 终端装置
CN1578944A (zh) 无线网上应用程序的网络启动卸载的方法和设备
CN1642114A (zh) 手持移动终端用户定制信息的网络备份方法
CN1658701A (zh) 无线通信系统及系统中无线通信终端台的固件更新方法
CN1497472A (zh) 服务验证系统、认证要求终端、服务使用终端及提供方法
CN1716251A (zh) 用于访问web服务的方法和装置
CN1947450A (zh) 管理与可用网络的连接的系统和方法
CN1623148A (zh) 个人内容的增强存储
CN1199534A (zh) 用于传输电子函件的系统和主设备
CN1770897A (zh) 用于移动通信终端的数据备份系统和方法
CN1992551A (zh) 通信设备和电功率控制方法
CN1489299A (zh) 认定试验方法、认定试验系统、无线电终端和认定装置
CN1649286A (zh) 半双工无线电通信方法、程序及其系统
CN1285229C (zh) 获取移动用户状态信息的方法、系统及相应用户识别模块
CN1535059A (zh) 终端装置及程序

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20050427