DETAILED ACTION
1. This office action is in response to application 19/188,785 filed on 4/24/2025. The preliminary amendment filed on 4/24/2025 has been entered. Accordingly, claims 14-25 are pending in this office action.
Notice of Pre-AIA or AIA Status
2. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Double Patenting
3. 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 § 2146 et seq. 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 filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13.
The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual 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/apply/applying-online/eterminal-disclaimer.
Claims 14-25 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-6 of U.S. Patent No.12,289,368 in view of US 2020/0052954 (hereinafter Han). Although the claims at issue are not identical, they are not patentably distinct from each other because the limitations in bold are the same and the differences would have been obvious to an artisan of ordinary skill in the art. For instance the instant application recites an apparatus for use as a leader server in a leader server-follower server log replication configuration whereas US 12,289,368 recites operating a leader server in a leader server-follower server log replication. Han however discloses an apparatus for use as a leader server (See paragraphs 0005-0007 and 0050 note server can be designated as leader servers and will be recognized or not recognized). It would have been obvious to an artisan of ordinary skill in the pertinent at the time the instantly claimed invention was filed to have incorporated the teaching of Han into the system of US 12,289,368. The modification would have been obvious because the two references are concerned with the solution to problem of data processing via servers, therefore there is an implicit motivation to combine these references (i.e. motivation from the references themselves). In other words, the ordinary skilled artisan, during his/her quest for a solution to the cited problem, would look to the cited references at the time the invention was made. Consequently, the ordinary skilled artisan would have been motivated to combine the cited references since Han’s teaching would enable users of the US 12,289,368 system to have more efficient processing.
19/188,785 12,289,368
14. An apparatus for use as a leader server in a leader server-follower server log replication configuration, the apparatus configured to: (i) store a current master state of a system and maintaining a master log relating to the current master state, wherein the master log comprises a plurality of log entries each having a respective log index, wherein each log entry indicates a respective change to the master state of the system; (ii) perform a log compaction procedure to remove from the master log any log entry for which the respective change to the master state of the system has been overridden by a change to the master state in a subsequent log entry;
(iii) store a compaction index that is the highest log index of the log entries removed in the log compaction procedure; (iv) store an override index that is the highest log index of the log entries for which the respective change to the master state overrode a change to the master state by an earlier log entry; and (v) send the compaction index and the override index to one or more follower servers that are to store a replica of the master log relating to the current master state.
1. A computer-implemented method of operating a leader server in a leader server-follower server log replication configuration, the method comprising: (i) storing a current master state of a system and maintaining a master log relating to the current master state, wherein the master log comprises a plurality of log entries each having a respective log index, wherein each log entry indicates a respective change to the master state of the system; (ii) performing a log compaction procedure to remove from the master log any log entry for which the respective change to the master state of the system has been overridden by a change to the master state in a subsequent log entry; (iii) storing a compaction index that is the highest log index of the log entries removed in the log compaction procedure; (iv) storing an override index that is the highest log index of the log entries for which the respective change to the master state overrode a change to the master state by an earlier log entry; and (v) sending the compaction index and the override index to one or more follower servers that are to store a replica of the master log relating to the current master state.
15. An apparatus as claimed in claim 14, wherein the apparatus is further configured to: (vi) receive change information indicating one or more new changes to the master state of the system; (vii) update the current master state of the system based on the received change information and updating the master log to include respective new log entries for the one or more new changes to the master state; (viii) repeating step (ii) on the updated master log, and updating the override index and compaction index, if appropriate, for the updated master log; and (ix) sending the respective new log entries, the current compaction index and the current override index to the one or more follower servers.
2. A method as claimed in claim 1, wherein the method further comprises: (vi) receiving change information indicating one or more new changes to the master state of the system; (vii) updating the current master state of the system based on the received change information and updating the master log to include respective new log entries for the one or more new changes to the master state; (viii) repeating step (ii) on the updated master log, and updating the override index and compaction index, if appropriate, for the updated master log; and (ix) sending the respective new log entries, the current compaction index and the current override index to the one or more follower servers.
16. An apparatus as claimed in claim 15, wherein the respective new log entries, the current compaction index and the current override index are sent in the same message.
11. An apparatus as claimed in claim 10, wherein the respective new log entries, the current compaction index and the current override index are sent in the same message.
17. An apparatus as claimed in claim 14, wherein the apparatus is further configured to: replay or resend at least a part of the master log to one or more of the follower servers.
3. A method as claimed in claim 1, wherein the method further comprises: replaying or resending at least a part of the master log to one or more of the follower servers.
18. An apparatus for use as a follower server log replication configuration, the apparatus configured (i) store a replica state of a system and maintaining a replica log relating to the replica state, wherein the replica log comprises a plurality of log entries each having a respective log index, wherein each log entry indicates a respective change to the replica state of the system; (ii) receive a compaction index and an override index from a leader server that stores a master state of the system and maintains a master log relating to the current master state, wherein the compaction index and the override index relate to a compacted master log resulting from a log compaction procedure at the leader server, wherein the compaction index is the highest log index of any log entries removed in the log compaction procedure, and wherein the override index is the highest log index of any log entries for which the respective change to the master state overrode a change to the master state of an earlier log entry; and (iii) determine if the stored replica state is consistent with a current or previous master state maintained by the leader server based on a highest log index in the stored replica log and one or both of the received compaction index and the received override index.
4. A computer-implemented method of operating a follower server in a leader server-follower server log replication configuration, the method comprising: (i) storing a replica state of a system and maintaining a replica log relating to the replica state, wherein the replica log comprises a plurality of log entries each having a respective log index, wherein each log entry indicates a respective change to the replica state of the system; (ii) receiving a compaction index and an override index from a leader server that stores a master state of the system and maintains a master log relating to the current master state, wherein the compaction index and the override index relate to a compacted master log resulting from a log compaction procedure at the leader server, wherein the compaction index is the highest log index of any log entries removed in the log compaction procedure, and wherein the override index is the highest log index of any log entries for which the respective change to the master state overrode a change to the master state of an earlier log entry; and (iii) determining if the stored replica state is consistent with a current or previous master state maintained by the leader server based on a highest log index in the stored replica log and one or both of the received compaction index and the received override index.
19. An apparatus as claimed in claim 18, wherein the apparatus is further configured to: maintaining a consistency status with respect to the current or a previous master state, wherein the consistency status is consistent when the stored replica state is considered consistent with a current or a previous master state, and the consistency status is inconsistent when the stored replica state is considered inconsistent, or possibly inconsistent, with a current or a previous master state.
5. A method as claimed in claim 4, wherein the method further comprises: maintaining a consistency status with respect to the current or a previous master state, wherein the consistency status is consistent when the stored replica state is considered consistent with a current or a previous master state, and the consistency status is inconsistent when the stored replica state is considered inconsistent, or possibly inconsistent, with a current or a previous master state.
20. An apparatus as claimed in claim 18, wherein the apparatus is configured to: determine that the replica state is inconsistent with the master state if the highest log index in the stored replica log is less than the received compaction index.
6. A method as claimed in claim 4, wherein the step of determining if the stored replica state is consistent with the master state comprises: determining that the replica state is consistent with the master state if the highest log index in the stored replica log is equal to or greater than the received override index.
21. An apparatus as claimed in claim 18, wherein the apparatus is configured to determine that the replica state is consistent with the master state if the highest log index in the stored replica log is equal to or greater than the received override index.
6. A method as claimed in claim 4, wherein the step of determining if the stored replica state is consistent with the master state comprises: determining that the replica state is consistent with the master state if the highest log index in the stored replica log is equal to or greater than the received override index.
22. An apparatus as claimed in claim 18, wherein operation (ii) further comprises receiving one or more new log entries from the leader server; and wherein the apparatus is further operative to update the replica state of the system and the replica log based on the received one or more new log entries.
17. An apparatus as claimed in claim 13, wherein operation (ii) further comprises receiving one or more new log entries from the leader server; and wherein the apparatus is further operative to update the replica state of the system and the replica log based on the received one or more new log entries.
23. An apparatus as claimed in claim 22, wherein the apparatus is configured to determine that the replica state is consistent with the master state if the highest log index in the stored replica log is equal to or greater than the received override index. and operation (iii) comprises determining that the updated replica state is consistent with the master state if the highest log index in the updated replica log is equal to or greater than the received override index.
18. An apparatus as claimed in claim 17, wherein operation (iii) comprises determining that the updated replica state is consistent with the master state if the highest log index in the updated replica log is equal to or greater than the received override index.
determining that the replica state is consistent with the master state if the highest log index in the stored replica log is equal to or greater than the received override index (from claim 6).
24. An apparatus as claimed in claim 13, wherein the apparatus is further configured to: receive a request from a client device for information relating to the state of the system; and determine whether to provide the requested information to the client device based on whether the stored replica state is determined to be consistent with the master state.
19. An apparatus as claimed in claim 13, wherein the apparatus is further operative to: receive a request from a client device for information relating to the state of the system; and determine whether to provide the requested information to the client device based on whether the stored replica state is determined to be consistent with the master state.
25. An apparatus as claimed in claim 24, wherein the apparatus is configured to provide the requested information to the client device if the stored replica state is determined to be consistent with the master state, and reject or redirect the request if the stored replica state is not determined to be consistent with the master state.
20. An apparatus as claimed in claim 19, wherein the apparatus is operative to provide the requested information to the client device if the stored replica state is determined to be consistent with the master state, and reject or redirect the request if the stored replica state is not determined to be consistent with the master state.
Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ELIYAH STONE HARPER whose telephone number is (571)272-0759. The examiner can normally be reached on Monday-Friday 10:00 am - 6:00 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, Sanjiv Shah can be reached on (571) 272-4098. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of an application may be obtained from the Patent Application Information Retrieval (PAIR) system. Status information for published applications may be obtained from either Private PAIR or Public PAIR. Status information for unpublished applications is available through Private PAIR only. For more information about the PAIR system, see http://pair-direct.uspto.gov. Should you have questions on access to the Private PAIR system, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative or access to the automated information system, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/Eliyah S. Harper/Primary Examiner, Art Unit 2166 February 6, 2026