基于推断的扩展激活的制作方法

文档序号:6383444阅读:188来源:国知局
专利名称:基于推断的扩展激活的制作方法
技术领域
本发明涉及激活扩展的技术。
背景技术
可以提供基于推断的扩展激活。扩展、加载项和/或插件在读取、编辑或撰写诸如 电子邮件、日历项、联系人、任务、文档、电子表格等文档期间激活。在传统系统中,激活可按 需或基于有问题的文档的内容自动发生。在一些情况下,使用内容子串匹配或基于模式的 内容匹配的基础条件激活对于基于对文档内容和/或来自外部源的数据的试探式匹配的 激活而言是不够的。发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式
中进一步描述的一 些概念。此“发明内容”并不旨在标识要求保护的主题的关键特征或必要特征。本发明内 容也不旨在用于限制所要求保护的主题的范围。
可提供扩展激活。文档可以在与扩展相关联的软件应用中打开。在确定与文档相 关联的数据元素与扩展的激活条件相关联后,可以激活扩展。
前面的概括描述和下面的详细描述只提供了示例,并且只是说明性的。因此,前面 的概括描述和下面的详细描述不应该被视为限制性的。此外,除这里阐述那些特征外,还可 以提供其他特征或变体。例如,各实施例可以涉及具体实施方式
中所描述的各种特征组合 和子组合。


纳入到本发明中并构成其一部分的附图示出本发明的各实施例。在附图中
图1是操作环境的框图2是用于提供扩展激活的方法的流程图;以及
图3是计算设备的框图。
具体实施方式
下面的详细描述参考各个附图。只要可能,就在附图和下面的描述中使用相同的 附图形标记来指示相同或相似的元件。尽管描述了本发明的各实施例,但是,修改、改编、以 及其他实现也是可能的。例如,可以对附图中所示出的元件进行置换、添加、或修改,且可以 通过对所公开的方法置换、重新排序、或添加阶段来修改这里所描述的方法。因此,下面的 详细描述并不限制本发明。
基于推断的扩展激活可以提供对加载项(例如,插件)应用模块的条件激活,该条 件激活可基于受该应用内容和/或外部的数据的内容推断的信息。这样的外部数据可以包 括例如外部数据库、Web服务和/或另一应用。这些扩展可以展示本机应用没有提供的附加功能。然而,不像菜单栏可能的那样一直都是可用的,扩展仅在它与向用户显示的数据相 关时才可被用户看见。例如,显示地图的窗口可以在包括邮寄地址的电子邮件消息被显示 时才出现。
推断可以将对内容的复杂试探式分析用于扩展激活。外部数据源可用于提供附加 的扩展激活标准和/或推断数据。对于有关试探式分析的激活,预处理组件可以执行带外 的内容分析并将分析的结果存储成有关文档的元数据和/或属性。对文档的稍后查看可以 使用该分析结果来按条件激活扩展。例如,可以以该方式检测、提取用用户语言的物理地址 并将该物理地址保存为元数据,以供稍后用于激活扩展,该扩展使用因特网地图服务示出 了该地址的位置。
图1是包括用户工作站110的用于提供扩展激活的操作环境100的框图。用户工 作站110可包括数据处理应用115并可用于经由网络125与服务器120交互。数据处理应 用115可包括例如文字处理、电子表格、演示文稿和/或其他生产力应用。例如,用户工作 站110可用于连接到服务器120提供的多用户协作应用130,该协作应用可接收和处理来自 用户工作站110的用户请求。用户工作站110可用于向显示设备140输出应用数据和/或 用户界面,显示设备为诸如监视器和/或触摸屏。用户工作站110可包括,例如,诸如计算 机、膝上型计算机、蜂窝电话和/或IP电话、平板计算机、游戏控制台和/或其他设备之类 的电子通信设备。数据处理应用115可用于利用本地扩展库145和/或远程扩展库150。
图2是阐明根据本发明的一实施例的用于提供扩展激活的方法200中所涉及的各 概略阶段的流程图。方法200可使用计算设备300来实现,这将在下面参考图3予以更详细 描述。下面将更详细地描述实现方法200的各阶段的方式。方法200可开始于起始框205 并继续至阶段210,在阶段210计算设备300可以在软件应用内打开文档。例如,用户工作 站115可以实例化数据处理应用115。数据处理应用110可用于访问本地扩展库145和/ 或远程扩展库150以便向用户工作站110的用户提供附加功能。
方法200可随后前进到阶段220,在阶段220,计算设备300可以根据与文档相关 联的至少一个数据元素来创建推断。例如,数据元素可以在文档内部,诸如文本、格式和/ 或元数据。对于另一示例,数据元素可以在文档外部,诸如用户许可、组管理和/或其他信 息技术数据,数据库条目、网页、组织图表和/或其他用户简档数据(例如,地理位置、偏好、 设置、职称等)。
推断可以包括分配给文档的意图、至少一个数据元素和任务之间的试探性地学习 的关联、至少一个数据元素上的正规表达匹配和/或文档的格式。对于各种意图,可以扫描 文档的文本以确定与该文档相关联的目标和/或任务,诸如包括标题行和/或名为“建议议 程”的附加文档的电子邮件可以与安排会议的意图相关联。试探性地学习的关联可以包括 例如接收具有特定术语(例如,“服务关闭”和/或“错误”)和/或来自特定发件人(例如,技 术支持邮件列表)的电子邮件,并将这些电子邮件与启动问题查询管理扩展相关。一旦看到 了该行为达某一阈值次数,则可在接收到触发条件术语和/或发件人时创建该问题查询扩 展与那些触发条件相关联的推断。文档格式推断可以包括例如识别信件文档的地址框和/ 或电子邮件的签名框并将这些数据元素与联系人管理扩展相关联。
方法200可从阶段215前进至阶段220,在阶段220,计算设备300可以确定推断是 否满足多个扩展中的至少一个的激活条件。例如,该推断可能需要满足扩展标准(例如,该扩展仅与电子邮件文档类型相关联)和触发条件(例如,电子邮件消息包括股票交易确认)。
如果确定推断满足多个扩展中的至少一个扩展的激活条件,则方法200可以前进 到阶段225,在阶段225,计算设备300可以激活多个扩展中的该至少一个扩展。例如,当电 子邮件消息包括股票交易确认被接收时,可以创建电子邮件与股票投资组合管理扩展相关 联的推断,并且该股票投资组合管理扩展可以被启动以显示用户界面元素。对于另一示例, 包括数据包跟踪号的文档可以使得与数据包承载器相关联的扩展显示该数据包的当前状 态。然后,方法200可以在阶段230结束。
根据本发明的一实施例可包括用于提供扩展激活的系统。该系统可以包括存储器 存储和耦合到该存储器存储的处理单元。该处理单元可用于在与至少一个扩展相关联的 软件应用内打开文档,确定与该文档相关联的数据元素与该至少一个扩展的激活条件相关 联,以及响应于确定该文档与该至少一个扩展的激活条件相关联,激活该至少一个扩展。数 据元素可被存储在文档中(例如,文档内的文本和/或文档格式)和/或存储在该文档或应 用的外部(例如,数据库、用户/组管理数据、组织图表、用户简档数据)。
根据本发明的另一实施例可包括用于提供扩展激活的系统。该系统可以包括存储 器存储和耦合到该存储器存储的处理单元。该处理单元可用于实例化软件应用,其中该软 件应用与多个扩展相关联;在该软件应用内打开包括多个数据元素的文档;确定多个数据 元素中的至少一个数据元素与多个扩展中的至少一个扩展的激活条件相关联;以及,响应 于确定所述多个数据元素中的至少一个数据元素与所述至少一个扩展的激活条件相关联, 激活所述至少一个扩展,其中所述至少一个扩展提供与所述软件应用相关联的用户界面元 素。该处理单元还可用于将新扩展与所述软件应用相关联。例如,用户可以开发新扩展并 将其与另一公司所开发的软件应用相关联。
根据本发明的又一实施例可包括用于提供扩展激活的系统。该系统可以包括存储 器存储和耦合到该存储器存储的处理单元。该处理单元可用于在与多个扩展相关联的软件 应用内打开文档,所述多个扩展用于向所述软件应用提供附加功能;根据与所述文档相关 联的至少一个数据元素来创建推断;以及,确定所述推断是否满足所述多个扩展中的至少 一个扩展的激活条件。用于确定所述推断是否满足激活条件可包括该处理单元用于匹配所 述至少一个扩展的标准并满足所述至少一个扩展的触发条件。响应于确定推断满足多个扩 展中的至少一个扩展的激活条件,处理单元可用于激活多个扩展中的至少一个扩展,其中 用于激活多个扩展中的至少一个扩展可包括用于显示与用于提供至少一个新数据元素的 软件应用相关联的用户界面元素。
本文描述的实施例和功能可经许多计算系统来操作,包括有线和无线计算系统、 移动计算系统(如移动电话、图形输入板或平板型计算机、膝上型计算机等)。此外,本文所 述的实施例和功能可在分布式系统上操作,其中应用功能、存储器、数据存储和检索、以及 各种处理功能可在诸如因特网或内联网之类的分布式计算网络上彼此远程地操作。各种类 型的用户界面和信息可经板载计算设备显示器或经与一个或多个计算设备相关联的远程 显示单元被显示。例如,各种类型的用户界面和信息可在墙壁表面上被显示和交互,各种类 型的用户界面和信息被投射在墙壁表面上。与可用于实施本发明的各实施例的许多计算 系统的交互包括键击输入、触摸屏输入、语音或其他音频输入、姿势输入(其中相关联的计 算设备配备有用于捕捉和解释用于控制计算设备的功能的用户姿势的检测(如相机)功能)等。图3以及相关描述提供了其中可实施本发明的各实施例的各种操作环境的讨论。然而, 关于图3所示出和讨论的设备和系统是用于示例的目的,而非对可被用于实施本文所述的 本发明的各实施例的大量计算设备配置的限制。
参考图3,根据本发明的一实施方式的系统可包括计算设备,诸如计算设备300。 在一基本配置中,计算设备300可以包括至少一个处理单元302和系统存储器304。取决于 计算设备的配置和类型,系统存储器304可以包括,但不限于,易失性存储器(例如,随机存 取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存或任何组合。系统存储 器304可包括操作系统305、一个或多个编程模块306,且可包括数据处理应用115。例如, 操作系统305可适用于控制计算设备300的操作。此外,本发明的各实施方式可以结合图 形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该 基本配置在图3中由虚线308内的这些组件示出。
计算设备300可以具有附加特征或功能。例如,计算设备300还可包括附加数据 存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这些附加存储在图3中由 可移动存储309和不可移动存储310示出。计算设备300还可包含可允许设备300诸如通 过例如内联网或因特网等分布式计算环境中的网络来与其他计算设备316进行通信的通 信连接318。通信连接316是通信介质的一个示例。
如这里所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介 质可包括以用于存储诸如计算机可读指令、数据结构、程序模块、或其他数据等信息的任何 方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器304、可移动存 储309和不可移动存储310都是计算机存储介质(即,存储器存储)的示例。计算机存储介 质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPR0M)、闪存或其他存储器技术、 CD-ROM、数字多功能盘(DVD)或其他光存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、 或可用于存储信息且可以由计算设备300访问的任何其他介质。任何这样的计算机存储 介质都可以是设备300的一部分。计算设备300还可具有诸如键盘、鼠标、笔、声音输入设 备、触摸输入设备、捕捉设备之类的输入设备312。捕捉设备可用于诸如用相机和/或话 筒来记录用户并捕捉所说的单词、用户所作的运动和/或姿势捕捉设备可包括能够检测用 户的语音和/或动作的任何语音和/或运动检测设备。例如,捕捉设备可以包括微软公司 K1NECT 运动捕捉设备,它包括多个相机和多个话筒。还可以包括诸如显示器、扬声器、 打印机等等之类的输出设备314。上述设备是示例且可以使用其他设备。
如这里所使用的术语计算机可读介质还包括通信介质。通信介质由诸如载波或其 他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据来体 现,并包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行 编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸 如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等 无线介质。
如上所述,可以在系统存储器304中存储包括操作系统305在内的多个程序模块 和数据文件。尽管在处理单元302上执行,但是编程模块306可执行如上所述的过程和/ 或方法。前述过程是示例,且处理单元302可执行其他过程。根据本发明的各实施方式可 以使用的其他编程模块可以包括电子邮件和联系人应用、字处理应用、电子数据表应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等。
一般而言,根据本发明的各实施方式,程序模块可以包括可以执行特定任务或可 以实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的 各实施方式可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理 器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的各实施方式也可以在其 中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算 环境中,程序模块可位于本地和远程存储器存储设备中。
此外,本发明的各实施方式可在包括分立电子元件的电路、包含逻辑门的封装或 集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。本 发明的各实施方式还可以使用能够执行诸如,例如,AND (与)、0R (或)和NOT (非)等逻辑 运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实 施方式可以在通用计算机或任何其他电路或系统中实现。
例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算 机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用 于执行计算机进程的指令的计算机程序的计算机存储介质。计算机程序产品还可以是计算 系统可读并编码了用于执行计算机过程的指令的计算机程序的载体上的传播信号。因此, 本发明能以硬件和/或软件(包括固件、常驻软件、微码等)来具体化。换言之,本发明的各 实施方式可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计算 机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。计算 机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系 统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、 或半导体系统、装置、设备或传播介质。更具体的计算机可读介质示例(非穷尽列表),计算 机可读介质可以包括以下具有一条或多条导线的电连接、便携式计算机盘、随机存取存储 器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPR0M或闪存)、光纤、和便携式压 缩盘只读存储器(CD-ROM)。注意,计算机可使用或计算机可读介质甚至可以是其上打印有 程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电 子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存 储器中。
可以通过片上系统(SOC)来实践本发明的各实施例,其中,可以上文中示出的每个 和/或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图 形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”) 芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的关于训练操作环境100的 任何组件和/或与之交互的功能可以通过在单个集成电路(芯片)上与计算设备/系统的其 它组件集成的应用专用逻辑来操作。
以上参考例如根据本发明的各实施方式的方法、系统和计算机程序产品的框图和 /或操作图示描述了本发明的各实施方式。框中所注明的各功能/动作可以按不同于任何 流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以 基本上同时执行,或者这些框有时可以按相反的次序来执行。
尽管已经描述了本发明的某些实施方式,但也可能存在其他实施方式。此外,虽 然本发明的各实施方式被描述为与存储在存储器和其他存储介质中的数据相关联,但数据 还可以被存储在或读取自其他类型的计算机可读介质,如辅助存储设备,像硬盘、软盘、或 CD-ROM ;来自因特网的载波;或其他形式的RAM或ROM。此外,所公开的方法的各步骤可以 任何方式修改,包括通过对各步骤重新排序和/或插入或删除步骤,而不背离本发明。
在此处所包括的代码中的包括版权在内的所有权利都归属于申请人并且是本申 请人的财产。本申请人保持并保留此处所包括的代码中的所有权利,并且授予仅关于所授 权专利的再现且未出于其他目的再现该材料的许可。
尽管已经描述了本发明的某些实施方式,但也可能存在其他实施方式。尽管本说 明书包括示例,但本发明的范围由所附权利要求书来指示。此外,虽然用对结构特征和/或 方法动作专用的语言描述了本说明书,但权利要求书并不限于上文所描述的特征或动作。 相反,上述具体特征和动作是作为本发明的各实施方式的示例来公开的。
权利要求
1.一种用于提供扩展激活的方法,所述方法包括在软件应用内打开文档,其中所述软件应用与至少一个扩展相关联;确定与所述文档相关联的数据元素是否与所述至少一个扩展的激活条件相关联;以及响应于确定所述文档与所述至少一个扩展的激活条件相关联,激活所述至少一个扩展。
2.如权利要求1所述的方法,其特征在于,确定与所述文档相关联的数据元素是否与所述激活条件相关联包括确定所述软件应用的用户是否与动态用户组相关联,其中所述动态用户组包括所述应用外部的数据源。
3.如权利要求1所述的方法,其特征在于,确定与所述文档相关联的数据元素是否与所述至少一个扩展的激活条件相关联包括创建涉及所述数据元素的推断。
4.如权利要求3所述的方法,其特征在于,创建所述推断包括应用所述数据元素和所述至少一个扩展之间的试探性地学习的关联。
5.如权利要求1所述的方法,其特征在于,激活所述扩展包括显示新的用户界面元素。
6.一种用于提供扩展激活的系统,所述系统包括一种存储器存储;以及耦合至所述存储器存储的处理单元,其中所述处理单元用于实例化软件应用,其中所述软件应用与多个扩展相关联,在所述软件应用内打开包括多个数据元素的文档,确定所述多个数据元素中的至少一个数据元素是否与所述多个扩展中的至少一个扩展的激活条件相关联,以及响应于确定所述多个数据元素中的至少有一个数据元素与所述至少一个扩展的激活条件相关联,激活所述至少一个扩展,其中所述至少一个扩展提供与所述软件应用相关联的用户界面元素。
7.如权利要求6所述的系统,其特征在于,所述处理单元还用于将新扩展与所述软件应用相关联。
8.如权利要求6所述的系统,其特征在于,所述激活条件包括多个规则。
9.如权利要求8所述的系统,其特征在于,所述多个规则包括规则层次,每一个规则必须在激活所述至少一个扩展之前被满足。
10.一种存储一组指令的计算机可读介质,所述一组指令在被执行时执行一种用于提供扩展激活的方法,由所述一组指令执行的方法包括在软件应用内打开文档,其中所述软件应用与多个扩展相关联,所述多个扩展用于向所述软件应用提供附加功能;根据与所述文档相关联的至少一个数据元素创建推断,其中所述至少一个数据元素包括以下各项中的至少一个所述文档内部的数据元素和所述文档外部的数据元素,其中所述推断包括以下各项中的至少一个分配给所述文档的意图、所述至少一个数据元素和任务之间的试探性地学习的关联、所述至少一个数据元素上的正规表达匹配以及所述文档的格式;确定所述推断是否满足所述多个扩展中的至少一个扩展的激活条件,其中确定所述推断是否满足所述激活条件包括匹配所述至少一个扩展的标准以及满足所述至少一个扩展的 触发条件;以及响应于确定所述推断满足所述多个扩展中的至少一个扩展的激活条件,激活所述多个扩展中的至少一个扩展,其中激活所述多个扩展中的至少一个扩展包括显示与所述软件应用相关联的、用于提供至少一个新数据元素的用户界面元素。
全文摘要
本发明涉及基于推断的扩展激活。可提供扩展激活。文档可以在与扩展相关联的软件应用中打开。在确定与文档相关联的数据元素与扩展的激活条件相关联后,可以激活扩展。
文档编号G06F9/445GK102999366SQ20121052099
公开日2013年3月27日 申请日期2012年12月7日 优先权日2011年12月9日
发明者O·欧联基尼, J·T·亨德森, D·克洛, A·萨拉马托夫 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1