首页> 中国专利> 对物理计算机系统的虚拟表示的按需访问

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

摘要

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

著录项

  • 公开/公告号CN101374146A

    专利类型发明专利

  • 公开/公告日2009-02-25

    原文格式PDF

  • 申请/专利权人 赛门铁克公司;

    申请/专利号CN200810133464.4

  • 申请日2008-07-25

  • 分类号

  • 代理机构中国国际贸易促进委员会专利商标事务所;

  • 代理人李向英

  • 地址 美国加利福尼亚

  • 入库时间 2023-12-17 21:27:57

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-08-17

    未缴年费专利权终止 IPC(主分类):H04L29/06 授权公告日:20130814 终止日期:20170725 申请日:20080725

    专利权的终止

  • 2013-08-14

    授权

    授权

  • 2010-10-06

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20080725

    实质审查的生效

  • 2009-02-25

    公开

    公开

说明书

技术领域

本发明涉及虚拟计算和联网计算机系统领域。更具体地说,本发明涉及对物理计算机系统的虚拟表示的按需远程访问的系统和方法。

背景技术

用户通常有一个或多个的个人计算机系统,用于运行各种软件应用程序及管理各种类型的信息,例如,用于商用和/或个人使用。计算机系统的例子包括台式计算机系统、膝上型计算机系统或如个人数字助理(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)的外设接口可访问的非易失性存储器(如闪存)等。在一些实施例中,计算机可以通过如网络和/或无线链路的通信装置访问存储介质。

尽管相当详细地描述了上文的实施例,但是当上述公开被完全理解时,大量的变化和修改对本领域技术人员将是显而易见的。下文的权利要求意在被解释为包括所有这些变化和修改。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号