IP Library Granted Patent US 11,882,098
Granted Patent B2
US 11,882,098 · App. 16/936,482 · Granted Jan 23, 2024

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

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,882,098
App. No.
16/936,482
Granted
Jan 23, 2024
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 request from a host; and in response to the request, obtaining bidding counters from the data nodes; obtaining metadata mappings from the data nodes; identifying, based on the bidding counters and metadata mappings, a data node of the data nodes associated with a highest bidding counter of the bidding counters and an appropriate metadata mapping of the metadata mappings; and sending the request to the data node.

Claims (94)

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

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

in response to the request:

obtaining bidding counters from data nodes, wherein the bidding counters comprise numerical representations of computational, network, and storage resources of the data nodes available to service the request;

obtaining metadata mappings from the data nodes, wherein:

a metadata mapping of the metadata mappings comprises a data node identifier associated with a data node of the data nodes corresponding to the metadata mapping and a plurality of chunk metadata; and

a chunk metadata of the plurality of chunk metadata may specify:

a chunk identifier associated with a corresponding chunk,

whether the chunk is a data chunk or a parity chunk,

whether the chunk is stored in an accelerator pool or a non-accelerator pool,

a storage location of the chunk, and

a data slice identifier associated with the chunk;

identifying, based on the bidding counters and metadata mappings, a data node of the data nodes associated with a highest bidding counter of the bidding counters and an appropriate metadata mapping of the metadata mappings, wherein the data node is associated with a highest amount of available computational, network, and storage resources, as specified by the highest bidding counter, compared to other data nodes of the data nodes; and

sending the request to the data node.

2. The method of claim 1 , wherein a bidding counter of the bidding counters is associated with a data node of the data nodes.

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

a read request;

an update request;

an information request; and

a delete request.

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

prior to obtaining the 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 to perform DAG operations;

selecting, based on the system metadata, the data nodes of the data nodes to perform bidding counter operations;

selecting, based on the system metadata, the data nodes of the data nodes to perform metadata mapping operations; and

initiating the performance of:

a DAG on the second data node,

the bidding counter operations on each of the data nodes, and

the metadata mapping operation on each of the data nodes.

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

6. 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 request from a host; and

in response to the request:

obtaining bidding counters from data nodes, wherein the bidding counters comprise numerical representations of computational, network, and storage resources of the data nodes available to service the request;

obtaining metadata mappings from the data nodes, wherein:

a metadata mapping of the metadata mappings comprises a data node identifier associated with a data node of the data nodes corresponding to the metadata mapping and a plurality of chunk metadata; and

a chunk metadata of the plurality of chunk metadata may specify:

a chunk identifier associated with a corresponding chunk,

whether the chunk is a data chunk or a parity chunk,

whether the chunk is stored in an accelerator pool or a non-accelerator pool,

a storage location of the chunk, and

a data slice identifier associated with the chunk;

identifying, based on the bidding counters and metadata mappings, a data node of the data nodes associated with a highest bidding counter of the bidding counters and an appropriate metadata mapping of the metadata mappings, wherein the data node is associated with a highest amount of available computational, network, and storage resources, as specified by the highest bidding counter, compared to other data nodes of the data nodes; and

sending the request to the data node.

7. The system of claim 6 , wherein a bidding counter of the bidding counters is associated with a data node.

8. The system of claim 6 , wherein the request is one selected from a group consisting of:

a read request;

an update request;

an information request; and

a delete request.

9. The system of claim 6 , wherein the method further comprising:

prior to obtaining the 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 to perform DAG operations;

selecting, based on the system metadata, the data nodes of the data nodes to perform bidding counter operations;

selecting, based on the system metadata, the data nodes of the data nodes to perform metadata mapping operations; and

initiating the performance of:

a DAG on the second data node,

the bidding counter operations on each of the data nodes, and

the metadata mapping operation on each of the data nodes.

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

11. 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 request from a host; and

in response to the request:

obtaining bidding counters from data nodes, wherein the bidding counters comprise numerical representations of computational, network, and storage resources of the data nodes available to service the request;

obtaining metadata mappings from the data nodes, wherein:

a metadata mapping of the metadata mappings comprises a data node identifier associated with a data node of the data nodes corresponding to the metadata mapping and a plurality of chunk metadata; and

a chunk metadata of the plurality of chunk metadata may specify:

a chunk identifier associated with a corresponding chunk,

whether the chunk is a data chunk or a parity chunk,

whether the chunk is stored in an accelerator pool or a non-accelerator pool,

a storage location of the chunk, and

a data slice identifier associated with the chunk;

identifying, based on the bidding counters and metadata mappings, a data node of the data nodes associated with a highest bidding counter of the bidding counters and an appropriate metadata mapping of the metadata mappings, wherein the data node is associated with a highest amount of available computational, network, and storage resources, as specified by the highest bidding counter, compared to other data nodes of the data nodes; and

sending the request to the data node.

12. The non-transitory computer readable medium of claim 11 , wherein a bidding counter of the bidding counters is associated with a data node.

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

a read request;

an update request;

an information request; and

a delete request.

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

prior to obtaining the 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 to perform DAG operations;

selecting, based on the system metadata, the data nodes of the data nodes to perform bidding counter operations;

selecting, based on the system metadata, the data nodes of the data nodes to perform metadata mapping operations; and

initiating the performance of:

a DAG on the second data node,

the bidding counter operations on each of the data nodes, and

the metadata mapping operation on each of the data nodes.

Assignments (9)
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 (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 (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/0222 →