CN101374146A - 对物理计算机系统的虚拟表示的按需访问 - Google Patents

对物理计算机系统的虚拟表示的按需访问 Download PDF

Info

Publication number
CN101374146A
CN101374146A CN200810133464.4A CN200810133464A CN101374146A CN 101374146 A CN101374146 A CN 101374146A CN 200810133464 A CN200810133464 A CN 200810133464A CN 101374146 A CN101374146 A CN 101374146A
Authority
CN
China
Prior art keywords
computer system
backup images
virtual machine
physical computer
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN200810133464.4A
Other languages
English (en)
Other versions
CN101374146B (zh
Inventor
S·J·托尔曼
S·M·霍尔曼斯特
H·G·霍博特
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.)
NortonLifeLock Inc
Original Assignee
Symantec Corp
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 Symantec Corp filed Critical Symantec Corp
Publication of CN101374146A publication Critical patent/CN101374146A/zh
Application granted granted Critical
Publication of CN101374146B publication Critical patent/CN101374146B/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

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

Abstract

公开了用于访问第一物理计算机系统的虚拟表示的系统和方法的各种实施例。第一物理计算机系统的第一备份映像可以被存储在服务器计算机系统上,其中第一备份映像指定第一物理计算机系统的第一状态。响应于访问第一物理计算机系统的虚拟表示的请求,可以从服务器计算机系统上的第一备份映像,实例化虚拟计算机。可以响应于用户对虚拟计算机的输入,修改虚拟计算机的状态。可以创建虚拟计算机的第二备份映像,其中第二备份映像指定虚拟计算机的修改状态。可以将第二备份映像传送到并应用于第一物理计算机系统。

Description

对物理计算机系统的虚拟表示的按需访问
技术领域
本发明涉及虚拟计算和联网计算机系统领域。更具体地说,本发明涉及对物理计算机系统的虚拟表示的按需远程访问的系统和方法。
背景技术
用户通常有一个或多个的个人计算机系统,用于运行各种软件应用程序及管理各种类型的信息,例如,用于商用和/或个人使用。计算机系统的例子包括台式计算机系统、膝上型计算机系统或如个人数字助理(PDA)、“智能”手机、游戏设备等的移动设备。例如,不管用户现在位于何处,用户经常需要访问他们在各个位置的计算机系统上的软件应用程序或数据。
从不同位置访问如传统台式计算机系统的位置固定的计算机系统相当地困难,因为这些计算机系统通常不能移动。这种数据访问问题由于移动计算机系统而得到了些许的减轻,但没有完全解决。例如,用户不能总是将他们的移动计算机系统带到他们去的每个地方。同样,如果移动计算机系统丢失、失窃或被损坏,用户就不能再访问它。
发明内容
公开了访问第一物理计算机系统的虚拟表示的系统和方法的各种实施例。根据所述方法的一个实施例,第一物理计算机系统的第一备份映像可以存储在服务器计算机系统上,其中第一备份映像指定第一物理计算机系统的第一状态。响应于访问第一物理计算机系统的虚拟表示的请求,可以从服务器计算机系统上的第一备份映像实例化虚拟计算机。例如,在一些实施例中,可以从第二物理计算机系统接收访问第一物理计算机系统的虚拟表示的请求。服务器计算机系统可以与第二物理计算机系统进行通信,以提供能访问虚拟计算机的第二物理计算机系统。
可以响应于用户对虚拟计算机的输入修改虚拟计算机的状态。所述方法还可以包括在服务器计算机系统上存储虚拟计算机的第二备份映像,其中第二备份映像指定虚拟计算机的修改状态。所述方法还包括将第二备份映像从服务器计算机系统传送到并应用于第一物理计算机系统。应用第二备份映像到第一物理计算机系统,可以使第一物理计算机系统处于与虚拟计算机的修改状态相对应的第二状态。
附图说明
结合如下附图考虑下文的详细说明,可以更好地理解本发明,其中:
图1示出了访问物理计算机系统的虚拟表示的系统的一个实施例,其中系统包括用户计算机系统、服务器计算机系统和客户端访问计算机系统;
图2示出了根据一个实施例的用户计算机系统的例子;
图3和图4示出了根据特定实施例的服务器计算机系统的例子;
图5示出了根据一个实施例的客户端访问计算机系统的例子;
图6示出了用于访问物理计算机系统的虚拟表示的方法实施例;
图7示出了其中用户计算机系统的基础备份映像和用户计算机系统的多个增量备份映像已经被发送到并存储在服务器计算机系统的存储设备上的例子;
图8示出了其中多个独立备份映像已经被发送到被存储在服务器计算机系统的存储设备上的例子;
图9示出了在客户端访问计算机系统上显示的用户界面的例子,其中用户界面允许用户选择其中一个存储在服务器计算机系统上的备份映像;
图10示出了图7中的例子,其中新备份映像已经从虚拟计算机创建,并作为增量备份映像存储在服务器计算机系统上;以及
图11示出了图8的例子,其中新备份映像已经从虚拟计算机创建,并作为独立备份映像存储在服务器计算机系统上。
然而,本发明易于作出各种修改和替换形式,在附图中以举例的形式示出了其多个特定实施例,并进行详细描述。但是,应当理解,附图和及其详细说明并不是要以公开的特定形式对本发明进行限制,相反,本发明覆盖了所有落入附属权利要求限定的本发明的精神和范围内的所有修改、等同替换和替代。
具体实施方式
在此公开用于访问物理计算机系统的虚拟表示的系统和方法的各种实施例。图1示出了系统的一个实施例。在该例中,系统包括用户计算机系统80、服务器计算机系统90和客户端计算机系统82。简而言之,所述方法可以包括在服务器计算机系统90上存储用户计算机系统80的一个或多个备份映像。各个备份映像中的每一个可以表示与例如在各个备份映像被创建时的对应时间点存在的用户计算机系统80同样的用户计算机系统80。例如,每个备份映像可以指定各个状态信息,其中状态信息表示在备份映像被创建时的用户计算机系统80的状态。
所述方法还包括,服务器计算机系统90响应于从客户端访问计算机系统82接收的用户请求,实例化表示用户计算机系统80的虚拟计算机。可以从存储在服务器计算机系统90上的其中一个用户计算机系统80的备份映像,实例化虚拟计算机。例如,用户可以与客户端访问计算机系统82进行交互,以登录服务器计算机系统90作为主机的服务,并选择用户计算机系统80的其中一个备份映像。作为响应,服务器计算机系统90可以从选定的备份映像,实例化虚拟计算机。
虚拟计算机可以包括,与在选定备份映像被创建时存在的用户计算机系统80同样的用户计算机系统80的虚拟表示。例如,选定备份映像可用于使虚拟计算机处于与用户计算机系统80在选定备份映像被创建时所处状态对应的状态中。用户可以以类似于用户与用户的实际计算机80(与选定备份映像被创建时存在的用户实际计算机系统80同样)交互的方式,通过客户端访问计算机系统82与服务器系统90上的虚拟计算机进行交互。例如,选定的备份映像可以包括指定用户计算机系统80的文件系统的状态的信息,并且虚拟计算机可以根据该信息实现相同的文件系统。选定备份映像也可以包括指定安装在用户计算机系统80上的一个或多个软件应用程序状态的信息,而且虚拟计算机可以使用户能在虚拟计算机上运行一个或多个软件应用程序,其中一个或多个软件应用程序的功能类似于或等同于它们在用户的实际计算机系统80上运行的功能。
响应于用户与虚拟计算机的交互,可以对虚拟计算机的状态进行修改。例如,其中在虚拟计算机上重构用户计算机系统80的文件系统,可以例如响应于用户对一个或多个文件的增加、删除或修改而修改文件系统。如另一个实施例所示,其中在虚拟计算机上执行安装在用户计算机系统80上的软件应用程序,软件应用程序及软件应用程序维护的数据的状态可以响应于用户与虚拟计算机上的软件应用程序的交互而修改。
所述方法还包括在服务器计算机系统上存储虚拟计算机的新的备份映像,其中新的备份映像指定虚拟计算机的修改状态。例如,在一些实施例中,当用户完成与虚拟计算机的交互后,用户可以从服务器计算机系统90注销。服务器计算机系统90可以根据虚拟计算机创建新的备份映像,并存储新的备份映像。
所述方法还包括将新的备份映像从服务器计算机系统传送到并应用于用户计算机系统80。应用新的备份映像到用户计算机系统80,可以使用户计算机系统80处于与虚拟计算机的修改状态相对应的状态。例如,在用户与虚拟计算机交互以修改文件系统的情形下,用户计算机系统80上的文件系统可以相应地修改。类似地,其中用户与虚拟计算机进行交互以修改软件应用程序或由软件应用程序维护的数据的状态,可以相应地修改用户计算机系统80上的软件应用程序或其相关联的数据。
如图1所示,用户计算机系统80、服务器计算机系统90和客户端访问计算机系统82可以是通过网络84耦接的不同计算机系统。例如,在一些实施例中,这三个各个计算机系统的中的每一个可以在地理上彼此分离,例如,可以位于不同的房间内、不同的建筑物内、城市中的不同位置、不同城市或不同国家等。如一个例子所示,在一个实施例中用户计算机系统80和服务器计算机系统90可以位于给定城市中的不同地点,客户端访问计算机系统82可以位于不同的国家。如另一个例子所示,在一个实施例中这三个各个计算机系统中的每一个可以位于自治校园联盟中的不同地点。
在各个实施例中,网络84可以包括任何类型的网络或网络的组合。例如,网络84可以包括任何类型的局域网(LAN)、广域网(WAN)、无线网络、内部网、因特网等或它们的组合。示例性的局域网包括以太网网络、光纤分布式数据接口网(FDDI)、令牌环网。同样,用户计算机系统80、服务器计算机系统90和客户端访问计算机系统82的每一个可以利用任何类型的有线或无线连接介质连接到网络84。例如,有线介质可以包括以太网、光纤信道、连接到普通电话业务(POSTS)的调制解调器等。无线连接介质可以包括利用诸如IEEE802.11(例如,无线以太网)协议的无线通信协议、通过蜂窝服务的调制解调器链路、卫星链路等。
所述方法的各种实施例可用于各种类型的应用以向用户提供到物理设备的虚拟表示的远程访问。如一个例子中所示,考虑这样一种情况,其中用户计算机系统80是位于他的工作办公室的计算机系统。用户计算机系统80可以与服务器计算机系统90进行通信以将一个或多个备份映像存储到服务器计算机系统90上。例如,服务器计算机系统90可以是由用户的雇主管理的服务器计算机系统也可以是由第三方服务提供商管理的非现场(off-site)服务器计算机系统。
假设用户去另一个国家度假并认识到他需要访问他的工作办公室的他的计算机系统上的项目计划软件应用程序。用户可以例如通过客户端访问计算机系统82经因特网连接到服务器计算机系统90。在一些实施例中,客户端访问计算机系统82可以是任何能够进行因特网接入的计算机系统。例如,客户端访问计算机系统82可以是用户度假国家的网络咖啡屋上的计算机系统,或者也可以是用户拥有的便携式计算机系统,如膝上型计算机系统或蜂窝电话。
通过客户端访问计算机系统82,用户可以请求服务器计算机系统90从存储在服务器计算机系统90上的用户计算机系统80的其中一个备份映像,实例化虚拟计算机。因而,用户可以通过客户端访问计算机系统82与虚拟计算机进行交互。具体地说,在该例中,用户可以启动虚拟计算机上项目计划软件应用程序的执行,并通过客户端访问计算机系统82上显示的图形用户界面,与项目计划软件应用程序进行交互。例如,用户可以利用项目软件应用程序来修改项目文件或数据库。
当用户完成使用项目计划软件应用程序以后,用户可以从虚拟计算机和服务器计算机系统90注销。服务器计算机系统90可以创建虚拟计算机的备份映像,并将其存储到服务器计算机系统90上。虚拟计算机的备份映像可以包括指定对虚拟计算机的状态进行修改的信息,例如,在该例中,可以包括指示修改的项目文件或数据库的信息。
在一些实施例中,用户可能在度假之后返回他的办公室,并与他的办公室中的用户计算机系统80进行交互,以登录到服务器计算机系统90并请求将在他度假时利用虚拟计算机进行的修改应用到用户计算机系统80。因而,服务器计算机系统90可以与用户计算机系统80进行通信,以向用户计算机系统80传送先前从虚拟计算机上创建的备份映像。用户计算机系统80可以包括可操作以自动将传送的备份映像应用于用户计算机系统80(例如,为了自动地使用户计算机系统80处于与备份映像被创建时虚拟计算机所处的状态对应的状态)的软件。因此,在该例中,为了反映修改的项目文件或数据库,用户计算机系统80的文件系统可以进行自动更新,由项目计划软件应用程序维护的其他信息也可以响应于备份映像修改。
在其他实施例中,用户可以不需要手动连接服务器计算机系统90,并请求将从虚拟计算机创建的备份映像传送到并应用于用户计算机系统80。例如,在一些实施例中,服务器计算机系统90可以自动和用户计算机系统80进行通信,以通知用户计算机系统80新的备份映像在服务器计算机系统90上被创建,而且新的备份映像可以被自动传送到并被应用于用户计算机系统80。在其他实施例中,用户计算机系统80可以自动检测或被通知新的备份映像在服务器计算机系统90上被创建的事实,但是用户计算机系统可以在自动应用之前首先向用户提示询问他是否要将新的备份映像应用到用户计算机系统80。
尽管用户计算机系统80在图1中被示出为台式计算机系统,但在各种实施例中,用户计算机系统80可以是任何类型的计算机系统,并具有任何各种形式因素。类似地,服务器计算机系统90和客户端访问计算机系统82的每一个也可以是任何类型的计算机系统。通常,术语“计算机系统”指的是任何具有至少一个能够执行存储在存储器中的指令的设备(或设备的组合)。计算机系统的例子包括个人计算机系统(例如,台式计算机系统、膝上型计算机系统等)、服务器计算机系统、置顶盒、游戏工作站以及各种移动设备,例如,个人数字助理(PDA)、“智能”手机等。
同样应当注意的是,尽管为了方便起见在此将用户计算机系统80称为“用户计算机系统”,该术语在各种实施例中可以指任何物理的计算机系统,并且计算机系统不需要属于任何特定用户。
图2示出了根据本发明的一个实施例的用户计算机系统80的例子。如上所述,用户计算机系统80可以包括任何类型的计算机系统。在这个例子中,用户计算机系统80包括耦接到存储器122的处理器120。在一些实施例中,存储器122可以包括一种或各种形式的随机存储器(RAM),如动态RAM(DRAM)或同步DRAM(SDRAM)。但是,在其他实施例中,存储器122可以替代地或附加地包括任何其他类型的存储器。
存储器122可以配置为存储程序指令和/或数据。尤其是,存储器122可以存储映像管理客户端软件205。处理器120可以执行映像管理客户端软件205以执行用户计算机系统80上与备份映像管理相关的各种功能。例如,映像管理客户端软件205可执行用于创建用户计算机系统80的备份映像,与服务器计算机系统90进行通信,以从用户计算机80向服务器计算机系统90发送备份映像,从服务器计算机系统90接收备份映像(例如,虚拟计算机的备份映像),以及将接收到的备份映像应用于用户计算机系统80。存储器122也可以存储与映像管理客户端软件205结合操作或由映像管理客户端软件205使用的其他软件,例如,网络通信软件和操作系统软件。
在各种实施例中,映像管理客户端软件205可以以任何各种形式实现,并可以具有各种期望的软件结构。例如,在一些实施例中,映像管理客户端软件205可以实现为单个软件应用程序。在其他实施例中,映像管理客户端软件205可以实现为两个或两个以上能够彼此结合操作的软件程序或应用程序。
再次参考图2,应当注意的是,处理器120可以表示为任何类型的处理器。例如,在一些实施例中,处理器120可以与x86结构兼容,但是在其他实施例中,处理器120可以与SPARCTM族处理器兼容。同样,在一些实施例中,用户计算机系统80可以包括多个处理器120。
用户计算机系统80也可以包括或与一个或多个存储设备125耦接。在各种实施例中,存储设备125可以包括任何各种类型的可操作用于存储数据的存储设备,例如光学存储设备、磁盘驱动器、磁带驱动器、闪存设备等。举例来说,存储设备125可以实现为独立配置的一个或多个磁盘驱动器或磁盘存储系统。
用户计算机系统80也可以包括一个或多个用于从用户计算机系统80的用户接收用户输入的输入设备126。输入设备126可以包括任何各种类型的输入设备,例如,键盘、数字按键键盘、麦克风或定位设备(例如,鼠标或跟踪球)。用户计算机系统80也可以包括一个或多个用于向用户显示输出的输出设备128。输出设备128可以包括任何各种类型的输出设备或显示设备,例如LCD屏幕或监视器、CRT监视器等。
用户计算机系统80也可以包括用户计算机系统80通过其连接到网络84的网络连接硬件129。网络连接硬件129可以包括任何类型的用于耦接用户计算机系统80与网络84(例如,基于网络类型)的硬件。如上所述,在各种实施例中,用户计算机系统80可以通过任何类型的网络或网络的组合,耦接到服务器计算机系统90上。
图3示出了根据本发明的一个实施例的服务器计算机系统90的例子。如上所述,服务器计算机系统90可以包括任何类型的计算机系统。在这个例子中,服务器计算机系统90包括一个或多个耦接到存储器122的处理器120。在一些实施例中,存储器122可以包括一种或多种形式的随机访问存储器(RAM),如动态RAM(DRAM)或同步DRAM(SDRAM)。但是,在其他实施例中,存储器122可以替代地或附加地包括任何其他类型的存储器。
服务器计算机系统90的存储器122可以配置为存储程序指令和/或数据。尤其是,存储器122可以存储映像管理服务器软件207。处理器120可以执行映像管理软件207,以执行服务器计算机系统90上与备份映像管理相关的各种功能。例如,映像管理服务器软件207可执行用于与映像管理客户端软件205或用户计算机系统80上的其他软件进行通信,以从用户计算机系统80接收备份映像,并将备份映像存储到例如服务器计算机系统90的一个或多个存储设备125上。映像管理服务器软件207也可以执行用于从虚拟计算机创建备份映像,例如,在根据从用户计算机系统80接收的其中一个备份映像,实例化虚拟计算机,以及其中从虚拟计算机创建的备份映像反映了虚拟计算机的修改状态的情形下。映像管理服务器软件207也可以执行用于与映像管理客户端软件205或用户计算机系统80上的其他的软件进行通信,以向用户计算机系统80发送从虚拟计算机创建的备份映像。
服务器计算机系统90的存储器122也可以存储服务主机软件215。服务主机软件215可执行用于与网络浏览器软件或其他在客户端访问计算机系统82上执行的远程客户端访问软件进行通信,以使客户端访问计算机系统82的用户能连接到服务器计算机系统90并请求对用户计算机系统80的虚拟表示进行访问。例如,在一些实施例中,服务主机软件215可以包括能够使网络浏览器连接到服务器计算机系统90并提供用户的身份和验证信息的网络服务器软件。响应于接收到身份和验证信息,服务主机软件215可以提供HTML或其他信息,使网络浏览器显示指示之前从用户计算机系统80接收的存储的备份映像的用户界面。
服务器计算机系统90的存储器122也可以存储虚拟化服务软件209。当客户端访问计算机系统82的用户从显示在网络浏览器中的用户界面选择其中一个存储的备份映像时,服务主机软件215可以请求虚拟化服务软件209从选定的备份映像实例化虚拟计算机。相应地,虚拟化服务软件209可以实例化虚拟计算机并与网络浏览器软件或其他客户端访问计算机系统82上的远程客户端访问软件进行通信,以使客户端访问计算机系统82的用户能与虚拟计算机进行交互。
在各种实施例中,虚拟化服务软件209可以根据任何各种技术,实现任何各种虚拟化环境,并可以与网络浏览器软件或其他客户端访问计算机系统82上的远程客户端访问软件进行通信,以使用户能与虚拟计算机进行交互。在图3所示的实施例中,虚拟化服务软件209包括虚拟计算机执行软件211和UI/通信软件213。虚拟计算机执行软件211可以管理虚拟计算机的实例化和执行。UI/通信软件213可作为虚拟计算机执行软件211与客户端访问计算机系统82上的远程客户端访问软件之间的中间代理。例如,UI/通信软件213可以从虚拟计算机执行软件211接收虚拟计算机的输出信息,并将输出信息转换为远程客户端访问软件可用的形式,以在客户端访问计算机系统82上显示虚拟计算机的图形用户界面。UI/通信软件213也可以从远程客户端访问软件接收用户对虚拟计算机的输入,并将用户输入传到虚拟计算机执行软件211。接着,在虚拟计算机执行软件211管理下执行的虚拟计算机可以处理用户输入。
再次参考图3,应当注意一个或多个处理器120代表任何类型的处理器。例如,在一些实施例中,处理器120可以与x86结构兼容,但是在其他实施例中,一个或多个处理器120可以与SPARCTM族处理器兼容。
服务器计算机系统90也包括或耦接到一个或多个存储设备125。在各种实施例中,存储设备125可以包括任何各种可操作用于存储数据的存储设备,例如,光学存储设备、磁盘驱动器、磁带驱动器、闪存设备等。如一个例子中所示,存储设备125可以实现为一个或多个独立配置的磁盘驱动器或实现为磁盘存储系统。
服务器计算机系统90也可以包括一个或多个用于接收用户输入的输入设备126以及一个或多个用于显示输出的输出设备128。服务器计算机系统90也可以包括服务器计算机系统90通过其连接到网络84的网络连接硬件129。网络连接硬件129例如,取决于网络类型,可以包括任何类型的用于耦接服务器计算机系统90和网络84的硬件。
在一些实施例中,服务器计算机系统90可以包括多个计算机,例如,其中计算机通过网络耦接。因此,服务器计算机系统90的功能可以跨多个计算机分布。例如,图4示出了其中服务器计算机系统90包括三个服务器计算机91A、91B和91C的实施例。在这个例子中,服务器计算机91A执行服务主机软件215,服务器计算机91B执行虚拟化服务软件209,而服务器计算机91C执行映像管理服务器软件207。服务器计算机91A、91B和91C通过局域网(LAN)85彼此耦接。服务器计算机91A、91B和91C可以在执行本文中描述各种服务器计算机系统90的功能中彼此通信。在这个例子中,网络存储库50也可以连接到LAN。可以在网络存储库50中包括服务器计算机系统90的一个或多个存储设备125。例如,在服务器计算机91C上执行的映像管理服务器软件207可以存储从网络存储库50中的一个或多个存储设备125上的用户计算机系统80接收的备份映像。
在各种实施例中,服务器计算机系统90可以包括任何数量的计算机,服务器计算机系统90的各种软件组件可以以任何各种方式跨计算机分布。例如,在一些实施例中,虚拟化服务软件209可以跨服务器计算机系统90中多个计算机分布。如另一个例子所示,单个计算机可以执行虚拟化服务软件209和映像管理服务器软件207。
现在参考图5,示出了根据一个实施例的客户端访问计算机系统82的例子。如上所述,客户端访问计算机系统82可以包括任何类型的计算机系统。客户端计算机系统82可以包括诸如上述的类似的计算机组件。例如,在一些实施例中,客户端访问计算机系统82可以包括一个或多个处理器120、存储器122、网络连接硬件129、一个或多个输入设备126、一个或多个输出设备125以及一个或多个显示设备128。处理器120可以执行存储在存储器122上远程客户端访问软件230。
远程客户端访问软件230可以允许客户端访问计算机系统82与服务器计算机系统90进行通信。例如,远程客户端访问软件230可以与服务器计算机系统90上的服务主机软件215进行通信,以请求从用户计算机系统80上的其中一个备份映像实例化虚拟计算机。在虚拟计算机被实例化以后,远程客户端访问软件230可以与虚拟化服务软件209进行通信,例如,以接收虚拟计算机的用户界面信息,并在客户端访问计算机系统82上显示用户界面信息。远程客户端访问软件230也可以接收用户输入,并将用户输入传给虚拟计算机的虚拟服务软件209。
在各种实施例中,远程客户端访问软件230可以以任何各种方式实现,并具有任何期望的软件结构。例如,在一些实施例中,远程客户端访问软件230可以实现为单个软件应用程序。在其他实施例中,远程客户端访问软件230可以实现为彼此结合操作的两个或两个以上的软件程序或应用程序。
在一些实施例中,远程客户端访问软件230可以是标准网络浏览器程序,没有其他软件可以在客户端访问计算机系统82上被请求。在其他一些实施例中,远程客户端访问软件230也可以包括网络浏览器程序的插入程序(plug-in)或扩展。但是,网络浏览器程序可以操作用于自动下载并安装插入程序,例如,当网络浏览器程序连接到服务器计算机系统90作为主机的网页时。因而,在一些实施例中,任何虚拟地连接到因特网的计算机系统可用作客户端访问计算机系统82。
在其他实施例中,客户端访问计算机系统82可以要求附加配置,而不是简单地安装标准网络浏览器程序。例如,在一些实施例中,例如,取决于服务器计算机系统90上使用的虚拟化服务软件209的类型或虚拟化服务软件209用来与客户端访问计算机系统82进行交换信息的特定技术,可以要求用户或客户端访问计算机系统82的管理员在客户端访问计算机系统82上手动安装除标准网络浏览器程序以外的软件应用程序。
现在参考图6,示出了访问物理计算机系统的虚拟表示的方法的一个实施例。如箭头1所示,用户计算机系统80的一个或多个备份映像可以被发送并存储到服务器计算机系统90上。在一些实施例中,用户可以手动地或交互地连接到服务器计算机系统90,并请求将一个或多个备份映像存储到服务器计算机系统90上。在其他实施例中,一个或多个备份映像可以被自动地发送并存储到服务器计算机系统90上。例如,用户可以配置安装在用户计算机系统80上的映像管理客户端软件205,以根据期望的日程安排(例如,每小时、每天、每星期或在其他指定时间)自动创建用户计算机系统80的备份映像。每次创建新的备份映像时,映像管理客户端软件205可以自动与服务器计算机系统90上的映像管理服务器软件207进行通信,以发送新的备份映像用于存储到服务器计算机系统90上。
在一些实施例中,一个或多个备份映像可以与识别用户的信息相关联地在服务器计算机系统90上存储。例如,用户可以通过指定身份和验证信息,在服务器计算机系统90上创建帐户。当每个备份映像从用户计算机系统80发送到服务器计算机系统90时,也可以发送用户身份和验证信息。服务器计算机系统90也可以利用这种信息来授权对用户帐户的访问,并与用户帐户相关联地存储接收的备份映像。因此,服务器计算机系统90可以配置为例如为不同用户帐户存储多个不同用户计算机系统的备份映像,其中各种用户的各个身份和验证信息可用于控制对用户帐户的访问。
如上所述参考图2,用户计算机系统80包括或耦接一个或多个存储设备125,例如,磁盘驱动器、磁带驱动器、光学存储设备、闪存设备等。用户计算机系统80的每个备份映像包括在一个或多个存储设备125上实现的一个或多个文件系统的文件系统信息。例如,每个备份映像可以包括存储在一个或多个存储设备125上的文件子集中的至少一个。在一些实施例中,备份映像可以包括存储在一个或多个存储设备125上的所有文件的完全备份。在一些实施例中,备份映像可以包括存储在所有存储设备125上的所有文件的完全备份。用户能够配置映像管理客户端软件205以执行每个存储设备125的完全或部分备份。
当虚拟计算机在服务器计算机系统90上被实例化时,各个备份映像的每一个上包括的文件系统信息,可以使在一个或多个存储设备125实现的一个或多个文件系统在服务器计算机系统90上的虚拟计算机上被重构。各个文件系统的每一个可以是完全地或部分地在虚拟计算机上被重构,例如,基于备份映像包括各个文件系统的完全备份还是部分备份。
每个备份映像可以包括使用户计算机系统80的虚拟表示能被实例化的信息。尤其是,每个备份映像可以包括用户计算机系统80的操作系统信息,例如,其中操作系统信息可以以实现操作系统或由操作系统管理的一个或多个文件的形式被存储。操作系统信息可以使服务器计算机系统90上的虚拟计算机能被实例化。
在一些实施例中,每个备份映像可以包括软件应用程序信息,例如,表示安装在用户计算机系统80上的一个或多个软件应用程序的文件或其他信息。软件应用程序可以使一个或多个软件应用程序能在服务器计算机系统90上的虚拟计算机上被执行。
在一些实施例中,每个备份映像也可以包括设备信息,例如,表示用户计算机系统80中的设备或指示用户计算机系统80中的设备配置的设备驱动器文件或其他信息。设备信息可以使服务器计算机系统90上的虚拟计算机能模拟用户计算机系统80中的一个或多个设备。
用户计算机系统80的每个备份映像表示与当各个备份映像被创建时的对应时间点存在的用户计算机系统80同样的用户计算机系统80。例如,每个备份映像可以指定各个状态信息,其中状态信息表示当备份映像被创建时的用户计算机系统80的状态。如上所述,状态信息可以包括信息,例如,表示用户计算机系统80的文件系统状态的文件系统信息、表示用户计算机系统80的操作系统状态的操作系统信息、表示用户计算机系统80上的一个或多个软件应用程序的状态的软件应用程序信息等。
在一些实施例中,用户计算机系统80的一个或多个备份映像可以被创建为基于另一个备份映像的增量备份。例如,用户计算机系统80上的映像管理客户端软件205首先创建不基于任何其他备份映像的独立备份映像的基础备份映像。例如,基础备份映像可以包括存储在存储设备125上的数据的完全备份。随后,映像备份客户端软件205可以创建基于基础备份映像的增量备份映像。增量备份映像不包括存储设备125上的数据的完全备份,而是指定从基础备份映像创建以后发生的数据变化。例如,增量备份映像可以包括从基础备份映像创建以后已经增加的新数据或已经变化的数据,但可以不包括从基础备份映像创建以后还没有发生变化的数据。随后,映像管理客户端软件205可以创建另一个基于第一增量备份映像的增量备份映像。例如,第二增量备份映像可以指定从第一增量备份映像创建以后发生的数据变化。
因此,在一些实施例中,可以在服务器计算机系统90上创建并存储包括用户计算机系统80的基础备份映像300和用户计算机系统80的一个或多个增量备份映像302的链。例如,图7示出了其中用户计算机系统80的基础备份映像300被发送并存储到服务器计算机系统90的存储设备125的例子。基础备份映像300可以表示与在时间T=T1时存在的用户计算机系统80的状态同样的用户计算机系统80的状态。用户计算机系统80的四个增量备份映像302A-302D也被发送并存储到服务器计算机系统90的存储设备125。增量备份映像302A基于基础备份映像300并表示与在时间T=T2的时间(其中T2在T1之后)存在的用户计算机系统80的状态同样的用户计算机系统80的状态。类似地,增量备份映像302B基于增量备份映像302A,是与在时间T=T3的时间(其中T3在T2之后)存在的用户计算机系统80的状态同样用户计算机系统80的状态。增量备份映像302C和302D表示链中的进一步的增量备份。服务器计算机系统90可以存储指示各个基于存储在存储设备125上的备份映像的信息,以及指示备份映像被创建的各个时间的信息。
在其他实施例中,用户计算机系统80的两个或两个以上的独立或基础备份300可以被创建并发送用于存储到服务器计算机系统90上。例如,图8示出了其中服务器计算机系统90的存储设备125上存储的五个独立备份映像300A-300E。每个独立备份映像300都彼此独立。
在其他实施例中,可以在服务器计算机系统90上创建并存储多个基础备份映像300和多个增量备份映像302,以便于各个基础备份映像300的每一个都有一个或多个基于各个基础备份映像300的增量备份映像302。
在用户计算机系统80的一个或多个备份映像存储到服务器计算机系统90之后,客户端访问计算机系统82的用户可以希望访问用户计算机系统80的虚拟表示,例如,在客户端访问计算机系统82远离用户计算机系统80和服务器计算机系统90的情形下。例如,如图6的箭头2所示,用户可以和网络浏览器软件或客户端访问计算机系统82上其他远程客户端访问软件230进行交互,以与服务器计算机系统90上的服务主机软件215进行通信。例如,用户可以输入服务器计算机系统90的地址,例如服务器计算机系统90作为主机的网页的URI(统一资源定位符)。
在一些实施例中,服务主机软件215可以提示用户输入身份和验证信息,如用户名和口令。对用户进行验证以后,服务主机软件215可向远程客户端软件230发送信息,使远程客户端软件230能显示指示与存储在服务器计算机系统90上的用户相关联的一个或多个备份映像的用户界面,如图6的箭头3所示。在一些实施例中,用户界面可以显示为网页。图9示出了可以在客户端访问计算机系统82上显示的网页或其他类型的用户界面的简单例子。在这个例子中,用户界面包括用户对其进行点击以请求从已经存储在服务器计算机系统90上的用户计算机系统的最新备份映像实例化虚拟计算机的按钮700。用户界面也列出了备份映像被创建时的每个备份映像和各自的时间。与每个列出的备份映像相邻,显示各个复选框702。用户可以选择与他希望从中实例化虚拟计算机的期望的备份映像相邻的复选框,并点击OK按钮704。在其他实施例中,显示在客户端访问计算机系统82上的用户界面可以有任何各种其他外观,并能使用户以任何各种方式选择期望的备份映像。
因而,系统可以使用户计算机系统的不同虚拟表示被实例化,其中各个虚拟表示中每一个对应于与在例如各个备份映像被创建时的时间点存在的用户计算机系统状态同样的用户计算机系统的状态。
现在再次参考图6,远程客户端访问软件230可以向服务器计算机系统90上的服务主机软件215发送指示哪个备份映像被用户选定的信息,如图6的箭头4所示。相应地,服务主机软件215可以请求虚拟化服务209从选定的备份映像实例化虚拟计算机。
作为响应,虚拟化服务209可以从存储器检索选定的备份映像,并从备份映像实例化虚拟计算机400,如图6所示。虚拟计算机400是与在选定备份映像被创建时存在的用户计算机系统80同样的用户计算机系统80的虚拟表示,例如,其中虚拟表示由在服务器计算机系统90上执行的软件(例如,虚拟计算机执行软件211)来实现。当虚拟计算机400被首次实例化时,虚拟计算机400可以处于与选定备份映像被创建时的用户计算机系统80的状态对应的状态。
例如,选定备份映像可以包括使虚拟计算机400的操作系统能被实例化的操作系统信息,例如,其中操作系统在虚拟计算机执行软件211的管理下执行。操作系统可以具有与当选定备份映像被创建时的用户计算机系统80上的操作系统状态对应的初始状态。
类似地,选定备份映像可以包括使用户计算机系统80的文件系统能在虚拟计算机400上被重构的文件系统信息,例如,在由虚拟计算机执行软件211来管理文件系统的情形下。文件系统可以具有与选定备份映像被创建时的用户计算机系统80上的文件系统状态对应的初始状态。
类似地,选定的备份映像可以包括使用户计算机系统80上安装的软件应用程序能在虚拟计算机400上被复制的软件应用程序信息,例如,其中由虚拟计算机执行软件211管理软件应用程序的执行。软件应用程序可以具有与选定备份映像被创建时用户计算机系统80上的软件应用程序状态对应的初始状态。
在各种实施例中,虚拟化服务软件209可以实现任何各种虚拟化环境,并且虚拟计算机400可以实现为任何各种类型的虚拟计算机。在一些实施例中,选定的备份映像可以表示为一个或多个文件,而且虚拟化服务软件209可操作用于自动地将一个或多个选定备份映像的文件转换为第二一个或多个文件,例如,其中第二一个或多个文件具有根据虚拟计算机格式的格式。因此,可以从第二一个或多个文件实例化虚拟计算机400。在一些实施例中,可以在接收实例化虚拟计算机400的请求时,将选定备份映像的一个或多个文件动态地转换为具有虚拟计算机格式的第二一个或多个文件。在其他实施例中,可以在接收实例化虚拟计算机400的请求之前,将选定备份映像的一个或多个文件预转换为具有虚拟计算机格式的第二一个或多个文件。因而,在一些实施例中,具有虚拟计算机格式的第二一个或多个文件可以被预存储在服务器计算机系统90上。
在一些实施例中,服务器计算机系统90可操作用于实例化不同类型的虚拟计算机,例如,可以实现不同类型的虚拟计算架构或环境。在一些实施例中,服务器计算机系统90使用户选择他希望实例化的虚拟计算机类型。因而,虚拟计算机400可以被实例化为用户选定的虚拟计算机类型。
再次参考图6,在服务器计算机系统90上实例化虚拟计算机400之后,虚拟化服务209的UI/通信软件213可以与客户端访问计算机系统82上的远程客户端访问软件230进行通信,如双箭头5所示。例如,UI/通信软件213可以从虚拟计算机执行软件211接收虚拟计算机400的输出信息,并将输出信息转换为远程客户端访问软件230可用的形式,以在客户端访问计算机系统82上显示虚拟计算机400的图形用户界面。在一些实施例中,显示在客户端访问计算机系统82上的图形用户界面可以看起来与用户在与用户实际计算机系统80进行交互时看到的图形用户界面非常类似或几乎相同。例如,用户可以看到他在用户实际计算机系统80上看到的相同的图标,其中图标以相同的布局安排。
UI/通信软件213也可以通过远程客户端访问软件230,从客户端访问计算机系统82接收用户对虚拟计算机400的输入,并将用户输入传到虚拟计算机执行软件211。接着,虚拟计算机执行软件211管理下执行的虚拟计算机400可以处理用户输入。
当用户通过客户端访问计算机系统82与虚拟计算机400进行交互时,可以修改虚拟计算机400的状态。例如,如果用户增加、删除或修改文件(或因为执行虚拟计算机400上的软件应用程序而使文件增加、删除或修改),那么虚拟计算机400的文件系统状态可以被修改。如另一个例子所示,如果用户改变了虚拟计算机400上的操作系统或软件应用程序的配置选项,那么可以修改操作系统或软件应用程序的状态。
客户端访问计算机系统82上的图形用户界面可以使用户能指示用户已经完成与虚拟计算机400的交互的时间。相应地,远程客户端访问软件230可以从虚拟计算机400上和服务器计算机系统90上断开连接。在一些实施例中,服务器计算机系统90可以为用户使用服务器计算机系统90上的虚拟化服务开出用户信用卡帐单或用户的其他费用。
如图6的箭头6所示,服务器计算机系统90可以创建虚拟计算机400的新的备份映像,并将新的备份映像存储到服务器计算机系统90的存储设备125上。新的备份映像可以指定虚拟计算机400的修改状态。
在各种实施例中,可以利用任何各种技术从虚拟计算机400创建新的备份映像。例如,在一些实施例中,虚拟计算机400可以表示为在服务器计算机系统90上的动态存储器中存储的信息,并且可以利用存储在动态存储器中的信息,创建新的备份映像。在其他实施例中,存储在动态存储器中的信息可以首先被转换为表示虚拟计算机400的一个或多个文件,接着一个或多个文件可以被自动转换为第二一个或多个文件,例如,其中第二一个或多个文件具有根据物理设备备份格式的格式。
如上所述,在一些实施例中,可以在服务器计算机系统90上存储作为基于基础备份映像300的增量备份映像302的链的备份映像。在一些实施例中,从虚拟计算机400的创建的新的备份映像也可以被存储为基于基础备份映像300的增量备份映像302。例如,在图7的例子中,可以从增量备份映像302D实例化虚拟计算机400。当从虚拟计算机400创建新的备份映像时,新的备份映像可以被创建为基于增量备份映像302D的增量备份映像302E,如图10所示。
在其他实施例中,可以在服务器计算机系统90上将从虚拟计算机400创建的新的备份映像存储为独立备份映像。例如,图11示出了图8中的例子,其中新的独立备份映像300F已经从虚拟计算机400被创建并被存储到服务器计算机系统90上。
如图6的箭头7所示,从虚拟计算机400创建的新的备份映像可以被传送到并应用于用户计算机系统80。例如,服务器计算机系统90上的映像管理服务软件207可以于用户计算机系统80上的映像管理客户端软件205进行通信,以向用户计算机系统80发送新的备份映像。响应于接收到新的备份映像,映像管理客户端软件205可以将新的备份映像应用于用户计算机系统80。应用新的备份映像到用户计算机系统80可以包括,根据新的备份映像更新用户计算机系统80,例如,通过如新的备份映像指定,修改用户计算机系统80的一个或多个存储设备125上存储的信息。
应用新的备份映像到用户计算机系统80可以使用户计算机系统80处于与新的备份映像被创建时的虚拟计算机400的状态对应的状态,即,虚拟计算机400的修改状态。例如,用户计算机系统80上的存储设备125可以实现文件系统,其中文件系统在虚拟计算机400上被重构,以及其中虚拟计算机400的修改状态包括文件系统的修改状态。因而,应用新的备份映像到用户计算机系统80可以自动地将存储设备125上的文件系统改变为虚拟计算机400上的文件系统的修改状态。
例如,如果新文件被增加到虚拟计算机400上的文件系统中,那么当新的备份映像应用于用户计算机系统80时,新文件可以被自动地增加到用户计算机系统80的存储设备125上的文件系统中。类似地,如果虚拟计算机400上的文件系统中的文件被修改,那么当新的备份映像应用于用户计算机系统80时,可以以相同的方式自动地修改用户计算机系统80的存储设备125上的对应文件。类似地,如果虚拟计算机400上的文件系统中的文件被删除,那么当新的备份映像应用于用户计算机系统80时,可以自动地删除用户计算机系统80的存储设备125上的对应文件。
如另一个例子所示,可以在用户计算机系统80上安装软件应用程序,其中在虚拟计算机400上重构软件应用程序,以及其中虚拟计算机400的修改状态包括软件应用程序的修改状态。因而,应用新的备份映像到用户计算机系统80可以自动将用户计算机系统80上的软件应用程序改变为虚拟计算机400上的软件应用程序的修改状态。
在一些实施例中,从虚拟计算机400创建的备份映像可以响应于用户请求,被从服务器计算机系统90传送到并应用于用户计算机系统80。例如,在客户端访问计算机系统82上与虚拟计算机400进行交互以后,用户可以随后返回用户计算机系统80,并登录到服务器计算机系统90,且请求新的备份映像被传送到并应用于用户计算机系统80。
在其他实施例中,用户可以不需要手动连接到服务器计算机系统90并请求将从虚拟计算机400创建的备份映像传送到并应用于用户计算机系统80。例如,在一些实施例中,服务器计算机系统90可以自动与用户计算机系统80进行通信,以通知用户计算机系统80新的备份映像已经在服务器计算机系统90上被创建,并且新的备份映像可以被自动传送到并应用于用户计算机系统80。在其他实施例中,用户计算机系统80可以自动检测或被通知新的备份映像已经在服务器计算机系统90上被创建的事实,但用户计算机系统80可以在进行自动备份前首先向用户提示询问,他是否要将新的备份映像应用到用户计算机系统80。
尽管上文使用将从虚拟计算机400创建的新的备份镜传送到并应用于用户计算机系统80的术语,描述了本发明的方法,在其他实施例中,新的备份映像可以被传送到并应用于除用户计算机系统80以外的一个或多个物理计算机系统。因而,例如,如果用户的原始计算机系统80丢失或损坏,用户可以获取新的计算机系统,而且通过将从服务器计算机系统90的该备份映像传送到并应用于新的计算机系统,新的计算机系统被自动配置为由从虚拟计算机400创建的备份映像指示的状态。
应当注意,各种实施例还可以包括在计算机可访问存储介质上,接收、发送或存储根据上文描述实现的指令和/或数据。一般来说,计算机可访问存储介质可以包括用于向计算机提供指令和/或数据期间可由计算机访问的任何存储介质。例如,计算机可访问存储介质可以包括存储介质,例如,磁性或光学介质(如固定的或可移动磁盘)、磁带、CD-ROM、DVD-ROM、CD-R、CD-RW、DVD-R、DVD-RW等。存储介质还可以包括易失性或非易失性存储介质,例如,RAM(如同步动态RAM(SDRAM)、总线式动态随机存储器(RDRAM)、静态RAM(SRAM)等)、ROM、闪存、通过如通用总线接口(USB)的外设接口可访问的非易失性存储器(如闪存)等。在一些实施例中,计算机可以通过如网络和/或无线链路的通信装置访问存储介质。
尽管相当详细地描述了上文的实施例,但是当上述公开被完全理解时,大量的变化和修改对本领域技术人员将是显而易见的。下文的权利要求意在被解释为包括所有这些变化和修改。

Claims (20)

1.一种存储用于实现一种方法的可执行程序指令的计算机可访问存储介质,所述方法包括:
在服务器计算机系统上存储第一物理计算机系统的第一备份映像,其中所述第一备份映像指定所述第一物理计算机系统的第一状态;
响应于访问所述第一物理计算机系统的虚拟表示的请求,从存储在所述服务器计算机系统上的所述第一备份映像,实例化虚拟计算机;
响应于用户对所述虚拟计算机的输入,修改所述虚拟计算机的状态;
在所述服务器计算机系统上存储所述虚拟计算机的第二备份映像,其中所述第二备份映像指定所述虚拟计算机的所述修改状态;以及
从所述服务器计算机系统将所述第二备份映像传送到并应用于所述第一物理计算机系统。
2.根据权利要求1的计算机可访问存储介质,
其中应用所述第二备份映像到所述第一物理计算机系统,使所述第一物理计算机系统处于与所述虚拟计算机的所述修改状态对应的第二状态。
3.根据权利要求1的计算机可访问存储介质,
其中所述第一物理计算机系统的所述第一状态包括所述第一物理计算机系统的文件系统的状态;
其中所述虚拟计算机的所述修改状态包括所述文件系统的修改状态;以及
其中应用所述第二备份映像到所述第一物理计算机系统,将所述第一物理计算机系统的所述文件系统改变为所述文件系统的所述修改状态。
4.根据权利要求1的计算机可访问存储介质,
其中所述第一物理计算机系统的所述第一状态包括所述第一物理计算机系统上的软件应用程序的状态;
其中所述虚拟计算机的所述修改状态包括所述软件应用程序的修改状态;以及
其中应用所述第二备份映像到所述第一物理计算机系统,将所述第一物理计算机系统上的所述软件应用程序改变为所述软件应用程序的所述修改状态。
5.根据权利要求1的计算机可访问存储介质,
其中从第二物理计算机系统接收访问所述第一物理计算机系统的所述虚拟表示的所述请求;
其中所述程序指令实现的所述方法还包括所述服务器计算机系统与所述第二物理计算机系统进行通信,以提供能够访问所述虚拟计算机的所述第二物理计算机系统;
其中所述服务器计算机系统从所述第二物理计算机系统接收用户对所述虚拟计算机的所述输入。
6.根据权利要求5的计算机可访问存储介质,
其中所述第二物理计算机系统执行网络浏览器程序;
其中所述服务器计算机系统与所述第二物理计算机系统上的所述网络浏览器程序进行通信,以提供能够访问所述虚拟计算机的所述第二物理计算机系统;以及
其中所述服务器计算机系统从所述第二物理计算机系统上的所述网络浏览器程序,接收用户对所述虚拟计算机的所述输入。
7.根据权利要求1的计算机可访问存储介质,其中所述程序指令实现的所述方法还包括:
在实例化所述虚拟计算机之前,在所述服务器计算机系统上存储除了所述第一备份映像以外的所述第一物理计算机系统的一个或多个附加的备份映像;以及
接收从所述第一备份映像和所述一个或多个附加的备份映像中选择所述第一备份映像的用户输入;
其中响应于选择所述第一备份映像的所述用户输入,从所述第一备份映像实例化所述虚拟计算机。
8.根据权利要求7的计算机可访问存储介质,其中所述程序指令实现的所述方法还包括:
在第二物理计算机系统上显示指示所述第一备份映像和所述一个或多个附加备份映像的用户界面;
其中所述接收选择所述第一备份映像的用户输入包括,响应于用户从所述第二物理计算机系统上的所述用户界面选择所述第一备份映像接收所述用户输入。
9.根据权利要求1的计算机可访问存储介质,
其中所述第一备份映像包括第一一个或多个文件;
其中从所述第一备份映像实例化所述虚拟计算机包括:
将所述第一备份映像的所述一个或多个文件转换为第二一个或多个文件,其中所述第二一个或多个文件具有根据虚拟计算机格式的格式;以及
从所述第二一个或多个文件实例化所述虚拟计算机。
10.根据权利要求1的计算机可访问存储介质,其中所述程序指令实现的所述方法还包括:
创建表示所述虚拟计算机的一个或多个文件;
其中存储所述虚拟计算机的所述第二备份映像包括:
将表示所述虚拟计算机的所述一个或多个文件转换为根据物理设备的备份格式的第二一个或多个文件格式;以及
存储所述第二一个或多个文件,其中所述第二备份映像包括所述第二一个或多个文件。
11.根据权利要求1的计算机可访问存储介质,
其中所述虚拟计算机的所述第二备份映像包括基于所述第一备份映像的增量备份映像。
12.根据权利要求1的计算机可访问存储介质,
其中所述虚拟计算机的所述第二备份映像包括不基于另一个备份映像的独立备份映像。
13.根据权利要求1的计算机可访问存储介质,
其中所述第一备份映像包括下列内容中的一个或多个:
所述第一物理计算机系统的操作系统信息;
所述第一物理计算机系统的设备驱动器信息;以及
表示安装在所述第一物理计算机系统上的一个或多个软件应用程序的信息。
14.根据权利要求1的计算机可访问存储介质,其中所述程序指令实现的所述方法还包括:
将所述第二备份映像从所述服务器计算机系统传送到并应用于第二物理计算机系统。
15.一种系统,包括:
一个或多个处理器;
存储程序指令的存储器;以及
一个或多个存储设备;
其中所述程序指令可由所述一个或多个处理器执行以实现一种方法,所述方法包括:
将第一物理计算机系统的第一备份映像存储到所述一个或多个存储设备上,其中所述第一备份映像指定所述第一物理计算机系统的第一状态;
响应于访问所述第一物理计算机系统的虚拟表示的请求,从所述第一备份映像实例化虚拟计算机;
响应于用户对所述虚拟计算机的所述输入,修改所述虚拟计算机的状态;
在所述一个或多个存储设备上存储所述虚拟计算机的第二备份映像,其中所述第二备份映像指定所述虚拟计算机的所述修改状态;以及
从所述一个或多个存储设备将所述第二备份映像传送到并应用于所述第一物理计算机系统。
16.根据权利要求15的系统,
其中应用所述第二备份映像到所述第一物理计算机系统,使所述第一物理计算机系统处于与所述虚拟计算机的所述修改状态对应的第二状态。
17.根据权利要求15的系统,
其中所述方法包括从第二物理计算机系统接收访问所述第一物理计算机系统的所述虚拟表示的所述请求;
其中所述服务器计算机系统可操作用于与所述第二物理计算机系统进行通信,以提供能够访问所述虚拟计算机的所述第二物理计算机系统;以及
其中所述服务器计算机系统从所述第二物理计算机系统接收用户对所述虚拟计算机的所述输入。
18.一种方法,包括:
在服务器计算机系统上存储第一物理计算机系统的第一备份映像,其中所述第一备份映像指定所述第一物理计算机系统的第一状态;
响应于访问所述第一物理计算机系统的虚拟表示的请求,从所述服务器计算机系统上的所述第一备份映像,实例化虚拟计算机;
响应于用户对所述虚拟计算机的输入,修改所述虚拟计算机的状态;
将所述虚拟计算机的第二备份映像存储在所述服务器计算机系统上,其中所述第二备份映像指定所述虚拟计算机的所述修改状态;以及
将所述第二备份映像从所述服务器计算机系统传送到并应用于所述第一物理计算机系统。
19.根据权利要求18的方法,
其中应用所述第二备份映像到所述第一物理计算机系统,使所述第一物理计算机系统处于与所述虚拟计算机的所述修改状态对应的第二状态。
20.根据权利要求18的方法,
其中从第二物理计算机系统接收访问所述第一物理计算机系统的所述虚拟表示的所述请求;
其中所述服务器计算机系统与所述第二物理计算机系统进行通信,以提供能够访问所述虚拟计算机的所述第二物理计算机系统;以及
其中所述服务器计算机系统从所述第二物理计算机系统接收用户对所述虚拟计算机的所述输入。
CN200810133464.4A 2007-08-24 2008-07-25 对物理计算机系统的虚拟表示的按需访问 Expired - Fee Related CN101374146B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/844,649 US8166476B2 (en) 2007-08-24 2007-08-24 On-demand access to a virtual representation of a physical computer system
US11/844,649 2007-08-24

Publications (2)

Publication Number Publication Date
CN101374146A true CN101374146A (zh) 2009-02-25
CN101374146B CN101374146B (zh) 2013-08-14

Family

ID=40263589

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810133464.4A Expired - Fee Related CN101374146B (zh) 2007-08-24 2008-07-25 对物理计算机系统的虚拟表示的按需访问

Country Status (4)

Country Link
US (1) US8166476B2 (zh)
EP (1) EP2040161A1 (zh)
JP (1) JP5350712B2 (zh)
CN (1) CN101374146B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103218276A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 多节点增量备份的方法及系统
CN103389910A (zh) * 2013-07-18 2013-11-13 百度在线网络技术(北京)有限公司 构建虚拟机的方法、虚拟机的管理方法及其装置
CN103577210A (zh) * 2012-08-06 2014-02-12 广州三星通信技术研究有限公司 移动终端之间挂载的系统和方法
CN104035841A (zh) * 2014-06-13 2014-09-10 浪潮(北京)电子信息产业有限公司 虚拟桌面数据备份和恢复方法及装置
CN105430043A (zh) * 2015-10-29 2016-03-23 贵州电网有限责任公司电力调度控制中心 一种面向虚拟化实例的启动配置实施方法
CN109643281A (zh) * 2016-03-11 2019-04-16 赛博算机公司 数据加密和解密的系统和方法
CN109885431A (zh) * 2019-03-06 2019-06-14 北京百度网讯科技有限公司 用于备份数据的方法和装置

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7487383B2 (en) 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process
US9015520B2 (en) * 2006-06-29 2015-04-21 Dssdr, Llc Data transfer and recovery
US8990613B2 (en) * 2006-06-29 2015-03-24 Dssdr, Llc Data transfer and recovery
US7805631B2 (en) * 2007-05-03 2010-09-28 Microsoft Corporation Bare metal recovery from backup media to virtual machine
US8775577B1 (en) 2007-12-18 2014-07-08 Amazon Technologies, Inc. System and method for configuration management service
US8392539B1 (en) * 2008-03-19 2013-03-05 Trend Micro, Inc. Operating system banking and portability
US20090328036A1 (en) * 2008-06-27 2009-12-31 Oqo, Inc. Selection of virtual computing resources using hardware model presentations
US20090327495A1 (en) * 2008-06-27 2009-12-31 Oqo, Inc. Computing with local and remote resources using automated optimization
US9880891B2 (en) * 2008-09-30 2018-01-30 Hewlett-Packard Development Company, L.P. Assignment and failover of resources
CN101408856A (zh) * 2008-11-21 2009-04-15 清华大学 一种用于容灾备份的系统和方法
CN102012789B (zh) * 2009-09-07 2014-03-12 云端容灾有限公司 集中管理式备份容灾系统
JP2011060023A (ja) * 2009-09-10 2011-03-24 Bsn Net:Kk バックアップシステム
US9733886B2 (en) 2009-11-24 2017-08-15 Clearslide, Inc. Method and system for browser-based screen sharing
US10860279B2 (en) 2009-11-24 2020-12-08 Clearslide, Inc. Method and system for browser-based screen sharing
US8103906B1 (en) * 2010-10-01 2012-01-24 Massoud Alibakhsh System and method for providing total real-time redundancy for a plurality of client-server systems
US9105009B2 (en) 2011-03-21 2015-08-11 Microsoft Technology Licensing, Llc Email-based automated recovery action in a hosted environment
WO2012166827A2 (en) * 2011-05-30 2012-12-06 Clearslide, Inc. Method and system for browser-based control of a remote computer
US8782472B2 (en) * 2011-10-28 2014-07-15 Dell Products L.P. Troubleshooting system using device snapshots
US8839257B2 (en) 2011-11-22 2014-09-16 Microsoft Corporation Superseding of recovery actions based on aggregation of requests for automated sequencing and cancellation
US9460303B2 (en) 2012-03-06 2016-10-04 Microsoft Technology Licensing, Llc Operating large scale systems and cloud services with zero-standing elevated permissions
KR101440186B1 (ko) * 2012-03-16 2014-09-12 주식회사 엘지유플러스 데이터이관 시스템 및 그 이관방법
US10044522B1 (en) 2012-08-21 2018-08-07 Amazon Technologies Inc. Tree-oriented configuration management service
US8881249B2 (en) 2012-12-12 2014-11-04 Microsoft Corporation Scalable and automated secret management
US20150127770A1 (en) * 2013-11-06 2015-05-07 Pax8, Inc. Distributed Cloud Disk Service Provisioning and Management
US9557932B1 (en) * 2013-11-26 2017-01-31 EMC IP Holding Company LLC Method and system for discovering snapshot information based on storage arrays
JP6427910B2 (ja) * 2014-03-26 2018-11-28 日本電気株式会社 保守環境提供システム、保守環境提供装置、保守環境提供方法、及び、そのプログラム
US9762585B2 (en) 2015-03-19 2017-09-12 Microsoft Technology Licensing, Llc Tenant lockbox
US10931682B2 (en) 2015-06-30 2021-02-23 Microsoft Technology Licensing, Llc Privileged identity management
JP7217084B2 (ja) 2017-01-30 2023-02-02 王子ホールディングス株式会社 吸収性物品のパッケージ

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002003220A2 (en) * 2000-07-05 2002-01-10 Ernst & Young Llp Method and apparatus for providing computer services
US7099948B2 (en) * 2001-02-16 2006-08-29 Swsoft Holdings, Ltd. Virtual computing environment
US7346623B2 (en) * 2001-09-28 2008-03-18 Commvault Systems, Inc. System and method for generating and managing quick recovery volumes
US7299304B2 (en) * 2001-11-20 2007-11-20 Intel Corporation Method and architecture to support interaction between a host computer and remote devices
US7467167B2 (en) * 2002-03-19 2008-12-16 Network Appliance, Inc. System and method for coalescing a plurality of snapshots
US7162628B2 (en) * 2002-07-23 2007-01-09 Cisco Technology, Inc. Method, system, apparatus and program product for temporary personalization of a computer terminal
US7127491B2 (en) * 2002-07-23 2006-10-24 Canon Kabushiki Kaisha Remote command server
US7146640B2 (en) * 2002-09-05 2006-12-05 Exobox Technologies Corp. Personal computer internet security system
CN1416062A (zh) * 2002-10-31 2003-05-07 李洪宝 一种计算机网络上存储介质资源的聚集方法
US20040254964A1 (en) * 2003-06-12 2004-12-16 Shoji Kodama Data replication with rollback
US7769720B2 (en) * 2004-06-16 2010-08-03 Hewlett-Packard Development Company, L.P. Systems and methods for migrating a server from one physical platform to a different physical platform
JP4613598B2 (ja) * 2004-12-10 2011-01-19 株式会社日立製作所 ディスクシステム
US7591014B2 (en) * 2005-03-04 2009-09-15 Microsoft Corporation Program authentication on environment
CA2954888C (en) * 2005-06-24 2019-06-04 Catalogic Software, Inc. System and method for high performance enterprise data protection
US7487383B2 (en) * 2006-06-29 2009-02-03 Dssdr, Llc Data transfer and recovery process

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103577210A (zh) * 2012-08-06 2014-02-12 广州三星通信技术研究有限公司 移动终端之间挂载的系统和方法
CN103218276A (zh) * 2013-04-23 2013-07-24 深圳市京华科讯科技有限公司 多节点增量备份的方法及系统
CN103389910A (zh) * 2013-07-18 2013-11-13 百度在线网络技术(北京)有限公司 构建虚拟机的方法、虚拟机的管理方法及其装置
CN103389910B (zh) * 2013-07-18 2016-03-30 百度在线网络技术(北京)有限公司 构建虚拟机的方法、虚拟机的管理方法及其装置
CN104035841A (zh) * 2014-06-13 2014-09-10 浪潮(北京)电子信息产业有限公司 虚拟桌面数据备份和恢复方法及装置
CN105430043A (zh) * 2015-10-29 2016-03-23 贵州电网有限责任公司电力调度控制中心 一种面向虚拟化实例的启动配置实施方法
CN105430043B (zh) * 2015-10-29 2019-04-16 贵州电网有限责任公司电力调度控制中心 一种面向虚拟化实例的启动配置实施方法
CN109643281A (zh) * 2016-03-11 2019-04-16 赛博算机公司 数据加密和解密的系统和方法
CN109885431A (zh) * 2019-03-06 2019-06-14 北京百度网讯科技有限公司 用于备份数据的方法和装置

Also Published As

Publication number Publication date
US8166476B2 (en) 2012-04-24
CN101374146B (zh) 2013-08-14
US20090055822A1 (en) 2009-02-26
EP2040161A1 (en) 2009-03-25
JP5350712B2 (ja) 2013-11-27
JP2009054152A (ja) 2009-03-12

Similar Documents

Publication Publication Date Title
CN101374146B (zh) 对物理计算机系统的虚拟表示的按需访问
CN100458789C (zh) 用于交换门户组件配置数据的方法和系统
CN101299754B (zh) 具有动态用户界面的终端用户控制配置系统
CN101438261B (zh) 执行逐步升级的方法及系统
CN101136938B (zh) 一种移动互联网应用的集中式管理方法和平台系统
CN101939736B (zh) 远程计算设备的开发富互联网应用的系统和方法
US9344479B2 (en) Real-time, customized embedding of specific content into local webserver pages
CN101802808B (zh) 从脚本和其他编程环境访问设备主存的服务
CN101472140B (zh) 一种多媒体分发点播系统
CN101388797B (zh) 一种在网管系统中实现权限控制的方法和一种网管系统
CN101378400A (zh) 实现桌面应用和Web应用聚合的方法、服务器和系统
US20060179126A1 (en) Remote downloading system, managing apparatus, data receiving apparatus, operation apparatus, information processing apparatus and computer readable information recording medium
CN101796752A (zh) 无限企业平台
CN105631642A (zh) 展示过程流以及作为万维网服务的安排控制器
CN101981557A (zh) 计算环境表示
CN101159764A (zh) 一种访问移动业务门户数据的方法和系统
JP2004507818A (ja) オンラインサービスを作成するためのシステムおよび方法
US20050038869A1 (en) Business portal API
CN1307565C (zh) 用于能够对专用网络资源进行访问的输出管理系统和方法
CN101073056A (zh) 程序取得执行装置、程序取得执行方法、程序取得执行程序记录媒体及程序取得执行程序
WO2010127552A1 (zh) 面向服务的应用系统及其通信方法、创建器和创建方法
JP2006190008A (ja) データ連携装置及びデータ連携方法
CN103597452A (zh) 灾难数据中心中的爬行新鲜度
CN104008436A (zh) 一种内容管理集成方法和系统
US20020143904A1 (en) Rapid network deployment

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

Termination date: 20170725