Patent ID: 9538142
Date: 2017-01-03
CPC Classifications: H04N

Claim:
1. A method for providing rewinding of a broadcast video stream received by a client, the method comprising: receiving, by a data center dispatch server, from the client a request for the broadcast video stream; selecting, by the data center dispatch server, one of a plurality of streaming data centers to service the request based on a plurality of distribution criteria, the plurality of the distribution criteria including popularity of the requested video stream determined based on a number of users subscribing to the requested video stream exceeding a threshold value, the selected streaming data center having local indexing information of video streams stored at a local storage system of the selected streaming data center and a copy of global indexing information shared by the plurality of streaming data centers; determining, by the selected streaming data center, that the request is for rewinding the requested video stream, the request including a stream identification of the requested video stream and timing information indicating a portion of the requested video stream to rewind; responsive to the selected streaming data center having the requested video stream stored at the local storage system of the selected streaming data center based on the local indexing information stored at the selected streaming data center, retrieving, by the selected streaming data center, the requested video stream from the local storage system of the selected streaming data center; responsive to the selected streaming data center not having the requested video stream stored at the local storage system of the selected streaming data center: determining, by the selected streaming data center, a file offset into the requested video stream corresponding to the timing information in the request, the file offset being determined from an index file that associates file offsets in the requested video stream with time information for the requested video stream, the index file being stored in the local storage system of the selected streaming data center; streaming, by the selected streaming data center, to the client the requested video stream starting from the determined file offset; and updating, by the selected streaming data center, the global indexing information shared by the plurality of streaming data centers.