A distributed method for determining equitable bandwidth allocations in a content distribution tree network of nodes and interconnecting links comprising the steps of: performing computations at each of the nodes independently while information is exchanged among the nodes where the root of the tree has a server that broadcasts multiple programs throughout the tree; and defining the equitable bandwidth allocation problem by a lexicographic maximin optimization problem, further comprising the steps of: a. computing sets of programs that will be carried on each link of the network wherein set computations are done recursively starting at the leaf nodes of the tree network and moving upwards along the tree nodes; b. computing temporary equitable bandwidth allocations at each node for each outgoing link from that node among plurality of programs carried on the outgoing link, independently from computations executed at other nodes, where the allocation among plurality of programs at a certain link (i,j) is computed by solving a single-link bandwidth allocation model for said link(i,j'); c. determining a bottleneck link in the tree network through recursive computations, starting computations from the leaf nodes and moving upwards along the tree nodes; d. determining final equitable bandwidth allocations to programs carried on the bottleneck link; e. determining final equitable bandwidth allocations to programs on links that are included in the subtree whose root node is the head node of the bottleneck link; f. determining final equitable bandwidth allocations to programs on links that are included on the path connecting the root node of the tree network to the tail node of the bottleneck link; and g. proceeding with a new iteration with distributed computations, starting at step b with computing new temporary equitable bandwidth allocations for some links, wherein the method terminates once final equitable allocation decisions for all programs on all links are made. performing computations at each of the nodes independently while information is exchanged among the nodes where the root of the tree has a server that broadcasts multiple programs throughout the tree; and defining the equitable bandwidth allocation problem by a lexicographic maximin optimization problem, further comprising the steps of: a. computing sets of programs that will be carried on each link of the network wherein set computations are done recursively starting at the leaf nodes of the tree network and moving upwards along the tree nodes; b. computing temporary equitable bandwidth allocations at each node for each outgoing link from that node among plurality of programs carried on the outgoing link, independently from computations executed at other nodes, where the allocation among plurality of programs at a certain link (i,j) is computed by solving a single-link bandwidth allocation model for said link(i,j'); c. determining a bottleneck link in the tree network through recursive computations, starting computations from the leaf nodes and moving upwards along the tree nodes; d. determining final equitable bandwidth allocations to programs carried on the bottleneck link; e. determining final equitable bandwidth allocations to programs on links that are included in the subtree whose root node is the head node of the bottleneck link; f. determining final equitable bandwidth allocations to programs on links that are included on the path connecting the root node of the tree network to the tail node of the bottleneck link; and g. proceeding with a new iteration with distributed computations, starting at step b with computing new temporary equitable bandwidth allocations for some links, wherein the method terminates once final equitable allocation decisions for all programs on all links are made. a. computing sets of programs that will be carried on each link of the network wherein set computations are done recursively starting at the leaf nodes of the tree network and moving upwards along the tree nodes; b. computing temporary equitable bandwidth allocations at each node for each outgoing link from that node among plurality of programs carried on the outgoing link, independently from computations executed at other nodes, where the allocation among plurality of programs at a certain link (i,j) is computed by solving a single-link bandwidth allocation model for said link(i,j'); c. determining a bottleneck link in the tree network through recursive computations, starting computations from the leaf nodes and moving upwards along the tree nodes; d. determining final equitable bandwidth allocations to programs carried on the bottleneck link; e. determining final equitable bandwidth allocations to programs on links that are included in the subtree whose root node is the head node of the bottleneck link; f. determining final equitable bandwidth allocations to programs on links that are included on the path connecting the root node of the tree network to the tail node of the bottleneck link; and g. proceeding with a new iteration with distributed computations, starting at step b with computing new temporary equitable bandwidth allocations for some links, wherein the method terminates once final equitable allocation decisions for all programs on all links are made.