Arbitrating an appropriate back-end server to receive channels of a client session
First Claim
1. At a computer system including a load balancing service, a method for arbitrating an appropriate back-end server to receive channels of a client session, the method comprising:
- an act of receiving an indication of a first arbitration mechanism for a first back-end server, the first back-end server indicated by a first front-end server as the appropriate back-end server to receive channels of the client session;
an act of receiving an indication of a second different arbitration mechanism for a second back-end server, the second back-end server indicated by a second front-end server as the appropriate back-end server to receive channels of the client session;
an act of comparing an arbitration order value representing the first arbitration mechanism to an arbitration order value representing the second different arbitration mechanism to determine whether the first arbitration mechanism or the second different arbitration mechanism indicates an a back-end server that is more appropriate for receiving channels of the client session relative to other back-end servers; and
an act of selecting the first back-end server to receive channels of the client session based on the results of the comparison determining that the first arbitration mechanism is more appropriate for receiving channels of the client session relative to other arbitration mechanisms.
2 Assignments
0 Petitions
Accused Products
Abstract
The present invention extends to methods, systems, and computer program products for arbitrating an appropriate back-end server to receive channels of a client connection. Each front-end server in a server farm specifies a back-end server in the server farm that it deems appropriate for receiving channels of a client connection. Each specified back-end server is represented by an arbitration mechanism. A relevant set of potential back-end servers that can receive channels of a client connection is selected according to function configured to minimize performance impact. A load balancing service compares arbitration mechanisms for different back-end servers in the set of potential back-end servers to determine an appropriate back-end server for receiving channels of the client connection.
-
Citations
20 Claims
-
1. At a computer system including a load balancing service, a method for arbitrating an appropriate back-end server to receive channels of a client session, the method comprising:
-
an act of receiving an indication of a first arbitration mechanism for a first back-end server, the first back-end server indicated by a first front-end server as the appropriate back-end server to receive channels of the client session; an act of receiving an indication of a second different arbitration mechanism for a second back-end server, the second back-end server indicated by a second front-end server as the appropriate back-end server to receive channels of the client session; an act of comparing an arbitration order value representing the first arbitration mechanism to an arbitration order value representing the second different arbitration mechanism to determine whether the first arbitration mechanism or the second different arbitration mechanism indicates an a back-end server that is more appropriate for receiving channels of the client session relative to other back-end servers; and an act of selecting the first back-end server to receive channels of the client session based on the results of the comparison determining that the first arbitration mechanism is more appropriate for receiving channels of the client session relative to other arbitration mechanisms. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system for arbitrating an appropriate back-end server for receiving channels of a client session, the system comprising:
-
a plurality of front-end servers, a plurality of back-end servers configured to receive channels of client sessions from the plurality of front-end servers; a plurality of load balancing services communicatively coupled to the plurality of front-end servers and communicatively coupled to the plurality of back-end servers; each front-end server configured to; create a desired order of one or more back-end servers from the plurality of back-end servers, a back-end server'"'"'s position in the desired order indicating the back-end server'"'"'s appropriateness, from the perspective of the front-end server, for receiving channels of the client session; extract a relevant subset of back-end servers from the desired order; and promote a specified contender back-end server to at least one of the plurality of load balance services as the most appropriate back-end server to receive channels of the client session; each load balancing service configured to; receive indications of arbitration mechanisms for back-end servers, each back-end server indicated by corresponding front-end server as the appropriate back-end server to receive channels of the client session; compare arbitration mechanisms corresponding to different contender back-end servers to determine a highest ranking contender back-end server; and install the highest ranking contender back-end server based on the results of comparing arbitration mechanisms. - View Dependent Claims (15, 16)
-
-
17. A computer program product for use at a computer system including a load balancing service, the computer program product for implementing a method for arbitrating an appropriate back-end server to receive channels of a client session, the computer program product comprising one or more computer storage media having stored thereon computer-executable instructions that, when executed at a processor, cause the load balancing service to perform the method, including the following:
-
receive a plurality of arbitration order values, each arbitration order value representing an arbitration mechanism at a corresponding back-end server, each back-end server indicated by a corresponding front-end server as the appropriate back-end server to receive channels of the client session; compare the plurality of arbitration order values to one another to determine which arbitration order value indicates a back-end server that is more appropriate for receiving channels of the client session relative to other back-end servers; and select a specified back-end server as the back-end server to receive channels of the client session based on the results of the comparison determining that the arbitration order value for the specified back-end server indicates a back-end server that is more appropriate for receiving channels of the client session relative to other back-end servers. - View Dependent Claims (18, 19, 20)
-
Specification