Patent ID: 7240358

Claim:
A method of scheduling a media object for transmission between a server and a client, the method comprising: partitioning the media object into segments, wherein the segments contain one or more blocks, wherein each block is a unit of media for which the client will wait to receive an entire block before playing out the block, and wherein each segment includes an integer number of blocks and wherein blocks are encoded into output symbols such that the output symbols generated are independent of when a client begins reception, wherein the output symbols are encoded such that they are transmittable to the client in a manner that is independent of which other output symbols were transmitted to the client; determining one or more channels on which to serve each segment, the channels capable of carrying data between the server and the client; determining a rate at which to serve each segment; and determining a schedule pair for each channel, the schedule pair including a time at which the client may start receiving on the channel and a time at which the client may stop receiving on the channel.