| US 8,250,191 B2 | ||
| Methods and apparatus for cooperative file distribution with target data delivery rate | ||
| Andrew Hickmott, New York, N.Y. (US); and Laird A. Popkin, West Orange, N.J. (US) | ||
| Assigned to Pando Networks, Inc., New York, N.Y. (US) | ||
| Filed on Sep. 06, 2007, as Appl. No. 11/850,793. | ||
| Prior Publication US 2009/0070482 A1, Mar. 12, 2009 | ||
| Int. Cl. G06F 15/173 (2006.01); G01R 31/08 (2006.01); H04B 7/185 (2006.01); H04B 1/38 (2006.01); H04L 12/28 (2006.01) | ||
| U.S. Cl. 709—223 [370/235; 370/318; 370/412; 375/222] | 22 Claims |

| 1. A method for obtaining at least one file in a cooperative file distribution system, comprising:
obtaining a target delivery rate for said at least one file;
identifying one or more unreliable data sources and one or more reliable data sources to transfer at least a portion of said
at least one file to a client, wherein each unreliable data source is associated with a lower cost, a lower availability and
a lower reliability of performance than each reliable data source and wherein said identification step is performed by said
client;
obtaining at least a portion of said file at a receiver from one or more of said identified unreliable data sources at an
unreliable data delivery rate;
obtaining at least a portion of said file at said receiver from one or more of said identified reliable data sources based
on a throttle rate when said unreliable data delivery rate is below said target delivery rate, wherein a size or rate of requests
for the portion of the file from the one or more reliable data sources are based on the throttle rate;
adjusting said throttle rate such that an amount of data obtained from said reliable data sources is reduced and said target
delivery rate is maintained;
detecting rate saturation by comparing said throttle rate to an actual rate of data received from said reliable data sources;
and
reducing said throttle rate when rate saturation is detected,
wherein at least one of said identified unreliable data sources is provided by an entity distinct from a provider of at least
one of said identified reliable data sources, and wherein said throttle rate is based on a combined delivery rate from said
identified unreliable data sources and said identified reliable data sources, and wherein said combined delivery rate is monitored
at said receiver.
|