IP Library Granted Patent US 11,736,447
Granted Patent B2
US 11,736,447 · App. 16/936,469 · Granted Aug 22, 2023

Method and system for optimizing access to data nodes of a data cluster using a data access gateway and metadata mapping based bidding in an accelerator pool

Inventors: Dharmesh M. Patel (Round Rock, TX); Ravikanth Chaganti (Bangalore, IN)
Assignee: Dell Products L.P.
H04L63/029G06F9/5083
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,736,447
App. No.
16/936,469
Granted
Aug 22, 2023
Kind
B2
Abstract

A method that is performed to access data nodes of a data cluster. The method includes obtaining, by a data access gateway (DAG), a first request from a host; and in response to the first request, obtaining first bidding counters from the data nodes; obtaining first metadata mappings from the data nodes; making a first determination that the first request may not be served using any data node in an accelerator pool of the data cluster; and in response to the first determination, identifying, based on the bidding counters and metadata mappings, a data node in a non-accelerator pool of the data cluster associated with a first highest bidding counter of the bidding counters and a first appropriate metadata mapping of the metadata mappings; and sending the first request to the data node in the non-accelerator pool of the data cluster.

Claims (110)

1. A method for accessing data nodes of a data cluster, the method comprising:

obtaining, by a data access gateway (DAG), a first request from a host; and

in response to the first request:

obtaining first bidding counters from the data nodes;

obtaining first metadata mappings from the data nodes, wherein the first metadata mappings comprise accelerator pool flags and specify data chunks and parity chunks stored on the data nodes;

making a first determination that the first request may not be served using any data node in an accelerator pool of the data cluster based on the accelerator pool flags of the first metadata mappings; and

in response to the first determination:

identifying, based on the first bidding counters and the first metadata mappings, a data node in a non-accelerator pool of the data cluster associated with a first highest bidding counter of the bidding counters and a first appropriate metadata mapping of the metadata mappings; and

sending the first request to the data node in the non-accelerator pool of the data cluster.

2. The method of claim 1 , the method further comprising:

obtaining, by the DAG, a second request from a host; and

in response to the second request:

obtaining second bidding counters from the data nodes;

obtaining second metadata mappings from the data nodes;

making a second determination that the second request may be serviced using the accelerator pool of the data cluster; and

in response to the second determination:

identifying, based on the bidding counters and metadata mappings, a data node in the accelerator pool associated with at least highest bidding counter of the second bidding counters and an appropriate metadata mapping of the second metadata mappings; and

sending the second request to the data node in the accelerator pool.

3. The method of claim 1 , wherein the bidding counters specify an amount computational resources of the data nodes available to serve the first request.

4. The method of claim 1 , wherein the first request is one selected from a group consisting of:

a read request;

a write request;

an update request;

an information request; and

a delete request.

5. The method of claim 1 , the method further comprising:

prior to obtaining the first request:

obtaining, by a data processor, system metadata from the data nodes of the data nodes;

selecting, based on the system metadata, a second data node of the data nodes included in the accelerator pool to perform DAG operations;

selecting, based on the system metadata, the data nodes of the data nodes included in the non-accelerator pool to perform bidding counter operations;

selecting, based on the system metadata, the data nodes of the data nodes included in the non-accelerator pool to perform metadata mapping operations; and

initiating the performance of:

DAG operations on the second data node of the data nodes included in the accelerator pool,

the bidding counter operations on the data nodes of the data nodes in the non-accelerator pool, and

the metadata mapping operation on the data nodes of the data nodes included in the non-accelerator pool.

6. The method of claim 5 , wherein the system metadata specifies computational resources available to the data nodes of the data nodes.

7. A system for accessing data nodes of a data cluster, comprising:

a processor;

a data access gateway (DAG), which when executed by the processor performs a method,

the method comprising:

obtaining, by the DAG, a first request from a host; and

in response to the first request:

obtaining first bidding counters from the data nodes;

obtaining first metadata mappings from the data nodes, wherein the first metadata mappings comprise accelerator pool flags and specify data chunks and parity chunks stored on the data nodes;

making a first determination that the first request may not be served using any data node in an accelerator pool of the data cluster based on the accelerator pool flags of the first metadata mappings; and

in response to the first determination:

identifying, based on the bidding counters and metadata mappings, a data node in a non-accelerator pool of the data cluster associated with a first highest bidding counter of the bidding counters and a first appropriate metadata mapping of the metadata mappings; and

sending the first request to the data node in the non-accelerator pool of the data cluster.

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

obtaining, by the DAG, a second request from a host; and

in response to the second request:

obtaining second bidding counters from the data nodes;

obtaining second metadata mappings from the data nodes;

making a second determination that the second request may be serviced using the accelerator pool of the data cluster; and

in response to the second determination:

identifying, based on the bidding counters and metadata mappings, a data node in the accelerator pool associated with at least highest bidding counter of the second bidding counters and an appropriate metadata mapping of the second metadata mappings; and

sending the second request to the data node in the accelerator pool.

9. The system of claim 7 , wherein the bidding counters specify an amount computational resources of the data nodes available to serve the first request.

10. The system of claim 7 , wherein the first request is one selected from a group consisting of:

a read request;

a write request;

an update request;

an information request; and

a delete request.

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

prior to obtaining the first request:

obtaining, by a data processor, system metadata from the data nodes of the data nodes;

selecting, based on the system metadata, a second data node of the data nodes included in the accelerator pool to perform DAG operations;

selecting, based on the system metadata, the data nodes of the data nodes included in the non-accelerator pool to perform bidding counter operations;

selecting, based on the system metadata, the data nodes of the data nodes included in the non-accelerator pool to perform metadata mapping operations; and

initiating the performance of:

DAG operations on the second data node of the data nodes included in the accelerator pool,

the bidding counter operations on the data nodes of the data nodes in the non-accelerator pool, and

the metadata mapping operation on the data nodes of the data nodes included in the non-accelerator pool.

12. The system of claim 11 , wherein the system metadata specifies computational resources available to the data nodes of the data nodes.

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 accessing data nodes of a data cluster, the method comprising:

obtaining, by a data access gateway (DAG), a first request from a host; and

in response to the first request:

obtaining first bidding counters from the data nodes;

obtaining first metadata mappings from the data nodes, wherein the first metadata mappings comprise accelerator pool flags and specify data chunks and parity chunks stored on the data nodes;

making a first determination that the first request may not be served using any data node in an accelerator pool of the data cluster based on the accelerator pool flags of the first metadata mappings; and

in response to the first determination:

identifying, based on the bidding counters and metadata mappings, a data node in a non-accelerator pool of the data cluster associated with a first highest bidding counter of the bidding counters and a first appropriate metadata mapping of the metadata mappings; and

sending the first request to the data node in the non-accelerator pool of the data cluster.

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

obtaining, by the DAG, a second request from a host; and

in response to the second request:

obtaining second bidding counters from the data nodes;

obtaining second metadata mappings from the data nodes;

making a second determination that the second request may be serviced using the accelerator pool of the data cluster; and

in response to the second determination:

identifying, based on the bidding counters and metadata mappings, a data node in the accelerator pool associated with at least highest bidding counter of the second bidding counters and an appropriate metadata mapping of the second metadata mappings; and

sending the second request to the data node in the accelerator pool.

15. The non-transitory computer readable medium of claim 13 , wherein the bidding counters specify an amount computational resources of the data nodes of the data nodes available to serve the first request.

16. The non-transitory computer readable medium of claim 13 , wherein the first request is one selected from a group consisting of:

a read request;

a write request;

an update request;

an information request; and

a delete request.

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

prior to obtaining the first request:

obtaining, by a data processor, system metadata from the data nodes of the data nodes;

selecting, based on the system metadata, a second data node of the data nodes included in the accelerator pool to perform DAG operations;

selecting, based on the system metadata, the data nodes of the data nodes included in the non-accelerator pool to perform bidding counter operations;

selecting, based on the system metadata, the data nodes of the data nodes included in the non-accelerator pool to perform metadata mapping operations; and

initiating the performance of:

DAG operations on the second data node of the data nodes included in the accelerator pool,

the bidding counter operations on the data nodes of the data nodes in the non-accelerator pool, and

the metadata mapping operation on the data nodes of the data nodes included in the non-accelerator pool.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 10, 2020
From: PATEL, DHARMESH M.; CHAGANTI, RAVIKANTH
To: DELL PRODUCTS L.P.
Reel/Frame 053448/0209 →