# US 10,873,610 B1 · User configurable data storage

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

- Number: US 10,873,610 B1
- Document ID: US10873610B1
- Status: Granted
- Kind: B1
- Application number: 16/293,349
- Filed: 2019-03-05
- Granted: 2020-12-22
- Earliest claimed: 2016-03-18
- Assignees: 8x8, Inc.
- Applicants: 8x8, Inc.
- Inventors: Zhishen Liu
- Web page: https://patentgrep.com/patent/US10873610B1

## CPC

- H04L 65/1069: Session establishment or de-establishment
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 65/1096: Supplementary features, e.g. call forwarding or call holding (systems providing special services or facilities to telephony subscribers H04M3/42)
- H04L 65/40: Support for services or applications
- H04L 67/1095: Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
- H04M 3/00: Automatic or semi-automatic exchanges
- H04M 3/53333: {Message receiving aspects}
- H04M 2201/36: Memories
- H04M 2242/40: Data synchronization between user terminals and central server
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

In one or more embodiments, an apparatus includes a data server, a VoIP server, and a processing circuit. The VoIP server routes VoIP calls to and from a plurality of telecommunication devices associated with respective user accounts. The VoIP server stores data generated by the plurality of telecommunication devices on the data server. The user accounts each have a settings file associated with the user account. In response to a set of criteria indicated in the settings file of one of the user accounts being satisfied, the processing circuit logs into a data server remote to the VoIP server using login credentials included in the settings file. In further response to the set of criteria being satisfied, the processing circuit copies one or more data files associated with the user account from the data server to the remote data server.

## Claims

### Claim 1

An apparatus, comprising:
a first data server configured and arranged to store data generated by a plurality of data communication devices, each data communication device including data communication circuitry, and associated with a respective user account among a plurality of user accounts;
a communications server configured and arranged to provide one or more remote services to the plurality of data communication devices on behalf of the user accounts and as indicated in a settings file corresponding to the respective user account; and
a processing circuit configured and arranged to, in response to a set of criteria being satisfied and being indicated in the respective settings file, recognizing a specific type of communication received on behalf of the respective user account:
log into a second data server remote to the communications server using login credentials included in the respective settings file; and
copy data corresponding to one or more data files associated with the user account from the first data server to the second data server.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein the respective settings file for each respective user account includes a set of criteria individually adjusted for a plurality of users of the first data server.

### Claim 3 (depends on 1)

The apparatus of claim 1, wherein the processing circuit is configured and arranged to provide a graphical user interface (GUI), and modify the set of criteria indicated in the settings file in response to user input via the GUI.

### Claim 4 (depends on 3)

The apparatus of claim 3, wherein the processing circuit is configured and arranged to provide the GUI to an authorized manager of the respective user account to adjust sets of criteria for a group of the users receiving the remote services from the communications server on behalf of the respective user account.

### Claim 5 (depends on 1)

The apparatus of claim 1, wherein the processing circuit is configured and arranged to select a remote server among a plurality of remote servers to use as the second data server for a particular backup operation based on the set of criteria specified in the respective settings file.

### Claim 6 (depends on 1)

The apparatus of claim 1, wherein the processing circuit is configured and arranged to provide a graphical user interface (GUI), and display on the GUI, a list of data files associated with a respective user account that are saved in the first data server and the second data server.

### Claim 7 (depends on 1)

The apparatus of claim 1, wherein the processing circuit is configured and arranged to select a remote server among a plurality of remote servers to use as the second data server for storing generated user data based on the set of criteria specified in the respective settings file.

### Claim 8 (depends on 1)

The apparatus of claim 1, wherein the processing circuit is configured and arranged to, in response to a user command during a voice over internet protocol (VoIP) call provided by the data communications circuitry, to or from one of the user accounts:
transcribe a recorded VoIP call to produce a transcription; and
store the transcription on the first data server.

### Claim 9

A method, comprising:
providing, using a computing server, one or more data-communication services to a plurality of data communication devices, each data communication device including data communication circuitry, and associated with a respective user account among a plurality of user accounts;
storing data generated by one of the user accounts on a first data server; and
in response to satisfaction of a set of criteria in a settings file corresponding to the user account, transferring one or more data files from the first data server to a second data server, wherein the second data server is remote to the computing server.

### Claim 10 (depends on 9)

The method of claim 9, including:
maintaining a first index of data files stored on the first data server and a second index of data files copied to the second data server; and
using at least one of the indices to display a list of data files stored in a corresponding one of the first data server to the second data server and using the at least one of the indices to update the display list of data files in response to the transfer of the one or more data files.

### Claim 11 (depends on 9)

The method of claim 9, wherein the set of criteria direct the computing server to store all data files associated with the user on the second data server, and the computing server is a voice-over-internet-protocol (VoIP) server providing VoIP services.

### Claim 12 (depends on 9)

The method of claim 9, wherein the set of criteria direct the computing server to store a subset of data files associated with the user on the second data server, and in response to the set of criteria indicated in a settings file of the user account being satisfied, logging into the second data server using login credentials included in the settings file.

### Claim 13 (depends on 9)

The method of claim 9, wherein the set of criteria direct the computing server to store a subset of data files associated with the user on the second data server, and wherein the set of criteria specify that the subset of data files to be stored on the second data server are selected based on a type of the data files.

### Claim 14 (depends on 9)

The method of claim 9, wherein the set of criteria direct the computing server to store a subset of data files associated with the user on the second data server, and wherein the set of criteria specify that the subset of data files to be stored on the second data server are selected based on a size of the data files.

### Claim 15 (depends on 9)

The method of claim 9, wherein the set of criteria direct the computing server to store a subset of data files associated with the user on the second data server, and wherein the set of criteria specify that the subset of data files to be stored on the second data server are selected based on a date of creation of the data files.

### Claim 16 (depends on 9)

The method of claim 9, wherein the set of criteria direct the computing server to store a subset of data files associated with the user on the second data server, and wherein the set of criteria specify that the subset of data files to be stored on the second data server are selected based on available storage of at least one of the first data server and the second data server.

### Claim 17 (depends on 9)

The method of claim 9, wherein the set of criteria direct the computing server to transfer data files to the second data server in response to a total amount of data stored on the first data server for the user account exceeding a threshold data size.

### Claim 18 (depends on 9)

The method of claim 9, including storing a copy of the one or more data files on the second data server, in response to the set of criteria indicating that the one or more data files are to be backed up.

### Claim 19 (depends on 18)

The method of claim 18, wherein the set of criteria direct the computing server to store the copy of the one or more data files on a plurality of remote data servers.

### Claim 20 (depends on 19)

The method of claim 19, wherein the set of criteria direct the computing server to store the copy of the one or more data files on a particular remote data server among the plurality of remote data servers based on a transfer speed to the particular remote data server.
