背景技术
一般来说,诸如移动电话和手持设备等移动设备利用通信网络来与其他移动设备和/或计算机设备交换数据。在一典型实施例中,移动设备能利用无线通信网络,以及各种网络协议来发送和接收数据。在这种实施例中,移动设备能保持连续,或半连续无线连接以允许具有移动设备的用户接收和发送电子邮件。随着计算设备处理资源和无线网络通信带宽持续增加,使用无线使能移动设备接收/发送电子邮件显著增多。
图1是表示用于便于通过蜂窝通信网络将电子邮件数据发送到移动设备的系统100的框图。系统100通常被称为“推”数据模型,其中在接收数据时,诸如电子邮件消息等数据被发送到客户机。参考图1,系统100包括诸如移动电话、手持设备等包括一些形式的无线(例如蜂窝)传输能力的多个客户机102。如图1所示,每个移动设备102与若干移动设备运营商104中的一个通信。一般来说,移动设备运营商104是维护与多个移动设备102的基于射频的通信的业务供应方。移动设备102和移动设备运营商104之间诸如通过蜂窝通信网络的无线通信是非常公知的,从而将不作更详细地描述。
继续参考图1,每一移动设备运营商104还与数据业务供应方106通信。典型的数据业务供应方106可以是配置成发送对应于所标识的移动用户的消息的服务器计算机。如在下文更详细所述,数据业务供应方106对引入数据(例如电子邮件消息)进行监视并将该数据推至相应的移动运营商104以便发送到所选移动设备102。数据业务供应方106和移动运营商104之间的网络连接可以通过无线通信网络和/或有线通信网络。数据业务供应方106还与多个电子邮件接口计算设备108通信。电子邮件接口计算设备108通常对应于用作本地网络邮件储存库10与数据业务供应方106之间的接口的专门配置的计算设备。
实际上,当在网络邮件储存库110处接收诸如新电子邮件等更新的信息时,电子邮件接口计算设备108获得该邮件的副本并将一通知转发给数据业务供应方106。数据业务供应方106处理该引入消息通知并标识要接收该邮件的移动设备102。然后,数据业务供应方106将一通知和/或该邮件转发给相应的移动运营商104,由其将该信息发送到所选移动设备102。
在该方法中,移动设备102在数据业务供应方106接收到数据时接收通知/数据。尽管该方法向移动设备102提供实时、或基本实时的数据传输,但要求多个专用计算设备应用和/或专用业务关系。例如,在典型的实施例中,要求每一本地网维护电子邮件接口计算设备108以便将引入消息通知转发给数据业务供应方106。另外,系统100要求集中的信息收集和分发中心(例如数据提供商106),这通常会向每一移动设备用户收取业务费。另外,这一方法要求数据业务供应方106维护与多个移动运营商的适当的通信接口,诸如专用软件和专用业务关系,以便允许数据业务供应方发起与所选移动设备102的联系。
图2是表示用于便于通过蜂窝通信网络将电子邮件数据发送到移动设备的替换系统200的框图。系统200通常被称为“拉”数据模型,其中诸如电子邮件消息等数据是响应于客户机对新数据的请求被发送到诸如移动设备等客户机的。与系统100(图1)类似,系统200包括具有某些形式的无线传输能力(例如蜂窝通信能力)的多个移动设备客户机202。每个移动设备202与若干个移动设备运营商204中的一个无线通信。另外,移动设备202还能通过诸如在IEEE 802.11通信标准中所定义的短程无线连接来建立网络通信。
在两个实施例中,移动设备运营商204和每个移动设备202间的无线通信链路不是用于传输电子邮件消息的专用通信链路。相反,该通信链路是使用诸如互联网等广域网206的传统数据传输通信链路。例如,在一个常见实施例中,无线使能移动设备202能根据传输控制协议(TCP)/网际协议(IP)协议跨互联网地发送数据。移动设备202利用网络连接206直接与本地电子邮件接口计算设备208连接。
实际上,移动设备202通常通过安全数据传输协议与电子邮件接口计算设备208建立通信链路。然后,移动设备202将接收任何更新消息(例如新电子邮件)的请求直接发送到电子邮件接口计算设备208。如果存在该移动设备用户的新数据,则电子邮件接口计算设备208生成指示移动设备102从电子邮件接口计算设备208拉出该数据的适当应答。如果不存在新数据,则电子邮件接口计算设备208生成对请求移动设备202的否定应答。一旦该移动设备请求被处理,移动设备202和电子邮件接口计算设备208之间的通信链路就被终止。
通过允许移动设备202与电子邮件接口计算设备208之间经由网络连接的直接通信信道,系统200减轻了对用于每个本地网络和每个移动运营商204的专用软件/计算设备的需要。然而,由于在接收到数据时该引入数据不会被同时递送,从而使用“拉”数据模型的传统系统变得有缺陷。尽管该缺陷可以通过增大移动设备204生成上述数据变更请求的频率来减小,但用于在移动设备204与电子邮件接口计算设备208之间建立通信链路的典型技术消耗来自移动设备的电力资源。例如,如果移动设备204没有与移动运营商的良好数据连接,对新数据的重复请求将没有必要地消耗服务的电力资源。
因此,存在对便于计算设备与网络应用之间的通信的系统和方法的需求,该通信可在接收到数据的同时递送该引入数据通知,同时还能平衡地减轻计算设备的电力资源消耗。
附图说明
当结合附图时,通过参考以下具体说明本发明的上述方面和许多附带优点将变得更易于认识并能被更好地理解,其中:
图1是根据推数据模型便于通过蜂窝通信网络将电子邮件数据发送到移动设备的系统的框图;
图2是根据拉数据模型便于通过蜂窝通信网络将电子邮件发送到移动设备的系统的框图;
图3A是示出了根据本发明的一个方面由移动设备生成包括超时间隔的数据变更请求的图2的系统的框图;
图3B是示出了根据本发明的一个方面由网络应用发送数据变更通知的图2的系统的框图;
图3C是示出了根据本发明的一个方面由网络应用发送超时间隔期满通知的图2的系统的框图;
图3D是示出了根据本发明的一个方面由移动设备处理超时间隔期满的图2的系统的框图;
图4是表示根据本发明的一个方面由移动设备客户机实现的数据变更请求传输和监视例程的流程图;
图5A是表示根据本发明的一个方面由移动设备客户机实现的超时间隔调整子例程的流程图;
图5B是表示根据本发明的一个方面由移动设备客户机实现的成功请求调整子例程的流程图;
图5C是表示根据本发明的一个方面由移动设备客户机实现的替换性成功请求调整子例程的流程图;
图5D是表示根据本发明的一个方面由移动设备客户机实现的网络超时调整子例程的流程图;以及
图6是表示根据本发明由网络应用实现的客户机数据变更请求处理例程的流程图。
具体实施方式
一般而言,本发明涉及用于最优化客户机设备和网络应用间的通信的系统和方法。更具体地说,本发明针对用于最优化移动设备与网络应用之间通过无线网络的通信的系统和方法。将根据包含其中移动设备请求来自网络应用的电子邮件消息形式的数据变更信息的拉数据模型的体系结构来描述本发明。另外,将关于用以维持移动设备与网络应用间的通信链路的超时间隔的利用来描述本发明。尽管将关于移动设备、无线通信网络和/或电子邮件传输对本发明进行说明,但相关领域的技术人员将意识到所公开的实施例本质上是示例性的,而不应当解释为限制性。
在本发明的示例性实施例中,可以利用诸如系统200(图2)等实现拉数据模型的系统来便于诸如移动设备202等客户机与诸如电子邮件接口计算设备208等网络应用之间的信息传输。移动设备202和电子邮件接口计算设备208通过诸如互联网等典型的网络数据连接206来发送信息。可以通过移动设备运营商204(例如,经由无线通信链路的数据连接)或经由对网络的直接无线连接(例如,蓝牙协议无线连接)来便于从网络206到移动设备202的连接。
根据本发明,移动设备向电子邮件接口计算设备208发出数据变更请求。数据变更请求可包括对已经到达电子邮件接口计算设备208的新数据(例如新电子邮件消息)的注册请求和超时间隔。超时间隔指定要求电子邮件接口计算设备208在其间提供对新数据注册请求的肯定或否定应答的时间。与传统的数据变更请求不同,如果无新数据可用,电子邮件接口计算设备208并不对数据变更请求提供即时应答。事实上,电子邮件接口计算设备208维持与移动设备202的通信链路直到检测到信息变更(例如,新电子邮件到达)或超时间隔期满为止。在发生任一事件后,电子邮件接口计算设备208向移动设备202发送适当应答。进而,移动设备202能根据各种网络条件来更新超时间隔并发送具有更新后的超时间隔的后续数据变更请求。根据网络条件变换来更新超时间隔的能力有助于电力资源的消耗维护。
参考图3A至3D,将对根据本发明的用于处理具有超时间隔的客户机请求的各个实施例进行说明。参考图3A,通过由移动设备上的客户机生成注册请求和超时间隔来发起该过程。在本发明的所示实施例中,注册请求可包括注册客户机希望接收的信息的类型和诸如通知喜好、客户机认证信息等各种配置信息。如下文更详细所述,超时间隔可以是固定时间段或允许计算超时间隔的准则集的形式。超时间隔可以是由移动设备客户机应用、移动设备运营商204和电子邮件接口计算设备208设置的缺省时间段。
在一典型实施例中,移动设备运营商204可以维护通信网络超时间隔,即如果不向/从移动设备202发送数据,将导致通信链路丢失。网络指定超时可以取决于各种网络通信设备(例如,交换机等),并可根据通信网络的各个部分而变化。另外,网络指定超时可以根据时刻和/或网络负荷而变化。通常,网络指定超时可能不为移动设备200所知或可以改变。因此,根据本发明的一个方面,当与网络的通信链路被认为“良好”时,移动设备202可通过调节移动设备指定超时间隔以达到网络指定超时间隔来发现最当前的网络指定超时间隔。根据本发明的另一方面,当与网络的通信链路被认为“较差”时,移动设备202可尝试最小化超时间隔以便更易于解决通信故障。注册请求和超时间隔是通过网络206被发送的并由电子邮件接口计算设备208或电子邮件接口计算设备208上的专用应用来接收。
在处理注册请求时,电子邮件接口计算设备208将用于接收所有请求信息的移动设备客户机注册为已授权。如上所述,在当前该注册客户机没有新数据时,电子邮件接口计算设备208并不自动向移动设备202发送否定应答。而是由于数据变更请求仍然未决从而并不立即终止通信链路。
现在参考图3B,在一个实施例中,电子邮件接口计算设备208接收到需要传送至移动设备202的已经发生数据变更的通知。在本发明的所示实施例中,该通知可包括来自诸如电子邮件服务器/客户机等电子邮件储存库的对应于移动设备202的用户已经接收到一新电子邮件的通知。电子邮件接口计算设备208通过网络206将新数据可用的通知发送到移动设备202。在本发明的所示实施例中,该通知可包括可以被用户和/或移动设备用来确定是否将检索该数据的描述信息或其他准则。如果将检索该数据,则移动设备202根据将不作更具体的描述的诸如超文本传输协议(“HTTP”)等传统和公知数据协议将数据检索请求发送到电子邮件接口计算设备208。一旦已经检索到数据,可通过由移动设备202发送新的数据注册请求和超时间隔来重复图3A中所示的过程。
现在参考图3C,在另一实施例中,电子邮件接口计算设备208继续监视每个注册移动设备客户机自最后一次通信起已经过的时间段。如果电子邮件接口计算设备208检测到注册客户机的超时间隔已经期满,则将超时间隔已经期满和未接收到新数据通知的通知发送到移动设备202。通过发送超时间隔期满通知,电子邮件接口计算设备208防止与移动设备202的通信链路被移动设备运营商204终止或丢失。
如在下文将更详细地描述,在接收超时间隔期满通知时,移动设备202可以更新先前的超时间隔。在本发明的所示实施例中,移动设备202通过测量或观察各种网络条件的一个来更新超时间隔。然后,移动设备202基于所测量或观察到的网络条件和/或先前观察到的网络条件的历史来确定是否应该调节超时间隔。一旦调整或调节了超时间隔,移动设备202就通过网络206发送具有更新后的超时间隔的新注册请求。电子邮件接口计算设备208获得该新请求并用该更新后的超时间隔来重复注册过程和超时计时测量。
现在参考图3D,在又一实施例中,移动设备202还监视自发送先前注册请求起所期满的时间。如果移动设备202检测到超时间隔期满并且还未从电子邮件接口计算设备208接收到新数据通知,则假定通信链路已意外终止(例如,网络故障)或者被终止(例如,基于网络超时间隔期满的网络超时)。在一个实施例中,如果终止是基于通信网络超时,则移动设备202更新超时间隔并通过网络206发送具有该更新后的超时间隔的注册请求。电子邮件接口计算设备208获得该新的请求并用该更新后的超时间隔重复注册过程和超时计时测量。如上所述,移动设备202还将监视与新请求相关联的该更新后的超时间隔。在另一实施例中,如果终止不是基于通信网络超,则移动设备202尝试重试通信。
参考图4,将对表示根据本发明由移动设备202实现的、发送和监视对电子邮件接口计算设备208的数据变更请求的例程400的流程图进行说明。在块402,移动设备将注册请求和超时间隔发送到电子邮件接口计算设备208。在本发明的所示实施例中,注册请求可以对应于选择移动设备可能希望从其接收更新信息的一个或多个数据类型、特定数据,或应用程序。例如,注册可以指示用户希望在接收到新的电子邮件时或在一特定文档已经更新时接收通知。注册请求还可以对应于诸如规则或关键字等用于选择向移动设备发送哪一数据的准则。注册请求还可包括接收更新信息所需的证书或其它认证信息。
根据本发明的所示实施例,超时间隔信息可以包括对固定期满时间段或将被添加到当前时刻的时长的说明。或者,可以根据便于生成超时时间段或期满时间段的选择准则来指定超时间隔信息。在块404,移动设备202开始测量自移动设备202发送注册请求或电子邮件接口计算设备208接收到该注册请求起所期满的时间的超时计时。可以各种方式的任何一种来测量所期满的时间。
在决策块406,进行确定移动设备202是否已经从电子邮件接口计算设备208接收到数据变更通知的测试。如果移动设备202已接收到数据通知,则在块408,移动设备将数据请求发送到电子邮件接口计算设备208。在本发明的所示实施例中,数据请求对应于诸如HTTP数据请求等对来自电子邮件接口计算设备208的实际数据的请求。在块410,移动设备202从电子邮件接口计算设备208获得所请求的数据。然后,例程400进入块416以调整先前所设的超时间隔,这将在下文作更详细的描述。或者,例程400可以返回到块402以发送新数据注册请求,而不调整超时间隔。
返回到决策块406,如果移动设备202还未从电子邮件接口计算设备208接收到数据变更通知,则在决策块412,则进行确定移动设备是否已经从电子邮件接口计算设备208接收到超时间隔期满通知的测试。如果已经接收到超时间隔期满通知,则例程400进入块416,这将在下文作更详细的描述。
返回到决策块412,如果移动设备还未从电子邮件接口计算设备208接收到超时间隔期满通知,则在决策块414,进行确定是否已经检测到网络超时错误的测试。如上所述,在块404,移动设备测量自发送注册请求起所期满的时间。如果移动设备202检测到超时间隔已经期满,则可以假定电子邮件接口计算设备208已经不能发送超时间隔期满通知和/或与电子邮件接口计算设备208的通信链路已经期满。在本发明的所示实施例中,移动设备202可将超时间隔期满表征为基于网络的超时间隔或通信网络故障(例如,丢失呼叫)。
如果移动设备202确定接收数据变更请求和/或超时间隔通知失败是基于网络超时,则例程400进入块416,以调整先前所设的超时间隔。将关于例程500(图5)更详细地描述块416。一旦已经调整好超时间隔,例程400就返回到块402,其中移动设备发送具有调整后的超时间隔的新注册请求。如果,如果移动设备202确定接收数据变更请求和/或超时间隔通知失败不是基于网络超,则移动设备202进入尝试与通信网络重新建立通信的重试通信模式。然后,例程400返回到块402。
现在参考图5,将对对应于块416(图4)并由移动设备202实现的用于调整超时间隔的示例性子例程500进行说明。在本发明的所示实施例中,超时间隔的调整对应于基于网络通信事件(例如,连续调整事件)的研究对网络通信强度的确定。进而,根据所检测到的通信质量来调整超时间隔。转到子例程500,在块502,移动设备202获得最近通信请求的结果。出于调整超时间隔的目的,最近通信请求的结果可包括接收到数据变更通知、接收到超时间隔期满通知或检测到通信网络超时。
在决策块504,进行确定最近通信结果是否成功的测试。在本发明的所示实施例中,成功通信结果包括从电子邮件接口计算设备208接收到超时间隔通知。另外,接收到数据变更通知也可以视为成功通信。如果通信结果成功,子例程500进入块506以根据成功的通信请求调整超时间隔。将关于图5B和5C更详细地描述块506。如果通信结果不成功(例如,检测到网络超时),则子例程500进入块508以根据网络超时期满来调整超时间隔。将关于图5D更详细地描述块508。在完成任一调整子例程506、508时,子例程500在块510返回。
现在参考图5B,将描述用于基于接收成功通信请求调整超时间隔的子例程520。根据本发明的示例性实施例,子例程520通过确定指示与网络的良好通信的特定准则是否已出现来调整超时间隔。相关领域的技术人员将意识到所应用的准则可尝试标识诸如连续的良好覆盖、从不良覆盖到良好覆盖的过渡,或接近网络指定的超时间隔等不同的通信情景。在决策块522,进行确定在子例程500的先前重复期间超时间隔是否递增的测试。如果先前超时间隔递增,则子例程进入块528,这将在下文作更详细的描述。如果在子例程500的先前重复期间,超时间隔先前没有递增,则在决策块524,进行确定超时间隔是否被设置在最小的测试。如果超时间隔被设置在最小,则子例程进入块528,这将在下文作更详细的描述。如果超时间隔不是在最小,则在决策块526,进行确定移动设备202是否已完成一系列成功通信的测试。在本发明的所示实施例中,成功通信可以对应于传输注册请求和接收到无数据变更通知。接收到新数据通信并不一定被视为成功通信。例如,移动设备202可以对五个连续无数据变更通知进行测试。另外,在决策块526,移动设备202可利用诸如移动设备上信号强度的确定等另外的外部标准。如果已经接收到一系列成功通信请求,则子例程进入块528,这将在下文中作更详细的描述。或者,子例程520在块530返回而不递增超时间隔。
继续参考图5B,如果满足对应于块522、524或526的准则中的任何一个,在块528,移动设备202递增超时间隔。在本发明的所示实施例中,移动设备202将超时间隔递增一固定常数。该固定常数可被选择成允许从最小超时间隔更快地增长,同时又尝试逐渐接近连续良好通信期间的网络超时间隔。
现在参考图5C,在本发明的替换性实施例中,对应于块416(图4),可以选择性地利用子例程540来调整超时间隔。在该替换性实施例中,满足每一准则会导致使用用于递增超时间隔的不同常数。在决策块542,进行确定在子例程500的先前重复期间超时间隔是否递增的测试。如果超时间隔先前被递增,则在块546,移动设备202用在子例程500的先前重复期间先前所利用的常数来递增超时间隔。
如果在子例程500的先前重复中,超时间隔先前未被递增,则在判定块546,进行确定超时间隔是否被设置在最小的测试。如果超时间隔被设置在最小,则移动设备202用第一常数递增超时间隔。在本发明的所示实施例中,第一常数被选择成允许超时间隔从消耗更多移动设备的电力资源的最小超时间隔以最快步距增长。另外,在本发明的替换性实施例中,第一常数可以被选择成自动地允许将超时间隔设置在历史上所达到的最高超时间隔。可以针对每一特定设备和/或每一特定网络来保持历史数据。
如果超时间隔不是在最小,则在判定块550,进行确定移动设备202是否已经完成一系列成功通信的测试。如上所述,成功通信可以对应于发送注册请求和接收到无数据变更通知。如果已经接收到一系列成功通信请求,则移动设备202用第二常数递增超时间隔。在本发明的所示实施例中,第二常数被选择成允许超时间隔接近网络超时间隔而不会快速地猛增到网络超时间隔以上。与决策块546类似,在替换性实施例中,第二常数可以被选择成在连续多个成功通信请求之后自动地允许超时间隔被设置在历史上达到的最高超时间隔上。一旦已在544、548或522中任意一个块上递增超时间隔,或者如果移动设备还未检测到一系列成功通信,子例程540就在块554返回。
现在参考图5D,将对对应于块508(图5A)并根据网络超时的期满来调整超时间隔的子例程560进行说明。在决策块562,进行确定在子例程500的之前重复中超时间隔是否递增的测试。如果先前超时间隔没有递增,则在块564,移动设备202将超时间隔设置为最小值。在本发明的所示实施例中,移动设备202将超时设置为最小值以解决到较差蜂窝覆盖的过渡。或者,如果先前超时间隔递增,则在块566,移动设备202将超时间隔返回到其先前值。在本发明的所示实施例中,移动设备202将超时间隔返回到接近网络指定超时间隔的先前值。在替换性实施例中,移动设备202可以在块566将超时间隔设置为历史上达到的最高超时间隔。此外,如果移动设备202已经多次尝试超至历史上所达到的最高超时间隔之上,则在一系列不成功的尝试后,可以将超时间隔锁定或固定到历史上所达到的最高超时间隔。在块568,子例程560返回。
现在参考图6,将对由诸如电子邮件接口计算设备208等网络应用实现的用于处理移动设备注册请求的例程600进行说明。在块602,电子邮件接口计算设备208获得包括超时间隔的移动设备注册请求。在块604,电子邮件接口计算设备208针对所请求的数据注册移动设备202。在本发明的所示实施例中,注册可对应于与诸如电子邮件服务器等任一适当的本地网部件通信以允许电子邮件接口计算设备208接收新数据的通知。另外,如果注册请求包括用于计算恰当的超时间隔的准则,则注册可对应于超时间隔的计算。在注册请求对应于多个数据变更请求的情况下,电子邮件接口计算设备208可维持用于跟踪用于转发移动客户机202信息的准则的表。
在块606,电子邮件接口计算设备208开始测量自接收/处理注册请求起所经过的时间的超时间隔计时。在本发明的所示实施例中,超时间隔计时可对应于测量自接收注册请求起经过的时间的内部计数设备。或者,超时计时可对应于用于由电子邮件接口计算设备208与标准时刻度量进行比较的接收注册请求的时刻的记录。相关领域的技术人员将意识到可以利用多个另外的方法学来计算或者跟踪自接收/处理注册请求起所经过的时间。
在决策块608,进行确定电子邮件接口计算设备208是否已经接收到数据变更通知的测试。在本发明的所示实施例中,数据变更通知可对应于从电子邮件服务器接收到新邮件消息。另外,数据变更通知可对应于已对特定数据文件进行了修改、存取等通知。如果接收到数据变更通知,则在块610,电子邮件接口计算设备208将数据变更通知发送到移动设备202。在本发明的所示实施例中,数据变更通知可包括指示移动设备202将数据请求发送到电子邮件接口计算设备208的普通消息。另外,数据变更通知可包括允许移动设备202选择该设备是否将发送后续数据请求的各种元数据或描述信息。例如,通知可包括允许用户预览消息的至少一部分以便确定他或她是否希望检索整条消息的电子邮件消息标题信息。在另一示例中,通知可包括允许移动设备202自动确定是否请求该变更数据的特定准则。在块612,例程600终止直到电子邮件接口计算设备208接收下一注册请求为止。
如果在决策块608未接收到数据已经变更的通知,则在决策块614,进行确定自接收/处理注册请求起所经过的时间是否超出了超时间隔的测试。如果还未超出超时间隔(例如,期满),则例程600返回到决策块608。如果超时间隔已经期满,则在块616,电子邮件接口计算设备208将已期满的超时间隔通知发送到移动设备202。在本发明的所示实施例中,已期满的超时间隔通知对应于保持通信链路并将促使移动设备202进行更新的注册请求的消息。另外,已期满的超时间隔通知可包括诸如网络事件信息或网络特性信息(例如可用带宽、网络质量等级等)被用来调整后续超时间隔的另外的信息。在块618,例程600终止。
尽管已经示出和描述了本发明的说明性实施例,但将意识到是可在不背离本发明的精神和范围的情况下做出各种改变。