An algorithm for network and data-aware placement of multi-tier applications in cloud data centers. (15th November 2017)