代理推送的制作方法

文档序号:12290075阅读:413来源:国知局
代理推送的制作方法与工艺
本专利申请要求于2014年5月30日提交的名称为“PROXIEDPUSH”的美国临时专利申请No.62/005,325和于2014年9月2日提交的名称为“PROXIEDPUSH”的美国非临时专利申请No.14/475,060的权益和优先权,这些专利申请的整个公开内容据此以引用方式并入本文以用于所有目的。本专利申请与以下美国专利申请相关:Rauenbuehler等人于2014年5月30日提交的名称为“ANSWERANDHOLDWITHCLIENTANDHOST”的美国临时专利申请No.62/005,550(参考文件号No.P23172USP1);Rauenbuehler等人于2014年5月30日提交的名称为“ANSWERINGACALLWITHCLIENTTHROUGHAHOST”的美国临时专利申请No.62/005,534(代理机构参考文件号No.P23171USP1);Tung等人于2014年5月30日提交的名称为“CLIENTAPPLICATIONSCOMMUNICATINGVIAAUSERTUNNEL”的美国临时专利申请No.62/005,606(参考文件号No.P23188USP1);Circosta等人于2014年5月30日提交的名称为“SMSPROXYING”的美国临时专利申请No.62/005,336(参考文件号No.P23192USP1);Schobel等人于2014年5月30日提交的名称为“MANAGINGCONNECTIONSOFAUSERDEVICE”(的美国临时专利申请No.62/005,505(参考文件号No.P23295USP1);Pollack等人于2014年5月30日提交的名称为“APPLICATION-LEVELACKNOWLEDGEMENTS”的美国临时专利申请No.62/005,565(参考文件号No.P23189USP1);Pollack等人于2014年5月30日提交的名称为“MESSAGESWITHATTENUATINGRETRANSMITIMPORTANCE”的美国临时专利申请No.62/005,586(参考文件号No.P23190USP1);Pollack等人于2014年5月30日提交的名称为“UNIFIEDMESSAGEDELIVERYBETWEENPORTABLEELECTRONICDEVICES”的美国临时专利申请No.(参考:文件号No.P22929USP1);Coffman等人于2014年5月30日提交的名称为“USERINTERFACEFORPHONECALLROUTINGAMONGDEVICES”的美国临时专利申请No.62/005,990(参考文件号No.P23298USP1);Prats等人于2014年5月30日提交的名称为“PROTOCOLSWITCHINGININTER-DEVICECOMMUNICATION”的美国临时专利申请No.62/505,799(参考文件号No.P22319USP1),该专利申请是共同拥有的并由此以引用方式并入本文以用于所有目的。本专利申请还涉及Liu等人于2014年3月14日提交的名称为“DYNAMICLINKADAPTATIONFORIMPROVEDLINKMARGIN”的美国临时专利申请61/953,591,该专利申请据此以引用方式并入本文以用于所有目的。
背景技术
:本公开整体涉及电子设备之间的通信,并且更具体地涉及使用代理设备和被代理设备来双向递送内容。移动电子设备诸如膝上型电脑、掌上电脑、移动电话、智能电话、多媒体电话、便携式媒体播放器、GPS单元、移动游戏系统等已变得相当普及。很多用户几乎到任何地方都携带设备并且将其设备用于各种目的,包括拨打和接收电话呼叫、发送和接收文本消息和电子邮件、导航(例如使用地图和/或GPS接收器)、在商店中购买商品(例如使用非接触式支付系统)、和/或访问互联网(例如查找信息)。用户的移动设备可被携带或穿戴,并执行除之前由单个专用设备实现的传统功能之外的各种智能功能。移动设备可具有用于访问各种内容的应用程序,诸如电子邮件和网站、音频/视频流式传输、社交媒体等。一些应用程序可能会周期性地从有新内容可用的服务接收通知。此类应用程序可包括“推送”电子邮件服务(例如MobileMe、MicrosoftExchange、ActiveSync、Push-IMAP、Yahoo!Push等),或者其他推送服务(例如更新/升级服务、新闻服务、博客服务、播客服务、社交网络服务或可发送通知消息的其他类型的服务)。通知消息通常表示感兴趣的事件,其通常由应用程序定义(例如,新的电子邮件指示符、新的新闻项指示符、新的播客指示符、社交网络朋友的在线状态的变化等)。对移动设备的使用的增加放大向这些设备路由通知消息的复杂性。一个问题是很多用户几乎到哪里都更经常携带多个移动设备,这增大了向正确设备路由内容的复杂性。另一个问题是用户将其设备用于各种交叠和不交叠的目的,使得更难以确定安装相同应用程序的用户的两个移动设备中的哪个移动设备是内容的期望目的地。此外,由于一些移动设备并非固有为可寻址的,因此在每个用户有多个设备在使用时并在不知道如何联系设备时难以向这些移动设备路由消息(尤其是在大尺度移动设备上)。因此,期望解决与协调和应对向和从用户设备递送内容相关的问题,其中一些问题可能会在本文中论述。此外,期望减少在向和从用户设备递送内容同时还扩展这些设备的功能和可访问性时与功率管理和效率相关的缺点,其中的一些缺点可能会在本文中论述。技术实现要素:本发明描述了一个用于在内容递送服务和移动设备之间建立双向通信的系统和方法。由于移动设备(充当被代理设备)维持与服务的持久连接以便从指定一组供应商接收推送内容可能功率低效,因此可使用配套设备(充当代理设备)来向服务断言每个移动设备的“在线”存在。在各种实施方案中,移动设备初始进行注册,以通过服务来递送推送内容。该服务可将注册的移动设备映射到在其相应配套设备和在从移动设备接收到对存在的断言时的服务(例如,通过配套设备提供)之间形成的连接。响应于接收到针对注册移动设备的推送内容,该服务使用其映射来确定移动设备是否“在线”。如果在线,则识别当前网络连接,其对应配套设备正在当前网络连接上侦听其自身的推送内容。该服务可通过配套设备的连接来向配套设备转发推送内容,从而指导配套设备向移动设备递送推送内容。本发明的某些实施方案涉及在可穿戴设备(作为被代理设备)和主机设备(作为代理设备)之间进行通信。例如,可穿戴设备可与主机设备(例如,经由配对过程等)建立无线通信链路。可穿戴设备可确定用于与主机设备进行通信的最有功率效率的方式。如果一种无线通信比另一种无线通信在移动设备处消耗更多的功率,则可穿戴设备可选择一种无线通信而不是另一种无线通信。因此,可选择断续且非持久的链路,以便使功率消耗最大化并减小接口,或满足其他预先确定的标准,同时还允许双向通信。在一些实施方案中,为了从内容递送服务接收推送内容,可穿戴设备可通过与主机设备的预先确定的无线通信链路来向服务断言其“在线”存在。该主机设备参与可穿戴设备和服务之间的交互,以确保向和从移动设备成功递送推送内容。可穿戴设备可从服务接收推送内容,因为主机设备代表其使用其自身通往服务的持久连接而与服务进行对消息的发送和接收。可穿戴设备可向服务转发推送内容,因为主机设备代表其使用其自身通往服务的持久连接而与服务进行对消息的发送和接收。在一些实施方案中,移动设备的配套设备可检测到与配套设备的所建立的无线通信链路不适合进行通信。该配套设备可确定该链路质量过差而不能进行通信或者该链路已被切断或因故终止,而无论是移动设备故意地或是由于在预先确定时间段内没有跨越链路与移动设备进行交互。在满足特定条件时,配套设备可通过其通往服务的自身的链路来向内容递送服务断言“离线”存在,从而指导该服务将移动设备标记为“离线”。在各种实施方案中,该服务可从配套设备的持久连接解除移动设备的关联,从而对推送内容进行排队以用于稍后递送。在一些实施方案中,移动设备可直接连接到内容递送服务并检索任何排队的推送内容。在一个实施方案中,移动设备直接向服务断言“在线”存在可能使得服务自愿更新其自身的映射。该服务可从其至任何配套设备的连接的映射来解除移动设备的关联。除了以上章节之外,通过参考本公开的其余部分、任何附图和权利要求,应当意识到对本公开主题(以及所提供的任何固有或明确的优点和改进)的性质和等同物的进一步的理解。附图说明为了合理地描述和例示在本公开内出现的这些创新、实施方案和/或示例,可参考一个或多个附图。用于描述一个或多个附图的附加细节或示例不应被解释为对所主张的任何发明、当前描述的任何实施方案和/或示例或当前被理解为在本公开内给出的任何创新的最佳模式的范围的限制。图1是根据各种实施方案的设备管理和内容递送生态系统的框图。图2是根据各种实施方案的图1的设备管理和内容递送生态系统中的内容递送系统的框图。图3是根据一个实施方案的用于执行代理推送通知的方法的流程图。图4是示出了根据一个实施方案的推送通知服务如何管理代理/被代理存在的框图。图5是根据一个实施方案的由充当代理设备的配套设备执行的方法的流程图,该方法用于向充当被代理设备的移动设备递送从推送通知服务接收的推送内容。图6是示出了根据各种实施方案的针对推送通知服务建立代理和被代理存在的消息序列图。图7是示出了根据各种实施方案的从推送通知服务向代理设备发送推送内容以用于向被代理设备进行递送的消息序列图。图8是根据一个实施方案的由充当代理设备的配套设备执行的用于处理被代理的推送内容的方法的流程图。图9是根据一个实施方案的由充当被代理设备的移动设备执行的用于接收被代理的推送内容的方法的流程图。图10是示出了根据一个实施方案的由充当代理设备的配套设备从充当被代理设备的移动设备向推送通知服务发送推送内容的消息序列图。图11示出了根据本发明的一个实施方案的用于传送数据的协议栈。图12是根据一个实施方案的便携式电子设备或移动设备的框图。具体实施方式I.引入本发明描述了用于在内容递送服务和移动设备之间建立双向通信的系统和方法。由于移动设备(充当被代理设备)维持与服务的持久连接以便从指定一组供应商接收推送内容可能功率低效,因此可使用配套设备(充当代理设备)来向服务断言每个移动设备的“在线”存在。在各种实施方案中,移动设备初始进行注册,以通过服务来递送推送内容。该服务可将注册的移动设备映射到在其相应配套设备和在从移动设备接收对存在的断言时的服务(例如,通过配套设备提供)之间形成的连接。响应于接收到针对注册移动设备的推送内容,该服务使用其映射来确定移动设备是否“在线”。如果在线,则识别当前网络连接,其对应配套设备正在当前网络连接上侦听其自身的推送内容。该服务可通过配套设备的连接来向配套设备转发推送内容,从而指导配套设备向移动设备递送推送内容。A.系统图1是根据各种实施方案的设备管理和内容递送生态系统100的框图。图1和其他附图仅例示了本文所公开的发明实施方案或具体实施,而不应限制权利要求中所述的任何发明的范围。本领域的普通技术人员通过本公开和本文给出的教导内容可认识到附图中所示的那些实施方案或具体实施的其他变型形式、修改形式和/或替代形式。系统100中的设备可包括硬件元件和/或软件元件。在一个实施方案中,生态系统100包括身份管理基础结构105、内容基础结构110(即,实现语音/视频呼叫服务、消息服务和/或推送通知服务的一个或多个服务器)、移动设备115、配套设备120、用户设备125、供应商130、供应商135、和通信网络140。如图所示,身份管理基础结构105、内容基础结构110、移动设备115、配套设备120、用户设备125、供应商130和供应商135均能够利用并通过通信网络140(表示互联网、广域网(WAN)、城域网(MAN)、局域网(LAN)、无线局域网(WiLAN)、无线电接入网(RAN)、公共交换电话网(PTSN)等、和/或它们的组合)进行通信。移动设备115可直接与配套设备120进行通信,而无需利用通信网络140。身份管理基础结构105在各种实施方案中可使用单个服务器计算机系统来实现,或可包括多个服务器计算机系统、Web服务器、应用服务器、网络、互连器等。在各个方面中,身份管理基础结构105提供系统诸如内容基础结构110内或之间的对个体实体的管理、其认证、授权和特权。由身份管理基础结构105所提供的身份管理服务可包括技术和服务诸如活动目录、身份供应商、口令管理器、访问控制供应商、单点登录(SSO)服务、OAuth、安全令牌服务等。在各种实施方案中,身份管理基础结构105维护用于认证被管理实体(诸如用户、组织和任何相关联的设备、资源、服务、应用程序等)的身份的信息。身份管理基础结构105可使用口令、生物识别特征(诸如指纹)、区分性行为(诸如触摸屏上的手势模式)、挑战-应答协议、一次性口令(OTP)、双向认证和其他技术来认证实体是其所断言的身份。身份管理基础结构105可管理用于限定实体在特定应用程序、服务或资源的上下文内可执行什么操作的授权信息。一些授权可基于与被管理实体相关联的角色、设备类型、应用程序、应用程序类型等。用户被授予常常与特定工作或工作职能相关的角色。身份管理基础结构105还可管理关于管理实体的描述性信息以及如何以及谁可访问和修改该信息。在一些实施方案中,身份管理基础结构105为管理实体创建数字身份,例如涵盖实体识别信息(PII)和补充信息。在一个方面中,被管理实体可具有多个数字身份,并且每个数字身份可涵盖多个属性。例如,用户可具有链接到多个设备的用户标识符(例如,电话号码、电子邮件等)。除了数字身份的创建、删除、修改之外,身份管理基础结构105还可管理供服务诸如内容基础结构服务110使用的补充实体数据。在另外的实施方案中,身份管理基础结构105可存储与用户标识符相关联的每个设备的能力。设备能力的示例包括设备是否包括特定类型或版本的硬件,设备是否包括特定类型或版本的软件(例如,操作系统或应用程序),设备是否能够执行特定功能诸如拨打和接听电话或发送和接收短消息服务(SMS)/多媒体消息服务(MMS)消息,设备是否能够维持与其他设备的连接等。与用户相关联的设备的列表可被发送到并存储于该用户的任何其他设备(诸如在与同一用户标识符相关联时的移动设备115和配套设备120)处。身份管理基础结构105可确定并收集在设备注册并与用户标识符相关联时的能力。身份管理基础结构105可例如在设备重新注册或与身份管理基础结构105管理的一个或多个服务进行通信时周期性地更新该设备的能力。在各种实施方案中,身份管理基础结构105可接收被用于为与用户标识符相关联的设备确定设备标识符的单个用户标识符。在身份注册期间,为了访问由身份管理基础结构105管理的服务或资源,可组合一个或多个用户或其他标识符和唯一实体或设备标识符(UID),以生成身份或设备令牌。在各种实施方案中,通过应用散列算法(例如SHA-0、SHA-1、SHA-2、MD5、Whirlpool、或其他散列算法)来对令牌进行加密。为实体生成并加密的令牌可在各种实施方案中保持恒定。一旦由身份管理基础结构105生成并加密令牌,便可将该令牌发送回到该实体。在一些方面中,该实体然后可将令牌分发给由身份管理基础结构105管理的服务或资源或其他第三方服务,以用于与该实体在那些被管理服务或资源处的认证、授权、记账等或由第三方来向该实体进行的对内容的受信任的递送相关的各种目的。内容基础结构110可被由身份管理基础结构105管理的实体保护和/或被其访问。内容基础结构110在各种实施方案中可使用单个服务器计算机系统来实现,或可包括多个服务器计算机系统、Web服务器、应用服务器、网络、互连器等。内容基础结构110可向移动设备115、配套设备120和用户设备125、以及其他设备和实体提供内容。内容的示例包括文本消息、多媒体消息、迫近的日历事件、音频/视频呼叫(例如,使用VOIP)、或远程服务器上的新数据的通知。在一个实施方案中,内容可源自由身份管理基础结构105管理的一个或多个源或直接由内容基础结构110提供。在其他实施方案中,内容可源自其他源。例如,内容可源自移动设备115、配套设备120、用户设备125和供应商130和135中的任一者。在另一个示例中,可从其他源诸如互联网、蜂窝网络、公共交换电话网络等接收内容。内容基础结构110然后可将内容路由至移动设备115、配套设备120、用户设备125、和供应商130和135。在一个实施方案中,内容基础结构110可通过基础结构路由从蜂窝网络接收或指向蜂窝网络的SMS消息。在另一个实施方案中,内容基础结构110可通过基础结构路由从公共交换电话网络接收或指向公共交换电话网络的语音呼叫。在一些实施方案中,可将发送到移动设备115的内容转发到配套设备120,以用于递送到移动设备115。配套设备120也可作出动作并代表移动设备115来发送信号。在这些实施方案中,配套设备120充当主要设备或中间设备,并且移动设备115充当被代理设备。内容基础结构110可协调配套设备120如何以及是否作出动作并代表移动设备115发送信号。在一些实施方案中,内容基础结构110可在适当时候向多于一个设备发送内容。用户可与移动设备115和配套设备120两者相关联。内容基础结构110可将内容路由至移动设备115和配套设备120两者,诸如在两个设备上响起VOIP电话呼叫,或使消息出现在被安装在两个设备上的同一应用程序的收件箱中。在其他实施方案中,仅向一个设备例如配套设备120发送内容,该配套设备可将呼叫转发到移动设备115。在向设备转发呼叫时,电话号码可识别哪个设备要接收电话/视频呼叫,并且该设备能够适当地中继呼叫。在一个方面中,内容可包括一个或多个数据,诸如如上所述的设备标识符(或令牌)和有效载荷。可在源自供应商(例如,供应商130和/或135)、同一用户的设备(例如,来自移动设备115或配套设备120)或另一个用户的设备(例如,用户设备125)的内容中提供设备令牌,连同供应商尝试利用内容基础结构110递送的任何有效载荷。设备令牌可包含使得内容基础结构110能够定位用于安装特定服务或客户端应用程序的设备并被注册以接收内容的信息。有效载荷可包括在服务器应用程序处接收的新信息或对发现信息的位置的援引。有效载荷还可包括指定特定服务或客户端应用程序如何提示用户关于这一新消息的属性列表。提示可通过各种形式提供。在一个示例中,可将内容作为提示消息或其他视觉表示向用户进行显示,诸如与应用图标相关联的标记卡。内容的可用性还可通过在显示提示或标记卡时播放声音来宣布。在通知用户该应用程序或服务具有针对它们的消息、事件或其他内容数据时,它们可启动应用程序或服务,并通过查看内容,查看推送通知中包含的信息,使客户端应用程序检索所援引的信息等来看到细节。用户还可选择忽略通知,在这种情况下不激活应用程序。如上所述,内容基础结构110可包括推送通知服务,该推送通知服务除了或替代路由内容之外还实施某些机制,以为用户设备上的推送供应商的客户端应用程序赋予能力,以使用户知道新内容在一个或多个服务器应用程序上可用,在该设备上或正在传入该新内容。本文中使用的推送供应商(或简称为供应商)可指使用推送通知基础结构转发和/或递送信息的实体。通常,在用户有新数据可用时,软件开发者(充当供应商)在其服务器软件中发出通知。供应商将其服务器软件通过持久且安全的信道与内容基础结构110进行连接。身份管理基础结构105可确保供应商被认证(例如,供应商是供应商断言的身份)和授权,以通过受信任方式连接和利用内容基础结构110。在监测旨在针对其客户端应用程序的传入数据时,在针对该应用程序的新数据到达时,供应商准备通知并通过其信道连接来向内容基础结构110发送通知,该内容基础结构110向推送使用者或目的地目标设备推送通知。身份管理基础结构105还可确保消费者或目的地目标设备被认证并被授权,从而以受信任的方式连接到并利用内容基础结构110的服务。推送使用者(或简称为使用者或目的地)可指被指定接收使用内容基础结构110转发和/或递送的信息的实体。尽管上文为了简单起见将供应商描述为内容或可用内容通知的源头,但在一种情况下,供应商继而可变为在另一种情况下的消费者,并且反之亦然。此外,移动设备115可以是发给配套设备120的内容的供应商,并且反之亦然,以及供应商130向供应商135提供内容,并且反之亦然。在内容基础结构110的操作的一个示例中,一个或多个服务器计算机提供、供应、管理和通过其他方式操作推送通知服务,以用于在供应商130、供应商135、移动设备115、配套设备120和用户设备125之间传播信息。每个设备可与内容基础结构110建立至少一个持久连接(例如,可信任的和加密的互联网协议(IP)连接),以通过该持久连接发出和/或接收内容。如上所述,每个设备及其连接可由身份管理基础结构105认证和授权。如果内容基础结构110针对与用户的设备相关联的应用程序递送的通知在应用程序未运行时到达,则用户的设备可如上所述提示用户该应用程序有数据正在等待。内容基础结构110还可提供默认服务质量部件,该默认服务质量部件提供存储和转发能力。如果内容基础结构110尝试递送通知但目标设备离线,则可将通知存储有限的时间并在设备可用时递送到设备。在一些实施方案中,存储针对特定应用程序的所有最近的通知。在一些实施方案中,仅存储针对特定应用程序的一个最近的通知。例如,如果在设备离线时发送多个通知,则每个新的通知导致先前的通知被丢弃。这种仅保持最新通知的行为被称为聚结通知。在其他实施方案中,如果设备长时间保持离线,则可丢弃针对其存储的任何通知。供应商130和供应商135在各种实施方案中可使用单个服务器计算机系统来实现,或可包括多个服务器计算机系统、Web服务器、应用服务器、网络、互连器等。在各个方面中,供应商130和供应商135提供客户端应用程序和服务器应用程序,该客户端应用程序运行于移动设备115、配套设备120和用户设备125上,该服务器应用程序提供客户端应用程序可连接到的一个或多个服务。供应商130和供应商135可设法通知移动设备115、配套设备120和用户设备125中的一者或多者可访问的客户端应用程序,其相应用户可使用该信息。在一个方面中,推送供应商是维护服务器软件的软件开发者、公司或组织,该服务器软件被配置为与移动设备115、配套设备120和用户设备125中的一者或多者上的一个或多个客户端应用程序进行交互。供应商130和供应商135各自通过持久且安全的信道与内容基础结构110连接,同时监测旨在用于其客户端应用程序的传入数据。在一个实施方案中,供应商130和供应商135通过二进制接口进行连接,该二进制接口例如使用流传输TCP插座设计结合二进制内容来提供高速、高容量的接口。该二进制接口可以是同步的或异步的。对于每个接口而言,可使用TLS(或SSL)来建立安全的通信信道。移动设备115、配套设备120和用户设备125可各自被实现为单个设备、单个计算机系统、多个设备或多个计算机系统。在各个方面中,移动设备115、配套设备120和用户设备125尽管为了方便而进行不同的标记,但均可被实现为移动设备、可穿戴设备或其他移动设备(例如,膝上型电脑、掌上电脑、移动电话、智能电话、多媒体电话、便携式媒体播放器、GPS单元、移动游戏系统等)。例如,可穿戴设备可以是腕戴设备、利用夹子或大头钉固定到用户的衣服上的设备、具有可被穿戴在用户脖子周围的系索或链子的设备、头带设备、眼镜或可被固定到用户人体或衣服的任何其他设备。除此之外或另选地,配套设备120和用户设备125可如上所述实现,并且被实现为个人计算机系统、主机、服务器计算机系统、云服务等。移动设备115、配套设备120和用户设备125可包括提供通信连接的各种技术。连接技术的一些示例包括有线连接(例如以太网、光纤、数字订户线路(DSL)等)和无线连接(例如WiFi、蓝牙、WiMax、3G、4G、LTE等)。在一个方面中,移动设备115、配套设备120和用户设备125托管与一个或多个供应商(例如,供应商130和135)提供的一个或多个服务器应用程序进行通信的各种客户端应用程序中的一个或多个客户端应用程序。这些客户端应用程序可包括特定于设备期望功能的应用程序(例如电话应用程序或GPS应用程序)以及电子邮件客户端、更新/升级客户端、新闻客户端、Web/博客客户端、播客客户端、社交网络客户端或可能发送通知消息的其他类型的客户端应用程序。这些客户端应用程序可向用户呈现使用内容基础结构110接收的一个或多个通知消息。可通过由设备的操作系统、图形用户界面工具套件和/或应用陈旭自身定义的一个或多个方式来向用户呈现通知。通知是表示的一些示例包括新的电子邮件指示符、新的新闻项指示符、新的播客指示符、社交网络好友在线状态的变化等。在各种实施方案中,工作于设备上的另一种服务可处理针对客户端应用程序的通知。如上所述,移动设备115、配套设备120和用户设备125可在客户端应用程序初始与内容基础结构110连接以便接收推送通知时接收标识符(或设备令牌)。供应商130和135可使用令牌或包括令牌,并且还使用任何内容或通知消息,使得可使用内容基础结构110来将其适当地转发回到该设备。在各种实施方案中,为了确保信任,供应商在其每次与内容基础结构110连接时便传送令牌。内容基础结构110可对设备令牌进行加密并使用身份管理基础结构105来认证该令牌是针对目的地设备而生成的。在一个实施方案中,为了进行认证,内容基础结构110确保被包含在令牌中的设备标识符匹配在设备向身份管理基础结构105注册时使用的设备证书中的设备标识符。参考图1中所示生态系统100的操作,在一个实施方案中,该操作可以是从供应商130向配套设备120转发或通过其他方式传输通知消息,如路径145所示。在各种实施方案中,供应商130在初始与内容基础结构110连接时,发送认证安全套接字层(SSL)证书。身份管理基础结构105可将供应商130认证并授权为推送通知的注册和授权发送方。这种SSL证书也可被配置以附加用户定义数据。身份管理基础结构105可利用附加用户定义数据以受信任方式识别供应商130。在其他实施方案中,可使用其他安全通信协议(例如,加密协议,诸如传输层安全(TLS)等)。在一些实施方案中,供应商130与特定应用程序(例如,电子邮件、Facebook或推特)相关联,并在SSL证书内包括附加识别(例如,用户定义的)数据,身份管理基础结构105不仅能够认证供应商130,而且还可利用内容基础结构110来为供应商130和应用程序自动供应推送服务。换句话讲,身份管理基础结构105可从认证证书自动提取任何附加识别数据,并使内容基础结构110将附加识别数据(或数据的一部分)附接到内容(例如,推送通知消息)。在一些实施方案中,附加识别数据可识别与用户可能经由内容基础结构110向其进行订购的供应商130(或供应商130的应用程序)相关联的主题或馈送物。因此,可利用认证证书中的附加信息向订购主题/输入或关于该主题/输入的请求信息的设备引导内容。通过这种方式,自动为供应商130供应推送服务。一旦供应商130被信任,内容基础结构110便从供应商130接收通知消息。如上所述,通知消息可包括设备令牌。在从供应商130接收通知消息之后,内容基础结构110确定针对通知消息的目的地。在各种实施方案中,基于与通知消息一起发送的设备令牌来确定目的地。在一些实施方案中,不必将目的地信息作为令牌的一部分进行发送。通过从设备令牌确定或提取目的地或通过其他方式获得针对内容的目的地信息,内容基础结构110然后可确定目的地是否“在线”或可通过其他方式访问。如果目的地在线,则在一个实施方案中,内容基础结构110然后可例如经由配套设备120与内容基础结构110维持的持久连接,来向目的地配套设备120路由该通知消息,如路径150所示。如果目的地“离线”或因故不可被内容基础结构110访问,则可在稍晚时间存储内容并重试递送。除此之外或另选地,内容基础结构110可例如经由配套设备120与内容基础结构110维持的持久连接来向移动设备115路由该通知消息,如路径155所示。内容基础结构110因此可向单个设备、同时向多个设备路由内容,或向一个设备路由内容以用于递送到另一个设备。B.内容基础结构图2是根据各种实施方案的图1的设备管理和内容递送生态系统100中的内容递送系统200的框图,该内容递送生态系统200提供推送通知服务。系统200可在各种实施方案中使用单个服务器计算机系统来实现,或可包括多个服务器计算机系统、Web服务器、应用服务器、网络、互连器等。在各种实施方案中,系统200可被实现为图1的内容基础结构。具体地,图2示出了在设备之间例如在供应商和移动设备之间或在一个用户的发送设备和另一个用户的接收设备之间转发内容(例如,通知消息和电话呼叫/视频呼叫)的各个示例。在这些示例中,系统200被示为具有:具有接口210和身份管理服务器(IMS)220的身份服务(IDS)205和具有供应商接口225的推送通知服务(PNS)220,具有存在信息235的网关230,具有连接信息245的设备接口240、以及用户设备250。每项服务都可使用硬件元件和/或软件元件来实现。在一个方面中,IDS205可被实现为或形成身份管理基础结构105的一部分。IDS205在各种实施方案中可使用单个服务器计算机系统实来现,或可包括多个服务器计算机系统、Web服务器、应用服务器、网络、互连器等。接口210可使得实体(例如移动设备115或供应商130)能够(例如,经由网络)进行连接,以便利用由IDS205提供的服务。接口210可结合负载均衡和其他连接管理技术,从而允许实体与身份管理服务器215进行通信。在一个实施方案中,在初始连接到IDS205或服务、资源或IDS205管理的应用程序(例如,PNS220)时,实体发送经由接口210接收的信息诸如认证证书。身份管理服务器215可将发送信息的设备、用户或组织认证并授权为注册实体和授权实体。可为设备、用户或组织授权或供应一个或多个服务(例如呼叫服务、即时消息服务、聊天服务、通知服务等)。为了支持针对PNS220的安全模型,可要求实体及其设备拥有特定证书、证书管理机构(CA)证书、或令牌。在一个实施方案中,内容的每个供应商使用唯一的供应商证书和私有加密密钥,以用于认证其与PNS220的连接。该证书可由身份管理服务器215供应并识别供应商和/或由供应商发布的特定主题。通常,该主题是客户端应用程序的束ID。该供应商可任选地期望使用由PNS220提供的公共服务器证书来认证供应商被连接到的服务。在各个方面中,供应商在注册以认证供应商被连接到的服务时使用身份管理服务器215向其递送的公共服务器证书。身份管理服务器215还可向每个期望接收内容的设备发出唯一的私有密钥和设备用于向身份管理服务器215认证其自身的证书,并建立至PNS220的连接。设备通常在设备激活期间从身份管理服务器215获得设备证书和密钥,并在密钥链中对其进行存储。该设备还保存其在服务连接过程期间接收的特定设备令牌。利用PNS220的每个客户端应用程序负责向其内容供应商递送该令牌。身份管理服务器215可存储任何必要的证书、CA证书和(私有和公共)加密密钥,以用于认证供应商和设备的连接和身份。在该示例中,一旦实体得到信任,系统200便允许实体使用由PNS220提供的推送通知服务。PNS220在各种实施方案中可使用单个服务器计算机系统实来现,或可包括多个服务器计算机系统、Web服务器、应用服务器、网络、互连器等。该实体可是期望(例如,经由网络)与PNS220连接的供应商或其他通知供应商。如上所述,在一个实施方案中,供应商接口225提供高速高容量接口,从而允许推送通知供应商与PNS220进行通信。供应商接口225可结合负载均衡和其他连接管理技术,从而允许实体与PNS220进行通信。尽管供应商接口225被示为链接到网关230,但供应商接口225可被结合到网关230或设备接口240。如上所述,在各种实施方案中,用户设备可以是内容的供应商,以及使用PNS220进行路由的内容的目的地。网关230在各种实施方案中可使用单个服务器计算机系统实来现,或可包括多个服务器计算机系统、Web服务器、应用服务器、网络、互连器等。网关230可确定经由供应商接口225或设备接口240接收的内容(例如,推送消息)的目的地。在各种实施方案中,网关230可基于存在信息235来确定目的地。在一个方面中,使用设备的推送令牌来维护存在信息235。因此,在指向特定推送令牌的网关230处接收推送通知时,网关230可执行查找,以确定是否存在与该推送令牌相关联的TCP套接字描述符。该套接字描述符可提供TCP套接字信息和传输推送通知所需的其他联网信息。在各个方面中,存在信息235包括被认证实体及其至PNS220的连接之间的映射。这些连接可被PNS220用于递送内容、通知等或通过其他方式与实体进行通信。每种映射可指示至少一个实体和至该实体的至少一个连接机制,诸如网络套接字连接或其他连接标识符。例如,映射可由其设备令牌来识别目的地设备或由其供应商标识符来识别供应商。附加信息可被包括在每个映射中,以方便与实体的设备进行通信。在一些实施方案中,为了缩放对来自利用PNS220服务的越来越多的用户、设备和供应商的连接的处理,可根据至少一个分组或被称为区域的逻辑划分来管理存在信息235中的设备连接(或设备自身)。可将由网关230执行的功能划分到动态分配以处理这些分组或区域的多个服务器。例如,一个或多个服务器可在一段时间段内管理向被分配给一个区域的目的地的递送,然后被切换或重新配置,以在稍晚时间管理向被分配给不同区域的目的地递送通知。这些服务器中的每个服务器还可包括被用于向与内容的目的地的特定区域相关联的其他服务器路由内容的路由信息。因此,在一个服务器处接收内容时,确定被设计成处理预先确定区域的另一个服务器,并可将内容转发到适当的服务器。在一个方面中,由网关230执行的功能可被划分到多个服务器,以处理对应的设备连接(例如,设备接口240)。在各种实施方案中,网关230被链接到设备接口240。设备接口240提供与用户设备250进行通信的接口。设备接口240可结合负载均衡和其他连接管理技术,从而允许设备与PNS220进行通信。尽管设备接口240被示为链接到网关230,但设备接口240可被结合到网关230或供应商接口225。在这些示例中,设备接口240允许在设备接口240连接到用户设备250时生成存在信息235。用户设备250可在建立持久连接时向PNS220断言其存在。设备接口240然后生成连接信息245中的设备/连接映射。设备接口240可向网关230传播回连接信息245,从而允许网关230在存在信息235中生成设备/连接映射。在一个方面中,存在信息235包括设备/信使映射或链路,从而允许网关230确定充当连接到用户设备250的设备接口240的适当的信使。信使利用连接信息245(包括任何设备/连接映射或链路),从而允许信使确定特定于用户设备250的连接信息,该用户设备可用于向用户设备250递送内容。在另一个方面中,存在信息235和连接信息245可以基本相同,因为它们包括给定设备及其与PNS220的连接之间的对应。在各种实施方案中,期望经由PNS220接收内容的设备在初始与设备接口240连接时或直接连接至IDS205时发送认证信息。身份管理服务器215可直接或间接接收认证信息,并且然后将设备或其相关联的用户或组织认证并授权为注册实体和授权实体。一旦设备获得信任,便通知PNS220并且之后PNS220(例如,利用连接信息245中的设备接口240)管理在设备和PNS220之间形成的任何连接。连接信息245中的设备接口240处可用的设备信息可被周期性地传播回给网关220,以生成或更新存在信息235。在该设备初始与PNS220连接时,PNS220为设备进行供应。在各种实施方案中,如上所述,为设备供应区域。尽管对于每个设备有特定的区域分配,但设备可能会因各种原因而失去其与设备接口240的连接。例如,可能由于失去蜂窝信号或wi-fi信号、掉电,或因为移动设备改变地理位置等而失去连接。在其他方面中,连接可能是断续的而不是持久的,以便省电或实现其他效率量度。在用户设备250尝试重新连接到PNS220时,用户设备250可与充当设备接口240的任何信使进行连接。在设备连接被分配给至少一个分组或区域的实施方案中,设备接口240可供应与网关230的一个或多个服务器的连接,该网关230被分配以处理连接设备的区域。例如,如果设备接口240被连接到被分配到区域1的用户设备250,则设备接口240可供应与负责管理区域1的一个或多个服务器的连接。设备接口240然后可向负责管理区域1的一个或多个服务器传播回针对用户设备250的设备信息。通过类似方式,设备接口240可与不同区域的服务器形成连接,以便为与那些相应区域相关联的设备传播回特定设备信息,从而确保无论用户设备250在哪里或如何连接到PNS220,存在信息235均为最新的并且可用于确定如何路由内容。在一些实施方案中,设备接口240可以是特定于无线运营商或互联网服务供应商(ISP),从而允许PNS220支持特定于多个第三方实体的协议或物理连接。根据一个示例,在网关230从供应商接口225接收内容时,网关230基于其在存在信息235中的映射来向设备接口240转发从供应商接口225接收的内容。设备接口240可向用户设备250递送从网关230接收的内容,对于该用户设备250,在连接信息245中维护关于持久连接的信息。在从网关230接收内容时,设备接口240可进行查找或通过其他方式询问其在连接信息245中的设备连接并通过例如与用户设备250相关联的持久连接;奥向适当设备发送从网关230接收的内容。在一个方面中,设备接口240检查与要递送内容相关联的设备令牌,并且确定在设备令牌和设备接口240在连接信息245中管理的连接之间是否找到匹配。设备接口240可使用由具有给定设备令牌的设备建立的连接来递送内容。在一个操作示例中,用户设备250订阅由供应商管理的特定应用程序并期望经由PNS220来接收针对该应用程序的通知消息。因此,用户设备250经由通信网络直接地或利用PNS220来呼叫供应商,并向供应商传输其设备令牌。设备令牌或其传输可不仅包括设备的识别信息,还可包括设备的UID及其区域标识符的加密组合,从而允许PNS220根据被分配给该区域的适当的资源来供应用于该设备的连接信息。在供应商向用户设备250上的特定应用程序发送通知消息时,供应商使用供应商接口225连接到PNS220并向网关230发送消息。即使用户设备250与特定区域相关联,供应商也不需要连接到PNS220的任何特定网关以向用户设备250成功推送通知消息。例如,如果网关230从供应商接口225接收内容并且内容具有设备令牌,则网关230将查看该令牌并向PNS220的适当的服务器路由消息(可向设备接口240或PNS230的另一个信使路由该消息),或向设备接口240直接路由消息。如果网关230是指定的网关,则在一些实施方案中,网关230基于其在存在信息235中的设备/信使映射来向设备接口240发送/转发消息。设备接口240然后能够在连接信息245中查找其连接并通过设备与设备接口240建立的持久连接来向设备发送消息。概括地说,在PNS220接收具有特定目的地的消息时,PNS220的网关使用在设备连接到PNS220时建立的设备/信使映射来向PNS220的适当的信使直接转发消息。在另外的实施方案中,网关230可基于其在存在信息235中的设备/连接映射来直接向用户设备250发送/转发消息。网关230可从各个源生成这种映射信息,设备已与每个源建立连接。II.被代理的推送通知在各种实施方案中,使用配套设备与该服务先前建立的连接信息通过指向移动设备的推送通知服务(例如,PNS220)发送的内容可被转发到充当移动设备的配套设备的另一个设备。该配套设备充当代理设备,以代表其他被代理设备来发送和接收信号。此外,该服务维持代理设备、被代理设备之间的关系并且维持通过代理设备来连接被代理设备的方式。因此,配套设备充当该服务的主要设备或中间设备,以向和从被代理设备路由推送内容。图3是根据实施方案的用于执行代理推送通知的方法300的流程图。在图3中所示的方法300中的处理可由在逻辑机的中央处理单元(CPU或处理器)诸如计算机系统或信息处理设备执行时的软件(例如,指令或代码模块)来执行,由电子设备或专用集成电路的硬件部件来执行,或由软件元件和硬件元件的组合来执行。在步骤310中,经由配套设备的第一连接在推送通知服务处接收针对配套设备的存在信息。存在信息可包括UID、证书、令牌或与配套设备相关联或关于配套设备的其他信息。第一连接可以是使用无线方式或有线方式的至该服务的持久连接。配套设备(例如,配套设备120)连接到的服务(例如,PNS220)可通过TLS对等认证来确立配套设备的身份,以便配套设备断言“在线”存在。在这个流程期间,配套设备可发起与服务器或与该服务相关联的其他端点的TLS连接。该服务可返回其自身的服务器证书,配套设备可使用该证书来认证该服务(或至少该服务器或端点)。该配套设备还可向服务发送其自身的设备证书。设备证书可以是配套设备注册使用该服务时发布的证书,即身份管理服务器215在配套设备120初始注册以便变为被管理实体期间返回的证书。该服务可认证设备证书,并且如果认证成功,允许配套设备与服务器或其他端点建立持久连接。在步骤320中,在配套设备和第一连接之间的服务处创建映射。该映射可包括UID、令牌或配套设备的其他标识符和连接信息之间的对应关系,该连接信息描述第一连接或如何可使用第一连接通过该服务到达配套设备。这种映射、链路或对应关系可被实现为设备接口240的连接信息245并传播回到网关230以形成上述存在信息235。在步骤330中,经由配套设备的第二连接在配套设备处接收针对移动设备的存在信息。如下文将更详细论述的,该配套设备可向配套设备维持持久连接的服务器或其他服务端点转发移动设备的该存在信息。该服务可认证移动设备的设备证书。如果认证成功,则在步骤340中,在配套设备、移动设备和第一连接之间创建映射。该映射可包括UID、令牌或移动设备的其他标识符和连接信息之间的关联,该连接信息描述第一连接或如何可使用第一连接通过该服务到达配套设备。在一些实施方案中,在配套设备建立至该服务的其自身的持久连接时,可与先前建立的现有映射或对应关系形成关联。在各种实施方案中,配套设备可使用至服务的其自身的持久连接来为移动设备代理推送通知,因为移动设备可能不会与服务维持任何连接,而仅与配套设备维持断续或不持久的连接。配套设备可为移动设备代理推送通知,以用于发送和接收推送内容的目的以及其他目的两者。因此,移动设备可各自被实现为可穿戴设备,诸如智能手表或光学头戴式显示器(OHMD)。移动设备和配套设备两者的用户可将两个设备配对,以便建立代理通信。尽管在一些实施方案中,移动设备可被配置为直接连接到服务,但在这些示例的大部分时间中,移动设备通过断续连接到配套设备(即,使用低功率连接、蓝牙连接)来优化功率消耗。由此,一个移动设备在利用可能有更大电池或恒定电源的另一个设备的持久连接时,可更有效地管理功率消耗。再次参考图3,在步骤350中,在服务处从供应商接收针对移动设备的推送通知。该推送通知可使用UID、设备令牌或其他标识符来识别移动设备。在步骤360中,在服务处识别配套设备、移动设备和第一连接之间的映射。在一个实施方案中,该服可利用将用于移动设备的设备令牌映射到连接信息的查找表,该连接信息还被映射到或通过其他方式关联到配套设备的设备令牌。在步骤370中,使用第一连接来向配套设备发送推送通知。因此,配套设备可使用至该服务的其自身的持久连接来为移动设备代理推送通知,以用于发送和接收推送内容的目的以及其他目的两者。因此,在若干个方面中,一个移动设备可利用另一个设备的持久连接,该另一个设备代表其来发送和接收推送内容。A.代理/被代理设备管理图4是示出了根据一个实施方案的内容基础结构110如何管理代理/被代理存在的框图。在该示例中,配套设备120包括具有连接模块404的处理器402、其中存储设备令牌T1的存储器406、一个或多个应用程序408、发射器410、和接收器412。处理器140包括用于管理例如至设备接口240和移动设备115的连接的连接模块404。存储器406存储设备令牌T1。在应一个或多个应用程序408的请求初始与设备接口240连接以便接收推送内容时,连接模块404可使用发射器410来发射注册信息并使用接收器412来从PNS220接收设备令牌T1。一旦生成设备令牌T1,发射器410便通过设备接口240向各个供应商应用程序或使用例如互联网直接向供应商应用程序发射或发送设备令牌T1。如上所述,供应商应用程序可使用设备令牌T1或包括令牌以及任何通知消息,使得其可将其被适当地转发回到配套设备120。连接模块404还可以代表移动设备115来管理发送和接收。例如,连接模块404可管理使用发射器410向设备接口240转发与移动设备115相关联的存在信息。连接模块404可管理使用接收器412从设备接口240接收的消息向移动设备115的递送,该消息包括与移动设备115相关联的设备令牌T2。连接模块404可管理使用接收器412从移动设备115接收的消息向设备接口240的递送,该消息包括与另一设备相关联的设备令牌。移动设备115包括具有连接模块416的处理器414、其中存储设备令牌T2的存储器418、一个或多个应用程序420、发射器422、和接收器424。处理器414包括用于管理例如至设备接口240和配套设备120的连接的连接模块416。存储器418存储设备令牌T2。在应一个或多个应用程序420的请求初始与设备接口240连接以便接收推送内容时,连接模块416可是有发射器422来发射注册信息并使用接收器424来从PNS220接收设备令牌T2。一旦生成设备令牌T2,发射器422便向各供应商应用程序发射或发送设备令牌T2。连接模块416还可管理与配套设备120之间的发送和接收,以建立被代理存在。例如,连接模块416可管理使用发射器422来向配套设备120转发与移动设备115相关联的存在信息。连接模块416可管理使用接收器424接收的消息向应用程序420的递送,该消息包括与移动设备115相关联的设备令牌T2。连接模块416还可管理使用发射器422来向配套设备120转发包括与另一设备相关联的设备令牌的消息,以便使配套设备120向设备接口240转发消息。在该示例中,经由供应商接口225从供应商接收由与移动设备115相关联的令牌T2识别的消息(例如,推送消息或通知消息)。网关230从供应商接口230接收消息。在各种实施方案中,经由供应商接口225从认证的供应商接收消息之后,网关230使用设备令牌T2来确定消息的目的地。使用存在信息235,网关230确定是否存在与设备令牌T2相关联的任何设备“在线”。网关230可提取设备令牌T2或通过其他方式获得设备令牌T2,并查询其在存在信息235中的映射,以查看设备令牌T2是否映射到连接信息。在这些实施方案中,图4示出了存在信息235包括一组设备标识符和一组连接描述。该组中的每个设备标识符被映射或以其他方式具有对应的连接描述。具体地,由设备令牌T1表示的设备标识符以及由设备令牌T2表示的设备标识符被映射、相关或通过其他方式与由PI-CD1表示的连接描述相对应。由令牌T3表示的设备标识符与由PI-CD2表示的连接描述进行映射。由令牌T4、T5和T6表示的设备标识符与由PI-CD3表示的连接描述进行映射。由令牌T7表示的设备标识符与由PI-CD4表示的连接描述进行映射。由令牌T8表示的设备标识符与由PI-CD5表示的连接描述进行映射。设备接口240还维护其被连接到的每个设备的其自身的连接信息245。在这些实施方案中,图4示出了连接信息245包括一组设备标识符和一组连接描述。该组中的每个设备标识符被映射或以其他方式具有对应的连接描述。具体地,由令牌T1表示的设备标识符以及由令牌T2表示的设备标识符被映射、相关或通过其他方式与CI-CD1表示的连接描述相对应。由令牌T3表示的设备标识符与由CI-CD2表示的连接描述进行映射。如上所述,设备接口240可向网关230传播回连接信息245,从而允许网关230生成或更新存在信息235。在各种实施方案中,网关230基于其在存在信息235中的映射来向设备接口240转发由与移动设备115相关联的令牌T2识别的消息。设备接口240然后基于其在连接信息240中的映射—由连接描述CI-CD1描述的网络连接来向配套设备120转发该消息。这里,配套设备120为可工作并代表移动设备115(被代理设备)发送信号的代理设备。在接收消息时,配套设备120确定其从设备接口240接收的消息包括设备令牌T2(或以其他方式寻址到移动设备115),并使用其至设备115的连接来向移动设备115转发消息。图5是根据实施方案的用于代理推送通知的方法500的流程图。图5中所示的方法500中的处理可由在逻辑机的中央处理单元(CPU或处理器)诸如计算机系统或信息处理设备执行时的软件(例如,指令或代码模块)来执行,由电子设备或专用集成电路的硬件部件来执行,或由软件元件和硬件元件的组合来执行。在步骤510中,针对充当代理设备的配套设备(例如,配套设备120)生成存在命令。该存在命令可包括配套设备的应用程序注册以通过推送通知服务接收推送内容时发布的设备令牌以及配套设备向管理推送通知服务的身份管理服务注册时发布的设备证书。设备证书可用于认证设备令牌。存在命令可包括其他信息。在步骤520中,经由与配套设备相关联的第一连接来向推送通知服务发送存在命令,以在配套设备的配套设备标识符和第一连接之间创建映射。第一连接可以是配套设备和推送通知服务之间诸如经由互联网、蜂窝连接等维持的持久连接。在步骤530中,针对移动设备(例如,移动设备115)生成存在命令。如上所述,存在命令可包括用于移动设备的设备令牌以及用于移动设备的可用于认证设备令牌的设备证书。存在命令可由移动设备生成并经由第二连接发送到配套设备。第二连接可以是移动设备和配套设备之间的断续或非持久连接。经由第二连接接收的信息可以是简单连接或另一个存在命令。存在命令也可由配套设备(即,直接或基于从移动设备接收的信息)生成。在步骤540中,经由第一连接向推送通知服务发送存在命令,以在配套设备标识符、移动设备标识符和第一连接之间创建映射。在传统代理技术中,代理后方的实体与代理前方的实体被屏蔽开,与此相反,各个实施方案便于将代理设备后方的被代理设备映射到适当的连接,以便递送推送内容。在各种实施方案中,该映射提供了用于移动设备的设备令牌和用于经由配套设备的第一连接向移动设备递送具有移动设备的设备令牌的推送内容的连接方式之间的链路。在一个实施方案中,该映射包括提供与代理设备和被代理设备相关联的一组设备令牌和如何联系到该组中的已知要与一个或多个被代理设备进行通信的代理设备的描述之间的对应关系的查找表。在一些实施方案中,可形成用于指示如何连接到分支或一系列中间设备以便到达被代理设备的连接树。在步骤550中,经由第一连接从推送通知服务接收针对移动设备的推送通知。推送通知可以是消息命令的形式。消息命令可识别消息的类型、消息的目的地(即设备或应用令牌)和/或有效载荷。在步骤560中,确定推送通知的目的地是移动设备。如上所述,基础目的地字段可用于方便确定该通知是旨在针对代理设备还是旨在针对任何被代理设备。因为确定推送通知指向移动设备,所以在步骤570中,使用第二连接来向移动设备发送推送通知。B.建立存在图6是示出了根据各种实施方案的建立代理存在和被代理存在的消息序列图。在这些示例中,为了建立代理存在,在605处,作用于自身或充当代理设备的图2的配套设备120向设备接口240至少发送用于设备令牌T1的存在命令(或在没有设备令牌而发送时,可生成设备令牌T1)。配套设备120可以具有通往设备接口240的多个连接。例如,配套设备120可具有wifi连接以及蜂窝连接。可在两个连接上向设备接口240发送存在命令。在一些方面中,设备接口240包括使用最高优先级的可用连接来向配套设备120递送消息的逻辑部件。在610处,可使用各种预先指定的标准认证来在针对设备令牌T1的存在命令中向设备接口240传递数据。在各项内容均成功得到认证时,设备接口240进一步生成设备令牌T1和用于描述配套设备120如何连接到设备接口240的连接信息之间的映射。在615处,设备接口240发回状态OK(如果未提供令牌,则连同新生成的令牌一起)。如果由于某种原因认证失败,则设备接口240可在615处向配套设备120发回连接状态无效。在成功交换断言针对设备令牌T1的存在命令之后,配套设备120可开始充当代理设备,由此发送和接收针对被代理设备的命令。为了建立被代理存在,移动设备115在620处针对设备令牌T2生成存在命令。该存在命令可包括设备令牌T2、移动设备115的X509DER编码的证书、不重性(例如由版本、生成其时的以毫秒为单位的时间戳和8字节的随机生成的数据构成)和不重性数据的签名(例如,利用发给移动设备115的私有密钥进行加密的不重性数据的SHA1)。在被代理设备已知其令牌时,可将针对被代理设备的设备令牌作为存在命令的一部分进行发送。否则,可生成新令牌并返回给被代理设备。在625处,移动设备115向配套设备120发送针对设备令牌T2的存在命令。在630处,配套设备120准备针对设备令牌T2的存在命令,以用于向设备接口240递送。在一些实施方案中,配套设备120通过利用针对设备令牌T2的存在命令作为有效载荷而创建其自身的消息命令来准备针对设备令牌T2的存在命令。在一些实施方案中,配套设备120原封不动地转发针对设备令牌T2的存在命令或包括一个或多个附加信息片段。在635处,从配套设备120向设备接口140递送针对设备令牌T2的存在命令。在640处,类似于上文所述那样,在针对设备令牌T2的存在命令中认证向设备接口240传送的数据。如果由于某种原因认证失败,设备接口240可在645处向配套设备120发回连接状态无效。在各项内容得到成功认证时,在645处,设备接口240可发回状态OK(如果未提供令牌,则连同新生成的令牌一起)。设备接口240这时可生成设备令牌T2和用于描述移动设备115如何连接到设备接口240的连接信息之间的映射。在一些实施方案中,在配套设备120接收状态OK时,配套设备120可发送针对每个特定代理令牌的过滤命令,从而允许在650处确定每个被代理设备的存在。在一个方面中,在过滤命令中明确提及针对每个被代理设备的设备令牌。设备接口240这时可生成设备令牌T2和用于描述移动设备115如何连接到设备接口240的连接信息。如上所述,设备令牌T2和用于描述移动设备115如何连接到设备接口240的连接信息之间的映射可是设备令牌T2到配套设备120如何连接到设备接口240的关联。在一些实施方案中,设备接口240可根据具有公共连接信息的设备令牌来维持独立的唯一映射。在655处,尽管不是必须的,但配套设备120可向移动设备115传送状态或确认,从而指出已确立“在线”存在。C.转发推送-向代理设备/被代理设备发送消息图7是示出了根据各种实施方案的从推送通知服务向代理设备发送推送内容以用于向被代理设备进行递送的消息序列图。在这些实施方案中,设备接口240接收具有目的地字段的消息命令,该消息命令指定或通过其他方式指示设备令牌T2或移动设备115。在710处,设备接口240准备消息命令,以用于向其目的地递送。在一些实施方案中,设备接口240查询其映射并确定与移动设备115相关联的连接信息。这可能表示使用设备令牌T2到设备令牌T1和至配套设备120的网络连接之间的映射的关联来识别针对配套设备120的连接信息。在一些实施方案中,设备接口240准备要用于不同类型令牌的基础目的地字段,该不同类型的令牌可能被包括在消息中诸如作为基础别名令牌的每个应用程序的令牌。在消息命令中没有基础目的地字段时,配套设备120可处理消息命令而无需对被代理设备进行进一步处理。在各种实施方案中,设备接口240在710处将消息置于等待确认的消息队列中。只要从确认设备接收到确认命令,设备接口240便查看确认命令的目的地字段,以便知道要使用哪个队列并从其队列中去除该消息。在设备接口240发送针对被代理设备的消息时,设备接口240可从对应的代理设备取回两个命令。例如,在720处,配套设备120生成传输确认命令作为第一种类型的确认命令。传输确认命令告知设备接口240该代理设备已接收到消息,并且选地处于将其转发至被代理设备的过程中。在725处,配套设备120向设备接口240发送传输确认命令。设备接口240可决定此时不从其队列去除所发送的消息。设备接口240预期要在本示例中取回的第二种类型的确认命令是来自代表被代理设备的主设备或代理设备的确认命令。可延迟该第二种类型的确认命令的发送。例如,在730处,配套设备120准备该消息命令,以向移动设备115递送。如上所述,移动设备115可与配套设备120维持非持久或断续的连接--诸如为了省电。配套设备120可能必须要等待移动设备115“醒来”,以便重新建立连接。在一些实施方案中,配套设备120确定通过哪个适当的链路连接到移动设备115。一旦建立连接,配套设备120便在735出向移动设备115发送消息命令。在740处,移动设备115可任选地响应于接收到消息命令而向配套设备120发送确认命令。这可能不是必须的,因为可能有其他手段用于确定受保证的递送或可能不需要成功的递送。在745处,配套设备120代表移动设备115明确或间接向设备接口240发送第二种类型的确认命令。在750处,设备接口240处理确认命令。设备接口240此时可从其队列去除消息。在各种实施方案中,传输确认命令是任选的。如果配套设备120准备好足够快地向移动设备120递送消息,则配套设备120可决定跳过传输确认命令并向设备接口240发送一种类型的确认命令(即,第二种类型的确认命令)。考虑接收消息的次序,配套设备120可实施用于发送针对每个被代理设备的确认命令的各种技术。图8是根据一个实施方案的由充当代理设备的配套设备执行的用于处理被代理的推送内容的方法800的流程图。图8中所示的方法800中的处理可由在逻辑机的中央处理单元(CPU或处理器)诸如计算机系统或信息处理设备执行时的软件(例如,指令或代码模块)来执行,由电子设备或专用集成电路的硬件部件来执行,或由软件元件和硬件元件的组合来执行。在步骤810中,在配套设备处从推送通知服务接收针对移动设备的推送通知。可经由配套设备与服务维持的持久连接来接收推送通知。在步骤820中,生成传送确认。在步骤830中,从配套设备向服务发送该传输确认。在步骤840中,从配套设备向移动设备发送推送通知。可利用与移动设备的断续或非持久连接来向移动设备发送推送通知。可由配套设备或移动设备选择此类链路来使功率消耗、数据吞吐量、链路稳定性等最大化。在步骤850中,确定推送通知是否被移动设备接收。基于步骤850中确定由移动设备接收推送通知,在步骤860中生成确认。基于步骤850中确定移动设备未接收该推送通知,在步骤870中生成“离线”消息。在步骤880中,从配套设备向该服务发送响应。该响应可包括在步骤860中生成的确认或在步骤870中生成的“离线”消息。图9是根据一个实施方案的由充当被代理设备的移动设备执行的用于接收被代理的推送内容的方法900的流程图。图9中所示的方法900中的处理可由在逻辑机的中央处理单元(CPU或处理器)诸如计算机系统或信息处理设备执行时的软件(例如,指令或代码模块)来执行,由电子设备或专用集成电路的硬件部件来执行,或由软件元件和硬件元件的组合来执行。在步骤910中,生成针对移动设备的存在命令。在步骤920中,经由第一连接来向配套设备发送存在命令,以便配套设备使推送通知服务在配套设备标识符、移动设备标识符和第二连接之间创建映射。第二连接可以是在配套设备和推送通知服务之间维持的持久连接。在步骤930中,从配套设备接收针对移动设备的推送通知。在步骤940中,使用第一连接来向配套设备发送确认命令。D.重新递送在一些实施方案中,由于未成功向被代理设备(例如,移动设备115)递送消息命令并且未从对应的代理设备(例如,配套设备120)接收第二种类型的确认命令,因此推送通知服务(例如,经由设备接口240)可尝试在稍晚时间重新递送消息命令。如上所述,由于未成功向移动设备递送消息命令而导致的一个选项是配套设备能够向服务发送“离线”存在命令。该服务可尝试在从移动设备接收到新“在线”存在命令时重新递送消息命令或者可简单地从其队列移除消息命令。在各种实施方案中,在有重复的存在断言服务的存在信息中存在例如PNS220时,如果其连接信息240已过期,则可向设备接口240发送具有“离线”状态的存在命令。在设备接口240接收存在命令时,设备接口240清空等待确认的消息队列。设备接口240可通过向网关230发回其队列中的针对每个消息的消息命令来这样做。对于代理存在而言,在设备接口240从网关230接收到针对与代理设备相关联的存在的存在命令时,设备接口240可通过向网关230发回针对队列中的每个消息的重新递送消息命令来清空针对代理设备的消息队列,并向网关230发回针对与这个设备相关联的每个存在的具有状态“离线”的存在命令。在以下情形中也可发送“离线”存在:正常设备A向推送通知服务发送在线存在。被代理设备P通过A的连接来向服务器发送在线代理存在。正常设备B发送在线存在。需注意,B与A不是同一设备(不同的推送令牌和证书)。被代理设备P通过B的连接发送在线代理存在。该服务可拆除在其存在/连接信息中维持的任何过期连接。E.设备连接拆除在明确终止设备连接时,设备接口240可向网关230发送存在命令,其中在设备(即主要、代理、别名、代理别名)连接上建立针对每个存在的状态“离线”。可向网关230发回仍然在针对配套设备120和移动设备115的确认队列中的消息,其中递送状态为“离线”。F.反向推送-从代理设备/被代理设备发送消息图10是示出了根据一个实施方案的由充当代理设备的配套设备从充当被代理设备的移动设备向推送通知服务发送推送内容的消息序列图。在该示例中,充当被代理设备的移动设备115在1005处生成消息命令。该消息命令可包括各自由条目标识符识别并具有有效载荷的一个或多个条目。一个条目可以是识别消息命令的目的地的令牌。在1010处,移动设备115向配套设备120发送消息命令。移动设备115可从连接到配套设备120的多种方式进行选择,以便使功率效率最大化,从而确保可靠递送等。在1015处,配套设备120准备消息命令以向其目的地递送。在各种实施方案中,配套设备120可简单地如接收那样转发消息命令。在其他实施方案中,配套设备可添加附加数据或生成新的消息命令。配套设备120可确定其不是消息命令的目的地,并在1020处向设备接口240发送消息命令。在1025处,可使用各种预先指定的标准认证在消息命令中向设备接口240递送数据。在各项内容成功认证时,设备接口240可在1030处在任选的确认过程中发回状态OK。在1035处,配套设备120接收状态OK并在1035处向移动设备115发回状态OK。如果由于某种原因认证失败,设备接口240可在1030处向配套设备120发回状态无效。在1035处,尽管不需要,但配套设备120可向移动设备115发送某种状态或确认,从而指出已接收、发送和/或确认消息命令。G.被代理推送协议串行存在命令表串行确认命令表项目长度注释目的地32字节原始消息的目的地令牌串行传输确认命令表命令命令ID传输确认预先分配的值在各种实施方案中,在目的地令牌是应用程序令牌时,改变从信使向设备发送的消息命令。在这种情况下,可指定附加字段诸如基础目的地,其可以是生成应用程序令牌所依据的基础令牌。消息命令表项目长度注释基础目的地32字节基础目的地令牌在设备发出包含时间戳不在预期窗口内的不重性的串行存在命令时,可向连接的响应(具有无效状态)添加服务器时间戳。这样允许具有坏时钟的设备重试并恢复。连接命令表项目长度注释服务器时间8字节网络字节次序的以毫秒为单位的服务器时段III.移动设备上的通信栈来自设备(例如,移动设备115、或配套设备120)的数据通信可通过各种协议(例如,802.11协议、蓝牙协议、和近场通信(NFC)协议)进行。为了确定使用哪种协议,设备可包括用于确定为特定应用使用哪种协议从而应当发送哪种驱动器路径数据的链路管理器。更低层级的链路层也可选择要使用的特定协议。此外,用户隧道(UTUN)控制器可协调多个虚拟连接与各种客户端应用程序,以通过公共套接字连接来与另一个设备进行通信(例如,移动设备115与配套设备120进行通信)。图11示出了根据本发明的实施方案的用于传输数据的协议栈1100。可省略协议栈1100中的各个模块,或者添加其他模块。软件模块可运行在同一处理器或不同处理器上。尽管仅列出了若干个通信协议,但可使用多个无线协议。例如,蓝牙协议可包括基本速率(BR)、增强的数据速率(EDR)和低能量(LE)选项。蓝牙BR/EDR也被称为经典蓝牙。在一些实施方案中,设备(例如,移动设备115)上的客户端应用程序1105可请求要发送到另一个设备(例如,配套设备120)的数据。该请求可经由任何适当的标识符例如账户名、IP地址、MAC地址等来指定其他设备。该请求可在设备确定其他设备在通信内(例如通过初始信令诸如握手来确定)之前或之后。可使用任何适当的应用层协议诸如HTTP、RTP、SMTP、MGCP等来发送数据(例如,在消息或流中)。其他设备可以是包括用户的另一个设备的任何设备。该请求可响应于用户所作的动作、可能在同一或其他应用程序(例如,日历应用程序)中的内部事件(例如,基于时间或其他标准)或外部事件(例如,响应于来自另一个设备的消息)而作出。事件的示例是同步事件。在发送数据之前,客户端应用程序1105可提交开放套接字请求(例如,在流传输的示例中)。该套接字请求可使用来自身份服务(IDS)框架1115的信息,其可提供用于其他设备的地址(或其他类型的ID)。例如,客户端应用1105可以知道第二设备的账户信息(例如,不同或相同用户的账户信息),IDS框架1115可以存储针对特定账户的设备ID的列表。IDS框架1115可以与身份管理基础结构105通信以获得该列表。因此,IDS框架1115可以储或通过其他方式获得用户已向身份管理基础结构105注册的所有设备的设备ID(例如,地址)。例如,IDS框架1115可经由IDS守护进程来请求身份管理基础结构105,以获得设备ID。在一个具体实施中,可向内核1110作出套接字请求。在即时消息示例中,发送数据的请求可发送至IDS框架1115,以获得设备ID,该设备ID可被发送至消息控制器1120和用户隧道(UTUN)控制器1125。UTUN控制器1125可在设备ID不是IP地址时建立设备ID和IP地址(例如,虚拟ID地址)之间的映射。可在消息控制器1120(其将设备ID分配到套接字)和内核1110(其可向套接字分配地址诸如虚拟IP地址)之间创建套接字。UTUN控制器1120可用于在消息控制器1120和内核1110之间创建套接字连接。这样,来自客户端应用程序1105的发送日期请求不需要包括设备ID但可指定账户,IDS框架1115然后可交叉引用账户并知道账户的设备及其能力(例如,如果该请求需要特定的能力)。假设可获得设备ID,则不需要在创建套接字之前进行配对。在各种实施方案中,IDS框架1115可在其他设备处从客户端应用程序1105接收特定端口/服务,基于从身份管理基础结构105获得的信息来确定端口/服务,或者从请求中所发送的令牌确定端口/服务。IDS框架1115然后可向消息控制器1120和/或UTUN控制器1125传送设备ID和其他标头信息。IDS框架1115和UTUN控制器1125可经由过程间通信(XPC)而进行通信。UTUN控制器1125可以是IDS守护进程的一部分并可从身份管理基础结构105接收设备ID。如上所述,UTUN控制器1125可创建与实际设备地址对应的虚拟地址,其中虚拟地址可用于创建虚拟套接字。可使用任何设备ID(例如,设备的实际地址或其他ID)来创建虚拟套接字。例如,可创建套接字以用于客户端应用程序1105和内核1110之间的通信(例如,在流传输上下文中),其中内核1110可为各种客户端应用程序打开各种套接字。内核1110可具有至针对其他设备的UTUN控制器1125的单一连接,并将来自各个客户端应用程序的数据复用到单一连接中。替代地或此外,UTUN控制器1125也可进行复用,例如,如果内核1110和UTUN控制器1125之间存在用于到其他设备的各个客户端应用程序的多个套接字。可对传入数据解复用,以用于发送到目的地客户端应用程序。作为另一个示例,可在内核1110和消息控制器1120之间创建套接字(例如,在消息递送上下文中),其中可针对每个目的地设备来创建套接字,其中同一设备的不同套接字可能具有不同的优先级。因此,可使特定的虚拟套接字与特定设备和特定优先级(例如,高和低)相关联。消息控制器1120可具有至各客户端应用程序的各个连接。因此,消息控制器1120可提供复用/解复用能力。UTUN控制器可与其他设备创建基本套接字。在UTUN控制器1125使用与第二设备相关联的虚拟连接来接收数据时,其然后可将虚拟连接映射到基本套接字,以与其他设备进行通信。然后可通过基本套接字来发出针对其他设备的所有数据。例如,在流上下文中,可向客户端应用程序1115传回用于虚拟套接字的虚拟地址。在一个实施方案中,涉及内核1110的虚拟套接字为TCP套接字。虚拟地址可具有与正常地址例如IPv6地址相同的格式。复用模块可包括内核1110、消息控制器1120和UTUN控制器1125的任意组合。在客户端应用程序1105发送数据时,客户端应用程序1105ke使用虚拟套接字来向内核1110发送数据。例如,可使用TCP经由虚拟套接字来发送数据。内核1110可实现UTUN接口,以用于与UTUN控制器1125进行通信。内核1110将向UTUN控制器1125传递数据(例如,具有TCP标头)和识别虚拟地址的虚拟套接字,UTUN控制器1125然后将使用虚拟套接字来解析设备地址,以用于确定设备套接字。在通过设备套接字发送数据时,链路管理器1130以确定使用哪个链路。链路可以是无线接口协议(例如,蓝牙或Wi-Fi)、传输协议(例如,TCP、UDP等)和目的地设备的特定组合。这样,UTUN控制器1125不需要知道如何发送数据,而是可简单地向链路管理器1130发送数据。在各种实施方案中,链路管理器1130可针对每个数据包、每组数据包、每个设备套接字进行确定,并可从一个数据包改变成另一个数据包。链路管理器1130然后可选择用于发送数据的链路。在所示的示例中,Wi-Fi链路1135提供用于与一个或多个Wi-Fi协议进行通信的软件驱动程序,并且BLTE链路1140提供用于与蓝牙LE进行通信的软件驱动程序。Wi-Fi链路1135与Wi-Fi硬件1170进行通信,并且BLTE链路1140与BLTE硬件1165进行通信。Wi-Fi链路1135可用于诸如infra-WiFi(基础结构WiFi)的各种Wi-Fi协议。在一个实施方案中,链路管理器1130以尝试所有的链路以确定是否有任何链路能够联系其他设备,并且然后使用具有所确定的最高等级或动态等级的已连接链路。硬件1165-1170可与被分配给各种设备的链路进行通信。例如,链路1135、1140和1145可以被分配用于与第二设备进行通信。而且,被分配成与第三设备进行通信的其他链路也可与硬件1165-1170进行通信。在特定硬件接收数据时,软件可识别特定的发送设备,并且然后确定对应的链路,例如使用标头信息以确定与发送设备和传输协议对应的链路。在一些实施方案中,组合链路1145可包括用于与链路管理器1130通信的接口1155以及选择要使用的特定协议的选择器1150。协议可与链路管理器1130可用的协议相同或不同。选择器1150可执行与链路管理器1130类似的功能,因为选择特定的链路。然而,链路管理器1130和选择器1150可使用不同的标准来确定使用哪个链路。例如,链路管理器1130可确定使用组合链路1145,并且选择器1150然后可确定要使用BTLE硬件1165。硬件可被包含在同一或独立的芯片上。一个或多个协议可仅经由组合链路1145可用,诸如经典蓝牙硬件1150。链路管理器1130和选择器1150可使用各种标准来确定使用哪个链路,诸如链路的功率使用、链路的速度(例如,实时数据速率)和链路的信号强度。优化链路选择的目标可以是以最低可能的能量提供最小的数据速率。IV.移动设备图12是根据实施方案的便携式电子设备或移动设备1200的框图。移动设备1200通常包括计算机可读介质1202、处理系统1204、输入/输出(I/O)子系统1206、无线电路1208和音频电路1210(包括扬声器1212和麦克风1214)。这些部件可通过一个或多个通信总线或信号线1203而被耦接。移动设备1200可为任何便携式电子设备,包括手持式计算机、平板电脑、移动电话、膝上型计算机、平板设备、媒体播放器、个人数字助理(PDA)、密钥卡、车钥匙、通行卡、多功能设备、移动电话、便携式游戏设备等,包括这些物品中的两个或更多个物品的组合。应当理解,图12所示的架构仅为移动设备1200的架构的一个示例,并且移动设备1200可具有比所示更多或更少的部件或部件的不同配置。图12中所示的各种部件可以硬件、软件或硬件和软件两者的组合来实现,其包括一个或多个信号处理电路和/或专用集成电路。无线电路1208用于通过无线链路或网络来向一个或多个其他设备的常规电路诸如天线系统、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC芯片组、存储器等发送信息和从其接收信息。在一些实施方案中,无线电路1208能够使用一个或多个通信协议来与其他设备建立并保持通信,该一个或多个通信协议包括时分多址(TDMA)、码分多址(CDMA)、全球移动通信系统(GSM)、增强型数据GSM环境(EDGE)、宽带码分多址(W-CDMA)、长期演进(LTE)、增强型LTE、WiFi(诸如IEEE802.11a、IEEE802.11b、IEEE802.11g和/或IEEE802.11n)、蓝牙、Wi-MAX、互联网协议语音技术(VoIP)、近场通信协议(NFC)、用于电子邮件、即时消息和/或短消息服务(SMS)的协议,或包括到本文档的提交日期为止尚未开发出来的通信协议的任何其他合适的通信协议。移动设备可包括可根据通信所需的范围通过若干个不同类型的无线网络进行通信的无线电路。例如,短程无线收发器(例如,蓝牙)、中程无线收发器(例如,WiFi)和/或远程无线收发器(例如,GSM/GPRS、UMTS、CDMA20001x/EV-DO和LTE/增强型LTE)可根据通信类型或通信的范围来使用。无线电路1208经由外围设备接口1216耦接至处理系统1204。接口1216可包括用于建立并保持外围设备和处理系统1204之间的通信的常规部件。通过无线电路1208所接收的语音和数据信息(例如,在语音识别或语音命令应用程序中)经由外围设备接口1216被发送至一个或多个处理器1218。一个或多个处理器1218可配置为处理各种数据格式。外围设备接口1216将设备1200的输入外围设备和输出外围设备耦接到计算机可读介质1202和一个或多个处理器1218。一个或多个处理器1218经由控制器1220来与计算机可读介质1202进行通信。计算机可读介质1202可以是可存储供一个或多个处理器1218使用的代码和/或数据的任何设备或介质。介质1202可包括存储器分级结构,包括高速缓存、主存储器和辅助存储器。存储器分级结构可使用RAM(例如,SRAM、DRAM、DDRAM)、ROM、闪存、磁存储设备和/或光学存储设备(诸如磁盘驱动器、磁带、CD(光盘)和DVD(数字视频光盘))的任何组合来实现。在一些实施方案中,外围设备接口1216、一个或多个处理器1218和存储器控制器1220可在单个芯片诸如处理系统1204上实现。在一些其他实施方案中,它们可在独立的芯片上实现。移动设备1200还可包括用于为各种硬件部件供电的电力系统1222。电力系统1222可包括电力管理系统、一个或多个电源(例如,电池、交流电(AC))、再充电系统、电力故障检测电路、功率转换器或逆变器、电源状态指示器(例如,发光二极管(LED))和通常与移动设备中的电力的生成、管理和分配相关联的任何其他部件。在一些实施方案中,移动设备1200包括相机1224。在一些实施方案中,移动设备1200包括传感器1226。传感器可包括加速度计、罗盘、陀螺仪、压力传感器、音频传感器、光传感器、气压计等。传感器1226可用于感测位置方面,诸如位置的听觉标记或光标记。在一些实施方案中,移动设备1200可包括有时被称为GPS单元1228的GPS接收器。移动设备可使用卫星导航系统诸如全球定位系统(GPS)来获得定位信息、定时信息、高度或其他导航信息。在一些实施方案中,移动设备1200可包括外部端口1230(例如,USB、火线、闪电连接器、120针连接器等)。外部端口1230可适于直接耦接到其他设备,或间接地通过网络(例如互联网、无线LAN等)进行耦接。一个或多个处理器1218运行被存储在介质1202中的各种软件部件,以执行设备1200的各种功能。在一些实施方案中,软件部件包括操作系统1232、通信模块(或指令集)1234和其他应用程序(或指令集)1236。操作系统1232可为任何合适的操作系统,包括iOS、MacOS、Darwin、RTXC、LINUX、UNIX、OSX、WINDOWS、或嵌入式操作系统诸如VxWorks。操作系统可包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种程序、指令集、软件部件和/或驱动器,并且有利于各种硬件部件和软件部件之间的通信。通信模块1234有利于通过一个或多个外部端口1230或经由无线电路1208与其他设备进行通信,并且包括用于处理从无线电路1208和/或外部端口1230所接收的数据的各种软件部件。移动设备1200上的一个或多个应用程序1236可包被括安装在设备1200上的任何应用程序,包括但不限于浏览器、地址簿、联系人列表、电子邮件、即时消息、社交网络、文字处理、键盘仿真、桌面小程序、支持JAVA的应用程序、加密软件、数字版权管理、语音识别、语音复制、音乐播放器(回放被存储在一个或多个文件诸如MP3文件或AAC文件中的录制音乐)等等。它们可以是其他模块或指令集(未示出),诸如图形模块、时间模块等。例如,图形模块可包括用于在显示器表面上对图形对象(包括但不限于文本、网页、图标、数字图像、动画等)进行渲染、动画显示和显示的各种常规软件部件。在另一个示例中,定时器模块可以是软件定时器。也可在硬件中实现定时器模块。时间模块可针对任意数量的事件来维持各种定时器。I/O子系统1206可耦接至显示系统(未示出),该显示系统可以是触敏显示器。显示器在GUI中向用户显示视觉输出。该视觉输出可包括文本、图形、视频、以及它们的任何组合。视觉输出中的一些或所有视觉输出可对应于用户界面对象。尽管显示器可使用LED(发光二极管)技术、LCD(液晶显示器)技术或LPD(发光聚合物显示器)技术,但在其他实施方案中可使用其他显示技术。在一些实施方案中,I/O子系统1206可包括显示器和用户输入设备诸如键盘、鼠标和/或触控板。在一些实施方案中,I/O子系统1206可包括触敏显示器。触敏显示器还可基于触觉和/或触感接触来接受来自用户的输入。在一些实施方案中,触敏显示器形成用于接受用户输入的触敏表面。触敏显示器/表面(连同介质1202中的任何相关联的模块和/或指令集)检测触敏显示器上的接触(和接触的任何移动或释放),并将所检测到的接触转换为与用户界面对象的交互,诸如在接触发生时被显示在触摸屏上的一个或多个软键。在一些实施方案中,触敏显示器和用户之间的接触点对应于用户的一个或多个数字。用户可使用任何合适的对象或附属件诸如触笔、笔、手指等来接触触敏显示器。触敏显示器表面可使用任何合适的触敏技术来检测接触及其任何移动或释放,该任何合适的触敏技术包括电容式、电阻式、红外和表面声波技术、以及其他接近传感器阵列或用于确定与触敏显示器的一个或多个接触点的其他元件。此外,I/O子系统1206可耦接至一个或多个其他物理控制设备(未示出)诸如按钮、按键、开关、摇臂按钮、拨号盘、滑动开关、操作杆、LED等,用于控制或执行各种功能诸如功率控制、扬声器音量控制、电话铃声响度、键盘输入、滚动、保持、菜单、锁屏、清除和结束通信等。在一些实施方案中,除了触摸屏之外,设备1200还可包括用于激活或去激活特定功能的触摸板(未示出)。在一些实施方案中,触摸板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触摸板可以是与触敏显示器分开的触敏表面、或者是由该触敏显示器形成的触敏表面的延伸部。先前描述可引用移动设备(例如,手腕穿戴设备)和/或配套设备(例如,智能电话)的特定示例。应当理解,这些示例只用于举例并不具有限制性;其他设备可被替换并且可实现类似的功能框和/或算法,从而执行本文所述的操作和/或其他操作。可使用专用部件和/或可编程处理器和/或其他可编程设备的任意组合来实现本发明的例如方法、装置、计算机可读介质等中的实施方案。本文所述的各种过程可以任何组合方式在同一处理器或不同处理器上实现。在部件被描述为被配置为执行某些操作的情况下,可例如通过设计电子电路以执行操作、通过对可编程电子电路(诸如微处理器)进行编程以执行操作或它们的任何组合来实现此类配置。另外,尽管上述实施方案可能参考具体硬件部件和软件部件,但本领域的技术人员应当理解,也可使用硬件部件和/或软件部件的不同组合并且被描述为在硬件中实现的特定操作也可能在软件中被实现,或反之亦然。结合本发明的各种特征的计算机程序可被编码并被存储在各种计算机可读存储介质上;合适的介质包括磁盘或磁带、诸如光盘(CD)或DVD(数字多功能光盘)的光学存储介质、闪存存储器、以及其他非暂态介质。可将利用程序代码编码的计算机可读介质与兼容的电子设备封装在一起,或者该程序代码可独立于电子设备而被提供(例如,经由互联网下载或作为单独封装的计算机可读存储介质)。因此,尽管已相对于具体实施方案描述了本发明,但应当理解,本发明旨在覆盖以下权利要求范围内的所有修改形式和等同形式。在一些实施方案中,提供了一种用于被代理通信的方法,该方法包括:在包括一个或多个计算机系统的服务器处从向服务器断言针对该配套设备的存在信息的配套设备接收第一通知;由服务器基于来自配套设备的通知来在配套设备标识符和网络连接标识符之间创建映射;由服务器响应于被代理设备向配套设备断言针对被代理设备的存在信息而接收第二通知;由服务器基于第二通知来在配套设备标识符、被代理设备标识符和网络连接标识符之间创建映射;在服务器处接收与被代理设备标识符相关联的推送通知;由服务器识别配套设备标识符、被代理设备标识符和网络连接标识符之间的映射;以及由服务器基于配套设备标识符、被代理设备标识符和网络连接标识符之间的映射使用具有网络连接标识符的网络连接来向配套设备发送推送通知。在上述实施方案中的任一个实施方案中,基于第二通知在任配套设备标识符、被代理设备标识符和网络连接标识符之间创建映射包括向配套设备标识符和网络连接标识符之间的映射添加被代理设备标识符。在上述实施方案中的任一个实施方案中,识别配套设备标识符、被代理设备标识符和网络连接标识符之间的映射包括:确定与被代理设备相关联的设备令牌;以及确定与被代理设备相关联的设备令牌和与配套设备相关联的设备令牌之间的对应关系。在上述实施方案中的任一个实施方案中,识别配套设备标识符、被代理设备标识符和网络连接标识符之间的映射包括确定配套设备或被代理设备是否被授权接收推送通知。在上述实施方案中的任一个实施方案中,从具有配套设备标识符的配套设备接收关于具有被代理设备标识符的被代理设备的信息包括接收由被代理设备生成的存在信息。在上述实施方案中的任一个实施方案中,该方法还可包括:在服务器处接收用于指示向配套设备递送推送通知的信息。在上述实施方案中的任一个实施方案中,该方法还可包括:由服务器确定向被代理设备递送推送通知失败;以及服务器使用网络连接来向配套设备重新发送推送通知。在上述实施方案中的任一个实施方案中,该方法还可包括:在服务器处接收用于指示确认向被代理设备递送推送通知的信息。在上述实施方案中的任一个实施方案中,该方法还可包括:由服务器从配套设备接收用于指示被代理设备离线的信息;由服务器基于来自配套设备的信息来去除配套设备标识符、被代理设备标识符和网络连接标识符之间的映射;在服务器处响应于被代理设备向配套设备断言针对被代理设备的存在信息来接收第三通知;以及由服务器基于第三通知来在配套设备标识符、被代理设备标识符和网络连接标识符之间创建映射。在上述实施方案中的任一个实施方案中,该方法还可包括:由服务器响应于被代理设备向服务器断言针对被代理设备的存在信息来接收第三通知;由服务器基于存在信息针对被代理设备来在被代理设备标识符和网络连接标识符之间创建映射;以及由服务器去除配套设备标识符、被代理设备标识符和网络连接标识符之间的映射。在上述实施方案中的任一个实施方案中,该方法还可包括:由服务器基于由服务器对被代理设备或配套设备的连接的确定来去除配套设备标识符、被代理设备标识符和网络连接标识符之间的映射。在上述实施方案中的任一个实施方案中,该方法还可包括:由服务器基于在另一配套设备的另一配套设备标识符、被代理设备标识符和另一网络连接标识符之间创建映射来去除配套设备标识符、被代理设备标识符和网络连接标识符之间的映射。在上述实施方案中的任一个实施方案中,主要设备或被代理设备包括移动媒体播放器、智能电话、可穿戴设备、平板电脑、游戏设备、膝上型电脑、或台式计算机。一些实施方案可包括一种用于被代理通信的方法,该方法包括:在具有第一通信接口、第二通信接口和一个或多个处理器的代理设备处:经由第一通信接口来发送第一消息,以向服务断言针对配套设备的存在信息,从而指导该服务生成配套设备和代理设备到服务的连接之间的对应关系;经由第二通信接口来接收被代理设备的存在信息;经由第一通信接口来发送第二消息,以向该服务断言被代理设备的存在信息,从而指导该服务将被代理设备关联到代理设备和代理设备到服务的连接之间的对应关系;基于被代理设备关联到代理设备和代理设备到服务的连接之间的对应关系响应于该服务向代理设备传送与被代理设备相关联的消息经由第一通信接口来接收与被代理设备相关联的消息;以及经由第二通信接口来向被代理设备发送与被代理设备相关联的消息。在上述实施方案中的任一个实施方案中,该方法还可包括:向该服务发送用于指示在代理设备处接收与被代理设备相关联的消息的信息。在上述实施方案中的任一个实施方案中,接收被代理设备的存在信息包括与被代理设备建立链路。在上述实施方案中的任一个实施方案中,该方法还可包括:接收用于指示在被代理设备处递送与被代理设备相关联的消息的信息;以及发送用于指示在被代理设备处向服务递送与被代理设备相关联的消息的信息。在上述实施方案中的任一个实施方案中,该方法还可包括:确定被代理设备不可用;以及经由第一通信接口来发送第三消息,一向服务断言针对被代理设备的附加存在信息,从而指导该服务从代理设备和代理设备到服务的连接之间的对应关系解除被代理设备的关联。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1