Reducing or minimizing delays in peer-to-peer communications such as peer-to-peer video streaming
AssigneePolytechnic Institute of New York University
InventorYong Liu
Life of this patent
Estimating the term…
Abstract
A new P2P streaming method and apparatus disseminates video chunks to all peers with the minimum (or at least reduced) delay. After obtaining a new video chunk, a peer keeps transmitting (uploading) that video chunk to other peers until all peers receive it. The approach quickly increases the aggregate bandwidth that can be utilized to transmit a video chunk. For example, the aggregate peer bandwidth used to transmit a video chunk can double every time slot. For a homogeneous P2P streaming system with N peers, a time slot is defined as a unit of the single chunk transmission delay between two peers. Using the P2P streaming method, a video chunk can be disseminated to all peers within 1+log2 N time slots.
Claims11
A method for streaming data chunks in a peer-to-peer streaming system having N peers, the method comprising:
- a) during a first time slot,
- 1) sending a first data chunk from a server to a first of the N peers, and
- 2) receiving the first data chunk with the first of the N peers;
- b) during a second time slot,
- 1) sending a second data chunk from the server to a second of the N peers,
- 2) receiving the second data chunk with the second of the N peers, and
- 3) sending the first data chunk from the first of the N peers to a third of the N peers, and
- 4) receiving the first data chunk with the third of the N peers;
- and
- c) during additional time slots following the first and second time slots, sending and receiving further data chunks such that all data chunks of a data stream can be disseminated to all of the N peers in 1+log2 N time slots.
A method for streaming data chunks in a peer-to-peer streaming system having N peers, the method comprising:
- a) during a first time slot,
- 1) sending a first data chunk from a server to a first of the N peers, and
- 2) receiving the first data chunk with the first of the N peers;
- b) during a second time slot,
- 1) sending a second data chunk from the server to a second of the N peers,
- 2) receiving the second data chunk with the second of the N peers, and
- 3) sending the first data chunk from the first of the N peers to a third of the N peers, and
- 4) receiving the first data chunk with the third of the N peers;
- and
- c) during a jth time slot, where j is at least 3,
- 1) sending an ith data chunk from a number M of peers having the ith data chunk to M other peers, and
- 2) receiving with the M other peers, the ith data chunk,
- whereby aggregate peer bandwidth used to transmit any of the first, second, or ith data chunk doubles with each of a plurality of time slots after it is first sent from the server.
A method for streaming data chunks in a peer-to-peer streaming system having N peers, the method comprising:
- a) during a first time slot,
- 1) sending a first data chunk from a server to a first of the N peers, and
- 2) receiving the first data chunk with the first of the N peers;
- b) during a second time slot,
- 1) sending a second data chunk from the server to a second of the N peers,
- 2) receiving the second data chunk with the second of the N peers, and
- 3) sending the first data chunk from the first of the N peers to a third of the N peers, and
- 4) receiving the first data chunk with the third of the N peers;
- and
- c) during a jth time slot, where j is at least 3,
- 1) sending an ith data chunk from a number M of peers having the ith data chunk to M other peers, and
- 2) receiving with the M other peers, the ith data chunk,
- whereby the number of peers used to transmit any of the first, second, or ith data chunk doubles with each of a plurality of time slots after it is first sent from the server.
Dependencies are inferred from the claim text.