IP Library Granted Patent US 9,596,299
Granted Patent B2
US 9,596,299 · App. 14/244,597 · Granted Mar 14, 2017

Systems and methods for dynamically expanding load balancing pool

Inventors: Sreedhar Yengalasetti (Bangalore, IN); Raghav Somanahalli Narayana (Banagalore, IN); Sandeep Kamath (Santa Clara, CA)
Assignee: Citrix Systems, Inc.
H04L67/1036H04L41/0896H04L61/1511H04L67/1031H04L67/28
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,596,299
App. No.
14/244,597
Granted
Mar 14, 2017
Kind
B2
Abstract

The present application is directed towards systems and methods for configuring and applying autoscaling to a service group of an intermediary device for a domain based server. All the IP addresses resolved by the domain name of the server and that are determined as up will automatically become members of the service group. The resolver monitor will resolve the server's domain name based on the TTL (Time to Live) value in the address record or whenever the appropriate command is executed. Each time the domain is resolved, if there is a change in the number of IP addresses resolved, then the members of the service group will shrink or expand based on the number of IP addresses resolved.

Claims (31)

1. A method comprising:

establishing, on a device intermediary to a plurality of clients and a domain based server for a domain name, a configuration, of a service group associated with the domain based server, the service group configured to automatically scale members of the service group based on resolving internet protocol (IP) addresses for the domain name of the domain based server, wherein members of the service group comprise identification of servers corresponding to resolved IP addresses of the domain name;

resolving, by the device, the domain name into a plurality of IP addresses;

determining, by the device, a status of each of the IP addresses for the domain name;

changing, by the device, members in the configuration of the service group based on the status of each of the IP addresses for the domain name received from resolving internet protocol (IP) addresses for the domain name; and

load balancing, by the device using the configuration of the service group, a plurality of client requests to the domain based server.

2. The method of claim 1 , wherein resolving by the device further comprises transmitting, by the device, a domain name server (DNS) request to the domain based server.

3. The method of claim 2 , wherein changing, by the device, members of the service group further comprises removing a member of the service group based on detecting that the member is not part of a domain name server (DNS) response.

4. The method of claim 1 , wherein changing, by the device, members of the service group further comprises adding a member to the service group based on detecting that a status of the member is at least one of UP, available, or operational.

5. The method of claim 1 , wherein changing, by the device, members of the service group further comprises removing a member of the service group based on detecting the member is at least one of DOWN, unavailable, or not operational.

6. The method of claim 1 , further comprising establishing, by the device, a monitor for the service group to determine the status of each of the IP addresses for the domain name.

7. The method of claim 6 , further comprising polling, by the monitor, the service group to determine the status of each of the IP addresses in the service group.

8. The method of claim 6 , further comprising polling, by the monitor, the service group in response to detecting an expired time-to-live (TTL) value.

9. The method of claim 6 , further comprising measuring, by the monitor, a response time from each of the IP addresses in response to polling each of the IP addresses.

10. The method of claim 1 , wherein the service group comprises static members and automatically scaled members.

11. A system comprising:

a device intermediary to a plurality of clients and a domain based server for a domain name, the device comprising a processor, coupled to memory, configured to:

establish, on the device, a configuration of a service group associated with the domain based server, the service group configured to automatically scale members of the service group based on resolving internet protocol (IP) addresses for the domain name of the domain based server, wherein members of the service group comprise identification of servers corresponding to resolved IP addresses of the domain name;

resolve the domain name into a plurality of IP addresses;

determine a status of each of the IP addresses for the domain name;

change members in the configuration of the service group based on the status of each of the IP addresses for the domain name received from resolving internet protocol (IP) addresses for the domain name; and

load balance, using the configuration of the service group, a plurality of client requests to the domain based server across the changed members of the service group.

12. The system of claim 11 , wherein the device is configured to transmit a domain name server (DNS) request to the domain based server.

13. The system of claim 11 , wherein the device is configured to remove a member of the service group based on detecting that the member is not part of a domain name server (DNS) response.

14. The system of claim 11 , wherein the device is configured to add a member to the service group based on detecting that a status of the member is at least one of UP, available, or operational.

15. The system of claim 11 , wherein the device is configured to remove a member of the service group based on detecting the member is at least one of DOWN, unavailable, or not operational.

16. The system of claim 11 , wherein the device is configured to establish a monitor for the service group to determine the status of each of the IP addresses for the domain name.

17. The system of claim 16 , wherein the monitor is configured to poll the service group to determine the status of each of the IP addresses in the service group.

18. The system of claim 16 , wherein the monitor is configured to poll the service group in response to detecting an expired time-to-live (TTL) value.

19. The system of claim 16 , wherein the monitor is configured to measure a response time from each of the IP addresses in response to polling each of the IP addresses.

20. The system of claim 11 , wherein the service group comprises static members and automatically scaled members.

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 28, 2014
From: YENGALASETTI, SREEDHAR; NARAYANA, RAGHAV SOMANAHALLI; KAMATH, SANDEEP
To: CITRIX SYSTEMS, INC.
Reel/Frame 032768/0721 →
Continuity (2)
Provisional Application 61809332 · Apr 6, 2013
Related Publication 20140304414A1 · Oct 9, 2014