throbber
WORLD INTELLECTUAL PROPERTY ORGANIZATION
`International Bureau
`
`
`
`INTERNATIONAL APPLICATION PUBLISHED UNDER THE PATENT COOPERATION TREATY (PCT)
`
`(51) International Patent C|a-tsifinnlinn 7 =
`I-I04N 5I00
`
`(11) International Publication Number:
`_
`_
`_
`(43) International Publication Date:
`
`WO 00124192
`_
`27 April 2000 (2104.00)
`
`(21) International Application Number:
`
`PCT!US99!2l9B3
`
`(22) International Filing Date:
`
`22 September 1999 (2209.99)
`
`Priority Data:
`60! 104,???
`
`I9 October 1998 (I9.I0.98)
`
`US
`
`(71) Applicantffor at! designated States except US): GENERAL IN-
`STRUMENT CORPORATION [USIUS];
`I01 Totirnament
`Drive, Horsham, PA 19044 (US).
`
`(72} Inventor; and
`('75) Inventormpplicant [for US only): MEANDZIJA, Btanislav, N.
`[USfUS]; 82'! Coast Boulevard South, Lalolla, CA 9203'?
`(US).
`
`(74) Agent: LIPSITZ, Barry, R.; Building No. 8, 755 Main Street,
`Monroe, CT 06468 (US).
`
`[81] Designated States: AE, AL, AM, AT, AU, AZ, BA, BB, BG,
`BR, BY, CA, CH, CN, CU, CZ, DE, DK, EE, ES, FI, GB,
`GD, GE. GH, GM, HR, HU. ID, IL, IN, IS. JP. KE, KG.
`KP, KR, KZ. LC, LK, LR. LS, LT, LU, LV, MD, MG, MK,
`MN, MW, MX, NO, NZ, PL, PT, RO, RU, SD, SE. SG,
`SI) SK) SI-‘: TJI TM: TR: T1‘: UA: UG9 US! UZ! VNr YI-In
`ZA, ZW, ARIPO patent (GH, GM, KE, LS, MW. SD, SL,
`SZ, TZ, UG, ZW), Eurasian patent (AM, AZ, BY, KG, KZ,
`MD, RU, TJ, TM), European patent (AT, BE, CH, CY, DE.
`DK, ES, FI, FR, GB, GR, IE, IT, LU. MC. NL, PT, SE),
`OAPI patent (BF, BJ, CF, CG, CI, CM, GA, GN, GW, ML,
`MR, NE, SN, TD, TG)-
`
`Published
`With international Search t'-‘=’P0P‘f-
`
`(54) Title: TELEVISION SET——TOP BOX WITH CONFIGURABLE FUNCTIONALITY
`
`/200
`
`STAMP APPLICATIONS
`
`NATIVE APPl_ICATl0-NS
`
`STAMP SET TOP MANASEMENT
`
`3N‘
`
`BN
`
`L__...._...._...__.i...._.|pg34S55
`
`REAL—TlI»IE OPERATING SYSTEM
`
`DEVICE DRIVERS
`
`HARDWARE
`
`(57) Abstract
`
`A software architecture framework for the soft set top box. A Set Top software architecture (200. 1000) allows the consideration of
`Set Top application and middleware software functionality (120) independent from the operating system (I I0) and hardware (100). Various
`types of functionality can be supported, such as multiple users, secure controlled access of resources, application download, registration, start,
`stop, and monitoring, resource download, registration, start, stop, and monitoring, and management of audio, video, and data presentations.
`
`1
`
`SAMSUNG 1009
`
`
`
`STAMP OOMPONENTS
`
`STAIAP APPUCATION APIS
`
`STANDARD AP|s (DAVIC, DVB, ATSC, etc.
`
`STAMP HIDDLEWARE A.PIs
`
`STAMP INTERPRETER
`STAMP INTERPRETER
`'4
`
`3 I
`
`STAMP COMHLER
`
`comm-:0 sun?
`TASKS
`
`‘I'I___'""‘"___—I
`
`I
`
`NATIVE APPLICATION TASKS
`
` M
`
`PdU1UI
`
`250
`
`'33on
`
`235
`
`I\l50C
`
`IO ....A U‘
`
`":1 to
`
`SAMSUNG 1009
`
`1
`
`

`
`
`
`
`Albania
`Annenia
`Austria
`Australia
`Azerbaijan
`Bosnia and lierzegovina
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`Cote d'ivoire
`Cameroon
`China
`Cuba
`Czech Republic
`Germany
`Denmark
`Estonia
`
`AL
`AM
`AT
`AU
`AZ
`BA
`BB
`BE
`BF
`B6
`B1
`BR
`BY
`
`CF
`CG
`CI]
`CI
`CM
`CN
`CU
`CZ.
`DE
`DK
`EE
`
`
`
`FOR THE PURPOSES OF INFORMATION ONLY
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing international applications under the ‘PCT.
`
`ES
`FI
`FR
`GA
`GB
`GE
`GH
`GN
`GR
`HU
`IE
`IL
`[S
`11‘
`JP
`KE
`KG
`KP
`
`KR
`K2.
`LC
`1.]
`LK
`LR
`
`Spain
`Finland
`France
`Gabon
`United Kingdom
`Georgia
`Ghana
`Guinea
`Greece
`Hungary
`‘Ireland
`Israel
`Iceland
`Italy
`Japan
`Kenya
`Kyrgyzstan
`Democratic ‘People's
`Republic of Korea
`Republic of Korea
`Kazalcsian
`Saint Lucia
`Liechtenstein
`Sri Lanka
`Liberia
`
`LS
`LT
`LU
`LV
`MC
`MD
`MG
`MK
`
`ML
`MN
`MR
`MW
`MX
`NE
`NL
`NO
`NZ
`PL
`F1’
`R0
`RU
`SD
`SE
`SG
`
`Lesotho
`Lilhuania
`Luxembourg
`Latvia
`Monaco
`Republic of Moldova
`Madagascar
`The. former Yugoslav
`Republic of Macedonia
`Mali
`Mongoiia
`Mauritania
`Malawi
`Mexico
`Niger
`Netherlands
`Norway
`New Zcaland
`Poland
`Ponugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Singapore
`
`5}
`SK
`SN
`53
`TI)
`TG
`TJ
`TM
`TR
`'l“l'
`UA
`UG
`US
`U1‘.
`VN
`YIJ
`Z-W
`
`Slovenia
`Slovakia
`Senegal
`Swaziland
`Chad
`Togo
`Tajikistan
`‘Turlcrnenistan
`Turkey
`Trinidad and Tobago
`Ukraine
`Uganda
`United States of America
`Uzbekistan
`Vie! Nam
`Yugoslavia
`Zimbabwe
`
`2
`
`

`
`W0 I00.-"Z4192
`
`PCTfUS99;r'21983
`
`TELEVISION SET-TOP BOX WITH CONFIGURABLE
`
`FUNCTIONALITY
`
`BACKGROUND OF THE INVENTION
`
`This application claims the benefit of U.S.
`
`5
`
`Provisional Application No. 60/104,777, filed
`
`October 19, 1998.
`
`The present invention provides a software
`
`architecture framework for the soft set top and
`
`associates the different architectural components
`
`10
`
`with the Opencable Advanced Set Top API
`
`Classification.
`
`The current Opencable API classification is
`
`summarized in section 7 of the detailed description,
`below.
`
`15
`
`The following acronyms and terms are used:
`
`API
`
`- Application Program Interface;
`
`ATSC - Advanced Television Systems Committee;
`
`ATM — Asynchronous Transfer Mode;
`
`20
`
`CA — Conditional Access;
`CORBA - Comon Object Request Broker Architecture;
`CSLIP — Connectionless Serial Line Interface
`
`Protocol;
`
`DASE — ATSC T3/S17 Digital TV Application Software
`
`Environment;
`
`25
`
`DAVIC - Digital Audio—Visual Council;
`
`DC-2 - Digicipher II{tm), digital video standard
`
`proprietary to General Instrument
`
`(GI) Corporation;
`
`DSMCC — Digital Storage Media Command and Control;
`
`3
`
`

`
`W0 0|J:'2-1192
`
`PCTz'US99:‘2l983
`
`DTV — Digital Television;
`
`DVB — Digital Video Broadcast;
`
`DVD - Digital Video Disc;
`
`EPG - Electronic Program Guide;
`
`5
`
`FTP — File Transfer Protocol;
`
`GUI
`
`- Graphical User Interface;
`
`HSSIO ~ High—Speed Serial I/O
`
`I/O — Input/Output;
`
`IIOP — Internet Inter Orb Protocol;
`
`10
`
`IP — Internet Protocol;
`
`IPG - Interactive Program Guide;
`
`IRD - Integrated Receiver Decoder;
`
`ISO — International Standards Organization;
`
`JVM ~ Java Virtual Machine;
`
`15
`
`MIB — Management Information Base;
`
`MPEG - Moving Picture Experts Group;
`
`PSIP - Program and System Information Protocol
`
`(for
`
`Terrestrial Broadcast and Cable);
`
`RAM - Random Access Memory;
`
`20
`
`RMI
`
`~ Remote Method Invocation;
`
`Sat
`
`— Satellite;
`
`SI
`
`—
`
`(DVB) Service Information;
`
`SMPTE — Society of Motion Picture and Television
`
`Engineers;
`
`25
`
`SNMP - Simple Network Management Protocol;
`
`SODA — denotes a security chip proprietary to
`
`General Instrument Corporation;
`
`S/PDIG -
`
`STAMP — Set Top Applications and Middleware
`
`30
`
`Platform;
`
`S-vid - Video connector interface;
`
`4
`
`

`
`W0 00f24l92
`
`PCT:’US99!21983
`
`TCP - Transmission Control Protocol;
`
`UHF - Ultra High Frequency;
`
`UML — Unified Modeling Language;
`
`v.34 — a physical interface standard; and
`
`5
`
`xDSL — high—speed Digital Subscriber Loop modem
`
`technology.
`
`A Set Top box, also referred to as an
`
`Integrated Received Decoder
`
`(IRD) or a subscriber
`
`terminal,
`
`is a device that receives and decodes
`
`10
`
`television signals for presentation by a television.
`
`The signals can be delivered over a satellite,
`
`through a cable plant, or by means of terrestrial
`
`broadcast. Modern set tops also support video on
`
`demand {VOD), pay—per—view,
`
`interactive shopping,
`
`15
`
`electronic commerce, and enable Internet
`
`connectivity and possibly Internet—based telephony.
`
`The set top functionality is enabled through
`
`specialized hardware and software.
`
`In the past, Set Top software provided
`
`20
`
`relatively simple functionality, was small and
`
`unstructured, and concerned primarily with
`
`minimizing the required memory capacity and
`
`processing cycles. However,
`
`the support of services
`
`such as data, Internet,
`
`Internet Telephony, etc.
`
`25
`
`poses a new set of problems,
`
`including secure access
`
`by multiple users, multiple application management,
`
`management of resources, decoding, composition,
`
`coordination and presentation, of audio, video,
`
`graphics, and other data, etc. Existing Set Top
`
`30
`
`software solutions do not solve these problems.
`
`5
`
`

`
`WO 00324192
`
`PCT/11899121983
`
`Accordingly, it would be desirable to provide
`
`Set Top software that can progress in an
`
`evolutionary process from a relatively simple
`
`functionality, small, unstructured, memory— and
`
`5
`
`processing cycle-Saving software,
`
`to software that
`
`has a relatively complex functionality, and is
`
`larger, structured, and memory— and processing
`
`cycle-intensive. Preferably,
`
`the fundamental
`
`technology underlying the next generation Set Top
`
`10
`
`software architecture employs Java(tm}, ActiveX(tm)
`
`or an equivalent type of component based object~
`
`oriented technology.
`
`The technology should allow the consideration
`
`of Set Top application and middleware software
`
`15
`
`functionality independent from the operating system
`and hardware.
`
`Moreover, it would be desirable to provide an
`
`apparatus and machinery for support of multiple
`
`users, secure controlled access of resources,
`
`20
`
`application download, registration, start, Stop, and
`
`monitoring,
`
`resource download, registration, start,
`
`stop, and monitoring, management of audio, video,
`
`data presentations, and some additional
`
`functionality.
`
`25
`
`The present invention provides a system having
`
`the above and other advantages. We refer to this
`
`technology as the General Instrument "Set Top
`
`Applications and Middleware Platform (STAMP)".
`
`6
`
`

`
`W0 00;'24l92
`
`PCTIUS99;‘2 1983
`
`SUIII.‘-IARY OF THE INVENTION
`
`The present
`
`invention provides a software
`
`architecture framework for the soft set top.
`
`The Set Top software allows the consideration
`
`of Set Top application and middleware software
`
`functionality independent from the operating system
`and hardware.
`
`The invention can support various type of
`
`functionality,
`
`such as multiple users, secure
`
`controlled access of resources, application
`
`download, registration, start, stop, and monitoring,
`
`resource download, registration, start, stop, and
`
`monitoring, and management of audio, video, and data
`
`presentations.
`
`In a particular implementation,
`
`the invention
`
`is used to provide a television set-top terminal
`
`with software.
`
`The terminal includes a computer
`
`readable medium having computer program code means,
`
`and means for executing the computer program code
`
`means to implement a layered software architecture.
`
`In the layered software architecture, an application
`
`layer allows a user to interact with the terminal, a
`
`middleware layer supports the application layer by
`
`providing Application Program Interfaces {APIS}, an
`
`operating system layer supports the middleware
`
`layer, and a hardware layer supports the operating
`
`system layer. Additionally,
`
`the layered software
`
`architecture allows configuration of a functionality
`
`of the application layer and the middleware layer
`
`independently of the operating system layer and the
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`7
`
`

`
`W0 00.324192
`
`PCTIUS9 9:21 983
`
`hardware layer.
`
`The layered software architecture includes a
`
`set top management layer that supports the
`
`application layer by configuring management services
`
`of the terminal.
`
`The management services include at
`
`least one of application, user,
`
`resource and
`
`presentation management.
`
`The set top management layer may implement a
`
`state information module to designate states of
`
`resources of the terminal.
`
`The state information
`
`module may be based on the ITU-T X.731 standard.
`
`The software architecture may further provide
`
`an application program interface {API} for providing
`
`a configurable functionality.
`
`The API may enable
`
`the terminal to support multiple users, or to secure
`
`controlled access of resources.
`
`The API may enable
`
`the terminal to download, register, start, stop, and
`
`monitor applications of the applications layer.
`
`The
`
`API may also enable the terminal to manage audio,
`
`video and/or other data presentations.
`
`The software architecture may also provide one
`
`or more of: a set top manager, a presentation
`
`manager, an application manager, a user manager, a
`
`resource manager, a set top agent, and a program
`view assistant.
`
`A corresponding method is also presented.
`
`10
`
`15
`
`20
`
`25
`
`
`
`8
`
`

`
`W0 [I[|:'24l92
`
`PCTJ'US99;“2I 983
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`FIG.
`
`1 illustrates a set top terminal software
`
`architecture evolution in accordance with the
`
`present invention.
`
`FIG.
`
`2 illustrates a detailed set top terminal
`
`software architecture in accordance with the present
`invention.
`
`FIG.
`
`3 illustrates a set top management
`
`top-
`
`10
`
`level class diagram in accordance with the present
`invention.
`
`15
`
`20
`
`25
`
`FIG. 4 illustrates a set top application
`
`manager top—level class diagram in accordance with
`
`the present invention.
`
`FIG.
`
`5 illustrates a set top applications
`
`management relations top-level class diagram in
`
`accordance with the present invention.
`
`FIG.
`
`6 illustrates a set top control
`
`application top-level class diagram in accordance
`
`with the present
`
`invention.
`
`FIG.
`
`7 illustrates a set top user manager top-
`
`level class diagram in accordance with the present
`invention.
`
`FIG.
`
`8 illustrates a set top resource manager
`
`top-level class diagram in accordance with the
`
`present invention.
`
`FIG.
`
`9 illustrates a top—level class diagram of
`
`available set top devices in accordance with the
`
`present invention.
`
`
`
`9
`
`

`
`WO 00324192
`
`PCT:'US99;'2l983
`
`FIG. 10 illustrates a set top software
`
`architecture framework in accordance with the
`
`present
`
`invention.
`
`10
`
`10
`
`

`
`W0 [|I]!2-1192
`
`PCTIUS99;‘2I 983
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`The present invention provides a software
`
`architecture framework for the soft set top.
`
`FIG.
`
`1 illustrates a set top terminal software
`
`architecture evolution in accordance with the
`
`present invention.
`
`Set Top software is seen as an evolutionary
`
`process that progresses from relatively simple
`
`functionality, small, unstructured, memory- and
`
`processing cycle—saving to relatively complex
`
`functionality,
`
`larger, structured, memory and
`
`processing cycles intensive-
`
`Javaftm), ActiveX(tm}
`
`or an equivalent type of component based object-
`
`oriented technology is seen as the fundamental
`
`technology underlying next generation Set Top
`
`software architectures.
`
`we refer to this technology as the "General
`
`Instrument Set Top Applications and Middleware
`
`Platform {STAMP}". This technology allows the
`
`consideration of Set Top application and middleware
`
`software functionality independent from the
`
`operating system and hardware.
`
`STAMP provides an apparatus and machinery for
`
`support of multiple users, secure controlled access
`
`of resources, application download, registration,
`
`start, stop, and monitoring,
`
`resource download,
`
`registration, start, stop, and monitoring,
`
`management of audio, video, data presentations, and
`
`some additional functionality. This technology
`
`allows the consideration of Set Top application and
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`11
`
`11
`
`

`
`WO 00124192
`
`PCTIUS99)? 1983
`
`10
`
`middleware software functionality independent from
`
`operating system and hardware.
`
`STAMP is architected based on the Java API
`
`platform. Therefore,
`
`its most straightforward STAMP
`
`realization is using Java.
`
`FIG-
`
`1 illustrates the
`
`Set Top software architecture evolution in a
`
`simplified form.
`
`A present architecture includes a
`
`hardware layer 100, an operating system layer 110,
`
`and a native applications and middleware layer 120.
`
`The "native" applications and middleware are
`
`designed for use with a specific operating system
`
`and hardware environment.
`
`In a near-term future
`
`architecture,
`
`the applications and middleware layer
`
`120 evolves to include a combination of proprietary
`
`applications and middleware 122, and the native
`
`applications and middleware 120.
`
`In a long-term
`
`future architecture,
`
`the applications and middleware
`
`layer 120 evolves to include only proprietary
`
`applications and middleware 122, which are
`
`independent of the operating system and hardware
`
`environment.
`
`For example, an application such as a
`
`browser is written to an abstraction layer that is
`
`independent of the operating system and hardware
`environment.
`
`The approach taken in the design of the STAMP
`
`is to use STAMP components unless it is not feasible
`
`due to performance or other requirements,
`
`in which
`
`case the STAMP components can be replaced with
`
`native components.
`
`FIG.
`
`2 illustrates a detailed set top terminal
`
`software architecture in accordance with the present
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`12
`
`12
`
`

`
`W0 00;‘2-I192
`
`PCTfUS99I'21983
`
`ll
`
`The Figure illustrates the layered
`invention.
`architecture of the STAMP near-term solution.
`
`The architecture 200 includes a hardware layer
`205, a device driver layer 210, and a real-time
`
`operating system layer 215. Another layer 222
`
`includes STAMP interpreter tasks 220, compiled STAMP
`
`tasks 225, and native application tasks 230.
`
`A next
`
`layer 232 includes native APIS 265 and a number of
`
`sublayers,
`
`including a STAMP components sublayer
`
`260,
`
`a STAMP application APIS sublayer 255, a
`
`standards API sublayer 250, encompassing standards
`
`such as DAVIC, DVB, ATSC, etc-, a STAMP middleware
`
`APIS sublayer 245, and a sublayer with STAMP
`
`interpreter tasks 235 and a STAMP compiler 240.
`
`Next, a STAMP set top management layer 270 is
`
`provided,
`
`then a layer 272 with STAMP applications
`
`275 and native applications 280. An applet
`
`layer
`
`285 is also provided.
`
`The layers within the software architecture
`
`indicate possible dependency from higher layer to
`
`lower layer.
`
`For example, an application will use
`
`STAMP components 260, which in turn use some
`
`standard APIs 250, which may run on a STAMP
`
`interpreter 235 or may be compiled on a STAMP
`
`compiler 240.
`
`Generally, each layer is said to support or
`
`service the layers above it.
`
`The user interacts with the Set Top through the
`
`two topmost layers,
`
`the applet layer 285 and the
`
`application layers 275, 280. Any type of
`
`interaction with the set top is through applications
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`13
`
`13
`
`

`
`W0 00.04192
`
`PCT:'US99f2l 983
`
`12
`
`or applets.
`
`The different layers have been defined
`
`with the following reasoning:
`
`1.
`
`The topmost layer Contains processing
`
`entities which are temporary in nature and run
`
`within applications, e.g., such as a browser, and
`
`are downloaded over broadcast channels, over the
`
`Internet, or are distributed otherwise. Applets run
`
`within applications, and therefore take advantage of
`
`the applications‘ resources and can be restricted in
`
`their capabilities. Applications can be STAMP
`
`applications or native applications.
`
`2. Applications are permanent, or at least
`
`long—term.
`
`They are the only unit—level application
`
`processing entities and are part of the basic Set
`
`Top software distribution or some later upgrade
`
`through code download or other means.
`
`On the STAMP
`
`side,
`
`they'are implemented as lightweight process
`
`groups (e.g., Java thread groups).
`
`3.
`
`STAMP Set Top Management controls all Set
`
`Top resources and multiplexes them between the
`
`different Set Top applications.
`
`4. Applications, applets, and management
`
`components are built out of STAMP component sets
`
`(e.g., Java Bean Bags}. Different component sets
`
`are defined for different problem domains, e g.,
`
`graphics, networking, etc.
`
`The advantage of using
`
`component sets is the uniformity of components,
`
`i.e., it is easier to build a house out of bricks
`
`than variable size stones.
`
`5.
`
`STAMP components are built using a variety
`
`of APIs.
`
`The topmost API layer in the software
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`14
`
`14
`
`

`
`W0 00.324192
`
`PCTfUS99f2I983
`
`13
`
`architecture consists of those APIS that have been
`
`defined to create suitable abstractions for
`
`dififerent domains such as conditional access, set
`
`top management, etc.
`
`STAMP components can use any
`
`of the API layers, but
`
`the preferred API access
`
`layer is the next lower one, which is the STAMP
`
`Applications API layer 255.
`
`6.
`
`STAMP Applications APIs are defined using
`
`Standard APIs which define industry-wide viable
`
`abstractions of common Set Top functionalities such
`
`as MPEG PSI, DVB SI, etc.
`
`STAMP Application APIs
`
`can use any of the API layers, but the preferred API
`
`access layer is the next
`
`lower one, which is the
`
`Standard API layer 250.
`
`7.
`
`Standard APIS are defined using STAMP
`
`Middleware APIs 245, e.g., Standard Java APIs such
`
`Personal Java, Java Security API, etc.
`
`8.
`
`STAMP Middleware APIs execute on an
`
`interpreter (such as a JVM) or are compiled.
`
`9.
`
`If STAMP Middleware APIs are interpreted,
`
`the interpreter executes as a task or a group of
`
`tasks within the Operating System 215.
`
`10.
`
`The Operating System 215 controls all the
`
`10
`
`15
`
`20
`
`Set Top resources and enables interaction between
`
`25
`
`the various tasks and resources.
`
`11.
`
`The Operating System 215 uses Device
`
`Drivers 210 to control and communicate with a
`
`variety of devices.
`
`12.
`
`The bottom layer is the actual hardware-
`
`30
`
`Agents are processing units that enable
`
`functionality on behalf of another entity.
`
`Examples
`
`
`
`15
`
`15
`
`

`
`WO 00224192
`
`PCTIUS99.-’21983
`
`14
`
`of agents might be a "Management" agent that allows
`
`the IRD to be remotely managed by some headend
`
`facility either via MPEG transport, modem, or other
`
`method. Or,
`
`a "Personal" agent might act on a
`
`user's behalf to monitor the user's actions and
`
`search for material that matches their behaviors
`
`{e.g., ProgramViewAssistant).
`
`§1. Execution and Management Framework
`
`STAMP assumes the following sequence of steps
`
`after a Set Top is turned on:
`
`1. After the OS is up and running,
`
`the STAMP
`
`Interpreter is started with the GI SetTop Program.
`
`2.
`
`The GI SetTop Program consists of a single
`
`infinite loop which initializes and starts the
`
`processing threads.
`
`. The first threads started are the
`
`"management threads", which service all other
`
`threads. These threads also catch exceptions thrown
`
`by initialized devices.
`
`3. Application Threads are started as a
`
`result of actions by the SetTop Manager Thread
`
`Group.
`
`4. Applets are started by Applications.
`
`5.
`
`The SetTop Manager Thread Group control
`
`all tasks on the Set Top,
`
`inside or outside of the
`
`interpreter.
`
`6.
`
`The SetTop Manager Thread Group can stop
`
`the JVM and the Set Top itself.
`
`The Set Top Management Framework consists of
`
`the following management entities:
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`16
`
`16
`
`

`
`W0 00.04192
`
`PCTIUS99/21983
`
`15
`
`1.
`
`The Set Top Manager {SetTopManager)
`
`-
`
`controls the Set Top
`
`and
`
`initiates and starts all
`
`functions; configures all management services
`
`including application, user,
`
`resource, and
`
`presentation management; closely interacts with the
`
`presentation manager, which controls the
`
`presentation of all audio—visual materials;
`
`configures, starts, stops, and interacts with the
`
`Set Top Agent which enables remote Set Top
`
`management
`
`through the Internet or over the
`
`transport stream; configures, starts, stops, and
`
`interacts with the Program View Assistant.
`
`2.
`
`Presentation Manager ~ consists of three
`
`types of elements, namely decoders, compositors, and
`
`presenters; configures all presentable devices
`
`(video, audio, etc.); controls the decoding of all
`
`presentable materials; composes all presentable
`
`materials for audio and/or video presentation;
`
`presents all presentable materials; possibly
`
`interacts with event processing and forwarding to
`
`all registered applications; supports a user
`
`interface for presentation preferences.
`
`3. Application Manager - manages the life-
`
`Cycle of applications including, registration
`
`(loading) of applications, maintenance of a list of
`
`applications available, possibly decryption or
`
`decompression and move to address space, assessment
`
`of whether application can run based upon its
`
`execution attributes, start/stop/monitor application
`
`treads and allotted resources, vehicle for intra-
`
`application Communication, propagates events to
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`17
`
`17
`
`

`
`W0 0|]f24192
`
`PCTIU S99!2 1 983
`
`16
`
`applications that care (registered); and supports a
`
`user interface for application management.
`
`4. User Manager - manages a list of users,
`
`their preferences, and their access rights with
`
`regards to set top resources. Verifies
`
`authorizations / security to enable components to
`
`operate.
`
`Supports a user interface for user
`
`preferences, user management, and access control
`
`management of the set top.
`
`5.
`
`Resource Manager - Provides access to all
`
`set top resources through a variety of resource
`
`specific APIS. Manages those resources.
`
`Supports a
`
`user interface for resource management.
`
`6.
`
`Set Top Agent
`
`— A Java SNMP Agent with a
`
`MIB that permits fault, configuration, accounting,
`
`performance, and security management of the Set Top.
`
`7.
`
`Program View Assistant
`
`- An intelligent
`
`agent utilizing forward chaining based on the
`
`unification algorithm; minimally, it allows the
`
`association of users with different types of
`
`presentation materials using the IPG database; it
`
`Supports an interactive display that can be started
`
`as an application or assists the user in background
`
`mode through alerts, operations short cuts, and
`
`other types of help.
`
`The figure discussed below is a Unified
`
`Modeling Language (UML) class diagram depicting the
`
`class relations between various set top management
`
`components.
`
`FIG.
`
`3 illustrates a set top management
`
`top-
`
`level class diagram in accordance with the present
`
`10
`
`15
`
`20-
`
`25
`
`30
`
`
`
`18
`
`18
`
`

`
`W0 0034192
`
`PCTfUS99!2I 983
`
`1'?
`
`invention.
`
`FIG.
`
`3 uses the Unified Modeling
`
`Language, developed by Rational Software
`
`Corporation, USA.
`
`A class diagram represents the
`
`static structure of a system, and shows a pattern of
`
`5
`
`behaviors that the system exhibits. This is
`
`accomplished by showing the existence of classes and
`
`their relationships. Each class is represented by a
`
`box with three sections.
`
`The top section lists the
`
`class name.
`
`The middle section denotes a list of
`
`10
`
`attributes, and the bottom section denotes a list of
`
`operations.
`
`In the figures, only the class names
`
`are shown for simplicity.
`
`A solid line between classes denotes an
`
`association.
`
`A solid line with a white diamond tip
`
`15
`
`denotes aggregation by reference, while a black
`
`diamond tip denotes aggregation by value.
`
`A
`
`triangular arrowhead denotes a restricted
`
`navigation, e.g.,
`of structure.
`
`inheritance of operation but not
`
`20
`
`Additionally,
`
`a number may optionally be shown
`
`next to a line end that touches a class box to
`
`indicate the cardinality of the relationship, e.g.,
`
`0,
`
`"0.
`"*" denotes "or more", e.g.,
`Also,
`.
`.
`1 .
`*“ denotes "0 or more".
`"0.
`.
`.1" denotes an
`
`25
`
`aggregation of 0 or 1.
`
`All management entities consist of processing
`
`threads (lightweight processes or tasks). All of
`
`the management processing threads are part of the
`
`SetTopManager ThreadGroup 305, which is further
`
`30
`
`subdivided into the ApplicationManager 310,
`
`Presentationmanager 315, Usermanager 320,
`
`19
`
`19
`
`

`
`W0 0034192
`
`PCHYUS9flfl1983
`
`18
`
`Resourcemanager 325, and SetTopAgent
`
`330
`
`ThreadGroup{s}.
`
`All management entities interface the set top
`
`management information base (SetTopMIB) 335.
`
`Each
`
`management entity (MngmtEntity) 355 controls a part
`
`of the MIB while the SetTopAgent 330 provides
`
`external access to the MIB (i.e., SNMP, RMI, CORBA,
`
`IIOP, etc.). MngmtEntity 355 is associated with a
`
`Thread 360 and a ThreadGroup 365, both from
`
`10
`
`java.lang.
`
`The ApplicationManager 310 controls the
`
`applications registry (AppRegistry) 340,
`
`the
`
`presentation manager controls the
`
`PresentationRegistry 345,
`
`the user manager controls
`
`the user registry (UserRegistry) 350, and the
`
`resource manager controls the resource registry
`
`(ResourceRegistry) 355.
`
`The following subsections
`
`outline the different management entities in more
`detail.
`
`Note that the invention enables the application
`
`of generic state information modules, such as those
`
`described in the ITU-T X.731 standard, within
`
`applications, resources, and the set—top MIB. This
`
`standard is part of the Q3 standard adopted by the
`
`Telecommunications Management Network (TMN).
`
`The
`
`TMN standard was developed by the CCITT {now the
`
`ITU—T)
`
`to provide an architecture to achieve an
`
`interconnection between various types of management
`
`systems and telecommunications equipment for the
`
`exchange of management
`
`information over standardized
`
`15
`
`20
`
`25
`
`30
`
`
`
`20
`
`20
`
`

`
`W0 0|}I2-H92
`
`PCTfUS99:'2I983
`
`19
`
`interfaces. TM is largely based on OSI management
`standards and includes:
`
`Principles for TMN (ITU—T M.3010 and M.3020),
`
`which defines the architecture;
`
`Generic Network Information model
`
`(ITU-T
`
`M.3lD0};
`
`'
`
`Management Services {ITU—T M.3200);
`
`Management Function (ITU-T M.3400}; and
`
`Protocol Profiles for Management Interfaces
`
`{ITU~T (2.811,
`
`(3.812, Q.7'73).
`
`It is intended that all networks,
`
`telecommunications services, and major type of
`
`equipment may be managed by TMN.
`
`TMN functions exchange management
`
`information
`
`by means of the ITU-T X-700 series {OSI system
`
`management) standards.
`
`Each software component
`
`in a
`
`TMN layer represents itself and the resources it
`
`manages to the layer above as a managed object.
`
`The
`
`interactions between manager and agent are defined
`
`by means of CMISE/CMIP.
`
`The organization of the
`
`information architecture,
`
`the MIB, contains managed
`
`objects for specific technologies that can be
`
`refined from the general template provided in ITU—T
`
`M—3l0O,
`
`the Generic Network Information Model.
`
`All TMN comunication is based on the Agent-
`
`Manager paradigm.
`
`The Q3 interface relies on the
`
`OSI management model using the OSI Common Management
`
`Information protocol.
`
`CMIP is used between Common
`
`Management Information service Elements (CMISE)
`
`to
`
`provide Common Management Information Service
`
`{CMIS).
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`21
`
`21
`
`

`
`W0 00f24192
`
`PCT.-‘U S99!2 I 983
`
`20
`
`§1.1.
`
`Applications Management
`
`The application manager controls a number of
`
`applications which are all built based on the
`
`generic applications template which enables the
`
`monitoring and control by the application manager.
`
`The application management APIS provide the
`
`system with application life—cycle and application
`
`integrity related functions.
`
`Application Verification and Validation API —
`
`The application verification and validation API
`
`provides the system with functions for TED.
`
`Application Life Cycle API — The application
`
`life cycle API provides the system with functions
`
`for loading, starting, pausing, stopping, and
`
`unloading applications.
`
`Application Registration API
`
`— The application
`
`registration API provides the system with functions
`
`for registering application version and application
`
`source information.
`
`FIG. 4 illustrates a set top application
`
`manager top~level UML class diagram in accordance
`
`with the present invention.
`
`Likevnumbered elements correspond to one
`
`another in the various figures.
`
`Here, a Resourceclient class 405 is associated
`
`with a Genericnpp class 410, which is associated
`
`with a Modem Proxy class 415, which is associated
`
`with a ResourceProxy class 420.
`
`The Resourceclient class 405 and ResourceProxy
`
`class 420 may be from org.davic.resources.
`
`The
`
`10
`
`15
`
`20
`
`25
`
`30
`
`
`
`22
`
`22
`
`

`
`W0 0094192
`
`PCTfUS99l21 983
`
`21
`
`GenericApp class 410 may be from
`
`gi.settop.applications.
`
`Generic applications implement resource client
`
`405 and resource proxy 420 interfaces for all
`
`resources used by the individual applications 410.
`
`All applications, although managed by the
`
`application manager only, have to interact with the
`
`presentation 315,
`
`the user 320, and the resource
`
`manager 325.
`
`FIG.
`
`5 contains a UML class diagram
`
`illustrating these dependencies.
`
`FIG. 5 illustrates a set top applications
`
`management relations top-level UML class diagram in
`
`accordance with the present invention.
`
`The GeneriCApp class 410 may be associated with
`
`various classes,
`
`such as a Download class 505, a
`
`WatchTV class 510, an Email class 515, a Ticker
`
`Class 520,
`
`a WebBrowser class 525, and an EPG class
`
`530, each of which may be from
`
`gi.settop.applications.
`
`The interaction between the user and all
`
`management entities is accomplished through the set
`
`top control application, which, as are all other
`
`applications,
`
`is controlled by the application
`
`manager 310 through the generic application 410
`
`10
`
`15
`
`20
`
`25
`
`template.
`
`FIG.
`
`6 illustrates a set top control
`
`application top~level UML class diagram in
`
`accordance with the present invention.
`
`The set top control application
`
`30
`
`{SetTopControlApp) 605 coordinates the interaction
`
`between the user through a set top control GUI
`
`
`
`23
`
`23
`
`

`
`wo oo;z4192
`
`PCT!US99f21983
`
`22
`
`{SetTopControlGUI} 610, and the different set top
`
`managers 310, 315, 320 and 325.
`
`The SetTopControlApp 605 and SetTopControlGUI
`
`610 may be from gi.settop.applications.
`
`51.2.
`
`User Management
`
`The user profile APIs provide the system with
`
`user-centric and account-centric functions.
`
`Billing API
`
`- The billing API provides the
`
`10
`
`system with functions for managing accounts and
`
`performing account—re1ated transactions.
`
`Preferences API
`
`~ The preferences API provides
`
`the system with functions for managing user—centric
`
`properties.
`
`15
`
`Favorite Services API - The favorite services
`
`API p

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