摘要:
Switching a client from unicasting back to multicasting involves simultaneously providing the digital video content to the client via unicasting and multicasting until the client has buffered duplicate frames (i.e., frames that contain the same digital video content). Once the client has buffered duplicate frames, the client can transition from playing out of a buffer that holds frames received via unicasting to playing out of a buffer that holds frames received via multicasting without skipping a frame. Once the transition back to multicasting is complete, unicasting is terminated and any frames remaining in the unicast buffer are flushed.
摘要:
In a digital video network that is capable of distributing digital video content to a client via multicasting and unicasting, servicing a channel change request from a client involves switching from providing the digital video content to the client via multicasting to providing the digital video content to the client via unicasting and continuing to provide digital video content to the client via unicasting until a pre-established condition is met. Continuing to provide digital video content to the client via unicasting until a pre-established condition is met allows the network to opportunistically switch the client from unicasting back to multicasting.
摘要:
Switching a client from unicasting back to multicasting involves accumulating enough digital video content at the client to bridge the time it takes to transition from receiving the digital video content via unicasting to receiving the digital video content via multicasting. Digital video content is accumulated at the client by temporarily increasing the stream rate of the unicast stream above the playout rate. While the digital video content is being streamed at the increased rate, the amount of digital video content stored in the client's stream buffer grows. The stream rate is held at the increased rate until the client accumulates enough frames in its buffer to be able to bridge the time it takes to transition from receiving the digital video content via unicasting to receiving the digital video content via multicasting.
摘要:
A technique for streaming digital video content to multiple clients involves establishing a logical group of IP-connected stream servers, generating state information at multiple stream servers within the logical group, sharing the state information amongst stream servers in the logical group, and using the shared state information to respond to resource failures within the logical group. By sharing state information within the logical group of stream servers, stream servers with the shared state information can quickly take over the active streams from a failed stream server within the logical group. The quick transition of responsibility from one stream server to another enables the streaming network to provide continuous streaming of digital video content to the viewer without interruption.
摘要:
A technique for managing the streaming of digital video content to multiple clients involves identifying an attribute of a content element that is streamed to a client and selecting a protection mechanism for the content element as a function of the attribute, wherein the protection mechanism enables streaming of the content element to the clients in the event of a resource failure. In an example, the identified attribute is an indication of the popularity of the content element (e.g., as measured by the number of active streams), such that the protection mechanism is selected as a function of the popularity of the content element. In an embodiment, protection mechanisms that offer a higher level of protection are selected for the more popular content elements and protection mechanisms that offer a lower level of protection are selected for the less popular content elements.
摘要:
A technique for managing the streaming of digital video content to multiple clients involves identifying an attribute of a content element that is streamed to a client and selecting a protection mechanism for the content element as a function of the attribute, wherein the protection mechanism enables streaming of the content element to the clients in the event of a resource failure. In an example, the identified attribute is an indication of the popularity of the content element (e.g., as measured by the number of active streams), such that the protection mechanism is selected as a function of the popularity of the content element. In an embodiment, protection mechanisms that offer a higher level of protection are selected for the more popular content elements and protection mechanisms that offer a lower level of protection are selected for the less popular content elements.
摘要:
A technique for managing the streaming of digital video content to multiple clients involves identifying an attribute of a content element that is streamed to a client and selecting a protection mechanism for the content element as a function of the attribute, wherein the protection mechanism enables streaming of the content element to the clients in the event of a resource failure. In an example, the identified attribute is an indication of the popularity of the content element (e.g., as measured by the number of active streams), such that the protection mechanism is selected as a function of the popularity of the content element. In an embodiment, protection mechanisms that offer a higher level of protection are selected for the more popular content elements and protection mechanisms that offer a lower level of protection are selected for the less popular content elements.
摘要:
A technique for streaming digital video content to a client involves providing a new stream of digital video content to the client using forward error correction (FEC) for a limited initial period and then ending the use of FEC after the limited initial period has ended. In an embodiment, during the limited initial period, the digital video content is provided to the client at a rate that is slightly higher than the playout rate in order to allow a client buffer to accumulate digital video content. FEC continues to be used until the client buffer is sufficiently populated such that lost or damaged frames can be retransmitted to the client before the corresponding digital video content is needed for playout. Once the client buffer is sufficiently populated, FEC is ended and retransmission is used to maintain the quality of the streamed digital video content.
摘要:
A technique for streaming digital video content to a client involves providing a new stream of digital video content to the client using forward error correction (FEC) for a limited initial period and then ending the use of FEC after the limited initial period has ended. In an embodiment, during the limited initial period, the digital video content is provided to the client at a rate that is slightly higher than the playout rate in order to allow a client buffer to accumulate digital video content. FEC continues to be used until the client buffer is sufficiently populated such that lost or damaged frames can be retransmitted to the client before the corresponding digital video content is needed for playout. Once the client buffer is sufficiently populated, FEC is ended and retransmission is used to maintain the quality of the streamed digital video content.
摘要:
A technique for managing session setup for video on demand sessions involves caching information related to session setup for a session manager and then utilizing the cached information to setup a video on demand session for a client in response to a session setup request that is received from the client. Because information related to session setup is cached for the session manager, the session manager can utilize the information to establish a session without having to exchange messages with other video on demand elements, in particular other servers in the video on demand network. Reducing or eliminating the number of messages exchanged between video on demand elements enables video on demand sessions to be quickly and efficiently setup.