CN103348663A - 用于多用户设备的消息推送通知客户端改善 - Google Patents

用于多用户设备的消息推送通知客户端改善 Download PDF

Info

Publication number
CN103348663A
CN103348663A CN2011800666905A CN201180066690A CN103348663A CN 103348663 A CN103348663 A CN 103348663A CN 2011800666905 A CN2011800666905 A CN 2011800666905A CN 201180066690 A CN201180066690 A CN 201180066690A CN 103348663 A CN103348663 A CN 103348663A
Authority
CN
China
Prior art keywords
server
user
application
identifier
notification message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800666905A
Other languages
English (en)
Other versions
CN103348663B (zh
Inventor
D·N·布利尤
G·B·沃恩
J·T·戴维
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Computer Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN103348663A publication Critical patent/CN103348663A/zh
Application granted granted Critical
Publication of CN103348663B publication Critical patent/CN103348663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • H04L12/4625Single bridge functionality, e.g. connection of two networks over a single bridge
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/224Monitoring or handling of messages providing notification on incoming messages, e.g. pushed notifications of received messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/321Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
    • H04L9/3213Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos

Abstract

描述了生成标识可支持多个用户的客户端设备内的客户端应用的子标题标识符的方法和设备。客户端应用可以与一个或多个应用服务器中托管的服务器应用相关联。可以从所述客户端应用向应用服务器注册通知服务,以将与多个用户中的一个用户的客户端应用相关联的标识符转发到服务器应用,从而使服务器应用能够有选择地针对该用户的客户端应用向客户端设备推送通知消息。当从应用服务器接收到通知消息时,通知消息可以被检查,从而如果通过消息携带有客户端应用的子标题标识符,则将通知消息直接转发到用于该用户的客户端应用,而不激活客户端设备中的其他应用。

Description

用于多用户设备的消息推送通知客户端改善
相关申请
申请人要求2011年1月5日提交的在先共同待审的临时申请序列号No.61/430126的优先权,其整体通过引用合并于此。
技术领域
本发明总地涉及数据处理系统。更特别地,本发明涉及多用户设备的通知消息。
背景技术
多用户设备(例如,膝上型计算机、掌上计算机、移动电话、智能电话、多媒体电话、便携式媒体播放器、GPS单元、移动游戏系统等)的用户可能已经安装周期性地从通知服务接收通知消息的应用。例如,这样的应用包括“推送”电子邮件服务(例如,MobileMe、Microsoft Exchange ActiveSync、push-IMAP、Yahoo!Push等),或其他推送服务(例如,更新/升级服务、新闻服务、网络日志服务、播客服务、社交网络服务,或其中可以发送通知消息的其他类型的服务)。通知消息通常表示一般由应用定义的感兴趣的事件(例如,新电子邮件指示器、新新闻项指示器、新播客指示器,社交网络朋友的在线状态的改变等等)。
通常,通知消息可以通过标识其相应的始发服务器和接收客户端设备,经由推送服务来路由。在接收到通知消息时,客户端设备可以向特定用户的目标客户端应用传送消息。经常,客户端设备中用于一个或多个用户的多个客户端应用可能同时等候来自相同始发服务器的通知消息。当通知消息到达时,每个等候的客户端应用可能都被激活。随着越来越多的服务器应用被托管在始发服务器中以用于支持客户端设备中越来越多的客户端应用,客户端设备中宝贵的处理资源可能被浪费以用于管理消息通知。
如此,现有的为多用户设备提供消息通知的机制可能消耗资源,不适于给定多用户设备上的多个用户,和/或带来其他问题。
发明内容
本发明可以提供多级别命名层次结构,该多级别命名层次结构能够编址个体客户端应用和多个用户,以用于有效地在客户端多用户设备中分发通知消息,从而最小化资源的使用。托管在由服务器标识符或标题所标识的共同服务器中的多个服务器应用可以向客户端设备推送共享相同标题的通知消息。子标题可以嵌入在客户端设备针对该标题接收的通知消息中,以用于标识预订该标题的目标客户端应用。
在一实施例中,客户端应用可以可任选地注册客户端应用标识符,作为在由标题所标识的服务器中运行的相应服务器应用中的子标题。子标题可以是客户端应用的命名层次结构的一附加级别。结果,从服务器中托管的服务器应用推送的通知消息可以携带令牌(token)和客户端应用标识符,以允许将通知消息直接路由到客户端应用,而不激活或通知预订共享标题的其他客户端应用或其他用户。通知服务器可以使用令牌来将消息路由到适当的用户帐户。来自由标题的一服务器托管的单独的服务器应用的多个通知消息可以被复用到指定的相同或不同用户的单独客户端应用,有效地且高效率地在客户端设备处收听相同标题,以最小化处理所接收的通知消息所需的客户端设备的资源使用。
在一实施例中,描述了一种生成标识多用户客户端设备内的客户端应用的子标题标识符的方法和设备。客户端应用可以与一个或多个应用服务器中托管的服务器应用相关联。客户端应用可以向应用服务器注册通知服务,以转发与客户端应用相关联的标识符,并允许服务器应用有选择地针对客户端应用将通知消息推送到该用户的客户端设备。当从应用服务器接收到通知消息时,如果通知消息携带客户端应用的子标题标识符,则可以检查或审查通知消息以直接转发到客户端应用,而不激活客户端设备中的其他应用。
在另一实施例中,可以由服务器应用通过第一网络连接从在客户端设备中运行的客户端应用接收对消息通知的注册请求。可以在启动时建立从客户端设备到托管服务器应用的具有服务器标识符的应用服务器的第一网络连接。请求可以携带包括标识用户和客户端设备的用户令牌的标识符以及标识客户端应用的客户端应用标识符。服务器标识符可以被发送到客户端设备,以使客户端设备收听从应用服务器推送的消息。在一实施例中,请求中携带的标识符可以被存储,以注册用户接收消息通知。应用服务器可以利用用户令牌通过到与客户端设备耦合的推送网络的第二网络连接发送或推送通知消息至客户端设备,以通知客户端应用。通知消息可以通过服务器标识符来标识。任选地,通知消息可以携带客户端应用标识符,以使客户端设备能够将通知消息直接递送到客户端应用。
本发明的其他特征将从附图和随后的详细描述变得显而易见。
附图说明
本发明以示例而非限制的方式示于附图的图示中,在附图中,类似的附图标记指示类似的元件。
图1A是示出用于消息通知的联网系统的一实施例的框图;
图1B是包括别名的用户令牌的框图,该别名用来标识在多用户设备上具有用户帐户的用户;
图2是示出根据此处描述的实施例的用于管理通知消息的多用户设备中的示例性组件的框图;
图3是示出用于提供通知消息的应用服务器的示例性组件的框图;
图4是示出根据此处描述的实施例的多用户设备和应用服务器之间的示例性消息交换的顺序图;
图5A是示出使多用户设备能够将通知消息路由到所标识的客户端应用的过程的一实施例的流程图;
图5B是示出生成用户令牌的过程的一实施例的流程图,该用户令牌用于将通知消息路由到与用户令牌相关联的用户的所标识的客户端应用;
图6是示出从应用服务器向应用客户端提供通知消息的过程的一实施例的流程图;
图7示出可以与此处所描述的实施例一起使用的数据处理系统的一示例;
图8示出可以结合此处所描述的实施例使用的典型计算机系统的示例。
具体实施方式
此处描述了通过收听或预订公共应用服务器来标识与多用户设备上的多个用户相关联的多个客户端应用之中的目标客户端应用的通知消息的方法和设备。在下面的描述中,阐述了很多细节,以便提供对本发明的各实施例的全面的说明。然而,对本领域技术人员显而易见的是,可以在没有这些具体细节的情况下实施本发明的各实施例。在其他情况下,以框图形式而非详细地显示了已知的结构和设备,以避免模糊了本发明的实施例。
在本说明书中对“一实施例”或“实施例”的提及意指与该实施例一起描述的特定特征、结构或特性被包括在本发明的至少一个实施例中。在本说明书中的不同位置出现的短语“在一实施例中”不一定都是指同一个实施例。
除非特别地另外声明,否则显见的是,贯穿说明书,利用诸如“处理”或“计算”或“确定”或“显示”等术语的论述涉及数据处理系统或类似的电子计算设备操纵和变换表示为计算机系统的寄存器和存储器内的物理(电子)量的数据成为类似地表示为计算机系统存储器或寄存器或其他这样的信息储存、传输或显示设备内的物理量的其他数据的动作和过程。
此处呈现的算法和显示不固有地涉及任何特定计算机或其他装置。各种通用系统可以与根据此处教导的程序一起使用,或者可以证明构建更专用的装置来执行所需的机器实现的方法操作是方便的。根据下面的描述,诸多这样的系统所需的结构将变得显而易见。另外,没有参考任何特定编程语言来描述本发明的各实施例。应理解,可以使用各种编程语言来实现此处所描述的本发明的各实施例的教导。
本发明的实施例可以实现为方法或存储可执行指令的机器可读非暂时性存储介质,指令在由数据处理系统执行时导致系统执行一方法。诸如数据处理系统之类的装置也可以是本发明的实施例。根据各附图以及随后的详细描述,本发明的其他特征将变得显而易见。
本发明的至少某些实施例可以是诸如便携式音乐和/或视频媒体播放器之类的数字媒体播放器的一部分,其可包括呈现媒体的媒体处理系统、储存媒体的储存设备,并且还可以包括与天线系统和媒体处理系统耦合的射频(RF)收发器(例如,蜂窝电话的RF收发器)。在某些实施例中,储存在远程储存设备上的媒体可以通过RF收发器传输到媒体播放器。媒体可以是例如音乐或其他音频、静止图像或运动图像中的一种或多种。
便携式媒体播放器可以包括媒体选择设备,诸如触摸屏输入设备、按钮设备、可移动指向输入设备或其他输入设备。媒体选择设备可以被用来选择储存在储存设备和/或远程储存设备上的媒体。在至少某些实施例中,便携式媒体播放器可以包括显示设备,该显示设备耦合到媒体处理系统以显示通过输入设备被选择且通过扬声器或耳机或者在显示设备上或者在显示设备和扬声器或耳机二者上被呈现的媒体的标题或其他指示符。
此处所描述的本发明的实施例可以是其他类型的数据处理系统的一部分,诸如,例如娱乐系统或个人数字助理(PDA)、或通用计算机系统、或专用计算机系统、或另一设备内的嵌入式设备、或不包括媒体播放器的蜂窝电话、或组合了这些设备的方面或功能的设备(例如,在一个便携式设备中与PDA、娱乐系统以及蜂窝电话组合的诸如
Figure BDA00003610165600061
之类的媒体播放器),或包括诸如多点触摸手持式设备之类的多点触摸输入设备的设备或消费电子产品或带有多点触摸输入设备的蜂窝电话和手持式计算机。
在一实施例中,托管诸如邮件服务器、IMAP(因特网访问消息协议)服务器、日历服务器、联系人服务器、设备管理服务器之类的服务器应用或其他可应用的服务器应用等的服务器可以通过要求来自服务管理机构(例如,苹果公司)的推送提供商证书来维持推送能力,以便将通知传送到客户端设备。客户端设备中运行的对应于多个用户之一的客户端应用可以通过从客户端设备建立的到应用服务器的连接查询托管相应的服务器应用的应用服务器的功能。如果查询结果表明应用服务器是知晓推送服务或能提供推送服务的,则客户端应用可以向服务器应用发送标识其本身的推送服务命令。
具体而言,在客户端设备中运行的客户端应用可以通过推送服务命令向服务器应用呈现客户端设备和用户的用户令牌,以使托管服务器应用的服务器向客户端设备的适当用户帐户推送消息或通知。响应于推送服务命令,服务器应用可以标识用于服务器的通知标题或标识符,客户端设备可以收听或监视该通知标题或标识符以便接收从服务器推送的消息。
在某些实施例中,从客户端应用到服务器应用的推送服务命令可包括命名值的对,诸如对应的应用的推送协议的版本号、帐户标识符、允许服务器(例如,运行服务器应用)联络托管客户端应用的用于相应用户的客户端设备的用户令牌、和/或标识客户端应用的子标题标识符。帐户标识符和/或子标题标识符可以保持对服务器不透明以被传递到推送服务(或推送服务器)。到用于客户端应用的客户端设备的通知消息可以携带帐户标识符和子标题标识符。
在一实施例中,从服务器应用到客户端应用的对推送服务命令的响应可包括命名值,包括与托管服务器应用的服务器相关联的推送协议版本号和标题标识符。标题标识符可用于注册服务器的提供商证书,以使服务器能够向运行客户端应用的客户端设备的用户的用户帐户推送通知消息。在某些实施例中,客户端设备和服务器可以通过例如推送服务命令/响应来执行握手交换,以协商从服务器应用到客户端应用的消息通知的推送协议版本(例如,识别服务器和客户端应用两者的最高支持版本)。
根据一实施例,客户端应用的子标题可以在与应用服务器相关联的标题上提供一个或多个附加级别的间接值(indirection)。例如,子标题可以指引瞄准客户端应用的通知消息。客户端应用可以注册标题和子标题的对。替选地,客户端应用和应用服务器可以不通过基于子标题的机制来紧密耦合。多个(客户端)应用可以在标题中注册公共子标题。另外,客户端应用可以注册用于一个或多个用户的子标题。
子标题可以被从客户端应用转发到服务器应用以供注册。在某些实施例中,可以为客户端应用向服务器应用注册子标题或其他级别的命名层次结构,而无需通过客户端应用来转发子标题。
为了示范,根据一实施例,联系人应用、日历应用和Word应用可以属于Office应用套件。联系人应用可以在大标题(general topic)“office”下为一个或多个用户注册子标题“联系人”。日历应用可以如联系人应用那样选择注册准确相同的子标题(即,“联系人”)和标题的对(即,“联系人”和“office”),以提供更好的、更新式的使用体验,例如,添加生日。然而,Word应用可以注册在大标题“office”下,而不注册子标题“联系人”。如此,注册子标题可以不需要强制针对特定应用的(或到目标的)一对一映射。服务器可以不需要知道或与客户端共享子标题信息。例如,服务器可以将联系人数据的改变与特定子标题例如“联系人”相关联,并使用该子标题用于作为固有机制的推送协议。
作为另一示例,联系人应用为多用户设备上的每个用户的单独实例注册通知。在此示例中,联系人应用可以为多用户设备的用户1、用户2、…、用户N注册单独通知请求。这是因为,用户1将希望获得联系人应用的用户1的用户的通知,而不是与用户2、…、用户N相关联的联系人应用的通知。
图1A是示出用于消息通知的联网系统的一实施例的框图。联网系统100可以包括一个或多个服务器(或主机),诸如应用服务器101、桥119、通知服务器105(例如APN服务器),通知服务器105通过网络107耦合到诸如多用户设备109之类的一个或多个设备(例如,个人计算机、膝上型计算机、平板计算机、智能电话、游戏设备等)。在一实施例中,网络107可以允许通过开放的因特网、内联网、防火墙保护的安全网络、广域蜂窝网络(例如3G网络)等在通知服务器105、多用户设备109和/或应用服务器101之间建立网络连接(例如,用于发送推送通知)。网络107可以是有线的,无线的(诸如Wi-Fi、蓝牙等)或两者的组合。
根据一实施例,应用服务器101可以包括单个服务器设备或者本地或远程分布的服务器设备的集群。应用服务器101可以托管一个或多个单独的服务器应用,诸如服务器应用117,服务于在诸如多用户设备109之类的客户端设备中运行的相应客户端应用。服务器应用可以包括邮件服务器、日历服务器、联系人服务器、设备管理服务器或其他适用的服务器应用。在一实施例中,应用服务器101可以注册来自通知服务器105的证书,以向多用户设备109推送或发送通知消息。注册可以将标题103指定为标识应用服务器101的标识符(例如,包括在注册证书中)。多用户设备109可以收听消息的标题103,消息通过通知服务器105提供的推送服务诸如苹果公司的APN服务发自应用服务器101以用于在多用户设备109上具有账户的一个或更多用户。
在一实施例中,应用服务器101通过桥119传输推送通知。在一实施例中,桥119用于将推送通知从一种格式转换为另一种格式。在此实施例中,桥119通过接收来自通知服务器105的推送通知请求并将该推送通知请求转换为应用服务器101可以履行的协议,来充当多用户客户端109的代理。此外,应用服务器101还以应用服务器所使用的本机协议来传输发往多用户客户端109的推送通知。桥119接收此推送通知,并将这些通知转换为适用于多用户要求的格式(例如,苹果推送通知(APN)服务等)。例如且在一实施例中,应用服务器101接收推送通知请求,并使用可扩展通讯和表示协议(XMPP)来传输推送通知,多用户客户端109使用不同的协议(例如,APN协议等)接收(传输)推送通知(推送通知请求)。
在一实施例中,桥119维护从应用服务器101预订推送通知的多用户客户端和/或单用户客户端的用户列表。在此实施例中,应用服务器101与桥119进行交互,就像桥119是那些用户中的一个或多个。桥119又与多用户设备109和/或单用户客户端的对应用户帐户进行交互,以执行用户的推送通知。
在一实施例中,多用户设备109可以托管一个或多个用户帐户114A-B。尽管在一实施例中,多用户109被示为带有两个用户帐户,但是在替选实施例中,多用户设备109可以具有更少或更多用户帐户。在一实施例中,用户是使用多用户设备109的人。用户可以利用用户账户来使用多用户设备109。在一实施例中,用户帐户用于为用户定制多用户设备109。例如且在一实施例中,用户使用用户帐户来为用户的文件系统环境、桌面、应用等创建特定设置。在此实施例中,用户可以使用用户帐户来设置应用以用于该用户的特定使用。例如且在一实施例中,用户1可以设置邮件应用,从而用户1将查看用户1而非其他用户的电子邮件。
在一替选实施例中,对于以与多用户客户端109使用的协议相同的协议进行通信的应用服务器101,应用服务器101传递推送通知而不经过桥119。
在一实施例中,多用户设备109可以托管多个客户端应用,包括应用111A-B。在一实施例中,每个用户114A-B都可以与能与通知服务器105一起使用的一个或多个应用111A-B相关联。客户端应用可以是可以由相应的服务器应用服务的邮件应用、日历应用、联系人应用、设备管理应用或其他适用的客户端应用。多用户设备109可以例如经由通知服务器105注册推送服务,以获取用于使多用户设备109能够通过推送服务接收从诸如应用服务器101之类的服务器推送的消息的设备令牌115。设备令牌115可以标识和/或认证多用户设备109,以便通过推送服务路由通知消息。另外,可以为多用户设备109中的每个用户帐户114A-B实例生成子标题113A-B,以在设备中的不同客户端应用和/或用户之间唯一地标识应用111A-B。此外,多用户设备109可以请求分别用于每个用户116A-B的用户令牌114A-B。在一实施例中,用户令牌114A-B分别用于为推送通知唯一地标识用户116A-B。
在一实施例中,应用111A-B可以将相应的用户令牌114A-B和子标题113A-B转发到向多用户设备109推送通知消息的应用服务器101的相应服务器应用117。接下来,应用服务器101可以用标题103应答,多用户设备109收听标题103,以便接收从应用服务器101推送的通知消息。通知消息可以嵌入有子标题113A-B和/或用户令牌114A-B,以允许多用户设备109直接向由子标题113A-B和/或用户令牌114A-B所标识的用户116A-B和应用111A-B组合传送消息,而无需激活其他客户端应用或通知设备中的其他用户帐户。
图1B是包括用来标识在多用户设备上具有用户帐户的用户的别名的用户令牌114A的框图。在图1B中,用户令牌114A包括设备标识符130、区域信息134、别名136以及填充数据138。设备标识符130本领域已知的用于标识多用户设备109的标识符。通过在用户令牌114A中包括设备标识符130,用户116A与多用户设备109相关联。在一实施例中,设备标识符134是与设备令牌115中使用的相同的标识符。设备标识符可以是设备证书、硬件标识符、本领域已知的某些其他设备标识数据等,和/或其组合。
在一实施例中,区域信息134是将用户116A关联到通知系统的特定区域的标识符。在一实施例中,区域是通知系统的子部分,其中通知系统可以由一个或多个区域构成,同一区域中的每个通知客户端(例如多用户设备109、其他通知客户端等)由用于该区域的一个或多个通知服务器来处理。在一实施例中,通知服务器105使用区域信息来将推送通知转发到正在处理该区域的适当的通知服务器。例如且在一实施例中,如果通知服务器105处理区域1的推送通知,并且此通知服务器从应用服务器109接收区域2的推送通知,则通知服务器105将把此推送通知转发到处理区域2的推送通知的另一通知服务器(未示出)。
另外,用户令牌116A包括别名136。在一实施例中,别名136用于标识多用户设备的用户。在此实施例中,对于多用户机器109上存在的每个用户和相应的用户帐户,有唯一的别名。例如且在一实施例中,在多用户设备上,如果有两个用户帐户,则对于两个用户中的每个,将会有唯一别名。别名136可以是随机数、枚举数、从用户证书导出,等等。在一实施例中,别名136是用户令牌116A中的四字节字段。在一实施例中,别名136是设备的用于表示用户帐户的别名,并可以代替设备标识符用于推送通知。
此外,用户令牌116A可包括填充数据138。在一实施例中,填充数据136是对令牌116A的使用不重要的且用来填满令牌116A内的空间和/或令牌116A中用于将来使用的预留空间的数据。
图2是示出根据此处描述的实施例的用于管理通知消息的多用户设备109中的示例性组件的框图。例如,多用户设备109可以通过图1A的网络系统100为多个用户116A-B注册推送服务。在一实施例中,通知管理模块201可以为多用户设备109内的推送服务提供框架。通知管理模块201可以在服务(例如,推送服务)连接过程中接收设备令牌115,以将多用户设备109标识为合格的或受信任的以接收通过推送服务推送的通知消息。此外,通知管理模块201可以在服务(例如推送服务)连接过程中接收用户令牌114A-B,以将用户116A-B分别标识为合格的或受信任的以接收通过推送服务推送的通知消息。在一实施例中,通知管理模块201可以根据消息是否匹配或包括用户令牌114A-B来判断从推送服务推送的消息是否发往多用户设备109的用户116A-B。
根据一实施例,通知管理模块201可以例如响应于来自应用111A-B的请求生成一个或多个子标题113A-B,作为标识多用户设备109内的应用111A-B的客户端应用标识符。应用111A-B可以转发子标题113A-B和相应的用户令牌114A-B,以注册从诸如图1的服务器应用117之类的相应服务器应用接收消息通知。在一实施例中,应用111A-B可以通过通知管理模块201预订或收听诸如图1的标题103之类的标题。多用户设备109中的超过一个应用111A-B可以注册或预订公共标题。此外,多用户设备109中的不同用户114A-B使用的应用111A-B可以注册或预订公共标题。通知管理模块201可以将标题预订数据存储在预订简档203中,指示哪个标题当前正被哪个应用和哪个用户所预订。在一实施例中,通知管理模块201可以针对每个用户令牌116A-B具有不同的预订简档302。在此实施例中,多用户设备109将不同的预订简档分别关联到与该用户令牌116A-B对应的用户114A-B。
在接收到通过推送服务推送的通知消息时,通知管理模块201可以从到达的通知消息提取令牌,以基于例如该令牌与用户令牌116A或116B之间的匹配来判断通知消息是否发往多用户设备109。通知管理模块201可以从接收到的通知消息识别标题,以根据预订简档203识别应该使用接收到的通知消息通知哪个客户端应用和哪个用户帐户。可任选地,通知管理模块201可以判断接收到的通知消息是否携带子标题(例如,字符串),以将接收到的通知消息直接递送到由子标题字符串所标识的客户端应用,诸如由子标题113A-B所标识的应用111A-B,而无需激活或通知也预订了所接收到的通知消息中包括的标题的其他应用。
在一实施例中,通知管理模块201可以维护用于不同用户114A-B中的每个的白名单和/或黑名单。在此实施例中,白名单是与移动设备的用户希望接收到通知消息的安装了的应用对应的应用标识符的列表。此外,黑名单是与移动设备的用户不希望接收到通知消息的安装了的应用对应的应用标识符的列表。在2009年2月24日提交的题为“Managing Notification Messages”的美国专利申请No.12/392,679中详细描述了维护和使用白名单/黑名单,其通过引用合并于此。
图3是示出应用服务器的提供通知消息的示例性组件的框图。例如,应用服务器101可以通过图1的网络系统100经由通知服务器105向客户端设备推送通知消息。在一实施例中,通知模块301可以接收标识应用服务器101的标题103,其作为从推送服务的管理机构接收到的证书的一部分。服务器应用117可以将例如通过通知模块301检索到的标题103传递到诸如图1的移动客户端109之类的客户端设备,以使客户端设备能够收听从应用服务器101推送的消息。
在一实施例中,通知服务注册表303可以储存从向应用服务器101中托管的服务器应用117或其他服务器应用注册了消息通知的客户端设备接收到的用户令牌和相关联的数据。通知服务注册表303可以基于本地或远程耦合到应用服务器101的存储器或大容量储存设备。在一实施例中,通知服务注册表303中的用户令牌可以与诸如从客户端应用转发的注册消息通知的子标题之类的数据相关联。相关联的数据可以对于应用服务器101和/或通知服务器105保持不透明。例如,在应用服务器101中可以不为相关联的数据分配处理资源,除了储存、检索、移除和/或转发这些数据以外。当向由用户令牌所标识的客户端设备推送通知消息时,服务器应用117可以例如通过通知模块301将用户令牌与其相关联的数据和标题103一起转发到通知服务器105。
为了维护用户令牌和设备令牌之间的映射,通知服务器105维护哪些别名与哪个设备相关联的列表。在一实施例中,通知服务器105在标识符列表300中将多个别名与设备相关联。在一实施例中,标识符列表300中的别名可以是如上文在图2中描述的别名136。例如且在一实施例中,通知服务器105将别名304A-N与设备令牌302A相关联,将别名306A-N与设备令牌302B相关联。在一实施例中,当由不同的用户帐户使用的应用发送预订推送通知的请求时,通知服务器105通过处理用户令牌来维护此列表。例如且在一实施例中,当应用请求预订推送通知时,通知服务器105接收包括设备标识符的用户令牌。在此实施例中,通知服务器从用户令牌提取别名和相关联的设备标识符,并根据需要来更新标识符列表300。
图4是示出根据此处描述的实施例的多用户设备和应用服务器之间的示例性消息交换的程序图。在一实施例中,多用户设备109、应用服务器101和通知服务器105可以通过图1的网络107彼此耦合。多用户设备109可以在注册消息通知应用服务器101之前(例如在实例401之前),例如通过通知服务器105从推送服务接收诸如图1的用户令牌114A或114B之类的用户令牌。应用服务器101可以从推送服务的安全管理机构接收证书,以授权应用服务器101建立到诸如通知服务器105之类的推送服务器的连接。所接收的证书可以包括用于标识应用服务器101的诸如图1的标题103之类的标题,比如字符串。
在一实施例中,多用户设备109的客户端应用(例如邮件)可以发起与应用服务器101中托管的相应服务器应用(例如IMAP服务器)的网络连接,以注册来自服务器应用的消息通知。在程序401处,客户端应用可以发起多用户设备109与应用服务器101之间的网络连接,以发送查询服务器应用支持哪些功能的查询请求。作为响应,在程序403处,服务器应用可以例如基于包括XAPPLEUSHSER VICE指示符的协议用指出推送选项的可用性的指示符来应答。
接下来,在程序405处,客户端应用可以从多用户设备109向应用服务器101发送注册消息推送或通知的命令。命令可以包括带有名称或标识符的参数,以允许服务器应用寻址多用户设备109、用户帐户(例如用户令牌)、和/或客户端应用。在一实施例中,参数可以基于包括多用户设备109的用户令牌的命名值。可任选地,参数可以包括多用户设备109内的客户端应用唯一地拥有的子标题,例如,“com.apple.mobilemail”。在程序407处,应用服务器可以用标识应用服务器101的标题来应答。标题可以是字符串,例如“com.google.push”,其可用于标识通过多个服务器共享的推送服务从应用服务器101推送的消息。其他的应用特定的事务可以通过在多用户设备109和应用服务器101之间建立的用于注册消息通知的相同网络连接来交换。此网络连接可以在多用户设备109等待来自应用服务器101的通知时断开。
随后,服务器应用可以例如响应于某些应用特定的事件的出现,诸如IMAP服务器中特定用户的新邮件的到达,生成将要推送到多用户设备109的通知消息。服务器应用可以封装通知消息以及用户令牌和与用户令牌相关联的传递数据,例如包括为多用户设备109注册(或储存)的客户端应用的子标题。在程序409处,应用服务器101可以通过通知服务器105向多用户设备109发送带有标识应用服务器101的标题的通知消息。接下来,在程序411处,通知服务器105可以通过推送网络服务向多用户设备109推送通知消息。
在通知消息到达时,多用户设备109可以在将消息转发到相关的客户端应用和用户帐户之前验证消息的标题和/或用户令牌。如果验证失败(例如,标题没有被预订和/或用户令牌不匹配本地用户令牌),则多用户设备109可以忽略该消息。可任选地,多用户设备109可以从通知消息的有效载荷(payload)中提取子标题,以将通知消息仅递送到子标题指定的客户端应用,而不转发到预订该标题的其他应用。如果该用户帐户的客户端应用处于睡眠状态或当前没有运行来接收通知消息,则多用户设备109可以激活该客户端应用。接下来,在程序413处,客户端应用可以发起与应用服务器101中的相应服务器应用的连接以执行应用特定的事务(例如,检索相应用户的邮件消息)。
图5A是示出使多用户设备能够将通知消息路由到所标识的客户端应用的过程500的一实施例的流程图。示例性过程500可以由可以包括硬件(电路系统、专用逻辑器等)、软件(诸如运行在专用机器上)、或两者的组合的处理逻辑执行。例如,过程500可以由图1的系统100的某些组件执行。在框501,过程500的处理逻辑可以为驻留在由用户令牌标识的客户端设备中的客户端应用生成应用标识符(例如子标题),客户端应用将执行与由服务器标识符(例如标题)标识的一个或多个应用服务器托管的服务器应用的交易。
在框503,在一实施例中,过程500的处理逻辑可以为客户端应用注册来自应用服务器的消息通知服务。过程500的处理逻辑可以将与客户端应用相关联的标识符(例如,包括用于客户端应用标识符的子标题和用于客户端设备的用户的用户令牌)转发到应用服务器中托管的服务器应用,使服务器应用能够向客户端设备推送通知消息以用于客户端应用和相应的用户。
在框505,响应于从应用服务器接收到通知消息,过程500的处理逻辑可以判断通知消息是否携带应用标识符。在一实施例中,过程500的处理逻辑可以从通知消息提取令牌和标题(例如,基于命名值),以验证通知消息是否旨在由多用户设备接收。在一实施例中,过程500的处理逻辑可以从通知消息的有效载荷识别应用标识符,例如子标题。
如果在框507识别了应用标识符或子标题和用户令牌中的别名,则过程500的处理逻辑可以将通知消息转发到由子标题标识的客户端应用以用于由别名所标识的用户,而不将通知消息转发到预订了标题的其他应用或通知消息的其他用户(无论那些用户是否使用客户端应用)。过程500的处理逻辑可以在多个客户端应用中选择由子标题所标识的客户端应用,并选择该客户端应用用于客户端设备中预订了该标题的适当用户。否则,如果在通知消息中没有发现子标题,则过程500的处理逻辑可以将通知消息转发到预订了该标题的每个客户端应用以用于该客户端应用和/或转发到每个用户以判断是否处理通知消息(例如,基于消息中携带的内容)。
图5B是示出用于生成用户令牌的过程的一实施例的流程图,用户令牌用来将通知消息路由到标识客户端应用以用于与用户令牌相关联的用户。示例性过程500可以由处理逻辑执行,处理逻辑可包括硬件(电路系统、专用逻辑器等)、软件(诸如运行在专用机器上)、或两者的组合。例如,过程500可以由图1A的系统100的某些组件来执行(例如多用户客户端109)。在框552,过程550的处理逻辑可以接收推送通知请求。在一实施例中,通知管理模块201如上文在图2中所描述的那样接收来自客户端应用111A或111B的推送通知请求。在此实施例中,推送通知请求可以来自于用户的客户端应用。在一实施例中,推送通知请求标识哪个客户端应用和用户正在请求推送通知。
在一实施例中,推送通知请求可包括下列各项中的一项或多项:设备令牌、用户令牌和/或用户证书。例如且在一实施例中,设备令牌是向推送通知系统标识设备的设备令牌115,用户令牌是用来向推送通知系统标识用户的用户令牌116A,并可包括如上文在图1A-2中所描述的用于用户的别名。
在框554,过程500判断请求中是否包括证书。在一实施例中,证书是用来标识正在进行请求的用户的公钥证书。证书可以是基于用户标识(Apple ID、Mobile Me ID、本领域已知的某些其他证书等)的证书。如果没有证书被包括在请求中,则在框556,过程550生成证书。在一实施例中,过程500通过从第三方证书生成服务检索证书来生成证书。在一实施例中,适当的证书管理机构对证书进行签名。在一实施例中,证书被用来生成用户的别名(例如,如上文在图1中所描述的作为用户令牌116A的一部分的别名136)。
如果证书被包括在推送通知请求中,则过程550在框558连接到推送通知系统。在一实施例中,过程550向通知服务器105传输推送通知连接命令。通过传输推送通知连接命令,过程550用信号告知通知系统过程550准备好为用户以及与该用户相关联的客户端应用接收通知。
在框560,过程560从推送通知系统检索设备令牌并将其储存。在一实施例中,过程500从通知服务器105检索设备令牌,并将设备令牌储存在如上文在图2中所描述的预订简档203中。在一实施例中,在多用户设备109连接到通知服务器105的初始时刻,创建设备令牌。
在框562,过程550判断用户令牌是否被包括在推送通知请求中。在一实施例中,如果用户令牌可用于推送通知请求,则请求过程将诸如图1B所描述的用户令牌116A之类的用户令牌插入到推送通知请求中。如果用户令牌不被包括在推送通知请求中,则过程550在框564抓取用户令牌。在一实施例中,过程550向通知服务器传输推送通知连接存在命令。作为响应,通知服务器向请求过程(例如,过程550)传输适当的用户令牌(例如用户令牌116A)。在此实施例中,连接存在命令用信号告知推送通知服务器设备以及与设备相关联的用户在线并准备接收推送通知。在一实施例中,在用户登录到多用户设备或多用户设备启动后(单用户设备或多用户设备具有默认用户),过程550传输推送通知连接存在命令。如果用户令牌被包括在请求中,则过程550在框566启用用户令牌。在一实施例中,当创建用户令牌时,过程550启用用户令牌。
图6是示出从应用服务器向应用客户端提供通知消息的过程的一实施例的流程图。示例性过程600可以由可以包括硬件(电路系统、专用逻辑器等)、软件(诸如运行在专用机器上)或两者的组合的处理逻辑来执行。例如,过程600可以由诸如图1中的应用服务器101之类的系统100的某些组件来执行。在框601,过程600的处理逻辑可以从客户端设备中的客户端应用接收对于来自应用服务器中托管的服务器应用的消息通知的注册请求。注册请求可以包括客户端设备和/或用户的标识符(例如用户令牌),可任选地,还可以包括附加的客户端应用的标识符(例如子标题)。
在框603,过程600的处理逻辑可以向客户端设备发送标识应用服务器的服务器标识符(例如标题),以允许客户端设备收听从应用服务器通知(或推送)的消息。在一实施例中,过程600的处理逻辑在框605处可以储存包括设备标识符和别名的标识符,以便于推送服务为客户端设备寻址通知消息。例如且在一实施例中,服务器可以将设备标识符和相应的别名储存在标识符列表中,诸如上文在图3中所描述的标识符列表300。所储存的标识符可以包括标识客户端设备中的用于接收通知消息的客户端应用的子标题。
在一实施例中,在框607,过程600的处理逻辑可以根据所储存的用于托管客户端应用的客户端设备的用户的标识符,为注册了接收消息的客户端应用生成通知消息。例如,通知消息可以指出服务器应用中的涉及与客户端应用相关联的帐户的事件的发生,诸如新邮件消息的到达、聊天请求、日程表更新或其他适用的事件。通知消息可以封装有标识接收通知消息的客户端设备和用户的用户令牌以及包括标识客户端应用的子标题的有效载荷。在框609,过程600的处理逻辑可以通过推送服务向客户端设备发送通知消息,通知消息包括标识始发应用服务器的标题。通知消息可以携带嵌入在消息的有效载荷中的用于标识客户端应用的子标题。随后在框611,过程600的处理逻辑可以通过从客户端应用建立的与服务器应用的网络会话执行应用特定的事务。
在框613,过程600的处理逻辑可以判断是否满足停止向客户端应用、用户和/或客户端设备发送通知消息的条件。用户的客户端应用可能已经注册了从服务器应用接收通知消息。在一实施例中,过程600的处理逻辑可以监测自从向客户端设备发送最新的通知消息以来用户和/或客户端设备的持续时间或消逝时间。如果持续时间超出阈值(例如一天、12小时等,这可以预先配置或动态配置),则可以满足停止向用户和/或客户端设备发送通知消息的条件。在框615,如果满足条件,则过程600的处理逻辑可以取消用户和/或客户端设备的对服务器应用的消息通知(或推送服务)的注册。在一实施例中,可以从服务器应用的通知收件人列表中移除用户。例如且在一实施例中,过程600的处理逻辑可以从消息通知的注册表中移除与标识用户的别名相关联的条目,包括携带标识客户端设备的客户端应用的子标题的数据。在另一实施例中,可以从服务器应用的通知收件人列表移除客户端设备。例如,过程600的处理逻辑可以从消息通知的注册表中移除与标识客户端设备的设备令牌相关联的条目,包括携带标识客户端设备的客户端应用的子标题的数据。在此实施例中,通过取消注册客户端设备,与客户端设备相关联的用户也被取消注册。
图7示出可与此处描述的实施例一起使用的数据处理系统的一示例。图7所示的数据处理系统700包括处理系统711,处理系统711可以是一个或多个微处理器,或者也可以是集成芯片上系统的电路,系统还包括用于储存数据和供处理系统执行的程序的存储器701。系统700还包括音频输入/输出子系统705,其可包括麦克风和扬声器,用于例如通过扬声器和麦克风来播放音乐或提供电话功能。在至少某些实施例中,系统700可以请求此处所描述的一个或多个简档,并下载那些简档以配置设备用于通过网络进行通信。系统700可以从服务器数据处理系统(其可以是图7所示的系统)下载那些简档。在一实施例中,系统700可以是图1所示的设备111A-B。
显示控制器和显示设备707为用户提供可视用户界面;当运行OS X操作系统软件时,此数字界面可包括类似于在Macintosh计算机上所示出的那种图形用户界面。系统700还包括与另一数据处理系统进行通信的一个或多个无线收发器703。无线收发器可以是WiFi收发器、红外线收发器、蓝牙收发器和/或无线蜂窝电话收发器。将理解,在某些实施例中,未示出的附加组件也可以是系统700的一部分,而在某些实施例中,也可以在数据处理系统中使用比图7所示的少一些的组件。
数据处理系统700还包括一个或多个输入设备713,提供输入设备713以允许用户向系统提供输入。这些输入设备可以是小键盘、键盘、触摸板或多点触摸板。数据处理系统700还包括可选的输入/输出设备715,其可以是用于坞站的连接器。将理解,如本领域已知的那样,可以使用一个或多个未示出的总线来互连各种组件。图7所示的数据处理系统可以是手持式计算机或个人数字助理(PDA)、或带有类似于PDA的功能的蜂窝电话、或包括蜂窝电话的手持式计算机、或诸如iPod之类的媒体播放器、或组合了这些设备的各方面或功能的设备,诸如在一个设备中与PDA和蜂窝电话相结合的媒体播放器。在其他实施例中,数据处理系统700可以是网络计算机或另一设备内的嵌入式处理设备,或具有比在图7中所示出的那些组件少一些的组件或也许更多组件的其他类型的数据处理系统。
图8示出可与本发明一实施例一起使用的数据处理系统的一个示例。注意,尽管图8示出了计算机系统的各种组件,但是,并不旨在表示互连这些组件的任何特定体系架构或方式,因为这样的细节不是与本发明密切关系的。还可以理解,也可以与本发明一起使用具有少一些的组件或也许多一些的组件的网络计算机及其他数据处理系统。图8可以表示图1所示的服务器系统。
如图8所示,以数据处理系统的形式存在的计算机系统800包括耦合到微处理器805、ROM(只读存储器)807、易失性RAM 809和非易失性存储器811的总线803。微处理器805可以从存储器807、809、811中检索指令并执行指令,以执行上文所描述的操作。总线803将这些各种组件互连在一起,还将这些组件805、807、809以及811互连到显示控制器和显示设备813,互连到诸如输入输出(I/O)设备之类的外围设备,这些外围设备可以是鼠标、键盘、调制解调器、网络接口、打印机及已为大家所熟知的其他设备。通常,输入/输出设备815通过输入/输出控制器817耦合到系统。易失性RAM(随机存取存储器)809通常被实现为连续地需要电能以便刷新或维护存储器中的数据的动态RAM(DRAM)。
大容量储存器811通常是磁硬盘驱动器或磁光驱动器或光驱动器或DVD RAM或闪存或其他类型的甚至在电能从系统消失之后也能保留数据(例如大量数据)的存储器系统。通常,大容量储存器811也将是随机存取存储器,虽然这不是必需的。尽管图8示出了大容量储存器811是直接耦合到数据处理系统中的其余组件的本地设备,但是,可以理解,本发明可以使用远离系统的非易失性存储器,诸如通过诸如调制解调器、以太网接口或无线网络接口之类的网络接口耦合到数据处理系统的网络存储设备。总线803可包括通过本领域已知的各种桥接器、控制器和/或适配器将一个或多个总线彼此连接在一起。
此处所使用的术语“存储器”旨在包含诸如动态随机存取存储器(DRAM)和静态RAM(SRAM)之类的所有易失性储存介质。计算机可执行指令可以储存在诸如磁硬盘、光盘之类的非易失性储存设备中,并通常在处理器执行软件的过程中通过直接存储器访问进程写入到存储器中。那些本领域技术人员将立即认识到,术语“机器可读存储介质”包括可被处理器访问的任何类型的易失性或非易失性储存设备。
在前述的说明书中,参考其特定示例性实施例描述了本发明的各实施例。显然,在不偏离如下面的权利要求所阐述的本发明的更广泛的精神和范围的情况下,可以做出各种修改。相应地,说明书和附图应被视为说明性的,而不是限制性的。

Claims (20)

1.一种机器实施的用于多用户消息通知的方法,该方法包括:
生成标识相应的用户账户的别名,该用户账户是客户端设备内的多个用户帐户之一,其中所述别名与子标题标识符结合地使用,该子标题标识符对应于与一个或多个应用服务器中托管的服务器应用相关联的客户端应用;
为所述客户端应用和所述别名向所述应用服务器注册通知服务,以将与所述客户端应用相关联的标识符转发到所述服务器应用,从而使所述服务器应用能够针对所述客户端应用将通知消息推送到所述客户端设备的所述相应的用户帐户;
响应于从所述应用服务器接收到通知消息,判断所述通知消息是否携带有所述别名和所述客户端应用的所述子标题标识符;以及
如果所述通知消息携带有所述客户端应用的所述标识符,则针对所述相应的用户帐户将所述通知消息转发到所述客户端应用,而不将所述通知消息转发到所述客户端设备中的其他应用。
2.如权利要求1所述的方法,其中,多个客户端应用被托管在所述客户端设备中,其中所述子标题标识符唯一地标识所述多个客户端应用中的所述客户端应用。
3.如权利要求1所述的方法,其中,所述标识符包括所述子标题标识符。
4.如权利要求1所述的方法,其中,别名是从与所述相应的用户帐户相关联的证书导出的。
5.如权利要求1所述的方法,其中,所述别名储存在用户令牌中,所述用户令牌进一步包括所述客户端设备的设备标识符。
6.如权利要求3所述的方法,其中,所述标识符包括唯一地标识所述相应的用户帐户的用户令牌。
7.如权利要求2所述的方法,其中,所述应用服务器由标题标识符唯一地标识,其中注册步骤还包括:
向所述客户端应用注册所述标题标识符以收听来自所述应用服务器的通知,其中所述客户端应用中的超过一个被注册所述标题标识符。
8.如权利要求5所述的方法,还包括:
发起与所述应用服务器的网络连接;以及
通过所述网络连接向所述应用服务器发送所述标识符。
9.如权利要求5所述的方法,其中,判断步骤包括:
从所述通知消息提取所述别名和所述标题标识符;以及
如果所述通知消息不携带所述子标题标识符,则将所述通知消息转发到注册了标题字符串的每个客户端应用和相应的用户。
10.如权利要求1所述的方法,其中,转发步骤包括如果所述客户端应用当前不活动,则激活所述客户端应用。
11.一种机器实施的用于提供消息通知的方法,该方法包括:
在应用服务器托管的服务器应用处,接收来自客户端设备的用户的客户端应用的对于所述消息通知的注册请求,所述请求具有包括标识所述客户端设备的用户令牌和标识所述客户端应用的客户端应用标识符的标识符,其中所述客户端设备能够托管多个用户帐户且包括所述用户的相应的用户帐户;
为所述用户发送服务器标识符以允许所述客户端设备收听从所述应用服务器推送的消息;
储存所接收的标识符,以注册所述用户接收所述消息通知;以及
通过所述用户令牌,将通知消息发送到所述客户端设备,以通知该用户的所述客户端应用,所述通知消息由所述服务器标识符标识,且所述通知消息嵌入有所述客户端应用标识符。
12.如权利要求11所述的方法,其中,所述用户令牌包括标识所述用户的别名以及标识所述客户端设备的设备标识符。
13.如权利要求11所述的方法,其中,通过由所述客户端设备发起的网络连接,接收所述注册请求,其中所述服务器标识符通过所述网络连接来发送。
14.如权利要求11所述的方法,其中,所述用户令牌与包括所述客户端应用标识符的不透明数据相关联地储存。
15.如权利要求14所述的方法,其中,所述通知消息包括标识所述客户端设备的所述用户的所述用户令牌,其中所述不透明数据被携带在所述通知消息的有效载荷中。
16.如权利要求12所述的方法,其中,发送步骤包括:
在推送服务中建立与推送服务器的网络连接;以及
通过所述网络连接,将所述通知消息发送到所述推送服务器,其中所述通知消息封装有所述服务器标识符。
17.如权利要求16所述的方法,其中,所述服务器标识符是在来自所述推送服务的管理机构的证书中接收到的,其中所述服务器标识符唯一地标识共享所述推送服务的所述应用服务器。
18.一种具有指令的机器可读非暂时性介质,所述指令在由机器执行时使所述机器执行用于消息通知的方法,该方法包括:
生成标识相应的用户账户的别名,该用户账户是客户端设备上的多个用户帐户之一,其中所述别名与子标题标识符结合地使用,该子标题标识符对应于与一个或多个应用服务器中托管的服务器应用相关联的客户端应用;
为所述客户端应用和所述别名向所述应用服务器注册通知服务,以将与所述客户端应用相关联的标识符转发到所述服务器应用,从而使所述服务器应用能够针对所述客户端应用将通知消息推送到所述客户端设备的所述相应的用户帐户;
响应于从所述应用服务器接收到通知消息,判断所述通知消息是否携带有所述别名和所述客户端应用的所述子标题标识符;以及
如果所述通知消息携带有所述客户端应用的所述标识符,则针对所述相应的用户帐户将所述通知消息转发到所述客户端应用,而不将所述通知消息转发到所述客户端设备中的其他应用。
19.一种具有指令的机器可读非暂时性介质,所述指令在由机器执行时使所述机器执行用于提供消息通知的方法,该方法包括:
在应用服务器托管的服务器应用处,接收来自客户端设备的用户的客户端应用的对于所述消息通知的注册请求,所述请求具有包括标识所述用户和所述客户端设备的用户令牌和标识所述客户端应用的客户端应用标识符的标识符,其中所述客户端设备能够托管多个用户帐户且包括所述用户的相应的用户帐户;
为所述用户发送服务器标识符以允许所述客户端设备收听从所述应用服务器推送的消息;
储存所接收的标识符,以注册所述用户接收所述消息通知;以及
通过所述用户令牌,将通知消息发送到所述客户端设备,以通知该用户的所述客户端应用,所述通知消息由所述服务器标识符标识,且所述通知消息嵌入有所述客户端应用标识符。
20.一种装置,包括:
存储器,储存有包括服务器应用的可执行指令;
网络接口,耦合到推送网络;
处理器,耦合到所述网络接口和所述存储器以执行来自所述存储器的用于通讯服务的可执行指令,所述处理器被配置成:
响应于从客户端设备的发起,通过所述网络接口建立与所述客户端设备的第一网络连接,
在所述服务器应用处,通过所述第一网络连接接收来自客户端设备的所述客户端应用的注册请求,所述请求具有包括标识所述客户端设备的用户的用户令牌和标识所述客户端应用的客户端应用标识符的标识符,
为所述客户端设备发送所述服务器标识符,以允许所述客户端设备收听从所述应用服务器推送的消息;
储存所接收的标识符,以注册所述用户接收所述消息通知,
通过经由所述网络接口到所述推送网络的第二网络连接,将通知消息发送到所述客户端设备,所述通知消息具有所述用户令牌以通知用于所述用户的所述客户端应用,所述通知消息是由所述服务器标识符标识的,所述通知消息嵌入有所述客户端应用标识符。
CN201180066690.5A 2011-01-05 2011-12-30 用于多用户设备的消息推送通知客户端改善 Active CN103348663B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161430126P 2011-01-05 2011-01-05
US61/430,126 2011-01-05
US13/080,131 US8924489B2 (en) 2011-01-05 2011-04-05 Message push notification client improvements for multi-user devices
US13/080,131 2011-04-05
PCT/US2011/068189 WO2012094253A1 (en) 2011-01-05 2011-12-30 Message push notification client improvements for multi-user devices

Publications (2)

Publication Number Publication Date
CN103348663A true CN103348663A (zh) 2013-10-09
CN103348663B CN103348663B (zh) 2015-08-19

Family

ID=46381746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180066690.5A Active CN103348663B (zh) 2011-01-05 2011-12-30 用于多用户设备的消息推送通知客户端改善

Country Status (8)

Country Link
US (2) US8924489B2 (zh)
EP (1) EP2649781B1 (zh)
JP (1) JP5719453B2 (zh)
KR (1) KR101510977B1 (zh)
CN (1) CN103348663B (zh)
AU (1) AU2011353561B2 (zh)
MX (1) MX2013007842A (zh)
WO (1) WO2012094253A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104580490A (zh) * 2015-01-20 2015-04-29 无线生活(杭州)信息科技有限公司 命令传输方法及装置
CN104980298A (zh) * 2014-04-14 2015-10-14 腾讯科技(深圳)有限公司 一种异常提示方法、装置及系统
WO2016127884A1 (zh) * 2015-02-12 2016-08-18 阿里巴巴集团控股有限公司 消息推送方法及装置
CN105933371A (zh) * 2015-02-26 2016-09-07 索尼公司 统一的通知和响应系统
CN106095220A (zh) * 2016-05-30 2016-11-09 北京小米移动软件有限公司 通知消息提示方法及装置
CN107077326A (zh) * 2014-10-15 2017-08-18 艾拉物联公司 用于所连接的消费者设备的注册框架
CN108111565A (zh) * 2016-11-25 2018-06-01 腾讯科技(深圳)有限公司 消息传输方法和装置
CN108519922A (zh) * 2018-04-12 2018-09-11 珠海市魅族科技有限公司 信息推送方法及装置、终端设备及计算机可读存储介质
CN109076008A (zh) * 2016-04-13 2018-12-21 微软技术许可有限责任公司 在用户界面中抑制对到来的通信的指示
CN111212062A (zh) * 2019-12-31 2020-05-29 航天信息股份有限公司 信息补全的方法、装置、存储介质及电子设备
CN111310043A (zh) * 2020-02-14 2020-06-19 北京百度网讯科技有限公司 用于推送信息的方法和装置
US11012400B1 (en) 2020-04-14 2021-05-18 Citrix Systems, Inc. Triggering event notifications based on messages to application users
WO2022089121A1 (zh) * 2020-10-27 2022-05-05 华为技术有限公司 处理推送消息的方法和装置
CN114866512A (zh) * 2018-05-29 2022-08-05 苹果公司 用于电子设备的会话合并的方法、设备和介质

Families Citing this family (132)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11184224B2 (en) 2006-09-25 2021-11-23 Remot3.It, Inc. System, method and compute program product for accessing a device on a network
US9712486B2 (en) 2006-09-25 2017-07-18 Weaved, Inc. Techniques for the deployment and management of network connected devices
US20150088982A1 (en) * 2006-09-25 2015-03-26 Weaved, Inc. Load balanced inter-device messaging
US10637724B2 (en) 2006-09-25 2020-04-28 Remot3.It, Inc. Managing network connected devices
CA2720398C (en) 2008-04-02 2016-08-16 Twilio Inc. System and method for processing telephony sessions
US8837465B2 (en) 2008-04-02 2014-09-16 Twilio, Inc. System and method for processing telephony sessions
EP2335402A4 (en) 2008-10-01 2013-04-24 Twilio Inc TELEPHONY WEB EVENT SYSTEM AND METHOD
CN102415068B (zh) 2009-03-02 2015-09-02 特维里奥公司 用于多租户电话网络的方法和系统
US9210275B2 (en) 2009-10-07 2015-12-08 Twilio, Inc. System and method for running a multi-module telephony application
US9459925B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9459926B2 (en) 2010-06-23 2016-10-04 Twilio, Inc. System and method for managing a computing cluster
US9338064B2 (en) 2010-06-23 2016-05-10 Twilio, Inc. System and method for managing a computing cluster
US9590849B2 (en) 2010-06-23 2017-03-07 Twilio, Inc. System and method for managing a computing cluster
US8838707B2 (en) 2010-06-25 2014-09-16 Twilio, Inc. System and method for enabling real-time eventing
US8649268B2 (en) 2011-02-04 2014-02-11 Twilio, Inc. Method for processing telephony sessions of a network
US8407776B2 (en) 2011-02-11 2013-03-26 Good Technology Corporation Method, apparatus and system for provisioning a push notification session
KR101845086B1 (ko) * 2011-03-30 2018-04-03 삼성전자주식회사 푸시 알림 메시지를 전송하기 위한 장치 및 방법
KR101914488B1 (ko) * 2011-04-06 2018-11-05 삼성전자주식회사 푸시 알림 서비스를 위한 서버 클러스터 및 방법
US8825842B2 (en) * 2011-04-28 2014-09-02 Facebook, Inc. Managing notifications pushed to user devices
US9529417B2 (en) 2011-04-28 2016-12-27 Facebook, Inc. Performing selected operations using low power-consuming processors on user devices
WO2012162397A1 (en) 2011-05-23 2012-11-29 Twilio, Inc. System and method for connecting a communication to a client
US9648006B2 (en) * 2011-05-23 2017-05-09 Twilio, Inc. System and method for communicating with a client application
US20140044123A1 (en) 2011-05-23 2014-02-13 Twilio, Inc. System and method for real time communicating with a client application
JP2012247840A (ja) * 2011-05-25 2012-12-13 Sony Corp 近隣人物特定装置、近隣人物特定方法、近隣人物特定プログラム及び近隣人物特定システム
JP2012247841A (ja) * 2011-05-25 2012-12-13 Sony Corp 近隣人物特定装置、近隣人物特定方法、近隣人物特定プログラム及び近隣人物特定システム
US9531827B1 (en) 2011-06-14 2016-12-27 Urban Airship, Inc. Push notification delivery system with feedback analysis
US8554855B1 (en) 2011-06-14 2013-10-08 Urban Airship, Inc. Push notification delivery system
US8731523B1 (en) 2011-06-14 2014-05-20 Urban Airship, Inc. Push notification delivery system with feedback analysis
US10182147B2 (en) 2011-09-21 2019-01-15 Twilio Inc. System and method for determining and communicating presence information
EP2759123B1 (en) 2011-09-21 2018-08-15 Twilio, Inc. System and method for authorizing and connecting application developers and users
US9350718B2 (en) 2011-09-29 2016-05-24 Oracle International Corporation Using representational state transfer (REST) for consent management
US9495227B2 (en) 2012-02-10 2016-11-15 Twilio, Inc. System and method for managing concurrent events
WO2013121487A1 (ja) * 2012-02-13 2013-08-22 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
US11593800B2 (en) 2012-03-07 2023-02-28 Early Warning Services, Llc System and method for transferring funds
US20130244579A1 (en) * 2012-03-16 2013-09-19 Rapidblue Solutions Method of enabling proximity based connectivity between mobile devices using different operating systems
US9100497B2 (en) * 2012-04-05 2015-08-04 Blackberry Limited Method, system and apparatus for managing persona-based notifications at a communication device
US9240941B2 (en) 2012-05-09 2016-01-19 Twilio, Inc. System and method for managing media in a distributed communication network
US20130304928A1 (en) 2012-05-09 2013-11-14 Twilio, Inc. System and method for managing latency in a distributed telephony network
US9602586B2 (en) 2012-05-09 2017-03-21 Twilio, Inc. System and method for managing media in a distributed communication network
GB201210600D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Call invites
GB201210596D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
GB2504461B (en) 2012-06-14 2014-12-03 Microsoft Corp Notification of communication events
GB201210598D0 (en) 2012-06-14 2012-08-01 Microsoft Corp Notification of communication events
US9247062B2 (en) 2012-06-19 2016-01-26 Twilio, Inc. System and method for queuing a communication session
US8737962B2 (en) 2012-07-24 2014-05-27 Twilio, Inc. Method and system for preventing illicit use of a telephony platform
US9524198B2 (en) 2012-07-27 2016-12-20 Google Inc. Messaging between web applications
WO2014030199A1 (ja) * 2012-08-20 2014-02-27 富士通株式会社 シームレスアプリプッシュシステム及びその方法
WO2014035194A1 (en) * 2012-08-30 2014-03-06 Samsung Electronics Co., Ltd. Push message service system and method
KR101488268B1 (ko) * 2012-08-30 2015-01-30 삼성전자주식회사 푸시 메시지 서비스 방법 및 시스템
EP2706727B1 (en) 2012-09-11 2014-09-10 BlackBerry Limited Systems, devices and methods for authorizing endpoints of a push pathway
US8938053B2 (en) 2012-10-15 2015-01-20 Twilio, Inc. System and method for triggering on platform usage
US8948356B2 (en) 2012-10-15 2015-02-03 Twilio, Inc. System and method for routing communications
KR101399292B1 (ko) * 2012-12-07 2014-05-27 전남대학교산학협력단 Sns를 이용한 사물통신 시스템, 방법 및 그 사물통신 서버
CN103392328B (zh) * 2012-12-21 2016-05-25 华为技术有限公司 远程控制通讯终端工作的服务器和方法及通讯终端
CN103902616B (zh) * 2012-12-28 2017-04-12 腾讯科技(深圳)有限公司 一种推送网页应用消息的方法、装置和系统
US9253254B2 (en) 2013-01-14 2016-02-02 Twilio, Inc. System and method for offering a multi-partner delegated platform
US9232339B2 (en) * 2013-02-07 2016-01-05 Oracle International Corporation Mobile push notification
US9282124B2 (en) 2013-03-14 2016-03-08 Twilio, Inc. System and method for integrating session initiation protocol communication in a telecommunications platform
US8918529B1 (en) * 2013-03-15 2014-12-23 Mobile Iron, Inc. Messaging gateway
US9001666B2 (en) 2013-03-15 2015-04-07 Twilio, Inc. System and method for improving routing in a distributed communication platform
WO2014183208A1 (en) 2013-05-17 2014-11-20 Initiative Inc. System for quickly finding the whereabouts of friends
US9256484B2 (en) * 2013-06-09 2016-02-09 Apple Inc. Dynamic adjustment of mobile device based on user activity
CN108400946B (zh) 2013-06-11 2019-09-17 杭州硕文软件有限公司 一种用于减少网络通信量的方法、装置、系统及介质
US9225840B2 (en) 2013-06-19 2015-12-29 Twilio, Inc. System and method for providing a communication endpoint information service
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US9338280B2 (en) 2013-06-19 2016-05-10 Twilio, Inc. System and method for managing telephony endpoint inventory
US8843601B1 (en) * 2013-07-12 2014-09-23 Vonage Network, Llc Systems and methods for VOIP communication completion to a mobile device
US9699625B2 (en) * 2013-07-18 2017-07-04 International Business Machines Corporation Push notification middleware
US9780994B2 (en) 2013-07-18 2017-10-03 International Business Machines Corporation Notification normalization
US9706002B2 (en) 2013-07-18 2017-07-11 International Business Machines Corporation Push notification via file sharing service synchronization
US9483328B2 (en) 2013-07-19 2016-11-01 Twilio, Inc. System and method for delivering application content
US9137127B2 (en) 2013-09-17 2015-09-15 Twilio, Inc. System and method for providing communication platform metadata
US9274858B2 (en) 2013-09-17 2016-03-01 Twilio, Inc. System and method for tagging and tracking events of an application platform
US9338018B2 (en) 2013-09-17 2016-05-10 Twilio, Inc. System and method for pricing communication of a telecommunication platform
CN105659558B (zh) 2013-09-20 2018-08-31 甲骨文国际公司 计算机实现的方法、授权服务器以及计算机可读存储器
US9325624B2 (en) 2013-11-12 2016-04-26 Twilio, Inc. System and method for enabling dynamic multi-modal communication
US9553799B2 (en) 2013-11-12 2017-01-24 Twilio, Inc. System and method for client communication in a distributed telephony network
US9462044B1 (en) * 2013-11-25 2016-10-04 Ca, Inc. Secure user, device, application registration protocol
WO2015080460A1 (ko) * 2013-11-26 2015-06-04 엘지전자 주식회사 무선 통신 시스템에서 ae id 할당 방법
CN103618746A (zh) * 2013-12-10 2014-03-05 南京守护宝信息技术有限公司 一种基于推送指令的客户端服务器通信方法
US10802681B2 (en) 2014-01-27 2020-10-13 Microsoft Technology Licensing, Llc Actionable notifications
US10540063B2 (en) * 2014-01-27 2020-01-21 Microsoft Technology Licensing, Llc Processing actionable notifications
US9344573B2 (en) 2014-03-14 2016-05-17 Twilio, Inc. System and method for a work distribution service
WO2015145905A1 (ja) * 2014-03-28 2015-10-01 株式会社セガ 追加ダウンロード管理システム、端末装置制御プログラム、端末装置および追加ダウンロード管理装置
US9226217B2 (en) 2014-04-17 2015-12-29 Twilio, Inc. System and method for enabling multi-modal communication
US9760704B2 (en) * 2014-05-23 2017-09-12 Blackberry Limited Security apparatus session sharing
GB2527116B (en) * 2014-06-12 2017-09-20 Canon Kk Adaptative persistent push
CN105282107B (zh) * 2014-07-04 2018-09-11 北京信威通信技术股份有限公司 Xmpp系统访问外部数据的授权方法及通信网络
US9516101B2 (en) 2014-07-07 2016-12-06 Twilio, Inc. System and method for collecting feedback in a multi-tenant communication platform
US9246694B1 (en) 2014-07-07 2016-01-26 Twilio, Inc. System and method for managing conferencing in a distributed communication network
US9251371B2 (en) 2014-07-07 2016-02-02 Twilio, Inc. Method and system for applying data retention policies in a computing platform
US9774687B2 (en) 2014-07-07 2017-09-26 Twilio, Inc. System and method for managing media and signaling in a communication platform
WO2016065080A1 (en) 2014-10-21 2016-04-28 Twilio, Inc. System and method for providing a miro-services communication platform
CN104320456B (zh) * 2014-10-22 2018-04-20 迈普通信技术股份有限公司 一种页面推送方法及相关设备
US10050912B2 (en) * 2014-10-27 2018-08-14 At&T Intellectual Property I, L.P. Subscription-based media push service
WO2016078006A1 (zh) * 2014-11-19 2016-05-26 华为技术有限公司 一种定向统计流量的方法、设备及系统
KR20160077856A (ko) 2014-12-24 2016-07-04 삼성전자주식회사 알림 정보 제공 방법 및 장치
US10015236B2 (en) * 2015-01-30 2018-07-03 Ricoh Company, Ltd. Cloud application activation and update service
US9477975B2 (en) 2015-02-03 2016-10-25 Twilio, Inc. System and method for a media intelligence platform
JP6227583B2 (ja) * 2015-03-25 2017-11-08 Kddi株式会社 情報配信装置、プッシュ通知送信方法、及び、コンピュータプログラム
JP6251210B2 (ja) * 2015-03-25 2017-12-20 Kddi株式会社 端末装置、通信セッション確立方法、及び、プログラム
US11496430B2 (en) * 2015-04-13 2022-11-08 Citrix Systems, Inc. Configurable offline messaging management using user presence information
US10419891B2 (en) 2015-05-14 2019-09-17 Twilio, Inc. System and method for communicating through multiple endpoints
US9948703B2 (en) 2015-05-14 2018-04-17 Twilio, Inc. System and method for signaling through data storage
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10360287B2 (en) * 2015-05-22 2019-07-23 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing user callouts
US10491708B2 (en) 2015-06-05 2019-11-26 Apple Inc. Context notifications
CN108028858B (zh) * 2015-08-27 2020-12-18 匹维托软件公司 移动计算装置和用于操作移动计算装置的方法以及介质
CN105245577B (zh) * 2015-09-11 2018-09-04 腾讯科技(深圳)有限公司 信息推送方法、装置及系统
US10178194B2 (en) * 2015-10-13 2019-01-08 Adobe Systems Incorporated Intelligent notifications to devices with multiple applications
US11328590B2 (en) * 2015-10-29 2022-05-10 InterNetwork Media, LLC System and method for internet radio automatic content management
CN105871680A (zh) * 2015-11-18 2016-08-17 乐视致新电子科技(天津)有限公司 通信方法和通信系统以及显示装置
US20170171332A1 (en) * 2015-12-15 2017-06-15 Le Holdings (Beijing) Co., Ltd. Message pushing method, electronic device and non-transitory computer-readable storage medium
US10659349B2 (en) 2016-02-04 2020-05-19 Twilio Inc. Systems and methods for providing secure network exchanged for a multitenant virtual private cloud
US10728164B2 (en) 2016-02-12 2020-07-28 Microsoft Technology Licensing, Llc Power-aware network communication
US10135946B2 (en) 2016-04-11 2018-11-20 Verizon Patent And Licensing Inc. Sending messages to mobile devices
US10686902B2 (en) 2016-05-23 2020-06-16 Twilio Inc. System and method for a multi-channel notification service
US10063713B2 (en) 2016-05-23 2018-08-28 Twilio Inc. System and method for programmatic device connectivity
US10511542B2 (en) * 2016-06-10 2019-12-17 Microsoft Technology Licensing, Llc Multi-interface power-aware networking
US10225359B2 (en) 2016-09-22 2019-03-05 International Business Machines Corporation Push notifications from multiple tenant servers
CN107067244B (zh) * 2016-11-03 2020-09-29 阿里巴巴集团控股有限公司 业务实现方法、支付方法、业务实现装置及支付服务端
US20180367629A1 (en) * 2017-06-20 2018-12-20 Develapp, LLC Platform and Related Process for Providing Push Notifications Via Unique Subscriber Applications
US9935984B1 (en) * 2017-07-31 2018-04-03 Malwarebytes Inc. Scalable cloud-based endpoint security system
CN108337296B (zh) * 2018-01-12 2021-01-01 深圳壹账通智能科技有限公司 消息推送处理方法、装置、计算机设备和存储介质
US10855670B2 (en) * 2018-05-03 2020-12-01 Vmware, Inc. Polling service
US11303627B2 (en) 2018-05-31 2022-04-12 Oracle International Corporation Single Sign-On enabled OAuth token
US11070548B2 (en) * 2018-12-21 2021-07-20 Paypal, Inc. Tokenized online application sessions
CN110012083B (zh) * 2019-03-26 2022-07-01 青岛聚好联科技有限公司 一种数据传输方法、服务器及数据传输装置
US20210142328A1 (en) * 2019-11-13 2021-05-13 Early Warning Services, Llc System and method for preventing fraud in real-time payment transactions
CN111200656A (zh) * 2020-01-03 2020-05-26 北京小米移动软件有限公司 通知推送方法、装置及系统
US11558468B2 (en) * 2020-11-03 2023-01-17 T-Mobile Usa, Inc. Mobile client recovery using push notifications to execute exponential back-off procedure
CN114900489B (zh) * 2021-01-26 2023-10-13 腾讯科技(深圳)有限公司 一种消息处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030083045A1 (en) * 2001-11-01 2003-05-01 Palm Inc. Temporary messaging address system and method
CN1614959A (zh) * 2003-11-06 2005-05-11 国际商业机器公司 用于多个即时消息传递登录会话的方法和系统
US20050149620A1 (en) * 2004-01-07 2005-07-07 International Business Machines Corporation Instant messaging windowing for topic threads
EP1555793A2 (en) * 2004-01-15 2005-07-20 Openwave Systems Inc. Stateful push notifications
US20060009243A1 (en) * 2004-07-07 2006-01-12 At&T Wireless Services, Inc. Always-on mobile instant messaging of a messaging centric wireless device
US20060218287A1 (en) * 2000-10-19 2006-09-28 Dodrill Lewis D Apparatus and methods for requesting an event notfication over a network

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259446B1 (en) 1992-12-23 2001-07-10 Object Technology Licensing Corporation Menu state system
JPH10190879A (ja) * 1996-12-27 1998-07-21 Casio Comput Co Ltd 通信端末、サーバ装置、及び着信通知システム
CA2307635C (en) 1997-11-05 2004-07-06 Microsoft Corporation Notification scheduling system on a mobile device
US6512930B2 (en) 1997-12-30 2003-01-28 Telefonaktiebolaget Lm Ericsson (Publ) On-line notification in a mobile communications system
US6223046B1 (en) 1998-12-15 2001-04-24 Telefonaktiebolaget Lm Ericsson (Publ) System and method for coordinating notification requests for terminal availability
US8474693B1 (en) * 2000-12-05 2013-07-02 Diebold, Incorporated Automated banking machine security system and method
DK1239385T3 (da) * 2001-02-28 2003-10-20 Sap Ag Computersystem for forretningsapplikationer med varsko-notifikation og betinget eksekvering
US20030061365A1 (en) 2001-03-14 2003-03-27 Microsoft Corporation Service-to-service communication for network services
JP2002344529A (ja) * 2001-05-21 2002-11-29 Sharp Corp プッシュ型サービスシステム
WO2004043098A1 (en) 2002-11-04 2004-05-21 Research In Motion Limited Method and apparatus for packet data service discovery
US20040186918A1 (en) * 2003-03-21 2004-09-23 Lonnfors Mikko Aleksi Method and apparatus for dispatching incoming data in a multi-application terminal
JP4401729B2 (ja) * 2003-09-30 2010-01-20 京セラ株式会社 携帯通信端末
JP2005107897A (ja) * 2003-09-30 2005-04-21 Dainippon Printing Co Ltd アクセスポイント、配信システム及びプログラム
US20050080898A1 (en) 2003-10-08 2005-04-14 Block Jerald J. System and method for managing computer usage
US7818379B1 (en) * 2004-08-31 2010-10-19 Aol Inc. Notification and disposition of multiple concurrent instant messaging sessions involving a single online identity
US7970823B2 (en) * 2004-09-02 2011-06-28 Broadway Technology, Llc System for sharing data objects among applications
US7978618B2 (en) * 2004-10-08 2011-07-12 Sharp Laboratories Of America, Inc. Methods and systems for user interface customization
US7617162B2 (en) * 2005-03-04 2009-11-10 Atul Saini Real time push notification in an event driven network
US7499995B2 (en) 2005-06-28 2009-03-03 International Business Machines Corporation Managing permission for accessing third party applications on a telecommunications network
US20070156693A1 (en) * 2005-11-04 2007-07-05 Microsoft Corporation Operating system roles
US8693995B2 (en) * 2007-12-13 2014-04-08 Michelle Fisher Customized mobile applications for special interest groups
US8280979B2 (en) * 2006-02-27 2012-10-02 Microsoft Corporation Persistent public machine setting
BRPI0810369B8 (pt) * 2007-04-17 2019-05-28 Visa Usa Inc método, meio legível por computador, servidor de diretório, e, telefone
US8630625B2 (en) * 2007-09-14 2014-01-14 At&T Intellectual Property I, L.P. System and method for personalized messaging
JP2009157650A (ja) * 2007-12-26 2009-07-16 Softbank Mobile Corp コンテンツ提供システム、コンテンツ提供方法およびコンテンツ提供プログラム
US9363745B2 (en) 2008-03-26 2016-06-07 Srinivasan Balasubramanian Device managed access point lists in wireless communications
US8719420B2 (en) 2008-05-13 2014-05-06 At&T Mobility Ii Llc Administration of access lists for femtocell service
US8364123B2 (en) 2009-02-25 2013-01-29 Apple Inc. Managing notification messages
US8565730B2 (en) * 2008-06-19 2013-10-22 Blackberry Limited User interface for configuring service account-specific user notifications for inbound electronic messages
US9135433B2 (en) * 2008-08-29 2015-09-15 Adobe Systems Incorporated Identifying reputation and trust information for software
US8315395B2 (en) * 2008-12-10 2012-11-20 Oracle America, Inc. Nearly-stateless key escrow service
US20100161747A1 (en) * 2008-12-22 2010-06-24 Cyril Rayan System and method for two-way anonymous communication
US8630624B2 (en) * 2009-02-25 2014-01-14 Apple Inc. Managing notification messages
CN101854338B (zh) * 2009-03-31 2014-02-26 国际商业机器公司 订户设备及其订阅管理方法、实时通信方法和系统
US20100274691A1 (en) * 2009-04-28 2010-10-28 Ayman Hammad Multi alerts based system
US8417231B2 (en) 2009-05-17 2013-04-09 Qualcomm Incorporated Method and apparatus for programming a mobile device with multiple service accounts
US8826304B2 (en) * 2009-08-13 2014-09-02 Google Inc. Virtual object indirection in a hosted computer environment
US20110195695A1 (en) * 2010-02-11 2011-08-11 Rashim Gupta Managing event distribution to applications within a wireless communications device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060218287A1 (en) * 2000-10-19 2006-09-28 Dodrill Lewis D Apparatus and methods for requesting an event notfication over a network
US20030083045A1 (en) * 2001-11-01 2003-05-01 Palm Inc. Temporary messaging address system and method
CN1614959A (zh) * 2003-11-06 2005-05-11 国际商业机器公司 用于多个即时消息传递登录会话的方法和系统
US20050149620A1 (en) * 2004-01-07 2005-07-07 International Business Machines Corporation Instant messaging windowing for topic threads
EP1555793A2 (en) * 2004-01-15 2005-07-20 Openwave Systems Inc. Stateful push notifications
US20060009243A1 (en) * 2004-07-07 2006-01-12 At&T Wireless Services, Inc. Always-on mobile instant messaging of a messaging centric wireless device

Cited By (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104980298B (zh) * 2014-04-14 2018-07-06 腾讯科技(深圳)有限公司 一种异常提示方法、装置及系统
CN104980298A (zh) * 2014-04-14 2015-10-14 腾讯科技(深圳)有限公司 一种异常提示方法、装置及系统
CN107077326A (zh) * 2014-10-15 2017-08-18 艾拉物联公司 用于所连接的消费者设备的注册框架
CN107077326B (zh) * 2014-10-15 2020-10-13 艾拉物联网络(深圳)有限公司 用于所连接的消费者设备的注册框架
CN104580490A (zh) * 2015-01-20 2015-04-29 无线生活(杭州)信息科技有限公司 命令传输方法及装置
CN104580490B (zh) * 2015-01-20 2018-09-18 无线生活(杭州)信息科技有限公司 命令传输方法及装置
CN105991412A (zh) * 2015-02-12 2016-10-05 阿里巴巴集团控股有限公司 消息推送方法及装置
EP3258653A4 (en) * 2015-02-12 2018-03-14 Alibaba Group Holding Limited Message pushing method and device
US10812314B2 (en) 2015-02-12 2020-10-20 Alibaba Group Holding Limited Methods and apparatuses for pushing a message
WO2016127884A1 (zh) * 2015-02-12 2016-08-18 阿里巴巴集团控股有限公司 消息推送方法及装置
CN105991412B (zh) * 2015-02-12 2019-03-19 阿里巴巴集团控股有限公司 消息推送方法及装置
CN105933371A (zh) * 2015-02-26 2016-09-07 索尼公司 统一的通知和响应系统
CN105933371B (zh) * 2015-02-26 2019-07-05 索尼公司 统一的通知和响应系统
US11044359B2 (en) 2016-04-13 2021-06-22 Microsoft Technology Licensing, Llc Suppressing indications of events in user interfaces
CN109076008A (zh) * 2016-04-13 2018-12-21 微软技术许可有限责任公司 在用户界面中抑制对到来的通信的指示
CN106095220B (zh) * 2016-05-30 2019-09-27 北京小米移动软件有限公司 通知消息提示方法及装置
CN106095220A (zh) * 2016-05-30 2016-11-09 北京小米移动软件有限公司 通知消息提示方法及装置
CN108111565A (zh) * 2016-11-25 2018-06-01 腾讯科技(深圳)有限公司 消息传输方法和装置
CN108519922B (zh) * 2018-04-12 2022-07-12 珠海市魅族科技有限公司 信息推送方法及装置、终端设备及计算机可读存储介质
CN108519922A (zh) * 2018-04-12 2018-09-11 珠海市魅族科技有限公司 信息推送方法及装置、终端设备及计算机可读存储介质
US11855975B2 (en) 2018-05-29 2023-12-26 Apple Inc. Conversation merging for electronic devices
CN114866512B (zh) * 2018-05-29 2023-10-10 苹果公司 用于电子设备的会话合并的方法、设备和介质
CN114866512A (zh) * 2018-05-29 2022-08-05 苹果公司 用于电子设备的会话合并的方法、设备和介质
CN111212062A (zh) * 2019-12-31 2020-05-29 航天信息股份有限公司 信息补全的方法、装置、存储介质及电子设备
CN111212062B (zh) * 2019-12-31 2022-09-30 航天信息股份有限公司 信息补全的方法、装置、存储介质及电子设备
CN111310043A (zh) * 2020-02-14 2020-06-19 北京百度网讯科技有限公司 用于推送信息的方法和装置
US11336606B2 (en) 2020-04-14 2022-05-17 Citrix Systems, Inc. Triggering event notifications based on messages to application users
WO2021098131A1 (en) * 2020-04-14 2021-05-27 Citrix Systems, Inc. Triggering event notifications based on messages to application users
US11012400B1 (en) 2020-04-14 2021-05-18 Citrix Systems, Inc. Triggering event notifications based on messages to application users
CN114553814A (zh) * 2020-10-27 2022-05-27 花瓣云科技有限公司 处理推送消息的方法和装置
WO2022089121A1 (zh) * 2020-10-27 2022-05-05 华为技术有限公司 处理推送消息的方法和装置
CN114553814B (zh) * 2020-10-27 2024-02-09 花瓣云科技有限公司 处理推送消息的方法和装置

Also Published As

Publication number Publication date
KR20130109229A (ko) 2013-10-07
WO2012094253A1 (en) 2012-07-12
BR112013017443A2 (pt) 2016-09-27
US20150067062A1 (en) 2015-03-05
AU2011353561A1 (en) 2013-07-25
EP2649781B1 (en) 2019-04-10
US8924489B2 (en) 2014-12-30
KR101510977B1 (ko) 2015-04-10
JP5719453B2 (ja) 2015-05-20
US20120173610A1 (en) 2012-07-05
EP2649781A1 (en) 2013-10-16
AU2011353561B2 (en) 2015-10-08
EP2649781A4 (en) 2014-06-18
JP2014503152A (ja) 2014-02-06
US11057484B2 (en) 2021-07-06
CN103348663B (zh) 2015-08-19
MX2013007842A (es) 2013-10-03

Similar Documents

Publication Publication Date Title
CN103348663B (zh) 用于多用户设备的消息推送通知客户端改善
US9985917B2 (en) Managing notification messages
CN106464729A (zh) 代理推送
EP3404875B1 (en) Electronic device providing dialog contents, server and method thereof
WO2007077227A1 (en) Community messaging system
JP2021099861A (ja) メッセージングサービスのためのサーバ、システム、ユーザ端末、方法、及びプログラム
TW201251384A (en) System and method for two way push notifications
CN103944800A (zh) 一种信息交互的方法和设备
TWI357748B (en) System and method for correlating messages within
JP2014063430A (ja) 通信制御装置、メッセージ転送方法およびメッセージ転送プログラム
CN101889426A (zh) 减小存在消息的大小的方法
JP2019021342A (ja) 判定装置、通知管理サーバ、制御プログラム、判定方法、判定プログラム、通知管理方法及び通知管理プログラム
JP2019021192A (ja) 判定装置、通知管理サーバ、制御プログラム、判定方法、判定プログラム、通知管理方法及び通知管理プログラム
KR101993053B1 (ko) 자가 문자 기반의 정보공유방법
CN109313683A (zh) 认证处理装置及认证处理方法
KR20220047920A (ko) 보안 메신저 시스템
BR112013017443B1 (pt) Melhorias para cliente de notificação de envio automático de mensagem para dispositivos multiusuário
KR20190028133A (ko) 메시지 송수신 플랫폼 통합 관리 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant