用于基于规则的情景获取的方法

文档序号:6384344阅读:159来源:国知局
专利名称:用于基于规则的情景获取的方法
技术领域
本公开内容涉及一种用于基于规则的情景获取的方法和系统。
背景技术
诸如移动电话的许多移动计算装置被配置成利用多种情景感知应用以便向用户提供动态反馈。如这里所使用的,术语“情景感知”指的是在移动计算装置上实现的某些应用或程序检测或感测变化的环境并且适当地反应的能力。这样的情景感知应用通常依赖于对用户的情景的连续或频繁的感测。例如,用户的情景可包括诸如位置、转移模式、用户的分组状态、或者用户的工作状态等的信息。然而,由于对用户的情景的感测会消耗大量的电池电力,因此获取情景信息对以电池工作的移动装置会是昂贵的。

发明内容
以下给出了本发明的简要发明内容以提供对这里描述的一些方面的基本理解。该发明内容不是所要求保护的主题内容的全面概述。本发明内容不旨在确定所要求保护的主题内容的重要或关键的要素,也不旨在界定本发明的范围。其唯一的目的在于以简化形式给出所要求保护的主题内容的一些概念,作为稍后给出的更详细描述的序言。实施例提供了一种用于基于规则的情景获取的方法。该方法包括在情景获取系统处从应用接受对于目标情景的请求、以及使用基于规则的推断缓存来识别与目标情景相关的情景规则。该方法还包括基于先前获取的情景和情景规则而确定目标情景的推断值。如果基于先前获取的情景和情景规则不能确定目标情景的推断值,则该方法还包括使用基于规则的获取计划器来执行用于获取目标情景的推断值的感测计划的第一步骤,其中,基于情景规则、或成本、或其任意组合来确定第一步骤。该方法还包括执行感测计划的多个随后步骤中的任意步骤,直到获得目标情景的推断值为止,其中,基于情景规则、成本、或者感测计划的先前步骤的结果、或其任意组合来分别确定每个随后步骤。另一实施例提供用于基于规则的情景获取的系统。该系统包括基于规则的推断缓存,基于规则的推断缓存被配置成从应用接受对于目标情景的请求以及识别与目标情景相关的情景规则,其中,情景规则存储在基于规则的推断缓存中。该系统还包括基于规则的获取计划器,基于规则的获取计划器被配置成执行用于获取目标情景的推断值的感测计划的第一步骤,其中,基于情景规则、或成本、或其任意组合来确定第一步骤。基于规则的获取计划器还被配置成执行感测计划的第二步骤,其中,基于情景规则、成本、或感测计划的第一步骤的结果、或其任意组合来确定第二步骤。另外,另一实施例提供了一个或更多个用于存储计算机可读指令的非暂态计算机可读存储介质。该计算机可读指令在由一个或更多个处理装置执行时提供基于规则的情景获取系统。该计算机可读指令包括如下代码该代码被配置成从应用接受对于目标情景的请求,以及使用基于规则的推断缓存、根据与目标情景相关的情景规则来试图确定目标情景的推断值。该计算机可读指令还包括如下代码该代码被配置成如果根据情景规则没有确定推断值,则使用基于规则的获取计划器来形成和执行感测计划的多个步骤中的每个步骤。提供本发明内容以便以简化形式介绍概念的选集,以下在具体实施方式
中进一步描述这些概念。该发明内容不旨在确定所要求保护的主题内容的关键特征或基本特征,也不旨在用来限制所要求保护的主题内容的范围。


图1是可实现基于规则的情景获取方法的示例性系统的框图;图2是可在计算系统内实现的情景获取系统的实施例;图3是情景规则挖掘器的实施例,该情景规则挖掘器可在情景获取系统内使用以创建用于推断情景信息的规则;图4是基于规则的推断缓存的实施例,该基于规则的推断缓存可在情景获取系统内使用以经由推断来提供情景信息;图5是AND/OR (与/或)树的示意图,该AND/OR树可由基于规则的推断缓存用来定义用于推断特定情景信息的规则;图6是基于规则的获取计划器的实施例,该基于规则的获取计划器可在情景获取系统内使用以创建用于获取情景信息的感测计划;图7是示出移动计算环境内用于基于规则的情景获取的方法的处理流程图;图8是示出存储如下代码的有形计算机可读介质的框图该代码被适配用于获取情景信息以供计算环境内的情景感知应用使用;以及图9是情景获取系统的示例性实施例的框图。在本公开内容和附图中通篇使用相同标号来引用相似部件和特征。100系列的标号指代最初存在于图1中的特征,200系列的标号指代最初存在于图2中的特征,300系列的标号指代最初存在于图3中的特征等。
具体实施例方式这里所公开的实施例阐述了用于使用情景获取系统来确定情景信息的方法和系统。计算装置的用户可授权情景获取系统来确定情景信息。在各个实施例中,情景信息可以是二进制值的形式,即,真或假。例如,如果特定情景与用户是否正在驾驶相关,则如果确定用户正在驾驶则情景的值为真。否则,情景的值为假。此外,在一些实施例中,情景信息可以是实数值的形式。情景信息可包括由特定情景感知应用请求的特定目标情景。可通过使用基于规则的推断缓存和基于规则的获取计划器的情景获取系统来确定目标情景。基于规则的推断缓存可用来识别与特定目标情景相关的情景规则,其中,情景规则可被组合为逻辑表示树,该逻辑表示树定义用于确定特定目标情景的值的推断过程。例如,情景规则可包括逻辑表示,该逻辑表示用来基于多个其它条件(诸如用户是否正在驾驶、在家、或者在开会)而确定用户是否在室外。在各个实施例中,取决于特定目标情景,情景规则可以是笼统的(例如,用户是否正在打电话)或者具体的(例如,特定用户是否正在与特定联系人打电话)。基于规则的推断缓存还可包括情景规则挖掘器,该情景规则挖掘器被配置成创建情景获取系统利用的情景规则。另外,基于规则的获取计划器可用来确定和执行用于获得目标情景的推断值的感测计划。推断值可基于情景规则和从多个可能的感测过程中的任意过程获得的感测情景两者。作为正文前的图文,一些图在不同地被称为功能、模块、特征、元件等的一个或更多个结构部件的上下文中描述了概念。可以以任意方式例如通过软件、硬件(例如,分立逻辑部件等)、固件等、或这些实现的任意组合实现图中示出的各种部件。在一个实施例中,各种部件可反映实际实现中的对应部件的使用。在其它实施例中,可通过多个实际部件来实现图中示出的任意单个部件。图中任意两个或更多个单独部件的描绘可反映由单个实际部件执行的不同功能。以下讨论的图1提供了关于可用来实现图中示出的功能的一个系统的细节。其它图以流程图的形式描述概念。以该形式,特定操作被描述为构成以特定顺序执行的不同块。这样的实现是示例性的和非限制性的。这里描述的某些块可分组在一起并在单个操作中执行,某些块可以被分割成多个组成块,并且某些块可以按与这里示出的顺序不同的顺序(包括执行块的并行方式)执行。可以通过软件、硬件、固件、手动处理等、或这些实现的任意组合实现流程图中示出的块。如这里所使用的,硬件可包括计算机系统、诸如专用集成电路(ASIC)的分立逻辑部件等、以及其任意组合。关于术语,短语“被配置成”包括可以构建任意种类的功能以执行所识别的操作的任意方式。功能可以被配置成使用例如软件、硬件、固件等、或其任意组合来执行操作。术语“逻辑”包括用于执行任务的任意功能。例如,流程图中示出的每个操作对应于用于执行该操作的逻辑。可以使用例如软件、硬件、固件等、或其任意组合来执行操作。如这里所使用的,术语“部件”、“系统”、“客户端”等旨在指代计算机相关实体,其为硬件、软件(例如,执行软件)、和/或固件、或其组合。例如,部件可以是处理器上运行的处理、对象、可执行文件、程序、函数、库、子例程、和/或计算机或者软件和硬件的组合。作为说明,服务器上运行的应用和服务器都可以是部件。一个或更多个部件可位于过程内并且部件可位于一台计算机上和/或分布在两台或更多台计算机之间。术语“处理器”通常被理解为指代硬件部件,诸如计算机系统的处理单元。此外,要求保护的主题内容可以被实现为使用标准编程和/或工程技术产生软件、固件、硬件或其任何组合以控制计算机实现所公开的主题内容的方法、设备或制造物品。如这里使用的术语“制造物品”旨在包括从任意非暂态计算机可读装置或介质可访问的计算机程序。非暂态计算机可读存储介质可以包括但不限于磁存储装置(例如,硬盘、软盘、以及磁带等)、光盘(例如,致密盘(⑶)和数字通用盘(DVD)等)、智能卡、以及闪速存储装置(例如,卡、棒、以及键驱动等)。相反,计算机可读介质一般(即,不一定是存储介质)可附加包括诸如用于无线信号的传输介质等的通信介质。图1是可实现基于规则的情景获取方法的示例性系统100的框图。基于规则的情景获取方法可用来减少运行情景感知应用的成本。在各个实施例中,系统100可包括在移动计算装置中,该移动计算装置诸如为移动电话、平板机、个人数字助理(PDA)、电子阅读器、或媒体播放器等。另外,在一些实施例中,系统100可包括在任意类型的如下计算装置中该计算装置能够感测情景信息以供通过计算装置实现的情景感知应用或程序使用。情景感知应用的示例是“基于位置的提醒器”应用,该应用被配置成当用户在特定位置时提醒该用户执行特定任务。另一示例是“跑步跟踪器”应用,该应用被配置成记录用户一天锻炼了多少。此外,另一示例是“本地搜索/票券”应用,该应用被配置成利用用户的当前位置、转移模式以及分组状态来使传递到电话的本地搜索结果或票券个性化。系统100可包括处理器102以及存储器装置104,处理器102被适配用于执行存储的指令,存储器装置104存储可由处理器102执行的指令。处理器102可以是单核处理器、多核处理器、计算群集、或任意数量的其它配置。存储器装置104可以包括随机存取存储器(RAM)、只读存储器(ROM)、闪存、或任意其它适当的存储器系统。这些指令实现基于规则的方法,该基于规则的方法用于获取情景信息以供情景感知应用使用。处理器102可通过总线106连接到一个或更多个输入和输出装置。系统100还可包括存储装置108,存储装置108被适配用于存储情景规则110、情景历史112、以及情景获取模块114。情景规则110和情景历史112可用来有效地获取多种情景感知应用的相关目标情景。另外,情景获取模块114可用来实现用于获取这样的目标情景的方法。存储装置108还可被适配用于存储应用编程接口(API) 116和任意数量的应用118。应用118可以是通过API 116彼此通信的情景感知应用。存储装置108可以包括硬盘驱动器、光学驱动器、拇指型驱动器、驱动器阵列、或其任意组合。系统100内的用户接口(UI) 120可将系统100连接到任意数量的用户接口装置122,该用户接口装置122诸如为触摸屏、扬声器或者指向装置等。系统100可通过总线106链接到显示接口 124,显示接口 124被适配用于将系统100连接到显示装置126,其中,显示装置126可包括移动装置的显示屏或计算机监视器等。此外,网络接口控制器(NIC)128可被适配用于将系统100通过总线106连接到网络130。通过网络130,基于web的应用132可被下载并存储在计算机的存储装置108内,或者可通过web浏览器来访问。在各个实施例中,基于web的应用132可以是情景感知应用。另外,电子文本和成像文档134可通过网络130被下载以供系统100使用。图2是可在计算系统202内实现的情景获取系统200的实施例。计算系统202的用户可授权情景获取系统200来确定特定情景信息。在各个实施例中,计算系统202可包括在移动计算装置或者任意类型的计算装置内,计算装置被配置成感测情景信息和实现情景感知应用或程序。例如,在一些实施例中,计算系统202可以是关于图1描述的系统100。此外,情景获取系统200可以可通信地耦合到任意数量的情景感知应用204。情景获取系统200可用来通过基于规则的情景获取过程来为情景感知应用204提供期望的情景信息。在各个实施例中,可由情景获取系统200使用多种部件来实现基于规则的情景获取过程。这样的部件可包括基于规则的推断缓存206、情景规则挖掘器208、基于规则的获取计划器210、分类器存储模块212、以及原始传感器数据缓存214等。基于规则的推断缓存206可用来基于情景规则而试图推断期望的情景信息。情景规则可包括用来定义特定目标情景的值的逻辑表示,特定目标情景诸如例如为用户是否正在驾驶、在室外、在室内、在家里、或者在开会。可使用诸如关联规则挖掘算法的多个数据挖掘算法中的任意算法来推导情景规贝1J。例如,在一些实施例中,可利用Apriori算法、使用关联规则挖掘技术来确定情景规则。此外,可由情景规则挖掘器208基于情景历史来创建这样的情景规则,其中,情景历史可包括来自情景获取过程的先前实例的感测数据。另外,还可由情景规则挖掘器208响应于来自情景获取系统200的开发者的输入或者在一些实施例中响应于来自计算系统202的用户的直接输入来创建情景规则。情景获取系统200可依赖来自情景感知应用204的输入,以便在情景规则挖掘器208内生成情景规则。例如,在各个实施例中,“放置(put)功能”216可用来填充(populate)情景获取系统200内的情景历史。放置功能216可涉及在基于规则的推断缓存206处接受与特定情景信息相关的信息以及这样的情景信息的对应值,如箭头218所指示。基于规则的推断缓存206可记录特定情景信息的值以用于将来使用。此外,基于规则的推断缓存206还可将特定情景信息的值发送到情景规则挖掘器208以用于新情景规则的生成。在各个实施例中,从放置功能216获得的特定情景信息可被称为“情景历史”。基于规则的推断缓存206可响应于“取得(get)功能” 220来启动情景获取过程。取得功能220可涉及在基于规则的推断缓存206处从情景感知应用204接受对于特定情景信息的请求,如箭头218所指示。取得功能220可包括与期望的情景信息或“目标情景”相关的信息。基于规则的推断缓存206可搜索本地文件,以便确定目标情景的值是否已经存在于基于规则的推断缓存206内。如果在基于规则的推断缓存206内识别了目标情景的确切值,则该值可被自动返回给情景感知应用204。然而,如果在基于规则的推断缓存206内没有找到目标情景的确切值,则基于规则的推断缓存206可直接查询情景规则挖掘器208来确定是否有适当的情景规则可用于获取目标情景,如箭头222所指示。另外,基于规则的推断缓存206还可将对于目标情景的请求转发给基于规则的获取计划器210,如箭头224所指示。基于规则的获取计划器210可基于计算系统内的可用传感器和情景历史来形成用于获取特定目标情景的计划。基于规则的获取计划器210可以可通信地耦合到情景规则挖掘器208并且可与情景规则挖掘器208通信,以便获得与目标情景相关的情景规则,如箭头226所指示。基于规则的获取计划器210可使用适当的情景规则以便创建用于获取目标情景的感测计划。在一些实施例中,感测计划可被发送到分类器存储模块212 (如箭头228所指示),以便识别由感测计划指定的每个感测过程的对应分类器。例如,由感测计划指定的分类器可以是“正行走”分类器230或“在家”分类器232。此外,分类器存储模块212可包括与多种情景信息相关的分类器的库。分类器存储模块212和原始传感器数据缓存214可以可通信地耦合,并且被配置成交换与分类器相关的信息,如箭头234所指示。例如,适当的分类器可从分类器存储模块212发送到原始传感器数据缓存214。原始传感器数据缓存214可确定所请求的感测过程的结果是否已经包含在缓存214内。如果找到所请求的感测过程的结果,则该结果可被返回到基于规则的获取计划器210并用来确定感测计划的下一步骤。然而,如果没有找到所请求的感测过程的结果,则计算系统202可利用多种传感器中的任意传感器来获得与特定分类器相关的情景信息。例如,如果基于规则的获取计划器210指定了正在行走分类器230,则可探测加速计或全球定位系统(GPS)以推断计算系统202的用户是否正在行走。作为另一示例,如果指定了在家分类器232,则可探测麦克风、GPS、或加速计以推断计算系统202的用户是否在家。另外,在各个实施例中,分类器存储模块212、或者原始传感器数据缓存214、或这两者可包括在基于规则的获取计划器210内。
在各个实施例中,一旦情景获取系统200确定了目标情景的值,则该值可被返回到启动取得功能220的情景感知应用204。可利用目标情景来帮助情景感知应用204的运行,并且目标情景可允许情景感知应用204将动态反馈提供给计算系统202的用户。另外,情景感知应用204的行为可根据特定应用或环境、响应于目标情景的值而更改。要理解的是,情景获取系统200不限于图2中示出的配置。相反,可以以多个可能配置中的任意配置来布置情景获取系统200的部件。例如,在各个实施例中,情景规则挖掘器208可包括在基于规则的推断缓存206中。在一些实施例中,可经由应用编程接口(API)在计算系统202内实现放置功能216和取得功能220。另外,关于图2描述的情景获取系统200的所有部件并非在每种情况中都存在,并且任意数量的附加部件可包括在系统200内。图3是情景规则挖掘器208的实施例,情景规则挖掘器208可在情景获取系统200内使用以创建用于推断情景信息的规则。相似标号的项目如关于图2所描述的那样。情景规则挖掘器208可用来创建与由计算系统202获得的情景信息相关的多种情景规则300,其中,这样的情景信息可被称为情景历史302。可由计算系统202使用多种传感器中的任意传感器来获得情景历史302,多种传感器包括GPS、加速计、麦克风、W1-Fi连接、或者触摸屏等。另外,在各个实施例中,情景历史302可以是情景规则挖掘器208的输入,如箭头304所指示,而情景规则300可以是情景规则挖掘器208的输出,如箭头306所指示。此外,在一些实施例中,可由情景规则挖掘器208响应于来自情景获取系统200的开发者的输入或者响应于来自计算系统202的用户的直接输入来创建情景规则300。由情景获取系统200的开发者预编程的情景规则可被称为“通用情景规则”,而响应于特定用户的输入而创建的情景规则可被称为“个人情景规则”。另外,在各个实施例中,可在制造处理期间、利用通用情景规则来引导(bootstrap )特定计算系统,而随着建立用户的特性、环境或者偏好,计算系统可随时间学习个人情景规则。图4是基于规则的推断缓存206的实施例,基于规则的推断缓存206可在情景获取系统200内使用以经由推断提供情景信息。相似标号的项目如关于图2和3所描述的那样。如关于图2所讨论的,基于规则的推断缓存206可利用从放置功能216获得的情景信息,如箭头400所指示。这样的情景信息可包括从计算系统202内存在的多个传感器中的任意传感器获取的感测情景402。在各个实施例中,感测情景402的值可存储在推断引擎404内,如箭头406所指示,以便允许具有相同值的随后目标情景的自动返回。另外,感测情景402可存储在基于规则的推断缓存206内作为情景历史302,如箭头408所指示。在各个实施例中,情景规则挖掘器208可包括在基于规则的推断缓存206内,并且可直接接受情景历史302作为输入(如箭头410所指示)、并且产生情景规则300作为输出(如箭头412所指示)。如关于图2所讨论的,基于规则的推断缓存206可响应于从取得功能220获得的、对于特定目标情景的请求,启动情景获取过程。在各个实施例中,取得功能220可将对于特定目标情景的请求直接发送给基于规则的推断缓存206,如箭头414所指示。基于规则的推断缓存206可搜索感测情景以确定是否已经获得目标情景的确切值。如果没有找到目标情景的确切值,则基于规则的推断缓存206可将该请求转发给推断引擎404。在各个实施例中,推断引擎404可被配置成利用由情景规则挖掘器208生成的情景规则300,如箭头416所指示。推断引擎404可用来基于情景规则300和感测情景402而生成推断的情景418,如箭头420所指示。在各个实施例中,推断的情景418可等于目标情景的推断值。另外,由推断引擎404生成的推断的情景418可被输出作为取得功能220请求的目标情景的值,如箭头422所指示。在各个实施例中,基于规则的推断缓存206可使用由情景规则挖掘器208生成的情景规则300来创建定义每个可能的情景值的特定情景规则的逻辑表示树或逻辑运算树。例如,特定逻辑表示树可指定对于目标情景的特定推断值的情景规则。每个逻辑表示树可包括多个相关情景规则300的组合。另外,逻辑表示树可基于布尔表示,其中,布尔表示是在求值时产生真或假的值的逻辑表示。在一些实施例中,逻辑表示树可以是AND/OR树,如以下关于图5所描述的。图5是AND/OR树500的示意图,该AND/OR树500可由基于规则的推断缓存206利用以定义用于推断特定情景信息的规则。相似标号的项目如关于图2、3、以及4所描述的那样。AND/OR树500可用来定义“在室内真”目标情景值502,其中,“在室内真”目标情景值502指示用户在室内。然而,基于规则的推断缓存可包括对于每个目标情景值的类似的AND/OR树。例如,可存在对于“在室内假”目标情景值的单独AND/OR树。AND/OR树500可基于逻辑运算提供对于“在室内真”目标情景值502的逻辑定义。可使用包括AND算子504和OR算子506的逻辑算子来执行逻辑运算。AND算子504可指示对于两种可能值的正或“真”结果建立AND运算的正或真结果。例如,“驾驶假”情景值508和“行走假”情景值510构成AND运算的正结果。作为另一示例,“独自假”情景值512和“行走假”情景值514也可构成AND运算的正结果,如图5所指示。OR算子506可指示两个或更多个可能值中的任意可能值的正或真结果建立OR运算的正或真结果。因此,如果从OR算子506分支的可能情景值之一为真,则可验证“在室内真”目标情景值502也为真。例如,如果“在室内真”情景值516为真,则“在室内真”目标情景值502为真成立。另外,可推断如果“在家真”情景值518、“在开会真”情景值520、或“在办公室真”情景值522为真,则“在室内真”目标情景值502也为真。该推断可基于如下事实用户会同时在家、在开会、或者在他们的办公室与在室外是不太可能或不可能的。因此,可推断用户在室内。此外,如果用户没有驾驶也没有行走、或者不是独自的也没有行走,则也可以推断用户在室内。在各个实施例中,可针对每个用户的特定个人和环境特性定制AND/OR树500。附加地,可假设AND/OR树500内的一些逻辑元素为通用的并且可在任意感测情景402的收集之前被预编程到用户的计算装置中。例如,通常可假设如果用户正在驾驶,则用户不可能也在行走。在一些实施例中,可对诸如AND/OR树500的逻辑表示树进行标准化以产生更短型式的逻辑表示树。例如,可利用布尔表示的标准规则来消除逻辑表示树内的任何冗余。这可通过交替逻辑表示树内的AND级和OR级、或通过吸收或瓦解逻辑表示树内的冗余表示来完成。图6是基于规则的获取计划器210的实施例,基于规则的获取计划器210可在情景获取系统200内使用以创建用于获取情景信息的感测计划。相似标号的项目如关于图2、
3、4以及5所描述的那样。基于规则的获取计划器210可从基于规则的推断缓存206或直接从情景感知应用204接收对于特定目标情景600的请求。另外,基于规则的获取计划器210可接收各种输入,诸如缓存的传感器数据602、缓存的情景604、情景历史302、感测成本606、或情景规则300、或其任意组合。缓存的传感器数据602可包括与从放置功能216的多个实例获得的感测情景402相关的存储数据。缓存的情景604可包括与从取得功能220的多个实例获得的推断情景418相关的数据。感测成本606可包括多个可能的感测过程中的每个过程的计算成本或电池成本。此外,每个传感器可具有指定的操作成本。在各个实施例中,例如,GPS传感器的计算成本高于麦克风传感器的计算成本。基于规则的获取计划器210可利用条件计划技术以便提供动态感测计划。在一些实施例中,基于规则的获取计划器210可根据基于动态规划的解决方案(诸如例如,关联规则挖掘算法)来形成感测计划。可由可通信地耦合到基于规则的获取计划器210的感测计划执行模块608来实现感测计划。感测计划执行模块608可被配置成执行计算系统202内的感测过程。感测过程可包括例如使用GPS装置来确定GPS位置、使用加速计来测量加速度、或者使用麦克风来确定房间中是否存在多个人。另外,条件计划技术可涉及选择“下一测试”功能610,其中,下一测试功能610可指定感测计划中的下一步骤。在一些实施例中,可由基于规则的获取计划器210基于感测成本606、情景规则300、以及感测计划的先前步骤的结果而确定感测计划的每个步骤。可通过“测试结果”功能612将感测计划的先前步骤的结果提供给基于规则的获取计划器210。此外,还可由基于规则的获取计划器210利用缓存的传感器数据602、缓存的情景604、或者情景历史302、或其任意组合来确定感测计划中的每个步骤。在一些实施例中,可由感测计划执行模块608实现下一测试功能610和测试结果功能612。图7是示出用于移动计算环境内的基于规则的情景获取的方法700的处理流程图。移动计算环境可包括能够实现情景感知应用或程序的任意类型的移动装置或系统。另夕卜,在一些实施例中,方法700可用于非移动计算环境(诸如家庭内计算系统、电视机、或台式计算机等)内的基于规则的情景获取。在各个实施例中,可根据方法700获取或推断的情景可包括与特定用户的环境、特性或偏好相关的任意类型的非确定性或可变的信息。方法700可用来为特定应用提供期望目标情景。例如,应用可期望知道用户是否在室内或在室外、在家里或在开会、或者在驾驶或在行走。应用可通过发送对于每个特定目标情景的请求来根据方法700获取这样的情景信息。例如,一个目标情景可以是用户是否在室外,而另一目标情景可以是用户是否在开会。另外,每个目标情景的值可以是真或假。例如,如果用户在室外,则对应目标情景的值可以为真。在各个实施例中,因为无法得到目标情景的确切值,因此方法700可产生目标情景的推断值。目标情景的推断值可基于与目标情景相关的特定情景规则。方法700开始于块702,在块702,在情景获取系统处从应用接受对于目标情景的请求。该请求可指定应用所期望的特定目标情景。在各个实施例中,应用可经由应用编程接口(API)与情景获取系统通信,其中,API可存储在移动计算环境中。具体地,应用可经由API直接与基于规则的推断缓存、或基于规则的获取计划器、或这两者通信。在块704,可使用基于规则的推断缓存来识别与目标情景相关的情景规则。与目标情景相关的情景规则可包括多个情景规则,这多个情景规则由情景规则挖掘器生成、并且由基于规则的推断缓存根据关于目标情景的各个情景规则之间的关系而组织。另外,基于规则的推断缓存可以是情景获取系统内的部件,并且可包括情景规则挖掘器和推断引擎。情景规则挖掘器可用来基于情景历史而生成情景规则,其中,可使用感测情景来确定情景历史。感测情景可包括从感测过程获得的数据。在各个实施例中,感测过程可包括涉及移动计算环境内的传感器的使用的任意过程。传感器的示例包括GPS装置、加速计、扬声器、麦克风、触摸屏、摄像装置、光指示器、或者W1-Fi连接等。在一些实施例中,基于规则的推断缓存可利用情景规则挖掘器生成的情景规则来创建用于每个可能的目标情景的逻辑表示树。逻辑表示树可以是基于逻辑运算而定义特定目标情景的流程图。逻辑运算可用来基于推断而确定目标情景的值。推断目标情景的值可通过减少执行的感测过程的数量来减少用于确定目标情景的计算成本或电池成本。在一些实施例中,如果在基于规则的推断缓存内包含目标情景的确切值,则该确切值可自动返回给应用。在块706,可基于先前获取的情景和与目标情景相关的情景规则而确定目标情景的推断值。先前获取的情景例如可包括情景历史和开发者包括的预编程的情景。如果可以在无需执行任何感测过程的情况下获得目标情景的推断值,则方法700可在块706结束,并且目标情景的推断值可返回给应用。在一些实施例中,目标情景的确切值或推断值可经由API从情景获取系统发送到应用。然而,如果基于规则的推断缓存没有直接确定目标情景的确切值或推断值,则方法700可在块708继续。在块708,可由基于规则的获取计划器执行感测计划的第一步骤。可基于与目标情景相关的情景规则、或成本、或其任意组合而确定感测计划的第一步骤。成本可包括获得与目标情景相关的传感器数据的能量成本、或电池成本、或计算成本。第一步骤可包括第一感测过程,该第一感测过程可被执行以获得与目标情景相关的传感器数据。另外,可选择第一步骤使得可以以增加获得目标情景的推断值的可能性的方式扩充所识别的与目标情景相关的情景规则。附加地,可以至少部分根据哪个感测过程成本低来选择第一步骤。在各个实施例中,如果从感测计划的第一步骤确定了目标情景的推断值,则推断值可返回给应用。否则,方法700可在块710继续。在块710,可由基于规则的获取计划器执行感测计划的多个随后步骤中的任意步骤,直到获得目标情景的推断值为止。每个步骤可包括如下感测过程该感测过程可被执行以便使用在移动计算环境或计算装置内实施的多个传感器中的任意传感器来获得与目标情景相关的感测情景。可基于与目标情景相关的情景规则、成本、或感测计划的先前步骤的结果、或其任意组合来分别确定每个随后步骤。在一些实施例中,例如,可利用用于目标情景的逻辑表示树来确定感测计划的下一步骤。基于规则的获取计划器可利用每个先前步骤的结果以便确定下一感测过程,该下一感测过程可以以增大获得目标情景的推断值的可能性的方式扩充来自先前感测过程的传感器数据。另外,在一些实施例中,可选择感测计划的第一步骤和随后步骤使得从最低成本步骤开始、根据成本按升序来执行步骤。在各个实施例中,情景获取系统可在感测计划的每个步骤之后试图确定目标情景的推断值。另外,基于规则的获取计划器可继续生成感测计划的下一步骤,直到确定推断值为止。一旦获得推断值,则推断值可被输出到启动方法700的实例的应用。在一些实施例中,如果在指定时间窗内执行感测计划的两个顺序步骤(例如,第一步骤和第二步骤),则这些步骤可被认为是并发的、或同时发生的。指定时间窗可被称为“箱尺寸(basket size)”。该箱尺寸可根据特定目标情景、或根据由步骤指定的特定感测过程动态地更改。例如,如果用户在最近五分钟内在行走,则可推断用户正在行走。然而,不可以因为用户在最近五分钟内打电话就推断用户正在打电话。在各个实施例中,基于规则的获取计划器可基于以下伪代码而确定感测计划的每
个步骤:
权利要求
1.一种用于基于规则的情景获取的方法(700),包括: 在情景获取系统(200)处从应用(118)接受(702)对于目标情景的请求; 使用基于规则的推断缓存(206)来识别(704)与所述目标情景相关的情景规则(110,300); 基于先前获取的情景和所述情景规则(110, 300)而确定(706)所述目标情景的推断值;或者 如果基于所述先前获取的情景和所述情景规则(110,300)不能确定所述目标情景的推断值,则使用基于规则的获取计划器(210)来执行(708)用于获取所述目标情景的推断值的感测计划的第一步骤,其中,基于所述情景规则(110,300)、或成本、或其任意组合而确定所述第一步骤;以及 执行(710)所述感测计划的多个随后步骤中的任意步骤,直到获得所述目标情景的推断值为止,其中,基于所述情景规则(110,300)、所述成本、或所述感测计划的先前步骤的结果、或其任意组合而分别确定所述多个随后步骤中的每个步骤。
2.根据权利要求1所述的方法(700),包括如果在所述情景获取系统(200)中找到所述目标情境的确切值,则将所述确切值输出到所述应用(118)。
3.根据权利要求1所述的方法(700),包括将所述目标情境的推断值输出到所述应用(118)。
4.根据权利要求1所述 的方法(700),其中,所述应用(118)包括在移动计算装置内实施的情景感知应用(204)。
5.根据权利要求1所述的方法(700),包括在情景规则挖掘器(208)内创建所述情景规则(110,300),并且在所述基于规则的推断缓存(206)内对与所述目标情景相关的所述情景规则(110,300)进行组合以创建用于所述目标情景的逻辑表示树(500)。
6.根据权利要求5所述的方法(700),包括使用所述逻辑表示树(500)来确定用于获取所述目标情景的推断值的所述感测计划。
7.根据权利要求1所述的方法(700),其中,执行所述感测计划的所述第一步骤或所述多个随后步骤中的任意步骤包括使用在计算装置内实施的传感器来获得与所述目标情景相关的感测情景。
8.根据权利要求1所述的方法(700),其中,所述成本包括获得与所述目标情景相关的传感器数据的计算成本、或电池成本、或这两者,并且其中,选择所述感测计划的所述第一步骤和所述多个随后步骤使得根据所述成本按升序来执行步骤。
9.根据权利要求1所述的方法(700),包括使用情景规则挖掘器(208)、根据从所述基于规则的推断缓存(206)内的感测情景获得的情景历史(112,302)来生成所述情景规则(110,300)。
10.一种用于基于规则的情景获取的系统,包括: 基于规则的推断缓存(206),其被配置成: 从应用(118)接受对于目标情景的请求;以及 识别与所述目标情景相关的情景规则(110,300),其中,所述情景规则(110,300)存储在所述基于规则的推断缓存(206)内;以及 基于规则的获取计划器(210),其被配置成:执行用于获取所述目标情景的推断值的感测计划的第一步骤,其中,基于所述情景规则(110,300)、或成本、或其任意组合而确定所述第一步骤;以及 执行所述感测计划的第二步骤,其中,基于所述情景规则(110,300)、所述成本、或所述感测计划的第一步骤 的结果、或其任意组合而确定所述第二步骤。
全文摘要
这里公开了用于基于规则的情景获取的方法和系统。该方法(700)包括在情景获取系统(200)处从应用(118)接受(702)对于目标情景的请求,以及使用基于规则的推断缓存(206)来识别(704)与目标情景相关的情景规则(110,300)。该方法(700)还包括基于先前获取的情景和情景规则(110,300)而确定(706)目标情景的推断值。如果不能确定目标情景的推断值,则该方法(700)进一步包括使用基于规则的获取计划器(210)来执行(708)用于获取目标情景的推断值的感测计划的第一步骤,以及执行(710)感测计划的多个随后步骤中的任意步骤,直到获得目标情景的推断值为止。
文档编号G06F17/30GK103077184SQ201210544630
公开日2013年5月1日 申请日期2012年12月14日 优先权日2011年12月14日
发明者苏曼·纳特 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1