对象层次结构内对象创建的系统和方法

文档序号:6398407阅读:183来源:国知局
专利名称:对象层次结构内对象创建的系统和方法
技术领域
本发明一般涉及计算机系统内对象的创建,尤其涉及用于创建对象层次结构内的对象的系统和方法。
背景技术
对象层次结构,比如计算机树,使用户能快速地通过层次结构导航。对象层次一般包括可以被展开的父节点,以及可以在那些父节点内找到的子节点(如代表或映射到现实中的对象)。用户可以展开父节点以浏览该节点的内容,或者当父节点的内容不再需要可见时闭合该父节点。节点可以对应于多种数据类型以及应用类型的对象。例如,基节点以及子节点对应于文件或应用目录,而其中的内容可以是文档、媒质、应用程序等等。
计算机技术中的日益发展(例如微处理器速度、存储器容量、数据传输带宽、软件功能等等)大大有助于使世界成为较小的场所,并且增加了全球竞争。更具体地说,当今的企业和个人生产并管理的产品远远比几年前的企业和个人生产并管理的要多。个人通常多任务处理许多项目(如文档、电子表格、综述、演示文稿、媒质等等)以及便于管理并与这些项一起工作的应用程序。这样,已经开发了各种基于软件的工具来帮助用户进行多任务处理。一种非常强大的工具是文件管理系统,它使用户能快速地浏览并访问目录和相应的内容。例如,文件管理系统可以通过基于树的层次(如对象层次)来给出目录和/或内容——该结构是用于给出与文件管理相关的信息的非常具有逻辑且用户本能的方案。然而,文件管理系统仅仅是许多情况的一例,这些情况中对象层次结构有助于向用户呈现信息并且/或者便于操纵与层次结构的对象相关的信息。
然而,创建对象层次内的新对象历史上是一种违反直觉的进程。例如,为了在父节点下创建一个新对象,用户一般使用在父节点上点击鼠标右键,然后浏览几个菜单以便选择期望的对象类型(如消息、变量、端口等等)。或者,在选择了父节点之后,用户浏览主菜单的几个选项以便选择期望的对象类型。其它用于确认功能的技术包括采用右键点击菜单、工具条以及像属性窗口这样的相关无模式工具窗口。尽管这种常规的对象层次方案非常有用,然而它不能跟上希望计算机用户更快工作并且并发地操纵更大量文件和应用类型的日益增加的需求。发现怎样执行操作经常成为使用户困扰且害怕的任务。通常,为了实现期望的结果而要求用户通过许多步骤(例如打开目录/节点以浏览内容,访问其中的文件,加载与相应文件相关的第三方应用以起到各种功能等等)。这对于用户负担过重。因而,非常希望一种便于基于计算机的对象管理和操纵的改进的系统和方法。

发明内容
下面给出了本发明的简单化概述,以便提供对本发明某些方面的基本理解。该概述不是本发明的扩展综述。它既不标识本发明关键或重要的元件,又未详细描述本发明的范围。其仅有目的是以简化形式给出本发明的一些概念,作为下面给出的详细描述的前言。
本发明的一方面使用户创建节点,所述节点给出对象(如目录、文件、应用程序、媒质、数据结构、功能等等)以及与之相关的相应层次。更具体地说,本发明允许用户选择/展开一个对象/节点并浏览子对象,并且创建新对象以及为展开后的节点/对象内的对象(旧的和/或新的)指定功能,以及/或者浏览可以对父节点执行的操作,比如创建新的子节点、配置父节点等等。功能可以是预定义的和/或用户定义的并且/或者是根据任务和对象的环境和类型以及用户状态而动态确定的。这样,与常规的对象管理/操纵工具相比,本发明向用户提供了在管理和使用各种对象时更大的灵活性和功能性。本发明减少了起到对象的期望功能以及/或者获悉对象支持的功能所需的步骤数目,所述功能有创建子对象的能力,这是非常常见的层次操作。
关于例如编程设置内新对象的创建,本发明允许用户创建在树网格对象层次接口中内嵌的新对象。更具体地说,本发明允许用户展开树网格内的节点,而便于新对象生成的节点(如启动程序节点)被自动地显示在被展开的节点中。启动程序节点提供了便于例如该节点内新对象创建的工具。例如,启动程序节点可以直接在树型视图内提供视觉提示,以创建特定的节点。启动程序节点最初可包含描述当用户点击节点时会发生的动作及类型的文本。
为了创建新对象,接收到一指示(如用户输入)以展开具有启动程序节点的节点。通过选择启动程序节点并输入名称,创建了由启动程序节点所定义的对象类型。一旦创建了该对象,用户就可以输入定义该对象参数的信息。信息可以通过用户界面框(如文本框或组合框(如为参数提供选项))被输入,用户界面框在对象创建后显示。如果由启动程序节点创建的对象无效(如,定义对象的参数包含不足够或无效的信息),则可以(如在对象上)显示差错信息(如标志和/或信号)来通知用户该对象无效。而且,在(鼠标)停留在其上或选择了差错信息和/或对象后,可以显示帮助文本,帮助文本通知用户怎样使对象有效。这样,启动程序节点基本上把“New<object>”菜单项直接放在树内,结合了直接设置对象的名称和其他属性的能力。
关于本发明另一特定方面,可以采用启动程序节点来提供与特定对象(如目录或目录的内容)相关的各种功能。例如,如果对象是Word文档,且用户一般执行结合该对象类型的像保存、删除、复制、粘贴、通过电子邮件发送、打印这样的功能,本发明则使关于特定对象的这种功能(对于树型网格环境内的用户)变得可用。应该理解,各种对象都有按照本发明显示的子对象。此外,不同的对象类型会有与之相关的不同功能和/或子对象。
同样,网格可以覆盖对象层次结构,允许直接把信息输入到网格单元中。网格还可用于显示所定义的参数。更具体地说,本发明以树型控制的网格提供了新的用户界面,这与常规的树型控制网格相比减少了环境切换,其中常规的树型控制网格通常使用户从他们的任务中分心。树型控制已经与网格控制组合,以紧接于或者连同包含属性值或其他信息的网格显示层次信息。过去,树型控制已经与网格控制组合,但涉及到正确地传送同一行上的文本单元时,它们看上去要么太密要么太疏。水平的网格线与垂直的树线叉,产生信息量使用户分心,但又不得不进行视觉辨识。在其它情况下,缺乏水平网格线使得难以看见哪个节点与哪个单元相关。此外,这种缺乏控制的特定改进大大增加了在树型/网格控制的目的是创建各类新的子节点的情况中的可使用性。按照本发明的一个示例性方面,网格和对象层次结构明显分开以避免视觉混乱。
本发明还有一方面规定了一种用户界面,该用户界面可以充当动态的无模式向导,它内嵌在对象层次中。作为被启动的进程的“向导”引导用户并且收集操作数据,执行零次或多个子操作(工作项),并具有一完成点;“无模式”是因为用户可以修改一个参数但不修改其它参数,并且稍后复原;“动态”是因为用于完成整个操作所执行的步骤(如要执行的工作项)是自动生成的;“内嵌”是因为不必要把环境切换到类似分开的对话框或附近的无模式工具窗口等某些其它用户界面。
为了完成上述及相关的目的,本发明于是包括下面更完全描述的并且在权利要求中指出的特征。下列描述和附图详细提出了本发明的某些说明性方面。然而,这些方面指示了可采用本发明的多种方式的一小部分,而本发明应该包括所有这样的方面及其等价形式。当结合附图考虑本发明的下列详细描述时,本发明的优点和新颖性特征将变得更为明显。


图1是按照本发明一方面的对象层次结构系统的框图。
图2是按照本发明一方面的示例性对象层次结构图。
图3是按照本发明一方面的用户界面图。
图4是按照本发明一方面的示例性用户界面图。
图5是按照本发明一方面的示例性被扩展下拉组合框的图。
图6是按照本发明一方面的示例性用户界面图。
图7是按照本发明一方面的示例性对象层次结构图。
图8是按照本发明一方面的示例性用户界面。
图9是按照本发明一方面,便于对象层次内新对象创建的方法流程图。
图10是按照本发明一方面,便于对象层次内新对象创建的方法流程图。
图11是按照本发明一方面,便于对象层次内新对象创建的方法流程图。
图12是按照本发明一方面的示例性用户界面。
图13是按照本发明一方面的示例性用户界面。
图14是按照本发明一方面的示例性用户界面。
图15是按照本发明一方面的示例性用户界面。
图16是按照本发明一方面的示例性用户界面。
图17是按照本发明一方面的示例性用户界面。
图18是按照本发明一方面的示例性用户界面。
图19是按照本发明一方面的示例性用户界面。
图20是按照本发明一方面的示例性用户界面。
图21是按照本发明一方面的示例性用户界面。
图22是按照本发明一方面的示例性用户界面。
图23是按照本发明一方面的示例性用户界面。
图24是按照本发明一方面的示例性用户界面。
图25是按照本发明一方面的示例性用户界面。
图26说明了本发明可在其中起作用的示例性工作环境。
具体实施例方式
现在将参照附图描述本发明,附图中相同的数字用于指代相同的元件。在下列描述中,为了说明目的,提出了许多具体细节来提供对本发明的彻底理解。然而显然,本发明可以没有这些具体细节而实现。在其它情况下,为了便于描述本发明,以框图形式示出了公知的结构和设备。
如该申请中所使用的,术语“计算机组件”是指计算机相关的实体,或是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,计算机组件可以但不限于是处理器上运行的进程、处理器、对象、可执行的执行线程、程序和/或计算机。通过说明,服务器上运行的应用程序以及服务器都可以是计算机组件。一个或多个计算机组件可以驻留在进程和/或执行线程中,组件可以位于一台计算机上并且/或者分布在两台或多台计算机之间。
本发明可以包括各种推理方案和/或技术,有关使用户界面用于对象管理和操纵。如这里所使用的,术语“推理”一般指从经由事件和/或数据捕获的一组观察中推出或推断系统、环境和/或用户的状态的进程。可以采用推理来标识特殊的环境或动作,或者可以生成例如状态上的概率分布。推理是概率统计的——也就是,根据数据和事件的考虑对所关心的状态上的概率分布进行计算。推理也可以指为了从一组事件和/数据组成较高级事件所采用的技术。这种推理导致从一组观察到的事件和/或所存储的事件数据构成新的事件或动作,无论事件是否在相邻时间上紧密相关,也无论事件和数据是来自一个还是几个事件和数据源。在按照本发明执行自动和/或推理的动作时可以结合采用各种分类方案和/或系统(例如支持向量机、神经网络、专家系统、贝叶斯信念网络、模糊逻辑、数据合成机等等)。
图1说明了结合本发明一特定方面的高级系统综述。本发明涉及一种新颖的显示和对象管理系统和方法。说明了按照本发明一方面的对象层次结构系统100。输入组件110接收指令,例如从其它计算组件的用户接收。输入组件110可以包括计算机键盘、鼠标和/或指示设备。输入组件110可以接收来自用户的信息,例如对启动程序节点、对象名称和/或对象参数的选择。响应于展开节点112(如目录)的指令,对象组件120产生一启动程序节点122,该节点122通过显示器组件130与展开后的节点112同时显示。
应该理解,启动程序节点122的产生可以根据节点展开而是自动的,或者要求取决于特定的首选项的用户动作。例如,可以理解,在通过采用启动程序节点122用期望的对象填充了节点以后,对于到期的意义明确的节点,启动程序节点的连续显示是不必要且也不期望的。更具体地说,启动程序节点在结合新节点以及与其相关的对象的产生中尤其有用;随着节点在时间上更好地被定义,相对于与节点及其对象相关的功能可以较少地采用启动程序节点。这样,本发明可以向用户提供相对于特定的节点而禁用启动程序节点的显示的选项。
因此对象发生器120在节点112展开后可以向对象层次结构提供启动程序节点122。,例如在启动程序节点112已经形成后,对象发生器120还至少部分根据启动程序节点112和用户随后提供的输入信息(例如对象名称和/或对象参数)来产生对象层次结构的对象。例如,所产生的对象可以包括消息、端口、变量、相关和/或服务链。此外,如果通过输入组件110接收到的输入信息无效,对象发生器120就可以提供差错信息。因此,启动程序节点122会便于操作的启动,例如新端口和/或端口配置的创建。例如,启动程序节点122可以相对于父节点而不是兄弟节点而工作。
在一个例子中,当创建对象或试图创建对象,但对象无效时,显示差错信息(例如标志和/或信号),通知用户该对象无效。差错信息可以包括例如视觉标志、音频标志或者告诉用户该对象无效的任何适当指示。而且,在(鼠标)停留在其上或选择了差错信息和/或对象后,可以显示帮助文本,通知用户怎样使对象有效。例如,帮助文本可以提供与相关参数和/或参数的有效值相关联的信息。
更具体地说,系统100使用户能选择节点122(例如通过计算机鼠标)并且浏览启动程序节点122来实施新对象的产生,以及实施结合节点112一部分的对象而采用的各种功能。这些功能可以是预定义的和/或用户定义的,以及/或者是根据任务和对象的环境和类型以及用户状态而动态确定的。因此,与常规的对象管理/操纵工具相比,本发明向用户提供了在管理、创建和使用各种对象时更大的灵活性和功能性。
关于本发明另一特定方面,可以采用启动程序节点来提供与特定的对象(例如目录或目录的内容)相关联的各种功能。例如,如果对象是Word文档,且用户一般执行结合该对象类型的像保存、删除、复制、粘贴、通过电子邮件发送、打印这样的功能,本发明则使关于特定对象的这种功能(对于树型网格环境内的用户)变得可用。应该理解,各种对象都有按照本发明显示的子对象。此外,不同的对象类型会有与之相关的不同功能和/或子对象。
应该理解,各种节点/对象具有与之相关的特定属性,一般在像节点/对象这样的对象层次内会有一相关,所述相关基于在层次内的级别以及层次内的近似性和/或者与父节点的关系。因此,系统100可以采用人工智能至少部分根据被展开节点的身份属性和/或特性来调用具有推理功能的启动程序节点。更具体地说,对象发生器120可以创建具有功能的创建者节点,这是系统确定为最适用于该特定类别的被展开节点。
本发明另一方面允许系统100使用户能传输和/或定义对于特定节点/对象类型的创建者节点功能(例如定制哪个(些)创建者节点是可见的),以便使对象类型的重新创建最小,并且根据节点/对象类型向用户提供期望的功能。例如,如果节点对应于文本文件,则相对于创建关于编程模型的新对象类型,所产生的创建者节点会提供一般与文本文件相关的功能。
此外,系统100可以在推理期望的功能时可以结合采用显示训练的和隐式训练的分类器,从而在节点展开后暴露于用户。例如,系统可以是隐式训练的通过随时间观察用户以获悉用户希望怎样对付特定的节点/对象类型,因此根据训练自动地把这种功能提供给用户。系统100可以采用基于工具的分析,其中在结合特定的用户和计算环境/状态时,相对于显示正确启动程序节点功能的好处,显示不正确启动程序节点功能的成本会成为要素。
现在参照图2,说明了按照本发明一方面的示例性对象层次结构200。结构200描述了节点的一个子集,它们是按照本发明的树型网格的一部分。该节点子集包括编制参数节点210、端口节点220、消息节点230、变量节点240、相关组节点250和作用链节点260。这些节点仅仅是示例性的,而且应该理解,几乎任何类型的节点/对象都可以是树型网格的一部分。节点210、220、230、240、250、260是可展开的,因为它们包括子节点。可展开性在示例性结构200中用文件夹符号左边的“+”号来表示。目前被展开的节点用“-”号标识,比如涉及编制参数的节点210。编制参数节点210已经被展开,描述了新消息启动程序节点274、新端口启动程序节点278、新变量启动程序节点282、新相关启动程序节点286以及新作用链启动程序节点290。如图所示,启动程序节点274、278、282、286、290旁边的文本会比结构200的其它部分浅(例如幻影效应)。可以采用启动程序节点来创建特定类型的对象(例如消息、变量、端口、文件夹和/或链接)。通过把启动程序节点基本上嵌入在对象层次结构内,用户可以直觉地创建对象而无须浏览几个菜单。而且,用户可以创建对象而无须处理有关怎样创建对象的知识。通过使其内嵌,它可被用户发现。根据对启动程序节点和来自用户的信息(例如对象名称和/或对象参数)的选择而产生对象(例如由对象发生器130产生)。一般而言,从用户接收到的参数值用于子操作或用于总体操作。
例如,启动程序节点可以通过鼠标、击键、程序和/或其它适当的选择方式来选择。通过选择新消息启动程序节点274,用户可以为与编制节点相关的新消息对象输入名称。然后,创建了一个消息对象,其名称由用户输入。
应该理解,各个启动程序节点可以产生对象和/或功能,它们是相应的被展开节点的一部分以及/或者成为另一节点的一部分。例如,如果新端口启动程序节点278产生了一个新端口,则这种新端口会驻留在编制参数节点210内以及/或者是例如端口节点220的一部分。所产生的对象可以是有关方案的一部分,因此单个对象会与其它对象的多个类相关联。尽管该图中未示出,然而除了所显示的启动程序节点以外,在展开节点后可以通过例如下列菜单来显示各种功能(例如剪切、复制、合并、粘贴、保存、删除、发送等等)。应该理解,启动程序节点可以给出与展开后的节点以及节点未被展开时相关的特定功能(例如当把鼠标移到节点上时,可以显示可作用于节点上的功能以及/或者无须展开节点而显示其中的内容)。
本发明还给出了结合显示对象层次的一种改进的显示技术。如图2所示,按照本发明的树型控制通过选择性的采用网格线而减少了环境转换(这通常使用户不能集中于他们的任务)。在常规的网格显示中,水平网格线与垂直树型线相交,产生令用户分心的信息量,用户不得不加以辨识。在其它情况下,缺乏水平网格线使得难以看见哪个节点与哪个单元相关。此外,这种缺乏控制的特定改进大大增加了在树型/网格控制的目的是创建各类新的子节点的情况中的可使用性。
按照本发明,基节点(例如出现在网格左边部分的节点)没有与之相关的网格线——相对于常规系统中的文件夹以及“+”号或“-”号,网格线(水平的和垂直的)从对应于节点和/或对象的文本开始处启动。垂直网格线从节点/对象和/或创建者对象的右边开始启动。可以实施网格线使得网格覆盖不包括整个对象层次结构。或者,可以按照用户首选项设计网格覆盖以包括几乎整个对象层次结构。
应该理解,网格线可以是浅色,以便减少视觉混淆而仍能把用户的视觉从节点引导到其相关的单元。同样,可以使这些线(或其子集,例如垂直线)不可见以便减少视觉混淆。然后,可以水平地隔开(例如统一地)相应网格单元内的信息,以便使用户能区分相邻单元内的信息。网格覆盖的单元可以显示与水平线从中延伸的节点有关的信息。
按照本发明的网格线的选择性放置减少了对象的混淆并且强调对象,以便给出高度用户直觉的和有效的显示方案。
简要参照图3,说明了按照本发明一方面的用户界面300。用户界面300包括信号310和帮助框320。通过选择或覆盖信号310,显示帮助框320,通知用户怎样使对象有效。在一例中,对象是一个变量,且用户未能定义变量类型(例如浮点、整型、指针等等)。通过使(鼠标)指针停留在信号310上,显示帮助框320,通知用户怎样使对象有效。如果对象的不止一个参数包含不足够或无效的信息,帮助框320就能描述怎样使一个或多个无效参数有效,因此描述了怎样使对象有效。在其它例子中,在把指针停留对象上以后、通过鼠标、键盘击键、程序或任何其它对象选择指针选择了对象以后、通过使指针停留在对象上、或者通过选择信号310(不仅仅是停留信号310上),可以显示帮助文本。例如,通过选择帮助框320的向导选项之一(例如智能标记的下拉)可以开始相关的进程。
在一例中,所产生的对象在与启动程序节点相同的对象层次结构内被表示。在另一例中,所产生的对象在与启动程序节点不同的对象层次结构内被表示。
参照图4,说明了按照本发明一方面的示例性用户界面400。在选择了启动程序节点后,显示用户界面框410(例如通过显示器组件130)。用户界面框410便于接收信息,所述信息定义了要产生的对象(例如对象名称和/或对象参数)以及/或者收集用于操作的进一步参数。例如,为了充分地创建变量,必须提供有效的变量名和有效的变量类型。例如,任选的是,如果网格中有第三列,则可以提供该变量的缺省值。用户界面框410便于用户输入与要产生(例如由对象发生器130产生)的对象相关的信息,并且可以有一个或多个文本位置,在所述文本位置中用户可以输入定义要产生的对象的信息。
在一例中,用户界面框410还可以包括“OK(确认)”按钮来结束创建新对象,以及/或者包括“CANCEL(取消)”按钮来取消新对象的创建。还可以通过标记用户界面框400中几乎所有的文本位置,通过向各文本位置输入信息、通过各种击键或者任何其它方法,从而完成新对象创建。在另一例中,呈现了下拉组合框。下拉组合框的内容与其内容被输入或改变的文本位置相关联。例如,如果要创建的对象是一变量,而且如果把文本输入标记为“TYPE(类型)”的文本位置,那么下拉组合框可以提供帮助文本(例如选项和/或选项的超集),来帮助用户选择变量类型。在用户启动操作后各单元无须被填满,因此用户可能希望留下一个或多个单元为空,以便稍后输入内容。因此,用户可以稍后回来以完全完成操作——中间工作未丢失。在操作结束后,用户可以使用该启动程序节点创建另一个对象。
例如,可以在用户选择一单元后显示下拉组合框,以帮助用户选择用于操作的有效参数值。在拉下该下拉组合框后,用户可以访问对象各参数的帮助文本。在另一例中,下拉组合框包含与其中输入信息的单元有关的帮助文本。在拉下了下拉组合框后,可以显示帮助文本,该帮助文本可以帮助用户有关在网格上何处输入信息(例如用户选项或构成单元的值的能力)。
此外,下拉组合框可以为给定的参数(例如单元)提供选项并且/或者提供构成参数值的能力。例如,下拉组合框可以显示列表框和/或对话框,其中有几种控制。
下拉组合框的使用是对常规系统的改进,因为不需要使对象有效的严格序列。不像创建向导,用户可以在任何序列内定义参数的信息,而仍能获得关于对象创建的帮助。
简要参照图5,说明了按照本发明一方面的示例性被展开的下拉组合框500。被展开的区域510提供了附加信息,便于用户输入与对象产生相关的信息。
然后参照图6,说明了按照本发明一方面的示例性用户界面600。用户界面600包括下拉组合框610,它便于用户输入信息以及/或者把信息传递给用户(例如通过显示器组件110显示)。例如,有关对象和/或功能的使用的细节可以由用户和系统100双向地传送。
参照图7,说明了按照本发明一方面的示例性对象层次结构700。对象层次结构700包括两个父节点,关闭的文件夹704和展开的文件夹708。展开的文件夹708包括几个启动程序节点消息启动程序节点712、端口启动程序节点716、变量启动程序节点720、相关启动程序节点724以及服务链启动程序节点728。展开的文件夹708还包括几种对象类型(通过使用启动程序节点而创建的),消息1 732、消息2 736、消息3 740、变量1 744和存储单元1 748。展开的文件夹708还包括子文件夹752、756。
文本可以显示在启动程序节点附近,以便通知用户该启动程序节点将创建什么对象或文件类型。在一例中,为了避免可能的用户混淆,用户不能编辑文本。启动程序节点还有不同的图标来进一步通知用户该启动程序节点将创建什么对象类型。任何给定的父节点内的启动程序节点类型也可以由用户所定义。用户还可以定义展开文件夹708的属性,便于显示启动程序节点的标识。因此,本发明可以并发地显示包括启动程序节点在内的节点/对象,以及可用于对节点/对象执行的功能。
参照图8,说明了按照本发明一方面的便于对象操纵的示例性用户界面800。用户界面800便于操纵对象。在该例中,对象“PortTypel”可以由<Configure PortType...>字段810所操纵。因此,与显示文件夹内容同时,可以显示与内容操纵有关的选项。因此例如,如果对象是位像,则在展开包括该对象的节点后,可以显示诸如复制、通过电子邮件发送、打印、改变格式、收缩、保存、删除等等。或者,这种功能可以通过停留在对象上时的弹出菜单而显示。如上所述,可以采用各种AI方案来推断用户可能希望对节点或对象执行的特定动作,并且使这种功能自动可用于用户。与推断结合考虑同时采用了像对象使用年限、前面的使用历史、日时、用户状态、用户位置、计算机访问位置、第三方应用程序等各种因素。如上所述,可以结合置信度阈值而执行工具分析,以采取特定的动作或使其可用。
简要参照图9-11,说明了可按照本发明实现的方法。虽然为了说明的简洁,用一系列方块示出并描述了这些方法,然而可以理解,本发明不限于这些块的顺序,按照本发明,某些块可以以不同的顺序发生以及/或者与这里示出和描述的其它块同时发生。此外,不要求所有所说明的块来实现按照本发明的方法。
本发明可以用计算机可执行指令的一般上下文来描述,比如由一个或多个组件执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、数据结构等等。通常程序模块的功能可以组合,或者根据需要分布在各个实施例中。
参照图9,说明了按照本发明一方面,便于在对象层次中创建新对象的方法900。在910中,输入组件接收到展开对象文件夹的指令。在一例中,输入组件通过用户接收指令以展开对象文件夹,该对象可以以任何适当的方式(例如计算机鼠标、触摸屏、各种击键等指示设备)展开该对象文件夹。在另一例中,输入组件通过计算机程序或其它自动装置接收指令以展开对象文件夹。如步骤920所示,一旦展开对象文件夹,就同时显示文件夹的内容以及与内容相关的对象的创建有关的选项。文件夹的内容可以包括一个或多个文件夹以及各类的对象。例如,文件夹可以包含文本文档、变量、位像等等,以及用于创建指定类型的对象的启动程序节点。文件夹内包含的启动程序节点可由用户定义,或者可以采用人工智能技术来确定哪些启动程序节点驻留在哪个文件夹内。在930中,从用户接收到信息(如对象名称和/或对象参数)。计算机通过输入组件从用户接收信息,所述输入组件可以使用弹出菜单或下拉菜单,以便允许用户以直觉方式输入有关对象的信息。或者,用户可以通过填充与对象对应的树型网格内的单元而输入有关对象的信息。在940中,产生新对象。所产生的对象可以驻留在与对象启动程序节点相同的文件夹内,或者所产生的对象可以被导向另一文件夹。
参照图10,说明了按照本发明一方面便于在对象层次内创建新对象的方法1000。在1010中,接收到展开对象文件夹的指令。例如,可以以图9在910描述的方式接收该展开对象文件夹的指令。在1020中,同时显示文件夹的内容以及与内容操纵有关的选项。例如,文件夹可以包含一启动程序节点,该节点被预先指定用于创建计算机程序内要使用的变量。可以与启动程序节点同时显示允许用户定义变量类型的选项。在1030中,从用户接收到信息(例如对象名称和/或对象参数)。在1040中,至少部分根据选项来产生新对象。因此,在上例中,可以产生具有所定义变量类型(例如浮点型、整型等等)的变量。
接着参照图11,说明了按照本发明一方面便于在对象层次内创建新对象的方法1100。在1110中,显示具有可展开节点的对象层次。用于显示对象层次的显示器组件一般是计算机监视器,然而可以使用与计算机结合使用的任何监视器来显示对象层次。在1120中,接收到与可展开节点的展开相关的输入。在1130中,同时显示可展开节点的内容以及与内容相关的新对象的创建相关的信息。在1140中,从用户接收到与对象的名称和/或参数相关的信息。计算机通过输入组件从用户接收到该信息,所述输入组件使用弹出菜单或下拉菜单,以便允许用户以直觉方式输入有关对象的信息。或者,用户可以通过操纵与对象对应的树型网格内的单元而输入有关对象的信息。在1150中,产生新对象。
参照图12-25,说明了按照本发明各方面的示例性用户界面。图12-25说明了创建有效的端口对象的进程;然而应该理解,本发明不限于有效端口对象的创建。
图12-25中说明了本发明的几个特征。首先,启动程序节点指示通过指令性提示(比如帮助文本“<New port>”或仅仅是“<New>”)的操作。该操作作用于父节点。例如,“Port”节点包含子启动程序节点“<New port>”,后者可以在Ports文件夹内创建一个新的端口。
其次,在与节点相关的单元内收集完成子操作或整个操作所需的附加参数。例如,为了完成整个“New port”操作,用户必须(1)指示这是要执行的操作;(2)用户必须提供有效的端口名称;以及(3)用户必须提供有效的端口类型。用户现在可以输入该信息。在另一例中,用户可以选择稍后回来而不丢失自此完成的任何工作。
第三,单元具有下拉组合框或下拉对话框,它们向用户提供对特定参数的选项。下拉对话框甚至可用于帮助构成参数值。
第四,为了指示操作的状态并且提供下一步向导,从操作开始到操作完成时会示出视觉提示(比如“三角中感叹号”图标)。全部操作可由多个子操作组成,全部操作会发生在用户提交值的阶段,或可以例如在提供了最后一个参数值之后突然发生。在该进程中,参数值的确认可以发生在任何时间和任意多次。(鼠标)停留在视觉提示上会显示一工具提示(tooltip),它向用户提供下一步的重要向导。一旦操作已成功完成,感叹号提示就消失。
这样在某种意义上,本发明可以充当内嵌在对象层次内的动态无模式向导“向导”某种意义上是指启动的进程,它引导用户并且收集用于操作的数据,执行零次或多次子操作(工作项),并具有一结束点;“无模式”是指用户可以修改一个参数值但不能修改其它参数值,并且稍后回来;“动态”是指完成整个操作所采取的步骤(如要执行的工作项)是自动产生的;“内嵌”是指无须作出到某些其它用户界面的任何环境转换,其它用户界面如分开的对话框或附近的无模式工具窗口。
参照图12,说明了按照本发明一方面的示例性用户界面1200。用户界面1200说明了一种未展开的层次,其中Ports节点1210被破坏。例如,Ports节点1210可以是现有端口的逻辑组合。
图13说明了按照本发明一方面的示例性用户界面1300。用户界面1300描述了展开的Ports节点1310,其中呈现New Port启动程序节点1320,暗示用户他可以通过点击那里(例如用户鼠标和/或指示设备)而创建一端口。用户界面1300便于一种直觉的进程,其中对于用户显然的是端口名称要被键入在与呈现帮助文本1330的相同单元内。在一例中,即使在用户点击或浏览了单元之后,帮助文本仍保持,且帮助文本会在用户开始打字时消失。
参照图14,说明了按照本发明一方面的示例性用户界面1400。用户界面1400描述了一用户启动的操作,其中已经选择了New Port启动程序节点1410,并且通过键入字母“M”而启动。例如,用于已指示用户希望通过浏览单元而启动操作,然后通过在帮助文本(例如帮助文本1330)上打字而启动操作。在该例中,第一参数是端口名称。
简要参照图15,说明了按照本发明一方面的示例性用户界面1500。用户界面1500包括用于创建端口名为“MyPort”的New Port启动程序节点1510。
参照图16,说明了按照本发明一方面的示例性用户界面1600。操作状态和/或有关下一步做什么的向导的视觉提示——在该例中为图标1610,图标1610改变为感叹号,指示操作尚未全部完成。通过停留在感叹号上,会出现工具提示,指示用户要输入第二参数——第二参数在该例中是相邻单元内的端口类型。一般而言,参数值沿着相同行被输入到单元中。
参照图17,说明了按照本发明一方面的示例性用户界面1700。在该例中,下一单元也可以提供帮助文本1710来引起对自身的注意,并且指示可以采取哪些特殊的动作。下一单元说明了怎样通过下拉组合框为用户提供选项(参数值的选项)。
接着参照图18,说明了按照本发明一方面的示例性用户界面1800。在该例中,发生参数值的接受。然而,根据视觉提示指示,操作尚未完成——图标1820仍示出感叹号。存在仍需执行的子操作。例如,用户在这整个进程期间可以离开并稍后回来,而不丢失工作或者无须折回步骤。
参照图19,说明了按照本发明一方面的示例性用户界面1900。在该例中,通过停留在视觉提示上,例如图标1910,显示了工具提示1920,它再次提供了操作的状态以及有关下一步做什么的向导。在该情况下,它指示最近创建的子节点尚未被配置。
参照图20-23,说明了按照本发明多方面的示例性用户界面2000、2100、2200、2300。在该例中,需要被配置的子节点2010被展开。如图21所示,为了帮助引导用户,显示视觉提示2020,它包含下一步采取的步骤。在该情况下,它仍是需要配置的子节点。参照图22,在展开该子节点后,该节点需要注意,在该例中显示Request(请求)2030。工具提示2040指示用户需要提供消息类型。参照图23,下拉组合框2050便于选择消息类型。
接着参照图24,说明了按照本发明一方面的示例性用户界面2400。用户界面2400指示上一子操作成功地执行。整个操作现在已完成。更新视觉提示2410来反映整个操作的状态。
图25说明了按照本发明一方面的示例性用户界面2500。用户界面2500说明了端口创建进程的成功完成。
应该理解,按照本发明一方面,可以给出动态的环境。因而,刚才已被编辑的各对象的属性可以由于外部代理而改变,创建新的工作项。视觉提示(用于指示需要完成什么工作)可以自动地呈现为需要执行的工作项。同样,视觉提示会引导用户通过操作从而成功地完成操作。
为了为本发明各方面提供附加的环境,图26及下面的讨论意图提供适当工作环境2610的简要、一般描述,其中可实现本发明的各方面。虽然已经用计算机可执行指令的一般环境来描述本发明,比如用一个或多个组件执行的程序模块,然而本领域的技术人员会认识到,本发明也可以结合其它程序模块以及/或者用软硬件的组合来实现。然而一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、数据结构等等。工作环境2610仅仅是适当工作环境的一个例子,并不意图对本发明的使用范围或功能作出任何限制。可能适用于本发明的其它公知计算机系统、环境和/或配置包括、但不限于个人计算机、手提或便携式设备、多处理器系统、基于微处理器的系统、可编程消费者电子设备、网络PC、小型计算机、大型计算机以及包括上述系统或设备等的分布式计算环境。
参照图26,用于实现本发明各方面的示例性环境2610包括计算机2612。计算机2612包括处理单元2614、系统存储器2616以及系统总线2618。系统总线2618把包括但不限于系统存储器2616的各种系统组件耦合至处理单元2614。处理单元2614可以是各种可用处理器的任一种。双微处理器和其它多处理器结构也可以被用作处理单元2614。
系统总线2618可能是多种类型总线结构的任一种,包括存储器总线或存储器控制器、外围设备总线或外部总线、以及/或者使用任一可用总线结构的局域总线,可用总线结构包括但不限于8位总线、工业标准结构(ISA)、微通道结构(MCA)、扩展ISA(EISA)、智能驱动电子设备(IDE)、视频电子标准联盟(VESA)局域总线(VLB)、外围组件互连(PCI)、通用串行总线(USB)、高级图形端口(AGP)、个人计算机存储器卡国际联合会(PCMCIA)以及小型计算机系统接口(SCSI)。
系统存储器2616包括易失性存储器2620和非易失性存储器2622。基本输入/输出系统(BIOS)一般被存储在非易失性存储器2622中,它包含例如启动期间帮助在计算机2612内的元件间传输信息的基本例程。通过说明但非限制,非易失性存储器2622可以包括只读存储器(ROM)、可编程ROM(PROM)、电气可编程ROM(EPROM)电气可擦除ROM(EEPROM)或快闪存储器。易失存储器2620包括随机存储存储器(RAM),它作为外部缓存。RAM在许多形式可用,比如同步RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据速率SDRAM(DDR SDRAM)、高级SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)以及直接RambusRAM(DRRAM)。
计算机2612还可以包括可移动/不可移动、易失性/非易失性的计算机存储媒质。例如图26说明了磁盘存储器2624。磁盘存储器2624包括、但不限于以下设备磁盘驱动器、软盘驱动器、磁带驱动器、Jaz驱动器、Zip驱动器、LS-100驱动器、闪存卡或存储棒。此外,磁盘存储器2624可以包括独立或与其它存储媒质组合的存储媒质,包括、但不限于光盘驱动器,比如光盘ROM设备(CD-ROM)、CD可记录驱动器(CD-R驱动器)、CD可重写驱动器(CD-RW驱动器)或者数字化视频光盘ROM驱动器(DVD-ROM)。为了便于把磁盘存储器设备2624连接到系统总线2618,一般使用可移动或不可移动的接口,诸如接口2626。
应该理解,图26描述了充当适当工作环境2610中所述的用户和基本计算机资源间中介的软件。这种软件包括工作系统2628。工作系统2628可以被存储在磁盘存储器2624上,用于控制并分配计算机系统2612的资源。系统应用程序2630通过或保存在系统存储器2616中或保存在磁盘存储器2624上的程序模块2632和程序数据2634而操作系统2628,从而利用资源管理。应该理解,本发明可以用各种操作系统或操作系统的组合来实现。
用户通过输入设备2636把命令或信息输入到计算机2612中。输入设备2636包括、但不限于以下指示设备鼠标、轨迹球、记录笔、触摸板、键盘、麦克风、游戏杆、游戏板、卫星式转盘、扫描仪、TV调谐卡、数码相机、数码摄像机、web相机等等。这些和其它输入设备经由接口端口2638通过系统总线2618与处理单元2614相连。接口端口2638包括例如串行端口、并行端口、游戏端口和通用串行总线(USB)。输出设备2640使用某些与输入设备2636相同类型的端口。因此,例如,可以使用USB端口向计算机2612提供输入,并且把信息从计算机2612输出到输出设备2640。提供了输出适配器2642来说明在其它输出设备2640中还有某些输出设备2640,比如监视器、扬声器和打印机,它们要求特殊的适配器。输出适配器2642包括,通过说明但非限制,视频卡和声卡,它们在输出设备2640和系统总线2618间提供了一种连接手段。应该注意,其它设备和/或设备的系统既提供了输入能力也提供了输出能力,比如远程计算机2644。
计算机2612可以工作在网络化环境中,该环境使用与诸如远程计算机2644这样的一个或多个远程计算机之间的逻辑连接。远程计算机2644可以是个人计算机、服务器、路由器、网络PC、工作站、基于微处理器的设备、对等设备或其它公共网络节点等等,并且一般包括上述与计算机2612有关的许多或全部元件。为了说明简洁,对于远程计算机2644仅说明了内存存储设备2646。远程计算机2644通过网络接口2648与计算机2612逻辑连接,然后通过通信连接2650与计算机2612物理连接。网络接口2648包含像局域网(LAN)和广域网(WAN)这样的通信网络。局域网技术包括光纤分布式数据接口(FDDI)、铜线分布式数据接口(CDDI)、以太网/IEEE 802.3、令牌环/IEEE 802.5等等。广域网技术包括、但不限于点对点链路、类似综合业务数字网(ISDN)及其变体这样的电路交换网、分组交换网以及数字用户线(DSL)。
通信连接2650是指把网络接口2648连到总线2618所采用的硬件/软件。虽然为了说明简洁而示出通信连接1550在计算机2612内,然而它也可以在计算机2612外部。连到网络接口2648所必须的硬件/软件包括内部和外部技术,它们仅为了示例性目的,这些内部和外部技术有包括常规电话级调制解调器、电缆调制解调器和DSL调制解调器在内的调制解调器、IDSN适配器以及以太网卡。
已经描述了本发明的示例。当然,不可能描述为描述本发明的组件或方法的每个想得到的组合,但是本领域的普通技术人员可以认识到,本发明的许多进一步组合和替换都是可能的。因而,本发明意图包括落在所附权利要求的精神和范围内的所有这样的改变、修改和变化。而且,术语“包括(include)”用在具体实施方式
或用在权利要求中,这种术语是概括性的,其方式类似于术语“包括(comprising)”,“comprising”在使用时被用作权利要求中的连接词。
权利要求
1.一种对象层次结构系统,包括对象发生器,响应于展开节点的指令而提供启动程序节点,便于在节点展开后在对象层次内产生新对象;以及显示器组件,用于同时显示启动程序节点与被展开的节点。
2.如权利要求1所述的系统,其特征在于,所述所产生的对象与消息、端口、变量、相关和作用链中的至少一个相关联。
3.如权利要求1所述的系统,其特征在于,所述对象发生器接收包括所产生对象的名称的输入信息。
4.如权利要求1所述的系统,其特征在于,所述对象发生器还接收与所产生对象的参数相关联的信息。
5.如权利要求1所述的系统,其特征在于,网格覆盖了所述对象层次结构的至少一部分。
6.如权利要求5所述的系统,其特征在于,所述网格定义了用于接收与所产生对象的参数相关的信息的单元。
7.如权利要求5所述的系统,其特征在于,所述显示器组件还显示下拉组合框,下拉组合框提供了与要被输入到网格段内信息有关的帮助文本。
8.如权利要求1所述的系统,其特征在于,所述显示器组件还显示与启动程序节点相关的帮助信息。
9.如权利要求1所述的系统,其特征在于,如果至少某些输入信息至少是无效或不足够的,所述对象发生器就提供简单的视觉指示符。
10.如权利要求9所述的系统,其特征在于,在把指示设备悬放在所述简单视觉指示符上后,显示特定的帮助信息。
11.如权利要求1所述的系统,其特征在于,所产生的对象在与启动程序节点相同的对象层次结构的节点中给出。
12.如权利要求1所述的系统,其特征在于,所产生的对象在与启动程序节点不同的对象层次结构的节点中给出。
13.如权利要求1所述的系统,其特征在于,所述显示器组件还显示了用户界面框,便于接收与所产生对象的参数相关的信息。
14.如权利要求13所述的系统,其特征在于,所述显示组件显示了一下拉组合框,该下拉组合框具有与要被输入到用户界面框中的信息有关的帮助文本。
15.如权利要求1所述的系统,其特征在于,采用人工智能技术来便于系统的隐式训练,从而允许系统确定与被展开节点相关的启动程序节点的类型。
16.如权利要求15所述的系统,其特征在于还包括一分类器,所述分类器是支持向量机、专家系统、神经网络、贝叶斯信念网络以及隐马尔可夫模型中的至少一个。
17.如权利要求1所述的系统,其特征在于,用户定义了要与给定被展开节点相关的启动程序节点的类型。
18.如权利要求1所述的系统,其特征在于,它包含在计算机可读媒质中。
19.一种对象层次结构系统,包括对象发生器,响应于展开节点的指令而提供一启动程序节点,在节点展开后产生对象层次内的对象可以采用的至少一个功能;以及显示器组件,用于同时显示启动程序节点和被展开节点的至少一个功能。
20.如权利要求19所述的系统,其特征在于,它包含在计算机可读媒质中。
21.如权利要求19所述的系统,其特征在于还包括隐式训练的分类器,用于推断与启动程序节点相关的一种功能类型。
22.如权利要求19所述的系统,其特征在于,用户定义了要与给定启动程序节点相关的功能的类型。
23.一种便于在对象层次中创建新对象的方法,包括接收指令一展开对象文件夹;以及同时显示文件夹的内容以及与至少一个内容相关的新对象创建有关的选项。
24.一种计算机可读媒质,其中存储了用于实现权利要求23所述方法的计算机可执行指令。
25.如权利要求23所述的方法,还包括下列动作中的至少一个产生新对象;以及从用户接收信息,所述信息至少与新对象名称和新对象参数之一相关联。
26.一种便于在对象层次中创建新对象的方法,包括接收指令一展开对象文件夹;以及同时显示文件夹的内容以及与至少一个内容的操纵有关的选项。
27.一种计算机可读媒质,其中存储了用于实现权利要求26所述方法的计算机可执行指令。
28.如权利要求26所述的方法,还包括下列动作中的至少一个至少部分基于选项而产生新对象;以及从用户接收信息,所述信息至少与新对象名称和新对象参数之一相关联。
29.一种便于在对象层次中创建新对象的方法,包括显示具有可展开节点的对象层次结构;接收与可展开节点的展开相关的输入;以及同时显示可展开节点的内容以及与至少一个内容相关的新对象创建有关的信息。
30.如权利要求29所述的方法,还包括下列动作中的至少一个产生新对象;以及从用户接收信息,所述信息至少与新对象名称和新对象参数之一相关联。
31.一种便于对象层次中对象的特定功能的可用性的方法,包括显示具有可展开节点的对象层次结构;接收与可展开节点的展开相关的输入;以及同时显示可展开节点的内容以及与至少一个内容相关的对象的特定功能有关的信息。
32.一种在两个或多个计算机进程间发送的数据分组,该数据分组便于对象层次结构,该数据分组包括由启动程序节点所产生的对象,它在可展开节点展开后作为对象层次结构的一部分被显示。
33.一种计算机可读媒质,存储了对象层次结构系统的计算机可执行组件,包括显示器组件,用于显示具有可展开节点的对象层次结构;输入组件,便于展开可展开节点并且接收输入信息;以及对象发生器,在可展开节点展开后向对象层次结构提供启动程序节点,并且至少部分根据所述启动程序节点和输入信息而产生对象层次结构的对象。
34.一种对象层次结构系统,包括用于显示具有可展开节点的对象层次结构的装置;接收便于可展开节点展开的输入并且接收输入信息的装置;以及根据在可展开节点展开后被提供给对象层次结构的启动程序节点产生一对象的装置,所述对象至少部分基于所述启动程序节点和输入信息而产生。
35.一种便于在对象层次内创建新对象的系统,包括接收指令以展开对象文件夹的装置;以及同时显示文件夹内容以及与至少一个内容相关的新对象创建有关的选项。
36.一种对象层次结构用户界面,包括对象层次结构区域,用于显示具有可展开节点的对象层次结构;以及启动程序节点区域,用于在可展开节点展开后显示启动程序节点。
37.一种便于嵌入无模式向导的用户界面,包括对象层次结构区域,用于显示具有可展开节点的对象层次结构;启动程序节点区域,用于在可展开节点展开后显示启动程序节点;参数区域,用于在与启动程序节点相关的操纵启动后,便于接收与参数相关的信息;下拉组合框区域,用于向用户提供与参数相关的选项;以及视觉提示区域,用于向用户提供视觉提示,所述视觉提示有关与启动程序节点相关的操作的状态。
38.一种采用权利要求37所述的用户界面的系统,其中操作状态持续。
39.一种采用权利要求37所述的用户界面的系统,其中启动程序节点外部的动作可以稍后改变向导状态并且更新与启动程序节点相关的视觉提示区域。
全文摘要
提供了与对象层次结构内与对象创建有关的系统和方法。响应于展开节点/对象的命令的对象发生器提供了一启动程序节点,便于在节点展开后在对象层次内生成新对象。显示器组件并发地显示启动程序节点与展开的节点。用于创建对象的启动程序节点位于(如内嵌)对象层次结构中。为了创建新对象,接收一指令(如用户输入)来扩展具有启动程序节点的节点。通过选择启动程序节点并输入名称,创建了由启动程序节点定义的对象类型。例如,一旦创建了对象,用户就可以输入定义对象参数的信息。信息可以通过在对象创建后显示的用户界面框(如文本框)输入。同样,网格可以覆盖对象层次结构,允许信息直接被输入网格单元。网格还可用于显示所定义的参数。
文档编号G06F9/44GK1550980SQ20041003462
公开日2004年12月1日 申请日期2004年4月12日 优先权日2003年4月10日
发明者M.K.石光, G·斯塔洛, 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1