IP Library › Granted Patent US 10,455,011
Granted Patent B2
US 10,455,011 · App. 15/881,507 · Granted Oct 22, 2019

Supporting heterogeneous environments during code deployment

Inventor: Cory Barrett Kendall (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04L67/1031H04L47/748H04L47/822
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,455,011
App. No.
15/881,507
Filed
Jan 26, 2018
Granted
Oct 22, 2019
Kind
B2
Art Unit
2444
USPC
709/226
Abstract

When servers hosting a website are under some form of deployment activity (e.g., a software update being in mid-deployment), the resources requested may not be available from all servers hosting the website. In such mid-deployment edge cases, the server would return an error message in response to the request. According to an application employing redirect instructions via a load balancer, a redirect function (such as a Hypertext Transfer Protocol (HTTP) status code 302) may be configured to redirect a client request to the same location as an initial request, via a load balancer, in order to provide the client with multiple attempts of reaching an updated host (e.g., a server hosting a resource based on a recent deployment), without having to receive error codes or otherwise fail to receive the requested resource.

Claims (27)

1. A computer-implemented method, comprising:

determining, by a server and based at least in part on an update status of a resource, that the resource is at least temporarily inaccessible at a location identified in a first request for the resource, wherein the first request is from a requestor; and

responding, by the server and based at least in part on a redirection parameter associated with the resource, to the first request with a redirect instruction to initiate a second request identifying the location, wherein the redirection parameter identifies at least the update status of the resource.

2. The computer-implemented method of claim 1 , wherein the redirection parameter indicates a pending deployment.

3. The computer-implemented method of claim 1 , wherein the location corresponds to a plurality of redundant web servers.

4. The computer-implemented method of claim 1 , further comprising updating the redirection parameter to cause the redirect instruction to not be provided in a response to a third request for the resource.

5. The computer-implemented method of claim 1 , wherein the first request is a Hypertext Transfer Protocol request.

6. The computer-implemented method of claim 1 , wherein responding to the first request comprises transmitting the redirect instruction to a load balancer.

7. The computer-implemented method of claim 1 , wherein the location is specified by a path in a resource locator.

8. A system, comprising:

memory to store instructions executable by one or more processors to cause the system to at least:

receive a request identifying a location of a resource; and

if the resource is determined, by a server and based at least in part on an update status of the resource, to be at least temporarily inaccessible and if a redirection parameter has a first state, respond by the server to the request with a redirect instruction to initiate a second request identifying the location, wherein the first state indicates the update status of the resource, and wherein the request is from a requestor.

9. The system of claim 8 , wherein the system comprises a load balancer.

10. The system of claim 9 , wherein the system comprises multiple web servers registered with the load balancer.

11. The system of claim 10 , wherein the request is received by a first web server and the load balancer utilizes a load balancing algorithm that results in a nonzero probability that a second web server receives the second request.

12. The system of claim 8 , wherein the instructions are further executable to cause the system to change the redirection parameter to a second state that causes the redirect instruction to not be sent if the resource is inaccessible.

13. The system of claim 8 , wherein the system comprises multiple redundant servers.

14. The system of claim 8 , wherein the instructions are executable to cause the system to provide the resource if the resource is determined to be accessible.

15. A non-transitory computer-readable storage medium having stored thereon instructions that, if executed by one or more processors, cause a computer system to at least:

determine, based at least in part on an update status of a resource, that the resource is at least temporarily inaccessible at a location identified in a first request for the resource, wherein the first request is from a requestor; and

generate a response to the request based at least in part on a redirection parameter associated with the resource to include a redirect instruction to initiate a second request identifying the location, wherein the redirection parameter indicates the update status of the resource.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions, if executed by the one or more processors, cause the computer system to generate the response to lack the redirect instruction if the resource is determined to be accessible.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the redirection parameter is selectively settable to determine whether responses include the redirect instruction.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the redirect instruction comprises a Hypertext Transfer Protocol status code that specifies the location.

19. The non-transitory computer-readable storage medium of claim 15 , wherein, if the redirection parameter has a particular state, the instructions, if executed by the one or more processors, cause the computer system to transmit an error message instead of the redirect instruction.

20. The non-transitory computer-readable storage medium of claim 15 , wherein the response further comprises information that indicates to a load balancer to direct the second request to another computer system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 26, 2018
From: KENDALL, CORY BARRETT
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 044744/0479 →
Continuity (2)
Continuation 14740993 · Jun 16, 2015
Related Publication 20180152509A1 · May 31, 2018
Cited By (15)
US 12,190,292 US 12,197,851 US 12,229,726 US 12,287,849 US 12,288,171 US 12,299,464 US 12,299,638 US 12,316,470 US 12,367,460 US 12,401,655 US 12,412,156 US 12,423,121 US 12,536,503 US 12,634,377 US 12,670,474