IP Library Granted Patent US 12683897
Granted Patent B2
US 12683897 · App. 18/767,296 · Granted Jul 14, 2026

Load balancing using a quality of service policy

Inventors: Salvatore Pasquale DeDona (Cortlandt Manor, NY); Hubertus Franke (Cortlandt Manor, NY)
Assignee: International Business Machines Corporation
H04L47/125H04L47/805H04L47/826
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12683897
App. No.
18/767,296
Granted
Jul 14, 2026
Kind
B2
Abstract

Described are techniques for load balancing using a quality of service policy. The techniques include identifying, in response to receiving a client request at a load balancer that distributes client requests to compute resources located in a computing environment, a quality of service (QoS) policy that corresponds to the client request, where the QoS policy specifies one or more conditions for performing the client request. The techniques further include identifying a set of compute resources that comply with the one or more conditions of the QoS policy, and initiating a selection of a target compute resource from the set of compute resources to send the client request.

Claims (58)

1 . A computer-implemented method comprising:

receiving a client request at a load balancer that distributes client requests to compute resources located in a computing environment, wherein the client request specifies both a service request and a configuration requirement of a compute resource that is to perform the service request;

identifying, by the load balancer, a quality of service (QoS) policy that corresponds to the configuration requirement specified by the client request, the QoS policy specifying one or more conditions for performing the client request;

identifying, by the load balancer, a set of compute resources that comply with the one or more conditions of the QoS policy; and

selecting, by the load balancer, a target compute resource from the set of compute resources to send the client request.

2 . The computer-implemented method of claim 1 , wherein identifying the QoS policy further comprises:

classifying the client request as being within a policy scope of the QoS policy, wherein information is extracted from the client request and the information is correlated to the policy scope of the QoS policy.

3 . The computer-implemented method of claim 1 , further comprising:

collecting historical performance data for client requests in a same class as the client request; and

determining a condition of the QoS policy based on the historical performance data.

4 . The computer-implemented method of claim 1 , wherein identifying the set of compute resources further comprises:

evaluating key performance indicators (KPIs) for the compute resources located in the computing environment to identify the set of compute resources as complying with the one or more conditions of the QoS policy.

5 . The computer-implemented method of claim 4 , further comprising:

collecting, by the load balancer, performance information for the compute resources located in the computing environment via interactions with the compute resources; and

deriving one or more of the KPIs for the compute resources from the performance information for use in identifying the set of compute resources.

6 . The computer-implemented method of claim 4 , further comprising:

obtaining configuration information of the compute resources located in the computing environment from a system resource monitor for the computing environment; and

deriving one or more of the KPIs for the compute resources from the configuration information for use in identifying the set of compute resources.

7 . The computer-implemented method of claim 1 , further comprising registering a QoS policy module with the load balancer, wherein the QoS policy module performs the identifying the QoS policy and the identifying the set of compute resources, and the QoS policy module provides information for the set of compute resources to the load balancer to allow the load balancer to select the target compute resource from the set of compute resources.

8 . A system comprising:

one or more computer readable storage media storing program instructions and one or more processors which, in response to executing the program instructions, are configured to:

receiving a client request at a load balancer that distributes client requests to compute resources located in a computing environment, wherein the client request specifies both a service request and a configuration requirement of a compute resource that is to perform the service request;

identify, by the load balancer, a quality of service (QoS) policy that corresponds to the configuration requirement specified by the client request, the QoS policy specifying one or more conditions for performing the client request;

identify, by the load balancer, a set of compute resources that comply with the one or more conditions of the QoS policy; and

select, by the load balancer, a target compute resource from the set of compute resources to send the client request.

9 . The system of claim 8 , wherein the program instructions configured to cause the one or more processors to identify the QoS policy are further configured to cause the one or more processors to:

classify the client request as being within a policy scope of the QoS policy, wherein information is extracted from the client request and the information is correlated to the policy scope of the QoS policy.

10 . The system of claim 8 , wherein the program instructions are further configured to cause the one or more processors to:

collect historical performance data for client requests in a same class as the client request; and

determine a condition of the QoS policy based on the historical performance data.

11 . The system of claim 8 , wherein the program instructions configured to cause the one or more processors to identify the set of compute resources are further configured to cause the one or more processors to:

evaluate key performance indicators (KPIs) for the compute resources located in the computing environment to identify the set of compute resources as able to satisfy the one or more conditions of the QoS policy.

12 . The system of claim 11 , wherein the program instructions are further configured to cause the one or more processors to:

collect, by the load balancer, performance information for the compute resources located in the computing environment via interactions with the compute resources; and

derive one or more of the KPIs for the compute resources from the performance information for use in identifying the set of compute resources.

13 . The system of claim 12 , wherein the program instructions are further configured to cause the one or more processors to:

obtain configuration information of the compute resources located in the computing environment from a system resource monitor for the computing environment; and

derive one or more of the KPIs for the compute resources from the configuration information for use in identifying the set of compute resources.

14 . The system of claim 8 , further comprising registering a QoS policy module with the load balancer, wherein the QoS policy module performs the identifying the QoS policy and the identifying the set of compute resources, and the QoS policy module provides information for the set of compute resources to the load balancer to allow the load balancer to select the target compute resource from the set of compute resources.

15 . A computer program product comprising:

one or more computer readable storage media, and program instructions collectively stored on the one or more computer readable storage media, the program instructions configured to cause one or more processors to:

receiving a client request at a load balancer that distributes client requests to compute resources located in a computing environment, wherein the client request specifies both a service request and a configuration requirement of a compute resource that is to perform the service request;

identify, by the load balancer, a quality of service (QoS) policy that corresponds to the configuration requirement specified by the client request, the QoS policy specifying one or more conditions for performing the client request;

identify, by the load balancer, a set of compute resources that comply with the one or more conditions of the QoS policy; and

select, by the load balancer, a target compute resource from the set of compute resources to send the client request.

16 . The computer program product of claim 15 , wherein the program instructions configured to cause the one or more processors to identify the QoS policy are further configured to cause the one or more processors to:

classify the client request as being within a policy scope of the QoS policy, wherein information is extracted from the client request and the information is correlated to the policy scope of the QoS policy.

17 . The computer program product of claim 15 , wherein the program instructions are further configured to cause the one or more processors to:

collect historical performance data for client requests in a same class as the client request; and

determine a condition of the QoS policy based on the historical performance data.

18 . The computer program product of claim 15 , wherein the program instructions configured to cause the one or more processors to identify the set of compute resources are further configured to cause the one or more processors to:

evaluate key performance indicators (KPIs) for the compute resources located in the computing environment to identify the set of compute resources as complying with the one or more conditions of the QoS policy.

19 . The computer program product of claim 18 , wherein the program instructions are further configured to cause the one or more processors to:

collect, by the load balancer, performance information for the compute resources located in the computing environment via interactions with the compute resources; and

derive one or more of the KPIs for the compute resources from the performance information for use in identifying the set of compute resources.

20 . The computer program product of claim 18 , wherein the program instructions are further configured to cause the one or more processors to:

obtain configuration information of the compute resources located in the computing environment from a system resource monitor for the computing environment; and

derive one or more of the KPIs for the compute resources from the configuration information for use in identifying the set of compute resources.