# US 10,455,015 B2 · System and method for automatic cloud-based full-data backup and restore on mobile devices

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

- Number: US 10,455,015 B2
- Document ID: US10455015B2
- Status: Granted
- Kind: B2
- Application number: 15/156,539
- Filed: 2016-05-17
- Published: 2016-12-01
- Granted: 2019-10-22
- Earliest claimed: 2015-05-27
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Michael Jeffrey Procopio; Christiaan Prins; Ramesh Nagarajan; Ushasree Kode; Christopher Tate; Di Wu; Reuben Kan; John Herndon
- Web page: https://patentgrep.com/patent/US10455015B2

## CPC

- G06F 11/1451: {by selection of backup contents}
- G06F 11/1458: {Management of the backup or restore process}
- G06F 11/1461: {Backup scheduling policy}
- G06F 11/1464: {for networked environments}
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method for storing third-party application data to cloud storage is described herein. The method includes determining to upload data associated with a third-party application stored on a client device to a cloud storage server. The data associated with the third-party application includes both binary data and metadata. The method further includes storing the binary data of the third-party application at a first cloud storage location. The first cloud storage location has a storage address and the metadata is updated to include the storage address. The method includes storing the updated metadata to a second cloud storage location different from the first cloud storage location.

## Claims

### Claim 1

A method for storing mobile device data to cloud storage, the method comprising:
detecting, by a first mobile device of a user, a predetermined condition to backup data associated with the first mobile device to the cloud storage; and
in response to detecting the predetermined condition, automatically performing operations for generating a plurality of single files for a plurality of third party applications hosted by the first mobile device, wherein for each third-party application of the plurality of third party applications hosted by the mobile device, a set of performed operations comprises:
identifying, by the first mobile device data associated with a respective third-party application stored on the first mobile device, wherein the data associated with the respective third-party application includes binary data and metadata, the binary data comprising settings of the respective third-party application, history of the respective third-party application, and content of the respective third-party, the binary data being separate from and having different format than the metadata of the respective third-party application;
aggregating, by the first mobile device, the binary data and the metadata of the respective third-party application into a single file of the respective third-party application; and
backing up the single file of the respective third-party application to an upload server in the cloud storage, wherein the binary data of the respective third-party application is to be separated from the metadata of the respective third-party application and stored in a first cloud storage location of the cloud storage, and wherein the metadata of the respective third-party application is to be updated with an appended separate storage address of the first cloud storage location and stored in a second cloud storage location of the cloud storage,
wherein the plurality of single files of the plurality of third-party applications are stored in the cloud storage for subsequent restoring of the binary data and the metadata of each third-party application of the plurality of third party applications to a second mobile device of the user.

### Claim 2 (depends on 1)

The method of claim 1, wherein the first mobile device determines whether to backup the data by:
identifying stored binary data associated with the respective third-party application that is stored on the first mobile device;
identifying previously backed up binary data associated with the respective third-party application;
computing a difference between the stored binary data and the previously backed up binary data; and
comparing the difference to a threshold.

### Claim 3 (depends on 2)

The method of claim 2, wherein if the difference is equal to or exceeds the threshold, the first mobile device determines to back up the data associated with the respective third-party application.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first mobile device stores data associated with a plurality of third-party applications, each third-party application in the plurality of third-party applications is associated with corresponding binary data and corresponding metadata, and the corresponding binary data and the corresponding metadata for each third-party application are backed up from the first mobile device in a single upload.

### Claim 5 (depends on 4)

The method of claim 4, wherein the data associated with the respective third party application is not duplicated in full on the first mobile device prior to transmitting the binary data and the metadata.

### Claim 6 (depends on 1)

The method of claim 1, wherein the binary data of the respective third-party application includes full data for the respective third-party application.

### Claim 7 (depends on 1)

The method of claim 1, wherein the predetermined condition comprises a predetermined upload schedule.

### Claim 8 (depends on 1)

The method of claim 1, wherein the predetermined condition comprises detection of changes to the respective third-party application data reported by the respective third-party application.

### Claim 9 (depends on 1)

The method of claim 1, wherein the predetermined condition comprises receiving, by the first mobile device, a backup request from a user of the first mobile device.

### Claim 10

A system to store data associated with a first mobile device of a user to cloud storage, comprising:
a memory; and
a processing device, coupled to the memory, to:
detect a predetermined condition to backup the data associated with the first mobile device to the cloud storage; and
in response to detecting the predetermined condition, automatically perform operations for generating a plurality of single files for a plurality of third party applications hosted by the first mobile device, wherein for each third-party application of the plurality of third party applications hosted by the mobile device, a set of performed operations comprises:
identifying data associated with a respective third-party application stored on the first mobile device, wherein the data associated with the respective third-party application includes binary data and metadata, the binary data comprising settings of the respective third-party application, history of the respective third-party application, and content of the respective third-party, the binary data being separate from and having different format than the metadata of the respective third-party application;
aggregating the binary data and the metadata of the respective third-party application into a single file of the respective third-party application; and
backing up the single file of the respective third-party application to an upload server in the cloud storage, wherein the binary data of the respective third-party application is to be separated from the metadata of the respective third-party application and stored in a first cloud storage location of the cloud storage, and wherein the metadata of the respective third-party application is to be updated with an appended separate storage address of the first cloud storage location and stored in a second cloud storage location of the cloud storage,
wherein the plurality of single files of the plurality of third-party applications are stored in the cloud storage for subsequent restoring of the binary data and the metadata of each third-party application of the plurality of third party applications to a second mobile device of the user.

### Claim 11 (depends on 10)

The system of claim 10, wherein the processing device to store data associated with a plurality of third-party applications, each third-party application in the plurality of third-party applications is associated with corresponding binary data and corresponding metadata, and the corresponding binary data and the corresponding metadata for each third-party application are backed up from the first mobile device in a single upload.

### Claim 12 (depends on 11)

The system of claim 11, wherein the data associated with the respective third party application is not duplicated in full on the first mobile device prior to transmitting the binary data and the metadata.

### Claim 13 (depends on 10)

The system of claim 10, wherein the binary data of the respective third-party application includes full data for the respective third-party application.

### Claim 14 (depends on 10)

The system of claim 10, wherein to determine whether to back up the data, the processing device to:
identify stored binary data associated with the respective third-party application that is stored on the first mobile device;
identify previously backed up binary data associated with the respective third-party application;
compute a difference between the stored binary data and the previously backed up binary data;
compare the difference to a threshold; and
responsive to determining that the difference is equal to or exceeds the threshold, determine to back up the data associated with the respective third-party application.

### Claim 15 (depends on 10)

The system of claim 10, wherein to detect the predetermined condition, the processing device to detect at least one of a predetermined upload schedule, a change to the respective third-party application data reported by the respective third-party, or a backup request received from a user of the first mobile device.

### Claim 16

A non-transitory computer-readable medium to store instructions, which when executed by one or more processing devices, cause the one or more processing devices to:
detect a predetermined condition to backup data associated with a first mobile device of a user to cloud storage; and
in response to detecting the predetermined condition, automatically perform operations for generating a plurality of single files for a plurality of third party applications hosted by the first mobile device, wherein for each third-party application of the plurality of third party applications hosted by the mobile device, a set of performed operations comprises:
identifying data associated with a respective third-party application stored on the first mobile device, wherein the data associated with the respective third-party application includes binary data and metadata, the binary data comprising settings of the respective third-party application, history of the respective third-party application, and content of the respective third-party, the binary data being separate from and having different format than the metadata of the respective third-party application;
aggregating the binary data and the metadata of the respective third-party application into a single file of the respective third-party application; and
backing up the single file of the respective third-party application to an upload server in the cloud storage, wherein the binary data of the respective third-party application is to be separated from the metadata of the respective third-party application and stored in a first cloud storage location of the cloud storage, and wherein the metadata of the respective third-party application is to be updated with an appended separate storage address of the first cloud storage location and stored in a second cloud storage location of the cloud storage,
wherein the plurality of single files of the plurality of third-party applications are stored in the cloud storage for subsequent restoring of the binary data and the metadata of each third-party application of the plurality of third party applications to a second mobile device of the user.

### Claim 17 (depends on 16)

The computer-readable media of claim 16, wherein to determine whether to back up the data, the one or more processing devices to:
identify stored binary data associated with the respective third-party application that is stored on the first mobile device;
identify previously backed up binary data associated with the respective third-party application;
compute a difference between the stored binary data and the previously backed up binary data;
compare the difference to a threshold; and
responsive to determining that the difference is equal to or exceeds the threshold, the one or more processing devices determine to back up the data associated with the respective third-party application.

### Claim 18 (depends on 16)

The computer-readable media of claim 16, wherein the one or more processing devices to store data associated with a plurality of third-party applications, each third-party application in the plurality of third-party applications is associated with corresponding binary data and corresponding metadata, and the corresponding binary data and the corresponding metadata for each third-party application are backed up from the first mobile device in a single upload.

### Claim 19 (depends on 16)

The computer-readable media of claim 16, wherein the data associated with the respective third party application is not duplicated in full on the first mobile device prior to transmitting the binary data and the metadata.

### Claim 20 (depends on 16)

The computer-readable media of claim 16, wherein to detect the predetermined condition, the one or more processing devices to detect at least one of a predetermined upload schedule, a change to the respective third-party application data reported by the respective third-party, or a backup request received from a user of the first mobile device.
