Patent ID: 8832290

Claim:
A method for streaming a media file in a peer-to peer (P2P) network, comprising each peer using a computing device to perform steps for: evaluating connected neighbor peers in the P2P network to determine an aggregate server rate to support real-time playback of a media file; streaming packets comprising the media file from a combination of server uploads and peer re-transmission of received streaming packets from one or more of the neighbor peers to other later arriving peers using a first portion of an upload bandwidth capacity of re-transmitting peers, such that between the server uploads and the peer re-transmissions, all peers receive sufficient data packets of the media file to provide local full quality playback of the media file according to the aggregate server rate; allocating any surplus upload bandwidth capacity remaining at each peer, after using the first portion of the upload bandwidth capacity, to one or more specific downstream peers, and using that allocated surplus upload bandwidth capacity to transmit additional packets in excess of those needed to provide local full quality playback of the media file to a local content buffer maintained by each of the corresponding peers; and wherein streaming packets of the media file across the P2P network enables a user selected video-on-demand (VoD) service to provide real-time streaming of user selected videos.