Synchronous replication of high throughput streaming data

US12423003B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12423003-B2
Application numberUS-202318166834-A
CountryUS
Kind codeB2
Filing dateFeb 9, 2023
Priority dateNov 13, 2020
Publication dateSep 23, 2025
Grant dateSep 23, 2025

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.

A method for synchronous replication of stream data includes receiving a stream of data blocks for storage at a first storage location associated with a first geographical region and at a second storage location associated with a second geographical region. The method also includes synchronously writing the stream of data blocks to the first storage location and to the second storage location. While synchronously writing the stream of data blocks, the method includes determining an unrecoverable failure at the second storage location. The method also includes determining a failure point in the writing of the stream of data blocks that demarcates data blocks that were successfully written and not successfully written to the second storage location. The method also includes synchronously writing, starting at the failure point, the stream of data blocks to the first storage location and to a third storage location associated with a third geographical region.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising: receiving, at a data block replicator, a stream of data blocks for storage at a first storage location of a distributed storage system and at a second storage location of the distributed storage system, the first storage location associated with a first geographical region and the second storage location associated with a second geographical region different than the first geographical region; synchronously writing, from the data block replicator, the stream of data blocks to the first storage location and to the second storage location; while synchronously writing the stream of data blocks to the first storage location and to the second storage location, determining an unrecoverable failure at the second storage location that prohibits further writing of the stream of data blocks to the second storage location; determining a failure point in the writing of the stream of data blocks, the failure point demarcating data blocks that were successfully written to the second storage location and data blocks that were not successfully written to the second storage location; synchronously writing, from the data block replicator and starting at the failure point, the stream of data blocks to the first storage location and to a third storage location of the distributed storage system simultaneously, the third storage location associated with a third geographical region different than the first geographical region and the second geographical region; and based on determining the unrecoverable failure at the second storage location and after synchronously writing the stream of data blocks to the third storage location, asynchronously writing, from a beginning of the stream of data blocks to the failure point of the stream of data blocks, the data blocks to the third storage location from the data block replicator. 2. The method of claim 1 , wherein determining the unrecoverable failure at the second storage location that prohibits further writing of the stream of data blocks to the second storage location comprises: determining a failure of the writing of the stream of data blocks to the second storage location; in response to determining the failure of writing the stream of data blocks to the second storage location, retrying writing the stream of data blocks to the second storage location; determining that retrying writing the stream of data blocks to the second storage location has failed; and in response to determining that retrying writing the stream of data blocks to the second storage location has failed, determining that the failure is an unrecoverable failure. 3. The method of claim 1 , wherein determining the failure point in the writing of the stream of data blocks comprises reconciling a first replication log corresponding to the first storage location and a second replication log corresponding to the second storage location. 4. The method of claim 3 , wherein reconciling the first replication log and the second replication log comprises reconciling, based on a length of the first replication log and a length of the second replication log, the first replication log and the second replication log. 5. The method of claim 3 , wherein reconciling the first replication log and the second replication log comprises: determining an index of the second replication log associated with the unrecoverable failure; storing the index of the second replication log on memory hardware in communication with the data processing hardware; finalizing the second replication log to prohibit further writes to the second storage location; and generating a sentinel file to indicate a need for reconciliation. 6. The method of claim 1 , wherein the operations further comprise returning an indication of the unrecoverable failure at the second storage location to a client device associated with a user. 7. The method of claim 6 , where in the indication of the unrecoverable failure at the second storage location comprises one or more of: the failure point; a number of data blocks that were successfully written to the second storage location; or an identification of the second storage location. 8. The method of claim 1 , wherein asynchronously writing the data blocks that were successfully written to the second storage location to the third storage location is performed after synchronously writing the stream of data blocks to the first storage location and to the third storage location. 9. The method of claim 1 , wherein asynchronously writing the data blocks that were successfully written to the second storage location to the third storage location is performed simultaneously while synchronously writing the stream of data blocks to the first storage location and to the third storage location. 10. A system comprising: data processing hardware; and memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising: receiving, at a data block replicator, a stream of data blocks for storage at a first storage location of a distributed storage system and at a second storage location of the distributed storage system, the first storage location associated with a first geographical region and the second storage location associated with a second geographical region different than the first geographical region; synchronously writing, from the data block replicator, the stream of data blocks to the first storage location and to the second storage location; while synchronously writing the stream of data blocks to the first storage location and to the second storage location, determining an unrecoverable failure at the second storage location that prohibits further writing of the stream of data blocks to the second storage location; determining a failure point in the writing of the stream of data blocks, the failure point demarcating data blocks that were successfully written to the second storage location and data blocks that were not successfully written to the second storage location; synchronously writing, from the data block replicator and starting at the failure point, the stream of data blocks to the first storage location and to a third storage location of the distributed storage system simultaneously, the third storage location associated with a third geographical region different than the first geographical region and the second geographical region; and based on determining the unrecoverable failure at the second storage location and after synchronously writing the stream of data blocks to the third storage location, asynchronously writing, from a beginning of the stream of data blocks to the failure point of the stream of data blocks, the data blocks to the third storage location from the data block replicator. 11. The system of claim 10 , wherein determining the unrecoverable failure at the second storage location that prohibits further writing of the stream of data blocks to the second storage location comprises: determining a failure of the writing of the stream of data blocks to the second storage location; in response to determining the failure of writing the stream of data blocks to the second storage location, retrying writing the stream of data blocks to the second storage location; determining that retrying writing the stream of data blocks to the second storage location has failed; and in response to determining that retrying writing the stream of data blocks to the secon

Assignees

Inventors

Classifications

  • Point-in-time backing up or restoration of persistent data · CPC title

  • Monitoring storage devices or systems · CPC title

  • by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title

  • where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title

  • involving logging of persistent data for recovery · 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 US12423003B2 cover?
A method for synchronous replication of stream data includes receiving a stream of data blocks for storage at a first storage location associated with a first geographical region and at a second storage location associated with a second geographical region. The method also includes synchronously writing the stream of data blocks to the first storage location and to the second storage location. …
Who is the assignee on this patent?
Google Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/1466. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 23 2025 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 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).