无线网络中工作的移动计算机终端通信期间保持应用程序间连通性的软件方法

文档序号:6594664阅读:197来源:国知局
专利名称:无线网络中工作的移动计算机终端通信期间保持应用程序间连通性的软件方法
技术领域
与本发明一致的装置和方法涉及便携式计算机(例如,被连接到无线网络的条形码阅读器计算机终端),尤其涉及网络结构、操作系统API、配置软件,以及支持在分开的移动单元(在这类网络中被加以操作)中被执行的各个应用程序之间的和从一个网络到另一个网络的通信所需要的互联网网络消息传送和通信协议。
背景技术
无线局域网使用红外线或无线电频率通信信道在便携式或移动计算机终端与固定的访问点或基站之间进行通信。这些访问点又通过有线(或可能是无线)通信信道被连接到一个网络基础结构,该网络基础结构将各组访问点连接起来,以形成局域网(可随意地包括一个或多个服务器或主机计算机系统)。
日益重要的一种移动计算机是被耦合到条形码符号阅读器或包括条形码符号阅读器,现在普遍用于便携式数据收集应用程序。通常,条形码符号包括一行或多行明亮区域和黑暗区域(通常为矩形)。黑暗区域的相对宽度、明亮区域的各个条和/或宽度、空间为符号中的数据或信息进行编码。条形码符号阅读器照明符号,检测从反射率各不相同的各个区域反射的光,以便检测这些区域的相对宽度和间隔并获得被编码的信息。在这种移动计算机上执行的条形码阅读数据收集应用程序软件提高了广泛的应用程序的数据输入的效率和准确性。在这种系统中可实现轻松的数据输入,这促使数据输入更加频繁、更加详细,(例如)以便有效率地从清单中取出数据、了解工作的进展情况,以及使用可以与其他的应用程序(在通过无线网络与移动计算机进行通信的远程主机或服务器上运行)进行通信和共同操作的各种应用程序。
我们知道无线与无线电频率(RF)协议支持移动计算机与到主机计算机的、具有多种通信能力的漫游终端的逻辑互连。逻辑互连建立在基础结构的基础上,其中,当位于从那里预定的范围内时,至少每个远程终端能够与至少两个访问点进行通信,每个终端单元通常与这类访问点中的一个单个的访问点联合并进行通信。已根据总体空间布局、响应时间和网络的装载要求而设计了不同的联网方案和通信协议,以便最有效率地控制一个给定的终端与网络之间通过所选访问点的通信。标题为《无线LAN媒介访问控制(MAC)和物理层(PHY)说明书》(1999年版本)的ISO/IEC 8802-11或ANSI/IEEE Std802.11(从新泽西的皮斯卡塔韦的IEEE标准部门可获得)(在下文中称作“IEEE802.11标准”)中陈述了一种这样的协议。
蜂窝式语音与数据通信当前具有并出台了各种配置好的和无线通信标准,它们被称作“广域网”(WANs),与局域网区别开来。第一代无线系统(1G)使用模拟技术。第二代(2G)系统使用数字技术,二十世纪90年代引入的这些系统包括GSM(或“移动通信的全球系统”)和CDPD(或“蜂窝式数字包数据”)。GSM使用200kHz信道上的时分多路技术。CDPD按上至19.2kbps的速度在专用的30kHz蜂窝式信道上传输数据。被称作“2.5G”的系统以56kbps~144kbps的速率提供移动数据服务,而3G系统将以144kbps~2Mbps的数据速率进行操作。
无线通信的最重要的技术之一是CDMA。在扩频系统中,通过为用户分配不同的传播密匙,可以多路复用用户,这被称作“码分多址(CDMA)系统”。当大量用户在基站的范围区域中时,用于促进通信的有几种技术,其中的一种是CDMA调制技术。1993年的“电信工业协会”采取使用数字蜂窝式扩频通信系统中的窄带CDMA,作为TIA/EIA标准IS-95。
当前被运用的800、900MHz频带系统包括AMPS、TDMA/S-136、CDMA/IS-95、iDEN、GSM和I-模式。其他出台的网络标准包括cdmaOne、CDMA 1X和1XEV DV(其中,语音和数据共享一个1.25MHz信道)。有几种技术属于2.5G技术的范围。例如,1XRTT是用于更新CDMA网络的技术。另一种被广泛讨论的2.5G技术是GPRS(通用包无线电服务),用于更新GSM网络。GPRS最初于2000年被运用,并利用多个时间间隙(每个可以按1s4.4kbps的速度传送数据)来进行操作。
在该技术领域中已知的有一些其他的多址通信系统技术(例如,时分多址(TDMA)),以及频分多址(FDMA)与AM调制方案(例如,单边带振幅压扩(ACSSB))。第4,901,307号美国专利揭示了在多址通信系统中使用CDMA技术的情况。标题为《扩频系统的数据服务选项》的TIA/EIA/IS-707-A(被称作“IS-707”)中描述了在CDMA无线网络上使用“互联网协议(IP)”来组帧和传输数据。
“国际电信联盟”最近呼吁提议各种方法,用于在无线通信信道上提供高速率数据和高质量服务。“电信工业协会”提出了第一项提议,标题为《cdma2000 ITU-R RTT候选者提议》(经常被称作“cdma2000”)。“欧洲电信标准协会(ETSI)”提出第二项提议,标题为《ETSI UMTS陆地无线电访问(UTRA)ITU-R RTT候选者提议》(也被称作“宽带CDMA”或“W-CDMA”)。美国TG8/1提出第三项提议,标题为《UWC-136候选提议》(被称作“EDGE”)。
EDGE是“GSM演变的增强数据”的首字母缩写词。EDGE是向后与GSM网络相兼容的一种增强的调制技术,其提供的通过量是GPRS的通过量的三倍。这些提议的内容是公开的记录,在该技术领域中已知。
一种重要的未来网络是UMTS/IMT2000。“UMTS论坛”是于1996年建立的一个用于宣传的非赢利组织,以提高UMTS/IMT-2000第三代移动通信系统的知名度。在建立该论坛的过程中,会员意在为将可在全球范围共同操作并可以由任何移动设备从世界的任何地方来进行访问的3G应用程序和服务创建一个标准。“通用移动电信系统(UMTS)”是基于移动全球系统(GSM)通信标准的一种服务。
在原先技术的第6,091,951号美国专利中已知多种网络中的无缝漫游的一般概念,该专利描述了多种网络(LANs和WANs),其中,移动终端被登记到一个网络中的至少一个访问点。为移动终端分配第一个网络地址,当移动终端被登记到多个LANs中的另一个LAN中的至少一个访问点时,为移动终端分配不同于第一个网络地址的第二个网络地址。系统包括一个网关控制器,它被耦合到LANs,用作移动终端与系统中枢之间的通信的中介,以便当依靠登记在另一个LAN中的一个访问点来为移动终端分配一个不同的网络地址时,设备能够保持与移动终端的通信,而不要求掌握有关改变移动终端的网络地址的知识。
尤其是,usp第6,091,951号专利描述了无缝通信转换,涉及第一个移动终端和设备以及第二个移动终端和设备。第一个移动终端可以延缓以前在第一个移动终端与设备之间建立的通话。第一个移动终端通知网关(通过该网关建立通话)移动终端希望延缓通话。网关被配置成在其表格中保持通话,并开始在存储器中缓冲经由第一个移动终端所用的网络而被接收的任何信息,而不是终止通话。如果第二个移动终端希望在第一个移动终端延缓通话的那个点处恢复通话,那么,第二个移动终端通知网关。然后,第二个移动终端通知网关它希望恢复第一个移动终端所延缓的通话。网关被配置成开始依次促进设备与第二个移动终端(代替第一个移动终端)之间的通信。
已经由网关缓冲的任何信息和有关延缓时第一个移动终端与网关之间的连接状态的状态信息一起被发送到第二个移动终端。结果,第二个移动终端可以在第一个移动终端停止的地方恢复使用,而无须完全终止最初的通话和重新开始新的通话。
本发明的另一个特点涉及为不同的通信接口执行APIs。如第6,044,408号美国专利中所述,一种方法使用具有APIs的一种软件结构,APIs所包括的服务返回有关各个媒体类型的硬件和软件性能的信息。硬件性能是指基础硬件的各种属性和功能特性,而软件性能是指可用的软件模仿程式的各种功能。该服务使应用程序能够适应可用的功能特性。通过提供有关硬件和软件性能的信息,应用程序可以选择(例如)开发某种功能(如果硬件中存在的话)或避免使用该功能(如果只在软件中被提供的话)。如果不具备某个特殊的硬件功能,则应用程序也可以选择使用其自己的软件模仿。
为了利用该服务,应用程序可以在初始化阶段调用它,以了解可用的性能。然后,应用程序可以根据所报告的可用性能来优化自身。如果应用程序没有调用该服务,而试图使用一个不具备的性能,则API将通过返回一个错误参数来告诉应用程序该性能不可用。
即使应用程序还没有这么做,API也能够优化其中特殊的API请求。为了优化API请求,API将请求分成处理请求所需的单独的各个性能。然后,它确定关于请求的各个性能是否是可用的硬件性能。如果是,则它指示硬件执行请求并传入必要的参数。
与本发明最有关的是,如果不具备处理API请求的必要的硬件性能,则API确定关于请求的性能是否是可用的软件性能。如果是,则API使用可用的模仿程序来处理请求。否则,API在多数情况下通过返回一个错误来告诉应用程序无法处理API请求。
在本发明之前,没有一种简单、自动的技术可以不使用网络管理单元或网关控制器。当各台计算机之间的、无线局域网上的通信以及在其中运行的各个应用程序之间的同步受到阻碍或被中断时,网络管理单元或网关控制器将允许移动计算机的用户保持应用程序与远程计算机的数据交换操作的连通性和连续性。

发明内容
1.发明的目的本发明的一般目的是保持计算机网络中的远程处理器中的各个应用程序之间的通信连通性。
本发明的另一个目的是提供一种方法,用于通过适应于各种可变的网络数据转移条件,允许运行于网络中的不同客户上的应用程序继续网络数据转移操作或延缓和恢复操作。
本发明的另一个目的是提供一个软件模块,该软件模块在位于远处的各台计算机中建立虚拟套接字并响应用于在各台计算机之间转移数据的应用程序所提出的每个连接请求,而且确定每台计算机中最合适的信道和对应的虚拟套接字,以便能够通过外部通信链接在第一台计算机中的应用程序与第二台计算机中的第二个应用程序之间建立连接。
本发明的另一个目的是通过按要求切换通信信道、路径或协议,在移动单元中提供软件,用于确实保持各个不同的应用程序之间的连通性。
本发明的另一个目的是在移动单元中提供一个软件工具,用于确保在运行于远程单元中的各个应用程序之间明显地保持逻辑连通性,而不管可能因物理媒体或网络原因而被要求切换软件套接字、通信端口、通信信道、网络路径或协议的较低层次的软件操作如何。
本发明的另一个目的是提供一种方法,用于通过使用适应于较不可靠的网络数据转移条件的额外的API特点,来允许被设计用于有线计算机网络的标准通信API的应用程序在无线通信网络中进行操作。
本发明还有一个目的为可购得的、计算机中的标准通信接口API提供到接口的虚拟套接字API,并响应于第一个应用程序提出的每个连接请求,用于处理由第一个应用程序产生的数据并将其转移到第二台计算机中的一个对应的API,以便能够通过外部通信链接在第一台计算机中的一个应用程序与第二台计算机中的第二个应用程序之间建立连接。
本发明的另一个目的是提供一种方法,可用来实现以上的一个或多个目标。
从该说明揭示(包括以下详细的描述并实践本发明)中,精通该技术领域的人将明白本发明的额外的目的、优点和新颖的特点。下文参考各个较佳实施例来描述本发明,但应该理解,本发明并不局限于此。领受这里教导的并掌握该技术领域普通技能的人将认识到其他领域中的额外的应用程序、修改和实施例,它们处于这里所揭示和声明的本发明的范围内,本发明可对它们发挥重要的效用。
2.发明的特点本发明提供了一种方法,用于保持从驻留在第一台移动计算机中的第一个应用程序到驻留在第二台计算机中的第二个应用程序的数据通信的连通性,其中,通过在第一台移动计算机中确定移动计算机与第二台计算机之间的通信已受到阻碍并确定应该尝试与一个不同的网络网关或访问点联合或使用一个不同的无线电信道以便继续通信,在数据通信网络上传输数据。该方法还提供当建立新链接时,存储和排列各台计算机中的数据消息;并且,在各台计算机之间重新建立链接(或改变相同链接的操作特征),以便继续分别在第一台和第二台计算机中的第一个与第二个应用程序之间的通话。
本发明还提供了一种方法,用于保持数据从驻留在第一台移动计算机中的第一个应用程序到驻留在第二台计算机中的第二个应用程序的连通性和同步,其中,在数据通信网络上传输数据,该数据通信网络包括多个固定的访问点和与这些访问点进行通信的至少一个通信控制器,以及多台远程移动计算机。当位于从那里预定的范围内时,至少有一些移动计算机能够与至少两个访问点进行通信,并且能够正式与这些访问点中的一个单个的访问点联合并进行通信,每台计算机具有一个唯一的用户地址。各个步骤包括在具有第一个访问点的第一台移动计算机与具有所述通信控制器(通过通信控制器的联合端口与这种访问点联合)的第一台移动计算机之间建立通信和联系;登记具有所述通信控制器的所述第一台移动计算机的用户地址;使用通信控制器,用于处理为第一台移动计算机指定的消息并将这类被处理的消息通过通信控制器转移到有关的访问点和第一台移动计算机;响应于第一个应用程序提出的每个连接请求(用于处理第一个应用程序所产生的数据)而在第一台计算机中建立第一个虚拟套接字和真实套接字,并在第二台计算机中建立对应的第二个虚拟套接字和真实套接字,以便能够通过外部通信链接在第一台计算机与第二台计算机中的第二个应用程序之间建立连接;根据第一个应用程序提出的每个连接请求而在第二台计算机中建立第二个虚拟套接字,其中,第二个虚拟套接字对应于被建立在第一台计算机中的第一个虚拟套接字。本发明还提供随后在所述的第一台移动计算机中确定第一台移动计算机与第二台计算机之间的通信已受到阻碍,以及应该尝试与一个不同的访问点联合或使用一个不同的无线电信道,以便继续通信;还提供当建立新链接时存储和排列消息。最后,本发明提供在所述第一个与第二个虚拟套接字之间重新建立链接,以便继续分别在第一台和第二台计算机中的第一个与第二个应用程序之间的通话。
所附的权利要求中陈述了本发明的各种新颖的特点和特征。但是,通过参考一个特殊的实施例的详细描述并在阅读的同时结合附图,将达到对本发明本身及其其他特点和优点的最佳理解。


图1展示了移动单元的方框图;图2展示了可在其中实施本发明的一种网络环境;图3展示了移动单元中的一种操作系统与应用程序环境;图4展示了根据本发明的“视窗CE”移动单元的软件结构;图5展示了根据本发明的软件和协议的流程图;图6展示了移动单元中的显示器的屏幕截图,描绘了一种表格或模板,允许用户通过条形码扫描来输入数据,以便用于应用程序中;并配置了软件,用于根据本发明来规定通信信道标准。
各幅附图中类似的参考符号代表类似的元件。
具体实施例方式
现在将描述本发明的详细内容,包括其各个示范方面和实施例。参考图1,本发明的较佳实施例的操作环境以极其简化的方框图形式来加以描绘,展示了移动计算机单元100,它具有至少包括一个高速处理器140(CPU)的计算机组件120、存储器子系统160、输入设备180和输出设备190。而且,这些元件由一个总线结构或多个单独的接口连接101互连在一起。
所展示的CPU 140采用熟悉的设计,包括用于执行计算的ALU 141、用于暂时存储数据和指令的寄存器集142,以及用于控制单元的操作的控制单元143。各种处理器(包括来自因特尔、摩托罗拉、NEC、Cyrix、AMD、Nexgen和其他公司的处理器)同样是CPU的较佳选择。虽然只示出一个CPU,但是,计算机组件系统可以选择性地包括多个处理器。
存储器子系统160包括主存储器161和次要存储器162。所展示的主存储器161是高速随机存取存储器(RAM)和只读存储器(ROM)。主存储器可以包括任何附加的或替换的高速存储器设备或存储器电路。次要存储器162采取长期存储的形式(例如,ROM、光盘或磁盘、有机存储器或任何其他易失性或非易失性的海量存储系统)。精通该技术领域的人将认识到,存储器可以包括选择性部件的各种组合。
输入与输出设备180和190也是标准的和众所周知的。输入设备180可以包括键盘、数字按键键盘、触摸屏、触发开关、按钮、拇指轮(thumb wheel)、条形码阅读器、数字图像器(imager)、摄象机、鼠标、跟踪球设备、音响设备(例如,话筒等)或为计算机单元提供输入的任何其他的设备。输出设备190可以包括显示器(例如,液晶显示器(LCD))、打印机、音响设备(例如,扬声器等)或为计算机单元提供输出的其他设备。输入和输出设备也可以包括网络连接、无线电收发器、调制解调器或用于跟其他的计算机单元或设备进行通信的其他设备。
图2表现了与家庭、小型办公室、学校或类似的公共或私人空间的较佳实施例中的本发明相一致的典型的联网环境的概略代表图(参考号码为100)。物理硬件部件位于最低的OSI层或物理层处,它们包括沿网络链接或架设的电缆而分布的各种节点。虽然术语“节点”广泛地指被连接到网络链接的所有类型的物理设备,但是,图2中只描绘了客户与服务器节点。
尤其是,图2展示了通过网络链接而被互连的客户和服务器,虽然额外的客户和服务器以及其他类型的节点也可以沿网络链接而分布。如本说明书中所使用的,术语“客户”一般将表示与用户有关的某种类型的外围设备或网络工具。术语“服务器”包括用于控制和协调网络资源(例如,访问点、存储单元或打印机或网站内容或数据)的共享使用的任何设备。
现在参考附图,图2表现了根据本发明的一个实施例的数据通信网络。所展示的第一个局域网110是一个较佳实施例,它包括由有线通信链接11连接到许多固定的访问点或基站12、13的一个主机处理器10;其他的基站14可以通过各个基站或利用RF链接被耦合到主机。基站12、13、14中的每个基站利用RF链接被耦合到许多远程便携式移动单元15。在一个实施例中,便携式移动单元15是手持的、利用电池运行的数据终端,或者是语音通信手持机(例如,第5,029,183号和第6,119,944号的美国专利中所描述的,这些专利都被受让于Symbol Technologies公司,并被包括于此,用作参考)。除了图2中所示的结构以外,也可以将无线互联网工作节点(例如,IBM的第5,901,362号美国专利中所描述的,该专利被包括于此,用作参考)用作无需固定站或基站的特别网络。
虽然提到手持的、激光扫描的条形码阅读器数据终端,但是,数据终端也可以包括CCD或条形码读入器类型的条形码阅读器,可以是便携式的或固定的或由用户佩戴的,而不是手持的。移动单元15也可用作语音通信手持机、寻呼机、静止图像或摄象机、手机、AM/FM无线电广播接收器或前述设备的任何组合。其他类型的数据收集设备可以被用作终端,并使用本发明的各种特点(例如,温度、压力,或其他生物物理学或环境测量设备、事件计数器、语音或声音激活设备、侵入检测器等)。
具有本发明的特点的网络中可以有利地采用各种其他类型的便携式终端;这些便携式终端通常可使用数据输入设备(例如,键盘、触摸屏、软磁盘、CD ROMs、PC卡或密集快闪(CF)卡、磁条卡、RFID标签、生物度量的ID来源、SIM设备、智能卡、电子键(例如,“Ving”)存取卡或类似物),以及数据输出设备(例如,显示器、打印机、声频扬声器、蜂音器、振动器、磁盘驱动器、CD ROM“烧制器”)或用于提供警告、显示或在合适的媒体上拷贝由终端检测、传输和/或接收的信息的其他I/O设备。在被用作说明性例子的这个实施例中,可能有1~64个基站(图中正示出三个站)和上至几百个远程便携式单元;当然,如将要显示的,网络是可升级的,并可以只通过改变地址域的尺寸和数字系统中的类似物而得到扩展,但是,一个限制的因素是等候静止信道的RF通信量与附带的延迟。
第一个LAN 100可以通过控制器(例如,桥接器50、60等,或路由器55、65、75、85等)被耦合到附加的LAN 200、300、400等,或可以通过网关51被耦合到WAN 500;并可以通过网关115被耦合到“公共开关电话网络(PSTN)”600。PSTN也可以通过网关52而耦合到其他LAN 700。
网络也可以包括可能与一个互联网网站有关的服务器95,并可以包括可由接口进程程序访问的多个软件部件。这类部件可以包括一个或多个对象种类(包括applets、servlets、Java BeansTM或一般的任何代码可执行单元)。
服务器可能是目录服务器,也可能是标准基站管理系统。服务器95可以包括用于地址翻译、格式化、存储和加密密匙管理等的设备。
从图2中可见,这些较大的或更加复杂的通信网络通常将被用于制造工厂、办公大楼综合性建筑、仓库、建立零售、购物商场或类似的商业或公共机构或这些机构的组合,在那里,数据收集终端或移动单元将用于仓库中的存货控制或接收/运输设施,在收款处(销售点)柜台用于阅读类似的表格或发票,在大门或其他检验点用于人员安全检查,在定时时钟处用于制造或流程控制,用于将信息提供给顾客(例如,位置和对于地点或人的方向),还有其他许多这样的用途。
以下描述了由移动单元15执行的各个步骤,在根据IEEE 802.11标准来选择访问点的过程中,该移动单元当前与访问点无关。移动单元(MU)通常以它能够使用网络的最低数据速率来将一个探测包发出到所有访问点(AP)。探测包包含移动单元源地址,但没有目标地址,因此,对探测包检测进行并能够以相同的数据速率作出响应的任何访问点必须发送响应。相应地,探测包被范围内的所有访问点检测,一个子集的那些访问点发出一个探测响应包。以最高的数据速率与最适当的访问点(如果有的话)进行通信的MU对信号质量和(可能)其他因素加以评估。如果这种通信可接受的话,那么,MU将与所选的AP联合。
如果MU已经与访问点联合并正在以低于最高数据速率的数据速率操作,那么,根据性能统计数字(下文将加以描述),将按预定的间隔来执行更新探测,以发现它是否能够以更高的数据速率进行操作和是否能够以更高的数据速率与新的AP联合。当MU移入和移出范围(例如,到/来自原来的AP的范围的周边)时,通常会遇到与不同的AP的联合(被称作“漫游”),但是,即使移动单元在AP(MU与其联合)上的通信量波动的条件期间是静止的,也可能会发生。
MU可以被用于各种信息检索和计算的目的,包括(但不局限于)互联网访问、数据库查找、命令输入、通讯联系、文档编制与文字处理、行程安排、数学计算和类似的内容。出于这些目的,为MU提供了操作系统软件。在一个实施例中,操作系统可以是“视窗CE”、“视窗9x”、“视窗2000”或“NT平台”或“视窗CE的Stinger版本”。在其他的实施例中,操作系统可以是Mac OS、Palm OS、Symbian Generic Technology、VRTX RTOS或Linux。在一个实施例中,存储器161可以是随机存取存储器,其中装载了操作系统。在另一个实施例中,存储器161可以任何类型的固件(例如,EPROM或EEPROM),操作系统被“烧制”入其中。
基站12、13、14都使用被连接到天线的RF收发器,用于RF传输和从使用传输/接收交换协议的远程单元15进行接收。在一个实施例中,交换协议类似于冲突检测多址(CSMA)。如果必要的话,可以将附加的RF收发器用作到和来自其他基站的RF链接。
基站12、13、14通常是使用电线供电且经常不可接近操作员的固定单元。典型环境中的RF信号路径是可变的,因为该环境中的设备和远程单元15的位置可以四处移动。结果,与远程单元15进行通信的特殊的基站可以改变。在一项实施中,“传递”协议被用来改变被指定与远程单元15进行通信的基站。这样,虽然其他基站可能在范围内,但远程单元15一次只与一个基站有被确认的虚拟链接。基站12、13、14用作远程单元15与主机计算机10之间的通信链接的中介。基站12、13、14的主要功能是在远程单元15与主机计算机10之间转播数据。
图3展示了具有应用程序环境的一种操作系统。如上所述,操作系统430可以是各种“视窗”环境中的一种环境。操作系统430提供软件,来管理、配置、使能和分配MU 15的物理资源。例如,操作系统430可以包括在各种软件任务中分配存储器161的一个存储器分配运算。此外,该操作系统包括来自存储器的指令,这些指令控制RF传输和接收以及数据获取设备与RF收发器之间的数据流动。
由于本发明在软件中加以执行,因此,应该更加详细地对标准操作系统特点进行背景讨论。“视窗”客户/服务器操作系统提供可共享的资源(例如,文件、存储器、程序与线程),它们作为“对象”被加以执行并可通过使用“对象服务”来存取。该技术领域中已知,“对象”是一种数据结构,其物理格式隐藏在类型定义后面。数据结构(也被称作“记录”或“格式”)是应用于数据的组织方案,以便可以解释数据并可以对该数据执行特殊的操作。这种数据结构对被存储在计算机存储器16内的数据集实行物理组织,并表现了特殊的电元件、磁性元件或有机元件。
“对象类型”(也被称作“对象种类”)包括数据类型、操作数据类型实例的服务,以及一套对象属性。“对象属性”是局部定义该对象的状态的对象中的一个数据领域。“对象服务”通常通过读取或改变对象属性来执行和操纵对象。“对象导向设计”是一种软件开发技术,其中,使用对象来表达系统或部件。
对象通常有两个部件——功能表格和数据块。功能表格包含指向该对象的种类中所定义的每个对象成分功能(即,有时被称作“对象方法”)的指示器;数据块包含每个对象变量的当前值(即数据成分,有时被称作“对象属性”)。应用程序通过对象指示器来参考对象部件。应用程序通过使用功能调用(直接的或暗指的)来获得这个对象参考,其中,该功能分配存储器中的对象块、初始化功能表格并将对所述存储器的参考返回到应用程序。
处理过程作为对象来加以执行。处理对象包括以下要素一个可执行程序;一个私人地址空间;当程序执行时,操作系统分配给处理过程的各种系统资源(例如,通信端口和文件);以及至少一个“执行线程”。“线程”是操作系统核心为执行而安排的处理过程内的实体。在该技术领域中众所周知,每个线程有一个有关的“上下文”,它是与该线程的执行有关的易失性数据。线程的上下文包括系统寄存器的内容和属于该线程的处理过程的虚拟地址。这样,包括线程的上下文的实际数据随其执行而变化。
应用程序环境410包含一个或多个软件应用程序411、414。应用程序411、414可以是用于远程单元15上的任何的各种应用程序。例如,应用程序411可以是浏览器,用于连接到网络(例如,互联网),或用于数据收集和通过条形码扫描而输入表格或模板。应用程序414可以是配置程序,该配置程序配置远程单元15,和远程单元15相连接的网络一起使用。
许多计算机应用程序(例如,数据收集、存货控制、数据库、文字处理器、电子表格和类似物中所用的应用程序)使用图解用户接口(GUIs),这些接口按“用户友好”的方式来使用应用程序。通过使用窗口、图标、菜单、工具栏、滚动条、命令按钮、选择按钮、文本输入框、对话框和类似物,图解用户接口提供了简单的交互式工具,用于输入、操纵和显示数据以及程序执行控制。通过提供图解用户接口,应用程序开发者使操作员经过最少的培训或不经过培训就能够直观地运行应用程序。
现存的标准开发工具推动了图解用户接口应用程序的开发。通过使用一种典型的、基于表格的GUI设计工具,GUI应用程序被分成各个称为屏幕的表格,它们代表用户接口的主要再分部分。每个表格由对象或控制器构成,对象或控制器具有一些有关的领域,它们允许操作员输入数据、显示来自程序的数据、为操作员提供指令并允许操作员控制程序和类似的内容。可购得的GUI开发工具中可用的控制器类型包括用于由操作员输入字母数字的数据的文本框、用于由操作员输入是/否数据的复选框、用于由操作员进行选择的选择按钮、推动预定的事件程序的命令按钮、用于向操作员显示图解对象的对象帧,以及用于在表格上显示信息(例如,操作员指令)的标签。
每个控制器类型由一个特殊子集的属性来定义,该特殊子集的属性取自对于所有控制器类型而言很普通的一套标准属性。属性值确定控制器的外表和行为。例如,每个控制器具有控制器名称属性、控制器类型属性和标题属性。此外,某些控制器类型可能具有不为其他的控制器类型所使用的唯一的属性。
通过从控制器类型的菜单中选择控制器并将控制器放置在表格上的理想位置,应用程序开发者执行其程序。然后,与控制器类型选择有关的属性由开发者来定义,用于使控制器按所需的方式来运行。每个控制器类型由定义该控制器类型的行为的代码模块来执行,通过设置为该控制器类型而定义的属性的值,可以调节该控制器类型的行为。例如,文本框控制器类型接受从键盘被输入其有关领域的数据。在一个计算应用程序中,文本框允许操作员从键盘输入数字,用于随后的算术计算。其他类型的控制器执行所选择的、被规定的例行程序。这样,在条形码扫描应用程序中,操作员将使用键,触发开关,或可以按图标来选择命令标签“扫描数据输入”,这会调用子程序来激活条形码阅读器并接收数据输入。
通过使用预定的控制器类型,操作员可以迅速学会使用不同的图解用户接口,因为这些接口似乎按相同的方式来进行操作。也就是说,命令按钮对于不同应用程序的操作员而言似乎是相同的,不管特殊的应用程序如何,操作员都将认为它按相同的方式运行。这方面的一个主要的例子是为“视窗”环境中的操作而编写的程序,其中,不同的程序具有类似的要素(例如,在所有应用程序中按类似的方式操作的下拉菜单、窗口尺寸控制按钮、帮助菜单和对话框)。
需要能够开发这种图解用户接口,用于跟具有自动数据输入性能(例如,条形码扫描)的数据终端和类似的设备有关的应用程序中。数据终端有许多应用程序,其中,操作员需要通过键盘输入或自动输入(例如,通过扫描驻留在包裹包装、产品标签、货架标签或类似物上的条形码)来收集数据。特别是,需要能够允许操作员选择扫描具有在那里被编码的目标数据的条形码,或者,如果条形码受损、不可读,则选择直接将数据输入应用程序。通过提供既允许手工键盘数据输入又允许自动将条形码扫描数据输入相同的领域的图解用户接口,数据终端操作员可以从这种图解用户接口的用户友好性和直观特点中获益。
迄今为止,想执行自动将数据输入(例如,利用选择通信链接的条形码扫描或这类链接的属性)单个应用程序的程序设计员一直受到限制,以便开发例行程序和在一个个案例的基础上作出决定,这既耗时、单调乏味,又费用昂贵。多数情况下,这样开发的应用程序每次都不同,所以,操作员总是不得不重新学习每个新的应用程序。
本发明为应用程序开发者提供了应用程序开发环境中的一套标准方法,用于按一种方便的方式来综合这类条形码输入性能。目前,通过用于维持局域网或广域网、具有两者之间的传递的网络环境中的通信连通性的图解用户接口的其他特点,可以采用该方式。
本发明还为图解用户接口提供了自定义控制器,它是一种扫描设备,用于促进通过手工键盘输入或通过自动条形码阅读设备来将文本数据输入领域。
本发明还提供了这种察觉扫描的自定义控制器,它按直观的方式进行操作,以便使操作员能够在指示很少或没有指示的条件下使用它,它与现存的应用程序开发环境相结合,并且,它的操作方式类似于现存的标准控制器,以便应用程序开发者容易对其加以执行。
每个应用程序411、414可以具有一个或多个分别与其有关的程序412、413、415、416。这些程序有各种用途,都与应用程序411、414有关。例如,一个或多个程序可以是分别与其有关的动态链接库(DLL)412、413、415和416。DLL是“视窗”平台的一个特点,允许可执行代码模块按要求被动态地装载并在运行时间被连接。对于应用程序411、414而言显而易见,库代码可以被更新,并且当不再需要时,可以被卸载。
操作系统430可以包括应用程序编程接口490(API)。API 490是应用程序411、414用来要求和执行由操作系统430实施的较低层次的服务。关于“视窗”,API也帮助应用程序411、414管理窗口、菜单、图标和其他图解用户接口(GUI)要素。API 490包括一套标准软件中断、调用与数据格式,应用程序411、414使用这些格式来开始与设备驱动器450、460联系。
操作系统430可以包括一个或多个设备驱动器450、460。设备驱动器450、460提供在功能上对于一个特定的物理设备或一种特定种类的设备而言是特殊的控制器。此外,设备驱动器450、460提供标准软件接口,该标准软件接口允许其他的系统部件访问受控设备。例如,一个设备驱动器450可以控制代码数据获取设备343,并可以通过API 490来将数据提供给应用程序411、414和提供来自应用程序411、414的数据。另一种设备驱动器460可以控制RF收发器344,该收发器允许通过设备驱动器460来将数据从操作系统430转移到RF收发器344。操作系统430也包括运行远程单元15的标准启动例行程序的一个BIOS 402。
操作系统可以包括各种应用程序。其中的一种应用程序是WLAN自动配置程序。由于远程单元15可以与具有基站12、13、14的单个WLAN或具有多个无关的基站的多个无关的WLAN联合,因此,移动单元15必须能够对自身进行配置,以便适应范围内几个可能的WLAN中的一个或多个WLAN并与其进行通信。该自动配置程序可使用户能够存储许多WLAN的配置,以便当用户打开移动单元15时,程序自动装载每个WLAN的正确的配置(移动单元15检测到它在附近)。随着WLAN数量的增加,用户若能够连接到他所在的物理位置的WLAN,而不要求他花时间手工改变计算机的配置设置以便与WLAN和互联网联合,那会非常有用。
图4展示了根据本发明的“视窗CE”移动单元的软件结构,其中,在Winsock与应用程序之间执行“虚拟套接字”层。
图5是根据本发明的软件的处理流程图。保持数据从驻留在第一台移动计算机中的第一个应用程序到驻留在第二台计算机中的第二个应用程序的连通性和同步的一种方法是其中,在数据通信网络(包括多个固定的访问点)上传输数据,在所述第一台移动计算机中,确定第一台移动计算机与第二台计算机之间的通信已受到阻碍,并确定应该尝试与一个不同的访问点联合或使用一个不同的无线电信道,以便继续通信;当建立新的链接时,存储和排列消息;在各台计算机中的第一个虚拟套接字与第二个虚拟套接字之间重新建立链接,以便继续分别在第一台计算机和第二台计算机中的第一个应用程序与第二个应用程序之间的通话。
本发明的一个特点是通信接口软件模块模仿标准通信API(例如,Winsock),调用来自传统应用程序的标准通信API能够由所述软件模块来处理。移动计算机中所用的、被广泛运用的软件应用程序的一个典型的例子是使用条形码阅读器来将数据输入计算机的数据收集应用程序。
本发明的另一个特点是一个步骤。在该步骤中,存储从数据收集应用程序接收的、用于传输到第二台计算机的信息,在这段时期,延缓通信通话,然后,一旦以后恢复通信通话,就将所存储的信息传输到第二台计算机。在恢复通信的步骤后,通信接口软件模块将从数据收集应用程序接收的、用于第二台计算机的所有数据传送到第二台计算机。
尤其是,图5描绘了根据本发明的各个处理步骤的流程图。假设两台计算机中都有软件应用程序,这些软件应用程序正在执行并通过通信链接彼此进行通信。在一个实施例中,两台计算机之间的通信链接在某个点处受到阻碍或丢失,从一个应用程序到另一个应用程序的通信被中断。接收应用程序注意到引入的数据流已停止,并立即将中断发送给根据本发明来启动恢复程序的软件模块。在另一个实施例中,链接不一定丢失,但要定期测试一些其他的标准,以确定是否应该使用另一个链接。然后,进行这种确定的计算机根据本发明来启动信道改变程序。
第一个处理步骤是搜索符合特定标准(例如,带宽、可靠性、范围、服务质量、安全性等)的一个选择性通信信道。同时,延缓一直在计算机上运行的应用程序,以便正在被接收的应用程序不再接收数据这个事实不会导致应用程序停止或其他故障。利用被适当延缓的应用程序,可以在必要的、尽量长的时期内搜索一个选择性信道,以便完成新的链接。通过使用搜索不同信道、不同频率或不同网络的不同通信程序,并根据该技术领域已知的技术,可以执行对选择性通信信道的这种搜索。假设所发现的新信道重新建立与远程计算机的通信,则发送计算机接收到确认,并假设该信道为接收计算机所接受,选择性链接被建立。
在其中的一台计算机处,可能会注意到,还没有接收到关于数据正在被发送给另一台计算机的确认。也可能会接收到一个中断,在一个选择性通信信道上有一个信号已进来,表示各个通信应用程序之间的正常的通信信道已受到阻碍或已丢失。在其中的任何一种情况下,延缓在每台远程计算机上运行的应用程序,并使其进入临时状态(期待重建新的通信信道)。这时,虚拟套接字API(如本发明中所提供的)可以通过一个新的套接字和新的物理通信信道而在各个应用程序之间重建通信。尤其是,在取代物理套接字(应用程序以前在其上利用通信)的远程计算机中建立一个新的或虚拟的套接字。所以,新的或虚拟的套接字通过协议堆栈的较高层次来将数据转移到新的通信信道,从而可以绕过或忽略第一个物理套接字。其间,在另一台计算机处,已经建立一个对应的虚拟套接字,并且,在运行于这类计算机上的应用程序与虚拟套接字之间建立通信。虚拟套接字与新的通信信道进行通信,并建立初始化例行程序,以便通过使用两个对应的虚拟套接字的新的通信信道而在各个应用程序之间重新建立通信。一旦完成了这种重新初始化程序,各台计算机中等待的应用程序就可以离开延缓模式,并且,在已延缓各个应用程序的点处,重新建立通信。这样,根据本发明,与原先技术不同的是,在每台对应的计算机中通过新的套接字来重新建立通信信道,而无须使用中央控制器或其他类型的中间控制器或网关。这种软件应用程序允许在两台计算机之间重新建立通信,而不管有什么特殊类型的通信网络或这类网络中有什么设备。
在本发明的另一个实施例中,移动计算机被连接到(例如,局域网中所用的)访问点或通信控制器。在这种实施例中,可以在远程单元的控制下使用通信控制器,以便搜索出一个选择性通信路径。尤其是,在这种实施例中,对通信链接的实际选择不是由移动单元直接执行,而是由远程基站控制。远程基站需要移动单元将接受标准通知它,以便搜索从通信控制器到另一台远程计算机的一个选择性通信路径。
对于本发明的这个实施例(使用通信控制器)的更加详细的描述是一种方法。该方法用于保持数据从驻留在第一台移动计算机中的第一个应用程序到驻留在第二台计算机中的第二个应用程序的连通性和同步,其中,在数据通信网络(包括多个固定的访问点、与这些访问点进行通信的至少一个通信控制器和多台远程移动计算机)上传输数据,当位于从那里预定的范围内时,至少有一些移动计算机能够与其中的至少两个访问点进行通信,并且能够与这些访问点中的一个单个的点正式联合并进行通信,每台移动计算机具有一个唯一的用户地址,包括(A)通过通信控制器的一个有关的端口,在具有第一个访问点的第一台移动计算机与具有跟这个访问点有关的所述通信控制器的第一台移动计算机之间建立通信和联合;(B)登记具有所述通信控制器的所述第一台移动计算机的用户地址;(C)使用通信控制器,该通信控制器用于处理去往第一台移动计算机的消息并通过通信控制器将这类处理过的消息转移到有关的访问点和第一台移动计算机;(D)响应于第一个应用程序提出的每个连接请求,在第一台计算机中建立第一个虚拟套接字和真实套接字,用于处理由第二台计算机中的第一个应用程序和对应的第二个虚拟套接字与真实套接字产生的数据,以便通过外部通信链接在第一台计算机与第二台计算机中的第二个应用程序之间建立连接;(E)根据第一个应用程序提出的每个连接请求,在第二台计算机中建立第二个虚拟套接字,其中,第二个虚拟套接字对应于建立在第一台计算机中的第一个虚拟套接字;(F)在所述第一台移动计算机中,随后确定第一台移动计算机与第二台计算机之间的通信已受到阻碍,并确定应该尝试与一个不同的访问点联合或使用一个不同的无线电信道,以便继续通信;(G)当建立新的链接时,存储和排列消息;以及,(H)在所述第一个虚拟套接字与第二个虚拟套接字之间重新建立链接,以便继续分别在第一台计算机和第二台计算机中的第一个应用程序与第二个应用程序之间的通话。
各个确定步骤包括检测有哪些其他的通信网络可用于建立新的通信链接。
例如,第一个无线电链接使用TDMA,第二个无线电链接使用GSM,或者,第一个无线电链接耦合到信息包开关网络,第二个无线电链接耦合到电路开关网络。
移动单元上的另一个重要的应用程序是网络浏览器。
网络浏览器与客户端中断模块进行通信。网络服务器与服务器端中断模块进行通信。然后,客户端中断模块通过通信链接与服务器端中断模块进行通信。网络浏览器和客户端截取模块被包含在移动计算机中。服务器端截取模块和网络服务器可以被包含在网络上的主机计算机中。第一台移动计算机和第二台计算机通过无线网络和外部通信链接来进行通信。
较佳的是,网络浏览器是使用超文本传输协议(HTTP)和超文本链接标识语言(HTML)来与也使用HTTP和HTML的互联网网络服务器进行通信的互联网网络浏览器。在操作中,网络浏览器将输出由客户端截取模块截取的一个HTTP数据流。通过使用TCP/IP回环特点(其中,客户端截取模块驻留在具有网络号码127(例如,127.0.0.1)的一个IP地址处),可以实现客户端截取模块对HTTP数据流的截取。然后,客户端截取模块将HTTP数据流转换或变换成客户/服务器特殊协议,并将客户/服务器特殊数据流传输到外部通信链接上。服务器端截取模块接收客户/服务器特殊数据流,并重建对应于网络浏览器起源通信的原来的HTTP数据流。然后,将这个被重建的HTTP数据流转移到网络服务器。网络服务器按互联网网络服务器的正常方式来对应于HTTP数据流。精通该技术领域的人将理解,网络服务器也可以是允许多个浏览器连接到服务器的代理。
在本发明的一个实施例中,网络浏览器通过使用“传输控制协议”/互联网协议(TCP/IP)来与客户端截取模块进行通信。TCP也可以被用于外部通信链接上的客户端截取模块与服务器端截取模块之间的通信。最后,TCP可以被用于服务器端截取模块与网络服务器之间的通信。TCP可以被用于构成本发明的系统的各种不同的部件之间的通信,而HTTP协议却不提供用于外部通信链接上的通信的最有效率的装置,本发明的一个实施例创建这里所谓的“虚拟套接字”,虚拟套接字被用在网络浏览器与客户端截取模块与网络服务器之间的连接中。下文将不对这些虚拟套接字的操作进行描述。
在“视窗”实施中,程序包括“视窗”环境中的一个窗口,该窗口类似于控制面板或“拨号”联网。程序以无缝的方式混入操作系统。“视窗”命令解释程序使用一个单个的分层名称空间,来组织所有对象(例如,文件、存储设备、打印机、网络资源,以及使用诸如“视窗资源管理器”的应用程序而可以观看的其他任何事物)。
信息包头部中所包含的互联网协议地址(IP地址)是识别地址的示范,识别地址可以被用来对数据包(将在使用TCP/IP协议的网络上被发送给网站)进行寻址。当然,当按照“互联网协议”进行传输时,使用IP地址。当按照其他协议(例如,Novel IPX协议或X.25协议)来传输数据时,使用类似的网络地址。
本发明的一个方面是能够根据用户的姓名或身份来提供一种特殊的无线移动单元的当前网络地址,并提供数据库查找。在无线移动单元(在离开网络的一般时期后与服务器进行通信)从一个网络移到另一个网络的应用程序和环境中,这个特点特别有用。在无线网络环境中,这类应用程序对于控制进入网络和授权联合网络上的无线终端也很重要。由于无线网络的通信协议通常是开放的标准,因此,属于网络访问点范围中未被授权的用户的、能共同操作的终端也许能够与网络传输信息进行通信或收听网络传输信息,或者能够使用网络在个人网络设备和信道上进行通信。在网络使用IP协议的情况下,网络地址将会是IP地址。为概括起见,虽然在该较佳实施例中网络地址将会是IP地址,但是,我们在以下的讨论中使用术语“网络地址”。
为无线终端分配网络地址的过程可以由域名服务器(DNS)或被连接到网络的动态主机配置协议(DHCP)服务器来执行。这类服务为网络地址翻译提供域名,并临时将网络地址分配给移动单元。或者,可以在内部将一套可用的网络地址存储在终端自身内的存储器中,为用户提供与用户的身份证明有关的特殊的网络地址。
ESS的构成和维护使用经由“服务位置协议”(SLP,RFL 2608)被访问的登记服务。每个ESS的登记服务保持了ESS中所有AP的清单,并保持它们的BSSID到DSM上它们的IP地址的映射。要成为ESS的一部分,AP必须登记自己并将它的BSSID与DSM IP地址提供给登记服务。响应于IAPP SAP处的IAPP-INITIATE请求来执行这个动作。
ESS是构成一个单个的LAN的一套“基本服务集”(BSS),允许802.11移动站在整个ESS中从一个BSS明显地移到另一个BSS。在DS中建立第一个AP实现了ESS的构成。启动AP,并发出一个IAPP-INITATE请求。要求使用802.1X,以便鉴定DS。在登记服务中搜索SSID。如果这是ESS中的第一个AP,则AP将使用被传入原来服务的SSID,以便初始化ESS的登记服务。AP将它的BSSID(MAC地址)与UDP端口号码以及它的IP地址提供给登记服务。如果NAT后面有一个AP,则所登记的地址是错误的地址(即私人地址,而不是在全球范围内可达到的地址);除非如果NAT后面有不只一个AP,在这种情况下,NAT后面的其他AP要求私人地址,NAT的全球网站上的AP要求全球地址。
管理实体能查询登记服务,以获得关于登记服务中的每个AP的信息。登记服务也许能够管理一个或多个ESS,但只有一个登记服务管理一个给定的ESS。SSID可以体现出ESS的性质/界限。随着每个AP的注销,登记服务除去那个AP的输入。当为ESS除去最后的AP时,登记服务也除去SSID输入。
图6表现了包括一个扫描数据输入领域的移动终端以及用于根据本发明来配置通信软件的菜单选择的屏幕视图。左边的窗口对应于用户为扫描数据输入而选择的简档(例如,顾客姓名、公司、位置、产品、所要求的动作等)。右边的变量窗口包括对应于各个选项(可以由用户选择,以对应于这类变量)的下拉菜单项目或作为关于扫描数据输入的开放项目的下拉菜单项目。例如,窗口项目601根据数据收集输入(例如,被扫描的条形码)来指出数据输入领域。窗口号码602指出将用于LAN、WAN或手机网络的数据链接(具有选择载体的下拉菜单)。窗口603指出将要被发送的消息(例如,文本或数字消息、数据文件、HTML文件或声频文件)的数据类型,窗口604规定将要传递消息的时间紧迫性。在所展示的特殊应用程序中,扫描数据输入领域会包括可以由使用简档的用户来定制的各种项目(例如,顾客姓名、公司名称、产品、型号、数量、传递数据、米等),以便被扫描的数据根据简档信息而转换成目标站所需数据和一种表格。
虽然为典型的数据捕获所选的简档与扫描数据输入参数以及数据库顾客询问应用程序的屏幕像片的展示纯粹只是用作示范,但是,精通该技术领域的人将会了解用于向用户传达信息的各种其他的屏幕设计和窗口布置。本发明关键的特点是来自扫描包含编码文本或编码数据(代表将要被放在这种模板领域或位置中的信息)的条形码符号的数据捕获使用屏幕模板或显示器上所提供的屏幕简档的各个领域。当用户在移动单元的显示器上用视觉验证了这种输入后,用户立即能够执行应用程序,并通过程序控制装置、一个单个的指出或点击或按移动单元上的功能键或“发送数据”按钮来与移动站进行通信。
本发明的一个关键的方面是通过条形码阅读的信息的自动数据捕获,对用户在表格模板(被表示为移动单元的屏幕上的GUI)中选择的、有优先顺序的通信链接自动进行定期的比较,自动、明显地重新配置用户有时在移动终端处选择的无线数据链接。这个方面被认为简化了使用方法,提高了使用数据捕获中的带状条形码读入器(bandwand)与成本有效节约、数据库浏览和用于许多不同的用户应用程序的信息转移过程的效率。
本发明的另一个方面是使用图解用户接口,该图解用户接口使用户能够通过使用图标、按钮、标尺、滑动器或可在交互式显示器上执行的其他对象来制定区分符扫描、数据链接、应用程序类型或移动单元的其他通知操作参数。例如,关于数据链接选择,本发明也可以为用户提供描绘载体、服务器、网络或用户的图表或清单的交互式显示,其中,点代表移动单元、网络节点、网关、服务供应商、无线电分页服务或其他众所周知的被指定的各个网络单元,而直线代表信道、链接或其他连通性媒体。通过在显示器(在该技术领域中众所周知)上的这类对象上指定与点击或拖曳与释放,用户可以定义消息传递结构,以便实现所需的通知时间表。这样的一个结构由用户来规定,它可以作为软件文件被加以执行并与激活时间表一起被发送给所表现的各种实际网络要素,以指出持续时间、上下文或其他界限(将利用它们来配置消息服务)。
可以在数字电路中或在计算机硬件、固件、软件中或在它们的组合中执行各种技术和装置的各个方面。本发明的装置可以在计算机产品中加以执行。计算机产品用确实的方法被嵌入在机器可读存储设备中,供可编程的处理器来执行;或者,被嵌入在位于网络节点或网站处的软件上,可以自动地或按要求将软件下载到计算机产品。例如,可以对一个单个的中央处理器、微处理器、一个或多个数字信号处理器、逻辑门的门阵列或硬连线逻辑电路执行前述的各种技术,用于通过操作输入数据和生成输出来执行一个序列的信号或指令的程序,以便实施本发明的各个方面。可以有利地在可在可编程系统上执行的一个或多个计算机程序中执行这些方法,该可编程系统包括从数据存储系统接收数据与指令并将数据与指令传输到数据存储系统的至少一个被耦合的可编程处理器、至少一个输入设备和至少一个输出设备。可以在高层次程序上的或对象导向的编程语言中,或在汇编或机器语言(如果需要的话)中执行每个计算机程序;在任何情况下,该语言可以是编译语言或解释语言。举例来说,合适的处理器包括一般用途的微处理器和特殊用途的微处理器。通常,处理器将从只读存储器和/或随机存取存储器接收指令和数据。适合用确实的方法来具体表现计算机程序指令和数据的存储设备包括所有形式的非易失性存储器,举例来说,包括半导体设备(例如,EPROM、EEPROM和快闪存储器设备)、磁盘(例如,内部硬盘和可移动的磁盘)、磁-光盘,以及CD-ROM磁盘。前述的任何内容可以由特别设计的应用程序特殊集成电路(ASICs)补充或并入。
将会理解,上述的每个要素或两个或更多的要素也可以应用于和上述类型不同的其他类型的构造。
已对本发明进行说明并将其描述为具体表现在通信网络中,但是,并非意在局限于所示的细节,因为在不脱离本发明的精神的前提下,可以进行各种修改和结构改变。
无须进一步分析,前述内容将完全揭示本发明的要点,通过应用当前的知识,其他人可以容易地使其适应于各种应用程序,而不会遗漏。从原先技术的立场来看,这些特点清楚地构成了本发明的一般方面或特殊方面的本质特征,所以,这类改编应该和意在处于以下的权利要求的同等的意思和范围内。
所附的权利要求书中陈述了需要由专利特许证保护的、新的权利要求。
权利要求
1.一种保持数据从驻留在第一台移动计算机中的第一个应用程序到驻留在第二台远程计算机中的第二个应用程序的连通性和同步的方法,其特征在于在数据通信网络上,数据在各台计算机之间传输,包括(a)在第一台移动计算机中建立第一个通信接口软件模块,并在第二台计算机中建立对应的第二个通信接口软件模块,以便在第一台移动计算机中的一个应用程序和第二台计算机中的第二个应用程序之间进行会话;(b)通过具有某些操作属性的通信信道,在第一台移动计算机与第二台计算机之间建立数据通信;(c)随后,在第一台移动计算机中确定该信道的操作属性已经改变,并确定第一台移动计算机与第二台计算机之间的通信应该使用一个具有不同特征的信道,以便继续在各个应用程序之间的通信;(d)当移动计算机重新配置其通信配置时,暂时延缓在第一台计算机和第二台计算机中的各个应用程序之间的数据转移;以及,(e)分别恢复在第一台计算机和第二台计算机中的第一个应用程序与第二个应用程序之间的通信。
2.如权利要求1所述的方法,其特征在于通信接口软件模块模仿标准通信API,因此,对来自传统应用程序的标准通信API的调用能够由所述软件模块来处理。
3.如权利要求1所述的方法,其特征在于第一台移动计算机中的应用程序是使用条形码阅读器来将数据输入计算机的数据收集应用程序。
4.如权利要求3所述的方法,其特征在于还包括一个步骤,该步骤在延缓通信通话的期间暂时存储从数据收集应用程序接收的、用于第二台计算机的信息,并且,一旦恢复通信通话,就将所存储的信息传输到第二台计算机。
5.如权利要求4所述的方法,其特征在于在恢复通信的步骤之后,通信接口软件模块将从数据收集应用程序接收的、用于第二台计算机的所有信息传送到第二台计算机。
6.如权利要求1所述的方法,其特征在于所述移动计算机通过在相同的信道上以不同的数据速率进行操作,来重新配置其通信。
7.如权利要求1所述的方法,其特征在于所述移动计算机通过在相同的信道上按不同的信号调制进行操作,来重新配置其通信。
8.如权利要求1所述的方法,其特征在于第一台移动计算机中的应用程序是使用浏览器的数据显示应用程序。
9.如权利要求8所述的方法,其特征在于还包括一个步骤,该步骤暂时将从第二台计算机接收的、用于数据显示应用程序的信息存储在第一台移动计算机中,且在延缓通信通话的期间,通过执行数据显示应用程序,来允许使用第一台移动计算机浏览所存储的信息。
10.如权利要求8所述的方法,其特征在于在恢复通信的步骤之后,通信接口软件模块将来自浏览器应用程序并用于第一台移动计算机的有关数据的所有请求从第二台计算机传送到第一台移动计算机。
11.一种保持数据从驻留在第一台移动计算机中的第一个应用程序到驻留在第二台计算机中的第二个应用程序的连通性和同步的方法,其特征在于数据在数据通信网络上被传输,所述数据通信网络包括多个固定的访问点、与这些访问点进行通信的至少一个通信控制器和多个远程移动计算机,当所述计算机位于这些点的预定范围内时,至少有一些移动计算机能够与至少两个访问点进行通信,并且能够正常地与这些访问点中的单个点关联并与其进行通信,每台移动计算机具有一个唯一的用户地址,包括(A)通过通信控制器的一个有关的端口,在具有第一个访问点的第一台移动计算机与具有这种访问点的通信控制器之间建立通信和关联;(B)登记具有所述通信控制器的所述第一台移动计算机的用户地址;(C)使用通信控制器,用于处理去往第一台移动计算机的消息并通过通信控制器将这类处理过的消息转移到有关的访问点和第一台移动计算机;(D)响应由第一个应用程序提出的每个连接请求,在第一台计算机中建立第一个虚拟套接字和真实套接字,用于由第一应用程序开始处理数据,并且在第二计算机中建立对应的第二虚拟套接字和真实套接字,以便在外部通信链接上建立从第一台计算机到第二台计算机中的第二个应用程序之间的连接;(E)根据第一个应用程序对每一连接请求,在第二台计算机中建立第二个虚拟套接字,其中,第二个虚拟套接字对应于建立在第一台计算机中的第一个虚拟套接字;(F)在所述第一台移动计算机中,随后确定第一台移动计算机与第二台计算机之间的通信已受到阻碍,并确定应该尝试与一个不同的访问点联合或使用一个不同的无线电信道,以便继续通信;(G)当建立新的链接时,存储和排列消息;以及,(H)在所述第一个虚拟套接字与第二个虚拟套接字之间重新建立链接,以便继续分别在第一台计算机和第二台计算机中的第一个应用程序与第二个应用程序之间的通话。
12.如权利要求11所述的方法,其特征在于所述数据通信网络是无线局域网。
13.如权利要求11所述的方法,其特征在于确定步骤包括检测哪些其他的通信网络可用于建立新的通信链接。
14.如权利要求13所述的方法,其特征在于第一个无线电链接使用TDMA,而第二个无线电链接使用GSM。
15.如权利要求13所述的方法,其特征在于第一个无线电链接耦合到信息包开关网络,而第二个无线电链接耦合到电路开关网络。
全文摘要
保持数据从驻留在第一台移动计算机中的第一个应用程序到驻留在第二台计算机中的第二个应用程序的连通性和同步的一种方法,其中,在数据通信网络上传输数据,该数据通信网络包括多个固定的访问点,在所述第一台移动计算机中确定第一台移动计算机与第二台计算机之间的通信已受到阻碍,并确定应该尝试与一个不同的访问点联合或使用一个不同的无线电信道,以便继续通信;当建立新的链接时,存储和排列消息;在各台计算机中的第一个虚拟套接字与第二个虚拟套接字之间重新建立链接,以便继续分别在第一台计算机和第二台计算机中的第一个应用程序与第二个应用程序之间的通话。
文档编号G06F15/163GK1409236SQ0214402
公开日2003年4月9日 申请日期2002年9月27日 优先权日2001年9月28日
发明者A·哈络德 申请人:讯宝科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1