专利名称:具有减少轮询的对基于因特网的应用的移动访问的制作方法
具有减少轮询的对基于因特网的应用的移动访问
背景技术:
本发明涉及借助于移动装置来访问基于因特网的应用,并更具体地涉及使得移动 装置能访问基于因特网的应用而无需持续地轮询该应用以检测状态中的重要改变的方法 和设备。通信服务正在开始出现作为浏览器/AJAX (异步JavaScript和XML)实现来实现。 一个此类服务的示例是meebo. com,其向由多个不同供应商提供的即时消息传递服务提供 基于浏览器的接口。对于Outlook的基于浏览器的接口是另一个示例。此类实现利用AJAX 的XMLHttpRequest特征或其等效物来与服务器通信。设计浏览器-web服务器架构严格根据客户端_服务器关系来操作。浏览器仅作 为客户端来操作,其向服务器发起请求,并因此接收回响应;服务器向浏览器发起通信是不 可能的。为促进今天出现在因特网上的通信服务,客户端持续地轮询服务器,以便它们将 被告知(经由对轮询的响应)任何的状态改变、等待消息、挂起的通信请求和诸如此类。非 实时应用能调度此轮询以低频率发生,但是实时应用(例如聊天应用)需要更加频繁得多 地轮询(例如,每几秒而不是几分钟)。对此频繁轮询的备选解决方案是为轮询提供延迟响 应。在这种情况下,服务器接收请求(轮询),并且如果没有检测到状态改变,其将延迟发送 任何响应直到检测到状态改变或者预定义定时器到期。预定义定时器需要足够短以不使代 理和诸如此类超时并因此拆除连接。meebo. com示例中使用的定时器是30秒。这种布置在宽带访问上执行得非常好;每30秒的轮询在这种访问类型上不产生 任何问题,而且延迟响应策略意味着对于在对浏览器的响应消息中输送通信请求不存在内 置等待时间。当经由蜂窝通信技术来访问应用时,上述解决方案工作得不是一样好。一个问题 是服务器的频繁轮询消耗了无线电资源和电池能量。另外,每次轮询导致在允许终端转到 睡眠之前,终端的无线电接口对于大量时间(约为10秒-2分钟)停留在资源消耗状态中。 这进一步增加了无线电资源的消耗并耗尽终端的电池。因此使终端在网络中轮询状态不是 在浏览器环境中实现通信服务的有效方法。因此合乎需要的是提供一种机制,其中,移动终端能利用基于因特网的应用并及 时获得状态中的改变和/或其他应用提供的信息而不需要频繁轮询应用。
发明内容
应该强调的是,术语“包括”和“包括……的”当在本说明书中使用时,用来指定所 述特征、整体、步骤或组件的存在;但这些术语的使用不排除一个或多个其他特征、整体、步 骤、组件或它们的组的存在或添加。根据本发明的一方面,在移动电信系统内操作的用户设备中提供服务的方法和设 备中,完成上述或其他目标。在一些实施例中,提供涉及在用户设备中运行客户端应用实例 的服务,其中客户端应用实例借助于包括轮询的协议经由网络和远程放置的服务器应用来交互。客户端应用实例能例如是浏览器应用实例。发送消息到服务器应用,其中到服务器 应用的所述消息包括唯一地标识用户设备和唯一地标识用户设备内的客户端应用实例的 推送(PUSH)地址。随后接收到包括客户端应用实例的标识符的推送。响应于所接收的推 送,向客户端应用实例通知所接收的推送。响应于推送通知,客户端应用实例经由网络发送 轮询消息到服务器应用。客户端应用实例接收对轮询消息的响应,其中该响应包括和服务 相关的信息。到服务器应用的消息能例如是HTTP请求。在另一方面,在发送消息到服务器之后,但是在接收包括客户端应用实例的标识 符的推送之前,能在睡眠模式中操作客户端应用实例。在一些此类实施例中,响应于接收包括客户端应用实例的标识符的推送,能导致 客户端应用实例离开睡眠模式。响应于检测的动作(由用户设备的用户发起),也能导致客 户端应用实例离开睡眠模式。在另一方面,与本发明一致的实施例中服务器应用的操作包括借助于包括轮询的 协议经由网络与远程放置的客户端应用实例交互。在某个点,从客户端应用实例接收消息, 其中该消息包括唯一地标识移动电信系统中的用户设备并且唯一地标识运行在用户设备 中的客户端应用实例的推送地址。客户端应用实例能例如是浏览器应用实例。消息能例如 是HTTP请求。在某个点,服务器应用然后确定应该向客户端应用实例供应应用有关的信 息,并且响应于此向移动电信系统中的推送服务器发送推送请求,其中推送请求包括唯一 地标识移动电信系统中的用户设备并且唯一地标识运行在用户设备中的客户端应用实例 的推送地址。服务器应用随后接收来自客户端应用实例的轮询消息,并且响应于此经由用 户设备连接到的网络向客户端应用实例发送应用有关的信息。在与本发明一致的实施例的另一方面,服务器应用的操作包括,在接收来自客户 端应用实例的消息后,但是在确定应该向客户端应用实例供应应用有关的信息前,接收到 来自客户端应用实例的轮询请求并且响应于此执行丢弃唯一地标识移动电信系统中的用 户设备并且唯一地标识运行在用户设备中的客户端应用实例的推送地址;并且在以下模式 中操作服务器应用其中,不发送包括唯一地标识移动电信系统中的用户设备并且唯一地 标识运行在用户设备中的客户端应用实例的推送地址的推送请求到推送服务器,即使应该 向客户端应用实例供应应用有关的信息。
通过连同图来阅读以下具体实施方式
,将理解本发明的目标和优点,其中图1是其中正在运行一个或多个浏览器应用实例的用户设备(例如,移动终端) 的框图。图2是通过根据本发明的方面的各种组件执行的步骤/过程/动作的流程图。
具体实施例方式现在将参照图来描述本发明的各种特征。其中用相同的引用字符来标识相似的部 分。现在将结合多个示例实施例更详细地描述本发明的各方面。为促进对本发明的理解,按照动作的序列来描述本发明的许多方面,这些动作的序列将通过计算机系统的元件 或能够执行编程的指令的其他硬件来执行。将认识到,在每个实施例中,能通过专用电路 (例如,互相连接以执行专用功能的离散逻辑门)、通过由一个或多个处理器执行的程序指 令、或者是通过两者的结合来执行各种动作。此外,还能认为本发明完全体现在计算机可读 载体的任何形式内,例如固态存储器、磁盘、光盘(例如射频、音频频率或光学频率载波), 这些载体包括将导致处理器执行所述技术的合适的计算机指令集合。因此,可以在许多不 同形式中体现本发明的各个方面,并且设想所有此类形式在本发明的范围内。对于本发明 的各个方面的每一个,任何此类形式的实施例在本文中可称为“配置成”执行所述动作的 “逻辑”,或者备选地称为执行所述动作的“逻辑”。在和本发明一致的实施例的一方面中,通过利用推送功能性,基本上消除了对于 移动终端或者其他装置频繁地轮询基于因特网的应用以便及时获得状态改变或者其他应 用提供的信息的要求,而推送功能性是在移动网络中可用的能力。更具体地说,提供了允许 移动浏览器连接到运行该浏览器的移动终端中可用的推送功能性的机制。浏览器中运行的 应用告知服务器,该应用正在停止对信息进行轮询,并预期它(即,浏览器中运行的应用) 将经由推送功能性被通知更新的信息和/或者新的信息现在可用。然后浏览器中运行的应 用能将轮询消息发送到服务器以便请求更新的和/或者新的信息。在另一方面,这个机制提供了要提供到服务器的推送地址,其中推送地址标识运 行在移动终端中的具体浏览器实例。然后,当服务器有要给客户端的信息时,它能使用推送 地址经由推送服务将通知路由到浏览器实例。这些和其他方面在以下描述中更详细地来描述。
背景技术:
部分中描述的传统客户端/服务器布置是被称为拉出(PULL)技术的示 例,客户端由此请求来自服务器的服务或信息,服务器然后通过将请求的信息或者服务相 关的数据传送到客户端来响应。以此方式,由客户端将信息从服务器“拉出”。形成对比的是,与本发明一致的实施例中采用的机制采用推送技术。推送技术提 供用于一个装置(例如,服务器)将信息传送到一个或多个其他装置而没有来自那些一个 或多个其他装置的以前的请求或其他动作的机制。推送技术已经在所谓的第二代(“2G”)移动电信装置(例如,借助于无线应用协 议-“WAP”推送)中和所谓的第三代(“3G”)移动电信装置(例如,借助于会话发起协 议-“SIP”推送)中变得可用。这些或任何相似的布置能在和本发明一致的实施例中采用。图1是用户设备(例如移动终端)101的框图,该设备中正在运行一个或多个浏 览器应用实例103。用户设备101在移动运营商域105内操作,但是能借助于网络地址转换 器(NAT) /防火墙109与应用服务提供商域107内操作的其他实体通信。NAT/防火墙是网 络领域中普遍公知的组件,并因此不需要在本文详细描述。web服务器111位于应用服务提供商域107中。web服务器包括和运行web应用 113。浏览器应用实例103和web应用113能经由连接它们的网络来彼此通信,并且在常规 操作模式中承担各自的客户端/服务器角色。避免与常规客户端/服务器布置相关的恒定轮询是合乎需要的。因而,根据与本 发明一致的实施例的一方面,web应用包括接口 115,信息通过接口 115能在浏览器应用实 例103和应用核心117之间流动。应用核心117执行特定于web应用113的功能性。
相关的还有位于移动终端100中的推送实体119,和位于移动运营商域105中的推 送服务器121,并且推送服务器121从应用服务器提供商域107可达(例如,能与之通信)。 这些组件和其他组件现在将借助于其功能性来描述。此描述将不仅涉及图1,还涉及图2, 图2是由各种组件执行的步骤/过程/动作的流程图。图2示出用户设备101、web应用113和推送服务器121中的每一个中执行的步骤 /过程/动作。通过实线示出在这些元件的任何一个中的控制流程,而借助于虚线示出这些 组件之间的交互。为了开始,在用户设备101内启动web应用(步骤201),例如借助于由用户设备 101的用户执行的动作。这以例如浏览器实例的形式创建客户端应用实例,并且还导致web 应用113将此客户端应用实例建立为客户端(步骤203)。客户端应用实例和web应用113之间的交互最初是常规的客户端应用实例向 web应用113发送轮询消息,并且web应用以最当前的可用信息(例如,定义服务的网页/ 脚本)来响应这些轮询消息(步骤205、207)。因为这是具有持续地但不常改变的信息的服 务,所以它包括用于轮询应用服务器的功能性,并且还包括用于何时停止轮询和转到睡眠 的策略。在某个点,客户端应用实例根据应用输送的策略而检测到它应该停止向服务器轮 询改变的信息和它反而应该进入操作的睡眠模式。为执行此操作,客户端应用实例请求推 送实体119供应移动推送地址和客户端实例标识符。移动推送地址和客户端实例标识符使 得对于web服务器111接触(经由推送操作)运行在用户设备101中的此特定客户端应用 实例成为可能。当获得这些(步骤209)时,用户设备101发送消息到web应用113,其中 该消息包括唯一地标识用户设备和唯一地标识用户设备内的客户端应用实例的推送地址 (步骤211)。响应于检测到消息的接收(出自判定框213的“是”路径),web应用113停 止预期来自此客户端应用实例的进一步轮询,并且反而储存推送信息。web应用113还能发 送确认(例如,“2000K”)到客户端应用实例以确证操作模式中的改变。在这点,客户端应用实例在睡眠模式中操作(步骤215),其中它不执行轮询。相 反,web应用113执行自我监视以确定是否它需要通知客户端应用实例关于应该发送到客 户端应用实例的状态改变(判定框217)。同时,当接收到推送通知或者用户又开始和服务 交互时,客户端应用实例将离开睡眠模式。客户端应用实例101因此对于这些事件的发生 进行监视(判定框219)。例如,如果用户又开始与服务交互(出自判定框219的“是”路径),客户端应用 实例返回常规客户端/服务器轮询操作模式(步骤205)。当接收到轮询请求时,web应用 113丢弃保存的推送信息并且也返回常规客户端/服务器轮询操作模式(步骤207)。备选的是,如果web应用113检测到应用核心117已经生成应该发送到客户端应 用实例的状态改变(出自判定框217的“是”路径),则它检索以前储存的推送信息,并使用 该信息来生成推送请求,该请求被发送到推送服务器121 (步骤221)。该推送请求包括唯一 地标识移动电信系统中的用户设备和唯一地标识用户设备中运行的客户端应用实例的推 送地址。web应用113然后返回常规客户端/服务器轮询操作模式(步骤207),并因此等 待轮询消息。当检测到推送请求的接收(出自判定框223的“是”路径)时,推送服务器121将推送通知发送到由推送地址指示的目的地(步骤225)。推送通知包括客户端应用实例标识 符。推送通知由用户设备101内的推送实体119接收。推送实体119使用客户端应用 实例标识符来确定推送通知应该被引导到哪一个客户端应用实例(可能有不止一个)。当检测到推送通知的接收(出自判定框219的“是”路径)时,客户端应用实例重 新进入常规客户端/服务器轮询操作模式(步骤205),并因此将轮询消息发送到web应用 113。响应于轮询消息的接收,web应用113将更新的信息发送到客户端应用实例。处 理然后如上所述地继续(例如,客户端应用实例可能在某个点又进入睡眠模式并且响应于 推送通知而醒来)与本发明一致的实施例提供了将对于应用开发的浏览器的高灵活性和用移动网 络中现有和开发的推送机制来接触那个环境的能力相结合的益处,因而避免了无线电和电 池资源的过度使用。本发明已参照特定实施例进行描述。然而,对于本领域技术人员,将容易明白,在 不同于上述那些实施例的具体形式中实施本发明是可能的。例如,上述实施例以旨在有利于描述的方式划分特定的功能(例如,提供单独的 应用接口和应用核心组件)。然而,这些实施例仅是说明性的,并不旨在指示要求这些功能 的实现。因此,所述实施例仅是说明性的,且不应以任何方式认为是限制性的。本发明的范 围由随附的权利要求而不是前面的描述来给出,并且落入权利要求范围内的所有变化和等 效物旨在被涵盖在其中。
权利要求
一种在移动电信系统内操作的用户设备中提供服务的方法,所述方法包括在所述用户设备中运行客户端应用实例,其中所述客户端应用实例借助于包括轮询的协议经由网络与远程放置的服务器应用交互;发送消息到所述服务器应用,其中到所述服务器应用的所述消息包括唯一地标识所述用户设备和唯一地标识所述用户设备内的所述客户端应用实例的推送地址;接收包括所述客户端应用实例的标识符的推送,并且响应于所述推送向所述客户端应用实例通知所接收的推送;响应于所述推送通知,所述客户端应用实例经由所述网络将轮询消息发送到所述服务器应用;并且所述客户端应用实例接收对所述轮询消息的响应,其中所述响应包括与所述服务相关的信息。
2.如权利要求1所述的方法,其中到所述服务器应用的所述消息是HTTP请求。
3.如权利要求1所述的方法,包括在发送所述消息到所述服务器之后,但是在接收包括所述客户端应用实例的标识符的 所述推送之前,在睡眠模式中操作所述客户端应用实例。
4.如权利要求3所述的方法,包括使所述客户端应用实例响应于接收到包括所述客户端应用实例的标识符的所述推送 而离开所述睡眠模式。
5.如权利要求3所述的方法,包括使所述客户端应用实例响应于检测的动作而离开所述睡眠模式,所述检测的动作由所 述用户设备的用户发起。
6.如权利要求1所述的方法,其中所述客户端应用实例是浏览器应用实例。
7.一种操作服务器应用的方法,所述方法包括借助于包括轮询的协议经由网络与远程放置的客户端应用实例交互; 接收来自所述客户端应用实例的消息,其中所述消息包括唯一地标识移动电信系统中 的用户设备和唯一地标识所述用户设备中运行的所述客户端应用实例的推送地址;确定应用有关的信息应该供应到所述客户端应用实例,并且响应于所述确定而将推送 请求发送到所述移动电信系统中的推送服务器,其中所述推送请求包括唯 一地标识所述移 动电信系统中的所述用户设备和唯一地标识所述用户设备中运行的所述客户端应用实例 的所述推送地址;并且随后接收来自所述客户端应用实例的轮询消息,并且响应于所述轮询消息经由所述用 户设备连接到的网络将所述应用有关的信息发送到所述客户端应用实例。
8.如权利要求7所述的方法,其中来自所述客户端应用实例的所述消息是HTTP请求。
9.如权利要求7所述的方法,其中所述客户端应用实例是浏览器应用实例。
10.如权利要求7所述的方法,包括在接收来自所述客户端应用实例的所述消息之后,但是在确定应用有关的信息应该供 应到所述客户端应用实例之前,接收到来自所述客户端应用实例的轮询请求,并且响应于 所述轮询请求而执行丢弃唯一地标识所述移动电信系统中的所述用户设备和唯一地标识所述用户设备中运行的所述客户端应用实例的所述推送地址;并且在某个模式中操作所述服务器应用,在所述模式中,不发送推送请求到所述推送服务 器,即使应用有关的信息应该供应到所述客户端应用实例,所述推送请求包括唯一地标识 所述移动电信系统中的所述用户设备和唯一地标识所述用户设备中运行的所述客户端应 用实例的所述推送地址。
11.一种用于在移动电信系统内操作的用户设备中提供服务的设备,所述设备包括 在所述用户设备中运行客户端应用实例的逻辑,其中所述客户端应用实例借助于包括轮询的协议经由网络与远程放置的服务器应用交互;发送消息到所述服务器应用的逻辑,其中到所述服务器应用的所述消息包括唯一地标 识所述用户设备和唯一地标识所述用户设备内的所述客户端应用实例的推送地址;接收包括所述客户端应用实例的标识符的推送、并且响应于所述推送向所述客户端应 用实例通知所接收的推送的逻辑;导致所述客户端应用实例响应于所述推送通知经由所述网络将轮询消息发送到所述 服务器应用的逻辑;以及导致所述客户端应用实例接收对所述轮询消息的响应的逻辑,其中所述响应包括与所 述服务相关的信息。
12.如权利要求11所述的设备,其中到所述服务器应用的所述消息是HTTP请求。
13.如权利要求11所述的设备,包括在发送所述消息到所述服务器之后、但是在接收包括所述客户端应用实例的标识符的 所述推送之前导致所述客户端应用实例进入操作的睡眠模式的逻辑。
14.如权利要求13所述的设备,包括导致所述客户端应用实例响应于接收包括所述客户端应用实例的标识符的所述推送 而离开所述睡眠模式的逻辑。
15.如权利要求13所述的设备,包括导致所述客户端应用实例响应于检测的动作而离开所述睡眠模式的逻辑,所述检测的 动作由所述用户设备的用户发起。
16.如权利要求11所述的设备,其中所述客户端应用实例是浏览器应用实例。
17.一种用于操作服务器应用的设备,所述设备包括借助于包括轮询的协议经由网络与远程放置的客户端应用实例交互的逻辑; 接收来自所述客户端应用实例的消息的逻辑,其中所述消息包括唯一地标识移动电信 系统中的用户设备和唯一地标识运行在所述用户设备中的所述客户端应用实例的推送地 址;确定应用有关的信息应该供应到所述客户端应用实例、并且相应于所述确定将推送请 求发送到所述移动电信系统中的推送服务器的逻辑,其中所述推送请求包括唯一地标识所 述移动电信系统中的所述用户设备和唯一地标识运行在所述用户设备中的所述客户端应 用实例的所述推送地址;以及接收来自所述客户端应用实例的后续轮询消息、并且响应于所述后续轮询消息经由所 述用户设备连接到的网络将所述应用有关的信息发送到所述客户端应用实例的逻辑。
18.如权利要求17所述的设备,其中来自所述客户端应用实例的所述消息是HTTP请求。
19.如权利要求17所述的设备,其中所述客户端应用实例是浏览器应用实例。
20.如权利要求17所述的设备,包括执行以下操作的逻辑在接收来自所述客户端应用实例的所述消息之后,但是在确定 应用有关的信息应该供应到所述客户端应用实例之前,接收来自所述客户端应用实例的轮 询请求,并且响应于所述轮询请求而执行丢弃唯一地标识所述移动电信系统中的所述用户设备和唯一地标识运行在所述用户 设备中的所述客户端应用实例的所述推送地址;并且在某个模式中操作所述服务器应用,在所述模式中,不发送推送请求到所述推送服务 器,即使应用有关的信息应该供应到所述客户端应用实例,所述推送请求包括唯一地标识 所述移动电信系统中的所述用户设备和唯一地标识运行在所述用户设备中的所述客户端 应用实例的所述推送地址。
全文摘要
在移动电信系统内操作的用户设备(UE)中提供服务涉及,在UE中运行客户端应用实例(CAI),其中CAI借助于包括轮询的协议经由网络和远程放置的服务器应用交互。发送消息到服务器应用,该消息包括唯一地标识UE和UE内的CAI的推送地址。服务器应用停止轮询活动,并且反而当有更新的信息要供应到CAI时发起推送请求。UE随后接收包括CAI的标识符的推送,并因此向CAI通知接收到的推送。CAI通过经由网络发送轮询消息到服务器应用来响应。服务器应用发送对轮询消息的响应,该响应包括与服务相关的信息。
文档编号H04L29/06GK101889424SQ200880119921
公开日2010年11月17日 申请日期2008年10月23日 优先权日2007年12月4日
发明者J·卡尔森, P·威拉斯 申请人:爱立信电话股份有限公司