DETAILED ACTION
Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Response to Amendment
This Final Rejection is in response to Applicant’s arguments/remarks submitted on 4/29/2026. Claims 1, 12-14, and 25 have been amended, therefore claims 1-25 remain pending in the application and are being considered on the merits.
Response to Arguments
Applicant’s arguments filed on 4/29/2026 have been fully considered with the following results:
Regarding the rejection under 35 U.S.C. 101, Applicant has amended claims 1, 13, and 14 in an effort to overcome the rejection. Applicant argues that the now amended claims 1, 13, and 14 do not recite mental processes as the amended claim language has removed recitation of human observation and instead now requires that the execution platform itself performs continuous monitoring and automatically enforces execution constraints during runtime, without user involvement.
While the Examiner agrees that “automatically enforcing, by the execution platform and without user intervention, the one or more resource limits during execution of the executable program” does not recite a mental process, the Examiner maintains that the current claim language as a whole still recites a mental process that can be done either by a human or through the aid of a generic computer. For example, the Examiner argues that the current mental processes of determining one or more attributes, determining one or more resource limits, executing the executable program, continuously monitoring resource usage, and determining that one or more resource limits has been reached or exceeded are all capable of being performed by the human mind or performed by a human with the aid of a generic computer. Regarding the newly amended “automatically enforcing…” limitation, the Examiner contends that this merely recites insignificant extra-solution activity and essentially adds the term “apply it” or an equivalent to the judicial exception, which is to say that this limitation recites the solution/outcome of automatically enforcing without providing a mechanism or any specifics relating to the enforcing (See MPEP 2106.05(f)).
Further, Applicant argues that since resource limits are determined prior to execution and that execution occurs simultaneously to the monitoring that these are not steps that a human could perform and that there is no human observation, judgment, or decision-making once execution begins.
The Examiner respectfully disagrees. The Examiner contends that the BRI of the current claim language includes a human using a computer to determine resource limits, monitoring resource usage of a program, and executing said program. It is well understood, routine, and conventional that a human can perform these steps through the use of a generic computer, and the Examiner argues that there is no specific improvement in computer execution behavior within these limitations.
Applicant contends that, per MPEP 2106.04(a)(2)(III)(C), a claim is not a mental process where it requires ongoing computer control, continuous monitoring, or automatic enforcement that cannot be replicated by a human operator.
The Examiner respectfully disagrees. The Examiner further contends that while automatic enforcement is not a mental process, the BRI of the other stated limitations are reasonably performed in the human mind as the computer is merely used as a tool for the human to perform the concept.
As a result, the Examiner will maintain the 101 rejection with the interpretation that the “automatically enforcing…” limitation is merely insignificant extra-solution activity. For further details, please refer to the 101 rejection section below.
Regarding the rejection under 35 U.S.C. 103, Applicant argues that none of the previously cited prior art teach or suggest the newly amended claim language.
The Examiner agrees with the Applicant’s arguments. However, upon further search and consideration, a new ground of rejection has been made utilizing Kishan et al. (US 20060190482) in combination with the previously cited prior art. As a result, the 103 rejection will be maintained under this new ground of rejection. For further details please refer to the 103 rejection section below.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefore, subject to the conditions and requirements of this title.
Claims 1-25 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more.
Step 1:
Claims 1-25 are directed towards a method, system, and computer readable medium and therefore are directed towards one of the statutory categories of invention.
Step 2A, Prong 1:
Claims 1, 13, and 14 recite the limitations of “determining, by the execution platform, one or more attributes of the one or more inputs,” “prior to executing, by the execution platform, the executable program on the one or more inputs, determining, by the execution platform, one or more resource limits for execution of the executable program based on the one or more attributes of the one or more inputs,” “continuously monitoring, by the execution platform, resource usage of the executable program,” and “determining, by the execution platform, that at least one of the one or more resource limits for execution of the executable program has been reached or exceeded, based on the monitored resource usage.” These limitations are a process that, under its broadest reasonable interpretation, covers performance of the limitations through the use of a computer as a tool for the human mind to perform.
If a claim limitation, under its BRI, covers performance of the limitation in the mind, then it falls within the “Mental Processes” grouping of abstract ideas (concepts performed in the human mind including an observation, evaluation, judgment, and opinion).
Step 2A, Prong 2:
The judicial exception is not integrated into a practical application. The claims recite the additional elements of an “execution platform” which is merely a generic computing apparatus (see MPEP 2106.07(b)). Further, when the mental process takes place, such as “prior to executing…” and “after determining the one or more resource limits…” are merely insignificant extra-solution activity related to when a process occurs. Further, the limitations of “automatically enforcing, by the execution platform and without user intervention, the one or more resource limits during execution of the executable program” and “after determining the one or more resource limits, executing, by the execution platform, the executable program on the one or more inputs subject to the one or more resource limits” merely recites the term “apply it” or an equivalent as well as being mere instructions to apply the judicial exception without providing any mechanism/specifics on how resource limits are automatically enforced (See MPEP 2106.05(f). As such, the claims are directed to an abstract idea.
Step 2B:
The claims do not include additional elements that are sufficient to amount to significantly more than the judicial exception. The additional element of “receiving, by an execution platform, a request to execute an executable program on one or more inputs” relates to the well-understood, routine, and conventional activity of receiving or transmitting data over a network and does not amount to significantly more than the judicial exception (See MPEP 2106.05(d)(II)(i)). The additional elements, such as the “execution platform” and “automatically enforcing…” limitations do not amount to significantly more than the judicial exception. These elements are understood by the courts to be well-understood, routine, and conventional.
Dependent claims 2-12, and 15-25 do not cure the deficiencies of the independent claims and are rejected. For example, claims 2-7 and 15-20 all recite generic computing apparatus and types thereof being explained. The Examiner notes that the type of executable programs, execution platform, and input are merely recited in a generic format and do not provide significantly more than the judicial exception (See MPEP 2106.05(f)).
Further, claims 8, 9, 21, and 22, all recite the abstract idea of a mental process. In these claims, settings are being determined for what needs to be monitored, as previously mentioned in the independent claims, the determination of this is a mental process. Following the limitations, the act of scaling as recited in these claims is based on the mental analyzation of the data, and therefore can be done by way of a human, as such it does not provide significantly more than the judicial exception of a mental process.
As for claims 10, 11, 23, and 24, these claims recite the abstract idea of mathematical concepts (See MPEP 2106.04(a)(2)). These claims recite creating resource limits through scaling factors, these scaling factors represent mathematical calculations as applied to generic computing apparatuses (See MPEP 2106.04(a)(2)(C)).
For claims 12 and 25, the BRI of these claims are merely reciting or adding the words “apply it” to the judicial exception (See MPEP 2106.05(f)) as well as merely receiving or transmitting data over a network through the use of notifications (See MPEP 2106.05(d)(II)(i)).
Since no combination of the independent and dependent claims amount to significantly more than the judicial exception, they are rejected under 35 U.S.C. 101.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 1, 2, 4, 5, 7-8, 12-15, 17, 18, 20-21, and 25 is/are rejected under 35 U.S.C. 103 as being unpatentable over Nguyen et al. (US 20220413992), Wang Baldonado et al. (US 20020078117), and Kishan et al. (US 20060190482).
Regarding claims 1, 13, and 14, Nguyen teaches: A computing system / non-transitory computer readable medium / A computer-implemented method, comprising: receiving, by an execution platform, a request to execute an executable program on one or more inputs (framework receiving benchmark execution scripts relating to applications par. 0036 – 0045); determining, by the execution platform, one or more attributes of the one or more inputs (benchmark specifications that include parameters related to the tests performed on the application par. 0039; see also par. 0036 – 0045); and while the executable program is executing: continuously monitoring, by the execution platform, resource usage of the executable program (monitoring, through report generator, performance needs based on users’ configurations par. 0046 in which the frameworks monitoring and reporting features can provide real-time observability during benchmarking par. 0005) ; determining, by the execution platform, that at least one of the one or more resource limits for execution of the executable program has been reached or exceeded, based on the monitored resource usage (determination that utilization of computing resources exceeds threshold for the specific computing resource par. 0068 and 0007);
Nguyen does not explicitly teach prior to executing, by the execution platform, the executable program on the one or more inputs, determining, by the execution platform, one or more resource limits for execution of the executable program based on the one or more attributes of the one or more inputs; and after determining the one or more resource limits, executing, by the execution platform, the executable program on the one or more inputs subject to the one or more resource limits, and automatically enforcing, by the execution platform and without user intervention, the one or more resource limits during execution of the executable program. However, it would be obvious to one of ordinary skill in the art prior to the effective filing date of the application that resource utilization thresholds are synonymous with limits placed on resources and thus can be treated as though they are the same.
However, Wang Baldonado teaches: prior to executing, by the execution platform, the executable program on the one or more inputs, determining, by the execution platform, one or more resource limits for execution of the executable program based on the one or more attributes of the one or more inputs (job execution system, before proceeding with processing of the batch job, will determine readiness based on resource limits of the system par. 0115 - 0116); after determining the one or more resource limits, executing, by the execution platform, the executable program on the one or more inputs subject to the one or more resource limits (if the job execution system is determined to be ready, based on resource limits of the system, then the job will be processed par. 0115 - 0123);
Both Nguyen and Wang Baldonado are in the same field of endeavor that includes determining resource limits for a system and execution of processes subject to those limits, therefore they are combinable.
It would have been prima facie obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Nguyen with the teachings of Wang Baldonado since the job execution system of Wang Baldonado would further enhance the system of Nguyen by allowing for checking system resource limits prior to execution of batch jobs which provides minimal information being exchanged as well as maximal independence preservation of the service provider.
Modification would allow for monitoring of batch jobs, preparing job execution systems, and monitoring the resources they consume on a plurality of service providers (Wang Baldonado par. 0021).
Wang Baldonado does not explicitly teach automatically enforcing, by the execution platform and without user intervention, the one or more resource limits during execution of the executable program.
However, Kishan teaches: Automatically enforcing, by the execution platform and without user intervention, the one or more resource limits during execution of the executable program (the resource manager automatically enforces adherence to the desired resource limit par. 0084 – 0085, as the limit is dynamically changed the active budget adjustment can occur while a service process is concurrently executing threads par. 0013).
Both Kishan and the prior combination are in the same field of endeavor that includes enforcement of resource limits in a service process environment, therefore they are combinable.
It would have been prima facie obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Nguyen and Wang Baldonado with the teachings of Kishan since the teachings of Kishan in order to provide explicitly automatic enforcement of resource limits.
Modification would allow for a resource manager that dynamically enforces resource limits with various actions while the process is executing (Kishan par. 0085).
Regarding claims 2 and 15, Nguyen teaches: a serverless function; a WebAssembly serverless function; a WebAssembly program; a binary executable computer program; an Executable (EXE) program or an Application (APP) program (various types of applications being benchmarked par. 0003); a script program (benchmark execution scripts par. 0004); or a combination of any two or more thereof.
Regarding claims 4 and 17, Nguyen teaches: wherein the execution platform is a physical machine (framework including both hardware and software components, thus can be a physical machine par. 0004).
Regarding claims 5 and 18, Nguyen teaches: wherein the one or more attributes of the one or more inputs comprise a size of the one or more inputs (size of memtable relating to performance metrics of application par. 0045; note further par. 0039, and 0043 with associated benchmarking settings / specification).
Regarding claims 7 and 20, Nguyen teaches: wherein the one or more attributes of the one or more inputs comprise an input type of the one or more inputs (note further par. 0039 and 0043 with associated benchmarking settings / specification; Further framework having capabilities to measure different types of applications on different types of environments par. 0036; see also par. 0051-0056 and 0099).
Regarding claims 8 and 21, Nguyen teaches: wherein determining the one or more resource limits for execution of the executable program based on the one or more attributes of the one or more inputs comprises scaling one or more respective default resource limits based on the one or more attributes of the one or more inputs to thereby provide the one or more resource limits for execution of the executable program (analysis of performance results to automatically scale clusters par. 0007, 0012, 0016-0018, 0077 – 0080).
Regarding claims 12 and 25, Nguyen teaches: terminating execution of the executable program; notifying an operator of the execution platform that execution of the executable program on the one or more inputs exceeded the at least one of the one or more resource limits; notifying a developer of the executable program that execution of the executable program on the one or more inputs exceeded the at least one of the one or more resource limits; notifying an associated end-user that execution of the executable program on the one or more inputs exceeded the at least one of the one or more resource limits (notification, via report generator, that threshold has been exceeded/severe incident has occurred on application par. 0046 – 0048); notifying the associated end-user of one or more impacts on a user experience of the associated end-user that result from termination of the execution of the executable program; or a combination of any two or more thereof.
The Examiner would like to note that despite the amendment changing the verbiage, it is still assumed by the Examiner that only one of the “terminating…” and “notifying…” limitations must occur due to the “or a combination of any two or more thereof” at the end of the claim.
Nguyen does not explicitly teach automatically enforcing, by the execution platform and without user intervention, the one or more resource limits during execution of the executable program comprises: terminating execution of the executable program responsive to determining that the at least one of the one or more resource limits for execution of the executable program has been reached or exceeded.
However, Kishan teaches: wherein automatically enforcing, by the execution platform and without user intervention, the one or more resource limits during execution of the executable program comprises: terminating execution of the executable program responsive to determining that the at least one of the one or more resource limits for execution of the executable program has been reached or exceeded (the allowed action set ranges from passive actions to aggressive actions that result in terminating the target client from which resources are reclaimed when a threshold is reached par. 0015 and 0024);
Both Kishan and the prior combination are in the same field of endeavor that includes enforcement of resource limits in a service process environment, therefore they are combinable.
It would have been prima facie obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Nguyen and Wang Baldonado with the teachings of Kishan since the teachings of Kishan in order to provide explicitly automatic enforcement of resource limits.
Modification would allow for a resource manager that dynamically enforces resource limits with various actions while the process is executing (Kishan par. 0085).
Claim(s) 3, 6, 9, 16, 19, and 22 is/are rejected under 35 U.S.C. 103 as being unpatentable over Nguyen, Wang Baldonado, and Kishan in view of Nilsen (US 6438573).
Regarding claims 3 and 16, Nilsen teaches: wherein the execution platform is a virtualization platform comprising a virtual machine that executes the executable program (using virtual machines to execute application programs to scale performance in the allocation of resources; col. 3, lines 13 – 39; Col. 4 Line 50 – Col. 5 Line 46).
Nilsen is in the same field of endeavor as the prior combination since it includes allocating resources within a virtual machine environment.
It would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Nguyen, Wang Baldonado, and Kishan with the teachings of Nilsen since the teachings of Nilsen provide expanded execution platforms for the methods of Nguyen to run on. Further, Nilsen also provides task scheduling based on size, scaling factors relating to available resources, and real-time execution implementations which would provide Nguyen and Wang Baldonado with ensuring global CPU time is spent to reliably satisfy allocation rates (Nilsen: Col. 21 line 6 – Col. 22 Line 18, and Col. 23 Line 56 – Col. 24 line 20).
Regarding claims 6 and 19, Nilsen teaches: wherein the one or more inputs comprise: input data, wherein the size of the one or more inputs comprises a size of input data in terms of a number of bytes (objects of various byte sizes that the current executing activity has permission to allocate Col. 21 Line 6 – Col. 22 Line 18); one or more input arrays, wherein the size of the one or more inputs comprises either a number of elements comprised in a largest input array from among the one or more input arrays or a total number of elements comprised in all of the one or more input arrays; one or more input arrays, wherein the size of the one or more inputs comprises a total data size of all data comprised in all elements of the one or more input arrays; one or more input data trees, wherein the size of the one or more inputs comprises a number of nodes in an input data tree, a data size of one of the nodes in the input data tree having a largest data size from among all nodes in the input data tree, or a total data size of all data comprised in all nodes of the input data tree; or a combination of any two or more thereof.
Nilsen is in the same field of endeavor as the prior combination since it includes allocating resources within a virtual machine environment.
It would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Nguyen, Wang Baldonado, and Kishan with the teachings of Nilsen since the teachings of Nilsen provide expanded execution platforms for the methods of Nguyen to run on. Further, Nilsen also provides task scheduling based on size, scaling factors relating to available resources, and real-time execution implementations which would provide Nguyen and Wang Baldonado with ensuring global CPU time is spent to reliably satisfy allocation rates (Nilsen: Col. 21 line 6 – Col. 22 Line 18, and Col. 23 Line 56 – Col. 24 line 20).
Regarding claims 9 and 22, Nguyen teaches: wherein scaling the one or more respective default resource limits based on the one or more attributes of the one or more inputs comprises scaling the one or more respective default resource limits based on the one or more attributes of the one or more inputs and one or more linear scaling factors (scaling clusters using the configured limit for the cluster as a default limit for resources par. 0059).
Nguyen does not explicitly teach one or more linear scaling factors.
However, Nilsen teaches: one or more linear scaling factors (determination of linear scaling factor for resources Col. 23 Line 31 – Col. 24 Line 20).
Nilsen is in the same field of endeavor as the prior combination since it includes allocating resources within a virtual machine environment.
It would have been obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Nguyen, Wang Baldonado, and Kishan with the teachings of Nilsen since the teachings of Nilsen provide expanded execution platforms for the methods of Nguyen to run on. Further, Nilsen also provides task scheduling based on size, scaling factors relating to available resources, and real-time execution implementations which would provide Nguyen and Wang Baldonado with ensuring global CPU time is spent to reliably satisfy allocation rates (Nilsen: Col. 21 line 6 – Col. 22 Line 18, and Col. 23 Line 56 – Col. 24 line 20).
Claim(s) 10 and 23 is/are rejected under 35 U.S.C. 103 as being unpatentable over Nguyen, Wang Baldonado, Kishan, and Nilsen in view of Ahmed et al. (US 20180270164).
Regarding claims 10 and 23, Ahmed teaches: wherein the one or more resource limits comprise two or more resource limits associated to either: (a) two or more different linear scaling factors or (b) the same linear scaling factor (system limit to resources allocated to a job in each stage through sys_factor par. 0029).
Ahmed is in the same field of endeavor since it includes limiting resources to jobs.
It would have been prima facie obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Nguyen, Wang Baldonado Kishan, and Nilsen with the teachings of Ahmed since the teachings of Ahmed provide a linear scaling factor for resources requested and the limits therein, providing improvement to resource utilization without modifications to the job or management systems (Ahmed: par. 0024).
Claim(s) 11 and 24 is/are rejected under 35 U.S.C. 103 as being unpatentable over Nguyen, Wang Baldonado, and Kishan in view of Novak et al. (US 11307895).
Regarding claims 11 and 24, Novak teaches: wherein scaling the one or more respective default resource limits based on the one or more attributes of the one or more inputs comprises non-linearly scaling the one or more respective default resource limits based on the one or more attributes of the one or more inputs and a defined or configured non-linear function (resource allocation threshold established then scaled using a resource scaling policy which responds to dynamically fluctuating workload requirements by scaling up or down resources dependent on the policy Col. 3 Line 55 – Col. 4 Line 4, Col. 5 Lines 1 – 20, and Claim 1).
Novak is in the same field of endeavor as it is related to resource allocation thresholds that dynamically scale based on policy.
It would have been prima facie obvious to one of ordinary skill in the art prior to the effective filing date of the application to combine the teachings of Nguyen, Wang Baldonado, and Kishan with the teachings of Novak since the use of miss ratio curves in Novak provides the ability to auto-scale resource in dynamically fluctuating workloads to save on operating costs while avoiding queueing, thrashing, or collapse (Novak: Col. 5. Lines 1 – 20).
Conclusion
THIS ACTION IS MADE FINAL. Applicant is reminded of the extension of time policy as set forth in 37 CFR 1.136(a).
A shortened statutory period for reply to this final action is set to expire THREE MONTHS from the mailing date of this action. In the event a first reply is filed within TWO MONTHS of the mailing date of this final action and the advisory action is not mailed until after the end of the THREE-MONTH shortened statutory period, then the shortened statutory period will expire on the date the advisory action is mailed, and any nonprovisional extension fee (37 CFR 1.17(a)) pursuant to 37 CFR 1.136(a) will be calculated from the mailing date of the advisory action. In no event, however, will the statutory period for reply expire later than SIX MONTHS from the mailing date of this final action.
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure. Patle et al. (US 20210149703) which outlines provisioning of virtual machines using dynamically changing resource limits in a docker container.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to JORDAN SCOTT MOTTER whose telephone number is (703)756-1550. The examiner can normally be reached Monday - Friday 7:30 a.m. - 4:30 p.m..
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, Pierre Vital can be reached at 571-272-4215. 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.
/J.S.M./Examiner, Art Unit 2198
/PIERRE VITAL/Supervisory Patent Examiner, Art Unit 2198