  Scalable user- and application-aware resource allocation for heterogeneous
applications sharing an enterprise network is still an unresolved problem. The
main challenges are: (i) How to define user- and application-aware shares of
resources? (ii) How to determine an allocation of shares of network resources
to applications? (iii) How to allocate the shares per application in
heterogeneous networks at scale? In this paper we propose solutions to the
three challenges and introduce a system design for enterprise deployment.
Defining the necessary resource shares per application is hard, as the intended
use case and user's preferences influence the resource demand. Utility
functions based on user experience enable a mapping of network resources in
terms of throughput and latency budget to a common user-level utility scale. A
multi-objective MILP is formulated to solve the throughput- and delay-aware
embedding of each utility function for a max-min fairness criteria. The
allocation of resources in traditional networks with policing and scheduling
cannot distinguish large numbers of classes. We propose a resource allocation
system design for enterprise networks based on Software-Defined Networking
principles to achieve delay-constrained routing in the network and application
pacing at the end-hosts. The system design is evaluated against best effort
networks with applications competing for the throughput of a constrained link.
The competing applications belong to the five application classes web browsing,
file download, remote terminal work, video streaming, and Voice-over-IP. The
results show that the proposed methodology improves the minimum and total
utility, minimizes packet loss and queuing delay at bottlenecks, establishes
fairness in terms of utility between applications, and achieves predictable
application performance at high link utilization.
