CN105074665B - 用于实现桌面虚拟化的迁移工具 - Google Patents

用于实现桌面虚拟化的迁移工具 Download PDF

Info

Publication number
CN105074665B
CN105074665B CN201480015132.XA CN201480015132A CN105074665B CN 105074665 B CN105074665 B CN 105074665B CN 201480015132 A CN201480015132 A CN 201480015132A CN 105074665 B CN105074665 B CN 105074665B
Authority
CN
China
Prior art keywords
image
computing device
endpoint computing
disk
data
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.)
Expired - Fee Related
Application number
CN201480015132.XA
Other languages
English (en)
Other versions
CN105074665A (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 CN105074665A publication Critical patent/CN105074665A/zh
Application granted granted Critical
Publication of CN105074665B publication Critical patent/CN105074665B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了用于迁移组织的多个端点计算设备的至少一种方法和系统。将用户应用、数据和设置从组织的多个端点计算设备迁移到采用瘦客户端实现的客户端服务器操作环境。服务器可执行用于部署瘦客户端实现的软件。通过为每一个端点计算设备创建个性化虚拟化盘的方式,在没有对用户安装的应用、个性化设置和用户数据的修改、变化或损失的条件下,组织可容易实施至瘦客户端虚拟化桌面实现的迁移。

Description

用于实现桌面虚拟化的迁移工具
相关申请的交叉引用
本申请要求题目为“用于实现桌面虚拟化的迁移工具(Migration Tool forImplementing Desktop Virtualization)”且于2013年3月14日提交的美国专利申请第13/826,820号的优先权,其整体通过引用被并入本文。
领域
本文描述的各方面总体上涉及到计算机和计算机系统的虚拟化。更具体地,本文描述的各方面提供用于将位于一个或多个网络中的多个计算设备迁移到使用瘦客户端架构的客户端服务器操作环境的方法和系统。
背景
客户可发现由于将他们的现有环境迁移到使用瘦客户端架构的那些环境的复杂性,在他们的整个企业部署虚拟机实现或结构是具有挑战性的。例如,客户可能希望部署瘦客户端解决方案,但是很可能在其组织中具有上百个(如果不是上千个)计算设备,其组织中每一个端点计算设备可包括真实的PC(个人计算机)。取决于这些PC的管理配置,这些PC中的每一个都可安装其自身独特的数据、应用、设置和其他数据。
当将组织中的计算设备迁移到瘦客户端架构时,如果执行完迁移或转换之后,最终用户的桌面环境中所使用的一个或多个应用消失或如果一个或多个应用的配置和/或设置改变了,那么客户端计算设备的最终用户可能生气或不满。当这种情况发生时,可能必须根据最终用户的参数选择来重新安装和重新配置一个或多个应用。而且,如果在转换过程中他的桌面环境被改变或变化,最终用户可能更加不满。
概要
下文呈现本文所述的各个方面的简单概述。该概述并不是广义的综述,亦非旨在确定关键或重要元素或描绘权利要求的范围。以下概述仅仅以简化形式呈现一些概念,作为对以下提供的更详细描述的介绍性的前言。
为克服上述现有技术中的限制,并克服在阅读和理解本说明书时将变得明显的其他限制,本文所述的方面涉及将组织的多个端点计算设备迁移到采用瘦客户端实现的客户端服务器操作环境中。迁移工具允许通过采用瘦客户端架构来对虚拟桌面基础结构的简单采用和迁移等。
本文描述的各方面提供:使用一个或多个遥测采集代理从多个端点计算设备中的每一个端点计算设备收集数据,基于每个端点计算设备的数据创建个性化虚拟化盘,并使用个性化虚拟化盘来实现瘦客户虚拟化桌面。个性化虚拟化盘被用于产生对应于每一个端点计算设备的一个或多个用户安装的应用、用户数据和用户设置。
本文描述的一些方面通过基于所收集的数据从镜像卸载(de-installing)软件来为每一个端点计算设备提供个性化虚拟化盘的创建,其中,所述软件包括操作系统和在多个端点计算设备中的所有端点计算设备中共同使用的一个或多个应用。
附图简述
可通过参照下面结合附图的描述获得对本文所描述的方面和其优点的更完整的理解,其中相似的参考数字表示相似的特征,且其中:
图1示出的是可根据本文所描述的一个或多个说明性方面使用的说明性的计算机系统架构。
图2示出的是可根据本文描述的一个或多个说明性方面来使用的说明性的远程访问系统架构。
图3示出的是可根据本文所描述的一个或多个说明性方面使用的说明性的虚拟化系统架构。
图4示出的是可根据本文所描述的一个或多个说明性方面使用的说明性的基于云的系统体系结构。
图5示出的是用于提供将来自组织的多个计算设备中的应用、数据和设置迁移到采用瘦客户端实现的客户端服务器操作环境中的方法的操作性流程图。
图6示出的是用于提供为组织的一个或多个端点(或者端点计算设备)中的每一个产生个性化虚拟化盘(PVD)的方法的操作性流程图。
图7示出的是用于提供为组织的一个或多个端点(或者端点计算设备)中的一个端点产生个性化虚拟化盘(PVD)的方法的操作性流程图。
详细描述
在各种实施方案的以下描述中,对上面标识且构成本文的一部分的附图进行了参考,且在附图中以实例说明的方法展示了各种实施方案,在各种实施方案中可实践本文描述的各个方面。应该理解的是,可利用其它实施方案,且可对结构和功能进行修改而不脱离本文中所描述的范围。各个方面能够用于其它实施方案且能够以各种不同方式实践或执行。
作为对在下面更详细描述的主题的一般性介绍,本文中所描述的方面提供用于将应用、数据和设置从组织的多个计算设备迁移到采用瘦客户端实现的客户端服务器操作环境中的方法、系统和计算机可读介质。服务器可执行用于部署瘦客户端实现的软件。当软件被执行时,一个或多个虚拟机可被实现并被部署到一个或多个客户端。迁移之后,一个或多个客户端可利用与多个计算设备有关的同一个或相似的硬件。否则,可用实现瘦客户端架构所需的最少量的硬件来实现客户端的每一个。可用一个或多个瘦客户端计算设备代替多个计算设备,瘦客户端计算设备包括提供最小处理能力的电路,从而将组织的成本节省最大化。
在迁移之前,多个计算设备可包括个人计算机(PC)、膝上型计算机、笔记本计算机、记事本、移动通信设备等等。多个计算设备的每一个可被定义为端点。可基于从多个计算设备中的每一个获取的信息为每一个端点创建个人虚拟化盘(PVD)层或镜像。PVD镜像可包括用户数据、用户设置和用户安装的应用。可通过使用在多个计算设备中的每一个上安装的遥测采集代理来获取用于创建PVD镜像的信息或数据。完成迁移之后,由遥测采集代理不断采集遥测数据,作为组织的管理者获取端点统计资料的方式。
在创建与迁移有关的PVD镜像之后,服务器可执行以在整个组织实现多个虚拟化桌面。为了实现虚拟化桌面的每一个,对应的PVD层可在服务器处被执行以产生在迁移之前由多个计算设备中的每个计算设备唯一地使用的所有的应用、用户设置和用户数据。
应当理解的是,本文使用的措辞和术语是用于描述的目的,而不应被视为限制。实际上,本文使用的短语和术语应被给予其最宽泛的解释和含义。“包含”和“包括”及其变形的使用意欲包括其后列出的项及其等效形式以及额外的项及其等效形式。术语“安装”、“连接”、“耦合”、“定位”、“接合”和类似的术语意欲包括直接和间接安装、连接、耦合、定位和接合。
可在各种不同的系统环境中利用计算机软件、硬件和网络,不同的系统环境包括单机的、联网的、远程访问的(也叫做,远程桌面)、虚拟的、和/或基于云的环境,等等。图1示出了系统架构和数据处理设备的一个实例,其可被用于在单机环境和/或网络环境中实现本发明的一个或多个说明性方面。各种网络节点103、105、107和109可经由广域网(WAN)101(诸如互联网)互联。也可以或可选地使用其它网络,包括私有内联网、企业网、LAN、城域网(MAN)、无线网络、个人网络(PAN),等等。网络101用于说明的目的并且可以用更少或附加的计算机网络来代替。局域网(LAN)可具有任何已知的LAN拓扑的一个或多个,并可使用各种不同的协议的一个或多个,诸如以太网协议。设备103、105、107、109和其他设备(未示出)可以经由双绞线、同轴电缆、光纤、无线电波或其它通信介质连接到网络中的一个或多个网络。
如本文使用的和在附图中所描绘的术语“网络”指的不仅是在其中经由一个或多个通信路径耦合在一起的远程存储设备的系统,而且也指可耦合的单机设备,偶尔指,具有存储能力的这种系统。因此,术语“网络”不但包括“物理网络”,而且包括“内容网络”,其含有归属于单一实体的、驻留在所有物理网络的数据。
该组件可包括数据服务器103、web服务器105和客户端计算机107、109。数据服务器103提供对数据库和控制软件的全面访问、控制和管理,用于执行如本文描述的本发明一个或多个说明性方面。可连接数据服务器103到web服务器105,通过该web服务器用户进行交互并获得所请求的数据。可选地,数据服务器103本身可充当web服务器,并可直接连接到互联网。经由直接或间接的连接,或经由某一其它网络,数据服务器103可通过网络101(例如,互联网)连接到web服务器105。用户可使用远程计算机107、109与数据服务器103交互,例如,使用web浏览器经由web服务器105托管的一个或多个外部可访问的网站连接到数据服务器103。客户端计算机107、109可以与数据服务器103合作使用以访问存储在其中的数据,或可以被用于其他目的。例如,从客户端设备107,用户可使用互联网浏览器访问web服务器105,这是本领域已知的,或通过执行软件应用通过计算机网络(例如互联网)与web服务器105和/或数据服务器103进行通信。
服务器和应用可组合在相同的物理机上,并保留分离的虚拟或逻辑地址,或可驻留在分离的物理机上。图1仅示出一个可使用的网络架构的实例,且本领域的那些技术人员将理解,所使用的特定的网络架构和数据处理设备可变化,且相对于它们所提供的功能而言是次要的,这将在本文中进一步描述。例如,通过web服务器105和数据服务器103提供的服务可在单个服务器上进行组合。
每个组件103、105、107、109可为任何类型的已知计算机、服务器或数据处理设备。数据服务器103例如可以包括控制数据服务器103的整体运行的处理器111。数据服务器103可进一步包括RAM 113、ROM 115、网络接口117、输入/输出接口119(例如,键盘、鼠标、显示器、打印机等等),以及存储器121。I/O 119可包括各种用于读、写、显示、和/或打印数据或文件的接口单元和驱动。存储器121还可存储用于控制数据处理设备103的整体操作的操作系统软件123,用于指示数据服务器103以执行如本文描述的本发明的各个方面的控制逻辑125,以及提供辅助、支持、和/或可结合或可不结合本发明的各个方面使用的其它功能的其它应用软件127。在本文中,控制逻辑还可被称为数据服务器软件125。数据服务器软件的功能可涉及操作或决策,这些操作或决策基于编码到控制逻辑的规则自动地进行、由用户提供输入到系统手动进行、和/或基于用户输入的自动处理的组合(例如,查询、数据更新等)。
存储器121还可存储在本发明的一个或多个方面的执行中使用的数据,包括第一数据库129和第二数据库131。在一些实施方案中,第一数据库可包括第二数据库(例如,作为分离的表、报告等)。即,该信息可存储在单个数据库中,或分离成不同的逻辑、虚拟或物理数据库,其取决于系统设计。设备105、107、109可具有如结合设备103所描述的类似或不同的体系结构。本领域的那些技术人员将理解,如本文描述的数据处理设备103(或设备105、107、109)的功能可分布在多个数据处理设备中,例如,在多台计算机上分配处理负载,以基于地理位置、用户访问级别、服务质量(QoS)等分离处理。数据服务器103可包括如结合图3描述的虚拟化服务器301。
一个或多个方面可体现在计算机可用或可读的数据和/或计算机可执行指令中(诸如在一个或多个程序模块中),由一个或多个计算机或如本文所述的其它设备执行。一般而言,程序模块包括例程、程序、对象、组件、数据结构等,当其在计算机或其它设备中通过处理器执行时,执行特定任务或实现特定抽象数据类型。这些模块可使用随后编译用于执行的源代码编程语言编写,或可使用脚本语言,诸如(但不限于)HTML或XML编写。该计算机可执行指令可存储在计算机可读介质中,诸如可存储在非易失性存储设备。可利用任何适当的计算机可读存储介质,包括硬盘、CD-ROM、光学存储设备、磁存储设备和/或其任何组合。此外,代表如本文所述的数据或事件的各种传输(非存储)介质,可穿过信号传导介质(诸如金属线、光纤)和/或无线传输介质(例如,空气和/或空间)在源和目的之间以电磁波的形式传输。本文所描述的各个方面可被体现为方法、数据处理系统或计算机程序产品。因此,各种功能可整体或部分地体现在软件、固件和/或硬件或硬件等同物中,诸如集成电路、现场可编程门阵列(FPGA),等等。特定的数据结构可用于更有效地实现本发明的一个或多个方面,且预期这种数据结构在本文所述的计算机可执行指令和计算机可用数据的范围内。
进一步参考图2,可在远程访问环境中实现本文所述的一个或多个方面。图2描绘了示例性的系统架构,包括在说明性计算环境200中的通用计算设备201,其可根据本文所述的一个或多个说明性方面来使用。通用计算设备201可以被用作单服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a,所述系统经配置提供用于客户端访问设备的虚拟机。通用计算设备201可具有用于控制服务器及其相关组件(包括随机存取存储器(RAM)205、只读存储器(ROM)207、输入/输出(I/O)模块209和存储器215)的整体操作的处理器203。
I/O模块209可包括鼠标、键盘、触摸屏、扫描仪、光学阅读器和/或手写笔(或其它输入设备)(通用计算设备201的用户可通过这些输入设备提供输入),并且也可包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示设备中的一个或多个。软件可存储在存储器215和/或其它存储中,以提供指令给处理器203用于将通用计算设备201配置为专用计算设备,以便执行如本文所述的各种功能。例如,存储器215可以存储由计算设备201使用的软件(诸如操作系统217、应用219和关联的数据库221)。
计算设备201可在支持连接到一个或多个远程计算机、客户端机器、客户端设备、客户端计算设备、客户端或终端240的网络化环境中运行。终端240可以包括个人计算机、移动设备、笔记本计算机、平板计算机、或服务器,其包括以上描述的关于通用计算设备103或201的许多或全部元件。在图2中描绘的网络连接包括局域网(LAN)225和广域网(WAN)229,但还可包括其它网络。当用于LAN网络环境中时,计算设备201可通过网络接口或适配器223连接到LAN 225。当在WAN联网环境中使用时,计算设备201可包括调制解调器227或用于建立在WAN 229(诸如计算机网络230(例如,互联网))上的通信的其它广域网接口。将认识到的是,所示的网络连接是说明性的,且可使用在计算机之间建立通信链路的其它装置。计算设备201和/或终端240还可为移动终端(例如,移动电话、智能电话、PDA、笔记本等等),其包括各种其他部件,诸如电池、扬声器和天线(未示出)。
本文描述的各方面也可以用许多其他通用或专用计算系统环境或配置来运行。可适合于结合本文所述的方面使用的其它计算系统、环境和/或配置的实例,包括,但不限于,个人计算机、服务器计算机、手持或笔记本设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境,等等。
如图2所示,一个或多个客户端设备240可与一个或多个服务器206a-206n(在本文中统称为“服务器206”)通信。在一个实施方案中,计算环境200可包括在服务器206和客户机240之间安装的网络装置。该网络装置可管理客户端/服务器连接,并在某些情况下可负载平衡多个后端服务器206之间的客户端连接。
在一些实施方案中,客户端机器240可指代单个客户端机器240或单组客户端机器240,而服务器206可指代单个服务器206或单组服务器206。在一个实施方式中,单个客户端机器240与一个以上的服务器206通信,而在另一实施方式中,单个服务器206与一个以上的客户端机器240通信。在又一实施方式中,单个客户端机器240与单个服务器206通信。
在一些实施方案中,可通过下列非穷举术语中的任何一个指代客户端机器240:客户端机器;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远程机器;客户端节点;端点;或端点节点。在一些实施方案中,可通过下列非穷举术语中的任何一个指代服务器206:服务器;本地机器;远程机器;服务器群;或主机计算设备。
在一个实施方式中,客户端机器240可以是虚拟机。虚拟机可以是任何虚拟机,而在一些实施方案中虚拟机可以是由1型或2型的超级管理器所管理的任何虚拟机,例如,由Citrix Systems、IBM、VMware开发的超级管理器,或任何其它超级管理器。在一些方面中,虚拟机可由超级管理器管理,而在其它方面中,虚拟机可由在服务器206上执行的超级管理器或在客户端240上执行的超级管理器管理。
一些实施方案包括客户端设备240,其显示由在服务器206上远程执行的应用或由其它远程放置的机器上远程执行的应用生成的应用输出。在这些实施方案中,客户端设备240可以执行虚拟机接收器程序或应用,以在应用窗口、浏览器或其他输出窗口中显示输出。在一个实例中,应用是桌面,而在其它实例中应用是生成或呈现桌面的应用。桌面可包括为操作系统的实例提供用户界面的图形壳,在该操作系统中可集成本地和/或远程应用。如在本文所使用的,应用是在操作系统(和可选地,还有桌面)的实例已经被加载之后执行的程序。
在一些实施方案中,服务器206使用远程表示协议或其他程序以将数据发送给瘦客户端或在客户端上执行的远程显示应用,以便呈现通过在服务器206上执行的应用生成的显示输出。瘦客户端或远程显示协议可以是下列非穷举协议列表中的任意一个:由佛罗里达州的罗德岱堡的CitrixSystems公司开发的独立计算架构(ICA)协议;或由华盛顿州雷德蒙德的微软公司制作的远程桌面协议(RDP)。
远程计算环境可包括多于一个的服务器206a-206n,使得,例如在云计算环境中,服务器206a-206n逻辑组合在一起成服务器群206。服务器群206可包括地理上分散而同时逻辑分组在一起的服务器206,或彼此接近放置同时在逻辑上分组在一起的服务器206。在一些实施方案中,在服务器群206中的地理上分散的服务器206a-206n使用WAN(广域网)、MAN(城域网)、或LAN(局域网)通信,其中不同的地理区域可表征为:不同大陆;大陆的不同区域;不同的国家;不同的州;不同的城市;不同的校区;不同的房间;或前述地理位置的任何组合。在一些实施方案中,服务器群206可作为单一实体进行管理,而在其他实施方案中,服务器群206可包括多个服务器群。
在一些实施方案中,服务器群可包括服务器206,其执行基本上类似类型的操作系统平台(例如,WINDOWS、UNIX、LINUX、iOS、ANDROID、SYMBIAN,等)。在其它实施方案中,服务器群206可包括执行第一类型的操作系统平台的一个或多个服务器的第一组,以及执行第二类型的操作系统平台的一个或多个服务器的第二组。
服务器206可根据需要配置成任何类型的服务器,例如,文件服务器、应用服务器、web服务器、代理服务器、装置、网络装置、网关、应用网关、网关服务器、虚拟服务器、部署服务器、SSL VPN服务器、防火墙、网络服务器、应用服务器或作为主应用服务器、执行活动目录的服务器、或执行提供防火墙功能、应用功能、或负载平衡功能的应用加速程序的服务器。还可使用其他服务器类型。
一些实施方案包含第一服务器206a,第一服务器206a从客户端机器240接收请求并将请求转发给第二服务器206b,并以来自第二服务器206b的响应来响应由客户端机器240产生的请求。第一服务器206A可以获得可用于客户端机器240的应用的列举以及与托管在应用列举内所标识的应用的应用服务器206相关联的地址信息。然后,第一服务器206a可使用web接口呈现对客户端请求的响应,并直接与客户端240通信以给客户端240提供对所标识的应用的访问。一个或多个客户端240和/或一个或多个服务器206可经由例如互联网101的网络230传输数据。
图2示出说明性桌面虚拟化系统的高层架构。如图所示,桌面虚拟化系统可以是单服务器或多服务器系统、或云系统,包括配置为给一个或多个客户端访问设备240提供虚拟桌面和/或虚拟应用的至少一个虚拟化服务器206。如在本文使用的,桌面指图形环境或空间,其中一个或多个应用可被托管和/或执行。桌面可包括为操作系统的实例提供用户界面的图形壳,在该操作系统中可集成本地和/或远程应用。应用可包括加载了操作系统(和任选地,还有桌面)的实例之后执行的程序。操作系统的每个实例可以是真实的(例如每个设备一个操作系统)或虚拟的(例如在单个设备上运行的OS的很多实例)。每个应用可在本地设备上执行或在远程放置的设备上执行(例如远程)。
进一步参考图3,计算机设备301可以配置为在虚拟化环境(例如,单服务器环境、多服务器环境、或云计算环境等)中的虚拟化服务器。在图3中示出的虚拟化服务器301可以被部署为在图2中示出的服务器206的一个或多个实施方案和/或由其实现,或通过其他已知的计算设备实现。包含在虚拟化服务器301中的是硬件层,其可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308和一个或多个物理存储器316。在一些实施方式中,固件312可存储在物理存储器316中的存储器元件内并可由一个或多个物理处理器308执行。虚拟化服务器301还可以包括操作系统314,其可以被存储在物理存储器316的存储器元件中并由物理处理器308中的一个或多个执行。而且,超级管理器302可存储在物理存储器316中的存储器元件中,并可由一个或多个物理处理器308执行。
在一个或多个物理处理器308上执行的可以是一个或多个虚拟机332A-C(总体上表示为332)。每一个虚拟机332可具有虚拟盘326A-C和虚拟处理器328A-C。在一些实施方案中,第一虚拟机332A可使用虚拟处理器328A执行包括工具堆栈324的控制程序320。控制程序320可以被称为控制虚拟机、Dom0、域0,或用于系统管理和/或控制的其他虚拟机。在某些实施方案中,一个或多个虚拟机332B-C可以使用虚拟处理器328B-C执行访客(guest)操作系统330A-B。
虚拟化服务器301可以包括与虚拟化服务器301通信且具有一个或多个硬件的硬件层310。在一些实施方案中,硬件层310可包括一个或多个物理磁盘304、一个或多个物理设备306、一个或多个物理处理器308和物理存储器316。物理组件304、306、308和316可包括,例如以上所述任何组件。物理设备306可包括,例如,网络接口卡、视频卡、键盘、鼠标、输入设备、监视器、显示设备、扬声器、光盘驱动器、储存设备、通用串行总线连接、打印机、扫描仪、网络元件(例如,路由器、防火墙、网络地址转换器、负载均衡器、虚拟专用网(VPN)网关、动态主机配置协议(DHCP)路由器等),或连接到虚拟化服务器301或与其通信的任何设备。硬件层310中的物理存储器316可包括任何类型的存储器。物理存储器316可以存储数据,并且在某些实施方案中可以存储一个或多个程序或一组可执行指令。图3示出其中固件312被存储在虚拟化服务器301的物理存储器316内的实施方案。存储在物理存储器316中的程序或可执行指令可以由虚拟化服务器301的一个或多个处理器308来执行。
虚拟化服务器301还可包括超级管理器302。在某些实施方案中,超级管理器302可以是一种程序,其由虚拟化服务器301上的处理器308来执行,以创建和管理任何数量的虚拟机332。超级管理器302可以被称为虚拟机监视器或平台虚拟化软件。在一些实施方案中,超级管理器302可以是可执行指令以及监视在计算机器上执行的虚拟机的硬件的任何组合。超级管理器302可以是2型的超级管理器,其中,该超级管理器在运行于虚拟化服务器301上的操作系统314内执行。虚拟机然后在超级管理器之上的层执行。在一些实施方案中,2型超级管理器在用户的操作系统的上下文内执行,以使2型超级管理器与用户的操作系统进行交互。在其它实施方案中,虚拟化环境中的虚拟化服务器301可替代地包括1型超级管理器(未示出)。可通过直接访问硬件层310中的硬件和资源在虚拟化服务器301上执行1型超级管理器。就是说,虽然2型超级管理器302通过如所示出的主机操作系统314访问系统资源,但是1型超级管理器可无需主机操作系统314而直接访问所有系统资源。1型超级管理器可以在虚拟化服务器301的一个或多个物理处理器308上直接执行,并且可以包括存储在物理存储器316中的程序数据。
在某些实施方案中,超级管理器302可以向操作系统330或控制程序320提供虚拟化资源,操作系统330或控制程序320以模拟直接访问系统资源的操作系统330或控制程序320的任何方式在虚拟机332上执行。系统资源可以包括但不限于物理装置306、物理盘304、物理处理器308、物理存储器316和包括在虚拟化服务器301硬件层310中的任何其他组件。超级管理器302可以被用于模拟虚拟化硬件、分区物理硬件、虚拟化物理硬件和/或执行提供访问计算环境的虚拟机。在另外的其他实施方案中,超级管理器302控制用于在虚拟化服务器301上执行的虚拟机332的处理器调度和存储器分区。超级管理器302可包括由加利福尼亚州帕罗奥多的VMWare公司制造的那些超级管理器;XEN超级管理器,一种开源产品,其开发由开源Xen.org社区监督;由微软公司提供的HyperV、VirtualServer或虚拟PC超级管理器;或其他超级管理器。在某些实施方案中,虚拟化服务器301执行创建虚拟机平台的超级管理器302,访客操作系统可以在该虚拟机平台上执行。在这些实施方案中,虚拟化服务器301可以被称为主机服务器。这样的虚拟化服务器的例子是由佛罗里达州罗德岱堡的Citrix系统公司提供的XEN SERVER。
超级管理器302可以创建访客操作系统330在其中执行的一个或多个虚拟机332B-C(总称为332)。在某些实施方案中,超级管理器302可以加载虚拟机镜像以创建虚拟机332。在其他实施方案中,超级管理器302可在虚拟机332内执行访客操作系统330。在另外的其他实施方案中,虚拟机332可以执行访客操作系统330AB。
除了创建虚拟机332之外,超级管理器302可控制至少一个虚拟机332的执行。在其他实施方案中,超级管理器302可以向至少一个虚拟机332呈现由虚拟化服务器301提供的至少一个硬件资源(例如,硬件层310内可用的任何硬件资源)的抽象。在其他实施方案中,超级管理器302可以控制虚拟机332访问虚拟化服务器301中可用的物理处理器308的方式。控制对物理处理器308的访问可包括确定虚拟机332是否应有权访问处理器308,以及如何将物理处理器能力提供给虚拟机332。
如图3中所示,虚拟化服务器301可以托管或执行一个或多个虚拟机332。虚拟机332是可执行指令集,其在由处理器308执行时,模仿物理计算机的操作,使得虚拟机332可以非常类似于物理计算设备来执行程序和过程。虽然图3示出其中的虚拟化服务器301托管三个虚拟机332的实施方案,但是在其他实施方案中,虚拟化服务器301可以托管任何数量的虚拟机332。在某些实施方案中,超级管理器302向每个虚拟机332提供该虚拟机332可用的物理硬件、存储器、处理器和其他系统资源的独特虚拟视图。在某些实施方案中,该独特虚拟视图可以基于虚拟机许可、一个或多个虚拟机标识符的策略引擎的应用、访问虚拟机的用户、在虚拟机上执行的应用、由虚拟机访问的网络、或任何其他期望的标准中的一个或多个。例如,超级管理器302可以创建一个或多个非安全虚拟机332和一个或多个安全虚拟机332。非安全虚拟机332可被禁止访问安全虚拟机332可被允许访问的资源、硬件、存储器位置和程序。在其他实施方案中,超级管理器302可以向每个虚拟机332提供该虚拟机332可用的物理硬件、存储器、处理器和其他系统资源的大致相似的虚拟视图。
每个虚拟机332可具有虚拟磁盘326A-C(总体表示为326)和虚拟处理器328A-C(总体表示为328)。虚拟磁盘326在一些实施方式中是虚拟化服务器301的一个或多个物理磁盘304或虚拟化服务器301的一个或多个物理磁盘304的一部分的虚拟化视图。物理磁盘304的虚拟化视图可由超级管理器302产生、提供并管理。在一些实施方案中,超级管理器302给每个虚拟机332提供物理磁盘304的不同视图。因此,在这些实施方案中,当与其他虚拟盘326比较时,包括在每个虚拟机332中的特定虚拟盘326可以是不同的。
虚拟处理器328可以是虚拟服务器301的一个或多个物理处理器308的虚拟化视图。在一些实施方案中,可通过超级管理器302生成、提供和管理物理处理器308的虚拟化视图。在一些实施方案中,虚拟处理器328基本上具有至少一个物理处理器308的所有相同特性。在其他实施方案中,虚拟化处理器308提供物理处理器308的更改视图,使得虚拟处理器328的特性中的至少某些特性不同于对应物理处理器308的特性。
进一步参考图4,本文所描述的一些方面可在基于云的环境中实施。图4说明了云计算环境(或云系统)400的实例。如在图4中看到的,一个或多个客户端计算机411-4nn可与管理服务器410通信以访问云系统的计算资源(例如主机服务器403、数据存储设备404和网络资源405)。
管理服务器410可以在一个或多个物理服务器上实施。管理服务器410除了可以运行其他软件以外,还可以运行例如佛罗里达州罗德岱堡的Citrix Systems公司的CLOUDSTACK或OPENSTACK。管理服务器410可管理各种计算资源,包括云硬件和软件资源,例如主机计算机403、数据存储设备404和联网设备405。云硬件和软件资源可以包括专用和/或公共组件。例如,云可被配置为由一个或多个特定的客户或客户端计算机411-4nn和/或通过私有网络使用的私有云。在其它实施方式中,公共云或混合公共-私有云可由其它客户通过一个或多个开放的和/或混合网络来使用。
管理服务器410可被配置成提供用户界面,云操作员和云客户可通过用户界面与云系统交互。例如,管理服务器410可提供一组API和/或具有用户界面的一个或多个云操作员控制台应用(例如基于web的单机应用)以允许云操作员管理云资源,配置虚拟化层,管理客户账户,并执行其它云管理任务。管理服务器410也可包含一组API和/或具有用户界面的一个或多个客户控制台应用,用户界面被配置成例如经由一个或多个客户端计算机411-4nn从终端用户接收云计算请求。管理服务器410还可接收请求以创建、修改或消除云中的虚拟机。客户端计算机411-4nn可经由互联网或其它通信网络连接到管理服务器410,并可请求对由管理服务器410管理的一个或多个计算资源的访问。响应于客户端请求,管理服务器410可包括被配置成基于客户端请求来选择并提供在云系统的硬件层中的物理资源的资源管理器。例如,管理服务器410和云系统的额外部件可被配置成通过网络(例如互联网)为在一个或多个客户端计算机411-4nn处的客户提供、创建并管理虚拟机及其操作环境(例如超级管理器、存储资源、由网络元件提供的服务等),给客户提供计算资源、数据存储服务、联网能力和计算机平台及应用支持。云系统还可被配置成提供各种特定的服务,包括安全系统、开发环境、用户界面等。
一个或多个客户端411-4nn中的特定客户端可例如与代表相同终端用户或加入同一公司或组织的不同用户创建虚拟机的不同客户端计算机有关。在其它例子中,某些客户端411-4nn可以是不相关的,例如参与不同公司或组织的用户。对于不相关的客户端,可对其他用户隐藏关于任一个用户的虚拟机或储存器的信息。
现在参考云计算环境的物理硬件层,可用性区401-402(或多个区)可以指所分配的一组物理计算资源。区可以在地理上与计算资源的整个云中的其它区分离。例如,区域401可以是位于加利福尼亚的第一云数据中心,且区域402可以是位于佛罗里达的第二云数据中心。管理服务器410可位于可用区域中的一个区域,或在单独的位置。每个区可包括通过网关与在区之外的设备(例如管理服务器410)通过接口连接的内部网络。云的终端用户(例如客户端411-4nn)可以或可以不知道在区之间的区别。例如,终端用户可请求创建具有指定量的存储器、处理能力和网络容量的虚拟机。管理服务器410可对用户的请求做出响应并可分配资源以在用户不知道使用来自区401还是来自区402的资源创建虚拟机的情况下创建虚拟机。在其它实例中,云系统可允许终端用户请求在特定区域或在区域内的特定资源403-405上分配虚拟机(或其它云资源)。
在这个例子中,每个区401-402可包括各种物理硬件组件(或计算资源)403-405(例如物理托管资源(或处理资源)、物理网络资源、物理存储资源、交换机和可用于向客户提供云计算服务的额外的硬件资源)的布置。在云区401-402中的物理托管资源可包括可被配置成创建并托管虚拟机实例的一个或多个计算机服务器403,例如上面描述的虚拟化服务器301。在云区401或402中的物理网络资源可以包括一个或多个网络元件405(例如,网络服务供应商),其包括经配置向云客户提供网络服务的硬件和/或软件(诸如防火墙、网络地址转换器、负载平衡器、虚拟专用网络(VPN)网关、动态主机配置协议(DHCP)路由器等等)。在云区401-402中的存储资源可包括存储磁盘(例如固态硬盘(SSD)、磁硬盘等)和其它存储设备。
图4所示的示例云计算环境还可包括具有被配置成创建和管理虚拟机并使用云中的物理资源来向客户提供其它服务的额外硬件和/或软件资源的虚拟化层(例如,如图3中所示的虚拟机表示的)。虚拟化层可以包含如上面在图3中所述的超级管理器以及提供网络虚拟化、存储虚拟化等的其他组件。虚拟化层可以作为不同于物理资源层的单独层或可与物理资源层共享一些或全部相同的硬件和/或软件资源。例如,虚拟化层可包括安装在一个或多个服务器403中的每一个服务器中的超级管理器。可以另选使用已知的云系统,例如WINDOWS AZURE(华盛顿雷德蒙德的微软公司),AMAZON EC2(华盛顿西雅图的Amazon.com公司),IBM BLUE CLOUD(纽约阿蒙克的IBM公司)或其他云系统。一个或多个服务器403中的每一个服务器可包括结合图3描述的虚拟化服务器。
图5是用于提供将来自组织的多个计算设备的应用、数据和设置迁移到采用瘦客户端实现的客户端服务器操作环境中的方法的操作性流程图。
在步骤504处,一个或多个遥测采集代理被安装在一个或多个端点计算设备上。端点计算设备可包括结合图1描述的客户端计算机和结合图2描述的客户端、客户端设备、客户端计算设备或终端。一个或多个遥测采集代理中的每一个可以是被用于监视和确定计算设备中将要被迁移到瘦客户端实现的应用、数据和设置的软件。可经由最终用户安装或将应用传送通过服务器在每一个端点计算设备上安装遥测采集代理,所述服务器例如为先前结合图4描述的管理服务器。
接下来,在步骤508处,从一个或多个计算设备中的每一个计算设备收集数据。可识别、定义并收集操作系统、用户应用和用户层。例如,还可识别和定义诸如Windows客户端和服务器应用的现有的虚拟环境。还可识别、定义和收集关于移动设备、用户应用的类型的用户数据和设置。遥测采集代理还可采集关于计算设备将数据存储在其中的位置的信息。例如,数据可被存储在云数据供应商(ShareFile、Box、DropBox等)。从每一个计算设备收集的数据可被用于为迁移至瘦客户端虚拟桌面实现的计划做准备。结合图4描述的一个或多个服务器403的服务器可分析聚合的遥测数据。
可将所收集的数据存储在诸如与结合图4描述的服务器有关的一个或多个存储设备的数据存储设备中。在基于云的存储库中,遥测数据可被遥测采集代理采集,并被上传至citrix.com或另一个存储库管理网站。除了基于云的存储库之外,在一些方面,迁移组织还可选择部署遥测数据库的预置版本。在其他方面,迁移组织可选择只部署遥测采集代理的预置版本。对于基于预置的存储库,数据可被遥测采集代理采集,并被上传至上文描述的基于云的存储库的预置版本。
思杰或瘦客户端迁移应用工具的任何制造商可提取从遥测采集代理获取的遥测数据(如果迁移组织期望并允许)。为了简单,遥测采集代理可被部署为用于简单地导入到现有的超级管理器部署的虚拟装置。
在步骤512处,可存库、分析并分类由遥测采集代理下载的数据。例如,一旦在遥测存储库中采集了足够量的数据,软件工具就可被用于分析所存储的数据。可从组织的一个或多个计算设备的每一个连续或定期地下载数据。在一个时间点,库存可为一个或多个端点中的每一个提供组织的系统状态。
接下来,在步骤516处,识别对于一个或多个计算设备的每一个来说唯一的数据子集。该子集中包含的数据可包括由一个或多个计算设备中的计算设备的用户唯一地使用的一个或多个应用。这些一个或多个应用可能已经被计算设备的用户安装。子集中的数据的其他示例包含用户数据和用户设置。例如,子集中可包含由用户配置用于他的相机或他的移动通信设备的数据。当相机或移动通信设备被通信耦合至他的计算设备时,用户可配置数据。对于用户和/或用户的计算设备,其他数据也可以是唯一的。
在步骤520处,可为一个或多个计算设备中的每一个提取数据子集。数据子集可被用于为组织的一个或多个计算设备中的每一个创建个性化层。个性化层能够可选择地被描述为个性化镜像。与个性化层有关的数据可被存储为个性化虚拟化盘(PVD),并包含用于一个或多个计算设备或端点计算设备的每一个的唯一的个性化镜像。个性化镜像包含对于其计算设备唯一的所有用户数据、用户设置和用户应用。个性化层可包含组织的用户特定和部门特定应用、数据和设置。个性化层或镜像可被存储在先前结合图4描述的一个或多个数据存储设备中的数据存储设备中。对应的服务器可使用个性化层或镜像,以产生对应的虚拟机。虚拟机可保存所有的用户数据设置、用户数据和用户应用,迁移之前在其对应的计算设备中可获取所有的用户数据设置、用户数据和用户应用。
接下来,在步骤524处,结合图4描述的一个或多个服务器可继续监视一个或多个客户端计算设备的变化。一旦已经迁移了企业的大部分端点,通过每一个遥测采集代理的方式,系统可连续监视每一个客户端随着时间的需求。为了测量迁移之后的每一个客户端计算设备的库存,可安装适当的度量和监视方案。当使用PVD时,与虚拟化桌面性能有关的统计资料可经由现有遥测采集代理被获取并可被提供至瘦客户端虚拟桌面实现的管理者。可不断采集的遥测数据中的一些可包含:设备统计资料、用户信息、应用信息、使用信息、带宽、移动设备信息。
图6是用于提供为组织的一个或多个端点(或者端点计算设备)的每一个产生个性化虚拟化盘(PVD)的方法的操作流程图。PVD的产生促进组织至瘦客户端虚拟桌面实现的迁移。图6的方法可描述从来自一个或多个端点或计算设备的遥测采集代理获取数据之后的图5的步骤516和520。
在步骤604处,可确定将要用在瘦客户端虚拟桌面实现中的操作系统。“基本(plain vanilla)”镜像可被定义为包括操作系统、其服务包和任何相关更新,并且其对于所有虚拟桌面是或将是共用的。例如,所选操作系统可包括Windows 7。还可使用其他操作系统。
接下来,在步骤608处,可确定对应于被组织中的所有虚拟机使用的“黄金镜像”的软件。软件的库存包括基本镜像和整个组织将要共同使用的任何其他软件。组织可确定将包含在黄金镜像中的额外的软件。黄金镜像中可包含将在整个组织中共同使用的软件。例如,黄金镜像可包括文字处理应用、电子表格应用、演示应用和/或电子邮件应用。例如,可通过从软件制造商获取的网站许可证来部署这些应用。
在步骤612处,从黄金镜像去除基本镜像,以产生第一差异(D1)镜像。D1镜像可被存储到存储库中,例如存储到结合图3和/或4描述的一个或多个数据存储设备中。D1镜像对应整个组织的所有用户共用的管理层安装的应用。如先前在步骤608中描述的,基于由组织的管理层做出的决定,黄金镜像中可包含这些应用。将这些应用包含到黄金镜像中的决定可基于组织的用户对这些应用的利用率。如果组织的一定百分比的用户要求对一个应用的使用,那么例如可通过购买网站许可证的方式将该应用包含在黄金镜像中。
接下来,在步骤616处,确定用于每一个端点(或者端点计算设备)的软件库存的镜像。除了包含在黄金镜像中的软件之外,在每一个端点处的库存可包含由每一个端点计算设备的用户安装的、包含用户数据和用户设置的任何软件和/或应用。在每一个端点处安装的软件和/或应用可以可选择地包括部门管理的软件和/或应用。
在步骤620处,从用于每一个端点的镜像去除基本镜像,以产生第二差异(D2)镜像。D2镜像可被存储在存储库中,例如可被存储在结合图3和4描述的一个或多个数据存储设备中。D2镜像对应整个组织共用的管理安装的应用加上任何用户安装的应用、用户数据和用户设置。
接下来,在步骤624处,计算D2镜像和D1镜像之间的差异。可针对每一个端点计算D2-D1镜像。D2-D1镜像可包括用于一个或多个端点(一个或多个计算设备)的每一个端点的用户安装的应用、用户数据和用户设置。D2-D1镜像还可包括部门管理的应用或特定于组织的部门的应用。每一个D2-D1镜像可被用于产生用于每一个端点或计算设备的PVD。对于每一个端点,其各自的PVD可被存储于诸如结合图3和4描述的数据存储设备的数据存储设备中。创建了所有的PVD之后,可由结合图4描述的一个或多个服务器中的服务器执行PVD。服务器可包括先前结合图3描述的虚拟化服务器。因此,通过为每一个端点构造PVD的方式,在没有损失用户应用和个性化设置及数据的条件下,组织可容易实施至瘦客户端虚拟化桌面实现的迁移。
图7是用于提供为组织的一个或多个端点(或者端点计算设备)中的端点产生个性化虚拟化盘(PVD)的方法的操作流程图。PVD的产生促进组织至瘦客户端虚拟桌面实现的迁移。图7中描述的方法可描述从来自一个或多个端点或计算设备的遥测采集代理获取数据之后的图5的步骤516和520。
在步骤704处,可使用所收集的数据将个性化虚拟化盘(PVD)指派和分配给端点计算设备。迁移前的PVD可包括软件,软件包括端点计算设备的香草和黄金镜像以及任何用户安装的应用、用户数据和用户设置。
在一个实施方案中,可采用编目分类机制来为组织的一个或多个端点计算设备的每一个确定软件安装顺序。通过先前结合图3-4描述的管理服务器或一个或多个计算机服务器可部署编目分类机制。编目分类机制可创建并存储数据记录,数据记录描述用于端点计算设备中安装的软件的安装顺序。数据记录可被存储为先前结合图3-4描述的管理服务器和/或一个或多个计算服务器中的文件。关于安装顺序的数据可被用于识别并卸载对应端点计算设备的“基本”镜像和“黄金镜像”。例如,基本镜像可包括操作系统、其服务包和任何相关更新。黄金镜像可包括可在整个组织中共同使用的软件。例如,黄金镜像可包括文字处理应用、电子表格应用、演示应用和/或电子邮件应用。例如,可通过从软件制造商获取的网站许可证部署这些应用。
接下来,在步骤708处,可通过使用数据记录的方式,从端点计算设备的迁移前的PVD连续移除或卸载软件。迁移之前,典型的端点可包括操作系统、其服务包和任何相关更新、系统特定软件(对端点唯一的硬件驱动器和软件组)、平台软件(例如,.NET、Java)、诸如反病毒软件、反间谍软件、反恶意软件、防火墙软件的安全软件、部门管理的应用、用户安装的应用、用户设置和用户数据。描述安装顺序的数据记录可被用于识别并连续移除用于每一个端点计算设备的除了对应于用户安装的应用、用户数据、用户设置和部门管理的应用(或特定于组织的部门应用)之外的镜像数据。例如,可从每一个终端计算设备的迁移前的PVD删除或移除基本镜像和黄金镜像。黄金镜像可包括在整个组织中共同使用的软件。例如,黄金镜像可包括诸如文字处理应用、电子表格应用、演示应用和/或电子邮件应用的被用于整个组织的一个或多个应用。
在步骤712处,在从迁移前的PVD删除基本和黄金镜像之后,可为每一个端点或计算设备产生PVD。最终的PVD可只包含对于端点计算设备唯一的软件。例如,最终的PVD可包括对应于每一个端点计算设备的用户安装的应用、用户数据、用户设置和可选择地由任何部门管理的应用。可将PVD存储在先前结合图3和4描述的数据存储设备处。在创建完所有的PVD之后,可由结合图4描述的一个或多个计算机服务器中的计算机服务器执行PVD。计算机服务器可包括先前结合图3描述的虚拟化服务器。因此,通过为每一个端点构造PVD的方式,在没有用户应用和/或个性化设置及数据的修改、变化或损失的条件下,组织可容易实施至瘦客户端虚拟化桌面实现的迁移。
在下文所述的一个或多个实施方案中可实现本公开的各方面。
在一个实施方案中,系统包括至少一个处理器和存储计算机可执行指令的至少一个存储器,当计算机可执行指令被所述至少一个处理器执行的时候,使得系统:从多个端点计算设备中的每一个端点计算设备收集数据;基于所述每一个端点计算设备的所述数据创建个性化虚拟化盘;针对所述每一个端点计算设备使用所述个性化虚拟化盘,以实现瘦客户端虚拟化桌面,并且其中,所述个性化虚拟化盘被用于产生对应于所述每一个端点计算设备的一个或多个用户安装的应用、用户数据和用户设置。
在系统的另一个实施方案中,通过自基于所述所收集的数据从镜像卸载软件来创建个性化虚拟化盘,其中,所述软件包括操作系统以及所述多个端点计算设备中的所有端点计算设备共用的一个或多个应用。
在系统的另一个实施方案中,软件还包括与所述操作系统有关的服务包和任何相关更新。
在系统的另一个实施方案中,一个或多个应用包括文字处理应用。
在系统的另一个实施方案中,在所述多个端点计算设备中的一个或多个上安装了一个或多个遥测采集代理,所述遥测采集代理被用于所述数据的所述收集。
在系统的另一个实施方案中,一个或多个遥测采集代理被用于连续监视和更新从所述多个端点计算设备中的一个或多个中的所述每一个所收集的所述数据。
在系统的另一个实施方案中,个性化虚拟化盘包括用于产生部门管理的应用的镜像。
在方法的另一个实施方式中,方法包括:使用一个或多个遥测采集代理从多个端点计算设备中的每一个端点计算设备收集数据;基于所述每一个端点计算设备的所述数据创建个性化虚拟化盘;以及针对每一个所述端点计算设备使用所述个性化虚拟化盘,以实现瘦客户端虚拟化桌面,其中,所述个性化虚拟化盘被用于产生对应于所述每一个端点计算设备的一个或多个用户安装的应用、用户数据和用户设置,并且其中,所述创建是由主机计算设备实施的。
在方法的另一个实施方案中,通过基于所收集的数据从镜像卸载软件来创建个性化虚拟化盘,其中,所述软件包括操作系统以及所述多个端点计算设备中的所有端点计算设备共用的一个或多个应用。
在方法的另一个实施方案中,软件还包括与所述操作系统有关的服务包和任何相关更新。
在方法的另一个实施方案中,一个或多个应用包括文字处理应用。
在方法的另一个实施方案中,在所述多个端点计算设备中的一个或多个端点计算设备上安装了一个或多个遥测采集代理,所述遥测采集代理被用于所述数据的所述收集。
在方法的另一个实施方案中,一个或多个遥测采集代理被用于连续监视和更新从所述多个端点计算设备中的一个或多个端点计算设备中的所述每一个所收集的所述数据。
在方法的另一个实施方案中,个性化虚拟化盘包括用于产生部门管理应用的镜像。
在另一个实施方案中,提供了一种非暂时性的计算机可读存储介质,其具有存储在其上的计算机程序,计算机程序具有用于处理数据的至少一个代码段,所述至少一个代码段可被所述计算机的至少一个处理器执行,用于促使计算机执行包括以下操作的方法:使用一个或多个遥测采集代理从多个端点计算设备中的每一个端点计算设备收集数据;基于所述每一个端点计算设备的所述数据创建个性化虚拟化盘;针对所述每一个端点计算设备使用所述个性化虚拟化盘,以实现瘦客户端虚拟化桌面,其中,所述个性化虚拟化盘被用于产生对应于所述每一个端点计算设备的一个或多个用户安装的应用、用户数据和用户设置。
在非暂时性的计算机可读存储介质的另一个实施方案中,通过基于所收集的数据从镜像卸载软件来创建个性化虚拟化盘,其中,所述软件包括操作系统以及所述多个端点计算设备中的所有端点计算设备共用的一个或多个应用。
在非暂时性的计算机可读存储介质的另一个实施方案中,软件还包括与所述操作系统有关的服务包和任何相关更新。
在非暂时性的计算机可读存储介质的另一个实施方案中,一个或多个应用包括文字处理应用。
在非暂时性的计算机可读存储介质的另一个实施方案中,在所述多个端点计算设备中的一个或多个端点计算设备上安装一个或多个遥测采集代理,所述遥测采集代理被用于所述数据的所述收集。
在非暂时性的计算机可读存储介质的另一个实施方案中,一个或多个遥测采集代理被用于连续监视和更新从所述多个端点计算设备中的一个或多个端点计算设备中的所述每一个收集的所述数据。
虽然已经以针对结构特征和/或方法动作的语言描述了本主题,但是应该理解的是,在所附权利要求中定义的主题不必限于以上所述的具体特征或动作。相反,上述特定特征和行为被描述为所附权利要求的示例实现。

Claims (20)

1.一种用于实现桌面虚拟化的系统,包括:
至少一个处理器;以及
至少一个存储器,其存储计算机可执行指令,当所述计算机可执行指令由所述至少一个处理器执行时,使得所述系统执行:
从多个端点计算设备中的每一个端点计算设备获取信息,并基于所述信息创建所述每一个端点计算设备的盘的镜像;
生成描述安装在所述每一个端点计算设备中的软件的安装顺序的数据记录,其中所述数据记录标识操作系统OS镜像和包括共用于所述每一个端点计算设备的软件的镜像;
通过从所述包括共用于所述每一个端点计算设备的软件的镜像中去除所述OS镜像来创建第一差异镜像;
通过从所述盘的所述镜像中去除所述OS镜像来创建第二差异镜像;
通过从所述第二差异镜像中去除所述第一差异镜像来创建第三差异镜像;
基于所述第三差异镜像和所述数据记录创建个性化虚拟化盘;
针对所述每一个端点计算设备使用所述个性化虚拟化盘,以实现客户端虚拟化桌面;并且
其中,所述个性化虚拟化盘被用于产生对应于所述每一个端点计算设备的一个或多个用户安装的应用、用户数据和用户设置。
2.根据权利要求1所述的系统,其中,共用于所述每一个端点计算设备的所述软件包括:
操作系统;以及
一个或多个应用,所述一个或多个应用共用于所述多个端点计算设备中的所有端点计算设备。
3.根据权利要求2所述的系统,其中,所述软件还包括与所述操作系统有关的服务包和任何相关更新。
4.根据权利要求1所述的系统,其中,从所述盘的所述镜像中去除所述OS镜像包括:
基于所述安装顺序从所述盘的所述镜像连续地卸载所述软件。
5.根据权利要求1所述的系统,其中,在所述多个端点计算设备中的一个或多个端点计算设备中安装一个或多个遥测采集代理,所述一个或多个遥测采集代理被用于收集与所述每一个端点计算设备的所述盘有关的数据。
6.根据权利要求5所述的系统,其中,所述一个或多个遥测采集代理被用于连续监视和更新从所述每一个端点计算设备收集的所述数据。
7.根据权利要求1所述的系统,其中,所述第一差异镜像包括用于产生部门管理应用的镜像,并且所述第二差异镜像包括用于产生所述部门管理应用和对应于所述每一个端点计算设备的所述一个或多个用户安装的应用、用户数据和用户设置的镜像。
8.一种用于实现桌面虚拟化的方法,包括:
使用一个或多个遥测采集代理从多个端点计算设备中的每一个端点计算设备获取信息,并基于所获取的信息创建所述每一个端点计算设备的盘的镜像;
生成描述安装在所述每一个端点计算设备中的软件的安装顺序的数据记录,其中所述数据记录标识操作系统OS镜像和包括共用于所述每一个端点计算设备的软件的镜像;
通过从所述包括共用于所述每一个端点计算设备的软件的镜像中去除所述OS镜像来创建第一差异镜像;
通过从所述盘的所述镜像中去除所述OS镜像来创建第二差异镜像;
通过从所述第二差异镜像中去除所述第一差异镜像来创建第三差异镜像;
基于所述第三差异镜像和所述数据记录创建个性化虚拟化盘;以及
针对所述每一个端点计算设备使用所述个性化虚拟化盘,以实现客户端虚拟化桌面,其中,所述个性化虚拟化盘被用于产生对应于所述每一个端点计算设备的一个或多个用户安装的应用、用户数据和用户设置,并且其中,所述创建是由主机计算设备执行的。
9.根据权利要求8所述的方法,其中,共用于所述每一个端点计算设备的所述软件包括:
操作系统;以及
一个或多个应用,所述一个或多个应用共用于所述多个端点计算设备中的所有端点计算设备。
10.根据权利要求9所述的方法,其中,所述软件还包括与所述操作系统有关的服务包和任何相关更新。
11.根据权利要求8所述的方法,其中,从所述盘的所述镜像中去除所述OS镜像包括:
基于所述安装顺序从所述盘的所述镜像连续地卸载所述软件。
12.根据权利要求8所述的方法,其中,在所述每一个端点计算设备中安装一个或多个遥测采集代理,所述一个或多个遥测采集代理被用于收集与所述每一个端点计算设备的所述盘有关的数据。
13.根据权利要求12所述的方法,其中,所述一个或多个遥测采集代理被用于连续监视和更新从所述每一个端点计算设备收集的所述数据。
14.根据权利要求8所述的方法,其中,所述第一差异镜像包括用于产生部门管理应用的镜像,并且所述第二差异镜像包括用于产生所述部门管理应用和对应于所述每一个端点计算设备的所述一个或多个用户安装的应用、用户数据和用户设置的镜像。
15.一种用于实现桌面虚拟化的系统,包括:
用于使用一个或多个遥测采集代理从多个端点计算设备中的每一个端点计算设备获取信息,并且基于所述信息创建所述每一个端点计算设备的盘的镜像的模块;
用于生成描述安装在所述每一个端点计算设备中的软件的安装顺序的数据记录的模块,其中所述数据记录标识操作系统OS镜像和包括共用于所述每一个端点计算设备的软件的镜像;
用于通过从所述包括共用于所述每一个端点计算设备的软件的镜像中去除所述OS镜像来创建第一差异镜像的模块;
用于通过从所述盘的所述镜像中去除所述OS镜像来创建第二差异镜像的模块;
用于通过从所述第二差异镜像中去除所述第一差异镜像来创建第三差异镜像的模块;
用于基于所述第三差异镜像和所述数据记录创建个性化虚拟化盘的模块;以及
用于针对所述每一个端点计算设备使用所述个性化虚拟化盘以实现客户端虚拟化桌面的模块,其中,所述个性化虚拟化盘被用于产生对应于所述每一个端点计算设备的一个或多个用户安装的应用、用户数据和用户设置。
16.根据权利要求15所述的系统,其中,所述共用于所述每一个端点计算设备的软件包括:
操作系统;以及
一个或多个应用,所述一个或多个应用安装在所述多个端点计算设备中的所述每一个端点计算设备上。
17.根据权利要求16所述的系统,其中,所述软件还包括与所述操作系统有关的服务包和任何相关更新。
18.根据权利要求16所述的系统,其中,
所述一个或多个应用包括文字处理应用。
19.根据权利要求15所述的系统,其中,在所述每一个端点计算设备中安装一个或多个遥测采集代理,所述一个或多个遥测采集代理被用于收集与所述每一个端点计算设备的所述盘有关的数据。
20.根据权利要求19所述的系统,其中,所述一个或多个遥测采集代理被用于连续监视和更新从所述每一个端点计算设备收集的所述数据。
CN201480015132.XA 2013-03-14 2014-03-07 用于实现桌面虚拟化的迁移工具 Expired - Fee Related CN105074665B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/826,820 2013-03-14
US13/826,820 US20140280436A1 (en) 2013-03-14 2013-03-14 Migration tool for implementing desktop virtualization
PCT/US2014/021991 WO2014150046A1 (en) 2013-03-14 2014-03-07 Migration tool for implementing desktop virtualization

Publications (2)

Publication Number Publication Date
CN105074665A CN105074665A (zh) 2015-11-18
CN105074665B true CN105074665B (zh) 2020-03-06

Family

ID=50442632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480015132.XA Expired - Fee Related CN105074665B (zh) 2013-03-14 2014-03-07 用于实现桌面虚拟化的迁移工具

Country Status (4)

Country Link
US (1) US20140280436A1 (zh)
EP (1) EP2972849A1 (zh)
CN (1) CN105074665B (zh)
WO (1) WO2014150046A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9055080B2 (en) * 2009-12-14 2015-06-09 Citrix Systems, Inc. Systems and methods for service isolation
US10142406B2 (en) 2013-03-11 2018-11-27 Amazon Technologies, Inc. Automated data center selection
US9002982B2 (en) 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US10313345B2 (en) 2013-03-11 2019-06-04 Amazon Technologies, Inc. Application marketplace for virtual desktops
US9148350B1 (en) 2013-03-11 2015-09-29 Amazon Technologies, Inc. Automated data synchronization
US10623243B2 (en) * 2013-06-26 2020-04-14 Amazon Technologies, Inc. Management of computing sessions
US10686646B1 (en) 2013-06-26 2020-06-16 Amazon Technologies, Inc. Management of computing sessions
GB2519790B (en) * 2013-10-30 2017-07-12 1E Ltd Configuration of network devices
US10884775B2 (en) * 2014-06-17 2021-01-05 Nokia Solutions And Networks Oy Methods and apparatus to control a virtual machine
JP6258135B2 (ja) * 2014-06-25 2018-01-10 株式会社東芝 情報処理装置および動作制御方法
US11044591B2 (en) * 2017-01-13 2021-06-22 Futurewei Technologies, Inc. Cloud based phone services accessible in the cloud by a remote device
US11394711B2 (en) * 2018-11-29 2022-07-19 Microsoft Technology Licensing, Llc Streamlined secure deployment of cloud services

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447723A (zh) * 2010-10-12 2012-05-09 运软网络科技(上海)有限公司 客户端虚拟化架构
CN102882947A (zh) * 2011-09-14 2013-01-16 微软公司 自动化的桌面服务供应
CN102929685A (zh) * 2011-09-15 2013-02-13 微软公司 自动化基础架构供应

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343600B2 (en) * 2003-08-18 2008-03-11 Lenovo (Singapore) Pte. Ltd. Providing an image of installed software utilizing uninstall code
US9274821B2 (en) * 2010-01-27 2016-03-01 Vmware, Inc. Independent access to virtual machine desktop content
US8918499B2 (en) * 2010-08-09 2014-12-23 International Business Machines Corporation Method and system for end-to-end quality of service in virtualized desktop systems
US9792430B2 (en) * 2011-11-03 2017-10-17 Cyphort Inc. Systems and methods for virtualized malware detection
US20130166504A1 (en) * 2011-12-27 2013-06-27 RiverMeadow Software, Inc. Systems and methods for virtual machine migration
JP5670369B2 (ja) * 2012-03-08 2015-02-18 株式会社東芝 情報処理装置、イメージファイル管理方法およびプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447723A (zh) * 2010-10-12 2012-05-09 运软网络科技(上海)有限公司 客户端虚拟化架构
CN102882947A (zh) * 2011-09-14 2013-01-16 微软公司 自动化的桌面服务供应
CN102929685A (zh) * 2011-09-15 2013-02-13 微软公司 自动化基础架构供应

Also Published As

Publication number Publication date
WO2014150046A1 (en) 2014-09-25
CN105074665A (zh) 2015-11-18
EP2972849A1 (en) 2016-01-20
US20140280436A1 (en) 2014-09-18

Similar Documents

Publication Publication Date Title
CN105074665B (zh) 用于实现桌面虚拟化的迁移工具
US11252228B2 (en) Multi-tenant multi-session catalogs with machine-level isolation
US20210337034A1 (en) Browser Server Session Transfer
AU2019326538B2 (en) Service pool architecture for multitenant services to support canary release
CN107925685B (zh) 用于安全网页浏览的重定向器
EP2926253B1 (en) Diagnostic virtual machine
EP2992422B1 (en) Undifferentiated service domains
CN107949829B (zh) 在多会话平台上虚拟化装置管理服务
US10721130B2 (en) Upgrade/downtime scheduling using end user session launch data
US9959136B2 (en) Optimizations and enhancements of application virtualization layers
EP4155994A1 (en) Automated generation of objects for kubernetes services
CA3131407A1 (en) Intelligent file recommendation engine
US11385973B1 (en) High-availability for power-managed virtual desktop access
US10984015B2 (en) Multi-select dropdown state replication
US20230275954A1 (en) Remote browser session presentation with local browser tabs
US20230131665A1 (en) Updating virtual images of computing environments
US11366832B2 (en) Cloud services management

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: 20200306

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