Database cluster systems and methods for maintaining client connections
First Claim
1. A database cluster comprising:
- a first computing system, the first computing system further comprising;
a primary connection manager that forms a Transmission Control Protocol/Internet Protocol (TCP/IP) connection with and receives transactions from at least one client, and a primary database management system (DBMS) that executes the transactions on data stored in one or more data files; and
a second computing system, the second computing system further comprising;
a secondary connection manager, and a secondary DBMS that communicates with the secondary connection manager and that can access data stored in the one or more data files, wherein when an unbalanced workload exists between the first and second computing systems, the secondary connection manager transparently assumes the TCP/IP connection with the at least one client.
27 Assignments
0 Petitions
Accused Products
Abstract
Aspects of embodiments of the present disclosure include a highly available database cluster that can maintain a connection with potentially geographically remote client application programs, including non-fault tolerant application programs, even in the event of one of the database management systems (DBMS) of the cluster becoming unavailable. For example, the database cluster can advantageously move a client connection between a failing, unbalanced, or overloaded DBMS, to another DBMS within the cluster. The database cluster can include connection managers that monitor a connection between a client application program and a primary DBMS. When one connection manager determines that the primary DBMS is unavailable, the connection manager of a secondary DBMS can assume the connection to the client application as if it were the primary DBMS. The connection manager can finish all open transactions, thereby avoiding the need to roll back the same. Moreover, the connection managers can monitor the connection at the DBMS communication level, such as, for example, the SQL*Net level.
-
Citations
20 Claims
-
1. A database cluster comprising:
-
a first computing system, the first computing system further comprising;
a primary connection manager that forms a Transmission Control Protocol/Internet Protocol (TCP/IP) connection with and receives transactions from at least one client, and a primary database management system (DBMS) that executes the transactions on data stored in one or more data files; and
a second computing system, the second computing system further comprising;
a secondary connection manager, and a secondary DBMS that communicates with the secondary connection manager and that can access data stored in the one or more data files, wherein when an unbalanced workload exists between the first and second computing systems, the secondary connection manager transparently assumes the TCP/IP connection with the at least one client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method of providing a fail-over database cluster, the method comprising:
-
forming a Transmission Control Protocol/Internet Protocol (TCP/IP) connection between a first computing system and at least one client;
receiving transactions from the at least one client with a primary connection manager of the first computing system;
executing the transactions with a primary database management system (DBMS) of the first computing system on data stored in one or more data files;
monitoring a balance of a workload between the first computing system and a second computing system; and
transparently assuming the TCP/IP connection with the second computing system when an unbalanced workload exists between the first and second computing systems. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A database cluster for providing for client connection fail-over, the database cluster comprising:
-
first means for forming a Transmission Control Protocol/Internet Protocol (TCP/IP) connection with a client computer, wherein said first means is further configured to receive transactions from the client computer;
second means for receiving the transactions from said first means and for executing the transactions on data stored in at least one data file;
third means for monitoring the TCP/IP connection between said first means and the client computer and for transparently assuming the TCP/IP connection with the client computer while keeping the client TCP/IP connection alive from a perspective of the client; and
fourth means for accessing the data stored in the at least one data file, said fourth means being in communication with said third means. - View Dependent Claims (17, 18, 19, 20)
-
Specification