IP Library Granted Patent US 9,235,448
Granted Patent B2
US 9,235,448 · App. 12/277,675 · Granted Jan 12, 2016

Systems and methods for batchable hierarchical configuration

Inventors: Ravi Kondamuru (Santa Clara, CA); Murali Raja (Santa Clara, CA)
Assignee: CITRIX SYSTEMS, INC.
G06F9/5083G06F15/16
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,235,448
App. No.
12/277,675
Filed
Nov 25, 2008
Granted
Jan 12, 2016
Kind
B2
Art Unit
2459
USPC
709/220
Abstract

A centralized configuration of a Global Server Load Balancing (GSLB) site hierarchy may be batched across a plurality of appliances in a multi-site deployment. A single GSLB site hierarchy configuration may be distributed and operated on each appliance at each site. This reduces the configuration maintained for the multi-site deployment. Furthermore, in this manner, each appliance across multiple sites has an understanding of the entire topology of the multi-site deployment. Responsive to this configuration and understanding, each appliance may perform and optimize operations according to the site topology. For example, the appliances may selectively determine which sites to establish connections with in order to share metrics. In another example, appliances may select which remote sites to monitor services according to the topology.

Claims (30)

1. A method for configuring one or more global server load balancing (GSLB) appliances and one or more load balancing appliances via a single configuration to represent a GSLB site hierarchy, the method comprising:

a) receiving, by each of a plurality of appliances, a single configuration representing a GSLB site hierarchy, comprising a plurality of levels, the GSLB site hierarchy comprising a plurality of sites, each site of the plurality of sites having one or more appliances of the plurality of appliances, each of the appliances deployed at a level of the plurality of levels;

b) identifying, by a first appliance of the plurality of appliances, from the single configuration during configuration of the first appliance that the first appliance is a first node corresponding to a first GSLB site in the GSLB site hierarchy, the first appliance providing GSLB to the plurality of sites in the GSLB site hierarchy;

c) identifying, by a second appliance of the plurality of appliances, from the single configuration during configuration of the second appliance that the second appliance is a second node corresponding to a second site in the GSLB site hierarchy, the second appliance providing load balancing for a plurality of servers at the second site in the GSLB site hierarchy;

d) identifying, by the second appliance, from the single configuration during configuration of the second appliance that the first node of the first GSLB site is a parent node at a first level of the plurality of levels in the GSLB site hierarchy to the second node of the second appliance at the second site at a second level of the plurality of levels;

e) establishing, by each of the plurality of appliances, a metric exchange connection with at least one appliance at a different level of the plurality of levels of the GSLB site hierarchy based on the topology of the GSLB site hierarchy to exchange load balancing statistics via transport layer connections; and

f) exchanging, by each of the plurality of appliances, load balancing statistics with the at least one appliance at the different level of the plurality of levels of the GSLB site hierarchy based on the topology of the GSLB site hierarchy.

2. The method of claim 1 , wherein step (a) further comprises receiving, by each of the plurality of appliances, the single configuration identifying peer GSLB nodes in the GSLB site hierarchy.

3. The method of claim 1 , wherein step (a) further comprises receiving, by each of the plurality of appliances, the single configuration identifying one or more child nodes of one or more sites of the plurality of sites and a parent node of a GSLB site for each of the one or more sites.

4. The method of claim 1 , wherein step (b) further comprises identifying, by the first appliance, from the single configuration one or more peer GSLB sites.

5. The method of claim 1 , wherein step (c) further comprises identifying, by the second appliance, from the single configuration one or more parent nodes in the GSLB site hierarchy that are peer GSLB sites to the parent node of the second site of the second appliance.

6. The method of claim 1 , wherein step (c) further comprises identifying, by the second appliance, from the single configuration one or more child nodes in the GSLB site hierarchy that are child nodes to a third site.

7. The method of claim 1 , wherein step (d) further comprises identifying, by the second appliance, from the single configuration a second child node to the parent node of the second appliance.

8. The method of claim 1 , further comprising establishing, responsive to the single configuration, a metric exchange connection between the first appliance and the second appliance.

9. The method of claim 1 , further comprising not accepting, by the second appliance responsive to the single configuration, a request for a metric exchange connection from a child node in a second site in the plurality of sites.

10. The method of claim 1 , wherein step (c) further comprises establishing, responsive to the single configuration, a metric exchange connection between the first appliance and one or more appliances that are peer nodes of the first GSLB site.

11. A system for configuring one or more global server load balancing (GSLB) appliances and one or more load balancing appliances via a single configuration to represent a GSLB site hierarchy the system comprising:

a plurality of appliances of one or more networks, each of the plurality of appliances having a configuration interface for receiving a configuration representing a GSLB site hierarchy, comprising a plurality of levels, the GSLB site hierarchy comprising a plurality of sites, each site of the plurality of sites having one or more appliances of the plurality of appliances, each appliance at a level of the plurality of levels;

a first appliance of the plurality of appliances identifying during configuration of the first appliance from a single configuration received by the first appliance that the first appliance comprises a first node corresponding to a first GSLB site in the GSLB site hierarchy, the first appliance providing GSLB for a plurality of sites in the GSLB site hierarchy; and

a second appliance of the plurality of appliances identifying during configuration of the second appliance from the single configuration that the second appliance comprises a second node corresponding a second site in the GSLB site hierarchy that provides load balancing for a plurality of servers at the second site and identifying during configuration of the second appliance from the single configuration that the first node of first GSLB site of the first appliance, at a first level of the plurality of levels, is a parent node in the GSLB site hierarchy to the second node of the second appliance at the second site at a second level of the plurality of levels;

wherein each of the plurality of appliances establishes a metric exchange connection with at least one appliance at a different level of the plurality of levels of the GSLB site hierarchy based on the topology of the GSLB site hierarchy to exchange load balancing statistics via transport layer connections and exchanges load balancing statistics with the at least one appliance at the different level of the plurality of levels of the GSLB site hierarchy.

12. The system of claim 11 , wherein the configuration interface of each of the plurality of appliances receives the single configuration identifying peer GSLB nodes in the GSLB site hierarchy.

13. The system of claim 11 , wherein the configuration interface of each of the plurality of appliances receives the single configuration identifying one or more child nodes of one or more sites of the plurality of sites and a parent node of a GSLB site for each of the one or more sites.

14. The system of claim 11 , wherein the first appliance identifies from the received single configuration one or more peer GSLB sites.

15. The system of claim 11 , wherein the second appliance identifies from the received single configuration one or more parent nodes in the GSLB site hierarchy that are peer GSLB sites to the parent node of the second site of the second appliance.

16. The system of claim 11 , wherein the second appliance identifies from the received single configuration one or more child nodes in the GSLB site hierarchy that are child nodes to a third site.

17. The system of claim 11 , wherein the second appliance identifies from the received single configuration a second child node to the parent node of the second appliance.

18. The system of claim 11 , wherein the first appliance and the second appliance establish responsive to the single configuration, a metric exchange connection between the first appliance and the second appliance.

19. The system of claim 11 , wherein the second appliance responsive to the single configuration does not accept a request for a metric exchange connection from a child node in a second site in the plurality of sites.

20. The system of claim 11 , wherein step (c) further comprises establishing, responsive to the single configuration, a metric exchange connection between the first appliance and one or more appliances that are peer nodes of the first GSLB site.

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 Mar 11, 2009
From: KONDAMURU, RAVI; RAJA, MURALI
To: CITRIX SYSTEMS, INC.
Reel/Frame 022378/0574 →
Continuity (1)
Related Publication 20100131620A1 · May 27, 2010