IP Library Granted Patent US 9,727,593
Granted Patent B2
US 9,727,593 · App. 13/937,453 · Granted Aug 8, 2017

Database element versioning system and method

Inventor: David Lawrence Brown (Colorado Springs, CO)
Assignee: International Business Machines Corporation
G06F17/30309
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,727,593
App. No.
13/937,453
Granted
Aug 8, 2017
Kind
B2
Abstract

This disclosure relates to database systems and, more particularly, to database systems with version controlled data. A version controlled database program resides on a computer readable medium, having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations. The operations include defining a version object software layer. The version object software layer may be configured to read and write data of a version controlled database to a physical storage medium, maintain one or more versions of at least one element of the data, and provide access to the data. The operations may also include defining a database management software layer. The database management software layer may be configured to read and write data to the version object software layer and provide a database access interface for accessing the data.

Claims (35)

1. A computer implemented method comprising:

maintaining, by one or more processors, a plurality of data elements within a version controlled database residing on a physical storage medium, wherein each data element of the plurality of data elements on the physical storage medium has a plurality of versions, wherein the physical storage medium is configured as a version object management (“VOM”) database;

retrieving, by the one or more processors, particular versions of the plurality of data elements from the version controlled database;

providing, by the one or more processors, the particular versions of the plurality of data elements to a client device requesting the particular versions of the plurality of data elements;

wherein providing the particular versions of the plurality of data elements includes creating a private branch of the plurality of data elements by providing a data view to the client device requesting the particular versions of the plurality of data elements that displays the particular versions of the plurality of data elements according to the data view, including creating a copy of the particular versions of the plurality of data elements and storing the copy to a location on a temporary physical storage medium of the version controlled database, wherein the temporary physical storage medium is configured as an optimized database management system (“DBMS”), wherein the temporary physical storage medium is separated from the physical storage medium by a DBMS to VOM interface;

modifying the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium as requested by the client device according to the data view; and

performing, by the one or more processors, a versioning-compatible save operation to store the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium to the version controlled database, the versioning-compatible save operation including determining if the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium has been modified and, if the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium has been modified, saving the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium to a same location within a file from which the particular versions of the plurality of data elements was retrieved on the physical storage medium.

2. The computer implemented method of claim 1 , wherein the plurality of data elements includes a plurality of database elements.

3. The computer implemented method of claim 2 , wherein retrieving the particular versions of the plurality of data elements includes retrieving one of the plurality of database elements.

4. The computer implemented method of claim 1 , wherein the plurality of data elements includes a plurality of database elements and one or more sets of changes to the plurality of database elements.

5. The computer implemented method of claim 4 , wherein retrieving the particular versions of the plurality of data elements includes retrieving the plurality of database elements, retrieving a particular set of changes to the plurality of database elements, and applying the particular set of changes to the plurality of database elements.

6. The computer implemented method of claim 1 , further including providing one or more data view interfaces that provide access to the plurality of data elements in the version controlled database.

7. A computer program product residing on a non-transitory computer readable medium, having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations comprising:

maintaining a plurality of data elements within a version controlled database residing on a physical storage medium, wherein each data element of the plurality of data elements on the physical storage medium has a plurality of versions, wherein the physical storage medium is configured as a version object management (“VOM”) database;

retrieving particular versions of the plurality of data elements from the version controlled database;

providing the particular versions of the plurality of data elements to a client device requesting the particular versions of the plurality of data elements;

wherein providing the particular versions of the plurality of data elements includes creating a private branch of the plurality of data elements by providing a data view to the client device requesting the particular versions of the plurality of data elements that displays the particular versions of the plurality of data elements according to the data view, including creating a copy of the particular versions of the plurality of data elements and storing the copy to a location on a temporary physical storage medium of the version controlled database, wherein the temporary physical storage medium is configured as an optimized database management system (“DBMS”), wherein the temporary physical storage medium is separated from the physical storage medium by a DBMS to VOM interface;

modifying the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium as requested by the client device according to the data view; and

performing a versioning-compatible save operation to store the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium to the version controlled database, the versioning-compatible save operation including determining if the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium has been modified and, if the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium has been modified, saving the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium to a same location within a file from which the particular versions of the plurality of data elements was retrieved on the physical storage medium.

8. The computer program product of claim 7 , wherein the plurality of data elements includes a plurality of database elements.

9. The computer program product of claim 8 , wherein retrieving the particular versions of the plurality of data elements includes retrieving one of the plurality of database elements.

10. The computer program product of claim 7 , wherein the plurality of data elements includes a plurality of database elements and one or more sets of changes to the plurality of database elements.

11. The computer program product of claim 10 , wherein retrieving the particular versions of the plurality of data elements includes retrieving the plurality of database elements, retrieving a particular set of changes to the plurality of database elements, and applying the particular set of changes to the plurality of database elements.

12. The computer program product of claim 7 , further including providing one or more data view interfaces that provide access to the plurality of data elements in the version controlled database.

13. A computing system comprising a processor device and a memory module coupled with the processors device, the processor device configured for:

maintaining a plurality of data elements within a version controlled database residing on a physical storage medium, wherein each data element of the plurality of data elements on the physical storage medium has a plurality of versions, wherein the physical storage medium is configured as a version object management (“VOM”) database;

retrieving particular versions of the plurality of data elements from the version controlled database;

providing the particular versions of the plurality of data elements to a client device requesting the particular versions of the plurality of data elements;

wherein providing the particular versions of the plurality of data elements includes creating a private branch of the plurality of data elements by providing a data view to the client device requesting the particular versions of the plurality of data elements that displays the particular versions of the plurality of data elements according to the data view, including creating a copy of the particular versions of the plurality of data elements and storing the copy to a location on a temporary physical storage medium of the version controlled database, wherein the temporary physical storage medium is configured as an optimized database management system (“DBMS”), wherein the temporary physical storage medium is separated from the physical storage medium by a DBMS to VOM interface;

modifying the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium as requested by the client device according to the data view; and

performing a versioning-compatible save operation to store the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium to the version controlled database, the versioning-compatible save operation including determining if the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium has been modified and, if the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium has been modified, saving the copy of the particular versions of the plurality of data elements stored to the location on the temporary physical storage medium to a same location within a file from which the particular versions of the plurality of data elements was retrieved on the physical storage medium.

14. The computing system of claim 13 , wherein the plurality of data elements includes a plurality of database elements.

15. The computing system of claim 14 , wherein retrieving the particular versions of the plurality of data elements includes retrieving one of the plurality of database elements.

16. The computing system of claim 13 , wherein the plurality of data elements includes a plurality of database elements and one or more sets of changes to the plurality of database elements.

17. The computing system of claim 16 , wherein retrieving the particular versions of the plurality of data elements includes retrieving the plurality of database elements, retrieving a particular set of changes to the plurality of database elements, and applying the particular set of changes to the plurality of database elements.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: BROWN, DAVID LAWRENCE
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 030758/0177 →
Continuity (2)
Continuation 12344734 · Dec 29, 2008
Related Publication 20130297577A1 · Nov 7, 2013