IP Library Patent Application 14300490
Patent Application
App. No. 14/300,490

System and Method for Making a Backup Copy of Live Data

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 None
App. No.
14/300,490
Abstract

A system and method for backing up data on computer-readable physical medium, especially useful for databases, such as those using POSIX standard function calls, whereby select operations performed by a user of the database are intercepted and, while performed, are also translated into a shadow file having information about a database file to be backed up and the operations performed on that file. The resulting shadow file can be used to reconstitute the database file. In another mode of operation, the system and method create a copy of the database and concurrently make the same changes to the copy as the user commands while also concurrently keeping a shadow file system related to the database copy.

Claims (51)

1 . A system for backing up data in a POSIX application environment, said data stored on a computer-readable physical medium, comprising:

a library that intercepts predetermined POSIX file operations and performs such operations on a copy of the data defined by a shadow system;

said shadow system comprising,

a shadow file descriptor map comprising one or more pointer related to one or more data files to be backed up, each pointer unique to a given process working on said data, and each pointer being null or pointing to a shadow file description;

a shadow file description, each comprising an offset, a shadow file reference count, and a pointer to a shadow file;

a shadow name map comprising, for each open data file to be backed up, a mapping of the name of that open file to a corresponding shadow file;

a shadow file reference comprising, for each file name in the shadow name map an associated device and file number;

a shadow file reference map comprising, for each said shadow file reference a map to a corresponding shadow file; and

a shadow file, comprising, for each open data file to be backed up, information from said shadow file description, said shadow name map, and said shadow file reference map;

whereby each shadow file includes information from which each open data file can be reconstituted.

2 . A system for backing up data in a POSIX application environment, said data stored on a computer-readable physical medium, comprising:

a source space comprising data to be backed up;

a destination space comprising a copy of said data to be backed up;

a library that intercepts predetermined POSIX file operations and performs such operations on the copy of the data in said destination space;

a shadow system comprising,

a shadow file descriptor map comprising one or more pointer related to one or more data files in said destination space, each pointer unique to a given process working on said data in said destination space, and each pointer being null or pointing to a shadow file description;

a shadow file description, each comprising an offset, a shadow file reference count, and a pointer to a shadow file;

a shadow name map comprising, for each open data file in the destination space, a mapping of the name of that open file to a corresponding shadow file;

a correspondence map comprising, for each data file in the source space to be backed up, a mapping to a corresponding data file in the destination space;

a shadow file reference comprising, for each file name in the shadow name map an associated device and file number;

a shadow file reference map comprising, for each corresponding data file in the correspondence map, a mapping to a corresponding shadow file; and

a shadow file, comprising, for each open data file in the destination space, information from said shadow file description, said shadow name map, and said shadow file reference map, and a file descriptor for each open data file in the source space;

whereby each shadow file includes information from which each open data file in the destination space can be reconstituted.

3 . The system of claim 1 , wherein said library modifies at least one POSIX call selected from the group consisting of open, close, write, read, lseek, truncate, unlink, rename, dup, mkdir, and link to modify said shadow system.

4 . The system of claim 2 , wherein said library modifies at least one POSIX call selected from the group consisting of open, close, write, pwrite, ftruncate, truncate, unlink, rename, dup, mkdir, and link to operate on both said copy of the data in the destination space and to modify said shadow system.

5 . The system of claim 2 , wherein said destination space is created by serializing the data files in the source space, sending the serialized files to a remote location, and reconstituting the files in said remote location to form the destination space.

6 . A system for backing up data in a POSIX application environment, said data stored on a computer-readable physical medium, comprising:

intercepting predetermined POSIX file operations and concurrently performing operations on a copy of the data defined by a shadow system;

said shadow system comprising,

a shadow file descriptor map comprising one or more pointer related to one or more data files to be backed up, each pointer unique to a given process working on said data, and each pointer being null or pointing to a shadow file description;

a shadow file description, each comprising an offset, a shadow file reference count, and a pointer to a shadow file;

a shadow name map comprising, for each open data file to be backed up, a mapping of the name of that open file to a corresponding shadow file;

a shadow file reference comprising, for each file name in the shadow name map an associated device and file number;

a shadow file reference map comprising, for each said shadow file reference a map to a corresponding shadow file; and

a shadow file, comprising, for each open data file to be backed up, information from said shadow file description, said shadow name map, and said shadow file reference map;

whereby each shadow file includes information from which each open data file can be reconstituted.

7 . A method for backing up data on in a POSIX application environment, said data stored on a computer-readable physical medium, comprising:

defining a source space comprising data on a computer-readable physical medium to be backed up;

defining a destination space comprising a copy of said data to be backed up on a second computer-readable physical medium;

intercepting predetermined POSIX file operations and performing such operations on the copy of the data in said destination space while concurrently maintaining a shadow system of data,

said a shadow system comprising,

a shadow file descriptor map comprising one or more pointer related to one or more data files in said destination space, each pointer unique to a given process working on said data in said destination space, and each pointer being null or pointing to a shadow file description;

a shadow file description, each comprising an offset, a shadow file reference count, and a pointer to a shadow file;

a shadow name map comprising, for each open data file in the destination space, a mapping of the name of that open file to a corresponding shadow file;

a correspondence map comprising, for each data file in the source space to be backed up, a mapping to a corresponding data file in the destination space;

a shadow file reference comprising, for each file name in the shadow name map an associated device and file number;

a shadow file reference map comprising, for each corresponding data file in the correspondence map, a mapping to a corresponding shadow file; and

a shadow file, comprising, for each open data file in the destination space, information from said shadow file description, said shadow name map, and said shadow file reference map, and a file descriptor for each open data file in the source space;

whereby each shadow file includes information from which each open data file in the destination space can be reconstituted.

8 . The method of claim 6 , wherein said library modifies at least one POSIX call selected from the group consisting of open, close, write, read, lseek, truncate, unlink, rename, dup, mkdir, and link to modify said shadow system.

9 . The method of claim 7 , wherein said library modifies at least one POSIX call selected from the group consisting of open, close, write, pwrite, ftruncate, truncate, unlink, rename, dup, mkdir, and link to operate on both said copy of the data in the destination space and to modify said shadow system.

Assignments (3)
SECURITY INTEREST Recorded Sep 13, 2016
From: PERCONA, LLC
To: PACIFIC WESTERN BANK
Reel/Frame 039711/0854 →
CONFIRMATION OF ASSIGNMENT Recorded Jul 22, 2015
From: TOKUTEK, INC.
To: PERCONA, LLC
Reel/Frame 036159/0381 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2015
From: KUSZMAUL, BRADLEY C.; ROBER, CHRISTIAN
To: TOKUTEK, INC.
Reel/Frame 035639/0401 →