`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
`
`1
`
`SAMSUNG 1009
`
`
`
`Codes used to identify States party to the PCT on the front pages of pamphlets publishing intemational applications under the PCT.
`ES
`LS
`Lesotho
`St
`Slovenia
`SIC
`FI
`LT
`Lithuania
`Slovakia
`FR
`LU
`SN
`Luxembourg
`Senegal
`GA
`LV‘
`Latvia
`Swuilarid
`Chad
`GB
`MC
`Monaco
`MD
`Togo
`Republic of Moldova
`MG
`Madagascar
`Tajikistaur
`MK
`Turlsrnenistan
`The fmmer Yugoslav
`Turkey
`Republic of Macedonia
`Trinidad and Tobago
`Ukraine
`Mongolia
`Mauritania
`Uganda
`Malawi
`United States of America
`Mexico
`Uzbekistan
`Vial Nam
`Niger
`Netherlands
`Yugoslavia
`Zimbabwe
`Nonvay
`New Zcaland
`Poland
`Ponugal
`Romania
`Russian Federation
`Sudan
`Sweden
`Singapore
`
`Albania
`Annenia
`Austria
`Australia
`Azerbaijan
`Bosnia and lleflegovina
`Barbados
`Belgium
`Burkina Faso
`Bulgaria
`Benin
`Brazil
`Belarus
`Canada
`Central African Republic
`Congo
`Switzerland
`CO1: d'l\roire
`Cameroon
`China
`Cuba.
`Czech Republic
`Germany
`Denmark
`Estonia
`
`GH
`GN
`GR
`HU
`IE
`IL
`[S
`11‘
`JP
`KE
`KG
`KP
`
`KR
`KZ
`LC
`1.]
`LK
`LR
`
`TD
`TG
`TJ
`TM
`TR
`TT
`UA
`UG
`US
`U1.
`VN
`YU
`Z-W
`
`FOR THE PURPOSES OF INFIJRMATION ONLY
`
`Spain
`F'rrI1a.nd
`France
`Gabon
`United Kingdom
`Georgia
`Ghana
`Guinea
`Greece
`Hungary
`lreiaxirl
`Israel
`Iceland
`Italy
`Japan
`Kenya
`Kyrgyzstan
`Democratic 'P‘E:ople's
`Republic of Korea
`Republic oi‘ Korea
`Knzalcslan
`Saint Lucia
`Liechtenstein
`Sri Lanka
`Liberia
`
`ML
`MN
`MR
`MW
`MX
`NE
`N1.
`NO
`NZ
`PL
`PT
`RO
`RU
`SD
`SE
`SG
`
`2
`
`
`
`WO 00124192
`
`PCTfUS99f21983
`
`TELEVISION SET-TOP BOX WITH CONFIGURABLE
`
`FUNCTIONALITY
`
`BACKGROUND OF THE INVENTION
`
`This application claims the benefit of U.S.
`
`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
`
`with the Opencable Advanced Set Top API
`Classification.
`
`The current OpenCable APE classification is
`
`summarized in section 7 of the detailed description,
`below.
`
`The following acronyms and terms are used:
`
`API
`
`- Application Program Interface;
`
`ATSC — Advanced Television Systems Committee;
`
`ATM — Asynchronous Transfer Mode;
`
`CA — Conditional Access;
`CORBA — Common Object Request Broker Architecture;
`CSLIP — Connectionless Serial Line Interface
`
`Protocol;
`
`DASE — ATSC T3/S17 Digital TV Application Software
`
`Environment;
`
`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 Ill]l24l92
`
`PCTfUS99l2l 983
`
`Digital Television;
`
`DVB Digital Video Broadcast;
`
`DVD Digital Video Disc;
`
`EPG
`
`Electronic Program Guide;
`
`FTP — File Transfer Protocol;
`
`GUI
`
`- Graphical User Interface;
`
`HSSIO ~ High—Speed Serial I/O
`
`I/O — Input/Output;
`IIOP — Internet Inter Orb Protocol;
`
`IP — Internet Protocol;
`
`IPG
`
`IRD
`
`ISO
`
`Interactive Program Guide;
`
`Integrated Receiver Decoder;
`
`International Standards Organization;
`
`JVM ~ Java Virtual Machine;
`
`MIB — Management Information Base;
`
`MPEG - Moving Picture Experts Group;
`
`PSIP — Program and System Information Protocol
`
`(for
`
`Terrestrial Broadcast and Cable);
`
`RAM - Random Access Memory;
`
`RMI
`
`~ Remote Method Invocation;
`
`Sat
`
`— Satellite;
`
`SI
`
`—
`
`(DVB) Service Information;
`
`SMPTE ~ Society of Motion Picture and Television
`
`Engineers;
`
`SNMP — Simple Network Management Protocol:
`
`SODA — denotes a security chip proprietary to
`
`General Instrument Corporation;
`
`S/PDIG —
`
`STAMP — Set Top Applications and Middleware
`
`Platform;
`
`S-vid - Video connector interface;
`
`4
`
`
`
`W0 00/24192
`
`PCT/US99!21983
`
`TCP — Transmission Control Protocol;
`
`UHF — Ultra High Frequency;
`
`UML — Unified Modeling Language;
`
`v.34 — a physical interface standard; and
`
`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
`
`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
`
`interactive shopping,
`demand {VOD), pay-per-view,
`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
`
`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.
`
`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
`Software solutions do not solve these problems.
`
`5
`
`
`
`W0 Ill]/24192
`
`PCTIUSQ9/11983
`
`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
`
`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
`
`software architecture employs Java{tm), Activexttm)
`
`or an equivalent type of component based object~
`
`oriented technology.
`
`The technology should allow the consideration
`
`of Set Top application and middleware software
`
`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,
`
`application download, registration, start, %top, and
`
`monitoring,
`
`resource download, registration, start,
`
`stop, and monitoring, management of audio, video,
`
`data presentations, and some additional
`
`functionality.
`
`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 DW24192
`
`PCT/US99l2l983
`
`SULII-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
`
`7
`
`
`
`WO 00124192
`
`PCT/US99l21983
`
`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 (APT)
`
`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.
`
`8
`
`
`
`W0 fllll24-192
`
`PCT/US99!2I 983
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`1 illustrates a set top terminal software
`FIG.
`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-
`
`level class diagram in accordance with the present
`invention.
`
`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 00124192
`
`PCT/US991'2!9S3
`
`FIG. 10 illustrates a set top software
`architecture framework in accordance with the
`
`present invention.
`
`10
`
`
`
`WO 00124192
`
`PCT/U899/21983
`
`DETAILED DESCRIPTION OF THE INVENTION
`
`The present invention provides a sofitware
`
`architecture framework for the soft set top.
`
`1 illustrates a set top terminal software
`FIG.
`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), Activexttm)
`
`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
`
`11
`
`
`
`W0 0024192
`
`PCTfUS99I'2 I983
`
`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
`
`12
`
`
`
`W0 00l2-I192
`
`PCTIUS99/21983
`
`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 suhlayer 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
`
`13
`
`
`
`W0 lllJ."'2-1192
`
`PCTIUSQ9/‘Z1983
`
`or applets.
`
`The different layers have been defined
`
`with the following reasoning:
`
`l.
`
`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
`
`1ong—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
`
`14
`
`
`
`W0 l]l]l24l92
`
`PCTIUSQ9/21983
`
`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
`
`Set Top resources and enables interaction between
`the various tasks and resources.
`
`The Operating System 215 uses Device
`11.
`Drivers 210 to control and communicate with a
`
`variety of devices.
`
`12.
`
`The bottom layer is the actual hardware-
`
`Agents are processing units that enable
`
`functionality on behalf of another entity.
`
`Examples
`
`15
`
`
`
`WO 00124192
`
`PCT/'US99l2l983
`
`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
`
`a "Personal" agent might act on a
`method. Or,
`user's behalf to monitor the user's actions and
`
`search for material that matches their behaviors
`
`{e.g., Programviewassistant).
`51. 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.
`
`a 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:
`
`16
`
`
`
`WO 00/24192
`
`PCTfUS99;‘2 I983
`
`l.
`
`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/stopfmonitor application
`
`treads and allotted resources, vehicle for intra-
`
`application Communication, propagates events to
`
`17
`
`
`
`W0 lJl]I24l92
`
`PCTIU S9912 1 983
`
`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
`
`18
`
`
`
`W0 fll}I24l92
`
`PCT:'US99l2l 983
`
`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
`
`behaviors that the system exhibits. This is
`
`accomplished by showing the existence of classes and
`
`their relationships. Each class is represented by a
`
`The top section lists the
`box with three sections.
`class name.
`The middle section denotes a list of
`
`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
`
`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
`
`a number may optionally be shown
`Additionally,
`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
`
`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
`
`subdivided into the AppliCationManager 310.
`
`Presentationmanager 315, Usermanager 320,
`
`19
`
`
`
`W0 00/24192
`
`PC'I'fUS99f2l983
`
`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
`
`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.73l 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
`
`20
`
`
`
`W0 00/24192
`
`PCT/US99a’21983
`
`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—’I' Q.8ll, Q.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-3100,
`
`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).
`
`21
`
`
`
`W0 0034192
`
`PCTIU SW3 1 983
`
`§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 TBD.
`
`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 topslevel UML class diagram in accordance
`
`with the present invention.
`
`Likewnumbered elements correspond to one
`
`another in the various figures.
`
`Here, a Resourceclient class 405 is associated
`
`with a GenericApp 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
`
`22
`
`
`
`W0 0Dl24l92
`
`PCTfUS99f2I 983
`
`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 3l5,
`
`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
`
`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
`
`{SetTopControlApp) 605 coordinates the interaction
`
`between the user through a set top control GUI
`
`23
`
`
`
`wo no/24192
`
`PCT/US99f219B3
`
`(SetTopContro1GUIJ 610, and the different set top
`managers 310, 315, 320 and 325.
`
`The SetTopControlApp 605 and SetTopControlGUI
`
`610 may be from gi.settop applications.
`
`§l.2.
`
`User Management
`
`The user profile APIs provide the system with
`
`user—centric and account—centric functions.
`
`Billing API
`
`- The billing API provides the
`
`system with functions for managing accounts and
`
`performing account—re1ated transactions.
`
`Preferences API
`
`V The preferences API provides
`
`the system with functions for managing user—centric
`
`properties.
`
`Favorite Services API — The favorite services
`
`API provides the system with functions for managing
`user-defined sets and subsets of services.
`
`The security APIs provide the system with
`
`functions for controlling and managing access to
`
`applications, content, and services.
`Content Control API
`— The content control API
`
`provides the system with functions for controlling
`
`access to applications, content, and services based
`
`on user-centric criteria (parental locks}.
`Conditional Access API — The conditional access
`
`API provides the system with functions for
`
`controlling access to services based on service
`
`restrictions and account restrictions.
`
`Authentication and Certificate Management API —
`
`The authentication and certificate management APE
`
`24
`
`
`
`W0 D012-I192
`
`PCTIU59912 1983
`
`provi