\section{System Design} \label{sec-design} \begin{figure}[t!] \centering \includegraphics[width=0.45\textwidth]{./figures/system-crop.pdf} \vspace{2mm} \caption{\textbf{System Components}} \label{fig:system} \vspace{-6mm} \end{figure} \PS{} collects two types of measurements from clients---spectrum utilization, and network performance and healthiness information---in two different ways---synchronously and asynchronously. Figure~\ref{fig:system} shows the main components of \PS{}. Idle smartphones can be used to improve nearby device's network performance. For example, in Figure~\ref{fig:system}, when \PS{} Access Point (AP) sends a synchronous query about spectrum condition of the active device (e.g., a laptop), nearby \PS{} client (smartphone) will perform detailed measurements \textit{on behalf of} the laptop. This information can then be fed into AP adaption (e.g., channel assignment, rate and power control, etc.) algorithms for better network performance---all without disrupting the current network session of the active client. On the other hand, to cope with rapidly-changing network environment caused by mobility, smartphones already perform aggressive network exploration and thus naturally generate a flow of measurements of high temporal resolution. Harnessing this behavior for network monitoring purpose only requires to deliver the measurements to those who can make use of it. Besides, lightweight network performance tests can be conducted using smartphones' idle cycles without consuming noticeable amount of energy. All these measurements can be uploaded asynchronously in a energy-neutral way (e.g., by only uploading when phone is charging) for long-term network monitoring purpose.