In-Memory Distributed Cache
AssigneeGoogle Inc.
InventorAsa Briggs
Life of this patent
Estimating the term…
Abstract
A method for an in-memory distributed cache includes receiving a write request from a client device to write a block of client data in random access memory (RAM) of a memory host and determining whether to allow the write request by determining whether the client device has permission to write the block of client data at the memory host, determining whether the block of client data is currently saved at the memory host, and determining whether a free block of RAM is available. When the client device has permission to write the block of client data at the memory host, the block of client data is not currently saved at the memory host, and a free block of RAM is available, the write request is allowed and the client is allowed to write the block of client data to the free block of RAM.
Claims20
A computer-implemented method when executed by data processing hardware causes the data processing hardware to perform operations comprising:
- determining an amount of spare random access memory (RAM) available on a memory host of a distributed storage system storing a plurality of cache blocks comprising one or more occupied cache blocks, each respective occupied cache block of the one or more occupied cache blocks storing respective data and comprising a respective priority and a respective time to live indicating when the respective data expires;
- determining that the amount of spare RAM fails to satisfy a threshold amount of headroom within the memory host of the distributed storage system;
- and
- based on determining that the amount of spare RAM rails to satisfy the threshold amount of headroom:
- identifying a respective one of the one or more occupied cache blocks based on the respective priority and the respective time to live of the respective one of the one or more occupied cache blocks;
- and
- deleting the respective data of the respective one of the one or more occupied cache blocks.
A system comprising:
- data processing hardware;
- and
- memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed by the data processing hardware cause the data processing hardware to perform operations comprising:
- determining an amount of spare random access memory (RAM) available on a memory host of a distributed storage system storing a plurality of cache blocks comprising one or more occupied cache blocks, each respective occupied cache block of the one or more occupied cache blocks storing respective data and comprising a respective priority and a respective time to live indicating when the respective data expires;
- determining that the amount of spare RAM fails to satisfy a threshold amount of headroom within the memory host of the distributed storage system;
- and
- based on determining that the amount of spare RAM rails to satisfy the threshold amount of headroom:
- identifying a respective one of the one or more occupied cache blocks based on the respective priority and the respective time to live of the respective one of the one or more occupied cache blocks;
- and
- deleting the respective data of the respective one of the one or more occupied cache blocks.
Dependencies are inferred from the claim text.