IP Library Granted Patent US 9,026,672
Granted Patent B2
US 9,026,672 · App. 13/649,041 · Granted May 5, 2015

Method and apparatus for instant playback of a movie title

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,026,672
App. No.
13/649,041
Granted
May 5, 2015
Kind
B2
Abstract

Techniques for fragmenting a file or a collection of media data are disclosed. According one aspect of the techniques, a file pertaining to a title is fragmented into a header and several tails or segments. The header is a continuous portion of the file while the segments are respective parts of the remaining portion of the file. The header is seeded substantially in all boxes, and none, one or more of the segments are distributed in each of the boxes in service. When a title is ordered, the header is instantly played back while the segments, if not locally available, are continuously fetched respectively from other boxes that have the segments.

Claims (38)

1. A method for providing content, the method comprising:

dividing, by a computer system, a content file into a sequence of data blocks;

defining, by the computer system, segments each including interleaved non-consecutive data blocks from the sequence of data blocks;

distributing, by the computer system, the segments to a plurality of first subscriber units;

receiving, by the computer system, from a requesting subscriber device, a request for the content file; and

transmitting, by the computer system, an instruction to the plurality of first subscriber units to simultaneously transmit the segments to the requesting subscriber device at a rate at least as great as a playback rate of the content file.

2. The method of claim 1 , wherein the content file includes one or both of audio and video data.

3. The method of claim 1 , wherein the number of segments is the smallest integer larger than D/U, where D is a download speed of the requesting subscriber unit and U is an upload speed of the plurality of first subscriber units.

4. The method of claim 1 , further comprising transmitting a header portion including an initial portion of the sequence of data blocks to the requesting subscriber unit prior to receiving the request for the content file.

5. The method of claim 4 , further comprising transmitting the header portion to each of the plurality of first subscriber devices.

6. The method of claim 4 , wherein a size of the header portion is effective to enable playback of the content file until the plurality of segments begin to be received by the requesting subscriber unit.

7. The method of claim 6 , where the size of the header portion is further effective to enable playback of the content file until a delay of at least one of an audio/visual buffer, downstream jitter buffer, and an upstream jitter buffer has passed.

8. The method of claim 6 , wherein a size of the header portion is effective to enable playback of the content file until the segments begin to be received by the requesting subscriber unit and until synchronization of the segments being received by the requesting subscriber unit is accomplished.

9. The method of claim 1 , further comprising:

detecting failure of a failed unit of the plurality of first subscriber units to provide a corresponding segment; and

in response to detection failure of the failed unit, instructing a backup unit to provide the corresponding segment.

10. The method of claim 1 , further comprising:

detecting failure of a failed unit of the plurality of first subscriber units to provide a corresponding segment; and

in response to detection failure of the failed unit, instructing a backup unit to provide the corresponding segment conjointly with the failed unit.

11. A system for providing content, the system comprising one or more processors and one or more memory devices operably coupled to the one or more processors, the one or more memory devices storing executable code effective to cause the one or more processors to:

divide a content file into a sequence of data blocks;

define segments, each segment including interleaved non-consecutive data blocks from the sequence of data blocks;

distribute the segments to a plurality of first subscriber units;

receive, from a requesting subscriber device, a request for the content file; and

transmit an instruction to the plurality of first subscriber units to simultaneously transmit the plurality of segments to the requesting subscriber device at a rate at least as great as a playback rate of the content file.

12. The system of claim 11 , wherein the file includes one or both of audio and video data.

13. The system of claim 11 , wherein the number of segments is the smallest integer larger than D/U, where D is a download speed of the requesting subscriber unit and U is an upload speed of the plurality of first subscriber units.

14. The system of claim 11 , wherein the executable data are further effective to cause the one or more processors to transmit a header portion including an initial portion of the sequence of data blocks to the requesting subscriber unit prior to receiving the request for the content file from the requesting subscriber unit.

15. The system of claim 14 , wherein the executable data are further effective to cause the one or more processors to transmit the header portion to each of the plurality of first subscriber units.

16. The system of claim 14 , wherein a size of the header portion is effective to enable playback of the content file until the segments begin to be received by the requesting subscriber device.

17. The system of claim 16 , where the size of the header portion is further effective to enable playback of the content file until a delay of at least one of an audio/visual buffer, downstream jitter buffer, and an upstream jitter buffer has passed.

18. The system of claim 16 , wherein a size of the header portion is effective to enable playback of the content file until the segments begin to be received by the requesting subscriber device and until synchronization of the segments being received by the requesting subscriber device is accomplished.

19. The system of claim 11 , wherein the executable data are further effective to cause the one or more processors to:

detect failure of a failed unit of the plurality of first subscriber units to provide a corresponding segment; and

in response to detection failure of the failed unit, instruct a backup unit to provide the corresponding segment to the requesting subscriber device.

20. The system of claim 11 , wherein the executable data are further effective to cause the one or more processors to:

detect failure of a failed unit of the plurality of first subscriber units to provide a corresponding segment; and

in response to detection failure of the failed unit, instruct a backup unit to provide the corresponding segment conjointly with the failed unit to the requesting subscriber device.

Assignments (4)
CORRECTIVE ASSIGNMENT TO CORRECT THE COVERSHEET TO EXCLUDE APP. NO. 11368308, WHICH WAS INADVERTENTLY ADDED AT THE TIME OF RECORDING THE ASSIGNMENT PREVIOUSLY RECORDED AT REEL: 053609 FRAME: 0302. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 18, 2022
From: VUDU, LLC
To: NBCUNIVERSAL MEDIA LLC
Reel/Frame 058756/0244 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: VUDU, LLC
To: NBCUNIVERSAL MEDIA LLC
Reel/Frame 053609/0302 →
CHANGE OF NAME Recorded Aug 24, 2020
From: VUDU, INC.
To: VUDU, LLC
Reel/Frame 053585/0162 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2013
From: GANESAN, PRASANNA
To: VUDU, INC.
Reel/Frame 029658/0617 →