Patent ID: 8539536

Claim:
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.