Prosecution Insights
Last updated: April 19, 2026
Application No. 18/958,952

COORDINATION SNAPSHOTS IN A DISTRIBUTED STORAGE SYSTEM

Final Rejection §103§DP
Filed
Nov 25, 2024
Examiner
KORTMAN, CURTIS JAMES
Art Unit
2139
Tech Center
2100 — Computer Architecture & Software
Assignee
Pure Storage Inc.
OA Round
2 (Final)
79%
Grant Probability
Favorable
3-4
OA Rounds
2y 4m
To Grant
99%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allow Rate
170 granted / 216 resolved
+23.7% vs TC avg
Strong +24% interview lift
Without
With
+23.6%
Interview Lift
resolved cases with interview
Typical timeline
2y 4m
Avg Prosecution
18 currently pending
Career history
234
Total Applications
across all art units

Statute-Specific Performance

§101
11.0%
-29.0% vs TC avg
§103
43.7%
+3.7% vs TC avg
§102
6.9%
-33.1% vs TC avg
§112
30.8%
-9.2% vs TC avg
Black line = Tech Center average estimate • Based on career data from 216 resolved cases

Office Action

§103 §DP
DETAILED ACTION 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 are objected to as failing to comply with 37 CFR 1.84(p)(4) because reference character (171) has been used to designate both storage drives (171) [Fig. 1A] and a communication interconnect (171) [Fig. 2B] and reference character (172) has been used to designate both the internet (172) [Fig. 1A] and power distribution (172) [Fig. 2B]. Corrected drawing sheets in compliance with 37 CFR 1.121(d) are required in reply to the Office action to avoid abandonment of the application. Any amended replacement drawing sheet should include all of the figures appearing on the immediate prior version of the sheet, even if only one figure is being amended. Each drawing sheet submitted after the filing date of an application must be labeled in the top margin as either “Replacement Sheet” or “New Sheet” pursuant to 37 CFR 1.121(d). If the changes are not accepted by the examiner, the applicant will be notified and informed of any required corrective action in the next Office action. The objection to the drawings will not be held in abeyance. 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. MPEP § 804, subsection I.B.1 states: “A complete response to a nonstatutory double patenting (NSDP) rejection is either a reply by applicant showing that the claims subject to the rejection are patentably distinct from the reference claims, or the filing of a terminal disclaimer in accordance with 37 CFR 1.321 in the pending application(s) with a reply to the Office action (see MPEP § 1490 for a discussion of terminal disclaimers). Such a response is required even when the nonstatutory double patenting rejection is provisional. As filing a terminal disclaimer, or filing a showing that the claims subject to the rejection are patentably distinct from the reference application’s claims, is necessary for further consideration of the rejection of the claims, such a filing should not be held in abeyance. Only compliance with objections or requirements as to form not necessary for further consideration of the claims may be held in abeyance until allowable subject matter is indicated. Replies with an omission should be treated as provided in MPEP § 714.03.” (emphasis added) 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. Rejections based on US Patent No. US 11,467,913 B1 (‘913): Claims 15 and 18-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 8 and 10-11 of ‘913. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 8 and 10-11 of ‘913 contain every element of claims 15 and 18-20 of the instant application and as such anticipates claims 15 and 18-20 of the instant application. "A later patent claim is not patentably distinct from an earlier patent claim if the later claim is obvious over, or anticipated by, the earlier claim. In re Longi, 759 F.2d at 896,225 USPQ at 651 (affirming a holding of obviousness-type double patenting because the claims at issue were obvious over claims in four prior art patents); In re Berq, 140 F.3d at 1437, 46 USPQ2d at 1233 (Fed. Cir. 1998) (affirming a holding of obviousness-type double patenting where a patent application claim to a genus is anticipated by a patent claim to a species within that genus). " ELI LILLY AND COMPANY v BARR LABORATORIES, INC., United States Court of Appeals for the Federal Circuit, ON PETITION FOR REHEARING EN BANC (DECIDED: May 30, 2001). Instant Application ‘913 15. A non-transitory computer-readable storage medium having instructions thereupon which, when executed by a processing device, cause the processing device to: receive, by a coordinating agent from a plurality of distributed agents of a storage system, corresponding confirmations that the plurality of distributed agents are in a snapshot creation mode; provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and commit the snapshot and exiting the snapshot creation mode. 8. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising: recording, by a snapshot director in a storage system, intent to create a snapshot of storage system contents associated with an existing snapshot copy identifier, responsive to receiving responses from a plurality of distributed agents of the storage system that all of the plurality of distributed agents are in a snapshot creation mode; responding, with a new snapshot copy identifier that replaces the existing snapshot copy identifier, to one or more inquiries from the plurality of distributed agents regarding one or more I/O (input/output) operations, after the intent to create the snapshot is recorded, wherein the plurality of distributed agents are data structures stored within memory of the storage system and wherein multiple distributed agents of the plurality of distributed agents are configured to have allocated differing amounts of the memory; creating the snapshot using the existing snapshot copy identifier; and notifying the plurality of distributed agents, committing the snapshot and exiting the snapshot creation mode, responsive to confirmation from the plurality of distributed agents that service is complete for all in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier. 18. The non-transitory computer-readable storage medium of claim 15, wherein the processing device is further to: communicate to the plurality of distributed agents that the storage system is entering the snapshot creation mode. 10. The computer readable media of claim 8, wherein the method further comprises: receiving a request to create the snapshot of the storage system; and communicating a snapshot precommitment to each of the plurality of distributed agents that indicates the storage system is entering the snapshot creation mode. 19. The non-transitory computer-readable storage medium of claim 15, wherein the processing device is further to: direct the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using an existing snapshot copy identifier. 11. The computer readable media of claim 8, wherein the method further comprises: directing, after the recording the intent to create the snapshot, that each of the plurality of distributed agents complete service, using the existing snapshot copy identifier, to all of the in-flight I/O operations that started before the intent to create the snapshot was recorded. [Examiner note: recording intent to create a snapshot is interpreted as “entering the snapshot creation mode”] 20. The non-transitory computer-readable storage medium of claim 19, wherein the committing the snapshot is responsive to receiving responses from the distributed agents that service is complete for the pending I/O operations. 8… responsive to confirmation from the plurality of distributed agents that service is complete for all in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier. [Examiner note: recording intent to create a snapshot is interpreted as “entering the snapshot creation mode”] Claims 1-2, 4-6, 8 and 11-13 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 8, 10-11, 14, 16 and 18 of ‘913. Although the claims at issue are not identical, they are not patentably distinct from each other because: Claims 14, 16 and 18 of ‘913 recite a system configured to perform all of the same limitations of the method of claims 1-2 and 4-6 of the instant application, but are directed to a different statutory class. Claims 8 and 10-11 of ‘913 recite a non-transitory computer readable medium having instructions, which when executed by a processor, cause a processor to perform all of the functional limitations that the system of claims 8 and 11-13 of the instant application is configured to, but is directed to a different statutory class. Instant Application ‘913 1. A method, comprising: receiving, by a coordinating agent from a plurality of distributed agents of a storage system, corresponding confirmations that the plurality of distributed agents are in a snapshot creation mode; providing, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and committing the snapshot and exiting the snapshot creation mode. 14. A storage system, comprising: a plurality of authorities acting as distributed agents; a plurality of storage nodes, each having one or more authorities of the plurality of authorities; one authority of the plurality of authorities configured to act as a snapshot director and record intent to create a snapshot of storage system contents associated with an existing snapshot copy identifier, responsive to a first confirmation that all of the plurality of authorities are in a snapshot creation mode, wherein the snapshot director is configured to: respond, with a new snapshot copy identifier that replaces the existing snapshot copy identifier, to one or more inquiries from the plurality of authorities regarding one or more I/O (input/output) operations, after the intent to create the snapshot is recorded, wherein the plurality of authorities are data structures stored within memory of the storage system and wherein multiple authorities of the plurality of authorities are configured to have allocated differing amounts of the memory; create the snapshot using the existing snapshot copy identifier; and commit the snapshot and exit the snapshot creation mode, responsive to a second confirmation from the plurality of authorities that service is complete for all in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier. 2. The method of claim 1, wherein the storage system comprises one or more storage nodes and the plurality of distributed agents distributed among the one or more storage nodes. 14…a plurality of authorities acting as distributed agents; a plurality of storage nodes, each having one or more authorities of the plurality of authorities; one authority of the plurality of authorities configured to act as a snapshot director. 4. The method of claim 1, further comprising: communicating to the plurality of distributed agents that the storage system is entering the snapshot creation mode. 16. The storage system of claim 14, wherein the storage system is configured to receive a request to create the snapshot of the storage system contents and wherein the snapshot director is further configured to communicate a snapshot precommitment to the plurality of authorities that indicates the storage system is entering the snapshot creation mode, responsive to receiving the request to create the snapshot. 5. The method of claim 1, further comprising: directing the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using an existing snapshot copy identifier. 18. The storage system of claim 14, wherein the snapshot director is further configured to: direct, after recording the intent to create the snapshot, that the plurality of authorities complete service, using the existing snapshot copy identifier, to all of the in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier, and then respond with the second confirmation. [Examiner note: recording intent to create a snapshot is interpreted as “entering the snapshot creation mode”] 6. The method of claim 5, wherein the committing the snapshot is responsive to receiving responses from the distributed agents that service is complete for the pending I/O operations. 14… and commit the snapshot and exit the snapshot creation mode, responsive to a second confirmation from the plurality of authorities that service is complete for all in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier. 8. A storage system, comprising: a memory; and a processing device, operatively coupled to the memory, configured to: receive, by a coordinating agent from a plurality of distributed agents of the storage system, corresponding confirmations that the plurality of distributed agents are in a snapshot creation mode; provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and commit the snapshot and exiting the snapshot creation mode. 8. A tangible, non-transitory, computer-readable media having instructions thereupon which, when executed by a processor, cause the processor to perform a method comprising: recording, by a snapshot director in a storage system, intent to create a snapshot of storage system contents associated with an existing snapshot copy identifier, responsive to receiving responses from a plurality of distributed agents of the storage system that all of the plurality of distributed agents are in a snapshot creation mode; responding, with a new snapshot copy identifier that replaces the existing snapshot copy identifier, to one or more inquiries from the plurality of distributed agents regarding one or more I/O (input/output) operations, after the intent to create the snapshot is recorded, wherein the plurality of distributed agents are data structures stored within memory of the storage system and wherein multiple distributed agents of the plurality of distributed agents are configured to have allocated differing amounts of the memory; creating the snapshot using the existing snapshot copy identifier; and notifying the plurality of distributed agents, committing the snapshot and exiting the snapshot creation mode, responsive to confirmation from the plurality of distributed agents that service is complete for all in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier. 11. The storage system of claim 8, wherein the processing device is further configured to: communicate to the plurality of distributed agents that the storage system is entering the snapshot creation mode. 10. The computer readable media of claim 8, wherein the method further comprises: receiving a request to create the snapshot of the storage system; and communicating a snapshot precommitment to each of the plurality of distributed agents that indicates the storage system is entering the snapshot creation mode. 12. The storage system of claim 8, wherein the processing device is further configured to: direct the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using an existing snapshot copy identifier. 11. The computer readable media of claim 8, wherein the method further comprises: directing, after the recording the intent to create the snapshot, that each of the plurality of distributed agents complete service, using the existing snapshot copy identifier, to all of the in-flight I/O operations that started before the intent to create the snapshot was recorded. 13. The storage system of claim 12, wherein the committing the snapshot is responsive to receiving responses from the distributed agents that service is complete for the pending I/O operations. 8…committing the snapshot and exiting the snapshot creation mode, responsive to confirmation from the plurality of distributed agents that service is complete for all in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier. Modifying the statutory class of the claims of ‘913 to comport with a different statutory class, including creating a method performing the functions of the system claimed by ‘913, or creating a system with a processor that implements the functions that the non-transitory computer readable medium having instructions thereupon which, when executed by a processing device, cause the processing device to perform claimed by ‘913, would have been an obvious variation to one of ordinary skill in the art. Claims 3, 8-10 and 15-17 are rejected on the ground of nonstatutory double patenting as being unpatentable over claim 14 of ‘913 in view of US Patent Application Publication No. US 2012/0011100 A1 (Yamane). Instant Application ‘913 Yamane 3. The method of claim 1 wherein the coordinating agent is assigned to a particular agent of the plurality of distributed agents that receives a remote procedure call requesting the snapshot. Claim 1 of the instant application is rejected in view of Claim 14 of ‘914 as seen in the prior rejections. A user terminal (9) external to the coordinator node (3) (particular agent of the plurality of distributed agents)and participant nodes (7a-7b) or transaction coordinator nodes (5) can send a request (remote procedure call – interpreted in congruence with Applicant’s specification that indicates external requests may be viewed as remote procedure calls [Applicant’s specification 0138]) to create a snapshot to the coordinator node (3), which then begins the process of creating the snapshot including sending the snapshot requests to all of the participant nodes (7) (indicating intent to create a snapshot) [0040-0041] [0049] [0071]). 8. A storage system, comprising: a memory; and a processing device, operatively coupled to the memory, configured to: receive, by a coordinating agent from a plurality of distributed agents of the storage system, corresponding confirmations that the plurality of distributed agents are in a snapshot creation mode; provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and commit the snapshot and exiting the snapshot creation mode. 14. A storage system, comprising: a plurality of authorities acting as distributed agents; a plurality of storage nodes, each having one or more authorities of the plurality of authorities; one authority of the plurality of authorities configured to act as a snapshot director and record intent to create a snapshot of storage system contents associated with an existing snapshot copy identifier, responsive to a first confirmation that all of the plurality of authorities are in a snapshot creation mode, wherein the snapshot director is configured to: respond, with a new snapshot copy identifier that replaces the existing snapshot copy identifier, to one or more inquiries from the plurality of authorities regarding one or more I/O (input/output) operations, after the intent to create the snapshot is recorded, wherein the plurality of authorities are data structures stored within memory of the storage system and wherein multiple authorities of the plurality of authorities are configured to have allocated differing amounts of the memory; create the snapshot using the existing snapshot copy identifier; and commit the snapshot and exit the snapshot creation mode, responsive to a second confirmation from the plurality of authorities that service is complete for all in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier. The user terminal, snapshot coordinator, and participant nodes each include processors (2503), memory (2501), and an OS as well as any necessary application programs for performing the various disclosed functions, such as capturing a snapshot, which are installed on an HDD (2505) [Fig. 24]. 9. The storage system of claim 8, wherein the storage system comprises one or more storage nodes and the plurality of distributed agents distributed among the one or more storage nodes. 14… a plurality of authorities acting as distributed agents; a plurality of storage nodes, each having one or more authorities of the plurality of authorities; one authority of the plurality of authorities configured to act as a snapshot director and record intent to create a snapshot of storage system contents associated with an existing snapshot copy identifier, responsive to a first confirmation that all of the plurality of authorities are in a snapshot creation mode 10. The storage system of claim 8, wherein the coordinating agent is assigned to a particular agent of the plurality of distributed agents that receives a remote procedure call requesting the snapshot. A user terminal (9) external to the coordinator node (3) (particular agent of the plurality of distributed agents)and participant nodes (7a-7b) or transaction coordinator nodes (5) can send a request (remote procedure call – interpreted in congruence with Applicant’s specification that indicates external requests may be viewed as remote procedure calls [Applicant’s specification 0138]) to create a snapshot to the coordinator node (3), which then begins the process of creating the snapshot including sending the snapshot requests to all of the participant nodes (7) (indicating intent to create a snapshot) [0040-0041] [0049] [0071]). 15. A non-transitory computer-readable storage medium having instructions thereupon which, when executed by a processing device, cause the processing device to: receive, by a coordinating agent from a plurality of distributed agents of a storage system, corresponding confirmations that the plurality of distributed agents are in a snapshot creation mode; provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; And commit the snapshot and exiting the snapshot creation mode. 14. A storage system, comprising: a plurality of authorities acting as distributed agents; a plurality of storage nodes, each having one or more authorities of the plurality of authorities; one authority of the plurality of authorities configured to act as a snapshot director and record intent to create a snapshot of storage system contents associated with an existing snapshot copy identifier, responsive to a first confirmation that all of the plurality of authorities are in a snapshot creation mode, wherein the snapshot director is configured to: respond, with a new snapshot copy identifier that replaces the existing snapshot copy identifier, to one or more inquiries from the plurality of authorities regarding one or more I/O (input/output) operations, after the intent to create the snapshot is recorded, wherein the plurality of authorities are data structures stored within memory of the storage system and wherein multiple authorities of the plurality of authorities are configured to have allocated differing amounts of the memory; create the snapshot using the existing snapshot copy identifier; and commit the snapshot and exit the snapshot creation mode, responsive to a second confirmation from the plurality of authorities that service is complete for all in-flight I/O operations that started before the intent to create the snapshot was recorded or that are associated with the existing snapshot copy identifier. The user terminal, snapshot coordinator, and participant nodes each include processors (2503), memory (2501), and an OS as well as any necessary application programs for performing the various disclosed functions, such as capturing a snapshot, which are installed on an HDD (2505) [Fig. 24]. 16. The non-transitory computer-readable storage medium of claim 15, wherein the storage system comprises one or more storage nodes and the plurality of distributed agents distributed among the one or more storage nodes. 14… a plurality of authorities acting as distributed agents; a plurality of storage nodes, each having one or more authorities of the plurality of authorities; one authority of the plurality of authorities configured to act as a snapshot director and record intent to create a snapshot of storage system contents associated with an existing snapshot copy identifier, 17. The non-transitory computer-readable storage medium of claim 15, wherein the coordinating agent is assigned to a particular agent of the plurality of distributed agents that receives a remote procedure call requesting the snapshot. A user terminal (9) external to the coordinator node (3) (particular agent of the plurality of distributed agents)and participant nodes (7a-7b) or transaction coordinator nodes (5) can send a request (remote procedure call – interpreted in congruence with Applicant’s specification that indicates external requests may be viewed as remote procedure calls [Applicant’s specification 0138]) to create a snapshot to the coordinator node (3), which then begins the process of creating the snapshot including sending the snapshot requests to all of the participant nodes (7) (indicating intent to create a snapshot) [0040-0041] [0049] [0071]). It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the process of creating a snapshot by the system including the snapshot director as claimed in claim 14 of ‘913 to include being in response to receiving an external request to create a snapshot from a user terminal sent to a snapshot coordinator as taught by Yamane because it only would have required the combination of known elements according to known methods to yield predictable results. One of ordinary skill in the art could have combined the process of creating a snapshot in the system as claimed in claim 14 of ‘913 by known methods to include being in response to receiving an external request at the snapshot coordinator as taught by Yamane. In combination, each function would continue to have the same function as it did separately. For example, the process of creating a snapshot by the snapshot director taught by claim 14 of ‘913 would continue to function the same, but would simply be performed in response to the external request to instruct a coordinator to take a snapshot as taught by Yamane (i.e. the same function as each did separately). Additionally, the results would have been predictable and the claimed invention would have been obvious to one of ordinary skill in the art. It also would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the storage nodes as claimed in claim 14 of ‘913 to include being implemented by processors and non-transitory computer readable memory with instructions (as claimed in claims 8 and 15 of the instant application) for performing the storage node’s functions (such as for taking a snapshot) as taught by Yamane because it would have only required the combination of known elements according to known methods to yield predictable results. One of ordinary skill in the art could have combined the storage nodes as taught by claim 14 of ‘913 with the processors and non-transitory computer readable memory with instructions for performing the storage node functions as taught by Yamane. In combination, each element would continue to have the same function as it did separately. For example, the storage nodes would continue to perform the functions of the authorities as claimed by claim 14 of ‘913, and the processor and non-transitory computer readable memory with instructions for performing the storage node functions would continue to perform storage node functions as taught by Yamane (i.e., the same function as each did separately). Additionally, the results would have been predictable and the claimed invention would have been obvious to one of ordinary skill in the art. Claims 7 and 14 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 8 and 14 of ‘913 as applied in the corresponding rejection above in view of US Patent Application Publication No. US 2016/0041869 A1 (Davis). Instant Application ‘913 Davis 7. The method of claim 1 wherein the plurality of distributed agents are authorities that control erasure coding of data stored in the storage system. Claim 14 as applied in the corresponding rejection above. A storage cluster distributes data across storage nodes [0003]. The storage nodes break up and reassemble write data according to an erasure coding. The data is sharded across the non-volatile memory of the storage nodes (150) according to the erasure code. The authority may be the owning node that has the right to update the metadata owning the data striped across the storage nodes [0031] [0033-0035]. 14. The storage system of claim 8 wherein the plurality of distributed agents are authorities that control erasure coding of data stored in the storage system. Claim 8 as applied in the corresponding rejection above. A storage cluster distributes data across storage nodes [0003]. The storage nodes break up and reassemble write data according to an erasure coding. The data is sharded across the non-volatile memory of the storage nodes (150) according to the erasure code. The authority may be the owning node that has the right to update the metadata owning the data striped across the storage nodes [0031] [0033-0035]. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the plurality of distributed authorities acting as agents in the storage system as claimed by claims 8 and 14 of ‘913 to include performing erasure coding on the data and striping it across distributed storage across a plurality of nodes hosting the authorities in shards as taught by Davis. One of ordinary skill in the art would have been motivated to make this modification because erasure coding provides data protection because the data is expanded and encoded with redundant pieces and stored across a set of different locations so that data can be recovered from remaining locations in the event that some of the data is lost, and can tolerate the failure of multiple storage nodes as taught by Davis in [0003] [0018] [0035]. Rejections based on U.S. Patent No. US 12,204,413 B2 (‘413): Claims 1-6, 8-14 and 15-20 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-5 of U.S. Patent No. US 12,204,413 B2 (‘413) in view of Yamane. Instant Application ‘413 Yamane 1. A method, comprising: by a coordinating agent receiving, by a coordinating agent from a plurality from a plurality of distributed agents of a storage system, corresponding confirmations that the plurality of distributed agents are in a snapshot creation mode; providing, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and committing the snapshot and exiting the snapshot creation mode. 1. A method, comprising: …by a coordinating agent… recording, by a coordinating agent in a data structure stored in memory of one or more storage nodes of a storage system, an intent to create a snapshot of contents of the storage system associated with an existing snapshot copy identifier, wherein the data structure stored in the memory is monitored by distributed agents of the storage system to identify the intent to create the snapshot; switching to a new snapshot copy identifier; receiving, by the coordinating agent, corresponding requests for a snapshot copy identifier from the distributed agents of the storage system performing input/output (I/O) operations after recording the intent to create the snapshot; responding to the corresponding requests with the new snapshot copy identifier; and committing the snapshot and exiting a snapshot creation mode upon receiving, by the coordinating agent, responses from each distributed agent of the storage system that service is complete for all I/O operations that started before recording the intent to create the snapshot. A snapshot coordinator transmits a request to all participant nodes for a snapshot [0071]. Each node sends a list of transactions in progress to the snapshot coordinator (14) [Fig. 9A] – the snapshot coordinator receives a list from all nodes before progressing with the snapshot [0073] (confirmation that the plurality of distributed agents are in a snapshot creation mode). The list may be used to select which transactions are included in the snapshot. Those not included are written with a copy-on-write procedure to a next snapshot [Fig. 10] [Fig. 19] [Fig. 14] [Fig. 1. 2. The method of claim 1, wherein the storage system comprises one or more storage nodes and the plurality of distributed agents distributed among the one or more storage nodes. 2. The method of claim 1, wherein the one or more storage nodes have the distributed agents distributed among the one or more storage nodes. 3. The method of claim 1, wherein the coordinating agent is assigned to a particular agent of the plurality of distributed agents that receives a remote procedure call requesting the snapshot. 3. The method of claim 1, wherein the recording of the intent to create the snapshot is in response to receiving a remote procedure call. (where the intent to create the snapshot is recorded by the coordinating agent as claimed in claim 1) 4. The method of claim 1, further comprising: communicating to the plurality of distributed agents that the storage system is entering the snapshot creation mode. 4. The method of claim 1, further comprising: communicating to each of the distributed agents that the storage system is entering the snapshot creation mode. 5. The method of claim 1, further comprising: directing the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using an existing snapshot copy identifier. 5. The method of claim 1, further comprising: directing each of the distributed agents to complete service, using the existing snapshot copy identifier, to all of the I/O operations that started before recording the intent to create the snapshot. 6. The method of claim 5, wherein the committing the snapshot is responsive to receiving responses from the distributed agents that service is complete for the pending I/O operations. 1… and committing the snapshot and exiting a snapshot creation mode upon receiving, by the coordinating agent, responses from each distributed agent of the storage system that service is complete for all I/O operations that started before recording the intent to create the snapshot. 8. A storage system, comprising: a memory; and a processing device, operatively coupled to the memory, configured to: receive, by a coordinating agent from a plurality of distributed agents of the storage system, corresponding confirmations that the plurality of distributed agents are in a snapshot creation mode; provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and commit the snapshot and exiting the snapshot creation mode. 1. A method, comprising: recording, by a coordinating agent in a data structure stored in memory of one or more storage nodes of a storage system, an intent to create a snapshot of contents of the storage system associated with an existing snapshot copy identifier, wherein the data structure stored in the memory is monitored by distributed agents of the storage system to identify the intent to create the snapshot; switching to a new snapshot copy identifier; receiving, by the coordinating agent, corresponding requests for a snapshot copy identifier from the distributed agents of the storage system performing input/output (I/O) operations after recording the intent to create the snapshot; responding to the corresponding requests with the new snapshot copy identifier; and committing the snapshot and exiting a snapshot creation mode upon receiving, by the coordinating agent, responses from each distributed agent of the storage system that service is complete for all I/O operations that started before recording the intent to create the snapshot. The user terminal, snapshot coordinator, and participant nodes each include processors (2503), memory (2501), and an OS as well as any necessary application programs for performing the various disclosed functions, which are installed on an HDD (2505) [Fig. 24]. A snapshot coordinator transmits a request to all participant nodes for a snapshot [0071]. Each node sends a list of transactions in progress to the snapshot coordinator (14) [Fig. 9A] – the snapshot coordinator receives a list from all nodes before progressing with the snapshot [0073] (confirmation that the plurality of distributed agents are in a snapshot creation mode). The list may be used to select which transactions are included in the snapshot. Those not included are written with a copy-on-write procedure to a next snapshot [Fig. 10] [Fig. 19] [Fig. 14] [Fig. 1. 9. The storage system of claim 8, wherein the storage system comprises one or more storage nodes and the plurality of distributed agents distributed among the one or more storage nodes 2. The method of claim 1, wherein the one or more storage nodes have the distributed agents distributed among the one or more storage nodes. 10. The storage system of claim 8, wherein the coordinating agent is assigned to a particular agent of the plurality of distributed agents that receives a remote procedure call requesting the snapshot. 3. The method of claim 1, wherein the recording of the intent to create the snapshot is in response to receiving a remote procedure call. (where the intent to create the snapshot is recorded by the coordinating agent as claimed in claim 1) 11. The storage system of claim 8, wherein the processing device is further configured to: communicate to the plurality of distributed agents that the storage system is entering the snapshot creation mode. 4. The method of claim 1, further comprising: communicating to the plurality of distributed agents that the storage system is entering the snapshot creation mode. 12. The storage system of claim 8, wherein the processing device is further configured to: direct the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using an existing snapshot copy identifier. 5. The method of claim 1, further comprising: directing the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using an existing snapshot copy identifier. 13. The storage system of claim 12, wherein the committing the snapshot is responsive to receiving responses from the distributed agents that service is complete for the pending I/O operations. 1…and committing the snapshot and exiting a snapshot creation mode upon receiving, by the coordinating agent, responses from each distributed agent of the storage system that service is complete for all I/O operations that started before recording the intent to create the snapshot. 15. A non-transitory computer-readable storage medium having instructions thereupon which, when executed by a processing device, cause the processing device to: receive, by a coordinating agent from a plurality of distributed agents of a storage system, corresponding confirmations that the plurality of distributed agents are in a snapshot creation mode; provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; And commit the snapshot and exiting the snapshot creation mode. 1. A method, comprising: recording, by a coordinating agent in a data structure stored in memory of one or more storage nodes of a storage system, an intent to create a snapshot of contents of the storage system associated with an existing snapshot copy identifier, wherein the data structure stored in the memory is monitored by distributed agents of the storage system to identify the intent to create the snapshot; switching to a new snapshot copy identifier; receiving, by the coordinating agent, corresponding requests for a snapshot copy identifier from the distributed agents of the storage system performing input/output (I/O) operations after recording the intent to create the snapshot; responding to the corresponding requests with the new snapshot copy identifier; and committing the snapshot and exiting a snapshot creation mode upon receiving, by the coordinating agent, responses from each distributed agent of the storage system that service is complete for all I/O operations that started before recording the intent to create the snapshot. A user terminal, snapshot coordinator, and participant nodes each include processors (2503), memory (2501), and an OS as well as any necessary application programs for performing the various disclosed functions for capturing a snapshot, which are installed on an HDD (2505) [Fig. 24]. A snapshot coordinator transmits a request to all participant nodes for a snapshot [0071]. Each node sends a list of transactions in progress to the snapshot coordinator (14) [Fig. 9A] – the snapshot coordinator receives a list from all nodes before progressing with the snapshot [0073] (confirmation that the plurality of distributed agents are in a snapshot creation mode). The list may be used to select which transactions are included in the snapshot. Those not included are written with a copy-on-write procedure to a next snapshot [Fig. 10] [Fig. 19] [Fig. 14] [Fig. 1. 16. The non-transitory computer-readable storage medium of claim 15, wherein the storage system comprises one or more storage nodes and the plurality of distributed agents distributed among the one or more storage nodes. 2. The method of claim 1, wherein the one or more storage nodes have the distributed agents distributed among the one or more storage nodes. 17. The non-transitory computer-readable storage medium of claim 15, wherein the coordinating agent is assigned to a particular agent of the plurality of distributed agents that receives a remote procedure call requesting the snapshot. 3. The method of claim 1, wherein the recording of the intent to create the snapshot is in response to receiving a remote procedure call. (where the intent to create the snapshot is recorded by the coordinating agent as claimed in claim 1) 18. The non-transitory computer-readable storage medium of claim 15, wherein the processing device is further to: communicate to the plurality of distributed agents that the storage system is entering the snapshot creation mode. 4. The method of claim 1, further comprising: communicating to the plurality of distributed agents that the storage system is entering the snapshot creation mode. 19. The non-transitory computer-readable storage medium of claim 15, wherein the processing device is further to: direct the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using an existing snapshot copy identifier. 5. The method of claim 1, further comprising: directing the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using an existing snapshot copy identifier. 20. The non-transitory computer-readable storage medium of claim 19, wherein the committing the snapshot is responsive to receiving responses from the distributed agents that service is complete for the pending I/O operations. 1…and committing the snapshot and exiting a snapshot creation mode upon receiving, by the coordinating agent, responses from each distributed agent of the storage system that service is complete for all I/O operations that started before recording the intent to create the snapshot. It would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the invention claimed in ‘314 to include the coordinating agent waiting for confirmation from the plurality of snapshot participant nodes (distributed agents) that they are in the snapshot creation mode by receiving a list of transactions in progress, to determine which transactions are to be included in the current snapshot and which should be written with a copy-on-write procedure to a next snapshot as taught by Yamane. One of ordinary skill in the art would have been motivated to make this modification because it makes it possible to obtain a consistent snapshot at the final snapshot time, as taught by Yamane in [0084]. It also would have been obvious for one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the storage nodes as claimed in claim 1 of ‘413 to include being implemented by processors and non-transitory computer readable memory with instructions (as claimed in claims 8 and 15 of the instant application) for performing the storage node’s functions (such as for taking a snapshot) as taught by Yamane because it would have only required the combination of known elements according to known methods to yield predictable results. One of ordinary skill in the art could have combined the storage nodes as taught by claim 1 of ‘413 with the processors and non-transitory computer readable memory with instructions for performing the storage node functions as taught by Yamane. In combination, each element would continue to have the same function as it did separately. For example, the storage nodes would continue to perform the functions of the authorities as claimed by claim 1 of ‘413, and the processor and non-transitory computer readable memory with instructions for performing the storage node functions would continue to perform storage node functions as taught by Yamane (i.e., the same function as each did separately). Additionally, the results would have been predictable and the claimed invention would have been obvious to one of ordinary skill in the art. Claims 7 and 14 are rejected on the ground of nonstatutory double patenting as being unpatentable over claim 1 of ‘413 in view of Yamane as applied in the corresponding rejection above in further view of US Patent Application Publication No. US 2016/0041869 A1 (Davis). Instant Applic
Read full office action

Prosecution Timeline

Nov 25, 2024
Application Filed
Dec 10, 2025
Non-Final Rejection — §103, §DP
Mar 11, 2026
Response Filed
Apr 10, 2026
Final Rejection — §103, §DP (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12504911
METHOD AND SYSTEM OF STANDARDS-BASED AUDIO FUNCTION PROCESSING WITH REDUCED MEMORY USAGE
2y 5m to grant Granted Dec 23, 2025
Patent 12504906
Sustainable Storage System
2y 5m to grant Granted Dec 23, 2025
Patent 12487751
Data Storage Device and Method for Handling Lifetime Read Disturb
2y 5m to grant Granted Dec 02, 2025
Patent 12449985
DYNAMIC FLASH INTERFACE MODULE (FIM) OPTIMIZATION
2y 5m to grant Granted Oct 21, 2025
Patent 12450166
CACHING HOST MEMORY ADDRESS TRANSLATION DATA IN A MEMORY SUB-SYSTEM
2y 5m to grant Granted Oct 21, 2025
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
79%
Grant Probability
99%
With Interview (+23.6%)
2y 4m
Median Time to Grant
Moderate
PTA Risk
Based on 216 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