IP Library Granted Patent US 7,904,581
Granted Patent B2
US 7,904,581 · App. 11/360,078 · Granted Mar 8, 2011

Fast channel change with conditional return to multicasting

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,904,581
App. No.
11/360,078
Granted
Mar 8, 2011
Kind
B2
Abstract

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.

Claims (67)

1. A method for servicing channel change requests in a digital video network that is capable of distributing digital video content to clients via multicasting and unicasting, the method comprising:

providing digital video content to a client via multicasting, the digital video content being related to a first channel;

detecting a channel change request related to the client, the channel change request requesting a change to a second channel;

providing digital video content related to the second channel to the client via unicasting in response to the channel change request;

continuing to provide digital video content related to the second channel to the client via unicasting until a pre-established condition is met, wherein continuing to provide digital video content related to the second channel to the client via unicasting until a pre-established condition is met involves unicasting a sequence of consecutive frames of the digital video content related to the second channel to the client, wherein the unicasting starts from an I-frame and progresses to B and P frames of a group of pictures (GOP); and

switching to providing digital video content related to the second channel to the client via multicasting after the pre-established condition is met.

2. The method of claim 1 wherein the pre-established condition comprises the expiration of a time interval.

3. The method of claim 1 wherein the pre-established condition comprises the expiration of a time interval in which no channel change requests are received.

4. The method of claim 1 wherein the pre-established condition comprises an explicit request to rejoin multicasting.

5. The method of claim 1 wherein the pre-established condition comprises a resource threshold.

6. The method of claim 1 wherein the pre-established condition comprises a benefit threshold.

7. The method of claim 1 further comprising joining the client to a multicast group after the pre-established condition is met.

8. The method of claim 1 further comprising providing digital video content related to a third channel to the client via unicasting before switching to multicasting.

9. The method of claim 8 further comprising providing an indication of a channel change boundary between digital video content related to the second channel and digital video content related to the third channel.

10. The method of claim 9 further comprising flushing undecoded frames from a buffer in response to detecting the channel change boundary.

11. The method of claim 9 further comprising resetting a decoder in response to detecting the channel change boundary.

12. The method of claim 8 wherein providing digital video content related to the third channel to the client comprises splicing the third channel into a current unicast session.

13. The method of claim 1 further comprising servicing subsequent channel change requests related to the client via unicasting before switching to multicasting and until the pre-established condition is met.

14. The method of claim 1 further comprising buffering consecutive frames of digital video content related to the second channel and wherein providing digital video content to the client via unicasting comprises unicasting the buffered consecutive frames.

15. The method of claim 14 wherein unicasting the buffered consecutive frames comprises starting the unicasting at the first buffered I-frame.

16. The method of claim 1 wherein switching from unicasting to multicasting comprises:

providing digital video content to a client via unicasting at a first rate;

increasing the rate at which digital video content is provided to the client via unicasting to a second rate; and

after digital video content has been provided to the client via unicasting at the second rate for a first time interval, switching to providing the digital video content to the client via multicasting instead of unicasting.

17. The method of claim 1 wherein switching from unicasting to multicasting comprises:

providing digital video content to a client via unicasting;

providing digital video content to the client via multicasting such that digital video content is provided simultaneously via multicasting and unicasting; and

once the client begins buffering duplicate frames of digital video content via both unicasting and multicasting, switching to providing the digital video content to the client via multicasting instead of unicasting.

18. A processor accessible non-transitory storage media comprising processor-executable instructions, that when executed, direct a computer system to perform a method for servicing channel change requests in a digital video network that is capable of distributing digital video content to clients via multicasting and unicasting, the method comprising:

providing digital video content to a client via multicasting, the digital video content being related to a first channel;

detecting a channel change request related to the client, the channel change request requesting a change to a second channel;

providing digital video content related to the second channel to the client via unicasting in response to the channel change request;

continuing to provide digital video content related to the second channel to the client via unicasting until a pre-established condition is met, wherein continuing to provide digital video content related to the second channel to the client via unicasting until a pre-established condition is met involves unicasting a sequence of consecutive frames of the digital video content related to the second channel to the client, wherein the unicasting starts from an I-frame and progresses to B and P frames of a group of pictures (GOP); and

switching to providing digital video content related to the second channel to the client via multicasting after the pre-established condition is met.

19. A method for servicing channel change requests in a digital video network that is capable of distributing digital video content to clients via multicasting and unicasting, the method comprising:

providing digital video content to a client via multicasting, the digital video content being related to a first channel;

detecting a channel change request related to the client, the channel change request requesting a change to a second channel;

providing digital video content related to the second channel to the client via unicasting in response to the channel change request, wherein providing digital video content related to the second channel to the client via unicasting in response to the channel change request involves unicasting a sequence of consecutive frames of the digital video content related to the second channel to the client, wherein the unicasting is started from an I-frame and progresses to B and P frames of a group of pictures (GOP); and

detecting a subsequent channel change request related to the client, the channel change request requesting a change to a third channel;

providing digital video content related to the third channel to the client via unicasting in response to the channel change request, wherein providing digital video content related to the third channel to the client via unicasting in response to the channel change request involves splicing the third channel into the unicasting of the second channel and unicasting a sequence of consecutive frames of the digital video content related to the third channel to the client, wherein the unicasting is started from an I-frame and progresses to B and P frames of a group of pictures (GOP);

switching to providing digital video content related to the third channel to the client via multicasting only if a pre-established condition is met.

20. A system for servicing channel change requests in a digital video network that is capable of distributing digital video content to clients via multicasting and unicasting, the system comprising: a server system having a processor and processor-accessible non-transitory storage media comprising processor-executable instructions, that when executed, direct the server system to:

provide digital video content to a client via multicasting, the digital video content being related to a first channel;

detect a channel change request related to the client, the channel change request requesting a change to a second channel;

provide digital video content related to the second channel to the client via unicasting in response to the channel change request; and

continue to provide digital video content related to the second channel to the client via unicasting until a pre-established condition is met, wherein continuing to provide digital video content related to the second channel to the client via unicasting until a pre-established condition is met involves unicasting a sequence of consecutive frames of the digital video content related to the second channel to the client, wherein the unicasting is started from an I-frame and progresses to B and P frames of a group of pictures (GOP); and

switch to providing digital video content related to the second channel to the client via multicasting after the pre-established condition is met.

21. A system for servicing channel change requests in a digital video network that is capable of distributing digital video content to clients via multicasting and unicasting, the system comprising:

a server system having a processor and processor-accessible non-transitory storage media comprising processor-executable instructions, that when executed, direct the server system to:

provide digital video content to a client via multicasting, the digital video content being related to a first channel;

detect a channel change request related to the client, the channel change request requesting a change to a second channel;

provide digital video content related to the second channel to the client via unicasting in response to the channel change request, wherein providing digital video content related to the second channel to the client via unicasting in response to the channel change request involves unicasting a sequence of consecutive frames of the digital video content related to the second channel to the client, wherein the unicasting is started from an I-frame and progresses to B and P frames of a group of pictures (GOP); and

switch to providing digital video content related to the second channel to the client via multicasting only if a pre-established condition is met.

22. A method for servicing channel change requests in a digital video network that is capable of distributing digital video content to clients via multicasting and unicasting, the method comprising:

providing digital video content to a client via multicasting;

identifying the client as being in a surf mode in response to a channel change request;

providing digital video content to the client via unicasting for as long as the client is in the surf mode, wherein providing digital video content to the client via unicasting for as long as the client is in the surf mode involves unicasting a sequence of consecutive frames of digital video content to the client, wherein the unicasting is started from an I-frame and progresses to B and P frames of a group of pictures (GOP); and

switching back to providing digital video content to the client via multicasting once the client exits surf mode.

23. The method of claim 22 further comprising servicing additional channel change requests from the client via unicasting while the client is in surf mode.

24. The method of claim 23 wherein servicing channel change requests via unicasting comprises buffering digital video content related to a requested channel and unicasting the buffered digital video content starting at the first buffered I-frame.

25. The method of claim 22 wherein surf mode is exited in response to one of the expiration of a time period, the expiration of a time period without any channel change requests, and an explicit exit command.

26. A system for servicing channel change requests in a digital video network that is capable of distributing digital video content to clients via multicasting and unicasting, the system comprising:

a server system having a processor and processor-accessible non-transitory storage media comprising processor-executable instructions, that when executed, direct the server system to:

provide digital video content to a client via multicasting;

identify the client as being in a surf mode in response to a channel change request;

provide digital video content to the client via unicasting for as long as the client is in the surf mode, wherein providing digital video content to the client via unicasting for as long as the client is in the surf mode involves unicasting a sequence of consecutive frames of digital video content to the client, wherein the unicasting is started from an I-frame and progresses to B and P frames of a group of pictures (GOP); and

switch back to providing digital video content to the client via multicasting upon the expiration of a pre-established time interval in which no channel change requests are received from the client.

Assignments (6)
CORRECTIVE ASSIGNMENT TO CORRECT THE 26 APPLICATION NUMBERS ERRONEOUSLY RECORDED AGAINST ON THE ATTACHED LIST PREVIOUSLY RECORDED AT REEL: 048513 FRAME: 0297. ASSIGNOR(S) HEREBY CONFIRMS THE CHANGE OF NAME. Recorded Mar 18, 2021
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 056623/0708 →
CHANGE OF NAME Recorded Mar 6, 2019
From: NDS LIMITED
To: SYNAMEDIA LIMITED
Reel/Frame 048513/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 5, 2018
From: BEAUMARIS NETWORKS LLC; CISCO SYSTEMS INTERNATIONAL S.A.R.L.; CISCO TECHNOLOGY, INC.; CISCO VIDEO TECHNOLOGIES FRANCE
To: NDS LIMITED
Reel/Frame 047420/0600 →
CHANGE OF NAME Recorded Apr 5, 2010
From: ARROYO VIDEO SOLUTIONS, INC.
To: ARROYO VIDEO SOLUTIONS LLC
Reel/Frame 024187/0846 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 5, 2010
From: ARROYO VIDEO SOLUTIONS LLC
To: CISCO TECHNOLOGY, INC.
Reel/Frame 024187/0924 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2006
From: SHERER, W. PAUL; BLATTMAN, KIRK; CONNERY, GLENN; PALFREYMAN, ANDREW; PICKENS, JOHN
To: ARROVO VIDEO SOLUTIONS, INC.
Reel/Frame 018017/0890 →