heterogeneous mobile environments