使用虚拟机来管理共享数据的制作方法

文档序号:6352465阅读:211来源:国知局
专利名称:使用虚拟机来管理共享数据的制作方法
使用虚拟机来管理共享数据背景技术
在一些情况下,期望电子设备运行多个操作系统。例如,一些软件程序可能局限于在特定操作系统上操作,并且其他软件程序可能局限于在不同的操作系统上操作。单独操作环境可能是期望的,以将功能分离,诸如运行相同类型的操作系统中的两个,其中,每个被用于不同的目的。例如,一个操作系统可以用于工作用途且另一个可以用于私人用途。电子设备的软件实施方式、诸如虚拟机可以用来运行操作系统。为了允许多个操作系统在电子设备上运行,多个虚拟机可以在电子设备上执行,其中,每个虚拟机与不同的操作系统相关联。


在附图中,相同的附图标记指示相同的部件或块。附图描述示例实施例。图中所示的步骤可以按照任何顺序执行。以下详细描述参考附图,在附图中: 图1是图示出计算系统的一个示例的方框图。
图2是图示出虚拟机配置的一个示例的方框图。
图3是图示出用于使用虚拟机来管理共享数据的方法的一个示例的流程图。
图4是图示出计算系统的一个示例的方框图。
图5是图示出计算系统的一个示例的方框图。
图6是图示出使用虚拟机来管理共享数据的一个示例的方框图。
具体实施方式
虚拟机可以用来允许电子设备运行多个操作系统。例如,处理器可以运行第一虚拟机以运行第一操作系统环境并运行第二虚拟机以运行第二操作系统环境,诸如不同的操作系统或第一操作系统的单独实施方式。在一些实施方式中,每个虚拟机可以具有其自己的存储设备或为其分配的存储设备的一部分以便存储与特定虚拟机有关的数据。在一些情况下,可能期望跨多个虚拟机共享数据。例如,用户可以具有虚拟机上的音乐下载软件以用于电子设备上的私人用途,并且用户可以具有电子设备上的第二虚拟机以供工作用途。用户可能想要从虚拟机下载音乐以供私人用途,但是可能想要下载的音乐在专用于私人用途的虚拟机和专用于工作用途的虚拟机两者上都可用。
一些虚拟机实施方式允许数据在电子设备上的隔离虚拟机之间被共享。例如,可以将与第一虚拟机相关联的数据存储映射到单独的数据存储或与第二虚拟机相关联的数据存储的一部分。此类系统可能涉及复杂的程序以使单独存储器之间的数据同步。另外,由于多个虚拟机正在访问数据,所以诸如加密或备份功能的任何数据处理可以涉及进一步的同步。例如,如果虚拟机中的一个将存储数据加密,则可以将解密密钥发送到另一虚拟机以便在访问加密数据时使用。在一些情况下,通过将数据存储在共享数据储存库中来在虚拟机之间共享数据,诸如在经由网络可访问的远程储存库中或在与电子设备相关联的共享储存器上,诸如共享通用串行总线(USB)驱动器。再次地,由于两个虚拟机都不对该数据负责,所以该配置可以涉及用于应执行数据处理功能的时间和方式以及哪个虚拟机应执行每个过程的复杂的同步。
在一个实施例中,管理虚拟机存储并管理用于在电子设备上运行的其他虚拟机的共享数据。例如,管理虚拟机可以存储从第二虚拟机接收到的数据,并且可以检索该数据,从而发送到在电子设备上执行的第二虚拟机或第三虚拟机。管理虚拟机可以管理存储数据,使得其被独立于存储或访问该数据的虚拟机进行管理。例如,管理虚拟机可以执行数据处理服务,诸如同步、加密以及数据备份,使得其他虚拟机不会请求这些过程,并且不知道这些过程正在被执行。
使用管理虚拟机来管理数据允许将数据管理功能从与管理虚拟机通信的单独虚拟机分离以存储和访问数据。通过将存储数据和与存储数据相关联的数据处理两者从其他虚拟机分离,此类系统允许更高效的数据管理。例如,存储数据可以被管理虚拟机备份而不是被多个虚拟机备份。此类系统可以允许在没有虚拟机之间的通信的情况下管理数据以使过程同步,诸如与哪个虚拟机应执行过程和其是否被执行有关的通信。管理分开地来自每个单独虚拟机的数据使得存储数据更加可传送到不同的平台,因为数据在一些情况下可能被存储在单个位置中。管理虚拟机本身可以移动至不同的电子设备,允许数据管理功能与数据一起移动。另外,将数据管理功能合并到管理虚拟机可以使得更容易更新数据管理策略。例如,为了更新其中备份的数据,可以在并不同样更新其他虚拟机处理数据的方式的情况下更新管理虚拟机。
图1是图示出计算系统100的一个示例的方框图。计算系统100可以包括例如储存器104、处理器106以及机器可读存储介质108。储存器104可以是任何适当的储存器,诸如易失性或非易失性存储器。储存器104可以是例如硬盘驱动器、随机存取存储器或闪速驱动器。储存器104可以用来存储从虚拟机接收到的数据,并且可以从储存器104检索数据以发送到虚拟机。
机器可读存储介质108可以是存储可执行指令或其他数据的任何电子、磁、光学或其他物理存储设备(例如,硬盘驱动器、随机存取存储器、闪速存储器等)。在一个实施方式中,将机器可读存储介质108和储存器104组合成同一储存器。机器可读存储介质108可以包括可由处理器106执行的指令,诸如与虚拟机相关联的指令。机器可读存储介质108可以包括用于任何数目的虚拟机的指令。例如,机器可读存储介质108可以包括与管理虚拟机110和第二虚拟机112相关联的指令。在一个实施方式中,机器可读存储介质108包括用于附加虚拟机的指令。例如,电子设备102可以通过执行与第二虚拟机112相关联的指令来运行第一操作系统并通过执行与不同虚拟机相关联的指令来运行第二操作系统。
管理虚拟机110和第二虚拟机112可以是任何适当的虚拟装置。在一个实施方式中,可以执行用于第二虚拟机112和管理虚拟机110两者的指令。例如,用户与第二虚拟机112相交互,并且管理虚拟机110可以被后台执行以管理用于第二虚拟机112的数据。在一个实施方式中,管理虚拟机110除存储访问以及管理存储在储存器104中的数据之外还执行其他功能。
机器可读存储介质108可以包括与管理虚拟机110相关联的指令以管理数据。例如,机器可读存储介质108可以包括与管理虚拟机110相关联的指令以从在处理器106上执行的另一虚拟机接收数据,存储数据并独立于在处理器106上执行的其他虚拟机而控制存储数据,其中,控制存储数据包括在未意识到在处理器106上执行的其他虚拟机的情况下对数据执行数据处理活动。管理虚拟机110还可以包括访问存储数据并将被访问数据传输到在处理器106上执行的另一虚拟机的指令。
处理器106可以是任何适当的处理器。例如,处理器106可以是一个或多个中央处理单元(CPU)、基于半导体的微处理器和/或适合于存储在机器可读存储介质108中的指令的检索和执行的其他设备。处理器106可以获取存储在机器可读存储介质108中的指令、将其解码并执行以实现下面详细地描述的功能。作为获取、解码以及执行指令的替换或除此之外,处理器106可以包括一个或多个集成电路(IC)或包括用于执行下述功能的多个电子部件的其他电子电路。在一个实施方式中,处理器106能够运行多个虚拟机。例如,处理器106可以使用第二虚拟机112来引导第一操作系统。处理器106可以终止第一操作系统并使用另一虚拟机来引导第二操作系统。在一个实施方式中,处理器106执行管理虚拟机110以在诸如第二虚拟机112的另一虚拟机正在执行的同时管理数据。
图2是图示出虚拟机配置200的一个示例的方框图。虚拟机配置200可以包括与储存器104通信的管理虚拟机110。管理虚拟机110还可以与其他虚拟机、诸如第二虚拟机112和第三虚拟机202通信,以存储数据并将数据发送到在处理器106上执行的其他虚拟机。管理虚拟机110可以与在处理器106上运行的任何数目的虚拟机通信。在一些情况下,管理虚拟机110管理用于能够在处理器106上执行的虚拟机的子集的数据。处理器106可以运行多个管理虚拟机,其中,每个管理虚拟机管理用于其他虚拟机的子集的数据。在一个实施方式中,第二虚拟机112和第三虚拟机202可以使用管理虚拟机110来存储共享信息,或者可以共享信息以可用于特定虚拟机。例如,可以为用户呈现将信息存储在共享储存器中或专用于特定虚拟机操作系统的储存器或储存器部分中的选项。
图3是图示出用于使用虚拟机来管理共享数据的方法300的一个示例的流程图。管理虚拟机110可以存储和检索数据并管理存储数据。例如,管理虚拟机110可以从第三虚拟机202接收数据以便存储在储存器104中。第二虚拟机112或第三虚拟机202然后可以与管理虚拟机110通信以从储存器104检索存储数据。
在一些情况下,管理虚拟机110可以管理储存器104中的数据。例如,管理虚拟机110可以执行数据处理服务,诸如对存储在储存器104中的数据进行加密、同步或备份。管理虚拟机Iio可以在没有第二虚拟机112和第三虚拟机202的知识的情况下管理数据。例如,其他虚拟机可以不请求数据处理服务,或者可以不知道细节。
在方框302处开始并移动至方框304,管理虚拟机110从在处理器106上执行的另一虚拟机接收数据。管理虚拟机Iio可以从任何适当的虚拟机接收数据,诸如第二虚拟机112或第三虚拟机202。管理虚拟机110可以从第二虚拟机112接收一些数据以用于存储并从第三虚拟机202接收一些数据以便存储在储存器104中。接收的数据可以是任何适当数据。例如,数据可以是音乐、视频、文字处理或图像文件。管理虚拟机110可以以任何适当的方式接收数据,诸如经由网络或直接通信接口。
移动至方框306,管理虚拟机110将数据诸如存储在储存器104中。管理虚拟机110可以以任何适当方式来存储数据。在一个实施方式中,管理虚拟机110管理数据,使得其他虚拟机不知道其中存储有数据的储存器104中的位置。例如,管理虚拟机110可以存储映射以与其中在其他虚拟机看起来存储了数据的位置相比映射其中实际上存储数据的位置。该映射可以允许管理虚拟机Iio移动储存器104中的数据,从而在没有访问数据的其他虚拟机的知识的情况下对数据整理碎片。
继续至方框308,管理虚拟机110独立于在处理器106上执行的其他虚拟机的存储数据。例如,处理器106可以执行与管理虚拟机110相关联的指令以管理存储数据。控制存储数据可以包括例如确定哪里将存储数据并在储存器104中检索数据。在一个实施方式中,管理存储数据包括在没有在处理器106上执行的其他虚拟机的知识的情况下对数据执行数据处理服务。例如,管理虚拟机110可以在没有来自另一虚拟机的请求的情况下发起数据处理服务,并且另一虚拟机可以不知道该数据处理服务。可以在任何点处执行该数据处理服务,诸如在将数据存储在储存器104中之前、从储存器104检索数据以发送到虚拟机之后或者在正在由另一虚拟机执行与数据存储无关的其他活动的同时。管理虚拟机110可以执行任何适当的数据处理服务,诸如与对数据进行同步、备份、碎片整理或保证安全有关的数据处理活动。
管理虚拟机110可以执行与保证存储在储存器104中的数据的安全有关的数据处理服务。例如,管理虚拟机Iio可以管理用于数据的加密,诸如在将数据存储在储存器104中之前将数据加密并在从数据发送到另一虚拟机之前在从储存器104检索数据之后将数据解密。管理虚拟机110可以保持关于加密和解密密钥及关于哪些项目将加密的信息。在一个实施方式中,管理虚拟机110在数据被删除时将数据从储存器104安全擦除以提供更高的安全性。例如,第二虚拟机112可以向管理虚拟机110发送信息以删除存储在储存器104中的特定数据片,并且管理虚拟机110可以确定该数据应被安全地擦除。管理虚拟机110可以执行安全扫描,诸如对存储数据的病毒扫描。管理虚拟机110可以执行例如索引服务和性能最优化,诸如用于存储在储存器104中和从储存器104检索的数据的预读和回写高速缓存。
在一个实施方式中,管理虚拟机110执行与对存储在储存器104中的数据进行备份有关的数据处理服务。例如,管理虚拟机110可以确定何时对数据进行备份或数据备份位置。管理虚拟机110可以确定应对储存器104中的哪些数据进行备份。管理虚拟机110可以周期性地对数据进行备份,例如通过经由网络将数据发送到远程存储位置,或者可以在将数据存储在储存器104中之后对其进行备份。
在一个实施方式中,管理虚拟机110执行与对存储在储存器104中的数据进行同步有关的数据处理服务。例如,管理虚拟机110可以使数据与远程存储位置同步以确定应对哪些信息进行备份。管理虚拟机110可以使虚拟机之间的数据同步。例如,管理虚拟机110可以从虚拟机接收对于其他虚拟机或其他虚拟机的子集而言不应可访问的数据。管理虚拟机110可以接收指示数据将被删除的信息,使得其不再是特定虚拟机可访问的,但是仍是其他虚拟机可访问的。
在一个实施方式中,虚拟机110基于与数据相关联的虚拟机来执行数据处理,诸如存储或检索数据的虚拟机。例如,管理虚拟机Iio可以对从特定虚拟机接收到的数据进行加密,诸如第二虚拟机112,其中,从其他虚拟机接收到的数据未被加密,或者管理虚拟机可以对从特定虚拟机接收到的数据使用更强的加密方法或专有加密方法。作为另一示例,管理虚拟机110可以将实时编索引用于从第二虚拟机112接收到的数据且不将编索引用于从第三虚拟机202接收到的数据。管理虚拟机110可以基于例如哪个虚拟机将数据发送到管理虚拟机Iio以用于存储来确定储存器104中的哪些数据与特定虚拟机相关联。
图4是图示出计算系统400的一个示例的方框图。计算系统400包括电子设备102,其具有处理器106和包括与管理虚拟机110、第二虚拟机112以及第三虚拟机202相关联的指令的机器可读存储介质108。储存器104包括与第二虚拟机相关联的数据402和与第三虚拟机202相关联的数据404。数据402被使用方法A加密,并且数据404被使用方法B加密。在一个实施方式中,管理虚拟机110接收与执行数据处理服务有关的设置信息并基于该设置来执行数据处理服务。图5是图示出计算系统500的一个示例的方框图。计算系统500示出了具有储存器104、处理器106以及机器可读存储介质108的电子设备102。储存器104包括数据处理设置502。在一个实施方式中,数据处理设置502被存储在机器可读存储介质108、电子设备102内的另一储存器或管理虚拟机110经由网络与之通信的远程数据库中。可以以任何适当的方式来接收数据处理设置502。例如,可以经由用户输入来接收该设置,并且存储在诸如储存器104中以用于管理虚拟机110的稍后检索。在一个实施方式中,管理员输入设置,使得该设置适用于多个用户的虚拟机。在一个实施方式中,经由对电子设备102的远程访问来接收该设置。例如,信息技术管理员可以将信息发送到多个用户电子设备,使得与每个电子设备相关联的管理虚拟机接收更新设置信息。
数据处理设置502可以是任何适当的配置信息。数据处理设置502可以包括例如关于哪些数据处理服务将执行、如何执行它们或者何时执行它们的信息。例如,管理虚拟机110可以接收指示应在每周的基础上备份储存器104中的数据的设置。数据处理设置502可以包括例如关于是将数据加密还是将数据安全删除的信息。在一个实施方式中,数据处理设置502包括与将对与特定虚拟机相关联的数据执行的数据处理的类型有关的设置,诸如与用于从第二虚拟机112接收到的数据的数据处理有关的设置和与用于从第三虚拟机202接收到的数据的数据处理有关的设置。
管理虚拟机110可以访问数据处理设置502以确定如何对存储在储存器104中的数据执行数据处理服务。对于管理虚拟机110而言允许输入设置可以允许统一地处理储存器104中的数据,无论存储或访问数据的虚拟机如何。
返回参考图3并前进至方框310,管理虚拟机110检索存储数据,诸如从储存器104。管理虚拟机110可以以任何适当方式来访问存储数据。例如,管理虚拟机110可以响应于来自另一虚拟机的请求从储存器104检索数据。管理虚拟机110可以接收用于储存器104的特定位置上的数据的请求或形成被映射到储存器104的位置。管理虚拟机110可以例如从第二虚拟机112或第三虚拟机202接收用于数据的请求。
继续至方框312,管理虚拟机110将所检索数据发送到在处理器106上执行的另一虚拟机,诸如第二虚拟机112或第三虚拟机202。例如,管理虚拟机110可以将所检索数据发送到请求存储数据的虚拟机。管理虚拟机110可以以任何适当方式传输所检索数据,诸如使用通信接口。该方法然后前进至方框314并结束。
图6是图示出使用虚拟机来管理共享数据的一个示例600的方框图。示例500示出了第二虚拟机112、管理虚拟机110以及第三虚拟机202的活动。电子设备102可以首先执行第二虚拟机112以引导第一操作系统。在方框602处开始,用户可以使用在第二虚拟机112上执行的文字处理软件程序来键入文档A。移动至方框604,用户可以完成键入文档A并选择将文档A保存在共享储存器中。管理虚拟机110可以在第二虚拟机112指令正在执行的同时在处理器106上执行。虚拟管理机110可以从第二虚拟机112接收文档A。管理虚拟机110可以在没有第二虚拟机112和第三虚拟机202的知识的情况下保证数据安全以用于存储。例如,继续至方框606,管理虚拟机110可以将文档A加密并前进至方框608,管理虚拟机110可以存储加密文档A。
用户可以离开第二虚拟机112并发起第三虚拟机202操作系统环境。用户可以在第三虚拟机202上运行文字处理软件程序。移动至方框610,用户可以判定打开共享储存器中的存储文档。用户可以选择文档A,并且可以向管理虚拟机110发送用于文档A的请求。管理虚拟机110可以接收用于存储在共享储存器中的位置上的文档A的请求。管理虚拟机110可以检索文档A。前进至方框612,管理虚拟机110可以将文档A解密,使得其处于可读格式。移动至方框614,管理虚拟机110可以将已解密文档A发送至第三虚拟机202。第三虚拟机202可以向用户显示文档A。管理虚拟机110可以在第三虚拟机202上的软件在使用中的同时执行数据管理功能。例如,虽然用户正在更新文档A,但管理虚拟机110可以将文档A发送到远程储存器以用于备份,如方框616中所示。
使用管理虚拟机来管理存储数据允许多个虚拟机在保持数据管理功能与共享数据的虚拟机分开的同时共享数据。例如,管理虚拟机可以存储并访问用于另一虚拟机的数据并对存储数据执行数据处理服务。结果,可以以更统一且高效的方式来管理数据。
权利要求
1.一种用于使用虚拟机110来管理共享数据的计算系统,包括: 处理器106,用于同时地执行与多个虚拟机相关联的指令; 储存器104,用于存储在处理器106上执行的虚拟机之间共享的数据; 虚拟机110,包括指令,该指令可由处理器106执行以: 从在处理器106上执行的另一虚拟机接收数据; 将数据存储在储存器104中; 独立于在处理器106上执行的其他虚拟机来管理存储数据,其中,管理存储数据包括在没有在处理器上执行的其他虚拟机的知识的情况下对数据执行数据处理服务; 从储存器104检索数据;以及 将所检索数据发送到在处理器106上执行的另一虚拟机。
2.权利要求1的计算系统,其中,从另一虚拟机接收数据包括从第二虚拟机112接收数据,并且其中将所检索数据发送到另一虚拟机包括将所检索数据发送到第二虚拟机112。
3.权利要求1的计算系统,其中,从另一虚拟机接收数据包括从第二虚拟机112接收数据,并且其中将所检索数据发送到另一虚拟机包括将所检索数据发送到第三虚拟机202。
4.权利要求1的计算系统,其中,执行数据处理服务包括执行数据安全服务。
5.权利要求1的计算系统,其中,虚拟机110还包括指令,用以: 接收与数据处理服务有关的设置402, 其中,执行数据处理服务包括基于设置402来执行数据处理服务。
6.一种用于使用虚拟机110来管理数据的方法,包括: 由在处理器106上执行的虚拟机110从在处理器106上执行的另一虚拟机接收数据; 由虚拟机110来存储数据; 由虚拟机110独立于在处理器106上执行的其他虚拟机管理存储数据,其中,管理存储数据包括在没有在处理器106上执行的其他虚拟机的知识的情况下对数据执行数据处理服务; 由虚拟机110检索存储数据;以及 由虚拟机110将所检索数据发送到在处理器106上执行另一虚拟机。
7.权利要求6的方法,其中,执行数据处理服务包括执行数据备份服务。
8.权利要求6的方法,其中,执行数据处理服务包括基于从其接收到数据的虚拟机来执行数据处理服务。
9.权利要求6的方法,其中,从另一虚拟机110接收数据包括从第二虚拟机112接收数据,并且其中,将所检索数据发送到另一虚拟机包括将所检索数据发送到第三虚拟机202。
10.权利要求6的方法,还包括: 由虚拟机Iio接收与数据处理服务有关的设置402, 其中,执行数据处理服务包括基于设置402来执行数据处理服务。
11.一种用指令编码的机器可读存储介质,该指令可被处理器106执行以便使用虚拟机110来管理数据,该机器可读介质包括指令,用以: 执行与虚拟机110相关联的指令以: 从在处理器106上执行的另一虚拟机接收数据; 存储数据;独立于在处理器106上执行的其他虚拟机控制存储数据,其中,控制存储数据包括在没有意识到在处理器106上执行的其他虚拟机的情况下对数据执行数据处理活动; 访问存储数据;以及 将被访问数据传输到在处理器106上执行的另一虚拟机。
12.权利要求11的机器可读存储介质,其中,用以从另一虚拟机接收数据的指令包括用以从第二虚拟机110接收数据的指令,并且用以将被访问数据传输到另一虚拟机的指令包括用以将被访问数据传输到第三虚拟机202的指令。
13.权利要求11的机器可读存储介质,其中,用以执行数据处理活动的指令包括用以执行数据安全活动的指令。
14.权利要求11的机器可读存储介质,其中,用以执行数据处理活动的指令包括用以对数据进行备份的指令。
15.权利要求11的机器可读存储介质,还包括指令,用以: 接收与数据处理活动有关的配置信息402, 其中,执行数据处理活动包括基于配置信息402来执行数据处理活动。
全文摘要
本发明公开的实施例涉及使用虚拟机来管理共享数据。在处理器上执行的虚拟机110可以从在处理器上执行的另一虚拟机接收数据并存储接收到的数据。虚拟机110可以通过独立于在处理器上执行的其他虚拟机来处理存储数据而管理该存储数据。
文档编号G06F9/455GK103154882SQ201080069590
公开日2013年6月12日 申请日期2010年10月12日 优先权日2010年10月12日
发明者J.M.曼 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1