IP Library Granted Patent US 12688203
Granted Patent B1
US 12688203 · App. 19/030,658 · Granted Jul 21, 2026

Distributed point-in-time restore across storage formats on a hybrid database

Inventors: Armaan Sood (Bellevue, WA); Krishnan Sundaram (Bothell, WA)
Assignee: Microsoft Technology Licensing, LLC.
G06F16/278
View Patent ↗
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 12688203
App. No.
19/030,658
Granted
Jul 21, 2026
Kind
B1
Abstract

To avoid inconsistencies caused by clock skew across data storage tiers, a point-in-time restore service creates a restore account, restores a partition of the database to its state at the designated point-in-time, including data from that time. A restored value is read from the data and a list is retrieved of segments written to a disaggregated storage tier by the existing partition. The disaggregated storage tier includes a first segment with a first value and a second segment with a second value, the values indicating their creation order. A first comparison is made between the restored value and the first value, and a second comparison is made between the restored value and the second value. Based on these comparisons, the first segment but not the second segment is copied to the restore account.

Claims (40)

1 . A computer system, the system comprising a processor and a memory storing software arranged to execute on the processor, the software comprising instructions operative upon execution by the processor to:

create a restore partition of a database in a restore account, the restore partition having a state of an existing partition of an existing database at a point-in-time, the restore partition including data matching corresponding data of the existing partition at the point-in-time;

read a restored value, the restored value being a component of the data;

obtain a list of segments written to a disaggregated storage tier by the existing partition, the list including a first identifier of a first segment associated with a first value and a second identifier of a second segment associated with a second value, wherein a comparison of the first and second values indicates an order of creation of the first and second segments;

perform a first comparison, the first comparison comparing the restored value to the first value;

perform a second comparison, the second comparison comparing the restored value to the second value; and

based on the first comparison and the second comparison, copy the first segment and not the second segment to the restore account, whereby the restore partition is synchronized with segments in the disaggregated storage tier that are associated with the restore partition.

2 . The computer system of claim 1 , wherein the restored value was received at the existing partition from the disaggregated storage tier at a time that a most recently written segment was written to the disaggregated storage tier by the existing partition.

3 . The computer system of claim 2 , wherein the restored value is a timestamp originating from a clock associated with the disaggregated storage tier that indicates the time that the most recently written segment was written to the disaggregated storage tier by the existing partition.

4 . The computer system of claim 1 , wherein the list of segments includes soft-deleted segments and active segments, and, for each segment, a corresponding value indicating the order of creation of the segments.

5 . The computer system of claim 4 , wherein the corresponding values indicate a time of creation of the segments according to a clock associated with the disaggregated storage tier.

6 . The computer system of claim 1 , wherein the instructions are further operative upon execution by the processor to copy, to the restore account, additional segments associated with the existing partition that were created before the first segment.

7 . The computer system of claim 1 , wherein the copying of the first segment to the restore account comprises creating a copy of the first segment in the disaggregated storage tier and associating the copy with the restore account.

8 . A computerized method comprising:

at a point-in-time restore service, receiving a restore request, the restore request comprising an identification of an existing database having an existing partition and a designated point-in-time;

in response to the restore request, creating a restore account and restoring, to the restore account, a restored partition of the database, the restored partition having a state of the existing partition at the designated point-in-time, the restored partition including data matching corresponding data of the existing partition at the point-in-time;

reading a restored value, the restored value being a component of the data;

obtaining a list of segments written to a disaggregated storage tier by the existing partition, the disaggregated storage tier comprising a first segment associated with a first value and a second segment associated with a second value, wherein a comparison of the first and second values indicates an order of creation of the first and second segments;

perform a first comparison, the first comparison comparing the restored value to the first value;

perform a second comparison, the second comparison comparing the restored value to the second value; and

copy the first segment and not the second segment to the restore account, based on the first comparison and the second comparison, whereby the restored partition is synchronized with segments in the disaggregated storage tier that are associated with the restored partition.

9 . The computerized method of claim 8 , wherein the restored value was received at the existing partition from the disaggregated storage tier at a time that a most recently written segment was written to the disaggregated storage tier by the existing partition.

10 . The computerized method of claim 9 , wherein the restored value is a timestamp originating from a clock associated with the disaggregated storage tier that indicates the time that the most recently written segment was written to the disaggregated storage tier by the existing partition.

11 . The computerized method of claim 8 , wherein the list of segments includes soft-deleted segments and active segments, and, for each segment, a corresponding value indicating the order of creation of the segments.

12 . The computerized method of claim 11 , wherein the corresponding values indicate a time of creation of the segments according to a clock associated with the disaggregated storage tier.

13 . The computerized method of claim 8 , further comprising copying, to the restore account, additional segments associated with the existing partition that were created before the first segment.

14 . The computerized method of claim 8 , wherein the copying of the first segment to the restore account comprises creating a copy of the first segment in the disaggregated storage tier and associating the copy with the restore account.

15 . A computer-readable storage medium storing instructions executable by a processing apparatus to perform operations comprising:

at a point-in-time restore service, receiving a restore request, the restore request comprising an identification of an existing database having an existing partition and a designated point-in-time;

in response to the restore request, creating a restore account and restoring, to the restore account, a restored partition of the database, the restored partition having a state of the existing partition at the designated point-in-time, the restored partition including data matching corresponding data of the existing partition at the point-in-;

reading a restored value, the restored value being a component of the data;

obtaining a list of segments written to a disaggregated storage tier by the existing partition, the disaggregated storage tier comprising a first segment associated with a first value and a second segment associated with a second value, wherein a comparison of the first and second values indicates an order of creation of the first and second segments;

performing a first comparison, the first comparison comparing the restored value to the first value, the first comparison indicating that the restored value was generated before the creation of the first segment;

performing a second comparison, the second comparison comparing the restored value to the second value, the second comparison indicating that the restored value was generated after the creation of the second segment; and

copying the first segment and not the second segment to the restore account based on the first comparison and the second comparison, whereby the restored partition is synchronized with segments in the disaggregated storage tier that are associated with the restored partition.

16 . The computer-readable storage medium of claim 15 , wherein the restored value was received at the existing partition from the disaggregated storage tier at a time that a most recently written segment was written to the disaggregated storage tier by the existing partition.

17 . The computer-readable storage medium of claim 16 , wherein the restored value is a timestamp originating from a clock associated with the disaggregated storage tier that indicates the time that the most recently written segment was written to the disaggregated storage tier by the existing partition.

18 . The computer-readable storage medium of claim 15 , wherein the list of segments includes soft-deleted segments and active segments, and, for each segment, a corresponding value indicating the order of creation of the segments.

19 . The computer-readable storage medium of claim 18 , wherein the corresponding values indicate a time of creation of the segments according to a clock associated with the disaggregated storage tier.

20 . The computer-readable storage medium of claim 15 , wherein the operations further comprise copying, to the restore account, additional segments associated with the existing partition that were created before the first segment.