通过用户标识符重新建立推送通知信道的制作方法

文档序号:7888219阅读:252来源:国知局
专利名称:通过用户标识符重新建立推送通知信道的制作方法
技术领域
本申请涉及重新建立推送通知信道,特别是通过用户标识符重新建立推送通知信道。
背景技术
现有的推送通知框架通过代理服务将通知从应用服务递送到客户端设备。代理服务维护用于将通知递送给在客户端设备上执行的应用的信道,并存储描述所述信道的会话信息。如果客户端设备或代理服务重启或故障,应用就重新开始并尝试重新建立到代理服务以及到应用服务的连接。尽管某些现有系统允许应用在没有用户介入的情况下创建通知信道,但会话信息被绑定到所述代理服务和/或客户端设备。在重启或故障后,客户端设备仍然必须重新建立到代理服务和到应用服务的连接。

发明内容
本公开的实施例将会话信息与用户相关联。代理服务从推送环境中的用户计算设备处接收建立用于从应用服务接收通知的至少一个推送通知信道的请求。该请求包括用户标识符。代理服务基于所述用户标识符获得会话信息并基于所获得的会话信息建立推送通知信道。代理服务通过所建立的推送通信信道将通知从应用服务递送到用户计算设备。提供本发明内容以便以简化形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。


图I是说明将通知从应用服务递送到用户计算设备的代理服务的示例性框图。图2是说明存储有关推送环境并对应于用户标识符的会话信息的存储器区域的示例性框图。图3是说明创建对应于用户标识符的会话信息并持久保存所述信息的代理服务的操作的示例性流程图。图4是说明使用对应于用户标识符的会话信息重新建立推送通知信道的代理服务的操作的示例性流程图。图5是说明在用户计算设备、代理服务和云服务之间的用以重新组合(rehydrate)推送环境中的会话的通信的示例性顺序图。图6是说明基于从会话标识符确定的用户标识符来将通知递送给用户计算设备的代理服务的操作的示例性流程图。在全部附图中,相应的附图标记指示相应的部分。
具体实施例方式参考附图,本发明的各实施例能够在故障的情况下基于用户标识符118来重新创建推送通知信道108。在一些实施例中,描述推送通知信道108的会话信息202与用户标识符118相关联并被存储在与代理服务102或其它网关分开的存储器区域中。代理服务102从应用服务104接收用于递送给用户计算设备106的通知。本发明的各方面进一步允许用户计算设备106在经历通知会话故障之后重新连接到与代理服务102相关联的任意服务器,并且呈现用户标识符118以允许该服务器使用存储在云服务312中的信息来重新建立通知会话。接着参考图1,一个示例性框图说明了在推送环境中将通知从应用服务104递送给用户计算设备106的代理服务102。在如图I所示的示例性推送环境中,应用服务104中的一个或多个生成要被推送给在用户计算设备106上执行的应用107的通知。所述通知被异步地推送,并且所述通知流是单向的,因为通知被从应用服务104发送到应用107以供消费。示例性应用服务104包括诸如社交网站、新闻网站和金融网站之类的网站。可考虑其 它应用服务104,包括电子邮件和其它消息收发服务。示例性的通知包括对在线社交简档的更新、天气和交通状况、包裹递送通知、文本消息、电子邮件消息、语音消息、图像和视频。代理服务102表示执行指令(例如,应用程序、操作系统功能或两者)以实现与代理服务102相关联的操作和功能的任意一个或多个计算设备。代理服务102可以包括诸如服务器、云计算布置、个人计算机之类的任意计算设备。另外,代理服务102可以表示一组处理单元或其他计算设备。代理服务102具有至少一个处理器110和第一存储器区域112。处理器110包括任何数量的处理单元,并且被编程为执行用于实现本发明的各方面的计算机可执行指令。指令可由处理器110或由在代理服务102内执行的多个处理器执行,或者由代理服务102外部的处理器来执行。在一些实施例中,处理器110被编程为执行诸如各附图(例如图3和图4)中示出的那些指令。代理服务102还具有一个或多个计算机可读介质,诸如第一存储器区域112。第一存储器区域112包括与代理服务102相关联或可以由代理服务102访问的任意数量的介质。第一存储器区域112可以在代理服务102的内部(如图I所示)、在代理服务102的外部(未示出)、或内部和外部两者(未示出)。第一存储器区域112存储一个或多个队列114或其它消息缓冲区以及其它数据。在一些实施例中,队列114中的每一个与在用户计算设备106上执行的应用107之一相关联。存储器区域还存储一个或多个计算机可执行组件。示例性的组件包括通信接口组件124、配置组件126、查找组件128以及重新组合(rehydration)组件130。各组件的操作在下文中参考图3和图4来讨论。推送环境还包括第二存储器区域116。第二存储器区域116表示,例如,云服务312或与所述代理服务102分开的或远离代理服务102来提供存储功能的其它服务。代理服务102通过网络可以访问第二存储器区域116。在图I的示例中,第二存储器区域116包括多个用户标识符118,例如用户标识符#I到用户标识符#M。用户标识符118中的每一个对应于或映射到至少一个会话标识符120以及与该用户标识符118相关联的用户的用户计算设备组122。会话标识符120对应于或链接到会话信息202 (例如,如在图2中)。该用户计算设备组122表示执行应用107的用户计算设备106,所述应用107被订阅为从应用服务104接收通知。在一些实施例中,用户计算设备组122被考虑为在第二存储器区域116中维护的会话信息202的一部分。例如,在用户计算设备组122中的每个设备由设备标识符206来标识。在第二存储器区域116中存储的示例性的会话信息202包括订阅信息、用户计算设备信息(例如设备标识符206)、状态、用户计算设备106的网际协议(IP)地址以及例如应用标识符(ID)等有关应用107的信息。在一些实施例中,特定应用107在多个平台(例如移动设备、膝上型计算机、游戏控制台等)上具有相同的应用标识符。用户计算设备106包括,例如,用户计算设备#1到用户计算设备#N。每个用户计算设备106包括任意计算设备,例如移动计算设备或任意其它便携式设备。在一些实施例中,移动计算设备106包括移动电话、平板电脑、膝上型计算机、上网本、游戏控制台和/或便携式媒体播放器。用户计算设备106还可包括较不便携的设备,诸如台式个人计算机、自助服务终端和桌面设备。用户计算设备106执行应用107中的一个或多个。应用107在被用户计算设备106执行时用于执行用户计算设备106上的功能。示例性应用107包括邮件应用程序、web浏览器、日历应用程序、地址簿应用程序、消息收发应用程序、媒体应用、基于位置的服务、搜索程序等。应用107可与对应的应用或服务通信,诸如可经由网络访问的web服务。例如,应用107可表示与在云中执行的服务器侧服务相对应的所下载的客户机侧应用。在操作中,代理服务102从应用服务104接收通知,并将所接收的通知存储在队列114中。基于(例如从第二存储器区域116中获得的或在第一存储器区域112中缓存的)会话信息202来将通知存储在队列114中。基于会话信息202,由代理服务102通过推送通知信道108将通知从队列114发送到对应的应用107。推送通知信道108是在代理服务102和应用107之间建立的通信信道。接着参考图2,示例性的框图说明了第二存储器区域116,该第二存储器区域116存储了与推送环境相关的并对应于所述用户标识符118之一的会话信息202。存储在第二存储器区域116中的数据可以以诸如关系型数据库、文本文件和超文本链接之类的任意形式或格式被组织和/或被存储。每个用户标识符118对应于会话标识符120中的一个或多个,例如会话标识符#1到会话标识符#Y。每个会话标识符120具有对应的会话信息202。会话信息202包括一个或多个订阅的描述。由订阅标识符204所表示的订阅(例如通过应用标识符)标识了被订阅为从特定应用服务104接收通知的应用107。会话信息还包括对应于与会话相关联的特定用户计算设备106的设备标识符206。接着参考图3,示例性流程图说明了创建对应于用户标识符118的会话信息202 并持久保存所述信息的代理服务102的操作。每个会话与用户计算设备106之一以及在该用户计算设备106和代理服务102之间的连接相对应。在用户计算设备106上执行的应用107期望从应用服务104接收通知。作为响应,用户计算设备106 (例如在其上执行的客户端堆栈)建立或定义与设备标识符206以及用户标识符118相关联的会话。用户计算设备106将设备标识符206以及用户标识符118提供给代理服务102。在一些实施例中,作出请求的应用的应用标识符也被发送给代理服务102。
如果代理服务102接收在302处创建推送通知信道108之一(例如创建订阅)的请求,则代理服务102创建与由用户计算设备106所提供的设备标识符206以及用户标识符118相关联的会话标识符120。随后,代理服务102在304处定义与会话标识符120相关联的会话信息以包括,例如订阅标识符204以及设备标识符206。订阅标识符204表示所请求的订阅。如果已经存在对应于设备标识符206和用户标识符118的会话标识符120,则代理服务102更新与会话标识符120相关联的会话信息202以包括订阅标识符204。另外,代理服务102将相同的订阅标识符204添加到与用户标识符118相关联的任意其它会话标识符120。例如,用户标识符118可以具有与其相关联的三个会话标识符120 :—个用于移动设备、一个用于膝上型计算机以及一个用于游戏控制台。代理服务102在306向作出请求的用户计算设备106提供订阅标识符204。代理服务102在310处通过将链接到用户标识符118的会话信息202存储在例如云服务312中 来持久保存会话信息202。在一些实施例中,所提供的订阅标识符204采用了包含了代理服务102的域名服务、用户标识符118以及应用标识符的统一资源位置(URL)的形式。所述URL的格式可以包括,例如,http://<proxyservice (代理服务)>/<useridentifier (用户标识符)Xapplicationidentifier (应用标识符)>。作出请求的应用107随后将该URL提供给对应的应用服务104。对应的应用服务104使用该URL来推送通知给代理服务102以便递送给预期的用户计算设备106。例如,如下所述,代理服务102从该URL中提取用户标识符118,查找与所提取的用户标识符118相关联的会话,并且对于每个活动的会话将通知进行排队以供递送。在一些实施例中,图3所述的操作可以由在图I中所述的计算机可执行组件中的一个或多个来实现。例如,当由处理器Iio执行时,通信接口组件124使得处理器110从用户计算设备106接收创建包括推送通知信道108 (例如订阅)的会话的请求。所述请求包括,例如,用户标识符118以及应用标识符。在一些实施例中,通信接口组件124包括网络接口卡和/或用于操作网络接口卡的计算机可执行指令(例如驱动程序)。当由处理器110执行时,配置组件126使得处理器110定义建立从代理服务102 到用户计算设备106的推送通知信道108的会话信息202,并将会话信息202存储到云服务312中。会话信息202包括与用户标识符和应用标识符相对应的订阅标识符和会话标识符。通信接口组件124将订阅标识符204发送给用户计算设备106。在从代理服务102接收订阅标识符204之后,用户计算设备106 (例如在用户计算设备106上执行的应用107)将订阅标识符204注册到应用服务104,应用107期望从应用服务104订阅通知。在这样的示例中,应用服务104被配置为通过订阅标识符204将通知推送到应用107。接着参考图4,示例性流程图说明了使用对应于用户标识符118的会话信息202来重新建立推送通知信道108的代理服务102的操作。例如,代理服务102和/或用户计算设备106可以经历重启、崩溃或其它故障。或者或另外,承载有推送通知信道108的会话可以发生故障。如果用户计算设备106所连接的与代理服务102相关联的服务器发生故障,用户计算设备可以经由图4所述的操作来寻求与代理服务102相关联的另一服务器以进行连接。如果用户计算设备106被重启,则用户计算设备106 (重启之后)尝试通过图4所示的操作来重新连接到代理服务102。代理服务102在402处可以从用户计算设备106接收建立用于接收来自应用服务104的通知的至少一个推送通知信道108的请求。所述请求包括与用户计算设备106的用户相关联的用户标识符118以及用户计算设备106的设备标识符206。如果代理服务102在402接收到请求,则代理服务102在404处获得与所述用户标识符118和设备标识符206相关联的会话信息202。例如,代理服务102向云服务312提供来自所接收的请求的用户标识符118和设备标识符206,并且作为其响应,从云服务312接收相关联的会话信息202。会话信息202包括与由用户标识符118所标识的用户计算设备106相关联的应用107的订阅标识符。在一些实施例中,代理服务102基于所述用户标识符118和设备标识符206获得会话标识符120,并且从云服务312获得会话信息。在这样的实施例中,代理服务102可以、首先与云服务312通信以获得会话标识符120 (例如如果云服务存储了在用户标识符118、设备标识符206以及会话标识符120之间的映射),并且随后与云服务312 (或另一云服务)进行通信以基于会话标识符120获得会话信息202。在代理服务102缓存在用户标识符118、设备标识符206以及会话标识符120之间的映射的实施例中,代理服务102通过访问所述缓存来获得会话标识符120,随后与云服务312进行通信以基于所述会话标识符120获得会话信息202。代理服务102行进到406处使用从云服务312获得的会话信息202来重新建立包含推送通知信道的会话。在重新建立推送通知信道之后,代理服务102能够通过建立的推送通知信道108将从应用服务104接收到的通知递送给用户计算设备106。通知中的每一个包括,例如,标识应该将通知递送到的应用107的全局唯一标识符(⑶ID)。在一些实施例中,⑶ID包括用户标识符118。在用户具有两个设备并且其中之一重启的示例中,重启的设备将重新连接请求发送给代理服务102,所述请求包括重启的设备的设备标识符206以及该用户的用户标识符118。如果由与已经缓存了有关该用户的会话信息202的代理服务102相关联的服务器来处理该重新连接请求,则该服务器(例如使用设备标识符206)获得相关会话的订阅标识符204,并重新建立与重启设备相关联的订阅。如果由与没有缓存有关该用户的会话信息202的代理服务102相关联的服务器来处理该重新连接请求,则该服务器使用用户标识符118和设备标识符206从云服务312获得相关的会话信息202。服务器进而重新建立与重启的设备相关联的订阅。在这种方式中,仅重新组合与重启的设备相关联的订阅,而与该用户的其它用户计算设备106相关联的会话仍然不受影响。在一些实施例中,用户计算设备106建立多个推送通知信道108(例如,在用户计算设备106上执行的多个应用107订阅以接收通知)。如果在特定用户计算设备106故障之前在该用户计算设备106上的应用107是活动的并且在该用户计算设备106从故障恢复之后变得非活动,则该用户计算设备106可向代理服务102提供这种通知。例如,在用户计算设备106上的客户端堆栈在从故障恢复之后向代理服务102标识了第一组应用107。第一组应用107表示在用户计算设备106上当前是活动的应用107。代理服务102将第一组应用107与和会话信息202相关联的第二组应用107进行比较来标识一个或多个非活动的应用。第二组应用107表示先前在用户计算设备106上执行的应用107。代理服务102阻止到所标识的非活动的应用的通知递送。在另一实施例中,如果通知的预期接收应用107是非活动的,则代理服务102从用户计算设备106接收出错响应。代理服务102阻止到非活动的应用107的将来的通知递送。例如,与用户计算设备106相关联的会话信息202被更新以反映与非活动的应用107相关联的订阅被阻止。如果用户随后安装或重新激活应用107,则应用107将包括应用107的应用标识符的订阅请求发送给代理服务102。作为响应,代理服务更新会话信息202以(例如通过应用标识符)不再阻止与用户计算设备106相关联的先前被阻止的订阅。在一些实施例中,代理服务102将不再阻止现有订阅的消息返回给用户计算设备106。在一些实施例中,图3所示的操作可以由在图I中 所示的计算机可执行组件中的一个或多个来实现。例如,通信接口组件124从用户计算设备106接收重新建立已故障的推送通知信道108的请求。当由处理器110执行时,查找组件128使得处理器110基于用户标识符118从云服务312获得会话信息202。当由处理器110执行时,重新组合组件130使得处理器110基于由查找服务组件使用用户标识符118所获得的会话信息202来重新建立包含推送通知信道108的会话。而且,由通信接口组件124接收的请求可以标识与用户计算设备106相关联的一组活动应用。当由处理器110执行时,重新组合组件130仅针对该组活动应用中所标识的活动应用来重新建立推送通知信道108。接着参考图5,示例性顺序图说明了在用户计算设备106、代理服务102和云服务312之间的用以重新组合推送环境中的会话的通信。在图5的示例中,用户计算设备106尝试通过经由Reconnect O (重新连接)函数调用将请求发送给代理服务102来重新建立推送通知信道108。该函数调用是由代理服务102所提供的应用程序编程接口(API)的一部分。在一些实施例中,Reconnect O函数调用的自变量包括用户标识符118。代理服务102通过将用户标识符118作为LookupSessionO (查找会话)函数调用中的自变量发送给云服务312来获得与该请求相关联的会话信息202。响应于LookupSession O函数调用,云服务312确定会话信息202并将其提供给代理服务102。代理服务102通过RehydrateSession O(重新组合会话)或另一函数调用来重新组合会话。重新组合会话使得会话状态被复制到代理服务102和/或被重新填充入与会话管理器相关联的存储器中以重新建立推送通知信道108,其中所述会话管理器与代理服务102相关联。在重新组合会话之后,代理服务102通过例如UpdateState (Connected)(更新状态(已连接))函数调用来向云服务312告知会话状态。其它示例性会话状态包括断开和非活动。代理服务102还通过ReconnectResponse O (重新连接响应)函数调用来向用户计算设备106告知该重新组合。在一些实施例中,图5所示的代理服务102包括会话管理器和查找服务。在这样的实施例中,会话管理器执行来自图I中的配置组件126和重新组合组件130,而查找服务执行查找组件128。接着参考图6,示例性流程图说明了基于从会话标识符120确定的用户标识符118来将通知递送给用户计算设备106的代理服务102的操作。在图6的示例中,建立推送通知信道108。如果代理服务102在602处从应用服务104之一接收要递送给用户计算设备106中的至少一个的通知,代理服务102则在604处确定与该通知相关联的会话标识符120。在一些实施例中,所接收的通知包括用户标识符118(例如是GUID的一部分或在通知的首部中的别处)。代理服务102基于用户标识符118确定会话标识符120。例如,代理服务102可以与云服务312或第二存储器区域116通信以获得会话标识符120。使用会话标识符120,代理服务102可以在606处获得与通知相关联的会话信息202。例如,代理服务102可以与云服务312或第二存储器区域116通信以获得会话信息202。使用会话标识符120和/或其它会话信息202,代理服务102在608将通知存储在适合的队列114中以供最终递送给预定的用户计算设备106。代理服务102使用所获得的会话信息202来确定如何递送所接收的通知。而且,在610,代理服务102标识要接收通知的用户计算设备106。而且,代理服务102可以与云服务312或第二存储器区域116通信以确定与用户标识符118 (或会话标识符120)相关联的用户计算设备组122。
代理服务102在612处通过由会话信息202所描述的推送通知信道108将通知从队列114递送到所标识的用户计算设备组122。补充示例图I中的各元件的功能中的至少一部分可以由图I中的其他元件或图I中未示出的实体(例如,处理器、web服务、服务器、应用程序、计算设备等)执行。在一些实施例中,图3和图4所示的操作可以以在计算机可读介质上编码的软件指令、以被编程或设计为执行这些操作的硬件或这两者来实现。例如,本发明的各方面可被实现为片上系统。虽然本发明的各方面没有跟踪个人可标识的信息,但参考了从用户监视和/或收集的数据来描述了各实施例。在这样的实施例中,向用户提供收集数据的通知(例如,经由对话框或偏好设置)并且给予用户对监视和/或收集给出同意或拒绝的机会。该同意可以采用选择加入同意或选择退出同意的形式。示例件操作环境示例性计算机可读介质包括闪存驱动器、数字多功能盘(DVD)、紧致盘(⑶)、软盘以及磁带盒。作为示例而非限制,计算机可读介质包括计算机可读存储介质和通信介质。计算机可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。计算机可读存储介质将传播的数据信号排除在外。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。尽管结合示例性计算系统环境进行了描述,但本发明的各实施例可用于众多其它通用或专用计算系统环境或配置。适用于本发明各方面的公知的计算系统、环境和/或配置的示例包括但不限于,移动计算设备、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、游戏控制台、基于微处理器的系统、机顶盒、可编程消费电子产品、移动电话、网络PC、小型计算机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境
坐坐寸寸O可以在由一个或多个计算机或其它设备执行的诸如程序模块等计算机可执行指令的一般上下文中来描述本发明的各实施例。计算机可执行指令可以被组织成一个或多个计算机可执行组件或模块。一般而言,程序模块包括但不限于,执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件,以及数据结构。可以利用任何数量的这样的组件或模块及其组织来实现本发明的各方面。例如,本发明的各方面不仅限于附图中所示出并且在此处所描述的特定计算机可执行指令或特定组件或模块。本发明的其它实施例可以包括具有比此处所示出和描述的功能更多或更少功能的不同的计算机可执行指令或组件。本发明的各方面在被配置成执行此处所描述的指令时将通用计算机变换成专用计算设备。在此所说明和描述的实施例以及并未在此特别描述但在本发明的各方面的范围之内的实施例构成了用于将推送环境内的会话信息202与用户相关联的示例性手段,以及用于供代理服务102使用对应于用户标识符118的会话信息202重新建立推送通知信道108的示例性手段,所述会话信息202与代理服务102分开存储。此处所示出和描述的本发明的各实施例中的操作的执行或实现的顺序不是必需的,除非另外指定。即,除非另外指定,否则操作可以按任何顺序执行,且本发明的各实施例可以包括比此处所公开的操作更多或更少的操作。例如,构想了在一个操作之前、同时或之后执行另一个操作是在本发明的各方面的范围之内的。当介绍本发明的各方面的元素或其实施例时,冠词“一”、“一个”、“该”、“所述”旨
在表示有元素中的一个或多个。术语“包括”、“包含”以及“具有”旨在是包含性的,并意味着除所列出的元素以外还可以有额外的元素。已经详细地描述了本发明的各方面,显然,在不偏离所附权利要求书所定义的本发明的各方面的范围的情况下,可以进行各种修改和变化。在不偏离本发明的各方面的范围的情况下,可以对上面的构造、产品以及方法做出各种更改,上面的描述中所包含的和各 个附图中所示出的所有主题应该解释为说明性的,而不是限制性的。
权利要求
1.一种系统,包括 与代理服务相关联的第一存储器区域,所述第一存储器区域存储一个或多个队列; 可由所述代理服务访问的第二存储器区域,所述第二存储器区域存储了在会话标识符和用户标识符之间的映射,所述第二存储器区域还存储了在所述用户标识符和用户计算设备组之间的映射,其中所述代理服务通过推送通知信道与用户计算设备通信。
处理器,被配置成 由所述代理服务从推送环境中的应用服务接收要递送给所述多个用户计算设备中的至少一个的通知,其中所述通知具有与其相关联的用户标识符; 从所述第二存储器区域获得对应于所述用户标识符的会话标识符; 基于所述会话标识符将所接收的通知存储在所述第一存储器区域中的队列中的至少一个中; 从所述第二存储器区域确定与所述用户标识符相关联的用户计算设备组;以及 由所述代理服务通过所述推送通知信道将所述通知从所述第一存储器区域中的队列发送给所确定的用户计算设备组中的每个用户计算设备。
2.如权利要求I所述的系统,其特征在于,所述用户标识符被包括在所述通知的首部中,并且其中所述通知包括全局唯一标识符(GUID),所述GUID包括所述用户标识符以及应用标识符。
3.如权利要求I所述的系统,其特征在于,所述用户计算设备组包括以下的一个或多个移动计算设备、平板计算设备、游戏控制台以及媒体播放器。
4.如权利要求I所述的系统,还包括 用于将所述推送环境中的会话信息与用户相关联的装置;以及 用于供所述代理服务使用对应于所述用户标识符的会话信息来重新建立所述推送通知信道的装置,所述会话信息与所述代理服务分开存储。
5.一种方法,包括 由代理服务从推送环境中的用户计算设备接收建立用于从应用服务接收通知的至少一个推送通知信道的请求,所述请求包括与所述用户相关联的用户标识符以及与所述用户计算设备相关联的设备标识符; 基于所述用户标识符和所述设备标识符获得会话信息;以及 通过所述代理服务基于所获得的会话信息建立所述推送通知信道,其中所述代理服务通过所建立的推送通知信道将通知从所述应用服务递送到所述用户计算设备。
6.如权利要求5所述的方法,其特征在于,接收所述请求包括接收重新建立由于所述代理服务和/或所述用户计算设备故障或重启而出故障的至少一个推送通知信道的请求,并且还包括基于所述用户标识符和所述设备标识符来标识会话标识符,并且其中获得所述会话信息包括基于所述会话标识符获得所述会话信息。
7.如权利要求5所述的方法,其特征在于,接收所述请求包括接收包括所述用户标识符和应用标识符的请求,其中云服务存储了在所述用户标识符、所述设备标识符和所述会话标识符之间的映射,并且其中获得所述会话信息包括从所述云服务获得所述会话信息。
8.如权利要求5所述的方法,其特征在于,还包括 由所述代理服务从所述用户计算设备接收在所述用户计算设备上执行的第一组应用; 将所述第一组应用与和所述会话信息相关联的第二组应用相比较以标识一个或多个非活动应用;以及 由所述代理服务阻止旨在到所述非活动应用的通知递送。
9.如权利要求5所述的方法,其特征在于,获得所述会话信息包括获得与在所述用户计算设备上执行的并被订阅以从所述应用服务接收所述通知的应用相对应的至少一个应用标识符。
10.如权利要求5所述的方法,其特征在于,一个或多个计算机可读存储介质具有计算机可执行组件,所述组件与推送环境中的代理服务相关联,所述组件包括 通信接口组件,当由至少一个处理器执行时使得所述至少一个处理器从用户计算设备接收创建包括至少一个推送通知信道的会话的请求,所述请求包括用户标识符和应用标识符; 配置组件,当由至少一个处理器执行时使得所述至少一个处理器定义包括与所述用户标识符和所述应用标识符相对应的订阅标识符和会话标识符的会话信息,建立从所述代理服务到所述用户计算设备的推送通知信道,并将所述会话信息存储到云服务中,其中所述通信接口组件将所述订阅标识符发送给所述用户计算设备,并且其中所述用户计算设备将所述订阅标识符注册到应用服务,所述应用服务被配置为通过所述订阅标识符将通知发送给所述用户计算设备, 其中由所述配置组件建立的所述推送通知信道随后出现故障,并且其中所述通信接口组件从所述用户计算设备接收重新建立故障的推送通知信道的请求,所述请求包括所述用户标识符和设备标识符; 查找组件,当由至少一个处理器执行时使得所述至少一个处理器基于由所述通信接口组件接收到的所述用户标识符和所述设备标识符从所述云服务获得所述会话信息;以及 重新组合组件,当由至少一个处理器执行时使得所述至少一个处理器基于由所述查找组件使用所述用户标识符和所述设备标识符所获得的所述会话信息来重新建立所述推送通知信道。
全文摘要
本申请涉及通过用户标识符重新建立推送通知信道。各实施例允许通过与用户标识符相关联的会话信息来恢复推送通知信道。代理服务创建描述用户的推送通知信道(例如订阅)的会话信息,并将会话信息与用户标识符相关联。会话信息被存储在云服务或与代理服务分开的其它存储区域中。在用户计算设备或代理服务故障之后,通过用户标识符获得会话信息并且用会话信息来重新创建推送通知信道。在一些实施例中,代理服务允许将相同的通知递送给与用户标识符相关联的多个计算设备。
文档编号H04L29/08GK102664909SQ201210020280
公开日2012年9月12日 申请日期2012年1月29日 优先权日2011年1月28日
发明者R·库雷希 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1