Methods and design issues for next generation network-aware applications