Push to storage network enabling fast start
First Claim
Patent Images
1. A distributed storage and retrieval system comprising:
- a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of pushed content fragments and able to simultaneously retrieve pushed content fragments from a plurality of storage-and-computing elements; and
wherein up to about ‘
N’
storage-and-computing elements, within ‘
T’
seconds of receiving a request, can retrieve and provide streams that can be played;
wherein ‘
T’
is shorter than about BUF/(3×
R) seconds, ‘
N’
roughly equals the available aggregated uplink bandwidth of the storage-and-computing elements divided by the average streaming bitrate, BUF is the buffered data needed to start playing the content (expressed in Kbits), and ‘
R’
(expressed in Kbps) is the average available uplink bandwidth of a storage-and-computing element.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for distributed storage and retrieval systems comprising a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of pushed content fragments and able to simultaneously retrieve pushed content fragments from a plurality of storage-and-computing elements. Wherein many storage-and-computing elements, within a short duration of receiving a request, can retrieve and play streaming content.
51 Citations
23 Claims
-
1. A distributed storage and retrieval system comprising:
- a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of pushed content fragments and able to simultaneously retrieve pushed content fragments from a plurality of storage-and-computing elements; and
wherein up to about ‘
N’
storage-and-computing elements, within ‘
T’
seconds of receiving a request, can retrieve and provide streams that can be played;
wherein ‘
T’
is shorter than about BUF/(3×
R) seconds, ‘
N’
roughly equals the available aggregated uplink bandwidth of the storage-and-computing elements divided by the average streaming bitrate, BUF is the buffered data needed to start playing the content (expressed in Kbits), and ‘
R’
(expressed in Kbps) is the average available uplink bandwidth of a storage-and-computing element. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of pushed content fragments and able to simultaneously retrieve pushed content fragments from a plurality of storage-and-computing elements; and
-
9. A distributed storage and retrieval system comprising:
- a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of content fragments wherein the plurality of content fragments are distributed a priori approximately homogeneously between the storage-and-computing elements; and
up to about ‘
N’
storage-and-computing elements, within ‘
T’
seconds of receiving a request, can retrieve and provide streaming contents that can be played;
wherein ‘
T’
is shorter than about BUF/(3×
R) seconds, ‘
N’
roughly equals the available aggregated uplink bandwidth of the storage-and-computing elements divided by an average streaming bitrate, BUF is the buffered data needed to start playing the content (expressed in Kbits), and ‘
R’
(expressed in Kbps) is calculated by dividing the total available upload bandwidth of the storage-and-computing elements by the number of the storage-and-computing elements. - View Dependent Claims (10, 11, 12)
- a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of content fragments wherein the plurality of content fragments are distributed a priori approximately homogeneously between the storage-and-computing elements; and
-
13. A distributed storage and retrieval system comprising:
- a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of pushed content fragments according to its associated storage element type; and
at least a quarter of the storage-and-computing elements comprising means for simultaneously retrieving the pushed content fragments from the plurality of storage-and-computing elements;
wherein about ‘
N’
storage-and-computing elements, within ‘
T’
seconds of receiving a request, can retrieve and provide streaming contents that can be played;
wherein ‘
T’
is shorter than about BUF/(3×
R) seconds, ‘
N’
roughly equals the available aggregated uplink bandwidth of the storage-and-computing elements divided by an average streaming bitrate, BUF is the buffered data needed to start playing the content (expressed in Kbits), and ‘
R’
(expressed in Kbps) is calculated by dividing the total available upload bandwidth of the storage-and-computing elements by the number of the storage-and-computing elements. - View Dependent Claims (14, 15, 16)
- a plurality of storage-and-computing elements, each storage-and-computing element storing a plurality of pushed content fragments according to its associated storage element type; and
-
17. A method comprising:
- receiving, by ‘
N’
storage-and-computing elements, at least one a priori fragment distribution information;
utilizing the a priori fragment distribution information for retrieving approximately simultaneously ‘
N’
content streams comprised of a plurality of pushed content fragments from a plurality of storage-and-computing elements;
wherein ‘
N’
roughly equals the available aggregated uplink bandwidth of the plurality of storage-and-computing elements divided by an average streaming bitrate, and the amount of time ‘
T’
that passes between requesting a content stream and being able to play the content stream is shorter than about BUF/(3×
R) seconds;
whereby BUF is the buffered data needed to start playing the content (expressed in Kbits), and ‘
R’
(expressed in Kbps) is the average available uplink bandwidth of a storage-and-computing element. - View Dependent Claims (18, 19)
- receiving, by ‘
-
20. A method comprising:
- receiving a priori fragment distribution information;
utilizing the a priori fragment distribution information for retrieving, by a peer client, a plurality of pushed content fragments from a plurality of peer clients; and
providing a video stream that can be played within about ‘
T’
seconds of receiving a request, wherein the video stream can be provided from approximately an arbitrary starting position within the content, and ‘
T’
is at least two times shorter than what could be achieved if only one peer client storing all of the pushed content fragments was to transmit the streaming content. - View Dependent Claims (21, 22, 23)
- receiving a priori fragment distribution information;
Specification