Resource Allocation In Multi-User Communication Systems