Dynamic monitor and controller of availability of a load-balancing cluster
First Claim
1. A method performed by a control client that communicates with a load-balancing cluster of server nodes configured to service application-layer requests sent by user clients to a virtual address common to the cluster, the method comprising:
- dynamically determining, by the control client, which server nodes are members of the load-balancing cluster;
monitoring application-layer availability of the server nodes in the load-balancing cluster, the monitoring being performed by the control client generating and sending, from outside of the load-balancing cluster application-layer, requests to those server nodes determined to be members of the load-balancing cluster; and
in accordance with the application-layer availability of a server node in the load-balancing cluster as determined by the application-layer monitoring of the control client, sending to the load-balancing cluster a message that is configured to control whether the server node handles application-layer requests sent to the load-balancing cluster by the user clients, where the application-layer requests sent by the control client to monitor application-layer availability conform to a same application-layer protocol that the user client requests conform to.
2 Assignments
0 Petitions
Accused Products
Abstract
An implementation of a technology, described herein, for remotely and dynamically monitoring the availability of the members of a load-balancing cluster. An implementation of the claimed invention includes a dynamic, exocluster application-layer monitor for dynamically monitoring and dynamically controlling the members of a load-balancing cluster. It may actively control the members that it monitors. The exocluster monitor is protocol agnostic. It dynamically adjusts so that it can monitor all of the members of the cluster as members are added and removed. This abstract itself is not intended to limit the scope of this patent. The scope of the present invention is pointed out in the appending claims.
113 Citations
55 Claims
-
1. A method performed by a control client that communicates with a load-balancing cluster of server nodes configured to service application-layer requests sent by user clients to a virtual address common to the cluster, the method comprising:
-
dynamically determining, by the control client, which server nodes are members of the load-balancing cluster; monitoring application-layer availability of the server nodes in the load-balancing cluster, the monitoring being performed by the control client generating and sending, from outside of the load-balancing cluster application-layer, requests to those server nodes determined to be members of the load-balancing cluster; and in accordance with the application-layer availability of a server node in the load-balancing cluster as determined by the application-layer monitoring of the control client, sending to the load-balancing cluster a message that is configured to control whether the server node handles application-layer requests sent to the load-balancing cluster by the user clients, where the application-layer requests sent by the control client to monitor application-layer availability conform to a same application-layer protocol that the user client requests conform to. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method performed by a control client that communicates with a load-balancing cluster of server nodes configured to service application-layer requests sent by user clients to a virtual address common to the cluster, the method comprising:
-
monitoring application-layer availability of the server nodes in the load-balancing cluster, the monitoring being performed by the control client generating and sending, from outside of the load-balancing cluster application-layer, requests to those server nodes determined to be members of the load-balancing cluster; and in accordance with the application-layer availability of a server node in the load-balancing cluster as determined by the application-layer monitoring of the control client, sending to the load-balancing cluster a message that is configured to control whether the server node handles application-layer requests sent to the load-balancing cluster by the user clients, where the application-layer requests sent by the control client to monitor application-layer availability conform to a same application-layer protocol that the user client requests conform to. - View Dependent Claims (21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-readable storage medium having computer-executable instructions that, when executed by a computer, perform a method performed by a control client that communicates with a load-balancing cluster of server nodes configured to service application-layer requests sent by user clients to a virtual address common to the cluster, the method comprising:
-
dynamically determining, by the control client, which server nodes are members of the load-balancing cluster; monitoring application-layer availability of the server nodes in the load-balancing cluster, the monitoring being performed by the control client generating and sending, from outside of the load-balancing cluster application-layer, requests to those server nodes determined to be members of the load-balancing cluster; and in accordance with the application-layer availability of a server node in the load-balancing cluster as determined by the application-layer monitoring of the control client, sending to the load-balancing cluster a message that is configured to control whether the server node handles application-layer requests sent to the load-balancing cluster by the user clients where the application-layer requests sent by the control client to monitor application-layer availability conform to a same application-layer protocol that the user client requests conform to.
-
-
38. A system comprising:
-
a control client that communicates with a load-balancing cluster of server nodes configured to service application-layer requests sent by user clients to a virtual address common to the cluster; a dynamic cluster-membership determiner configured to exoclusterly and dynamically determine, by the control client, which server nodes are members of the load-balancing cluster; an exocluster monitor configured to monitor application-layer availability of the server nodes in the load-balancing cluster, the monitoring being performed by the control client generating and sending, from outside of the load-balancing cluster application-layer, requests to those server nodes determined to be members of the load-balancing cluster; and in accordance with the application-layer availability of a server node in the load-balancing cluster as determined by the application-layer monitoring of the control client sending to the load-balancing cluster a message that is configured to control whether the server node handles application-layer requests sent to the load-balancing cluster by the user clients where the application-layer requests sent by the control client to monitor application-layer availability conform to a same application-layer protocol that the user client requests conform to. - View Dependent Claims (39, 40, 41, 42, 43)
-
-
44. A system comprising:
-
a control client that communicates with a load-balancing cluster of server nodes configured to service application-layer requests sent by user clients to a virtual address common to the cluster; an exocluster monitor configured to monitor application-layer availability of the server nodes in the load-balancing cluster, the monitoring being performed by the control client generating and sending, from outside of the load-balancing cluster application-layer, requests to those server nodes determined to be members of the load-balancing cluster; and in accordance with the application-layer availability of a server node in the load-balancing cluster as determined by the application-layer monitoring of the control client, sending to the load-balancing cluster a message that is configured to control whether the server node handles application-layer requests sent to the load-balancing cluster by the user clients, where the application-layer requests sent by the control client to monitor application-layer availability conform to a same application-layer protocol that the user client requests conform to. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51)
-
-
52. A dynamic, active, exocluster monitoring system for monitoring application-layer availability of server nodes in a load-balancing cluster and for controlling an activity state of such server nodes, the monitoring system comprising:
-
a control client that communicates with a load-balancing cluster of server nodes configured to service application-layer requests sent by user clients to a virtual address common to the cluster; an app-monitor configured to exoclusterly monitor application-layer availability of the server nodes in the load-balancing cluster the, monitoring being performed by the control client generating and sending, from outside of the load-balancing cluster application-layer, requests to those server nodes determined to be members of the load-balancing cluster; and in accordance with the application-layer availability of a server node in the load-balancing cluster as determined by the application-layer monitoring of the control client, sending to the load-balancing cluster a message that is configured to control whether the server node handles application-layer requests sent to the load-balancing cluster by the user clients, where the application-layer requests sent by the control client to monitor application-layer availability conform to a same application-layer protocol that the user client requests conform to. - View Dependent Claims (53, 54, 55)
-
Specification