Systems and methods for database proxy request switching

US2017147656A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017147656-A1
Application numberUS-201715427775-A
CountryUS
Kind codeA1
Filing dateFeb 8, 2017
Priority dateDec 28, 2010
Publication dateMay 25, 2017
Grant date

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.

The present application is directed towards systems and methods for selecting a database from a plurality of databases to forward a SQL query request based on a property of the SQL request. A device intermediary to a plurality of clients and databases may establish a plurality of connections to the plurality of databases. The device may receive, from a client of the plurality of clients, a request to execute a SQL query. The device may evaluate one or more properties of the request to execute the SQL query responsive to a policy. The device may select a database from the plurality of databases based on a result of evaluation of the one or more properties of the request to execute the SQL query. The device may forward the request to execute the SQL query to the selected database via a connection of the plurality of connections.

First claim

Opening claim text (preview).

We claim: 1 . A method comprising: (a) receiving, by a device intermediary to a client and a plurality of databases, a request of the client, the request comprising a structured query language (SQL) query; (b) identifying, by the device, one or more properties of the SQL query; (c) evaluating, by the device, the one or more properties using a policy for selecting a database from the plurality of databases for which to forward the SQL query; (d) selecting, by the device, the database from the plurality of databases using at least a result of evaluation of the policy; and (e) forwarding, by the device, the request to the selected database. 2 . The method of claim 1 , further comprising establishing, by the device, one or more connections between the device and each of the plurality of databases. 3 . The method of claim 2 , wherein (d) further comprises selecting, by the device, a connection from the one or more connections to forward the request to the selected database. 4 . The method of claim 1 , wherein (c) further comprises specifying, by the policy, an expression to evaluate the one or more properties of the SQL query, wherein the one or more properties comprising a grammar part and a data part of the SQL query. 5 . The method of claim 1 , wherein (c) further comprises evaluating the one or more properties comprising one of the following: identification of an authenticated user, a name of the database, a character set sent by the client and client's capabilities. 6 . The method of claim 1 , wherein (c) further comprises evaluating the one or more properties comprising one of the following: a size of the request and a type of command. 7 . The method of claim 1 , wherein (c) further comprises determining, by the device responsive to the result of the evaluation, that the SQL query comprises a write query and wherein (d) further comprises selecting the database comprising a master database from the plurality of databases deployed in a master and slave configuration. 8 . The method of claim 1 , wherein (c) further comprises determining, by the device responsive to the result of the evaluation, that the SQL query comprises a read query and wherein (d) further comprises selecting the database comprising a slave database from the plurality of databases deployed in a master and slave configuration. 9 . The method of claim 1 , wherein (d) further comprises selecting, by the device, the database from the plurality of databases using load balancing. 10 . The method of claim 1 , wherein (e) further comprises forwarding, by the device, the request using multiplexing via one or more connections pooled between the device and the selected database. 11 . A system comprising: a device intermediary to a client and a plurality of databases, wherein the device is configured to receive a request of the client, the request comprising a structured query language (SQL) query; identify one or more properties of the SQL query of the request; evaluate the one or more properties using a policy for selecting a database from the plurality of databases for which to forward the SQL query; select the database from the plurality of databases using at least a result of evaluation of the policy; and forward the request to the selected database. 12 . The system of claim 11 , wherein the device is further configured to establish one or more connections between the device and each of the plurality of databases. 13 . The system of claim 12 , wherein the device is further configured to select a connection from the one or more connections to forward the request to the selected database. 14 . The system of claim 11 , wherein the policy is further configured to specify an expression to evaluate the one or more properties of the SQL query, wherein the one or more properties comprising a grammar part and a data part of the SQL query. 15 . The system of claim 11 , wherein the device is further configured to evaluate the one or more properties comprising one of the following: identification of an authenticated user, a name of the database, a character set sent by the client and client's capabilities. 16 . The system of claim 11 , wherein the device is further configured to evaluate the one or more properties comprising one of the following: a size of the request and a type of command. 17 . The system of claim 11 , wherein the plurality of databases are deployed in a master and slave configuration and wherein the device is further configured to determine, responsive to the result of the evaluation, that the SQL query comprises a write query and to select as master database as the selected database. 18 . The system of claim 11 , wherein the plurality of databases are deployed in a master and slave configuration and wherein the device is further configured to determine, responsive to the result of the evaluation, that the SQL query comprises a read query and select a slave database as the selected database. 19 . The system of claim 11 , wherein the device is further configured to select the database from the plurality of databases using load balancing. 20 . The system of claim 11 , wherein the device is further configured to forward the request using multiplexing via one or more connections pooled between the device and the selected database.

Assignees

Inventors

Classifications

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 US2017147656A1 cover?
The present application is directed towards systems and methods for selecting a database from a plurality of databases to forward a SQL query request based on a property of the SQL request. A device intermediary to a plurality of clients and databases may establish a plurality of connections to the plurality of databases. The device may receive, from a client of the plurality of clients, a requ…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification G06F17/30545. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu May 25 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).