IP Library Granted Patent US 8,161,077
Granted Patent B2
US 8,161,077 · App. 12/603,545 · Granted Apr 17, 2012

Datacenter workflow automation scenarios using virtual databases

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,161,077
App. No.
12/603,545
Granted
Apr 17, 2012
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 (93)

1. A method for test and development of databases and database applications using a virtual database system, the method comprising:

linking a source database, wherein linking the source database comprises receiving information identifying the source database;

loading a plurality of point-in-time copies of the source database, wherein the loading comprises:

receiving database blocks for the point-in-time copies of the source database, and

storing the database blocks on a storage system; and

provisioning a development virtual database to a development system and a test virtual database to a test system, wherein provisioning each of the virtual databases to a system comprises:

creating a set of files linked to the stored database blocks on the storage system, and

mounting the set of files to the system to allow a database server running on the system to access the set of files.

2. The method of claim 1 , wherein the test virtual database is associated with a point-in-time copy of the development virtual database.

3. The method of claim 1 , further comprising:

provisioning a quality assurance (QA) virtual database to a QA system for performing quality assurance, wherein provisioning the QA virtual databases comprises:

creating a set of files linked to the stored database blocks on the storage system, and

mounting the set of files to the QA system to allow a database server running on the QA system to access the set of files.

4. The method of claim 3 , wherein the QA virtual database is associated with a point-in-time copy of the test virtual database.

5. The method of claim 3 , further comprising:

granting permissions to users of the QA virtual database allowing the users to access data in the QA virtual database.

6. The method of claim 1 , wherein a prescript operation is performed before the loading operation and a postscript operation is performed after the load operation.

7. The method of claim 1 , wherein a prescript operation is performed before the provision operation and a postscript operation is performed after the provision operation.

8. The method of claim 1 , further comprising:

exporting a staging virtual database to a staging system, wherein exporting the staging virtual databases comprises transmitting the stored database blocks on the storage system associated with the staging VDB to the staging system.

9. The method of claim 1 , further comprising:

refreshing the development virtual database, wherein refreshing the development virtual database comprises:

receiving and storing database blocks for a new point-in-time copy of the source database, and

provisioning the development virtual database based on the new point-in-time copy of the source database.

10. The method of claim 1 , further comprising:

granting permissions to users of the test VDB allowing the users to access data in the test VDB.

11. A method for remote test and development of databases and database applications using a virtual database system, the method comprising:

linking a source database, wherein linking the source database comprises receiving information identifying the source database;

loading a plurality of point-in-time copies of the source database, wherein the loading comprises:

receiving database blocks for the point-in-time copies of the source database, and

storing the database blocks on a first storage system;

transmitting the stored database blocks from the first storage system to a second storage system; and

provisioning a development virtual database to a development system and a test virtual database to a test system, wherein provisioning each of the virtual databases to a system comprises:

creating a set of files linked to the stored database blocks on the second storage system, and

mounting the set of files to the system to allow a database server running on the system to access the set of files.

12. The method of claim 11 , further comprising:

transmitting database blocks stored in the second storage system to the first storage system; and

storing the database blocks received from the second storage system at the first storage system.

13. The method of claim 11 , further comprising:

receiving request from the database server running on the system to update database blocks associated with the VDB.

14. The method of claim 13 , further comprising:

updating database blocks associated with the VDB based on request received from the database server running on the system;

receiving at the first storage system, database blocks transmitted from the second storage system; and

identifying conflicts by the first storage system, between database blocks received from the second storage system and database blocks updated based on request received from the database server.

15. The method of claim 14 , wherein the database blocks transmitted from the second storage system are encrypted.

16. The method of claim 14 , wherein the information in the database blocks transmitted from the second storage system is compressed.

17. The method of claim 11 , wherein the transmitting the stored database blocks is responsive to prescript operation that performs at least one of masking, purging, compressing, and encrypting of the information in the stored database blocks being transmitted.

18. A computer program product having a non-transitory computer-readable storage medium storing computer-executable code for test and development of databases and database applications using a virtual database system, the code comprising instructions to:

link a source database, wherein linking the source database comprises receiving information identifying the source database;

load a plurality of point in time copies of the source database, wherein the loading comprises:

receiving database blocks for the point-in-time copies of the source database, and

storing the database blocks on a storage system; and

provision a development virtual database to a development system and a test virtual database to a test system, wherein provisioning each of the virtual databases to a system comprises:

creating a set of files linked to the stored database blocks on the storage system, and

mounting the set of files to the system to allow a database server running on the system to access the set of files.

19. The computer program product of claim 18 , wherein the test virtual database is associated with a point-in-time copy of the development virtual database.

20. The computer program product of claim 18 , further comprising instructions to:

provision a quality assurance (QA) virtual database to a QA system for performing quality assurance, wherein provisioning the QA virtual databases comprises:

creating a set of files linked to the stored database blocks on the storage system, and

mounting the set of files to the QA system to allow a database server running on the QA system to access the set of files.

21. The method of claim 20 , further comprising instructions to:

grant permissions to users of the QA virtual database allowing the users to access data in the QA virtual database.

22. The computer program product of claim 1 , wherein a prescript operation is performed before the loading operation and a postscript operation is performed after the load operation.

23. The computer program product of claim 1 , wherein a prescript operation is performed before the provision operation and a postscript operation is performed after the provision operation.

24. The computer program product of claim 1 , further comprising instructions to:

export a staging virtual database to a staging system, wherein exporting the staging virtual databases comprises transmitting the stored database blocks on the storage system associated with the staging VDB to the staging system.

25. The computer program product of claim 1 , further comprising instructions to:

refresh the development virtual database, wherein refreshing the development virtual database comprises:

receiving and storing database blocks for a new point-in-time copy of the source database, and

provisioning the development virtual database based on the new point-in-time copy of the source database.

26. The computer program product of claim 1 , further comprising instructions to:

grant permissions to users of the test VDB allowing the users to access data in the test VDB.

27. A computer program product having a non-transitory computer-readable storage medium storing computer-executable code for remote test and development of databases and database applications using a virtual database system, the code comprising instructions to:

link a source database, wherein linking the source database comprises receiving information identifying the source database;

load a plurality of point in time copies of the source database, wherein the loading comprises:

receiving database blocks for the point-in-time copies of the source database, and

storing the database blocks on a first storage system;

transmit the stored database blocks from the first storage system to a second storage system; and

provision a development virtual database to a development system and a test virtual database to a test system, wherein provisioning each of the virtual databases to a system comprises:

creating a set of files linked to the stored database blocks on the second storage system, and

mounting the set of files to the system to allow a database server running on the system to access the set of files.

28. The computer program product of claim 27 , further comprising instructions to:

transmit database blocks stored in the second storage system to the first storage system; and

store the database blocks received from the second storage system at the first storage system.

29. The computer program product of claim 27 , further comprising instructions to:

receiving request from the database server running on the system to update database blocks associated with the VDB.

30. The computer program product of claim 29 , further comprising instructions to:

update database blocks associated with the VDB based on request received from the database server running on the system,

receive at the first storage system, database blocks transmitted from the second storage system; and

identify conflicts by the first storage system, between database blocks received from the second storage system and database blocks updated based on request received from the database server.

31. The computer program product of claim 30 , wherein the database blocks transmitted from the second storage system are encrypted.

32. The computer program product of claim 30 , wherein the information in the database blocks transmitted from the second storage system is compressed.

33. The computer program product of claim 27 , wherein transmitting the stored database blocks is responsive to prescript operation that performs at least one of masking, purging, compressing, and encrypting of the information in the stored database blocks being transmitted.

Assignments (16)
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: 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 →
RELEASE OF SECURITY INTEREST Recorded Aug 5, 2022
From: SILICON VALLEY BANK
To: DELPHIX CORP.
Reel/Frame 060738/0578 →
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 →
SECURITY INTEREST Recorded Oct 1, 2018
From: DELPHIX CORP.
To: SILICON VALLEY BANK
Reel/Frame 047016/0544 →
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 Feb 28, 2017
From: DELPHIX CORP.
To: SILICON VALLEY BANK
Reel/Frame 041398/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2009
From: ZHA, CHARLES LI; YUEH, JEDIDAH; SRIVASTAVA, ALOK KUMAR
To: DELPHIX CORP.
Reel/Frame 023410/0911 →