Methods and systems for data resynchronization in a replication environment
US-2021271691-A1 · Sep 2, 2021 · US
US11599554B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11599554-B2 |
| Application number | US-202016888527-A |
| Country | US |
| Kind code | B2 |
| Filing date | May 29, 2020 |
| Priority date | May 29, 2020 |
| Publication date | Mar 7, 2023 |
| Grant date | Mar 7, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
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.
Opening claim text (preview).
What is claimed is: 1. A method for synchronizing a stale component of a distributed data object, the method comprising: detecting, by a processor, a first component of a plurality of mirrored components of the distributed data object becoming available from an unavailable state, wherein the first component is stale with respect to at least one active component of the plurality of mirrored components, the at least one active component remaining available when the first component was in the unavailable state; identifying, by the processor, a stale log sequence number (LSN) and a last committed LSN associated with the first component, wherein the stale LSN is of a write I/O that was committed on all active components of the plurality of mirrored components; prior to the first component transitioning to the unavailable state, and wherein the last committed LSN is of a last write I/O that was committed only to the first component prior to the first component transitioning to the unavailable state; creating, by the processor, a synchronization bitmap of the first component, the synchronization bitmap including an inclusive LSN range from the identified stale LSN to the identified last committed LSN, wherein the synchronization bitmap is configured to track changes to data blocks of the first component that occur after the first component becomes available; identifying, by the processor, a second component of the plurality of mirrored components based on the second component including a tracking bitmap associated with an LSN that is less than the stale LSN of the first component; and synchronizing, by the processor, the first component with data from the second component based on changed data blocks indicated in the tracking bitmap included in the second component, wherein the synchronizing includes updating the synchronization bitmap to track changes made to data blocks of the first component, whereby the first component is synchronized with the second component such that the first component is no longer stale and the synchronization bitmap tracks changes made to the first component during synchronization. 2. The method of claim 1 , further comprising: detecting, by the processor, the first component of the plurality of mirrored components transitioning into the unavailable state prior to the first component becoming available; based on detecting the first component transitioning into the unavailable state, creating, by the processor, the tracking bitmap in the second component; associating, by the processor, a last committed LSN of the second component with the tracking bitmap; and wherein the tracking bitmap is updated based on a data block of the second component being changed. 3. The method of claim 1 , further comprising: preventing, by the processor, a new write I/O from being sent to the first component while the first component is receiving recovery writes, the recovery writes comprising the data from the second component being written to the first component. 4. The method of claim 1 , further comprising: detecting, by the processor, a third component of the plurality of mirrored components becoming available from an unavailable state, wherein the third component is stale with respect to the at least one active component; identifying, by the processor, a stale LSN and a last committed LSN associated with the third component; creating, by the processor, a synchronization bitmap of the third component associated with an inclusive LSN range of the identified stale LSN associated with the third component to the identified last committed LSN associated with the third component, wherein the synchronization bitmap of the third component is configured to track changes to data blocks of the third component that occur after the third component becomes available; identifying, by the processor, the first component of the plurality of mirrored components based on the first component including the synchronization bitmap of the first component associated with the inclusive LSN range of the synchronization bitmap of the first component that includes an LSN equal to or less than the stale LSN of the third component; and synchronizing, by the processor, the third component with data from the first component based on changed data blocks indicated in the synchronization bitmap of the first component, wherein the synchronizing includes updating the synchronization bitmap of the third component to track changes made to data blocks of the third component. 5. The method of claim 1 , wherein the synchronization bitmap being configured to track changes to data blocks of the first component that occur after the first component becomes available comprises tracking changes to data blocks of the first component that occur upon synchronizing data blocks of the first component with equivalent data blocks of the second component. 6. The method of claim 1 , further comprising: committing, by the processor, to the first component, a write I/O associated with an LSN that is outside of the inclusive LSN range of the synchronization bitmap of the first component, wherein the last committed LSN of the first component is set to the LSN with which the committed write I/O is associated; and based on detecting the second component of the plurality of mirrored components becoming unavailable and determining that the last committed LSN of the first component is outside the inclusive LSN range of the synchronization bitmap of the first component, creating, by the processor, a tracking bitmap of the first component, wherein the tracking bitmap of the first component is associated with the last committed LSN of the first component. 7. The method of claim 1 , wherein synchronizing the first component with data from the second component based on changed data blocks indicated in the tracking bitmap of the second component further includes copying changed data blocks from the second component to corresponding data blocks in the first component in an increasing order of logical addresses of the changed data blocks. 8. A computer system for synchronizing a stale component of a distributed data object, the computer system comprising: a processor; and a non-transitory computer readable medium having stored thereon program code for transferring data to another computer system, the program code causing the processor to: detect a first component of a plurality of mirrored components of the distributed data object becoming available from an unavailable state, wherein the first component is stale with respect to at least one active component of the plurality of mirrored components, the at least one active component remaining available when the first component was in the unavailable state; identify a stale log sequence number (LSN) and a last committed LSN associated with the first component, wherein the stale LSN is of a write I/O that was committed on all active components of the plurality of mirrored components, prior to the first component transitioning to the unavailable state, and wherein the last committed LSN is of a last write I/O that was committed only to the first component prior to the first component transitioning to the unavailable state; create a synchronization bitmap of the first component, the synchronization bitmap including an inclusive LSN range from the identified stale LSN to the identified last committed LSN, wherein the synchronization bitmap is configured to track changes to data blocks of the first component that occur after the first component becomes available; identify a second component of the plurality of mirrored components based on the second component including a tracking bitmap associated with an LSN that is less than the stale LSN of the first component; and sy
Management of the backup or restore process · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
Database-specific techniques · CPC title
Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title
Replication mechanisms · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.