EFFICIENT RESOURCE ALLOCATION IN NETWORKS: FROM CENTRALIZED TO DISTRIBUTED APPROACHES