Patent ID: 8150966

Claim:
A method of transmitting data, said method comprising: partitioning a stream of data into a plurality of sub-streams; establishing an allocation of said plurality of sub-streams among a plurality of sending devices; enabling said plurality of sending devices to begin transmitting said plurality of sub-streams in parallel in accordance with said allocation; monitoring a transmission quality of said plurality of sending devices; sorting said plurality of sending devices based on their transmission quality; selecting a pre-determined number of said devices of said plurality of sending devices with good transmission quality, wherein said selected devices with good transmission quality are denoted strong sending devices; and selecting an equal number of devices of said plurality of sending devices with poor transmission quality, wherein said selected devices with poor transmission quality are denoted weak sending devices, and further wherein said pre-determined number of selected strong sending devices is less than half of a number of said plurality of sending devices exchanging a pre-determined number of sub-streams between devices of said plurality of sending devices with poor transmission quality and devices of said plurality of sending devices with good transmission quality; and adjusting said allocation.