Dynamic Advertisement Routing via Latency Cache
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Loss of time
If DNS queries are performed for each ad request, then routing flexibility is maintained, but latency increases due to query overhead
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.
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.
3Reliability
If multiple network routes are maintained for redundancy, then reliability improves, but system complexity and resource consumption increase
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.
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.
4Loss of time
If TCP handshaking is performed for each connection, then connection reliability is ensured, but latency increases due to protocol overhead
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.
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.
Data Source
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.


