Data access layer
First Claim
1. A computer-implemented method for performing a data transaction with respect to data stored in a plurality of databases, comprising:
- at a data access layer comprising a plurality of DAL servers, performing the steps of;
establishing a plurality of logical database constructs, each of the plurality of logical database constructs having default routing to one of the plurality of physical databases as a default physical database, such default routing specifying a default physical database as a default destination for forwarding a data transaction request received at the logical database construct;
receiving a database connection request from a web server;
establishing a connection between the web server and a logical database construct based on the contents of the database connection request;
receiving a data transaction request from the web server on the database connection between the web server and the logical database construct;
redirecting the data transaction request from the default physical database for the logical database construct to another physical database, the data transaction request being redirected based on routing rules that override the default routing for the logical database construct;
establishing a database connection with the other physical database;
transmitting the data transaction request to the other physical database;
receiving a result set from the other physical database; and
returning the result set to the web server.
2 Assignments
0 Petitions
Accused Products
Abstract
An improved data access layer (DAL) architecture enables database connection pooling or multiplexing across machine boundaries. Drivers installed at web servers communicate with servers in a DAL. The DAL servers present a virtual database to the web servers, and the DAL servers in turn open connections to a set of physical databases. DAL servers are able to recycle connections that are no longer needed, or to move available connections from one DAL server to another, so as to provide improved efficiency in connection management, burst management, and peak load management. Scalability is thereby improved, and more efficient use of system resources is facilitated.
-
Citations
39 Claims
-
1. A computer-implemented method for performing a data transaction with respect to data stored in a plurality of databases, comprising:
at a data access layer comprising a plurality of DAL servers, performing the steps of; establishing a plurality of logical database constructs, each of the plurality of logical database constructs having default routing to one of the plurality of physical databases as a default physical database, such default routing specifying a default physical database as a default destination for forwarding a data transaction request received at the logical database construct; receiving a database connection request from a web server; establishing a connection between the web server and a logical database construct based on the contents of the database connection request; receiving a data transaction request from the web server on the database connection between the web server and the logical database construct; redirecting the data transaction request from the default physical database for the logical database construct to another physical database, the data transaction request being redirected based on routing rules that override the default routing for the logical database construct; establishing a database connection with the other physical database; transmitting the data transaction request to the other physical database; receiving a result set from the other physical database; and returning the result set to the web server. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
14. A computer program product for performing a data transaction with respect to data stored in a plurality of databases, comprising:
-
a computer-readable storage medium; and computer program code, encoded on the storage medium, for causing at least one processor operating at a data access layer comprising a plurality of DAL servers to perform the steps of; establishing a plurality of logical database constructs, each of the plurality of logical database constructs having default routing to one of the plurality of physical databases as a default physical database, such default routing specifying a default physical database as a default destination for forwarding a data transaction request received at the logical database construct; receiving a database connection request from a web server; establishing a connection between the web server and a logical database construct based on the contents of the database connection request; receiving a data transaction request from the web server on the database connection between the web server and the logical database construct; redirecting the data transaction request from the default physical database for the logical database construct to another physical database, the data transaction request being redirected based on routing rules that override the default routing for the logical database construct; establishing a database connection with the other physical database; transmitting the data transaction request to the other physical database; receiving a result set from the other physical database; and
returning the result set to the web server. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A system for performing a data transaction with respect to data stored in a plurality of databases, comprising:
-
a plurality physical database; and a data access layer comprising a plurality of DAL servers, for; establishing a plurality of logical database constructs, each of the plurality of logical database constructs having default routing to one of the plurality of physical databases as a default physical database, such default routing specifying a default physical database as a default destination for forwarding a data transaction request received at the logical database construct; receiving a database connection request from a web server; establishing a connection between the web server and a logical database construct based on the contents of the database connection request; receiving a data transaction request from the web server on the database connection between the web server and the logical database construct; redirecting the data transaction request from the default physical database for the logical database construct to another physical database, the data transaction request being redirected based on routing rules that override the default routing for the logical database construct; establishing a database connection with the other physical database; transmitting the data transaction request to the other physical database; receiving a result set from the other physical database; and returning the result set to the web server. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39)
-
Specification