US5724581A - Data base management system for recovering from an abnormal condition - Google Patents
Data base management system for recovering from an abnormal condition Download PDFInfo
- Publication number
- US5724581A US5724581A US08/355,530 US35553094A US5724581A US 5724581 A US5724581 A US 5724581A US 35553094 A US35553094 A US 35553094A US 5724581 A US5724581 A US 5724581A
- Authority
- US
- United States
- Prior art keywords
- page
- data
- physical
- page table
- management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99938—Concurrency, e.g. lock management in shared database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
Definitions
- the present invention relates to a data base management system for managing a data base, and more specifically to a data base management system for recording or using a checkpoint to recover from an abnormal condition of a data base.
- Shadow page systems are well-known as reliability control systems in data base systems. According to the shadow page system, data in a data base are updated in a transaction process with the update result stored in a position different from where the data are stored before the update.
- a data base has a plurality of fixed-length logical pages. Data on each of the logical pages are actually stored on physical pages generally referred to as blocks or slots of physical storage media.
- the physical pages are the same size as the logical pages. Therefore, a page table (page mapping table) is provided to indicate the correspondence (mapping information) between them.
- the latest data storage page (a current page) and the page storing data before the latest update (a shadow page) are generated each time the data base is updated in each transaction as described above.
- the above described page table has a current version and a backup version, and their physical data are stored in a non-volatile secondary storage medium.
- each of these page tables is divided into a plurality of blocks to be stored in a secondary storage unit. These blocks are data transmission units between the main storage unit and the secondary storage unit.
- FIGS. 1A through 1C show the above described conventional shadow page system.
- logical page n is updated in a transaction.
- pointer P C at an entry position on logical page n in the page table of the current version and pointer P B at an entry position on logical page n in the page table of the backup version point to physical page i (FIG. 1A).
- unused physical page j is obtained as a new physical page corresponding to logical page n from the secondary data storage unit (not shown in FIG. 1).
- the updated data are stored on physical page j.
- current page pointer P C corresponding to logical page n is changed into a value indicating physical page j.
- Physical page i pointed to by backup page pointer P B is a shadow page (FIG. 1B).
- the shadow page system has two page tables, that is, a current version table and a backup version table. While logical page n is being updated in a transaction, the data before the latest update are stored on the shadow page (physical page i). The pointer to the shadow page is also stored in the backup page table. Thus, even if a transaction failure arises, the shadow page can be processed as the latest physical page and the transaction can be nullified by copying the data in the backup page table to the current page table, thereby successfully maintaining the logical consistency of a data base.
- a current page table is stored in the main storage unit to copy the contents of the current page table to the backup page table stored in the secondary storage when a checkpoint is recorded.
- data base update history information of the data base are obtained in the history file (log file) generated in the secondary storage unit for recovery.
- data are copied to the secondary storage unit as backup data of a data base.
- the backup data are used with a log (corresponding to the above described data base update history information, that is, a history of operations added to the data base by a transaction) for use in re-execution.
- a log corresponding to the above described data base update history information, that is, a history of operations added to the data base by a transaction
- copying data is accompanied by a low-speed writing of data to the secondary storage unit and takes considerable time.
- the necessary size of the log is large, thereby requiring a long time for re-execution.
- the checkpoint is defined as a point where the data on the logical page stored in a buffer in the main storage unit match the data on the page stored in the secondary storage unit corresponding to the logical page.
- the checkpoint is recorded cyclically or at a given time by a DBMS (data base management system).
- DBMS data base management system
- the latest data in a data base are stored in the secondary storage unit which is a non-volatile storage medium. Therefore, a recovery process can be performed when a checkpoint is recorded, thereby shortening the recovery time.
- the time taken for recovery from failure changes in proportion to the size of the log written in a history file from the latest checkpoint to an occurrence of a failure.
- a checkpoint is recorded when no transactions are being processed (a transaction-oriented checkpoint). Since the logical consistency of a data base cannot be maintained generally while a transaction is being processed, the recovery process will be complicated if a checkpoint is recorded while the transaction is being processed.
- There is an operation-oriented checkpoint recording system in which a checkpoint can be recorded while a transaction is being processed, but not while a data base is being operated on. In this system, when the operation being performed has been completed, the execution of a new operation is stopped. If the operation being performed has been completed, a checkpoint is recorded with the transaction suspended in a wait state (an operation-oriented checkpoint).
- a checkpoint can be recorded only when no transactions are being processed, thus limiting the checkpoint time to a specified scope.
- checkpoints are recorded at long intervals, thereby requiring a larger log and a longer time for recovery. In such a case, recording the checkpoint temporarily stops the operation of the data base and therefore lowers the system performance.
- the present invention relates to a data base management system for performing a data base checkpoint process and a failure recovery process. It aims at quickly recording a checkpoint during the execution of a transaction, and quickly performing a failure recovery process.
- the present invention comprises a current page table for storing a page table in which a shadow page system manages a physical page corresponding to each logical page in a data base, and a current page table management table for managing the page table in the current page table using the shadow page system.
- the data in the current page table management table are stored as backup data in the secondary storage unit excluding a shadow page, and the data in the current page table are stored "as is" as backup data in the backup page table in the secondary storage unit.
- the log of a transaction is stored in a log file in the secondary storage unit at the completion of the transaction. If a system failure occurs, the data base restores its state before the failure based on the page table management table and the page table stored as backup data in the secondary storage unit, and the log file.
- the current page table management table for managing the page table using the shadow page system enables a checkpoint to be recorded while a transaction is processed, thereby recording checkpoints at the optimum intervals and quickly performing a failure recovery.
- FIGS. 1A through 1C show the conventional shadow page system
- FIG. 2 is for explaining the principle of the present invention
- FIG. 3 is a block diagram showing the configuration of the system according to its first embodiment
- FIG. 4 shows the configurations of the logical page management block, the logical page block, and the physical page lock, and the link correlation between them;
- FIGS. 5A and 5B show practical configurational examples of the first current logical page management block and the first current logical page block
- FIG. 6 shows the configuration of the physical page blank management map
- FIG. 7 shows the data in the transaction log
- FIG. 8 shows the format of a log stored in the system log file
- FIG. 9 is a flowchart showing the operation of the entire system.
- FIG. 10 is a flowchart showing the page reference process
- FIG. 11 is a flowchart showing the page update process
- FIGS. 12A through 12F show the page update process
- FIG. 13 is a flowchart showing a checkpoint process
- FIG. 14 shows the checkpoint process
- FIG. 15 is a flowchart showing the recovery process
- FIG. 16 shows in detail the recovery process
- FIG. 17 shows other configurational examples of a logical page management block and a logical page block.
- the present invention is based on a data base management system in which data are stored in a plurality of logical areas, that is, logical pages.
- the present invention comprises each of the following components.
- a data base storage unit 1 is provided in the secondary storage unit 20 and stores data of a data base after dividing them into physical pages corresponding one-to-one to logical pages.
- All or most of a current page table 2 is provided in the main storage unit and manages the position information in the data base storage unit concerning the latest physical page storing the latest updated data and the shadow physical page storing the data before the latest update.
- All or most of a current page table management table 3 is provided in the main storage unit and manages as a shadow page table the current page table whose backup data are copied when a checkpoint is recorded, and manages the current page table updated after the checkpoint as the latest page table.
- a backup page table 4 is provided in the secondary storage unit 20 and stores the data in the current page table 2 when a checkpoint is recorded.
- a backup page table management table 5 is provided in the secondary storage unit 20, and is used when the data base recovers from a failure.
- the management table 5 stores the data in the page table.
- the page table stores the information about a position on a physical page in the secondary storage unit 20 which stores data required to restore each logical page to its state before the failure.
- a blank physical page management unit 6 is preferably provided in the main storage unit and manages unused physical pages in the secondary storage unit 20.
- a first updating unit 7 When data on a logical page are updated as a result of an execution of a transaction, a first updating unit 7 first accesses the current page table management table 3. If no shadow page tables exist in the page table containing the position information about the physical page corresponding to the logical page, the first updating unit 7 refers to the management information of the blank physical page managing unit 6, obtains a currently unused physical page copies data in the latest page table to the physical page, and enters the copied data in the management table 3 as the latest page table for the logical page. The copied-from latest page table is entered in the current page table management table 3 as a shadow page table. Then, the newly-obtained physical page is set in the blank physical page management unit 6 as a physical page being used.
- position information about the physical page corresponding to the logical page in the current page table 2 is checked according to the management information in the current page table management table 3. If the position information indicates that no physical shadow page exists corresponding to the logical page, then the first updating unit 7 refers to the management information in the blank physical page management unit 6, obtains a currently unused physical page from the data base storage unit 1, and enters in the current page table 2 the physical page as the latest physical page corresponding to the logical page.
- a second updating unit 8 refers to the current page table 2 which has been updated by the first updating unit 7, and writes the updated data on the logical page to the latest physical page corresponding to the logical page whose data are stored in the current page table 2 and should be updated. Then, it changes the position information pointing to the shadow page corresponding to the logical page in the current page table such that the information indicates the latest physical page.
- a third updating unit 9 sets as an unused page the shadow page in the blank physical page management unit 6.
- a checkpoint processing unit 10 changes the data in the current page table management table in the main storage unit such that it indicates that only the latest page table is valid.
- the undated data are copied to the backup page table management table 5 in the secondary storage unit, and the data in the current page table 2 in the main storage unit are copied to the backup page table in the secondary storage unit.
- the management information of the blank page management unit 6 can be changed such that all physical pages which stored the shadow page table deleted in the current page table management table 3 are managed as having being unused.
- the above described updating unit 7, the second updating unit 8, the third updating unit 9, and the checkpoint processing unit 10 are realized by, for example, a host computer, a DBMS (data base management system) operated in a server of a client/server system, or a middleware such as a TP monitor (transaction processing monitor).
- DBMS data base management system
- TP monitor transaction processing monitor
- the current page table management table 3 can be designed to comprise a first pointer pointing to a shadow page table and a second pointer pointing to the latest page table.
- the shadow page table and the latest page table comprise a plurality of physical pages, and the first and the second pointers point to the physical pages.
- the current page table management table 3 can be designed to manage the first and the second pointers using respective tables.
- the current page table 2 can be designed to refer to each logical page using a first pointer indicating a shadow physical page and a second pointer indicating the latest physical page.
- the current page table 2 can be designed to manage the first and second pointers using respective tables.
- Each logical page of the current page table 2 can be preliminarily assigned two physical page groups in the secondary storage unit 20.
- the current page table management table 3 has two flags fixedly assigned to respective physical pages corresponding to each logical page in the current page table. With this configuration, the two flags corresponding to the physical pages can be designed to be set to values indicating whether they belong to the shadow page table or the latest page table.
- the bit amount for the position information indicating the shadow page table and the latest page table of the current page table management table 3 can be defined as 1 bit for each logical page, thus quickly performing a checkpoint process.
- two backup page table management tables 5 can be provided in the secondary storage unit 20, and the checkpoint processing unit 10 can copy the data in the current page table management table 3 to the two-page table management tables 5.
- an update flag can be provided in the secondary storage unit 20, and the checkpoint processing unit 10 sets the above described update flags while copying the data in the current page table management table 3 to the page table management table 5 which is subject to a write process later.
- the update flag can be reset after the data are copied.
- Two backup page table management tables 5 can be provided in the secondary storage unit 20, and the checkpoint processing unit 10 can alternately use them as the backup page table management tables 5 to which the data of the current page table management table 3 are copied.
- two backup page tables 4 are provided in the secondary storage unit 20, and the checkpoint processing unit 10 can copy the data of the current page table 2 to the two page tables.
- an update flag is provided in the secondary storage unit 20, and the checkpoint processing unit 10 sets the above described update flags while copying the data in the current page table management table 3 to the page table which is subject to a write process later.
- the update flag can be reset after the data are copied.
- two backup page tables can be provided in the secondary storage unit 20, and the checkpoint processing unit 10 alternately uses the two page tables as the backup page table 4 to which data of the current page table 2 are copied.
- the embodiment according to the second principle further comprises the following components.
- a log file 11 is provided in the secondary storage unit 20 and stores log information about each transaction.
- a log recording unit 12 writes the log information about each transaction to the log file 11 at the completion of each transaction.
- the log recording unit 12 can be realized by a host computer, a DBMS in a server, a TP monitor, etc.
- the log information about each transaction stored in the log file 11 can comprise at least a flag indicating the start of a transaction, an identifier uniquely assigned to a transaction, history information about a data base operation for a transaction, and a flag indicating the end of a transaction.
- the history information about the data base operation of a transaction can comprise at least a set of information indicating the type of data base operation, information indicating a logical page on which the data base operation was performed, information indicating the physical page on which data before the latest update on the logical page are stored, and information indicating the physical page on which updated data on the logical page are stored.
- the set of information can be recorded in time series for operations executed in the transaction and associated with the update of all data bases.
- the embodiment according to the third principle further comprises the following components.
- a first control unit 21 reads the backup page table management table 5 from the secondary storage unit 20, and copies the data in the backup page table management table 5 to the current page table management table 3.
- a second control unit 22 reads the backup page table 4 from the secondary storage unit and changes the data in the backup page table 4 such that, in the position information about a logical page, a corresponding physical page indicates only a shadow physical page if the corresponding physical page indicates a shadow physical page and the latest physical page.
- the resultant data in the page table are copied to the current page table 2.
- a third control unit 23 restores the data base in the data base storage unit 1 to the completion state of the transaction by reprocessing a transaction being processed when a checkpoint is recorded and having been completed when the system failure arises and reprocessing a transaction executed after the checkpoint and having been completed before the occurrence of the system failure.
- the first control unit 21, the second control unit 22, and the third control unit 23 can be realized by operating a DBMS and a TP monitor in a host computer and server.
- the latest data base stored in the data base storage unit 1 is managed by the current page table management table 3 and the current page table 2.
- the current page table 2 manages all logical pages forming a data base. That is, during the update of a logical page, it manages a shadow page of the logical page and the position information about the latest physical page. When the updated data of the logical page have been written to the latest physical page, the shadow page is changed such that it indicates the position information about the latest physical page.
- the shadow page and the latest physical page are generated in the data base storage unit 1.
- the data on the logical page are updated while the second updating unit 8 refers to the current page table 2. That is, the second update unit 8 refers to the current page table 2 to obtain position information about the latest physical page corresponding to the logical page and write to the latest physical page the updated data on the logical page. After the data on the logical page have been normally updated, the second updating unit 8 changes the position information about the shadow page corresponding to the logical page in the current page table 2 such that it indicates the latest physical page.
- the current page table management table 3 manages the current page table 2 by the shadow page system. That is, when a checkpoint is recorded and during the succeeding checkpoint period, the current page table 2 manages a shadow page table and the latest page table as the page tables for storing the position information about the shadow page and the latest physical page corresponding to each logical page in the data base. During the period, the current page table management table 3 manages the two page tables.
- the shadow page table managed by the current page table 2 is deleted by the checkpoint processing unit 10. That is, the checkpoint processing unit 10 changes the management information data in the current page table management table 3 when it records a checkpoint such that the management information indicates only the latest page table in the current page table 2. Thus, the shadow page table is deleted.
- the first updating unit 7 generates a shadow page table. That is, the first updating unit 7 first accesses the current page table management table 3 when data on a logical page are updated as a result of a processing of a transaction. If no shadow table exists for a page table containing the position information about the physical page corresponding to the logical page, then it refers to the management information of the blank physical page management unit 6, and obtains a currently unused physical page. Then, the data in the latest page table are copied to the physical page, and the resultant physical page is entered to the current page table management table 3 as the latest page table for the logical page. The second latest updated page table is entered to the current page table management table 3 as a shadow page.
- the first updating unit 7 also generates a shadow physical page corresponding to each logical page in the current page table 2. That is, the first updating unit 7 defines the newly obtained physical page as being used in the blank physical page management unit 6. Then, it checks the position information about the physical page corresponding to the logical page in the current page table 2 according to the management information of the current page table management table 3. If, according to the information, no shadow physical page exists corresponding to the logical page, then the first updating unit 7 refers to the management information of the blank physical page management unit 6, obtains a currently unused physical page from the data base storage unit 1, and enters it to the current page table 2 as the latest physical page corresponding to the logical page.
- the first updating unit 7 does not change the position information for the shadow physical page pointing to the second latest physical page.
- the position information for the shadow physical page points to the shadow physical page. That is, the second latest physical page becomes a shadow physical page.
- the checkpoint processing unit 10 records a checkpoint. That is, the checkpoint processing unit 10 changes the data in the current page table management table 3, copies the change result to the backup page table management table 5 in the secondary storage unit, and copies the data in the current page table 2 in the main storage unit to the backup page table 4 in the secondary storage unit 20.
- current page table management table 3 has the position information pointing to only the latest page table in the current page table 2.
- the current page table 2 holds the position information about a shadow physical page and the latest physical page corresponding to the logical page updated by a transaction at a checkpoint.
- the data of the tables 2 and 3 are copied to the backup page tables 4 and 5 in the secondary storage unit.
- a shadow page is not deleted when a checkpoint is recorded, and the data in the current page table 2 are copied to the backup page table 4 in the secondary storage unit.
- a transaction can be processed when a checkpoint is recorded. That is, the checkpoint can be recorded during the process of the transaction.
- the position information can be changed in the current page table management table 3 whose information amount is smaller than the information amount of the current page table 2.
- the checkpoint process can be performed at a high speed.
- the log recording unit 12 records the log information about a transaction in the log file 11 generated in the secondary storage unit when the transaction is completed.
- the first control unit 21 reads the backup page table management table 5 from the secondary storage unit 20, and copies the data in the backup page table management table 5 to the current page table management table 3.
- the second control unit 22 reads the backup page table 4 from the second storage unit 20 and changes the data in the backup page table 4. That is, if the position information of a logical page points to a shadow physical page and the latest physical page, then the second control unit 22 changes the data such that they point to only the shadow physical page, and copies the resultant data in the page table to the current page table 2.
- a third control unit 23 restores the data base in the data base storage unit 1 to the completion state of the transaction by reprocessing a transaction being processed when a checkpoint is recorded and having been completed when the system failure arises and reprocessing a transaction executed after the checkpoint and having been completed before the occurrence of the system failure.
- the position information should refer to that about the shadow physical page.
- the logical page was updated before a checkpoint by a transaction being processed when the checkpoint was recorded. Therefore, the data base is restored to the state before the transaction. If the transaction has been completed before the system failure occurs, the transaction is re-executed according to the log information about the transaction stored in the log file 11. Thus, the data base recovers its data including the transaction execution result. If a transaction is executed after the above described transaction and it has been completed before the system failure occurs, then it is executed according to the log information stored in the log file 11.
- the data base recovers its state before the system failure.
- a checkpoint can be recorded during the execution of a transaction, thereby reducing the amount of log used in a data base recovery process and performing a high-speed recovery process by setting an optimum checkpoint interval.
- FIG. 3 shows the configuration of the hardware of the data base system according to the embodiment of the present invention.
- a CPU/memory 30 is a CPU board comprising a CPU (central processing unit) (not shown in FIG. 3) having a microprocessor and a memory 30a having a high-speed access RAM (random access memory) including, for example, a main storage unit connected to the CPU via a local bus not shown in FIG. 3.
- a CPU central processing unit
- a memory 30a having a high-speed access RAM (random access memory) including, for example, a main storage unit connected to the CPU via a local bus not shown in FIG. 3.
- the CPU/memory 30 is connected to a secondary storage unit 40 of a large-capacity DASD (direct access storage device) such as magnetic disc, optomagnetic disc, etc. via, for example, a system bus.
- DASD direct access storage device
- the CPU operates and manages a data base according to the present system by executing a DBMS (data base management system) loaded to the main storage area of the memory
- DBMS data base management system
- the memory 30a is provided with a first current logical page management block 302, a first current logical page block 304, a physical page 306, a physical page blank management map 308, and a transaction log storage area 310.
- first current logical page management block 302 the first current logical page block 304, the physical page 306.
- the first current logical page block (current page table) 304 is a page table for storing using a pointer the latest information about the correlation between a logical page in a logical data base area and a physical page in a physical data base area stored in the secondary storage unit 40. It is composed of a plurality of page frames (blocks) 3041 in the memory 30a. Each page frame 3041 has a pointer to two new and old physical pages corresponding to each logical page (FIG. 5B). The old pointer points to the latest physical page (slot) on which data are normally updated corresponding to the logical page. If data are being updated on the logical page, the new pointer points to a physical page which is newly assigned to the logical page and on which data are being updated.
- the new pointer Unless data are being updated on the logical page, the new pointer points to a physical page which stores the latest data of the logical page. Therefore, if data are being updated on the logical page, the old pointer points to a shadow page. When the data update normally terminates, the new and old pointers point to the same latest physical page.
- the pointers are, for example, 2 bytes long.
- Each of the page frames 3041 is assigned a data length applicable to the block unit for transmission to and from the secondary storage unit 40.
- FIG. 5A shows the configuration of the first current logical page management block 302 (current page table management table) (FIG. 5A).
- the first current logical page management block 302 associates all logical pages (0 ⁇ ni-1 where n and i are natural numbers) in the data base with the page frames 3041 in the logical page block 304 using two (new and old) page table pointers to a corresponding page frame.
- a new page frame 3041 for storing pointer information pointing to a physical page corresponding to the logical page is reserved in the first current logical page block 304.
- the address information pointing to the new page frame 3041 is set in the new page table pointer.
- the new page table pointer is copied to the old page table pointer when a checkpoint is recorded as described later. Therefore, if data of a logical page are updated (including the update of data on the other logical page storing new and old pointers in the same page frame 3041) between two serial checkpoints, the two new and old page table pointers in the first current logical page management block 302 are different from each other and made to match when a checkpoint is recorded.
- the pointer is, for example, four bytes long.
- FIG. 6 shows the configuration of the current physical page blank management map 308.
- the map 308 has two (new and old) flags indicating the state as to whether or not a physical page in the secondary storage unit 40 is being used as a data storage area. These flags are set to a value "blank” or "occupied”. That is, if valid data are stored, an "occupied" flag is set. If a physical page is unused or invalid data are stored, then a "blank” flag is set. The new flag indicates the latest use state, and the contents of the new flag is copied to the old flag when a transaction terminates. That is, when a transaction terminates, the two (new and old) flags match. When data are updated corresponding to a logical page during the execution of a transaction, a new physical page should be obtained by referring to the new flag. That is, a new physical page is obtained from the physical pages for which both new and old flags are set to "blank". On the other hand, if both new and old flags are set to "occupied”, then the old flag implies a shadow page.
- FIG. 7 shows the configuration of the transaction log storage area 310.
- the area 310 stores a page update table journal 3101 in time series.
- the journal is information relating to a data base update process performed by each transaction.
- the page update table journal 3101 contains information about the type of operation, a logical page, an old physical page, a new physical page, etc.
- the above listed information includes the following data.
- Type of operation Various data base operations such as “update”, “generation”, “deletion”, etc. performed on a logical page.
- Logical page a page processed by each of the above listed operations
- Old physical page a physical page for storing old data before update
- New physical page a physical page for storing new data after update
- a transaction log in a transaction is a history of the page update table journal 3101, and should be stored in the main storage unit in the transaction.
- the log can be stored in the secondary storage unit 40 normally to save a main storage area.
- the physical page storage area (data base buffer) 306 is an area in which a physical page used in reading data from the secondary storage unit is loaded. Data are updated in the area 306.
- the area 306 stores a predetermined number of physical pages and data are paged-in and paged out between the area and the secondary storage unit 40 according to the algorithm such as LRU (least recently used), etc.
- a physical page block (data base storage unit) 406 is provided with a plurality of physical pages 4061 as shown in FIG. 3, and is a fixed-length block generally called a "slot" (FIG. 4).
- the physical page block 406 stores actual data of a data base.
- each of a logical page management block and a logical page block has two (current and backup) versions. They are shown in FIG. 3 as a logical page management block (backup page table management table) 402 and a logical page block (backup page table) 404.
- the data size of the first current logical page management block 302 Since the data size of the first current logical page management block 302 is small, it resides in the main storage unit for a high-speed process. In a normal process, no data are written to the secondary storage unit 40. However, when a checkpoint is recorded, the data in the first current logical page management block 302 should be copied to a backup logical page management block 402B. At this time, the data are not written directly to the backup logical page management block 402B, but to a second current logical page management block 402C. If the data have been written to the block, they are also written to the backup logical page management block 402B.
- the logical page block 404 in the secondary storage unit 40 has both backup and current versions.
- the data in the first current logical page block 304 in the memory 30a are copied to the backup logical page block 404. If the data size of the first current logical page block 304 is too large to be loaded to the memory 30a, the second current logical page block 404 in the secondary storage unit 40 can be used as a swapping area.
- a system log file 412 is generated in the secondary storage unit 40 and stores system log information for failure recovery.
- FIG. 8 shows the data in the file 412.
- FIG. 8 shows the format of the log information about a transaction.
- First stored is first information 4122 comprising a flag indicating the start of the log of the transaction and a transaction identifier.
- second information 4124 containing the same contents as the transaction log (shown in FIG. 7) written in the above described transaction log storage area 310 in the memory 30a.
- Finally stored is a transaction log end flag 4126 indicating a normal termination of the transaction.
- these three types of information 4122, 4124, and 4126 are generated for all normally terminated transactions and stored in the system log file 412 in the order of normal termination.
- a checkpoint is recorded when the previous system process is completed, and the system starts (step S2) from the state in which the checkpoint is recorded (step S1).
- a user can start a session (step S3) by logging in from his or her terminal unit through a circuit.
- the system enables a plurality of users to start their sessions simultaneously.
- the DBMS performs a paging process required by the transaction in association with a data base (steps S4 and S5).
- step S6 A system failure may arise in the paging process in step S4. Therefore, the DBMS determines whether the transaction should be committed or aborted (step S6) depending on the existence of a system failure.
- step S6 the DBMS determines that the transaction should be committed (yes in step S6), and then performs a transaction commission process (step S7).
- step S7 the following operations are required.
- An updated physical page stored in the physical page storage area 306 and not yet written to the physical page in the secondary storage unit 40 is written to the physical page block 406.
- the write can be performed when the physical page storage area 306 overflows as described later or when a checkpoint is recorded. Thus, the transaction commission process can be improved in response.
- the old pointer in the first current logical page block 304 in the memory 30a should point to what is pointed to by the new pointer. That is, the old pointer currently pointing to a shadow page is processed to point to a new physical page storing the latest data. Then, the physical page blank management map 308 is rewritten such that the shadow page previously pointed to by the old pointer is defined as being unused.
- the transaction log 4124 written to the transaction log storage area 310 during the paging process is output to the system log file 412 in the secondary storage unit 40.
- the transaction log start flag and the transaction identifier 4122 and the transaction log end flag 4126 are respectively written before and after the transaction log 4124 as shown in FIG. 8 (output of system log). Then, the point at which the system log has been completely written to the system log file 412 is the transaction commission point.
- the DBMS performs a transaction abortion process in step S8 by determining that the transaction should be aborted (no in step S6) when a system failure arises during the execution of the paging process in step S5.
- the new pointer in the first current logical page block 304 in the memory 30a is processed such that it points to what is pointed to by the old pointer.
- the paging process is nullified.
- the shadow page becomes the latest physical page again.
- the physical page blank management map 308 is rewritten such that the physical page previously pointed to by the new pointer is defined as being unused.
- step S9 After the processes in step S7 or S8, it is determined whether or not the processes in steps S4 through S8 are to be continued in accordance with the entry state of a log-off command from a user (step S9). If the command has not been entered, control is returned to step S4 and the next transaction is waited.
- a predetermined session termination process is performed for the user (step S10).
- step S11 the system administrator performs the system termination process to stop the system.
- a checkpoint is recorded before stopping the system (step S11).
- step S5 The important processes in step S5 are a page reference process and a page update process.
- the DBMS refers to a new page table pointer corresponding to the logical page in the first current logical page management block 302 in the memory 30a (step S21).
- step S22 referred to is the page frame 3041 pointed to by the new page table pointer in the first current logical page block 304.
- the physical page is read from the physical page block 406 in the secondary storage unit 40, and is loaded to the physical page storage area 306 in the memory 30a.
- the physical page is returned to the above described application program (step S24).
- the data in a specified logical page are referred to, and those in the physical page corresponding to the logical page are not changed. Accordingly, the data (values associated with all new and old pointers) are not changed in both first current logical page management block 302 and first current logical page block 304.
- step S31 the new and old page table pointers corresponding to the specified logical page in the first current logical page management block 302 are compared and referred to (step S31), and it is determined whether or not the two pointers match (step S32).
- step S32 If the two pointers match each other (yes in step S32), then the physical page blank management map 308 is referred to so that a new physical page can be reserved from among unused physical pages. Then, the block (page frame 3041) in the first current logical page block 304 pointed to by a new pointer in the first current logical page management block 302 is copied to the reserved physical page (step S33).
- step S 32 the matching pointers indicate that the logical pages (to be precise, all logical pages in the logical page group whose new and old pointers to the corresponding physical page are stored in the same page frame 3041) have not yet been updated.
- a new page frame 3041 is generated in which new and old pointers point to the physical page corresponding to the specified logical page.
- the old page frame 3041 is managed as a shadow page.
- step S34 The new and old pointers corresponding to the specified logical page in the new page frame 3041 are compared and referred to (step S34).
- step S32 if the two values of the new and old page table pointers do not match (no in step S32), then the process in step S34 is performed on the page frame 3041 in the first current logical page block 304 pointed to by the new page table pointer.
- step S34 it is determined whether or not the new and old pointers corresponding to the specified logical page in the latest page frame 3041 -- NEW match each other (step S35).
- each page frame 3041 in a page table that is, the first current logical page block 304, is managed by the shadow page system.
- step S35 if the new and old pointers pointing to the physical page corresponding to the specified logical page match each other, the physical page blank management map 308 is referred to and an unused physical page (a new physical page) is reserved in the physical page block 406 in the secondary storage unit 40 to set the physical page pointed to by the old pointer (the old physical page) as a shadow page. Then, the address information about the new physical page is set as a new pointer in the latest page frame 3041 -- NEW. At this time, transaction information is generated in the format shown in FIG. 8, and is written to the transaction log storage area 310 in the memory 30a (step S36).
- the new pointer in the new page frame 3041 -- NEW is referred to so that a pointed-to physical page (the latest physical page) in the physical page block 406 can be selected in the secondary storage unit 40 (step S37).
- the latest physical page in the secondary storage unit 40 is stored in the physical page storage area 306 in the memory 30a, and the updated data are written to the physical page. If the physical page storage area 306 has overflowed or stored physical update pages has reached a given level, then the physical update pages are written to the physical page block 406 in the secondary storage unit 40 (step S38).
- FIG. 12 shows the page update process shown by the flowchart in FIG. 11.
- the new and old page table pointers 302 -- Pn pointing to the page frame 3041 -- Pn which stores the new and old pointers for the logical page n in the first current logical page management block 302 matches each other, and points to the page frame 3041 -- Pn, that is, the physical page i.
- the new and old pointers for the logical page n point to the physical page m (FIGS. 12A, 12B, and 12C).
- a new page frame 3041 -- Pn (3041 -- Pn -- CURRENT) storing the new and old pointers for the logical page n is entered in an unused physical page j.
- the physical page J is set in a new pointer of the pointer 302 -- Pn.
- the old pointer is not changed (refer to FIGS. 12D and 12E).
- the physical page is a shadow page table. That is, the old page table for the logical page n entered by the physical page i becomes a shadow page table 3041 -- Pn -- SHADOW.
- the page frame 3041 -- Pn -- CURRENT entered in the physical page j linked with the new pointer of the above described pointer 302 -- Pn functions as the page frame 3041 for the logical page n.
- the old pointer for the logical page n points to the previous physical page m as shown by the broken-line arrow from FIG. 4E and 4F to FIG. 4C after the logical page is first updated in a transaction. Then, each time a plurality of transactions update a physical page, the physical page pointed to by a new pointer is managed as a shadow page. Therefore, as shown in FIGS. 12E and 12F, when a plurality of transactions update the logical page n, the new and old pointers of the current page frame 3041 -- Pn -- CURRENT respectively pointing to the shadow page of the logical page and the latest physical page respectively point to the physical pages n and p.
- the feature of the present embodiment resides in that managed by the shadow page system are not only a physical page for storing actual data but also the first current logical page block 304, that is, a page table containing the mapping information about the physical page and the corresponding logical page. Accordingly, the first current logical page management block 302 is provided as a high order element for managing the first current logical page block 304. Access to a logical page is first made to the first current logical page management block 302.
- the first current logical page management block 302 the first current logical page block 304, the physical page storage area 306, etc. in the memory 30a when a new logical page is generated or a logical page is deleted, and the transaction information is written to the transaction storage area 310.
- a checkpoint process can be performed when a transaction is being executed and a logical page is being updated. That is, a checkpoint can be recorded at any time during the system operation.
- Step S41 the data in the first current logical page block 304 in the memory 30a are copied to the backup logical page block 404B in the secondary storage unit 40 by the above described method (Step S41).
- the data of old pointers of the first current logical page management block 302 in the memory 30a are processed to match the data of new pointers.
- the data in the first current logical page management block 302 are copied to the backup logical page management block 402B in the secondary storage unit 40. That is, the data are first copied to the second current logical page management block 402C and then to the backup logical page management block 402B so that the system can recover from a failure if it arises during the processes (step S42).
- the checkpoint process is performed while a transaction is processed. Therefore, if a transaction is not committed when a checkpoint is recorded, then the new and old pointers pointing to the physical page corresponding to the logical page updated by the transaction in the first current logical page block 304 point to different physical pages. That is, as shown in FIGS. 12E and 12F, the old pointer and the new pointer respectively point to a shadow page and the latest physical page.
- t indicates a time axis and the horizontal broken line 5001 vertical to the time axis t indicates a checkpoint.
- the updated data in transactions TR 5 , TR 6 , etc. which have already been completed at the checkpoint 5001 are effectuated as in the conventional technologies. Therefore, these data are not subject to any recovery process even if a system failure arises before the next checkpoint. These transactions do not need the transaction log information stored in the system log file 412.
- transactions TR 1 through TR 4 which have already been completed before the next checkpoint being processed at the checkpoint 5001 are re-executed according to the transaction log information stored in the system log file 412 so that all process results can be effectuated even if a system failure arises before the next checkpoint.
- the backup version 402B or the current version 402C determines which should be used, the backup version 402B or the current version 402C, as the logical page management block 402 for recovery by referring to a flag provided at a predetermined position in the secondary storage unit 40.
- the flag is set while the data in the first current logical page management block 302 in the memory 30a are written to the backup logical page management block 402.
- the flag is reset after the write.
- the data in the first current logical page management block 302 are copied sequentially to the current version 402C and the backup version 402B. Since the write to the backup logical page management block 402B has normally terminates without the flag, the management block 402B is selected. On the other hand, if the flag is set, a system failure may arise during to write to the backup version 402B and the data in the backup version 402B may be destroyed. Therefore the second current logical page management block 402C is selected. Then, the data in the selected logical page management block 402B or 402C are copied to the first current logical page block 304 in the memory 30a (step S51).
- the data in the backup logical page block 404B in the secondary storage unit 40 are copied to the first current logical page block 304 in the memory 30a, and the state of the block 304 is returned to that at the checkpoint.
- the first current logical page management block 302 and the first current logical page block 304 in the memory 30a are restored to the state at the checkpoint, and these blocks are correctly linked.
- the data base stores the data as being processed up to the transaction which is completed before the solid line 5003. Since the checkpoint process requires no logs of the transactions which are completed before the solid line 5003 shown in FIG. 14, the logs in the system log file 412 can be nullified at the checkpoint.
- a broken line 601 indicates a checkpoint
- a wave line 605 indicates an occurrence point of a system failure.
- TR 11 through TR 14 , TR 21 through TR 24 , TR 31 through TR 34 , and TR 41 are transactions.
- the transactions shown in FIG. 16 are classified into five types I through V depending on the type of a recovery operation.
- Transactions for example, TR 11 and TR 31 , which are completed before the checkpoint 601. The completion of a transaction is determined depending on whether or not a transaction log end flag is recorded in the system log file 412.
- TR 12 , TR 13 , TR 22 , TR 23 , and TR 33 which are processed after the checkpoint 601, and completed before the system failure occurrence point 605.
- Transactions for example, TR 41 , which are being executed at the checkpoint 601 and at the system failure occurrence point 605.
- Described below is a failure recovery process for each of the transaction types I through V.
- Type-II transaction (TR 21 ) is returned to an undone state (at the point indicated by the solid line 602 in FIG. 16) by the processes in steps S51 and S52 in the flowchart shown in FIG. 15. Then, the transaction log information 4124 about the transaction is read from the system log file 412 and redoes the transaction according to the information. Thus, the processes by the type-II transaction is effectuated and the result is copied to the data base.
- the transaction information 4124 can be retrieved by searching the system log file 412 for the transaction log start flag and the transaction identifier 4122.
- the type-III transactions (TR 12 , TR 13 , TR 22 , TR 23 , and TR 33 ) are returned to an undone state (that is, the data base is returned to the state at the point indicated by the solid line 602 shown in FIG. 16 by the processes in step S51 and S52). Then, the transaction log information is read from the system log file 412, and the transactions are redone according to the information. Thus, the processes of these transactions are effectuated.
- the type-IV transactions (TR 14 , TR 23 , and TR 34 ) and the type-V transactions (TR 41 ) are not committed because a system failure has arisen during the process of the transactions.
- the process result is not copied to the data base in the secondary storage unit 40. Therefore, no process is performed. Since the transaction log end flag 4126 is not recorded in the system log file 412 for these transactions, it is determined whether or not a system failure has arisen in a transaction according to the presence/absence of the flag 4126.
- a checkpoint can be recorded even when a plurality of transactions are being processed because the first current logical page block 304, which is a page table for converting a logical page into a physical page, is managed by the shadow page system using the first current logical page management block 302.
- the operation of processing an old pointer to make it point to what is pointed to by a new pointer has to be performed only on the first current logical page management block 302 whose number of pointers is much smaller than that of the first current logical page block 304 (corresponding to the conventional page table).
- the checkpoint process can be performed at high speed.
- the new and old pointers in the logical page block 404 stored as backup in the secondary storage unit 40 are processed to nullify the physical page whose data are updated by the transaction being processed at the checkpoint, and to define the physical page (shadow page) pointed to by the old pointer in the block 404 as a temporary latest physical page. Then, the data base is processed in the transaction on the temporary latest physical page according to the transaction log information 4124 about the transaction stored in the system log file 412 to complete the transaction.
- a checkpoint can be recorded when a plurality of transactions are being executed.
- FIG. 17 shows another configuration example of the logical page management blocks (302 and 402) and the logical page blocks (304 and 404).
- two physical pages are preliminarily allotted fixedly to each of the logical pages in the logical page blocks (304 and 404).
- These physical pages 3041 are divided into two groups 0 and 1 for each entry. That is, the first current logical page block 304 is positioned in the physical page area.
- the new and old pointers of the first current logical page management block 302 are set to point to a physical page of either group 0 or 1 of a corresponding entry. Therefore, the new and old pointers can be realized with a single bit. In this case, the new and old pointers function as flags.
- a shadow page can be recorded and released in a bit unit, and the shadow page can be recorded and released in the page frame 3041 at and after a checkpoint, thereby greatly shortening the time taken for a checkpoint process.
- the configurations of the first current logical page management block 302 and the first current logical page block 304 can be in the format of a directory which stores the correspondence between a logical page and a physical page. New pointers and old pointers can be managed in different page tables.
- the logical page management block 402 and the logical page block 404 form a duplex system. However, they don't have to necessarily form a duplex system. Both two blocks are not shared for backup. They can be alternately used as a block for backup.
- a non-volatile semiconductor memory such as a flash memory, a RAM disk, etc. can be used as the secondary storage unit 40. In this case, since the access speed is higher than with the magnetic disk and the optical magnetic disk, it is applicable to a data base with which a large number of online transaction processes are performed to support a plurality of clients in, for example, a client/server system.
- a checkpoint can be recorded while a transaction is being processed, and the process can be performed at a high speed according to the present invention.
- a data base can be restored to its state before the occurrence of the system failure at a high speed.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5320461A JPH07175700A (ja) | 1993-12-20 | 1993-12-20 | データベース管理方式 |
JP5-320461 | 1993-12-20 |
Publications (1)
Publication Number | Publication Date |
---|---|
US5724581A true US5724581A (en) | 1998-03-03 |
Family
ID=18121715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US08/355,530 Expired - Lifetime US5724581A (en) | 1993-12-20 | 1994-12-14 | Data base management system for recovering from an abnormal condition |
Country Status (2)
Country | Link |
---|---|
US (1) | US5724581A (ja) |
JP (1) | JPH07175700A (ja) |
Cited By (77)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5875291A (en) * | 1997-04-11 | 1999-02-23 | Tandem Computers Incorporated | Method and apparatus for checking transactions in a computer system |
WO1999009479A1 (en) * | 1997-08-15 | 1999-02-25 | Seagate Technology, Inc. | Redundancy implementation on object oriented data storage device |
US5889939A (en) * | 1996-06-28 | 1999-03-30 | Kabushiki Kaisha Toshiba | Disk drive with a PFA function and monitor value saving control method in the same |
US5907678A (en) * | 1997-05-07 | 1999-05-25 | International Business Machines Corporation | Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request |
US5996088A (en) * | 1997-01-22 | 1999-11-30 | Oracle Corporation | High-speed database checkpointing through sequential I/O to disk |
US6061714A (en) * | 1997-05-07 | 2000-05-09 | International Business Machines Corporation | Persistent cache synchronization and start up system |
US6094654A (en) * | 1996-12-06 | 2000-07-25 | International Business Machines Corporation | Data management system for file and database management |
US20010013102A1 (en) * | 2000-02-04 | 2001-08-09 | Yoshihiro Tsuchiya | Backup system and method thereof in disk shared file system |
US6279041B1 (en) | 1998-11-13 | 2001-08-21 | International Business Machines Corporation | Methods, systems and computer program products for differencing data communications using a message queue |
US6279117B1 (en) * | 1997-10-31 | 2001-08-21 | Hitachi, Ltd. | Recovery support method for recovering from failure of an external storage device |
US6298401B1 (en) | 1997-08-11 | 2001-10-02 | Seagate Technology Llc | Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media |
US6317755B1 (en) * | 1999-07-26 | 2001-11-13 | Motorola, Inc. | Method and apparatus for data backup and restoration in a portable data device |
US6321358B1 (en) | 1997-08-28 | 2001-11-20 | Seagate Technology Llc | Object reconstruction on object oriented data storage device |
US20010047360A1 (en) * | 2000-03-29 | 2001-11-29 | Huras Matthew A. | Online database table reorganization |
US20020078078A1 (en) * | 1999-06-10 | 2002-06-20 | Kenneth Oksanen | Method for recovering a database provided with disk back-up |
US20020078244A1 (en) * | 2000-12-18 | 2002-06-20 | Howard John H. | Object-based storage device with improved reliability and fast crash recovery |
US20020116555A1 (en) * | 2000-12-20 | 2002-08-22 | Jeffrey Somers | Method and apparatus for efficiently moving portions of a memory block |
US20020124202A1 (en) * | 2001-03-05 | 2002-09-05 | John Doody | Coordinated Recalibration of high bandwidth memories in a multiprocessor computer |
US6449764B1 (en) * | 1998-06-08 | 2002-09-10 | Microsoft Corporation | File update by pre-initializing compressor/decompressor with other than decompression aid data |
US20020144175A1 (en) * | 2001-03-28 | 2002-10-03 | Long Finbarr Denis | Apparatus and methods for fault-tolerant computing using a switching fabric |
KR20030056540A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법 |
KR20030063620A (ko) * | 2002-01-23 | 2003-07-31 | 주식회사 파이널데이터 | 손상된 데이터베이스 데이터 복구 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체 |
US6622263B1 (en) * | 1999-06-30 | 2003-09-16 | Jack Justin Stiffler | Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US20040088650A1 (en) * | 2002-10-30 | 2004-05-06 | Actuate Corporation | Methods and apparatus for generating a spreadsheet report template |
US20040133575A1 (en) * | 2002-12-23 | 2004-07-08 | Storage Technology Corporation | Scheduled creation of point-in-time views |
US6766413B2 (en) | 2001-03-01 | 2004-07-20 | Stratus Technologies Bermuda Ltd. | Systems and methods for caching with file-level granularity |
US6772156B1 (en) * | 1999-11-29 | 2004-08-03 | Actuate Corporation | Method and apparatus for creating and displaying a table of content for a computer-generated report having page-level security |
US20040187108A1 (en) * | 2003-02-21 | 2004-09-23 | Knowles W. Jeffrey | Method of scheduling and event processing in computer operating system |
US20040193945A1 (en) * | 2003-02-20 | 2004-09-30 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US6802022B1 (en) | 2000-04-14 | 2004-10-05 | Stratus Technologies Bermuda Ltd. | Maintenance of consistent, redundant mass storage images |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
EP1482422A2 (en) * | 2003-05-30 | 2004-12-01 | Microsoft Corporation | Shadow paging for database access |
US20040260895A1 (en) * | 2003-06-18 | 2004-12-23 | Werner Sam Clark | Method, system, and program for reverse restore of an incremental virtual copy |
US20040267809A1 (en) * | 2003-06-23 | 2004-12-30 | Microsoft Corporation | Resynchronization of multiple copies of a database after a divergence in transaction history |
US6859805B1 (en) | 1999-11-29 | 2005-02-22 | Actuate Corporation | Method and apparatus for generating page-level security in a computer generated report |
US20050108576A1 (en) * | 1999-09-15 | 2005-05-19 | Datawire Communication Networks, Inc. | System and method for secure transactions over a network |
US6901481B2 (en) | 2000-04-14 | 2005-05-31 | Stratus Technologies Bermuda Ltd. | Method and apparatus for storing transactional information in persistent memory |
US20050278350A1 (en) * | 2004-05-27 | 2005-12-15 | Oracle International Corporation | Providing mappings between logical time values and real time values |
US6983352B2 (en) * | 2003-06-19 | 2006-01-03 | International Business Machines Corporation | System and method for point in time backups |
US7007044B1 (en) * | 2002-12-26 | 2006-02-28 | Storage Technology Corporation | Storage backup system for backing up data written to a primary storage device to multiple virtual mirrors using a reconciliation process that reflects the changing state of the primary storage device over time |
US20060064428A1 (en) * | 2004-09-17 | 2006-03-23 | Actuate Corporation | Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report |
US20060085381A1 (en) * | 2004-10-20 | 2006-04-20 | Epic Systems Corporation | Remote deployment access system and method |
US20060143528A1 (en) * | 2004-12-27 | 2006-06-29 | Stratus Technologies Bermuda Ltd | Systems and methods for checkpointing |
US20060222126A1 (en) * | 2005-03-31 | 2006-10-05 | Stratus Technologies Bermuda Ltd. | Systems and methods for maintaining synchronicity during signal transmission |
US20060222125A1 (en) * | 2005-03-31 | 2006-10-05 | Edwards John W Jr | Systems and methods for maintaining synchronicity during signal transmission |
US20060242452A1 (en) * | 2003-03-20 | 2006-10-26 | Keiichi Kaiya | External storage and data recovery method for external storage as well as program |
US20060259732A1 (en) * | 2005-05-12 | 2006-11-16 | Microsoft Corporation | Enhanced shadow page table algorithms |
US20070011499A1 (en) * | 2005-06-07 | 2007-01-11 | Stratus Technologies Bermuda Ltd. | Methods for ensuring safe component removal |
US20070028144A1 (en) * | 2005-07-29 | 2007-02-01 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US20070038891A1 (en) * | 2005-08-12 | 2007-02-15 | Stratus Technologies Bermuda Ltd. | Hardware checkpointing system |
US20070055687A1 (en) * | 2005-09-02 | 2007-03-08 | International Business Machines Corporation | System and method for minimizing data outage time and data loss while handling errors detected during recovery |
US20070130231A1 (en) * | 2005-12-06 | 2007-06-07 | Brown Douglas P | Closed-loop supportability architecture |
US20070174355A1 (en) * | 2006-01-10 | 2007-07-26 | Samsung Electronics Co., Ltd. | System and method for managing log information for transaction |
US20070174354A1 (en) * | 2006-01-25 | 2007-07-26 | Hitachi, Ltd. | Storage system, storage control device and recovery point detection method for storage control device |
US20070174681A1 (en) * | 1999-10-19 | 2007-07-26 | Idocrase Investments Llc | Stored memory recovery system |
US7251660B2 (en) | 2004-06-10 | 2007-07-31 | Oracle International Corporation | Providing mappings between logical time values and real time values in a multinode system |
US20070300013A1 (en) * | 2006-06-21 | 2007-12-27 | Manabu Kitamura | Storage system having transaction monitoring capability |
US20080065667A1 (en) * | 2006-09-11 | 2008-03-13 | Hopkins Donald F | Transaction oriented resilient file system |
US20080183894A1 (en) * | 2007-01-25 | 2008-07-31 | Oracle International Corporation | Synchronizing cluster time |
WO2009067476A2 (en) | 2007-11-21 | 2009-05-28 | Violin Memory, Inc. | Method and system for storage of data in non-volatile media |
US20090164524A1 (en) * | 2007-12-24 | 2009-06-25 | Korea Advanced Institute Of Science And Technology | Shadow-page deferred-update recovery technique integrating shadow page and deferred update techniques in a storage system |
US7707184B1 (en) * | 2002-10-09 | 2010-04-27 | Netapp, Inc. | System and method for snapshot full backup and hard recovery of a database |
US20100103781A1 (en) * | 2008-10-24 | 2010-04-29 | Oracle International Corporation | Time synchronization in cluster systems |
EP2203825A2 (en) * | 2007-08-24 | 2010-07-07 | Samsung Electronics Co., Ltd. | Apparatus using flash memory as storage and method of operating the same |
US7818617B2 (en) | 1999-10-19 | 2010-10-19 | Shen Andrew W | Operating system and data protection |
US7870480B1 (en) | 2005-03-14 | 2011-01-11 | Actuate Corporation | Methods and apparatus for storing and retrieving annotations accessible by a plurality of reports |
US20130111167A1 (en) * | 2011-11-02 | 2013-05-02 | Futurewei Technologies, Co. | Uncached Static Short Address Translation Table in the Cache Coherent Computer System |
US20140129635A1 (en) * | 2011-12-30 | 2014-05-08 | Mark S. Hefty | Low latency cluster computing |
US9251002B2 (en) | 2013-01-15 | 2016-02-02 | Stratus Technologies Bermuda Ltd. | System and method for writing checkpointing data |
US20160224588A1 (en) * | 2015-01-29 | 2016-08-04 | Sk Hynix Memory Solutions Inc. | Data integrity and loss resistance in high performance and high capacity storage deduplication |
US9588844B2 (en) | 2013-12-30 | 2017-03-07 | Stratus Technologies Bermuda Ltd. | Checkpointing systems and methods using data forwarding |
US9652338B2 (en) | 2013-12-30 | 2017-05-16 | Stratus Technologies Bermuda Ltd. | Dynamic checkpointing systems and methods |
US20170139781A1 (en) * | 2015-11-13 | 2017-05-18 | International Business Machines Corporation | Logical to physical table restoration from stored journal entries |
US9760442B2 (en) | 2013-12-30 | 2017-09-12 | Stratus Technologies Bermuda Ltd. | Method of delaying checkpoints by inspecting network packets |
US20220414065A1 (en) * | 2017-11-13 | 2022-12-29 | Cisco Technology, Inc. | Using persistent memory to enable restartability of bulk load transactions in cloud databases |
US12056156B2 (en) * | 2021-08-04 | 2024-08-06 | Tencent Technology (Shenzhen) Company Limited | Block-chain-based data processing |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3622047B2 (ja) * | 1998-08-05 | 2005-02-23 | 日本電信電話株式会社 | データベースバックアップ処理方法 |
JP2000222140A (ja) * | 1999-01-28 | 2000-08-11 | Seiko Epson Corp | プリンタおよびプリンタのメモリ管理方法並びにプログラムを記録した記録媒体 |
JP3752937B2 (ja) * | 2000-01-06 | 2006-03-08 | 日本電信電話株式会社 | トランザクション処理装置と方法およびトランザクション処理機能付きicカード |
SG99941A1 (en) * | 2000-08-30 | 2003-11-27 | Ibm | Transaction support on logical disks |
JP4806183B2 (ja) * | 2004-12-24 | 2011-11-02 | 富士通セミコンダクター株式会社 | ファイル情報の書き込み処理方法およびプログラム |
JP4210318B1 (ja) * | 2007-11-28 | 2009-01-14 | 株式会社京都ソフトウェアリサーチ | データ格納システムおよびデータ格納プログラム |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS582937A (ja) * | 1981-06-27 | 1983-01-08 | Fujitsu Ltd | 障害回復方式 |
US4459658A (en) * | 1982-02-26 | 1984-07-10 | Bell Telephone Laboratories Incorporated | Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure |
US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
JPS62121555A (ja) * | 1985-11-22 | 1987-06-02 | Hitachi Ltd | 履歴情報の管理方式 |
JPS62245348A (ja) * | 1986-04-18 | 1987-10-26 | Hitachi Ltd | データベース更新方法 |
US5043871A (en) * | 1986-03-26 | 1991-08-27 | Hitachi, Ltd. | Method and apparatus for database update/recovery |
JPH04209044A (ja) * | 1990-12-03 | 1992-07-30 | Nec Corp | データベース制御方式 |
US5265245A (en) * | 1989-04-17 | 1993-11-23 | International Business Machines Corporation | High concurrency in use manager |
US5381545A (en) * | 1991-06-04 | 1995-01-10 | International Business Machines Corporation | Data backup and recovery in a data processing system |
US5440712A (en) * | 1991-04-02 | 1995-08-08 | Nec Corporation | Database input/output control system having nonvolatile storing unit for maintaining the database |
US5455594A (en) * | 1992-07-16 | 1995-10-03 | Conductus, Inc. | Internal thermal isolation layer for array antenna |
US5455944A (en) * | 1993-03-16 | 1995-10-03 | International Business Machines Corporation | Method for managing logging and locking of page free space information in a transaction processing system |
US5455947A (en) * | 1992-05-28 | 1995-10-03 | Fujitsu Limited | Log file control system in a complex system |
US5504857A (en) * | 1990-06-08 | 1996-04-02 | International Business Machines | Highly available fault tolerant relocation of storage with atomicity |
-
1993
- 1993-12-20 JP JP5320461A patent/JPH07175700A/ja not_active Withdrawn
-
1994
- 1994-12-14 US US08/355,530 patent/US5724581A/en not_active Expired - Lifetime
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS582937A (ja) * | 1981-06-27 | 1983-01-08 | Fujitsu Ltd | 障害回復方式 |
US4459658A (en) * | 1982-02-26 | 1984-07-10 | Bell Telephone Laboratories Incorporated | Technique for enabling operation of a computer system with a consistent state of a linked list data structure after a main memory failure |
US4507751A (en) * | 1982-06-21 | 1985-03-26 | International Business Machines Corporation | Method and apparatus for logging journal data using a log write ahead data set |
JPS62121555A (ja) * | 1985-11-22 | 1987-06-02 | Hitachi Ltd | 履歴情報の管理方式 |
US5043871A (en) * | 1986-03-26 | 1991-08-27 | Hitachi, Ltd. | Method and apparatus for database update/recovery |
JPS62245348A (ja) * | 1986-04-18 | 1987-10-26 | Hitachi Ltd | データベース更新方法 |
US5265245A (en) * | 1989-04-17 | 1993-11-23 | International Business Machines Corporation | High concurrency in use manager |
US5504857A (en) * | 1990-06-08 | 1996-04-02 | International Business Machines | Highly available fault tolerant relocation of storage with atomicity |
JPH04209044A (ja) * | 1990-12-03 | 1992-07-30 | Nec Corp | データベース制御方式 |
US5440712A (en) * | 1991-04-02 | 1995-08-08 | Nec Corporation | Database input/output control system having nonvolatile storing unit for maintaining the database |
US5381545A (en) * | 1991-06-04 | 1995-01-10 | International Business Machines Corporation | Data backup and recovery in a data processing system |
US5455947A (en) * | 1992-05-28 | 1995-10-03 | Fujitsu Limited | Log file control system in a complex system |
US5455594A (en) * | 1992-07-16 | 1995-10-03 | Conductus, Inc. | Internal thermal isolation layer for array antenna |
US5455944A (en) * | 1993-03-16 | 1995-10-03 | International Business Machines Corporation | Method for managing logging and locking of page free space information in a transaction processing system |
Cited By (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889939A (en) * | 1996-06-28 | 1999-03-30 | Kabushiki Kaisha Toshiba | Disk drive with a PFA function and monitor value saving control method in the same |
US6094654A (en) * | 1996-12-06 | 2000-07-25 | International Business Machines Corporation | Data management system for file and database management |
US5996088A (en) * | 1997-01-22 | 1999-11-30 | Oracle Corporation | High-speed database checkpointing through sequential I/O to disk |
US5875291A (en) * | 1997-04-11 | 1999-02-23 | Tandem Computers Incorporated | Method and apparatus for checking transactions in a computer system |
US5907678A (en) * | 1997-05-07 | 1999-05-25 | International Business Machines Corporation | Client/server system in which protocol caches for multiple sessions are selectively copied into a common checkpoint cache upon receiving a checkpoint request |
US6061714A (en) * | 1997-05-07 | 2000-05-09 | International Business Machines Corporation | Persistent cache synchronization and start up system |
US6453343B1 (en) | 1997-05-07 | 2002-09-17 | International Business Machines Corporation | Methods, systems and computer program products for maintaining a common checkpoint cache for multiple sessions between a single client and server |
US6298401B1 (en) | 1997-08-11 | 2001-10-02 | Seagate Technology Llc | Object oriented storage device having a disc drive controller providing an interface exposing methods which are invoked to access objects stored in a storage media |
WO1999009479A1 (en) * | 1997-08-15 | 1999-02-25 | Seagate Technology, Inc. | Redundancy implementation on object oriented data storage device |
GB2341466A (en) * | 1997-08-15 | 2000-03-15 | Seagate Technology | Redundancy implementation on object oriented data storage device |
GB2341466B (en) * | 1997-08-15 | 2002-10-02 | Seagate Technology | Redundancy implementation on object oriented data storage device |
US6321358B1 (en) | 1997-08-28 | 2001-11-20 | Seagate Technology Llc | Object reconstruction on object oriented data storage device |
US6279117B1 (en) * | 1997-10-31 | 2001-08-21 | Hitachi, Ltd. | Recovery support method for recovering from failure of an external storage device |
US6467045B2 (en) * | 1997-10-31 | 2002-10-15 | Hitachi, Ltd. | Recovery support method for recovering from failure of an external storage device |
US6496974B1 (en) | 1998-06-08 | 2002-12-17 | Microsoft Corporation | File update performing comparison and compression as single process |
US6938109B1 (en) | 1998-06-08 | 2005-08-30 | Microsoft Corporation | Method and system for updating software with smaller patch files |
US6449764B1 (en) * | 1998-06-08 | 2002-09-10 | Microsoft Corporation | File update by pre-initializing compressor/decompressor with other than decompression aid data |
US6546428B2 (en) | 1998-11-13 | 2003-04-08 | International Business Machines Corporation | Methods, systems and computer program products for transferring a file using a message queue |
US6279041B1 (en) | 1998-11-13 | 2001-08-21 | International Business Machines Corporation | Methods, systems and computer program products for differencing data communications using a message queue |
US20020078078A1 (en) * | 1999-06-10 | 2002-06-20 | Kenneth Oksanen | Method for recovering a database provided with disk back-up |
US6622263B1 (en) * | 1999-06-30 | 2003-09-16 | Jack Justin Stiffler | Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance |
US6317755B1 (en) * | 1999-07-26 | 2001-11-13 | Motorola, Inc. | Method and apparatus for data backup and restoration in a portable data device |
US20050108576A1 (en) * | 1999-09-15 | 2005-05-19 | Datawire Communication Networks, Inc. | System and method for secure transactions over a network |
US7010590B1 (en) * | 1999-09-15 | 2006-03-07 | Datawire Communications Networks, Inc. | System and method for secure transactions over a network |
US7558951B2 (en) | 1999-09-15 | 2009-07-07 | Dw Holdings, Inc. | System and method for secure transactions over a network |
US7818617B2 (en) | 1999-10-19 | 2010-10-19 | Shen Andrew W | Operating system and data protection |
US20070174681A1 (en) * | 1999-10-19 | 2007-07-26 | Idocrase Investments Llc | Stored memory recovery system |
US7844855B2 (en) * | 1999-10-19 | 2010-11-30 | Shen Andrew W | Stored memory recovery system |
US7783923B2 (en) | 1999-10-19 | 2010-08-24 | Shen Andrew W | Stored memory recovery system |
US20090276662A1 (en) * | 1999-10-19 | 2009-11-05 | Shen Andrew W | Stored Memory Recovery System |
US6772156B1 (en) * | 1999-11-29 | 2004-08-03 | Actuate Corporation | Method and apparatus for creating and displaying a table of content for a computer-generated report having page-level security |
US20050203819A1 (en) * | 1999-11-29 | 2005-09-15 | Actuate Corporation | Method and apparatus for generating page-level security in a computer generated report |
US6859805B1 (en) | 1999-11-29 | 2005-02-22 | Actuate Corporation | Method and apparatus for generating page-level security in a computer generated report |
US7051173B2 (en) * | 2000-02-04 | 2006-05-23 | Fujitsu Limited | Backup system and method thereof in disk shared file system |
US20010013102A1 (en) * | 2000-02-04 | 2001-08-09 | Yoshihiro Tsuchiya | Backup system and method thereof in disk shared file system |
US20010047360A1 (en) * | 2000-03-29 | 2001-11-29 | Huras Matthew A. | Online database table reorganization |
US6950834B2 (en) * | 2000-03-29 | 2005-09-27 | International Business Machines Corporation | Online database table reorganization |
US6687851B1 (en) | 2000-04-13 | 2004-02-03 | Stratus Technologies Bermuda Ltd. | Method and system for upgrading fault-tolerant systems |
US6820213B1 (en) | 2000-04-13 | 2004-11-16 | Stratus Technologies Bermuda, Ltd. | Fault-tolerant computer system with voter delay buffer |
US6901481B2 (en) | 2000-04-14 | 2005-05-31 | Stratus Technologies Bermuda Ltd. | Method and apparatus for storing transactional information in persistent memory |
US6802022B1 (en) | 2000-04-14 | 2004-10-05 | Stratus Technologies Bermuda Ltd. | Maintenance of consistent, redundant mass storage images |
US7730213B2 (en) * | 2000-12-18 | 2010-06-01 | Oracle America, Inc. | Object-based storage device with improved reliability and fast crash recovery |
US20020078244A1 (en) * | 2000-12-18 | 2002-06-20 | Howard John H. | Object-based storage device with improved reliability and fast crash recovery |
US20020116555A1 (en) * | 2000-12-20 | 2002-08-22 | Jeffrey Somers | Method and apparatus for efficiently moving portions of a memory block |
US6766413B2 (en) | 2001-03-01 | 2004-07-20 | Stratus Technologies Bermuda Ltd. | Systems and methods for caching with file-level granularity |
US20020124202A1 (en) * | 2001-03-05 | 2002-09-05 | John Doody | Coordinated Recalibration of high bandwidth memories in a multiprocessor computer |
US20020144175A1 (en) * | 2001-03-28 | 2002-10-03 | Long Finbarr Denis | Apparatus and methods for fault-tolerant computing using a switching fabric |
KR20030056540A (ko) * | 2001-12-28 | 2003-07-04 | 한국전자통신연구원 | 데이터베이스 관리 시스템에서 시스템 고장에 대비한 파일삭제 및 회복 방법 |
KR20030063620A (ko) * | 2002-01-23 | 2003-07-31 | 주식회사 파이널데이터 | 손상된 데이터베이스 데이터 복구 방법 및 이를 저장한컴퓨터가 판독 가능한 기록 매체 |
US7707184B1 (en) * | 2002-10-09 | 2010-04-27 | Netapp, Inc. | System and method for snapshot full backup and hard recovery of a database |
US7370271B2 (en) | 2002-10-30 | 2008-05-06 | Actuate Corporation | Methods and apparatus for generating a spreadsheet report template |
US20040088650A1 (en) * | 2002-10-30 | 2004-05-06 | Actuate Corporation | Methods and apparatus for generating a spreadsheet report template |
US7007043B2 (en) * | 2002-12-23 | 2006-02-28 | Storage Technology Corporation | Storage backup system that creates mountable representations of past contents of storage volumes |
US20040133575A1 (en) * | 2002-12-23 | 2004-07-08 | Storage Technology Corporation | Scheduled creation of point-in-time views |
US7007044B1 (en) * | 2002-12-26 | 2006-02-28 | Storage Technology Corporation | Storage backup system for backing up data written to a primary storage device to multiple virtual mirrors using a reconciliation process that reflects the changing state of the primary storage device over time |
US20110225455A1 (en) * | 2003-02-20 | 2011-09-15 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US8423825B2 (en) | 2003-02-20 | 2013-04-16 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US7971097B2 (en) | 2003-02-20 | 2011-06-28 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US20090089614A1 (en) * | 2003-02-20 | 2009-04-02 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US7549083B2 (en) | 2003-02-20 | 2009-06-16 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US20040193945A1 (en) * | 2003-02-20 | 2004-09-30 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US7305584B2 (en) | 2003-02-20 | 2007-12-04 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US7185227B2 (en) * | 2003-02-20 | 2007-02-27 | Hitachi, Ltd. | Data restoring method and an apparatus using journal data and an identification information |
US20040187108A1 (en) * | 2003-02-21 | 2004-09-23 | Knowles W. Jeffrey | Method of scheduling and event processing in computer operating system |
US20060242452A1 (en) * | 2003-03-20 | 2006-10-26 | Keiichi Kaiya | External storage and data recovery method for external storage as well as program |
US7464288B2 (en) | 2003-03-20 | 2008-12-09 | Hitachi, Ltd. | External storage and data recovery method for external storage as well as program |
US20080147752A1 (en) * | 2003-03-20 | 2008-06-19 | Keiichi Kaiya | External storage and data recovery method for external storage as well as program |
US7469358B2 (en) | 2003-03-20 | 2008-12-23 | Hitachi, Ltd. | External storage and data recovery method for external storage as well as program |
US20090049262A1 (en) * | 2003-03-20 | 2009-02-19 | Hitachi, Ltd | External storage and data recovery method for external storage as well as program |
US7243256B2 (en) | 2003-03-20 | 2007-07-10 | Hitachi, Ltd. | External storage and data recovery method for external storage as well as program |
US20070161215A1 (en) * | 2003-03-20 | 2007-07-12 | Keiichi Kaiya | External storage and data recovery method for external storage as well as program |
US7370222B2 (en) | 2003-03-20 | 2008-05-06 | Hitachi, Ltd. | External storage and data recovery method for external storage as well as program |
US7873860B2 (en) | 2003-03-20 | 2011-01-18 | Hitachi, Ltd. | External storage and data recovery method for external storage as well as program |
US20070174696A1 (en) * | 2003-03-20 | 2007-07-26 | Keiichi Kaiya | External storage and data recovery method for external storage as well as program |
EP1482422A2 (en) * | 2003-05-30 | 2004-12-01 | Microsoft Corporation | Shadow paging for database access |
KR101066783B1 (ko) | 2003-05-30 | 2011-09-21 | 마이크로소프트 코포레이션 | 새도우 페이징을 위한 데이터베이스에 액세스하는 방법, 컴퓨터 판독가능 저장 매체, 및 데이터베이스에 액세스하는 시스템 |
EP1482422A3 (en) * | 2003-05-30 | 2005-12-21 | Microsoft Corporation | Shadow paging for database access |
US7389308B2 (en) | 2003-05-30 | 2008-06-17 | Microsoft Corporation | Shadow paging |
US20040260895A1 (en) * | 2003-06-18 | 2004-12-23 | Werner Sam Clark | Method, system, and program for reverse restore of an incremental virtual copy |
US7000145B2 (en) * | 2003-06-18 | 2006-02-14 | International Business Machines Corporation | Method, system, and program for reverse restore of an incremental virtual copy |
US6983352B2 (en) * | 2003-06-19 | 2006-01-03 | International Business Machines Corporation | System and method for point in time backups |
US20040267809A1 (en) * | 2003-06-23 | 2004-12-30 | Microsoft Corporation | Resynchronization of multiple copies of a database after a divergence in transaction history |
US7457829B2 (en) * | 2003-06-23 | 2008-11-25 | Microsoft Corporation | Resynchronization of multiple copies of a database after a divergence in transaction history |
US7240065B2 (en) * | 2004-05-27 | 2007-07-03 | Oracle International Corporation | Providing mappings between logical time values and real time values |
US20050278350A1 (en) * | 2004-05-27 | 2005-12-15 | Oracle International Corporation | Providing mappings between logical time values and real time values |
US7251660B2 (en) | 2004-06-10 | 2007-07-31 | Oracle International Corporation | Providing mappings between logical time values and real time values in a multinode system |
US20060064428A1 (en) * | 2004-09-17 | 2006-03-23 | Actuate Corporation | Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report |
US7925658B2 (en) | 2004-09-17 | 2011-04-12 | Actuate Corporation | Methods and apparatus for mapping a hierarchical data structure to a flat data structure for use in generating a report |
US20060085381A1 (en) * | 2004-10-20 | 2006-04-20 | Epic Systems Corporation | Remote deployment access system and method |
US20060143528A1 (en) * | 2004-12-27 | 2006-06-29 | Stratus Technologies Bermuda Ltd | Systems and methods for checkpointing |
US7496787B2 (en) | 2004-12-27 | 2009-02-24 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US7870480B1 (en) | 2005-03-14 | 2011-01-11 | Actuate Corporation | Methods and apparatus for storing and retrieving annotations accessible by a plurality of reports |
US20060222126A1 (en) * | 2005-03-31 | 2006-10-05 | Stratus Technologies Bermuda Ltd. | Systems and methods for maintaining synchronicity during signal transmission |
US20060222125A1 (en) * | 2005-03-31 | 2006-10-05 | Edwards John W Jr | Systems and methods for maintaining synchronicity during signal transmission |
US7299337B2 (en) * | 2005-05-12 | 2007-11-20 | Traut Eric P | Enhanced shadow page table algorithms |
US20070294505A1 (en) * | 2005-05-12 | 2007-12-20 | Microsoft Corporation | Enhanced Shadow Page Table Algorithms |
US7650482B2 (en) | 2005-05-12 | 2010-01-19 | Microsoft Corporation | Enhanced shadow page table algorithms |
US20060259732A1 (en) * | 2005-05-12 | 2006-11-16 | Microsoft Corporation | Enhanced shadow page table algorithms |
US20070011499A1 (en) * | 2005-06-07 | 2007-01-11 | Stratus Technologies Bermuda Ltd. | Methods for ensuring safe component removal |
US20070028144A1 (en) * | 2005-07-29 | 2007-02-01 | Stratus Technologies Bermuda Ltd. | Systems and methods for checkpointing |
US20070038891A1 (en) * | 2005-08-12 | 2007-02-15 | Stratus Technologies Bermuda Ltd. | Hardware checkpointing system |
US7552147B2 (en) * | 2005-09-02 | 2009-06-23 | International Business Machines Corporation | System and method for minimizing data outage time and data loss while handling errors detected during recovery |
US20070055687A1 (en) * | 2005-09-02 | 2007-03-08 | International Business Machines Corporation | System and method for minimizing data outage time and data loss while handling errors detected during recovery |
US20070130231A1 (en) * | 2005-12-06 | 2007-06-07 | Brown Douglas P | Closed-loop supportability architecture |
US20070174355A1 (en) * | 2006-01-10 | 2007-07-26 | Samsung Electronics Co., Ltd. | System and method for managing log information for transaction |
US7849060B2 (en) * | 2006-01-10 | 2010-12-07 | Samsung Electronics Co., Ltd. | System and method for managing log information for transaction |
US20070174354A1 (en) * | 2006-01-25 | 2007-07-26 | Hitachi, Ltd. | Storage system, storage control device and recovery point detection method for storage control device |
US7617255B2 (en) * | 2006-01-25 | 2009-11-10 | Hitachi, Ltd. | Storage system, storage control device and recovery point detection method for storage control device |
US20070300013A1 (en) * | 2006-06-21 | 2007-12-27 | Manabu Kitamura | Storage system having transaction monitoring capability |
US20080065667A1 (en) * | 2006-09-11 | 2008-03-13 | Hopkins Donald F | Transaction oriented resilient file system |
US20080183894A1 (en) * | 2007-01-25 | 2008-07-31 | Oracle International Corporation | Synchronizing cluster time |
US7814360B2 (en) | 2007-01-25 | 2010-10-12 | Oralce International Corporation | Synchronizing cluster time to a master node with a faster clock |
EP2203825A2 (en) * | 2007-08-24 | 2010-07-07 | Samsung Electronics Co., Ltd. | Apparatus using flash memory as storage and method of operating the same |
EP2203825A4 (en) * | 2007-08-24 | 2012-12-12 | Samsung Electronics Co Ltd | APPARATUS USING FLASH MEMORY AS A STORAGE DEVICE AND METHOD OF USING THE SAME |
EP2232374A2 (en) * | 2007-11-21 | 2010-09-29 | Violin Memory, Inc. | Method and system for storage of data in non-volatile media |
EP2232374A4 (en) * | 2007-11-21 | 2012-01-25 | Violin Memory Inc | METHOD AND SYSTEM FOR STORING DATA IN NON-VOLATILE MEDIA |
WO2009067476A2 (en) | 2007-11-21 | 2009-05-28 | Violin Memory, Inc. | Method and system for storage of data in non-volatile media |
US20090164524A1 (en) * | 2007-12-24 | 2009-06-25 | Korea Advanced Institute Of Science And Technology | Shadow-page deferred-update recovery technique integrating shadow page and deferred update techniques in a storage system |
US8108356B2 (en) * | 2007-12-24 | 2012-01-31 | Korea Advanced Institute Of Science And Technology | Method for recovering data in a storage system |
US8169856B2 (en) | 2008-10-24 | 2012-05-01 | Oracle International Corporation | Time synchronization in cluster systems |
US20100103781A1 (en) * | 2008-10-24 | 2010-04-29 | Oracle International Corporation | Time synchronization in cluster systems |
US20130111167A1 (en) * | 2011-11-02 | 2013-05-02 | Futurewei Technologies, Co. | Uncached Static Short Address Translation Table in the Cache Coherent Computer System |
US9110825B2 (en) * | 2011-11-02 | 2015-08-18 | Futurewei Technologies, Inc. | Uncached static short address translation table in the cache coherent computer system |
US20140129635A1 (en) * | 2011-12-30 | 2014-05-08 | Mark S. Hefty | Low latency cluster computing |
US9560117B2 (en) * | 2011-12-30 | 2017-01-31 | Intel Corporation | Low latency cluster computing |
US9251002B2 (en) | 2013-01-15 | 2016-02-02 | Stratus Technologies Bermuda Ltd. | System and method for writing checkpointing data |
US9652338B2 (en) | 2013-12-30 | 2017-05-16 | Stratus Technologies Bermuda Ltd. | Dynamic checkpointing systems and methods |
US9760442B2 (en) | 2013-12-30 | 2017-09-12 | Stratus Technologies Bermuda Ltd. | Method of delaying checkpoints by inspecting network packets |
US9588844B2 (en) | 2013-12-30 | 2017-03-07 | Stratus Technologies Bermuda Ltd. | Checkpointing systems and methods using data forwarding |
US20160224588A1 (en) * | 2015-01-29 | 2016-08-04 | Sk Hynix Memory Solutions Inc. | Data integrity and loss resistance in high performance and high capacity storage deduplication |
CN105843551A (zh) * | 2015-01-29 | 2016-08-10 | 爱思开海力士有限公司 | 高性能和大容量储存重复删除中的数据完整性和损耗电阻 |
US10176190B2 (en) * | 2015-01-29 | 2019-01-08 | SK Hynix Inc. | Data integrity and loss resistance in high performance and high capacity storage deduplication |
CN105843551B (zh) * | 2015-01-29 | 2020-09-15 | 爱思开海力士有限公司 | 高性能和大容量储存重复删除中的数据完整性和损耗电阻 |
TWI709864B (zh) * | 2015-01-29 | 2020-11-11 | 韓商愛思開海力士有限公司 | 一種利用重複刪除過程的儲存系統、方法及裝置 |
US20170139781A1 (en) * | 2015-11-13 | 2017-05-18 | International Business Machines Corporation | Logical to physical table restoration from stored journal entries |
US9904607B2 (en) * | 2015-11-13 | 2018-02-27 | International Business Machines Corporation | Logical to physical table restoration from stored journal entries |
US10621051B2 (en) | 2015-11-13 | 2020-04-14 | International Business Machines Corporation | Logical to physical table restoration from stored journal entries |
US20220414065A1 (en) * | 2017-11-13 | 2022-12-29 | Cisco Technology, Inc. | Using persistent memory to enable restartability of bulk load transactions in cloud databases |
US12056156B2 (en) * | 2021-08-04 | 2024-08-06 | Tencent Technology (Shenzhen) Company Limited | Block-chain-based data processing |
Also Published As
Publication number | Publication date |
---|---|
JPH07175700A (ja) | 1995-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5724581A (en) | Data base management system for recovering from an abnormal condition | |
US7117229B2 (en) | Method and system for online reorganization of databases | |
US6934877B2 (en) | Data backup/recovery system | |
US9542310B2 (en) | File server node with non-volatile memory processing module coupled to cluster file server node | |
Verhofstad | Recovery techniques for database systems | |
EP0578406B1 (en) | Distributed transaction processing using two-phase commit protocol with presumed-commit without log force | |
US5794252A (en) | Remote duplicate database facility featuring safe master audit trail (safeMAT) checkpointing | |
US7107294B2 (en) | Method and apparatus for interrupting updates to a database to provide read-only access | |
US7996363B2 (en) | Real-time apply mechanism in standby database environments | |
CN101567805B (zh) | 并行文件系统发生故障后的恢复方法 | |
EP0943997A2 (en) | System and method for providing hot spare redundancy and recovery for a very large database management system | |
US20060224639A1 (en) | Backup system, program and backup method | |
JP2005242403A (ja) | 計算機システム | |
US5740434A (en) | System for maintenance of database integrity | |
EP0724223B1 (en) | Remote duplicate database facility with database replication support for online line DDL operations | |
US7051051B1 (en) | Recovering from failed operations in a database system | |
Strom et al. | A recoverable object store | |
JPH0816881B2 (ja) | データベース更新方法 | |
KR950011056B1 (ko) | 트랜잭션 처리시스템의 로그/회복관리방법 | |
JPS63132351A (ja) | メモリデ−タベ−ス処理装置 | |
KR20020047601A (ko) | 주기억장치 상주형 데이터베이스 시스템에서 로그 처리를하지 않는 백업/회복 장치 및 그 방법 | |
JPS6167153A (ja) | 直接アクセス記憶装置の部分障害回復処理方法 | |
Chong et al. | Rapid Recovery of Very Large Memory Resident Data Objects | |
JPH0823840B2 (ja) | デ−タベ−ス更新方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FUJITSU LIMITED, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KOZAKURA, FUMIHIKO;REEL/FRAME:007284/0924 Effective date: 19941202 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
CC | Certificate of correction | ||
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
FPAY | Fee payment |
Year of fee payment: 12 |