In-kernel caching for distributed cache
AssigneeWestern Digital Technologies, Inc.
InventorMarjan Radi
Life of this patent
Estimating the term…
Abstract
A client device including at least one memory configured to be used at least in part as a shared cache in a distributed cache. A network interface of the client device is configured to communicate with one or more other client devices on a network with each of the one or more other client devices configured to provide a respective shared cache for the distributed cache. At least one processor of the client device is configured to execute a kernel of an Operating System (OS) for allocating resources of the client device. The kernel is configured to access data for the distributed cache in the shared cache, which is located in a kernel space of the at least one memory.
Claims20
A client device, comprising:
- at least one memory configured to be used at least in part as a shared cache in a distributed cache;
- a network interface configured to communicate with one or more other client devices on a network, the one or more other client devices each configured to provide a respective shared cache for the distributed cache;
- and
- at least one processor configured to execute a kernel of an Operating System (OS), wherein the shared cache is located in a kernel space of the at least one memory and the kernel is configured to:
- receive, via the network interface, a read request for the distributed cache from a different client device on the network;
- determine whether data for performing the read request is stored in the shared cache of the at least one memory;
- and
- in response to determining that the data for performing the read request is not stored in the shared cache, transfer the read request to an application in a user space of the at least one memory of the client device.
A client device, comprising:
- at least one memory configured to be used at least in part as a shared cache in a distributed cache;
- and
- means for:
- communicating with one or more other client devices on a network, the one or more other client devices each configured to provide a respective shared cache for the distributed cache;
- and
- executing a kernel of an Operating System (OS), wherein the kernel is configured to:
- receive a read request for the distributed cache from a different client device on the network;
- determine whether data for performing the read request is stored in the shared cache of the at least one memory;
- and
- in response to determining that the data for performing the read request is not stored in the shared cache, transfer the read request to an application in a user space of the at least one memory of the client device.
A method, comprising:
- executing a kernel of an Operating System (OS) configured to allocate resources of a client device;
- using at least a portion of at least one memory of the client device as a shared cache in a distributed cache, wherein the shared cache is located in a kernel space of the at least one memory, and wherein the distributed cache includes respective shared memories of one or more other client devices on a network;
- receiving, by the client device, a read request for the distributed cache from a different client device on the network;
- determining whether data for performing the read request is stored in the shared cache of the at least one memory of the client device;
- in response to determining that the data for performing the read request is stored in the shared cache, sending the requested data to the different client device without accessing a user space of the client device;
- and
- in response to determining that the data for performing the read request is not stored in the shared cache, transferring the read request to an application in the user space of the client device.
Dependencies are inferred from the claim text.