Location and relocation of data within a cache

US9311240B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9311240-B2
Application numberUS-201213568951-A
CountryUS
Kind codeB2
Filing dateAug 7, 2012
Priority dateAug 7, 2012
Publication dateApr 12, 2016
Grant dateApr 12, 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.

In one embodiment, a computer system includes a cache having one or more memories and a metadata service. The metadata service is able to receive requests for data stored in the cache from a first client and from a second client. The metadata service is further able to determine whether the performance of the cache would be improved by relocating the data stored in the cache. The metadata service is further operable to relocate the data stored in the cache when such relocation would improve the performance of the cache.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method for relocating data in a cache, comprising: receiving, from a first client, a request to access a first portion of the cache; receiving, from a second client, a request to access the first portion of the cache; initiating, in response to the second client request, a determination of a first amount of time elapsed since receiving the first client request; determining the first amount of time elapsed since receiving the first client request; determining whether the first amount of time exceeds a first pre-determined threshold value; tracking one or more usage patterns of the first client and the second client; requesting migration of data associated with the first portion of the cache to a second portion of the cache, wherein the request comprises determining if any active client references are associated with data associated with the first portion of the cache; maintaining a back reference to the data associated with the first portion of the cache; and migrating data associated with the first portion of the cache to the second portion of the cache if the first amount of time exceeds the first pre-determined threshold value, wherein the migration is based, at least in part, on the one or more usage patterns; and after migrating data associated with the first portion of the cache to the second portion of the cache, removing data associated with the first portion of the cache from a replica data store associated with the first portion of the cache. 2. The method of claim 1 , wherein the first client and the second client are the same client. 3. The method of claim 1 , further comprising: receiving, from a third client, a request to access the second portion of the cache; determining a second amount of time elapsed since migrating data associated with the first portion of the cache to the second portion of the cache; determining whether the second amount of time exceeds a second pre-determined threshold value; and migrating data associated with the second portion of the cache to a third portion of the cache if the second amount of time exceeds the second pre-determined threshold value. 4. The method of claim 3 , wherein the third client is the same as the first client. 5. The method of claim 3 , wherein the second pre-determined threshold value is greater than the first pre-determined threshold value. 6. The method of claim 1 , wherein: a first cache manager is associated with the first client and the first portion of the cache; and a second cache manager is associated with the second client and the second portion of the cache. 7. The method of claim 6 , wherein the first cache manager and the second cache manager are communicatively linked with a metadata service, and wherein the first cache manager, the second cache manager, and the metadata service are operable to migrate the data. 8. The method of claim 1 , wherein the cache is operable in a write-through mode. 9. The method of claim 1 , wherein the cache is operable in a write-back mode. 10. A computing system, comprising: a cache comprising one or more memories; and a metadata service, wherein the metadata service is operable to: receive, from a first client, a request to access a first portion of the cache; receive, from a second client, a request to access the first portion of the cache; initiate, in response to the second client request, a determination of a first amount of time elapsed since receiving the client request; determine the first amount of time elapsed since receiving the first client request; determine whether the first amount of time exceeds a first pre-determined threshold value; track one or more usage patterns of the first client and the second client; request migration of data associated with the first portion of the cache to a second portion of the cache, wherein the request comprises determining if any active client references are associated with data associated with the first portion of the cache; maintain a back reference to the data associated with the first portion of the cache; migrate data associated with the first portion of the cache to the second portion of the cache if the first amount of time exceeds the first pre-determined threshold value wherein the migration is based, at least in part, on the one or more usage patterns; and after migrating data associated with the first portion of the cache to the second portion of the cache, remove data associated with the first portion of the cache from a replica data store associated with the first portion of the cache. 11. The system of claim 10 , wherein the first client and the second client are the same client. 12. The system of claim 10 , wherein: a first cache manager is associated with the first client and the first portion of the cache; and a second cache manager is associated with the second client and the second portion of the cache. 13. The system of claim 10 , wherein the cache is operable in a write-back mode. 14. The system of claim 10 , wherein the cache is operable in a write-through mode. 15. The system of claim 10 , wherein the metadata service is further operable to: receive, from a third client, a request to access the second portion of the cache; determine a second amount of time elapsed since migrating data associated with the first portion of the cache to the second portion of the cache; determine whether the second amount of time exceeds a second pre-determined threshold value; and migrate data associated with the second portion of the cache to a third portion of the cache if the second amount of time exceeds the second pre-determined threshold value. 16. The system of claim 15 , wherein the third client is the same as the first client. 17. The system of claim 15 , wherein the second pre-determined threshold value is greater than the first pre-determined threshold value.

Assignees

Inventors

Classifications

  • Allocation or management of cache space · CPC title

  • Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level · CPC title

  • with a network or matrix configuration · CPC title

  • Electricity · mapped topic

  • Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches · CPC title

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 US9311240B2 cover?
In one embodiment, a computer system includes a cache having one or more memories and a metadata service. The metadata service is able to receive requests for data stored in the cache from a first client and from a second client. The metadata service is further able to determine whether the performance of the cache would be improved by relocating the data stored in the cache. The metadata servi…
Who is the assignee on this patent?
Dawkins William Price, Gross Jason Philip, Olson Noelan Ray, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F12/0871. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 12 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).