Prosecution Insights
Last updated: October 01, 2026
Application No. 18/958,952

COORDINATION SNAPSHOTS IN A DISTRIBUTED STORAGE SYSTEM

Non-Final OA §103§112§DOUBLEPATENT
Filed
Nov 25, 2024
Priority
Jun 07, 2017 — provisional 62/516,597 +2 more
Examiner
KORTMAN, CURTIS JAMES
Art Unit
2139
Tech Center
2100 — Computer Architecture & Software
Assignee
Pure Storage Inc.
OA Round
3 (Non-Final)
79%
Grant Probability
Favorable
3-4
OA Rounds
4m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 79% — above average
79%
Career Allowance Rate
181 granted / 228 resolved
+24.4% vs TC avg
Strong +24% interview lift
Without
With
+24.0%
Interview Lift
resolved cases with interview
Typical timeline
2y 2m
Avg Prosecution
21 currently pending
Career history
253
Total Applications
across all art units

Statute-Specific Performance

§101
8.3%
-31.7% vs TC avg
§103
46.5%
+6.5% vs TC avg
§102
7.2%
-32.8% vs TC avg
§112
32.6%
-7.4% vs TC avg
Black line = Tech Center average estimate • Based on career data from 228 resolved cases

Office Action

§103 §112 §DOUBLEPATENT
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 . Continued Examination Under 37 CFR 1.114 A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 06 July 2026 has been entered. Claim Rejections 35 USC § 112(b) The following is a quotation of 35 U.S.C. 112(b): (b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention. The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph: The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention. Claims 1-20 rejected under 35 U.S.C. 112(b) or 35 U.S.C. 112 (pre-AIA ), second paragraph, as being indefinite for failing to particularly point out and distinctly claim the subject matter which the inventor or a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention. Regarding claims 1, 8 and 15: The claims recite, “while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identified”. However, the scope of “remain associated” is unclear. “Remain” ordinarily denotes continuation of a preexisting condition. The claims, however, do not previously require the recited input/output operations to be associated with the existing snapshot copy identifier, nor do they identify when such an association must arise, or the period over which it must continue. In fact, they do not even identify whether input/output operations initiated before the intent to create the snapshot was recorded even exist. Therefore, it is unclear whether the claim requires: (1) the I/O operation to be associated with the existing snapshot copy identifier before the intent the snapshot is recorded and to retain that association thereafter; (2) the identifier to be first determined or assigned after the intent is recorded so long as the identifier is an “existing identifier” and the association is maintained long enough to be considered to have “remained associated”; or (3) merely that no action subsequently changes whatever association the I/O operation ultimately receives. The limitation is also unclear as to what conduct is to satisfy “remain associated”. The claims do not recite maintaining the association, preventing reassignment, continuing use of the new identifier, or any other affirmative action that preserves an established relationship. Here, if “remain associated” is intended to require preservation of an existing association, the claim does not identify the antecedent state or temporal interval across which that association must persist. If instead the phrase merely requires that the association not change, the claim does not identify what change is prohibited or when the prohibition begins and ends. And if no preservation or prohibition is required, it is unclear what additional limitation is imposed by the word “remain”. The Specification does not resolve this uncertainty. As described with respect to [Fig. 5C], an inquiry is made to the snapshot director regarding which snapshot copy identifier is to be used for a given I/O operation, and the snapshot director responds with a snapshot copy identifier. That disclosure establishes a mechanism by which the applicable identifier may be determined or assigned, but it does not clearly establish that the I/O operation possessed that same association beforehand such that the association can thereafter “remain”. Therefore, the disclosure does not provide a clear temporal reference point from which the claimed “remain associated” is measured. Accordingly, a person of ordinary skill in the art would not be able to determine with reasonable certainty what prior association must exist, when that association must exist, what must occur, or not occur, for the I/O operation to “remain associated” with the existing snapshot copy identifier. The Examiner suggests amending the claim to recite a step of actually receiving I/O operations before the intent was recorded that are associated with an existing snapshot copy identifier, and then positively claiming the action that is performed with those received I/O operations such that what is required for that received I/O operation to “remain associated” with the existing snapshot copy identifier is clear. Regarding claims 2-7, 9-14 and 16-20: Claims 2-7, 9-14 and 16-20 are rejected for failing to cure the deficiencies of a base claim from which they depend. 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 19 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 8 and 11 of ‘913. Although the claims at issue are not identical, they are not patentably distinct from each other because claims 8 and 11 of ‘913 contain every element of claims 15 and 19 of the instant application and as such anticipates claims 15 and 19 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, from 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, the coordinating agent comprising software stored in the memory for execution by the processing device; provide, to the plurality of distributed agents, a new snapshot copy identifier to be used for input/output operations initiated after an intent to create a snapshot is recorded; while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identifier; and commit the snapshot using an existing snapshot copy identifier 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 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: to “complete service” using “the existing snapshot copy identifier, to all in-flight I/O operations that started before the intent to create the snapshot was recorded” is interpreted in light of the 112(b) rejection to mean that the input/output operations “remain associated” with the existing snapshot copy identifier.”] 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 the 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”] Claims 1-2, 5, 8 and 12 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 8, 11, 14 and 18 of ‘913. Although the claims at issue are not identical, they are not patentably distinct from each other because: Claims 14 and 18 of ‘913 recite a system configured to perform all of the same limitations of the method of claims 1-2 and 5 of the instant application, but are directed to a different statutory class. Claims 8 and 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 12 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, 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 to be used for input/output operations initiated after an intent to create a snapshot is recorded; and while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identifier; committing the snapshot using an existing snapshot copy identifier 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. [Examiner note: that “service is complete” using “for all in-flight I/O operations that started before the intent to create the snapshot was recorded” and are “associated with the existing snapshot copy identifier” is interpreted in light of the 112(b) rejection to mean that the input/output operations “remain 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 are 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. 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 the 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”] 8. A storage system, comprising: a memory; and a processing device, operatively coupled to the memory, configured to: receive, from 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, the coordinating agent comprising software stored in the memory for execution by the processing device; provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identifier; commit the snapshot using an existing snapshot copy identifier 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. [Examiner note: that “service is complete” using “for all in-flight I/O operations that started before the intent to create the snapshot was recorded” and are “associated with the existing snapshot copy identifier” is interpreted in light of the 112(b) rejection to mean that the input/output operations “remain associated” with the existing snapshot copy identifier.”] 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 the 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. 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, the coordinating agent comprising software stored in the memory for execution by the processing device provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identifier; 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. [Examiner note: that “service is complete” using “for all in-flight I/O operations that started before the intent to create the snapshot was recorded” and are “associated with the existing snapshot copy identifier” is interpreted in light of the 112(b) rejection to mean that the input/output operations “remain 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 are 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, from a coordinating agent from a plurality of distributed agents of a storage system, confirmations that the plurality of distributed agents are in a snapshot creation mode, the coordinating agent comprising software stored in the memory for execution by the processing device; provide, to the plurality of distributed agents, a new snapshot copy identifier to be used for input/output operations initiated after an intent to create a snapshot is recorded; while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identifier; and commit the snapshot using an existing snapshot copy identifier 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. [Examiner note: that “service is complete” using “for all in-flight I/O operations that started before the intent to create the snapshot was recorded” and are “associated with the existing snapshot copy identifier” is interpreted in light of the 112(b) rejection to mean that the input/output operations “remain 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 are 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-3, 5, 8-10, 12, 15-17 and 19 are rejected on the ground of nonstatutory double patenting as being unpatentable over claims 1-3 and 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, 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 to be used for input/output operations initiated after an intent to create a snapshot is recorded; and while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identifier; committing the snapshot using an existing snapshot copy identifier 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. [Examiner note: “committing the snapshot… associated with the existing snapshot copy identifier” in response to service being “complete for all I/O operations that started before recording the intent to create the snapshot” is interpreted in light of the 112(b) rejection to mean that the input/output operations “remain associated” with the existing snapshot copy identifier.”] 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 are 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) 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 the 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. 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, the snapshot coordinating agent comprising software stored in the memory for execution by the processing device; provide, to the plurality of distributed agents, a new snapshot copy identifier for a snapshot; and while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identifier; commit the snapshot using the existing snapshot copy identifier 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. [Examiner note: “committing the snapshot… associated with the existing snapshot copy identifier” in response to service being “complete for all I/O operations that started before recording the intent to create the snapshot” is interpreted in light of the 112(b) rejection to mean that the input/output operations “remain 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, 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 are 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) 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 the 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. 15. A non-transitory computer-readable storage medium having instructions thereupon which, when executed by a processing device, cause the processing device to: receive, from 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, the coordinating agent comprising software stored in the memory for execution by the processing device; provide, to the plurality of distributed agents, a new snapshot copy identifier to be used for input/output operations initiated after an intent to create a snapshot is recorded; while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identifier; and commit the snapshot using an existing snapshot copy identifier 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. [Examiner note: “committing the snapshot… associated with the existing snapshot copy identifier” in response to service being “complete for all I/O operations that started before recording the intent to create the snapshot” is interpreted in light of the 112(b) rejection to mean that the input/output operations “remain associated” with the existing snapshot copy identifier.”] 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 are 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) 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 the 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. 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 Application ‘413 Yamane 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 1 as applied in the corresponding rejection above. 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 1 as applied in the corresponding rejection above. 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 agents in the storage system including storage nodes as claimed by claims 1 of ‘413 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]. Claim Objections Claims 12 and 15-20 are objected to because of the following informalities: Claims 12, 15-16 and 19 recite amendments that were already reflected in the previous claim set. The Examiner requests that future claim markings are double checked and made to reflect the changes made relative to the previously amended claim set. Claims 8 and 15 recite, “receive from a coordinating agent”, which as best understood by the Examiner in light of the specification, should be amended to recite “receive [[from]] by a coordinating agent” for consistency with the specification and claim 1. Claims 9-14 and 16-20 are objected to for failing to cure the deficiencies of a base claim from which they depend. Appropriate correction is required. Claim Rejections - 35 USC § 112(a) The following is a quotation of the first paragraph of 35 U.S.C. 112(a): (a) IN GENERAL.—The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor or joint inventor of carrying out the invention. The following is a quotation of the first paragraph of pre-AIA 35 U.S.C. 112: The specification shall contain a written description of the invention, and of the manner and process of making and using it, in such full, clear, concise, and exact terms as to enable any person skilled in the art to which it pertains, or with which it is most nearly connected, to make and use the same, and shall set forth the best mode contemplated by the inventor of carrying out his invention. Claims 1-20 are rejected under 35 U.S.C. 112(a) or 35 U.S.C. 112 (pre-AIA ), first paragraph, as failing to comply with the written description requirement. The claim(s) contains subject matter which was not described in the specification in such a way as to reasonably convey to one skilled in the relevant art that the inventor or a joint inventor, or for applications subject to pre-AIA 35 U.S.C. 112, the inventor(s), at the time the application was filed, had possession of the claimed invention. Regarding claims 1, 8 and 15: The claims recite, “while input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identified”. The term “remain associated” denotes continuation of a previous association. Therefore, in light of the 35 USC § 112(b) rejection, the claim limitation requires more than merely determining or assigning a snapshot copy identifier to an I/O operation. It requires an I/O operation having an association with the existing snapshot copy identifier and continuation of that association over a subsequent period or event. However, the specification does not disclose that relationship. Rather, the disclosed process describes an authority or agent consulting the snapshot director to determine which snapshot copy identifier should be used for an I/O operation. For example, in [Fig. 5C], an inquiry is made to the snapshot director as to which snapshot copy identifier is to be used for a given I/O operation, and the snapshot director responds with a snapshot copy identifier. The disclosure therefore describes the point at which the applicable snapshot copy identifier is determined or supplied to the I/O operation. It does not, in contrast, describe that the I/O operation possessed that association and thereafter maintained the same association. Disclosure that an I/O operation is assigned, directed to use, or becomes associated with a snapshot copy identifier does not, without more, disclose the claimed temporal relationship that the I/O operation remains associated with that identifier. The latter requires both a preexisting association and its continuation. Accordingly, the specification does not provide adequate written description for the requirement that “input/output operations initiated before the intent to create the snapshot was recorded remain associated with an existing snapshot copy identified” and the limitation is regarded as new matter. Regarding claims 2-7, 9-14 and 16-20: Claims 2-7, 9-14 and 16-20 are rejected for failing to cure the deficiencies of a base claim from which they depend. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claims 1-6, 8-13 and 15-20 are rejected under 35 U.S.C. 103 as being unpatentable over US Patent Application Publication No. US 2012/0011100 A1 (Yamane) in view of US Patent No. US 8,401,997 B1 (Tawri) in further view of US Patent Application Publication No. US 2020/0012637 A1 (Strauss). Regarding claim 1 and analogous claims 8 and 15: Yamane discloses, A method, comprising (by disclosing a method for creating snapshots in a distributed data system that are consistent [0007] [0049-0061] [Fig. 4]. The distributed data storage system includes a plurality of nodes, including a user terminal (9), coordinator node (3) and participant node (7). The nodes may each be implemented with a memory (2501), CPU processor (2503), HDD (2505), and an operating system and applications stored in the HDD (non-transitory computer readable medium) for carrying out the disclosed functions [0133]) receiving, by a coordinating agent from a plurality of distributed agents of a storage system, confirmations that the plurality of distributed agents are in a snapshot creation mode; while input output operations initiated before a request to create the snapshot remain associated with a current in-progress snapshot (by disclosing a snapshot coordinator (coordinating agent) transmits a request (S3) to all participant nodes for a snapshot of a storage system (intent to create a snapshot) [0087] [Fig. 10]. Each snapshot participant (plurality of distributed agents) sends a list of transactions in progress (confirmation that the plurality of distributed agents are in a snapshot creation mode (i.e. or else they would not have sent the list)) to the snapshot coordinator (S19) [Fig. 10]. If the transactions are not on the list, they are already completed and reflected to the snapshot that is in the process of being created (i.e., current snapshot) (For example, see t1 of nodes A and B in [Fig. 13], in [Fig. 14], a selection process is not made because the transaction is already associated with and committed to the current in-progress snapshot [0095-0096]. The snapshot coordinator receives a list from all nodes before progressing with the snapshot [0093]) and committing the snapshot for the in-progress snapshot and exiting a snapshot creation mode (by disclosing that the snapshot coordinator receives the snapshot completion message from all snapshot participants (S71) [0117] after all of the selected I/O operations have been reflected to the snapshot (S57) [Fig. 19]. Furthermore, after the completion messages have been received and therefore all of the data is reflected (committed) [0056] [Fig. 20] [0107] [0111-0112], the data is available for request by a user and a completion message is sent to a user (S73) (committing the snapshot and exiting the snapshot creation mode) [0117-0118]). Yamane does not explicitly disclose, but Tawri teaches that a method of indicating an intent to create a snapshot for an existing snapshot copy identifier may including providing a new snapshot copy identifier to be used for input/output operations initiated after an intent to create a snapshot; while input/output operations initiated before the intent to create the snapshot remain associated with an existing snapshot copy identifier (by teaching that an interval coordinator (snapshot coordinator) may signal the end of an interval (410) (intent to create a snapshot for the current interval associated with a current interval ID (existing snapshot copy identifier) as a way to indicate to a plurality of nodes that the system should finalize the snapshot for the current interval ID [Fig. 4]. The signal for the end of the interval may include the new interval ID. The new interval ID will be used for write operations (470) that were not in-progress before the end of the interval (440) (420), and therefore, the new interval ID is to be used for input/output operations initiated after intent to create a snapshot with the current interval ID (460), while input/output operations initiated before the intent to create the snapshot remain associated with the existing snapshot copy identifier [Fig. 4] [Col 4: line 59 – Col 5: line 34] [Col 17: line 65 – Col 18: line 61]), in this way, the snapshot that is ultimately created then is the snapshot using an existing snapshot copy identifier (by teaching that the signal of the end of the current interval and start of the new interval may include the new interval ID, but the current interval that is ending and being finalized (i.e., committed) is the interval associated with the current interval ID (using an existing snapshot copy identifier) [Col 17: line 62 – Col 19: line 7] [Fig. 3] [Fig. 4]). 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 snapshot creation request taught by Yamane to include the new interval ID (new snapshot copy identifier) as taught by Tawri, and to modify snapshots to use interval identifiers, such as a current interval ID (existing snapshot copy identifier) to indicate and commit writes to a current interval (commit the snapshot using the existing snapshot copy identifier) as taught by Tawri because it would have only required the combination of known elements according to known methods to yield predictable results. For example, Yamane teaches an iterative process where a current snapshot may be committed and transactions received after an intent to create the current snapshot can be reflected to a next snapshot, but does not explicitly disclose that snapshots can be identified with current and new identifiers, or that an intent to create the current snapshot by ending the current interval and include the new identifier for the next interval (new snapshot copy identifier). However, Tawri teaches that snapshots can be identified with current and new identifiers, and that an intent to create the current snapshot by ending the current interval can include the new identifier for the next interval (new snapshot copy identifier). Accordingly, one of ordinary skill in the art could have combined the identifiers taught by Tawri with the snapshots taught by Yamane, and could have included the new identifier as taught by Tawri in the snapshot creation request signaling and end to writes to the current snapshot as taught by Yamane according to known methods, and the results would have been predictable (i.e., the current and next/new snapshots taught by Yamane could be identified with identifiers, and the snapshot request could have been signified with an indication of the new identifier). Therefore, the combination would have been obvious to one of ordinary skill in the art. Yamane in view of Tawri do not explicitly disclose, but Strauss teaches that indicating the intent to create the snapshot is recorded (by teaching that an access node may restart after a failure (for example, after responding to the prepare message (indicating intent to create a snapshot)). In this case, the access node does not know if there is a snapshot transition in progress or the status of the filesystem, accordingly, the access node may read the superblock for the file system, which is a persistent data structure and includes enough information to inform the access node that a prepare message has been sent (a recorded intent to create the snapshot). For example, the data structure may set a preserve flag (metadata) that directs copy on write to be performed for the filesystem so that the previous epoch (snapshot) and metadata is preserved, (which is called a copy-on-write policy, as it directs new writes to the new snapshot) as well as including an epoch number indicating the current epoch [0044] [0079] (and accordingly, a transaction that was started and completed before a message to prepare creating a snapshot was ever received (i.e., that remains associated with an existing snapshot copy identifier) as taught by Yamane in view of Tawri would also be started and completed before the status to prepare creating a snapshot could ever be recorded (i.e., before the intent to create the snapshot was recorded) as taught by Strauss)). 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 response to the request to prepare snapshot process disclosed by Yamane to include recording snapshotting state information into a block as so that an access node (i.e. participant node as taught by Yamane) may resume the snapshot creation process if it starts up after a failure and finds snapshot state information indicative of the coordinator node intending to create a snapshot recorded in a block as taught by Strauss. One of ordinary skill in the art would have been motivated to make this modification because it allows an access node to recover after a failure as taught by Strauss in [0079]. Regarding claim 2 and analogous claims 9 and 16: The method of claim 1 is made obvious by Yamane in view of Tawri in further view of Strauss (Yamane-Tawri-Strauss). Yamane further discloses wherein the storage system comprises one or more storage nodes and the plurality of distributed agents are distributed among the one or more storage nodes (by disclosing that a snapshot coordinator (310) is on one storage node (3) and transmits a request to all snapshot participants (71) (plurality of distributed agents), which are on their own storage nodes (7) (distributed among the one or more storage nodes), for a snapshot [0071], as part of a distributed storage system [Fig. 4]). Regarding claim 3 and analogous claims 10 and 17: The method of claim 1 is made obvious by Yamane-Tawri-Strauss. Yamane further discloses, 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. (by teaching that a user terminal (9) external to the coordinator node (3) 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) [0049-0053] [0049] [0087]. The snapshot coordinator node (3) may sometimes also be a participant node (7), but snapshot coordinator node (3) includes the snapshot coordinator (321) and is the note that receives the request to snapshot from the user (9) (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) [Fig. 4] [Fig. 10] [0087]). Regarding claim 4 and analogous claims 11 and 18: The method of claim 1 is made obvious by Yamane-Tawri-Strauss. Yamane further discloses, further comprising: receiving from a distributed agent servicing a remote procedure call during the snapshot creation mode, an inquiry requesting whether to use the existing snapshot copy identifier or the new snapshot copy identifier for the remote procedure call (by disclosing that the snapshot participants (distributed agents) send a list of transactions in process [Fig. 10] (servicing a remote procedure call) to the snapshot coordinator, which informs the snapshot participants which transactions to reflect to the current in-progress snapshot (i.e., whether to use the existing snapshot copy identifier as taught in combination with Tawri as performed in the analysis for claim 1) or whether to wait and reflect the transaction to the next snapshot (i.e., whether to use the new snapshot copy identifier as taught in combination with Tawri as performed in the analysis for claim 1) for servicing the transaction (remote procedure call). The transaction is interpreted as a remote procedure call as it is received by the snapshot participant (transaction participant) (7a/7b) from an external transaction coordinator (5) – interpreted in congruence with Applicant’s specification that indicates external requests may be viewed as remote procedure calls [Applicant’s specification, 0138]) Regarding claim 5 and analogous claims 12 and 19: The method of claim 1 is made obvious by Yamane-Tawri-Strauss. Yamane further discloses, further comprising: directing each of the plurality of distributed agents to complete service of pending input/output (I/O) operations that started before entering the snapshot creation mode using the in-progress snapshot (i.e., the existing snapshot copy identifier as taught by Tawri with respect to claim 1) (by disclosing the method started in [Fig. 10] and then completed in [Fig. 19] where each of the snapshot participant nodes complete the I/O for the selected transactions (S57), where the selected transactions are the I/O that started before the snapshot time (S3) and are to be associated with the snapshot file that is being committed (i.e., the existing snapshot copy identifier as taught by Yamane) [0076] [0083] [0116] [0144-0149]. Furthermore, the snapshot participants communicate to the snapshot coordinator that they have finished processing the selected transactions [0078]). Regarding claim 6 and analogous claims 13 and 20: The method of claim 5 is made obvious by Yamane-Tawri-Strauss. Yamane further discloses, wherein after a distributed agent commences servicing input/output operations using the new snapshot copy identifier, the distributed agent does not subsequently service input/output operations using the existing snapshot copy identifier (by disclosing that the snapshot does not being copy-on-write processing (servicing input/output operations using the new snapshot copy identifier as taught in combination with Tawri through the analysis performed for claim 1) until the snapshot participant has completed the selected transactions associated with the existing snapshot copy identifier (i.e., such that are no more input/output operations to service associated with the existing snapshot copy identifier (does not subsequently service input/output operations using the existing snapshot copy identifier) [0114-0116]). Claims 7 and 14 are rejected under 35 U.S.C. 103 as being unpatentable over Yamane-Tawri-Strauss in further view of US Patent Application Publication No. US 2016/0041869 A1 (Davis). Regarding claim 7 and analogous claim 14: The method of claim 1 is made obvious by Yamane-Tawri-Strauss. Yamane does not explicitly disclose, but Davis teaches, wherein the plurality of distributed agents are authorities that control erasure coding of data stored in the storage system (by disclosing that 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 agents in the storage nodes of the storage system as taught by Yamane in view of Ji 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]. Response to Arguments/Amendments The double patenting rejection has been updated to reflect the currently amended claims. The Examiner notes that Applicant did not make a complete response to the double patenting rejection as required by MPEP § 804, subsection I.B.1. However, in the interest of compact and timely prosecution, the Examiner has extended a courtesy to the Applicant by Examining the claims rather than treating the reply as non-responsive according to directives in MPEP § 804, subsection I.B.1. In response to the amendments to the claims, the previous objections to the claims are withdrawn. However, in response to the amendments to the claims, new objections to claims 12 and 15-20 have been made as seen in the corresponding objection section above. In response to the amendments to the claims, a new 35 USC §112(b) rejection has been made as seen in the corresponding rejection section above. In response to the amendments to the claims, a new 35 USC §112(a) rejection has been made as seen in the corresponding rejection section above. In response to the amendments to the claims, the 35 USC §103 rejection has been updated using Yamane, Tawri, and Strauss to reflect the currently amended claims. Applicant’s argument with respect to the independent claims characterizes the references as “directed to three fundamentally different coordination mechanisms” and therefore does not teach the claimed invention “directed to managing runtime associations between newly arriving input/output operations and snapshot copy identifiers during snapshot creation”. However, after fully considering Applicant’s arguments, the Examiner respectfully disagrees. Applicant’s characterization of Yamane, Tawri, and Strauss as directed to “fundamentally different” mechanisms is not persuasive. Each reference concerns creation of snapshots in a storage system, each addresses input/output write activity in connection with snapshot creation, and each distinguishes between operations associated with a current/existing snapshot state and operations associated with a subsequent/new snapshot state. The references may use different terminology (snapshots/consistency intervals/epochs), but those concepts are all explicitly used in the three references interchangeably with snapshots. Applicant’s additional attempt to distinguish Yamane because it teaches “transactions” rather than “input/output operations” is likewise unpersuasive. A transaction in a storage system is implemented through, and encompasses, one or more input/output operations, and Yamane determines whether the operations associated with such transactions are reflected in the current or subsequent snapshot. Applicant therefore improperly treats transactions and I/O operations performed pursuant to those transactions as unrelated concepts. Taken together, the cited references plainly teach the same relevant subject matter: snapshot creation involving storage I/O and differentiation between operations associated with an existing/current snapshot and those associated with a subsequent/new snapshot. Applicant’s reliance on differences in terminology and implementation does not identify a substantive distinction from the claimed subject matter. Furthermore, Applicant repeatedly characterizes the amended claims as requiring “concurrent differentiated association”, a “runtime determination” of which identifier “governs” a newly arriving operation, and snapshot copy identifiers that determine how operations are “associated, routed, or processed”. These characterizations are outside the scope of the limitations as actually claimed, and accordingly, any alleged deficiency in the cited references based on these characterizations is not persuasive. Instead, the pertinent claim language requires that a new snapshot copy identifier be used for input/output operations initiated after the recited intent was recorded, while operations initiated before the intent was recorded remain associated with an existing snapshot copy identifier. The claims do not additionally require simultaneous processing under both identifies, uninterrupted issuance of writes during the transition, routing based on the identifier, or operation runtime selection between two simultaneously active identifiers. Applicant’s arguments directed at limitations that are not claimed are therefore not persuasive. The rejection already addresses the claimed before/after relationship. As explained at paragraphs 40-42 of the Office Action, Yamane teaches the underlying snapshot creation process and distinguishes operations based on their relationship to the timing of a snapshot creation request. Yamane identifies transactions that are already in progress when the snapshot request is received, and controls whether those transactions are reflected in the current snapshot, while subsequently received transactions may be reflected in a subsequent snapshot. Tawri supplies what Yamane does not expressly disclose: identifiers distinguishing the current and new snapshot intervals. Specifically, Tawri associates writes with a current consistency interval identifier (referred to in Tawri as a snapshot [Col 2: lines 5-45]), signals termination of the current interval in connection with creation of a snapshot, and provides a new interval identifier for writes belonging to the new interval. Therefore, operations associated with the interval being finalized remain associated with the current identifier, whereas subsequently initiated operations are associated with the new identifier. Applicant’s characterization of Tawri’s interval identifiers as “merely” metadata does not distinguish them from the claimed subject matter. The claim requires an identifier to be “used for” or “associated with” the respective input/output operations; it does not require that the identifier itself perform the underlying input/output processing or determine the physical routing of the operation. Tawri expressly associates writes with consistency intervals so that writes belonging to different intervals can be distinguished and the appropriate snapshot can be established. Calling that identifier “metadata” does not negate the disclosed association between the identifier and the write operation. Applicant’s reliance of Tawri’s temporary suspension of the write completions is similarly unpersuasive. Nothing in the claim requires that the new and existing snapshot copy identifier operations be simultaneously issued or completed. More importantly, temporary suspension of an operation does not terminate the operations association with the new or existing identifier. Tawri’s transition preserves the distinction between writes belonging to the existing interval and those belonging to the new interval. Applicant’s argument that Tawri teaches a “sequential interval transition” therefore does not identify a missing claim limitation. It merely describes the mechanism by which Tawri implements the existing/new snapshot copy identifier distinction relied upon in the rejection. (Furthermore, a sequential interval transition appears to be expressly claimed in claims 6, 13 and 20 and therefore appears to be contemplated as commensurate with the claimed invention. Applicant’s highlighting of Tawri performing a “sequential interval transition” therefore appears to buttress its relevance in rejecting the presently claimed invention. Applicant’s arguments concerning Strauss are also directed to a teaching for which Strauss was not relied upon. The rejection does not rely on Strauss to supply the existing and new snapshot copy identifiers or the before/after association of operations. Those limitations are addressed by Yamane in view of Tawri. As expressly stated in paragraph 43 of the Office Action, Strauss is additionally relied upon because Yamane and Tawri do not expressly disclose that the indication of intent is recorded. Strauss teaches persistent snapshot state information from which an access node recovering from failure can determine that preparation for a snapshot transition had begun. Paragraphs 44-45 further explain why incorporating such persistent snapshot-state information into Yamane’s process would have been obvious because it would permit a participant node to recover and resume the snapshot after a failure. Applicant’s discussion of whether Strauss independently maintains concurrent existing and new snapshot identifier to write operation associations therefore does not address the actual basis for reliance on Strauss. More generally, Applicant’s repeated observation that Yamane, Tawri, and Stauss employ different “coordination mechanisms” does not rebut the rejection. The rejection is not based on bodily incorporating Tawri’s replication system and Strauss’s two-phase-commit architecture into Yamane. Rather, it is based on what their combined teachings would have suggested to one of ordinary skill in the art. Yamane supplies snapshot creation and treatment of operations occurring relative to the snapshot request; Tawri supplies existing and new identifiers associated with the operations on opposite sides of the snapshot transition; and Strauss supplies persistent recording of the intent to transition a snapshot. Applicant has not shown that those teaches would render Yamane inoperable, change Yamane’s principal of operation, or that any reference teaches away from the proposed modification. Furthermore, it is not persuasive that Applicant characterizes the references as addressing different problems. The rejection provides specific reasons for the proposed modifications: Tawri’s identifiers provide a known mechanism for identifying the existing and new snapshots, producing the predictable result of distinguishing operations belonging to the respective snapshots; Strauss’s persistent recording of the state of entering the creation of the new snapshot provides the known benefit of permitting recovery following failure. Applicant’s assertion that the references do not articulate Applicant’s stated problem of “dynamically determining” which identifier “governs” a newly arriving operation does not overcome those articulated reasons for combining their teachings. Accordingly, Applicant’s arguments largely restate the references individually, assign additional functional significance to the terms “snapshot copy identifier” that is not recited in the claims, and then distinguishes the references from those additional requirements. They do not identify a limitation of the amended claims that is absent from the combined teaches of Yamane, Tawri, and Strauss, nor do they establish that the proposed combination would have been technically incompatible or non-obvious. Accordingly, the argument is not persuasive. Applicant’s argument regarding claims 2, 9 and 16 has been fully considered, but is not persuasive. Applicant does not dispute Yamane’s physical distribution of the snapshot participants among the storage nodes (distributed storage authorities distributed among the one or more storage nodes), but instead argues that Yamane alone lacks functionality of additional limitations from claim 1 (distributed storage authorities… coordinating snapshot copy identifier management), which were supplied by the combination of references as seen in the corresponding rejection section above, and imports additional limitations that were not claimed (coordinating snapshot copy identifier management by the distributed storage authorities is not claimed). However, this argument is not persuasive as it is directed to limitations that have not been claimed and is directed to a singular reference when the rejection was based upon a combination of references. Applicant’s argument regarding claims 3, 10 and 17 appears to be directed to unclaimed subject matter. Namely, “dynamic coordinator assignment” based on “whichever authority receives the request” and that “snapshot directorship may change from one snapshot to another”. However, none of these argued limitations are reflected by the actual limitations as claimed. Accordingly, the argument is not persuasive. Applicant’s argument regarding claims 4, 11, and 18 appears to be directed to unclaimed subject matter. Namely, “runtime identifier arbitration” between “multiple simultaneously operational identifiers”. However, these limitations are not reflected by the claimed invention. Instead, Yamane’s participant node sends the coordinator the in-progress transaction information in order to receive (inquiry) a selection of which transaction belongs to the current snapshot or waits for the subsequent snapshot, which in combination with Tawri, would identify which transactions are associated with an existing vs. new snapshot copy identifier corresponding to the two alternatives. Accordingly, the combination of references teaches the limitations as claimed, and Applicant’s argument is not persuasive. Applicant’s argument regarding claims 5, 12, and 19 appears to be directed to unclaimed subject matter. Applicant argues that Yamane “delays transaction completion rather than maintaining concurrent differentiated identifier association during completion of pending operations. However, nowhere is “concurrent differentiated identifier association during completion of pending operations” that complete without delaying transaction completion claimed. Instead, Yamane teaches the limitations as claimed, as it completes the selected transactions (those that started before entering the snapshot creation mode) in combination with Tawri which teaches the snapshot copy identifiers through the analysis in claim 1. Accordingly, Applicant’s arguments against the references individually and directed to subject matter that is beyond the scope of the claimed invention is not persuasive. Applicant’s argument regarding claims 6, 13 and 20 is rebutted by Applicant’s own characterization of the references regarding other claims. For example, Applicant acknowledges that Tawri teaches “sequential interval transitions” and that Strauss “intentionally eliminates any ambiguity regarding which epoch governs a write by requiring all participating access nodes to stop issuing writes, complete the two-phase commit, increment the epoch, and thereafter issue writes using the new epoch” and that Yamane proceeds sequentially through snapshot processing by waiting until all selected transactions are complete before proceeding with snapshot processing and then completing transactions associated with subsequent snapshots. Applicant appears to argue that Yamane cannot teach a sequential progression from handling transactions with a current snapshot to then handling transactions with a subsequent snapshot because Yamane does not teach snapshot copy identifiers. However, this deficiency was remedied in claim 1 with the inclusion of Tawri. Furthermore, Applicant argues limitations outside the scope of the claimed invention such as concurrently “maintaining operational associations with multiple snapshot copy identifiers” Accordingly, Applicant’s own characterization of the references rebuts Applicant’s argument, and Applicant’s arguments against the references individually when they are based on a combination of references is not persuasive. Applicant’s argument regarding claims 7 and 14 is not persuasive because it does not address Davis, which is relied upon to teach the claimed “erasure coding” scheme. Furthermore, Applicant’s arguments appear to reiterate the rest of Applicant’s arguments made previously, which were not persuasive. Accordingly, the arguments are not persuasive. Finally, Applicant’s hindsight argument is unpersuasive because the rejection does not reconstruct the invention from isolated disclosures using Applicant’s specification as a roadmap. Rather, the Office Action identifies known snapshot-related teachings in Yamane, Tawri, Strauss and Davis and provides articulated reasons why one of ordinary skill in the art would have combined those teachings to obtain beneficial and/or predictable results. The mere fact that the references use different implementations does not establish hindsight where the proposed modifications are grounded in the references themselves and the known advantages expressly identified in the rejections. Conclusion Any inquiry concerning this communication or earlier communications from the examiner should be directed to CURTIS JAMES KORTMAN whose telephone number is (303)297-4404. The examiner can normally be reached Monday through Friday 7:30 AM through 4:00 PM MT. 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, Reginald Bragdon can be reached on (571) 272-4204. 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. /CURTIS JAMES KORTMAN/Primary Examiner, Art Unit 2139
Read full office action

Prosecution Timeline

Nov 25, 2024
Application Filed
Dec 15, 2025
Non-Final Rejection mailed — §103, §112, §DOUBLEPATENT
Mar 11, 2026
Response Filed
Apr 15, 2026
Final Rejection mailed — §103, §112, §DOUBLEPATENT
Jul 06, 2026
Request for Continued Examination
Jul 09, 2026
Response after Non-Final Action
Aug 26, 2026
Non-Final Rejection mailed — §103, §112, §DOUBLEPATENT (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12724557
DATA RECORDING SYSTEM AND METHOD OF CONTROLLING DATA RECORDING SYSTEM
3y 0m to grant Granted Sep 01, 2026
Patent 12717483
POWER STATE TRANSITION WITH FLASH MEMORY SYSTEM
2y 3m to grant Granted Aug 25, 2026
Patent 12687982
PRE-VALIDATION OF BLOCKS FOR GARBAGE COLLECTION
2y 2m to grant Granted Jul 21, 2026
Patent 12681665
OPERATION METHOD OF MEMORY CONTROLLER, MEMORY CONTROLLER AND MEMORY SYSTEM
2y 6m to grant Granted Jul 14, 2026
Patent 12681650
EXPANDER DEVICE CHANNEL LOCKING FOR A MEMORY DEVICE
1y 7m to grant Granted Jul 14, 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

3-4
Expected OA Rounds
79%
Grant Probability
99%
With Interview (+24.0%)
2y 2m (~4m remaining)
Median Time to Grant
High
PTA Risk
Based on 228 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