IP Library › Granted Patent US 11,163,618
Granted Patent B1
US 11,163,618 · App. 16/989,000 · Granted Nov 2, 2021

Auto termination of applications based on application and user activity

Inventors: Daowen Wei (Jiangsu, CN); Hengbo Wang (Jiangsu, CN); Jian Ding (Jiangsu, CN); Feng Tao (Jiangsu, CN); Manbinder Pal Singh (Coral Springs, FL)
Assignee: CITRIX SYSTEMS, INC.
G06F9/544G06F16/16
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 11,163,618
App. No.
16/989,000
Granted
Nov 2, 2021
Kind
B1
Abstract

A system and method that automatically terminates an application. A method includes monitoring activity data points for an application launched by a client device within a workspace environment. The activity data points may include user interactions with a physical interface component and background interactions occurring with the application. State data for each file associated with the application is monitored and, if a determination is made that the application is inactive based on the activity data points, the method determines if a file associated with the application includes unsaved content based on state data. If it is determined that no files for the application include unsaved content, the method forecasts whether the application will be inactive for a future period based on the activity data. The application is terminated if it is determined that no files for the application include unsaved content and the application is forecast to be inactive.

Claims (41)

1. A method, comprising:

monitoring activity data points for an application launched by a client device within a shared workspace environment, wherein the activity data points include user interactions with a physical interface component and background interactions occurring with the application;

monitoring state data for each file associated with the application;

in response to a determination that the application is inactive during a current time period based on the activity data points, determining if at least one file associated with the application includes unsaved content based on the state data;

in response to determining that no files for the application include unsaved content, forecasting whether the application will be inactive for a future time period based on the activity data; and

in response to determining that no files for the application include unsaved content and the application is forecast to be inactive for the future time period, terminating the application.

2. The method of claim 1 , wherein the physical interface component includes at least one of: a keyboard, a mouse, a touchpad, a voice detection system, a gesture detector, or an image capture system.

3. The method of claim 1 , wherein the background interactions include interactions occurring between the application and at least one of: a network communication, a file input/output, a peripheral device access, a registry access, or a disk access.

4. The method of claim 1 , wherein the state data for each file indicates whether the file was saved based on a detection of at least one of: a click, tap or touch on a save command, a save keyboard shortcut, an interaction with a file dialog, or an auto-save.

5. The method of claim 1 , wherein the determination that the application is inactive during the current time period includes utilizing a machine learning model to determine whether the background interactions detected during the current time period indicate an active or inactive state.

6. The method of claim 1 , further comprising: logging off a session running the application if no other active applications exist within the session.

7. The method of claim 1 , wherein forecasting the application as inactive for the further time period includes:

obtaining a historical activity record for the application; and

applying a forecasting procedure on the historical activity record to determine a probability that the future time period will be inactive.

8. The method of claim 7 , wherein the forecasting procedure includes a machine learning model that is trained for at least one of: a specific user, a group of users, or a group of applications.

9. The method of claim 1 , wherein the step of terminating the application is further based on a criteria that includes at least one of: a role of the user, a type of the application, a location of the client device, a location of where the application is running, a level of security associated with running the application.

10. The method of claim 1 , wherein the state data for each file includes:

a first indicator indicating whether the file is open;

a second indicator indicating whether the file, if open, has been saved; and

a time indicator indicating when the state data of the file was last updated.

11. A system, comprising:

computing device configured to:

monitor activity data points for an application launched by a client device within a shared workspace environment, wherein the activity data points include user interactions with a physical interface component and background interactions associated with the application;

monitor state data for each file associated with the application;

in response to a determination that the application is inactive during a current time period based on the activity data points, determine if at least one file associated with the application includes potentially unsaved content based on the state data;

in response to determining that no files for the application include unsaved content, forecast whether the application will be inactive during a future time period based on the activity data; and

in response to determining that no files for the application include unsaved content and the application is forecast to be inactive for the future time period, terminate the application.

12. The system of claim 11 , wherein the physical interface component includes at least one of: a keyboard, a mouse, a touchpad, a voice detection system, a gesture detector, or an image capture system.

13. The system of claim 11 , wherein the background interactions include interactions occurring between the application and at least one of: a network communication, a file input/output, a peripheral device access, a registry access, or a disk access.

14. The system of claim 11 , wherein the state data for each file indicates whether the file was saved based on a detection of at least one of: a click, tap or touch on a save command, a save keyboard shortcut, an interaction with a file dialog, or an auto-save.

15. The system of claim 11 , wherein the determination that the application is inactive during the current time period includes utilizing a machine learning model to determine whether the background interactions during the current time period indicate an active or inactive state.

16. The system of claim 11 , further comprising: logging off a session running the application if no other active applications exist within the session.

17. The system of claim 11 , wherein forecasting the application as inactive for the further time period includes:

obtaining a historical activity record for the application; and

applying a forecasting procedure on the historical activity record to determine a probability that the future time period will be inactive.

18. The system of claim 17 , wherein the forecasting procedure includes a machine learning model that is trained for at least one of: a specific user, a group of users, or a group of applications.

19. The system of claim 11 , wherein the step of terminating the application is further based on a criteria that includes at least one of: a role of the user, a type of the application, a location of the client device, a location of where the application is running, a level of security associated with running the application.

20. The system of claim 11 , wherein the state data for each file includes:

a first indicator indicating whether the file is open;

a second indicator indicating whether the file, if open, has been saved; and

a time indicator indicating when the state data of the file was last updated.

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 Aug 11, 2020
From: WEI, DAOWEN; WANG, HENGBO; DING, JIAN; TAO, FENG; SINGH, MANBINDER PAL
To: CITRIX SYSTEMS, INC.
Reel/Frame 053455/0616 →
Continuity (1)
Continuation PCTCN2020103994 · Jul 24, 2020
Cited By (3)
US 12,255,962 US 12,301,590 US 12,542,740