IP Library Patent Application 18356125
Patent Application
App. No. 18/356,125

RESYNCHRONIZATION OF OBJECTS IN A VIRTUAL STORAGE SYSTEM

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 None
App. No.
18/356,125
Abstract

An example method of resynchronizing a first replica of an object and a second replica of an object in an object storage system, includes: determining, by storage software in response to the second replica transitioning from failed to available, a stale sequence number for the second replica, the storage software having associated the stale sequence number with the second replica when the second replica failed; querying, by the storage software, block-level metadata for the object using the stale sequence number, the block-level metadata relating logical blocks of the object with sequence numbers for operations on the object; determining, by the software as a result of the querying, a set of the logical blocks each related to a sequence number being the same or after the stale sequence number; and copying, by the storage software, data of the set of logical blocks from the first replica to the second replica.

Claims (37)

1 . A method of resynchronizing a first replica of an object and a second replica of an object in an object storage system, the object storge system providing storage for a host executing storage software, the method comprising:

determining, by the storage software in response to the second replica transitioning from failed to available, a stale sequence number for the second replica, the storage software having associated the stale sequence number with the second replica when the second replica failed;

querying, by the storage software, block-level metadata for the object using the stale sequence number, the block-level metadata relating logical blocks of the object with sequence numbers for operations on the object;

determining, by the software as a result of the querying, a set of the logical blocks each related to a sequence number being the same or after the stale sequence number; and

copying, by the storage software, data of the set of logical blocks from the first replica to the second replica.

2 . The method of claim 1 , further comprising:

activating, by the storage software, the second replica after the copying.

3 . The method of claim 1 , wherein the storage software determines extents representing the set of logical blocks from the querying, each of the extents indicating a starting logical block and an offset from the starting logical block, and wherein the storage software copies the data using the extents.

4 . The method of claim 1 , wherein the sequence numbers are unique and the storage software changes the sequence number for each of the operations.

5 . The method of claim 4 , wherein the stale sequence number is one of the sequence numbers.

6 . The method of claim 1 , wherein the host is part of a cluster of hosts, the hosts including local storage devices aggregated to form the object storage system.

7 . The method of claim 6 , wherein the block-level metadata further relates the logical blocks with physical blocks of the local storage devices.

8 . A non-transitory computer readable medium comprising instructions to be executed in a computing device to cause the computing device to carry out a method of resynchronizing a first replica of an object and a second replica of an object in an object storage system, the object storge system providing storage for a host executing storage software, the method comprising:

determining, by the storage software in response to the second replica transitioning from failed to available, a stale sequence number for the second replica, the storage software having associated the stale sequence number with the second replica when the second replica failed;

querying, by the storage software, block-level metadata for the object using the stale sequence number, the block-level metadata relating logical blocks of the object with sequence numbers for operations on the object;

determining, by the software as a result of the querying, a set of the logical blocks each related to a sequence number being the same or after the stale sequence number; and

copying, by the storage software, data of the set of logical blocks from the first replica to the second replica.

9 . The non-transitory computer readable medium of claim 8 , further comprising:

activating, by the storage software, the second replica after the copying.

10 . The non-transitory computer readable medium of claim 8 , wherein the storage software determines extents representing the set of logical blocks from the querying, each of the extents indicating a starting logical block and an offset from the starting logical block, and wherein the storage software copies the data using the extents.

11 . The non-transitory computer readable medium of claim 8 , wherein the sequence numbers are unique and the storage software changes the sequence number for each of the operations.

12 . The non-transitory computer readable medium of claim 11 , wherein the stale sequence number is one of the sequence numbers.

13 . The non-transitory computer readable medium of claim 8 , wherein the host is part of a cluster of hosts, the hosts including local storage devices aggregated to form the object storage system.

14 . The non-transitory computer readable medium of claim 13 , wherein the block-level metadata further relates the logical blocks with physical blocks of the local storage devices.

15 . A computer system, comprising:

a hardware platform comprising an interface to an object storage system, the object storage system storing an object having a first replica and a second replica;

system software, executing on the hardware platform, including storage software configured to:

determine, in response to the second replica transitioning from failed to available, a stale sequence number for the second replica, the storage software having associated the stale sequence number with the second replica when the second replica failed;

query block-level metadata for the object using the stale sequence number, the block-level metadata relating logical blocks of the object with sequence numbers for operations on the object;

determine, as a result of the querying, a set of the logical blocks each related to a sequence number being the same or after the stale sequence number; and

copy data of the set of logical blocks from the first replica to the second replica.

16 . The computer system of claim 15 , wherein the storage software is configured to:

activate the second replica after the copying.

17 . The computer system of claim 15 , wherein the storage software determines extents representing the set of logical blocks from the querying, each of the extents indicating a starting logical block and an offset from the starting logical block, and wherein the storage software copies the data using the extents.

18 . The computer system of claim 15 , wherein the sequence numbers are unique and the storage software changes the sequence number for each of the operations.

19 . The computer system of claim 18 , wherein the stale sequence number is one of the sequence numbers.

20 . The computer system of claim 15 , wherein the host is part of a cluster of hosts, the hosts including local storage devices aggregated to form the object storage system.

Assignments (2)
CHANGE OF NAME Recorded Apr 25, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067239/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2023
From: RAMANAN, VENKATA; KNAUFT, ERIC; RENAULD, PASCAL; RANGASWAMY, SANDEEP; THOKALA, SUDHEER
To: VMWARE, INC.
Reel/Frame 064726/0677 →