IP Library › Granted Patent US 10,235,152
Granted Patent B2
US 10,235,152 · App. 14/866,816 · Granted Mar 19, 2019

System and method for downgrading applications

Inventors: Christopher S. Linn (Palo Alto, CA); Eric S. Brown (Los Altos, CA); Eric O. Carlson (Mountain View, CA); Cindy M. Barrett (Menlo Park, CA); Jonathan M. Grynspan (Santa Clara, CA); Donald M. Firlik (Cupertino, CA); Cameron S. Birse (San Jose, CA); Timothee Geoghegan (San Francisco, CA)
Assignee: Apple Inc.
G06F8/65G06F8/62
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,235,152
App. No.
14/866,816
Granted
Mar 19, 2019
Kind
B2
Abstract

Disclosed herein is a technique for downgrading applications to placeholder applications in order to free up storage space in a user device. Based on a variety of heuristics, a number of installed applications are identified as candidates for a downgrade. The downgrading of the identified applications involves creating a placeholder application for each of the identified applications. The identified applications are temporarily deleted while keeping the user data associated with the applications intact and the placeholder applications are installed.

Claims (54)

1. A method for making storage space available in a user device, the method comprising:

detecting a low memory storage space threshold being met at the user device; and

based at least in part on the low memory storage space threshold being met:

determining that an application can be downgraded by:

generating a list of applications to be downgraded in accordance with historical data associated with the user device,

receiving a list of recoverable applications, wherein the list of recoverable applications includes a first set of applications that are recoverable from a digital media store,

generating, based on the list of recoverable applications, an updated list of applications to be downgraded by removing, from the list of applications to be downgraded, one or more applications that are not recoverable from the digital media store, and

identifying the application that can be downgraded from the updated list of applications;

creating a placeholder application for the application, wherein the placeholder application comprises a set of files that represents the application;

associating, with the placeholder application, user data that is specific to the application;

deleting the application from a memory of the user device; and

installing the placeholder application in the memory of the user device.

2. The method of claim 1 , wherein determining that the application can be downgraded comprises:

determining that the application can be downgraded when the application has not been launched for a particular period of time.

3. The method of claim 1 , wherein the set of files further includes configuration data associated with the application and localization information associated with the application.

4. The method of claim 1 , wherein deleting the application from the memory of the user device comprises:

deleting an application bundle associated with the application from the memory of the user device.

5. The method of claim 4 , wherein the application bundle comprises executable code associated with the application or one or more resources associated with the application.

6. The method of claim 1 , wherein the application is deleted to make the storage space available to perform a particular process at the user device, the method further comprising:

when the particular process is complete:

restoring the application associated with the placeholder application, and

re-associating the user data with the application.

7. The method of claim 1 , wherein detecting the low memory storage space threshold further comprises detecting a memory storage space capacity level at the user device during a software update process.

8. A user device, comprising:

a processor configured to cause the user device to carry out steps that include:

generating a list of applications to be downgraded in accordance with historical data associated with the user device,

receiving a list of recoverable applications, wherein the list of recoverable applications includes a first set of applications that are recoverable from a digital media store,

generating, based on the list of recoverable applications, an updated list of applications to be downgraded by removing, from the list of applications to be downgraded, one or more applications that are not recoverable from the digital media store,

detecting a low memory storage space threshold being met at the user device; and

based at least in part on the low memory storage space threshold being met, downgrading an application included in the updated list of applications by:

deleting the application from a memory of the user device, and

installing a placeholder application for the application in the memory of the user device, wherein the placeholder application for the application comprises a set of files that represents the application.

9. The user device of claim 8 , wherein the historical data includes information that indicates when one or more installed applications were last launched on the user device.

10. The user device of claim 8 , wherein downgrading the application included in the updated list of applications comprises:

creating the placeholder application for the application included in the updated list of applications.

11. The user device of claim 8 , wherein the set of files includes configuration data associated with the application and localization information associated with the application.

12. The user device of claim 8 , wherein deleting the application from the memory of the user device further comprises:

deleting an application bundle associated with the application from the memory of the user device.

13. The user device of claim 12 , wherein the application bundle comprises executable code associated with the application or one or more resources associated with the application.

14. A non-transitory computer readable storage medium configured to store instructions that, when executed by a processor included in a user device, cause the user device to free up storage space for a particular operation, by carrying out steps that include:

detecting a low memory storage space threshold being met at the user device; and

based at least in part on the low memory storage space threshold being met:

determining that an application can be downgraded by:

generating a list of applications to be downgraded in accordance with historical data associated with the user device,

receiving a list of recoverable applications, wherein the list of recoverable applications includes a first set of applications that are recoverable from a digital media store,

generating, based on the list of recoverable applications, an updated list of applications to be downgraded by removing, from the list of applications to be downgraded, one or more applications that are not recoverable from the digital media store, and

identifying the application that can be downgraded from the updated list of applications;

creating a placeholder application for the application, wherein the placeholder application comprises a set of files that represents the application;

associating user data specific to the application with the placeholder application;

automatically deleting the application from a memory of the user device; and

installing the placeholder application in the memory of the user device.

15. The non-transitory computer readable storage medium of claim 14 , wherein the placeholder application further includes configuration data associated with the application and localization information associated with the application.

16. The non-transitory computer readable storage medium of claim 14 , wherein deleting the application from the memory of the user device comprises:

deleting an application bundle associated with the application from the memory of the user device, wherein the application bundle comprises an executable code associated with the application or one or more resources associated with the application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2016
From: LINN, CHRISTOPHER S.; BROWN, ERIC S.; CARLSON, ERIC O.; BARRETT, CINDY M.; GRYNSPAN, JONATHAN M.; FIRLIK, DONALD M.; BIRSE, CAMERON S.; GEOGHEGAN, TIMOTHEE
To: APPLE INC.
Reel/Frame 039008/0548 →
Continuity (2)
Provisional Application 62171969 · Jun 5, 2015
Related Publication 20160357545A1 · Dec 8, 2016
Cited By (1)
US 12,423,430