用于基于消息优先级来管理消息传递的系统和方法

文档序号:6534384阅读:212来源:国知局
用于基于消息优先级来管理消息传递的系统和方法
【专利摘要】所公开的技术涵盖消息收发系统和方法。一种示例消息收发系统可以包括消息收发服务器、多个预定条件和通信接口。所述消息收发服务器可以接收指向第一计算设备的一个或多个消息,并且可以向消息的每一个分配优先级级别。该多个预定条件可以确定何时向第一计算设备传送一个或多个消息,并且当指向第一计算设备的至少一个消息被分配高优先级时,可以看作满足了第一预定条件。如果满足预定条件的至少一个,则通信接口可以向第一计算设备传送一个或多个消息。消息收发服务器可以重复地评估预定条件,并且可以保存一个或多个消息,直到满足预定条件中的至少一个。
【专利说明】用于基于消息优先级来管理消息传递的系统和方法
[0001]相关申请的交叉引用
[0002]本申请要求在2012年6月25日提交的美国临时专利申请价).61/664,023在35V’ 5丄5 119(6)下的优先权和权益,其通过引用被整体并入在此,就像在下面完全被给出那样。

【技术领域】
[0003]所公开的技术的各个方面涉及推送通知,并且更具体地涉及基于设备行为来管理推送消息传递。

【背景技术】
[0004]推送通知服务广泛用于向包括移动设备的各种计算设备发送消息。例如,可以从电子邮件服务器向用户的移动设备发送推送通知,以向用户通知新的电子邮件消息的接收。推送服务可以通过将移动设备解除连续查看来自远程服务器的新的电子邮件或其他新消息的需要来减少移动设备所需的工作。
[0005]推送消息收发的下侧是移动设备必须苏醒,即,被加电,以便接收新消息。通过自发地传递消息,消息收发服务器可以重复地唤醒设备,因此消耗其电池电力。


【发明内容】

[0006]所公开的技术的各种实现方式管理向计算设备的消息传递,以尽可能快地发现在保存电池电力和传递消息之间的平衡。
[0007]根据所公开的技术的一种示例消息收发系统可以包括消息收发服务器、包括多个预定条件的存储介质和通信接口。所述消息收发服务器可以被配置为接收多个消息,将一个或多个消息识别为指向第一计算设备,并且向所述一个或多个消息的每一个分配优先级级别。所述多个预定条件可以确定何时向所述第一计算设备传送所述一个或多个消息。当在所述消息收发服务器处的至少一个消息指向所述第一计算设备并且被分配高优先级时,看作满足了第一预定条件。所述通信接口可以被配置为如果满足所述预定条件中的至少一个,则向所述第一计算设备传送所述一个或多个消息。所述消息收发服务器可以重复地评估所述预定条件,并且可以保存所述一个或多个消息,直到满足所述预定条件中的至少一个。
[0008]所公开的技术的另一种实现方式是在永久计算机可读介质中包含的一种计算机程序产品,所述计算机程序产品包括适于实施一种方法的算法。所述方法可以包括:在与多个计算设备进行通信的消息收发服务器处接收指向移动设备的多个消息。可以向所述多个消息的每一个分配优先级级别。如果所述多个消息的至少一个被分配高优先级,或如果满足至少一个其他预定条件,则可以向所述移动设备传送所述多个消息。否则,可以在所述消息收发服务器处保存所述多个消息,直到接收到指向所述移动设备并且被分配高优先级的新消息,或者直到满足至少一个其他预定条件。
[0009]本公开技术的另一种实现方式是一种计算机实现的方法。所述方法可以包括:在消息收发服务器处接收指向多个计算设备的多个消息,所述多个消息包括用于传送到第一计算设备的一个或多个消息。所述一个或多个消息的每一个可以被分类为高优先级或低优先级。所述一个或多个消息的传递可以被延迟,直到满足预定条件集合中的至少一个。所述预定条件可以包括第一预定条件,即,至少一个接收的消息被分类为高优先级。用计算机处理器可以检测到满足所述预定条件中的至少一个。响应于满足所述预定条件中的至少一个的所述检测,可以向所述第一计算设备传送所述一个或多个消息。
[0010]在结合附图阅读下面的说明后,消息收发系统和方法的这些和其他目的、特征和消息将变得更显而易见。

【专利附图】

【附图说明】
[0011]图1是根据本公开技术的一种实现方式的说明性消息收发系统的框图。
[0012]图2是根据本公开技术的一种实现方式的用于管理消息传递的方法的流程图。
[0013]图3是根据本公开技术的一种实现方式的消息收发服务器的架构的图。

【具体实施方式】
[0014]为了促进所公开的技术的原理和特征的理解,下面解释说明性实现方式。所公开的技术的各个实现方式是消息收发系统和方法,用于将要向移动设备传递的数据批处理,以便将移动设备的电池使用期限与快速消息传递平衡。具体地说,在用于在诸如智能电话或平板计算机的移动设备上的消息收发的上下文中描述消息收发系统的实现方式。然而,所公开的技术的实现方式不限于该上下文。而是,实现方式可以管理用于与仅传统的“移动”设备相反的各种类型的计算设备的消息传递,该各种类型的计算设备受益于改善的电力管理。
[0015]以下描述为构成所公开的技术的各个元素的组件意欲是说明性和非限制性的。将执行与在此所述的组件相同或类似功能的许多适当的组件意欲被涵盖在消息收发系统和方法的范围内。在此未描述的这样的其他组件可以包括但是不限于例如在所公开的技术的开发后开发的组件。
[0016]许多移动设备当前使用推送消息收发来接收数据。推送消息是向移动设备传送的数据,而未提示,或移动设备未首先不得不查看消息。消息可以从例如远离移动设备的应用服务器指向移动设备。在一些情况下,可以从应用服务器向消息收发服务器传送消息,消息收发服务器可以管理多个移动设备从多个源接收推送消息的消息传递。
[0017]在传统消息收发系统中,在消息收发服务器处接收到消息时,从消息收发服务器向接收者移动设备传送推送消息。这通常没有有意的延迟地发生。结果,移动设备有效地接收它们的消息,而不必提示消息收发服务器确定消息是否在等待。传统消息收发系统的缺点是传送消息要求接通移动设备的无线电,这可以消耗电池。
[0018]所公开的技术认识到消息不必总是立即被传递。所公开的技术的消息收发系统可以在消息收发服务器处保存所接收的消息,直到满足一个或多个预定条件。所述预定条件可以是基于与计算设备的状态和所接收的消息的优先化相关的各种因素。
[0019]现在参见其中相似的附图标号贯穿视图表示相似的部分的附图,将详细描述消息收发系统和方法的各种实现方式。
[0020]图1是根据所公开的技术的说明性消息收发系统100的框图。消息收发系统100可以整体或部分地被包含在与一个或多个应用服务器101进行通信的消息收发服务器300中。消息收发服务器300可以是或包括诸如在图3中所示的那个的计算机系统。
[0021]消息收发服务器300可以从应用服务器101接收消息,并且可以通过推送消息向诸如移动设备或台式或膝上型计算机的各个计算设备104传送所接收的消息。将明白,存在可以在电池上运行并且可以因此受益于所公开的技术的多类移动设备104。例如,计算设备104可以包括但是不限于便携式计算机、平板计算机、因特网平板计算机、个人数据助理、超移动个人计算机和智能手机。
[0022]应用服务器101可以是支持在计算设备104上安装或运行的应用的服务器。有时,应用服务器101可以传送用在计算设备104上的其对应的应用中的数据消息。将明白,消息不必是电子邮件或文本消息,而是可以替代地是作为来自远程设备的传送被传递到移动设备的各种类型的数据。例如,而不是限制地,应用服务器101可以与天气应用相关联,并且可以向计算设备104传送天气更新。又如,应用服务器可以与电子邮件应用相关联,并且可以向计算设备104传送电子邮件消息。可以通过消息收发服务器300传递来自应用服务器101的消息,消息收发服务器300可以根据所公开的技术管理传递,如下进一步所述。
[0023]消息收发服务器300可以以各种方式与计算设备104进行通信。例如,消息收发服务器300可以通过11-打信道或另一个因特网连接108与计算设备110进行通信,并且可以利用网络106来用于与计算设备104的通信。又如,消息收发服务器300可以通过诸如蜂窝服务提供商或支持移动设备的其他网络提供商的服务提供商114向计算设备104进行通信。服务提供商114可以通过用于与移动设备104进行通信的蜂窝无线电信道112来提供蜂窝服务。在该情况下,消息收发服务器300可以通过服务提供商114来向移动设备104传送或发送消息。
[0024]消息收发服务器300可以与属于多个用户的多个计算设备104进行通信。而且,消息收发服务器300可以接收用于各个计算设备104的多个消息。消息收发服务器300可以将所接收的消息分类,并且将每一个消息与其意欲的接收者计算设备104相关联。不是在接收时立即向接收者计算设备104传递所有消息,而是消息收发服务器300可以批处理用于每一个计算设备104的消息。然而,在优先级消息的情况下,消息收发服务器300可以建立例外,并且立即或没有有意的延迟地向接收者计算设备104传递这些消息。
[0025]消息收发服务器104可以向对于计算设备104接收的每一个消息分配优先级。优先化的规则可以基于各种因素,并且可以在所有的计算设备104上是固定的或者对于每一个单独或一组计算设备104是定制的。例如,而不是限制地,可以将电子邮件或通过I?的语音消息分类为高优先级,而可以将天气警告和应用更新分类为低优先级。
[0026]在一些实现方式中,计算设备104的过去或当前使用模式可以至少部分地确定如何将消息分类。例如,如果在计算设备104上频繁或最近使用特定应用,则消息收发服务器300可以将那个应用看作用于计算设备104的优选应用,并且可以自动地和动态地确定与那个特定应用相关的消息被给出高优先级。类似地,用于很少使用或在预定时间段内还没有被使用的应用的消息可以被分配低优先级,即使它们先前具有高优先级状态。在一些示例实现方式中,可以默认地将一个或多个特定应用看作优选的,并且与那些应用相关联的消息可以默认地被给出高优先级。其他应用的消息可以默认地被给出低优先级。
[0027]消息收发服务器300可以保存消息,即,不将它们传送到它们意欲的接收者计算设备104,直到对于接收者计算设备104满足一个或多个预定条件。在一种示例实现方式中,消息收发服务器300可以访问与计算设备104相关的状态信息。计算设备104可以向消息收发服务器300发送关于其当前状态的信息。计算设备104可以或者在消息收发服务器300的提示下或者自主地发送该信息。例如,而不是限制地,计算设备104可以向消息收发服务器300发送关于其当前的电池电平的信息、计算设备104是否被完全充电或被插入外部电源内、无线电是否当前在活动、当前位置、在使用计算设备104的网络的类型(例如,
、它是否被解锁或当前在使用、或它是否刚刚变为在使用中。
[0028]关于计算设备的状态的一些信息可能对于特定计算设备104不唯一,并且消息收发服务器300可以从其他源或者通过保留关于计算设备104的过去的数据来访问那个类型的信息。例如,而不是限制地,消息收发服务器300也可以具有关于当前日期、日时和所涉及的计算设备104以及在该计算设备104的本地区域中的其他计算设备104的过去使用模式的信息。
[0029]用于计算设备104的预定条件可以至少部分地基于关于计算设备104或关于要传递到计算设备104的所接收的消息的优先化的上面的信息或其他信息的方面。例如,而不是限制地,如果下面部分的至少一个成立,则可以看作满足预定条件:计算设备的无线电状态是活动的;预定数目的消息已经被接收并且正在被保存用于计算设备104 ;自从向计算设备104传送最后一批消息起,还没有过去基于计算设备104所连接到的网络类型的预定时间段;已经刚刚接收到至少一个高优先级消息;或者,某个其他预定数目的高优先级消息已经被接收并且被保存用于计算设备104。
[0030]当对于计算设备104满足预定条件时,服务器可以清空对于那个计算设备104收集的消息,并且将它们全部传送到计算设备104。结果,可以保存消息以节省计算设备104的电池使用期限,而不是以未能迅速地传递已经被看作高优先级的重要消息为代价。另夕卜,因为与仅单个高优先级消息相反当接收到一批消息时计算设备104消耗很少的另外的电池电力,所以消息收发服务器300可以清除所有收集的消息连同提示传送的高优先级消肩、0
[0031]在一些计算设备104中,无线电停留基于该计算设备104在操作的网络的类型的预定时间段。例如,与作比较,当计算设备104连接到蜂窝网络时,该时间段可以不同。因此,通过将消息继续传送基于与网络类型相关联的无线电使用时间的时间段,仅最小地影响电池电力,因为无线电保持被使用而与是否发送消息无关。结果,具有与网络类型相关的预定条件可以在当电池电力不被显著地影响时的时间激励快速消息传递。
[0032]图2图示了根据所公开的技术的方法200的流程图。如图所示,在210处,消息收发服务器300接收到用于计算设备104的一个或多个消息,并且消息收发服务器确定该消息是低优先级的。在220处,这些低优先级消息可以被保存,即,还没有被传送到计算设备104,并且消息收发服务器300可以从计算设备104接收一个或多个状态更新。如果还没有接收到用于计算设备104的高优先级消息,并且如果在230处未满足用于计算设备其他预定条件,则消息收发服务器300可以在220处继续其保存模式。如果在230处确定已经接收到新的高优先级消息,或者现在满足某个其他预定条件(例如,计算设备的无线电现在活动),则消息收发服务器300可以在240处向计算设备104传送用于计算设备104的全部保存的消息。
[0033]将明白,在图2中所示的各个步骤仅是说明性的,并且可以去除步骤,可以使用其他步骤,或者可以修改步骤的顺序。也将明白,可以在贯穿方法200的各个点处接收来自计算设备104的状态更新,特别是如果被计算设备104自主地提供。
[0034]消息收发系统100和方法的各种实现方式可以被包含在由计算机处理器执行的永久计算机可读介质中。图3是在符合所公开的技术的实现方式中的消息收发服务器300的示例架构的图。如所示,消息收发服务器300可以包括总线310、处理器320、主存储器330、只读存储器¢01) 340、存储设备350、一个或多个输入设备360、一个或多个输出设备370和通信接口 380。总线310可以包括一个或多个导体,其允许在消息收发服务器300的组件之间的通信。
[0035]处理器320可以是解释和执行诸如用于提供所公开的技术的方面的指令的指令的一个或多个传统处理器或微处理器。主存储器330可以包括随机存取存储器(狀1)或另一个动态存储设备,其存储信息和由处理器320执行的指令。1?01 340可以包括传统设备或另一种类型的静态存储设备,其存储由处理器320使用的静态信息或指令。存储设备350可以包括磁或光记录介质和其对应的驱动器。
[0036]输入设备360可以包括允许操作员向消息收发服务器300输入信息的一个或多个机构,诸如键盘、鼠标、笔、语音识别或生物测量机构。输出设备370可以包括向操作员输出信息的一个或多个机构,包括显示器、打印机或扬声器。通信接口 380可以包括使得消息收发服务器300能够与远程设备或系统进行通信的任何收发器类机构,诸如消息所传递到的移动设备或其他计算设备104。例如,通信接口 380可以包括用于通过网络进行通信的机构。
[0037]如上所述,消息收发服务器300可以管理向多个计算设备104的消息传递。消息收发服务器300可以响应于处理器320执行在诸如主存储器330的计算机可读介质中包含的软件指令而执行用于那个目的的任务。该软件指令可以从诸如存储设备350的另一个计算机可读介质、或经由通信接口 380从另一个设备被读取到主存储器330内。替代地或补充地,可以取代软件指令或与软件指令组合地使用硬连线电路,以实现符合所公开的技术的处理。因此,所公开的技术不限于硬件电路和软件的任何特定组合。
[0038]虽然已经在说明性示例中公开了消息收发系统100和方法,但是对于本领域内的技术人员将显而易见的是,在不偏离在所附的权利要求中给出的系统、方法和它们的等同物的精神和范围的情况下,可以进行许多修改、添加和删除。
【权利要求】
1.一种消息收发系统,包括: 消息收发服务器,所述消息收发服务器被配置为接收多个消息,将一个或多个消息识别为指向第一计算设备,并且向所述一个或多个消息中的每一个分配优先级级别; 存储介质,所述存储介质包括多个预定条件,所述多个预定条件用于确定何时向所述第一计算设备传送所述一个或多个消息,其中,当在所述消息收发服务器处的至少一个消息指向所述第一计算设备并且被分配高优先级时,满足第一预定条件;以及 通信接口,所述通信接口被配置为如果满足所述多个预定条件中的至少一个,则向所述第一计算设备传送所述一个或多个消息; 其中,所述消息收发服务器重复地评估所述多个预定条件,并且保存所述一个或多个消息,直到满足所述多个预定条件中的至少一个。
2.根据权利要求1所述的消息收发系统,其中,用于分配优先级级别的一个或多个规则对于指向所述第一计算设备的消息和指向第二计算设备的消息是不同的。
3.根据权利要求1所述的消息收发系统,其中,用于向所述一个或多个消息分配优先级级别的一个或多个规则是基于对所述第一计算设备的过去的使用。
4.根据权利要求3所述的消息收发系统,其中,所述消息收发服务器基于其与在所述第一计算设备处频繁地或近期被使用的应用的关联而向第一消息分配高优先级。
5.根据权利要求4所述的消息收发系统,其中,所述消息收发服务器基于其与在所述第一计算设备处未频繁地或未近期被使用的应用的关联而向第二消息分配低优先级。
6.根据权利要求1所述的消息收发系统,其中,当在所述消息收发服务器处保存指向所述第一计算设备的至少预定数目的消息时,满足第二预定条件。
7.根据权利要求1所述的消息收发系统,其中,当所述第一计算设备的无线电状态是活动时,满足第二预定条件。
8.根据权利要求1所述的消息收发系统,所述消息收发服务器进一步被配置为从所述第一计算设备接收所述第一计算设备的当前状态,并且其中,第二预定条件是基于所述第一计算设备的当前状态。
9.根据权利要求1所述的消息收发系统,所述消息收发服务器进一步被配置为响应于向指向所述第一计算设备并且在所述消息收发服务器处当前保存的至少一个消息分配高优先级,向所述第一计算设备传送所保存的指向所述第一计算设备的全部消息。
10.一种计算机可读存储介质,所述计算机可读存储介质存储由一个或多个处理器能够执行的用来执行一种方法的指令,所述方法包括: 在与多个计算设备进行通信的消息收发服务器处接收指向移动设备的多个消息; 向所述多个消息的每一个分配优先级级别; 如果所述多个消息的至少一个被分配高优先级,或如果满足至少一个其他预定条件,则向所述移动设备传送所述多个消息;以及 在所述消息收发服务器处保存所述多个消息,直到在所述消息收发服务器处接收到指向所述移动设备并且被分配高优先级的新消息,或者直到满足至少一个其他预定条件。
11.根据权利要求10所述的计算机程序产品,所述方法进一步包括:响应于向所述新消息分配高优先级,向所述移动设备传送所述新消息和所述多个消息。
12.根据权利要求10所述的计算机程序产品,所述方法进一步包括: 检测所述移动设备的无线电状态;以及 作为所述第一计算设备具有活动的无线电状态的结果,确定满足至少一个其他预定条件。
13.根据权利要求10所述的计算机程序产品,所述方法进一步包括:在向所述移动设备传送所述多个消息和所述新消息后,继续向所述移动设备传送传入的消息达到预定时段。
14.根据权利要求13所述的计算机程序产品,其中,所述预定时段是通过与所述移动设备相关联的当前网络类型确定的。
15.—种计算机实现的方法,包括: 在消息收发服务器处接收指向多个计算设备的多个消息,所述多个消息包括用于传送到第一计算设备的一个或多个消息; 将所述一个或多个消息中的每一个分类为高优先级或低优先级; 将所述一个或多个消息的传递延迟,直到满足预定条件集合中的至少一个,其中,所述预定条件包括至少一个接收到的消息被分类为高优先级的第一预定条件; 用计算机处理器检测满足所述预定条件中的至少一个;以及 响应于检测到满足所述预定条件中的至少一个,向所述第一计算设备传送所述一个或多个消息。
16.根据权利要求15所述的计算机实现的方法,进一步包括:检测所述第一计算设备的无线电状态,其中,当所述第一计算设备处于活动的无线电状态中时,满足所述预定条件中的至少一个。
17.根据权利要求15所述的计算机实现的方法,进一步包括: 检测所述第一计算设备的网络类型;以及 在向所述第一计算设备传送所述一个或多个消息后,继续向所述第一计算设备传送传入的消息达到预定时间段,其中,所述预定时间段是基于所述网络类型。
18.根据权利要求15所述的计算机实现的方法,其中,用于将所述一个或多个消息分类为高优先级或低优先级的规则基于所述第一计算设备的使用历史而变化。
19.根据权利要求18所述的计算机实现的方法,其中,与在所述第一计算设备上的优选的应用相关联的第一消息被自动分配高优先级。
20.根据权利要求19所述的计算机实现的方法,其中,优选的应用状态取决于所述计算设备的所述使用历史。
【文档编号】G06F15/16GK104412250SQ201380033852
【公开日】2015年3月11日 申请日期:2013年6月25日 优先权日:2012年6月25日
【发明者】弗朗西斯科·内列里, 弗雷德·昆塔纳 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1