通知引擎的制作方法

文档序号:10579071阅读:194来源:国知局
通知引擎的制作方法
【专利摘要】用于向用户提供推荐的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法中的一种方法包括:接收指示用户对与第一实体相关的通知选项的选择的数据;将所述第一实体添加到所述用户的兴趣列表;至少基于将所述第一实体添加到所述用户的所述兴趣列表来确定提供与实体相关的通知;以及基于确定提供与所述实体相关的所述通知来提供所述通知。
【专利说明】通知引擎
[0001]相关申请的交叉引用
[0002]本申请要求2013年12月27日提交的序列号为61/921,227的美国临时申请和2014年2月10日提交的序列号为14/176,283的美国申请的权益,这些申请通过引用并入本文。
【背景技术】
[0003]提醒软件能够从用户接收指定特定事件的输入并且当该特定事件发生时向该用户提供提醒。例如,用户可以在日历中输入事件并且在该日历中查看事件。事件的一些示例包括生日、纪念日、节日、和会议。

【发明内容】

[0004]—般地,在本说明书中描述的主题的一个创新方面能够被包含在方法中,所述方法包括以下动作:接收指示用户对与第一实体相关的通知选项的选择的数据;将所述第一实体添加到所述用户的兴趣列表;至少基于将所述第一实体添加到所述用户的所述兴趣列表来确定提供与实体相关的通知;以及基于确定提供与所述实体相关的所述通知来提供所述通知。该方面的其他实施例包括对应的计算机系统、装置、和记录在一个或多个计算机存储设备上的计算机程序,每个被配置为执行所述方法的所述动作。一个或多个计算机的系统能够被配置为依靠具有安装在所述系统上的在操作中使得所述系统执行所述动作的软件、固件、硬件、或者它们的组合来执行特定操作或动作。一个或多个计算机程序能够被配置为依靠包括有指令来执行特定操作或动作,所述指令在由数据处理装置执行时使得所述装置执行所述动作。
[0005]前述和其他实施例均能够可选地单独或组合地包括以下特征中的一个或多个特征。提供所述通知可以包括将所述通知提供到由所述用户操作的用户设备。所述用户设备可以包括移动设备。确定提供与所述实体相关的所述通知可以包括确定所述实体是否是开放的。提供所述通知可以基于确定所述实体是开放的。确定所述实体是否是开放的可以包括确定特定活动当前在所述实体处可用。提供所述通知可以包括基于确定所述特定活动当前在所述实体处可用来提供对于所述实体处的所述特定活动的所述通知。所述实体可以具有物理位置。所述方法可以包括确定所述用户设备是否在离所述实体的所述物理位置的预定距离内,其中,提供所述通知基于确定所述用户设备在离所述实体的所述物理位置的所述预定距离内。
[0006]在一些实施方式中,所述第一实体和所述实体是相同的实体。所述实体可以与所述第一实体不同。所述方法可以包括使用被指派给所述第一实体和所述实体两者的主题来识别所述实体。提供所述通知可以包括提供关于所述实体的所述通知和识别所述第一实体的信息。
[0007]本说明书中描述的主题能够在特定实施例中实现,以便实现以下优点中的一个或多个优点。在一些实施方式中,系统可以仅当实体或活动可用,例如当前开放和/或正在举办时向用户提供关于所述实体或所述活动的通知。在一些实施方式中,系统可以向用户提供关于他们已经表示对其感兴趣的实体的通知。在一些实施方式中,系统可以使用所请求的实体通知来确定实体通知。
[0008]在附图和以下描述中阐述了本说明书的主题的一个或多个实施例的细节。本主题的其他特征、方面、和优点将从所述描述、附图和权利要求书变得显而易见。
【附图说明】
[0009]图1A至图1B示出了向用户设备提供对于实体的通知的环境的示例。
[0010]图2A至图2B示出了具有通知选项和提醒设置选项的网页的示例。
[0011]图3示出了包括向由用户操作的用户设备提供通知的通知服务器的环境的示例。
[0012]图4是用于提供通知的过程的流程图。
[0013]图5是能够结合本文中描述的计算机实现的方法来使用的计算系统的框图。
[0014]在各附图中相似的参考数字和标记指示相似的元件。
【具体实施方式】
[0015]用户可以搜索实体,诸如餐厅、博物馆或表演,并且请求关于该实体的通知。通知服务器接收指示该请求的数据并且例如基于由该用户操作的用户设备来确定该用户的位置,并且当该用户设备处于接近该实体的物理位置的物理位置并且该实体在开放的时候向该用户提供通知。
[0016]该通知服务器还可以使用关于该实体的数据识别另一个实体,并且例如当该用户设备处于接近该另一个实体的物理位置的物理位置并且该另一个实体在开放的时候提供对于该另一个实体的通知。关于该另一个实体的该通知可以包括关于第一实体的信息。例如,该通知可以包括“您请求了关于普契尼与皮内蒂(Puccini&Pinetti)的通知。根据这一请求,您可能对附近的玛丽亚的意大利厨房(Maria’s Italian Kitchen)感兴趣。”
[0017]对于该实体或该另一个实体的通知可以特定于在该特定实体处可用的特定事件。例如,通知服务器可以接收请求对于在博物馆的特定艺术展览或艺术表演的通知的数据并且当该特定艺术展览位于该博物馆时或者当该特定艺术表演可用时可以向由该用户操作的用户设备提供该通知。例如,通知服务器可以确定用户对于一个艺术表演请求了通知的该艺术表演不再在该用户的家乡费城(PhiIadelphia)开放而是在纽约(New York)开放,该通知服务器可以确定该用户已前往纽约,并且向该用户提供关于该艺术表演的通知。
[0018]图1A至图1B示出了向用户设备102提供对于实体的通知的环境100的示例。例如,如在下面所更详细描述的,通知服务器接收识别例如普契尼与皮内蒂106的第一实体和希望接收关于该第一实体的通知的用户的数据。该通知服务器确定由该用户操作的用户设备102在离实体的预定距离内并且向用户设备102提供与该实体相关的通知。
[0019]例如,如图1A中的环境10a中所示,通知服务器可以基于该用户对接收关于意大利餐厅普契尼与皮内蒂106的通知的请求来确定该用户可能对玛丽亚的意大利厨房110感兴趣,该通知服务器可以确定用户设备102在离玛丽亚的意大利厨房110的第一预定距离112内,并且可以例如基于当前时间5:00pm和玛隨亚的意大利厨房周日至周六1am至1pm的营业时间来确定玛丽亚的意大利厨房110是开放的。该通知服务器向用户设备102提供关于玛利亚的意大利厨房110的通知,并且用户设备102在显示器上呈现通知104a,例如“您表示对普契尼与皮内蒂感兴趣。您想查看玛利亚的意大利厨房吗?”,或者例如基于对于通知的用户设置来向该用户提供可听通知。
[0020]通知服务器可以响应于从用户设备102接收到的请求来向用户设备102提供通知。例如,通知服务器可以接收对于在物理上位于用户设备102附近的餐厅的请求,识别普契尼与皮内蒂106和玛丽亚的意大利厨房110—一有可能还有其他餐厅,并且向用户设备102提供识别普契尼与皮内蒂106和玛丽亚的意大利厨房110的数据,包括通知104a的数据。
[0021]在一些示例中,当请求未指定与该请求相关联的特定主题时,例如当操作用户设备102的用户有空闲时间并且不确定该用户可能对区域中的什么活动感兴趣时,通知服务器可以接收对于在物理上位于用户设备102附近的实体的请求。通知服务器例如基于预定阈值距离和用户已经表示对其感兴趣的实体来确定用户可能感兴趣并且在物理上位于用户设备102附近的实体,并且向用户设备提供识别所确定的实体中的一个或多个实体的通知。例如,通知服务器可以识别玛丽亚的意大利厨房110、“沃克艺术中心(Walker ArtCenter)”和咖啡厅,并且向用户提供关于所识别的实体的一个或多个通知,例如对于每个实体提供一个通知。
[0022]通知可以被排名以使得具有最高排名的通知首先被呈现,具有第二高排名的通知被第二个呈现,以此类推。当用户设备102接收到指示用户对在最高排名的通知中识别的实体感兴趣并且不想查看额外通知的输入时,用户设备102不呈现其他通知。当用户设备102接收到指示用户想要查看额外通知的输入时,用户设备102呈现该额外通知,直到所有通知都已经被呈现或直到从该用户接收到不应呈现进一步的通知的输入。
[0023]通知服务器可以识别用户可能感兴趣的实体处的特定活动。例如,通知服务器可以确定吉姆.霍奇斯(Jim Hodges)的展览在沃克艺术中心可用并且向用户设备102提供识别该展览的通知:“您前几年去过吉姆.霍奇斯的展览。您想查看在沃克艺术中心的他的当前展览吗?”
[0024]当用户预订通知,例如并且没有明确请求通知时,通知服务器可以确定用户设备102的位置并且基于用户设备102的物理位置来向用户设备102提供通知。通知服务器可以确定用户设备102的移动速度并且基于该移动速度来提供通知。例如,当用户设备102正在以缓慢的速度移动,例如以指示用户可能正在行走或跑步的速度移动时,通知服务器可以向用户设备102提供通知,并且当用户设备102正在快速移动,例如当用户设备102可能位于汽车114a或飞机上或者操作用户设备102的用户可能正在骑车时,不向用户设备102提供通知。
[0025]当通知服务器确定玛利亚的意大利厨房110关闭时,例如当如图1B的环境10b中所示的12:00AM时,通知服务器不向用户设备102提供关于玛丽亚的意大利厨房110的通知。例如,通知服务器可以接收来自用户设备102的对于在开放的餐厅的请求,确定玛丽亚的意大利厨房110关闭以及普契尼与皮内蒂106开放,确定用户设备102在离普契尼与皮内蒂106的第二预定距离108内,并且向用户设备102提供关于普契尼与皮内蒂106的通知。然后,用户设备102向操作用户设备102的用户呈现通知104b,例如“您请求了对于普契尼与皮内蒂的通知”。用户设备102可以在显示器上呈现通知104b或可听地呈现通知104b。
[0026]通知104a至104b可以包括关于在通知中识别的实体的额外信息。例如,通知104a可以包括到实体的网站的链接、实体什么时候开放、实体的地址、以及将会向用户示出如何到达实体的地图应用的链接。
[0027]图2A至图2B示出了具有通知选项202和提醒设置选项的网页200的示例。例如,图2A中所示的网页200a可以在用户设备上被呈现并且包括查询输入栏204,所述查询输入栏204接收识别由该用户设备的用户输入的查询的输入。例如,该用户设备可以接收来自该用户的查询“普契尼与皮内蒂”。
[0028]响应于从该用户接收到该查询,该用户设备从服务器请求响应于该查询的查询结果,从该服务器接收表示该查询结果的数据,并且使用从该服务器接收的该数据在网页200a中呈现一个或多个查询结果206。
[0029]如图2A中所示,用户设备在网页200a中呈现菜单选项,包括“路线”选项、“写评论选项”、和“想去”通知选项202。如图2B中所示,当该用户设备接收到对通知选项202的用户选择时,该用户设备在网页200b中呈现“提醒设置”选项208,从而向用户提供该用户请求了关于餐厅普契尼与皮内蒂的通知的视觉指示。
[0030]在选择了通知选项202后,该用户设备向推荐服务器提供关于该查询和操作该用户设备的用户的数据并且该推荐服务器将该查询添加到对于该用户的通知列表。通知服务器可以稍后向由相同用户操作的用户设备提供与该查询相关的通知。
[0031]如果该用户设备或由相同用户操作并且例如通过用户名和密码与该用户相关联的另一用户设备在稍后的时间接收到对于“普契尼与皮内蒂”的查询,则该用户设备可以呈现提醒设置选项208与响应于该查询的查询结果,例如,并且将不呈现通知选项202。
[0032]图3示出了包括向由用户操作的用户设备提供通知的通知服务器302的环境300的示例。例如,查询服务器304从由用户A操作的用户A设备306a接收查询并且用户A设备306a向通知服务器302提供指示用户A对通知选项的选择的数据。通知服务器302将数据存储在对于用户A的通知列表308中,所述通知列表308指示用户A对与该查询相对应的实体感兴趣。
[0033]通知服务器302包括表示实体位置和营业时间310的数据。例如,实体位置310由经度坐标和玮度坐标或地址来表示。营业时间310可以包括开放时间和关闭时间这两者。开放时间和关闭时间可以是一周中的特定日所特有的,例如,在营业时间310对与一周中的每一天包括不同时间的情况下。营业时间310可以包括指示对应的实体关闭以及否则该实体开放的特定日子的假期。
[0034]包括在通知服务器302中的实体推荐引擎312可以分析对与例如用户A和用户B的每个用户的通知列表308,并且使用相应用户已经对其表示感兴趣的实体来确定实体推荐。例如,实体推荐引擎312可以使用对于普契尼与皮内蒂的通知请求来确定用户A可能喜欢玛丽亚的意大利厨房。实体推荐引擎312可以例如通过将玛利亚的意大利厨房添加到对于用户A的通知列表308使用所确定的推荐来更新对于用户A的通知列表308。
[0035]位置分析引擎314从由用户A操作的例如移动电话316的用户设备接收物理位置数据,并且将所接收的物理位置数据与对于用户A的通知列表308上的实体的位置数据进行比较。如果位置分析引擎314确定用户设备在离实体中的一个实体的预定距离内并且该实体是开放的,或者用户可能感兴趣的实体中的一个实体处的特定活动可用,则位置分析引擎314或通知服务器302向用户设备提供关于所确定的实体或活动的通知。该通知可以指示用户A请求了针对该实体的通知,可以指示:该实体是开放的、该实体的具体位置,和/或可以指示基于用户对其请求了通知的其他实体,用户A可能对该实体感兴趣。
[0036]查询服务器304可以从膝上型计算机318接收查询并且通知服务器302可以将通知提供到移动电话316。例如,用户A可以具有例如通过用户名和密码识别的通知服务器302的帐户,并且在移动电话316和膝上型计算机318两者上使用相同的帐户。通知服务器302可以例如基于移动电话316的移动来确定用户A正携带着移动电话316,并且基于所述确定来向移动电话316提供通知。通知服务器302可以将通知提供到用户A的帐户,例如使得用户A可以在用户A设备306a中的任何用户A设备上查看该通知,或者只向移动电话316提供该通知,例如作为文本消息来提供。
[0037]例如当查询服务器304或通知服务器302接收到对于特定类型的实体或活动的请求时,通知服务器302可以基于一天中的时间、当前由对应的用户操作的设备的位置、和/或用户感兴趣的特定类型的活动,向用户A设备306a或用户B设备306b提供最合适的推荐。
[0038]例如,移动电话B320可以接收来自用户B的请求餐厅推荐的查询。查询服务器304从移动电话B 320接收表示该查询的数据,从通知服务器302请求实体的列表,确定响应于该查询的查询结果,并且向移动电话B 320提供包括实体的列表和查询结果的响应。该响应可以包括高亮显示实体的列表上的实体中的一个或多个实体,并且指示,用户B请求了关于特定实体的通知,或者基于对另一个实体的通知,请求用户B可能对特定实体感兴趣。
[0039]在一些示例中,当通知服务器302使用一天中的时间来向用户设备提供推荐时,该推荐基于特定类型的实体或活动。例如,当用户在餐厅和酒吧附近时,这两者都是一天二十四小时开放的,在接收到餐厅请求时,通知服务器302可以在早上或下午早些时候提供对于该餐厅的推荐并且可以在下午晚些时候和晚上期间提供对于该酒吧的不同的推荐。例如,当通知服务器302在周末上午接收到来自移动电话316的推荐请求时,通知服务器302向移动电话316提供对于例如具有高评价的早午餐菜单的餐厅的推荐。
[0040]用户设备306a至306b可以包括个人计算机、移动通信设备、和可以通过网络322发送和接收数据的其他设备。诸如局域网(LAN)、广域网(WAN)、互联网、或它们的组合的网络322连接用户设备306a至306b、查询服务器304、以及通知服务器302。
[0041]在一些实施方式中,除了从用户接收到的通知请求以外,通知服务器302或实体推荐引擎312还可以使用其他类型的数据来对于通知列表308识别特定实体。例如,用户A可以向通知服务器302提供表示活动的类型的数据,例如参加体育赛事或远足,或者提供表示实体的类型的数据,例如法国餐厅或历史博物馆,并且通知服务器302在识别用户A可能感兴趣的实体时可以使用此数据。
[0042]图4是用于提供通知的过程400的流程图。例如,过程400能够由来自环境300的通知服务器302使用。
[0043]通知服务器接收指示用户对与第一实体相关的通知选项的选择的数据(402)。
[0044]通知服务器将该第一实体添加到该用户的兴趣列表(404)。该兴趣列表可以包括该用户对其已经请求通知的实体。在一些实施方式中,该兴趣列表可以包括该用户感兴趣的主题的列表,所述主题例如意大利和法国餐厅、足球和滑水。
[0045]通知服务器使用被指派给该第一实体与实体这两者的主题来识别该实体(406)。该实体可以与该第一实体相同或者可以不同。在一些实例中,当主题是“意大利餐厅”时,该第一实体可以是普契尼与皮内蒂并且该实体可以是玛丽亚的意大利厨房。通知服务器可以使用来自该用户的兴趣列表的多个实体来识别该实体,例如,其中该多个实体中的每个实体与该所识别的实体具有至少一个共同主题并且这些共同主题可以是相同的或不同的主题。
[0046]通知服务器确定该实体是否开放(408)。通知服务器可以确定例如表演或展览的特定活动当前是否在该实体处可用。
[0047]通知服务器确定由该用户操作的用户设备是否在离该实体的物理位置的预定距离内(410)。例如,通知服务器可以接收表示该用户设备的经度和玮度的数据并且使用接收的数据来确定该用户设备的物理位置,例如玮度和经度。
[0048]通知服务器确定提供与该实体相关的通知(412)。该确定可以基于:将该第一实体添加到该用户的兴趣列表、确定该实体是开放的、确定该特定活动是可用的、和/或确定该用户设备在离该实体的物理位置的预定距离内。
[0049]通知服务器基于确定提供该通知来提供该通知(414)。通知服务器可以将该通知提供到该用户设备和/或该用户的帐户。
[0050]该通知可以包括识别为什么通知服务器正在向该用户提供该通知的数据。例如,该通知可以包括“您请求了对于普契尼与皮内蒂的通知。普契尼与皮内蒂相距两个街区并且开放至凌晨2点。”在另一个示例中,该通知可以包括“您请求了对于普契尼与皮内蒂和约翰的披萨(John’s Pizzeria)的通知。您想看看玛丽亚的意大利厨房(开放至晚上10点并且相距一个街区)吗?”
[0051]在上面描述的过程400中的步骤的顺序仅仅是说明性的,并且可以以不同的顺序来执行提供所述通知。例如,通知服务器可以在确定该实体是否是开放的和/或该特定活动当前是否在该实体处可用之前确定该用户设备是否在该实体的物理位置的预定距离内。
[0052]在一些实施方式中,过程400可以包括额外的步骤、更少的步骤,或者步骤中的一些步骤能够被划分为多个步骤。例如,通知服务器可以执行步骤402、406、412和414而无需执行步骤404、408和410。在一些实例下,通知服务器基于确定该实体是开放的或者该特定活动在该实体处可用来确定提供该通知,而无需确定该用户设备在离该实体的物理位置的预定距离内。
[0053]在本说明书中描述的主题和功能操作的实施例,包括在本说明书中公开的结构及其结构等同物,能够在数字电子电路中、有形体现的计算机软件或固件中、计算机硬件中、或者它们中一个或多个的组合中实现。在本说明书中描述的主题的实施例可以被实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以用于由数据处理装置执行或者控制数据处理装置的操作的计算机程序指令的一个或多个模块。替选地或另外地,程序指令能够被编码在人工生成的传播信号上,例如编码在机器生成的电、光或电磁信号上,所述传播信号被生成以编码信息,所述信息用于传输到合适的接收器装置以供数据处理装置执行。计算机存储介质能够是机器可读存储设备、机器可读存储基质、随机或串行存取存储器设备、或它们中的一个或多个的组合。
[0054]术语“数据处理装置”指代数据处理硬件并且涵盖用于处理数据的各种装置、设备、和机器,包括例如可编程处理器、计算机、或者多个处理器或计算机。该装置还能够是或进一步包括专用逻辑电路,例如FPGA(现场可编程门阵列)或ASICX专用集成电路)。除了硬件以外,该装置还能够可选地包括为计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或者它们中的一个或多个的组合的代码。
[0055]计算机程序也可以被称作或被描述为程序、软件、软件应用、模块、软件模块、脚本、或代码,能够以任何形式的编程语言来编写计算机程序,所述编程语言包括编译或解释语言、或者说明性或过程语言,并且能够以任何形式来部署所述计算机程序,包括作为独立的程序或者作为模块、组件、子程序、或者适于在计算环境中使用的其他单元。计算机程序可以但不必对应于文件系统中的文件。程序能够被存储在保持其他程序或数据--例如存储在标记语言文档中的一个或多个脚本的文件的一部分中、专用于所讨论的程序的单个文件中、或者多个协同文件--例如存储一个或多个模块、子程序、或代码的一部分的文件中。计算机程序能够被部署为在一个计算机上或者在位于一个地点或者跨多个地点分布并通过通信网络互连的多个计算机上执行。
[0056]在本说明书中描述的过程和逻辑流能够由一个或多个可编程计算机执行,所述可编程计算机执行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行功能。所述过程和逻辑流还能够通过例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路来执行,并且装置也能够被实现为例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路。
[0057]适于执行计算机程序的计算机包括:例如通用微处理器或专用微处理器或这两者,或者任何其他种类的中央处理单元。通常,中央处理单元将接收来自只读存储器或随机存取存储器或者这两者的指令和数据。计算机的基本元件是:用于实施或执行指令的中央处理单元,以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘、或光盘,或者计算机被可操作地耦合以接收来自所述一个或多个大容量存储设备的数据或向其传送数据,或者以上两者。然而,计算机不必具有这样的设备。此外,计算机能够被嵌入另一个设备,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收机、或者例如通用串行总线(USB)快闪驱动器的便携式存储设备,仅举几例。
[0058]适于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,包括例如:半导体存储器设备,例如EPR0M、EEPR0M、和快闪存储器设备;磁盘,例如内部硬盘或可移动盘;磁光盘;以及⑶-ROM和DVD-ROM盘。处理器和存储器能够由专用逻辑电路补充或并入专用逻辑电路中。
[0059]为了提供与用户的交互,在本说明书中描述的主题的实施例能够在计算机上实现,所述计算机具有:用于向用户显示信息的显示设备,例如CRT(阴极射线管)或LCD(液晶显示器)监视器;以及用户利用它们能够提供向计算机的输入的键盘和定点设备,例如鼠标或轨迹球。其他种类的设备也能够被用于提供与用户的交互;例如,提供给用户的反馈能够是任何形式的感官反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且能够以任何形式接收来自用户的输入,包括声音、语音或触觉输入。此外,计算机能够通过向用户所使用的设备发送文件和从其接收文件来与该用户交互;例如,通过响应于从web浏览器接收到的请求而向用户的设备上的web浏览器发送网页。
[0060]在本说明书中描述的主题的实施例能够在计算系统中实现,所述计算机系统包括后端组件,例如作为数据服务器的后端组件,或者包括中间件组件,例如应用服务器,或者包括前端组件,例如具有通过其用户能够与本说明书中所描述的主题的实施方式进行交互的图形用户界面或Web浏览器的客户端计算机,或者一个或多个这样的后端、中间件、或前端组件的任何组合。系统的组件能够通过任何形式或介质的数字数据通信互连,所述数字数据通信例如通信网络。通信网络的示例包括:局域网(LAN)和例如因特网的广域网(WAN)。
[0061]计算系统能够包括客户端和服务器。客户端和服务器通常彼此远离并且通常通过通信网络交互。客户端和服务器的关系依靠在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序产生。在一些实施例中,例如出于向与用户设备交互的用户显示数据和从其接收用户输入的目的,服务器向用户设备传送例如HTML页面的数据,该用户设备充当客户端。能够在服务器处从用户设备接收在用户设备处生成的数据,例如用户交互的结果。
[0062]一个这种类型的计算机的示例在图5中示出,图5示出了通用计算机系统500的示意图。根据一个实施方式,系统500能够用于结合先前所述的任何计算机实现的方法所描述的操作。系统500包括处理器510、存储器520、存储设备530、以及输入/输出设备540。组件510、520、530、和540中的每个组件使用系统总线550来互连。处理器510能够处理用于在系统500内执行的指令。在一个实施方式中,处理器510是单线程处理器。在另一实施方式中,处理器510是多线程处理器。处理器510能够处理存储在存储器520中或存储在存储设备530上的指令以在输入/输出设备540上显示用于用户界面的图形信息。
[0063]存储器520存储系统500内的信息。在一个实施方式中,存储器520是计算机可读介质。在一个实施方式中,存储器520是易失性存储器单元。在另一实施方式中,存储器520是非易失性存储器单元。
[0064]存储设备530能够提供用于系统500的大容量存储。在一个实施方式中,存储设备530是计算机可读介质。在各种不同的实施方式中,存储设备530可以是软盘设备、硬盘设备、光盘设备、或磁带设备。
[0065]输入/输出设备540提供用于系统500的输入/输出操作。在一个实施方式中,输入/输出设备540包括键盘和/或定点设备。在另一实施方式中,输入/输出设备540包括用于显示图形用户界面的显示单元。
[0066]虽然本说明书包含许多具体的实施方式细节,但这些不应当被解释为对任何发明的范围或者所要求保护的内容的范围进行限制,而是作为可以是特定发明的特定实施例所特有的特征的描述。在本说明书中在分开的实施例的背景下描述的某些特征也能够以组合的方式在单个实施例中实现。相反地,在单个实施例的背景下描述的各个特征也可以单独或以任何合适的子组合来在多个实施例中实现。此外,虽然特征可能在上面被描述为以某些组合来进行并且甚至最初主张如此,但是来自要求保护的组合的一个或多个特征在一些情况下能够从该组合删去,并且该要求保护的组合可以针对子组合或子组合的变体。
[0067]类似地,虽然在附图中以特定的顺序描绘了操作,但这不应当被理解为,为了达到期望的结果,要求以所示的特定顺序或以连续顺序执行这些操作,或者执行所有示出的操作。在某些情况下,多任务和并行处理可能是有利的。此外,在上述实施例中的各种系统模块和组件的分离不应当被理解为在所有实施例中要求这样的分离,并且应当理解的是,所描述的程序组件和系统通常可以一起集成在单个软件产品中或封装到多个软件产品中。
[0068]在这里讨论的系统收集关于用户的个人信息、或者可能利用个人信息的情况下,可以向用户提供机会来控制程序或特征是否收集用户信息(例如用户的偏好或用户的当前位置)或者控制是否和/或如何从通知服务器接收可能与用户更相关的内容。另外,某些数据在被存储或使用之前,可以以一种或多种方式被处理,使得个人可识别信息被去除。例如,可以对用户的身份进行处理,以使得不能对于用户来确定个人可识别信息,或者可以在获得位置信息的情况下将用户的地理位置一般化(如一般化为城市、邮政编码、或国家层级),使得不能确定用户的特定位置。因此,用户可以控制关于用户信息如何被收集和由通知服务器的查询服务器使用。
[0069]已经对本主题的特定实施例进行了描述。其他实施例在所附权利要求的范围之内。例如,权利要求书中记载的动作可以以不同的顺序来执行并且仍然实现期望的结果。作为一个示例,附图中描绘的过程不必要求所示的特定顺序或连续顺序才能实现期望的结果。在一些情况下,多任务和并行处理可以是有利的。
【主权项】
1.一种方法,包括: 接收指示用户对与第一实体相关的通知选项的选择的数据; 将所述第一实体添加到所述用户的兴趣列表; 至少基于将所述第一实体添加到所述用户的所述兴趣列表来确定提供与实体相关的通知;以及 基于确定提供与所述实体相关的所述通知来提供所述通知。2.根据权利要求1所述的方法,其中,提供所述通知包括将所述通知提供到由所述用户操作的用户设备。3.根据权利要求2所述的方法,其中,所述用户设备包括移动设备。4.根据权利要求2所述的方法,其中: 确定提供与所述实体相关的所述通知包括确定所述实体是否是开放的;以及 提供所述通知是基于确定所述实体是开放的。5.根据权利要求4所述的方法,其中: 确定所述实体是否是开放的包括确定特定活动当前在所述实体处可用;以及提供所述通知包括基于确定所述特定活动当前在所述实体处可用来提供对于所述实体处的所述特定活动的所述通知。6.根据权利要求4所述的方法,其中,所述实体具有物理位置,所述方法进一步包括: 确定所述用户设备是否在离所述实体的所述物理位置的预定距离内,其中,提供所述通知是基于确定所述用户设备在离所述实体的所述物理位置的所述预定距离内。7.根据权利要求1所述的方法,其中,所述第一实体和所述实体是相同的实体。8.根据权利要求1所述的方法,其中,所述实体与所述第一实体不同,所述方法进一步包括: 使用被指派给所述第一实体和所述实体两者的主题来识别所述实体。9.根据权利要求8所述的方法,其中,提供所述通知包括提供关于所述实体的所述通知和识别所述第一实体的信息。10.—种系统,包括: 一个或多个计算机和一个或多个存储设备,所述一个或多个存储设备存储能够操作的指令,所述指令在由所述一个或多个计算机执行时使得所述一个或多个计算机执行操作,所述操作包括: 接收指示用户对与第一实体相关的通知选项的选择的数据; 将所述第一实体添加到所述用户的兴趣列表; 至少基于将所述第一实体添加到所述用户的所述兴趣列表来确定提供与实体相关的通知;以及 基于确定提供与所述实体相关的所述通知来提供所述通知。11.根据权利要求10所述的系统,其中: 所述系统包括由所述用户操作的用户设备;以及 提供所述通知包括将所述通知提供到所述用户设备。12.根据权利要求11所述的系统,其中,所述用户设备包括移动设备。13.根据权利要求11所述的系统,其中: 确定提供与所述实体相关的所述通知包括确定所述实体是否是开放的;以及 提供所述通知是基于确定所述实体是开放的。14.根据权利要求13所述的系统,其中: 确定所述实体是否是开放的包括确定特定活动当前在所述实体处可用;以及提供所述通知包括基于确定所述特定活动当前在所述实体处可用来提供对于所述实体处的所述特定活动的所述通知。15.根据权利要求13所述的系统,其中,所述实体具有物理位置,所述操作进一步包括: 确定所述用户设备是否在离所述实体的所述物理位置的预定距离内,其中,提供所述通知是基于确定所述用户设备在离所述实体的所述物理位置的所述预定距离内。16.根据权利要求10所述的系统,其中,所述第一实体和所述实体是相同的实体。17.根据权利要求10所述的系统,其中,所述实体与所述第一实体不同,所述操作进一步包括: 使用被指派给所述第一实体和所述实体两者的主题来识别所述实体。18.根据权利要求17所述的系统,其中,提供所述通知包括提供关于所述实体的所述通知和识别所述第一实体的信息。19.一种存储软件的计算机可读介质,所述软件包括能够由一个或多个计算机执行的指令,所述指令在这样的执行时使得所述一个或多个计算机执行操作,所述操作包括: 接收指示用户对与第一实体相关的通知选项的选择的数据; 将所述第一实体添加到所述用户的兴趣列表; 至少基于将所述第一实体添加到所述用户的所述兴趣列表来确定提供与实体相关的通知;以及 基于确定提供与所述实体相关的所述通知来提供所述通知。20.根据权利要求19所述的计算机可读介质,其中,提供所述通知包括将所述通知提供到由所述用户操作的用户设备。21.根据权利要求20所述的计算机可读介质,其中,所述用户设备包括移动设备。22.根据权利要求20所述的计算机可读介质,其中: 确定提供与所述实体相关的所述通知包括确定所述实体是否是开放的;以及 提供所述通知是基于确定所述实体是开放的。23.根据权利要求22所述的计算机可读介质,其中: 确定所述实体是否是开放的包括确定特定活动当前在所述实体处可用;以及提供所述通知包括基于确定所述特定活动当前在所述实体处可用来提供对于所述实体处的所述特定活动的所述通知。24.根据权利要求22所述的计算机可读介质,其中,所述实体具有物理位置,所述操作进一步包括: 确定所述用户设备是否在离所述实体的所述物理位置的预定距离内,其中,提供所述通知是基于确定所述用户设备在离所述实体的所述物理位置的所述预定距离内。25.根据权利要求19所述的计算机可读介质,其中,所述第一实体和所述实体是相同的实体。26.根据权利要求19所述的计算机可读介质,其中,所述实体与所述第一实体不同,所述操作进一步包括: 使用被指派给所述第一实体和所述实体两者的主题来识别所述实体。27.根据权利要求26所述的计算机可读介质,其中,提供所述通知包括提供关于所述实体的所述通知和识别所述第一实体的信息。
【文档编号】G08B1/00GK105940433SQ201480074257
【公开日】2016年9月14日
【申请日】2014年6月4日
【发明人】巴里斯·于克塞尔, 克雷格·内维尔-曼宁, 萨曼莎·梅里特
【申请人】谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1