IP Library Granted Patent US 11,526,284
Granted Patent B2
US 11,526,284 · App. 16/994,466 · Granted Dec 13, 2022

Method and system for storing data in a multiple data cluster system

Inventors: Dharmesh M. Patel (Round Rock, TX); Ravikanth Chaganti (Bangalore, IN)
Assignee: Dell Products L.P.
G06F3/0629G06F3/067G06F3/0614G06F3/0653H04L12/66H04L41/0803
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,526,284
App. No.
16/994,466
Granted
Dec 13, 2022
Kind
B2
Abstract

This application includes a method that is performed store data. The method includes obtaining, by a data processor, a first request from a host; and in response to the first request: obtaining first cluster bidding counters (CBCs) from data clusters; identifying a first data cluster of the data clusters to service the request based on the first CBCs and data access gateway (DAG) metadata; sending the first request to the first data cluster; making a first determination that the first data cluster is unable to service the request; and in response to the first determination: identifying a second data cluster of the data clusters to service the request based on the first CBCs and the DAG metadata; and sending the first request to the second data cluster.

Claims (64)

1. A method for storing data, the method comprising:

obtaining, by a data processor, a first request from a host; and

in response to the first request:

obtaining first cluster bidding counters (CBCs) from data clusters, wherein a CBC of the first CBCs comprises a numerical representation of a computational, network, and storage resource availibility associated with a data cluster of the data clusters;

identifying a first data cluster of the data clusters to service the request based on the first CBCs and data access gateway (DAG) metadata, wherein identifying the first data cluster comprises determining the first data cluster is associated with a highest CBC of the first CBCs;

sending the first request to the first data cluster;

making a first determination that the first data cluster is unable to service the request; and

in response to the first determination:

identifying a second data cluster of the data clusters to service the request based on the first CBCs and the DAG metadata; and

sending the first request to the second data cluster.

2. The method of claim 1 , further comprising:

prior to obtaining, by the data processor, the first request:

obtaining, by the data processor, a registration request from a DAG of the first data cluster;

obtaining a data cluster identifier associated with the first data cluster;

obtaining DAG configuration information associated with the DAG; and

generating a DAG identifier associated with the DAG,

wherein the DAG metadata comprises the DAG identifier, data cluster identifier, and the DAG configuration information.

3. The method of claim 2 , wherein identifying the first data cluster further comprises determining, using the DAG metadata, that the first data cluster has a configuration that services the first request.

4. The method of claim 1 , wherein a CBC of the first CBCs is associated with a data cluster of the data clusters.

5. The method of claim 1 , wherein the first request is a write request.

6. The method of claim 1 , further comprising: following the response to the first determination: obtaining, by the data processor, a second request from the host; and in response to the second request: obtaining second CBCs from the data clusters; identifying a third data cluster of data clusters to service the request based on the second CBCs and the DAG metadata; and sending the second request to the third data cluster.

7. A system for storing data, comprising:

a processor;

a data processor, which when executed by the processor performs a method, the method comprising:

obtaining, by the data processor, a first request from a host; and

in response to the first request:

obtaining first cluster bidding counters (CBCs) from data clusters, wherein a CBC of the first CBCs comprises a numerical representation of a computational, network, and storage resource availability associated with a data cluster of the data clusters;

identifying a first data cluster of the data clusters to service the request based on the first CBCs and data access gateway (DAG) metadata, wherein identifying the first data cluster comprises determining the first data cluster is associated with a highest CBC of the first CBCs;

sending the first request to the first data cluster;

making a first determination that the first data cluster is unable to service the request; and

in response to the first determination:

identifying a second data cluster of the data clusters to service the request based on the first CBCs and the DAG metadata; and

sending the first request to the second data cluster.

8. The system of claim 7 , wherein the method further comprising:

prior to obtaining, by the data processor, the first request:

obtaining, by the data processor, a registration request from a DAG of the first data cluster;

obtaining a data cluster identifier associated with the first data cluster;

obtaining DAG configuration information associated with the DAG; and

generating a DAG identifier associated with the DAG,

wherein the DAG metadata comprises the DAG identifier, data cluster identifier, and the DAG configuration information.

9. The system of claim 8 , wherein identifying the first data cluster further comprises determining, using the DAG metadata, that the first data cluster has a configuration that services the first request.

10. The system of claim 7 , wherein identifying the first data cluster comprises determining, using the DAG metadata, that the first data cluster has a configuration that services the first request.

11. The system of claim 7 , wherein the first request is a write request.

12. The system of claim 7 , wherein the method further comprising: following the response to the first determination: obtaining, by the data processor, a second request from the host; and in response to the second request: obtaining second CBCs from the data clusters; identifying a third data cluster of data clusters to service the request based on the second CBCs and the DAG metadata; and sending the second request to the third data cluster.

13. 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 storing data, the method comprising:

obtaining, by a data processor, a first request from a host; and

in response to the first request:

obtaining first cluster bidding counters (CBCs) from data clusters, wherein a CBC of the first CBCs comprises a numerical representation of a computational, network, and storage resource availability associated with a data cluster of the data clusters;

identifying a first data cluster of the data clusters to service the request based on the first CBCs and data access gateway (DAG) metadata, wherein identifying the first data cluster comprsies determining the first data cluster is associated with a highest CBC of the first CBCs;

sending the first request to the first data cluster;

making a first determination that the first data cluster is unable to service the request; and

in response to the first determination:

identifying a second data cluster of the data clusters to service the request based on the first CBCs and the DAG metadata; and

sending the first request to the second data cluster.

14. The non-transitory computer readable medium of claim 13 , wherein the method further comprising:

prior to obtaining, by the data processor, the first request:

obtaining, by the data processor, a registration request from a DAG of the first data cluster;

obtaining a data cluster identifier associated with the first data cluster;

obtaining DAG configuration information associated with the DAG;

generating a DAG identifier associated with the DAG,

wherein the DAG metadata comprises the DAG identifier, data cluster identifier, and the DAG configuration information.

15. The non-transitory computer readable medium of claim 14 , wherein identifying the first data cluster further comprises determining, using the DAG metadata, that the first data cluster has a configuration that services the first request.

16. The non-transitory computer readable medium of claim 13 , wherein identifying the first data cluster comprises determining, using the DAG metadata, that the first data cluster has a configuration that services the first request.

17. The non-transitory computer readable medium of claim 13 , wherein the first request is a write request.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2020
From: PATEL, DHARMESH M.; CHAGANTI, RAVIKANTH
To: DELL PRODUCTS L.P.
Reel/Frame 053580/0604 →