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 .
1. Applicant’s arguments with respect to claim(s) 1, 16, and 20 have been considered but are moot because the new ground of rejection does not rely on any reference applied in the prior rejection of record for any teaching or matter specifically challenged in the argument.
Claim Rejections - 35 USC § 103
2. 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.
3. Claims 1-6, and 16-20 are rejected under 35 U.S.C. 103 as being unpatentable over Shi et al. Pub. No. US 2023/0259409 A1 (hereafter Shi) in view of Chen et al. Pat. No. US 11,114,362 B1 (hereafter Chen), Feng et al. Pub. No. US 2018/0046503 A1 (hereafter Feng), and Natarajan et al. Pub. No. US 2023/0266997 A1 (hereafter Natarajan).
4. Regarding claim 1, Shi teaches “A method, comprising: determining, by a container orchestration system (COS) executing on a computing device, ([0043] & Fig. 1 teaches an orchestration system)
a first current state of each containerized instance of a plurality of containerized instances executing on a compute node in a cluster of compute nodes; determining, by the COS, a first current state of each compute node in the cluster of compute nodes ([0077-0078] teaches a scheduler with resource management module that can monitor the resource usage of containers, container groups, and nodes);
calculating, by the COS, for each respective compute node in the cluster of compute nodes, a first cost associated with each containerized instance on the respective compute node based on the first current state of each containerized instance and the first current state of each compute node ([0073-0075] teaches node groups associated with container sizes such that size represent total computing resources being utilized. [0108-0109] teach sorting containers based on their resource usage on each node such that it shows the cost of running container sizes on respective nodes);
creating, by the COS, a list of preferred compute nodes … for each containerized instance, to execute on based on the first current state of each containerized instance, the first current state of each compute node, and the first cost associated with each containerized instance for each compute node in the cluster of compute nodes… ; and causing, by the COS based on the list of preferred compute nodes, the first containerized instance to be moved to the first compute node identified in the list of preferred compute nodes ([0080-0081] teaches ranking nodes based on spare capacities and migrating containers; it also mentions of sorting container groups by computing resource usage such that it determines the cost of running containerized instance on a node [0101-0110] explicitly teaches moving containers to nodes that have available resources, which may be nodes identified by the rankings).”
Shi does not explicitly teach calculating the cost of a containerized instance. Chen teaches a COS implemented with content-based page sharing to determine effective resource consumption which serves as calculating a cost metric for scheduling decisions (Col 7, line 38 – Col 8, line 10).
It would have been obvious to a person of ordinary skill in the art before the effective
filing date to combine the teachings of Chen with the invention of Shi of implementing CBPS technology with the COS. A person having ordinary skill in the art would have been motivated to make this combination to have the COS calculate the cost of container states, streamlining the efficient scheduling of the invention. Together, Chen in combination with Shi teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied said teachings to achieve expected results. The combination may not explicitly teach a list of compute nodes that indicate a particular compute node for each respective containerized instance.
Feng teaches a container-instance mapping table such that it teaches the limitation “a list of … compute nodes that indicates for each containerized instance, a particular compute node that a respective containerized instance … wherein the list of … compute nodes pairs a first compute node to a first containerized instance of the plurality of containerized instances ([0063] teaches a table which associates containers with the nodes on which they are deployed)”.
It would have been obvious to a person of ordinary skill in the art before the effective
filing date to combine the teachings of Feng with the combination of Shi and Chen to have created a container-node mapping. A person having ordinary skill in the art would have been motivated to make this combination in order to allow the scheduler to make better informed decisions when scheduling containers to move from one node to another node.
The combination may not explicitly teach that the mapping be of a list of preferred nodes.
Natarajan teaches pod-node assignments such that it teaches the limitation “a list of preferred compute nodes ([0014] teaches a Kubernetes architecture including a key-value store that may include data pertaining to placement of pods and/or a node list. [0026-0029] teaches obtaining a list of pods from a global registry along with scores generated by nodes, such that there may be a pod-node pairing determined by the scheduler in order to schedule a pod to the selected node)”. It would have been obvious to a person of ordinary skill in the art before the effective
filing date to combine the teachings of Natarajan with the combination of Shi, Chen, and Feng of modifying the table to include nodes and their scores. A person having ordinary skill in the art would have been motivated to make this combination in order to have the scheduler make better informed decisions regarding which node to schedule the pod to. Together, Natarajan in combination with Shi, Chen, and Feng teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied said teachings to achieve expected results.
5. Regarding claim 16, it is similar to that of claim 1 and is rejected for the same reasons. Claim 16 is directed towards “A computing device, comprising: a memory; and a processor device coupled to the memory (Shi [0118])”.
6. Regarding claim 20, it is similar to that of claim 1 and is rejected for the same reasons. Claim 20 is directed towards “A non-transitory computer-readable storage medium that includes computer-executable instructions (Shi [0028])”.
7. Regarding claim 2, wherein the combination, Chen teaches “The method of claim 1, further comprising: determining that a second containerized instance of the plurality of containerized instances is to be initiated on a compute node in the cluster of compute nodes; accessing the list of preferred compute nodes; and causing the second containerized instance to be initiated on a second compute node in the cluster of compute nodes based on the list of preferred compute nodes (Chen [Col 6 line 25 – Col 7 line] teaches inserting a new unit onto a filtered node using the list of nodes based on priority weight).”
It would have been obvious to a person of ordinary skill in the art before the effective
filing date to combine the teachings of Chen with the invention of Shi to show that containers may be initiated on a node based on a list of ranked nodes. A person having ordinary skill in the art would have been motivated to make this combination to allow for nodes to be optimized and initiated on preferred nodes. Together, Chen in combination with Shi, Feng, and Natarajan teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied said teachings to achieve expected results.
8. Regarding claim 17, it is similar to that of claim 2, and is rejected for the same reasons.
9. Regarding claim 3, it is similar to that of claim 1, therefore it is rejected for the same reasons. “The method of claim 2, further comprising: prior to accessing the list of preferred compute nodes, determining a second current state of each containerized instance of the plurality of containerized instances executing on a compute node in the cluster of compute nodes; determining a second current state of each compute node in the cluster of compute nodes; calculating, for each respective compute node in the cluster of compute nodes, a second cost associated with each containerized instance on the respective compute node based on the second current state of each containerized instance and the second current state of each compute node;” is taught by Shi in combination with Chen in claim 1.
“… and updating the list of preferred compute nodes for each containerized instance to execute on based on the second current state of each containerized instance, the second current state of each compute node, and the second cost associated with each containerized instance for each compute node in the cluster of compute nodes. (Chen [Col 6 line 25 – Col 7 line] teaches filtering out nodes when inserting a new unit such that it would update when a new unit is to be initiated).”
10. Regarding claim 18, it is similar to that of claim 3 and is rejected for the same reasons.
11. Regarding claim 4, wherein the combination Shi teaches “The method of claim 1, wherein determining the first current state of each containerized instance of the plurality of containerized instances executing on a compute node in the cluster of compute nodes comprises obtaining, from each containerized instance of the plurality of containerized instances, resources of each respective containerized instance of the plurality of containerized instances. ([0070] teaches an agent that can obtain resources from container and send to scheduler).”
12. Regarding claim 5, wherein the combination Shi teaches “The method of claim 1, wherein determining the first current state of each compute node in the cluster of compute nodes comprises obtaining, from each compute node in the cluster of compute nodes, resources of each respective compute node in the cluster of compute nodes ([0070] teaches an agent that can obtain resources from node and send to scheduler).”
13. Regarding claim 6, wherein the combination Shi teaches “The method of claim 1, wherein calculating, for each respective compute node in the cluster of compute nodes, the first cost associated with each containerized instance on the respective compute node based on the first current state of each containerized instance and the first current state of each compute node comprises: determining costs for each containerized instance with the respective first current state to execute on the respective compute node in the cluster of compute nodes with the respective first current state; determining costs for the respective compute node with the respective first current state to execute in the cluster of compute nodes ([0078] teaches a resource management module that monitors resource usage of containers and nodes); determining costs to move each containerized instance to the respective compute node; and calculating, for the respective compute node, the first cost associated with each containerized instance on the respective compute node based on the costs for each containerized instance, the costs for the respective compute node, and the costs to move each containerized instance to the respective compute node ([0033] teaches determining which container to migrate based on resources consumed as well as based on the ranking of nodes such that it determines which containers to migrate based on resource usage of nodes and containers).”
14. Regarding claim 19, it is similar to that of claim 6, and is rejected for the same reasons.
15. Regarding claim 7, wherein the combination Shi teaches “The method of claim 6, wherein: the costs for each containerized instance with the respective first current state to execute on the respective compute node in the cluster of compute nodes comprise computing resources for executing the respective containerized instance on the respective compute node in the cluster of compute nodes; the costs for the respective compute node with the respective first current state to execute in the cluster of compute nodes comprise computing resources for executing the respective compute node in the cluster of compute nodes; and the costs to move each containerized instance to the respective compute node comprise computing resources to move the respective containerized instance to the respective compute node ([0033] teaches resource usage being the measure of migration in containers and nodes. [0059] teaches that the scheduler evaluates whether to consolidate resources by migrating workloads such that it aims to minimize costs of container migration, accounting for the cost of container migration).”
16. Claims 8-15 are rejected under 35 U.S.C. 103 as being unpatentable over Shi, Chen, Feng, and Natarajan as used in claims 1, 16, and 20 above, and in further view of Mitra et al. Pub. No. US 2020/0257968 A1 (hereafter Mitra).
17. Regarding claim 8, Shi teaches “The method of claim 1, wherein creating the list of preferred compute nodes for each containerized instance to execute on based on the first current state of each containerized instance, the first current state of each compute node, and the first cost associated with each containerized instance for each compute node in the cluster of compute nodes comprises: … the first current state of each containerized instance, the first current state of each compute node, and the first cost associated with each containerized instance for each compute node in the cluster of compute nodes; and outputting, … the list of preferred compute nodes… (Shi teaches these in claim 1).”
Shi does not teach a machine-learned model determining a policy. Mitra teaches a self-learning scheduler such that it teaches “receiving, by a machine-learned model (Mitra [0030-0032] teaches a self-learning scheduler),
determining, by the machine-learned model, a policy for each containerized instance based on the first current state of each containerized instance, the first current state of each compute node, and the first cost associated with each containerized instance for each compute node in the cluster of compute nodes (Mitra [0044-0047] teaches the scheduler learning to learn and encode a scheduling policy);
and outputting, by the machine-learned model the list of preferred compute nodes based on the policy. (Mitra [0034] teaches the machine learning model able to generate outputs based on plurality of inputs to model’ [0062] teaches selecting a machine of compute infrastructure based on scheduling policy”.
It would have been obvious to a person of ordinary skill in the art before the effective
filing date to combine the teachings of Mitra to the combination of Shi and Chen to improve the scheduler of Shi with a machine-learning model. A person having ordinary skill in the art would have been motivated to make this combination to “improve scheduling distribution of the resources and minimize resource contention, improving application performance for a better overall user-experience (Mitra [Abstract]).” Together, Mitra in combination with Shi and Chen, Feng, and Natarajan teach every limitation of the claimed invention. Since the teachings were analogous art known at the filing time of invention, one of ordinary skill could have applied said teachings to achieve expected results.
18. Regarding claim 9, wherein the combination Mitra teaches “The method of claim 8, wherein the machine-learned model comprises a reinforcement learning algorithm. ([0038-0039] teaches a reinforcement learning-based agent)”
19. Regarding claim 10, the combination teaches “The method of claim 9, further comprising: determining, by the reinforcement learning algorithm based on the first current state of each containerized instance, the first current state of each compute node (Mitra [0011] teaches a reinforcement learning agent including a state observation module) , and the first cost associated with each containerized instance for each compute node in the cluster of compute nodes (Shi [0073-0075] and [0108-0109] as taught in claim 1), actions to improve one or more of the first current state of each containerized instance and the first current state of each compute node (Mitra [0044-0050] teaches a reward or penalty system such that it teaches actions to improve, allowing the RL agent to readjust to improve its score).”
20. Regarding claim 11, wherein the combination Shi teaches “The method of claim 1, wherein the list of preferred compute nodes comprises a list of a preferred compute node in the cluster of compute nodes for each containerized instance of the plurality of containerized instances. ([0080] teaches a ranking unit sorting a plurality of nodes and a plurality of containers running on a node)”
21. Regarding claim 12, wherein the combination Shi teaches “The method of claim 1, further comprising: obtaining a performance constraint associated with the first current state of each containerized instance; wherein creating the list of preferred compute nodes for each containerized instance to execute on comprises creating the list of preferred compute nodes for each containerized instance to execute on based on the first current state of each containerized instance, the first current state of each compute node, the first cost associated with each containerized instance for each compute node in the cluster of compute nodes (Shi teaches this in claim 1), and the performance constraint. ([0070] teaches the agent able to transmit data about resource usage to scheduler such that it transmits the state of containers. [0030] teaches the scheduler can also score and rank based on resource limits).”
22. Regarding claim 13, wherein the combination Shi teaches “The method of claim 1, further comprising: obtaining a performance constraint associated with the first cost associated with each containerized instance for each compute node in the cluster of compute nodes ([0070] teaches the agent monitoring resource usage of containers and nodes such that it teaches costs of currently running); wherein creating the list of preferred compute nodes for each containerized instance to execute on comprises creating the list of preferred compute nodes for each containerized instance to execute on based on the first current state of each containerized instance, the first current state of each compute node, the first cost associated with each containerized instance for each compute node in the cluster of compute nodes (Shi teaches this in claim 1), and the performance constraint ([0030] teaches scheduler ranking based on resource usage).”
23. Regarding claim 14, wherein the combination Shi teaches “The method of claim 1, further comprising: determining a change in resources available on one or more compute nodes in the cluster of compute nodes ([0092-0093] teaches determining when a job is done, it removes the container group, releasing computing resources such that there is a change in resources available) ; in response to determining the change in resources available, determining a second current state of each containerized instance of the plurality of containerized instances executing on a compute node in the cluster of compute nodes; determining a second current state of each compute node in the cluster of compute nodes; calculating, for each respective compute node in the cluster of compute nodes, a second cost associated with each containerized instance on the respective compute node based on the second current state of each containerized instance and the second current state of each compute node (Shi teaches these in claim 1, and in [0096-0100], it teaches determining whether a node is sufficient to host a container group such that it gets it would get the node and container states by the agent in [0070]); and updating the list of preferred compute nodes for each containerized instance to execute on based on the second current state of each containerized instance, the second current state of each compute node, and the second cost associated with each containerized instance for each compute node in the cluster of compute nodes ([0101] teaches ranking the plurality of nodes based on available resources described such that it teaches what resources are already used on that node; thus the cost of current nodes and how much computing resources retain, and updating since this is after a node removal and the consolidating of resources).”
24. Regarding claim 15, it is similar to that of claim 8, and is therefore rejected for the same reasons. Claim 15 is directed towards “The method of claim 14, wherein updating the list of preferred compute nodes for each containerized instance to execute on”, whereas it would have been obvious to use the combination of claim 8 for the updating step described in claim 14.
References that were not used but are pertinent to the art are as follows:
US 20250021446 A1
teaches
SMART LOAD BALANCING OF CONTAINERS FOR DATA PROTECTION USING SUPERVISED LEARNING
US 20210149737 A1
teaches
METHOD FOR FAST SCHEDULING FOR BALANCED RESOURCE ALLOCATION IN DISTRIBUTED AND COLLABORATIVE CONTAINER PLATFORM ENVIRONMENT
US 20210042151 A1
teaches
METHOD AND SYSTEM FOR MIGRATION OF CONTAINERS IN A CONTAINER ORCHESTRATION PLATFORM BETWEEN COMPUTE NODES
US 20180203736 A1
teaches
AFFINITY BASED HIERARCHICAL CONTAINER SCHEDULING
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.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to BRANDON A NGUYEN whose telephone number is (571)272-6074. The examiner can normally be reached Mon-Fri (10am-6pm).
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, Aimee Li can be reached at (571) 272-4169. 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.
/BRANDON NGUYEN/Examiner, Art Unit 2195
/Aimee Li/Supervisory Patent Examiner, Art Unit 2195