throbber
I lllll llllllll Ill lllll lllll lllll lllll lllll 111111111111111111111111111111111
`
`US007055169B2
`
`c12) United States Patent
`
`Delpuch et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,055,169 B2
`May 30, 2006
`
`(54) SUPPORTING COMMON INTERACTIVE
`TELEVISION FUNCTIONALITY THROUGH
`PRESENTATION ENGINE SYNTAX
`
`(75)
`
`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. 1 54(b) by 160 days.
`(21) Appl. No.: 10/419,621
`Apr. 21, 2003
`(22) Filed:
`(Under 37 CFR 1 .47)
`
`(65)
`
`Prior Publication Data
`
`US 2004/01 39480 Al
`
`Jul. 1 5, 2004
`
`Related U.S. Application Data
`
`(60)
`
`Provisional application No. 60/373,883, filed on Apr.
`19, 2002.
`
`(51 )
`
`(52)
`
`(58)
`
`Int. Cl.
`
`H04N 71173
`(2006.01)
`H04N 7116
`(2006.01)
`U.S. Cl. ........................ 725/100; 725/91; 725/138;
`725/139
`Field of Classification Search .................. 725/91,
`725/1 00, 1 09, 112, 1 35, 1 39; 709/217, 223,
`709/225, 226, 231; 710/48, 266
`See application file for complete search history.
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,790,198 A
`6,184,878 Bl
`
`8/ 1998 Roop et al.
`212001 Alonso et al.
`
`(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 -1 04.
`Primary Examiner-Kieu-Oanh Bui
`(74) Attorney, Agent, or Firm-Meyertons Hood Kivlin
`Kowert & Goetze!, 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 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
`
`Proxy receives
`
`presentation
`directives
`
`fil!2.
`
`Convey
`corresponding
`indication
`
`to client,__ __ <.
`>QI!
`
`Convey
`presentation
`directives
`to client
`fil
`
`Apple Ex. 1001, Page 1 of 34
`
`

`
`US 7,055,169 B2
`Page 2
`
`U.S. PATENT DOCUMENTS
`
`2002/0194219 Al* 12/2002 Bradley et al. ............. 707/506
`
`6,188,401 Bl
`6,345,307 Bl
`6,415,303 Bl
`6,539,359 Bl
`200210010798 Al *
`2002/0088011 Al *
`
`212001 Peyer
`212002 Booth
`
`712002 Meier et al.
`3/2003 Ladd et al.
`1/2002 Ben-Shaul et al. . ........ 709/247
`712002 Lamkin et al .
`
`............. 725/142
`
`FOREIGN PATENT DOCUMENTS
`
`GB
`
`2 332 803
`
`WO 02/17639 A2
`WO
`* cited by examiner
`
`6/1999
`212002
`
`Apple Ex. 1001, Page 2 of 34
`
`

`
`e
`00
`�
`
`•
`
`•
`
`� � � =
`
`�
`
`Transmitter
`22
`
`I
`
`Source
`�
`
`�
`
`00
`
`1
`
`Broadcast Station
`�
`
`I
`j
`
`'Lt..
`
`i I
`i I �
`
`�---------J
`
`I !
`I !
`
`I
`
`I I I I I I I I I I I I I
`
`L---
`
`I I
`I I I I I
`:
`� ___ [ _______________ _.
`I
`FIG. 1
`
`34
`
`Source
`19
`
`I
`
`I
`
`I
`.)UC
`I Receiver 1
`
`I
`I -
`
`138
`
`� �
`N 0 0 O'I
`
`(.H
`"'o
`
`1J1 =-('D
`('D .....
`....
`
`0 ..... Ul
`
`d
`rJl
`"'--...l = tit
`"'tit
`"'"" 0--, \C
`= N
`
`Apple Ex. 1001, Page 3 of 34
`
`

`
`External Source
`.Ll.
`
`Back Channel
`26
`
`16
`
`Ir
`Return Data
`Processor
`210
`
`AudioNideo Signals
`240
`
`•
`
`I
`
`r--------- --------�
`I
`I
`I
`I
`I
`I
`Content Processing :
`1
`Database 1
`I
`mechanism i---1t--1� - -.
`:
`230
`200
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`I
`:
`1
`:
`I
`I
`I
`I
`I
`I
`I
`21
`-
`L------------------1
`
`Server
`250
`
`FIG. 2
`
`I ... Communications
`Multiplexor I
`
`220
`
`•
`
`I
`
`To Network
`
`Operator
`17
`
`Metadata Injector
`260
`
`e
`00
`�
`
`•
`
`•
`
`� � � =
`
`�
`
`� �
`N 0 0 O'I
`
`(.H
`"'o
`
`1J1 =-('D
`('D .....
`N
`0 ..... Ul
`
`d
`rJl
`"'--...l = tit
`"'tit
`"'"" 0--, \C
`= N
`
`Apple Ex. 1001, Page 4 of 34
`
`

`
`Front End
`1026
`
`.,..
`
`1
`
`I
`
`., 1 Return Channel '"""..____,
`4
`�
`1------- - - ------�
`: OS &/or middleware 1
`: '--
`:
`From
`1044
`Broadcast
`I
`I
`...
`I
`Station
`I
`I
`I
`1 ,.......
`Engine :
`Message
`1
`:
`Processing
`'
`1036 �
`I
`I
`I
`I :
`: I
`I
`Apps
`: 1Q!2.
`I
`I
`I
`I
`I
`Memory 1
`:
`I
`:
`1090
`I
`L---------------
`
`1-;;;r
`
`I
`
`Transport Stage
`1028
`"
`
`•
`Control Unit
`1030
`
`..
`
`110 Interface
`1040
`j
`
`I
`
`To Display
`
`Co
`
`AV
`Stage
`1034
`
`"
`
`CA
`Module(s)
`1032
`
`.. ,
`
`1012
`
`FIG. 3
`
`•
`Userl/O
`
`�
`
`Storage
`Device
`1018
`
`�
`
`\...._
`
`e
`00
`�
`
`•
`
`•
`
`� � � =
`
`�
`
`�
`� �
`(.H 0 "'
`N 0 0 O'I
`
`1J1 =-('D ('D ......
`(.H
`0 ..... Ul
`
`d
`rJl
`"'--...l = tit
`"'tit
`"'"" 0--, \C
`= N
`
`Apple Ex. 1001, Page 5 of 34
`
`

`
`U.S. Patent
`
`May 30, 2006
`
`Sheet 4 of 5
`
`US 7,055,169 B2
`
`-c: Q) 0)
`<( ..... Q) (/) =>
`
`t
`
`..... Q)
`O>
`ct!
`c:
`ct!
`E
`"'O
`ct!
`0
`c:
`:J:
`0
`0
`
`a..
`I-
`I-
`I
`
`-
`�
`
`a..
`�
`a..
`-
`. () I-
`
`-
`�
`
`-
`.
`
`..c:
`() -
`�
`0
`-(/)
`Q)
`O>
`ct!
`a.
`-0
`--� -
`
`I
`'
`
`a.. �
`I
`
`a.. �
`I
`
`.... Q)
`i::
`Q)
`CJ)
`c
`O>
`
`·;:: 0
`
`. c:>
`u..
`
`.... Q)
`O>
`ct!
`c
`ct!
`
`E �1
`
`Q) v
`(/)
`:J
`e
`ct!
`()
`
`a..
`I-
`I-
`I
`
`..
`
`a.. �
`a..
`-
`. () I-
`
`-
`
`-
`.
`
`"--
`
`><
`0
`..c
`o_
`0
`
`I-I -Q)
`
`CJ)
`a
`
`(/)
`Q)
`(/)
`:J
`0
`
`..... ct! 0
`>-ct!
`:J:
`I Q)
`c
`0
`
`••
`
`\
`
`N
`0
`-.::t"
`"--
`
`"'O
`c
`w
`"'O
`
`ct! Q) I
`
`Apple Ex. 1001, Page 6 of 34
`
`

`
`U.S. Patent
`
`May 30, 2006
`
`Sheet 5 of 5
`
`US 7,055,169 B2
`
`Proxy receives
`presentation
`directives
`502
`
`Convey
`presentation
`directives
`to client
`516
`
`Convey
`corresponding
`indication to client ------<
`506
`
`Pref etch
`Resources
`510
`
`Proxy conveys
`presentation
`directives to client
`512
`
`Presentation
`>--------.i is permitted
`518
`
`FIG. 5
`
`Apple Ex. 1001, Page 7 of 34
`
`

`
`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 20
`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 25
`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 35
`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 40
`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 45
`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 50
`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- 60
`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 65
`eliminate the need for the server to process individual
`requests for information.
`
`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
`10 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
`15 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 marmer.
`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.
`
`30
`
`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 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.
`FIG. 4 is a diagram of one embodiment of a television
`system.
`
`55
`
`Apple Ex. 1001, Page 8 of 34
`
`

`
`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, 40
`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. A third delivery mechanism may also
`
`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
`10 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-
`15 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
`20 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-
`25 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
`30 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, JavaScript™
`(JavaScript is a trademark of Sun Microsystems, Inc), CSS,
`or other languages, and transcode the received content to a
`35 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
`45 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
`50 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
`55 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
`60 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
`65 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,
`
`Apple Ex. 1001, Page 9 of 34
`
`

`
`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/ 15
`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 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 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 (AID) converter
`and tuner/demodulators (not shown). Front end 1026 may
`select and pass a particular frequency, demodulate it, and
`
`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
`10 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
`20 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
`25 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
`30 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 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
`40 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
`45 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
`50 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-
`55 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-
`60 able code, metadata, and other data. Storage device 1018
`may be internal to client 1012 or connected externally (e.g.,
`through an IEEE 1 394-1995 connection) with either a
`permanent connection or a removable connection. Further,
`storage device 1018 may comprise any suitable type of
`65 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
`
`35
`
`Apple Ex. 1001, Page 10 of 34
`
`

`
`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 20
`contemplated.
`
`25
`
`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
`10 presentation of an icon. Further, the above life cycle may
`generally correspond to a model in which only a single
`application is executable at a time. However, in order to
`support multiple applications concurrently, the application
`model and life cycle definition may be more complex. For
`15 example, priorities may be signaled so that the implemen­
`tation may determine which applications may execute in the
`event that the hardware is not capable of supporting all of the
`signaled applications simultaneously.
`Applications developed for use in interactive television
`systems may generally include progranmiing code similar to
`that of progranmiing languages such as C, C++, etc. How­
`ever, with the proliferation of the World Wide Web (Web),
`and the desire to take advantage of Web and Web like
`resources in interactive television systems, the use of other
`languages such as HTML and the Javascript™ (JS) language
`may be useful. However, while the use of HTML applica­
`tions may be desired, the life cycle of HTML applications in
`an interactive television environment may be complicated
`30 by several factors.
`First, HTML/JS content may be more dynamic than
`persistent. For example, in a current interactive television
`environment, an application may be configured to only
`execute code or use data that is packaged within the carousel
`35 in the same directory as the first program module. Hence, for
`security reasons the directory contents may clearly define
`the application boundary and the permissions signaled
`within the directory may be applied to the entire contents of
`the directory. However, HTML/JS content may refer to other
`40 content (e.g., via a link) that is to be acquired from some
`location other than the carousel and the content that is
`referred to may replace the initial content. It is not clear that
`it is safe in this case to apply the same security permissions
`to such replacing content. Therefore, due to this dynamic
`nature, it is more difficult to define an "application bound­
`ary."
`Second, even when a product does not support multiple
`concurrent applications and restricts the application to only
`that content carried within the same directory in the carou­
`sel, there may be life cycle issues that affect the way that a
`content author designs the HTML/JS content. For example,
`if it is determined that the broadcaster can signal that an
`application may quit, it may be useful to invoke a handler
`written by the content author to respond to such an event.
`Similarly, there may be othe

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket