Systems, methods, devices and arrangements for server load distribution
Assignee8×8, Inc.
InventorsMarc Petit-Huguenin, Bryan R. Martin, Jim Kleck
Life of this patent
Estimating the term…
Abstract
A variety of methods, systems, devices and arrangements are implemented for controlling server load-distributions. According to one such computer-implemented method, a desired server load-distribution is assigned for a plurality of computer servers that collectively provide services to computer clients. In response to a computer client request for service, a subset of computer servers is selected from the plurality of computer servers. Weight factors for servers of the selected subset of servers are determined as a function of the overall server load-distribution-profile and the selected subset.
Claims19
A computer-implemented method for improving the efficiency of a computer performing load balancing in response to client requests, the method comprising:
- determining a subset size corresponding to a number of computer servers identified within a client response message that identifies servers from a plurality of computer servers providing client services, wherein the subset size is less than a number of servers in the plurality of computer servers;
- determining a probability of randomly selecting each of the plurality of computer servers for the client response message based upon the subset size;
- determining weight factors for the plurality of computer servers based on client services provided by each computer server and as a function of a load-distribution-profile for the plurality of computer servers and the determined probability, wherein the load-distribution-profile includes different desired load percentages for different computer servers of the plurality of computer servers;
- receiving, from a client computer, a client request for the client services;
- randomly selecting, from the plurality of computer servers, a subset of the subset size;
- and
- transmitting an indication of the selected subset of computer servers and the corresponding determined weight factors to the client computer.
A computer-implemented method for improving the efficiency of a computer performing load balancing in response to client requests, the method comprising:
- determining a subset size corresponding to a number of computer servers contained within a client response message that identifies servers from a plurality of computer servers providing client services, wherein the subset size is less than a number of servers in the plurality of computer servers;
- determining a probability of selecting each of the plurality of computer servers for the client response message based upon the subset size;
- determining weight factors for the plurality of computer servers as a function of a load-distribution-profile for the plurality of computer servers and the determined probability, wherein the load-distribution-profile includes different desired load percentages for different computer servers of the plurality of computer servers and a weighted distribution based on the client services provided by each respective computer server;
- receiving, from a client computer, a client request for the client services;
- selecting, from the plurality of computer servers, a subset of the subset size based upon an even probability of selecting each computer server of the plurality of computer servers;
- modifying the load-distribution profile for the plurality of computer servers based on the client services provided by the computer servers;
- and
- transmitting an indication of the selected subset of computer servers and the corresponding determined weight factors to the client computer.
A computer-implemented method for improving the efficiency of a computer performing load balancing in response to client requests, the method comprising:
- determining a subset size corresponding to a number of computer servers contained within a client response message that identifies servers from a plurality of computer servers providing client services, wherein the subset size is less than a number of servers in the plurality of computer servers;
- determining a probability of randomly selecting each of the plurality of computer servers for the client response message based upon the subset size;
- determining weight factors for the plurality of computer servers as a function of a load-distribution-profile for the plurality of computer servers and the determined probability, wherein the load-distribution-profile includes different desired load percentages for different computer servers of the plurality of computer servers;
- receiving, from a client computer, a client request for the client services;
- randomly selecting, from the plurality of computer servers, a subset of the subset size;
- transmitting an indication of the selected subset of computer servers and the corresponding determined weight factors to the client computer;
- and
- modifying the weight factors in response to a change to the subset size.
A computer processor circuit, useful with a client computer, for improving the efficiency of a computer performing load balancing in response to client requests, the computer processor circuit configured to:
- determine a subset size corresponding to a number of computer servers contained within a client response message that identifies servers from a plurality of computer servers providing client services, by processing with the subset size being less than a number of servers in the plurality of computer servers;
- determine a probability of randomly selecting each of the plurality of computer servers for the client response message based upon the subset size;
- determine weight factors for servers of the selected subset of computer servers as a function of client services provided by each respective computer server, of a load-distribution-profile for the plurality of computer servers and of the determined probability, wherein the load-distribution-profile includes different desired load percentages for different computer servers of the plurality of computer servers;
- receive, from the client computer, a client request for the client services;
- randomly or pseudo-randomly select, from the plurality of computer servers, a subset of the subset size, wherein the pseudo-random selection is an adjustment of a random selection;
- transmit an indication of the selected subset of computer servers and the determined weight factors to the client computer;
- and
- modify the load-distribution profile for the plurality of computer servers based on the client services provided by the computer servers.
Dependencies are inferred from the claim text.