Figure 1 illustrates an IoT system 100 in one embodiment. The IoT system 100 comprises IoT devices 102 communicatively coupled via a wide area network 104 to a server system 106 via an optional proxy server 108. The network topology of the IoT system 100 is hub-and-spoke. Each of the IoT devices 102 has a 1:1 communication channel to the server system 106 and each of the IoT devices 102 communicates with the others, if at all, via the server system 106. The optional proxy server 108 may improve the performance of the IoT system 100 by mirroring some or all of the state of the server system 106 and thus enabling the IoT devices 102 to communicate without creating bandwidth or incurring the latency of the wide area network 104. The optional proxy server 108 is typically colocated at a facility or nearby facility to where the IoT devices 102 are located.