Software bus and interface for digital television application software environments
First Claim
1. An architecture-independent digital television broadcast rendering system comprising:
- receiving a digital television broadcast signal, said signal comprising a software application;
receiving a command to execute said software application;
executing said software application, said step of executing comprising;
intercepting incoming infrastructure API calls from said software application;
converting said infrastructure API calls into software bus API calls, said software bus API calls being designed to accommodate differing digital television API architectures;
routing said software bus API calls to application engines;
receiving API calls from said application engines as derived software bus API calls; and
routing said derived software bus API calls to the appropriate of said application engines.
1 Assignment
0 Petitions
Accused Products
Abstract
A software system for use with a Digital Television set-top box. The system uses a software bus application programming interface (API) that is specially designed to make the set-top box compatible with two standard DASE architectures: (1) the architecture wherein the procedural application engine contains the declarative application engine, and (2) the architecture wherein the declarative application engine contains the procedural. An application engine manager uses a function call router to intercept all DASE infrastructure APIs incoming from software applications downloaded by the set-top box from a DTV broadcast. All APIs are routed through the application manager, and all application engines are required to implement the software bus API. A specially-designed software interface also enables the convenient installation of additional applications by simply changing one line of software code.
-
Citations
52 Claims
-
1. An architecture-independent digital television broadcast rendering system comprising:
-
receiving a digital television broadcast signal, said signal comprising a software application;
receiving a command to execute said software application;
executing said software application, said step of executing comprising;
intercepting incoming infrastructure API calls from said software application;
converting said infrastructure API calls into software bus API calls, said software bus API calls being designed to accommodate differing digital television API architectures;
routing said software bus API calls to application engines;
receiving API calls from said application engines as derived software bus API calls; and
routing said derived software bus API calls to the appropriate of said application engines. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 42, 43)
-
-
18. A broadcast rendering system comprising:
-
receiving a digital television broadcast signal, said signal comprising a DASE software application;
receiving a command to execute said DASE software application;
executing said DASE software application, said step of executing comprising;
intercepting incoming DASE infrastructure API calls from said DASE software application, said incoming DASE infrastructure API calls being directed to application engines, said application engines comprising a procedural application engine and a declarative application engine;
converting said DASE infrastructure API calls into software bus API calls, said software bus API calls being designed to accommodate both an architecture wherein the declarative application engine resides entirely within the procedural application engine as well as an architecture wherein the procedural application engine resides entirely within the declarative application engine;
routing said software bus API calls to the appropriate application engines;
receiving API calls from said application engines as derived software bus API calls; and
routing said derived software bus API calls to the appropriate of said application engines.
-
-
28. A method comprising:
-
transmitting a digital broadcast stream comprising program content and software applications;
receiving said digital broadcast stream, said stream comprising a DASE software application;
receiving a command to execute said DASE software application;
executing said DASE software application, said step of executing being performed by a DASE set-top box, said step of executing comprising;
intercepting incoming DASE infrastructure API calls from said DASE software application, said incoming DASE infrastructure API calls being directed to application engines, said application engines comprising a procedural application engine and a declarative application engine;
converting said DASE infrastructure API calls into software bus API calls, said software bus API calls being designed to accommodate both an architecture wherein the declarative application engine resides entirely within the procedural application engine as well as an architecture wherein the procedural application engine resides entirely within the declarative application engine;
routing said software bus API calls to the appropriate application engines;
receiving API calls from said application engines as derived software bus API calls; and
routing said derived software bus API calls to the appropriate of said application engines; and
displaying content on a display as a consequence of said step of executing, said display being operatively coupled to said set-top box.
-
-
36. A method comprising:
-
inputting a command to execute a DASE software application, said DASE software application being downloaded from a DTV broadcast onto a broadcast receiver, said receiver performing said command to execute said DASE software application, said step of performing comprising;
intercepting incoming DASE infrastructure API calls from said DASE software application, said incoming DASE infrastructure API calls being directed to application engines, said application engines comprising a procedural application engine and a declarative application engine;
converting said DASE infrastructure API calls into software bus API calls, said software bus API calls being designed to accommodate both an architecture wherein the declarative application engine resides entirely within the procedural application engine as well as an architecture wherein the procedural application engine resides entirely within the declarative application engine;
routing said software bus API calls to the appropriate application engines;
receiving API calls from said application engines as derived software bus API calls; and
routing said derived software bus API calls to the appropriate of said application engines; and
viewing, on a display operatively coupled to said broadcast receiver, content displayed as a consequence of said inputting.
-
-
39. A computer-readable medium comprising instructions for:
-
intercepting incoming DASE infrastructure API calls from a DASE software application, said incoming DASE infrastructure API calls being directed to application engines, said application engines comprising a procedural application engine and a declarative application engine;
converting said DASE infrastructure API calls into software bus API calls, said software bus API calls being designed to accommodate both an architecture wherein the declarative application engine resides entirely within the procedural application engine as well as an architecture wherein the procedural application engine resides entirely within the declarative application engine;
routing said software bus API calls to the appropriate application engines;
receiving API calls from said application engines as derived software bus API calls; and
routing said derived software bus API calls to the appropriate of said application engines.
-
-
44. A computer data signal embodied in a transmission medium such as a carrier wave comprising instructions for:
-
switching, between a first standard DASE API architecture and a second standard DASE API architecture, through a single preference file;
intercepting incoming DASE infrastructure API calls from a DASE software application, said incoming DASE infrastructure API calls being directed to application engines embodied within said first and second standard architectures;
converting said DASE infrastructure API calls into software bus API calls, said software bus API calls being designed to accommodate both the first and second standard DASE API architectures;
routing said software bus API calls to the appropriate application engines;
receiving API calls from said application engines as derived software bus API calls; and
routing said derived software bus API calls to the appropriate of said application engines. - View Dependent Claims (46, 47, 48, 49, 50, 51)
-
-
45. A system comprising:
-
a procedural application engine;
a declarative application engine;
a preference file for switching between a first DASE API architecture and a second DASE API architecture, said DASE architectures defining the relationship between said procedural application engine and said declarative application engine;
an application engine manager for routing API calls between said procedural application engine and said declarative application engine, said application engine manager comprising a function call router; and
a software bus API compatible with both first and second DASE API architectures, said application engine manager employing said software bus API for executing DASE software applications.
-
-
52. A system enabling broadcast rendering machines to automatically download and upgrade application engines broadcasted through DTV broadcasts without requiring the customization or upgrading of individual broadcast rendering machines, said system comprising:
-
a plurality of application engines physically residing within a DASE set-top box, said plurality comprising a declarative application engine, a procedural application engine, a font engine, a content decoder, and a security module;
means for enabling “
plug-and-play”
-type installation of said plurality of application engines;
software configuration means for switching between a first architecture wherein said declarative application engine resides entirely within said procedural application engine and a second architecture wherein said procedural application engine resides entirely within said declarative application engine; and
means for intercepting DASE infrastructure API calls sent by a broadcasted DASE software application to one or more of said plurality of application engines, said means for intercepting further comprising means for converting API calls into software bus API calls and derived software bus API calls, said means for intercepting also further comprising means for routing all API calls between said plurality of application engines.
-
Specification