IP Library › Granted Patent US 12,278,770
Granted Patent B2
US 12,278,770 · App. 17/517,898 · Granted Apr 15, 2025

Method, electronic device and computer program product for data transmission

Inventors: Fang Du (Guangyuan, CN); Xu Chen (Chengdu, CN); Hao Wang (Chengdu, CN); Pan Xiao (Chengdu, CN); Si Zhang (Chengdu, CN)
Assignee: EMC IP Holding Company LLC
H04L47/25H04L47/2441H04L47/2458
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,278,770
App. No.
17/517,898
Granted
Apr 15, 2025
Kind
B2
Abstract

Techniques for data transmission involve obtaining respective data transmission characteristics of a set of to-be-processed data transmission jobs, the data transmission characteristics of each data transmission job indicating at least one of an expected transmission time and a data size of the data transmission job; determining corresponding weights of the set of data transmission jobs based on the data transmission characteristics of the set of data transmission jobs; and determining a transmission rate of each data transmission job based on the weights and a total transmission rate used for the set of data transmission. Accordingly, different transmission rates may be assigned to different data transmission jobs, thereby increasing a recovery point objective (RPO) completion rate before a failure occurs.

Claims (42)

1. A method for data transmission, comprising:

obtaining respective data transmission characteristics of a set of to-be-processed data transmission jobs, each data transmission job comprising asynchronous replication to a destination storage device, the data transmission characteristics of each data transmission job indicating at least one of an expected transmission time and a data size of the data transmission job;

determining corresponding weights of the set of data transmission jobs based on the data transmission characteristics of the set of data transmission jobs; and

determining a transmission rate of each data transmission job based on the weights and a total transmission rate used for the set of data transmission, at least in part by

determining estimated transmission rates for the set of data transmission jobs based on the expected transmission time and the data size of each data transmission job, wherein the expected transmission time of each transmission job is the longest time duration allowed to execute the transmission job, and

when determining that a sum of the estimated transmission rates of the set of data transmission jobs is greater than the total transmission rate, assigning the total transmission rate to the set of data transmission jobs according to the weights.

2. The method according to claim 1 , wherein determining the corresponding transmission rate for the corresponding job comprises:

when determining that a sum of the estimated transmission rates of the set of data transmission jobs is less than the total transmission rate, assigning the estimated transmission rates to the set of data transmission jobs; and

according to the weights, assigning remaining transmission rates in the total transmission rate excluding the sum of the estimated transmission rates to the set of data transmission jobs.

3. The method according to claim 1 , wherein determining the corresponding weights of the set of data transmission jobs comprises:

determining an importance level of each data transmission job based on the expected transmission time and the data size of the data transmission job; and

determining the weights of the data transmission jobs based on the importance levels.

4. The method according to claim 1 , further comprising:

when determining that one data transmission job in the set of data transmission jobs has been completed, determining the data transmission characteristics of the remaining data transmission jobs excluding the data transmission job in the set of data transmission jobs;

updating the weights based on the data transmission characteristics of the remaining data transmission jobs; and

determining the transmission rates for executing the remaining data transmission jobs based on the updated weights.

5. The method according to claim 1 , wherein the longest time duration allowed to execute each transmission job is a recovery point objective for the transmission job.

6. The method according to claim 1 , wherein the asynchronous replication of each transmission job comprises snapshot-based asynchronous replication to the destination storage device.

7. An electronic device, the electronic device comprising:

at least one processor; and

a memory coupled to the at least one processor and having instructions stored thereon, wherein the instructions, when executed by the at least one processor, cause the device to perform actions comprising:

obtaining respective data transmission characteristics of a set of to-be-processed data transmission jobs, each data transmission job comprising asynchronous replication to a destination storage device, the data transmission characteristics of each data transmission job indicating at least one of an expected transmission time and a data size of the data transmission job;

determining corresponding weights of the set of data transmission jobs based on the data transmission characteristics of the set of data transmission jobs; and

determining a transmission rate of each data transmission job based on the weights and a total transmission rate used for the set of data transmission, at least in part by

determining estimated transmission rates for the set of data transmission jobs based on the expected transmission time and the data size of each data transmission job, wherein the expected transmission time of each transmission job is the longest time duration allowed to execute the transmission job, and

when determining that a sum of the estimated transmission rates of the set of data transmission jobs is greater than the total transmission rate, assigning the total transmission rate to the set of data transmission jobs according to the weights.

8. The electronic device according to claim 7 , wherein determining the corresponding transmission rate for the corresponding job comprises:

when determining that the sum of the estimated transmission rates of the set of data transmission jobs is less than the total transmission rate, assigning the estimated transmission rates to the set of data transmission jobs; and

according to the weights, assigning remaining transmission rates in the total transmission rate excluding the sum of the estimated transmission rates to the set of data transmission jobs.

9. The electronic device according to claim 7 , wherein determining the corresponding weights of the set of data transmission jobs comprises:

determining an importance level of the data transmission job based on the expected transmission time and the data size of each data transmission job; and

determining the weights of the data transmission jobs based on the importance levels.

10. The electronic device according to claim 7 , further comprising:

when determining that one data transmission job in the set of data transmission jobs is completed, determining the data transmission characteristics of the remaining data transmission jobs excluding the data transmission job in the set of data transmission jobs;

updating the weights based on the data transmission characteristics of the remaining data transmission jobs; and

determining the transmission rates for executing the remaining data transmission jobs based on the updated weights.

11. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform data transmission; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

obtaining respective data transmission characteristics of a set of to-be-processed data transmission jobs, each data transmission job comprising asynchronous replication to a destination storage device, the data transmission characteristics of each data transmission job indicating at least one of an expected transmission time and a data size of the data transmission job;

determining corresponding weights of the set of data transmission jobs based on the data transmission characteristics of the set of data transmission jobs; and

determining a transmission rate of each data transmission job based on the weights and a total transmission rate used for the set of data transmission, at least in part by

determining estimated transmission rates for the set of data transmission jobs based on the expected transmission time and the data size of each data transmission job, wherein the expected transmission time of each transmission job is the longest time duration allowed to execute the transmission job, and

when determining that a sum of the estimated transmission rates of the set of data transmission jobs is greater than the total transmission rate, assigning the total transmission rate to the set of data transmission jobs according to the weights.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 29, 2021
From: DU, FANG; CHEN, XU; WANG, HAO; XIAO, PAN; ZHANG, SI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 058225/0683 →
Priority Claims (1)
CN 202110407902.7 · Apr 15, 2021 · national
Continuity (1)
Related Publication 20220337527A1 · Oct 20, 2022
References Cited (15)
US 6529476B1 · Magnussen · 2003 [cited by examiner]
US 7920472B2 · Porat · 2011 [cited by examiner]
US 10871913B1 · Ippatapu · 2020 [cited by applicant]
US 20090196294A1 · Black · 2009 [cited by examiner]
US 20100128605A1 · Chavan · 2010 [cited by examiner]
US 20120294611A1 · Adler · 2012 [cited by examiner]
US 20200133804A1 · Du et al. · 2020 [cited by applicant]
US 20200322703A1 · Bures · 2020 [cited by examiner]
US 20200348845A1 · Chen et al. · 2020 [cited by applicant]
US 20210034484A1 · Meiri et al. · 2021 [cited by applicant]
CN 1263675 · 2000 [cited by applicant]
CN 101262651 · 2008 [cited by applicant]
CN 103580966 · 2014 [cited by applicant]
CN 107079331 · 2017 [cited by applicant]
CN 111125241 · 2020 [cited by applicant]