Prosecution Insights
Last updated: April 19, 2026
Application No. 17/559,904

ONLINE RESTORE FOR DATABASE ENGINES

Final Rejection §103
Filed
Dec 22, 2021
Examiner
HO, ANDREW N
Art Unit
2169
Tech Center
2100 — Computer Architecture & Software
Assignee
Amazon Technologies, Inc.
OA Round
4 (Final)
62%
Grant Probability
Moderate
5-6
OA Rounds
4y 1m
To Grant
92%
With Interview

Examiner Intelligence

Grants 62% of resolved cases
62%
Career Allow Rate
137 granted / 221 resolved
+7.0% vs TC avg
Strong +30% interview lift
Without
With
+30.3%
Interview Lift
resolved cases with interview
Typical timeline
4y 1m
Avg Prosecution
18 currently pending
Career history
239
Total Applications
across all art units

Statute-Specific Performance

§101
21.2%
-18.8% vs TC avg
§103
58.0%
+18.0% vs TC avg
§102
10.7%
-29.3% vs TC avg
§112
6.1%
-33.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 221 resolved cases

Office Action

§103
DETAILED ACTION Notice of Pre-AIA or AIA Status The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Claims 21-40 are pending in this office action. Response to Amendment This Office Action is in response to applicant’s communication filed on January 15th, 2026. The applicant’s remark and amendments to the claims were considered with the results that follow. In response to the last Office Action, claims 21, 27, and 34 have been amended. As a result, claims 21-40 are pending in this application. Applicant’s argument filed on January 15th, 2026, with respect to claims 21-40 as being directed to being abstract idea have overcome the rejection. The rejection have been withdrawn due to the arguments filed on January 15th, 2026. Response to Arguments Applicant’s argument with respect to 35 U.S.C 101 rejection have been considered and the rejection has been withdrawn. Applicant’s arguments with respect to claims 21, 27, and 34 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 21, 27, 33-34, and 40 are rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent 8,527,462 issued to Talius et al. (hereinafter as "Talius") in view of U.S Patent Publication 2016/0342484 issued to French et al. (hereinafter as "French") in further view of U.S Patent Application Publication 2012/0101997 issued to Zwilling et al. (hereinafter as "Zwilling"). Regarding claim 21, Talius teaches a system, comprising: at least one processor (Talius: Col 4, lines 50-52; at least a processor and a memory, and/or other device(s) providing one or more processors controlled at least in part by instructions); and a memory to store program instructions which, when performed by the at least one processor, cause the at least one processor to implement a database system, the database system configured to (Talius: Col 8, lines 65-67; and Col 9, lines 1-2; The memory 112 is in operable communication with the logical processor 110. A database snapshot 150 resides in the memory, and thus configures the memory. The database Snapshot is based on a particular data base 120): receive a request to restore the database to a previous state (Talius: Col 7, lines 27-30; One or more logical databases 120 and database tools 122 such as queries 124, SQL and/or other query languages 126 (in the form of compilers, interpreters, user interfaces, profilers, debuggers, source code, etc.). Col 8, lines 33-36; Each snapshot 150 is identified by a respective snapshot ID 226. Another as-of item is an as-of query 214, which is a query 124 seeking content 132 as it existed at the as-of time. Col 14, lines 16-19; favored when there is a large number of pages and modifications that need to be undone, and the entire database is to be restored to the specified point-in-time 210, either in-place or as a copy), wherein the database is stored as a plurality of data pages (Talius: Col 7, lines 38-42; a given database 120 includes content 132, namely, table(s) 134, table rows 136, a database schema 138, metadata 140, system table(s) 142, storage units in the form of pages 144, transaction logs and other logs 146 containing log records 152), and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages (Talius: Col 7, lines 38-42; a given database 120 includes content 132, namely, table(s) 134, table rows 136, a database schema 138, metadata 140, system table(s) 142, storage units in the form of pages 144, transaction logs and other logs 146 containing log records 152. Col 8, lines 3-7; to reflect modification of page data 206 over time. Page modifications 204 include modifications (i.e., additions, deletions, changes) of page data 206 (sometimes called “page content”). Page data 206 typically includes database content 132. Col 8, lines 36-38; Another as-of item is an as-of page 216, which is a page 144 having content 132 as it existed at the as-of time. Col 11, lines 9-16; Thus, in some cases the page exists, and handling 326 an as-of query 214 includes identifying 328 a page which contains information responsive to the query 214, determining 330 that the page 216 which contains information responsive to the query is present in a cache 224 of the as-of snapshot 212); store a copy of at least one data page of the one or more data pages in the data page cacheOne or more lists 202 of page modifications 204 reside in memory 112 (recall that memory 112 may be RAM, disk, and/or other memory). Col 8, lines 3-7; to reflect modification of page data 206 over time. Page modifications 204 include modifications (i.e., additions, deletions, changes) of page data 206 (sometimes called “page content”). Page data 206 typically includes database content 132. Col 11, lines 27-28; Writing 336 to the sparse page file or other cache may precede, follow, or overlap responding 338 to the user. Col 11, lines 30-35; As with familiar query processing, metadata is consulted to determine where the data required by the query is stored. This metadata itself is stored in its own pages. After these pages of metadata are constructed for the as-of time, they indicate which pages contained the query-responsive data for the as-of time {Examiner correlates the copy of the first query engine to the new data page cache by modifying the entire page data and writing to the cache to construct a new version to be stored in the cache}); Talius does not explicitly teach perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: obtain, at a However, French teaches perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: obtain, at a As each database node 106 may have its own transaction log 116, a point-in-time backup 112 may restore each database node 106 to its previous state at the selected point-in-time. After receiving a restore command 122 that identifies the point-in-time or transaction to which a database administrator wants database 104 restored, coordinator node 120 processes the restore command 122. In an embodiment, coordinator node 120 may begin with the restore process with the most recent database image 124), access to the database restored to the previous state from a corresponding snapshot comprising the plurality of data pages at the previous state of the database (French: [0016]-[0017];For example, while data may be written to one or more table structures of database 104, those tables may physically be stored across one or more database nodes 106 in disk storage across one or more data pages 110…storing snapshot copies of data pages 110 in a memory portion 114. Memory 114 may be a disk or other non-volatile memory portion where snapshots, copies, or versions of data pages 110 are stored. [0051]; Then, for example, coordinator node 120 may be able to read the transaction logs 116 to form a complete logical log picture of the data of database 104… may restore the database 104 to any back up transaction point or point-in-time as indicated by any of the transaction logs 116); after completion of the restore operation (French: [0018]; a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0031]; To properly restore the database 104 to the selected restore point 122, coordinator node 120 may process and apply in order (e.g., based on time 118A) each data page snapshot or copy to DB image 124 across all database nodes 106. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124 {Examiner correlates the completion of the restore operation according to the new transaction timeline being formed after image back up}): receive, at the query engine, an access request to the database restored to the previous state (French: [0018]; a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124. [0043]; This restore process may generate a new timeline T2 within DRS 102. At times T200 and T300 on timeline T2, additional transaction log backups may be performed. At time T400, a restore request 122B may be received indicating a backup to time T225 on timeline T2 {Examiner correlates the access request to the database restored according to the restore request received indicating to backup at that time in the timeline}); performing, an access request to the database restored to the previous state using the new data page cache that stores the copy of the at least one data page of the one or more data pages (French: [0017]-[0018]; Each data page version or copy may be stored in its own unique location in memory 114…a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0020]; Transaction log 116 may track which data pages 110 (or copies or snapshots thereof) are stored in memory 114. [0031]; write to their own transaction log 116 in a respective backup 112A-C. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124. [0043]; This restore process may generate a new timeline T2 within DRS 102. At times T200 and T300 on timeline T2, additional transaction log backups may be performed. [0045]; As such, when a restore 122 is requested, a user or the restore 122 may indicate which point-in-time and on which timeline the database to be restored {Examiner correlates accessing the database to restored using a data page cache according to the user indicating which timeline the user wants the database to restored where the timeline is associated to the transaction timeline associated to the data pages that are stored in the memory}). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a the fear of data loss (See French: [0027]). In addition, the references (Talius and French) teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius and French are directed to database recovery specifically in the context of point in time recovery. The modification of Talius and French teaches claimed invention substantially as claimed, however the modification of Talius and French do not explicitly teach perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database. However, Zwilling teaches perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to (Zwilling: [0036]; Restore component 140 utilizes the snapshot database 130 to restore the source database 110 to a point in time prior to an event. If an event occurs on the source database 110 and a snapshot database 130 has been created before the error, a database administrator has the option of employing the restore component 140 to revert the entire source database 110 back to the snapshot database 130, which is at a point in time before the event. [0118]; the inventive methods may be practiced with other computer system configurations, including single-processor or multiprocessor computer systems): remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs later in time after the previous state of the database to which the database is to be restored by the restore operation (Zwilling: [0035]-[0036]; Additionally, the snapshot database 130 can be transient or persistent. Transient snapshots are internal volatile copies that are destroyed after crash, failure, or shutdown. Persistent snapshots are public copies that can be more securely kept on a storage device for use by other applications. Restore component 140 utilizes the snapshot database 130 to restore the source database 110 to a point in time prior to an event. [0044]; Alternatively, all snapshots residing later in time than the snapshot being reverted to can be destroyed, while those occurring earlier in time can be saved. [0114]; A snapshot database maintains data concerning changes to a source database from the point of time of its creation {Examiner correlates the snapshot database as a data page cache meaning to remove copies of the data pages (snapshot) that are determine to represent a later state than the restore point while maintaining concerning changes from the point in time of the creation by tracking newly loaded pages from the point of its creation}); It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of observing the snapshot data and perform a restore process more efficiently without the need to restore the whole thing (See Zwilling: [0036]). In addition, the references (Talius, French, and Zwilling) teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, and Zwilling are directed to database recovery specifically in the context of point in time recovery. Regarding claim 27, Talius teaches a method comprising: receiving a request to restore a database to a previous state (Talius: Col 7, lines 27-30; One or more logical databases 120 and database tools 122 such as queries 124, SQL and/or other query languages 126 (in the form of compilers, interpreters, user interfaces, profilers, debuggers, source code, etc.). Col 8, lines 33-36; Each snapshot 150 is identified by a respective snapshot ID 226. Another as-of item is an as-of query 214, which is a query 124 seeking content 132 as it existed at the as-of time. Col 14, lines 16-19; favored when there is a large number of pages and modifications that need to be undone, and the entire database is to be restored to the specified point-in-time 210, either in-place or as a copy), wherein the database is stored as a plurality of data pages (Talius: Col 7, lines 38-42; a given database 120 includes content 132, namely, table(s) 134, table rows 136, a database schema 138, metadata 140, system table(s) 142, storage units in the form of pages 144, transaction logs and other logs 146 containing log records 152), and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages (Talius: Col 7, lines 38-42; a given database 120 includes content 132, namely, table(s) 134, table rows 136, a database schema 138, metadata 140, system table(s) 142, storage units in the form of pages 144, transaction logs and other logs 146 containing log records 152. Col 8, lines 36-38; Another as-of item is an as-of page 216, which is a page 144 having content 132 as it existed at the as-of time. Col 11, lines 9-16; Thus, in some cases the page exists, and handling 326 an as-of query 214 includes identifying 328 a page which contains information responsive to the query 214, determining 330 that the page 216 which contains information responsive to the query is present in a cache 224 of the as-of snapshot 212); storing, by the query engine, a copy of at least one data page of the one or more pages in the data page cache in a new data page cache at the query engine based, at least in part, on determining that the at least one data page describes a state of the database that occurs before the previous state of the database (Talius: Col 7, lines 64-66; One or more lists 202 of page modifications 204 reside in memory 112 (recall that memory 112 may be RAM, disk, and/or other memory). Col 8, lines 3-7; to reflect modification of page data 206 over time. Page modifications 204 include modifications (i.e., additions, deletions, changes) of page data 206 (sometimes called “page content”). Page data 206 typically includes database content 132. Col 11, lines 27-28; Writing 336 to the sparse page file or other cache may precede, follow, or overlap responding 338 to the user. Col 11, lines 30-35; As with familiar query processing, metadata is consulted to determine where the data required by the query is stored. This metadata itself is stored in its own pages. After these pages of metadata are constructed for the as-of time, they indicate which pages contained the query-responsive data for the as-of time {Examiner correlates the copy of the first query engine to the new data page cache by modifying the entire page data and writing to the cache to construct a new version to be stored in the cache}); Talius does not explicitly teach performing a restore operation to restore the database to the previous state, comprising: obtaining, at a query engine, access to the database restored to the previous state from a corresponding snapshot comprising the plurality of data pages at the previous state of the database; storing, by the query engine, a copy of at least one data page of the one or more pages in the data page cache in a new data page cache at the query engine based, at least in part, on determining that the at least one data page describes a state of the database that occurs before the previous state of the database; and after completing the restore operation: receiving, at the query engine, an access request to the database restored to the previous state; and performing, by the query engine, an access request to the database restored to the previous state using the new data page cache that stores the copy of the at least one data page of the one or more data pages. However, French teaches performing a restore operation to restore the database to the previous state, comprising: obtaining, at a query engine (French: [0027]-[0028]; As each database node 106 may have its own transaction log 116, a point-in-time backup 112 may restore each database node 106 to its previous state at the selected point-in-time. After receiving a restore command 122 that identifies the point-in-time or transaction to which a database administrator wants database 104 restored, coordinator node 120 processes the restore command 122. In an embodiment, coordinator node 120 may begin with the restore process with the most recent database image 124), access to the database restored to the previous state from a corresponding snapshot comprising the plurality of data pages at the previous state of the database (French: [0016]-[0017];For example, while data may be written to one or more table structures of database 104, those tables may physically be stored across one or more database nodes 106 in disk storage across one or more data pages 110…storing snapshot copies of data pages 110 in a memory portion 114. Memory 114 may be a disk or other non-volatile memory portion where snapshots, copies, or versions of data pages 110 are stored. [0051]; Then, for example, coordinator node 120 may be able to read the transaction logs 116 to form a complete logical log picture of the data of database 104… may restore the database 104 to any back up transaction point or point-in-time as indicated by any of the transaction logs 116); and after completing the restore operation (French: [0018]; a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0031]; To properly restore the database 104 to the selected restore point 122, coordinator node 120 may process and apply in order (e.g., based on time 118A) each data page snapshot or copy to DB image 124 across all database nodes 106. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124) [0045]; As such, when a restore 122 is requested, a user or the restore 122 may indicate which point-in-time and on which timeline the database to be restored): receiving, at the query engine, an access request to the database restored to the previous state (French: [0018]; a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124. [0043]; This restore process may generate a new timeline T2 within DRS 102. At times T200 and T300 on timeline T2, additional transaction log backups may be performed. At time T400, a restore request 122B may be received indicating a backup to time T225 on timeline T2); and performing, by the query engine, an access request to the database restored to the previous state using the new data page cache that stores the copy of the at least one data page of the one or more data pages (French: [0018]; a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0020]; Transaction log 116 may track which data pages 110 (or copies or snapshots thereof) are stored in memory 114. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124. [0043]; This restore process may generate a new timeline T2 within DRS 102. At times T200 and T300 on timeline T2, additional transaction log backups may be performed. [0045]; As such, when a restore 122 is requested, a user or the restore 122 may indicate which point-in-time and on which timeline the database to be restored). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a the same field of endeavor as Talius and French are directed to database recovery specifically in the context of point in time recovery. The modification of Talius and French teaches claimed invention substantially as claimed, however the modification of Talius and French do not explicitly teach perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database. However, Zwilling teaches perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to (Zwilling: [0036]; Restore component 140 utilizes the snapshot database 130 to restore the source database 110 to a point in time prior to an event. If an event occurs on the source database 110 and a snapshot database 130 has been created before the error, a database administrator has the option of employing the restore component 140 to revert the entire source database 110 back to the snapshot database 130, which is at a point in time before the event. [0118]; the inventive methods may be practiced with other computer system configurations, including single-processor or multiprocessor computer systems): remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database (Zwilling: [0035]-[0036]; Additionally, the snapshot database 130 can be transient or persistent. Transient snapshots are internal volatile copies that are destroyed after crash, failure, or shutdown. Persistent snapshots are public copies that can be more securely kept on a storage device for use by other applications. Restore component 140 utilizes the snapshot database 130 to restore the source database 110 to a point in time prior to an event. [0044]; Alternatively, all snapshots residing later in time than the snapshot being reverted to can be destroyed, while those occurring earlier in time can be saved. [0114]; A snapshot database maintains data concerning changes to a source database from the point of time of its creation {Examiner correlates the snapshot database as a data page cache meaning to remove copies of the data pages (snapshot) that are determine to represent a later state than the restore point while maintaining concerning changes from the point in time of the creation by tracking newly loaded pages from the point of its creation}); It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of observing the snapshot data and perform a restore process more efficiently without the need to restore the whole thing (See Zwilling: [0036]). In addition, the references (Talius, French, and Zwilling) teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, and Zwilling are directed to database recovery specifically in the context of point in time recovery. Regarding claim 33, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, and French further teaches prior to receiving the request to restore the database to the previous state: permitting, by a query engine, access to one or more data pages of a database stored in a data store (French: [0016]-[0017];For example, while data may be written to one or more table structures of database 104, those tables may physically be stored across one or more database nodes 106 in disk storage across one or more data pages 110…storing snapshot copies of data pages 110 in a memory portion 114. Memory 114 may be a disk or other non-volatile memory portion where snapshots, copies, or versions of data pages 110 are stored. [0027]-[0028]; As each database node 106 may have its own transaction log 116, a point-in-time backup 112 may restore each database node 106 to its previous state at the selected point-in-time. After receiving a restore command 122 that identifies the point-in-time or transaction to which a database administrator wants database 104 restored, coordinator node 120 processes the restore command 122. In an embodiment, coordinator node 120 may begin with the restore process with the most recent database image 124. [0051]; Then, for example, coordinator node 120 may be able to read the transaction logs 116 to form a complete logical log picture of the data of database 104… may restore the database 104 to any back up transaction point or point-in-time as indicated by any of the transaction logs 116), wherein the data store includes snapshots of different states of the database including the corresponding snapshot of the previous state, and wherein the data store includes log records that describe changes applied to the database (French: [0016]-[0017];For example, while data may be written to one or more table structures of database 104, those tables may physically be stored across one or more database nodes 106 in disk storage across one or more data pages 110…storing snapshot copies of data pages 110 in a memory portion 114. Memory 114 may be a disk or other non-volatile memory portion where snapshots, copies, or versions of data pages 110 are stored. [0020]-[0021]; transaction log 116 may be a point-in-time transaction log that continuously tracks updates to a corresponding database node 106. Example metadata which may be stored or tracked in transaction log 116 include a time 118A, location 118B, and data page number 118C. For example, time 118 may include a time when a transaction 116 was committed to database 104 (e.g., in one of the database nodes 106)); French does not explicitly teach store the one or more data pages of the database in the data page cache. Talius further teaches storing the one or more data pages of the database in the data page cache (Talius: Col 11, lines 12-16; handling 326 an as-of query 214 includes identifying 328 a page which contains information responsive to the query 214, determining 330 that the page 216 which contains information responsive to the query is present in a cache 224 of the as-of snapshot 212, and responding 338 to the as-of query using the page. Col 11, lines 25-28; writing 336 the as-of page to the cache file of the as-of snapshot, and responding 338 to the query using the as-of page. Writing 336 to the sparse page file or other cache may precede, follow, or overlap responding 338 to the user. Col 11, lines 30-35; As with familiar query processing, metadata is consulted to determine where the data required by the query is stored. This metadata itself is stored in its own pages. After these pages of metadata are constructed for the as-of time, they indicate which pages contained the query-responsive data for the as-of time). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of observing the snapshot data and perform a restore process more efficiently without the need to restore the whole thing (See Zwilling: [0036]). In addition, the references (Talius, French, and Zwilling) teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, and Zwilling are directed to database recovery specifically in the context of point in time recovery. Regarding claim 34, Talius teaches a non-transitory, computer-readable storage medium (Talius: Col 6, lines 24-28; Whenever reference is made to data or instructions, it is understood that these items configure a computer-readable memory and/or computer-readable storage medium, thereby transforming it to a particular article, as opposed to simply existing on paper, in a person's mind, or as a transitory signal on a wire, for example), storing program instructions that when executed by one or more computing devices cause the one or more computing devices to (Talius: Col 7, lines 11-17; The medium 114 is configured with instructions 116 that are executable by a processor 110; “executable” is used in a broad sense herein to include machine code, interpretable code, and code that runs on a virtual machine, for example. The medium 114 is also configured with data 118 which is created, modified, referenced, and/or otherwise used by execution of the instructions 116): receive a request to restore a database to a previous state (Talius: Col 7, lines 27-30; One or more logical databases 120 and database tools 122 such as queries 124, SQL and/or other query languages 126 (in the form of compilers, interpreters, user interfaces, profilers, debuggers, source code, etc.). Col 8, lines 33-36; Each snapshot 150 is identified by a respective snapshot ID 226. Another as-of item is an as-of query 214, which is a query 124 seeking content 132 as it existed at the as-of time. Col 14, lines 16-19; favored when there is a large number of pages and modifications that need to be undone, and the entire database is to be restored to the specified point-in-time 210, either in-place or as a copy), wherein the database is stored as a plurality of data pages (Talius: Col 7, lines 38-42; a given database 120 includes content 132, namely, table(s) 134, table rows 136, a database schema 138, metadata 140, system table(s) 142, storage units in the form of pages 144, transaction logs and other logs 146 containing log records 152), and wherein access to the previous state of the database was performed using a data page cache Col 7, lines 38-42; a given database 120 includes content 132, namely, table(s) 134, table rows 136, a database schema 138, metadata 140, system table(s) 142, storage units in the form of pages 144, transaction logs and other logs 146 containing log records 152. Col 8, lines 36-38; Another as-of item is an as-of page 216, which is a page 144 having content 132 as it existed at the as-of time. Col 11, lines 9-16; Thus, in some cases the page exists, and handling 326 an as-of query 214 includes identifying 328 a page which contains information responsive to the query 214, determining 330 that the page 216 which contains information responsive to the query is present in a cache 224 of the as-of snapshot 212); perform, a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to (Talius: Col 7, lines 27-30; One or more logical databases 120 and database tools 122 such as queries 124, SQL and/or other query languages 126 (in the form of compilers, interpreters, user interfaces, profilers, debuggers, source code, etc.). Col 8, lines 33-36; Each snapshot 150 is identified by a respective snapshot ID 226. Another as-of item is an as-of query 214, which is a query 124 seeking content 132 as it existed at the as-of time. Col 14, lines 16-19; favored when there is a large number of pages and modifications that need to be undone, and the entire database is to be restored to the specified point-in-time 210, either in-place…): storing, at the query engine, a copy of at least one data page of the one or more data pages in the data page cache in a new data page cache at the query engine based, at least in art, on determining that the at least one data page describes a state of the database that occurs before the previous state of the database (Talius: Col 7, lines 64-66; One or more lists 202 of page modifications 204 reside in memory 112 (recall that memory 112 may be RAM, disk, and/or other memory). Col 8, lines 3-7; to reflect modification of page data 206 over time. Page modifications 204 include modifications (i.e., additions, deletions, changes) of page data 206 (sometimes called “page content”). Page data 206 typically includes database content 132. Col 11, lines 27-28; Writing 336 to the sparse page file or other cache may precede, follow, or overlap responding 338 to the user. Col 11, lines 30-35; As with familiar query processing, metadata is consulted to determine where the data required by the query is stored. This metadata itself is stored in its own pages. After these pages of metadata are constructed for the as-of time, they indicate which pages contained the query-responsive data for the as-of time {Examiner correlates the copy of the first query engine to the new data page cache by modifying the entire page data and writing to the cache to construct a new version to be stored in the cache}); Talius does not explicitly teach perform, a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: obtain, at a query engine, access to the database restored to the previous state from a corresponding snapshot comprising the plurality of data pages at the previous state of the database; storing, at the query engine, a copy of at least one data page of the one or more data pages in the data page cache in a new data page cache at the query engine based, at least in art, on determining that the at least one data page describes a state of the database that occurs before the previous state of the database; and after completion of the restore operation: receive, at the query engine, an access request to the database restored to the previous state; and perform, by the query engine, an access request to the database restored to the previous state using the new data page cache that stores the copy of the at least one data page of the one or more data pages. However, French teaches perform, a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to (French: [0027]-[0028]; As each database node 106 may have its own transaction log 116, a point-in-time backup 112 may restore each database node 106 to its previous state at the selected point-in-time. After receiving a restore command 122 that identifies the point-in-time or transaction to which a database administrator wants database 104 restored, coordinator node 120 processes the restore command 122. In an embodiment, coordinator node 120 may begin with the restore process with the most recent database image 124): obtain, at a query engine, access to the database restored to the previous state from a corresponding snapshot comprising the plurality of data pages at the previous state of the database (French: [0016]-[0017];For example, while data may be written to one or more table structures of database 104, those tables may physically be stored across one or more database nodes 106 in disk storage across one or more data pages 110…storing snapshot copies of data pages 110 in a memory portion 114. Memory 114 may be a disk or other non-volatile memory portion where snapshots, copies, or versions of data pages 110 are stored. [0051]; Then, for example, coordinator node 120 may be able to read the transaction logs 116 to form a complete logical log picture of the data of database 104… may restore the database 104 to any back up transaction point or point-in-time as indicated by any of the transaction logs 116); after completion of the restore operation (French: [0018]; a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0031]; To properly restore the database 104 to the selected restore point 122, coordinator node 120 may process and apply in order (e.g., based on time 118A) each data page snapshot or copy to DB image 124 across all database nodes 106. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124): receive, at the query engine, an access request to the database restored to the previous state (French: [0018]; a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124. [0043]; This restore process may generate a new timeline T2 within DRS 102. At times T200 and T300 on timeline T2, additional transaction log backups may be performed. At time T400, a restore request 122B may be received indicating a backup to time T225 on timeline T2); and perform, by the query engine, an access request to the database restored to the previous state using the new data page cache that stores the copy of the at least one data page of the one or more data pages (French: [0018]; a write transaction 108 is processed by database node(s) 106, and one or more data pages 110 of the respective database node 106 are updated, a copy of the updated data pages 110 may be made and written to memory 114. For example, upon completion of a modification to data page 110A, database node 106A may notify backup 112A that data page 110A has been updated. [0020]; Transaction log 116 may track which data pages 110 (or copies or snapshots thereof) are stored in memory 114. [0038]; In another embodiment, a new transaction timeline (e.g., new transaction logs 116) may begin after each full database backup or image 124. [0043]; This restore process may generate a new timeline T2 within DRS 102. At times T200 and T300 on timeline T2, additional transaction log backups may be performed. [0045]; As such, when a restore 122 is requested, a user or the restore 122 may indicate which point-in-time and on which timeline the database to be restored {Examiner correlates the new timeline generated as the new updated page cache to be access to be restored}). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a The modification of Talius and French teaches claimed invention substantially as claimed, however the modification of Talius and French do not explicitly teach perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database. However, Zwilling teaches perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to (Zwilling: [0036]; Restore component 140 utilizes the snapshot database 130 to restore the source database 110 to a point in time prior to an event. If an event occurs on the source database 110 and a snapshot database 130 has been created before the error, a database administrator has the option of employing the restore component 140 to revert the entire source database 110 back to the snapshot database 130, which is at a point in time before the event. [0118]; the inventive methods may be practiced with other computer system configurations, including single-processor or multiprocessor computer systems): remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database (Zwilling: [0035]-[0036]; Additionally, the snapshot database 130 can be transient or persistent. Transient snapshots are internal volatile copies that are destroyed after crash, failure, or shutdown. Persistent snapshots are public copies that can be more securely kept on a storage device for use by other applications. Restore component 140 utilizes the snapshot database 130 to restore the source database 110 to a point in time prior to an event. [0044]; Alternatively, all snapshots residing later in time than the snapshot being reverted to can be destroyed, while those occurring earlier in time can be saved. [0114]; A snapshot database maintains data concerning changes to a source database from the point of time of its creation {Examiner correlates the snapshot database as a data page cache meaning to remove copies of the data pages (snapshot) that are determine to represent a later state than the restore point while maintaining concerning changes from the point in time of the creation by tracking newly loaded pages from the point of its creation}); It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of observing the snapshot data and perform a restore process more efficiently without the need to restore the whole thing (See Zwilling: [0036]). In addition, the references (Talius, French, and Zwilling) teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, and Zwilling are directed to database recovery specifically in the context of point in time recovery. Regarding claim 40, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, and French further teaches the corresponding snapshot is stored in a data store that includes snapshots of different states of the database including the corresponding snapshot of the previous state, and wherein the data store includes log records that describe changes applied to the database (French: [0016]-[0017];For example, while data may be written to one or more table structures of database 104, those tables may physically be stored across one or more database nodes 106 in disk storage across one or more data pages 110…storing snapshot copies of data pages 110 in a memory portion 114. Memory 114 may be a disk or other non-volatile memory portion where snapshots, copies, or versions of data pages 110 are stored. [0020]-[0021]; transaction log 116 may be a point-in-time transaction log that continuously tracks updates to a corresponding database node 106. Example metadata which may be stored or tracked in transaction log 116 include a time 118A, location 118B, and data page number 118C. For example, time 118 may include a time when a transaction 116 was committed to database 104 (e.g., in one of the database nodes 106)); French does not explicitly teach store the one or more data pages of the database in the data page cache. However, Talius teaches store the one or more data pages of the database in the data page cache (Talius: Col 11, lines 12-16; handling 326 an as-of query 214 includes identifying 328 a page which contains information responsive to the query 214, determining 330 that the page 216 which contains information responsive to the query is present in a cache 224 of the as-of snapshot 212, and responding 338 to the as-of query using the page. Col 11, lines 25-28; writing 336 the as-of page to the cache file of the as-of snapshot, and responding 338 to the query using the as-of page. Writing 336 to the sparse page file or other cache may precede, follow, or overlap responding 338 to the user. Col 11, lines 30-35; As with familiar query processing, metadata is consulted to determine where the data required by the query is stored. This metadata itself is stored in its own pages. After these pages of metadata are constructed for the as-of time, they indicate which pages contained the query-responsive data for the as-of time). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of observing the snapshot data and perform a restore process more efficiently without the need to restore the whole thing (See Zwilling: [0036]). In addition, the references (Talius, French, and Zwilling) teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, and Zwilling are directed to database recovery specifically in the context of point in time recovery. Claims 22-24, 28-30, and 35-37 are rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent 8,527,462 issued to Talius et al. (hereinafter as "Talius") in view of U.S Patent Publication 2016/0342484 issued to French et al. (hereinafter as "French") in view of U.S Patent Application Publication 2012/0101997 issued to Zwilling et al. (hereinafter as "Zwilling") in further view of U.S Patent 7,594,085 issued to Mandavilli Navneeth Rao (hereinafter as "Rao"). Regarding claim 22, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach the one or more data pages have respective sequence numbers greater than a sequence number of the previous state of the database. Rao teaches the one or more data pages have respective sequence numbers greater than a sequence number of the previous state of the database (Rao: Col 4, lines 6-8; In some embodiments, points in time outside of protection window 106 are no longer available and cannot be restored or access by a user. Col 4, lines 16-20; In some embodiments, baseline time 108 is the earliest time at which a prior state or version is made available, e.g., to a user, to be restored or accessed. Current time 110 corresponds to the current state of a device and is the most recent time for which the state of a device can be restored {Examiner correlates that the points in the time outside the protection window have a greater timestamp and the earlier ones are able to be restored while the later ones are deny}). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the further teachings of Rao (teaches determine that a remaining one or more data pages of the one or more data pages are not to be accessed when the remaining one or more data pages do not occur before the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of utilizing a index or other data structures to make search more efficient in a event to restore and update data (See Rao: Col 25, lines 35-37). In addition, the references (Talius, French, Zwilling, and Rao teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Rao are directed to database recovery specifically in the context of point in time recovery. Regarding claim 23, the modification of Talius, French, Zwilling, and Rao teaches claimed invention substantially as claimed, and Rao further teaches replace the remaining one or more data pages from the data page cache with one or more data pages that correspond to the one or more remaining data pages and that are included in the database restored to the previous state (Rao: Col 4, lines 38-40; some older data has to be purged earlier than it would otherwise have been purge, to make the space in which it is stored available to store new data. Col 9, lines 44-47; In some embodiments, older nodes or entries are shifted or reorganized within an index as new entries or nodes are added to the index and/or older nodes or entries are deleted from the index). Regarding claim 24, the modification of Talius, French, Zwilling, and Rao teaches claimed invention substantially as claimed, and Rao further teaches the program instructions further cause the at least one processor to: delete the remaining one or more data pages from the data page cache (Rao: Col 4, lines 38-40; some older data has to be purged earlier than it would otherwise have been purge, to make the space in which it is stored available to store new data. Col 9, lines 45-47; In some embodiments, older nodes or entries are shifted or reorganized within an index as new entries or nodes are added to the index and/or older nodes or entries are deleted from the index). Regarding claim 28, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach the one or more data pages have respective sequence numbers greater than a sequence number of the previous state of the database. Rao teaches the one or more data pages have respective sequence numbers greater than a sequence number of the previous state of the database (Rao: Col 4, lines 6-8; In some embodiments, points in time outside of protection window 106 are no longer available and cannot be restored or access by a user. Col 4, lines 16-20; In some embodiments, baseline time 108 is the earliest time at which a prior state or version is made available, e.g., to a user, to be restored or accessed. Current time 110 corresponds to the current state of a device and is the most recent time for which the state of a device can be restored). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a engine, access to the database restored to the previous state from a corresponding snapshot comprising the plurality of data pages at the previous state of the database…an access request to the database restored to the previous state using the new data page cache that stores the copy of the at least one data page of the one or more data pages) to include the teachings of Zwilling (teaches perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the teachings of Rao (teaches determine that a remaining one or more data pages of the one or more data pages are not to be accessed when the remaining one or more data pages do not occur before the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of utilizing a index or other data structures to make search more efficient in a event to restore and update data (See Rao: Col 25, lines 35-37). In addition, the references (Talius, French, Zwilling, and Rao teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Rao are directed to database recovery specifically in the context of point in time recovery. Regarding claim 29, the modification of Talius, French, Zwilling, and Rao teaches claimed invention substantially as claimed, and Rao further teaches replacing the remaining one or more data pages from the data page cache with one or more data pages that correspond to the one or more remaining data pages and that are included in the database restored to the previous state (Rao: Col 4, lines 38-40; some older data has to be purged earlier than it would otherwise have been purge, to make the space in which it is stored available to store new data. Col 9, lines 44-47; In some embodiments, older nodes or entries are shifted or reorganized within an index as new entries or nodes are added to the index and/or older nodes or entries are deleted from the index). Regarding claim 30, the modification of Talius, French, Zwilling, and Rao teaches claimed invention substantially as claimed, and Rao further teaches deleting the remaining one or more data pages from the data page cache (Rao: Col 4, lines 38-40; some older data has to be purged earlier than it would otherwise have been purge, to make the space in which it is stored available to store new data. Col 9, lines 45-47; In some embodiments, older nodes or entries are shifted or reorganized within an index as new entries or nodes are added to the index and/or older nodes or entries are deleted from the index). Regarding claim 35, the modification of Talius, French, Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach the one or more data pages have respective sequence numbers greater than a sequence number of the previous state of the database. Rao teaches the one or more data pages have respective sequence numbers greater than a sequence number of the previous state of the database (Rao: Col 4, lines 6-8; In some embodiments, points in time outside of protection window 106 are no longer available and cannot be restored or access by a user. Col 4, lines 16-20; In some embodiments, baseline time 108 is the earliest time at which a prior state or version is made available, e.g., to a user, to be restored or accessed. Current time 110 corresponds to the current state of a device and is the most recent time for which the state of a device can be restored). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a to perform the restore operation the program instructions cause the at least one processor to: remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the further teachings of Rao (teaches determine that a remaining one or more data pages of the one or more data pages are not to be accessed when the remaining one or more data pages do not occur before the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of utilizing a index or other data structures to make search more efficient in a event to restore and update data (See Rao: Col 25, lines 35-37). In addition, the references (Talius, French, Zwilling, and Rao teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Rao are directed to database recovery specifically in the context of point in time recovery. Regarding claim 36, the modification of Talius, French, Zwilling, and Rao teaches claimed invention substantially as claimed, and Rao further teaches replace the remaining one or more data pages from the data page cache with one or more data pages that correspond to the one or more remaining data pages and that are included in the database restored to the previous state (Rao: Col 4, lines 38-40; some older data has to be purged earlier than it would otherwise have been purge, to make the space in which it is stored available to store new data. Col 9, lines 44-47; In some embodiments, older nodes or entries are shifted or reorganized within an index as new entries or nodes are added to the index and/or older nodes or entries are deleted from the index). Regarding claim 37, the modification of Talius, French, Zwilling, and Rao teaches claimed invention substantially as claimed, and Rao further teaches delete the remaining one or more data pages from the data page cache (Rao: Col 4, lines 38-40; some older data has to be purged earlier than it would otherwise have been purge, to make the space in which it is stored available to store new data. Col 9, lines 45-47; In some embodiments, older nodes or entries are shifted or reorganized within an index as new entries or nodes are added to the index and/or older nodes or entries are deleted from the index). Claims 25, 31, and 38 are rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent 8,527,462 issued to Talius et al. (hereinafter as "Talius") in view of U.S Patent Publication 2016/0342484 issued to French et al. (hereinafter as "French") in view of U.S Patent Application Publication 2012/0101997 issued to Zwilling et al. (hereinafter as "Zwilling") in further view of U.S Patent Application Publication 2005/0015416 issued to Kenji Yamagami (hereinafter as “Yamagami”). Regarding claim 25, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach the at least one data page does not occur before the previous state of the database when a sequence number of the at least one data page is not greater than a restore point sequence number associated with the previous state of the database. Yamagami teaches the at least one data page does not occur before the previous state of the database when a sequence number of the at least one data page is not greater than a restore point sequence number associated with the previous state of the database (Yamagami: [0076]; In accordance with the invention, each snapshot and journal entry is assigned a sequence number in the order in which the object (snapshot or journal entry) is recorded. [0118]; A snapshot must have been taken between the oldest journal and newest journal…every snapshot has a sequence number. The sequence number can be used to identify a suitable snapshot. If the sequence number of a candidate snapshot is greater than that of the oldest journal and smaller than that of the newest journal, then the snapshot is suitable). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a engine, access to the database restored to the previous state from a corresponding snapshot comprising the plurality of data pages at the previous state of the database…an access request to the database restored to the previous state using the new data page cache that stores the copy of the at least one data page of the one or more data pages) with the teachings of Zwilling (teaches perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the further teachings of Yamagami (teaches determine that a remaining one or more data pages of the one or more data pages are not to be accessed when the remaining one or more data pages do not occur before the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of utilizing a index or other data structures to make search more efficient by allowing the user to inspect data in a trial and error manner to recover data forward and backward in their desire state (See Yamagami: [0089]). In addition, the references (Talius, French, Zwilling, and Yamagami teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Yamagami are directed to database recovery specifically in the context of point in time recovery. Regarding claim 31, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach does not explicitly teach the at least one data page does not occur before the previous state of the database when a sequence number of the at least one data page is not greater than a restore point sequence number associated with the previous state of the database. Yamagami teaches the at least one data page does not occur before the previous state of the database when a sequence number of the at least one data page is not greater than a restore point sequence number associated with the previous state of the database (Yamagami: [0076]; In accordance with the invention, each snapshot and journal entry is assigned a sequence number in the order in which the object (snapshot or journal entry) is recorded. [0118]; A snapshot must have been taken between the oldest journal and newest journal…every snapshot has a sequence number. The sequence number can be used to identify a suitable snapshot. If the sequence number of a candidate snapshot is greater than that of the oldest journal and smaller than that of the newest journal, then the snapshot is suitable). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the further teachings of Yamagami (teaches determine that a remaining one or more data pages of the one or more data pages are not to be accessed when the remaining one or more data pages do not occur before the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of utilizing a index or other data structures to make search more efficient by allowing the user to inspect data in a trial and error manner to recover data forward and backward in their desire state (See Yamagami: [0089]). In addition, the references (Talius, French, Zwilling, and Yamagami teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Yamagami are directed to database recovery specifically in the context of point in time recovery. Regarding claim 38, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach the at least one data page does not occur before than the previous state of the database when a sequence number of the at least one data page is not greater than a restore point sequence number associated with the previous state of the database. Yamagami teaches at least one data page does not occur before than the previous state of the database when a sequence number of the at least one data page is not greater than a restore point sequence number associated with the previous state of the database (Yamagami: [0076]; In accordance with the invention, each snapshot and journal entry is assigned a sequence number in the order in which the object (snapshot or journal entry) is recorded. [0118]; A snapshot must have been taken between the oldest journal and newest journal…every snapshot has a sequence number. The sequence number can be used to identify a suitable snapshot. If the sequence number of a candidate snapshot is greater than that of the oldest journal and smaller than that of the newest journal, then the snapshot is suitable). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the further teachings of Yamagami (teaches determine that a remaining one or more data pages of the one or more data pages are not to be accessed when the remaining one or more data pages do not occur before the previous state of the database). One of ordinary skill in the art would have been motivated to make such a combination of utilizing a index or other data structures to make search more efficient by allowing the user to inspect data in a trial and error manner to recover data forward and backward in their desire state (See Yamagami: [0089]). In addition, the references (Talius, French, Zwilling, and Yamagami teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Yamagami are directed to database recovery specifically in the context of point in time recovery. Claims 26, 32 and 39 are rejected under 35 U.S.C. 103 as being unpatentable over U.S Patent 8,527,462 issued to Talius et al. (hereinafter as "Talius") in view of U.S Patent Publication 2016/0342484 issued to French et al. (hereinafter as "French") in view of U.S Patent Application Publication 2012/0101997 issued to Zwilling et al. (hereinafter as "Zwilling") in further view of U.S Patent Application Publication 2006/0150001 issued to Eguchi (hereinafter as “Eguchi”). Regarding claim 26, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach the query engine is implemented as part of a database service offered by a provider network, and wherein the request to restore the database to the previous state is received via an interface of the database service. Eguchi teaches the query engine is implemented as part of a database service offered by a provider network (Eguchi: [0049]; The local network 18 connects the storage controllers 11, the cache memories 14, and physical storages 10 to each other. The local network 18 may be constructed, for example, in a configuration of shared bus type or in a network configuration of star type. [0058]; For other processing, for example, processing of an inquiry command of SCSI (a command to indicate a device search), the storage controller 11 executes the command processing program 415 to control operation corresponding to the contents of the processing. [0077]; the host 1 executes transaction processing for a database, reads data stored in the log file 506 to execute data recovery, or controls a checkpoint. By executing the log manager 503, the host 1 controls input and output operations for a database), and wherein the request to restore the database to the previous state is received via an interface of the database service (Eguchi: [0037]; a network 4 to couple the hosts 1 with the storage systems 2, and a network 5 to couple the hosts 1, the storage systems 2, and the management terminals 3 with each other. [0077]; the host 1 executes transaction processing for a database, reads data stored in the log file 506 to execute data recovery, or controls a checkpoint. By executing the log manager 503, the host 1 controls input and output operations for a database. [0169]; the user can indicate restoration processing via the graphic user interface 1603 of the management terminal 3 to the storage system 2. For example, the diagram illustrates an indication to restore the contents of the logical storage 408 displayed in the area 1803 to the state at the point of time “14:00 on May 5th, 2002” selected from the points of time displayed in the area 1804). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the further teachings of Eguchi (teaches the data store is a log-structured storage service implemented as part of the provider network, wherein the query engine is a database engine head node of a database service implemented as part of the provider network, and wherein the request to restore the database to the previous state is received via a network-based interface for the database service). One of ordinary skill in the art would have been motivated to make such a combination of improving the performance of the database management system by utilizing a provider network to restore data to the previous state by allowing better efficient retrieval of data for recovery (See Eguchi: [0184]). In addition, the references (Talius, French, Zwilling, and Eguchi teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Eguchi are directed to database recovery specifically in the context of point in time recovery. Regarding claim 32, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach the data store is a log-structured storage service implemented as part of the provider network, wherein the query engine is a database engine head node of a database service implemented as part of the provider network, and wherein the request to restore the database to the previous state is received via a network-based interface for the database service. Eguchi teaches the data store is a log-structured storage service implemented as part of the provider network (Eguchi: [0049]; The local network 18 connects the storage controllers 11, the cache memories 14, and physical storages 10 to each other. The local network 18 may be constructed, for example, in a configuration of shared bus type or in a network configuration of star type. [0054] To control processing in the storage system 2, the storage controller 11 includes in the nonvolatile memory 15 an I/O processing program 403, a replication control processing program 404, a storage subsystem configuration management program 402, a restoration control program 406, and programs of the journal controller 405. [0062] The journal management program 405 includes a journal creation program 419 executed when the storage controller 11 creates journal data, a journal read program 420 executed when the storage controller 11 reads journal data created in advance), wherein the query engine is a database engine head node of a database service implemented as part of the provider network (Eguchi:[0090]; FIG. 9 illustrates an exemplary system 900 that employs logless component checkpointing in accordance with the instant innovation. Here, a middle -tier system 902 serves as an application server between a client system 904 and a database management system (DBMS) 906. The middle-tier system 902 performs the business logic. The client system 904 performs checkpointing of the client log (not shown) for recreation of a failed LLcom (not shown) in the middle-tier system 902), and wherein the request to restore the database to the previous state is received via a network-based interface for the database service (Eguchi: [0056]; The I/O processing program 403 further includes a command processing program 415 and a read-write processing program 416. Having received an I/O processing request from the host 1 via the network interface 17, the storage controller 11 executes the command processing program 415 to analyze the contents of the I/O processing request. [0070]; The backup/restoration control program 406 includes a restoration program 421 and a backup program 422. By executing the restoration program 421, the storage controller 11 restores, according to a restoration request from the host 1, data of a logical storage specified by the request. The restoration processing will be described later in detail. [0077]; By executing the transaction manager 502, the host 1 executes transaction processing for a database, reads data stored in the log file 506 to execute data recovery, or controls a checkpoint. By executing the log manager 503, the host 1 controls input and output operations for a database). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the further teachings of Eguchi (teaches the data store is a log-structured storage service implemented as part of the provider network, wherein the query engine is a database engine head node of a database service implemented as part of the provider network, and wherein the request to restore the database to the previous state is received via a network-based interface for the database service). One of ordinary skill in the art would have been motivated to make such a combination of improving the performance of the database management system by utilizing a provider network to restore data to the previous state by allowing better efficient retrieval of data for recovery (See Eguchi: [0184]). In addition, the references (Talius, French, Zwilling, and Eguchi teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Eguchi are directed to database recovery specifically in the context of point in time recovery. Regarding claim 39, the modification of Talius, French, and Zwilling teaches claimed invention substantially as claimed, however the modification of Talius, French, and Zwilling does not explicitly teach the database is stored as part of a network-based database service and wherein the request to restore the database is received via a network-interface for the database service. Eguchi teaches the database is stored as part of a network-based database service and wherein the request to restore the database is received via a network-interface for the database service (Eguchi: [0056]; The I/O processing program 403 further includes a command processing program 415 and a read-write processing program 416. Having received an I/O processing request from the host 1 via the network interface 17, the storage controller 11 executes the command processing program 415 to analyze the contents of the I/O processing request. [0070]; The backup/restoration control program 406 includes a restoration program 421 and a backup program 422. By executing the restoration program 421, the storage controller 11 restores, according to a restoration request from the host 1, data of a logical storage specified by the request. The restoration processing will be described later in detail. [0077]; By executing the transaction manager 502, the host 1 executes transaction processing for a database, reads data stored in the log file 506 to execute data recovery, or controls a checkpoint. By executing the log manager 503, the host 1 controls input and output operations for a database). It would have been obvious to a person of ordinary skill in the art, before the effective filing date of the invention, to modify Talius (teaches receive a request to restore the database to a previous state, wherein the database is stored as a plurality of data pages, and wherein access to the previous state of the database was performed using a data page cache that stored copies of one or more data pages of the plurality of data pages…determining that the at least one data page describes a state of the database that occurs before the previous state of the database) with the teachings of French (teaches perform a restore operation to restore the database to the previous state…obtain, at a state using the new data page cache that stores the copy of the at least one data page of the one or more data pages) with the teachings of Zwilling (teaches perform a restore operation to restore the database to the previous state, wherein to perform the restore operation the program instructions cause the at least one processor to: remove a further copy of one or more data pages stored in the new data page cache according to a determination that the one or more data pages describes a later state of the database that occurs after the previous state of the database) with the further teachings of Eguchi (teaches the data store is a log-structured storage service implemented as part of the provider network, wherein the query engine is a database engine head node of a database service implemented as part of the provider network, and wherein the request to restore the database to the previous state is received via a network-based interface for the database service). One of ordinary skill in the art would have been motivated to make such a combination of improving the performance of the database management system by utilizing a provider network to restore data to the previous state by allowing better efficient retrieval of data for recovery (See Eguchi: [0184]). In addition, the references (Talius, French, Zwilling, and Eguchi teach features that are directed to analogous art and they are directed to the same field of endeavor as Talius, French, Zwilling, and Eguchi are directed to database recovery specifically in the context of point in time recovery. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. U.S Patent 6,651,077 issued to East et al. (hereinafter as “East”) teaches avoiding possible data corruption resulting to restoring data to a database from a backset and examining to determining a recovery to restore the data. U.S Patent Application Publication 2007/0185922 issued to Kapoor et al. (hereinafter as “Kapoor”) teaches restoring a database to particular state based on the query sent and reviewing the list of backups before making a determination to restore the database accordingly. U.S Patent Application Publication 2012/0150806 issued to Barsness et al. (hereinafter as “Barsness”) teaches normalizing a database as part of a database restore by responding to restore database based on the previous state according to the backup data. U.S Patent 9,424,140 issued to Madhavarapu et al. (hereinafter as “Madhavarapu et al. (hereinafter as “Madhavarapu”) teaches a distributed data store in which provide volume recovery based on utilizing recovery agent to determine data volume available to provide recovery. Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Contact Information Any inquiry concerning this communication or earlier communications from the examiner should be directed to ANDREW N HO whose telephone number is (571)270-0590. The examiner can normally be reached Tuesday and Thursday 10:00-6:00. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Sherief Badawi can be reached at (571) 272-9782. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. 2/13/2026 /ANDREW N HO/Examiner Art Unit 2169 /SHERIEF BADAWI/Supervisory Patent Examiner, Art Unit 2169
Read full office action

Prosecution Timeline

Dec 22, 2021
Application Filed
Jan 27, 2023
Response after Non-Final Action
Nov 14, 2024
Non-Final Rejection — §103
Feb 20, 2025
Response Filed
May 01, 2025
Final Rejection — §103
Jul 07, 2025
Response after Non-Final Action
Jul 28, 2025
Request for Continued Examination
Aug 01, 2025
Response after Non-Final Action
Oct 09, 2025
Non-Final Rejection — §103
Jan 15, 2026
Response Filed
Feb 12, 2026
Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12541533
DATA SYNCHRONIZATION ERROR RESOLUTION
2y 5m to grant Granted Feb 03, 2026
Patent 12524423
Systems and Methods for Using Multiple Aggregation Levels in a Single Data Visualization
2y 5m to grant Granted Jan 13, 2026
Patent 12511265
DEDUPLICATION FOR DATA TRANSFERS TO PORTABLE STORAGE DEVICES
2y 5m to grant Granted Dec 30, 2025
Patent 12475002
SYSTEM AND METHOD FOR EFFICIENT BLOCK LEVEL GRANULAR REPLICATION
2y 5m to grant Granted Nov 18, 2025
Patent 12475130
NATURAL LANGUAGE KEYWORD TAG EXTRACTION
2y 5m to grant Granted Nov 18, 2025
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

5-6
Expected OA Rounds
62%
Grant Probability
92%
With Interview (+30.3%)
4y 1m
Median Time to Grant
High
PTA Risk
Based on 221 resolved cases by this examiner. Grant probability derived from career allow rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month