Patent ID: 8312107

Claim:
A network transmission apparatus comprising: a processor; a memory, communicatively connected to the processor; and a program, stored in the memory, including: a module to receive a request for data from a requesting computer; a module to identify peer computers that have previously downloaded at least a portion of the data; a module to evaluate transfer rates of the identified peer computers; a module to select a subset of the the identified peer computers that have greatest transfer rates among the identified peer computers, wherein at least two peer computers of the subset of the identified peer computers have downloaded different partial portions of the data; and a module to send requests to the at least two peer computers of the subset of the identified peer computers, wherein the requests instruct the at least two peer computers in the subset of the identified peer computers to encode the different partial portions of the data at the subset of the identified peer computers, and wherein the requests instruct the at least two peer computers of the subset of the identified peer computers to send the encoded different partial portions of the data to the requesting computer.