Patent ID: 8095590

Claim:
A method implemented in a machine-readable device for execution on a processing device for distributing data, the method comprising: negotiating, by the processing device, a transfer of data from one or more source nodes to at least one of a first destination node and a second destination node, the processing device is an intermediate node along an initial path that the data is to transfer before reaching the first and second destination nodes, negotiation includes agreeing with the one or more source nodes on protocol communications, bandwidth limits, and priorities for the transfer of the data, the one or more source nodes initiate a network transaction to send the data through a network via the intermediate node to the first destination node and the second destination node, the intermediate node relays or forwards the data for the network transaction to the first destination node and the second destination node, and the first and second destination nodes are the object of the data being sent initially from the one or more source nodes over the network as the network transaction, the first and second destination nodes receive the data from the intermediate node; and further detecting, by the processing device, a failure at one of the destination nodes during distribution and re-distributing the data after the failure is resolved at the destination node that had failed; receiving, at the intermediate node, a tree data structure having a first path to the first destination node and a second path to the second destination node, the tree data structure generated by the one or more source nodes for the network transaction and also includes success factors as probability values conducting the network transaction over the first path and the second path; accumulating, at the intermediate node, portions of the data; and simultaneously distributing, from the intermediate node, portions of the accumulated data over the first path to the first destination node and over the second path to the second destination node, the first and second paths occur via separate network connections of the intermediate node and the first path and the second path determined from the tree data structure based on evaluation of the probability values and quality of service conditions resolved by the intermediate node, the evaluation also determines how the intermediate node delivers the portions of the accumulated data over the first path and the second path.