Patent ID: 8868773

Claim:
A method for efficiently distributing video content, the method comprising: requesting from a tracker unit to one of join an existing live streaming channel, join a video on demand streaming channel and join a video conference, wherein said tracker unit is configured to keep track of active peers in a peer-to-peer network; receiving a list of active peers participating in one of said live streaming channel, said video on demand streaming channel and said video conference from said tracker unit; connecting, by a processor, to a subset of peers in said list provided by said tracker unit to become neighbors in said peer-to-peer network; receiving a missing piece of video content from one of said neighbors in said peer-to-peer network or from a content distribution network server based on where said missing piece of video content is to be stored in a video buffer; injecting a missing piece of video content from said content distribution network server when a neighbor in said peer-to-peer network has insufficient upload bandwidth; exchanging piece availability via a bitmap with said neighbors in said peer-to-peer network; computing a per-piece bandwidth deficit; computing a cumulative bandwidth deficit; computing a number of copies that need to be injected from said content distribution network server into a client's 1-hop neighborhood in response to said cumulative bandwidth deficit being positive; and selecting a subset of said neighbors in said client's 1-hop neighborhood to inject said missing piece of video content from said content distribution network server.