Dynamic Selection and Application of Multiple Virtualization Techniques
    11.
    发明申请
    Dynamic Selection and Application of Multiple Virtualization Techniques 有权
    多虚拟化技术的动态选择与应用

    公开(公告)号:US20080288940A1

    公开(公告)日:2008-11-20

    申请号:US12057191

    申请日:2008-03-27

    Abstract: Autonomous selection between multiple virtualization techniques implemented in a virtualization layer of a virtualized computer system. The virtual machine monitor implements multiple virtualization support subsystems that each provide for the comprehensive handling of potential virtualization exceptions. A virtual machine monitor resident performance monitor computes relative virtualization overhead costs that are and would be incurred in using different virtualization support subsystems for virtualization exceptions that occur in executing a guest operating system within a defined interval. Dependent on the relative virtualization overhead costs determined, the virtual machine monitor resident virtualization selection control switches the virtual machine monitor to use the optimal virtualization support subsystem for handling virtualization exceptions that occur over a second defined interval.

    Abstract translation: 在虚拟化计算机系统的虚拟化层中实现的多个虚拟化技术之间的自主选择。 虚拟机监视器实现多个虚拟化支持子系统,每个虚拟化支持子系统都可以全面处理潜在的虚拟化异常。 虚拟机监视器驻留性能监视器计算在使用不同的虚拟化支持子系统以在定义的间隔内执行客户机操作系统时发生的虚拟化异常所引起并将会引起的相对虚拟化开销成本。 依赖于确定的相对虚拟化开销成本,虚拟机监视器驻留虚拟化选择控制切换虚拟机监视器以使用最佳虚拟化支持子系统来处理在第二个定义的间隔内发生的虚拟化异常。

    Virtualization system for computers having multiple protection mechanisms
    12.
    发明授权
    Virtualization system for computers having multiple protection mechanisms 有权
    具有多重保护机制的计算机的虚拟化系统

    公开(公告)号:US07278030B1

    公开(公告)日:2007-10-02

    申请号:US10378126

    申请日:2003-03-03

    CPC classification number: G06F12/1466 G06F9/45537

    Abstract: In a virtual computer system, the invention virtualizes a primary protection mechanism, which restricts memory accesses based on the type of access attempted and a current hardware privilege level, using a secondary protection mechanism, which is independent of the hardware privilege level. The invention may be used to virtualize the protection mechanisms of the Intel IA-64 architecture. In this embodiment, virtual access rights settings in a virtual TLB are translated into shadow access rights settings in a hardware TLB, while virtual protection key settings in a virtual PKR cache are translated into shadow protection key settings in a hardware PKR cache, based in part on the virtual access rights settings. The shadow protection key settings are dependent on the guest privilege level, but the shadow access rights settings are not.

    Abstract translation: 在虚拟计算机系统中,本发明使用独立于硬件特权级别的次级保护机制来虚拟化主保护机制,其基于尝试的访问类型和当前硬件特权级别来限制存储器访问。 本发明可以用于虚拟化Intel IA-64架构的保护机制。 在该实施例中,虚拟TLB中的虚拟访问权限设置被转换为硬件TLB中的影子访问权限设置,而虚拟PKR高速缓存中的虚拟保护密钥设置被部分地转换为硬件PKR高速缓存中的影子保护密钥设置 对虚拟访问权限设置。 影子保护键设置取决于访客权限级别,但影子访问权限设置不是。

    Restricting memory access to protect data when sharing a common address space
    13.
    发明授权
    Restricting memory access to protect data when sharing a common address space 有权
    限制内存访问以在共享公共地址空间时保护数据

    公开(公告)号:US07277998B1

    公开(公告)日:2007-10-02

    申请号:US10917732

    申请日:2004-08-12

    CPC classification number: G06F12/1036 G06F12/1475 G06F2212/656

    Abstract: A first software entity occupies a portion of a linear address space of a second software entity and prevents the second software entity from accessing the memory of the first software entity. For example, in one embodiment of the invention, the first software entity is a virtual machine monitor (VMM), which supports a virtual machine (VM), the second software entity. The VMM sometimes directly executes guest instructions from the VM and, at other times, the VMM executes binary translated instructions derived from guest instructions. When executing binary translated instructions, the VMM uses memory segmentation to protect its memory. When directly executing guest instructions, the VMM may use either memory segmentation or a memory paging mechanism to protect its memory. When the memory paging mechanism is active during direct execution, the protection from the memory segmentation mechanism may be selectively deactivated to improve the efficiency of the virtual computer system.

    Abstract translation: 第一软件实体占用第二软件实体的线性地址空间的一部分,并且防止第二软件实体访问第一软件实体的存储器。 例如,在本发明的一个实施例中,第一软件实体是支持虚拟机(VM)的第二软件实体的虚拟机监视器(VMM)。 VMM有时直接从VM执行访客指令,而在其他时候,VMM执行从访客指令导出的二进制翻译指令。 当执行二进制转换指令时,VMM使用存储器分段来保护其内存。 当直接执行访客指令时,VMM可以使用存储器分段或存储器寻呼机制来保护其存储器。 当存储器分页机制在直接执行期间有效时,可以选择性地停止对存储器分段机制的保护,以提高虚拟计算机系统的效率。

    Trace collection for a virtual machine
    14.
    发明授权
    Trace collection for a virtual machine 有权
    虚拟机的跟踪收集

    公开(公告)号:US08832682B2

    公开(公告)日:2014-09-09

    申请号:US12058545

    申请日:2008-03-28

    CPC classification number: G06F9/45533 G06F9/45558 G06F2009/45591

    Abstract: One embodiment is a computer-implemented method of trace collection for a virtual machine that includes: executing a sequence of instructions from an initial state of the virtual machine; accessing an event log of data relating to nondeterministic events, which data includes an execution point; making at least a portion of the data available to the virtual machine when the sequence reaches the execution point; collecting trace information in response to expansion parameters; and storing the trace information in a trace file.

    Abstract translation: 一个实施例是用于虚拟机的跟踪收集的计算机实现的方法,包括:从虚拟机的初始状态执行指令序列; 访问与非确定性事件有关的数据的事件日志,所述数据包括执行点; 当所述序列到达所述执行点时,使所述数据的至少一部分可用于所述虚拟机; 根据扩展参数收集跟踪信息; 并将跟踪信息存储在跟踪文件中。

    System and method for avoiding synchronization bugs through virtualization
    15.
    发明授权
    System and method for avoiding synchronization bugs through virtualization 有权
    通过虚拟化避免同步错误的系统和方法

    公开(公告)号:US08572606B1

    公开(公告)日:2013-10-29

    申请号:US11365012

    申请日:2006-03-01

    Abstract: A system and method for reducing the likelihood of concurrency errors by identifying vulnerable segments of computer code and stalling other virtual machine threads of execution. According to one embodiment of the present invention, the vulnerable segment is identified at runtime, for example in a dynamic translator. According to another embodiment of the present invention, the vulnerable segment is identified ahead of time, for example in a static translator. According to yet another embodiment of the present invention, the vulnerable segment is identified in the binary translator of a virtual machine monitor.

    Abstract translation: 通过识别计算机代码的易受攻击的部分并拖延执行其他虚拟机线程来减少并发错误的可能性的系统和方法。 根据本发明的一个实施例,在运行时识别易受攻击的段,例如在动态翻译器中。 根据本发明的另一个实施例,提前识别易受攻击的段,例如在静态转换器中。 根据本发明的另一个实施例,在虚拟机监视器的二进制转换器中识别易受攻击的段。

    Optimizing segment access in binary translation
    16.
    发明授权
    Optimizing segment access in binary translation 有权
    优化二进制翻译中的段访问

    公开(公告)号:US08316193B2

    公开(公告)日:2012-11-20

    申请号:US12629682

    申请日:2009-12-02

    CPC classification number: G06F9/45516 G06F9/45558 G06F2009/45583

    Abstract: A mechanism for a binary translator to emit code that will pre-generate information about a memory segment when a segment selector is assigned to a segment register. The binary translator emits code that will be executed when a memory access using that segment register is encountered and the emitted code will access the pre-generated information when evaluating the memory access request. Memory accesses, where a number of bytes being accessed is less than or equal to a predetermined value, are validated with a number of steps in the code emitted by the binary translator.

    Abstract translation: 一种二进制转换器发出代码的机制,当段选择器被分配给段寄存器时,该代码将预先生成关于存储器段的信息。 二进制翻译器发出将在遇到使用该段寄存器的存储器访问时执行的代码,并且当评估存储器访问请求时,发出的代码将访问预生成的信息。 存储器访问(其中访问的字节数小于或等于预定值)通过二进制翻译器发出的代码中的多个步骤来验证。

    Virtual machine fault tolerance
    17.
    发明授权
    Virtual machine fault tolerance 有权
    虚拟机容错

    公开(公告)号:US08201169B2

    公开(公告)日:2012-06-12

    申请号:US12484640

    申请日:2009-06-15

    Abstract: In a computer system running a primary virtual machine (VM) on virtualization software on a primary virtualized computer system (VCS) and running a secondary VM on virtualization software on a secondary VCS, a method for the secondary VM to provide quasi-lockstep fault tolerance for the primary VM includes: as the primary VM is executing a workload, virtualization software in the primary VCS is: (a) causing predetermined events to be recorded in an event log, (b) keeping output associated with the predetermined events pending, and (c) sending the log entries to the virtualization software in the secondary VCS; as the secondary VM is replaying the workload, virtualization software in the secondary VCS is: (a) sending acknowledgements indicating that log entries have been received; (b) when the virtualization software encounters one of the predetermined events, searching the log entries to determine whether a log entry corresponding to the same event was received from the primary VCS, and if so, comparing data associated with the predetermined event produced by the secondary VM with that of the primary VM; if there is a match, the virtualization software in the secondary VCS transmitting an acknowledgement to the virtualization software in the primary VCS; one of the virtualization software in the primary or secondary VCS dropping the event and the other dispatching the output; and if there is no match, performing a checkpoint resynchronization.

    Abstract translation: 在主虚拟化计算机系统(VCS)上的虚拟化软件上运行主虚拟机(VM)并在辅助VCS上运行虚拟化软件上的辅助虚拟机的计算机系统中,辅助虚拟机提供准锁步骤容错 对于主虚拟机包括:当主虚拟机正在执行工作负载时,主VCS中的虚拟化软件是:(a)使事件日志中记录预定事件,(b)保持与预定事件挂起的输出挂起,以及 (c)将日志条目发送到二级VCS中的虚拟化软件; 当辅助虚拟机正在重播工作负载时,辅助VCS中的虚拟化软件是:(a)发送指示已经接收到日志条目的确认; (b)当虚拟化软件遇到预定事件之一时,搜索日志条目以确定是否从主VCS接收到与同一事件相对应的日志条目,如果是,则将与由该VCS生成的预定事件相关联的数据进行比较 辅助虚拟机与主虚拟机的辅助虚拟机; 如果存在匹配,则次级VCS中的虚拟化软件向主VCS中的虚拟化软件发送确认; 主要或次要VCS中的虚拟化软件之一放弃事件,另一个调度输出; 如果没有匹配,则执行检查点重新同步。

    Virtualization system for computers having multiple protection mechanisms
    18.
    发明授权
    Virtualization system for computers having multiple protection mechanisms 有权
    具有多重保护机制的计算机的虚拟化系统

    公开(公告)号:US07908646B1

    公开(公告)日:2011-03-15

    申请号:US11865670

    申请日:2007-10-01

    CPC classification number: G06F12/1466 G06F9/45537

    Abstract: In a virtual computer system, the invention virtualizes a primary protection mechanism, which restricts memory accesses based on the type of access attempted and a current hardware privilege level, using a secondary protection mechanism, which is independent of the hardware privilege level. The invention may be used to virtualize the protection mechanisms of the Intel IA-64 architecture. In this embodiment, virtual access rights settings in a virtual TLB are translated into shadow access rights settings in a hardware TLB, while virtual protection key settings in a virtual PKR cache are translated into shadow protection key settings in a hardware PKR cache, based in part on the virtual access rights settings. The shadow protection key settings are dependent on the guest privilege level, but the shadow access rights settings are not.

    Abstract translation: 在虚拟计算机系统中,本发明使用独立于硬件特权级别的次级保护机制来虚拟化主保护机制,其基于尝试的访问类型和当前硬件特权级别来限制存储器访问。 本发明可以用于虚拟化Intel IA-64架构的保护机制。 在该实施例中,虚拟TLB中的虚拟访问权限设置被转换为硬件TLB中的影子访问权限设置,而虚拟PKR高速缓存中的虚拟保护密钥设置被部分地转换为硬件PKR高速缓存中的影子保护密钥设置 对虚拟访问权限设置。 影子保护键设置取决于访客权限级别,但影子访问权限设置不是。

    Virtual Machine Fault Tolerance
    19.
    发明申请
    Virtual Machine Fault Tolerance 有权
    虚拟机容错

    公开(公告)号:US20100318991A1

    公开(公告)日:2010-12-16

    申请号:US12484640

    申请日:2009-06-15

    Abstract: In a computer system running a primary virtual machine (VM) on virtualization software on a primary virtualized computer system (VCS) and running a secondary VM on virtualization software on a secondary VCS, a method for the secondary VM to provide quasi-lockstep fault tolerance for the primary VM includes: as the primary VM is executing a workload, virtualization software in the primary VCS is: (a) causing predetermined events to be recorded in an event log, (b) keeping output associated with the predetermined events pending, and (c) sending the log entries to the virtualization software in the secondary VCS; as the secondary VM is replaying the workload, virtualization software in the secondary VCS is: (a) sending acknowledgements indicating that log entries have been received; (b) when the virtualization software encounters one of the predetermined events, searching the log entries to determine whether a log entry corresponding to the same event was received from the primary VCS, and if so, comparing data associated with the predetermined event produced by the secondary VM with that of the primary VM; if there is a match, the virtualization software in the secondary VCS transmitting an acknowledgement to the virtualization software in the primary VCS; one of the virtualization software in the primary or secondary VCS dropping the event and the other dispatching the output; and if there is no match, performing a checkpoint resynchronization.

    Abstract translation: 在主虚拟化计算机系统(VCS)上的虚拟化软件上运行主虚拟机(VM)并在辅助VCS上运行虚拟化软件上的辅助虚拟机的计算机系统中,辅助虚拟机提供准锁步骤容错 对于主虚拟机包括:当主虚拟机正在执行工作负载时,主VCS中的虚拟化软件是:(a)使事件日志中记录预定事件,(b)保持与预定事件挂起的输出挂起,以及 (c)将日志条目发送到二级VCS中的虚拟化软件; 当辅助虚拟机正在重播工作负载时,辅助VCS中的虚拟化软件是:(a)发送指示已经接收到日志条目的确认; (b)当虚拟化软件遇到预定事件之一时,搜索日志条目以确定是否从主VCS接收到与同一事件相对应的日志条目,如果是,则将与由该VCS生成的预定事件相关联的数据进行比较 辅助虚拟机与主虚拟机的辅助虚拟机; 如果存在匹配,则次级VCS中的虚拟化软件向主VCS中的虚拟化软件发送确认; 主要或次要VCS中的虚拟化软件之一放弃事件,另一个调度输出; 如果没有匹配,则执行检查点重新同步。

    Trace Collection for a Virtual Machine
    20.
    发明申请
    Trace Collection for a Virtual Machine 有权
    虚拟机的跟踪收集

    公开(公告)号:US20090248611A1

    公开(公告)日:2009-10-01

    申请号:US12058545

    申请日:2008-03-28

    CPC classification number: G06F9/45533 G06F9/45558 G06F2009/45591

    Abstract: One embodiment is a computer-implemented method of trace collection for a virtual machine that includes: executing a sequence of instructions from an initial state of the virtual machine; accessing an event log of data relating to nondeterministic events, which data includes an execution point; making at least a portion of the data available to the virtual machine when the sequence reaches the execution point; collecting trace information in response to expansion parameters; and storing the trace information in a trace file.

    Abstract translation: 一个实施例是用于虚拟机的跟踪收集的计算机实现的方法,包括:从虚拟机的初始状态执行指令序列; 访问与非确定性事件有关的数据的事件日志,所述数据包括执行点; 当所述序列到达所述执行点时,使所述数据的至少一部分可用于所述虚拟机; 根据扩展参数收集跟踪信息; 并将跟踪信息存储在跟踪文件中。

Patent Agency Ranking