# US 11,853,276 B2 · Incrementally updated database server database images and database cloning, using windows virtual hard drives and database server backups

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

- Number: US 11,853,276 B2
- Document ID: US11853276B2
- Status: Granted
- Kind: B2
- Application number: 17/142,988
- Filed: 2021-01-06
- Published: 2021-07-08
- Granted: 2023-12-26
- Earliest claimed: 2020-01-07
- Assignees: Nirvaha Corporation
- Applicants: Nirvaha Corporation
- Inventors: Paul Stanton; Ramesh Parameswaran
- Web page: https://patentgrep.com/patent/US11853276B2

## CPC

- G06F 16/219: {Managing data history or versioning (querying versioned data G06F16/2474; querying temporal data G06F16/2477)}
- G06F 16/273: {Asynchronous replication or reconciliation}
- G06F 11/1451: {by selection of backup contents}
- G06F 11/1469: {Backup restoration techniques}
- G06F 16/256: {in federated or virtual databases}
- G06F 16/275: {Synchronous replication}
- G06F 11/1464: {for networked environments}
- G06F 11/1471: involving logging of persistent data for recovery
- G06F 11/1474: in transactions (updating of structured data in databases G06F16/23)
- G06F 2201/80: Database-specific techniques
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A database image may be updated with incremental changes without replicating the production database. Each set of changes to the production database are stored in a differencing disk. Two or more identical chains of differencing disks are created. One chain is an active chain, and database clones may be served from the active chain for use by users. After reaching a predetermined length on an inactive chain, the differencing disks on the inactive chain are merged into a single merged differencing disk, and the inactive chain becomes an active chain, from which new database clones may be served to users. The chains may alternate between being inactive and active chains.

## Claims

### Claim 1

A method comprising:
initiating a database server instance;
creating a parent virtual hard disk (VHD);
mounting the parent VHD to the database server instance;
restoring a full database server backup to the parent VHD;
unmounting the parent VHD from the database server instance;
generating a replicated differencing disk chain from the parent VHD, wherein the replicated differencing disk chain comprises an active chain and an inactive chain;
creating a first clone by cloning a most recent VHD differencing disk on the active chain of the replicated differencing disk chain; and
merging a plurality of VHD differencing disks on the inactive chain into a single merged differencing disk, wherein the plurality of VHD differencing disks are merged in response to the inactive chain reaching a predetermined length.

### Claim 2 (depends on 1)

The method of claim 1, further comprising delivering the first clone to a user.

### Claim 3 (depends on 1)

The method of claim 1, further comprising: changing the inactive chain to be active; and
changing the active chain to be inactive.

### Claim 4 (depends on 3)

The method of claim 3, further comprising adding a new VHD differencing disk to the inactive chain and the active chain.

### Claim 5 (depends on 4)

The method of claim 4, further comprising creating a second clone by cloning the new VHD differencing disk on the active chain.

### Claim 6 (depends on 1)

The method of claim 1, wherein the parent VHD comprises a database image.

### Claim 7

A non-transitory computer readable storage medium comprising stored instructions, the stored instructions when executed cause at least one processor to:
initiate a database server instance;
create a parent virtual hard disk (VHD);
mount the parent VHD to the database server instance;
restore a full database server backup to the parent VHD;
unmount the parent VHD from the database server instance;
generate a replicated differencing disk chain from the parent VHD, wherein the replicated differencing disk chain comprises an active chain and an inactive chain;
create a first clone by cloning a most recent VHD differencing disk on the active chain of the replicated differencing disk chain; and
merge a plurality of VHD differencing disks on the inactive chain into a single merged differencing disk, wherein the plurality of VHD differencing disks are merged in response to the inactive chain reaching a predetermined length.

### Claim 8 (depends on 7)

The non-transitory computer readable storage medium of claim 7, wherein the stored instructions when executed cause the at least one processor to deliver the first clone to a user.

### Claim 9 (depends on 7)

The non-transitory computer readable storage medium of claim 7, wherein the stored instructions when executed cause the at least one processor to:
change the inactive chain to be active; and
change the active chain to be inactive.

### Claim 10 (depends on 9)

The non-transitory computer readable storage medium of claim 9, wherein the stored instructions when executed cause the at least one processor to add a new VHD differencing disk to the inactive chain and the active chain.

### Claim 11 (depends on 10)

The non-transitory computer readable storage medium of claim 10, wherein the stored instructions when executed cause the at least one processor to create a second clone by cloning the new VHD differencing disk on the active chain.

### Claim 12 (depends on 7)

The non-transitory computer readable storage medium of claim 7, wherein the parent VHD comprises a database image.

### Claim 13

A computer system comprising:
a processor; and
a non-transitory computer readable storage medium comprising stored instructions, the stored instructions when executed cause the processor to:
initiate a database server instance;
create a parent virtual hard disk (VHD);
mount the parent VHD to the database server instance;
restore a full database server backup to the parent VHD;
unmount the parent VHD from the database server instance;
generate a replicated differencing disk chain from the parent VHD, wherein the replicated differencing disk chain comprises an active chain and an inactive chain;
create a first clone by cloning a most recent VHD differencing disk on the active chain of the replicated differencing disk chain; and
merge a plurality of VHD differencing disks on the inactive chain into a single merged differencing disk, wherein the plurality of VHD differencing disks are merged in response to the inactive chain reaching a predetermined length.

### Claim 14 (depends on 13)

The computer system of claim 13, wherein the stored instructions when executed cause the processor to:
change the inactive chain to be active; and
change the active chain to be inactive.

### Claim 15 (depends on 14)

The computer system of claim 14, wherein the stored instructions when executed cause the processor to add a new VHD differencing disk to the inactive chain and the active chain.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein the stored instructions when executed cause the processor to create a second clone by cloning the new VHD differencing disk on the active chain.

### Claim 17 (depends on 13)

The computer system of claim 13, wherein the parent VHD comprises a database image.

### Claim 18 (depends on 13)

The computer system of claim 13, wherein the stored instructions when executed cause the processor to deliver the first clone to a user.
