IP Library Granted Patent US 8,346,732
Granted Patent B1
US 8,346,732 · App. 11/291,025 · Granted Jan 1, 2013

Method and apparatus for providing high availability of a database

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,346,732
App. No.
11/291,025
Granted
Jan 1, 2013
Kind
B1
Abstract

A method and apparatus for providing high availability of a database. A first front end server is coupled to a first back end server, and a second front end server is coupled to a second back end server. The second front end server provides redundancy to the first front end server and the second back end server provides redundancy to the first back end server. The front end servers function as a gateway into the database and comprise protocol services for processing input/output requests to the gateway. The back end servers comprise database protocol services and interface directly to the gateway to retrieve information requested by the processed database requests received from the front end servers.

Claims (86)

1. An apparatus comprising:

a first front end server, wherein

the first front end server is configured to be coupled to a plurality of clients,

the first front end server is configured to receive input/output requests from the plurality of clients,

the input/output requests comprise database access requests directed to a database, and

the first front end server is configured to provide protocol services that handle the input/output requests;

a first back end server configured to provide database protocol services that handle access to the database wherein,

the first front end server is coupled to the first back end server;

a second front end server, wherein

the first front end server is configured to failover to the second front end server, and

the first front end server and the second front end server are configured to virtualize a registry key of the database;

a second back end server, wherein

the first back end server is configured to failover to the second back end server,

the second front end server is coupled to the second back end server,

failover to the second back end server comprises a failover process,

the failover process comprises re-associating the database from the first back end server to the second back end server during the failover process,

the re-associating comprises

dismounting the database from the first back end server, and

remounting the database on the second back end server; and

a storage area network configured to store the database, wherein

the storage area network is configured to be coupled to the first back end server and the second back end server.

2. The apparatus of claim 1 , wherein

the first front end server and the second front end server are configured to migrate a system state from the first front end server to the second front end server.

3. The apparatus of claim 2 , wherein

the first back end server and the second back end server are configured to re-associate at least one of mailboxes, private databases, public databases, storage groups or transaction logs from the first back end server to the second back end server during the failover process.

4. The apparatus of claim 1 , wherein

the protocol services comprise at least one of Simple Mail Transfer Protocol (SMTP), Post Office Protocol 3 (POP3), and Internet Message Access Protocol 4 (IMAP4).

5. The apparatus of claim 1 , wherein

the database is Microsoft Exchange.

6. An apparatus comprising:

a first front end server comprising means for implementing protocol services, wherein

the first front end server is configured to be coupled to a plurality of clients,

the first front end server is configured to receive input/output requests from the plurality of clients,

the input/output requests comprise database access requests directed to a database, and

the protocol services are configured to handle the input/output requests;

a first back end server comprising means for implementing database protocol services, wherein

the first front end server coupled to the first back end server;

a second front end server, wherein

the first front end server is configured to failover to the second front end server, and

the first front end server and the second front end server are configured to virtualize a registry key of the database;

a second back end server, wherein

the first back end server is configured to failover to the second back end server, and

the second front end server is coupled to the second back end server;

means for failing over the first front end server to the second front end server comprising

migrating a system state from the first front end server to the second front end server;

means for re-associating at least one of mailboxes, private databases, public databases, storage groups and transaction logs from the first back end server to the second back end server, wherein

the re-associating comprises

dismounting the database from the first back end server, and

remounting the database on the second back end server; and

a storage area network configured to store a database, wherein

the storage area network is configured to be coupled to the first back end server and the second back end server.

7. The apparatus of claim 6 , wherein

the database is MICROSOFT Exchange.

8. A method comprising:

requesting access to a database through a first front end server, wherein

the requesting is performed in response to receiving at least one input/output request from a plurality of clients,

the plurality of clients is configured to be coupled to the first front end server,

the first front end server is configured to provide protocol services configured to handle the at least one input/output request,

the first front end server is configured to failover to a second front end server, and

the first front end server and the second front end server are configured to virtualize a registry key of the database;

processing the at least one input/output request in the first front end server using protocol services;

transferring the at least one input/output request to a first back end server, wherein

the first back end server is configured to failover to a second back end server,

failover to the second back end server comprises a failover process,

the failover process comprises re-associating the database from the first back end server to the second back end server during the failover process,

the re-associating comprises

dismounting the database from the first back end server, and

remounting the database on the second back end server; and

accessing the database through the second back end server using database protocol services.

9. The method of claim 8 , further comprising:

monitoring the first front end server for failure; and

migrating a system state from the first front end server to the second front end server in the event of a failure.

10. The method of claim 8 , further comprising:

monitoring the first back end server for failure; and

the database comprises at least one of mailboxes, private databases, public databases, storage groups or transaction logs from the first back end server to a second back end server in the event of a failure.

11. The method of claim 9 , further comprising:

disassociating the plurality of client computers from the first front end server, and re-associating the plurality of client computers with the second front end server.

12. The method of claim 10 , further comprising:

disassociating the first front end server from the first back end server and re-associating the first front end server with the second back end server.

13. The method of claim 8 , further comprising:

monitoring the first front end server for failure;

in the event of a failure, migrating a system state from the first front end server to the second front end server;

monitoring the first back end server for failure;

in the event of a failure re-associating at least one of mailboxes, private databases, public databases, storage groups and transaction logs from the first back end server to the second back end server;

disassociating the plurality of client computers from the first front end server, and re-associating the plurality of client computers with the second front end server; and

associating the second front end server with the second back end server.

Assignments (6)
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 10, 2024
From: ARCTERA US LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 069563/0243 →
PATENT SECURITY AGREEMENT Recorded Dec 10, 2024
From: ARCTERA US LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069585/0150 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC
To: ARCTERA US LLC
Reel/Frame 069548/0468 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →