首页 / 专利库 / 专利权 / 第I章 / 国际申请 / 请求书 / 指定 / 移动台应用程序识别指定事件的方法和设备

移动台应用程序识别指定事件的方法和设备

阅读:1042发布:2020-06-12

专利汇可以提供移动台应用程序识别指定事件的方法和设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种在无线通信系统中用移动台应用程序识别 指定 事件的方法和设备。本发明包括应用程序 接口 (API),它利于移动台通信协议堆栈(它与通信网络通信)和移动台应用程序间的通信。API根据它的状态允许至少一个指定事件。然后移动台应用程序识别所允许的指定事件。,下面是移动台应用程序识别指定事件的方法和设备专利的具体信息内容。

1.一种使移动台应用程序识别多个指定事件的方法,该方法包括:
在移动台通信协议堆栈和通信网络间进行通信;
在所述移动台通信协议堆栈和所述移动台应用程序间通过移动台应用程序接 口进行通信;
根据所述移动台应用程序接口的状态,通过所述移动台应用程序接口允许至 少一个所述指定事件;以及
通过移动台应用程序识别所允许的所述指定事件。
2.按权利要求1所述的方法,其特征在于所述移动台应用程序通过调用函 数识别所允许的所述指定事件。
3.按权利要求1所述的方法,其特征在于所述移动台应用程序接口包括多 个状态。
4.按权利要求3所述的方法,其特征在于所述移动台应用程序接口异步地 在所述状态间转移。
5.按权利要求1所述的方法,其特征在于所述多个指定事件包括读取、写 入和关闭事件中的至少一个。
6.按权利要求1所述的方法,其特征在于进一步包括所述移动台应用程序 接口根据所述移动台应用程序接口的状态禁止至少一个所述指定事件。
7.按权利要求5所述的方法,其特征在于只要建立了通信网络连接,就允 许所述写入事件。
8.按权利要求5所述的方法,其特征在于只要建立了通信网络连接,并且 数据存储在所述移动台通信协议堆栈的存储器中就允许所述读取事件。
9.按权利要求5所述的方法,其特征在于只要发生了通信网络失败,就允 许所述读取、写入和关闭事件。
10.按权利要求5所述的方法,其特征在于只要不能建立通信网络连接、尝 试终止通信网络连接或网络识别地址的改变,就允许所述读取、写入和关闭事件。
11.按权利要求10所述的方法,其特征在于所述网络识别地址包括IP地址。
12.按权利要求5所述的方法,其特征在于只要发生了通信网络失败、尝试 终止通信网络连接、定时器到时或网络识别地址的改变,就允许所述关闭事件。
13.按权利要求12所述的方法,其特征在于所述网络识别地址包括IP地址。
14.按权利要求12所述的方法,其特征在于一初始化终止所述通信网络连 接,就驱动所述定时器。
15.按权利要求5所述的方法,其特征在于只要分配了套接字就允许所述写 入事件。
16.按权利要求5所述的方法,其特征在于只要分配了套接字并且数据存储 在所述移动台通信协议堆栈的存储器中,就允许所述读取事件。
17.一种使移动台应用程序识别多个指定事件的设备,该设备包括:
与通信网络进行通信的移动台通信协议堆栈;
移动台应用程序接口,它根据所述移动台应用程序接口的状态允许至少一个 所述指定事件;
识别所允许的所述指定事件的移动台应用程序,
其中所述移动台应用程序接口适用于促进所述移动台应用程序和所述移动台 通信协议堆栈间的通信。
18.按权利要求17所述的设备,其特征在于所述移动台应用程序适用于识 别由函数调用所允许的所述指定事件。
19.按权利要求17所述的设备,其特征在于所述移动台应用程序接口包括 多个状态。
20.按权利要求19所述的设备,其特征在于所述移动台应用程序接口适用 于在所述状态间异步转移。
21.按权利要求17所述的设备,其特征在于所述多个指定事件包括读取、 写入和关闭事件中的至少一个。
22.按权利要求17所述的设备,其特征在于所述移动台应用程序接口适用 于根据所述移动台应用程序接口的状态禁止至少一个所述指定事件。
23.一种机器可读取介质,它包括已编码信息,其中由机器读取时所引发的 过程有:
在移动台通信协议堆栈和通信网络间进行通信;
在所述移动台通信协议堆栈和所述移动台应用程序间通过移动台应用程序接 口进行通信;
根据所述移动台应用程序接口的状态通过所述移动台应用程序接口允许至少 一个所述指定事件;以及
通过移动台应用程序识别所允许的所述指定事件。
24.按权利要求23所述的机器可读取介质,其特征在于所述移动台应用程 序通过调用函数识别所允许的所述指定事件。
25.按权利要求23所述的机器可读取介质,其特征在于所述移动台应用程 序接口包括多个状态。
26.按权利要求25所述的机器可读取介质,其特征在于所述移动台应用程 序接口异步地在所述状态间转移。
27.按权利要求23所述的机器可读取介质,其特征在于所述多个指定事件 包括读取、写入和关闭事件中的至少一个。
28.按权利要求23所述的机器可读取介质,其特征在于进一步包括所述移 动台应用程序接口根据所述移动台应用程序接口的状态禁止至少一个所述指定事 件。

说明书全文

1.发明领域

本发明一般涉及无线通信领域。尤其本发明涉及一种在无线通信系统中使移 动台应用程序能识别指定事件的新颖方法和设备。

2.相关技术描述

A.无线通信

近来在无线通信和计算机相关技术中的革新以及因特网用户的空前增长已为 移动运算铺设了一条捷径。事实上,移动运算的普及更需要现有的因特网结构能 提供移动用户更多的支持。这个结构的生命线就是面向数据包的因特网协议(IP), 它提供各种服务,包括在局域网和广域网(LAN和WAN)之间数据包(数据报)的 寻址和路由选择。IP协议是在征求评论791(RFC791)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进行通信。IWF108 用作到因特网的访问点。IWF108与BS/MSC106耦合并通常与其联合定位,BS/MSC 106可以是本技术中已知的传统无线基站。另一个定址无线数据通信系统的标准 协议是1999年12月公布的第3代合作工程2(“3GPP2”),题为“WIRELESS IP NETWORK STANDARD”的标准。例如,3G无线IP网络标准包括包数据服务节点 (“PDSN”),其功能类似于IWF108。

在MS110和IWF108间寻址数据通信有各种协议。例如,1993年7月公布 的通信工业协会(TIA)/电子工业协会(EIA)临时标准IS-95题为《MOBILE STATION-BASE STATION COMPATIBILITY STANDARD FOR DUAL-MODE WIDEBAND SPREAD SPECTRUM CELLULAR SYSTEM》的协议通常提供宽带扩展频谱无线通信系统的标准。 此外,1998年2月公布的标准TIA/EIA IS-707.5题为《DATA SERVICE OPTIONS FOR WIDEBAND SPREAD SPECTRUM SYSTEMS:PACKET DATA SERVICE》的协议定义了在 TIA/EIA IS-95系统上支持包数据传输能的需求并指定了包数据载体服务,它 可被用于MS110和IWF108间通过BS/MSC106的通信。此外,1999年3月公布 的TIA/EIA IS-707-A.5标准题为《DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS:PACKET DATA SERVICES》的协议以及TIA/EIA IS-707-A.9标准,题为 DATA SERVICE OPTIONS FOR SPREAD SPECTRUM SYSTEMS:HIGH-SPEED PACKET DATA SERVICES》的协议也定义了在TIA/EIA IS-95系统上支持包数据传输的需求。此 外,另一个在MS110和IWF108间寻址通信的标准协议是1999年7月公布的 TIA/EIA IS-2000,题为《INTRODUCTION TO CDMA 2000 STANDARDS FOR SPREAD SPECTRUM SYSTEMS》的协议。

IS-707.5引入了在MS110和BS/MSC106间(Um接口)以及BS/MSC106和 IWF108间(L接口)的通信协议选项模型。例如,中继模型表示点对点协议(PPP) 链路存在于MS110和IWF108之间的Um接口上的状态。PPP协议在征求评论1661 (RFC1661)题为《THE POINT-TO-POINT PROTOCOL(PPP)》中作了详细描述。

图2(现有技术)是在每个IS-707.5中继模型实体中的协议堆栈示意图。图 的最左边是以传统纵向格式显示的通信协议堆栈,它显示在MS110上操作的协议 层。MS110协议堆栈被说明为通过Um接口逻辑连接于BS/MSC106协议堆栈。接 着BS/MSC106协议堆栈被说明为通过L接口逻辑连接于IWF108协议堆栈。

图2中所述的操作如下:高层协议200实体,比如在MS110上运行的应用 程序需要在因特网上发送数据,代表性的应用程序就是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 BETWEEN DATA TERMINAL EQUIPMENT AND DATA CIRCUIT-TERMINATING EQUIPMENT EMPLOYING SERIAL BINARY DATA INTERCHANGE》中定义的。可以理解的是本领域普通技术人 员已知的其他标准或协议可用于定义通过这些层的传输。例如,其他应用标准可 以包括1998年9月公布的《UNIVERSAL SERIAL BUS(USB)SPECIFICATION,Revision 1.1》以及1999年7月公布的《BLUETOOTH SPECIFICATION VERSION 1.0A CORE》。 最后,中继层协议208把PPP数据包传送到无线电链路协议(RLP)210,并随后 到IS-95协议212以通过Um接口传输到BS/MSC106。RLP协议210是在1998年 2月公布的题为《DATA SERVICE OPTIONS FOR WIDEBAND SPREAD SPECTRUM SYSTEMS: RADIO LINK PROTOCOL》IS-707.2标准中定义的,而IS-95协议是在以上所指出 的IS-95标准中定义的。

在BS/MSC106上互补的中继层协议220通过Um接口及通过IS-95层218和 随后的RLP层216接收PPP数据包。中继层协议220把它们通过L接口传送到IWF 108上的中继层协议228。IWF108上的PPP协议链路层226从中继层协议228接 收PPP数据包并终止MS110和IWF108间的PPP连接。在IWF108上把数据包从 PPP层226传送到IP层224,为最终路由检测IP数据包头,在这个例子中就是 www.Qualcomm.com。

假设由MS110产生的IP数据包的最终目的地不是IWF108,那么就把数据 包传送通过网络层协议224和链路层协议225到达因特网上的下一个路由器(图 中未显示)。由此,根据IS-707.5标准中继模型,来自MS110的IP数据包被传 送通过BS/MSC106和IWF108通向它们在因特网中的最终期望的目的地。

在MS110数据包到达它们的目的地之前,必须首先建立数据链路连接。就 如RFC1661所规定的,这需要点对点链路的每个端点(即PPP协议206和226) 要首先发送PPP链路控制协议(LCP)数据包,以建立、配置和测试数据链路连接。 在由LCP建立了链路之后,PPP协议206随后就可以发送网络控制协议(NCP)数 据包以配置网络层协议204和224。PPP链路中IP的NCP是IP控制协议(IPCP)。 IPCP在1992年5月公布的征求评论1332(RFC1332)题为《THE PPP INTERNET PROTOCOL CONTROL PROTOCOL(IPCP)》中作了详细描述。但在IPCP协商前,可 能要求一鉴定阶段。在配置了每个网络层协议之后,来自每个网络层协议的数据 包可在它们之间通过链路发送。

B.应用程序接口

支持在MS110上的通信协议堆栈的大多数(不是所有)处理都是由应用程 序执行的。通常,传统的数据网络使用应用程序接口(API)使运行在一台计算机 的应用程序能与运行在另一台计算机上的应用程序进行通信。API使用“套接字”, 它在基础的网络协议中使调用的应用程序免于有差别。为了完成网络间的通信,API 包含的函数允许应用程序例如打开套接字、把数据发送到网络、从网络接收数据 以及关闭套接字。普通网络程序设计接口包括Berkeley系统开发(BSD)套接字 接口(它在UNIXTM操作系统下操作)以及WindowsTM套接字接口(WinSockTM)(它 在WindowsTM操作系统下操作)。

由于BSD套接字和WinSockTM都不支持在无线MS110(见图2)上的通信协 议堆栈,所以就需要支持这样一个堆栈的新的API。尤其是,所需要的就是在无 线通信系统中移动台应用程序识别指定事件的新的方法和设备。

                            发明概述

本发明针对以上在无线通信系统中提供移动台应用程序识别指定事件的方法 和设备所确定的需求。在一个实现中,本发明包括应用程序接口(API),它利于 移动台通信协议堆栈(它与通信网络通信)和移动台应用程序间的通信。API根 据它的状态允许至少一个指定事件。然后移动台应用程序识别所允许的指定事件。

                         附图简述

图1(现有技术)是无线通信系统的高层框图,其中移动台连接到因特网。

图2(现有技术)示意性地描述在TIA/EIA IS-707.5中继模型的每个实体中 的协议堆栈。

图3示意性地描述本发明实施例的特征。

图4和5是检测指定事件的流程图

图6是描述异步连接的框图。

图7是描述异步套接字输入的框图。

图8-10是本发明实施例的状态图。

                        详细描述

可以用各种方法实现本发明的实施例,包括软件固件和/或硬件。因此, 描述本发明的操作和行为时不会特指软件代码或硬件部件,可以理解的是,本领 域的普通技术人员能够设计软件和/或硬件以实现本发明,它根据这里的描述使移 动台应用程序能识别指定事件。

图3描述了MS110内的应用程序260、通信协议堆栈280和API270。应用 程序260和通信协议堆栈280(即协议层202、204、206、208、210、212)通过 函数调用通信,这些函数调用是由API270提供的。换句话说,API270允许应 用程序260和通信协议堆栈280在不同处理器和操作系统上运行而不损害功能。 本领域的技术人员会理解调用的函数可能有各种名字,而这并不离开本发明的范 围。

应该指出的是,通信协议堆栈280包含多个发送队列和接收队列,它们存储 数据。输出函数从应用程序280的存储器中读取数据,以把数据存储在通信协议 堆栈280发送队列之一中。输入函数从通信协议堆栈280接收队列之一读取数据, 以把数据存储在应用程序260的存储器中。

为了说明这个操作,MS110接收IP数据包。MS110的通信协议堆栈280拆 分IP数据包,并把它们传送到传输层202(见图3)。IP数据包头部中的一字段 指示传输,它可以是TCP也可以是UDP。根据在传输层头部指定的目标端口号, 把数据传送到通信协议堆栈280合适的接收队列,它对应特定的套接字。然后可 以把数据发送到应用程序260。

在某些状态中,可以希望用绕过协议堆栈280各层的数据包操作以减少等待 时间的影响。这样的数据包包括自然分组数据,比如自然IP数据包,它缺少目标 信息(即目标端口号)。这样,从自然IP数据包就不能确定目标应用程序。在这 种状态中,通信协议堆栈280就可以把接收到的自然IP数据包发送到所有记录成 支持IP协议的套接字。这就允许把有效载荷数据发送到目标应用程序。因特网控 制信息协议(ICMP)分析机(它响应IP数据包)也可以接收自然分组数据。众所 周知的ICMP分析机是在RFC792(题为《INTERNET CONTROL MESSAGE PROTOCOL》) 中定义的。例如,通信协议堆栈280在把接收的数据包沿着堆栈向上传递到应用 程序260之前,就处理这些数据包,这就减少了应用程序260所进行的拆分量, 从这个描述就更加明显了。

相反,应用程序260可以使用套接字通过Um接口发送自然分组数据,这个 套接字简化了通信协议堆栈280和应用程序260间的通信。此外,应用程序260 可以通过Um接口发送自然分组数据。而通信协议堆栈280把分组或自然分组数据 封装在诸如IP数据包中,并把它们通过Um接口发送。在这个例子中,通信协议 堆栈提供IP报头及校验和以产生IP数据包。另一方面对于ICMP,可以把特定协 议类型复制到IP报头中。

就以上所指出的,应用程序260创建了一套接字(它提供至少一个协议层 202、204、206、208、210、212和应用程序260间的通信),以减少使用通信协 议堆栈280固有的等待时间。也就是说,应用程序260可以创建一套接字,它可 以绕过传输层202、网络层204以及链路层206,这样就可以使应用程序260把有 效载荷数据发送到RLP层210或从该层接收有效载荷数据。应用程序也可以创建 一套接字,它使应用程序260把有效载荷数据发送到IS-95层212或从该层接收 有效载荷数据。

在一个实施例中,应用程序260调用函数open_netlib()开启通信协议堆栈 280并指定一应用程序标识。应用程序标识允许多个应用程序与通信协议堆栈280 通信(即多任务)。例如,作为函数open_netlib()调用一部分,应用程序260 指定一指向网络回叫函数和指向套接字回叫函数的指针。只要网络子系统指定事 件(比如读取、写入、关闭话务信道(即Um)和/或链路层(即PPP206))发生 (或已被允许),调用网络回叫函数就通知应用程序260。只要套接字指定事件 (比如读取、写入、关闭传输层(即TCP))发生(或已被允许),就调用套接 字回叫函数通知应用程序260。对于本领域技术人员明显的是,通信网络至少包 含话务信道、链路层和传输层之一。

一旦开启了通信协议堆栈280,就调用函数pppopen()初始化网络子系统连 接,它包括话务信道和链路层。这是应用范围调用,不依靠单独的套接字。然而, 它需要应用程序识别。网络子系统连接建立或失败后,就调用网络回叫函数提供 指定事件通知。例如,如果没有建立话务信道,网络子系统就失败了。此外,还 可以调用函数net_ioctl()设置网络子系统的特性。例如,这个调用可以指定套 接字的数据率。

一旦建立了网络子系统连接,就可以创建套接字并通过调用函数socket()初 始化。然而,在使用套接字函数之前,函数socket()的调用要返回套接字描述符。 然后,应用程序260就可以调用函数async_select()记录指定事件以接收异步通 知。作为函数调用的一部分,这个记录可以由应用程序260实现,以指定套接字 描述符和需要通知的指定事件的比特掩码(即多种相“或”的事件)。例如,如 果指定事件发生了(即被允许了)并且被通信协议堆栈280或API270检测到了, 那么就调用套接字回叫函数提供异步通知。回叫函数可以通过使用信号、消息, 包括通过远程操作调用(RPC)的消息或硬件或软件的中断,把指定事件通知应用 程序260。

一旦应用程序260被告知了指定事件,它随后就可以调用函数getnextevent() 以确定要服务的指定事件。这个函数返回为特定套接字描述符发生的指定事件掩 码。它也可以在发生的指定事件的掩码中清除这些比特。这样,应用程序260就 不再接收禁止的指定事件的通知。应用程序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)。假设缺少读取数据,应用程序260就调用函数 async_select()(B)记录事件(即在掩码中设置相应比特)以接收通知。在这个例 子中,所关心的指定事件是读取事件,当应用程序260有数据读取时它就发生了。

在接收队列里存储数据后,如果在掩码中指定了读取事件,就调用回叫函数。 如果是这样,那么调用回叫函数(C)提供异步通知。一旦通知了应用程序260,它 就调用函数getnextevent()(D)确定发生了哪一个事件(E)。这个调用也在掩码(F) 中清除了该事件的比特。随后应用程序260必须通过调用函数async_select()重 新允许该事件的通知。最后,为了读取存储在接收队列里的数据,应用程序260 调用函数read()(G)。

在图8-10中,说明了本发明实施例的状态机。在图8-9中,假设开启了通 信协议堆栈280并建立了网络子系统连接(即话务信道和链路层,如有必要,自 然套接字可以绕过网络子系统)。本领域的技术人员会理解各个状态可能有不同 的名字,这并不离开本发明的范围。

状态机(它可以在状态间异步转移)控制(即允许和禁止)指定事件,比如 读取、写入及关闭。在操作开始可以禁止指定事件并在预定状态允许该指定事件, 以帮助应用程序260识别MS110的状态。

API270也可以报告特定状态消息,它可以根据API270的状态和应用程序 260所调用的函数类型为应用程序260所特有(即不仅仅类属于)。特定状态消 息可以反映基础通信网络的状态。例如,把状态消息报告给应用程序260作为函 数调用的依据。

例如在图8中,说明了API207的TCP套接字状态图。未初始化的套接字在 “空”状态800开始。套接字由于还没被分配所以不“存在”。可以通过调用函 数socket()创建和初始化套接字,这个函数返回与套接字有关函数一起使用的套 接字描述符。在调用函数socket()后,状态机转移到“初始化”状态805。

在初始化状态805中,只要有可能调用函数close()终止TCP连接,状态机 就转移回到空状态800。调用函数close()释放所有套接字有关资源。另一方面, 调用函数connect()初始化TCP连接并把状态机转移到“正开启”状态810。

在正开启状态810,只要:(1)发生了网络子系统失败,(2)不能建立TCP连 接或(3)IP地址已改变,状态机就转移到“关闭”状态815。在调用了函数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 地址的改变,状态机就会转移到“等待关闭”状态830。为了防止在终止TCP连 接时的延迟,API270提供定时器,它在TCP连接终止初始化后开启。如所见的, 定时器到时就把状态机转移到等待关闭状态830。

在等待关闭状态830,调用函数close()终止TCP连接并把状态机转移到空 状态800。关闭事件在这个状态830断定。

表1-3说明了API270所支持的特定状态消息。在空状态(表1-3中没有显 示)中,特定状态消息“没有另外资源可使用”(是说明性的)可报告给应用程 序260。

                             表1 状态 连接函数类型的特定状态消息 初始化 如果这是阻塞函数调用,那么阻塞操作 正开启 连接进行中 开启 已建立连接 正关闭 由于缺少初始尝试或连接尝试失败而不存在TCP连接 等待关闭 由于缺少初始尝试或连接尝试失败而不存在TCP连接;或 通用网络错误;基础网络不可用 已关闭 通用网络错误;基础网络不可用; 由于服务器重置而拒绝连接尝试; 进行连接超时;或 网络级IP地址已改变,它由于PPP重新同步而引起TCP连接 重置

                            表2 状态 I/O函数类型的特定状态消息 初始化 由于缺少初始尝试或连接尝试失败而不存在TCP连接 正开启 如果这是阻塞函数调用,那么阻塞操作 开启 如果这是阻塞函数调用,那么阻塞操作(读取/写入的字节数) 正关闭 由于缺少初始尝试或连接尝试失败而不存在TCP连接 等待关闭 由于缺少初始尝试或连接尝试失败而不存在TCP连接;或 通用网络错误;基础网络不可用 已关闭 通用网络错误;基础网络不可用; 服务器重置连接;服务器重置的接收; 由于超时或其他原因异常中断的TCP连接;或 由于缺少初始尝试或连接尝试失败而不存在TCP连接

                      表3 状态 关闭函数类型的特定状态消息 初始化 成功--没有报告错误情况 正开启 如果这是阻塞函数调用,那么阻塞操作 开启 如果这是阻塞函数调用,那么阻塞操作 正关闭 如果这是阻塞函数调用,那么阻塞操作 等待关闭 成功--没有报告错误情况 已关闭 成功--没有报告错误情况

通过举例,图9说明了API270的UDP套接字的状态图。在“空”状态900 未初始化的套接字开始。就以上关于空状态800所述,套接字由于还没被分配所 以不“存在”。可以通过调用函数socket()创建和初始化套接字,这个函数返回 与套接字有关函数一起使用的套接字描述符。在调用函数socket()后,状态机转 移到“开启”状态905。

在开启状态905,开启套接字以读取和写入。尤其是立即允许写入事件,并 根据数据是否被存储到通信协议堆栈280的存储器而允许读取事件。只要发生了 网络子系统失败,状态机就会转移到“已关闭”状态910。应用程序初始化的UDP 连接终止(比如通过调用函数close())使状态机转移到空状态900。

在已关闭状态910,读取、写入和关闭事件都被允许了。在调用函数close() (它终止UDP连接)后,状态机把套接字转移到空状态900,它释放套接字并使 其可再次使用。

表4-6说明了API270所支持的特定状态消息。在空状态(表4-6中没有显 示)中,如上所述,特定状态消息“没有另外资源可使用”可报告给应用程序260。

             表4 状态 连接函数类型的特定状态消息 开启 成功--没有报告错误情况 已关闭 通用网络错误;基础网络不可用

                              表5 状态 I/O函数类型的特定状态消息 开启 如果这是阻塞函数调用,那么阻塞操作(读取/写入的字节数) 已关闭 通用网络错误;基础网络不可用

                表6 状态 关闭函数类型的特定状态消息 开启 成功--没有报告错误情况 已关闭 成功--没有报告错误情况

图10说明了控制网络子系统(比如话务信道(即Um)和链路层(即PPP206)) 的状态图。调用函数open_netlib()开启网络子系统并初始化套接字进入“已关 闭”状态1000。调用函数pppopen()初始化网络子系统连接,它使套接字转移到 “正开启”状态1005。通过进入的PPP呼叫到MS110的寻呼也使套接字转移到 正开启状态1005。在这两种情况下,经过成功协商,MS110尝试通过话务信道同 步和建立RLP和PPP。

在正开启状态1005,在建立了网络子系统连接后,套接字转移到“开启”状 态1010。另一方面,如果没有建立网络子系统,那么套接字转移回到已关闭状态 1000。

在开启状态1010,调用回叫函数识别应用程序1060指定的事件,比如允许 的读取、写入和关闭。在这个时刻,MS110能够通过话务信道通信。然而,只要 发生了网络子系统失败(它调用回叫函数),套接字就会转移到“已关闭”状态 1000。应用程序初始化的网络子系统连接终止(比如通过调用函数close())使 套接字转移到正关闭1015。

在正关闭状态1015,只要终止了网络子系统连接,套接字就转移到已关闭状 态1000。在已关闭状态1000,调用回叫函数识别允许的应用程序260指定的事件。

表7说明了相应于特定函数调用并由API270支持的特定状态消息。

              表7 函数调用(以及说明) 特定状态消息 socket() 创建套接字并返回套接字 描述符 不支持的地址; 无效应用程序标识; 对于套接字协议是错误类型; 无效或不支持的套接字参数; 不支持的协议;或 没有更多的套接字资源可使用 connect() 初始化TCP连接 如果这是阻塞函数调用,那么阻塞操作; 无效套接字描述符; 由于服务器重置的接收而拒绝连接尝试; 连接超时; 应用程序缓冲不是地址空间有效部分;对地址长度或 消息长度指定的无效长度; 网络级IP地址已改变,它由于PPP重新同步而引起 TCP连接重置; 连接进行中; 套接字描述符已连接; 通用网络错误;基础网络不可用; 指定了无效服务器地址; 地址已使用;或 需要的目标地址 pppopen() 建立网络连接 如果这是阻塞函数调用,那么阻塞操作; 指定了无效应用程序标识;或 网络连接终止进行中 net_ioctl() 设置网络特性 指定了无效应用程序标识; 无效请求或参数; 网络连接已建立;或 网络连接进行中 open_netlib() 开启通信协议堆栈 没有更多应用程序可用--超过开启应用程序的最大数 close_netlib() 关闭通信协议堆栈 指定了无效应用程序标识; 存在现有已分配的套接字;或 仍建立着网络连接 bind() 对于用户套接字,添加本 地地址和到套接字的端口 值 指定了无效套接字描述符; 指定了无效或不支持的操作; 地址已使用; 无效操作;或 指定了无效地址参数 close() 关闭套接字让它可再次使 用 指定了无效套接字描述符;或 如果这是阻塞函数调用,那么阻塞操作 pppclose() 关闭网络连接 如果这是阻塞函数调用,那么阻塞操作; 指定了无效应用程序标识;或 网络连接终止进行中 netstatus() 报告网络连接的状态 指定了无效应用程序标识; 基础网络不可用; 网络连接已建立并可用; 网络连接进行中; 网络连接终止进行中; 没有CDMA(即话务信道)服务可用; CDMA服务可用,但由于基站不支持服务选项,初始 化失败;或 CDMA服务可用,但初始化失败,然而不是由于基站 不支持服务选项 async_select() 记录特定套接字的指定事 件 指定了无效套接字描述符 getnextevent() 获得已发生的下一个套接 字描述符和事件 指定了无效套接字描述符;或 指定了无效应用程序标识 write() 写入指定数量字节--连续 或非连续缓冲 指定了无效套接字描述符; 没有现存的TCP连接; 服务器重置TCP连接; 由于超时或其他失败,异常中断了TCP连接; 网络级IP地址已改变,它由于PPP重新同步而引起 TCP连接重置; TCP连接已关闭; 网络不可用; 应用程序缓冲不是地址空间有效部分;或 没有空余缓冲区可用于写入 read() 读取指定数量字节--连续 或非连续缓冲 指定了无效套接字描述符; 没有现存的TCP连接; 服务器重置TCP连接; 由于超时或其他失败异常中断了TCP连接; 网络级IP地址已改变,它由于PPP重新同步而引起 TCP连接重置; TCP连接已关闭; 网络不可用; 应用程序缓冲不是地址空间有效部分; 没有空余缓冲区可用于读取;或 接收了文件结束标识 sendto() 发送指定数量的字节 指定了无效套接字描述符; 不支持的地址族; 没有空余缓冲区可用于写入; 网络不可用; 应用程序缓冲不是地址空间有效部分; 不支持的指定选项;或 目标地址已请求 recvfrom() 读取指定数量字节 指定了无效套接字描述符; 不支持的地址族; 没有空余缓冲区可用于写入; 网络不可用; 应用程序缓冲不是地址空间有效部分;或 不支持的指定选项

在另一个实施例中,机器可以读取包含已编码信息的机器可读取介质,比如 已编码软件代码,来完成以上所述的使移动台应用程序能识别指定事件的过程。 机器可读取介质可以从存储设备(比如存储器或存储盘)或从通信网络接受已编 码信息。在制造该介质时,机器可读取介质也可用编码信息编程。该机器可以包 括应用程序260、通信协议堆栈280和API270中的至少一个,而机器可读取介 质可以包括存储器或存储盘。

虽然结合特定实施例显示了本发明,但不应考虑受此限制。当然,本发明仅 仅由所附权利要求和它们的等价物的范围限定。

                            背景

高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈