Systems and methods for caching of SQL responses using integrated caching

US9235618B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9235618-B2
Application numberUS-201313858007-A
CountryUS
Kind codeB2
Filing dateApr 6, 2013
Priority dateApr 6, 2013
Publication dateJan 12, 2016
Grant dateJan 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.

Systems and methods of the present disclosure provide for caching, by a device intermediary to a client and a database, a result of a structured query language (SQL) query request. In some embodiments, the device intermediary to a plurality of clients and a database receives a SQL response from the database to a first SQL query request of a client of the plurality of clients. The device may maintain a cache of SQL responses from the database. The device may identify that the first SQL query request matches a rule of a policy for caching SQL responses from the database. The policy may include a cache action to take when the rule is matched. The device may perform, responsive to the policy, on the SQL response the cache action identified by the policy.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for caching by a device intermediary to a client and a database a result of a structured query language (SQL) query request, the method comprising: (a) receiving, by a device intermediary to a plurality of clients and a database, a SQL response from the database to a first structured query language (SQL) query request of a client of the plurality of clients, the device maintaining a cache of SQL responses from the database; (b) identifying, by the device, that the first SQL query request matches a rule of a policy for caching SQL responses from the database, the policy comprising a cache action to take on a response to a query when the rule is matched; and (c) performing, by the device responsive to the policy, on the SQL response received from the database the cache action identified by the policy matching the first SQL query request. 2. The method of claim 1 , further comprising identifying, by the device, that the SQL response from the first SQL query request is stored in the cache responsive to receiving from one of the plurality of clients a second SQL query request comprising the SQL query of the first SQL query request. 3. The method of claim 2 , further comprising serving, by the device, the SQL response from the cache responsive to the second SQL query request. 4. The method of claim 1 , wherein step (a) further comprises maintaining, by the device, SQL responses in the cache via a hash of two or more of the following: username, database name, character set and client version. 5. The method of claim 1 , wherein step (b) further comprises identifying, by the device, that an expression of the rule matches SQL content of the first SQL query request. 6. The method of claim 1 , wherein step (b) further comprises identifying, by the device, that the cache action of the policy specifies an action of one of to store to cache, not cache or invalidate a corresponding cache entry. 7. The method of claim 1 , wherein step (c) further comprises storing, by the device, the SQL response to the cache responsive to the cache action of the policy specifying an action to cache. 8. The method of claim 1 , wherein step (c) further comprises invalidating, by the device, the SQL response stored in the cache responsive to the cache action of the policy specifying an action to invalidate. 9. The method of claim 1 , further comprising identifying, by the device, that the policy specifies a selector for identifying a group of content to which the policy applies. 10. The method of claim 9 , further comprising performing, by the device, the cache action of the policy on the group of content identified by the selector. 11. A system for caching by a device intermediary to a client and a database a result of a structured query language (SQL) query request, the system comprising: a device intermediary to a plurality of clients and a database; a cache of the device configured to cache SQL responses from the database; a database proxy of the device receiving an SQL response from the database to a first structured query language (SQL) query request of a client of the plurality of clients; a policy engine configured to identify that the first SQL query request matches a rule of a policy for caching SQL responses from the database, the policy comprising a cache action to take on a response to a query when the rule is matched; and wherein the device, responsive to the policy, is configured to perform on the SQL response received from the database the cache action identified by the policy matching the first SQL query request. 12. The system of claim 11 , wherein the database proxy is configured to identify that the SQL response from the first SQL query request is stored in the cache responsive to receiving from one of the plurality of clients a second SQL query request comprising the SQL query of the first SQL query request. 13. The system of claim 12 , wherein the database proxy is configured to serve the SQL response from the cache responsive to the second SQL query request. 14. The system of claim 11 , wherein the cache maintains SQL responses in the cache via a hash of two or more of the following: username, database name, character set and client version. 15. The system of claim 11 , wherein the policy engine is configured to identify that an expression of the rule matches SQL content of the first SQL query request. 16. The system of claim 11 , wherein the policy engine is configured to identify that the cache action of the policy specifies an action of one of to store to cache, not cache or invalidate a corresponding cache entry. 17. The system of claim 11 , wherein the device is configured to store the SQL response to the cache responsive to the cache action of the policy specifying an action to cache. 18. The system of claim 11 , wherein the device is configured to invalidate the SQL response stored in the cache responsive to the cache action of the policy specifying an action to invalidate. 19. The system of claim 11 , wherein the policy engine is configured to identify that the policy specifies a selector for identifying a group of content to which the policy applies. 20. The system of claim 19 , wherein the device is further configured to perform the cache action of the policy on the group of content identified by the selector.

Assignees

Inventors

Classifications

  • using cached or materialised query results · CPC title

  • Caching, prefetching or hoarding of files · CPC title

  • Physics · mapped topic

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 US9235618B2 cover?
Systems and methods of the present disclosure provide for caching, by a device intermediary to a client and a database, a result of a structured query language (SQL) query request. In some embodiments, the device intermediary to a plurality of clients and a database receives a SQL response from the database to a first SQL query request of a client of the plurality of clients. The device may mai…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/24539. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 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).