Failure recovery in a replication environment using a matrix clock and a replication controller

US12050801B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-12050801-B2
Application numberUS-202217813791-A
CountryUS
Kind codeB2
Filing dateJul 20, 2022
Priority dateApr 25, 2022
Publication dateJul 30, 2024
Grant dateJul 30, 2024

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.

One example method includes performing replication operations and/or failure recovery operations for replication operations in a computing system using matrix clocks and replication controllers. The replication controller includes or has access to vectors of a matrix clock. The replication controller also includes a multiplexer. The multiplexer is configured as an m×n multiplexer using the matrix clock to determine m and n. The operation is performed using the configured multiplexer. This allows an imbalance of resources to be managed by the replication controller. The matrix clock can be updated, which may result in the multiplexer being reconfigured.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: initiating a replication operation to replicate data from a source node to a destination node, wherein the replication operation needs x number of streams to replicate the data; updating a matrix clock associated with a replication controller such that the replication controller knows a number of streams available (m streams) at the source node and a number of streams (n streams) available at the destination node; configuring a multiplexer operated by the replication controller as an m×n multiplexer based on the matrix clock; and replicating the data using the m streams to the destination node via the multiplexer, wherein replicating the data comprises: serializing multiple files of the data into the m streams such that the multiple files are received at the multiplexer over the m streams and transmitted to the destination node using the n streams when m is less than n; and chunking a file of the data such that the file is received using the m streams and transmitted to the destination node using the n streams when m is greater than n. 2. The method of claim 1 , wherein m is 1 and the multiple files are serialized into a single stream. 3. The method of claim 1 , wherein n is 1. 4. The method of claim 1 , further comprising updating the matrix clock available to the replication controller based on a vector of the source node and/or a vector of the destination node. 5. The method of claim 4 , further comprising reconfiguring the multiplexer as a q×r multiplexer to reflect a change in the streams available at the source and/or the streams available at the destination and continuing the operation using the q streams and the r streams. 6. The method of claim 1 , further comprising throttling the operation at the replication controller when a number of streams needed for the replication operation is larger than m, wherein throttling includes using streams from the m streams that become available to service streams needed by the replication operation that have not been serviced. 7. The method of claim 1 , further comprising instantiating the replication controller on the source node, the destination node, or a different node. 8. The method of claim 1 , wherein the matrix clock includes a vector of the source node and a vector of the destination node. 9. A non-transitory storage medium having stored therein instructions that are executable by one or more hardware processors to perform operations comprising: initiating a replication operation to replicate data from a source node to a destination node, wherein the replication operation needs x number of streams to replicate the data; updating a matrix clock associated with a replication controller such that the replication controller knows a number of streams available (m streams) at the source node and a number of streams (n streams) available at the destination node; configuring a multiplexer operated by the replication controller as an m×n multiplexer based on the matrix clock; and replicating the data using the m streams to the destination node via the multiplexer, wherein replicating the data comprises: serializing multiple files of the data into the m streams such that the multiple files are received at the multiplexer over the m streams and transmitted to the destination node using the n streams when m is less than n; and chunking a file of the data such that the file is received using the m streams and transmitted to the destination node using the n streams when m is greater than n. 10. The non-transitory storage medium of claim 9 , wherein m is 1 and the multiple files are serialized into a single stream. 11. The non-transitory storage medium of claim 9 , wherein n is 1. 12. The non-transitory storage medium of claim 9 , further comprising updating the matrix clock available to the replication controller based on a vector of the source node and/or a vector of the destination node. 13. The non-transitory storage medium of claim 12 , further comprising reconfiguring the multiplexer as a q×r multiplexer to reflect a change in the streams available at the source and/or the streams available at the destination and continuing the operation using the q streams and the r streams. 14. The non-transitory storage medium of claim 9 , further comprising throttling the operation at the replication controller when a number of streams needed for the replication operation is larger than m, wherein throttling includes using streams from the m streams that become available to service streams needed by the replication operation that have not been serviced. 15. The non-transitory storage medium of claim 9 , further comprising instantiating the replication controller on the source node, the destination node, or a different node. 16. The non-transitory storage medium of claim 9 , wherein the matrix clock includes a vector of the source node and a vector of the destination node. 17. A method comprising: initiating a replication operation to replicate data from a source node to a destination node, wherein the replication operation needs x number of streams to replicate the data; updating a matrix clock associated with a replication controller such that the replication controller knows a number of streams available (m streams) at the source node and a number of streams (n streams) available at the destination node; configuring a multiplexer operated by the replication controller as an m×n multiplexer based on the matrix clock; replicating the data using the m streams to the destination node via the multiplexer; updating the matrix clock available to the replication controller based on a vector of the source node reconfiguring the multiplexer as a q×r multiplexer to reflect a change in the streams available at the source and/or the streams available at the destination and continuing the replication operation using the q streams and the r streams.

Assignees

Inventors

Classifications

  • Redundant storage or storage space (G06F11/2056 takes precedence) · CPC title

  • using run-time replication performed by the application software, e.g. N-modular type · CPC title

  • involving logging of persistent data for recovery · CPC title

  • Backup restoration techniques · CPC title

  • for networked environments · 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 US12050801B2 cover?
One example method includes performing replication operations and/or failure recovery operations for replication operations in a computing system using matrix clocks and replication controllers. The replication controller includes or has access to vectors of a matrix clock. The replication controller also includes a multiplexer. The multiplexer is configured as an m×n multiplexer using the matr…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F3/065. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 30 2024 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).