Load balancing of distributed services
First Claim
1. A method, with an information processing system, for load balancing service requests across one or more servers, the method comprising:
- accessing, by the information processing system in response to obtaining a service request, a shared metrics array stored in memory of at least one server of a plurality of servers in a service cluster, where the information processing system comprises the service request and is external to the service cluster, and where each server in the plurality of servers comprises at least one service for satisfying the service request, the shared metrics array being accessible at the server by each of the plurality of servers, wherein the shared metrics array comprises a set of metrics for each of the plurality of servers, and wherein each of the plurality of servers comprises one or more services, the shared metrics array being directly accessed in the memory of the server by the information processing system without involving a processor of the at least one server,wherein the accessing comprises;
performing one or more remote direct memory access operations on a memory of the at least one server comprising the shared metrics array;
identifying a portion of the shared metrics array associated with the at least one server; and
analyzing the set of metrics associated with the at least one server;
determining, based on the set of metrics associated with at least one server in the plurality of servers, if the service request is to be sent to the at least one server; and
sending the service request to the at least one server based on determining that the service request is to be sent to the at least one sever.
1 Assignment
0 Petitions
Accused Products
Abstract
Various embodiments load balance service requests across one or more servers. In one embodiment, a service requestor directly accesses a shared metrics array stored in at least one server of a plurality of servers in a service cluster. Each of these servers includes one or more services. The shared metrics array is accessible by each of the plurality of servers, and includes a set of metrics for each of the plurality of servers. A determination is made based on the set of metrics associated with at least one server in the plurality of servers if a service request is to be sent to the at least one server. The service request is sent to the at least one server based on determining that the service request is to be sent to the at least one sever.
-
Citations
14 Claims
-
1. A method, with an information processing system, for load balancing service requests across one or more servers, the method comprising:
-
accessing, by the information processing system in response to obtaining a service request, a shared metrics array stored in memory of at least one server of a plurality of servers in a service cluster, where the information processing system comprises the service request and is external to the service cluster, and where each server in the plurality of servers comprises at least one service for satisfying the service request, the shared metrics array being accessible at the server by each of the plurality of servers, wherein the shared metrics array comprises a set of metrics for each of the plurality of servers, and wherein each of the plurality of servers comprises one or more services, the shared metrics array being directly accessed in the memory of the server by the information processing system without involving a processor of the at least one server, wherein the accessing comprises; performing one or more remote direct memory access operations on a memory of the at least one server comprising the shared metrics array; identifying a portion of the shared metrics array associated with the at least one server; and analyzing the set of metrics associated with the at least one server; determining, based on the set of metrics associated with at least one server in the plurality of servers, if the service request is to be sent to the at least one server; and sending the service request to the at least one server based on determining that the service request is to be sent to the at least one sever. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An information processing system for load balancing service requests across one or more servers, the information processing system comprising:
-
a processor; a memory communicatively coupled to the processor; and a load balancer communicatively coupled to the processor and the memory, the load balancer configured to perform a method comprising; accessing a shared metrics array stored in memory of at least one server of the plurality of servers in a service cluster in response to obtaining a service request, where the information processing system is external to the service cluster and comprises service request, and where each server in the plurality of servers comprises at least one service for satisfying the service request, the shared metrics array being accessible at the server by each of the plurality of servers, wherein the shared metrics array comprises a set of metrics for each of the plurality of servers, and wherein each of the plurality of servers comprises one or more services, the shared metrics array being directly accessed in the memory of the server by the load balancer without involving a processor of the at least one server, wherein the accessing comprises; performing one or more remote direct memory access operations on a memory of the at least one server comprising the shared metrics array; identifying a portion of the shared metrics array associated with the at least one server; and analyzing the set of metrics associated with the at least one server; determining, based on the set of metrics associated with at least one server in the plurality of servers, if the service request is to be sent to the at least one server; and sending the service request to the at least one server based on determining that the service request is to be sent to the at least one sever. - View Dependent Claims (8, 9)
-
-
10. A computer program storage product for load balancing service requests across one or more servers, the computer program storage product comprising a non-transitory storage medium readable storing instructions for execution by an information processing system for performing a method comprising:
-
accessing, by the information processing system in response to obtaining a service request, a shared metrics array stored in memory of at least one server of a plurality of servers in a service cluster, where the information processing system comprises the service request and is external to the service cluster, and where each server in the plurality of servers comprises at least one service for satisfying the service request, the shared metrics array being accessible at the server by each of the plurality of servers, wherein the shared metrics array comprises a set of metrics for each of the plurality of servers, and wherein each of the plurality of servers comprises one or more services, the shared metrics array being directly accessed in the memory of the server by the information processing system without involving a processor of the at least one server, wherein the accessing comprises; performing one or more remote direct memory access operations on a memory of the at least one server comprising the shared metrics array; identifying a portion of the shared metrics array associated with the at least one server; and analyzing the set of metrics associated with the at least one server; determining, based on the set of metrics associated with at least one server in the plurality of servers, if the service request is to be sent to the at least one server; and sending the service request to the at least one server based on determining that the service request is to be sent to the at least one sever. - View Dependent Claims (11, 12, 13, 14)
-
Specification