CN1249647A - 在网络不可用期间具有改善操作的无线移动设备 - Google Patents
在网络不可用期间具有改善操作的无线移动设备 Download PDFInfo
- Publication number
- CN1249647A CN1249647A CN 99118872 CN99118872A CN1249647A CN 1249647 A CN1249647 A CN 1249647A CN 99118872 CN99118872 CN 99118872 CN 99118872 A CN99118872 A CN 99118872A CN 1249647 A CN1249647 A CN 1249647A
- Authority
- CN
- China
- Prior art keywords
- mobile device
- resource
- asynchronous
- far
- message
- 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
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
公开了一种减少由于无线网络的不可用性导致移动设备的用户面对的延迟的改进技术。第一技术允许移动设备使用异步通信与远端服务器通信。使得移动设备处的处理继续,同时异步请求在背景中处理。第二技术涉及移动设备使用内容通道,内容通道被存储,并且保留在高速缓冲存储器中,保证它们的资源本地可用,而不管无线网络的可用性。第三技术涉及移动设备内的改进的列表处理,使得能够操纵列表而不需服务器交互。可分别或组合使用这些技术。
Description
本发明涉及无线网络,并且特别涉及在无线网络的不可用期间无线移动设备的操作。
无线网络经常用来从网络中的一个场所到网络中的一个目的场所传输消息。这些消息包含要提供给目的场所的数据。更具体地说,该消息包括首标部分和数据部分。首标部分包括目的场所的地址,并且数据部分包含数据。例如,目的场所是移动设备或服务器。移动设备通常与无线网络相互作用,以接收各种类型的通知或从该无线网络连接到的另一个网络请求和接收数据。
图1是传统无线通信系统10的方框图。无线通信系统10包括:服务器12、无线网络14和移动设备16。有n个移动设备16-1到16-n。服务器12通常是一计算机系统,其运行以将消息发送到移动设备16或从移动设备16接收消息。所述消息经常是要发送到移动设备16的数据块。例如,所述数据能够是关于各种类型的通知、电子邮件、消息数据、配置信息、数据文件、库文件、程序文件等。所述消息也可以是从移动设备16发送到服务器12的请求信息(例如某些数据)。服务器12也可以连接到其它有线或无线网络,以从其它计算机系统接收消息或向其它计算机发送消息。例如,服务器12能够连接到互联网。例如,服务器12可以是耦合到互联网的代理服务器(或连接服务器)或耦合到网络的网关。近几年互联网的快速增长激发了给移动设备诸如移动电话、个人数字助理(PDA)等提供访问互联网上的可用信息和服务的需要。
无线网络14通常使用无线传输,以与移动设备16通信。无线网络14能够使用各种不同的网络和通信协议。无线网络的例子包括:蜂窝数字分组数据系统(CDPD)、全球移动通信系统(GSM)、码分多址(CDMA)和时分多址(TDMA)等、并且这些无线网络中的每一个具有不同的数据传输特性诸如等待时间、带宽、协议和连接方法。例如,所述协议可以是互联网协议(IP)、短消息系统(SMS)和非结构化补充业务数据(Unstructured Supplementary ServiceData,USSD),并且连接方法能够包括分组切换或电路切换。
例如,要由服务器12发送到移动设备16-2的消息将包含特别标识移动设备16-2的地址。然后该消息由服务器12提供到无线网络14。例如,一个无线数据网络是使用具有相对小分组大小(例如140字节)的小消息服务器中心(Small Message Server Center,SMSC)的分组切换网络。无线网络14使消息适当地路由到移动设备16-2(即,按照地址)。无线网络14和移动设备16-2之间的传输是无线的。移动设备16-2接收已经发送到无线网络14的消息。然后移动设备16-2能够存储消息,并且执行预定的处理行为,例如通知移动设备16-2的用户该消息的接收。
在某些无线网络中,服务器和移动设备能够由两个或更多个通道连接。在一种情况下,服务器和移动设备能够经单向数据通道和双向数据通道连接。一具有这种特性的典型网络(例如GSM)能够使用短消息业务中心(ShortMessage Service Center,SMSC)提供单向数据通道,使用互通功能(IFW)提供双向数据通道。在这种网络中,单向数据通道经常被认为是一窄带通道,并且双向数据通道经常被认为是一宽带通道。例如,窄带通道能够以约400比特每秒(bps)的速率传送数据,而宽带通道能够以至少14400bps的速率传送数据。于是由双向通道和单向通道连接(或可连接)的服务器和移动设备是普遍的。通常,服务器和客户机将根据数据的紧急情况、导致的花费决定使用两种通道或其中的一种。双向通道的使用经常使得移动设备招致向移动设备提供服务的电信公司的收费(即,费用)。相反,单向、窄带通道的使用经常是在没有花费或不管使用多少都为固定花费的情况下可用的。
传统无线通信系统的一个问题是移动设备的操作很大程度地依赖它们的无线网络的可用性。换言之,当无线网络是不可用时,移动设备可以阻止处理用户输入,因为它们等待从远端服务器经无线网络的响应。无线网络的不可用性能够由超过其覆盖的地理范围的移动设备的用户导致。不可用性也从具有高等待时间的无线网络或具有不规则连通性的无线网络产生。因为移动设备的操作依赖于无线网络的可用性,移动设备经常必须等待远端服务器的资源。
移动设备经常设有高速缓冲存储器,其临时存储从远端服务器先前请求并且获得的资源。一高速缓冲存储器在减少移动设备依赖于网络可用性方面是有帮助的。然而,当新请求资源碰巧驻留在高速缓冲存储器中时,高速缓冲存储器仅是有帮助的。因此,如果新请求资源不是先前请求的,那么新请求资源将不存储在高速缓冲存储器中。此外,即使新请求资源是及时存储在高速缓冲存储器中的一位置处,再生或清除算法可从高速缓冲存储器将其移去,以为更新的请求资源提供空间。
传统无线通信系统的另一个问题是主应用模型具有同步特性。同步特性使得应用等待对远端服务器请求的响应(除非由高速缓冲存储器满足)。当无线网络对移动设备是不可用时,等待时间太长,无法接收。
一个通常的应用程序是网络浏览器,它用在移动设备上浏览诸如互联网的网络。这样的网络浏览器是所知的web浏览器。网络浏览器经常从远端服务器经无线网络请求资源。因此,网络浏览器对网络不可用性(例如,由于超出范围、高等待时间或不规则连通性)特别敏感。因此,对于移动设备上网络浏览器的用户,网络不可用性引起很长等待是普遍的。
于是,需要技术减少由于无线网络的不可用性由移动设备的用户面对的延迟。
广义地说,本发明涉及改进的技术,用于减少由于无线网络的不可用性导致移动设备的用户面对的延迟。本发明至少具有三个方面,它们便于在无线网络的不可用期间由移动设备的用户面对的延迟的减少。本发明的一个方面允许移动设备使用异步通信即异步请求与远端服务器通信。这种异步通信使得移动设备上的处理继续,而异步请求在背景中执行。本发明的第二个方面涉及移动设备使用内容通道。内容通道存储并且保留在高速缓冲存储器中,使得它们的资源保证本地可用的,而不管无线网络的可用性。本发明的第三方面涉及移动设备内改进的列表处理,使得没有服务器的交互能够操纵列表。本发明的各个方面能够单独使用或组合使用。
能够用各种方式包括方法、计算机可读介质、装置和系统实现本发明。下面讨论本发明的几个实施例。
作为将移动设备的资源请求经无线网络发送到远端服务器的方法,本发明的实施例包括步骤:接收资源请求,所请求的资源与远端服务器相关联;确定所请求的资源是同步类型资源请求还是异步类型资源请求;当确定资源请求是异步类型资源请求时,以输出队列放置资源请求并且不等待资源应答;和当确定资源请求是同步类型资源请求时,执行步骤(i)确定请求资源是否出现在移动设备的本地高速缓冲存储器中,(ii)当确定请求资源出现在本地高速缓冲存储器中时,从本地高速缓冲存储器提供请求资源,和(iii)当确定请求资源没出现在本地高速缓冲存储器中时,经无线网络向远端服务器发送资源请求,并且等待资源应答。
作为经网络连接到远端服务器的移动设备,本发明的实施例包括:一应用程序,在移动设备上执行,该应用程序产生要发送到远端服务器的输出消息;异步消息队列,存储来自应用程序的输出消息,该消息要从移动设备发送到远端服务器;和异步消息管理器,管理从异步消息队列经网络到远端服务器的输出消息的发送。
或者,移动设备还包括:高速缓冲存储器,存储很可能由应用程序请求的资源;通道管理器,将内容通道从远端服务器经无线网络装入到高速缓冲存储器中;列表管理器,管理在移动设备上提供的列表,使得不需经网络与远端服务器交互能够操纵列表。
作为用于将内容通道从远端服务器经无线网络存储在移动设备上的方法,该内容通道包括资源,本发明的实施例包括步骤:接收将内容通道装进移动设备的高速缓冲存储器的指令;确定该内容通道是否能够适于该移动设备的高速缓冲存储器的保留部分内;当确定该内容通道能够适于该移动设备的高速缓冲存储器的保留部分内时,将内容通道从远端服务器经无线网络装进高速缓冲存储器的保留部分。
作为用于操纵驻留在使用无线通信系统的移动设备上的列表的方法,本发明的实施例包括步骤:在移动设备的显示设备上显示列表,该列表被从描述文件中显示;在移动设备上接收一列表命令,以修改显示列表;定位存储在移动设备内的列表目标,该列表目标对应于所述显示列表;按照列表命令修改列表目标;从列表目标获得描述文件的指针;至少使用所述指针定位要修改的描述文件的部分;按照所述列表指令修改描述文件的定位部分。
作为包括计算机程序代码的计算机可读介质,该计算机程序代码用于经无线网络向远端服务器发送移动设备的资源请求,本发明的实施例包括:用于接收资源请求的计算机程序代码,该请求的资源与远端服务器相关联;用于确定该请求的资源是同步类型资源请求还是异步类型资源的计算机程序代码;用于当该资源请求是异步类型资源请求时,将该资源请求放置在输出队列中,并且不等待资源应答的计算机程序代码;和用于当该资源请求是同步类型资源请求时,经无线网络向远端服务器发送资源请求,并且等待资源应答的计算机程序代码。
本发明有许多优点。本发明实施例的几个优点可包括如下。本发明的一个优点是移动设备的操作较少依赖于网络可用性。结果,移动设备用户受到较好的响应和较少的等待。本发明的另一个优点是同步和异步消息是移动设备可用的。本发明还有一个优点是编程者或内容作者能够确定怎样执行导引,即,是使用同步请求还是异步请求。本发明还有一个优点是能够在移动设备上操纵列表,不需必须支持或提供大量需要提供脚本的资源。本发明的另一个优点是能够获得和保证移动设备处存在某些内容通道。
下列参照附图详细描述本发明其它方面和优点将更清楚,附图借助例子示出本发明原理。附图中相同标号表示相同结构元件。
图1A是传统无线通信网络的框图;
图1B是按照本发明实施例的移动设备的方框图;
图2A是按照第一方面发明的实施例的通信系统的方框图;
图2B是按照本发明实施例的移动设备综合同步和异步处理的流程图;
图3是按照本发明实施例的异步消息发送处理的流程图;
图4是按照本发明实施例的异步响应接收处理400的流程图;
图5是按照本发明实施例的基本通道初始化处理的流程图;
图6是按照本发明实施例的带外初始化处理的流程图;
图7A和图7B是按照本发明实施例的直接初始化处理的流程图;
图7C是按照本发明实施例的通道爬行处理流程图;
图7D到7F是按照本发明实施例的通道资源处理流程图;
图7G是按照本发明实施例的异步请求完成处理流程图;
图8是按照本发明实施例的具有显示列表的用户接口的图;
图9是按照本发明实施例的一般移动设备动作处理的流程图;
图10是按照本发明实施例的列表命令处理的流程图;
图11是本发明使用的典型通信系统的方框图。
在无线通信系统中,无线网络(无线电信网络)通常支持多个移动设备连接到有线网络。该移动设备与有线网络的服务器机通信,请求和接收各种资源。有线网络可有不同类型。有线网络一种类型是互联网。本发明涉及当无线网络不可用使移动设备不能与有线网络服务器机通信时,方便移动设备操作。
本发明涉及用于减少由于无线网络的不可用性导致移动设备的用户面对的延迟的改进技术。本发明至少有三个方面便于减少在无线网络的不可用性期间移动设备的用户面对的延迟。本发明的一个方面允许移动设备使用异步通信即异步请求与远端服务器通信。这种异步通信允许移动设备的处理继续,而异步请求在背景中处理。本发明的第二方面涉及移动设备使用内容通道。内容通道存储和保留在高速缓冲存储器中,使得它们的资源保证本地可用,而不管无线网络的可用性。本发明的第三方面涉及移动设备内改进的列表处理,使得列表没有服务器交互能够被操纵。本发明的这些方面能够单独或组合使用。当这些方面组合使用时,能够建立平滑操作的应用,而不管网络的周期不可用性。
下面参照图1B到11讨论本发明的实施例。然而,本领域技术人员容易理解参照附图给出的详细描述是用于解释用途,而本发明超出了这些限定的实施例。
图1B是按照本发明实施例的移动设备100的方框图。移动设备100特别适于经无线网络的无线通信,该无线网络的连通性是不规则的或出现高等待时间的情况。
移动设备100包括:应用程序102,通过接口106耦合到高速缓冲存储器104。该应用程序102例如是网络浏览器(web浏览器)应用程序,其允许移动设备100的用户请求和接收提供在移动设备100能够通信的远端网络(例如互联网)上的资源。高速缓冲存储器104存储已经由移动设备100请求和接收的资源。此外,如同下面讨论的,高速缓冲存储器104也用于存储各个通道和用来改善移动设备100的性能的列表。
移动设备100还包括:同步请求管理器108和异步消息管理器110。该同步请求管理器108管理对于远端网络无线通信链路109的消息的同步发送和接收。参照图2B将更详细地描述同步请求管理器108的操作。异步消息管理器110管理对于经无线通信链路111的网络的消息的异步发送。提供异步消息管理器110,使得移动设备100能够以异步方式与远端网络通信。移动设备100能够以异步方式通信的能力在无线网络具有高时间延迟或具有不规则连通性的情况下特别有用。下面还参照图3讨论异步消息管理器110的操作。
异步消息管理器110连接到异步消息队列112,该异步消息队列存储将经过异步消息管理器110和无线通信链路111发送到远端网络的消息。通常,等待发送到远端网络的消息保持在异步消息队列112中,直到异步消息管理器110确定无线网络是可用的,然后转向存储在异步消息队列112中的服务特别消息,使得它们在当无线网络可用时,通过无线网络的无线通信链路111发送到远端网络。
推进管理器114接收经无线通信链路115来自远端网络的推进的消息(例如资源)。这些经无线通信链路115由推进管理器114接收的推进消息是响应由移动设备100已经异步发送的请求,或者是经无线网络连接到移动设备100的远端服务器提供(推进)的。
移动设备100还包括:通道管理器116和列表管理器118。通道管理器116运行以将某些内容通道装进移动设备100的高速缓冲存储器104中。内容通道由通道管理器116装进高速缓冲存储器104中,使得移动设备100的性能相对于与装进高速缓冲存储器104中的内容通道相关联的特定内容而改进了。具体地说,如果移动设备100的用户请求(通过应用程序102)与存储在高速缓冲存储器104中的内容通道相关联的资源,那么所请求的资源能够经高速缓冲存储器104迅速提供给应用程序102。否则,当请求的资源没有在高速缓冲存储器104中发现时,在移动设备处请求资源的可用性相对较慢(slow),因为所述请求必须发送到同步请求管理器108或异步消息管理器110,以从位于远端网络上的远端服务器获得资源。
列表管理器118操作,以在存储器120(例如随机存取存储器)中存储一个或更多个列表。在一个实施例中,列表管理器120在永久存储器(诸如高速缓冲存储器104的永久部分)中存储一个或更多个列表。使用存储在存储器120中的列表,使得列表管理器118能够操纵由与应用程序102相关联的用户接口使用的各列表。用户接口操作在显示器122上显示各列表。于是这些列表能够在移动设备100内本地修改,不需无线网络的可用性。存储器120也能够存储来自远端网络的资源,这些资源用来配置或操作移动设备100。
尽管在图1中没有示出,移动设备经常通过代理服务器与远端网络通信。即,移动设备通过无线网络连接到代理服务器,并且代理服务器依次连接到远端网络。
本发明的第一方面提供一移动设备,该移动设备向有线网络的服务器机提供异步通信。通常,移动设备(即,在其上执行应用程序)通过从该移动设备到无线网络的双向同步通道已经从远端服务器大量请求资源。使用同步通道的问题是移动设备是非主动的,而它等待来自远端服务器的响应。在无线网络是不可用(例如,超出范围或经受高时间延迟)的情况下,移动设备被迫等待无规律的时间周期。按照本发明的第一方面,当所述请求不需立即发送、或不需立即从远端服务器响应时,移动设备能够使用与远端服务器的异步通信。网络不可用性是暂时的诸如由于高时间延迟或不规则连通性。用异步通信,移动设备上的应用程序不等待请求的发送或来自远端服务器响应的接收。
下面参照图2A到4更详细地描述本发明的第一方面。按照本发明的第一方面,移动设备向有线网络的服务器机提供异步通信(单独或与同步通信组合)。用异步通信,移动设备不等待请求的发送或来自远端服务器响应的接收。
图2A是按照本发明第一方面的一个实施例的通信系统200的方框图。在此实施例中,通信系统200利用移动设备和原始服务器之间的代理服务器。尽管代理服务器是有利的,按照本发明的通信系统不需代理服务器也能够运行。
通信系统200包括:移动设备202和代理服务器204。移动设备202和代理服务器204之间的通信是通过无线网络的无线通信通道。无线通信通道可以是单向通道或双向通道。移动设备202除了包括其它部件外还包括:应用程序206(即网络浏览器),高速缓冲存储器208、推进管理器210、异步消息队列212和异步消息管理器214。
移动设备202与代理服务器204通信,以从位于远端网络上的原始服务器获得资源。原始服务器包含移动设备202可需要的信息或资源。开始,应用程序206(即网络浏览器)请求原始服务器上产生的资源。然而,该请求经常不需要立即服务,并且使得能够以异步方式执行。异步意指产生请求的应用程序206不等待接收资源;而是,该资源独立于应用程序206的进一步操作被获得。例如,异步请求在某些情况下特别有用,这些情况诸如是原始服务器(远端服务器)需要用某些事件或在移动设备202上已经发生的动作最终更新,但是移动设备202在继续之前不需等待直到原始服务器被更新。
于是,请求是异步时,应用程序206将请求发送到异步消息队列212。从应用程序206看来,一旦请求被成功地排队,由应用程序206的处理继续。然后,异步消息管理器214将管理从异步消息管理器212消息(及资源请求)的提取,并且管理它们经无线通信通道提供给代理服务器204。
在一实施例中,应用程序206确定一特定的请求应该以异步方式处理还是以同步方式处理。例如,应用程序206的程序代码能够将对远端网络的输出请求引向同步请求管理器或异步消息管理器214。由于同步路径通常是可用的,在图2A中仅描述了异步通讯路径。
在代理服务器204处,输入的异步消息临时存储在异步消息队列216中。在代理服务器204处的队列管理器218运行以服务异步消息队列216。队列管理器218将消息(例如请求)从异步消息队列216经网络链路220发送到远端网络上的合适的原始服务器。来自原始服务器的应答消息通过队列管理器218导向推进队列222。推进队列222存储应答消息直到它们经无线通信通道被发送到移动设备202。无线通信通道能够是单向通道或双向通道,但是,从代理服务器204到移动设备202经常是单向通道。
随着经过无线网络的无线通信通道是可用的,应答消息从推进队列222经无线通信通道发送到移动设备202的推进管理器210。推进管理器210然后向高速缓冲存储器208提供输入的应答消息。推进管理器210也能够通知应用程序206请求的资源已经接收。此外,推进管理器210也能够接收应答消息,这些应答消息不被存储在高速缓冲存储器208中而是仅仅用来使得移动设备202在移动设备202处执行某动作。例如,一应答消息能够指导移动设备202改变高速缓冲存储器208的内容或给移动设备202的用户发出一报警。
图2B是按照本发明实施例的移动设备综合同步和异步处理250的流程图。例如该移动设备综合同步和异步处理250由示于图1中的应用程序102执行。
移动设备综合同步和异步处理250用判决块252开始,确定是否已经出现一用户的动作。当判决块252确定没有出现用户动作时,然后,移动设备综合同步和异步处理250仅仅等待用户动作的出现。然而,一旦判决块252确定已经出现用户动作,然后判决块254确定用户动作是否是一资源请求。当判决块254确定用户动作不是资源请求时,然后移动设备综合同步和异步处理250操作以执行其它处理(块256)。各种类型的其它处理与本发明无关。例如,其它处理可包括对于移动设备用户接口的引导操作。接着块256,移动设备250返回重复判决块252及其后继的块以处理另外的用户动作。
另一方面,当判决块254确定用户动作是一资源请求时,然后判决块258确定该请求被指明为同步类型请求还是异步类型请求。如同下面将讨论的,同步还是异步类型的指明能够由应用程序的创建者在建立该应用程序中提供,使得能够控制需要的操作。任何时候,当判决块258确定该请求资源是异步类型时,然后该请求以输出队列放置206。例如输出队列是示于图1中的异步消息队列112或是图2A中示出的异步消息队列212。接着块260,移动设备综合同步和异步处理250返回以重复判决块252和后继块,使得能够处理另外的用户动作。
或者,当判决块258确定该请求是同步类型时,然后判决块262确定该请求资源是否出现在高速缓冲存储器(例如高速缓冲存储器104、208)中。当判决块262确定该请求资源是在高速缓冲存储器中时,然后从高速缓冲存储器中提取该请求资源(块264)。然后,该请求资源显示在移动设备的显示屏上(块266)。接着块266,移动设备综合同步和异步处理250返回以重复判决块252和后继块,使得能够处理另外的用户动作。
另一方面,当判决块262确定该请求资源不是在高速缓冲存储器中时,然后该请求发送到服务器(块268)。该服务器可以是耦合到远端网络的服务器机,诸如代理服务器或远端内容服务器。接着,判决块270确定是否已经从该服务器接收该请求的响应。当判决块270确定还没有接收到一响应时,然后,移动设备综合同步和异步处理250等待响应的到达。在等待响应时,用户等待因为请求的同步类型使得应用程序在继续之前等待请求的响应。一旦已经接收到该响应,显示请求的资源(块272)。此外,在某些实施例中,请求资源一旦接收到也被存储在高速缓冲存储器中。接着块272,移动设备综合同步和异步处理250返回以重复判决块252和后继块,使得能够处理另外的用户动作。
尽管块262和272涉及已由移动设备接收的请求资源的显示,但是这些操作在很多实施例中不需要。例如,应用程序可以偶尔希望发出请求但是不显示接收的请求。而是,该响应能够在移动设备处表明某些其它类型的响应(例如通知、列表命令、高速缓冲存储器操作、或其它动作)。
如上所述,同步还是异步类型的指明能够由应用程序的创建者在建立该应用程序中提供,使得能够控制所需的操作。利用在移动设备上使用的无线标记语言(WML)编程的应用程序,发出异步请求的应用程序代码的例子如下:
<ASYNC METHOD=POST URL=”/code/del.cgi”>
<FIELD NAME=”items”VALUE=”$ITEMS”/>
</ASYNC>
前缀“ASYNC”表示使用异步消息传输。使用的方法是POST方法。通用资源定位符(Universal Resource Locator,URL)是在消息要被发送的远端服务器处的位置。在条目字段中的变量“$ITEMS”包含要被删除的条目的定界表。
相反,发出同步请求的应用程序代码的例子如下:
<GO URL=”/channel/msg.wml”>
VAR NAME=”from”VALUE=joe@xyz.com/>
VAR NAME=”subject”VALUE=”lunch?”/>
VAR NAME=”msg”VALUE=”Are you available for lunch today?”/>
</GO>
注意没有使用“ASYNC”前缀。因此,假定使用同步消息传输。在此,该消息涉及要提供给处理消息传递的URL的e-mail消息。用于e-mail消息的数据用请求发送到指明的URL。
图3是按照本发明实施例的异步消息发送处理300的流程图。例如,异步消息发送处理300由示于图1中的异步消息管理器110或示于图2A中的异步消息管理器214执行。
异步消息发送处理300用判决块302开始,确定无线网络是否对该移动设备是可用的。无线网络经常由于超出范围、拥塞等具有不规则连通性或高等待时间,并且使得对移动设备暂时不可用。当判决块302确定无线网络是不可用时,然后,异步消息发送处理300仅仅等待无线网络的可用性。一旦无线网络变得有效,然后,判决块304确定异步消息队列是否空。异步消息队列是在移动设备内,并且它例如是示于图1中的异步消息队列112或示于图2A中的异步消息队列112。
当判决块304确定异步消息队列空时,然后,异步消息发送处理300返回以重复判决块302和后继块,因为在异步消息队列中当前没有消息等待处理。另一方面,当异步消息队列不空时,然后,选择在要被发送的异步消息队列中的项目(块306)。然后在异步消息队列中所选择的项目经无线网络发送到服务器(块308)。服务器可以是代理服务器或远端网络上的远端服务器。通常,选择的项目是请求位于远端网络上的服务器的资源。
在将所选择的项目发送到服务器后,判决块310确定是否已出现发送错误。换言之,判决块310等待服务器已经接收到已经被发送的选择项目的应答。当判决块310确定在发送选择的项目到服务器期间没有出现差错时,然后从异步消息队列中移出选择的项目(块312)。另一方面,当判决块310确定出现发送错误时,判决块314确定是否需要重试将所选择的项目再发送到服务器。当判决块314确定需要重试时,然后处理返回以重复块308和后继块。或者,当判决块314确定不需要重试时,然后处理到块312。接着块314,异步发送处理300返回以重复判决块302和后继块,使得能够处理队列中另外的项目。
图4是按照本发明实施例的异步响应接收处理400的流程图。例如,异步响应接收处理400由示于图1的推进管理器114或图2A示出的推进管理器210执行。
异步响应接收处理400以判决块402开始,该判决块确定是否已经接收一推进消息。在一个实施例中,在代理服务器204处的推进发动器(push engine)将从推进队列222中获得的推进消息经无线网络的无线通信通道发送到移动设备202的推进管理器210。当判决块402确定没有接收到一推进消息时,然后异步响应接收处理400仅仅等待推进消息的接收。一旦判决块402确定已经接收到推进消息,判决块404确定是否接收的推进消息要被存储在高速缓冲存储器中。例如,该高速缓冲存储器是示于图1中的高速缓冲存储器104或示出图2A中的高速缓冲存储器208。当判决块404确定接收的推进消息应该被存储在高速缓冲存储器中时,然后接收的推进消息存储在高速缓冲存储器中(块406)。另一方面,当判决块404确定接收的推进消息不应该被存储在高速缓冲存储器中时,然后块406被绕过。
接着,应用程序被告知消息到达(块408)。通常,该消息是由该应用程序先前请求的资源。因此,该应用程序经常对被告知消息到达感兴趣。接着块408,判决块410确定是否需要用户通知。当判决块410确定需要用户通知时,在移动设备上排定先前请求的资源的呈现或通知(块412)。在此,该呈现或通知能够采用多种形式,包括向用户启动音频通知,告知先前请求资源现在可用,或在移动设备的显示设备上提供可视通知。另一方面,当用户通知410确定不需要用户通知时,块412被绕过。接着块412,异步响应接收处理400已经完成接收的推进消息的处理,于是返回重复判决块402和后继块,使得能够处理另外的接收推进消息。
本发明的第二方面涉及移动设备使用内容通道。内容通道方便了移动设备从无线网络断开的操作。具体地说,在被需要之前,通过将内容通道装进移动设备的高速缓冲存储器,移动设备很少可能访问无线网络。在无线网络具有高等待时间或不规则连通性的情况下,这个方面特别有用。下面将参照图5到7E更详细地描述本发明的第二方面。
图5是按照本发明实施例的基本通道初始化处理500的流程图。例如,基本通道初始化处理500由示于图1的通道管理器116执行。
基本通道初始化处理500保留高速缓冲存储器的一部分用于内容通道(块502)。移动设备的高速缓冲存储器的该部分被保留用于存储内容通道。例如,高速缓冲存储器能够是示于图1中的高速缓冲存储器104。高速缓冲存储器部分的保留用来将高速缓冲存储器的该部分专用于内容通道的存储,并且这样保证来自内容通道的资源能够存储在移动设备中。接着,内容通道的资源从服务器预装进内容通道的保留部分(块504)。在此,在背景处理或初始化设置处理中,与内容通道相关联的资源被装进高速缓冲存储器的保留部分,使得之后应用程序能够迅速提取与该内容通道相关联的任何内容。这些资源能够迅速提取,因为它们本地性地位于高速缓冲存储器内,于是不需要通过无线网络向远端服务器的外部请求。
此外,存储在高速缓冲存储器(RAM)的保留部分中的内容通道的资源保证不被高速缓冲存储器清除或刷新处理(块506)。在这方面,与该内容通道相关联的资源不被从高速缓冲存储器移去或经受清除算法,该清除算法能够是重写或从高速缓冲存储器移去内容通道的资源。换言之,与内容通道相关联的资源保留在高速缓冲存储器中直到它们被特别指令移去或刷新。换言之,高速缓冲存储器的保留部分提供永久存储。接着块506,完成和结束基本通道处理化处理500。
在操作期间,移动设备的用户能够从某些内容通道中选择,运些内容是用户希望在它们的移动设备上本地具有驻留。移动设备也能够被设置或预配置以请求某些内容通道。内容通道能够给用户提供宽范围内容。内容通道的某些例子包括:股票通道、体育通道、交通通道等。保证某些内容通道存在于移动设备上的能力是一重要优点,因为它使移动设备能够执行请求内容通道的内容的处理,而不管无线网络是否不可用的。因此,即使当网络是不可用的,该移动设备能够合适地运行,因为合适的内容通道已经被预装在移动设备上。
图6是按照本发明实施例的带外初始化处理600的方框图。带外初始化涉及当移动设备设置使用时执行的初始化。带外初始化处理600用判决块602开始,该判决块确定是否要装入一内容通道。当判决块602确定没有内容通道要装入时,然后不调用带外初始化处理。另一方面,当判决块602确定要装入一内容通道时,然后接收通道说明(块604)。通道说明描述内容通道。通常,通道说明将从远端服务器(例如,代理服务器或内容服务器)接收。
接着,判决块606确定特定内容通道是否将适合可用保留的存储器。通道说明表明它需要的保留的存储器的量,并且该量与在用于存储内容通道的高速缓冲存储器的保留部分中存储空间的可用量比较。当判决块606确定特定的内容通道不适合可用保留的存储器时,然后,判决块608确定是否需要当前通道(on-channel)故障通知。当判决块608确定需要当前通道故障通知时,然后执行当前通道故障通知(块610)。另一方面,当判决块608确定不需要当前通道故障通知时,然后块610被绕过。接着块610,完成和结束带外初始化处理600,没有在高速缓冲存储器中装进特定的内容通道。
另一方面,当判决块606确定特定内容通道适合可用保留的存储器的量时,通道管理器被告知通道说明通用资源标识符(URI)(块612)。这使得通道管理器设立该内容通道。例如,该通道管理器是示于图1中的通道管理器116。接着,执行任何需要的当前通道创建通知(块614)。此外,通道内容装进高速缓冲存储器(块616)。通道内容的装进(块616)在背景模式下或在移动设备的初始化期间执行。接着块616,完成带外初始化处理600。
图7A和7B是按照本发明实施例的直接初始化处理700。直接初始化处理700由用户请求启动,以在移动设备中安装特定通道。例如,示于图1的通道管理器116能够执行直接初始化处理700。
直接初始化处理700用判决块702开始。判决块702确定是否已经接收安装内容通道的请求。只要没有接收到这样一个请求,直接初始化处理700仅仅等待这种请求的接收。一旦判决块702确定已经接收到安装内容通道的请求,然后请求通道说明(块704)。该通道说明描述了要安装的内容通道。请求该通道说明之后,接收该通道说明(块706)。通常从远端服务器经无线网络接收通道说明(块706)。
接着,判决块708确定该内容通道是否适合高速缓冲存储器的可用保留的存储器。当判决块708确定该内容通道不适合可用保留存储器时,然后用户被通知没有足够的存储器安装该内容通道(块710)。例如通知能够将消息显示在移动设备的显示设备上。然后,判决块712确定是否请求任何当前通道故障通知。当判决块712确定有当前通道故障通知要执行时,执行当前通道故障通知(块714)。或者,当判决块712确定没有当前通道故障通知要执行时,块714被绕过。接着,由于内容通道没有安装,与移动设备相关联的显示返回到请求通道安装之前的先前屏幕(块716),接着块716,完成和结束直接初始化处理700。
另一方面,当判决块708确定内容通道适合于高速缓冲存储器内的可用保留的存储器时,然后用户被告知能够安装内容通道(块718)。接着,判决块720确定是否用户仍然需要安装。当用户确定不安装时,然后跳出直接初始化处理700,并且将与移动设备相关联的显示返回到请求安装内容通道之前的先前屏幕(块722)。接着块722,完成和结束直接初始化处理700。
或者,当判决块720确定初始化请求时,通道管理器被告知通道说明URI(块724)。这使得通道管理器设立该内容通道。然后,执行任何需要的当前通道创建通知(块726)。然后通道的内容被装进高速缓冲存储器的保留部分(块728)。将通道内容装进高速缓冲存储器之后,然后移动设备的显示设备显示已经安装的内容通道的顶级(top-level)资源(块730)。以后,移动设备的用户能够按照需要通过通道的内容导引。接着块730,完成和结束直接初始化处理700。
上述的初始化处理600、700使用各种通知,包括当前通道创建通知和当前通道故障通知。这些能够提供在用来描述内容通道的标记语言文件(例如XML)中。通知例如是:On Channel Create(当前通道建立)、On Channel Fail(当前通道故障)、On Channel Delete(当前通道删除)、和On Channel Overflow(当前通道溢出)。通常,使用的每一个通知类型能够具有消息要被发送的指明URL。例如如下:
<HANDLE TYPE=”On Channel Overflow”
HREF=”/cgi-bin/channel Overflow.cgi”/>
内容通道装进高速缓冲存储器的保留部分。该高速缓冲存储器的保留部分也可称为高速缓冲存储器的通道存储部分。通道的各种资源的装进或预装进称为通道爬行(channel crawling)。因此,通过下面描述的通道爬行处理能够执行与图6的块616及与图7A的块728相关联的装入。通道爬行处理通常操作以顺序通过资源(初级资源)和与该初级资源链接的其它资源。初级资源由通道说明标识,例如经常作为URI出现。
图7C到7F是按照本发明实施例的通道爬行处理720。通道爬行处理720起始锁定高速缓冲存储器(块722)。实际上,当被锁定时,高速缓冲存储器变得以只读方式可操作。接着,该通道标记为未完成(块724)。在本内容中的完成表示整个通道出现在高速缓冲存储器中。因此,“未完成”表示整个通道没有出现在高速缓冲存储器(即,通道存储部分)中。此外,该通道的所有资源标记为“pending removal(待移去)”(块726)。待移去表示,如果通道爬行不表示资源应该保留在高速缓冲存储器的通道存储部分中,特定的通道资源适合被移去。接着,变量“space used(使用空间)”设定到零(0)(块728)。使用空间变量用来总计添加到该通道的由作为资源的通道占用的空间的量。通常通道说明将表示被允许占用的通道存储部分内存储的最大量。
接着,执行通道资源处理730。例如参照描述通道资源处理的图7D到7F,描述通道资源处理730。通道资源处理操作以获得(按需要)和分配通道资源进入高速缓冲存储器的通道存储部分。
接着通道资源处理730,判决块732确定状态当前是否为表示通道爬行处理720应该结束的“terminate crawling(结束爬行)”。当判决块732确定状态不是“terminate crawling”时,判决块734确定状态是否为“additioncomplete(添加完成)”当状态为“addition complete”时,然后,通道标志为完成(块736)。否则,该通道假定为未完成并且继续处理。
块736、当状态不是“addition complete”时的判决块734、当状态是“teminate crawling”时的判决块732之后,通道爬行处理720已经完成经该通道的爬行,现在准备完成处理。具体地说,允许仍然标记为“pendingremoval”的通道中剩余资源的移去(块738)。一旦许可剩余资源被移去(块738),高速缓冲存储器能够移去它们或按照需要在后面改写它们。接着块738,高速缓冲存储器被解锁(块740)。一旦被解锁,高速缓冲存储器是可用的由各种应用程序使用。接着块740,完成和结束通道爬行处理720。
图7D到7F是按照本发明实施例的通道资源处理742的流程图。通道资源处理742涉及与图7C中的块730相关联的通道资源处理的实施例。
通道资源处理742以判决块744开始。判决块744确定链接级是否大于最大链接级。当链接级大于最大链接级时,然后状态设定到“additioncomplete”(块746)。接着块746,完成和返回通道资源处理742。
或者,当判决块742确定链接级不大于最大链接级时,判决块748确定正被处理的资源是否已经在通道内并且没指明“pending removal”。当判决块748确定资源已经在通道内并且没指明“pending removal”时,然后通道资源处理742理解该资源已经先前处理。因此,在此情况下,通道资源处理742也将状态设定到“addition complete”(块746),然后返回。
另一方面,当判决块748确定资源没有在通道内或没有“pendingremoval”时,判决块750确定资源是否在高速缓冲存储器中并且也“fresh(新的)”。例如,在高速缓冲存储器中的项目当没有超过它们的过期日时,是“fresh”。当判决块750确定资源不同时满足在高速缓冲存储器中并且为“fresh”时,然后以异步方式请求资源(块752)。上述讨论了该类型的异步请求,并且允许处理进行而不需等待资源。接着,状态设定为“additionincomplete”(块754)。接着块754,完成通道资源处理742,并且返回。
或者,当判决块750确定资源是在高速缓冲存储器中并且“fresh”时,然后判决块756确定资源大小是否大于可用通道空间。在此,判决块756确定正被处理的特定资源是否能够适合在已经被分配用于通道存储的可用通道空间内。从使用空间变量确定可用通道空间。当判决块756确定资源大小大于可用通道空间时,然后执行溢出通知(块758)。然后状态设定到“terminatecrawling”(块760)。接着块760,通道资源处理742完成,并且整个返回到通道爬行处理720(在判决块732)。
另一方面,当判决块756确定资源大小不大于可用通道空间时,然后资源添加到通道(块762)。然后,使用空间变量增加资源大小(块764)。存储在高速缓冲存储器的通道部分中的资源还标记为“not pending removal”(块766)。实际上,这将资源放置在高速缓冲存储器的通道存储部分中,在此资源被保护。接着,增加链接级(块768)。链接级表示当前处理的通道的级别。尽管没有示出,描述的所有返回也减少链接级。完成返回实际上是返回到初始级,并且相应设置链接级。
此时,已经处理基本级资源。接着,通道响应处理742操作以处理与嵌入初级资源内的其它资源的链接。此链接处理以如下详述的递推方式执行。
通道资源处理742执行关于资源内链接的通道资源处理(块770)。因此,此时,对于资源内的链接,以递推方式返回处理,以重复用块744开始的通道资源处理742。当出现返回时,处理将退出图7E中的块770。然而,在其之前,链接爬(通过其链接)到最大级,使得将相应资源引进通道。一旦处理退出块770,判决块772确定状态是否为“terminate crawling”。当判决块772确定状态是“terminate crawling”时,然后通道资源处理742完全返回到通道爬行处理720,在此将退出图7C中的块730。
另一方面,当判决块772确定状态不是“terminate crawling”时,判决块776确定状态是否是“addition incomplete”。当判决块776确定状态是“addition incomplete”时,然后,资源被标记为未完成(块776)。当状态不是“addition incomplete”时接着判决块776,判决块778确定是否在资源中有更多链接要被处理。如果判决块778确定有更多链接要处理,然后处理返回以重复块770和后续块。
另一方面,当判决块778确定在要被处理的资源中没有更多链接时,然后判决块780确定正处理的资源是否是完成的。当判决块780确定资源是完成时,然后状态设定到“addition complete”(块782)。然后,接着块782,用于特定的链接的通道资源处理,减少链接级(块784)。接着块784,通道资源处理742返回。在此,通道资源处理742返回上一级,处理将要继续进行。或者,当判决块780确定资源没有完成时,然后状态设定到“additionincomplete”(块785),然后减少链接级(块784),接着块784,用于特定链接的通道资源处理742是完成的,于是返回到在先级。
如上所述在通道资源处理742中,当资源在高速缓冲存储器中是不可用时,或如果资源在高速缓冲存储器资源中并且是“stale”时,进行异步请求资源。在此,异步请求发送给远端服务器,并且远端服务器的应答将请求的资源发送回已经发出请求的移动设备。当这种输入的请求由移动设备接收到时,它们按照如下面参照图7G描述的进行处理。
图7G是按照本发明实施例的异步请求完成处理786的流程图。异步请求完成处理初始以判决块788开始。判决块788确定输入资源(即请求资源)是否是一命令。当判决块788确定输入资源是一命令时,然后处理该命令(块790)。在此,命令的处理与先前请求的诸如通道爬行处理期间资源的处理分开。接着块790,异步请求完成处理完成并且结束,因为,在此情况下,输入资源是被接收的命令,不是先前异步请求的资源。
另一方面,当判决块788确定输入资源不是一命令时,然后假定输入资源是由移动设备(例如异步消息管理器110或214)先前异步请求的资源。在此,输入资源存储在高速缓冲存储器中(块792)。然后,判决块794确定该输入资源是否是被指定用于该通道(即,用于高速缓冲存储器的通道存储部分)。在此,异步请求完成处理786确定输入资源是否是要提供在移动设备上的通道的部分。当输入资源被指定用于一通道时,然后重新开始通道爬行处理以确定输入资源是否能够添加到该通道(块796)。在一实施例中,使用通道爬行处理的重新开始,使得该通道按照输入资源被更新并且通常更新其状态和资源。或者,当该资源不被指定用于一通道时,绕过块796。接着块796,以及当该资源不被指定用于一通道时接着判决块794,异步请求完成处理786完成并且结束。
本发明的第三方面涉及移动设备内改进的列表处理,使得列表能够没有服务器的交互被操纵。因此,由于即使在网络不可用性的时间周期期间也能够执行列表处理,使得移动设备的操作改进。下面参照图8到10更详细描述本发明的第三方面。
图8是按照本发明实施例的具有显示列表800的用户接口的图。例如,显示列表800显示在移动设备的显示屏(显示设备)上。列表800包括第一条目802、第二条目804和第三条目806。三个条目802、804和806表示显示在移动设备的显示屏上的列表。使用移动设备上的引导按钮以及用户命令按钮808和810能够操纵列表800。用户命令按钮808执行读命令用于选择一个列表条目,并且用户命令按钮810执行删除命令,以删除选择的一个列表条目。由表示描述文件诸如“headers.wml”定义显示列表800,“headers.wml”是定义列表800的无线标记语言(WML)文件。
通常,如果列表800要被修改,移动设备需要与发出列表800的服务器交互。例如,如果移动设备的用户要选择第一列表项目802,然后选择用户命令按钮810,用户将请求从列表800中移去第一列表条目802。然而,为了实现改变列表800,移动设备需要告诉发出列表的服务器(例如远端服务器)该用户已经请求某改变。然后,移动设备将等待远端服务器修改发起服务器(sponsoring server)处的主列表,然后,将更新的描述文件(例如“headers.wml”文件)发送给该移动设备。传统解决方法的一个问题是,其需要与服务器交互,所述服务器由于周期的无线网络不可用性,给用户引起不希望的等待时间,并且引入较长的等待时间周期。
按照本发明的第三方面,在移动设备的显示屏上显示的列表不需通过无线网络与远端服务器的交互而能够被操纵。换言之,显示列表能够由移动设备上的本地处理被操纵,而不需要无线网络可用性。此后,合适的发起服务器能够被告知(异步地)已经对列表的修改,使得服务器能够更新主列表。
如图8所示,在移动设备上提供称为列表目标812的数据结构。列表目标812用来管理和操纵显示列表800。列表目标812称为“headerlist.lst”,并且在此例中,对应于涉及显示列表800的“headers.wml”文件。列表目标812包括定义列表特性的列表说明814。此外,列表目标812在由列表管理器(例如列表管理器118)启动后,包括对应于列表中项目的各列表单元。具体地说,示于图8的列表目标812包括:第一列表单元816、第二列表单元818和第三列表单元820。列表单元816、818和820分别对应于显示列表800的项目802、804和806。
列表说明814包含关于列表特性的信息。这些特性包括:用于列表的基URI,向上或向下显示顺序、目标单元、列表中条目的最大数目、再生算法(reclamation algorithm)、访问控制和通知处理程序。基URI指向用于列表的描述文件(例如,headers.wml)。目标单元是对于能够由列表管理器改变的显示列表的描述文件的一部分的指针。条目的最大数目表示该列表能够拥有的条目的最大数目。再生算法表示由该列表占用的存储器空间能够被再生的技术。访问控制表示远端服务器上的域被允许访问与该列表相关联的文件。当关于列表的事件发生时,通知处理程序操作以启动某些请求或动作(经URL)。例如,当对列表进行本地修改时,发起服务器(远端服务器)被通知。例如通知处理的例子包括:OnDelete(当前删除)、OnInsert(当前插入)、OnLock(当前锁定)、OnUnLock(当前解锁)和OnGetList(当前得到列表)。
列表单元816、818和820中的每一个包括:标题、资源位置(resourcelocation)和排序关键字。用于列表单元的标题(标签)显示在显示列表的列表项中。例如,第一列表单元816将具有标题“Joe”,并且于是在显示列表800中的第一列表条目802加标题为“Joe”。然而,从用于显示列表800的描述文件(headers.wml)显示列表条目802、804和806。资源位置是对于列表单元后资源的指针。例如,如果第一列表单元816对应于来自“Joe”的e-mail,然后,资源位置(resource location-1)是描述email(例如joe.wml)的内容的文件。用于列表单元的排序关键字用来排序列表的单元或项目。
通过下列典型例子解释由本地处理的显示列表的操纵。假定显示列表800的列表项目802正由移动设备的用户删除。为了启动列表项目802的删除,用户将选择列表项目802,然后启动用户命令按钮810。响应于用户命令按钮810的启动,列表管理器将定位与显示列表800相关联的列表目标812内的相应列表单元816。然后,列表管理器通过从列表目标812中移去列表条目816,将修改列表目标812。接着,列表管理器使用列表说明814的内容将要定位用于显示列表800的描述文件(header.wml)内的目标单元。然后,在目标单元内,列表管理器将要发现描述文件内涉及列表项目802的目标部分。发现合适的目标部分的一个解决方法将使用列表项目搜索的标题(例如Joe)搜索目标单元。一旦在描述文件内的目标部分,列表管理器将通过移去与列表项目802相关联的内容编辑描述文件。除了搜索和编辑解决方法,另一个解决方法要重新产生目标单元(或整个描述文件)以匹配列表目标内的列表单元的当前状态。通过修改(例如编辑或重新产生)用于显示列表800的描述文件,使得移动设备重新显示显示列表800,使得列表项目802不再出现。此时,显示列表800仅有两个列表项目(804和806),并且列表目标812将仅有两个列表单元(818和820)。注意所有这些处理本地发生在移动设备上,而不需经无线网络与合适的服务器交互。然而,为了使服务器被告知显示列表的改变,利用由列表说明814包含的或指向的通知处理程序。在此典型例子中,能够选择当前删除(on-delete)通知处理程序,并且由那个通知处理程序表示的URL能够被用来向合适的服务器发送通知消息。在一个实施例中,由移动设备发送的通知消息被使用上述的异步消息技术异步发送。
尽管列表单元816、818和820是列表目标802的部分,列表项目能够形成与显示列表800相关联的描述文件的部分。这样一种解决方法可以是更有效存储的。
下面是用于用户股票文件夹的示例列表说明(用WML格式),它能够最大列出10种股票以及删除特定股票。
<LIST BASE=“http://stocks.uplanet.corn/”HREF=“portfolio.wml”
ID=“stocklist”>
<!--maximum of 10 items in the portfolio-->
<RESOURCES MAXITEMS=“10”RECLAIM=“FIFO”/>
<!--when the user deletes an item from the list,remove it from the
porffolio-->
<NOTIFY TYPE=“On Delete”HREF=“delete.cgi”/>
</LIST>
目标文件能够是接着WML卡片组,具有所示的单卡。在卡中的文本呈现列表的标题。此外,菜单选项提供了与能够运行在当前选择项上的命令菜单的链接。
<WML>
<CARD>
<DO TYPE=“OPTION”LABLE=“Menu”ONCLICK=“menu.wml”/>
My Stock Portfolio
<SELECT ID=“stocklist”KEY=“k”>
<!--list entries will be placed here as OPTIONs-->
</SELECT>
</CARD>
</WML>
图9是按照本发明实施例的一般移动设备动作处理900的流程图。一般移动设备动作处理900表示怎样启动列表管理器。
一般移动设备处理900用判决块902开始,该判决块确定是否已经出现用户动作。如果没有出现用户动作,则一般移动设备处理900等待用户动作的接收。或者,提供判决块904以确定推进内容是否已经到达。当判决块904确定没有推进内容到达时,然后,一般移动设备处理900等待推进内容的到达。因此,一般移动设备处理900处在等待状态直到已经出现用户动作或者推进内容已经到达移动设备。一旦出现这两种情况中的一种,继续一般移动设备处理900。
当继续一般移动设备处理900时,判决块906确定调用动作是否是一列表命令。当判决块906确定调用动作是一列表命令时,然后列表命令送到列表管理器(块908)。然后列表管理器处理该列表命令。例如,列表命令能够由前缀“listmgr:”表示。另一方面,当判决块906确定用户动作或接收的推进内容的调用动作不是列表命令时,然后,执行其它动作处理(块910)。其它动作处理910可以是命令的传统处理。接着块910以及接着块908,一般移动设备处理900完成并且结束。尽管一般移动设备处理900描述为一般化的处理,应该知道图9示出了表示某些命令如何以及何时指向列表管理器用于它们的处理。
图10是按照本发明实施例的列表命令处理1000的流程图。例如,列表命令处理1000由示于图1中的列表管理器118执行。
列表命令处理1000用判决块1002开始。判决块1002确定是否已经接收到一列表命令。列表命令处理1000处在等待状态,直到已经接收到列表命令。一旦判决块确定已经接收到列表命令时,列表命令处理1000继续。一旦列表命令处理1000继续,基于列表命令修改列表目标(块1004)。接着,识别目标文件内的目标单元(块1006)。然后,在已经识别的目标单元内,定位要修改的目标单元的部分(块1008)。然后基于列表命令修改目标单元的部分1010。例如,如果列表命令请求删除一列表项目,然后,将从目标文件中移去目标单元的部分。另一方面,如果列表命令请求插入,然后添加的内容将在目标单元的部分(例如,特定位置)处插进目标文件。
已经按照列表命令修改目标文件后,识别适当的通知处理程序1012。通常,能够基于已经处理的列表命令的类型选择适当的通知处理程序。识别适当的通知处理程序1012后,调用适当的通知处理程序以通知针对目标文件的修改的发起服务器(远端服务器)(块1014)。发起服务器通常拥有目标文件的主文件,并且这样给发起服务器的通知使得服务器按照用户在移动设备上的动作修改主文件。在一个实施例中,提供给服务器的通知由异步消息执行,该异步消息由诸如上述的异步消息处理程序发出。最好是异步通知,因为移动设备不需要等待任何服务器动作,如果需要,其将引起移动设备用户的等待时间或延迟。接着块1014,列表命令处理1000完成并且结束。
图11是本发明使用的典型通信系统1100的方框图。通信系统1100包括有线部分1102和无线部分1104。有线部分1102包括网络1106和网关1108。在一个实施例中,网络1106是互联网,其表示大量互相连接的计算机。在另一个实施例中,网络1106是内部网或计算机的专用网络。
网关1108操作提供从有线部分1102到无线部分1104的网关。网关1108用作无线部分1104的无线通信和有线部分1102的有线通信之间的初始转接点。网关1108接收来自电信网络1114的输入内容请求,并且按照需要执行协议转换。网关1108将正常执行某些协议翻译和其它帐户管理和检验操作。网关1108包括存储帐户、配置和其它消息的帐户信息存储区1110。无线部分1104包括电信网络1114和至少一个远端无线计算设备1116。网关1108也接收来自网络1106的消息,并且将它们送到适当的远端计算设备。
例如,远端计算设备1116可以是移动电话、个人数字助理(PDA)或便携式一般用途的计算机。远端无线计算设备1116包括:显示器1118,用于显示信息屏或页;远端无线浏览器1120;和引导按钮1122和1124。远端无线浏览器1120通常是一在远端计算设备1116上执行的应用程序。远端无线浏览器1120提供要显示在显示器1118上的信息屏或页。引导按钮1122和1124使得用户通过它进行引导,或从菜单中或者从显示在远端无线浏览器1120的显示器1118上的列表中进行选择。远端无线计算设备1116也能够包括字母数字键盘(未示出),使得用户能够输入字母数字信息,尽管这是没有必要的因为利用使用引导按钮1122和1124进行选择、使用显示在显示器1118上的拨号(dial)屏幕也能够输入字母数字信息。通过与远端无线浏览器1120的交互,用户能够访问位于网络1106上的信息。按照本发明,移动设备1116的远端无线浏览器1120能够用相当少的等待服务器交互进行操作,当无线部分1104不能够与有线部分1102通信时,这是特别有益的。
通常,无线部分1104将包括多个远端无线浏览器1120,每一个在不同的远端计算设备上执行。存储在帐户信息存储区1110中的配置和其它信息能够存储服务限制、安全限制、预选择内容通道、偏爱信息、屏幕配置信息等用于每个远端无线浏览器1120。帐户信息存储区1110也能够存储远端无线浏览器1120关心的数据或数据的页。存储的数据或页能够作为从网络1106先前请求的信息的高速缓冲存储器操作,或者能够作为网关1108内的信息服务器操作。例如,作为信息服务器,存储页能够表示要由远端无线浏览器显示的页。
在一个实施例中,远端无线浏览器1120理解和显示设计用于移动设备的WML内容类型。WML说明,1998年4月30日的“无线应用协议无线标记语言说明(Wireless Application Protocol Wireless Markup LanguageSpecification)”(WAP WML)在此被引用作参考。
本发明有许多优点。本发明的实施例的几个优点可包括如下。本发明的一个优点是移动设备的操作较少依赖于网络的可利用性。结果,移动设备的用户得到较好的响应并且较少等待。本发明的另一个优点是同步和异步发送均可用于移动设备。本发明的另一个优点是编程者或内容作者能够确定怎样执行引导。即,是使用同步请求还是异步请求。本发明的另一个优点是能够在移动设备上操纵列表,而不用必须支持或被提供需要提供手写的大量资源。本发明的另一个优点是能够获得和保证在移动设备处某些内容通道的出现。
从所写的描述中,本发明的很多特征和优点是明显的,这样,所附的权利要求将覆盖本发明的所有这些特征和优点。此外,由于本领域技术人员容易对其进行很多修改和变化,不希望将本发明限制到所图示和描述的精确结构和操作。因此,所有适当的修改和等效形式可认为落入本发明的范围内。
Claims (44)
1、一种将移动设备的资源请求经无线网络发送到远端服务器的方法,所述方法包括步骤:
(a)接收资源请求,所请求的资源与远端服务器相关联;
(b)确定所请求的资源是同步类型资源请求还是异步类型资源请求;
(c)当所述确定步骤(b)确定资源请求是异步类型资源请求时,在输出队列中放置资源请求并且不等待资源应答;
(d)当所述确定步骤(b)确定资源请求是同步类型资源请求时,执行下列步骤;(d1)确定所述请求资源是否出现在移动设备的本地高速缓冲存储器中;
(d2)当所述确定步骤(d)确定所述请求资源出现在本地高速缓冲存储器中时,从本地高速缓冲存储器提供请求资源;和
(d3)当所述确定步骤(d)确定所述请求资源没出现在本地高速缓冲存储器中时,经无线网络向远端服务器发送资源请求,并且等待资源应答。
2、如权利要求1所述的方法,其中,所述方法还包括:
(e)当所述无线网络是可用时,从输出队列中移去所述资源请求,然后将所述资源请求经无线网络发送到远端服务器。
3、如权利要求2所述的方法,其中,所述方法还包括:
(f)当所述无线网络是可用时,经无线网络在移动设备处接收响应于异步资源请求的资源应答。
4、如权利要求3所述的方法,其中,所述方法还包括:
(g)在高速缓冲存储器中存储所述资源应答。
5、如权利要求1所述的方法,其中,在所述移动设备上执行的应用程序发出资源请求,并且指示该资源请求是同步资源请求还是异步资源请求。
6、如权利要求1所述的方法,其中,所述应用程序是web浏览器,并且所述资源请求参考一通用资源标识符。
7、如权利要求6所述的方法,其中,所述移动设备是移动电话、移动寻呼机、移动个人数字助理和移动计算机中的一种。
8、如权利要求7所述的方法,其中,所述方法还包括:
(e)确定所述无线网络是否可用;和
(f)当所述无线网络是可用时,从输出队列中移去所述异步资源请求,然后将所述异步资源请求经无线网络发送到远端服务器。
9、如权利要求8所述的方法,其中,在所述移动设备上执行的应用程序发出资源请求,并且指示该资源请求是同步资源请求还是异步资源请求。
10、一种通过网络连接到远端服务器的移动设备,所述移动设备包括:
应用程序,在所述移动设备上执行,所述应用程序产生要发送到远端服务器的输出消息;
异步消息队列,存储来自所述应用程序的输出消息,该消息要从所述移动设备发送到远端服务器;和
异步消息管理器,管理从所述异步消息队列经网络到远端服务器的输出消息的发送。
11、如权利要求10所述的移动设备,其中,所述应用程序请求所述输出消息的异步发送。
12、如权利要求11所述的移动设备,其中,所述应用程序不等待接收来自远端服务器响应于所述输出消息的应答消息。
13、如权利要求11所述的移动设备,其中,所述网络包括无线网络。
14、如权利要求13所述的移动设备,其中,所述应用程序是web浏览器。
15、如权利要求14所述的移动设备,其中,所述移动设备是移动电话、移动寻呼机、移动个人数字助理和移动计算机中的一种。
16、如权利要求10所述的移动设备,
其中,所述网络包括无线网络,
其中,所述移动设备还包括:高速缓冲存储器,存储很可能由所述应用程序请求的资源,和
其中,所述输出消息是用于资源的请求。
17、如权利要求10所述的移动设备,
其中,所述网络对于所述移动设备偶尔是不可用的,和
其中,当所述网络对于所述移动设备不可用时,所述异步消息管理器操作以保留存储在所述异步消息队列中的输出消息,然后当所述网络变得对于所述移动设备是可用的时,将存储在所述异步消息队列中的输出消息发送到服务器。
18、如权利要求17所述的移动设备,其中,所述网络包括无线网络。
19、如权利要求10所述的移动设备,
其中,所述输出消息是同步或异步消息,
其中,所述移动设备还包括:同步消息管理器,管理同步消息经网络到远端服务器的发送,
其中,所述异步消息队列存储来自所述应用程序的输出消息,该消息要从所述移动设备发送到远端服务器;和
其中,所述异步消息管理器管理从所述异步消息队列经网络到远端服务器的异步消息的发送。
20、如权利要求19所述的移动设备,
其中,所述网络包括无线网络,
其中,所述应用程序请求所述输出消息的异步发送,
其中,所述应用程序不等待接收来自远端服务器响应于所述输出消息的应答消息。
21、如权利要求10所述的移动设备,
其中,所述网络包括无线网络,
其中,所述输出消息是用于资源的请求,和
其中,所述移动设备还包括:
高速缓冲存储器,存储很可能由所述应用程序请求的资源;
通道管理器,将内容通道从远端服务器经无线网络装入进所述高速缓冲存储器中。
22、如权利要求21所述的移动设备,其中,当所述移动设备被设定或对于用户的请求时,所述通道管理器装入内容通道。
23、如权利要求21所述的移动设备,其中,所述内容通道包括通道资源,
其中,所述通道管理器将所述通道资源存储在所述高速缓冲存储器的保留部分中。
24、如权利要求23所述的移动设备,其中,存储在所述高速缓冲存储器的保留部分中的通道资源被保护避免受到高速缓冲存储器清除或刷新处理。
25、如权利要求21所述的移动设备,
其中,所述网络包括无线网络,
其中,所述输出消息是用于资源的请求,和
其中,所述移动设备还包括:列表管理器,管理在所述移动设备上提供的列表,使得不需通过无线网络与远端服务器交互就能够操纵网络。
26、如权利要求10所述的移动设备,
其中,所述网络包括无线网络,
其中,所述输出消息是用于资源的请求,和
其中,所述移动设备还包括:列表管理器,管理在所述移动设备上提供的列表,使得不需通过无线网络与远端服务器交互就能够操纵网络。
27、如权利要求26所述的移动设备,其中,所述移动设备存储用于列表的列表目标,所述列表目标方便在操纵列表过程中的所述列表管理器。
28、如权利要求27所述的移动设备,
其中,所述列表显示在所述移动设备的显示设备上,和
其中,所述列表目标包括:列表说明,描述列表;多个列表单元,对应于显示列表的每个项目。
29、如权利要求26所述的移动设备,其中,所述移动设备存储用于列表的列表目标,所述列表目标方便在操纵列表过程中的所述列表管理器和相继异步通知远端服务器已经对所述列表进行的操纵。
30、一种用于将内容通道从远端服务器经无线网络存储在移动设备上的方法,该内容通道包括资源,所述方法包括步骤:
(a)接收将内容通道装进移动设备的高速缓冲存储器的指令;
(b)确定该内容通道是否能够适于该移动设备的高速缓冲存储器的保留部分内;和
(c)当所述确定步骤(b)确定该内容通道能够适于该高速缓冲存储器的保留部分内时,将内容通道从远端服务器经无线网络装进高速缓冲存储器的保留部分。
31、如权利要求30所述的方法,其中,所述方法还包括:
(d)根据移动设备上内容通道存储的成功或失败,对移动设备或远端服务器执行自动通知。
32、如权利要求30所述的方法,其中,所述内容通道由通道说明定义。
33、如权利要求30所述的方法,其中,所述高速缓冲存储器的保留部分被保护避免正在高速缓冲存储器的剩余部分中使用的高速缓冲存储器清除或刷新处理,于是保证曾经装入高速缓冲存储器内的内容通道的存在。
34、一种用于操纵驻留在使用无线通信系统的移动设备上的列表的方法,所述方法包括步骤:
(a)在移动设备的显示设备上显示列表,该列表被从描述文件中显示;
(b)在移动设备处接收一列表命令,以修改显示列表;
(c)定位存储在移动设备内的列表目标,该列表目标对应于所述显示列表;
(d)按照所述列表命令修改列表目标;
(e)从列表目标获得描述文件的指针;
(f)按照所述列表指令,至少修改描述文件的一部分。
35、如权利要求34所述的方法,其中,所述步骤(a)到(f)由所述移动设备本地执行,而不需与无线通信系统的远端服务器交互。
36、如权利要求34所述的方法,其中,所述方法还包括:
(g)异步通知远端服务器对所述显示列表进行的修改。
37、如权利要求34所述的方法,其中,所述描述文件是标记语言文件。
38、如权利要求34所述的方法,其中,所述方法还包括:
(g)在所述修改步骤(f)以前,至少使用所述指针定位要修改的描述文件的一部分。
39、如权利要求38所述的方法,其中,描述文件部分的所述定位步骤(g)包括:
(g1)基于指针识别所述描述文件内的目标单元;和
(g2)定位目标单元内要修改的描述文件的部分。
40、如权利要求39所述的方法,其中,所述定位步骤(g2)包括:
获得参考指示符,用于已经修改的列表目标的列表单元;和
搜索目标单元用于参考指示符定位要被修改的描述文件的部分。
41、如权利要求38所述的方法,其中所述修改步骤(f)包括:
按照列表命令编辑要被修改的描述文件的部分。
42、如权利要求34所述的方法,其中,所述修改步骤(f)包括:
按照所述列表指令重新产生描述文件。
43、如权利要求34所述的方法,其中,至少所述列表目标的一部分存储在所述描述文件内。
44、一种包括计算机程序代码的计算机可读介质,该计算机程序代码用于经无线网络向远端服务器发送移动设备的资源请求,所述计算机可读介质包括:
用于接收资源请求的计算机程序代码,该请求的资源与远端服务器相关联;
用于确定该请求的资源是同步类型资源请求还是异步类型资源的计算机程序代码;
用于当该资源请求是异步类型资源请求时,将该资源请求放置在输出队列中,并且不等待资源应答的计算机程序代码;和
用于当该资源请求是同步类型资源请求时,经无线网络向远端服务器发送资源请求,并且等待资源应答的计算机程序代码。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10066398P | 1998-09-16 | 1998-09-16 | |
US60/100,663 | 1998-09-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1249647A true CN1249647A (zh) | 2000-04-05 |
Family
ID=22280894
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 99118872 Pending CN1249647A (zh) | 1998-09-16 | 1999-09-16 | 在网络不可用期间具有改善操作的无线移动设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1249647A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100411380C (zh) * | 2002-08-19 | 2008-08-13 | 万达信息股份有限公司 | 一种网络数据交换中同步与异步间的转换方法 |
CN1856981B (zh) * | 2003-09-24 | 2012-02-15 | 西门子公司 | 在不可用情况之后处理面向连接的ip连接的方法 |
CN104303170A (zh) * | 2012-04-16 | 2015-01-21 | 蒸汽流股份有限公司 | 降低可追溯性的电子消息系统和方法 |
CN106028397A (zh) * | 2016-05-10 | 2016-10-12 | 国网新疆电力公司经济技术研究院 | 高可靠性海量数据无线传输系统 |
CN106656845A (zh) * | 2016-12-21 | 2017-05-10 | 济南浪潮高新科技投资发展有限公司 | 一种采用异步事件驱动实现web服务器负载均衡的方法 |
-
1999
- 1999-09-16 CN CN 99118872 patent/CN1249647A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100411380C (zh) * | 2002-08-19 | 2008-08-13 | 万达信息股份有限公司 | 一种网络数据交换中同步与异步间的转换方法 |
CN1856981B (zh) * | 2003-09-24 | 2012-02-15 | 西门子公司 | 在不可用情况之后处理面向连接的ip连接的方法 |
CN104303170A (zh) * | 2012-04-16 | 2015-01-21 | 蒸汽流股份有限公司 | 降低可追溯性的电子消息系统和方法 |
CN106028397A (zh) * | 2016-05-10 | 2016-10-12 | 国网新疆电力公司经济技术研究院 | 高可靠性海量数据无线传输系统 |
CN106656845A (zh) * | 2016-12-21 | 2017-05-10 | 济南浪潮高新科技投资发展有限公司 | 一种采用异步事件驱动实现web服务器负载均衡的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7751533B2 (en) | Dynamic message templates and messaging macros | |
US6721288B1 (en) | Wireless mobile devices having improved operation during network unavailability | |
CN100338606C (zh) | 用于网络电子函件同步的系统及方法 | |
CN1231843C (zh) | 信息处理装置 | |
US20090164433A1 (en) | Method and System for Managing Search Results in a Communication Network | |
CN1250913A (zh) | 在网络不可用期间提供电子邮件服务的方法和装置 | |
EP2597912A1 (en) | File downloading method and device based on wireless fidelity wifi | |
US20030163552A1 (en) | Document distribution and storagre system | |
CN1677419A (zh) | 消息分发系统、服务器、移动终端、数据存储单元与方法 | |
CN1852309A (zh) | 数据同步处理方法及其客户端 | |
CN101051323A (zh) | 一种字符输入的方法、输入法系统及词库更新的方法 | |
CN1684487A (zh) | 用于处理多种语言的通信系统、设备、装置和方法 | |
CN101860591A (zh) | 一种共享应用程序的方法及装置 | |
CN1991842A (zh) | 用于管理移动终端的图像的装置和方法 | |
CN1285229C (zh) | 获取移动用户状态信息的方法、系统及相应用户识别模块 | |
CN1249647A (zh) | 在网络不可用期间具有改善操作的无线移动设备 | |
WO2004086775A2 (en) | A method and contact list server for modifying the entry names in a contact list | |
JPH0535570A (ja) | コピーされたデータ・オブジエクトの文脈探索の方法 | |
CN104067220A (zh) | 向目的地发送作业 | |
CN1825797A (zh) | 一种通信系统中用户数据更新的方法及系统 | |
CN1477526A (zh) | 便携式终端装置 | |
WO2016107119A1 (zh) | 非结构化补充数据业务菜单的实现方法与装置 | |
JP5529750B2 (ja) | 選択された情報を情報源で見つけるためのセマンティック検索要求を自動的に実行するためのデバイスおよび方法 | |
CN114979284B (zh) | 一种5g消息调度方法、装置及系统 | |
CN114726917B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |