`Case 3:l6—cv—O2433 Document 1-9 Filed 05/04/16 Page 1 of 35
`
`
`
`EXHIBIT I
`
`EXHIBIT I
`
`
`
`
`
`
`
`Case 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 2 of 35
`°"‘Se3‘16'°”'°2433 D°°”me“i||||fi|||||i'|ifl||fl1iiI|i|fl|Ililliflifilfllililmlllllllllllll
`
`US007055l69B2
`
`(12) United States Patent
`Delpuch et al.
`
`(10) Patent No.:
`
`(45) Date of Patent:
`
`US 7,055,169 B2
`May 30, 2006
`
`(54)
`
`(75)
`
`SUPPORTING COMMON INTERACTIVE
`TELEVISION FUNCTIONALITY THROUGH
`PRESENTATION ENGINE SYNTAX
`
`(56)
`
`References Cited
`
`U. S. PATENT DOCUMENTS
`
`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)
`
`5,790,198 A
`6,184,878 B1
`
`8/1998 Roop et al.
`2/2001 Alonso et al.
`
`(Continued)
`FOREIGN PATENT DOCUMENTS
`
`EP
`
`0 839 599 A2
`
`4/1998
`
`(Continued)
`OTHER PUBLICATIONS
`
`(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)
`
`Appl. No.: 10/419,621
`
`(22)
`
`Filed:
`
`Apr. 21, 2003
`(Under 37 CFR 1.47)
`
`“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 Examiner—Kieu-Oanh Bui
`(74) Attorney, Agent, or Firm—Meyertons Hood Kivlin
`Kowert & Goetzel, P.C.; Rory D. Rankin
`
`(65)
`
`(60)
`
`(51)
`
`(52)
`
`(58)
`
`Prior Publication Data
`
`(57)
`
`ABSTRACT
`
`US 2004/0139480 A1
`
`Jul. 15, 2004
`
`Related U.S. Application Data
`
`Provisional application No. 60/373,883, filed on Apr.
`19, 2002.
`
`Int. Cl.
`
`(2006.01)
`H04N 7/173
`(2006.01)
`H04N 7/16
`U.S. Cl.
`...................... .. 725/100; 725/91; 725/138;
`725/139
`
`Field of Classification Search ................ .. 725/91,
`725/100, 109, 112, 135, 139; 709/217, 223,
`709/225, 226, 231; 710/48, 266
`See application file for complete search history.
`
`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 configured
`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 configured to prohibit
`initiation of the
`presentation until the prerequisite resources are acquired.
`
`23 Claims, 5 Drawing Sheets
`
`Pmxy receives
`presentation
`dlrecfivss
`£02
`
`
`
`
`
`
`
`Prerequisite
`
`directives detected?
`5.1!
`
`Conv
`correspon ' g
`indication to client
`.5_O§
`
` Client
`
`has prerequisite
`resouroes7
`
`
`
`
`
`
`
`Convey
`presentation
`directives
`
`to client
`51.6
`
`
`
`Proxy conveys
`presentation
`
`directives in client
`L2
`
`
`
`
`Presentation
`prerequisites
`is permittedE
`obtained’
`
`Efl
`
`
`
`
`
`
`
`
`Case 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 3 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/16 Page 3 of 35
`
`US 7,055,169 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`2002/0194219 A1* 12/2002 Bradley et al.
`
`........... .. 707/506
`
`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
`
`Peyer
`Booth
`Meier et a1.
`Ladd et a1.
`....... .. 709/247
`Ben-Shaul et a1.
`Lamkin et a1.
`........... .. 725/142
`
`FOREIGN PATENT DOCUMENTS
`
`GB
`W0
`
`2 332 803
`WO 02/17639 A2
`
`6/1999
`2/2002
`
`* cited by examiner
`
`
`
`Case 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 4 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/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._I
`
`MHI
`QM“>x_mN.n_Qm._m>_mowm_moezom
`
`com2.m>_¢omm_
`
`2:
`
`IIIIIII| llflguKCwo5om..mEmE_
`
`8.
`
`om;
`
`
`
`Eccmcoxomm
`
`gm
`
`
`mo._:owVm
`34.............fig---
`
`
`__._._...._.___J
`
`I_.GE2IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIn
`
`mo._:om4
`
`
`
`
`
`Case 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 5 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/16 Page 5 of 35
`
`U.S. Patent
`
`hS
`
`US 7,055,169 B2
`
`
`6IM3m2,wacgmo%_>B_E_<
`ImEmY._ommmoo._n_
`
`
`
`“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 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 6 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/16 Page 6 of 35
`
`U.S. Patent
`
`May 30, 2006
`
`Sheet 3 of 5
`
`US 7,055,169 B2
`
`
`
`3&5.o._.
`
`owe;
`
`><
`
`vmoFmmmum
`
`<o
`
`Eo_%os_
`
`
`
`omfimtoamcmfi
`
`mm?
`
`
`
`=_.5_ob_._oO
`
`one
`
`mom.cwE_O:
`
`oz:
`
`O:Em:
`
`m.0_n_
`
`EmEoi
`
`82
`
`
`
`_m::m:o:‘:.fi@W_
`
`m§$_%_E5;.mo
`
`3.2
`
`mmwmwm_>_
`
`
`
`w_.__mcm_m_.__wm¢o9_n_
`
`Eo_..._
`
`fimonmoi
`
`Seem
`
`E9
`
`
`
`
`
`
`
`
`
`Case 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 7 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/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 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 8 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/16 Page 8 of 35
`
`U.S. Patent
`
`May 30, 2006
`
`Sheet 5 of 5
`
`US 7,055,169 B2
`
`
`
`Proxy receives
`presentation
`directives
`
`Q.
`
`Prerequisite
`directives detected?
`
`
`
`5_()4.
`
`
`
`
`
`
`Convey
`corresponding
`indication to client
`
`E
`
`
`
`Client
`has prerequisite
`resources?
`
`
`
`M3.
`
`
`Convey
`
`Prefetch
`presentation
`directives
`Re5°”"°e5
`
`39-
`to client
`
`§1§
`
`
`
`
`Proxy conveys
`presentation
`directives to client
`
`E
`
`
`
`
`
`prerequisites
`obtained?
`
`QM
`
`FIG. 5
`
`Presentation
`
`is permitted
`flii
`
`
`
`Case 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 9 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/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, filed
`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
`
`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 charmel 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 specification and DAVIC 1.4.1 Part 9 specification
`define 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 define different or even
`
`proprietary signaling formats. Therefore, a new more flex-
`ible scheme is desired.
`
`SUMMARY OF THE INVENTION
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`A method and mechanism are described which enable
`
`35
`
`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 configured 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 configured 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.
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`eliminate the need for the server to process individual
`requests for information.
`
`FIG. 4 is a diagram of one embodiment of a television
`system.
`
`
`
`Case 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 10 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/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 configured to create such con-
`tent. An authoring station may include a computer worksta-
`tion configured 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 configuration. 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 first be transferred to a storage
`medium, such as a CD-RW, DVD, or flash 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 configured 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
`
`10
`
`15
`
`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 charmel 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 configured 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 configured to directly process such
`directives. In such a case, proxy 21 may be configured 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 configured 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 configured 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 configured to process received
`content prior to conveying the content to client devices. For
`example, proxy 21 may be configured 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 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 11 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/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 config-
`ured to receive a first 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 charmel 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 configured 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 configured 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 configured 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 configured 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
`
`10
`
`15
`
`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 filtered 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 charmel 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 configured 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 configured 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 charmels 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 config-
`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 configured 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 l394—l995 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,
`flash
`memory, or solid state memory. In addition, more than one
`
`
`
`Case 3:16-cv-02433 Document 1-9 Filed 05/04/16 Page 12 of 35
`Case 3:16—cv—O2433 Document 1-9 Filed 05/04/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 notifi-
`cation when a viewer presses keys. Alternatively, when in a
`maximized state, applications may present a filter to the
`system that
`tells the system to notify them when keys
`designated in the filter 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 notified,
`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 notified
`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
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`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 defined above may represent a default
`life cycle, modifications 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 which only