Method and apparatus for broadcasting media objects with guaranteed quality of service
First Claim
1. A method for providing a media object to a client from a server coupled to the client via a connection, the media object being fragmented into segments in accordance with a fragmentation sequence from a first segment to a last segment, each segment comprising a respective number of frames of media content in a respective succession from a first frame to a last frame, the media content associated with each of the segments being provided on a corresponding stream in accordance with the succession from the fist frame to the last frame, the method comprising the steps of:
- downloading media content at the client from a first number of the streams on the connection, the first number of the streams including the corresponding stream to the first segment;
halting the downloading of media content from the corresponding stream to the first segment on the connection when the respective number of frames of the first segment have been received on the corresponding stream;
downloading media content at the client from a next stream corresponding to a next segment in the fragmentation sequence on the connection after the halting step;
starting the step of downloading from the next stream at a point in the respective succession between the first frame and the last frame, wherein the corresponding stream to the first segment has a first bandwidth, and the next stream corresponding to the next segment has a second bandwidth different than the first bandwidth; and
constraining the first bandwidth so as to provide a desired service latency including the step of constraining the first bandwidth bm1 associated with the first segment sm1 in accordance with a desired service latency wm, such that wherein denotes fmi the number of bits in the i-th frame of the media object.
8 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus for broadcasting media objects for such bandwidth-intensive applications as Media on Demand (MoD) or Video on Demand (VoD) employ a novel StairCase Broadcast (SCB) scheme. A media server in accordance with one example of the invention includes a fragmenter that fragments media objects into multiple segments, with each segment provided to a corresponding streamer. Each streamer periodically and continuously streams data associated with its corresponding media segment on a connection between the server and a media client. A download controller in the media client selectively causes the proper streams to be received for downloading from the server in accordance with the fragmentation of the selected media object and the number of streams that the client can simultaneously receive for downloading. A selector is operable to cause data from each successive segment to be downloaded from the corresponding stream immediately regardless of the position in the period associated with the successive segment. By its design, the method and apparatus of the present invention allow for lossless broadcast of media contents with de-coupled per-media-object server and client bandwidth design considerations.
-
Citations
24 Claims
-
1. A method for providing a media object to a client from a server coupled to the client via a connection, the media object being fragmented into segments in accordance with a fragmentation sequence from a first segment to a last segment, each segment comprising a respective number of frames of media content in a respective succession from a first frame to a last frame, the media content associated with each of the segments being provided on a corresponding stream in accordance with the succession from the fist frame to the last frame, the method comprising the steps of:
-
downloading media content at the client from a first number of the streams on the connection, the first number of the streams including the corresponding stream to the first segment; halting the downloading of media content from the corresponding stream to the first segment on the connection when the respective number of frames of the first segment have been received on the corresponding stream;
downloading media content at the client from a next stream corresponding to a next segment in the fragmentation sequence on the connection after the halting step;starting the step of downloading from the next stream at a point in the respective succession between the first frame and the last frame, wherein the corresponding stream to the first segment has a first bandwidth, and the next stream corresponding to the next segment has a second bandwidth different than the first bandwidth; and constraining the first bandwidth so as to provide a desired service latency including the step of constraining the first bandwidth bm1 associated with the first segment sm1 in accordance with a desired service latency wm, such that wherein denotes fmi the number of bits in the i-th frame of the media object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for providing a media object to a client from a server coupled to the client via a connection, the media object being fragmented into segments in accordance with a fragmentation sequence from a first segment to a last segment, each segment comprising a respective number of frames of media content in a respective succession from a first frame to a last frame, the media content associated with each of the segments being provided on a corresponding stream in accordance with the succession from the first frame to the last frame, the method comprising steps of:
-
downloading media content at the client from a first number of the streams on the connection, the first number of the streams including the corresponding stream to the first segment; halting the downloading of media content from the corresponding stream to the first segment on the connection when the respective number of frames of the first segment have been received on the corresponding stream;
downloading media content at the client from a next stream corresponding to a next segment in the fragmentation sequence on the connection after the halting step;constraining a total server bandwidth associated with the media object, wherein the number of segments in the fragmentation sequence is Km, and wherein each of the corresponding streams has an associated bandwidth bim, constraining step being performed so that the total server bandwidth Bm satisfies the equation
-
-
11. A method for providing a media object to a client from a server coupled to the client via a connection, the media object being fragmented into segments in accordance with a fragmentation sequence from a first segment to a last segment, each segment comprising a respective number of frames of media content in a respective succession from a first frame to a last frame, the media content associated with each of the segments being provided on a corresponding stream in accordance with the succession from the first frame to the last frame, the method comprising the steps of:
-
downloading media content at the client from a first number of the streams on the connection, the first number of the streams including the corresponding stream to the first segment; halting the downloading of media content from the corresponding stream to the first segment on the connection when the respective number of frames of the first segment have been received on the corresponding stream;
downloading media content at the client from a next stream corresponding to a next segment in the fragmentation sequence on the connection after the halting step;starting the step of downloading from the next stream at a point in the respective succession between the first frame and the last frame; constraining a maximum client bandwidth associated with the media object; wherein the number of segments in the fragmentation sequence is Km, and wherein each of the corresponding streams has an associated bandwidth bim, and wherein the first number of streams is Um, the constraining step being performed so that the total client bandwidth Bc,m(Sm) satisfies the equation - View Dependent Claims (12)
-
-
13. An apparatus for providing a media object to a client from a server coupled to the client via a connection, the media object being fragmented into segments in accordance with a fragmentation sequence from a first segment to a last segment, each segment comprising a respective number of frames of media content in a respective succession from a first frame to a last frame, the media content associated with each of the segments being provided on a corresponding stream in accordance with the succession from the first frame to the last frame, the apparatus comprising:
-
means for downloading media content at the client from a first number of the streams on the connection, the first number of the streams including the corresponding stream to the first segment; means for halting the downloading of media content from the corresponding stream to the first segment on the connection when the respective number of frames of the first segment have been received on the corresponding stream; means for downloading media content at the client from a next stream corresponding to a next segment in the fragmentation sequence on the connection after an operation of the halting means; means for starting operation of the means for downloading from the next stream at a point in the respective succession between the first frame and the last frame, wherein the corresponding stream to the first segment has a first bandwidth, and the next stream corresponding to the next segment has a second bandwidth different than the first bandwidth; means for constraining the first bandwidth so as to provide a desired service latency, including means for constraining the first bandwidth b1m associated with the first segment S1m in accordance with a desired service latency wm such that wherein f1m denotes the number of bits in the i-th frame of the media object. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An apparatus for providing a media object to a client from a server coupled to the client via a connection, the media object being fragmented into segments in accordance with a fragmentation sequence from a first segment to a last segment, each segment comprising a respective number of frames of media content in a respective succession from a first frame to a last frame, the media content associated with each of the segments being provided on a corresponding stream in accordance wit the succession from the first frame to the last frame, the apparatus comprising:
-
means for downloading media content at the client from a first number of the streams on the connection, the first number of the streams including the corresponding stream to the first segment; means for halting the downloading of media content from the corresponding stream to the first segment on the connection when the respective number of frames of the first segment have been received on the corresponding stream; means for downloading media content at the client from a next stream corresponding to a next segment in the fragmentation sequence on the connection after an operation of the halting means;
means for starting operation of the means for downloading from the next stream at a point in the respective succession between the first frame and the last frame; andmeans for constraining a total server bandwidth associated with the media object, wherein the number of segments in the fragmentation sequence is Km, and wherein each of the corresponding streams has an associated bandwidth bi m, the constraining means being operable so that the total server bandwidth Bm satisfies the equation
-
-
23. An apparatus for providing a media object to a client from a server coupled to the client via a connection, the media object being fragmented into segments in accordance with a fragmentation sequence from a first segment to a last segment, each segment comprising a respective number of frames of media content in a respective succession from a first frame to a last frame, the media content associated with each of the segments being provided on a corresponding stream in accordance with the succession from the first frame to the last frame, the apparatus comprising:
-
means for downloading media content at the client from a first number of the streams on the connection, the first number of the streams including the corresponding stream to the first segment; means for halting the downloading of media content from the corresponding stream to the first segment on the connection when the respective number of frames of the first segment have been received on the corresponding stream; means for downloading media content at the client from a next stream corresponding to a next segment in the fragmentation sequence on the connection after an operation of the halting means for starting operation of the means for downloading from the next stream at a point in the respective succession between the first frame and the last frame; and means for constraining a total server bandwidth associated with the media object, wherein the number of segments in the fragmentation sequence is Km, and wherein each of the corresponding streams has an associated bandwidth bim, and wherein the first number of streams is Um, the constraining means being operable so that the total client bandwidth Bc,m(Sm) satisfies the equation - View Dependent Claims (24)
-
Specification