Patents by Inventor Pascal RENAULD

Pascal RENAULD 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: 11334277
    Abstract: Techniques for issuing efficient writes to an erasure coded storage object in a distributed storage system are provided. In one set of embodiments, a node of the system can receive a write request for updating a logical data block of the storage object, write data/metadata for the block to a record in a data log of a metadata object of the storage object (where the metadata object is stored on a performance storage tier), place the block data in a free slot of an in-memory bank, and determine whether the in-memory bank has become full. If the in-memory bank is full, the node can further allocate a segment in a capacity object of the storage object for holding contents of the in-memory bank (where the capacity object is stored on a capacity storage tier), and write the in-memory bank contents via a full stripe write to the allocated segment.
    Type: Grant
    Filed: April 7, 2020
    Date of Patent: May 17, 2022
    Assignee: VMWARE INC.
    Inventors: Wenguang Wang, Vamsi Gunturu, Eric Knauft, Pascal Renauld
  • Publication number: 20220058043
    Abstract: The present disclosure is related to methods, systems, and machine-readable media for log-structured file system management operations. An aggregate amount of over-provisioned computing resources assigned to a plurality of log-structured file system (LFS) objects that are allocated for performance of memory management operations associated with a virtual storage area network (vSAN) can be determined. A subset of LFS objects that are candidates for performance of a particular memory management operation based on an amount of over-provisioned computing resources consumed by one or more LFS objects among the plurality of LFS objects exceeding a resource consumption threshold associated with the determined amount of over-provisioned computing resources assigned to the plurality of LFS objects can be selected. The particular memory management operation using one or more of the candidate LFS objects can be performed.
    Type: Application
    Filed: August 21, 2020
    Publication date: February 24, 2022
    Applicant: VMware, Inc.
    Inventors: Wenguang Wang, Vamsi Gunturu, Eric Knauft, Pascal Renauld, Matt Amdur, Blake Lewis, Peng Mi
  • Patent number: 11256583
    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: Grant
    Filed: May 13, 2019
    Date of Patent: February 22, 2022
    Assignee: VMWARE, INC.
    Inventors: Ruocheng Li, Enning Xiang, Eric Knauft, Pascal Renauld
  • Publication number: 20220027187
    Abstract: The present disclosure is related to methods, systems, and machine-readable media for supporting clones with consolidated snapshots. A clone of a virtual computing instance can be created in a snapshot tree provided by a software defined data center. A consolidated snapshot including tuples from a diskchain of the clone in the snapshot tree can be created responsive to a determination that the snapshot tree exceeds a threshold.
    Type: Application
    Filed: July 24, 2020
    Publication date: January 27, 2022
    Applicant: VMware, Inc.
    Inventors: Wenguang Wang, Matt Amdur, Vamsi Gunturu, Eric Knauft, Pascal Renauld, Blake Lewis, Peng Mi
  • Publication number: 20210382858
    Abstract: Techniques for efficiently storing client data blocks on a distributed-computing system are provided. The system includes a fast performance tier and a large capacity tier. The capacity tier stores the client data blocks in erasure encoded data stripes. The performance tier stores logical map data including an address map indicating a correspondence between logical addresses associated with a first layer of the system and physical addresses associated with a second layer. A method includes receiving a request to include additional client data blocks in the client blocks. The request indicates logical addresses for additional blocks. Corresponding physical addresses for additional block are determined. Each additional block is stored at the physical address. Additional logical map data is stored in the performance tier. Storing the additional logical map data includes updating the address map to indicate the correspondence between the logical addresses and the physical addresses for the additional blocks.
    Type: Application
    Filed: June 5, 2020
    Publication date: December 9, 2021
    Applicant: VMware, Inc.
    Inventors: Wenguang WANG, Vamsidhar GUNTURU, Eric KNAUFT, Pascal RENAULD
  • Publication number: 20210374155
    Abstract: The disclosure herein describes tracking changes to a stale component using a synchronization bitmap. A first component of a plurality of mirrored components of the distributed data object becomes available from an unavailable state, and a stale log sequence number (LSN) and a last committed LSN are identified. A synchronization bitmap of the first component associated with a range of LSNs (e.g., from the stale LSN to the last committed LSN) is created and configured to track changes to data blocks of the first component. A second component is identified based on the second component including a tracking bitmap associated with an LSN that matches the stale LSN of the first component. The first component is synchronized with data from the second component based on, wherein the synchronizing includes updating the synchronization bitmap to track changes made to data blocks of the first component.
    Type: Application
    Filed: May 29, 2020
    Publication date: December 2, 2021
    Inventors: Enning XIANG, Pascal RENAULD, Sandeep RANGASWAMY, Xin LI, Yiqi XU, Venkata RAMANAN
  • 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: 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
  • Publication number: 20210311631
    Abstract: Techniques for issuing efficient writes to an erasure coded storage object in a distributed storage system via adaptive logging are provided. In one set of embodiments, a node of the system can receive a write request for updating one or more logical data blocks of the storage object and determine whether a size of the one or more logical data blocks meets or exceeds a threshold size. Upon determining that the size of the one or more logical data blocks meets or exceeds the threshold size, the node can allocate a segment in a capacity object of the storage object, write the one or more logical data blocks via a full stripe write to the segment, and write metadata for the one or more logical data blocks to a log record in a log of a metadata object of the storage object. The metadata written to the log record can include mappings between logical block addresses (LBAs) of the one or more logical data blocks and physical block addresses (PBAs) where the one or more logical data blocks reside in the segment.
    Type: Application
    Filed: November 4, 2020
    Publication date: October 7, 2021
    Inventors: Eric Knauft, Wenguang Wang, Pascal Renauld
  • Publication number: 20210311653
    Abstract: Techniques for issuing efficient writes to an erasure coded storage object in a distributed storage system are provided. In one set of embodiments, a node of the system can receive a write request for updating a logical data block of the storage object, write data/metadata for the block to a record in a data log of a metadata object of the storage object (where the metadata object is stored on a performance storage tier), place the block data in a free slot of an in-memory bank, and determine whether the in-memory bank has become full. If the in-memory bank is full, the node can further allocate a segment in a capacity object of the storage object for holding contents of the in-memory bank (where the capacity object is stored on a capacity storage tier), and write the in-memory bank contents via a full stripe write to the allocated segment.
    Type: Application
    Filed: April 7, 2020
    Publication date: October 7, 2021
    Inventors: Wenguang Wang, Vamsi Gunturu, Eric Knauft, Pascal Renauld
  • Publication number: 20210294502
    Abstract: A method for encrypting data in one or more data blocks is provided. The method receives a first data block to be written to a physical storage that includes one or more physical disks. The method applies a first random tweak to data indicative of the first data block to generate a first encrypted data block, and writes the first encrypted data block and the first random tweak to a first physical block of the physical storage. The method receives a second data block to be written to the physical storage. The method then applies a second random tweak, different than the first random tweak, to data indicative of the second data block to generate a second encrypted data block, and writes the second encrypted data block and the second random tweak to a second physical block of the physical storage.
    Type: Application
    Filed: March 23, 2020
    Publication date: September 23, 2021
    Inventors: Wenguang WANG, Eric KNAUFT, Vamsi GUNTURU, Pascal RENAULD
  • Publication number: 20210266268
    Abstract: Embodiments of the disclosure provide techniques for partitioning a resource object into multiple resource components of a cluster of host computer nodes in a distributed resources system. The distributed resources system translates high-level policy requirements into a resource configuration that the system accommodates. The system determines an allocation based on the policy requirements and identifies resource configurations that are available. Upon selecting a resource configuration, the distributed resources system assigns the allocation and associated values to the selected configuration and publishes the new configuration to other host computer nodes in the cluster.
    Type: Application
    Filed: May 13, 2021
    Publication date: August 26, 2021
    Inventors: Christos KARAMANOLIS, William EARL, 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: 11018988
    Abstract: Embodiments of the disclosure provide techniques for partitioning a resource object into multiple resource components of a cluster of host computer nodes in a distributed resources system. The distributed resources system translates high-level policy requirements into a resource configuration that the system accommodates. The system determines an allocation based on the policy requirements and identifies resource configurations that are available. Upon selecting a resource configuration, the distributed resources system assigns the allocation and associated values to the selected configuration and publishes the new configuration to other host computer nodes in the cluster.
    Type: Grant
    Filed: August 26, 2014
    Date of Patent: May 25, 2021
    Assignee: VMware, Inc.
    Inventors: Christos Karamanolis, William Earl, Eric Knauft, Pascal Renauld
  • 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: 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