CN102447723B - 客户端虚拟化架构 - Google Patents

客户端虚拟化架构 Download PDF

Info

Publication number
CN102447723B
CN102447723B CN201010505636.3A CN201010505636A CN102447723B CN 102447723 B CN102447723 B CN 102447723B CN 201010505636 A CN201010505636 A CN 201010505636A CN 102447723 B CN102447723 B CN 102447723B
Authority
CN
China
Prior art keywords
server
client
ftp
files
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.)
Expired - Fee Related
Application number
CN201010505636.3A
Other languages
English (en)
Other versions
CN102447723A (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.)
Transoft Network Sci-Tech (shanghai) Co Ltd
Original Assignee
Transoft Network Sci-Tech (shanghai) Co Ltd
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 Transoft Network Sci-Tech (shanghai) Co Ltd filed Critical Transoft Network Sci-Tech (shanghai) Co Ltd
Priority to CN201010505636.3A priority Critical patent/CN102447723B/zh
Priority to PCT/CN2011/080339 priority patent/WO2012048619A1/en
Priority to US13/879,058 priority patent/US8943506B2/en
Publication of CN102447723A publication Critical patent/CN102447723A/zh
Application granted granted Critical
Publication of CN102447723B publication Critical patent/CN102447723B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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/131Protocols for games, networked simulations or virtual reality

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明揭示了一种客户端虚拟化架构,实现利用差分同步和封闭计算的客户端虚拟化方法,其中,该客户端虚拟化架构包括:客户端系统、服务器端系统、虚拟桌面服务器、虚拟机监控器服务器、客户端虚拟化镜像同步协议、虚拟桌面/虚拟机监控器远程桌面传输协议。客户端系统包括数据、应用程序、虚拟机、虚拟机监控器、客户端硬件和客户端管理软件;服务器端系统包括服务端管理软件、服务器虚拟化组件、服务器硬件和服务器存储设备,服务器存储设备包括服务器本地磁盘或服务器连接的网络磁盘,服务器存储设备保存用户数据、应用程序镜像、虚拟机镜像和虚拟机监控器二进制代码。

Description

客户端虚拟化架构
技术领域
本发明涉及虚拟化技术领域,更具体地说,涉及一种利用差分同步和封闭计算的客户端虚拟化架构。
背景技术
在过去,无盘工作站是一个没有硬盘的电脑,操作一个远端传来的桌面。这个桌面是将远程机房物理服务器上的操作系统的桌面传输出来而得。
操作系统虚拟化的技术,导致一台服务器上运行多个操作系统,可以把在机房里的服务器能力充分利用,减少购买服务器的成本。虚拟化的原理,简言之,就是使多个“客户”操作系统(或称为虚拟机Virtual Machine,以下简称虚拟机,VM,英文俗称Guest)运行在虚拟机监控器(VirtualMachine Monitor,以下简称VMM,俗称系统管理程序Hypervisor)上,而VMM又能直接运行在物理机上。
虚拟化技术风行后,虚拟桌面(virtual desktop infrastructure,VDI)可以用来取代无盘工作站。虚拟桌面是客户端获取机房内物理服务器上虚拟机的远程桌面,进行操作。与无盘工作站不同的是,虚拟桌面是从虚拟机而来,不是直接运行在物理机上的操作系统。虚拟桌面客户端的机盒很小,内存不多,因为只需要提供通讯和显示的功能,俗称瘦终端。
由于用户有必要实现断线操作,“离线VDI”(与“客户端虚拟化”不同)应运而生。这个技术是将VMM装在客户端,这样虚拟机镜像和必要的应用可以从服务器串流过来,使用户能实现断线操作。断线操作之后若再与服务器连线,用户与机房管理员双方对数据、应用、操作系统的改动可以同步方式让双方的内容保持一致,然后以上步骤可不断重复。
2009年左右,美国的微软(Microsoft)、威睿(VMWare)、思杰(Citrix)相继推出了离线VDI的首期产品。美国公司如Moka5也在更早借用威睿的免费客户端工作站产品,推出了离线VDI。Moka5的产品是基于美国斯坦福大学的研究项目Collective。Collective注重利用缓存来解决镜像传输的延迟问题,但并未使用差分来减少传输的内容大小。而且因为用的威睿产品不能开源,无法借用虚拟机的同构性(例如虚拟机全为Windows或全为Linux)减少大批用户的应用/虚拟机镜像存储量。
离线VDI使用分层(layering)的方法,但部署和运行时与操作系统紧密结合的应用,例如Windows的应用经常会影响到系统注册表(Registry),一般较难分层,必须使用应用虚拟化的预处理,并且不执行客户端的应用虚拟化。
另外,离线VDI的性能在许多行业领域中无法使用。譬如,学校或政府单位要求的安全需要做到硬件级别,当前的离线VDI完全不能满足。网吧里PC替代当前还原卡的技术目前也无法用离线VDI解决。还有培训中心学生工作站需要经常更换不同操作系统,等等需求均不能满足。所以离线VDI所采用的方法,并未解决深层问题。本发明的客户端虚拟化则能对以上所述的缺失及行业应用提供解决方法。
发明内容
本发明的目的是提供一种客户端虚拟化(Client-Side Virtualization,或CSV)的方法,称之为利用差分同步和封闭计算客户端虚拟化。更确切地说是涉及在差分同步的基础上,如何解决客户端虚拟化的深层问题。具体的说,本发明的解决方法具有下述功能,并可以用客户端/服务器的技术实现:
功能1,差分同步;
功能2,缓存加速;
功能3,封闭性计算;
功能4,如何将用户个人的系统数据经由重定向置于可差分同步的状态;
功能5,如何将应用与操作系统分离,提炼出可差分同步的部分;
功能6,暂住的客户操作系统;
功能7,推送操作系统(Push OS);
功能8,虚拟机订阅管理控制与网路资源控制;
功能9,客户端封闭性计算服务,以及4个安全链路。
为了实现上述功能,本发明采用了客户端虚拟化的方法,其中包括:
客户端计算机是一台或多台计算机,可以是台式机,笔记本,上网本,甚至是一个移动存储器(例如USB存储盘),通过网络与机房服务器通讯。机房的服务器包含一台或多台服务器型的计算机,俗称主机。若是多台,则以集群方式运行。在集群中的任一服务器主机上,安装了服务器虚拟化软件VMM,其上可以运行一个或多个虚拟机。
客户端的计算机也运行了VMM,这个VMM可以预先安装,或在启动时,从服务器传输过来。无论何种方式,客户端的操作系统,在初始阶段,必须从服务器传输过来,然后运行。实际上,传到客户端的操作系统,也包含了在其上运行的一或多个应用,可以用应用虚拟化的方式,与操作系统打成一个包来传输,这个包称为黄金镜像。
其后,如果系统开始运行,用户应用数据、系统数据、新增的或升级的应用软件、甚至替换VM的操作系统,都会在客户端和服务器之间,进行双向差分同步。用户可以离线操作,但所有的改动,在上线之后,又会再度同步。
如果客户端只是一个移动存储器,其上仍然有VMM,可以在公务环境中把数据、应用、黄金镜像做完下载,然后插入一台第三方计算机(例如家庭计算机),则该计算机可以载入整个运行环境,然后实行离线工作。
根据本发明的一实施例,提出一种客户端虚拟化架构,实现利用差分同步和封闭计算的客户端虚拟化方法,其中,该客户端虚拟化架构包括:客户端系统、服务器端系统、虚拟桌面服务器、虚拟机监控器服务器、客户端虚拟化镜像同步协议、虚拟桌面/虚拟机监控器远程桌面传输协议。客户端系统包括数据、应用程序、虚拟机、虚拟机监控器、客户端硬件和客户端管理软件;服务器端系统包括服务端管理软件、服务器虚拟化组件、服务器硬件和服务器存储设备,服务器存储设备包括服务器本地磁盘或服务器连接的网络磁盘,服务器存储设备保存用户数据、应用程序镜像、虚拟机镜像和虚拟机监控器二进制代码。
根据本发明的一实施例,该客户端虚拟化架构是可选的服务消费端和服务生产端架构,客户端系统包含虚拟桌面/虚拟机监控器远程桌面传输协议客户端,与虚拟桌面服务器及虚拟机监控器服务器互动;客户端系统和服务端系统使用分层架构,该分层架构包括:用户应用数据和系统数据、用户应用程序、公司应用程序、操作系统、存储系统、缓存系统、网络连接、硬件系统;其中网络连接包含使用串流协议的双向镜像同步,硬件系统包含BIOS初始化程序。
根据本发明的一实施例,BIOS初始化程序包括:进行BIOS初始化时,将虚拟机监控器二进制码写入可加载区域,在BIOS初始化完成后,启动虚拟机监控器;客户端系统的虚拟机监控器对虚拟机的操作系统进行升级、重置、切换、从服务器端系统同步下载虚拟机镜像、向服务器端系统同步上传虚拟机镜像;虚拟机监控器还对客户端虚拟机监控器操作系统进行还原并在一个以上的不同的客户端虚拟机操作系统之间进行切换。
根据本发明的一实施例,存储系统进包括:用重定向技术将用户系统文件放入同步区。利用同步在服务器备份暂时文件以外的用户系统文件;网络存储使用NFS,并能穿透安全的SSH;存储系统读取数据使用缓存预取机制,写数据时对不同网络通道建立不同权限在不同挂起点上,从挂起的NFS服务器,给TCP连接器不同权限。
根据本发明的一实施例,缓存系统包括:缓存预取机制是以接入频率设定缓存文件块的优先顺序,使得重要的数据可以先被预取。如果延迟百分比超过设定的阀值,传输速度减少;如果延迟百分比小于设定的阀值,传输速度增加;如果延迟百分比等于阀值,请求速度或增加或减少某一定值,该增加或减少的值视上一次请求的延迟而定。
根据本发明的一实施例,所述双向镜像同步包括:使用镜像拆分生成应用程序镜像,使用镜像组合生成操作系统镜像;用户开始对话期后,如果用户离线,则用户得到只读的黄金镜像并创建镜像差分,如果用户在线,则利用差分算法读写有差分变化的资源,但黄金操作系统不变,然后实行组合操作;双向镜像同步使用串流作为通讯协议。
根据本发明的一实施例,镜像拆分包括:创建一个差分的压缩文件。该文件包含预处理虚拟应用时(1)监控到的系统信息和(2)应用安装后在黄金镜像之外的文件;镜像组合包括:将拆分所得的压缩文件解压,将(1)监控到的系统信息和(2)应用安装后在黄金镜像之外的文件,加入客户端黄金镜像的虚拟机中;用户组中的每个组员的虚拟机可利用服务端虚拟机监控器的向上调用广播功能为多个组员实施组合过程。在组合的过程中,如果Windows的黄金镜像是WIM文件,则是先把文件的读写转换成对磁盘扇区的读写,然后把对磁盘扇区的读写,转换成对qcow2文件的读写。
根据本发明的一实施例,差分算法包括:凡是文件块在客户端或服务器端有改变,则必须计算该文件块的消息摘要,并将文件块识别号,该文件块所属文件,文件所属的用户应用、用户系统数据、还是应用与操作系统合并的镜像这些信息写入元数据中;对于改变过的文件块,当其客户端的消息摘要和元数据传到服务器端后,就与服务器端文件块的消息摘要和元数据相比较,使用差异解决方案同步差异,并生成快照。
根据本发明的一实施例,差异解决方案包括:服务器端有改动的文件块、客户端有改动的文件块分别与最近快照的文件块比较消息摘要;若服务器文件块与快照文件块不符但客户端文件块与快照相符,则将未通过校验的文件块发送去客户端。客户端收到后,将相对应的文件块用收到的文件块取代,再行组合过程;若客户端文件块与快照文件块不符但服务器文件块与快照相符,则向客户端要求这些未通过校验的文件块。服务端收到后,将相对应的文件块用收到的文件块取代,再行组合过程;若客户端文件块与快照文件块不符,而且服务器文件块与快照也不符,则管理员必须做融合操作。融合好以后,在客户端和服务器端,将相对应的文件块用融合好的文件块取代,再行组合过程。
根据本发明的一实施例,融合操作包括:如果被改动的文件是文本文件,标示改动的部分显示,然后做手动融合。否则,要按预设的策略决定是自动覆盖还是手动覆盖。
根据本发明的一实施例,串流协议包括:如果服务器端向客户端要求传文件块,而该文件块经由数据元对比已知存在通讯缓存中,则可立即将缓存中的文件块告知服务器,而不必由客户端传来;通讯协议可以是长连接或短连接,有安全加密或无安全加密;如果客户端只是一个移动存储器,则该移动存储首先下载虚拟机监控器、客户端管理器和用户自己的黄金镜像。然后用户可以用第三方电脑启动移动存储并进行离线任务。当用户在线时,可用登入方式与服务器端同步。
根据本发明的一实施例,还提出一种电子书包或电子公文包,该电子书包或电子公文包包括经客户端虚拟化的客户端与服务器端;其中服务器端作为中介服务器,一端经由固网或移动通信网与客户端相连,另一端经由广域网连接到上级服务器;服务器端作为推送操作系统的服务端,包括资源聚合应用;客户端作为推送操作系统的客户端,实现在线与离线时的资源迁移以及网络接入状态的交换。
根据本发明的一实施例,推送操作系统的服务端执行:数据、应用、资源的更新与清理;数据、应用、资源的稽查,可分为实时与非实时;批改工作及批量发送;网络资源控制;个人网关,提供接入和虚拟机订阅管理控制。
根据本发明的一实施例,推送操作系统的客户端包括:含CPU的可离线客户端设备,离线时利用封闭性计算服务禁止任何未授权应用,且利用网络资源控制服务禁止连接处制定网络外的任何网络;无CPU的仅离线操作系统存储设备,接入第三方设备后,利用封闭性计算服务禁止任何未授权应用,且利用网络资源控制服务禁止连接处制定网络外的任何网络;无存储的仅在线客户端设备,必须在线使用VDI客户端显示服务器虚拟机屏幕。含CPU的可离线客户端设备,在线时把虚拟机的差分同步到服务器。无CPU的仅离线操作系统存储设备,在线时与在线设备差分同步,且与服务器差分同步。
根据本发明的一实施例,虚拟机订阅管理控制包括:客户端请求接入时,该客户必须曾订阅过虚拟机,可经由虚拟机数据库验证。
根据本发明的一实施例,网络资源控制服务包括:客户被允许接入服务器后,必须通过资源管理控制的认证,可经由资源索引表通过资源策略管理器来验证;存取资源索引表包含授权URL、授权资源索引REST。
根据本发明的一实施例,客户端封闭性计算服务包括:客户端信任计算基,包含以下五个安全链路:硬件启动至操作系统启动的全链路控制;封闭操作系统的实现;本地计算的封闭性;确保网络接入安全性的TPM/TCM信任链;应用/数据控制链。可信计算TC模型,构成一个完整的参考监测模型Reference Monitor Model。
根据本发明的一实施例,硬件启动至操作系统启动的全链路控制包括:PCR信任链,包括:IPL/MBR-内核哈希;BIOS–IPL/MBR哈希;CRTM–BIOS哈希。电子书包/电子公文包可信任计算的操作系统;电子书包/电子公文包可信任计算的硬件平台。
根据本发明的一实施例,封闭操作系统的实现包括:部署信任计算基的硬件实现操作系统核心的全生命周期信任控制;信任的操作系统核心;私有核心文件系统协议;取消SLIRP软件协议栈;网络协议栈。
根据本发明的一实施例,本地计算的封闭性包括:应用在操作系统封闭运行时,如果应用未获授权,则其安装与运行会被禁止。即使已被授权,还有下列控制:该应用要求升级,或要求安装其它应用,是由TPM/TCM实施;该应用要改变操作系统核心,用户自行创建应用,或有多样、随机化的应用,使被推送操作系统运行于硬件操作系统,实施信任控制。应用与数据在网络失去后,本地依然有持续性。一旦上网,进行同步,这些应用与数据进入本地,遵循本地规则运行。
根据本发明的一实施例,确保网络接入安全性的TPM/TCM信任链进一步包括:客户端TPM/TCM的可信设备;服务器端TPM/TCM虚拟硬件映射;双向同步推送机制保证可信的网络计算环境。
根据本发明的一实施例,本发明还提出一种客户端虚拟化在网吧和培训中心的应用实施例,包括:客户端虚拟化的客户端与客户端虚拟化的服务器端;进行BIOS初始化时,将虚拟机监控器二进制码写入可加载区域,当BIOS过程完毕后,虚拟机监控器启动;客户端虚拟机监控器管理虚拟机操作系统的升级、重置、切换、从服务器同步下载镜像、向服务器同步上传镜像;暂住式客户端虚拟机监控器进一步包括客户端虚拟机监控器操作系统的还原和切换一个以上的不同客户端虚拟机操作系统。
本发明的客户端虚拟化架构为企业提供了一种客户端虚拟化的方法,该方法是构建在客户端和服务器的架构上,用户在线时,在客户端可以随时同步服务器上的数据、应用和操作系统。另外,用户的操作也被实施严密的安全保护,系统很难被黑客入侵。这样的系统既可作为VDI的一种一般性扩充,也可以在多种行业上有其特殊的应用。譬如在教育界成为电子书包,在企业与事业里成为电子公文包,在网吧里成为可还原的台式机,在培训中心成为经常更换操作系统的学生工作站。
附图说明
本发明抽象功能的实施方式,最具体的表现方式就是下列附图,以组成框图的方式说明,或以流程图说明。下面参照附图,对于熟悉本技术领域的人员而言,从对本发明方法的详细描述中,本发明的陈述和其目的、特征和优点将显而易见。
图1是根据本发明的一实施例的客户端虚拟化架构的组成框图;
图2是根据本发明的一实施例的客户端虚拟化架构中“客户端/服务端分层(layering)数据操作”组成框和流程混合图,说明了图1中的客户端管理器0111和服务端管理器0121;
图3是根据本发明的一实施例的客户端虚拟化架构中“客户端启动Powerup/BIOS”的流程图,说明了图2中的步骤0201;
图4是根据本发明的一实施例的客户端虚拟化架构中“裸机Hypervisor启动”的流程图,说明了图3中的步骤0309;
图5是根据本发明的一实施例的客户端虚拟化架构中“存储系统”流程图,说明了图2中的步骤0211;
图6是根据本发明的一实施例的客户端虚拟化架构中“缓存系统”流程图,说明了图2中的步骤0212;
图7是根据本发明的一实施例的客户端虚拟化架构中“双向同步”流程图,说明了图2中的步骤0213;
图8是根据本发明的一实施例的客户端虚拟化架构中“应用镜像生成的拆分与组合”流程图,说明了图7中的步骤0705,0706,0711,0717;
图9是根据本发明的一实施例的客户端虚拟化架构中“差分算法”组成框和流程混合图,说明了图7中的步骤0722有关差分算法的细节;
图10是根据本发明的一实施例的客户端虚拟化架构中“差异解决方案”组成框和流程混合图,说明了图9中的步骤0922;
图11是根据本发明的一实施例的客户端虚拟化架构中“融合操作”流程图,说明了图10中的步骤1008;
图12是根据本发明的一实施例的客户端虚拟化架构中“串流协议”流程图,说明了图2中的步骤0214;
图13是根据本发明的一实施例的客户端虚拟化架构实现的“电子书包/电子公务包”的组成框图;
图14是根据本发明的一实施例的电子书包/电子公务包中“推送操作系统(Push OS)服务器”流程图,说明了图13中的方框1321在线资源,其中第一个资源推送操作系统(Push OS)的服务器;
图15是根据本发明的一实施例的电子书包/电子公务包中“推送操作系统(Push OS)客户端”流程图,说明了图13中的方框1321在线资源,其中第一个资源推送操作系统(Push OS)的客户端;
图16是根据本发明的一实施例的电子书包/电子公务包中“虚拟机订阅管理控制与网路资源控制”的流程图,其中方框1621虚拟机订阅管理控制服务说明了图14中的步骤1414,方框1622网路资源控制服务说明了图14中的步骤1412和图15中的步骤1505,1514;
图17是根据本发明的一实施例的电子书包/电子公务包中“客户端封闭性计算服务”的组成框图,明了图14中的步骤1416,和图15中的步骤1504,1509;
图18是根据本发明的一实施例的电子书包/电子公务包中“链路1:OS启动的全链路控制”的流程图,说明了图17中的链路1;
图19是根据本发明的一实施例的电子书包/电子公务包中“链路2:封闭OS的实现”的流程图,说明了图17中的链路2;
图20是根据本发明的一实施例的电子书包/电子公务包中“链路3:本地应用的封闭性需求”的流程图,说明了图17中的链路3;
图21是根据本发明的一实施例的电子书包/电子公务包中“链路4:硬件TPM信任链确保网络接入的安全性”的流程图,说明了图17中的链路4;
图22是根据本发明的一实施例的电子书包/电子公务包中“暂住式Hypervisor启动”的流程图。
具体实施方式
概述
图1是根据本发明的一实施例的客户端虚拟化(CSV)架构的组成框图。该客户端虚拟化(CSV)架构包括客户端系统(CSV客户端)011、服务器端系统(CSV服务器)012、虚拟桌面服务器和虚拟机监控器服务器合为一体成为VDI/VMI服务器013。CSV客户端011和CSV服务器012中间的通讯是双向镜像同步;但在CSV客户端上仍然可安装VDI/VMI的客户端,而该客户端则是从VDI/VMI服务器获取虚拟机屏幕,且将鼠标和键盘的动作传回VDI/VMI服务器。VDI的定义已在背景技术中说明,VMI是Virtual Mobile Infrastructure的缩写。VMI技术是在VMI服务器上将手机操作系统虚拟化,然后将手机屏幕传至移动终端。VMI技术的细节在中国专利申请CN200810204286.X中揭示。
图1所示的系统中,CSV客户端的管理器0111处理以下各层数据:用户数据0112,应用程序镜像0113,虚拟机镜像0114,和虚拟机监控器0115。至于硬件0116,可以是台式机、笔记本、上网本、移动存储盘。CSV客户端的管理器本身包含其最重要的组件:同步和串流机制01111,该同步和串流机制01111将镜像与CSV服务端同步;其它CSV客户端组件01112诸如存储系统、缓存系统、安全机制;VDI/VMI客户端01113通过屏幕传输技术与VDI/VMI服务器交流。
CSV服务器端012包含CSV服务端管理器0121、用户数据库0122、应用镜像、操作系统(OS)镜像、虚拟机监控器二进制代码0123、以及服务器虚拟化组件0122。CSV服务端管理器0121进一步包含了最重要的服务端同步和串流机制01211,和其它CSV服务端管理组件01212。
在图2的实施例中也说明了CSV的客户端和服务器的互动是基于同步和串流的技术。以上的简略说明涵盖了CSV的架构。
CSV客户端/服务端分层数据操作
图2给出了CSV客户端011/CSV服务端012分层数据操作的组成框和流程混合图。左边的方框021是客户端管理器的组成框图。右边上面的组成框图022是VDI/VMI服务端管理器。右边下面的组成框图023是CSV服务端管理器,与左边的框图客户端管理器形成对称。这里提到一个可以选用的“分层数据(layering)操作”的架构。分层数据操作原始于用瘦终端的VDI,目的是为了让用户应用数据、用户系统数据、缓存数据、个人应用数据、公司应用数据、操作系统方便被不同部门的网管人员来管理,譬如。这里的CSV架构也使用分层,但不同于VDI的是,客户端与服务器之间的分层数据,使用了双向差分同步的串流通讯。在这里的通讯,并不是网络通讯,而仅是主机本地更快速的程序调用或系统调用。这里要强调的是,用户系统数据可以用文件存储系统的重定向功能将系统数据置入同步数据区,并且为之备份。图5的步骤0503说明了这一点。CSV客户端/服务端分层数据操作流程具体包括:
步骤0201,进行PC BIOS的初始化和虚拟机监控器Hypervisor的启动;
步骤0202,判断操作是否为VDI/VMI。如是,转入步骤0203,否则进行步骤0206;
步骤0203,VDI/VMI客户端初始化,启动通讯。进行步骤0204;
步骤0204,VDI/VMI客户端/服务器互动;
步骤0205,VDI/VMI服务器初始化,启动通讯。进行步骤0204;
步骤0206,判断操作是否为CSV。如是,转入步骤0207,否则进行步骤0214;
步骤0207,判断操作是否为用户应用数据或用户系统数据。如是,转入步骤0211,执行曾经被重定向的数据,且在灾难恢复时使用备份,否则进行步骤0208;
步骤0208,判断操作是否为用户应用。如是,转入步骤0211,否则进行步骤0209;
步骤0209,判断操作是否为公司应用。如是,转入步骤0211,否则进行步骤0210;
步骤0210,判断操作是否为黄金操作系统。如是,转入步骤0211,否则进行步骤0214;
步骤0211,执行存储系统的各种功能,进行步骤0212;
步骤0212,执行缓存系统的各种功能,进行步骤0213;
步骤0213,客户端双向同步,进行步骤0214;
步骤0214,串流协议,进行步骤0213或步骤0223;
步骤0215,CSV服务器初始化,进行步骤0215;
步骤0216,判断操作是否为用户应用数据或用户系统数据。如是,转入步骤0221,执行曾经被重定向的数据,且在灾难恢复时使用备份,否则进行步骤0217;
步骤0217,判断操作是否为用户应用。如是,转入步骤0221,否则进行步骤0218;
步骤0218,判断操作是否为公司应用。如是,转入步骤0221,否则进行步骤0219;
步骤0219,判断操作是否为黄金操作系统。如是,转入步骤0221,否则进行步骤0220;
步骤0220,错误返回;
步骤0221,执行存储系统的各种功能,进行步骤0212;
步骤0222,执行缓存系统的各种功能,进行步骤0223;
步骤0223,服务端双向同步,进行步骤0224;
客户端启动/BIOS
图3是客户端启动/BIOS的流程图。客户端在启动OS之前利用BIOS下载Hypervisor。流程具体包括:
步骤0301,进行PC BIOS的初始化和虚拟机监控器Hypervisor的启动;
步骤0302,判断操作是否为下载Hypervisor。如是,转入步骤0303,否则进行步骤0305;
步骤0303,从周边媒介读取Hypervisor二进制码。进行步骤0304;
步骤0304,将Hypervisor二进制码写入EPROM;
步骤0305,判断操作是否为其它BIOS操作。如是,转入步骤0306,否则进行步骤0307;
步骤0306,执行其它BIOS操作;
步骤0307,判断操作是否为重置BIOS变数。如是,转入步骤0308,否则进行步骤0309;
步骤0308,设定全部BIOS值;
步骤0309,进入Hypervisor启动;
裸机Hypervisor启动
图4是裸机Hypervisor启动的流程图。这是Hypervisor如何管理运行其上的操作系统的逻辑,包含操作系统的升级、重置、切换、和同步。同步可以“向下”,意即将客户端的操作系统同步成与服务器上该用户的虚拟机完全一致;“向上”同步则表示将服务器上该用户的虚拟机同步成与客户端的操作系统完全一致。流程具体包括:
步骤0401,裸机Hypervisor的启动。进行步骤0402;
步骤0402,判断操作是否为升级、重置、向下同步操作系统。如是,转入步骤0403,否则进行步骤0405;
步骤0403,从周边媒介读取Hypervisor二进制码。进行步骤0404;
步骤0404,目标操作系统的标示设定为“默认操作系统”。进行步骤0408;
步骤0405,判断操作是否为切换操作系统。如是,转入步骤0406,否则进行步骤0410;
步骤0406,保存当前OS到缓存中,并设定要切换到的目标操作系统。进行步骤0407;
步骤0407,判断是否目标操作系统已在缓存中。如是,转入步骤0408,否则进行步骤0409;
步骤0408,从缓存加载目标操作系统。进行步骤0412;
步骤0409,目标操作系统从服务器串流到缓存中。进行步骤0408;
步骤0410,判断操作是否向上同步操作系统。如是,转入步骤0411,否则进行步骤0412;
步骤0411,向服务器及部门单位的计算机发送最新操作系统镜像。进行步骤0412;
步骤0412,进入操作系统启动。
存储系统
图5是存储系统的组成框和流程混合图。方框051是客户端的文件系统流程图,主要是用户系统文件的重定向,这些文件如果不是暂时性的,可利用同步达成在服务器端的备份。方框052是服务端的存储系统,可以是服务器当地或网络存储。若是网络存储,则使用NFS,并能穿透安全的SSH;服务器读取数据时使用缓存预取机制;服务器写数据时对不同网络通道建立不同权限在不同挂起点上,从挂起的NFS服务器,给TCP连接器不同权限。
客户端的文件系统051流程具体包括:
步骤0501,客户端存储系统初始化。进行步骤0502;
步骤0502,用重定向技术将用户系统文件放入同步区,利用同步在服务器备份用户系统文件(除了暂时文件例如IE历史文件);
服务器端的文件系统052流程具体包括:
步骤0503,服务器存储系统初始化。进行步骤0504;
步骤0504,判断操作是否为分配用户到存储系统。如是,转入步骤0505,否则进行步骤0507;
步骤0505,每一个用户使用存储器(当地或网络磁盘)的一个目录,每个子目录是一个镜像版本(子目录名就是版本号)。进行步骤0506;
步骤0506,最新版的镜像在主目录下面。进行步骤0521;
步骤0507,判断操作是否为读数据。如是,转入步骤0508,否则进行步骤0512;
步骤0508,判断是当地或网络存储。如是当地,转入步骤0509,否则进行步骤0511;
步骤0509,存储器上的文件不可被删除;但文件太老可删,以便腾出空间。进行步骤0510;
步骤0510,pre-fetcher:缓存预取机制。进行步骤0518;
步骤0511,使用NFS,并能穿透安全的SSH。进行步骤0509;
步骤0512,判断操作是否为写数据。如是,转入步骤0513,否则进行步骤0522;
步骤0508,判断是当地或网络存储。如是网络存储,转入步骤0515,否则进行步骤0514;
步骤0514,使用NFS,并能穿透安全的SSH。进行步骤0514;
步骤0515,判断镜像是否WIM格式。如是,转入步骤0517,否则进行步骤0516;
步骤0516,把网络块设备(NBD)挂到虚拟机系统中,以便直接访问到用户的“黄金虚拟机镜像”中的磁盘。进行步骤0518;
步骤0517,截获WIM文件写的动作,把对文件的写,转换成对sector的写,再把对sector的写,转换成对qcow2文件的写。进行步骤0518;
步骤0518,将镜像新版本加入存储器。进行步骤0519;
步骤0519,对不同网络通道建立不同权限(在不同mount点上,从mount NFS服务器,给TCP连接器不同权限)。进行步骤0520;
步骤0520,每64Kbyte做一次fsync,以限制NFS客户端在内存滞留太多肮脏数据。进行步骤0521;
步骤0521,正常返回;
步骤0522,错误返回。
缓存系统
图6是缓存系统的流程图。缓存系统有助于数据对象分配到缓存系统的问题,以及存储或文件崩溃的问题。缓存预取机制是以接入频率设定缓存文件块的优先顺序,使得重要的数据可以先被预取。如果延迟百分比超过设定的阀值,传输速度减少;如果延迟百分比小于设定的阀值,传输速度增加;如果延迟百分比等于设定的阀值,请求速度或增或减某一定值,视上一次请求的延迟而定。流程具体包括:
步骤0601,缓存系统初始化。进行步骤0602;
步骤0602,判断操作是否为数据对象分配到缓存系统。如是,转入步骤0603,否则进行步骤0609;
步骤0603,判断操作是否为COW文件块。如是,转入步骤0604,否则进行步骤0606;
步骤0604,复制小数据、元数据(Metadata)和用户数据(可能不小),写入小对象缓存。进行步骤0605;
步骤0605,背景进程经常把服务器的更新融入缓存数据对象,以备读取。进行步骤0620;
步骤0606,置入COW缓存。进行步骤0607;
步骤0607,指定URL,文件名、镜像版本号为磁盘名。进行步骤0608;
步骤0608,指定虚拟磁盘偏移量为文件块名,以备读取。进行步骤0620;
步骤0609,判断操作是否处理存储或文件崩溃。如是,转入步骤0610,否则进行步骤0611;
步骤0610,缓存中每512k bytes的磁盘扇区计算MD5哈希值。进行步骤0612;
步骤0611,若存储或文件崩溃,则校验不通过。此时便认定该数据不在缓存上。进行步骤0620;
步骤0612,判断操作是否缓存预取。如是,转入步骤0613,否则进行步骤0621。
步骤0613,以接入频率设定缓存文件块的优先顺序,使得重要的数据可以先被预取。进行步骤0614;
步骤0614,计算最近请求的网络或磁盘延迟的百分比。进行步骤0615;
步骤0615,判断该延迟百分比是否超过阀值。如是,转入步骤0616,否则进行步骤0617。
步骤0616,请求速度减半。进行步骤0620;
步骤0617,判断该延迟百分比是否等于阀值。如是,转入步骤0618,否则进行步骤0619。
步骤0618,请求速度或增或减某一定值,视上一次请求的延迟而定。进行步骤0620;
步骤0619,请求速度加倍。进行步骤0620;
步骤0620,正常返回;
步骤0621,错误返回;
双向同步
图7是双向镜像同步的组成框和流程混合图。方框071讲到服务器端准备应用镜像和操作系统镜像的步骤,方框072则是用户对话期开始的步骤。这些步骤在黄金镜像产生之后,都要开始进行差分处理(图8),处理时,要利用串流协议进行客户端和服务器端的通讯。
服务器端071的流程具体包括:
步骤0701,服务器端镜像同步初始化。进行步骤0702;
步骤0702,判断操作是否为生成应用镜像。如是,转入步骤0703,否则进行步骤0708;
步骤0703,判断应用是否为Windows应用。如是,转入步骤0704,否则进行步骤0707;
步骤0704,判断应用是否用到系统资源。如是,转入步骤0705,否则进行步骤0707;
步骤0705,第一个拆分步骤:捕获应用所操作的共享资源中所拥有的私有资源。进行步骤0706;
步骤0706,第二个拆分步骤:从OS分离出应用所有的files形成应用镜像。进行步骤0714;
步骤0707,将应用当成绿色软件直接生成镜像。进行步骤0708;
步骤0708,生成操作系统镜像。转入步骤0709;
步骤0709,根据随需要求,灵活的生成虚拟机的模板或者虚拟机。转入步骤0710;
步骤0710,判断操作Windows应用是否用到系统资源。如是,转入步骤0711,否则进行步骤0712;
步骤0711,组合:将App image和OS image形成可视的Files,然后进行在文件系统级别的组合,进行步骤0722;
步骤0712,利用客户操作系统的代理,更改操作系统中的共享资源的内容,再将应用与OS组合成镜像。进行步骤0722;
客户端072的流程具体包括:
步骤0713,用户对话期开始,进行步骤0714;
步骤0714,判断操作是在线或离线。如是在线,转入步骤0715,否则进行步骤0719;
步骤0715,判断操作是否本地任务直接操作远方网络资源。如是,转入步骤0716,否则进行步骤0721;
步骤0716,判断操作是否远方镜像使用差分。如是,转入步骤0717,,否则进行步骤0718;
步骤0717,读写有差分变化的资源,但黄金操作系统镜像不变,再按策略组合镜像。进行步骤0722;
步骤0718,应用和OS在一个镜像中。进行步骤0722;
步骤0719,登出:将此用户所需的只读的网络OS镜像下载到本地,同时创建镜像差分(俗称工作空间)。进行步骤0720;
步骤0720,登入:登入工作空间,在远端服务器或者存储上可以根据策略来组合此用户的镜像。进行步骤0722;
步骤0721,本地的任务使用了本地的增量资源,同时也使用了只读的网络OS镜像,进行步骤0722;
步骤0722,进入差分算法,其中通讯时使用串流协议。
应用镜像生成的拆分与组合
图8是应用镜像生成的拆分与组合的流程图。这是对图7中的步骤0705,0706,0711,和0717的详细说明。拆分是应用虚拟化中的预处理动作,旨在将一个与操作系统紧密结合的应用拆分成多个文件,然后打成一个包方便存储。组合是应用程序与虚拟机被存储时的合并动作,也就是将该Windows应用的注册表,服务,COM,DCOM加入Windows虚拟机中。实际上,由于用户的虚拟机很可能是在同一个物理服务器上,这样的组合,或称为部署,其实不用TCP/IP的传输,而是应用VMM中的广播功能,快速为多个客户进行一致性部署(前提是用户都属于同一用户组,使用同构虚拟机,相同应用)。一致性部署所使用的虚机监控器的“向上调用”广播功能,在题为“通过总线架构构建虚拟机监控器的方法及性能服务框架”,提交于2010年5月25日,申请号为201010183844.6的中国专利申请中揭示,上述专利申请的内容通过引用合并于此。
另外,步骤0811,0817和0818的app.pkg通常是以压缩格式与虚拟操作系统的黄金镜像组合,然后保存在服务器端的磁盘上。当此一组合镜像要被修改(例如添加新应用)或被串流至客户端时,再从磁盘读取。如果虚拟机监控器(VMM)是支持Linux操作系统的(例如LXC,KVM,XEN),那么必须要先把组合文件的读写转换成对磁盘扇区的读写,然后把对磁盘扇区的读写,转换成对Linux qcow2文件格式的读写。
流程具体包括:
步骤0801,用到OS系统资源的应用镜像生成初始化。进行步骤0802;
步骤0802,判断操作是否为应用虚拟化的拆分。如是,转入步骤0803,否则进行步骤0812;
步骤0803,在机房里,安装hypervisor并在其上运行虚拟机。进行步骤0804;
步骤0804,在虚拟机上安装组合工具,变成“黄金虚拟机镜像”。进行步骤0805;
步骤0805,黄金虚拟机镜像=hypervisor+虚拟机+组合工具。进行步骤0806;
步骤0806,找出黄金虚拟机镜像所有文件。进行步骤0814;
步骤0807,安装应用,监控内核层的API。进行步骤0808;
步骤0808,把监控到的系统信息写成文件sys.msg。转入步骤0809;
步骤0809,找出黄金虚拟机镜像在应用安装后多出的文件。转入步骤0810;
步骤0810,判断操作Windows应用是否用到系统资源。如是,转入步骤0811,否则进行步骤0812;
步骤0811,Sys.msg加入file.pkg=app.pkg并将app.pkg写入磁盘,进行步骤0812;
步骤0812,判断操作是否为应用虚拟化的组合。如是,转入步骤0813,否则进行步骤0819;
步骤0813,利用存储系统将“黄金虚拟机镜像”写入磁盘(见图5的步骤0512到0521)。当镜像要部署到多个虚拟机时,先把镜像从磁盘读入环形缓冲区,再进行步骤0814;
步骤0814,判断用户组全部组员是否均完成了该应用的部署。如是,转入步骤0816,否则进行步骤0815;
步骤0815,正常返回;
步骤0816,Hypervisor的upcall广播到下一个用户的虚拟机。进行步骤0817;
步骤0817,访问磁盘,读取app.pkg文件。把App.pkg中的file.pkg文件释放到“黄金虚拟机镜像”的虚拟机中。进行步骤0818;
步骤0818,把app.pkg中的sys.msg放入虚拟机中(例如将注册表信息加入Windows注册表,Windows服务和COM/DCOM也分别加入Windows虚拟机中)。进行步骤0814;
步骤0819,错误返回。
差分算法
图9是差分算法的组成框和流程混合图。方框091讲到客户端差分算法的步骤,方框092则是服务端差分算法的步骤。差分算法使用了元数据(metadata)和文件块级别(block level),而非文件级别的处理,以增加辨认和传送速度。在客户端收到黄金镜像之后,所有的操作都定义为差分的产生。当客户端在线时,客户端可以订立一个检察差分的时段,譬如每90秒检察是否文件块被改过,计算这些被改动过文件块的MD5,并将这些文件块的元数据传给服务器。MD5是消息摘要的一种,以其加密算法可以得到128位元哈希值。元数据包括被改过的文件块ID,该文件块所属文件、文件属于用户应用、用户系统数据、还是应用+OS镜像等信息。在服务端也可能有文件块的改动,所以收到客户端传来的元数据和MD5信息后,就要进行差异解决方案来同步双方的差异。然后就可以保存快照。当客户端离线时,元数据和文件块的MD5要保存在客户端的“代理服务器”中。这个代理服务器是客户端在离线时的暂时数据贮藏所。同样的,在服务器上也有个“虚拟客户端”,是客户端在离线时服务器的文件产生差分时的暂时数据贮藏所。
客户端091的流程具体包括:
步骤0901,客户端初始化。进行步骤0902;
步骤0902,判断是否接到黄金操作系统镜像。如是,转入步骤0903,否则进行步骤0904;
步骤0903,通知服务器收到黄金操作系统镜像。进行步骤0915;
步骤0904,判断客户端是否刚从离线变在线。如是,转入步骤0905,否则进行步骤0906;
步骤0905,取出保存在代理服务器中的元数据。进行步骤0906;
步骤0906,判断是否客户端在预设时段内有操作。如是,转入步骤0907,否则进行步骤0909;
步骤0907,计算被改过文件块的MD5。进行步骤0908;
步骤0908,并发传送元数据(Meta-data)和文件块MD5到服务器以检验差异。元数据记录了被改过的文件块,该文件块所属文件、文件属于用户应用、用户系统数据、还是应用+OS镜像等信息。转入步骤0920;
步骤0909,判断是否用户要求离线操作。如是,转入步骤0910,否则进行步骤0904,不断循环检查;
步骤0910,客户端离线。进行步骤0911;
步骤0911,用户进行离线操作时,元数据和MD5保持在代理服务器中;
服务端092的流程具体包括:
步骤0912,服务器初始化。进行步骤0913;
步骤0913,判断操作是否送出黄金操作系统镜像。如是,转入步骤0914,否则进行步骤0916;
步骤0914,送出黄金操作系统镜像。进行步骤0902;
步骤0915,得知客户端收到黄金操作系统镜像,认可。进行步骤0916;
步骤0916,判断操作在客户端离线时服务器是否有操作。如是,转入步骤0917,否则进行步骤0918;
步骤0917,读写有差分变化的资源,但黄金操作系统镜像不变,再按策略组合镜像。进行步骤0922;
步骤0918,判断客户端是否在线。如是,转入步骤0919,否则进行步骤0916;
步骤0919,若刚从离线变在线,取出保存在虚拟客户端中的元数据。进行步骤0920;
步骤0920,将服务器端元数据与客户端元数据比较。进行步骤0921;
步骤0921,分列出客户端和服务器端有差异的文件块。进行步骤0922;
步骤0922,差异解决方案。进行步骤0923;
步骤0923,如果符合快照时段(多久产生一快照),保存差分并产生快照。
差异解决方案
图10是差异解决方案的组成框和流程混合图。方框101讲到服务端差异解决方案的步骤,方框102则是客户端差异解决方案的步骤。差异解决方案使用了客户与服务器双方被改动的文件块(block)的MD5,与前一次快照中这些文件块的MD5的比较。主要是发掘哪些文件块(1)只被客户端改过,哪些文件块(2)只被服务器改过,而哪些文件块(3)既被客户端改过,又被服务器端改过。在(1)中,那些被改动的文件块需要从客户端传到服务器以便组合成快照。在(2)中,那些被改动的文件块需要从服务器端传到客户端以便在客户端重新组合。在(3)中,必需等待管理员做融合操作。融合之后,服务器与客户端再按新的文件块做组合。
服务端101的流程具体包括:
步骤1001,差异解决方案初始化。进行步骤1002;
步骤1002,比较下列文件块的MD5:客户端和服务器端有差异的文件块;和最近快照相对应的文件块。进行步骤1003;
步骤1003,比较MD5。判断客户端文件块与最近快照文件块是否不符。如不符,转入步骤1004,否则进行步骤1005;
步骤1004,比较MD5。判断服务端文件块与最近快照文件块是否不符。如不符,转入步骤1007,否则进行步骤1006;
步骤1005,服务器文件块与快照不符但客户端文件块与快相照符。进行步骤1011;
步骤1006,服务器文件块与快照相符但客户端文件块与快照不符。进行步骤1012;
步骤1007,服务器文件块与快照不符而且客户端文件块与快照不符。进行步骤1008;
步骤1008,通知管理员将客户端与服务器双方的改动做融合操作。其中必需经由客户端步骤1014获取客户端改动过的文件块。而融合操作的细节可以见图11。最后,提醒客户端等待融合结果。转入步骤1009;
步骤1009,将融合好的文件块送去客户端的步骤1015,并进行步骤1010;
步骤1010,未通过校验的服务器端文件块用融合好的文件块取代,再按文件块组合。转入步骤1013;
步骤1011,将未通过校验的文件块发送去客户端的步骤1015。转入步骤1013;
步骤1012,通知客户端哪些文件块不符,然后通过客户端步骤1014送出这些文件块。服务端将未通过校验的服务器端文件块用收到的客户端文件块取代,再按文件块组合。转入步骤1013;
步骤1013,正常返回;
客户端102的流程具体包括:
步骤1014,将服务器要求的文件块数据传给服务器;
步骤1015,未通过校验的客户器端文件块用收到的服务器文件块取代,再按文件块组合;
融合操作
图11是融合操作的流程图。融合操作包含自动融合(即覆盖)和手动融合。如果是文本级别的用户数据,有可能用标示好改动部分的文本进行手动融合。如果是其它类型用户数据或镜像,只能是手动或自动覆盖。流程具体包括:
步骤1101,追朔改动文件块的文件性质。进行步骤1102;
步骤1102,判断文件块是属于用户应用数据或系统数据。如果是应用数据,转入步骤1103,否则进行步骤1106;
步骤1103,判断文件块是否文本文件。如是,转入步骤1104,否则进行步骤1107;
步骤1104,标示两个文件的改动部分。进行步骤1105;
步骤1105,以文本文件的比较让管理员做手动融合。进行步骤1111;
步骤1106,判断文件块是属于应用或OS镜像。如是,转入步骤1107,否则进行步骤1112;
步骤1107,覆盖式融合。进行步骤1108;
步骤1108,判断是否按预设策略自动覆盖。如是,转入步骤1109,否则进行步骤1110;
步骤1109,客户端文件块自动覆盖服务器端文件块,或服务器端文件块自动覆盖客户端文件块。进行步骤1111;
步骤1110,弹出对话框让管理员决定文件块的覆盖方式(谁覆盖谁)。转入步骤1111;
步骤1111,正常返回;
步骤1112,错误返回。
串流协议
图12是串流协议的流程图。如果服务器向客户端请求的文件块元数据已告知该数据在通讯缓存中(由于其它客户端早先传输过),则可从缓存读取,不必向客户端经过通讯取得。至于通讯协议,可分为长连接和短连接。长连接是在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接。短连接是通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接。
如果客户端只是一个移动存储,首先要在其上装好Hypervisor和黄金镜像,再由服务器的同步传来差分。当用户将移动存储插入第三方电脑(例如家庭电脑),客户端管理器会自动启动客户端。用户登录后可完成离线任务。当用户在线,采用登入的方式与服务器端同步。流程具体包括:
步骤1201,从图7的双向镜像同步而来。进行步骤1202;
步骤1202,判断操作是否服务器请求客户端。如是,转入步骤1203,否则进行步骤1204;
步骤1203,比较所要求的文件块元数据,若在服务器缓存中已有(由于其它客户端早先传过),则可立即把数据传回,不必经过实际通讯传输。进行步骤1204;
步骤1204,判断操作是否通信协议。如是,转入步骤1205,否则进行步骤1209;
步骤1205,判断操作是长连接还是短连接。如是长连接,转入步骤1206,否则进行步骤1207;
步骤1206,在一个TCP连接上可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双方发检测包以维持此连接。进行步骤1208;
步骤1207,通信双方有数据交互时,就建立一个TCP连接,数据发送完成后,则断开此TCP连接。进行步骤1208;
步骤1208,进行网络安全,协议的加密(https或SSL)。进行步骤1209;
步骤1209,判断操作是否移动存储。如是,转入步骤1210,否则进行步骤1215;
步骤1210,移动存储中装入Hypervisor和客户端管理器程序包,用户自己的黄金镜像,再加上服务器传来的差分。转入步骤1211;
步骤1211,用户以第三方电脑来自动启动这个移动存储,客户端管理器自动启动客户端。转入步骤1212;
步骤1212,用户在第三方电脑登录后,启动自己的虚拟机。转入步骤1213;
步骤1213,完成用户离线的工作任务。转入步骤1214;
步骤1214,用户在线的时候,采用登入(“check in”)的方式与服务器端同步。转入步骤1215;
步骤1215,正常返回。
电子书包/电子公务包
图13是本发明的电子书包/电子公务包架构组成框图。图中的方框131就是电子书包,是前面所述的虚拟化客户端,它可以是一个台式机,移动设备或移动存储。方框132是学校或分公司的服务器,与客户端以局网相连,这种连接为客户端提供了教育资源,可以经由UTMS/GMS,802.11或802.3的局网协议,下载到本地。而方框133则是教育局或公司总部地服务器与学校或分公司以广域网相连。
以下是一个可移动电子书包的样本规格:
√轻便手持设备
√SATA/SCSI硬盘120G;内存2G
√Intel VT或AMD SVM CPU
√键盘;显示器;鼠标(可选)
√ACPI
√802.11b/g接口和802.3接口
√WLAN和UMTS接口预留
√无任何附属存储设备接口,CD-ROM,软驱
√具备可信专用移动存储接口,以备将来应用,如WLAN或UMTS接入设备
√可信计算模块(TPM)设备
√支持32位Linux操作系统
√其他基本需求
方框131虚拟客户端还包括方框1311资源与接入。这是电子书包的重要功能。资源与接入1311讲到电子书包两个状态的数据和应用:方框13111在线数据和应用,以及方框13112,离线数据和应用。在状态改变时,涉及资源的迁移。方框13111在线数据和应用必须仰赖方框13113的网络接入。方框13112离线数据和应用则是处于方框13114无网络接入的状态。在线和离线的互换,意味着方框13113的网络接入和方框13114无网络接入之间的介入状态交换。
方框132的学校服务器,也包括了在线资源1321,其中重要的资源包含:
(1)推送Push OS;
(2)教育资源聚合应用;
(3)特别优化集成的视频、音频播放软件;
(4)订阅管理控制。
以上所述是电子书包在教育行业的应用。在办公这一行业中,“电子公务包”有着类似的架构。譬如方框131可以是这个电子公务包,方框132是分公司服务器,方框133则是公司总部的服务器。客户端131接入局网并从分公司服务器132下载资源,分公司服务器透过广域网对总公司服务器133执行网络爬虫扫描获取资源,并实现推送OS,资源聚合,订阅管理等应用。
推送操作系统(Push OS)服务器
图14是推送操作系统服务器的流程图。该服务器的操作包含数据、应用、资源的更新与清理;数据、应用、资源的稽查,可分为实时与非实时;管理员或上级批改工作及批量发送;网络资源控制;以及个人网关,提供接入和虚拟机订阅管理控制。流程具体包括:
步骤1401,推送操作系统服务端预备虚拟机。进行步骤1402;
步骤1402,判断操作是否为数据、应用以及资源更新、清理。如是,转入步骤1403,否则进行步骤1404;
步骤1403,更新、清理数据、应用以及资源;
步骤1404,判断操作是否为数据、应用以及资源稽查。如是,转入步骤1405,否则进行步骤1408;
步骤1405,判断是否实时稽查。如是,转入步骤1406,否则进行步骤1407;
步骤1406,实时稽查。进行步骤1419;
步骤1407,非实时稽查。进行步骤1419;
步骤1408,判断操作是否批改工作及批量化发送。如是,转入步骤1409,否则进行步骤1411;
步骤1409,老师批改作业或上级批改公文。进行步骤1410;
步骤1410,判断是否完成批量化发送到学生或下属。如是,转入步骤1419,否则转回步骤1409;
步骤1411,判断操作是否网络资源控制。如是,转入步骤1412,否则进行步骤1413;
步骤1412,网络资源控制服务。转入步骤1419;
步骤1413,判断是否个人网关。如是,转入步骤1414,否则转入步骤1420;
步骤1414,虚拟机订阅管理控制服务禁止未授权人员从网络接入。转入步骤1415;
步骤1415,判断是否在线客户端设备无存储。如是,转入步骤1418,否则转入步骤1416;
步骤1416,封闭性计算服务(见图17):禁止未授权应用或OS从网络接入。转入步骤1417;
步骤1417,客户端<-->服务器的双向差分同步逻辑。转入步骤1419;
步骤1418,传送屏幕给客户端。转入步骤1419;
步骤1419,正常返回;
步骤1420,错误返回。
推送操作系统(Push OS)客户端
图15是推送操作系统客户端的流程图。推送操作系统客户端包括以下特性:
含CPU的可离线客户端设备,离线时利用封闭性计算服务禁止任何未授权应用,且利用网络资源控制服务禁止连接处制定网络外的任何网络;
无CPU的仅离线OS存储设备,接入第三方设备后,利用封闭性计算服务禁止任何未授权应用,且利用网络资源控制服务禁止连接处制定网络外的任何网络;
无存储的仅在线客户端设备,必须在线使用VDI客户端显示服务器虚拟机屏幕。
含CPU的可离线客户端设备,在线时把虚拟机的差分同步到服务器。
无CPU的仅离线OS存储设备,在线时与在线设备差分同步,且与服务器差分同步。
流程具体包括:
步骤1501,推送操作系统客户端初始化。进行步骤1502;
步骤1502,判断操作是否为离线。如是,转入步骤1503,否则进行步骤1511;
步骤1503,判断离线状态是否为可离线客户端设备(含CPU)。如是,转入步骤1504,否则进行步骤1506;
步骤1504,移动设备利用封闭性计算服务禁止任何未授权应用。进行步骤1505;
步骤1505,移动设备利用网路资源控制服务禁止连接除指定网络外的任何网络。进行步骤1511;
步骤1506,判断离线状态是否为仅离线OS存储(无CPU)。如是,转入步骤1507,否则进行步骤1512;
步骤1507,接入第三方设备使用。进行步骤1508;
步骤1508,第三方设备BIOS启动移动存储。进行步骤1509;
步骤1509,老师批改作业或上级批改公文。进行步骤1510;
步骤1510,第三方设备利用网路资源控制服务禁止连接除指定网络外的任何网络。转入步骤1511;
步骤1511,用户可创建自己的数据。进行步骤1524;
步骤1512,错误返回;
步骤1513,判断操作是否为在线。如是,转入步骤1514,否则转入步骤1512;
步骤1514,判断在线状态是否为仅在线客户端设备(无存储)。如是,转入步骤1515,否则转入步骤1516;
步骤1515,客户端管理器使用VDI客户端显示虚拟机的屏幕。转入步骤1519;
步骤1516,判断在线状态是否为可离线客户端设备(含CPU)。如是,转入步骤1517,否则转入步骤1520;
步骤1517,判断客户端虚拟机是否有改变。如是,转入步骤1518,否则转入步骤1519;
步骤1518,把虚拟机上差分的改变同步到服务器。转入步骤1519;
步骤1519,在线办公或学习。转入步骤1524;
步骤1520,判断在线状态是否为仅离线OS存储(无CPU)。如是,转入步骤1521,否则转入步骤1525。
步骤1521,接入办公室或学校终端。转入步骤1522;
步骤1522,Reverse-seamless:与办公是或学校终端差分同步。转入步骤1523;
步骤1523,Reverse-seamless:与服务器差分同步。转入步骤1519;
步骤1524,正常返回;
步骤1525,错误返回。
虚拟机订阅管理控制与网路资源控制
图15是虚拟机订阅管理控制与网路资源控制的组成框和流程混合图。方框161是客户端,主要的功能是向服务器发接入请求和资源请求。方框162是服务器,包含方框1621虚拟机管理控制服务,和方框1622网络资源控制服务。流程具体如下。
以下为方框161客户端的步骤:
步骤1601,推送操作系统客户端初始化。进行步骤1603;
步骤1602,客户端请求资源。进行步骤1609;
以下为方框1621虚拟机管理控制服务的步骤:
步骤1603,判断该客户是否曾订阅虚拟机。如是,转入步骤1606,否则进行步骤1605;
步骤1604,是订阅人员、虚拟机的数据库。提供数据给步骤1603;
步骤1605,错误返回。通知客户端执行步骤1601的软件组件;
以下为方框1622网络资源控制服务的步骤:
步骤1606,允许客户接入。等到用于请求资源后,进行步骤1609;
步骤1607,资源策略管理器。提供策略以辅助步骤1609的执行;
步骤1608,资源策略库,包含允许存取资源索引表ACL,包括授权URL、授权资源索引(REST索引)等等。提供资源策略管理器进行步骤1607;
步骤1609,判断该客户是否通过资源管理控制的认证。如是,转入步骤1610,否则进行步骤1613;
步骤1610,写入日志。转入步骤1611;
步骤1611,发送资源给客户端步骤1602的软件模块;
步骤1612,网络资源库。提供资源给步骤1611;
步骤1613,写入日志。转入步骤1614;
步骤1614,错误返回,并通知执行客户端步骤1602的软件组件。
客户端封闭性计算服务
图17是本发明的客户端封闭性计算服务组成框图。图中的方框171是参考检测模型。这是根据下述TCB模型(被称为可信计算(TC)模型)所构成的一个完整的参考监测模型(Reference Monitor Model)。方框172则是客户端信任计算基(Trust Comuting Base,TCB)。TCB包含了方框1721应用/数据控制链路,方框1723电子书包/公事包的信任控制基,和方框1724的稽查。
方框1721的应用/数据控制链路是使用计算资源许可策略来控制,以实现对计算需求的许可检查机制:只有符合许可策略的计算请求才被处理。应用/数据的许可是经由本地策略管理器这是下述4个安全链路之外的第五安全链路。一个具体的实现例就是图16和它的说明。
方框1723是电子书包或电子公事包的信任控制基。该控制基包含方框17231硬件,方框17232软件,和17233网络。17231其实是一个开放的硬件工业标准(例如TCM或TPM),17232软件进一步包含方框172321的应用及方框172322的操作系统。在这些方框之间,形成了4个安全链路:
(1)链路1:硬件启动之OS启动的全链路控制(见图18)
(2)链路2:封闭OS的实现(见图19)
(3)链路3:本地计算的封闭性需求(见图20)
(4)链路4:硬件TPM/TCM信任链确保网络接入的安全性(见图21)
此外,客户端封闭性计算服务说明了如何阻止骇客攻击的威胁分析:
(1)对于17231的硬件,若客户端使用其它硬盘,该OS的核心和MBR无法被TPM/TCM信任,因而无法运行。
(2)对于172322的操作系统,若客户端使用其它OS,同样的,由于该OS的核心和MBR无法被TPM/TCM信任,因而无法运行。
(3)对于17233的网络,若用户使用网线直连其它计算机,由于无SLIRP协议,因而无法连接。
(4)对整个客户端信任计算基,若用户意图使用其他硬件平台,譬如将垫支书包或电子公务包的硬盘拆掉,安装在别的机器上,(4.1)安装其它OS:虽无法阻止安装,但TPM/TCM会阻止电子书包/公务包的OS和其它OS再在电子书包/公务宝的平台运行。(4.2)拷贝数据至电子书包/公务包的硬盘:虽然无法阻止拷贝,但电子书包OS的私有文件系统协议时的拷贝数据无法被解析和使用。
链路1:OS启动的全链路控制
图18是链路1:OS启动的全链路控制的流程图。本实施例是按照个人电脑启动过程的国际标准Unified Extensible Firmware Interface(UEFI)加上链路控制的安全可信测量而得。UEFI共有六个步骤:第一步是SEC(Security),即安全步骤;第二步是PEI(Pre-EFI-Initialization),即EFI之前的初始化步骤;第三步是DXE(Driver Execution Environment),即建立驱动执行环境步骤;第四步是BDS(Boot Dev.Select),即启动设施选择步骤;第五步是TSL(Transient System Load),即过度系统加载步骤;第六步是RT(Run Time),即运行时的步骤。在这六个步骤的大部分步骤执行前,所要加载的代码必先经过可信测量,而只有在可信测量成功的情况下才能进行下一步骤。这样保证了OS启动前的全链路的安全。具体流程如下:
步骤1801,执行CPU、Chipset、内存、栈的初始化代码,建立C执行环境。进行步骤1802;
步骤1802,PEI核心代码:调度CRTM代码,TPM初始化。进行步骤1803;
步骤1803,安装TMP协议、恢复协议、哈希协议。进行步骤1804;
步骤1804,PEI代码对DXE代码进行可信测量;保存可信测量日志。进行步骤1805;
步骤1805,判断是否DXE可信测量成功。如是,转入步骤1806,否则进行步骤1825;
步骤1806,加载执行DXE的核心代码。进行步骤1807;
步骤1807,根据需要加载DXE核心代码:内部或外部EFI驱动、EFI应用、或设备的可选ROM。进行步骤1808;
步骤1808,DXE核心代码对被DXE加载的代码进行可信测量;保存可信测量日志。转入步骤1809;
步骤1809,判断是否被DXE加载的代码可信测量成功。如是,转入步骤1810,否则进行步骤1825;
步骤1810,DXE核心代码对BDS进行可信测量;保存可信测量日志。进行步骤1811;
步骤1811,判断是否BDS可信测量成功。如是,转入步骤1812,否则进行步骤1825;
步骤1812,加载执行BDS。进行步骤1813;
步骤1813,BDS根据需要加载设备的可选ROM。进行步骤1816;
步骤1814,BDS对被BDS加载的代码进行可信测量;保存可信测量日志。进行步骤1815;
步骤1815,判断是否被BDS加载的代码可信测量成功。如是,转入步骤1816,否则进行步骤1825;
步骤1816,加载执行TSL。进行步骤1802;
步骤1817,TSL加载Hypervisor Loader代码。进行步骤1818;
步骤1818,TSL对Hypervisor Loader代码进行可信测量;保存可信测量日志。进行步骤1819;
步骤1819,判断是否Hypervisor加载器可信测量成功。如是,转入步骤1820,否则进行步骤1825;
步骤1820,加载执行Hypervisor。进行步骤1821;
步骤1821,Hypervisor串流虚拟机代码。进行步骤1822;
步骤1822,Hypervisor对虚拟机代码进行可信测量;保存可信测量日志。进行步骤1823;
步骤1823,判断是否虚拟机可信测量成功。如是,转入步骤1824,否则进行步骤1825。
步骤1824,正常返回;
步骤1825,错误返回;
链路2:封闭OS的实现
图19是链路2:封闭OS的实现的流程图。本实施例是为实现封闭的OS。共有五个步骤:第一步是部署了TCB硬件以实现OS核心的全周期信任控制;第二步是具备信任OS核心的步骤;第三步是使用私有的核心文件系统协议;第四步是取消计算机用以接通公网的SLIRP通讯协议栈;第五步是使用双向同步的网络协议栈。具体流程如下:
步骤1901,部署TCB硬件实现OS核心的全生命周期信任控制。进行步骤1902;
步骤1902,信任的OS核心。进行步骤1903;
步骤1903,私有核心文件系统协议。进行步骤1904;
步骤1904,取消SLIRP软件协议栈。进行步骤1905;
步骤1905,网络协议栈。
链路3:本地应用的封闭性需求
图20是链路3:本地应用的封闭性需求的流程图。本实施例是有关封闭OS中应用的全链路的安全。该应用必须被授权,而对已被授权的应用,如果要求安装其它应用或本身要升级,都不被允许。对于要OS核心变化,TPM/TCM不信任而导致应用失败;或用户不断自行创建应用;或用户运行多样、随机化的应用,则由于推送OS运行于硬件OS,被其实是信任控制,所以:
(1)所有用户应用和数据被隔离封装在Push OS内,
(2)应用和数据可随意变化,包括任何核心以及应用层数据和应用的全链路,但被硬件OS监视和稽查。
另外,有关应用和数据的状态迁移,应用在失去网络后本地依然有持续性。一旦上网(on-line),就会进行同步。在线应用同步后,进入本地,遵循本地规则运行。
具体流程如下:
步骤2001,链路3检验开始。进行步骤2002;
步骤2002,判断是否为OS封闭运行中的应用。如是,转入步骤2003,否则进行步骤2014;
步骤2003,判断是否应用已授权。如是,转入步骤2004,否则进行步骤2007;
步骤2004,允许运行。进行步骤2005;
步骤2005,判断是否应用要求安装其它应用。如是,转入步骤2006,否则进行步骤2008;
步骤2006,硬件OS全封闭,不允许安装和运行任何非指定程序,由TPM硬件实施控制(软件和TPM的更新以及升级由网络实施);
步骤2007,禁止该应用安装与运行,而且一旦发现存在,即时制止;
步骤2008,判断是否应用要求升级。如是,转入步骤2006,否则进行步骤2009;
步骤2009,判断是否应用要OS核心变化,TPM/TCM不信任,应用失败。如是,转入步骤2012,否则进行步骤2010;
步骤2010,判断是否用户不断自行创建应用。如是,转入步骤2012,否则进行步骤2011;
步骤2011,判断是否多样、随机化的应用。如是,转入步骤2012,否则进行步骤2013;
步骤2012,Push OS运行于硬件OS,被其实施信任控制(TCB)(1)所有用户应用和数据被隔离封装在Push OS内。(2)应用和数据可随意变化,包括任何核心以及应用层数据和应用的全链路,但被硬件OS监视和稽查;
步骤2013,正常返回;
步骤2014,判断是否应用和数据状态迁移。如是,转入步骤2015,否则进行步骤2018;
步骤2015,应用与数据在网络失去后本地依然有持续性。进行步骤2016;
步骤2016,一旦上网,进行同步。进行步骤2017;
步骤2017,在线应用同步后,进入本地,遵循本地规则进行;
步骤2018,错误返回;
链路4:硬件TPM信任链确保网络接入的安全性
图21是链路4:硬件TPM信任链确保网络接入的安全性的组成框和流程混合图。方框211是客户端管理器。方框212是Hypervisor,方框213是硬件,特别是具有TPM/TCM的可信设备,成为整个客户端封闭性计算服务的基础。方框214则是服务端管理器,重要的是在服务器上要执行TPM/TCM虚拟硬件的映射。另一方面,由图可见,双向同步PUSH机制也保证了可信的网络计算环境。
客户端管理器211的流程具体包括:
步骤2101,PC BIOS初始化;Hypervisor启动。进行步骤2102;
步骤2102,判断是否用户操作。如是,转入步骤2103,否则进行步骤2102,继续检查是否用户操作;
步骤2103,与服务器端的同步组件2109进行黄金镜像同步,双向同步PUSH机制保证可信的网络计算环境。同时,对系统应用做操作请求。进行步骤2104;
步骤2104,向服务器端请求授权后,运行系统应用。进行步骤2106;
步骤2105,进行本地稽查。进行步骤2102;
服务端管理器214的流程具体包括:
步骤2106,CSV服务器初始化。进行步骤2107;
步骤2107,TPM/TCM虚拟硬件映射。进行步骤2108;
步骤2108,判断是否管理员操作。如是,转入步骤2109,否则进行步骤2102,继续检查是否管理员操作;
步骤2109,与客户端的同步组件2109进行黄金镜像同步,双向同步PUSH机制保证可信的网络计算环境。
暂住式(Hoteling)Hypervisor启动
图22是暂住式Hypervisor启动的流程图。这是Hypervisor如何管理运行其上的操作系统的逻辑,包含操作系统的还原、切换、和串流。在网吧行业里,操作系统的还原有其必要,因为每台客户端的用户经常变换。每次换新的用户,就必须还原操作系统。至于电子书包的封闭性安全,则并不需要。用户可以任意安装或升级最新的游戏软件。在培训的行业里,有类似的还原需求。但重型的培训机构,往往还要求用户的客户端硬件,可以经常启动不同的虚拟操作系统(例如XP、2003、2008、Vista、Linux)。在这两种行业中,客户端可以有缓存。但缓存的磁盘可以在当地(即PC),或服务器(即无盘工作站)。缓存中的操作系统可以是经常被用户使用的操作系统。
流程具体包括:
步骤2201,暂住式Hypervisor的启动。进行步骤2202;
步骤2202,判断操作是否为串流(包括升级)操作系统。如是,转入步骤2203,否则进行步骤2205;
步骤2203,目标操作系统的标示设定为“默认操作系统”。进行步骤2204;
步骤2204,目标操作系统串流到缓存中。进行步骤2208;
步骤2205,判断操作是否为切换操作系统。如是,转入步骤2206,否则进行步骤2210;
步骤2206,设定要切换到的目标操作系统。进行步骤2207;
步骤2207,判断是否目标操作系统已在缓存中。如是,转入步骤2208,否则进行步骤2209;
步骤2208,从缓存加载目标操作系统。进行步骤2212;
步骤2209,目标操作系统从服务器串流到缓存中。进行步骤2208;
步骤2210,判断操作是否还原操作系统。如是,转入步骤2211,否则进行步骤2212;
步骤2211,从缓存加载目标操作系统。进行步骤2212;
步骤2212,进入操作系统启动。
在实际的部署环境中,由于同步、串流、封闭性计算和本发明中所提及的方法,与客户端的硬件类型、虚拟机监控器(VMM)类型、虚拟机操作系统类型完全无关,本方法可适用于客户端为台式机、笔记本、上网本、移动存储、和其它移动设备,包括智能手机;虚拟机监控器可以是任何商用Hypervisor,包括运软公司的TVM,思杰的Xen,威睿的工作站等等;虚拟操作系统则可以是Windows,Linux,Android,和其它手机虚拟机。另外,所应用的行业也并不限于本专利中所提及的学校、办公室、网吧、培训教室。最后,本专利的客户端虚拟化方法,也能涵盖英特尔和超微以外的x86虚拟化硬件技术,以及非x86的虚拟化硬件技术。
根据上述流程的描述可以得出,采用以上客户端虚拟化的方法,一方面为企业提供了客户端虚拟化的技术,该技术是在双向同步和封闭计算的基础上,创建了客户端和服务端的架构,让管理员可管理服务器的各层次:用户应用数据、用户系统数据、缓存、个人应用、机构应用、虚拟机、和虚拟机监控器。另一方面,由于系统的同步性和安全性,用户可以在离线时接入个人的网络(例如家庭网络),或利用暂住式Hypervisor启动虚拟机的特性,让一台客户端硬件被多人在不同时段使用。
综上所述,本发明结合了客户端虚拟化的功能,和服务器端的相应功能同步,加上封闭性计算的安全机制,提供了一种各行业均能使用的方法。本发明的客户端虚拟化架构为企业提供了一种客户端虚拟化的方法,该方法是构建在客户端和服务器的架构上,用户在线时,在客户端可以随时同步服务器上的数据、应用和操作系统。另外,用户的操作也被实施严密的安全保护,系统很难被黑客入侵。这样的系统既可作为VDI的一种一般性扩充,也可以在多种行业上有其特殊的应用。譬如在教育界成为电子书包,在企业与事业里成为电子公文包,在网吧里成为可还原的台式机,在培训中心成为经常更换操作系统的学生工作站。
上述实施例是提供给熟悉本领域内的人员来实现或使用本发明的。熟悉本领域的人员可在不脱离本发明的发明思想的情况下,对上述实施例作出种种修改或变化,因而本发明的保护范围并不被上述实施例所限,而应该是符合权利要求书提到的技术特征的最大范围。

Claims (29)

1.一种客户端虚拟化装置,其特征在于,实现利用双向镜像差分同步协议模块的客户端虚拟化功能,其中,该客户端虚拟化装置包括:
客户端系统,该客户端系统包括数据、应用程序模块、虚拟机、虚拟机监控器和客户端管理模块,其中客户端管理模块处理以下各层数据:用户数据、应用程序镜像、虚拟机镜像和虚拟机监控器,并使用同步和串流机制将镜像与服务器端系统同步;
服务器端系统,该服务器端系统包括服务端管理模块、服务器虚拟化组件和服务器存储系统,服务器存储系统包括服务器本地存储系统或服务器连接的网络存储系统,服务器存储系统保存用户数据、应用程序镜像、虚拟机镜像和虚拟机监控器二进制代码,其中服务端管理模块处理服务端同步和串流功能,用户系统数据可用文件存储系统的重定向功能将系统数据置入同步数据区,并且为之备份;
虚拟桌面服务器系统,将服务器上虚拟机的远程桌面传输至客户端系统,且获取客户端系统的鼠标和键盘的动作;
移动虚拟化服务器系统,将手机操作系统虚拟化,然后将手机屏幕传至客户端系统的移动终端,且获取客户端系统的鼠标和键盘的动作;所述双向镜像差分同步协议模块包括:
镜像拆分模块,使用镜像拆分生成应用程序镜像;
镜像组合模块,使用镜像组合生成操作系统镜像;
镜像差分创建模块,用户开始对话期后,如果用户离线,则用户得到只读的黄金镜像并创建镜像差分;
差分算法模块,如果用户在线,则利用差分算法读写有差分变化的资源;
虚拟桌面/虚拟机监控器远程桌面传输协议模块,用于维持所述虚拟桌面服务器/移动虚拟化服务器和客户端系统之间的屏幕、鼠标/键盘动作传输。
2.如权利要求1所述的客户端虚拟化装置,其特征在于,该客户端虚拟化装置是可选的服务消费端和服务生产端架构系统,
所述客户端系统包含虚拟桌面/移动虚拟化远程桌面传输协议客户端,与虚拟桌面服务器系统及移动虚拟化服务器系统互动;所述客户端系统和服务端系统使用分层架构系统,该分层架构系统包括:用户应用数据和系统数据、用户应用程序模块、公司应用程序模块、操作系统、存储系统、缓存系统、网络连接、BIOS初始化模块;该分层架构系统使得用户应用数据、用户系统数据、缓存数据、个人应用数据、公司应用数据、操作系统可被不同部门的网管人员管理;其中网络连接包含使用串流协议的双向镜像差分同步。
3.如权利要求2所述的客户端虚拟化装置,其特征在于,所述BIOS初始化模块包括:
用于进行BIOS初始化时,将虚拟机监控器二进制码写入可加载区域,在BIOS初始化完成后,启动虚拟机监控器的模块;
用于客户端系统的虚拟机监控器对虚拟机的操作系统进行升级、重置、切换、从服务器端系统同步下载虚拟机镜像、向服务器端系统同步上传虚拟机镜像的模块;
用于虚拟机监控器对客户端虚拟机监控器操作系统进行还原并在一个以上的不同的客户端虚拟机操作系统之间进行切换的模块。
4.如权利要求2所述的客户端虚拟化装置,其特征在于,所述存储系统包括:
重定向模块,用重定向技术将用户系统文件放入同步区并利用同步备份暂时文件以外的用户系统文件;
读取模块,读取数据时使用缓存预取机制;
写模块,写数据时对不同网络通道建立不同权限在不同挂起点上。
5.如权利要求4所述的客户端虚拟化装置,其特征在于,所述读取模块以接入频率设定缓存文件块的优先顺序,优先预取重要的数据;如果延迟百分比大于设定的阀值则减少传输速度,如果延迟百分比小于设定的阀值则增加传输速度;如果延迟百分比等于设定的阀值则请求速度是上一次请求的延迟增加或减少一定值。
6.如权利要求1所述的客户端虚拟化装置,其特征在于,
所述镜像拆分模块创建一个差分的压缩文件,该压缩文件包含监控到的系统信息和黄金镜像之外的文件;
所述镜像组合模块将镜像拆分所得的压缩文件解压,将监控到的系统信息和黄金镜像之外的文件加入客户端黄金镜像的虚拟机中;
其中,客户端的用户若属于同一用户组,其虚机使用服务器端虚机监控器的向上调用广播功能为多个组员实施组合过程;
在组合过程中如果虚拟机监控器支持Linux操作系统,处理Windows的虚拟应用程序镜像文件的方法是,先把组合文件的读写转换成对磁盘扇区的读写,然后把对磁盘扇区的读写,转换成对Linux qcow2文件的读写。
7.如权利要求1所述的客户端虚拟化装置,其特征在于,所述差分算法模块包括:
第一差分算法子模块,对于在客户端系统或服务器端系统有改变的文件块,计算该文件块的消息摘要,并将文件块识别号、文件块所属文件、文件所属用户应用程序、用户系统数据、应用与操作系统合并的镜像写入元数据中;
第二差分算法子模块,对于改变过的文件块,当客户端系统的消息摘要和元数据传到服务器端系统后,与服务器端系统的文件块的消息摘要和元数据相比较,同步差异并生成快照。
8.如权利要求7所述的客户端虚拟化装置,其特征在于,所述第二差分算法子模块包含用于执行所述同步差异的同步差异模块,所述同步差异模块包括:
第一同步差异子模块,服务器端系统有改动的文件块、客户端系统有改动的文件块分别与最近快照的文件块比较消息摘要;
第二同步差异子模块,若服务器端系统的文件块与快照文件块不符但客户端系统的文件块与快照相符,则将未通过校验的文件块发送到客户端系统,客户端系统收到后,将相对应的文件块用收到的文件块取代;
第三同步差异子模块,若客户端系统的文件块与快照文件块不符但服务器端系统的文件块与快照相符,则向客户端系统要求这些未通过校验的文件块,服务端系统收到后,将相对应的文件块用收到的文件块取代;
第四同步差异子模块,若客户端系统的文件块与快照文件块不符,而且服务器端系统的文件块与快照也不符,则进行融合操作,完成融合以后,在客户端系统和服务器端系统将相对应的文件块用融合好的文件块取代。
9.如权利要求8所述的客户端虚拟化装置,其特征在于,所述第四同步差异子模块包含用于执行所述融合操作的融合操作模块,所述融合操作模块用于:
如果被改动的文件块是文本文件,标示改动的部分进行显示并进行融合,如果被改动的文件块不是文本文件,则按预设的策略决定进行覆盖。
10.如权利要求2所述的客户端虚拟化装置,其特征在于,所述网络连接包括用于执行所述串流协议的串流协议模块,该串流协议模块包括:
第一串流协议子模块,如果服务器端系统向客户端系统要求传文件块,而该文件块经由数据元对比已知存在缓存系统中,则立即将缓存系统中的文件块发送给服务器端系统;
第二串流协议子模块,如果客户端系统是移动存储器,则该移动存储器首先经下载获得虚拟机监控器、客户端系统和用户的黄金镜像,然后通过第三方电脑启动移动存储器并进行离线任务。
11.一种电子书包,其特征在于,包括经客户端虚拟化的客户端系统与服务器端系统,
所述客户端系统包括数据、应用程序模块、虚拟机、虚拟机监控器和客户端管理模块,其中客户端管理模块处理以下各层数据:用户数据、应用程序镜像、虚拟机镜像和虚拟机监控器,并使用同步和串流机制将镜像与服务器端系统同步;
所述服务器端系统包括服务端管理模块、服务器虚拟化组件和服务器存储系统,服务器存储系统包括服务器本地存储系统或服务器连接的网络存储系统,服务器存储系统保存用户数据、应用程序镜像、虚拟机镜像和虚拟机监控器二进制代码,其中服务端管理模块处理服务端同步和串流功能,用户系统数据可用文件存储系统的重定向功能将系统数据置入同步数据区,并且为之备份;
其中,虚拟桌面服务器系统将服务器上虚拟机的远程桌面传输至客户端系统,且获取客户端系统的鼠标和键盘的动作;
移动虚拟化服务器系统将手机操作系统虚拟化,然后将手机屏幕传至客户端系统的移动终端,且获取客户端系统的鼠标和键盘的动作;
用于实现客户端虚拟化功能的双向镜像差分同步协议模块包括:
镜像拆分模块,使用镜像拆分生成应用程序镜像;
镜像组合模块,使用镜像组合生成操作系统镜像;
镜像差分创建模块,用户开始对话期后,如果用户离线,则用户得到只读的黄金镜像并创建镜像差分;
差分算法模块,如果用户在线,则利用差分算法读写有差分变化的资源;
虚拟桌面/虚拟机监控器远程桌面传输协议模块,用于维持所述虚拟桌面服务器/移动虚拟化服务器和客户端系统之间的屏幕、鼠标/键盘动作传输;
服务器端系统作为中介服务器,一端经由固网或移动通信网与客户端系统相连,另一端经由广域网连接到上级服务器;
服务器端系统作为推送操作系统的服务端;
客户端系统作为推送操作系统的客户端,实现在线与离线时的资源迁移以及网络接入状态的交换。
12.如权利要求11所述的电子书包,其特征在于,所述客户端系统包含虚拟桌面/移动虚拟化远程桌面传输协议客户端,与虚拟桌面服务器系统及移动虚拟化服务器系统互动;所述客户端系统和服务端系统使用分层架构系统,该分层架构系统包括:用户应用数据和系统数据、用户应用程序模块、公司应用程序模块、操作系统、存储系统、缓存系统、网络连接、BIOS初始化模块;该分层架构系统使得用户应用数据、用户系统数据、缓存数据、个人应用数据、公司应用数据、操作系统可被不同部门的网管人员管理;其中网络连接包含使用串流协议的双向镜像差分同步。
13.如权利要求12所述的电子书包,其特征在于,所述BIOS初始化模块包括:
用于进行BIOS初始化时,将虚拟机监控器二进制码写入可加载区域,在BIOS初始化完成后,启动虚拟机监控器的模块;
用于客户端系统的虚拟机监控器对虚拟机的操作系统进行升级、重置、切换、从服务器端系统同步下载虚拟机镜像、向服务器端系统同步上传虚拟机镜像的模块;
用于虚拟机监控器对客户端虚拟机监控器操作系统进行还原并在一个以上的不同的客户端虚拟机操作系统之间进行切换的模块。
14.如权利要求12所述的电子书包,其特征在于,所述存储系统包括:
重定向模块,用重定向技术将用户系统文件放入同步区并利用同步备份暂时文件以外的用户系统文件;
读取模块,读取数据时使用缓存预取机制;
写模块,写数据时对不同网络通道建立不同权限在不同挂起点上。
15.如权利要求14所述的电子书包,其特征在于,所述读取模块以接入频率设定缓存文件块的优先顺序,优先预取重要的数据;如果延迟百分比大于设定的阀值则减少传输速度,如果延迟百分比小于设定的阀值则增加传输速度;如果延迟百分比等于设定的阀值则请求速度是上一次请求的延迟增加或减少一定值。
16.如权利要求11所述的电子书包,其特征在于,
所述镜像拆分模块创建一个差分的压缩文件,该压缩文件包含监控到的系统信息和黄金镜像之外的文件;
所述镜像组合模块将镜像拆分所得的压缩文件解压,将监控到的系统信息和黄金镜像之外的文件加入客户端黄金镜像的虚拟机中;
其中,客户端的用户若属于同一用户组,其虚机使用服务器端虚机监控器的向上调用广播功能为多个组员实施组合过程;
在组合过程中如果虚拟机监控器支持Linux操作系统,处理Windows的虚拟应用程序镜像文件的方法是,先把组合文件的读写转换成对磁盘扇区的读写,然后把对磁盘扇区的读写,转换成对Linux qcow2文件的读写。
17.如权利要求11所述的电子书包,其特征在于,所述差分算法模块包括:
第一差分算法子模块,对于在客户端系统或服务器端系统有改变的文件块,计算该文件块的消息摘要,并将文件块识别号、文件块所属文件、文件所属用户应用程序、用户系统数据、应用与操作系统合并的镜像写入元数据中;
第二差分算法子模块,对于改变过的文件块,当客户端系统的消息摘要和元数据传到服务器端系统后,与服务器端系统的文件块的消息摘要和元数据相比较,同步差异并生成快照。
18.如权利要求17所述的电子书包,其特征在于,所述第二差分算法子模块包含用于执行所述同步差异的同步差异模块,所述同步差异模块包括:
第一同步差异子模块,服务器端系统有改动的文件块、客户端系统有改动的文件块分别与最近快照的文件块比较消息摘要;
第二同步差异子模块,若服务器端系统的文件块与快照文件块不符但客户端系统的文件块与快照相符,则将未通过校验的文件块发送到客户端系统,客户端系统收到后,将相对应的文件块用收到的文件块取代;
第三同步差异子模块,若客户端系统的文件块与快照文件块不符但服务器端系统的文件块与快照相符,则向客户端系统要求这些未通过校验的文件块,服务端系统收到后,将相对应的文件块用收到的文件块取代;
第四同步差异子模块,若客户端系统的文件块与快照文件块不符,而且服务器端系统的文件块与快照也不符,则进行融合操作,完成融合以后,在客户端系统和服务器端系统将相对应的文件块用融合好的文件块取代。
19.如权利要求18所述的电子书包,其特征在于,所述第四同步差异子模块包含用于执行所述融合操作的融合操作模块,所述融合操作模块用于:
如果被改动的文件块是文本文件,标示改动的部分进行显示并进行融合,如果被改动的文件块不是文本文件,则按预设的策略决定进行覆盖。
20.如权利要求12所述的电子书包,其特征在于,所述网络连接包括用于执行所述串流协议的串流协议模块,该串流协议模块包括:
第一串流协议子模块,如果服务器端系统向客户端系统要求传文件块,而该文件块经由数据元对比已知存在缓存系统中,则立即将缓存系统中的文件块发送给服务器端系统;
第二串流协议子模块,如果客户端系统是移动存储器,则该移动存储器首先经下载获得虚拟机监控器、客户端系统和用户的黄金镜像,然后通过第三方电脑启动移动存储器并进行离线任务。
21.如权利要求11至20中任一项所述的电子书包,其特征在于,所述推送操作系统的服务端执行:
数据、应用程序、资源的更新与清理;
数据、应用程序、资源的实时稽查与非实时稽查;
网络资源控制;
提供个人网关接入和虚拟机订阅管理控制。
22.如权利要求11至20中任一项所述的电子书包,其特征在于,所述推送操作系统的客户端是下列设备的其中之一:
具有中央处理器的离线客户端设备,在离线时利用封闭性计算服务禁止未授权应用,并利用网络资源控制服务禁止连接处制定网络外的网络;或者
不具有中央处理器的仅离线操作系统存储设备,在接入第三方设备后,利用封闭性计算服务禁止未授权应用,并利用网络资源控制服务禁止连接处制定网络外的网络;或者
不具有存储器的仅在线客户端设备,在线使用虚拟桌面客户端的显示服务器虚拟机屏幕;或者
具有中央处理器的可离线客户端设备,在线时把虚拟机的差分同步到服务器端;或者
不具有中央处理器的仅离线操作系统存储设备,在线时与在线设备差分同步,还与服务器端差分同步。
23.如权利要求21所述的电子书包,其特征在于,所述虚拟机订阅管理控制包括:
客户端系统请求接入时,需要通过虚拟机数据库验证该客户曾订阅过虚拟机。
24.如权利要求22所述的电子书包,其特征在于,所述网络资源控制服务包括:
客户端系统被允许接入服务器端系统后,还通过资源管理控制的认证,所述资源管理控制的认证经由资源索引表通过资源策略管理器来验证;
所述存取资源索引表包含授权URL、授权资源索引REST。
25.如权利要求22所述的电子书包,其特征在于,所述封闭性计算服务包括:
客户端系统信任计算基,包含以下五个安全链路:
(1)硬件启动至操作系统启动的全链路控制;
(2)封闭操作系统;
(3)本地封闭计算;
(4)确保网络接入安全性的TPM/TCM信任链路;
(5)应用/数据控制链。
26.如权利要求25所述的电子书包,其特征在于,所述硬件启动至操作系统启动的全链路控制包括:
PCR信任链路,包括:
(1)IPL/MBR-内核哈希;
(2)BIOS–IPL/MBR哈希;
(3)CRTM–BIOS哈希;
电子书包/电子公文包可信任计算的操作系统;
电子书包/电子公文包可信任计算的硬件平台。
27.如权利要求25所述的电子书包,其特征在于,所述封闭操作系统包括:
部署信任计算基的硬件实现操作系统核心的全生命周期信任控制;
信任的操作系统核心;
私有核心文件系统协议;
取消SLIRP通讯协议栈;
网络协议栈。
28.如权利要求25所述的电子书包,其特征在于,所述本地封闭计算包括:
应用程序在操作系统封闭运行时,
如果应用程序未获授权,禁止该应用程序的安装与运行;
如果应用程序已被授权,则进行下列控制:
(1)该应用程序要求升级,或要求安装其它应用程序,由TPM/TCM实施;
(2)该应用程序要改变操作系统核心,将推送操作系统运行于硬件操作系统,实施信任控制。
29.如权利要求25所述的电子书包,其特征在于,所述确保网络接入安全性的TPM/TCM信任链路包括:
客户端系统TPM/TCM的可信设备;
服务器端系统TPM/TCM虚拟硬件映射设备;
双向同步推送机制。
CN201010505636.3A 2010-10-12 2010-10-12 客户端虚拟化架构 Expired - Fee Related CN102447723B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201010505636.3A CN102447723B (zh) 2010-10-12 2010-10-12 客户端虚拟化架构
PCT/CN2011/080339 WO2012048619A1 (en) 2010-10-12 2011-09-29 Client-side virtualization architecture
US13/879,058 US8943506B2 (en) 2010-10-12 2011-09-29 Client-side virtualization architecture using differential bi-directional synchronization and closed computing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010505636.3A CN102447723B (zh) 2010-10-12 2010-10-12 客户端虚拟化架构

Publications (2)

Publication Number Publication Date
CN102447723A CN102447723A (zh) 2012-05-09
CN102447723B true CN102447723B (zh) 2015-09-09

Family

ID=45937885

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010505636.3A Expired - Fee Related CN102447723B (zh) 2010-10-12 2010-10-12 客户端虚拟化架构

Country Status (3)

Country Link
US (1) US8943506B2 (zh)
CN (1) CN102447723B (zh)
WO (1) WO2012048619A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2683620C1 (ru) * 2015-06-19 2019-03-29 ЗетТиИ Корпорейшн Способ осуществления совместного использования данных между клиентом и виртуальным рабочим столом, клиентом и системой

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140373144A9 (en) 2006-05-22 2014-12-18 Alen Capalik System and method for analyzing unauthorized intrusion into a computer network
US9106697B2 (en) * 2010-06-24 2015-08-11 NeurallQ, Inc. System and method for identifying unauthorized activities on a computer system using a data structure model
US8863232B1 (en) 2011-02-04 2014-10-14 hopTo Inc. System for and methods of controlling user access to applications and/or programs of a computer
TWI476627B (zh) * 2012-05-11 2015-03-11 Chunghwa Telecom Co Ltd The management system and method of network service level and function of cloud virtual desktop application
US8713658B1 (en) 2012-05-25 2014-04-29 Graphon Corporation System for and method of providing single sign-on (SSO) capability in an application publishing environment
US9419848B1 (en) 2012-05-25 2016-08-16 hopTo Inc. System for and method of providing a document sharing service in combination with remote access to document applications
CN102739689B (zh) * 2012-07-16 2015-05-13 四川师范大学 一种用于云存储系统的文件数据传输装置和方法
TWI475490B (zh) * 2012-09-18 2015-03-01 Wistron Corp 虛擬檔案傳輸系統及其虛擬檔案傳輸之方法
CN102932326B (zh) * 2012-09-19 2015-05-20 无锡华御信息技术有限公司 安全云计算系统
US10318495B2 (en) 2012-09-24 2019-06-11 Sandisk Technologies Llc Snapshots for a non-volatile device
US10509776B2 (en) 2012-09-24 2019-12-17 Sandisk Technologies Llc Time sequence data management
CN103677972B (zh) * 2012-09-25 2017-04-26 中国电信股份有限公司 呈现虚拟桌面元数据的方法、装置及系统
CN103856529B (zh) * 2012-12-05 2017-11-17 华为技术有限公司 一种锁屏方法、装置及系统
US20140173692A1 (en) * 2012-12-15 2014-06-19 Sudharshan Srinivasan Bring your own device system using a mobile accessory device
US8924478B2 (en) * 2012-12-29 2014-12-30 Futurewei Technologies, Inc. Virtual desktop infrastructure (VDI) login acceleration
US10908835B1 (en) 2013-01-10 2021-02-02 Pure Storage, Inc. Reversing deletion of a virtual machine
US11733908B2 (en) 2013-01-10 2023-08-22 Pure Storage, Inc. Delaying deletion of a dataset
CN103116618B (zh) * 2013-01-28 2015-09-30 南开大学 基于客户端持久缓存的远程文件系统镜像方法及系统
US10318492B2 (en) 2013-02-25 2019-06-11 Amazon Technologies, Inc. Predictive storage service
US9002982B2 (en) * 2013-03-11 2015-04-07 Amazon Technologies, Inc. Automated desktop placement
US20140280436A1 (en) * 2013-03-14 2014-09-18 Citrix Systems, Inc. Migration tool for implementing desktop virtualization
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US10558561B2 (en) 2013-04-16 2020-02-11 Sandisk Technologies Llc Systems and methods for storage metadata management
US10102144B2 (en) 2013-04-16 2018-10-16 Sandisk Technologies Llc Systems, methods and interfaces for data virtualization
CN103220362A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 服务器虚拟化一体机
CN103369029B (zh) * 2013-05-15 2016-04-13 北京航空航天大学 本地桌面和远程虚拟桌面同步方法、系统及使用方法
CN103442024B (zh) * 2013-06-21 2017-04-05 中国科学院深圳先进技术研究院 一种智能移动终端与云端虚拟移动终端同步的系统和方法
US9851993B2 (en) * 2013-09-24 2017-12-26 International Business Machines Corporation Virtual machine template optimization
CN103501253A (zh) * 2013-10-18 2014-01-08 浪潮电子信息产业股份有限公司 一种高性能计算应用特征的监控组织方法
US9342331B2 (en) * 2013-10-21 2016-05-17 International Business Machines Corporation Secure virtualized mobile cellular device
CN104580308A (zh) * 2013-10-21 2015-04-29 中兴通讯股份有限公司 虚拟桌面重现、推送的方法、装置及虚拟桌面系统
CN103607429A (zh) * 2013-10-30 2014-02-26 中兴通讯股份有限公司 云计算业务实现方法和系统
WO2015112634A1 (en) * 2014-01-21 2015-07-30 SanDisk Technologies, Inc. Systems, methods and interfaces for data virtualization
US10075459B1 (en) 2014-01-22 2018-09-11 Amazon Technologies, Inc. Securing workspaces in a cloud computing environment
KR101587197B1 (ko) * 2014-01-28 2016-01-20 (주)티비아이텍 모바일 전이중 양방향 제어 시스템 및 그 방법
CN104901923B (zh) * 2014-03-04 2018-12-25 新华三技术有限公司 一种虚拟机访问装置和方法
US20160112528A1 (en) * 2014-10-16 2016-04-21 Futurewei Technologies, Inc. Method and System for Serving a Virtual Desktop to a Client
US9686338B1 (en) 2014-10-24 2017-06-20 Amazon Technologies, Inc. Streaming content adjustment based on camera feedback
US9946614B2 (en) 2014-12-16 2018-04-17 At&T Intellectual Property I, L.P. Methods, systems, and computer readable storage devices for managing faults in a virtual machine network
US10460464B1 (en) 2014-12-19 2019-10-29 Amazon Technologies, Inc. Device, method, and medium for packing recommendations based on container volume and contextual information
US10275370B2 (en) * 2015-01-05 2019-04-30 Google Llc Operating system dongle
WO2016112219A1 (en) 2015-01-07 2016-07-14 CounterTack, Inc. System and method for monitoring a computer system using machine interpretable code
US9946607B2 (en) 2015-03-04 2018-04-17 Sandisk Technologies Llc Systems and methods for storage error management
CN104660706A (zh) * 2015-03-09 2015-05-27 陈健强 一种局域网内多终端数据交互方法及其系统
CN104754048B (zh) * 2015-03-30 2018-05-22 中国人民解放军信息工程大学 服务器集群的一种拟态组织结构
CN106155812A (zh) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
CN104881254B (zh) * 2015-05-27 2018-09-07 北京百度网讯科技有限公司 数据存储方法和装置
US9898321B2 (en) 2015-07-23 2018-02-20 At&T Intellectual Property I, L.P. Data-driven feedback control system for real-time application support in virtualized networks
CN106487850B (zh) * 2015-08-29 2019-10-25 华为技术有限公司 一种云环境下获取镜像的方法、装置和系统
US10268493B2 (en) 2015-09-22 2019-04-23 Amazon Technologies, Inc. Connection-based resource management for virtual desktop instances
CN105160259B (zh) * 2015-09-28 2018-01-23 中科信息安全共性技术国家工程研究中心有限公司 一种基于模糊测试的虚拟化漏洞发掘系统和方法
US10496598B2 (en) * 2015-09-29 2019-12-03 Blackberry Limited Data access control based on storage validation
US10108477B2 (en) 2015-10-23 2018-10-23 Pervacio Inc. Mobile device diagnostics
CN105278999A (zh) * 2015-11-19 2016-01-27 国云科技股份有限公司 一种安全高效虚拟机软件部署的方法
CN105450759A (zh) * 2015-12-02 2016-03-30 浙江宇视科技有限公司 一种系统镜像的管理方法和装置
CN105573819A (zh) * 2015-12-11 2016-05-11 国云科技股份有限公司 一种直接通过宿主机获取虚拟机磁盘容量信息的方法
CN105549913B (zh) * 2015-12-22 2019-02-12 内蒙古农业大学 一种异构混合云环境下提高映像管理效率的方法
US10037221B2 (en) 2015-12-28 2018-07-31 Amazon Technologies, Inc. Management of virtual desktop instance pools
CN105610979B (zh) * 2016-02-23 2021-01-05 山东乾云启创信息科技股份有限公司 一种基于虚拟化技术的网络资源传输系统及其方法
TWI578167B (zh) * 2016-03-11 2017-04-11 宏正自動科技股份有限公司 虛擬化自攜技術之系統、裝置及方法
CN105634998B (zh) * 2016-03-30 2020-04-10 中国联合网络通信集团有限公司 针对多租户环境下物理机与虚拟机统一监控的方法及系统
CN107306196A (zh) * 2016-04-20 2017-10-31 中兴通讯股份有限公司 虚拟化服务监控方法和装置
KR101730109B1 (ko) 2016-05-23 2017-04-25 주식회사 세이디엔디 이미지 스냅샷 공유 기법을 활용한 데스크탑용 통합 클라우드 솔루션 시스템
KR102568985B1 (ko) * 2016-06-22 2023-08-23 한국전자통신연구원 오프라인 가상 데스크탑 제공 장치, 오프라인 가상 데스크탑 단말 및 오프라인 가상 데스크탑 제공 방법
WO2017219362A1 (zh) * 2016-06-24 2017-12-28 阿贝尔环球国际有限公司 终端装置及其终端操作系统与云端装置及其云端操作系统
US10171630B2 (en) * 2016-08-26 2019-01-01 Amazon Technologies, Inc. Executing remote commands
CN106445746A (zh) * 2016-10-12 2017-02-22 北京智网科技股份有限公司 一种面向应急接替的容灾备份方法及装置
US20180109462A1 (en) * 2016-10-14 2018-04-19 Nanning Fugui Precision Industrial Co., Ltd. Method for optimizing streaming media transmission and cache apparatus using the same
CN106940626B (zh) * 2017-03-17 2020-02-07 郑州云海信息技术有限公司 一种获取虚拟机多磁盘间差异数据的方法和系统
CN107124459A (zh) * 2017-04-28 2017-09-01 南京大学 基于云平台的可控在线程序评测中间件
CN107025123A (zh) * 2017-05-17 2017-08-08 上海酷卓信息科技有限公司 桌面虚拟化的系统管理方法及装置
CN107256171B (zh) * 2017-06-19 2021-02-23 苏州浪潮智能科技有限公司 一种基于bios的多系统安装和切换方法及系统
WO2018236925A1 (en) * 2017-06-19 2018-12-27 Rigetti & Co, Inc. QUANTICALLY DISTRIBUTED COMPUTING SYSTEM
CN107391688A (zh) * 2017-07-25 2017-11-24 郑州云海信息技术有限公司 一种基于web的虚拟化网络管理平台的构建方法与装置
KR102474582B1 (ko) * 2017-08-28 2022-12-05 삼성전자주식회사 가상화 클러스터 환경의 비바람직한 호스트 서버 상에서 더티 가상 머신의 실행을 방지하는 방법 및 시스템
CN107580070B (zh) * 2017-09-27 2018-10-09 威创集团股份有限公司 一种计算机远程文件传输的方法、系统及相关装置
TWI648637B (zh) * 2017-11-30 2019-01-21 財團法人工業技術研究院 於平台部署與操作行動作業系統的系統及其方法
CN107995318A (zh) * 2018-01-04 2018-05-04 西安雷风电子科技有限公司 一种网络云盘的高可用系统
CN108228108B (zh) * 2018-01-04 2021-04-02 西安雷风电子科技有限公司 一种差分虚拟磁盘链接方法
CN108462738A (zh) * 2018-02-07 2018-08-28 广州华立科技职业学院 计算机屏显系统
US11010145B1 (en) 2018-02-21 2021-05-18 Rigetti & Co, Inc. Retargetable compilation for quantum computing systems
CN110309036B (zh) * 2018-03-27 2023-02-10 华为技术有限公司 一种cpu占用率检测方法及检测设备
CN108875358A (zh) * 2018-06-08 2018-11-23 山东超越数控电子股份有限公司 一种基于X86平台的Android系统安全启动方法
US11263036B2 (en) 2018-07-16 2022-03-01 Samsung Electronics Co., Ltd. Method and device for controlling access of application
CN109101283A (zh) * 2018-07-17 2018-12-28 北京元心科技有限公司 Gpu设备的控制方法、装置及电子设备
CN109255242A (zh) * 2018-09-18 2019-01-22 郑州云海信息技术有限公司 一种基于可信uefi固件引导虚拟机启动的方法及系统
US10853498B2 (en) * 2018-09-19 2020-12-01 Dell Products L.P. Secure boot orchestration device in a virtual desktop infrastructure
CN109460274A (zh) * 2018-10-09 2019-03-12 安徽继远软件有限公司 一种基于云桌面的移动安全办公平台及方法
KR102123815B1 (ko) * 2018-10-30 2020-06-17 에스케이 텔레콤주식회사 Vmi 푸시 서비스 제공방법 및 장치
US11665166B2 (en) * 2018-11-09 2023-05-30 Barry Ian Dynkin Secure computing platform
CN110428153A (zh) * 2019-07-19 2019-11-08 中国建设银行股份有限公司 消息聚合方法及装置
CN110781158B (zh) * 2019-10-25 2022-08-16 山东乾云启创信息科技股份有限公司 一种基于ceph的分布式存储方法及系统
CN111163176A (zh) * 2020-01-02 2020-05-15 山东超越数控电子股份有限公司 一种基于VirtualBox的集群管理系统
CN111309234B (zh) * 2020-02-26 2021-12-21 深信服科技股份有限公司 一种虚拟化应用截图方法、装置、服务器及可读存储介质
CN111314200B (zh) * 2020-02-29 2023-10-20 新华三技术有限公司 一种报文转发方法及装置
WO2022071965A1 (en) * 2020-10-02 2022-04-07 Hewlett-Packard Development Company, L.P. Bios safe mode
CN112596817B (zh) * 2020-12-29 2024-04-12 微医云(杭州)控股有限公司 应用程序启动方法、装置、设备及存储介质
CN113220462B (zh) * 2021-05-28 2024-02-06 赵庆林 一种基于边缘计算的集中式故障检测方法
CN113254091B (zh) * 2021-06-09 2021-11-02 广东睿江云计算股份有限公司 一种基于ceph块设备的无盘系统启动方法
CN115640097A (zh) * 2021-07-20 2023-01-24 中兴通讯股份有限公司 应用程序虚拟化方法、系统、电子设备及存储介质
CN115878252A (zh) * 2021-09-28 2023-03-31 华为技术有限公司 一种虚拟设备运行方法
CN114489421A (zh) * 2021-12-08 2022-05-13 统信软件技术有限公司 一种虚拟屏幕生成方法、计算设备及存储介质
CN114079614B (zh) * 2022-01-19 2022-05-17 浙江中控技术股份有限公司 一种嵌入式设备同时作为客户端和服务器的应用方法
CN114866804B (zh) * 2022-04-20 2023-09-15 中央广播电视总台 频道包装及资讯播出系统
US11489725B1 (en) * 2022-04-24 2022-11-01 Uab 360 It Optimized updating of a client application
CN115118535B (zh) * 2022-05-25 2023-08-25 成都吉胜科技有限责任公司 一种基于循环责任链的网吧分布式并行计费方法及系统
CN116208623B (zh) * 2023-05-04 2023-07-14 腾讯科技(深圳)有限公司 信息同步方法、装置、引擎服务器及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188624A (zh) * 2007-12-07 2008-05-28 华中科技大学 基于虚拟机的网格中间件系统
CN101754466A (zh) * 2008-12-10 2010-06-23 运软网络科技(上海)有限公司 移动虚拟化的基础设施以及基础平台

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225314B2 (en) * 2006-03-31 2012-07-17 Intel Corporation Support for personal computing in a public computing infrastructure by using a single VM delta image for each VM base image utilized by a user
CN101425021A (zh) * 2007-10-31 2009-05-06 卢玉英 基于虚拟机技术的个人计算机可迁移应用模式
US8539551B2 (en) * 2007-12-20 2013-09-17 Fujitsu Limited Trusted virtual machine as a client
WO2009108579A2 (en) * 2008-02-26 2009-09-03 Vmware, Inc. Extending server-based desktop virtual machine architecture to client machines
US8543998B2 (en) 2008-05-30 2013-09-24 Oracle International Corporation System and method for building virtual appliances using a repository metadata server and a dependency resolution service
CN101448027B (zh) * 2008-12-29 2013-01-30 中国科学院计算技术研究所 一种流水线Web服务器的系统及其工作方法
US20120054743A1 (en) * 2010-08-31 2012-03-01 Yuji Fujiwara Information Processing Apparatus and Client Management Method

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188624A (zh) * 2007-12-07 2008-05-28 华中科技大学 基于虚拟机的网格中间件系统
CN101754466A (zh) * 2008-12-10 2010-06-23 运软网络科技(上海)有限公司 移动虚拟化的基础设施以及基础平台

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2683620C1 (ru) * 2015-06-19 2019-03-29 ЗетТиИ Корпорейшн Способ осуществления совместного использования данных между клиентом и виртуальным рабочим столом, клиентом и системой

Also Published As

Publication number Publication date
US8943506B2 (en) 2015-01-27
CN102447723A (zh) 2012-05-09
US20130311990A1 (en) 2013-11-21
WO2012048619A1 (en) 2012-04-19

Similar Documents

Publication Publication Date Title
CN102447723B (zh) 客户端虚拟化架构
US9323820B1 (en) Virtual datacenter redundancy
TW201928707A (zh) 自動部署資訊技術(it)系統及方法
US8763005B2 (en) Virtual-machine-based application-service provision of front-end versions of back-end applications
AU2015358292B2 (en) Computing systems and methods
US20100042994A1 (en) Transportation of a Workspace from One Machine to Another in a Virtualized Computing Environment without Installing an Operating System
US9335985B2 (en) Desktop image management for virtual desktops
US9838371B2 (en) Method and system for securely transmitting volumes into cloud
US9354858B2 (en) Desktop image management for virtual desktops using on-demand stub creation
US9720719B2 (en) Method and system for optimizing virtual disk provisioning
CN113196237A (zh) 计算系统中的容器迁移
TW202105221A (zh) 具有增強安全性之自動部署資訊技術(it)系統及方法
CN110968392A (zh) 一种升级虚拟化模拟器的方法和装置
US10042657B1 (en) Provisioning virtual applciations from virtual application templates
US8769058B1 (en) Provisioning interfacing virtual machines to separate virtual datacenters
CN111124598A (zh) 一种虚拟桌面软件管理方法及系统
Ahmed Mastering Proxmox: Build virtualized environments using the Proxmox VE hypervisor
US9058336B1 (en) Managing virtual datacenters with tool that maintains communications with a virtual data center that is moved
CN114465765B (zh) 一种云桌面系统的客户端安全管理系统及方法
Tong et al. Analysis of a secure virtual desktop infrastructure system
Kipper et al. Virtualization and Forensics: A Digital Forensic Investigator’s Guide to Virtual Environments
Mehic et al. Education in clouds
MEHIĆ et al. VIRTUALIZATION AND CLOUD COMPUTING SECURITY BEZBJEDNOST VIRTUALIZACIJE I “CLOUD COMPUTING”-A
Barrett et al. Constructing the z/VM Environment

Legal Events

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

Granted publication date: 20150909

Termination date: 20201012