RDMA-optimized high-performance distributed cache

US9378179B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9378179-B2
Application numberUS-201213683319-A
CountryUS
Kind codeB2
Filing dateNov 21, 2012
Priority dateNov 21, 2012
Publication dateJun 28, 2016
Grant dateJun 28, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. An apparatus for remote direct memory access (RDMA) by a client computer to a data record stored in a cache on a server computer, comprising: a client computer for accessing one or more data records stored in a cache in a memory of a server computer; the client computer receiving a hash map from the 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 the cache in the 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; the client 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 the client computer performing one or more RDMA operations using the server-side remote pointer via an RDMA network interface controller that allows the client computer to remotely directly access the data record stored in the memory of the server computer without involving software performed by the server computer. 2. The apparatus of claim 1 , further comprising the client computer receiving an update to the hash map from the server computer. 3. The apparatus of claim 1 , wherein the client computer performing the one or more RDMA operations further comprises the client computer 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 apparatus of claim 1 , wherein the client computer performing the one or more RDMA operations further comprises the client computer 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 apparatus of claim 1 , wherein the client computer performing the one or more RDMA operations further comprises the client computer 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 apparatus of claim 1 , wherein the client computer performing the one or more RDMA operations further comprises the client computer 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. 7. A computer program product for remote direct memory access (RDMA) by a client computer to a data record stored in a cache in a memory of a server computer, said computer program product comprising: a non-transitory computer readable storage medium having stored/encoded thereon: program instructions executable by a server computer to cause the server computer to publish a hash map from the server computer to a client 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 the 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; the client 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 the client computer performing one or more RDMA operations using the server-side remote pointer via an RDMA network interface controller that allows the client computer to remotely directly access the data record stored in the memory of the server computer without involving software performed by the server computer. 8. The computer program product of claim 7 , further comprising program instructions executable by the server computer to cause the server computer to transmit an update to the hash map from the server computer to the client computer. 9. The computer program product of claim 7 , wherein the client computer performing the RDMA operation further comprises the client computer performing a read operation by: the server computer being accessed by a one-sided RDMA-read operation by the client computer using the server-side remote pointer to retrieve the data record from the server computer. 10. The computer program product of claim 7 , wherein the client computer performing the RDMA operation further comprises the client computer performing an update operation by: the server computer being accessed by a one-sided RDMA-write operation by the client computer using the server-side remote pointer to copy the data record to the server computer. 11. The computer program product of claim 7 , wherein the client computer performing the RDMA operation further comprises the client computer performing a delete operation by: the server computer receiving a key for a data record stored on the client computer, a 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, wherein the data record stored on the client computer includes a delete flag; the server computer performing a one-sided RDMA-read on the client 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; the hash map being updated on the client computer; and the server computer removing the key and the data record from the hash map. 12. The computer program product of claim 7 , wherein the client computer performing the RDMA operation further comprises the client computer performing an insert operation by: the server computer receiving a key for a data record created by the cl

Assignees

Inventors

Classifications

  • Storing data temporarily at an intermediate stage, e.g. caching · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · CPC title

  • Key distribution {or management, e.g. generation, sharing or updating, of cryptographic keys or passwords (network architectures or network communication protocols for supporting key management in a packet data network H04L63/06)} · CPC title

  • Distributed shared memory [DSM], e.g. remote direct memory access [RDMA] · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9378179B2 cover?
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,…
Who is the assignee on this patent?
IBM
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 28 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).