CN104487959A - 虚拟机的安全管理 - Google Patents

虚拟机的安全管理 Download PDF

Info

Publication number
CN104487959A
CN104487959A CN201380032978.XA CN201380032978A CN104487959A CN 104487959 A CN104487959 A CN 104487959A CN 201380032978 A CN201380032978 A CN 201380032978A CN 104487959 A CN104487959 A CN 104487959A
Authority
CN
China
Prior art keywords
request
resource
server
virtual
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380032978.XA
Other languages
English (en)
Other versions
CN104487959B (zh
Inventor
迈克尔·欣斯顿·麦克劳夫林·博赛尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Citrix Systems Inc
Original Assignee
Citrix Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Citrix Systems Inc filed Critical Citrix Systems Inc
Publication of CN104487959A publication Critical patent/CN104487959A/zh
Application granted granted Critical
Publication of CN104487959B publication Critical patent/CN104487959B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文提供了用于执行虚拟域资源分配的安全管理的方法和***。云服务提供商(CSP)可向一个或多个签约用户实体提供虚拟机实例。云服务提供商可存储识别了一个或多个资源(例如存储器、CPU等等)的授权数据库,授权不同的签约用户实体中的每个签约用户实体在虚拟机服务器装置上使用一个或多个资源。随后,CSP可接收来自未经核实的实体的请求以用访问一个或多个资源来实例化虚拟机。该请求可包括安全信息。通过使用第一安全信息核实未经核实的实体(例如,检查PKI证书,要求登录/密码等等),CSP验证该请求,并且当该请求通过验证时,根据授权数据库,提供经核实实体对所请求的一个或多个资源的子集的访问。

Description

虚拟机的安全管理
相关申请的交叉引用
本申请要求于2012年4月25日提交的名称为“虚拟机的安全管理(SecureAdministration ofVirtual Machines)”的序列号为13455221的美国专利申请的优先权,针对所有目的,其通过引用并入本文。
领域
本申请通常涉及计算机和计算机网络。特别地,本申请涉及用于安全管理虚拟机和对访问域的能力进行分配的方法和***。
背景
传统上,个人计算机包括操作***、应用程序以及关于单个用户的用户设置。个人计算机通常被它们的所有者使用和管理。然而,许多组织现在正在使用虚拟化、远程访问和/或云计算资源来满足他们的计算需求。云虚拟化计算资源通常允许在单个物理机器上包含有操作***、应用程序和多个用户的用户设置。桌面虚拟化技术允许操作***的多个实例保持分离,因此一个用户的活动不会影响到其它用户的体验。云计算环境允许云操作员所拥有的计算机由云操作员管理但由云用户使用,云用户可以是云操作员的客户。然而,每个虚拟机或装置的设置和管理是耗时且乏味的过程。
概要
根据前面的背景,下面呈现本公开内容的简化概述,以便提供本文所描述的一些方面的基本理解。本概要并非广泛的描述,并且并非旨在识别主要或关键元件,或者记述权利要求的范围。下面的概要仅以简化形式来呈现各个描述的方面,作为下面提供的更为详细描述的铺垫。
根据本公开的一个方面,诸如虚拟服务器的装置可(例如利用软件)配置成接收来自未经核实的实体的请求以向虚拟机的第一个实例提供对一个或多个资源的访问权限。这个请求包括用于验证这个请求的安全信息。当这个请求通过验证时,根据在授权数据库中的信息,虚拟服务器向经核实实体提供对一个或多个所请求的资源的子集的访问权限。授权数据库识别多个实体中的每一个实体经授权以在虚拟服务器上使用的一个或多个资源。本文所描述的方面可选择地实施为方法,或者实施为存储在计算机存储介质或在装置上的内存中的计算机可读指令。根据一些方面,当资源不被许可或者在虚拟服务器上不可用时,可自动地选择或者使用替代资源,或者拒绝访问。
根据一些方面,核实未经核实的实体包括确定这个请求是否使用与未经核实的实体相对应的证书(例如加密签名的PKI证书)来签名。
根据一些方面,受控资源可包括通过执行至少如下之一来改变虚拟机状态的资源:实例化虚拟机,休眠虚拟机,以及重新启动正在休眠的虚拟机。根据其它方面,受控资源可修改已实例化虚拟机的一个或多个权力。
根据各个方面,可使用资源约束,例如基于时间的约束,以及/或者基于关联的约束(约束允许实例化在相同的虚拟服务器上的虚拟机的共同租户)。
附图简述
因此,已经概括地描述了本公开的方面,现在将参照附图,这些附图并不必须按比例绘制,并且在附图中:
图1示出了其中可实施本公开的各个方面的示例操作环境。
图2示出了可根据本文所描述的一个或多个说明性方面而使用的计算装置。
图3示出了可根据本文所描述的一个或多个说明性方面而使用的计算装置。
图4是根据本文所描述的一个或多个说明性方面描绘了虚拟服务器的实施方式的框图。
图5示出了根据本文所描述的一个或多个方面来执行安全管理的方法。
详细描述
在各个实施方式的下面描述中,参照构成本文一部分的附图,并且在附图中通过说明各个实施方式来表示,在这些实施方式中可以实施本文所描述的方面。应当理解,可使用其它的实施方式,并且可进行结构修改和功能修改,而不会脱离本公开的范围和精神。
当阅读下面的公开时,如本领域的技术人员应当了解,本文所描述的各个方面可表现为一种方法、一种数据处理***、或者计算机程序产品。因此,这些方面采用的形式可以是整个硬件的实施方式,整个软件的实施方式,或者结合软件和硬件方面的实施方式。此外,这些方面可采用的形式为通过一个或多个计算机可读存储介质来存储的计算机程序产品,其具有具体实现在存储介质内或上的计算机可读程序代码或者指令。可使用任何适合的计算机可读存储介质,包括硬盘、CD-ROM、光学存储装置、磁存储装置以及/或者这些装置的任何组合。此外,表示如本文所描述的数据或事件的各种信号可以穿过信号传导介质(例如金属导线、光纤以及/或者无线传输介质(例如空气和/或空间))的电磁波的形式在源和目的之间传递。
图1示出了在示例计算环境100中的根据本公开的一个或多个说明性实施方式可使用的通用计算装置101(例如计算机服务器106a)的示例框图。根据一个或多个方面,通用计算装置101可以是在单个服务器的桌面虚拟化***(例如云***)或者多个服务器的桌面虚拟化***(例如云***)中的服务器106a,其配置成向客户访问装置提供虚拟机。通用计算装置101可具有用于控制服务器以及其相关组件(包括随机访问存储器(RAM)105、只读存储器(ROM)107、输入/输出(I/O)模块109和存储器115)的全部操作的处理器103。
I/O模块109可包括鼠标、键盘、触摸屏、扫描仪、光学阅读机和/或触控笔(或者其它输入装置),通过这些装置,通用计算装置101的使用者可提供输入,I/O模块109还可以包括用于提供音频输出的一个或多个扬声器和用于提供文本、音视频和/或图形化输出的视频显示装置。软件可存储在内存115内和/或其它存储器内以向处理器103提供指令使得通用计算装置101能够执行各个功能。例如,内存115可存储通用计算装置101所使用的软件,例如操作***117、应用程序119以及有关数据库121。可选择地,通用计算装置101的计算机可执行指令中的一些或全部计算机可执行指令可具体体现在硬件或固件(未显示)中。
通用计算装置101可运行于网络环境中,该网络环境支持连接到一个或多个远程计算机,例如终端140(还被称作客户端装置)。终端140可以是包括关于通用计算装置101的上面描述的元件中的多个或全部元件的个人计算机或者服务器。图1中所描绘的网络连接包括局域网(LAN)125和广域网(WAN)129,但是还可以包括其它网络。当在LAN环境中使用时,通用计算装置101可通过网络接口或适配器123连接至LAN 125。当在WAN环境中使用时,通用计算装置101可包括用于在WAN 129(例如计算机网络130(例如因特网))上建立通信的调制解调器127或者其它网络接口。应当理解的是,所示的网络连接是说明性的,并且可使用在这些计算机之间建立通信链接的其它装置。
通用计算装置101和/或终端140还可以是包括各种其它组件(例如电池、扬声器和天线(未显示))的移动终端(例如移动电话、智能电话、PDA、笔记本电脑等等)。
本公开运行在许多其它通用或专用的计算***环境或配置中。适于与本公开一起使用的众所周知的计算***、环境和/或配置的示例包括,但并不限制于,个人计算机、服务器计算机、手持或笔记本电脑装置、多处理器***、基于微处理器的***、机顶盒、可编程消费电子设备、网络PC、小型计算机、大型计算机、包括任何上面***或装置中的任何***或装置的分布式计算环境以及类似物。
如图1中所示,一个或多个客户端装置140可与一个或多个服务器106a-106n(在此通常称为“服务器106”)进行通信。在一个实施方式中,计算环境100能够包括安装在服务器106和客户机140之间的器具。该器具能够管理客户端/服务器连接,并且在一些情况下,能够对客户端与多个后端服务器106之间的连接进行负载平衡。
在一些实施方式中,客户机140被称作单个客户机140或者单组客户机140,而服务器106可称作单个服务器106或者单组服务器106。在一个实施方式中,单个客户机140与一个以上的服务器106进行通信,而在另一个实施方式中,单个服务器106与一个以上的客户机140进行通信。在又一个实施方式中,单个客户机140与单个服务器106进行通信。
在一些实施方式中,客户机140可称作下面术语中的任何一个术语:客户机140;客户端;客户计算机;客户装置;客户计算装置;本地机器;远程机器;客户端节点;终端;终端节点;或者第二机器。在一些实施方式中,服务器106可称作下面术语中的任何一个术语:服务器;本地机器;远程机器;服务器集群;主机计算装置;或者第一机器。
在一个实施方式中,客户机140可以是虚拟机。该虚拟机可以是任何虚拟机,而在一些实施方式中,虚拟机可以是由Citrix System、IBM、VMware开发的管理程序或者任何其它管理程序来管理的任何虚拟机。在一些方面,虚拟机可由管理程序来管理,而在方面中,虚拟机可由在服务器106上执行的管理程序或者在客户端140上执行的管理程序来管理。
客户机140可执行、运行或者以其它方式提供应用程序,该应用程序可以是如下的任何一种:软件;程序;可执行指令;虚拟机;管理程序;网页浏览器;基于网络的客户端;客户端-服务器应用程序;瘦客户机的计算客户端;ActiveX控件;Java小程序;与类似于软件IP电话的互联网协议电话(VoIP)通信有关的软件;用于视频流和音频流的应用程序;便于实时数据通信的应用程序;HTTP客户端;FTP客户端;Oscar客户端;远程登录(Telnet)客户端;或者其它任何的可执行指令集。又其它的实施方式包括显示应用程序输出的客户端装置140,该应用程序输出通过在服务器106或者其它远程机器上远程执行的应用程序来生成。在这些实施方式中,客户装置140能够将应用程序输出显示在应用程序窗口、浏览器或者其它的输出窗口中。在一个示例中,应用程序是桌面,而在其它示例中,应用程序是生成桌面的应用程序。桌面可包括向操作***的实例提供用户接口的图形壳,本地和/或远程的应用程序可集成在该操作***中。如本文所使用的应用程序是在已经加载操作***的实例(并且还可选地为桌面)之后执行的程序。
服务器106在一些实施方式中执行远程演示客户端或其它客户端或程序,该程序使用瘦客户端或者远程显示协议来捕获由在服务器106上执行的应用程序生成的显示输出,并且将应用程序显示输出传输到远程客户端140。瘦客户端或者远程显示协议可以是如下协议中的任何一种协议:由Ft.Lauderdale,Florida的Citrix System,Inc制作的独立计算体系结构(ICA)协议;或者由Redmond,Washington的微软公司制作的远程桌面协议(RDP)。
计算环境可以包括一个以上的服务器106A-106N,使得服务器106A-106N从逻辑上例如在云计算环境中一同组成服务器集群106。服务器集群106能够包括在地理上分散并且在逻辑上一同组成服务器集群106的服务器106或彼此相邻放置并且在逻辑上一同组成服务器集群106的服务器106。在一些实施方式中,在服务器集群106内的地理上分散的服务器106A-106N能够使用WAN、MAN或LAN进行通信,其中不同地理区域可以特点在于:不同的大洲;大洲的不同区域;不同的国家;不同的州;不同的城市;不同的校园;不同的房间;或者上面这些地理位置的任何组合。在一些实施方式中,服务器集群106可作为单个实体来管理,而在其它实施方式中,服务器集群106能够包括多个服务器集群106。
在一些实施方式中,服务器集群106能够包括执行基本相同类型的操作***平台(例如,由Redmond,Washington的微软公司制作的WINDOWSNT,UNIX,LINUX或者SNOW LEOPARD)的服务器106。在其它实施方式中,服务器集群106能够包括执行第一类型的操作***平台的第一组服务器106,以及执行第二类型的操作***平台的第二组服务器106。服务器集群106在其它实施方式中能够包括执行不同类型的操作***平台的服务器106。
服务器106在一些实施方式中可以是任何服务器类型。在其它实施方式中,服务器106可以是如下服务器类型中的任何一种服务器类型:文件服务器;应用程序服务器;网络服务器;代理服务器;器具;网络器具;网关;应用程序网关;网关服务器;虚拟服务器;部署服务器;SSL VPN服务器;防火墙;网络服务器;应用程序服务器或者作为主应用程序服务器;执行活动目录的服务器106;或者执行提供了防火墙功能、应用程序功能或负载平衡功能的应用程序加速程序的服务器106。在一些实施方式中,服务器106可以是RADIUS服务器,该服务器包括远程认证拨号用户服务。在其中服务器106包括器具的实施方式中,服务器106可以是由如下制造商中的任何一个制造商制作的器具:Citrix Application NetworkingGroup;Silver Peak Systems,Inc.;Riverbed Technology,Inc.;F5Networks,Inc.;或者Juniper Networks,Inc.。一些实施方式包括第一服务器106A,其接收客户机140的请求,将该请求转发至第二服务器106n,并且用来自第二服务器106n的应答来响应由客户机140产生的请求。第一服务器106A能够获得客户机140可用的应用程序的枚举,以及与应用程序服务器106有关的地址信息,该应用程序服务器106托管在应用程序的枚举中经确认的应用程序。第一服务器106A然后能够使用网络界面来呈现对客户机请求的响应,并且直接与客户机140进行通信以提供客户机140对经识别的应用程序的访问。
服务器106在一些实施方式中可以执行如下应用程序中的任何一个应用程序:使用瘦客户端协议以将应用程序显示数据传输到客户端的瘦客户端应用程序;远程显示演示应用程序;Citrix System,Inc.的类似于METAFRAME或者CITRIX PRESENTATION SERVER的CITRIXACCESSSUITE的任何部分;微软公司制作的MICROSOFT WINDOWS TerminalServices;或者由Citrix System,Inc.开发的ICA客户端。另一个实施方式包括服务器106,其为应用程序服务器,例如:提供诸如由微软公司制作的MICROSOFT EXCHANGE的电子邮件服务的电子邮件服务器;网络或因特网服务器;桌面共享服务器;协同服务器;或者任何其它类型的应用程序服务器。另外其它实施方式包括服务器106,其执行如下类型的托管服务器应用程序中的任何一种托管服务器应用程序:由Citrix Online Division,Inc.提供的GOTOMEETING;由Santa Clara,California的WebEx,Inc.提供的WEBEX;或者由微软公司提供的Microsoft Office LIVE MEETING。
客户机140在一些实施方式中可以是寻求访问服务器106提供的资源的客户机节点。在其它实施方式中,服务器106可提供客户机140或者客户机节点对所托管的资源的访问。服务器106在一些实施方式中用作主节点,使得它与一个或多个客户机140或服务器106进行通信。在一些实施方式中,主节点能够识别并且将与托管所请求的应用程序的服务器106有关的地址信息提供到一个或多个客户机140或服务器106。在另外其它的实施方式中,主节点可以是服务器集群106、客户机140、一群客户机节点140或者器具。
一个或多个客户机140和/或一个或多个服务器106能够在网络130上传输数据,网络130安装在计算环境100内的机器和器具之间。网络130能够包括一个或多个子网络,并且能够被安装在包含于计算环境100内的客户机140、服务器106、计算机器和器具的任何组合之间。在一些实施方式中,网络130可以是:局域网(LAN);城域网(MAN);广域网(WAN);包括位于客户机140和服务器106之间的多个子网络的主网络104;具有私有子网络的主公共网络130(例如因特网);具有公共子网络的主私有网络130;或者具有私有子网络的主私有网络130。仍然另外的实施方式包括网络130,其可以是如下网络类型中的任何网络类型:点对点网络;广播网;电信网络;数据通信网络;计算机网络;ATM(异步传输模式)网络;SONET(同步光纤网)网络;SDH(同步数字系列)网络;无线网络;有线网络;或者包括无线链接的网络,其中该无线链接可以是红外线通道或卫星频带。网络130的网络拓扑结构能够在不同的实施方式中不同,可能的网络拓扑结构包括:总线网络拓扑结构;星形网络拓扑结构;环形网络拓扑结构;基于中继器的网络拓扑结构;或者层列式星形网络拓扑结构。附加的实施方式可包括使用协议以在移动装置之间进行通信的移动电话网络的网络,其中协议可以是如下的任何一种:AMPS;TDMA;CDMA;GSM;GPRS UMTS;或者能够在移动装置之间传输数据的任何其它协议。
图2中示出了计算装置200的实施方式,其中在图1中示出的客户机140和服务器106可部署为和/或执行在本文示出和描述的计算装置200的任何实施方式上。包含在计算装置200内的是***总线250,其与如下组件进行通信:中央处理器221;主存储器222;存储内存228;输入/输出(I/O)控制器223;显示装置224A-224N;安装装置216;以及网络接口218。在一个实施方式中,存储内存228包括:操作***,软件程序,以及客户端代理220。I/O控制器223在一些实施方式中还连接到键盘226以及指示装置227。其它实施方式可包括连接到一个以上的输入/输出装置230A-230N的I/O控制器223。
图3示出了计算装置300的一个实施方式,其中在图1中示出的客户机140和服务器106可部署为和/或执行在本文说明和描述的计算装置300的任何实施方式上。包含在计算装置300内的是***总线350,其与以下组件进行通信:桥接器370,以及第一I/O装置330a。在另一个实施方式中,桥接器370还与主中央处理器321进行通信,其中中央处理器321还能够与第二I/O装置330b、主内存322以及缓存内存340进行通信。包含在中央处理单元321内的是I/O端口、内存端口303和主处理器。
计算机器300的实施方式可包括中央处理单元321,其特征为以下组件配置中的任何一个组件配置:逻辑电路,其响应且处理从主存储单元322中取出的指令;微处理单元,例如:由Intel公司制作的那些微处理单元;由Motorola公司制作的那些微处理单元;由Santa Clara,California的Transmeta公司制作的那些微处理单元;RS/6000处理器,例如由International Business Machines制作的那些RS/6000处理器;处理器,例如由Advanced Micro Devices制作的那些处理器;或者任何其它的逻辑电路的组合。中央处理单元322的另外其它的实施方式可包括如下的任何组合:微处理器,微控制器,具有单个处理核心的中央处理单元,具有两个处理核心的中央处理单元,或者具有一个以上处理核心的中央处理单元。
虽然图3示出了包括单个中央处理单元321的计算装置300,但是在一些实施方式中,计算装置300可包括一个或多个处理单元321。在这些实施方式中,计算装置300可存储和执行固件或其它可执行指令,当该可执行指令被执行时指导一个或多个处理单元321同时执行指令或者同时执行在单个数据段上的指令。在其它实施方式中,计算装置300可存储和执行固件或其它可执行指令,当该可执行的指令被执行时指导一个或多个处理器321各自执行一组指令的一部分。例如,每个处理单元321可以被指示以执行程序的一部分或者在程序内的特定模块。
在一些实施方式中,处理单元321可包括一个或多个处理核心。例如,处理单元321可具有两个核心、四个核心、八个核心等等。在一个实施方式中,处理单元321可包括一个或多个并联的处理核心。在一些实施方式中,处理单元321的处理核心可以访问作为全局地址空间的可用内存,或者在其它实施方式中,在计算装置300内的内存能够被分段,并且分配到处理单元321内的特定核心。在一个实施方式中,在计算装置300中的一个或多个处理核心或者处理器能够各自地访问本地内存。在另一个实施方式中,在计算装置300内的内存能够被一个或多个处理器或处理核心之中共享,而其它的内存能够被特定的处理器或者处理器的子集访问。在计算装置300包括一个以上的处理单元的实施方式中,多个处理器能够包含在单个集成电路(IC)中。这些多个处理器在一些实施方式中能够通过内部高速总线链接在一起,内部高速总线可被称作元件互连总线。
其中在计算装置300包括一个或多个处理单元321或者包含一个或多个处理核心的处理单元321的实施方式中,处理器能够在多个数据段上同时执行单个指令(SIMD),或者在其它实施方式中,能够在多个数据段上同时执行多个指令(MIMD)。在一些实施方式中,计算装置100能够包括任何数量的SIMD处理器和MIMD处理器。
计算装置300在一些实施方式中可包括图形处理器或者图形处理单元(未显示)。图形处理单元能够包括软件和硬件的任何组合,并且还能够输入图形数据和图形指令,根据所输入的数据和指令来呈现图形,并且输出所呈现的图形。在一些实施方式中,图形处理单元可以被包含于处理单元321内。在其它实施方式中,计算装置300可包括一个或多个处理单元321,其中至少一个处理单元321专用于处理图形和呈现图形。
计算机器300的一个实施方式包括中央处理单元321,其通过次总线(也被称为背面总线)与缓存内存340进行通信,而计算机器300的另一个实施方式包括中央处理器321,其通过***总线350与缓存内存进行通信。在一些实施方式中,中央处理单元还能够使用本地***总线350来与一种以上的I/O装置330a-330n进行通信。在一些实施方式中,本地***总线350可以是以下类型的总线的任何一个类型:VESAVL总线;ISA总线;EISA总线;微通道架构(MCA)总线;PCI总线;PCI-X总线;PCI-Express总线;或者NuBus。计算机器300的其它实施方式包括I/O装置330a-330n,其包括与中央处理单元321进行通信的视频显示器224。计算机器300的另外其它的版本包括通过以下连接中的任何一个连接与I/O装置330a-330n相连接的处理器321:超传输总线,快速I/O,或者无限带宽。计算装置300的另外的实施方式包括处理器321,该处理器321使用本地互联总线与一个I/O装置330a进行通信,并且使用直接连接与第二I/O装置330b进行通信。
在一些实施方式中,计算装置300包括主存储单元322和缓存内存340。缓存内存可以是任何内存类型,并且在一些实施方式中,可以是以下类型内存中的任何一种:SRAM;BSRAM;或者EDRAM。其它实施方式包括缓存内存340和主存储单元322,主存储单元322可以是以下类型内存中的任何一种:静态随机访问存储器(SRAM),突发SRAM或者同步突发SRAM(BSRAM);动态随机访问存储器(DRAM);快速页面模式DRAM(FPM DRAM);增强型DRAM(EDRAM),扩展数据输出RAM(EDO DRAM);扩展数据输出DRAM(EDO DRAM);突发式扩展数据输出DRAM(BEDO DRAM);增强型DRAM(EDRAM);同步DRAM(SDRAM);JEDEC SRAM;PC100SDRAM;双倍数据速率SDRAM(DDRSDRAM);增强型SDRAM(ESDRAM);同步链接DRAM(SLDRAM);直接RambusDRAM(DRDRAM);铁电RAM(FRAM);或者任何其它类型的内存。另外的实施方式包括中央处理单元321,该中央处理单元321能够通过以下部件访问主内存322:***总线350;内存端口303;或者允许处理器321访问内存322的任何其它连接、总线或者端口。
计算装置200/300的一个实施方式为以下的安装装置216中的任何一个安装装置提供支持:CD-ROM驱动器,CD-R/RW驱动器,DVD-ROM驱动器,各种格式的磁带驱动器,USB装置,可引导的介质,可引导的CD,用于诸如的GNU/Linux分配的可引导CD,硬盘驱动器,或者适合于安装应用程序或软件的任何其它装置。在一些实施方式中,应用程序可包括客户端代理220,或者客户端代理220的任何部分。计算装置200/300还可以包括存储装置228,该存储装置228可以是一个或多个硬盘驱动器,或者是独立磁盘的一个或多个冗余阵列;其中存储装置被配置成存储操作***、软件、程序应用程序或者客户端代理220的至少一部分。计算装置200、300的另外的实施方式包括用作存储装置228的安装装置216。
计算装置200、300还可以包括通过各种连接连接到局域网(LAN)、广域网(WAN)或因特网的网络接口218,各个连接包括但并不限制于,标准电话线、LAN或者WAN链接(例如,802.11、T1、T3、56kb、X.25、SNA、DECENT)、宽带连接(例如,ISDN、帧中继、ATM、千兆以太网、同步光纤以太网(Ethernet-over-SONET)),无线连接,或者以上所述的连接中的任何或所有连接的一些组合。利用各种通信协议(例如,TCP/IP、IPX,SPX、NetBIOS、以太网、ARCENT、SONET、SDH、光纤分布数据接口(FDDI)、RS232、RS485、IEEE 802.1 1、IEEE 802.1 1a、IEEE 802.1 1b、IEEE 802.1 1g、CDMA、GSM、WiMax以及直接异步连接)也能够建立连接。计算装置200、300的一个版本包括网络接口218,其能够通过任何类型和/或形式的网关协议或通道协议(例如安全套接层(SSL)或传输层安全(TLS)、或者由Citrix System,Inc.制作的Citrix网关协议)来与附加的计算装置200'、300'进行通信。网络接口218的版本可包括以下任何一种:内置的网络适配器;网络接口卡;PCMCIA网卡;卡总线网络适配器;无线网络适配器;USB网络适配器;调制解调器;或者适合于将计算装置200、300连接至能够通信且执行本文所描述的方法和***的网络的任何其它装置。
计算装置200、300的实施方式包括以下I/O装置230a-230n中的任何一个I/O装置:键盘226;指示装置227;鼠标;触控板;光学笔;跟踪球;扩音器;绘图板;视频显示器;扬声器;喷墨打印机;激光打印机;以及染色升华打印机;或者能够执行本文所描述的方法和***的任何其它输入/输出装置。在一些实施方式中,I/O控制器223可连接多个I/O装置230a-230n以控制一个或多个I/O装置。I/O装置230a-230n的一些实施方式可被配置成提供存储器或安装介质216,而其它实施方式可提供通用串行总线(USB)接口来接入USB存储装置(例如由Twintech Industry,Inc.制作的装置的USB闪存驱动线)。另外其它的实施方式包括I/O装置230,其可以是在***总线250和外部通信总线(例如:USB总线)之间的桥接器;苹果桌面总线;RS232串行连接;SCSI总线;火线(Fire Wire)总线;火线(FireWire)800总线;以太网总线;AppleTalk总线;千兆以太网总线;异步传输模式总线;HIPPI总线;Super HIPPI总线;SerialPlus总线;SCI/LAMP总线;FibreChannel总线;或者串行连接的小型计算机***接口总线。
在一些实施方式中,计算机器200、300能够连接多个显示装置224a-224n,在其它实施方式中,计算机器100能够连接到单个显示装置224,而在另外其它的实施方式中,计算装置200、300连接到相同类型或形式的显示器的显示装置224a-224n,或者连接到不同类型或形式的显示器的显示装置。利用如下装置,能够支持和使能显示装置224a-224n的实施方式:一个或多个I/O装置230a-230n;I/O控制器223;I/O装置230a-230n和I/O控制器223的组合;能够支持显示装置224a-224n的硬件和软件的任何组合;任何类型和/或形式的视频适配器、视频卡、驱动器、以及/或以接合、通信、连接或其它方式使用显示装置224a-224n的库。在一些实施方式中,计算装置200、300可被配置成使用一个或多个显示装置224A-224N,这些配置包括:具有多个连接器以接合到多个显示装置224A-224N;具有多个视频适配器,每个视频适配器连接到显示装置224A-224N中的一个或多个显示装置;具有配置成支持多个显示器224A-224N的操作***;使用包含于计算装置200内的电路和软件以连接到多个显示装置224A-224N并且使用多个显示装置224A-224N;以及执行在主计算装置200和多个次级计算装置上的软件以启动主计算装置200以使用次级计算装置的显示器作为用于主计算装置200的显示装置224A-224N。计算装置200的另外其它的实施方式可包括多个显示装置224A-224N,该多个显示装置224A-224N由多个次级计算装置提供并且通过网络连接到主计算装置200。
在一些实施方式中,计算机器200能够执行任何操作***,而在其它实施方式中,计算机器200能够执行以下任何操作***中的任何操作***:MICROSOFT WINDOWS操作***的版本,例如WINDOWS 3.x;WINDOWS 95;WINDOWS 98;WINDOWS 2000;WINDOWS NT 3.51;WINDOWS NT 4.0;WINDOWS CE;WINDOWS XP;以及WINDOWSVISTA;Unix操作***和Linux操作***的不同发布;由苹果计算机(AppleComputer)制作的MAC OS的任何版本;由国际商用机器(InternationalBusiness Machines)制作的OS/2;任何嵌入式操作***;任何实时操作***;任何开源操作***;任何专有的操作***;用于移动计算装置的任何操作***;或者任何其它的操作***。在另一个实施方式中,计算机器200能够执行多个操作***。例如,计算机器200能够执行PARALLELS或者另一个虚拟化平台,该虚拟化平台能够执行或管理执行第一操作***的虚拟机,同时计算机器200执行不同于第一操作***的第二操作***。
计算机器200能够具体体现为以下计算装置中的任何一个计算装置:计算工作站;桌面计算机;便携式电脑或笔记本电脑;服务器;手提电脑;移动电话;便携式电信装置;媒体播放装置;游戏***;移动计算装置;上网本;由苹果计算机(Apple Computer)制作的IPOD系列装置中的装置;由索尼(Sony)公司制作的PLAYSTATION系列装置中的任何一个装置;由任天堂(Nintendo)公司制作的Nintendo系列装置中的任何一个装置;由微软公司制作的XBOX系列装置中的任何一个装置;或者任何其它类型和/或形式的计算、通信或媒体装置,这些装置能够通信并且具有充足的处理器能力和存储器容量以执行本文所描述方法和***。在其它实施方式中,计算机器100可以是移动装置,例如以下移动装置中的任何一个移动装置:支持JAVA的移动电话或者个人数字助理(PDA),例如i55sr,i58sr,i85s,i88s,i90c,i95cl,或者im1100,所有这些装置都由摩托罗拉(Motorola)公司制作;由京瓷(Kyocera)制作的6035或7135;由Samsung ElectronicsCo.,Ltd制作的i300或i330;由Palm,Inc制作的TREO 180、270、600、650、680、700p、700w或者750智能电话;具有不同处理器、操作***、与装置相一致的输入装置的任何计算装置;或者能够执行本文所描述的方法和***的任何其它的移动计算装置。在另外其它的实施方式中,计算装置200可以是以下移动计算装置中的任何一个移动计算装置:黑莓(Blackberry)系列中的任何一个,或者由Research In Motion Limited制作的其它手持装置;由苹果计算机(Apple Computer)制作的iPhone;Palm Pre;Pocket PC;Pocket PC Phone;或者任何其它的手持移动装置。
在一些实施方式中,计算装置200可具有不同的处理器、操作***、以及与装置相一致的输入装置。例如,在一个实施方式中,计算装置200是由Palm,Inc制作的TREO 180、270、600、650、680、700p、700w或者750智能电话。在这些实施方式中的一些实施方式中,TERO智能电话在PalmOS操作***的控制下运行,并且包括触控笔输入装置以及五路导航器装置。
在其它实施方式中,计算装置200是移动装置,例如支持JAVA的移动电话或者个人数字助理(PDA),例如i55sr,i58sr,i85s,i88s,i90c,i95cl,或者im1100,所有这些装置都由Schaumburg,Illinois的摩托罗拉公司(Motorola Corp)制作;由日本京都(Kyoto,Japan)的京瓷(Kyocera)制作的6035或7135;由韩国首尔(Seoul,Korea)的三星电子有限公司(Samsung Electronics Co.,Ltd.)制作的i300或i330。在一些实施方式中,计算装置200是由芬兰的诺基亚(Nokia)制作的移动装置,或者由瑞典隆德(Lund)的索尼爱立信移动通信公司(Sony Ericsson MobileCommunications AB)制作的移动装置。
在另外其它的实施方式中,计算装置200是黑莓手持或智能电话,例如由Research In Motion有限公司(Research In Motion Limited)制作的装置,包括黑莓7100系列、8700系列、7700系列、7200系列、黑莓7520或黑莓8100。然而在其它的实施方式中,计算装置200是智能电话、PocketPC、Pocket PC Phone、或者支持Microsoft Windows Mobile Software的其它手持移动装置。而且,计算装置200可以是任何工作站、桌面计算机、便携式电脑或笔记本电脑、服务器、手提电脑、移动电话、任何其它的计算机、或者其它形式的计算装置或远程通信装置,这些装置能够通信并且具有充足的处理器能力和内存容量以执行本文所描述的操作。
在一些实施方式中,计算装置200是数字音频播放器。在这些实施方式中的一个实施方式中,计算装置200是数据音频播放器,例如由加利福尼亚州库比蒂诺(Cupertino,California)的苹果计算机(Apple Computer)制作的装置中的Apple IPOD、IPOD Touch、IPOD NANO和IPOD SHUFFLE系列。在这些实施方式中的另一个实施方式中,数字音频播放器可用作便携式媒体播放器和大容量存储装置两者。在其它实施方式中,计算装置200是数据音频播放器,例如由新泽西州里奇菲尔德公园(Ridgefield Park,NJ)的三星电子美国公司(Samsung Electronics America)制作的DigitalAudioPlayer Select MP3播放器,或者由伊利诺斯州的绍姆堡(Schaumburg,IL)的摩托罗拉公司(Motorola Inc.)制作的Motorola m500或m25数字音频播放器。在另外其它的实施方式中,计算装置200是便携式媒体播放器,例如由创新技术有限公司(Creative Technology Ltd.)制作的Zen Vision W、Zen Vision系列、Zen Portable Media Center装置、或者MP3播放器的Digital MP3系列。然而在其它的实施方式中,计算装置200是便携式媒体播放器或数字音频播放器,该便携式媒体播放器或数字音频播放器支持的文件格式包括但并不限于,MP3、WAV、M4A/AAC、WMAProtectedAAC、AIFF、可听有声读物、苹果无损(Apple Lossless)音频文件格式和.mov、.m4v、和.mp4MPEG-4(H.264/MPEG-4AVC)视频文件格式。
在一些实施方式中,计算装置200包括装置的组合,例如与数字音频播放器或便携式媒体播放器组合的移动电话。在这些实施方中的一个实施方式中,计算装置200是组合数字音频播放器和移动电话的摩托罗拉(Motorola)RAZR或者摩托罗拉(Motorola)ROKR系列。在这些实施方式中的另一个实施方式中,计算装置200是由加利福尼亚州库比蒂诺(Cupertino,California)的苹果计算机(Apple Computer)制作的IPhone智能电话。虽然针对可使用的硬件和/或软件的特定示例来描述图1-3,但是这些示例绝不是限制,而相反仅仅说明可以用作技术进步的资源的类型。
图1-3示出了说明性桌面虚拟化***的高级架构。如所示,桌面虚拟化***可以是包括至少一个虚拟服务器106的单个服务器***或多个服务器***、或者云***,该虚拟化服务器106被配置成提供虚拟桌面和/或虚拟应用程序到一个或多个客户端访问装置140。如本文所使用的桌面指的是图形化环境或空间,其中可以托管和/或执行一个或多个应用程序。桌面可包括图形壳,其提供关于操作***的实例的用户接口,在该操作***中可以集成本地应用程序和/或远程应用程序。如本文所使用的应用程序是已经在加载操作***(并且还可选地为桌面)的实例之后执行的程序。操作***的每个实例可以是物理的(例如每个装置一个操作***)或者虚拟的(例如,在单个装置上运行的OS的很多实例)。每个应用程序可在本地装置上执行,或者在远程放置的装置(例如远程的)上执行。
图4中示出的是计算装置401的一个实施方式,计算装置401被配置成虚拟环境中的虚拟服务器,例如,单个服务器、多个服务器或者云计算环境。图1中示出的虚拟服务器401可以被部署为图1中示出的服务器106或图2和3中示出的计算装置200和300的一个或多个实施方式,或可以被图1中示出的服务器106或图2和3中示出的计算装置200和300的一个或多个实施方式实现。包含在虚拟服务器401内的是硬件层410,该硬件层可包括一个或多个物理磁盘404、一个或多个物理装置406、一个或多个物理处理器408和物理内存416。在一些实施方式中,固件412能够存储于物理内存416中的内存元件内,并且可以被物理处理器408中的一个或多个物理处理器408执行。虚拟服务器401还可以包括可以存储在物理内存416中的内存元件中、并且被物理处理器408中的一个或多个物理处理器408执行的操作***414。而且,管理程序402可存储于物理内存416中的内存元件中,并且可以被物理处理器408中的一个或多个物理处理器408执行。在物理处理器408中的一个或多个物理处理器408上执行的是一个或多个虚拟机432A-C(通常是432)。每个虚拟机432具有虚拟磁盘426A-C以及虚拟处理器428A-C。在一些实施方式中,第一虚拟机432A可以在虚拟处理器428A上执行包括工具堆栈424的控制程序420。在其它实施方式中,一个或多个虚拟机432B-C可以在虚拟处理器428B-C上执行客户操作***430A-B。
进一步参考图4,并且更为详细地,虚拟服务器401可包括具有一件或多件硬件的硬件层410,硬件与虚拟服务器401进行通信。在一些实施方式中,硬件层410可包括一个或多个物理磁盘404、一个或多个物理装置406、一个或多个物理处理器408和一个或多个内存416。物理组件404、406、408和416可例如包括在以上图1-3中所描述的组件中的任何组件。例如,物理磁盘404可包括永久性存储器、暂时存储器、磁盘驱动器(例如光学、软盘或磁带)、硬盘,外置硬盘驱动器、闪存、网络附加存储器、存储区域网、或者虚拟服务器401能够访问的任何其它存储库。物理装置406可包括包含在虚拟服务器401中的任何装置,以及/或者包含在虚拟服务器401中的装置和与虚拟服务器401进行通信的外部装置的任何组合。物理装置406可以例如是网络接口卡、视频卡、键盘、鼠标、输入装置、监视器、显示装置、扬声器、光驱、存储装置、通用串行总线连接、打印机、扫描仪、网络元件(例如路由器、防火墙、网络地址翻译器、负载平衡器,虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等等)、或者连接到虚拟服务器401或者与虚拟服务器401进行通信的任何装置。在硬件层410中的物理存储器416可包括任何类型的内存。物理内存416可存储数据,并且在一些实施方式中可存储一个或多个程序,或者可执行指令集。图4图示出了实施方式,其中固件412存储在虚拟服务器401的物理内存416内。虚拟服务器401中的一个或多个处理器408能够执行存储在物理内存416中的程序或可执行指令。
虚拟服务器401还可包括管理程序402。在一些实施方式中,管理程序402可以是由在虚拟服务器401上的处理器408执行以创建和管理任何数量的虚拟机432的程序。管理程序402可被称为虚拟机监视器或平台虚拟化软件。在一些实施方式中,管理程序402可以是可执行指令和监控在计算机器上执行的虚拟机的硬件的任何组合。管理程序402可以是2型(Type 2)管理程序,或者是在操作***414内执行的管理程序,该操作***414在虚拟服务器401上执行。2型管理程序在一些实施方式中在操作***414的环境内执行,并且虚拟机在高于管理程序的等级执行。在许多实施方式中,2型管理程序在用户操作***的环境内执行,使得2型管理程序与用户操作***进行交互。在其它实施方式中,在虚拟环境中的一个或多个虚拟服务器401可包括1型(Type 1)管理程序(未示出)。通过直接访问在硬件层410内的硬件和资源,1型管理程序可在虚拟服务器401上执行。也就是说,虽然2型管理程序通过主机操作***414来访问***资源,但是1型管理程序可直接访问所有***资源,而无需主机操作***414。1型管理程序可直接在虚拟服务器401中的一个或多个物理处理器408上执行,并且可以包括存储在物理内存416中的程序数据。
在一些实施方式中,管理程序402能够以模拟操作***430或控制程序420直接访问***资源的任何方式提供虚拟资源到在虚拟机432上执行的操作***430或控制程序420。***资源可包括:物理装置406;物理磁盘404;物理处理器408;物理存储器416和包含在虚拟服务器401的硬件层410内的任何其它组件。在这些实施方式中,管理程序402可用于仿真虚拟硬件,对物理硬件分区,虚拟化物理硬件或者执行提供访问计算环境的虚拟机。在另外其它的实施方式中,管理程序402控制关于在虚拟服务器401上执行的虚拟机432的处理器调度和内存分区。管理程序402可包括由加利福尼亚州的帕洛阿尔托(Palo Alto,California)的VMWare公司(VMWare,Inc.)制作的那些管理程序;XEN管理程序(开源产品,其的开发受到开源Xen.org社区(community)的监管);由微软提供的HyperV、VirtualServer或虚拟PC管理程序,或者其它管理程序。在一些实施方式中,虚拟服务器401执行管理程序402,该管理程序402创建虚拟机平台,客户操作***可在该虚拟机平台上执行。在这些实施方式中,虚拟服务器401可被称作主机服务器。这样的虚拟服务器的示例是由佛罗里达州的劳德代尔堡(Fort Lauderdale,FL)的Citrix System公司(CitrixSystems,Inc.)提供的XEN SERVER。
管理程序402可创建一个或多个虚拟机432B-C(通常是432),客户操作***430在其中执行。在一些实施方式中,管理程序402可加载虚拟机图像以创建虚拟机432。在其它的实施方式中,管理程序402可执行在虚拟机432内的客户操作***430。在另外其它的实施方式中,虚拟机432可执行客户操作***430。
除了创建虚拟机432之外,管理程序402可控制至少一个虚拟机432的执行。在其它实施方式中,管理程序402可向至少一个虚拟机432呈现由虚拟服务器401提供的至少一个硬件资源(例如,在硬件层410内可用的任何硬件资源)的抽象。在其它实施方式中,管理程序402可控制其中虚拟机432访问在虚拟服务器401内可用的物理处理器408的方式。控制对物理处理器408的访问可包括确定虚拟机432是否应当访问处理器408,以及如何将物理处理器能力呈现到虚拟机432。
如图4的示例中所示,虚拟服务器401可托管或执行一个或多个虚拟机432。虚拟机432可包括可执行指令集,当该可执行指令集被处理器408执行时模仿物理计算机的操作使得虚拟机432能够执行程序和进程(非常像处理物理计算装置)。虽然图4示出了其中虚拟服务器401托管三个虚拟机432的实施方式,但是在其它实施方式中,虚拟服务器401能够托管任何数量的虚拟机432。在一些实施方式中,管理程序402向每个虚拟机432提供物理硬件、内存、处理器和该虚拟机432可用的其它***资源的唯一虚拟视图。在一些实施方式中,唯一虚拟视图能够基于以下的任何一个:虚拟机许可;应用于一个或多个虚拟机标识符的策略引擎;访问虚拟机的用户;在虚拟机上执行的应用程序;虚拟机访问的网络;或者任何其它的类似标准。例如,管理程序402可创建一个或多个不安全虚拟机432和一个或多个安全虚拟机432。不安全虚拟机432被阻止访问安全虚拟机432可被许可访问的资源、硬件、内存位置和程序。在其它实施方式中,管理程序402可向每个虚拟机432提供虚拟机432可用的物理硬件、内存、处理器和其它***资源的大体上类似的虚拟视图。
每个虚拟机432可包括虚拟磁盘426A-C(通常是426)和虚拟处理器428A-C(通常是428)。在一些实施方式中,虚拟磁盘426是虚拟服务器401的中的一个或多个物理磁盘404的虚拟视图,或者是虚拟服务器401的中的一个或多个物理磁盘404的一部分。管理程序402能够生成、提供和管理物理磁盘404的虚拟视图。在一些实施方式中,管理程序402向每个虚拟机432提供物理磁盘404的唯一视图。因此,在这些实施方式中,当与其它虚拟磁盘426相比较时,包含在每个虚拟机432内的虚拟磁盘426可以是唯一的。
虚拟处理器428可以是虚拟服务器401的一个或多个物理处理器408的虚拟视图。在一些实施方式中,管理程序402能够生成、提供和管理物理处理器408的虚拟视图。在一些实施方式中,虚拟处理器428大体上具有至少一个物理处理器408的所有相同特性。在其它实施方式中,管理程序402提供虚拟处理器428的修改后的视图,使得虚拟处理器428的特性中的至少一些特性不同于相应的物理处理器408的特性。
进一步参考图5,描述了授权访问在虚拟服务器401上可用的一个或多个资源的方法。资源可包括任何装置、设备、内存、接口、端口或者能够访问在虚拟服务器401上实例化的虚拟机436的例示的消耗品。资源可包括例如存储分配、网络访问、网络带宽、打印机、按域名访问、访问指定网络URLs、VLAN、排列策略等级、蓝牙装置(或任何其它硬件)、其它虚拟机、显示器、vGPU、图形卡、USB或者其它端口、由主机提供的服务或守护进程、主机内通信、主机间通信、密码协议或基元、实例化能力、暂停、关闭、重新开始、休眠、备份或恢复虚拟机、或者其它方式改变虚拟机的状态。这个资源列表不是排他的,但相反是说明性的,并且还可以或者可选择地使用其它资源。
首先,在步骤501中,虚拟服务器401接收到访问在服务器401上的一个或多个资源的请求。该请求可包括其来源于特定实体的指示。然而,直到在步骤503中该请求被核实,该请求被认为来自于未经核实的实体。该请求可包括安全信息,例如已签名的安全证书(例如使用PKI证书签名),或者可在这个请求之前加上安全验证(例如,要求用户使用登录、密码、安全问题等等来登录)。在步骤503中,可使用任何的安全验证方案。当这个请求包括已签名的安全证书时,在步骤503中的服务器可将该已签名的证书与已知证书进行比较,该已知证书与如存储在安全数据库551中的实体相对应。安全数据库551可本地存储在虚拟服务器401上,或者可远程存储并且可被虚拟服务器401访问。
在步骤505中,虚拟服务器根据步骤503的结果来确定该请求是否是有效的。如果该请求是无效的,那么虚拟服务器然后可以简单地忽略该请求并且结束,或者执行一些其它的补救措施。如果该请求是有效的,那么然后在步骤507中的虚拟服务器401根据以下条件中的一个或多个条件来确定哪些资源可授权访问,即:1)在这个请求中认定为所请求资源的资源;2)在授权数据库553中认定为授权资源的资源,授权数据库553存储指示了哪些实体有权访问哪些资源的数据;以及3)在虚拟服务器上实际可用的资源。在步骤509中,服务器401可授权访问所有请求的资源、请求的资源中的一些请求的资源、或者经修改的请求的资源的集合。
在一种情况下,虚拟服务器401可确定所有请求的资源都包含在识别于授权数据库553中的授权资源列表内,以及所有请求的资源都在服务器401上是可使用的。因此,步骤509中,服务器401可授权访问所有请求的资源。
在另一种可能的情况下,服务器401可确定所有请求的资源都包含在识别于授权数据库553中的授权资源列表内,但是并非所有资源都存在于服务器401上。例如,该请求可能包括请求虚拟机访问互联网。然而,服务器401可以是未连接到互联网或者不允许向外访问互联网的安全服务器。在这样的情况下,访问互联网的请求将被拒绝。
在另一种可能的情况下,服务器401可确定所有请求的资源都包含在识别于授权数据库553中的授权资源列表内,但是并非所有资源都在服务器401上是可用的。例如,该请求可能包括请求对特定虚拟机进行2太字节的存储分配。然而,服务器401可能只有1太字节的剩余空间。因此,服务器401只能分配1太字节,而不是所请求的2太字节,并且将所请求的资源和产生的分配之间的任何差异通知请求实体(例如用户、请求软件、自动化处理等等)。作为另一个示例,该请求可能包括请求虚拟机访问高速固态存储装置(例如以安装为附加容量的存储器)。然而,服务器401可能不包括固态存储器,而是相反只能提供在磁盘驱动器上的非易失性存储器。服务器401可向请求者提供选择以代替使用磁盘驱动器或者仅仅中止会话。
在步骤509中,根据步骤507的结果,虚拟服务器401授权访问一个或多个资源。在所请求的资源和授权的资源之间的任何差异可被上报给用户,使得用户能够决定是继续进行经修改的资源的集合,还是中止会话,并且使用可以提供期望的资源的不同的虚拟服务器。
在步骤510和511中,服务器401进行检查以查看所请求资源的一个请求的资源是否涉及改变现有的虚拟机的状态。如果是,那么在步骤511中服务器401自动地改变现有的VM的状态,或者向请求者提供执行如所期望改变的能力。在这样的情况下,该请求还可包括关于待要改变的特定虚拟机以及如何改变特定虚拟机的进一步的细节,例如改变内存、存储器、带宽等等。在改变之后,此方法结束。可选择地,该方法可以在另一个接收的请求(例如以实例化新的VM)的情况下重新启动。
在步骤512和513中,服务器401进行检查以查看所请求的资源中的一个请求的资源是否能够实例化虚拟机。如果是,那么然后服务器401可响应于该请求自动地实例化虚拟机。在这样的情况下,这个请求还可包括关于待被实例化(例如操作***、内存、存储器、带宽等等)的特定虚拟机的进一步的细节。
上面所描述的各个方面可以是可选择的(例如512-513、551),以及各个步骤可被重新排序、组合、或者分解以适应特定的需要或者可选择的实施方式。例如,步骤512可以是步骤509的子集,或者合并于步骤509内。还可以做出其它的修改而不脱离本文描述的方面。
例如,管理程序402或者控制域432A可使用图5的方法以根据请求用户的自动验证来确定虚拟机能够具备什么样的能力(如果有的话)。控制域可以是虚拟机的特定实例,该虚拟机管理虚拟服务器401的操作,并且指导管理程序402(以及在2型管理程序的情况下的O/S 414)关于1)在客户域中的附加虚拟机的实例,以及2)关于访问所请求的资源的每个客户域的许可管理。控制域432A可以说是调解从用户处接收到的资源请求,并且根据如本文所进一步描述的来确定是否实例化虚拟机,以及/或者分配资源。
关于资源的请求可能受限于该请求自身内所定义的或者授权数据库内所定义的各种约束。例如,本文所描述的方面在多租户环境下可以是有用的,摒弃因此可定义基于关联的约束。一个虚拟服务器可托管多个(例如高达80个或者更多)虚拟域。当虚拟服务器并不专用于特定客户或者组织时,存在多租户。云服务提供商可提供服务给两家公司(例如名字为Acme Inc.和Generi Corp.)。如果相同的虚拟服务器托管关于Acme Inc.和Generi Corp.两者的客户域,那么然后控制域必须确保任何请求用户有权执行所请求的动作,因为一个以上的用户或客户可能试图访问虚拟服务器,并且一个公司的动作不对另一个公司的资源造成不利影响。
资源的分配也用于确保多租户用户不会共享存储器,以及/或者每个租户的网络业务量不会通过相同的连接。本文所描述的方面也用于,例如确保一个租户常常具有可用CPU的至少预定部分(例如70%),或者确保租户常常具有可用RAM的预定部分(例如50%)。本文所描述的方面允许资源的安全分区,使得如果高级的安全租户(例如国防部)与潜在的恶意租户(例如海盗湾(Pirate Bay)或者维基解密(Wikileaks))共享虚拟服务器,则这两个租户将彼此安全地隔开。在另一个示例中,资源请求和/或授权数据库可包括基于关联的约束。基于关联的约束是一种限制共同租户的约束,即:特定的租户确定在相同的虚拟服务器上是可接受的共同租户。例如,国防部可能限制与维基解密(Wikileaks)共享虚拟服务器,尽管其上包含有安全措施的强度。由此,当任何租户请求在特定服务器上创建VM时,应当检查在该服务器上的所有其它租户的安全信息和授权信息以确认实例化新的VM不会违反任何反关联约束。
在另一个示例中,基于时间的约束可包含于请求,或者由授权数据库来定义。基于时间的约束能够包括在资源的连续使用上的时间限制(例如,不超过3个小时的互联网连续使用)、在资源的总共使用上的时间限制(例如,不超过3个小时的互联网总共使用)、在可使用资源的一天或多天的钟点上的限制(例如,仅在周一至周五的9AM到5PM允许使用互联网)、在可使用资源的周的日子上的限制(例如,仅周一至周五允许访问内联网NIC),以及资源的截止日期(例如,互联网能够按需要尽量使用到2012年5月20日)。也可使用其它的基于时间的约束,包括关于特定资源的时间的任何离散分配(例如,仅在指定的月份期间,仅在2012年4月13日的2-3PM之间等等)。
上面描述的方法和***可在不同的操作环境中改变和实施,而仍然提供在虚拟服务器上的客户能力的安全管理。例如,在一个实施方式中,可以采用佛罗里达州的劳德代尔堡(Ft.Lauderdale,Florida)的Citrix Systemw公司(Citrix Systems.Inc.)制作来提供能力授权矩阵,其能够通过用户接口来进行管理,并且其针对一个或多个认证中心来验证证书。当验证成功时,可授予虚拟机使用各种资源(例如网络、内存的某些量量、访问特定存储器)的能力,该虚拟机从签署有这些证书的模板实例化。
管理程序(或者其它产品)能够检查证书的日期有效性、证书的撤销状态、证书链的有效性、能力的有效性/可用性、以及/或者VM模板的完整性(即,证书是否与该特定的VM模板有关?)。
现在提供一些示例用例场景。在第一种情况下,第一个县的警察局可使用云服务提供商(CSP)。警察局具有专用的虚拟局域网(VLAN)。警察局与CSP达到协议,即:是警察局911基础设施的一部分的其所有的VM的网络业务量具有给定的最高优先级。因此,CSP将警察局的许可设置在其能力矩阵中。假定CSP接收到来自警察局的资源请求以实例化VM,该请求包括请求VLAN和911能力的VM模板。CSP检查所附的证书以查看其是否用该县的根证书来加密签名。当这个证书被确认是用该县的根证书来签名时,根据与该证书有关的能力请求,CSP提供该VM访问警察局VLAN,并且确保最高的网络业务量优先级。
可选择地,假定CSP接收到来自警察局的VM模板(仅请求VLAN能力)。此外,当CSP确认该证书是用该县的根证书来加密签名时,则CSP可用VLAN访问来实例化该VM,但并不具有最高业务量优先级。
在另一个可选择方案中,假定CSP接收到声称来自该县警察局的VM模板,但是其实际接收到的来自于犯罪集团。附接收到的模板所附的是由犯罪集团的根证书来加密签名的证书。CSP检查该证书,其无法针对该县的根证书进行验证。无论如何,CSP可选择实例化这个VM,但将不会使它访问警察局的VLAN或者给予其网络业务量的高优先级。当CSP识别这个请求存在恶意时,CSP可能根本不会实例化该VM。
在一些情况下,在实例化VM之后,可修改资源访问。在一个示例中,使用特定VM的用户可接收到自动警报即该VM几乎没有存储空间。用户可发送请求至管理员以得到更多的存储空间。管理员通过创建关于待分配额外的存储器的VM的签名授权来批准该请求。VM通过安全通道将该请求呈现到CSP。CSP根据确认该请求是通过该县的根证书来签名的,更新分配给该VM的存储器。
在另一个示例中,第一个县可能接收到来自相邻的第二个县的合约以处理第二个县的911电话。第二个县可能具有其自身的VLAN,可以请求访问该VLAN以处理与第二个县有关的911电话。第二个县可向第一个县提供其自身证书的副本。被第一个县实例化的VM可以随后将第二个县的证书通过安全通道呈现到CSP。CSP检查该证书的有效性,并且根据与第二个县的证书有关的能力请求,授权该VM访问新的网络接口,该网络接口连接至第二个县的VLAN。
在另一个使用情况下,虚拟服务器可以根据附属于应用模板的加密证书向可信任的***域实例(“应用VM”)授予能力。应用域具有比标准客户域更高等级的对***资源的信任访问,并且可以要求该应用域通过一组测试以表明它们不包含恶意代码,并且来自于可信任的第三方提供商。管理虚拟服务器的组织可以根据不同的能力请求选择确定信任哪些提供商,以及对这些应用域的实例使用哪些资源。例如,假定网络接口卡(NIC)供应商创建存储其最新驱动器的应用域。该供应商可能针对如CSP要求的一组测试来检查应用域。一旦通过检查,将颁发证书(例如,由CSP、合作方或者其它发证机关)给供应商。随后,第三方企业根据有关证书的有效性从供应商处下载最新的应用域模板,实例化访问可用***资源子集的可信任***域。在适当的条件下,企业的VM访问应用域,并且从而访问由该供应商提供的最新驱动器。
依据其说明性实施方式,已经描述了本公开的各个方面。根据回顾本公开,本领域的普通技术人员将想到在所附权利要求的范围和精神内的许多其它实施方式、修改和变化。例如,本领域的普通技术人员将了解的是,可以以不同于列举的顺序执行在说明性附图中示出的步骤,并且根据本公开的各个方面,示出的一个或多个步骤可以是可选的。尤其根据前述的教义,本领域的技术人员可做出修改。例如,前面提及的实施方式的元件中的每个元件可被单独使用,或者与其它实施方式的元件组合或者与其它实施方式的元件子组合。还应当了解和理解的是,可以做出修改而不脱离所附权利要求的精神和范围。

Claims (24)

1.一种方法,包括:
接收来自未经核实的实体对实例化虚拟机的第一实例的第一请求,所述第一请求限定可被虚拟机服务器装置供给所述虚拟机的所述第一实例使用的一个或多个资源的第一集合,所述第一请求包括第一安全信息;
通过使用所述第一安全信息核实所述未经核实的实体,来验证所述第一请求;
访问授权数据库,所述授权数据库根据经核实的实体识别所述虚拟机的所述第一实例被授权以在所述虚拟机服务器装置上使用的一个或多个资源;
响应于验证所述第一请求:
用对一个或多个资源的所述第一集合的子集的访问权限来实例化所述虚拟机的所述第一实例。
2.根据权利要求1所述的方法,其中核实所述未经核实的实体包括确定所述第一请求是否使用了与所述未经核实的实体相对应的证书来签名。
3.根据权利要求2所述的方法,其中所述证书包括加密签名的公钥基础设施(PKI)证书。
4.根据权利要求1所述的方法,其中当所请求的资源不可被所述虚拟机服务器装置使用时,提供访问权限包括根据不可用的请求的资源来提供对可供选择的资源的访问权限。
5.根据权利要求1所述的方法,其中提供访问权限包括根据在所述授权数据库中的信息来代替在所述第一请求中所请求的资源。
6.根据权利要求1所述的方法,其中提供访问权限受限于基于在所述第一请求和所述授权数据库之一内的信息的、关于所请求的资源的基于时间的限制。
7.根据权利要求6所述的方法,其中所述基于时间的限制选自包括以下项的组:
在所述资源的连续使用上的时间限制;
在所述资源的总使用上的时间限制;
在可使用所述资源的一天或多天的钟点上的限制;
在可使用所述资源的周内的日子上的限制;以及
所述资源的截止日期。
8.根据权利要求1所述的方法,其中提供访问权限受到在所述第一请求和所述授权数据库之一内定义的基于关联的访问约束的限制。
9.一种或多种永久的计算机可读介质,其包括计算机可读指令,当所述计算机可读指令被执行时,配置虚拟服务器以执行以下动作:
接收来自未经核实的实体对实例化虚拟机的第一实例的第一请求,所述第一请求限定可被所述虚拟服务器供给所述虚拟机的所述第一实例使用的一个或多个资源的第一集合,所述第一请求包括第一安全信息;
通过使用所述第一安全信息核实所述未经核实的实体来验证所述第一请求;
响应于验证所述第一请求:
根据授权数据库来确定一个或多个资源的所述第一集合的子集,所述授权数据库识别多个实体中的每一个实体被授权访问的一个或多个资源,以及
用一个或多个资源的所述第一集合的子集来实例化所述虚拟机的所述第一实例。
10.根据权利要求9所述的计算机可读介质,其中核实所述未经核实的实体包括确定所述第一请求是否使用了与所述未经核实的实体相对应的证书来签名。
11.根据权利要求10所述的计算机可读介质,其中所述证书包括加密签名的公钥基础设施(PKI)证书。
12.根据权利要求9所述的计算机可读介质,其中当所请求的资源不可被所述虚拟机服务器装置使用时,提供访问权限包括根据不可用的请求的资源来提供对可供选择的资源的访问权限。
13.根据权利要求9所述的计算机可读介质,其中提供访问权限包括根据在所述授权数据库中的信息来代替在所述第一请求中所请求的资源。
14.根据权利要求9所述的计算机可读介质,其中提供访问权限受限于基于在所述第一请求和所述授权数据库之一内的信息的、关于所请求的资源的基于时间的限制。
15.根据权利要求14所述的计算机可读介质,其中基于时间的限制选自包括以下项的组:
在所述资源的连续使用上的时间限制;
在所述资源的总使用上的时间限制;
在可使用所述资源的一天或多天的钟点上的限制;
在可使用所述资源的周内的日子上的限制;以及
所述资源的截止日期。
16.根据权利要求9所述的计算机可读介质,其中提供访问权限受到在所述第一请求和所述授权数据库之一内定义的基于关联的访问约束的限制。
17.一种虚拟服务器,包括:
处理器;以及
内存,所述内存存储计算机可读指令,当所述计算机可读指令被所述处理器执行时,配置所述虚拟服务器以执行:
接收来自未经核实的实体对实例化虚拟机的第一实例的第一请求,所述第一请求限定可被所述虚拟服务器供给所述虚拟机的所述第一实例使用的一个或多个资源的第一集合,所述第一请求包括第一安全信息;
通过使用所述第一安全信息核实所述未经核实的实体来验证所述第一请求;
响应于验证所述第一请求:
根据授权数据库来确定一个或多个资源的所述第一集合的子集,所述授权数据库识别多个实体中的每一个实体被授权访问的一个或多个资源,以及
用一个或多个资源的所述第一集合的子集来实例化所述虚拟机的所述第一实例。
18.根据权利要求17所述的虚拟服务器,其中核实所述未经核实的实体包括确定所述第一请求是否使用了与所述未经核实的实体相对应的证书来签名。
19.根据权利要求18所述的虚拟服务器,其中所述证书包括加密签名的公钥基础设施(PKI)证书。
20.根据权利要求17所述的虚拟服务器,其中当所请求的资源不可被所述虚拟机服务器装置使用时,提供访问权限包括根据不可用的请求的资源来提供对可供选择的资源的访问权限。
21.根据权利要求17所述的虚拟服务器,其中提供访问权限包括根据在所述授权数据库中的信息来代替在所述第一请求中所请求的资源。
22.根据权利要求17所述的虚拟服务器,其中提供访问权限受限于基于在所述第一请求和所述授权数据库之一内的信息的、关于所请求的资源的基于时间的限制。
23.根据权利要求22所述的虚拟服务器,其中所述基于时间的限制选自包括以下项的组:
在所述资源的连续使用上的时间限制;
在所述资源的总使用上的时间限制;
在可使用所述资源的一天或多天的钟点上的限制;
在可使用所述资源的周内的日子上的限制;以及
所述资源的截止日期。
24.根据权利要求17所述的虚拟服务器,其中提供访问权限受到在所述第一请求和所述授权数据库之一内定义的基于关联的访问约束的限制。
CN201380032978.XA 2012-04-25 2013-04-23 虚拟机的安全管理 Expired - Fee Related CN104487959B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/455,221 2012-04-25
US13/455,221 US8583920B1 (en) 2012-04-25 2012-04-25 Secure administration of virtual machines
PCT/US2013/037774 WO2013163165A1 (en) 2012-04-25 2013-04-23 Secure administration of virtual machines

Publications (2)

Publication Number Publication Date
CN104487959A true CN104487959A (zh) 2015-04-01
CN104487959B CN104487959B (zh) 2017-10-10

Family

ID=49478563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380032978.XA Expired - Fee Related CN104487959B (zh) 2012-04-25 2013-04-23 虚拟机的安全管理

Country Status (4)

Country Link
US (2) US8583920B1 (zh)
EP (1) EP2842049B1 (zh)
CN (1) CN104487959B (zh)
WO (1) WO2013163165A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107637026A (zh) * 2015-05-19 2018-01-26 亚马逊技术有限公司 在分布式计算环境中的虚拟机实例上执行命令
TWI663547B (zh) * 2017-01-19 2019-06-21 International Business Machines Corporation 用於於虛擬化環境中保存/復原受防護之儲存器控制之電腦程式產品、電腦實施方法及電腦系統
CN110443062A (zh) * 2019-06-17 2019-11-12 平安科技(深圳)有限公司 多租户数据库的操作方法、装置和计算机设备
CN111819544A (zh) * 2018-03-06 2020-10-23 亚马逊科技公司 用于虚拟计算资源的部署前安全分析器服务
CN111814131A (zh) * 2020-06-15 2020-10-23 北京天空卫士网络安全技术有限公司 一种设备注册和配置管理的方法和装置
CN112740180A (zh) * 2018-08-03 2021-04-30 辉达公司 适用于人工智能辅助的汽车应用的虚拟机存储器的安全访问
CN115659290A (zh) * 2022-11-07 2023-01-31 海光信息技术股份有限公司 代码保护***、方法、虚拟***架构、芯片及电子设备

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140068703A1 (en) * 2012-08-28 2014-03-06 Florin S. Balus System and method providing policy based data center network automation
US9106721B2 (en) 2012-10-02 2015-08-11 Nextbit Systems Application state synchronization across multiple devices
US8745261B1 (en) 2012-10-02 2014-06-03 Nextbit Systems Inc. Optimized video streaming using cloud computing platform
US9635013B2 (en) * 2012-10-12 2017-04-25 Koninklijke Philips N.V. Secure data handling by a virtual machine
US10083065B2 (en) * 2012-12-21 2018-09-25 Red Hat Israel, Ltd. Creating multiple rules for a device to allow concurrent access to the device by different virtual machines
US9225999B2 (en) * 2013-02-11 2015-12-29 Broadcom Corporation Virtualized security processor
US9912521B2 (en) * 2013-03-13 2018-03-06 Dell Products L.P. Systems and methods for managing connections in an orchestrated network
US9853949B1 (en) * 2013-04-19 2017-12-26 Amazon Technologies, Inc. Secure time service
CN104252375B (zh) * 2013-06-25 2017-07-28 国际商业机器公司 用于位于不同主机的多个虚拟机共享USB Key的方法和***
US9558358B2 (en) 2013-06-27 2017-01-31 Visa International Service Association Random number generator in a virtualized environment
US9384022B1 (en) * 2013-07-18 2016-07-05 Bromium, Inc. Automating display modes of files within a virtual machine
US9721085B1 (en) * 2013-12-18 2017-08-01 Maxim Integrated Products, Inc. Method and battery pack device with antenna and diode
US9158909B2 (en) * 2014-03-04 2015-10-13 Amazon Technologies, Inc. Authentication of virtual machine images using digital certificates
WO2015137907A1 (en) * 2014-03-10 2015-09-17 Hewlett-Packard Development Company, L.P. Providing an operating system session
WO2015143651A1 (zh) * 2014-03-26 2015-10-01 华为技术有限公司 基于网络功能虚拟化的证书配置方法、装置和***
JP6258135B2 (ja) * 2014-06-25 2018-01-10 株式会社東芝 情報処理装置および動作制御方法
JP6354383B2 (ja) * 2014-06-26 2018-07-11 株式会社リコー 機器導入情報配信装置、機器導入情報配信プログラム及びシステム
US9009836B1 (en) 2014-07-17 2015-04-14 Kaspersky Lab Zao Security architecture for virtual machines
US9516063B2 (en) * 2015-03-10 2016-12-06 Raytheon Company System, method, and computer-readable medium for performing automated security validation on a virtual machine
US9459912B1 (en) * 2015-06-24 2016-10-04 International Business Machines Corporation Installing virtual machines within different communication pathways to access protected resources
US10963279B2 (en) * 2015-12-31 2021-03-30 International Business Machines Corporation Host-subordinate computing device administration and control using a host virtual machine manager
US10304153B2 (en) * 2016-11-07 2019-05-28 Vmware, Inc. Virtual machine graphic resource usage
US10579377B2 (en) 2017-01-19 2020-03-03 International Business Machines Corporation Guarded storage event handling during transactional execution
US10732858B2 (en) 2017-01-19 2020-08-04 International Business Machines Corporation Loading and storing controls regulating the operation of a guarded storage facility
US10496311B2 (en) 2017-01-19 2019-12-03 International Business Machines Corporation Run-time instrumentation of guarded storage event processing
US10452288B2 (en) 2017-01-19 2019-10-22 International Business Machines Corporation Identifying processor attributes based on detecting a guarded storage event
US10725685B2 (en) 2017-01-19 2020-07-28 International Business Machines Corporation Load logical and shift guarded instruction
US10764299B2 (en) * 2017-06-29 2020-09-01 Microsoft Technology Licensing, Llc Access control manager
CN111111163B (zh) * 2019-12-24 2022-08-30 腾讯科技(深圳)有限公司 管理计算资源的方法、设备和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180493A1 (en) * 2006-01-24 2007-08-02 Citrix Systems, Inc. Methods and systems for assigning access control levels in providing access to resources via virtual machines
CN101373441A (zh) * 2008-09-19 2009-02-25 苏州壹世通科技有限公司 一种基于固件的虚拟化平台***
US20090328225A1 (en) * 2007-05-16 2009-12-31 Vmware, Inc. System and Methods for Enforcing Software License Compliance with Virtual Machines

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7103653B2 (en) 2000-06-05 2006-09-05 Fujitsu Limited Storage area network management system, method, and computer-readable medium
US7921189B2 (en) 2006-11-20 2011-04-05 Microsoft Corporation Single virtual client for multiple client access and equivalency
US8010656B2 (en) 2007-07-12 2011-08-30 International Business Machines Corporation Method and apparatus for dynamically granting or denying access to an electronic calendar
EP2569698B1 (en) * 2010-05-10 2019-07-10 Citrix Systems, Inc. Redirection of information from secure virtual machines to unsecure virtual machines
US8452726B2 (en) 2010-06-04 2013-05-28 Salesforce.Com, Inc. Sharing information between tenants of a multi-tenant database
US8850429B2 (en) * 2010-10-05 2014-09-30 Citrix Systems, Inc. Load balancing in multi-server virtual workplace environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070180493A1 (en) * 2006-01-24 2007-08-02 Citrix Systems, Inc. Methods and systems for assigning access control levels in providing access to resources via virtual machines
US20090328225A1 (en) * 2007-05-16 2009-12-31 Vmware, Inc. System and Methods for Enforcing Software License Compliance with Virtual Machines
CN101373441A (zh) * 2008-09-19 2009-02-25 苏州壹世通科技有限公司 一种基于固件的虚拟化平台***

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107637026A (zh) * 2015-05-19 2018-01-26 亚马逊技术有限公司 在分布式计算环境中的虚拟机实例上执行命令
TWI663547B (zh) * 2017-01-19 2019-06-21 International Business Machines Corporation 用於於虛擬化環境中保存/復原受防護之儲存器控制之電腦程式產品、電腦實施方法及電腦系統
CN111819544A (zh) * 2018-03-06 2020-10-23 亚马逊科技公司 用于虚拟计算资源的部署前安全分析器服务
CN111819544B (zh) * 2018-03-06 2024-04-16 亚马逊科技公司 用于虚拟计算资源的部署前安全分析器服务
CN112740180A (zh) * 2018-08-03 2021-04-30 辉达公司 适用于人工智能辅助的汽车应用的虚拟机存储器的安全访问
CN110443062A (zh) * 2019-06-17 2019-11-12 平安科技(深圳)有限公司 多租户数据库的操作方法、装置和计算机设备
CN111814131A (zh) * 2020-06-15 2020-10-23 北京天空卫士网络安全技术有限公司 一种设备注册和配置管理的方法和装置
CN111814131B (zh) * 2020-06-15 2024-03-08 北京天空卫士网络安全技术有限公司 一种设备注册和配置管理的方法和装置
CN115659290A (zh) * 2022-11-07 2023-01-31 海光信息技术股份有限公司 代码保护***、方法、虚拟***架构、芯片及电子设备

Also Published As

Publication number Publication date
EP2842049B1 (en) 2019-07-03
US8583920B1 (en) 2013-11-12
US20130291062A1 (en) 2013-10-31
US9258290B2 (en) 2016-02-09
WO2013163165A1 (en) 2013-10-31
CN104487959B (zh) 2017-10-10
EP2842049A4 (en) 2015-11-04
EP2842049A1 (en) 2015-03-04
US20140040995A1 (en) 2014-02-06

Similar Documents

Publication Publication Date Title
CN104487959A (zh) 虚拟机的安全管理
CN104106052B (zh) 用于主控的服务的连接租赁
CN104246703B (zh) 为云资源指定状态
CN103262024B (zh) 用于强制应用将数据存储在安全的存储位置中的方法和***
CN102202049B (zh) 用于多虚拟机设备的网络策略实现
CN102971722B (zh) 用于创建和传送加密的虚拟盘的***和方法
US20180324203A1 (en) Intelligent container resource placement based on container image vulnerability assessment
CN102754077B (zh) 可从外部媒体装置引导的安全虚拟化环境
CN104487943B (zh) 受信文件间接操作的方法和装置
US9344432B2 (en) Network layer claims based access control
US10019177B2 (en) System updates with personal virtual disks
CN104067231B (zh) 使用虚拟交换代理控制网络接口
CN104067265A (zh) 用于支持在云中的安全应用部署的***和方法
US9703581B2 (en) Managing unallocated server farms in a desktop virtualization system
CN103729250A (zh) 用于选择被配置为满足一组要求的数据节点的方法和***
US11968301B2 (en) Decentralized asset identifiers for cross-blockchain networks
US20140351409A1 (en) Monitoring client information in a shared environment
JP7445358B2 (ja) セキュア・インタフェース・コントロールのためのセキュア実行ゲスト所有者コントロール
Pai T et al. Cloud computing security issues-challenges and opportunities
CN114640713A (zh) 数据访问监视和控制
JP7369728B2 (ja) ワークロード・プロビジョニングにおけるデータ・プライバシー・アウェアネス
CN115917538A (zh) 针对云计算的分布式应用执行
Riad et al. EAR-ABAC: An extended AR-ABAC access control model for SDN-Integrated cloud computing
Rajpurohit et al. A Review on Cloud Computing and its Security Issues
CN115600970A (zh) 物联网资产扩容方法及***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171010

CF01 Termination of patent right due to non-payment of annual fee