Patent ID: 8914833

Claim:
A computer-implemented method comprising: receiving a request for a video program from a user device; identifying a user account associated with the user device; identifying a recorded viewing point associated with the user account at a provider network; determining an estimated buffering differential between a current viewing point at the user device and the recorded viewing point, wherein the estimated buffering differential is based on an amount of time that the user device takes to process and display a video segment; identifying a last viewed video segment for the video program streamed from a streaming server based on the user account and by subtracting the estimated buffering differential from the recorded viewing point; generating a video segment playlist for streaming the video program based on the last viewed video segment, wherein the video segment playlist identifies a predetermined number of video segments of the video program, wherein the predetermined number of video segments includes the last viewed video segment and subsequent video segments, and wherein each video segment is a video file of predetermined length that is a unit of the video program; and providing the video segment playlist to the user device, wherein the user device is operable to request the last viewed video segment and the subsequent video segments from the streaming server and to cache the last viewed video segment and the subsequent video segments.