选择计算装置中插件程序代码模块的方法制造方法及图纸

技术编号:2842316 阅读:199 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种通过计算装置上的应用程序执行的插件程序,如果与先前的插件程序相比该插件程序能够更好地与由应用程序指定的标准相匹配,则通过配置服务器来循环整个可用的插件程序,连续地询问每一个来选择插件程序。然后,将通过应用程序来执行与标准最匹配的插件程序。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及一种操作计算装置的方法,并且更具体地,涉及一种操作这种装置,使得该装置能够解决在大量插件程序之外的插件程序与通过装置上的请求的应用程序指定的属性最佳匹配的方法。
技术介绍
本文中所使用的术语计算装置应广义理解为覆盖任何形式的计算装置,并且包括任何形式因素的数据记录装置、任何类型或形式的计算机(包括手持和个人计算机)、以及任何形式因素的通信装置(包括移动电话、智能电话、集通信、图像记录和/或重放、以及计算功能于一体的通信装置、以及其他形式的无线和有线信息装置)。可将插件程序定义为可执行代码的可替换项,其为可在运行时间加载或调用插件程序的松散耦合(loosely coupled)应用程序提供特定的业务。插件程序经常作为动态链接库(DLL)或者相似类型的模块来加载,该插件程序在与调用它们的应用程序相同的进程空间内执行,尽管它们也可以被作为单独的进程派生并运行。在很多操作系统中广泛地使用插件程序,并且插件程序也由很多应用程序广泛使用。这种技术的主要优点在于 ·可使用插件程序的应用程序是固有可扩展的,这是因为当需要新特征时可以添加或替换插件程序;·仅在请求时由应用程序加载插件程序代码,可使程序对存储器的需求更小并且更快的开始运行。通过将插件程序普遍地结合到诸如Microsoft Internet Explorer和Netscape网络浏览器中,这种技术被计算装置的广大用户所熟悉,该技术是美国专利申请第5,838,906号的主题(众所周知的Eolas专利)。与作为浏览器内部运行Java小程序的基础一样,使用插件程序的最普通表现在于浏览器根据该插件程序提供某些类型的内容。尤其广泛地使用与多媒体文件相关的插件程序。由于插件程序被定义为与调用它们的应用程序本质上独立,因此需要所有使用插件程序技术的系统提供一些机制,通过该机制应用程序识别到可用的插件程序,并且建议用于应用程序加载或调用它们的方法。早期的机制(例如,完全根据Microsoft的OLE技术通过WindowsTM应用程序所使用的机制)需要到插件程序名称和位置的硬编码链接。因为其只允许替换插件程序,并且要求更新主应用程序以允许添加额外的插件程序组件,因此这被认为是令人不满意的。后来的机制将插件程序的名称和位置存储到注册表或者插件程序数据库中;因为注册表或者插件程序数据库是灵活且可扩展的,所以认为其更优于名称的硬编码。为了使灵活度最大化并且使相同的插件程序能够用于不同的应用程序,这种注册表或数据库典型地是全系统的而不是专用的。因此,因此其对于在应用程序和提供公共业务的插件程序之间提供的一个或多个中间层公用的,包括·适用于应用程序的注册的插件程序的位置·确定将调用潜在的插件程序备选项中的哪个插入程序·实例化代表应用程序的插件程序Microsoft’s Component Object Model(COM)是执行该技术的一种众所周知的方法,借此,操作系统在注册表中提供中间层,该中间层定位插件程序模块,处理实例化,然后将调用从应用程序重定向到插件程序实例。开发COM,使得软件制造者可以将新的辅助程序插入到现存的应用程序中,而无需重建现存的应用程序。因此,应将COM组件设计为可互换的插件程序,无论COM组件是本地进程内DLL还是远程服务器可执行的。申请人为Sun Microsystems的WO 00/67114描述了“A Systemand Method for discovering and binding a program object”,其中,中间层使用注册表来发现并实例化插件程序,然后将对实例的引用返回到应用程序,以使应用程序可以和插件程序直接通信。这些全系统机构通常与较少的类属中间层相结合,该中间层例如应用程序特定的插件程序管理器,或者允许插件程序用于服务多个同步应用程序的特定服务器。当前技术的一个关注点在于在具有大量的插入程序作为备选项的情况下,对于哪个插入程序是最合适的选择可以是一种高级技术进程,其需要潜在复杂决策智能或算法,以达到最佳的选择。基于中间层做出这种决策的任意方法将要求它保存可能的复杂状态信息,并且作为特定信息的一部分。根据中间层的类属,由于包含所有类型的现有插件程序的例行程序,所以可能导致不必要的臃肿代码(bloated code)。在结构上,这与类属业务层的任务冲突,该业务层将限定其自身来提供公共业务,例如定位和实例化插件程序。因此,所有类型的中间层可能证实不适于处理新类型的插件程序,该插件程序将不会在写入中间层的时候被识别。示出这些关注点的一个特定情况为在诸如移动电话的无线信息装置上实现基于位置的服务(LBS)。LBS包括基于位置的信息、位置敏感计费、以及位置跟踪。所有这些特征均以能够告知其位置(定位)的移动电话为依据。然而,具有很多不同的用于获取位置信息的方法。被普遍认可的系统使用全球定位系统(GPS)。其中也使用可选的技术,它们中的一些是基于网络的,例如,单元的三角测量(cell triangulation)。还应该了解,将来,用于获得定位信息的可用方法将得到扩展,例如,最终欧洲伽利略计划将提供代替GPS的方法。本领域技术人员应该认识到,用于执行LBS的插件程序的设计允许应用程序使用获得定位信息的任何方法,该设计将非常合适,并将提供显著的好处。这是因为·所有上述定位技术均提供相同的信息类型·它们全部可以被写入,以与相同的应用程序编程接口(API)完全一致·通常,应用程序将只需要使用它们中的一个。然而,用于获得位置的上述技术具有显著的不同特性,例如,精确度、所需电能、用户的成本、以及获得定位位置所需的时间。因此,选择调用哪一个是根据大量因素的综合考虑。调用插件程序的中间层将不能考虑到全部这些方面。在最差的情况下,不能对如何获得定位信息做出切合实际的决策将导致使用简单的“最后位置”机制,其中实例化与适当的API一致的最近安装的匹配插件程序。因此,很明显,通常不存在自动地确定在装置具有多个可用的插件程序的情况下将使用哪种插件程序的灵活且可扩展的方式,其中,每个插件程序均可执行特定的任务,但是,通过完全不同的方式使其有利于为特定环境选择特定插件程序。
技术实现思路
因此,本专利技术的一个目的在于提供一种用于选择计算装置中的插件程序的改进方法。根据本专利技术的第一方面,提供了一种用于使在计算装置上运行的软件应用程序能够使执行代码模块组中的最适合的代码模块被执行的方法,该方法包括a)识别最适合代码模块将拥有的特性或属性;b)直接或者通过一个或多个中间层,将特性或属性传送到每个可能的功能兼容代码模块;c)将代码模块的每一个用于执行它们与特性或属性一致程度的确定性计算,并将结果作为数值分数返回到软件应用程序或中间层;以及d)由软件应用程序直接或者通过中间层执行的实例化,来执行具有最佳分数的模块。根据本专利技术的第二方面,提供了一种被配置为根据第一方面的方法来操作的计算装置。根据本专利技术的第三方面,提供了一种用于使根据第二方面的计算装置以根据第一方面的方法操作的操作系统。具体实施例方式自从1997年首次发布起,由伦敦的Symbian Software Ltd提出的用于移动电话的Symbian OSTM操作系统广泛使用插件程序。这些插件程序传本文档来自技高网
...

【技术保护点】
一种方法,用于使在计算装置上运行的软件应用程序能够使代码模块组中最合适的代码模块被执行,所述方法包括:a)识别所述最适合的代码模块应拥有的特性或属性;b)直接或者通过一个或多个中间层,将所述特性或属性传送到每个可能的功能兼容 代码模块;c)将所述代码模块的每一个用于执行它们与所述特性或属性一致程度的确定性计算,并将结果作为数值分数返回到所述软件应用程序或中间层;以及d)直接由所述软件应用程序或者通过中间层执行的实例化,来执行具有最佳分数的模块。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:卡尔麦克道尔
申请(专利权)人:西姆毕恩软件有限公司
类型:发明
国别省市:GB[英国]

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

1