DETAILED ACTION
This office action is in response to appeal brief filed on 3/20/2026.
Claims 1 – 18 are pending.
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Prosecution Reopened
In view of the notice of appeal filed on 1/22/2026, PROSECUTION IS HEREBY REOPENED. New grounds of rejection(s) are set forth below.
To avoid abandonment of the application, appellant must exercise one of the following two options:
(1) file a reply under 37 CFR 1.111 (if this Office action is non-final) or a reply under 37 CFR 1.113 (if this Office action is final); or,
(2) initiate a new appeal by filing a notice of appeal under 37 CFR 41.31 followed by an appeal brief under 37 CFR 41.37. The previously paid notice of appeal fee and appeal brief fee can be applied to the new appeal. If, however, the appeal fees set forth in 37 CFR 41.20 have been increased since they were previously paid, then appellant must pay the difference between the increased fees and the amount previously paid.
A Supervisory Patent Examiner (SPE) has approved of reopening prosecution by signing below:
/APRIL Y BLAIR/Supervisory Patent Examiner, Art Unit 2196
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1 – 18 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract activity of mental process without significantly more.
Claim 1:
Under Prong 1, the claimed limitations “determining whether the amount of resources required to execute the next chunk of the task is available;”, “in response to determining that the amount of resources required to execute the next chunk of the task is not available”, and “in response to determining that the amount of resources required to execute the next chunk of the task is available” are functions that can be reasonably carried out in the human mind with the aid of pen and paper, through observation, evaluation, judgment, opinion, thus it is reasonable to identify these limitation as reciting a mental process.
Under prong 2, this judicial exception is not integrated into a practical application. The additional elements “the task comprising a group of data-items and a program, wherein the data-items are to be processed according to the program” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The additional elements of “pausing the task, wherein pausing the task comprises removing the task from the ready state;” and “allocating the resources to the task” merely applies the judicial exception or abstract idea. Therefore, these additional elements do not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The additional element “receiving a request to allocate resources to a task in a ready state, the request identifying an amount of resources required to execute a next chunk of the task only and wherein the task is partitioned into a plurality of chunks based on changes in resource requirements over time and wherein a chunk relates to a portion of the program that the task executes;” merely recite insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(g). Under Step 2B, the courts have identified functions such as gathering, displaying, updating, transmitting and storing data as well-understood, routine, conventional activity, thus do not amount to significantly more than the judicial exception. See MPEP 2106.05(d).
Claim 2:
Regarding claim 2, the limitation “wherein determining whether the amount of resources required to execute the next chunk of the task is available comprises: determining whether a contiguous block of resources comprising the amount of resources required to execute the next chunk of the task is available” merely recites the “determining whether the amount of resources required to execute the next chunk of the task is available” generated in claim 1, thus is also analyzed under prong 1 as a mental process. Thus, similar to claim 1, the additional element does not integrate the judicial exception into a practical application under Prong 2, nor amount to significantly more than the judicial exception under Step 2B.
Claim 3:
Regarding claim 3, The additional element “releasing any resources already allocated to the task that are not required to execute the next chunk of the task” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 4:
As per claim 4, the limitations “wherein the request received by the task scheduler also identifies an amount of resources required to execute the entire task and wherein the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task;”, “and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: determining whether the amount of resources required to execute the entire task is available;”, “and232645-0546US01 (10702. US] - 6464.1186) in response to determining that the amount of resources required to execute the entire task is available,” and “and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available.” are functions that can be reasonably carried out in the human mind with the aid of pen and paper, through observation, evaluation, judgment, opinion, thus it is reasonable to identify these limitation as reciting a mental process.
The limitation “allocating the resources to the task;” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 5:
Regarding claim 5, the limitations “after receiving the request, to determine whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: to determine whether the amount of resources required to execute the entire task is available; and in response to determining that the amount of resources required to execute the entire task is available,”, “wherein the task scheduler is further arranged to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available;”, “wherein the task scheduler is further arranged to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available;” and “determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task.” are functions that can be reasonably carried out in the human mind with the aid of pen and paper, through observation, evaluation, judgment, opinion, thus it is reasonable to identify these limitation as reciting a mental process.
The limitations “wherein the task scheduler has two modes of operation,”, “wherein in a first mode of operation the task scheduler is arranged,” and “and wherein the task scheduler proceeds to” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The limitations “to allocate the resources to the task;” and “to reduce the allocation of resources to the task to the amount of resources required to execute the next chunk of the task;” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The limitation “wherein the request received by the task scheduler also identifies an amount of resources required to execute the entire task;” merely recites insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(g). Under Step 2B, the courts have identified functions such as gathering, displaying, updating, transmitting and storing data as well-understood, routine, conventional activity, thus do not amount to significantly more than the judicial exception. See MPEP 2106.05(d).
Claim 6:
Regarding claim 6, the limitation “repeating the method for each of a plurality of tasks in the parallel processing system” recites a mental process, The limitation encompasses a human mind carrying out the function of “determining amount of resources required to execute task has been allocated” through observation, evaluation judgment and /or opinion, or even with the aid of pen and paper.
Claim 7:
Regarding claim 7, the limitation “wherein the parallel processing system comprises a GPU and the task is associated with a shader” merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 8:
Regarding claim 8, the limitation “wherein the resources comprise registers” merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 9:
Under Prong 1, the claimed limitations “determining whether the amount of resources required to execute the next chunk of the task is available;”, “in response to determining that the amount of resources required to execute the next chunk of the task is not available”, and “in response to determining that the amount of resources required to execute the next chunk of the task is available” are functions that can be reasonably carried out in the human mind with the aid of pen and paper, through observation, evaluation, judgment, opinion, thus it is reasonable to identify these limitation as reciting a mental process.
Under prong 2, this judicial exception is not integrated into a practical application. The additional elements “one or more resources for use when executing a task, the task comprising a group of data- items and a program, wherein the data-items are to be processed according to the program, and wherein the task is partitioned into a plurality of chunks based on changes in resource requirements over time and wherein a chunk relates to a portion of the program that the task executes;” and “one or more resources for use when executing a task, the task comprising a group of data- items and a program, wherein the data-items are to be processed according to the program, and wherein the task is partitioned into a plurality of chunks based on changes in resource requirements over time and wherein a chunk relates to a portion of the program that the task executes;”, merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The additional elements of “pause the task, wherein pausing the task comprises removing the task from the ready state;” and “allocate the resources to the task” merely applies the judicial exception or abstract idea. Therefore, these additional elements do not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The additional element “a task scheduler arranged to receive a request to allocate resources to a task in a ready state, the request identifying an amount of resources required to execute a next chunk of the task only,” merely recite insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(g). Under Step 2B, the courts have identified functions such as gathering, displaying, updating, transmitting and storing data as well-understood, routine, conventional activity, thus do not amount to significantly more than the judicial exception. See MPEP 2106.05(d).
Claim 10:
Regarding claim 10, the limitation “determine whether the amount of resources required to execute the next chunk of the task is available by: determining whether a contiguous block of resources comprising the amount of resources required to execute the next chunk of the task is available.” merely recites the “determining whether the amount of resources required to execute the next chunk of the task is available” generated in claim 1, thus is also analyzed under prong 1 as a mental process. Thus, similar to claim 1, the additional element does not integrate the judicial exception into a practical application under Prong 2, nor amount to significantly more than the judicial exception under Step 2B.
The limitation “the task scheduler is arranged to” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 11:
Regarding claim 11, The additional element “the task scheduler is further arranged to: release any resources already allocated to the task that are not required to execute the next chunk of the task.” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 12:
Regarding claim 12, the limitation “after receiving the request, to determine whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: determine whether the amount of resources required to execute the entire task is available; and in response to determining that the amount of resources required to execute the entire task is available,”; and “to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available.” are functions that can be reasonably carried out in the human mind with the aid of pen and paper, through observation, evaluation, judgment, opinion, thus it is reasonable to identify these limitation as reciting a mental process.
The limitation “wherein the task scheduler is further arranged” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The limitation “allocate the resources to the task;” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The additional limitation “wherein the request received by the task scheduler also identifies an amount of resources required to execute the entire task” merely recite insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(g). Under Step 2B, the courts have identified functions such as gathering, displaying, updating, transmitting and storing data as well-understood, routine, conventional activity, thus do not amount to significantly more than the judicial exception. See MPEP 2106.05(d).
Claim 13:
Regarding claim 13, the limitations “after receiving the request, to determine whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: to determine whether the amount of resources required to execute the entire task is available; and in response to determining that the amount of resources required to execute the entire task is available,”, “wherein the task scheduler is further arranged to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available;”, “wherein the task scheduler is further arranged to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available;” and “determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task.” are functions that can be reasonably carried out in the human mind with the aid of pen and paper, through observation, evaluation, judgment, opinion, thus it is reasonable to identify these limitation as reciting a mental process.
The limitations “wherein the task scheduler has two modes of operation,”, “wherein in a first mode of operation the task scheduler is arranged,” and “and wherein the task scheduler proceeds to” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The limitations “to allocate the resources to the task;” and “to reduce the allocation of resources to the task to the amount of resources required to execute the next chunk of the task;” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The limitation “wherein the request received by the task scheduler also identifies an amount of resources required to execute the entire task;” merely recites insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(g). Under Step 2B, the courts have identified functions such as gathering, displaying, updating, transmitting and storing data as well-understood, routine, conventional activity, thus do not amount to significantly more than the judicial exception. See MPEP 2106.05(d).
Claim 14:
Regarding claim 14, the limitation “wherein task scheduler is a task scheduler in a GPU.” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 15:
Regarding claim 15, the limitation “wherein the task is associated with a shader.” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 16:
Regarding claim 16, the limitation “wherein the one or more resources comprise a plurality of registers.” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
Claim 17:
Regarding claim 17, the limitation “monitor execution of the program and identify, using the metadata, when execution of the program has reached an instruction in the program where the resource requirements increase above a threshold for a first time in the program execution sequence, identifying a chunk boundary, wherein the metadata associated with the program identifies one or more instructions in the program and resource requirements associated with those instructions.” are functions that can be reasonably carried out in the human mind with the aid of pen and paper, through observation, evaluation, judgment, opinion, thus it is reasonable to identify these limitation as reciting a mental process.
The additional limitation “further comprising an instruction sequencer, wherein the instruction sequencer is arranged to access metadata associated with a program associated with the task,” merely recite insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(g). Under Step 2B, the courts have identified functions such as gathering, displaying, updating, transmitting and storing data as well-understood, routine, conventional activity, thus do not amount to significantly more than the judicial exception. See MPEP 2106.05(d).
Claim 18:
Regarding claim 18, the limitations “determining whether the amount of resources required to execute the next chunk of the task is available;”, “in response to determining that the amount of resources required to execute the next chunk of the task is not available,” and “in response to determining that the amount of resources required to execute the next chunk of the task is available,” are functions that can be reasonably carried out in the human mind with the aid of pen and paper, through observation, evaluation, judgment, opinion, thus it is reasonable to identify these limitation as reciting a mental process.
The limitation “A non-transitory computer storage medium having stored thereon computer readable code configured to cause a method of allocating resources to a task in a parallel processing system to be performed when the code is run, the task comprising a group of data-items and a program, wherein the data-items are to be processed according to the program,” merely recite instructions to implement an abstract idea on a generic computer, or merely uses a generic computer or computer components as a tool to perform the abstract idea, thus is not a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The limitations “pausing the task, wherein pausing the task comprises removing the task from the ready state;” and “allocating the resources to the task.” is merely applying the judicial exception or abstract idea. Therefore, this additional element does not integrate the judicial exception into a practical application under Prong 2, or amount to significantly more than the judicial exception under Step 2B. See MPEP 2106.05(f).
The additional limitation “receiving a request to allocate resources to a task in a ready state, the request identifying an amount of resources required to execute a next chunk of the task only and wherein the task is partitioned into a plurality of chunks based on changes in resource requirements over time and wherein a chunk relates to a portion of the program that the task executes;” merely recite insignificant extra solution activity such as gathering, displaying, updating, transmitting and storing data which does not integrate the judicial exception into a practical application under Prong 2. See MPEP 2106.05(g). Under Step 2B, the courts have identified functions such as gathering, displaying, updating, transmitting and storing data as well-understood, routine, conventional activity, thus do not amount to significantly more than the judicial exception. See MPEP 2106.05(d).
Claim Interpretation
The following is a quotation of 35 U.S.C. 112(f):
(f) Element in Claim for a Combination. – An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The following is a quotation of pre-AIA 35 U.S.C. 112, sixth paragraph:
An element in a claim for a combination may be expressed as a means or step for performing a specified function without the recital of structure, material, or acts in support thereof, and such claim shall be construed to cover the corresponding structure, material, or acts described in the specification and equivalents thereof.
The claims in this application are given their broadest reasonable interpretation using the plain meaning of the claim language in light of the specification as it would be understood by one of ordinary skill in the art. The broadest reasonable interpretation of a claim element (also commonly referred to as a claim limitation) is limited by the description in the specification when 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is invoked.
As explained in MPEP § 2181, subsection I, claim limitations that meet the following three-prong test will be interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph:
(A) the claim limitation uses the term “means” or “step” or a term used as a substitute for “means” that is a generic placeholder (also called a nonce term or a non-structural term having no specific structural meaning) for performing the claimed function;
(B) the term “means” or “step” or the generic placeholder is modified by functional language, typically, but not always linked by the transition word “for” (e.g., “means for”) or another linking word or phrase, such as “configured to” or “so that”; and
(C) the term “means” or “step” or the generic placeholder is not modified by sufficient structure, material, or acts for performing the claimed function.
Use of the word “means” (or “step”) in a claim with functional language creates a rebuttable presumption that the claim limitation is to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites sufficient structure, material, or acts to entirely perform the recited function.
Absence of the word “means” (or “step”) in a claim creates a rebuttable presumption that the claim limitation is not to be treated in accordance with 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph. The presumption that the claim limitation is not interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, is rebutted when the claim limitation recites function without reciting sufficient structure, material or acts to entirely perform the recited function.
Claim limitations in this application that use the word “means” (or “step”) are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action. Conversely, claim limitations in this application that do not use the word “means” (or “step”) are not being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, except as otherwise indicated in an Office action.
This application includes one or more claim limitations that do not use the word “means,” but are nonetheless being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, because the claim limitation(s) uses a generic placeholder that is coupled with functional language without reciting sufficient structure to perform the recited function and the generic placeholder is not preceded by a structural modifier. Such claim limitation(s) is/are: one or more resource, a task scheduler and execution modules in claim 9.
Because this/these claim limitation(s) is/are being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, it/they is/are being interpreted to cover the corresponding structure described in the specification as performing the claimed function, and equivalents thereof.
If applicant does not intend to have this/these limitation(s) interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph, applicant may: (1) amend the claim limitation(s) to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph (e.g., by reciting sufficient structure to perform the claimed function); or (2) present a sufficient showing that the claim limitation(s) recite(s) sufficient structure to perform the claimed function so as to avoid it/them being interpreted under 35 U.S.C. 112(f) or pre-AIA 35 U.S.C. 112, sixth paragraph.
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.
Claim(s) 1, 2, 6, 9, 10, 17 and 18 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou et al, “Fine-grained scheduling in multi-resource clusters”, Journal of Supercomputing (2020), pages 1931 – 1058, originally published on August 17th, 2018 (prior art part of IDS dated 7/13/2021. hereinafter Zhou), in view of Liu et al (US 20170109203 (hereinafter Liu), and further in view of Inoue et al (US 20050188373, hereinafter Inoue).
As per claim 1, Zhou discloses: A method of allocating resource to a task in a parallel processing system, the task comprising a group of data-items and a program, wherein the data-items are to be processed according to the program, and the method comprising:
receiving a request to allocate resources to a task, the request identifying an amount of resources required to execute a next chunk of the task only; and wherein the task is partitioned into a plurality of chunks based on changes in resource requirements over time and wherein a chunk relates to a portion of the program that the task executes; (Zhou page 1934, second paragraph: “The FGM estimates the actual resource requirement and divides the task into execution stages. Then, it matches the available resources for each execution stage according to the actual resource requirements and the duration of the execution stage”.)
determining whether the amount of resources required to execute the next chunk of the task is available; in response to determining that the amount of resources required to execute the next chunk of the task is not available, (Zhou page 1941, formula 13 and second to last paragraph: “The consideration the comparison rule shown as Formula is the matching failure in scheduling. Suppose there are the available resource tuple of server and the resource requirement tuple of task. The resource matching fails if any available quantity of resource does not satisfy task requirement of this resource”.)
and in response to determining that the amount of resources required to execute the next chunk of the task is available, allocating the resources to the task. (Zhou page 1942, first paragraph: “After the resource check, the algorithm sorts set Ts, the tasks waiting for scheduling, using the fairness policy Pf to ensure resource fairness (line 4). Then, the algorithm traverses set Ts to check data locality and match available resources. The matching strategy is determined by both the estimation result of the task and the server’s scheduling policy. The algorithm matches the available resources based on resource requests when the estimation results are insufficient or when the task requirements cannot be estimated (lines 8–9)”; page 1942 last paragraph: “The fine-grained matching algorithm shown in Algorithm 2 traverses all the task execution stages and matches available resources and requirements while considering the compression characteristics of the various resources. The matching is successful when all the resource requirements are satisfied over all the task execution stages (lines 4–20).”)
Zhou did not explicitly disclose:
in response to determining that the amount of resources required to execute the next chunk of the task is not available, pausing the task, wherein pausing the task comprises removing the task from the ready state;
Liu teaches:
in response to determining that the amount of resources required to execute the next chunk of the task is not available, pausing the task. (Liu [0040])
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Liu into that of Zhou in order to pause the task in response to determining that the amount of resources required to execute the next chunk of the task is not available. Although Zhou is silent to what happens to the task stages when the resource matching resulted in a failure, however, one of ordinary skill can easily see that commonly known forms of task controls can be used, such as suspend the task when resource needed being unavailable, thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103.
Inoue teaches:
wherein pausing the task comprises removing the task from the ready state; (Inoue [0100])
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Inoue into that of Zhou and Liu in order to have the pausing of the task comprises removing the task from the ready state. Liu [0040] teaches the task us suspended if there is not enough resources to mee the task’s requirement. Inoue has shown that the claimed limitation is merely finite state machine technique commonly known and used in the field to represent a task’s state, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103.
As per claim 2, the combination of Zhou, Liu and Inoue further teach:
The method according to claim 1, wherein determining whether the amount of resources required to execute the next chunk of the task is available comprises: determining whether a contiguous block of resources comprising the amount of resources required to execute the next chunk of the task is available. (Zhou page 1942, first paragraph.)
As per claim 6, the combination of Zhou, Liu and Inoue further teach:
The method according to claim 1, further comprising repeating the method for each of a plurality of tasks in the parallel processing system. (Chou page 1932, first paragraph.)
As per claim 9, it is the system variant of claim 1 and is therefore rejected under the same rationale.
As per claim 10, it is the system variant of claim 2 and is therefore rejected under the same rationale.
As per claim 6, the combination of Zhou, Liu and Inoue further teach:
The parallel processing system of claim 9, further comprising an instruction sequencer, wherein the instruction sequencer is arranged to access metadata associated with a program associated with the task, monitor execution of the program and identify, using the metadata, when execution of the program has reached an instruction in the program where the resource requirements increase above a threshold for a first time in the program execution sequence, identifying a chunk boundary, wherein the metadata associated with the program identifies one or more instructions in the program and resource requirements associated with those instructions. (Zhou page 1943 – 1945, sections 3.4 and 3.5: runtime resource monitoring and scheduling adjustment.)
As per claim 18, it is the non-transitory computer storage medium variant of claim 1 and is therefore rejected under the same rationale.
Claim(s) 3 and 11 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou, Liu and Inoue, and in view of Cherkasova et al (US 20130290976, hereinafter Cherkasova).
As per claim 3, Zhou, Liu and Inoue did not teach:
The method according to claim 1, further comprising: releasing any resources already allocated to the task that are not required to execute the next chunk of the task.
However, Cherkasova teaches:
The method according to claim 1, further comprising: releasing any resources already allocated to the task that are not required to execute the next chunk of the task. (Cherkasova [0023])
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Cherkasova into that of Zhou, Liu and Inoue in order to any resources already allocated to the task that are not required to execute the next chunk of the task. Cherkasova teaches resources are released whenever a pipeline stage finished processing, thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103
As per claim 11, it is the system variant of claim 3 and is therefore rejected under the same rationale.
Claim(s) 4, 5, 12 and 13 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou, Liu and Inoue, and in view of Pan et al (US 20210117231, hereinafter Pan).
As per claim 4, Zhou, Liu and Inoue did not teach:
The method according to claim 1, wherein the request received by the task scheduler also identifies an amount of resources required to execute the entire task and wherein the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: determining whether the amount of resources required to execute the entire task is available; and 232645-0546US01 (10702. US] - 6464.1186) in response to determining that the amount of resources required to execute the entire task is available, allocating the resources to the task; and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available.
However, Pan teaches:
The method according to claim 1, wherein the request received by the task scheduler also identifies an amount of resources required to execute the entire task and wherein the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: determining whether the amount of resources required to execute the entire task is available; and 232645-0546US01 (10702. US] - 6464.1186) in response to determining that the amount of resources required to execute the entire task is available, allocating the resources to the task; and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available. (Pan [0007].)
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Pan into that of Zhou, Liu and Inoue in order to the request received by the task scheduler also identifies an amount of resources required to execute the entire task and wherein the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: determining whether the amount of resources required to execute the entire task is available; and 232645-0546US01 (10702. US] - 6464.1186) in response to determining that the amount of resources required to execute the entire task is available, allocating the resources to the task; and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available. Pan has shown that the claimed limitation are merely commonly known task scheduling strategy and thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103
As per claim 5, Zhou, Liu and Inoue did not teach:
The method according to claim 1, wherein the request received by the task scheduler also identifies an amount of resources required to execute the entire task; and the task scheduler has two modes of operation, wherein the method comprises: in a first mode of operation the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: determining whether the amount of resources required to execute the entire task is available; and in response to determining that the amount of resources required to execute the entire task is available, allocating the resources to the task; and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available; and in a second mode of operation, the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has already been allocated to the task, reducing the allocation of resources to the task to the amount of resources required to execute the next chunk of the task; and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk is available only in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task.
However, Pan teaches:
The method according to claim 1, wherein the request received by the task scheduler also identifies an amount of resources required to execute the entire task; and the task scheduler has two modes of operation, wherein the method comprises: in a first mode of operation the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: determining whether the amount of resources required to execute the entire task is available; and in response to determining that the amount of resources required to execute the entire task is available, allocating the resources to the task; and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available; and in a second mode of operation, the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has already been allocated to the task, reducing the allocation of resources to the task to the amount of resources required to execute the next chunk of the task; and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk is available only in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task. (Pan [0007].)
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Pan into that of Zhou, Liu and Inoue in order to the request received by the task scheduler also identifies an amount of resources required to execute the entire task and wherein the method further comprises, after receiving the request: determining whether the amount of resources required to execute the entire task has already been allocated to the task; and in response to determining that the amount of resources required to execute the entire task has not already been allocated to the task: determining whether the amount of resources required to execute the entire task is available; and 23in response to determining that the amount of resources required to execute the entire task is available, allocating the resources to the task; and wherein the method proceeds to determine whether the amount of resources required to execute the next chunk of the task is available only in response to determining that the amount of resources required to execute the entire task is not available. Pan has shown that the claimed limitation are merely commonly known task scheduling strategy and thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103
As per claim 12, it is the system variant of claim 4 and is therefore rejected under the same rationale.
As per claim 13, it is the system variant of claim 5 and is therefore rejected under the same rationale.
Claim(s) 7, 8 and 14 – 16 is/are rejected under 35 U.S.C. 103 as being unpatentable over Zhou, Liu and Inoue, and in view of Koneru et al (US 20190235917, hereinafter Koneru).
As per claim 7, Zhou, Liu and Inoue did not teach:
The method according to claim 1, wherein the parallel processing system comprises a GPU and the task is associated with a shader.
However, Koneru teaches:
The method according to claim 1, wherein the parallel processing system comprises a GPU and the task is associated with a shader. (Koneru [0188]: draw-call for vortex shader; [0226]: GPU.)
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Koneru into that of Zhou, Liu and Inoue in order to have the parallel processing system comprises a GPU and the task is associated with a shader. Koneru teaches the fined grained scheduling can be applied to GPU tasks as well, thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103
As per claim 8, Zhou, Liu and Inoue did not teach:
The method according to claim 1, wherein the resources comprise registers.
However, Koneru teaches:
The method according to claim 1, wherein the resources comprise registers. (Koneru [0110]: resource comprises registers.)
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Koneru into that of Zhou, Liu and Inoue in order to have the resources comprise registers. Koneru teaches the fined grained scheduling can be applied to GPU tasks as well, thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103
As per claim 14, Zhou, Liu and Inoue did not teach:
The parallel processing system of claim 9, wherein task scheduler is a task scheduler in a GPU.
However, Koneru teaches:
The parallel processing system of claim 9, wherein task scheduler is a task scheduler in a GPU. (Koneru [0226]: GPU.)
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Koneru into that of Zhou, Liu and Inoue in order to have the parallel processing system comprises a GPU. Koneru teaches the fined grained scheduling can be applied to GPU tasks as well, thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103
As per claim14, Zhou, Liu and Inoue did not teach:
The parallel processing system of claim 9, wherein the task is associated with a shader.
However, Koneru teaches
The parallel processing system of claim 9, wherein the task is associated with a shader. (Koneru [0188]: draw-call for vortex shader.)
It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Koneru into that of Zhou, Liu and Inoue in order to have the task is associated with a shader. Koneru teaches the fined grained scheduling can be applied to GPU tasks as well, thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103
As per claim 16, it is the system variant of claim 8 and is therefore rejected under the same rationale.
Response to Arguments
Applicant's arguments filed 3/20/2026 have been fully considered but they are not persuasive.
Applicant argued on page 10 that “Zhou does not disclose pausing a task in the ready state in response to determining that resource required to execute the next chunk of the task are not available, by removing the task from the ready state”.
The examiner would like to point that the office action acknowledges that Zhou reference did not explicitly teach the feature in question, and is instead relying on the introduction of Liu and Inoue references to cure that deficiency, see 103 rejection section above for details. As outlined by the rejection, Zhou at page 1941, second to last paragraph teaches “resource matching fails if any available quantity of resource does not satisfy task requirement of this resource”, while Zhou at page 1942, last paragraph teaches “The fine-grained matching algorithm shown in Algorithm 2 traverses all the task execution stages and matches available resources and requirements while considering the compression characteristics of the various resources. The matching is successful when all the resource requirements are satisfied over all the task execution stages (lines 4–20).”)”. Thus, it can be seen that Zhou teaches the determining if resource required to execute a chunk is available or not.
Zhou however, is silent on the action performed in case of when there is not enough resource to execute the next chunk is available and pausing the task, wherein pausing the task comprises removing the task from the ready state;
Liu [0040] teaches “the request is suspended in a circumstance that the resource required by the task associated with the request will not be available in a certain period.”, while Inoue [0100] teaches the task may enter suspended state from ready state by forcible halting the task. The combination of Zhou, Liu and Inoue therefore teaches the claimed limitation in question. In response to applicant's arguments against the references individually, one cannot show nonobviousness by attacking references individually where the rejections are based on combinations of references. See In re Keller, 642 F.2d 413, 208 USPQ 871 (CCPA 1981); In re Merck & Co., 800 F.2d 1091, 231 USPQ 375 (Fed. Cir. 1986).
Applicant argued on page 11 that it would not have been obvious for one of ordinary skill in the art to combine Liu with Zhou.
The examiner disagrees. Zhou at page 1941, second to last paragraph teaches “resource matching fails if any available quantity of resource does not satisfy task requirement of this resource”, while Zhou at page 1942, last paragraph teaches “The fine-grained matching algorithm shown in Algorithm 2 traverses all the task execution stages and matches available resources and requirements while considering the compression characteristics of the various resources. The matching is successful when all the resource requirements are satisfied over all the task execution stages (lines 4–20).”)”. Thus, it can be seen that Zhou teaches the determining if resource required to execute a chunk is available or not.
Zhou however, is silent on the action performed in case of when there is not enough resource to execute the next chunk is available and pausing the task, wherein pausing the task comprises removing the task from the ready state;
Liu [0040] teaches “the request is suspended in a circumstance that the resource required by the task associated with the request will not be available in a certain period”. It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Liu into that of Zhou in order to pause the task in response to determining that the amount of resources required to execute the next chunk of the task is not available. Although Zhou is silent to what happens to the task stages when the resource matching resulted in a failure, however, one of ordinary skill can easily see that commonly known forms of task controls can be used, such as suspend the task when resource needed being unavailable, thus applicant have merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103.
Applicant argued on page 12 that “None of these states would apply to the purported combination of Zhou and Liu, since Zhou/Liu does not involve any hierarchical task list”.
The examiner disagrees as the argument raised appears to be nonsensical. As stated prior, Zhou teaches determining if resource needed to execute a task stage is available, Zhou is silent to what happens when the determination results in false. Liu teaches suspending the task if the resource needed is not available. Inoue [0100] is merely brought in to show that to suspend a task, task is stopped from the ready state and placed into suspend state through a forcible halt action, it is merely to further elaborate the suspend function taught by Liu. It would have been obvious for one of ordinary skill in the art at the effective filing date of the claimed invention to incorporate the teaching of Inoue into that of Zhou and Liu in order to have the pausing of the task comprises removing the task from the ready state. Liu [0040] teaches the task us suspended if there is not enough resources to mee the task’s requirement. Inoue has shown that the claimed limitation is merely finite state machine technique commonly known and used in the field to represent a task’s state, applicants have thus merely claimed the combination of known parts in the field to achieve predictable results and is therefore rejected under 35 USC 103.
35 USC 101 rejection:
Applicant’s arguments, see pages 14 – 16 of the appeal brief, filed 3/20/2026, with respect to the rejection(s) of claim(s) 1 – 18 under 35 USC 101, abstract idea rejection, have been fully considered but they are not persuasive. A replacement mapping and analysis detailing the rationale behind the 35 USC 101 abstract idea rejection is given above.
Conclusion
Any inquiry concerning this communication or earlier communications from the examiner should be directed to CHARLES M SWIFT whose telephone number is (571)270-7756. The examiner can normally be reached Monday - Friday: 9:30 AM - 7PM.
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, April Blair can be reached at 5712701014. 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.
/CHARLES M SWIFT/Primary Examiner, Art Unit 2196