# US 9,519,518 B2 · Systems and methods for deploying a spotted virtual server in a cluster system

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,518 B2
- Document ID: US9519518B2
- Status: Granted
- Kind: B2
- Application number: 13/895,284
- Filed: 2013-05-15
- Published: 2014-11-20
- Granted: 2016-12-13
- Earliest claimed: 2013-05-15
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Sandeep Kamath; Mahesh Arumugam; Vishnu Itta
- Web page: https://patentgrep.com/patent/US9519518B2

## CPC

- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 9/5088: {involving task migration}
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 5)

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.

### Claim 7 (depends on 6)

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

### Claim 8 (depends on 6)

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.

### Claim 9 (depends on 5)

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.

### Claim 10 (depends on 6)

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.

### Claim 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.

### Claim 12 (depends on 11)

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.

### Claim 13 (depends on 11)

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.

### Claim 14 (depends on 11)

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.

### Claim 15 (depends on 11)

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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 16)

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

### Claim 18 (depends on 16)

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.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 16)

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.
