Prosecution Insights
Last updated: April 19, 2026
Application No. 18/785,783

METHODS TO MAINTAIN READ-WRITE CONSISTENCY AND DEPENDENT WRITE ORDER CONSISTENCY WITHIN A CROSS-SITE STORAGE SYSTEM

Final Rejection §103
Filed
Jul 26, 2024
Examiner
HUANG, BRYAN PAI SONG
Art Unit
2114
Tech Center
2100 — Computer Architecture & Software
Assignee
Netapp Inc.
OA Round
2 (Final)
78%
Grant Probability
Favorable
3-4
OA Rounds
2y 5m
To Grant
83%
With Interview

Examiner Intelligence

Grants 78% — above average
78%
Career Allow Rate
14 granted / 18 resolved
+22.8% vs TC avg
Minimal +5% lift
Without
With
+5.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 5m
Avg Prosecution
21 currently pending
Career history
39
Total Applications
across all art units

Statute-Specific Performance

§101
16.0%
-24.0% vs TC avg
§103
40.8%
+0.8% vs TC avg
§102
23.0%
-17.0% vs TC avg
§112
17.8%
-22.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 18 resolved cases

Office Action

§103
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 . Drawings The drawings were received on December 23, 2025. These drawings are acceptable. Response to Arguments Applicant’s arguments, see Drawings, Claim Objections and 35 USC §112 Rejection of the Claims, filed December 23, 2025, with respect to objections to the claims and drawings, and rejections of the claims under 35 U.S.C. § 112 have been fully considered and are persuasive. The claims have been amended and drawings corrected to address issues raised in the previous rejection. The aforementioned objections to the claims and drawings and rejections of the claims have been withdrawn. Applicant’s arguments, see 35 USC §102 Rejection of the Claims, filed December 23, 2025, with respect to the rejection(s) of claim(s) 1 – 15 under 35 U.S.C. § 102 have been fully considered and are persuasive. The independent claims have been amended to recite limitations not explicitly taught by the relied upon reference. Therefore, the rejection has been withdrawn. Claim Rejections - 35 USC § 103 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. Claims 1 – 15 are rejected under 35 U.S.C. 103 as being unpatentable over Botes (cited in previous action) in view of Lubbers et al. (US Patent Application Publication 2003/0188218), hereinafter Lubbers. Regarding claim 1, Botes teaches a computer-implemented method to maintain read write consistency (Paragraphs 0120, 0194, 0195) between a primary copy of data of a primary storage site and a secondary copy of data of a secondary storage site of a distributed storage system (Fig. 1A, there are two separate storage arrays, Abstract), the method comprising: establishing bi-directional synchronous replication between one or more members of a first storage node of the primary storage site and one or more members of a second storage node of the secondary storage site (Paragraph 0194, a request to modify a dataset requires coordination between each storage system in the pod) with each storage node having read/write access (Paragraph 0182, access operations to read/modify the dataset may operate equivalently through any of the storage systems) while maintaining zero recovery point objective (RPO) (Paragraphs 0120 and 0155, consistency is maintained. Disaster recovery objectives may be met as failure of the storage system may not result in loss of data, that is, the system may maintain zero RPO) and Zero recovery time objective (RTO) (Paragraph 0105, the data remains available even when a node fails); receiving, with the primary storage site, a first write operation (Op) from a client device (Paragraphs 0134, 0352, clients send write operation requests); writing the first write Op to a primary copy of data at the primary storage site and logging the first write Op in an op log journal (Paragraph 0418, each storage system may maintain a log of changes corresponding to each request); terminating the first write Op due to a network failure, which causes a replication relationship to be out of sync, when attempting to replicate the first write Op to the secondary storage site (Paragraph 0197 and 0198, a network failure can cause another storage system to be out of sync; Paragraph 0369, a first storage system attempts to replicate the write to the second storage system, and cannot complete the first write until the second system indicates success); aborting a replication engine and activating a fence on the second storage node of the secondary storage site to disallow read/write access on the second storage node (Paragraph 0198, the particular storage system may stop processing requests to access the dataset if it can’t be certain that it is in-sync); generating and sending a reconciliation request from the secondary storage site to the primary storage site upon network recovery for a resynchronization of the replication relationship between the one or more members of the first storage node and one or more members of the second storage node (Figs. 21 – 29 depict resynchronization methods; Paragraph 0637, the storage system may initiate a resynchronization operation). Botes does not explicitly teach determining a heartbeat failure when a time period for receiving a heartbeat message at the secondary storage site from the primary storage site expires with a heartbeat message indicating normal operating conditions, nor that the replication engine and fence are activated in response to that particular heartbeat failure. Botes does, however, teach a heartbeat message used to indicate whether a storage site is in-sync (Paragraph 0637), and that the replication engine is aborted and fence is activated in response to the second storage system determining it is not in sync (Paragraph 0198). Lubbers teaches determining a heartbeat failure when a time period for receiving a heartbeat message at the secondary storage site from the primary storage site expires (Paragraph 0057, each site produces a heartbeat signal, and the heartbeats have a time-out interval) with a heartbeat message indicating normal operating conditions (Paragraph 0083, a heartbeat failure indicates an abnormal condition where the other controller is no longer accessible), and that the replication engine and fence are activated in response to this heartbeat failure (Paragraph 0083, the controller identifies when the peer controller is no longer accessible through the heartbeat, and in response places itself into failsafe mode). It would have been obvious to one of ordinary skill in the art before the effective filing date of the invention that the system of Botes would use a heartbeat mechanism similar to that taught by Lubbers to identify when a storage site goes out-of-sync. Paragraph 0198 of Botes teaches that a storage system must consider itself to be in-sync for the pot and communicating with all other storage systems, in order to consider itself online. In particular, the final sentence states that the storage system may determine it is part of the pod either through communication with the other storage systems, or some other mechanism. Given the presence of a heartbeat mechanism of paragraph 0637 of Botes distributes the in-sync and out-of-sync lists, one of ordinary skill in the art would understand that the communication with the other storage systems or other mechanism mentioned in paragraph 0198 could reasonably be a conventional heartbeat mechanism. Regarding claim 2, Botes in view of Lubbers teaches the computer-implemented method of claim 1, further comprising: in response to the reconciliation request, initiating a reconciliation process between the Op log journal of the primary storage site and an Op log journal of the secondary storage site to ensure the primary storage site and secondary storage site have the same operations and data to maintain read write consistency between a primary copy of data of a primary storage site and a secondary copy of data of a secondary storage site (Botes paragraph 0418, the log is used to restore prior state; Botes Fig. 22, metadata is used to identify differences between storage systems when reconciling, Botes paragraph 0444, metadata is logged). Regarding claim 3, Botes in view of Lubbers teaches the computer-implemented method of claim 2, further comprising: in response to completion of the reconciliation process (Botes paragraph 0427, reattaching storage to a pod), deactivating a fence to allow read/write operations on the primary storage site (Botes paragraph 0181, any system active for a pod can receive and process requests to modify the dataset. Reattaching a storage system, thereby allowing read/write operations on it, constitutes deactivating a fence as claimed); and deactivating a fence to allow read/write operations on the secondary storage site (Botes paragraph 0427, reattaching a storage system to the pod may include re-enabling the receiving and processing of operations for the pod on the reattached storage system, including reads and data modification). Regarding claim 4, Botes in view of Lubbers teaches the computer-implemented method of claim 2, further comprising: in response to the reconciliation process for a resynchronization of the replication relationship between the one or more members of the first storage node and one or more members of the second storage node (Botes paragraph 0335, resolving lost communication due to a fault), retrying the first write Op at the primary storage site (Botes paragraph 0368, the operations may be reapplied once issues are resolved); writing the first write op to the primary copy of data and logging the first write op in a journal on the primary storage site (Botes paragraph 0098, in progress operations are journaled; Botes paragraph 0368, the operations are reapplied, and information about the operations is recorded; Botes paragraph 0374); replicating the first write Op to the secondary storage site to complete the reconciliation (Botes paragraph 0369, a write is completed after the second storage system persists it); writing the first write Op and logging the first write Op in a journal on the secondary storage site (Botes paragraph 0098, in progress operations are journaled); sending a replication acknowledgement from the secondary storage site to the primary storage site (Botes paragraph 0369, the second storage system indicates success); responding to the client device with a successful writing of the first write Op after successfully writing the first write Op to the primary and secondary storage sites regardless of whether the primary storage site or the secondary storage site initially receives the first write Op to maintain consistency across the primary storage site and the secondary storage site (Botes paragraph 0125, the system serves client requests despite failures, Botes paragraph 0185, recovery resolves inconsistencies between storage systems by completing modifications that were requested but not yet signaled as successful; Botes paragraph 0195, the storage systems take steps to ensure read consistency despite overlapping writes); receiving a dependent second write Op at the primary storage site that is dependent upon the first write Op (Botes paragraphs 0293, 0304, 0317, a write operation that can only be executed after a previous write has been processed); replicating the dependent second write Op to the secondary storage site (Botes paragraph 0304, the second operation is made durable after the first operation is made durable; Botes paragraph 0286, a leader storage system determines how to replicate the result to secondary systems); writing the dependent second write op (Botes paragraph 0304, the second operation is made durable) and logging in a journal on the secondary log site (Botes paragraph 0098, in progress operations are journaled); sending a replication acknowledgement from the secondary storage site to the primary storage site (Botes paragraph 0330); and responding to the client with a successful writing of the second write op (Botes paragraph 0329, when the request has been processed on all systems, completion is acknowledged to the host). Regarding claim 5, Botes in view of Lubbers teaches the computer-implemented method of claim 1, further comprising: responding to the write Op with a failure status to indicate that the write Op was not successfully replicated to the secondary storage site (Botes paragraph 0186, a storage system can complete with an error or exception when replication fails due to being out of sync). Regarding claim 6, Botes in view of Lubbers teaches the computer-implemented method of claim 1, wherein establishing bi-directional synchronous replication between one or more members of a storage node of the primary storage site and one or more members of a storage node of the secondary storage site comprises: initiating a data replication relationship between the one or more members of the first storage node and the one or more members of the second storage node (Botes paragraphs 0018 – 0021, Figs. 7 – 10 depict methods of establishing a synchronous replication relationship) while maintaining zero RPO (Botes paragraphs 0120 and 0155, consistency is maintained. Disaster recovery objectives may be met as failure of the storage system may not result in loss of data, that is, the system may maintain zero RPO) and Zero RTO (Botes paragraph 0105, the data remains available even when a node fails). Regarding claim 7, Botes in view of Lubbers teaches the computer-implemented method of claim 1, further comprising: aborting a replication engine at the primary storage site (Botes paragraph 0637, storage system B may determine it is out of sync, and will not participate in communications until it is resynchronized; Botes paragraph 0494, detaching the storage system from synchronous replication; Botes paragraphs 0197 and 0217, the first storage site can be detached) activating a fence to disallow read/write access to the first storage node of the primary storage site (Detaching the storage system) due to an Op timeout when no acknowledgement is received for the write Op during a timeout period of the Op timeout (Botes paragraph 0351, a failure to acknowledge can be the trigger to detach a storage system). Regarding claim 8, Botes teaches a non-transitory (Paragraph 0661) computer-readable storage medium embodying a set of instructions, which when executed by one or more processing resources of a distributed storage system having a primary storage site and a secondary storage site (Paragraphs 0660 – 0666), cause the one or more processing resources to: upon network restoration, generate and send a consensus request from the primary storage site to a mediator at a third site to determine a primary role for serving input/output (I/O) operations for the primary storage site or the secondary storage site (Paragraph 0335 – 0337, 0440, a mediation service at a third site is requested to resolve which storage system is in sync and which should stop; Paragraph 0541, the mediation key may be representative of a “leader” storage system) to avoid a split-brain scenario when the primary and secondary storage sites are temporarily unable to communicate with each other (Paragraphs 0189 – 0193, 0336, external mediators and quorum/consensus mechanisms are used to avoid split brain). Claim 8 otherwise recites similar language to claim 1, and is similarly rejected under Botes in view of Lubbers. Regarding claim 9, Botes in view of Lubbers teaches the non-transitory computer-readable storage medium of claim 8, wherein the instructions further cause the one or more processing resources to: vote, with the mediator and primary storage site, to grant consensus to assign the primary role for serving I/O operations to the primary storage site (Botes paragraph 0349). Regarding claim 10, Botes in view of Lubbers teaches the non-transitory computer-readable storage medium of claim 8, wherein the instructions further cause the one or more processing resources to: allow read/write operations on the primary storage site (Botes Abstract). Regarding claim 11, Botes in view of Lubbers teaches the non-transitory computer-readable storage medium of claim 8, wherein the instructions further cause the one or more processing resources to: generate and send, with the secondary storage site, a resynchronization request to the primary storage site (Botes paragraph 0637, storage system B requests to be resynchronized when it determines it is out of sync). Regarding claim 12, Botes in view of Lubbers teaches the non-transitory computer-readable storage medium of claim 8, wherein the instructions further cause the one or more processing resources to: perform resynchronization between the primary storage site and secondary storage site using one or more snapshots of the one or more members of the first storage node of the primary storage site (Botes paragraph 0432). Regarding claim 13, Botes in view of Lubbers teaches the non-transitory computer-readable storage medium of claim 12, wherein the instructions further cause the one or more processing resources to: upon completing resynchronization, allow read/write operations on the secondary storage site (Botes paragraph 0427). Regarding claim 14, Botes in view of Lubbers teaches the non-transitory computer readable storage medium of claim 8, wherein establishing bi-directional synchronous replication between one or more members of a first storage node of the primary storage site and one or more members of a second storage node of the secondary storage site comprises: initiating a data replication relationship between the one or more members of the first storage node and the one or more members of the second storage node (Botes paragraph 0425) while maintaining zero RPO (Botes paragraphs 0120 and 0155, consistency is maintained. Disaster recovery objectives may be met as failure of the storage system may not result in loss of data, that is, the system may maintain zero RPO) and Zero RTO (Botes paragraph 0105, the data remains available even when a node fails); Regarding claim 15, Botes teaches a distributed storage system comprising: one or more processing resource (Paragraph 0076); and one or more non-transitory computer-readable media, coupled to the one or more processing resources, having stored therein instructions that when executed by the one or more processing resource cause the one or more processing resources (Paragraphs 0660 – 0666) to: start a coordinated OOS procedure for the first member and a second member of the first storage node due to the first member of the primary storage site being OOS with a first member of the secondary storage site (Paragraphs 0032 – 0040, Figs. 21 – 29 depict method to resynchronize storage systems when the storage systems are out of sync; Paragraph 0424); receive, with the second member of the first storage node of the primary storage site (Fig. 1A, there are primary/secondary controllers and multiple drives), a second write Op that is dependent on the first write Op (Paragraphs 0293, 0304, 0317 a write operation that can only be executed after a previous write has been processed); write the second write Op to the primary copy of data at the primary storage site and log the second write Op in an op log journal (Paragraph 0098, in progress operations are journaled); and preserve write order consistency (Paragraph 0286, 0368, the system can preserve required ordering if necessary) by not replicating the second write Op received by the second member to the secondary storage site based on the OOS state of the first member (Paragraph 0424, a storage system may fall out of sync; Paragraphs 0189 and 0205, out of sync storage systems are detached. Paragraph 0198, if the second member is not certain that it is in sync with the first member, it will not replicate Ops written to it). Claim 15 otherwise recites similar language to claim 1, and is similarly rejected under Botes in view of Lubbers. Allowable Subject Matter Claims 16 – 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. Examiner’s reasons for indicating allowable subject matter regarding claims 16 – 20 can be found in a prior Office action. Conclusion Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a). A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action. Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRYAN PAI SONG HUANG whose telephone number is (571)272-0510. The examiner can normally be reached Monday - Friday 11:30 AM - 8:30 PM. Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice. If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, ASHISH THOMAS can be reached at (571) 272-0631. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300. Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000. /B.P.H./Examiner, Art Unit 2114 /ASHISH THOMAS/Supervisory Patent Examiner, Art Unit 2114
Read full office action

Prosecution Timeline

Jul 26, 2024
Application Filed
Sep 18, 2025
Non-Final Rejection — §103
Dec 11, 2025
Interview Requested
Dec 17, 2025
Examiner Interview Summary
Dec 17, 2025
Applicant Interview (Telephonic)
Dec 23, 2025
Response Filed
Feb 17, 2026
Final Rejection — §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12591504
Method and apparatus for monitoring - with contention mitigation - avionics application(s) running on a platform with multi-core processor, related electronic avionics system and computer program
2y 5m to grant Granted Mar 31, 2026
Patent 12585544
USING A DURABLE FUTURE TO RESUME EXECUTION OF AN OPERATION AFTER A PROCESS THAT INCLUDES THE OPERATION CRASHES
2y 5m to grant Granted Mar 24, 2026
Patent 12572434
DISASTER RECOVERY USING INCREMENTAL DATABASE RECOVERY
2y 5m to grant Granted Mar 10, 2026
Patent 12566684
AVOIDING FAILED TRANSACTIONS WITH ARTIFICIAL-INTELLIGENCE BASED MONITORING
2y 5m to grant Granted Mar 03, 2026
Patent 12541440
REDUNDANCY AND SWAPPING SCHEME FOR MEMORY REPAIR
2y 5m to grant Granted Feb 03, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

AI Strategy Recommendation

Get an AI-powered prosecution strategy using examiner precedents, rejection analysis, and claim mapping.
Powered by AI — typically takes 5-10 seconds

Prosecution Projections

3-4
Expected OA Rounds
78%
Grant Probability
83%
With Interview (+5.0%)
2y 5m
Median Time to Grant
Moderate
PTA Risk
Based on 18 resolved cases by this examiner. Grant probability derived from career allow 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