Patent ID: 8145778

Claim:
A method for transitioning streamed digital video content between stream servers, the method comprising: streaming digital video content to a client via a first stream server, wherein the digital video content comprises a sequence of frames; identifying a second stream server that is to supersede the streaming of the digital video content to the client; identifying a transition identifier that indicates a point within the sequence f frames at which streaming of the digital video content transitions from the first stream server to the second stream server; streaming the digital video content to the client via the second stream server starting at the point within the sequence of frames that is determined in response to the transition identifier; and stopping the streaming of the digital video content to the client via the first stream server at the point within the sequence of frames that is determined in response to the transition identifier so that there is no redundant streaming, of a frame in the sequence of frames of the digital video content, to the client by the first and second stream servers; wherein the method further comprises implementing an unbounded-time handoff from the first stream server to the second stream server by: sending a supersedingStopPlay message from a stream control module of a stream control server to the first stream server, the supersedingStopPlay message initiating a process of stopping the streaming of digital video content within the first stream server; in response to the supersedingStopPlay message, sending a playWillComplete message from the first stream server to the stream control module, the playWillComplete message acknowledging that a request to stop streaming has been received and the process of stopping the stream has begun; in response to the playWillComplete message, sending a supersedingPlay message from the stream control module to the second stream server, the superseding Play message initiating the process of readying the stream of digital video content for subsequent play; in response to the superseding Play message and when the second stream server is ready to initiate streaming of the digital video content, sending a readyToPlay message from the second stream server to the first stream server, the readyToPlay message indicating that the second stream server is ready to stream the digital video content; and in response to the readyToPlay message, sending a startPlay message from the first stream server to the second stream server, the startPlay message including the transition identifier and indicating that streaming of the digital video content is to start immediately at the second stream server.