Prosecution Insights
Last updated: July 17, 2026
Application No. 19/209,081

METHODS AND STORAGE NODES TO DECREASE DELAY IN RESUMING INPUT OUTPUT (I/O) OPERATIONS AFTER A NON-DISRUPTIVE EVENT FOR A STORAGE OBECT OF A DISTRIBUTED STORAGE SYSTEM BY UTILIZING ASYNCHRONOUS INFLIGHT REPLAY OF THE I/O OPERATIONS

Non-Final OA §102
Filed
May 15, 2025
Priority
Jul 11, 2022 — continuation of 11/907,562 +1 more
Examiner
LI, SIDNEY
Art Unit
Tech Center
Assignee
Netapp Inc.
OA Round
1 (Non-Final)
80%
Grant Probability
Favorable
1-2
OA Rounds
1y 6m
Est. Remaining
86%
With Interview

Examiner Intelligence

Grants 80% — above average
80%
Career Allowance Rate
304 granted / 382 resolved
+19.6% vs TC avg
Moderate +6% lift
Without
With
+6.3%
Interview Lift
resolved cases with interview
Typical timeline
2y 8m
Avg Prosecution
17 currently pending
Career history
405
Total Applications
across all art units

Statute-Specific Performance

§101
4.2%
-35.8% vs TC avg
§103
76.7%
+36.7% vs TC avg
§102
10.2%
-29.8% vs TC avg
§112
6.8%
-33.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 382 resolved cases

Office Action

§102
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 Claims 1-20 are pending. Information Disclosure Statement The information disclosure statement (IDS) submitted on August 18, 2025 is/are in compliance with the provisional of 37 CFR 1.97. Accordingly, the information disclosure statement is being considered by the examiner. 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. 11,907,562 or claims 1-20 of U.S. Patent No. 12,321,627. Although the claims at issue are not identical, they are not patentably distinct from each other. See the following two tables: Current Application US 11,907,562 1. A computer implemented method performed by one or more processing resources of a storage node, the method comprising: disallowing input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster is unavailable; initiating a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the storage object being unavailable with the resynchronization including initiating an asynchronous reconciliation process of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allowing new I/O operations to be handled with the storage object of the primary storage cluster just after pending Ops at the primary storage cluster process without waiting for completion of the reconciliation process at the secondary storage cluster. 1. A computer implemented method performed by one or more processing resources of a storage node, the method comprising: maintaining state information regarding a data replication status for a storage object of the storage node of a primary storage cluster with the storage object being replicated to a replicated storage object of a secondary storage cluster; temporarily disallowing input/output (I/O) operations for the storage object when the storage object of the primary storage cluster has a connection loss or failure, which causes an out of sync (OOS) state for the storage object of the primary storage cluster; initiating a resynchronization between the storage object and the replicated storage object based on the OOS state with the resynchronization including initiating asynchronous inflight tracking and replay of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allowing new I/O operations to be handled with the storage object of the primary storage cluster without waiting for completion of the asynchronous inflight tracking and replay at the secondary storage cluster. 2. The computer implemented method of claim 1, further comprising: performing a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous reconciliation process; and populating a tracking data structure of the dependent graph manager during the dependency check. 2. The computer implemented method of claim 1, further comprising: performing a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populating a tracking data structure of the dependent graph manager during the dependency check. 3. The computer implemented method of claim 1, further comprising: performing a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous reconciliation process; and populating a tracking data structure of the dependent graph manager during the dependency check. 3. The computer implemented method of claim 1, further comprising: performing a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populating a tracking data structure of the dependent graph manager during the dependency check. 4. The computer implemented method of claim 3, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 4. The computer implemented method of claim 3, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 5. The computer implemented method of claim 1, further comprising: performing an overlap conflict check of any storage object to be modified by any missing I/0 operations and also be modified by an inflight Op with an overlap write manager; and populating a tracking data structure of the overlap write manager during the overlap conflict check. 5. The computer implemented method of claim 1, further comprising: performing an overlap conflict check of any storage object to be modified by any missing I/O operations and also be modified by an inflight Op with an overlap write manager; and populating a tracking data structure of the overlap write manager during the overlap conflict check. 6. The computer implemented method of claim 5, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 6. The computer implemented method of claim 5, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 7. The computer implemented method of claim 1, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 7. The computer implemented method of claim 1, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting to receive responses from the secondary storage cluster for the asynchronous inflight tracking and replay. 8. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by one or more processing resources of a storage node cause the one or more processing resources to: disallow input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster is unavailable; initiate a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the storage object being unavailable with the resynchronization including initiating an asynchronous reconciliation process of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allow new I/O operations to be handled with the storage object of the primary storage cluster just after pending Ops at the primary storage cluster process without waiting for completion of the reconciliation process at the secondary storage cluster. 8. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by a processing resource of a storage node cause the processing resource to: maintain state information regarding a data replication status for a storage object of a primary storage cluster with the storage object being replicated to a replicated storage object of a secondary storage cluster; temporarily disallow input/output (I/O) operations for the storage object when the storage object of the primary storage cluster has a connection loss or failure, which causes an out of sync state (OOS) for the storage object of the primary storage cluster; initiate a resynchronization between the storage object and the replicated storage object based on the OOS state with the resynchronization including initiating asynchronous inflight tracking and replay of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allow new I/O operations to be handled with the storage object of the primary storage cluster without waiting for completion of the asynchronous inflight tracking and replay at the secondary storage cluster. 9. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous reconciliation process; and populate a tracking data structure of the dependent graph manager during the dependency check. 9. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the processing resource cause the processing resource to: perform a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the dependent graph manager during the dependency check. 10. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous reconciliation process; and populate a tracking data structure of the dependent graph manager during the dependency check. 10. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the processing resource cause the processing resource to: perform a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the dependent graph manager during the dependency check. 11. The non-transitory computer-readable storage medium of claim 10, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 11. The non-transitory computer-readable storage medium of claim 10, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 12. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform an overlap conflict check of any storage object to be modified by any missing I/O operations and also to be modified by an inflight Op with an overlap write manager; and populate a tracking data structure of the overlap write manager during the overlap conflict check. 12. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the processing resource cause the processing resource to: perform an overlap conflict check of any storage object to be modified by any missing I/O operations and also to be modified by an inflight Op with an overlap write manager; and populate a tracking data structure of the overlap write manager during the overlap conflict check. 13. The non-transitory computer-readable storage medium of claim 12, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 13. The non-transitory computer-readable storage medium of claim 12, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 14. The non-transitory computer-readable storage medium of claim 8, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 14. The non-transitory computer-readable storage medium of claim 8, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting to receive responses from the secondary storage cluster for the asynchronous inflight tracking and replay. 15. A storage node of a primary storage cluster, comprising: one or more processing resources; and a non-transitory computer-readable medium coupled to the one or more processing resources, having stored therein instructions, which when executed by the one or more processing resources cause the one or more processing resources to: disallow input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster is unavailable; initiate a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the storage object being unavailable with the resynchronization including initiating an asynchronous reconciliation process of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allow new I/O operations to be handled with the storage object of the primary storage cluster just after pending Ops at the primary storage cluster process without waiting for completion of the reconciliation process at the secondary storage cluster. 15. A storage node of a primary storage cluster, comprising: a processing resource; and a non-transitory computer-readable medium coupled to the processing resource, having stored therein instructions, which when executed by the processing resource cause the processing resource to: maintain state information regarding a data replication status for a storage object of the storage node of a primary storage cluster with the storage object being replicated to a replicated storage object of a secondary storage cluster; temporarily disallow input/output (I/O) operations for the storage object when the storage object of the primary storage cluster has a connection loss or failure; initiate a resynchronization between the storage object and the replicated storage object including initiating asynchronous inflight tracking and replay of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allow new I/O operations to be handled with the storage object of the primary storage cluster without waiting for completion of the asynchronous inflight tracking and replay at the secondary storage cluster. 16. The storage node of claim 15, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the reconciliation process; and populate a tracking data structure of the dependent graph manager during the dependency check. 16. The storage node of claim 15, wherein the instructions when executed by the processing resource cause the processing resource to: perform a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the persistent inflight tracking replay; and populate a tracking data structure of the dependent graph manager during the dependency check. 17. The storage node of claim 15, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous reconciliation process; and populate a tracking data structure of the dependent graph manager during the dependency check, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 17. The storage node of claim 15, wherein the instructions when executed by the processing resource cause the processing resource to: perform a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the dependent graph manager during the dependency check, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 18. The storage node of claim 15, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform an overlap conflict check of any storage object to be modified by any missing I/O operations and inflight Ops with an overlap write manager for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the overlap write manager during the overlap conflict check, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 18. The storage node of claim 15, wherein the instructions when executed by the processing resource cause the processing resource to: perform an overlap conflict check of any storage object to be modified by any missing I/O operations and inflight Ops with an overlap write manager for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the overlap write manager during the overlap conflict check, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 19. The storage node of claim 15, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 19. The storage node of claim 15, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting to receive responses from the secondary storage cluster for the asynchronous inflight tracking and replay. 20. The storage node of claim 15, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: maintain a count of a number of Ops in the asynchronous reconciliation process; create an identifier for each Op being replayed; increment a count for each Op being replayed; decrement the count for each Op that completes the asynchronous reconciliation process; until the count becomes zero, subject read Ops to overlap range manager and dependent graph manager checks; and determine if an incoming read Op is conflicting with Ops pending in the asynchronous reconciliation process. 20. The storage node of claim 15, wherein the instructions when executed by the processing resource cause the processing resource to: maintain a count of a number of Ops in the asynchronous inflight tracking replay; create an identifier for each Op being replayed; increment a count for each Op being replayed; decrement the count for each Op that completes the asynchronous inflight tracking and replay; until the count becomes zero, subject read Ops to overlap range manager and DGM checks; and determine if an incoming read Op is conflicting with Ops pending in the asynchronous inflight tracking and replay. Current Application US 12,321,627 1. A computer implemented method performed by one or more processing resources of a storage node, the method comprising: disallowing input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster is unavailable; initiating a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the storage object being unavailable with the resynchronization including initiating an asynchronous reconciliation process of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allowing new I/O operations to be handled with the storage object of the primary storage cluster just after pending Ops at the primary storage cluster process without waiting for completion of the reconciliation process at the secondary storage cluster. 1. A computer implemented method performed by one or more processing resources of a storage node, the method comprising: temporarily disallowing input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster has a connection loss or failure; initiating a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the connection loss or failure with the resynchronization including initiating asynchronous inflight tracking and replay for reconciliation of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster and performing a dependency check to determine any dependencies between Ops for any I/O operations being replayed from the primary storage cluster; and allowing new I/O operations to be handled with the storage object of the primary storage cluster just after asynchronous inflight tracking and replay processes pendings Ops at the primary storage cluster without waiting for completion of the asynchronous inflight tracking and replay including receiving responses from the secondary storage cluster. 2. The computer implemented method of claim 1, further comprising: performing a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous reconciliation process; and populating a tracking data structure of the dependent graph manager during the dependency check. 2. The computer implemented method of claim 1, further comprising: performing the dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populating a tracking data structure of the dependent graph manager during the dependency check. 3. The computer implemented method of claim 1, further comprising: performing a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous reconciliation process; and populating a tracking data structure of the dependent graph manager during the dependency check. 3. The computer implemented method of claim 1, further comprising: performing the dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populating a tracking data structure of the dependent graph manager during the dependency check. 4. The computer implemented method of claim 3, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 4. The computer implemented method of claim 3, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 5. The computer implemented method of claim 1, further comprising: performing an overlap conflict check of any storage object to be modified by any missing I/0 operations and also be modified by an inflight Op with an overlap write manager; and populating a tracking data structure of the overlap write manager during the overlap conflict check. 5. The computer implemented method of claim 1, further comprising: performing an overlap conflict check of any storage object to be modified by any missing I/O operations and also be modified by an inflight Op with an overlap write manager; and populating a tracking data structure of the overlap write manager during the overlap conflict check. 6. The computer implemented method of claim 5, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 6. The computer implemented method of claim 5, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 7. The computer implemented method of claim 1, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 7. The computer implemented method of claim 1, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 8. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by one or more processing resources of a storage node cause the one or more processing resources to: disallow input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster is unavailable; initiate a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the storage object being unavailable with the resynchronization including initiating an asynchronous reconciliation process of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allow new I/O operations to be handled with the storage object of the primary storage cluster just after pending Ops at the primary storage cluster process without waiting for completion of the reconciliation process at the secondary storage cluster. 8. A non-transitory computer-readable storage medium embodying a set of instructions, which when executed by a processing resource of a storage node cause the processing resource to: temporarily disallow input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster has a connection loss or failure; initiating a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the connection loss or failure with the resynchronization including initiating asynchronous inflight tracking and replay for reconciliation of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster and performing a dependency check to determine any dependencies between Ops for any I/O operations being replayed from the primary storage cluster; and allowing new I/O operations to be handled with the storage object of the primary storage cluster just after asynchronous inflight tracking and replay processes pendings Ops at the primary storage cluster without waiting for completion of the asynchronous inflight tracking and replay including receiving responses from the secondary storage cluster. 9. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous reconciliation process; and populate a tracking data structure of the dependent graph manager during the dependency check. 9. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the processing resource cause the processing resource to: perform the dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the dependent graph manager during the dependency check. 10. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous reconciliation process; and populate a tracking data structure of the dependent graph manager during the dependency check. 10. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the processing resource cause the processing resource to: perform the dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the dependent graph manager during the dependency check. 11. The non-transitory computer-readable storage medium of claim 10, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 11. The non-transitory computer-readable storage medium of claim 10, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 12. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform an overlap conflict check of any storage object to be modified by any missing I/O operations and also to be modified by an inflight Op with an overlap write manager; and populate a tracking data structure of the overlap write manager during the overlap conflict check. 12. The non-transitory computer-readable storage medium of claim 8, wherein the instructions when executed by the processing resource cause the processing resource to: perform an overlap conflict check of any storage object to be modified by any missing I/O operations and also to be modified by an inflight Op with an overlap write manager; and populate a tracking data structure of the overlap write manager during the overlap conflict check. 13. The non-transitory computer-readable storage medium of claim 12, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 13. The non-transitory computer-readable storage medium of claim 12, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 14. The non-transitory computer-readable storage medium of claim 8, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 14. The non-transitory computer-readable storage medium of claim 8, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 15. A storage node of a primary storage cluster, comprising: one or more processing resources; and a non-transitory computer-readable medium coupled to the one or more processing resources, having stored therein instructions, which when executed by the one or more processing resources cause the one or more processing resources to: disallow input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster is unavailable; initiate a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the storage object being unavailable with the resynchronization including initiating an asynchronous reconciliation process of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and allow new I/O operations to be handled with the storage object of the primary storage cluster just after pending Ops at the primary storage cluster process without waiting for completion of the reconciliation process at the secondary storage cluster. 15. A storage node of a primary storage cluster, comprising: a processing resource; and a non-transitory computer-readable medium coupled to the processing resource, having stored therein instructions, which when executed by the processing resource cause the processing resource to: temporarily disallow input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster has a connection loss or failure; initiate a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the connection loss or failure with the resynchronization including initiating asynchronous inflight tracking and replay for reconciliation of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; perform a dependency check to determine any dependencies between Ops for any I/O operations being replayed from the primary storage cluster; and allow new I/O operations to be handled with the storage object of the primary storage cluster just after asynchronous inflight tracking and replay processes pendings Ops at the primary storage cluster without waiting for completion of the asynchronous inflight tracking and replay including receiving responses from the secondary storage cluster. 16. The storage node of claim 15, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the reconciliation process; and populate a tracking data structure of the dependent graph manager during the dependency check. 16. The storage node of claim 15, wherein the instructions when executed by the processing resource cause the processing resource to: perform the dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the persistent inflight tracking replay; and populate a tracking data structure of the dependent graph manager during the dependency check. 17. The storage node of claim 15, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform a dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous reconciliation process; and populate a tracking data structure of the dependent graph manager during the dependency check, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 17. The storage node of claim 15, wherein the instructions when executed by the processing resource cause the processing resource to: perform the dependency check with a dependent graph manager at a file system object barrier level for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the dependent graph manager during the dependency check, wherein the tracking data structure of the dependent graph manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 18. The storage node of claim 15, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: perform an overlap conflict check of any storage object to be modified by any missing I/O operations and inflight Ops with an overlap write manager for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the overlap write manager during the overlap conflict check, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 18. The storage node of claim 15, wherein the instructions when executed by the processing resource cause the processing resource to: perform an overlap conflict check of any storage object to be modified by any missing I/O operations and inflight Ops with an overlap write manager for any missing I/O operations that are issued during the asynchronous inflight tracking and replay; and populate a tracking data structure of the overlap write manager during the overlap conflict check, wherein the tracking data structure of the overlap write manager is configured to track in flight Ops, Ops completed at the secondary storage cluster, and Ops waiting for dependencies to be satisfied. 19. The storage node of claim 15, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 19. The storage node of claim 15, wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. 20. The storage node of claim 15, wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: maintain a count of a number of Ops in the asynchronous reconciliation process; create an identifier for each Op being replayed; increment a count for each Op being replayed; decrement the count for each Op that completes the asynchronous reconciliation process; until the count becomes zero, subject read Ops to overlap range manager and dependent graph manager checks; and determine if an incoming read Op is conflicting with Ops pending in the asynchronous reconciliation process. 20. The storage node of claim 15, wherein the instructions when executed by the processing resource cause the processing resource to: maintain a count of a number of Ops in the asynchronous inflight tracking replay; create an identifier for each Op being replayed; increment a count for each Op being replayed; decrement the count for each Op that completes the asynchronous inflight tracking and replay; until the count becomes zero, subject read Ops to overlap range manager and dependent graph manager checks; and determine if an incoming read Op is conflicting with Ops pending in the asynchronous inflight tracking and replay. Claim Rejections - 35 USC § 102 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. Claim(s) 1, 7, 8, 14, 15, and 19 is/are rejected under 35 U.S.C. 102(a)(1) as being anticipated by Mu et al. (US 2016/0110378) (hereinafter Mu) (published April 21, 2016). Regarding Claims 1, 8, and 15, taking claim 15 as exemplary, Mu discloses a storage node of a primary storage cluster, comprising: one or more processing resources; and “Cluster node 700 may include processor 702, memory 704, storage operating system 706, network adapter 708 and storage adapter 710. In various embodiments, the components of cluster node 700 may communicate with each other via one or more interconnects, such as one or more traces, buses and/or control lines” (Mu [0090]) a non-transitory computer-readable medium coupled to the one or more processing resources, having stored therein instructions, which when executed by the one or more processing resources cause the one or more processing resources to: “In one embodiment, cluster node 700 may include a memory unit 704 to couple to processor 702. Memory unit 704 may be coupled to processor 702 via an interconnect, or by a dedicated communications bus between processor 702 and memory unit 704, which may vary as desired for a given implementation” (Mu [0092]) “The memory unit 704 may store instructions and data for cluster node 700” (Mu [0093]) disallow input/output (I/O) operations for a storage object of the storage node of a primary storage cluster when the storage object of the primary storage cluster is unavailable; “In an exemplary embodiment, if an error or a failover event occurs on the clustered system 100, the client 102 may switch from communicating with the first cluster 106-1 to communicate with the second cluster 106-2. Since the information is copied or backed up on the second cluster 106-2, the switching between the clusters 106 occurs transparently and seamlessly to the client 106” (Mu [0029] in a failover event the I/O of the failed first cluster is not allowed or possible until it is recovered) initiate a resynchronization between the storage object and a replicated storage object of a secondary storage cluster based on the storage object being unavailable with the resynchronization including initiating an asynchronous reconciliation process of any missing I/O operations that are missing from one of a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster; and “If the failure event is determined to be resolved at decision block 216, a resynchronous operation may be performed at block 220. In this case, the resync engine 129 may perform the resynchronous operation to resync the inflight information not successfully written on the clustered system and any dirty region information received during the failure event. The resync engine 129 may perform the resynchronous operation for the inflight information as previously discussed above copying information on the primary cluster and to the secondary cluster on a region-by-region basis” (Mu [0069]) allow new I/O operations to be handled with the storage object of the primary storage cluster just after pending Ops at the primary storage cluster process without waiting for completion of the reconciliation process at the secondary storage cluster. “the resync engine 129 may determine if the portion of the region has already been resynced by the resynchronous operation at decision block 406. If so, the resync engine 129 may write or instruct the splitter 127 to synchronously write the information to the primary cluster and secondary cluster at block 412” (Mu [0077]) “However, if the new information is to be written to a portion of a region that is currently being resynced as determined at decision block 408. The resync engine 129 may wait for the resynchronous operation to complete on that portion at block 410. In some embodiments, the resync engine 129 may enable a lock on the portion of the region currently being resynced to prevent corruption of data due to overwrite of data. Once the resynchronous operation has been completed on the portion to receive the new information, the resync engine 129 may synchronously write the new information to the clusters at block 412” (Mu [0078] writes are allowed before the resync is completed) Regarding Claims 7, 14, and 19, Mu further discloses wherein the new I/O operations are allowed to be handled with the storage object of the primary storage cluster without waiting for replay Ops to complete at the secondary storage cluster. “the resync engine 129 may determine if the portion of the region has already been resynced by the resynchronous operation at decision block 406. If so, the resync engine 129 may write or instruct the splitter 127 to synchronously write the information to the primary cluster and secondary cluster at block 412” (Mu [0077]) “However, if the new information is to be written to a portion of a region that is currently being resynced as determined at decision block 408. The resync engine 129 may wait for the resynchronous operation to complete on that portion at block 410. In some embodiments, the resync engine 129 may enable a lock on the portion of the region currently being resynced to prevent corruption of data due to overwrite of data. Once the resynchronous operation has been completed on the portion to receive the new information, the resync engine 129 may synchronously write the new information to the clusters at block 412” (Mu [0078] writes are allowed before the resync is completed) Allowable Subject Matter Claims 2-6, 9-13, 16-18, and 20 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. The following is a statement of reasons for the indication of allowable subject matter: Claims 2, 9, and 16 includes the limitation “performing a dependency check with a dependent graph manager at a volume level barrier for any missing I/O operations that are issued during the asynchronous reconciliation process; and populating a tracking data structure of the dependent graph manager during the dependency check” Claims 3, 10, and 17 includes the limitation “performing a dependency check with a dependent graph manager at a file system object barrier level for any missing I/0 operations that are issued during the asynchronous reconciliation process; and populating a tracking data structure of the dependent graph manager during the dependency check” Claims 5, 12, and 18 includes the limitation “performing an overlap conflict check of any storage object to be modified by any missing I/O operations and also be modified by an inflight Op with an overlap write manager; and populating a tracking data structure of the overlap write manager during the overlap conflict check” Claim 20 includes the limitations “wherein the instructions when executed by the one or more processing resources cause the one or more processing resources to: maintain a count of a number of Ops in the asynchronous reconciliation process; create an identifier for each Op being replayed; increment a count for each Op being replayed; decrement the count for each Op that completes the asynchronous reconciliation process; until the count becomes zero, subject read Ops to overlap range manager and dependent graph manager checks; and determine if an incoming read Op is conflicting with Ops pending in the asynchronous reconciliation process” The limitations above are not taught or rendered obvious in view of the prior art of record, particularly in combination with the other limitations within the claims. Furthermore claims 4, 6, 11, and 13 are dependent on claims 3, 5, 10, and 12 and would be allowable for at least the same reasons as its respective claim from which it depends upon. Conclusion The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Brandner et al. (US 2016/0328303) discloses resynchronization after a failover event and the copying of updates as part of the resynchronization process. Bretschneider et al. (US 2018/0246658) discloses the processing of write records to maintain atomicity for writing a defined group of records to multiple tracks. Varghese et al. (US 2023/0342053) discloses metadata for replay of operations including indirect blocks, checksums, buftree identifiers, file block numbers, and consistency point counts. Any inquiry concerning this communication or earlier communications from the examiner should be directed to SIDNEY LI whose telephone number is (571)270-5967. The examiner can normally be reached Monday to Friday 10:00 AM to 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, Arpan P Savla can be reached at (571) 272-1077. 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. /S.L./Examiner, Art Unit 2137 /Arpan P. Savla/Supervisory Patent Examiner, Art Unit 2137
Read full office action

Prosecution Timeline

May 15, 2025
Application Filed
Jun 22, 2026
Non-Final Rejection mailed — §102 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12645578
APPARATUS AND METHOD FOR MANAGING CAPABILITIES
4y 1m to grant Granted Jun 02, 2026
Patent 12645406
MEMORY SYSTEM FOR SECURE READ AND WRITE OPERATIONS BASED ON PREDEFINED DATA PATTERNS
2y 7m to grant Granted Jun 02, 2026
Patent 12645599
METHOD AND APPARATUS FOR READING CACHE DATA, AND STORAGE MEDIUM
2y 6m to grant Granted Jun 02, 2026
Patent 12639202
ELECTRONIC DEVICE FOR TIMEOUT PREVENTION AND OPERATION METHOD THEREOF
2y 11m to grant Granted May 26, 2026
Patent 12619563
DYNAMIC RANDOM-ACCESS MEMORY (DRAM) CONFIGURED FOR BLOCK TRANSFERS AND METHOD THEREOF
2y 9m to grant Granted May 05, 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
80%
Grant Probability
86%
With Interview (+6.3%)
2y 8m (~1y 6m remaining)
Median Time to Grant
Low
PTA Risk
Based on 382 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