IP Library Granted Patent US 9,037,543
Granted Patent B2
US 9,037,543 · App. 13/329,132 · Granted May 19, 2015

Virtual database system

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 9,037,543
App. No.
13/329,132
Granted
May 19, 2015
Kind
B2
Abstract

Information from multiple databases is retrieved and stored on a database storage system. Multiple point-in-time copies are obtained for each database. A point-in-time copy retrieves data changed in the database since the retrieval of a previous point-in-time copy. A virtual database (VDB) is created by creating a set of files in the data storage system. Each file in the set of files created for a VDB is linked to the database blocks on the database storage system associated with a point-in-time copy of the source database. The set of files associated with the VDB are mounted on a database server allowing the database server to read from and write to the set of files. Workflows based on VDBs allow various usage scenarios based on databases to be implemented efficiently, for example, testing and development, backup and recovery, and data warehouse building.

Claims (73)

1. A method for creating virtual databases, the method comprising:

receiving a point-in-time copy of a source database, the source database comprising a plurality of database blocks;

storing on a storage system, database blocks of the point-in-time copy of the source database;

receiving information describing transaction logs from the source database wherein the transaction logs represent changes to the source database;

updating one or more stored database blocks of the point-in-time copy of the source database using the transaction logs;

creating a first virtual database comprising a first plurality of database blocks stored in the storage system, the first plurality of database blocks comprising at least a database block updated using the transaction logs;

creating a second virtual database comprising a second plurality of database blocks, the second plurality of database blocks including one or more database blocks from the first plurality of database blocks of the first virtual database; and

providing read and write access to the first virtual database and the second virtual database.

2. The method of claim 1 , wherein the transaction logs represent changes to the source database since the point-in-time copy was received.

3. The method of claim 1 , wherein information describing transaction logs represents changes to the source database since a previous receipt of information describing transaction logs.

4. The method of claim 3 , further comprising:

managing transaction logs associated with the source database based on a predetermined policy.

5. The method of claim 3 , wherein a predetermined policy specifies a schedule for receiving transaction logs of the source database.

6. The method of claim 5 , wherein the schedule specifies calendar days for receiving transaction logs of the source database.

7. The method of claim 1 , further comprising:

receiving a read request for the first virtual database from a database server;

accessing data in at least one database block associated the first virtual database; and

sending the data in response to the read request.

8. The method of claim 1 , wherein providing read and write access to the first virtual database and the second virtual database comprises:

providing access to the first virtual database from a first database server allowing the first database server to read from and write to the database blocks of the first virtual database; and

providing access to the second virtual database from a second database server allowing the second database server to read from and write to the database blocks of the second virtual database.

9. The method of claim 1 , further comprising:

receiving a request to write data to the first virtual database from a database server; and

responsive to the request to write, identifying a database block associated with the first virtual database and creating a copy of the database block identified.

10. A computer-implemented system for creating virtual databases, the system comprising:

a computer processor; and

a computer-readable storage medium storing computer program modules configured to execute on the computer processor, the computer program modules comprising:

a point-in-time copy manager module configured to:

receive a point-in-time copy of a source database, the source database comprising a plurality of database blocks;

a storage allocation manager module configured to:

store on a storage system, database blocks of the point-in-time copy of the source database;

a transaction log manager module configured to:

receive information describing transaction logs from the source database wherein the transaction logs represent changes to the source database; and

update one or more database blocks of the point-in-time copy of the source database using the transaction logs;

a virtual database manager module configured to:

create a first virtual database comprising a first plurality of database blocks stored in the storage system, the first plurality of database blocks comprising at least a database block updated using the transaction logs; and

create a second virtual database comprising a second plurality of database blocks, the second plurality of database blocks including one or more database blocks from the first plurality of database blocks of the first virtual database; and

a file sharing manager module configured to:

provide read and write access to the first virtual database and the second virtual database.

11. The system of claim 10 , wherein the virtual database manager module is further configured to:

receive a read request for data of the first virtual database from a database server;

access data in at least one database block of the first virtual database; and

send the data in response to the read request.

12. The system of claim 10 , wherein the transaction logs represent changes to the source database since the point-in-time copy was received.

13. The system of claim 10 , wherein information describing transaction logs represents changes to the source database since a previous receipt of information describing transaction logs.

14. The system of claim 10 , wherein the virtual database manager is further configured to:

receive a request to write data to the first virtual database from a database server; and

responsive to the request to write, identify a database block associated with the first virtual database and create a copy of the database block identified.

15. A computer program product comprising a non-transitory computer-readable storage medium storing computer program modules configured to execute on a computer processor, the computer program modules comprising:

a point-in-time copy manager module configured to:

receive a point-in-time copy of a source database, the source database comprising a plurality of database blocks;

a storage allocation manager module configured to:

store on a storage system, database blocks of the point-in-time copy of the source database;

a transaction log manager module configured to:

receive information describing transaction logs from the source database wherein the transaction logs represent changes to the source database; and

update one or more database blocks of the point-in-time copy of the source database using the transaction logs;

a virtual database manager module configured to:

create a first virtual database comprising a first plurality of database blocks stored in the storage system, the first plurality of database blocks comprising at least a database block updated using the transaction logs; and

create a second virtual database comprising a second plurality of database blocks, the second plurality of database blocks including one or more database blocks from the first plurality of database blocks of the first virtual database; and

a file sharing manager module configured to:

provide read and write access to the first virtual database and the second virtual database.

16. The computer program product of claim 15 , wherein the virtual database manager module is further configured to:

receive a read request for data of the first virtual database from a database server;

access data in at least one database block of the first virtual database; and

send the data in response to the read request.

17. The computer program product of claim 15 , wherein the transaction logs represent changes to the source database since the point-in-time copy was received.

18. The computer program product of claim 15 , wherein information describing transaction logs represents changes to the source database since a previous receipt of information describing transaction logs.

19. The computer program product of claim 15 , wherein the virtual database manager is further configured to:

receive a request to write data to the first virtual database from a database server; and

responsive to the request to write, identify a database block associated with the first virtual database and create a copy of the database block identified.

20. The computer program product of claim 15 , wherein providing read and write access to the first virtual database and the second virtual database comprises:

providing access to the first virtual database from a first database server allowing the first database server to read from and write to the database blocks of the first virtual database; and

providing access to the second virtual database from a second database server allowing the second database server to read from and write to the database blocks of the second virtual database.

Assignments (17)
SECURITY INTEREST Recorded Apr 7, 2026
From: PERFORCE SOFTWARE, INC.; DELPHIX CORP.; AKANA, INC.; ROGUE WAVE SOFTWARE, INC.
To: ALTER DOMUS (US) LLC, AS COLLATERAL AGENT
Reel/Frame 075368/0968 →
RELEASE OF SECURITY INTEREST Recorded Apr 7, 2026
From: CORTLAND CAPITAL MARKET SERVICES, AS COLLATERAL AGENT
To: ROGUE WAVE SOFTWARE, INC.; AKANA, INC.; GLIFFY, INC.; DELPHIX CORP.
Reel/Frame 075365/0519 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded May 24, 2024
From: DELPHIX CORP.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 067528/0384 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded May 17, 2024
From: DELPHIX CORP.
To: CORTLAND CAPITAL MARKET SERVICES LLC, AS COLLATERAL AGENT
Reel/Frame 067453/0344 →
RELEASE OF SECURITY INTEREST Recorded Mar 22, 2024
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
To: DELPHIX CORP.
Reel/Frame 066869/0540 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2022
From: SILICON VALLEY BANK
To: DELPHIX CORP.
Reel/Frame 060738/0578 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2022
From: HERCULES CAPITAL, INC., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
To: DELPHIX CORP.
Reel/Frame 060737/0201 →
SECURITY INTEREST Recorded Aug 5, 2022
From: DELPHIX CORP.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 060734/0591 →
SECURITY INTEREST Recorded Jan 10, 2020
From: DELPHIX CORP.
To: HERCULES CAPITAL, INC., AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 051482/0043 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Jan 9, 2020
From: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
To: DELPHIX CORP.
Reel/Frame 051532/0264 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE TO REMOVE APPLICATION NUMBERS 10025528 AND 10083196, AND REPLACE WITH PATENT NUMBERS 10025528 AND 10083196 PREVIOUSLY RECORDED ON REEL 047169 FRAME 0863. ASSIGNOR(S) HEREBY CONFIRMS THE AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT. Recorded Jan 6, 2020
From: DELPHIX CORP.
To: SILICON VALLEY BANK
Reel/Frame 051485/0422 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SCHEDULE TO REMOVE APPLICATION NUMBERS 10025528 AND 10083196, AND REPLACE WITH PATENT NUMBERS 10025528 AND 10083196 PREVIOUSLY RECORDED ON REEL 047016 FRAME 0544. ASSIGNOR(S) HEREBY CONFIRMS THE SECURITY INTEREST. Recorded Jan 6, 2020
From: DELPHIX CORP.
To: SILICON VALLEY BANK
Reel/Frame 051485/0438 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 9, 2019
From: DELPHIX CORP.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AGENT
Reel/Frame 050673/0234 →
AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 1, 2018
From: DELPHIX CORP.
To: SILICON VALLEY BANK
Reel/Frame 047169/0863 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Oct 1, 2018
From: SILICON VALLEY BANK
To: DELPHIX CORP.
Reel/Frame 047169/0901 →
SECURITY INTEREST Recorded Oct 1, 2018
From: DELPHIX CORP.
To: SILICON VALLEY BANK
Reel/Frame 047016/0544 →
SECURITY INTEREST Recorded Feb 28, 2017
From: DELPHIX CORP.
To: SILICON VALLEY BANK
Reel/Frame 041398/0119 →