Buffering request data for in-memory cache

US9858187B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9858187-B2
Application numberUS-201514922686-A
CountryUS
Kind codeB2
Filing dateOct 26, 2015
Priority dateOct 26, 2015
Publication dateJan 2, 2018
Grant dateJan 2, 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 cache for web application data. In some embodiments, received transactions include multiple operations, including one or more cache operations to access the in-memory cache. In some embodiments, transactions are performed atomically. In some embodiments, data for the one or more cache operations is stored locally in memory by an application server outside of the in-memory cache until the transaction is successfully completed. This may improve performance and facilitate atomicity, in some embodiments.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: an application server receiving a request to perform a transaction that includes a plurality of operations, including one or more cache operations to access an in-memory cache; and the application server performing the transaction, including: storing data corresponding to the one or more cache operations in memory outside of the in-memory cache until the transaction is successfully completed; and caching data corresponding to the one or more cache operations in the in-memory cache after successful completion of the transaction. 2. The method of claim 1 , wherein the in-memory cache is distributed across a plurality of application servers. 3. The method of claim 1 , wherein the caching includes storing a final value of data based on multiple operations to a particular cache entry and does not include caching one or more intermediate values for the particular cache entry. 4. The method of claim 1 , further comprising: using the data stored outside of the in-memory cache by a first one of the plurality of operations as input for a second one of the plurality of operations. 5. The method of claim 1 , wherein the stored data is not serialized, the method further comprising serializing at least a portion of the stored data before the caching. 6. The method of claim 1 , wherein the transaction is performed atomically. 7. The method of claim 1 , further comprising: in response to a parameter in at least one of the one or more cache operations, performing the at least one of the one or more cache operations prior to successful completion of the transaction. 8. The method of claim 1 , further comprising: maintaining a database of web application data, wherein at least a portion of the database of web application data is not stored in a system memory space, wherein the in-memory cache is separate from the database of web application data. 9. A system, comprising: one or more processors; and one or more memories having program instructions stored thereon that are capable of being executed by the one or more processors to cause operations comprising: receiving a transaction that includes a plurality of operations, including one or more cache operations to access an in-memory cache; and performing the transaction, including: storing data corresponding to the one or more cache operations in memory outside of the in-memory cache until the transaction is successfully completed; and caching data corresponding to the one or more cache operations in the in-memory cache after successful completion of the transaction. 10. The system of claim 9 , wherein the system includes a plurality of application servers and the caching includes storing data on multiples ones of the plurality of application servers. 11. The system of claim 9 , wherein the caching includes storing a final value of data based on multiple operations to a particular cache entry and does not include caching one or more intermediate values for the particular cache entry. 12. The system of claim 9 , wherein the operations further comprise using the data stored outside of the in-memory cache based on a first one of the plurality of operations as input for a second one of the plurality of operations. 13. The system of claim 9 , wherein the transaction is performed atomically. 14. The system of claim 9 , wherein the operations further comprise: in response to an immediate parameter in at least one of the one or more cache operations, performing the at least one of the one or more cache operations by accessing the in-memory cache prior to successful completion of the transaction. 15. A non-transitory computer-readable medium having computer instructions stored thereon that are capable of causing operations comprising: receiving a transaction that includes a plurality of operations, including one or more cache operations to access an in-memory cache; and performing the transaction, including: storing data corresponding to the one or more cache operations in memory outside of the in-memory cache until the transaction is successfully completed; and caching data corresponding to the one or more cache operations in the in-memory cache after successful completion of the transaction. 16. The non-transitory computer-readable medium of claim 15 , wherein the in-memory cache is distributed across a plurality of application servers. 17. The non-transitory computer-readable medium of claim 15 , wherein the caching includes storing a final value of data based on multiple operations to a particular cache entry and does not include caching one or more intermediate values for the particular cache entry. 18. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise: using the data stored outside of the in-memory cache by a first one of the plurality of operations as input for a second one of the plurality of operations. 19. The non-transitory computer-readable medium of claim 15 , wherein the transaction is performed atomically. 20. The non-transitory computer-readable medium of claim 15 , wherein the operations further comprise: in response to a parameter in at least one of the one or more cache operations, performing the at least one of the one or more cache operations by accessing the in-memory cache prior to successful completion of the transaction.

Assignees

Inventors

Classifications

  • Coherency control relating to peripheral accessing, e.g. from DMA or I/O device · CPC title

  • Cache consistency protocols · CPC title

  • with request queuing · CPC title

  • using buffers · CPC title

  • with multilevel cache hierarchies · 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 US9858187B2 cover?
Techniques are disclosed relating to an in-memory cache for web application data. In some embodiments, received transactions include multiple operations, including one or more cache operations to access the in-memory cache. In some embodiments, transactions are performed atomically. In some embodiments, data for the one or more cache operations is stored locally in memory by an application serv…
Who is the assignee on this patent?
Salesforce Com Inc
What technology area does this patent fall under?
Primary CPC classification G06F12/0815. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 02 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).