MRA3D-H: A Hybrid Three Dimensional Algorithm for Network-aware Resource Allocation in Clouds and Grids