# US 10,313,190 B2 · Techniques of preserving and restoring customized configurations of thin client at restore time points

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

- Number: US 10,313,190 B2
- Document ID: US10313190B2
- Status: Granted
- Kind: B2
- Application number: 15/581,417
- Filed: 2017-04-28
- Published: 2018-11-01
- Granted: 2019-06-04
- Earliest claimed: 2017-04-28
- Assignees: American Megatrends, Inc.
- Applicants: American Megatrends, Inc.
- Inventors: Manikandan Ganesan Malliga; Balasubramanian Chandrasekaran; Yugender P. Subramanian; Varadachari Sudan Ayanam
- Web page: https://patentgrep.com/patent/US10313190B2

## CPC

- H04L 41/0863: {by rolling back to previous configuration versions}
- G06F 30/34: for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
- H04L 41/0856: {by backing up or archiving configuration information}
- H04L 41/0859: by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L 41/0866: Checking the configuration
- G06F 15/7867: {with reconfigurable architecture}
- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 67/34: {involving the movement of software or configuration parameters (network booting or remote initial program loading [RIPL] G06F9/4416)}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In an aspect of the disclosure, a method, a computer-readable medium, and an apparatus are provided. The apparatus may be a thin client. The thin client captures, at a first restore time point, customized configurations of the thin client stored at a first storage location of the thin client. The thin client then obtains first default configurations of the thin client that are in use. The thin client further determines a difference between the customized configurations and the first default configurations. The thin client stores the difference between the customized configurations and the first default configurations as a configurations difference in association with the first restore time point at a second storage location of the thin client.

## Claims

### Claim 1

A method of operating a thin client, comprising:
capturing, at a first restore time point, customized configurations of the thin client stored at a first storage location of the thin client;
obtaining first default configurations of the thin client that are in use;
determining a first difference between the customized configurations and the first default configurations;
storing the first difference in association with the first restore time point at a second storage location of the thin client;
obtaining second default configurations of the thin client that replaces the first default configurations;
determining a default configuration difference between the first default configurations and the second default configurations;
determining a second difference between the customized configurations and the second default configurations based on the first difference and the default configuration difference; and
replacing the first difference stored at the second storage location in association with the first restore time point with the second difference.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
capturing, at each of a plurality of restore time points in addition to the first restore time point, respective customized configurations of the thin client stored at the first storage location;
determining a respective difference between the respective customized configurations at each of the plurality of restore time points and the first default configurations; and
storing the respective difference between the respective customized configurations at each of the plurality of restore time points and the first default configurations as a configurations difference in association with that restore time point at a second storage location of the thin client.

### Claim 3 (depends on 2)

The method of claim 2, wherein the first restore time point and the plurality of restore time points are time points specified by a predetermined schedule.

### Claim 4 (depends on 2)

The method of claim 2, wherein each of the first restore time point and the plurality of restore time points is selected in response to a determination that the customized configurations stored at the first storage location have been modified.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
determining that the first default configurations have been changed to the second default configurations, wherein the second default configurations are obtained in response to the determination.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining to restore the customized configurations stored at the first storage location to the customized configurations captured at the first restore time point;
retrieving the second difference stored at the second storage location in association with the first restore time point;
determining the configurations captured at the first restore time point based on the second configurations difference and the second default configurations; and
replacing the customized configurations stored at the first storage location with the customized configurations captured at the first restore time point.

### Claim 7

An apparatus, the apparatus being a thin client, comprising:
a memory; and
at least one processor coupled to the memory and configured to:
capture, at a first restore time point, customized configurations of the thin client stored at a first storage location of the thin client;
obtain first default configurations of the thin client that are in use;
determine a first difference between the customized configurations and the first default configurations; and
store the first difference in association with the first restore time point at a second storage location of the thin client;
obtain second default configurations of the thin client that replaces the first default configurations;
determine a default configuration difference between the first default configurations and the second default configurations;
determine a second difference between the customized configurations and the second default configurations based on the first difference and the default configuration difference; and
replace the first difference stored at the second storage location in association with the first restore time point with the second difference.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein the at least one processor is further configured to:
capture, at each of a plurality of restore time points in addition to the first restore time point, respective customized configurations of the thin client stored at the first storage location;
determine a respective difference between the respective customized configurations at each of the plurality of restore time points and the first default configurations; and
store the respective difference between the respective customized configurations at each of the plurality of restore time points and the first default configurations as a configurations difference in association with that restore time point at a second storage location of the thin client.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the first restore time point and the plurality of restore time points are time points specified by a predetermined schedule.

### Claim 10 (depends on 8)

The apparatus of claim 8, wherein each of the first restore time point and the plurality of restore time points is selected in response to a determination that the customized configurations stored at the first storage location have been modified.

### Claim 11 (depends on 7)

The apparatus of claim 7, wherein the at least one processor is further configured to:
determine that the first default configurations have been changed to the second default configurations, wherein the second default configurations are obtained in response to the determination.

### Claim 12 (depends on 7)

The apparatus of claim 7, wherein the at least one processor is further configured to:
determine to restore the customized configurations stored at the first storage location to the customized configurations captured at the first restore time point;
retrieve the second difference stored at the second storage location in association with the first restore time point;
determine the configurations captured at the first restore time point based on the retrieved second configurations difference and the second default configurations; and
replace the customized configurations stored at the first storage location with the customized configurations captured at the first restore time point.

### Claim 13

A non-transitory computer-readable medium storing computer executable code for operating a thin client, comprising code to:
capture, at a first restore time point, customized configurations of the thin client stored at a first storage location of the thin client;
obtain first default configurations of the thin client that are in use;
determine a first difference between the customized configurations and the first default configurations; and
store the first difference in association with the first restore time point at a second storage location of the thin client;
obtain second default configurations of the thin client that replaces the first default configurations;
determine a default configuration difference between the first default configurations and the second default configurations;
determine a second difference between the customized configurations and the second default configurations based on the first difference and the default configuration difference; and
replace the first difference stored at the second storage location in association with the first restore time point with the second difference.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the code is further configured to:
capture, at each of a plurality of restore time points in addition to the first restore time point, respective customized configurations of the thin client stored at the first storage location;
determine a respective difference between the respective customized configurations at each of the plurality of restore time points and the first default configurations; and
store the respective difference between the respective customized configurations at each of the plurality of restore time points and the first default configurations as a configurations difference in association with that restore time point at a second storage location of the thin client.

### Claim 15 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein the first restore time point and the plurality of restore time points are time points specified by a predetermined schedule.

### Claim 16 (depends on 14)

The non-transitory computer-readable medium of claim 14, wherein each of the first restore time point and the plurality of restore time points is selected in response to a determination that the customized configurations stored at the first storage location have been modified.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the code is further configured to:
determine that the first default configurations have been changed to the second default configurations, wherein the second default configurations are obtained in response to the determination.
