throbber
Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 1 of 13
`Case 3:l6—cv—O2433 Document 1-7 Filed 05/04/16 Page 1 of 13
`
`  
`
`EXHIBIT G 
`
`EXHIBIT G
`

`

`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 2 of 13
`°"‘Se3‘16'°”'°2433 D°°”me“f|fl|fl|||||l|'||Ffl||flWflfl|Hfl|lllllifllfllml||||l|l||||||||||||||
`
`US006895595B2
`
`(12) United States Patent
`Goodman et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 6,895,595 B2
`*May 17, 2005
`
`(54) MODULE MANAGER FOR INTERACTIVE
`TELEVISION SYSTEM
`
`(75)
`
`Inventors: Andrew Goodman, Menlo Park, CA
`.
`(CUAS)(’UJSe)an Rene Menand’ Palo Alto’
`
`6,317,885 B1 * 11/2001 Fries ........................ .. 725/109
`6,381,748 B1
`4/2002 Lin et al.
`6,427,238 B1 *
`7/2002 Goodman et al.
`;VTighttet1a1~
`,
`,
`ang e a .
`6,487,723 B1 * 11/2002 Maclnnis .................... 725/132
`FOREIGN PATENT DOCUMENTS
`
`........ .. 725/136
`
`(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 333 days.
`
`EP
`$530
`
`11/1990
`
`0 399 200
`Ogggogig
`OTHER PUBLICATIONS
`
`.
`.
`.
`.
`.
`Thls Patent 15 5ubJeCt to 3 termmal d15'
`Clalmen
`
`(21) Appl. No.: 10/164,823
`(22)
`Filed:
`Jun. 7, 2002
`(65)
`Prior Publication Data
`
`Us 2002/0152477 A1 Oct‘ 17’ 2002
`Related U.S. Application Data
`(63) Continuation of application No. 09/087,269, filed on May
`29, 1998, now Pat. No. 6,427,238.
`Int. Cl.7 ........................... H04N 7/16; H04N 7/173
`(51)
`.
`.
`.
`(52) U.S. Cl.
`..................... .. 725/136, 725/109,.725/132,
`_
`725/139’ 725/152
`(58) Field of Search ............................... .. 725/131, 139,
`725/142> 152> 109> 110» 48‘51> 136
`_
`References Clted
`Us. PATENT DOCUMENTS
`
`(56)
`
`8/1995 B39011 et 31-
`5340532 A *
`8/1996 Menand et al‘ ““““““ " 370/477
`5548532 A
`4/1997 Mcclellan et al‘ """" " 725/132
`5’619’250 A *
`4/1997 Rohatgi et al.
`5,625,693 A
`709/243
`9/1998 Danneels et al.
`5,805,825 A *
`
`3/1999 Harrison ................ .. 725/139
`5,878,222 A *
`5,990,927 A * 11/1999 Hendricks et al.
`..
`725/132
`.......... .. 348/552
`6,157,411 A * 12/2000 Williams et al.
`6,177,930 B1 *
`1/2001 Chernock et al.
`......... .. 345/716
`
`Magazine Radio—Fernsehen Elektronik, Issue 9 and Issue
`10, 1996; Cover sheet, pp. 28 to 31 (Issue 9) and pp. 38 to
`40 (Issue 10). English translation attached.
`Praxis;
`“Europa—Premiere: Empfanger
`fur das digitale
`Fernsehen”; Funkschau 1995, Issue 11, pp. 62-65. English
`translation attached.
`*
`'t d b
`'
`C1 e
`y exammer
`Primary Examiner—Hai Tran
`Assistant Examiner—Son P. Huynh
`ggégtgrgiétgfegtb
`Raififlons Hood Kwhn
`(57)
`ABSTRACT
`
`System and method Implemented In .an lnteyactlve te.1e.V1-
`sion system for managing modules of interactive television
`applications. The System transmits modules from a broad_
`cast station to a plurality of receiving stations through
`Various paths, Such as broadcast Channels and modem Chan_
`nels. The receiving stations have module managers which
`store module requests and which monitor the various chan-
`nels for modules corresponding to the requests. When mod-
`ules are transmitted on the.monitored channels, they are
`matched with the corresponding stored requests. If a module
`matches one of the requests, or if is an auto-loading module,
`it is stored in the receiving station. If a module has not been
`re uested and is not an auto-loadin module it is i nored
`TS
`d
`d 1
`dd d
`lg
`f
`a 1
`g .1 b1‘
`3 S‘°“°'
`. H10 “ C5 are a
`C
`‘O a 1.5‘ 0 H10. “ ‘.35 aw“ a
`3
`for exeeutlen Of fer use by an exeeutlng applleatlenr and the
`eorrespendlng requests are deleted
`
`20 Claims, 4 Drawing Sheets
`
`BROAD
`—CAST
`SIGNAL
`
`To TV
`
`CTRL MMU
`E.
`3_0
`
`
`
`
`
`USER INPUT
`
`TO PHONE LINE
`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 3 of 13
`Case 3:16—cv—O2433 Document 1-7 Filed 05/04/16 Page 3 of 13
`
`U.S. Patent
`
`May 17, 2005
`
`Sheet 1 of 4
`
`US 6,895,595 B2
`
` SOURCE
`
`
`
`1_1
`
`
`
`COMPRESSION
`
`E
`
`BROAD
`—CAST
`
`S|GNAL
`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 4 of 13
`Case 3:16—cv—O2433 Document 1-7 Filed 05/04/16 Page 4 of 13
`
`U.S. Patent
`
`May 17, 2005
`
`Sheet 2 of 4
`
`US 6,895,595 B2
`
`TRANSMISSION
`
`ORDER
`
`DIRECTORY
`
`MODULE 1
`
`MODULE 2
`
`.
`
`MODULE 15
`
`CAROUSEL
`
`MODULES
`
`I DIRECTORY |
`
`MODULE 1
`
`MODULE 2
`
`:> DIRECTORY
`
`MODULE N
`
`MODULE 16
`
`MODULE N
`
`DIRECTORY
`
`FIG. 3
`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 5 of 13
`Case 3:16—cv—O2433 Document 1-7 Filed 05/04/16 Page 5 of 13
`
`U.S. Patent
`
`May 17, 2005
`
`Sheet 3 of 4
`
`US 6,895,595 B2
`
`51 \
`
`DATA
`
`2
`
`.513.
`
`L_
`
`
`
`_‘j"'_'*T
`
`H
`£5.61
`
`DATA
`5»f5_a
`
`54a/'
`
`54b /"
`
`DATA
`H
`§§Q
`5.529
`L.
`
`1
`
`H
`' @
`
`'
`
`'
`
`DATA
`5_69
`
`CRC
`Q
`
`54c/'
`
`
`
`H
`5_
`
`DATA
`5_9éI
`
`DATA
`5_9_b
`
`‘
`
`’
`
`‘
`
`DATA
`Q93
`
`FIG. 4
`
`M‘
`
`M2
`
`FIG. 5
`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 6 of 13
`Case 3:16—cv—O2433 Document 1-7 Filed 05/04/16 Page 6 of 13
`
`U.S. Patent
`
`May 17, 2005
`
`Sheet 4 of 4
`
`US 6,895,595 B2
`
`
`
`CLIENT INTF.
`§l
`
`_.-.——._ —.__—._....—__.____—__————..__.—__—_...___
`
`«-
`
`
`
` POST-LOAD
`
`MGR.
`
`
`SOURCE
`INTF.
`51
`
`CAROUSEL
`D.B.
`§§
`
`u_.._.—__—-—___._..-.._.__——..-___-______ —_.__...
`
`
`
`POST-LOAD LOADED
`
`
`
`POST-LOAD
`
`LOADING
`ZOMBIE
`
`ZOMBIE
`
`FIG. 7
`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 7 of 13
`Case 3:16—cv—O2433 Document 1-7 Filed 05/04/16 Page 7 of 13
`
`US 6,895,595 B2
`
`1
`MODULE MANAGER FOR INTERACTIVE
`TELEVISION SYSTEM
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`This application is continuing application of U.S. patent
`application Ser. No. 09/087,269, filed May 29, 1998, now
`U.S. Pat. No. 6,427,238.
`
`BACKGROUND OF THE INVENTION
`
`10
`
`1. Field of the Invention
`
`The invention relates to interactive television systems and
`more particularly to management of application modules
`which are delivered to an interactive television receiver.
`
`15
`
`2. Description of the Related Art
`Interactive television systems enable television sets to be
`used to provide various new means for providing services to
`viewers. Interactive television systems are capable of dis-
`playing text and graphic images in addition to typical video
`program streams. Interactive television systems are also
`capable of registering viewer actions or responses. Proposed
`features of interactive television include a variety of
`marketing, entertainment and educational capabilities such
`as allowing a user to interact with televised programs by
`ordering advertised products or services, competing against
`contestants in a game show, or requesting specialized infor-
`mation regarding particular programs.
`Typically, a broadcast service provider generates an inter-
`active television signal for transmission to a viewer’s tele-
`vision. The interactive television signal includes an interac-
`tive portion consisting of application code or control
`information, as well as an audio-video portion consisting of
`a television program. The broadcast service provider com-
`bines the audio-video and interactive portions into a single
`signal for transmission to a receiver connected to the user’s
`television. The signal
`is generally compressed prior to
`transmission and transmitted through typical broadcast
`channels, such as cable television (CATV) lines or direct
`satellite transmission systems.
`The interactive functionality of the television is controlled
`by a set-top box connected to the television. The set-top box
`receives the signal
`transmitted by the broadcast service
`provider, separates the interactive portion from the audio-
`video portion and decompresses the respective portions of
`the signal. The set-top box uses the interactive information
`to, for example, execute an application while the audio-
`video information is transmitted to the television. The set-
`
`top box may combine the audio-video information with
`interactive graphics or audio generated by the interactive
`application prior to transmitting the information to the
`television. The interactive graphics and audio may present
`additional information to the viewer or may prompt the
`viewer for input. The set-top box may provide viewer input
`or other information to the broadcast service provider via a
`modem connection.
`
`Interactive television applications may consist of a set of
`program modules. The set of modules forming an applica-
`tion is typically self-contained in that all of the code needed
`by the application is in the set of modules. The first module
`is a directory module which identifies all of the modules
`which are part of the application. The entire set of modules,
`which is listed in the directory module, is transmitted via the
`broadcast channel to the set-top box and the application is
`executed. If a first
`interactive television application has
`completed execution and a second is to be executed, the
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`directory and other modules of the second application are
`transmitted to the set-top box and the second application is
`executed. The entire set of modules used by the second
`application are transmitted even though some of the modules
`might be identical to modules used by the first application.
`
`SUMMARY OF THE INVENTION
`
`One of the advantages of designing software applications
`in a modular fashion is the ability to share modules between
`applications. The advantages of modularity may include
`conserving the limited amount of memory in a set-top box
`which can be used for interactive applications, reducing the
`time required to download applications from a broadcast
`station to a set-top box and reducing the amount of appli-
`cation code which must be written by allowing modules to
`be shared. The components of an application, however, may
`reside in different carousels (sets of modules, as described in
`more detail below) or in modules which may not be avail-
`able at
`the time the application begins execution.
`It
`is
`therefore desirable to implement a system for management
`of the different modules. It would be advantageous for this
`management system to be capable of handling modules
`which have not yet been received and which may have to be
`extracted from an interactive television signal. Further, it
`would be advantageous for this management system to be
`capable of simultaneously monitoring several sources (e.g.,
`a broadcast channel and a modem channel) for the modules
`needed by an application.
`The invention comprises a system and method for man-
`aging modules of interactive television applications. One
`embodiment of the invention includes a set-top box config-
`ured with several input ports for receiving one or more
`interactive television signals which may embody the carou-
`sel modules. The interactive television signals typically
`comprise packets of compressed data corresponding to mod-
`ules of an interactive television application,
`television
`programs, or other interactive television data. (“Television
`program” as used herein refers generally to any type of audio
`and/or video programming which is normally viewed on a
`television.) The various types of packets are generally time
`multiplexed with each other. The set-top box monitors the
`input ports to determine whether a packet received at the
`input port contains module data and,
`if so, whether the
`module should be processed and stored in the set-top box. If
`the system determines that the module should be stored, the
`packets corresponding to the module are extracted from the
`interactive television signal. When all of the packets corre-
`sponding to the module have been extracted from the
`interactive television signal, the module is processed and
`made available for execution.
`
`If there is no interactive television application executing
`in the set-top box, the system monitors the input ports for
`auto-loading modules, such as application directory mod-
`ules. When one of these application directory modules is
`detected, the system begins collecting packets containing
`data from the directory module. When all of these packets
`have been collected, the system reconstructs the directory
`module and authenticates it. The system then monitors the
`input ports for the carousel modules (i.e., those listed in the
`directory module,) stores the corresponding packets and
`reconstructs the modules for use by the application corre-
`sponding to the carousel.
`The executing application may request modules which are
`not yet available in the set-top box. These requests are stored
`by the system, which monitors the input ports for the
`corresponding modules. The system collects the packets of
`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 8 of 13
`Case 3:16—cv—O2433 Document 1-7 Filed 05/04/16 Page 8 of 13
`
`US 6,895,595 B2
`
`3
`these modules when they are detected at the input ports, then
`stores the modules. The system thus matches incoming
`modules with pending requests and makes the modules
`available for execution. The system may provide for mod-
`ules which are in greater demand among subscribers of the
`system to be transmitted to all of the subscribers via a
`broadcast channel, while modules which are in less demand
`are transmitted to individual subscribers via a modem chan-
`nel.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`Other objects and advantages of the invention will
`become apparent upon reading the following detailed
`description and upon reference to the accompanying draw-
`ings in which:
`FIG. 1 is a block diagram illustrating the distribution of
`interactive television applications and television programs
`from their sources to a series of viewers.
`
`FIG. 2 is a block diagram of a set-top box used in one
`embodiment of the invention.
`
`FIG. 3 is an illustration of the component modules of a
`carousel and the transmission order of the modules in one
`embodiment of the invention.
`
`FIG. 4 is a block diagram illustrating the manner in which
`the data comprising a module is packetized in one embodi-
`ment of the invention.
`
`10
`
`15
`
`20
`
`25
`
`FIG. 5 is a diagrammatic representation of the signal
`transmitted from the broadcast station to a receiving station
`in one embodiment of the invention.
`
`30
`
`FIG. 6 is a block diagram illustrating the organization of
`one embodiment of the invention.
`
`FIG. 7 is a state diagram illustrating the handling of
`module requests in one embodiment of the invention.
`While the invention is susceptible to various modifica-
`tions and alternative forms, specific embodiments thereof
`are shown by way of example in the drawings and will
`herein be described in detail.
`It should be understood,
`however, that the drawings and detailed description thereto
`are not intended to limit the invention to the particular form
`disclosed, but on the contrary, the intention is to cover all
`modifications, equivalents and alternatives falling within the
`spirit and scope of the present invention as defined by the
`appended claims.
`DETAILED DESCRIPTION OF THE
`PREFERRED EMBODIMENT
`
`One embodiment of the invention is described below. In
`
`this embodiment, an interactive television receiver accepts
`an audio-video-interactive signal via a broadcast channel
`such as direct satellite transmission. (“Direct” satellite trans-
`mission as used herein contemplates transmissions received
`by the interactive television receiver, more particularly by its
`antenna, directly from the satellite.) The audio-video-
`interactive signal contains television programs or similar
`audio-video content, as well as interactive content such as
`control signals or interactive applications. (“Broadcast” is
`used herein to refer to transmission of a single signal to all
`subscribing receivers.) The interactive television receiver is
`also configured to receive signals via a modem channel. The
`signals transmitted via the broadcast and modem channels
`may both embody various modules. Each of these two
`channels is therefore considered a “module source” for the
`
`purposes of this description. The modules contained in the
`signals from the module sources may comprise components
`of an interactive application. The modules can contain any
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`type of data, such as application code, raw data or graphical
`information. Because the modules are generally transmitted
`to the television receiver in a cyclic manner,
`the set of
`modules is often referred to as a carousel. (An application is
`a carousel which contains a “top-level” program.) A module
`manager is implemented in the system to control the manner
`in which the modules are requested by an application,
`received from the module sources and matched with the
`
`application requiring the modules.
`If no application is executing in the system, the module
`manager monitors the module sources for modules which
`are auto-loading. The directory module of an interactive
`application, for example, may be auto-loading. If an appli-
`cation is executing in the system,
`the application may
`request modules. More particularly, it may request modules
`which are not part of the same carousel as the application.
`The module manager stores the application’s requests and
`monitors the module sources for modules corresponding to
`the requests. When one of the requested modules is detected,
`the module manager stores it, makes it available to the
`executing application and removes the request from the
`module manager’s request queue. If the module manager
`receives a module which has not been requested and which
`cannot be automatically loaded, the module is ignored (i.e.,
`it is not stored in the system.)
`Referring to FIG. 1, a block diagram illustrating the
`distribution of interactive television applications and tele-
`vision programs from their sources to a series of viewers is
`shown. Broadcast station 10 has several program sources 11.
`These sources may include remote broadcast network feeds,
`videotape recorders, computers, data storage devices, and
`the like. Sources 11 may provide interactive applications,
`control information or audio or video information which is
`
`to be included in the interactive television signal. The
`information provided by sources 11 is typically compressed
`by compression units 12 in order to conserve bandwidth.
`Any of a number of compression algorithms, such as one of
`the Motion Picture Expert Group (MPEG) compression
`standards, may be used if appropriate for a particular pro-
`gram or application. Time stamps may also be added to, for
`example, synchronize associated audio and video signals.
`Some information may not be easily or effectively
`compressed, so some of the information may be routed
`directly from the source to packetization unit 13 without
`compressing the information. Packetization units 13 accept
`the compressed (or uncompressed) information and format it
`into packets for transmission over the broadcast channel.
`The packetization of the information will be described in
`more detail below. The packets are fed into multiplexing unit
`14, which intersperses the packets prior to transmission. The
`interspersed packets are then broadcast
`to the receiving
`stations 20. (Although only one receiving station is shown in
`the figure, it is contemplated that the audio-video-interactive
`signal
`is broadcast
`to a group of subscribing receiving
`stations.) In the figure, the audio-video-interactive signal is
`depicted as being transmitted via satellite broadcast through
`antenna 15.
`
`The broadcast signal is relayed by communications sat-
`ellite 18 and received by receiving station 20. Although the
`figure illustrates a satellite transmission, it is contemplated
`that any broadcast medium (e.g., CATV or direct satellite
`transmission) may be used. Receiving station 20 is contem-
`plated to be one of a number of such stations which are
`subscribers of the broadcast service provider operating
`broadcast station 10. The broadcast signal is collected by
`receiving antenna 21 and fed to receiver 22, which in this
`embodiment is contemplated to be a set-top box. Set-top box
`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 9 of 13
`Case 3:16—cv—O2433 Document 1-7 Filed 05/04/16 Page 9 of 13
`
`US 6,895,595 B2
`
`5
`22 processes the packetized signal to reconstruct the televi-
`sion programs and interactive applications embodied in the
`signal. The reconstructed applications are executed in the
`set-top box, while the reconstructed television programs are
`passed to the television, where they are displayed. The
`interactive applications may generate graphics or audio
`which are combined with the television program prior to
`being displayed.
`In addition to the broadcast channel between the broad-
`
`there may be other
`cast station and receiving station,
`channels, such as a modem channel (which may also be
`referred to as an http, or hypertext
`transfer protocol,
`channel.) These types of channels serve two functions in the
`system: they allow the set-top box to provide feedback to the
`broadcast station; and they provide an alternate path for
`programs and applications from sources 12 to be delivered
`to receiving station 20.
`Referring to FIG. 2, a block diagram of a set-top box 22
`is shown. The broadcast signal is received and fed into tuner
`31. Tuner 31 selects the channel on which the broadcast
`
`audio-video-interactive signal is transmitted and passes the
`signal to processing unit 32. (Tuner 31 may be replaced by
`other means, all collectively referred to herein as input ports,
`for receiving signals from various signal sources.) Process-
`ing unit 32 demultiplexes the packets from the broadcast
`signal if necessary and reconstructs the television programs
`and/or interactive applications embodied in the signal. The
`programs and applications are then decompressed by
`decompression unit 33. The audio and video information
`associated with the television programs embodied in the
`signal
`is then conveyed to display unit 34, which may
`perform further processing and conversion of the informa-
`tion into a suitable television format, such as NTSC or
`HDTV audio/video. Applications reconstructed from the
`broadcast signal are routed to random access memory
`(RAM) 37 and are executed by control system 35. Module
`manager unit 30 is contained within control system 35. In
`one embodiment, module manager unit 30 is implemented in
`software, but it may also be implemented in hardware or a
`combination of hardware and software.
`
`Control system 35 may include a microprocessor, micro-
`controller, digital signal processor (DSP), or some other type
`of software instruction processing device. RAM 37 may
`include memory units which are static (e.g., SRAM),
`dynamic (e.g., DRAM), volatile or non-volatile (e.g.,
`FLASH), as required to support the functions of the set-top
`box. When power is applied to the set-top box, control
`system 35 executes operating system code which is stored in
`ROM 36. The operating system code executes continuously
`while the set-top box is powered in the same manner the
`operating system code of a typical personal computer (PC)
`and enables the set-top box to act on control information and
`execute interactive and other applications. The set-top box
`also includes modem 38. Modem 38 provides both a return
`path by which viewer data can be transmitted to the broad-
`cast station and an alternate path by which the broadcast
`station can transmit data to the set-top box.
`it is
`Although the term “set-top box” is used herein,
`understood that this term refers to any receiver or processing
`unit for receiving and processing a transmitted signal and
`conveying the processed signal
`to a television or other
`monitor. The set-top box may be in a housing which
`physically sits on top of a television, it may be in some other
`location external to the television (e.g., on the side or back
`of the television or remotely located from the television), or
`it may be incorporated into the television itself. Set-top box
`22 serves to demodulate the signal received from broadcast
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`station 10 and to separate the components of the signal, such
`as different television programs and interactive applications.
`Similarly,
`television 23 may be a television or a video
`monitor employing any suitable television format (e.g.,
`NTSC or HDTV), or it may be replaced by other devices,
`such as a video recorder.
`
`The receiving station is operatively connected to the
`broadcast station by a broadcast channel. This broadcast
`channel could utilize various transmission media and is
`contemplated to include media such as coaxial cable and
`free space (e.g., as used for direct satellite transmissions.)
`The broadcast channel forms a transmission path between
`the broadcast station and the receiving station. The broadcast
`station and receiving station are also connected by a return
`path. The return path typically consists of a pair of modems,
`one in the receiving station and one in the broadcast station,
`each connected to a standard telephone line. Other means for
`establishing a return path, e.g., using a portion of the
`bandwidth of the transmission path, are also contemplated.
`Referring to FIG. 3, an application (and in fact, any
`carousel) consists of a series of modules, one of which is a
`directory module. The directory module has a unique iden-
`tifier so that it can be identified during transmission without
`further information. The directory module contains an entry
`for each of the modules in the application and any module
`which does not have a corresponding entry in the directory
`module is not recognized by the application. The directory
`module contains enough information to allow the interactive
`television receiver to access all of the parts (i.e., modules) of
`the application which may be necessary for execution of the
`program. The directory module must be accessed before the
`other modules of the application so that the remainder of the
`modules can be properly interpreted. The directory module
`may be transmitted several times during the cycle in which
`the modules of the application are transmitted in order to
`ensure that it is available for essentially random access to the
`other modules.
`
`the applications have a
`The directory modules of all
`common format. The format consists of three parts: a portion
`having fixed-length components; a portion having variable-
`length components; and a portion having certification infor-
`mation. The fixed-length portion contains data on the appli-
`cation and each of the modules in the application. The
`variable-length portion contains string data on the module
`names and the hash of the modules. The certification portion
`contains the producer certificate and directory signature.
`In one embodiment, an application includes at least one
`module which is downloaded and executed automatically.
`Other modules containing data or additional code may not
`be needed immediately, so they may be downloaded after
`execution of the application begins. The downloading of
`these modules may be subject
`to timing constraints,
`however, so the interactive television system is configured to
`take these constraints into account and deliver the modules
`
`in a timely manner. If necessary, one of these modules may
`be multiplexed with other modules or data to be sure it is
`received when needed.
`
`Referring to FIG. 4, each of the modules 51 has a data
`segment 52 and a CRC segment 53. The data segment 52 of
`the directory module is described above. The data segment
`52 of the remainder of the modules can contain any type of
`data, such as application code or raw data. The CRC
`segment 53 of each of the modules is used for error control
`and is computed for the entire module 51. Each of the
`modules 51 has a unique identifier.
`Before the modules 51 are transmitted, they are formatted
`into transmission units 54. For the purposes of discussion,
`
`

`
`Case 3:16-cv-02433 Document 1-7 Filed 05/04/16 Page 10 of 13
`Case 3:16—cv—O2433 Document 1-7 Filed 05/04/16 Page 10 of 13
`
`US 6,895,595 B2
`
`7
`items referenced by the same number but different letters
`(e.g., 54a, 54b, 54c) will be collectively referred to by the
`number only (e.g., 54). Each of the transmission units 54
`contains header information 55, which uniquely identifies
`that transmission unit 54 within the stream of transmission
`units, and data 56 which comprises a portion of the module
`being transmitted. The header 55 contains information such
`as the module ID, module offset and size, which allow the
`transmission units 54 to be reconstructed into a complete
`module 51. The transmission units 54 comprising a particu-
`lar module 51 may be interleaved with other transmission
`units 54 in the transmission stream. The last transmission
`unit 54 for a module 51 carries the CRC 53.
`
`The format of the transmission units 54 is dependent upon
`the transmission medium, but typically employs a series of
`packets of fixed length (the last packet may be padded to
`obtain the proper length.) The first packet 58 in the series
`carries the header information for the transmission unit 54.
`
`10
`
`15
`
`This header packet 58 is a special packet which can generate
`an interrupt in the CPU and which contains information to
`enable the CPU to determine whether the module 51 should
`
`20
`
`be decoded and where it should be loaded into memory. The
`header packet 58 in a direct satellite transmission utilizes an
`auxiliary type packet which can generate an interrupt. The
`remainder of the packets 58 in a direct satellite transmission
`utilize a basic type packet which simply carries the trans-
`mission unit data.
`The audio-video-interactive transmission from the broad-
`
`25
`
`cast station to the interactive television receiver comprises a
`series of transmission units. The transmission units which
`
`30
`
`8
`A certificate is a collection of information which typically
`identifies a module and can be taken as proof of the
`module’s authenticity and integrity. The certificate may use
`“public key” encryption for this purpose. There are various
`encryption algorithms which may be employed by public
`key encryption systems. One embodiment uses RSA (Rivest,
`Shamir & Adleman) and DES (Data Encryption Standard)
`algorithms. Public key encryption utilizes a pair of encryp-
`tion keys, one of which is termed a private key and one of
`which is called a public key. The private key is kept secret
`by its owner, while the public key is made freely available.
`A message or other file which is encrypted with the public
`key can only be decrypted with the private key. Likewise, a
`file which is encrypted with the private key can only be
`decrypted with the public key. Thus, when a public-key
`encrypted message is sent to the owner, the sender can be
`assured that, even if the message is intercepted, only the
`owner (who holds the private key) can decrypt it and read
`the message.
`The set-top box maintains copies of the public keys of one
`or more trusted parties. When the set-top box receives a
`directory module,
`it checks the module for a certificate
`signed with the private key of the producer. The certificate
`contains a producer’s certificate, which is the producer’s
`public key, signed by a trusted party. The set-top box, having
`a copy of the trusted party’s public key, can verify that the
`producer’s certificate (the producer’s public key) is authen-
`tic. Then, the producer’s authenticated public key can be
`used to verify that the certificate is unaltered. The security
`mechanism may also include performing a hash function
`over the modules and including the hash value in the
`corresponding directory module or the like. Credentialing or
`other security in the directory module is typically imple-
`mented after the insertion of the other modules’ hash values
`
`with their entries in the directory module.
`The module manager controls delivery, access and other
`functions which relate to the modules. Referring to FIG. 6,
`a block diagram illustrating the organization of one embodi-
`ment of the module manager 60 is shown. Module manager
`60 includes a series of interfaces 61-63, a series of databases
`64-66 and a post-load manager 67. The interfaces are source
`interface 61, client interface 62 and control task interface 63.
`The databases include, credential database 64, carousel
`database 65 and request database 66.
`Source interface 61 manages requests from module
`sources. Source interface 61 is a series of uni-directional
`
`channels from the module sources to module manager 60.
`Source interface 61 includes a mechanism for requesting a
`buffer which can be used to store a module received from
`one of the module sources.
`
`35
`
`40
`
`45
`
`50
`
`form a given module are typically time multiplexed with
`other information. This information may consist of trans-
`mission units of another module or compressed audio or
`video. The transmission units which are received by the
`interactive television receiver are reconstructed into their
`
`respective application modules.
`Referring to FIG. 5, a diagrammatic representation of the
`signal transmitted from broadcast station 10 to receiving
`station 20 is shown. The packets of several program sources
`are multiplexed into a single transmission stream if neces-
`sary. These packets may contain data for various

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