Continuous monitoring of path performance metrics, such as latency or utilization, has become increasingly important as network operators and webservices use newer network technologies. In particular, the growing popularity of software-defined networks for data centers and globally distributed webservices, require path performance metrics in order to fully utilize their full potential. For instance, software-defined networks allow for network operators to reactively adapt to changing workloads when they have access to up-to-date link utilization information. However, current solutions for monitoring data centers require special instrumentation of the network or impose significant measurement overhead. Similarly, webservices that are globally distributed may monitor a large number of Internet paths to its clients to correctly guide its users to data centers which leads to a large measurement cost due to the usage of active probes.
This dissertation describes systems that focus on lowering measurement cost in the following scenarios: (1) utilization monitoring in software-defined networks, (2) latency measurements in software-defined networks, and (3) multi-tenant data centers used by webservices. First, I will present \flowsense, a utilization monitoring system for software-defined networks that allows for zero-cost utilization monitoring by using control messages to allow the network inform the system of changes. Second, I present \slam, a framework for monitoring latency across any set of switches in a software-defined network by using specific probe messages that trigger control messages which allows \slam to estimate the latency distribution of the path. Finally, I will present \sims, a shared Internet monitoring service that enables websevices to share their measurement information, from both passive and active probing, allowing for the lowering of both measurement cost to the webservices and the aggregate bandwidth needed for the measurements.