Abstract
We describe Self-Programming Networks (SPNs), an ongoing research effort at Stanford for making cloud computing networks autonomous; that is, to enable networks to sense and monitor themselves, and program and control themselves. We present the architecture of SPNs and two key algorithms: (i) Simon, for fine-grained network measurement using packet and probe timestamps taken at the network’s edge, and (ii) Huygens, for nanosecond-level clock synchronization in real-time and at scale. We will present the algorithms and results from some deployments.