Availability and scalability in clustered application servers by transmitting expected loads of clients to load balancer
First Claim
1. A computerized method of workload balancing for improved availability within a multitude of applications-servers and a multitude of application-clients interconnected with said application-servers by a communication network, said method comprisingcaching within an application-client, availability data of a subset of currently active application-servers as potential target application-servers, selecting by execution of an application-request by said application-client, an application-server from said subset based on a load-balancing decision of said application-client as target application-server and is sending said application-request to said target application-server, retrieving by said application-client, said subset of currently active application-servers from a cluster database, said cluster database storing availability data of currently active application-servers, retrieving said subset of currently active application-servers by issuing a retrieve request to a server-monitor, said server-monitor monitoring said application-servers activity status, sending by said application-client together with said retrieve request, an indication of the expected amount of workload to be generated by said application-client, and basing said server-monitor'"'"'s load-balancing decision on said indication of the expected amount of workload and/or said application-servers processing power and/or said application-servers work load.
1 Assignment
0 Petitions
Accused Products
Abstract
The invention relates to a technology of workload balancing for improved availability within a multitude of applications-servers and a multitude of application-clients interconnected with said application-servers by a communication network. A proposed method comprises a first-step, wherein an application-client is caching availability data of a subset of currently active application-servers as potential target application-servers. The method comprises a second-step, wherein for execution of an application-request the application-client selects an application-server from the subset based on a load-balancing decision of the application-client as target application-server. Finally the application-request is sent to the target application-server.
-
Citations
39 Claims
-
1. A computerized method of workload balancing for improved availability within a multitude of applications-servers and a multitude of application-clients interconnected with said application-servers by a communication network, said method comprising
caching within an application-client, availability data of a subset of currently active application-servers as potential target application-servers, selecting by execution of an application-request by said application-client, an application-server from said subset based on a load-balancing decision of said application-client as target application-server and is sending said application-request to said target application-server, retrieving by said application-client, said subset of currently active application-servers from a cluster database, said cluster database storing availability data of currently active application-servers, retrieving said subset of currently active application-servers by issuing a retrieve request to a server-monitor, said server-monitor monitoring said application-servers activity status, sending by said application-client together with said retrieve request, an indication of the expected amount of workload to be generated by said application-client, and basing said server-monitor'"'"'s load-balancing decision on said indication of the expected amount of workload and/or said application-servers processing power and/or said application-servers work load.
-
14. An apparatus for workload balancing giving improved availability within a multitude of applications-servers and a multitude of application-clients interconnected with said application-servers by a communication network, said apparatus comprising
means for caching within an application-client, availability data of a subset of currently active application-servers as potential target application-servers, means for selecting by execution of an application-request by said application-client, an application-server from said subset based on a load-balancing decision of said application-client as target application-server and is sending said application-request to said target application-server, means for retrieving by said application-client, said subset of currently active application-servers from a cluster database, said cluster database storing availability data of currently active application-servers, means for retrieving said subset of currently active application-servers by issuing a retrieve request to a server-monitor, said server-monitor monitoring said application-servers activity status, means for sending by said application-client together with said retrieve request, an indication of the expected amount of workload to be generated by said application-client, and means for basing said server-monitor'"'"'s load-balancing decision on said indication of the expected amount of workload and/or said application-servers processing power and/or said application-servers work load.
-
27. A computer program product comprising a computer usable medium having computer readable program code means therein for workload balancing giving improved availability within a multitude of applications-servers and a multitude of application-clients interconnected with said application-servers by a communication network, said computer program product comprising
computer readable program code means for caching within an application-client, availability data of a subset of currently active application-servers as potential target application-servers, computer readable program code means for selecting by execution of an application-request by said application-client, an application-server from said subset based on a load-balancing decision of said application-client as target application-server and is sending said application-request to said target application-server, computer readable program code means for retrieving by said application-client, said subset of currently active application-servers from a cluster database, said cluster database storing availability data of currently active application-servers, computer readable program code means for retrieving said subset of currently active application-servers by issuing a retrieve request to a server-monitor, said server-monitor monitoring said application-servers activity status, computer readable program code means for sending by said application-client together with said retrieve request, an indication of the expected amount of workload to be generated by said application-client, and computer readable program code means for basing said server-monitor'"'"'s load-balancing decision on said indication of the expected amount of workload and/or said application-servers processing power and/or said application-servers work load.
Specification