Patent ID: 8825790

Claim:
A method comprising: receiving, at a client system from a server system, a manifest for a media document stored as multiple media document fragments on a persistent storage medium associated with the server system, each one of the multiple fragments having an associated time and comprising an associated media data item, the manifest comprising indicators of storage locations on the persistent storage medium associated with the server system corresponding to respective time offsets of the multiple fragments; requesting, based on the manifest, from the server system two or more fragments from among the multiple fragments using corresponding separate requests; receiving, from the server system, two or more responses including the respective two or more requested fragments; for each received fragment of the two or more received fragments, caching the received fragment on a persistent storage medium associated with the client system, generating two or more index points that correspond to respective portions of a media data item associated with the received fragment cached on the persistent storage medium associated with the client system, and storing, in a cache index, two or more indicators of storage locations on the persistent storage medium associated with the client system corresponding to the respective two or more generated index points; processing an instruction to play back a portion of a media data item associated with a cached fragment of the two or more fragments cached on the persistent storage medium associated with the client, the instruction including an index point from among the generated index points referenced by the cache index that corresponds to the portion of the media data item referenced by the instruction; retrieving, from the cache index and in response to the instruction, an indicator of a storage location on the persistent storage medium associated with the client system corresponding to the index point; accessing, at the storage location on the persistent storage medium associated with the client system, the portion of the media data item referenced by the instruction; and playing back the accessed portion of the media data item referenced by the instruction.