Patent ID: 8327013

Claim:
A server for generating index files for use in communicating, with a network, a media file having a plurality of segments, the server comprising: a memory; an interface for communicating with the network; a processor communicatively coupled with the interface and the memory, the processor configured to execute computer code for: receiving, with the interface, a request for a first index file; determining, in response to the request for the first index file, a first segment of media for streaming, the first segment of media comprising one of a plurality of separately-addressable segments of the media file, wherein: the determination includes determining whether to include media, other than the media file, in the first segment of media for streaming; and the determination further includes determining a starting point and an ending point of the first segment of media for streaming; generating the requested first index file based, at least in part, on the determination of the first segment of media for streaming; providing, with the interface, the requested first index file; receiving, with the interface, a request for a second index file for use in streaming the media file; determining, in response to the request for the second index file, a second segment of media for streaming, the second segment of media comprising one of the plurality of separately-addressable segments of the media file, wherein: the determination includes determining whether to include media, other than the media file, in the second segment of media for streaming; the determination further includes determining a starting point and an ending point of the second segment of media for streaming; generating the requested second index file based, at least in part, on the determination of the second segment of media for streaming; and providing, with the interface, the requested second index file; wherein receiving the requests for the first and second index files and providing the requested first and second index files occur during playback of the media file by a device communicatively linked to the network.