具体实施方式
在本文中特意地为满足法定要求描述了本发明的主题。然而,本说明书其自身不旨在限制本发明的范围。相反,发明人已设想,所要保护的主题可以还结合其它当前或未来技术以其它方式被体现,以包括与本文档中描述的那些类似的不同步骤或步骤组合。此外,尽管术语“步骤”和/或“框”在本文中可以用于暗指所使用方法的不同单元,但除了和除非在各个步骤的顺序被明确描述时,否则所述术语不应当被解释为暗指本文中所公开的各种步骤之中或之间的任何特定顺序。
在本文中描述的技术的各种方面通常涉及用于提供基于用户的上下文选择的内容条目的系统、方法和计算机可读介质等。与用户关联的上下文指示器被识别并被用于预测该用户在特定时间有可能期望访问的一个或多个内容条目,所述特定时间例如是该内容条目被确定的时间。上下文指示器是用户的习惯或例行行为的指示器,和/或与用户的事件、活动或行为相关联的指示器,并且仅作为示例可以包括例行搜索行为、由用户参与的最近文本和/或电子邮件对话、用户的电子日历上安排的事件、由用户参与的多媒体事件(例如听音乐、观看电视节目等)等。例如,用户可以例行地在上午7:00左右搜索交通报告。由此,在清晨期间确定的内容条目可以包括交通信息(和/或指向其的链接)。或者,用户的电子日历可以指示其有穿过城市的午餐约会。在此情况下,在午餐约会之前两小时期间确定的内容条目可以包括餐厅的方位和/或指向餐厅那天的午餐特价的链接。所识别的内容条目是这样的内容条目,基于围绕用户的例行/习惯或特定于特定时间点的上下文,用户期望访问该内容条目的可能性增加(相对于与围绕用户的当前上下文无关的信息)。
当接收到用户期望执行知晓上下文的搜索的指示时,所识别的内容条目(或指向其的链接)被自动呈现给用户,即用户不必输入任何搜索查询项。用户期望执行知晓上下文搜索的指示可以例如当接收到这样的指示时被接收:可选择的知晓上下文搜索按钮已被用户选择。由于所识别的内容条目在用户不输入任何搜索查询项的情况下被呈现,所以内容条目以最小用户努力而被快速且高效地呈现给用户。实际上,用户可能仅需要按单一按钮来使他或她期望的信息轻易处在他/她的指尖。该单一按钮动作对于其中字母数字文本输入较困难的移动计算设备特别有用。
还呈现了被配置用于接收用户输入的搜索查询项的搜索查询输入区域。同样,如果所呈现的信息(和/或信息链接)与用户在选择知晓上下文搜索按钮时曾想要呈现的不一致,则他或她可以输入搜索查询项,并且对与输入项相关的信息的搜索将以常规方式进行,但是具有对用户意图的增强的评估,该评估可以证明在确定搜索结果时有益。
相应地,在一个方面中,本发明涉及一个或多个在其中包含计算机可读指令的计算机存储介质,所述计算机可执行指令当被执行时导致计算设备执行用于提供基于上下文选择的内容条目的方法。所述方法包括:接收至少一个与用户相关联的上下文指示器,使用该至少一个上下文指示器来选择至少一个内容条目,接收知晓上下文的搜索已被请求的指示,以及,响应于该知晓上下文的搜索请求并且在没有接收到任何用户输入的搜索查询项的情况下,自动提供所述至少一个内容条目以用于与计算设备相关联的输出。该至少一个内容条目是可视信息、可听信息以及可视和可听信息的组合中的一个。
在另一方面中,本发明涉及一种内容递送系统,所述内容递送系统包括与一个或多个处理器和一个或多个计算机存储介质相关联的计算设备、与该计算设备耦接的数据存储以及内容条目选择引擎。所述内容条目选择引擎接收至少一个与计算设备的用户相关联的上下文指示器,基于该至少一个上下文指示器选择至少一个内容条目,以及,响应于接收到知晓上下文的搜索已被请求的指示并且在没有接收到任何用户输入的搜索查询项的情况下,自动提供该至少一个内容条目以用于与计算设备相关联的输出。
在仍然另一方面中,本发明涉及一个或多个在其中包含计算机可执行指令的计算机存储介质,所述计算机可执行指令当被执行时导致计算设备执行用于提供基于上下文选择的内容条目的方法。所述方法包括:接收多个与用户相关联的上下文指示器;确定能够关联于计算设备上的用户接口被呈现的多个内容条目;将多个内容条目中的每个与可能性相关联,该可能性指示用户有多大的可能希望关联的内容条目呈现;接收知晓上下文搜索选择器已被选择的指示;响应于知晓上下文搜索选择器的选择并且在没有接收到任何用户输入的搜索查询项的情况下,自动地关联于用户接口的第一区域呈现多个内容条目中的一部分,其中,内容条目包括基于相对关联可能性选择所述多个内容条目中的一部分进行呈现;以及,响应于知晓上下文搜索选择器的选择,关联于用户接口的第二区域呈现被配置用于接收至少一个用户输入的搜索查询项的搜索查询输入区域。
现在转向图1,示出了框图,该框图示出了适于在实现本发明的实施例时使用的示例性计算系统环境100。本领域的技术人员应当理解和认识到,图1中所示的计算系统环境100仅是一个合适的计算系统环境的示例,并且不旨在表明对本发明实施例的使用或功能范围的任何限制。也不应当将计算系统环境100解释为对于本文中所示的任何单一模块/部件或模块/部件的组合有任何依赖或要求。
计算系统环境100包括计算设备110(在图1中被示为移动计算设备)、内容条目选择引擎112和数据存储114,其全部经由网络116相互进行通信。网络116可以非限制性地包括一个或多个局域网(LAN)和/或广域网(WAN)。所述联网环境是办公室、企业级计算机网络、内联网和互联网中常见的。相应地,在本文中对网络116不做进一步描述。
在某些实施例中,所示部件/模块中的一个或多个可以被实现为独立的应用。在其它实施例中,所示部件/模块中的一个或多个可以被直接集成到内容条目选择引擎112和/或终端用户计算设备110的操作系统中。本领域的技术人员应当理解,图1中所示的部件/模块是在本质和数量上示例性的,并且不应当被理解为限制性的。可以使用任意数量的部件/模块来达到此处实施例的范围内的期望功能。进一步地,部件/模块可以位于任意数量的服务器或客户端计算设备中。仅作为示例,内容条目选择引擎112可以驻留于服务器、服务器集群或远离剩余部件中的一个或多个的计算设备上。
应当理解,在本文中描述的这个和其它安排仅作为示例被阐述。其它安排和单元(例如机器、接口、功能、顺序和功能的分组等)可以除所示的那些之外或作为其代替而被使用,并且某些单元可以干脆被省略。进一步地,在本文中描述的单元中的许多是功能实体,所述功能实体可以作为离散或分布的部件或者与其它部件/模块结合地并且以任意合适的组合和位置被实现。在本文中描述的各种功能当被一个或多个实体执行时,可以由硬件、固件和/或软件来实现。例如,各种功能可以由执行存储在存储器中的指令的处理器来实现。
数据存储114被配置为存储与上下文指示器和内容条目相关联的信息。在各种实施例中,所述信息可以非限制性地包括简档数据、计算设备状态数据、例行搜索行为、由用户参与的最近文本和/或电子邮件对话、用户的电子日历上安排的事件、由用户参与的多媒体事件(例如听音乐、观看电视节目等)、指向由用户频繁访问的统一资源定位符(URL)的链接、指向具有与用户的电子日历上安排的事件相关联的信息和/或与提取自由用户参与的文本和/或电子邮件对话的关键字相关联的信息的URL的链接等。在实施例中,数据存储114被配置为,可搜索关联于其而存储的条目中的一个或多个。本领域的技术人员应当理解和认识到,关联于数据存储114而存储的信息可以是可配置的,并且可以包括任何与一个或多个上下文指示器、内容条目等相关的信息。所述信息的内容和数量不旨在以任何方式限制本发明的实施例的范围。进一步地,尽管被示为单一、独立的部件,但数据存储114实际上可以是多个存储设备,例如数据库集群,其部分可以驻留于内容条目选择引擎112、计算设备110、另一外部计算设备(未示出)和/或其任意组合上。
图1中所示的计算设备110和内容条目选择引擎112的每个可以是任意类型的计算设备,例如是诸如下面参考图5描述的计算设备500。仅作为示例并且不作为限制,计算设备110和内容条目选择引擎112的每个可以是个人计算机、桌面计算机、膝上计算机、手持设备、移动手机、消费电子设备等。然而应当指出,实施例不限于在所述计算设备上实现,而可以在这里的实施例范围内的多种不同类型计算设备中的任一个上被实现。
计算设备110和内容条目选择引擎112的部件(为清楚起见未示出)可以非限制性地包括处理单元、内部系统存储器以及用于耦合各种系统部件的合适系统总线,所述系统部件包括一个或多个用于存储信息(例如文件和关联于其的元数据)的数据库。计算设备110和内容条目选择引擎112的每个通常包括或可访问多种计算机可读介质。作为示例并且不作为限制,计算机可读介质可以包括计算机存储介质和通信介质。通常,通信介质使每个服务器能够经由例如网络116的网络交换数据。更具体地,通信介质可以在例如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并且可以包括任何信息递送介质。当用在本文中时,术语“已调制数据信号”是指这样的信号,其使其属性中的一个或多个以在该信号中编码信息的方式被设置或改变。作为示例并且不作为限制,通信介质包括例如有线网络或直接连线连接的有线介质,以及例如声、RF、红外和其它无线介质的无线介质。以上中任一的组合也可以被包括在计算机可读介质的范围内。
本领域的技术人员应当理解,计算系统环境100是仅示例性的。尽管内容条目选择引擎112被示为单一单元,但本领域的技术人员应当认识到,内容条目选择引擎112是可伸缩的。例如,内容条目选择引擎112可以实际上包括多个相互进行通信的计算设备。此外,数据存储114或其部分可以作为计算机存储介质被包括在内容条目选择引擎112和/或计算设备110内。单一单元描绘是用于清楚起见,不用于以任何形式限制实施例的范围。
图1中所示的计算设备110是例如移动电话的移动计算设备。本领域的技术人员应当理解,移动计算设备110是仅示例性的,并且计算设备110可以是任意类型的计算和/或通信设备,例如个人计算机、文本通信设备等。计算设备110包括知晓上下文搜索选择器118和显示屏120。图1中所示的知晓上下文搜索选择器118是单一硬件按钮,当其被选择时,触发向内容条目选择引擎112指示期望进行知晓上下文的搜索。尽管在图1中被示为硬件搜索选择器,但知晓上下文搜索选择器118根据需要可以是软件搜索选择器、硬件搜索选择器或组合的硬件和软件搜索选择器。
显示屏120被配置为向计算设备110的用户显示信息,所述信息例如是与由计算设备110发起和/或接收的通信、浏览活动、内容条目等相关的信息。实施例不旨在限于视觉显示器,而是可以还包括音频呈现、组合的音频/视觉呈现等。
如图1中所示,内容条目选择引擎112包括接收部件122、内容条目选择逻辑124、数据挖掘部件126、统计推理引擎128、输出部件130和高速缓存132。在某些实施例中,部件122、124、126、128、130和132中的一个或多个可以作为独立应用被实现。在其它实施例中,部件122、124、126、128、130和132中的一个或多个可以被直接集成到计算设备110的操作系统中。本领域的技术人员应当理解,图1中所示的部件122、124、126、128、130和132在本质和数量上是示例性的,并且不应当被理解为限制性。可以使用任意数量的部件来达到这里的实施例的范围内的期望功能。
接收部件122被配置用于接收与用户相关联的上下文指示器。上下文指示器是用户的习惯或例行行为的指示器和/或与用户的事件、活动或行为相关联的指示器。上下文指示器仅作为示例可以包括用户的例行搜索行为、由用户参与的最近文本和/或电子邮件对话、用户的电子日历上安排的事件、由用户参与的多媒体事件(例如听音乐、观看电视节目等)等。例如,如果用户例行地在上午7:00左右搜索交通报告,则该行为的上下文指示器可以被接收。在实施例中,接收部件122被配置用于接收与用户相关联的多个上下文指示器。由此,如果用户的电子日历指示她/他即将在特定餐厅于晚上7:00会见朋友进行晚餐,则朋友的身份、用户的当前位置和/或餐厅的身份的上下文指示器可以被接收。进一步地,如果同一用户例行地在晚上6:00左右当离开办公室时检查交通状况,则除与用户的晚餐约会相关联的(多个)上下文指示器之外,该行为的上下文指示器也可以被接收。接收部件122被进一步配置用于接收与用户相关联的简档数据。在实施例中,所述信息可以直接由用户输入和/或改变。
仍然进一步地,接收部件122被配置用于,接收对知晓上下文的搜索已被请求的指示。在实施例中,当用户按压单一的知晓上下文搜索选择器时所述指示被接收,所述单一的知晓上下文搜索选择器例如是计算设备110的知晓上下文搜索选择器118。当接收到知晓上下文搜索已被请求的指示时,如在下面更全面描述的那样,至少一个内容条目被自动地提供以用于关联于计算设备110的输出。
内容条目选择逻辑124被配置用于,使用由接收部件122接收的至少一个上下文指示器选择至少一个内容条目。即,内容条目选择逻辑124包括一个或多个规则,所述规则使用由接收部件122接收的一个或多个上下指示器来确定用户期望呈现的可能性增长的内容条目。所述内容条目选择逻辑124可以包括,使用与用户相关联的简档数据、与计算设备110的当前状态相关联的数据(其可以包括计算设备的当前时间和/或位置)或简档数据和当前状态数据的组合来选择该至少一个内容条目。在实施例中,简档数据可以由用户直接提供,并且可以包括例如年龄、性别、婚姻状态、家庭和工作地址等的信息。简档数据可以还包括偏好数据,例如用户偏好的特定咖啡店、快餐店等。厌恶可以也被提供。在实施例中,该至少一个内容条目包括可视信息、可听信息或可视和可听信息的组合中的一个。
数据挖掘部件126被配置用于,对与用户和/或计算设备相关联的数据进行挖掘以用于选择合适的内容条目进行输出。例如,数据挖掘部件126可以被配置为,对与用户关联的简档数据、与计算设备110的当前状态关联的数据、指示用户与计算设备的交互的数据、用户活动数据、关联于计算设备和/或内容条目选择引擎112而被高速缓存的数据、关联于数据存储114而被存储的数据和/或其任意组合中的至少一部分进行挖掘。可以偶尔地例如定期和/或在达到某个门限数量的活动(例如每50次电话呼叫)之后从用户的活动和其它数据源挖掘数据。从所述活动挖掘出的数据的示例包括被频繁呼叫的电话号码、呼叫模式(例如通过协同过滤和图像分析而分析出的)、消息被经常发送到的电子邮件地址、其它搜索和广告、其它应用日志、位置轨迹、SMS内容等。其它信息的示例包括诸如社交网络好友列表、经由该设备或关联的设备进行的过去购买等。在实施例中,各种简档数据可以被合并为合适的数据结构,并且如果需要,被关联于用户或设备例如通过设备的电话号码进行持久化。这样,如下面更加全面描述的那样,简档数据可经常用于辅助进行关于选择要呈现的内容条目的决策。
在实施例中,作为内容条目选择逻辑124的一部分,关键字被从挖掘(例如利用数据挖掘部件126)或接收(例如通过接收部件122)的数据中提取出,并且将所述提取的关键字用作搜索引擎的输入,以用于辅助确定将提供进行输出的合适内容条目。例如,如果用户接收到读作“让我们晚上7:00在餐厅X见”的SMS,则关键字“餐厅X”可以被提取并用作搜索引擎输入,以导致对去往餐厅X的地图和餐厅X的菜单(或指向其的链接)的检索。随后,当接收到用户期望进行知晓上下文的搜索的指示时,地图和菜单可以自动被呈现——用户自己无需向搜索引擎输入任何关键字。因为用户在知晓上下文的搜索被请求时正在查看SMS消息,和/或因为知晓上下文的搜索在靠近晚上7:00晚餐约会的时间被请求,所以所述内容条目检索可以发生。通常,根据这里的实施例,在知晓上下文的搜索被请求之前,对(多个)内容条目进行检索和高速缓存(例如使用高速缓存132)。在实施例中,内容条目选择逻辑124使用似然/概率(例如根据统计推理引擎128指派的)来调和提供多个内容条目中的哪些进行呈现。下面更加全面描述这些实施例的每个。
统计推理引擎128被配置用于确定,在特定时间点,多个上下文指示器中的哪些更可能生成期望的内容条目,和/或多个内容条目中的哪些最有可能是用户期望呈现的。例如,如果用户的电子日历指示她/他将在特定餐厅于晚上7:00会见朋友进行晚餐,则与用户例行于晚上6:00在离开他或她的办公室之前检查交通状况的上下文指示器相比,接收朋友的身份、用户的当前位置和/或餐厅的身份的上下文指示器在特定的时间点上更有可能生成用户期望查看的内容条目吗?或者,链接到朋友的社交网络页面的内容条目、指示餐厅菜单的内容条目、链接到从用户的当前位置到餐厅的方向的内容条目和/或链接到用户的当前位置与餐厅之间的交通状况的内容条目是用户更可能期望查看的吗?
在实施例中,统计推理引擎128被配置为,接收多个相关上下文指示器的输入,并且使用一个或多个统计学方法来为每个指派概率(或可能性)。在其它实施例中,统计推理引擎128被配置为,接收多个内容条目的输入,并且使用一个或多个统计学方法来为每个指派概率(或可能性)。如下面更加全面描述的那样,当考虑到剩余上下文指示器和/或内容条目的上下文时,那些具有用户期望查看其的最大概率或可能性的上下文指示器和/或内容条目被用于提供对用户的合适输出。这里的实施例不限于任意特定统计学方法的使用,并且相应地,在本文中不对特定方法进行进一步描述。
输出部件130被配置用于,关联于用户的计算设备导致呈现基于一个或多个上下文指示器选择的内容条目。例如,输出部件130被配置用于,关联于图1的移动计算设备110的显示屏120导致呈现一个或多个选择的内容条目。尽管描述了内容条目被提供和呈现,但对于系统100,提供用户可通过其对相关内容条目进行检索的链接或其它引用是简单明白的。应当指出,链接之后不必为常规浏览器;例如,输出联系人或呼叫历史列表的应用可以跟随在链接之后、获取(多个)内容条目并将(多个)内容条目的表示插入其输出中。将任何和全部所述变型及其任意组合设想为在本发明的实施例的范围内。
本发明的实施例在接收到用户期望进行知晓上下文的搜索的指示时,提供对确定为用户在特定时间点期望查看的内容条目的迅速、高效的输出。为提供可能的最迅速和高效的服务,上下文指示器被持续地接收,并且内容条目被内容条目选择引擎112持续地确定,即,即使在知晓上下文的搜索已被请求之前。由此,在实施例中,在任意给定的时间点,如果接收到用户期望进行知晓上下文的搜索的指示,则计算系统环境100已确定了用于在该时间点呈现的内容条目,并且可以迅速将其提供给用户(例如关联于计算设备110的显示屏120)。由此,使用高速缓存132来使得内容条目和/或指向其的链接(引用)持续准备就绪。除了其他收益,高速缓存避免延迟,这在用于呈现信息的时间有限时特别有利。具有高速缓存的数据的另一收益是,信息可以甚至在离线场景和其中网络带宽成本高的场景(例如全国和国际漫游)中被显示。包含在高速缓存132中的信息可以基于新的或另外的上下文指示器和/或内容条目的接收而改变,并且一些高速缓存的内容条目可能永远不被输出进行呈现。由此使用高速缓存来确保当接收到用户期望进行知晓上下文的搜索的指示时的高效和迅速响应。高速缓存132可以如所示的那样直接与内容条目选择引擎112相关联,或者如果需要可以与数据存储114相关联。
现在转向图2,示出了适于在实现本发明的实施例时使用的示例性移动计算设备200。如图2中所示,示例性移动计算设备200包括知晓上下文搜索选择器210和用户接口212,其中,基于上下文选择的内容条目214可以在用户接口212上被呈现。在所示的实施例中,知晓上下文搜索选择器210是基于硬件的搜索选择器。本领域的普通技术人员应当理解,知晓上下文搜索选择器210根据这里的实施例可以可替换地是基于软件的搜索选择器和/或基于硬件和基于软件的搜索选择器的组合。根据本发明,仅当接收到知晓上下文搜索选择器210已被选择的指示时,内容条目214才关联于用户接口212被呈现。
当接收到知晓上下文搜索选择器210已被选择的指示时,基于上下文选择的一个或更多内容条目214关联于计算设备200的用户接口112被呈现。所述内容条目214自动地并且在没有接收到任何用户输入的搜索查询项的情况下被呈现。即,基于上下文指示器,尝试对用户在选择知晓上下文搜索选择器210时期望呈现的内容作出预期。还呈现了被配置用于接收用户输入的搜索查询项的搜索查询输入区域216。同样,如果呈现信息(和/或信息链接)与用户在选择知晓上下文搜索选择器210时想要呈现的不一致,则他或她可以输入搜索查询项,并且将以常规方式进行对与输入项相关的信息的搜索,但是具有对用户意图的增强的评估,该评估可以证明在确定搜索结果时有益。
参考图3,示出了流程图,该流程图示出了根据本发明的实施例的、用于提供基于上下文选择的内容条目的方法300。如所示,在框310处,例如由图1的内容条目选择引擎112的接收部件122接收到至少一个与用户关联的上下文指示器。如框312处所示,通过使用该至少一个接收的上下文指示器,至少一个内容条目被选择(例如使用图1的内容条目选择引擎112的内容条目选择逻辑124、数据挖掘部件126和统计推理引擎128中的一个或多个)。该至少一个内容条目可以是可视信息、可听信息或可视和可听信息的组合中的一个。如框314处所示,例如由图1的内容条目选择引擎112的接收部件122接收到知晓上下文的搜索已被请求的指示。所述指示可以例如在用户选择图2的可选择的知晓上下文搜索选择器210时被接收。如框316处所示,自动提供响应于知晓上下文的搜索请求而选择的所述至少一个内容条目以用于关联于计算设备进行输出(例如,使用图1的内容条目选择引擎112的输出部件130)。即,响应于知晓上下文搜索请求而选择的至少一个内容条目在没有接收到任何用户输入的搜索查询项的情况下被提供用于关联于计算设备进行输出。
参考图4,示出了流程图,该流程图示出了根据本发明的实施例的、用于提供基于上下文选择的内容条目的另一方法400。如框410处所示,例如通过使用图1的内容条目选择引擎112的接收部件122接收到与用户关联的多个上下文指示器。如框412处所示,确定了能够关联于计算设备上的用户接口而被呈现的多个内容条目(例如使用图1的内容条目选择引擎112的内容条目选择逻辑124、数据挖掘部件126或统计推理引擎128中的一个或多个)。所述多个内容条目的每个基于多个接收的上下文指示器中的至少一个来确定。如框414处所示,例如通过使用图1的内容条目选择引擎112的统计推理引擎128,将可能性与多个内容条目中的每个相关联。该可能性指示,在特定时间点,即在该可能性被计算所在的时间点,用户有多大可能性希望呈现关联的内容。
如框416处所示,例如由图1的内容条目选择引擎112的接收部件122接收到知晓上下文搜索选择器的指示。所述指示可以例如在用户选择图2的可选择的知晓上下文搜索选择器210时被接收。如框418处所示,响应于知晓上下文搜索请求而选择的多个内容条目中的至少一部分被自动提供用于关联于计算设备的用户接口的第一区域进行输出(例如,使用图1的内容条目选择引擎112的输出部件130)。即,响应于知晓上下文搜索请求而选择的多个内容条目的至少一部分在没有接收到任何用户输入的搜索查询项的情况下被提供用于关联于计算设备(例如图2的计算设备200)的用户接口(例如图2的用户接口212)进行输出。例如通过使用图1的统计推理引擎128,基于相对关联可能性选择出用于呈现的包括所述多个内容条目的部分的内容条目。那些在考虑剩余内容条目的上下文时用户期望查看其的概率或可能性最高的内容条目被用于向用户提供合适的输出。如框420处所示,关联于计算设备(例如图2的计算设备200)的用户接口(例如图2的用户接口212)的第二区域还呈现了被配置用于接收至少一个用户输入的搜索查询项的搜索查询输入区域。由此,如果呈现的信息(和/或信息链接)与用户选择知晓上下文搜索按钮时想要呈现的不一致,则他或她可以输入搜索查询项,并且将以常规方式进行对与输入项相关的信息的搜索,但是具有对用户意图的增强的评估,该评估可以证明在确定搜索结果时有益。
如可以看到的,本发明的实施例在接收到用户期望进行知晓上下文的搜索的指示时,提供对被确定为用户在特定时间点期望查看的内容条目(或指向其的引用/链接)的迅速、高效输出。由此,通过对单一按钮的简单选择,可以向用户呈现在选择的时间高度相关的信息。示例性使用可以包括:用户早晨醒来并且选择知晓上下文的搜索选择器,以及,被自动呈现以天气、股票信息、新闻等。在该示例中,系统已基于用户关于计算设备的之前活动进行学习。在另一示例中,用户接收到指示朋友期望于晚上7:00在餐厅X会面的SMS,并且,当查看该消息时选择知晓上下文的搜索选择器。用户然后被自动呈现以去往餐厅的地图和菜单。这消除了用户为接收到同样的信息否则将已参与的剪切和粘贴活动。在仍然另一示例中,用户期望呼叫JohnDoe。她浏览她的联系人列表直到她到达JohnDoe的位置,在该点处知晓上下文的搜索选择器被选择。在该示例中,JohnDoe的社交网络页面被呈现以便在进行呼叫之前进行复查。在另一示例中,用户当前正在特定竞技场处参加球赛并且按压知晓上下文的搜索选择器。系统使用设备的状态信息(位置和时间)自动提供游戏名册和球员统计的输出。在另一示例中,用户访问大型零售商店并且找到他可能希望购买的条目。他使用计算设备照相机(例如手机照相机)对条形码进行拍照并且然后选择知晓上下文的搜索选择器,以及被自动示出针对该条目的价格比较页面。仍然进一步地,用户在晚上6:00入住城市X中的旅馆并且选择知晓上下文的搜索选择器。由于系统知道这是该用户通常吃晚餐的时间,所以针对该用户最喜欢的美食的附近餐厅的列表以及地图和移动优惠券被呈现。将这些和其它示例设想为在本发明的实施例的范围内。
示例性运行环境
下面描述了在其中可以实现本发明的各个方面的第一示例性运行环境,以便提供用于本发明的各个方面的一般上下文。特别参考图5,用于实现本发明的实施例的示例性运行环境被示出,并且被一般地指定为计算设备500。计算设备500是合适的计算环境的仅一个示例,并且不旨在对本发明的使用或功能的范围表明任何限制。也不应当将计算设备500解释为对所示出的部件的任一个或组合有任何依赖或要求。
可以在被例如个人数字助理或其它手持设备的计算机或其它机器执行的、包括例如程序模块的计算机可执行指令的计算机代码或机器可用指令的一般上下文中描述本发明的实施例。通常,包括例程、程序、对象、组件、数据结构等的程序模块是指执行特定任务或实现特定抽象数据类型的代码。本发明的实施例可以在多种系统配置中被实践,包括手持设备、消费电子、通用计算机、更多专业计算设备等。本发明的实施例可以还在分布式计算环境中被实践,其中,任务由通过通信网络链接的远程处理设备执行。
继续参考图5,计算设备500包括直接或间接耦接以下设备的总线510:存储器512、一个或多个处理器514、一个或多个呈现部件516、输入/输出端口518、输入/输出部件520和示意性电源522。总线510代表的可以是一个或多个总线(例如地址总线、数据总线或其组合)。尽管为清楚起见用线示出了图5的各个框,但实际上,勾画各个部件并不如此清晰,并且比方说,线更准确地将是灰色和模糊的。例如,可以将例如显示设备的呈现部件认为是I/O部件。另外,许多处理器具有存储器。关于此,发明人认识到这是本领域固有的,并且重申图5的图示仅是可以结合本发明的一个或多个实施例使用的示例性计算设备的示意。未对诸如“工作站”、“服务器”、“膝上电脑”、“手持设备”等的类别进行区分,因为全部被设想为在图5的范围内,并且称为“计算设备”。
计算设备500通常包括各种计算机可读介质。计算机可读介质可以是可以被计算设备500访问的任何可用介质,并且包括易失性和非易失性介质、可移除和非可移除介质这两者。作为示例并且不作为限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括用任意用于存储信息的方法或技术实现的易失性和非易失性、可移除和非可移除介质,其中,所述信息例如是计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备或者任意其它可以用于存储期望的信息并且可以被计算设备500访问的介质。通信介质通常在例如载波或其它传输机制的已调制数据信号中包含计算机可读指令、数据结构、程序模块或其它数据,并且包括任意信息递送介质。术语“已调制数据信号”是指这样的信号,该信号使其特征中的一个或多个以将信息编码在该信号中的方式被设置或改变。作为示例并且不作为限制,通信介质包括例如有线网络或直接连线连接的有线介质,以及例如声、RF、红外和其它无线介质的无线介质。以上中的任一些的组合也应当被包括在计算机可读介质的范围内。
存储器512包括采用易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、非可移除的或其组合。示例性硬件设备包括固态存储器、硬盘、光盘等。计算设备500包括一个或多个从例如存储器512或I/O部件520的各种实体读取数据的处理器。(多个)呈现部件516向用户或其它设备呈现数据指示。示例性呈现部件包括显示设备、扬声器、打印部件、振动部件等。
I/O端口518允许计算设备500逻辑上耦接到包括I/O部件520的其它设备,其中,所述其它设备中的某些可以是内置的。示例性部件包括麦克风、操纵杆、游戏垫、卫星天线、扫描仪、打印机、无线设备等。
参考图6,用于实现本文中描述的主题的方面的示例性设备包括移动设备600。尽管本发明的实施例不限于在移动设备上实现,但图6示出了本文中描述的主题的方面可以在其上被实现的合适移动设备600的示例。移动设备600是设备的仅一个示例,并且不旨在对本文中描述的主题的方面的使用或功能的范围表明任何限制。也不应当将移动设备600解释为对在示例性移动设备600中示出的部件中的任一个或组合有任何依赖或要求。
在某些实施例中,移动设备600包括蜂窝电话、允许与其他人进行语音通信的手持设备、某个其它语音通信设备等。在这些实施例中,移动设备600可以配备了用于摄取图片的照相机,尽管这在其它实施例中可能不是必需的。在其它实施例中,移动设备600包括个人数字助理(PDA)、手持游戏设备、笔记本电脑、打印机、包括机顶盒的器具、媒体中心或其它器具、其它移动设备等。在仍然其它实施例中,移动设备600可以包括例如个人计算机、服务器等的通常被认为是非移动的设备。
移动设备600的部件可以包括但不限于处理单元605、系统存储器610以及将包括系统存储器610的各种系统部件耦接到处理单元605的总线615。总线615可以包括几种类型总线结构中的任一个,包括存储器总线、存储器控制器、外设总线和使用多种总线体系结构中任一个的局部总线等。总线615允许数据在移动设备600的各种部件之间被发送。
移动设备600可以包括各种计算机可读介质。计算机可读介质可以是任何可以被移动设备600访问的可用介质,并且包括易失性和非易失性介质以及可移除和非可移除介质。作为示例并且不作为限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括用任何用于存储信息的方法或技术实现的易失性和非易失性、可移除和非可移除介质,其中,所述信息例如是计算机可读指令、数据结构、程序模块或其它数据。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备或者任意其它可用于存储期望的信息并且可被移动设备600访问的介质。
通信介质可以包括任意信息递送介质,通常包含计算机可读指令、数据结构、程序模块,和/或可以包括在例如载波或其它传输机制的已调制数据信号中的其它数据。术语“已调制数据信号”是指这样的信号,该信号使其特征中的一个或多个以将信息编码到该信号中的方式被设置或改变。作为示例并且不作为限制,通信介质包括例如有线网络或直接连线连接的有线介质,以及例如声、RF、红外、WiFi、WiMAX和其它无线介质的无线介质。以上中任一些的组合也可以被包括在计算机可读介质的范围内。
系统存储器610包括采用易失性和/或非易失性存储器形式的计算机存储介质,并且可以包括只读存储器(ROM)和随机访问存储器(RAM)。在例如蜂窝电话的移动设备上,操作系统代码620有时被包括在ROM中,尽管在其它实施例中这不是必需的。类似地,应用程序625通常被放置在RAM中,尽管再次在其它实施例中,应用程序可以被放置在ROM或其它计算机可读存储器中。堆630为存储器提供与操作系统620和/或应用程序625关联的状态。例如,操作系统620和应用程序625可以在其运行期间在堆630中存储变量和数据结构。
移动设备600可以还包括其它可移除/非可移除、易失性/非易失性存储器。作为示例,图6示出了闪存卡635、硬盘驱动器636和记忆棒637。硬盘驱动器636可以例如被小型化为适合存储器插槽。移动设备600可以经由可移除存储器接口631与这些类型的非易失性可移除存储器接合,或者可以经由通用串行总线(USB)、IEEE694、(多个)有线端口640的一个或多个或(多个)天线665连接。天线665中的一个可以接收GPS数据。在这些实施例中,可移除存储器设备635-637可以经由(多个)通信模块632与移动设备接合。在某些实施例中,这些类型的存储器中的并非全部可以被包括在单一移动设备中。在其它实施例中,这些和其它类型的可移除存储器中的一个或多个可以被包括在单一移动设备中。
在某些实施例中,硬盘驱动器636可以以使得更永久地联接到移动设备600的方式被连接。例如,硬盘驱动器636可以连接到例如并行高级技术联接(PATA)、串行高级技术联接(SATA)或其它的接口,该接口可以连接到总线615。在所述实施例中,移除硬盘驱动器可能涉及移除移动设备600的外壳和移除将硬盘636连接到移动设备600内的支持结构的螺丝或其它紧固件。
在上面描述并且在图6中示出的可移除存储器设备635-637及其关联的计算机存储介质为移动设备600提供对计算机可读指令、程序模块、数据结构和其它数据的存储。例如,一个或多个可移除存储器设备635-637可以存储由移动设备600摄取的图像、语音录音、联系人信息、程序、用于该程序的数据等。
用户可以通过例如小键盘641和麦克风642的输入设备将命令和信息输入到移动设备600中。在某些实施例中,显示器643可以是触摸敏感的屏幕,并且可以允许用户在其上输入命令和信息。小键盘641和显示器643可以通过耦接到总线615的用户输入接口650连接到处理单元605,但还可以通过例如(多个)通信模块632和(多个)有线端口640的其它接口和总线结构被连接。
用户可以经由向麦克风642中说话和经由例如在小键盘641或触摸敏感显示器643上输入的文本消息来与其它用户进行通信。音频单元655可以提供用于驱动扬声器644的电信号,以及接收并将从麦克风642接收的音频信号数字化。
移动设备600可以包括提供用于驱动照相机661的信号的视频单元660。视频单元660可以还接收由照相机661获取的图像,并且将这些图像提供给包括在移动设备600中的处理单元605和/或存储器。由照相机661获取的图像可以包括视频、不构成视频的一个或多个图像或者其某种组合。
(多个)通信模块632可以向一个或多个天线665提供信号和从其接收信号。(多个)天线665中的一个可以发送和接收用于蜂窝电话网络的消息。另一天线可以发送和接收蓝牙RTM消息。仍然另一天线(或共享的天线)可以经由无线以太网标准发送和接收网络消息。
在某些实施例中,单一天线可以被用于发送和/或接收用于多于一种类型网络的消息。例如,单一天线可以发送和接收语音和分组消息。
当运行在联网环境中时,移动设备600可以连接到一个或多个远程设备。远程设备可以包括个人计算机、服务器、路由器、网络PC、蜂窝电话、对等设备或其它常见网络节点,并且通常包括上面关于移动设备600描述的单元中的许多或全部。
本文中描述的主题的方面可以与众多其它通用或专用计算系统环境或配置一起运行。可以适于与本文中描述的主题的方面一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持或膝上设备、微处理器系统、基于微控制器的系统、机顶盒、可编程消费电子、网络PC、迷你计算机、大型机、包括以上系统或设备中任一个的分布式计算环境等。
本文中描述的主题的方面可以在被移动设备执行的、例如程序模块的计算机可执行指令的一般上下文中被描述。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本文中描述的主题的方面还可以在分布式计算环境中被实践,其中,在该分布式计算环境中,任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质这两者中。
此外,尽管术语服务器经常在本文中被使用,但应当认识到,该术语可以还包含客户端、分布在一个或多个计算机上的一个或多个过程的集合、一个或多个独立存储设备、一个或多个其它设备的集合、以上中一个或多个的组合等。
结论
尽管本发明可接受各种修改和可替换构造,但在附图中示出并且已在上面详细描述了其特定示出的实施例。然而,应当理解,决不存在任何将本发明限于所公开的特定形式的意图,而相反,意在覆盖落在本发明的精神和范围内的全部修改、可替换构造和等价项。
本领域的技术人员应当理解,在图3的方法300和图4的方法400中示出的步骤的顺序不旨在以任何方式限制本发明的范围,并且实际上,所述步骤在这里的实施例中可以以多种不同的顺序出现。例如,在这里的实施例的范围内,上下文指示器可以在接收到对知晓上下文搜索的请求之后被接收。将任意和全部所述变型及其任意组合设想为在本发明的实施例的范围内。
已关于特定实施例描述了本发明,其中,所述实施例旨在在各方面都是示例性而非限制性的。不脱离其范围的可替换实施例对于本发明所涉及领域的技术人员将变得显而易见。