IP Library Granted Patent US 11,567,784
Granted Patent B2
US 11,567,784 · App. 16/737,690 · Granted Jan 31, 2023

Systems and methods for reducing forced application termination

Inventors: Ben Hands (Mountain View, CA); Yongjian Kang (Sunnyvale, CA)
Assignee: Netflix, Inc.
G06F9/44594G06F9/485G06F9/5005G06N5/04G06N20/00
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,567,784
App. No.
16/737,690
Granted
Jan 31, 2023
Kind
B2
Abstract

The disclosed computer-implemented method may include detecting an application running in a background state on a client device. The method may also include collecting state data about a current state of the client device. Additionally, the method may include determining, by applying a machine learning model to the collected state data, that a likelihood of forcible termination of the application within a predetermined timeframe exceeds a threshold. Furthermore, the method may include reducing a computing resource footprint of the application on the client device to reduce the likelihood of forcible termination of the application. Various other methods, systems, and computer-readable media are also disclosed.

Claims (65)

1. A computer-implemented method comprising:

detecting an application running in a background state on a client device;

collecting state data about a current state of the client device;

determining, by applying a machine learning model to the collected state data to calculate a likelihood of forcible termination of the application within a predetermined timeframe, that the calculated likelihood exceeds a threshold between forcible termination and continuation of the background state, wherein the machine learning model predicts a timing of forcible termination; and

reducing a computing resource footprint of the application on the client device to reduce the calculated likelihood of forcible termination of the application within the predetermined timeframe, wherein the predetermined timeframe includes a sufficient amount of time to reduce the computing resource footprint prior to the predicted timing of forcible termination.

2. The method of claim 1 , wherein the background state comprises:

a closed state of the application; and

a use of at least one computing resource of the client device by the application.

3. The method of claim 1 , wherein the state data comprises a state of at least one of:

a memory;

a battery;

a processor;

a network connection;

an operating system;

the application; or

a second application.

4. The method of claim 3 , wherein the machine learning model comprises a model trained using at least one of:

historical state data of the client device;

historical state data of a second client device;

a historical record of forcible termination of the application; or

a historical record of forcible termination of the second application.

5. The method of claim 3 , wherein forcible termination comprises an automated termination of at least one background process of the application by the operating system of the client device.

6. The method of claim 1 , wherein reducing the computing resource footprint comprises at least one of:

reducing usage of a memory cache;

terminating a process of the application;

reducing a size of the application; or

terminating usage of a computing resource.

7. The method of claim 1 , wherein reducing the computing resource footprint to reduce the calculated likelihood of forcible termination of the application comprises:

identifying a target state of the client device with a target likelihood of forcible termination of the application that does not exceed the threshold; and

reducing the computing resource footprint to achieve the target state of the client device.

8. The method of claim 1 , further comprising:

detecting a change in the current state of the client device; and

adjusting the calculated likelihood of forcible termination of the application based on the change.

9. The method of claim 8 , further comprising predicting a future state of the client device based on the change in the current state of the client device.

10. The method of claim 1 , further comprising:

detecting a forcible termination of the application within the predetermined timeframe; and

updating historical data with the collected state data and the forcible termination.

11. The method of claim 10 , further comprising retraining the machine learning model with the updated historical data.

12. A system comprising:

a detection module, stored in memory, that detects an application running in a background state on a client device;

a collection module, stored in memory, that collects state data about a current state of the client device;

a determination module, stored in memory, that determines, by applying a machine learning model to the collected state data to calculate a likelihood of forcible termination of the application within a predetermined timeframe, that the calculated likelihood exceeds a threshold between forcible termination and continuation of the background state, wherein the machine learning model predicts a timing of forcible termination;

a reduction module, stored in memory, that reduces a computing resource footprint of the application on the client device to reduce the calculated likelihood of forcible termination of the application within the predetermined timeframe, wherein the predetermined timeframe includes a sufficient amount of time to reduce the computing resource footprint prior to the predicted timing of forcible termination; and

at least one processor that executes the detection module, the collection module, the determination module, and the reduction module.

13. The system of claim 12 , wherein the detection module detects the background state of the application by:

detecting a closing of the application; and

monitoring a continued background process of the application after the closing of the application.

14. The system of claim 12 , wherein the collection module comprises at least one of:

a client module on the client device that sends the collected state data to a server; or

a server module on the server that requests the collected state data from the client device.

15. The system of claim 14 , wherein the machine learning model is trained by at least one of:

the client device using historical state data of the client device; or

the server using historical state data of multiple client devices.

16. The system of claim 14 , wherein the server sends the machine learning model to the client device.

17. The system of claim 12 , wherein the machine learning model is tailored to at least one of:

the application;

the client device; or

a user of the client device.

18. The system of claim 12 , wherein the determination module determines that the calculated likelihood of forcible termination of the application within the predetermined timeframe does not exceed the threshold.

19. The system of claim 18 , wherein the reduction module suspends a reduction of the computing resource footprint based on determining the calculated likelihood of forcible termination does not exceed the threshold.

20. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a computing device, cause the computing device to:

detect an application running in a background state on a client device;

collect state data about a current state of the client device;

determine, by applying a machine learning model to the collected state data to calculate a likelihood of forcible termination of the application within a predetermined timeframe, that the calculated likelihood exceeds a threshold between forcible termination and continuation of the background state, wherein the machine learning model predicts a timing of forcible termination; and

reduce a computing resource footprint of the application on the client device to reduce the calculated likelihood of forcible termination of the application within the predetermined timeframe, wherein the predetermined timeframe includes a sufficient amount of time to reduce the computing resource footprint prior to the predicted timing of forcible termination.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 7, 2020
From: HANDS, BEN; KANG, YONGJIAN
To: NETFLIX, INC
Reel/Frame 051750/0301 →
Continuity (1)
Related Publication 20210208906A1 · Jul 8, 2021