The current data network scenario makes Traffic Engineering (TE) a very challenging task. The ever growing access rates and new applications running on end-hosts result in more variable and unpredictable traffic patterns. By providing origin-destination (OD) pairs with several possible paths, load-balancing has proven itself an excellent tool to face this uncertainty. Most previous proposals defined the load-balancing problem as minimizing a certain network cost function of the link's usage, assuming users would obtain a good performance as a consequence. Since the network operator is interested in the communication between the OD nodes, we propose instead to state the load-balancing problem in their terms. We define a certain utility function of the OD's perceived performance and maximize the sum over all OD pairs. The solution to the resulting optimization problem can be obtained by a distributed algorithm, whose design we outline. By means of extensive simulations with rea...