Speculative switch database
First Claim
1. A non-transitory computer readable medium comprising instructions, the instructions operable when executed by a processor to:
- receive a database selection message from a database client;
transmit an unconditional acknowledgement to the database client in response to the database selection message;
access a database query from a queue of queries from the database client, the database query comprising a user identifier and a database identifier;
determine whether a matching backend database connection exists, the matching backend database connection having a user identifier equivalent to the user identifier of the database query and a database identifier that is equivalent to the database identifier of the database query;
if a matching backend database connection exists, forward the database query to the matching backend database connection; and
determine, in response to determining that the matching backend database does not exist, whether a similar backend database connection exists, the similar backend database connection having a user identifier equivalent to the user identifier of the database query and a database identifier not equivalent to the database identifier of the database query, or having the user identifier not equivalent to the user identifier of the database query and the database identifier that is equivalent to the database identifier of the database query;
if the similar backend database connection exists and the user identifier of the similar backend database connection is equivalent to the user identifier of the database query, transmit a request to a database server to switch the database identifier of the similar backend connection to the database identifier of the database query; and
if the similar backend database connection exists and the database identifier of the similar backend database connection is equivalent to the database identifier of the database query, transmit a request to switch the user identifier of the similar backend database connection to the user identifier of the database query.
2 Assignments
0 Petitions
Accused Products
Abstract
Processing switch database operations may include receiving a database selection message from a database client, transmitting an unconditional acknowledgement to the database client in response to the database selection message, accessing a database query from a queue of queries from the a database client where the database query includes a user identifier and a database identifier, determining whether a matching backend database connection exists, and if a matching backend database connection exists, forwarding the database query to the matching backend database connection. In some embodiments, a matching backend database connection may be a backend database connection having a user identifier equivalent to the user identifier of the database query, and a database identifier that is equivalent to the database identifier the database query.
33 Citations
17 Claims
-
1. A non-transitory computer readable medium comprising instructions, the instructions operable when executed by a processor to:
-
receive a database selection message from a database client; transmit an unconditional acknowledgement to the database client in response to the database selection message; access a database query from a queue of queries from the database client, the database query comprising a user identifier and a database identifier; determine whether a matching backend database connection exists, the matching backend database connection having a user identifier equivalent to the user identifier of the database query and a database identifier that is equivalent to the database identifier of the database query; if a matching backend database connection exists, forward the database query to the matching backend database connection; and determine, in response to determining that the matching backend database does not exist, whether a similar backend database connection exists, the similar backend database connection having a user identifier equivalent to the user identifier of the database query and a database identifier not equivalent to the database identifier of the database query, or having the user identifier not equivalent to the user identifier of the database query and the database identifier that is equivalent to the database identifier of the database query; if the similar backend database connection exists and the user identifier of the similar backend database connection is equivalent to the user identifier of the database query, transmit a request to a database server to switch the database identifier of the similar backend connection to the database identifier of the database query; and if the similar backend database connection exists and the database identifier of the similar backend database connection is equivalent to the database identifier of the database query, transmit a request to switch the user identifier of the similar backend database connection to the user identifier of the database query. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An apparatus, comprising:
-
an interface for communicating database messages; a memory for storing database messages; a processor communicatively coupled the interface and the memory, the processor operable to; receive a database selection message from a database client; transmit an unconditional acknowledgement to the database client in response to the database selection message; access a database query from a queue of queries from the database client, the database query comprising a user identifier and a database identifier; determine whether a matching backend database connection exists, the matching backend database connection having a user identifier equivalent to the user identifier of the database query and a database identifier that is equivalent to the database identifier of the database query; if a matching backend database connection exists, forward the database query to the matching backend database connection; and determine, in response to determining that the matching backend database does not exist, whether a similar backend database connection exits, the similar backend database connection having a user identifier equivalent to the user identifier of the database query and a database identifier not equivalent to the database identifier of the database query, or having the user identifier not equivalent to the user identifier of the database query and the database identifier that is equivalent to the database identifier of the database query; if the similar backend database connection exists and the user identifier of the similar backend database connection is equivalent to the user identifier of the database query, transmit a request to a database server to switch the database identifier of the similar backend connection to the database identifier of the database query; and if the similar backend database connection exists and the database identifier of the similar backend database connection is equivalent to the database identifier of the database query, transmit a request to switch the user identifier of the similar backend database connection to the user identifier of the database query. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method, comprising:
-
receiving a database selection message from a database client; transmitting an unconditional acknowledgement to the database client in response to the database selection message; accessing a database query from a queue of queries from the database client, the database query comprising a user identifier and a database identifier; determining whether a matching backend database connection exists, the matching backend database connection having a user identifier equivalent to the user identifier of the database query and a database identifier that is equivalent to the database identifier of the database query; if a matching backend database connection exists, forwarding the database query to the matching backend database connection; and determining, in response to determining that the matching backend database not exist, whether a similar backend database connection exists, the similar backend database connection having a user identifier equivalent to the user identifier of the database query and a database identifier not equivalent to the database identifier of the database query, or having the user identifier not equivalent to the user identifier of the database query and the database identifier that is equivalent to the database identifier of the database query; if the similar backend database connection exists and the user identifier of the similar backend database connection is equivalent to the user identifier of the database query, transmitting a request to a database server to switch the database identifier of the similar backend connection to the database identifier of the database query; and if the similar backend database connection exists and the database identifier of the similar backend database connection is equivalent to the database identifier of the database query, transmitting a request to switch the user identifier of the similar backend database connection to the user identifier of the database query. - View Dependent Claims (14, 15, 16, 17)
-
Specification