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