虚拟计算机和服务的制作方法

文档序号:6495962阅读:222来源:国知局
虚拟计算机和服务的制作方法
【专利摘要】一种虚拟计算机服务,包括:在网络服务器计算机处通过网络接收加密映像和计算机用户的用户凭证,并将所述加密映像和所述用户凭证存储在以通信方式耦合到所述网络服务器计算机的映像库中。所述虚拟计算机服务还包括接收启动会话的请求,所述请求包括所述用户凭证。当成功验证所述用户凭证时,所述虚拟计算机服务包括从所述映像库中选择所述加密映像、对所述加密映像进行解密、针对与所述计算机关联的虚拟计算机激活会话,以及一旦完成所述会话,将所述会话的会话详细信息与所述映像同步并将同步后的映像存储在所述映像库中。
【专利说明】虚拟计算机和服务
【背景技术】
[0001]本发明涉及云计算,更具体地说,涉及虚拟计算机和虚拟计算服务。
[0002]虚拟或网络计算机(也称为网络桌面或云桌面)指在另一个联网计算机上或者计算云中存储和/或运行的计算设备。虚拟个人计算机(VPC)的规模经济和单一映像管理是大型企业运行虚拟计算的很有说服力的理由。
[0003]三种云计算模型包括私有、公共和混合。在私有云中,信息技术(IT)功能通过私有网络(例如,局域网或虚拟专用网络)实现为企业防火墙之后的服务。在公共云中,该功能通过公共网络(例如因特网)作为服务提供。在混合云中,该功能被配置为基于各种因素(例如安全需要、业务策略以及业务或企业使用的基础架构的性质),通过公共和私有网络的组合来实现。

【发明内容】

[0004]根据本发明的一个实施例,一种用于实现虚拟计算机服务的方法包括在网络服务器计算机处通过网络接收加密映像和计算机用户的用户凭证,并将所述加密映像和所述用户凭证存储在以通信方式耦合到所述网络服务器计算机的映像库中。所述方法还包括接收启动会话的请求,所述请求包括所述用户凭证。当成功验证所述用户凭证时,所述方法包括从所述映像库中选择所述加密映像、对所述加密映像进行解密、针对与所述计算机关联的虚拟计算机激活会话,以及一旦完成所述会话,将所述会话的会话详细信息与所述映像同步并将冋步后的映像存储在所述映像库中。
[0005]根据本发明的另一个实施例,提供一种用于实现虚拟计算机服务的系统。所述系统包括网络服务器计算机和可由所述网络服务器计算机执行的应用。所述应用被配置为实现一种方法。所述方法包括在所述网络服务器计算机处通过网络接收加密映像和计算机用户的用户凭证,并将所述加密映像和所述用户凭证存储在以通信方式耦合到所述网络服务器计算机的映像库中。所述方法还包括接收启动会话的请求,所述请求包括所述用户凭证。当成功验证所述用户凭证时,所述方法包括从所述映像库中选择所述加密映像、对所述加密映像进行解密、针对与所述计算机关联的虚拟计算机激活会话,以及一旦完成所述会话,将所述会话的会话详细信息与所述映像同步并将同步后的映像存储在所述映像库中。
[0006]根据本发明的另一个实施例,提供一种用于实现虚拟计算机服务的计算机程序产品。所述计算机程序产品包括使用计算机可读程序代码编码的存储介质,当所述计算机可读程序代码由网络服务器计算机执行时,导致所述网络服务器计算机实现一种方法。所述方法包括在所述网络服务器计算机处通过网络接收加密映像和计算机用户的用户凭证,并将所述加密映像和所述用户凭证存储在以通信方式耦合到所述网络服务器计算机的映像库中。所述方法还包括接收启动会话的请求,所述请求包括所述用户凭证。当成功验证所述用户凭证时,所述方法包括从所述映像库中选择所述加密映像、对所述加密映像进行解密、针对与所述计算机关联的虚拟计算机激活会话,以及一旦完成所述会话,将所述会话的会话详细信息与所述映像同步并将同步后的映像存储在所述映像库中。[0007]根据本发明的另一个实施例,提供一种用于实现虚拟计算机服务的方法。所述方法包括:在计算机处接收用户凭证;从存储在所述计算机本地的存储设备中的数据创建映像;使用所述用户凭证对所述映像进行加密;压缩加密后的映像;将所述加密后的映像和所述用户凭证上传到网络服务器系统;以及在计算机引导和验证所述用户凭证时,通过网络经由与所述计算机关联的虚拟计算机启动会话,所述会话访问所述加密后的映像并对所述加密后的映像进行解密。
[0008]通过本发明的技术实现其它特性和优点。在此详细描述了本发明的其它实施例和方面,并且它们被视为要求保护的本发明的一部分。为了更好地理解本发明以及优点和特性,参考说明书和附图。
【专利附图】

【附图说明】
[0009]在说明书结尾处的权利要求中具体指出并明确要求保护了被视为本发明的主题。从下面结合附图的详细描述,本发明的上述和其它特性和优点将变得显而易见,这些附图是:
[0010]图1示出根据本发明的一个实施例的云计算节点;
[0011]图2示出根据本发明的一个实施例的云计算环境;
[0012]图3示出根据本发明的一个实施例的抽象模型层;
[0013]图4示出根据本发明的一个实施例的用于创建和实现虚拟计算机的过程的流程图;
[0014]图5示出根据本发明的一个实施例的用于提供虚拟计算服务的过程的流程图;以及
[0015]图6示出一种计算机程序产品。
【具体实施方式】
[0016]各示例性实施例提供一种支持云的自助式应用,该应用能够使用户单独或共同操作,其中将现有计算机(例如,个人计算机(PCXMacIntosh?或智能电话)迁移到在计算和存储云中托管的虚拟版本。虚拟计算服务支持多种“运行模式”,其中可以动态更改体验虚拟计算机的方式。这些运行模式有助于促进灾难恢复选择并且解决系统或网络性能问题。通过创建和添加经由网络访问的基于独特云的服务,解决复杂性和控制问题,方法是建立允许最终用户或客户机参与该计算范例而无需大量信息技术(IT)人员的开销和支持的用户体验,或者获得网络计算基础架构的设计和设置方面的专业知识。因为可以通过万维网轻松与整个服务交互,所以虚拟计算服务能够使运行计算机设备的任何人将计算机转换为在云中托管的虚拟计算机。通过虚拟计算机设备在云中运行的一些优点包括硬件自由、灾难恢复帮助、集中的操作系统(OS)管理和成本节省。
[0017]首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
[0018]云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
[0019]特征包括:
[0020]按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
[0021]广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
[0022]资源池:提供者的计算资源被归入资源池并通过多租户(mult1-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
[0023]迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
[0024]可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
[0025]服务模型如下:
[0026]软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
[0027]平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
[0028]基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
[0029]部署模型如下:
[0030]私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
[0031]共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
[0032]公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
[0033]混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
[0034]云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
[0035]现在参考图1,其中显示了云计算节点的一个例子。图1显示的云计算节点10仅仅是适合的云计算节点的一个示例,不应对本发明实施例的功能和使用范围带来任何限制。总之,云计算节点10能够被用来实现和/或执行以上所述的任何功能。
[0036]云计算节点10具有计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。众所周知,适于与计算机系统/服务器12 —起操作的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任意系统或设备的分布式云计算环境,等等。
[0037]计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括执行特定的任务或者实现特定的抽象数据类型的例程、程序、目标程序、组件、逻辑、数据结构等。计算机系统/服务器12可以在通过通信网络链接的远程处理设备执行任务的分布式云计算环境中实施。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
[0038]如图1所示,云计算节点10中的计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理器16)的总线18。
[0039]总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA (EISA)总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
[0040]计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是能够被计算机系统/服务器12访问的任意可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0041]系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以还包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如⑶-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。如下面进一步示出和描述的,存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0042]具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在存储器28中,这样的程序模块42包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
[0043]计算机系统/服务器12也可以与一个或多个外部设备14 (例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口 22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它组件通信。应当明白,尽管图中未示出,其它硬件和/或软件组件可以与计算机系统/服务器12—起操作,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统
坐寸ο
[0044]现在参考图2,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图2显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
[0045]现在参考图3,其中显示了云计算环境50 (图2)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:
[0046]硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机,例如IBM ?zSeries?系统;基于RISC (精简指令集计算机)体系结构的服务器,例如IBM pSeries ?系统;IBM xSeries ?系统;IBM BladeCenter ?系统;存储器件;网络和网络组件。软件组件的例子包括:网络应用服务器软件,例如IBM WebSphere ?,应用服务器软件;数据库软件,例如 IBMDB2 ?数据库软件。(IBM, zSeries, pSeries, xSeries, BladeCenter, WebSphere以及DB2是国际商业机器公司在全世界各地的注册商标)。
[0047]虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟专用网络)、虚拟应用和操作系统,以及虚拟客户端。
[0048]在一个实施例中,硬件和软件层60以及虚拟层62之一或两者可以包括边缘组件,例如网络服务器前端和映像高速缓存,以及映像库存储(例如,在高性能RAID存储区域网络(SAN)中)。
[0049]在一个示例中,管理层64可以提供下述功能:资源供应功能:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能(未示出):为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。在一个示例中,在管理层64中的虚拟计算服务应用70实现在此描述的虚拟计算服务功能。
[0050]工作负载层66提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学提供;数据分析处理;交易处理;以及用于移动设备(例如,54A、54C和54N以及在云计算环境50中的移动节点10)访问云计算服务的移动桌面。
[0051]虚拟计算服务应用70包括一个或多个算法以便实现在此描述的实施例,从而提供虚拟计算服务。在一个实施例中,虚拟计算服务应用70耦合到和/或驻留在图1所示的存储器28中。此外,虚拟计算服务应用70的实施例包括图1所示的程序/实用工具40的一个或多个程序模块42。在另一实施例中,虚拟计算服务应用70是管理层64的一部分,并且在位于硬件和软件层60中的硬件上执行。但是,在系统上运行的虚拟实例可以在虚拟层62中实现。
[0052]示例性虚拟计算服务可以通过客户机系统(例如,计算机系统12)和网络服务系统实现,这些系统共同被配置为能够使任何计算机设备在系统管理程序(如果选择)的控制或管理下被映像、放置,并且或者在计算机设备本地运行,或者由网络服务系统远程运行,或者以混合方式运行。映像(如在此使用的)指加载并驻留在物理设备(例如内部本地硬盘或静态存储器件)上的操作系统、适当的设备驱动程序代码和应用软件的组合。执行设备(例如,膝上型或台式个人计算机)使用映像来弓I导并运行计算环境。
[0053]在一个实施例中,虚拟计算服务可以部分地通过客户机系统(例如,计算机系统12)下载的程序指令实现,这些程序指令在计算机系统12中执行以便创建可引导映像,然后将可引导映像上传到虚拟计算服务。程序指令最初可以作为具有系统管理程序和映像工具(用于创建可引导映像)的CD-ROM而提供给计算机系统12,或者可以由计算机系统12根据虚拟计算服务的请求/注册而下载。程序指令被配置为在映像过程中捕获计算机设备的特征(例如,硬件/软件类型、版本和要求),并且将该信息返回到虚拟服务器(例如,云环境50中提供虚拟计算服务的节点10之一)。对计算机系统12硬盘驱动器(例如,存储器28)进行映像、加密、压缩并将其上传到虚拟服务器。在一个实施例中,为了访问在云环境50中映像和存储的数据,需要计算机系统12的用户具有可引导CD-ROM的实际拥有权和唯一凭证(例如,唯一标识符/密码组合)。
[0054]如果用户丢失原始计算机系统12或可引导CD-ROM,则在适用的情况下,可以由虚拟计算服务提供的验证过程恢复并运行映像,从而下载新映像并在不同计算机设备上引导。用户现在可以选择从其它设备访问虚拟计算服务。
[0055]如上所述,虚拟计算服务可以以多种运行模式实现,现在将在示例性实施例中描述这些运行模式。一旦注册并被配置为接收虚拟计算服务之后,计算机系统12在此称为虚拟计算设备或虚拟计算机。
[0056]在第一运行模式中,虚拟计算机(例如,计算机系统12)和系统管理程序在虚拟计算机提供的硬件本地运行。在该模式中,系统管理程序仅确保当网络连接性可用时,虚拟计算机映像和本地映像之间存在同步。本地映像是上面描述的映像,其在计算机设备本地驻留并运行。“远程”映像是使用工具产生的等效映像,其被上传到云存储设备。这两个映像在本地运行时必须同步,以便确保本地和远程映像保持相同状态(例如,数据和设置以及文件),以便它可以用作本地副本的虚拟实例。这是高性能运行模式以及断开连接运行模式,可以用于以下情况:其中没有与云服务的高带宽连接。可以实现系统管理程序以便跨硬件类型实现系统移动性。应该理解,如果不需要系统移动性,则可以去除系统管理程序。
[0057]在第二模式中,虚拟计算服务以混合运行方式运行应用并且通过标准安全协议与虚拟计算机通信,以便提供图形的本地呈现和文件的存储器缓存。
[0058]在第三运行模式中,虚拟计算服务提供所有应用运行和呈现。该模式通过允许网络浏览器直接与虚拟计算服务交互并且呈现桌面,提供对虚拟计算机的应急访问。所有处理、文件存储等都由虚拟计算服务执行。
[0059]在一个实施例中,运行模式是可选择的并在“映像所有者”(例如,计算设备的用户)的控制下。具有多种方式,其中可以支持切换运行模式。例如,可以在引导时显示菜单,从而提示用户选择运行模式。在更复杂的方式中,可以添加小应用,其允许在引导系统时实时切换运行模式。备选地,可以使用以编程方式选择的方法使计算设备能够根据连接性、虚拟和软件可用性等可能准则,智能和自动地选择运行模式。
[0060]现在转到图4,现在将描述用于创建和实现虚拟计算机的示例性过程。图4中描述的过程假设计算机设备12的用户已启动向虚拟计算服务的注册过程以便接收云计算服务,并且已下载虚拟计算服务指令(例如,通过CD-ROM)。这些指令也称为虚拟计算服务应用70。
[0061]创建和实现虚拟计算机支持实时迁移过程。当从安全域内通过不安全域移动虚拟机(例如,服务环境的一部分,例如被移动但仍连接到同一数据库服务器的网络应用服务器)时,执行实时迁移过程。例如,将服务器跨广域网或城域网从一个数据中心移动到另一个数据中心。实时迁移过程使用安全策略(例如IPSec)和过滤机制来保护该跨域/数据中心移动的数据。这种保护包括不允许在途中的不安全网络上泄露未受保护的数据。使用该保护机制,可以利用实时迁移过程以便通过不安全网络移动服务器或虚拟机。该机制允许的一些用例包括数据中心整合、灾难恢复和容量规划等。
[0062]在步骤402,用户从⑶-ROM或介质引导计算机设备12,并且在步骤404建立唯一个人密码(凭证)。个人密码将用户/设备与云计算环境50中的其它用户/设备区分开,并且用于设置加密算法的种子以便对来自计算机设备12的映像数据进行加密。所述指令导致去往和来自被迁移计算机系统的数据传输停止,以便保护数据不会以明文暴露。这可以包括关闭用于非系统管理数据的接口(多个),以便防止接收入站业务并丢弃出站业务,或者通过临时放入拒绝过滤器中以便丢弃系统管理数据之外的所有业务。这也确保在移动虚拟计算机之后以及在可以安装IPSec策略以保护业务之前,不允许入站/出站业务。经由指令从计算机系统12的本地硬盘驱动器读取二进制磁盘驱动器映像,并且使用加密密钥对数据进行加密。
[0063]在步骤406,指令针对硬件堆栈运行简档并且将系统简档文档发送到远程服务器。运行简档包括选择转换软件包中提供的诊断工具,这些诊断工具可以在后台运行并监视所有进程、内存消耗、CPU利用率和正常使用下生成的I/O活动。这将运行在统计上有效的一段时间,在某些情况下运行数天,并且允许软件创建系统“简档”。在大多数情况下,可以在几分钟内获得相当准确的简档。简档可以是统计值的平均和加权集合,这些统计值表示正常负载下的设备使用模式、文件大小和特定情况下使用的设备类型。简档与映像捆绑在一起并且进行维护和更新。它在本地系统上构建和维护,并且被传输到远程系统(例如,云虚拟系统)。
[0064]在步骤408,所述指令提示用户选择“上传映像”选项。选择之后,在步骤410,指令对计算机设备12的磁盘驱动器进行映像,压缩映像并将压缩后的映像上传到虚拟服务系统。一旦上传,注册用户并且配置计算机系统12以便在云计算环境50中运行。但是此时,去往和来自虚拟计算机的所有业务(系统管理数据除外)均被丢弃或拒绝。
[0065]在步骤412,计算机设备12 (现在为虚拟计算机)的用户从本地⑶-ROM或介质引导计算机,这将虚拟计算机连接到云计算环境50和虚拟服务器系统。用户输入凭证,删除临时拒绝策略以便允许通信,在步骤414虚拟计算机从虚拟计算服务的映像库中选择适当的映像,并且对映像进行解密。在步骤416,用户在云计算环境50中的虚拟计算机上启动会话。系统管理程序可以分配所有可用的存储器(例如,在云存储中分配给虚拟机的存储器)以便运行和缓存系统。一旦完成会话,在步骤418,将会话详细信息存储在虚拟计算机本地并且将其与映像库中的映像同步。
[0066]示例性虚拟计算服务还为虚拟计算设备提供恢复和完整映像备份服务。恢复和备份服务可以由通过虚拟计算服务应用70配置的指令实现,或者可以在单独的CD-ROM上提供。所述指令提供选项菜单,虚拟计算机的用户可以从菜单中进行选择。在备份操作中,菜单指示用户针对要备份的数据选择备份选项。一旦选择,指令就针对数据执行二进制转储和压缩,并将压缩后的数据上传到云计算环境50中的映像库。在恢复操作中,指令提示用户在菜单上选择源选项。选择之后,指令执行二进制平铺(tile)传输、扩展操作,然后将恢复后的数据写入到虚拟计算机的本地硬盘驱动器。
[0067]如上所述,虚拟计算服务提供虚拟计算机映像加密服务。现在转到图5,现在将在一个实施例中描述用于实现该服务的过程。在步骤502,当计算机系统12的用户注册使用虚拟计算服务(例如,用户签订有关与服务关联的条款和费用的协议)时,创建具有密钥的唯一映像。在步骤504,将唯一映像和密钥之间的关联存储在虚拟服务器系统的服务数据库中(例如,存储在虚拟层62的虚拟存储系统中以及图3的硬件和软件层60所示的硬件元件中)。
[0068]在步骤506,提示用户在计算机系统12上下载唯一映像。下载时,针对注册使用服务的特定类型计算机,使用适当的系统管理程序(如果需要)、唯一密钥和工具/应用创建可引导CD。可引导CD包括被加密和压缩的唯一映像。虚拟服务器系统包括指令(例如,通过虚拟计算服务应用70)以便请求和接收唯一映像,并且在步骤508,上传唯一映像并在虚拟服务器系统处接收唯一映像,然后在步骤510,虚拟服务器系统将唯一映像存储在计算云环境50内的映像数据库中。
[0069]可以根据系统环境调整迁移的虚拟计算机的连接性过程。例如,如果通过广域网(WAN)或城域网(MAN)跨数据中心实现第2层VLAN (例如,通过MPLS的第2层VLAN),则在虚拟计算机的MAC地址移动到远程数据中心之后,可能要求确保交换机将转发到该MAC地址。交换机基于VLAN (例如,透明桥接协议)中的目的地MAC转发帧,因此在虚拟计算机的MAC被移动到远程之后,需要重新配置交换机。使用第3层连接性(S卩,虚拟计算机的IP地址将跨第3层路由域从数据中心移动到另一个数据中心),如果假设移动全部子网,则需要通过路由核心来更新到该子网的可达性。这可能需要一些时间,期间仍可能将数据分组转发到虚拟计算机在移动之前连接到的原始路由器。这可以通过以下操作解决:针对受影响的移动的IP地址,创建从原始路由器到新路由器的隧道。更新路由器可达性之后,不再需要隧道并且将其删除。对于未由实时迁移(LM)管理的连接(例如,到正在被移动的虚拟计算机的远程连接),以及未加保护的连接(如果一旦移动虚拟计算机,则需要保护这些连接(例如,通过IPSec)),需要在发生迁移之前重设它们。在没有策略定义的安全协议的情况下,迁移之后的虚拟计算机中的策略可能不允许建立新连接。
[0070]为了减少必须重设的非受管连接的数量,可以采取以下操作:1)可以检查要迁移的虚拟计算机上的策略以便确定使用IPSec的连接一这些连接可以保持运行;2)可以检查要迁移的虚拟计算机上的策略以便确定使用应用透明-传输层安全性(AT-TLS)的连接一这些连接可以保持运行;以及3)绑定到已知为无条件TLS端口的端口的连接可以保持运行。
[0071]为了执行这些步骤,实时迁移可以从虚拟机请求连接列表(例如,通过Netstat命令)。对于策略检查,实时迁移可以构建条件模拟器,然后由策略查找例程处理。每次在策略中查找连接的结果可以产生一种结果,该结果描述连接是否由IPSec或AT-TLS保护。此夕卜,实时迁移可以被配置有已知为无条件TLS端口的端口列表(例如,在应用被允许无条件使用TLS的情况下),以便判定连接是否正在使用TLS。
[0072]技术效果包括一种当虚拟机通过不太安全的介质(例如,因特网、广域网或城域网)从安全环境实时迁移到另一个环境时,在服务环境(例如,软件即服务或SaaS)中保护虚拟机的数据传输的方法。通过与托管平台系统管理程序进行协调,虚拟机及时冻结(即,捕获所有软件状态)并且移动到新托管平台并重新激活,而不影响软件和网络连接(例如,到数据库的连接保持不变,只是临时暂停)、存储器状态以及其它资源。实时迁移包括停止去往和来自正在被迁移的虚拟机的数据传输、将虚拟机移动到新托管平台并且在新托管平台上重新启动,同时丢弃或拒绝进出虚拟机的所有业务,直到安装了用于被移动的虚拟机以及与虚拟机通信的服务器的适当IPSec策略为止。然后删除临时拒绝策略。
[0073]所属【技术领域】的技术人员知道,本发明的各个方面可以实现为系统、方法或计算机程序产品600,如图6所示。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、驻留软件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。此外,本发明的各个方面还可以实现为在一个或多个计算机可读介质602中的计算机程序产品的形式,计算机可读介质602中包含计算机可读的程序代码604。
[0074]可以采用一个或多个计算机可读介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是一但不限于一电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0075]计算机可读的信号介质可以包括例如在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括一但不限于一电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0076]计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括一但不限于一无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0077]可以以一种或多种程序设计语言的任意组合来编写用于执行本发明的各个方面的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言一诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言一诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络一包括局域网(LAN)或广域网(WAN) —连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0078]下面将参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。
[0079]也可以把这些计算机程序指令存储在计算机可读介质中,这些指令使得计算机、其它可编程数据处理装置、或其它设备以特定方式工作,从而,存储在计算机可读介质中的指令就产生出包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的指令的制造品(article of manufacture)0
[0080]也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令提供实现流程图和/或框图中的一个或多个方框中规定的功能/动作的过程。
[0081]附图中的流程图和框图显示了根据本发明的不同实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0082]在此使用的术语只是为了描述特定的实施例并且并非旨在作为本发明的限制。如在此使用的,单数形式“一”、“一个”和“该”旨在同样包括复数形式,除非上下文明确地另有所指。还将理解,当在此说明书中使用时,术语“包括”和/或“包含”指定了声明的特性、整数、步骤、操作、元素和/或组件的存在,但是并不排除一个或多个其它特性、整数、步骤、操作、元素、组件和/或其组合的存在或增加。
[0083]下面权利要求中的对应结构、材料、操作以及所有功能性限定的装置或步骤的等同替换,旨在包括任何用于与在权利要求中具体指出的其它元件相组合地执行该功能的结构、材料或操作。出于示例和说明目的给出了对本发明的描述,但所述描述并非旨在是穷举的或是将本发明限于所公开的形式。在不偏离本发明的范围和精神的情况下,对于所属【技术领域】的普通技术人员来说许多修改和变化都将是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理和实际应用,并且当适合于所构想的特定使用时,使得所属【技术领域】的其它普通技术人员能够理解本发明的具有各种修改的各种实施例。
[0084]在此示出的流程图只是一个实例。在此描述的这些图或步骤(或操作)可以存在许多变型而不偏离本发明的精神。例如,可以按不同的顺序执行步骤,或者可以添加、删除或修改步骤。所有这些变型都被视为要求保护的本发明的一部分。
[0085]尽管描述了本发明的优选实施例,但所属【技术领域】的技术人员应该理解,可以在现在和将来进行各种属于下面权利要求范围的改进和增强。这些权利要求应该被解释为维护对最初描述的本发明的正确保护。
【权利要求】
1.一种方法,包括: 在网络服务器计算机处通过网络接收加密映像和计算机用户的用户凭证,并将所述加密映像和所述用户凭证存储在以通信方式耦合到所述网络服务器计算机的映像库中; 接收启动会话的请求,所述请求包括所述用户凭证; 当成功验证所述 用户凭证时,从所述映像库中选择所述加密映像; 对所述加密映像进行解密; 针对与所述计算机关联的虚拟计算机激活会话;以及 一旦完成所述会话,将所述会话的会话详细信息与所述映像同步并将同步后的映像存储在所述映像库中。
2.根据权利要求1的方法,还包括为所述计算机提供指令,所述指令被配置为从所述计算机本地的存储设备创建映像、接收所述用户凭证、使用所述用户凭证对所述映像进行加密,以及压缩加密后的映像。
3.根据权利要求2的方法,其中所述指令还被配置为通过针对存储在所述计算机上的计算机数据执行二进制转储和压缩而在所述计算机上执行备份操作,所述方法还包括通过所述网络接收由所述二进制转储和压缩产生的计算机数据,以及将所述计算机数据作为新映像存储在所述映像库中。
4.根据权利要求2的方法,其中所述指令还被配置为在所述计算机上执行恢复操作,方式为:经由选项菜单选择源选项并执行二进制平铺传输和扩展操作,以及将恢复后的数据写入到所述虚拟计算机的存储设备。
5.根据权利要求2的方法,其中所述指令还被配置为创建包括与所述映像关联的唯一密钥的可引导盘,所述唯一密钥可操作以便对所述映像进行加密。
6.根据权利要求5的方法,其中所述可引导盘包括系统管理程序。
7.根据权利要求1的方法,其中所述网络是云计算网络。
8.一种系统,包括: 网络服务器计算机;以及 应用,其可由所述网络服务器计算机执行,所述应用被配置为实现一种方法,所述方法包括: 在所述网络服务器计算机处通过网络接收加密映像和计算机用户的用户凭证,并将所述加密映像和所述用户凭证存储在以通信方式耦合到所述网络服务器计算机的映像库中; 接收启动会话的请求,所述请求包括所述用户凭证; 当成功验证所述用户凭证时,从所述映像库中选择所述加密映像; 对所述加密映像进行解密; 针对与所述计算机关联的虚拟计算机激活会话;以及 一旦完成所述会话,将所述会话的会话详细信息与所述映像同步并将同步后的映像存储在所述映像库中。
9.根据权利要求8的系统,其中所述网络服务器计算机为所述计算机提供指令,所述指令被配置为从所述计算机本地的存储设备创建映像、接收所述用户凭证、使用所述用户凭证对所述映像进行加密,以及压缩加密后的映像。
10.根据权利要求9的系统,其中所述指令还被配置为通过针对存储在所述计算机上的计算机数据执行二进制转储和压缩而在所述计算机上执行备份操作,所述方法还包括通过所述网络接收由所述二进制转储和压缩产生的计算机数据,以及将所述计算机数据作为新映像存储在所述映像库中。
11.根据权利要求9的系统,其中所述指令还被配置为在所述计算机上执行恢复操作,方式为:经由选项菜单选择源选项并执行二进制平铺传输和扩展操作,以及将恢复后的数据写入到所述虚拟计算机的存储设备。
12.根据权利要求9的系统,其中所述指令还被配置为创建包括与所述映像关联的唯一密钥的可引导盘,所述唯一密钥可操作以便对所述映像进行加密。
13.根据权利要求12的系统,其中所述可引导盘包括系统管理程序。
14.根据权利要求8的系统,其中所述网络是云计算网络。
15.一种计算机程序产品,其包括使用计算机可读程序代码编码的存储介质,当所述计算机可读程序代码由网络服务器计算机执行时,导致所述网络服务器计算机实现一种方法,所述方法包括: 在所述网络服务器计算机处通过网络接收加密映像和计算机用户的用户凭证,并将所述加密映像和所述用户凭证存储在以通信方式耦合到所述网络服务器计算机的映像库中; 接收启动会话的请求,所述请求包括所述用户凭证; 当成功验证所述用户凭证时,从所述映像库中选择所述加密映像; 对所述加密映像进行解密; 针对与所述计算机关联的虚拟计算机激活会话;以及 一旦完成所述会话,将所述会话的会话详细信息与所述映像同步并将同步后的映像存储在所述映像库中。
16.根据权利要求15的计算机程序产品,其中所述方法还包括为所述计算机提供指令,所述指令被配置为从所述计算机本地的存储设备创建映像、接收所述用户凭证、使用所述用户凭证对所述映像进行加密,以及压缩加密后的映像。
17.根据权利要求16的计算机程序产品,其中所述指令还被配置为通过针对存储在所述计算机上的计算机数据执行二进制转储和压缩而在所述计算机上执行备份操作,所述方法还包括通过所述网络接收由所述二进制转储和压缩产生的计算机数据,以及将所述计算机数据作为新映像存储在所述映像库中。
18.根据权利要求16的计算机程序产品,其中所述指令还被配置为在所述计算机上执行恢复操作,方式为:经由选项菜单选择源选项并执行二进制平铺传输和扩展操作,以及将恢复后的数据写入到所述虚拟计算机的存储设备。
19.根据权利要求16的计算机程序产品,其中所述指令还被配置为创建包括与所述映像关联的唯一密钥的可引导盘,所述唯一密钥可操作以便对所述映像进行加密。
20.根据权利要求19的计算机程序产品,其中所述可引导盘包括系统管理程序。
21.根据权利要求15的计算机程序产品,其中所述网络是云计算网络。
22.—种方法,包括: 在计算机处接收用户凭证;从存储在所述计算机本地的存储设备中的数据创建映像; 使用所述用户凭证对所述映像进行加密; 压缩加密后的映像; 将所述加密后的映像和所述用户凭证上传到网络服务器系统;以及在计算机引导和验证所述用户凭证时,通过网络经由与所述计算机关联的虚拟计算机启动会话,所述会话访问所述加密后的映像并对所述加密后的映像进行解密。
23.根据权利要求22的方法,还包括: 在所述计算机上存储所述会话的会话详细信息。
【文档编号】G06F12/14GK103718164SQ201280036211
【公开日】2014年4月9日 申请日期:2012年7月12日 优先权日:2011年7月21日
【发明者】P·P·罗德里格茨 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1