IP Library Granted Patent US 9,262,194
Granted Patent B2
US 9,262,194 · App. 12/136,638 · Granted Feb 16, 2016

Virtual machine communications

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,262,194
App. No.
12/136,638
Granted
Feb 16, 2016
Kind
B2
Abstract

Apparatus, systems, and methods may operate to emulate a virtual device with bidirectional communication capability using a hypervisor. A virtual machine, started by the hypervisor, is capable of receiving hypervisor information from, and transmitting virtual machine information to the hypervisor via the bidirectional communication capability. Further activity may include detecting the existence of the hypervisor information by detecting a logical connection of the virtual device, and masking the existence of the virtual device from a virtual machine user inside the virtual machine. Additional apparatus, systems, and methods are disclosed.

Claims (40)

1. A method for communicating between a hypervisor and a virtual machine (VM) in a virtualized environment, the method comprising:

creating, by the hypervisor, a virtual device configured to provide bidirectional communication between the hypervisor and the VM via one or more files stored on the virtual device;

starting, by the hypervisor, the VM and logically connecting the virtual device to the VM;

identifying, by the VM, one or more devices connected to the VM including at least the virtual device;

writing, by the hypervisor, modified content to a first file of the one or more files and logically disconnecting and reconnecting the virtual device to alert the VM that file content stored on the virtual device has been modified; and

accessing, by the VM, the virtual device and processing the modified content in the first file in response to detecting the disconnection and reconnection of the virtual device.

2. The method of claim 1 , wherein the virtual device comprises a virtual universal serial bus (USB) device, and wherein the logically disconnecting and reconnecting comprises logically unplugging and plugging in the virtual USB device.

3. The method of claim 1 , wherein the virtual device comprises a virtual disk, wherein the logically disconnecting and reconnecting comprises logically unmounting and remounting the virtual disk.

4. The method of claim 1 , wherein the first file comprises a branch information file, and writing modified content to the first file comprises writing at least one of a new file inode information and a new partition information to the branch information file to indicate the hypervisor has engaged in branching activity.

5. The method of claim 4 , wherein processing the modified content comprises determining branching activity has occurred by comparing the file inode information or partition information stored in the branch information file inode information or partition information stored by the VM.

6. The method of claim 1 , wherein the first file comprises a random seed file, and writing modified content to the first file comprises writing a new random number to the random seed file.

7. The method of claim 6 , wherein processing the modified content comprises retrieving the random number from the random seed file for at least one of use as a cryptographic nonce and use with a secure communication protocol.

8. The method of claim 1 , wherein the first file comprises a non-snapshot information file, and writing modified content to the first file comprises writing an incremented serial number to the non-snapshot information file to indicate that a snapshot has been taken of the VM.

9. An apparatus, comprising:

a processor; and

a memory storing computer-readable instructions that, when executed by the processor, cause the processor to perform a method for communicating between a hypervisor and a virtual machine (VM) in a virtualized environment, the method comprising:

creating, by the hypervisor, a virtual device configured to provide bidirectional communication between the hypervisor and the VM via one or more files stored on the virtual device;

starting, by the hypervisor, the VM and logically connecting the virtual device to the VM;

identifying, by the VM, one or more devices connected to the VM including at least the virtual device;

writing, by the hypervisor, modified content to a first file of the one or more files and logically disconnecting and reconnecting the virtual device to alert the VM that file content stored on the virtual device has been modified; and

accessing, by the VM, the virtual device and processing the modified file content in the first file in response to detecting the disconnection and reconnection of the virtual device.

10. The apparatus of claim 9 , wherein the virtual device comprises a virtual universal serial bus (USB) device, and wherein the logically disconnecting and reconnecting comprises logically unplugging and plugging in the virtual USB device.

11. The apparatus of claim 9 , wherein the virtual device comprises a virtual disk, wherein the logically disconnecting and reconnecting comprises logically unmounting and remounting the virtual disk.

12. The apparatus of claim 9 , wherein the first file comprises a branch information file, and writing modified content to the first file comprises writing at least one of a new file inode information and a new partition information to the branch information file to indicate the hypervisor has engaged in branching activity.

13. The apparatus of claim 12 , wherein processing the modified content comprises determining branching activity has occurred by comparing the file inode information or partition information stored in the branch information file inode information or partition information stored by the VM.

14. The apparatus of claim 9 , wherein the first file comprises a random seed file, and writing modified content to the first file comprises writing a new random number to the random seed file.

15. The apparatus of claim 14 , wherein processing the modified content comprises retrieving the random number from the random seed file for at least one of use as a cryptographic nonce and use with a secure communication protocol.

16. The apparatus of claim 9 , wherein the first file comprises a non-snapshot information file, and writing modified content to the first file comprises writing an incremented serial number to the non-snapshot information file to indicate that a snapshot has been taken of the VM.

17. A non-transitory computer-readable medium storing computer-readable instructions which, when executed by a processor, cause the processor to perform a method for facilitating communication between a hypervisor and a virtual machine (VM) in a virtualized environment, the method comprising:

creating, by the hypervisor, a virtual device configured to provide bidirectional communication between the hypervisor and the VM via one or more files stored on the virtual device;

starting, by the hypervisor, the VM and logically connecting the virtual device to the VM;

identifying, by the VM, one or more devices connected to the VM including at least the virtual device;

writing, by the hypervisor, modified content to a first file of the one or more files and logically disconnecting and reconnecting the virtual device to alert the VM that file content stored on the virtual device has been modified; and

accessing, by the VM, the virtual device and processing the modified file content in the first file in response to detecting the disconnection and reconnection of the virtual device.

18. The non-transitory computer-readable medium of claim 17 , wherein the virtual device comprises a virtual universal serial bus (USB) device, and wherein the logically disconnecting and reconnecting comprises logically unplugging and plugging in the virtual USB device.

19. The non-transitory computer readable medium of claim 17 , wherein the virtual device comprises a virtual disk, wherein the logically disconnecting and reconnecting comprises logically unmounting and remounting the virtual disk.

20. The non-transitory computer-readable medium of claim 17 , wherein the first file comprises a branch information file, and writing modified content to the first file comprises writing at least one of a new file inode information and a new partition information to the branch information file to indicate the hypervisor has engaged in branching activity.

21. The non-transitory computer-readable medium of claim 20 , wherein processing the modified content comprises determining branching activity has occurred by comparing the file inode information or partition information stored in the branch information file inode information or partition information stored by the VM.

22. The non-transitory computer readable medium of claim 17 , wherein the first file comprises a random seed file, and writing modified content to the first file comprises writing a new random number to the random seed file.

23. The non-transitory computer readable medium of claim 17 , wherein the first file comprises a non-snapshot information file, and writing modified content to the first file comprises writing an incremented serial number to the non-snapshot information file to indicate that a snapshot has been taken of the VM.

Assignments (7)
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0216 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034470/0680 →
RELEASE OF SECURITY INTEREST RECORDED AT REEL/FRAME 028252/0316 Recorded Nov 24, 2014
From: CREDIT SUISSE AG
To: NOVELL, INC.
Reel/Frame 034469/0057 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2012
From: CPTN HOLDINGS LLC
To: APPLE INC.
Reel/Frame 028856/0230 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2012
From: NOVELL, INC.
To: CPTN HOLDINGS LLC
Reel/Frame 028841/0047 →
GRANT OF PATENT SECURITY INTEREST SECOND LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0316 →
GRANT OF PATENT SECURITY INTEREST FIRST LIEN Recorded May 23, 2012
From: NOVELL, INC.
To: CREDIT SUISSE AG, AS COLLATERAL AGENT
Reel/Frame 028252/0216 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2008
From: SUDHAKAR, GOSUKONDA NAGA VENKATA SATYA
To: NOVELL, INC.
Reel/Frame 021142/0247 →