IP Library Granted Patent US 9,372,826
Granted Patent B2
US 9,372,826 · App. 13/936,405 · Granted Jun 21, 2016

RDMA-optimized high-performance distributed cache

Inventors: Xavier R. Guerin (White Plains, NY); Tiia J. Salo (Cary, NC)
Assignee: International Business Machines Corporation
G06F15/17331G06F17/3033H04L9/08H04L67/1097H04L69/324
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 9,372,826
App. No.
13/936,405
Granted
Jun 21, 2016
Kind
B2
Abstract

For remote direct memory access (RDMA) by a client to a data record stored in a cache on a server, a hash map is received by a client from a server. The hash map includes one or more entries associated with a key for the data record stored in the cache on the server that stores a server-side remote pointer referencing the data record stored in the cache on the server. The client, using the key, looks up the server-side remote pointer for the data record from the hash map, and then performs one or more RDMA operations using the server-side remote pointer that allow the client to directly access the data record stored in the cache on the server.

Claims (21)

1. A method for remote direct memory access (RDMA) by a client computer to a data record stored in a cache on a server computer, comprising:

receiving a hash map by a client computer from a server computer for locally storing on the client computer, wherein the hash map includes one or more key-value pairs, such that one or more entries of the hash-map is associated with a key for a data record stored in a cache in a memory of the server computer, each of the entries of the hash-map stores a value comprising a server-side remote pointer, and the server-side remote pointer references the data record stored in the cache in the memory of the server computer;

looking up the server-side remote pointer for the data record from the hash map locally stored on the client computer using the key; and

performing one or more RDMA operations using the server-side remote pointer via an RDMA network interface controller that allows the client computer to directly access the data record stored in the memory of the server computer without involving software performed by the server computer.

2. The method of claim 1 , further comprising receiving an update to the hash map by the client computer from the server computer.

3. The method of claim 1 , wherein the performing step further comprises performing a read operation by:

the client computer performing a one-sided RDMA-read operation on the server computer using the server-side remote pointer to retrieve the data record from the server computer.

4. The method of claim 1 , wherein the performing step further comprises performing an update operation by:

the client computer performing a one-sided RDMA-write operation on the server computer using the server-side remote pointer to copy the data record to the server computer.

5. The method of claim 1 , wherein the performing step further comprises performing a delete operation by:

the client computer creating the data record, the key for the data record, and a client-side remote pointer to the data record stored on the client computer;

the client computer setting a delete flag in the data record stored on the client computer;

the client computer identifying the server-side remote pointer for the data record stored on the server computer;

the client computer performing a send operation to the server computer and passing the key, the client-side remote pointer to the data record stored on the client computer and the server-side remote pointer to the data record stored on the server computer;

the client data record being accessed by a one-sided RDMA-read of the server computer using the client-side remote pointer to retrieve the data record from the client computer and the server-side remote pointer for providing a copy of the data record to the server computer; and

the hash map being updated on the client computer to remove the key and the data record from the hash map.

6. The method of claim 1 , wherein the performing step further comprises performing an insert operation by:

the client computer creating the data record, the key for the data record, and a client-side remote pointer to the data record stored on the client computer;

the client computer performing a send operation to the server computer and passing the key and the client-side remote pointer to the data record stored on the client computer and the server-side remote pointer for the data record stored in an allocated memory structure on the server computer;

the client data record being accessed by a one-sided RDMA-read of the server computer using the client-side remote pointer to retrieve the data record from the client computer;

the hash map being updated on the client computer to add the key for the data record and the server-side remote pointer for the data record to the hash map.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 3, 2024
From: BEIJING PIANRUOJINGHONG TECHNOLOGY CO., LTD.
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 066565/0952 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2023
From: AWEMANE LTD.
To: BEIJING PIANRUOJINGHONG TECHNOLOGY CO., LTD.
Reel/Frame 064501/0498 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 2, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: AWEMANE LTD.
Reel/Frame 057991/0960 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2013
From: GUERIN, XAVIER R.; SALO, TIIA J.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030882/0826 →
Continuity (2)
Continuation 13683319 · Nov 21, 2012
Related Publication 20140143365A1 · May 22, 2014