Scheduling Algorithms for Arbitrary Communication Networks