对虚拟化应用程序的基于策略的访问的制作方法

文档序号:13675288阅读:139来源:国知局

本发明专利申请是申请日为2011年12月26日、申请号为201110443200.0、名称为“对虚拟化应用程序的基于策略的访问”的发明专利申请的分案申请。

本申请涉及对虚拟化应用程序的访问,特别是对虚拟化应用程序的基于策略的访问。



背景技术:

企业、政府机构、以及其他类型的实体通常限制对某些类型的机密或敏感信息的访问。限制对诸如物理文档之类的物理信息的访问可以通过使用标准访问限制来很容易地实现。限制对例如存储在服务器计算机上的文档之类的数字信息的访问也可以通过使用诸如访问控制列表之类的标准安全措施来相对容易地实现。

限制对计算机应用程序(“应用程序”)的使用可能要比限制对物理项目的访问难得多,特别是在必须以某种方式对另外被授权使用该应用程序的用户进行限制时尤其如此。对于向雇员发放诸如膝上型计算机、平板电脑、和智能电话之类的便携式计算设备的组织而言尤其是这样。因为雇员可以持续地访问发放给他们的计算设备,所以很难限制对这些计算设备上所安装的应用程序的使用。

此处所做出的本公开正是关于这些和其他考虑事项而提出的。



技术实现要素:

本文描述了用于对虚拟化应用程序的基于策略的访问的技术。通过本文在此呈现的概念和技术的实现,可提供能够根据执行策略来限制虚拟化应用程序的执行的应用程序虚拟化环境。该执行策略可以由管理员来设置,并且定义可以或不可以执行虚拟化应用程序的条件。以此方式,应用程序的执行可以基于各种条件来限制,诸如在其上执行应用程序的设备的地理位置、使用该应用程序的一天中的时刻或持续时间、某些计算资源对于该设备的可用性、或其他条件。

可结合应用程序虚拟化环境来实现本文公开的实施例。具体地,应用程序虚拟化客户端组件被配置为提供用于执行虚拟化应用程序的环境。应用程序虚拟化客户端组件还提供用于使虚拟化应用程序与底层操作系统、其他应用程序和系统资源分开地被封装起来的功能。应用程序虚拟化客户端组件还可通过从应用程序虚拟化服务器组件流传送虚拟化应用程序的所需部分来提供加载虚拟化应用程序的这些部分的功能。

根据另一方面,应用程序虚拟化客户端组件被配置为提供对虚拟化应用程序的基于策略的访问。具体而言,当接收到执行虚拟化应用程序的请求时,应用程序虚拟化客户端组件评价执行策略以确定该应用程序是否可被执行。如上文简单讨论的,该执行策略可以由管理员来设置,并且定义可以或不可以执行虚拟化应用程序的条件。例如,执行策略可规定只有在执行虚拟化应用程序的设备处在指定地理区域时才可执行该虚拟化应用程序、应用程序仅可在一天的指定时刻(例如,9a.m.至5p.m.)执行、每天仅可执行指定的持续时间(例如,每天一个小时)、或者只有在某些计算资源不受限制时才可执行应用程序。

若应用程序虚拟化客户端组件基于执行策略确定该虚拟化应用程序可以执行,则应用程序虚拟化客户端组件将公布该虚拟化应用程序。如在此所使用的,术语“公布”意指使虚拟化应用程序可供执行之用。例如,在一个实施例中,应用程序虚拟化客户端组件通过确定虚拟化应用程序是否被安装并且若已安装则使虚拟化应用程序可供执行来公布虚拟化应用程序。若虚拟化应用程序未安装则应用程序虚拟化客户端组件可使虚拟化应用程序被流传送至该设备以供执行。

根据另一方面,应用程序虚拟化客户端组件在虚拟化应用程序的执行期间周期性地或不断地评价执行策略。若应用程序虚拟化客户端组件确定不再满足执行策略,则应用程序虚拟化客户端组件取消公布虚拟化应用程序。例如,应用程序虚拟化客户端组件可停止虚拟化应用程序的执行并使应用程序不可用于执行。应用程序虚拟化客户端组件还可将虚拟化应用程序从在其上执行该虚拟化应用程序的客户端设备移除。

根据另一方面,若不能评价执行策略则应用程序虚拟化客户端组件也取消公布虚拟化应用程序。例如,若执行策略要求只有在特定地理区域内才可执行应用程序而执行该应用程序的设备所处的地理区域无法确定则可以取消公布该虚拟化应用程序。应用程序虚拟化客户端组件还可存储关于虚拟化应用程序的不允许访问、取消公布应用程序的条件、以及对应用程序虚拟化环境的管理员可能有帮助的其他信息的审核数据。

本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本概述用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本发明的任一部分中提及的任何或所有缺点的实现。

附图说明

图1是示出用于此处公开的各个实施例的一个说明性操作环境的软件和网络体系结构图;

图2a-2b是根据此处提供的一个实施例示出此处所公开的用于对虚拟化应用程序的基于策略的访问的一个说明性处理的诸方面的流程图;以及

图3是示出用于能够实现本文所提出的各种实施例的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。

具体实施方式

下面的详细描述涉及用于对虚拟化应用程序的基于策略的访问的技术。如上文简短讨论的,提供了应用程序虚拟化环境,其被配置成基于执行策略对虚拟化应用程序的执行实施限制。具体而言,当收到执行虚拟化应用程序的请求时,应用程序虚拟化客户端组件评价执行策略以确定该应用程序是否可被公布和执行。若应用程序虚拟化客户端组件基于执行策略确定该虚拟化应用程序可以执行,则应用程序虚拟化客户端组件公布并执行该虚拟化应用程序。

应用程序虚拟化客户端组件在应用程序已安装时通过使该虚拟化应用程序可供执行来公布应用程序且当应用程序未安装时通过安装该虚拟化应用程序来公布应用程序。应用程序虚拟化客户端组件还在虚拟化应用程序执行期间评价执行策略。若应用程序虚拟化客户端组件确定不再满足执行策略,则应用程序虚拟化客户端组件取消公布虚拟化应用程序,由此阻止该虚拟化应用程序的执行。关于这些和其他特征的附加细节将在以下提供。

尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中呈现了本文描述的主题,但是本领域技术人员将认识到,其它实现可以结合其它类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,本领域技术人员将明白,可以利用其它计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。

在下面的详细描述中,将参考构成本发明的一部分的附图,并且在附图中作为说明示出了各具体实施例或示例。现在参考附图(全部若干附图中相同的标号表示相同的元素),将描述用于对虚拟化应用程序的基于策略的访问的计算系统和方法的各方面。

图1是示出用于此处公开的各个实施例的一个说明性操作环境100的软件和网络体系结构图。图1中所示的说明性操作环境100包括被配置为通过网络106与服务器104通信的客户端设备102。客户端设备102是被配置为执行操作系统108a和应用程序虚拟化客户端组件110的计算设备。客户端设备102可以是标准台式或膝上型计算机、平板电脑、智能手机或能执行此处呈现的用于对虚拟化应用程序的基于策略的访问的操作的任何其他类型的计算设备。客户端设备102还可以是被配置为提供此处公开的功能性的服务器计算机。

服务器104是被配置为执行操作系统108b和应用程序虚拟化服务器组件116的计算系统。应该理解的是服务器104可以是被配置为执行应用程序虚拟化服务器组件110的服务器计算机或者可包括被配置为执行如由服务器104所执行的此处描述的的功能性的另一种类型的计算机系统。

图1中所示的网络106包括广域网或局域网。例如,网络106可以是公司局域网、诸如因特网之类的广域网、或者多个广域网和局域网的组合。应该理解的是尽管图1中示出了单个网络106,但是可使用很多其他网络。还应该理解的是尽管图1中示出了单个客户端设备102和服务器104,此处公开的诸实施例可使用很多这样的设备。

如上所简要讨论的,客户端设备102被配置为执行应用程序虚拟化客户端组件110。应用程序虚拟化客户端组件110是被配置为提供应用虚拟化环境的软件组件。在这个意义上,应用程序虚拟化客户端组件110被配置为执行虚拟化应用程序112。应用程序虚拟化客户端组件110提供使虚拟化应用程序112的执行与操作系统108a分开地被封装起来的功能。应用程序虚拟化客户端组件110还可提供使虚拟化应用程序112的执行与客户端设备102的其他应用程序和系统资源分开地被封装起来的功能。例如,应用程序虚拟化客户端组件110可将操作系统108a或客户端设备102的资源虚拟化。当虚拟化应用程序112尝试访问物理资源的时候,应用程序虚拟化客户端组件110将虚拟化资源呈现给应用程序112。以此方式,可以通过不对操作系统108a或客户端设备102所暴露的实际资源产生影响的方式执行虚拟化应用程序112。

根据其他方面,应用程序虚拟化客户端组件110还提供按需加载虚拟化应用程序112的部分的功能。具体地,应用程序虚拟化客户端组件110可与应用程序虚拟化服务器组件116协同操作,以将虚拟化应用程序112的所需要的部分从服务器104流传送至客户端设备102。以此方式,可在客户端设备102处按需访问虚拟化应用程序112。此外,由于可以仅仅将虚拟化应用程序112的所需部分从服务器104流传送至客户端设备102,所以可提供对虚拟化应用程序112的访问而不需要将整个应用程序112从服务器104流传送至客户端设备102。

有关应用程序虚拟化客户端组件110所提供的用于封装虚拟化应用程序112的执行以及用于将虚拟化应用程序112从服务器104流传送至客户端设备102的功能性的附加细节可在2007年5月29日提交的名为“systemsandmethodsfordeliveringcontentoveracomputernetwork(用于在计算机网络上递送内容的系统与方法)”的美国专利号为7,225,264的申请、在2007年4月3日提交的名为“methodandsystemforservingsoftwareapplicationstoclientcomputers(用于向客户端计算机供应软件应用程序的方法与系统)”的美国专利号为7,200,632的申请、在2008年11月11日提交的、名为“operatingsystemabstractionandprotectionlayer(操作系统抽象与保护层)”的美国专利号为7,451,451的申请、以及在2010年9月14日提交的名为“servingsoftwareapplicationsfromserversforclientcomputers(从服务器为客户端计算机供应软件应用程序)”的美国专利号为7,797,372的申请中找到,上述每个专利通过引用整体包含到本文。

应用程序虚拟化客户端组件110还被配置为提供对虚拟化应用程序112的基于策略的访问。在这个意义上,服务器104和客户端设备102可存储执行策略114。执行策略114定义可以或不可以执行虚拟化应用程序112的条件。例如,执行策略114可规定只有在客户端设备102处在特定地理区域内时才可执行虚拟化应用程序112。替换或组合地,执行策略114还可规定只有在一天的指定时间或每天的指定持续时间期间才可执行虚拟化应用程序112。

作为另一示例,执行策略114可规定只有在客户端设备102的某些计算资源不受限制时才可执行虚拟化应用程序112。例如,若客户端设备112没有一定量的中央处理单元或网络带宽可用,则执行策略114可规定不能执行虚拟化应用程序112。应该可以领会,执行策略114可以规定基于物理位置、时间、或其他因素的其他限制。还应领会,客户端设备102或服务器104的管理员可以设置执行策略114。

当在客户端设备102处收到执行虚拟化应用程序112的请求时,应用程序虚拟化客户端组件110被配置为评价执行策略114以确定是否可以执行应用程序112。为了评价执行策略114,应用程序虚拟化客户端组件110可与其他组件协作以获得评价执行策略114所需的数据。例如,应用程序虚拟化客户端组件110可与能够确定客户端设备102的物理位置的软件或硬件组件协同操作。

用于标识客户端设备102的位置的说明性技术包括蜂窝三角测量、全球定位系统(“gps”)位置、a-gps位置、基于无线信号强度的位置、基于有线信号强度的位置、基于网际协议地址的位置确定等等。应用程序虚拟化客户端组件110还可协同其他类型的组件操作以获得评价执行策略114所需的数据。如将在下文更详细地描述的,若应用程序虚拟化客户端组件110不能获得评价执行策略114所需的数据,则可禁止虚拟化应用程序112的执行。

应该领会,根据诸实施例,执行策略114的评价可以发生在客户端设备102、服务器104、或客户端设备102和服务器104的组合上。例如,在一种实现中,应用程序虚拟化客户端组件110被配置为请求应用程序虚拟化服务器组件116对执行策略114进行评价。若应用程序虚拟化服务器组件116不可用,则应用程序虚拟化客户端组件110可在客户端设备102上评价执行策略114。替换地,若没有应用程序虚拟化服务器组件116可供用于评价执行策略114,则应用程序虚拟化客户端组件110可禁止虚拟化应用程序112的执行。替换地,应用程序虚拟化客户端组件110可被配置为在没有来自服务器104的任何辅助的情况下在客户端设备102上评价执行策略114。

若应用程序虚拟化客户端组件110基于执行策略114确定虚拟化应用程序112可以执行,则应用程序虚拟化客户端组件110将公布虚拟化应用程序112以供使用。如上文简短地描述的,术语“公布”意指使虚拟化应用程序112可供在客户端设备102上作执行之用。例如,在一个实施例中,应用程序虚拟化客户端组件110通过确定虚拟化应用程序112是否被安装在客户端设备102上来公布虚拟化应用程序112。若虚拟化应用程序112被安装在客户端设备102上,则应用程序虚拟化客户端组件110使得虚拟化应用程序112可供执行。若虚拟化应用程序112未安装在客户端设备102上,则应用程序虚拟化客户端组件110可使虚拟化应用程序112从服务器104流传送至客户端设备102以用于执行。

应用程序虚拟化客户端组件110还被配置为在虚拟化应用程序112的执行期间评价执行策略114。例如,应用程序虚拟化客户端组件110可周期性地或不断地评价执行策略114以确保执行策略114是得到满足的。若应用程序虚拟化客户端组件110确定不再满足执行策略114,则应用程序虚拟化客户端组件110取消公布虚拟化应用程序112。例如,应用程序虚拟化客户端组件110可停止虚拟化应用程序112的执行并使应用程序112不可用于执行。应用程序虚拟化客户端组件110还可从客户端设备102上移除虚拟化应用程序112。若之后再次满足执行策略114,应用程序虚拟化客户端组件110可通过从服务器104向客户端设备102流传送虚拟化应用程序112重新公布虚拟化应用程序112。

如上文简短讨论的,若不能评价执行策略114则应用程序虚拟化客户端组件110也取消公布虚拟化应用程序112。例如,若执行策略114要求仅在特定地理区域内执行应用程序112但应用程序虚拟化客户端组件110不能确定该地理区域则也可取消公布虚拟化应用程序112。若客户端设备102之后返回到准许执行应用程序112的地理区域,则应用程序虚拟化客户端组件110可重新公布应用程序112以供执行。

根据其他方面,应用程序虚拟化客户端组件110被配置为存储供服务器104和客户端设备102的管理员使用的审核数据。例如,审核数据可包括标识虚拟化应用程序112的不允许的访问的数据、应用程序虚拟化客户端组件110取消公布应用程序112的条件、以及对组件110和116所提供的应用程序虚拟化环境的管理员有可能有帮助的其他信息。关于应用程序虚拟化客户端组件110、客户端设备102、和服务器104的操作的附加细节将在下文参照图2a-2b来提供。

图2a-2b是示出说明此处公开的用于对虚拟化应用程序的基于策略的访问的一个说明性过程的各方面的例程200的流程图。应当理解,参考图2a-2b以及其它附图所描述的逻辑操作被实现为(1)计算机实现的动作的序列或运行于计算系统上的程序模块,和/或(2)计算系统内的互连机器逻辑电路或电路模块。取决于计算系统的性能及其他要求,可以选择不同的实现。因此,此处所描述的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可用软件、固件、专用数字逻辑,及其任何组合来实现。还应该明白,可以执行比附图中示出并在此处描述的操作更多或更少的操作。这些操作还可以按与此处所描述的不同的次序来执行。

例程200在操作202处开始,此处应用程序虚拟化客户端组件110确定是否已经接收到执行虚拟化应用程序112的请求。例如,客户端设备102的用户可作出执行应用程序112的请求。若还未收到这样的请求,则例程200回到操作202,在此处进行另一次这样的判定。如果应用程序虚拟化客户端组件110确定已经接收到执行虚拟化应用程序112的请求,例程200从操作202行进至操作204。

在操作204,应用程序虚拟化客户端组件110尝试评价执行策略114。如上文所讨论地,应用程序虚拟化客户端组件110可利用其他组件提供的功能性来获得评价执行策略114所需的数据。例如,应用程序虚拟化客户端组件110可获得标识客户端设备102的地理位置、一天中的时刻、或评价执行策略114所需的其他信息的数据。例程200从操作204行进至操作206。

在操作206,应用程序虚拟化客户端组件110确定是否能够评价执行策略114。例如,如果诸如客户端设备102的地理位置之类的数据不可用,则应用程序虚拟化客户端组件110可能不能评价执行策略114。在其他实施例中,如果不能进行对服务器104的网络连接,则应用程序虚拟化客户端组件110也可能不能评价执行策略114。其他类型的因素也可能阻碍应用程序虚拟化客户端组件110评价执行策略114。

若不能评价执行策略114,则例程200从操作206行进至操作208。在操作208,应用程序虚拟化客户端组件110拒绝执行虚拟化应用程序112的请求。另外,如上讨论地,应用程序虚拟化客户端组件110可以存储关于虚拟化应用程序112的不允许访问的审核数据以及对应用程序虚拟化环境的管理员可能有帮助的其他信息。例程200从操作208行进至上文描述的操作202,在此处可以处理执行应用程序112的另一请求。

若执行策略114经过了应用程序虚拟化客户端组件110的评价,则例程200从操作206行进至操作210。在操作210做出关于是否满足执行策略114的确定。若不满足执行策略114,则例程200从操作210行进至操作208,在此处拒绝执行虚拟化应用程序112的请求。另外,如上所述,还可以存储审核数据。

若满足了执行策略114,则例程200行进至操作212,在此处应用程序虚拟化客户端组件110公布虚拟化应用程序112。如上文讨论的,为了公布应用程序112,应用程序虚拟化客户端组件110可确定应用程序112是否安装在客户端设备102上。若安装了应用程序112,则应用程序虚拟化客户端组件110可使虚拟化应用程序可供在客户端设备102上执行之用。若虚拟化应用程序112未安装在客户端设备102上,则应用程序虚拟化客户端组件110可使虚拟化应用程序112从服务器104流传送至客户端设备102以用于执行。一旦应用程序112已经被公布,例程200从操作212前进到操作214。

根据一个实现,应用程序虚拟化客户端组件110可被配置成每次取消公布应用程序112时存储虚拟化应用程序112的状态。例如,每次取消公布应用程序112,应用程序虚拟化客户端组件110可存储存储器、寄存器的内容、以及描述客户端设备102的资源的状态的数据。在此实现中,应用程序虚拟化客户端组件110可被配置成每次重新公布应用程序112时恢复虚拟化应用程序112先前保存的状态。例如,在例程200的操作214,应用程序虚拟化客户端组件110恢复虚拟化应用程序112先前保存的状态。以此方式,可在重新公布之际向客户端设备102的用户呈现与取消公布应用程序112时处于相同状态的虚拟化应用程序112。

从操作214,例程200行进至操作216,此处应用程序虚拟化客户端组件110使虚拟化应用程序112被执行。如上文讨论的,应用程序虚拟化客户端组件110提供用于使虚拟化应用程序112的执行与操作系统108、其他应用程序、以及系统资源分开地被封装的功能性。例程200从操作216行进至操作218。

在操作218,应用程序虚拟化客户端组件110在虚拟化应用程序112的执行期间尝试评价执行策略114。以此方式,即使在虚拟化应用程序112正在执行,应用程序虚拟化客户端组件110也能实施执行策略114所施加的限制。

从操作218,例程200行进至操作220,此处应用程序虚拟化客户端组件110确定是否能够评价执行策略114。例如,如上文讨论的,若无所需数据或不能建立至服务器104的连接,则应用程序虚拟化客户端组件110可能不能评价执行策略114。

若能够评价执行策略114,则例程200从操作220行进至操作222。在操作222,应用程序虚拟化客户端组件110确定是否满足执行策略114。若能够满足,则例程200从操作222行进至上文描述的操作216,在此处继续虚拟化应用程序112的执行。若不满足执行策略114,则例程200从操作222行进至操作224。另外,若应用程序虚拟化客户端组件110不能评价执行策略114则例程200从操作220行进至操作224。

在操作224,应用程序虚拟化客户端组件110存储虚拟化应用程序112的状态。如上文讨论的,应用程序虚拟化客户端组件110可存储存储器内容、寄存器内容、以及用于使虚拟化应用程序112在重新公布后返回至其当前状态所需的其他信息。一旦已经存储了虚拟化应用程序112的状态,例程200行进至操作226。

在操作226,应用程序虚拟化客户端组件110取消公布虚拟化应用程序112。如上文简短讨论的,应用程序虚拟化客户端组件110可通过使应用程序112不能供在客户端设备102上执行之用来取消公布虚拟化应用程序112。应用程序虚拟化客户端组件110还可从客户端设备102上移除虚拟化应用程序112及其状态。在下一次执行虚拟化应用程序112时可从服务器104向客户端设备102流传送虚拟化应用程序112。

应用程序虚拟化客户端组件110还可在操作226存储关于应用程序112的不允许访问、取消公布应用程序112的条件、以及对客户端设备102和服务器104的管理员可能有帮助的其他信息的审核数据。例程200从操作226行进至上述操作202,在此处按照上述方式处理对应用程序112的另外请求。

图3是示出用于能够实现本文所提出的各种实施例的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。图3示出的计算机体系结构说明了传统台式计算机、膝上计算机,或服务器计算机,并可被用来执行此处描述的各种软件组件。

图3所示的计算机体系结构包括中央处理单元302(“cpu”)、包括随机存取存储器314(“ram”)和只读存储器(“rom”)316的系统存储器308、以及将存储器耦合至cpu302的系统总线304。包含诸如在启动时有助于在计算机300内的元件之间传输信息的基本例程的基本输入/输出系统(“bios”)被存储在rom316中。计算机300还包括用于存储操作系统318、应用程序和其他程序模块的大容量存储设备310,这将在以下更为详细地描述。

大容量存储设备310通过连接至总线304的大容量存储控制器(未示出)连接到cpu302。大容量存储设备310及其相关联的计算机可读存储介质为计算机300提供非易失性的存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或cd-rom驱动器等大容量存储设备,但本领域的技术人员应当理解,计算机可读介质可以是可由计算机300访问的任何可用计算机存储介质。

作为示例而非限制,计算机可读存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据的信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机可读存储介质包括,但并不限于,ram、rom、eprom、eeprom、闪存或其他固态存储器技术,cd-rom、数字多功能盘(“dvd”)、hd-dvd、蓝光或其他光学存储,磁带盒、磁带、磁盘存储器或其他磁存储设备,或可以用来存储所需信息并可由计算机300访问的任何其他非瞬态介质。

可以理解,此处的计算机可读介质也包括通信介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”是指其一个或多个特征以在信号中对信息进行编码的方式来设置或改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、rf、红外及其他无线介质之类的无线介质。上述中任一组合也应包括在计算机可读介质的范围之内。计算机可读存储介质不包括通信介质。

根据各实施例,计算机300可以使用通过诸如网络320之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机300可以通过连接至总线304的网络接口单元306来连接到网络320。应当理解,网络接口单元306还可以被用来连接到其他类型的网络和远程计算机系统。计算机300还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器312,这些设备包括键盘、鼠标或者电子指示笔(未在图3中示出)。类似地,输入/输出控制器可以提供至显示屏、打印机或其他类型的输出设备(也未在图3中示出)的输出。

如前简述的那样,多个程序模块和数据文件可以存储在计算机300的大容量存储设备310和ram314内,包括适于控制联网的台式、膝上型或服务器计算机的操作的操作系统318。大容量存储设备310和ram314还可以存储一个或多个程序模块。具体而言,大容量存储设备310和ram314可存储虚拟化应用程序112、应用程序虚拟化客户端组件110、和/或上述的其他软件组件。大容量存储设备310和ram314还可存储其他程序模块和数据,诸如执行策略114。

一般而言,软件应用或模块在加载到cpu302中并执行时,可将cpu302和整个计算机300从通用计算系统转换成被定制成执行此处所呈现功能的专用计算系统。cpu302可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地说,cpu302可以响应软件或模块内包含的可执行的指令,作为一个或多个有限状态机来操作。这些计算机可执行的指令可以通过指定cpu302如何在多个状态之间转换来转换cpu302,从而在物理上转换构成cpu302的晶体管或其他分立的硬件元件。

通过将软件或模块编码到大容量存储设备上,还可转换大容量存储设备或相关联的计算机可读存储介质的物理结构。在本说明书的不同实现中,物理结构的具体转换可取决于各种因素。这些因素的示例包括但不限于:用来实现计算机可读存储介质、计算机可读存储介质是否被表征为主存储还是次级存储等技术。例如,如果计算机可读取的存储介质是作为基于半导体的存储器实现的,则当软件被编码到其中时,软件或模块可以转换半导体存储器的物理状态。例如,软件可以转换构成半导体存储器的晶体管、电容器或其他分立的电路元件的状态。

作为另一个示例,计算机可读存储介质可以使用磁性或光学技术来实现。在这样的实现方式中,当软件被编码到其中时,软件或模块可以转换磁性或光学介质的物理状态。这些转换可以包括改变给定磁性介质内的特定位置的磁性。这些转换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他转换也是可以的,前面提供的示例只是为了便于此讨论。

基于前述内容,应当理解,在此已经提出了用于对虚拟化应用程序的基于策略的访问的技术。虽然以计算机结构特征、方法动作、以及计算机可读介质专用的语言描述了本文呈现的主题,但是应该理解,在所附权利要求书中所限定的本发明不一定仅限于本文描述的具体特征、动作、或介质。相反,这些具体特征、动作和介质是作为实现权利要求的示例形式来公开的。

上述主题仅作为说明提供,并且不应被解释为限制。可对此处所述的主题作出各种修改和改变,而不必遵循所示和所述的示例实施例和应用,且不背离所附权利要求书中所述的本发明的真正精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1