the present invention is related to optimizing software distribution in large communication networks . a distribution graph including the nodes involved in the distribution spanned out by logical links assigned cost values is constructed . on basis of the distribution graph , the shortest paths from the distribution node to each of the other nodes are calculated . these paths are placed in groups of overlapping paths . the paths in each group are then ordered according to the number of nodes in each path , wherein the path with the lowest number of nodes is placed first . then the software distribution is executed in each group , starting by loading the software from the first to the second node of the first ordered path , then the same is done for the second ordered path , and so on , but the loading between the same two nodes is not taking place more than once even if they appear as the first and the second node in more than one path . after reaching the last ordered path , the first node of each path in the group is removed . these loading and removing steps are repeated until all the nodes in the group are provided with the software .