Distributed Load Balancing in Heterogeneous Networks