IP Library Granted Patent US 11,064,020
Granted Patent B2
US 11,064,020 · App. 16/451,402 · Granted Jul 13, 2021

Connection load distribution in distributed object storage systems

Inventors: Kishore Kumar Reddy Devireddy (San Jose, CA); Ken Williams (San Jose, CA)
Assignee: Western Digital Technologies, Inc.
H04L67/1008G06F3/0635G06F3/0683H04L67/1097H04L67/146H04L67/148H04L69/164G06F3/067
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,064,020
App. No.
16/451,402
Filed
Jun 25, 2019
Granted
Jul 13, 2021
Kind
B2
Art Unit
2449
USPC
709/201
Abstract

An example system comprises a first access node in a first rack configured to engage in a connection with a client, and a second access node in a second rack. The first and second racks form a multi-rack distributed storage system. The system includes a distributed database including a first load indicator designating a first processing load of the first access node and a second load indicator designating a second processing load of the second access node. The distributed database is accessible to the first and second access nodes. The system further includes a connection relocation manager configured to relocate the connection with the client from the first access node to the second access node when the second processing load is less than the first processing load.

Claims (51)

1. A system comprising:

a first access node including a first connection relocation manager in a first rack;

a second access node including a second connection relocation manager in a second rack, wherein the first rack and the second rack form a multi-rack distributed storage system; and

a connection load distributed database that is accessible to the first access node and to the second access node, wherein the connection load distributed database is configured to store:

a first load indicator designating a first processing load of the first access node; and

a second load indicator designating a second processing load of the second access node;

wherein the first access node is configured to:

receive a data request over a connection with a client, wherein the connection with the client is identified by a connection identifier (ID) that is independent of a source Internet Protocol (IP) address and a destination IP address of the first access node and a source IP address and a destination IP address of the client; and

determine, based on the first processing load, that the first access node is unable to service the data request;

wherein the first connection relocation manager is configured to:

in response to the first action node being unable to service the data request and the second processing load being less than the first processing load:

send the connection ID to the second access node; and

relocate the connection with the client from the first access node to the second access node; and

wherein the second connection relocation manager in the second access node is configured to:

send a connection relocation request using the connection ID to the client, wherein the connection relocation request includes a destination address of the second access node; and

maintain the connection with the client.

2. The system of claim 1 , wherein the second access node is further configured to update the second processing load in the connection load distributed database based on an additional load of the connection.

3. The system of claim 1 , further comprising a storage node in the second rack, wherein:

the second access node is further configured to process the data request received at the first access node from the client over the connection; and

the data request is for an interaction with the storage node.

4. The system of claim 3 , wherein:

the second access node is further configured to send a response to the client over the connection between the second access node and the client; and

the response is based on the data request from the client received over the connection between the first access node and the client.

5. The system of claim 1 , wherein the second rack is remotely located from the first rack.

6. The system of claim 1 , wherein the first connection relocation manager is further configured to relocate the connection responsive to the first processing load exceeding a loading threshold and the second processing load being less than the first processing load.

7. The system of claim 1 , wherein the first connection relocation manager is further configured to send details of a type of the connection to the second access node.

8. The system of claim 1 , wherein the connection is based on a Quick User datagram protocol (UDP) Internet Connection (QUIC) protocol.

9. A computer-implemented method, comprising:

receiving a data request at a first access node in a first rack from a client over a connection, wherein the connection with the client is identified by a connection identifier (ID) that is independent of a source Internet Protocol (IP) address and a destination IP address of the first access node and a source IP address and a destination IP address of the client;

accessing, by the first access node, a connection load distributed database including a first load indicator designating a first processing load of the first access node and a second load indicator designating a second processing load of a second access node, wherein the first access node and the second access node form a multi-rack distributed storage system and the connection load distributed database is accessible to the first access node and the second access node;

determining, based on the first processing load at the first access node, that the first access node is unable to service the data request; and

in response to determining that the first access node is unable to service the data request and the second processing load being less than the first processing load:

sending the connection ID from the first access node to the second access node;

sending a connection relocation request from the second access node using the connection ID to the client, wherein the connection relocation request includes a destination address of the second access node;

relocating the connection with the client from the first access node to the second access node; and

maintaining the connection with the client.

10. The computer-implemented method of claim 9 , further comprising updating the second processing load in the connection load distributed database based on an additional load of the connection.

11. The computer-implemented method of claim 9 , further comprising processing, by the second access node, the data request received at the first access node from the client over the connection, wherein the data request is for an interaction with a storage node in the multi-rack distributed storage system.

12. The computer-implemented method of claim 11 , further comprising sending a response to the client over the connection between the second access node and the client, wherein the response is based on the data request from the client received over the connection between the first access node and the client.

13. The computer-implemented method of claim 9 , further comprising relocating the connection responsive to the first processing load exceeding a loading threshold and the second processing load being less than the first processing load.

14. The computer-implemented method of claim 9 , further comprising sending details of a type of the connection to the second access node.

15. The computer-implemented method of claim 9 , wherein the connection is based on a Quick User datagram protocol (UDP) Internet Connection (QUIC) protocol.

16. A system, comprising:

means for receiving a data request at a first access node in a first rack from a client over a connection, wherein the connection with the client is identified by a connection identifier (ID) that is independent of a source Internet Protocol (IP) address and a destination IP address of the first access node and a source IP address and a destination IP address of the client;

means for accessing, by the first access node, a connection load distributed database including a first load indicator designating a first processing load of the first access node and a second load indicator designating a second processing load of a second access node, wherein the first access node and the second access node form a multi-rack distributed storage system and the connection load distributed database is accessible to the first access node and the second access node;

means for determining, based on the first processing load at the first access node, that the first access node is unable to service the data request; and

in response to determining that the first access node is unable to service the data request and the second processing load being less than the first processing load:

means for sending the connection ID from the first access node to the second access node;

means for sending a connection relocation request from the second access node using the connection ID to the client, wherein the connection relocation request includes a destination address of the second access node;

means for relocating the connection with the client from the first access node to the second access node; and

means for maintaining the connection with the client.

Assignments (5)
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2019
From: DEVIREDDY, KISHORE KUMAR REDDY; WILLIAMS, KEN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 049781/0318 →
Continuity (1)
Related Publication 20200412798A1 · Dec 31, 2020