用于信息递送的动作触发器的制作方法

文档序号:13098932阅读:229来源:国知局
用于信息递送的动作触发器的制作方法与工艺

优先权要求

本申请请求2015年5月28日提交的美国临时专利申请第62/167,726号的权益,其公开的内容以引用的方式全部并入本文。

本公开大体上涉及但不限于信息处理,并且具体地涉及配置用于将信息递送给用户以及执行动作的触发器。



背景技术:

基于云的服务、搜索引擎、移动应用、和位置感知设备的出现已经大幅度地扩展了在过去十年内的移动用户设备的实用性。除了语音访问和数据访问之外,许多这种用户设备现在还提供场境感知服务和应用。此外,利用处理系统的最新进展,许多先前不同的应用和服务现在能够一起工作以提供增强的能力和用户体验。

通过使用命令输入将可用于用户的大多数这种应用服务实例化。一种这样的服务正在创建动作触发器。例如,用户可以向智能电话说出(或者键入)输入[remindmetobuymilkthisevening(今晚提醒我买牛奶)],并且智能电话通过使用命令解析应用(或者替选地,与命令解析服务通信)将调用可以向用户征求附加信息的动作触发器过程。如果用户期望能够在特定时间处执行动作触发器,则这种信息可以是时间,和/或如果用户期望能够在用户到达位置时执行动作触发器,则这种信息可以是位置。尽管设置这种动作触发器非常有用,但是触发器的用户配置可能是包括若干不同的手动步骤和输入的耗时且复杂的过程。当定义触发器的信息过于冗长或者来源于各种源时,这种情况尤其如此。



技术实现要素:

本说明书涉及通过使用利用资源渲染的动作触发器提示而生成的动作触发器,该动作触发器作为用户定义的事件和动作的关联。在示例实施方式中,应用页面和基于web的资源包括动作触发器提示,用户可以通过该动作触发器提示建立针对该用户的通知。该通知受限于用户设置的参数值判据。一旦满足通知的判据,在本文中通常称为“第三方”的应用和基于web的资源的发布者然后可以将通知提供给用户。替选地,第三方可以将数据提供给独立于第三方的管理多个不同的第三方的动作触发器的系统。第三方可以自动将数据提供给系统,或者系统可以请求、搜索、或者以其它方式收集数据。

本文所描述的方法和系统可以实现配置比常规系统中能实现的触发器更复杂的触发器。同样,由于在所提供的信息与特定事件的发生之间存在较大的对应,所以能够以增加递送的信息的相关性的方式将信息、且由此待执行的动作递送给用户。这可以使信息可能被提供给用户并且由于信息的不相关性而被用户丢弃的次数减少,其导致对与用户的设备、装置、或者系统相关联的硬件和/或软件资源的优化。

如下文更详细地描述的,除了提高所递送的信息与所执行的动作的相关性之外,本文所描述的方法和系统还可以显著地减少用户必须与其设备、装置、或者系统交互以便接收有用的信息通知或者采取动作的时间。这可以减少用户的设备、装置、或者系统的显示器活跃的总体时间,并且由此可以减少功率使用。在移动设备的语境中,这可以节省电池电量并且可能有助于降低电池需要充电的频率。除了减少功率使用之外,本文所描述的方法、装置、和系统还减少了设备的用户界面部件上的负载并且还可以用于减轻用户的认知负担。另外,在某些方面中,通知可以为用户提供用户先前不知道的和/或用户手动发现将会非常耗时(并且对用户及其设备两者都是繁重的)的某些有用信息。

在关于第三方描述的那些附加实施方式中,动作触发器提示和通过使用动作触发器提示创建的动作触发器可以完全独立于第三方来实现。例如,本说明书中描述的系统可以配置为标识在资源上渲染的参数,并且对于显示在资源上的参数值中的至少一个参数值,利用渲染的资源渲染动作触发器提示。这使得第三方免除了后端系统开发和资源布局设计和译码工作。然而,如下文更详细地描述的,第三方内容的开发者仍将受益于增加的用户参与。

可以响应于发生的事件而采取的动作可以是用户定义的。在一些实施方式中,在采取动作时,该动作可以或者可以不使得用户能够采取后续动作。在前者的情况下,例如,动作可以是已经发生了事件的通知,或者替选地,动作可以在不向用户通知的情况下由用户设备或者由一些其它设备或者其它方执行。在后者的情况下,例如,动作可以是采取后续动作的确认提示。例如,用户可能已经针对x公司股票价格跌至每股低于620美元设置了动作触发器,并且可能已经将动作设置为在事件发生时呈现购买10股x公司股票的确认提示。当动作发生时,用户然后可以在为其呈现确认提示时接受或者拒绝确认。如果用户接受确认,可以执行导致购买股票的后续动作(或者替选地,可以为用户呈现用户通过其可以购买股票的资源)。

在一些实施方式中,将通知提供给用户的软件助理。例如,第三方可以具有在满足用户定义的事件时第三方系统通知个人助理应用的专有数据源。替选地,个人助理应用可以监视数据源或者由资源发布的内容,并且检测事件的发生。软件助理然后确定该通知的重要性,并且以最佳确定方式将其告诉用户,例如,根据由助理自动确定的或者由用户设置的一个或者多个条件。

通知可以仅仅是信息性的,或者替选地,可以是交互式的。在后者的情况下,如果用户与通知交互,则可以将用户链接回用户设置通知的初始应用或者web页面或者允许用户执行与通知有关的动作的一些其它资源。这允许与用户的非常高效的接合模型,并且在期望时间处将用户带到第三方服务。

下文描述的本主题的实施方式允许在创建动作触发器时直观的、更准确的、并且更可剪裁的用户体验。与用户正在观看的内容场境相关的动作触发器的创建允许用户设置提醒项或者动作并且被警示与该内容相关的事件。这为用户提供了非常流畅且直观的交互模型,该交互模型使用户更容易地建立警示或者动作。

例如,用户可能正在查看通过其可以购买音乐会票券的资源。用户可以搜索特定艺术家并且可以了解到该艺术家当前未进行巡回演出。然而,通过使用动作触发器,用户可以建立在针对该艺术家发布了新巡回演出日期时要进行通知的提醒项,或者甚至在票券变成可获得时自动购买特定巡回演出会场的票券。这减少了用户记住特定日程或者频繁地检查资源的必要性,并且可以在已经发生了用户定义的事件时促进向用户通知用户定义的事件或者执行用户定义的动作。可以实时地进行通知以更好地让用户以即时且高效的方式做出响应。另外,在一些实施方式中,一旦已经确定用户定义的事件发生,用户可以选择要完成的用户定义的动作。

可以使用各种通知类型,包括移动操作系统(os)推送通知、文本消息、电子邮件、web或者数字助理警报、或者其它形式的通知。如上所述,在数字助理警报的情况下,数字助理可以确定通知用户或者代表用户采取动作的适当的时间、位置、和方法。例如,如果用户正在进行商务会议,则数字助理可以延缓通知用户,直到用户离开会议为止,或者在用户的工作日结束之后。

在附图和下面的说明中阐述了在本说明书中描述的主题的一个或者多个实施例的细节。本主题的其它特征、方面、和优点将通过描述、附图、以及权利要求书变得显而易见。

附图说明

图1是针对动作触发器对命令输入进行处理的示例环境的框图。

图2a是web页面的一部分中的资源的界面的图示。

图2b是在选择动作触发器提示之后的web页面的一部分中的资源的界面的图示。

图2c是在动作触发器菜单中选择第二参数值时的web页面的一部分中的资源的界面的图示。

图2d是在用户处的界面的图示。

图2e是用于创建动作触发器并且基于该动作触发器来执行动作的示例过程的流程图。

图2f是动作选择菜单的图示。

图3是用于创建动作触发器的另一示例过程的流程图。

图4a是用户设备处的与资源一起提供的动作触发器提示的用户界面的图示。

图4b是提供动作触发器菜单的用户界面的图示。

图4c是提供第一参数的值是所输入的值的参数值的通知的用户界面的图示。

图5是示例移动计算设备的框图。

在各种附图中的类似的附图标记和指示表示类似的元件。

具体实施方式

动作触发器处理系统促进包括用户定义的事件的动作触发器。在操作中,诸如,web页面资源或者应用中的特定应用页面的资源包括使用户设备显示在初始状态下渲染的动作触发器提示的指令。将资源提供给用户设备,并且在用户设备处渲染该资源和动作触发器提示。如果在用户设备处选择了动作触发器提示,则可以提供包括用户定义的事件的输入的动作触发器菜单。动作触发器菜单还可以定义在事件发生时可以采取的一个或者多个动作。将动作和事件的关联称为“动作触发器”,并且可以将动作触发器存储在动作触发器数据存储中。

动作触发器处理系统从事件数据(例如,通过搜索或者接收资源的数据)获取与资源相关联的更新和信息,并且当动作触发器处理系统确定已经发生了动作触发器的用户定义的事件时,动作触发器处理器可以在事件发生时执行动作。动作可以是在向用户通知的情况下或者在不向用户通知的情况下自动执行的动作,或者可以是向用户提供通知,或者可以是提供采取后续动作的确认提示。在一些实施方式中,当动作触发器处理系统确定已经发生了用户定义的事件时,可以发起动作触发器的用户定义的动作。在一些实施方式中,可以在已经发生了用户定义的事件之后完成自动操作(例如,当音乐会票券促销时自动购票)。进一步地,在一些实施方式中,动作触发器处理系统可以接收用户对指示在确定已经发生了用户定义的事件时要满足的条件的一个或者多个触发条件的选择。

在一些实施方式中,可以将动作触发器提示的代码包括在web页面资源或者应用页面中。在其它实施方式中,可以将代码插入web页面资源或者应用页面中。在又一实施方式中,可以动作触发器提示作为叠加渲染给web页面资源或者应用页面。

可以将动作触发器处理系统实施在用户设备中或者实施在与用户设备分开的计算机系统,诸如服务器系统中。在后者的情况下,服务器系统从用户设备接收输入并且将数据发送至用户设备进行处理。下文更详细地描述了这些特征和附加特征。

图1是针对包括用户定义的事件的动作触发器对命令输入进行处理的环境100的框图。诸如,互联网或者其组合的计算机网络102提供在电子设备与系统之间的数据通信。计算机网络102还可以包括一个或者多个无线网络103或者借助一个或者多个网关与一个或者多个无线网络103进行数据通信。

资源发布者104包括一个或者多个资源105。可以存在一个或者多个资源发布者104。资源发布者104可以是网站发布者、应用发布者等。在资源发布者104是网站发布者的实施方式中,一个或者多个资源105与域相关联并且由一个或者多个位置中的一个或者多个服务器托管。通常,资源发布者网站是以可以包含文本、图像、多媒体内容、和编程元素的超文本标记语言(html)格式化的web页面类集。各个网站由内容发布者维护,该内容发布者是控制、管理、和/或拥有网站的实体。web页面资源是可以由发布者资源104通过网络102提供并且具有例如统一资源定位符(url)的资源地址的任何数据。web资源可以是html页面、图像文件、视频文件、音频文件、和馈源,仅举几例。资源可以包括嵌入式信息,例如,元信息和超链接、和/或嵌入式指令,例如,客户端脚本。更普遍地,“资源”是可通过网络标识的任何事物。

如本说明书中使用的资源还可以是与web浏览器分开运行的独立式应用的特定应用页面。例如,售票代理可以发布出售各种事件的票券的应用。应用可以具有各种页面,诸如,例如,关于音乐艺术家的页面、关于体育运动的另一页面、以及关于戏剧的另一页面。

用户设备106是处于用户的控制下并且能够通过网络102请求和接收资源,还能够执行其它动作的电子设备。示例用户设备106包括个人计算机、移动通信设备、可穿戴设备、以及可以通过网络102发送和接收数据的其它设备。在图1的示例中,用户设备106是智能电话。下文参照图5描述了示例智能电话。用户设备106可以分别借助与网络102和103的有线和无线连接,通过网络102和103进行通信。用户设备106还可以是借助中间设备和诸如wifi、蓝牙等的短距离无线收发器访问网络102的设备。如参照图5描述的,用户设备可能能够针对各种程序和能力执行设备动作集合。

用户设备106与用户账户、诸如由提供多种服务的云服务提供者112托管的账户相关联。这些服务可以包括搜索(web、内联网、文档、和应用等)、web邮件、日历、社交网络、消息传送、文档存储和编辑、电子助理服务等。账户数据114可以存储针对用户设备106的账户的数据。进一步地,虽然在图1中仅示出了一个用户设备106,但是可以包括多个用户设备106。

在一些实施方式中,用户可以借助提供有资源的动作触发器提示调用动作和使动作能够被执行的事件。下文更详细地描述了作为用户定义的事件与用户定义的动作的关联的动作触发器的生成以及这些项的处理。动作触发器处理系统120从第三方发布者或者用户设备中任一者接收动作触发器,并且将动作触发器存储在动作触发器数据存储126中。虽然在图1中将动作触发器处理系统120示出为单独的实体,但可以将动作触发器处理系统实施在云服务提供者112中,或者替选地,实施为每个第三方的单独的系统。在特定实施例中,动作触发器处理系统120或者其子部分可以形成用户设备106的一部分或者可以存储在用户设备106上。

存储在动作触发器数据存储中的动作触发器是动作与事件的关联。动作触发器处理器124访问事件数据128以确定满足哪些事件,并且确定是否要执行与确定为满足的事件相关联的动作。如本文所使用的,事件数据128是可以用于确定是否已经发生了事件的任何数据。事件数据可以是被预处理并且发送至动作触发器处理器的数据,或者可以是可由动作触发器处理器124搜索的或者代表动作触发器处理器124的其它数据。例如,事件数据128可以是由第三方提供给动作触发器处理系统120的数据,或者可以是由动作触发器处理系统周期性地请求的数据,或者甚至可以是可以搜索参数值以确定是否已经发生了事件的索引的资源语料库、知识图、或者任何其它数据源。

动作触发器处理器124将动作触发器存储在动作触发器数据存储126中。可以存在存储在动作触发器数据126中的多个动作触发器at1、at2、……、atn。可以在用户设备106处查看一组动作触发器(例如,由用户创建或者先前实施的动作触发器),并且用户随时可以在用户设备106处对动作触发器进行更改(例如,添加、删除、修改)。多个动作触发器中的每一个动作触发器可以具有与动作a相关联的一个或者多个用户定义的事件e1、e2、……、en。在发生用户定义的事件后,动作触发器处理器124可以使动作被执行。动作可以是以下中的一个或者多个:呈现发生了事件的通知;部分或者完全自动执行并且与用户设备分开的动作;或者呈现执行另一个动作的提示。例如,基于上述示例,用户选择或者指定用户定义的动作,诸如在用户定义的时间发生时进行“购票”。

另外,在一些实施方式中,用户可以提供与一个或者多个动作触发器相关联的触发条件tc1、tc2、……、tcn。通常,触发条件是在动作触发器提示菜单中不可用并且用户将其与动作相关联的附加条件或者事件。触发条件指定在确定已经发生了动作触发器中指示的用户定义的事件时要满足的条件,或者在向用户通知满足的事件之前可能需要满足的条件。例如,假定用户已经设置了在可购买关于艺术家的票券时要进行通知的动作触发器。

用户还可以指定只有在用户能够查阅通知并且对通知做出响应的合适时间期间才提供通知。例如,用户还可以基于根据用户的日历的用户可获得性来设置不向用户通知可获得的票券的条件。因此,当用户的日历指示用户当前正在进行约会时,例如,如用户的工作日历上排程的如果用户正在开会时,可以延迟呈现通知。

触发条件可以是一个或者多个时间段条件、位置区域条件、或者个人接近度条件等。时间段条件可以是日期、日期范围、当日时间信息、当日时间范围等。例如,时间段条件可以是在特定周六(例如,下周六)、每周六、所选择的周六、或者周六模式(例如,每个月的第一个周六)的默认或者用户设置时间范围(例如,下午1点至下午5点)。

位置区域条件可以是在特定位置(例如,房屋地址)或者位置类型(例如,杂货店、机场、医院)周围的区域,用户设备106针对要满足的用户定义的事件需要处于该区域内或者附近。例如,位置区域条件可以是“在家”,该位置区域条件可以由用户在用户设备106上定义。另外,“附近”可以是距离标识的位置特定距离(例如,英尺或者英里)或者通过不同运输方式(例如,通过汽车、公共交通、步行)距离的时间量。特定位置类型可以由用户指定,或者可以推断出特定位置类型。例如,在后者的情况下,可以将用户通常在工作日的傍晚至清晨期间所处的位置称为“家”,并且用户通常在工作日的早晨和下午期间所处的位置如果与推断出的“家”位置不同则可以被称为“工作”。

另外,触发条件可以是个人接近度条件。如果用户的用户设备106处于与特定人或者组的标识的用户设备的阈值距离内,则可以满足个人接近度条件。

在一些实施方式中,当创建动作触发器时,可以基于资源105的内容来创建用户定义的事件,并且可以在用户设备106处选择或者输入参数。参照图2a至2d图示了其的示例。参照图2e描述了图2a至2d的流程,图2e是用于创建动作触发器并且基于该动作触发器来执行动作的示例过程250的流程图。可以将过程250实施在用于实现动作触发器处理系统120的一个或者多个计算机中。

过程250接收响应于对用户设备处的动作触发器提示的选择的数据(252)。动作触发器提示是为用户提供发起设置动作触发器的选项的元素,诸如以按钮、下拉菜单、声音提示等形式的用户界面元素。在用户设备处利用资源渲染或者提供动作触发器提示并且利用该资源进行显示,并且在初始状态下渲染或者提供动作触发器提示。在选择或者激活动作触发器提示后,用户设备显示动作触发器菜单,该动作触发器菜单促进输入事件的多个参数值。参照图2a至2c示出了对动作触发器提示的该选择和菜单。具体地,图2a是web页面的一部分中的资源的界面202a的图示。web页面可以包括多个股票的列表和图表。web页面202a包括在初始状态下(例如,在选择之前)的动作触发器提示204和第一参数的第一参数值206。在这种情况下,第一参数是股票“xcompany”的股票价格,并且第一参数值为624.36美元。

图2b是在选择动作触发器提示之后的web页面的一部分中的资源的界面202b的图示。在(例如,通过指针)选择动作触发器提示后,提供包括用户定义的事件的输入的动作触发器菜单。该选择生成促进输入事件的多个不同的可能参数值的动作触发器菜单。

例如,用户可能期望特定股票价格超过或者低于特定价格、或者特定股票价格在一段时间内价格保持不变、或者在特定时间处是特定股票价格等的动作触发器。在当前示例中,动作触发器与超过特定价格的特定股票相关。用户可以选择股票行情208,在当前实施方式中的该股票行情是xcompany的特定股票,该特定股票可以由用户更改。而且,第二参数值210可以由用户选择。在一些实施方式中,可以提供默认值,这可以基于用户历史、其它用户做出的选择、或者默认值等。在当前示例中,提供了630美元的默认值。

在特定实施例中,基于场境,诸如动作触发器提示204所关联的web页面的内容或者显示有动作触发器提示204的web页面的内容,自动选择一个或者多个参数。例如,当查看示出x公司的股票价格的web页面202a时,对利用参数值206进行显示的动作触发器提示204的选择自动提供x公司的股票代号xcompany作为参数。虽然该参数可以由用户更改,但可以使用显示器、用户动作、环境等的场境来自动(并且至少初始地)设置一个或者多个参数。本文考虑到,可以在任何或者所有实施例中提供该功能,其中将动作触发器提示包括在web页面资源或者应用页面中、插入到web页面资源或者应用页面中、和/或作为叠加渲染给web页面资源或者应用页面。

在叠加的情况下,可以使用各种过程来检测参数并且生成叠加。例如,可以对资源的文档对象模型进行处理以标识预定义参数类型和值,例如,股票代号和价格,并且可以通过使用iframe或者可以利用附加内容来扩充所显示的资源的内容的任何其它过程来渲染叠加。对于应用页面,可以从所显示的数据提取文本视图对象,并且对该文本视图对象进行处理以标识预定义参数类型和值,并且叠加可以由将附加内容显示在仅定义视口中的动作触发器的活跃区域中的单独的过程生成。通过使用提供给用户设备并且与用于渲染资源的指令分开的指令来生成叠加。

在该实施方式的变型中,可以使用图像处理来标识图像的文本内容,并且为特定文本内容提供动作菜单。具体地,动作触发器处理系统120可以接收描述针对由用户设备拍摄并且显示在该用户设备上的图像识别的文本内容的数据。用户设备可以执行文本识别并且生成描述图像中的文本内容和文本内容的位置的数据,并且将数据发送给动作触发器处理系统120。替选地,用户设备可以将图像发送至对图像进行处理的将文本数据和位置数据提供给动作触发器处理系统120的另一系统。可以使用各种文本识别处理技术。

例如,假定用户拍摄艺术家的巡回演出海报的照片。动作触发器菜单将接收描述巡回演出海报的内容的文本数据,并且可以在描述巡回演出的文本附近生成动作菜单。动作菜单可以包括在宣布巡回演出时将各种巡回演出日期通知给用户的通知动作、在票券促销时购票的购买动作等。通过显示在用户设备上的图像来渲染动作菜单。

为了生成叠加指令,系统120(或者替选地,用户设备106)可以如上文所述那样对所渲染的资源进行处理。在检测特定参数值,例如,预定义参数的参数值,诸如股票代号、价格、日期等后,系统120或者用户设备106生成用于由用户设备进行处理的叠加指令。

在一些实施方式中,可以在渲染之前标识特定资源,并且可以将标识的资源的列表提供给系统120或者用户设备106。此后,当在用户设备106处渲染标识的资源中的一个时,用户设备可以通知系统120,并且系统120可以生成叠加指令。替选地,用户设备可以生成叠加指令。

图2c是图示了在动作触发器菜单中选择第二参数值210的web页面的一部分中的资源的界面202c的图示。在当前实施方式中,在(例如,通过指针)选择第二参数值210后,可以提供第二参数值选项列表212。第二参数值选项列表可以包括第二参数值的用户可选择的选项。选项列表可以基于用户历史(例如,过去选择了特定股票价格或者高于当前股票价格的特定百分比)、场境(例如,在界面202c中示出的其它数据)、由其它用户提供的其它选择、或者默认值集合等。用户可以从选项列表212中选择第二参数值选项中的一个,或者选择“setamount(设置量)”,其中用户可以通过输入值来提供第二参数值选项。在当前示例中,用户已经使用第一参数“xcompanystock(xcompany股票)”、以及第二参数值630美元创建了用户定义的事件。

在选择630后,创建动作触发器。在这种情况下的动作触发器是x公司股票高于每股630美元的通知,并且触发通知的事件是x公司股票超过每股630美元的价格。因此,动作触发器是用户定义的事件与响应于用户定义的事件的发生而要采取的动作的关联。要了解,可以提供用于用户可选择的参数的附加字段。例如,当computerco.股票高于每股630美元时,可以提供允许用户从多个不同动作中指定要采取什么动作的字段,诸如,设置[x]股份的卖出订单、或者将电子邮件发送至用户的股票经纪人等。

在一些实施方式中,动作可以由第三方系统通过使用api自动执行至动作触发器处理系统120或者个人助理服务。动作触发器处理系统120或者个人助理服务可以存储凭证(例如,用户名、密码、账户信息等)。这些第三方动作还可以利用电子钱包。这些第三方api级别集成允许动作触发器处理系统120或者个人助理服务代表用户完成金融交易,例如,股票交易、购票等。

过程250将指定用户定义的事件和与用户定义的事件相关联的动作作为动作触发器存储在动作触发器数据存储中(254)。此后,过程250将周期性地监视用户定义的事件的发生(256),并且响应于用户定义的事件的发生,使与用户定义的事件相关联的动作被执行(258)。

继续该示例,动作触发器处理器124将监视x公司的股票价格。可以按照各种方式进行监视。例如,当股票超过630美元的价格时,动作触发器处理器124可以请求由第三方服务进行通知。替选地,动作触发器处理器124可以周期性地搜索web语料库或者其它数据源以确定是否已经发生了事件。

图2d是在已经发生了图2c中提供的用户定义的事件时用户设备106处的界面202d的图示。在当前实施方式中,在创建动作触发器并且将动作与事件的关联存储在动作数据存储126中之后,动作触发器处理系统120可以接收更新和/或检查与用户定义的事件和动作触发器相关联的数据源以确定是否已经发生了用户定义的事件。在该示例中,动作触发器处理器126将确定第一参数的值(股票价格)是否满足630美元的第二参数值。

在当前示例中,动作触发器处理系统120已经做出了已经发生用户定义的事件的确定,并且将通知214提供给用户设备106和/或由用户设备106提供通知214。另外,在一些实施方式中,通知可以由动作触发器处理器124提供,并且用户设备106的用户可以访问与用户定义的动作有关的信息。用户接收的通知可以是在移动设备上提供的通知(例如,android通知、app内通知等)或者桌面上的通知(例如,浏览器通知、os通知等)。在通知内,可以提供用于执行与动作触发器相关联的操作(或者用户定义的动作)的链接或者按钮。

在当前示例中,所指定的动作是通知动作。在一些实施方式中,动作触发器提示204还可以包括动作选择菜单,该动作选择菜单包括可选择的动作列表。例如,动作可以包括在有通知或者没有通知的情况下可以代表用户采取的动作。动作可以是场境的,由于可用的动作依赖于资源中示出的内容类型。系统120可以具有将特定动作与特定内容类型预先关联的数据。例如,除了图2a至2c中示出的“letmeknow(让我知道)”选择之外,借助如图2f所示的动作选择菜单205,其它动作还可以是“purchasestock(购买股票)”、“sellstock(出售股票)”等。类似地,如果资源是购票资源,则动作可以包括在票券促销时的通知、在艺术家宣布巡回演出日期时的通知、和购票。

作为又一示例,假定图2a描绘的不是web页面,而是用户设备拍摄的股票行情报告的图像。通过使用上述的图像处理技术,可以生成相同的动作触发器提示204,并且将其叠加在如图所示的图像上。

在一些实施方式中,选择通知可以使用户设备显示设置有动作触发器的资源。替选地,例如,如果动作是购买股票,则对通知的选择可以使用户设备显示用户从其可以购买股票或者查看购买了股票的确认的环境。

在一些实施方式中,通知可以受制于附加呈现判据。例如,可以由软件助理选择呈现判据,或者替选地,可以由用户选择呈现判据。在前者的情况下,针对通知,软件助理可以从用户的日程数据确定是否要将通知呈现给用户,即,只有在用户未进行会议的情况下才可以呈现通知等。在一些实施方式中,与造成通知的事件相关的基础数据的波动性可以是软件助理考虑的因素。例如,如果例如通知涉及购买股票的选项和由用户指定的价格时,则软件助理可以覆盖用户的会议状态并且在用户进行会议时呈现通知。因为股票价格的波动性可能会迅速发生变化,所以用户可以从即时通知中获益。相反,可以延迟基础数据变化频率较低的事件的通知,并且在用户更方便的时间处将其呈现给用户。

作为另一示例,当用户选择用户设备106上的动作触发器提示时,可以提供包括用户定义的事件的输入的动作触发器菜单。当资源具有多个不同的可用参数时,用户可能能够选择第一参数。示例参数可以是主题、标题、类别、或者在资源105的内容内提供的其它信息。例如,如果用户正在查看与艺术家a的音乐会的票券有关的资源,并且用户选择在该资源上提供的请求提示,则与该资源相关联的参数可以是音乐会票券、音乐会位置、音乐会巡回演出的日期、或者在资源105的内容内提供的任何其它信息。在请求提示内,用户可以输入或者选择用户定义的事件的参数。

动作触发器处理器124可以基于资源中提供的内容来确定参数的值。例如,如果用户选择了音乐会票券作为第一参数,则该参数的值可以指示音乐会票券的状态,该状态可以是来自资源的内容的“不可获得”或者不可购票的一些其它指示(例如,已售完或者尚未促销)。

在选择或者输入参数之后,用户可以为所指示的参数输入参数值以定义动作触发器的用户定义的事件。用户提供的参数值可以与显示在资源中的参数值不同。例如,用户创建在音乐会票券促销或以其它方式可获得时进行通知的用户定义的事件。因此,由用户指定的参数值将是“可获得的”。

另外,在一些实施方式中,动作触发器可以包括多个参数。例如,基于上文的示例,动作触发器可以包括与艺术家a的音乐会的票券区段或者票价范围有关的第二参数。例如,第二参数可以与艺术家a的音乐会票价有关,并且例如,由用户提供的参数值可以“低于40美元”。在当前示例中,将不会满足用户定义的事件,直到出现在第一参数和第二参数的用户提供的参数值(例如,票券可获得并且低于40美元)。

然后创建动作触发器并且将动作触发器存储在动作触发器数据126中。在创建动作触发器之后,动作触发器处理器监视与动作相关联的事件的发生。动作触发器处理器124可以持续地或者周期性地(例如,按照规则或者不规则的间隔轮询事件数据128)搜索内容,或者记录来自满足事件的数据的第三方的通知等。

如上所述,事件数据可以包括资源105。资源105的一些内容可以是从资源发布者104(例如,应用发布者或者网站发布者)通常可用并且可访问的信息。例如,这些资源105可以与天气、新闻、娱乐、或者不需要订阅或认证即可查看资源105的信息和内容的任何其它资源有关。

进一步地,资源105的一些内容可以是对于特定用户而言非个性化的信息,但是内容却可以要求用户登录或者以其它方式提供授权以访问资源105的内容。例如,这些资源105可以与需要订阅或者来自用户的其它类型的验证或者登录的报纸、期刊、或者博客有关。

而且,资源105的一些内容可以是对特定用户个性化且可能私有的信息。例如,这些资源可以与银行账户信息和社交媒体网站或者应用有关。这些资源105可以是资源发布者104专有的,并且还可能需要来自用户的登录或者认证信息以访问用户的个性化信息和内容。在一些实施方式中,资源发布者104可以选择或者使单独的用户决定其是否想要他们的与资源105相关联的个性化内容可由动作触发器处理器124访问。

除非动作触发器处理系统120能够访问用户设备106的用户的授权信息,否则可以不将需要认证的资源105的内容包括在事件数据128中。可以按照不同的方式存储并且访问动作触发器处理系统120的特定用户的认证信息,并且例如可以根据由用户指示的选择为每个用户存储不同的认证信息量(例如,用户可以选择动作触发器处理系统120不存储或者访问该特定用户的任何认证和登录信息)。例如,在需要时,用户可以针对用户希望包括在事件数据128(即,可由动作触发器处理器124访问的数据)中的与资源发布者104相关联的资源105来向动作触发器处理系统120提供认证信息。

另外,在一些实施方式中,用户可以使得动作触发器处理系统120能够访问并且追踪用户的用户设备106已经访问的资源发布者104的认证信息(例如,用户可以使得动作触发器处理器124能够存储访问与在特定银行的发布者资源104处的用户的银行账户信息有关的资源的认证信息)。

而且,可以将与由用户在用户设备106上执行的先前动作有关的用户历史包括在动作触发器数据126中。例如,可以将先前的动作触发器、用户定义的事件、和用户定义的动作存储在动作触发器数据126中,以针对特定用户、一组用户、和/或用户的子集以使得用户可以选择默认的、最喜爱的、或者公共的动作触发器、用户定义的事件、和/或用户定义的动作。另外,用户的场境可以改变或者调整建议的或者最喜爱的动作触发器、用户定义的事件、和/或用户定义的动作。可以将当日时间、周、月份、用户的位置、建立特定动作触发器的频率和规则性等考虑到用户的场境的因素中。然而,在上文的示例中,用户可以改变最初建议的或者提供给用户的参数和参数值。另外,在一些实施方式中,可以将隐式地(例如,基于用户历史)或者显式地提供给动作触发器处理系统120的用户设备106上的用户日历和用户兴趣考虑进来以确定建议的动作触发器、用户定义的事件、用户定义的动作、参数和参数值。而且,还可以基于场境、先前动作触发器、或者其它信息来调整并且改变提供的建议的动作触发器的顺序或者排名(例如,当用户正在输入动作触发器时)。

图3是用于从资源发布者104的资源105创建动作触发器的示例过程300的流程图。例如,过程300可以由动作触发器处理器124实施。在一些实施方式中,可以将示例过程300的操作实施为存储在非暂时性计算机可读介质上的指令,其中,该指令使数据处理装置执行示例过程300的操作。

提供了包括第一参数的第一参数值和使用户设备106显示在初始状态下渲染的动作触发器提示的指令的资源105(302)。每个资源105可以包括内容,并且动作触发器处理器124可以从资源105中提供的内容确定一个或者多个参数。例如,第一参数可以是主题、标题、类别、或者在资源105的内容内提供的其它信息。第一参数值可以指示与第一参数有关的资源105的内容中提供的信息。例如,第一参数值可以包括可获得性、成本、或者天气条件等。

动作触发器提示可以与资源105一起显示或者显示在资源105内。当将资源105提供给用户设备106时,可以将动作请求提示包括在资源发布者104中,或者在其它实施方式中,动作触发器处理系统120可以向用户设备106提供动作请求提示,其中,与资源105一起提供动作请求提示,或者将动作请求提示叠加在资源105上。如果从资源发布者104包括动作请求提示,则动作触发器处理系统120可以将所需的脚本提供给包括动作触发器的资源发布者104(例如,经由api107)。

提供了在用户设备106处渲染资源105的指令(304)。然后可以在用户设备处渲染资源105以及动作触发器提示。接收到在用户设备106处的对动作触发器提示的选择(306)。

提供使用户设备106显示包括用户定义的事件的输入的动作触发器菜单的指令(308)。在选择动作触发器提示之后,可以提供动作触发器菜单,在动作触发器菜单中用户经由用户设备106可以选择或者输入在事件发生时要进行通知的用户定义的事件,或者在一些实施方式中,当特定用户定义的事件发生时可以发起或者完成用户定义的动作。

接收到动作触发器菜单中的用户定义的事件的第一参数的输入,其中,资源105包括第一参数的第一参数值(310)。如先前所描述的,用户定义的事件可以包括由用户在用户设备106处输入或者选择的第一参数。基于资源105中提供的内容,第一参数包括第一参数值。例如,第一参数值可以指示状态、可获得性、成本、或者天气条件等。在包括特定股票的信息的资源105(例如,web页面或者移动应用)处示出的特定股票报价的示例中,例如,第一参数可以是股票价格、收益、开盘价和收盘价、或者可以从资源105中获取的其它类型的信息。

例如,如果第一参数是股票价格,则第一参数值可以是当前价格或者在资源105处作为当前价格列出的值,例如,每股600美元。同样,在包括特定艺术家的音乐会票券的资源105中,第一参数可以是票券可获得性(例如,艺术家的新巡回演出)、票价、座位位置、音乐会位置、或者可以从资源105中获取的其它类型的信息。在当前示例中,第一参数是票券可获得性,并且第一参数可以指示无法购买到特定艺术家的音乐会票券。

接收作为用户定义的事件的第一参数的第二参数值输入的值,其中,该第二参数值指定与第一参数值不同的参数值(312)。用户定义的事件还可以包括由用户在用户设备106处输入或者选择的第二参数值。第二参数值可以基于资源105的场境来指示用户希望被通知的与标识的第一参数有关的事件,或者在第一参数达到第二参数值时要进行的用户定义的动作。

动作触发器处理器124可以搜索事件数据128以确定标识的参数的参数值。基于上文的股票价格示例,股票价格的第二参数值可以由用户提供,并且例如可以是每股630美元。当动作触发器处理器124从资源105和/或事件数据128中提供的数据确定第一参数的值已经达到第二参数值的值时,然后可以向用户设备106提供这种通知(例如,x公司的股票已经达到630美元),或者用户定义的动作可以设置为发生(例如,可以将动作触发器系统120指向出售股票)。同样,针对上文的音乐会票券示例,例如,票券可获得性的第二参数值可以是新巡回演出(即,发售票券)。当动作触发器处理器124从资源105和/或事件数据128中提供的数据确定第一参数(票券可获得性)的值已经满足第二参数值(发售票券)的值时,可以向用户设备106提供这种通知(例如,艺术家a的票券现在促销),或者用户定义的动作可以设置为发生(例如,可以将动作触发器系统120指向购票)。

例如,图4a是提供动作触发器提示以及资源105的用户设备400处的用户界面402a的图示。在当前示例中可以是事件票券选择和购买网站或者应用的资源105中,可以提供搜索输入404。在当前示例中,已经在搜索输入404中提供了“artista(艺术家a)”,并且资源105已经指示当前不存在关于“artista”的任何事件。而且,在资源105中提供了位置标识符405,其可以是用户的用户设备106的当前位置或者用户已经提供或者输入的位置。另外,在资源105中提供了动作触发器提示406,以使用户设备106的用户能够创建动作触发器。

在图4b中,提供了已经选择了动作触发器提示406、并且提供了动作触发器菜单408的用户界面402b的图示。在当前示例中,基于资源105中提供的内容,动作触发器处理器124可以提供建议的用户定义的事件,并且用户可能能够输入或者提供针对用户定义的事件的不同选择(例如,通过使用动作触发器菜单408中的箭头)。建议的用户定义的事件可以基于动作触发器数据126和/或事件数据128的信息。在当前示例中,提供了“whenartistahasanewtour(当艺术家a具有新巡回演出时)”的建议的用户定义的事件。第一参数可以确定为与艺术家a的巡回演出有关,并且基于资源105中提供的位置内容,第一参数可以与艺术家a的在“sfbayarea,ca(加州sf湾区)”的巡回演出有关。

在当前示例中,第一参数值可以指示第一参数的音乐会和巡回演出信息不可用。在一些实施方式中,第一参数值可以由用户设备的用户输入或者提供。在输入的值410中,用户可以提供第一参数的参数值以完成用户定义的事件的定义,并且当资源105处的第一参数具有用户提供的参数值的值时,则可以满足用户定义的事件。在当前示例中,用户提供的参数值与艺术家a的“巡回演出”(并且具体地,新巡回演出)有关。在一些实施方式中,基于资源105的内容和动作触发器数据126和/或事件数据128的信息,其例如可以包括用户设备106的用户的兴趣和用户历史,可以提供的建议的用户提供的值或者用户提供的值的层级以包括在输入的值410中。

在图4c中,提供了用户界面402c的图示,该用户界面402c示出了第一参数的值已经满足了输入的值410的参数值或者第二参数值的通知。如先前所描述的,动作触发器处理器124从事件数据128获取与资源105相关联的更新和状态信息,并且当动作触发器处理系统120确定已经发生了用户定义的事件时,动作触发器处理器可以将第一参数的值是第二参数值的通知提供给用户设备,或者在一些实施方式中,当动作触发器处理系统120确定已经发生了用户定义的事件时,可以完成用户定义的动作。在当前示例中,图4c指示已经发生了用户定义的事件,并且将用户定义的事件通知412提供给用户的用户设备106。在一些实施方式中,用户可以选择用户定义的事件通知412,并且可以为用户提供与用户定义的事件相关联的信息,并且在当前示例中,用户可以指向资源105以查看与艺术家a的巡回演出有关的信息并且查看购票选择。

在一些实施方式中,一旦动作触发器处理系统120确定已经发生了用户定义的事件,用户设备106的用户就可以选择或者提供要发生的用户定义的动作。例如,基于图4a至4c中提供的示例,用户可以经由用户设备106将用户定义的动作提供给动作触发器处理系统120以在资源105指示艺术家a具有新巡回演出(并且票券可获得)时购票。另外,例如,用户定义的动作可以指定票券数量、日期或者日期范围、价格范围、以及购票的区段。另外,还可以提供指示已经执行了用户定义的动作的通知(并且在执行用户定义的动作的过程之前或者在执行用户定义的动作的过程时,还可以包括指示已经发生了用户定义的事件的通知)。

而且,在一些实施方式中,可以将通知的呈现提供给除了用户设备106之外的设备。例如,可以将呈现提供给确定为接近用户的设备或者用户将查看或者正在看的设备。例如,如果用户的用户设备106当前对用户不可见,但是用户正在查看另一设备,动作触发器处理系统120可以确定要将通知呈现给用户正在查看的设备。

还可以为具有不同的参数值的许多其它类型的内容提供动作触发器提示。例如,可以为广告提供动作触发器提示。对提示的选择可以使用户能够选择与广告宣传的产品或者服务有关的各种动作和事件。作为示例,对于广告宣传尚未发布的产品的广告,用户可以设置在产品发布时触发的发布的通知。相反,对于当前正在发售的产品,用户可以在产品由特定零售商促销(例如,10%的折扣)时设置购买产品的动作。在该后者的示例中,用户可以指定特定促销价格售价作为触发,或者用户可以指定任何促销事件作为触发。

在本文讨论的系统采集有关用户的个人信息或者可以利用个人信息的情况下,可以为用户提供控制程序或者特征是否采集用户信息(例如,有关用户的社交网络、社交动作或者活动、职业、用户的偏好、或者用户的当前位置、位置轨迹、诸如家/工作的推断出的位置、推断出的场境、日历数据、来自电子邮件的即将发生的事件/预订等的信息)或者控制是否和/或如何从内容服务器接收可能与用户更相关的内容的机会。另外,在存储或者使用特定数据之前,可以按照一种或者多种方式来处理该特定数据,从而使得可以去除个人可标识信息。例如,可以处理用户的身份,从而使得无法确定用户的个人可标识信息,或者在获得位置信息的情况下可以将用户的地理位置一般化(诸如,到城市、邮政编码、或者州级),从而使得无法确定用户的特定位置。由此,用户可以对内容服务器采集和/或使用有关用户的信息的方式进行控制。

图5是示例移动计算设备的框图。在该图示中,将移动计算设备510描绘为包括用于向移动计算设备510的用户呈现内容并且接收基于触摸的用户输入的触摸屏显示设备512的手持移动电话(例如,智能电话或者应用电话)。正如可能存在各种不同的输入部件,还可以提供其它视觉、触觉和听觉输出部件(例如,led灯、用于触觉输出的振动机制、或者用于提供音调输出、语音生成输出、或者录制输出的扬声器)。

移动计算设备510可以包括机械或者触摸敏感按钮518a-d。另外,移动计算设备可以包括用于调整一个或者多个扬声器520的音量输出的按钮以及用于打开和关闭移动计算设备的按钮。麦克风522允许移动计算设备510将可听声音转换成可以数字编码并且存储在计算机可读存储器中或者传输至另一计算设备的电信号。移动计算设备510还可以包括数字罗盘、加速度计、近距离传感器、和环境光传感器。

移动计算设备510可以利用触摸屏512呈现图形用户界面,图形用户界面是一个或者多个图形界面元素的类集,并且可以是静态的(例如,显示器在一段时间内保持不变)或者可以是动态的(例如,图形用户界面包括在没有用户输入的情况下动画化的图形界面元素)。

移动计算设备510可以包括其它应用、计算子系统、和硬件。语音识别服务572可以接收由移动计算设备的麦克风522接收的语音通信数据,并且将语音通信转换成对应的文本数据或者执行语音识别。

移动计算设备510可以与一个或者多个网络进行无线通信,以提供各种服务,诸如语音服务和数据服务。

可以在数字电子电路系统中,或者在计算机软件、固件、或者硬件中、包括本说明书所公开的结构及其结构等效物,或者它们中的一个或者多个的组合中实施本说明书中描述的主题的实施例和操作。可以将本说明书中描述的主题的实施例实施为一个或者多个计算机程序,即,编码在计算机存储介质上以由数据处理装置执行或者以控制数据处理装置的操作的计算机程序指令的一个或者多个模块。

计算机存储介质可以是或可以被包括在计算机可读存储设备、计算机可读存储基板、随机或者串行存取存储器阵列或者设备、或者它们中的一个或者多个的组合。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或者目的地。计算机存储介质也可以是或可以被包括在一个或者多个分离的物理部件或者介质(例如,多个cd、磁盘、或者其它存储设备)。

可以将本说明书中描述的操作实施为由数据处理装置对存储在一个或者多个计算机可读存储设备上的或者从其它源接收到的数据执行的操作。术语“数据处理装置”囊括了用于处理数据的所有种类的装置、设备、和机器,包括例如可编程处理器、计算机、片上系统、或者前述中的多种或者组合。装置可以包括专用逻辑电路,例如,fpga(现场可编程门阵列)或者asic(专用集成电路)。除了硬件之外,该装置还可以包括为探讨中的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机、或者它们中的一个或者多个的组合的代码。装置和执行环境可以实现各种不同的计算模型基础设施,诸如,网络服务、分布式计算和网格计算基础设施。

适合执行计算机程序的处理器包括例如通用微处理器、专用微处理器、以及任何种类的数字计算机的任何一个或者多个处理器。一般而言,处理器将接收来自只读存储器或者随机存取存储器或者两者的指令和数据。计算机的必要元件是用于根据指令执行动作的处理器、和用于存储指令和数据的一个或者多个存储器设备。一般而言,计算机还将包括用于存储数据的一个或者多个海量存储设备(例如,磁盘、磁光盘、或者光盘),或者计算机可以操作地耦合以接收来自该海量存储设备的数据或者将数据传输至该海量存储设备或者进行两者。然而,计算机不需要具有这种设备。

可以将本说明书中描述的主题的实施例实施在包括后端部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者web浏览器的用户计算机,用户可以通过该图形用户界面或者该web浏览器来与本发明中所描述的主题的实施方式交互)、或者包括一个或者多个这种后端部件、中间件部件或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、网际网(例如,互联网)、以及点对点网络(例如,adhoc点对点网络)。

虽然本说明书包含了许多具体实施细节,但是不应该将这些细节视为对任何发明或者可能被要求的内容的范围的限制,而是作为针对特定发明的特定实施例的特征的描述。在本说明书中在分离实施例的语境下描述的某些特征还可以组合地实施在单个实施例中。相反,在单个实施例的语境中描述的各种特征也可以分离地或者按照任何合适的子组合实施在多个实施例中。此外,虽然上文可能将特征描述为以某些组合来起作用并且最初甚至同样地对该特征进行了要求,但是在一些情况下可以从组合中删除来自所要求的组合的一个或者多个特征,并且所要求的组合可以指向子组合或者子组合的变化。

同样,虽然在附图中按照特定顺序示出了操作,但是不应该将其理解为需要按照示出的特定次序或者按照顺序次序来进行这种操作,或者需要进行所有图示的操作以实现期望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,不应该将在上述实施例中的各种系统部件的分离理解为在所有实施例中需要这种分离,并且应该理解,所描述的程序部件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中。

因此,已经描述了本主题的特定实施例。其它实施例在以下权利要求书的范围内。在一些情况下,在权利要求书中叙述的动作可以按照不同的顺序来进行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定需要示出的特定次序或者按照顺序次序以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1