# US 2018/0322015 A1 · User engagement aware auto-restart

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0322015 A1
- Document ID: US20180322015A1
- Status: Published application
- Kind: A1
- Application number: 16/034,683
- Filed: 2018-07-13
- Published: 2018-11-08
- Earliest claimed: 2016-12-30
- Assignees: Dropbox, Inc.
- Applicants: Dropbox, Inc.
- Inventors: Águeda Anaid Chacón; Narmada Jayasankar; Kaitlin Hanss; Jonathan Chien
- Web page: https://patentgrep.com/patent/US20180322015A1

## CPC

- G06F 11/1438: {Restarting or rejuvenating}
- G06F 11/3438: {monitoring of user actions (tracking the activity of the user H04L67/535)}
- G06F 11/14: Error detection or correction of the data by redundancy in operations (error detection or correction of the data by redundancy in hardware G06F11/16)
- G06F 16/27: Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## 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

### Claim 1

A computer-implemented method comprising:
identifying an operative flow comprising one or more user signals associated with an application;
determining whether the operative flow matches a flow profile for the application;
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; and
restarting the application in accordance with the restart mode.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein the engagement status for the flow profile is set to active in response to determining that the operative flow matches the flow profile, and wherein the restart mode is configured to restart the application with a notification about the crash to a user.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the engagement status for the flow profile is set to inactive in response to determining that the operative flow does not match the flow profile, and wherein the restart mode is configured to restart the application without a notification about the crash to a user.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein collecting an operative flow of one or more user signals associated with the application comprises:
recording, by the application, the one or more user signals associated with the application over a defined period of time.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein the flow profile is one of a set of flow profiles for the application.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein the flow profile includes a crash type.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the flow profile includes a crash frequency.

### Claim 9 (depends on 1)

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.

### Claim 10 (depends on 1)

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.

### Claim 11 (depends on 10)

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.

### Claim 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:
detecting a crash of an application running on the computing system;
selecting, in response to detecting the crash of the application, 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, wherein the crash response comprises instructions for responding to the crash; and
implementing the instructions of the crash response.

### Claim 13 (depends on 12)

The non-transitory computer readable medium of claim 12, the instructions further cause the computing system to perform operations comprising:
identifying an operative flow associated with the application;
determining that the operative flow matches the flow profile; and
setting, in response to the operative flow matching the flow profile, an engagement status for the flow profile to active.

### Claim 14 (depends on 12)

The non-transitory computer readable medium of claim 12, the instructions further cause the computing system to perform operations comprising:
identifying an operative flow associated with the application;
determining that the operative flow does not match the flow profile; and
setting, in response to the operative flow not matching the flow profile, an engagement status for the flow profile to inactive.

### Claim 15

A system comprising:
one or more processors;
a non-transitory computer readable medium storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:
identifying an operative flow comprising one or more user signals;
determining whether the operative flow matches a flow profile;
setting, in response to determining whether the operative flow matches the flow profile, an engagement status for the flow profile;
selecting a restart mode for an application based on the engagement status for the flow profile; and
responding to a crash of the application in accordance with the restart mode.

### Claim 16 (depends on 15)

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

### Claim 17 (depends on 15)

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.

### Claim 18 (depends on 15)

The system of claim 15, wherein the operations further comprise:
detecting a change in the operative flow; and
updating the engagement status for the flow profile based on the change in the operative flow.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 19)

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.
