Visibility parameters for an in-memory cache

US9984002B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9984002-B2
Application numberUS-201514922632-A
CountryUS
Kind codeB2
Filing dateOct 26, 2015
Priority dateOct 26, 2015
Publication dateMay 29, 2018
Grant dateMay 29, 2018

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.

Techniques are disclosed relating to an in-memory, software-managed cache configured to store web application data. In some embodiments, operations to cache data specify a visibility parameter for the data, among a plurality of namespaces. In some embodiments, requests to access cached data are checked, based on a request's namespace and the visibility parameter for the cached data, to determine whether they are allowed to proceed. In some embodiments, this may facilitate caching data using shared computing systems and data structures while maintaining configurable privacy for cached data.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: storing, on a computing system, application data in an in-memory cache for a plurality of namespaces, wherein the in-memory cache is configured to store data for a plurality of entries, including a particular entry associated with a particular one of the plurality of namespaces, wherein the particular entry is associated with a visibility parameter defining which of the plurality of namespaces have access to the particular entry; receiving, by the computing system, a request to access the particular entry in the in-memory cache, wherein the request is associated with a specified namespace of the plurality of namespaces, and wherein the request includes a key corresponding to the particular entry; and determining, based on the visibility parameter for the particular entry and the specified namespace, whether to provide access to the particular entry in response to the request. 2. The method of claim 1 , wherein ones of the plurality of namespaces are sharded across multiple servers in the computing system. 3. The method of claim 1 , further comprising: receiving a request to store data in the in-memory cache, wherein the request specifies the visibility parameter; and storing the data in the particular entry in response to the request to store data in the in-memory cache. 4. The method of claim 1 , wherein the visibility parameter is a binary parameter that indicates whether the particular entry is visible within only a single namespace or is visible to multiple namespaces for an entity. 5. The method of claim 1 , wherein the visibility parameter specifies a list of namespaces for which the particular entry is visible. 6. The method of claim 1 , further comprising storing the visibility parameter in the particular entry. 7. The method of claim 1 , wherein the in-memory cache is a session cache corresponding to a user session and wherein the particular namespace corresponds to a particular web application. 8. A non-transitory computer-readable medium having computer instructions stored thereon that are capable of causing operations comprising: storing application data in an in-memory cache for a plurality of namespaces, wherein the in-memory cache includes a plurality of entries, including a particular entry associated with a particular one of the plurality of namespaces, wherein the particular entry also includes a visibility parameter defining which of the plurality of namespaces have access to the particular entry; receiving a request to access the particular entry in the in-memory cache, wherein the request is associated with a specified namespace of the plurality of namespaces, and wherein the request includes a key corresponding to the particular entry; and determining, based on the visibility parameter for the particular entry and the specified namespace, whether to provide access to the particular entry in response to the request. 9. The non-transitory computer-readable medium of claim 8 , wherein ones of the plurality of namespaces are sharded across multiple servers. 10. The non-transitory computer-readable medium of claim 8 , wherein the request to access the particular entry is initiated by program code executed by an application server or program code executed by a client device. 11. The non-transitory computer-readable medium of claim 8 , wherein the visibility parameter indicates that the particular entry is visible to multiple namespaces for an entity. 12. The non-transitory computer-readable medium of claim 8 , wherein the operations further comprise storing the visibility parameter in the particular entry. 13. The non-transitory computer-readable medium of claim 8 , wherein the in-memory cache is used to store data for multiple different user sessions associated with one of the plurality of namespaces. 14. A non-transitory computer-readable medium having computer instructions stored thereon that are capable of causing operations comprising: transmitting a first request to a computing system to cache data in an in-memory cache, wherein the first request specifies a visibility parameter for the data that specifies whether ones of applications executing in particular namespaces, of a plurality of namespaces maintained by the computing system, are permitted to access the data, and wherein the first request specifies a key that is paired with the data; transmitting a second request to the computing system to retrieve the cached data, wherein the second request is associated with one of the plurality of namespaces, and wherein the second request specifies the key that is paired with the data; and receiving a grant or denial of the second request that is based on the visibility parameter for the cached data. 15. The non-transitory computer-readable medium of claim 14 , wherein ones of the plurality of namespaces are sharded across multiple servers in the computing system. 16. The non-transitory computer-readable medium of claim 14 , wherein the visibility parameter is a binary parameter. 17. The non-transitory computer-readable medium of claim 14 , wherein the visibility parameter specifies a list of namespaces for which the data is visible. 18. The non-transitory computer-readable medium of claim 14 , wherein the in-memory cache is a session cache corresponding to a user web application session associated with the first request. 19. A method, comprising: maintaining, by a computing system, an in-memory cache for a plurality of namespaces, wherein ones of the plurality of namespaces are sharded across multiple servers in the computing system; storing, on the computing system, application data in the in-memory cache for the plurality of namespaces, wherein the in-memory cache is configured to store data for a plurality of entries, including a particular entry associated with a particular one of the plurality of namespaces, and wherein the particular entry is associated with a visibility parameter defining which of the plurality of namespaces have access to the particular entry; receiving, by the computing system, a request to access the particular entry in the in-memory cache, wherein the request is associated with a specified namespace of the plurality of namespaces; and determining, based on the visibility parameter for the particular entry and the specified namespace, whether to provide access to the particular entry in response to the request. 20. A method, comprising: maintaining, by a computing system, an in-memory cache for a plurality of namespaces, wherein the in-memory cache includes a session cache corresponding to a user session; storing, on the computing system, application data in the in-memory cache for the plurality of namespaces, wherein the in-memory cache is configured to store data for a plurality of entries, including a particular entry associated with a particular namespace of the plurality of namespaces, wherein the particular entry is associated with a visibility parameter defining which of the plurality of namespaces have access to the particular entry, and wherein the particular namespace corresponds to a particular web application; receiving, by the computing system, a request to access the particular entry in the in-memory cache, wherein the request is associated with a specified namespace of the plurality of namespaces; and determining, based on the visibility parameter for the particular entry and the specified namespace, whether to provide access to the particular entry in response to the request.

Assignees

Inventors

Classifications

  • Partitioned cache, e.g. separate instruction and operand caches · CPC title

  • with a shared cache · CPC title

  • Allocation of cache space to multiple users or processors · CPC title

  • Allocation or management of cache space · CPC title

  • Caching of specific data in cache memory · 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 US9984002B2 cover?
Techniques are disclosed relating to an in-memory, software-managed cache configured to store web application data. In some embodiments, operations to cache data specify a visibility parameter for the data, among a plurality of namespaces. In some embodiments, requests to access cached data are checked, based on a request's namespace and the visibility parameter for the cached data, to determin…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0888. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 29 2018 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 9 related publications on this page (citations in our corpus or others sharing the same primary CPC).