Prosecution Insights
Last updated: October 02, 2026
Application No. 18/685,745

Efficiency Engine In A Cloud Computing Architecture

Final Rejection §101§103
Filed
Feb 22, 2024
Priority
Sep 14, 2021 — nonprovisional of PCTCN2021118181
Examiner
TRUONG, LECHI
Art Unit
Tech Center
Assignee
Microsoft Technology Licensing, LLC
OA Round
2 (Final)
87%
Grant Probability
Favorable
3-4
OA Rounds
5m
Est. Remaining
99%
With Interview

Examiner Intelligence

Grants 87% — above average
87%
Career Allowance Rate
776 granted / 889 resolved
+27.3% vs TC avg
Strong +36% interview lift
Without
With
+36.4%
Interview Lift
resolved cases with interview
Typical timeline
3y 0m
Avg Prosecution
25 currently pending
Career history
921
Total Applications
across all art units

Statute-Specific Performance

§101
18.1%
-21.9% vs TC avg
§103
63.8%
+23.8% vs TC avg
§102
4.1%
-35.9% vs TC avg
§112
8.1%
-31.9% vs TC avg
Black line = Tech Center average estimate • Based on career data from 889 resolved cases

Office Action

§101 §103
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 . Claims 1-22 are presented for the examination. Claim Rejections - 35 USC § 101 35 U.S.C. 101 reads as follows: Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. 2. Claim 20 is rejected under 35 U.S.C. 101 because the claimed invention is directed to apparatus claims, but appearing to be comprised of software alone without claiming associated computer hardware required for execution. For example, claim 20 defines “apparatus” in the preamble and the body of the claim recites “ a decision engine", “ a resource allocation system”. A decision engine, a resource allocation system appear to be software modules. Therefore, claim 20 is non-statutory because it recites claim that comprises software components. § 101 2. 35 U.S.C. 101 reads as follows Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title. Claims 1, 3, 4, 5, 7 , 8 , 9, 14, 20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract idea without significantly more. As to Claims 1, 14, 20 have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, the “ identify a first size of a container in which a workload is to run in a cloud computing system and to identify a first server cluster and first server node where the container is to be placed in the cloud computer system”, “ identify a bin packing action to take based on the first runtime feedback signal and the second runtime feedback signals ” recite a mental process since “ identify” is function that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion. Under Prong 2, the additional element “ generating an output to a cloud control plane to deploy the container, with the first container size, to the first server cluster and first server node; receiving a first runtime feedback signal from the container during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal from the container indicative of a quality of service of the workload in the container ”, “ generating a bin packing output signal indicative of the identified bin packing action and providing the bin packing output signal to a cloud control plane for execution of the identified bin packing action”, “ performing a second bin packing analysis comprises assign a plurality of containers for a plurality of different workloads by merging the workloads on a server cluster based on peak usage times for each usage;” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f). Under Step 2B, the additional elements “ generating an output to a cloud control plane to deploy the container, with the first container size, to the first server cluster and first server node; receiving a first runtime feedback signal from the container during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal from the container indicative of a quality of service of the workload in the container” - this generally have been a mental process although the container could be a generic computer component if the spec describes it as actual computer software could be a generic computer component in computer hardware. “ generating a bin packing output signal indicative of the identified bin packing action and providing the bin packing output signal to a cloud control plane for execution of the identified bin packing action, performing a second bin packing analysis comprises assign a plurality of containers for a plurality of different workloads by merging the workloads on a server cluster based on peak usage times for each usage;”- this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally, amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept, amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept. As to Claims 3, 4, 5, 7 , 8 , 9 have been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, “ identify a second container size based on the first and second runtime feedback signals” , “identifying an action to re-size the container to the second container size”, “ identify a second server cluster based on the first and second runtime feedback signals.”, “ identify a number of containers for the workload based on the first and second runtime feedback signals ” , “ calculating a time and space cost of assigning the second container to the second server cluster”, “ identifying an action to generate the number of containers” recite a mental process since “ identify”, “ Calculate” are functions that can be reasonably performed in the human mind with the aid of pen and paper through observation, evaluation, judgment, opinion. Under Prong 2, the additional element “ generating an output to a cloud control plane to deploy the container, with the first container size, to the first server cluster and first server node; receiving a first runtime feedback signal from the container during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal from the container indicative of a quality of service of the workload in the container ”, “ generating a bin packing output signal indicative of the identified bin packing action and providing the bin packing output signal to a cloud control plane for execution of the identified bin packing action” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f). Under Step 2B, the additional elements “generating an output to a cloud control plane to deploy the container, with the first container size, to the first server cluster and first server node; receiving a first runtime feedback signal from the container during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal from the container indicative of a quality of service of the workload in the container” - this generally have been a mental process although the container could be a generic computer component if the spec describes it as actual computer software could be a generic computer component in computer hardware. “ generating a bin packing output signal indicative of the identified bin packing action and providing the bin packing output signal to a cloud control plane for execution of the identified bin packing action”- this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally, amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept, amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept. As to Claim 9 has been rejected under 35 USC 101 for abstract idea without significantly more. Under Step 2A, Prong 1, “ calculating a time and space cost of assigning the second container to the second server cluster”. “ Calculate” is function that can be reasonably describes a “mathematical relationship,” which is specifically identified as an exemplar in the “mathematical concepts” grouping of abstract ideas. Moreover, the recited conversion can be practically performed in the human mind, and so it also falls into the “mental process” group of abstract ideas. Thus, limitation (c) recites a concept that falls into the “mathematical concept” and “mental process” groups of abstract ideas. Under Prong 2, the additional element “ generating an output to a cloud control plane to deploy the container, with the first container size, to the first server cluster and first server node; receiving a first runtime feedback signal from the container during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal from the container indicative of a quality of service of the workload in the container ”, “ generating a bin packing output signal indicative of the identified bin packing action and providing the bin packing output signal to a cloud control plane for execution of the identified bin packing action” are recited at a high-level of generality such that it amounts no more than mere instructions to apply the exception using a generic computer component, or merely a generic computer or generic computer components to perform the judicial exception, Accordingly, the additional elements do not integrate the recited judicial exception into a practical application, and the claim is therefore directed to the judicial exception. See MPEP 2106.05(f). Under Step 2B, the additional elements “ generating an output to a cloud control plane to deploy the container, with the first container size, to the first server cluster and first server node; receiving a first runtime feedback signal from the container during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal from the container indicative of a quality of service of the workload in the container” - this generally have been a mental process although the container could be a generic computer component if the spec describes it as actual computer software could be a generic computer component in computer hardware. “ generating a bin packing output signal indicative of the identified bin packing action and providing the bin packing output signal to a cloud control plane for execution of the identified bin packing action”- this is mere instructions to apply the mental process under mpep 2106.05(f), amounts to merely generally, amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept, amounts to merely generally linking the use of the judicial exception to a particular technological environment or field or use, and is merely applying the judicial exception, therefore, does not amount to significantly more, hence, cannot provide an inventive concept. 5. The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. As discussed above with respect to integration of the abstract idea into a practical application. See MPEP 2106.05(d). Thus, the claim is not patent eligible. Claim Rejections - 35 USC § 103 The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action: A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made. Claim(s) 1, 2, 3, 4, 5, 14, 15, 17, 20 are rejected under 35 U.S.C. 103 as being unpatentable over Das( US 20160321588 A1) in view of Zhu( US 7644162 B1) in view of Olmsted-Thompson(US 20220164208 A1) and further in view of Chen(US 20190196876 A1). As to claim 1, Das teaches A computer system, comprising: at least one processor; and a data store that stores computer executable instructions which, when executed by the at least one processor, cause the one or more processor( at least one hardware processor configured to execute computer-executable instructions in a memory, the instructions executed to enable the auto-scaling module, para[0009], ln 6-10); performing a first bin packing analysis to identify a first size of a container in which a workload is to run in a cloud computing system( The computer 902 can be one of several computers employed in a datacenter and/or computing resources (hardware and/or software) in support of cloud computing services for portable and/or mobile computing systems such as wireless communications devices, cellular telephones, and other mobile-capable devices. Cloud computing services, include, but are not limited to, infrastructure as a service, platform as a service, software as a service, storage as a service, desktop as a service, data as a service, security as a service, and APIs (application program interfaces) as a service, for example, para[0098]/ to select a container size suitable for workloads, para[0001[, ln 6-9/ DaaS platforms tenants must estimate and manually change the database container size. The tenant is charged for the largest container size used in the billing interval and pays the summation of costs for each billing interval., para[0001], ln 7-12/ An auto-scaling module automatically determines a container size for a subsequent billing interval based on available budget, and observing latencies and resource utilization in the billing intervals from the immediate past. An aspect of the auto-scaling module is the capability to estimate the resource demands from the measurable database engine telemetry (e.g., counters and statistics reported by the database server or the DaaS) such as resource utilization, waits for resources, etc., para[0004], ln 5-15); receiving a first runtime feedback signal during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal indicative of a quality of service of the workload in the container( The auto-scaling module 102 receives as input the changing telemetry 302, and other inputs 304 such as cost budget, container size ranges, performance goal, sensitivity, and so on, para[0043])/ a container size suitable for workloads, para[0001], ln 6-9/ collects detailed counters (called production telemetry) for each container, para[0045], and a resource demand estimator configured to estimate resource demands that warrant a larger container or a smaller container. The resource demand estimator can be configured to transform the telemetry into signals used to estimate the resource demands of multiple workloads of the database servers, para[0034], ln 5-11 / Each database server (of the servers 404) in the service 400 hosts a set of containers (similar to containers 104 of FIG. 1), para[0045], ln 5-9); Zhu teaches receiving a first runtime feedback signal from the container during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal from the container indicative of a quality of service of the workload in the container( In one example, the performance monitoring agent 165 measures the performance metrics for the application performance in the resource container 103a. Measuring or determining the performance metrics includes measuring the performance of the application 104a in the resource container 103a according to the performance metrics which may be specified in the SLA. The performance monitoring agent 165 sends the performance monitoring information, including the measured metrics, to the resource allocator 106. The measured metrics may be used as performance feedback of the application 104a and/or feedback on resource usage in the resource container 103a. In another example, the performance monitor determines a statistical metric from one or more measured performance metrics, such as an average or a moving average for one or more measured attributes. The statistical metric is also a performance metric, col 3, ln 44-67) performing a second bin packing analysis to identify a bin packing action to take based on the first runtime feedback signal and the second runtime feedback signals( The resource allocator 106 determines the allocation of resources for the resource container 103a using the performance monitoring information and the SLA inputs 105 for the applications 104a. Determining the allocation of resources is described in further detail with respect to FIGS. 3 and 4. The resource allocator 106 sends resource entitlement instructions to the resource scheduler 110a for adjusting the allocation of resources in the resource container 103a, col 3, ln 65-67). It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the feature of Das with Zhu to incorporate the above feature because this provides controls the allocation of resources to the resource container based on the controller parameters and the performance metrics. Olmsted teaches generating a bin packing output signal indicative of the identified bin packing action and providing the bin packing output signal to a cloud control plane for execution of the identified bin packing action, the container is to be placed in the cloud computer system ( The container scheduler 272 in the cluster control plane 270 may manage virtualized resources such that at any given time a specified quantity of free CPU and memory resources are available within the pool 291 of nodes 250a, 250c. When a user requests for a container, the container scheduler 272 may place the requested container on the nodes 250a, 250c within the designated pool 291 with enough resources, such as CPU, memory, based on the container request specified by the user. The container scheduler 272 may intelligently allocate available resources across the pool 291 of nodes 250a, 250c to make an initial placement of the container within the pool of nodes, para[0060], ln 1-14/ the cloud provider may have a cloud control plane that set rules and policies for all the clusters on the cloud or provides easy ways for users to perform management tasks on the clusters, para[0001], ln 23-27); identify a first server cluster and first server node where the container is to be placed (The cluster control plane 270 may create a virtual infrastructure by instantiating a packaged group (or pool 291) of a plurality of nodes 250a, 250b, such as virtual machines (VMs), para[0054], ln 4-9/ Thus, the container scheduler 272 may be configured to identify the current CPU and memory available on each node 250a, 250c in the pool 291 to identify a VM for initial placement of the container, para[0060], ln 11-19); generating an output to a cloud control plane to deploy the container, with the first container size, to the first server cluster and first server node( The container scheduler 272 in the cluster control plane 270 may manage virtualized resources such that at any given time a specified quantity of free CPU and memory resources are available within the pool 291 of nodes 250a, 250c. When a user requests for a container, the container scheduler 272 may place the requested container on the nodes 250a, 250c within the designated pool 291 with enough resources, such as CPU, memory, based on the container request specified by the user. The container scheduler 272 may intelligently allocate available resources across the pool 291 of nodes 250a, 250/ communication and coordination between the hypervisor 220 and the container scheduler 272 and/or the nodes for resource allocation. In this example, a node 402 having a resource of 8 vCPUs with memory of 32 GB is scheduled. When a first container is initiated on the node, as shown in the communication path 401, the first container may have a capacity request of a first container instance requesting a capacity of 4 vCPUs and 12 GB memory. After the first container with the requested capacity of the first container instance is assigned on the node 402, the node 402 may notify the hypervisor 220 regarding the reserved or used capacity by the first container instance for the first container, as shown in the communication path 402, para[0073], ln 1-15) Server computers 110, 120, 130, 140, and client computer 150 may each be at one node of network 190 and capable of directly and indirectly communicating with other nodes of the network 190, para[0031], ln 1-5/ in a conventional bin packing process configured to pack containers of different sizes into an unit with a predetermined capacity of physical resources, the conventional bin packing process may merely utilize the entire physical resources in the unit), para[0066], ln 1-6). It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the feature of Das and Zhu with Olmsted to incorporate the above feature because this allows technology provides for allocating an available resource in a computing system by bidirectional communication between a hypervisor and a container scheduler in the computing system. Chen teaches wherein performing a second bin packing analysis comprises assign a plurality of containers for a plurality of different workloads by merging the workloads on a server cluster based on peak usage times for each usage( FIG. 1 is a block diagram of an example of a computing device 102 for allocating computing resources 106a-c to a container 104 according to some aspects. The computing device 102 can include a laptop computer, a desktop computer, a server, a mobile device, a node in a cloud computing environment or cluster, or any combination of these, para[0012]/ the computing device 102 can allocate (or attempt to allocate) one or more computing resources, such as computing resources 106a-c, to the container 104. In this example, computing resources 106a-c are shown as being part of the computing device 102, para[0013], ln 1-5/ The computing resources can include any number and combination of dependent computing resources. Examples of dependent computing resources can include a statefulset and a pod. A pod can be a group of containers with shared storage, network components, and specifications. The computing resources can additionally or alternatively include any number and combination of independent computing resources, para[0014], ln 1-8/ prior to allocating the dependent computing resource 208a to the container 104, the processing device 202 may also execute the backoff process 210b for the other computing resource 208b, determine that the other computing resource 208b is available, and allocate the other computing resource 208b to the container 104. This is indicated by the dashed line from the other computing resource 208b to the container 104, para[0027], ln 9-18/ the other computing resource 208b can include a first computing resource and a second computing resource. And the backoff process 210b can include a first backoff-process and a second backoff-process for the first computing resource and the second computing resource, respectively. In some examples, the processing device 202 can determine the parameter value 212a for the backoff process 210a using (i) a first parameter-value for the first backoff-process corresponding to the first computing resource, and (ii) a second parameter-value for the second backoff-process corresponding to the second computing resource, para[0026], ln 1-16/ So, the computing device 102 can implement backoff processes for the computing resources 106a-c. If the computing resource 106a depends on computing resources 106b-c, the computing device 102 can begin by determining parameter values 110b-c for the backoff processes 108b-c. In this example, the parameter values 110b-c for Parameters A-N shown in the dashed circles in FIG. 1. Examples of the Parameters A-N can include the initial time-duration, the time interval between checks, the maximum time-duration, or any combination of these. The computing device 102 can then use these parameter values 110b-c to determine parameter values 110a for the backoff process 108a associated with the computing resource 106a. This is indicated by the dashed arrow. For example, the value of Parameter A (e.g., A1) in the backoff process 108a can be determined by taking the sum, average, median, mode, or maximum of A2 and A3. Additionally or alternatively, the value of Parameter B (e.g., B1) in the backoff process 108a can be determined by taking the sum, average, median, mode, or maximum of B2 and B3. Additionally or alternatively, the value of Parameter N (e.g., N1) in the backoff process 108a can be determined by taking the sum, average, median, mode, or maximum (e.g., larger) of N2 and N3. The computing device 102 can determine any number and combination of parameter values 110a for the backoff process 108a using any number and combination of parameter values for other backoff processes associated with any number and combination of other computing resources, para[0016], ln 7-34). It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this can help prevent, for example, the time-interval value for the backoff process from exponentially increasing to a very large value, thereby reducing the overall startup latency for the container. As to claim 2, Das teaches generating a predicted resource usage and quality of service of the workload and wherein performing a second bin packing analysis includes performing the second bin packing analysis to identify the bin packing action based on the predicted resource usage and quality of service( para[0011]/ para[0030], ln 1-10/ para[0034], ln 1-15) As to claim 3, Das teaches performing a second bin packing analysis comprises: performing a container optimization analysis to identify a second container size based on the first and second runtime feedback signals( para[0047], ln 14), teaches generating a bin packing output signal comprises: generating the bin packing output signal indicative of the second container size and an action identifier identifying an action to re-size the container to the second container size( para[0067], ln 8-25). As to claim 14, 15, 17, 20, they are rejected for the same reasons as to claims 1, 2, 3, 4 above. Claim(s) 5, 7, 8, 18, 19 are rejected under 35 U.S.C. 103 as being unpatentable over Das( US 20160321588 A1) in view of Zhu( US 7644162 B1) in view of Olmsted-Thompson(US 20220164208 A1) in view of Chen(US 20190196876 A1) and further in view of Singh(US 9256467 B1). As to claim 5, Olmsted teaches performing a second bin packing analysis comprises: performing a server cluster assignment analysis to identify a second server cluster based on the first and second runtime feedback signals( para[0060], ln 11-19) for the same reason as to claim 1 above. Singh teaches generating a bin packing output signal comprises: generating the bin packing output signal indicative of the second server cluster and an action identifier identifying an action to re-assign the container to the second server cluster( receiving a request to launch a set of images, including the image of the software container, in accordance with a task definition, wherein the task definition identifies a set of software containers, including the software container, that are assigned to start as a group and specifies an allocation of resources to the set of software containers, wherein the request specifies the cluster identifier of the cluster; and in response to the request to launch the one or more images, determining a subset of the set of container instances represented by the cluster specified by the cluster identifier in which to launch the set of software containers, wherein one or more container instances are determined according to a placement scheme; and launching the set of images to yield running software containers within the subset of the set of container instances so that the running software containers are allocated resources in accordance with the allocation of resources specified in the task, left col 43, ln 22-42). It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this manages various applications running on multiple virtual machine instances and such applications may not be portable to other computing systems or scalable to meet an increased need for resources. As to claim 7, Singh teaches performing a second bin packing analysis comprises: performing a container optimization analysis to identify a number of containers for the workload based on the first and second runtime feedback signals( col 11, ln 62-65 to col 12, ln 1-5) for the same reason as to claim 6 above. As to claim 8, Das teaches generating a bin packing output signal comprises: generating the bin packing output signal indicative of the number of containers and an action identifier identifying an action to generate the number of containers( para[0025], ln 1-16). As to claims 18, 19, they are rejected for the same reasons as to claims 5, 6 7 and 8 above. Claim 9 is/are rejected under 35 U.S.C. 103 as being unpatentable over Das( US 20160321588 A1) in view of Zhu( US 7644162 B1) in view of Olmsted-Thompson(US 20220164208 A1) in view of Chen(US 20190196876 A1) in view of Singh(US 9256467 B1) and further in view of MASRANI(US 20150268865 A1). As to claim 9, MASRANI teaches performing a second bin packing analysis comprises: calculating a time and space cost of assigning the second container to the second server cluster( Each of the containers C.sub.1, C.sub.2, C.sub.3, and C.sub.N is not limited to using the resources of one server in the data center. Instead, each of the containers C.sub.1, C.sub.2, C.sub.3, and C.sub.N uses allocated resources of the data center and the resources allocated to each container is not fixed and may change over time to improve computational efficiency, lower costs, and satisfy changing demands for resources. For example, in one computational time interval, container C.sub.1 may be allocated the resources of server 206 while container C.sub.2 may be allocated the resources of servers 216-218. In a subsequent time interval, container C.sub.1 may be allocated the resources of the server 206 and the resources of another server while the number of resources allocated to container C.sub.2 is reduced to the resources of servers 217 and 218. A record of how much of each resource a container uses is recorded over time, para[0019], ln 5-25). It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this provides efficient computational mathematical tools for determining allocated cost of resource used by each container. Claim(s) 10, 11, 12 are rejected under 35 U.S.C. 103 as being unpatentable over Das( US 20160321588 A1) in view of Zhu( US 7644162 B1) in view of Olmsted-Thompson(US 20220164208 A1) in view of Chen(US 20190196876 A1) in view of Mohan(US 10972503 B1) and further in view of PARIZI( US 20220180275 A1). As to claim 10, Mohan teaches performing a second bin packing analysis comprises: assign a plurality of containers for a plurality of different workloads( o manage the containers, the computer cluster can include a container orchestration service, which can start and stop containers, distribute and/or move containers across the cluster to distribute the workload, and manage communications between the containers. An example of a container orchestration service is the system called Kubernetes, col 43, ln 25-35). It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify the above teaching to incorporate the above feature because this determines appropriate decoy containerized services for the environment, and can deploy the decoy alongside production containerized service.. Parizi teaches plurality of different workloads by grouping the workloads on a server cluster based on peak usage times for each usage( Thus, data center data store 110 may include identities of server types that have been ordered from server warehouses and component entities, geographic location data, duration of time it takes to receive server clusters from server warehouses (e.g., from time of order), and cost to install and execute workloads on server clusters. Data center data store 110 may additionally include current and past customer workloads (e.g., number of virtual cores utilized by each customer, types of workloads handled by each server cluster or data center), types software updates that have been made to server clusters, types of firmware updates that have been made to server clusters, types of hardware updates that have been made to server clusters, growth rate of customer cloud usage, cloud demand backorder data, and fraudulent use of computing resources data, para[0037]). It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify above teaching to incorporate the above feature because this determines the optimal safety stock distribution with minimal cost. As to claim 11, Parizi teaches accessing historical usage data for the workload and wherein performing a second bin packing analysis comprises performing the second bin packing analysis based on the historical usage data for the workload( para[0056], ln 1-26/ para[0067] for the same reason as to claim 10 above. As to claim 12, Parizi teaches detecting historical usage data comprises detecting seasonal usage data for the workload, and wherein performing a second bin packing analysis comprises performing the second bin packing analysis based on the seasonal usage data for the workload( para[0045], ln 1-25/para[0056], ln 1-19) for the same reason as to claim 10 above. Claim(s) 13, 16 are rejected under 35 U.S.C. 103 as being unpatentable over Das( US 20160321588 A1) in view of Zhu( US 7644162 B1) in view of Olmsted-Thompson(US 20220164208 A1) in view of Chen(US 20190196876 A1) and further in view of Piercey( US 20200401452 A1). As to claim 13, Piercey teaches receiving a second runtime feedback signal comprises: receiving a latency signal indicative of a latency of operation of the workload in the container( Upon receiving a resource request from an administrator or enterprise user for a virtual compute or storage resource (e.g., virtual machine, container, or storage volume), the global orchestrator may identify a resource policy associated with the request, where the policy includes rules that each specifies metadata tags and associated criteria, para[0006], ln 1-10/ such as examples in which the orchestration platform is a Kubernetes platform, the metadata tags may be published of influencing scheduling or routing decisions, selection of compute and/or storage device class, and physical location placement of containers and/or storage workloads across the distributed computing environment of system 100, para[0049], ln 18-26). It would have been obvious to one of the ordinary skill in the art before the effective filling date of claimed invention was made to modify above teaching to incorporate the above feature because this enables the execution of software in different computing environments within one or more data centers of the distribute computing environment. As to claim 16 , Piercey teaches generating a runtime feedback signal from the container indicative of a latency of operation of the workload in the container( para[0006], ln 1-10/ para[0049], ln 18-26) for the same reason as to claim 13. Allowable Subject Matter Claims 21, 22 are objected to as being dependent upon a rejected base claim, but would be allowable if rewritten in independent form including all of the limitations of the base claim and any intervening claims. Response to the argument: A. Applicant amendment filed on 07/13/2026 has been considered but they are not persuasive: Applicant argued in substance that : (1) “ the aforementioned portions of Walker cited by the Current Office Action fail to disclose the limitations "receiving a request to migrate sensitive data from a first volume in a first trusted execution environment (TEE) to a second volume in a second TEE." In other words, Walker fails to disclose migrating sensitive data between TEEs..” B. Examiner respectfully disagreed with Applicant's remarks: As to the point (1) Das teaches The computer 902 can be one of several computers employed in a datacenter and/or computing resources (hardware and/or software) in support of cloud computing services for portable and/or mobile computing systems such as wireless communications devices, cellular telephones, and other mobile-capable devices. Cloud computing services, include, but are not limited to, infrastructure as a service, platform as a service, software as a service, storage as a service, desktop as a service, data as a service, security as a service, and APIs (application program interfaces) as a service, for example, para[0098]/ to select a container size suitable for workloads, para[0001[, ln 6-9/ DaaS platforms tenants must estimate and manually change the database container size. The tenant is charged for the largest container size used in the billing interval and pays the summation of costs for each billing interval., para[0001], ln 7-12/ An auto-scaling module automatically determines a container size for a subsequent billing interval based on available budget, and observing latencies and resource utilization in the billing intervals from the immediate past. An aspect of the auto-scaling module is the capability to estimate the resource demands from the measurable database engine telemetry (e.g., counters and statistics reported by the database server or the DaaS) such as resource utilization, waits for resources, etc., para[0004], ln 5-15); receiving a first runtime feedback signal during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal indicative of a quality of service of the workload in the container( The auto-scaling module 102 receives as input the changing telemetry 302, and other inputs 304 such as cost budget, container size ranges, performance goal, sensitivity, and so on, para[0043])/ a container size suitable for workloads, para[0001], ln 6-9/ collects detailed counters (called production telemetry) for each container, para[0045], and a resource demand estimator configured to estimate resource demands that warrant a larger container or a smaller container. The resource demand estimator can be configured to transform the telemetry into signals used to estimate the resource demands of multiple workloads of the database servers, para[0034], ln 5-11 / Each database server (of the servers 404) in the service 400 hosts a set of containers (similar to containers 104 of FIG. 1), para[0045], ln 5-9); Zhu teaches receiving a first runtime feedback signal from the container during runtime of the workload, the first runtime feedback signal being indicative of resource usage by the workload; receiving a second runtime feedback signal from the container indicative of a quality of service of the workload in the container( In one example, the performance monitoring agent 165 measures the performance metrics for the application performance in the resource container 103a. Measuring or determining the performance metrics includes measuring the performance of the application 104a in the resource container 103a according to the performance metrics which may be specified in the SLA. The performance monitoring agent 165 sends the performance monitoring information, including the measured metrics, to the resource allocator 106. The measured metrics may be used as performance feedback of the application 104a and/or feedback on resource usage in the resource container 103a. In another example, the performance monitor determines a statistical metric from one or more measured performance metrics, such as an average or a moving average for one or more measured attributes. The statistical metric is also a performance metric, col 3, ln 44-67) performing a second bin packing analysis to identify a bin packing action to take based on the first runtime feedback signal and the second runtime feedback signals( The resource allocator 106 determines the allocation of resources for the resource container 103a using the performance monitoring information and the SLA inputs 105 for the applications 104a. Determining the allocation of resources is described in further detail with respect to FIGS. 3 and 4. The resource allocator 106 sends resource entitlement instructions to the resource scheduler 110a for adjusting the allocation of resources in the resource container 103a, col 3, ln 65-67). Olmsted teaches generating a bin packing output signal indicative of the identified bin packing action and providing the bin packing output signal to a cloud control plane for execution of the identified bin packing action, the container is to be placed in the cloud computer system ( The container scheduler 272 in the cluster control plane 270 may manage virtualized resources such that at any given time a specified quantity of free CPU and memory resources are available within the pool 291 of nodes 250a, 250c. When a user requests for a container, the container scheduler 272 may place the requested container on the nodes 250a, 250c within the designated pool 291 with enough resources, such as CPU, memory, based on the container request specified by the user. The container scheduler 272 may intelligently allocate available resources across the pool 291 of nodes 250a, 250c to make an initial placement of the container within the pool of nodes, para[0060], ln 1-14/ the cloud provider may have a cloud control plane that set rules and policies for all the clusters on the cloud or provides easy ways for users to perform management tasks on the clusters, para[0001], ln 23-27); identify a first server cluster and first server node where the container is to be placed (The cluster control plane 270 may create a virtual infrastructure by instantiating a packaged group (or pool 291) of a plurality of nodes 250a, 250b, such as virtual machines (VMs), para[0054], ln 4-9/ Thus, the container scheduler 272 may be configured to identify the current CPU and memory available on each node 250a, 250c in the pool 291 to identify a VM for initial placement of the container, para[0060], ln 11-19); generating an output to a cloud control plane to deploy the container, with the first container size, to the first server cluster and first server node( The container scheduler 272 in the cluster control plane 270 may manage virtualized resources such that at any given time a specified quantity of free CPU and memory resources are available within the pool 291 of nodes 250a, 250c. When a user requests for a container, the container scheduler 272 may place the requested container on the nodes 250a, 250c within the designated pool 291 with enough resources, such as CPU, memory, based on the container request specified by the user. The container scheduler 272 may intelligently allocate available resources across the pool 291 of nodes 250a, 250/ communication and coordination between the hypervisor 220 and the container scheduler 272 and/or the nodes for resource allocation. In this example, a node 402 having a resource of 8 vCPUs with memory of 32 GB is scheduled. When a first container is initiated on the node, as shown in the communication path 401, the first container may have a capacity request of a first container instance requesting a capacity of 4 vCPUs and 12 GB memory. After the first container with the requested capacity of the first container instance is assigned on the node 402, the node 402 may notify the hypervisor 220 regarding the reserved or used capacity by the first container instance for the first container, as shown in the communication path 402, para[0073], ln 1-15) Server computers 110, 120, 130, 140, and client computer 150 may each be at one node of network 190 and capable of directly and indirectly communicating with other nodes of the network 190, para[0031], ln 1-5/ in a conventional bin packing process configured to pack containers of different sizes into an unit with a predetermined capacity of physical resources, the conventional bin packing process may merely utilize the entire physical resources in the unit), para[0066], ln 1-6). Chen teaches wherein performing a second bin packing analysis comprises assign a plurality of containers for a plurality of different workloads by merging the workloads on a server cluster based on peak usage times for each usage( FIG. 1 is a block diagram of an example of a computing device 102 for allocating computing resources 106a-c to a container 104 according to some aspects. The computing device 102 can include a laptop computer, a desktop computer, a server, a mobile device, a node in a cloud computing environment or cluster, or any combination of these, para[0012]/ the computing device 102 can allocate (or attempt to allocate) one or more computing resources, such as computing resources 106a-c, to the container 104. In this example, computing resources 106a-c are shown as being part of the computing device 102, para[0013], ln 1-5/ The computing resources can include any number and combination of dependent computing resources. Examples of dependent computing resources can include a statefulset and a pod. A pod can be a group of containers with shared storage, network components, and specifications. The computing resources can additionally or alternatively include any number and combination of independent computing resources, para[0014], ln 1-8/ prior to allocating the dependent computing resource 208a to the container 104, the processing device 202 may also execute the backoff process 210b for the other computing resource 208b, determine that the other computing resource 208b is available, and allocate the other computing resource 208b to the container 104. This is indicated by the dashed line from the other computing resource 208b to the container 104, para[0027], ln 9-18/ the other computing resource 208b can include a first computing resource and a second computing resource. And the backoff process 210b can include a first backoff-process and a second backoff-process for the first computing resource and the second computing resource, respectively. In some examples, the processing device 202 can determine the parameter value 212a for the backoff process 210a using (i) a first parameter-value for the first backoff-process corresponding to the first computing resource, and (ii) a second parameter-value for the second backoff-process corresponding to the second computing resource, para[0026], ln 1-16/ So, the computing device 102 can implement backoff processes for the computing resources 106a-c. If the computing resource 106a depends on computing resources 106b-c, the computing device 102 can begin by determining parameter values 110b-c for the backoff processes 108b-c. In this example, the parameter values 110b-c for Parameters A-N shown in the dashed circles in FIG. 1. Examples of the Parameters A-N can include the initial time-duration, the time interval between checks, the maximum time-duration, or any combination of these. The computing device 102 can then use these parameter values 110b-c to determine parameter values 110a for the backoff process 108a associated with the computing resource 106a. This is indicated by the dashed arrow. For example, the value of Parameter A (e.g., A1) in the backoff process 108a can be determined by taking the sum, average, median, mode, or maximum of A2 and A3. Additionally or alternatively, the value of Parameter B (e.g., B1) in the backoff process 108a can be determined by taking the sum, average, median, mode, or maximum of B2 and B3. Additionally or alternatively, the value of Parameter N (e.g., N1) in the backoff process 108a can be determined by taking the sum, average, median, mode, or maximum (e.g., larger) of N2 and N3. The computing device 102 can determine any number and combination of parameter values 110a for the backoff process 108a using any number and combination of parameter values for other backoff processes associated with any number and combination of other computing resources, para[0016], ln 7-34). Applicant's amendment necessitated the new ground(s) of rejection presented in this Office action. Accordingly, THIS ACTION IS MADE FINAL. See MPEP § 706.07(a). 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. Conclusion US 20160321588 A1 teaches An auto-scaling module automatically determines a container size for a subsequent billing interval based on telemetry that comprises latencies (e.g., waits), resource utilizations, and available budget, for example. A set of robust signals are derived from database engine telemetry and combined to significantly improve accuracy of resource demand estimation for database workloads. In a more specific implementation, resource demands can be estimated for arbitrary SQL (structured query language) workloads in a relational database management system (RDBMS). CN 111274111 teaches realizing anti-aging undoubtedly increases the complexity and flexibility of the task. The invention claims the utilization rate of CPU, memory, disk container vertical automatic expanding-reducing technology, it can observed in step 3, automatically adjusting the size of the resource container. US 20200244589 A1 teaches as schedule containers of different sizes arrive, while also minimizing rejection probability. In an embodiment associated with a container cloud environment where computing nodes have limited resources and container requests with resource needs are submitted online, containers can be provided to computing nodes so as to optimize resource usage while minimizing rejection of large containers. US 20200280592 A1 teaches Each process runs a set of threads, often with one core provisioned per thread. In another example case, configurations with different numbers of pods and containers and processes can be configured in data center 152. Disclosed N-CASB 155 includes high availability load balancing (HALB) controller 212, workload orchestrator 216. US 20220405116 A1 teaches containerized controller services and containerized I/O server services may be distributed across physical resources at a plant or elsewhere in any desired fashion. Further, if desired, any one or more of the implemented containers are not permanently fixed or pinned to any particular computer cluster or node server they happen to be executing on at any given time. US 20240311202 A1ifferent runtime engines on one or more compute nodes within the cluster architecture, wherein the plurality of different runtime engines comprise a container based runtime engine and a virtual machine (VM)-based runtime engine. Performance metrics are received from each of the plurality of different runtime engines corresponding to execution of the workload. US 20190317817 A1 teaches utilizing server computer and cluster resources. Third, forecasting metric data allows workload placement 1514 to place applications, VMs, and containers in the same cluster of server computers provided the forecast peaks occur at different times and the superimposed effective demand for cluster resources do not cross corresponding resource thresholds. Any inquiry concerning this communication or earlier communications from the examiner should be directed to LECHI TRUONG whose telephone number is (571)272-3767. The examiner can normally be reached 10-8 PM. 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 Young Kevin can be reached on (571)270-3180. 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. /LECHI TRUONG/Primary Examiner, Art Unit 2194
Read full office action

Prosecution Timeline

Feb 22, 2024
Application Filed
May 07, 2026
Non-Final Rejection mailed — §101, §103
Jul 13, 2026
Response Filed
Sep 22, 2026
Final Rejection mailed — §101, §103 (current)

Precedent Cases

Applications granted by this same examiner with similar technology

Patent 12743300
DOUBLE-FLASH SWITCHING DEVICE AND SERVER
2y 9m to grant Granted Sep 22, 2026
Patent 12724638
MANAGEMENT APPARATUS, MANAGEMENT METHOD AND MANAGEMENT PROGRAM
2y 10m to grant Granted Sep 01, 2026
Patent 12717621
TRANSPARENTLY EXECUTING ACTIONS WITHIN A CONTAINERIZED CLOUD ENVIRONMENT
3y 8m to grant Granted Aug 25, 2026
Patent 12705088
Task Repacking
4y 5m to grant Granted Aug 11, 2026
Patent 12675339
WORKLOAD MEASURES BASED ON ACCESS LOCALITY
4y 2m to grant Granted Jul 07, 2026
Study what changed to get past this examiner. Based on 5 most recent grants.

Strategy Recommendation AI-generated — please review before filing

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

Prosecution Projections

3-4
Expected OA Rounds
87%
Grant Probability
99%
With Interview (+36.4%)
3y 0m (~5m remaining)
Median Time to Grant
Moderate
PTA Risk
Based on 889 resolved cases by this examiner. Grant probability derived from career allowance rate.

Sign in with your work email

Enter your email to receive a magic link. No password needed.

Personal email addresses (Gmail, Yahoo, etc.) are not accepted.

Free tier: 3 strategy analyses per month