`
`US 8,249,114 B2
`(10) Patent No.:
`(12) United States Patent
`
`Vasudevan et al. Aug. 21, 2012 (45) Date of Patent:
`
`
`(54) METHOD AND DEVICE FOR RECEIVING
`AND PROVIDING PROGRAMS
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`(75)
`
`Inventors: Swaminatha Vasudevan, Palo Alto, CA
`(US); Pritesh Mukeshbhai Dave,
`.
`Fremont’ C‘Af (US)’ Kumaragur‘.‘
`DhandaPanls Fremont, CA (US): Ran
`Oz, Modi’in (IL); Nery Strasman,
`Ramat Gan (IL)
`.
`.
`(73) ASSlgneei ARRIS 5011mm“: Inc., Suwanee: GA
`(US)
`
`............... 725/115
`5,586,264 A * 12/1996 Belknap et a1.
`...... 715/716
`6,166,730 A * 12/2000 Goode et al.
`
`. 375/240.26
`6,795,506 B1 *
`9/2004 Zhang et al.
`...... 345/716
`2002/0054062 A1*
`5/2002 Gerba et al.
`345/716
`......
`2002/0122051 A1*
`9/2002 Hose et al.
`
`348/461
`2003/0067554 A1*
`4/2003 Klarfeld et a1.
`.
`2003/0088872 A1*
`5/2003 Maissel et al. ........... 725/46
`2004/0172416 A1 *
`9/2004 Murakami et al.
`707/104.l
`..
`
`2004/0226044 A1 * 11/2004 Goode ..................... 725/95
`
`2004/0250272 A1* 12/2004 Durden et al.
`..
`..... 725/25
`
`6/2005 Baran et al. .......... 725/28
`2005/0132398 A1*
`2005/0190794 A1 *
`9/2005 Krause et al.
`370/485
`
`( * ) Notice:
`
`Subject to any disclaimer, the term ofthis
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 2030 days.
`
`3/2006 Dougall et 31~
`2006/0067219 A1 *
`2006/0271936 A1 * 11/2006 Matsuda et al.
`* Cited by examiner
`
`~
`
`
`
`370/230
`.. 718/102
`
`(21) App] No.2 11/2003754
`
`(22)
`
`Filed:
`
`Aug. 9, 2005
`
`(65)
`
`Prior Publication Data
`US 2006/0034341 A1
`Feb. 16, 2006
`
`(60)
`
`Related US. Application Data
`.
`.
`.
`.
`Prov1s1onal applicatlon NO- 00/690,473, filed on Aug.
`10, 2004, prov1s10nal applicatlon NO- 60/662344:
`filed 011 Mar. 16: 2005-
`
`(51)
`
`Int. C1-
`(200601)
`H04] ”00
`(52) US. Cl.
`........................................ 370/486; 370/537
`(58) Field of Classification Search .................. 370/537,
`370/485, 486, 487
`See application file for complete search history.
`
`Primary Examiner i Sal-Mlng Chan
`(74) Attorneyflgenl, orFirm 7 TroyA.VanAacken; Robert
`l Starr
`
`(57)
`ABSTRACT
`A method for providing programs, the.method includes: (1)
`prov1d1ng a program mult1plex to mult1ple users dev1ce; (11)
`considering a removal of at least one program from the mul-
`tiplex in response to program viewing parameters; (iii) allow-
`ing at least one user to respond to a possible removal of the
`program; and (iv) determining whether to remove the al least
`one program in response to received user removal responses.
`A user device that includes a transceiver unit that is connected
`
`to a controller, wherein the device is adapted to receive a
`program multiplex, to receive an indication that at least one
`program is to be removed from the multiplex, and to selec-
`tively transmit a program removal response.
`
`42 Claims, 13 Drawing Sheets
`
`prov1ding a program multiplex to multiple users
`device
`310
`
`repetitively checking a
`
`4
`status of multiple users
`device
`
`380
`
`
`
`
`receiving user viewing pattern
`information representative of
`
`user viewing related
`
`operations
`
`390
`
` 4
`
`
`
`
`
`generating content information representative of
`the programs that are included within the
`multiplex
`320
`
`considering a removal of at least one program
`from the multiplex in response to program viewing
`parameters
`330
`
`
`
`a owrng a eas one user orespon- o
`con5Ideration
`340
`
`e
`
`determining whether to remove the at least one
`program in response to received user removal
`responses
`350
`
`replacing at least one program that belonged to
`the pervious multiplex by a new program
`360
`V
`
`transmitting content information
`370
`
`LO
`
`00
`
`SONY - Ex.-1020
`Sony Corporation - Petitioner
`
`1
`
`SONY - Ex.-1020
`Sony Corporation - Petitioner
`
`1
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 1 of 13
`
`US 8,249,114 132
`
`83%5w:9as:
`
`5x836:
`
`FMEDOE
`
`x836:on:9ucmummI
`
`l
`om-
`
`DI
`
`|||||||||||||||||||||||||||||||||||||
`
`11111111111111111111111111111111111111111111111111
`
`
`
`E07,?toamcmc.
`
`«N
`
`
`
`:5EwEwmmcmEucmummz
`
`mu
`
`ONDzm_n_<MI
`
`,,,,,I1mm
`
`M53%00>
`
`
`
`4h!4?
` 4“W‘4“W‘.mm
`
`
`
`
`
`a,,_Lowmoooa£82ii
`
`Mfi
`
`
`
`cwfi259mm
`
`4.'{2.m$17!
`
`
`
`2
`
`
`
`
`
`
`
`U.S. Patent
`
`uA
`
`2102
`
`%
`
`31f0
`
`US 8,249,114 B2
`
`1.,on
`
`«Mex550:as:9ucmnmmI
`
`.omDZmD<MI
`
`92:1
`
`
`
`
`
`2mvQJUOE3vvmwxtxm28.5.50938Extxm053.5“E:EwEommcwEas:
`
`
`
` 5£035:.838Em:
`
`uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
`
`NMEDOE
`
`3
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 3 of 13
`
`US 8,249,114 B2
`
`99:3.
`
`865:8
`
`EIDDCI
`DUDE!
`EIDDC]
`
`8
`
`mmmDOE
`
`:c:xx}...
`
`4
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 4 of 13
`
`US 8,249,114 132
`
`Eon
`
`Em‘83m2_38
`
`Em{22$9.:Em
`
`EEEE
`
`EmmkmmhwmhwAmvom
`
`mhw
`
`m._.w
`
`.238
`
`N5.
`
`.ov9::
`
`agaaa
`
`.g
`
`
`
`4w.MEDQE
`
`859E:29V8...
`
`5E036:was:2ucmummI
`
`m._.m
`
`zamyom
`
`mkm
`
`=88
`
`
`
`Lmvow€920:Om:
`
`=05
`
`:9.g:
`
`02
`
`mkm
`
`Lflow
`
`9%
`
`{ASon
`
`Em
`
`:58
`
`mhw
`
`.xmvom
`
`ON
`
`3%me
`
`.w3%63%00>
`
`{I'2‘in
`
`
`
`Nm
`
`
`
`cmfim:__3mm
`
`mm
`
`82%00>
`
`5
`
`
`
`
`
`
`
`
`U.S. Patent
`
`teehS
`
`0
`
`w,
`
`2B4
`
`,mmmmm£6252%nWWW
`SauszmmtgnwconxommomucmummcEn.mEmma.mm
`AL98fl=88Em
`IaallmyMs“Ann
`
`/‘
`
`
`
`28.8E8$85%89EmEmm5m55%SEmU88
`Em‘35m.ES
`
`nmwmsgu;a
`
`58
`
`
`
`X“
`
`383m55996963“mm1m50fma”
`
`
`
`
`m5m5Rucmnmmc9.83mmmm=.
`
`Nw55230968mmmmcmfi959mm
`
`
`
`
`
`
`
`
`
`Em559ecofiomm.mm (hDI!
`
`
`
`
`
`cmfi252mm.
`
`6
`
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 6 of 13
`
`US 8,249,114 132
`
`FEEmoa NN_.
`
`
`
`8..FEEmoa
`
`02.mEEmoE
`
`Q:mEEmoa
`
`E:vEmhmoa
`
`F:OEmaoa
`
`For
`
`O:mEmhmoa
`
`m9m89595
`
`vowwEmaoa
`
`mgmEmaoa
`
`FNV
`
`5—,
`
`SFFESmoa
`
`NENEmgmoa
`
`Q:mE9005
`
`v9vEmgmoa
`
`mgmEmaoa
`
`385:5
`
`Emacoo
`
`CeszLeE
`
`£va
`
`885
`
`fiSoEQ
`
`SEES:
`
`<_
`
`x2332
`
`E.E. mor7xEmcmoa
`
`E.8.
`
`©wm3®i
`
`7
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 7 of 13
`
`US 8,249,114 132
`
`
`
`mat.321001.".
`
`0F<._.m
`
`Dm10b>>w
`
`DmIOb>>m
`
`
`
`N.MEDQE
`
`
`
`
`
`oomm.._m_<.rZO_._.<S_mOn_Z_._.Zm_._.ZOO
`
`03sz
`
`
`n:SEN—00mmmat.ZOFSDQOE>02w30mmn.
`
`8
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet80f13
`
`US 8,249,114 B2
`
`DmIQCEE
`
`Dm>Q§mm
`
`_____“m$—____—
`
`POOE
`
`___——_“$—_____—
`mE<m00mm
`
`N§<moomm
`
`
`
`
`
`ONNZO_._.<S_mOn_Z_HZMFZOOn_$._.zmmmn_n=n_
`
`@MEDQE
`
`9
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 9 of 13
`
`US 8,249,114 B2
`
`ZO_._.<_2mOuz_
`
`
`2mm._.._.<n_OZ_>>mm>mum:
`
`mmmewz_>>m_>moFZDOSZ
`
`mmm.>>m_>
`
`EEOOMn. omNNam
`818.5538EmEéoomn.
`09$523m$2on
`
`
`m4mzz<xoomoz<Io6535$58.".
`xfiéooma
`
`OO<ww52=2
`
`wwmj
`
`
`
`
`
`omNwn_m_<._.OZ_>>m:>Eéwoma
`
`@MEDQE
`
`10
`
`10
`
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 10 of 13
`
`US 8,249,114 B2
`
`856:”.5965
`
`aammummnmmummummfl.W an:n50
`
`EEEEEEEI
`
`
`
`EEEEEEEI
`
`
`
`95e.
`
`m:
`
`gMEDQE
`
`orMZDQE
`
`11
`
`
`
` 59FmEmLmoa83.88
`
`
`
` :9Fx690.05EnigmaNo
`
`o:1E9505
`
`
`
` .9PmEEmoavm>m_muE
`
`.22:Elmo
`
`0mm
`
`o:mEmhmoi
`
`11
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 11 0f 13
`
`US 8,249,114 B2
`
`mEF9...E.
`
`:MEDQE
`
`
`
`/..N:n_ook33.0.0k
`
`
`
`.3:
`
`3533333..k
`
`LSQOO8:622
`
`12
`
`12
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 12 0f 13
`
`US 8,249,114 132
`
`93:29:38Lo2:mem9285
`293:8?
`
`83%
`
`own
`
`
`
`
`
`Eganc.5263Low:@5289
`
`
`
`hemzymemancozmrEoE
`
`866.9353am:
`
`225.30
`
`08
`
`
`
`
`
`coszEEEmEoomEEEwcm:
`
`NFmmevE
`
`Em
`
`13
`
`83%
`
`9m
`
`
`
`
`
`2mm:23:3:9x2922...EmaoaN96305
`
`
`
`
`
`
`
`how>=memm52cozmctegEoEoomczmbcmm
`
`x9922:
`
`own
`
`0555:589:059m.55mEmcmoa9:
`
`Emaoa98anyHmLoESE»:m@5288
`
`
`
`@526389on2$830..c_335?:or:E0:
`
`mLQmEEmQ
`
`08
`
`
`
`cozflmpwcoowoE03906m:95mmwa9550m
`
`ova
`
`
`
`966mm:_m9:m>oE29.65chmc_c_E§mu
`
`
`
`
`
`_m>oEm._Em:328923:0qu:_EmLmoa
`
`mmmcoamm:
`
`omm
`
`
`
`
`
`o.ummcofin“NEEEmoa966mm:.m@5838
`
`
`
`
`
`Emhmoa26:m.Ex233832389:
`
`own
`
`13
`
`
`
`
`
`
`U.S. Patent
`
`Aug. 21, 2012
`
`Sheet 13 of 13
`
`US 8,249,114 B2
`
`5w:m996:0qu
`
`
`
`$92320:269“$33..
`
`mEEmoa
`
`o3
`
`
`
`
`
`@5263Low:mczflocmm
`
`gamete:E028
`
`
`
`@53038m:30255339
`
`
`
`95:9on352
`
`8v
`
`w>zomm_83%5m:05
`
`03
`
`2MEDQE
`
`14
`
`Emaoam@5289
`EE9:8653336:.o>=ommEEEmcmz
`
`
`
`
`
`_m>oE9EEmoam9:225:92202623
`
`8:865_m>oEw._Emaoam@5289
`
`x2922:
`
`9v
`
`omv
`
`omcoawm:
`
`onv
`
`14
`
`
`
`
`
`US 8,249,l 14 B2
`
`1
`METHOD AND DEVICE FOR RECEIVING
`AND PROVIDING PROGRAMS
`
`RELATED CASES
`
`This patent claims priority from US. provisional patent
`application Ser. No. 60/600,473 filed at Aug. 10, 2004 and
`from US. provisional patent application Ser. No. 60/662,844
`filed at Mar. 16, 2005 titled “switched broadcast implemen-
`tation”.
`
`FIELD OF THE INVENTION
`
`The present invention relates to communication systems
`and especially to methods and systems for providing pro-
`grams and for receiving programs.
`
`BACKGROUND OF THE INVENTION
`
`The number of television channels (programs) has dra-
`matically increased during the last decade. In addition, vari-
`ous technologies such as high definition television require
`larger amounts of bandwidth.
`In order to provide many programs to multiple user devices
`various techniques such as statistical multiplexing and vari-
`ous compression schemes (such as but not limited to the
`MPEG compression standards) were developed. These tech-
`niques can improve the bandwidth utilization of existing
`infrastructure. Nevertheless, even when these techniques are
`implemented the number of programs that can be provided to
`users is relatively limited.
`The following patents and patent applications, all being
`incorporated herein by reference, illustrate some prior art
`methods and devices for providing multiple programs to
`users: US. Pat. No. 6,597,670 of Tweedy et al.,
`titled
`“Method and system for distributing subscriber services
`using wireless bidirectional broadband loops”; US. patent
`application publication serial number 2005/0033342 of
`Rosetti et al., titled “Technique for providing a virtual digital
`video recorder service through a communication networ ”;
`US. patent application serial number 2005/0120377 of Car-
`lucci et al., titled “Technique for effectively providing various
`entertainment services thorough a communication networ ”;
`PCT patent application WO2005/0084l9 of Compton el al.,
`titled “Distributed and scalable architecture for on demand
`
`session and resource management”; PCT patent application
`publication number WO2005/022796 of Krause et al., titled
`“Advanced, adaptive video multiplexing system”; PCT patent
`application publication number WO2005/022892 of Krause
`et al., titled “Video multiplexer system providing low-latency
`VCR-like effects and program changes” and US. Pat. No.
`6,718,552 of Goode “network bandwidth optimization by
`dynamic channel allocation”.
`There is a need to provide efficient methods and devices for
`providing programs to multiple users and for receiving pro-
`grams by users.
`
`SUMMARY OF THE PRESENT INVENTION
`
`A user device that includes a transceiver unit that is con-
`
`nected to a controller, wherein the device is adapted to: (i)
`receive a program multiplex, (ii) receive an indication that at
`least one program is to be removed from the multiplex; and
`(iii) selectively transmit a program removal response.
`A device that is adapted to provide a program multiplex,
`the device includes: (i) a media processor adapted to generate
`a program multiplex; and (ii) a management unit, connected
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`
`to the media processor, adapted to (a) consider a removal of at
`least one program from the multiplex in response to program
`viewing parameters, and (b) determine the removal
`in
`response to at least one received user program removal
`response.
`A method for receiving programs that includes: (i) receiv-
`ing a program multiplex; receiving a program removal indi-
`cation; and (ii) selectively transmitting a program removal
`response.
`A method for providing programs, the method includes: (i)
`providing a program multiplex to multiple user devices; (ii)
`considering a removal of at least one program from the mul-
`tiplex in response to program viewing parameters; (iii) allow-
`ing at least one user to respond to a possible removal of the at
`least one program; and (iv) determining whether to remove
`the at least one program in response to received user removal
`responses.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The present invention will be understood and appreciated
`more fully from the following detailed description taken in
`conjunction with the drawings in which:
`FIG. 1 illustrates a headend and a hub according to an
`embodiment of the invention;
`FIG. 2 illustrates a headend and a hub according to another
`embodiment of the invention;
`FIG. 3 illustrates a user device according to an embodiment
`of the invention;
`FIG. 4 illustrates a cable network according to an embodi-
`ment of the invention;
`FIG. 5 illustrates a cable network according to another
`embodiment of the invention;
`FIG. 6 illustrates various programs and signals exchanged
`over a cable network according to an embodiment of the
`invention;
`FIG. 7 illustrates a content information table according to
`an embodiment of the invention;
`FIG. 8 illustrates differential content information message
`according to an embodiment of the invention;
`FIG. 9 illustrates a program viewing table according to an
`embodiment of the invention;
`FIG. 10 illustrates a delay unit and a timing diagram
`according to an embodiment of the invention;
`FIG. 11 illustrates various group of pictures, according to
`an embodiment of the invention;
`FIG. 12 illustrates a method for providing programs,
`according to an embodiment of the invention; and
`FIG. 13 illustrates a method for receiving programs,
`according to an embodiment of the invention.
`
`DETAILED DESCRIPTION OF PREFERRED
`EMBODIMENTS
`
`The disclosed technique is directed to a broadband net-
`work, which can be either wired or wireless, such as an HFC
`network, a DSL network, satellite communication and the
`like.
`
`It is further noted that the description relates to MPEG (and
`especially MPEG2) compliant programs and components,
`but the invention is applicable to other types of media unit
`decoding and/or compression schemes as well. It is further
`noted that the media streams are also referred to as programs,
`although this is not necessarily so and the invention can be
`applied to media streams that are not programs.
`According to an embodiment of the invention a device is
`provided. The device is adapted to provide a program multi-
`
`15
`
`15
`
`
`
`US 8,249,114 B2
`
`3
`plex. The device includes a media processor and a manage-
`ment unit. The media processor is adapted to generate a
`program multiplex. The management unit is adapted to con-
`sider a removal of at least one program from the multiplex (for
`example in response to program viewing parameters) and
`determine whether to remove the program in response to at
`least one user program removal response or in response to an
`absence of such response. This device can be included within
`a headend, within a hub, within a node, partially within either
`one of the hub, headend and node, and the like.
`The program removal response can include a removal
`approval, an objection to the removal, a parameter that can
`reflect the amount of acceptance/rejection to the removal, a
`request to delay the removal, and the like. The requested delay
`period can be included within the response.
`According to an embodiment ofthe invention a user device
`is provided. It includes a transceiver unit that is connected to
`a controller. This device is adapted to receive a program
`multiplex, receive an indication that at least one program is to
`be removed from the multiplex; and selectively transmit a
`program removal response.
`FIG. 1 illustrates a headend 20 and a hub 40 according to an
`embodiment of the invention.
`The headend 20 and hub 40 are connected to each other via
`
`a headend to hub network 30. It is noted that other configu-
`rations can be provided, including a unified hub and headend
`configuration.
`The hub 40 is connected to multiple user devices via hub to
`user device network 31. This network 31 is usually a hybrid
`fiber coax (HFC) network, but this is not necessarily so.
`Headend 20 can receive media content from various
`sources such as video on demand server 92, and satellite
`dishes 93, 93' and 93". The headend 20 includes a media
`processor 21 that can process programs in various manners,
`including rate-shaping, performing PID re-mapping, gener-
`ating delayed versions of a program, duplicating programs,
`performing statistical multiplexing, compressing, encrypting
`and the like.
`
`An exemplary broadband media router that has such media
`processing capabilities is described in US. Pat. No. 6,434,
`141 ofOz et al., which is incorporated herein by reference. An
`exemplary method and device for generating delayed version
`ofprograms is described in US. Pat. No. 6,813,270 of Oz et
`al., which is also incorporated herein by reference.
`The headend transmits a headend multiplex (such as M0 of
`FIG. 4) to the hubs. Each hub transmits a hub multiplex (such
`as multiplexes M1-M3 of FIG. 4) to multiple user devices.
`Typically, user devices that receive the same multiplex are
`referred to as a user devices group.
`The media processor 21 is controlled by a headend man-
`agement unit 26 that may determine which media processing
`operations to apply and also determine which programs
`should be included within the headend and hub multiplexes.
`Usually, headend 20 is connected to multiple hubs (for
`example hubs 40, 40' and 40" of FIG. 4, nodes 41 and 43 of
`FIG. 5), and is capable of providing to each hub a different
`program multiplex. It is noted that the amount of hubs can
`differ from three.
`
`Alternatively, each hub can receive a headend multiplex of
`programs and select the programs to be included within the
`hub multiplex of programs. Typically, the bandwidth of the
`headend to hub network 30 is much larger than the bandwidth
`ofthe hub to user network 31, thus the headend multiplex can
`include much more programs than the hub multiplex.
`The headend management unit 26 can perform additional
`tasks such as billing related tasks, and the like.
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`Headend 20 also includes a transport system 24 that is
`adapted to receive one or more program multiplexes from
`media processor 21 and to process it such as to comply to
`format conveyed over headend to hub network 30. This pro-
`cessing may include fragmentation, aggregation, packet
`encapsulation, and the like.
`The headend management unit 26 is usually adapted to
`perform resource allocation. The resource allocation deter-
`mines the resources (including component, frequency, band-
`width, port and the like) that are allocated for a certain task
`(such as a transmission of a program). The headend manage-
`ment unit 26 can determine which programs to include within
`each multiplex, when to send program removal information
`and how to response to received program removal responses
`that are transmitted by user devices.
`According to another embodiment of the invention the
`resource management is performed, at least partially, by man-
`agement units located within the hubs and/or nodes.
`According to an embodiment of the invention headend 20
`can determine which programs to include within each pro-
`gram multiplex based upon various parameters, including
`user viewing patterns, viewing statistics and the like.
`The programs can be classified to various groups that differ
`from each other by the probability removal from the multi-
`plex. As a rule of thumb programs that are viewed by a very
`large number of the viewers can be removed only in rare
`occasions, while programs that rarely viewed can be provided
`to users only upon request. It is noted that the programs can be
`classified to two typesi“static” and “switched”, but this is
`not necessarily so and more than two groups can be defined.
`It is further noted that the content of a certain multiplex can
`be responsive to current viewing statistics, to previous view-
`ing patterns, to expected viewing patterns, and/or to pre-
`defined criteria. Such a criteria can be responsive to a trans-
`mission priority of a program.
`FIG. 2 illustrates headend 20' and hub 40' according to
`another embodiment of the invention.
`Headend 20' is connected, via headend to hub network 30
`to hub 40'. Hub 40' is connected to multiple user devices via
`hub to user device network 31. Typically, multiple hubs and/
`or nodes are connected to a single headend, but for simplicity
`of explanation a single hub and a single headend are illus-
`trated.
`
`Hub 40' may exchange data, programs and control signals
`with multiple user devices. The main path for providing
`downstream signals from the hub to the user devices is also
`termed in—band, while the auxiliary path for providing
`upstream and downstream information is also referred to
`out-of-band path.
`Conveniently, programs, data and control signals (includ-
`ing for example, content information) are transmitted via the
`in-band path while data and control signals (including for
`example, active mes sages and program removal response) are
`transmitted via the out-of-band path.
`Hub 40' includes a hub management unit 54, in-band trans-
`mit/receive module (denoted “In-band RX/TX module”) 44
`and out-of—band transmit/receive module (denoted “Out-of-
`band RX/TX module”) 46. The hub management unit 54
`controls modules 44 and 46 and determines, either alone or by
`cooperating with the headend 20' which programs should be
`included with a program multiplex. The hub management
`unit 54 can also define modulation characteristics, control the
`provision of local content, calculate user viewing patterns and
`statistics, and the like.
`FIG. 3 illustrates a user device 60, according to an embodi-
`ment of the invention.
`
`16
`
`16
`
`
`
`US 8,249,114 B2
`
`5
`Device 60 can be a set top box or another computerized
`entity. It is connected to a display, such as television 69 and
`can receive instructions from a remote control, Via interface
`68. Thus, instructions such as change program instructions,
`alter picture or sound related instructions, as well as signals
`exchanged during interactive sessions are received by inter-
`face 65 and sent to controller 63.
`
`5
`
`10
`
`The analysis ofthese signals can indicate ifa user views the
`received programs. The analysis can be responsive to the
`length of viewed programs, and/or to viewing patterns of the
`viewers. The interface 65 can also receive signals sent to the
`television, thus provide additional indication about the view-
`ing related activities of the user.
`User device 60 also includes a transceiver unit (denoted
`RX/TX unit) 61 that is adapted to receive and transmit sig-
`nals, such as radio frequency signals, over a hub to user device
`network 31. Unit 61 usually includes a tuner, a modulator, a
`de-modulator and a transmitter. It is controlled by controller
`63 that can set various reception and/or transmission param- 20
`eters such as tuner frequency, modulation and demodulation
`schemes and the like.
`
`15
`
`The transceiver unit 61 is connected to parser 62 that can
`selectively provide data and control signals to controller 63
`while sending programs to decoder 64. Decoder 64 is con- 25
`nected to television 69.
`
`FIG. 4 illustrates a cable network 90 according to an
`embodiment of the invention.
`Network 90 includes headend 20 that is connected to mul-
`
`tiple content providers such as Video On Demand (VOD) 30
`servers 94 and 96 and satellite dish 92. It is noted that the
`
`amount of content providers as well as their type can differ
`from those illustrated in FIG. 4.
`Headend 20 is connected, via headend to hubs network 31
`to three hubs 40, 40' and 40". It is noted that it can be con- 35
`nected to different hubs via different networks, that more than
`three hubs can be connected to headend 20 and that network
`90 can include additional intermediate devices, such as nodes.
`Each hub (40, 40' and 40") is connected to multiple user
`devices via a hub to user devices network such as HFC net- 40
`works 70,70' and 70".
`Each hub can be connected to a large number of user
`devices. Many HFC networks are connected to hundreds of
`user devices and even to more than one thousand user devices.
`
`For simplicity of explanation only nine user devices are illus- 45
`trated as being connected to each hub. For example, user
`devices STB 80(1)-STB 80(9) are connected to hub 40, user
`devices STB 80(1)'-STB 80(9)‘ are connected to hub 40', and
`user devices STB 80(1)"-STB 80(9)" are connected to hub
`40".
`Each network out of HFC networks 70, 70' and 70" can
`supply to the user devices a different program multiplex. Hub
`40 provides hub multiplex M1, Hub 40' provides hub multi-
`plex M2 and hub 40" provides hub multiplex M3. Headend 20
`sends headend multiplex M0 to the three hubs.
`Conveniently, M0 can include all the content of M1, M2
`and M3, although each hub can insert local content to the hub
`multiplex. Conveniently, M0 includes all the programs that
`are included within M1-M3.
`
`55
`
`50
`
`Conveniently, headend 20 determines which program to 60
`remove from the multiplex M0, which program to add, when
`to send program removal indications, how to respond to pro-
`gram removal responses, to the reception or lack ofreceptions
`of active messages, and the like. It is noted that this is not
`necessarily so and other components (such as hubs) can per-
`form some or all of these decisions, or participate (along with
`the headend or another component) in such a decision.
`
`65
`
`6
`FIG. 5 illustrates a cable network 91 according to another
`embodiment of the invention.
`Cable network 91 includes a first headend 20 and a second
`
`headend 21. The first headend 20 receives programs from
`satellite dishes 92, 92', and 92". The second headend 21
`receives programs from satellite dishes 93, 93' and 93", as
`well as from VOD server 92.
`First headend 20 is connected to first node 41 via backbone
`infrastructure 84. The backbone infrastructure 84 includes
`
`multiple backbone routers 82. Second headend 21 is con-
`nected to second node 43 via backbone infrastructure 84. First
`
`node 41 is connected to multiple user devices 80(1)"-80(9)"
`via HFC network 70". Second node 43 is connected to mul-
`
`tiple user devices 80(1)-80(9) via HFC network 70.
`The first headend 20 can determine which programs to
`remove (or add to) from the hub multiplex that is sent over
`HFC network 70" while the second headend 21 can determine
`
`which programs to add to (or remove from) the hub multiplex
`that is sent over HFC network 70.
`
`Redundancy can be provided by supplying the same pro-
`grams from multiple backbone routers 82. In such a case first
`headend 20 can send stream removal indications and receive
`
`program removal responses from user devices that are con-
`nected to HFC network 70 as well as those that are connected
`
`to HFC network 70" . According to another embodiment ofthe
`invention the first headend 20 can send program removal
`indications and/or receive program removal responses and/or
`respond to program removal responses from user devices
`80(1)"-80(9)".
`FIG. 6 illustrates various programs and signals exchanged
`over a cable network according to an embodiment of the
`invention.
`
`It is assumed that the illustrated programs belong to M1.
`Between T0 and T3 M1 includes K programs 101-109. K is a
`positive integer that is usually greater then fifty.
`Before T1 or at T1 headend 20 considers the removal of
`
`second program 102 and to replace it by program R 110. The
`decision can be responsive to various parameters, including
`lack of interest in the second program 102, a request to view
`program R 110, an expectation that program R 110 will be
`requested, bandwidth constraints, and the like.
`At T1 headend 20 sends to user devices 80(1)-80(9) a
`program removal indication (illustrated as flag 121) that indi-
`cates that headend 20 considers to remove second program
`102. Headend 20 waits to receive a stream removal response
`during a predefined waiting period.
`At T2, in response to received responses (or to an absence
`of such responses) headend 20 decides to replace the second
`program 102 by program R 110.
`According to an embodiment of the invention the program
`removal indication can also include the time of the removal.
`Headend 20 sends at T3 a differential content information
`
`message 131 that indicates that the second program 102 was
`replaced by program R 110.
`At T3 the second program 102 is replaced by program R
`110 and M1 includes the first program 101, program R, and
`third to K’th programs 103-109. M1 remains the same until
`T6.
`Before T4 or at T4 headend 20 considers the removal ofthe
`
`fourth and fifth programs 104 and 105 and the inclusion of
`one or more programs, such as program Q 111 within M1.
`The decision can be responsive to various parameters, includ-
`ing lack of interest in the fourth and fifth programs 104 and
`105, a request to view various programs including program Q
`111, an expectation that program Q 111 will be requested,
`bandwidth constraints, and the like.
`
`17
`
`
`
`US 8,249,l 14 B2
`
`7
`At T4 headend 20 sends to user devices 80(1)-80(9) a
`program removal indication (illustrated as flag 122) that indi-
`cates that headend 20 considers to remove fourth and fifth
`
`programs 104 and 105.
`Headend 20 waits to receive a stream removal response. At
`T5, in response to received responses (or to an absence of
`such responses) headend 20 decides to replace the fifth pro-
`gram 105 by program Q 111 but to continue to transmit the
`fourth program 104.
`Headend 20 sends at T6 differential content information
`
`message 132 that indicates that the fifth program 105 is being
`replaced by program Q 111.
`At T6 the fifth program 105 is replaced by program Q 111
`and M1 includes the first program 101, program R, third and
`fourth programs, program T, and the sixth to the K’th pro-
`grams 101,110,103,104,111,106-109.
`Headend 20 transmits content information messages or
`differential content information messages that can assist the
`user devices to seamlessly switch between programs. A user
`device will send a request to receive a certain program if that
`program is not included within the hub multiplex that is
`provided to the user device. The content information can
`include various information such as carrier frequency and
`modulation that can assist the user device to switch between
`
`programs. Conveniently, the user device sends an indication
`when is switches to another program, even if that program,
`belongs to the received multiplex. This enables the headend to
`track the viewing patters of the users. According to another
`embodiment of the invention the indication is not sent if the
`
`program is defined as a static program.
`In order to reduce bandwidth the content information can
`be sent in a differential manner. Differential content informa-
`
`tion messages can indicate differences between a previously
`transmitted program multiplex and a currently transmitted
`program multiplex.
`According to another embodiment of the invention the
`headend 20 can determine whether to send content informa-
`
`tion messages or differential content information messages.
`The determination can be responsive to the amount of
`changes between the pervious and current program multi-
`plexes. For example, if more than half of the programs are
`replaced simultaneously then the content information mes-
`sages can be smaller than the differential content information
`messages.
`FIG. 7 illustrates a content information table 200 according
`to an embodiment ofthe invention. Content information table
`
`200 includes a list of programs that are included within the
`program multiplex as well as multiple associated parameters.
`These parameters can include, for example, the program
`name, tuning frequency, modulation type, program identifi-
`cation field (such as an MPEG compliant PID), and program
`type (switched, static, and the like).
`FIG. 8 illustrates a differential content information mes-
`
`sage 131 according to an embodiment of the invention. Dif-
`ferential content information message 131 is transmitted at
`T3 and indicates that the second program 102 is removed
`(program type is ‘REMOVED’) and that program R 110 is
`provided. The parameters of program R 110 are included
`within the differential content information mes sage 131.
`The content information can also determine the type of
`programifor example whether the program is static or
`switched. In the former case the user devices knows that the
`
`program will not be replaced, and thus can ignore program
`removal information if it is tuned to than program.
`According to an embodiment of the invention headend 20
`can receive user viewing indications about users viewing
`related operations (gathered by the user device) and try to
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`8
`estimate the viewing patterns of the user and/or generate
`viewing statistics. The statistics and/or viewing patterns can
`be used by headend 20 to decide which programs to remove
`from a program multiplex and which program to add to the
`program multiplex.
`FIG. 9 illustrates a program viewing table 230 according to
`an embodiment of the invention. Table 230 includes four
`columns 232-238. The first column 232 includes the names of
`
`the programs, the second column includes the amount of
`users that are viewing the program (or at least an estimate of
`their number), the identity of user devices that are tuned t