Method, apparatus and computer storage medium for data synchronization

US11593233B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11593233-B2
Application numberUS-201916576959-A
CountryUS
Kind codeB2
Filing dateSep 20, 2019
Priority dateOct 31, 2018
Publication dateFeb 28, 2023
Grant dateFeb 28, 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.

Techniques provide for data synchronization. For example, such a technique may involve: obtaining respective synchronization characteristics of a group of synchronization jobs to be processed, each synchronization characteristic indicating at least one of an expected completion time instant and an amount of data to be synchronized of a corresponding synchronization job; prioritizing the group of the synchronization jobs based on the synchronization characteristics; and controlling execution of the group of the synchronization jobs based on a result of the prioritizing. Accordingly, high priority is given to the synchronization jobs which can be rapidly completed thereby improving the Recovery Point Objective (RPO) achievement rate before occurrence of a failure.

First claim

Opening claim text (preview).

We claim: 1. A method for data synchronization within a storage system having a scheduler, a first storage device, and a second storage device, comprising: obtaining sets of respective synchronization characteristics of a plurality of synchronization jobs of a group of synchronization jobs to be executed, each set of synchronization characteristics indicating an expected-completion time instant and an amount of data to be synchronized of a corresponding synchronization job in a plurality of synchronization sessions; prioritizing the group of the synchronization jobs to provide a ranking, the ranking indicating an order in which to execute the synchronization jobs of the group of synchronization jobs; and executing the group of the synchronization jobs in the plurality of synchronization sessions according to the ranking beginning with a highest priority synchronization job and ending with a lowest priority synchronization job, the group of synchronization jobs synchronizing data between the first storage device and the second storage device during the plurality of synchronization sessions; wherein prioritizing the group of the synchronization jobs includes: normalizing lengths of available time for executing the synchronization jobs and amounts of data to be synchronized of the synchronization jobs, each of the lengths of available time for executing the synchronization jobs indicating an amount of time until a respective expected completion time instant from a current time instant of the storage system; and determining the ranking based on weighted sums of the normalized lengths of available times and the normalized amounts of data to be synchronized; and wherein the scheduler is constructed and arranged to direct new synchronization jobs at the storage system to an execution path of the storage system while the number of current active synchronization jobs in the synchronization group is below a predetermined threshold, queue the new synchronization jobs within a waiting queue of the storage system while the number of current active synchronization jobs in the synchronization group is not below the predetermined threshold, and reorder the synchronization jobs residing within the waiting queue. 2. The method according to claim 1 , wherein obtaining the synchronization characteristics comprises: obtaining respective Recovery Point Objectives RPOs of the group of synchronization jobs and the current time instant of the storage system; and determining the expected completion time instant of the corresponding synchronization job based on the RPO of the corresponding synchronization job and the current time instant of the storage system. 3. The method according to claim 1 , further comprising: in response to arrival of each new synchronization job at the storage system, determining the number of current active synchronization jobs in the group of synchronization jobs; and in response to the number reaching a threshold, adding the new synchronization job into the group of synchronization jobs. 4. The method according to claim 1 , wherein executing the group of the synchronization jobs includes: in response to the number of the current active synchronization jobs being below the predetermined threshold, selecting from the group of synchronization jobs a synchronization job with the highest priority as a synchronization job to be executed based on the result of the prioritizing; and executing the selected synchronization job. 5. The method according to claim 1 , wherein each weighted sum of the set of weighted sums is based on a length of available time for executing and an amount of data to be synchronized for a respective synchronization job of the group of synchronization jobs. 6. The method according to claim 1 , wherein the storage system is tasked with performing data replication between the first storage device and the second storage device in accordance with a predefined Recovery Point Objective (RPO) requirement; and wherein the group of synchronization jobs to be executed are synchronization jobs awaiting execution to replicate data from the first storage device to the second storage device during the plurality of synchronization sessions. 7. The method according to claim 1 , wherein obtaining the respective synchronization characteristics includes calculating, as an expected completion time instant of a particular synchronization job, a latest time before an expiry of a Recovery Point Objective (RPO) associated with the particular synchronization job; and wherein the method further comprises calculating, as a length of available time for executing the particular synchronization job and after obtaining the respective synchronization characteristics, a difference between the expected completion time instant of the particular synchronization job and the current time instant. 8. The method according to claim 1 , further comprising: after prioritizing the group of the synchronization jobs, updating the group of the synchronization jobs to include another synchronization job; and in response to updating the group of synchronization jobs, updating the lengths of available times for executing the synchronization jobs and reprioritizing the group of the synchronization jobs based on the updated lengths of available times. 9. An electronic device, comprising: at least one processor; a scheduler; and at least one memory coupled to the at least one processor and having computer programs stored therein, the computer programs, when executed by the at least one processor, causing the electronic device to: obtain sets of respective synchronization characteristics of a plurality of synchronization jobs of a group of synchronization jobs to be executed, each set of synchronization characteristics indicating an expected completion time instant and an amount of data to be synchronized of a corresponding synchronization job in a plurality of synchronization sessions; prioritize the group of the synchronization jobs to provide a ranking, the ranking indicating an order in which to execute the synchronization jobs of the group of synchronization jobs; and execute the group of the synchronization jobs in the plurality of synchronization sessions according to the ranking beginning with a highest priority synchronization job and ending with a lowest priority synchronization job, the group of synchronization jobs synchronizing data between a first storage device and a second storage device during the plurality of synchronization sessions; wherein the electronic device, when prioritizing the group of the synchronization jobs, is constructed and arranged to: normalize lengths of available time for executing the synchronization jobs and amounts of data to be synchronized of the synchronization jobs, each of the lengths of available time for executing the synchronization jobs indicating an amount of time until a respective expected completion time instant from a current time instant of the electronic device; and determine the ranking based on weighted sums of the normalized lengths of available times and the normalized amounts of data to be synchronized; and wherein the scheduler is constructed and arranged to direct new synchronization jobs at the electronic device to an execution path of the electronic device while the number of current active synchronization jobs in the synchronization group is below a predetermined threshold, queue the new synchronization jobs within a waiting queue of the electronic device while the number of current active synchronization jobs in the synchronization group is not below the predetermined threshold, and reorder the synchronization jobs residing within the waiting queue.

Assignees

Inventors

Classifications

  • Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit · CPC title

  • Using snapshots, i.e. a logical point-in-time copy of the data · CPC title

  • G06F9/4837Primary

    time dependent · CPC title

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

  • considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups) · 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 US11593233B2 cover?
Techniques provide for data synchronization. For example, such a technique may involve: obtaining respective synchronization characteristics of a group of synchronization jobs to be processed, each synchronization characteristic indicating at least one of an expected completion time instant and an amount of data to be synchronized of a corresponding synchronization job; prioritizing the group o…
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F11/1658. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 28 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).