摘要:
Various approaches for virtual appliance management are described. In one approach a virtual appliance repository stores one or more virtual appliances and is coupled to the host computer via a network. A storage device stores a transceiver program capable when executed on said host computer of requesting and receiving the virtual appliances, and generating for each received virtual appliance a respective local copy on the host computer of each received virtual appliance. The local copy is private to the host computer. The transceiver program further binds the virtual appliances to the host computer and obtains user data relevant to the virtual appliances. The transceiver program runs each of the virtual appliances from the respective private local copies on the host computer.
摘要:
Various approaches for virtual appliance management are described. In one approach a virtual appliance repository stores one or more virtual appliances and is coupled to the host computer via a network. A storage device stores a transceiver program capable when executed on said host computer of requesting and receiving the virtual appliances, and generating for each received virtual appliance a respective local copy on the host computer of each received virtual appliance. The local copy is private to the host computer. The transceiver program further binds the virtual appliances to the host computer and obtains user data relevant to the virtual appliances. The transceiver program runs each of the virtual appliances from the respective private local copies on the host computer.
摘要:
A cache-based system management architecture named “the Collective” automates system management and supports mobile computing. The Collective manages systems by manipulating virtual appliances, each encapsulating a system state. A virtual appliance (VA) may comprise a virtual network of VAs. Distributed repositories separately storing the VAs and user data. Publishers create and maintain VAs. A user plugs a bootable portable storage device implementing a VA transceiver (VAT) into a host computer. The VAT, comprising a Manager, a Cache Client, and a virtual machine monitor (VMM), authenticates the user, retrieves a copy of the latest version of a subscribed VA from the appropriate network repository, obtains user data, and automatically backs up the user data over the network in the background while running the subscribed VA. Multiple VAs can be run at the same time. With the novel caching protocol and cache charging process, the Collective performs well and has numerous advantages.
摘要:
A cache-based system management architecture named “the Collective” automates system management and supports mobile computing. The Collective manages systems by manipulating virtual appliances, each encapsulating a system state. A virtual appliance (VA) may comprise a virtual network of VAs. Distributed repositories separately storing the VAs and user data. Publishers create and maintain VAs. A user plugs a bootable portable storage device implementing a VA transceiver (VAT) into a host computer. The VAT, comprising a Manager, a Cache Client, and a virtual machine monitor (VMM), authenticates the user, retrieves a copy of the latest version of a subscribed VA from the appropriate network repository, obtains user data, and automatically backs up the user data over the network in the background while running the subscribed VA. Multiple VAs can be run at the same time. With the novel caching protocol and cache charging process, the Collective performs well and has numerous advantages.
摘要:
The problem of extending modern operating systems to run efficiently on large-scale shared memory multiprocessors without a large implementation effort is solved by a unique type of virtual machine monitor. Virtual machines are used to run multiple commodity operating systems on a scalable multiprocessor. To reduce the memory overheads associated with running multiple operating systems, virtual machines transparently share major data structures such as the operating system code and the file system buffer cache. We use the distributed system support of modem operating systems to export a partial single system image to the users. Two techniques, copy-on-write disks and the use of a special network device, enable transparent resource sharing without requiring the cooperation of the operating systems. This solution addresses many of the challenges facing the system software for these machines. The overheads of the monitor are small and the approach provides scalability as well as the ability to deal with the non-uniform memory access time of these systems. The overall solution achieves most of the benefits of operating systems customized for scalable multiprocessors yet it can be achieved with a significantly smaller implementation effort.
摘要:
A virtual machine monitor (VMM) is included in a computer system that has a protected host operating system (HOS). A virtual machine running at least one application via a virtual operating system is connected to the VMM. Both the HOS and the VMM have separate operating contexts and disjoint address spaces, but are both co-resident at system level. A driver that is downloadable into the HOS at system level forms a total context switch between the VMM and HOS contexts. A user-level emulator accepts commands from the VMM via the system-level driver and processes these commands as remote procedure calls. The emulator is able to issue host operating system calls and thereby access the physical system devices via the host operating system. The host operating system itself thus handles execution of certain VMM instructions, such as accessing physical devices.
摘要:
In a computer that has hardware processor, and a memory, the invention provides a virtual machine monitor (VMM) and a virtual machine (VM) that has at least one virtual processor and is operatively connected to the VMM for running a sequence of VM instructions, which are either directly executable or non-directly executable. The VMM includes both a binary translation sub-system and a direct execution sub-system, as well as a sub-system that determines if VM instructions must be executed using binary translation, or if they can be executed using direct execution. Shadow descriptor tables in the VMM, corresponding to VM descriptor tables, segment tracking and memory tracing are used as factors in the decision of which execution mode to activate. The invention is particularly well-adapted for virtualizing computers in which the hardware processor has an Intel x86 architecture.
摘要:
The invention virtualizes a computer that includes a host computer system, which comprises a processor, memory, and physical system devices. A conventional operating system (referred to below as the “host operating system” or “HOS”) is installed on the hardware. A computer program product that is executable within the host computer system comprises computer-executable code for implementing an interface software layer, preferably a virtual machine monitor, between the host system and a virtual machine; for reading in and storing state information of the processor associated with the HOS; and for logically decoupling the HOS from the processor with respect to pre-determined functions of the interface software layer and the virtual machine by setting the processor state information to settings associated with the interface software layer.
摘要:
A computer system includes at least one virtual machine that has a plurality of virtual processors all running on an underlying hardware platform. A software interface layer such as a virtual machine monitor establishes traces on primary structures located in a common memory space as needed for the different virtual processors. Whenever any one of the virtual processors generates a trace event, such as accessing a traced structure, then a notification is sent to at least the other virtual processors that have a trace on the accessed primary structure. In some applications, the VMM derives and maintains secondary structures corresponding to the primary structures, such as where the VMM converts, through binary translation, original code intended to run on a virtual processor into code that can be run on an underlying physical processor of the hardware platform. In these applications, the VMM may rederive or invalidate the secondary structures as needed upon receipt of the notification of the trace event. Different semantics are provided for the notification, providing different choices of performance versus guaranteed consistency between primary and secondary structures. In the preferred embodiment of the invention, a dedicated sub-system is included within the VMM for each virtual processor; each sub-system establishes traces, senses trace events, issues the notification, and performs other operations relating specifically to its respective virtual processor.
摘要:
A computer system includes at least one virtual machine that has a plurality of virtual processors all running on an underlying hardware platform. A software interface layer such as a virtual machine monitor establishes traces on primary structures located in a common memory space as needed for the different virtual processors. Whenever any one of the virtual processors generates a trace event, such as accessing a traced structure, then a notification is sent to at least the other virtual processors that have a trace on the accessed primary structure. In some applications, the VMM derives and maintains secondary structures corresponding to the primary structures, such as where the VMM converts, through binary translation, original code intended to run on a virtual processor into code that can be run on an underlying physical processor of the hardware platform. In these applications, the VMM may rederive or invalidate the secondary structures as needed upon receipt of the notification of the trace event. Different semantics are provided for the notification, providing different choices of performance versus guaranteed consistency between primary and secondary structures. In the preferred embodiment of the invention, a dedicated sub-system is included within the VMM for each virtual processor; each sub-system establishes traces, senses trace events, issues the notification, and performs other operations relating specifically to its respective virtual processor.