首页> 中国专利> 对数据应用分析模式

对数据应用分析模式

摘要

本发明涉及对数据应用分析模式。所描述的各方面涉及在高抽象层分析数据。包括一个或多个分析模式的“Smart”可被应用于数据源。这些Smart可以具有等式、规则、约束或表达式中的至少之一的形式以便通过将分析模式应用于数据来生成结果。Smart可以基于用户偏好和数据输入来预定义并从库中选择。可使用任何合适的用户界面来将分析模式应用于数据项,以及提供供用户对数据进行直观调整的可视环境,在用户界面中添加控件以过滤或约束数据或其组合,获得一个或多个经修改的结果。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-03-02

    授权

    授权

  • 2015-08-19

    专利申请权的转移 IPC(主分类):G06F9/44 变更前: 变更后: 登记生效日:20150728 申请日:20111021

    专利申请权、专利权的转移

  • 2012-11-14

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20111021

    实质审查的生效

  • 2012-09-19

    公开

    公开

说明书

技术领域

本发明涉及数据分析,尤其是对数据应用分析模式。

背景技术

如今,人们被定期地示以大量的数据,并且经常寻求以多种方式来操纵这 些数据。计算环境为用户提供了分析这些大量数据的能力。在某些情形中,通 过视觉上交互式用户显示器图形地操纵数据。

例如,数据可以被导入到电子表格中,其中用户能够根据各种函数来处理 数据表达式。例如,电子表格中的单元格可以包含数据项形式的表达式和/或可 用来作为对数据的操作的函数。表达式可以引用电子表格中的其他单元格作为 表达式的输入,以使得为第一单元格计算的值可以依赖于其他单元格内包含的 值。在这样的情形中,函数形式的表达式的求值结果可被呈现在与表达式相 同的单元格中。

如果电子表格程序支持这样的功能,则电子表格中的数据也可以通过所创 建的图表或图来呈现。

发明内容

各方面涉及在超出电子表格环境的能力的抽象层分析数据。在各个实施例 中,可以在可重用的组件中捕捉一个或多个分析模式,该可重用的组件可被应 用于数据以向用户提供在经由可视界面生成解决方案时使用复杂的分析逻辑 的能力。这些被称为“Smart”的组件可作为例如库中的预封装组件对用户可 用。Smart可以包括表示分析模式的等式、规则、约束或表达式中的至少一个。 在操作中,可以将Smart的输入连接到要分析的数据源,并且可以随后执行 Smart。这种执行的结果可以直接地呈现给用户,或者可以影响正被分析的数 据,或者由其他组件呈现给用户。

使用Smart允许多个分析模式中任一个被选择并被应用于数据集。在某些 实施例中,分析模式可被应用于数据集以从数据集创建各项的集合。或者,分 析模式可以选择数据或导出值以最小化或最大化特定标准。例如,分析模式可 以用于标识数据集中表示的地点,从而最小化感兴趣的特定地点到其他位置的 距离。或者,分析模式可以最大化考虑某些决定或可能性中涉及的指标。在某 些实施例中,应用于数据集的分析模式提议将事件安排成基于特定顺序或在特 定时刻发生。如这些示例所示,执行Smart的结果可以是任何合适的形式,包 括非标量形式。

计算设备可以为用户提供用户界面以输入对Smart的选择,该Smart对分 析模式进行编码。用户在已选择Smart之后还可以指定用于将数据集连接到 Smart的数据源,Smart随后基于与其相关联的分析模式来执行对数据的操作以 产生输出。用户在接收对输出的指示之后可以提供附加的输入以产生经修改的 结果,该输入更新分析模式和/或数据的一方面。在某些实施例中,用户界面可 以为用户提供交互式可视化以对数据项、分析模式、或其组合进行合适的调整。

以上是对由所附权利要求书所定义的本发明的非限定性的概述。

附图简述

附图不旨在按比例绘制。在附图中,各个附图中示出的每一个相同或近乎 完全相同的组件由同样的附图标记来表示。出于简明的目的,不是每一个组件 在每张附图中均被标记。在附图中:

图1是示出可在其中实施某些实施例的计算环境的高级框图;

图2是根据某些实施例将分析模式应用于数据集的系统的示意图;

图3是可包括定义Smart的声明性模型的规约的语句类型的图示;

图4是诸如为图3的声明性模型指定的那些语句等语句的示例的图示;

图5是用于使用Smart来分析数据的实施例的流程图;

图6是用户界面的说明性示例,用户通过该用户界面能够将分析模式应用 于视觉上所呈现的数据集;

图7是图6的用户界面在运行状态中的图示,用户在该状态中激活控件以 选择用于分析的数据;

图8是图7的用户界面在一状态中的图示,用户在该状态中查看已经通过 与用户界面的交互来选择的数据项的子集。

图9是图8的用户界面的图示,其中用户通过该用户界面选择将要被分析 的数据项;

图10是图9的用户界面的图示,其中用户通过该用户界面指示将要被分 析的更多数据项;

图11是图10的用户界面的图示,其中用户提供请求可被添加到用户界面 的视觉对象的菜单的输入;

图12是图11的用户界面的图示,其中用户选择对象如何被添加到用户界 面;

图13是图12的用户界面的图示,其中用户提供对已添加到用户界面的所 选择的对象进行配置的输入;

图14是图13的用户界面的图示,其中用户提供对已添加到用户界面的所 选择的对象进行配置的进一步的输入;

图15是图14的用户界面的图示,其中用户选择将被应用到用户界面的 Smart;

图16是图15的用户界面的图示,其中用户提供在执行所选择的Smart 中的分析模式时要使用的输入;

图17是基于分析模式对数据的应用来提供用户体验的用户界面的图示;

图18是用户界面的图示,其中用户指示可视交互在其他界面中被共享; 以及

图19是图19的用户界面的图示,其中用户指示可视体验将由哪些其他界 面共享。

具体实施方式

发明人已经认识到并且理解常规的计算环境(例如,电子表格)无法以满 足现代信息工作者需要的方式来提供对数据的分析。此处描述的各方面以直 观、可调整并且可重用的方式使用分析模式,该分析模式使用户能够以视觉上 交互的方式将复杂的分析逻辑应用于数据集。在某些情形中,使用所描述的分 析模式来对数据进行分析和求值可以将用户与创建多个函数和/或数据连接中 所涉及的复杂性相隔离。

在某些实施例中,可以提供用于分析包含多个项的数据集的用户界面。用 户界面可以提供对数据进行可视化并通过交互式设置对数据进行操纵的环境。 Smart组件内包含的分析模式的应用可以方便这样的分析。在某些实施例中, Smart可被实现为声明性模型并且可以被合适和动态地可视化,该声明性模型 包含一个或多个约束、等式或对数据集中的项进行操作的规则。

例如,Smart可以对一组房地产数据进行操作,并且当执行时提供对潜在 地点的交互式游览,该潜在地点是根据用户提供的兴趣以显示适于开业的地点 为目标来选择的。或者,另一个Smart可允许用户可视化特定的邻近区域中各 种类型商业的分布在另一种类型的商业的百分比改变时将如何变化。因此,应 用一个或多个分析模式将导致对提供高度交互式和直观的用户体验的数据的 可视化。

Smart可以被预封装,并且通过用户界面可供用户选择。Smart可以具有 预定义的分析模式。然而,在某些实施例中,用户可以创建具有合适的分析模 式的Smart应用程序组件,向该组件输入数据并且基于对等式、规则、约束或 表达式中至少一个进行求值来产生结果。基于从所执行的分析模式得到的输 出,用户可以将一个或多个更新输入到分析模式和/或数据,其中重新运行分析 模式以产生经修改的结果。

尽管Smart可以基于用户输入来选择,但数据分析系统的功能和效用可以 通过结合计算系统组件来扩充,该计算系统组件可以选择并应用包含分析模式 的一个或多个Smart,该分析模式表征将在用户的上下文中提供给用户的数据, 并且还表征数据与用户之间的交互。作为对标识用户上下文的输入的响应,系 统可以标识Smart以应用于为用户生成信息,并且处理用户与信息之间的进一 步交互(因为用户寻求更好地理解信息或信息的子集,包括通过提供更多的数 据)。

一旦Smart被选择,Smart执行引擎可将Smart应用于生成信息。Smart 可以包括一个或多个元素,这些元素中的至少某些定义了要基于向Smart提供 输入时所指示的数据来执行的计算。该信息可以通过显示器提供给用户,但执 行Smart的结果可以通过任何合适的方式来使用,包括影响由另一个组件生成 的输出或者更改已为分析选择的数据的子集。

在某些实施例中,计算可以基于Smart中所表示的等式。该等式可以指定 要对由用户输入动态地标识的数据执行的数学运算。这一数学运算可以包括诸 如从用户简档获得的用户数据或基于上下文信息的用户数据等其他数据。

例如,Smart可以包括等式,定义对来自食谱的卡路里内容的计算。这种 Smart可由用户来选择,例如当分析表示菜谱的数据时,使得用户除了接收表 示这些菜谱的数据之外还可以接收卡路里内容。在某些实施例中,Smart可以 包含有条件地执行的声明性语句。这种声明性语句例如可以指定可被访问以应 用分析模式的附加的信息源。例如,Smart在被执行时可以获得从其可确定卡 路里内容的数据。

作为另一示例,Smart可以包括用于计算自一位置的通勤距离或时间的公 式。这种Smart可由用户来选择,例如当分析待售房屋的数据时,使得用户除 了接收待售访问的列表之外还可以接收每问房屋的通勤信息。

作为又一示例,Smart可以包括用于生成将病人的实验室结果与人口标准 相比较的度量的公式。这种Smart可由用户来选择,例如分析通过内联网在医 院中获得的数据,使得除了病人的实验室结果以外临床医生还可以接收比较 性数据,该比较性数据表征基于对实验室中被治疗的其他用户的医疗记录 中的实验室结果的分析的结果Smart可以使临床医生进行“假设分析”,像 改变关于病人的某些假设或者实验室数据和潜在的疾病之间的关系。

除了等式和/或公式以外,Smart还可以包含其它类型的语句,诸如约束和 /或规则。同样,数据分析系统中Smart的应用除了生成要返回给用户的信息以 外还可以另外地或另选地触发要执行的其他动作。这种动作可以基于满足 Smart中的约束或基于对Smart中规则的求值来有条件地执行。

数据分析系统可以包含适用于不同上下文的多个Smart。因此,数据分析 系统可以包含选择用于特定上下文的Smart的组件。执行该功能的组件可以访 问Smart库,系统的用户或组件可以从该Smart库选择一个或多个Smart。

为便于Smart的使用,Smart中的每一分析模式可以被表示为声明性语句 (“表达式”)的集合。

表达式是要执行的计算的符号表示,该计算可包括运算符和操作数。表达 式的运算符可包括本领域技术人员之一已知的任意运算符(诸如加、减、乘和 除等常见的数学运算符)、本领域技术人员之一已知的任意函数、以及由用户 定义的函数。表达式的操作数可包括数据(诸如数字或串)、表示数据的符号、 以及其他表达式。由于表达式可由其他表达式来定义,因此表达式可以是递归 的。

符号可以表示常见编程语言所使用的或本领域技术人员之一已知的任意 类型的数据。例如,符号可以表示整数、有理数、串、布尔值、数据序列(可 能无穷的)、元组、或记录。在某些实施例中,符号还可以表示无理数,但在 其他实施例中,符号可能不能表示无理数。

例如,表达式可以采取代数表达式的符号表示的形式,诸如x2+2xy+y2, 其中x和y可以是表示数据或其他表达式的符号。表达式可以采取等式的形 式,诸如E=mc2,其中E、m和c可以是表示数据或其他表达式的符号。表 达式可以采取函数定义的形式,诸如f(x)=x2-1,其中f是表示函数的符号, x是表示函数的操作数或参数的符号,并且x2-1是定义函数的表达式。表 达式可以采取函数调用的形式,诸如f(3),其指示了将使用参数3来调用函数 f。

表达式可以由执行引擎240(图2中所示)来求解以产生结果。例如,符 号x(本身是表达式)表示数字3,并且符号y(也是表达式)表示数字2,表 达式x2+2xy+y2可以通过用所表示的值代替符号来求解,例如 22+2×2×3+32,并且随后将运算符应用于操作数以将整个表达式求解为25。 在另一个示例中,m是表示数字2的符号,并且c是表示数字3的符号,以上 定义的表达式E可以通过用其定义例如mc2代替E、用其表示的值代替符号m 和c,例如2×32来求解,并且将运算符应用于操作数以将表达式求解为18。

在对表达式进行求值中,执行引擎可以将运算符应用于操作数达到运算符 和操作数被定义的程度以及到达表达式引擎知道如何将运算符应用于操作数 的程度。例如,符号x表示数字3,并且符号y未被定义,表达式x2+2xy+y2可以通过用所表示的值代替已知的符号来求解,例如22+2×2×y+y2,并且随 后将运算符应用于操作数以将整个表达式求解为4+4y+y2。符号x表示数字 3,并且符号y表示串“hello”时,由于表达式引擎可能不知道如何对串“hello” 执行代数运算,因此表达式x2+2xy+y2可以被求解为4+4×hello+hello2

在某些实施例中,表达式可以是声明性的。声明性表达式可以指示要执行 的计算,而不指定如何计算。声明性表达式可以与命令性表达式形成对比,该 命令性表达式可提供算法以获得所需结果。

在某些实施例中,表达式可以是不可变的。如果表达式无法被改变,则它 是不可变的。例如,一旦赋予定义,诸如E=mc2,则表达式E以后不能再被 赋予不同的定义。不可变性的一个好处是由不可变的表达式定义的应用程序可 以是没有副效应的,因为应用程序的功能无法被应用程序的用户更改。

Smart可以由共同指定分析模式的一组表达式来定义。由表达式定义的 Smart可以具有输入变量和输出变量,并且输入变量和输出变量之间的关系可 以由这组表达式来定义。在对输出变量进行求解中,表达式引擎可以产生数据 (例如数字或串)或者可以产生输入变量的表达式。

以此方式,可以相对容易地产生并且应用Smart。此外,通过使Smart在 执行引擎中被应用,提供Smart执行服务的实体可以从第三方接收Smart并将 其应用于任何合适的环境中。此外,通过在数据分析系统中允许来自第三方的 Smart的贡献和应用,数据分析系统能够利用课题专家的专长,该课题专家可 以具有与特定类型的数据分析有关的专门知识。

为了方便第三方的Smart的创作和贡献,数据分析系统可以提供带有允许 作者创建Smart的用户界面的创作工具。在某些实施例中,Smart被表示以通 过输入一组声明性语句允许用户简单地创建或编辑Smart的形式。声明性语句 可以是不需要计算机编程专长的形式。创作工具可以在数据分析系统本身中和 /或客户机系统上执行。

在某些实施例中,对分析模式进行编码的Smart可包括使系统能够生成显 示分析模式的操作的各方面的可视对象的元数据。可视对象可以提供示出通过 数据连接器向Smart输入数据的显示。例如,对Smart的连接器的输入可在用 户界面上被显示为表示在表示Smart的图标上拖动的数据的图标,指示数据与 Smart相连接。或者,可视对象可以基于对用数据表示分析模式的等式、规则、 约束或表达式的求值来提供对Smart产生的结果的显示。例如,根据参考数据 对规则、约束和/或表达式求值中发生的计算的每一个步骤,可以显示表示对 数据进行操作的分析模式的求值。或者,可视对象可以提供对发生在向Smart 的数据输入与根据分析模式的特征对数据进行求值的结果之间的任意中间处 理步骤的显示。用户可以利用将分析模式绑定或组合到可视对象的创作模型, 使用户能够可视化发生在分析模式中的步骤的进展。

因此,在生成数据分析结果中有用的知识可以在Smart中被捕捉,并且可 以跨数据分析系统来共享。

图1是示出可在其中实施本发明的某些实施例的计算环境100的高级框 图。计算环境100包括与计算设备105交互的用户102。计算设备105可以是 任何合适的计算设备,诸如台式计算机、膝上型计算机、移动电话、或PDA。 计算设备105可以在任何合适的计算体系结构下操作,并且包括诸如由微软公 司开发的操作系统的变体等任何合适的操作系统。

计算设备105可以具有经由任何合适的有线或无线通信介质来与服务器 106通信的能力。在计算设备105与服务器106之间的通信可以经由计算机网 络108,该计算机网络108可以是诸如因特网、公司内联网、或蜂窝网络等任 何适当数量或类型的电信网络。服务器106可以使用任何合适的计算体系结构 来实现,并且可以被配置有诸如由微软公司开发的操作系统的变 体等任何合适的操作系统。此外,虽然服务器106在图1中被示为单个计算机, 但它可以是被配置成作为相干系统来操作的任何合适的数量的计算机。计算设 备105还可以访问任何合适的数据源110。

在图1的实施例中,数据分析系统可以运行在服务器106上,并且计算机 105可以提供用户界面,用户通过该用户界面进行输入并且接收结果。然而, 不要求数据分析系统运行在服务器上,并且例如它可以完全运行在计算机105 上。

无论由触发输入的生成的用户102提供的输入类型是什么,计算设备105 可以将输入发送给服务器106以获得与该输入相关的信息。该信息可以从也可 通过网络100访问的数据库中存储的一个或多个数据集中获得。作为检索或生 成与输入相关的数据的一部分,服务器106可以将一个或多个声明性分析模式 应用到数据以生成将要被返回给用户102的更高级的信息。由服务器106生成 的信息可以经由计算机网络108来发送,并且在计算设备105的显示器上显示。 显示器可以是任何合适的显示器,包括LCD或CRT显示器,并且可以是内置 或外置于计算设备105。

服务器106可以实现用户在其中可以交互地指定将在一个或多个数据集 上执行的分析函数的环境。这样的环境可被认为是分析工作台。在图2的系统 图中,分析工作台可以提供可被用户选择以执行一个或多个数据处理操作的 Smart库200。Smart的示例包括集合Smart 202、距离最小化Smart 204、计划 生成Smart 206、时间表生成Smart 208和指标最大化Smart 210。然而,可以 理解的是,可以定义具有分析模式212的任何合适的Smart。在所示的实施例 中,每一个Smart可以由等式、规则、约束和/或表达式的适合的组合来定义。

Smart可以是被预先编程并被下载或是用户导出,并且被选择以在分析工 作台上使用。在某些实施例中,Smart是由用户来编程的,或者从服务器下载 到计算设备上。取决于所涉及的任务类型,可以从库200选择适当地定义的 Smart。例如,在提出所建议的服装安排时,用于创建集合202的分析模式可 能是最适合的。或者,用于生成时间表208的分析模式可以被适当地用于创建 发生在特定时刻的经计划的事件序列。

一旦选定,所选Smart 220可以具有合适的数据连接器,该数据连接器指 示提供Smart的输入参数值的数据源。在某些情形中,数据连接器还可以指定 由Smart的执行所生成的输出数据的路由。例如,示出了用于Smart可访问的 数据的输入连接222以及分析模式被应用到数据并且生成输出结果的输出连接 224。Smart可以通过输入连接222连接到合适的数据源230,诸如特定的数据 库、数据库内的数据集、或者保存数据的电子表格的某些部分。

Smart的分析模式通过执行引擎240被应用到数据输入,提供可通过向显 示子集252添加或改变显示子集252来影响显示器模型的输出结果。此处,显 示子集252表示通过分析数据集导出的数据集。子集252可以是数据源250中 的项的子集,或者可以包含从分析数据源中的数据而生成的项或值。显示子集 252可以是使用过的数据以及对将由用户查看的分析结果的显示。基于所显示 的输出结果,用户可以通过用户界面260提供输入反馈以进一步分析数据,这 可能导致改变或扩充显示子集,进而改变向用户显示的内容。为了生成更新后 的结果,这样进一步的分析可以通过向所选Smart提供输入来执行以更新任一 数据输入的各方面和/或分析模式。例如,用户可以从数据源230自身更新对所 选Smart的数据输入,导致经修改的显示子集252。还可以独立于所选Smart 将其他工具270应用到显示子集252。在某些实施例中,基于执行引擎240生 成的输出结果和/或提供给显示模型250的输出结果,已更新的输入可以被自动 地提供给所选Smart 220以在没有用户干预的情况下产生经修改的结果。因此, 最终的输出可以由所选Smart通过迭代过程来生成。

图3是可用于定义Smart 300的数据结构的略图,诸如从图2的Smart库 200选择的一个。Smart 300可以按任何合适的方式来存储。在某些实施例中, 它可被存储在文件中。因此,在这些实施例中,像其他网页那样,Smart 300 包括用于以任何合适的方式来辅助索引smart的元标签302。

Smart 300可以包括一个或多个元素,其在所示实施例中是声明性语言的 语句。在某些实施例中,声明性语言可以处于不是计算机编程者的人可理解并 且创作的级别。例如,它可以包含等式的语句以及基于对等式进行求值的结果 的形式,诸如等式304和结果305,以及等式306和结果307。等式可以是对 输入数据集的符号或数学计算。

Smart 300还可以包括一个或多个规则(诸如规则308)的语句以及基于 对等式进行求值的结果的形式(诸如规则结果309)。某些类型的规则的应用 可以触发动作,诸如具有要执行的搜索,从而收集新的信息或者以所指定的图 形形式来显示结果。根据某些实施例,当诸如由执行引擎240应用包含规则(诸 如规则308)的Smart 300的分析模式时,作为Smart的应用的一部分来执行的 对规则的求值可以生成合适的结果。例如,结果可以是条件语句以及取决于动 态地求值的条件是真还是假而应用的结果。因此,规则的结果部分可以指定要 有条件地执行的动作、或要显示的信息、或任何其他类型的信息。

Smart 300还可以包括一个或多个约束的语句,诸如约束310和结果311。 约束可以定义被应用到在Smart的应用上产生的一个或多个值的限制。约束的 示例可以是不等式语句,诸如对将Smart应用于数据输入222的结果的指示。 结果311可以类似地与约束310相关联以定义有条件地采取的动作,或者基于 对约束的求值而显示的结果。

Smart 300还可以包括要对输入数据执行的一个或多个计算的语句,诸如 计算312。每一个计算还可以具有相关联的结果,诸如结果313。在此示例中, 结果可以标记所指定的计算312的结果,使得它可以在Smart 300内的其他语 句中被引用,或以其他方式指定可以如何将计算的结果进一步应用于为用户生 成信息中。计算312可以是表示用数值作为结果的数字计算的表达式,或任何 其他合适的计算类型,诸如符号计算。在将Smart 300应用于数据输入222时, 执行引擎240可以对数据222执行在分析模式中指定的任何计算,包括尝试对 数据输入222的等式、不等式、以及约束求解。在某些实施例中,表示Smart 的分析模式内的等式、规则、约束或计算的语句可以相互关联,使得作为一个 语句的结果被生成的信息可以在Smart 300内的另一语句中被引用。在这一场 景中,应用Smart 300可能需要确定求值语句的次序,以使得可以一致地应用 所有语句。在某些实施例中,应用Smart可能需要多次迭代,在所述多次迭代 期间只应用语句中所有参数值都可用的那些语句。由于某些语句的应用生成用 于应用其他语句的值,那些其他语句可以在连续迭代中求值。如果对迭代中的 语句的应用改变了在应用另一语句中使用的参数值,则将基于其依赖的所改变 的参数值再次应用该另一语句。对Smart中语句的应用可以按此方式迭代地继 续,直到应用Smart中的所有语句的一致结果从一个迭代到另一个迭代中出现, 实现稳定且一致的结果。然而,应当认识到,可以使用任何合适的技术来应用 Smart 300。

图4提供了诸如可为Smart 300指定的那些语句等语句的示例。在图4的 示例中,当用户执行房屋搜索时可以选择并且应用Smart,并且在此示例中, Smart可将待售房屋与用户的通勤相关。在图4的示例中对Smart的应用可以 生成关于每一待售房屋与用户的办公室位置之间的通勤距离和/或时间的信息。 由此,规则语句408是来自图3的规则308的示例,它指定了将被用作分析模 式计算的一部分的房屋位置的形式。在此示例中,规则语句408指定被标识为 房屋位置的参数具有待售房屋的地址、城市和州的全球定位系统(GPS)坐标 的形式。当Smart被应用时,可以由执行引擎240基于数据输入222将值给予 这些参数。在此示例中,当输入数据的项包含被规则308的应用识别为房屋位 置的信息时,规则308可以求值为真。因此,可以使用规则308来标识Smart 内的其他语句对其应用的数据项。

等式语句404是图3的等式304的示例,该等式语句404基于规则语句 408中指定的代售房屋的位置以及在此示例中被指示为办公室位置且可以对执 行引擎240可用的值,提供用于到达通勤距离要执行的计算。在此示例中,办 公室位置是对模型的输入参数,该输入参数可以作为用户简档或用户上下文的 一部分来提供。然而,房屋位置是基于从对Smart的另一输入(诸如来自数据 源230的数据)所接收的规则语句408的应用。

结果语句405是图3的结果305的示例,该结果语句405指定如何显示对 等式语句404所执行的计算的结果。由此,在此示例中,结果语句405基于通 勤距离来指定将被显示的数据子集中房屋的已排列的优先级次序,该通勤距离 是基于数据输入222为其建立值的参数。

图4的示例示出了可以在Smart中存在以显示用户查询的结果的某些语 句。在此示例中,结果与代售房屋相关。执行引擎240可以将Smart应用到输 入数据222中的每一个数据项。然而,不是每一个输入数据项都可以遵循规则 308或由Smart内的语句建立的其他条件。因此,不是所检索的数据208的每 一项都可以被包括在显示子集252中。然而,图4示出了可以将不明确地包含 在输入数据222中的其他信息包括在或以其他方式影响显示子集252的内容。 在图4的简单示例中,被称为“通勤距离”的参数的值在应用图4的Smart之 后由执行引擎240来计算。

然而,不要求Smart产生数值输出。例如,具有在其中对分析模式进行编 码的Smart组件可以根据一组等式、声明性模型、规则和/或约束来产生数据集 合。在实施例中,期望生成多个建议以实现特定的项,例如,在创建家庭影院 环境中与平板电视机相配的制品。由此,用户可以选择适合的Smart,该Smart 将(例如,通过web搜索获得或从数据库读取的)用于家庭影院的可能制品的 大的数据集作为输入。一旦数据集被连接到Smart,执行引擎可以应用Smart 所反映的分析模式以处理数据,并且向用户生成关于适合的物品的建议,该物 品补充有兴趣获得的平板电视机。例如,已经采用分析模式的Smart可以标识 一个或多个补充家庭影院设备,诸如记录设备或声音放大系统。因此,组合的 家庭影院设备可以产生适合的项的集合以伴随平台电视机。在某些情形中,诸 如价格范围、用户已经具有的项、家庭影院集可用的空间、和/或其他适合的考 虑事项等各种因素可以是连接到Smart的输入,并且可被包括在分析模式的演 算中。

在某些实施例中,另一个Smart组件的分析模式可以根据一组等式、声明 性模型、规则和/或约束来处理数据集输入以生成数据集的一个或多个特性的最 小化,适于特定的用户偏好集。在一个实施例中,寻找住所的用户可能具有多 个偏好,例如地方的位置或类型。例如,用户可能更喜欢住在工作场所、学校 或体育馆的附近。此外,用户可能具有对他/她希望按照特定顺序拜访的特定位 置的偏好(例如,对离开家去上班、去学校并且接下来去体育馆的顺序的偏好)。 因此,基于连接到城镇或邻近区域中可用住宅场所的所选Smart组件的信息, Smart中分析模式的应用可以生成所建议的住宅的已排序列表,该住宅位于距 离用户偏好的场所的最小距离处。或者,不同的所选Smart的分析模式的应用 可以为具有偏好的用户区分多个可能的住宅场所的优先级,以便用户最小化在 成本考虑事项之前的他/她对环境的碳影响。因此,Smart的执行可以生成包含 距离某些重要位置步行距离以内的潜在的家(例如,工作、学校、体育馆)的 已排序列表,上述潜在的家位于开车距离以内的潜在的家的上方。该已排序列 表可以作为输出提供给用户,或者还可以用于定义输出。基于潜在的家的已排 序列表,分析工作台可以产生并提出用于通过用户界面显示给用户的、用户可 以居住的多个潜在地理想的位置的地图。例如,当用户寻求分析多个潜在地理 想的家所位于的邻近区域的居住数据时,用户界面可以根据所应用的Smart的 分析模式带领用户进行用户应当考虑哪些地方的可视地交互式“旅行”。

在某些实施例中,所选Smart组件的分析模式可以被实现为一组等式、声 明性模型、规则和/或约束以生成要发生的事件的经建议的计划或时间表。例如, 在对Smart组件的数据集输入包括表示多个动作项和/或未来事件时,已应用的 分析模式可以输出用于要执行的项或事件的适合的序列。或者,在实施例中, 分析模式可以生成要在指定时刻发生的事件的经建议的时间表的输出。

在某些实施例中,所选Smart组件的分析模式可以最大化分数,该分数表 示数据集中项的集合的指标。该分析模式可被表示为一组等式、声明性模型、 规则、和/或约束。作为示例,NASA的航天飞机发射机构可能需要作出有关要 发射哪些卫星以及在5年的时间段里以什么次序来发射的决定。多个因素可包 括在该计划中,例如,需要在特定时刻进行发射的时间表理由。还可以考虑其 他因素,诸如该发射的社会和/或政治影响。例如,在特定时间并且以允许来自 多个国家的宇航员参与联合任务的方式进行的发射可以是通过已应用的分析 模式来考虑的政治问题。在某些情形中,不同国家的宇航员合作的机会可以带 来社会和/或政治益处,该益处在Smart的分析模型中被捕捉以影响对数据的分 析。

作为另一个示例,用户可能希望创建将符合最新时尚风格、价格、和/或 其他约束或规则的服装集合或装备组合在一起的解决方案。可以从服装物品的 列表中装配服装集合,例如,在百货商店中可用的那些。可以从合适的数据源 获得关于这些物品的数据。使用诸如电子表格环境中提供的那些等常规的单值 函数来装配合适的服装集合对用户来说可能是费力并且是很难采用的,不如通 过交互式体验来可视化。然而,使用Smart所描述的分析模式可以创建用户体 验,该用户体验使用户例如被呈现以符合用户可能具有的偏好的服装集合的多 个视觉选项。因此,用户可以在用户界面上选择具有连接数据集的分析模式的 Smart组件,该数据集将大量的服装制品表示为对所选Smart的输入。通过分 析模式对数据输入的处理,一个或多个所建议的时间表可以被标识并且通过分 析工作台的图形界面呈现给用户。用户随后可以方便地调整与Smart的输入相 耦合的参数值。另选地或另外地,用户可以包括改变分析所基于的数据子集的 其他分析函数。例如,用户可以指定对该数据的一个或多个约束。例如,约束 可以将数据子集限于仅包含已定义的价格范围中的项。由于对Smart的输入的 值改变了,Smart可以被重新执行。因此,可以在需要同时地改变多个参数和 参数关系的抽象层应用Smart的分析模式。

实现分析工作台的软件应用程序可以为用户提供合适的界面以从Smart 库适当地选择Smart组件。用户随后可以指定要输入到Smart的数据类型,以 使得分析模式可以适当地处理数据并且生成结果。可以通过用户界面显示该结 果,并可以轻松且方便地提供结果的反馈。

任意数量的分析模式可以被选择并以任意的组合应用于数据,并且可以结 合其他分析工具来应用。这样的分析模式可以被预封装为Smart组件以便用户 选择。预封装的Smart可以通过接收用户输入来应用于特定的分析问题,该用 户输入指示了什么数据被输入到Smart,以及所产生的输出可如何通过适合的 显示界面来影响对用户的结果呈现。

图5表示用于使用Smart来对数据进行分析并求值的过程的流程图。过程 始于步骤500,并且在步骤510,系统可以提供具有一个或多个分析模式的Smart 库,该分析模式例如可以由一个或多个等式、约束、规则、和/或表达式来定义。

在步骤520,可以基于用户输入从可用的Smart集合中来选择Smart。在 步骤530,根据所接收的用户输入可以将Smart连接到一个或多个数据源。在 步骤540和550,基于所应用的分析模式执行Smart以生成输出。在某些情形 中,合适的表示可以是用户界面上输出的显示。但Smart的执行结果无需被直 接地显示。相反,该结果可以影响其他分析所基于的数据子集。

在步骤560,产生输出之后,可以通过例如用户界面来接收用户输入。该 输入可以改变分析工作台用来生成结果的数据或参数的任一方面。输入例如可 以改变作为输入被应用到Smart的参数值。另选地或另外地,用户可以执行改 变Smart已经连接到的数据集的值的另一个分析工具。

在步骤570,如果用户输入没有改变分析模式或数据,则在步骤580,可 以结束Smart的运行。然而,如果用户输入修改了Smart所使用的任一数据, 则考虑用户输入后再次运行Smart。例如,可以经由通过可视用户界面的动 态修改来进行用户输入。只要所提供的用户输入改变了数据就可以创建反馈循 环,并且根据已更新的信息来重新运行Smart。

在图6-17所描绘的代表性实施例中,信息工作者采用具有显示区域 1000的分析工作台的用户界面来分析数据以便选择用于开业的店址。用户 界面以对用户来说直观的方式提供适合数据的可视表示。在评估哪里可能是商 业的合适位置时将为用户考虑多种因素,诸如基于感兴趣的潜在地点的位置以 及位于该地点特定邻近度以内的顾客,市场潜力如何。这些因素中的一个或多 个可被表述为在作出决定中所使用的分析模式。

图7-10提供数据被导入到系统的用户界面的屏幕快照。图11-14描绘了 可能出现在用户界面上并且将约束应用于数据以使得所选数据集的子集被显 示在用户界面上的对对象的操纵。无论什么数据被选择用于分析,分析模式都 可以被应用于该数据。例如,由于邻近区域中一种商业的百分比会改变,其他 商业的分布如何改变可以影响一个人确定在哪里开店的决策制定过程。因此, 可以使用用表示该关系的分析模式来编程的Smart。该Smart可被选择并用于 根据分析模式来处理适合的数据,在此示例中,以便用户更好地了解商业的可 能位置。图15-17描绘了对该Smart的选择以在另一种类型的商业的百分比被 更改时确定特定区域中商业的分布。

在此示例中,图6所示的用户界面的显示区域1000为用户提供地图显示 以可视地评估用户开始营业的潜在位置2000位于城市或邻近区域中的何处。 就此方面,呈现用户界面显示的计算设备的处理器可访问与可能适于商业的城 市内的可能位置有关的各种信息。取决于信息有多相关以及关于商业的开始用 户指示他或她的偏好是什么,可以为用户的可视交互在用户界面上显示或不显 示信息的某些项。实际上,并非计算设备的处理器可访问的数据的全部都将被 显示,因为大部分信息对用户查看来说是无关和麻烦的。例如,虽然将通向商 业的潜在地点的邻近区域中的道路以及该地点周围有哪些其他商业可视地展 示给用户可能是重要的,但用户界面在显示界面上还显示诸如一天的当前时间 等多余信息可能是没有必要的。

用户界面包括地图调整控件1010,以便用户可以适当地并且交互地探索 不同的地图站点。这些控件可以影响在任意时间显示所标识的数据点的子集的 哪部分。控制按钮1012和1014允许用户选择之前已被示出的地图的特定区域 的更近或更远的视图。例如,启动控制按钮1012将更改所显示的地图以放大 地图的特定区域以获得更近的视图,并且启动控制按钮1014更改所显示的地 图以缩小地图的特定区域以查看更宽的视角。控制箭头1016允许用户根据所 启动的特定方向来查看地图的不同区域。当街道查看控制按钮1018被拖动并 放置在地图的某个区域时,该按钮触发呈现与地图上该区域相对应的实际位置 的照片。用户随后可以操纵如用户界面所需并且提供的实际位置的视图以交互 地探索。地球视图控制按钮1020将地图带入合适的视角查看设置。

可视地交互式区域1002在用户界面上可用以便用户输入关于用户偏好的 信息,该信息对根据一个或多个维度呈现在显示区域1000上的数据进行过滤。 在实施例中,在可视地交互式区域1002中提供控件1100、1200。这种控件可 使用本领域中已知的图形用户界面编程技术来实现。这些控件可以基于用户输 入来操纵,该用户输入触发对链接到控件的功能模块的执行。这些功能模块可 以过滤或以其他方式约束用于生成显示的数据子集。

例如,如所示的,为参数值提供控件1100,该参数值指示正在考虑的地 点与潜在顾客之间的特定的驾驶距离。该参数值可以基于用户输入来调整,诸 如可以指定滑块1110的位置。关于有可能在商店(如果位于特定的地点)购 物的顾客的数据可以基于由对滑块1110的调整设置的约束来过滤。

可以为不同的特性提供另一个控件1200,在此示例中是市场潜力,用户 可以通过该特性进一步过滤在显示区域1000上呈现的信息。在图6所示的示 例中,下限1210和上限1220可由用户来设置以确定可能收益的感兴趣的范围 1230(例如每月收益在10万-50万美元之间)。此处,感兴趣的范围1230内 示出的阴影条形的高度用位于所指示的特定值处的市场潜力程度来指示数据 集中的数量位置。由此,条形被描绘得越高,存在越多可能潜在地生成每月收 益中所指示的量的地点。还示出了感兴趣的收益范围以外的区域1240的市场 潜力,其被描绘为未打上阴影的条形。然而,在此示例中,仅有对应于阴影条 形的数据点被选择用于分析。

因此,在此特定的示例中,用户界面1000的显示中提供的所建议的位置 2000基于5英里驾驶距离以内的顾客,反映可用的商店地点的位置,该位置具 有每月收益在10万到50万美元范围内的市场潜力。

对于与用于开业的潜在地点相关的数据,各种维度的数据可以按照对用户 非显而易见的方式来相关。租约价格、驾驶距离和市场潜力可以被相关,以使 得当用户改变这些维度的每一个中的过滤标准的值时,达到标准的潜在地点的 数量可以按照用户无法立刻理解的方式来变化。例如,用户可能最初考虑100 个位置的邻近区域,努力想达到用户的标准,其中用户指定了将结果限于特定 邻近区域中的位置的过滤标准,该邻近区域具有针对2英里驾驶距离以内的顾 客的每月收益超过100万美元的市场潜力。在某些情形中,这样的标准可能是 过于限制性的,并且在具有针对2英里驾驶距离以内的顾客的每月收益超过 100万美元的市场潜力的邻近区域中没有返回位置。作为响应,用户可以放松 过滤标准以包括具有针对5英里驾驶距离以内的顾客的每月收益在10万到50 万美元之间的市场潜力的位置,返回了用于开业的明显地更多的潜在位置。例 如,图6中所指示的潜在位置2000可能基于放松后的过滤标准而出现。此外, 对过滤标准更加放松之后,附加的潜在位置可以高亮地出现在显示区域1000 上。或者,可以调整过滤标准以使得由显示区域1000展示不同组的潜在位置。

当用户提供与调整区域1100和/或1200相关的输入时,所描绘的建议的 位置2000可以在交互式显示区域1000上被自动地且动态地调整。用户可以如 所需要地多次重复地调整任一维度的参数,并且查看落在调整后的范围内 的项如何分布的改变。这样的显示区域1000和可视地交互式区域1002可以 帮助用户可视化每一个维度的值的范围,该范围可以担任过滤标准以生成经过 滤的一组所需大小和焦点的数据项。

系统可以提供用户界面以支持按照任何合适的方式来探查过滤标准。在某 些情形中,对过滤标准的动态探查可以由用户通过使用交互式滑块和条形图来 实现。用户可以通过使用图形用户界面的常规技术在交互式显示上提供调整对 应于维度的滑块范围的输入。系统可以基于用户输入动态地计算并随后显示沿 一个或多个维度的项的分布。同样,常规的界面技术可用于为条形图中的条形 指定值,并且基于该输入显示已计算的结果。然而,可以理解的是,任何合适 的界面技术可用于接收用户输入,并且将应用该输入的结果呈现给用户。

图7示出了包括显示区域1000的用户界面,该显示区域具有用于不同维 度的控件1100、1200以及基于对各个控件的调整所显示的地图内的经建议的 位置2000。此外,其他交互式特征也可以在用户界面中提供,并且可以通过任 何合适的输入方法来操纵,诸如由鼠标的用户操作来定位的指针3000。例如, 用户界面的各方面可以使用户能够确定哪些数据是可用的并且通过用户界面 可呈现以及数据如何被可视化。同样,用户可以选择被捕捉为Smart的一个或 多个合适的分析模式,用于通过根据该分析模式执行的操作来操纵数据。如将 在下面进一步讨论的,对于所提供的示例,分析模式可以提供某些类型的商业 当其中一个在某区域中改变时将如何分布的分配。但是,可以理解的是,可以 提供用于任何合适的分析模式的Smart。例如,分析模式可以对符合经过滤的 用户标准的潜在位置进行排序,并且以可视地交互式方式将位置呈现给用户。

数据可以作为对执行在计算设备上的分析工作台的输入,以任何合适的方 式来呈现以用于随后的分析,诸如在图7-10示出的。在实施例中,用户界面 可以通过对“数据”框1400的用户选择来进入数据输入模式,如图7所描绘 的。当用户选择将数据输入到计算设备的选项时,如图8所示,数据输入框2100 随后被显示在用户界面上以便选择用于分析的特定的数据项被。对新的数据项 的访问通过数据输入框2100来提供,显示用户寻找要考虑的附加数据的路径 以及计算设备访问该数据的路径。“服务器”下拉框2110允许用户选择其中 附加数据被存储并被访问的服务器计算机(例如“myEnterpriseData”)。“数 据库”下拉框2120允许用户选择附加数据位于其上的服务器计算机上存储的 数据库(例如“myStoresAndLocations”)。“视图”下拉框2130使用户能够 选择分析中考虑的要输入的特定的数据项(例如“MyLocations”)。由此, 一旦适合的数据项被加载到分析工作台,则数据可以被过滤,如上所描述的, 和/或一个或多个分析模式可以被应用于数据,如下所描述的。

一旦所需的数据集(例如“我的位置”)被选择并被加载到计算设备中, 则可以以任何合适的格式来查看数据集的项,诸如图9的表2200所示。作为 示例,表2200包括具有也被提供的关于每一个位置的补充信息的多个位置 2270、2272、2274、2276。每一个位置的这样的补充信息可以构成或不构成将 确定用户将在该位置开业的因素。然而,这样的补充信息仍可在适当时被提供。 如表2200中所示的,对于每一个位置,提供了多个参数,诸如并且没有限制, 纬度2210和经度2220、地址2230、图像2240、关于该位置的注释2250以及 表示该位置的代理2260。位置的纬度和经度将影响例如消费者将需要开车以到 达该位置的距离。或者,关于位置的注释可能有助于用户确定是否需要对地点 进行更多或各少的工作以使位置对潜在顾客来说更友好。由此,“更好的地方” 或“最好的地方”在更有可能吸引消费者方面对潜在的企业所有者可能更有吸 引力。在对将在哪里开业的建议呈现给用户的整体分析中,可以结合也已在不 同时刻被加载到计算设备的其他数据项来考虑提供给该计算设备的位置的已 添加数据集(例如从表2200)。分析可以考虑这些数据集中的任一个或者数据 集的任意组合。

加载到分析工作台的数据集可以由用户动作来访问。如图10所示,“消 费者支出”框1700被选择以触发可视的“消费者支出”输入框1710,使用户 能够查看附加数据的特定参数或将其输入到计算设备中。在示例中,“距离” 区域1720允许用户将来自附加数据集(例如“MyLocations”)的驾驶距离值 输入到计算设备中,或者将该数据集链接到工作台的显示子集252(图2)中 存在的值。例如,消费者支出数据集可被链接到控件1100,以使得输入到该控 件的值影响所选消费者支出数据集中的项。“纬度”区域1730和“经度”区 域1732为用户提供了将来自附加数据集的地点的特定全球位置输入到计算设 备的能力。

当数据已被输入到计算设备时,用户可以适当地确定如何对由数据呈现的 信息进行可视化。如图11所示,用户界面经由对“可视控件”框1500的用户 选择而进入可视输入模式。对框1500的选择可以允许用户从菜单选择诸如控 件1100和1200等控件。例如,图12所示的,指针3000选择用于通过选择“均 衡器”控件来可视化数据的偏好。因此,在用户界面的可视地交互式的区域 1002中提供附加控件1300,以便用户可以查看某类型信息的总体分布。该控 件一旦被选择就可以基于分析工作台中的数据来定制。

如图13所示,“市场潜力”框1250提供如何基于控件1320来定制控件 1200的非限制性实施例。“市场潜力”框1250包括“分数”区域1252,该区 域为用户提供将如何将分数分配给每一个潜在位置2000输入到计算设备的能 力。在此示例中,分数可以基于通过控件1320和其他因素接收的用户输入来 计算。“市场潜力”框1250还包括“位置”区域1254,其中用户可以确定例 如与较高分数相关联的潜在位置比具有较低分数的潜在位置在显示地图上被 描绘得更大。“展示”区域1256允许用户确定用户界面上显示的每一个潜在 位置指示了分配给该位置的市场潜力分数。

基于“市场潜力”框1250中提供的输入,用户可以容易地查看每一个所 排序的位置的分数是多少,并且可以作出决定地图上显示的哪个大致区域可能 更适于开业。例如,如果用户寻求开服装店,其他服装店附近的潜在位置可以 容易地显示在用户界面上以比所考虑的其他潜在位置一般地具有更高的分数。

图14示出对控件1320的类似定制。在此示例中,用户确定应当如何在控 件1320中呈现数据。因此,用户操纵“产品混合”框1310的特征以创建以条 形图的形式呈现信息的“产品混合”控件1320,该信息表示特定位置内出售的 产品类型的分布。“产品混合”框1310提供多个特征,该特征允许用户调整 如何呈现“产品混合”控件1320中的参数。例如,“产品混合”框1310包括 “条标记”区域1312以便用户将条形图标记为“服装”、“娱乐”和“食品”。 “Y轴标记”区域1314允许用户标记条形图的Y轴,但是对于所提供的示例, “Y轴标记”区域1314为空。在示例中,“条形高度”区域1316被确定为由 用户来设置,诸如通过指示条形高度的输入。因此,“产品混合”区域1320 示出了可能在正被查找的地点的商店中出售的各种类型的产品的分布。

如图14所示,“产品混合”控件1320包括表示感兴趣的地理区域内出售 服装的百分比为15%的条形1322,示出感兴趣的地理区域内聚焦于娱乐的百 分比为70%的条形1324,以及表示感兴趣的地理区域内出售食品的百分比为 15%的条形。

计算设备还可将被捕捉为Smarts的分析模式应用于数据,从而提供更高、 更加抽象级的数据处理以及可能的与用户的交互。如图15所示,用户界面通 过通过选择“Smarts”框1600而进入smarts输入模式,此后库中可用的Smart 组件的菜单可用于选择。指针3000选择了具有分析模式的Smart,该分析模式 提供将被应用于数据的分配。在此示例中,分析模式定义了当用户输入改变分 配的一个部分时,分配的其他部分如何作出响应的改变。但应当理解的是,这 仅是可被选择的Smart的一个示例。

如图16所示,在选择Smart组件之后,“分配”框1330出现,其中用户 可定义分析模式的各方面。在示例中,用户基于“约束”区域1332中的输入 已经指定分配的总和应为100%。当执行该Smart时,如果没有满足约束则可 以采取有条件的动作。例如,可以执行“分配增量”区域1334中所指示的表 达式来改变分配。此处,“分配增量”区域1334已被用户设置以指示分配总 和之间的差和100%应在全部分配间平均地划分。“拟合至”区域1336定义了 在执行Smart时可以执行的另一个等式。此处,该等式提供计算,每一个分配 通过该计算应被舍入到实际百分比的5%。

作为所选Smart的结果,相关联的分析模式通过用户界面启动将被动态地 可视化的交互式体验,包括之前所选的数据和控件。在启动用户体验之后,图 17示出用户能够容易地查看潜在位置2000的用户界面显示1000,该潜在位置 符合用户可在哪里开业的标准。因此,通过所选“Smart”的分析模式的应用, 界面允许用户动态地操纵“产品混合”框1320的条形1322、1324、1326之一。 当提高或降低条形1322、1324、1326之一时,基于“分配”分析模式设置的 约束集,其他两个条形将动态地改变。例如,如果指针3000将服装条形1322 提高至35%,由于“分配增量”区域1334被设置为相等,因此娱乐条形1324 和食品条形1326将被相等地各降低10%。此外,由于“拟合至”区域1336 被设置为5%,因此服装条形1322被提高至5%的倍数的值,而不是例如33 %。

由于条形1322、1324、1326之一被提高或将低,因此潜在位置2000在所 显示的地图上的显示也可因此改变。例如,如果邻近区域中服装的百分比从15 %提高到35%,那么邻近区域中服装店将获得成功的可能性将会增加。因此, 由于通过用户界面被提高的服装条形1322,更多的潜在位置2000将动态地出 现在所显示的地图上。相反,如果服装条形1322被降低,那么显示在地图上 的潜在位置2000的数量将有可能减少。

在此示例中,Smart可被预先配置以呈现与使用诸如控件1320等条形图 风格控件相关联的分析模式。Smart可以通过选择或输入定义分析模式的表达 式来定制。Smart还可通过将其连接到数据源来定制。在此示例中,诸如每一 个分配的值等数据连接到Smart。应当理解的是,对于其他Smarts,可以连接 其它类型的数据和数据源。

未明确地描绘的另一个类型的Smart的示例是根据分析模式确定的地点 的已排序的列表向用户建议多个潜在位置。因此,用户界面可以步进通过已排 序的列表以便用户以连续的次序查看每一个经建议的位置。

此外,Smarts可被一起用于获得更加复杂的函数。Smarts可被应用于如图 5所示的反馈循环中。如果Smart改变了影响另一个Smart的应用结果的数据, 则受影响的Smart可以被重新执行。例如,“分配”分析模式可以结合另一个 分析模式来使用。例如,通过使用“分配”分析模式来操纵特定位置出售的产 品的总体分布,对潜在位置排定优先级的不同的分析模式可以动态地修改潜在 位置的排名,以使得潜在位置2000的显示发生变化。例如,如果区域中服装 店的百分比提高了,则位置在该特定区域中成为服装店的排名潜力也提高了。

当分析模式已经处理数据并且提供用户体验时,如图18和19所示,用户 还可选择“共享”框1900以将其他计算设备和/或其他用户包括在体验中。在 示例中,选择“共享”框1900可以允许用户输入将用户体验合并到哪些计算 设备内。因此,如图19所描绘的,用户通过“共享”框1910确定了通过各个 复选框1912和1914来启动桌面和移动电话体验。但是,应当理解的是,用户 体验可以通过其他方式来共享。例如,用户定义或定制的Smart可以与另一个 用户共享。

描述了本发明的至少一个实施例的若干方面,可以理解,本领域的技术人 员可容易地想到各种更改、修改和改进。这样的更改、修改和改进旨在是本发 明的一部分,且旨在处于本发明的精神和范围内。从而,上述描述和附图仅用 作示例。

可以多种方式中的任一种来实现本发明的上述实施例。例如,可使用硬件、 软件或其组合来实现各实施例。当使用软件实现时,该软件代码可在无论是在 单个计算机中提供的还是在多个计算机之间分布的任何合适的处理器或处理 器集合上执行。

此外,应当理解,计算机可以用多种形式中的任一种来具体化,如机架式 计算机、台式计算机、膝上型计算机、或平板计算机。此外,计算机可以具体 化在通常不被认为是计算机但具有合适的处理能力的设备中,包括个人数字助 理(PDA)、智能电话、或任何其它适合的便携式或固定电子设备。

同样,计算机可以具有一个或多个输入和输出设备。这些设备主要可用于 呈现用户界面。可用于提供用户界面的输出设备的示例包括用于可视地呈现输 出的打印机或显示屏和用于可听地呈现输出的扬声器或其它声音生成设备。可 用于用户界面的输入设备的示例包括键盘,诸如鼠标、触摸垫、数字化图形输 入板的指向设备,以及触摸响应显示屏,诸如直接交互显示器、同时响应 屏幕上的两个或多个手指的多触摸显示器。作为另一示例,计算机可以通过 语音识别或以其它可听格式来接收输入信息。

这些计算机可以通过任何合适形式的一个或多个网络来互连,包括作为局 域网或广域网,如企业网络或因特网。这些网络可以基于任何合适的技术并可 以根据任何合适的协议来操作,并且可以包括无线网络、有线网络或光纤网络。

而且,此处略述的各种方法或过程可被编码为可在采用各种操作系统或平 台中任何一种的一个或多个处理器上执行的软件。此外,这样的软件可使用多 种合适的程序设计语言和/或程序设计或脚本工具中的任何一种来编写,而且它 们还可被编译为可执行机器语言代码或在框架或虚拟机上执行的中间代码。

就此,本发明可被具体化为用一个或多个程序编码的一个计算机可读介质 (或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、紧致盘 (CD)、光盘、数字视频盘(DVD)、磁带、闪存、现场可编程门阵列或其 他半导体器件中的电路配置、或其他非瞬态的有形计算机存储介质),当这些 程序在一个或多个计算机或其他处理器上执行时,它们执行实现本发明的上述 各个实施例的方法。计算机可读介质或媒体可以是便携的,使得其上存储的一 个或多个程序可被加载到一个或多个不同的计算机或其它处理器上以实现本 发明上述的各个方面。

此处以一般的意义使用术语“程序”或“软件”来指可被用来对计算机或其 他处理器编程以实现本发明上述的各个方面的任何类型的计算机代码或计算 机可执行指令集。此外,应理解,根据本实施例的一个方面,当被执行时实现 本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而 是可以用模块化的方式分布在多个不同的计算机或处理器之中以实现本发明 的各方面。

计算机可执行指令可以具有可由一个或多个计算机或其他设备执行的各 种形式,诸如程序模块。一般而言,程序模块包括执行特定任务或实现特定抽 象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能 可以在各个实施例中按需进行组合或分布。

而且,数据结构能以任何适合的形式存储在计算机可读介质上。为简化说 明,数据结构可被示为具有通过该数据结构中的位置而相关的字段。这些关系 同样可以通过对各字段的存储分配传达各字段之间的关系的计算机可读介质 中的位置来得到。然而,可以使用任何适合的机制在数据结构的各字段中的信 息之间建立关系,包括通过使用指针、标签、或在数据元素之间建立关系的其 他机制。

本发明的各个方面可单独、组合或以未在前述实施例中特别讨论的各种时 间表来使用,从而并不将其应用限于前述描述中所述或附图形中所示的组件的 细节和时间表。例如,可使用任何方式将一个实施例中描述的各方面与其它实 施例中描述的各方面组合。

同样,本发明可被具体化为方法,其示例已经提供。作为该方法的一部分 所执行的动作可以按任何适合的方式来排序。因此,可以构建各个实施例,其 中各动作以与所示的次序所不同的次序执行,不同的次序可包括同时执行某些 动作,即使这些动作在各说明性实施例中被示为顺序动作。

在权利要求书中使用诸如“第一”、“第二”、“第三”等序数词来修饰权利要 求元素本身并不意味着一个权利要求元素较之另一个权利要求元素的优先级、 先后次序或顺序、或者方法的各动作执行的时间顺序,而仅用作将具有某一名 字的一个权利要求元素与(若不是使用序数词则)具有同一名字的另一元素区 分开的标签以区分各权利要求元素。

同样,此处所使用的短语和术语是出于描述的目的而不应被认为是限制。 此处对“包括”、“包含”、或“具有”、“含有”、“涉及”及其变型的使 用旨在包括其后所列的项目及其等效物以及其他项目。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号