Skip to Main Content
For many Internet systems, clients (users) interact with each other indirectly via intermediate servers. In such systems, it is crucial to assign users to servers based on the interaction patterns among the users, in such a way to reduce communication costs and to balance loads among the servers. Finding the optimal client-server assignment has been previously shown to be NP-complete, and approximate centralized solutions have been proposed. In this paper, we present a distributed scheme for finding an approximately optimal client-server assignment in which the servers exchange and update information about their loads iteratively among themselves. Based on these, they make decisions to reassign their users to others iteratively so that final client-server assignment is approximately optimal. Theoretical results on the convergence rate and complexity of the proposed algorithm are presented. Simulations results show the effectiveness of the proposed algorithm for different patterns of user interactions.