Flexible Resource Allocation for Clouds and All-Optical Networks
  Motivated by the cloud computing paradigm, and by key optimization problems in all-optical networks, we study two variants of the classic job interval scheduling problem, where a reusable resource is allocated to competing job intervals in a flexible manner. Each job, $J_i$, requires the use of up to $r_{max}(i)$ units of the resource, with a profit of $p_i \geq 1$ accrued for each allocated unit. The goal is to feasibly schedule a subset of the jobs so as to maximize the total profit. The resource can be allocated either in contiguous or non-contiguous blocks. These problems can be viewed as flexible variants of the well known storage allocation and bandwidth allocation problems.   We show that the contiguous version is strongly NP-hard, already for instances where all jobs have the same profit and the same maximum resource requirement. For such instances, we derive the best possible positive result, namely, a polynomial time approximation scheme. We further show that the contiguous variant admits a $(\frac{5}{4} + \varepsilon)$-approximation algorithm, for any fixed $\varepsilon > 0$, on instances whose job intervals form a proper interval graph. At the heart of the algorithm lies a non-standard parameterization of the approximation ratio itself, which is of independent interest.   For the non-contiguous case, we uncover an interesting relation to the paging problem that leads to a simple $O(n \log n)$ algorithm for uniform profit instances of n jobs. The algorithm is easy to implement and is thus practical. 
Dmitriy Katz, Baruch Schieber, and Hadas Shachnai
cs.DS