# US 10,372,564 B2 · Failover handling in a content node of a content delivery network

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

- Number: US 10,372,564 B2
- Document ID: US10372564B2
- Status: Granted
- Kind: B2
- Application number: 15/402,655
- Filed: 2017-01-10
- Published: 2017-05-25
- Granted: 2019-08-06
- Earliest claimed: 2014-05-30
- Assignees: Fastly, Inc.
- Applicants: Fastly, Inc.
- Inventors: João Diogo Taveira Araújo
- Web page: https://patentgrep.com/patent/US10372564B2

## CPC

- G06F 11/2025: {using centralised failover control functionality}
- G06F 11/2023: {Failover techniques}
- G06F 11/2035: {without idle spare hardware}
- G06F 11/2041: {with more than one idle spare processing component}
- G06F 11/2048: {where the redundant components share neither address space nor persistent storage}
- H04L 7/0079: {Receiver details}
- H04L 45/745: Address table lookup; Address filtering
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 61/103: across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
- H04L 2101/622: Layer-2 addresses, e.g. medium access control [MAC] addresses
- 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

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

### Claim 1

A method of operating a content node in a content delivery system to handle communications transitioned from a second content node, the method comprising:
in response to obtaining a communication from a control node, the communication corresponding to a content request issued by an end user device previously handled by a second content node, determining if the communication includes a synchronization packet and identifying connection information for the communication;
if the communication does not include a synchronization packet, determining if a match exists between the connection information for the communication and connection information stored in at least one data structure;
if a match exists, handling content delivery for the end user device;
if a match does not exist, forwarding the communication to the second content node.

### Claim 2 (depends on 1)

The method of claim 1 further comprising, if the communication includes the synchronization packet, adding the connection information for the communication to the at least one data structure, and handling content delivery for the end user device.

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 3)

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 second content node.

### Claim 5 (depends on 4)

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

### Claim 6 (depends on 1)

The method of claim 1 wherein the connection information for the communication comprises at least a source network address, a destination network address, a source port identifier, and a destination port identifier.

### Claim 7 (depends on 6)

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

### Claim 8

A computer apparatus to operate a content node in a content delivery network, the computer apparatus comprising:
one or more non-transitory computer readable storage media that store the processing instructions;
processing instructions stored on the one or more non-transitory computer readable storage media that direct a processing system, when executed by the processing system, to:
in response to obtaining a communication from a control node, the communication corresponding to a content request issued by an end user device previously handled by a second content node, determine if the communication includes a synchronization packet and identify connection information for the communication;
if the communication does not include a synchronization packet, determine if a match exists between the connection information for the communication and connection information stored in at least one data structure;
if a match exists, handle content delivery for the end user device;
if a match does not exist, forward the communication to the second content node.

### Claim 9 (depends on 8)

The computer apparatus of claim 8 wherein the processing instructions further direct the processing system to, if the communication includes the synchronization packet, add the connection information for the communication to the at least one data structure, and handle content delivery for the end user device.

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 10)

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 second content node.

### Claim 12 (depends on 11)

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

### Claim 13 (depends on 8)

The computer apparatus of claim 8 wherein the connection information for the communication comprises at least a source network address and a destination network address.

### Claim 14 (depends on 13)

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

### Claim 15 (depends on 8)

The computer apparatus of claim 8 further comprising the processing system operatively coupled to the non-transitory computer readable storage media.

### Claim 16

A content delivery network to transition communications to a content node from a second content node, the system comprising:
a control node configured to:
transfer a communication to the content node, the communication corresponding to a content request issued by an end user device previously handled by the second 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 does not include a synchronization packet, determine if a match exists between the connection information for the communication and connection information stored in at least one data structure;
if a match exists, handle content delivery for the end user device;
if a match does not exist, forward the communication to the second content node.

### Claim 17 (depends on 16)

The content delivery network of claim 16 wherein the content node is further configured to:
if the communication includes the synchronization packet, add the connection information for the communication to the at least one data structure, and handle content delivery for the end user device.

### Claim 18 (depends on 17)

The content delivery network of claim 17 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.

### Claim 19 (depends on 18)

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

### Claim 20 (depends on 16)

The content delivery network of claim 16 wherein the connection information for the communication comprises at least a source network address and a destination network address.
