用于供应推送通知会话的方法、装置与系统的利记博彩app

文档序号:7989527阅读:144来源:国知局
用于供应推送通知会话的方法、装置与系统的利记博彩app
【专利摘要】一种用于经由通信网络在客户端上的应用程序与对应于该应用程序的服务器之间供应推送通知会话的系统和方法。在一个方面,推送供应实体将消息传送至客户端,从而将所述客户端配置为能使客户端请求与服务器的推送通知会话的状态。随后客户端上的应用程序能够通过将推送通知会话请求消息传送至推送供应实体来请求建立推送通知会话。推送供应实体生成用于确认推送通知会话的令牌,将生成的令牌与应用程序相关联,以及将令牌传送至应用程序,该应用程序使用该令牌建立推送通知会话。
【专利说明】用于供应推送通知会话的方法、装置与系统
【技术领域】
[0001]本发明涉及一种用于在客户端上运行的应用程序与对应于该应用程序的服务器 之间供应推送通知会话的方法、装置与系统。
【背景技术】
[0002]推送技术是其中在服务器上发起客户与服务器之间的处理请求的数据通信的 形式。该技术使服务器能够自主地将通知消息传送至客户端。HTTP服务器推送和Java Pushlet就是推送技术的实例。
[0003]通知消息能够从服务器直接被传送至客户端,或者通知消息的传送能够由推送通 知服务调解。
[0004]推送通知服务提供到客户端点(例如,客户端上的应用程序)的持久的数据通信 信道以用于递送由服务器发送的通知消息。推送通知服务通常要求应用程序对其进行注 册,从而在推送通知服务与应用程序之间建立信任关系。
[0005]除了与应用程序建立信任连接之外,推送通知服务可以与托管应用程序的设备建 立信任连接。通常通过验证用于限制推送通知服务的可用性的预先提供的客户凭证来建立 信任连接。
[0006]响应于对由应用程序发送的注册请求的接收,启动在推送通知服务上的推送通知 信道的建立:推送通知服务将推送通知信道与应用程序相关联,并将识别推送通知信道的 数据供应至应用程序。响应于对识别信道的数据的接收,应用程序将信道数据提供至服务 器。随后,服务器能够将用于递送至应用程序的任何通知消息与信道数据一起传送至推送 通知服务。
[0007]在对采用推送通知服务的应用程序的注册期间,识别信道的数据被创建,并且作 为被建立在推送通知服务与应用程序之间的信任关系,该数据在应用程序的寿命内都是有 效的。因此,在诸如危及服务器或应用程序的安全的设置中,将会永久地危及整个推送通知 信道的安全。这使得推送通知信道对于安全通信或敏感通信不可靠。

【发明内容】

[0008]根据本发明的一个方面,提供了一种根据所附权利要求的用于供应推送通知会话 的方法、系统和推送供应实体。
[0009]实施方式提供了客户端的“按需”配置以访问推送通知服务。只要客户端已被配 置为其中客户端能够请求一个或多个推送通知会话的操作状态(所谓的第一操作状态), 则客户端上的应用程序能够请求建立推送通知会话。
[0010]在某些设置中,客户端负责传送推送通知供应请求消息并且处理与其相关联的响 应消息,这影响着客户端从未激活(所谓的第二操作状态)到激活的操作状态的转换。客 户端的操作状态的这种变化能使客户端上的所有应用程序建立推送通知会话。
[0011]如本领域中所熟知,会话是两个或更多个计算设备之间的信息的非永久性交换,并且在特定时间点建立的会话后续会被去除。因此,与本领域中所熟知的不具有相关联的 有效性的信道相反,第一方面通过建立推送通知会话额外地弓IA 了推送通知的有效性。
[0012]实施方式进一步包括产生用于验证推送通知会话的令牌以响应于来自客户端上 的应用程序的推送通知会话请求消息。产生的令牌与应用程序相关联并且用于识别与客户 端相关联的会话端点(其通常是应用程序)。令牌被额外地用作会话有效性凭证。因此,提 供了用于验证推送通知会话的机制。
[0013]响应于对令牌的接收,应用程序可将令牌提供至服务器,服务器利用接收的令牌 建立推送通知会话。应用程序可利用客户端上任何可用的通信方式来将令牌提供至服务 器。服务器是能够与客户端通信的网络实体,从而将推送通知消息提供至客户端上的应用 程序。
[0014]在一种设置中,客户端包括多个应用程序,其中每个应用程序均能够请求建立推 送通知会话。客户端能够响应于对从客户端发起的推送通知会话请求消息的接收为每个相 应的应用程序产生不同的令牌。因此,客户端上的每个应用程序均能够建立独立于客户端 上的其他应用程序的推送通知会话。
[0015]方便地,该方法包括基于预定标准选择性地产生令牌。选择性产生令牌扩展了从 应用程序丢弃推送通知会话请求的能力。例如,基于应用程序认证和授权、用户认证以及服 务器认证能够放弃请求。因此,可基于与应用程序和服务器的信任关系选择性地提供推送 通知会话。
[0016]在进一步的设置中,提供了用于识别网络节点的机制以传送服务器访问请求,从 而使没有服务器连接细节的应用程序能够与服务器进行通信。所识别的网络节点可以是对 服务器与客户端之间的安全连接的建立进行调解的安全访问供应实体。安全访问供应实体 可维护(maintain,保持)被授权与服务器进行推送通知会话的应用程序的列表,从而通过 过滤访问请求降低服务器的处理开销。该方法可包括监控安全访问供应实体上的应用程序 授权状态以控制建立的推送通知会话。
[0017]在又一设置中,服务器可选择性地请求对由应用程序供应至服务器的令牌的验 证,从而使服务器能够验证给定的会话。该方法包括验证由应用程序供应至服务器的令牌 是否与供应至应用程序的令牌相对应以执行验证。服务器可在推送通知会话建立之前、期 间或之后验证令牌,从而防止建立或维护无效或伪造的推送通知会话。该方法可包括根据 评估更新对应于推送通知状态的会话状态。
[0018]有利地,该方法包括确定服务器的操作状态以控制相关联的推送通知会话。因此, 例如,若服务器崩溃或不可访问,则该方法可终止与其相关联的推送通知会话。可基于预定 非激活期和/或从服务器接收的指示服务器的操作状态的数据来确定服务器的操作状态。 该方法可包括监控与服务器相关联的操作状态以用于更新。
[0019]方便地,该方法包括确定与推送通知会话相关联的会话状态以控制推送通知会 话。可基于预定非激活期和/或从服务器接收的指示服务器的会话状态的数据确定服务器 的会话状态。因此,例如,能够终止被确定为不可运行的推送通知会话。
[0020]在又一的设置中,若与通知消息一起接收的令牌对应于提供至应用程序的用于推 送通知会话的令牌,则该方法包括选择性地将从服务器接收的用于递送至应用程序的通知 消息传送至客户端。该方法可包括在对通知消息的恶意的或不适当的内容进行扫描之后选择性地传送通知消息,从而提供用于过滤不适当和危害性消息的方法。
[0021]在其他实施方式中,该方法包括一经请求则对令牌进行验证,从而使得服务器在 建立推送通知会话之前建立令牌的授权。在令牌是无效的情况下,服务器能够终止推送通 知会话的建立。这就允许服务器过滤伪造的或无效的请求,并且仅在建立有效推送通知会 话时扩展资源。
[0022]该方法可包括更新对应于推送通知会话的会话状态或根据令牌的有效性保留用 于推送通知会话的网络资源。
[0023]该方法可包括基于预定规则选择性地传送授权消息,该预定规则可包括验证服务 器的认证凭证。预定规则还可包括验证对应于服务器的记录以确保服务器被授权进行推送 通知会话。在不存在记录的情况下,服务器可将条件性的授权消息传送至服务器。该条件 性的授权消息使服务器执行注册处理,这使得对应于服务器的记录被创建。因此,该方法提 供了 “按需”服务器注册机制。
[0024]在一种设置中,由配置有软件的网络节点以一组指令的形式执行该方法,当网络 节点执行指令时,使网络节点执行某些或所有上述步骤。
[0025]根据参照附图进行的优选实施方式(仅通过实例的方式给出)的以下描述,本发 明的其他特征和优势将变得显而易见。
【专利附图】

【附图说明】
[0026]图1是实施方式操作所在的网络环境的示意图;
[0027]图2是示出根据实施方式的经由推送供应实体建立的推送通知会话的框图;
[0028]图3是示出根据实施方式的推送供应实体的部件的框图;
[0029]图4是示出根据实施方式的推送供应实体的部件与应用程序和服务器的交互的 框图;
[0030]图5是示出根据实施方式的当建立推送通知会话时由图2中所示的部件执行的步 骤的时序图;
[0031]图6是示出根据实施方式的当在客户端与服务器之间建立加密通信会话时由图2 中所示的部件执行的步骤的时序图;
[0032]图7是示出根据实施方式的当确认推送通知会话时执行的步骤的时序图;
[0033]图8是示出根据实施方式的为维持推送通知会话的服务器侧环境而执行的步骤 的时序图;
[0034]图9是示出根据实施方式的为维持推送通知会话的应用程序侧环境而执行的步 骤的时序图;以及
[0035]图10是示出根据实施方式的当从服务器端控制推送通知会话的有效性时执行的 步骤的时序图。
【具体实施方式】
[0036]实施方式与经由通信网络在客户端上的应用程序与对应于应用程序的服务器之 间供应推送通知会话有关。更具体地,实施方式与建立调解的推送通知会话有关。下面将 详细描述在推送通知会话的建立中所涉及的处理,但首先将参照图1描述实施方式操作所在的网络环境的概况,图1示出了描述通过其在服务器3A或3B与客户端1A、1B、1C或ID 上的应用程序之间建立推送通知会话的通信网络101的框图。
[0037]现有抟术
[0038]通信网络101被配置为能实现服务器3A和3B与客户端1A、1B、1C和ID之间的直 接的或经由推送供应实体102的数据包通信。客户端1A、1B、1C和ID是能够与服务器3A 或3B建立推送通知会话的远程设备。不具有限制,客户端1A、1B、1C和ID可包括远程桌面 计算机,诸如iPhone?的智能手机、iPad?以及笔记本电脑。
[0039]在优选设置中,诸如客户端1A、1B、1C和ID是移动计算设备,通信网络101可操作 地连接至移动网络2A和2B以向/从客户端1A、1B、1C和ID路由数据包。移动网络2A和 2B是能够提供到具有位置独立性的客户端1A、1B、1C和ID的无线网络连接的网络。不具有 限制,移动网络2A和2B可包括全球移动通信系统、通用分组无线电服务、用于GSM演进通 用移动电信系统的增强数据速率、3G、W1-F1、非授权移动接入和通用接入网。本领域技术人 员熟知形成移动网络2A和2B的部件和实体。
[0040]服务器3A和3B托管能够与客户端1A、1B、1C和ID通信的服务。基于服务的类型, 该通信可以是双向或单向的。例如,推送通知会话是用于从服务器3A或3B向客户端1A、 1B、1C或ID递送通知消息的单向通信模式。
[0041]服务器3A或3B可以是独立的服务供应实体3A,诸如基于因特网的推送服务供应 器(如My Weather Mobile?),或者其可以是作为企业网络4B的一部分的企业网络服务供 应实体3B。
[0042]独立服务供应实体3A具有决定安全策略、用户选择策略等的灵活性,而企业网络 服务供应实体3B受到企业网络4B的策略的限制。企业网络4B可具有调节传送至企业网 络4B或从企业网络4B传送的流量的防火墙。以这种方式,企业网络4B将服务器3B的服 务限制为企业网络4B的成员,因此为访问企业网络服务供应实体3B的服务,用户必须是企 业网络4B的成员。
[0043]推送技术是其中在服务器3A或3B处发起处理请求的单向形式的数据通信。因此, 推送通知会话涉及从服务器3A或3B到客户端1A、1B、1C和ID的消息的单向推送。推送通 知会话不允许客户端1A、1B、1C和ID将消息传送至服务器3A和3B。因此,客户端1A、1B、 IC和ID只能够侦听由服务器3A和3B推送的通知消息。
[0044]服务器3A和3B可自主地将通知消息推送至客户端1A、1B、1C和1D,并且可使用 HTTP服务器推送和Java Pushlet以将通知消息推送至客户端1A、1B、1C和1D。
[0045]通知消息的传送可以由推送供应实体102调解,该推送供应实体102向客户端1A、 IB、IC和ID提供用于递送从服务器3A和3B接收的通知消息的永久的数据通信信道。
[0046]推送供应实体102要求请求推送通知会话的客户端1A、1B、1C或ID上的应用程序 对其进行注册。注册包括推送供应实体102产生识别推送通知会话的数据并且存储识别会 话的数据与请求的应用程序之间的映射。该映射能使推送供应实体102识别哪个应用程序 与从服务器3A和3B接收的给定通知消息相关联,并且将接收的通知消息路由至所识别的 应用程序。
[0047]然而,在应用程序注册之前,推送供应实体102建立与相应的客户端1A、IB、IC或 ID的信任关系,使得推送通知服务能够在其之上被供应至应用程序。传统上,在用户获得客户端1A、IB、IC或ID上的设备之前,已基于设备凭证建立了该信任关系,该设备凭证是由 设备制造商(诸如Apple?)或操作系统(OS)开发商(诸如Microsof?和Google?)提供给 客户端1A、1B、1C或ID上的设备。这就限制了非制造商或非OS兼容设备从推送供应实体 102接收推送通知服务的能力。
[0048]转向图2,客户端IA可包括多个应用程序,其中每个应用程序5A、5B和5C均能够 接收推送通知消息。根据常规方法,从服务器3A或3B请求推送通知服务的每个应用程序 5A、5B和5C将必需对推送供应实体102进行注册。推送供应实体102将每个请求的应用程 序5A、5B或5C与推送标识符相关联。然后,请求的应用程序5A、5B或5C将推送标识符供 应至相应的服务器3A或3B。这完成了推送通知信道的建立,并且之后相应的服务器3A或 3B能够将包括推送标识符的用于递送至请求的应用程序5A、5B或5C的通知消息传送至推 送供应实体102。推送供应识别器102利用推送标识符与其相应的应用程序5A、5B或5C之 间的映射来为接收的通知消息产生路由指令,并且将消息路由至对应于推送标识符的应用 程序5A、5B或5C。
[0049]因此,常规调解推送方法仅在服务器3A或3B与应用程序5A、5B或5C之间建立传 送路径。这是因为通信信道仅表示通信端点之间的传送路径。因此,常规调解推送局限于 建立用于将来自服务器的推送通知消息递送至具有预先提供的凭证的设备的传送路径。
[0050]在服务器3A或3B与应用程序5A、5B或5C之间建立的信道不具有相关联的有效 性期限,因此,一旦建立了信道,则没有验证应用程序5A、5B或5C或者服务器3A或3B的完 整性的方法。因此,推送通知信道在关于处理敏感通知消息方面是不安全的。
[0051]推送供应实体102在根据实施方式来配置时能够经由通信网络101在客户端IA 上的应用程序5A、5B或5C与对应于应用程序5A、5B或5C的服务器3A或3B之间供应推送 通知会话。
[0052]客户端1A、1B、1C和ID具有与其相关联的第一和第二操作状态。在第一操作状 态,应用程序5A、5B和5C能够从推送供应实体102请求调解的推送通知会话,并且在第二 状态,应用程序5A、5B和5C不能请求调解的推送通知会话。
[0053]转向图3,现将描述当根据实施方式来配置时的推送供应实体102的设置。推送供 应实体102包括处理部件的组合,该处理部件包括标准操作系统部件、存储器、处理器以及 永久性存储器。推送供应实体102进一步与I/O通信接口协作。
[0054]此外,推送供应实体102包括负责为调解的推送服务注册客户端1A、1B、1C和ID 的供应管理器309。客户端1A、1B、1C和ID在第一和第二操作状态之间的转换由供应管理 器309控制。
[0055]推送供应实体102进一步包括设备连接器架构305,该设备连接器架构305能够实 施能使客户端1A、1B、1C和ID与推送供应实体102通信的多种通信协议。不具有限制,这 些协议包括移动应用部分(MAP)和因特网协议(IP)。除实施通信协议之外,设备连接器架 构305控制推送供应实体102的通信接口,从而能使客户端1A、1B、1C和ID与推送供应实 体102通信。
[0056]推送供应实体102进一步包括将接收的用于处理的消息(诸如推送通知供应请求 消息)导向合适的部件(诸如供应管理器309)的路由管理器308。此外,该路由管理器308 将从推送供应实体102发起的通信消息(诸如配置消息)路由至诸如网关(未示出)的合适的实体,以实现通信消息向期望目的地的递送。
[0057]为了能实现推送供应实体102与服务器3A和3B之间的通信,推送供应实体102 进一步包括服务器连接器架构302。服务器连接器架构302实施能使服务器3A和3B与推 送供应实体102的各种部件通信的协议。此外,服务器连接器架构302控制推送供应实体 102的通信接口来实现推送供应实体102与服务器3A和3B之间的通信。
[0058]除了标准服务器通信协议,推送供应实体102还维持一经请求便由传统网络支持 管理器303调用以被服务器连接器架构302使用的多个传统服务器通信协议,诸如帧中继 协议。传统网络支持管理器303还维持多个专有服务器通信协议,当利用该专有通信协议 与给定的服务器3A或3B通信时,这些专有服务器通信协议也能够由传统网络支持管理器 303调用。
[0059]椎送供应
[0060]现将描述将给定客户端配置为第一操作状态所用的机制。在第一实例中,响应于 对来自客户端1A、IB、IC或ID的推送通知供应请求消息或注册请求的接收,供应管理器309 将配置消息传送至客户端1A、1B、1C或1D,从而将设备配置为第一操作状态。因此,供应管 理器309扩展了用于推送通知服务的客户端1A、1B、1C或ID的“按需”配置的能力。由供 应管理器209传送的配置消息可包括凭证或者可包括便于客户端1A、IB、IC或ID获取凭证 的指令。由供应管理器309向客户端1A、1B、1C或ID的配置消息的传送完成对其的注册。
[0061]供应管理器309基于预定条件可选择性地传送配置消息。该预定条件可包括验证 对应于供应请求消息的客户端1A、1B、1C或ID的授权状态。
[0062]对应于客户端1A、IB、IC和ID的授权状态由推送供应实体102的设备授权管理器 306的部件来维护。设备授权管理器306还可维护禁用设备的列表或设备的黑名单。企业 网络4B可有助于该黑名单的开发和维护。
[0063]预定条件还可包括验证与存在于请求客户端1A、1B、1C或ID上的各种通信和/或 安全协议的兼容性。因此,例如,在客户端1A、1B、1C或ID上不存在兼容协议的情况下,供 应管理器309可推迟客户端1A、1B、1C或ID的注册直至安装兼容协议。这种兼容协议可由 推送供应实体102或与推送供应实体102协作的实体以数据包形式提供给客户端1A、1B、1C 或ID0
[0064]可基于来自企业网络4B的授权将该数据包选择性地提供至客户端1A、1B、1C和 ID0客户端1A、1B、1C和ID可在发送注册请求之前获得该授权或者可在注册期间获得该授 权。在任何情况下,供应管理器309都不会向客户端1A、1B、1C和ID提供数据包直至已获 得该授权。数据包也可包括企业网络4B的专有协议。
[0065]供应管理器309可允许客户端1A、1B、1C或ID自主地从第二状态变为第一状态, 或者可与服务器3A或3B协作来确保与任何服务器策略的兼容。因此,在受限用户基于服 务供应器(诸如企业网络4B)的情况下,推送通知实体102能够验证兼容性以确保请求用 户被允许使用所请求的服务。
[0066]在诸如其中客户端IA上的应用程序5A、5B和5C对应于受限的以及非受限的服务 供应器的设置中,来自供应管理器309的配置消息使客户端IA被配置为第三状态,从而使 应用程序5A、5B和5C能够与非受限的服务供应器(诸如服务器3A)而不是与受限的服务 供应器(诸如服务器3B)建立推送通知会话。然后,供应管理器309将条件性的授权消息传送至客户端1A,随后客户端IA与企业网络4B通信以请求将授权消息传送至供应管理器 309,使得客户端IA能够转换为第一状态。可替代地,推送供应管理器309可直接从企业网 络4B寻求需要的授权而无需涉及客户端1A。
[0067]供应管理器309可允许企业网络4B控制对由其中的实体提供的服务的授权,或者 可允许企业网络4B控制对在客户端设备IA上使用的所有可用的服务的授权。客户端IA 可具有对应于多个受限的服务供应器的应用程序,其中每个应用程序均具有对其相应服务 的调解推送供应的授权控制。
[0068]在对应于给定客户端1A、1B、1C或ID的用户离开企业网络4B的情况下,企业网络 4B可发送消息,从而将与给定客户端1A、1B、1C或ID相关联的授权状态变为未授权。客户 端1A、1B、1C或ID的授权状态的变化也将限制其上的应用程序来与企业网络4B建立推送 通知会话。因此,实施方式不仅扩展调解推送服务的范围,而且还能实现利用企业网络4B 的有效授权控制。
[0069]供应管理器309也可与服务器3A和3B以及与其相关联的企业网络4B建立初始 信任关系,从而检查推送服务供应器。通过注册处理可以建立与服务器3A和3B的初始信 任关系,其中,服务器3A或3B请求授权以经由推送供应实体102提供调解推送服务。
[0070]供应管理器309可评估服务器3A或3B或者与其相关联的企业网络4B的适用性 以用于提供推送通知服务。可基于诸如提供的内容的性质的预定规则评估适用性。
[0071 ] 推送供应实体102的服务器授权管理器部件304维护服务器3A和3B的授权状态。 供应管理器309可基于预定规则有条件地注册给定的服务器3A或3B,从而限制到客户端 1A、1B、1C和ID或其用户的调解推送服务(这被确定为满足规则的条件)。例如,若供应管 理器309认为由给定服务器3A或3B提供的内容适合于用户的选择,诸如色情内容被确定 为适合于年龄在18岁以上的用户,则服务器授权管理器304将条件性规则与给定服务器3A 或3B相关联。
[0072]如上所述,一旦给定客户端IA被配置为第一操作状态,客户端IA上的应用程序 5A、5B和5C便能够请求建立调解的推送通知会话。为了建立推送通知会话,给定应用程序 5A将推送通知会话请求传送至推送供应实体102。响应于对推送通知会话请求的接收,路 由管理器308将请求路由至推送供应管理器301。然后推送供应管理器301产生用于验证 推送通知会话的令牌。
[0073]推送供应管理器301可基于预定标准选择性地产生令牌。该预定标准可包括验证 对应于与推送通知会话请求消息相关联的服务器3A或3B的记录。该记录可被保存在本地 的推送供应实体102上或远离服务器3A和3B的任何其他实体上。该记录包括指示服务器 3A或3B是否被授权为进行推送通知会话的数据。可根据由服务器授权管理器304确定的 服务器3A和3B的授权状态保存该记录。因此,推送供应管理器301可阻止与未授权的服 务器建立推送通知会话。推送供应管理器301可基于由应用程序授权管理器307维护的服 务器应用程序配对来确定对应于给定推送通知会话请求消息的给定服务器3A或3B。
[0074]应用程序授权管理器307在推送供应实体102与服务器3A和3B的初始信任关系 的建立期间获取应用程序和服务器配对。在诸如其中推送供应管理器301从在应用程序授 权管理器部件307中不具有相应的服务器配对记录的给定应用程序5C接收推送通知会话 请求消息的设置中,推送供应管理器301将条件与对应于产生的令牌的记录相关联,当从相应服务器3A或3B接收到与其相关联的消息时,该令牌使该配对被创建。供应管理器309 可在建立请求的推送通知会话之前请求注册未知的服务器。
[0075]预定标准也可包括验证与应用程序5A相关联的认证凭证。应用程序认证凭证可 以由企业网络4B来提供。应用程序认证凭证可被限制为预定时段或使用数量,因此,例如 企业网络4B可以提供与其相关联的服务的受限使用/时段试用。应用程序认证凭证也可 由企业网络4B设置为更长的时段或不具有限制。可替代地,应用程序认证凭证可以是应用 程序签名。
[0076]预定标准可进一步包括鉴别使用客户端IA的用户。用户的认证建立了与设备的 端点用户的信任关系,从而限制由于未授权用户的意外使用而导致的损坏。
[0077]预定标准还可包括验证与对应于应用程序5A的服务器3A或3B相关联的认证凭 证。推送供应管理器301通过查询由应用程序授权管理器部件307维护的服务器应用程序 配对来确定对应于应用程序5A的服务器3A或3B。响应于确定,推送供应管理器301能够 从其获取认证凭证。
[0078]响应于令牌的选择性产生,推送供应管理器301通过产生对应于请求的推送通知 会话的记录并且存储识别应用程序5A、客户端1A、会话ID以及在其中产生的令牌的数据, 将产生的令牌与应用程序5A相关联。
[0079]推送供应管理器301利用令牌来识别对应于特定推送通知会话的记录,该记录随 后能使推送供应管理器301与路由管理器308协作以将通知消息路由至它们相应的应用程 序5A、5B和5C。因此,令牌用作推送供应实体102的部件的会话标识符。
[0080]然后,推送供应管理器301选择性地将用于递送至应用程序5A的令牌传送至客户 端1A,应用程序5A利用该令牌建立推送通知会话。客户端IA响应于对令牌的接收,创建包 含识别应用程序5A、接收的令牌以及会话ID的数据的记录。
[0081]如本领域中所熟知,会话是两个或更多个计算设备之间的信息的非永久性交换。 在特定时间点建立的会话后续会被消除。由于令牌被用于验证推送通知会话,所以实施方 式在产生的会话识别数据中引入临时生,从而将应用程序5A、5B和5C与服务器3A或3B之 间的推送通信限制为会话的持续时间。因此,应用程序5A、5B和5C在其每次希望建立推送 通知会话时将必需请求新的令牌。
[0082]相反,现有技术方法并不限制用于推送服务的应用程序注册的有效性。这使得现 有技术方法不适于经由推送通知提供安全信息。例如,考虑如下情景:其中,包含有权访问 企业网络4B的推送通知服务3B的应用程序5A的客户端IA改变了所有者,其中,新的所有 者未被授权使用企业网络4B的服务。在这种情景下,新的所有者能够获取对由服务器3B 传送至应用程序5A的通知消息的访问权。这是因为现有技术方法中的信任关系从未更新。
[0083]相反,当能够验证给定应用程序对进一步推送通知消息的持续接收的适用性时, 实施方式在每次其希望建立推送通知会话时要求应用程序更新该信任关系。该实施方式即 通过对应用程序5A对于建立与信道相反的会话的适用性进行评估,在限制时间段内对用 于接收推送通知的应用程序5A进行验证。
[0084]转向推送通知会话的建立,在应用程序5A、5B和5C能够从推送供应管理器310请 求推送通知会话的情况下,推送供应管理器301为每个相应的应用程序产生不同的令牌以 响应于对来自应用程序5A、5B和5C的推送通知会话请求消息的接收。因此,给定应用程序5A、5B和5C的注册独立于任何其他应用程序的注册。
[0085]由于为在相同或不同端点(8卩,应用程序5么、58和50与服务器3A和3B之间的 每个推送通知会话产生不同的令牌,所以令牌的有效性被链接至相关联的推送通知会话的 有效性。因此,有效地,令牌是由推送供应管理器301供应的用于建立和进行给定推送通知 会话的一次性口令。因此,令牌可被用作会话有效性凭证。
[0086]转向图4,现将描述用于在应用程序5A和5B与企业网络4B的服务器3B之间建 立推送通知会话的设置。除了服务器3B之外,企业网络4B包括调节进出企业网络4B的数 据包的通道的防火墙401。企业网络4B额外地可包括维护具有对由企业网络4B提供的服 务(包括服务器3B的推送通知服务)的访问权的客户端1A、1B、1C和ID的列表的设备访 问控制实体403。
[0087]设备访问控制实体403保持对与客户端1A、IB、IC和ID相关联的访问授权的变化 的跟踪。设备访问控制实体403可与供应管理器309协作从而将关于被授权建立给定调解 推送通知会话的客户端1A、1B、1C和ID报告给推送供应实体102。
[0088]设备访问控制实体403可通过将应用程序授权细节传达至应用程序授权管理器 307来控制应用程序5A、5B或5C建立推送通知会话的授权。随后,应用程序授权管理器307 能够限制向具有建立推送通知会话的授权的应用程序5A、5B或5C产生令牌。
[0089]现将参照图5描述引导在存在于终端IA上的应用程序5A与服务器3B之间的推 送通知会话的建立的步骤的顺序。为了概括,在应用程序5A、5B和5C能够经由推送供应实 体102建立调解推送通知会话之前,客户端IA必需完成对供应管理器309的注册。客户端 IA接收配置消息(步骤52)以响应于供应请求消息的传送(步骤51),该配置消息触发客 户端IA将其自身配置为第一操作状态。其中,客户端IA上的应用程序5A、5B和5C能够建 立推送通知会话。
[0090]应用程序5A通过将用于给定推送通知会话的请求传送至客户端IA来启动给定通 知会话的建立(步骤53),然后,客户端IA将对令牌的请求传送至推送供应管理器301 (步 骤 54)。
[0091]然后,推送供应管理器301产生令牌(步骤55)以用于验证请求的推送通知会话。 如上所述,可根据预定标准产生令牌。一旦产生令牌,推送供应管理器301将令牌传送至客 户端IA (步骤56),客户端IA然后将接收的令牌传递给应用程序5A。响应于对令牌的接收, 应用程序5A将接收的令牌提供至相应的服务器3A或3B以建立推送通知会话(步骤511、 512 和 513)。
[0092]令牌向相应服务器3B的递送不局限于特定协议或通信介质。应用程序5A可利 用任何其可用的通信协议或介质来将令牌提供至相应的服务器3B。不具有限制,通信协议 可包括无连接协议,诸如用户数据报协议;定向连接协议,诸如传输控制协议;存储转发协 议,诸如电子邮件;移动消息服务,诸如短消息服务;点对点通信协议,诸如蓝牙? ;或点对 多点通信协议,诸如因特网组群管理协议。不具有限制,应用程序5A可利用终端IA上可用 的任何诸如W1-Fi或全球移动通信系统(GSM)的无线或诸如以太网的有线通信介质以传送 令牌。
[0093]在应用程序5A不具有服务器3B的连接细节(诸如IP地址)或服务器3B不可利 用的情况下,应用程序5A可通过发送服务器连接请求消息从推送供应管理器301寻求帮助(步骤58)。
[0094]可由推送供应管理器301通过供应服务器3B的连接细节来向应用程序5A提供帮 助。然后,应用程序5A可利用这些连接细节与服务器3B通信从而将令牌提供至服务器3B。 可替代地,与路由管理器308协作的推送供应管理器301可识别网络节点以传送从应用程 序5A接收的服务器访问请求,并且将请求传送至识别的节点,从而便于将来自应用程序5A 的令牌供应至服务器。
[0095]网络节点可以是服务器3B本身或与服务器3B相关联的诸如代理服务器402的实 体(如图5中的步骤59所示),代理服务器402将企业网络4B的策略应用于到/来自服务 器3B的数据包。该策略可包括加密和解密到/来自服务器3B的数据包。
[0096]可替代地,网络节点可以是安全连接调解实体或者可作为企业网络4B的内部或 外部的与服务器3B相关联的中继服务器。
[0097]然后,应用程序5A能够建立与服务器3B的用于递送令牌的连接。可由应用程序 5A或代表应用程序5A的客户端IA建立连接。
[0098]当在客户端IA与代理服务器402之间建立连接时,应用程序5A经由客户端IA和 代理服务器402将令牌传送至服务器3B(如图5中的步骤511、512和513所示)。响应于 对令牌的接收,服务器3B可建立推送通知会话。
[0099]可替代地,服务器3B可在建立推送通知会话之前利用推送供应管理器301确认令 牌的有效性。为了使令牌生效,服务器3B将包含从应用程序5A接收的令牌的令牌验证请 求传送至推送供应管理器301。令牌验证请求可直接由服务器3B传送至推送供应管理器 301。可替代地并且如图5所示,服务器3B可经由代理服务器402传送令牌验证请求(步 骤 514 和 515)。
[0100]响应于对令牌验证请求的接收,推送供应管理器301评估接收的令牌是否与提供 至应用程序5A的用于推送通知会话的令牌相对应,从而能实现在服务器3B与应用程序5A 之间的推送通知会话。
[0101]然后,推送供应管理器301可根据该评估选择性地将授权消息传送至服务器3B, 从而能进行推送通知会话。因此,推送供应管理器301包括用于阻止对应于伪造的或无效 令牌的推送通知会话的建立的方法。
[0102]因此,在从服务器3B中接收的令牌对应于提供至应用程序5A的令牌的情况下,推 送供应管理器301将选择性地将授权消息传送至服务器3B。如图5所示,授权消息可经由 代理服务器402传送(步骤516和517)或者可直接传送至服务器3B。
[0103]推送供应管理器301可根据预定授权标准选择性地传送授权消息。预定授权标 准可包括例如基于与其相关联的认证凭证来验证服务器3B的授权。推送供应管理器301 可通过向其传送认证凭证请求来获取服务器3B的认证凭证以响应于对令牌验证请求的接 收。通过浏览服务器查找由应用程序授权管理器307维护的应用程序配对,预定授权标准 还可包括验证服务器3B与应用程序5A之间的相关性。
[0104]在令牌不彼此相对应或不满足预定授权条件的情况下,推送供应管理器301认为 评估失败。推送供应管理器301可选择性地将错误消息传送至服务器3B,从而使得推送通 知会话建立终止。
[0105]推送供应管理器301可根据评估更新与推送通知会话相关联的会话状态。例如,若评估失败,会话状态可从未决更新至无效。
[0106]在评估成功的情况下,一旦传送授权消息,推送供应管理器301将推送通知会话 标记为有效,并且相应地更新相应推送通知会话的会话状态。
[0107]服务器3B基于从推送供应管理器301接收的任何响应消息(诸如错误或授权消 息)确定令牌验证请求的结果。若服务器3B在发送令牌验证请求的预定时间段内没有接 收到任何消息,则服务器3B可认为该评估不成功或重发令牌无效请求。
[0108]在服务器3B接收到错误消息的情况下,服务器3B终止推送通知会话的建立,并且 可直接地或经由推送供应实体102将失败消息传送至应用程序5A。然后,应用程序5A可通 过将另一推送通知会话请求消息传送至推送供应管理器301来重新尝试推送通知会话的 建立(步骤53)。
[0109]在服务器3B接收到指示成功授权的授权消息的情况下,服务器3B完成推送通知 会话的建立。然后,服务器3B可利用建立的推送通知会话开始将通知消息传送至应用程序 5A。
[0110]服务器3B可利用通知消息将信息传达至应用程序5A或与其相关联的用户,诸如 传达至应用程序5A的新电子邮件通知或状态更新。通知消息可包括文本、图形、音频、视频 或多媒体数据。服务器3B也可利用通知消息将指令传送至应用程序5A。指令定义由在客 户端IA上的应用程序5A执行的步骤。不具有限制,指令可包括更新潜在的应用程序软件、 调用应用程序功能等的步骤。
[0111]响应于用于应用程序5A的服务器3B上的通知消息,服务器3B将通知消息与相应 的令牌打包,并且将通知消息传送至推送供应管理器301。可替代地并且如图5所示,服务 器3B将数据包传送至代理服务器402,然后,代理服务器402将数据包传送至推送供应管理 器301 (步骤518和519)。
[0112]可以未加密或加密的形式将通知消息传送至推送供应管理器301。如技术人员所 熟知,加密消息将限制对目标应用程序5A的通知消息的内容的访问。通知消息可由服务器 3B来加密。可替代地并且如图5所示,通知消息可由代理服务器402来加密以确保与企业 网络4B的安全策略相兼容(步骤519)。加密可基于预先协商的加密标准。
[0113]推送供应管理器301响应于对数据包的接收,从数据包中提取令牌并且利用提取 的令牌检索对应于相关联的推送通知会话的记录。
[0114]然后,推送供应管理器301可基于预定评估条件(诸如令牌的有效性)评估令牌。 推送供应管理器301通过验证接收的令牌是否与提供至相应的应用程序5A的用于该推送 通知会话的令牌相对应来验证令牌。如上所述,令牌也可用作会话有效性凭证,使得令牌的 有效性额外地验证相关联的推送通知会话的有效性。预定评估条件还可包括验证服务器3B 是否被授权通过该推送通知会话传送通知消息。
[0115]在令牌评估不成功或令牌不具有任何相应的记录的情况下,推送供应管理器301 丢弃接收到的数据包。推送供应管理器301可进一步将错误消息传送至服务器3B和/或 应用程序5A。
[0116]响应于对错误消息的接收,服务器3B可传送令牌验证请求消息以建立令牌的有 效性(步骤514和515)或可重发通知消息(步骤518和519)。在令牌验证失败或接收到 另一错误消息的情况下,服务器3B可终止推送通知会话。服务器3B也可将消除消息传送至推送供应管理器301,从而终止推送通知会话并且释放可为其保留的任何网络资源。推送 供应管理器301可进一步将消除消息传送至应用程序5A。
[0117]推送供应管理器301可基于预定监控标准监控失败令牌的有效性以确定令牌破 坏的可能性。预定监控标准可包括连续失败的令牌验证的数量,例如,具有多于三个的连续 令牌验证失败的推送通知会话。预定监控标准也可包括来自给定服务器3A或3B的令牌验 证失败的频率。推送供应管理器301可进一步基于确定的可能性控制推送通知会话,诸如 若令牌破坏的可能性高,则推送供应管理器301可通过将相关联的令牌的有效性变为无效 而终止推送通知会话。
[0118]推送供应管理器301也可扫描接收到的通知消息从而检测任何恶意的通知消息。 可基于包含在其中的内容和/或指令的适应性来确定给定通知消息为恶意的。扫描可包括 评估通知消息的数据以确定它是否适于目标接收者。扫描可进一步包括评估指令以确定在 客户端IA上执行的指令是否安全,从而阻止恶意的或危险的指令在客户端IA上执行。
[0119]在通知消息被确定为恶意的情况下,推送供应管理器301丢弃该通知消息而无需 将它传送至客户端1A。推送供应管理器301也可将包含指示扫描结果的数据的错误消息传 送至服务器3B。推送供应管理器301也可监控恶意的消息从而确定服务器3A和3B的安全 性,并且利用安全性参数选择性地允许服务器3A和3B将通知消息提供至应用程序5A、5B 和5C。
[0120]来自服务器3A或3B的通知消息也可使推送供应管理器301产生用于应用程序5A 的指令。该指令定义由客户端IA上的应用程序5A执行的步骤。例如,若通知消息通知应 用程序5A将更新潜在的应用程序软件,则推送供应管理器301可产生用于实现软件更新的 指令。
[0121]然后,推送供应管理器301选择性地将用于递送至相应的应用程序5A的接收到的 通知消息和任何指令传送至客户端IA (步骤520)。响应于对通知消息的接收,客户端IA将 通知消息传递给相应的应用程序5A(步骤521)。
[0122]在通知消息被加密并且解密密钥由客户端IA维护的情况下,客户端IA在将通知 消息传送至应用程序5A之前对其进行解密(步骤521)。可替代地并且若解密密钥由应用 程序5A维护,则客户端IA将加密消息传送至应用程序5A。
[0123]推送供应管理器301可以多路复用数据包的形式传送从服务器3A和/或3B接收 的发往客户端IA上的任何应用程序5A、5B和/或5C的多个通知消息。因此,例如,若推送 供应管理器301从服务器3A接收用于应用程序5C的第一通知消息以及从服务器3B上接 收用于应用程序5A的第二通知消息,则推送供应管理器可以数据包形式多路复用第一和 第二通知消息,并且将多路复用数据包递送至客户端1A。响应于对多路复用数据包的接收, 客户端IA将提取第一和第二通知消息并且将第一和第二通知消息分别提供至应用程序5C 和5A。推送供应管理器301可将在预定时间段内接收的通知消息多路复用。
[0124]关于经由推送供应实体102在客户端设备IA上的应用程序5A、5B和5C与服务器 3A之间建立推送通知会话的步骤,应当理解的是,由应用程序5A、5B和5C获取令牌的步骤 (即,步骤51至57)类似于有关上述服务器3B描述的步骤。响应于令牌的获取,应用程序 5A、5B和5C直接地或结合推送供应实体102将令牌传送至服务器3A。然后,服务器3A可 通过与推送供应实体102通信验证令牌的授权。应当理解的是,在服务器3A与推送供应实体102和/或客户端设备IA之间的通信不涉及中继服务器601和代理服务器402。
[0125]调解终端服务器连接的建立
[0126]如上所述,用于将令牌从应用程序5A递送至服务器3B的通信连接可建立在应用 程序5A与服务器3B之间,或者可建立在企业网络4B与客户端IA之间(步骤510)。现将 参照图6说明由中继服务器601调解的后者的实例。中继服务器601能够在通信协议和/ 或客户端IA与企业网络4B的性能之间存在不匹配时建立安全连接。中继服务器601也可 被用于屏蔽企业网络4B的连接细节。
[0127]客户端IA通过将连接请求传送至中继服务器601来启动连接建立处理(步骤 61)。客户端IA可将连接请求直接传送至中继服务器601 (步骤61)。可替代地,客户端IA 可经由推送供应管理器301传送连接请求。
[0128]响应于对连接请求的接收,中继服务器601基于预定连接条件选择性地将连接请 求传送至连接建立实体,诸如企业网络4B的代理服务器402 (步骤62)。预定连接条件可包 括确定是否在客户端IA上进行了恶意软件扫描或病毒扫描。预定连接条件还可包括验证 与客户端1A、应用程序5A或与其相关联的用户相关联的认证凭证。
[0129]预定连接条件还可包括验证对应于客户端IA和/或应用程序5A的授权状态。授 权状态可被维护在本地的中继服务器601上或可以从企业网络4B中检索。中继服务器601 也可基于之前的连接请求的结果产生授权状态。因此,中继服务器601包括用于过滤连接 请求的方法。
[0130]推送供应管理器301可监控维护在中继服务器601处的授权状态从而控制相关联 的推送通知会话。可根据相关联的推送通知会话的会话状态进行授权状态的监控。推送供 应管理器301也可利用用于任何其他推送通知会话的令牌的选择性产生中的授权状态。
[0131]响应于对连接请求的接收,若客户端IA被允许与企业网络4B建立安全连接,则代 理服务器402通过将接受消息传送至中继服务器601选择性地接受连接请求(步骤63)。然 后,中继服务器将接受消息传送至客户端IA (步骤64)。客户端IA经由中继服务器601将 密钥请求传送至代理服务器402 (步骤65和66)。随后,代理服务器402提供加密密钥(优 选地,利用预先共享秘密加密)以用于与企业网络4B的通信。密钥经由中继服务器601传 送至客户端IA (步骤66和67)。然后,客户端IA从代理服务器402请求不同于推送通知会 话令牌的认证令牌(步骤68和69)。
[0132]优选地,认证令牌代表企业认证凭证,诸如共享秘密,共享秘密在特定时段内可以 是有效的或者直至特定事件,诸如相关安全连接的终止。如将被理解的,一旦认证令牌过 期,可暂停到相关客户端的推送通知消息的传送,直至相关认证令牌重新生效或获得新的 认证令牌。
[0133]相应地,代理服务器402产生用于验证安全连接的认证令牌,并且将其与客户端 IA的用户的身份一起打包。然后,用户身份和认证令牌包被加密并且经由中继服务器601 被传送至客户端IA (步骤610和611),从而建立企业网络4B与客户端IA之间的安全连接。
[0134]在客户端IA与企业网络4B之间建立连接之后,应用程序5A将推送通知会话令牌 传送至服务器3B从而建立推送通知会话。如上所述,然后服务器3B可在建立推送通知会 话之前建立从推送供应管理器301接收的令牌的有效性,或者可以无需任何令牌验证而建 立推送通知会话。[0135]现将参照图7描述有效的推送通知会话建立的实例。具体地,图7示例了其中应用 程序5A请求与没有对推送供应实体102进行注册的服务器3B建立推送通知会话的设置。
[0136]响应于对来自应用程序5A的令牌的接收(步骤71和72),服务器3B将用于验证 的令牌传送至推送供应管理器301 (步骤73和74)。
[0137]响应于对令牌验证请求的接收,推送供应管理器301确定接收到的令牌是否与提 供至应用程序5A的用于该推送通知会话的令牌相对应,并且基于该确定更新对应于推送 通知会话的记录。
[0138]推送供应管理器301可根据该确定选择性地保留通信网络资源。保留资源可包括 通信端口、带宽以及服务参数的质量,诸如优先权。
[0139]在接收到的令牌被确定为与提供至应用程序5A的令牌相兼容的情况下,推送供 应管理器301可基于预定规则选择性地将认证消息传送至服务器3B (步骤711和712)。预 定规则可包括验证与服务器3B相关联的认证凭证。
[0140]预定规则还可包括验证是否对服务器3B进行了关于恶意软件存在的扫描。若已 经在服务器3B上进行了扫描,则满足预定规则。因此,推送供应管理器301阻止不安全的 服务器传送通知消息。
[0141]预定规则可进一步包括验证对应于服务器3B的记录。如上所述,记录由服务器授 权管理器304保存并且包括指示服务器3B是否被授权进行推送通知会话的数据。在未授 权服务器3B进行推送通知会话的情况下,推送供应管理器301将令牌标记为无效,从而阻 止推送通知会话的建立。
[0142]在服务器3B或企业网络4B未被推送供应管理器301识别,即不存在相应的记录 的情况下,推送供应管理器301可传送指示识服务器3B对供应管理器309进行注册的条件 性授权消息(步骤75和76)。注册处理使对应于服务器3B的记录产生在推送供应实体102 中。
[0143]为发起注册处理,服务器3B将供应请求消息传送至供应管理器309 (步骤77和 78)。然后,供应管理器309根据上述步骤处理供应请求。随后供应管理器309可选择性 地将注册结果消息传送至服务器3B,从而通知服务器3B关于注册请求的结果(步骤79和 710)。
[0144]供应管理器309额外地通知推送供应管理器301关于服务器3B的注册请求的结 果,然后推送供应管理器301基于该结果处理未决的条件性确认。在服务器3B注册成功的 情况下,推送供应管理器301可选择性地将令牌有效消息传送至服务器3B,从而确认令牌 的有效性(步骤711和712)。因此,推送供应管理器301能够“按需”注册新的服务,从而 去除之前的注册服务的请求。然后服务器3B可如上所述将通知消息传送至应用程序5A (步 骤 713 至 716)。
[0145]在任何情况下,若在步骤74中从服务器3B接收的用于验证的令牌被确定为与提 供至应用程序5A的令牌相冲突,则推送供应管理器301通过将令牌的有效性标记为无效而 终止推送通知会话的建立。推送供应管理器301可将消除消息传送至应用程序5A。
[0146]在服务器3B上的令牌有效消息的接收完成了在应用程序5A与服务器3B之间的 推送通知会话的建立。然后,服务器3B可经由推送供应管理器301将通知消息传送至应用 程序5A (步骤713至716)。[0147]状杰监控
[0148]除了将通知消息递送至应用程序5A、5B和5C之外,推送供应管理器301还可监控 与服务器3B相关联的操作状态。如本领域中所熟知,操作状态指示给定服务器是否是激活 的、未激活的、可操作的或不可操作的。现将参照图8说明描述服务器3B的操作状态监控 的示例性实施方式。
[0149]推送供应管理器301包括使推送通知管理器301确定服务器3B的操作状态的监 控中断(步骤82)。例如,推送供应管理器301基于与其相关联的预定非激活期来确定服 务器3B的操作状态。换言之,若推送供应实体102的部件没有接收到来自服务器3B的任 何通信,则推送供应管理器301将认为服务器3B是未激活的。从服务器3B接收的通信可 以是通知消息、令牌验证消息、服务器供应消息等,并且当推送供应管理器301不能与服务 器3B进行通信时,推送供应管理器301将认为服务器3B是不可操作的。例如,在服务器崩 溃的情况下(步骤81),服务器3B将是未激活的和不可操作的,直至服务器3B从崩溃中恢 复。
[0150]服务器3B或与其相关联的任何实体(诸如代理服务器402)可传送服务器操作状 态更新消息从而指示推送供应管理器301服务器3B是可操作的或不可操作的。服务器操 作状态更新消息可由服务器3B周期性地传送或在非激活期间传送。
[0151]可替代地,对于每个未激活的服务器3A或3B,推送供应管理器301传送使服务器 3B发送服务器操作状态更新消息的服务器状态查询消息。服务器状态查询消息可直接被传 送至服务器3B。
[0152]可替代地并且如图8所示,推送供应管理器301将服务器状态查询消息传送至代 理服务器402 (步骤83)。然后,代理服务器402通过向服务器3B传送“ping”消息(步骤 84)并且基于“ping”响应(如果有的话)产生服务器状态更新消息(步骤85)来建立服务 器3B的操作状态。然后代理服务器402将产生的服务器状态更新消息传送至推送供应管 理器(步骤86)。
[0153]如将被理解,“ping”消息可包括用于确定服务器3A和3B的操作状态的任何合适 的机制,诸如因特网控制消息协议(ICMP)的“ping”实用。
[0154]在推送供应管理器301在预定时间段内没有从服务器3B接收到任何服务器状态 更新消息或任何其他通信消息的情况下,推送供应管理器301认为服务器3B是不可操作 的。推送供应管理器301可重新尝试建立服务器3B的操作状态。
[0155]在服务器3B被确定为不可操作的情况下,推送供应管理器301将对应于与服务器 3B相关联的推送通知会话的令牌标记为无效,并且将推送通知会话消除消息传送至所有相 应的应用程序5A、5B和5C。
[0156]除了服务器3B的操作状态之外,推送供应管理器301也可确定推送通知会话的会 话状态。可基于与其相关联的预定非激活期确定会话状态。
[0157]也可基于会话状态响应消息确定会话状态,该会话状态响应消息可由服务器3B 自主地产生或者响应于来自推送供应管理器301的会话状态请求消息而产生。在后一情形 中,推送供应管理器301直接地或经由代理服务器402将包括令牌前缀的会话状态请求消 息传送至服务器3B (步骤87和88)。推送供应管理器301可将会话状态请求消息与服务器 状态查询消息相结合。令牌前缀可对应于给定推送通知会话或多个推送通知会话的令牌。令牌前缀可包括推送通知令牌中适于识别给定推送通知会话和/或给定推送通知令牌的 部分,而无需包括推送通知令牌的所有部分,从而防止对服务器3A和3B公开其未知的推送 通知令牌。
[0158]在令牌前缀对应于给定推送通知会话的情况下,服务器3B确定会话状态(即,可 操作的或不可操作的),并且将识别所确定状态的数据传送至推送供应管理器301 (步骤89 和810)。响应于对会话状态响应消息的接收,推送供应管理器301根据相关联的会话状态 来维护(例如,更新)对应于给定推送通知会话的令牌的有效性。
[0159]当令牌前缀对应于当前推送通知会话时,服务器3B确定对应于推送通知会话的 会话状态,并且将识别对应于至少任何不可操作的推送通知会话的会话状态的数据传送至 推送供应管理器301 (步骤89和810)。然后,推送供应管理器301基于其相应的会话状态 来维护对应于多个推送通知会话中的每一个的令牌的有效性。
[0160]在给定推送通知会话的会话状态指示给定推送通知会话是不可操作的情况下,推 送供应管理器301通过将相关联的令牌的有效性变为无效来终止给定推送通知会话,从而 终止推送通知会话。推送供应管理器301也可将推送通知会话消除消息传送至相关联的应 用程序5A、5B或5C。
[0161]推送供应管理器301也可根据会话状态将会话状态通知消息传送至与给定推送 通知会话相关联的应用程序5A (步骤812和813)。可替代地,推送供应管理器301可基于 更新或“心跳(heartbeat) ”中断来周期性地将会话状态通知消息传送至相应的应用程序 5A(步骤811)。响应于会话状态的更新或当推送通知会话被确定为是不可操作的时,可替 代地,会话状态通知消息可被传送至相应的应用程序5A。因此,推送供应管理器301可借助 会话状态通知消息来控制推送通知会话。
_2] 应用程序状态监控
[0163]现将参照图9描述在监控应用程序5A的状态中所包括的步骤。若应用程序5A被 确定为不能被客户端IA或推送供应管理器301访问,则应用程序5A的状态可变成不可操 作。由于应用程序失败(诸如应用程序软件崩溃(步骤91))或客户端IA失败,应用程序 5A可被确定为不可访问。应用程序状态可由推送供应管理器301通过监控任何失败的通知 消息递送来确定。
[0164]在一种设置中并且如图9所示,客户端IA执行状态监控处理以监控应用程序5A 的状态。可以周期性地监控应用程序状态,诸如响应于监控中断事件(步骤92)或响应于 对与应用程序5A相关联的消息的接收,诸如通知消息。
[0165]客户端IA可通过将“ping”消息传送至应用程序5A并且在预定时间段内等待响 应来确定应用程序5A的状态(步骤93)。如上所述,“ping”消息可包括用于确定应用程序 5A、5B和5C的状态的任何合适的机制,诸如因特网控制消息协议(ICPM) “ping”实用。
[0166]若在预定时间段内接收到响应,则应用程序5A被确定为可操作的。然后客户端 IA产生应用程序状态更新消息,并且将其传送至推送供应管理器301,然后推送供应管理 器301可将其传送至服务器3B (步骤95、96和97)。
[0167]例如,若在预定时段内没有接收到“ping”响应,则应用程序5A被确定为不可操作 的。然后客户端IA可选择性地传输消除消息从而终止与应用程序5A相关联的推送通知会 话。来自客户端IA的消除消息使推送供应管理器301将相关令牌的有效性标记为无效,从而终止推送通知会话。若应用程序5A已与多个服务器3A和3B建立了多个推送通知会话, 则推送供应管理器301还可将会话消除消息传送至相关联的服务器3B或服务器3A和3B。 因此,推送供应实体102能够基于应用程序和服务器的操作状态和/或会话状态来控制推 送通知会话。
[0168]企业网络会话控制
[0169]实施方式额外地允许企业网络4B控制与其相关联的推送通知会话的有效性。现 将参照图10描述能使企业网络4B基于设备认证来控制推送通知会话的有效性的步骤的顺序。
[0170]如上文参照图6的特定步骤65至612所述,代理服务器402和客户端IA在连接 建立阶段期间协商包括认证令牌以及一组消息加密和解密密钥的安全参数(图5中步骤 510)。认证令牌用作客户端IA的认证参数。
[0171 ] 响应于对来自服务器3B的通知消息的接收,代理服务器402检索对应于客户端IA 的认证令牌和加密密钥(步骤101和102)。然后代理服务器验证认证令牌与消息加密密钥 的有效性(步骤103)。在消息加密密钥和认证令牌是有效的情况下,代理服务器402利用 消息加密密钥将通知消息加密并且将加密消息与推送通知会话令牌一起打包(步骤107)。 然后代理服务器402将数据包传送至推送供应管理器301,该推送供应管理器301验证推送 通知会话令牌并且使用它来确定相关联的应用程序5A (步骤108)。路由管理器308将加密 的通知消息传送至对应于应用程序5A的客户端1A。然后客户端IA利用消息解密密钥对通 知消息进行解密,并且将解密消息提供至相关联的应用程序5A (步骤109和1010)。
[0172]在步骤103中认证令牌被确定为无效的情况下,即,认证令牌的有效性已过期,代 理服务器402将拒绝通知消息的传送并且转而经由推送供应管理器301将无效认证令牌命 令传送至客户端IA (步骤104和105)。推送供应管理器301也可相应地更新相关联的推送 通知会话的会话状态。
[0173]响应于对无效认证命令的接收,客户端IA重新建立与企业网络的连接(步骤 510),并且更新认证令牌的有效性或获取新的认证令牌(步骤106)。然后,代理服务器402 如上所述利用消息加密密钥对被拒绝的通知消息进行加密并且实现被拒绝的通知消息向 应用程序5A的递送(步骤107至1010)。
[0174]在步骤103中消息加密密钥的有效性被确定为过期的情况下,代理服务器402可 如上所述传送无效认证令牌命令并且使客户端IA重新建立或更新安全连接参数(步骤104 至106)。可替代地,代理服务器可更新消息加密密钥并且利用更新的消息加密密钥对通知 消息进行加密,这使加密的通知消息被递送至客户端IA(步骤107至109)。然而,客户端 IA将不能使用过期的消息解密密钥解密通知消息。
[0175]然后,客户端IA可通过重新建立与企业网络4B的安全连接来重新建立或更新安 全连接参数(即,认证令牌和/或消息加密和解密密钥)(步骤106)。一旦获取了新的消息 解密密钥,客户端IA将未决的通知消息解密并且传送至应用程序5A。
[0176]因此,根据本实施方式,企业网络4B能够通过控制相关联的客户端1A、IB、IC和ID 的连接参数的有效性来控制与企业网络4B相关联的推送通知会话。
[0177]上述实施方式将被理解为本发明的说明性实例。本发明的其他实施方式可被预 见。例如,本实施方式可被实施为一个或多个软件或者固件应用程序、计算机执行的方法、存储在计算机可用介质上的用于在一个或多个处理器(例如,CPU、微控制器)或无线基站 中的其他计算设备上执行的程序产品。
[0178]还应当理解的是,各种部件和网络实体的方式均可存在于单个实体群上,从而使 单个实体群作为单一实体呈现给外部实体。
[0179]应当理解的是,关于任一实施方式而描述的任何特征可单独地或结合描述的其他 特征来使用,并且还可结合本实施方式的一个或多个任何其他的特征、或任何其他实施方 式的任何组合来使用。此外,在不偏离所附权利要求中限定的本发明的范围的情况下,也可 采用上述未描述的等价物和变形。
【权利要求】
1.一种用于经由通信网络在客户端上的应用程序与对应于所述应用程序的服务器之间供应推送通知会话的方法,所述客户端具有能使所述客户端请求与所述服务器的所述推送通知会话的第一操作状态,以及不同于所述第一操作状态的第二操作状态,所述方法包括:响应于从所述客户端接收推送通知供应请求消息,将消息传送至所述客户端,从而将所述客户端配置为所述第一操作状态;并且之后,响应于从所述应用程序接收推送通知会话请求消息,执行以下步骤:生成用于确认所述推送通知会话的令牌;将所生成的令牌与所述应用程序相关联;以及将所述令牌传送至所述应用程序以用于建立所述推送通知会话。
2.根据权利要求1所述的方法,其中,所述客户端包括多个应用程序,每个应用程序均能请求推送通知会话,并且所述方法包括响应于对从每个相应的应用程序发起的推送通知会话请求消息的接收为所述每个相应的应用程序生成不同的令牌。
3.根据权利要求1或2所述的方法,其中,响应于对所述推送通知会话请求消息的接收,所述方法进一步包括更新对应于所述端的记录,所述记录被维护在远离所述客户端的设备上并且在生成所述令牌之前被访问。
4.根据权利要求1至3中任一项所述的方法,其中,所述方法包括基于预定标准选择性地生成所述令牌。
5.根据权利要求4所述的方法,其中,所述预定标准包括对与所述服务器相对应的记录的确认,所述记录被维护在远离所述服务器的设备上并且包括指示所述服务器是否被授权以进行所述推送通知会话的数据。
6.根据权利要求4或5所述的方法,其中,所述预定标准包括对与所述应用程序相关联的认证凭证的验证。
7.根据权利要求4至6 中 任一项所述的方法,其中,所述预定标准包括对与所述服务器相关联的认证凭证的验证。
8.根据权利要求1至7中任一项所述的方法,包括直接从所述应用程序将所述令牌提供至所述服务器,从而建立所述推送通知会话。
9.根据权利要求1至8中任一项所述的方法,其中,响应于来自所述应用程序的服务器访问请求,所述方法包括识别网络节点以传送所接收的服务器访问请求,并且将所述服务器访问请求传送至所述网络节点。
10.根据权利要求9所述的方法,其中,所述网络节点为所述服务器。
11.根据权利要求9所述的方法,其中,所述网络节点是与所述服务器相关联的安全访问供应实体。
12.根据权利要求11所述的方法,其中,所述方法进一步包括根据与其相关联的授权状态选择性地供应所述推送通知会话,所述授权状态指示所述安全访问供应实体是否授权所述应用程序进行所述推送通知会话。
13.根据权利要求12所述的方法,其中,所述方法包括根据所述推送通知会话的会话状态选择性地监控所述授权状态,从而控制所述推送通知会话。
14.根据权利要求1至13中任一项所述的方法,其中,响应于从所述服务器接收包括另一令牌的令牌确认请求,所述方法包括评估所述另一令牌是否与提供至所述应用程序的用于所述推送通知会话的所述令牌相对应。
15.根据权利要求14所述的方法,其中,所述方法包括根据所述评估选择性地将授权消息传送至所述服务器,从而使得能够在所述服务器与所述应用程序之间进行所述推送通知会话。
16.根据权利要求14或15所述的方法,其中,所述方法包括根据所述评估选择性地更新所述推送通知会话的会话状态。
17.根据权利要求1至16中任一项所述的方法,进一步包括基于与其相关联的预定非激活期和/或从所述服务器接收的指示操作状态的数据来确定所述服务器的操作状态。
18.根据权利要求1至17中任一项所述的方法,进一步包括基于与其相关联的预定非激活期和/或从所述服务器接收的会话状态响应消息来确定与所述推送通知会话相关联的会话状态。
19.根据权利要求18所述的方法,其中,所述会话状态响应消息是响应于向所述服务器的会话状态请求消息的传送而生成的。
20.根据权利要求18或19所述的方法,包括从所述会话状态响应消息获取在所述服务器上的所述推送通知会话的状态,并且根据所获取的状态维护所述令牌的有效性。
21.根据权利要求18至20中任一项所述的方法,包括从所述会话状态响应消息获取对应于多个推送通知会话的状态,每个所述推送通知会话对应于存在于不同客户端上的不同应用程序并且具有与所述不同应用程序相关联的不同令牌,且根据所获取的状态来维护所述不同令牌中的每一个的有效性。
22.根据权利要求18至21中任一项所述的方法,其中,在所述会话状态被确定为不可操作的情况下,所述方法包括通过将所述令牌的有效性标记为无效来终止所述推送通知会话。
23.根据权利要求18至22中任一项所述的方法,包括根据所获取的会话状态选择性地将状态通知消息传送至所述应用程序,从而控制所述推送通知会话。
24.根据权利要求1至23中任一项所述的方法,其中,响应于从所述服务器接收用于递送至所述应用程序的包括另一令牌的通知消息,所述方法进一步包括评估所述另一令牌是否与提供至所述应用程序的用于所述推送通知会话的所述令牌相对应,并且根据所述评估将用于递送至所述应用程序的所述通知消息选择性地传送至所述客户端。
25.根据权利要求24所述的方法,所述方法进一步包括扫描所述通知消息,从而检测恶意的通知消息,并且根据所述扫描选择性地将所述通知消息传送至所述客户端。
26.根据权利要求24或25所述的方法,其中,基于所述通知消息,所述方法进一步包括生成与所述推送通知会话相关联的指令,所述指令限定由所述客户端上的所述应用程序执行的步骤,并且将用于递送至所述应用程序的所述指令传送至所述客户端。
27.根据权利要求1至26中任一项所述的方法,其中,响应于对所述推送通知会话请求消息的传送,所述方法包括在所述客户端上执行状态监控处理,所述状态监控处理包括以下步骤:监控所述应用程序的处理状态;以及根据所述处理状态选择性地传送消除消息,从而终止所述推送通知会话。
28.一种用于经由通信网络在客户端上的应用程序与对应于所述应用程序的服务器之间供应推送通知会话的推送供应实体,所述客户端具有能使所述客户端请求与所述服务器的所述推送通知会话的第一操作状态,以及不同于所述第一操作状态的第二操作状态,所述推送供应实体包括:供应模块,用于从所述客户端接收推送通知供应请求消息,并且将消息传送至所述客户端,从而将所述客户端配置为所述第一操作状态;以及会话供应模块,用于执行推送供应处理,所述会话供应模块响应于从所述应用程序接收推送通知会话请求消息,从而执行关于所接收的推送通知会话请求消息的所述推送供应处理,所述推送供应处理包括:生成用于确认所述推送通知会话的令牌;将所生成的令牌与所述应用程序相关联;以及将所述令牌传送至所述应用程序以用于建立所述推送通知会话。
29.一种计算机程序或计算机程序组,包括被配置为使计算机或计算机组执行根据权利要求I至27中任一项所述的方法的一组指令。
30.一种用于能 经由通信网络在客户端上的应用程序与对应于所述应用程序的服务器之间实现推送通知会话的方法,所述方法包括:响应于从所述应用程序接收推送通知会话请求消息,生成与所述推送通知会话相关联的第一令牌以用于确认所述推送通知会话;将所述第一令牌传送至所述应用程序;响应于从所述服务器接收包括第二令牌的令牌确认请求,确定所述第二令牌是否与提供至所述应用程序的用于所述推送通知会话的所述第一令牌相对应;以及根据所述确定选择性地将授权消息传送至所述服务器,从而使得能够在所述服务器与所述应用程序之间进行所述推送通知会话。
31.根据权利要求30所述的方法,其中,响应于所述确定,所述方法进一步包括更新对应于所述推送通知会话的记录,所述记录被维护在远离所述服务器的设备上并且在将与所述推送通知会话相关联的通知消息传送至所述应用程序之前被访问。
32.根据权利要求31所述的方法,其中,所述记录包括指示所述推送通知会话的会话状态的数据。
33.根据权利要求30至32中任一项所述的方法,其中,所述方法进一步包括根据所述确定选择性地保留通信网络资源。
34.根据权利要求30至33中任一项所述的方法,其中,所述方法包括基于预定标准选择性地传送所述授权消息。
35.根据权利要求34所述的方法,其中,所述预定标准包括对与所述服务器相关联的认证凭证的验证。
36.根据权利要求34或35所述的方法,其中,所述预定标准包括对与所述服务器相对应的记录的确认,所述记录被维护在远离所述服务器的设备上并且包括指示所述服务器是否被授权以进行所述推送通知会话的数据。
37.根据权利要求36所述的方法,其中,在不存在所述记录的情况下,选择性地将条件性授权消息传送至所述服务器,所述条件性授权消息指示所述服务器执行注册处理以建立所述推送通知会话,所述注册处理使所述记录在所述设备上被创建。
38.根据权利要求34至37中任一项所述的方法,其中,所述预定标准包括验证是否已对所述服务器进行了关于恶意软件的存在的扫描,在所述服务器上已进行了所述扫描的情况下,满足所述预定标准。
39.根据权利要求30至38中任一项所述的方法,其中,在所述第二令牌被确定为与所述第一令牌相冲突的情况下,所述方法进一步包括通过将所述第一令牌的有效性标记为无效来终止所述推送通知会话的建立。
40.根据权利要求39所述的方法,其中,所述方法进一步包括将消除消息传送至所述应用程序,从而终止所述推送通知会话的建立。
41.一种用于能经由通信网络在客户端上的应用程序与对应于所述应用程序的服务器之间实现推送通知会话的推送供应实体,所述推送供应实体包括:推送供应模块,响应于对来自所述应用程序的推送通知会话请求消息的接收,被设置成生成与所述推送通知会话相关联的第一令牌以用于确认所述推送通知会话,并且将所述第一令牌传送至所述应用程序;以及令牌确认模块,响应于对来自所述服务器的包括第二令牌的令牌确认请求的接收,被设置成确定所述第二令牌是否与提供至所述应用程序的用于所述推送通知会话的所述第一令牌相对应,并且根据所述确定将授权消息传送至所述服务器,从而使得能够在所述服务器与所述应用程序之间进行所述推送通知会话。
42.一种计算机程序或计算机程序组,包括被配置为使计算机或计算机组执行根据权利要求30至40中任一项所述的方法的一组指令。`
【文档编号】H04L29/08GK103460674SQ201280017785
【公开日】2013年12月18日 申请日期:2012年2月6日 优先权日:2011年2月11日
【发明者】哈尼夫·索马尼, 肖恩·迈克尔·昆兰 申请人:良好科技公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1