Bandwidth optimized rapid channel change in IP-TV network
AssigneeCisco Technology, Inc.
InventorsAtif Faheem, Joshua B. Gahm, Kapil Sharma, David R. Oran, Robert Andrew Drisko
Life of this patent
Estimating the term…
Abstract
A technique is provided for rapid channel change (RCC) processing in a programming distribution network. The RCC process herein is configured to transmit unicast stream of packets (“RCC burst”) during a “fast-fill” interval for up to a full duration of the multicast join window, or until it is stopped by a an explicit message sent from the user terminal. The unicast stream of packets is transmitted at a full rate of an access link (i.e., the bottleneck link) on a path to the user terminal beyond an earliest time when the user terminal could join a multicast stream of packets for a new channel requested by the user terminal.
Claims17
A method comprising:
- receiving a channel change request from a user terminal in an internet protocol television network, wherein the channel change request indicates a request for packets for a new channel of programming;
- computing a latest time when the user terminal could join a multicast stream based on time of reception of the channel change request;
- and in response to the channel change request, transmitting a unicast stream of packets for the new channel to the user terminal at a full rate of an access link on a path to the user terminal and continuing to transmit the unicast stream of packets at the full rate of the access link beyond an earliest time when the user terminal could join the multicast stream of packets for the new channel and until insufficient packets are available for transmission at the full rate at which time packets are transmitted at a rate which is equal to a rate at which new packets are received from a source until the latest time or until reception of a message from the user terminal indicating that the user terminal has joined the multicast stream of packets for the new channel.
A method comprising:
- receiving a channel change request from a user terminal in an internet protocol television network, wherein the channel change request indicates a request for packets for a new channel of programming;
- and
- in response to the channel change request, transmitting a unicast stream of packets for the new channel to the user terminal at a full rate of an access link on a path to the user terminal and continuing to transmit the unicast stream of packets at the full rate of the access link beyond an earliest time when the user terminal could join a multicast stream of packets for the new channel, wherein transmitting comprises transmitting the unicast stream of packets with a lower priority quality of service marking than a quality of service marking associated with the multicast stream of packets to cause all of the multicast packets to get through to the user terminal whereas some of the packets for the new channel are dropped and do not get through to the user terminal during a time period beyond the earliest time when the unicast stream is transmitted at the full rate of the access link thereby minimizing a total time duration of a gap in a sequence of packets received by the user terminal as a result of packet collisions between packets from the multicast stream and packets from the unicast stream and packet drops from the unicast stream that occur during the time period.
A method comprising:
- receiving a channel change request from a user terminal in an internet protocol television network, wherein the channel change request indicates a request for packets for a new channel of programming;
- and
- in response to the channel change request, transmitting a unicast stream of packets for the new channel to the user terminal at a full rate of an access link on a path to the user terminal and continuing to transmit the unicast stream of packets at the full rate of the access link beyond an earliest time when the user terminal could join a multicast stream of packets for the new channel, wherein transmitting comprises transmitting the unicast stream of packets for a time duration that is based on a comparison of an estimate of a number of missing packets during a time period when the user terminal joins the multicast stream and a number of errors that are reparable at the user terminal.
An apparatus comprising:
- one or more processors;
- memory coupled to the one or more processors, wherein the memory stores instructions executable by the one or more processors and when executed by the one or more processors cause the processors to:
- receive a channel change request from a user terminal in an internet protocol television network, wherein the channel change request indicates a request for packets for a new channel of programming;
- compute a latest time when the user terminal could join a multicast stream based on time of reception of the channel change request;
- and in response to the channel change request, transmit a unicast stream of packets for the new channel to the user terminal at a full rate of an access link on a path to the user terminal and continuing to transmit the unicast stream of packets at the full rate of the access link beyond an earliest time when the user terminal could join the multicast stream of packets for the new channel and until insufficient packets are available for transmission at the full rate at which time packets are transmitted at a rate which is equal to a rate at which new packets are received from a source until the latest time or until reception of a message from the user terminal indicating that the user terminal has joined the multicast stream of packets for the new channel.
An apparatus comprising:
- one or more processors;
- memory coupled to the one or more processors, wherein the memory stores instructions executable by the one or more processors and when executed by the one or more processors cause the processors to:
- receive a channel change request from a user terminal in an internet protocol television network, wherein the channel change request indicates a request for packets for a new channel of programming;
- in response to the channel change request, transmit a unicast stream of packets for the new channel to the user terminal at a full rate of an access link on a path to the user terminal and continuing to transmit the unicast stream of packets at the full rate of the access link beyond an earliest time when the user terminal could join a multicast stream of packets for the new channel;
- wherein the instructions that cause the processor to transmit comprise instructions to transmit the unicast stream of packets with a lower priority quality of service marking than a quality of service marking associated with the multicast stream of packets causing all of the multicast packets to get through to the user terminal whereas some of the packets for the new channel are dropped and do not get through to the user terminal during a time period beyond the earliest time when the unicast stream is transmitted at the full rate of the access link thereby minimizing a total time duration of a gap in a sequence of packets received by the user terminal as a result of packet collisions between packets from the multicast stream and packets from the unicast stream and packet drops from the unicast stream that occur during the time period.
A computer readable memory device storing instructions that, when executed by a processor, are operable to cause the processor to:
- receive a channel change request from a user terminal in an internet protocol television network, wherein the channel change request indicates a request for packets for a new channel of programming;
- compute a latest time when the user terminal could join a multicast stream based on time of reception of the channel change request;
- and in response to the channel change request, transmit a unicast stream of packets for the new channel to the user terminal at a full rate of an access link on a path to the user terminal and continuing to transmit the unicast stream of packets at the full rate beyond an earliest time when the user terminal could join the multicast stream of packets for the new channel and until insufficient packets are available for transmission at the full rate at which time packets are transmitted at a rate which is equal to a rate at which new packets are received from a source until the latest time or until reception of a message from the user terminal indicating that the user terminal has joined the multicast stream of packets for the new channel.
A computer readable memory device storing instructions that, when executed by a processor, are operable to cause the processor to:
- receive a channel change request from a user terminal in an internet protocol television network, wherein the channel change request indicates a request for packets for a new channel of programming;
- in response to the channel change request, transmit a unicast stream of packets for the new channel to the user terminal at a full rate of an access link on a path to the user terminal and continuing to transmit the unicast stream of packets at the full rate of the access link beyond an earliest time when the user terminal could join a multicast stream of packets for the new channel;
- wherein the instructions that cause the processor to transmit the unicast stream comprise instructions that cause the processor to transmit the unicast stream of packets with a lower priority quality of service marking than a quality of service marking associated with the multicast stream of packets causing all of the multicast packets to get through to the user terminal whereas some of the packets for the new channel are dropped and do not get through to the user terminal during a time period beyond the earliest time when the unicast stream is transmitted at the full rate of the access link thereby minimizing a total time duration of a gap in a sequence of packets received by the user terminal as a result of packet collisions between packets from the multicast stream and packets from the unicast stream and packet drops from the unicast stream that occur during the time period.
Dependencies are inferred from the claim text.