# US 2010/0169288 A1 · Database element versioning system and method

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2010/0169288 A1
- Document ID: US20100169288A1
- Status: Published application
- Kind: A1
- Application number: 12/344,734
- Filed: 2008-12-29
- Published: 2010-07-01
- Earliest claimed: 2008-12-29
- Assignees: International Business Machines Corporation
- Inventors: DAVID LAWRENCE BROWN
- Web page: https://patentgrep.com/patent/US20100169288A1

## CPC

- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A version controlled database program residing on a computer readable medium, having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations comprising:
defining a version object software layer 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 including the one or more versions of the at least one element of the data; and
defining a database management software layer configured to:
read and write the data to the version controlled database via reading and writing the data to the version object software layer; and
provide a database access interface for accessing the data in the version controlled database.

### Claim 2 (depends on 1)

The program of claim 1 wherein the version object software layer includes one or more data views that provide access to the versions of the data in the version controlled database.

### Claim 3 (depends on 2)

The program of claim 2 wherein the database management software layer reads and writes to the version object software layer via the one or more data views.

### Claim 4 (depends on 1)

The program of claim 1 wherein the version object software layer reads and writes the data to the physical storage medium by performing file I/O operations.

### Claim 5 (depends on 1)

The program of claim 1 wherein the database management software layer reads and writes the data to the physical storage medium by performing versioning-compatible save operations that read and write the data to certain and repeatable locations.

### Claim 6 (depends on 1)

The program of claim 1 wherein the database management software layer reads and writes the data to the version controlled database via file I/O operations sent to the version object software layer.

### Claim 7 (depends on 1)

The program of claim 1 wherein the database management software layer reads and writes the data via raw I/O operations sent to a second physical storage medium, and wherein the second physical storage medium is used for temporary storage of the data in the version controlled database.

### Claim 8 (depends on 7)

The program of claim 7 wherein the version object software layer further stores data tables of the version controlled database on the physical storage medium.

### Claim 9

A method of accessing data in a version controlled database comprising:
reading and writing data of a version controlled database to a physical storage medium;
storing one or more versions of the data on the physical storage medium;
providing access to the data via a database access interface; and
providing access to the one or more versions of the data via a data version interface.

### Claim 10 (depends on 9)

The method of claim 9 wherein the data version interface includes one or more data views that display particular versions of the data.

### Claim 11 (depends on 10)

The method of claim 10 wherein reading and writing data includes reading and writing data to the one or more data views.

### Claim 12 (depends on 9)

The method of claim 9 wherein reading and writing data includes reading and writing data to the physical storage medium by performing file I/O operations.

### Claim 13 (depends on 9)

The method of claim 9 wherein reading and writing data includes reading and writing data to the physical storage medium by performing versioning-compatible save operations that read and write the data to certain and repeatable locations.

### Claim 14 (depends on 9)

The method of claim 9 wherein reading and writing the data includes reading and writing the data via raw I/O operations sent to a second physical storage medium, and wherein the second physical storage medium is used for temporary storage of the data in the version controlled database.

### Claim 15 (depends on 9)

The method of claim 9 further comprising storing data tables of the version controlled database on the physical storage medium.
