Patent application number | Description | Published |
20140068606 | ACTIVITY BASED DEVICE REMOVAL MANAGEMENT - Methods and systems for managing a removal of a device from a guest managed by a hypervisor in virtualized computing environment. A hypervisor maintains in a memory a last accessed state associated with a virtual machine executing a guest. The last accessed state is cleared by the hypervisor when the virtual machine is reset and the last accessed state is set when the hypervisor receives a request from the guest to access a device. The hypervisor receives a request to remove the device from the guest of the virtual machine and remove the device from the guest when the last accessed state is clear. | 03-06-2014 |
20140068607 | MANAGING SAFE REMOVAL OF A PASSTHROUGH DEVICE IN A VIRTUALIZATION SYSTEM - Methods and systems for managing a removal of a passthrough device from a guest managed by a hypervisor in virtualized computing environment. A hypervisor receives a request from the guest for access to a passthrough device. The hypervisor sets, in a memory, a last accessed state associated with a virtual machine executing the guest. The hypervisor forwards the request to the passthrough device and configures the host CPU to send a subsequent access request directly to the passthrough device. In response to a virtual machine reset, the hypervisor clears the last accessed state and instructs the host CPU to send a post-reset access request to the hypervisor. | 03-06-2014 |
20140143771 | DELIVERY OF EVENTS FROM A VIRTUAL MACHINE TO HOST CPU USING MEMORY MONITORING INSTRUCTIONS - A method and system for managing a virtual computing system including a virtual machine (VM) configured to send an event to a host CPU executing a memory monitoring instruction. The virtual machine is configured to receive from a hypervisor a notification identifying an address range writeable by a virtual central processing unit (VCPU) associated with the virtual machine to send an event to a host central processing unit (CPU). The virtual machine is further configured to receive an instruction to write to the identified address range for sending an event to the host CPU. The VCPU of the virtual machine may then write data identifying an event for execution by the host CPU to the identified address range, without causing an exit to the hypervisor. | 05-22-2014 |
20140149633 | DELIVERY OF EVENTS FROM A VIRTUAL MACHINE TO A THREAD EXECUTABLE BY MULTIPLE HOST CPUS USING MEMORY MONITORING INSTRUCTIONS - A method and system for managing a virtual computing system including a hypervisor managing a virtual machine (VM) configured to communicate with a thread executable by multiple host central processing units (CPUs), using memory monitoring instructions. The hypervisor provides the virtual machine with a first notification identifying a first designated memory range writeable by a virtual central processing unit (VCPU) associated with the virtual machine and a first instruction to write to the first designated memory range to communicate with the thread running on a first host CPU. The hypervisor further identifies movement of the thread from the first host CPU to a second host CPU and provides to the virtual machine a second notification identifying a second designated memory range and a second instruction to write to the second designated memory range to communicate with the thread running on the second host CPU. | 05-29-2014 |
20140149979 | VIRTUAL MACHINE WAKEUP USING A MEMORY MONITORING INSTRUCTION - A method and system for managing a virtual computing system including an event source configured to send an event to a destination virtual machine (VM) executing a memory monitoring instruction on a designated address range of a host memory. A hypervisor instructs a destination virtual central processing unit (VCPU) associated with the destination VM to execute the memory monitoring instruction to the designated address range of a memory. A physical CPU associated with the designated address range is configured not to perform an exit to the hypervisor in response to execution of the memory monitoring instruction by the destination VCPU. The hypervisor instructs an event source to write data to the designated address range to send an event for performance by the destination VM, wherein the destination VM wakes up and performs the identified event in response to the event source writing to the identified address range. | 05-29-2014 |
20140156894 | MSI EVENTS USING DYNAMIC MEMORY MONITORING - A method and system for managing message-signaled interrupt-based events sent from an event source to a host or a guest is disclosed. A central processing unit instructs an event source to write a message-signaled interrupt to a designated address of a random access memory of the host. The host or a guest of the central processing unit executes a memory monitoring instruction to the designated address. The host or the guest enters a wait state. The host or the guest detects a write of the message-signaled interrupt by the event source to the designated address, the message-signaled interrupt comprising data items pertaining to an event to be performed. The host or the guest exits from the wait state. The host or the guest performs an atomic operation with respect to the event based on the data items in the message-signaled interrupt. | 06-05-2014 |
20140215172 | PROVIDING VIRTUAL MACHINE MIGRATION RELIABILITY USING AN INTERMEDIARY STORAGE DEVICE - Systems and methods for live migration of a virtual machine are provided. A migration manager can send a request to a source host machine to migrate a virtual machine to a first destination host machine. The migration manager can determine that the migration of the virtual machine from the source host machine to the first destination host machine has failed. The migration manager can identify an intermediary storage device used during the migration to store a state of the virtual machine. The migration manager identifies a second destination host machine for the virtual machine migration. The migration manager causes the second destination host machine to obtain the state of the virtual machine from the intermediary storage device to migrate the virtual machine to the second destination host machine. | 07-31-2014 |
20140215459 | VIRTUAL MACHINE MEMORY MIGRATION BY STORAGE - Systems and methods for live migration are provided. A hypervisor receives a request to migrate a virtual machine from a source host machine to a destination host machine, and maps memory of the virtual machine on the source host machine to a storage device accessible by the source host machine and by the destination host machine. | 07-31-2014 |
20140244885 | CONFIGURATION SNOOPING BRIDGE - Systems and methods for configuration snooping are provided. A bridge identifies an initialization message of a central processing unit (CPU) for a device that is downstream of a primary interface of the bridge. The bridge identifies a response to the initialization message. The bridge determines the address range for the device. The bridge stores the address range for the device in a list in the bridge. | 08-28-2014 |
20140244891 | Providing Dynamic Topology Information in Virtualized Computing Environments - Systems and methods for providing dynamic topology information to virtual machines hosted by a multi-processor computer system supporting non-uniform memory access (NUMA). An example method may comprise assigning, by a hypervisor executing on a computer system, unique identifiers to a plurality of memory blocks residing on a plurality of physical nodes; determining that a memory block has been moved from a first physical node to a second physical node; determining memory access latency values to the second physical node by a plurality of virtual processors of the computer system; and updating, using a unique identifier of the memory block, a data structure storing memory access latency information, with the memory access latency values for the memory block. | 08-28-2014 |
20140245050 | POWER MANAGEMENT FOR HOST WITH DEVICES ASSIGNED TO VIRTUAL MACHINES - A system and method of removing power from a device assigned to a virtual machine running on a host machine includes receiving a request, by a notification module, from the virtual machine to remove power from the device, and receiving, by the notification module, an indication from the virtual machine that a condition has been satisfied; managing an execution priority for requests, by a task module, where the task module schedules the request to be executed after the notification module receives the indication that the condition has been satisfied; and in response to execution of the request, by a power down module, sending a communication to the host machine to cause the host machine to remove power from the device. | 08-28-2014 |
20140245291 | SHARING DEVICES ASSIGNED TO VIRTUAL MACHINES USING RUNTIME EXCLUSION - An example system and method of sharing a device assigned to a plurality of virtual machines includes identifying a first virtual machine in which a device is active. When a condition is satisfied, control of the device is transferred from the first virtual machine to a second virtual machine. Transferring control of the device includes sending a first communication to cause the first virtual machine to relinquish control of the device based on an indication that power will be removed from the device and further to cause the virtual machine to save first state information maintained by the first virtual machine to a first memory. The first state information is associated with the device. Transferring control of the device also includes saving second state information maintained by a host machine to a second memory. The second state information is associated with the first virtual machine and device. | 08-28-2014 |
20140245293 | Migration of Virtual Machines with Shared Memory - A system and method of migration of a VM sharing a memory region with another VM includes identifying, by an identification module, a plurality of VMs running on a source host machine, where the plurality of VMs includes first and second VMs that share a first shared memory region coupled to the source host machine; identifying, by a target module, a host machine as a target for the second VM; allocating, by an allocation module, a second shared memory region coupled to the target host machine for the second VM; stopping, by a migration module, execution of the second VM on the source host machine; and migrating, by the migration module, the second VM to the target host machine. | 08-28-2014 |
20140245295 | Providing Dynamic Topology Information in Virtualized Computing Environments - Systems and methods for providing dynamic processor topology information to a virtual machine hosted by a multi-processor computer system supporting non-uniform memory access (NUMA). An example method may comprise assigning a unique identifier to a virtual processor, determining that the virtual processor has been moved from a first physical processor to a second physical processor, determining a memory access latency value for the second physical processor, and updating an element of a data structure storing memory access latency information with the memory access latency value of the second physical processor, the element identified by the unique identifier of the virtual processor. | 08-28-2014 |
20140359613 | PHYSICAL/VIRTUAL DEVICE FAILOVER WITH A SHARED BACKEND - The subject matter of this specification can be implemented in, among other things, a method that includes identifying an assigned device that is assigned to a guest operating system of a virtual machine. The method includes transmitting, to the guest operating system, a request indicating a failover event. The failover event involves a switch from the assigned device to an emulated device. The assigned device and the emulated device share a backend physical device. The method further includes receiving an acknowledgement message from the guest operating system that it is ready to switch from the assigned device to the emulated device. The method further includes preventing access to the assigned device by the guest operating system. The method further includes associating a device driver of a hypervisor with the backend physical device and providing a notification to the guest operating system that the emulated device is available for use. | 12-04-2014 |
20150023358 | MIGRATION OF GUEST BRIDGE - A system and method for migrating a guest bridge are provided. An example method includes maintaining at a guest bridge a set of forwarding tables including a set of mappings from a network address to at least one virtual network interface of a set of virtual network interfaces. The method includes receiving at the guest bridge a notification that the guest bridge has migrated to a target host machine. The target host machine includes a set of physical network interfaces, and each physical network interface of the set of physical network interfaces is coupled to a network. The method further includes responsive to the notification, updating the set of forwarding tables. | 01-22-2015 |
20150058838 | SWITCHING BETWEEN DEVICES HAVING A COMMON HOST BACKEND IN A VIRTUALIZED ENVIRONMENT - Systems and methods are disclosed for switching between an assigned device and an emulated device. An example system includes a device-specific driver and a pass-through device driver included in a hypervisor. A common host backend is bound to at most one of the device-specific driver and pass-through device driver at a time. The assigned and emulated devices access the common host backend. The system also includes a switch module that sends one or more communications to a guest to cause the guest to switch from using at most one of the assigned device or the emulated device to the other of the at most one of the assigned device or the emulated device. | 02-26-2015 |
20150089037 | AUTOMATIC PROMISCUOUS FORWARDING FOR A BRIDGE - An example system to disable a promiscuous mode of a network interface includes a plurality of local network interfaces. Each local network interface of the plurality is coupled over a network to one or more remote network interfaces. Each remote network interface is assigned one or more remote network addresses, and the plurality includes a local network interface in a promiscuous mode. The system also includes a bridge module that determines whether a list of all remote network addresses that are coupled to a subset of local network interfaces is known. The subset includes the plurality of local network interfaces excluding the local network interface. When the list of all remote network addresses that are coupled to the subset is determined to be known, the bridge module disables the promiscuous mode of the local network interface and adds all remote network addresses that are coupled to the subset to a filtering table. | 03-26-2015 |