CN1439215A - 用移动站应用来服务指定事件的方法和装置 - Google Patents
用移动站应用来服务指定事件的方法和装置 Download PDFInfo
- Publication number
- CN1439215A CN1439215A CN01807770A CN01807770A CN1439215A CN 1439215 A CN1439215 A CN 1439215A CN 01807770 A CN01807770 A CN 01807770A CN 01807770 A CN01807770 A CN 01807770A CN 1439215 A CN1439215 A CN 1439215A
- Authority
- CN
- China
- Prior art keywords
- mobile radio
- radio station
- allocate event
- event
- coupling
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/04—Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W68/00—User notification, e.g. alerting and paging, for incoming communication, change of service or the like
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Telephonic Communication Services (AREA)
- Devices For Checking Fares Or Tickets At Control Points (AREA)
Abstract
本发明揭示了一种在无线通信系统中用移动站应用来服务指定事件的方法和装置。本发明包括便于与通信网络通信的移动站通信协议栈和移动站应用间的通信的应用程序接口(API)。所述移动站应用确定要服务的指定事件并禁用该服务的指定事件的后续通知。
Description
发明背景
1.发明领域
本发明涉及无线通信领域。本发明尤其涉及在无线通信系统中用移动站应用来服务指定事件的新方法和装置。
2.相关技术说明
A.无线通信系统
无线通信和与计算机有关的技术中的近来的革新,以及因特网订户的空前增长已经为移动计算铺平了道路。实际上,移动计算的普及已提出了对当前的因特网基础结构的更大需求以向移动用户提供更多的支持。该基础结构的生命线是提供各种服务的面向分组的网际协议(IP),包括局域和广域网络(LAN和WAN)间的分组(数据报)的寻址和路由。在1981年9月的因特网标准(草案)791(RFC),名为“INTERNET PROTOCOL DARPA INTERNETPROGRAM PROTOCOL SPECIFICATION”中定义了IP协议。
所述IP协议是网络层协议,将数据封装成IP分组用于传输。寻址和路由信息附于所述分组的首部。例如,IP首部包含识别发送和接收主机的32-比特地址。由中间路由器使用这些地址,为该分组选择一条通过网络通向计划地址处的最终目的地的通路。从而,所述IP协议允许将世界上任何因特网节点发出的分组路由到世界上任何其它的因特网节点。另一方面,使用传输层从事特定应用,所述传输层包括传输控制协议(TCP)或用户数据报协议(UDP)。
移动用户的当前趋势是连同诸如蜂窝网或便携式电话机的无线通信设备一起,使用诸如膝上型或掌上型计算机的移动计算机访问因特网。也就是说,正如用户常规地使用“有线”通信设备将其计算机与陆基网络连接那样,移动用户将使用通常称为“移动站”(MS)的无线通信设备使其移动终端与这样的网络连接。如这里所使用的,所述移动站或MS指的是公用无线电网络中的任何订户站。
图1(先有技术)说明了无线数据通信系统的高级方块图,其中移动站110通过基站/移动交换中心(BS/MSC)106与互通功能(IWF)108通信。所述IWF108用作因特网的访问接入点。IWF108耦合至BS/MSC106,并通常与其处于同一地点,如本领域中众所周知的那样所述BS/MSC 106可以是常规无线基站。另一致力于无线数据通信系统的标准协议是第3代伙伴计划2(“3GPP2”),1999年12月公布的名为“WIRELESS IP NETWORK STANDARD”。例如所述第3代无线IP网络标准包括分组数据服务节点(“PDSN”),它功能上类似所述IWF 108。
在所述MS 110和所述IWF 108之间存在致力于数据通信的各种协议。例如,电信行业协会(TIA)/电子行业协会(EIA)临时标准IS-95,1993年7月公布的名为“MOBILE STATION-BASE STATION COMPATIBILITYSTANDARD FOR DUAL-MODE WIDESPREAD SPECTRUM CELLULARSYSTEM”,广泛地提供了用于宽带扩展频谱无线通信系统的标准。而且,1998年2月公布的名为“DATA SERVICE OPTIONS FOR WIDEBAND SPREADSPECTRUM SYSTEMS:PACKET DATA SERVICES”的TIA/EIA IS-707.5标准,定义了在TIA/EIA IS-95系统上支持分组数据传输能力的要求并且规定了可以用于所述MS 110和所述IWF 108间通过所述BS/MSC 106通信的分组数据载体服务。同样地,1999年3月公布的名为“DATA SERVICE OPTIONS FORSPREAD SPECTRUM SYSTEMS:PACKET DATA SERVICES”的TIA/EIA IS-707-A.5标准以及名为“DATA SERVICE OPTIONS FOR SPREAD SPECTRUMSYSTEMS:HIGH-SPEED PACKET DATA SERVICES”的TIA/EIA IS-707-A.9标准,也定义了在TIA/EIA IS-95系统上支持分组数据传输的要求。此外,另一致力于所述MS110和所述IWF108间的通信的标准协议是1999年7月公布的名为“INTRODUCTION TO CDMA 2000 STADARDS FOR SPREADSPECTRUM SYSTEMS”的TIA/EIA IS-2000标准。
IS-707.5介绍了所述MS110和所述BS/MSC106间(Um接口)以及所述BS/MSC 106和所述IWF 108间(L接口)的通信协议选择模型。例如,中继模型代表在所述MS 110和所述IWF 108间的Um接口上存在点到点协议(PPP)链路的情况。在因特网标准(草案)1661(RFC 1661),名为“THE POINT-TO-POINT PROTOCOL(PPP)”中详细描述了所述PPP协议。
图2(先有技术)是所述IS-707.5中继模型中的每个实体中的协议栈的图。该图的最左端是以常规纵向格式显示的通信协议栈,示出了在所述MS 110上运行的协议层。说明了所述MS 110协议栈通过所述Um接口与BS/MSC 106协议栈逻辑连接。接着说明了所述BS/MSC 106协议栈通过所述L接口与IWF108协议栈逻辑连接。
图2中描述的操作如下:诸如所述MS 110运行的应用程序的顶层实体200需要在因特网上发送数据。具有代表性的应用可以是web浏览器程序(如Netscape NavigatorTM,Microsoft Internet ExplorerTM)。所述web浏览器请求通用资源定位器(URL),如超链接“
http://www.Qualcomm.com”。同样在所述顶层协议200中的域名系统(DNS)通过使用域名解析将文本主机名转换成32-比特的数字IP地址,该域名解析将名字转换成因特网中的地址。同样是所述顶层协议200的超文本传输协议(HTTP)为所请求的URL构造获取消息,并指定TCP将用于发送该消息以及用于HTTP操作。传输层202使用本领域中众所周知的端口80作为目的端口,将HTTP操作发送到应用。
作为传输层协议202的TCP协议开启到由DNS指定的IP地址的连接并且发送应用层HTTP获取消息。所述TCP协议规定了IP协议将用于消息传输。所述网络层协议204的IP协议向指定的IP地址发送TCP分组。链路层协议206的PPP编码所述IP分组并将它们发送到中继层协议208。所述中继层协议208的一个例子是说明的TIA/EIA-232F标准,该标准在1997年10月公布的名为“INTERFACE BETWEEN DATA TERMINAL EQUIPMENT AND DATACIRCUIT-TERMINATING EQUIPMENT EMPLOYING SERIAL MINARYDATA INTERCHANGE”中定义。要理解到可以使用本领域的普通技术人员所知的其它标准或协议来定义跨越层的传输。例如,其它可用的协议可以包括1998年12月公布的“UNIVERSAL SERIAL BUS(USB)SPECIFICATION,Revision 1.1”以及1999年7月公布的“BLUETOOTHSPECIFICATION VERSION 1.0A CORE”。最后,所述中继层协议208将PPP分组传递给无线链路协议(RLP)210并且然后传递给IS-95协议212,用于在Um接口上向Bs/MSC 106传输。在1998年2月公布的名为“DATA SERVICEOPTIONS FOR WIDEBAND SPREAD SPECTRUM SYSTEMS:RADIO LINKPROTOCOL”的IS-707.2标准中定义了所述RLP协议210,并且在上面标识的IS-95标准中定义了所述IS-95协议。
所述BS/MSC 106上的互补的中继层协议220在所述Um接口上通过IS-95层218并随后通过RLP层216接收PPP分组。所述中继层协议220在L接口上将这些分组传递给所述IWF 108上的中继层协议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标准中继模型,通过所述BS/MSC 106和所述IWF 108将来自所述MS 110的IP分组传递到其最终的目的地。
在所述MS 110分组到达其最终目的地之前,必需首先建立数据链路连接。如在RFC 1661中说明的那样,这要求所述点到点链路(即所述PPP协议206和226)的每一端首先发送PPP链路控制协议(LCP)分组,以建立、配置和测试该数据链路连接。在LCP建立了该链路之后,所述PPP协议206然后可以发送网络控制协议(NCP)分组以配置所述网络层协议204和224。PPP链路中用于IP的NCP是IP控制协议(IPCP)。在1992年5月公布的名为“THEPPP INTERNET PROTOCOL CONTROL PROTOCOL(IPCP)”的因特网标准(草案)1332(RFC1332)中详细描述了IPCP。然而,在IPCP协商之前,可能需要验证阶段。在配置了所述网络层协议的每一个之后,可以在它们之间的链路上发送来自每个网络层协议的分组。
B.应用程序接口
支持所述MS110上的通信协议栈的大多数处理(即使不是全部)由应用程序执行。一般地,常规的数据网络使用应用程序接口(API)使在一个计算机上运行的应用程序能与在另一计算机上运行的应用程序通信。所述API利用“套接件”,它使调用应用避开底层网络的协议的差异。为了实现网络互连通信,API包括允许例如打开套接件、向网络发送数据、从网络接收数据以及关闭套接件的应用的功能。公用网络程序接口包括在UnixTM操作系统下运行的伯克利系统开发(BSD)套接件接口以及在WindowsTM操作系统下运行的WindowsTM套接件接口(WinSockTM)。
由于BSD套接件或WinSockTM都不支持所述无线MS 110上的通信协议栈(见图2),就需要支持这样的栈的新的API。特别地,所需的是一种在无线通信系统中用MS 110应用来服务指定事件的方法和装置。
发明概述
本发明致力于上面确定的需要,提供了一种在无线通信系统中用移动站应用来服务指定事件的方法和装置。在一个实现中,本发明包括应用程序接口(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包含多个存储数据的发送队列和接收队列。输出函数从应用260的存储器读取数据,将该数据存储于通信协议栈280的一个发送队列之中。输入函数从通信协议栈280的一个接收队列读取数据,将该数据存储于应用260的存储器中。
为了说明操作,所述MS 110接收IP分组。所述MS 110的通信协议栈280对所述IP分组拆去封装,并且将它们传递到传输层202(见图3)。所述IP分组的首部的域指示该传送,可以是TCP或UDP。根据所述传输层首部中指定的目的端口号,将所述数据路由到通信协议栈280的适当的接收队列,该队列对应于某一套接件。然后可以把该数据传送到应用260。
在某些情况下,需要用绕过所述协议栈280的各个层的分组操作来降低等待时间效应。这样的分组包括缺少目的地信息(即目的地端口号)的原始分组数据,如原始IP分组。如此,从该原始IP分组中不能确定目的地应用。例如在这样的情况下,通信协议栈280可以向所有注册支持所述IP协议的套接件发送接收到的原始IP分组。这允许有效负荷数据被发送到目的地应用。响应IP分组的网际控制消息协议(ICMP)分析引擎也可以接收所述原始分组数据。在RFC 792名为“INTERNET CONTROL MESSAGE PROTOCOL”中定义了著名的ICMP分析引擎。从该说明书中应该清楚地看到,例如,通信协议栈280在将接收到的分组沿栈向上传递到应用260之前处理所述分组,这减少了应用260进行的去封装的量。
相反地,通过使用所述套接件应用260可以在Um接口上传送原始分组数据,这将促进通信协议栈280和应用260间的通信。此外,应用260可以在所述Um接口上传送原始分组数据。例如通信协议栈280依次将分组的或原始分组数据封装成IP分组并在所述Um接口上传送它们。在该例子中,通信协议栈280提供IP首部和校验和以产生所述IP分组。另一方面,对于ICMP,指定的协议类型将被复制进所述IP首部之中。
如上面所表明的,应用260可以创建一套接件,允许在至少一个协议层202、204、206、208、210、212和应用260间数据通信,以减少通信协议栈280的使用中所固有的等待延时。也就是说,应用260可以创建绕过所述传输层202、所述网络层204以及所述链路层206的套接件,从而允许应用260向RLP层210发送有效负荷数据或从其上接收有效负荷数据。同样地,应用260可以创建允许应用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可以作为所述函数调用的一部分实现该注册,规定请求通知的所述指定事件的套接件描述符和比特掩码(即多个事件OR′ed一起)。例如,如果发生指定事件(即启用)并且由通信协议栈280或API 270检测出,调用所述套接件回调函数提供异步通知。所述回调函数可以通过使用包括远程过程调用(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的存储器的数据可以来自通信网络。此外,对于所述读事件,可以将所述存储的数据传送到应用260。
最后,当由于例如诸如传输层的数据链路连接终止而套接件可重新使用时,检测到关闭事件。
提供了下面的异步连接(见图6)和异步输入(间图7)的例子来说明异步事件通知的使用。
参考图6,通过open_netlib()函数调用,进入了通信协议栈280并且规定了回调函数。所述pppopen()函数调用(A)初始化所述网络子系统连接(B)。在建立了所述网络子系统连接之后,调用(C)所述回调函数来报告所述网络子系统的可用性。
假设已经打开并分配了套接件,connect()函数调用初始化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中,说明了API 270的TCP套接件的状态图。未初始化的套接件以“空”状态800开始。由于未分配,所述套接件不“存在”。通过socket()函数调用可以建立并初始化所述套接件,该调用返回用于套接件相关的函数的套接件描述符。在socket()函数调用之后,所述状态机转换到“初始化”状态805。
在初始化状态805中,无论何时由于close()函数调用而可能终止TCP连接时所述状态机转换回到所述空状态800。所述close()函数调用释放所有套接件相关的资源。另一方面,connect()函数调用初始化TCP连接并将所述状态机转换到“开启”状态810。
在所述开启状态810中,当(1)发生网络子系统故障,(2)建立所述TCP连接失败或(3)改变的IP地址时,所述状态机转换到“已关闭”状态815。并且,在终止所述TCP连接的close()函数调用之后,所述状态机将所述套接件转换到“关闭”状态820而启动终止过程。最后,一当建立了TCP连接,所述状态机转换到“打开”状态825。
在所述打开状态825中,打开所述套接件进行读写。特别地是,立刻启用所述写事件,而根据数据是否存储于所述通信协议栈280的存储器之中启用所述读事件。当(1)发生网络子系统故障;(2)建立所述TCP连接失败;(3)试图终止TCP连接,如由网络服务器发起的TCP复位、TCP中断或TCP关闭以及(4)IP地址的改变时,所述状态机转换到所述已关闭状态815。诸如通过close()函数调用的应用发起的TCP连接终止将状态机转换到关闭状态820。
在所述已关闭状态815中,发生了所述读、写和关闭事件。在终止所述TCP连接的close()函数调用之后,所述状态机将所述套接件转换到所述空状态800,释放所述套接件并使其可重新使用。
在关闭状态820中,当(1)发生网络故障;(2)试图终止TCP连接,如由网络服务器发起的TCP复位或TCP关闭;(3)计时器到期以及(4)IP地址的改变时,所述状态机转换到“等待关闭”状态830。为了防止终止TCP连接中的延迟,所述API 270使用一当所述TCP连接终止开始就启动的计时器。如所见,所述计时器的期满将所述状态机转换到所述等待关闭状态830。
在所述等待关闭状态830中,close()函数调用终止所述TCP连接并将所述状态机转换到所述空状态800。在该状态830中发生了所述关闭事件。
表1-3说明了API 270支持的指定状态消息。在所述空状态(表1-3中未示出)中,描述的“没有额外资源可用”的指定状态消息可以报告给应用260。
表1
状态 | 连接函数类型的指定状态消息 |
初始化 | 如果这是阻塞函数调用,所述操作将阻塞 |
开启 | 连接进行中 |
打开 | 建立了连接 |
关闭 | 由于缺少发起尝试或连接尝试失败而造成TCP连接不存在 |
等待关闭 | 由于缺少发起尝试或连接尝试失败;或一般的网络差错;或底层网络不可用而造成TCP连接不存在 |
已关闭 | 一般的网络差错;底层网络不可用;由于服务器复位拒绝连接尝试;进行中的连接超时;或由于PPP重同步造成TCP连接复位的网络层的IP地址改变 |
状态 | I/O函数类型的指定状态消息 |
初始化 | 由于缺少发起尝试或连接尝试失败而造成TCP连接不存在 |
开启 | 如果这是阻塞函数调用,所述操作将阻塞 |
打开 | 如果这是阻塞函数调用,所述操作将阻塞(读/写的字节数) |
关闭 | 由于缺少发起尝试或连接尝试失败而造成TCP连接不存在 |
等待关闭 | 由于缺少发起尝试或连接尝试失败;或一般的网络差错;或底层网络不可用而造成TCP连接不存在 |
已关闭 | 一般的网络差错;底层网络不可用;服务器复位连接;接收到服务器复位;由于超时或其它原因TCP连接中断;由于缺少发起尝试或连接尝试失败而造成TCP连接不存在 |
表3
状态 | 关闭函数类型的指定状态消息 |
初始化 | 成功-报告了无差错状态 |
开启 | 如果这是阻塞函数调用,所述操作将阻塞 |
打开 | 如果这是阻塞函数调用,所述操作将阻塞 |
关闭 | 如果这是阻塞函数调用,所述操作将阻塞 |
等待关闭 | 成功-报告了无差错状态 |
已关闭 | 成功-报告了无差错状态 |
图9用例子说明了API 270的UDP套接件的状态图。未初始化的套接件开始于“空”状态900。如上面关于所述空状态800所述阐述的那样,由于未分配,所述套接件不“存在”。通过socket()函数调用可以建立并初始化所述套接件,该调用返回用于套接件相关的函数的套接件描述符。在socket()函数调用之后,所述状态机转换到“打开”状态905。
在所述打开状态905中,打开所述套接件进行读写。特别地是,立刻启用所述写事件,而根据数据是否存储于所述通信协议栈280的存储器之中启用所述读事件。当发生网络子系统故障时所述状态机转换到“已关闭”状态910。诸如通过close()函数调用的应用发起的UDP连接终止将状态机转换到空状态900。
在所述已关闭状态910中,启用所述读、写和关闭事件。在终止所述UDP连接的close()函数调用之后,所述状态机将所述套接件转换到所述空状态900,释放所述套接件并使其可重新使用。
表4-6说明了API 270支持的指定状态消息。在所述空状态(表1-3中未示出)中,如上面所声明的,“没有额外资源可用”的指定状态消息可以报告给应用260。
表4
状态 | 连接函数类型的指定状态消息 |
打开 | 成功-报告了无差错状态 |
已关闭 | 一般的网络差错;底层网络不可用 |
表5
状态 | I/O函数类型的指定状态消息 |
打开 | 如果这是阻塞函数调用,所述操作将阻塞(读/写的字节数) |
已关闭 | 一般的网络差错;底层网络不可用 |
表6
状态 | 关闭函数类型的指定状态消息 |
打开 | 成功-报告了无差错状态 |
已关闭 | 成功-报告了无差错状态 |
图10说明了控制诸如话务信道(即Um)和链路层(即PPP 206)的网络子系统的状态图。open_netlib()函数调用开启所述网络子系统,并将套接件初始化成“已关闭”状态1000。pppopen()函数调用初始化所述网络子系统连接,将所述套接件转换到“开启”状态1005。由输入PPP呼叫发出的向MS110的寻呼也将所述套接件转换到所述开启状态。在两种情况中,一当成功协商,所述MS110试图通过话务信道同步并建立RLP和PPP。
在所述开启状态1005中,一当建立了网络子系统连接,所述套接件转换到“打开”状态1010。另一方面,如果没有建立所述网络子系统连接,所述套接件就转换回到所述已关闭状态1000。
在所述打开状态1010中,调用回调函数识别应用1060启用的指定事件,如读、写和关闭。在此时刻,所述MS110能够通过话务信道通信。然而,当发生网络子系统故障时所述套接件转换到所述已关闭状态1000,这调用了所述回调函数。诸如通过close()函数调用的应用发起的网络子系统连接终止将所述套接件转换到“关闭”状态1015。
在所述关闭状态1015中,当所述网络子系统连接终止时所述套接件转换到所述已关闭状态1000。在所述已关闭状态1000中,调用所述回调函数识别应用260启用的指定事件。
表7说明了API 270支持的对应于特定函数调用的指定状态消息。
表7
函数调用(和说明) | 指定状态消息 |
socket()创建套接件并且返回套接件描述符 | 地址不受支持;无效的应用标识符;对于套接件协议类型错误;无效或不被支持的套接件参数;协议不受支持;或没有更多的套接件资源可用 |
connect()初始化TCP连接 | 如果这是阻塞函数调用,所述操作将阻塞;无效的套接件描述符;由于接收到服务器复位而拒绝连接尝试;连接超时;应用缓冲器不是有效的地址空间的一部分;为地址长度或消息长度规定的大小无效;由于PPP重同步造成TCP连接复位的网络层IP地址改变;连接进行中;已连接的套接件描述符;一般的网络差错;底层网络不可用; |
指定无效的服务器地址;地址已在使用中;或者要求目的地址 | |
pppopen()建立网络连接 | 如果这是阻塞函数调用,所述操作将阻塞;指定无效的应用标识符;或者终止进行中的网络连接 |
net_ioctl()设置网络特性 | 指定无效的应用标识符;无效请求或参数;建立了网络连接;或者网络连接进行中 |
open_netlib()开启通信协议栈 | 没有应用可用-超过了开启应用的最大数量 |
close_ntlib()关闭通信协议栈 | 指定无效的应用标识符;存在分配的套接件;或者网络连接仍然建立 |
bind()对于客户套接件,将本地地址和端口值附于该套接件 | 指定无效的套接件描述符;指定无效的或不支持的操作;地址已在使用中;无效操作;或者指定无效的地址参数 |
close()关闭套接件,释放它以便重新使用 | 指定无效的套接件描述符;或者如果这是阻塞函数调用,所述操作将阻塞; |
pppclose()关闭网络连接 | 如果这是阻塞函数调用,所述操作将阻塞;指定无效的应用标识符;或者终止进行中的网络连接 |
netstatus()报告网络连接的 | 指定无效的应用标识符;底层网络不可用; |
状态 | 网络连接建立并可用;网络连接进行中;终止进行中的网络连接;无CDMA(即话务信道)服务可用;CDMA服务可用但是由于基站不支持服务选项而发起失败;或者CDMA服务可用但是发起失败;然而这并不是因为基站不支持该服务选项 |
async_select()对特定的套接件注册指定事件 | 指定无效的套接件描述符 |
getnextevent()获取下一套接件描述符和发生的事件 | 指定无效的套接件描述符;或者指定无效的应用标识符 |
write()写入指定数量的字节-连续的或非连续的缓冲器 | 指定无效的套接件描述符;不存在TCP连接;服务器复位TCP连接;由于超时或其它故障TCP连接中断;由于PPP重同步造成TCP连接复位的网络层IP地址改变;TCP连接关闭;网络不可用;应用缓冲器不是地址空间的有效部分;或者没有空闲缓冲器用于写 |
read()读取指定数量的字节-连续的或非连续的缓冲器 | 指定无效的套接件描述符;不存在TCP连接;服务器复位TCP连接;由于超时或其它故障TCP连接中断;由于PPP重同步造成TCP连接复位的网络层IP地址改变; |
TCP连接关闭;网络不可用;应用缓冲器不是地址空间的有效部分;没有空闲缓冲器用于读;或者接收到文件结束标识 | |
sendto()发送指定数量的字节 | 指定无效的套接件描述符;地址族不被支持;没有空闲缓冲器用于写;网络不可用;应用缓冲器不是地址空间的有效部分;指定的选项不被支持;或者请求目的地址 |
recvfrom()读取指定数量的字节 | 指定无效的套接件描述符;地址族不被支持;没有空闲缓冲器用于写;网络不可用;应用缓冲器不是地址空间的有效部分;指定的选项不被支持 |
在另一实施例中,一种机器可以读取机器可读的包括诸如编码软件代码的编码信息的媒体,使上述的启用移动站应用的处理可服务指定事件。所述机器可读媒体可以从诸如存储器或存储磁盘的存储设备或从所述通信网络接受编码信息。当制造所述媒体时还可以对所述机器可读媒体以编码信息进行编程。所述机器可以包括应用260、通信协议栈280和API 270的至少一个,而所述机器可读媒体可以包括存储器或存储磁盘。
虽然关于某些实施例示出了本发明,但不应认为它是如此限制的。相反,本发明仅由附加的权利要求及其相关要求限制。
Claims (12)
1.一种用移动站应用来服务指定事件的方法,其特征在于所述方法包括:
在移动站通信协议栈和通信网络之间通信;
在所述移动站通信协议栈和所述移动站应用间通过移动站应用接口而通信;
由所述移动站应用确定要服务的指定事件;
由所述移动站禁用所述服务的指定事件的后续通知。
2.如权利要求1所述的方法,其特征在于进一步包括调用函数来确定要服务的指定事件以及禁用该服务的指定事件的后续通知。
3.如权利要求1所述的方法,其特征在于进一步包括由移动站应用重新注册所服务的指定事件。
4.如权利要求1所述的方法,其特征在于所述指定事件包括写、读和关闭事件中的至少一个事件。
5.一种用于在移动站中服务指定事件的装置,其特征在于所述装置包括:
与通信网络通信的移动站通信协议栈;
便于所述移动站通信协议栈和移动站应用间的通信的移动站应用接口,
其中所述移动站应用适应于确定要服务的指定事件,并且
其中所述移动站应用适应于禁用所述服务的指定事件的后续通知。
6.如权利要求5所述的装置,其特征在于所述移动站应用适应于调用函数来确定要服务的指定事件以及禁用该服务的指定事件的后续通知。
7.如权利要求5所述的装置,其特征在于所述移动站应用适应于重新注册所服务的指定事件。
8.如权利要求5所述的装置,其特征在于所述指定事件包括写、读和关闭事件中的至少一个事件。
9.一种包括编码信息的机器可读媒体,其特征在于当由机器读取时造成以下处理:
在移动站通信协议栈和通信网络之间通信;
在所述移动站通信协议栈和所述移动站应用间通过移动站应用接口而通信;
由所述移动站应用确定要服务的指定事件;
由所述移动站禁用所述服务的指定事件的后续通知。
10.如权利要求9所述的机器可读媒体,其特征在于进一步包括调用函数来确定要服务的指定事件以及禁用该服务的指定事件的后续通知。
11.如权利要求9所述的机器可读媒体,其特征在于进一步包括重新注册所服务的指定事件。
12.如权利要求9所述的机器可读媒体,其特征在于所述指定事件包括写、读和关闭事件中的至少一个事件。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US53949400A | 2000-03-30 | 2000-03-30 | |
US09/539,494 | 2000-03-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1439215A true CN1439215A (zh) | 2003-08-27 |
Family
ID=24151459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN01807770A Pending CN1439215A (zh) | 2000-03-30 | 2001-03-29 | 用移动站应用来服务指定事件的方法和装置 |
Country Status (9)
Country | Link |
---|---|
EP (1) | EP1273155A2 (zh) |
JP (1) | JP2004500784A (zh) |
KR (1) | KR20020084257A (zh) |
CN (1) | CN1439215A (zh) |
AU (1) | AU2001289300A1 (zh) |
CA (1) | CA2404347A1 (zh) |
IL (1) | IL151700A0 (zh) |
MX (1) | MXPA02009517A (zh) |
WO (1) | WO2001076179A2 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4593368B2 (ja) * | 2005-06-02 | 2010-12-08 | 日本電気通信システム株式会社 | 無線基地局装置評価システム、無線基地局装置及びそれに用いる無線基地局装置評価方法 |
KR101108585B1 (ko) * | 2009-05-15 | 2012-01-31 | 주식회사 디자인포르테 | 가정용 도정기 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6009469A (en) * | 1995-09-25 | 1999-12-28 | Netspeak Corporation | Graphic user interface for internet telephony application |
-
2001
- 2001-03-29 KR KR1020027012723A patent/KR20020084257A/ko not_active Application Discontinuation
- 2001-03-29 IL IL15170001A patent/IL151700A0/xx unknown
- 2001-03-29 MX MXPA02009517A patent/MXPA02009517A/es unknown
- 2001-03-29 EP EP01964710A patent/EP1273155A2/en not_active Withdrawn
- 2001-03-29 AU AU2001289300A patent/AU2001289300A1/en not_active Abandoned
- 2001-03-29 JP JP2001573730A patent/JP2004500784A/ja not_active Withdrawn
- 2001-03-29 CN CN01807770A patent/CN1439215A/zh active Pending
- 2001-03-29 WO PCT/US2001/010142 patent/WO2001076179A2/en not_active Application Discontinuation
- 2001-03-29 CA CA002404347A patent/CA2404347A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
WO2001076179A2 (en) | 2001-10-11 |
KR20020084257A (ko) | 2002-11-04 |
JP2004500784A (ja) | 2004-01-08 |
MXPA02009517A (es) | 2003-05-21 |
EP1273155A2 (en) | 2003-01-08 |
IL151700A0 (en) | 2003-04-10 |
WO2001076179A3 (en) | 2002-02-28 |
AU2001289300A1 (en) | 2001-10-15 |
CA2404347A1 (en) | 2001-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1199420C (zh) | 在移动台中检测指定事件的方法和设备 | |
CN1449614A (zh) | 用于移动站应用识别指定状态消息的方法和装置 | |
US6862276B1 (en) | Method and apparatus for a mobile station application to receive and transmit raw packetized data | |
CN1422482A (zh) | 移动台应用程序识别指定事件的方法和设备 | |
CN1395769A (zh) | 使用移动网际协议的移动通信系统中的区域隧道管理方法 | |
CN1653773A (zh) | 移动ip系统中的ppp链路协商 | |
CN1422481A (zh) | 把指定事件通知移动台应用程序的方法和设备 | |
AU2001251105A1 (en) | Method and apparatus for a mobile station application to receive and transmit raw packetized data | |
KR100604531B1 (ko) | 이동 통신 시스템의 무선 패킷 데이터 서비스 방법 | |
CN1157909C (zh) | 一种网关和用于控制网关中连接的方法 | |
CN1439215A (zh) | 用移动站应用来服务指定事件的方法和装置 | |
KR100467290B1 (ko) | 무선인터넷 기반 티씨피/아이피를 이용한 단문서비스시스템 및 방법 | |
CN1934832A (zh) | 包数据服务节点以及使用它的通信方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication |