用于自动化复杂操作的图形用户界面定制的制作方法

文档序号:15285794发布日期:2018-08-29 00:04阅读:166来源:国知局

本申请要求来自2015年12月15日提交的标题名称为“graphicaluserinterfacecustomizationforautomaticcomplexoperations”的美国专利申请第14/970,368号的优先权,所述美国专利申请的内容以引用方式整体并入本文。



背景技术:

计算设备的用户可通常希望配置他们的计算设备以服务他们的特定需求。例如,计算设备的用户可能想要配置其计算设备以响应于特定用户行为或活动而执行安装在用户设备上的一个或多个应用。然而,配置用户设备以响应于特定用户行为或活动而执行一个或多个应用可为困难的。例如,即使现代技术便于使用图形用户界面来选择并且执行各种应用,用户可能会发现在设备上执行应用并且通过与应用的交互进行一个或多个操作是繁杂的。此外,用户可能会发现在示范了特定用户行为或进行活动之后针对频繁访问的应用重复同一进程是效率低下的。

附图说明

各种技术将参考附图加以描述,在附图中:

图1展示可实现各种实施方案的环境的例示性示例;

图2展示根据至少一个实施方案的环境的例示性示例,在该环境中,图形用户界面的图形控制元件响应于一个或多个活动的检测而被更新以包括用户界面按钮;

图3展示根据至少一个实施方案的图形用户界面的例示性示例,在该图形用户界面中,响应于一个或多个活动的检测而呈现包括一个或多个用户界面按钮的通知窗口;

图4展示根据至少一个实施方案的图形用户界面的例示性示例,在该图形用户界面中,利用应用来配置一个或多个用户界面按钮;

图5展示根据至少一个实施方案的环境的例示性示例,在该环境中,使用来自各种组件的数据来检测活动并且通过安装在用户设备上的零售商应用生成一个或多个用户界面按钮;

图6展示根据至少一个实施方案的环境的例示性示例,在该环境中,响应于用户界面按钮的选择而处理订单;

图7展示根据至少一个实施方案的环境的例示性示例,在该环境中,至少部分基于通过安装在用户设备上的应用定义的顾客偏好来配置一个或多个用户界面按钮;

图8展示根据至少一个实施方案的环境的例示性示例,在该环境中,零售商服务的各种组件被配置来实现并支持通过使用一个或多个用户界面按钮进行订货;

图9展示根据至少一个实施方案的一进程的例示性示例,该进程用于响应于至少一个用户界面按钮的配置而配置监测组件以监测选定的信号以识别一个或多个活动;

图10展示根据至少一个实施方案的一进程的例示性示例,该进程用于响应于一个或多个按钮呈现触发的检测而更新图形用户界面以呈现用户界面按钮;

图11展示根据至少一个实施方案的一进程的例示性示例,该进程用于响应于用户界面按钮的选择而向零售商服务提交订单请求;

图12展示根据至少一个实施方案的一进程的例示性示例,该进程用于响应于某些活动参数而高速缓存可出售给用户的物品的一个或多个推荐;

图13展示根据至少一个实施方案的一进程的例示性示例,该进程用于分析活动数据和传感器数据以确定是否更新用户界面以呈现一个或多个用户界面按钮;并且

图14展示可实现各种实施方案的环境的例示性示例。

具体实施方式

本公开涉及用户界面按钮的配置和使用,所述用户界面按钮显示在设备的图形用户界面(gui)上以使用户能够如通过在分布式计算机系统中启动工作流程传输特别配置的通信,如触发另一个计算机系统以进行一个或多个动作的通信。在示例中,设备的用户执行安装在设备上的应用以配置可以用来使设备代表用户进行操作的用户界面按钮。应用可使用户能够识别用户界面按钮将如何被呈现给用户。例如,用户可以通过应用指定用户界面按钮将响应于特定活动触发(例如,跑步的结束、远足的结束、进入特定邻域等)而显示在设备的gui上。用户可以通过应用进一步指定可响应于呈现给用户的用户界面按钮的选择而进行的一组动作。在一些情况下,用户可以配置gui上的用户界面按钮的呈现或将响应于活动触发的检测提供的任何其他通知。响应于用户界面按钮的用户配置,应用可以配置监测组件以监测可用来确定用户是否参与指定活动并且识别活动触发的任何信号数据。

在示例中,如果应用检测活动触发,则应用基于由用户通过按钮的初始配置提供的信息来确定待呈现给用户的用户界面的配置。应用可以确定用户是否已指定响应于活动触发而呈现给用户的特定的用户界面按钮,所述活动触发如果被启动,则可触发特定服务或可通过用户设备进行的其他动作。应用可以向服务提供各种活动数据,所述服务可以使用这个活动数据来提供用于用户界面按钮的配置的输入。作为响应,服务可以向应用提供用于用户界面按钮的配置的输入,所述应用可以使用输入和活动数据来生成用户界面按钮,所述用户界面按钮基于所提供的输入和活动数据。在一些示例中,应用可以高速缓存用户设备内的所提供输入,使得响应于活动触发,应用可以使用来自高速缓存的输入并且使用这个输入来生成用户界面按钮。

用户设备的用户可以选择用户界面按钮以触发特定服务或可以通过用户设备进行的其他动作。响应于用户界面按钮的选择,应用可以代表用户生成请求,以进行如由用户或通过由服务提供的输入指定的一个或多个动作。这个请求可由应用传输至服务,所述服务可以认证用户并且确保请求可被处理。因此,服务可以处理请求以代理用户进行一个或多个操作。服务可以提供请求的接收确认。应用可以更新用户设备的gui以显著地显示请求的确认以使用户能够验证请求已通过用户界面按钮的选择被接收。

以这种方式,可响应于特定活动的进行为用户设备的用户呈现用户界面按钮,从而使用户能够选择用户界面按钮以代表用户提交对动作的进行的请求。本文所描述并提议的技术促进额外技术优点。例如,因为用户界面按钮可被配置来响应于特定活动的检测而呈现给用户,所以使用户在不合适的时间意外地利用用户界面按钮的风险最小。因而,用户界面按钮可以上下文方式呈现给用户,从而允许在用户最想要请求进行所需动作时呈现用户界面按钮给用户。

在先前和以下描述中,描述了各种技术。出于解释的目的,阐述具体配置和细节以便提供对实现技术的可能方式的彻底理解。然而,也将明显的是,以下所描述的技术可在没有具体细节的情况下实践于不同的配置中。此外,可以省略或简化众所周知的特征以避免模糊正描述的技术。

图1展示可实现各种实施方案的环境100的例示性示例。在环境100中,用户102可出于各种目的利用用户设备104。例如,用户设备104可包括平板计算机、膝上型计算机、智能电话、智能手表、健身跟踪设备、心脏监测设备等。用户设备104可已安装各种不同的应用,所述各种不同的应用可以通过应用的一个或多个图标表示表示在用户设备104的gui上。用户设备104可包括安装在用户设备104上的用户界面按钮应用,所述用户界面按钮应用可由用户102用来配置可以通过gui呈现给用户102的一个或多个用户界面按钮106。通过应用,用户102可以识别可用来确定应用如何通过gui将一个或多个用户界面按钮106呈现给用户的一个或多个活动触发,以及可由应用用来确定一个或多个用户界面按钮106将是否被呈现给用户102的一个或多个触发。

通过应用,用户102可进一步定义将响应于活动触发呈现给用户102的一个或多个用户界面按钮106。例如,用户102可以定义用户界面按钮106,所述用户界面按钮如果被选择,则可使用户设备104提交用于可供消费的一个或多个物品的订单。用户102通过应用可以指定具体物品,所述具体物品将与响应于活动触发而呈现给用户102的用户界面按钮106相关联。作为例示性示例,用户102可以通过应用指定,如果应用检测用户102已完成跑步,则应用将生成用户界面按钮106,所述用户界面按钮如果被选择,则使用户设备104生成用于用户定义的运动饮料(例如,品牌、大小、风味等)的服务的订单。在一些实施方案中,用户102可通过应用指定应用将响应于活动触发而向用户102推荐物品。这可使安装在用户设备104上的应用将请求传输至零售商服务以至少部分基于由用户102定义的活动获得一个或多个推荐。应用可以将这些推荐存储在用户设备104上的高速缓存中,使得如果活动触发被检测,则应用可以自高速缓存选择推荐以在用户界面按钮106的创建中使用。

在实施方案中,应用响应于指定的活动触发的检测而通过用户设备104将用户界面按钮106呈现给用户102。例如,应用可以被配置来从用户设备104所在的周围环境获得测量,并且分析这些测量以确定是否已经进行指定的活动。安装在用户设备104上的应用可被配置来与一个或多个外围设备交互以获得这些测量。作为例示性示例,应用可以从用户设备104获得全球定位系统(gps)数据以确定由用户102行进的任何距离,以及用于所行进距离的速率。应用也可以从安装在用户设备104上的一个或多个加速计或运动传感器获得信号数据,以识别用户设备104的任何移动。应用可以利用从安装在用户设备104上的一个或多个外围设备获得的数据来确定是否已进行指定的活动。另外或替代地,用户设备104可以从一个或多个其他设备108获得传感器数据,所述其他设备没有安装在用户设备104上但以其他方式与用户设备104通信耦合以传输传感器数据。例如,如图1中所例示,用户102可以利用智能手表或其他心脏监测设备108来在活动期间跟踪用户的心率。心脏监测设备108可将传感器数据传输至用户设备104,所述传感器数据指定用户的心率和可由心脏监测设备108收集的任何其他信息。在一些实施方案中,应用与安装在用户设备104上的其他应用交互以获得确定是否已进行活动所必需的数据。例如,应用可与安装在用户设备104上的健身应用交互,所述健身应用可被配置来规划用户的活动,从而收集卡路里信息、心率信息、血压信息等。应用可以利用来自健身应用的这个信息来确定是否已进行活动。

在一些实施方案中,应用从零售商服务接收信息,所述信息可被用作用于呈现用户界面按钮106的活动触发。例如,如果用户102已通过应用识别活动触发为用户102在特定的时间段内未曾订购指定的物品,则应用可以将用于这个触发的活动参数传输至零售商服务。作为响应,零售商服务可随时间推移评估用户购买以确定用户102是否已在特定的时间段期间购买了指定的物品。如果用户102在特定的时间段期间未曾购买物品,则零售商服务可以将信息传输至应用,所述信息可以充当用于呈现用户界面按钮106的活动触发。在另一实施方案中,应用可以从用户设备104的一个或多个外围设备或应用获得数据并且将这个数据传输至零售商服务,所述零售商服务可以利用数据来确定由用户102指定的活动是否已进行。零售商服务可将其确定传输至应用,所述应用可确定是否呈现用户界面按钮。

如果安装在用户设备104上的应用检测活动的进行(例如,按钮呈现触发),则应用可以确定如由用户102指定的用户界面按钮的配置参数,并且生成用户界面按钮106。应用可以通过用户设备104的gui将用户界面按钮106呈现给用户102。例如,应用可向用户102呈现用户界面按钮的图标表示或其他图形表示。替代地,应用可生成指示应用已检测到活动的进行的通知,如文本消息。通知可包括一个或多个用户界面按钮,所述用户界面按钮可由用户102用来指定是想要购买所呈现的物品还是想要忽略通知。如果用户选择忽略通知,则应用可终止通知,使得其不再通过gui可见。应注意,在一些实施方案中,用户界面按钮可使用非图形界面或图形界面和非图形界面的组合加以呈现。例如,在实施方案中,应用可以将询问用户102是否想要购买物品的音频消息传输至用户102,而不是呈现用于物品的购买的gui按钮。用户102可以利用用户设备104的麦克风来指示购买的赞同或拒绝。

在一些实施方案中,应用实现图形控制元件(例如,窗口小组件),所述图形控制元件可以显示在用户设备104的gui上,以用于呈现用户界面按钮106和/或呈现在被选择时可发起应用的界面的按钮,所述界面可用来配置用户界面按钮106。如果应用未曾检测到用于呈现用户界面按钮106的活动触发,则应用可配置图形控制元件以显示用户界面按钮,所述用户界面按钮可用来配置用户界面按钮106并且定义用于这些按钮106的任何活动触发。然而,如果应用检测到活动触发,则应用可通过移除用于配置用户界面按钮106的用户界面按钮和添加对应于所检测的活动触发的一个或多个用户界面按钮106来更新图形控制元件。

响应于用户界面按钮106通过用户设备104的gui的呈现,用户102可以选择用户界面按钮106以提交用于指定物品的订单。应用可以检测用户界面按钮106的选择并且确定用户102是否被认证以用于订单的处理。例如,用户102可以提供凭证信息,所述凭证信息可由应用结合零售商服务用来认证用户102。如果用户102先前已由应用认证并且导致用户102的认证会话到期的特定时间段还没有过去,则可能不要求用户102将凭证信息提供至应用。如果认证会话仍是活跃的或用户102已提供凭证的可信集合,则应用可生成物品订单请求,所述物品订单请求可被处理以使用户102能够购买在用户界面按钮106中识别的物品。应用可将物品订单请求传输至零售商服务,并且在一些情况下,等待来自零售商服务的物品订单请求已由零售商服务处理的确认。

零售商服务可以从应用获得物品订单请求并且处理请求以启动选定的物品到用户102的递送。例如,响应于物品订单请求,零售商服务可以访问用户102的顾客简档,以识别用于物品的优选付款方法和优选运送地址。零售商服务可将物品订单请求传输至订单分派服务或其他递送服务,所述订单分派服务或其他递送服务可以准备所识别的物品以用于递送至用户102。这个订单分派服务可至少部分基于用户的优选运送地址或如通过用户设备的位置的检测确定的用户的当前地址和待递送的物品,来确定用于物品的估计递送日期。订单分派服务可以将这个信息提供至零售商服务,所述零售商服务可以将信息传输至安装在用户设备104上的应用。应用可如通过图形控制元件或通知窗口的使用更新gui,以指示物品订单请求的接收确认以及用户102可以利用来确定用于订够物品的估计递送时间的任何递送信息。

如以上所述,安装在用户设备上的应用可被配置来实现一个或多个图形控制元件,所述图形控制元件可用来响应于活动触发的检测而显示一个或多个用户界面按钮,并且显示可用来配置或生成一个或多个用户界面按钮的用户界面按钮,所述一个或多个用户界面按钮可以通过图形控制元件呈现。因此,图2展示根据至少一个实施方案的图形用户界面的图形控制元件204响应于一个或多个活动的检测而被更新以包括用户界面按钮208的环境200的例示性示例。在环境200中,用户设备202的gui可被配置来显示与安装在用户设备202上的零售商应用相关联的一个或多个图形控制元件。例如,用户设备202的用户可以将零售商应用安装至用户设备202上,并且利用应用来配置用于显示零售商应用的图形控制元件204的外观和设置。例如,用户可以配置用户设备202的gui内的图形控制元件204的大小、待通过图形控制元件204呈现的用户界面按钮、图形控制元件204的颜色和形状等。

至少部分基于由用户在应用的初始建立期间指定的图形控制元件204的配置,应用可使用户设备202的gui显示图形控制元件204。图形控制元件204可包括配置按钮206,所述配置按钮响应于按钮206的选择,可使应用执行gui上的配置窗口,所述配置窗口可用来配置一个或多个用户界面按钮208,所述一个或多个用户界面按钮可以通过图形控制元件204或通过gui的分段显示,如以下将更详细地描述。通过配置窗口,可为用户设备202的用户呈现用于配置用户界面按钮208的各种选项。例如,用户可以利用配置窗口来指定一个或多个活动触发,所述一个或多个活动触发可由零售商应用用来确定用户界面按钮208的放置。另外,用户可以利用配置窗口来指定何物品将响应于活动触发而通过用户界面按钮208被出售。例如,用户可以指定可通过用户界面按钮208呈现给用户的具体物品。替代地,用户可以指定应用可至少部分基于活动触发来呈现用于物品的一个或多个推荐。

零售商应用可被配置作为用户设备202上的后台进程来运行,监测来自用户设备202和来自其他设备的输入信号数据以及来自安装在设备202上的其他应用的其他信息,以检测由用户设备202的用户进行的任何活动。例如,如果用户已将活动触发定义为跑步的终结(该跑步的最小距离为1英里),则零售商应用可以评估来自用户设备202的gps数据,以及任何生物信息(例如,心率、血压、钠水平等)以确定用户是否已完成跑步。如果应用检测到活动触发,则应用可以至少部分基于用于用户界面按钮208的用户定义的参数来确定用户界面按钮208的配置。例如,如果用户已指定具体物品将使用通过图形控制元件204呈现的用户界面按钮208出售,则应用可用用户界面按钮208替换配置按钮206。这个用户界面按钮208可包括由用户指定的具体物品的图标表示,以及可以指示按钮208可用来订购所识别的物品的其他元件。

如果用户选择呈现在图形控制元件204上的用户界面按钮208,则应用可以检测按钮208的选择并且代表用户设备202的用户准备购买请求。购买请求可指定待购买的物品,以及可用来识别用户的顾客帐户的用户信息。应用可以将购买请求传输至零售商服务,所述零售商服务可以利用包括在请求内的用户信息来识别用户的顾客帐户。顾客帐户可指定用户的运送地址以及可用于购买请求的付款信息。零售商服务可处理购买请求并且将通知传输至应用,从而提供购买请求的确认和(如果可利用)用于购买的物品的估计递送日期。这可使应用更新图形控制元件204或在用户设备202的gui上生成新通知窗口以确认购买请求并且为用户提供用于购买的物品的估计递送日期。在一些实施方案中,按钮208如通过订阅服务与已提前付款的物品相关联。因而,如果用户选择按钮208,则零售商服务可以确定用户具有用于物品的有效订阅并且准备物品以用于递送给用户而不需要获得付款信息。

在实施方案中,用户可以选择配置按钮206以配置一个或多个用户界面按钮208,所述一个或多个用户界面按钮可用于由用户并在任何时间指定的任何目的。例如,通过响应于配置按钮206的选择生成的配置窗口,用户可以指定可用来确定一个或多个用户界面按钮208的呈现的配置信息。此外,用户可指定一个或多个用户界面按钮208中每一个的目的。作为例示性示例,用户可以配置用户界面按钮208,使得如果用户界面按钮208被选择,则用户设备202可代表用户将用于物品的订单请求传输至服务。这个用户界面按钮208为用户通过图形控制元件204或gui的其他特征可利用的,除非用户后来改变用户界面按钮208的配置或完全移除用户界面按钮208。

在一些实施方案中,零售商应用利用gui内的一个或多个通知窗口来为用户呈现用户界面按钮,以及可对于用户有用的其他文本信息。一个或多个通知窗口可在不使用由用户指定的配置信息的情况下由零售商应用生成。例如,应用可被配置来评估来自用户设备的多个不同外围设备和安装在用户设备上的其他应用的信号数据,以确定正由用户进行的活动。应用可至少部分基于正由用户进行的活动生成一个或多个推荐并且将用户界面按钮呈现给用户。因此,图3展示根据至少一个实施方案的图形用户界面300的例示性示例,在该的图形用户界面300中,响应于一个或多个活动的检测呈现包括一个或多个用户界面按钮304、306的通知窗口302。

如以上所述,用户设备的用户可将零售商应用安装至用户设备上,所述零售商应用可用来监测用户活动以提供可由用户用来购买一个或多个物品的一个或多个用户界面按钮。零售商应用可被配置来作为用户设备的后台进程运行,监测来自一个或多个外围设备的信号数据和安装在用户设备上的其他应用,以识别正由用户进行的一个或多个活动。在一些示例中,应用包括可响应于由用户进行的不同活动生成的推荐的数据库或高速缓存。例如,如果用户参与跑步或远足,则应用可以识别与跑步种类相关联的一个或多个推荐并且选择针对特定物品的推荐。在一些实施方案中,应用可处理从各种外围设备和/或安装在设备上的其他应用获得的信号数据,以准备随时间推移收集的数据的总结。应用可将这个总结提供至零售商服务,所述零售商服务可处理总结并识别由用户设备的用户进行的一个或多个活动。零售商服务可进一步传输用于可出售给用户的物品的一个或多个推荐,所述物品可与所识别的一个或多个活动有关。在又一个示例中,零售商服务自身可评估用户的顾客简档,包括任何购买,以检测活动触发,所述活动触发可导致用户界面按钮304的呈现。零售商服务可将请求传输至安装在用户设备上的应用,以至少部分基于检测的活动触发和由零售商服务提供的任何推荐来生成用户界面按钮304。

响应于来自零售商服务的请求或响应于检测到特定活动的进行,应用可以在gui300内生成通知窗口302以为用户呈现一个或多个用户界面按钮304、306。通知窗口302可包括文本消息,所述文本消息可指定由设备的用户进行的活动。此外,通知窗口可包括用户界面按钮304,所述用户界面按钮可用来购买在用户界面按钮304中识别的特定物品。例如,零售商应用可评估一个或多个推荐以识别在所识别活动结束时可吸引用户的物品。用户界面按钮304可被生成,使得其识别由零售商应用推荐的物品。

除用户界面按钮304之外,零售商应用可在通知窗口302内提供忽略按钮306,用户可在没有提交用以购买在用户界面按钮304中识别的物品的订单的情况下利用所述忽略按钮来消除通知窗口302。在一些实施方案中,如果用户选择忽略按钮306,则零售商应用可防止通知窗口302响应于所识别的活动的进一步显示。因而,如果用户再次进行活动,则零售商应用可不为用户呈现通知窗口302或用户界面按钮304。

在实施方案中,零售商应用将通过通知窗口302为用户呈现选项,以配置可响应于未来的、类似的活动触发呈现给用户的用户界面按钮304。零售商应用可通过通知窗口302通知用户其已检测到用户已完成活动。另外,零售商应用可呈现样本用户界面按钮,所述样本用户界面按钮可响应于活动完成的未来检测而被呈现给用户。用户可以选择按钮以访问应用的配置窗口以配置用户界面按钮304。用户可指定待通过用户界面按钮304出售的特定物品、用于用户界面按钮304的呈现的活动触发和用于用户界面按钮304的呈现的方法。替代地,如果用户不想配置用于特定活动的用户界面按钮304,则用户可以选择忽略按钮306以消除通知窗口302并且防止响应于活动的通知窗口302的进一步呈现,除非用户通过应用明确地改变活动触发。

如以上所述,用户可利用零售商应用来配置用于用户界面按钮的呈现的一个或多个活动触发。除定义活动触发之外,用户可利用零售商应用来配置哪些物品将与物品图形用户界面按钮相关联,是如由用户定义的具体物品或是可订购的物品的推荐,如通过零售商应用和/或零售商服务选择。因此,图4展示根据至少一个实施方案的图形用户界面400的例示性示例,在该图形用户界面400中,应用被利用来配置一个或多个用户界面按钮。

通过gui400,用户可以选择零售商应用的图形表示以访问配置窗口402,用户可利用所述配置窗口来配置一个或多个用户界面按钮。通过配置窗口402,零售商应用可为用户提供各种选项,所述选项可用来配置各种触发,应用可使用所述各种触发来确定是否呈现一个或多个用户界面按钮。例如,如图4中所例示,零售商应用可通过配置窗口402提供活动触发下拉菜单404。活动触发下拉菜单404可指定用于活动触发的各种选项,所述活动触发可被利用来确定是否显示特定的用户界面按钮。例如,应用的用户可以指定活动触发包括用户完成跑步或“正跑步”的检测。这可使零售商应用监测一个或多个外围设备和安装在设备上的其他应用,以确定用户是否已完成跑步。例如,零售商应用可以评估从设备获得的gps数据,以计算行进的距离和在行进所述距离期间的速度。此外,零售商应用可以评估来自安装在设备上的其他应用的生物信息,如心率、血压、钠水平等。另外或替代地,零售商应用可检测用户已执行安装在设备上的特定健身应用,所述特定健身应用终止时可指示活动的结束,从而导致活动触发的检测。

在一些实施方案中,零售商应用可另外检测未由用户指定的活动触发。例如,零售商应用可从零售商服务接收用户没有购买用户通常以特定时间间隔购买的特定物品的指示。响应于这个指示,零售商应用可以生成用户界面按钮,所述用户界面按钮可由用户用来购买物品。通过配置窗口402,零售商应用可为用户呈现一个或多个选项以停用来自零售商服务的任何活动触发。因而,如果零售商服务检测用户在一定时间段上没有购买特定物品,则零售商应用可响应于这个检测不为用户呈现用户界面按钮。替代地,用户可以指定用户界面按钮如何响应于来自零售商服务的指示通过gui400被呈现给用户。

零售商应用可通过配置窗口402进一步提供物品出售下拉菜单406,用户可以利用所述物品出售下拉菜单来选择将通过用户界面按钮呈现给用户的具体物品。如果用户通过物品出售下拉菜单406选择待呈现的具体物品,则应用可更新配置窗口402以包括至零售商服务网站的超文本链接,用户可以利用所述超文本链接来选择具体物品。零售商应用可从零售商服务或通过观察用户与网站的交互接收具体物品的选择,该具体物品将在呈现给用户时在用户界面按钮内被识别。

通过物品出售下拉菜单406,还可为用户呈现选项以使零售商应用推荐用于购买的特定物品,所述特定物品可通过用户界面按钮呈现给用户。例如,至少部分基于指定的一个或多个活动触发,零售商应用可以确定用于可在所检测活动的进行时对于用户为合意的物品的推荐。例如,如果用户已完成跑步,则零售商应用可通过用户界面按钮推荐用户可在跑步之后消费的运动饮料或营养棒。零售商应用可从零售商服务获得这些推荐。例如,零售商应用可将指定的活动触发传输至零售商服务,所述零售商服务可以维持用于可由零售商服务或应用检测的任何可能活动触发的推荐的集合。零售商服务可将这些推荐提供至安装在用户设备上的应用。响应于获得这些推荐,应用可高速缓存应用于用户设备上。因而,如果活动触发被检测,则应用可以访问高速缓存并且为用户选择物品推荐。在替代性实施方案中,应用将来自安装在设备上的各种外围设备的信号数据和来自活跃应用的信息传输至零售商服务,所述零售商服务利用这个数据和信息来识别进行的活动和待提供至应用的推荐。

应用可进一步配置配置窗口402以包括按钮放置窗口408,所述按钮放置窗口可包括用户设备的图形表示和其gui400,所述按钮放置窗口可用来指定用户界面按钮在gui400上的放置。例如,如图4中所例示,按钮放置窗口408可被分成表示gui400的不同部分的若干分段。用户可以选择这些分段中一个以指示用户界面按钮在由零售服务应用呈现给用户时将被放置在何处。应注意,按钮放置的确定可以额外和/或替代性方式进行。例如,代替按钮放置窗口408,应用可以利用默认放置及按钮定大小配置来生成用户界面按钮并将按钮放置在gui400上。替代地,零售商应用可允许用户确定用户界面按钮和/或图形控制元件的大小,所述图形控制元件可用来显示由用户配置的各种用户界面按钮。

在一些实施方案中,应用可以配置配置窗口402以包括一个或多个元件,所述一个或多个元件可用来例示如由用户配置的用户界面按钮的外观。通过这些一个或多个元件,用户可以调整用户界面按钮的外观,如所述用户界面按钮将响应于一个或多个活动触发的检测而出现在gui400上。因而,用户可以根据用户的偏好定制用户界面按钮。

配置窗口402可包括接受按钮410,用户可以利用所述接受按钮来确认用户界面按钮的指定的配置和用于按钮的呈现的其他偏好。响应于接受按钮410的选择,零售商应用可启动监测来自安装在设备上的各种外围设备的信号数据和与安装在设备上的其他应用的任何交互,以检测任何活动触发。在一些情况下,零售商应用可将配置信息传输至零售商服务,所述零售商服务可至少部分基于由用户通过配置窗口402指定的配置将物品推荐提供至应用。另外,在一些情况下,零售商应用可将信号和应用数据提供至零售商服务,所述零售商服务可自身检测活动触发。配置窗口402可进一步包括取消按钮412,用户可以利用所述取消按钮来取消其用户界面按钮的配置并且终止配置窗口402。

图5展示根据至少一个实施方案的环境500的例示性示例,在环境500中,来自各种组件的数据用来检测活动并且通过安装在用户设备上的零售商应用502生成一个或多个用户界面按钮。如以上所述,用户设备可包括一个或多个外围设备(例如,传感器),所述外围设备可用来扫描周围环境并获得信号数据,所述信号数据可用来确定设备的用户是否参与活动。安装在用户设备上的零售商应用502可被配置来启动这些一个或多个外围设备并且获得信号数据。零售商应用502可以响应于用户通过应用502配置一个或多个用户界面按钮而开始利用一个或多个外围设备来扫描环境。

如图5中所例示,零售商应用502可以与安装在用户设备上的一个或多个外围设备交互,以扫描周围环境。例如,在这个特定例示性示例中,零售商应用502可以与至少五种类型的外围设备交互。在这个示例中,可安装在用户设备上的外围设备包括gps天线512、麦克风514、光传感器516、运动传感器518和摄像机520,但是并不是本公开的所有实施方案都将包括所有这类外围设备,并且除本文明确地描述的外围设备之外或作为本文明确地描述的外围设备的替选方案,额外外围设备可以安装在计算设备上。

gps天线512可安装在用户设备上以识别用户设备在地球表面上的位置。gps天线512以及安装在计算设备上的集成gps接收器可以用来与环绕地球的四个或更多个卫星通信,以确定gps接收器与四个或更多个卫星中每一个之间的距离。此外,gps接收器可以无线电信号的形式从这些卫星中每一个接收环绕地球表面的这四个或更多个卫星的位置。因此,用这个信息,gps接收器可利用三维三角测量来计算gps接收器在地球表面上的位置。因而,gps天线512和gps接收器可被利用来确定用户设备是正在私人住宅、公共位置还是其他位置中被利用。另外,gps天线512和gps接收器可被利用来确定用户设备是否正在城市环境、农村/荒野环境等中被利用。

麦克风514可以安装在用户设备上以检测并且记录来自周围环境的音频输入。麦克风514可被配置来将声波转换成电信号,处理器可以利用所述电信号来测量声波的强度。此外,处理器可以将来自麦克风514的电信号记录成数字文件,所述数字文件可由音频软件应用用来分析所记录的音频输入,并且基于分析来确定音频输入的某些特性。例如,音频软件应用也许能够辨别一个或多个个人在周围环境中是否存在并且正彼此说话。此外,音频软件应用也许能够辨别其他音频产生设备是否正在周围环境内操作。因此,麦克风514可被利用来确定用户设备是正在公共位置、嘈杂位置还是多于一个个人存在的位置中被利用。

光传感器516可安装在用户设备上以检测周围环境中的光强度。例如,光传感器516可被配置来将来自周围环境的光能转换成电信号。处理器可以利用这个电信号来确定周围环境的一个或多个特性。例如,电信号可被利用来确定哪种光源存在于周围环境中。因此,光传感器516可被利用来确定用户设备是否正在具有商业、家庭或自然光源的位置中被利用。

运动传感器518可安装在用户设备上以检测个人或周围环境内的其他对象的运动。运动传感器518可被配置来以各种方式操作。例如,计算设备可包括基于雷达的运动传感器,所述基于雷达的运动传感器可被配置来遍及周围环境传输无线电信号。因此,运动传感器518可以从环境接收反射信号。如果在任一时刻,来自环境的反射信号改变,则运动传感器518可以检测环境中的变化的存在。零售商应用502可以利用运动传感器518来检测这种变化并且启动其他外围设备以获得新环境测量。

摄像机520可出于各种目的安装在用户设备上。例如,摄像机520可用来捕获周围环境的象形(例如,视觉)表示,所述象形(例如,视觉)表示尤其可用来确定周围环境的特性、由设备的用户进行的活动、由用户穿着的可用来指示活动的进行的服装等。周围环境的这个象形表示也可用来获得额外的冗余数据点,如由其他外围设备产生的那些数据点。例如,周围环境的象形表示可用来确定周围环境的光强度。在另一示例中,可使用摄像机520代替运动传感器518,使得如果摄像机520检测周围环境中的变化,则摄像机520可以持久地操作并捕获周围环境的象形表示。

零售商应用502可包括本地活动分析组件522,所述本地活动分析组件可包括用于分析来自多个外围设备的任何信号数据以确定活动是否正在进行的一个或多个进程或代码。例如,本地活动分析组件522可以利用来自gps天线512和gps接收器的信号数据以至少部分基于来自gps天线512和gps接收器的信号数据的变化来确定用户设备随时间推移的位置和用户设备移动的速度。此外,本地活动分析组件522可以利用周围环境和设备的用户的象形表示来确定用户是否参与活动。至少部分基于从各种外围设备和安装在用户设备上的其他应用获得的信号数据,本地活动分析组件522可以检测一个或多个活动触发,所述一个或多个活动触发可指示用户的活动的进行,使得可为用户生成用户界面按钮。零售商应用502可以利用从本地活动分析组件522聚集的数据,以及用于用户界面按钮的用户配置规范,来生成一个或多个用户界面按钮。这些用户界面按钮可用来为用户呈现选项以通过按钮的选择购买一个或多个物品。用户界面按钮可为用户呈现具体物品,如由用户定义的,或用于用户可通过按钮的选择购买的物品的推荐。

在一些实施方案中,零售商应用502经由通信网络510(例如,因特网)将请求传输至零售商服务504以认证用户的用户凭证以使得能够进行一个或多个物品订单请求的处理。零售商服务504可包括身份管理组件508,所述身份管理组件可获得由零售商应用502提供的任何凭证信息以认证用户设备的用户。如果用户由身份管理组件508认证,则零售商服务504可以将用户的成功认证的指示传输至零售商应用502。用户可保持认证达特定时间段,在所述特定时间段之后,用户的认证可期满并且可要求用户将其凭证信息提供至身份管理组件508以用于认证。

在实施方案中,零售商服务504包括服务活动分析组件506,所述服务活动分析组件经配置来分析用户的顾客帐户或简档以确定用户界面按钮将是否被呈现给用户以使用户能够购买一个或多个物品。例如,服务活动分析组件506可评估用户的购买历史并且识别用户可能已按某一频率购买的一个或多个物品。如果存在相对于这个频率的偏差,则服务活动分析组件506可以识别这个物品,并且将请求传输至零售商应用502以为用户生成用户界面按钮,所述用户界面按钮可用来推荐所识别物品的购买。在另一示例中,用户通过零售商应用502指定活动触发可包括用户购买具体物品的频率中的变化。作为响应,零售商应用502可将这个配置信息传输至服务活动分析组件506,所述服务活动分析组件可监测用户的购买历史以识别频率中的任何变化。在一些实施方案中,零售商应用将来自各种外围设备的信号数据传输至服务活动分析组件506,所述服务活动分析组件可至少部分基于信号来确定活动触发是否可被识别。这可使服务活动分析组件506将指示活动触发已被检测的通知传输至零售商应用502。响应于通知,零售商应用502可为用户生成一个或多个用户界面按钮。

图6展示根据至少一个实施方案的环境600的例示性示例,在环境600中,响应于用户界面按钮604的选择而处理物品订单。在环境600中,可响应于一个或多个活动触发的检测通过用户设备602为用户呈现用户界面按钮604。例如,如果用户设备602的用户已完成跑步,则安装在用户设备602上的零售商应用可评估来自安装在用户设备602上的各种外围设备的信号数据,以及来自安装在用户设备602上的其他应用的数据,以检测一个或多个活动触发。用户界面按钮604可包括由顾客通过按钮604的配置指定的特定物品或由零售商应用或零售商服务608响应于活动触发选择的推荐物品的图标表示。

零售商应用在任何时间可以检测用户已选择用户界面按钮604,意味着用户想要订购在按钮604中指定的物品。响应于用户界面按钮604的选择,零售商应用可通过通信网络606传输购买选定物品的请求。请求可由零售商服务608的订单处理组件610获得,所述订单处理组件可被配置来认证用户(如果用户先前没有被认证)并且识别请求的参数以进行处理。例如,订单处理组件610可识别待购买的物品,以及可用来通过身份管理组件612识别用户的顾客帐户的用户的识别符。顾客帐户可指定用于物品的递送的优选运送地址和付款信息,所述付款信息可用来代表用户处理用于物品的付款。在认证会话已期满或用户先前没有被认证的情况下,身份管理组件612可进一步用来确定由用户供应的任何凭证的真实性。如果凭证不是有效的,则零售商服务608可通过零售商应用将请求传输至用户,以提供可用于认证的凭证。

订单处理组件610可与递送服务通信以确定用于物品的估计递送日期。此外,订单处理组件610可与分离库存服务通信以确定选定的物品是否可用于购买,并且如果如此,则传输请求以将物品传送至递送服务以用于递送至用户。订单处理组件610可将通知传输至零售商应用,所述通知包括购买请求已被接收的确认和(如果可购得)用于物品的估计递送日期。零售商应用可更新用户设备602的gui以显示通知,所述通知包括确认、估计递送日期和对指示用户购买请求成功处理有用的任何其他信息。

在一些实施方案中,只有在物品可购得以递送至用户时零售商应用才将用户界面按钮604呈现给用户。例如,响应于活动触发的检测,零售商应用可将传感器数据传输至零售商服务608以确定是否可完成物品的递送。例如,传感器数据可包括用户设备602的位置的gps坐标。零售商服务608可确定是否可完成物品至由gps坐标定义的位置的递送。如果递送不能进行,则零售商服务608可将指示递送不能进行的通知传输至应用。这可使零售商应用放弃用户界面按钮604的呈现。在一些示例中,零售商应用可反而为用户设备602的用户呈现用户可能感兴趣的其他物品的广告。

图7展示根据至少一个实施方案的环境700的例示性示例,在环境700中,至少部分基于通过安装在用户设备706上的应用定义的顾客偏好来配置一个或多个用户界面按钮。在环境700中,顾客702(例如,用户)可以通过用户设备706访问零售商应用704以配置一个或多个用户界面按钮。通过零售商应用704,顾客702可以指定可充当用于呈现一个或多个用户界面按钮的活动触发的一个或多个活动。另外,通过零售商应用704,顾客702可以指定用户界面按钮是否将为顾客702提供选项以购买由顾客702指定的具体物品或由零售商应用704至少部分基于所检测的活动触发推荐的物品。顾客702可利用零售商应用704来进一步配置用户设备706的gui上的用户界面按钮的呈现。

响应于顾客702提供用于一个或多个用户界面按钮的配置信息,零售商应用704可以确定顾客702是否已被认证。例如,零售商应用704可通过通信网络708将请求传输至零售商服务710以确定顾客702是否被认证。零售商服务710可通过身份管理组件714识别顾客帐户,并且通过顾客帐户,确定顾客702是否被认证。如果没有,则可提示顾客702提供可用来认证顾客702的凭证的集合。

零售商应用704可进一步将用于一个或多个用户界面按钮的配置信息传输至零售商服务710的请求处理子系统712。请求处理子系统712可以利用配置信息来确定是否将一个或多个推荐提供至零售商应用704,所述一个或多个推荐可用来生成一个或多个用户界面按钮。例如,如果顾客702已指定零售商应用可至少部分基于所检测的一个或多个活动触发生成包括用于特定物品的推荐的一个或多个用户界面按钮,则零售商应用可从零售商服务710获得用于物品的一个或多个推荐。零售商应用704可将这些推荐高速缓存在用户设备706内,直到需要产生将响应于一个或多个活动触发的检测而呈现给顾客702的用户界面按钮。替代地,如果零售商应用704检测一个或多个活动触发,则应用704可以将包括配置信息的请求传输至零售商服务710,所述零售商服务通过请求处理子系统712,可以生成由零售商应用704需要来生成一个或多个用户界面按钮的推荐。

图8展示根据至少一个实施方案的环境800的例示性示例,在环境800中,零售商服务802的各种组件被配置来实现并支持通过使用一个或多个用户界面按钮的物品订购。在环境800中,零售商服务802可包括请求处理子系统804,所述请求处理子系统可包括一个或多个计算机系统、安装在计算机系统上的应用或通过计算机系统执行的进程,所述计算机系统被配置来从安装在用户设备上的零售商应用获得配置信息,以至少部分基于所提供的配置信息生成用于可出售给用户的物品的推荐。例如,通过零售商应用,用户可以指定一个或多个活动触发,所述一个或多个活动触发如果被检测,则可使零售商应用生成可通过用户设备的gui呈现给用户的一个或多个用户界面按钮。用户可进一步配置用户界面按钮以至少部分基于指定的活动触发呈现推荐的物品。例如,如果用户已将活动触发定义为跑步的终结,则零售商应用可生成包括用于特定品牌的运动饮料或营养棒的推荐的按钮。类似地,如果用户在相当长的一段时间之后没有购买一双跑鞋,则零售商应用可提供包括用于一双新跑鞋的推荐的按钮。

在实施方案中,零售商应用将用于用户界面按钮的用户提供的配置信息传输至请求处理子系统804以至少部分基于所识别的活动触发生成用于可出售给用户的物品的一个或多个推荐。请求处理子系统804可以评估所提供的活动触发,并且至少部分基于这些活动触发识别通常与活动相关联的物品。例如,请求处理子系统804可以评估用于某些活动的购买趋势,并且识别由其他用户购买的最流行物品。另外,请求处理子系统804可以将请求传输至零售商服务802的身份管理组件810以识别包括在顾客简档数据存储区812中的顾客帐户,所述顾客简档数据存储区可包括用户的购买历史。请求处理子系统804可以评估用户的购买历史并且确定用户是否已做出先前购买,所述先前购买可被用作可响应于活动触发提供给用户的推荐。在一些实施方案中,活动触发可包括用户没有根据用于物品的购买的所识别频率购买物品的检测。因而,如果用户在一段时间没有购买物品,则请求处理子系统804可推荐创建包括用于物品的推荐的用户界面按钮。

零售商服务802可进一步包括订单处理组件806,所述订单处理组件可包括一个或多个计算机系统,所述一个或多个计算机系统被配置来处理输入物品购买请求并与一个或多个递送系统协调以确保在购买请求中识别的物品的递送。在任何时间,订单处理组件806可以从安装在用户设备上的零售商应用接收购买请求。购买请求可由应用响应于显示在用户设备的gui上的一个或多个用户界面按钮的用户选择生成。购买请求可指定待购买的物品、优选运送地址(如果由用户提供)和优选付款方法(如果由用户提供)。订单处理组件806可以评估购买请求,并且通过与库存管理系统的协调确定指定的物品是否可利用于购买。如果是,则订单处理组件806可与身份管理组件810交互以获得用户的顾客简档。如果没有通过请求提供,则这个顾客简档可用来识别优选运送方法和付款信息。另外,订单处理组件806可通过身份管理组件810确定用户是否在购买请求的处理之前已被认证。如果用户没有被认证,则订单处理组件806可以将请求传输至应用以请求可用来认证用户的来自用户的凭证。如果用户被认证,则订单处理组件806可以利用识别的付款信息来处理用于物品的付款。此外,订单处理组件806可以将请求传输至库存管理系统和递送系统以协调物品至用户的递送。

零售商服务802可还包括服务活动分析组件808,所述服务活动分析组件可包括一个或多个计算机系统,所述一个或多个计算机系统被配置来从安装在用户设备上的零售商应用获得并处理输入信号和应用数据,以检测用于一个或多个用户界面按钮的生成的任何活动触发。在实施方案中,安装在用户设备上的零售商应用从用户设备收集信号和应用数据并且将数据传输至服务活动分析组件808以用于评估。服务活动分析组件808可以评估数据并且通过身份管理组件810访问用于用户的顾客简档,以识别由用户通过应用指定的任何活动触发。至少部分基于获得的信号和应用数据的处理,服务活动分析组件808可能检测一个或多个活动触发并且将指示这些一个或多个活动触发的检测的通知传输至应用。这可使安装在用户设备上的零售商应用至少部分基于所检测的活动触发和用于待呈现物品的选择的用户偏好来生成用于待呈现给用户的特定物品的一个或多个用户界面按钮。

如以上所述,用户设备的用户可利用零售商应用来配置可响应于一个或多个活动触发呈现给用户的一个或多个用户界面按钮。替代地,零售商应用可以监测用户设备的使用以识别可用于一个或多个用户界面按钮的配置的任何触发。例如,如果零售商应用检测用户已完成跑步,则应用可为用户呈现选项以配置可响应于后续跑步呈现给用户的一个或多个用户界面按钮。至少部分基于由用户提供的用于用户界面按钮的参数,零售商应用可以监测用户设备的各种外围组件和传感器,以监测可用来检测一个或多个活动触发的传感器数据,其指示指定活动的进行。因此,图9展示根据至少一个实施方案的进程900的例示性示例,进程900用于响应于至少一个用户界面按钮的配置而配置监测组件以监测选定的信号以识别一个或多个活动。进程900可通过安装在用户设备上的零售商应用进行,所述零售商应用可被配置来与一个或多个外围设备和传感器交互以获得传感器数据,并且与监测组件(例如,本地活动分析组件)交互以监测所获得的传感器数据以检测由用户指定的一个或多个活动触发。

安装在用户设备上的零售商应用可作为后台进程运行,评估与用户设备的交互以检测902用于用户界面按钮的配置的触发。例如,零售商应用可以检测用户已利用安装在设备上的健身应用来跟踪并监测特定活动。另外或替代地,零售商应用可以检测用户已利用设备来购买与活动相关联的物品。在一些实施方案中,零售商应用从设备的一个或多个传感器获得传感器数据。至少部分基于所获得的传感器数据,零售商应用可以确定已进行活动,此可充当用于一个或多个用户界面按钮的配置的触发。

响应于触发的检测,零售商应用可为用户提供配置窗口,所述配置窗口可用来配置一个或多个用户界面按钮。例如,用户通过配置窗户可以指定用于用户界面按钮的一个或多个参数,如用户界面按钮在用户设备的gui上的呈现、用来确定何时提供用户界面按钮的活动触发和将通过用户界面按钮指定的物品(例如,推荐物品、具体物品、特定品牌等)。响应于用于用户界面按钮的一个或多个参数的用户定义,零售商应用可以确定904用户是否被认证。例如,用户可需要被认证以便处理通过使用一个或多个用户界面按钮提交的购买请求。零售商应用可还需要将传感器数据提供至零售商服务以检测由用户指定或由零售商服务定义的活动触发。零售商服务可需要用户在进行这种分析之前被认证。

如果用户不能被认证,则零售商应用可以请求906用户提供可用来认证用户的凭证的集合。零售商应用可将这些凭证提供至零售商服务,所述零售商服务可以评估凭证的集合以认证用户并且将用户已被认证的通知传输至零售商应用。在一些实施方案中,如果用户不能提供凭证的有效集合,则零售商应用可终止用户对配置一个或多个用户界面按钮的请求。在替代性实施方案中,零售商应用可继续提示用户需要凭证的有效集合,直到凭证的有效集合被提供并且由零售商服务成功地认证。

零售商应用可获得908由用户指定用于用户界面按钮的创建的各种参数,并且至少部分基于这些各种参数,配置910监测组件,如应用的本地活动分析组件或零售商服务的服务活动分析组件,以监测来自安装在用户设备上的传感器的输入传感器数据和设备的其他应用。例如,如果用户已通过应用指定跑步的终结可被视为用于一个或多个用户界面按钮的呈现的活动触发,则零售商应用可配置本地活动分析组件以分析来自gps天线、运动传感器、摄像机和安装在用户设备上的任何其他外围设备的传感器数据,所述传感器数据可用来确定用户是否已完成跑步。另外,零售商应用可配置本地活动分析组件以监测如健身应用的其他应用的使用,以确定用户是否已参与指定的活动。在一些实施方案中,零售商应用被配置来将传感器数据传输至零售商服务的服务活动分析组件,所述服务活动分析组件可使用传感器数据来检测指定的活动触发。

如以上所述,零售商应用可检测一个或多个活动触发,所述一个或多个活动触发可用来确定是否呈现由用户或由应用自身配置的一个或多个用户界面按钮。至少部分基于一个或多个用户界面按钮的配置参数,零售商应用可确定是否生成用户界面按钮,所述用户界面按钮至少部分基于所检测的活动触发呈现由用户定义的特定物品或用于物品的推荐。因此,图10展示根据至少一个实施方案的进程1000的例示性示例,进程1000用于响应于一个或多个按钮呈现触发的检测而更新gui以呈现用户界面按钮。进程1000可由安装在用户设备上的零售商应用进行。在一些实施方案中,进程1000可由零售商应用和零售商服务进行,其可以利用来自用户设备的传感器数据来检测任何活动触发。

零售商应用通过本地活动分析组件可被配置来评估来自安装在用户设备上的一个或多个外围设备的传感器数据和来自安装在用户设备上的其他应用的应用数据,以检测1002一个或多个按钮呈现触发,如活动触发,所述一个或多个按钮呈现触发可用来确定是否为用户呈现用户界面按钮。例如,响应于由用户通过应用的配置窗口定义的一个或多个配置参数,零售商应用可以识别一个或多个按钮呈现触发,所述一个或多个按钮呈现触发如果被检测,则可使应用为用户呈现用户界面按钮。在一些实施方案中,零售商应用将传感器和应用数据传输至零售商服务的服务活动分析组件,所述服务活动分析组件可利用数据来检测1002一个或多个按钮呈现触发。如果服务活动分析组件检测按钮呈现触发,则组件可将指示按钮呈现触发的检测的通知传输至零售商应用。

响应于按钮呈现触发的检测,零售商应用可确定1004设备的用户是否被认证。例如,为代表用户提交购买订单,用户可需要被认证以确保购买订单来自与指定的用户帐户相关联的用户。在一些实施方案中,零售商应用获得用户的凭证的集合并且代表用户启动认证会话。当认证会话为活跃的时,可不要求用户响应于用户界面按钮的选择或响应于按钮呈现触发的检测而提供其凭证的集合。

如果用户不能被认证,则零售商应用可以请求1006用户提供可用来认证用户的凭证的集合。零售商应用可将获得的凭证的集合传输至零售商服务,所述零售商服务可认证凭证的集合并且启动用于用户的认证会话,使得当认证会话为活跃的时,可不要求用户提供凭证的集合。在一些实施方案中,零售商应用将继续请求1006用户提供凭证的有效集合,直到用户可由零售商服务认证。替代地,如果由用户提供的凭证不能被认证,则零售商应用可忽视按钮呈现触发。

如果用户被成功地认证,则零售商应用可至少部分基于由用户和/或零售商服务定义的配置参数确定1008用户界面按钮的配置。例如,零售商应用可确定用户界面按钮将如何通过用户设备的gui呈现给用户。这可包括按钮的大小和形状、是否呈现通知窗口或更新图形控制元件以呈现用户界面按钮、待通过按钮呈现的一个或多个物品等。

至少部分基于由用户和/或零售商服务提供的配置信息,零售商应用可确定1010是否呈现用户界面按钮,所述用户界面按钮识别具体物品或用于可由用户购买的物品的推荐。例如,通过配置窗口,用户可指定,是否响应于活动触发,为用户呈现指定由用户选择来用于购买的具体物品的按钮。替代地,用户可指定零售商应用将至少部分基于所检测的活动触发生成用于物品的推荐。

如果配置信息指定用户将被提供用于与活动触发相关联的物品的推荐,则零售商应用可获得1012用于可通过用户界面按钮呈现给用户的物品的推荐。零售商服务可将请求传输至零售商服务以至少部分基于所检测的活动触发获得用于物品的推荐。在一些示例中,零售商应用可响应于用户通过应用的配置窗口定义用于按钮的配置信息而从零售商服务获得推荐。例如,应用可将配置信息传输至零售商服务,所述零售商服务可使用这个信息来识别可被推荐给用户的一个或多个物品。零售商应用可将这些推荐存储在用户设备的高速缓存中。因而,零售商应用可响应于活动触发的检测而从这个高速缓存或直接从零售商服务获得用于物品的推荐。

如果零售商应用确定具体物品将通过用户界面按钮或响应于获得用于可出售给用户的物品的推荐而被呈现,则零售商应用可更新1014用户设备的gui以呈现用户界面按钮。按钮可至少部分基于由用户通过配置窗口定义的参数被呈现给用户。此外,按钮可使用户能够选择按钮以提交通过用户界面按钮出售的物品的购买订单。

如以上所述,用户设备的用户可选择用户界面按钮以将购买请求提交至零售商服务以购买在按钮中识别的物品。响应于用户界面按钮的这个选择,安装在用户设备上的零售商应用可代表用户生成购买请求并且将额外信息提供至零售商服务,所述额外信息可用来识别用户和递送订购物品的优选递送方法。因此,图11展示根据至少一个实施方案的进程1100的例示性示例,进程1100用于响应于用户界面按钮的选择将物品订单请求提交至零售商服务。进程1100可由上述零售商应用进行,所述零售商应用可响应于通过用户设备的gui呈现给用户的用户界面按钮的选择而生成物品订单请求。

在任何时间,零售商应用可检测1102通过用户设备的gui的用户界面按钮的选择。用户界面按钮可与特定物品相关联,所述特定物品由用户选择来用于通过按钮呈现或至少部分基于用来生成按钮的活动触发推荐给用户。响应于用户界面按钮的选择,零售商应用可确定1104用户是否被认证。类似于以上所描述的进程1000,为了使应用代表用户提交购买订单,用户可需要被认证以确保购买订单来自与指定的用户帐户相关联的用户。如以上所述,零售商应用可获得用户的凭证的集合并且代表用户启动认证会话。当认证会话为活跃的时,可不要求用户响应于用户界面按钮的选择而提供其凭证的集合。

如果用户没有被认证,则零售商应用可请求1106用户提供可用来认证用户的凭证的集合。响应于从用户获得凭证的集合,应用可将凭证的集合传输至零售商服务,所述零售商服务通过身份管理组件,可尝试认证用户。如果用户被认证,则零售商应用可启动用于用户的认证会话,当会话为活跃的时,所述认证会话将消除对用户提供凭证的集合的需求。如果用户不提供凭证的有效集合,则零售商应用可提示用户提供凭证的有效集合,直到用户这样做。在一些示例中,如果凭证的有效集合未由用户提供,则零售商应用可忽视按钮的选择的检测。

如果用户被成功地认证,则零售商应用可代表用户生成1108购买选定物品的请求。零售商应用可在请求内指定用户标识符,所述用户标识符可由零售商服务用来识别与用户相关联的帐户和待购买的物品。在一些实施方案中,请求可包括如由用户在用户界面按钮的配置期间指定的优选运送地址和优选付款方法。这个额外信息可不同于在用户帐户中指定的信息但是可以覆写用户帐户中的信息。零售商应用可将这个请求传输1110至零售商服务以用于请求的处理。

如以上所述,零售商应用的用户可指定应用可以通过使用一个或多个用户界面按钮提供用于物品的推荐,所述物品可为在活动的进行之后用户感兴趣的。零售商应用可将请求传输至零售商服务以获得可响应于活动触发出售给用户的物品的一个或多个推荐。零售商服务可将这些推荐存储在用户设备的高速缓存中或以其他方式通过一个或多个用户界面按钮将这些推荐呈现给用户。因此,图12展示根据至少一个实施方案的进程1200的例示性示例,进程1200用于高速缓存用于可响应于某些活动参数出售给顾客的物品的一个或多个推荐。进程1200可由零售商服务进行,所述零售商服务可与安装在用户设备上的零售商应用通信以从用户获得活动参数,所述活动参数可用来生成可出售给用户的物品的推荐。

在任何时间,用户设备的用户可以利用零售商应用来配置一个或多个用户界面按钮。例如,通过应用,用户可指定一个或多个活动触发,所述一个或多个活动触发如果被检测,则可使应用为用户呈现一个或多个用户界面按钮以用于物品的购买。在一些实施方案中,用户可以选择使零售商应用通过用户界面按钮为用户提供对于用户可为合意的物品的推荐。替代地,零售商应用在没有用户输入的情况下可从用户设备收集活动信息,并且利用这个信息来识别用户的优选活动的集合。零售商应用可代表用户编译这些活动参数并且将活动参数传输至零售商服务以用于物品的一个或多个推荐的生成。因而,零售商服务可从用户设备接收1202活动参数。

类似于以上所描述的进程1000,为了使零售商服务代表用户生成一个或多个推荐,用户可需要被认证以确保所生成的推荐用于与指定的用户帐户相关联的用户。因而,零售商服务可确定1204用户是否可被认证。如以上所述,零售商应用可获得用户的凭证的集合并且代表用户启动认证会话。当认证会话为活跃的时,可不要求用户提供其凭证的集合。如果用户不能被认证,则零售商服务可请求1206用户通过应用将凭证的集合提供至服务。在一些实施方案中,不要求用户的认证来至少部分基于来自用户设备的活动参数生成用于用户的一个或多个推荐。

如果用户被认证,则零售商服务可以利用活动参数来生成1208用于可由用户购买的物品的一个或多个推荐。例如,零售商服务可至少部分基于来自用户设备的活动参数来识别一个或多个物品,所述一个或多个物品可受已进行类似活动的其他用户欢迎。另外或替代地,零售商服务可评估用户的购买历史以识别任何购买趋势,所述任何购买趋势可用来生成用于对用户可为合意的物品的推荐。零售商服务可将推荐传输1210至安装在用户设备上的零售商应用。这可使零售商应用将推荐高速缓存在用户设备内,直到需要用来响应于一个或多个活动触发生成一个或多个用户界面按钮。

如以上所述,零售商应用可评估输入活动和传感器数据以确定是否关于用户是否想要配置一个或多个用户界面按钮提示用户。例如,应用可被配置来识别由用户进行的任何活动并且至少部分基于所识别活动推荐一个或多个用户界面按钮的创建。因此,图13展示根据至少一个实施方案的进程1300的例示性示例,进程1300用于分析活动数据和传感器数据以确定是否更新用户界面以呈现一个或多个用户界面按钮。进程1300可由上述零售商应用进行。

零售商应用可被配置来从安装在用户设备上的各种传感器和安装在设备上的其他应用获得1302活动和传感器数据,所述活动和传感器数据可用来确定设备的用户是否已参与一个或多个活动。零售商应用可包括一个或多个算法,所述一个或多个算法可用来分析所获得的活动和传感器数据以识别由用户进行的活动。替代地,零售商应用可获得1304用于各种活动的一个或多个传感器参数,所述一个或多个传感器参数可用来确定正由用户进行的活动。例如,传感器参数可指定,如果在以每小时六英里行进时,gps数据指示大于一英里的设备移动,则零售商应用可确定用户已正在跑步。

至少部分基于所获得的传感器参数,零售商应用可分析1306所获得的活动和传感器数据以确定是否已进行活动。例如,如果没有满足特定的传感器参数,则零售商应用可确定对应于这些参数的活动没有由用户设备的用户进行。然而,如果已满足所获得的传感器参数,则零售商服务可确定已进行活动。零售商应用可以使用活动进行的这个确定来确定1308是否根据用户的规范更新用户界面。

如果零售商应用至少部分基于所获得的活动和传感器数据确定用户界面将不更新,则零售商应用可继续获得并处理活动和传感器数据以检测用户的任何活动的进行。然而,如果零售商应用至少部分基于用户的偏好或应用自身的配置确定应更新用户界面,则零售商应用可至少部分基于用户的偏好或应用的配置更新1310用户设备的用户界面。例如,如果用户已通过应用指定零售商应用将响应于活动的检测提示用户所述用户是否想生成一个或多个用户界面按钮,则零售商应用可更新用户设备的gui以将指示活动已被检测并且提示用户确定是否配置并生成用户界面按钮的通知呈现给用户。

图14例示根据各种实施方案的用于实现多个方面的示例性环境1400的多个方面。如将了解,尽管将基于web的环境用于解释的目的,但是可在适当时使用不同环境,以实现各种实施方案。环境包括电子客户端设备1402,所述客户端设备可包括可操作以经由适当网络1404发送和/或接收请求、消息或信息并且在一些实施方案中将信息传送回到设备的用户的任何适当设备。这类客户端设备的示例包括个人计算机、手机、手持式消息收发设备、膝上型计算机、平板计算机、机顶盒、个人数据助理、嵌入式计算机系统、电子书阅读器等。网络可包括任何适当网络,包括内联网、因特网、蜂窝网络、局域网、卫星网络或任何其他这种网络和/或其组合。用于这种系统的组件可至少部分取决于选定的网络和/或环境的类型。用于通过这种网络通信的许多协议和组件是众所周知的并且本文将不详细地加以论述。经由网络的通信可通过有线或无线连接和其组合启用。在这个示例中,网络包括因特网和/或其他公共可寻址通信网络,因为环境包括用于接收请求和响应于所述请求服务内容的web服务器1406,但是对于其他网络,可使用服务类似目的的替代性设备,如对本领域中普通技术人员显而易见的。

例示性环境包括至少一个应用服务器1408和数据存储区1410。应理解,可存在可被链接或以其他方式配置的若干应用服务器、层或其他元件、进程或组件,其可交互以进行任务,如从适当数据存储区获得数据。如本文所使用的服务器可以各种方式实现,如硬件设备或虚拟计算机系统。在一些情境下,服务器可指的是正在计算机系统上执行的程序设计模块。如本文所使用,除非另有说明或从上下文明白,术语“数据存储区”指的是能够存储、访问和检索数据的任何设备或设备的组合,其可包括任何标准、分布式、虚拟或集群环境中的数据服务器、数据库、数据存储设备和数据存储介质的任何组合及任何数目。应用服务器可包括任何适当硬件、软件和固件,其用于根据需要与数据存储区集成以执行用于客户端设备的一个或多个应用的方面、处置用于应用的数据访问和商业逻辑中的一些或全部。应用服务器可与数据存储区合作来提供访问控制服务,并且能够生成内容,包括但不限于文本、图形、音频、视频和/或可用来提供给用户的其他内容,所述内容可由web服务器以超文本标记语言(“html”)、可扩展标记语言(“xml”)、javascript、级联样式表(“css”)、javascript对象记法(json)和/或另一适当客户端侧结构化语言的形式为用户服务。传送至客户端设备的内容可由客户端设备处理来以一个或多个形式提供内容,所述一个或多个形式包括但不限于用户可听见地、可视地和/或通过其他感觉可察觉的形式。所有请求和响应的处置,以及内容在客户端设备1402与应用服务器1408之间的传送,可由web服务器使用以下处置:php:超文本预处理器(“php”)、python、ruby、perl、java、html、xml、json和/或这个示例中的另一适当服务器侧结构化语言。此外,除非从上下文另外明白,否则本文描述为由单个设备进行的操作可由多个设备共同地进行,所述多个设备可形成分布式系统和/或虚拟系统。

数据存储区1410可包括若干分离数据表、数据库、数据文档、动态数据存储方案和/或用于存储与本公开的特定方面有关的数据的其他数据存储机制和介质。例如,所例示的数据存储区可包括用于存储生产数据1412和用户信息1416的机制,所述生产数据和用户信息可用来服务用于生产侧的内容。数据存储区还展示为包括用于存储日志数据1414的机制,所述日志数据可用于报告、分析或其他这类目的。应理解,可存在可需要存储在数据存储区中的许多其他方面,如页面图像信息和访问权限信息,其可在适当时按以上列举的机制中任何机制或以额外机制存储在数据存储区1410中。数据存储区1410为通过与其相关联的逻辑可操作的,以从应用服务器1408接收指令并且响应于所述指令获得、更新或以其他方式处理数据。应用服务器1408可响应于接收的指令而提供静态数据、动态数据或静态和动态数据的组合。动态数据如在web日志(博客)、购物应用、新闻服务和其他这种应用中使用的数据可通过如本文所描述的服务器侧结构化语言生成,或可通过在应用服务器上或在应用服务器的控制下操作的内容管理系统(“cms”)提供。在一个示例中,用户通过由用户操作的设备可提交用于一定类型的物品的搜索请求。在这种情况下,数据存储区可访问用户信息以验证用户的身份,并且可以访问目录细节信息以获得关于那个类型的物品的信息。信息随后可被返回到用户,如在列举在网页上的结果中,用户能够通过用户设备1402上的浏览器查看所述网页。用于感兴趣的特定物品的信息可在浏览器的专用页面或窗口中查看。然而,应注意,本公开的实施方案不一定限于网页的情境,但是可更一般地可适用于处理一般请求,其中请求不一定为用于内容的请求。

每个服务器通常将包括提供用于该服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),所述指令在由服务器的处理器执行时(即,作为被执行的结果)允许服务器进行其预期功能。

在一个实施方案中,环境为分布式和/或虚拟计算环境,所述分布式和/或虚拟计算环境利用通过通信链路、使用一个或多个计算机网络或直接连接互连的若干计算机系统和组件。然而,本领域普通技术人员将了解,这种系统可在具有相比于图14中所例示的更少或更大数目的组件的系统中同样很好地操作。因而,图14中的系统1400的描绘本质上应被视为例示性的,并且不是对本公开的范围的限制。

可鉴于以下条款描述本公开的实施方案的示例:

1.一种计算机实现的方法,其包括:

在用可执行指令配置的一个或多个计算机系统的控制下,

至少部分基于从设备的传感器集合获得的第一传感器数据检测活动的进行;

至少部分基于所述活动确定用于与可供使用的物品相关联的图形用户界面组件的推荐;

接收用于所述图形用户界面组件的用户选定的参数;

启用所述图形用户界面组件,以使一个或多个通信被从所述设备传输以代表与所述设备相关联的帐户针对可供使用的物品发出订单;

至少部分基于从所述设备的所述传感器集合获得的第二传感器数据检测所述活动的进行;

根据所述用户选定的参数提供所述图形用户界面组件;以及

作为检测与所述图形用户界面组件的交互的结果,传输所述一个或多个通信以代表与所述设备相关联的帐户发出订单。

2.如条款1所述的计算机实现的方法,其中用于所述图形用户界面组件的用户选定的参数指定所述物品,使得所述图形用户界面组件指定所述物品。

3.如条款1或2所述的计算机实现的方法,其中:

用于所述图形用户界面组件的用户选定的参数指定所述图形用户界面组件将被配置来指定用于可供使用的物品的第二推荐;以及

所述方法进一步包括:

响应于检测所述活动的进行,至少部分基于所述活动传输获得用于物品的一个或多个推荐的请求;

获得用于所述物品的一个或多个推荐;以及

从用于所述物品的一个或多个推荐中选择所述物品,使得所述图形用户界面组件被配置来呈现所述物品。

4.如条款1-3中任何条款所述的计算机实现的方法,其进一步包括将所述第二传感器数据传输至零售商服务以评估所述第二传感器数据,使得所述零售商服务确定所述活动的进行的检测。

5.一种系统,其包括计算设备,所述计算设备:

获得用于用户界面组件的一个或多个配置参数,所述配置参数指定待响应于与所述用户界面组件的交互进行的一个或多个操作,并且所述一个或多个操作包括至少将请求传输至外部服务器以实行工作流程,所述工作流程引起物理产品到与所述计算设备相关联的位置的递送;

通过所述用户设备的界面,根据所述一个或多个配置参数呈现所述用户界面组件;以及

作为检测与所述用户界面组件的交互的结果,进行所述一个或多个操作。

6.如条款5所述的系统,其中所述一个或多个服务进一步被配置来:

至少部分基于从所述用户设备获得的传感器数据,检测活动的进行;

至少部分基于所述活动,确定用于所述用户界面组件的推荐;以及

通过所述用户设备的界面呈现用于所述用户界面组件的推荐。

7.如条款5或6所述的系统,其中所述一个或多个服务进一步被配置来至少部分基于所述一个或多个配置参数,确定用于所述用户界面组件的呈现的触发,使得所述用户界面组件的呈现起因于所述触发的检测。

8.如条款7所述的系统,其中所述一个或多个服务进一步被配置来从一个或多个传感器获得传感器数据,所述一个或多个传感器与所述用户设备通信耦合,所述传感器包括全球定位系统接收器、运动传感器、摄像机、光传感器或其任何组合。

9.如条款8所述的系统,其中所述一个或多个服务进一步被配置来:

将所述传感器数据传输至零售商服务的活动分析组件,所述零售商服务被配置来评估所述传感器数据;

从所述活动分析组件接收关于活动是否已由所述用户设备的用户进行的确定;以及

利用所述确定来确定所述触发的检测。

10.如条款8所述的系统,其中:

所述用户界面组件为第一应用的组件;以及

所述传感器数据包括来自第二应用的应用数据。

11.如条款5-10中任何条款所述的系统,其中所述计算设备进一步:

从所述外部服务器接收所述请求的接收的确认;以及

更新所述用户设备的界面以呈现所述确认。

12.如条款5-11中任何条款所述的系统,其中所述一个或多个服务进一步被配置来更新显示在所述用户设备的界面上的图形控制元件以呈现所述用户界面组件。

13.一种非暂时性计算机可读存储介质,其上存储有可执行指令,所述可执行指令作为由计算机系统的一个或多个处理器执行的结果,使所述计算机系统至少:

接收用于用户界面组件的配置信息,所述用户界面组件可用来获得物理物品;

根据所述配置信息确定用于检测活动的进行的一个或多个触发;

监测一个或多个传感器和安装在用户设备上的应用以检测所述一个或多个触发;

作为所述一个或多个触发的检测的结果,至少部分基于所述配置信息生成所述用户界面组件;以及

作为所述用户界面组件的选择的检测的结果,传输一个或多个通信,所述一个或多个通信触发用于获得所述物理物品的工作流程。

14.如条款13所述的非暂时性计算机可读存储介质,其中所述指令进一步使所述计算机系统更新所述用户设备的图形用户界面以呈现所述用户界面组件,使得所述用户设备的用户可以使用所述图形用户界面来选择所述用户界面组件。

15.如条款13或14所述的非暂时性计算机可读存储介质,其中所述指令进一步使所述计算机系统:

检测第二活动的进行;

至少部分基于所述第二活动,确定用于与第二物品相关联的第二用户界面组件的推荐;以及

通过所述用户设备的图形用户界面,呈现用于所述第二用户界面组件的推荐。

16.如条款13-15中任何条款所述的非暂时性计算机可读存储介质,其中所述指令进一步使所述计算机系统:

将请求传输至所述零售商服务以获得用于物理物品的一个或多个推荐,所述请求包括所述配置信息;

从所述零售商服务获得所述一个或多个推荐;以及

将所述一个或多个推荐存储在所述用户设备的高速缓存中。

17.如条款16所述的非暂时性计算机可读存储介质,其中所述指令进一步使所述计算机系统:

响应于所述一个或多个触发的检测从所述高速缓存获得所述一个或多个推荐;

至少部分基于所述一个或多个触发从所述一个或多个推荐选择用于所述物理物品的推荐;以及

配置所述用户界面组件以呈现用于所述物理物品的推荐。

18.如条款13-17中任何条款所述的非暂时性计算机可读存储介质,其中所述指令进一步使所述计算机系统:

响应于所述工作流程的进行,接收指示用于所述物理物品的订单的确认;以及

更新所述用户设备的图形用户界面以显示包括所述确认的通知。

19.如条款13-18中任何条款所述的非暂时性计算机可读存储介质,其中监测一个或多个传感器和安装在用户设备上的应用以检测所述一个或多个触发包括:

从所述一个或多个传感器获得传感器数据;

从安装在所述用户设备上的应用获得应用数据;

将所述传感器数据和所述应用数据传输至所述零售商服务;

从所述零售商服务接收对应于所述一个或多个触发的活动的进行的指示;以及

至少部分基于所述指示检测所述一个或多个触发。

20.如条款13-19中任何条款所述的非暂时性计算机可读存储介质,其中:

所述配置信息指定所述物理物品;以及

所述指令进一步使所述计算机系统配置所述用户界面组件以包括所述物理物品的图标表示。

各种实施方案进一步可实现于各式各样的操作环境中,所述操作环境在一些状况下可包括可用来操作若干应用中的任何应用的一个或多个用户计算机、计算设备或处理设备。用户或客户端设备可包括若干计算机中任何计算机,如运行标准操作系统的桌上型、膝上型或平板计算机,以及运行移动软件并且能够支持若干网络连接和消息收发协议的蜂窝、无线和手持式设备。这种系统还可以包括运行各种可商购的操作系统中任何操作系统和用于如开发和数据库管理的目的的其他已知应用的若干工作站。这些设备还可以包括其他电子设备,如虚设终端、瘦客户端、游戏系统和能够经由网络通信的其他设备。这些设备还可以包括虚拟设备,如虚拟机、管理程序和能够经由网络通信的其他虚拟设备。

本公开的各种实施方案利用本领域技术人员熟悉的至少一个网络来支持使用各种可商购的协议中任何可商购的协议的通信,所述可商购的协议如传输控制协议/因特网协议(“tcp/ip”)、用户数据报协议(“udp”)、在开放系统互连(“osi”)模型的各层中操作的协议、文件传送协议(“ftp”)、通用即插即用(“upnp”)、网络文件系统(“nfs”)、公共因特网文件系统(“cifs”)和appletalk。网络可为例如局域网、广域网、虚拟专用网络、因特网、内联网、外联网、公共交换电话网络、红外网络、无线网络、卫星网络和其任何组合。在一些实施方案中,面向连接的协议可用来在网络端点之间通信。面向连接的协议(有时称为基于连接的协议)能够以有序流传输数据。面向连接的协议可为可靠的或不可靠的。例如,tcp协议为可靠的面向连接的协议。异步传送模式(“atm”)和帧中继是不可靠的面向连接的协议。面向连接的协议与面向数据包的协议相反,所述面向数据包的协议如在没有保证的排序的情况下传输数据包的udp。

在利用web服务器的实施方案中,web服务器可运行各种服务器或中间层应用中任何服务器和中间层应用,包括超文本传送协议(“http”)服务器、ftp服务器、公共网关接口(“cgi”)服务器、数据服务器、java服务器、apache服务器和商业应用服务器。服务器还可能能够响应于来自用户设备的请求执行程序或脚本,如通过执行一个或多个web应用,所述一个或多个web应用可实现为用任何程序设计语言如c、c#、c++或任何脚本编写语言如ruby、php、perl、python或tcl以及其组合撰写的一个或多个脚本或程序。服务器可还包括数据库服务器,包括但不限于可商购自的那些,以及开源服务器如mysql、postgres、sqlite、mongodb和能够存储、检索和访问结构化或非结构化数据的任何其他服务器。数据库服务器可包括基于表的服务器、基于文档的服务器、非结构化服务器、关系服务器、非关系服务器或这些的组合和/或其他数据库服务器。

环境可包括各种数据存储区和如以上所论述的其他存储器和存储介质。这些可驻留在各种位置中,如在计算机中一个或多个本地(和/或常驻于计算机中一个或多个中)或跨于网络远离计算机中任何或所有计算机的存储介质上。在实施方案的特定集合中,信息可驻留在本领域技术人员熟悉的存储区域网络(“san”)中。类似地,用于进行算机、服务器或其他网路设备所具有的功能的任何必要文件可在适当时本地和/或远程地存储。在系统包括计算机化设备的情况下,每个这种设备可包括硬件元件,所述硬件元件可经由总线电气耦合,所述元件包括例如至少一个中央处理单元(“cpu”或“处理器”)、至少一个输入设备(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出设备(例如,显示设备、打印机或扬声器)。这种系统可还包括一个或多个存储设备,如磁盘驱动器、光存储设备和固态存储设备如随机存取存储器(“ram”)或只读存储器(“rom”),以及可移除介质设备、存储器卡、闪存卡等。

这类设备还可包括计算机可读存储介质阅读器、通信设备(例如,调制解调器、网卡(无线或有线)、红外通信设备等),和以上所描述的工作存储器。计算机可读存储介质阅读器可与计算机可读存储介质连接,或被配置来接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移除存储设备以及用于暂时地和/或更永久地含有、存储、传输和检索计算机可读信息的存储介质。系统和各种设备还通常包括位于至少一个工作存储器设备内的若干软件应用、模块、服务或其他元件,包括操作系统和应用程序,如客户端应用或web浏览器。另外,也可使用定制硬件和/或特定元件可实现于硬件、软件(包括可移植软件,如小应用)或两者中。此外,可使用至其他计算设备如网络输入/输出设备的连接。

用于含有代码或代码的部分的存储介质和计算机可读介质可包括本领域中已知或使用的任何适当介质,包括存储介质和通信介质,如但不限于实现于用于如计算机可读指令、数据结构、程序模块或其他数据的信息的存储和/或传输的任何方法或技术中的易失性和非易失性、可移除和非可移除介质,包括ram、rom、电可擦可编程只读存储器(“eeprom”)、闪速存储器或其他存储器技术、光盘只读存储器(“cd-rom”)、数字通用光盘(dvd)或其他光存储设备、磁带盒、磁带、磁盘存储设备或其他磁性存储设备或可用来存储所需的信息和可由系统设备访问的任何其他介质。基于本文提供的公开内容和教导,本领域普通技术人员将了解用来实现各种实施方案的其他方式和/或方法。

因此,说明书和附图将在例示性意义而非限制性意义上加以考虑。然而,将为明显的是,可在不脱离如权利要求书中阐述的本发明的较广泛精神和范围的情况下对本发明做出各种修改和变化。

其他变化在本公开的精神内。因而,虽然所公开技术易受各种修改和替代性构造影响,但其某些例示的实施方案展示于附图中并且以上已详细地加以描述。然而,应理解,并不意图将本发明限制于所公开的一个或多个具体形式,相反地,意图涵盖属于如所附权利要求书中定义的本发明的精神和范围内的所有修改、替代性构造和等效物。

除非本文另有指示或与上下文明显矛盾,否则术语“一(a/an)”和“所述”以及类似指代词在描述所公开实施方案的上下文(尤其在以下权利要求书的上下文)中的使用应理解为涵盖单数和复数。除非另有说明,否则术语“包括(comprising)”、“具有”、“包含(including)”和“含有”应理解为开放式术语(即,意味“包括但不限于”)。术语“连接”在未修改并且指的是物理连接时应理解为部分地或完整地含于内、附接到或接合在一起,即使存在某种介入。除非本文另有指示,否则本文的值的范围的叙述仅意图用作单独地涉及所述范围内的每个分离值的简写方法,并且每个分离值合并到说明书中,好像其在本文中单独地加以叙述。除非另有说明或与上下文矛盾,否则术语“集合”(例如,“物品的集合”)或“子集”的使用应理解为包括一个或多个成员的非空集合。此外,除非另有说明或与上下文矛盾,否则术语对应集合的“子集”不一定指示对应集合的真子集,但子集和对应集合可相同。

除非另有具体陈述或另外明显地与上下文矛盾,否则连接短语,如形式“a、b、和c中至少一个”或“a、b和c中至少一个”的短语,在如一般使用的上下文的情况下另外被理解为呈现物品、术语等可为a或b或c,或a和b和c的集合的任何非空子集。例如,在具有三个成员的集合的例示性示例中,连接短语“a、b、和c中至少一个”和“a、b和c中至少一个”指的是以下集合中的任何集合:{a}、{b}、{c}、{a,b}、{a,c}、{b,c}、{a,b,c}。因而,这种连接语言通常不意图暗示某些实施方案要求a中至少一个、b中至少一个和c中至少一个各自存在。

本文所描述的进程的操作可以任何合适的顺序进行,除非本文另有指示或否则明显地与上下文矛盾。本文所描述的进程(或其变化和/或组合)可在用可执行指令配置的一个或多个计算机系统的控制下进行,并且可实现为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、通过硬件或其组合实现。代码可例如以计算机程序的形式存储在计算机可读存储介质上,所述计算机程序包括可由一个或多个处理器执行的多个指令。计算机可读存储介质可为非暂时性的。在一些实施方案中,代码存储在一个或多个非暂时性计算机可读存储介质的集合上,所述一个或多个非暂时性计算机可读存储介质上存储有可执行指令,所述可执行指令在由计算机系统的一个或多个处理器执行(即,由于被执行)时使计算机系统进行本文所描述的操作。非暂时性计算机可读存储介质的集合可包括多个非暂时性计算机可读存储介质,并且多个非暂时性计算机可读存储介质中的单独非暂时性存储介质中一个或多个可没有代码中的全部,而多个非暂时性计算机可读存储介质共同地存储代码中的全部。

因此,在一些示例中,计算机系统被配置来实现一个或多个服务,所述一个或多个服务单独地或共同地进行本文所描述的进程的运行。这类计算机系统可例如用使操作能够进行的适用硬件和/或软件配置。此外,实现本公开的各种实施方案的计算机系统在一些示例中可为单个设备,并且在其他示例中可为包括多个设备的分布式计算机系统,所述多个设备不同地操作使得分布式计算机系统进行本文所描述的操作并且使得单个设备可不进行所有操作。

任何和全部示例或本文提供的示范性语言(例如,“如”)的使用仅意图较好地例示本发明的实施方案,并且不提出对本发明的范围的限制,除非另有要求。说明书中没有语言应理解为:将任何未要求元件指示为对本发明的实践是必要的。

本文描述本公开的实施方案,包括发明人已知用于实行本发明的最佳模式。在阅读前述描述之后,那些实施方案的变化可对于本领域普通技术人员变得明显。发明人期望本领域技术人员在适当时使用这类变化,并且发明人预期本公开的实施方案将以与本文具体描述的不同方式实践。因此,本公开的范围包括如适用法律容许的此处所附的权利要求中所叙述的主题的所有修改和等效物。另外,除非本文另有指示或否则明显地与上下文矛盾,本公开的范围包含在其所有可能变化中的以上所描述元件的任何组合。

本文引用的所有参考文献,包括公布、专利申请和专利,由此在与每个参考文献单独地并且具体地指示为通过引用并入并且在本文中整体阐述的相同程度上以引用方式并入本文。

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