在虚拟环境中运行附加组件的制作方法

文档序号:6477644阅读:176来源:国知局
专利名称:在虚拟环境中运行附加组件的制作方法
在虚拟环境中运行附加组件 背景
在应用程序虚拟化中,主操作系统在计算设备上创建模拟计算机环境和虚 拟环境,以执行虚拟应用程序而无需在本地安装虚拟应用程序且无需改变主操 作系统。虽然虚拟应用程序使用本地硬件资源本地地执行,并且可以与主操作 系统交互,但是可以向主操作系统隐藏虚拟环境的各方面(例如注册表项、文 件等)。
这是可能的,因为虚拟环境包含在计算设备上执行虚拟应用程序所需的各 组件,诸如注册表项、文件、环境变量、用户界面元素、以及全局对象等。虚 拟环境中的这些组件对于主操作系统而言是不可见的。诸如外壳扩展、插件等 与虚拟应用程序相关联的附加组件对于主操作系统而言也是不可见的,因为主 操作系统不能访问附加组件的注册表项或文件。结果,主操作系统一直不知道 虚拟环境中可用的附加组件,并且不能使用虚拟环境中可用的附加组件所提供 的功能。
概述
提供本概述以便以介绍与在虚拟环境中运行应用程序的附加组件相关的 概念。这些概念在以下详细描述中进一步描述。本概述并不旨在标识出所要求 保护的主题的必要特征,也不旨在用于确定所要求保护的主题的范围。
在一个实施例中,包括在操作系统中的组件代理与包括一个或多个虚拟应 用程序的虚拟环境通信。附加组件与该一个或多个虚拟应用程序相关联,并且 组件服务器进程接收由该组件代理转发的命令并且执行附加组件。
附图简述
参考附图描述了详细描述。在附图中,参考标号的最左位标识了该参考标 号首次出现在其中的附图。在所有附图中使用相同的标号来指示相同的特征和 组件。


图1示出了在一个实施例中用于在虚拟环境中运行附加组件的示例性系统。
图2示出了在另一实施例中用于在虚拟环境中运行附加组件的示例性系统。
图3示出了用于在虚拟环境中运行附加组件的示例性过程流程图。
图4示出了示例性的基于计算的设备。
详细描述
以下发明描述了用于在虚拟环境中运行附加组件的系统和方法。附加组件 可以通过在主操作系统(即操作系统)和在虚拟环境中运行的服务器进程之间 建立通信链路来在虚拟环境中执行。操作系统包括与在服务器进程中执行的附 加组件进行通信的组件代理。所描述的系统和方法还允许通过网络按需访问和 使用虚拟化的附加组件。
虽然所描述的用于在虚拟环境中运行附加组件的系统和方法的各方面可 以在任何数量的不同计算系统、环境、和/或配置中实现,但是在以下示例性系 统体系结构的上下文中描述各实施例。
图1示出了用于在虚拟环境中运行附加组件的示例性系统100。系统100 可以是诸如个人计算机等独立计算设备的一部分或被包括在其中,或者可以作 为若干计算设备的一部分来包括。附加组件可以是外壳(shell)扩展、插件、
或可以向现有应用程序提供附加功能的任何其他类似的实体。为此,系统100 包括计算设备上的操作系统102和虚拟环境104。在一个实现中,系统100可 以在单个计算设备上实现,以便于在该计算设备上运行的一个或多个虚拟环境 之间的资源共享。计算设备可以被实现为诸如台式计算设备、膝上型计算机、 移动计算设备等任何已知的计算设备。
此外,操作系统102包括与虚拟环境104通信的组件代理106。虚拟环境 104包括组件服务器进程108和诸如虚拟应用程序110等一个或多个虚拟应用 程序。组件服务器进程108包括与虚拟应用程序相关联的一个或多个附加组件, 诸如与虚拟应用程序110相关联的附加组件112。
为了访问由驻留在虚拟环境104中的附加组件112所提供的功能,组件代 理106被配置成与组件服务器进程108通信以便执行附加组件112。为此,组 件代理106可以使用诸如远程过程调用114等应用程序接口 (API)来与组件 服务器进程108通信。
5在示例性操作中,对于虚拟环境104中可用的每个附加组件112,向操作 系统102注册组件代理106。注册可以例如在计算设备上模拟虚拟环境104时 执行。为了访问附加组件112,操作系统102调用对应的组件代理106。如果 操作系统102首次调用组件代理106,则组件代理106在虚拟环境104中启动 组件服务器进程108,并且使用远程过程调用114与组件服务器进程108通信。 远程进程调用114允许在虚拟环境(例如虚拟环境104)中执行来自组件代理 106的过程或命令,而无需为该交互提供显式的代码细节。
一个示例实施包括其中有多于一个虚拟环境在系统100中运行的情况,组 件代理106检査在其中启动组件服务器进程108的虚拟环境(例如虚拟环境 104)是否是正确的虚拟环境。为此,组件代理106确定对应的附加组件112 在虚拟环境104中是否可用。一旦标识了正确的虚拟环境(例如虚拟环境104), 则组件代理106在所标识的虚拟环境(例如虚拟环境104)中启动组件服务器 进程108。在另一示例性实施例中,组件代理106使用足够的信息来注册以便 直接连接到在适当的虚拟环境中运行的服务器。如果服务器没有在正确的虚拟 环境中运行,则组件代理可以检测到这一点并且启动服务器。在又一示例性实 施例中,组件代理106能够访问每个虚拟环境的清单,以确定在不启动虚拟环 境内的服务器并且不与该服务器通信的情况下支持什么组件。
组件服务器进程108接收由组件代理106转发的命令并且相应地执行附加 组件112。该命令可以包括用于在虚拟环境104中实现共同界面的指令,例如 更新上下文菜单、共享菜单等。
如果操作系统102先前调用了组件代理106,并启动了组件服务器进程 108,则组件服务器进程108直接将所有命令转发给附加组件112以供进一步 的处理。例如,操作系统102可以是来自微软 公司的>\^11(10 5 操作系统,而 附加组件112可以是在虚拟环境104中可用的^\^11(10 3 操作系统外壳扩展。 ^\^1010\¥3 操作系统通过外壳扩展代理(例如组件代理106)与虚拟环境014交 互,以便在服务器进程(例如组件服务器进程108)中创建外壳扩展(例如附 加组件112)的对应实例。 一旦创建了外壳扩展的实例,则Windows 操作系统 通过经由外壳扩展代理(例如组件代理106)将所有命令转发给服务器进程(例 如组件服务器进程108)、服务器进程进而将命令转发给外壳扩展来访问外壳 扩展。
可以理解,当有若干虚拟环境在计算设备上运行时,可以使用类似的方法
6来运行附加组件。此外,每个虚拟环境可以具有在其上运行的若干虚拟应用程 序以及附加组件。此外,可以有同一应用程序和附加组件的多个版本在计算设 备上的不同虚拟环境中运行。
图2示出了在另一实施例中用于在虚拟环境中运行附加组件的示例性系统
200。系统200可以被实现为诸如个人计算机等独立计算设备或在包括多个计 算设备的服务器-客户机体系结构中实现。附加组件可以是外壳扩展、插件、或 可以向现有应用程序提供附加功能的任何相似的实体。为此,系统200包括客 户机设备上的操作系统202、虚拟环境204、和服务器组件206。在一示例中, 虚拟环境204可以由主存在服务器组件206上的应用程序来模拟。
操作系统202包括与虚拟环境204通信的组件代理208。虚拟环境204包 括组件服务器进程210、附加组件212、和诸如虚拟应用程序214等一个或多 个虚拟化的应用程序。
此外,其他附加组件216可以被主存在服务器组件206上或主存在虚拟环 境204中。同样,诸如在应用程序安装和执行期间其他附加组件216如何与操 作系统(例如操作系统202)进行交互等信息可以被主存在服务器组件206上 或主存在虚拟环境204中。服务器组件206也可以保存注册表设置的日志;文 件;以及其他应用程序和操作系统相关变量。
操作系统202通过经由远程过程调用218通信来访问虚拟环境204中的附 加组件212。为此,操作系统202可以使用各种引擎和技术来在组件代理208 和虚拟环境204之间建立通信链路。
如参考图1所解释的,对于可以在虚拟环境204中执行的每个附加组件 212,在操作系统202中注册相对应的组件代理208。为了使用由附加组件212 所提供的功能,操作系统202调用相对应的组件代理208。如果操作系统202 首次调用组件代理208,则组件代理208在虚拟环境204中启动组件服务器进 程210并且使用远程过程调用218来与该组件服务器进程通信。否则,组件代 理208直接将所有命令转发给组件服务器进程210以供进一步处理。
在存在多个虚拟环境的情况下,组件代理208检査组件服务器进程210是 否在正确的虚拟环境,例如虚拟环境204中启动。为此,组件代理208确定虚 拟环境是否包括相对应的附加组件212。组件服务器进程210在虚拟环境204 中执行附加组件212,并且将来自组件代理208的所有命令转发给附加组件 212。
7此外,如果附加组件212不与由操作系统202所调用的组件代理相对应, 则组件代理208可以在服务器组件206上的其它附加组件216中和/或在系统 200可以连接或联网到的其他虚拟环境和系统中査找相对应的附加组件。
可以理解,上述实现也可以被扩展到在其他场景中在虚拟环境中运行附加 组件。例如,在计算机网络上可以存在若干虚拟环境的场景中,其可以具有若 干虚拟应用程序和在其上运行的相关联的附加组件。可以有同一应用程序和附 加组件的多个版本在网络上的不同服务器设备中运行。此外,同一虚拟应用程 序的具有不同配置的实例可以在同一计算设备上运行。
在另一示例性场景中,客户机设备可以访问与在实现服务器-客户机体系结 构的网络上的服务器或客户机设备中所主存的虚拟应用程序相关联的附加组 件。例如,客户机设备的操作系统202可以调用对应于包括在驻留在服务器组 件206上的其它附加组件216中的附加组件的组件代理,其中服务器组件206 驻留在分开的计算设备中。在这种情况下,操作系统202建立与査找服务器组 件206中的附加组件的虚拟环境204的通信链路。如果该附加组件位于其他附 加组件216中,则客户机设备可以经由虚拟环境204访问该附加组件216,而 无需将该附加组件下载到客户机设备自身中。
在另一实现中,运行多个虚拟环境的客户机计算设备还可以访问来自存在 于该客户机计算设备所连接到的网络上的其它虚拟环境的附加组件,以便于共 享附加组件。
图3是示出在虚拟环境中运行附加组件的实现的示例性过程图300。过程 图300被示为逻辑流程图中的表示可以用硬件、软件、固件或其组合实现的操 作序列的步骤集合。描述该方法的次序并非旨在被解释为限制,并且任何数目 的所描述的方法框可以按任何次序组合以实现该方法或替换方法。此外,可以 从该方法中删除各个框而不背离本文中所描述的主题的精神和范围。
在软件上下文中,各框可以表示当由一个或多个处理器执行时完成所述操 作的计算机指令。出于讨论的目的,参考图1中所示的系统100和图2中所示 的系统200来描述过程300。
在框302处,操作系统调用对应于附加组件的组件代理以便使用该附加组 件的功能。例如,操作系统102调用组件代理106。在另一示例中,操作系统 202调用组件代理208。
在框304处,组件代理使用API来与虚拟环境相关联。例如,组件代理106可以使用RPC 114来与系统IOO中的虚拟环境104相关联;或者组件代理208 可以使用RPC 218来与虚拟环境204相关联。
在框306处,组件代理确定相关联的虚拟环境是否是正确的虚拟环境。为 此,组件代理检査虚拟环境是否包括操作系统所请求的相对应的附加组件。如 果确定虚拟环境是正确的虚拟环境(即沿着自框306的"是"分支),则过程 流程控制继续前进到框308。否则(即沿着自框306的"否"分支),过程流 程控制继续前进到框304以便建立与另一虚拟环境的关联,直到找到正确的虚 拟环境。例如,如果在虚拟环境104中未检测到附加组件112,则组件代理106 在其他虚拟环境中査找附加组件112。在另一实现中,在系统200上遵循确定 正确的虚拟环境的同一过程。
在框308处, 一旦找到正确的虚拟环境,则组件代理在正确的虚拟环境中 启动组件服务器进程。例如,组件代理106在确认附加组件112主存在虚拟环 境104中之后,在虚拟环境104中启动组件服务器进程108。在另一实现中, 在系统200上,组件代理208在虚拟环境204中启动组件服务器进程210。
对于某些实现,组件代理将使用足够的信息来注册以直接连接到在适当的 虚拟环境中运行的服务器。如果服务器没有在正确的虚拟环境中运行,则组件 代理可以检测到这一点并且启动该服务器。在其他实现中,组件代理能够访问 每个虚拟环境的清单,以确定在不启动虚拟环境内的服务器并且不与该服务器 通信情况下支持什么组件。
在框310处,在操作系统中的组件代理和虚拟环境中的组件服务器进程之 间建立(即设立)通信链路,这样使得可以在操作系统和虚拟环境之间传递数 据和命令。该通信链路可以使用RPC或任何其他公知技术来建立。例如,操作 系统102可以在激活组件服务器进程210之后,建立通信链路以便与虚拟环境 104交换数据和命令。在另一实现中,可以在系统200上使用相同的方法来建 立通信链路。
在框312处,组件服务器进程在虚拟环境中创建对应于组件代理的附加组 件的实例。此外,可以在一个或多个虚拟环境上创建附加组件的多于一个的实 例。例如,组件服务器进程108响应于从组件代理106处接收到的通信来在虚 拟环境104中创建附加组件112的实例。在另一实现中,可以使用针对系统100 所描述的同一方法来在系统200中创建附加组件的实例。
在框314处, 一旦创建了附加组件,则组件代理将来自操作系统的命令转
9发给组件服务器进程,组件服务器进程进而将这些命令转发给附加组件。由此, 操作系统可以访问附加组件并且可以由附加组件来扩展。例如, 一旦操作系统
102在虚拟环境104中定位了附加组件112,则操作系统102可以使用由附加 组件112所提供的功能。 示例性计算机环境
图4示出了可用于实现本文中所描述的技术或者可以整体或部分地代表本 文中所描述的元素的示例性通用计算机环境400。例如,通用计算机环境可用 于图1的系统100和图2的系统200,并且实现图3的过程300中所描述的步 骤。
计算机环境400仅是计算环境的一个示例,而非旨在对计算机和网络体系 结构的使用范围或功能提出任何限制。计算机环境400也不应被解释成对于在 示例计算机环境400中所示出的任一组件或其组合有任何依赖或要求。
计算机环境400包括计算机402形式的通用的基于计算的设备。计算机402 可以例如是台式计算机、手持式计算机、笔记本或膝上型计算机、服务器计算 机、游戏控制台等。计算机402的组件可以包括但不限于一个或多个处理器或 处理单元404、系统存储器406、和将包括处理器404在内的各系统组件耦合 到系统存储器406的系统总线408。
系统总线408表示任何若干种类型的总线结构中的一个或多个,包括存储 器总线或存储器控制器、外围总线、加速图形端口、和使用各种总线体系结构 中的任意一种的处理器或局部总线。作为示例,这样的体系结构可以包括工业 标准体系结构(ISA)总线、微通道体系结构(MSA)总线、增强型ISA (EISA) 总线、视频电子技术标准协会(VESA)局部总线和外围部件互连(PCI)总线(也 称为夹层(Mezzanine)总线)。
计算机402通常包括各种计算机可读介质。这种介质可以是能由计算机402 访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介 质。
系统存储器406包括诸如随机存取存储器(RAM) 410等易失性形式的计 算机存储介质,和/或诸如只读存储器(ROM) 412等非易失性存储器形式的计 算机存储介质。基本输入/输出系统(BIOS) 414包含有助于诸如启动时在计算 机410中的元件之间传递信息的基本例程,它通常被存储在ROM 412中。RAM 410通常包含处理单元404可以立即访问和/或目前正在操作的数据和/或程序模块。
计算机402还可以包括其它可移动/不可移动、易失性/非易失性计算机存
储介质。作为示例,图4示出了对不可移动、非易失性磁介质(未示出)进行 读写的硬盘驱动器416,对可移动、非易失性磁盘420 (例如"软盘")进行 读写的磁盘驱动器418,以及对诸如CD-ROM、 DVD-ROM或其它光学介质等 可移动、非易失性光盘424进行读写的光盘驱动器422。硬盘驱动器416、磁 盘驱动器418和光盘驱动器422各自通过一个或多个数据介质接口 426连接到 系统总线408。另选地,硬盘驱动器416、磁盘驱动器418和光盘驱动器422 可以通过一个或多个接口 (未示出)连接到系统总线408
盘驱动器及其相关联的计算机可读介质向计算机402提供对计算机可读指 令、数据结构、程序模块和其它数据的非易失性存储。尽管该示例示出了硬盘 416、可移动磁盘420和可移动光盘424,然而可以理解,可储存可由计算机访 问的数据的其它类型的计算机可读介质也可用来实现过示例性计算系统和环 境,这些介质诸如磁带盒或其它磁存储设备、闪存卡、CD-ROM、数字多功能 盘(DVD)或其它光存储、随机存取存储器(RAM)、只读存储器(ROM)、 电可擦除可编程只读存储器(EEPROM)等。
多个程序模块可储存在硬盘416、磁盘420、光盘424、ROM 412和/或RAM 410中,作为示例,包括操作系统427、 一个或多个应用程序428、其它程序模 块430以及程序数据432。这些操作系统427、 一个或多个应用程序428、其它 程序模块430和程序数据432 (或其某一组合)中的每一个可实现支持分布式 文件系统的所有或部分常驻组件。
用户可以通过诸如键盘434和定点设备436 (如,"鼠标")等输入设备 向计算机402输入命令和信息。其它输入设备438 (未具体示出)可包括话筒、 操纵杆、游戏手柄、圆盘式卫星天线、扫描仪等等。这些和其它输入设备通过 耦合至系统总线408的输入/输出接口 440连接到处理单元404,但也可以通过 其它接口和总线结构连接,如并行端口、游戏端口、或通用串行总线(USB)。
监视器442或其它类型的显示设备也通过接口 ,如视频适配器444连接到 系统总线408。除监视器442之外,其它输出外围设备可包括诸如扬声器(未 示出)和打印机446等组件,它们可通过输入/输出接口 440连接到计算机402。
计算机402可以使用到一个或多个远程计算机,如远程基于计算的设备448 的逻辑连接在网络化环境中操作。作为示例,远程基于计算的设备448可以是
11个人计算机、便携式计算机、服务器、路由器、网络计算机、对等设备或其它
常见的网络节点等等。远程基于计算的设备448被示为可包括此处相对于计算 机402所描述的许多或所有元件和特征的便携式计算机。
计算机402和远程计算机448之间的逻辑连接被描述为局域网(LAN) 440 和通用广域网(WAN) 452。这类网络环境常见于办公室、企业范围计算机网络、 内联网以及因特网。
当在LAN网络环境中实现时,计算机402通过网络接口或适配器444连接至 局域网440。当在WAN网络环境中使用时,计算机402通常包括调制解调器446 或用于通过广域网442建立通信的其它装置。调制解调器446可以对计算机102 是内置或外置的,它可通过输入/输出接口 440或其它适当的机制连接至系统总线 408。可以理解,所示出的网络连接是示例性的,可以使用在计算机402和448建 立通信链路的其它手段。
在诸如对计算环境400示出的网络化环境中,相对于计算机402描述的程序 模块或其部分可储存在远程存储器存储设备中。作为示例,远程应用程序驻留在远 程计算机448的存储器设备中。出于说明的目的,应用程序和诸如操作系统等其它 可执行程序组件在此处被示出为离散的框,但可以认识到,这些程序和组件在不同 的时刻驻留在基于计算的设备402的不同存储组件中,并由计算机的(诸)数据处 理器来执行。
各个模块和技术可以在诸如程序模块等由一个或多个计算机或其它设备执行
的计算机可执行指令的一般上下文中描述。 一般而言,程序模块包括执行特定任务
或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模
块的功能可以在各实施例中按需进行组合或分布。
这些模块和技术的实现可以被存储在某种形式的计算机可读介质中或者通过
某种形式的计算机可读介质传输。计算机可读介质可以是可由计算机访问的任何可 用介质。作为示例而非限制,计算机可读介质可以包括计算机存储介质和通信介质。 计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块 或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移 动介质。计算机存储介质包括但不限于,RAM、 ROM、 EEPROM、闪存或其它存 储器技术、CD-ROM、数字多功能盘(DVD)或其它光学存储、磁带盒、磁带、 磁盘存储或其它磁存储设备,或者可用于存储所需信息并且可由计算设备访问的任 何其它介质。另选地,框架的各部分可以用硬件或硬件、软件和/或固件的组合来实现。例
如可以设计或编程一个或多个专用集成电路(ASIC)或可编程逻辑器件(PLD) 来实现该框架的一个或多个部分。
结论
尽管用对结构特征和/或方法专用的语言描述了用于在虚拟环境中运行附加组 件的各实施例,但可以理解,所附权利要求书的主题不必限于所描述的具体特征或 动作。相反,这些具体特征和动作是作为用于在虚拟环境中运行附加组件的示例性 实现来公开的。
1权利要求
1.一种在一个或多个计算设备上实现的系统(200),包括操作系统(202);包括在所述操作系统中的组件代理(208);与所述组件代理通信的虚拟环境(204);所述虚拟环境中的组件服务器进程(210);所述虚拟环境中的一个或多个虚拟应用程序(214);以及与所述一个或多个虚拟应用程序(214)相关联的一个或多个附加组件(212),其中所述组件服务器进程接收由所述组件代理转发的命令并且执行所述附加组件。
2. 如权利要求l所述的系统,其特征在于,针对所述附加组件屮的一个或多 个向所述操作系统注册所述组件代理。
3. 如权利要求2所述的系统,其特征在于,所述注册是在所述一个或多个计 算设备上模拟所述虚拟环境时执行的。
4. 如权利要求1所述的系统,其特征在于,所述操作系统调用所述组件代理 来访问所述一个或多个附加组件。
5. 如权利要求l所述的系统,其特征在于,所述组件代理检査在其中启动所 述组件服务器进程的正确的虚拟环境,并且如果所述组件代理是使用足够的信息来 注册的,则连接到在适当的虚拟环境中运行的服务器。
6. 如权利要求1所述的系统,其特征在于,所述组件代理访问虚拟环境的清 单以确定在不启动服务器的情况下所述组件代理所支持的组件。
7. 如权利要求1所述的系统,其特征在于,所述一个或多个附加组件包括外 壳扩展。
8. —种具有计算机可执行组件的计算机可读介质,所述计算机可执行组件包括组件代理(208)与所述组件代理通信的虚拟环境(204); 包括在所述虚拟环境中的组件服务器进程(210);以及 所述组件服务器进程中的附加组件(212),其中所述附件向应用程序提供功能。
9. 如权利要求8所述的计算机可读介质,其特征在于,所述虚拟环境是由服务器组件上的应用程序来模拟的。
10. 如权利要求8所述的计算机可读介质,其特征在于,还包括含有关于所 述附加组件与操作系统的交互的信息的服务器组件。
11. 如权利要求10所述的计算机可读介质,其特征在于,所述服务器组件将以下中的一个或多个记入日志注册表设置、文件、应用程序变量、和操作系统变
12. 如权利要求8所述的计算机可读介质,其特征在于,还包括驻留在服务 器组件上的应用程序的虚拟应用程序。
13. —种在虚拟环境中运行附加组件的方法(300),包括调用(302)对应于附加组件的组件代理,其中所述附加组件提供功能; 与所述虚拟环境相关联(304);确定(306)所述虚拟环境是否是正确的虚拟环境;以及 如果确定所述虚拟环境是正确的,则启动(308)组件服务器进程。
14. 如权利要求13所述的方法,其特征在于,在进行所述关联时使用应用程 序接口。
15. 如权利要求13所述的方法,其特征在于,所述确定包括检査所述虚拟环 境是否包括所述对应的附加组件。
16. 如权利要求13所述的方法,其特征在于,所述启动是在确认所述附加组 件主存在所述虚拟环境中之后执行的。
17. 如权利要求13所述的方法,其特征在于,还包括如果所述确定发现所述 虚拟环境是不正确的,则査找正确的虚拟环境,以及如果所述组件代理是使用足够 的信息注册的,则连接到在适当的虚拟环境中的运行的服务器。
18. 如权利要求13所述的方法,其特征在于,所述组件代理访问虚拟环境的 清单以确定在不启动服务器的情况下所述组件代理所支持的组件。
19. 如权利要求13所述的方法,其特征在于,还包括在所述虚拟环境中创建 对应于组件代理的所述附加组件的实例。
20. 如权利要求15所述的方法,其特征在于,还包括从所述组件代理将命令 转发给所述组件服务器进程,进而转发给所述附加组件。
全文摘要
描述了用于在虚拟环境中运行附加组件的系统和方法。可以通过在主操作系统中的组件代理和在虚拟环境中运行的服务器进程之间建立通信链路来在该虚拟环境中执行附加组件。该服务器进程基于转发来自操作系统的命令的组件代理所转发的命令来执行附加组件。
文档编号G06F15/16GK101689165SQ200880022209
公开日2010年3月31日 申请日期2008年6月16日 优先权日2007年6月27日
发明者J·M·希恩, N·A·雅格布森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1