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 .
Status of Claims
In response to communications filed on 08 November 2023, claims 1-20 are presently pending in the application, of which, claims 1, 10, and 20 are presented in independent form.
Priority
The Examiner acknowledges the instant application is a continuation of U.S. 17/590,378 (now issued as U.S. Patent 12,300,109), filed 01 February 2022 and has been accorded the earliest effective file date.
Drawings
The drawings, filed 08 November 2023, have been reviewed and accepted by the Examiner.
Specification
The lengthy specification has not been checked to the extent necessary to determine the presence of all possible minor errors. Applicant’s cooperation is requested in correcting any errors of which applicant may become aware in the specification.
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 1-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-20 of U.S. Patent No. 12,380,128 (known hereinafter as ‘128). Although the claims at issue are not identical, they are not patentably distinct from each other because all the claims in ‘128 are directed to a specific embodiment of the limitations in the instant claims and therefore the claims in ‘128 would anticipate the broader claims of the instant application.
Instant 19/199,508
U.S. 12,380,128
Claim 1:
A system for data synchronization and replication in distributed networks, the system comprising:
Claim 1:
A system for data synchronization and replication in distributed networks, the system comprising:
a processing device;
at least one non-transitory storage device;
a non-transitory storage device containing instructions when executed by the processing device, causes the processing device to perform the following operations:
at least one processor coupled to the at least one non-transitory storage device, wherein the at least one processor is configured to:
monitor performance of one or more operations executed on a source computing cluster by one or more computing devices forming the source computing cluster, wherein the one or more operations are associated with one or more applications including at least a first application whose operations are executed on the source computing cluster and a second application linked to performance of the first application on the source computing cluster;
monitor performance of one or more operations executed on a source computing cluster by one or more computing devices forming the source computing cluster, wherein the one or more operations are associated with one or more applications including at least a first application whose operations are executed on the source computing cluster and a second application linked to performance of the first application on the source computing cluster;
replicate one or more data entries associated with the one or more operations on a data recovery computing cluster communicably coupled with the source computing cluster;
replicate one or more data entries associated with the one or more operations on a data recovery computing cluster communicably coupled with the source computing cluster;
determine an outage condition associated with the source computing cluster;
determine an outage condition associated with the source computing cluster;
determine at least a first operation of the first application, the execution of which is pending on the source computing cluster, wherein the first operation comprises one or more first execution characteristics defining instructions for performance of the first operation of the first application;
determine at least a first operation of the first application the execution of which is pending on the source computing cluster, wherein the first operation comprises one or more first execution characteristics defining instructions for performance of the first operation of the first application;
execute the first operation on the data recovery computing cluster; and
execute the first operation on the data recovery computing cluster based on the one or more first execution characteristics; and
modify one or more connections associated with the second application based on the execution of the first operation on the data recover computing cluster.
modify one or more connections associated with the second application based on the execution of the first operation on the data recover computing cluster.
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-20 are rejected under 35 U.S.C. 102(a)(1)/(a)(2) as being unpatentable by Chipman, Ryan, et al (U.S. 12023/0393958 and known hereinafter as Chipman).
As per claim 1, Chipman teaches a system for data synchronization and replication in distributed networks, the system comprising:
at least one non-transitory storage device (e.g. Chipman, see Figure 2, which discloses a processor coupled to memory and non-volatile storage.); and
at least one processor coupled to the at least one non-transitory storage device (e.g. Chipman, see Figure 2, which discloses a processor coupled to memory and non-volatile storage.), wherein the at least one processor is configured to:
monitor performance of one or more operations on a source computing cluster by one or more computing devices forming the source computing cluster (e.g. Chipman, see paragraphs [0050-0052], which discloses independently monitoring a change of data on the source cluster and translating the change of data to one or more database operations to be performed on the destination cluster.), wherein the one or more operations are associated with one or more applications (e.g. Chipman, see paragraphs [0050-0052], which discloses one or more database operations to be performed on the destination cluster, where application quiesces writes on source clusters, as described in paragraph [0043], indicating one or more application.) including at least a first application whose operations are executed on the source computing cluster and a second application linked to performance of the first application on the source computing cluster (e.g. Chipman, see paragraph [0041], which discloses in another scenario, cluster to cluster synchronization between the source cluster and the destination cluster may be needed to synchronize any new changes to the data on the source cluster to the destination cluster on a continuous basis. See further paragraph [0042], which discloses the parallel replication for different subsets of data in the source cluster may improve the performance of data synchronization by expediting the replication of data from the source to the destination.);
replicate one or more data entries associated with the one or more operations on a data recovery computing cluster communicably coupled with the source computing cluster (e.g. Chipman, see paragraphs [0050-0052], which discloses in performing the replication operation, where the change of data may contain a respective change stream associated with each replicator. See further paragraphs [0063-0071], which discloses a plurality of replicators, and where synchronization occurs between the source cluster and destination cluster.);
determine an outage condition associated with the source computing cluster (e.g. Chipman, see paragraphs [0085, 0137, 0141], which discloses monitoring whether the primary node is unavailable based on predetermined conditions.);
determine at least a first operation of the first application, the execution of which is pending on the source computing cluster (e.g. Chipman, see paragraphs [0075-0077], which discloses executing one or more database operations, based on the source cluster.), wherein the first operation comprises one or more first execution characteristics defining instructions for performance of the first operation of the first application (e.g. Chipman, see paragraphs [0075-0078], which discloses executing database operations for storing, retrieving, managing, removing and/or updating data, where the performance of the communication can improve synchronization between the source cluster and the destination cluster.);
execute the first operation on the data recovery computing cluster (e.g. Chipman, see paragraphs [0039-0041], which discloses initiating replication for cluster to cluster synchronization for disaster recovery, where if the source cluster breaks down, the data can be recovered from the destination cluster.); and
modify one or more connections associated with the second application based on the execution of the first operation on the data recover computing cluster (e.g. Chipman, see paragraph [0043], which discloses if the application quiesces writes on the source cluster (by taking the application to a quiesce mode, for a switchover or any other reason), the source and destination clusters will eventually have identical data.).
As per claim 10, Chipman teaches a computer program product for data synchronization and replication in distributed networks, the computer program product comprising a non-transitory computer-readable medium comprising code that, when executed, causes an apparatus to:
monitor performance of one or more operations on a source computing cluster by one or more computing devices forming the source computing cluster (e.g. Chipman, see paragraphs [0050-0052], which discloses independently monitoring a change of data on the source cluster and translating the change of data to one or more database operations to be performed on the destination cluster.), wherein the one or more operations are associated with one or more applications (e.g. Chipman, see paragraphs [0050-0052], which discloses one or more database operations to be performed on the destination cluster, where application quiesces writes on source clusters, as described in paragraph [0043], indicating one or more application.) including at least a first application whose operations are executed on the source computing cluster and a second application linked to performance of the first application on the source computing cluster (e.g. Chipman, see paragraph [0041], which discloses in another scenario, cluster to cluster synchronization between the source cluster and the destination cluster may be needed to synchronize any new changes to the data on the source cluster to the destination cluster on a continuous basis. See further paragraph [0042], which discloses the parallel replication for different subsets of data in the source cluster may improve the performance of data synchronization by expediting the replication of data from the source to the destination.);
replicate one or more data entries associated with the one or more operations on a data recovery computing cluster communicably coupled with the source computing cluster (e.g. Chipman, see paragraphs [0050-0052], which discloses in performing the replication operation, where the change of data may contain a respective change stream associated with each replicator. See further paragraphs [0063-0071], which discloses a plurality of replicators, and where synchronization occurs between the source cluster and destination cluster.);
determine an outage condition associated with the source computing cluster (e.g. Chipman, see paragraphs [0085, 0137, 0141], which discloses monitoring whether the primary node is unavailable based on predetermined conditions.);
determine at least a first operation of the first application, the execution of which is pending on the source computing cluster (e.g. Chipman, see paragraphs [0075-0077], which discloses executing one or more database operations, based on the source cluster.), wherein the first operation comprises one or more first execution characteristics defining instructions for performance of the first operation of the first application (e.g. Chipman, see paragraphs [0075-0078], which discloses executing database operations for storing, retrieving, managing, removing and/or updating data, where the performance of the communication can improve synchronization between the source cluster and the destination cluster.);
execute the first operation on the data recovery computing cluster (e.g. Chipman, see paragraphs [0039-0041], which discloses initiating replication for cluster to cluster synchronization for disaster recovery, where if the source cluster breaks down, the data can be recovered from the destination cluster.); and
modify one or more connections associated with the second application based on the execution of the first operation on the data recover computing cluster (e.g. Chipman, see paragraph [0043], which discloses if the application quiesces writes on the source cluster (by taking the application to a quiesce mode, for a switchover or any other reason), the source and destination clusters will eventually have identical data.).
As per claim 16, Chipman teaches a method for data synchronization and replication in distributed networks, the method comprising:
monitor performance of one or more operations on a source computing cluster by one or more computing devices forming the source computing cluster (e.g. Chipman, see paragraphs [0050-0052], which discloses independently monitoring a change of data on the source cluster and translating the change of data to one or more database operations to be performed on the destination cluster.), wherein the one or more operations are associated with one or more applications (e.g. Chipman, see paragraphs [0050-0052], which discloses one or more database operations to be performed on the destination cluster, where application quiesces writes on source clusters, as described in paragraph [0043], indicating one or more application.) including at least a first application whose operations are executed on the source computing cluster and a second application linked to performance of the first application on the source computing cluster (e.g. Chipman, see paragraph [0041], which discloses in another scenario, cluster to cluster synchronization between the source cluster and the destination cluster may be needed to synchronize any new changes to the data on the source cluster to the destination cluster on a continuous basis. See further paragraph [0042], which discloses the parallel replication for different subsets of data in the source cluster may improve the performance of data synchronization by expediting the replication of data from the source to the destination.);
replicate one or more data entries associated with the one or more operations on a data recovery computing cluster communicably coupled with the source computing cluster (e.g. Chipman, see paragraphs [0050-0052], which discloses in performing the replication operation, where the change of data may contain a respective change stream associated with each replicator. See further paragraphs [0063-0071], which discloses a plurality of replicators, and where synchronization occurs between the source cluster and destination cluster.);
determine an outage condition associated with the source computing cluster (e.g. Chipman, see paragraphs [0085, 0137, 0141], which discloses monitoring whether the primary node is unavailable based on predetermined conditions.);
determine at least a first operation of the first application, the execution of which is pending on the source computing cluster (e.g. Chipman, see paragraphs [0075-0077], which discloses executing one or more database operations, based on the source cluster.), wherein the first operation comprises one or more first execution characteristics defining instructions for performance of the first operation of the first application (e.g. Chipman, see paragraphs [0075-0078], which discloses executing database operations for storing, retrieving, managing, removing and/or updating data, where the performance of the communication can improve synchronization between the source cluster and the destination cluster.);
execute the first operation on the data recovery computing cluster (e.g. Chipman, see paragraphs [0039-0041], which discloses initiating replication for cluster to cluster synchronization for disaster recovery, where if the source cluster breaks down, the data can be recovered from the destination cluster.); and
modify one or more connections associated with the second application based on the execution of the first operation on the data recover computing cluster (e.g. Chipman, see paragraph [0043], which discloses if the application quiesces writes on the source cluster (by taking the application to a quiesce mode, for a switchover or any other reason), the source and destination clusters will eventually have identical data.).
As per claim 2, 11, and 17, Chipman teaches the system of Claim 1, the computer program product of claim 10, and the method of claim 16, respectively, wherein executing of the first operation on the data recovery computing cluster is based on one or more first execution characteristics (e.g. Chipman, see paragraphs [0050-0052], which discloses in performing the replication operation, where the change of data may contain a respective change stream associated with each replicator. See further paragraphs [0063-0071], which discloses a plurality of replicators, and where synchronization occurs between the source cluster and destination cluster.).
As per claims 3, 12, and 18, Chipman teaches the system of Claim 1, the computer program product of claim 10, and the method of claim 16, respectively, wherein, in executing the first operation on the data recovery computing cluster, the processor is further configured to terminate execution of the first operation on the source computing cluster (e.g. Chipman, see paragraphs [0075-0078], which discloses executing database operations for storing, retrieving, managing, removing and/or updating data, where the performance of the communication can improve synchronization between the source cluster and the destination cluster.).
As per claim 4, Chipman teaches the system of Claim 1, wherein the processor is further configured to generate a user notification comprising the outage condition (e.g. Chipman, see paragraphs [0085, 0137, 0141], which discloses monitoring whether the primary node is unavailable based on predetermined conditions.).
As per claim 5, Chipman teaches the system of Claim 1, wherein the outage condition is indicative of an operational failure of one or more computing components forming the source computing cluster (e.g. Chipman, see paragraphs [0085, 0137, 0141], which discloses monitoring whether the primary node is unavailable based on predetermined conditions.).
As per claim 6, Chipman teaches the system of Claim 1, wherein the outage condition is indicative of a scheduled service operation associated with the source computing cluster (e.g. Chipman, see paragraphs [0050-0052], which discloses in performing the replication operation, where the change of data may contain a respective change stream associated with each replicator. See further paragraphs [0063-0071], which discloses a plurality of replicators, and where synchronization occurs between the source cluster and destination cluster.).
As per claims 7, 13, and 19, Chipman teaches the system of Claim 1, the computer program product of claim 10, and the method of claim 16, respectively, wherein the second application is an upstream application of the first application that is configured to supply data to the first application, the processor further configured to:
redirect one or more connections between the second application and the source computing cluster to the data recovery computing cluster such that inputs from the second application are directed to the data recovery computing cluster (e.g. Chipman, see paragraphs [0039-0041], which discloses initiating replication for cluster to cluster synchronization for disaster recovery, where if the source cluster breaks down, the data can be recovered from the destination cluster.).
As per claims 8, 14, and 20, Chipman teaches the system of Claim 6, the computer program product of claim 10, and the method of claim 16, respectively, wherein the second application is a downstream application of the first application that is configured to receive data from the first application, the processor further configured to:
redirect one or more connections between the source computing cluster and the second application to the data recovery computing cluster such that outputs from the data recovery computing cluster are directed to the second application (e.g. Chipman, see paragraphs [0039-0041], which discloses initiating replication for cluster to cluster synchronization for disaster recovery, where if the source cluster breaks down, the data can be recovered from the destination cluster.).
As per claims 9 and 15, Chipman teaches the system of Claim 1 and the computer program product of claim 10, respectively, wherein the one or more first execution characteristics further comprise one or more data entries indicative of a priority associated with the first operation, the processor further configured to:
determine an execution order queue for the data recovery computing cluster (e.g. Chipman, see paragraphs [0040-0043], which discloses applying all operations from the source based on order to bring a consistent copy of the data to the destination.); and
execute the first operation on the data recovery computing cluster based on the priority of the first operation (e.g. Chipman, see paragraphs [0039-0041], which discloses initiating replication for cluster to cluster synchronization for disaster recovery, where if the source cluster breaks down, the data can be recovered from the destination cluster.).
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant’s disclosure. See attached PTO-892 that includes additional prior art of record describing the general state of the art in which the invention is directed to.
Contact Information
Any inquiry concerning this communication or earlier communications from the examiner should be directed to FARHAN M SYED whose telephone number is (571)272-7191. The examiner can normally be reached M-F 8:30AM-5:30PM.
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, Apu Mofiz can be reached at 571-272-4080. 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.
/FARHAN M SYED/Primary Examiner, Art Unit 2161 February 6, 2026