# US 10,503,613 B1 · Efficient serving of resources during server unavailability

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

- Number: US 10,503,613 B1
- Document ID: US10503613B1
- Status: Granted
- Kind: B1
- Application number: 15/494,382
- Filed: 2017-04-21
- Granted: 2019-12-10
- Earliest claimed: 2017-04-21
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Jebaraj Moses
- Web page: https://patentgrep.com/patent/US10503613B1

## CPC

- G06F 11/2007: {using redundant communication media}
- G06F 11/2094: {Redundant storage or storage space (G06F11/2056 takes precedence)}
- H04L 47/746: {Reaction triggered by a failure}
- H04L 67/59: Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- G06F 2201/85: Active fault masking without idle spares
- 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

Systems and methods are provided for efficiently providing backup resources during server unavailability. Server unavailability includes server unresponsiveness and latency. The system and methods generate backup resources that can be provided to clients during server unavailability. The backup resources may be static versions of dynamically generated resources that rely on multiple services. The generation of backup resources can be prioritized based on a determination of the frequently accessed resources. During failure scenarios, the systems and methods can monitor and redirect traffic as needed to improve server recovery times.

## Claims

### Claim 1

A computer-implemented method for providing network content during server unavailability, the computer-implemented method comprising:
under control of a computer hardware processor configured with specific computer-executable instructions,
generating, from a first content source, a backup content page for a first content page, wherein generating the backup content page further comprises:
requesting, from a service, the first content page, wherein the service dynamically creates the first content page; and
copying the first content page as the backup content page, wherein the backup content page comprises dynamically created static content;
storing the backup content page with a time to live value;
receiving, from a first device, a first request for the first content page;
determining an unresponsiveness level for the first content source;
determining a latency level for the first content source;
determining that at least one of the unresponsiveness level or the latency level satisfies a threshold and that a current time is within the time to live value;
providing the backup content page to the first device;
receiving, from a second device, a second request for a second content page;
identifying a second content source associated with the second request;
determining that the second content source is available;
retrieving, from the second content source, the second content page; and
providing the second content page to the second device.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, further comprising:
receiving one or more first additional resource requests; and
redirecting a first quantity of the one or more first additional resource requests away from the first content source.

### Claim 3 (depends on 2)

The computer-implemented method of claim 2, further comprising:
receiving one or more second additional resource requests;
determining an updated unresponsiveness level for the first content source;
determining that the updated unresponsiveness level satisfies a different threshold; and
directing a second quantity of the one or more second additional resource requests back to the first content source.

### Claim 4 (depends on 3)

The computer-implemented method of claim 3, wherein the updated unresponsiveness level comprises zero.

### Claim 5 (depends on 2)

The computer-implemented method of claim 2, further comprising:
receiving one or more second additional resource requests;
determining an updated latency level for the first content source;
determining that the updated latency level satisfies a different threshold; and
directing a second quantity of the one or more second additional resource requests back to the first content source.

### Claim 6 (depends on 2)

The computer-implemented method of claim 2, wherein redirecting the first quantity occurs at a first time, and further comprising:
determining an elapsed time from the first time; and
redirecting, after the elapsed time, a second quantity of one or more second additional resource requests away from the first content source.

### Claim 7

A non-transitory computer-readable storage medium storing computer executable instructions that when executed by a computer hardware processor perform operations comprising:
generating, from a content source, a backup content page for a first content page, wherein generating the backup content page further comprises:
requesting, from a service, the first content page, wherein the service dynamically creates the first content page; and
copying the first content page as the backup content page, wherein the backup content page comprises dynamically created static content;
receiving, from a first device, a request for the first content page;
identifying the content source associated with the request;
determining an unavailability level for the content source;
determining that the unavailability level satisfies a threshold;
identifying the backup content page corresponding to the first content page;
determining that the backup content page is valid; and
providing the backup content page to the first device.

### Claim 8 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the operations further comprise:
storing, in second non-transitory computer-readable storage, the backup content page.

### Claim 9 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the operations further comprise:
determining to backup the first content page, wherein determining to backup the first content page further comprises:
retrieving request analytics data corresponding to at least some of a plurality of resource identifiers;
identifying, from the request analytics data, a first resource identifier as a frequently requested resource identifier, the first resource identifier corresponding to the first content page; and
selecting, from the plurality of resource identifiers, the first resource identifier.

### Claim 10 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the unavailability level comprises at least one of unresponsiveness or latency of the content source.

### Claim 11 (depends on 7)

The non-transitory computer-readable storage medium of claim 7, wherein the operations further comprise:
receiving one or more first additional resource requests; and
redirecting a first quantity of the one or more first additional resource requests away from the content source.

### Claim 12 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein redirecting the first quantity occurs at a first time, and wherein the operations further comprise:
determining an elapsed time from the first time; and
redirecting, after the elapsed time, a second quantity of one or more second additional resource requests away from the content source.

### Claim 13 (depends on 11)

The non-transitory computer-readable storage medium of claim 11, wherein the operations further comprise:
receiving one or more second additional resource requests;
determining an updated unavailability level for the content source;
determining that the updated unavailability level satisfies a different threshold; and
directing a second quantity of the one or more second additional resource requests back to the content source.

### Claim 14

A system for providing network content during server unavailability, the system comprising:
an electronic data store; and
a first computing device comprising a computer hardware processor that executes specific computer-executable instructions to cause the system to at least:
generate, from a content source, a backup content page for a first content page, wherein to generate the backup content page further comprises:
request, from a service, the first content page, wherein the service dynamically creates the first content page; and
copy the first content page as the backup content page, wherein the backup content page comprises dynamically created static content;
store, in the electronic data store, the backup content page with a staleness indicator;
receive, from a first device, a request for the first content page;
determine an indication that the first content page is unavailable and that the backup content page is valid based on the staleness indicator; and
provide the backup to the first device.

### Claim 15 (depends on 14)

The system of claim 14, wherein the first computing device is further configured to at least:
retrieve request analytics data corresponding to at least a plurality of resource identifiers; and
identify, from the request analytics data, a first resource identifier as a frequently requested resource identifier, the first resource identifier corresponding to the first content page.

### Claim 16 (depends on 14)

The system of claim 14, wherein determining the indication that the first content page is unavailable further comprises:
determining an unavailability level for the content source; and
determining that the unavailability level satisfies a threshold.

### Claim 17 (depends on 16)

The system of claim 16, wherein the unavailability level comprises at least one of unresponsiveness or latency of the content source.

### Claim 18 (depends on 16)

The system of claim 16, wherein the first computing device is further configured to at least:
receive one or more first additional resource requests; and
redirect a first quantity of the one or more first additional resource requests away from the content source.

### Claim 19 (depends on 18)

The system of claim 18, wherein redirecting the first quantity occurs at a first time, and wherein the first computing device is further configured to at least:
determine an elapsed time from the first time; and
redirect, after the elapsed time, a second quantity of one or more second additional resource requests away from the content source.

### Claim 20 (depends on 18)

The system of claim 18, wherein the first computing device is further configured to at least:
receive one or more second additional resource requests;
determine an updated unavailability level for the content source; and
direct a second quantity of the one or more second additional resource requests back to the content source.
