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 .
DETAILED ACTION
The instant application having Application No. 18/384,070 filed on 10/26/2023 is presented for examination.
Examiner Notes
Examiner cites particular columns and line numbers in the references as applied to the claims below for the convenience of the applicant. Although the specified citations are representative of the teachings in the art and are applied to the specific limitations within the individual claim, other passages and figures may apply as well. It is respectfully requested that, in preparing responses, the applicant fully consider the references in entirety as potentially teaching all or part of the claimed invention, as well as the context of the passage as taught by the prior art or disclosed by the examiner.
Drawings
The applicant’s drawings submitted are acceptable for examination purposes.
Authorization for Internet Communications
The examiner encourages Applicant to submit an authorization to communicate with the examiner via the Internet by making the following statement (from MPEP 502.03):
“Recognizing that Internet communications are not secure, I hereby authorize the USPTO to communicate with the undersigned and practitioners in accordance with 37 CFR 1.33 and 37 CFR 1.34 concerning any subject matter of this application by video conferencing, instant messaging, or electronic mail. I understand that a copy of these communications will be made of record in the application file.”
Please note that the above statement can only be submitted via Central Fax, Regular postal mail, or EFS Web.
Information Disclosure Statement
As required by M.P.E.P. 609, the applicant’s submissions of the Information Disclosure Statement dated 10/26/2023 is acknowledged by the examiner and the cited references have been considered in the examination of the claims now pending.
Claim Rejections - 35 USC § 101
35 U.S.C. 101 reads as follows:
Whoever invents or discovers any new and useful process, machine, manufacture, or composition of matter, or any new and useful improvement thereof, may obtain a patent therefor, subject to the conditions and requirements of this title.
Claims 1-20 are rejected under 35 U.S.C. 101 because the claimed invention is directed to an abstract ide without significantly more.
Step 1: Claim 1 is a system claim. Claim 8 is a product claim. Claim 15 is a method claim.
Step 2:
2A Prong 1:
The claims recites
scheduling containers on multiple nodes of a cluster so that percentages of a computing resource being utilized on the multiple nodes are modified to match each other within a specified threshold amount;
determining, by the one or more processors, differences of percentages of the computing resource being used between nodes included in pairs of nodes included in the multiple nodes;
determining, by the one or more processors, that a difference of percentages of the computing resource being used between a first node and a second node exceeds the specified threshold amount, the first and second nodes are included in a given pair of nodes included in the pairs of nodes; and
shuffling, by the one or more processors, one or more containers between the first and second nodes so that a difference of percentages of the computing resource being used between the first and second nodes does not exceed the specified threshold amount.
under its broadest reasonable interpretation, 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).
2A Prong 2:
This judicial exception is not integrated into a practical application because the
the one or more processors
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. Accordingly, these additional elements do not integrate the abstract idea into a practical application because they do not impose any meaningful limits on practicing the abstract idea. (see MPEP 2106.05(f).
The judicial exception is not integrated into a practical application. In particular, the claim recites the additional elements
scheduling containers on multiple nodes of a cluster so that percentages of a computing resource being utilized on the multiple nodes are modified to match each other within a specified threshold amount
The limitations amount to a data gathering step and a mere generic transmission and presentation of collected and analyzed data which is considered to be insignificant extra solution activity (see MPEP 2106.05(g)).
2B:
The claims do 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, the additional elements of the
one or more processors
are merely a generic computer or generic computer components to apply the judicial exception which cannot provide an inventive concept. Accordingly, the claim does not appear to be patent eligible under 35 USC 101.
The claim does not include additional elements that are sufficient to amount to significantly more than the judicial exception. The limitations
scheduling containers on multiple nodes of a cluster so that percentages of a computing resource being utilized on the multiple nodes are modified to match each other within a specified threshold amount;
are recognized by the courts as well-understood, routine , and conventional activities when they are claimed in a merely generic manner (see MPEP 2106.05(d)(II)(iv) Storing and retrieving information in memory, Versata Dev. Group Inc....
As such, claim 15 is rejected under 35 U.S.C. 101.
Claims 2-14 and 16-20 depend from claim 1 or 15 and do not add additional elements that would overcome the rejection of claim1 or 15. For example:
2. The computer system of claim 1, wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operation:
repeating the shuffling for one or more containers between other first and second nodes in any other of the pairs of nodes in which a difference of percentages of the computing resource being used between the other first and second nodes exceeds the specified threshold amount, wherein the repeating provides a scheduling of the containers so that respective percentages of the computing resource consumed on the multiple nodes are within the specified threshold amount.
(mental process – observation)
3. The computer system of claim 1, wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operations:determining that the first node in the given pair of nodes has greater consumption of the computing resource than the second node in the given pair of nodes;
based on the first node in the given pair of nodes having the greater consumption of the computing resource than the second node in the given pair of nodes, identifying containers on the first node in the given pair of nodes, determining respective usages of the computing resource for the identified containers, and generating an ordered list of the identified containers with the identified containers being ordered according to the respective usages;
determining a first actual amount of the computing resource consumed by the first node in the given pair of nodes;
determining a second actual amount of the computing resource consumed by the second node in the given pair of nodes;
calculating an actual computing resource difference as a difference between the first and second actual amounts of the computing resource consumed on the first and second nodes, respectively, in the given pair of nodes;
performing an iteration over the ordered list for the given pair of nodes and for a given identified container in the iteration,determining that a usage of the computing resource for the given identified containers is less than the actual computing resource difference; and
based on the usage of the computing resource for the given identified container being less than the actual computing resource difference, moving the given identified container from the first node in the given pair of nodes to the second node in the given pair of nodes; and
recalculating the actual computing resource difference based on the first and second actual amounts of the computing resource consumed on the first and second nodes, respectively, being updated as a result of the moving the given identified container from the first node to the second node.
(mental process – observation)
4. The computer system of claim 3, wherein the recalculated actual computing resource difference does not exceed the specified threshold amount subsequent to the iteration.
(mental process – observation)
5. The computer system of claim 1, wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operations:
obtaining historical information about usage of the computing resource by the containers;
and initially deploying the containers on empty nodes based on the historical information,
with a usage of the computing resource for a container on a node being initially assigned a value from the historical information.
(mental process – observation)
6. The computer system of claim 1, wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operations:continuously calculating modulus values by calculating a modulus of a difference between percentages of usage of the computing resource for each pair of nodes in the multiple nodes;
sorting the modulus values in descending order; and
denominating nodes of each pair of nodes as Nmhigh and Nnlow, so that a consumption of the computing resource for Nmhigh is greater than a consumption of the computing resource for Nnlow,
wherein the shuffling the one or more containers between the first and second nodes includes shuffling containers of Nmhigh and Nnlow, so that a modulus of a difference between a first percentage of the computing resource being consumed by Nmhigh and a second percentage of the computing resource being consumed by Nnlow is less than the specified threshold amount.
(mental process – observation)
7. The computer system of claim 1, wherein the computing resource being utilized includes a memory, a central processing unit, a disk, or a computer network resource.
. A computer program product comprising:one or more computer readable storage media having computer readable program code collectively stored on the one or more computer readable storage media, the computer readable program code being executed by one or more processors of a computer system to cause the computer system to perform at least the following operations:
scheduling containers on multiple nodes of a cluster so that percentages of a computing resource being utilized on the multiple nodes are modified to match each other within a specified threshold amount, wherein the scheduling includes:
determining differences of percentages of the computing resource being used between nodes included in pairs of nodes included in the multiple nodes;
determining that a difference of percentages of the computing resource being used between a first node and a second node exceeds the specified threshold amount, the first and second nodes are included in a given pair of nodes included in the pairs of nodes; and
shuffling one or more containers between the first and second nodes so that a difference of percentages of the computing resource being used between the first and second nodes does not exceed the specified threshold amount.
(mental process – evaluation)
9. The computer program product of claim 8, wherein the computer readable program code being executed by the one or more processors of the computer system causes the computer system to perform the following further operation:repeating the shuffling for one or more containers between other first and second nodes in any other of the pairs of nodes in which a difference of percentages of the computing resource
being used between the other first and second nodes exceeds the specified threshold amount, wherein the repeating provides a scheduling of the containers so that respective percentages of the computing resource consumed on the multiple nodes are within the specified threshold amount.
(mental process – evaluation)
10. The computer program product of claim 8, wherein the computer readable program code being executed by the one or more processors of the computer system causes the computer system to perform the following further operations:determining that the first node in the given pair of nodes has greater consumption of the computing resource than the second node in the given pair of nodes;
based on the first node in the given pair of nodes having the greater consumption of the computing resource than the second node in the given pair of nodes, identifying containers on the first node in the given pair of nodes, determining respective usages of the computing resource for the identified containers, and generating an ordered list of the identified containers with the identified containers being ordered according to the respective usages;
determining a first actual amount of the computing resource consumed by the first node in the given pair of nodes;
determining a second actual amount of the computing resource consumed by the second node in the given pair of nodes;
calculating an actual computing resource difference as a difference between the first and second actual amounts of the computing resource consumed on the first and second nodes, respectively, in the given pair of nodes;
performing an iteration over the ordered list for the given pair of nodes and for a given identified container in the iteration,determining that a usage of the computing resource for the given identified containers is less than the actual computing resource difference; and
based on the usage of the computing resource for the given identified container being less than the actual computing resource difference, moving the given identified container from the first node in the given pair of nodes to the second node in the given pair of nodes; and
recalculating the actual computing resource difference based on the first and second actual amounts of the computing resource consumed on the first and second nodes, respectively, being updated as a result of the moving the given identified container from the first node to the second node.
(mental process – evaluation)
11. The computer program product of claim 10, wherein the recalculated actual computing resource difference does not exceed the specified threshold amount subsequent to the iteration.
(mental process – evaluation)
12. The computer program product of claim 8, wherein the computer readable program code being executed by the one or more processors of the computer system causes the computer system to perform the following further operations:obtaining historical information about usage of the computing resource by the containers;
and
initially deploying the containers on empty nodes based on the historical information,
with a usage of the computing resource for a container on a node being initially assigned a value from the historical information.
(mental process – evaluation)
13. The computer program product of claim 8, wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operations:continuously calculating modulus values by calculating a modulus of a difference between percentages of usage of the computing resource for each pair of nodes in the multiple nodes;
sorting the modulus values in descending order; and
denominating nodes of each pair of nodes as Nmhigh and Nnlow, so that a consumption of the computing resource for Nmhigh is greater than a consumption of the computing resource for Nnlow,
wherein the shuffling the one or more containers between the first and second nodes includes shuffling containers of Nmhigh and Nnlow, so that a modulus of a difference between a first percentage of the computing resource being consumed by Nmhigh and a second percentage of the computing resource being consumed by Nnlow is less than the specified threshold amount.
(Mathematical concept – calculating)
14. The computer program product of claim 8, wherein the computing resource being utilized includes a memory, a central processing unit, a disk, or a computer network resource. (generic computer compoents)
16. The method of claim 15, further comprising: repeating, by the one or more processors, the shuffling for one or more containers between other first and second nodes in any other of the pairs of nodes in which a difference of percentages of the computing resource being used between the other first and second nodes exceeds the specified threshold amount, wherein the repeating provides a scheduling of the containers so that respective percentages of the computing resource consumed on the multiple nodes are within the specified threshold amount (Mental processes of evaluation)
17. The method of claim 15, further comprising:determining, by the one or more processors, that the first node in the given pair of nodes has greater consumption of the computing resource than the second node in the given pair of nodes;
based on the first node in the given pair of nodes having the greater consumption of the computing resource than the second node in the given pair of nodes, identifying, by the one or more processors, containers on the first node in the given pair of nodes, determining, by the one or more processors, respective usages of the computing resource for the identified containers, and generating, by the one or more processors, an ordered list of the identified containers with the identified containers being ordered according to the respective usages;
determining, by the one or more processors, a first actual amount of the computing resource consumed by the first node in the given pair of nodes;
determining, by the one or more processors, a second actual amount of the computing resource consumed by the second node in the given pair of nodes;
calculating, by the one or more processors, an actual computing resource difference as a difference between the first and second actual amounts of the computing resource consumed on the first and second nodes, respectively, in the given pair of nodes;
performing, by the one or more processors, an iteration over the ordered list for the given pair of nodes and for a given identified container in the iteration,
determining, by the one or more processors, that a usage of the computing resource for the given identified containers is less than the actual computing resource difference; and
based on the usage of the computing resource for the given identified container being less than the actual computing resource difference, moving, by the one or more processors, the given identified container from the first node in the given pair of nodes to the second node in the given pair of nodes; and
recalculating, by the one or more processors, the actual computing resource difference based on the first and second actual amounts of the computing resource consumed on the first and second nodes, respectively, being updated as a result of the moving the given identified container from the first node to the second node (Mental processes of evaluation)
18. The method of claim 17, wherein the recalculated actual computing resource difference does not exceed the specified threshold amount subsequent to the iteration (Mental processes of evaluation)
19. The method of claim 15, further comprising:obtaining, by the one or more processors, historical information about usage of the computing resource by the containers; and
initially deploying, by the one or more processors, the containers on empty nodes based on the historical information, with a usage of the computing resource for a container on a node being initially assigned a value from the historical information (Mental processes of judegment)
20. The method of claim 15, further comprising:continuously calculating, by the one or more processors, modulus values by calculating a modulus of a difference between percentages of usage of the computing resource for each pair of nodes in the multiple nodes;
sorting, by the one or more processors, the modulus values in descending order; and
denominating, by the one or more processors, nodes of each pair of nodes as Nmhigh and NnioW, so that a consumption of the computing resource for Nmhigh is greater than a consumption of the computing resource for NnioW,
wherein the shuffling the one or more containers between the first and second nodes includes shuffling containers of Nmhigh and NnioW, so that a modulus of a difference between a first percentage of the computing resource being consumed by Nmhigh and a second percentage of the computing resource being consumed by NnioW is less than the specified threshold amount (Mental processes of evaluation)
Claim Rejections - 35 USC § 102
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claims 1-4, 6-11, 13-18 and 20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Sampathkumar (US 2021/0211492).
As per claim 1, Sampathkumar discloses a computer system comprising:
one or more computer processors;
one or more computer readable storage media; and
computer readable code stored collectively in the one or more computer readable storage media, with the computer readable code including data and instructions to cause the one or more computer processors to perform at least the following operations:
scheduling containers on multiple nodes of a cluster so that percentages of a computing resource being utilized on the multiple nodes are modified to match each other within a specified threshold amount, (Paragraph 23 “At step 220, resource scheduler 110 selects a first host and a second host for examination. In the illustrated embodiment, resource scheduler 110 selects the most loaded host (e.g., the first host) and the least loaded host (e.g., the second host). Then, at step 230, resource scheduler 110 determines if the resource utilization difference between the first and second hosts exceeds the threshold difference. If the resource utilization difference between the two hosts is less than the threshold difference, resource scheduler 110 determines that load balancing is not necessary and the process terminates.”), wherein the scheduling includes:
determining differences of percentages of the computing resource being used between nodes included in pairs of nodes included in the multiple nodes (Paragraph 23 “Then, at step 230, resource scheduler 110 determines if the resource utilization difference between the first and second hosts exceeds the threshold difference.”);
determining that a difference of percentages of the computing resource being used between a first node and a second node exceeds the specified threshold amount, the first and second nodes are included in a given pair of nodes included in the pairs of nodes (Paragraph 14 “VM management server 105 manages hosts 120 as a cluster and includes a resource scheduling software, hereinafter referred to as resource scheduler 110, executing therein. Software components of resource scheduler 110 include a load measurer 112 and a migration engine 114. Load measurer 112 periodically requests from each host 120 the resource utilization metrics being tracked therein. After load measurer 112 obtains the resource utilization metrics from the hosts 120, resource scheduler 110 determines if a resource utilization difference between any two hosts in the virtualized computing platform exceeds a threshold difference. The threshold difference may be, for example, a user-defined value representing a maximum resource utilization difference (e.g., maximum processor utilization difference, maximum memory usage difference, maximum storage throughput difference, maximum network bandwidth consumption difference, and so on) between two hosts.”); and
shuffling one or more containers between the first and second nodes so that a difference of percentages of the computing resource being used between the first and second nodes does not exceed the specified threshold amount (Paragraph 25 “At step 250, resource scheduler 110 recommends the migrations of the candidate workloads identified at step 240 to the administrator or directly to migration engine 114.”).
As per claim 2, Sampathkumar further discloses wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operation:
repeating the shuffling for one or more containers between other first and second nodes in any other of the pairs of nodes in which a difference of percentages of the computing resource being used between the other first and second nodes exceeds the specified threshold amount, wherein the repeating provides a scheduling of the containers so that respective percentages of the computing resource consumed on the multiple nodes are within the specified threshold amount (Paragraph 20 “In still another embodiment, resource scheduler 110 iteratively identifies one or more workloads for migration. For example, resource scheduler 110 identifies a workload having the lowest resource utilization at the source host for as the first candidate workload migration. If resource scheduler 110 determines that migration of the first candidate workload does not result in a post-migration resource utilization difference falling below the threshold difference, resource scheduler 110 selects one or more additional workloads at the source host for evaluation until the post-migration resource utilization difference falls below the threshold difference.”).
As per claim 3, Sampathkumar further discloses wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operations:
determining that the first node in the given pair of nodes has greater consumption of the computing resource than the second node in the given pair of nodes (Abstract “A method for load balancing across hosts includes the steps of determining a resource utilization difference between first and second hosts, wherein the first host has a higher resource utilization than the second host, comparing the resource utilization difference against a threshold difference, and upon determining that the resource utilization difference exceeds the threshold difference, selecting a workload executing in the first host for migration to the second host.”);
based on the first node in the given pair of nodes having the greater consumption of the computing resource than the second node in the given pair of nodes, identifying containers on the first node in the given pair of nodes, determining respective usages of the computing resource for the identified containers, and generating an ordered list of the identified containers with the identified containers being ordered according to the respective usages (Paragraph 4 “One or more embodiments implement pairwise comparison of resource utilization by hosts in a cluster for load balancing. A method for load balancing across hosts, according to an embodiment, includes the steps of determining a resource utilization difference between first and second hosts, wherein the first host has a higher resource utilization than the second host, comparing the resource utilization difference against a threshold difference, and upon determining that the resource utilization difference exceeds the threshold difference, selecting a workload executing in the first host for migration to the second host.”);
determining a first actual amount of the computing resource consumed by the first node in the given pair of nodes (Paragraph 4);
determining a second actual amount of the computing resource consumed by the second node in the given pair of nodes (Paragraph 4);
calculating an actual computing resource difference as a difference between the first and second actual amounts of the computing resource consumed on the first and second nodes, respectively, in the given pair of nodes (Paragraph 4);
performing an iteration over the ordered list for the given pair of nodes and for a given identified container in the iteration (Paragraph 20);
determining that a usage of the computing resource for the given identified containers is less than the actual computing resource difference (Paragraph 4); and
based on the usage of the computing resource for the given identified container being less than the actual computing resource difference, moving the given identified container from the first node in the given pair of nodes to the second node in the given pair of nodes (Paragraph 4); and
recalculating the actual computing resource difference based on the first and second actual amounts of the computing resource consumed on the first and second nodes, respectively, being updated as a result of the moving the given identified container from the first node to the second node (Paragraph 4).
As per claim 4, Sampathkumar further discloses wherein the recalculated actual computing resource difference does not exceed the specified threshold amount subsequent to the iteration (Paragraph 15 “If the difference in resource utilization between the most loaded host and the least loaded host is less than the threshold difference, resource scheduler 110 does not trigger load balancing.”).
As per claim 6, Sampathkumar further discloses wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operations:
continuously calculating modulus values by calculating a modulus of a difference between percentages of usage of the computing resource for each pair of nodes in the multiple nodes ((Paragraph 4 show “determining a resource utilization difference between first and second hosts.”);
sorting the modulus values in descending order (Paragraph 4); and
denominating nodes of each pair of nodes as Nmhigh and Nnlow, so that a consumption of the computing resource for Nmhigh is greater than a consumption of the computing resource for Nnlow (Paragraph 4),
wherein the shuffling the one or more containers between the first and second nodes includes shuffling containers of Nmhigh and Nnlow, so that a modulus of a difference between a first percentage of the computing resource being consumed by Nmhigh and a second percentage of the computing resource being consumed by Nnlow is less than the specified threshold amount (Paragraph 4).
As per claim 7, Sampathkumar further discloses wherein the computing resource being utilized includes a memory, a central processing unit, a disk, or a computer network resource (Paragraph 2).
As per claims 8-11, 13 and 14, they are product claims having similar limitations as cited in claims 1-4, 6 and 7 and are rejected under the same rationale.
As per claims 15-18 and 20, they are method claims having similar limitations as cited in claims 1-4, 6 and 7 and are rejected under the same rationale.
Claim Rejections - 35 USC § 103
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claims 5, 12 and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Sampathkumar in view of Choochotkaew (US 2022/0318060).
As per claim 5, Sampathkumar does not expressly disclose but Choochotkaew discloses
further discloses wherein the computer readable code including the data and the instructions causes the one or more computer processors to perform the following further operations:
obtaining historical information about usage of the computing resource by the containers (Paragraph 3 “r scheduling and scaling a cloud system for μservice applications is provided. The computer-implemented method includes identifying a plurality of nodes within one or more clusters associated with a plurality of containers, generating a model for predicting resource usage among the plurality of nodes, automatically deciding on a number of replicated containers, node bindings, and weight for each replicated container according to application requests and current usage status of a cluster of the one or more clusters that reduce resource usages and μservice cohesion, and determining at least node redistribution of the plurality of nodes within the plurality of containers and workload partitioning to reconfigure scaling, scheduling, and balance deployment requirements of the microservice applications.”); and
initially deploying the containers on empty nodes based on the historical information, with a usage of the computing resource for a container on a node being initially assigned a value from the historical information (Paragraph 3).
Therefore it would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to modify Sampathkumar to include the teachings of Choochotkaew because it provides a more efficient manner to deploy resources using the historical modelling approach. In this way, the combination is more likely to deploy resources in a manner that is more efficient.
As per claim 12, it is a product claim having similar limitations as cited in claim 5 and is thus rejected under the same rationale.
As per claim 19, it is a method claim having similar limitations as cited in claim 5 and is thus rejected under the same rationale.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Singh (US 20220357972) discloses a task definition is received. The task definition indicates at least a location from which one or more software image can be obtained and information usable to determine an amount of resources to allocate to one or more software containers for the one or more software image. A set of virtual machine instances in which to launch the one or more software containers is determined, the one or more software image is obtained from the location included in the task definition and is launched as the one or more of software containers within the set of virtual machine instances.
Kambatla (US 20180074855) discloses a utilization-aware approach to cluster scheduling, to address this resource fragmentation and to improve cluster utilization and job throughput. In some embodiments a resource manager at a master node considers actual usage of running tasks and schedules opportunistic work on underutilized worker nodes. The resource manager monitors resource usage on these nodes and preempts opportunistic containers in the event this over-subscription becomes untenable. In doing so, the resource manager effectively utilizes wasted resources, while minimizing adverse effects on regularly scheduled tasks.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to TIMOTHY A MUDRICK whose telephone number is (571)270-3374. The examiner can normally be reached 9am-5pm Central Time.
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.
/TIMOTHY A MUDRICK/Primary Examiner, Art Unit 2198 3/18/2026