Method and system for reducing connections to a database
AssigneeeBay Inc.
InventorsChristopher J. Kasten, Igor Chernyshev, Greg Seitz
Life of this patent
Estimating the term…
Abstract
A system automatically maintains a plurality of client connections associated with a plurality of clients, the plurality of client connections including active and idle connections. A first server receives a request from a client of the plurality of clients to access a second server of a plurality of second servers communicatively coupled to the first server, the plurality of second servers having varying communication protocols. The first server then identifies a first communication protocol associated with the second server and activating a link between the first server and the second server using the first communication protocol.
Claims33
A computer implemented method of managing server connections, the computer implemented method including:
- at a first server,
- maintaining a plurality of client connections associated with a plurality of clients, the plurality of client connections including active and idle connections;
- receiving a request from a client of the plurality of clients to access a second server of a plurality of second servers communicatively coupled to the first server, the plurality of second servers having varying communication protocols;
- identifying a first communication protocol associated with the second server and activating a link between the first server and the second server using the first communication protocol;
- receiving data from the second server in response to the request;
- communicating the data to the client;
- caching the received request as a prepared statement when the received request is a first instance received at the first server;
- providing the client a statement identifier associated with the cached prepared statement, the statement identifier being a unique identifier used for lookup of the cached prepared statement, the cache prepared statement being used to associate future requests with associated metadata and a matching prepared statement on a connection to the second server or to a specific transactional connection to the second server;
- and
- based on the communicating of the data to the client, deactivating the active link between the first server and the second server and returning the link to a connection pool.
A system for managing server connections, the system comprising:
- a first server to maintain a plurality of client connections associated with a plurality of clients, the plurality of client connections including active and idle connections;
- a second server communicatively coupled to the first server, the first server to receive a request from a client of the plurality of clients to access a second server of a plurality of second servers communicatively coupled to the first server, the plurality of second servers having varying communication protocols;
- the first server to cache the received request as a prepared statement when the received request is a first instance received at the first server, and to provide the client a statement identifier associated with the cached prepared statement, the statement identifier being a unique identifier used for lookup of the cached prepared statement, the cache prepared statement being used to associate future requests with associated metadata and a matching prepared statement on a connection to the second server or to a specific transactional connection to the second server;
- and
- the first server further to identify a first communication protocol associated with the second server, to activate a link between the first server and the second server using the first communication protocol, to receive data from the second server in response to the request, to communicate the data to the client, and based on the communicating the data to the client, to deactivate the active link between the first server and the second server and return the link to a connection pool.
A non-transitory machine-readable storage medium comprising instructions, which when executed by a machine, cause the machine to perform operations comprising:
- maintaining a plurality of client connections associated with a plurality of clients, the plurality of client connections including active and idle connections;
- receiving a request from a client of the plurality of clients to access a second server of a plurality of second servers communicatively coupled to the first server, the plurality of second servers having varying communication protocols;
- identifying, using one or more processors, a first communication protocol associated with the second server and activating a link between the first server and the second server using the first communication protocol;
- receiving data at the first server from the second server in response to the request;
- communicating the data from the first server to the client;
- caching the received request as a prepared statement when the received request is a first instance received at the first server;
- providing the client a statement identifier associated with the cached prepared statement, the statement identifier being a unique identifier used for lookup of the cached prepared statement, the cache prepared statement being used to associate future requests with associated metadata and a matching prepared statement on a connection to the second server or to a specific transactional connection to the second server;
- and
- based on the communicating of the data to the client, deactivating the active link between the first server and the second server and returning the link to a connection pool.
Dependencies are inferred from the claim text.