Dynamic Advertisement Routing via Latency Cache

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network routing systems incur significant latency and inefficiencies in establishing connections for advertising on network accessible devices, leading to delayed ad slot responses and missed opportunities due to sub-optimal routing and handshaking processes.

Innovation Solution

Implementing a dynamic advertisement routing system with multiple network interfaces and a latency cache to assess and prioritize network routes, allowing for the selection of the fastest route and reducing handshaking overhead by maintaining multiple connections and bypassing DNS queries for direct IP address connections.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If traditional network routing is used for ad delivery, then system complexity is low, but latency is high and connection establishment is slow

Engineering Contradiction:
Improveconnection establishment speedVSAvoidrouting system complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by maintaining a pool of pre-established connections to multiple target nodes before ad requests arrive. Connection pooling and keep-alive mechanisms pre-provision network paths, eliminating the need for slow TCP handshakes when ad delivery is needed. This resolves the contradiction by trading some system complexity for dramatically faster connection establishment speed.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The routing system dynamically selects target nodes and network routes based on real-time latency measurements and connection status. The load balancer continuously monitors connection quality and adapts routing decisions, transforming a static routing table into a dynamic, performance-optimized path selection mechanism. This dynamic approach enables fast connection establishment by always choosing the currently best available path.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If DNS queries are performed for each ad request, then routing flexibility is maintained, but latency increases due to query overhead

Engineering Contradiction:
ImproveDNS query timeVSAvoidrouting flexibility
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The system performs DNS resolution and target node discovery in advance, before ad requests arrive. The load balancer maintains a pre-populated pool of target node addresses obtained through prior DNS queries and network discovery. This eliminates per-request DNS lookup latency while preserving routing flexibility through the use of multiple pre-discovered target nodes and routes.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system performs DNS resolution and target discovery more frequently or more thoroughly than strictly necessary, maintaining an oversized pool of known target nodes. This excessive preliminary action ensures that the routing table is always populated with valid, low-latency paths, eliminating the need for on-demand DNS queries and reducing overall latency.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If multiple network routes are maintained for redundancy, then reliability improves, but system complexity and resource consumption increase

Engineering Contradiction:
Improvead delivery reliabilityVSAvoidrouting management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system merges multiple network routes and target nodes into a unified connection pool managed by a single load balancer. Instead of independently managing separate routing paths, the load balancer consolidates connection state, latency monitoring, and selection logic into one component. This reduces overall system complexity while maintaining reliability through the pooled redundancy of multiple active connections.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The routing system implements self-service through automated latency measurement, connection health monitoring, and dynamic route selection. The load balancer autonomously probes target nodes, measures round-trip times, and adjusts routing decisions without external intervention. This self-managing approach reduces operational complexity while ensuring high reliability through continuous adaptive optimization.

Inventive Principle:
Principle #25Self-service

4Loss of time

If TCP handshaking is performed for each connection, then connection reliability is ensured, but latency increases due to protocol overhead

Engineering Contradiction:
Improvehandshaking timeVSAvoidconnection reliability
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The system performs TCP handshaking in advance by pre-establishing and maintaining persistent connections to target nodes. Connection pooling and keep-alive mechanisms ensure that TCP three-way handshakes complete before ad requests arrive, so subsequent ad deliveries reuse existing connections. This trades the complexity of connection management for elimination of per-request handshaking latency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous, persistent TCP connections to target nodes through keep-alive mechanisms and connection pooling. Instead of repeatedly establishing and tearing down connections, the same TCP sessions remain active and reusable across multiple ad requests. This continuous connection state eliminates repeated handshaking overhead while maintaining connection reliability through proper connection management.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10999201B2Dynamic advertisement routing
Publication Date: 2021.05.04 CADENT LLC
  • US10999201B2 patent drawing
  • US10999201B2 patent drawing
  • US10999201B2 patent drawing

AI summary

Dynamic advertisement routing is disclosed. For example, a plurality of internet protocol (“IP”) addresses associated with respective plurality of target nodes is stored in a routing pool. Each IP address in the routing pool is pinged through each of first and second load balancer network interfaces. Network routes associated with target nodes are updated based on a first plurality of ping responses. Communications sessions are established with target nodes through respective network routes. IP addresses are pinged and respective latencies in a latency cache are updated based on a second plurality of ping responses. A first request directed to the plurality of target nodes is received and is determined to be sent to a first target node based on the latency cache forwarded to the first target node via the first network route.