IP Library › Granted Patent US 10,977,105
Granted Patent B2
US 10,977,105 · App. 16/220,419 · Granted Apr 13, 2021

Memory crash prevention for a computing device

Inventor: Shao-Hua Kao (Santa Clara, CA)
Assignee: Uber Technologies, Inc.
G06F11/008G06F11/3037G06F11/3419G06F11/3433H04L65/604H04L65/80G06F2201/81
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 10,977,105
App. No.
16/220,419
Granted
Apr 13, 2021
Kind
B2
Abstract

A computing device can monitor a set of memory usage metrics of the computing device. Based on historical memory usage data and the set of memory usage metrics, the computing device can determine whether memory usage will exceed a critical memory threshold at a future instance in time. In response to determining that the memory usage will exceed the critical memory threshold at the future instance in time, the computing device can degrade one or more application features of an application executing on the computing device.

Claims (37)

1. A computing device comprising:

a display screen;

one or more processors; and

one or more memory resources storing instructions that, when executed by the one or more processors, cause the computing device to:

monitor a set of memory usage metrics of the computing device;

based on historical memory usage data and the set of memory usage metrics, determine whether memory usage will exceed a critical memory threshold at a future instance in time; and

in response to determining that the memory usage will exceed the critical memory threshold at the future instance in time, degrade one or more application features of an application executing on the computing device by reducing a resolution of navigation content displayed on the display screen.

2. The computing device of claim 1 , wherein the executed instructions further cause the computing device to:

display streaming content of the application on the display screen;

wherein the executed instructions cause the computing device to further degrade the one or more application features by reducing a content render rate of the streaming content.

3. The computing device of claim 1 , wherein the set of memory usage metrics comprises a total memory size of the computing device and a current available memory of the computing device.

4. The computing device of claim 1 , wherein the executed instructions cause the computing device to collect the historical memory usage data over a predetermined period prior to determining whether memory usage will exceed the critical memory threshold at the future instance in time.

5. The computing device of claim 4 , wherein the executed instructions cause the computing device to determine whether the memory usage will exceed the critical memory threshold at the future instance in time by projecting the historical memory usage data and current memory usage data over a future period of time.

6. The computing device of claim 1 , wherein the application comprises multiple priority tiers of application features.

7. The computing device of claim 6 , wherein the executed instructions cause the computing device to further degrade the one or more application features by degrading a first set of application features in a first priority tier of the multiple priority tiers.

8. The computing device of claim 7 , wherein the executed instructions further cause the computing device to:

while or subsequent to degrading the first set of application features, determine that the memory usage at the future instance in time will still exceed the critical memory threshold; and

based on determining that the memory usage at the future instance in time will still exceed the critical memory threshold, degrade a second set of application features in a second priority tier of the multiple priority tiers.

9. A non-transitory computer readable medium storing instructions that, when executed by one or more processors of a computing device, cause the computing device to:

monitor a set of memory usage metrics of the computing device;

based on historical memory usage data and the set of memory usage metrics, determine whether memory usage will exceed a critical memory threshold at a future instance in time; and

in response to determining that the memory usage will exceed the critical memory threshold at the future instance in time, degrade one or more application features of an application executing on the computing device by reducing a resolution of navigation content displayed on the display screen.

10. The non-transitory computer readable medium of claim 9 , wherein the executed instructions further cause the computing device to:

display streaming content of the application on the display screen;

wherein the executed instructions cause the computing device to further degrade the one or more application features by reducing a content render rate of the streaming content.

11. The non-transitory computer readable medium of claim 9 , wherein the set of memory usage metrics comprises a total memory size of the computing device and a current available memory of the computing device.

12. The non-transitory computer readable medium of claim 9 , wherein the executed instructions cause the computing device to collect the historical memory usage data over a predetermined period prior to determining whether the memory usage will exceed the critical memory threshold at the future instance in time.

13. The non-transitory computer readable medium of claim 12 , wherein the executed instructions cause the computing device to determine whether the memory usage will exceed the critical memory threshold at the future instance in time by projecting the historical memory usage and current memory usage over a future period of time.

14. The non-transitory computer readable medium of claim 9 , wherein the application comprises multiple priority tiers of application features.

15. A computer-implemented method of managing memory, the method being performed by one or more processors of a computing device and comprising:

monitoring a set of memory usage metrics of the computing device;

based on historical memory usage data and the set of memory usage metrics, determining whether memory usage will exceed a critical memory threshold at a future instance in time; and

in response to determining that the memory usage will exceed the critical memory threshold at the future instance in time, degrading one or more application features of an application executing on the computing device by reducing a resolution of navigation content displayed on the display screen.

16. The method of claim 15 , wherein the executed instructions further cause the computing device to:

displaying streaming content of the application on the display screen;

wherein the one or more processors further degrade the one or more application features by reducing a content render rate of the streaming content.

17. The method of claim 15 , wherein the set of memory usage metrics comprise a total memory size of the computing device and a current available memory of the computing device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2019
From: KAO, SHAO-HUA
To: UBER TECHNOLOGIES, INC.
Reel/Frame 048253/0933 →
Continuity (1)
Related Publication 20200192734A1 · Jun 18, 2020
Cited By (1)
US 12,418,836