CN104350486A - 用于虚拟机互操作性的方法和装置 - Google Patents

用于虚拟机互操作性的方法和装置 Download PDF

Info

Publication number
CN104350486A
CN104350486A CN201380028003.XA CN201380028003A CN104350486A CN 104350486 A CN104350486 A CN 104350486A CN 201380028003 A CN201380028003 A CN 201380028003A CN 104350486 A CN104350486 A CN 104350486A
Authority
CN
China
Prior art keywords
virtual machine
input
server
output
information
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
CN201380028003.XA
Other languages
English (en)
Other versions
CN104350486B (zh
Inventor
A.罗斯
D.摩根
M.达夫
T.韦拉尔
T.维斯瓦纳桑
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.)
Intel Corp
Original Assignee
Intel 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 Intel Corp filed Critical Intel Corp
Publication of CN104350486A publication Critical patent/CN104350486A/zh
Application granted granted Critical
Publication of CN104350486B publication Critical patent/CN104350486B/zh
Active 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/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45516Runtime code conversion or optimisation
    • G06F9/4552Involving translation to a different instruction set architecture, e.g. just-in-time translation in a JVM
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Landscapes

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

Abstract

本公开总体涉及用于在虚拟机之间进行翻译的***和方法。网络适配器能够被配置成通信地耦合到服务器,所述服务器包括具有第一格式的第一虚拟机,所述网络适配器从服务器接收输入。翻译器能够被配置成从来自服务器的输入识别第一虚拟机的第一格式以及基于来自服务器的输入来生成与第二虚拟机的第二格式兼容的输出,所述第二格式不与第一格式兼容。

Description

用于虚拟机互操作性的方法和装置
优先权申请
本申请要求于2012年6月28日提交的美国申请序列号13/536,777的优先权权益,通过引用将其全部合并于此。
技术领域
本公开总体涉及虚拟机翻译。
背景技术
虚拟机创建了通过诸如计算机之类的主电子设备的操作***、与其并肩或在其内操作的客操作***。虚拟机的使用能够为主电子设备的用户提供与文件和***交互的能力,所述文件和***与虚拟机兼容但可能不与主操作***兼容。虚拟机能够操作为软件模拟器,其中虚拟机模仿虚拟操作***的功能并提供硬件抽象(例如虚拟硬件)以在主设备上创建仿真的硬件环境。在一些配置中,虚拟硬件能够仿真位于主电子设备远程的设备的硬件。
诸如VMware®, Inc.、Citrix® System, Inc.和Microsoft® Corporation之类的公司销售用于在主设备上使用的虚拟机。各种公司的虚拟机能够根据相对于彼此而不同的不兼容的格式来进行操作。不同的虚拟机格式能够合并不同的架构和宿主环境,并能够利用不同的指令集。此外,诸如Microsoft® Corporation、Amazon.com®, Inc.和Google® Inc.之类的公司已经创建了能够通过使用主设备上的虚拟机而访问的公用云服务。因为虚拟机可能相对于彼此不兼容,所以不拥有对应于一个虚拟机格式或云服务格式的虚拟机的用户可能不能够访问对应于不与用户的虚拟机相对应的另一个虚拟机或云服务的数据。
附图说明
图1是根据实施例的具有多个虚拟机的***的框图。
图2是根据实施例的合并虚拟机管理器云的***的框图。
图3是图示根据实施例的在虚拟机之间进行翻译的方法的流程图。
图4是图示根据示例实施例的具有计算机***的示例形式的机器的框图,在所述计算机***内,用于使机器执行本文所讨论的方法中的任一个的指令集或指令序列能够被执行。
具体实施方式
下面的描述和附图充分地说明了特定实施例以使得本领域技术人员能够实践所述特定实施例。其它实施例能够合并结构、逻辑、电气、过程和其它改变。一些实施例的部分和特征可以被包括在其它实施例的部分和特征中,或者替代其它实施例的部分和特征。在权利要求中阐述的实施例包含那些权利要求的所有可用等价物。
在示例中,诸如个体计算机用户或公司之类的实体能够利用各种在线和虚拟***。所述实体能够利用例如虚拟云服务来存储信息以及另一个虚拟云服务以用于产生文档。所述实体还能够对不与实体的原生操作***兼容的各件软件利用两个或更多不同的虚拟机。
因此,示例性实体在日常使用中能够利用四个虚拟机格式;不同的实体能够利用更多或更少的虚拟机格式。一个虚拟机格式的信息和文档可能不是在不进行翻译的情况下使用另一个虚拟机格式的软件可读的。由此,所述实体可能被锁定成单独地管理所有不同的虚拟机格式。如果一个虚拟机格式的软件出于任何原因而变得不可用,则实体可能不能利用以该虚拟机格式提供的信息。
如下文所公开的虚拟机翻译能够允许各种虚拟机格式在不同虚拟机格式的软件上可使用。因而,所述实体可能不需要维持每个虚拟机格式的软件,并且在一虚拟机格式的软件变得不可用的情况下,所述实体能够转移到另一个格式的软件并允许虚拟机翻译器将各种格式翻译成新的格式以使用和操纵。这样的翻译可以被动态执行,从而有利地允许所述实体在不同的虚拟机软件环境或架构之间转移,同时维持对各种虚拟机格式中的一些或全部的使用。
图1是实施例中的具有多个虚拟机的***100的框图。***100包括服务器102、104、106、虚拟机管理器块108和计算机功能,所述计算机功能包括图形模块110、存储器模块112和网络模块114。模块110、112和114可以被合并为单个电子设备116,诸如但不限于计算机、智能电话和个人数字助理。电子设备116能够包括处理器117和其它硬件。模块110、112和114能够耦合到处理器117,并且处理器117能够控制或贡献于模块110、112和114的操作。
图形模块110能够包括显示器和/或显示器驱动器,且还能够包括用以允许用户与电子设备116进行交互的用户接口。存储器模块112能够是可读且可写的存储器模块,且能够包括易失性存储器(诸如随机存取存储器(RAM))以及非易失性存储器(诸如可编程只读存储器(PROM)、闪速存储器或硬盘)。存储器模块112能够例如与基于处理器的高速缓存和其它基于处理器的存储器形成对比,在于:存储器模块112能够潜在地被除专用处理器外的源读取和写入。网络模块114能够包括用于传统有线和无线联网技术的网络适配器。
在示例中,虚拟机管理器块108能够是电子设备116的组件。虚拟机管理器块108能够操作在专用硬件(诸如定制设计的硬件)上,或者能够操作为电子设备116的处理器117的一部分或者被其控制。在另外的示例中,虚拟机管理器块108能够操作在耦合于电子设备116与服务器102、104和106之间的专用服务器上。虚拟机管理器块108能够合并实例化层,其包括翻译器118、存储器映射层120、第一虚拟机管理器122和可选地第二虚拟机管理器124。第一虚拟机管理器122能够合并或控制翻译器118和/或存储器映射层120。在示例中,虚拟机管理器块108能够向各种最终用户提供或贡献通用计算能力和服务,本领域中称为“云计算”。在其中虚拟机管理器块108是单独服务器的组件的示例中,虚拟机管理器块108能够与多个附加模块110、112、114和/或电子设备116进行通信。
根据实施例,在图1中,第一服务器102实现根据第一格式进行操作的第一虚拟机;第二服务器104实现根据第二格式进行操作的第二虚拟机;并且第三服务器106实现根据第三格式进行操作的第三虚拟机。在示例性实施例中,第一虚拟机能够是利用VMware®虚拟机格式的虚拟机,第二虚拟机能够是利用Citrix®虚拟机格式的虚拟机,并且第三虚拟机能够是利用Microsoft® Hyper-VTM虚拟机格式的虚拟机。虚拟机的格式可以被理解为架构方面的,且至少部分由指令、子例程、函数调用、硬件交互等等中的至少一些来定义,虚拟机用所述指令、子例程、函数调用、硬件交互等等来向主设备(诸如,电子设备116)提供虚拟环境。在各种实施例中,可以根据每个格式来实现多于一个虚拟机。在这样的情形下,与相同格式的每个虚拟机有关的每个指令和由相同格式的每个虚拟机提供的数据能够在不在虚拟机之间进行翻译的情况下与相同格式的每个其它虚拟机进行通信。在各种示例中,不同格式的虚拟机不能在不进行翻译的情况下相对于彼此进行通信。任一个服务器102、104、106能够实现多个虚拟机中的一个或多个,所述多个虚拟机不在数量上被限制成所图示的三个特定虚拟机。任一个虚拟机可以被实现在多于一个服务器102、104、106上。
虚拟机管理器块108能够被配置成总体上向电子设备116或分别地向模块110、112、114提供各种虚拟机以使用。虚拟机管理器块108能够在电子设备116不被单独配置成操作每个虚拟机的情况下(诸如通过被加载有被用来运行单独地和直接地来自虚拟机的主服务器102、104、106的每个虚拟机的软件)提供各种虚拟机。在示例中,电子设备116通过虚拟机管理器块108的方式进行与虚拟机和虚拟机的主服务器102、104、106的所有交互。
简档
虚拟机管理器块108能够合并各种虚拟机的简档。所述简档能够包括在服务器102、104、106上实现的虚拟机的简档。每个简档能够包括相关虚拟机的指令集的列表或文档,诸如,对应的虚拟机格式的过程(例如由虚拟机运行的特定程序)、子例程或函数调用(例如,虚拟机在实现期间利用哪些函数)和硬件交互(例如,虚拟机在实现期间利用主设备的什么硬件)。每个简档能够合并对应的虚拟机的过程、函数调用和硬件交互的完整文档,或者能够合并这样的过程、函数调用和硬件交互的子集。
所述简档能够是使用简档生成器来获得的,诸如VTune(VTune是Intel ® Corporation的商标)和Simics(Simics是Wind River Systems, Incorporated的商标),所述简档生成器能够操作为虚拟机管理器块108的一部分,诸如通过在第一虚拟机管理器122上进行操作。在可替换示例中,简档生成器与虚拟机管理器块108分离地操作。在这样的示例中,在虚拟机管理器块108不直接控制或影响简档生成器的操作的情况下,简档生成器向虚拟机管理器块108提供简档,在特定示例中,向翻译器118提供简档。
在示例中,所述简档生成器能够包括可以操作为翻译器118的组件的简档生成工具。这样的简档生成工具能够在虚拟机被实现在主设备上时诸如在虚拟机管理器块108中监视虚拟机,并记录虚拟机利用哪些指令,诸如过程、函数调用和硬件交互。可替换地,能够从第三方供应者获得简档,所述第三方供应者具有虚拟机的指令集的知识。这样的第三方供应者可以包括虚拟机的作者、虚拟机的操作者或者已单独地给虚拟机生成简档的第三方。
翻译器118能够利用各种虚拟机的简档来在不同的虚拟机之间进行翻译。翻译器118能够在诸如被实现在第一服务器102上的虚拟机之类的第一虚拟机和具有不与第一虚拟机的格式兼容的格式的第二虚拟机之间进行翻译。第二虚拟机可以在第二服务器104上实现。第一虚拟机和第二虚拟机之间的翻译能够允许电子设备116的用户在电子设备116上利用与第二虚拟机相关的软件时与第一虚拟机进行交互。
翻译器118能够基于与虚拟机格式相关的已知信息来识别来自例如服务器102的输入的虚拟机格式。在示例中,所述输入的虚拟机格式能够包括与虚拟机格式相关的元数据,诸如虚拟机格式的名称和版本号。在提供元数据的情况下,对应的简档能够被参考和利用。在可替换示例中,翻译器118能够基于识别来自虚拟机格式的指令(诸如,子例程、函数调用和硬件交互)以及将指令与特定的虚拟机格式进行相关来识别所述输入的虚拟机格式。
在示例中,在实现第一虚拟机以对用户给予对第一虚拟机上的程序的访问以及利用第一虚拟机上的程序期间,翻译器118能够记录第一虚拟机正在进行哪些函数调用。翻译器118能够将第一虚拟机所使用的函数调用映射到第二虚拟机格式的函数调用。翻译器118然后能够将函数调用翻译成第二虚拟机格式,并将函数调用发送到在电子设备116上操作的第二虚拟机软件。第二虚拟机软件从而能够利用或显示第一虚拟机信息。翻译器118还能够通过从第二虚拟机格式翻译成第一虚拟机格式以传输到例如第一服务器102来允许用户经由第二虚拟机软件与第一虚拟机进行交互。
翻译器118能够通过推断各种函数之间的相关性或交叉来在虚拟机的简档和虚拟机格式之间进行关联。在示例中,翻译器118能够得出两个虚拟机的算术指令之间的等价性,例如两个不同格式的加法函数调用、两个不同格式的减法函数调用等等之间的映射。相同的原理可以跨各种虚拟机格式的指令集而应用。
单个指令不一定映射到单个加法指令。而是,就一个虚拟机格式可以合并唯一和/或相对复杂的一个函数而言,该一个函数可以映射到另一个虚拟机的两个或更多函数的组合。在简化的示例中,执行一系列数学操作的第一虚拟机格式的函数能够映射到第二虚拟机格式的各种数学函数,所述第二虚拟机格式的各种数学函数重新创建第一虚拟机格式的数学操作。
翻译器118还能够被提供有例如各种虚拟机的函数调用之间的第三方关系映射。这样的第三方映射可以由第三方源实现以在不同虚拟机的相关函数调用之间进行映射。翻译器118然后能够在第三方映射的各种虚拟机的函数调用之间进行翻译。这样的第三方映射能够被生成而不考虑虚拟机管理器块108,且然后被加载到例如翻译器118中。
在示例中,翻译器118能够监视各种处理器操作(诸如特定数学操作或处理器行为仿真)如何在各种环境或特定情形中执行。随着能够以特定的方式调用特定数学函数,那些方式可以被翻译器118监视和利用。例如,调用处理器指令所依照的次序和特定程序所使用的线程的数目能够被记录并在虚拟机格式之间映射。在示例中,各种虚拟机格式能够通过执行仿真的工作负载或例如具有简档生成器的企业资源规划软件而表征和映射,所述简档生成器如上所述被配置成基于所仿真的工作负载来开发针对每个虚拟机格式的简档。
在另外的示例中,各种虚拟机格式的简档能够通过下述方式而开发:使用调用图,以绘制相同或类似的程序如何以各种虚拟机格式运行。调用图能够表示例如程序中的函数或子例程如何相对于彼此进行函数调用之间的关系。在各种示例中,每个虚拟机格式能够产生可被用作针对虚拟机格式的简档或者能够被用于生成简档的唯一调用图。
所述简档还能够基于主题虚拟机和***100上的输入/输出设备(诸如图形模块110和网络模块114)之间的硬件交互而开发。在示例中,虚拟机格式与输入/输出设备交互的定时和方式能够提供针对虚拟机格式的简档信息。本文所讨论的各种简档生成特性能够与虚拟机格式的其它特性相组合,所述其它特性趋向于区分虚拟机格式的操作以产生简档。
翻译器118对简档的使用可以是静态使用,例如,针对每个虚拟机的简档可以被供应到翻译器118并且翻译器118利用该简档直到该简档被更新或以其它方式被替换为止。可替换地,翻译器118能够动态地利用简档。在这样的动态使用情况中,翻译器118能够合并简档生成工具以随着翻译器118从服务器102接收到输入而给来自例如服务器102的第一虚拟机生成简档。例如,翻译器118能够接收来自翻译器118不熟悉的或者尚未被映射到第二虚拟机格式的相关函数调用的第一虚拟机格式的函数调用。翻译器118的简档生成工具能够得出从第一虚拟机函数调用到第二虚拟机中的函数调用的等价性,允许翻译器118将函数调用翻译到第二虚拟机。
简档生成工具能够通过记录两个函数调用之间的操作或效果上的相似性来得出等价性。在与数学函数相关的上述示例中,简档生成工具能够记录:以其它方式未知的函数调用开始于两个值并产生这两个值的乘积作为输出。简档生成工具然后能够推断出以其它方式未知的函数是乘法函数,并将新近简档生成的乘法函数映射到第二虚拟机的乘法函数。简档生成工具能够基于新近得出的等价性来更新第一虚拟机的简档。
翻译器118能够生成或被提供有针对多种虚拟机的简档,该虚拟机不必限于在服务器102、104、106上以及在电子设备116上实现的虚拟机。翻译器118能够在虚拟机的两个特定的简档之间进行翻译之前得出简档的方面之间的等价性。在遭遇虚拟机的简档的先前未映射的方面时,翻译器118也能够得出等价性,如上所述。
中间虚拟机
翻译器118能够通过利用中间虚拟机格式按阶段地在虚拟机格式之间进行翻译。在示例中,在服务器102、104、106上实现的虚拟机之一的简档可以不相对于彼此而是相对于中间虚拟机格式进行映射。与每个格式映射到每个其它格式的情形相比,中间虚拟机格式的使用能够提供简档之间的映射关系的相对更简单的集合,这是因为每个外部虚拟机格式简档能够映射到单个简档,例如,中间虚拟机简档。
在示例中,第一虚拟机要被翻译成第二虚拟机。如果第一虚拟机调用加法函数,则翻译器118能够将第一虚拟机的加法函数翻译成中间虚拟机的加法函数。翻译器118然后能够从中间虚拟机的加法函数翻译成第二虚拟机的加法函数。在这样的示例中,第一虚拟机的指令不必直接被映射到第二虚拟机的指令。
中间虚拟机格式可以是不被用以或不意图被用以向主设备提供虚拟机的虚拟机格式。这样的中间虚拟机格式可以是专有虚拟机格式。可替换地,虚拟机管理块108具有简档的虚拟机格式中的任一个能够充当其它虚拟机格式被映射到的中间虚拟机格式。
中间虚拟机格式还能够被用以为虚拟机管理器块108和电子设备116提供嵌套的安全性。第二虚拟机管理器124能够操作为相对于第一虚拟机管理器122的嵌套的虚拟机,其中第二虚拟机管理器124的范围被第一虚拟机管理器122所限制。虽然第一虚拟机管理器122能够通过翻译器118的方式来促进电子设备116和服务器102、104、106之间的通信,但第二虚拟机管理器124能够提供安全工具以在上述示例中从第一虚拟机翻译时对中间虚拟机应用安全要求。
在示例中,随着其它虚拟机格式被翻译到中间虚拟机以及从中间虚拟机翻译,第二虚拟机管理器124能够监视中间虚拟机。中间虚拟机格式可以包括到已知或可疑的恶意代码(诸如病毒、间谍软件、特洛伊木马或其它计算机污染物)的映射。安全要求能够禁止使用或储存包括恶意代码的信息。安全要求能够拒绝使用仅恶意代码,或者能够拒绝使用具有映射到恶意代码的信息的完整虚拟机格式。
在上述示例中,来自第一虚拟机格式的输入(诸如,来自服务器102)的函数调用能够映射到中间虚拟机中的函数调用,其对应于已知或可疑的恶意代码。在这样的情况下,第二虚拟机管理器124能够记录第一虚拟机格式的输入和中间虚拟机的恶意代码函数之间的关系,并禁止由虚拟机管理器块102进行的进一步处理或来自服务器102的输入在存储器模块112中的储存。
在存储器模块中的储存
存储器映射层120能够管理各种虚拟机格式的信息在存储器模块112中的储存。在上述示例中,从服务器102到虚拟机管理器块108的输入具有第一虚拟机格式,并且翻译器118将所述输入翻译成第二虚拟机格式。存储器映射层120能够将来自输入的信息以第一虚拟机格式存储在存储器模块112中,尽管翻译器118已经或将要将输入翻译成第二虚拟机格式。因此,虚拟机管理器块108能够以第二虚拟机格式将输出提供到例如图形模块,同时以第一虚拟机格式将来自输入的信息存储在存储器模块112中。
虚拟机管理器块108能够检索在存储器模块112中存储的信息,并将所述信息从所述信息被存储的虚拟机格式翻译成另一个虚拟机格式。因此,曾经在存储器模块112中存储的信息可能不需要为了后续被虚拟机管理器块108或电子设备116使用而被重传。然而,为了使电子设备116利用在存储器模块112中存储的信息,虚拟机管理器块108能够根据上述翻译器118的操作将信息从例如信息被传输的第一虚拟机格式翻译成另一个虚拟机格式。该另一个虚拟机格式不一定是在第一实例中信息被翻译成的虚拟机格式。由此,信息一旦被存储和保存在存储器模块112中就能够被翻译成信息可在其中有用的任何虚拟机格式。
以信息被首先传输所依照的虚拟机格式对信息的储存能够对虚拟机格式之间和当中的安全隔离做出贡献。虚拟机管理器块108的用户能够使用多个虚拟机格式或在多个虚拟机格式之间和当中进行转变,同时保留对在存储器模块112中存储的原始信息的访问。就一个虚拟机格式变得受损或不可用而言,用户能够切换到利用另一个虚拟机格式并继续利用所存储的信息。
云翻译
图2是合并虚拟机管理器云202的***200的框图。虚拟机管理器块108的功能能够被实现为虚拟机管理器云202。翻译器118、存储器映射层120、第一虚拟机管理器122和第二虚拟机管理器124的功能能够整体或部分地分布在多个处理器以及多个服务器和其它计算设备上的其它硬件之间和当中。在示例中,组成虚拟机管理器云202的各种设备所合并的处理器能够执行分布式处理以实现虚拟机管理器块108的各个层118、120和管理器122、124的可操作性。
如所示,***200合并在各种云网络204、206、208上实现的虚拟机。云网络也可以被称为云服务。在可替换示例中,各种云网络204、206、208能够分别由实现非分布式虚拟机的服务器102、104、106替换或补充。***200还包括至少一个网络210作为来自云网络204、206、208的信息的目的地。网络210和被包括在其中的设备能够包括显示图形、存储信息和经由网络链路进行通信的能力,诸如能够分别由电子设备116的图形模块110、存储器模块112和网络模块114提供。
在示例中,网络210的设备能够以与电子设备116与服务器102、104、106进行交互类似的方式与相应云网络204、206、208的虚拟机进行交互。在示例中,网络210可以是云网络,其中使得通信地耦合到云网络210的设备能够根据虚拟机管理器云202所提供的翻译来与云网络210以及云网络204、206、208的虚拟机对接。
示例性方法
图3是图示根据实施例的用于在虚拟机之间进行翻译的方法的流程图。应该注意的是,图3的流程图能够适用于电子设备116、网络210或其它设备和其它网络。还应该注意的是,流程图的各个框能够按各种次序执行,取决于流程图的实现方式的情形。
在框300处,诸如由如上所讨论的简档生成器生成来自服务器的输入的多个虚拟机中的一个虚拟机的格式的简档。在示例中,所述简档至少部分基于所述多个虚拟机中的所述一个虚拟机的格式和不同的虚拟机的另一个格式之间的关系。在示例中,基于所述简档从所述多个虚拟机中的所述一个虚拟机的格式翻译成第一和第二格式中的至少一个。
在示例中,所述多个虚拟机的每个格式包括与另一个格式有关的至少一个指令,所述指令被配置成以每个格式执行类似的任务。
在示例中,所述简档基于所述至少一个指令而生成。
在框302处,识别具有第一虚拟机的第一格式的输入。在示例中,来自服务器的输入包括元数据,所述元数据将来自服务器的输入识别为对应于第一格式,并且识别输入是基于元数据的。
在示例中,第一虚拟机的第一格式和第二虚拟机的第二格式均包括不同的指令集。每个指令集能够包括过程、子例程、函数调用和硬件指令中的至少一个。在示例中,识别输入基于将指令集识别为对应于第一格式。
在示例中,每个指令集包括多个组件。在示例中,生成输出基于对应于第一格式和第二格式中的每一个的指令集的多个组件中的个体组件之间的关系。
在框304处,可选地根据安全要求来表征来自服务器的输入。
在框306处,可选地将来自服务器的输入翻译成中间虚拟机格式。
在框308处,利用具有中间虚拟机格式的输入来表征输入。
在示例中,多个虚拟机在服务器上实现,所述多个虚拟机包括第一和第二虚拟机。在示例中,来自服务器的输入具有所述多个虚拟机之一的格式。
在框310处,禁止存储器管理器将不符合安全要求的信息以第一或第二格式存储在存储器模块中。可选地,存储器管理器基于如被翻译成中间虚拟机格式的输入而被禁止。在示例中,在所述信息包括恶意软件组件的情况下,所述信息不符合安全要求。
在框312处,将来自输入的信息中的至少一些存储在存储器模块中,所存储的输入具有第一格式。在示例中,在所述存储已经被禁止的情况下,来自输入的信息不被存储在存储器模块中。
在框314处,基于输入来生成与第二虚拟机的第二格式兼容的输出。在示例中,所述第二格式不与第一格式兼容。在示例中,至少一些输出包括被翻译成第二虚拟机的第二格式的来自服务器的输入中的至少一些。
在框316处,将具有第二格式的输出传输到接收器。在示例中,所述输出通过网络而传输到电子设备。所述电子设备能够经由用于运行具有第二格式的虚拟机的软件,利用所述输出。
在框318处,从接收自服务器的数据识别第二虚拟机的第二格式,所述第二虚拟机在服务器上实现。
在框320处,生成与第一虚拟机的第一格式兼容的输出。
在框322处,以第二格式存储被识别为对应于第二格式的信息。
在框324处,识别所述输入的所述多个虚拟机中的所述一个虚拟机的格式。
在框326处,生成输出。在示例中,所述输出与所述多个虚拟机中的另一个的不同的格式兼容。
如本文所述的示例能够包括逻辑或多个组件、模块或机制,或者能够在其上操作。模块是能够执行指定操作的有形实体(例如,硬件),并能够被以特定方式配置或布置。在示例中,电路能够被以指定的方式(例如,内部地或相对于诸如其它电路之类的外部实体)布置为模块。在示例中,一个或多个计算机***(例如,独立式、客户端或服务器计算机***)或者一个或多个硬件处理器的整体或部分能够通过固件或软件(例如,指令、应用部分或应用)而被配置为操作以执行指定操作的模块。在示例中,软件能够驻留在机器可读介质上。在示例中,软件在由模块的下层硬件执行时使硬件执行指定的操作。
相应地,术语“模块”被理解为包含有形实体,所述实体是被物理构造成、具体配置成(例如,硬接线)或暂时(例如,临时性地)配置(例如,编程)成以指定的方式进行操作或者执行本文所述的任何操作的部分或全部的实体。考虑到其中模块被暂时地配置的示例,每个模块不需要在时间中的任一个时刻处被实例化。例如,在模块包括使用软件配置的通用硬件处理器的情况下,通用硬件处理器能够在不同的时间处被配置为相应的不同模块。软件能够相应地将硬件处理器配置成例如在一个时间实例处构成特定模块并在不同的时间实例处构成不同的模块。
实施例可以以硬件、固件和软件之一或组合实现。实施例还能够被实现为在计算机可读储存设备上存储的指令,其能够被至少一个处理器读取并执行以执行本文所述的操作。计算机可读储存设备能够包括用于以机器(例如,计算机)可读的形式存储信息的任何非临时性机制。例如,计算机可读储存设备能够包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘储存介质、光学储存介质、闪速存储器设备、以及其它储存设备和介质。
图4是图示根据示例性实施例的具有计算机***400的示例性形式的机器的框图,在计算机***400内,可以执行用于使机器执行本文所讨论的方法中的任一个的指令集或指令序列。在可替换实施例中,机器操作为独立设备或能够连接(例如,联网)到其它机器。在联网的部署中,机器可以操作于服务器-客户端网络环境中的服务器或客户端机器的能力,或者它可以充当对等(或分布式)网络环境中的对等端机器。机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、移动电话、web器具、网络路由器、交换机或桥接器、或者能够执行指定要被该机器所采用的动作的指令(顺序的或以其它方式)的任何机器。另外,虽然仅单个机器被图示,但术语“机器”还应该被采用以包括单独地或联合地执行指令集(或多个集合)以执行本文所讨论的方法中的任何一个或多个的机器的任何集合。
示例性计算机***400包括至少一个处理器402(例如,中央处理单元(CPU)、图形处理单元(GPU)或这二者、处理器核、计算机节点等)、主存储器404和静态存储器406,其经由链路408(例如,总线)与彼此通信。计算机***400还可以包括视频显示单元410、字母数字输入设备412(例如,键盘)和用户接口(UI)导航设备414(例如,鼠标)。在一个实施例中,视频显示单元410、输入设备412和UI导航设备414被合并到触摸屏显示器中。计算机***400能够附加地包括储存设备416(例如,驱动单元)、信号生成设备418(例如,扬声器)、网络接口设备420和一个或多个传感器(未示出),诸如全球定位***(GPS)传感器、罗盘、加速度计或其它传感器。
储存设备416包括机器可读介质422,在其上存储由本文所述的任何一个或多个方法或功能体现或利用的数据结构和指令424(例如,软件)的一个或多个集合。指令424还能够在其被计算机***400执行期间完全或至少部分地驻留在主存储器404、静态存储器406内和/在处理器402内,其中主存储器404、静态存储器406和处理器402还构成机器可读介质。
虽然机器可读介质422在示例性实施例中被图示为单个介质,但是术语“机器可读介质”能够包括存储一个或多个指令424的单个介质或多个介质(例如,集中式或分布式数据库和/或关联的高速缓存和服务器)。术语“机器可读介质”还应该被采用以包括能够存储、编码或承载指令以供机器执行且使机器执行本公开的任何一个或多个方法或者能够存储、编码或承载被这样的指令利用或与其关联的数据结构的任何有形介质。术语“机器可读介质”应该相应地被采用以包括但不限于固态存储器以及光学和磁介质。机器可读介质的特定示例包括非易失性存储器,通过示例的方式包括:半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪速存储器设备;诸如内部硬盘和可拆卸盘之类的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。
还能够使用传输介质经由利用多个公知的传送协议中的任一个(例如,HTTP)的网络接口设备420通过通信网络426来发送或接收指令424。通信网络的示例包括局域网(LAN)、广域网(WAN)、因特网、移动电话网络、简易老式电话(POTS)网络和无线数据网络(例如,Wi-Fi、3G和4G LTE/LTE-A或WiMAX网络)。术语“传输介质”应该被采用以包括能够存储、编码或承载指令以供机器执行的任何非有形介质,并包括数字或模拟通信信号或者其它非有形介质以促进这样的软件的通信。
当前所述的方法、***和设备实施例的附加示例包括下述非限制性配置。下述非限制性示例中的每一个能够独立存在,或者能够以任何排列或组合而与下文或贯穿本公开提供的其它示例中的任何一个或多个组合。
附加示例
在示例1中,一种用于在虚拟机之间进行翻译的***能够可选地包括:网络适配器,其通信地耦合到服务器,所述服务器包括具有第一格式的第一虚拟机,所述网络适配器从服务器接收输入;以及翻译器,其包括处理器单元,所述处理器单元耦合到所述网络适配器。所述翻译器能够被配置成从来自服务器的输入识别第一虚拟机的第一格式并基于来自服务器的输入来生成与第二虚拟机的第二格式兼容的输出,所述第二格式不与第一格式兼容。所述***被配置成在存储器模块中存储所述输出中的至少一些。
在示例2中,示例1的***还可选地包括虚拟机管理器,所述虚拟机管理器包括所述翻译器和存储器管理器,所述存储器管理器用以将来自所述输入和来自所述翻译器的信息存储在存储器模块中。所述虚拟机管理器能够被配置成将第二格式的输出传输到接收器,并在存储器模块中存储第一格式的来自所述输入的信息中的至少一些和第二格式的来自所述翻译器的输出中的至少一些。
在示例3中,示例1或2中的任一个或多个的***能够可选地包括来自服务器的输入中的元数据,所述元数据将来自服务器的输入识别为对应于第一格式。所述翻译器能够被配置成基于元数据来识别输入。
在示例4中,示例1-3中的任一个或多个的***能够可选地包括,第一虚拟机的第一格式和第二虚拟机的第二格式均包括不同的指令集。所述翻译器能够被配置成基于对应于第一格式的指令集的识别来识别输入。
在示例5中,示例1-4中的任一个或多个的***能够可选地包括,所述指令集包括过程、子例程、函数调用和硬件指令中的至少一个。
在示例6中,示例1-5中的任一个或多个的***能够可选地包括,每个指令集包括多个组件,并且所述翻译器被配置成基于对应于第一格式和第二格式中的每一个的指令集的多个组件中的个体组件之间的关系来生成输出。
在示例7中,示例1-6中的任一个或多个的***能够可选地包括,来自翻译器的输出中的至少一些包括被翻译成第二虚拟机的第二格式的来自服务器的输入中的至少一些。
在示例8中,示例1-7中的任一个或多个的***能够可选地包括,第二虚拟机被实现在服务器上,所述翻译器被配置成从接收自服务器的数据识别第二虚拟机的第二格式,并生成与第一虚拟机的第一格式兼容的输出,并且所述存储器管理器被配置成以第一格式在存储器模块中存储被翻译器识别为对应于第一格式的信息并以第二格式存储被翻译器识别为对应于第二格式的信息。
在示例9中,示例1-8中的任一个或多个的***能够可选地包括,所述虚拟机管理器是第一虚拟机管理器。在示例中,所述***还能够包括相对于第一虚拟机管理器嵌套的第二虚拟机管理器,所述第二虚拟机管理器被配置成根据安全要求来表征来自服务器的输入,并禁止存储器管理器以第一或第二格式在存储器模块中存储不符合安全要求的信息。
在示例10中,示例1-9中的任一个或多个的***能够可选地包括,在所述信息包括恶意软件组件的情况下,所述信息不符合安全要求。
在示例11中,示例1-10中的任一个或多个的***能够可选地包括,所述第二虚拟机管理器被配置成使得翻译器在表征输入并禁止存储器管理器之前将来自服务器的输入翻译成中间虚拟机格式,并且其中所述第二虚拟机管理器被配置成利用如被翻译成中间虚拟机格式的输入以表征输入并禁止存储器管理器。
在示例12中,示例1-11中的任一个或多个的***能够可选地包括,多个虚拟机被实现在服务器上,所述多个虚拟机包括第一和第二虚拟机,其中来自服务器的输入具有所述多个虚拟机中的一个虚拟机的格式。所述翻译器能够被配置成从来自服务器的输入识别所述输入的所述多个虚拟机中的所述一个虚拟机的格式,并生成与所述多个虚拟机中的另一个的不同的格式兼容的输出。所述虚拟机管理器能够包括被配置成生成来自服务器的输入的所述多个虚拟机中的一个虚拟机的格式的简档的简档生成器,所述简档至少部分基于所述多个虚拟机中的所述一个虚拟机的格式和不同的虚拟机的另一个格式之间的关系。所述翻译器能够基于所述简档来从所述多个虚拟机中的所述一个虚拟机的格式翻译成不同的格式。
在示例13中,示例1-12中的任一个或多个的***能够可选地包括,所述多个虚拟机的每个格式包括与另一个格式有关的至少一个指令,所述指令被配置成以每个格式执行类似的任务,并且其中所述简档生成器基于所述至少一个指令来生成简档。
在示例14中,一种方法能够包括:从输入识别具有第一虚拟机的第一格式的输入;基于所述输入来生成与第二虚拟机的第二格式兼容的输出,所述第二格式不与第一格式兼容;以及在存储器模块中存储所述输出中的至少一些。
在示例15中,示例14的方法还能够可选地包括,向接收器传输第二格式的输出;以及在存储器模块中存储第一格式的来自输入的信息中的至少一些和第二格式的输出中的至少一些。
在示例16中,示例14和15中的任一个或多个的方法能够可选地包括,来自服务器的输入包括元数据,所述元数据将来自服务器的输入识别为对应于第一格式,并且识别输入是基于所述元数据的。
在示例17中,示例14-16中的任一个或多个的方法能够可选地包括,第一虚拟机的第一格式和第二虚拟机的第二格式均包括不同的指令集,每个指令集包括过程、子例程、函数调用和硬件指令中的至少一个。在示例中,识别输入能够基于将指令集识别为对应于第一格式。
在示例18中,示例14-17中的任一个或多个的方法能够可选地包括,所述指令集包括过程、子例程、函数调用和硬件指令中的至少一个。
在示例19中,示例14-18中的任一个或多个的方法能够可选地包括,每个指令集包括多个组件,并且其中生成输出基于对应于第一格式和第二格式中的每一个的指令集的多个组件中的个体组件之间的关系。
在示例20中,示例14-19中的任一个或多个的方法能够可选地包括,至少一些输出包括被翻译成第二虚拟机的第二格式的来自服务器的输入中的至少一些。
在示例21中,示例14-20中的任一个或多个的方法能够可选地包括,所述第二虚拟机被实现在服务器上。在示例中,所述方法还能够包括:从接收自服务器的数据识别第二虚拟机的第二格式;生成与第一虚拟机的第一格式兼容的输出;在存储器模块中以第一格式存储被识别为对应于第一格式的信息;以及以第二格式存储被识别为对应于第二格式的信息。
在示例22中,示例14-21中的任一个或多个的方法还能够可选地包括,根据安全要求来表征来自服务器的输入;以及禁止存储器管理器在存储器模块中以第一或第二格式存储不符合安全要求的信息。
在示例23中,示例14-22中的任一个或多个的方法能够可选地包括,在所述信息包括恶意软件组件的情况下,所述信息不符合安全要求。
在示例24中,示例14-23中的任一个或多个的方法还能够可选地包括,将来自服务器的输入翻译成中间虚拟机格式;以及利用中间虚拟机格式的输入来表征输入并禁止存储器管理器。
在示例25中,示例14-24中的任一个或多个的方法能够可选地包括,多个虚拟机被实现在服务器上,所述多个虚拟机包括第一和第二虚拟机,其中来自服务器的输入具有所述多个虚拟机中的一个虚拟机的格式。在示例中,所述方法还能够包括:从来自服务器的输入识别所述输入的所述多个虚拟机中的所述一个虚拟机的格式;生成与所述多个虚拟机中的另一个的不同的格式兼容的输出;生成来自服务器的输入的所述多个虚拟机中的一个虚拟机的格式的简档,所述简档至少部分基于所述多个虚拟机中的所述一个虚拟机的格式和不同的虚拟机的另一个格式之间的关系;以及基于所述简档来从所述多个虚拟机中的所述一个虚拟机的格式翻译成第一和第二格式中的至少一个。
在示例26中,示例14-25中的任一个或多个的方法能够可选地包括,所述多个虚拟机的每个格式包括与另一个格式有关的至少一个指令,所述指令被配置成以每个格式执行类似的任务。在示例中,所述方法还能够包括基于所述至少一个指令来生成简档。
在示例27中,至少一种计算机可读储存介质能够通信地耦合到处理器,并包括当在处理器上执行时使处理器执行示例14-26中的任一个或多个的方法的指令。
在下面的描述中,参考了附图,附图形成其一部分,并且在附图中通过图示的方式示出了能够被实践的特定实施例。这些实施例被描述得足够详细以使得本领域技术人员能够实践本发明,并且应该理解的是,能够利用其它实施例,并且能够在不背离本发明的范围的情况下做出结构、逻辑和电气改变。示例性实施例的下面的描述因此不是在限制意义上采用的,并且本发明的范围由随附的权利要求限定。
在本文档中,使用术语“一”或“一个”,如在专利文档中常见的那样,以包括一个或多于一个,独立于“至少一个”或“一个或多个”的任何其它实例或使用。在本文档中,术语“或”被用于指代非排他性的或,使得“A或B”包括“A但不是B”、“B但不是A”以及“A和B”,除非另有所指。在随附权利要求中,术语“包括”和“在其中”被用作相应术语“包含”和“其中”的简明英语等价物。此外,在所附权利要求中,术语“包括”和“包含”是开放式的,也就是说,在权利要求中包括除在这样的术语后列出的那些元素外的元素的***、设备、物品或过程仍然被视为落在该权利要求的范围内。此外,在所附权利要求中,术语“第一”、“第二”和“第三”等仅仅被用作标记,并非旨在对其对象强加数值要求。
上面的描述旨在是说明性而非限制性的。例如,上述示例(或其一个或多个方面)能够与彼此组合地使用。其它实施例能够被诸如本领域普通技术人员在查看上面的描述时使用。摘要被提供以遵循37 C.F.R. 1.72(b),以便允许读者快速地确定本技术公开的特性。在理解摘要将不被用于解释和限制权利要求的范围或意义的情况下提交所述摘要。此外,在上述具体实施方式中,各种特征能够被集合在一起以精简本公开。这不应被解释为意图在于未要求保护的公开特征对任何权利要求来说是必要的。而是,发明的主题能够在于特定公开的实施例的少于所有特征。因而,所附权利要求由此被合并到具体实施方式中,其中每个权利要求独立存在为单独的实施例。应参考随附的权利要求确定本发明的范围连同这样的权利要求所赋予的等价物的完整范围。

Claims (30)

1.一种用于在虚拟机之间进行翻译的***,包括:
网络适配器,其通信地耦合到服务器,所述服务器包括具有第一格式的第一虚拟机,所述网络适配器从服务器接收输入;
翻译器,其包括处理器单元,所述处理器单元通信地耦合到网络适配器,所述翻译器被配置成:
 从来自服务器的输入识别第一虚拟机的第一格式;以及
 基于来自服务器的输入来生成与第二虚拟机的第二格式兼容的输出,所述第二格式不与第一格式兼容;
其中所述***被配置成在存储器模块中存储所述输出中的至少一些。
2.根据权利要求1所述的***,还包括虚拟机管理器,所述虚拟机管理器包括:
所述翻译器;以及
存储器管理器,其用以将来自所述输入和来自所述翻译器的信息存储在存储器模块中;
其中所述虚拟机管理器被配置成:
 将第二格式的输出传输到接收器;以及
 在存储器模块中存储第一格式的来自所述输入的信息中的至少一些和第二格式的来自所述翻译器的输出中的至少一些。
3.根据权利要求1所述的***,其中来自服务器的输入包括元数据,所述元数据将来自服务器的输入识别为对应于第一格式,并且其中所述翻译器能够被配置成基于所述元数据来识别输入。
4.根据权利要求1所述的***,其中第一虚拟机的第一格式和第二虚拟机的第二格式均包括不同的指令集,并且其中所述翻译器被配置成基于对应于第一格式的指令集的识别来识别输入。
5.根据权利要求1所述的***,其中来自翻译器的输出中的至少一些包括被翻译成第二虚拟机的第二格式的来自服务器的输入中的至少一些。
6.根据权利要求1所述的***,其中所述第二虚拟机被实现在服务器上;并且
其中所述翻译器被配置成从接收自服务器的数据识别第二虚拟机的第二格式,并生成与第一虚拟机的第一格式兼容的输出;并且
其中所述存储器管理器被配置成以第一格式在存储器模块中存储被翻译器识别为对应于第一格式的信息,并以第二格式存储被翻译器识别为对应于第二格式的信息。
7.根据权利要求1所述的***,其中所述虚拟机管理器是第一虚拟机管理器,并且所述***还包括:
第二虚拟机管理器,其相对于第一虚拟机管理器嵌套,所述第二虚拟机管理器被配置成:
 根据安全要求来表征来自服务器的输入;以及
 禁止存储器管理器以第一或第二格式在存储器模块中存储不符合安全要求的信息。
8.根据权利要求7所述的***,其中在所述信息包括恶意软件组件的情况下,所述信息不符合安全要求。
9.根据权利要求7所述的***,其中所述第二虚拟机管理器被配置成使得翻译器在表征输入并禁止存储器管理器之前将来自服务器的输入翻译成中间虚拟机格式,并且其中所述第二虚拟机管理器被配置成利用如被翻译成中间虚拟机格式的输入以表征输入并禁止存储器管理器。
10.根据权利要求1所述的***,其中多个虚拟机被实现在服务器上,所述多个虚拟机包括第一和第二虚拟机,其中来自服务器的输入具有所述多个虚拟机中的一个虚拟机的格式;
其中所述翻译器能够被配置成:
 从来自服务器的输入识别所述输入的所述多个虚拟机中的所述一个虚拟机的格式;以及
 生成与所述多个虚拟机中的另一个的不同的格式兼容的输出;并且
其中所述虚拟机管理器包括被配置成生成来自服务器的输入的所述多个虚拟机中的一个虚拟机的格式的简档的简档生成器,所述简档至少部分基于所述多个虚拟机中的所述一个虚拟机的格式和不同的虚拟机的另一个格式之间的关系;并且
其中所述翻译器基于所述简档来从所述多个虚拟机中的所述一个虚拟机的格式翻译成不同的格式。
11.至少一种计算机可读储存介质,所述计算机可读储存介质通信地耦合到处理器并包括指令,所述指令当在处理器上执行时使处理器:
从来自服务器的输入识别具有第一虚拟机的第一格式的输入;
基于所述输入来生成与第二虚拟机的第二格式兼容的输出,所述第二格式不与第一格式兼容;以及
在存储器模块中存储所述输出中的至少一些。
12.根据权利要求11所述的至少一种计算机可读储存介质,还包括当在处理器上执行时使处理器进行以下动作的指令:
向接收器传输第二格式的输出;以及
在存储器模块中存储第一格式的来自输入的信息中的至少一些和第二格式的输出中的至少一些。
13.根据权利要求11所述的至少一种计算机可读储存介质,其中来自服务器的输入包括元数据,所述元数据将来自服务器的输入识别为对应于第一格式,并且其中所述指令使处理器基于所述元数据来识别输入。
14.根据权利要求11所述的至少一种计算机可读储存介质,其中第一虚拟机的第一格式和第二虚拟机的第二格式均包括不同的指令集,每个指令集包括过程、子例程、函数调用和硬件指令中的至少一个,并且其中所述指令使处理器基于将指令集识别为对应于第一格式来识别输入。
15.根据权利要求11所述的至少一种计算机可读储存介质,其中所述输出中的至少一些包括被翻译成第二虚拟机的第二格式的来自服务器的输入中的至少一些。
16.根据权利要求11所述的至少一种计算机可读储存介质,其中所述第二虚拟机被实现在服务器上,并且所述计算机可读储存介质还包括当在处理器上执行时使处理器进行以下动作的指令:
从接收自服务器的数据识别第二虚拟机的第二格式,并生成与第一虚拟机的第一格式兼容的输出;以及
在存储器模块中以第一格式存储被处理器识别为对应于第一格式的信息,并且以第二格式存储被翻译器识别为对应于第二格式的信息。
17.根据权利要求11所述的至少一种计算机可读储存介质,还包括相对于识别第一和第二格式、生成输出、传输输出并存储在存储器模块中的指令嵌套的指令,其被配置成:
根据安全要求来表征来自服务器的输入;以及
禁止存储器管理器在存储器模块中以第一或第二格式存储不符合安全要求的信息。
18.根据权利要求17所述的至少一种计算机可读储存介质,其中在所述信息包括恶意软件组件的情况下,所述信息不符合安全要求。
19.根据权利要求17所述的至少一种计算机可读储存介质,其中所述指令使处理器:
将来自服务器的输入翻译成中间虚拟机格式;以及
利用中间虚拟机格式的输入来表征输入并禁止存储器管理器。
20.根据权利要求11所述的至少一种计算机可读储存介质,其中多个虚拟机被实现在服务器上,所述多个虚拟机包括第一和第二虚拟机,其中来自服务器的输入具有所述多个虚拟机中的一个虚拟机的格式;
其中所述指令还使处理器:
 从来自服务器的输入识别所述输入的所述多个虚拟机中的所述一个虚拟机的格式;
 生成与所述多个虚拟机中的另一个的不同的格式兼容的输出;
 生成来自服务器的输入的所述多个虚拟机中的一个虚拟机的格式的简档,所述简档至少部分基于所述多个虚拟机中的所述一个虚拟机的格式和不同的虚拟机的另一个格式之间的关系;以及
 基于所述简档来从所述多个虚拟机中的所述一个虚拟机的格式翻译成第一和第二格式中的至少一个。
21.一种计算机实现的方法,包括:
从来自服务器的输入识别具有第一虚拟机的第一格式的输入;
基于所述输入来生成与第二虚拟机的第二格式兼容的输出,所述第二格式不与第一格式兼容;以及
在存储器模块中存储所述输出中的至少一些。
22.根据权利要求21所述的方法,还包括:
向接收器传输第二格式的输出;以及
在存储器模块中存储第一格式的来自输入的信息中的至少一些;并且
其中所述输出是以第二格式存储的。
23.根据权利要求21所述的方法,其中来自服务器的输入包括元数据,所述元数据将来自服务器的输入识别为对应于第一格式,并且其中识别输入是基于所述元数据的。
24.根据权利要求21所述的方法,其中第一虚拟机的第一格式和第二虚拟机的第二格式均包括不同的指令集,每个指令集包括过程、子例程、函数调用和硬件指令中的至少一个,并且其中识别输入基于将指令集识别为对应于第一格式。
25.根据权利要求21所述的方法,其中至少一些输出包括被翻译成第二虚拟机的第二格式的来自服务器的输入中的至少一些。
26.根据权利要求21所述的方法,其中所述第二虚拟机被实现在服务器上,并且所述方法还包括:
从接收自服务器的数据识别第二虚拟机的第二格式;
生成与第一虚拟机的第一格式兼容的输出;
在存储器模块中以第一格式存储被识别为对应于第一格式的信息;
以第二格式存储被识别为对应于第二格式的信息。
27.根据权利要求21所述的方法,还包括:
根据安全要求来表征来自服务器的输入;以及
禁止存储器管理器在存储器模块中以第一或第二格式存储不符合安全要求的信息。
28.根据权利要求27所述的方法,其中在所述信息包括恶意软件组件的情况下,所述信息不符合安全要求。
29.根据权利要求27所述的方法,还包括:
将来自服务器的输入翻译成中间虚拟机格式;以及
利用中间虚拟机格式的输入来表征输入并禁止存储器管理器。
30.根据权利要求21所述的方法,其中多个虚拟机被实现在服务器上,所述多个虚拟机包括第一和第二虚拟机,其中来自服务器的输入具有所述多个虚拟机中的一个虚拟机的格式,并且所述方法还包括:
从来自服务器的输入识别所述输入的所述多个虚拟机中的所述一个虚拟机的格式;
生成与所述多个虚拟机中的另一个的不同的格式兼容的输出;
生成来自服务器的输入的所述多个虚拟机中的一个虚拟机的格式的简档,所述简档至少部分基于所述多个虚拟机中的所述一个虚拟机的格式和不同的虚拟机的另一个格式之间的关系;以及
基于所述简档来从所述多个虚拟机中的所述一个虚拟机的格式翻译成第一和第二格式中的至少一个。
CN201380028003.XA 2012-06-28 2013-06-25 用于虚拟机互操作性的方法和装置 Active CN104350486B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/536777 2012-06-28
US13/536,777 US9160815B2 (en) 2012-06-28 2012-06-28 Method and apparatus for virtual machine interoperability
PCT/US2013/047681 WO2014004554A1 (en) 2012-06-28 2013-06-25 Method and apparatus for virtual machine interoperability

Publications (2)

Publication Number Publication Date
CN104350486A true CN104350486A (zh) 2015-02-11
CN104350486B CN104350486B (zh) 2018-03-30

Family

ID=49779688

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380028003.XA Active CN104350486B (zh) 2012-06-28 2013-06-25 用于虚拟机互操作性的方法和装置

Country Status (4)

Country Link
US (1) US9160815B2 (zh)
EP (1) EP2867785B1 (zh)
CN (1) CN104350486B (zh)
WO (1) WO2014004554A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107220103A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种宿主物理机的cpu加速方法及装置
CN107810486A (zh) * 2015-06-26 2018-03-16 微软技术许可有限责任公司 锁定用于原子地执行的指令组的操作数的值
US11048517B2 (en) 2015-06-26 2021-06-29 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9237188B1 (en) 2012-05-21 2016-01-12 Amazon Technologies, Inc. Virtual machine based content processing
US9160815B2 (en) 2012-06-28 2015-10-13 Intel Corporation Method and apparatus for virtual machine interoperability
US9251115B2 (en) 2013-03-07 2016-02-02 Citrix Systems, Inc. Dynamic configuration in cloud computing environments
US9749195B2 (en) * 2014-12-05 2017-08-29 Accenture Global Services Limited Technical component provisioning using metadata structural hierarchy
US11260294B2 (en) * 2017-05-30 2022-03-01 Microsoft Technology Licensing, Llc Virtual controller for game injection
US11805114B2 (en) * 2020-09-30 2023-10-31 Dell Products L.P. Enhanced N-layer SSO controlled authentication for enterprise devices
US11838221B2 (en) * 2022-01-13 2023-12-05 Verizon Patent And Licensing Inc. Systems and methods for multi-cloud virtualized instance deployment and execution

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040031022A1 (en) * 2002-08-02 2004-02-12 Masayuki Kabasawa Information processing device for multiple instruction sets with reconfigurable mechanism
US7251811B2 (en) * 2002-01-02 2007-07-31 Intel Corporation Controlling compatibility levels of binary translations between instruction set architectures
US20090089781A1 (en) * 2007-09-30 2009-04-02 Symantec Corporation System for and Method of Migrating One or More Virtual Machines
CN101430644A (zh) * 2007-11-05 2009-05-13 Sap股份公司 在结构化环境中执行动态程序的***和方法
CN102053857A (zh) * 2009-11-09 2011-05-11 财团法人资讯工业策进会 虚拟机器的管理装置及其相关切换方法
US20120047501A1 (en) * 2010-02-22 2012-02-23 Virtustream, Inc. Methods and apparatus for data center management independent of hypervisor platform

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4733399B2 (ja) * 2005-01-28 2011-07-27 株式会社日立製作所 計算機システム、計算機、ストレージ装置及び管理端末
US20070038703A1 (en) * 2005-07-14 2007-02-15 Yahoo! Inc. Content router gateway
US8302094B2 (en) * 2009-06-26 2012-10-30 Vmware, Inc. Routing a physical device request using transformer stack to an equivalent physical device in a virtualized mobile device
US8984507B2 (en) * 2010-04-26 2015-03-17 International Business Machines Corporation Cross architecture virtual machine migration
US8352415B2 (en) * 2010-06-15 2013-01-08 International Business Machines Corporation Converting images in virtual environments
US9160815B2 (en) 2012-06-28 2015-10-13 Intel Corporation Method and apparatus for virtual machine interoperability

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7251811B2 (en) * 2002-01-02 2007-07-31 Intel Corporation Controlling compatibility levels of binary translations between instruction set architectures
US20040031022A1 (en) * 2002-08-02 2004-02-12 Masayuki Kabasawa Information processing device for multiple instruction sets with reconfigurable mechanism
US20090089781A1 (en) * 2007-09-30 2009-04-02 Symantec Corporation System for and Method of Migrating One or More Virtual Machines
CN101430644A (zh) * 2007-11-05 2009-05-13 Sap股份公司 在结构化环境中执行动态程序的***和方法
CN102053857A (zh) * 2009-11-09 2011-05-11 财团法人资讯工业策进会 虚拟机器的管理装置及其相关切换方法
US20120047501A1 (en) * 2010-02-22 2012-02-23 Virtustream, Inc. Methods and apparatus for data center management independent of hypervisor platform

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107810486A (zh) * 2015-06-26 2018-03-16 微软技术许可有限责任公司 锁定用于原子地执行的指令组的操作数的值
US11048517B2 (en) 2015-06-26 2021-06-29 Microsoft Technology Licensing, Llc Decoupled processor instruction window and operand buffer
CN107810486B (zh) * 2015-06-26 2021-10-22 微软技术许可有限责任公司 锁定用于原子地执行的指令组的操作数的值
CN107220103A (zh) * 2017-05-27 2017-09-29 郑州云海信息技术有限公司 一种宿主物理机的cpu加速方法及装置

Also Published As

Publication number Publication date
WO2014004554A1 (en) 2014-01-03
EP2867785A1 (en) 2015-05-06
EP2867785A4 (en) 2016-02-24
CN104350486B (zh) 2018-03-30
EP2867785B1 (en) 2020-02-12
US20140007086A1 (en) 2014-01-02
US9160815B2 (en) 2015-10-13

Similar Documents

Publication Publication Date Title
CN104350486A (zh) 用于虚拟机互操作性的方法和装置
US9344334B2 (en) Network policy implementation for a multi-virtual machine appliance within a virtualization environment
US9083651B2 (en) Controlling a network interface using virtual switch proxying
US10135679B2 (en) Network offering in cloud computing environment
EP2807599B1 (en) Storage encryption
CN110199271B (zh) 用于现场可编程门阵列虚拟化的方法和设备
US20210021609A1 (en) Calculus for trust in edge computing and named function networks
US20130212576A1 (en) Tagging Physical Resources in a Cloud Computing Environment
CN106648826B (zh) 用于热迁移虚拟机的方法和装置
EP2842029A2 (en) Trusted file indirection
CN102667803B (zh) 用于根据所分配的权限信息运行虚拟机的方法和设备
US10620928B2 (en) Global cloud applications management
CN105637563A (zh) 在屏幕上显示3d场景图的方法
US9678984B2 (en) File access for applications deployed in a cloud environment
EP3935536B1 (en) Secure execution guest owner controls for secure interface control
CN108021400A (zh) 数据处理方法及装置、计算机存储介质及设备
US11159620B2 (en) Blockchain based data transformation
JP2015180991A (ja) 画像形成装置、画像形成装置の制御方法およびプログラム
CN105049409A (zh) 分布式云环境下的安全访问控制架构及其访问方法
CN105049408A (zh) 一种用于分布式云环境之间互访的安全访问控制架构及其访问方法
US10911371B1 (en) Policy-based allocation of provider network resources
CN102402433B (zh) 模型、操作以及实现的分离
US12008363B1 (en) Delivering portions of source code based on a stacked-layer framework
CN116582325A (zh) 访问控制策略生成方法、访问控制决策方法及其设备
Fang et al. Optimization Algorithm for Computing Power Resource Scheduling Based on Container Cluster 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
GR01 Patent grant
GR01 Patent grant