DETAILED ACTION
Claims 21-40 are pending in the Instant Application.
Claims 21, 28 and 35 are rejected (Non-Final Rejection).
Claims 22-27, 29-34 and 36-40 are objected to.
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 .
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 § 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 21, 28 and 35 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1, 8 and 15 of U.S. Patent No 11,726,886 Although the claims at issue are not identical, they are not patentably distinct from each other because claims 21, 28 and 35 in the Instant Application are written from another prospective, but contain the same limitations as the claims 1, 8 and 15 in U.S. Patent No. 11,726,886. The claims are similar as shown below:
U.S. Patent # 11,726,886
Instant Application
1. A system, comprising: a plurality of computing devices comprising respective processors and memory
to implement a distributed data store, the distributed data store comprising: a primary site comprising a plurality of primary shards and associated shard replicas, wherein a given primary shard is configured to: receive an update; append the update to a primary log, wherein the append comprises addition of a timestamp to the update, and wherein the timestamp indicates a time returned by a global clock for the primary site, and wherein a maximum clock drift for the global clock is less than a completion time to write a given update to the primary shard and at least a threshold number of replicas of the primary shard as part of a given commit; commit the update; and asynchronously send the update to a backup shard of a remote network at a backup site; and
the backup site comprising
a plurality of backup shards and associated shard replicas of the remote network, wherein the backup shard of the remote network is configured to:
receive the update from the primary shard; append the update to a backup log; commit the update;
determine a global watermark timestamp that indicates a most recent time up to which all of the of backup shards have committed updates; and
apply the update to the backup shard based on the global watermark timestamp, wherein the timestamp of the update is less than or equal to the global watermark timestamp.
21. A system, comprising: a plurality of computing devices comprising respective processors and memory
to implement a backup site, the backup site configured to:
determine, by a backup shard of the backup site, that a recovery is in progress, wherein the backup site comprises a plurality of backup shards and associated shard replicas;
based on the determination that the recovery is in progress,
determine, by the backup shard, a timestamp of an update that was most recently committed by the backup shard, wherein the update was received by the backup shard from a remote network of a primary site; send, by the backup shard to a watermark service, the timestamp; receive, by the backup shard from the watermark service, a final global watermark timestamp, wherein the final global watermark timestamp indicates a time up to which all of the backup shards have committed updates; and
apply, by the backup shard, at least another update to the backup shard based on the final global watermark timestamp, wherein a timestamp of at least the other update is less than or equal to the final global watermark timestamp, and wherein at least the other update was received by the backup shard from the remote network of the primary site.
8. A method, comprising: performing, by one or more computing devices of a distributed data store: receiving an update at a primary shard of a primary site comprising a plurality of primary shards and associated shard replicas; appending the update by the primary shard to a primary log, wherein the appending comprises addition of a timestamp to the update, and wherein the timestamp indicates a time returned by a global clock for the primary site, and wherein a maximum clock drift for the global clock is less than a completion time to write a given update to the primary shard and at least a threshold number of replicas of the primary shard as part of a given commit; committing the update by the primary shard; asynchronously sending the update to a backup shard of a remote network at a backup site;
receiving, at the backup shard of the remote network, the update, wherein the backup site comprises a plurality of backup shards and associated shard replicas of the remote network;
appending, by the backup shard, the update to a backup log; committing the update by the backup shard;
determining, by the backup shard, a global watermark timestamp,
wherein the global watermark timestamp indicates a most recent time up to which all of the backup shards have committed updates; and
applying the update by the backup shard based on the global watermark timestamp, wherein the timestamp of the update is less than or equal to the global watermark timestamp.
28. A method, comprising:
performing, by one or more computing devices of a backup site:
determining, by a backup shard of the backup site, that a recovery is in progress, wherein the backup site comprises a plurality of backup shards and associated shard replicas;
based on the determination that the recovery is in progress, determining, by the backup shard, a timestamp of an update that was most recently committed by the backup shard, wherein the update was received by the backup shard from a remote network of a primary site;
sending, by the backup shard to a watermark service, the timestamp;
receiving, by the backup shard from the watermark service, a final global watermark timestamp, wherein the final global watermark timestamp indicates a time up to which all of the backup shards have committed updates; and
applying, by the backup shard, at least another update to the backup shard based on the final global watermark timestamp, wherein a timestamp of at least the other update is less than or equal to the final global watermark timestamp, and wherein at least the other update was received by the backup shard from the remote network of the primary site.
15. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause the one or more processors to:
receive, at a backup shard from a primary shard of a remote network of a primary site, an update, wherein the backup site comprises a plurality of backup shards and associated shard replicas, and
wherein the update comprises a timestamp, and wherein the timestamp was previously added to the update at the primary site as part of an append operation at the primary shard of the remote network, and wherein the timestamp indicates a time returned by a global clock for the primary site, and wherein a maximum clock drift for the global clock is less than a completion time to write a given update to the primary shard of the remote network and at least a threshold number of replicas of the primary shard of the remote network as part of a given commit; append the update to a backup log of the backup shard; commit the update;
determine a global watermark timestamp, wherein the global watermark timestamp indicates a time up to which all of the of backup shards have committed updates; and
apply the update to the backup shard based on the global watermark timestamp, wherein the timestamp of the update is less than or equal to the global watermark timestamp.
35. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors of a backup site cause the one or more processors to:
determine, by a backup shard of the backup site, that a recovery is in progress, wherein the backup site comprises a plurality of backup shards and associated shard replicas;
based on the determination that the recovery is in progress, determine, by the backup shard, a timestamp of an update that was most recently committed by the backup shard, wherein the update was received by the backup shard from a remote network of a primary site;
send, by the backup shard to a watermark service, the timestamp; receive, by the backup shard from the watermark service, a final global watermark timestamp, wherein the final global watermark timestamp indicates a time up to which all of the backup shards have committed updates;
and
apply, by the backup shard, at least another update to the backup shard based on the final global watermark timestamp, wherein a timestamp of at least the other update is less than or equal to the final global watermark timestamp, and wherein at least the other update was received by the backup shard from the remote network of the primary site.
As per claim 21 of the Instant Application, the differences noted in the claim language from claim 1 of U.S. Patent No 11,726,886 including
“based on the determination that the recovery is in progress,” would be obvious over “receive the update from the primary shard.”
One of ordinary skill in the art would recognize that the if an update is received, that the recovery is in progress, and that the systems are aware and have allowed the recovery to begin.
“sending.. the time stamp,” “receiving … a final global watermark,” would be obvious over “determining, by the backup shard, a global watermark timestamp.”
While U.S. Patent No 11,726,886 does not expressly describe sending the timestamp, it does determine the “global watermark timestamp,” which is done by sending the timestamp. Thus, one of ordinary skill in the art would understand that doing that takes sending the timestamp as in the Instant Application.
Claims 28 and 35 are substantially similar to claims 8 and 15 of U.S. Patent No 11,726,886 respectively, and the same rationale and reasoning applies.
Response to Arguments
Applicant’s arguments, see REMARKS, page 8 filed 15 September 2025, with respect to the rejections of claims 21, 28 and 35 under Double Patenting have been fully considered and are persuasive. Therefore, the rejection has been withdrawn. However, upon further consideration, a new grounds of rejection is made in view of U.S Patent No. 11,726,886.
Allowable Subject Matter
Claims 22-27, 29-34 and 36-40 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.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to KANNAN SHANMUGASUNDARAM whose telephone number is (571)270-7763. The examiner can normally be reached M-F 9: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, Fred Ehichioya can be reached on (571) 272-4034. 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.
/KANNAN SHANMUGASUNDARAM/Primary Examiner, Art Unit 2168