RATE SENSITIVE PACKET TRANSFER MECHANISM OVER A PEER-TO-PEER NETWORK
11 Assignments
0 Petitions
Accused Products
Abstract
An apparatus, method and system to improve data transfer across a communications network by employing an acknowledgment independent equalized data packet transfer mechanism on a peer-to-peer basis. The present disclosure teaches how many computers can send data to many other computers, with particularity on a peer-to-peer basis when desired, without requiring acknowledgements of safe receipt by the receiving computer. By aggregating several computers to send data in a collection to a requesting computer, transfer rates may be increased. Further, by not requiring acknowledgment of receipt from the receiving computer, and by treating all data packets with equal utility, the present disclosure teaches a mechanism that reduces file transfer administration bandwidth, increases file transfer scalability on demand, and increases overall network transfer efficiency.
-
Citations
156 Claims
-
1-136. -136. (canceled)
-
137. :
- A method for distributing data within a computer network, the method comprising;
storing, at a starting computer, the data;
maintaining a table that stores addresses of computers that can transmit portions of the data;
receiving requests for the data from a first requesting computer and a second requesting computer;
evaluating, in response to receiving the requests, transfer rates of computers that store portions of the data and computers that have requested the data;
generating a first look-up list that indicates those computers that have the best transfer rates among the computers that store portions of the requested data and the computers that have requested the data, wherein the first look-up list indicates that the second requesting computer stores a second portion of the data;
transferring the first look-up list to the first requesting computer;
generating a second look-up list that indicates those computers that have the best transfer rates among the computers that store portions of the data and the computers that have requested the data, wherein the second look-up list that indicates that the first requesting computer stores a first portion of the data;
transferring the second look-up list to the second requesting computer;
delivering the first portion of the data from the starting computer to the first requesting computer;
delivering the second portion of the data to the second requesting computer; and
prior to delivering all of the data to either the first requesting computer or the second requesting computer, exchanging the first portion of the data and the second portion of the data between the first requesting computer and the second requesting computer. - View Dependent Claims (138, 139, 140)
- A method for distributing data within a computer network, the method comprising;
-
141. :
- A download method for a file in a computer network comprising;
storing, at a starting computer, the file;
receiving a first file download request from a first computer;
downloading, from the starting computer, a first portion of the file to the first computer;
upon downloading the first portion of the file at the first computer, updating a table to record that the first computer received the first portion of the file;
receiving a second download request from a second computer;
evaluating transfer rates of computers that store portions of the file;
generating a look-up list that indicates those computers that store portions of the file that have the best transfer rates, wherein the look-up list indicates that the first computer stores the first portion of the file;
transferring the look-up list to the second computer;
downloading a second portion of the file to the second computer, the first portion containing at least some data of the file not contained within the second portion;
upon downloading the second portion of the file at the second computer, updating the table to record that the second computer received the second portion of the file;
using, with the second computer, the look-up list to identify the first computer as a computer that stores data of the file not contained within the second portion;
issuing a request from the second computer to the first computer for the data of the file not contained within the second portion; and
prior to downloading the entire file at the first computer, communicating, from the first computer to the second computer, at least some of the data of the original file not contained within the second portion. - View Dependent Claims (142, 143, 144)
- A download method for a file in a computer network comprising;
-
145. :
- A network transmission apparatus comprising;
a processor;
a memory, communicatively connected to the processor;
a program, stored in the memory, including;
a module to receive a request for data from a requesting computer having one or more peer computers;
a module to identify which of the peer computers have previously requested and downloaded the data;
a module to evaluate transfer rates of the identified peer computers;
a module to generate a look-up list that indicates peer computers among the identified peer computers that have the best transfer rates;
a module to send requests to peer computers indicated by the look-up list to direct the peer computers to send partial portions the data to the requesting computer, wherein the identified peer computers have downloaded different partial portions of the data, and wherein the identified peer computers send the partial portions of the data to the requesting computer and complete downloading remaining portions of the requested data. - View Dependent Claims (146, 147, 148)
- A network transmission apparatus comprising;
-
149. :
- A method of using a starting computer for transferring data, the method comprising;
receiving a request for the data from a requesting computer;
identifying peer computers that have previously downloaded at least a portion of the data;
evaluating transfer rates of the identified peer computers;
selecting a subset of the identified peer computers that have the greatest transfer rates among the identified peer computers, wherein the peer computers in the subset of the identified peer computers have downloaded different partial portions of the data;
sending requests to the peer computers in the subset of the identified peer computers, wherein the requests instruct the peer computers to encode the different partial portions of the data at the identified computers, wherein the data is encoded using an acknowledgement independent equalized data packet encoding system, and wherein the requests further instruct the peer computers to send the encoded different partial portions of the data from at least two different ones of the peer computers to the requesting computer and completing the download of the data at the identified peer computers. - View Dependent Claims (150, 151, 152)
- A method of using a starting computer for transferring data, the method comprising;
-
153. :
- A system for transferring data comprising;
means for receiving a request for the data from a requesting computer;
means for identifying computers that have previously requested and downloaded partial portions of the data;
means for evaluating transfer rates of the identified computers;
means for generating a look-up list that indicates computers among the identified computers that have the best transfer rates;
means to initiate transfer of the partial portions of the data from computers indicated by the look-up list to the requesting computer, wherein the computers indicated by the look-up list have only downloaded different partial portions of the data;
means to independently encode the different partial portions of the data at the identified computers using an acknowledgement independent equalized data packet encoding scheme; and
means to send the encoded data from the identified computers to the requesting computer and complete downloading of the remaining portions of the data. - View Dependent Claims (154, 155, 156)
- A system for transferring data comprising;
Specification