A network architecture to achieve load balancing among multiple mirror servers distributed in the network is proposed for content delivery services. In this architecture, when a client requests a content, an appropriate server has to be selected.
Before starting content delivery services to clients, for each client-content pair, the proposed method generates sets of servers that balance network loads and server loads. This is done based on the information such as network topology, the number of servers, and so on. When a call occurs, from the number of call losses caused by the inability to allocate network resources or server resources, the proposed method evaluates which resources should be used more efficiently than the other ones, to decrease total call losses. Next, using the server sets information, the proposed method chooses several servers that can utilize the evaluated resources. Then, among these servers, the proposed method selects the server that can achieve efficient use of the other resources.