Server-side connection resource pooling
First Claim
1. A method comprising:
- receiving, at a server-side connection broker from a client process, a request for a connection to a server, said request for a connection being sent via a network transport connection between the client process and the server-side connection broker;
in response to said request,said server-side connection broker selecting a server connection from a pool of server connections, wherein said server connection comprises a thread of execution;
handing-off said network transport connection between the client process and the server-side connection broker to the server connection to (1) establish said server connection to be an end point for said network transport connection and to (2) bypass said server-side connection broker within said network transport connection while said server connection is the end point of said network transport connection;
receiving, at said server connection and from said client process via said network transport connection, a request for one or more server operations; and
said server connection performing said one or more server operations and returning a corresponding result to said client process via said network transport connection; and
after said result is returned, handing-back said network transport connection to said server-side connection broker to establish the server-side connection broker to be the end point for said network transport connection and cause said server-side connection broker to listen for further requests via said network transport connection.
1 Assignment
0 Petitions
Accused Products
Abstract
A server side connection pool provides pooling of server connections. Thus, client side processes do not create groups of dedicated resources. Clients are provided the capability to communicate to a server side connection broker process to GET a pooled server connection comprising connection state plus a thread of execution for doing some work, whereby requesting the work can bypass the connection broker process and go directly to the assigned pooled connection. Once the client issues a RELEASE to release the pooled connection back to the pool, a completely different client process on potentially a different client middle tier machine can reuse the same pooled connection. The server-side connection pool can be logically partitioned into sub-pools that correspond to connection classes that typically correspond to respective applications. A client process can request a pooled connection having a particular state, where a stored procedure can be executed to generate such state.
-
Citations
27 Claims
-
1. A method comprising:
-
receiving, at a server-side connection broker from a client process, a request for a connection to a server, said request for a connection being sent via a network transport connection between the client process and the server-side connection broker; in response to said request, said server-side connection broker selecting a server connection from a pool of server connections, wherein said server connection comprises a thread of execution; handing-off said network transport connection between the client process and the server-side connection broker to the server connection to (1) establish said server connection to be an end point for said network transport connection and to (2) bypass said server-side connection broker within said network transport connection while said server connection is the end point of said network transport connection; receiving, at said server connection and from said client process via said network transport connection, a request for one or more server operations; and said server connection performing said one or more server operations and returning a corresponding result to said client process via said network transport connection; and after said result is returned, handing-back said network transport connection to said server-side connection broker to establish the server-side connection broker to be the end point for said network transport connection and cause said server-side connection broker to listen for further requests via said network transport connection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer-readable storage medium storing instructions which, when executed by one or more processors, cause said one or more processors to perform steps comprising:
-
receiving, at a server-side connection broker from a client process, a request for a connection to a server, said request for a connection being sent via a network transport connection between the client process and the server-side connection broker; in response to said request, said server-side connection broker selecting a server connection from a pool of server connections, wherein said server connection comprises a thread of execution; handing-off said network transport connection between the client process and the server-side connection broker to the server connection to (1) establish said server connection to be an end point for said network transport connection and to (2) bypass said server-side connection broker within said network transport connection while said server connection is the end point of said network transport connection; receiving, at said server connection and from said client process via said network transport connection, a request for one or more server operations; and said server connection performing said one or more server operations and returning a corresponding result to said client process via said network transport connection; and after said result is returned, handing-back said network transport connection to said server-side connection broker to establish the server-side connection broker to be the end point for said network transport connection and cause said server-side connection broker to listen for further requests via said network transport connection. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27)
-
Specification