PROGRAMMING INTERFACE FOR
CONFIGURING A TELEVISION SETTOP
This application is a divisional of U.S. patent application 5 Ser. No. 09/980,768 filed on Nov. 15, 2001 now abandoned. This application claims priority from U.S. provisional patent application No. 60/135,268 filed on May 21,1999. This application is related to U.S. Pat. No. 7,451,460.
BACKGROUND OF THE INVENTION
The present invention provides a software architecture that enables core software of a television settop terminal to be compatible with different settop middleware and operating 15 system software. In particular, a software interface defines the functions and parameters passed between (i) middleware and operating system provider software, and (ii) core settop software provided in a television settop box or the like.
The recent advent of digital settop terminals has spurred 20 the growth of subscriber television networks, such as cable/ satellite television networks. Such 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 25 bank at home services, games, and the like. Moreover, this trend is expected to continue with the convergence of telephone, television and computer networks, and the rise of in-home computer networks.
A "user terminal" (e.g., digital settop box) for cable or satellite television, or the like, requires OS software, middleware and device drivers to function.
OS software provides the multithreading, real-time OS support needed to operate the settop. 35
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. 4Q 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 45 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 settop box, "core software" is provided that allows the settop to provide such necessary television functions as ser- 50 vice acquisition, system information (SI) management, download capability (e.g., for new application and OS software), return path communication (e.g., for polling the settop for billing purposes), settop configuration, and conditional access control (i.e., security). 55
In the past, each settop has only been designed to use one particular operating environment. The problem of handling multiple operating environments has not previously been addressed in the settop environment. Generally, applications have been ported to various operating environments either 60 through rewrite of the settop 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 settop without the need to change the core settop system software. This would 65 enable the reuse of a single settop design for multiple operating environments. It would also enable faster implementa
tion of alternate operating software environments, permitting a faster time to market new settop devices.
In particular, the software architecture should that allow 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 settop. The core settop 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 settop operating environments.
The architecture should enable middleware and OS software to control and interact with the core settop system software to facilitate the provision of desirable digital television services, such as service acquisition, determining the status of a service, configuring the settop, indicating an unsolicited event, and managing user privacy.
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 an interface to core settop system software that enjoys the aforementioned and other advantages.
It would further be desirable to have an interface to core settop software that operates in such an architecture.
In particular, the interface of the invention defines each interface point between the "Application OS/Middleware" layer of the settop software and the core settop system software. This provides a mechanism by which the Application OS/Middleware software can control and interact with the core settop system software.
SUMMARY OF THE INVENTION
A software interface is provided to enable settop middleware and OS software to control and interact with core settop system software. The interface enables the middleware and OS software to interact with the core system software to facilitate the provision of desirable digital television services. An apparatus in accordance with the invention provides an interface to core system software in a television subscriber terminal, and includes a computer readable medium having computer program code means, and means for executing the computer program code means to provide at least one application program interface (API) to enable middleware that mediates between an application program and said core system software to access a function of the terminal. A corresponding method is also presented.
BRIEF DESCRIPTION OF THE DRAWING
The FIGURE is a high level overview of a television settop box architecture incorporating a software interface between the middleware/OS layer and the core settop system software in accordance with the invention.
DETAILED DESCRIPTION OF THE INVENTION
The FIGURE illustrates a software platform, or architecture, for implementing a settop 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, Oreg., Windows CE