IP Library Granted Patent US 10,037,386
Granted Patent B1
US 10,037,386 · App. 15/222,499 · Granted Jul 31, 2018

Data replication optimization for online social network cloud computing

Inventor: Mohamed Esam (New Cairo, EG)
Assignee: EMC IP Holding Company LLC
G06F17/30899
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 10,037,386
App. No.
15/222,499
Granted
Jul 31, 2018
Kind
B1
Abstract

Systems and methods are provided for optimizing data storage allocation and replication of user data in computing systems. For example, a method includes determining a ranking of each data center in the computing system for a given user of the computing system, and selecting a first data center to store a primary copy of user data, and a second data center to store a replica copy of the user data, based at least in part on the determined rankings of the data centers for the given user. The data centers are ranked using a ranking function which includes an access ratio that is determined as ratio of (i) a number of times that each of a total number of users in the given data center have accessed shared data of the given user to (ii) a number of data uploads that the given user has made to the computing system.

Claims (34)

1. A method, comprising:

storing user data in a plurality of data centers of a computing system, wherein the user data comprises shared data that is shared between users of the computing system; and

performing a storage allocation and replication process to optimize storage of the user data in the data centers of the computing system, wherein performing a storage allocation and replication process comprises:

determining a ranking of each data center in the computing system for at least one user of the computing system, wherein determining a ranking comprises ranking a given data center as a function of access ratio values of friends of the at least one user, whose data is stored in the given data center, wherein an access ratio value of a given friend of the at least one user comprises a ratio which is based at least in part on (i) a number of times that the given friend whose data is stored in the given data center has accessed the shared data of the at least one user and (ii) a number of data uploads of shared data that the at least one user has made to the computing system; and

selecting a first data center to store a primary copy of user data of the at least one user, and selecting a second data center to store a replica copy of the user data of the at least one user, based at least in part on the determined rankings of the data centers for the at least one user, to reduce an average access delay experienced by the friends of the at least one user in accessing the shared data of the at least one user;

wherein one or more of the storing and performing steps are performed under control of at least one processing device.

2. The method of claim 1 , wherein selecting a first data center comprises selecting a highest ranked data center to store the primary copy of the user data, and wherein selecting a second data center comprises selected a next highest ranked data center to store the replica copy of the user data of the at least one user.

3. The method of claim 1 , further comprising migrating the primary copy of the user data of the at least one user to the selected first data center of the computing system.

4. The method of claim 1 , wherein the computing system comprises a social network.

5. The method of claim 1 , wherein ranking a given data center further comprises dividing said access ratio by a total number of users having user data stored in the given data center.

6. The method of claim 1 , wherein said number of times that the given friend whose data is stored in the given data center has accessed the shared data of the at least one user is based on a number of times that said shared data was accessed by the given friend in a given period of time prior to performing the storage allocation and replication process.

7. The method of claim 1 , wherein storing user data in a plurality of data centers of a computing system comprises initially storing the user data of a new user in one of the data centers that is closest to the new user.

8. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method comprising:

storing user data in a plurality of data centers of a computing system, wherein the user data comprises shared data that is shared between users of the computing system; and

performing a storage allocation and replication process to optimize storage of the user data in the data centers of the computing system, wherein performing a storage allocation and replication process comprises:

determining a ranking of each data center in the computing system for at least one user of the computing system, wherein determining a ranking comprises ranking a given data center as a function of access ratio values of friends of the at least one user, whose data is stored in the given data center, wherein an access ratio value of a given friend of the at least one user comprises a ratio which is based at least in part on (i) a number of times that the given friend whose data is stored in the given data center has accessed the shared data of the at least one user and (ii) a number of data uploads of shared data that the at least one user has made to the computing system; and

selecting a first data center to store a primary copy of user data of the at least one user, and selecting a second data center to store a replica copy of the user data of the at least one user, based at least in part on the determined rankings of the data centers for the at least one user, to reduce an average access delay experienced by the friends of the at least one user in accessing the shared data of the at least one user;

wherein one or more of the storing and performing steps are performed under control of at least one processing device.

9. The article of manufacture of claim 8 , wherein selecting a first data center comprises selecting a highest ranked data center to store the primary copy of the user data, and wherein selecting a second data center comprises selected a next highest ranked data center to store the replica copy of the user data of the at least one user.

10. The article of manufacture of claim 8 , further comprising migrating the primary copy of the user data of the at least one user to the selected first data center of the computing system.

11. The article of manufacture of claim 8 , wherein the computing system comprises a social network.

12. The article of manufacture of claim 8 , wherein ranking a given data center further comprises dividing said access ratio by a total number of users having user data stored in the given data center.

13. The article of manufacture of claim 8 , wherein said number of times that the given friend whose data is stored in the given data center has accessed the shared data of the at least one user is based on a number of times that said shared data was accessed by the given friend in a given period of time prior to performing the storage allocation and replication process.

14. The article of manufacture of claim 8 , wherein storing user data in a plurality of data centers of a computing system comprises initially storing the user data of a new user in one of the data centers that is closest to the new user.

15. An apparatus of a computing system, the computing system comprising a plurality of data centers for storing user data, wherein the user data comprises shared data that is shared between users of the computing system, the apparatus comprising:

a processor; and

a memory coupled to the processor, wherein the memory comprises program instructions that are executed by the processor to perform a storage allocation and replication process to optimize storage of the user data in the data centers of the computing system, wherein the storage allocation and replication process comprises:

determining a ranking of each data center in the computing system for at least one user of the computing system, wherein determining a ranking comprises ranking a given data center as a function of access ratio values of friends of the at least one user, whose data is stored in the given data center, wherein an access ratio value of a given friend of the at least one user comprises a ratio which is based at least in part on (i) a number of times that the given friend whose data is stored in the given data center has accessed the shared data of the at least one user and (ii) a number of data uploads of shared data that the at least one user has made to the computing system; and

selecting a first data center to store a primary copy of user data of the at least one user, and selecting a second data center to store a replica copy of the user data of the at least one user, based at least in part on the determined rankings of the data centers for the at least one user, to reduce an average access delay experienced by the friends of the at least one user in accessing the shared data of the at least one user.

16. The apparatus of claim 15 , wherein selecting a first data center comprises selecting a highest ranked data center to store the primary copy of the user data, and wherein selecting a second data center comprises selected a next highest ranked data center to store the replica copy of the user data of the at least one user.

17. The apparatus of claim 15 , wherein the memory further comprises program instructions that are executed by the processor to migrate the primary copy of the user data of the at least one user to the selected first data center of the computing system.

18. The apparatus of claim 15 , wherein the computing system comprises a social network.

19. The apparatus of claim 15 , wherein ranking a given data center further comprises dividing said access ratio by a total number of users having user data stored in the given data center.

20. The apparatus of claim 15 , wherein said number of times that the given friend whose data is stored in the given data center has accessed the shared data of the at least one user is based on a number of times that said shared data was accessed by the given friend in a given period of time prior to performing the storage allocation and replication process.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 4, 2016
From: ESAM, MOHAMED
To: EMC CORPORATION
Reel/Frame 039934/0270 →
Continuity (2)
Continuation In Part 14138756 · Dec 23, 2013
Provisional Application 62365783 · Jul 22, 2016
Cited By (1)
US 12,619,465