IP Library › Granted Patent US 12,443,459
Granted Patent B2
US 12,443,459 · App. 17/667,062 · Granted Oct 14, 2025

Detecting and managing overloaded machines in a virtual deployment

Inventors: Vikramjeet Singh (Bangalore, IN); Mukesh Garg (Bangalore, IN); Vivek Koni Raghuveer (Bangalore, IN); Syed Mansoor Pasha (Bangalore, IN); Ramnath Repakula (Bangalore, IN); Vindhya Gajanan (Bangalore, IN); P N Prathima (Bangalore, IN)
G06F9/505G06F9/45558G06F11/3433G06F2009/4557
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 12,443,459
App. No.
17/667,062
Granted
Oct 14, 2025
Kind
B2
Abstract

Systems and methods for managing overloaded machines in a virtual environment are provided. A device can include one or more processors, coupled to memory. The device can receive, for time intervals, a metric of performance of hardware of a machine hosting sessions between clients. The device can identify, for the time intervals, a plurality of scores indicative of performance of the corresponding plurality of sessions. The device can trigger an action to perform on the machine or at least one of the sessions responsive to i) the metric of performance of hardware failing a first threshold corresponding to availability of the hardware for a predetermined number of time intervals of the plurality of time intervals, and ii) the at least one of the plurality of scores failing a second threshold corresponding to satisfactory session performance for the same predetermined number of time intervals.

Claims (45)

1. A method, comprising:

receiving, by a device, for a plurality of time intervals, a metric of performance of hardware of a machine hosting a plurality of sessions between a plurality of clients;

identifying, by the device, for the plurality of time intervals, a plurality of scores indicative of performance of the corresponding plurality of sessions;

triggering, by the device, an action to perform on the machine or at least one of the plurality of sessions responsive to i) the metric of performance of hardware failing a first threshold corresponding to availability of the hardware for a predetermined number of time intervals of the plurality of time intervals, and ii) the at least one of the plurality of scores failing a second threshold corresponding to satisfactory session performance for the same predetermined number of time intervals; and

performing one or more of the following steps:

switching, by the device responsive to triggering the action, the machine to a maintenance mode in which the machine rejects subsequent requests to establish sessions on the machine;

restricting, by the device responsive to the triggering of the action, resources for one or more processes executing on the at least one of the plurality of sessions on the machine;

terminating, by the device, the one or more processes executing on the at least one of the plurality of sessions on the machine;

transferring, by the device responsive to the triggering the action, one or more of the plurality of sessions to a second machine hosting a second plurality of sessions; and

rebooting, by the device responsive to the triggering the action, the at least one of the plurality of sessions or the machine hosting the plurality of sessions.

2. The method of claim 1 , wherein each of the predetermined number of time intervals are consecutive to one another, comprising:

triggering, by the device, the action responsive to a correlation between the metric of performance of hardware and the plurality of scores.

3. The method of claim 1 , wherein the metric of performance of hardware is based on at least one of an aggregated CPU consumption, an aggregated memory consumption, a predetermined number of resource spikes for the plurality of time intervals, or a number of available sessions of the machine.

4. The method of claim 1 , further comprising:

determining, by the device for a second predetermined number of time intervals that are subsequent to the predetermined number of time intervals and subsequent to executing the action, that i) the metric of performance of hardware fails the first threshold for a second predetermined number of time intervals of a second plurality of time intervals, and ii) the at least one of the plurality of scores fails the second threshold for the same second predetermined number of time intervals subsequent to triggering the action; and

triggering, by the device, responsive to the determination, a second action to perform on the machine or one or more of the plurality of sessions, the second action different from the action.

5. The method of claim 1 , wherein triggering the action is further responsive to the at least one of the plurality of sessions being the same session corresponding to the at least one of the plurality of scores failing the second threshold for the same predetermined number of time intervals.

6. The method of claim 1 , wherein the plurality of scores correspond to a user experience score that is based on at least one of a resource utilization of a respective session, a responsiveness of the session, a logon duration of the session, or a number of failures of the session.

7. A system, comprising:

a device comprising one or more processors, coupled to memory, configured to:

receive, for a plurality of time intervals, a metric of performance of hardware of a machine hosting a plurality of sessions between a plurality of clients;

identify, for the plurality of time intervals, a plurality of scores indicative of performance of the corresponding plurality of sessions;

trigger an action to perform on the machine or at least one of the plurality of sessions responsive to i) the metric of performance of hardware failing a first threshold corresponding to availability of the hardware for a predetermined number of time intervals of the plurality of time intervals, and ii) the at least one of the plurality of scores failing a second threshold corresponding to satisfactory session performance for the same predetermined number of time intervals; and

further configured to perform one or more of the following actions:

switch, responsive to triggering the action, the machine to a maintenance mode in which the machine rejects subsequent requests to establish sessions on the machine;

restrict, responsive to the triggering of the action, resources for one or more processes executing on the at least one of the plurality of sessions on the machine;

restrict, responsive to the triggering of the action, the one or more processes executing on the at least one of the plurality of sessions on the machine;

transfer, responsive to the triggering the action, one or more of the plurality of sessions to a second machine hosting a second plurality of sessions; and

reboot, responsive to the triggering the action, the at least one of the plurality of sessions or the machine hosting the plurality of sessions.

8. The system of claim 7 , wherein each of the predetermined number of time intervals are consecutive to one another, and wherein the device is further configured to:

trigger the action responsive to a correlation between the metric of performance of hardware and the plurality of scores.

9. The system of claim 7 , wherein the metric of performance of hardware is based on at least one of an aggregated CPU consumption, an aggregated memory consumption, a predetermined number of resource spikes for the plurality of time intervals, or a number of available sessions of the machine.

10. The system of claim 7 , wherein the device is further configured to:

determine, for a second predetermined number of time intervals that are subsequent to the predetermined number of time intervals and subsequent to executing the action, that i) the metric of performance of hardware fails the first threshold for a second predetermined number of time intervals of a second plurality of time intervals, and ii) the at least one of the plurality of scores fails the second threshold for the same second predetermined number of time intervals subsequent to triggering the action; and

trigger, responsive to the determination, a second action to perform on the machine or one or more of the plurality of sessions, the second action different from the action.

11. A non-transitory computer readable storage medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

receive, for a plurality of time intervals, a metric of performance of hardware of a machine hosting a plurality of sessions between a plurality of clients;

identify, for the plurality of time intervals, a plurality of scores indicative of performance of the corresponding plurality of sessions; and

trigger an action to perform on the machine or at least one of the plurality of sessions responsive to i) the metric of performance of hardware failing a first threshold corresponding to availability of the hardware for a predetermined number of time intervals of the plurality of time intervals, and ii) the at least one of the plurality of scores failing a second threshold corresponding to satisfactory session performance for the same predetermined number of time intervals; and

performing one or more of the following actions:

switch, responsive to triggering the action, the machine to a maintenance mode in which the machine rejects subsequent requests to establish sessions on the machine;

restrict, responsive to the triggering the action, resources for one or more processes executing on the at least one of the plurality of sessions on the machine;

terminate, responsive to the triggering the action, the one or more processes executing on the at least one of the plurality of sessions on the machine;

transfer, responsive to the triggering the action, one or more of the plurality of sessions to a second machine hosting a second plurality of sessions; or

reboot, responsive to the triggering the action, the at least one of the plurality of sessions or the machine hosting the plurality of sessions.

Assignments (3)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 8, 2022
From: SINGH, VIKRAMJEET; GARG, MUKESH; RAGHUVEER, VIVEK KONI; PASHA, SYED MANSOOR; REPAKULA, RAMNATH; GAJANAN, VINDHYA; PRATHIMA, PN
To: CITRIX SYSTEMS, INC.
Reel/Frame 058929/0056 →
Priority Claims (1)
IN 202141061213 · Dec 28, 2021 · national
Continuity (1)
Related Publication 20230205595A1 · Jun 29, 2023
References Cited (8)
US 12093709B1 · Chraim · 2024 [cited by examiner]
US 20120116831A1 · Greenspan · 2012 [cited by examiner]
US 20190317869A1 · Selvaraj · 2019 [cited by examiner]
US 20200366572A1 · Chauhan · 2020 [cited by examiner]
US 20200404047A1 · Kurhe · 2020 [cited by examiner]
US 20230025718A1 · Varnavas · 2023 [cited by examiner]
US 20230114867A1 · Chawla · 2023 [cited by examiner]
US 20230205595A1 · Singh · 2023 [cited by examiner]
Cited By (1)
US 12,705,158