`Case 5:l5—cv—O2008—EJD Document 81-3 Filed 03/29/16 Page 1 of 35
`
`
`
`EXHIBIT 2
`
`EXHIBIT 2
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 2 of 35
`
`US007055169B2
`
`(12) United States Patent
`Delpuch et a].
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 7,055,169 B2
`May 30, 2006
`
`(54)
`
`(75)
`
`SUPPORTING COMMON INTERACTIVE
`TELEVISION FUNCTIONALITY THROUGH
`PRESENTATION ENGINE SYNTAX
`
`Inventors: Alain Delpuch, Les Essarts le Roi
`(FR); James Whitledge, Naperville, IL
`(US); Jean-Rene Menand, Los Altos,
`CA (US); Emmanuel Barbier, Paris
`(FR); Kevin Hausman, Naperville, IL
`(US); Debra Hensgen, Redwood City,
`CA (US); Dongmin Su, Santa Clara,
`CA (US)
`
`(73)
`
`Assignee: OpenTV, Inc., San Francisco, CA (US)
`
`(*)
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 160 days.
`
`(21)
`
`(22)
`
`(65)
`
`(60)
`
`(51)
`
`(52)
`
`(58)
`
`Appl. No.: 10/419,621
`
`Filed:
`
`Apr. 21, 2003
`(Under 37 CFR 1.47)
`
`Prior Publication Data
`
`US 2004/0139480 A1
`
`Jul. 15, 2004
`
`Related US. Application Data
`
`Provisional application No. 60/373,883, ?led on Apr.
`19, 2002.
`
`Int. Cl.
`(2006.01)
`H04N 7/173
`(2006.01)
`H04N 7/16
`US. Cl. ...................... .. 725/100; 725/91; 725/138;
`725/ 139
`Field of Classi?cation Search ................ .. 725/91,
`725/100, 109, 112, 135, 139; 709/217, 223,
`709/225, 226, 231; 710/48, 266
`See application ?le for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,790,198 A
`6,184,878 B1
`
`8/1998 Roop et :11.
`2/2001 Alonso et a1.
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`0 839 599 A2
`
`4/1998
`
`(Continued)
`OTHER PUBLICATIONS
`
`“CSS3 Module: The Box Model”; W3C Working Draft, Jul.
`26, 2001; This version: http://WWW.W3.org/TR/2001/WD
`css3-box-20010726; Latest version: http://WWW.W3.org/TR/
`css3-box; Editor: Bert Bos; Copyright © 2001 W3C® (MIT,
`INRIA, Keio); pp. 1-104.
`Primary ExamineriKieu-Oanh Bui
`(74) Attorney, Agent, or FirmiMeyertons Hood Kivlin
`KoWert & GoetZel, P.C.; Rory D. Rankin
`
`(57)
`
`ABSTRACT
`
`A method and mechanism for enabling the creation and/or
`control of interactive television content using declarative
`like directives such as HTML, scripting languages, or other
`languages. A a centrally located proxy server is con?gured
`to receive, transcode and convey transcoded Web based
`content to client devices. Upon detecting directives Which
`indicate particular resources required for a presentation are
`prerequisites, the proxy server conveys signals to a client
`device that these particular resources are prerequisites. In
`response to receiving the conveyed signals, the client device
`may take actions to prefetch these resources. The client
`device is further con?gured to prohibit initiation of the
`presentation until the prerequisite resources are acquired.
`
`23 Claims, 5 Drawing Sheets
`
`Pmxy receives
`presentation
`dlrec?ves
`£02
`
`Prerequisite
`directives detected?
`1%
`
`Convey
`presentation
`dira?iVOS
`to client
`515
`
`Con
`'ng
`corresp
`indication to client
`5.0g
`
`clienr
`has prerequisite
`resources?
`
`Prefeldv
`Resources
`.510
`
`Proxy conveys
`presenm'nn
`directives in cllsnl
`L2
`
`uisites
`obtained’,
`M
`
`is permitted
`a
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 3 of 35
`
`US 7,055,169 B2
`Page 2
`
`US. PATENT DOCUMENTS
`Peyer
`Booth
`Meier et a1.
`Ladd et a1.
`Ben-Shaul et a1. ....... .. 709/247
`
`6,188,401 B1
`6,345,307 B1
`6,415,303 B1
`6,539,359 B1
`2002/0010798 A1*
`2002/0088011 A1*
`
`2/2001
`2/2002
`7/2002
`3/2003
`1/2002
`7/2002
`
`2002/0194219 A1* 12/2002 Bradley et a1. ........... .. 707/506
`
`FOREIGN PATENT DOCUMENTS
`
`GB
`W0
`
`2 332 803
`WO 02/17639 A2
`
`6/1999
`2/2002
`
`* cited by examiner
`
`Larnkin et a1. ........... .. 725/142
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 4 of 35
`Case 5:15—cv—O2008—EJD Document 81-3 Filed 03/29/16 Page 4 of 35
`
`U.S. Patent
`
`M
`
`5
`
`US 7,055,169 B2
`
`6._0_mINI3._mu_Emcm._._.3WmoSow
`
`1_9t_couflwgmmoumofi%Hon._1
`MHI
`gm“>x_mN.n_Qm._m>_mowm_moezom
`
`com2.m>_¢omm_
`
`2:
`
`IIIIIII| llflguKCwo5om..mEmE_
`
`8.
`
`mm;
`
`
`
`Eccmcoxomm
`
`3
`
`
`mo._:owVm
`34.............iw---
`
`
`__._._...._.___J
`
`I_.GE2IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIn
`
`mo._:om4
`
`
`
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 5 of 35
`Case 5:15—cv—O2008—EJD Document 81-3 Filed 03/29/16 Page 5 of 35
`
`U.S. Patent
`
`hS
`
`US 7,055,169 B2
`
`
`6IM3m2,wacgmo%_>B_E_<
`ImEmYSmmmooi
`
`
`
`“MaEmaC._3mW_
`
`5N...af59m0Io.|08II2w:o=m.oE:EEooomm
`eu
`
`
`Em:._m:omEommMv_._o>a.mzoh.oxo_%._:_>_m:_mmmo.o_n_Emzcoommmnflmo
`
`
`
`.2om.E_Emnm«o_>_
`
`olmm
`
`
`
`_o::m;oxomm
`
`
`
`WMonzsom_mE2xm_
`
`ml?
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 6 of 35
`Case 5:15—cv—O2008—EJD Document 81-3 Filed 03/29/16 Page 6 of 35
`
`U.S. Patent
`
`US 7,055,169 B2
`
`><
`
`
`
`omfimtoamcmfi
`
`EmEoi
`
`mm?80..
`
`
`
`_m::m:o:‘:.fi@W_
`
`
`
`
`«Wma_em;m_uu_E.03mo_“Mammmum_
`5H.m<0_3ww_
`aw_H82_w_.__mcm
`0:_vvor_Eo_..._
`m_.__wmmo9_n_”once_mmwmwm_>_“6_COZ.mH_.mW>m_%_n_:_.5_ob_._o0@“wmmo.nmo.mo\_.
`
`
`Eo_%os_
`
`O:Em:
`
`m.0_n_
`
`mom.cwE_O:
`
`oz:
`
`__H
`
`
`
`
`
`
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 7 of 35
`Case 5:15—cv—O2008—EJD Document 81-3 Filed 03/29/16 Page 7 of 35
`
`U.S. Patent
`
`600
`
`4mhS
`
`5
`
`US 7,055,169 B2
`
`WEmm<Em:
`
`359$9893B6:W_mmmcmE
`
`
`umo_EsoDamM.ommcmE_mm:o.m.o
`
`xonqo._.-_.mm
`
`
`
`w_om:2mo>m>>-w:O
`
`No...
`
`Em_umwI
`
`Mn:\n_O._.n_Eve
`
`n_._.._.I
`
`n_._.t._
`
`Ev
`
`Lwamw590
`
`V.O_u_
`
`
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 8 of 35
`
`U.S. Patent
`
`May 30, 2006
`
`Sheet 5 0f 5
`
`US 7,055,169 B2
`
`Proxy receives
`presentation
`directives
`5_02_
`
`Prerequisite
`directives detected?
`5_04.
`
`Convey
`presentation
`directives
`to client
`§1§
`
`Presentation
`is permitted
`iii
`
`Convey
`corresponding
`indication to client
`E
`
`Client
`has prerequisite
`resources?
`Q1
`
`Prefetch
`Resources
`1Q
`
`Proxy conveys
`presentation
`directives to client
`w
`
`prerequisites
`obtained?
`5_1A
`
`FIG. 5
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 9 of 35
`
`US 7,055,169 B2
`
`1
`SUPPORTING COMMON INTERACTIVE
`TELEVISION FUNCTIONALITY THROUGH
`PRESENTATION ENGINE SYNTAX
`
`Priority of provisional application No. 60/373,883, ?led
`on Apr. 19, 2002 is claimed under 35 U.S.C. §§ 119(a)*(e)
`
`BACKGROUND OF THE INVENTION
`
`1. Field of the Invention
`The invention relates generally to interactive television
`systems and more particularly to a system and method for
`creating and controlling interactive television content.
`2. Description of Related Art
`Interactive television systems provide a means to deliver
`interactive content as Well as ordinary television audio and
`video to a large number of subscribers. Programs broadcast
`by these systems may incorporate television audio and
`video, still images, text, interactive graphics and applica
`tions, and many other components. They may also provide
`a number of services, such as commerce via the television,
`electronic program guides (EPGs), video-on-demand, and
`other interactive applications to vieWers. The interactive
`content of the interactive television signal may therefore
`include application code, data associated With the audio and
`video, control signals, raW data and many other types of
`information. This information can be combined into a single
`signal or several signals for transmission to a receiver
`connected to the vieWer’s television or the provider can
`include only a subset of the information.
`The interactive functionality of the television is generally
`controlled by an integrated receiver/decoder (IRD) or simi
`lar mechanism, frequently incorporated into a set-top box,
`connected to the television. The IRD receives the signal
`provided by a broadcast service provider or system operator
`and separates the interactive portion from the audio-video
`portion. The IRD uses the interactive information to, for
`example, execute an application While the audio-video infor
`mation is transmitted to the television. The IRD may com
`bine the audio-video information With interactive graphics
`or audio generated by the interactive application prior to
`transmitting the information to the television.
`Interactive content such as application code or informa
`tion relating to television programs may be broadcast in a
`cyclical or repeating format. The pieces of information
`Which are broadcast in this manner form What may be
`referred to as a “carousel.” A carousel may include multiple
`modules of data, including a directory module Which indi
`cates the particular modules Which correspond to a given
`application. Frequently, a single carousel is transported as a
`contiguous data stream. HoWever, it is also possible to
`multiplex tWo or more carousels in a single data stream. As
`an alternative to using a carousel format, some systems may
`utiliZe a return path to request and/or receive interactive
`content.
`Broadcast systems may transmit information in a carousel
`format in order to alloW receivers in the system to selectively
`obtain particular pieces of information in the carousel With
`out requiring a return path from the receivers to the server.
`If a particular receiver needs a particular piece of informa
`tion, it can simply Wait until the next time that piece of
`information is broadcast, and then extract the information
`from the broadcast data stream. By employing carousels to
`broadcast information, the system may eliminate the need to
`connect each of the receivers With a server and further
`eliminate the need for the server to process individual
`requests for information.
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`The pieces of information, or data objects, in a carousel
`may be intended to be combined in a single object data
`stream to form a program. This program may also contain
`streaming data such as audio or video. For example, an
`interactive television game shoW may combine television
`audio and video With interactive content such as application
`code Which alloWs users to ansWer questions. Another
`example Would be a neWs program Which combines audio
`and video With application code that inserts current stock
`prices in a banner at the bottom of the screen. Typically, each
`program is associated With a corresponding channel and,
`When a channel containing a particular program is selected
`by the interactive television receiver, the data Which is being
`broadcast on that channel is doWnloaded and the program is
`started.
`As television receivers become more sophisticated, and
`include the ability to access a Wider range of data and
`resources, efforts have been made to develop mechanisms to
`handle these additional resources. For example, the DVB
`MHP 1.1 speci?cation and DAVIC 1.4.1 Part 9 speci?cation
`de?ne a URL scheme to access broadcast services. Since
`DAVIC broadcast netWorks carry Service Information (SI)
`that contains globally unique parameters for locating the
`services in a broadcast network, their URL scheme is able to
`address services in a physical netWork independent manner.
`Unfortunately, such schemes may not Work on ATSC
`netWorks or other netWorks that de?ne different or even
`proprietary signaling formats. Therefore, a neW more ?ex
`ible scheme is desired.
`
`SUMMARY OF THE INVENTION
`
`A method and mechanism are described Which enable
`content authors to use directives, such as HTML, scripting
`languages, or other languages, With television extensions to
`create and/or control interactive television content. The
`method and mechanism may be utiliZed With digitally
`recorded programs as Well as With live broadcasts.
`In one embodiment, a device in an interactive television
`system is con?gured to receive one or more directives
`provided by a content author Which describe or otherWise
`indicate an audio and/or video presentation. Included among
`these directives are one or more directives Which indicate
`that a particular subset of resources required for the presen
`tation are deemed prerequisites. In response to detecting
`these directives, the providing of the presentation is With
`held until the prerequisite resources are obtained.
`In one embodiment, the directives are received by a
`centrally located proxy server Which may be con?gured to
`receive, transcode and convey transcoded Web based content
`to client devices. Upon detecting directives Which indicate
`prerequisite resources for a presentation, the proxy server
`separately conveys to the client devices signals, or some
`other indication, that these resources are prerequisites. In
`response, the client device receiving the conveyed signals
`may take actions to prefetch these resources.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG. 1 is a diagram of one embodiment of a broadcast
`television system.
`FIG. 2 is a diagram of one embodiment of a headend.
`FIG. 3 is a block diagram of one embodiment of a client
`device.
`FIG. 4 is a diagram of one embodiment of a television
`system.
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 10 of 35
`
`US 7,055,169 B2
`
`3
`FIG. 5 illustrates one embodiment of a method utilizing
`prerequisite directives.
`
`DETAILED DESCRIPTION
`
`0. System Overview
`Referring to FIG. 1, one embodiment of a television
`system 100 is shoWn. In the embodiment shoWn, receiving
`devices 30 are coupled to several sources of programming
`and/ or interactive content. Each of receiving devices 30 may
`comprise any suitable device, such as a set-top box (STB),
`a television (TV), a video cassette recorder (VCR), a digital
`video recorder (DVR), a personal digital assistant (PDA), a
`personal computer (PC), a video game console, or a mobile/
`cell phone.
`Included in the embodiment of FIG. 1 is a broadcast
`station 16 coupled to receiver(s) 30 via a transmission
`medium 17 and back channel 26. In addition, receiver(s) 30
`are coupled to a source 18 and source 19 via a netWork 20.
`Further, broadcast station 16 is coupled to a remote source
`13, and Internet 60. In the embodiment shoWn, broadcast
`station 16 includes sources 14 and 15 and transmitter 22.
`Transmission medium 17 may comprise a satellite based
`system 23, a cable based system 24, a terrestrial or multiple
`multi-point distribution service (MMDS) based system 25, a
`combination of these systems, or some other suitable system
`of transmission.
`In the embodiment of FIG. 1, broadcast station 16 may
`include a variety of sources of content 14, 15, and 60 to be
`utiliZed and conveyed by transmitter 22. Content sources 14
`and 15 may include databases, application servers, other
`audio/video sources, or other data sources. In one embodi
`ment, content may be created at a source 14 Which may
`include an authoring station con?gured to create such con
`tent. An authoring station may include a computer Worksta
`tion con?gured With softWare Which aids in the development
`of interactive content. An authoring station may be part of
`broadcast station 16 in Which case the conveyance of the
`created content may be through a local computing netWork,
`or similar con?guration. Alternatively, an authoring station
`may be remotely located 13 from broadcast station 16. In an
`embodiment Where authoring station is not directly coupled
`to broadcast station 16, the content created by a source 13
`may be conveyed to broadcast station 16 via Internet,
`broadcast, cable, etc. In some cases, content created by at a
`remote location 13 may ?rst be transferred to a storage
`medium, such as a CD-RW, DVD, or ?ash memory device,
`and transported to broadcast station 16 via more conven
`tional means Where it may be stored in a database or other
`storage device.
`Subsequent to its creation, content from sources 13, 14, 15
`and 60 may be delivered to receiver(s) 30 through a broad
`cast transmission netWork. This netWork consists essentially
`of broadcast station 16 Which assembles the content from
`sources 13, 14, 15 and 60 and processes the content as
`appropriate (e.g., digitiZes, compresses, packetiZes), and a
`transmission netWork 17 Which receives the content 40 from
`broadcast station 16 and conveys it 42 to receiving device(s)
`30. In one embodiment, broadcast station 16 includes soft
`Ware and/or hardWare Which is con?gured to process the
`content conveyed by sources 13, 14, 15 and 60 as described
`above. A second delivery mechanism may include a direct
`point-to-point connection 138 betWeen receiver(s) 30 and
`source 18 Which may be some type of server. This connec
`tion 138 may be made via an ordinary telephone line, cable,
`Wireless, or otherWise. Athird delivery mechanism may also
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`be a point-to-point connection 136, but transmission of the
`content from a source 19 to receiver(s) 30 is made via one
`or more shared netWorks (e.g., over the Internet).
`FIG. 1 also illustrates broadcast station 16 may be option
`ally coupled to source 18 and/or source 19. Such a coupling
`may enable broadcast station 16 to Work cooperatively With
`source 18 or source 19 in conveying content to receiver(s)
`30. Also illustrated in FIG. 1 is a back channel (or return
`path) 26 by Which receiver(s) 30 may convey to and/or
`receive data from broadcast station 16. Back channel 26 may
`comprise a telephone line, cable, Wireless, or other connec
`tion.
`One delivery mechanism, the direct point-to-point con
`nection to a source of content, may comprise communica
`tion via an ordinary telephone line. This type of connection
`is typically initiated by the receiver(s) 30 to convey infor
`mation to, or retrieve information from, a data server.
`Another delivery mechanism, the point-to-point connection
`through one or more netWorks, may comprise a typical
`connection betWeen nodes on the Internet. Because data may
`be routed through many different shared netWorks in this
`case, it may be read, stored and Written many times as it is
`transmitted from source 19 to receiver(s) 30. The third
`delivery mechanism may include a satellite, cable or terres
`trial broadcast netWork 17. Information may be transmitted
`from and to receiver(s) 30 both in real time or store and
`forWard.
`In one embodiment, broadcast station 16 further includes
`a proxy server 21 Which is con?gured to transcode received
`content to a format compatible With one or more of client
`devices 30. For example, proxy 21 may receive Web based
`content including directives Written in HTML, JavaScriptTM
`(JavaScript is a trademark of Sun Microsystems, Inc), CSS,
`or other languages, and transcode the received content to a
`format compatible With clients 30. In alternative embodi
`ment, clients may be con?gured to directly process such
`directives. In such a case, proxy 21 may be con?gured to
`perform certain types of preprocessing of the content prior
`to conveyance to the clients.
`Turning noW to FIG. 2, an overvieW of one embodiment
`of a broadcast station (head-end) 16 is shoWn. The broadcast
`station 16 of FIG. 2 includes an application server 250 and
`a database 230 Which may contain previously created inter
`active content. Also shoWn in FIG. 2 is a source 13 of
`content (e.g., the Internet) Which is external to broadcast
`station 16 and coupled to broadcast station 16. Database
`230, server 250, Internet 60, and source 13 are coupled to a
`content processing mechanism 200 Which is con?gured to
`process the content received and convey the processed
`content to a multiplexor 220. In the exemplary embodiment
`of FIG. 2, proxy server 21 includes server 250 and process
`ing mechanism 200.
`In one embodiment, content processing mechanism 200
`comprises a computer coupled to receive and convey content
`from source 13, database 230, or server 250. Processing
`mechanism 200 is con?gured to convey the processed
`content to multiplexor 220. Multiplexor 220 is also coupled
`to receive audio/video signals 240. Multiplexor 220 multi
`plexes the received signals and conveys the multiplexed
`signal to netWork communications operator 17 Where it is
`subsequently conveyed to a receiving device. As noted
`above, proxy 21 may be con?gured to process received
`content prior to conveying the content to client devices. For
`example, proxy 21 may be con?gured to receive requests
`from clients for Web based content, obtain the requested
`content, and transcode the received content to an alternate
`format prior to conveyance to the requesting client. Finally,
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 11 of 35
`
`US 7,055,169 B2
`
`5
`in addition to the above, broadcast station 16 includes a
`return data processor 210 coupled to back channel 26. In one
`embodiment, return data processor 210 may comprise a
`modem Which receives data for further processing Within
`broadcast station 16.
`While the above description describes a source of inter
`active content as being at a broadcast station 16, in an
`alternative embodiment database 230 and content process
`ing mechanism 200 may reside at the location of a netWork
`communications operator 17. An example of such an alter
`native embodiment may be a cable station Which inserts
`interactive content into a broadcast signal prior to transmis
`sion. Numerous such alternatives are possible and are con
`templated.
`Turning noW to FIG. 3, one embodiment of a receiving/
`initiating device 1012, hereinafter referred to as a “client” is
`shoWn. While FIG. 3 illustrates the client 1012 in the form
`of a set top box 1012, client 1012 may comprise other
`devices as Well. Generally speaking, client 1012 is con?g
`ured to receive a ?rst signal 1070, such as a broadcast signal,
`and convey a second signal 1080, such as to a display or
`recording device. While in the embodiment shoWn, client
`1012 is shoWn coupled to an external mass storage device
`1018, such storage may be internal to the client 1012 itself.
`Client 1012 includes a control unit 1030, front end 1026,
`return channel 1038, transport stage 1028, and AV stage
`1034. Also represented in FIG. 3 is a memory 1080 Which
`includes OS and/or middleWare 1044, message processing
`engine 1036, and applications 1042. Also shoWn is an I/O
`interface 1040 and conditional access (CA) module(s) 1032.
`I/O interface 1040 may be con?gured to detect user inter
`action via a remote control, keyboard, or other device.
`Control unit 1030 may comprise a microprocessor, memory
`(e.g., RAM), and other components Which are necessary to
`perform ordinary general purpose computing.
`In one embodiment, applications 1042, OS/middleWare
`1044, CA module(s) 1032, and message processing engine
`1036 comprise code Which may be stored in a memory
`device of set-top box 1012. Additionally, CA module(s)
`1032 may comprise system softWare con?gured to control
`access to particular programs or services Which are acces
`sible by set-top box 1012. While message processing engine
`1036 is shoWn as program code Which may be stored in
`memory 1090 and executed by control unit 1030, it is
`understood that other embodiments are possible and are
`contemplated. For example, message processing engine
`1036 may comprise circuitry or a combination of hardWare
`and softWare. For example, message processing engine 1036
`may comprise a processing device executing program
`instructions. Further, message processing engine 1036 may
`be con?gured as an external device Which may be coupled
`to a receiving unit. For example, such an external device
`may comprise an expansion module Which is con?gured to
`add message processing functionality to a preexisting
`device.
`Generally speaking, client 1012 is operable to receive and
`decompress signals Which may include digital data. The
`decompressed signals may be converted into analog signals
`such as PAL, SECAM, or NTSC format signals for televi
`sion display, or may be in digital format for use by a digital
`television display. As shoWn in FIG. 3, client 1012 includes
`front end circuitry 1026 operable to receive audio, video,
`and other data from a received signal 1070. The received
`signal 1070 is fed into the client 1012 at the front end 1026,
`Which may comprise an analog to digital (A/D) converter
`and tuner/demodulators (not shoWn). Front end 1026 may
`select and pass a particular frequency, demodulate it, and
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`convert analog signals to a digital format. While analog data
`may be converted to digital data, as noted above a received
`signal may comprise digital data Which may require no such
`conversion. The digitiZed output may then be conveyed to a
`transport stage 1028 Which further processes the data, con
`veying a portion of the data to an audio-visual (AV) stage
`1034 for display and another portion to control processor
`1030. In addition, CA module 1032 may receive data from
`transport stage 1028 and may conditionally convey a
`descrambled or other signal to AV stage 1034. Signaling and
`control information may also be included in the broadcast
`along With the audio-video data and may be manipulated by
`softWare Within the client 1012.
`Audio-video signals and program control signals received
`by the client 1012 may include television programs, meta
`data, and menu selections accessible by a vieWer through a
`user interface, as Well as applications that may be executed.
`A vieWer may control the client 1012 in a variety of Ways,
`including through an infrared remote control unit, a control
`panel on the client, or a device that is used to choose from
`a menu displayed on the television screen. Selections and
`entries made by the vieWer may be intended for one or more
`of several applications that are executing on the client. As
`mentioned above, broadcast signals 1070 are received via
`front end 1026 and are ?ltered by transport stage 1028.
`Unicast or multicast signals may generally be received via
`return channel 1038. Applications 1042 Which execute on
`the client 1012 may arrive there in a variety of Ways. For
`example, applications may be received via a broadcast signal
`1070, via the return channel resource interface 1038, or via
`storage device 1018. Applications received via storage
`device 1018 may have been shipped originally With the
`client 1012 or may have been doWnloaded previously from
`another source and stored on storage 1018.
`In one embodiment, client 1012 may be con?gured as a
`digital set top box for use With a satellite receiver or satellite
`integrated decoder/receiver that is capable of decoding
`MPEG video, audio, and data. For example, client 1012 may
`be con?gured to receive digital video channels that support
`broadband communications using Quadrature Amplitude
`Modulation (QAM), Quadrature Phase Shift Keying
`(QPSK), Coded Orthogonal Frequency Division Multiplex
`ing (COFDM), or 8-vestigial side band (VSB), and to
`control channels for tWo-Way signaling and messaging. The
`digital channels may carry compressed and encoded multi
`program MPEG (Motion Picture Expert Group) transport
`streams. Transport stage 1028 extracts the desired program
`from the transport stream and separates the audio, video, and
`data components, Which are routed to devices that process
`the streams, such as one or more audio decoders, one or
`more video decoders, and optionally to RAM (or other form
`of memory) or a hard drive. It is to be understood that the
`client 1012 and storage device 1018 (as Well as any data and
`signals from the broadcast service provider) may be con?g
`ured to accommodate analog, digital, or both analog and
`digital data. For storage of received analog data, conversion
`to digital format may be performed.
`Storage device 1018 is optionally coupled to the client
`1012 and may be con?gured to store video, audio, execut
`able code, metadata, and other data. Storage device 1018
`may be internal to client 1012 or connected externally (e.g.,
`through an IEEE l394il995 connection) With either a
`permanent connection or a removable connection. Further,
`storage device 1018 may comprise any suitable type of
`storage, such as a hard disk drive, a recordable DVD drive,
`magnetic tape, optical disk, magneto-optical disk, ?ash
`memory, or solid state memory. In addition, more than one
`
`
`
`Case 5:15-cv-02008-EJD Document 81-3 Filed 03/29/16 Page 12 of 35
`
`US 7,055,169 B2
`
`7
`storage device such as device 1018 may be attached to the
`client 1012. The client 1012 and/or storage device 1018 may
`further be incorporated into a television set. Executable data,
`such as program instructions, Which is stored Within storage
`device 1018 may be retrieved and executed. In one embodi
`ment, retrieved data may be executed or otherWise utiliZed
`in synchroniZation With other applications or received sig
`nals, for example corresponding to a game shoW, commer
`cial, or Internet based on-line game. Alternatively, retrieved
`data may be executed or utiliZed independently, such as for
`video-on-demand, banking, e-mail, a Web broWser, or an
`electronic program guide (EPG).
`It is to be understood that the client 1012 and system 100
`described herein are intended to be exemplary only. Broad
`cast netWork system 100 and client 1012 may be different
`than described herein Without departing from the scope of
`the invention. Further, various components depicted in the
`client 1012 of FIG. 3 may be combined, such as the
`placement of the integration of storage device 1018 Within
`client 1012. Numerous alternatives are possible and are
`contemplated.
`1. Application Model and Life Cycle
`Generally speaking, an interactive television application
`may start in either a maximiZed state or a minimized state,
`depending upon hoW it is authored. Signaling in the direc
`tory may indicate to the system Whether the application is
`starting in the minimiZed state or the maximiZed state. From
`a system’s perspective, the difference betWeen the mini
`miZed state and the maximiZed state is that applications
`Which are in the minimized state may not receive a noti?
`cation When a vieWer presses keys. Alternatively, When in a
`maximiZed state, applications may present a ?lter to the
`system that tells the system to notify them When keys
`designated in the ?lter are pressed. While not necessarily
`required, an application executing in a minimiZed state
`typically reduces its usage of resources. For example, it may
`present an icon on the screen rather than extended graphics.
`In addition to the above, an application running in either
`a minimiZed state or a maximiZed state may be suspended.
`Upon suspension, an application is not generally noti?ed,
`but rather no cpu time is allocated to the application. At the
`termination of the suspension, an application returns to the
`state it Was in prior to suspension. In either case, the system
`may invoke a function in the application to notify that
`application that it had been suspended so that it may take any
`actions necessary to ensure internal consistency.
`Applications may terminate normally or may be asked by
`the system to terminate, for example, if a neW application
`appears in the broadcast stream. Because an application may
`be in a state Where termination Would be disruptive to the
`vieWer, the application may deny a request to terminate
`immediately. For example, a vieWer may be in the middle of
`an online transaction to purchase an advertised product.
`When an application does terminate, the system is noti?ed
`so that it can determine, typically Working together With the
`netWork-provided control task, Which application to execute
`next.
`Transitions betWeen states may be responses to a variety
`of stimuli including broadcast signaling, vieWer button
`presses, and decisions made by the system or the applica
`tions themselves. As noted above, the initial state of an
`application may be determined by broadcast signaling. A
`button press may be used to cause an application to move
`from the minimiZed state to the maximiZed state. The
`application itself may decide When to transition to the
`terminated state and When to transition to the minimiZed
`
`50
`
`55
`
`60
`
`65
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`8
`state. The system may suspend an application in order to
`execute another application. Further, broadcast signaling can
`cause the system to request that an application exit.
`While the life cycle de?ned above may represent a default
`life cycle, modi?cations to the life cycle may be provided by
`calls in a netWork provider control task. For example, one
`need not even load an application until the vieWer responds
`With an appropriate button selection in response to the
`presentation of an icon. Further, the above life cycle may
`generally correspond to a model in Wh