IP Library Granted Patent US 11,895,093
Granted Patent B2
US 11,895,093 · App. 16/936,559 · Granted Feb 6, 2024

Method and system for optimizing access to data nodes of a data cluster using a data access gateway

Inventors: Dharmesh M. Patel (Round Rock, TX); Ravikanth Chaganti (Bangalore, IN)
Assignee: Dell Products L.P.
H04L63/029G06F9/5083H04L12/66H04L67/10H04L67/1097H04L67/563H04L67/60
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,895,093
App. No.
16/936,559
Granted
Feb 6, 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, wherein the DAG is not executing on the host; in response to the request, obtaining discovery metadata from each data node of the data nodes in the data cluster; updating, based on the discovery metadata, a discovery metadata repository; identifying a first data node of the data nodes based on the discovery metadata; and sending the request to the first data node of the data nodes.

Claims (77)

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

initiating, by a data processor, performance of a data access gateway (DAG) on a first data node of data nodes upon obtaining system metadata, wherein:

the system metadata comprises prior performance information specifying at least one latency and at least one throughput associated with previous DAG operations performed by at least one of the data nodes; and

the previous DAG operations performed by the at least one of the data nodes comprise:

obtaining a previous request of requests types from a host;

in response to obtaining the previous request, obtaining previous discovery metadata from each of the data nodes;

updating, upon obtaining the previous discovery metadata, a previous discovery metadata repository on the at least one of the data nodes; and

identifying, according to the previous discovery metadata, other data nodes of the data nodes to send the previous request;

in response to initiating the performance of the DAG on the first data node:

obtaining, by the DAG, a request of the request types from the host, wherein the DAG is not executing on the host, wherein the request types comprise:

a read request, a write request, an update request, an information request, and a delete request;

in response to obtaining the request:

obtaining discovery metadata from each data node of the data nodes in the data cluster;

wherein the discovery metadata specifies the data nodes of the data nodes that are available to serve the request;

updating, using the obtained discovery metadata, a discovery metadata repository;

identifying a second data node, of the data nodes, to serve the request according to the updated discovery metadata; and

sending the request to the second data node of the data nodes.

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

following sending the request to the second data node:

making a first determination that the second data node is unable to serve the request;

in response to the first determination, retrying the request with the second data node and updating a retry count in the discovery metadata repository;

making a second determination that the second data node is unable to serve the request;

in response to the second determination, making a third determination that a retry limit associated with the second data node has been exceeded; and

in response to the third determination, sending the request to a third data node based on the discovery metadata.

3. The method of claim 2 , wherein the retry limit indicates a maximum allowable number of request retries for the second data node.

4. The method of claim 1 , wherein the system metadata further specifies computational resources available on the data nodes.

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

A physical processor configured to initiate performance of a data access gateway (DAG) on a first data node of data nodes upon obtaining system metadata, wherein:

the system metadata comprises prior performance information specifying at least one latency and at least one throughput associated with previous DAG operations performed by at least one of the data nodes; and

the previous DAG operations performed by the at least one of the data nodes comprise:

obtaining a previous request of requests types from a host;

in response to obtaining the previous request, obtaining previous discovery metadata from each of the data nodes;

updating, upon obtaining the previous discovery metadata, a previous discovery metadata repository on the at least one of the data nodes; and

identifying, according to the previous discovery metadata, other data nodes of the data nodes to send the previous request;

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

obtaining, by the DAG, a request of the request types from the host, wherein the DAG is not executing on the host, wherein the request types comprise:

a read request, a write request, an update request, an information request, and a delete request;

in response to obtaining the request:

obtaining discovery metadata from each data node of the data nodes in the data cluster;

wherein the discovery metadata specifies the data nodes of the data nodes that are available to serve the request;

updating, using the obtained discovery metadata, a discovery metadata repository;

identifying a second data node, of the data nodes, to serve the request according to the updated discovery metadata; and

sending the request to the second data node of the data nodes.

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

following sending the request to the second data node:

making a first determination that the second data node is unable to serve the request;

in response to the first determination, retrying the request with the second data node and updating a retry count in the discovery metadata repository;

making a second determination that the second data node is unable to serve the request;

in response to the second determination, making a third determination that a retry limit associated with the second data node has been exceeded; and

in response to the third determination, sending the request to a third data node based on the discovery metadata.

7. The system of claim 6 , wherein the retry limit indicates a maximum allowable number of request retries for the second data node.

8. The system of claim 5 , wherein the system metadata further specifies computational resources available on the data nodes of the data nodes.

9. A non-transitory computer readable medium comprising computer readable 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:

initiating, by a data processor, performance of a data access gateway (DAG) on a first data node of data nodes upon obtaining system metadata, wherein:

the system metadata comprises prior performance information specifying at least one latency and at least one throughput associated with previous DAG operations performed by at least one of the data nodes; and

the previous DAG operations performed by the at least one of the data nodes comprise:

obtaining a previous request of requests types from a host;

in response to obtaining the previous request, obtaining previous discovery metadata from each of the data nodes;

updating, upon obtaining the previous discovery metadata, a previous discovery metadata repository on the at least one of the data nodes; and

identifying, according to the previous discovery metadata, other data nodes of the data nodes to send the previous request;

in response to initiating the performance of the DAG on the first data node:

obtaining, by the DAG, a request of the request types from the host, wherein the DAG is not executing on the host, wherein the request types comprise:

a read request, a write request, an update request, an information request, and a delete request;

in response to obtaining the request:

obtaining discovery metadata from each data node of the data nodes in the data cluster;

wherein the discovery metadata specifies the data nodes of the data nodes that are available to serve the request;

updating, using the obtained discovery metadata, a discovery metadata repository;

identifying a second data node, of the data nodes, to serve the request according to the updated discovery metadata; and

sending the request to the second data node of the data nodes.

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

following sending the request to the first data node:

making a first determination that the second data node is unable to serve the request;

in response to the first determination, retrying the request with the second data node and updating a retry count in the discovery metadata repository;

making a second determination that the second data node is unable to serve the request;

in response to the second determination, making a third determination that a retry limit associated with the second data node has been exceeded; and

in response to the third determination, sending the request to a third data node based on the discovery metadata.

11. The non-transitory computer readable medium of claim 10 , wherein the retry limit indicates a maximum allowable number of request retries for the second data node.

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/0248 →