避免多个用户设备上通知的冗余显示的制作方法

文档序号:6503464阅读:90来源:国知局
避免多个用户设备上通知的冗余显示的制作方法
【专利摘要】本发明公开了避免多个用户设备上通知的冗余显示。一个具有多个电子设备的用户可以在其每个设备接收通知。当确定第一设备处于活动状态并且已经在那个设备上看过一个通知时,该通知已经被看过的指示就可以由第一设备传送到同步服务器。然后,可以确定被看过的通知是否也在该用户的一个或多个其它设备上存在。基于这种确定,所述通知已经被看过的指示可以从同步服务器发送到在其上存在该通知的用户的每个设备。当从同步服务器接收到该指示时,被看过的通知可以从每个所述设备除去,由此避免多个设备上通知的冗余显示。
【专利说明】避免多个用户设备上通知的冗余显示
【技术领域】
[0001]本公开内容总体上涉及在用户的多个设备上呈现的通知的管理。
【背景技术】
[0002]人们使用多个电子设备已经变得很普遍。例如,在典型的一天当中,单个用户可以使用移动电话、平板计算机设备、膝上型计算机系统和台式计算机系统。使用这些设备的方式存在重叠已经变得越来越普遍。尽管例如移动电话和便携式音乐设备的移动设备过去用于非常具体的目的,但是这些设备増加的功能性、处理能力和连接性已经使它们可以以许多与膝上型或台式计算机系统相同的方式使用。
[0003]因为用户在一天当中可能在设备之间切换,所以每个设备可以相似地设置成允许用户通过每个设备接收相同类型的信息。例如,用户可以把他们的每个设备都设置成检索例如电子邮件、天气更新、体育更新和社交网络消息的信息。基于从其接收这种信息的多个源,每个设备还可以设置成合井信息,使得用户可以通过单个接ロ观看来自多个源的信息。在这种布置中,由运行在一个设备上的应用接收的信息可以生成通过单个通知接ロ呈现的通知。因此,用户可能能够容易地在设备之间切换并且观看他们感兴趣的信息。每个设备可以持续接收信息并且生成通知,即使在该设备处于不活动状态(即,没有被用户积极使用)的时候。因此,在被激活的时候,设备可以显示从上次该设备被使用开始所生成的全部新通知。基于设备使用方式的重叠,对于用户来说,再看一遍他们已经在别的设备上看到过的重叠通知可能是令人讨厌的。

【发明内容】

[0004]在一个实施例中,一种程序存储设备可以包括指令,该指令使处理器在服务器计算机系统接收通知已经在用户的第一设备上被看过的指示。响应该指示,可以识别该用户的一个或多个附加设备并且所述通知已经在第一设备上被看过的指示可以发送到所述附加设备。
[0005]在另ー个实施例中,ー种方法包括在多个关联设备中的第一设备接收通知。如果随后确定该第一设备处于活动状态而且所述通知已经在该第一设备上被看过了,则所述通知已经在第一设备上被看过并且应当从任何关联设备除去的指示可以由第一设备发送。
[0006]在还有另一个实施例中,一种程序存储设备可以包括指令,该指令使处理器在与多个附加设备关联的第一设备从多个源接收多个消息。基于这多个消息,多个通知可以由第一设备生成以通过该第一设备的公共接ロ被显示。如果确定第一设备处于活动状态而且其中ー个通知已经在该第一设备上被看过,则所述通知已经在第一设备上被看过的指示可以从第一设备发送到同步服务器计算机系统。
【专利附图】

【附图说明】
[0007]图1是根据一个实施例的网络体系结构的框图。[0008]图2是说明根据ー个实施例、把从多个源获得的信息合并到单个通知服务中的框图。
[0009]图3是说明根据ー个实施例、由服务器端通知服务同步多个用户设备中每ー个上的活动通知的框图。
[0010]图4是说明根据ー个实施例、可以避免通知跨多个用户设备冗余显示的操作的流程图。
[0011]图5A-5C说明了根据ー个或多个实施例、可以避免通知在多个用户设备上冗余显示的各种机制。
[0012]图6是说明根据ー个实施例的电子设备的框图。
具体实施例
[0013]本公开内容涉及在多个用户设备接收到的通知的管理。总的来说,公开了用于识别用户的活动设备、确定用户已经在该活动设备上观看过ー个通知并且从该用户的ー个或多个其它设备除去该通知以避免同一通知的冗余显示的技木。
[0014]在以下描述中,为了解释,阐述了各种具体细节,以便提供对本发明性概念的透彻理解。作为本描述的一部分,本公开内容附图中的ー些用框图形式表示结构和设备,以避免模糊本发明。为了清晰,本说明书没有描述实际实现的全部特征。而且,本公开内容中所使用的语言主要是为可读性与指导性而选择的,而且可能没有选择成划定或限定所述发明性主题,因此需要权利要求来确定这种发明性主题。本公开内容中对“ー个实施例”或“实施例”的引用意味着联系该实施例所述的特定特征、结构或特性包括在本发明的至少ー个实施例中,而且,根据需要,对“ー个实施例”或“实施例”的多次引用不应当理解为一定全都指同一个实施例。
[0015]应当认识到,在任何实际实现的开发当中(就像在任何开发项目中),必须做出各种决定来实现开发者的特殊目的(例如,与系统和业务相关的约束兼容),而且这些目的将随每ー种实现而有变化。还应当认识到,这种开发努力可能是复杂而耗时的,但无论如何都是受益于本公开内容的那些普通技术人员在同步服务设计当中要经历的例行程序。
[0016]图1说明了根据ー个实施例的网络体系结构100。如图所示,可以提供多个网络102。在网络体系结构100的背景下,网络102可以采取任何形式,包括但不限于,局域网(LAN)、例如互联网的广域网(WAN)或者局域网和广域网的组合。另外,网络102可以使用任何期望的技术(有线、无线或者其组合)和协议(例如,传输控制协议,TCP)。
[0017]耦合到网络102的是能够经网络102通信的数据服务器计算机104。在所说明的实施例中,数据服务器104A可以代表ー个或多个社交网络服务器(例如,托管社交网络应用的web服务器),数据服务器104B可以代表ー个或多个体育服务器(例如,托管体育应用的web服务器)、数据服务器104C可以代表ー个或多个电子邮件服务器(例如,托管电子邮件应用的web服务器),而数据服务器104D可以代表一个或多个天气服务器(例如,托管天气应用的web服务器)。在数据服务器104A-104D上运行的所列出的应用是要提供可以由这种服务器托管的应用的例子,而不是要以任何方式作为限制。应当认识到,数据服务器104可以托管除图1中所示的四个说明性应用以外的各种不同类型的应用。
[0018]耦合到网络102的还可以有多个终端用户设备106。在所说明的实施例中,終端用户设备106代表属于单个用户的示例设备。例如,用户可以使用移动电话106A、平板设备106B、膝上型计算机系统106C和台式计算机系统106D。所说明的设备是要提供典型用户可能拥有的设备的例子,而不是要以任何方式作为限制。用户的附加或替代设备可以包括个人数字助理(PDA)、个人音乐播放器、电子书阅读器、电视机和/或能够经网络102通信的任何其它电子设备。終端用户设备106可以与数据服务器104交互。例如,終端用户设备106可以经运行在社交网络服务器104A上的社交网络应用发送和接收社交网络消息,经运行在体育服务器104B上的体育应用接收体育更新,经运行在电子邮件服务器104C上的电子邮件应用发送和接收电子邮件消息和/或日历约会,并且经运行在天气服务器104D上的天气应用接收天气更新。在典型的布置中,每个用户设备106可以在其上安装与运行在服务器上的服务器端应用相接ロ的客户端应用。例如,运行在设备106上的客户端社交网络应用可以与运行在社交网络服务器104A上的服务器端社交网络应用相接ロ,以提供与社交网络账号关联的功能性。
[0019]耦合到网络102的还可以有同步服务器108。同步服务器108可以采取数据服务器104的形式,但是可以提供维护注册了该服务的用户设备106之间的同步的服务。同步服务的ー个例子是Apple? iCloud?服务。(APPLE是Apple公司的注册商标。ICLOUD是
Apple公司的商标。)在同步服务器108上执行的同步服务的功能性将在以下更具体地描述。为了方便网络102之间的通信,至少ー个网关或路由器110可选地耦合在其间。
[0020]图2说明了为了向设备106的用户提供通知而在ー个用户设备106上执行的几个客户端应用和在几个数据服务器104上执行的服务器端应用之间的交互。如所说明的,客户端社交网络应用205A经通信链路215A (例如,经网络102的通信链路)与在服务器104上执行的服务器端社交网络应用210A接ロ,发送和接收社交网络消息。例如,设备106的用户可以把社交网络消息传送到社交网络的朋友、更新他们的社交网络状态和/或接收由社交网络朋友经客户端社交网络应用205A发送的社交网络消息。类似地,设备106可以经客户端体育应用205B和在服务器104B上执行的服务器端体育应用210B之间的链路215B接收体育更新,经客户端电子邮件应用205C和在服务器104C上执行的服务器端电子邮件应用210C之间的链路215C发送和接收电子邮件,并且经客户端天气应用20?和在服务器104D上执行的服务器端天气应用210D之间的链路21?接收天气更新。在一个实施例中,当在服务器端应用接收到新信息时,该信息可以从服务器端应用推送到在设备106上执行的客户端应用。在另ー个实施例中,信息可以由客户端应用以特定的频率从服务器端应用拉取。例如,客户端应用可以每30分钟从服务器端应用请求一次更新的信息。在一个实施例中,更新频率可以是客户端应用的可选择设置。在另ー个实施例中,信息的检索可以不考虑设备的状态而发生。例如,即使设备106处于不活动状态(S卩,没有被设备的用户积极使用),客户端应用也可以继续请求并接收更新的信息。
[0021]不是通过单独的接ロ(例如,客户端应用的接ロ)从在设备106上执行的每个客户端应用接收信息,而是用户可以选择通过客户端通知服务220合并通过这些客户端应用接收到的信息。客户端通知服务220可以在设备106上作为用户级应用或者作为操作系统服务执行。设备106的用户可以选择通过客户端通知服务220的公共接ロ接收被在设备106上执行的ー个或多个客户端应用作为通知检索的信息。在所说明的实施例中,设备106的用户把客户端社交网络应用205A、客户端体育应用205B、客户端电子邮件应用205C和客户端天气应用20?中的每ー个都链接到客户端通知服务220。在一个实施例中,由这些客户端应用中任何一个接收到的消息都将传递到客户端通知服务220。在另ー个实施例中,用户可以(通过客户端应用或者客户端通知服务的设置)定义应当作为通知通过通知服务220呈现的由客户端应用接收的消息的子集。例如,用户可能不想在毎次有ー个社交网络朋友更新其状态或者对别的社交网络消息发表评论时都看到通知但是想看到由社交网络朋友传送的全部原始社交网络消息。类似地,用户可能只想接收特定队的体育更新或者特定位置的天气更新的通知。因此,客户端通知服务220可以提供单个接ロ,设备106的用户可以通过该接ロ快速观看他们最感兴趣的信息。
[0022]基于适当的设置,在链接到客户端通知服务220的每个客户端应用接收的信息传送到通知服务220,如由箭头225A-22?所指示的。在一个实施例中,当客户端应用接收到信息时,该信息就提供给通知服务220。在另ー个实施例中,通知服务220可以按某个频率从每个链接的客户端应用请求更新的信息。例如,通知服务220可以每10分钟从每个链接的客户端应用请求新信息。在一个实施例中,更新频率可以是通知服务220的可选择设置。如以上所提到的,即使设备106处于不活动状态,信息也可以由客户端应用检索。类似地,即使当设备106处于不活动状态时,检索出的信息也可以传递到通知服务220。因此,当设备106不使用时,通知会在通知服务220中累积。
[0023]而且,如以下将更具体地描述的,用户可以在多个设备上安装一个或多个相同的客户端应用而且可以把所述客户端应用与多个设备上的通知服务220链接。因此,在多个设备上呈现的通知中可能存在重叠。例如,就象在膝上型电脑106上执行的客户端社交网络应用205A —祥,在移动电话106A上执行的客户端社交网络应用205A可以从服务器端社交网络应用210A检索相同的信息。为了管理每个用户设备上的通知服务220中存在的通知,客户端通知服务220可以链接到在同步服务器108上执行的服务器端通知服务230。
[0024]在一个实施例中,同步服务器108可以提供用户帐号,通过该账号,信息可以在多个设备之间共享。例如,同步服务器108可以提供数据储存器并且可以允许与ー个用户帐号关联的每个设备都从该储存器检索数据。在一个实施例中,服务器端通知服务230可以是通过用户帐号利用同步服务器108提供的ー个特征。在另ー个实施例中,同步服务器108上的用户帐号可以维护每个用户设备106的记录并且,更具体而言,可以维护执行客户端通知服务220的每个用户设备106的记录。毎次在客户端通知服务220接收到通知吋,该通知就可以通过经例如由通信链路235所说明的网络102传送通知而与服务器端通知服务230共享。因此,服务器端通知服务230可以维护针对每个用户设备存在的每个通知的记求。
[0025]參考图3,一个框图说明了由在同步服务器108上执行的服务器端通知服务230维护的、多个用户设备(106A-106D)的活动通知的记录。设备106A-106D包括重叠的客户端应用。继续图1和2的例子,客户端电子邮件应用205C和客户端天气应用20?安装在每个设备106A-106D上。客户端体育应用205B可以安装在移动电话106A、平板设备106B和膝上型计算机系统106C上,但不安装在台式计算机系统106D上。客户端社交网络应用205A可以安装在移动电话106A和平板设备106B上,但不安装在膝上型计算机系统106C或台式计算机系统106D上。设备106A-106D中的每ー个都执行客户端通知服务220,从所安装的客户端应用检索信息并且把该信息通过单个接ロ呈现给用户。[0026]在所说明的实施例中,用户把安装在每个设备上的每个客户端应用都链接到客户端通知服务220。因此,由所安装的客户端应用接收的信息可以作为通知305通过客户端通知服务220在设备106A-106D中的每ー个上呈现。
[0027]在所说明的实施例中,通知305可以按通知被接收的次序通过通知服务220显示。在一个实施例中,这个次序可以基于与从服务器端应用接收的原始信息关联的时间戳。在另ー个实施例中,这个次序可以基于由通知服务220接收通知的次序。在另ー个实施例中,通知可以基于生成通知的客户端应用排序。在这种实施例中,客户端应用排序的次序可以是用户可选择的。
[0028]在所说明的实施例中,在通知服务220中从客户端社交网络应用205A接收到两个社交网络通知(SN NOTl和SN N0T2),在通知服务220中从客户端体育应用205B接收到ー个体育通知(SPORT NOTI),在通知服务220中从客户端电子邮件应用205C接收到两个电子邮件通知(EMAIL NOTl和EMAIL N0T2)并且在通知服务220中从客户端天气应用20?接收到ー个天气通知(WX NOTD0
[0029]客户端通知服务220可以只接收对应于安装在该设备上的客户端应用的通知。例如,在移动电话106A上执行的客户端通知服务220可以显示以上提到的每个通知,因为客户端应用205A-205D中的每ー个都安装在移动电话106A上。相反,在台式计算机106D上执行的客户端通知服务220可以只显示电子邮件和天气通知,因为只有客户端电子邮件应用205C和客户端天气应用20?安装在台式计算机106D上。
[0030]尽管所说明的实施例指示由客户端通知服务220接收的通知直接绑定到设备上所安装的客户端应用,但是情况不一定是这样。例如,对于安装在第一设备和第二设备上的特定客户端应用,用户可能希望在第一设备上但不在第二设备上接收通知。因此,用户可以在第一设备上把客户端应用与客户端通知服务220链接,但在第二设备上不这么做。类似地,用户可以在两个设备上都把客户端应用与客户端通知服务220链接,但是可以使用不同的设置,使得第一设备可以通过客户端通知服务220显示作为通知的来自客户端应用的全部消息,而第二设备只显示那些通知的ー个子集。
[0031]设备106A-D中每ー个上的客户端通知服务220都可以把通知305经网络102,如由通信链路235A-D所说明的,传送到在同步服务器108上执行的服务器端通知服务230。在一个实施例中,通知的传送可以在由客户端通知服务220接收到新通知的时候发生。在另ー个实施例中,通知的传送可以根据某个频率发生。例如,客户端通知服务220可以每5分钟就向服务器端通知服务230发送任何新的通知信息。在一个实施例中,客户端通知服务220可以在向同步服务器108的任何传送中都包括账号凭证。这些凭证可以允许同步服务器108识别用户帐号和与该用户账号关联的设备。
[0032]在一个实施例中,实际的通知可以从客户端通知服务220发送到服务器端通知服务230。即,构成通知的实际数据可以从客户端通知服务220发送到服务器端通知服务230。在另ー个实施例中,通知的标识符可以从客户端通知服务220发送到服务器端通知服务230。例如,哈希算法可以应用到通知而且结果产生的哈希值可以发送到服务器端通知服务230。在这种实施例中,设备106A-D中的每ー个可以执行相同的哈希算法,使得服务器端通知服务230把结果产生的哈希值识别为构成来自每个设备的相同通知。
[0033]基于所接收到的通知(和/或通知标识符),服务器端通知服务230可以维护数据仓库310,以便跟踪在每个用户设备上存在的通知。在一个实施例中,数据仓库310可以维护在用户的任何一个注册设备上存在的任何活动通知的列表。对于每个活动通知,数据仓库310还可以指示该通知存在于用户的哪个设备上。如所说明的,冗余的通知可能在用户的每个设备上累积。而且,如以上所指出的,即使当设备处于不活动状态时,通知也会继续累积。因此,在白天使用移动电话106A通信而在晚上使用台式计算机106D通信的用户可能在白天在移动电话106A上看到几个通知但是当晚上他们换成台式计算机系统106D时可能不得不再看一遍完全相同的通知(在台式计算机106D不活动的时候累积的)。在ー个实施例中,用于用户每个设备的客户端通知服务220与服务器端通知服务230之间的链接可以避免通知的冗余显示。
[0034]參考图4,操作400说明了根据ー个实施例可以避免通知的冗余显示的过程。如上所述,可以在单个用户的多个设备接收通知(方框405)。在一个实施例中,这些通知可以包括通过公共接ロ呈现给用户的任何类型的信息。例如,来自各种源(例如,各种服务器端应用)的消息可以被编译成通过公共接ロ(例如,通知服务220的接ロ)呈现给用户的通知。除了以上列出的例子通知,通知还可以包括语音邮件消息、文本消息(例如,短消息服务或即时消息服务)、股票价格、视频消息,等等。如以上所指出的,即使当设备处于不活动状态时,通知也可以在用户设备被接收。因此,通知会在不活动设备上累积以当用户激活设备并且导航到可以通过其观看通知的接ロ时被显示。尽管,基于设备的特殊设置,在每个设备接收的通知可以不同,但是在设备接收到的通知中还是会存在某种重叠。因此,相同的通知可能存在于在所述设备中的两个或多个上。
[0035]可以确定设备中的ー个处于活动状态(方框410)。如在此所使用的,当用户积极地使用ー个设备时,该设备就处于活动状态。设备是否处于活动状态的确定可以由设备自己做出或者可以各种不同方式发生。在一个实施例中,设备可以采用凝视检测来确定设备的状态。在这种实施例中,作为设备一部分的图像捕捉部件(例如,数码相机)可以被激活,以确定是否可以检测到人脸。如果可以,就可以确定用户在看该设备的显示器而且因此设备处于活动状态。在另ー个实施例中,设备传感器(例如,接近/环境光传感器、加速计和/或陀螺仪)可以用于检测设备朝向的变化(例如,设备的定位)。基于某些朝向或朝向变化,可以确定设备处于活动状态。在还有另一个实施例中,可以基于数据经网络的发送和/或接收确定设备处于活动状态。尽管即使在设备处于不活动状态的时候数据也可以经设备的网络连接发送,但是某些数据发送和接收模式可以指示设备是活动的。例如,尽管在设备处于不活动状态的时候数据也可以在短时间内发送和检索,但是在更长时间周期上数据经网络或者从某个源/目的地的发送或接收可以指示活动设备。在还有另一个实施例中,可以基于用户与设备的交互来确定设备是活动的。例如,像按钮、键区、拨号盘、点击轮、键盘、显示屏和/或触摸屏、鼠标、触控板等设备接ロ的使用可以指示设备是活动的。
[0036]在确定特定设备是活动的之后,可以确定已经由该活动设备的用户在该活动设备上观看了ー个通知(方框415)。确定ー个通知已经被看过也可以多种方式发生。在ー个实施例中,如果用户对该通知作出响应,就可以以高置信度确定通知已经被看过。例如,如果通知是文本消息,那么,如果用户对该消息的发送者作出响应(例如,通过回复文本消息),就可以确定该通知已经被看过。
[0037]在另ー个实施例中,为了允许用户与通知交互,通知可以是可选择的。通知的选择可以使得生成该通知的客户端应用被启动,以便允许用户与该通知交互(例如,响应或者观看与其关联的视频文件)。在这种实施例中,通知的选择可以指示该通知已经被看过。
[0038]在还有另一个实施例中,可以基于通知在活动设备的显示元件上的存在确定该通知已经被看过。为了基于设备显示元件上通知的存在而确信地推断通知已经被读取,可能需要在显示元件上存在该通知达某个时间阈值。例如,在设备显示元件上存在通知达某个秒数可以指示通知已经被看过。在一个实施例中,该时间阈值可以基于通知的长度(例如,文本消息通知中文本的量)。
[0039]在还有另一个实施例中,基于设备显示元件上通知的存在确定通知已经被看过的准确度可以通过将这种方法与上述凝视检测和/或朝向监视过程相结合来提高。例如,如果已知通知在设备的显示元件上显示而且同时经凝视检测可以检测到人脸,那么就可以以増加的置信度确定在该活动设备上通知已经被看过。同样,如果已知通知在设备的显示元件上显示而且设备定位在某个朝向(例如,指示用户观看显示元件的朝向),那么就可以以増加的置信度确定在该活动设备上通知已经被看过。
[0040]在还有另一个实施例中,可以基于用户与设备的用户接ロ的交互并结合通知在该设备显示元件上的显示确定通知已经在活动设备上被看过。例如,滚动通过一系列通知的某种模式可以指示用户在观看通知。例如,如果有几个通知在设备上存在,而且用户滚动通过这些通知并且当ー个特定通知在设备的显示元件上居中时暂停,就可以确定该通知被看过了。以上所述用于确定通知在设备上被看过的机制是作为例子提供的而不是要以任何方式作为限制。本领域普通技术人员将知道可以确定通知在设备上被看过或者可以提高这种确定的置信度的附加机制。
[0041]在确定通知已经在设备上被看过之后,所述通知被看过的指示可以发送到同步服务器(方框420)。如上所述,同步服务器可以管理在用户的每个设备上存在的通知。在ー个实施例中,指示可以包括允许同步服务器识别与在其上观看了所述通知的设备关联的设备的信息。在一个实施例中,指示可以包括被确定为在活动设备上已被看过的通知。S卩,构成通知的实际数据可以从活动设备发送到同步服务器。在另ー个实施例中,通知的标识符可以从活动设备发送到同步服务器。如以上关于图3所描述的,标识符可以是对构成通知的数据执行的哈希算法的結果。应当指出,从活动设备发送的指示(方框420)与图3中所述从设备发送到同步服务器的指示不同。更具体而言,前者指示通知已经在活动设备上被看过,而后者指示通知在设备上存在(但不一定被看过)。
[0042]当接收到通知已经在用户的ー个设备上被看过的指示时,同步服务器确定该被看过的通知是否在其它设备上存在。在一个实施例中,在数据仓库310中识别对应于被看过的通知的通知。在另ー个实施例中,可以利用在420接收到的通知本身或者通知标识符在数据仓库310中识别该通知。一旦在数据仓库310中识别出该通知,就可以确定在用户向同步服务器注册的其它设备上是否存在相同的通知。如以上关于图3所述的,用户的每个设备可以向同步服务器报告它们的通知。因此,同步服务器可能知道其上存在被看过的通知的用户设备。如果确定被看过的通知在用户的任何ー个其它设备上都不存在(方框425的“否”分支),就可以简单地从在其上观看了该通知的设备除去该通知(方框430)。在ー个实施例中,除去通知可以指从其中显示通知的接ロ除去该通知。因此,被看过的通知可能没有完全从设备除去。在一个实施例中,当确定通知已经在该设备上被看过的时候,被看过的通知的除去可以本地执行(方框415)。在这种实施例中,如果确定被看过的通知在用户的任何ー个其它设备上都不存在(方框425的“否”分支),就不需要来自同步服务器的响应。在另ー个实施例中,通知可以不能从通知接ロ除去直到由在其上观看了通知的设备接收到这么做的指令。在这种实施例中,同步服务器可以向在其上观看了通知的设备发送响应,指示该通知应当从通知接ロ除去(方框430)。
[0043]如果确定被看过的通知在用户的ー个或多个其它设备上存在(方框425的“是”分支),则该通知已经被看过的指示可以从同步服务器发送到其上存在该通知的每个用户设备(方框435)。即,同步服务器可以把该指示推送到其上存在该通知的每个设备。就像从在其上看过该通知的设备发送的指示,从同步服务器发送的指示可以包括被看过的通知本身或者被看过的通知的标识符。当接收到通知已经被看过的指示时,每个接收设备都可以识别所述被看过的通知并且可以从显示这种通知的接ロ除去该通知(方框440)。数据仓库310还可以在同步服务器被更新,以便从活动通知的列表除去所述被看过的通知。因此,当确定通知已经在用户的多个设备中的一个上被看过之后,可以避免同一通知在用户其它一个或多个设备上的冗余显示。
[0044]尽管所说明的实施例描述了其上存在已经看过的通知的每个用户设备的识别(方框425),但严格来说这ー步不是必需的。在一种可供选择的实施例中,同步服务器可以简单地向用户的所有注册设备发送通知已经被看过的指示,而不是仅对其上存在该通知的设备发送。在这种实施例中,接收到这种指示的设备将确定被看过的通知是否在该设备上存在(例如,在显示通知的接口中存在)。如果存在,设备就除去该通知,因为它已经在别的设备上被看过了。如果不存在,该设备可以简单地丢弃来自同步服务器的指示。
[0045]图5A至5C说明了可以避免多个用户设备上通知的冗余显示的各种机制。首先參考图5A,设备106A-C中每ー个上的客户端应用205都从在数据服务器104上执行的对应服务器端应用210接收消息(505)。如上所述,用于设备106A-C中每ー个的客户端应用205可以配置成以某个频率从对应的服务器端应用210检索新信息。基于设备106A-C中每ー个上的预定义设置(例如,通知设置),由客户端应用205检索到的信息可以传递到客户端通知服务220,以在设备106A-C中每ー个上作为通知显示(510)。如以上进ー步描述的,通知可以从客户端通知服务220传送到在同步服务器108上执行的服务器端通知服务230(515)。因此,服务器端通知服务230可以维护指示通知在设备106A-C中每ー个上存在的记录。尽管操作505、510和515分组到一起,但是应当指出,这些操作可以特定于每个特定设备而且可以在不同时间发生。
[0046]在某个点,可以确定设备106B处于活动状态而且通知已经在设备106B上被看过。基于确定通知已经在设备106B上被看过,通知已经被看过的指示可以从在设备106B上执行的客户端通知服务220发送到在同步服务器108上执行的服务器端通知服务230(520)。响应通知已经在设备106B上被看过的指示,服务器端通知服务230可以确定该通知在设备106A-C中每ー个上存在并且可以把该通知已经被看过的指示发送到设备106A-C中每ー个上的客户端通知服务220 (525)。尽管所说明的实施例绘出了到其上存在该通知的每个设备的通信,但是在一种可供选择的实施例中,指示可以不发送到设备106B,因为设备106B已经知道看过该通知了。因此,通知可以从其上存在该通知的每个设备的客户端通知服务220的通知接ロ除去,以避免多个设备上通知的冗余显示。[0047]在图5B所说明的备选实施例中,以关于图5A所述的相同方式,由客户端应用205检索出的信息可以导致通知在设备106A-C中每ー个的生成。但是,在图5B所说明的实施例中,客户端通知服务220可以不向在同步服务器108上执行的服务器端通知服务230传送通知的存在。实际上,尽管同步服务器108是为了比较而说明的,但是它在图5B的实施例中可以不使用。
[0048]以与以上所述相同的方式,可以确定设备106B处于活动状态而且通知已经在设备106B上被看过。但是,不是把通知已经被看过的指示发送到同步服务器108,客户端通知服务220把该通知发送到负责通知生成的服务器端应用210 (530)(即,从其检索导致通知的信息的服务器端应用)。尽管客户端通知服务220被说明为把指示直接传送到服务器端应用210,但是实际上指示可以通过客户端应用205中继到服务器端应用210。在一个实施例中,指示可以包含对于服务器端应用识别用户帐号的信息(例如,凭证)。在这种实施例中,用户帐号可以用于维护与该账号关联的用户设备(例如,106A-C)的记录。在一个实施例中,所述指示可以包括通知或通知的标识符,以便允许服务器端应用210识别对应于被看过的通知的消息。
[0049]响应接收到指示,服务器端应用210可以向设备106A-C中每ー个上的每个客户端应用205发送通知已经被看过的指示(535)。在一个实施例中,通知已经被看过的指示可以推送到设备106A-C中的每ー个。在另ー个实施例中,当客户端应用205从服务器端应用检索信息时(例如,根据某个更新调度),该指示可以传送到设备106A-C中的每ー个。然后,指不可以从用于设备106A-C中姆一个的客户端应用205传递到用于设备106A-C中姆一个的客户端通知服务220(540),以便使客户端通知服务220除去该通知并且避免多个设备上通知的冗余显示。
[0050]在图5B的实施例中,服务器端应用210可以与服务器端通知服务230以相似的方式起作用,因为它可以维护与特定用户(或者特定用户帐号)关联的设备的记录。例如,客户端应用205的每个实例都可以对服务器端应用210注册,以传送与该应用关联的信息。因此,服务器端应用210可以具有与一个用户帐号关联的客户端应用(及对应设备)的列表。但是,应当指出,尽管服务器端通知服务230可以管理用于多个源的通知(例如,源自从多个服务器端应用检索的信息的通知),但是图5B中所说明实施例的服务器端应用210可以只管理基于它所提供的信息生成的那些通知。因此,服务器端通知服务230可以描述为全局通知管理器,而图5B的服务器端应用210可以描述为专用于应用的通知管理器。
[0051]在图5C中说明的还有另一个实施例中,以与图5A中所述相同的方式,可以接收信息(505)、生成通知(510)、传送通知的存在(515)并且传送该通知已经被看过的指示。但是,响应通知已经被看过的指示,服务器端通知服务230可以向使得该通知被生成的客户端应用205发送指示,而不是直接发送到客户端通知服务220(545)。然后,用于设备106A-C中每ー个的客户端应用205可以使该通知从通知服务220除去(550)。因此,不是把通知已经被看过的指示直接传送到客户端通知服务220,指示可以传送到使得该通知被生成的应用(即,客户端应用205),使得该应用可以使所述通知被除去。图5A-5C的实施例说明了实现避免多个设备上通知冗余显示的共同目标的不同机制。
[0052]參考图6,示出了根据ー个实施例的说明性电子设备600的简化功能性框图。电子设备600可以包括处理器605、显示器610、用户接ロ 615、图形硬件620、设备传感器625(例如,接近传感器/环境光传感器、加速计和/或陀螺仪)、麦克风630、音频编解码器635、扬声器640、通信电路系统645、数字图像捕捉单元650、视频编解码器655、存储器660、储存器665及通信总线670。例如,电子设备600可以是个人数字助理(PDA)、个人音乐播放器、移动电话、笔记本、膝上型或平板计算机系统、台式计算机系统或者服务器计算机系统。更特别地,设备106、数据服务器104和同步服务器108中的任何ー个都可以采取电子设备600的形式。
[0053]处理器605可以执行必需的指令来执行或控制由设备600执行的许多功能的操作。例如,处理器605可以驱动显示器610并且从用户接ロ 615接收用户输入。用户接ロ615可以采取各种形式,例如按钮、键区、拨号盘、点击轮、键盘、显示屏和/或触摸屏。例如,处理器605还可以是片上系统,例如在移动设备中找到的那些,而且包括专用图形处理单元(GPU)。处理器605可以基于精简指令集计算机(RISC)或者复杂指令集计算机(CISC)体系结构或者任何其它合适的体系结构而且可以包括一个或多个处理核心。图形硬件620可以是用于处理图形和/或帮助处理器605处理图形信息的专用计算硬件。在一个实施例中,图形硬件620可以包括可编程的图形处理单元(GPU)。
[0054]传感器和照相机电路系统650可以捕捉静止的和视频图像,这些图像可以至少部分地被视频编解码器655和/或处理器605和/或图形硬件620和/或电路系统650中结合的专用图像处理单元处理。这样捕捉到的图像可以存储在存储器660和/或储存器665中。存储器660可以包括由处理器605和图形硬件620用来执行设备功能的ー种或多种不同类型的介质。例如,存储器660可以包括存储器高速缓存、只读存储器(ROM)和/或随机存取存储器(RAM)。储存器665可以存储媒体(例如,音频、图像和视频文件)、计算机程序指令或软件、偏好信息、设备简介信息和任何其它合适的数据。储存器665可以包括一个或多个非临时性存储介质,包括例如磁盘(固定的、软盘,及可移动的)和磁带,例如CD-ROM和数字视频盘(DVD)的光学介质,及例如电可编程只读存储器(EPROM)和电可擦除可编程只读存储器(EEPROM)的半导体存储器设备。存储器660和储存器665可以用于有形地保留组织到ー个或多个模块中并且用任何期望计算机编程语言书写的计算机程序指令或代码。当被例如处理器605执行时,这种计算机程序代码可以实现在此所述的ー个或多个方法。
[0055]应当理解,以上所述是说明性的,而不是约束性的。给出这些资料是为了使本领域任何技术人员都能够获得并使用在此所述的发明性概念,而且所述资料是在特定实施例的背景下提供的,对其的各种变化对本领域技术人员来说是很显而易见的(例如,有些所公开的实施例可以彼此组合使用)。通过回顾以上所述,许多其它实施例将对本领域技术人员显而易见。因此,本发明的范围应当參考所附权利要求以及这种权利要求的等价物所涵盖的完全范围来确定。在所附权利要求中,在简明英文中,术语“包括(including)”和“其中(inwhich)”用作“包括(comprising)”和“其中(wherein)”的等同用语。
【权利要求】
1.一种用于管理在用户的多个设备上呈现的通知的装置: 用于在服务器计算机系统接收通知已经在用户的第一设备上被看过的第一指示的部件; 用于由服务器计算机系统识别该用户的一个或多个附加设备的部件;及 用于由服务器计算机系统把所述通知已经被看过的第二指示发送到该用户的ー个或多个附加设备中的至少ー个的部件。
2.如权利要求1所述的装置,其中用于接收通知已经在第一设备上被看过的第一指示的部件包括用于接收所述通知的标识符的部件。
3.如权利要求2所述的装置,其中所述通知的标识符包括应用到该通知的哈希算法的结果。
4.如权利要求2所述的装置,还包括用于利用所述通知的标识符来识别服务器计算机系统的数据仓库中的该通知的部件。
5.如权利要求1所述的装置,其中用于接收通知已经在第一设备上被看过的第一指示的部件包括用于接收与用户帐号关联的凭证的部件。
6.如权利要求5所述的装置,其中用于识别用户的ー个或多个附加设备的部件包括用于识别与所述账号关联的一个或多个附加设备的部件。
7.如权利要求1所述的装置,还包括用于确定所述通知是否存在于用户的所述ー个或多个附加设备中的任何一个上的部件。
8.如权利要求7所述的装置,`其中用于把所述通知已经被看过的第二指示发送到用户的一个或多个附加设备中的至少ー个的部件包括用于只把该第二指令发送到用户的ー个或多个附加设备中其上存在所述通知的那些设备的部件。
9.一种用于管理在用户的多个设备上呈现的通知的方法,包括: 由多个关联设备中的第一设备的处理器接收通知; 由第一设备的处理器确定该第一设备处于活动状态; 由第一设备的处理器确定通知已经在该第一设备上被第一设备的用户看过;及 由第一设备的处理器发送所述通知已经在该第一设备上被看过而且应当从多个关联设备中其上存在所述通知的任何设备被除去的指示。
10.如权利要求9所述的方法,其中确定第一设备处于活动状态的动作包括由第一设备的图像捕捉部件检测人脸。
11.如权利要求9所述的方法,其中确定第一设备处于活动状态的动作包括由第一设备的ー个或多个传感器识别第一设备的朝向。
12.如权利要求11所述的方法,其中确定第一设备处于活动状态的动作包括由所述ー个或多个传感器检测第一设备朝向的变化。
13.如权利要求9所述的方法,其中确定所述通知已经在第一设备上被看过的动作包括由第一设备的处理器确定该通知已经在第一设备的显示元件上显示。
14.如权利要求13所述的方法,其中确定所述通知已经在第一设备的显示元件上显示的动作包括由第一设备的处理器确定该通知已经在第一设备的显示元件上显示了比某个时间阈值长的时间。
15.如权利要求13所述的方法,其中确定所述通知已经在第一设备上被看过的动作还包括由第一设备的一个或多个传感器识别第一设备的朝向。
16.一种用于管理在用户的多个设备上呈现的通知的装置: 用于在多个关联设备中的第一设备接收来自多个源的多个消息的部件; 用于由第一设备基于所述多个消息生成多个通知的部件,所述多个通知通过第一设备的公共接ロ显示; 用于由第一设备确定该第一设备处于活动状态的部件; 用于由第一设备确定所述多个通知中的ー个通知已经在第一设备的显示元件上被看过的部件 '及 用于由第一设备把所述通知已经在第一设备上被看过的指示发送到同步服务器计算机系统的部件。
17.如权利要求16所述的装置,其中用于生成多个通知的部件包括用于确定所述多个消息中的ー个或多个是否满足作为通知呈现的预定义条件的部件。
18.如权利要求16所述的装置,其中用于生成通过公共接ロ呈现的多个通知的部件包括用于生成通过第一设备的客户端通知服务的接ロ呈现的通知的部件。
19.如权利要求18所述的装置,其中通知服务包括第一设备的操作系统的服务。
20.如权利要求18所述的装置,其中用于发送所述通知已经在第一设备上被看过的指示的部件包括用于使客户端通知服务把该指示发送到在同步服务器计算机系统上执行的服务器端通知服务的部件。`
【文档编号】G06F17/30GK103559022SQ201310207928
【公开日】2014年2月5日 申请日期:2013年5月30日 优先权日:2012年5月31日
【发明者】I·乔德里, S·勒梅, C·克兰非尔, R·黄 申请人:苹果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1