IP Library Granted Patent US 10,509,587
Granted Patent B2
US 10,509,587 · App. 15/960,715 · Granted Dec 17, 2019

System and method for high priority backup

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,509,587
App. No.
15/960,715
Granted
Dec 17, 2019
Kind
B2
Abstract

A coordination point for assigning clients to remote backup storages includes a persistent storage and a processor. The persistent storage stores gateway pool cache capacities of the remote backup storages. The processor obtains a data storage request for data from a client of the clients; obtains an indirect cache estimate for servicing the data storage request; selects a remote backup storage of the remote backup storages based on the obtained indirect cache estimate using the gateway pool cache capacities; and assign the selected remote backup storage to service the data storage request. The selected remote backup storage has a higher client load at a time selection than a second client load of a second remote backup storage of the remote backup storages.

Claims (74)

1. A coordination point for assigning clients to remote backup storages, comprising:

a persistent storage storing gateway pool cache capacities of the remote backup storages; and

a processor programmed to:

obtain a data storage request for data from a client of the clients;

obtain an indirect cache estimate for servicing the data storage request;

select a remote backup storage of the remote backup storages based on the obtained indirect cache estimate using the gateway pool cache capacities; and

assign the selected remote backup storage to service the data storage request,

wherein the selected remote backup storage has a higher client load at a time of the selection of the remote backup storage than a second client load of a second remote backup storage of the remote backup storages.

2. The coordination point of claim 1 , wherein the processor is further programmed to:

obtain a second data storage request for second data from a second client of the clients;

obtain a second indirect cache estimate for servicing the second data storage request;

make a determination that none of the remote backup storages have sufficient cache based on the obtained second indirect cache estimate using the gateway pool cache capacities;

in response to the determination:

assign a gateway to a third remote data storage;

select the third remote backup storage after assigning the gateway; and

assign the selected third remote backup storage to service the second data storage request.

3. The coordination point of claim 2 , wherein assigning the gateway to the third remote data storage comprises:

selecting an unassigned gateway; and

distributing a portion of a distributed cache of the third remote data storage across a cache of the unassigned gateway.

4. The coordination point of claim 2 , wherein assigning the gateway to the third remote data storage comprises:

selecting an assigned gateway of a fourth remote data storage;

removing a portion of a distributed cache of the fourth remote data storage from a cache of the selected assigned gateway; and

distributing a portion of a distributed cache of the third remote data storage across the cache of the assigned gateway.

5. The coordination point of claim 1 , wherein the processor is further programmed to:

obtain a notification from the selected remote backup storage that the obtained indirect cache estimate underestimated an actual cache use by the client;

in response to the notification:

assign a gateway to the selected remote backup storage; and

distribute a portion of a distributed cache of the selected remote data storage across a cache of the gateway.

6. The coordination point of claim 5 , wherein the gateway was assigned to a third remote data storage before being assigned to the selected remote data storage.

7. The coordination point of claim 1 , wherein the gateway pool cache capacities specifies cache capacities of distributed caches of the remote data storages.

8. The coordination point of claim 7 , wherein each respective distributed cache is hosted by a plurality of gateways of a respective remote data storage of the remote data storages.

9. The coordination point of claim 1 , wherein obtaining the indirect cache estimate for servicing the data storage request comprises:

identifying a type of application generating the data.

10. The coordination point of claim 9 , wherein obtaining the indirect cache estimate for servicing the data storage request further comprises:

identifying a transaction rate of the identified type of application generating the data.

11. The coordination point of claim 1 , wherein obtaining the indirect cache estimate for servicing the data storage request comprises:

identifying a computing resource capacity of the client.

12. The coordination point of claim 1 , wherein obtaining the indirect cache estimate for servicing the data storage request comprises:

identifying an average available bandwidth between the client and the remote backup storages.

13. The coordination point of claim 1 , wherein selecting the remote backup storage of the remote backup storages based on the obtained indirect cache estimate using the gateway pool cache capacities comprises:

identifying a portion of the remote backup storages that have an available cache capacity that is larger than the obtained indirect cache estimate.

14. The coordination point of claim 13 , wherein selecting the remote backup storage of the remote backup storages based on the obtained indirect cache estimate using the gateway pool cache capacities further comprises:

identifying a remote backup storage of the portion of the remote backup storages that has a smallest client load; and

using the identified remote backup storage of the portion of the remote backup storages as the selected remote backup storage.

15. The coordination point of claim 1 , wherein the client load of the selected remote backup storage is a cardinality of a number of clients assigned to the selected remote backup storage.

16. The coordination point of claim 1 , wherein the client load of the selected remote backup storage is a quantity of computing resources utilized by a number of the clients assigned to the selected remote backup storage.

17. A method of operating a coordination point for assigning clients to remote backup storages, comprising:

obtaining a data storage request for data from a client of the clients;

obtaining an indirect cache estimate for servicing the data storage request;

selecting a remote backup storage of the remote backup storages based on the obtained indirect cache estimate using gateway pool cache capacities of the remote backup storages; and

assigning the selected remote backup storage to service the data storage request,

wherein the selected remote backup storage has a higher client load at a time of the selection of the remote backup storage than a second client load of a second remote backup storage of the remote backup storages.

18. The method of claim 17 , further comprising:

obtaining a second data storage request for second data from a second client of the clients;

obtaining a second indirect cache estimate for servicing the second data storage request;

making a determination that none of the remote backup storages have sufficient cache based on the obtained second indirect cache estimate using the gateway pool cache capacities;

in response to the determination:

assign a gateway to a third remote data storage;

selecting the third remote backup storage after assigning the gateway; and

assigning the selected third remote backup storage to service the second data storage request.

19. A non-transitory computer readable medium comprising computer readable program code, which when executed by a computer processor enables the computer processor to perform a method for assigning clients to remote backup storages, the method comprising:

obtaining a data storage request for data from a client of the clients;

obtaining an indirect cache estimate for servicing the data storage request;

selecting a remote backup storage of the remote backup storages based on the obtained indirect cache estimate using gateway pool cache capacities of the remote backup storages; and

assigning the selected remote backup storage to service the data storage request,

wherein the selected remote backup storage has a higher client load at a time of the selection of the remote backup storage than a second client load of a second remote backup storage of the remote backup storages.

20. The non-transitory computer readable medium of claim 19 , wherein the method further comprises:

obtaining a second data storage request for second data from a second client of the clients;

obtaining a second indirect cache estimate for servicing the second data storage request;

making a determination that none of the remote backup storages have sufficient cache based on the obtained second indirect cache estimate using the gateway pool cache capacities;

in response to the determination:

assign a gateway to a third remote data storage;

selecting the third remote backup storage after assigning the gateway; and

assigning the selected third remote backup storage to service the second data storage request.

Assignments (8)
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 (046366/0014) 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 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/0093 →
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 (CREDIT) Recorded Jun 1, 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 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 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 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 26, 2018
From: CHOPRA, SHELESH; KULKARNI, GURURAJ
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045647/0258 →