IP Library Granted Patent US 9,577,892
Granted Patent B2
US 9,577,892 · App. 14/244,329 · Granted Feb 21, 2017

Systems and methods for providing monitoring in a cluster system

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,577,892
App. No.
14/244,329
Granted
Feb 21, 2017
Kind
B2
Abstract

The present application is directed towards systems and methods for providing monitoring in a cluster system. The systems and methods distribute the monitors for a service and the ownership of a service across a cluster system comprising a plurality of nodes. The nodes in the cluster can be configured to have different sets of virtual servers (sometimes referred to as “vservers”) and services. The ownership and monitoring of the services can be distributed among all the nodes in the cluster. The system can identify a service in a cluster system and identify a master node that has ownership of the service. The master node can transmit a service status update to other nodes in the cluster system.

Claims (33)

1. A method comprising:

determining, by each node in a cluster of nodes intermediary to a plurality of clients and one or more servers and configured to monitor a plurality of services executing on the one or more servers, a service of the plurality of services to be monitored by each node for the cluster based on a hash of an identity of the service in a configuration for the cluster;

establishing, by each node responsive to the determination, a monitor for each service to be monitored by that node for the cluster;

identifying, by a first monitor on a first node in the cluster of the nodes, a status of a service being monitored by the cluster; and

transmitting, by the first monitor on the first node to each other node in the cluster, a message comprising the status of the service monitored by the first monitor,

wherein an acknowledgement message is transmitted to each other node in the cluster for each other node to acknowledge receipt of an update to the status of the service; and

wherein a master monitor is configured to compare a unique identity in the message to a service identity to confirm that the first monitor is a current monitor for the service.

2. The method of claim 1 , further comprising establishing, by each node in the cluster, a master monitor among a plurality of monitors established on the corresponding node.

3. The method of claim 2 , further comprising updating, by the master monitor, the other monitors of the node with the status of the service.

4. The method of claim 1 , further comprising identifying, by each node, ownership of a service to monitor in the cluster based on the hash of the identity of the service comprising a name of the service configured in the configuration for the cluster.

5. The method of claim 4 , further comprising redistributing ownership of services in the cluster in response to a configuration event in the cluster that changes a topology of the cluster.

6. The method of claim 1 , further comprising generating, by the monitor, a service state update for the service in response to a configuration event in the cluster.

7. The method of claim 6 , further comprising re-transmitting, by the monitor, the acknowledgement message to each other node in the cluster until each other node acknowledges receipt of the service state update.

8. The method of claim 7 , further comprising comparing, by the master monitor, the service identity in a server database to the unique identity in the service state update of the message to confirm the monitor is the current monitor for the service.

9. The method of claim 1 , further comprising enabling, by the monitor, a path monitoring option for the service, the path monitoring option enabling each node in the cluster to probe the service to determine a service reachability from each node in the cluster to the service.

10. The method of claim 9 , further comprising transmitting, by each node in the cluster, a path monitoring state update to the monitor for the service, the path monitoring state update comprising the service reachability for each node in the cluster to the service.

11. A system comprising:

a cluster of nodes intermediary to a plurality of clients and one or more servers, the cluster of nodes configured to monitor a plurality of services executing on the one or more servers;

each node in the cluster configured to determine a service of the plurality of services to be monitored by each node for the cluster based on a hash of an identity of the service in a configuration for the cluster and establish, responsive to the determination, a monitor for each service to be monitored by that node for the cluster

a first monitor configured on a first node configured to:

determine a status of the service being monitored by the cluster; and

transmit to each other node in the cluster, a message comprising the status of the service monitored by the first monitor;

wherein an acknowledgement message is transmitted to each other node in the cluster for each other node to acknowledge receipt of an update to the status of service; and

wherein a master monitor is configured to compare a unique identity in the message to a service identity to confirm that the first monitor is a current monitor for the service.

12. The system of claim 11 , wherein each node is configured to establish a master monitor among a plurality of monitors established on the corresponding node.

13. The system of claim 12 , wherein the master monitor is configured to update the other monitors of the node with the status of the service.

14. The system of claim 11 , wherein each node is configured to identify ownership of a service to monitor in the cluster based on the hash value of the identity of the service comprising a name of the service configured in the configuration for the cluster.

15. The system of claim 14 , wherein each node is configured to redistribute ownership of services in the cluster in response to a configuration event in the cluster that changes a topology of the cluster.

16. The system of claim 11 , wherein the monitor is configured to generate a service state update for the service in response to a configuration event in the cluster.

17. The system of claim 16 , wherein the monitor is configured to transmit the acknowledgement message to each other node in the cluster until each other node acknowledges receipt of the service state update of the message.

18. The system of claim 17 , wherein the master monitor is configured to compare the service identity in a server database to the unique identity in the service state update of the message to confirm that the monitor is the current monitor for the service.

19. The system of claim 11 , wherein the monitor is configured to enable a path monitoring option for the service, the path monitoring option enabling each node in the cluster to probe the service to determine a service reachability from each node in the cluster to the service.

20. The system of claim 19 , wherein each node in the cluster is configured to transmit a path monitoring state update to the monitor for the service, the path monitoring state update comprising the service reachability for each node in the cluster to the service.

Assignments (9)
PATENT SECURITY AGREEMENT Recorded Aug 15, 2025
From: CLOUD SOFTWARE GROUP, INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 072488/0172 →
SECURITY INTEREST Recorded May 24, 2024
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 067662/0568 →
RELEASE AND REASSIGNMENT OF SECURITY INTEREST IN PATENT (REEL/FRAME 062113/0001) Recorded Apr 14, 2023
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: CITRIX SYSTEMS, INC.; CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.)
Reel/Frame 063339/0525 →
PATENT SECURITY AGREEMENT Recorded Apr 14, 2023
From: CLOUD SOFTWARE GROUP, INC. (F/K/A TIBCO SOFTWARE INC.); CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 063340/0164 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 062113/0470 →
PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 062113/0001 →
SECURITY INTEREST Recorded Sep 30, 2022
From: CITRIX SYSTEMS, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION
Reel/Frame 062079/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 4, 2014
From: CHAUDHARY, AMAN; MUTHIAH, MANIKAM
To: CITRIX SYSTEMS, INC.
Reel/Frame 032604/0814 →