Endpoint SD-WAN

The link nearest you is the one nobody maintains.

Icegate puts the intelligence on the device. It measures the wireless first hop, decides how each request should travel, and keeps the session alive when the radio degrades. It runs on the connection you already have.

Nothing to deploy. No box, no site visit, no capital expenditure. Any endpoint. Phone, laptop, or embedded in your own app. One link or many. More links help. None are required.
Measured session

Cafe Wi-Fi at 7 Mbps. A video call with a download running alongside it.

Before29.5 s frozen · 37 freezes
Through Icegate2.5 s frozen · 8 freezes
0 sseconds of frozen video30 s
Frames lost
471 → 23
Voice
Unintelligible → Clean at 30 fps

One session before, one session after. Not a benchmark suite. Bar length is measured frozen seconds and segment count is the measured number of freezes; individual freeze lengths are drawn evenly and are illustrative. Captured with chrome://webrtc-internals. Logs on request.

01The gap

Everyone maintains their piece of the path. Except the one next to you.

First hop
Reliability. Jitter, loss, dropouts.
Downstream
Latency. Measured, SLA-backed, rentable by API.

Phone or laptop

Yours, and fine

Wi-Fi or cell signal

No owner, no metrics

Tower

Carrier maintains

Provider

ISP maintains

The internet

The app you want

Carrier capital expenditure stops at the tower. IT stops at the office. The radio hop between the device and whatever it associates with has no owner, no telemetry and no service level. The middle mile was solved years ago and you can rent it by API. The first hop was left where it was.

Not the provider

In an instrumented sample, up to every problem moment traced to the home Wi-Fi rather than the ISP. Full speed arrives at the door. The radio hop inside the home cannot carry it.

arXiv 2311.05499
Delay +91%

What one upload does to everything else on the same device. Outgoing data queues in the device's own buffers and every other packet waits behind it. Throughput drops by two thirds.

IMC 2016
40 to 85%

Of packets in a struggling session get sent twice. A healthy link retransmits under 1 percent. Averages hide this. The bad session is where the damage lives.

NDSS, impaired cellular flows
Four more sessions we captured on ordinary Tel Aviv links
Office cellular, 19 MbpsPing 45 ms idle, 273 ms in use. Six times worse under load.
Home Wi-Fi, 18.7 MbpsPing 16 ms idle, 177 ms in use. Eleven times worse under load.
Office Wi-FiHeld 20 Mbps for seven seconds, then collapsed to 169 Kbps at 22 percent average loss.
Office ISP upstreamWe sent 10 Mbps and 3.5 arrived. 60 percent lost, while the local Wi-Fi was clean at 7.2 ms.

Captured with Cloudflare Speed Test and chrome://webrtc-internals. These four are baselines, not results. Session logs on request.

A speed test runs on an idle line and shows nothing wrong. The failure only appears under real use, which is why the FCC added latency under load as a separate metric.

02The engine

One engine on the device that treats the connection as something to be smart about, not a pipe.

The client reads every available channel for latency, jitter and loss, then decides per request where the traffic should go. Nothing sits in the office. Nothing gets shipped to a site.

Device
Icegate engine
Ingress fleet
Internet
Local and trusted
Bypass

Banking, government, and anything that should keep its local identity goes straight out. It never enters our path.

Constrained links
Harden

On networks that shape or interfere with traffic, the transport is wrapped so the session survives instead of stalling.

Calls and real time
Duplicate

Packets that cannot afford a loss are sent more than once and de-duplicated on the far side. Everything else is left alone.

Session persistent
Stable egress

Work that breaks when the exit address moves keeps one identity for the length of the session.

43.7 → 114 Mbps

Standard congestion control was backing off on ordinary radio noise. Changing the control loop on our ingress recovered 2.6 times the throughput without adding delay: loaded latency held at roughly 60 ms and jitter fell from 15.6 ms to 6.26 ms. One paired measurement on one link, not a benchmark.

The expensive part of the network stays commodity. The intelligence sits at the two ends we own, which is why there is no hardware to buy and no capital expenditure to approve.

03Build status

The data plane runs today. This build is the control plane.

The pipe that carries the traffic exists and has paying users on it. What does not exist yet is the part that decides, per request, how the traffic should move. That is the whole of this build, published here so you can hold us to it.

Data plane, in production

Shipped
  • Cross-platform client in Rust and Go, in the hands of paying users.
  • Regional ingress fleet running in production. The only infrastructure involved is ours, and it is already up.
  • Transport that holds a single link open on networks engineered to break it.
  • Congestion control that keeps a call intelligible when the link is contended.
  • One paid integration live inside somebody else's application.

Control plane, this build

Not shipped
  • Predictive scheduler that picks the path per request from live link telemetry.
  • Client-side multipath and bonding across Wi-Fi and cellular at the same time.
  • Selective packet duplication fitted inside the measured link ceiling.
  • Handoff onto tier-one backbone for the traffic that benefits from it.
  • SDK and developer portal for teams that want the delivery path inside their own app.

The hard part is already written. Icegate ships a client today that keeps people connected on networks built to block them, which is where the transport was proven and why the engine exists at all. The endpoint SD-WAN client is that engine pointed at a different problem.

04Who it is for

Teams whose network is whatever the employee sat down at this morning.

Remote-first teams

The office LAN was the managed network. Now it is a cafe, a kitchen table, or a hotel.

Field and deskless work

The connection moves with the person and nothing about it was provisioned.

Application teams

You need the delivery path to hold up and you are not going to build a data plane to get it.

iOSAndroidWindowsmacOSLinux