CDN TCP Anycast Load Balancer Overload Redirection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Standard load balancers in content delivery networks (CDNs) are unable to handle overload conditions and detect broken anycast packets during network disruptions, leading to service denial and instability in TCP connections.

Innovation Solution

Implementing a process that redirects requests from overloaded CDN nodes to other nodes with available capacity, using virtual tunnels and unicast IP addresses for internal communication, allowing for efficient traffic distribution and maintaining TCP stability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If standard load balancers are used in CDN nodes, then request delegation to server farms is achieved, but overload conditions cannot be handled and service denial occurs

Engineering Contradiction:
Improverequest handling capacityVSAvoidservice availability under overload
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The load balancer dynamically adjusts its behavior based on overload conditions. When overload is detected, the load balancer transitions from actively delegating requests to passively rejecting them, allowing the system to adapt to changing traffic conditions and prevent service denial

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms to detect overload conditions and broken anycast packets. This feedback loop enables the load balancer to identify when it cannot handle incoming traffic and when TCP connections are disrupted, allowing for appropriate response actions

Inventive Principle:
Principle #23Feedback

2Ease of operation

If anycast management system is implemented, then request routing to correct CDN node is improved, but TCP stability cannot be ensured during network disruptions

Engineering Contradiction:
Improverequest routing efficiencyVSAvoidTCP connection stability
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The load balancer actively monitors TCP connection status and detects broken anycast packets through feedback from the network. When disruptions are detected, the system can identify affected connections and take appropriate actions to maintain TCP stability

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The load balancer acts as an intermediary between the anycast routing system and the server farm, mediating the flow of requests and responses. It can detect broken packets and adjust its behavior to maintain connection stability, serving as a buffer between the routing system and the actual service delivery

Inventive Principle:
Principle #24Intermediary (Mediator)

3Quantity of substance

If more traffic is routed to CDN node, then service coverage is increased, but overload conditions occur and new requests are denied

Engineering Contradiction:
Improvetraffic volumeVSAvoidservice continuity
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The system dynamically responds to traffic volume changes by adjusting the load balancer's behavior. When traffic exceeds handling capacity, the system transitions from accepting all requests to selectively rejecting overload requests, maintaining service continuity for manageable traffic while preventing system collapse

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9602591B2Managing TCP anycast requests
Publication Date: 2017.03.21 JUNIPER NETWORKS INC
  • US9602591B2 patent drawing
  • US9602591B2 patent drawing
  • US9602591B2 patent drawing

AI summary

Managing TCP anycast requests at content delivery network nodes is disclosed. In some embodiments, serving a request includes receiving a request at a node of a plurality of nodes comprising a content delivery network, wherein each of the plurality of nodes share a same anycast IP address to which the request is directed and servicing the request at the node.