IP Library Granted Patent US 10,162,668
Granted Patent B2
US 10,162,668 · App. 15/701,390 · Granted Dec 25, 2018

Storage architecture for virtual machines

Inventors: Daniel K. Hiltgen (Los Altos, CA); Rene W. Schmidt (Risskov, DK)
Assignee: VMware, Inc.
G06F9/45558G06F11/1438G06F21/6218G06F12/14G06F2009/45579G06F2009/45583G06F2009/45587G06F2201/815
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 10,162,668
App. No.
15/701,390
Granted
Dec 25, 2018
Kind
B2
Abstract

Some embodiments of the present invention include a method comprising: accessing units of network storage that encode state data of respective virtual machines, wherein the state data for respective ones of the virtual machines are stored in distinct ones of the network storage units such that the state data for more than one virtual machine are not commingled in any one of the network storage units.

Claims (35)

1. A computing system comprising:

a plurality of virtual machines, including a first virtual machine, and a hypervisor executing on a first host; and

a storage system connected to the first host over a network, the storage system including a plurality of physical storage devices that are organized into a storage pool, which is a layer of abstraction for managing the physical storage devices, wherein logical units of storage for storing virtual disks of the virtual machines, including a first virtual disk for the first virtual machine, are allocated from the storage pool,

wherein, responsive to a first disk access request from the first virtual machine, which includes a unique identifier for the first virtual disk and a location within the first virtual disk to be accessed, the hypervisor:

generates a second disk access request based on the unique identifier for the first virtual disk and the location within the first virtual disk to be accessed, the second disk access request including identifying information for one of the logical units of storage in which the first virtual disk is stored and a location to be accessed within said one of the logical units,

determines whether or not access to the location to be accessed within said one of the logical units is permitted; and

upon determining that the access to the location to be accessed within said one of the logical units is permitted, transmits the second disk access request to said one of the logical units, and forwards a response to the second disk access request from said one of the logical units to the first virtual machine as a response to the first disk access request.

2. The computing system of claim 1 , wherein

upon determining that the access to the location to be accessed within said one of the logical units is not permitted, the hypervisor does not transmit the second disk access request to said one of the logical units, and forwards a notification that the first disk access request has been denied as a response to the first disk access request.

3. The computing system of claim 2 , wherein, responsive to the first disk access request from the first virtual machine, the hypervisor determines that the access to the location to be accessed within said one of the logical units is not permitted, when the location to be accessed within said one of the logical units includes virtual hardware configuration data indicating a configuration of the first virtual machine.

4. The computing system of claim 3 , wherein the virtual hardware configuration data indicates an amount of virtual RAM in the first virtual machine, and a size of the first virtual disk.

5. The computing system of claim 1 , wherein each of the first and second disk access requests complies with an Internet Small Computer System Interface (iSCSI) protocol.

6. The computing system of claim 1 , wherein data for the first virtual machine and data for a second virtual machine of the plurality of virtual machines are not commingled on a same logical unit of storage in the storage system.

7. The computing system of claim 1 , wherein the storage system is implemented within a storage area network (SAN).

8. In a computer system including a host in which a plurality of virtual machines are running, and a storage system connected to the host over a network, the storage system including a plurality of physical storage devices that are organized into a storage pool, which is a layer of abstraction for managing the physical storage devices, wherein logical units of storage for storing virtual disks of the virtual machines, including a first virtual disk of a first virtual machine, are allocated from the storage pool, a method of handling a first disk access request from the first virtual machine, which includes a unique identifier for the first virtual disk and a location within the first virtual disk to be accessed, said method comprising:

generating a second disk access request based on the unique identifier for the first virtual disk and the location within the first virtual disk to be accessed, the second disk access request including identifying information for one of the logical units of storage in which the first virtual disk is stored and a location to be accessed within said one of the logical units,

determining whether or not access to the location to be accessed within said one of the logical units is permitted; and

upon determining that the access to the location to be accessed within said one of the logical units is permitted, transmitting the second disk access request to said one of the logical units, and forwarding a response to the second disk access request from said one of the logical units to the first virtual machine as a response to the first disk access request.

9. The method of claim 8 , further comprising:

upon determining that the access to the location to be accessed within said one of the logical units is not permitted, not transmitting the second disk access request to said one of the logical units, and forwarding a notification that the first disk access request has been denied as a response to the first disk access request.

10. The method of claim 9 , wherein the location to be accessed within said one of the logical units includes virtual hardware configuration data indicating a configuration of the first virtual machine.

11. The method of claim 10 , wherein the virtual hardware configuration data indicates an amount of virtual RAM in the first virtual machine, and a size of the first virtual disk.

12. The method of claim 8 , wherein each of the first and second disk access requests complies with an Internet Small Computer System Interface (iSCSI) protocol.

13. The method of claim 8 , wherein data for the first virtual machine and data for a second virtual machine of the plurality of virtual machines are not commingled on a same logical unit of storage in the storage system.

14. The method of claim 8 , wherein the storage system is implemented within a storage area network (SAN).

15. A non-transitory computer readable medium comprising instructions executable in a host in which a plurality of virtual machines are running, the host connected to a network storage system which includes a plurality of physical storage devices that are organized into a storage pool, which is a layer of abstraction for managing the physical storage devices, wherein logical units of storage for storing virtual disks of the virtual machines, including a first virtual disk of a first virtual machine, are allocated from the storage pool, and wherein the instructions when executed in the host cause the host to carry out a method of handling a first disk access request from the first virtual machine, which includes a unique identifier for the first virtual disk and a location within the first virtual disk to be accessed, said method comprising:

generating a second disk access request based on the unique identifier for the first virtual disk and the location within the first virtual disk to be accessed, the second disk access request including identifying information for one of the logical units of storage in which the first virtual disk is stored and a location to be accessed within said one of the logical units,

determining whether or not access to the location to be accessed within said one of the logical units is permitted; and

upon determining that the access to the location to be accessed within said one of the logical units is permitted, transmitting the second disk access request to said one of the logical units, and forwarding a response to the second disk access request from said one of the logical units to the first virtual machine as a response to the first disk access request.

16. The non-transitory computer readable medium of claim 15 , wherein the method further comprises:

upon determining that the access to the location to be accessed within said one of the logical units is not permitted, not transmitting the second disk access request to said one of the logical units, and forwarding a notification that the first disk access request has been denied as a response to the first disk access request.

17. The non-transitory computer readable medium of claim 16 , wherein the location to be accessed within said one of the logical units includes virtual hardware configuration data indicating a configuration of the first virtual machine.

18. The non-transitory computer readable medium of claim 17 , wherein the virtual hardware configuration data indicates an amount of virtual RAM in the first virtual machine, and a size of the first virtual disk.

19. The non-transitory computer readable medium of claim 15 , wherein each of the first and second disk access requests complies with an Internet Small Computer System Interface (iSCSI) protocol.

20. The non-transitory computer readable medium of claim 15 , wherein data for the first virtual machine and data for a second virtual machine of the plurality of virtual machines are not commingled on a same logical unit of storage in the storage system.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2020
From: HILTGEN, DANIEL K.; SCHMIDT, RENE W.
To: VMWARE, INC.
Reel/Frame 052495/0308 →
Continuity (6)
Continuation 14937453 · Nov 10, 2015
Continuation 11960460 · Dec 19, 2007
Provisional Application 60871234 · Dec 21, 2006
Provisional Application 60884568 · Jan 11, 2007
Provisional Application 60886072 · Jan 22, 2007
Related Publication 20180011731A1 · Jan 11, 2018