IP Library Granted Patent US 11,552,861
Granted Patent B2
US 11,552,861 · App. 16/509,321 · Granted Jan 10, 2023

Efficient way to perform location SLO validation

Inventors: Ren Wang (Shanghai, CN); Scott Quesnelle (Burlington, CA); Mengze Liao (Shanghai, CN)
Assignee: EMC IP HOLDING COMPANY LLC
H04L41/5009H04L41/5025H04L41/5032H04L43/55
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 11,552,861
App. No.
16/509,321
Granted
Jan 10, 2023
Kind
B2
Abstract

A method, apparatus, and system for performing a Location SLO check based on a location scatter table is disclosed. A location scatter table is maintained, the location scatter table indicative of updated geographical location distribution of all backups of all assets. A Location Service Level Objective (SLO) associated with a first asset is determined, the Location SLO associated with the first asset specifying one or more allowed locations where backups of the first asset are permitted to be located. All locations where at least one backup of the first asset is located are determined. A Location SLO check for the first asset is performed, wherein the Location SLO check passes when all the locations where at least one backup of the first asset is located fall within the allowed locations specified by the Location SLO.

Claims (35)

1. A computer-implemented method, comprising:

maintaining a location scatter table, the location scatter table indicative of updated geographical location distribution of all backups of all assets, the updated geographical location distribution indicating geographic locations associated with a portion of the backups and that geographic locations for a second portion of the backups is not indicated by the location scatter table;

determining a Location Service Level Objective (SLO) associated with a first asset of the all assets, the Location SLO being associated with the first asset and specifying one or more allowed geographic locations where backups of the first asset are permitted to be stored with one or more computing devices positioned in the allowed geographic locations;

determining, using the location scatter table, all geographic locations where at least one backup of the first asset is stored in one or more of the computing devices;

performing a Location SLO check for the first asset, wherein the Location SLO check passes when the all geographic locations, where the at least one backup of the first asset is stored in one or more of the computing devices, fall within the allowed geographic locations specified by the Location SLO, and fails when at least one geographic location, of the geographic locations where the at least one backup of the first asset is stored in one or more of the computing devices, does not fall within the allowed geographic locations.

2. The method of claim 1 , wherein the location scatter table comprises a main hash table and one or more asset-specific key-value tables each of which is associated with one of the assets.

3. The method of claim 2 , wherein the main hash table is a key-value table where keys of the main hash table correspond to identifiers of assets and values of the main hash table indicate respective asset-specific key-value tables associated with the respective assets, wherein each respective asset-specific key-value table lists, for each geographic location, a quantity of copies of a backup of an asset of the assets associated with the respective asset-specific key-value table.

4. The method of claim 2 , wherein in each asset-specific key-value table, keys of the asset-specific key-value table correspond to geographic locations where at least one backup of the associated asset is located, and values of the asset-specific key-value table indicate numbers of backups located at the respective geographic locations.

5. The method of claim 4 , wherein creation of a new backup of a second asset triggers a first update in the asset-specific key-value table associated with the second asset, the first update comprising incrementing the respective value by 1 when a key corresponding to a geographic location of the new backup already exists, or creating a new key-value pair with the key corresponding to the geographic location of the new backup and the value set to 1 when no key corresponding to the geographic location of the new backup already exists.

6. The method of claim 5 , wherein deletion of a backup of a third asset triggers a second update in the asset-specific key-value table associated with the third asset, the second update comprising decrementing a value in the respective key-value pair associated with a geographic location of the deleted backup by 1, and when the value in the respective key-value pair reaches 0 after the decrement, the second update further comprising deleting the respective key-value pair associated with the geographic location of the deleted backup from the asset-specific key-value table.

7. The method of claim 1 , wherein the geographical location distribution specifies geographic regions in which the backups of all assets are stored on the one or more computing devices, wherein the computing devices are geographically distributed across the geographic regions and the geographic regions are specified, at least in part, with names of cities in which portions of the computing devices in which the portion of the backups are stored are positioned and an indicator that locations of where the second portion of the backups are positioned in which other portions of the computing devices are positioned are unknown.

8. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform data storage operations, the operations comprising:

maintaining a location scatter table, the location scatter table indicative of updated geographical location distribution of all backups of all assets, the updated geographical location distribution indicating geographic locations associated with a portion of the backups and that geographic locations for a second portion of the backups is not indicated by the location scatter table;

determining a Location Service Level Objective (SLO) associated with a first asset of the all assets, the Location SLO being associated with the first asset specifying one or more allowed geographic locations where backups of the first asset are permitted to be stored with one or more computing devices positioned in the allowed geographic locations;

determining, using the location scatter table, all geographic locations where at least one backup of the first asset is stored in one or more of the computing devices;

performing a Location SLO check for the first asset, wherein the Location SLO check passes when the all geographic locations, where the at least one backup of the first asset is stored in one or more of the computing devices, fall within the allowed geographic locations specified by the Location SLO, and fails when at least one geographic location, of the geographic locations where the at least one backup of the first asset is stored in one or more of the computing devices, does not fall within the allowed geographic locations.

9. The non-transitory machine-readable medium of claim 8 , wherein the location scatter table comprises a main hash table and one or more asset-specific key-value tables each of which is associated with one of the assets.

10. The non-transitory machine-readable medium of claim 9 , wherein the main hash table is a key-value table where keys of the main hash table correspond to identifiers of assets and values of the main hash table indicate respective asset-specific key-value tables associated with the respective assets, wherein each respective asset-specific key-value table lists, for each geographic location, a quantity of copies of a backup of an asset of the assets associated with the respective asset-specific key-value table.

11. The non-transitory machine-readable medium of claim 9 , wherein in each asset-specific key-value table, keys of the asset-specific key-value table correspond to geographic locations where at least one backup of the associated asset is located, and values of the asset-specific key-value table indicate numbers of backups located at the respective geographic locations.

12. The non-transitory machine-readable medium of claim 11 , wherein creation of a new backup of a second asset triggers a first update in the asset-specific key-value table associated with the second asset, the first update comprising incrementing the respective value by 1 when a key corresponding to a geographic location of the new backup already exists, or creating a new key-value pair with the key corresponding to the geographic location of the new backup and the value set to 1 when no key corresponding to the geographic location of the new backup already exists.

13. The non-transitory machine-readable medium of claim 12 , wherein deletion of a backup of a third asset triggers a second update in the asset-specific key-value table associated with the third asset, the second update comprising decrementing a value in the respective key-value pair associated with a geographic location of the deleted backup by 1, and when the value in the respective key-value pair reaches 0 after the decrement, the second update further comprising deleting the respective key-value pair associated with the geographic location of the deleted backup from the asset-specific key-value table.

14. The non-transitory machine-readable medium of claim 8 , wherein the geographical location distribution specifies geographic regions in which the backups of all assets are stored on the one or more computing devices, wherein the computing devices are geographically distributed across the geographic regions and the geographic regions are specified, at least in part, with names of cities in which portions of the computing devices in which the portion of the backups are stored are positioned and an indicator that locations of where the second portion of the backups are positioned in which other portions of the computing devices are positioned are unknown.

15. A data processing system, comprising:

a processor; and

a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform data storage operations, the operations including:

maintaining a location scatter table, the location scatter table indicative of updated geographical location distribution of all backups of all assets, the updated geographical location distribution indicating geographic locations associated with a portion of the backups and that geographic locations for a second portion of the backups is not indicated by the location scatter table;

determining a Location Service Level Objective (SLO) associated with a first asset of the all assets, the Location SLO being associated with the first asset and specifying one or more allowed locations where backups of the first asset are permitted to be stored with one or more computing devices positioned in the allowed geographic locations;

determining, using the location scatter table, all geographic locations where at least one backup of the first asset is stored in one or more of the computing devices;

performing a Location SLO check for the first asset, wherein the Location SLO check passes when the all geographic locations, where at least one backup of the first asset is stored in one or more of the computing devices, fall within the allowed geographic locations specified by the Location SLO, and fails when at least one geographic location, of the geographic locations where the at least one backup of the first asset is stored in one or more of the computing devices, does not fall within the allowed locations.

16. The data processing system of claim 15 , wherein the location scatter table comprises a main hash table and one or more asset-specific key-value tables each of which is associated with one of the assets.

17. The data processing system of claim 16 , wherein the main hash table is a key-value table where keys of the main hash table correspond to identifiers of assets and values of the main hash table indicate respective asset-specific key-value tables associated with the respective assets, wherein each respective asset-specific key-value table lists, for each geographic location, a quantity of copies of a backup of an asset of the assets associated with the respective asset-specific key-value table.

18. The data processing system of claim 16 , wherein in each asset-specific key-value table, keys of the asset-specific key-value table correspond to geographic locations where at least one backup of the associated asset is located, and values of the asset-specific key-value table indicate numbers of backups located at the respective geographic locations.

19. The data processing system of claim 18 , wherein creation of a new backup of a second asset triggers a first update in the asset-specific key-value table associated with the second asset, the first update comprising incrementing the respective value by 1 when a key corresponding to a geographic location of the new backup already exists, or creating a new key-value pair with the key corresponding to the geographic location of the new backup and the value set to 1 when no key corresponding to the geographic location of the new backup already exists.

20. The data processing system of claim 19 , wherein deletion of a backup of a third asset triggers a second update in the asset-specific key-value table associated with the third asset, the second update comprising decrementing a value in the respective key-value pair associated with a geographic location of the deleted backup by 1, and when the value in the respective key-value pair reaches 0 after the decrement, the second update further comprising deleting the respective key-value pair associated with the geographic location of the deleted backup from the asset-specific key-value table.

21. The data processing system of claim 15 , wherein the geographical location distribution specifies geographic regions in which the backups of all assets are stored on the one or more computing devices, wherein the computing devices are geographically distributed across the geographic regions and the geographic regions are specified, at least in part, with names of cities in which portions of the computing devices in which the portion of the backups are stored are positioned and an indicator that locations of where the second portion of the backups are positioned in which other portions of the computing devices are positioned are unknown.

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 (053311/0169) Recorded Jun 23, 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 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 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 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
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 053311/0169 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2019
From: WANG, REN; QUESNELLE, SCOTT; LIAO, MENGZE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049731/0131 →