Patent ID: 7860824

Claim:
A log-based system for disaster recovery, the log-based system comprising: a primary database server maintaining a database in a primary storage, generating, by a processor, log records describing modifications of the database, storing the log records in a log file formed in the primary storage, and transferring the log records to a secondary storage in which a remote copy of the log file is stored; and a secondary database server storing a remote copy of the database in the secondary storage and maintaining the remote copy of the database according to the log records stored in the remote copy of the log file, the secondary database server including a log apply component and a search component wherein the log apply component includes a log application unit applying the modifications described in the log records to the remote copy of the database stored in the secondary storage by sequentially reading out the log records from the remote copy of the log file, the search component receives a request for a search of the remote copy of the database stored in the secondary storage and accessing the remote copy of the database to perform the search upon suspension of the log application unit, and the log apply component includes a judge unit monitoring a progress condition of application of the modifications to the remote copy of the database by the log application unit based on the log record being generated by the primary database server and suspending operation of the log application unit upon recognizing that the progress condition is acceptable to thereby permit the search component to access the remote copy of the database to perform the search, wherein the search component issues the request for the search to the judge unit wherein the judge unit monitors the progress condition upon receiving the request for the search from the search component, wherein the judge unit, upon recognizing that the progress condition is acceptable, ensures that the remote copy of the database is in a state in which consistency will be attained, calculates a suspend time period during which the log application unit is permitted to be suspended, and suspends the log application unit for the suspend time period to thereby permit the search component to access the remote copy of the database to perform the search, wherein the judge unit restarts the log application unit upon completion of the search by the search component or stops the search and restarts the log application unit upon expiration of the suspend time period, wherein the judge unit monitors the progress condition of the log application unit by calculating an application delay ratio according to a most recent modification applied to the remote copy of the database by the log application unit and a most recent log record stored in the log file, and wherein the judge unit recognizes that the progress condition of the log application unit is acceptable when the application delay ratio is less than a predetermined threshold.