US 11,809,753 B2
Virtual disk blueprints for a virtualized storage area network utilizing physical storage devices located in host computers
Christos Karamanolis, Los Gatos, CA (US); Mansi Shah, Palo Alto, CA (US); and Nathan Burnett, Palo Alto, CA (US)
Assigned to VMware, Inc., Palo Alto, CA (US)
Filed by VMware, Inc., Palo Alto, CA (US)
Filed on Oct. 22, 2021, as Appl. No. 17/508,538.
Application 17/508,538 is a continuation of application No. 16/988,242, filed on Aug. 7, 2020, granted, now 11,210,035.
Application 16/988,242 is a continuation of application No. 14/010,316, filed on Aug. 26, 2013, granted, now 10,747,475, issued on Aug. 18, 2020.
Prior Publication US 2022/0043608 A1, Feb. 10, 2022
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0689 (2013.01) [G06F 3/0605 (2013.01); G06F 3/0659 (2013.01); G06F 3/0664 (2013.01); G06F 3/0665 (2013.01); G06F 3/067 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for handling input or output (I/O) operation requests for virtual disks, the method comprising:
receiving, at a first host machine from a virtual computing instance (VCI) running on the first host machine, a request to perform an I/O operation on a virtual disk;
determining a virtual disk object that relates to the request based on an identifier included in the request;
identifying, using a metadata database, a second host machine that is acting as a coordinator for the virtual disk object, wherein the first host machine and the second host machine are different host machines;
after identifying that the second host machine is acting as the coordinator for the virtual disk and based on the first host machine and the second host machine being different host machines, switching the coordinator for the virtual disk object from the second host machine to the first host machine;
identifying, by the first host machine that is acting as the coordinator for the virtual disk object, one or more host machines that are coordinators for one or more component objects of the virtual disk that are subject to the I/O operation, wherein each respective host machine of the one or more host machines that are coordinators for the one or more component objects is executing a respective hypervisor and is configured to perform I/O operations on respective physical storage of the respective host machine; and
sending, by the first host machine, to the one or more host machines that are the coordinators for the one or more component objects of the virtual disk that are subject to the I/O operation, one or more requests to perform at least a portion of the I/O operation.