Patent US6199074B1 successfully refreshed from Google Patents.
← Back to Patent Explorer
US6199074B1 Expired / Lapsed US ⏱️ 0.0 years remaining

Database backup system ensuring consistency between primary and mirrored backup database copies despite backup interruption

Assignee: International Business Machines Corp
•
Filing: 1999-04-05
•
Granted: 2001-03-06
•
Expires: 2019-04-05
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A database management system ensures consistency between primary and mirrored backup copies of a database, despite occurrence of a suspending condition interrupting the normal process of mirroring the primary database. One or more primary controllers are provided, each having a data storage unit with multiple primary data storage devices. Multiple secondary controllers each have multiple associated secondary data storage devices, each secondary controller being coupled to one primary controller. One or more primary databases reside on the primary devices, with a corresponding number of secondary databases residing on the secondary devices. Each secondary database mirrors a corresponding primary database. Either a host, attached to a primary controller, or one of the primary controllers itself, maintains a map cross-referencing each primary and secondary database with the primary and secondary devices containing portions thereof. If a predefined “suspending condition” affecting data mirroring occurs, the host or primary controller consults its map to identify all primary and secondary devices affected by the condition. Then, each primary controller stops all ongoing and future read/writes with each of its affected primary devices. Each primary controller also directs each secondary controller having an affected secondary device to stop mirroring the primary databases stored on that device. Then, the primary controller starts intermediate change recording and resumes read/writes with its primary devices. When the suspending condition ends, each primary controller applies the appropriate logged changes to its secondary database(s) and then reactivates each secondary database.

Inventors

  • 👤 Robert Frederic Kern
  • 👤 William Frank Micka
  • 👤 Jeffrey Mark Nick
  • 👤 Larry Richard Perry
  • 👤 David Bradley Petersen
  • 👤 Harold Glen Slone
  • 👤 Gail Andrea Spear
  • 👤 Harry Morris Yudenfriend

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-03 16:48
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2053; G06F11/2056; G06F11/2069; G06F11/2058; G06F11/2064; G06F11/2082; G06F11/2071; Y; Y10; Y10S; Y10S707/00; Y10S707/99951; Y10S707/99952; Y10S707/99953; Y10S707/99955

Claims Analysis

Total Claims: 46
Claim 1
Independent Claim 316 words
A method for maintaining backup data in a database management system (DBMS) including at least one primary controller, multiple primary data storage devices each coupled to one of the primary controllers, multiple secondary data storage devices each coupled to one of multiple secondary controllers, each secondary controller being coupled to one of the primary controllers, wherein one or more primary databases reside on the primary data storage devices and a corresponding number of secondary databases reside on the secondary data storage devices, wherein the DBMS updates each secondary database to mirror its corresponding primary database, each corresponding primary and secondary database together constituting a mirrored pair, the method comprising: at a first time, detecting unavailability of a first database for read/writes, said first database being a member of a first mirrored pair including the first database and a counterpart database; identifying all primary and secondary data storage devices containing any data of the first mirrored pair of databases, said identified primary and secondary data storage devices constituting affected primary and secondary devices; discontinuing all read/write operations by the affected primary devices ongoing at the first time, also preventing future read/write by the affected primary devices; instructing each secondary controller coupled to any affected secondary devices to terminate updating of the affected secondary devices; detecting termination of updating by the secondary controllers, and in response thereto, resuming read/writes with the affected primary devices; each primary controller coupled to affected primary devices receiving changes to the primary database of the first mirrored pair, and in response thereto, logging the received changes; detecting removal of the suspending condition, and in response thereto, resynchronizing the secondary database of the mirrored pair by: applying the logged changes to the secondary devices containing the secondary database of the mirrored pair; and instructing the secondary controllers to resume updating of the secondary database of the mirrored pair to mirror its corresponding primary database.
Claim 2
Independent Claim 316 words
A method for maintaining backup data in a database management system (DBMS) including at least one primary controller, multiple primary data storage devices each coupled to one of the primary controllers, multiple secondary data storage devices each coupled to one of multiple secondary controllers, each secondary controller being coupled to one of the primary controllers, wherein one or more primary databases reside on the primary data storage devices and a corresponding number of secondary databases reside on the secondary data storage devices, wherein the DBMS updates each secondary database to mirror its corresponding primary database, each corresponding primary and secondary database together constituting a mirrored pair, the method comprising: at a first time, detecting unavailability of a first database for read/writes, said first database being a member of a first mirrored pair including the first database and a counterpart database; identifying all primary and secondary data storage devices containing any data of the first mirrored pair of databases, said identified primary and secondary data storage devices constituting affected primary and secondary devices; discontinuing all read/write operations by the affected primary devices ongoing at the first time, also preventing future read/write by the affected primary devices; instructing each secondary controller coupled to any affected secondary devices to terminate updating of the affected secondary devices; detecting termination of updating by the secondary controllers, and in response thereto, resuming read/writes with the affected primary devices; each primary controller coupled to affected primary devices receiving changes to the primary database of the first mirrored pair, and in response thereto, logging the received changes; detecting removal of the suspending condition, and in response thereto, resynchronizing the secondary database of the mirrored pair by: applying the logged changes to the secondary devices containing the secondary database of the mirrored pair; and instructing the secondary controllers to resume updating of the secondary database of the mirrored pair to mirror its corresponding primary database.
Claim 3
Dependent Claim 17 words
The method of claim 1 , each primary controller being coupled to at least one host computer.
Claim 4
Dependent Claim 28 words
The method of claim 2 , the detecting of the first database's unavailability for read/writes being performed by one of the host computers experiencing a failed read/write operation.
Claim 5
Dependent Claim 27 words
The method of claim 1 , the first database being one of the primary databases, and the counterpart database being a corresponding one of the secondary databases.
Claim 6
Dependent Claim 27 words
The method of claim 1 , the first database being one of the secondary databases, and the counterpart database being a corresponding one of the primary databases.
Claim 7
Dependent Claim 47 words
The method of claim 2 , the identifying of all primary and secondary data storage devices containing any data of the first mirrored pair of databases comprising: the host or primary controller accessing a machine-readable map associating primary and secondary data storage devices with databases contained thereon.
Claim 8
Dependent Claim 64 words
The method of claim 2 , where: the at least one primary controller is a single primary controller; the primary controller contains a machine-readable map associating primary and secondary data storage devices with databases contained thereon; and the identifying of all primary and secondary data storage devices containing any data of the first mirrored pair of databases comprises the primary controller accessing the map.
Claim 9
Dependent Claim 77 words
The method of claim 1 , the discontinuing of all read/write operations with the affected primary devices ongoing at the first time and preventing of future read/writes with the affected primary devices comprising: the primary controllers coupled to affected primary devices causing discontinuance of all read/write operations with the affected primary devices ongoing at the first time and prevention of future read/writes with the affected primary devices by issuing a DISABLE READ/WRITES command to its affected devices.
Claim 10
Dependent Claim 16 words
The method of claim 1 , the at least one primary controller comprising multiple primary controllers.
Claim 11
Dependent Claim 29 words
The method of claim 1 , the suspending condition comprising one of the primary or secondary data storage units sending a message that it is unavailable for input/output operations.
Claim 12
Dependent Claim 24 words
The method of claim 1 , the suspending condition comprising an interruption in communications between a primary controller and one or more secondary controllers.
Claim 13
Dependent Claim 22 words
The method of claim 1 , the suspending condition comprising a cache failure occurring in one of the secondary data storage units.
Claim 14
Dependent Claim 17 words
The method of claim 1 , the suspending condition comprising one of the primary data storage units.
Claim 15
Dependent Claim 18 words
The method of claim 1 , the suspending condition comprising removal of electrical power from a secondary controller.
Claim 16
Dependent Claim 54 words
The method of claim 2 , the detecting of discontinuance of updating of the secondary database being performed by the host, wherein the host issues an ENABLE READ/WRITES command to the primary controller and, in response to the ENABLE READ/WRITES command, the primary controller resumes exchanges of data with the primary data storage devices.
Claim 17
Dependent Claim 50 words
The method of claim 1 , the logging of changes to the primary database comprising maintenance of a bit map where each bit represents status of a corresponding section of the primary database as being changed or unchanged since the discontinuing of all read/write operations by the affected primary devices.
Claim 18
Dependent Claim 21 words
The method of claim 1 , the primary data storage units comprising magnetic data storage disks, the sections comprising storage tracks.
Claim 19
Dependent Claim 38 words
The method of claim 1 , the logging of changes to the primary database comprising logging each change made to the primary database, a time of said change, and an address of said change in the primary database.
Claim 20
Dependent Claim 25 words
The method of claim 1 , the discontinuance of all read/write operations discontinuing any read or write operation being performed by an affected primary device.
Claim 21
Dependent Claim 29 words
The method of claim 1 , the first database comprising a primary database, the method further comprising: applying the logged changes to the primary devices containing the first database.
Claim 22
Dependent Claim 56 words
The method of claim 1 , the instructing of each secondary controller coupled to any affected secondary devices to terminate updating of the affected secondary devices comprising: the primary controllers coupled to secondary controllers that are coupled to an affected secondary device sending commands to said secondary controllers to terminate updating of the affected secondary devices.
Claim 23
Dependent Claim 32 words
The method of claim 1 , the detecting of termination of updating by the secondary controllers comprising: the primary controllers receiving confirmation signals from the secondary controller coupled to affected secondary devices.
Claim 24
Dependent Claim 313 words
A database management system, comprising: at least one primary controller; multiple primary data storage devices each coupled to one of the primary controllers; multiple secondary controllers, each coupled to one of the primary controllers; multiple secondary data storage devices each coupled to one of the secondary controllers; multiple primary databases residing on the primary data storage devices and a corresponding number of secondary databases residing on the secondary data storage devices wherein the primary controllers and secondary controllers are programmed to perform a method for managing the primary and secondary databases, said method comprising: updating each secondary database to mirror contents of its corresponding primary database; at a first time, detecting unavailability of a first database for read/writes, said first database being a member of a first mirrored pair including the first database and a counterpart database; identifying all primary and secondary data storage devices containing any data of the first mirrored pair of databases, said identified primary and secondary data storage devices constituting affected primary and secondary devices; discontinuing all read/write operations by the affected primary devices ongoing at the first time, also preventing future read/write by the affected primary devices; instructing each secondary controller coupled to any affected secondary devices to terminate updating of the affected secondary devices; detecting termination of updating by the secondary controllers, and in response thereto, resuming read/writes with the affected primary devices; each primary controller coupled to affected primary devices receiving changes to the primary database of the first mirrored pair, and in response thereto, logging the received changes; detecting removal of the suspending condition, and in response thereto, resynchronizing the secondary database of the mirrored pair by: applying the logged changes to the secondary devices containing the secondary database of the mirrored pair; and instructing the secondary controllers to resume updating of the secondary database of the mirrored pair to mirror its corresponding primary database.
Claim 25
Dependent Claim 313 words
A database management system, comprising: at least one primary controller; multiple primary data storage devices each coupled to one of the primary controllers; multiple secondary controllers, each coupled to one of the primary controllers; multiple secondary data storage devices each coupled to one of the secondary controllers; multiple primary databases residing on the primary data storage devices and a corresponding number of secondary databases residing on the secondary data storage devices wherein the primary controllers and secondary controllers are programmed to perform a method for managing the primary and secondary databases, said method comprising: updating each secondary database to mirror contents of its corresponding primary database; at a first time, detecting unavailability of a first database for read/writes, said first database being a member of a first mirrored pair including the first database and a counterpart database; identifying all primary and secondary data storage devices containing any data of the first mirrored pair of databases, said identified primary and secondary data storage devices constituting affected primary and secondary devices; discontinuing all read/write operations by the affected primary devices ongoing at the first time, also preventing future read/write by the affected primary devices; instructing each secondary controller coupled to any affected secondary devices to terminate updating of the affected secondary devices; detecting termination of updating by the secondary controllers, and in response thereto, resuming read/writes with the affected primary devices; each primary controller coupled to affected primary devices receiving changes to the primary database of the first mirrored pair, and in response thereto, logging the received changes; detecting removal of the suspending condition, and in response thereto, resynchronizing the secondary database of the mirrored pair by: applying the logged changes to the secondary devices containing the secondary database of the mirrored pair; and instructing the secondary controllers to resume updating of the secondary database of the mirrored pair to mirror its corresponding primary database.
Claim 26
Dependent Claim 17 words
The system of claim 23 , each primary controller being coupled to at least one host computer.
Claim 27
Dependent Claim 28 words
The system of claim 24 , the detecting of the first database's unavailability for read/writes being performed by one of the host computers experiencing a failed read/write operation.
Claim 28
Dependent Claim 27 words
The system of claim 23 , the first database being one of the primary databases, and the counterpart database being a corresponding one of the secondary databases.
Claim 29
Dependent Claim 27 words
The system of claim 23 , the first database being one of the secondary databases, and the counterpart database being a corresponding one of the primary databases.
Claim 30
Dependent Claim 44 words
The system of claim 24 , the identifying of all primary and secondary data storage devices containing any data of the first mirrored pair of databases comprising: the host accessing a machine-readable map associating primary and secondary data storage devices with databases contained thereon.
Claim 31
Dependent Claim 64 words
The system of claim 24 , where: the at least one primary controller is a single primary controller; the primary controller contains a machine-readable map associating primary and secondary data storage devices with databases contained thereon; and the identifying of all primary and secondary data storage devices containing any data of the first mirrored pair of databases comprises the primary controller accessing the map.
Claim 32
Dependent Claim 77 words
The system of claim 23 , the discontinuing of all read/write operations with the affected primary devices ongoing at the first time and preventing of future read/writes with the affected primary devices comprising: the primary controllers coupled to affected primary devices causing discontinuance of all read/write operations with the affected primary devices ongoing at the first time and prevention of future read/writes with the affected primary devices by issuing a DISABLE READ/WRITES command to its affected devices.
Claim 33
Dependent Claim 16 words
The system of claim 23 , the at least one primary controller comprising multiple primary controllers.
Claim 34
Dependent Claim 29 words
The system of claim 23 , the suspending condition comprising one of the primary or secondary data storage units sending a message that it is unavailable for input/output operations.
Claim 35
Dependent Claim 24 words
The system of claim 23 , the suspending condition comprising an interruption in communications between a primary controller and one or more secondary controllers.
Claim 36
Dependent Claim 22 words
The system of claim 23 , the suspending condition comprising a cache failure occurring in one of the secondary data storage units.
Claim 37
Dependent Claim 17 words
The system of claim 23 , the suspending condition comprising one of the primary data storage units.
Claim 38
Dependent Claim 18 words
The system of claim 23 , the suspending condition comprising removal of electrical power from a secondary controller.
Claim 39
Dependent Claim 54 words
The system of claim 24 , the detecting of discontinuance of updating of the secondary database being performed by the host, wherein the host issues an ENABLE READ/WRITES command to the primary controller and, in response to the ENABLE READ/WRITES command, the primary controller resumes exchanges of data with the primary data storage devices.
Claim 40
Dependent Claim 49 words
The system of claim 23 , the logging of changes to the primary database comprising maintenance of a bit map where each bit represents status of a corresponding section of the primary database as being changed or unchanged since discontinuance of all read/write operations by the affected primary devices.
Claim 41
Dependent Claim 21 words
The system of claim 23 , the primary data storage units comprising magnetic data storage disks, the sections comprising storage tracks.
Claim 42
Dependent Claim 38 words
The system of claim 23 , the logging of changes to the primary database comprising logging each change made to the primary database, a time of said change, and an address of said change in the primary database.
Claim 43
Dependent Claim 25 words
The system of claim 23 , the discontinuance of all read/write operations discontinuing any read or write operation being performed by an affected primary device.
Claim 44
Dependent Claim 29 words
The system of claim 23 , the first database comprising a primary database, the method further comprising: applying the logged changes to the primary devices containing the first database.
Claim 45
Dependent Claim 56 words
The system of claim 23 , the instructing of each secondary controller coupled to any affected secondary devices to terminate updating of the affected secondary devices comprising: the primary controllers coupled to secondary controllers that are coupled to an affected secondary device sending commands to said secondary controllers to terminate updating of the affected secondary devices.
Claim 46
Dependent Claim 32 words
The system of claim 23 , the detecting of termination of updating by the secondary controllers comprising: the primary controllers receiving confirmation signals from the secondary controller coupled to affected secondary devices.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2004-03-05 2004-09-04 2005-03-06 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2008-03-05 2008-09-04 2009-03-06 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2012-03-05 2012-09-04 2013-03-06 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag