Prosecution Insights
Last updated: July 17, 2026
Application No. 19/259,357

Threshold Computing in a Dispersed Storage Network

Non-Final OA §103§112
Filed
Jul 03, 2025
Priority
Dec 12, 2011 — provisional 61/569,387 +12 more
Examiner
MITIKU, BERHANU
Art Unit
Tech Center
Assignee
Pure Storage Inc.
OA Round
1 (Non-Final)
55%
Grant Probability
Moderate
1-2
OA Rounds
3y 8m
Est. Remaining
84%
With Interview

Examiner Intelligence

Grants 55% of resolved cases
55%
Career Allowance Rate
218 granted / 396 resolved
-4.9% vs TC avg
Strong +29% interview lift
Without
With
+28.8%
Interview Lift
resolved cases with interview
Typical timeline
4y 8m
Avg Prosecution
14 currently pending
Career history
420
Total Applications
across all art units

Statute-Specific Performance

§101
1.2%
-38.8% vs TC avg
§103
94.7%
+54.7% vs TC avg
§102
3.4%
-36.6% vs TC avg
§112
0.2%
-39.8% vs TC avg
Black line = Tech Center average estimate • Based on career data from 396 resolved cases

Office Action

§103 §112
DETAILED ACTION Notice of Pre-AIA or AIA Status 1. The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA . Status of Claims 2. This Office Action is the first on the merit of the instant application filed on July 03, 2025 and December 23, 2025, in which claims 21-40 are presented for examination. 3. Claims 21-40 are pending. Claims 21 and 35 are in independent form.4. Claims 1-20 are canceled by the applicant. Drawings 5. The drawings filed on July 03, 2025 are in compliance with 37 CFR 1.121(d) and considered and accepted. Preliminary Amendment 6. Applicant filed a preliminary amendment filed on December 25, 2025. The preliminary amendment canceled claims 1-20 from the claim set filed on July 3, replaced them with new claims 21-40. The examiner acknowledged receipt of the preliminary amendment. Examiner Note 7. The instant claim sets are patent eligible because, when considered as a whole, they are directed to a specific improvement in the operation of a distributed storage and task processing network rather than merely to abstract idea of organizing or assigning work. The claimed invention recites a particular distributed storage network architecture which: (1) a data object is error encoded to generate encoded data slices; (2) the encoded data slices are distributedly stored among storage units; (3) capability level of computing nodes are determined; (4) a subset of computing nodes is selected based on the capability levels; (5) computing task are partitioned and scheduled among the selected computing nodes; and (6) completed task portions are maintained such that threshold-based recovery and processing may be performed. The specification explains that distributed task execution is coordinated using capability indicators, performance indicators, availability indicators, threshold computing parameters, decode thresholds, read thresholds, and write thresholds within a dispersed storage network environment. The claimed operations therefore are not merely directed to the mental process of assigning work, but instead are directed to improving the manner in which distributed computing resources are selected coordinated, and utilized in a dispersed storage and task network. See, e.g., specification paragraph [0045]-[0047], [0055]-[0064], and [0065]-[0067. Accordingly, any recited abstract concept is integrated into a practical application involving a specific distributed storage and threshold-computing architecture that improves the functioning of the storage network itself. Therefore, the claims are not directed merely to an abstract idea and are patent eligible under 35 U.S.C. §101. Claim Rejections - 35 USC § 112 8. 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. 9. Claims 21–40 are 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 joint inventor (or applicant, for pre-AIA applications) regards as the invention.10. Independent Claims 21 and 35 recite “schedule, based on a relative capability level, schedule portion of the computing task …”, “. The claim never explains what makes one capability level “relative” to another. Applicant may overcome the indefiniteness concern by clarifying that the recited “relative capability level” represents a comparison among capability indicators, performance indicators, availability indicators, and/or threshold computing capability indicators of the computing nodes and by specifying how the comparison is used to allocate partial tasks among the computing nodes. 11. Independent claims 21 and 35 recite: “store completed task portion in at least a decode threshold number of computing nodes” and “storing completed task portions in at least a decode threshold number of computing nodes” respectively. It is unclear how the recited “decode threshold number” relates to the completed task portions that are stored and whether the threshold pertains to storage, availability, retrieval, or decoding of the completed task portion. Applicant may further clarify the relationship between the stored completed task portions and the recited decode threshold number by expressly reciting that at least a decode threshold number of partial results available, retrievable, received, or decoded to generate a result, consistent with the disclosure of paragraphs[0059], [0063], and [0067]. Double Patenting 12. The nonstatutory double patenting rejection is based on a judicially created doctrine grounded in public policy (a policy reflected in the statute) so as to prevent the unjustified or improper timewise extension of the “right to exclude” granted by a patent and to prevent possible harassment by multiple assignees. A nonstatutory double patenting rejection is appropriate where the conflicting claims are not identical, but at least one examined application claim is not patentably distinct from the reference claim(s) because the examined application claim is either anticipated by, or would have been obvious over, the reference claim(s). See, e.g., In re Berg, 140 F.3d 1428, 46 USPQ2d 1226 (Fed. Cir. 1998); In re Goodman, 11 F.3d 1046, 29 USPQ2d 2010 (Fed. Cir. 1993); In re Longi, 759 F.2d 887, 225 USPQ 645 (Fed. Cir. 1985); In re Van Ornum, 686 F.2d 937, 214 USPQ 761 (CCPA 1982); In re Vogel, 422 F.2d 438, 164 USPQ 619 (CCPA 1970); In re Thorington, 418 F.2d 528, 163 USPQ 644 (CCPA 1969). A timely filed terminal disclaimer in compliance with 37 CFR 1.321(c) or 1.321(d) may be used to overcome an actual or provisional rejection based on nonstatutory double patenting provided the reference application or patent either is shown to be commonly owned with the examined application, or claims an invention made as a result of activities undertaken within the scope of a joint research agreement. See MPEP § 717.02 for applications subject to examination under the first inventor to file provisions of the AIA as explained in MPEP § 2159. See MPEP § 2146 et seq. for applications not subject to examination under the first inventor to file provisions of the AIA . A terminal disclaimer must be signed in compliance with 37 CFR 1.321(b). The filing of a terminal disclaimer by itself is not a complete reply to a nonstatutory double patenting (NSDP) rejection. A complete reply requires that the terminal disclaimer be accompanied by a reply requesting reconsideration of the prior Office action. Even where the NSDP rejection is provisional the reply must be complete. See MPEP § 804, subsection I.B.1. For a reply to a non-final Office action, see 37 CFR 1.111(a). For a reply to final Office action, see 37 CFR 1.113(c). A request for reconsideration while not provided for in 37 CFR 1.113(c) may be filed after final for consideration. See MPEP §§ 706.07(e) and 714.13. The USPTO Internet website contains terminal disclaimer forms which may be used. Please visit www.uspto.gov/patent/patents-forms. The actual filing date of the application in which the form is filed determines what form (e.g., PTO/SB/25, PTO/SB/26, PTO/AIA /25, or PTO/AIA /26) should be used. A web-based eTerminal Disclaimer may be filled out completely online using web-screens. An eTerminal Disclaimer that meets all requirements is auto-processed and approved immediately upon submission. For more information about eTerminal Disclaimers, refer to www.uspto.gov/patents/apply/applying-online/eterminal-disclaimer.13. Claims 21-40 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims US Patent No. 10,303,521 B2. 14. Below is a sample comparison table between the instant application and US Patent 10,303,521 B2. Instant Application (19/259,357) U.S. Patent No. 10,303,521 B2 21. (New) A computing device of a storage network comprises: 1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises: an interface configured to interface and communicate with a plurality of computing nodes and a plurality of memory devices, receiving and storing data; memory that stores operational instructions; and receiving a corresponding task(s) to be executed on the stored data; a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to: selecting a number of distributed storage and task execution (DST EX) units to favorably execute partial tasks of the corresponding task(s), wherein the partial tasks are processed in parallel to complete an overall task within a desired task execution time period; determine a capability level of each computing node of the plurality of computing nodes; determining task partitioning based on one or more of distributed computing capabilities of the selected DST EX units; select, based on the capability level, a subset of the plurality of computing nodes to perform a computing task on a data object, wherein the data object is error encoded to generate a set of encoded data slices, wherein the set of encoded data slices are distributedly stored among a plurality of storage units; partitioning the task(s) based on the task partitioning to produce the partial tasks; schedule, based on a relative capability level, a schedule portion of the computing task for each computing node of a subset of computing nodes; processing the data in accordance with the processing parameters to produce slice groupings, wherein the slice groupings include groups of encoded data slices; and transmit the schedule portion to each computing node of the subset of computing nodes; and sending the slice groupings and corresponding partial tasks to the DST EX units in accordance with a pillar mapping. store completed task portions in at least a decode threshold number of computing nodes. 15. For claim 21/35 in view of 10,303,521 B2, the differences between the claimed subject matter and patented claims are considered obvious variations that would have been apparent to one of ordinary skill in the art at the time the invention was made. There is a strong alignment in the DSN environment, the use of encoded data slices, the selection of DST EX units based on computing capabilities, the partitioning of tasks into partial tasks, and the transmission of those tasks and data groupings to the selected units. The instant claims add explicit capability levels, explicit relative-capability scheduling, and explicit decode/read/write thresholds, which appear to be incremental refinements of the framework disclosed in 10,303,521 B2. 16. Claims 21-40 are rejected on the ground of nonstatutory obviousness-type double patenting as being unpatentable over claims US Patent No. 10,104,168 B2. 17. Below is a sample comparison table between the instant application and US Patent 10,303,521 B2. Instant Application (19/259,357) U.S. Patent No. 10,104,168 B2 21. (New) A computing device of a storage network comprises: 1. A method for execution by one or more processing modules of one or more computing devices, the method comprises: an interface configured to interface and communicate with a plurality of computing nodes and a plurality of memory devices, encoding a data object to produce a plurality of sets of encoded data slices, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices of the plurality of sets of encoded data slices, wherein a write threshold number of encoded data slices provide for successful storage of the set of encoded data slices; memory that stores operational instructions; and generating one or more write slice requests, wherein each of the write slice requests correspond to one or more sets of encoded data slices of the plurality of sets of encoded data slices; a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to: outputting the one or more write slice requests to a set of distributed storage and task execution units; determine a capability level of each computing node of the plurality of computing nodes; outputting the one or more write slice requests to a set of distributed storage and task execution units; select, based on the capability level, a subset of the plurality of computing nodes to perform a computing task on a data object, wherein the data object is error encoded to generate a set of encoded data slices, wherein the set of encoded data slices are distributedly stored among a plurality of storage units; for each distributed storage and task execution unit of the set of distributed storage and task execution units, determining a data ingest rate of a set of data ingest rates; schedule, based on a relative capability level, a schedule portion of the computing task for each computing node of a subset of computing nodes; determining a write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units based on the set of data ingest rates; transmit the schedule portion to each computing node of the subset of computing nodes; and determining a transmit data rate; store completed task portions in at least a decode threshold number of computing nodes. generating a write threshold number of write slice requests that is based on the write threshold number of encoded data slices; and outputting, in accordance with the transmit data rate, the write threshold number of write slice requests to the write threshold number of distributed storage and task execution units of the set of distributed storage and task execution units. 18. For claim 21/35 in view of 10,104,168 B2, the differences between the claimed subject matter and patented claims are considered obvious variations that would have been apparent to one of ordinary skill in the art at the time the invention was made. There is a strong alignment in the encoding of a data object into encoded data slices, the use of a write threshold number of slices, and the performance-based logic for determining a corresponding write threshold number of DST execution units. The instant claims extend that threshold concept to decode and read threshold and tie node selection and scheduling to richer capability metrics, which again appears to be an obvious variation over the earlier framework. Claim Rejections - 35 USC § 103 12. In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status. 13. The following is a quotation of pre-AIA 35 U.S.C. 103(a) which forms the basis for all obviousness rejections set forth in this Office action: (a) A patent may not be obtained though the invention is not identically disclosed or described as set forth in section 102, if the differences between the subject matter sought to be patented and the prior art are such that the subject matter as a whole would have been obvious at the time the invention was made to a person having ordinary skill in the art to which said subject matter pertains. Patentability shall not be negated by the manner in which the invention was made. 14. The factual inquiries for establishing a background for determining obviousness under pre-AIA 35 U.S.C. 103(a) are summarized as follows: 1. Determining the scope and contents of the prior art. 2. Ascertaining the differences between the prior art and the claims at issue. 3. Resolving the level of ordinary skill in the pertinent art. 4. Considering objective evidence present in the application indicating obviousness or nonobviousness. 15. Claims 21-40 are rejected under pre-AIA 35 U.S.C. 103(a) as being unpatentable over Mathew U.S. Patent 8,645,454 B2 (hereinafter Mathew) in view of Pomerantz US 20070050543 A1 (hereinafter Pomerantz). 1-20. (Cancelled) Regarding claim 21, Mathew discloses a computing device of a storage network (Mathew [col. 4, lines 37-45] e.g., “…fixed disk 208 (e.g., a hard disk or other nonvolatile storage medium), network interface 203…”) comprises: an interface configured to interface and communicate with a plurality of computing nodes and a plurality of memory devices (Mathew [col. 4, lines 37-45] e.g., “…interfacing with computer bus 201 are fixed disk 208 (e.g., a hard disk or other nonvolatile storage medium), network interface 203…”), memory that stores operational instructions (Mathew [claim 10] e.g., “… computer-executable process steps stored in the memory”); and a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions (Mathew [col. 3, lines 32-35] e.g., “… architecture for a work distribution module in a front end node and example architecture for a work processing module in a compute node…”), is configured to: determine a capability level of each computing node of the plurality of computing nodes (Mathew [col. 8, lines 10-30] e.g., “…the distribution module 216 … the distribution module 216 of front end node 200 transmits a qualification task for execution by each compute node 300 a to 300 d, where the qualification task measures capabilities of core elements in a compute node.” see also [col. 8, lines 10-33] e.g., “…CPU (CE), the nature and power of the GPU (GE), the capabilities of storage devices (SE), the capabilities of the system memory (ME), and system bus performance (BE). More precisely, the type of network interconnect …”. See also [col. 9, lines 12-28] e.g., “… front end node 200 computes a capability metric (CM) for each core element…”. Capability measurements and capability metrics correspond directly to determining a capability level); select, based on the capability level, a subset of the plurality of computing nodes (Mathew [col. 8, lines 11-20] e.g., “… the qualification task measures capabilities of core elements in a compute node”. See also [col. 1, lines 30-42] e.g., “… compute nodes are typically assigned a task of the same size, irrespective of the hardware and software capabilities of the individual compute nodes”. The system evaluates nodes and assigns metrics which are subsequently used in workload assignment. It would have been obvious to select nodes according to the computed capability metrics used for workload allocation) [to perform a computing task on a data object (Mathew [col. 3, lines 47-50] e.g., “The frontend node 200 extracts and distributes tasks to the compute nodes 300a to 300d.”, see also [col. 7, lines 33-35] e.g., “The work processing module 314 also includes an execution module 316 constructed to execute tasks received from the front end node 200”. This teaching of performing computing tasks) [wherein the data object is error encoded to generate a set of encoded data slices, wherein the set of encoded data slices are distributedly stored among a plurality of storage units]; schedule, based on a relative capability level, a schedule portion of the computing task for each computing node of a subset of computing nodes (Mathew [col. 1, lines 56-64] e.g., “…sizes of the tasks in the first plurality of tasks are sized based on a job load metric of each of the nodes”. See also [col. 4, lines 7-11] .e.g., “The size of each divided task corresponds to a job load metric of the compute nodes that is assigned to execute that task,...”. See also [col. 6, lines 24-32] e.g., “…the tasks are sized based on a job load metric of each of the nodes.”. Capability measurements to capability metric to job load metrics and task sizes. This is very close schedule portions based on relative levels); transmit the schedule portion to each computing node of the subset of computing nodes (Mathew [col. 6, lines 33-35] e.g., “The front end node 200 may then store the task results in a database “. This shows explicit storage of task results… distribution module 216 constructed to distribute the tasks to at least some of the nodes for processing.” See also [col. 4, lines 1-5] e.g., “… the front end node 200 divides a plurality of tasks 101a to 101d… and distributes the divided tasks 101a to 101d to the compute nodes 300a to 300d for processing.”. It is a direct teaching); and store completed task portions in at least a decode threshold number of computing nodes (Mathew [col. 11, lined 36-36-41] e.g., “[col. 4, lines 11-17] e.g., “The compute nodes 300a to 300d transmit the results of processing to the frontend node 200 upon completion of their assigned tasks.”. see also [col. 11, lines 36-41] e.g., “In step 510, the receiving module 217 of front end node 200 receives the executed task results that are outputted by output module 317 of compute nodes 300a to 300d. The front end node 200 may then store the task results in a database”. This explicitly support for completed task portions (executed task results), receiving those results, and storing those results). Mathew does not explicitly disclose: wherein the data object is error encoded to generate a set of encoded data slices, wherein the set of encoded data slices are distributedly stored among a plurality of storage units. Pomerantz discloses wherein the data object is error encoded to generate a set of encoded data slices (Pomerantz [0097] e.g., “… encoding N data values through M linear expressions into M encoded data values”. See also [0027] e.g., “Redundant storage controller (502) operates generally … by encoding N data values through M linear expressions into M encoded data values…”. Encoded data values correspond to encoder data slices), wherein the set of encoded data slices are distributedly stored among a plurality of storage units (Pomerantz [0021] e.g., “… storing each encoded data value separately on one of M redundant storage devices…” see also [0028] e.g., “The redundant storage controller directs each stream of encoded data to a separate redundant storage device”. This directly correspond to the limitation). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply storing information in an error-encoded distributed storage architecture such that the information remains recoverable from only a threshold number of storage nodes taught by Pomeranz to distributing computational workload metrics in order to improve reliability, fault tolerance, and recoverability of information used by the distrusted computing environment while retaining the capability-based workload distribution benefits (Mathew [0076] e.g., “… encoded values need be retrieved from only N of the M redundant storage devices for all of the original data values to be recovered. Regarding claim 22, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein a decode threshold number of encoded data slices are needed to recover the data object, wherein a read threshold number of encoded data slices provides for reconstruction of the data object (Pomeranz [0076] e.g., “… encoded values need be retrieved from only N of the M redundant storage devices for all of the original data values to be recovered”. The claimed limitation “decode threshold number of encoded data slices”. This section shows only N of M encoded values are required to recover original data), and wherein a write threshold number of encoded data slices provides for a successful transfer of the set of encoded data slices from a first at least one location in the storage network to a second at least one location in the storage network (Pomeranz [0076] e.g., “… encoded values need be retrieved from only N of the M redundant storage devices for all of the original data values to be recovered”. See also [0076] e.g., “… retrieving (420) encoded data values … and decoding the encoding the encoded data values, thereby producing N decoded data values”. The act of reading N encoded values and reconstructing the original data corresponds to the claimed read threshold). Retarding claim 23, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the capability level of a computing node is based on an execution capability indicator for the computing node (Mathew [col. 2, lines 19-28] e.g., “… a qualification task is transmitted for execution by each node. … element on a capability measurement of the node. In particular, the results from the executed qualification task from each node are received and the job load metric for each node is calculated”. The measured node capabilities are execution capability indicators). Regarding claim 24, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the capability level of a computing node is based on processing parameters associated with the computing task (Mathew [col. 1, lines 58-67] e.g., “… where sizes of the tasks in the first plurality of tasks are sized based on a job load metric of each of the nodes”. See also [col. 10, line 40-43] e.g., “The job load metric of each compute node is used to allocate the tasks …”. Task allocation depends on characteristics of the task and node processing capability). Regarding claim 25, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the capability level of a computing node is based on a performance indicator for the computing node (Mathew [col. 7, lines 50-55] e.g., “… qualification task measures capabilities of core elements…”. See [col. 8, lines 10-33] e.g., “…CPU (CE), the nature and power of the GPU (GE), the capabilities of storage devices (SE), the capabilities of the system memory (ME), and system bus performance (BE). More precisely, the type of network interconnect …”. These are performance indicators). Regarding claim 26, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the capability level of a computing node is based on an execution availability level indicator for the computing node (Mathew [col. 12, lines 41-46] e.g., “… adjusting capacity utilizations … job load metric using the dynamically adjusted capacity utilizations of the core elements in the node”. Availability is reflected by current utilization and available capacity). Regarding claim 27, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the capability level of a computing node is based on an execution threshold computing capability indicator for the computing node (Mathew [col. 10, lines 38-52] e.g., “The front end node 200 uses the capacity utilization metrics to determine a job load metric for each compute node. The job load metric of each compute node is used to allocate the tasks to the compute nodes). Regarding claim 28, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the capability level of a computing node is based on a pre-existing capability schedule for the plurality of computing nodes (Mathew [col. 2, lines 25-28] e.g., “… the results from the executed qualification task from each node are received and the job load metric for each node is calculated by using the results from the executed qualification task.”, see also [col. 2, lines 4-10] e.g., “… sizes of the tasks in the second plurality of tasks are sized based on the adjusted job load metric of each of the nodes”. This shows that capability information obtained earlier is reused later). Regarding claim 29, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to: select the subset of the plurality of computing nodes to perform the computing task based on at least one of comparing an amount of data associated with the data object received to a data threshold, a partial task type, task execution resource availability, or a task schedule (Mathew [col. 8, lines 11-20] e.g., “… the qualification task measures capabilities of core elements in a compute node”. See also [col. 1, lines 30-42] e.g., “… compute nodes are typically assigned a task of the same size, irrespective of the hardware and software capabilities of the individual compute nodes”. The system evaluates nodes and assigns metrics which are subsequently used in workload assignment. It would have been obvious to select nodes according to the computed capability metrics used for workload allocation). Regarding claim 30, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to: receive completed task portions from at least a decode threshold number of computing nodes (Mathew [col. 11, lines 36-41] e.g., “… the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21 … receives the executed task results that are outputted by output module 317 of compute nodes”. Completed task results. See also (Pomeranz [0076] e.g., “… encoded values need be retrieved from only N of the M redundant storage devices”. Threshold retrieval) . Regarding claim 31, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to: decode the at least the decode threshold number of completed task portions to generate a result (Mathew [col. 11, lines 36-41] e.g., “… receives the executed task results that are outputted by output module 317 of compute nodes 300a to 300d. ... node 200 may then store the task results in a database or may send the results to another server 106 for further processing…”. See also (Pomeranz [0076] e.g., “… decoding … the encoded data values … all of the original data values to be recovered”). Regarding claim 32, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the computing device is located at a first premises that is remotely located from at least one storage unit of a plurality of storage units within the storage network (Mathew [Figure 1] & [col. 3, lines 45-46] e.g., “… a representative view of a computing cluster relevant to one example embodiment”. See also (Pomeranz [Figure 1] & [0023]. Distributed redundant storage devices located throughout the network). Regarding claim 33, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 32, wherein the at least one storage unit includes at least one of: a wireless smart phone, a laptop, a tablet, a personal computer (PC), a workstation, or a video game device (Pomeranz [0025] e.g., “… personal computer”. Then, that generally satisfies). Regarding claim 34, the proposed combination of Mathew and Pomeranz teaches the computing device of claim 21, wherein the storage network includes at least one of a wireless communication system, a wire lined communication systems, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN) (Pomeranz [0044] e.g., “data communications networks such as IP networks. … wired network … wireless network”). Regarding claim 35, Mathew discloses a method for execution by a computing device of a storage network, the method comprising: determining a capability level of each computing node of ta plurality of computing nodes associated with the storage network (Mathew [col. 8, lines 10-30] e.g., “…the distribution module 216 … the distribution module 216 of front end node 200 transmits a qualification task for execution by each compute node 300 a to 300 d, where the qualification task measures capabilities of core elements in a compute node.” see also [col. 8, lines 10-33] e.g., “…CPU (CE), the nature and power of the GPU (GE), the capabilities of storage devices (SE), the capabilities of the system memory (ME), and system bus performance (BE). More precisely, the type of network interconnect …”. See also [col. 9, lines 12-28] e.g., “… front end node 200 computes a capability metric (CM) for each core element…”. Capability measurements and capability metrics correspond directly to determining a capability level); selecting, based on the capability level, a subset of the plurality of computing nodes to perform a computing task on a data object, wherein the data object is error encoded (Mathew [col. 8, lines 11-20] e.g., “… the qualification task measures capabilities of core elements in a compute node”. See also [col. 1, lines 30-42] e.g., “… compute nodes are typically assigned a task of the same size, irrespective of the hardware and software capabilities of the individual compute nodes”. The system evaluates nodes and assigns metrics which are subsequently used in workload assignment. It would have been obvious to select nodes according to the computed capability metrics used for workload allocation) [to generate a set of encoded data slices, wherein the set of encoded data slices are distributedly stored among a plurality of storage units]; scheduling, based on a relative capability level, a schedule portion of the computing task for each computing node of a subset of computing nodes (Mathew [col. 1, lines 56-64] e.g., “…sizes of the tasks in the first plurality of tasks are sized based on a job load metric of each of the nodes”. See also [col. 4, lines 7-11] .e.g., “The size of each divided task corresponds to a job load metric of the compute nodes that is assigned to execute that task,...”. See also [col. 6, lines 24-32] e.g., “…the tasks are sized based on a job load metric of each of the nodes.”. Capability measurements to capability metric to job load metrics and task sizes. This is very close schedule portions based on relative levels); transmitting the schedule portion to each computing node of the subset of computing nodes (Mathew [col. 6, lines 33-35] e.g., “The front end node 200 may then store the task results in a database “. This shows explicit storage of task results… distribution module 216 constructed to distribute the tasks to at least some of the nodes for processing.” See also [col. 4, lines 1-5] e.g., “… the front end node 200 divides a plurality of tasks 101a to 101d… and distributes the divided tasks 101a to 101d to the compute nodes 300a to 300d for processing.”. It is a direct teaching); and storing completed task portions in at least a decode threshold number of computing nodes (Mathew [col. 11, lined 36-36-41] e.g., “[col. 4, lines 11-17] e.g., “The compute nodes 300a to 300d transmit the results of processing to the frontend node 200 upon completion of their assigned tasks.”. see also [col. 11, lines 36-41] e.g., “In step 510, the receiving module 217 of front end node 200 receives the executed task results that are outputted by output module 317 of compute nodes 300a to 300d. The front end node 200 may then store the task results in a database”. This explicitly support for completed task portions (executed task results), receiving those results, and storing those results). Mathew does not explicitly disclose: wherein the data object is error encoded to generate a set of encoded data slices, wherein the set of encoded data slices are distributedly stored among a plurality of storage units. Pomerantz discloses wherein the data object is error encoded to generate a set of encoded data slices (Pomerantz [0097] e.g., “… encoding N data values through M linear expressions into M encoded data values”. See also [0027] e.g., “Redundant storage controller (502) operates generally … by encoding N data values through M linear expressions into M encoded data values…”. Encoded data values correspond to encoder data slices), wherein the set of encoded data slices are distributedly stored among a plurality of storage units (Pomerantz [0021] e.g., “… storing each encoded data value separately on one of M redundant storage devices…” see also [0028] e.g., “The redundant storage controller directs each stream of encoded data to a separate redundant storage device”. This directly correspond to the limitation). It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to apply storing information in an error-encoded distributed storage architecture such that the information remains recoverable from only a threshold number of storage nodes taught by Pomeranz to distributing computational workload metrics in order to improve reliability, fault tolerance, and recoverability of information used by the distrusted computing environment while retaining the capability-based workload distribution benefits (Mathew [0076] e.g., “… encoded values need be retrieved from only N of the M redundant storage devices for all of the original data values to be recovered. Regarding claim 36, the proposed combination of Mathew and Pomeranz teaches the method of claim 35, wherein a decode threshold number of encoded data slices are needed to recover the data object, wherein a read threshold number of encoded data slices provides for reconstruction of the data object (Pomeranz [0076] e.g., “… encoded values need be retrieved from only N of the M redundant storage devices for all of the original data values to be recovered”. The claimed limitation “decode threshold number of encoded data slices”. This section shows only N of M encoded values are required to recover original data), and wherein a write threshold number of encoded data slices provides for a successful transfer of the set of encoded data slices from a first at least one location in the storage network to a second at least one location in the storage network (Pomeranz [0076] e.g., “… encoded values need be retrieved from only N of the M redundant storage devices for all of the original data values to be recovered”. See also [0076] e.g., “… retrieving (420) encoded data values … and decoding the encoding the encoded data values, thereby producing N decoded data values”. The act of reading N encoded values and reconstructing the original data corresponds to the claimed read threshold). Regarding claim 37, the proposed combination of Mathew and Pomeranz teaches the method of claim 35, wherein the capability level of a computing node is based on an execution capability indicator for the computing node (Mathew [col. 2, lines 19-28] e.g., “… a qualification task is transmitted for execution by each node. … element on a capability measurement of the node. In particular, the results from the executed qualification task from each node are received and the job load metric for each node is calculated”. The measured node capabilities are execution capability indicators). Regarding claim 38, the proposed combination of Mathew and Pomeranz teaches the method of claim 35, wherein the capability level of a computing node is based on an execution availability level indicator for the computing node (Mathew [col. 7, lines 50-55] e.g., “… qualification task measures capabilities of core elements…”. See [col. 8, lines 10-33] e.g., “…CPU (CE), the nature and power of the GPU (GE), the capabilities of storage devices (SE), the capabilities of the system memory (ME), and system bus performance (BE). More precisely, the type of network interconnect …”. These are performance indicators). Regarding claim 39, the proposed combination of Mathew and Pomeranz teaches the method of claim 35, wherein the capability level of a computing node is based on processing parameters associated with the computing task (Mathew [col. 1, lines 58-67] e.g., “… where sizes of the tasks in the first plurality of tasks are sized based on a job load metric of each of the nodes”. See also [col. 10, line 40-43] e.g., “The job load metric of each compute node is used to allocate the tasks …”. Task allocation depends on characteristics of the task and node processing capability). Regarding claim 40, the proposed combination of Mathew and Pomeranz teaches the method of claim 35, wherein the capability level of a computing node is based on a performance indicator for the computing node (Mathew [col. 12, lines 41-46] e.g., “… adjusting capacity utilizations … job load metric using the dynamically adjusted capacity utilizations of the core elements in the node”. Availability is reflected by current utilization and available capacity). Conclusion 16. Examiner has cited particular columns, line numbers, references, or figures in the references applied to the claims above for the convenience of the applicant. Although the specified citations are representative of the teachings of the art and are applied to specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested from the applicant in preparing responses to fully consider the references in entirety, as potentially teaching all or part of the claimed invention. See MPEP §§ 2141.02 and 2123. 17. The pertinent prior art made of record but not relied upon in the rejection: A. U.S. Patent 8,918,897 B2 (*See Abstract, [col. 12, lines 30-53] and [col. 14, lines 39] describing a method decodes the received encoded data slices in accordance with the error coding dispersal storage function to recapture the data). B. U.S. Patent Pub. No. 2017/0161145 (*See Abstract and [0345]-[0348] describes a system that allows data to be stored for an indefinite period of time without data loss and so in a secure manner). C. U.S. Patent 10,193,689 B2 (*See Abstract and [col. 17, lines 4-26] and [col. 18, lines 8-18] describing a method that enables to facilitate storage of random numbers and each of the encrypted shares within a computing system). D. U.S. Patent 8,914,669 B2 (See Abstract and [col. 15, lines 19-35] and [col. 34, lines 34-51] describing a method for providing secure rebuilding of an encoded data slice obtained from encrypted partial encoded data slice, error-free error coded data slices or error coded data slice in a dispersed storage network (DSN)). E. U.S. Patent 9,483,398 B2 (See Abstract, [col. 32, lines 22-41] and [col. 37, lines 18-38] describing a method for partitioning storage data in dispersed storage network). F. Lan et al. “Task Petitioning and Orchestration on Heterogeneous Edge Platforms: The Case of Vision Application” (Discloses two scheduling algorithms, namely minimum latency task scheduling and minimum cost task scheduling, aiming to minimize the processing latency and the overall system cost) . G. Siegel et al. “Heterogeneous Computing” (discloses a task must be decomposed into subtasks, where each subtask is computationally homogeneous). H. Elsadek et al. “A Heuristic model for task allocation in heterogeneous distributed computing systems” ) 18. Any inquiry concerning this communication or earlier communications from the examiner should be directed to BERHANU MITIKU whose telephone number is (571)270-1983. The examiner can normally be reached Monday – Friday 8:30AM – 4:00PM. 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, Ajay Bhatia can be reached at 571-272-3906. 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. /BERHANU MITIKU/Examiner, Art Unit 2156 /AJAY M BHATIA/Supervisory Patent Examiner, Art Unit 2156
Read full office action

Prosecution Timeline

Jul 03, 2025
Application Filed
Dec 23, 2025
Response after Non-Final Action
Jun 18, 2026
Non-Final Rejection mailed — §103, §112 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12664174
DATA PERSISTENCE FORMATS MANAGEMENT FOR COLUMN LOADABLE COLUMNS
2y 6m to grant Granted Jun 23, 2026
Patent 12657160
AUTOMATIC FILE CREATION AND LOCATION SELECTION STANDARDIZATION
2y 9m to grant Granted Jun 16, 2026
Patent 12625900
UNIFIED DATA CLASSIFICATION TECHNIQUES
3y 10m to grant Granted May 12, 2026
Patent 12602143
METHODS TO INFER CONTENT RELATIONSHIPS FROM USER ACTIONS AND SYSTEM AUTOMATIONS
3y 6m to grant Granted Apr 14, 2026
Patent 12591557
BLOCKCHAIN AUDIT SYSTEM
2y 9m to grant Granted Mar 31, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

Get a prosecution strategy drawn from examiner precedents, rejection analysis, and claim mapping.
Typically takes 5-10 seconds — AI-generated, attorney review required before filing

Prosecution Projections

1-2
Expected OA Rounds
55%
Grant Probability
84%
With Interview (+28.8%)
4y 8m (~3y 8m remaining)
Median Time to Grant
Low
PTA Risk
Based on 396 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