Synchronizing changes to stale components of a distributed object using synchronization bitmaps

US11599554B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11599554-B2
Application numberUS-202016888527-A
CountryUS
Kind codeB2
Filing dateMay 29, 2020
Priority dateMay 29, 2020
Publication dateMar 7, 2023
Grant dateMar 7, 2023

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11599554B2 cover?
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…
Who is the assignee on this patent?
Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/2094. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 07 2023 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 7 related publications on this page (citations in our corpus or others sharing the same primary CPC).