资源指定状态

阅读:623发布:2020-05-12

专利汇可以提供资源指定状态专利检索,专利查询,专利分析的服务。并且本文描述了用于管理 云 计算资源的方法和系统。一种针对物理计算资源的云的管理 服务器 可以为个体物理计算资源或物理计算资源的群组 指定 状态。状态可以包括禁用状态,其中仅允许管理员对资源的 访问 ;启用状态,其中允许用户对资源的访问;受限状态,其中允许一些但并非全部的对资源的用户 请求 ;和非管理状态,其中不允许资源和管理服务器之间的通信。,下面是资源指定状态专利的具体信息内容。

1.一种用于管理网络中的物理计算资源的系统,包括:
用于在针对包括物理计算资源的第一群组的所述云的管理服务器处接收消息的装置,所述消息包括两个或更多个物理计算资源的第二群组已经被连接至所述云的指示,其中,在所述第一群组中的每个物理计算资源和在所述第二群组中的每个物理计算资源能够运行操作系统
用于在所述管理服务器处,为两个或更多个物理计算资源的所述第二群组指定禁用状态的装置,并且响应于所述禁用状态被指定给所述第二群组,所述管理服务器仅允许由预定集合的管理员对两个或更多个物理计算资源的所述第二群组的访问;以及用于响应于来自所述预定集合的管理员的一管理员的输入,为两个或更多个物理计算资源的所述第二群组指定启用状态的装置,并且响应于所述启用状态被指定给所述第二群组,所述管理服务器允许由另外的用户对两个或更多个物理计算资源的所述第二群组的访问。
2.根据权利要求1所述的系统,还包括:
用于为物理计算资源的第三群组指定受限状态的装置,并且响应于所述受限状态被指定给所述第三群组,所述管理服务器允许用户对在物理计算资源的所述第三群组上运行的操作系统的现有实例的访问并且防止在用户指导下在物理计算资源的所述第三群组上创建操作系统的另外实例。
3.根据权利要求2所述的系统,其中响应于以下项,将所述受限状态指定给物理计算资源的所述第三群组:
测量物理计算资源的所述第三群组的性能;以及
确定所测量的物理计算资源的所述第三群组的性能指示低于第一阈值的性能。
4.根据权利要求3所述的系统,还包括:
用于响应于物理计算资源的所述第三群组的性能的第二测量指示高于第二阈值的性能,为物理计算资源的所述第三群组指定所述启用状态的装置。
5.根据权利要求4所述的系统,其中所述第二阈值不同于所述第一阈值。
6.根据权利要求1所述的系统,还包括:
用于响应于来自所述预定集合的管理员的所述管理员的输入,为物理计算资源的第三群组指定非管理状态的装置,并且响应于所述非管理状态被指定给所述第三群组,所述管理服务器禁止从所述管理服务器到物理计算资源的所述第三群组的所有通信。
7.根据权利要求6所述的系统,其中响应于所述非管理状态被指定给所述第三群组,所述管理服务器忽略从物理计算资源的所述第三群组接收的所有通信。
8.根据权利要求1所述的系统,还包括:
用于在物理计算资源的至少一个群组和所述管理服务器之间的网关处,基于与物理计算资源的所述至少一个群组中的每个物理计算资源相关联的状态来限制在物理计算资源的所述至少一个群组与所述管理服务器之间的通信的装置。
9.根据权利要求1所述的系统,还包括:
用于在所述管理服务器处,接收在多个物理计算资源中的一个物理计算资源上创建操作系统的新实例的用户请求的装置;以及
用于在所述管理服务器处,选择所述多个物理计算资源中的一个物理计算资源创建所述操作系统的所述新实例的装置,其中所述多个物理计算资源中的所述一个物理计算资源至少部分基于所述启用状态被指定给所述多个物理计算资源中的所述一个物理计算资源而被选择。
10.一种用于管理网络云中的物理计算资源的方法,包括:
在针对包括物理计算资源的第一群组的所述云的管理服务器处接收消息,所述消息包括两个或更多个物理计算资源的第二群组已经被连接至所述云的指示,其中,在所述第一群组中的每个物理计算资源和在所述第二群组中的每个物理计算资源能够运行操作系统;
在所述管理服务器处,为两个或更多个物理计算资源的所述第二群组指定禁用状态,并且响应于所述禁用状态被指定给所述第二群组,所述管理服务器仅允许由预定集合的管理员对两个或更多个物理计算资源的所述第二群组的访问;以及
响应于来自所述预定集合的管理员的一管理员的输入,为两个或更多个物理计算资源的所述第二群组指定启用状态,并且响应于所述启用状态被指定给所述第二群组,所述管理服务器允许由另外的用户对两个或更多个物理计算资源的所述第二群组的访问。
11.根据权利要求10所述的方法,进一步包括:
为物理计算资源的第三群组指定受限状态,并且响应于所述受限状态被指定给所述第三群组,所述管理服务器允许用户对在物理计算资源的所述第三群组上运行的操作系统的现有实例的访问并且防止在用户指导下在物理计算资源的所述第三群组上创建操作系统的另外实例。
12.根据权利要求11所述的方法,其中响应于以下项,将所述受限状态指定给物理计算资源的所述第三群组:
测量物理计算资源的所述第三群组的性能;以及
确定所测量的物理计算资源的所述第三群组的性能指示低于第一阈值的性能。
13.根据权利要求12所述的方法,进一步包括:
响应于物理计算资源的所述第三群组的性能的第二测量指示高于第二阈值的性能,为物理计算资源的所述第三群组指定所述启用状态。
14.根据权利要求13所述的方法,其中所述第二阈值不同于所述第一阈值。
15.根据权利要求10所述的方法,进一步包括:
响应于来自所述预定集合的管理员的所述管理员的输入,为物理计算资源的第三群组指定非管理状态,并且响应于所述非管理状态被指定给所述第三群组,所述管理服务器禁止从所述管理服务器到物理计算资源的所述第三群组的所有通信。
16.根据权利要求15所述的方法,其中响应于所述非管理状态被指定给所述第三群组,所述管理服务器忽略从物理计算资源的所述第三群组接收的所有通信。
17.根据权利要求10所述的方法,进一步包括:
在物理计算资源的至少一个群组和所述管理服务器之间的网关处,基于与物理计算资源的所述至少一个群组中的每个物理计算资源相关联的状态来限制在物理计算资源的所述至少一个群组与所述管理服务器之间的通信。
18.根据权利要求10所述的方法,进一步包括:
在所述管理服务器处,接收在多个物理计算资源中的一个物理计算资源上创建操作系统的新实例的用户请求;以及
在所述管理服务器处,选择所述多个物理计算资源中的一个物理计算资源创建所述操作系统的所述新实例,其中所述多个物理计算资源中的所述一个物理计算资源至少部分基于所述启用状态被指定给所述多个物理计算资源中的所述一个物理计算资源而被选择。
19.一种用于管理网络云中的物理计算资源的系统,包括:
包括多个计算机的云;以及
针对所述云的管理服务器,所述管理服务器被配置为:
存储定义所述多个计算机到两个或更多个计算机的群组的组织的数据;
将至少一个状态与两个或更多个计算机的所述群组中的每一个群组相关联,其中每个状态从包括启用状态和受限状态的状态的群组中被选择;以及
基于与两个或更多个计算机的所述群组相关联的所述状态而限制对两个或更多个计算机的所述群组的访问,
其中,针对与所述启用状态相关联的两个或更多个计算机的每个群组,所述管理服务器被配置为:
允许用户对在两个或更多个计算机的所述群组中的每个计算机上运行的操作系统的现有实例的访问;以及
允许在用户指导下在两个或更多个计算机的所述群组中的每个计算机上创建操作系统的另外的实例;以及
其中,针对与所述受限状态相关联的两个或更多个计算机的每个群组,所述管理服务器被配置为:
允许用户对在两个或更多个计算机的所述群组中的每个计算机上运行的操作系统的现有实例的访问;以及
防止在用户指导下在两个或更多个计算机的所述群组中的每个计算机上创建操作系统的另外的实例。
20.根据权利要求19所述的系统,其中所述状态的群组进一步包括禁用状态;并且其中,针对与所述禁用状态相关联的两个或更多个计算机的每个群组,所述管理服务器被配置为:
防止用户对在两个或更多个计算机的所述群组中的每个计算机上运行的操作系统的现有实例的访问;以及
仅允许所述管理服务器的管理员向两个或更多个计算机的所述群组中的每个计算机发送通信。

说明书全文

资源指定状态

技术领域

[0001] 本申请总体上涉及管理云的物理计算资源。特别地,本申请涉及为云资源或资源群组指定状态。

背景技术

[0002] 在云计算环境中,云用户可能能够与其它用户共享物理计算资源。例如,单个计算机可以运行操作系统的多个实例,每个实例处于指定的虚拟机中。云用户可能也能够共享其它物理计算资源,诸如存储和网络硬件。云用户可以与管理服务器进行交互以进行物理计算资源的云的请求
[0003] 随着物理计算资源的云变得被更多地使用,可能期望对云中的资源进行重新配置或者向云添加资源。因此,需要允许在不妨碍云用户的体验的情况下添加、去除或维护物理计算资源的云管理技术。发明内容
[0004] 鉴于上述背景,以下给出本公开内容的简要发明内容以便提供对本文所描述的一些方面的基本理解。该发明内容并非是本公开内容的扩展性概述且并非意在标识出本公开内容的关键或必要要素或者对本公开内容的范围加以限定。以下发明内容仅以简化形式给出本公开内容的一些概念而作为以下所提供的更为详细的描述的前序。
[0005] 根据本公开内容的一个方面,一种用于物理计算资源的云的管理服务器可以存储物理计算资源的组织。物理计算资源例如可以被组织为包含一个或多个群聚(pod)的分区。另外,每个群聚可以被组织为一个或多个集群,并且每个集群可以包含一个或多个主机。
[0006] 根据本公开内容的另一个方面,一种用于物理计算资源的云的管理服务器可以将状态与每个物理计算资源相关联。另外,管理服务器可以将一个状态与物理计算资源的群组相关联。管理服务器可以通过单独改变群组中的每个资源的状态而对改变物理计算资源的群组的状态的命令进行内部处理。管理服务器可以根据资源的状态对用户请求进行不同处理。
[0007] 根据本公开内容的又一个方面,由管理服务器所识别的状态可以包括:禁用状态,其中仅允许管理员对资源的访问;启用状态,其中允许用户对资源的访问;受限状态,其中允许一些但并非全部用户对资源的请求;和非管理状态,其中不允许资源和管理服务器之间的通信。
[0008] 根据本公开内容的再一个方面,管理服务器可以响应于测量的性能低于阈值平而将物理计算资源自动改变为受限状态。附图说明
[0009] 已经总体上对本公开内容的多个方面进行了描述,现在将参考附图,其并非依比例进行绘制并且其中:
[0010] 图1图示了可以在其中实施本公开内容的各个方面的示例操作环境。
[0011] 图2和图3图示了可以依据本文中所描述的一个或多个说明性方面而被使用的计算设备。
[0012] 图4是描绘依据本文中所描述的一个或多个说明性方面的虚拟化服务器的实施例框图
[0013] 图5图示了云计算环境的示例。
[0014] 图6图示了在向云添加新的物理计算资源时可以由管理服务器所执行的方法。
[0015] 图7图示了当接收针对云资源的请求时可以由管理服务器所执行的方法。
[0016] 图8图示了基于性能信息自动改变物理计算资源的状态的方法。

具体实施方式

[0017] 在以下对各个实施例的描述中对附图进行参考,附图形成其一部分并且其中通过图示而示出了本公开内容可以在其中进行实践的各个实施例。所要理解的是,可以采用其它实施例,并且可以进行结构和功能的修改而并不背离本公开内容的范围和精神实质。
[0018] 如本领域技术人员在阅读以下公开时将会认识到的,本文中所描述的各个方面可以被体现为方法、数据处理系统或计算机程序产品。因此,那些方面可以采用完全硬件的实施例、完全软件的实施例或者结合软件和硬件方面的实施例的形式。此外,这样的方面可以采取由一个或多个计算机可读存储媒介所存储的计算机程序产品的形式,其具有记录于该存储媒介之中或之上的计算机可读程序代码或指令。可以利用任意适当的计算机可读存储媒介,包括硬盘、CD-ROM、光学存储设备、磁性存储设备和/或前述的任意组合。此外,表示如本文中所描述的数据或事件的各种信号可以以电磁波的形式在源和目的地之间进行传输,该电磁波通过诸如金属线、光纤和/或无线传输媒介(例如,空气和/或空间)的信号传导媒介行进。
[0019] 图1图示了根据本公开内容的一个或多个说明性实施例的可以被使用的示例计算系统100中的通用计算设备101(例如,计算机服务器106a)的示例框图。根据一个或多个方面,通用计算设备101可以是被配置用于为客户端访问设备提供虚拟机的单服务器或多服务器台式虚拟化系统(例如,云系统)中的服务器106a。通用计算设备101可以具有用于对服务器及其相关联组件的整体操作进行控制的处理器103,上述组件包括随机访问存储器(RAM)105、只读存储器(ROM)107、输入/输出(I/O)模109和存储器115。
[0020] I/O模块109可以包括通用计算设备101的用户可以通过其提供输入的鼠标键盘触摸屏扫描仪、光学读取器和/或触笔(或(多个)其它输入设备),并且还可以包括用于提供音频输出的扬声器以及用于提供文本、听觉和/或图形输出的视频显示设备中的一个或多个。软件可以被存储在存储器115和/或其它存储内,以向处理器103提供指令而使得通用计算设备101能够执行各种功能。例如,存储器115可以存储由通用计算设备101使用的软件,诸如操作系统119、应用程序119和相关联的数据库121。备选地,用于通用计算设备101的一些或全部计算机可执行指令可以被体现在硬件或固件(未示出)之中。
[0021] 通用计算设备101可以在支持到一个或多个远程计算机的连接的联网环境中进行操作,该远程计算机诸如终端140(也被称为客户端设备)。终端140可以是个人计算机或服务器,其包括以上关于通用计算设备101所描述的许多或全部元件。图1中所描绘的网络连接包括局域网(LAN)125和广域网(WAN)129,但是也可以包括其它网络。当在LAN联网环境中使用时,通用计算设备101可以通过网络接口或适配器123连接至LAN 125。当在WAN联网环境中使用时,通用计算设备101可以包括用于通过WAN 129、诸如计算机网络130(例如,互联网)而建立通信的调制解调器127或其它网络接口。将要认识到的是,所示出的网络连接是说明性的,并且可以使用在计算机之间建立通信链路的其它手段。
[0022] 通用计算设备101和/或终端140也可以是包括诸如电池、扬声器和天线(未示出)的各种其它组件的移动终端(例如,移动电话、智能电话、PDA、笔记本等)。
[0023] 本公开内容利用多种其它通用或专用计算系统环境或配置进行操作。可适于随本公开内容使用的公知计算系统、环境和/或配置的示例包括但并不局限于个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于多处理器的系统、机顶盒、可编程消费者电器、网络PC、小型计算机、大型计算机、包括以上任意系统或设备的分布式计算环境,等等。
[0024] 如图1所示,一个或多个客户端设备140可以与一个或多个服务器106a-106n(在本文中被统称为“(多个)服务器106”)通信。在一个实施例中,计算环境100可以包括被安装在(多个)服务器106和(多个)客户端机器之间的器件。因此,该器件能够管理客户端/服务器连接,并且在一些情况下能够对多个后端服务器106之中的客户端连接进行负载平衡。
[0025] (多个)客户端机器140在一些实施例中能够被称为单客户端机器140或客户端机器140的单个群组,而(多个)服务器106可以被称为单个服务器106或服务器106的单个群组。在一个实施例中,单个客户端机器140与多于一个的服务器106通信,而在另一个实施例中,单个服务器106与多于一个的客户端机器140通信。在又另一个实施例中,单个客户端机器140与单个服务器106通信。
[0026] 在一些实施例中,客户端机器140能够通过以下任意一个术语来引用:(多个)客户端机器140;(多个)客户端;(多个)客户端计算机;(多个)客户端设备;(多个)客户端计算设备;本地机器;远程机器;(多个)客户端节点;(多个)端点;或者(多个)端点节点。在一些实施例中,服务器106可以通过以下任意一个术语来引用:(多个)服务器;本地机器;远程机器;(多个)服务器群;或者(多个)主机计算设备。
[0027] 在一个实施例中,客户端机器140可以是虚拟机。虚拟机可以是任意虚拟机,而在一些实施例中,虚拟机可以是由Citrix Systems、IBM、VMware所以研发的监管程序或者任意其它监管程序所管理的任意虚拟机。在一些方面,虚拟机可以由监管程序进行管理,而在多个方面,虚拟机可以由在服务器106上执行的监管程序或者在客户端140上执行的监管程序进行管理。
[0028] 客户端机器140可以执行、操作或者以其它方式提供应用,该应用可以为以下的任意一个:软件;程序;可执行指令;虚拟机;监管程序;web浏览器;基于web的客户端;客户端-服务器应用;瘦客户端计算客户端;ActiveX控制;Java小应用程序(applet);如软IP电话的与通过互联网协议(VoIP)通信的语音相关的软件;用于流视频和/或音频的应用;用于促进实时数据通信的应用;HTTP客户端;FTP客户端;Oscar客户端;Telnet客户端;或者任意其它可执行指令集合。再其它的实施例包括客户端设备140,其显示服务器106或其它远程定位的机器上远程执行的应用所生成的应用输出。在这些实施例中,客户端设备140能够在应用窗口、浏览器或其它输出窗口中显示应用输出。在一个示例中,该应用是桌面,而在其它示例中,该应用是生成桌面的应用。桌面可以包括为本地和/或远程应用能够在其中进行整合的操作系统实例提供用户界面的图形壳。如本文中所使用的,应用是在操作系统实例(以及可选地还有桌面)已经被加载之后执行的程序。
[0029] 在一些实施例中,服务器106执行远程呈现客户端或者其它客户端或程序,其使用瘦客户端或远程显示协议来采集由服务器106上执行的应用所生成的显示输出并且将应用显示输出传输至远程客户端140。瘦客户端或远程显示协议可以是以下协议中的任意一个:由佛罗里达,劳德代尔堡的Citrix Systems公司制造的独立计算架构(ICA)协议;或者由华盛顿,雷德蒙德的微软公司制造的远程桌面协议(RDP)。
[0030] 计算环境可以包括多于一个的服务器106A-106N,以使得服务器106A-106N例如在云计算环境中在逻辑上被分组为服务器群106。服务器群106可以包括在地理上分散并且在逻辑上一起被分组在服务器群106中的服务器106,或者互相临近并且在逻辑上在服务器群106中分组在一起的服务器106。在一些实施例中,服务器群106内的地理上分散的服务器
106A-106N使用WAN、MAN或LAN通信,其中不同地理区域能够被表征为:不同大洲;大洲的不同地区;不同国家;不同州;不同城市;不同校园;不同房间;或者之前的地理位置的任意组合。在一些实施例中,服务器群106可以作为单个实体进行管理,而在其它实施例中,服务器群106可以包括多个服务器群106。
[0031] 在一些实施例中,服务器群106可以包括执行基本上类似类型的操作系统平台(例如,由华盛顿,雷德蒙德的微软公司制造的WINDOWS NT、UNIX、LINUX或SNOW LEOPARD)的服务器106。在其它实施例中,服务器群106可以包括执行第一类型的操作系统平台的第一服务器106群组,以及执行第二类型的操作系统平台的第二服务器106群组。在其它实施例中,服务器群106可以包括执行不同类型的操作系统平台的服务器106。
[0032] 在一些实施例中,服务器106可以是任意服务器类型。在其它实施例中,服务器106可以是以下的任意服务器类型;文件服务器;应用服务器;web服务器;代理服务器;器件;网络器件;网关;应用网关;网关服务器;虚拟化服务器;部署服务器;SSL VPN服务器;防火墙;web服务器;应用服务器或主应用服务器;执行活动目录的服务器106;或者执行提供防火墙功能、应用功能或负载平衡功能的应用加速程序的服务器106。在一些实施例中,服务器106可以是RADIUS服务器,其包括远程认证拨入用户服务。在服务器106包括器件的实施例中,服务器106可以是由以下任一个制造商制造的器件:Citrix Application Networking集团;Silver Peak Systems公司;Riverbed Technology公司;F5 Networks公司;或者Juniper Networks公司。一些实施例包括第一服务器106A,其从客户端机器140接收请求,将这些请求转发至第二服务器106n,并且利用来自第二服务器106n的响应对客户端机器
140所生成的请求做出响应。第一服务器106A能够获取客户端机器140可用的应用的列举以及与托管该应用的列举内所标示的应用的应用服务器106相关联的地址信息。第一服务器
106A然后能够使用web接口向客户端请求给出响应,并且直接与客户端140通信以向客户端
140提供以对所标示应用的访问。
[0033] 在一些实施例中,服务器106能够执行以下应用中的任意一个:使用瘦客户端协议向客户端传输应用显示数据的瘦客户端应用;远程显示呈现应用;Citrix Systems公司的CITRIX ACCESS SUITE的任意部分,如METAFRAME或CITRIX PRESENTATION SERVER;由微软公司制造的MICROSOFT WINDOWS终端服务;或者由Citrix Systems公司研发的ICA客户端。另一个实施例包括作为如下的应用服务器的服务器106,诸如:提供电子邮件服务的电子邮件服务器,诸如由微软公司制造的MICROSOFT EXCHANGE;web或互联网服务器;桌面共享服务器;协同服务器;或者任意其它类型的应用服务器。再其它的实施例包括执行以下类型的托管服务器应用中的任意一种的服务器106:由Citrix Online Division公司提供的GOTOMEETING;由加利福尼亚,圣克拉拉的WebEx公司提供的WEBEX;或者由微软公司提供的Microsoft Office LIVE MEETING。
[0034] 在一些实施例中,客户端机器140可以是寻求访问由服务器106提供的资源的客户端节点。在其它实施例中,服务器106可以为客户端140或客户端节点提供对所托管的资源的访问。在一些实施例中,服务器106用作主节点,以使得其与一个或多个客户端140或服务器106通信。在一些实施例中,该主节点能够识别与托管所请求应用的服务器106相关联的地址信息并将其提供给一个或多个客户端140或服务器106。在再其它的实施例中,主节点可以是服务器群106、客户端140、客户端节点140的集群、或者器件。
[0035] 一个或多个客户端140和/或一个或多个服务器106能够通过被安装在计算环境100内的机器和应用之间的网络130传输数据。网络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;或者能够在移动设备之中传输数据的任意其它协议。
[0036] 图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。
[0037] 图3图示了计算设备300的一个实施例,其中图1中所图示的客户端机器140和服务器106可以被部署为本文中所图示和描述的计算设备300的任意实施例和/或在其上执行。计算设备300内包括与以下组件通信的系统总线350:桥接器370和第一I/O设备330a。在另一个实施例中,桥接器370与主中央处理单元321通信,其中中央处理单元321可以进一步与第二I/O设备330b、主存储器322和高速缓存存储器340通信。中央处理单元321内包括I/O端口、存储器端口303和主处理器。
[0038] 计算机器300的实施例可以包括以下面任一种组件配置为特征的中央处理单元321:对从主存储器单元322取得的指令做出响应并处理的逻辑电路;诸如由Intel公司制造的、由Motorola公司制造的、由加利福尼亚,圣克拉拉的Transmeta公司制造的微处理器单元;诸如由国际商业机器制造的RS/6000处理器;诸如由Advanced Micro Devices制造的处理器;或者逻辑电路的任意其它组合。中央处理单元322的再其它的实施例可以包括以下的任意组合:微处理器、微控制器、具有单个处理核的中央处理单元、具有两个处理核的中央处理单元、或者具有多于一个的处理核的中央处理单元。
[0039] 虽然图3图示了包括单个中央处理单元321的计算设备300,但是在一些实施例中,计算设备300可以包括一个或多个处理单元321。在这些实施例中,计算设备300可以存储并且执行固件或其它可执行指令,这些固件或其它可执行指令当被执行时指导一个或多个处理单元321同步执行指令或者同步执行单片数据上的指令。在其它实施例中,计算设备300可以存储并且执行固件或其它可执行指令,这些固件或其它可执行指令当被执行时指导一个或多个处理单元均执行指令群的一个分段。例如,每个处理单元321可以被指令以执行程序的一部分或者程序内的特定模块。
[0040] 在一些实施例中,处理单元321可以包括一个或多个处理核。例如,处理单元321可以具有两个核、四个核、八个核等。在一个实施例中,处理单元321可以包括一个或多个并行处理核。在一些实施例中,处理单元321的处理核可以访问作为全局地址空间的可用存储器,或者在其它实施例中,计算设备300内的存储器可以被划分并且被分配给处理单元321内的特定核。在一个实施例中,计算设备300中的一个或多个处理核或处理器均可以访问本地存储器。在又另一个实施例中,计算设备300内的存储器可以在一个或多个处理器或处理核之间进行共享,而其它存储器则能够由特定处理器或处理器子集进行访问。在计算设备300包括多于一个的处理单元的实施例中,多个处理单元可以被包括在单个集成电路(IC)中。在一些实施例中,这些多个处理器能够通过内部高速总线链接在一切,该内部高速总线在本文中可以被称为元件互连总线。
[0041] 在计算设备300包括一个或多个处理单元321或者包括具有一个或多个处理核的处理单元321的实施例中,处理器能够同步执行多片数据上的单个指令(SIMD),或者在其它实施例中,能够同步执行多片数据块上的多个指令(MIMD)。在一些实施例中,计算设备100可以包括任意数量的SIMD或MIMD处理器。
[0042] 在一些实施例中,计算设备300可以包括图形处理器或图形处理单元(未示出)。图形处理单元可以包括软件和硬件的任意组合,并且能够进一步输入图形数据和图形指令,从所输入数据和指令渲染图形,并且输出经渲染的图形。在一些实施例中,图形处理单元可以被包括在处理单元321内。在其它实施例中,计算设备300可以包括一个或多个处理单元321,其中至少一个处理单元321专用于处理并渲染图形。
[0043] 计算机器300的一个实施例包括经由也被称为后方总线的二级总线来与高速缓存存储器340通信的中央处理单元321,而计算机器300的另一个实施例则包括经由系统总线350与高速缓存存储器通信的中央处理单元321。在一些实施例中,本地系统总线350也可以被中央处理单元用来与多于一种类型的I/O设备330a-330n通信。在一些实施例中,本地系统总线350可以是以下任一种类型的总线:VESA VL总线;ISA总线;EISA总线;MicroChannel架构(MCA)总线;PCI总线;PCI-X总线;PCI-Express总线;或者NuBus。计算设备300的其它实施例包括I/O设备330a-330n,它们包括与中央处理单元321通信的视频显示器224。计算机器300再其它的版本包括经由以下任一种连接而连接至I/O设备330a-330n的处理器321:
HyperTransport、Rapid I/O或InfiniBand。计算机器300进一步的实施例包括使用本地互连总线与一个I/O设备330a通信并且使用直接连接与第二I/O设备330b通信的处理器321。
[0044] 在一些实施例中,计算设备300包括主存储器单元322和高速缓存存储器340。高速缓存存储器340可以是任意存储器类型,并且在一些实施例中,可以是以下任一种类型的存储器:SRAM;BSRAM或EDRAM。其它实施例包括高速缓存存储器340和主存储器单元322,它们可以是以下任一种类型的存储器:静态随机访问存储器(SRAM)、突发式SRAM或同步突发式SRAM(BSRAM);动态随机访问存储器(DRAM);快速页面模式DRAM(FPM DRM);增强型DRAM(EDRAM);扩展数据输出RAM(EDO RAM);扩展数据输出DRAM(EDO DRAM);突发式扩展数据输出DRAM(BEDO DRAM);增强型DRAM(EDRAM);同步DRAM(SDRAM);JEDEC SRAM;PC100 SDRAM;双倍数据速率SDRAM(DDR SDRAM);增强型SDRAM(ESDRAM);同步链接DRAM(SLDRAM);直接Rambus DRAM(DRDARM);电RAM(FRAM);或者任意其它类型的存储器。进一步的实施例包括能够经由以下对主存储器322进行访问的中央处理单元321:系统总线350;存储器端口303;或者允许处理器321访问存储器322的任意其它连接、总线或端口。
[0045] 计算设备200/300的一个实施例为以下任一种安装设备216提供支持:CD-ROM驱动器、CD-R/RW驱动器、DVD-ROM驱动器、各种格式的带式驱动器、USB设备、可引导介质、可引导CD、用于诸如 的GNU/Linux分布的可引导CD、硬盘或者适于安装应用或软件的任意其它设备。在一些实施例中,应用可以包括客户端代理220或者客户端代理220的任意部分。计算设备200/300可以进一步包括存储设备228,后者可以是一个或多个硬盘,或者独立磁盘的一个或多个冗余阵列;其中存储设备被配置为存储操作系统、软件、程序应用、或者客户端代理220的至少一部分。计算设备200、300的进一步的实施例包括用作存储设备
228的安装设备216。
[0046] 计算设备200、300可以进一步包括网络接口218以通过各种连接对接至局域网(LAN)、广域网(WAN)或互联网,上述连接包括但并不局限于标准电话线、LAN或WAN链接(例如,802.11、T1、T3、56kb、X.25、SNA、DECNET)、宽带连接(例如,ISDN、中继、ATM、兆比特以太网、Ethernet-over-SONET)、无线连接或者以上任意或全部的一些组合。还能够使用各种通信协议(例如,TCP/IP、IPX、SPX、NetBIOS、以太网、ARCNET、SONET、SDH、光纤分布数据接口(FDDI)、RS232、RS485、IEEE 802.11、IEEE802.11a、IEEE 802.11b、IEEE 802.11g、CDMA、GSM、WiMax和直接异步连接)来建立连接。计算设备200、300的一个版本包括能够经由任意类型和/或形式的网关或隧道协议来与另外的计算设备200'、300'通信的网络接口218,上述网关或隧道协议诸如安全套接层(SSL)或传输层安全(TLS),或者由Citrix Systems公司制造的Citrix网关协议。网络接口218的版本可以包括以下任意一个:内建式网络适配器;网络接口卡;PCMCIA网卡;卡总线网络适配器;无线网络适配器;USB网络适配器;调制解调器;或者适于将计算设备200、300对接至能够通信并执行本文中所描述的方法和系统的网络的任意其它设备。
[0047] 计算设备200、300的实施例包括以下任意一个I/O设备230a-230n:键盘226;指向设备227;鼠标;轨迹板;光学笔;轨迹球;麦克;画板;视频显示器;扬声器;喷墨打印机;激光打印机;以及热升华打印机;或者能够执行本文中所描述的方法和系统的任意其它输入/输出设备。I/O控制器223在一些实施例中可以连接至多个I/O设备230a-230n,以对一个或多个I/O设备进行控制。I/O设备230a-230n的一些实施例可以被配置为提供存储或安装介质216,而其它则可以提供通用串行总线(USB)接口以便接纳USB存储设备,诸如由Twintech Industry公司制造的设备的USB闪存驱动线路。再其它的实施例包括可以作为系统总线250和外部通信总线之间的桥接器的I/O设备230,外部通信总线诸如:USB总线;苹果桌面总线;RS-232串行连接;SCSI总线;FireWire总线;FireWire800总线;以太网总线;AppleTalk总线;兆比特以太网总线;异步传输模式总线;HIPPI总线;超级HIPPI总线;SerialPlus总线;
SCI/LAMP总线;FibreChannel总线;或者串行连接的小型计算机系统接口总线。
[0048] 在一些实施例中,计算机器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;以及执行主计算设备200和多个二级计算设备上的软件以使得主计算设备200能够使用二级计算设备的显示器作为主计算设备200的显示设备224A-224N。计算设备200的再其它的实施例可以包括由多个二级计算设备提供并且经由网络连接至主计算设备200的多个显示设备。
[0049] 在一些实施例中,计算设备200能够执行任意操作系统,而在其它实施例中,计算设备200能够执行任意的以下操作系统:多个版本的MICROSOFT WINDOWS操作系统,诸如WINDOWS 3.x;WINDOWS 95;WINDOWS 98;WINDOWS 2000;WINDOWS NT3.51;WINDOWS NT 4.0;WINDOWS CE;WINDOWS XP;和WINDOWS VISTA;不同版本的Unix和Linux操作系统;由苹果计算机制造的任意版本的MAC OS;由国际商业机器所制造的OS/2;任意嵌入式操作系统;任意实时操作系统;任意开源操作系统;任意专有操作系统;任意用于移动计算设备的操作系统;或者任意其它操作系统。在再另一个实施例中,计算机器200可以执行多个操作系统。例如,计算机器200能够执行PARALLELS或另一种虚拟化平台,后者能够执行或管理第一操作系统的虚拟机,同时计算机器200执行不同于第一操作系统的第二操作系统。
[0050] 计算机器200可以在任意的以下计算设备中体现;计算工作站;台式计算机;膝上型或笔记本计算机;服务器;手持计算机;移动电话;便携式电信设备;媒体播放设备;游戏系统;移动计算设备;笔记本;由苹果计算机制造的IPOD设备族中的设备;由索尼公司制造的PLAYSTATION设备族中的任意一种;由Nintendo公司制造的Nintendo设备族中的任意一种;由微软公司制造的XBOX设备族中的任意一种;或者能够通信并且具有足够处理器能和存储器容量来执行本文中所描述的方法和系统的任意其它类型和/或形式的计算、电信或媒介设备。在其它实施例中,计算机器100可以是移动设备,诸如以下任意一种移动设备:支持JAVA的蜂窝电话或个人数字助理(PDA),诸如i55sr、i58sr、i85s、i88s、i90c、i95cl或im1100,所有这些都由Motorola公司制造;由Kyocera制造的6035或7135;由三星电子有限公司制造的i300或i330;由Palm公司制造的TREO180、270、600、650、680、700p、700w或750智能电话;具有与该设备相符的不同处理器、操作系统和输入设备的任意计算设备;或者能够执行本文中所描述的方法和系统的任意其它移动计算设备。在再其它的实施例中,计算设备200可以是以下任意一种移动计算设备:任意一个系列的Blackberry,或者由Research In Motion有限公司制造的其它手持设备;由苹果计算机制造的iPhone;Palm Pre;便携式PC;便携式PC电话;或者任意其它手持移动设备。
[0051] 在一些实施例中,计算设备200可以具有与该设备相符的不同处理器、操作系统和输入设备。例如,在一个实施例中,计算设备200是由Palm公司制造的TREO 180、270、600、650、680、700p、700w或750智能电话。在这些实施例中的一些中,TREO智能电话在PalmOS操作系统的控制下进行操作并且包括触笔输入设备以及五向导航设备。
[0052] 在其它实施例中,计算设备200是移动设备,诸如支持JAVA的蜂窝电话或个人数字助理(PDA),诸如i55sr、i58sr、i85s、i88s、i90c、i95cl或im1100,所有这些都由伊利诺伊,绍姆堡的Motorola公司制造;由日本京都的Kyocera制造的6035或7135;由韩国首尔的三星电子有限公司制造的i300或i330。在一些实施例中,计算设备200是由芬兰的Nokia或瑞典Lund的Sony Ericsson移动通信公司制造的移动设备。
[0053] 在再其它的实施例中,计算设备200是Blackberry手持或智能电话,诸如由Research In Motion有限公司制造的设备,包括Blackberry7100系列、8700系列、8700系列、7700系列、7200系列,Blackberry7520或BlackBerry Pearl 8100。在又其它的实施例中,计算设备200是智能电话、便携式PC、便携式PC电话或者支持微软Windows移动软件的其它手持移动设备。此外,计算设备200可以是任意工作站、台式计算机、膝上型或笔记本计算机、服务器、手持计算机、移动电话、任意其它计算机,或者能够通信并且具有足够处理器能力和存储器容量以执行本文中所描述的方法和系统的任意其它形式的计算或电信设备。
[0054] 在一些实施例中,计算设备200是数字音频播放器。在这些实施例之一中,计算设备200是诸如由加利福尼亚,库比蒂诺的苹果计算机制造的苹果IPOD、IPOD Touch、IPOD NANO和IPOD SHUFFLE设备线的数字音频播放器。在这些实施例中的另一个中,数字音频播放器可以用作便携式媒体播放器和大型存储设备。在其它实施例中,计算设备200是如下的数字音频播放器,诸如由NJ的Ridgefield  Park的美国三星电子制造的DigitalAudioPlayer Select MP3播放器,或者由IL的Schaumburg的Motorola公司制造的m500或m25数字音频播放器。在再其它的实施例中,计算设备200是便携式媒体播放器,诸如由Creative技术有限公司制造的Zen Vision W、Zen Vision系列、Zen便携式媒体中心设备或者数字MP3线的MP3播放器。在再其它的实施例中,计算设备200是便携式媒介播放器或数字音频播放器,其支持以下文件格式:MP3、WAV、M4A/AAC、WMA Protected AAC、AIFF、可听有声读物、苹果无损音频文件格式以及.mov、.m4v和.mp4 MPEG-4(H.264/MPEG-4 AVC)视频文件格式。
[0055] 在一些实施例中,计算设备200包括诸如设备的组合,诸如结合数字音频播放器或便携式媒体播放器的移动电话。在这些实施例之一中,计算设备200是Motorola RAZR或Motorola ROKR线的组合数字音频播放器和移动电话。在这些实施例的另一个中,计算设备200是由加利福尼亚,库比蒂诺的苹果计算机制造的iPhone智能电话。
[0056] 图1-3示出了说明性的桌面虚拟化系统的高级架构。如所示出的,桌面虚拟化系统可以是单个服务器或多个服务器的系统,或者是包括被配置为向一个或多个客户端访问设备140提供虚拟桌面和/或虚拟应用的至少一个虚拟化服务器106的云系统。如本文中所使用的,桌面是指可以在其中托管和/或执行一个或多个应用的图形环境或空间。桌面可以包括为可以在其中集成本地和/或远程应用的操作系统实例提供用户界面的图形壳。如本文中所使用的,应用是在操作系统的实例(以及可选地还有桌面)已经被加载之后执行的程序。每个操作系统实例可以是物理的(例如,每个设备一个操作系统)或虚拟的(例如,在单个设备上运行的许多OS实例)。每个应用可以在本地设备上执行,或者在远程定位的设备(例如,远程的)上执行。
[0057] 图1-3中已经描述了桌面虚拟化系统的各个示例,以及可以被包括在这样的系统的服务器106中的某些软件和功能,后续的段落提供与可以在云计算环境中使用的计算资源相关的各种方法和系统的另外示例。
[0058] 图4图示了被配置为虚拟化环境中的虚拟化服务器的计算机设备401的一个实施例,该虚拟化环境例如单服务器、多服务器或云计算环境。图1所示的虚拟化服务器401能够被部署为图1所示的服务器106或图2和3所示的计算设备200和300,和/或由它们的一个或多个实施例所实施。虚拟化服务器401中包括硬件层,其可以包括一个或多个物理磁盘404、一个或多个物理设备406、一个或多个物理处理器408和物理存储器416。在一些实施例中,固件412可以存储在物理存储器416中的存储器元件内并且能够由一个或多个物理处理器408所执行。虚拟化服务器401可以进一步包括可以存储在物理存储器416中的存储器元件中并且由一个或多个物理处理器408所执行的操作系统414。再进一步地,监管程序402可以存储在物理存储器416中的存储器元件中并且能够由一个或多个物理处理器408所执行。一个或多个虚拟机432A-C(统称为432)可以在一个或多个物理处理器408上执行。每个虚拟机
432可以具有虚拟盘426A-C以及虚拟处理器428A-C。在一些实施例中,第一虚拟机432A可以在虚拟处理器428A上执行包括工具集(tool stack)424的控制程序420。在其它实施例中,一个或多个虚拟机432B-C能够在虚拟处理器428B-C上执行访客操作系统430A-B。
[0059] 进一步参考图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或者与之进行通信的任意设备。硬件层410中的物理存储器416可以包括任意类型的存储器。物理存储器416可以存储数据,并且在一些实施例中可以存储一个或多个程序或者可执行指令的集合。图4图示了固件412存储在虚拟化服务器401的物理存储器416内的实施例。物理存储器416中所存储的程序或可执行指令能够由虚拟化服务器401的一个或多个处理器408所执行。
[0060] 虚拟化服务器401还可以包括监管程序(hypervisor)402。在一些实施例中,监管程序402可以是由虚拟化服务器401上的处理器408执行的程序,用以创建并管理任意数量的虚拟机432。监管程序402可以被称为虚拟机监视器或者平台虚拟化软件。在一些实施例中,监管程序402可以是对计算机器上执行的虚拟机进行监视的可执行指令和硬件的任意组合。监管程序402可以是2类(Type 2)监管程序,或者是在虚拟化服务器401上执行的操作系统414内执行的监管程序。在一些实施例中,2类监管程序在操作系统414的环境内执行而虚拟机在高于监管程序的级别执行。在许多实施例中,2类监管程序在用户的操作系统的环境内执行,以使得2类监管程序与用户的操作系统进行交互。在其它实施例中,虚拟环境中的一个或多个虚拟化服务器401可以包括1类(Type 1)监管程序(未示出)。1类监管程序可以通过直接访问硬件层410内的硬件和资源而在虚拟化服务器401上执行。也就是说,在2类监管程序402通过主机操作系统414访问系统资源的同时,1类监管程序可以直接访问所有系统资源而无需主机操作系统414。1类监管程序可以直接在虚拟化服务器401的408的一个或多个物理处理器上执行,并且可以包括存储在物理存储器416中的程序数据。
[0061] 在一些实施例中,监管程序402可以以模仿具有对系统资源的直接访问的操作系统430或控制程序420的任意方式,向在虚拟机432上执行的操作系统430或控制程序420提供虚拟资源。系统资源可以包括:物理设备406;物理磁盘;物理处理器;物理存储器416和虚拟化服务器401硬件层410中所包括的任意其它组件。在这些实施例中,监管程序402可以被用来仿真虚拟硬件、划分物理硬件、虚拟化物理硬件或者执行提供对计算环境的访问的虚拟机。在再其它的实施例中,监管程序402针对虚拟化服务器401上执行的虚拟机432控制处理器调度和存储器分区。监管程序可以包括由加利福尼亚,帕洛阿尔托的VMWare公司制造的监管程序;XEN监管程序,其研发由开源Xen.org团体所监督的开源产品;由微软提供的HyperV、VirtualServer或虚拟PC监管程序,等等。在一些实施例中,虚拟化服务器401执行监管程序402,监管程序402创建可以在其上执行访客操作系统的虚拟机平台。在这些实施例中,虚拟化服务器401能够被称为主机服务器。这样的虚拟化服务器的示例是由佛罗里达州的劳德代尔堡的Citrix Systems公司提供的XEN SERVER。
[0062] 监管程序402可以创建访客操作系统430在其中执行的一个或多个虚拟机432B-C(统称为432)。在一些实施例中,监管程序402可以加载虚拟机镜像以创建虚拟机432。在其它实施例中,监管程序402可以执行虚拟机432内的访客操作系统430。在再其它的实施例中,虚拟机432可以执行访客操作系统430。
[0063] 除了创建虚拟机432之外,监管程序402可以控制至少一个虚拟机432的执行。在其它实施例中,监管程序402可以为至少一个虚拟机432给出虚拟化服务器401所提供的至少一个硬件资源(例如,在硬件层410内可用的任意硬件资源)的摘要。在其它实施例中,监管程序402可以对虚拟机432访问虚拟化服务器401内可用的物理处理器408的方式进行控制。控制对物理处理器408的访问可以包括确定虚拟机432是否应当具有对处理器408的访问,以及如何给虚拟机432物理处理器的能力。
[0064] 如图4的示例所示,虚拟化服务器401可以托管或执行一个或多个虚拟机432。虚拟机432是可执行指令的集合,其在被处理器408执行时模仿物理计算机的操作,以使得虚拟机432能够像物理计算设备那样执行程序和处理。虽然图4图示了虚拟化服务器401托管三个虚拟机432的实施例,但是在其它实施例中,虚拟化服务器401能够托管任意数量的虚拟机432。在一些实施例中,监管程序402为每个虚拟机432提供物理硬件、存储器、处理器和可供该虚拟机432使用的其它系统资源的唯一虚拟视图。在一些实施例中,该唯一虚拟视图可以基于以下的任一个:虚拟机许可;策略引擎对一个或多个虚拟机标识符的应用;访问虚拟机的用户;虚拟机上执行的应用;虚拟机所访问的网络;或者任意其它类似准则。例如,监管程序402可以创建一个或多个非安全虚拟机432以及一个或多个安全虚拟机432。可以防止非安全的虚拟机432访问安全虚拟机432被允许访问的资源、硬件、存储器位置和程序。在其它实施例中,监管程序402可以为每个虚拟机432提供物理硬件、存储器、处理器和可供该虚拟机432使用的其它系统资源的基本上类似的虚拟视图。
[0065] 每个虚拟机432可以包括虚拟磁盘426A-C(统称为426)和虚拟处理器428A-C(统称为428)。在一些实施例中,虚拟磁盘426是虚拟化服务器401的一个或多个物理磁盘404的虚拟化视图,或者是虚拟化服务器401的一个或多个物理磁盘404的一部分。物理磁盘404的虚拟化视图可以由监管程序402生成、提供并管理。在一些实施例中,监管程序402可以为每个虚拟机432提供物理磁盘404的唯一视图。因此,在这些实施例中,每个虚拟机432中所包括的虚拟磁盘426在与其它虚拟磁盘426相比时可以是唯一的。
[0066] 虚拟处理器428可以是虚拟化服务器401的一个或多个物理处理器408的虚拟化视图。在一些实施例中,物理处理器408的虚拟化视图能够由监管程序402生成、提供并管理。在一些实施例中,虚拟处理器428基本上具有完全与至少一个物理处理器408相同的所有特性。在其它实施例中,虚拟处理器408提供物理处理器408的修改视图,以使得虚拟处理器
428的至少一些特性与相应的物理处理器408的特性有所不同。
[0067] 图5图示了云计算环境的示例。如图5中所看到的,客户端计算机501-504可以与管理服务器410进行通信。管理服务器510可以在一个或多于一个的物理服务器上实施。客户端计算机501-504可以经由互联网连接至管理服务器510。在一些环境中,对管理服务器510的访问可以被限制为仅一个或多个网络上的客户端计算机。
[0068] 客户端计算机的用户例如可以请求对管理服务器510所管理的一个或多个计算资源进行访问。管理服务器510例如可以运行Citrix System所提供的CLOUDSTACK或OPENSTACK。其对诸如主机计算机、数据存储设备和网络连接设备之类的计算资源进行管理,上述网络连接设备诸如防火墙、网络地址翻译器、负载平衡器、虚拟私有网络(VPN)网关、动态主机配置协议(DHCP)路由器之类的。
[0069] 客户端计算机的用户可以请求对由诸如主机计算机571的管理服务器510所管理的计算资源之一进行访问。例如,主机计算机可以是能够运行一个或多个虚拟机的虚拟化服务器。客户端计算机的用户例如可以请求对现有虚拟机进行访问或者创建或销毁虚拟机。在一些实施例中,用户可以识别具体主机或者请求在具体主机群组中创建虚拟资源。管理服务器可以分配所请求群组中的资源或者其可以分配不同主机群组中的资源以便例如避免物理计算资源的过载。在一些实施例中,用来实现用户请求的主机可以仅由管理服务器510进行管理。
[0070] 在诸如由管理服务器510所管理的计算云的计算云中,分区是物理计算资源的并置的集合。每个分区可以在地理上出自于每个其它分区。例如,分区521可以位于加利福尼亚,而分区522则可以位于里兰。管理服务器510可以位于第三分区(未示出)。每个分区可以包括通过网关与处于该分区之外的诸如管理服务器510的设备进行通过接口通信的内部网络。如图5中所示,分区521中的设备与分区521之外的设备之间的所有通信都通过网关511进行路由,并且分区522中与分区522之外的设备之间的所有通信都通过网关512进行路由。
[0071] 分区可能非常大,并且因此将分区细分为更小单位是有用的。一个这样的单位是群聚(pod)。pod可以是就一种或多种意义而言共同定位的主机的群组。例如,数据中心的单个机架上的所有主机计算机可以为一个群聚。类似地,共享一个网络交换机和/或电力线路的主机计算机可以为一个群聚。
[0072] 群聚可以进一步被细分为集群。集群可以是共享诸如存储池的另一物理资源的主机的群组。存储池是一个或多个磁性硬盘驱动器、固态驱动器或其它存储介质的群组。存储池的存储介质可以经由一个或多个存储服务器进行管理。在图5的分区521的示例中,每个集群可以共享一个存储池。集群541中的每个主机可以共享存储池551,集群542中的每个主机可以共享存储池522等。集群可以是共享其它项目的主机计算机的群组,上述项目诸如负载平衡器(例如,负载平衡器561)、防火墙(例如,防火墙562)或分区中的其它计算资源。虽然在每个分区中示出了仅单个负载平衡器561或单个防火墙562,但是每个分区可以包括负载平衡器、防火墙二者和/或其它计算资源。
[0073] 在一些实施例中,一个共享物理资源所定义的集群可以与另一个共享物理资源所定义的集群有所不同。例如,主机A、B和C可以共享存储池X,因此关于存储池X形成集群;而主机A、B和D可以共享负载平衡器Y,由此关于负载平衡器Y形成不同集群。(主机C可以使用不同负载平衡器或根本不使用负载平衡器)。
[0074] 虽然如图5的存储池的示例中那样,计算资源可以被指定给特定集群,但是计算资源可以被更为广泛地进行分享。例如,防火墙可以服务于群聚中的一些或所有主机或者分区中的一些或所有主机。类似地,计算资源可以被更窄地进行分享。例如,防火墙可能仅服务集群中的一些主机,但是并不为它们中的全部。
[0075] 管理服务器可以存储例如它在数据库中所管理的物理计算资源之间的关联。因此,管理服务器可能能够识别组成每个集群、群聚或分区的个体物理计算资源。
[0076] 从客户端计算机501-504(或其它客户端计算机)所接收的请求的数量可以随时间而变化。如果从那些请求所生成的工作负载有所增长或者预期要有所增长,则管理服务器的管理员可以向分区添加主机以便适应增加的工作负载。主机例如可以由于缺少需求、废弃、硬件或软件错误等而从分区中去除。存储池、固件或其它计算资源也可以被添加或删减。另外,整个分区可以被从管理服务器510所管理的云中添加或者去除。
[0077] 对主机或其它物理计算资源的访问可以以各种方式被去除或限制。例如,当首次被添加至云时,资源可以缺省地被置于禁用状态。管理员或管理服务器510也能够将资源置于禁用状态。例如,如果错误报告或投诉指示资源存在潜在问题,则其可以被置于禁用状态以供测试。这可以由管理服务器510自动完成或者由管理服务器510的管理员人工完成。在处于禁用状态时,物理计算资源仅能够由管理服务器510的管理员访问,而不能被管理服务器510的其它用户、诸如客户端计算机501-504的其它用户所访问。该禁用状态允许管理员执行正常用户可能执行的所有任务,诸如请求创建虚拟机并使用虚拟机。一旦资源的正常操作得到验证,该资源就可以被置于启用状态。在启用状态,物理计算资源可以被用来实现来自正常用户的请求,诸如创建虚拟机的请求、存储数据的请求等。
[0078] 物理计算资源也可以被置于受限状态。在受限状态,一些用户请求可以被接受而其它则不被接受。例如,访问现有虚拟机的用户请求可以被接受,但是在物理资源上创建新的虚拟机的用户请求就会被拒绝。类似地,访问现有存储卷、防火墙或其它物理资源的请求可以被接受,但是分配新的存储卷、对附加资源进行防火墙保护或者对物理计算资源以其它方式进行扩展使用的请求则会被拒绝。如这些示例所说明的,受限状态可以被用来限制置于资源上的工作负载或者确保由资源提供最低水平的服务。如以下参考图8所描述的,受限状态可以被自动应用于资源。
[0079] 如果创建新的虚拟机的请求指定了诸如集群的资源群组,则管理服务器拒绝请求,除非在群组中的所有主机都处于不允许请求被实现的状态。如果群组中的一个或多个主机处于允许请求被实现的状态,诸如启用状态,则管理服务器可以将指示请求在可用物理计算资源之一上得以实现。在用户请求并未指定具体资源或资源群组的情况下,则请求可以被视为与指定可用于请求方的所有物理计算资源的请求相同。就像指定了要被用来实现请求的物理计算资源的群组的请求那样,除非所有资源都处于不允许请求被实现的状态,诸如受限状态,否则请求可以被实现。
[0080] 物理计算资源也可以被置于非管理状态。在非管理状态,没有业务可以在管理服务器和资源之间流动。管理服务器将不会将业务指向资源,并且从资源到管理服务器的任何业务都将被删除或者以其它方式被忽略。非管理状态允许进行中断资源操作的维护任务。例如,主机可以在进行更新或者以其它方式改变主机上运行的监管程序软件之前被置于非管理状态。
[0081] 虽然以上关于个体物理计算资源讨论了启用、禁用、受限和非管理状态,但是这些状态中的每一个都可以被应用于物理计算资源的群组,诸如集群、群聚和分区。为物理计算资源的群组指定状态在逻辑上等同于为群组中的每个且各个资源单独指定状态。然而,通过使得能够以该更高粒度水平设置状态,添加、去除、升级或以其它方式修改计算资源的处理可以得到简化。例如,不同于对分区中的数十、数百或甚至数千个物理计算资源中的每一个进行寻址,用于改变分区状态的单个命令可以允许对云进行更为有效地管理。之所以如此特别是因为资源一般以诸如群聚的单位被添加至分区。
[0082] 在管理服务器上可以包括比以上所描述的所有状态更少的状态。相反,可以有另外的状态可用。例如,可以包括维护状态。在维护状态中,类似于受限状态,并不分配新的虚拟机或其它虚拟资源。另外,现有虚拟机或其它虚拟资源被迁移至其它物理计算资源。仅针对还未被迁移的虚拟机或虚拟资源的请求在维护状态中被送至物理资源。虚拟机到另一主机的迁移例如可能由于虚拟机的持续使用而延迟。
[0083] 也可能使用以上所描述的状态的子集。例如,第一受限状态可以仅限制由一些用户创建新的虚拟机,而第二受限状态可以限制由所有用户创建新的虚拟机。
[0084] 物理计算资源在其状态变化时可能并不被通知。例如,处于受限、禁用或非管理状态的主机可以就像其处于启用状态中那样进行操作。处于受限、禁用或非管理状态的主机将由于处于这些状态之一而接收不到某些类型的请求,但是主机可能并不知道为何接收不到请求。如以上所讨论的,管理服务器可以基于物理资源的状态而阻塞或以其它方式重新指引用户或管理员请求。管理服务器可以维护物理计算资源及其状态的数据库。除了存储个体物理计算资源的状态之外,管理服务器还可以存储资源群组的状态。例如,群聚531可以与禁用状态相关联。这可以保证群聚531中的所有主机都被是禁用的,并且该群聚内的个体主机的记录可能无法被检查(并且可能不存在)。在其它实施例中,个体主机的记录可以优先于群组的记录。例如,如果记录显示主机571处于启用状态,则主机571即使在群聚531处于禁用状态的情况下也可能处于启用状态。
[0085] 诸如网关511或网关512的网关也可以基于物理计算资源的状态而阻塞请求。这在所有用户请求都通过管理服务器510进行路由的情况下提供了冗余。然而,这也使得各种状态所施加的限制在用户请求被直接路由到物理计算资源而不是通过管理服务器进行路由的实施例中得以被强制实施。网关可以简单地删除由于资源状态而不被允许的命令。网关也可以利用错误消息向请求方作出响应。网关可以维护其自己独立的每个物理资源的状态的数据库。可替换地,网关可以与管理服务器的数据库进行交互。
[0086] 图6图示了在向云添加新的物理计算资源时可以由管理服务器所执行的方法。在步骤601,识别新的资源。新的资源例如可以基于新的物理计算资源所广播的消息被自动识别。可替换地,新的资源可以基于从管理服务器的管理员所接收的一个或多个消息而被识别。新的资源可以是单个设备或者诸如集群、群聚或分区的设备群组。无论那种方式,在步骤602,将新的资源添加至管理服务器的状态数据库。默认地,新的物理计算资源被给予禁用状态。在步骤603,对新资源的任意请求都依据状态数据库进行处理。对于禁用状态,这意味着针对管理服务器的非管理员的请求不被送至新的资源,但是来自管理员的请求则被送至新的资源。以下参考图7对该步骤如何执行的更为详细的示例进行描述。在步骤604,从管理员接收指示物理计算资源的新状态的消息。新状态可以是启用状态、受限状态、非管理状态或者管理服务器所支持的任意其它状态。如果存在许多物理计算资源,则更新状态可以被应用于一些但非全部的物理计算资源。数据库在步骤605中进行更新,并且如下文将描述的,针对新资源的任意请求都可以在步骤606中依据更新的状态数据库进行处理。
[0087] 图7图示了在接收到针对云资源的请求时可以由管理服务器所执行的方法。在步骤701,接收请求。在步骤702,识别在其中允许请求的物理计算资源的(多个)状态。例如,来自非管理员的用于创建新虚拟机的请求可以被送至处于启用状态而不是禁用、受限或非管理状态的物理资源。
[0088] 在步骤703,识别(1)处于请求所识别的资源集合内并且(2)处于请求所允许的状态的所有的物理资源。继续以上的示例,并且假设请求指定了群聚534中的主机,在步骤703中识别群聚534中所有处于启用状态的机器。请求可以隐含地指定可以服务请求的主机的集合。例如,如果用户仅被允许访问群聚534中的资源,则用户的请求被隐含地局限于该群聚中的主机。相反,如果资源的分区、群聚或其它分组为第一用户保留,则来自第二用户的请求被隐含地限制于为第一用户所保留的那些以外的主机。
[0089] 如步骤704中所确定的,如果没有可用于对请求进行服务的资源,则在步骤705返回错误消息。在一些实施例中,针对具体资源的用户请求可以被视为优选。在一些实施例中,管理服务器可以搜索更宽的资源集合以找出可以实现请求的资源而不是立即返回错误消息。
[0090] 如步骤704中所确定的,如果识别出一个或多个物理计算资源,则在步骤706中选择所识别的资源之一。请求可以被送至第一识别资源,但是也已使用若干种其它技术。例如,可以对每个资源进行比较,并且可以选择具有最佳预期性能的资源。使用主机作为示例,可以选择具有最低平均处理器负载、存储器使用率或虚拟机数量的主机。在步骤707,请求被发送至所选择的资源以便得以实现。
[0091] 图8图示了基于性能信息而自动地改变一个或多个物理计算资源的状态的方法。该方法例如可以由管理服务器来执行。在步骤801,测量各个物理计算资源的性能。性能可以以各种方式来测量。可以使用的度量的示例包括针对请求的响应时间、处理器的平均利用率、存储池的平均带宽、防火墙的所处理规则的平均数量、每个主机上的虚拟机数量、存储池的总容量已经被分配或使用的百分比等。对于资源群组而言,可以跨每个群组的资源使用这些测量结果中的一些或全部的平均值。也可以使用群组的其它概要,诸如群组中的设备的最小或最大性能测量结果。而且,度量中的若干度量可以被组合为综合得分。例如,可以通过将主机上的虚拟机数量与主机的平均存储器使用率相加来创建组合得分。可替换地,这些度量中的若干度量可以在步骤803和806中单独考虑。
[0092] 在步骤802,确定所测量的资源是否已经处于受限状态。如果不是,则在步骤803,其在来自步骤801的性能测量结果指示性能低于阈值的情况下被置于受限状态(步骤804),否则其不被置于受限状态(步骤805)。
[0093] 如果资源已经处于受限状态,则在步骤806,确定来自步骤801的性能测量结果是否指示性能高于离开受限状态的阈值。如果性能测量结果不超过阈值,则资源状态不变(步骤805)。如果其超过了阈值,则资源在步骤807返回其之前的状态。在一些实施例中,仅使用以上关于图8所描述的处理对处于启用状态的资源进行评估。在这些实施例中,步骤807可以等同于为资源指定启用状态。在一些实施例中,进入受限状态的阈值性能水平可以大于离开受限状态的阈值性能水平。该间隙可以有助于防止对个体资源的状态的快速变化。状态的快速变化例如还可以通过以在时间上分隔开来的间隔测量性能而受到限制。
[0094] 已经在其说明性实施例的方面度本公开内容的各方面进行了描述。本领域技术人员通过回顾本公开内容将认识到处于所附权利要求的范围和精神之内的多种其它实施例、修改和变化。例如,本领域技术人员将会认识到,说明性附图中所图示的步骤可以以与所引用顺序不同的顺序来执行,并且所图示的一个或多个步骤依据本公开内容的各方面而可以是可选的。本领域技术人员特别是可以鉴于前述教导来进行修改。例如,以上所提到的实施例的每个要素可以被单独利用,或者以与其它实施例的要素的组合或子组合而得以利用。还要认识到和理解的是,可以在不背离以下权利要求的精神和范围的情况下进行修改。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈