当前位置: 首页 > 专利查询>微软公司专利>正文

软件内插附件组件的发现、鉴定和激活制造技术

技术编号:2824011 阅读:214 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及用于发现、鉴定和激活软件内插附件组件的方法、系统和计算机程序产品。内插附件组件管理器发现计算机系统处为应用程序所请求的指定的内插附件组件类型的一个或多个内插附件组件。内插附件组件管理器基于至少一个所发现的内插附件组件满足一个或多个鉴定约束来鉴定至少一个所发现的内插附件组件。一个或多个鉴定约束表示为使一内插附件组件以所需方式与应用程序协同操作而要与该内插附件组件相关联的功能。内插附件组件管理器根据用于应用程序的一个或多个鉴定约束来激活合格的内插附件组件。

【技术实现步骤摘要】
【国外来华专利技术】背景1.背景和相关技术计算机系统和相关技术影响着社会的方方面面。实际上,计算机系统处理信息的能力已经改变了人们生活和工作的方式。计算机系统现在通常执行在计算机系统出现之前手动执行的大量任务(例如,文字处理、日程安排和数据库管理)。最近,计算机系统彼此耦合并耦合到其它电子设备以形成有线和无线计算机网络,通过这些网络计算机系统和其它电子设备可传输电子数据。因此,在计算机系统处执行的许多任务(例如,语音通信、访问电子邮件、控制家用电器、web浏览和打印文档)包括经由有线和/或无线计算机网络在多个计算机系统和/或其它电子设备之间的电子消息交换。软件应用程序(例如,文字处理程序、电子邮件客户端等)通常是以模块化方式设计的,使得一应用程序的不同软件组件协同操作以提供所需功能。由此,一应用程序的各模块可由最终用户在运行时组装,并且通常由不同厂商在不同时刻提供。这一模块性允许应用程序的特征集动态地改变,并促进了对更大应用程序的高效的分布式开发。例如,不同的开发者团队可独立地对一应用程序的各模块工作,并在稍后组合这些模块。在开发期间,不同模块可被设计成在运行时彼此协同操作。通常,软件开发团队的成员彼此了解,并且都可以是同一家公司的职员(例如,特别地被指派来开发指定应用程序)。另一方面,不同开发者团队可被给予提供特定模块的软件规范,并且不同团队彼此不了解。应用程序开发可包括开发用于与提供最初没有被设计到应用程序中的附加和/或不同功能的其它(可能是随后开发的)模块(例如,内插附件)协同操作的接口。例如,web浏览器通常包括加载例如有助于对否则不能被处理的格式化内容(例如,flash动画、可移植文档格式文档等)的正确处理的插件。尽管可能是由目标应用程序的开发者开发的,但是插件和内插附件通常是由第三-->方开发者来开发的。即,内插附件的开发者通常不是该内插附件被设计成与其协同操作的应用程序的开发者。结果,应用程序和相应的内插附件通常在不同的时刻被安装(或储存)到计算机系统上。为加载内插附件,应用程序以该内插附件的名称来调用适当接口。然而,为使应用程序能够加载内插附件,应用程序通常必须知道该内插附件的位置(例如,在文件系统中)和名称。由此,内插附件目录的路径通常被硬编码到应用程序中。为使应用程序能够利用内插附件,该内插附件必须被储存在适当的内插附件目录中。由于每一应用程序可具有用于不同内插附件目录的硬编码路径,因此在计算机系统上可以有多个内插附件目录。某些内插附件可被设计成向不同应用程序(例如,文字处理程序、电子邮件客户端、电子表格应用程序等)提供相似的功能(例如,字典)。然而,为向多个不同应用程序提供相似的功能,必须将该内插附件的单独副本储存在每一应用程序的内插附件位置中。结果,内插附件可能在计算机系统处的多个位置中被冗余地储存。在某些环境中,具有所需功能的内插附件可被储存在计算机系统处,但是对于应用程序是未知和/或不可访问的,因为该内插附件被储存在用于一不同应用程序的内插附件目录中。内插附件的开发通常要求内插附件开发者知道由应用程序用于加载内插附件的接口。由此,如果一内插附件开发者期望向多个不同应用程序提供相似的内插附件功能,该内插附件开发者必须用对每一不同应用程序适当的接口来开发该内插附件。此外,如果一应用程序更新应用改变程序接口,则为了兼容性,该内插附件也需要被更新。由此,内插附件开发者为了兼容性可能需要频繁地发行该内插附件的新版本,即使该内插附件中没有包括任何新功能。如上所述,访问内插附件的功能通常包括按照名称从应用程序专用内插附件目录中加载内插附件。然而,在加载内插附件之前,应用程序仅有极少(如果有)关于该内插附件将如所预期地操作并且该内插附件是安全的保证。通常,可用于确定内插附件如何操作的唯一机制是在运行时加载该内插附件并测试它。由此,应用程序可能被迫加载并运行一被不恰当配置的内插附件来确定该内插附件是被不切当地配置的。应用程序对不恰当配置的内插附件的使用可导致计算机系统不正常工作。-->对内插附件的使用还造成了安全性风险,因为内插附件中的恶意代码可能能够通过与应用程序接口而获得对本应收到保护的系统功能的访问。然而,应用程序可能具有有限的(如果有)用于在不加载并运行内插附件的情况下确定该内插附件包括恶意代码的机制。一种解决方案是阻止应用程序利用任何内插附件。然而,该解决方案阻止了应用程序使用增强应用程序功能的适当配置的内插附件。简述本专利技术涉及用于发现、鉴定和激活软件内插附件组件的方法、系统和计算机程序产品。在某些实施例中,计算机系统发现可用于应用程序的内插附件。内插附件组件管理器从应用程序接收对可用内插附件组件的请求。该请求包括指示该应用程序所请求的指定的内插附件组件类型的可选择内插附件组件特性。该内插附件组件管理器将该可选择内插附件组件特性与用于一内插附件组件的内插附件组件条目的内容进行比较。该内插附件组件条目被包括在一内插附件组件索引中,该索引还包括了用于该计算机系统的其它内插附件组件的内插附件组件条目。该内插附件组件条目包括指示在与内插附件组件管理器的注册期间标识的内插附件组件的功能的一个或多个特性。该内插附件组件管理器基于比较的结果确定该内插附件组件是应用程序所请求的指定类型。该内插附件组件管理器向应用程序指示,该内插附件组件是对该应用程序可用的指定类型的内插附件组件。在其它实施例中,一计算机系统确定对一应用程序可用的内插附件组件是否有资格用于应用程序。一内插附件组件管理器访问对应用程序可用的候选内插附件组件的一个或多个所标识的特性。该一个或多个所标识的特性指示了与该候选内插附件组件相关联的功能。该内插附件组件在内插附件组件索引中的内插附件组件条目中表示,该索引还包括用于该计算机系统的其它内插附件组件的内插附件组件条目。该组件管理器从应用程序接收对满足一个或多个鉴定约束的内插附件组件的请求。每一鉴定约束表示为使该内插附件组件与应用程序适当地操作而要-->与该内插附件组件相关联的功能。该组件管理器将该一个或多个鉴定约束与一个或多个所标识的特性进行比较。该组件管理器基于将一个或多个鉴定约束与一个或多个所标识的特性进行比较的结果来确定该候选内插附件组件是否有资格用于该应用程序。在其它实施例中,一计算机系统基于所请求的内插附件组件功能来加载用于应用程序的内插附件组件。一内插附件组件管理器发现计算机系统处为应用程序所请求的指定本文档来自技高网...

【技术保护点】
一种在包括内插附件组件管理器的计算机系统处使用的计算机程序产品,所述计算机程序产品用于实现一种用于确定对应用程序可用的内插附件组件是否有资格用于该应用程序的方法,所述计算机程序产品包括其上储存有计算机可执行指令的一个或多个计算机可读存储介质,所述指令在由处理器执行时使得所述计算机系统执行以下动作:    访问关于对一应用程序可用的候选内插附件组件的一个或多个所标识的特性,所述一个或多个所标识的特性指示与所述候选内插附件组件相关联的功能,所述内插附件组件在一内插附件组件索引的内插附件组件条目中表示,所述内插附件组件索引还包括用于所述计算机系统的其它内插附件组件的内插附件组件条目;    从所述应用程序接收对满足一个或多个鉴定约束的内插附件组件的请求,每一鉴定约束表示为使一内插附件组件与所述应用程序适当地操作而要与该内插附件组件相关联的功能;    将所述一个或多个鉴定约束与所述一个或多个所标识的特性相关联;以及    基于将所述一个或多个鉴定约束与所述一个或多个所标识的特性进行比较的结果来确定所述候选内插附件组件是否有资格用于所述应用程序的动作。

【技术特征摘要】
【国外来华专利技术】US 2005-10-12 11/248,0511.一种在包括内插附件组件管理器的计算机系统处使用的计算机程序产
品,所述计算机程序产品用于实现一种用于确定对应用程序可用的内插附件组
件是否有资格用于该应用程序的方法,所述计算机程序产品包括其上储存有计
算机可执行指令的一个或多个计算机可读存储介质,所述指令在由处理器执行
时使得所述计算机系统执行以下动作:
访问关于对一应用程序可用的候选内插附件组件的一个或多个所标识的
特性,所述一个或多个所标识的特性指示与所述候选内插附件组件相关联的功
能,所述内插附件组件在一内插附件组件索引的内插附件组件条目中表示,所
述内插附件组件索引还包括用于所述计算机系统的其它内插附件组件的内插
附件组件条目;
从所述应用程序接收对满足一个或多个鉴定约束的内插附件组件的请求,
每一鉴定约束表示为使一内插附件组件与所述应用程序适当地操作而要与该
内插附件组件相关联的功能;
将所述一个或多个鉴定约束与所述一个或多个所标识的特性相关联;以及
基于将所述一个或多个鉴定约束与所述一个或多个所标识的特性进行比
较的结果来确定所述候选内插附件组件是否有资格用于所述应用程序的动作。
2.如权利要求1所述的计算机程序产品,其特征在于,还包括在被执行
时使得所述计算机系统在将所述一个或多个鉴定约束与所述一个或多个所标
识的特性进行比较之前执行以下动作的计算机可执行指令:
在访问关于所述候选内插附件组件的一个或多个所标识的特性之前从一
应用程序接收对可用内插附件组件的请求,所述请求包括指示所述应用程序正
在请求的内插附件组件的指定类型的可选择内插附件组件特性;
将所述可选择内插附件组件特性与关于所述候选内插附件组件的内插附
件组件条目的内容进行比较;
基于所述比较的结果发现所述候选内插附件组件是所述应用程序所请求
的指定类型;以及
在访问关于所述候选内插附件组件的一个或多个所标识的特性之前向所
述应用程序指示所述候选内插附件组件是指定类型的内插附件组件。
3.如权利要求1所述的计算机程序产品,其特征在于,当被执行时使得
所述计算机系统从应用程序接收对满足一个或多个鉴定约束的内插附件组件
的请求的计算机可执行指令包括当被执行时使得所述计算机系统接收对指定
类型的内插附件组件的请求的计算机可执行指令。
4.如权利要求1所述的计算机程序产品,其特征在于,当被执行时使得
所述计算机系统确定所述候选内插附件组件是否有资格用于所述应用程序的
计算机可执行指令包括当被执行时使得所述计算机系统确定所述候选内插附
件组件有资格用于所述应用程序的计算机可执行指令。
5.如权利要求4所述的计算机程序产品,其特征在于,当被执行时使得
所述计算机系统确定所述候选内插附件组件有资格用于所述应用程序的计算
机可执行指令包括当被执行时使得所述计算机系统基于所述比较的结果形成
一满足所述鉴定约束的候选内插附件组件列表的计算机可执行指令。
6.如权利要求1所述的计算机程序产品,其特征在于,当被执行时使得
所述计算机系统确定所述候选内插附件组件是否有资格用于所述应用程序的
计算机可执行指令包括当被执行时使得所述计算机系统确定所述候选内插附
件组件具有与所述应用程序兼容的入口点协议的计算机可执行指令。
7.如权利要求1所述的计算机程序产品,其特征在于,当被执行时使得
所述计算机系统确定所述候选内插附件组件是否有资格用于所述应用程序的
计算机可执行指令包括当被执行时使得所述计算机系统确定所述候选内插附
件组件具有适当的许可来与所述应用程序互操作的计算机可执行指令。
8.如权利要求1所述的计算机程序产品,其特征在于,当被执行时使得
所述计算机系统确定所述候选内插附件组件是否有资格用于所述应用程序的
计算机可执行指令包括当被执行时使得所述计算机系统确定所述候选内插附
件组件可在所述应用程序所请求的应用程序域中运行的计算机可执行指令。
9.如权利要求1所述的计算机程序产品,其特征在于,还包括当被执行
时使得所述计算机系统执行以下动作的计算机可执行指令:
从所述应用程序接收指示所述候选内插附件组件要被激活以用于所述应
用程序的组件选择;以及
根据所述鉴定约束激活所述候选内插附件以用于所述应用程序。
10.如权利要求1所述的计算机程序产品,其特征在于,还包括当被执行
时使得所述计算机系统执行以下动作的计算机可执行指令:
从所述候选内插附件接收所述应用程序满足一个或多个其它鉴定约束的
请求,每一其它鉴定约束表示为使所述应用程序与所述内插附件组件适当地操
作而要与所述应用程序相关联的功能;
将所述一个或多个其它鉴定约束与所述应用程序的特性进行比较;以及
基于将所述一个或多个其它鉴定约束与所述应用程序的特性进行比较的
结果来确定所述应用程序是否有资格用于所述候选内插附件组件。
11.如权利要求1所述的计算机产品,其特征在于,还包括当被执行时使
得所述计算机系统执行以下动...

【专利技术属性】
技术研发人员:B皮平JS米勒TE小奎恩JM瑞切特
申请(专利权)人:微软公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1