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: 10769036Abstract: Embodiments of the disclosure provide techniques for updating a distributed transaction log on a previously offline resource object component using distributed transaction logs from active host computer nodes from separate RAID mirror configurations. Each component object maintains a journal (log) where distributed transactions are recorded. If a component object goes offline and subsequently returns (e.g., if the node hosting the component object reboots), the component object is marked as stale. To return the component object to an active state, a distributed resources module retrieves the journals from other resource component objects from other RAID configurations where the data is mirrored. The module filters corresponding data that is missing in the journal of the previously offline corresponding object and merges the filtered data to the journal.Type: GrantFiled: November 13, 2017Date of Patent: September 8, 2020Assignee: VMware, Inc.Inventors: William Earl, Christos Karamanolis, Eric Knauft, Pascal Renauld
-
Patent number: 10666435Abstract: A tenant's clear text data in a multi-tenant storage system can be encrypted using the tenant's cryptographic key to produce encrypted yet compressible data (“cryptographic data”). The cryptographic data can be encrypted using a system cryptographic key that is managed by the multi-tenant storage system and then stored. Use of the system cryptographic key allows for subsequent maintenance activities such as deduplication and compression to be performed on data stored in the multi-tenant storage system without having to access any of the tenants' cryptographic keys.Type: GrantFiled: January 9, 2018Date of Patent: May 26, 2020Assignee: VMware, Inc.Inventors: Wenguang Wang, Jin Zhang, Haoran Zheng, Eric Knauft, Xin Li, Pascal Renauld, Bryan Fink
-
Publication number: 20200142995Abstract: 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: ApplicationFiled: November 6, 2018Publication date: May 7, 2020Inventors: Enning Xiang, Yiqi Xu, Eric Knauft, Pascal Renauld
-
Patent number: 10642526Abstract: In a storage cluster having nodes, blocks of a logical storage space of a storage object are allocated flexibly by a parent node to component nodes that are backed by physical storage. The method includes maintaining a first allocation map for the parent node, and second and third allocation maps for the first and second component nodes, respectively, executing a first write operation on the first component node and updating the second allocation map to indicate that the first block is a written block, and upon detecting that the first component node is offline, executing a second write operation that targets a second block of the logical storage space, which is allocated to the first component node, on the second component node and updating the third allocation map to indicate that the second block is a written block.Type: GrantFiled: December 22, 2017Date of Patent: May 5, 2020Assignee: VMware, Inc.Inventors: Eric Knauft, Mansi Shah, Jin Zhang, Christian Dickmann, Pascal Renauld, Radhika Vullikanti, Christos Karamanolis
-
Patent number: 10609139Abstract: 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: GrantFiled: August 10, 2017Date of Patent: March 31, 2020Assignee: VMware, Inc.Inventors: Enning Xiang, Pascal Renauld, Eric Knauft
-
Patent number: 10581602Abstract: A multi-tenant storage system can store clear text data and associated clear text checksum received from a storage tenant using their associated cryptographic key (“cryptokey”). When the clear text data is compressible, cryptographic data (“cryptodata”) is generated from a concatenation of the clear text checksum and compressed clear text data using the cryptokey. A cryptographic checksum (“cryptochecksum”) is generated from the cryptodata. When the clear text data is uncompressible, cryptographic data (“cryptodata”) is generated by encrypting the clear text data using the cryptokey with an extra verification step to make sure the clear text checksum can be rebuilt during the read request. A cryptographic checksum (“cryptochecksum”) is generated from the cryptodata. The cryptodata and associated cryptochecksum are stored in the multi-tenant storage system, so that repairs to damaged cryptodata can be made using the associated cryptochecksum.Type: GrantFiled: January 9, 2018Date of Patent: March 3, 2020Assignee: VMware, Inc.Inventors: Wenguang Wang, Xin Li, Haoran Zheng, Eric Knauft, Jin Zhang, Pascal Renauld, Bryan Fink
-
Publication number: 20190303013Abstract: 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: ApplicationFiled: June 19, 2019Publication date: October 3, 2019Applicant: VMware, Inc.Inventors: Enning Xiang, Eric Knauft, Pascal Renauld
-
Patent number: 10419498Abstract: Examples perform input/output (I/O) requests, issued by a plurality of clients to an owner-node, in a virtual storage area network (vSAN) environment. I/O requests are guaranteed, as all I/O requests are performed during non-overlapping, exclusive sessions between one client at a time and the owner node. The owner node rejects requests for simultaneous sessions, and duplicate sessions are prevented by requiring that a client refresh its memory state after termination of a previous session.Type: GrantFiled: December 1, 2015Date of Patent: September 17, 2019Assignee: VMware, Inc.Inventors: Eric Knauft, Luke Lu, Wenguang Wang, Pascal Renauld, Radu Berinde, Ruocheng Li
-
Patent number: 10365852Abstract: 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: GrantFiled: July 29, 2016Date of Patent: July 30, 2019Assignee: VMware, Inc.Inventors: Enning Xiang, Eric Knauft, Pascal Renauld
-
Publication number: 20190215155Abstract: A tenant's clear text data in a multi-tenant storage system can be encrypted using the tenant's cryptographic key to produce encrypted yet compressible data (“cryptographic data”). The cryptographic data can be encrypted using a system cryptographic key that is managed by the multi-tenant storage system and then stored. Use of the system cryptographic key allows for subsequent maintenance activities such as deduplication and compression to be performed on data stored in the multi-tenant storage system without having to access any of the tenants' cryptographic keys.Type: ApplicationFiled: January 9, 2018Publication date: July 11, 2019Inventors: Wenguang Wang, Jin Zhang, Haoran Zheng, Eric Knauft, Xin Li, Pascal Renauld, Bryan Fink
-
Publication number: 20190215152Abstract: A multi-tenant storage system can store clear text data and associated clear text checksum received from a storage tenant using their associated cryptographic key (“cryptokey”). When the clear text data is compressible, cryptographic data (“cryptodata”) is generated from a concatenation of the clear text checksum and compressed clear text data using the cryptokey. A cryptographic checksum (“cryptochecksum”) is generated from the cryptodata. When the clear text data is uncompressible, cryptographic data (“cryptodata”) is generated by encrypting the clear text data using the cryptokey with an extra verification step to make sure the clear text checksum can be rebuilt during the read request. A cryptographic checksum (“cryptochecksum”) is generated from the cryptodata. The cryptodata and associated cryptochecksum are stored in the multi-tenant storage system, so that repairs to damaged cryptodata can be made using the associated cryptochecksum.Type: ApplicationFiled: January 9, 2018Publication date: July 11, 2019Inventors: Wenguang Wang, Xin Li, Haoran Zheng, Eric Knauft, Jin Zhang, Pascal Renauld, Bryan Fink
-
Patent number: 10268408Abstract: In a storage cluster having nodes, blocks of a logical storage space of a storage object are allocated flexibly by a parent node to component nodes that are backed by physical storage. The method includes maintaining a first allocation map for the parent node, and second and third allocation maps for the first and second component nodes, respectively, executing a first write operation on the first component node and updating the second allocation map to indicate that the first block is a written block, selecting the second component node for executing a second write operation, and executing the second write operation on the second component node. Upon execution of the second write operation, the third allocation map is updated to indicate that the second block is a written block and the first allocation map is updated to indicate that the second block is allocated to the second component node.Type: GrantFiled: December 22, 2017Date of Patent: April 23, 2019Assignee: VMware, Inc.Inventors: Mansi Shah, Eric Knauft, Jin Zhang, Christian Dickmann, Pascal Renauld, Radhika Vullikanti, Christos Karamanolis
-
Publication number: 20190065062Abstract: In a storage cluster having nodes, blocks of a logical storage space of a storage object are allocated flexibly by a parent node to component nodes that are backed by physical storage. The method includes maintaining a first allocation map for the parent node, and second and third allocation maps for the first and second component nodes, respectively, executing a first write operation on the first component node and updating the second allocation map to indicate that the first block is a written block, and upon detecting that the first component node is offline, executing a second write operation that targets a second block of the logical storage space, which is allocated to the first component node, on the second component node and updating the third allocation map to indicate that the second block is a written block.Type: ApplicationFiled: December 22, 2017Publication date: February 28, 2019Inventors: Eric KNAUFT, Mansi SHAH, Jin ZHANG, Christian DICKMANN, Pascal RENAULD, Radhika VULLIKANTI, Christos KARAMANOLIS
-
Publication number: 20190065092Abstract: In a storage cluster having nodes, blocks of a logical storage space of a storage object are allocated flexibly by a parent node to component nodes that are backed by physical storage. The method includes maintaining a first allocation map for the parent node, and second and third allocation maps for the first and second component nodes, respectively, executing a first write operation on the first component node and updating the second allocation map to indicate that the first block is a written block, selecting the second component node for executing a second write operation, and executing the second write operation on the second component node. Upon execution of the second write operation, the third allocation map is updated to indicate that the second block is a written block and the first allocation map is updated to indicate that the second block is allocated to the second component node.Type: ApplicationFiled: December 22, 2017Publication date: February 28, 2019Inventors: Mansi SHAH, Eric KNAUFT, Jin ZHANG, Christian DICKMANN, Pascal RENAULD, Radhika VULLIKANTI, Christos KARAMANOLIS
-
Publication number: 20190052708Abstract: 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: ApplicationFiled: August 10, 2017Publication date: February 14, 2019Inventors: Enning XIANG, Pascal RENAULD, Eric KNAUFT
-
Patent number: 10198312Abstract: Systems and techniques are described for transferring data. A described technique includes receiving a request to transmit a data block from a first data storage device to a second data storage device. An attempt to read the data block from the first data storage device is made. A media error resulting from the attempt to read the data block from the first data storage device is detected. In response to detecting the media error, a new data block is generated and includes mismatched checksum data that causes a checksum mismatched error when the new data block is accessed. The new data block is transmitted for storage at the second data storage device in place of the data block.Type: GrantFiled: April 2, 2018Date of Patent: February 5, 2019Assignee: VMware, Inc.Inventors: Enning Xiang, Eric Knauft, Pascal Renauld, Xin Li
-
Publication number: 20190034087Abstract: 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: ApplicationFiled: July 26, 2017Publication date: January 31, 2019Inventors: Pascal RENAULD, Enning XIANG, Eric KNAUFT
-
Publication number: 20190034505Abstract: 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: ApplicationFiled: July 26, 2017Publication date: January 31, 2019Inventors: Pascal RENAULD, Enning XIANG, Eric KNAUFT
-
Publication number: 20190026042Abstract: Techniques for enabling deduplication-aware load balancing in a distributed storage system are provided. In one set of embodiments, a node of the distributed storage system can receive an I/O (Input/Output) request pertaining to a data block of a storage object stored on a local storage component of the node. The node can further determine whether the I/O request requires insertion of a new entry into a deduplication hash table associated with the local storage component or deletion of an existing entry from the deduplication hash table. If the I/O request requires insertion of a new hash table entry, the node can add an identifier of the data block into a probabilistic data structure associated with the local storage component, where the probabilistic data structure is configured to maintain information regarding distinct data blocks that are likely present in the local storage component.Type: ApplicationFiled: July 18, 2017Publication date: January 24, 2019Inventors: Abhishek Gupta, Jorge Guerra Delgado, Sandeep Rangaswamy, Srinath Premachandran, Pascal Renauld
-
Publication number: 20180225171Abstract: Systems and techniques are described for transferring data. A described technique includes receiving a request to transmit a data block from a first data storage device to a second data storage device. An attempt to read the data block from the first data storage device is made. A media error resulting from the attempt to read the data block from the first data storage device is detected. In response to detecting the media error, a new data block is generated and includes mismatched checksum data that causes a checksum mismatched error when the new data block is accessed. The new data block is transmitted for storage at the second data storage device in place of the data block.Type: ApplicationFiled: April 2, 2018Publication date: August 9, 2018Applicant: VMware, Inc.Inventors: Enning Xiang, Eric Knauft, Pascal Renauld, Xin Li