`
`(12) United States Patent
`US 9,521,466 B2
`(10) Patent No.:
`Vasudevan et al.
`(45) Date of Patent:
`Dec. 13, 2016
`
`(54)
`
`(71)
`
`(72)
`
`METHOD AND DEVICE FOR RECEIVING
`AND PROVIDING PROGRAMS
`
`Applicants:Swaminatha Vasudevan, Palo Alto, CA
`(US); Pritesh Mukeshbhai Dave,
`Fremont, CA (US); Kumaraguru
`Dhandapani, Fremont, CA (US); Ran
`Oz, Modi’in (IL); Nery Strasman,
`Ramat Gan (IL)
`
`Inventors: Swaminatha Vasudevan, Palo Alto, CA
`(US); Pritesh Mukeshbhai Dave,
`Fremont, CA (US); Kumaraguru
`Dhandapani, Fremont, CA (US); Ran
`Oz, Modi’in (IL); Nery Strasman,
`Ramat Gan (IL)
`
`(73)
`
`Assignee: ARRIS Enterprises, Inc., Suwanee,
`GA (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 121 days.
`
`(21)
`
`Appl. No.: 14/507,329
`
`(22)
`
`Filed:
`
`Oct. 6, 2014
`
`(65)
`
`(63)
`
`Prior Publication Data
`
`US 2015/0026710 A1
`
`Jan. 22, 2015
`
`Related US. Application Data
`
`Continuation of application No. 13/591,015, filed on
`Aug. 21, 2012, now Pat. No. 8,855,139, which is a
`(Continued)
`
`Int. Cl.
`
`(51)
`
`H04] 1/00
`H04N 21/647
`
`US. Cl.
`
`(52)
`
`(2006.01)
`(2011.01)
`(Continued)
`
`(2013.01); H04N 21/2221 (2013.01); H04N
`21/235 (2013.01); H04N 21/23424 (2013.01);
`H04N 21/23608 (2013 .01); H04N 21/262 75
`(2013.01); H04N 21/435 (2013.01); H04N
`21/44222 (2013.01); H04N 21/4758 (2013.01);
`H04N 21/4 7202 (2013.01); H04N 21/63 71
`(2013.01); H04N 21/6377 (2013.01);
`(Continued)
`(58) Field of Classification Search
`CPC .............. H04N 21/0647; H04N 21/658; H04N
`21/6587; H04N 21/6371; H04N 21/6492;
`H04N 21/64738; H04N 21/6581
`USPC .......................................................... 370/486
`
`See application file for complete search history.
`
`(56)
`
`References Cited
`U.S. PATENT DOCUMENTS
`
`6,259,486 B1*
`
`7/2001 Mahvi ...................... H04N 5/44
`348/553
`2005/0229226 A1* 10/2005 Relan ..................... H04H60/33
`725/114
`
`* cited by examiner
`
`Primary Examiner 7 Sai-Ming Chan
`(74) Attorney, Agent, or Firm 7 Bart A. Perkins
`
`(57)
`
`ABSTRACT
`
`A method for providing programs, the method includes: (i)
`providing a program multiplex to multiple users device; (ii)
`considering a removal of at least one program from the
`multiplex in response to program viewing parameters; (iii)
`allowing 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 selectively transmit a program removal response.
`
`CPC
`
`H04N 21/64792 (2013.01); H04N 7/17318
`
`17 Claims, 13 Drawing Sheets
`
`
`
`Hub to user device'
`
`network
`31
`
`
`
`SONY - Ex.-1001
`
`1
`
`Sony Corporation - Petitioner
`
`SONY - Ex.-1001
`Sony Corporation - Petitioner
`
`1
`
`
`
`US 9,521,466 B2
`Page 2
`
`Related US. Application Data
`
`continuation of application No. 11/200,754, filed on
`Aug. 9, 2005, now Pat. No. 8,249,114.
`
`Provisional application No. 60/600,473, filed on Aug.
`10, 2004, provisional application No. 60/662,844,
`filed on Mar. 16, 2005.
`
`Int. Cl.
`H04N 7/173
`H04N 21/222
`H04N 21/234
`H04N 21/235
`H04N 21/236
`H04N 21/262
`H04N 21/435
`H04N 21/442
`H04N 21/4 72
`H04N 21/4 75
`H04N 21/63 77
`H04N 21/654
`H04N 21/658
`H04N 21/6587
`H04N 21/63 71
`US. Cl.
`
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`(2011.01)
`
`CPC ..... H04N 21/64738 (2013.01); H04N 21/654
`(2013.01); H04N 21/6581 (2013.01); H04N
`21/6582 (2013.01); H04N 21/6587 (2013.01)
`
`(60)
`
`(51)
`
`(52)
`
`2
`
`
`
`U.S. Patent
`
`Dec. 13, 2016
`
`Sheet 1 of 13
`
`US 9,521,466 B2
`
`83%Em:2as:
`
`5x85»:
`
`FmEDOE
`
`.....................................
`
`
`m88023$:mvwESEwEommcmEuconmoz
`
`I:.,lHmmW-"52%00>
`
`Emu?toqmcmc.
`
`aW‘__.mhommmooagum—2mi...wMMm
`
`4?4D
`‘“M‘{nm‘.mw
`.55252mm
`
`
`
`
`
`
`
`cmfiEESmm
`
`.umm
`
`aklrl
` ‘-I
`
`'4
`
`3
`
`
`
`
`
`U.S. Patent
`
`Dec. 13, 2016
`
`Sheet 2 of 13
`
`US 9,521,466 B2
`
`
`
`x850:83%Low:9as:
`
`rm
`
`uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
`
`xtxm28.5.50
`
`@v230E
`
`
`
` 3238EXbxm.353.5
`
`EE5EwEmmmcmE2::
`
`NmEDOE
`
`om
`
`x826:as:99698:
`
`.ONozmo<wI
`
`4
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 13, 2016
`
`Sheet 3 of 13
`
`US 9,521,466 B2
`
`295%.
`
`mm_9E8
`
`EIDDCI
`DUDE
`DUDE]
`
`
`
`mmEDOE
`
`ESxx}...
`
`5
`
`
`
`
`U.S. Patent
`
`3,1ceD
`
`m
`
`6
`
`31
`
`US 9,521,466 B2
`
`§§%§a
`_fimmDmvE
`
`Eh
`
`‘ak..r
`_aa‘_.oum
`
`IN
`
`.)—
`
`m58SEm‘A88,38
`
`EmEm
`
`MEEEE
`4Emm5m5m5atm5
`
`0$89»as:F,2Em:2{95.88::29582..
`
`cm
`
`52%00>
`
`mhw
`
`
`
`LE3€923Uni
`
`=0N
`
`EmEm
`
`338.58
`
`PE
`
`m5
`
`L983
`
`:35»
`
`
`
`ow=2.3::Egg:
`
`92
`
`6
`
`
`
`
`
`
`
`U.S. Patent
`
`D
`
`S
`
`US 9,521,466 B2
`
`a/B/w/
`
`\gMV,/SausammtgN/mcofiomm
`
`\
`
`\
`
`EbPB
`
`.xRomLmvom
`
`EmEb
`
`:ACow
`
`E.
`
`
`
`
`
`,EBEmEmmm5m5.559.wcofiomm552«595mm
`
`
`
`
`
`
`
` BA98$59.208.08MEmmsEMl»\EWE»m\Ea\
`
`
`
`mm559.9596mm
`
`
`
`E8
`
`Em‘85m_EB
`
`m5m5
`
`EEEEm5m._.wE
`
`mMEDQE
`
`mm
`
`
`
`cmmm:08Euucum.mm
`
`nnnnmnnun
`nnngmnnm
`manna
`umnum
`nnnnnunnu
`nnumunuu
`
`a E
`
`56959mm
`
`5%mw___2mwI4” 45JPd
`a.“5%259mm
`
`.mm
`
`
`
`nmEcmfi959mm
`
`
`
`
`
`mg“ma.N@
`
`
`
`#56“91.28
`
`52mmQO>
`
`mmAm“.8
`
`lb
`
`1..in2___2mm
`
`7
`
`
`
`
`
`
`
`
`
`
`tne
`
`23,1
`
`6
`
`31f06
`
`US 9,521,466 B2
`
`aw2:wEmaoaE:vEmaoa
`
`wEoEmaoaQ:m6985
`
`normEmaoamgmEmaoa
`
`.@8thSNm—3:.
`
`
`M:ofiEBEP69:8
`
`
`W82950:D_m>oE9
`
`mm:x:
`
`.vEmmi
`
`98.2
`
`m63:52
`
`©wm3©E
`
`8
`
`
`
`
`U.S. Patent
`
`eD
`
`3a1
`
`61
`
`teeh
`
`1f0
`
`US 9,521,466 B2
`
`SI
`7I
`500mm
`mat.2550mm0.Eéoomn.mn_>._.29.515005.>ozw30mmuwz_z:.~
`
`
`
`
`
`
`N.mmawi
`
`
`
`
`
`oomm._m_<._.ZO_._.<_>_mOn_z_._.zm_._.ZOO
`
`9
`
`
`
`U.S. Patent
`
`Dec. 13, 2016
`
`Sheet 8 of 13
`
`US 9,521,466 B2
`
`DmIot>>m
`
`Dm>O§mm
`
`._<Fzm_mwn_u=n_
`
`
`
`CNNzO_._.<s_mon_z_._.zm._.zoo
`
`mwmagm
`
`10
`
`10
`
`
`
`U.S. Patent
`
`Dec. 13, 2016
`
`Sheet 9 of 13
`
`US 9,521,466 B2
`
`
`zmmEEoz_>>m__>mum:$.meoz_>>m_>g58%.
`20.2528;ENE;
`
`
`
`
`
`
`8<3523mfizzéo8:85588EIEéooma
`
`am:8
`0mmNmm
`
`02$52.:
`
`
`
`flmzzéoomwzéo5035I«53.8%
`
`Eo>m_0t_
`
`
`
`
`
`avowévowmomfixszioomm
`
`
`
`
`
`omNwn_m<._.Oz_>>m=>_>_<m00mn_
`
`@MEDQE
`
`11
`
`11
`
`
`
`
`
`U.S. Patent
`
`023,
`
`h
`
`2B664.}125,9
`
`
`
`
`
`4'”HEOFFmw"Emhmoauggmumm.D.man:moo
`
`<$565*09.90
`
`
`
`mEEEEEEEEH.
`
`ma:mEmaoa8%m
`
`
`
` Bm:mooAMmmm.o:mtEmaoamama%“3333333!US_
`
`sIEmmDQEU:
`
`mEF9.
`
`
`
`AllI!.
`
`
`
`o:mEmaoi
`
`:2:Elmo
`
`0mm
`
`9vmSmack.
`
`12
`
`12
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 13, 2016
`
`Sheet 11 0f 13
`
`US 9,521,466 B2
`
`
`
`
`
`//a:n60ki:gook
`
`:wmawi
`
`wEF0:.e.
`
`
`
`a;
`
`
`
`L2moo8:622
`
`
`
`
`13
`
`13
`
`
`
`
`U.S. Patent
`
`Dec. 13, 2016
`
`Sheet 12 0f 13
`
`US 9,521,466 B2
`
`2%:39:2:yomamammgxowcu
`29563..
`
`83%
`
`own
`
`E38@5263Em:©5289
`
`
`852@5263
`
`5m:3m>szmmwaecoszEoE
`
`80:9on
`
`own
`
`83%
`
`9m
`
`23:92:2:9665:88995mmc§>oa
`
`
`
`
`
`“6355852coszBEE280mczmacmm
`
`xmazfiE
`
`own
`
`me55?382052m855985mg
`
`Emaoamg68.HmEREESmmatmpwcoo
`
`
`
`@5363Emaoa93832Exaast9:Eat
`
`899588
`
`omm
`
`cozmagmcoovo.Coawwhome:wcowmwm9.550m
`
`ovm
`
`
`
`986mm:_m9:65:5.9$523mEgEaau
`
`
`
`_m>oE25m:328223:0qu:_Emaoa
`
`328%:
`
`own
`
`
`E99526:m3$335.:
`
`822mg9:28928“m5Emhmoa98mayam@5852
`
`own
`
`
`
`
`
`conmEEEEmEoomEEEmcmb
`
`NFMEDQE
`
`Em
`
`14
`
`14
`
`
`
`
`
`
`U.S. Patent
`
`Dec. 13, 2016
`
`Sheet 13 of 13
`
`US 9,521,466 B2
`
`53m89.6.5qu
`
`$95.320:52“8:3.
`
`mEEmoa
`
`a?
`
`
`
`
`
`@52635m:mczsocom
`
`
`
`eczmccegEmuma
`
`9:2635m:3m>=mEmmmaQ
`
`20:9.onBEE
`
`8v
`
`9:8m_83%5m:9:
`
`03
`
`2mmagu:
`
`15
`
`Emacsm9368:
`“m59586;$088.:o>=ummEEEmcmb
`
`
`
`
`_m>oEEEmaoammc_=_Em:§29823
`
`8:86;_m>oEeEmaoam3289
`
`xm_q_=:E
`
`03.
`
`o?
`
`mmcoame
`
`o?
`
`15
`
`
`
`
`
`US 9,521,466 B2
`
`1
`METHOD AND DEVICE FOR RECEIVING
`AND PROVIDING PROGRAMS
`
`RELATED CASES
`
`This patent is a Continuation of US. patent application
`Ser. No. 13/591,015, entitled “Method and Device for
`Receiving and Providing Programs,” filed Aug. 21, 2012,
`which is a continuation of US. patent application Ser. No.
`11/200,754, entitled “Method and Device for Receiving and
`Providing Programs,” filed on Aug. 9, 2005, and issued on
`Aug. 21, 2012 as US. Pat. No. 8,249,114, which patent
`claims priority as a non-provisional of US. Provisional
`Patent Application Ser. No. 60/600,473 filed on Aug. 10,
`2004, and also claims priority as a non-provisional of US.
`Provisional Patent Application Ser. No. 60/662,844, filed on
`Mar. 18, 2005, entitled “Switched Broadcast Implementa-
`tion,” the entire disclosures of each of these applications are
`hereby incorporated by reference in their entirety.
`
`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,
`various 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 various compression schemes (such as but not limited to
`the MPEG compression standards) were developed. These
`techniques 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 Ser. No. 2005/0033342 of Rosetti et
`al., titled “Technique for providing a virtual digital video
`recorder service through a communication network”; US.
`patent application Ser. No. 2005/0120377 of Carlucci et al.,
`titled “Technique for effectively providing various entertain-
`ment services thorough a communication network”; PCT
`patent application WO2005/008419 of Compton el al., titled
`“Distributed and scalable architecture for on demand session
`and resource management”; PCT patent application publi-
`cation number WO2005/022796 of Krause et al.,
`titled
`“Advanced, adaptive video multiplexing system”; PCT pat-
`ent 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
`programs by users.
`
`SUMMARY OF THE PRESENT INVENTION
`
`A user device that includes a transceiver unit that is
`
`connected to a controller, wherein the device is adapted to:
`
`2
`
`(i) receive a program multiplex, (ii) receive an indication
`that at least one program is to be removed from the multi-
`plex; 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 gen-
`erate a program multiplex; and (ii) a management unit,
`connected 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
`indication; 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
`multiplex in response to program viewing parameters; (iii)
`allowing 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 embodi-
`ment 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 compo-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`16
`
`16
`
`
`
`US 9,521,466 B2
`
`3
`nents, 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 inven-
`tion 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
`multiplex. The device includes a media processor and a
`management unit. The media processor is adapted to gen-
`erate a program multiplex. The management unit is adapted
`to consider 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 of the 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 selec-
`tively 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
`
`configurations 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, encrypt-
`ing and the like.
`An exemplary broadband media router that has such
`media processing capabilities is described in U.S. Pat. No.
`6,434,141 of Oz et al., which is incorporated herein by
`reference. An exemplary method and device for generating
`delayed version of programs is described in U.S. 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 mul-
`tiplex are referred to as a user devices group.
`The media processor 21 is controlled by a headend
`management unit 26 that may determine which media pro-
`cessing operations to apply and also determine which pro-
`grams 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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`
`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 of the 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.
`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
`processing 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 man-
`agement 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
`management 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
`multiplex. 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
`viewing patterns, to expected viewing patterns, and/or to
`predefined criteria. Such a criteria can be responsive to a
`transmission 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 illustrated.
`
`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 messages and program removal response)
`are transmitted via the out-of-band path.
`
`17
`
`17
`
`
`
`US 9,521,466 B2
`
`5
`in-band
`includes a hub management unit 54,
`Hub 40'
`transmit/receive module (denoted “In-band RX/TX mod-
`ule”) 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 pro-
`grams should be included with a program multiplex. The
`hub management unit 54 can also define modulation char-
`acteristics, 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
`embodiment of the invention.
`
`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.
`
`The analysis of these signals can indicate if a 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
`signals, 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 trans-
`mission parameters such as tuner frequency, modulation and
`demodulation schemes and the like.
`
`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
`connected 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
`
`multiple content providers such as Video On Demand
`(VOD) 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
`connected 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
`networks 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 illustrated 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
`multiplex M2 and hub 40" provides hub multiplex M3.
`Headend 20 sends headend multiplex M0 to the three hubs.
`
`6
`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.
`
`Conveniently, headend 20 determines which program to
`remove from the multiplex M0, which program to add, when
`to send program removal indications, how to respond to
`program removal responses,
`to the reception or lack of
`receptions of active messages, and the like. It is noted that
`this is not necessarily so and other components (such as
`hubs) can perform some or all of these decisions, or par-
`ticipate (along with the headend or another component) in
`such a decision.
`
`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 back-
`bone infrastructure 84. The backbone infrastructure 84
`
`5
`
`10
`
`15
`
`20
`
`25
`
`includes multiple backbone routers 82. Second headend 21
`is connected to second node 43 via backbone infrastructure
`
`30
`
`35
`
`84. First node 41 is connected to multiple user devices
`80(1)"-80(9)" via HFC network 70". Second node 43 is
`connected to multiple 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 deter-
`
`mine 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
`programs 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 connected to HFC network 70 as well as those that are
`
`40
`
`connected to HFC network 70". According to another
`embodiment of the invention the first headend 20 can send
`
`receive program
`indications and/or
`program removal
`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
`indicates that headend 20 considers to remove second pro-
`gram 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.
`
`45
`
`50
`
`55
`
`60
`
`65
`
`18
`
`18
`
`
`
`US 9,521,466 B2
`
`7
`Headend 20 sends at T3 a differential content information
`
`8
`FIG. 8 illustrates a differential content information mes-
`
`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 of
`
`the 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,
`including 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.
`At T4 headend 20 sends to user devices 80(1)-80(9) a
`program removal indication (illustrated as flag 122) that
`indicates 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
`program 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
`programs 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 infor-
`
`mation messages can indicate differences between a previ-
`ously transmitted program multiplex and a currently trans-
`mitted program multiplex.
`According to another embodiment of the invention the
`headend 20 can determine whether to send content infor-
`
`mation messages or differential content information mes-
`sages. 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 informa-
`tion messages.
`FIG. 7 illustrates a content information table 200 accord-
`
`ing to an embodiment of the invention. Content information
`table 200 includes a list of programs that are included within
`the program multiplex as well as multiple associated param-
`eters. These parameters can include, for example, the pro-
`gram name, tuning frequency, modulation type, program
`identification field (such as an MPEG compliant PID), and
`program type (switched, static, and the like).
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`sage 131 according to an embodiment of the invention.
`Differential 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 message 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
`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