Prosecution Insights
Last updated: October 02, 2026
Application No. 19/289,678

PARTIAL DATABASE RESTORATION

Non-Final OA §DP
Filed
Aug 04, 2025
Priority
Oct 03, 2017 — provisional 62/567,499 +2 more
Examiner
BUTLER, SARAI E
Art Unit
Tech Center
Assignee
Rubrik Inc.
OA Round
1 (Non-Final)
88%
Grant Probability
Favorable
1-2
OA Rounds
1y 2m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 88% — above average
88%
Career Allowance Rate
1019 granted / 1156 resolved
+28.1% vs TC avg
Moderate +11% lift
Without
With
+10.7%
Interview Lift
resolved cases with interview
Typical timeline
2y 4m
Avg Prosecution
19 currently pending
Career history
1177
Total Applications
across all art units

Statute-Specific Performance

§101
4.3%
-35.7% vs TC avg
§103
54.5%
+14.5% vs TC avg
§102
20.2%
-19.8% vs TC avg
§112
9.7%
-30.3% vs TC avg
Black line = Tech Center average estimate • Based on career data from 1156 resolved cases

Office Action

§DP
DETAILED ACTION The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . This is in response to Application 19/289678 filed on August 4, 2025 in which Claims 1-20 are presented for examination. Status of Claims Claims 1-20 are pending, of which claims 1, 5-10, 12, 13, 15, 19 and 20 are rejected under Double Patenting. Claims 1-20 do not have a prior art rejection. Allowable Subject Matter Claims 2-4, 11, 14 and 16-18 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Double Patenting The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP §§ 706.02(l)(1) - 706.02(l)(3) for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/process/file/efs/guidance/eTD-info-I.jsp. Claims 1, 5-10, 12, 13, 15, 19 and 20 of the instant application are rejected on the ground of obviousness-type nonstatutory double patenting as being unpatentable over Claims 1-3, 5-7, 9, 11, 12, 14, 15 and 19 of U.S. Patent No. US 12,399,783. Although the claims at issue are not identical, they are not patentably distinct from each other because the aforementioned claims of the instant application are rejected based on obviousness-type double patenting with regards to the aforementioned parent patent. The following table summarizes claim mappings associated with the obviousness-type double patenting rejections: 19/289678 17/849939 (12,399,783) 1. A method, comprising: determining a restore time for a database; querying a change log stored at a database restore system to identify one or more data entries in the database that were modified after the restore time, the change log comprising one or more change records corresponding to the one or more data entries, the one or more data entries comprising a subset of total data entries in the database; determining that a data entry associated with a data entry identifier was added to the database after the restore time based at least in part on the one or more change records not comprising the data entry identifier; determining respective previous values of the one or more data entries from the one or more change records or a previous copy of the database stored at the database restore system, the previous copy being based at least in part on a full backup copy of the database and corresponding to a time period prior to the restore time; reverting the one or more data entries to the respective previous values of the one or more data entries; and removing the data entry from the database based at least in part on the one or more change records not comprising the data entry identifier. 1. A method, comprising: detecting an error in a database supported by a database restore system; determining a restore time for the database based at least in part on detecting the error, the restore time occurring prior to the error; querying a change log stored at the database restore system to identify one or more data entries in the database that were modified after the restore time, the change log comprising one or more change records corresponding to the one or more data entries, the one or more data entries comprising a subset of total data entries in the database; determining that a data entry associated with a data entry identifier was added to the database after the restore time based at least in part on the one or more change records not comprising the data entry identifier; determining respective previous values of the one or more data entries from a previous copy of the database stored at the database restore system, the previous copy being based at least in part on a full backup copy of the database and corresponding to a time period prior to the restore time; and performing a partial restoration of the database by reverting the one or more data entries to the respective previous values of the one or more data entries, wherein performing the partial restoration of the database comprises removing the data entry from the database. 5. The method of claim 1, further comprising: identifying one or more partial changes made to the database after the restore time, wherein determining the respective previous values of the one or more data entries is based at least in part on identifying the one or more partial changes. 2. The method of claim 1, further comprising: identifying one or more partial changes made to the database after the restore time, wherein determining the respective previous values of the one or more data entries is based at least in part on identifying the one or more partial changes. 6. The method of claim 1, further comprising: receiving, via a user interface, a user input that indicates a time at which an error occurred within the database, wherein determining the restore time is based at least in part on the time at which the error occurred. 3. The method of claim 1, further comprising: receiving, via a user interface, a user input that indicates a time at which the error occurred within the database, wherein detecting the error is based at least in part on the user input. 7. The method of claim 1, further comprising: determining that a second data entry was removed from the database after the restore time, wherein restoring the database comprises adding the second data entry to the database. 5. The method of claim 1, further comprising: determining that a second data entry was removed from the database after the restore time, wherein restoring the database comprises adding the second data entry to the database. 8. The method of claim 1, further comprising: retrieving a second data entry identifier associated with a second data entry that was modified after the restore time, wherein querying the change log comprises querying the one or more change records in reverse chronological order using the second data entry identifier. 6. The method of claim 1, further comprising: retrieving an identifier of a second data entry that was modified after the restore time, wherein querying the change log comprises querying the one or more change records in reverse chronological order using the identifier of the second data entry. 9. The method of claim 1, wherein the one or more change records indicate previous values for the one or more data entries, updated values for the one or more data entries, data entry identifiers associated with the one or more data entries, and times at which the one or more data entries were modified. 7. The method of claim 1, wherein the one or more change records indicate previous values for the one or more data entries, updated values for the one or more data entries, identifiers of the one or more data entries, and times at which the one or more data entries were modified. 10. The method of claim 1, wherein determining the respective previous values of the one or more data entries comprises: identifying previous values of the one or more data entries by querying one or more indices corresponding to the previous copy of the database. 9. The method of claim 1, wherein determining the respective previous values of the one or more data entries comprises: identifying previous values of the one or more data entries by querying one or more indices corresponding to the previous copy of the database 12. The method of claim 1, wherein the previous copy of the database comprises a latest version of the database prior to the restore time. 11. The method of claim 1, wherein the previous copy of the database comprises a latest version of the database prior to the restore time. 13. The method of claim 12, further comprising: selecting the latest version of the database from two or more versions of the database stored at the database restore system based at least in part on creation times associated with the two or more versions. 12. The method of claim 11, further comprising: selecting the latest version of the database from two or more versions of the database stored at the database restore system based at least in part on creation times associated with the two or more versions. 15. An apparatus, comprising: a processor; and memory coupled with the processor, the memory comprising instructions that are executable by the processor to cause the apparatus to: determine a restore time for a database; query a change log stored at a database restore system to identify one or more data entries in the database that were modified after the restore time, the change log comprising one or more change records corresponding to the one or more data entries, the one or more data entries comprising a subset of total data entries in the database; determine that a data entry associated with a data entry identifier was added to the database after the restore time based at least in part on the one or more change records not comprising the data entry identifier; determine respective previous values of the one or more data entries from the one or more change records or a previous copy of the database stored at the database restore system, the previous copy being based at least in part on a full backup copy of the database and corresponding to a time period prior to the restore time; revert the one or more data entries to the respective previous values of the one or more data entries; and remove the data entry from the database based at least in part on the one or more change records not comprising the data entry identifier. 14. An apparatus, comprising: a processor; and memory coupled with the processor, the memory comprising instructions that are executable by the processor to cause the apparatus to: detect an error in a database supported by a database restore system; determine a restore time for the database based at least in part on detection of the error, the restore time occurring prior to the error; query a change log stored at the database restore system to identify one or more data entries in the database that were modified after the restore time, the change log comprising one or more change records corresponding to the one or more data entries, the one or more data entries comprising a subset of total data entries in the database; determine that a data entry associated with a data entry identifier was added to the database after the restore time based at least in part on the one or more change records not comprising the data entry identifier; determine respective previous values of the one or more data entries from a previous copy of the database stored at the database restore system, the previous copy being based at least in part on a full backup copy of the database and corresponding to a time period prior to the restore time; and perform a partial restoration of the database by reverting the one or more data entries to the respective previous values of the one or more data entries, wherein performing the partial restoration of the database comprises removing the data entry from the database. 19. The apparatus of claim 15, wherein the instructions are further executable by the processor to cause the apparatus to: identify one or more partial changes made to the database after the restore time, wherein the respective previous values of the one or more data entries is determined using the one or more partial changes. 15. The apparatus of claim 14, wherein the instructions are further executable by the processor to cause the apparatus to: identify one or more partial changes made to the database after the restore time, wherein the respective previous values of the one or more data entries is determined using the one or more partial changes. 20. A non-transitory computer-readable medium storing code for database restoration, the code comprising instructions that are executable by a processor to: determine a restore time for a database; query a change log stored at a database restore system to identify one or more data entries in the database that were modified after the restore time, the change log comprising one or more change records corresponding to the one or more data entries, the one or more data entries comprising a subset of total data entries in the database; determine that a data entry associated with a data entry identifier was added to the database after the restore time based at least in part on the one or more change records not comprising the data entry identifier; determine respective previous values of the one or more data entries from the one or more change records or a previous copy of the database stored at the database restore system, the previous copy being based at least in part on a full backup copy of the database and corresponding to a time period prior to the restore time; revert the one or more data entries to the respective previous values of the one or more data entries; and remove the data entry from the database based at least in part on the one or more change records not comprising the data entry identifier. 19. A non-transitory computer-readable medium storing code for database restoration, the code comprising instructions that are executable by a processor to: detect an error in a database supported by a database restore system; determine a restore time for the database based at least in part on detection of the error, the restore time occurring prior to the error; query a change log stored at the database restore system to identify one or more data entries in the database that were modified after the restore time, the change log comprising one or more change records corresponding to the one or more data entries, the one or more data entries comprising a subset of total data entries in the database; determine that a data entry associated with a data entry identifier was added to the database after the restore time based at least in part on the one or more change records not comprising the data entry identifier; determine respective previous values of the one or more data entries from a previous copy of the database stored at the database restore system, the previous copy being based at least in part on a full backup copy of the database and corresponding to a time period prior to the restore time; and perform a partial restoration of the database by reverting the one or more data entries to the respective previous values of the one or more data entries, wherein performing the partial restoration of the database comprises removing the data entry from the database. The claims of US Patent No. 12,399,783 do not explicitly teach allocating memory blocks. However, Armangau et al. (US Patent Application 2005/0015663) teaches allocating memory blocks, in Paragraph 236. Therefore, it would have been obvious before the effective filing date of the claimed invention to one of ordinary skill in the art to combine the claims of US Patent No. 12,399,783 with allocating memory blocks for the purpose of storing data. Prior Art Made of Record The prior art made of record and not relied upon is considered pertinent to Applicant’s disclosure: Cerruti et al. (U.S. Patent Application No. 2009/0323970) teaches rolling back to restore database. Vaitzblit et al. (U.S. Patent Application No. 2002/0007363) teaches a reverse chronological order. Lakshminath et al. (U.S. Patent Application No. 2007/0083530) teaches copy a subset of data from a first database to a second database. Diaconu et al. (U.S. Patent Application No. 2009/0228429) teaches database provisions a subset of the file system. Graefe et al. (U.S. Patent Application No. 2015/0370644) teaches partially rolling back a transaction. Larsson et al. (U.S. Patent Application No. 2008/0285449) teaches rolling back a partial snapshot. Anand et al. (U.S. Patent Application No. 2008/0229142) teaches full backup of database. Riske et al. (U.S. Patent No. 8,244,685) teaches a full backup is a complete copy of the original data. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to SARAI E BUTLER whose telephone number is (571)270-3823. The examiner can normally be reached 8 am to 4 pm. 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, Ashish Thomas can be reached at 571-272-0631. 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. /SARAI E BUTLER/Primary Examiner, Art Unit 2114
Read full office action

Prosecution Timeline

Aug 04, 2025
Application Filed
Aug 10, 2026
Non-Final Rejection mailed — §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12748664
HIGH AVAILABILITY USING VIRTUAL STORAGE CONTROLLERS IN A SCALE OUT STORAGE CLUSTER
3y 3m to grant Granted Sep 29, 2026
Patent 12711028
FLASH MEMORY ARCHITECTURE IMPLEMENTING INTERCONNECTION REDUNDANCY
1y 7m to grant Granted Aug 18, 2026
Patent 12705061
APPLICATION PROGRAMMING INTERFACE TO INDICATE ACCELERATOR ERROR HANDLERS
1y 7m to grant Granted Aug 11, 2026
Patent 12664051
DATA PROTECTION AND RECOVERY
1y 10m to grant Granted Jun 23, 2026
Patent 12645554
SYSTEM AND METHOD FOR PLANNING AND EXECUTING TEST OF ELECTRONIC DEVICE
2y 2m to grant Granted Jun 02, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
88%
Grant Probability
99%
With Interview (+10.7%)
2y 4m (~1y 2m remaining)
Median Time to Grant
Low
PTA Risk
Based on 1156 resolved cases by this examiner. Grant probability derived from career allowance 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