在移动台中检测指定事件的方法和设备的制作方法

文档序号:6467169阅读:143来源:国知局
专利名称:在移动台中检测指定事件的方法和设备的制作方法
背景1.发明领域本发明一般涉及无线通信领域。尤其,本发明涉及一种在无线通信系统中检测指定事件的新颖方法和设备。
2.相关技术描述A.无线通信近来在无线通信和计算机相关技术中的革新以及因特网用户的空前增长已为移动计算铺设了一条捷径。事实上,移动计算的普及更需要现有的因特网结构能提供移动用户更多的支持。这个结构的生命线就是面向数据包的因特网协议(IP),它提供各种服务,包括在局域网和广域网(LAN和WAN)之间数据包(数据报)的寻址和路由选择。IP协议是在征求评论791(RFC 791)1981年9月公布的题为《INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION》中定义的。
IP协议是把数据封装在发送的IP数据包中的网络层协议。在数据报的标头添加了寻址和路由选择信息。例如,IP标头包含识别发送和接收主机的32比特地址。中间路由器使用这些地址来为数据包选择通过网络到达在预定地址处的它的最终目的地。这样,IP协议就允许在把世界上任何因特网节点上产生的数据包传送到世界上任何其他因特网节点。另一方面,传输层(它包括传输控制协议(TCP)或用户数据报协议(UDP))用于对于特定应用程序的寻址。
移动用户的现有趋势是使用移动计算机,比如笔记本或掌上型计算机,它与诸如蜂窝或便携式电话之类的无线通信设备结合来访问因特网。也就是说,正像用户传统地使用“有线”通信设备来把它们的计算机连接到陆上网络一样,移动用户使用无线通信设备(一般被称作为“移动台”(MS))来把它们的移动终端连接到这样的网络。就如这里所使用的,移动台或MS是指公共无线无线电网络中的任何用户台。


图1(现有技术)说明了无线数据通信系统的高层框图,其中MS110与交互工作功能器(IWF)108通过基站/移动交换中心(BS/MSC)106进行通信。IWF 108用作到因特网的访问点。IWF 108与BS/MSC 106耦合并通常与其驻留在同一地点,BS/MSC 106可以是本技术中已知的传统无线基站。另一个对无线数据通信系统定址的标准协议是1999年12月公布的第3代合作工程(“3GPP2”)题为“WIRELESSIP NETWORK STANDARD”的标准。例如,3G无线IP网络标准包括数据包数据服务节点(“PDSN”),它功能类似于IWF 108。
存在各种协议对在MS110和IWF 108间数据通信进行寻址。例如,1993年7月公布电信工业协会(TIA)/电子工业协会(EIA)临时标准IS-95,题为《MOBILESTATION-BASE STATION COMPATIBILITY STANDARD FOR DUAL-MODE WIDEBAND SPREADSPECTRUM CELLULAR SYSTEM》的协议通常提供宽带扩展频谱无线通信系统的标准。此外,1998年2月公布的标准TIA/EIA IS-707.5,题为《DATA SERVICE OPTIONS FORWIDEBAND SPREAD SPECTRUM SYSTEMSPACKET DATA SERVICE》的协议定义了在TIA/EIA IS-95系统上支持数据包数据传输能力的要求,并指定了包数据载体服务,可把它可被用于MS 110和IWF 108间通过BS/MSC 106的通信。此外,都在1999年3月公布的TIA/EIA IS-707-A.9标准,题为《DATA SERVICE OPTIONS FORSPREAD SPECTRUM SYSTEMSPACKET DATA SERVICES》的协议以及TIA/EIA IS-707-A.9标准,题为《DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMSHIGH-SPEEDPACKET DATA SERVICES》的协议也定义了在TIA/EIA IS-95系统上支持的包数据传输的要求。此外,另一个在MS110和IWF 108间对通信寻址的标准协议是1999年7月公布的TIA/EIA IS-2000,题为《INTRODUCTION TO CDMA 2000 STANDARDS FORSPREAD SPECTRUM SYSTEMS》的协议。
IS-707.5引入了在MS 110和BS/MSC 106间(Um接口)以及BS/MSC 106和IWF 108间(L接口)的通信协议选项模型。例如,中继模型表示点对点协议(PPP)链路存在于MS110和IWF 108之间的Um接口上的情况。PPP协议在征求评论1661(RFC 1661)题为《THE POINT-TO-POINT PROTOCOL(PPP)》中作了详细描述。
图2(现有技术)是在IS-707.5中继模型的每个实体中的协议堆栈的示意图。图的最左边是以传统纵向格式显示的通信协议堆栈,它示出在MS 110上运行的协议层。举例的MS 110协议堆栈通过Um接口逻辑地连接于BS/MSC 106协议堆栈。接着,举例的BS/MSC 106协议堆栈通过L接口逻辑地连接于IWF 108协议堆栈。
图2中所述的操作如下高层协议200实体,比如在MS 110上运行的应用程序,需要在因特网上发送数据,代表性的应用程序可以是web浏览器程序(例如Netscape NavigatorTM、Microsoft Internet ExplorerTM)web浏览器请求一个通用资源定位器(URL),例如超链接“http//www.Qualcomm.com”。也在高层协议200中的域名系统(DNS)协议通过使用把域名译成因特网地址的域名解析把文本主机名www.Qualcomm.com译成32位的数字IP地址。也在高层协议200中的超文本传输协议(HTTP)为请求的URL构造GET消息,并指定TCP将用于发送该消息及HTTP操作。传输层202使用端口80(这在本技术中是已知的)作为把HTTP操作选路传送到此应用程序的目标端口。
TCP协议(就是传输层协议202)开启到由DNS指定的IP地址的连接并发送应用层HTTP GET消息。TCP协议指定IP协议用于消息传输。IP协议(就是网络层协议204)把TCP数据包发送到指定的IP地址。PPP(就是链路层协议206)对IP数据包进行编码并把它们发送到中继层协议208。中继层协议208的一个例子就是已举例TIA/EIA-232F标准,它是在1997年10月公布的《INTERFACE BETWEENDATA TERMINAL EQUIPMENT AND DATA CIRCUIT-TERMINATING EQUIPMENT EMPLOYINGSERIAL BINARY DATA INTERCHANGE》中定义的。可以理解的是本领域普通技术人员已知的其他标准或协议可用于定义通过这些层的传输。例如,其他可应用标准可以包括1998年9月公布的《UNIVERSAL SERIAL BUS(USB)SPECIFICATION,Revision1.1》以及1999年7月公布的《BLUETOOTH SPECIFICATION VERSION 1.0A CORE》。最后,中继层协议208把PPP数据包传送到无线电链路层(RLP)210,并随后传送到IS-95协议212,以通过Um接口传输到BS/MSC 106。RLP协议210是在1998年2月公布的IS-707.2题为《DATA SERVICE OPTIONS FOR WIDEBAND SPREAD SPECTRUMSYSTEMSRADIO LINK PROTOCOL》中定义的,而IS-95协议是在以上所指出的IS-95标准中定义的。
在BS/MSC 106上互补的中继层协议220经过Um接口及通过IS-95层218和随后的RLP层216接收PPP数据包。中继层协议220通过L接口把它们传送到IWF108上的中继层协议228。IWF 108上的PPP协议链路层226从中继层协议228接收PPP数据包并终止MS 110和IWF 108间的PPP连接。在IWF 108上把数据包从PPP层226传送到IP层224,以为了最终路由选择的IP数据包标头的检测,在这个情况中就是www.Qualcomm.com。
假设由MS 110产生的IP数据包的最终目的地不是IWF 108,那么就把数据包通过网络层协议224和链路层协议225传送到因特网上的下一个路由器(图中未显示)。由此,根据IS-707.5标准中继模型把来自MS 110的IP数据包被传送通过BS/MSC 106和IWF 108传送到它们的最终预定目的地。
在MS 110数据包到达它们的目的地之前,必须首先建立数据链路连接。就如RFC 1661所规定的,这需要点对点链路(即PPP协议206和226)的每个端点首先发送PPP链路控制协议(LCP)数据包,以便建立、配置和测试数据链路连接。在已经由LCP建立了链路之后,PPP协议206随后就可以发送网络控制协议(NCP)以配置网络层协议204和224。PPP链路中IP的NCP是IP控制协议(IPCP)。IPCP在1992年5月公布的征求评论1332(RFC 1332),题为《THE PPP INTERNET PROTOCOLCONTROL PROTOCOL(IPCP)》中作了详细描述。然而,在IPCP协商之前,可能需要鉴别阶段。在已经配置了每个网络协议层协议之后,就可以通过链路在它们之间发送来自每个网络层协议的数据包。
B.应用程序接口支持在MS 110上的通信协议堆栈的大多数(如果不是所有)过程都是由应用程序执行的。通常,传统的数据网络使用应用程序接口(API)以使运行在一台计算机的应用程序能与运行在另一台计算机上的应用程序进行通信。API使用“套接字”,它在基础的网络协议中保护调用的应用程序免于区分。为了完成网络间的通信,API包含它提供一些应用程序的函数,例如打开套接字、把数据发送到网络、从网络接收数据以及关闭套接字。普通网络程序设计接口包括Berkeley系统开发(BSD)套接字接口(它在UNIXTM操作系统下操作)以及WindowsTM套接字接口(WinSockTM)(它在WindowsTM操作系统下操作)。
由于BSD套接字和WinSockTM都不支持在无线MS 110(见图2)上的通信协议堆栈,所以就需要支持这样一个堆栈的新颖的API。尤其是,所需要的就是在无线通信系统中检测指定事件的方法和设备。
发明概述本发明着手于以上由在无线通信系统中提供检测指定事件的方法和设备所确定的需要。在一个实施中,本发明包括应用程序接口(API),它简化移动台通信协议堆栈(它与通信网络通信)和移动台应用程序间的通信。当移动台应用程序记录一指定事件时,移动台通信协议堆栈就查询存储器。然后,根据查询,移动台通信协议堆栈检测所述指定事件。在本发明的另一个实施中,移动台通信协议堆栈由中断通知而检测所述指定事件,当所述指定事件发生时触发这个中断通知。
附图简述图1(现有技术)是无线通信系统的高层框图,其中移动台连接到因特网。
图2(现有技术)示意性地描述在TIA/EIA IS-707.5中继模型的每个实体中的协议堆栈。
图3示意性地描述本发明实施例的特征。
图4和5是检测指定事件的流程图。
图6是描述异步连接的框图。
图7是描述异步套接字输入的框图。
图8-10是本发明实施例的状态图。
详细描述可以在各种方法中实现本发明的实施例,包括软件、固件和/或硬件。因此,本发明的操作和实现不会特别参照软件代码或硬件部件描述,可以理解的是,本领域的普通技术人员能够设计软件和/或硬件实现根据这里的描述检测指定事件的本发明。
图3描述了MS 110内的应用程序260,通信协议堆栈280和API 270。应用程序260和通信协议堆栈280(即协议层202、204、206、208、210、212)通过函数调用而通信,这些函数调用是由API 270提供的。换句话说,API 270允许应用程序260和通信协议堆栈280在不同处理器和操作系统上运行而无需折衷功能性。本领域的技术人员会理解调,用的函数可能有各种名字,而这并不离开本应该指出的是,通信协议堆栈280包含多个发送队列和接收队列,它们存储数据。输出函数从应用程序280的存储器中读取数据,以把数据存储在通信协议堆栈280的发送队列之一中。输入函数从通信协议堆栈280的接收队列之一读取数据,以把数据存储在应用程序260的存储器中。
为了说明这个操作,MS 110就接收IP数据包。MS 110的通信协议堆栈280拆分IP数据包,并把它们传送到传输层202(见图3)。IP数据包标头中的一字段指示传输,它可以是TCP也可以是UDP。根据在传输层标头指定的目标端口号,把数据选路传送到通信协议堆栈280的合适的接收队列,它对应特定的套接字。然后可以把数据发送到应用程序260。
在某些情况中,可能希望绕过协议堆栈280的各层的数据包进行操作,以减少等待时间的影响。这样的数据包包括原始分组数据,比如原始IP数据包,它缺少目的地信息(即目标端口号)。正如这样,就不能从原始IP数据包确定目标应用程序。在这种情况中,例如,通信协议堆栈280就可以把接收到的原始IP数据包发送到所有已记录支持IP协议的套接字。这就使有效载荷数据发送到目标应用程序。因特网控制信息协议(ICMP)分析引擎(它响应IP数据包)也可以接收原始分组数据。众所周知的ICMP分析引擎是在RFC 792的题为《INTERNET CONTROLMESSAGE PROTOCOL》中定义的。例如,从这个描述这就更加明显,通信协议堆栈280在把接收的数据包沿着堆栈向上传递到应用程序260之前,就处理这些数据包,这就减少了应用程序260所进行的拆分量。
相反,应用程序260可以通过使用套接字经过Um接口发送原始分组数据,这个套接字简化了通信协议堆栈280和应用程序260间的通信。此外,应用程序260可以通过Um接口发送原始分组数据。而通信协议堆栈280把分组或原始分组数据封装在诸如IP数据包中,并把它们通过Um接口发送。在这个例子中,通信协议堆栈280提供IP标头及校验和,以产生IP数据包。另一方面,对于ICMP,可以把特定协议类型复制到IP标头中。
就以上所指出的,应用程序可以创建了套接字(它提供至少一个协议层202、204、206、208、210、212和应用程序260间的通信),以减少在使用通信协议堆栈280中的固有的等待时间。也就是说,应用程序260可以创建套接字,它可以绕过传输层202、网络层204以及链路层206,这样就可以使应用程序260把有效载荷数据发送到RLP层210或从该层接收有效载荷数据。应用程序也可以创建套接字,它使应用程序260把有效载荷数据发送到IS-95层212或从该层接收有效载荷数据。
在一个实施例中,应用程序调用函数open_netlib()以打开通信协议堆栈280并赋于应用程序标识。应用程序标识允许多个应用程序与通信协议堆栈280通信(即多任务)。例如,作为函数open_netlib()调用的一部分,应用程序260指定一指向网络回叫函数和指向套接字回叫函数的指针。只要发生(或已被启动)网络子系统指定事件(比如读取、写入、关闭话务信道(即Um)和/或链路层(即PPP 206))发生(或已被允许)就调用网络回叫函数以通知应用程序260。只要发生(或已被启动)套接字指定事件(比如读取、写入、关闭传输层(即TCP))就调用套接字回叫函数以通知应用程序260。对于本领域技术人员明显的是,通信网络至少包含话务信道、链路层和传输层中之一。
一旦开启了通信协议堆栈280,就调用函数pppopen()使网络子系统连接初始化,网络系统连接包括话务信道和链路层。这是全应用程序调用,它不依靠单独的套接字。然而,它需要应用程序识别。在网络子系统连接建立或失效时,就调用网络回叫函数提供指定事件通知。例如,如果没有建立话务信道,则网络子系统就失效了。此外,还可以调用函数net_ioctl()来设置网络子系统的特性。例如,这个调用可以指定套接字的数据率。
一旦建立了网络子系统连接,就可以创建套接字,并通过调用函数socket()初始化。然而,在可以使用套接字函数之前,函数socket()的调用可能返回套接字描述符。然后,应用程序260就可以调用函数async_select(),以记录指定事件来接收异步通知。这个记录,应用程序260可以执行作为函数调用的一部分,以指定套接字描述符和需要通知的指定事件的位屏蔽(即多种事件一起相“或”)。例如,如果指定事件发生了(即启动了)并且由通信协议堆栈280或API 270检测到了,那么就调用套接字回叫函数,以提供异步通知。回叫函数可以通过使用信号、消息,包括通过远程过程调用(RPC)的消息或硬件或软件的中断,来通知指定事件的应用程序260。
一旦把指定事件通知了应用程序260,它就可以调用函数getnextevent()以确定要服务的指定事件。这个函数返回为特定套接字描述符而发生的指定事件的屏蔽。它也可以清除在所发生的指定事件的屏蔽中的这些位。这样应用程序260就不再接收所禁止的指定事件的通知。应用程序随后必须通过调用函数async_select()重新记录(即重新允许)这些特定的事件。
此外,应用程序260可以通过清除在指定事件的位屏蔽中的相应位而改变所记录的指定事件。如果已清除了在位屏蔽中的这个位,那么就简单地忽略这个请求。简而言之,例如,通过调用函数async_deselect(),可以在每个事件的基础上禁止事件通知。
图4和5是检测指定事件的流程图。例如,如图4中所示,在块400中,通信协议堆栈280等待应用程序260记录指定事件。在记录了指定事件之后,在块402中,通信协议堆栈280就查询存储器。在块404中,根据块402的查询信息可以检测指定事件。在块406中,例如,当通信协议堆栈280的存储器(即发送队列)可用于接受足够量信息时,检测到了写入事件。可以从应用程序260发送数据。如果块404的查询信息是不符合要求的(即,尚未发生指定事件),那么就如在块402中那样,通信协议堆栈280继续查询存储器。
在图5中,就如块500中所示,通信协议堆栈280等待应用程序260记录指定事件。在这期间,可以禁止中断通知。这样,就不能触发或不触发中断通知。如在块500中,在记录了指定事件之后,在块502中,根据指定事件的发生可以触发中断通知。例如,当把数据写入通信协议堆栈280的存储器(即接收队列)中时,就发生了读取事件。这样,在块504中,当通信协议堆栈280接收中断通知(它由于事件的发生而触发中断通知)时,通信协议堆栈280检测到了读取事件。存储在通信协议堆栈280的存储器中的数据可以来自通信网路。此外,对于读取事件,可以把所存储的数据发送到应用程序260。
最后,当套接字可用于重新使用时,检测到了关闭事件,例如,这是因为终止了数据链路连接,比如传输层。
以下提供异步连接(见图6)和异步输入(见图7)的例子来说明异步事件通知的使用。
参照图6,进入通信协议堆栈280以及指定回叫函数都通过调用函数open_netlib()。调用函数pppopen()(A)使网络子系统连接初始化(B)。在已经建立了网络子系统连接之后,调用回叫函数以(C)报告网络子系统的可用性。
假设已开启并分配了套接字,调用函数connect()(D)使TCP连接(E)初始化。此外,应用程序260调用函数async_select()(F),以记录指定事件来接收通知。在这个例子中,所关心的指定事件是写入事件,它发生于建立连接后。
当建立了连接时,如果在屏蔽中记录了指定事件,就调用回叫函数。如果是的,那么调用回叫函数(G)以提供异步通知。一旦通知了应用程序260,它就调用函数getnextevent()(H)以确定发生(I)了哪一个指定事件。这个调用还清除在屏蔽(J)中的该事件(即写入事件)的位。应用程序260必须通过调用函数async_select()重新记录该指定事件的接着的通知。
在图7中,提供了异步套接字读取的说明。为了初始化读取,应用程序260调用函数read()(A)。假设缺少读取的数据,应用程序就调用函数async_select()(B)以记录事件(即设置在屏蔽中的相应位)来接收通知。在这个例子中,所关心的指定事件是读取事件,当应用程序260有数据读取时它就发生了。
当接收队列存储数据时,如果在屏蔽中指定了读取事件,就调用回叫函数。如果是的,那么调用回叫函数(C)以提供异步通知。一旦通知了应用程序260,它就调用函数getnextevent()(D)以确定发生(E)了哪一个事件。这个调用还清除在屏蔽(F)中该事件的位。应用程序260必须通过调用函数async_select()重新启动该事件的接着的通知。最后,为了读取存储在接收队列中的数据,应用程序260调用函数read()(G)。
在图8-10中,说明了本发明实施例的状态机。在图8-9中,假设开启了通信协议堆栈280和建立了网络子系统连接(即话务信道和链路层,如果必要,原始套接字可以绕过网络子系统)。本领域的技术人员会理解,状态可能各种名字,这并不离开本发明的范围。
状态机(它可以在状态间异步转移)控制(即启动和禁止)指定事件,比如读取、写入及关闭。在操作开始处可以禁止指定事件,并可以在预定状态中启动该指定事件,以帮助应用程序260识别MS 110的状态。
根据API 270的状态和应用程序260所调用的函数类型,API 270也可以报告特定状态消息,所述特定状态消息量应用程序260所特有的(即不仅仅是同类的)。特定状态消息可以反映基础通信网络的状态。例如,把状态消息报告给应用程序260作为函数调用的依据。
例如,在图8中,说明了API 207的TCP套接字的状态图。在“空”状态800中开始未初始化的套接字。到目前为止,由于还没分配套接字所以它不“存在”。可以通过调用函数socket()创建套接字和进行初始化,这个函数返回与套接字有关函数一起使用的套接字描述符。在调用函数socket()后,状态机转移到“初始化”状态805。
在初始化状态805中,只要有可能调用函数close()来终止TCP连接,状态机就转移回到空状态800。调用函数close()断开所有套接字有关资源。另一方面,调用函数connect(),使TCP连接初始化并使状态机转移到“正开启”状态810。
在正开启状态810,只要(1)发生了网络子系统失效,(2)不能建立TCP连接或(3)IP地址的改变,状态机就转移到“关闭”状态。在调用了函数close()(它终止TCP连接)之后,在启动终止过程的同时,状态机也会把套接字转移到“正关闭”状态820。最后,在建立TCP连接时,状态机转移到“开启”状态825。
在开启状态825中,开启套接字以读取和写入。尤其,在根据是否把数据存储到通信协议堆栈280的存储器中而启动读取事件的同时,会立即启动写入事件。只要(1)发生了网络子系统失效;(2)不能建立TCP连接;(3)试图终止TCP连接,比如TCP重置、TCP异常终止或由网络服务器启动的TCP关闭以及(4)IP地址的改变,状态机就会转移到已关闭状态815。应用程序启动TCP连接终止(比如通过调用函数close()),使状态机转移到正关闭状态820。
在已关闭状态815,读取、写入和关闭事件都被确立了。在调用函数close()(它终止TCP连接)后,状态机使套接字转移到空状态800,它释放套接字,使之可再次使用。
在正关闭状态820中,只要(1)发生了网络子系统失效;(2)试图终止TCP连接,比如TCP重置、或由网络服务器启动TCP关闭;(3)定时器到时以及(4)IP地址的改变,状态机就会转移到“等待关闭”状态。为了防止在终止TCP连接进行中的延迟,API 270执行定时器,在启动TCP连接终止时激励了该定时器。如所见的,定时器的到时就把状态机转移到等待关闭状态830。
在等待关闭状态830中,调用函数close()终止TCP连接并把状态机转移到空状态800。在这个状态830确立了关闭事件。
表1-3说明了API 270所支持的特定状态消息。在空状态(表1-3中没有显示出)中,可把特定状态消息“没有另外资源可使用”(是说明性的)可报告给应用程序260。
表1
表2
表3
通过举例,图9说明了API 270的UDP套接字的状态图。未初始化的套接字在“空”状态900中开始。就以上关于空状态800所述,套接字由于尚未分配所以不“存在”。可以通过调用函数socket()创建套接字和使之初始化,这个函数返回套接字描述符以与套接字有关函数一起使用。在调用函数socket()后,状态机转移到“开启”状态905。
在开启状态905中,开启套接字以读取和写入。尤其,在根据是否把数据存储到通信协议堆栈280的存储器中而启动读取事件的同时,会立即启动写入事件。只要发生了网络子系统失效,状态机就会转移到“已关闭”状态910。应用程序启动的UDP连接终止(比如通过调用函数close()),使状态机转移到空状态900。
在已关闭状态910中,读取、写入和关闭事件都被启动了。在调用函数close()(它终止UDP连接)后,状态机把套接字转移到空状态900,它释放套接字并使其可再次使用。
表4-6说明了API 270所支持的特定状态消息。在空状态(表4-6中没有显示出)中,如上所述,可把特定状态消息“没有另外资源可使用”(是说明性的)报告给应用程序260。
表4
表5
表6
图10说明了控制网络子系统(比如话务信道(即Um)和链路层(即PPP206))的状态图。调用函数open_netlib()开启网络子系统,并使套接字初始化而进入“已关闭”状态1000。调用函数pppopen(),启动网络子系统连接,它使套接字转移到“正开启”状态1005。通过进入的PPP呼叫,到MS 110的寻呼也使套接字转移到正开启状态1005。在这两种情况下,经过成功协商,MS 110尝试越过话务信道同步和建立RLP和PPP两者。
在正开启状态1005中,当建立网络子系统连接时,套接字转移到“开启”状态1010。另一方面,如果没有建立网络子系统,那么套接字转移回到已关闭状态1000。
在开启状态1010中,调用回叫函数以识别应用程序1060指定的事件,比如已启动的读取、写入和关闭。在这个时刻,MS 110能够通过话务信道通信。然而,只要发生了网络子系统失效(它调用回叫函数),套接字就会转移到“已关闭”状态1000。应用程序启动的网络子系统连接终止(比如通过调用函数close()),使状态机转移到正关闭1015。
在正关闭状态1015中,只要终止了网络子系统连接,套接字就转移到已关闭状态1000。在已关闭状态1000中,调用回叫函数以识别所启动的应用程序260的指定事件。
表7说明了相应于特定函数调用,并由API 270支持的特定状态消息。
表7
在另一个实施例中,机器可以读取包含已编码信息的机器可读取介质,比如已编码软件代码,以发生上检测指定事件的过程。机器可读取介质可以从存储设备(比如存储器或存储盘),或从通信网络接收已编码信息。当制造了该介质时,也可用已编码信息对机器可读取介质进行编程。该机器可以包括至少一个应用程序260、通信协议堆栈280和API 270,而机器可读取介质可以包括存储器或存储盘。
虽然结合特定实施例显示了本发明,但不应考虑为有此限制。当然,本发明仅仅由所附权利要求和它们的等价物的范围限定。
权利要求
1.一种用于移动台通信协议堆栈检测指定事件的方法,该方法包括在移动台通信协议堆栈和通信网络间进行通信;在所述移动台通信协议堆栈和所述移动台应用程序间通过移动台应用程序接口进行通信;只要所述移动台应用程序记录了所述指定事件,就通过所述移动台通信协议堆栈查询存储器;以及根据查询通过移动台通信协议堆栈检测所述指定事件。
2.按权利要求1所述的方法,其特征在于进一步包括只要所述存储器可用于接受足够量的数据,就通过所述移动台通信协议堆栈检测所述指定事件。
3.按权利要求1所述的方法,其特征在于所述指定事件至少是读取、写入和关闭事件之一。
4.按权利要求2所述的方法,其特征在于从所述移动台应用程序发送所述数据。
5.按权利要求1所述的方法,其特征在于进一步包括通过所述移动台应用程序记录所述指定事件,以及通过所述移动台应用程序禁止所述指定事件。
6.一种用于移动台通信协议堆栈检测指定事件的方法,该方法包括在移动台通信协议堆栈和通信网络间进行通信;在所述移动台通信协议堆栈和所述移动台应用程序间通过移动台应用程序接口进行通信;通过移动台应用程序记录所述指定事件;只要所述指定事件发生就触发中断通知;以及通过移动台通信协议堆栈按所述中断通知检测所述指定事件。
7.按权利要求6所述的方法,其特征在于只要把数据写入了存储器,所述指定事件就发生。
8.按权利要求6所述的方法,其特征在于所述指定事件至少是读取、写入和关闭事件之一。
9.按权利要求6所述的方法,其特征在于进一步包括通过所述移动台应用程序禁止所述指定事件。
10.一种检测指定事件的设备,该设备包括与通信网络进行通信的移动台通信协议堆栈;移动台应用程序接口,它简化移动台通信协议堆栈和移动台应用程序间的通信;以及存储器,只要所述移动台应用程序记录了所述指定事件,就通过所述移动台通信协议堆栈进行查询。其中,所述移动台通信协议堆栈适用于根据查询检测所述指定事件。
11.按权利要求10所述的设备,其特征在于只要所述存储器可用于接受足够量的数据所述移动台应用程序接口就适用于检测所述指定事件。
12.按权利要求10所述的设备,其特征在于所述指定事件至少是读取、写入和关闭事件之一。
13.按权利要求10所述的设备,其特征在于从所述移动台应用程序发送所述数据。
14.按权利要求10所述的设备,其特征在于所述移动台应用程序适用于禁止所述指定事件。
15.一种检测指定事件的设备,该设备包括与通信网络进行通信的移动台通信协议堆栈;以及移动台应用程序接口,它简化移动台通信协议堆栈和移动台应用程序间的通信;其中,所述移动台应用程序适用于记录所述指定事件,其中,中断通知适用于只要所述指定事件发生就触发,其中,所述移动台通信协议堆栈适用于通过中断通知检测所述指定事件。
16.按权利要求15所述的设备,其特征在于所述指定事件至少是读取、写入和关闭事件之一。
17.按权利要求15所述的设备,其特征在于只要把数据写入了存储器所述指定事件就发生。
18.按权利要求15所述的设备,其特征在于所述移动台应用程序适用于禁止所述指定事件。
19.一种机器可读取介质,它包括已编码信息,其中由机器读取时所引发的过程有在移动台通信协议堆栈和通信网络间进行通信;在所述移动台通信协议堆栈和所述移动台应用程序间通过移动台应用程序接口进行通信;只要所述移动台应用程序记录了所述指定事件,就通过所述移动台通信协议堆栈查询存储器;以及根据查询通过移动台通信协议堆栈检测所述指定事件。
20.按权利要求19所述的机器可读取介质,其特征在于进一步包括只要所述存储器可用于接受足够量的数据就通过所述移动台通信协议堆栈检测所述指定事件。
21.按权利要求19所述的机器可读取介质,其特征在于所述指定事件至少是读取、写入和关闭事件之一。
22.按权利要求20所述的机器可读取介质,其特征在于从所述移动台应用程序发送所述数据。
23.按权利要求19所述的机器可读取介质,其特征在于进一步包括通过所述移动台应用程序记录所述指定事件,以及通过所述移动台应用程序禁止所述指定事件。
24.一种机器可读取介质,它包括已编码信息,其中由机器读取时所引发的过程有在移动台通信协议堆栈和通信网络间进行通信;在所述移动台通信协议堆栈和所述移动台应用程序间通过移动台应用程序接口进行通信;通过移动台应用程序记录所述指定事件;只要所述指定事件发生就触发中断通知;以及通过移动台通信协议堆栈按所述中断通知检测所述指定事件。
25.按权利要求24所述的机器可读取介质,其特征在于只要把数据写入了存储器所述指定事件就发生。
26.按权利要求24所述的机器可读取介质,其特征在于所述指定事件至少是读取、写入和关闭事件之一。
27.按权利要求24所述的机器可读取介质,其特征在于进一步包括通过所述移动台应用程序禁止所述指定事件。
全文摘要
本发明揭示了一种在无线通信系统中检测指定事件的方法和设备。本发明包括应用程序接口(API),它简化移动台通信协议堆栈(它与通信网络通信)和移动台应用程序间的通信。当移动台应用程序记录一指定事件时,移动台通信协议堆栈就查询存储器。然后,根据查询,移动台通信协议堆栈检测所述指定事件。在本发明的另一个实施中,移动台通信协议堆栈由中断通知检测所述指定事件,当所述指定事件发生时触发这个中断通知。
文档编号G06F13/00GK1435039SQ01807377
公开日2003年8月6日 申请日期2001年3月29日 优先权日2000年3月30日
发明者N·阿波罗, H·吉尔基 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1