IP Library Granted Patent US 9,569,318
Granted Patent B2
US 9,569,318 · App. 14/291,318 · Granted Feb 14, 2017

Failover handling in a content node of a content delivery network

Inventor: João Diogo Taveira Araújo (Porto, PT)
Assignee: Fastly, Inc.
G06F11/2023G06F11/2025G06F11/2041H04L7/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 9,569,318
App. No.
14/291,318
Granted
Feb 14, 2017
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 (43)

1. A method of operating a content node in a content delivery system to handle communications transitioned from an interrupted content node, the method comprising:

receiving a communication from a control node, the communication corresponding to a content request issued by an end user device previously handled by the interrupted content node;

determining if the communication includes a synchronization packet and identifying connection information for the communication;

if the communication includes the synchronization packet, accepting the communication, adding the connection information for the communication to a flow table, and handling content delivery for the end user device instead of the interrupted content node based at least on the flow table; and

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 the flow table, and handling the communication based on the match.

2. The method of claim 1 wherein handling the communication based on the match comprises:

if the match exists, handling content delivery for the end user device instead of the interrupted content node based at least on the flow table; and

if the match does not exist, forwarding the communication to the interrupted content node.

3. The method of claim 2 wherein receiving the communication from the control node comprises receiving the communication from the control node using a media access control (MAC) address.

4. The method of claim 3 wherein the MAC address comprises at least an encoded identifier for the content node and an encoded identifier for the interrupted content node.

5. The method of claim 4 wherein forwarding the communication to the interrupted content node comprises forwarding the communication to the interrupted content node based on the encoded identifier for the interrupted content node.

6. The method of claim 1 wherein the flow table comprises at least a source network address, a destination network address, a source port identifier, and a destination port identifier.

7. The method of claim 6 wherein the destination network address comprises a virtual next hop network address.

8. A computer apparatus to operate a content node in a content delivery network, the computer apparatus comprising:

processing instructions that direct the content node, when executed by the content node, to:

receive a communication from a control node, the communication corresponding to a content request issued by an end user device previously handled by the interrupted content node;

determine if the communication includes a synchronization packet and identify connection information for the communication;

if the communication includes the synchronization packet, accept the communication, add the connection information for the communication to a flow table, and handle content delivery for the end user device instead of the interrupted content node based at least on the flow table; and

if the communication does not include the synchronization packet, determine if a match exists between the connection information for the communication and connection information stored in the flow table, and handling the communication based on the match; and

one or more non-transitory computer readable media that store the processing instructions.

9. The computer apparatus of claim 8 wherein the processing instructions to handle the communication based on the match direct the content node to:

if the match exists, handle content delivery for the end user device instead of the interrupted content node based at least on the flow table; and

if the match does not exist, forward the communication to the interrupted content node.

10. The computer apparatus of claim 9 wherein the processing instructions to receive the communication from the control node direct the content node to receive the communication from the control node using a media access control (MAC) address.

11. The computer apparatus of claim 10 wherein the MAC address comprises at least an encoded identifier for the content node, and an encoded identifier for the interrupted content node.

12. The method of claim 11 wherein the processing instructions to forward the communication to the interrupted content node direct the content node to forward the communication to the interrupted content node based on the encoded identifier for the interrupted content node.

13. The computer apparatus of claim 8 wherein the flow table comprises at least a source network address and a destination network address.

14. The computer apparatus of claim 13 wherein the destination network address comprises a virtual next hop network address.

15. A content delivery network to transition communications to a content node from an interrupted content node, the system comprising:

a control node configured to:

transfer a communication to a content node, the communication corresponding to a content request issued by an end user device previously handled by the interrupted content node; and

the content node configured to:

receive the communication;

determine if the communication includes a synchronization packet and identify connection information for the communication;

if the communication includes the synchronization packet, accept the communication, add the connection information for the communication to a flow table, and handle content delivery for the end user device instead of the interrupted content node based at least on the flow table; and

if the communication does not include the synchronization packet, determine if a match exists between the connection information for the communication and connection information stored in the flow table, and handling the communication based on the match.

16. The content delivery network of claim 15 wherein the content node is further configured to:

if the match exists, handle content delivery for the end user device instead of the interrupted content node based at least on the flow table; and

if the match does not exist, forward the communication to the interrupted content node.

17. The content delivery network of claim 16 wherein the content node configured to receive the communication from the control node is configured to receive the communication from the control node using a media access control (MAC) address.

18. The content delivery network of claim 17 wherein the MAC address comprises at least an encoded identifier for the content node, and an encoded identifier for the interrupted content node.

19. The content delivery network of claim 18 wherein the content node configured to forward the communication to the interrupted content node is configured to forward the communication to the interrupted content node based on the encoded identifier for the interrupted content node.

20. The content delivery network of claim 15 wherein the flow table comprises at least a source network address and a destination network address, and wherein the destination network address comprises a virtual next hop network address.

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 May 30, 2014
From: ARAÚJO, JOÃO DIOGO TAVEIRA
To: FASTLY, INC.
Reel/Frame 032995/0213 →
Continuity (1)
Related Publication 20150347249A1 · Dec 3, 2015