IP Library Granted Patent US 8,769,092
Granted Patent B2
US 8,769,092 · App. 13/560,390 · Granted Jul 1, 2014

Systems and methods for GSLB spillover

Inventors: Murali Raja (San Jose, CA); Raghav Somanahalli Narayana (Karnataka, IN)
Assignee: Citrix Systems, Inc.
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 8,769,092
App. No.
13/560,390
Filed
Jul 27, 2012
Granted
Jul 1, 2014
Kind
B2
Art Unit
2441
USPC
709/223
Abstract

The present disclosure is directed towards systems and methods for global server load balancing spillover. An intermediary device providing global server load balancing (GSLB) identifies a spillover threshold for a first GSLB virtual server of the intermediary device. The first GSLB virtual server resolving DNS requests to a remote site of a plurality of remote sites. The intermediary device monitors spillover related statistics of each of a plurality of services at the plurality of remote sites, establishes a first spillover aggregate statistic for the plurality of services, determines that the first spillover aggregate statistic exceeds the spillover threshold for the first GSLB virtual server, and receives a DNS request and directing the DNS request to a second GSLB virtual server of the intermediary device responsive to the determination.

Claims (29)

1. A method of providing spillover between Global Server Load Balancing (GSLB) virtual servers executing on an intermediary device, the method comprising:

establishing, by a global intermediary device executing a first virtual server to provide global server load balancing of a plurality of local intermediary devices at a plurality of remote sites and in communication with and deployed between a plurality of clients and the plurality of local intermediary devices, a metric exchange connection to each of the plurality of local intermediary devices to receive spillover related statistics from each local intermediary device of the plurality of local intermediary devices for services executing on a plurality of servers at the plurality of remote sites load balanced by each local intermediary device and identified as up, each of the local intermediary devices deployed between the global intermediary device and one or more servers at a remote site of the plurality of remote sites;

establishing by the global intermediary device, a spillover threshold for the first virtual server of the global intermediary device, the first virtual server resolving DNS requests to a remote site of the plurality of remote sites;

aggregating into an aggregate spillover statistic, by the global intermediary device, each of the spillover related statistics received from each of the plurality of local intermediary devices for services identified as up at the plurality of remote sites by each of the plurality of local intermediary devices;

determining that the aggregate spillover statistic for services identified as up exceeds the spillover threshold for the first virtual server; and

using, by the global intermediary device responsive to determining that the aggregate spillover statistic for services identified as up exceeds the spillover threshold for the first virtual server, a second virtual server of the global intermediary device to resolve DNS requests across the plurality of remote sites.

2. The method of claim 1 , further comprising distributing, by the global intermediary device, client requests among the plurality of local intermediary devices.

3. The method of claim 1 , further comprising receiving, by the global intermediary device, statistics via a connection to each of the plurality of local intermediary devices.

4. The method of claim 1 , further comprising establishing the spillover threshold to comprise a predetermined number of connections.

5. The method of claim 4 , further comprising determining that the aggregate statistic comprising a summation of a number of connections from each of the plurality of local intermediary devices exceeds the spillover threshold.

6. The method of claim 1 , further comprising establishing the spillover threshold to comprise a predetermined percentage of healthy services managed by the plurality of local intermediary devices.

7. The method of claim 6 , further comprising determining that the aggregate statistic comprising a health for the plurality of services exceeds the spillover threshold.

8. The method of claim 1 , further comprising establishing the spillover threshold to comprise a predetermined bandwidth.

9. The method of claim 8 , further comprising determining that the aggregate statistic comprising a summation of bandwidth usage from each of the plurality of local intermediary devices exceeds the spillover threshold.

10. The method of claim 1 , further comprising distributing, by the second virtual server, client requests among the plurality of local intermediary devices.

11. A system of providing spillover between Global Server Load Balancing (GSLB) virtual servers executing on an intermediary device, the system comprising:

a global intermediary device executing a first virtual server to provide global server load balancing of a plurality of local intermediary devices at a plurality of remote sites and in communication with and deployed between a plurality of clients and the plurality of local intermediary devices, each of the local intermediary devices deployed between the global intermediary device and one or more servers at a remote site of the plurality of remote sites, the global intermediary device establishing a metric exchange connection to each of the plurality of local intermediary devices to receive spillover related statistics from each local intermediary device of the plurality of local intermediary devices for services executing on a plurality of servers at the plurality of remote sites load balanced by each local intermediary device and identified as up, each of the local intermediary devices deployed between the global intermediary device and one or more servers at a remote site of the plurality of remote sites,

the first virtual server of the global intermediary device resolving DNS requests to a remote site of the plurality of remote sites;

a spillover threshold established for the first virtual server; and

wherein the global intermediary device establishes an aggregate spillover statistic by aggregating spillover related statistics received from each of the plurality of intermediary devices for services identified as up at the plurality of remote sites by each of the plurality of intermediary devices, determining that the aggregate spillover statistic for services identified as up exceeds the spillover threshold and responsive to determining that the aggregate spillover statistic for services identified as up exceeds the spillover threshold for the first virtual server, uses a second virtual server of the global intermediary device to resolve DNS requests across the plurality of remote sites.

12. The system of claim 11 , wherein the global intermediary device distributes client requests among the plurality of local intermediary devices.

13. The system of claim 11 , wherein the global intermediary device receives spillover related statistics via a connection to each of the plurality of local intermediary devices.

14. The system of claim 11 , wherein the spillover threshold comprises a predetermined number of connections.

15. The system of claim 14 , wherein the global intermediary device determines that the aggregate statistic comprising a summation of a number of connections from each of the plurality of local intermediary devices exceeds the spillover threshold.

16. The system of claim 11 wherein the spillover threshold comprises a predetermined percentage of healthy services managed by the plurality of local intermediary devices.

17. The system of claim 16 , wherein the global intermediary device determines that the aggregate statistic comprising a health for the plurality of services exceeds the spillover threshold.

18. The system of claim 11 , wherein the spillover threshold comprises a predetermined bandwidth.

19. The system of claim 18 , wherein the global intermediary device determines that the aggregate statistic comprising a summation of bandwidth usage from each of the plurality of local intermediary devices exceeds the spillover threshold.

20. The system of claim 11 , wherein the second virtual server distributes client requests among the plurality of local intermediary devices.

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 Feb 26, 2013
From: RAJA, MURALI; NARAYANA, RAGHAV SOMANAHALLI
To: CITRIX SYSTEMS, INC.
Reel/Frame 029879/0052 →
Continuity (2)
Continuation 12645844 · Dec 23, 2009
Related Publication 20120297046A1 · Nov 22, 2012