Apparatus for executing a plurality of program segments having different object code types in a single program or processor environment
    1.
    发明授权
    Apparatus for executing a plurality of program segments having different object code types in a single program or processor environment 失效
    用于在单个程序或处理器环境中执行具有不同目标代码类型的多个程序段的装置

    公开(公告)号:US06256658B1

    公开(公告)日:2001-07-03

    申请号:US08409477

    申请日:1995-03-22

    IPC分类号: G06F900

    CPC分类号: G06F9/45504 G06F9/4484

    摘要: The invention provides a method and apparatus for switching between execution of a plurality of object code types having different conventions for invoking program procedures and performing stack manipulations. The invention may also be used to switch between different calling conventions within a single object code type. Briefly according to the invention, a computer system comprises a routine descriptor, a stack switch frame, a mode switching mechanism for switching from a first processor, code or calling convention type to a second processor, code or calling convention type and means for executing instructions in various code types. A routine descriptor describes a program or code segment and its code type and calling conventions. A routine descriptor contains, among other information, a “mixed mode” field which is set to a specific, predetermined value such as a value indicating an instruction which is not legal in the runtime environment of a first processor, code or calling convention type. When that instruction is encountered, control is transferred to the mode switching mechanism. A routine descriptor also contains a “procedure information” field which is set to a value indicating the convention for invoking a program segment and performing appropriate stack manipulations. When a routine calls a routine having a different stack model, the mode switching mechanism uses a stack switch frame to provide a transition between the two different stack types.

    摘要翻译: 本发明提供了一种用于在具有用于调用程序过程和执行堆栈操作的不同约定的多个对象代码类型的执行之间进行切换的方法和装置。 本发明还可以用于在单个目标代码类型内的不同调用约定之间切换。 简而言之,根据本发明,计算机系统包括例程描述符,堆栈交换帧,用于从第一处理器切换的代码或调用约定类型到第二处理器的代码或调用约定类型的模式切换机制以及用于执行指令的装置 在各种代码类型中。程序描述符描述程序或代码段及其代码类型和调用约定。 除了其他信息之外,例程描述符还包含被设置为特定的预定值的“混合模式”字段,诸如指示在第一处理器,代码或调用约定类型的运行时环境中不合法的指令的值。 当遇到该指令时,控制转移到模式切换机制。 例程描述符还包含一个“过程信息”字段,其被设置为指示调用程序段并执行适当的堆栈操作的约定的值。当例程调用具有不同堆栈模型的例程时,模式切换机制使用堆栈 切换框架以提供两种不同堆栈类型之间的转换。

    Apparatus for executing a plurality of program segments having different
object code types in a single program or processor environment
    2.
    发明授权
    Apparatus for executing a plurality of program segments having different object code types in a single program or processor environment 失效
    用于在单个程序或处理器环境中执行具有不同目标代码类型的多个程序段的装置

    公开(公告)号:US5452456A

    公开(公告)日:1995-09-19

    申请号:US993923

    申请日:1992-12-18

    CPC分类号: G06F9/45504 G06F9/4425

    摘要: The invention provides a method and apparatus for switching between execution of a plurality of object code types having different conventions for invoking program procedures and performing stack manipulations. The invention may also be used to switch between different calling conventions within a single object code type. Briefly according to the invention, a computer system comprises a routine descriptor, a stack switch frame, a mode switching mechanism for switching from a first processor, code or calling convention type to a second processor, code or calling convention type and means for executing instructions in various code type codes. A routine descriptor describes a program or code segment and its code type and calling conventions. A routine descriptor contains, among other information, a "mixed mode" field which is set to a specific, predetermined value such as a value indicating an instruction which is not legal in the runtime environment of a first processor, code or calling convention type. When that instruction is encountered, control is transferred to the mode switching mechanism. A routine descriptor also contains a "procedure information" field which is set to a value indicating the convention for invoking a program segment and performing appropriate stack manipulations. When a routine calls a routine having a different stack model, the mode switching mechanism uses a stack switch frame to provide a transition between the two different stack types.

    摘要翻译: 本发明提供了一种用于在具有用于调用程序过程和执行堆栈操作的不同约定的多个对象代码类型的执行之间进行切换的方法和装置。 本发明还可以用于在单个目标代码类型内的不同调用约定之间切换。 简而言之,根据本发明,计算机系统包括例程描述符,堆栈交换帧,用于从第一处理器切换的代码或调用约定类型到第二处理器的代码或调用约定类型的模式切换机制以及用于执行指令的装置 在各种代码类型的代码。 例程描述符描述程序或代码段及其代码类型和调用约定。 除了其他信息之外,例程描述符还包含被设置为特定的预定值的“混合模式”字段,诸如指示在第一处理器,代码或调用约定类型的运行时环境中不合法的指令的值。 当遇到该指令时,控制转移到模式切换机制。 例程描述符还包含“过程信息”字段,其被设置为指示调用程序段并执行适当的堆栈操作的约定的值。 当例程调用具有不同堆栈模型的例程时,模式切换机制使用堆栈交换帧来提供两种不同堆栈类型之间的转换。

    Systems and Methods for a Disaster Recovery System Utilizing Virtual Machines Running on at Least Two Host Computers in Physically Different Locations
    4.
    发明申请
    Systems and Methods for a Disaster Recovery System Utilizing Virtual Machines Running on at Least Two Host Computers in Physically Different Locations 有权
    使用在身体不同位置的至少两台主机上运行的虚拟机的灾难恢复系统的系统和方法

    公开(公告)号:US20110047548A1

    公开(公告)日:2011-02-24

    申请号:US12917312

    申请日:2010-11-01

    申请人: Eric P. Traut

    发明人: Eric P. Traut

    IPC分类号: G06F9/455

    摘要: The present invention is directed to systems and methods for providing disaster recovery services using virtual machines. The invention provides an inexpensive and minimally intrusive way to provide disaster recovery services including recovery of the state of computer processors and devices. The system includes a production host and a backup host that communicate via a communications link. The state of the processor and devices on the production host are periodically stored onto backup host and can be restored in the event of an emergency. Additionally, the invention includes two business methods for utilizing the system and methods for providing disaster recovery services.

    摘要翻译: 本发明涉及使用虚拟机提供灾难恢复服务的系统和方法。 本发明提供了廉价和最小的侵入方式来提供灾难恢复服务,包括恢复计算机处理器和设备的状态。 该系统包括通过通信链路进行通信的生产主机和备份主机。 处理器和生产主机上的设备的状态会定期存储在备份主机上,并在紧急情况下恢复。 此外,本发明包括利用系统的两种业务方法和用于提供灾难恢复服务的方法。

    Partition bus
    5.
    发明授权
    Partition bus 有权
    分区巴士

    公开(公告)号:US07689800B2

    公开(公告)日:2010-03-30

    申请号:US11128647

    申请日:2005-05-12

    IPC分类号: G06F12/00

    CPC分类号: G06F9/544 G06F9/45537

    摘要: A method and system are provided for integrating partitions in a virtual machine environment. Specifically, a partition bus is provided, where the partition bus operatively connects partitions in such a way that it functions as a data transport mechanism allowing for data transfer and device sharing between partitions. The partition bus relies on virtualizing software in order to establish itself and to establish channels of communication between partitions and to inject interrupts to partitions where it is appropriate to do so. Furthermore, the partition bus employs such mechanisms ring buffers, transfer pages, and memory map changes to transfer information (requests and data). Furthermore, it uses policy agents to decide when information should be transferred or when devices should be shared among partitions. Lastly, it employs various mechanisms to ensure smooth integration between partitions, which includes remote services that have proxy devices and device versioning functionalities.

    摘要翻译: 提供了一种在虚拟机环境中集成分区的方法和系统。 具体地说,提供了分区总线,其中分区总线以这样的方式可操作地连接分区,使得其用作数据传输机制,允许分区之间的数据传输和设备共享。 分区总线依赖于虚拟化软件,以便建立自身并建立分区之间的通信通道,并将中断注入适当的分区。 此外,分区总线使用环形缓冲器,传送页面和存储器映射变化来传送信息(请求和数据)。 此外,它使用策略代理来决定何时应该传输信息,或者在分区之间共享设备。 最后,它采用各种机制来确保分区之间的平滑集成,其中包括具有代理设备和设备版本控制功能的远程服务。

    Method for forking or migrating a virtual machine
    6.
    发明授权
    Method for forking or migrating a virtual machine 有权
    用于划分或迁移虚拟机的方法

    公开(公告)号:US07313793B2

    公开(公告)日:2007-12-25

    申请号:US10193531

    申请日:2002-07-11

    IPC分类号: G06F9/455

    CPC分类号: G06F9/4856 G06F9/45537

    摘要: A method is provided for increasing the efficiency of virtual machine processing. A parent virtual machine is provided on a host computer. The parent virtual machine is temporarily or permanently suspended. A child virtual machine is created at a new location by forking the parent virtual machine. The child virtual machine may not initially include all the stored data that is associated with the parent virtual machine.

    摘要翻译: 提供了一种提高虚拟机处理效率的方法。 父虚拟机在主机上提供。 父虚拟机暂时或永久挂起。 通过分叉父虚拟机在新位置创建子虚拟机。 子虚拟机可能最初不包括与父虚拟机相关联的所有存储的数据。

    System and method for the logical substitution of processor control in an emulated computing environment
    7.
    发明授权
    System and method for the logical substitution of processor control in an emulated computing environment 有权
    用于仿真计算环境中处理器控制的逻辑替换的系统和方法

    公开(公告)号:US07275028B2

    公开(公告)日:2007-09-25

    申请号:US09906392

    申请日:2001-07-16

    申请人: Eric P. Traut

    发明人: Eric P. Traut

    摘要: In an emulated computing environment, a method is provided for logically decoupling the host operating system from the processor of the computer system with respect to certain processor settings of the processor. A hypervisor of the emulation program replaces some of the processor settings of the processor with processor settings associated with software routines or data structures provided by the guest operating system. The replaced processor settings are written to memory. During this period, when the processor calls a software routine or accesses a data structure associated with the replaced processor setting, the processor will call or access a software routine or access a data structure associated with the guest operating system, bypassing the host operating system and communicating directly with the guest operating system. When the host operating system is to be recoupled to the processor, the processor settings that have been saved to memory are rewritten to the appropriate registers of the processor. During the period that the hypervisor is coupled to the processor, the page table of the hypervisor is established such that it largely mirrors the page table of the guest operating system. If a change to the page table of the guest operating system causes a conflict between the page table of the guest operating system and the page table of the hypervisor, the page table of the hypervisor is reallocated in a manner that is transparent to the guest operating system.

    摘要翻译: 在仿真的计算环境中,提供了一种用于相对于处理器的某些处理器设置将主机操作系统与计算机系统的处理器逻辑去耦的方法。 仿真程序的虚拟机管理程序用与客户机操作系统提供的软件例程或数据结构相关联的处理器设置替代处理器的一些处理器设置。 已更换的处理器设置将写入存储器。 在此期间,当处理器调用软件程序或访问与替换的处理器设置相关联的数据结构时,处理器将呼叫或访问软件程序或访问与客户操作系统相关联的数据结构,绕过主机操作系统,以及 与客户操作系统直接通信。 当主机操作系统要重新连接到处理器时,已经保存到存储器的处理器设置被重写到处理器的相应寄存器。 在管理程序耦合到处理器的期间,管理程序的页表被建立,使得它很大程度上反映客户操作系统的页表。 如果对客户操作系统的页表的更改导致客户机操作系统的页表和虚拟机管理程序的页表之间的冲突,则虚拟机管理程序的页表以对客户操作透明的方式重新分配 系统。

    Method for monitoring and emulating privileged instructions of programs in a virtual machine
    8.
    发明授权
    Method for monitoring and emulating privileged instructions of programs in a virtual machine 有权
    用于监视和仿真虚拟机中程序的特权指令的方法

    公开(公告)号:US07210144B2

    公开(公告)日:2007-04-24

    申请号:US10211148

    申请日:2002-08-02

    申请人: Eric P. Traut

    发明人: Eric P. Traut

    摘要: A method for monitoring and emulating privileged instructions of a program that is being executed at a privilege level in a virtual machine is disclosed. A privilege level associated with a received instruction is determined. The instruction privilege level is compared to the program execution privilege level. If the instruction privilege level is valid with respect to the program execution privilege level, the instruction is executed. If the instruction privilege level is invalid with respect to the program execution privilege level: the instruction result is emulated; the number of times the instruction has been received from the program is checked; and if the instruction has been received more than a specified number of times, the instruction is overwritten with one or more instructions with a valid privilege level with respect to the program execution privilege level.

    摘要翻译: 公开了一种用于监视和模拟正在虚拟机中的特权级别执行的程序的特许指令的方法。 确定与接收到的指令相关联的特权级别。 指令权限级别与程序执行权限级别进行比较。 如果指令权限级别对程序执行权限级别有效,则执行指令。 如果指令权限级别相对于程序执行权限级别无效,则指令结果被仿真; 检查从程序接收到指令的次数; 并且如果指令已被接收多于指定次数,则指令被相对于程序执行权限级别的具有有效特权级别的一个或多个指令覆盖。

    User interface for interaction with virtual machine
    9.
    发明授权
    User interface for interaction with virtual machine 有权
    用于与虚拟机交互的用户界面

    公开(公告)号:US09286088B2

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

    申请号:US12400033

    申请日:2009-03-09

    摘要: Systems, methods, and computer program products are described that provide a user interface to a user of a first operating system to enable the user to interact with a second operating system executing in a virtual machine. If the first and second operating systems are in communication in accordance with an operating system remote terminal (OSRT) protocol, such as Remote Desktop Protocol, a first user interface is provided as the user interface. If the first and second operating systems are not in communication in accordance with the OSRT protocol, a second user interface is provided as the user interface.

    摘要翻译: 描述了系统,方法和计算机程序产品,其向第一操作系统的用户提供用户界面,以使得用户能够与在虚拟机中执行的第二操作系统进行交互。 如果第一和第二操作系统根据诸如远程桌面协议的操作系统远程终端(OSRT)协议进行通信,则提供第一用户界面作为用户界面。 如果第一和第二操作系统根据OSRT协议不进行通信,则提供第二用户界面作为用户界面。

    Systems and methods for hypervisor discovery and utilization
    10.
    发明授权
    Systems and methods for hypervisor discovery and utilization 有权
    管理程序发现和利用的系统和方法

    公开(公告)号:US08635612B2

    公开(公告)日:2014-01-21

    申请号:US11119200

    申请日:2005-04-29

    IPC分类号: G06F9/455

    CPC分类号: G06F9/45533

    摘要: Systems and methods are provided, whereby partitions may become enlightened and discover the presence of a hypervisor. Several techniques of hypervisor discovery are discussed, such as detecting the presence of virtual processor registers (e.g. model specific registers or special-purpose registers) or the presence of virtual hardware devices. Upon discovery, information (code and/or data) may be injected in a partition by the hypervisor, whereby such injection allows the partition to call the hypervisor. Moreover, the hypervisor may present a versioning mechanism that allows the partition to match up the version of the hypervisor to its virtual devices. Next, once code and/or data is injected, calling conventions are established that allow the partition and the hypervisor to communicate, so that the hypervisor may perform some operations on behalf of the partition. Four exemplary calling conventions are considered: restartable instructions, a looping mechanism, shared memory transport, and synchronous or asynchronous processed packets. Last, cancellation mechanisms are considered, whereby partition requests may be cancelled.

    摘要翻译: 提供了系统和方法,由此分区可能变得开明并发现管理程序的存在。 讨论了管理程序发现的几种技术,例如检测虚拟处理器寄存器(例如模型特定寄存器或专用寄存器)的存在或虚拟硬件设备的存在。 一旦发现,信息(代码和/或数据)可以由管理程序注入到分区中,由此这种注入允许分区调用管理程序。 此外,管理程序可以呈现允许分区将虚拟机管理程序的版本与其虚拟设备相匹配的版本控制机制。 接下来,一旦注入了代码和/或数据,就建立了允许分区和管理程序进行通信的调用约定,以便管理程序可以代表分区执行一些操作。 考虑四个示例性的呼叫约定:可重新启动的指令,循环机制,共享存储器传输和同步或异步处理的分组。 最后,考虑取消机制,从而可能会取消分区请求。