用于隔离对软件应用程序的执行的方法和设备技术

技术编号:3777525 阅读:234 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及用于隔离对软件应用程序的执行的方法和设备。提供了一种用于隔离由应用程序对操作系统所提供的本机资源的访问的方法,把由代表用户执行的应用程序做出的对本机资源的请求重定向到隔离环境。该隔离环境包括用户隔离范围和应用程序隔离范围。所请求的本机资源的示例被在对应于用户的用户隔离范围中定位。对本机资源的请求使用在用户隔离范围中所定位的资源来完成。如果所请求的本机资源的示例在用户隔离范围中没有被定位到,那么就把该请求重定向到应用程序隔离范围。对该本机资源的请求使用在该应用程序隔离范围中所定位的资源来完成。如果所请求的本机资源在应用程序隔离范围中没有被定位到,那么就把该请求重定向到系统范围。

【技术实现步骤摘要】

本专利技术涉及管理由计算机对软件应用程序的执行,更特别地,涉及用于降低在不 同应用程序之间和由相同计算机系统所执行的相同应用程序的单独用户之间的兼容性和 社交性问题的方法和设备
技术介绍
计算机软件应用程序,在执行和安装期间,充分利用由计算机的操作系统提供的 各种本机资源。传统的单用户计算机描绘在图1A中。如图1A所示的,操作系统100提供 的本机资源可能包括文件系统102,注册表数据库104和对象106。文件系统102为应用 程序提供打开、创建、读取、拷贝、修改和删除数据文件150、 152的机制。数据文件150,152 可以被在目录160U62的逻辑分层结构中编组在一起。注册表数据库104存储关于在物理 上附联到计算机的硬件、哪些系统选项已经被选择、计算机存储器怎样设立、应用程序专用 数据的各种项目以及当操作系统100被起动之时应该存在什么应用程序的信息。如图1A 所示的,注册表数据库104被公共地组织在〃 键〃 170、172的逻辑分层结构, 〃 键〃 170, 172是注册表值的容器。操作系统100还可以提供多个多个通信和同步对象106,包括信 号量,分段,互斥体,定时器,变异株(mutant)以及管道。通过操作系统100而变为可用的 文件系统102、注册表数据库104、对象106以及任何其他本机资源一起在贯穿本文献自始 至终都将被称为〃系统层〃 108。由系统层108提供的资源对于任何应用程序或者系统程 序112、114都是可用的。 然而,当试图去执行或者安装两个不兼容应用程序112,114之时,就会出现问题。 如图1A所示的,两个应用程序APP1112和APP2114,在操作系统100的"顶上"执行,也就是 说,所述应用程序充分利用由操作系统提供来访问本机资源的函数。当所述应用程序在执 行期间或者在安装过程期间以相互排斥的方式充分利用本机资源102, 104, 106之时,就说 所述应用程序相互之间是不兼容的。APP1112可能需要或者可能尝试去安装,位于路径名为 c:\windows\system32\msvcrt. dll的文件,并且APP2114可能需要或者可能尝试去安装位 于相同路径名的第二不同文件。在此情况下,APP1112和APP2114无法在相同的计算机上 加以执行,就说它们相互之间是不兼容的。对于其他本机资源,也可能会遇到类似的问题。 这对于需要在相同操作系统100环境中一起安装或者执行APP1112和APP2114这二者的计 算机用户而言,再怎么好也是不方便的。 图1B描绘了支持代表若干用户并发执行的应用程序112,114,112' ,114'的多 用户计算机系统。如图1B所示的,APP1的第一实例112和APP2的第一实例114在第一用 户会话的上下文110中执行,APP1的第二实例112'在第二用户会话的上下文120中执行, 并且APP2的第二实例114'在第三用户会话的上下文130中执行。在此环境中,如果APP1的两个实例112, 112'和APP2的两个实例114, 114'充分利用本机资源102, 104, 106,就好 像只有单个用户执行所述应用程序一样,在此时就会出现问题。例如,APP1112可以把应用 程序专用数据存储在注册表键170中。当在第一用户上下文110中执行的APP1的第一实 112和在第二用户上下文120中执行的APP11第二实例112'的都试图去把配置数据存储 到相同的注册表键170之时,就将会为一个用户存储不正确的配置数据。对于其他本机资 源,也会发生类似的问题。 本专利技术致力于解决这些应用程序的兼容性和社交性问题。
技术实现思路
本专利技术允许在单个计算机上安装和执行相互不兼容的应用程序和相同应用程序 的不兼容版本。除此之外,它还允许在多用户计算机上安装和执行曾为单用户计算机所创 建的或者曾在不考虑当在多用户计算机执行之时出现的那些问题的情况下所创建的程序。 所描述的方法和设备可应用于单用户计算环境,所述单用户计算环境包括多个用户可以相 继地使用单个计算机的环境以及多个用户并发地使用单个计算机的多用户计算环境。本发 明虚拟化对本机资源(诸如文件系统,注册表数据库,系统对象,窗口类和窗口名称)的用 户和应用程序访问,而不用修改应用程序或者基础的操作系统。除此之外,虚拟化的本机资 源可以按照本机格式存储(也就是说,虚拟化的文件被存储在文件系统中,虚拟化的注册 表条目被存储在注册表数据库中,等等),这样就允许查看和管理虚拟化的资源能够使用标 准工具和技术来实现。 在一个方面,本专利技术涉及一种用于隔离由应用程序对由操作系统所提供的本机资 源的访问的方法。把代表第一用户执行的进程所做出的对本机资源的请求重定向到包括用 户隔离范围和应用程序隔离范围的隔离环境。把所请求的资源的实例定位在在用户隔离范 围中,使用在该用户隔离范围中所定位的资源的实例来应答对该本机资源的请求。在一些 实施例中,所请求的资源的实例没有被定位在用户隔离范围中。在这些实施例中,把该请求 重定向到应用程序隔离范围。在这些实施例中的一些实施例中,把所请求的资源的实例定 位在应用程序隔离范围中,并且使用定位在应用程序隔离范围的资源的实例来应答对本机 资源的请求。 在另一个方面,本专利技术涉及一种用于隔离由应用程序对由操作系统所提供的本机 资源的访问的隔离环境。该隔离环境包括对应于用户的用户隔离范围,用于存储本机资源 的实例;和重定向器,用于拦截由代表用户执行的进程所做出的对本机资源的请求和把该 请求重定向到用户隔离范围。在一些实施例中,该隔离环境还包括应用程序隔离范围,用于 存储本机资源的实例。 在一个方面,本专利技术涉及一种用于展示本机资源的聚合视图的方法。所述方法包 括步骤列举由系统范围所提供的多个系统范围的本机资源,和列举由应用程序隔离范围 所提供的多个应用程序范围的本机资源。多个应用程序范围的资源中的一些对应于多个系 统范围的资源中的一些。该方法还包括步骤为多个系统范围的资源中的一个确定多个应 用程序范围的资源中的对应的一个的存在,并且把多个应用程序范围的资源中对应的一个 包括在本机资源的聚合视图中。在一个实施例中,该方法包括步骤为多个系统范围的资源中的一个确定多个应用程序范围的资源中对应的一个不存在。在另一个实施例中,该方法包括步骤把多个系统 范围的资源中的一个包括在本机资源的聚合视图中。 在又一个实施例中,该方法包括步骤列举由用户隔离范围所提供的多个用户范围的本机资源。多个用户范围的资源中的一些对应于多个系统范围的资源中的一些。该方法还包括为多个系统范围的资源中的一个确定多个用户范围的资源中对应的一个的存在,并且把多个用户范围的资源中对应的一个包括在本机资源的聚合视图中。 在另一实施例中,该方法包括为多个系统范围的资源中的一个确定多个用户范围的资源中对应的一个不存在。在一个实施例中,该方法包括把多个系统范围的资源中的一个包括在系统范围的资源的聚合视图中。在又一个实施例中,该方法包括为多个系统范围的资源中的一个确定多个应用程序范围的资源中对应的一个表明该资源被删除。 在一个实施例中,该方法包括步骤从系统范围的资源的聚合视图中除去系统范围的资源。在另一个实施例中,该方法包括步骤为多本文档来自技高网
...

【技术保护点】
一种用于展示本机资源的聚合视图的方法,所述方法包括步骤:(a)列举由系统范围所提供的多个系统范围的本机资源;(b)列举由应用程序隔离范围所提供的多个应用程序范围的本机资源,多个应用程序范围的资源中一些对应于多个系统范围的资源中的一些;(c)为多个系统范围的资源中的一个确定多个应用程序范围的资源中对应的一个的存在;以及(d)把多个应用程序的范围的资源中对应的一个包括在本机资源的聚合视图中。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:LG拉博尔茨法尔维A罗伊乔德里AG博尔茨基JD穆伊尔HC秦P泽马恩
申请(专利权)人:茨特里克斯系统公司
类型:发明
国别省市:US[美国]

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

1