IP Library Granted Patent US 10,733,054
Granted Patent B2
US 10,733,054 · App. 16/034,683 · Granted Aug 4, 2020

User engagement aware auto-restart

Inventors: Águeda Anaid Chacón (Oakland, CA); Narmada Jayasankar (San Jose, CA); Kaitlin Hanss (San Francisco, CA); Jonathan Chien (San Francisco, CA)
Assignee: Dropbox, Inc.
G06F11/1438G06F11/14G06F16/27
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,733,054
App. No.
16/034,683
Granted
Aug 4, 2020
Kind
B2
Abstract

The present technology pertains to a technique for responding to a crash of an application. The technique includes detecting a crash of an application running on the computing system, selecting a crash response for the application based on engagement status information for a flow profile comprising one or more user signals associated with the application, and implementing the instructions of the crash response.

Claims (64)

1. A computer-implemented method comprising: identifying an operative flow comprising signals associated with an application, wherein the signals comprise user and system signals;

accessing stored flow profiles and match parameters for the flow profiles that indicate the type of match required for each flow profile, wherein two or more of the match parameters have different match types;

determining that the operative flow matches a flow profile of the one or more flow profiles for the application when the respective match parameter is satisfied between the signals associated with the operative flow and flow profile signals in the flow profile;

setting, in response to determining whether the operative flow matches the flow profile, an engagement status for the flow profile;

detecting a crash of the application;

selecting, in response to detecting the crash of the application, a restart mode for the application based on the engagement status for the flow profile from two or more different restart modes; and

restarting the application in accordance with the selected restart mode.

2. The computer-implemented method of claim 1 , wherein one or more of the user signals are predicted and not immediately detected.

3. The computer-implemented method of claim 1 , wherein one or more of the user signals are attempts by the application to attract a user's attention.

4. The computer-implemented method of claim 1 , further comprising:

identifying all active flow profiles when the application crashes;

retrieving crash responses for those active flow profiles; and

restarting the application based on the set of crash responses.

5. The computer-implemented method of claim 1 , wherein the application is a content management application configured to coordinate synchronization of content items with a content management system.

6. The computer-implemented method of claim 1 , further comprising:

providing an option to manually define the flow profiles and the match parameters.

7. The computer-implemented method of claim 1 , wherein the match parameters include a match parameter for a relationship match between user signals of each flow profile or a match parameter for a non-sequential threshold match with respect to user signals of an operative flow.

8. The computer-implemented method of claim 1 , further comprising:

identifying, in response to restarting the application in accordance with the selected restart mode, a second operative flow comprising second signals associated with the application;

determining whether the second operative flow matches a second flow profile for the application, wherein the second flow profile includes a crash frequency, and wherein matching the second operative flow and the second flow profile is based on a match in the crash frequency;

setting, in response to determining whether the second operative flow matches the second flow profile, a second engagement status for the second flow profile;

detecting a second crash of the application;

selecting, in response to detecting the second crash, a second restart mode for the application based on the second engagement status for the second flow profile; and

restarting the application in accordance with the second restart mode.

9. The computer-implemented method of claim 1 , further comprising:

detecting a change in the operative flow; and

updating the engagement status for the flow profile based on the change in the operative flow.

10. The computer-implemented method of claim 1 , further comprising:

transmitting, to a content management system, a request to initiate synchronization processes for content items, wherein the request includes an auto-restart parameter indicating that the application has been automatically restarted.

11. The computer-implemented method of claim 10 , further comprising:

receiving, from the content management system, a delay signal in response to a throttle threshold of the content management system being exceeded;

waiting, in response to the delay signal, for a period of time; and

resending, after the period of time, the request to initiate synchronization processes for content items.

12. A non-transitory computer readable medium storing instructions, the instruction, which when executed by a computing system, cause the computing system to perform operations comprising:

accessing stored flow profiles and match parameters for the flow profiles that indicate the type of match required for each flow profile, wherein two or more of the match parameters have different match types;

identifying a first operative flow comprising first signals associated with an application, wherein the first signals comprise user and system signals;

determining that the first operative flow matches a first flow profile for the application when the respective match parameter is satisfied between the first signals and first flow profile signals of the first flow profile;

setting, in response to the first operative flow matching the first flow profile, a first engagement status for the first flow profile to active;

detecting a first crash of the application running on the computing system;

selecting, in response to detecting the first crash of the application, a first crash response for the application based on the first engagement status from two or more different crash responses, wherein the first crash response comprises instructions for responding to the first crash;

and implementing the instructions of the first crash response.

13. The non-transitory computer readable medium of claim 12 , wherein matching the first operative flow and the first flow profile is based on a match in sequence between the first signals and the first flow profile signals such that there is at least a threshold percentage of sequentially matching signals between the first signals and first flow profile signals.

14. The non-transitory computer readable medium of claim 13 , wherein the instructions further cause the computing system to perform operations comprising:

determining that the first operative flow does not match a second flow profile; and

setting, in response to the first operative flow not matching the second flow profile, a second engagement status for the second flow profile to inactive.

15. A system comprising:

one or more processors; and

a non-transitory computer readable medium storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:

accessing stored flow profiles and match parameters for the flow profiles that indicate the type of match required for each flow profile, wherein two or more of the match parameters have different match types;

identifying a first operative flow comprising one or more first signals, wherein the one or more first signals comprise user and/or system signals;

determining that the first operative flow matches a first flow profile of the one or more flow profiles when the respective match parameter is satisfied between the one or more first signals and first flow profile signals of the first flow profile;

setting, in response to determining whether the first operative flow matches the first flow profile, a first engagement status for the first flow profile;

selecting a first restart mode for an application based on the first engagement status for the first flow profile from two or more different restart modes; and

responding to a first crash of the application in accordance with the first restart mode.

16. The system of claim 15 , wherein the operations further comprise detecting the first crash of the application.

17. The system of claim 15 , wherein the application is a content management application configured to coordinate synchronization of content items with a content management system.

18. The system of claim 15 , wherein the operations further comprise:

detecting a change in the first operative flow; and

updating the first engagement status for the first flow profile based on the change in the first operative flow.

19. The system of claim 15 , wherein the operations further comprise transmitting, to a content management system, a request to initiate synchronization processes for content items, wherein the request includes an auto-restart parameter indicating that the application has been automatically restarted.

20. The system of claim 19 , wherein the operations further comprise:

receiving, from the content management system, a delay signal in response to a throttle threshold of the content management system being exceeded;

waiting, in response to the delay signal, for a period of time; and

resending, after the period of time, the request to initiate synchronization processes for content items.

Assignments (4)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 16, 2018
From: CHACÓN, ÁGUEDA ANAID; JAYASANKAR, NARMADA; HANSS, KAITLIN; CHIEN, JONATHAN
To: DROPBOX, INC.
Reel/Frame 046354/0980 →