Resource Allocation in Heterogeneous Networks