IP Library Granted Patent US 9,128,770
Granted Patent B2
US 9,128,770 · App. 12/277,690 · Granted Sep 8, 2015

Systems and methods for GSLB auto synchronization

Inventors: Ravi Kondamuru (Santa Clara, CA); Erik Brandsberg (Charlotte, NC); Rishi Mutnuru (Santa Clara, CA)
Assignee: CITRIX SYSTEMS, INC.
G06F9/5083
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,128,770
App. No.
12/277,690
Filed
Nov 25, 2008
Granted
Sep 8, 2015
Kind
B2
Art Unit
2459
USPC
709/222
Abstract

Centralized system for synchronizing a Global Server Load Balancing (GSLB) site hierarchy across a plurality of appliances in a multi-site deployment. With synchronization, differences in configurations across appliances may be determined and changes to configurations may automatically be distributed and applied on each appliance at each site to operate all the sites with a common single GSLB site hierarchy configuration. This reduces the challenging in configuration maintenance for the multi-site deployment.

Claims (40)

1. A method for synchronizing configurations between a plurality of global server load balancing (GSLB) appliances, the method comprising:

a) identifying, by a user, a first appliance as a master GSLB node, the first appliance and one or more appliances identified to provide GSLB services;

b) obtaining, by the first appliance from each of the one or more appliances via a login by the first appliance to each of the one or more appliances, a GSLB configuration currently executing on each of the one or more appliances;

c) comparing, by the first appliance upon receipt, the GSLB configuration currently executing on each of the one or more appliances to a first GSLB configuration executing on the first appliance, the first GSLB configuration comprising a change to a topology of a multi-site hierarchy comprising the one or more appliances providing GSLB services;

d) generating, by the first appliance responsive to the comparison, a configuration command set for each of the one or more appliances based on the comparison, each of the configuration command sets comprising one or more commands to synchronize the GSLB configuration with the first GSLB configuration of the appliance; and

e) applying, by the first appliance responsive to the generating and via the login by the first appliance to each of the one or more appliances, each of the configuration command sets to the currently executing GSLB configuration of a corresponding appliance of the one or more appliances to synchronize the currently executing GSLB configuration of the corresponding appliance to the currently executing first GSLB configuration of the first appliance;

f) establishing or disestablishing, by the one or more appliances responsive to synchronization to the currently executing first GSLB configuration of the first appliance, a metric exchange connections with at least one appliance at a different level of the plurality of levels of the multi-site hierarchy based on the changes to the topology of the multi-site hierarchy, the one or more appliances are configured to identify parent-child relationships in the multi-site hierarchy and to establish metric exchange connections to each appliance in the multi-site hierarchy based on the parent-child relationships to exchange load balancing statistics via transport layer connections; and

g) exchanging, by the one or more appliances, load balancing statistics with the at least one appliance at the different level of the plurality of levels of the multi-site hierarchy based on the topology of the multi-site hierarchy.

2. The method of claim 1 , wherein step (a) further comprises configuring the first appliance to auto-login to each of the one or more appliances.

3. The method of claim 1 , wherein step (b) further comprises determining, by the first appliance, the one or more appliances identified by the first GSLB configuration.

4. The method of claim 1 , wherein step (b) further comprises automatically performing, by the first appliance, a login to each of the one or more appliances.

5. The method of claim 1 , wherein step (b) further comprises executing, by the first appliance, a command on each of the one or more appliances to output a currently executing GSLB configuration.

6. The method of claim 1 , wherein step (c) further comprises determining, by the first appliance, one or more differences between the first GSLB configuration and the GSLB configuration of each of the one or more appliances.

7. The method of claim 1 , wherein step (d) further comprises generating, by the first appliance based on the comparison, a first configuration command set for synchronizing a currently executing GSLB configuration of a second appliance with the first GSLB configuration and a second configuration set for synchronizing a currently executing GSLB configuration of a third appliance with the first GSLB configuration.

8. The method of claim 1 , wherein step (e) further comprises executing, by the first appliance, on each of the one or more appliances a remote command to apply the GSLB configuration set corresponding to each of the one or more appliances.

9. The method of claim 1 , wherein step (e) further comprises executing, by each of the one or more appliances responsive to applying the configuration command set, a GSLB configuration corresponding to the first GSLB configuration.

10. A system for synchronizing configurations between a plurality of global server load balancing (GSLB) appliances, the system comprising:

a first appliance identified as a master GSLB node, the first appliance and one or more appliances identified to provide GSLB services;

an interface of the first appliance obtaining from each of the one or more appliances via a login by the first appliance to each of the one or more appliances, a GSLB configuration currently executing on each of the one or more appliances;

a comparator of the first appliance comparing, upon receipt, the GSLB configuration currently executing on of the one or more appliances to a first GSLB configuration executing on the first appliance, the first GSLB configuration comprising a change to a topology of a multi-site hierarchy comprising the one or more appliances providing GSLB services;

a generator of the first appliance generating, responsive to the comparison, a configuration command set for each of the one or more appliances based on the comparison, each of the configuration command sets comprising one or more commands to synchronize the GSLB configuration with the first GSLB configuration of the appliance; and

wherein the first appliance applies, responsive to the generating and via the login by the first appliance to each of the one or more appliance, each of the configuration command sets to the currently executing GSLB configuration of a corresponding appliance of the one or more appliances to synchronize the currently executing GSLB configuration of the corresponding appliance to the currently executing first GSLB configuration of the first appliance;

wherein the one or more appliances, responsive to synchronization to the currently executing first GSLB configuration of the first appliance, establishes or disestablished a metric exchange connection with at least one appliance at a different level of the plurality of levels of the multi-site hierarchy based on the changes to the topology of the multi-site hierarchy, the one or more appliances are configured to identify parent-child relationships in the multi-site hierarchy and exchanges load balancing statistics with the at least one appliance at the different level of the plurality of levels of the multi-site hierarchy based on the topology of the multi-site hierarchy.

11. The system of claim 10 , wherein the first appliance is configured to auto-login to each of the one or more appliances.

12. The system of claim 10 , wherein the first appliance determines the one or more appliances identified by the first GSLB configuration.

13. The system of claim 10 , wherein the interface automatically performs a login to each of the one or more appliances.

14. The system of claim 10 , wherein the interface executes a command on each of the one or more appliances to output a currently executing GSLB configuration.

15. The system of claim 10 , wherein the generator based on the comparison generates a first configuration command set for synchronizing a currently executing GSLB configuration of a second appliance with the first GSLB configuration and a second configuration set for synchronizing a currently executing GSLB configuration of a third appliance with the first GSLB configuration.

16. The system of claim 10 , wherein the interface executes on each of the one or more appliances a remote command to apply the configuration command set corresponding to each of the one or more appliances.

17. The system of claim 10 , wherein each of the one or more appliances executes, responsive to applying the configuration command set, a GSLB configuration corresponding to the first GSLB configuration.

18. The method of claim 1 , wherein the one or more appliances are configured to identify appliances at the same level in the multi-site hierarchy as the one or more appliances and to establish metric exchange connections to the applications at the same level in the multi-site hierarchy to exchange load balancing statistics via transport layer connections.

19. The method of claim 1 , wherein the one or more appliances are configured to identify appliances at a different level in the multi-site hierarchy as the one or more appliances and to establish metric exchange connections to the applications at the different level in the multi-site hierarchy to exchange load balancing statistics via transport layer connections.

20. A method for synchronizing configurations between a plurality of global server load balancing (GSLB) appliances, the method comprising:

a) identifying a first appliance as a master GSLB node, the first appliance and one or more appliances identified to provide GSLB services;

b) obtaining, by the first appliance from each of the one or more appliances via a login by the first appliance to each of the one or more appliances, a GSLB configuration currently executing on each of the one or more appliances;

c) comparing, by the first appliance upon receipt, the GSLB configuration currently executing on each of the one or more appliances to a first GSLB configuration executing on the first appliance, the first GSLB configuration comprising a change to a topology of a multi-site hierarchy comprising the one or more appliances providing GSLB services;

d) generating, by the first appliance responsive to the comparison, a configuration command set for each of the one or more appliances based on the comparison, each of the configuration command sets comprising one or more commands to synchronize the GSLB configuration with the first GSLB configuration of the appliance, wherein the configuration command set generated for each of the one or more appliances is unique for each of the one or more appliances; and

e) applying, by the first appliance responsive to the generating and via the login by the first appliance to each of the one or more appliances, each of the configuration command sets to the currently executing GSLB configuration of a corresponding appliance of the one or more appliances to synchronize the currently executing GSLB configuration of the corresponding appliance to the currently executing first GSLB configuration of the first appliance;

f) establishing or disestablishing, by the one or more appliances responsive to synchronization to the currently executing first GSLB configuration of the first appliance, a metric exchange connections with at least one appliance at a different level of the plurality of levels of the multi-site hierarchy based on the changes to the topology of the multi-site hierarchy, the one or more appliances are configured to identify parent-child relationships in the multi-site hierarchy and to establish metric exchange connections to each appliance in the multi-site hierarchy based on the parent-child relationships to exchange load balancing statistics via transport layer connections; and

g) exchanging, by the one or more appliances, load balancing statistics with the at least one appliance at the different level of the plurality of levels of the multi-site hierarchy based on the topology of the multi-site hierarchy.

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 →
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 →
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 Oct 7, 2022
From: TIBCO SOFTWARE INC.; CITRIX SYSTEMS, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 062112/0262 →
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 →
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 May 1, 2009
From: KONDAMURU, RAVI; BRANDSBERG, ERIK; MUTNURU, RISHI
To: CITRIX SYSTEMS, INC.
Reel/Frame 022627/0501 →
Continuity (1)
Related Publication 20100131630A1 · May 27, 2010