用于提供网络服务的通知系统的制作方法

文档序号:14394947阅读:442来源:国知局

相关申请

本申请要求2015年8月27日提交的临时美国专利申请no.62/210,914的优先权利益;前述优先权申请特此以引用方式整体并入。

本文中描述的实例涉及用于提供网络服务的通知系统。

图式简要说明

图1示出用于向终端用户装置提供通知服务的通知系统。

图2示出根据一个或多个实例,根据一个或多个实例的位置延迟条件(″ldc”)通知系统的实现方式,所述ldc通知系统可以实现为诸如就图1的实例示出的通知系统的服务。

图3示出根据一个或多个实例的应用同步系统的实现方式,所述应用同步系统可以实现为诸如就图1的实例示出的通知系统的服务。

图4示出根据一个或多个实例的网络安全系统的实现方式,所述网络安全系统可以实现为诸如就图1的实例示出的通知系统的服务。

图5示出根据一个或多个实例的内容递送推送系统的实现方式,所述内容递送推送系统可以实现为诸如就图1的实例示出的通知系统的服务。

图6示出用于将内容递送给移动计算装置的方法。

图7是示出计算机系统的框图,可以在所述计算机系统上实现本文中描述的方面。

图8是示出移动计算装置的框图,可以在所述移动计算装置上实现本文中描述的实施方案。

具体实现方式

根据一些实例,操作移动计算装置以在第一实例处接收触发器。所述触发器可以与预定义的条件或事件相关联。所述移动计算装置可以在第二实例处检测所述预定义的条件或事件。响应于检测到所述预定义的条件或事件,在移动计算装置上激活基于所述触发器的通知。

此外,根据一些实例,移动计算装置可以使用网络资源来从外部源接收用于通知的通知数据。所述移动计算装置可以存储基于所述通知数据的通知,其中所述通知与界定用于触发所述通知的条件的数据相关联。所述移动计算装置可以使用所述移动计算装置的本地资源来检测所述条件的出现,并且之后在不使用所述网络资源的情况下在本地激活所述通知。

在一些实例中,当在移动计算装置上更新对应的本地应用数据集时,更新网络应用数据集。确定各自包括相应的对应本地应用数据集的一个或多个其它装置。向所述一个或多个其它装置中的每一者发送推送通知以触发所述一个或多个其它装置中的每一者更新该装置的对应应用数据集。

在一些实例中,操作移动计算装置以从第二计算机系统接收验证请求。可以结合所述移动计算装置与第二计算机系统之间的通信交换来接收所述请求。基于来自第二计算机系统的请求,识别凭证以供第一计算机系统在通信交换中使用。向移动计算装置发送推送通知以触发移动计算机装置在通信交换中使用所述凭证。

此外,在其它实例中,操作移动计算装置以监视一组应用来识别通过执行该组应用中的每一应用而接收的一个或多个推送通知。聚合针对每一应用而识别出的所述一个或多个推送通知。所述移动计算装置可以提供数据结构来表示用于每一应用的聚合推送通知。

在一些实例中,计算机系统(例如,网络服务)操作以识别用于传输至移动计算装置的内容数据集。将所述内容数据集分割成多个内容段。将所述多个内容段中的每一者作为推送通知发送给移动计算装置。另外,将元数据集提供给移动计算装置,所述元数据集指明用于在移动计算装置上组合所述多个内容段的配置。

所描述的实例包括用于结合一种或多种网络服务向终端用户或运营者装置提供推送通知的系统。根据一些实例,提供一种系统,所述系统使用推送通知来实现网络服务。在此类实例中,使用推送通知实现了按常规方法原本无法具有同等效果的功能性、技术优势和好处。此外,在一些实例中,描述用于以扩增或增强网络服务的功能性和/或装置对网络服务的使用的方式使终端用户或运营者装置的操作能够结合网络服务接收和使用推送通知的系统。

图1示出用于向终端用户装置提供通知服务的通知系统。通知系统100可以包括多个服务器和其它计算资源,所述计算资源结合安装在终端用户装置上的一个或多个应用来提供各种服务。如图1中的实例所示,终端用户或运营者装置150可以对应于可以由不同种类或类别的用户/运营者(包括网络管理员、被管理用户(例如,在企业网络上的用户)和操作其自己装置的终端用户)使用的各种不同的计算装置和平台。举例来说,移动装置150可以对应于移动计算装置,诸如无线/电话多用途(例如,消息接发、语音)装置(例如,智能电话或功能电话)、平板计算机、可穿戴电子装置、游戏控制台、机顶盒、联网汽车控制台、膝上型计算机或个人计算机(例如,台式计算机或便携式计算机)。

通知系统100可以在向终端用户计算装置提供通知的过程中实现一个或多个通知服务。在许多实例中,所述通知可以呈“推送”通知的形式,这表示用于产生和发送通知的触发器由发送方发出,推送通知与拉取通知相反,其中接收装置请求或以其它方式开始其它装置发送通信。

在图1的实例中,通知系统100包括装置接口110、通知引擎120、服务接口122和一个或多个通知服务130。通知服务130可以结合通知引擎120提供各种不同的服务和功能性。举例来说,通知服务130可以包括客户端服务132,所述客户端服务对应于终端用户装置可以在装置150上安装或以其它方式实现的应用程序和配置,以便从通知系统100的单独服务接收通知。如就图3的实例所描述,同步服务134可以实现用于使本地数据集在共享应用平台和数据存储的计算机和装置间同步的功能性。如就图4的实例所描述,安全服务136可以操作以作为某过程的部分为接收装置产生推送通知,在所述过程中,将要对计算机系统或装置进行验证以便与另一个计算机系统或装置通信。如就图2的实例所描述,位置延迟条件(”ldc”)通知服务138可以实现用于使终端用户装置能够接收和存储通知数据并且另外在预定条件存在时在本地产生并触发通知的功能性。

在诸如就图1示出的实例的变型中,通知系统100可以具有更多或更少的服务。另外,虽然在通知系统100和通知服务130作为共同网络服务或实体的部分的情形中描述了一些实例,但是变型假设在通知系统100的远程并且独立于通知系统100来操作网络服务130。

在图1的实例中,移动装置150可以包括网络接口112、通知接口114和一个或多个应用组件116。应用组件116中的每一者可以对应于应用或应用平台,所述应用或应用平台被配置用于从通知系统100接收推送型通知。在一些实例中,可以使用来自通知系统100的指令(例如,客户端服务132)来安装或配置应用组件116(例如,用于第三方应用的插件)。在一些变型中,装置150的组件,包括网络接口112、通知接口114和应用组件116,可以源自受管理员管理和运营的企业特定平台。在操作中,通知系统100可以管理提供所述一个或多个通知服务130中的每一者的组件。在使用中的每一通知服务130可以从移动装置150上的对应组件接收通信。单独的通知服务130可以经由装置接口110接收通信,并且服务接口122可以将通信投送给或应用于既定服务的组件。

对于一些使用情形,装置接口110可以接收传入通信并且使用装置存储体126来确定对于装置识别符,用户和/或运营者简档是否存在。可以通过用户简档123和/或运营者简档存储体124来引用装置识别符。以此方式,对于给定的传入通信121,可以使用一组确定的简档信息来扩增或以其它方式识别装置、用户、许可等级、服务等级和/或移动装置150或用户的关于通知系统100的其它方面。装置接口110可以将传入通信121与根据简档信息或通知系统100的其它资源确定的参数和其它信息相关联。在一些变型中,服务接口122可以确定用于接收传入通信的特定服务。举例来说,传入通信可以起到各种作用,诸如配置所选通知服务130的操作或提供状态信息(例如,网络状态、位置、连接性等)。在一些变型中,传入通信121还可以包括对非推送通信的请求,取决于实现方式,可以通过通知服务130中的一者来提供所述非推送通信。此外,在其它变型中,传入通信121可以指示修改联网装置(例如,附属装置、车辆等)的操作参数。可以实现所述指令,同时通知用户。

通知服务130中的每一者还可以独立地操作以根据所述特定服务的编程和逻辑来产生通知。就下文提供的实例来更详细地描述通知服务130中的一些。通知服务130中的每一者可以产生通知数据,包括通知标头和/或内容(或主体),服务接口122可以产生所述通知数据或将所述通信数据组合成传出通知131,所述传出通知被发往既定装置150。在所示实例中,如就下文的实例所描述,网络接口112可以接收并处理传出通知131。

在操作中,装置150可以使用网络接口112与通知系统100通信。网络接口112可以对应于(例如)程序组件,所述程序组件维持或以其它方式能够建立在网络(诸如因特网)上与通知系统100的通信信道。移动装置150可以传送外出通信,诸如响应于或独立于接收推送通知而作的请求,以及识别所述装置和/或其用户的信息(例如,账户信息等)。网络接口112可以从装置150接收各种类型的通信,包括推送通知、消息或从移动装置150产生的客户端-服务器型通信。

在图1所示实例中,当传入通知被网络接口112接收到时,通知接口114可以处理所述通知并且选择将接收所述通知的应用组件116。应用组件116可以根据特定应用的规则、个性化和逻辑来处理通知。

在一些实例中,移动装置150包括聚合组件118,所述聚合组件可以收集并聚合由多个不同应用接收到的通知,所述应用为移动装置150的应用平台。可以从一个或多个不同的通知系统或服务接收通知131。因此,应用组件116不必为专用于通知系统100的平台。而是,移动装置150可以利用从多个独立源接收通知的应用组件116。聚合组件118可以对已通过在移动装置150上操作的不同应用接收并处理的通知进行排序以及以其它方式组织,并且聚合组件118可以用永久通知存储体125来存储通知的集合。用户接口,示出为通知收件箱127,可以与永久通知存储体128交互,以便使得能够查看所述通知并且进行用户交互和/或实现其它功能性。

图2示出根据一个或多个实例的位置延迟条件(“ldc”)通知系统的实现方式。可以使用(例如)在移动装置150上操作的一个或多个应用116来实现ldc通知系统200。举例来说,可以在图1的移动装置150上实现ldc通知系统,并且网络接口210可以提供网络接口112的实现方式的实例。进一步参考图1和图2的实例,ldc通知系统200可以操作以存取通知系统100的ldc服务138,以便接收并存储ldc通知225以便稍后进行有条件的和本地激活。举例来说,可以指示联网附件或车辆在某一位置改变操作参数并通知用户。再举例来说,可以预先安装联网飞机应用以在预定义的航点发送通知来实现追踪目的。

在图2的实例中,ldc通知系统200包括网络接口210、通知队列220、通知激活组件230和传感器监视器234。在一个实现方式中,可以实现通知选择逻辑214以经由网络接口210与通知系统100通信。通知选择逻辑214可以按类型(例如,地理栅栏或接近通知)或按参数(例如,特定地理周界)单独地确定用于选择ldc通知225的选择标准。一旦确定,通知选择逻辑214便可以经由网络接口210将选择标准传送给通知系统100。用户或运营者可以使用移动装置150或另一个计算机(例如,经由网络浏览器)来订用(例如)ldc服务138。在一个实现方式中,ldc通知系统200可以不断地触发移动装置150获得ldc型通知225。或者,ldc服务138可以基于服务逻辑自动地将ldc通知225传送给移动装置150。除其它实例外,ldc通知系统200还可以操作以在不进行网络存取的情况下(例如,在移动装置150离线时)触发ldc通知225。

更一般来说,ldc通知系统200可以接收依据各种不同条件来触发的ldc通知225。举例来说,一些通知可以指明地理栅栏条件,并且一些装置可以仅实现有限个地理栅栏。在此类情况中,通知选择逻辑214可以使用通知简档信息215来选择最适合作为在移动装置150上触发ldc通知225中的一者的条件的地理栅栏。举例来说,通知选择逻辑214可以基于装置最经常处在的位置或用户的家或工作位置来传送通知的选择标准。

在一些变型中,一旦接收到ldc通知225,通知配置逻辑218便可以实现可以进一步影响在移动装置150上激活或以其它方式使用ldc通知225的方式的配置。所述配置可以呈(例如)确定参数值(诸如通知的时效)或将如何在移动装置150上执行通知的形式。通知队列220可以存储用于实现可能激活的ldc通知225以及用于控制执行通知的方面的任何参数配置。可以根据各种参数或条件来确定激活,所述参数或条件可以由用户、运营者设置或为默认的。在一些变型中,可以基于(例如)通知配置逻辑218对简档信息215的应用来智能地确定所述条件。举例来说,ldc通知225可以指明用于用户很可能在家时的通知,并且可以根据通知简档信息215来确定该条件。

ldc通知225可以在本地存储在移动装置150的通知队列220中。通知激活组件230可以监视传感器监视器234以发现存在的、触发单独ldc通知225的条件。通知激活组件230可以包括用于确定一个或多个条件何时存在的规则或其它逻辑。在一些实例中,可以通过网络接口210剖析传入ldc通知225以找到界定条件参数的数据。界定条件参数的数据可以(例如)包括在ldc通知225的标头中。举例来说,ldc服务138可以包括与所述通知的标头一起和/或作为可以随所述通知一起传送或在不同时间传送的相关联元数据(例如,用于触发存储在本地的通知的长期有效或永久条件)的条件参数。通知激活组件230可以包括用于选择或以其它方式配置某些规则的逻辑,所述规则确定何时满足给定ldc通知225的条件。用于确定何时将激活ldc通知225的条件参数235可以与对应通知相关联并存储在触发条件存储体235中。

可以结合ldc通知225来实现各种类型的条件。在一些实现方式中,ldc通知225包括传感器条件,诸如由移动装置150的各种类型的传感器资源提供的传感器条件。所述传感器资源可以包括gps、无线无线电(诸如蓝牙)以及加速计和或惯性质量单元。ldc通知系统可以利用一个或多个传感器监视器234,所述传感器监视器利用传感器接口238以便接收并解释感官输入并产生多个值,所述值之后可以通过通知激活组件230处理以便进行条件确定。移动装置150可以包括用于不同类型的传感器和传感器信息的多个传感器监视器234。在所示实例中,传感器监视器234可以实现为所述装置的操作系统的部分,或者实现为通过另一个组件或应用提供的服务的部分。另外地或另选地,ldc通知系统200可以实现用于不同类型的传感器的传感器监视器234。

根据一些实例,通知激活组件230可以操作以实现地理栅栏条件、接近条件、定时条件和反映特定动作或事件(例如,装置晃动)的各种类型的传感器条件。传感器监视器234可以监视相关感官接口238以便产生传感器值,所述值之后通过通知激活组件230处理。通知激活组件230可以监测何时满足触发条件235。一旦满足特定ldc通知225的触发条件235,通知激活组件230便从通知队列220中选择并激活对应通知225。之后可以将所激活的通知229投送至将接收并使用通知229的特定应用或应用资源。因此,举例来说,通知队列220可以将所激活的ldc通知225传送至移动装置150的通知接口114,以部署共同驻存在所述装置上的应用中的一者。举例来说,保险应用可以使用位置、事故历史和最近的传感器数据来识别危险状况并通知用户或改变车辆的操作参数。

图3示出根据一个或多个实例的应用同步系统的实现方式,所述应用同步系统可以实现为通知系统100的服务中的一者。在图3的实例中,应用同步系统300包括具有通过网络应用数据管理器330表示的功能性的网络侧子系统。网络应用数据管理器330可以维护对应的网络应用数据集334。在一些实例中,网络应用数据334可以提供被多个计算装置302共享的应用数据的完整且最新的副本。就此来说,网络应用数据334可以跨多个装置302维护同步的应用数据集,对应的应用数据管理器310提供在所述多个装置上。网络应用数据集334可以对应于各种不同类型的应用数据项目,诸如电子邮件、消息记录、个人信息管理记录、数据库记录、档案存储以及更多项目的数据库。

根据一些实例,应用同步系统300可以与通知系统100一起实现或实现为通知系统100的部分。应用同步系统300可以使得能够产生通过(例如)通知引擎120传送的推送通知。另外,在一些变型中,推送通知可以包括或以其它方式识别供接收装置302使用的同步信息。

根据一些实例,网络应用数据管理器330可以维护网络应用数据集334,所述数据集可以进一步在被指定来共享或实现应用数据334的本地副本的一组装置302间分布并同步。在图3的实例中,通过本地数据管理器310示出的、网络数据管理器330的本地实例可以驻存在单独装置302上。装置302可以对应于与网络数据管理器330连接和/或彼此连接以便维持相应的本地应用数据312与网络应用数据334的同步的计算装置(例如,移动计算装置、个人计算机、便携式计算机等)。因此,每一本地数据管理器310以及网络应用数据管理器330可以驻存在对应的计算装置上,所述计算装置是(例如)在共同运营者或实体(例如,企业)的控制下操作。

网络应用数据管理器330和一个或多个本地数据管理器310可以相组合以操作本地应用数据集312和网络应用数据集334并在相应的应用数据改变或更改时使本地应用数据集312和网络应用数据集334保持同步。举例来说,每一本地数据管理器310可以监视对应的本地应用数据集312的使用以检测改变所述本地应用数据集的事件。举例来说,用户可以在对应装置302上通过用户接口来存取本地应用数据集312。通过与用户接口的交互,用户通过添加新数据或通过编辑或删除现有数据来对本地应用数据集312进行改变。在变型中,可以通过与其它应用资源的连接器或程序接口来以编程方式更新本地应用数据集312。举例来说,可以通过远程第三方内容源来更改本地应用数据集312,所述远程第三方内容源定期地用新信息更应用数据集312。

根据一些实例,当在装置302中的一者上检测到本地应用数据集312改变时,对应的本地数据管理器310可以将应用数据更新315用信号通知网络数据管理器330。应用数据更新315可以识别本地应用数据集312的更新数据,所述更新数据可以对应于本地应用数据集312的一部分。应用数据管理器330可以更新339网络应用数据集334,并且进一步识别有差别的数据337以供其它装置用于同步其相应的本地应用数据集312。应用数据管理器330可以利用(例如)通知引擎120来使具有本地应用数据集310的其它实例的其它装置302能够开始同步过程。在一个实现方式中,网络数据管理器330产生更新通知331以供递送给需要更新本地应用数据312的副本的每一装置302。通知引擎120可以向需要更新其相应应用数据集的每一识别出的装置传送推送通知331。推送通知331可以触发接收装置302存取网络数据管理器330以接收有差别的数据337。以此方式,可以触发其它装置302来基于应用数据更新315而同步或以其它方式更新其相应的本地应用数据集312。

在一些变型中,网络数据管理器330发出推送通知333,所述推送通知包括用于使相应的接收装置302能够在未进一步存取网络数据管理器330的情况下同步的指令。具体来说,推送通知333可以包括用于使接收装置能够执行实现同步所需的操作的指令和数据。所述指令可能会(例如)重复有差别数据337的产生。举例来说,装置302中的一者可以产生应用数据更新315,并且网络数据管理器330可以确定可以在其它装置302中的每一者上执行的一组操作以便使那些装置上的相应应用数据集312为最新的。可以在通过通知引擎120传送的单独通知333中对该组操作333进行识别并排序。

在变型中,驻存在接收更新的装置上的本地数据管理器310可以识别更新应用数据集所需的操作。应用数据更新315可以因此识别一些操作和参数,在特定装置302上执行所述操作和参数并导致驻存在该装置上的应用数据集312改变。以此方式,网络数据管理器330可以产生通信335,所述通信识别可以在每一接收装置302上独立地实现的一个或多个操作,以便将驻存在每一接收装置300上的本地应用数据集312更新到最新状态。通信335还可以指明用于使应用数据集312为最新的操作中的参数数据。通知引擎120可以将通信335转换成用于装置302中的每一者的一个或多个推送通知333。推送通知333可以通过将要更新的那些装置302接收,并且相应的推送通知333中的每一者中含有的数据可以被本地数据管理器310用于执行将相应的本地应用数据集312同步或以其它方式更新为最新的并且与网络应用数据集334同步的操作。

因此,如与在应用数据集进行同步时需要接收装置302从服务器拉取数据的许多常规方法相比,图3中的实例利用推送通知331、333来将使在多个装置间共享的应用数据集同步的等待时间降至最少。除了其它好处外,推送通知331、333还可以降低按常规方法原本可能会需要用于维护联网装置间的同步应用数据集的网络成本。另外,如所述的实例改善了在具有不均匀网络覆盖的区域中的总体用户体验,因为通知使用的带宽比轮询少。

在一个实现方式中,更新通知331触发接收装置302存取网络服务以便从网络数据管理器330获得用于使本地应用数据集312同步的信息。在变型中,通知引擎120产生推送通知333以识别用于使选定的接收装置302能够独立地执行其自己的操作以将本地应用数据312置于最新或同步状态的操作和参数信息。如与常规方法相比,在此类变型中,推送通知333使得每一接收装置302无需为了获得同步数据或信息而检索或请求网络服务。而是,接收装置302可以接收推送通知333,所述推送通知包括用于使接收装置能够独立地(例如,在没有存取网络服务的情况下)使相应的应用数据312为最新的指令。举例来说,所述指令可以识别将对本地应用数据集312执行哪些操作、用于在执行所述操作时使用的参数信息和/或用于根据适当次序对所述操作排序的数据。

图4示出根据一个或多个实例的网络安全系统的实现方式,所述网络安全系统可以实现为通知系统100的服务中的一者。更详细地,网络安全系统400可以实现为通知系统100的安全服务136或与通知系统100的安全服务136一起实现,以实现对使用通知引擎120产生的通知的使用。网络安全系统400可以提供安全服务,其中在一个计算机与另一个计算机通信时可以对所述一个计算机进行验证。在图4的实例中,网络安全系统400可以向第二计算机系统420验证第一计算机系统410。

更一般地说,在一些实例中,网络安全系统400可以提供用于验证客户端计算机(例如,第一计算机410)和服务器(例如,第二计算机系统420)的安全服务。在变型中,替代的计算环境可以利用诸如就图5示出和描述的网络安全系统400。

根据一个方面,网络安全系统400可以提供结合多步验证方法使用的安全特征。举例来说,在第一步,所述计算机系统中的一者(例如,第一计算机系统410)发起通信,在所述通信中开始凭证交换。第一计算机系统410和第二计算机系统420可以发送证书或其它凭证以便建立安全的通信信道和/或通路,通过所述信道和/或通路,例如,第一计算机系统410可以存取通过第二计算机系统420保护的资源。

然而,如所述的实例认识到,第二计算机系统420可能容易受到“中间人攻击”,其中计算机系统之间的通信被中继给攻击者,所述攻击者之后可能会向另一个计算机系统冒充一个计算机系统。在缺少一些安全措施的情况下,攻击者可以通过采用第一计算机系统410的凭证或其它识别符而存取受保护资源。按常规方法,第二计算机系统120(例如,服务器)可以向第一计算机系统410发送通信以将该计算机系统验证为真正的一方,这是通过第一计算机系统410的通信表示。然而,计算机系统之间的通信被中继给攻击者的弱点仍可能会存在。因此,虽然存在用于在两个(或更多个)计算机系统之间建立安全通信的多层验证方法,但是此类常规方法仍可能会容易受到“中间人攻击”。

图4中的实例认识到此类弱点并且使得可以使用推送通知来避免可能是由于第一计算机系统410被破坏而导致的潜在威胁。根据一些实例,第二计算机系统420可以与安全服务136通信以便产生用于第一计算机系统410的推送通知。可以通过加密信道来传送所述推送通知,并且在所述推送通知利用替代通信信道(例如,替代协议)时,所述推送通知绕过攻击者的任何中继或欺骗机构。所述推送通知可以(例如)作为单向(或未请求)通信来递送,所述单向通信未与客户端侧请求配对并且因此在从第二计算机系统420传送时不会进行检测。在一些变型中,第二计算机系统420可以(例如)使用所存储的账户信息来触发推送通知以找到与第一计算机系统410的识别符相关联的地址或终端。所述推送通知可以包括(例如)第一计算机系统410在与第二计算机系统420通信时可以使用的证书。再举例来说,推送通知435可以提供第一计算机系统410(或其用户)可以用作验证来存取受第二计算机系统420保护的资源的安全代码、密码或其它鉴认信息。

举例来说,在一些实现方式中,第一计算机系统410可以使用通信接口418来开始与第二计算机系统420的通信419。通信419可以是安全的,诸如通过密码或验证小型文字档提供。然而,为了对抗攻击,第二计算机系统420可以要求第一计算机系统410执行额外验证,诸如确认第一计算机系统410仍为与第二计算机系统420通信的实体。根据图4中的实例,第二计算机系统420可以利用加密逻辑422和通信接口424来向安全服务136传送证书431或其它凭证信息。安全服务136可以产生通知内容433,所述通知内容之后可以通过通知引擎120处理并传送,来产生发往第一计算机系统410的通知437。安全服务136可以利用由第二计算机系统420提供的信息来确定如何确定通知437发往何处。或者,在(例如)将要验证的计算机系统为安全服务136所知时,安全服务136可以提供所述服务。此外,在一些变型中,第二计算机系统420可以将就安全服务136和通知引擎120描述的功能性整合。

在图4的实例中,第一计算机系统410可以经由推送接口416来接收通知437。第一计算机系统410可以使用加密逻辑422来从通知437提取证书431。第一计算机系统410可以经由通信信道418将证书431传送给第二计算机系统420。如果证书431是从第二计算机系统420经由安全服务136发出所述证书开始在给定时段内由第一计算机系统410提供,那么第二计算机系统420可以确认正存取受保护资源的计算机是第一计算机系统410。图4中的实例可以提供(例如)需要第一计算机系统410重新输入密码的常规方法的替代方法。胜于重新输入密码,第二计算机系统420可以使第一计算机系统的用户经由推送通知接收安全密钥。可以通过所述推送通知触发第一计算机系统来在与第二计算机系统420的通信交换中使用所述安全密钥。安全密钥的使用可以向第二计算机系统420验证第一计算机系统410。在一些实现方式中,第一计算机系统410可以实现验证(使用通过推送通知接收到的密钥)以消除或减少用户参与。举例来说,第二计算机420可以对应于服务器,并且第二计算机420可以使用推送通知来触发第一计算机系统(410)验证自身。除了其它优点之外,如与常规方法(诸如需要用户手动重新输入密码以便接收对网站的不断存取的那些常规方法)相比,推送通知的使用还可以增强用户体验和计算效率。

此外,可以在上面实现图4中的实例的第一和第二计算机可以对应于共享或利用车辆的用户的移动装置。在此类实现方式中,可以使用诸如就图4所描述的实例来在一个驾驶员与另一个驾驶员之间安全地传送数字内容封包(例如,车辆密钥)。除了其它好处之外,此类实现方式还可以使用户能够无线地交换操作共享车辆所需的密钥,从而增加一个或两个用户使用车辆密钥的便利性以及对所述使用的控制。

图5示出根据一个或多个实例的内容递送推送系统的实现方式,所述内容递送推送系统可以实现为通知系统100的服务中的一者。在图5的实例中,内容递送推送("cdp")系统500包括通过数据分割器510、通知产生器520和元数据配置逻辑522表示的网络侧功能性。总起来说,cdp系统500的组件操作以将源自网络服务或资源的应用内容以一系列推送通知531的形式递送给一个或多个移动装置(例如,如就图1所示,移动装置150)。

在图5的实例中,数据分割器510从(例如)由移动装置150使用的另一个网络服务或应用检索或接收应用内容505。举例来说,应用内容505可以是从电子邮件服务、聊天服务、网络服务或网站(例如,文章)检索到或以其它方式提供的数据。数据分割器510将应用内容505分割成内容段515,所述内容段具有足够的大小以作为外出通知的有效负载来传输。在一些实现方式中,数据分割器510基于(例如)在计算装置上使用的计算平台和/或其它应用来确定适合于移动装置150的通知大小。举例来说,内容分割器510可以基于移动计算装置的平台来为移动装置150选择为2k或4k的数据大小。根据所确定的段大小,数据分割器510为具有给定大小的应用内容505产生对应数目的段。

在一些实例中,数据分割器510包括用于相对于在通知的相对较小的有效负载中包括应用内容505的相关部分实现一个或多个优化的逻辑。所述优化可以包括对应用内容505设定大小。举例来说,数据分割器510可以包括格式化程序512,所述格式化程序可以剖析应用内容以获得与在源处可能伴随着应用内容505的图像(例如,图像、广告等)或标头分开的文本内容。

另外地或另选地,数据分割器510可以包括排序逻辑514,所述排序逻辑对内容段515进行排序。内容段515的顺序可以(例如)基于驻存在源处的内容的固有结构或顺序。

通知产生器520可以产生多个数据结构529,所述数据结构中的每一者对应于对应通知的有效负载和标头。数据结构529可以由通知引擎120用来为移动装置150产生一组推送通知531。在一些实例中,数据结构529可以为相关联的或以其它方式产生而包括元数据525以配置在移动装置150上消耗通知531的方式。推送通知集531可以包括多个通知,可以在接收装置上根据顺序或其它结构来处理所述通知以产生输出(例如,文件、数据集、内容)。

参看图1,移动装置150可以包括应用116,所述应用可以根据预定的顺序或配置来处理推送通知集531。举例来说,移动装置150可以包括用于接收通知的通用应用,并且所述应用可以按接收顺序来处理以集形式提供的通知以产生输出。

在一些实例中,通知产生器520包括或以其它方式利用元数据配置逻辑522来向通知集531提供配置元数据525。在一些实例中,元数据525可以识别与通知集531一起包括的通知的总数(例如,基于内容段515的数目)。另外地或另选地,元数据配置逻辑522可以确定每一段(在作为通知传送时)的顺序并向移动装置150指明所述顺序。

举例来说,元数据配置逻辑522可以确定用于给定移动计算装置的特定通知集531将包括5个通知。元数据配置逻辑522可以为所述通知集中的每一单独通知产生元数据,所述元数据指明所述通知的序号以及所述通知集中的通知的总数。在给定实例中,元数据将会将所述通知集中的通知识别为“5个中的第1个”、“5个中的第2个”等。因此,对于特定通知集531,元数据525可以指明恒定值(例如,通知的总数)或可变值(每一通知的序号)。

此外,在各种变型中,元数据525与通知集531中的每一通知相关联。在其它变型中,向所述通知集中的一个或一些通知(但非全部)选择性地提供元数据525。

通知产生器520可以包括配置元数据525或以其它方式向通知集531按各种形式提供配置元数据525。在一个实例中,配置元数据525可以被封装为(例如)用于为通知集531的部分的单独通知中的每一者的标头的组件。此外,每一通知可以与包裹所述通知(或有效负载)的元数据对象相关联。

作为另一个变型或附加,元数据配置逻辑522可以产生元数据525,所述元数据对特定参数进行编码(例如,以指明规则)以配置移动装置150消耗通知131的整个集合的方式。举例来说,元数据525可以指明在通知集531中的一个或多个通知不存在于接收装置上时移动装置150是否尝试共同地处理所述通知集的有效负载。元数据525可以或者指明在接收到通知集531中的第一个通知、最后一个通知或另一个通知之后移动装置150是否开始消耗所述通知集。

根据一些实例,元数据配置逻辑522产生针对应用内容505(或其内容段)而配置的元数据。在一个实现方式中,配置逻辑522对识别应用内容505的源509的输入做出响应。举例来说,元数据配置逻辑522可以基于应用内容505的源509从配置存储体516中为通知集531选择元数据525。

在一些实例中,元数据配置逻辑522可以基于与移动装置150相关联的简档来选择设置523。举例来说,应用内容505(或其它输入)可以将用户简档识别为网络服务的“重要人物”,并且元数据配置逻辑522可以基于用户简档识别符来选择设置523。根据一些实例,接口528可以使开发人员或管理员能够指明输入529以将设置与特定用户简档、用户类别或源相关联。

图6示出用于将内容递送给移动计算装置的示例性方法。在描述图6的实例的过程中,可以参考图1或图5中的元件以便说明用于执行正在描述的步骤或子步骤的合适组件或元件。

根据一些实例,识别用于传输至移动计算装置的内容数据(610)。举例来说,推送通知服务(例如,cdp500)可以从给定源存取或以其它方式检索消息、聊天内容、网络内容或其它网络资源。cdp500可以被配置用于响应于(例如)事件(例如,传入消息)或时间流逝(例如,定期的)而执行检索。

一旦内容数据集被识别出,便将所述内容数据集分割成多个内容段(620)。可以通过(例如)在移动装置150上使用的计算平台来确定每一内容段的大小。

根据一些实例,可以将所述多个内容段中的每一者作为推送通知发送给所述移动计算装置(630)。因此,并未通过推送通知触发移动装置150执行检索,而是移动装置150一次接收所有推送通知的总体有效负载。此外,单独通知可以按将所述通知识别为表示应用数据505的集的部分的方式来传送。

根据一些实例,可以向该组推送通知531提供元数据集,并且所述元数据集可以指明用于在接收装置上将所述多个内容段组合为输出的配置(640)。举例来说,所述通知集中的每一通知可以包括包裹对应通知的有效负载的元数据对象。在接收时,移动装置150确定用于消耗通知的总体有效负载数据的一个或多个规则或设置。所述输出可以对应于(例如)在移动装置150上呈现的文件、数据集或内容。

图7是示出计算机系统的框图,可以在所述计算机系统上实现本文中描述的方面。举例来说,在图1的情形中,可以使用诸如通过图7描述的一个或多个服务器来实现通知系统100。

在一实施方案中,计算机系统700包括处理器704、存储器706(包括非暂时性存储器)、存储装置710和通信接口718。计算机系统700包括用于处理信息的至少一个处理器704。计算机系统700还包括用于存储信息和将由处理器704执行的指令的主存储器706,诸如随机存取存储器(ram)或其它动态存储装置。主存储器706还可以用于在将由处理器704执行的指令的执行期间存储临时变量或其它中间信息。计算机系统700还可以包括用于存储用于处理器704的静态信息和指令的只读存储器(rom)或其它静态存储装置。存储装置710,诸如磁盘或光盘,被提供用于存储信息和指令。通信接口718可以使计算机系统700能够通过使用网络链路720和许多熟知传输协议(例如,超文本传输协议(http))中的任一者来与一个或多个网络通信。网络的实例包括局域网(lan)、广域网(wan)、因特网、移动电话网络、简易老式电话服务(pots)网络和无线数据网络(例如,wifi和wimax网络)。

本文中描述的实例与使用计算机系统700来实现本文中描述的技术有关。根据一个实施方案,通过计算机系统700响应于处理器704执行主存储器706中含有的一个或多个指令的一个或多个序列来执行那些技术。可以从另一个机器可读介质(诸如存储装置710)将此类指令读取到主存储器706中。主存储器706中含有的指令序列的执行使处理器704执行本文中描述的方法步骤。在替代方面中,可以使用硬连线电路来替代软件指令或与软件指令结合来实现本文中描述的方面。因此,所描述的方面不限于硬件电路与软件的任何特定组合。

本文中描述的一个或多个实施方案假设通过计算装置执行的方法、技术和动作是以编程方式来执行,或按计算机实现的方法来执行。以编程方式表示通过使用代码或计算机可执行指令。以编程方式执行的步骤可以是或可以不是自动的。

可以使用编程模块或组件来实现本文中描述的一个或多个实施方案。编程模块或组件可以包括能够执行一个或多个所述任务或功能的程序、子常式、程序的一部分或者软件或硬件组件。如本文中使用,模块或组件可以独立于其它模块或组件存在于硬件组件上。或者,模块或组件可以是其它模块、程序或机器的共享元件或进程。

此外,可以通过可由一个或多个处理器执行的指令来实现本文中描述的一个或多个实施方案。可以在计算机可读介质上携载这些指令。就图式在下文示出或描述的机器提供可以在上面携载和/或执行用于实现本发明的实施方案的指令的处理资源和计算机可读介质的实例。明确地说,就本发明的实施方案示出的众多机器包括处理器以及用于保存数据和指令的各种形式的存储器。计算机可读介质的实例包括永久存储器存储装置,诸如个人计算机或服务器上的硬盘。计算机存储介质的其它实例包括便携式存储单元,诸如cd或dvd单元、闪存或固态存储器(诸如装在许多移动电话和消费型电子装置上)以及磁性存储器。计算机、终端、网络允用装置(例如,移动装置,诸如移动电话)是利用处理器、存储器和存储在计算机可读介质上的指令的机器和装置的全部实例。另外,实施方案可以实施为计算机程序或能够携载此类程序的计算机可用载体介质的形式。

根据图7中的实例,通知指令集702可以存储在存储器706中,并且由处理器704执行以实现诸如就以上实例描述的功能性。举例来说,可以使用指令集702来实现诸如就图1至图5描述的示例性系统。另外,可以执行指令集702以执行诸如就图6中的实例描述的示例性方法。图8是示出移动计算装置的框图,可以在所述移动计算装置上实现本文中描述的实施方案。在一个实施方案中,计算装置800可以对应于移动计算装置,诸如能够打电话、接发消息和进行数据服务的蜂窝装置。计算装置800可以对应于客户端装置或驱动器装置。此类装置的实例包括用于移动运营商的智能电话、手持机或平板装置。计算装置800包括处理器810、存储器资源820、显示装置830(例如,诸如触敏显示装置)、一个或多个通信子系统840(包括无线通信子系统)、输入机构850(例如,输入机构可以包括触敏显示装置或为触敏显示装置的部分)以及一个或多个传感器(例如,gps组件、加速计、一个或多个摄像机等)860。在一个实例中,通信子系统640中的至少一者通过数据信道和语音信道发送和接收蜂窝数据。

处理器810可以通过执行存储在存储器资源820中的指令和/或应用来向显示器830提供各种内容。举例来说,处理器810被配置有软件和/或其它逻辑以执行就诸如由图1至图5以及本申请中的别处描述的实现方式描述的一个或多个方法、步骤和其它功能。明确地说,处理器810可以执行存储在存储器资源820中的指令和数据以便操作客户端服务应用。因此,如就各种实例所描述,可以使用移动计算装置800来实现图1中的移动装置150。

虽然在本文中已参看附图来详细地描述说明性实施方案,但是本公开涵盖具体实施方案和细节的变化。希望本文中描述的实施方案的范围由权利要求书以及其等效物界定。此外,设想到,所描述的特定特征(单独地或作为实施方案的部分)可以与其它单独地描述的特征或其它实施方案的部分组合。因此,未对组合进行描述将不会阻碍发明人对此类组合要求权利保护。

权利要求书(按照条约第19条的修改)

1.一种用于操作移动计算装置的方法,所述方法包括:

(a)在所述移动计算装置上在第一实例处接收触发器,所述触发器与预定义的条件或事件相关联;

(b)在所述移动计算装置不进行网络存取时,通过所述移动计算装置在第二实例处检测所述预定义的条件或事件;以及

(c)响应于检测到所述预定义的条件或事件,在所述移动计算装置上激活基于所述触发器的通知。

2.如权利要求1所述的方法,其中(a)包括在所述第一实例处从网络服务获得通知数据,其中所述通知是基于所述通知数据。

3.如权利要求1所述的方法,所述方法还包括使用户能够界定所述通知、所述触发器、预定义的条件或事件和/或通知数据。

4.如权利要求1所述的方法,其中所述预定义的条件或事件对应于地理条件。

5.如权利要求1所述的方法,其中所述预定义的条件或事件对应于接近条件。

6.如权利要求2所述的方法,其中(a)包括在所述移动装置在线时接收所述通知数据作为所述触发器,所述通知数据是源自网络服务。

7.如权利要求6所述的方法,其中(b)包括使用在所述移动计算装置本地的感测数据来检测所述预定义的条件或事件。

8.如权利要求7所述的方法,其中在不使用所述网络服务的情况下执行(c)。

9.如权利要求1所述的方法,其中在所述移动计算装置离线时执行(b)和(c)。

10.一种移动计算装置,所述移动计算装置包括:

一个或多个处理器;

存储器;

网络资源,所述网络资源包括用于与外部源交换通信的网络接口;

其中所述一个或多个处理器:

使用所述网络资源从所述外部源接收用于通知的通知数据;

将基于所述通知数据的通知存储在所述存储器中,所述通知与界定用于触发所述通知的条件的数据相关联;

使用所述移动计算装置的本地资源来检测所述条件的出现;以及在不使用所述网络资源的情况下在本地激活所述通知。

11.如权利要求10所述的移动计算装置,其中所述一个或多个处理器通过将所述通知按推送通知来处理而激活所述通知。

12.如权利要求10所述的移动计算装置,其中所述一个或多个处理器根据包括所述通知数据的传入通知的标头来确定界定所述条件的所述数据。

13.如权利要求10所述的移动计算装置,其中所述条件对应于地理条件。

14.如权利要求13所述的移动计算装置,所述移动计算装置还包括:

一个或多个传感器,并且

其中所述一个或多个处理器使用所述一个或多个传感器来检测所述条件的出现。

15.如权利要求14所述的移动计算装置,其中所述一个或多个传感器包括全球定位系统(gps)单元、加速计、惯性质量单元或磁力计中的至少一者。

16.一种存储指令的非暂时性计算机可读介质,所述指令在由移动计算装置的一个或多个处理器执行时使所述移动计算装置执行操作,所述操作包括:

(a)在第一实例处接收触发器,所述触发器与预定义的条件或事件相关联;

(b)在所述移动计算装置不进行网络存取时,在第二实例处检测所述预定义的条件或事件;以及

(c)响应于检测到所述预定义的条件或事件,在所述移动计算装置上激活基于所述触发器的通知。

17.如权利要求16所述的非暂时性计算机可读介质,其中(a)包括在所述第一实例处从网络服务获得通知数据,其中所述通知是基于所述通知数据。

18.如权利要求16所述的非暂时性计算机可读介质,所述非暂时性计算机可读介质还包括使用户能够界定所述通知、所述触发器、预定义的条件或事件和/或通知数据。

19.如权利要求16所述的非暂时性计算机可读介质,其中所述预定义的条件或事件对应于地理条件。

20.如权利要求16所述的非暂时性计算机可读介质,其中所述预定义的条件或事件对应于接近条件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1