IP Library Granted Patent US 9,519,518
Granted Patent B2
US 9,519,518 · App. 13/895,284 · Granted Dec 13, 2016

Systems and methods for deploying a spotted virtual server in a cluster system

Inventors: Sandeep Kamath (Santa Clara, CA); Mahesh Arumugam (Santa Clara, CA); Vishnu Itta (Bangalore, IN)
Assignee: CITRIX SYSTEMS, INC.
G06F9/5027G06F9/5077G06F9/5088H04L67/1008
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,519,518
App. No.
13/895,284
Granted
Dec 13, 2016
Kind
B2
Abstract

The present invention is directed towards systems and methods deploying a virtual server on a subset of devices in a cluster of devices. A first device of a cluster of devices intermediary between at least one client and at least one server, may identify a first virtual server to establish on one or more devices of the cluster. The first device may associate, to the identified virtual server, a group comprising a subset of devices in the cluster of devices. The cluster may establish the first virtual server on each device in the group responsive to associating the group to the first virtual server. Each virtual server on each device of the group may be assigned a same internet protocol address.

Claims (26)

1. A method for deploying a virtual server on a subset of devices in a cluster of devices, the method comprising:

(a) identifying, by a first device of a cluster of devices intermediary between at least one client and at least one server, a first virtual server to establish on one or more devices of the cluster;

(b) associating, by the first device to the identified virtual server, a group comprising a subset of devices in the cluster of devices; and

(c) establishing the first virtual server on each device in the group responsive to associating the group to the first virtual server, each virtual server on each device of the group assigned a same internet protocol address.

2. The method of claim 1 , further comprising establishing a second virtual server within the identified group, the second virtual server comprising a virtual server dependent on the first virtual server.

3. The method of claim 1 , wherein (b) comprises identifying the group comprising the subset of devices in the cluster of devices, each of the devices in the cluster comprising a plurality of processing cores.

4. The method of claim 1 , further comprising migrating the first virtual server to a second group comprising a second subset of devices in the cluster of devices, and migrating virtual servers dependent on the first virtual server to the second group.

5. The method of claim 1 , further comprising receiving a request to establish the first virtual server, the request comprising a key, and determining, based on the key, a first core of an owner device in the group for establishing the first virtual server.

6. The method of claim 5 , further comprising requesting the first core to create an entry for a session of the first virtual server in a hash table.

7. The method of claim 6 , further comprising including, in the entry, an identification of the subset of the devices in the group.

8. The method of claim 6 , further comprising replicating a hash table entry for the session at each remaining device of the group if the group comprises more than one device.

9. The method of claim 5 , further comprising migrating each virtual server dependent on the first virtual server to a back-up device of the owner device, if the owner device leaves the cluster.

10. The method of claim 6 , further comprising providing, responsive to a second request from a client to access the session, via the hash table based on the key included in the second request, information about the session.

11. A system for deploying a virtual server on a subset of devices in a cluster of devices, the system comprising:

a cluster of devices intermediary between at least one client and at least one server;

a first virtual server to establish on one or more devices of the cluster; and

a first device of the cluster, identifying the first virtual server to establish on the one or more devices of the cluster, and associating, to the identified virtual server, a group comprising a subset of devices in the cluster of devices, the first virtual server established on each device in the group responsive to associating the group to the first virtual server, each virtual server on each device of the group assigned a same internet protocol address.

12. The system of claim 11 , wherein the cluster establishes a second virtual server within the identified group, the second virtual server comprising a virtual server dependent on the first virtual server.

13. The system of claim 11 , wherein the first device identifies the group comprising the subset of devices in the cluster of devices, each of the devices in the cluster comprising a plurality of processing cores.

14. The system of claim 11 , wherein the cluster migrates virtual servers dependent on the first virtual server to a second group comprising a second subset of devices in the cluster of devices, responsive to migrating the first virtual server to the second group.

15. The system of claim 11 , wherein the first device receives a request to establish the first virtual server, the request comprising a key, and determining, based on the key, a first core of an owner device in the group for establishing the first virtual server.

16. The system of claim 15 , wherein the first device requests the first core to create an entry for a session of the first virtual server in a hash table.

17. The system of claim 16 , wherein the first core includes, in the entry, an identification of the subset of the devices in the group.

18. The system of claim 16 , wherein the cluster replicates a hash table entry for the session at each remaining device of the group if the group comprises more than one device.

19. The system of claim 15 , wherein the cluster migrates each virtual server dependent on the first virtual server to a back-up device of the owner device, if the owner device leaves the cluster.

20. The system of claim 16 , wherein the first core provides, responsive to a second request from a client to access the session, via the hash table based on the key included in the second request, information about the session.

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 Oct 28, 2013
From: KAMATH, SANDEEP; ARUMUGAM, MAHESH; ITTA, VISHNU
To: CITRIX SYSTEMS, INC.
Reel/Frame 031486/0337 →
Continuity (1)
Related Publication 20140344326A1 · Nov 20, 2014