首页> 中国专利> 优化针对从单个设备访问应用的诸用户的离线消息(网络历史)递送

优化针对从单个设备访问应用的诸用户的离线消息(网络历史)递送

摘要

用于将来自web服务服务器的消息发送至由当前用户和另一离线用户共享的计算设备而同时维持该另一离线用户的消息的隐私性以及降低用于消息传输的带宽要求的设备、系统和方法,可包括:向该web服务服务器注册该计算设备的该用户和该离线用户;在该web服务服务器处接收来自该计算设备的由第一用户所作的登录,其中第一用户被确定为当前用户;检查数据库以寻找要给当前不在访问该web服务服务器的至少一个离线用户的未经递送的消息,其中不是当前用户的任何用户被确定为是离线用户;加密每一离线用户的未经递送的消息;将未经递送的消息发送至该计算设备;以及将离线用户经加密的未经递送消息存储在该计算设备中。

著录项

  • 公开/公告号CN104769894A

    专利类型发明专利

  • 公开/公告日2015-07-08

    原文格式PDF

  • 申请/专利权人 高通股份有限公司;

    申请/专利号CN201380057364.7

  • 发明设计人 V·瑟亚万什;M·A·R·舒曼;

    申请日2013-10-28

  • 分类号

  • 代理机构上海专利商标事务所有限公司;

  • 代理人袁逸

  • 地址 美国加利福尼亚州

  • 入库时间 2023-12-18 09:52:52

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-03-02

    授权

    授权

  • 2015-11-25

    实质审查的生效 IPC(主分类):H04L12/58 申请日:20131028

    实质审查的生效

  • 2015-07-08

    公开

    公开

说明书

背景技术

计算设备(诸如智能电话、平板计算机和膝上型计算机)使得用户能够通过 网络连接到web服务前端以向其他用户发送消息以及从其他用户接收消息。所发 送和接收的消息可包括例如电子邮件消息(即email)、短消息服务(SMS)消息、 多媒体消息服务(MMS)消息、即时消息、和语音邮件消息。这些消息中有许多 消息可以是异步消息,这意味着预期接收方用户不必当前正在访问web服务(web  service)服务器(即在线)才使另一用户能发起并向该预期接收方发送消息,。消 息可以在任何时间被发送给用户,不管该用户是否当前正在访问web服务服务器 (即,该用户“在线”)。在预期接收方用户离线的实例中,发送给该用户的消息 可以不被递送。这些未经递送的消息可被存储在数据库中,以使得web服务服务 器可以在检测到该预期接收方上线时取回并递送这些未经递送的消息。用户可以选 择“拉取”他的未经递送的消息。例如,如果用户期望接收他的消息,则该用户可 以使用像是智能电话之类的设备来上线并且向该web服务服务器请求他的消息。 替换地,用户可以选择使他的未经递送的消息被“推送”给他。例如,当用户上线 时,该web服务服务器可以检测到该用户的在线状态并且递送存储在数据库中的 任何未经递送的消息。在用户登出该web服务服务器(即,变为“离线”)之后, 另一用户可以使用同一设备来登录到该web服务服务器以取得旨在给该另一用户 的任何未经递送的消息。

概述

各实施例提供了一种框架,藉此框架可以通过在同一受安全保护的连接上向 多用户(共享)设备的所有用户发送所有当前未经递送的消息来增强网络效率和总 体用户体验。未经递送的消息可被本地存储在该共享设备上,直到该未递送的消息 所旨在送往的离线用户登录以接收该消息。在一实施例中,离线用户可以能够在他 们下一次使用该共享设备来访问该web服务服务器时迅速地访问他们的消息。各 实施例还可通过阻止该共享设备的当前用户访问可能被本地存储在该共享设备上 的旨在给其他离线用户的消息来促进用户隐私性。在一实施例中,发送给离线用户 并且被存储在该共享设备上的消息可以被加密以确保仅预期接收方能够查看他们 各自的消息。在一实施例中,在离线用户登录回到该共享设备之后,该共享设备可 以与web服务服务器通信以解密已经被本地存储在该共享设备上的该用户(先前 离线的用户)的消息。

在一实施例中,web服务服务器可以确定在其上可连接设备的物理层(即网络) 并且基于该物理层的类型来限制传送给该设备的要给离线用户的数据量。在另一实 施例中,如果离线用户通过多个设备来访问web服务服务器,则web服务服务器 可以确定离线用户最常使用这多个设备中的哪些设备并且仅将消息递送至那些活 跃设备。在一附加实施例中,web服务服务器可以对针对诸离线用户的消息递送排 定优先级。

附图简述

纳入于此且构成本说明书一部分的附图解说了本发明的示例性实施例,并与 以上给出的概括描述和下面给出的详细描述一起用来解释本发明的特征。

图1是适合与各种实施例联用的网络的通信系统框图。

图2是根据一实施例的多用户多设备系统的通信系统框图。

图3解说了多用户设备与web服务服务器之间的实施例呼叫流关系。

图4是解说用于将消息递送至设备的当前用户和离线用户的实施例web服务 服务器方法的过程流程图。

图5是解说用于连接到web服务服务器并且从该web服务服务器接收消息的 实施例设备方法的过程流程图。

图6解说了在设备与web服务服务器之间的关于如何执行对离线用户的消息 的加密和解密的关系的实施例呼叫流。

图7是解说用于将离线用户的经加密消息从web服务服务器递送至设备的实 施例web服务服务器方法的过程流程图。

图8是解说用于解密设备上的给离线用户的消息的实施例设备方法的过程流 程图。

图9是解说用于在确定设备正藉以访问web服务服务器的物理层之后递送离 线用户的消息的实施例web服务服务器方法的过程流程图。

图10是解说用于将离线用户的消息递送至活跃设备的实施例web服务服务器 方法的过程流程图。

图11是解说用于根据诸离线用户的优先级次序来将消息递送给这些离线用户 的实施例web服务服务器方法的过程流程图。

图12是适用于各个实施例的示例设备的组件示图。

图13是适用于各个实施例的示例服务器的组件示图。

图14是适用于各个实施例的另一示例移动设备的组件示图。

详细描述

将参照附图详细描述各实施例。在可能之处,相同附图标记将贯穿附图用于 指代相同或类似部分。对特定示例和实现所作的引用是用于解说性目的,而无意限 定本发明或权利要求的范围。

措辞“示例性”在本文中用于表示“用作示例、实例或解说”。本文中描述 为“示例性”的任何实现不必然被解释为优于或胜过其他实现。

如此处所使用的,术语“设备”、“移动设备”和“计算设备”在本文中被 可互换地用来指代以下中的任一者或全部,蜂窝电话、智能电话、个人或移动多媒 体播放器、个人数据助理、膝上型计算机、个人计算机、平板计算机、智能本、掌 上计算机、无线电子邮件接收机、启用因特网的多媒体蜂窝电话、无线游戏控制器、 以及包括可编程处理器和存储器以及用于发送和/或接收语音和数据呼叫、发送和/ 或接收消息(例如,短消息服务(SMS)消息、电子邮件、应用通知,诸如帖子通知和/或游戏高分变更通知等)的类似的个人电子设备。术语“共享设备” 在本文中指代被多个用户使用的设备。

如本文中所使用的,术语“web服务服务器”指代在服务器上运行的管理和递 送用户之间的消息通信的应用,该应用可以通过连接到因特网的设备来访问。

如本文中所使用的,术语“用户”指代先前已向web服务服务器注册以使用 如上所定义的一个或多个设备来发送和/或接收消息的人。术语“离线用户”指代 当前未在使用设备来访问web服务服务器的设备用户。相应地,术语“当前用户” 指代当前正使用设备来访问web服务服务器的设备用户。

如此处所使用的,术语“消息”可以指代通信,诸如语音呼叫(例如,PSTN 呼叫、VOIP呼叫、蜂窝呼叫等)、基于文本的消息(例如,SMS、电子邮件)、 社交媒体消息(例如,通知、等)、私语消息(例如,来自 用户的记录的语音消息)、和/或应用提醒(例如,拍卖通知、 基于远程的日历应用提醒等)。设备可以接收若干类型的消息。

作为概览,各实施例可使得web服务服务器能够通过在当前用户的web服务 服务器会话期间发送针对离线用户的经加密的未经递送消息来优化对通过共享设 备访问web服务服务器的诸用户的消息递送。这些各个实施例还可使得设备能够 在当前用户会话期间安全地下载离线用户的消息而同时维持该离线用户的隐私性。 因而,各实施例可使得离线用户更快速地获得对他们消息的访问而同时维持消息隐 私性,这可以提升总体的用户体验。

在各实施例中,在使用设备与web服务服务器的初始注册会话期间,第一用 户可以注册他的消息地址(例如电子邮件地址)以及他当前正在使用的设备。在第 一用户向web服务服务器注册之后,该web服务服务器可以将该用户添加到与该 用户用来进行他的初始注册会话的设备相关联的用户集(即“注册用户”)。在一 实施例中,web服务服务器可以为每一注册用户创建唯一性的用户ID。在后续的 web会话中,当前用户(第一用户或其他用户)可以访问该web服务服务器并且 请求他/她的未经递送的消息,并且该web服务服务器可以从数据库取得当前用户 的未经递送的消息。该web服务服务器可以查找哪些离线用户与当前用户的共享 设备相关联,检查是否有要给这些离线用户的未经递送的消息,以及将任何离线用 户的未经递送的消息递送至该共享设备。该web服务服务器还可在递送之前加密 离线用户的消息以保护离线用户的消息隐私性。在一实施例中,web服务服务器可 以用随机密钥来加密离线用户的消息。离线用户的设备可以将这些经加密消息存储 在本地存储器中。

在一实施例中,当前用户的未经加密的消息可以在该设备上被显示,而在后 台(即,对当前用户是未知和不可访问的),诸离线用户的经加密消息可以被接收 并存储在该设备上以供稍后解密。在又一实施例中,该设备上离线用户的经加密消 息可以在此经加密消息所旨在送往的离线用户再次访问该web服务服务器时通过 使用在该离线用户再次访问该web服务服务器时接收自该web服务服务器的解密 密钥来被解密并且显示。在一实施例中,在向设备发送针对新的当前用户的消息的 解密密钥之后,web服务服务器可以检查以查看此新的当前用户是否具有任何未经 递送的消息并且可以按照不加密格式来递送那些待定消息。web服务服务器可以用 如上所述的加密格式来传送任何要给离线用户的未经递送的消息。

在一实施例中,web服务服务器可以基于该设备藉以访问该web服务服务器 的物理层(即网络)来管理离线消息递送。例如,若web服务服务器检测到该网 络连接展现出数据传递限制(诸如数据传递的月度封顶额,正如在许多蜂窝网络数 据计划中典型的那样),则该web服务服务器可以限制离线消息数据的量。因而, 如果当前用户正在藉由WiFi网络来访问web服务服务器,则可以递送所有离线用 户消息,但如果该设备是通过蜂窝电信网络(例如,3G、4G、LTE等)来连接到 该服务器,则可以不下载和递送离线用户消息。替换地,可以仅下载和递送有限数 目或类型的消息。在其他替换实施例中,可以仅下载和递送关于这些消息的一些信 息。例如,如果web服务服务器确定该设备当前是藉由具有有限数据计划的3G或 4G网络来连接的,则该web服务服务器可以递送在目标用户在线时该设备可以用 来访问大消息的链接或元数据(例如URL或URI)。此类元数据可使得该设备能 够通知用户有大文件正待下载并且提示用户关于她是否想要将这些消息下载到该 设备。

在一实施例中,web服务服务器可以确定与离线用户相关联的哪些设备是“活 跃的”并且将要给该离线用户的未经递送的消息仅发送给那些活跃的设备。在又一 实施例中,web设备可以使得用户能够指定每一用户选择哪些设备在初始注册会话 或任何后续web会话中是“活跃的”。例如,web服务服务器可以提示用户以获 得向该设备发送离线消息的许可。在另一示例中,用户可以访问该web服务服务 器并且选择放弃在特定设备上接收离线消息。

在另一实施例中,如果两个以上的离线用户正在使用同一设备,则web服务 服务器可以通过对诸离线用户的消息排定优先级以确定递送次序来管理对未经递 送的消息的递送。例如,排名可基于每一用户从该设备访问账户的次数,以使得较 频繁地访问该web服务服务器的那些用户将被给予较高优先级。在另一示例中, 排名可基于每一用户接收到的离线消息的数目。在另一示例中,用户可以选择采用 溢价服务,其中该离线用户的消息被给予较高优先级而不管使用频繁度或收到的消 息数目。

图1解说了适用于各个实施例的网络系统100。网络系统100可包括第一设备 130、第二设备132和第三设备134。在一实施例中,第一设备130可以是智能电 话,第二设备132可以是个人计算机,而第三设备134可以是膝上型计算机。第二 设备132和第三设备134可被配置成经由有线连接140连接到因特网104。另外, 第一设备130、第二设备132和第三设备134可被配置成经由通过无线接入点144 (诸如Wi-Fi接入点)建立的无线连接142来连接到因特网104。无线接入点144 可以通过有线连接140来与因特网104连接。另外,第一设备130和蜂窝塔台或基 站160可以经由蜂窝连接146来交换数据,蜂窝连接146可以是CDMA、TDMA、 GSM、PCS、3G、4G、LTE或任何其他类型的蜂窝连接。应当注意,尽管未在图 1中示出,但第二设备132和第三设备134可以装备有蜂窝通信接口并且被配置成 经由蜂窝连接146连接到因特网104,蜂窝连接146可以是CDMA、TDMA、GSM、 PCS、3G、4G、LTE或任何其他类型的蜂窝连接。蜂窝塔台或基站160可以与路 由器162处于通信中,路由器162可以连接到因特网104。管理和递送消息的web 服务服务器150也连接到因特网104并且能够访问数据库152。

图2解说了多用户多设备网络系统200的一实施例。在各实施例中,系统可 具有一个或多个设备以及共享该一个或多个设备中的每一者的多个用户。在一实施 例中,第一用户202和第二用户204可共享设备130、132和134中的至少一者, 设备130、132和134全都能够通过至因特网104的连接(有线或无线)来访问web 服务服务器150。在又一实施例中,第一用户202可以使用第一设备130来连接到 web服务服务器150并且可任选地使用第二设备132和第三设备134中的至少一者。 第二用户204可以与第一用户202共享第一设备130并且还使用第一设备130来访 问web服务服务器150。在一实施例中,第二用户204可以在第一用户202登出第 一设备130之后获得对共享的第一设备130的访问。第一用户202可以在第二用户 204已登出之后通过登录到web服务服务器150来再次使用第一设备130访问web 服务服务器150。

在一实施例中,web服务服务器150可以引用数据库152来确定或更新哪些用 户与用来连接到该web服务服务器150的设备相关联。web服务服务器150也访 问数据库152以取得与正在访问该web服务服务器150的特定设备相关联的用户 的任何未经递送的消息。在另一实施例中,web服务服务器150可以将每一用户特 定的共享密钥信息存储在数据库152中和/或从数据152中检索出来。对各实施例 的以下讨论描述了示例第一设备130和web服务服务器150之间的呼叫流和操作。 本领域技术人员将认识到,可以在第二设备132和/或第三设备134与web服务服 务器150之间实现相同的呼叫流和过程流。

图3解说了共享设备130、web服务服务器150和数据库152之间的呼叫流关 系300的一实施例。在一实施例中,设备130可以通过如上所讨论的因特网连接来 访问web服务服务器150,并且web服务服务器可以与数据库152通信以存储和/ 或检索信息。在又一实施例中,设备130可被当前用户和离线用户使用,当前用户 和离线用户两者都使用该设备130但不是同时使用。在一实施例中,当前用户和离 线用户先前可能已向web服务服务器150注册了他们的消息地址以及他们与设备 130的关联。web服务服务器150可能已经将他们的地址和关联存储在数据库153 中或本地地存储在web服务服务器150中。

在一实施例中,离线用户在使用共享设备访问了web服务服务器150之后可 能已经登出该共享设备130,如操作302中所示。在操作304,当前用户可以登录 到设备130,因为当前没有其他用户正在使用该设备130。在当前用户登录到设备 130之后,该设备130可以向web服务服务器150发送请求信号308以请求递送未 经递送的消息。

在一实施例中,响应于设备130的请求信号308,web服务服务器150可以向 数据库152发送信号310以取得当前用户的未经递送的消息。数据库152可以响应 于取得信号310将当前用户的未经递送的消息传送到web服务服务器150。web服 务服务器150可以在操作312确定是否有任何离线用户与设备130相关联。web服 务服务器150还可在操作313确定与设备130相关联的那些离线用户是否有等待被 递送的未经递送消息。在一实施例中,web服务服务器可以使用时间戳来确定是否 存在具有晚于预期接收方离线用户的上次登出事件时间戳的时间戳的消息。web服 务服务器150可以将信号314传送给数据库152以使得数据库152取得离线用户的 等待被递送的未经递送消息。数据库152可以响应于web服务服务器150的信号 314来传送离线用户的等待被递送的未经递送消息。web服务服务器150可以在操 作316用针对每一用户的不同随机密钥来加密离线用户的消息。web服务服务器 150可以向数据库152发送传输317以存储该随机密钥。在又一实施例中,web服 务服务器150可以向设备130发送传输318,该传输318包括当前用户的未经加密 的消息以及离线用户的经加密的消息。

在一实施例中,在接收到当前用户的未经加密的消息之后,设备130可以在 操作320在设备130上显示当前用户的消息。在又一实施例中,设备130还可在操 作324本地存储离线用户的经加密的消息以供稍后解密和显示。

图4解说了用于从web服务服务器为当前用户和离线用户递送消息的web服 务服务器消息递送方法400的实施例过程流。在方法400的框309,web服务服务 器150可以接收来自设备130的请求以取得要给该设备的当前用户的未经递送的消 息。在接收到该请求之际,web服务服务器150可以在框310取得要给当前用户的 未经递送的消息。在一实施例中,web服务服务器150可以访问包含要给当前用户 的未经递送的消息的数据库152。web服务服务器150可以在框312检查以寻找要 给也与该设备130相关联的离线用户的未经递送的消息。web服务服务器150可以 在判决框402确定是否存在等待被递送至任何离线用户的消息。如果存在要给至少 一个离线用户的未经递送的消息(即判决框402=“是”),则web服务服务器150 可以在框314取得这些未经递送的消息。web服务服务器150可以在框316加密这 些未经递送的消息。在一实施例中,web服务服务器150可以通过使用随机密钥来 加密离线用户的消息。web服务服务器150可以为具有未经递送的消息的每一离线 用户使用不同的随机加密密钥来加密旨在送给离线用户的未经递送的消息。web服 务服务器150可以在框317将与离线用户相关联的每一个随机加密密钥存储在数据 库152中。web服务服务器150可以在框318将它从数据库152检索到的任何消息 递送至设备130,包括当前用户的未经加密(或经加密)形式的消息以及要给离线 用户的经加密形式的任何未经递送的消息。web服务服务器150可以继续框309中 的操作。

图5解说了用于连接到web服务服务器以及从该web服务服务器接收消息的 设备消息请求和接收方法500的实施例过程流。在框302,设备130的当前用户可 以登出。此时,先前被认为是当前的用户可能变成离线用户。一先前被认为离线的 用户可以在框304登录到设备130。此时,此先前被认为离线的用户可以变成当前 用户。在框308,设备130可以向web服务服务器150发送请求以递送未经递送的 消息。在框319,设备130可以接收从web服务服务器150发送的当前用户的消息 以及要给离线用户的任何消息两者。该设备可以在框320显示当前用户的消息。设 备130可以在判决框322确定web服务服务器是否递送了要给离线用户的任何经 加密消息。如果web服务服务器没有递送要给至少一个离线用户的经加密消息(即 判决框322=“否”),则移动设备可以继续框302的操作。否则(即判决框322= “是”),则设备130可以在框324将这些经加密的消息存储在设备130的本地存 储中。在一实施例中,这些消息可以被存储为二进制大对象。在另一实施例中,这 些经加密的消息可以被存储在链接到每一离线用户的标识符的数据表中。移动设备 130可以继续框302的操作。

图6解说了在解密用户的消息时设备130与web服务服务器150之间的实施 例信令和呼叫流600。在一实施例中,设备130可以通过如上所讨论的因特网连接 104来访问web服务服务器150。在又一实施例中,设备130可以由可在不同时间 而不是同时使用该设备130的两个用户使用。在一实施例中,第一用户202和第二 用户204先前已使用设备130向web服务服务器150注册,并且web服务服务器 150可能已经将第一用户202和第二用户204注册为使用设备130。

在一实施例中,第一用户202(即当前用户)可能已经在使用设备130并且可 能稍后会登出,如操作602所示。在操作604,第二用户204(即新的当前用户) 可以登录到设备130。设备130可以向web服务服务器150传送注册服务的信号 606。信号606可包括新的当前用户的登录凭证,web服务服务器150使用该凭证 来认证新的当前用户。

在一实施例中,web服务服务器150可以在操作607确定新的当前用户是否具 有在此新的当前用户离线之时递送至设备130的消息。换言之,web服务服务器 150可以确定设备130是否有要给此新的当前用户的经加密消息存储在设备130的 存储器中。在又一实施例中,web服务服务器150可以使用如上所讨论的时间戳来 确定在此新的当前用户先前离线之时是否有消息曾被递送至设备。web服务服务器 150可以在操作608用此新的当前用户的共享密钥(例如QSK)来加密随机密钥。 web服务服务器150可以向设备130传送包括经加密的随机密钥的信号610。设备 130可以在操作612使用新的当前用户的共享密钥来解密经加密的随机密钥。设备 130可以在操作613检索此新的当前用户的经加密并被存储的消息。新的当前用户 的消息可以被存储在设备130的存储器中。在检索到新的当前用户的消息之后,设 备130可以在操作614使用经解密的随机密钥来解密此新的当前用户的经加密消 息。设备130可以根据上文讨论的各方法来发送请求为新的当前用户和任何离线用 户递送任何未经递送消息的信号308。类似地,web服务服务器150可以实现图4 中讨论的方法以传送信号318来递送它可以取得的任何未经递送的消息。

图7解说了用于允许设备130解密存储在设备130上的经加密消息的实施例 web服务服务器方法700。在一实施例中,用户(即当前用户)可以请求通过设备 130登录以获得web服务服务器的服务。web服务服务器150可以在框606接收用 户要登录的请求。当前用户的请求可包括当前用户的注册信息。在框701,web服 务服务器150可以为当前用户注册服务。web服务服务器150可以在框607确定当 前用户是否具有在该当前用户离线之时递送至该设备130的消息。例如,web服务 服务器150可以确定消息是否具有在当前用户的上次登出事件的时间戳之后时间 戳以供递送。在判决框702,如果web服务服务器150在当前用户离线之时未曾向 设备130递送消息(即判决框702=“否”),则web服务服务器150可以继续图 4和9-11的框309中的操作。换言之,web服务服务器150可以取得并递送当前用 户和离线用户的任何未经递送的消息。否则,如果web服务服务器150在当前用 户离线之时曾递送了要给此当前用户的消息(即判决框702=“是”),则web服 务服务器150可以在框608在传输之前用当前用户的共享密钥来加密随机密钥。随 机解密密钥可以是用于解密设备130上存储且加密的当前用户的消息所要求的解 密密钥。在一实施例中,web设备可以使用对当前用户已知的或者由设备130识别 为当前用户的共享密钥的共享密钥(QSK)来加密该随机密钥。在又一实施例中, web服务服务器150可以从数据库152检索与当前用户相关联的共享密钥。web服 务服务器150可以在框610将经加密的随机密钥递送至设备130。远程存储用于解 密当前用户的经加密消息的工具可以通过确保仅消息的接收方可以访问这些消息 来增加隐私性和安全性。这一隐私性和安全性可能尤其有益,因为设备130潜在可 能在同一共享设备上存储了多个用户的消息。一旦经加密的随机密钥被传送给设备 130,web服务服务器150就可前往图4和9-11中的框309。

图8解说了用于从web服务服务器150接收经加密的随机密钥以及使用该密 钥来解密设备130为用户存储的经加密的消息的设备方法的实施例过程流。设备 130可以在框602登出当前用户。设备130还可在框604登录新的当前用户。设备 130可以在框606向web服务服务器请求服务。该请求可伴随有新的当前用户的登 录凭证。在一实施例中,如果设备130确定在新的当前用户(先前离线的用户)先 前离线之时有消息曾被递送至此新的当前用户(即判决框702=“是”),则该设 备可以在框610接收用此新的当前用户的共享密钥来加密的随机密钥。否则(即判 决框702=“否”),设备130可以继续转移框802中的操作。

从框610继续,设备130可以在框612使用新的当前用户的共享密钥来解密 随机密钥。在框613,该设备可以检索新的当前用户的被存储和加密的消息。这些 经加密的消息可能在此新的当前用户先前离线之时已被递送了。在框614使用经解 密的随机密钥,设备130可以解密在新的当前用户先前离线之时被递送了的被存储 和加密的此新的当前用户的消息。设备130可以从转移框802前往图5中的框308。

图9解说用于在确定设备130正藉以访问web服务服务器的物理层之后向设 备递送离线用户的消息的web服务服务器方法900的实施例过程流。在一实施例 中,web服务服务器在框309中可以接收来自设备130要取得给设备130的当前用 户的未经递送消息的请求。web服务服务器150可以在框310对设备130所作出的 此消息递送请求作出响应。在取得当前用户的未经递送的消息之后,web服务服务 器150可以在框312检查以寻找要给离线用户的未经递送的消息。web服务服务器 150可以在判决框402确定是否有要给与提出请求的设备130相关联的至少一个离 线用户的任何未经递送的消息。在有要给至少一个离线用户的未经递送的消息的情 形中(即判决框402=“是”),web服务服务器150可以在框902确定设备130 正用什么类型的物理层(即网络)来访问该web服务服务器150。物理层可以例如 是Wi-Fi连接、有线因特网连接、或通过蜂窝网络(诸如3G/4G蜂窝网络)的连 接。在确定该设备藉以访问web服务服务器150的物理层之后,web服务服务器 150可以在判决框904确定该物理层是否是在特性上对用户可传递的数据量有限制 的网络类型。例如,如果用户正在使用智能电话在3G网络上连接到web服务服务 器,则web服务服务器150可以将该3G网络识别为数据受限的物理层。在另一示 例中,如果用户使用膝上型计算机在Wi-Fi网络上连接到web服务服务器,则web 服务服务器150将能够确定该设备不具有数据限制。因而,在一实施例中,如果 web服务服务器150确定该物理层不是数据受限的(即判决框904=“否”),则 web服务服务器150可以在框906取得全部的离线用户的消息。另一方面,如果 web服务服务器150确定物理层是数据受限的(即判决框904=“是”),则web 服务服务器150可以在框908选择如所演示地仅取得这些未经递送的消息的有限部 分。在一实施例中,web服务服务器150可以仅递送元数据或至用户消息的链接。 以此方式,web服务服务器150可以限制在该物理层上传送的离线消息数据量以避 免数据超额或过度数据使用。此类限制可基于消息的总累积大小、消息的个体大小、 消息数目、消息检索频繁度等。在取得全部的离线用户的消息(框906)或者仅取 得那些消息的有限表示(框908)之际,web服务服务器150可以在框316加密这 些消息。在加密之后,web服务服务器150可以在框318将这些消息递送至该设备。

在没有要给至少一个离线用户的未经递送的消息的情形中(即判决框402= 否),则web服务服务器150可以递送要给该设备的当前用户的已取得的消息, 即操作318。在递送了已取得的要给该设备的当前用户和/或与该设备相关联的任何 离线用户的消息之后,web服务服务器150可以在框309等待下一次接收到来自设 备的要取得未经递送的消息的请求。

图10解说了可以仅向离线用户可注册为“活跃”设备的那些设备递送消息以 确保web服务服务器150不会不断地向不在被使用的设备(即“休眠”设备)递 送要给离线用户的消息的web服务服务器方法1000的实施例过程流。在一实施例 中,用户可以例行地使用多个设备来访问web服务服务器150。例如,用户可以使 用膝上型计算机134、个人计算机132、和智能电话130的任何组合来检查web服 务服务器150上的他的消息。在另一实施例中,用户可以使用多个设备,但这些设 备中的一些仅被使用一次或者非常不频繁地被使用。例如,用户可能仅使用公共计 算机一次来检查他的消息。在并不一定程度地知晓用户在多频繁地使用一设备时, web服务服务器150可以不断向设备递送要给离线用户的消息,即便该用户将仅使 用该设备一次。

在图10所示的实施例中,web服务服务器150可以在框309接收来自设备130 的要取得要给设备130的当前用户的未经递送的消息的请求。响应于设备130的请 求,web服务服务器150可以在框310取得当前用户的未经递送的消息。web服务 服务器150可以在框1001递送当前用户的消息。web服务服务器150可以在框312 检查以寻找要给离线用户的未经递送的消息。web服务服务器150可以在判决框 402确定是否有要给与提出请求的设备130相关联的至少一个离线用户的任何未经 递送的消息。在有要给至少一个离线用户的未经递送的消息的情形中(即判决框 402=“是”),web服务服务器150可以在框1002确定该设备对于具有未经递送 的消息的离线用户而言是否是活跃的。如果没有要给离线用户的未经递送的消息 (即判决框402=“否”),则web服务服务器150可以继续框309中的操作。

在一实施例中,web服务服务器150可以在框1002通过检查当前时间与离线 用户上次使用设备130来访问web设备130的时间之间的时间段是否短语给定阈 值来作出确定。例如,如果离线用户在超过一个星期里没有使用过一设备来检查他 的消息,则web服务服务器150可以将该设备认为对于该离线用户而言是休眠的。 换言之,web服务服务器150可以基于用户的登录频繁度来确定该用户是否在活跃 地使用设备。在另一实施例中,web服务服务器150可以在用户首次使用设备130 来向web服务服务器150注册服务时提示用户指定该用户是否希望离线消息被发 送至设备130。例如,如果用户正在首次使用设备(例如使用公共计算机),则 web服务服务器150可以向用户询求将离线消息发送至该设备的授权,并且用户可 以选择放弃在该设备上接收消息,因为用户相信她将不会再次使用该设备。在另一 实施例中,用户可以登录到web服务服务器150并且手动地指定web服务服务器 可以向哪些设备发送消息(即,什么设备是活跃的)。

如果设备130对于具有未经递送的消息的一离线用户而言不是活跃的(即判 决框1004=“否”),则设备130可以继续框309中的操作。否则(即判决框1004 =“是”),web服务服务器150可以在框1006取得“活跃”的离线用户的消息。 web服务服务器150可以在框1008加密那些离线用户的消息。离线用户的消息可 以被加密以保护它们的隐私性并且确保仅有与特定的经加密消息相关联的离线用 户才可以访问该消息。在加密了活跃的离线用户的消息之后,web服务服务器150 可以将“活跃”的离线用户的未经递送的消息递送至设备130。web服务服务器150 可以继续框309中的操作。虽然上文按照特定次序来描述各个动作,但本领域普通 技术人员将领会,这些动作可以用各种次序来执行。

图11解说了用于根据优先级次序来向离线用户递送消息的web服务服务器方 法1100的实施例过程流。在图11所示的实施例中,web服务服务器150可以在框 309接收来自设备130的请求以取得要给设备130的当前用户的未经递送的消息。 web服务服务器150可以在框310对设备130所作的消息递送请求作出响应。在取 得当前用户的未经递送的消息之后,web服务服务器150可以在框1001递送当前 用户的消息。web服务服务器130可以在框312检查以寻找要给离线用户的未经递 送的消息。web服务服务器150可以在框402确定是否有要给与提出请求的设备 130相关联的至少一个离线用户的任何未经递送的消息。在没有要给至少一个离线 用户的未经递送的消息的情形中(即判决框402=“否”),web服务服务器150 可以继续框309中的操作。否则(即判决框402=“是”),web服务服务器150 可以在框314取得离线用户的未经递送的消息。web服务服务器可以在框316加密 未经递送的消息以保护离线用户的隐私性以及防止对这些消息的未经授权的访问。

在判决1102,web服务服务器150可以确定是否有多个离线用户。在一实施 例中,如果如在判据框1102中确定的有多个离线用户(即判决框1102=“是”), 则web服务服务器150可以实现对诸离线用户的优先级或排名系统。优先级次序 可以管控哪些离线用户在其他离线用户之前接收到他们的未经递送的消息。这一优 先级系统还可通过向可受益于使他们未经递送的消息已经被下载到该设备的用户 指派较高优先级来优化当存在的资源(例如时间或带宽)有限时的消息递送。在框 1104,web服务服务器150可以创建这多个离线用户的优先级排名。在一实施例中, 优先级次序可基于用户有多频繁地使用该web服务服务器。在另一实施例中,优 先级可基于用户接收到的消息的平均数目,以使得具有较高平均消息数目的用户可 具有比接收到较少消息的另一用户更高的优先级。在又一实施例中,web服务服务 器可以使用试探法来确定恰适的排名。在又一实施例中,一个或多个特定用户可以 采用溢价服务来确保他们各自的消息按照比其他非溢价用户更高的优先级来被对 待。当在框1104对具有未经递送的消息的离线用户进行排名之后,web服务服务 器150可以在框1106根据每一离线用户各自的优先级来调度对诸离线用户的未经 递送的消息的递送。例如,递送调度可以使web服务服务器150首先递送最高优 先级的离线用户的消息,然后递送次最高优先级的离线用户的消息,以此类推。在 一实施例中,在调度了向设备130的消息的递送优先级之际,web服务服务器150 可以在框1108首先递送当前用户的未经递送的消息并且然后按照优先级次序来递 送诸离线用户的未经递送的消息。在递送了已取得的要给该设备的当前用户和/或 与该设备相关联的任何离线用户的消息之后,web服务服务器150可以在框309等 待下一次接收到来自设备的要取得未经递送的消息的请求。

各个实施例可在各种无线设备中的任一种中实现,其中的一个示例在图12中 解说。例如,无线设备1200可包括耦合至内部存储器1202和1204的处理器1210。 内部存储器1204和1210可以是易失性或非易失性存储器,并且还可以是安全和/ 或加密的存储器、或者不安全和/或未加密存储器,或其任何组合。处理器1202还 可被耦合至触摸屏显示器1206,诸如电阻式传感触摸屏、电容式传感触摸屏、红 外传感触摸屏等。另外,无线设备1200的显示器不需要具有触摸屏能力。另外, 移动设备1200可具有用于发送和接收电磁辐射的一个或多个天线1208,这一个或 多个天线1208可与无线数据链路和/或耦合至处理器1202的蜂窝电话收发机1216 相连接。移动设备1200还可包括用于接收用户输入的物理按钮1212a和1212b。 移动设备1200还可包括用于开启和关闭移动设备1200的电源按钮1218。

各种实施例可实现在各种市售的服务器设备中的任何服务器设备上,诸如图 13中所解说的服务器1300。此类服务器1300典型地包括耦合至易失性存储器1301 和大容量非易失性存储器(诸如盘驱动器1303)的处理器1302。服务器1300还可 包括耦合至处理器1301的软盘驱动器、压缩碟(CD)或DVD碟驱动器1306。服 务器1300还可包括耦合至处理器1301的用于建立与网络1307(诸如耦合至其他 广播系统计算机和服务器或耦合至因特网的局域网)的数据连接的网络接入端口 1304。

以上所描述的各实施例还可在各种移动设备(诸如图14中所解说的膝上型计 算机1400)内实现。许多膝上型计算机包括担当计算机的定点设备的触摸板触摸 表面1417,并且由此可接收与在装备有触摸屏显示器的移动计算设备以及上述移 动计算设备上实现的拖曳、滚动和轻击手势类似的拖曳、滚动和轻击手势。膝上型 计算机1400可包括耦合至易失性存储器1412和大容量非易失性存储器(诸如闪存 的盘驱动器1413)的处理器1411。计算机1400还可包括耦合至处理器1411的软 盘驱动器1414和压缩碟(CD)驱动器1415。在笔记本配置中,计算机外壳包括 均耦合至处理器1411的触摸板1417、键盘1418、和显示器1419。计算设备的其 他配置可包括如众所周知地耦合至处理器(例如,经由USB输入)的计算机鼠标 或轨迹球,这也可结合各个实施例来使用。另外,膝上型计算机1400可具有用于 发送和接收电磁辐射的一个或多个天线1422,这一个或多个天线1422可连接至无 线数据链路和/或耦合至处理器1411的蜂窝电话收发机1420。膝上型计算机1400 还可包括耦合至处理器1411用于与网络(诸如因特网)建立数据连接的有线网络 接入端口1424。

上述方法描述和过程流程图仅作为解说性示例提供,且并非旨在要求或暗示 各种实施例的步骤必须按所给出的次序来执行。如本领域技术人员将领会的,前述 实施例中的步骤次序可按任何次序来执行。诸如“此后”、“然后”、“接着”等 的措辞并非旨在限定步骤的次序;这些措辞仅是简单地用以指引读者遍历方法的描 述。进一步地,对单数形式的权利要求元素的任何引述,例如使用冠词“一”、“某” 或“该”的引述不应解释为将该元素限定为单数。

结合本文中所公开的实施例来描述的各种解说性逻辑框、模块、电路、和算 法步骤可实现为电子硬件、计算机软件、或这两者的组合。为清楚地解说硬件与软 件的这一可互换性,各种解说性组件、块、模块、电路、和步骤在上面是以其功能 性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和 施加于整体系统的设计约束。技术人员对于每种特定应用可用不同的方式来实现所 描述的功能性,但这样的实现决策不应被解读成导致脱离了本发明的范围。

用于实现结合本文中公开的方面描述的各种解说性逻辑、逻辑框、模块、以 及电路的硬件可利用设计成执行本文中描述的功能的通用处理器、数字信号处理器 (DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻 辑器件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。 通用处理器可以是微处理器,但在替换方案中,处理器可以是任何常规的处理器、 控制器、微控制器、或状态机。处理器还可以被实现为计算设备的组合,例如DSP 与微处理器的组合、多个微处理器、与DSP核心协同的一个或更多个微处理器、 或任何其他此类配置。替换地,一些步骤或方法可由专用于给定功能的电路系统来 执行。

在一个或多个示例性方面中,所描述的功能可在硬件、软件、固件或其任何 组合中实现。如果在软件中实现,则这些功能可作为一条或多条指令或代码存储在 非瞬态计算机可读介质或非瞬态处理器可读介质上。本文中公开的方法或算法的步 骤可在处理器可执行软件模块中实施,该处理器可执行软件模块可驻留在非瞬态计 算机可读或处理器可读存储介质上。非瞬态计算机可读或处理器可读存储介质可以 是能被计算机或处理器访问的任何存储介质。作为示例而非限定,此类非瞬态计算 机可读或处理器可读介质可包括RAM、ROM、EEPROM、闪存、CD-ROM或其 他光盘存储、磁盘存储或其他磁存储设备、或能被用来存储指令或数据结构形式的 期望程序代码且能被计算机访问的任何其他介质。如本文中所使用的盘(disk)和 碟(disc)包括压缩碟(CD)、激光碟、光碟、数字通用碟(DVD)、软盘和蓝 光碟,其中盘(disk)往往以磁的方式再现数据而碟(disc)用激光以光学方式再 现数据。以上的组合也被包括在非瞬态计算机可读和处理器可读介质的范围内。另 外,方法或算法的操作可作为一条代码和/或指令或者任何代码和/或指令组合或集 合而驻留在可被纳入计算机程序产品中的非瞬态处理器可读介质和/或计算机可读 介质上。

提供所公开的实施例的先前描述是为了使本领域任何技术人员皆能制作或使 用本发明。对这些实施例的各种修改对本领域技术人员来说将是显而易见的,且本 文所定义的一般原理可被应用于其它实施例而不背离本发明的精神或范围。由此, 本发明并非旨在限定于本文中示出的实施例,而是应被授予与所附权利要求和本文 中公开的原理和新颖性特征一致的最广义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号