Patents by Inventor Enning XIANG

Enning XIANG has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 11182261
    Abstract: The disclosure herein describes enhancing data durability of a base component using multiple delta components. A first and second delta component are generated based on the base component becoming unavailable. A write operation targeted for the base component is routed to the first delta component and to the second delta component. Based on routing the write operation targeted for the base component to the first delta component and to the second delta component, a bit associated with a data block affected by the write operation is changed in each of the tracking bitmaps of the first and second delta components. Based on detecting the base component becoming available, one delta component of the first and second delta components is selected, and the data block affected by the routed write operation is synchronized from the selected delta component to the base component. Later, the first and second delta components are removed.
    Type: Grant
    Filed: November 27, 2020
    Date of Patent: November 23, 2021
    Assignee: VMware, Inc.
    Inventors: Eric Knauft, Enning Xiang, Ojan Thornycroft, Yiqi Xu, Asit Desai, Varun Shah
  • Publication number: 20210357291
    Abstract: The disclosure herein describes placing a delta component of a base component in a target fault domain. A delta component associated with a base component is generated. The generation includes selecting a first fault domain as a target fault domain for the delta component based on the first fault domain including a witness component associated with the distributed data object of the base component. Otherwise, the generation includes selecting a second fault domain as the target fault domain based on the second fault domain including at least one data component that includes a different address space than the base component. Otherwise, the generation includes selecting a third fault domain as the target fault domain based on the third fault domain being unused. Then, the delta component is placed on the target fault domain, whereby data durability of the distributed data object is enhanced, and available fault domains are preserved.
    Type: Application
    Filed: May 15, 2020
    Publication date: November 18, 2021
    Inventors: Enning XIANG, Ojan THORNYCROFT, Yiqi XU, Zhihao YAO, Eric KNAUFT
  • Publication number: 20210357122
    Abstract: The disclosure herein describes enhancing data durability of a base component using a delta component. A delta component is generated based on the base component becoming unavailable. The delta component is configured to include unwritten storage space with an address space matching the base component and a tracking bitmap associated with data blocks of the address space of the delta component. Write operations targeted for the base component are routed to the delta component. Based on the routed write operations, bits associated with data blocks affected by the write operations are changed in the tracking bitmap. Based on the base component becoming available, data blocks affected by routed write operations are identified based on the tracking bitmap and the identified data blocks are synchronized from the delta component to the base component. The delta component is then removed.
    Type: Application
    Filed: May 15, 2020
    Publication date: November 18, 2021
    Inventors: Eric KNAUFT, Enning XIANG, Mansi SHAH, Pascal RENAULD, Yiqi XU, Ojan THORNYCROFT, Pratik DESAI, Zhihao YAO, Yizhou LUO
  • Patent number: 11178227
    Abstract: Described herein are methods and systems for the efficient resyncing of stale components of a distributed-computing system. One method includes determining that a first base component at a remote site will go offline. After determining that the first base component at the remote site will go offline, a first delta component is created at the remote site. While the first base component at the remote site is offline, data corresponding to the offline component is collected at the first delta component at the remote site. After collecting data at the first delta component, the collected data is sent to a local site. The method includes determining that the first base component has come back online. In response to determining that the first base component has come back online, the collected data is sent from the first delta component to the first base component via an intra-site network.
    Type: Grant
    Filed: November 13, 2020
    Date of Patent: November 16, 2021
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Pratik Shridhar Desai, Eric Shannon Knauft, Yizhou Luo, Pascal Renauld, Yiqi Xu
  • Publication number: 20210349793
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for resynchronizing data in a storage system. One of the methods includes determining that a particular disk of a capacity object of a storage system was offline for an interval of time, wherein the capacity object comprises a plurality of segments, and wherein the storage system comprises a segment usage table identifying a linked list of particular segments of the capacity object that are in use; determining a time point at which the particular disk went offline; determining one or more first segments of the capacity object that were modified after the time point, wherein determining one or more first segments comprises determining each segment of the segment usage table having a transaction ID that is larger than the time point; and resynchronizing, for each first segment, a portion of the particular disk corresponding to the first segment.
    Type: Application
    Filed: May 8, 2020
    Publication date: November 11, 2021
    Inventors: Wenguang WANG, Vamsi GUNTURU, Enning XIANG, Eric KNAUFT
  • Publication number: 20210349790
    Abstract: Methods, systems, and apparatus, including computer programs encoded on computer storage media, for resynchronizing data in a storage system. One of the methods includes determining that a particular primary disk of a capacity object of a storage system has failed, wherein the capacity comprises a plurality of segments, and wherein the each segment comprises: a plurality of primary columns each corresponding to a respective primary disk of the capacity object, and a plurality of parity columns each corresponding to a respective parity disk of the capacity object; and resynchronizing, for each segment of one or more segments of the capacity object, the primary column of the segment corresponding to the particular primary disk using i) the primary columns of the segment corresponding to each other primary disk of the capacity object, ii) one or more parity columns of the segment, and iii) the column summaries of the segment.
    Type: Application
    Filed: May 8, 2020
    Publication date: November 11, 2021
    Inventors: Wenguang WANG, Enning XIANG, Vamsi GUNTURU, Eric KNAUFT, Pascal RENAULD
  • Patent number: 11157195
    Abstract: Systems and techniques are described for transferring data. A described technique includes determining that a first replica of an object stored at a first host has become available to a distributed storage system after previously being unavailable to the distributed storage system. The object includes a range of memory addresses at which data of the object is stored. In response to determining that the first replica has become available, resyncing data for the first replica is obtained. The resyncing data indicates whether each range of memory addresses is synchronized at the first replica with other replicas of the object. Tracking data for the first replica is obtained. The tracking data indicates whether data stored at the range of memory addresses of the object has been modified at a second replica while the first replica was unavailable. The resyncing data is updated based on the tracking data.
    Type: Grant
    Filed: June 19, 2019
    Date of Patent: October 26, 2021
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Eric Knauft, Pascal Renauld
  • Patent number: 11023493
    Abstract: Techniques for intelligently scheduling resynchronization jobs in a distributed object-based storage system are provided. In one set of embodiments, a storage node of the system can create a resynchronization job for a component of an object maintained by the system, where the resynchronization job defines one or more input/output (I/O) operations to be carried out with respect to the component. If a number of currently running resynchronization jobs on the storage node has reached a threshold, the storage node can further determine a priority level associated with the object; add the resynchronization job to an object queue for the object; and if the added resynchronization job is a first job in the object queue, add the object queue as a new queue entry to a global priority queue corresponding to the priority level associated with the object.
    Type: Grant
    Filed: November 6, 2018
    Date of Patent: June 1, 2021
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Yiqi Xu, Eric Knauft, Pascal Renauld
  • Patent number: 10965739
    Abstract: Computer system and method for managing storage requests in a distributed storage system uses congestion signals associated with storage requests, which are generated based on congestion at local storage of the computer system that supports a virtual storage area network. The storage requests are differentiated between a first class of storage requests and at least one other class of storage requests. For a storage request of the first class of storage requests, an actual ratio of a current average bandwidth of the first class of storage requests to a current average bandwidth of a second class of storage requests is calculated and compared with an expected ratio. The congestion signal associated with the storage request is then adjusted and transmitted to at least one source of storage requests for storage request fairness control.
    Type: Grant
    Filed: April 6, 2018
    Date of Patent: March 30, 2021
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Eric Knauft, Yiqi Xu, Xiaochuan Shen
  • Patent number: 10942782
    Abstract: Embodiments include estimating a workload of a re-synchronization task for a data component in a logical storage system. Embodiments include detecting a connection from the data component, wherein the data component was previously disconnected. Embodiments further include determining a layout of the logical storage system. Embodiments further include estimating the workload of the re-synchronization task based on the layout. One or more actions may be performed based on the estimate.
    Type: Grant
    Filed: September 26, 2019
    Date of Patent: March 9, 2021
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Eric Knauft, Vishal Kher
  • Patent number: 10924550
    Abstract: A distributed key-value storage system may include a master node. The key-value store may be distributed among first and second nodes. The master node may receive a publish request to publish one or more key-value pairs. Each key-value pair may be stored in a retransmit buffer and sent to all the first nodes using a communication protocol of a first kind that does not include a retransmit protocol mechanism. Some of the key-value pairs may be sent to one or more second node using a communication protocol of a second kind that includes a retransmit protocol mechanism.
    Type: Grant
    Filed: June 22, 2018
    Date of Patent: February 16, 2021
    Assignee: VMWARE, INC.
    Inventors: Yuehai Xu, Enning Xiang, Mukund Srinivasan, Jorge Guerra Delgado
  • Publication number: 20210004163
    Abstract: The disclosure herein describes performing resynchronization (“resync”) jobs in a distributed storage system based on a parallelism policy. A resync job is obtained from a queue and input/output (I/O) resources that will be used during execution of the resync job are identified. Available bandwidth slots of each I/O resource of the identified I/O resources are determined. The parallelism policy is applied to the identified I/O resources and the available bandwidth slots. Based on the application of the parallelism policy, a bottleneck resource of the I/O resources is determined and a parallel I/O value is calculated based on the available bandwidth slots of the bottleneck resource, wherein the parallel I/O value indicates a quantity of I/O tasks that can be performed in parallel. The resync job is executed using the I/O resources, the execution of the resync job including performance of I/O tasks in parallel based on the parallel I/O value.
    Type: Application
    Filed: July 5, 2019
    Publication date: January 7, 2021
    Inventors: Yiqi XU, Enning XIANG, Eric KNAUFT, Pascal RENAULD
  • Patent number: 10871911
    Abstract: Component objects of a virtual disk are backed by first storage nodes, which are at a primary site, and replicated in second storage nodes, which are at a secondary site. Responsive to a write command issued to the virtual disk, a coordinating node at the primary site issues a first write operation to a first replication module running therein, and transmits a second write operation to a second replication module running in a coordinating node at the secondary site. The first replication module, responsive to the first write operation, instructs the first storage nodes backing first and second component objects of the virtual disk to write the data. The second replication module, responsive to the second write operation, instructs the second storage nodes backing third and fourth component objects, which are replicas of the first and second component objects, respectively, to write the data.
    Type: Grant
    Filed: July 26, 2017
    Date of Patent: December 22, 2020
    Assignee: VMware, Inc.
    Inventors: Pascal Renauld, Enning Xiang, Eric Knauft
  • Publication number: 20200364124
    Abstract: In one set of embodiments, a storage system can execute a repair process for a first component of a file or object stored on the storage system, where the repair process is initiated in response to the first component becoming inaccessible by the storage system, and where the file or object is split across a plurality of components including the first component. The executing can include, for each chunk in an address space of the first component starting from an initial chunk pointed to by a cursor: (1) determining whether the chunk is mapped to the first component, (2) if the chunk is mapped to the first component, copying data for the chunk from a mirror copy of the first component to a second component in the plurality of components, and (3) updating the cursor to point to a next chunk in the address space.
    Type: Application
    Filed: May 13, 2019
    Publication date: November 19, 2020
    Inventors: Ruocheng Li, Enning Xiang, Eric Knauft, Pascal Renauld
  • Patent number: 10810143
    Abstract: System and method for managing storage requests issued from multiple sources in a distributed storage system utilizes different queues at a host computer in the distributed storage system to place different classes of storage requests for access to a virtual storage area network. The storage requests in the queues are processed using a fair scheduling algorithm. For each queue, when the storage requests in the queue exceeds a threshold, a backpressure signal is generated and transmitted to at least one source for a class of storage requests queued in one of the queues corresponding to that backpressure signal to delay issuance of new storage requests of that class of storage requests.
    Type: Grant
    Filed: April 3, 2018
    Date of Patent: October 20, 2020
    Assignee: VMware, Inc.
    Inventors: Eric Knauft, Enning Xiang, Yiqi Xu, Xiaochuan Shen
  • Patent number: 10803086
    Abstract: Component objects of a virtual disk are backed by first storage nodes, which are at a primary site, and second storage nodes, which are at a secondary site. The method of resynchronizing the component objects of the virtual disk includes, at a coordinating node at the primary site, responsive to a second storage node coming back online, identifying an out-of-sync block of the second storage node, locating the out-of-sync block in an address space maintained for blocks of the virtual disk, and transmitting a resync command to a replication module of a coordinating node at the secondary site, the resync command identifying the out-of-sync block within the address space.
    Type: Grant
    Filed: July 26, 2017
    Date of Patent: October 13, 2020
    Assignee: VMware, Inc.
    Inventors: Pascal Renauld, Enning Xiang, Eric Knauft
  • Patent number: 10761726
    Abstract: Computer system and method for managing storage requests in a distributed storage system uses congestion data related to processing of storage requests for local storage to adaptively adjust a bandwidth limit for a first class of storage requests to be processed. The bandwidth limit is enforced on the storage requests belonging to the first class of storage requests without enforcing any bandwidth limit on the storage requests belonging to a second class of storage requests.
    Type: Grant
    Filed: April 16, 2018
    Date of Patent: September 1, 2020
    Assignee: VWware, Inc.
    Inventors: Yiqi Xu, Eric Knauft, Enning Xiang, Xiaochuan Shen
  • Publication number: 20200142995
    Abstract: Techniques for intelligently scheduling resynchronization jobs in a distributed object-based storage system are provided. In one set of embodiments, a storage node of the system can create a resynchronization job for a component of an object maintained by the system, where the resynchronization job defines one or more input/output (I/O) operations to be carried out with respect to the component. If a number of currently running resynchronization jobs on the storage node has reached a threshold, the storage node can further determine a priority level associated with the object; add the resynchronization job to an object queue for the object; and if the added resynchronization job is a first job in the object queue, add the object queue as a new queue entry to a global priority queue corresponding to the priority level associated with the object.
    Type: Application
    Filed: November 6, 2018
    Publication date: May 7, 2020
    Inventors: Enning Xiang, Yiqi Xu, Eric Knauft, Pascal Renauld
  • Patent number: 10609139
    Abstract: Exemplary methods, apparatuses, and systems include a replica node storing a component of a storage object detecting that a primary coordinator for the storage object component is no longer available to serve as primary coordinator. The replica node is within a cluster of nodes storing components of the storage object. In response to detecting that the primary coordinator is no longer available, the replica node updates a first metadata entry indicating that a secondary coordinator for the storage object component is unhealthy. The replica node rejects connection requests from the secondary coordinator in response to the first metadata entry indicating that the secondary coordinator for the storage object component is unhealthy.
    Type: Grant
    Filed: August 10, 2017
    Date of Patent: March 31, 2020
    Assignee: VMware, Inc.
    Inventors: Enning Xiang, Pascal Renauld, Eric Knauft
  • Publication number: 20200019440
    Abstract: Embodiments include estimating a workload of a re-synchronization task for a data component in a logical storage system. Embodiments include detecting a connection from the data component, wherein the data component was previously disconnected. Embodiments further include determining a layout of the logical storage system. Embodiments further include estimating the workload of the re-synchronization task based on the layout. One or more actions may be performed based on the estimate.
    Type: Application
    Filed: September 26, 2019
    Publication date: January 16, 2020
    Inventors: Enning XIANG, Eric KNAUFT, Vishal KHER