WO2000072583A1 - Software architecture for a television set-top terminal providing compatibility with multiple operating environments - Google Patents

Software architecture for a television set-top terminal providing compatibility with multiple operating environments Download PDF

Info

Publication number
WO2000072583A1
WO2000072583A1 PCT/US2000/007980 US0007980W WO0072583A1 WO 2000072583 A1 WO2000072583 A1 WO 2000072583A1 US 0007980 W US0007980 W US 0007980W WO 0072583 A1 WO0072583 A1 WO 0072583A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
kernel
middleware
layer
operating
Prior art date
Application number
PCT/US2000/007980
Other languages
French (fr)
Inventor
Jack M. Birnbaum
Chris Del Sordo
Robert Gazda
Original Assignee
General Instrument Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by General Instrument Corporation filed Critical General Instrument Corporation
Priority to CA002373838A priority Critical patent/CA2373838A1/en
Priority to JP2000619923A priority patent/JP2003500943A/en
Priority to AU40301/00A priority patent/AU4030100A/en
Priority to MXPA01011902A priority patent/MXPA01011902A/en
Priority to EP00919648A priority patent/EP1181813A1/en
Publication of WO2000072583A1 publication Critical patent/WO2000072583A1/en
Priority to HK03100049.8A priority patent/HK1048410A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]

Definitions

  • the present invention provides a software architecture that enables core software of a television 10 set-top terminal to be compatible with different operating environments .
  • a digital set-top box (e.g., subscriber terminal) for cable or satellite television, or the like, requires 25 OS software, middleware and device drivers to function.
  • OS software provides the multithreading, real-time OS support needed to operate the se -top.
  • Middleware is software that connects two otherwise separate applications. For example, such middleware can be provided to mediate between an application program and a network, thereby managing the interaction between disparate applications across heterogeneous computing platforms. More generally, middleware serves as the glue between separate applications, and is sometimes referred to as "plumbing" because it connects two sides of an application and passes data between them.
  • drivers are used to control different hardware devices in a terminal, such as tuners, demodulators, MPEG-2 decoders (e.g., audio, video, and data) , video encoders, audio mixers, and so forth.
  • MPEG-2 decoders e.g., audio, video, and data
  • core software In a set -top box, "core software” is provided that allows the set-top to provide such necessary television functions as service acquisition, system information (SI) management, download capability (e.g., for new application and OS software) , return path communication (e.g., for polling the set-top for billing purposes), set-top configuration, and conditional access control (i.e., security).
  • SI system information
  • download capability e.g., for new application and OS software
  • return path communication e.g., for polling the set-top for billing purposes
  • set-top configuration e.g., for polling the set-top for billing purposes
  • conditional access control i.e., security
  • each set- top has only been designed to use one particular operating environment.
  • the problem of handling multiple operating environments has not previously been addressed in the set -top environment.
  • applications have been ported to various operating environments either through rewrite of the set-top system software to that environment or through an abstraction layer.
  • the core set-top system software should allow the device to operate within a common system environment .
  • the architecture should allow for the development of the core software, and then implementation of the architecture in any of a plurality of different operating environments, such as VRTX, Windows CE, AperiOS, PowerTV and other se -top operating environments.
  • the architecture should be suitable for terminals that receive programming services via any type of network, including broadband communications networks, Digital Subscriber Loop (DSL) networks, and others.
  • broadband communications networks including broadband communications networks, Digital Subscriber Loop (DSL) networks, and others.
  • DSL Digital Subscriber Loop
  • the present invention provides a software architecture that enjoys the aforementioned and other advantages .
  • a software architecture is provided to enable core software of a set- top device to operate in any of a plurality of different operating environments.
  • an apparatus for providing a software architecture for implementing a television subscriber 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.
  • the architecture includes: a first, hardware layer, a second, device driver layer, a third, device driver interface layer, a fourth layer with the core system software for providing television functions, and a kernel abstraction function, a fifth layer for middleware porting, and a sixth layer providing middleware to interface with at least one application program (at a seventh layer) .
  • the kernel abstraction layer and the device driver interface layer enable the core system software to operate in different operating environments.
  • an operating system (OS) kernel is provided at the fourth and fifth layers .
  • the architecture further includes a software interface between the core system software and the fifth layer that enables the core system software to operate in the different operating environments.
  • the television functions of the core system software include one or more of: message reception and distribution, system information processing, terminal configuration, terminal control message processing, service acquisition, conditional access control, download capability, return path communication, and diagnostic data management.
  • the television functions may include conditional access services, including one or more of: object authentication, object authorization, resource authorization, baseline privacy key exchange services, and cryptographic functions. A corresponding method is also presented.
  • the Figure depicts a television subscriber terminal architecture in accordance with the invention.
  • the Figure illustrates a software platform, or achitecture, for implementing a set -top box in accordance with the present invention.
  • the platform can be implemented using any suitable operating system, such as the VRTX (virtual real-time executive) operating system available from Mentor Graphics Corporation of Wilsonville, Oregon, Windows CE available from Microsoft Corporation of Redmond, Washington, AperiOS available from Sony Corporation of New York, N.Y., PowerTV available from PowerTV, Inc. of Cupertino, CA, etc.
  • VRTX virtual real-time executive
  • the architecture can be considered to include three main levels, including a lower level (functions 30, 32 and 34) related to hardware and device driver functions, a middle level (functions 14, 16, 18, 20, 22, 24 and 26) related to the core set-top software, and a high level (functions 10, 12) related to middleware and applications .
  • a lower level functions 30, 32 and 34
  • a middle level functions 14, 16, 18, 20, 22, 24 and 26
  • a high level functions 10, 12
  • the top level of the software structure comprises one or more application programs 10 which can comprise, for example, the Digital Television (DTV) navigator application (available from Liberate Technologies of San Carlos, California), interactive games, enhanced television features, Internet web browsers, etc. These applications need to communicate with the core set-top system software 20. This communication is accomplished with the middleware/application interface 12, the middleware porting layer 14, and the software interface 26.
  • the next layer in the software structure comprises middleware/application interface APIs (application program interfaces) 12. This layer 12 is part of the operating environment (i.e., it is OS-specific), and provides the interface to the application program (s) 10 which execute in the set-top (e.g., cable set-top hardware 34) .
  • the layer 12 provides facilities for applications to use and control the set-top box resources, and to coexist with other applications.
  • the layer 12 also provides the environment in which the applications execute.
  • Layer 12 also provides the API to which applications are written, providing an authoring environment.
  • this layer 12 handles the issues of shared resources, multiple applications, application selection, application launch and application termination. Preferably, it provides a consistent interface to the end user.
  • a middleware porting layer 14 e.g., for cable, DSL or other television services, is provided to translate the television, graphics and communication interfaces 20, 22 and 24, respectively, to the particular functional interface required by a middleware software component and specified by the middleware provider/vendor. Middleware providers often specify an interface on which their software has been tested and proven.
  • This layer 14, which is also part of the operating environment, allows portability of the middleware solution to the set-top in an expedient manner. More specifically, the layer 14 allows the core set-top system software 20 to remain the same while allowing different middleware layers to execute.
  • An operating system (OS) kernel 16 is provided at the levels of the middleware porting layer 14 and the core set-top system software 20, the graphics, audio, video subsystem 22 and the network communication stacks 24.
  • This kernel 16 can comprise, for example, a MIPS (million instructions per second) port of the VRTX kernel version 4.0, available from the Microtec division of Mentor Graphics Corporation for the Motorola 68000 family of microprocessors.
  • This kernel 16 provides the multithreading, real time OS support needed to operate the set-top.
  • the OS kernel 16, together with the middleware porting layer 14 and middleware/application interface APIs 12, and the device drivers are components of the operating environment. More particularly, the OS kernel 16 provides OS facilities such as multitasking, inter-task communication, synchronization, and memory management. These facilities are used to create tasks, set task priorities, communicate between tasks, and synchronize operation of the system tasks and application tasks.
  • a kernel abstraction component 18 in accordance with the present invention provides generic kernel functions needed by the other components.
  • component 18 abstracts these functions from the specifics of the OS kernel 16.
  • the kernel abstraction component 18 includes two sections, namely, (i) the kernel calls used by the components, and (ii) the kernel-specific translations. Some of the supported kernel features are implemented in a fashion that is independent of the underlying kernel .
  • the kernel abstraction component 18 separates the details of the OS kernel from the core set- top system software 20, and is used to isolate the core system software from the specifics of an OS kernel implementation. In this manner, portability of the core software 20 between operating environments is provided.
  • the OS kernel abstraction 18 provides standard types of OS services in a generic way to the core system software 20. These services include, e.g., messaging, thread operations, memory management, synchronization, and event management .
  • the core set-top system software 20 contains support for the television system features. For example, this software can be written to support the DigiCipher ® II digital television system features. DigiCipher ® II is a proprietary system developed by General Instrument Corporation of Horsham, Pennsylvania, U.S.A., the assignee hereof. This system includes features that are specific to the cable television environment for downstream and upstream communications .
  • the features supported by the core se -top system software 20 include, without limitation, service acquisition (e.g., acquisition of a pay-per-view movie), system information management, set-top configuration and control, return path for polling, download capability including authentication and authorization, and nonvolatile memory management .
  • the core set-top system software 20 also includes conditional access system drivers (CABIOS) , which are used to provide security and access control. This component supports the features of object authentication, object authorization, resource authorization, cryptographic tool kit, and baseline privacy key exchange .
  • CABIOS conditional access system drivers
  • the interface layer for the cryptographic tool kit (Crypto Toolkit) is the Public Key Cryptography Standards (PKCS) 11 standard.
  • the core set-top system software 20 provides the services that allow the set-top to exist in a communication (e.g., cable television) network.
  • a communication e.g., cable television
  • the functions of this software include: Message reception and distribution - This software component receives messages over a control channel or through an in-band channel, and distributes them to the appropriate software process for interpretation and processing.
  • System information processing This component interprets the System Information provided by the protocol (e.g., Advanced Television Systems Committee (ATSC) , or Digital Video Broadcast (DVB) standard) specifying the Modulation Type, Channel Map, Service Maps, Service Descriptions, Service Components. This information allows the software to find, reconstruct and deliver the service to the user or application.
  • Configuration and control message processing This component interprets the configuration and control messages sent to the set-top from, e.g., a cable headend controller. This information is used to provision a set-top to operate within the cable television system or other applicable network. The component sets up the set-top's features and provides the ability to control the set-top operation remotely by the system operator.
  • Digital and analog service acquisition This component performs all of the necessary functions to 'tune' a video/audio service to be presented to the television viewer.
  • Conditional access subsystem this component authorizes services and applications. Video services are delivered to the set-top in an encrypted form.
  • the Conditional Access (CA) system compares authorization information about the service with authorization information that is delivered to the set- top. When a service is deemed authorized, the CA system enables the decryption of that service.
  • Download subsystem acquires software objects from the cable or other applicable network and stores them in the set-top's memory. These objects may include, e.g., software suites or applications.
  • the download subsystem determines if it is authorized to accept the object and, if it is, then processes and stores each segment of the object. Once the object is stored, it is validated and can then be enabled to execute either from, e.g., the headend control, or by the operating system.
  • Return path subsystem - This component collects purchase and diagnostic information and transmits it back to the headend (or other appropriate system operator site) upon command. This information is ultimately sent to a billing system to enable billing of services used by the set-top.
  • the return path can be a store-and-forward mechanism or an on-demand interactive mechanism.
  • Diagnostic Data management subsystem This component collects and manages data which can be used to diagnose the state of the set-top, allowing for remote determination of the operation and health of the set-top software. This data is made available to the OS for display to the user or installer. It is also made available to the return path subsystem for collection by a computer at the system operator's site (e.g., at a cable headend) .
  • the CABIOS Conditional Access Basic Services
  • Object Authentication This function authenticates a software object to determine that the object is the intended object. Such authentication is accomplished, for example, by matching a signature delivered with the object .
  • Object Authorization This function authorizes objects to be loaded and executed in the set- top. It uses the conditional access hardware to determine the authorization status of the set- top.
  • Resource Authorization This function authorizes the use of set-top resources through the conditional access hardware .
  • Baseline Privacy Key Exchange Services These functions support the key exchange requirements of the Cable modem system, which may conform to the Data-Over-Cable Service Interface Specifications (DOCSIS) .
  • Cryptographic Functions These functions provide a basic cryptographic toolkit for use by the application operating system and applications within the set-top.
  • PKCS 11 As indicated above, a typical cryptographic tool set follows the PKCS 11 standard, although other standards can be used.
  • the graphics, audio and video subsystem 22 includes, in a preferred embodiment, two-dimensional
  • Subsystem 22 provides a standard API to which middleware providers can be ported, and enables video to be viewed combined with graphics . More particularly, the analog or digital video is combined with a graphics overlay to present a combined view to the user.
  • This subsystem 22 also provides audio, which can exist in multiple modes, such as stereo and surround sound. The audio subsystem can also support record and playback of audio files.
  • the network communications stacks 24 provide standardized networking stacks to facilitate web browsing and communications with external devices.
  • This subsystem 24 includes many standardized network protocols which can be delivered over multiple communications paths.
  • the stacks can comprise, for example, Mentor/Microtec ' s CNX communications extension to the VRTX operating system, available from Mentor Graphics Corporation of Wilsonville, Oregon.
  • This subsystem 24 resides on top of the communications drivers (e.g., Ethernet and DOCSIS drivers) and provides, for example, a Berkeley sockets (Berkeley Software Design, Inc.) interface to protocols such as Transmission Control Protocol (TCP) /Internet Protocol (IP) (e.g., a TCP/IP interface over a DOCSIS modem or over an Ethernet device) , User Datagram Protocol (UDP) , Address Resolution Protocol (ARP) , Internet Control Message Protocol (ICMP), Dynamic Host
  • TCP Transmission Control Protocol
  • IP Internet Protocol
  • UDP User Datagram Protocol
  • ARP Address Resolution Protocol
  • ICMP Internet Control Message Protocol
  • DHCP Dynamic Configuration Protocol
  • DNS Domain Name System
  • PGP Point- to-Point Protocol
  • CCP Link Control Protocol
  • IPCP Internet Protocol Control Protocol
  • low level device drivers 32 which, in accordance with the present invention, are interfaced to a driver model used by the core set -top system software 20 via device drivers- to-driver model interface 30.
  • the interface 30 separates the details of the driver model environment from the core system software 20.
  • the interface 30 is used to isolate the device drivers 32 from the specifics of the driver model provided by the operating environment .
  • the low level device driver software 32 is hardware-specific and portable across operating environments .
  • the driver model interface 30 ties the hardware-specific device driver 32 to the OS by providing the OS's desired interface to the driver.
  • Device drivers are provided for each device supported on the set-top. These include a graphics driver, which may be written, e.g., on an ATI Hardware Access Provider (HAP) layer available from ATI Technologies, Inc. A graphics library for use in the set-top can written on the HAP.
  • HAP Hardware Access Provider
  • Typical set-top device drivers include a communications driver, the tuner (e.g., a combination of the General Instrument DOCSIS tuner and Quadrature Amplitude Modulation (QAM) code), serial ports (using, e.g., an IEEE 1394 high performance serial bus), parallel ports, Ethernet ports, Universal Serial Bus (USB) ports, Light-Emitting Diodes (LEDs) , Keypad and/or Keyboard drivers, a DOCSIS driver, such as the Broadcom DOCSIS driver available from Broadcom Corporation of Irvine, California, U.S.A., and a smart card driver.
  • a smart card may be used in the set-top for consumer purchasing applications such as on- line buying.
  • Each device in the set-top requires a driver function to operate.
  • the present invention solves the problem of enabling core set-top software to be compatible with multiple set-top operating environments .
  • the software architecture provided by the invention, it is not necessary to port the core software to different operating environments by rewriting code specific to each environment or through an abstraction layer. Instead, a unique device drivers- to-driver model interface is provided together with a kernel abstraction component that overcomes portability issues and provides for a clean interface between layers in the architecture.
  • the invention can be implemented using object oriented techniques, such as C++ or Java programming, although the invention is by no means limited to such an implementation.
  • the combination of the components described herein provides a basis for set -top software to enable advanced features of an advanced set-top box implementation.
  • Each of the components provides necessary functions required by an advanced set-top terminal.
  • the novel architecture of the invention provides the benefits of reuse and portability of the core set-top software to alternate operating environments, thereby allowing well- understood and previously tested software components to be reused.
  • the architecture also allows implementations in alternate operating environments to be quickly and straightforwardly provided.

Abstract

A software architecture is provided to enable core television set-top software (20) to run in different operating environments. A kernel abstraction component (18) uses kernel calls and kernel-specific translations to abstract operating system-specific functions from an operating system kernel (16). The functions are made available to the core software (20) in a generic format. Additionally, a device drivers-to-driver model interface (30) separates the details of the driver model environment from the core system software (20). Furthermore, a software interface (26) allows application programs (10) (such as program guides, games, and Internet web browsers) and middleware (12) to communicate with the core set-top system software (20). The core software allows the set-top to provide television functions such as service acquisition, system information management, download capability, return path communication, set-top configuration, and conditional access control.

Description

SOFTWARE ARCHITECTURE FOR A TELEVISION SET-TOP TERMINAL PROVIDING COMPATIBILITY WITH MULTIPLE OPERATING ENVIRONMENTS
BACKGROUND OF THE INVENTION
5 This application claims the benefit of U.S.
Provisional Application No. 60/135,221, filed May 21, 1999.
The present invention provides a software architecture that enables core software of a television 10 set-top terminal to be compatible with different operating environments .
The recent advent of digital set-top terminals has spurred the growth of subscriber television networks, such as cable/satellite television networks. Such 15 terminals can support increased levels of programming services and a variety of software-based applications and functions, such as an electronic program guide, stock or weather banners, shop and bank at home services, games, and the like. Moreover, this trend is 20 expected to continue with the convergence of telephone, television and computer networks, and the rise of in- home computer networks .
A digital set-top box (e.g., subscriber terminal) for cable or satellite television, or the like, requires 25 OS software, middleware and device drivers to function. OS software provides the multithreading, real-time OS support needed to operate the se -top.
Middleware is software that connects two otherwise separate applications. For example, such middleware can be provided to mediate between an application program and a network, thereby managing the interaction between disparate applications across heterogeneous computing platforms. More generally, middleware serves as the glue between separate applications, and is sometimes referred to as "plumbing" because it connects two sides of an application and passes data between them.
Moreover, drivers are used to control different hardware devices in a terminal, such as tuners, demodulators, MPEG-2 decoders (e.g., audio, video, and data) , video encoders, audio mixers, and so forth.
In a set -top box, "core software" is provided that allows the set-top to provide such necessary television functions as service acquisition, system information (SI) management, download capability (e.g., for new application and OS software) , return path communication (e.g., for polling the set-top for billing purposes), set-top configuration, and conditional access control (i.e., security).
In the past, each set- top has only been designed to use one particular operating environment. The problem of handling multiple operating environments has not previously been addressed in the set -top environment. Generally, applications have been ported to various operating environments either through rewrite of the set-top system software to that environment or through an abstraction layer.
Accordingly, it would be advantageous to enable a choice of different operating environments on a set-top without the need to change the core set-top system software. This would enable the reuse of a single set- top design for multiple operating environments. It would also enable faster implementation of alternate operating software environments, permitting a faster time to market new set -top devices. In particular, it would be desirable to have a software architecture that allows a customer, such as a cable television system operator, to choose the operating environment, including the OS kernel, middleware and application software, and device drivers, that will be used in the set-top. The core set-top system software should allow the device to operate within a common system environment . The architecture should allow for the development of the core software, and then implementation of the architecture in any of a plurality of different operating environments, such as VRTX, Windows CE, AperiOS, PowerTV and other se -top operating environments.
The architecture should be suitable for terminals that receive programming services via any type of network, including broadband communications networks, Digital Subscriber Loop (DSL) networks, and others.
The present invention provides a software architecture that enjoys the aforementioned and other advantages .
SUMMARY OF THE INVENTION
In accordance with the present invention, a software architecture is provided to enable core software of a set- top device to operate in any of a plurality of different operating environments.
In a particular embodiment, an apparatus for providing a software architecture for implementing a television subscriber 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. The architecture includes: a first, hardware layer, a second, device driver layer, a third, device driver interface layer, a fourth layer with the core system software for providing television functions, and a kernel abstraction function, a fifth layer for middleware porting, and a sixth layer providing middleware to interface with at least one application program (at a seventh layer) . The kernel abstraction layer and the device driver interface layer enable the core system software to operate in different operating environments. Moreover, an operating system (OS) kernel is provided at the fourth and fifth layers . The architecture further includes a software interface between the core system software and the fifth layer that enables the core system software to operate in the different operating environments.
The television functions of the core system software include one or more of: message reception and distribution, system information processing, terminal configuration, terminal control message processing, service acquisition, conditional access control, download capability, return path communication, and diagnostic data management. Moreover, the television functions may include conditional access services, including one or more of: object authentication, object authorization, resource authorization, baseline privacy key exchange services, and cryptographic functions. A corresponding method is also presented.
BRIEF DESCRIPTION OF THE DRAWING
The Figure depicts a television subscriber terminal architecture in accordance with the invention.
DETAILED DESCRIPTION OF THE INVENTION
The Figure illustrates a software platform, or achitecture, for implementing a set -top box in accordance with the present invention. The platform can be implemented using any suitable operating system, such as the VRTX (virtual real-time executive) operating system available from Mentor Graphics Corporation of Wilsonville, Oregon, Windows CE available from Microsoft Corporation of Redmond, Washington, AperiOS available from Sony Corporation of New York, N.Y., PowerTV available from PowerTV, Inc. of Cupertino, CA, etc.
The architecture can be considered to include three main levels, including a lower level (functions 30, 32 and 34) related to hardware and device driver functions, a middle level (functions 14, 16, 18, 20, 22, 24 and 26) related to the core set-top software, and a high level (functions 10, 12) related to middleware and applications .
Specifically, the top level of the software structure comprises one or more application programs 10 which can comprise, for example, the Digital Television (DTV) navigator application (available from Liberate Technologies of San Carlos, California), interactive games, enhanced television features, Internet web browsers, etc. These applications need to communicate with the core set-top system software 20. This communication is accomplished with the middleware/application interface 12, the middleware porting layer 14, and the software interface 26. The next layer in the software structure comprises middleware/application interface APIs (application program interfaces) 12. This layer 12 is part of the operating environment (i.e., it is OS-specific), and provides the interface to the application program (s) 10 which execute in the set-top (e.g., cable set-top hardware 34) . The layer 12 provides facilities for applications to use and control the set-top box resources, and to coexist with other applications. The layer 12 also provides the environment in which the applications execute. Layer 12 also provides the API to which applications are written, providing an authoring environment. Moreover, this layer 12 handles the issues of shared resources, multiple applications, application selection, application launch and application termination. Preferably, it provides a consistent interface to the end user.
A middleware porting layer 14, e.g., for cable, DSL or other television services, is provided to translate the television, graphics and communication interfaces 20, 22 and 24, respectively, to the particular functional interface required by a middleware software component and specified by the middleware provider/vendor. Middleware providers often specify an interface on which their software has been tested and proven. This layer 14, which is also part of the operating environment, allows portability of the middleware solution to the set-top in an expedient manner. More specifically, the layer 14 allows the core set-top system software 20 to remain the same while allowing different middleware layers to execute.
An operating system (OS) kernel 16 is provided at the levels of the middleware porting layer 14 and the core set-top system software 20, the graphics, audio, video subsystem 22 and the network communication stacks 24. This kernel 16 can comprise, for example, a MIPS (million instructions per second) port of the VRTX kernel version 4.0, available from the Microtec division of Mentor Graphics Corporation for the Motorola 68000 family of microprocessors. This kernel 16 provides the multithreading, real time OS support needed to operate the set-top. The OS kernel 16, together with the middleware porting layer 14 and middleware/application interface APIs 12, and the device drivers are components of the operating environment. More particularly, the OS kernel 16 provides OS facilities such as multitasking, inter-task communication, synchronization, and memory management. These facilities are used to create tasks, set task priorities, communicate between tasks, and synchronize operation of the system tasks and application tasks.
A kernel abstraction component 18 in accordance with the present invention provides generic kernel functions needed by the other components. In particular, component 18 abstracts these functions from the specifics of the OS kernel 16. The kernel abstraction component 18 includes two sections, namely, (i) the kernel calls used by the components, and (ii) the kernel-specific translations. Some of the supported kernel features are implemented in a fashion that is independent of the underlying kernel .
In accordance with the present invention, the kernel abstraction component 18 separates the details of the OS kernel from the core set- top system software 20, and is used to isolate the core system software from the specifics of an OS kernel implementation. In this manner, portability of the core software 20 between operating environments is provided. The OS kernel abstraction 18 provides standard types of OS services in a generic way to the core system software 20. These services include, e.g., messaging, thread operations, memory management, synchronization, and event management .
The core set-top system software 20 contains support for the television system features. For example, this software can be written to support the DigiCipher® II digital television system features. DigiCipher® II is a proprietary system developed by General Instrument Corporation of Horsham, Pennsylvania, U.S.A., the assignee hereof. This system includes features that are specific to the cable television environment for downstream and upstream communications . The features supported by the core se -top system software 20 include, without limitation, service acquisition (e.g., acquisition of a pay-per-view movie), system information management, set-top configuration and control, return path for polling, download capability including authentication and authorization, and nonvolatile memory management . The core set-top system software 20 also includes conditional access system drivers (CABIOS) , which are used to provide security and access control. This component supports the features of object authentication, object authorization, resource authorization, cryptographic tool kit, and baseline privacy key exchange . The interface layer for the cryptographic tool kit (Crypto Toolkit) is the Public Key Cryptography Standards (PKCS) 11 standard.
More specifically, the core set-top system software 20 provides the services that allow the set-top to exist in a communication (e.g., cable television) network. As noted above, the functions of this software include: Message reception and distribution - This software component receives messages over a control channel or through an in-band channel, and distributes them to the appropriate software process for interpretation and processing.
System information processing - This component interprets the System Information provided by the protocol (e.g., Advanced Television Systems Committee (ATSC) , or Digital Video Broadcast (DVB) standard) specifying the Modulation Type, Channel Map, Service Maps, Service Descriptions, Service Components. This information allows the software to find, reconstruct and deliver the service to the user or application. Configuration and control message processing - This component interprets the configuration and control messages sent to the set-top from, e.g., a cable headend controller. This information is used to provision a set-top to operate within the cable television system or other applicable network. The component sets up the set-top's features and provides the ability to control the set-top operation remotely by the system operator. Digital and analog service acquisition - This component performs all of the necessary functions to 'tune' a video/audio service to be presented to the television viewer.
Conditional access subsystem - this component authorizes services and applications. Video services are delivered to the set-top in an encrypted form. The Conditional Access (CA) system compares authorization information about the service with authorization information that is delivered to the set- top. When a service is deemed authorized, the CA system enables the decryption of that service.
Download subsystem - this component acquires software objects from the cable or other applicable network and stores them in the set-top's memory. These objects may include, e.g., software suites or applications. The download subsystem determines if it is authorized to accept the object and, if it is, then processes and stores each segment of the object. Once the object is stored, it is validated and can then be enabled to execute either from, e.g., the headend control, or by the operating system.
Return path subsystem - This component collects purchase and diagnostic information and transmits it back to the headend (or other appropriate system operator site) upon command. This information is ultimately sent to a billing system to enable billing of services used by the set-top. The return path can be a store-and-forward mechanism or an on-demand interactive mechanism.
Diagnostic Data management subsystem - This component collects and manages data which can be used to diagnose the state of the set-top, allowing for remote determination of the operation and health of the set-top software. This data is made available to the OS for display to the user or installer. It is also made available to the return path subsystem for collection by a computer at the system operator's site (e.g., at a cable headend) .
The CABIOS (Conditional Access Basic Services) provides conditional access services above the normal service access control, including: Object Authentication - This function authenticates a software object to determine that the object is the intended object. Such authentication is accomplished, for example, by matching a signature delivered with the object . Object Authorization - This function authorizes objects to be loaded and executed in the set- top. It uses the conditional access hardware to determine the authorization status of the set- top.
Resource Authorization - This function authorizes the use of set-top resources through the conditional access hardware .
Baseline Privacy Key Exchange Services - These functions support the key exchange requirements of the Cable modem system, which may conform to the Data-Over-Cable Service Interface Specifications (DOCSIS) . Cryptographic Functions - These functions provide a basic cryptographic toolkit for use by the application operating system and applications within the set-top.
As indicated above, a typical cryptographic tool set follows the PKCS 11 standard, although other standards can be used.
The graphics, audio and video subsystem 22 includes, in a preferred embodiment, two-dimensional
(2D) , three-dimensional (3D) , and video libraries working on top of a graphics display driver. Such display drivers are commonly available from various vendors such as ATI Technologies Inc. of Thornhill, Ontario, Canada. Subsystem 22 provides a standard API to which middleware providers can be ported, and enables video to be viewed combined with graphics . More particularly, the analog or digital video is combined with a graphics overlay to present a combined view to the user. This subsystem 22 also provides audio, which can exist in multiple modes, such as stereo and surround sound. The audio subsystem can also support record and playback of audio files.
The network communications stacks 24 provide standardized networking stacks to facilitate web browsing and communications with external devices. This subsystem 24 includes many standardized network protocols which can be delivered over multiple communications paths. The stacks can comprise, for example, Mentor/Microtec ' s CNX communications extension to the VRTX operating system, available from Mentor Graphics Corporation of Wilsonville, Oregon. This subsystem 24 resides on top of the communications drivers (e.g., Ethernet and DOCSIS drivers) and provides, for example, a Berkeley sockets (Berkeley Software Design, Inc.) interface to protocols such as Transmission Control Protocol (TCP) /Internet Protocol (IP) (e.g., a TCP/IP interface over a DOCSIS modem or over an Ethernet device) , User Datagram Protocol (UDP) , Address Resolution Protocol (ARP) , Internet Control Message Protocol (ICMP), Dynamic Host
Configuration Protocol (DHCP) Client, Domain Name System (DNS) Client, and Point- to-Point Protocol (PPP) (dial-up uses CCP, Link Control Protocol (LCP) and Internet Protocol Control Protocol (IPCP) protocols) .
For the set-top hardware 34 to operate the set-top box for its intended functions, various drivers must be provided, as well known in the art. These are depicted in the Figure as low level device drivers 32, which, in accordance with the present invention, are interfaced to a driver model used by the core set -top system software 20 via device drivers- to-driver model interface 30. The interface 30 separates the details of the driver model environment from the core system software 20. The interface 30 is used to isolate the device drivers 32 from the specifics of the driver model provided by the operating environment . The low level device driver software 32 is hardware-specific and portable across operating environments . The driver model interface 30 ties the hardware-specific device driver 32 to the OS by providing the OS's desired interface to the driver. Device drivers are provided for each device supported on the set-top. These include a graphics driver, which may be written, e.g., on an ATI Hardware Access Provider (HAP) layer available from ATI Technologies, Inc. A graphics library for use in the set-top can written on the HAP. Other typical set-top device drivers include a communications driver, the tuner (e.g., a combination of the General Instrument DOCSIS tuner and Quadrature Amplitude Modulation (QAM) code), serial ports (using, e.g., an IEEE 1394 high performance serial bus), parallel ports, Ethernet ports, Universal Serial Bus (USB) ports, Light-Emitting Diodes (LEDs) , Keypad and/or Keyboard drivers, a DOCSIS driver, such as the Broadcom DOCSIS driver available from Broadcom Corporation of Irvine, California, U.S.A., and a smart card driver. A smart card may be used in the set-top for consumer purchasing applications such as on- line buying. Each device in the set-top requires a driver function to operate.
It should now be appreciated that the present invention solves the problem of enabling core set-top software to be compatible with multiple set-top operating environments . With the software architecture provided by the invention, it is not necessary to port the core software to different operating environments by rewriting code specific to each environment or through an abstraction layer. Instead, a unique device drivers- to-driver model interface is provided together with a kernel abstraction component that overcomes portability issues and provides for a clean interface between layers in the architecture. The invention can be implemented using object oriented techniques, such as C++ or Java programming, although the invention is by no means limited to such an implementation.
The combination of the components described herein provides a basis for set -top software to enable advanced features of an advanced set-top box implementation. Each of the components provides necessary functions required by an advanced set-top terminal. The novel architecture of the invention provides the benefits of reuse and portability of the core set-top software to alternate operating environments, thereby allowing well- understood and previously tested software components to be reused. The architecture also allows implementations in alternate operating environments to be quickly and straightforwardly provided.
Although the invention has been described in connection with various specific implementations, it should be appreciated that various adaptations and modifications can be made thereto without departing from the scope of the invention as set forth in the claims.

Claims

What is claimed is:
1. An apparatus for providing a software architecture for implementing a television subscriber terminal, comprising: a computer readable medium having computer program code means ; and means for executing said computer program code means to implement a layered software architecture including : a first layer supporting hardware of the terminal; a second layer comprising at least one device driver; a third layer comprising an interface for the at least one device driver; a fourth layer comprising core system software for providing television functions; said fourth layer also including a kernel abstraction function which, together with said third layer, enables said core system software to operate in different operating environments; a fifth layer for middleware porting; an operating system kernel at said fourth and fifth layers ; and a sixth layer providing middleware to interface with at least one application program.
2. The apparatus of claim 1, wherein: an operating environment comprises said middleware, middleware porting, and operating system kernel.
3. The apparatus of claim 1, wherein: an operating environment comprises said middleware, middleware porting, operating system kernel, and device driver .
4. The apparatus of claim 1, wherein: an operating environment comprises said middleware, middleware porting, operating system kernel, device driver, and application program.
5. The apparatus of claim 1, wherein: the television subscriber terminal receives television signals via a broadband communication network .
6. The apparatus of claim 1, wherein the television functions include at least one of : message reception and distribution,- system information processing; terminal configuration; terminal control message processing; service acquisition; conditional access control; download capability; return path communication; and diagnostic data management.
7. The apparatus of claim 1, wherein the television functions include conditional access services, including at least one of: object authentication; object authorization; resource authorization; baseline privacy key exchange services; and cryptographic functions.
8. The apparatus of claim 1, wherein: the kernel abstraction function provides kernel calls and kernel-specific translations for the operating system kernel .
9. The apparatus of claim 1, wherein: the kernel abstraction function isolates the core system software from portions of the operating system kernel that are specific to an operating environment.
10. The apparatus of claim 1, wherein: the interface for the at least one device driver isolates the core system software from portions of the device driver that are specific to an operating environment .
11. The apparatus of claim 1, wherein: the operating system kernel provides multithreading, real-time operating system support needed to operate the terminal .
12. The apparatus of claim 1, wherein: the operating system kernel provides facilities for the terminal that are specific to an operating environment, including at least one of: multi- tasking, inter-task communication, messaging, synchronization, memory management , and event management .
13. The apparatus of claim 1, wherein: the architecture further includes a software interface between the core system software and the fifth layer that enables said core system software to operate in the different operating environments.
14. The apparatus of claim 13, wherein: the software interface isolates the core system software from portions of the middleware and middleware porting that are specific to an operating environment.
15. The apparatus of claim 13, wherein: the software interface isolates the core system software from portions of the application program that are specific to an operating environment.
16. A method for providing a software architecture for implementing a television subscriber terminal, comprising the steps of : providing a computer readable medium having computer program code means; and executing said computer program code means to implement a layered software architecture including: a first layer supporting hardware of the terminal; a second layer comprising at least one device driver; a third layer comprising an interface for the at least one device driver; a fourth layer comprising core system software for providing television functions; said fourth layer also including a kernel abstraction function which, together with said third layer, enables said core system software to operate in different operating environments,- a fifth layer for middleware porting; an operating system kernel at said fourth and fifth layers ; and a sixth layer providing middleware to interface with at least one application program.
17. The method of claim 16, wherein: an operating environment comprises said middleware, middleware porting, and operating system kernel.
18. The method of claim 16, wherein: an operating environment comprises said middleware, middleware porting, operating system kernel, and device driver.
19. The method of claim 16, wherein: an operating environment comprises said middleware, middleware porting, operating system kernel, device driver, and application program.
20. The method of claim 16, wherein: the television subscriber terminal receives television signals via a broadband communication network.
21. The method of claim 16, wherein the television functions include at least one of : message reception and distribution; system information processing; terminal configuration; terminal control message processing; service acquisition,- conditional access control; download capability; return path communication; and diagnostic data management .
22. The method of claim 16, wherein the television functions include conditional access services, including at least one of : object authentication; object authorization; resource authorization; baseline privacy key exchange services; and cryptographic functions .
23. The method of claim 16, wherein: the kernel abstraction function provides kernel calls and kernel-specific translations for the operating system kernel .
24. The method of claim 16, wherein: the kernel abstraction function isolates the core system software from portions of the operating system kernel that are specific to an operating environment .
25. The method of claim 16, wherein: the interface for the at least one device driver isolates the core system software from portions of the device driver that are specific to an operating environment .
26. The method of claim 16, wherein: the operating system kernel provides multithreading, real-time operating system support needed to operate the terminal .
27. The method of claim 16, wherein: the operating system kernel provides facilities for the terminal that are specific to an operating environment, including at least one of: multi- tasking, inter- task communication, messaging, synchronization, memory management , and event management .
28. The method of claim 16, wherein: the architecture further includes a software interface between the core system software and the fifth layer that enables said core system software to operate in the different operating environments .
29. The method of claim 28, wherein: the software interface isolates the core system software from portions of the middleware and middleware porting that are specific to an operating environment.
30. The method of claim 28, wherein: the software interface isolates the core system software from portions of the application program that are specific to an operating environment.
PCT/US2000/007980 1999-05-21 2000-03-24 Software architecture for a television set-top terminal providing compatibility with multiple operating environments WO2000072583A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA002373838A CA2373838A1 (en) 1999-05-21 2000-03-24 Software architecture for a television set-top terminal providing compatibility with multiple operating environments
JP2000619923A JP2003500943A (en) 1999-05-21 2000-03-24 Software architecture for TV set-top terminals providing compatibility with many operating environments
AU40301/00A AU4030100A (en) 1999-05-21 2000-03-24 Software architecture for a television set-top terminal providing compatibility with multiple operating environments
MXPA01011902A MXPA01011902A (en) 1999-05-21 2000-03-24 Software architecture for a television set-top terminal providing compatibility with multiple operating environments.
EP00919648A EP1181813A1 (en) 1999-05-21 2000-03-24 Software architecture for a television set-top terminal providing compatibility with multiple operating environments
HK03100049.8A HK1048410A1 (en) 1999-05-21 2003-01-03 Software architecture for a television set-top terminal providing compatibility with multiple operating environments

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13522199P 1999-05-21 1999-05-21
US60/135,221 1999-05-21

Publications (1)

Publication Number Publication Date
WO2000072583A1 true WO2000072583A1 (en) 2000-11-30

Family

ID=22467098

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2000/007980 WO2000072583A1 (en) 1999-05-21 2000-03-24 Software architecture for a television set-top terminal providing compatibility with multiple operating environments

Country Status (9)

Country Link
EP (1) EP1181813A1 (en)
JP (1) JP2003500943A (en)
CN (1) CN1144450C (en)
AU (1) AU4030100A (en)
CA (1) CA2373838A1 (en)
HK (1) HK1048410A1 (en)
MX (1) MXPA01011902A (en)
TW (1) TW538628B (en)
WO (1) WO2000072583A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1143711A1 (en) * 2000-03-18 2001-10-10 Pace Micro Technology PLC Improvements to broadcast data receivers
EP1276319A1 (en) * 2001-07-13 2003-01-15 Tv-Lab S.p.a. Advanced method and system for interactive television
EP1280354A2 (en) * 2001-07-19 2003-01-29 General Instrument Corporation Detection of unauthorized applications, objects, or configurations in a local device of a cable system
WO2003009135A2 (en) * 2001-07-16 2003-01-30 Steel Monkeys Limited Multi-platform interactive applications
WO2004023298A2 (en) * 2002-09-03 2004-03-18 Bidamic Inc. System and method for interactive on-line gaming
WO2003036471A3 (en) * 2001-10-24 2004-08-19 Imagine Broadband Ltd Data processing system and method
WO2004082261A1 (en) * 2003-03-11 2004-09-23 Philips Intellectual Property & Standards Gmbh Intelligent network interface module
WO2007143933A1 (en) * 2006-06-12 2007-12-21 Panasonic Corporation Network digital television middleware
EP2321968A2 (en) * 2008-09-03 2011-05-18 TQTVD Software Ltda Application execution system for digital television, apparatus for application execution for digital television and method to implement said system
US9838531B2 (en) 2000-01-07 2017-12-05 Tq Delta, Llc Systems and methods for establishing a diagnostic transmission mode and communicating over the same

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100428709C (en) * 2002-12-13 2008-10-22 陈晓月 System for classified automatic searching internet information and broadcasting into digital television
US7549154B2 (en) * 2004-11-23 2009-06-16 Microsoft Corporation Extensible architecture for auxiliary displays
CN100370750C (en) * 2005-01-26 2008-02-20 华为技术有限公司 User terminal management method
KR100654087B1 (en) 2005-02-16 2006-12-05 주식회사 씨씨미디어 System for action log in settop box and method for generation the action log
CN100377568C (en) * 2005-10-10 2008-03-26 中央电视台 Set-top box EPG application transplanting development interface system
CN102035652A (en) * 2010-11-23 2011-04-27 深圳市元征软件开发有限公司 Hardware encryption method of communication product, system software processing method and terminal equipment
KR101260185B1 (en) * 2011-09-22 2013-05-06 주식회사 엘지씨엔에스 Smart settop box and operating method for providing smart service and digital television service using default media player included in single operating systme
CN103108244B (en) * 2013-01-31 2015-09-30 冠捷显示科技(厦门)有限公司 A kind of by virtualized for television system method
CN104244093B (en) * 2014-09-03 2020-06-05 深圳市同洲电子股份有限公司 Graphical interface display method and playing terminal
EP3460657B1 (en) * 2017-09-20 2021-09-08 Roche Diabetes Care GmbH Method for validating a medical application, end user device and medical system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0813147A2 (en) * 1996-06-10 1997-12-17 Lsi Logic Corporation Object oriented multi-media architecture
EP0909094A1 (en) * 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0813147A2 (en) * 1996-06-10 1997-12-17 Lsi Logic Corporation Object oriented multi-media architecture
EP0909094A1 (en) * 1997-10-07 1999-04-14 CANAL+ Société Anonyme Multithread data processor

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
B. MARSTELLER AND R. BAER: "Sun announces key consumer technology to bring the power of the JAVA platform to auto, TV and phone markets", PRESS RELEASE, 24 March 1998 (1998-03-24), XP002143726, Retrieved from the Internet <URL:http://www.javasoft.com/pr/1998/03/pr980324-04.html> [retrieved on 20000727] *
EVAIN J -P: "THE MULTIMEDIA HOME PLATFORM", EBU REVIEW- TECHNICAL,BE,EUROPEAN BROADCASTING UNION. BRUSSELS, no. 275, 21 March 1998 (1998-03-21), pages 4 - 10, XP000767493, ISSN: 0251-0936 *
HURLEY T R: "EVOLUTION OF THE DIGITAL SET TOP BOX", INTERNATIONAL BROADCASTING CONVENTION,GB,LONDON, no. 428, 1996, pages 277 - 282, XP000905436 *
ITOH J -I ET AL: "A NEW SOFTWARE ARCHITECTURE FOR EVOLVABLE MULTIMEDIA SOFTWARE", EUROPEAN TRANSACTIONS ON TELECOMMUNICATIONS,IT,EUREL PUBLICATION, MILANO, vol. 8, no. 4, 1 July 1997 (1997-07-01), pages 423 - 435, XP000695449, ISSN: 1124-318X *
SUN MICROSYSTEMS, INC: "Java TV API Specification", DRAFT 0.9.0, 14 June 1999 (1999-06-14), XP002143725, Retrieved from the Internet <URL:http://java.sun.com/products/javatv/javatvspec0_9_0.html> [retrieved on 20000727] *
THRIFT P ET AL: "JTV - Java-enabled Television", PROCEEDINGS OF THE SPIE, 4 November 1997 (1997-11-04), XP002090497 *
WILLIAMS T: "STB OPERATING SYSTEMS GEAR UP FOR FLOOD OF DATA SERVICES", COMPUTER DESIGN,US,PENNWELL PUBL. LITTLETON, MASSACHUSETTS, vol. 35, no. 2, 1 February 1996 (1996-02-01), pages 67 - 68,72,74-76, XP000555483, ISSN: 0010-4566 *

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10623559B2 (en) 2000-01-07 2020-04-14 Tq Delta, Llc Systems and methods for establishing a diagnostic transmission mode and communicating over the same
US10264119B2 (en) 2000-01-07 2019-04-16 Tq Delta, Llc Systems and methods for establishing a diagnostic transmission mode and communicating over the same
US9973624B2 (en) 2000-01-07 2018-05-15 Tq Delta, Llc Systems and methods for establishing a diagnostic transmission mode and communicating over the same
US9838531B2 (en) 2000-01-07 2017-12-05 Tq Delta, Llc Systems and methods for establishing a diagnostic transmission mode and communicating over the same
EP1143711A1 (en) * 2000-03-18 2001-10-10 Pace Micro Technology PLC Improvements to broadcast data receivers
EP1276319A1 (en) * 2001-07-13 2003-01-15 Tv-Lab S.p.a. Advanced method and system for interactive television
WO2003009135A2 (en) * 2001-07-16 2003-01-30 Steel Monkeys Limited Multi-platform interactive applications
WO2003009135A3 (en) * 2001-07-16 2004-02-12 Steel Monkeys Ltd Multi-platform interactive applications
EP1280354A2 (en) * 2001-07-19 2003-01-29 General Instrument Corporation Detection of unauthorized applications, objects, or configurations in a local device of a cable system
EP1280354A3 (en) * 2001-07-19 2003-09-10 General Instrument Corporation Detection of unauthorized applications, objects, or configurations in a local device of a cable system
AU2002337307B2 (en) * 2001-10-24 2008-04-17 Accenture Global Services Limited Data processing system and method
WO2003036471A3 (en) * 2001-10-24 2004-08-19 Imagine Broadband Ltd Data processing system and method
US6863612B2 (en) 2002-09-03 2005-03-08 Bidamic Inc. System and method for interactive on-line gaming
WO2004023298A3 (en) * 2002-09-03 2004-08-12 Daniel Willis System and method for interactive on-line gaming
WO2004023298A2 (en) * 2002-09-03 2004-03-18 Bidamic Inc. System and method for interactive on-line gaming
WO2004082261A1 (en) * 2003-03-11 2004-09-23 Philips Intellectual Property & Standards Gmbh Intelligent network interface module
JP2009540704A (en) * 2006-06-12 2009-11-19 パナソニック株式会社 Network digital TV middleware
CN101090387B (en) * 2006-06-12 2012-02-22 松下电器产业株式会社 Digital TV middleware, set-top box and digital TV network interaction method
WO2007143933A1 (en) * 2006-06-12 2007-12-21 Panasonic Corporation Network digital television middleware
EP2321968A2 (en) * 2008-09-03 2011-05-18 TQTVD Software Ltda Application execution system for digital television, apparatus for application execution for digital television and method to implement said system
EP2321968A4 (en) * 2008-09-03 2013-08-21 Tqtvd Software Ltda Application execution system for digital television, apparatus for application execution for digital television and method to implement said system
CN102239701B (en) * 2008-09-03 2014-12-03 Tqtvd软件有限公司 Application execution system for digital television, apparatus for application execution for digital television and method to implement said system

Also Published As

Publication number Publication date
JP2003500943A (en) 2003-01-07
EP1181813A1 (en) 2002-02-27
AU4030100A (en) 2000-12-12
TW538628B (en) 2003-06-21
MXPA01011902A (en) 2002-06-21
CN1357194A (en) 2002-07-03
CN1144450C (en) 2004-03-31
HK1048410A1 (en) 2003-03-28
CA2373838A1 (en) 2000-11-30

Similar Documents

Publication Publication Date Title
US7690006B2 (en) Programming interface for configuring a television settop terminal
US7451460B2 (en) Programming interface for configuring a television settop terminal
WO2000072583A1 (en) Software architecture for a television set-top terminal providing compatibility with multiple operating environments
JP4567115B2 (en) Method and apparatus for extending digital video broadcast common interface functionality by direct access to conditional access modules
US9473827B2 (en) Apparatus and methods for implementation of network software interfaces
AU766861B2 (en) Television set-top box with configurable functionality
JP4895424B2 (en) Multi-user multimedia terminal
NO332871B1 (en) Procedure for downloading executable user program in a decoder, and corresponding decoder and smart card
US20010049720A1 (en) Standard method of access to a multimedia provider&#39;s portal
EP1067458A1 (en) Running and testing applications
JP4839303B2 (en) Digital cable tv broadcast receiver
WO2002084921A2 (en) System and method for downloading code
US7804959B2 (en) Digital cable television broadcasting receiver
US20180011991A1 (en) Secure connected digital media platform
US20110179443A1 (en) Conditional Access Network Handler Emulator
CN105915942A (en) Method and apparatus for controlling set top box
CN104641654A (en) Method for controlling the display of a digital television set
US9681178B2 (en) Distributed presentation software for multiple instantiations in home network
JP2003504977A (en) Apparatus and method for testing an application
CN109889884B (en) Method, device and system for managing set top box
KR20210109484A (en) Internet-based content service device for providing over the top service and method of the same
Reimers et al. The Multimedia Home Platform (MHP)
MXPA01003903A (en) Television set-top box with configurable functionality

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00809207.9

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ 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 MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
ENP Entry into the national phase

Ref document number: 2373838

Country of ref document: CA

Ref document number: 2373838

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 09980744

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2000 619923

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: PA/a/2001/011902

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 2000919648

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000919648

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642