Abstract

We describe Self-Programming Networks (SPNs), an ongoing research effort at Stanford for making cloud computing networks autonomous; that is, to enable the networks to sense and monitor themselves, and program and control themselves. We present 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. Simon solves an inverse problem (first formulated in the context of Network Tomography) while Huygens uses a combination of inference techniques to achieve network clock synchronization. We describe the relevance of this work to existing financial trading infrastructure, and how, in future, it enables "financial exchanges in the Cloud."