IP Library Granted Patent US 11,334,487
Granted Patent B2
US 11,334,487 · App. 16/723,090 · Granted May 17, 2022

Cache sharing in virtual clusters

Inventor: John Kelly (Cork, IE)
Assignee: Dell Products L.P.
G06F12/0868G06F12/084G06F2212/314G06F2212/6042
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,334,487
App. No.
16/723,090
Granted
May 17, 2022
Kind
B2
Abstract

Shared memory caching resolves latency issues in computing nodes associated with a cluster in a virtual computing environment. A portion of random access memory in one or more of the computing nodes is allocated for shared use by the cluster. Whenever local cache memory is unable in one of the computing nodes, a cluster neighbor cache allocated in a different computing node may be utilized as remote cache memory. Neighboring computing nodes may thus share their resources for the benefit of the cluster.

Claims (39)

1. A method executed by a hardware server for sharing hardware resources associated with a computing cluster of nodes, comprising:

receiving, by the hardware server associated with the computing cluster of nodes, a disk block associated with a hard disk drive;

receiving, by the hardware server associated with the computing cluster of nodes, a hash value representing the disk block;

determining, by the hardware server, a lack of memory capacity available from a local random-access memory for a storage of the disk block;

determining, based on multiple neighbor cache reports, a current available size of each of multiple respective neighbor cache memories, wherein the current available size of each of the multiple respective neighbor cache memories is determined based on corresponding timestamps in the neighbor cache reports;

determining, by the hardware server and based on the current available size of each of the multiple respective neighbor cache memories, a neighbor cache memory operating in a neighbor node associated with the computing cluster of nodes having the memory capacity for the storage of the disk block by polling the computing cluster of the nodes;

transferring, by the hardware server, the disk block to an Internet protocol destination address assigned to the neighbor cache memory having the memory capacity for the storage of the disk block; and

adding, by the hardware server, a storage entry to an electronic database that tracks the transferring and the storage of the disk block to the neighbor cache memory, the entry electronically associating the disk block to the Internet protocol destination address assigned to the neighbor cache memory having the memory capacity for the storage of the disk block.

2. The method of claim 1 , further comprising sizing the neighbor cache memory.

3. The method of claim 1 , further comprising associating the hash value representing the disk block to the Internet protocol destination address.

4. The method of claim 1 , further comprising associating the hash value representing the disk block to the neighbor cache memory.

5. The method of claim 1 , further comprising storing the disk block.

6. An information handling system associated with a cluster in a virtual computing environment, the information handling system comprising:

a hardware processor; and

a local random-access memory accessible to the hardware processor, the local random-access memory storing instructions that when executed by the hardware processor perform operations, the operations including:

receiving a disk block associated with a hard disk drive;

receiving a hash value representing the disk block;

determining the local random-access memory lacks a memory capacity for a storage of the disk block;

determining, based on multiple neighbor cache reports, a current available size of each of multiple respective neighbor cache memories, wherein the current available size of each of the multiple respective neighbor cache memories is determined based on corresponding timestamps in the neighbor cache reports;

determining, based on the current available size of each of the multiple respective neighbor cache memories, a neighbor cache memory operating in a neighbor node associated with the cluster having the memory capacity for the storage of the disk block by polling computing nodes associated with the cluster;

transferring the disk block to an Internet protocol destination address assigned to the neighbor cache memory operating in the neighbor node having the memory capacity for the storage of the disk block; and

adding a storage entry to an electronic database that tracks the transferring and the storage of the disk block, the entry electronically associating the disk block to the Internet protocol destination address assigned to the neighbor cache memory having the memory capacity for the storage of the disk block.

7. The information handling system of claim 6 , wherein the operations further include sizing the neighbor cache memory.

8. The information handling system of claim 6 , wherein the operations further include logging the hash value in the electronic database in an association with the disk block.

9. The information handling system of claim 6 , wherein the operations further include logging the hash value in the electronic database in an association with the neighbor cache memory.

10. The information handling system of claim 6 , wherein the operations further include logging the disk block in the electronic database in an association with the neighbor cache memory.

11. The information handling system of claim 6 , wherein the operations further include storing the disk block.

12. A non-transitory memory device storing instructions that when executed by a hardware processor perform operations, the operations comprising:

receiving a disk block associated with a hard disk drive;

receiving a hash value representing the disk block;

determining a local random-access memory lacks a memory capacity for a storage of the disk block;

determining, based on multiple neighbor cache reports, a current available size of each of multiple respective neighbor cache memories, wherein the current available size of each of the multiple respective neighbor cache memories is determined based on corresponding timestamps in the neighbor cache reports;

determining, based on the current available size of each of the multiple respective neighbor cache memories, a neighbor cache memory operating in a neighbor node associated with a computing cluster having the memory capacity for the storage of the disk block by polling computing nodes associated with the computing cluster;

transferring the disk block to the neighbor cache memory operating in the neighbor node having the memory capacity for the storage of the disk block; and

adding a storage entry to an electronic database that tracks the transferring and the storage of the disk block, the entry electronically associating the disk block to the neighbor node having the memory capacity for the storage of the disk block.

13. The non-transitory memory device of claim 12 , wherein the operations further include logging the hash value in the electronic database in an association with the disk block.

14. The non-transitory memory device of claim 12 , wherein the operations further include logging the hash value in the electronic database in an association with the neighbor cache memory.

15. The non-transitory memory device of claim 12 , wherein the operations further include logging the disk block in the electronic database in an association with the neighbor cache memory.

16. The non-transitory memory device of claim 12 , wherein the operations further include storing the disk block.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 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 060438/0680 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →