DETAILED ACTION
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
This Office Action is in response to claims filed 04/02/2026.
Claims 1-6, 10-13, 17, 18, and 21-29 are pending.
Continued Examination Under 37 CFR 1.114
A request for continued examination under 37 CFR 1.114, including the fee set forth in 37 CFR 1.17(e), was filed in this application after final rejection. Since this application is eligible for continued examination under 37 CFR 1.114, and the fee set forth in 37 CFR 1.17(e) has been timely paid, the finality of the previous Office action has been withdrawn pursuant to 37 CFR 1.114. Applicant's submission filed on 04/02/2026 has been entered.
Claim Rejections - 35 USC § 112
The following is a quotation of 35 U.S.C. 112(b):
(b) CONCLUSION.—The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the inventor or a joint inventor regards as the invention.
The following is a quotation of 35 U.S.C. 112 (pre-AIA ), second paragraph:
The specification shall conclude with one or more claims particularly pointing out and distinctly claiming the subject matter which the applicant regards as his invention.
Claims 21, 24, and 27 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 a joint inventor (or for applications subject to pre-AIA 35 U.S.C. 112, the applicant), regards as the invention.
The term “gradually” in claims 21, 24, and 27 is a relative term which renders the claim indefinite. The term “gradually” is not defined by the claim, the specification does not provide a standard for ascertaining the requisite degree, and one of ordinary skill in the art would not be reasonably apprised of the scope of the invention. From the current claim language, it is unclear how the meanings of the claims differ by including the word gradually. For the sake of compact prosecution, examiner will interpret “used to gradually phase in and phase out” to mean “used to .
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 1, 2, 6, 10-12, 17-18, 21-22, 24-25, and 27-28 are rejected under 35 U.S.C. 103 as being unpatentable over Spicer (US 2017/0063561 A1) in view of Dawson (US 2010/0313203 A1) in view of Lee (US 2020/0125391 A1) in view of Rajadeva (US 2023/0102654 A1).
Regarding claim 1, Spicer teaches:
A computer program product, the computer program product being tangibly embodied on a non-transitory computer-readable storage medium and comprising instructions that, when executed by at least one computing device, are configured to cause the at least one computing device to: “Implementations may implemented as a computer program product, i.e., a non-transitory computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device ( e.g., a computer-readable medium, a tangible computer-readable medium), for processing by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. In some implementations, a non-transitory tangible computer-readable storage medium can be configured to store instructions that when executed cause a processor to perform a process.” [Spicer ¶ 76].
extract processor consumption within a first time interval “The information provided by the workload managers may include a most recent rolling average. In some implementations, the rolling average is a 4-hour-rolling-average (4HRA). The 4HRA is a rolling average of LPAR CPU consumption in millions of service units” [Spicer ¶ 25]. “The rolling average 240 is obtained from a workload manager and represents a rolling average of CPU consumption in e.g., MSUs for the billing entity…In some implementations, the workload manager refreshes the rolling average at regular intervals, for example every 10 seconds or every minute” [Spicer ¶ 39].
by a subset of processors of a plurality of processors of the at least one computing device, “…a mainframe computing system includes a central processor complex, a plurality of billing entities, a billing entity being a logical partition of the mainframe computing system or a group of logical partitions…” [Spicer ¶ 3 Examiner notes a logical partition (LPAR) is interpreted as a subset of the computing system resources including processors and thus, the billing entities are interpreted to encompass a plurality of processors].
the subset of processors providing a base capacity and a priority capacity; “The dynamic capping policy may include, for each billing entity identified in the policy, information from which to determine a millions of service unit (MSU) entitlement value and a cost entitlement value” [Spicer ¶ 4]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35]. “If low-importance work is not to be considered (705, No) the billing entity with the highest priority is selected from among the candidate entities. The priority may be assigned to each LPAR by the customer as part of the dynamic capping policy. Thus, the customer may adjust the effects of the policy by changing the priorities assigned to the billing entities in the dynamic capping policy. If only one entity has the highest priority (725, No), process 700 ends, having selected a favored entity” [Spicer ¶ 63 Examiner notes the MSU entitlement assigned to an LPAR of high priority is considered priority capacity]. “In this manner, the system provides extra MSUs to favored billing entities (e.g., LPARs or capacity groups) ahead of non-favored entities, ensuring maximum high importance throughput for the lowest possible cost, e.g., represented by the maximum MSU limit and the cost limit set by the customer in the dynamic capping policy” [Spicer ¶ 57 Examiner notes the MSU entitlement assigned to a non-favored LPAR is considered the base capacity].
update, based on the processor consumption, a rolling average of processor consumption of the subset of processors over a second time interval; “In some implementations, the rolling average is a 4-hour-rolling-average (4HRA). The 4HRA is a rolling average of LPAR CPU consumption in millions of service units. A service unit is a measure of CPU capacity (e.g., processing time)” [Spicer ¶ 25].
convert the rolling average to a consumption rate; “To determine the MLC, the mainframe operating system generates monthly reports that determine the customer's system usage (in MSU s) during every hour of the previous month using a rolling average (e.g., a 4-hour rolling average) recorded by each billing entity for the customer. The hourly usage metrics are then aggregated together to derive the total monthly, hourly peak utilization for the customer, which is used to calculate the bill for the customer.” [Spicer ¶ 1].
determine a consumption comparison of the consumption rate to the base capacity; “The system may determine whether the rolling average (consumption rate), as reported from a workload manager, for the selected billing entity is less than the entitlement value for the billing entity (405)” [Spicer ¶ 44]. “The system may repeat steps 405 to 420 for each billing entity identified in the dynamic capping policy (425, Yes). When all billing entities have been added to the entity pool or contributed to the service unit pool and cost pool (425, No), process 400 ends” [Spicer ¶ 46 Examiner notes when the comparison is made for a non-favored LPAR it is a comparison of the consumption rate to the base capacity].
allocate a workload of the at least one computing device using the subset of processors, based on the consumption comparison “The workload manager allocates processing time and other resources to work requested by application programs. In other words, the workload manager manages the scheduling of requested work on the physical processors… The workload manager uses a customer-defined workload service policy, e.g., stored in WLM policy files 146, to associate each request for work with a service class period and an importance level” [Spicer ¶ 23]. “The system may adjust the capacity limit of the favored entity using the service unit pool and cost pool (510). For example, the system may find the difference between the rolling average for the favored entity and the entitlement value of the favored entity (e.g., 4HRA-entitlement)” [Spicer ¶ 51].
…preserve the priority capacity for use by transactional jobs; “For example, if a first billing entity runs high importance work or runs a high-transaction work, the customer may decide that it is entitled to more MSUs than other billing entities” [Spicer ¶ 34].
Spicer fails to explicitly teach by constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; and process the transactional jobs using the priority capacity; and defer and process the batch jobs.
Spicer teaches process the transactional jobs using the (assigned) priority capacity; “The workload service policy enables the customer to assign work, e.g., batch jobs, online transactions, etc., with a service class, a service class period, an importance level, and an LPAR” [ Spicer ¶ 23]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35]. “For example, if a first billing entity runs high importance work or runs a high-transaction work, the customer may decide that it is entitled to more MSUs than other billing entities” [Spicer ¶ 3]. Spicer fails to explicitly teach that the transactional jobs are given a priority capacity.
However, Dawson teaches process the transactional jobs using the priority capacity. “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66 Examiner notes the transactional jobs are considered to have priority in that the batch jobs are lower priority].
Dawson further teaches:
by constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
and defer and process the batch jobs “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
Dawson is considered to be analogous to the claimed invention because it is in the same field of scheduling strategies for multiprogramming arrangements. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer to incorporate the teachings of Dawson and include constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; and process the transactional jobs using the priority capacity; and defer and process the batch jobs. Doing so would allow for the system to maintain service level agreements of the transaction jobs. “According to further aspects of the invention, the Scheduling tool 45 is operable to invoke application job workload throttling whenever possible based on maintaining respective SLAs of current and pending processing jobs” [Dawson ¶ 66].
Spicer in view of Dawson fails to teach map the consumption comparison to a corresponding constraint level of a plurality of constraint levels; constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs.
However, Lee teaches:
map the consumption comparison to a corresponding constraint level of a plurality of constraint levels; “As another example, the threshold value (constraint level) may be a variation value that is set to a larger value as a load (consumption) of the apparatus for batch processing 100 increases” [Lee ¶ 120]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than (maps to) a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size” [Lee ¶ 168]. “The threshold value may be a predetermined fixed value or a changeable variation value that varies depending on a status … As another example, the threshold value may be a variation value that is set to a larger value as a load of the apparatus for batch processing 100 increases” [Lee ¶ 120].
constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size (constrain the batch jobs)” [Lee ¶ 168]. “However, as described above, the apparatus for batch processing 100 may process some transactions with the high priority individually without inserting them into the batch queue” [Lee ¶ 116]. “In addition, since the risk of failure of processing a batch transaction is greater than the risk of failure of processing individual transactions, it may be more advantageous to deactivate the batch processing function in status where the improvement of performance is not required” [Lee ¶ 143].
Lee is considered to be analogous to the claimed invention because it is in the same field of batch process management. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson to incorporate the teachings of Lee and include map the consumption comparison to a corresponding constraint level of a plurality of constraint levels; constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs. Doing so would allow for the system to decrease the chance of failure of batch processing. “According to the embodiment, it may be prevented that too much data is included in one batch transaction, and thus, the probability of failing to process a batch transaction may be decreased.” [Lee ¶ 120].
Spicer in view of Dawson in view of Lee fails to explicitly teach and defer and process the batch jobs using the base capacity without consuming the priority capacity.
However, Rajadeva teaches:
and defer and process the (lower-priority) batch jobs using the base capacity without consuming the priority capacity. “In another example, the system 200 may not have resources available to accommodate all workloads. The control plane 250 may identify a pod 246 is running a lower priority workload than the new workload, pause (defer) the pod 246, and use those resources to deploy the new workload” [Rajadeva ¶ 53]. “Displacing the BATLOW 160 may include, for example, pausing, stopping, or re-allocating (e.g., moving to a different host) the BATLOW 160 work load. For example, the BATLOW 160 workload may be paused and/or canceled to await re-deployment and the pod 140 will be allocated the component displaceable capacity 144 of the second subsystem 140” [Rajadeva ¶ 44]. “A workload may be considered displaceable only if a task awaiting resources is of a higher priority. For example, a workload with a moderate priority (e.g., a priority of 3) may be running on a host system; if a task with a low priority (e.g., a priority of 1) may be submitted to the system, the low priority task will wait for resources to become available whereas if a high priority task (e.g., a priority of 5) is submitted to the system, the moderate priority task may be paused such that the computational resources from the moderate priority task may be used for the high priority task” [Rajadeva ¶ 32].
Rajadeva is considered to be analogous to the claimed invention because it is in the same field of scheduling strategies for multiprogramming arrangements. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson in view of Lee to incorporate the teachings of Rajadeva and include and defer and process the batch jobs using the base capacity without consuming the priority capacity. Doing so would allow for further optimization in workload scheduling considering different workload priority levels. “The present disclosure considers the optimization of scheduling container workloads into nodes hosted in virtual environments with co-resident workloads of various levels of priority sharing the same computing resources. Such optimizations may provide insights into selecting an optimal node” [Rajadeva ¶ 20].
Regarding claim 2, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the computer program product of claim 1, as referenced above. Spicer further teaches:
wherein the at least one computing device includes at least one mainframe computing device, “A mainframe computing system comprising: a central processor complex; a plurality of billing entities…” [Spicer Claim 1].
and the subset of processors includes general purpose processors of a central processing complex of the at least one mainframe computing device, “Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer” [Spicer ¶ 78].
“a workload manager that schedules work requested by the plurality of billing entities on the central processor complex and tracks…” [Spicer Claim 1].
and remaining processors of the central processing complex include at least one special purpose processor. “Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer” [Spicer ¶ 78].
Regarding claim 6, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the computer program product of claim 1, as referenced above. Spicer further teaches wherein the instructions are further configured to cause the at least one computing device to: convert the rolling average to a consumption rate measured in millions of service units (MSUs) per hour. “To determine the MLC, the mainframe operating system generates monthly reports that determine the customer's system usage (in MSU s) during every hour of the previous month using a rolling average (e.g., a 4-hour rolling average) recorded by each billing entity for the customer. The hourly usage metrics are then aggregated together to derive the total monthly, hourly peak utilization for the customer, which is used to calculate the bill for the customer.” [Spicer ¶ 1].
Regarding claim 10, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the computer program product of claim 1, as referenced above. Spicer further teaches:
wherein the subset of processors includes general purpose processors of a central processing complex (CPC) of at least one mainframe computing device, “A mainframe computing system comprising: a central processor complex; a plurality of billing entities…” [Spicer Claim 1].
“Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer” [Spicer ¶ 78].
and remaining processors of the central processing complex include at least one special purpose processor, “Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer” [Spicer ¶ 78].
and further wherein the instructions are further configured to cause the at least one computing device to: query the CPC to determine the processor consumption. “…and a workload manager that schedules work requested by the plurality of billing entities on the central processor complex and tracks, by billing entity, a rolling average of millions of service units (MSUs)” [Spicer ¶ 3, Fig. 1].
Regarding claim 11, Spicer teaches:
A computer-implemented method, the method comprising: extracting processor consumption within a first time interval “The information provided by the workload managers may include a most recent rolling average. In some implementations, the rolling average is a 4-hour-rolling-average (4HRA). The 4HRA is a rolling average of LPAR CPU consumption in millions of service units” [Spicer ¶ 25]. “The rolling average 240 is obtained from a workload manager and represents a rolling average of CPU consumption in e.g., MSUs for the billing entity…In some implementations, the workload manager refreshes the rolling average at regular intervals, for example every 10 seconds or every minute” [Spicer ¶ 39].
by a subset of processors of a plurality of processors of at least one computing device, “…a mainframe computing system includes a central processor complex, a plurality of billing entities, a billing entity being a logical partition of the mainframe computing system or a group of logical partitions…” [Spicer ¶ 3 Examiner notes a logical partition (LPAR) is interpreted as a subset of the computing system resources including processors and thus, the billing entities are interpreted to encompass a plurality of processors].
the subset of processors providing a base capacity and a priority capacity; “The dynamic capping policy may include, for each billing entity identified in the policy, information from which to determine a millions of service unit (MSU) entitlement value and a cost entitlement value” [Spicer ¶ 4]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35]. “If low-importance work is not to be considered (705, No) the billing entity with the highest priority is selected from among the candidate entities. The priority may be assigned to each LPAR by the customer as part of the dynamic capping policy. Thus, the customer may adjust the effects of the policy by changing the priorities assigned to the billing entities in the dynamic capping policy. If only one entity has the highest priority (725, No), process 700 ends, having selected a favored entity” [Spicer ¶ 63 Examiner notes the MSU entitlement assigned to an LPAR of high priority is considered priority capacity]. “In this manner, the system provides extra MSUs to favored billing entities (e.g., LPARs or capacity groups) ahead of non-favored entities, ensuring maximum high importance throughput for the lowest possible cost, e.g., represented by the maximum MSU limit and the cost limit set by the customer in the dynamic capping policy” [Spicer ¶ 57 Examiner notes the MSU entitlement assigned to a non-favored LPAR is considered the base capacity].
updating, based on the processor consumption, a rolling average of processor consumption of the subset of processors over a second time interval; “In some implementations, the rolling average is a 4-hour-rolling-average (4HRA). The 4HRA is a rolling average of LPAR CPU consumption in millions of service units. A service unit is a measure of CPU capacity (e.g., processing time)” [Spicer ¶ 25].
Converting the rolling average to a consumption rate; “To determine the MLC, the mainframe operating system generates monthly reports that determine the customer's system usage (in MSU s) during every hour of the previous month using a rolling average (e.g., a 4-hour rolling average) recorded by each billing entity for the customer. The hourly usage metrics are then aggregated together to derive the total monthly, hourly peak utilization for the customer, which is used to calculate the bill for the customer.” [Spicer ¶ 1].
determining a consumption comparison of the consumption rate to the base capacity; “The system may determine whether the rolling average (consumption rate), as reported from a workload manager, for the selected billing entity is less than the entitlement value for the billing entity (405)” [Spicer ¶ 44]. “The system may repeat steps 405 to 420 for each billing entity identified in the dynamic capping policy (425, Yes). When all billing entities have been added to the entity pool or contributed to the service unit pool and cost pool (425, No), process 400 ends” [Spicer ¶ 46 Examiner notes when the comparison is made for a non-favored LPAR it is a comparison of the consumption rate to the base capacity].
allocating a workload of the at least one computing device using the subset of processors, based on the consumption comparison “The workload manager allocates processing time and other resources to work requested by application programs. In other words, the workload manager manages the scheduling of requested work on the physical processors… The workload manager uses a customer-defined workload service policy, e.g., stored in WLM policy files 146, to associate each request for work with a service class period and an importance level” [Spicer ¶ 23]. “The system may adjust the capacity limit of the favored entity using the service unit pool and cost pool (510). For example, the system may find the difference between the rolling average for the favored entity and the entitlement value of the favored entity (e.g., 4HRA-entitlement)” [Spicer ¶ 51].
…preserve the priority capacity for use by transactional jobs; “For example, if a first billing entity runs high importance work or runs a high-transaction work, the customer may decide that it is entitled to more MSUs than other billing entities” [Spicer ¶ 34].
Spicer fails to explicitly teach by constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; processing the transactional jobs using the priority capacity; deferring and processing the batch jobs.
Spicer teaches processing the transactional jobs using the (assigned) priority capacity; “The workload service policy enables the customer to assign work, e.g., batch jobs, online transactions, etc., with a service class, a service class period, an importance level, and an LPAR” [ Spicer ¶ 23]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35]. “For example, if a first billing entity runs high importance work or runs a high-transaction work, the customer may decide that it is entitled to more MSUs than other billing entities” [Spicer ¶ 3]. Spicer fails to explicitly teach that the transactional jobs are given a priority capacity.
However, Dawson teaches processing the transactional jobs using the priority capacity. “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66 Examiner notes the transactional jobs are considered to have priority in that the batch jobs are lower priority].
Dawson further teaches:
by constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
and deferring and processing the batch jobs “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer to incorporate the teachings of Dawson and include constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; processing the transactional jobs using the priority capacity; deferring and processing the batch jobs. Doing so would allow for the system to maintain service level agreements of the transaction jobs. “According to further aspects of the invention, the Scheduling tool 45 is operable to invoke application job workload throttling whenever possible based on maintaining respective SLAs of current and pending processing jobs” [Dawson ¶ 66].
Spicer in view of Dawson fails to teach mapping the consumption comparison to a corresponding constraint level of a plurality of constraint levels; constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs.
However, Lee teaches:
mapping the consumption comparison to a corresponding constraint level of a plurality of constraint levels; “As another example, the threshold value (constraint level) may be a variation value that is set to a larger value as a load (consumption) of the apparatus for batch processing 100 increases” [Lee ¶ 120]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than (maps to) a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size” [Lee ¶ 168]. “The threshold value may be a predetermined fixed value or a changeable variation value that varies depending on a status … As another example, the threshold value may be a variation value that is set to a larger value as a load of the apparatus for batch processing 100 increases” [Lee ¶ 120].
constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size (constrain the batch jobs)” [Lee ¶ 168]. “However, as described above, the apparatus for batch processing 100 may process some transactions with the high priority individually without inserting them into the batch queue” [Lee ¶ 116]. “In addition, since the risk of failure of processing a batch transaction is greater than the risk of failure of processing individual transactions, it may be more advantageous to deactivate the batch processing function in status where the improvement of performance is not required” [Lee ¶ 143].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson to incorporate the teachings of Lee and include mapping the consumption comparison to a corresponding constraint level of a plurality of constraint levels; constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs. Doing so would allow for the system to decrease the chance of failure of batch processing. “According to the embodiment, it may be prevented that too much data is included in one batch transaction, and thus, the probability of failing to process a batch transaction may be decreased.” [Lee ¶ 120].
Spicer in view of Dawson in view of Lee fails to explicitly teach and defer and process the batch jobs using the base capacity without consuming the priority capacity.
However, Rajadeva teaches:
and deferring and processing the (lower-priority) batch jobs using the base capacity without consuming the priority capacity. “In another example, the system 200 may not have resources available to accommodate all workloads. The control plane 250 may identify a pod 246 is running a lower priority workload than the new workload, pause (defer) the pod 246, and use those resources to deploy the new workload” [Rajadeva ¶ 53]. “Displacing the BATLOW 160 may include, for example, pausing, stopping, or re-allocating (e.g., moving to a different host) the BATLOW 160 work load. For example, the BATLOW 160 workload may be paused and/or canceled to await re-deployment and the pod 140 will be allocated the component displaceable capacity 144 of the second subsystem 140” [Rajadeva ¶ 44]. “A workload may be considered displaceable only if a task awaiting resources is of a higher priority. For example, a workload with a moderate priority (e.g., a priority of 3) may be running on a host system; if a task with a low priority (e.g., a priority of 1) may be submitted to the system, the low priority task will wait for resources to become available whereas if a high priority task (e.g., a priority of 5) is submitted to the system, the moderate priority task may be paused such that the computational resources from the moderate priority task may be used for the high priority task” [Rajadeva ¶ 32].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson in view of Lee to incorporate the teachings of Rajadeva and include and deferring and processing the batch jobs using the base capacity without consuming the priority capacity. Doing so would allow for further optimization in workload scheduling considering different workload priority levels. “The present disclosure considers the optimization of scheduling container workloads into nodes hosted in virtual environments with co-resident workloads of various levels of priority sharing the same computing resources. Such optimizations may provide insights into selecting an optimal node” [Rajadeva ¶ 20].
Regarding claim 12, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the method of claim 11, as referenced above. Spicer further teaches:
wherein the subset of processors includes general purpose processors “Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer” [Spicer ¶ 78].
of a central processing complex of a mainframe system, “A mainframe computing system comprising: a central processor complex; a plurality of billing entities…” [Spicer Claim 1].
and remaining processors of the central processing complex include at least one special purpose processor. “Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer” [Spicer ¶ 78].
Regarding claim 17, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the method of claim 11, as referenced above. Spicer further teaches:
wherein the subset of processors includes general purpose processors of a central processing complex (CPC) of at least one mainframe computing device, “A mainframe computing system comprising: a central processor complex; a plurality of billing entities…” [Spicer Claim 1]. “Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer” [Spicer ¶ 78].
and remaining processors of the central processing complex include at least one special purpose processor, “Processors suitable for the processing of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer” [Spicer ¶ 78].
the method further comprising: querying the CPC to determine the processor consumption. “…and a workload manager that schedules work requested by the plurality of billing entities on the central processor complex and tracks, by billing entity, a rolling average of millions of service units (MSUs)” [Spicer ¶ 3, Fig. 1].
Regarding claim 18, Spicer teaches:
A mainframe system comprising: at least one memory including instructions; and at least one processor that is operably coupled to the at least one memory and that is arranged and configured to execute instructions that, when executed, cause the at least one processor to: “Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. Elements of a computer may include at least one processor for executing instructions and one or more memory devices for storing instructions and data.” [Spicer ¶ 78].
extract processor consumption within a first time interval “The information provided by the workload managers may include a most recent rolling average. In some implementations, the rolling average is a 4-hour-rolling-average (4HRA). The 4HRA is a rolling average of LPAR CPU consumption in millions of service units” [Spicer ¶ 25]. “The rolling average 240 is obtained from a workload manager and represents a rolling average of CPU consumption in e.g., MSUs for the billing entity…In some implementations, the workload manager refreshes the rolling average at regular intervals, for example every 10 seconds or every minute” [Spicer ¶ 39].
by a subset of processors of a plurality of processors of the mainframe system, “…a mainframe computing system includes a central processor complex, a plurality of billing entities, a billing entity being a logical partition of the mainframe computing system or a group of logical partitions…” [Spicer ¶ 3 Examiner notes a logical partition (LPAR) is interpreted as a subset of the computing system resources including processors and thus, the billing entities are interpreted to encompass a plurality of processors].
the subset of processors providing a base capacity and a priority capacity; “The dynamic capping policy may include, for each billing entity identified in the policy, information from which to determine a millions of service unit (MSU) entitlement value and a cost entitlement value” [Spicer ¶ 4]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35]. “If low-importance work is not to be considered (705, No) the billing entity with the highest priority is selected from among the candidate entities. The priority may be assigned to each LPAR by the customer as part of the dynamic capping policy. Thus, the customer may adjust the effects of the policy by changing the priorities assigned to the billing entities in the dynamic capping policy. If only one entity has the highest priority (725, No), process 700 ends, having selected a favored entity” [Spicer ¶ 63 Examiner notes the MSU entitlement assigned to an LPAR of high priority is considered priority capacity]. “In this manner, the system provides extra MSUs to favored billing entities (e.g., LPARs or capacity groups) ahead of non-favored entities, ensuring maximum high importance throughput for the lowest possible cost, e.g., represented by the maximum MSU limit and the cost limit set by the customer in the dynamic capping policy” [Spicer ¶ 57 Examiner notes the MSU entitlement assigned to a non-favored LPAR is considered the base capacity].
update, based on the processor consumption, a rolling average of processor consumption of the subset of processors over a second time interval; “In some implementations, the rolling average is a 4-hour-rolling-average (4HRA). The 4HRA is a rolling average of LPAR CPU consumption in millions of service units. A service unit is a measure of CPU capacity (e.g., processing time)” [Spicer ¶ 25].
convert the rolling average to a consumption rate; “To determine the MLC, the mainframe operating system generates monthly reports that determine the customer's system usage (in MSU s) during every hour of the previous month using a rolling average (e.g., a 4-hour rolling average) recorded by each billing entity for the customer. The hourly usage metrics are then aggregated together to derive the total monthly, hourly peak utilization for the customer, which is used to calculate the bill for the customer.” [Spicer ¶ 1].
determine a consumption comparison of the consumption rate to the base capacity; “The system may determine whether the rolling average (consumption rate), as reported from a workload manager, for the selected billing entity is less than the entitlement value for the billing entity (405)” [Spicer ¶ 44]. “The system may repeat steps 405 to 420 for each billing entity identified in the dynamic capping policy (425, Yes). When all billing entities have been added to the entity pool or contributed to the service unit pool and cost pool (425, No), process 400 ends” [Spicer ¶ 46 Examiner notes when the comparison is made for a non-favored LPAR it is a comparison of the consumption rate to the base capacity].
allocate a workload of the at least one computing device using the subset of processors, based on the consumption comparison “The workload manager allocates processing time and other resources to work requested by application programs. In other words, the workload manager manages the scheduling of requested work on the physical processors… The workload manager uses a customer-defined workload service policy, e.g., stored in WLM policy files 146, to associate each request for work with a service class period and an importance level” [Spicer ¶ 23]. “The system may adjust the capacity limit of the favored entity using the service unit pool and cost pool (510). For example, the system may find the difference between the rolling average for the favored entity and the entitlement value of the favored entity (e.g., 4HRA-entitlement)” [Spicer ¶ 51].
…preserve the priority capacity for use by transactional jobs; “For example, if a first billing entity runs high importance work or runs a high-transaction work, the customer may decide that it is entitled to more MSUs than other billing entities” [Spicer ¶ 34].
Spicer fails to explicitly teach by constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; and process the transactional jobs using the priority capacity; and defer and process the batch jobs.
Spicer teaches process the transactional jobs using the (assigned) priority capacity; “The workload service policy enables the customer to assign work, e.g., batch jobs, online transactions, etc., with a service class, a service class period, an importance level, and an LPAR” [ Spicer ¶ 23]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35]. “For example, if a first billing entity runs high importance work or runs a high-transaction work, the customer may decide that it is entitled to more MSUs than other billing entities” [Spicer ¶ 3]. Spicer fails to explicitly teach that the transactional jobs are given a priority capacity.
However, Dawson teaches process the transactional jobs using the priority capacity. “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66 Examiner notes the transactional jobs are considered to have priority in that the batch jobs are lower priority].
Dawson further teaches:
by constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
and defer and process the batch jobs “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer to incorporate the teachings of Dawson and include constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; and process the transactional jobs using the priority capacity; and defer and process the batch jobs. Doing so would allow for the system to maintain service level agreements of the transaction jobs. “According to further aspects of the invention, the Scheduling tool 45 is operable to invoke application job workload throttling whenever possible based on maintaining respective SLAs of current and pending processing jobs” [Dawson ¶ 66].
Spicer in view of Dawson fails to teach map the consumption comparison to a corresponding constraint level of a plurality of constraint levels; constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs.
However, Lee teaches:
map the consumption comparison to a corresponding constraint level of a plurality of constraint levels; “As another example, the threshold value (constraint level) may be a variation value that is set to a larger value as a load (consumption) of the apparatus for batch processing 100 increases” [Lee ¶ 120]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than (maps to) a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size” [Lee ¶ 168]. “The threshold value may be a predetermined fixed value or a changeable variation value that varies depending on a status … As another example, the threshold value may be a variation value that is set to a larger value as a load of the apparatus for batch processing 100 increases” [Lee ¶ 120].
constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs; “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size (constrain the batch jobs)” [Lee ¶ 168]. “However, as described above, the apparatus for batch processing 100 may process some transactions with the high priority individually without inserting them into the batch queue” [Lee ¶ 116]. “In addition, since the risk of failure of processing a batch transaction is greater than the risk of failure of processing individual transactions, it may be more advantageous to deactivate the batch processing function in status where the improvement of performance is not required” [Lee ¶ 143].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson to incorporate the teachings of Lee and include map the consumption comparison to a corresponding constraint level of a plurality of constraint levels; constraining batch jobs based on the corresponding constraint level to preserve the priority capacity for use by transactional jobs. Doing so would allow for the system to decrease the chance of failure of batch processing. “According to the embodiment, it may be prevented that too much data is included in one batch transaction, and thus, the probability of failing to process a batch transaction may be decreased.” [Lee ¶ 120].
Spicer in view of Dawson in view of Lee fails to explicitly teach and defer and process the batch jobs using the base capacity without consuming the priority capacity.
However, Rajadeva teaches:
and defer and process the (lower-priority) batch jobs using the base capacity without consuming the priority capacity. “In another example, the system 200 may not have resources available to accommodate all workloads. The control plane 250 may identify a pod 246 is running a lower priority workload than the new workload, pause (defer) the pod 246, and use those resources to deploy the new workload” [Rajadeva ¶ 53]. “Displacing the BATLOW 160 may include, for example, pausing, stopping, or re-allocating (e.g., moving to a different host) the BATLOW 160 work load. For example, the BATLOW 160 workload may be paused and/or canceled to await re-deployment and the pod 140 will be allocated the component displaceable capacity 144 of the second subsystem 140” [Rajadeva ¶ 44]. “A workload may be considered displaceable only if a task awaiting resources is of a higher priority. For example, a workload with a moderate priority (e.g., a priority of 3) may be running on a host system; if a task with a low priority (e.g., a priority of 1) may be submitted to the system, the low priority task will wait for resources to become available whereas if a high priority task (e.g., a priority of 5) is submitted to the system, the moderate priority task may be paused such that the computational resources from the moderate priority task may be used for the high priority task” [Rajadeva ¶ 32].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson in view of Lee to incorporate the teachings of Rajadeva and include and defer and process the batch jobs using the base capacity without consuming the priority capacity. Doing so would allow for further optimization in workload scheduling considering different workload priority levels. “The present disclosure considers the optimization of scheduling container workloads into nodes hosted in virtual environments with co-resident workloads of various levels of priority sharing the same computing resources. Such optimizations may provide insights into selecting an optimal node” [Rajadeva ¶ 20].
Regarding claim 21, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the computer program product of claim 1, as referenced above. Spicer in view of Dawson fails to teach wherein the plurality of constraint levels are used to gradually phase in and phase out the constraining of the batch jobs over a period of time.
However, Lee teaches wherein the plurality of constraint levels are used to gradually phase in and phase out the constraining of the batch jobs over a period of time. “As another example, the threshold value (constraint level) may be a variation value that is set to a larger value as a load of the apparatus for batch processing 100 increases” [Lee ¶ 120]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value (phase out) of the batch size. On the contrary, in response to determining that the load is greater than or equal to the threshold value, the apparatus for batch processing 100 may increase the setting value (phase in) of the batch size” [Lee ¶ 168].
Regarding claim 22, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the computer program product of claim 1, as referenced above. Spicer fails to teach wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs.
However, Dawson teaches wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs. “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
In addition, Lee teaches wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs. “Here, the batch size is a parameter that regulates the number of individual transactions included in the batch transaction” [Lee ¶ 143]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size” [Lee ¶ 168].
Regarding claim 24, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the method of claim 11, as referenced above. Spicer in view of Dawson fails to teach wherein the plurality of constraint levels are used to gradually phase in and phase out the constraining of the batch jobs over a period of time.
However, Lee teaches wherein the plurality of constraint levels are used to gradually phase in and phase out the constraining of the batch jobs over a period of time. “As another example, the threshold value (constraint level) may be a variation value that is set to a larger value as a load of the apparatus for batch processing 100 increases” [Lee ¶ 120]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value (phase out) of the batch size. On the contrary, in response to determining that the load is greater than or equal to the threshold value, the apparatus for batch processing 100 may increase the setting value (phase in) of the batch size” [Lee ¶ 168].
Regarding claim 25, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the method of claim 11, as referenced above. Spicer fails to teach wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs.
However, Dawson teaches wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs. “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
In addition, Lee teaches wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs. “Here, the batch size is a parameter that regulates the number of individual transactions included in the batch transaction” [Lee ¶ 143]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size” [Lee ¶ 168].
Regarding claim 27, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the mainframe system of claim 18, as referenced above. Spicer in view of Dawson fails to teach wherein the plurality of constraint levels are used to gradually phase in and phase out the constraining of the batch jobs over a period of time.
However, Lee teaches wherein the plurality of constraint levels are used to gradually phase in and phase out the constraining of the batch jobs over a period of time. “As another example, the threshold value (constraint level) may be a variation value that is set to a larger value as a load of the apparatus for batch processing 100 increases” [Lee ¶ 120]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value (phase out) of the batch size. On the contrary, in response to determining that the load is greater than or equal to the threshold value, the apparatus for batch processing 100 may increase the setting value (phase in) of the batch size” [Lee ¶ 168].
Regarding claim 28, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the mainframe system of claim 18, as referenced above. Spicer fails to teach wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs.
However, Dawson teaches wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs. “Additionally, for example, if the EA tool 35 determines a transaction job (e.g., an OLAP/OLTP job) is above some critical level, e.g., a given transaction processing job is running at 70% of capacity and it typically only runs around 40% capacity (e.g., as determined by the HA tool 30), the scheduling tool 45 may delay a lower priority batch job until the transaction job drops below a predefined level” [Dawson ¶ 66].
In addition, Lee teaches wherein constraining the batch jobs comprises at least one of: delaying the batch jobs to a later time, reducing access to processor resources for the batch jobs, or limiting a number of jobs in execution for the batch jobs. “Here, the batch size is a parameter that regulates the number of individual transactions included in the batch transaction” [Lee ¶ 143]. “In the fifth embodiment, in response to determining that a load (e.g. a CPU utilization) of the apparatus for batch processing 100 is less than a threshold value, the apparatus for batch processing 100 may deactivate the batch processing function or decrease the setting value of the batch size” [Lee ¶ 168].
Claims 3 and 13, are rejected under 35 U.S.C. 103 as being unpatentable over Spicer (US 2017/0063561 A1) in view of Dawson (US 2010/0313203 A1) in view of Lee (US 2020/0125391 A1) in view of Rajadeva (US 2023/0102654 A1) in view of Groetzner (US 2008/0082983 A1).
Regarding claim 3, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the computer program product of claim 2, as referenced above. Spicer further teaches:
wherein the instructions are further configured to cause the at least one computing device to: determine total processor consumption of the central processing complex; and “a dynamic capping master that monitors and adjusts the respective capacity limits of the subset of the plurality of billing entities, wherein the workload manager schedules work within the respective capacity limits so that the central processor complex executes the work without exceeding the maximum cost limit and the MSU limit…” [Spicer Claim 1 Examiner notes that the total processor consumption of the central processing complex must be determined in order to determine that it has not exceeded the MSU limit].
Spicer in view of Dawson in view of Lee in view of Rajadeva fails to explicitly teach extract the processor consumption by the general purpose processors from the total processor consumption.
However, Groetzner teaches extract the processor consumption by the general purpose processors from the total processor consumption. “…a workload manager usually offers a monitoring interface that provides data describing the activity of workloads such as resource consumption, performance indicators, and reasons why work was delayed” [Groetzner ¶ 11]. “In step 200, capacity provisioning manager 5 monitors the information provided by the workload manager 3” [Groetzner ¶ 64] “The provisioning manager checks first whether the operating system could consume additional processors in step 500…Then the physical utilization of the currently active zIIP processors is checked in step 520…The method is similarly applicable to regular processors (i.e. CPs), by replacing check 550” [Groetzner ¶ 66 Examiner notes checking whether the system could consume additional processors is interpreted to encompass checking the total processor consumption].
Groetzner is considered to be analogous to the claimed invention because it is in the same field of resource provisioning. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson in view of Lee in view of Rajadeva to incorporate the teachings of Groetzner and include extracting the processor consumption by the general purpose processors from the total processor consumption. Doing so would allow for the system to identify the types of resources which provisioning would be most beneficial. “By determining the types of missing resources, it is provided that a potential activation of additional resources is directed towards such resources that are appropriate for relieving the workload suffering (i.e., that remove the bottleneck)” [Groetzner ¶ 20].
Regarding claim 13, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the method of claim 12, as referenced above. Spicer further teaches:
further comprising: determining total processor consumption of the central processing complex; and a dynamic capping master that monitors and adjusts the respective capacity limits of the subset of the plurality of billing entities, wherein the workload manager schedules work within the respective capacity limits so that the central processor complex executes the work without exceeding the maximum cost limit and the MSU limit…” [Spicer Claim 1 Examiner notes that the total processor consumption of the central processing complex must be determined in order to determine that it has not exceeded the MSU limit].
Spicer in view of Dawson in view of Lee in view of Rajadeva fails to explicitly teach extracting the processor consumption by the general purpose processors from the total processor consumption.
However, Groetzner teaches extracting the processor consumption by the general purpose processors from the total processor consumption. “…a workload manager usually offers a monitoring interface that provides data describing the activity of workloads such as resource consumption, performance indicators, and reasons why work was delayed” [Groetzner ¶ 11]. “In step 200, capacity provisioning manager 5 monitors the information provided by the workload manager 3” [Groetzner ¶ 64] “The provisioning manager checks first whether the operating system could consume additional processors in step 500…Then the physical utilization of the currently active zIIP processors is checked in step 520…The method is similarly applicable to regular processors (i.e. CPs), by replacing check 550” [Groetzner ¶ 66 Examiner notes checking whether the system could consume additional processors is interpreted to encompass checking the total processor consumption].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson in view of Lee in view of Rajadeva to incorporate the teachings of Groetzner and include extracting the processor consumption by the general purpose processors from the total processor consumption. Doing so would allow for the system to identify the types of resources which provisioning would be most beneficial. “By determining the types of missing resources, it is provided that a potential activation of additional resources is directed towards such resources that are appropriate for relieving the workload suffering (i.e., that remove the bottleneck)” [Groetzner ¶ 20].
Claim 4 is rejected under 35 U.S.C. 103 as being unpatentable over Spicer (US 2017/0063561 A1) in view of Dawson (US 2010/0313203 A1) in view of Lee (US 2020/0125391 A1) in view of Rajadeva (US 2023/0102654 A1) in view of Vaz (US 2023/0185635 A1).
Regarding claim 4, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the computer program product of claim 1, as referenced above. Spicer further teaches wherein the instructions are further configured to cause the at least one computing device to: determine the processor consumption… within the first time interval. “The information provided by the workload managers may include a most recent rolling average. In some implementations, the rolling average is a 4-hour-rolling-average (4HRA). The 4HRA is a rolling average of LPAR CPU consumption in millions of service units” [Spicer ¶ 25]. “In some implementations, the workload manager refreshes the rolling average at regular intervals, for example every 10 seconds or every minute.” [Spicer ¶ 39].
Spicer in view of Dawson in view of Lee in view of Rajadeva fails to teach the processor consumption in microseconds of processor cycles used within the first time interval.
However, Vaz teaches the processor consumption in microseconds of processor cycles used. “a timeline 125 (e.g., time in microseconds, seconds, or another time value corresponding to time between cycles for a processor or processes)” [Vaz ¶ 55].
The claimed invention is directed to a product which determines the processor consumption in microseconds of processor cycles used within the first time interval. The system of Spicer determines the processor consumption in millions of service units used within the first time interval. Spicer’s system differs from the claimed invention by measuring the processor consumption in millions of service units rather than in microseconds of processor cycles. The system of Vaz teaches measuring processor utilization in microseconds of processor cycles. Thus, it would have been obvious to one of ordinary skill in the art to make a simple substitution of the prior art unit of measurement with another unit of measurement known to measure processor use, because one of ordinary skill in the art would have been able to carry out such a substitution and the results were reasonably predicable in that the calculation would merely express the consumption on a microsecond time scale, instead of a larger timescale, but would still represent processor consumption and thus achieve the same functionality.
Claim 5, is rejected under 35 U.S.C. 103 as being unpatentable over Spicer (US 2017/0063561 A1) in view of Dawson (US 2010/0313203 A1) in view of Lee (US 2020/0125391 A1) in view of Rajadeva (US 2023/0102654 A1) in view of Vaz (US 2023/0185635 A1) In view of Gottlieb (US 11,392,421 B1).
Regarding claim 5, Spicer in view of Dawson in view of Lee in view of Rajadeva in view of Vaz teaches the computer program product of claim 4, as referenced above. Spicer further teaches:
wherein the instructions are further configured to cause the at least one computing device to: add the processor consumption…used within the first time interval to previously-obtained processor consumption…during preceding increments of the first time interval “In some implementations, the rolling average is a 4-hour-rolling-average (4HRA). The 4HRA is a rolling average of LPAR CPU consumption in millions of service units. A service unit is a measure of CPU capacity (e.g., processing time)” [Spicer ¶ 25]. “In some implementations, the workload manager refreshes the rolling average at regular intervals, for example every 10 seconds or every minute.” [Spicer ¶ 39 Examiner notes that the processor consumption within the first time interval is added to the previously obtained consumption during preceding increments when the rolling average is refreshed].
Spicer in view of Dawson in view of Lee in view of Rajadeva fails to teach the processor consumption in microseconds of processor cycles.
However, Vaz teaches the processor consumption in microseconds of processor cycles “a timeline 125 ( e.g., time in microseconds, seconds, or another time value corresponding to time between cycles for a processor or processes)” [Vaz ¶ 55].
Spicer in view of Dawson in view of Lee in view of Rajadeva in view of Vaz fail to explicitly teach and normalize processor consumption across the preceding increments of the first time interval and the first time interval to obtain the rolling average over the second time interval.
However, Gottlieb teaches and normalize processor consumption across the preceding increments of the first time interval and the first time interval to obtain the rolling average over the second time interval. “In a non-limiting contextual example, incremental normalized program resource per estimation units are determined and/or programmatically generated for n sprint development units and the normalized program resource per estimation unit for the program development unit is generated as an average of the aggregation of such n incremental normalized program resource per estimation units ( e.g., a rolling average)” [Gottlieb Col. 19 Lines 33-40].
The claimed invention is directed to a product which normalizes processor consumption across the preceding increments of the first time interval and the first time interval to obtain the rolling average over the second time interval. The system of Spicer explicitly obtains the rolling average over the second time interval using the processor consumption across the preceding increments of the first time interval and the first time interval. However, Spicer’s system differs from the claimed invention in that it does not explicitly disclose using normalization to do so. This use of normalization is commonly known in the art. The system of Gottlieb teaches calculating a rolling average through the normalization of resources across different increments of time. Thus, it would have been obvious to one of ordinary skill in the art to make a simple substitution of the rolling average calculation of in view of Rajadeva in view of Dawson in view of Vaz with another rolling average calculation, because one of ordinary skill in the art would have been able to carry out such a substitution and the results were reasonably predicable in that the calculation of the rolling average would be done using normalization rather than an undisclosed method, but would achieve the same value of the rolling average and thus the same results.
Claims 23, 26, and 29 are rejected under 35 U.S.C. 103 as being unpatentable over Spicer (US 2017/0063561 A1) in view of Dawson (US 2010/0313203 A1) in view of Lee (US 2020/0125391 A1) in view of Rajadeva (US 2023/0102654 A1) in view of Glass (US 2021/0141704 A1).
Regarding claim 23, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the computer program product of claim 1, as referenced above. Spicer further teaches:
wherein the base capacity comprises a permanent capacity “The dynamic capping policy may include, for each billing entity identified in the policy, information from which to determine a millions of service unit (MSU) entitlement value and a cost entitlement value” [Spicer ¶ 4]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35].
and a flexible capacity, “Thus, the billing entities in the entity pool are looking for additional MSUs to borrow. The service unit pool represents extra MSU capacity from entities that have not reached their MSU entitlement values. In other words, if the rolling average for a billing entity is under the MSU entitlement value for the billing entity, the billing entity can share excess MSUs with another entity. The service unit pool represents the excess MSUs of all such billing entities covered by the dynamic capping policy” [Spicer ¶ 42].
the flexible capacity being allocated among a plurality of different physical locations.
“A billing entity may be an LPAR or a capacity group. An LPAR is a logical segmentation of a mainframe's memory and other resources that allows the LPAR to run its own copy of an operating system and associated applications, making the LPAR, in practice, equivalent to a separate mainframe. Accordingly, processing may be billed separately for each LPAR … In some implementations, computing device 105 may represent one or more SYSPLEXes. A SYSPLEX is a collection of LPARs that cooperate to process work. The LPARs in a SYSPLEX may communicate with a specialized communications component (e.g., XCF). The LPARs in a SYSPLEX need not be located on the same physical device” [Spicer ¶ 21].
Spicer in view of Dawson in view of Lee in view of Rajadeva fails to explicitly teach the flexible capacity being allocated among a plurality of different physical locations.
However, Glass teaches the flexible capacity being allocated among a plurality of different physical locations. “In certain embodiments, tasks may be more evenly distributed amongst a plurality of mainframes within an organization, to lower the potential "peak" usage levels of one or more mainframes” [Glass ¶ 17]. “In accordance with another embodiment, peak MSU consumption of one or more mainframes may be reduced by dynamically shifting work to other mainframes based on time or priority (or both), and/or redirecting execution of particular tasks to a third-party mainframe” [Glass ¶ 18]. “In other embodiments, source mainframe(s) 120 and target mainframe(s) 130 may be located in different facilities managed by the same enterprise, either on the same campus or geographically separated over great distances (e.g., different cities, states or countries) thus requiring network communication with or without using a public network” [Glass ¶ 20].
Glass is considered to be analogous to the claimed invention because it is in the same field of transfer of tasks. Therefore, it would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson in view of Lee in view of Rajadeva to incorporate the teachings of Glass and include that the flexible capacity being allocated among a plurality of different physical locations. Doing so would allow for cost savings when operating mainframes while maintaining performance. “The systems, apparatuses, methods, and computer program products of the disclosed embodiments provide the Information Technology (IT) leaders the ability to reduce the cost of operating a mainframe(s) while maintaining performance” [Glass ¶ 18].
Regarding claim 26, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the method of claim 11, as referenced above. Spicer further teaches:
wherein the base capacity comprises a permanent capacity “The dynamic capping policy may include, for each billing entity identified in the policy, information from which to determine a millions of service unit (MSU) entitlement value and a cost entitlement value” [Spicer ¶ 4]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35].
and a flexible capacity, “Thus, the billing entities in the entity pool are looking for additional MSUs to borrow. The service unit pool represents extra MSU capacity from entities that have not reached their MSU entitlement values. In other words, if the rolling average for a billing entity is under the MSU entitlement value for the billing entity, the billing entity can share excess MSUs with another entity. The service unit pool represents the excess MSUs of all such billing entities covered by the dynamic capping policy” [Spicer ¶ 42].
the flexible capacity being allocated among a plurality of different physical locations.
“A billing entity may be an LPAR or a capacity group. An LPAR is a logical segmentation of a mainframe's memory and other resources that allows the LPAR to run its own copy of an operating system and associated applications, making the LPAR, in practice, equivalent to a separate mainframe. Accordingly, processing may be billed separately for each LPAR … In some implementations, computing device 105 may represent one or more SYSPLEXes. A SYSPLEX is a collection of LPARs that cooperate to process work. The LPARs in a SYSPLEX may communicate with a specialized communications component (e.g., XCF). The LPARs in a SYSPLEX need not be located on the same physical device” [Spicer ¶ 21].
Spicer in view of Dawson in view of Lee in view of Rajadeva fails to explicitly teach the flexible capacity being allocated among a plurality of different physical locations.
However, Glass teaches the flexible capacity being allocated among a plurality of different physical locations. “In certain embodiments, tasks may be more evenly distributed amongst a plurality of mainframes within an organization, to lower the potential "peak" usage levels of one or more mainframes” [Glass ¶ 17]. “In accordance with another embodiment, peak MSU consumption of one or more mainframes may be reduced by dynamically shifting work to other mainframes based on time or priority (or both), and/or redirecting execution of particular tasks to a third-party mainframe” [Glass ¶ 18]. “In other embodiments, source mainframe(s) 120 and target mainframe(s) 130 may be located in different facilities managed by the same enterprise, either on the same campus or geographically separated over great distances (e.g., different cities, states or countries) thus requiring network communication with or without using a public network” [Glass ¶ 20].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson in view of Lee in view of Rajadeva to incorporate the teachings of Glass and include that the flexible capacity being allocated among a plurality of different physical locations. Doing so would allow for cost savings when operating mainframes while maintaining performance. “The systems, apparatuses, methods, and computer program products of the disclosed embodiments provide the Information Technology (IT) leaders the ability to reduce the cost of operating a mainframe(s) while maintaining performance” [Glass ¶ 18].
Regarding claim 29, Spicer in view of Dawson in view of Lee in view of Rajadeva teaches the mainframe system of claim 18, as referenced above. Spicer further teaches:
wherein the base capacity comprises a permanent capacity “The dynamic capping policy may include, for each billing entity identified in the policy, information from which to determine a millions of service unit (MSU) entitlement value and a cost entitlement value” [Spicer ¶ 4]. “The entitlement represents the maximum rolling average that a billing entity is entitled to, e.g., the number of MSUs that a billing entity may have as a rolling average without having to share MSUs” [Spicer ¶ 35].
and a flexible capacity, “Thus, the billing entities in the entity pool are looking for additional MSUs to borrow. The service unit pool represents extra MSU capacity from entities that have not reached their MSU entitlement values. In other words, if the rolling average for a billing entity is under the MSU entitlement value for the billing entity, the billing entity can share excess MSUs with another entity. The service unit pool represents the excess MSUs of all such billing entities covered by the dynamic capping policy” [Spicer ¶ 42].
the flexible capacity being allocated among a plurality of different physical locations.
“A billing entity may be an LPAR or a capacity group. An LPAR is a logical segmentation of a mainframe's memory and other resources that allows the LPAR to run its own copy of an operating system and associated applications, making the LPAR, in practice, equivalent to a separate mainframe. Accordingly, processing may be billed separately for each LPAR … In some implementations, computing device 105 may represent one or more SYSPLEXes. A SYSPLEX is a collection of LPARs that cooperate to process work. The LPARs in a SYSPLEX may communicate with a specialized communications component (e.g., XCF). The LPARs in a SYSPLEX need not be located on the same physical device” [Spicer ¶ 21].
Spicer in view of Dawson in view of Lee in view of Rajadeva fails to explicitly teach the flexible capacity being allocated among a plurality of different physical locations.
However, Glass teaches the flexible capacity being allocated among a plurality of different physical locations. “In certain embodiments, tasks may be more evenly distributed amongst a plurality of mainframes within an organization, to lower the potential "peak" usage levels of one or more mainframes” [Glass ¶ 17]. “In accordance with another embodiment, peak MSU consumption of one or more mainframes may be reduced by dynamically shifting work to other mainframes based on time or priority (or both), and/or redirecting execution of particular tasks to a third-party mainframe” [Glass ¶ 18]. “In other embodiments, source mainframe(s) 120 and target mainframe(s) 130 may be located in different facilities managed by the same enterprise, either on the same campus or geographically separated over great distances (e.g., different cities, states or countries) thus requiring network communication with or without using a public network” [Glass ¶ 20].
It would be obvious to someone of ordinary skill in the art before the effective filing date of the claimed invention to have modified Spicer in view of Dawson in view of Lee in view of Rajadeva to incorporate the teachings of Glass and include that the flexible capacity being allocated among a plurality of different physical locations. Doing so would allow for cost savings when operating mainframes while maintaining performance. “The systems, apparatuses, methods, and computer program products of the disclosed embodiments provide the Information Technology (IT) leaders the ability to reduce the cost of operating a mainframe(s) while maintaining performance” [Glass ¶ 18].
Response to Arguments
Applicant's arguments filed 04/02/2026 have been fully considered but they are not persuasive. Applicant argues in substance:
The Combination of Spicer, Rajadeva, and Dawson Fails to Teach the Claimed Allocation Independent claims 1, 11, and 18 recite, in part, "allocating a workload of the at least one computing device using the subset of processors, based on the consumption comparison by constraining batch jobs to preserve the priority capacity for use by transactional jobs;
process the transactional jobs using the priority capacity; and defer and process the batch jobs using the base capacity without consuming the priority capacity."
The Examiner concedes that Spicer fails to teach explicitly constraining batch jobs to preserve priority capacity and deferring and processing the batch jobs using the base capacity without consuming the priority capacity. Office Action at pg. 5. To cure this deficiency, the Examiner relies on Rajadeva and Dawson. However, Applicant respectfully submits that the proposed combination fails to teach the claimed limitations and relies on impermissible hindsight reconstruction of disparate, non-analogous arts.
First, the cited references fail to teach or suggest performing the workload allocation based on the consumption comparison. The claims specifically recite determining a consumption comparison of a consumption rate to a base capacity, and then allocating the workload based on that specific consumption comparison. Spicer determines whether a rolling average (in millions of service units, or MSUs) is less than an entitlement value for cost optimization purposes. However, Rajadeva is directed to container orchestration (e.g., Kubernetes) and displaces pods based on an instantaneous calculation of "relative displaceable capacity". Rajadeva at [0023], [0028], and [0029]. Dawson is directed to a system for controlling heat dissipation in a data center by delaying jobs when a transaction job operates above a critical capacity level (e.g., 70% CPU capacity) or when environmental sensors detect excess heat. Dawson at [0066]. None of the applied references teach constraining batch jobs to preserve a priority capacity based on a consumption comparison that evaluates a rolling average consumption rate against a base capacity. The causal linkage required by the claims is entirely absent from the prior art combination.
Examiner respectfully disagrees. Spicer teaches allocate a workload of the at least one computing device using the subset of processors, based on the consumption comparison [Spicer ¶ 23, 51]. As Applicant states, Spicer teaches determining whether a rolling average (in millions of service units, or MSUs) is less than an entitlement value [Spicer ¶ 46, 51] this is a consumption comparison. Spicer further teaches that this consumption comparison is used to determine the number of spare MSUs added to a pool and the number of MSUs which entities would like to borrow [Spicer ¶ 45-46, 51], these determinations are used to determine how work is allocated in the system by allowing entities to share MSUs [Spicer ¶ 23, 44], this is a workload allocation based on the consumption comparison.
In response to applicant's argument that the examiner's conclusion of obviousness is based upon improper hindsight reasoning, it must be recognized that any judgment on obviousness is in a sense necessarily a reconstruction based upon hindsight reasoning. But so long as it takes into account only knowledge which was within the level of ordinary skill at the time the claimed invention was made, and does not include knowledge gleaned only from the applicant's disclosure, such a reconstruction is proper. See In re McLaughlin, 443 F.2d 1392, 170 USPQ 209 (CCPA 1971).
In response to applicant's argument that the references fail to show certain features of the invention, it is noted that the features upon which applicant relies (i.e., “constraining batch jobs to preserve a priority capacity based on a consumption comparison that evaluates a rolling average consumption rate against a base capacity”) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993).
Further, 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). The determine a consumption comparison of the consumption rate to the base capacity; [Spicer ¶ 46] and allocate a workload of the at least one computing device using the subset of processors, based on the consumption comparison is taught by Spicer as detailed above. The cited prior art reference Dawson teaches allocate a workload … by constraining batch jobs … to preserve the priority capacity for use by transactional jobs; [Dawson ¶ 66]. The arguments have been considered but were not found to be persuasive.
Furthermore, the combination lacks a rational motivation and relies on improper hindsight. Spicer is directed to optimizing Software License Charges (MLC) on mainframe logical partitions (LPARs) based on MSU rolling averages. Rajadeva is directed to displacing container workloads in container orchestration systems (like Kubernetes). Dawson is directed to reducing heat output and cooling requirements in a data center. A person of ordinary skill in the art seeking to optimize mainframe billing costs using MSU rolling averages (Spicer) would not logically look to thermal management systems designed to prevent hardware overheating (Dawson), nor to container displacement algorithms (Rajadeva), as these references solve entirely different problems in different computing environments.
Examiner respectfully disagrees. In response to applicant's argument that the examiner's conclusion of obviousness is based upon improper hindsight reasoning, it must be recognized that any judgment on obviousness is in a sense necessarily a reconstruction based upon hindsight reasoning. But so long as it takes into account only knowledge which was within the level of ordinary skill at the time the claimed invention was made, and does not include knowledge gleaned only from the applicant's disclosure, such a reconstruction is proper. See In re McLaughlin, 443 F.2d 1392, 170 USPQ 209 (CCPA 1971). Both Dawson and Rajadeva are considered to be analogous to the claimed invention because they are in the same field of scheduling strategies for multiprogramming arrangements.
In response to applicant’s argument that there is no teaching, suggestion, or motivation to combine the references, the examiner recognizes that obviousness may be established by combining or modifying the teachings of the prior art to produce the claimed invention where there is some teaching, suggestion, or motivation to do so found either in the references themselves or in the knowledge generally available to one of ordinary skill in the art. See In re Fine, 837 F.2d 1071, 5 USPQ2d 1596 (Fed. Cir. 1988), In re Jones, 958 F.2d 347, 21 USPQ2d 1941 (Fed. Cir. 1992), and KSR International Co. v. Teleflex, Inc., 550 U.S. 398, 82 USPQ2d 1385 (2007). In this case, modifying Spicer to include the teachings of Dawson would allow for the system to maintain service level agreements of the transaction jobs [Dawson ¶ 66]; modifying Spicer in view of Dawson in view of Lee to include the teachings of Rajadeva would allow for further optimization in workload scheduling while considering different workload priority levels [Rajadeva ¶ 20]. The arguments have been considered but were not found to be persuasive.
The Combination Fails to Teach the Amended Claims Incorporating Subject Matter of Claims 9, 16, and 20
Without acquiescing or otherwise agreeing with the rejection, Applicant has amended independent claims 1, 11, and 18 to distinguish over any combination of Spicer, Rajadeva, Dawson, and/or Lee.
Independent claims 1, 11, and 18 have been amended to incorporate the limitations of original dependent claims 9, 16, and 20, respectively. Specifically, the independent claims now recite: "map the consumption comparison to a corresponding constraint level of a plurality of constraint levels; and constrain the batch jobs based on the corresponding constraint level."
In the Office Action, the Examiner relied on Lee (US 2020/0125391 A1) to reject this subject matter, asserting that Lee teaches mapping a consumption comparison to a constraint level. Applicant respectfully submits that Lee fails to describe this.
Lee is directed to batch processing for blockchain transactions. In Lee, a "batch size" refers to a parameter that regulates the number of individual blockchain transactions aggregated into a single batch transaction for processing on a peer-to-peer blockchain network. Lee at [0043]. Lee discloses comparing a CPU load to a single threshold value to determine whether to deactivate the batch generation function or decrease the batch size. Lee at [0151].
Lee fails to teach mapping a consumption comparison to a corresponding constraint level of a plurality of constraint levels. Lee only discloses evaluating a load against a single threshold. A single threshold is not a plurality of constraint levels. Furthermore, Lee entirely fails to teach mapping a consumption comparison (which the claims define as relating to a rolling average of processor consumption and a base capacity) to such levels. Deactivating the grouping of blockchain transactions (Lee) is completely distinct from applying varying constraint levels to batch workloads on a mainframe system to preserve hardware priority capacity.
Therefore, even if Spicer, Rajadeva, Dawson, and Lee were combined, the combination would fail to render the newly amended independent claims 1, 11, and 18 obvious.
Accordingly, Applicant respectfully requests reconsideration and withdrawal of the section 103 rejections of claims 1, 11, and 18, and their respective pending dependent claims.
Examiner respectfully disagrees. Lee teaches a corresponding constraint level of a plurality of constraint levels; [Lee ¶ 120, 168]. The threshold value of Lee is utilized as a constraint level, in paragraph 120, Lee describes: “The threshold value may be a predetermined fixed value or a changeable variation value that varies depending on a status … As another example, the threshold value may be a variation value that is set to a larger value as a load of the apparatus for batch processing 100 increases” [Lee ¶ 120]. A changeable variation value provides a plurality of constraint levels depending on the variation value.
Further, 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). The consumption comparison of claim 1 is taught by Spicer, as detailed in the rejection above and in the argument I, upon combining the teachings of Lee, the limitation map the consumption comparison to a corresponding constraint level of a plurality of constraint levels; is taught. Lee teaches that the threshold value, which is a constraint level, is mapped to the consumption level of batch processing [Lee ¶ 120, 168]. In the rejection above, this is combined with Spicer’s teaching of allocate a workload of the at least one computing device using the subset of processors, based on the consumption comparison [Spicer ¶ 23, 51].
Further, in response to applicant's argument that the references fail to show certain features of the invention, it is noted that the features upon which applicant relies (i.e., “applying varying constraint levels to batch workloads on a mainframe system to preserve hardware priority capacity”) are not recited in the rejected claim(s). Although the claims are interpreted in light of the specification, limitations from the specification are not read into the claims. See In re Van Geuns, 988 F.2d 1181, 26 USPQ2d 1057 (Fed. Cir. 1993). The arguments have been considered but were not found to be persuasive.
Conclusion
Examiner respectfully requests, in response to this Office action, support be shown for language added to any original claims on amendment and any new claims. That is, indicate support for newly added claim language by specifically pointing to page(s) and line number(s) in the specification and/or drawing figure(s). This will assist Examiner in prosecuting the application.
When responding to this Office Action, Applicant is advised to clearly point out the patentable novelty which he or she thinks the claims present, in view of the state of the art disclosed by the references cited or the objections made. He or she must also show how the amendments avoid such references or objections. See 37 CFR 1.111(c).
Any inquiry concerning this communication or earlier communications from the examiner should be directed to ARI F RIGGINS whose telephone number is (571)272-2772. The examiner can normally be reached Monday-Friday 7:00AM-4:30PM.
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, Bradley Teets can be reached on (571) 272-3338. 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.
/A.F.R./Examiner, Art Unit 2197
/BRADLEY A TEETS/Supervisory Patent Examiner, Art Unit 2197