On demand peer-to-peer video streaming with multiple description coding
First Claim
1. A computer-implemented method for provisioning nodes in a peer-to-peer video streaming network, the method comprising:
- a) accepting a maximum distortion constraint for a video;
b) accepting information of available server peers in the peer-to-peer video streaming network;
c) determining, for the video, both (1) video sub-streams, and (2) server peers on which to store the video sub-streams using both the accepted maximum distortion constraint and the accepted information of available server peers; and
d) transmitting the determined video sub-streams to the server peers on which it was determined to store the video sub-streams.
2 Assignments
0 Petitions
Accused Products
Abstract
A peer-to-peer novel video streaming scheme is described in which each peer stores and streams videos to the requesting client peers. Each video is encoded into multiple descriptions and each description is placed on a different node. If a serving peer disconnects in the middle of a streaming session, the system searches for a replacement peer that stores the same video description and has sufficient uplink bandwidth. Employing multiple description coding in a peer-to-peer based network improves the robustness of the distributed streaming content in the event a serving peer is lost. Video quality can be maintained in the presence of server peers being lost. The video codec design and network policies have a significant effect on the streamed video quality. The system performance generally improves as the number of descriptions M for the video increases, which implies that a higher video quality can be obtained with the same network loading.
257 Citations
25 Claims
-
1. A computer-implemented method for provisioning nodes in a peer-to-peer video streaming network, the method comprising:
-
a) accepting a maximum distortion constraint for a video;
b) accepting information of available server peers in the peer-to-peer video streaming network;
c) determining, for the video, both (1) video sub-streams, and (2) server peers on which to store the video sub-streams using both the accepted maximum distortion constraint and the accepted information of available server peers; and
d) transmitting the determined video sub-streams to the server peers on which it was determined to store the video sub-streams. - View Dependent Claims (2, 3, 4, 5)
-
-
6. For use in a peer-to-peer video serving network including a plurality of peer nodes, each peer node being capable of acting as at least one of a client peer and a server peer, a computer-implemented method comprising:
-
a) accepting and storing peer information of the peer-to-peer video serving network;
b) accepting a video file for serving to a requesting client peer of the peer-to-peer video serving network;
c) provisioning server peers of the peer-to-peer video serving network to serve sub-streams of the video file;
d) accepting a request for the movie from a client peer of the peer-to-peer video serving network;
e) identifying server peers provisioned to serve sub-streams of the video file;
f) establishing a peer-to-peer session between the requesting client peer and the identified server peers;
g) serving, with each of the identified server peers, a sub-stream of the video file to the requesting client peer;
h) receiving, at the requesting client peer, the served sub-streams;
i) assembling, at the requesting client peer, a video from the received served sub-streams; and
j) storing or rendering the assembled video at the requesting client peer. - View Dependent Claims (7, 8, 9)
-
-
10. A management facility for use in a peer-to-peer video serving network including a plurality of peer nodes, each peer node being capable of acting as at least one of a client peer and a server peer, the management facility comprising:
-
a) means for accepting a maximum distortion constraint for a video;
b) means for accepting information of available server peers in the peer-to-peer video streaming network;
c) means for determining, for the video, both (1) video sub-streams, and (2) server peers on which to store the video sub-streams using both the accepted maximum distortion constraint and the accepted information of available server peers; and
d) means for transmitting the determined video sub-streams to the server peers on which it was determined to store the video sub-streams to provision them to serve sub-streams of the video file. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification