  Traditionally, networks operate at a small fraction of their capacities;
however, recent technologies, such as Software-Defined Networking, may let
operators run their networks harder (i.e., at higher utilization levels).
Higher utilization can increase the network operator's revenue, but this gain
comes at a cost: daily traffic fluctuations and failures might occasionally
overload the network. We call such situations Resource Crunch. Dealing with
Resource Crunch requires certain types of flexibility in the system. We focus
on scenarios with flexible bandwidth requirements, e.g., some connections can
tolerate lower bandwidth allocation. This may free capacity to provision new
requests that would otherwise be blocked. For that, the network operator needs
to make an informed decision, since reducing the bandwidth of a high-paying
connection to allocate a low-value connection is not sensible. We propose a
strategy to decide whether or not to provision a request (and which other
connections to degrade) focusing on maximizing profits during Resource Crunch.
To address this problem, we use an abstraction of the network state, called a
Connection Adjacency Graph (CAG). We propose PROVISIONER, which integrates our
CAG solution with an efficient Linear Program (LP). We compare our method to
existing greedy approaches and to LP-only solutions, and show that our method
outperforms them during Resource Crunch.
