Nightly usage reports from an internet provider's routers
Your task
Your company is an internet provider with 3 million home customers. Each home has a router you supply, running your own software. At 00:00 every night, each router sends a report on the previous day to your collector. The report holds data used per hour, Wi-Fi signal strength and restarts, about 20 KB in all. A router keeps its last 7 reports.
The collector is 4 servers behind a load balancer, and together they handle about 4,000 reports a second. A router retries a failed send every 60 seconds, up to 10 times, and then drops the report. Last night about 700,000 reports were dropped.
Customers see their usage in their account from 06:00, so reports from routers that are online at 00:00 must arrive by then. A router that is off at 00:00 sends its report when it is back on. You can update the software on every router within 2 days.
When does each router send its report, and what does it do when a send fails?
It covers
- Usage reports
- Router fleet
- Nightly peak