IP Library Granted Patent US 10,977,141
Granted Patent B2
US 10,977,141 · App. 16/529,509 · Granted Apr 13, 2021

Systems and methods for handling server failovers

Inventor: João Diogo Taveira Araújo (Oporto, PT)
Assignee: Fastly, Inc.
G06F11/2025G06F11/2023G06F11/2035G06F11/2041G06F11/2048H04L7/0079H04L45/745H04L67/10H04L61/103H04L61/6022
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,977,141
App. No.
16/529,509
Granted
Apr 13, 2021
Kind
B2
Abstract

Described herein are methods, systems, and software for accommodating failover of a content node in a content delivery network. In one example, a method of operating a content node includes receiving a communication for an end user device from a control node, wherein an interrupted content node previously handled the communication. The method further includes determining if the communication includes a synchronization packet and identifying connection information for the communication. The method also provides, if the communication includes a synchronization packet, accepting the communication and handling delivery for the end user device. The method also includes, if the communication does not include the synchronization packet, determining if a match exists between the connection information for the communication and connection information stored in a flow table, and handling the communication based on the match.

Claims (34)

1. A method of handling server failovers in data centers, the method comprising:

in a server, receiving a communication and determining whether the communication comprises a synchronization packet;

in the server, and in response to determining that the communication does not comprise a synchronization packet, attempting to match the communication to one or more connections in a flow table; and

in the server, and in response to failing to match the communication to at least one connection in the flow table, redirecting the communication to a different server identified by an address indicated in the communication.

2. The method of claim 1 further comprising, in the server, and in response to determining that the communication comprises a synchronization packet, adding a connection for the communication to the flow table.

3. The method of claim 2 further comprising, in the server, serving content to an end-user device requested by the communication.

4. The method of claim 3 wherein receiving the communication comprises receiving the communication from a load balancer.

5. The method of claim 4 further comprising, in the load balancer, directing the communication to a media access control address for the server.

6. The method of claim 5 wherein the address indicated in the communication comprises a different media access control address for the different server.

7. The method of claim 6 further comprising, in the load balancer:

receiving the communication from the end-user device at a virtual network address associated with the different server; and

directing the communication to the server in response to the different server having entered a failover state.

8. A server computer comprising:

a means for receiving a communication and determining whether the communication comprises a synchronization packet;

a means for, in response to determining that the communication does not comprise a synchronization packet, attempting to match the communication to one or more connections in a flow table; and

a means for, in response to failing to match the communication to at least one connection in the flow table, redirecting the communication to a different server identified by an address indicated in the communication.

9. The server computer of claim 8 further comprising a means for, in response to determining that the communication comprises a synchronization packet, adding a connection for the communication to the flow table.

10. The server computer of claim 9 further comprising a means for serving content to an end-user device requested by the communication.

11. The server computer of claim 10 wherein the means for receiving the communication receives the communication from a load balancer at a media access control address for the server in response to the different server having entered a failover state.

12. The server computer of claim 11 wherein the address indicated in the communication comprises a different media access control address for the different server.

13. A server comprising:

one or more computer readable storage media;

one or more processors operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media for handling server failovers that, when executed by the one or more processors, direct the server to at least:

receive a communication and determining whether the communication comprises a synchronization packet;

in response to determining that the communication does not comprise a synchronization packet, attempt to match the communication to one or more connections in a flow table; and

in response to failing to match the communication to at least one connection in the flow table, redirect the communication to a different server identified by an address indicated in the communication.

14. The server of claim 13 wherein the program instructions further instruct the server to, in response to determining that the communication comprises a synchronization packet, add a connection for the communication to the flow table.

15. The server of claim 14 wherein the program instructions further instruct the server to serve content to an end-user device requested by the communication.

16. The server of claim 15 wherein the server receives the communication from a load balancer.

17. The server of claim 16 wherein the communication comprises an Internet protocol packet sent by the load balancer to a media access control address for the server.

18. The server of claim 17 wherein the address indicated in the communication comprises a different media access control address for the different server.

19. The server of claim 18 wherein the Internet protocol packet includes a virtual network address associated with the different server.

20. The server of claim 19 wherein the program instructions further direct the server to obtain the content from an origin server and cache the content for subsequent requests for the content.

Assignments (2)
SECURITY INTEREST Recorded Feb 17, 2021
From: FASTLY, INC.
To: SILICON VALLEY BANK, AS ADMINISTRATIVE AND COLLATERAL AGENT
Reel/Frame 055316/0616 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2019
From: ARAÚJO, JOÃO DIOGO TAVEIRA
To: FASTLY, INC.
Reel/Frame 049936/0069 →
Continuity (3)
Continuation 15402655 · Jan 10, 2017
Continuation 14291318 · May 30, 2014
Related Publication 20190354449A1 · Nov 21, 2019