IP Library Granted Patent US 8,539,536
Granted Patent B2
US 8,539,536 · App. 13/071,375 · Granted Sep 17, 2013

Fragmentation of a file for instant access

Inventors: Prasanna Ganesan (Menlo Park, CA); Shahriyar Matloub (Los Altos, CA); Tony Miranz (Palo Alto, CA); Alain Rossmann (Palo Alto, CA)
Assignee: Vudu, Inc.
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 8,539,536
App. No.
13/071,375
Granted
Sep 17, 2013
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 (29)

1. A method, performed by one or more processors, for fragmenting a data file pertaining to a media content for distribution to a plurality of devices coupled to a network, the method comprising:

dividing the data file into a sequence of data blocks, the sequence of data blocks partitioned into a first portion and a second portion;

forming a header object from the data blocks in the first portion, the data blocks in the header object being consecutive, wherein the header object is stored in each of the plurality of devices coupled to the network;

dividing the data blocks in the second portion into a plurality of segments, wherein each of the plurality of segments are distributed to two or more devices of the plurality of devices;

determining a minimum uploading speed of the network;

determining a required transmission rate for a continuous playback of the media content corresponding to the data file;

based, at least in part, on the determination of the minimum uploading speed and the required transmission rate, determining a number of the plurality of segments in which to divide the data blocks in the second portion; and

wherein forming the header object includes:

determining a time needed to receive the plurality of segments from the two or more devices; and

based, at least in part, on the determination of time needed to receive the plurality of segments, determining a size of the header object.

2. The method of claim 1 , wherein forming the header object includes determining a time needed to synchronize the plurality of segments that are received from the two or more devices.

3. The method of claim 2 , wherein the header object is used to instantly play back a beginning portion of the media content, and wherein the beginning portion of the media content has a duration long enough to enable continuous playback of the media content while receiving the plurality of segments from the two or more devices.

4. The method of claim 1 , wherein the size of the header object is based, at least in part, on at least one of: (i) a minimum downloading speed of the network, (ii) the minimum uploading speed of the network, or (iii) the required transmission rate.

5. The method of claim 4 , wherein the header object includes information corresponding to at least one of: (i) advertisements, (ii) special offers, (iii) movie trailers, or (iv) public broadcasts.

6. The method of claim 5 , wherein the information is based on at least one of: (i) geographic location of the plurality of devices, (ii) a viewing behavior of a user, or (iii) a preferred language of the user.

7. A computing system configured to fragment a data file pertaining to a media content for distribution to a plurality of devices on a network, the one or more devices comprising:

a processing resource configured to:

divide the data file into a sequence of data blocks, the sequence of data blocks partitioned into a first portion and a second portion;

form a header object from the data blocks in the first portion, the data blocks in the header object being consecutive, wherein the header object is stored in each of the plurality of devices coupled to the network;

divide the data blocks in the second portion into a plurality of segments, wherein each of the plurality of segments are distributed to two or more devices of the plurality of devices;

determine a minimum uploading speed of the network;

determine a required transmission rate for a continuous playback of the media content corresponding to the data file;

based, at least in part, on the determination of the minimum uploading speed and the required transmission rate, determine a number of the plurality of segments in which to divide the data blocks in the second portion; and

wherein forming the header object includes:

determining a time needed to receive the plurality of segments from the two or more devices; and

based, at least in part, on the determination of time needed to receive the plurality of segments, determining a size of the header object.

8. The computing system of claim 7 , wherein forming the header object includes determining a time needed to synchronize the plurality of segments that are received from the two or more devices.

9. The computing system of claim 8 , wherein the header object is used to instantly play back a beginning portion of the media content, and wherein the beginning portion of the media content has a duration long enough to enable continuous playback of the media content while receiving the plurality of segments from the two or more devices.

10. The computing system of claim 7 , wherein the size of the header object is based, at least in part, on at least one of: (i) a minimum downloading speed of the network, (ii) the minimum uploading speed of the network, or (iii) the required transmission rate.

Assignments (6)
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 Feb 1, 2016
From: GANESAN, PRASANNA; MATLOUB, SHAHRIYAR; MIRANZ, TONY; ROSSMANN, ALAIN
To: VVOND, INC.
Reel/Frame 037631/0115 →
CHANGE OF NAME Recorded Feb 1, 2016
From: VVOND, INC.
To: MARQUEE, INC.
Reel/Frame 037662/0579 →
CHANGE OF NAME Recorded Feb 1, 2016
From: MARQUEE, INC.
To: VUDU, INC.
Reel/Frame 037662/0634 →
Continuity (2)
Division 11076214 · Mar 9, 2005
Related Publication 20110179449A1 · Jul 21, 2011