Solution:
OpenHouse has defined
an enhanced TV Application Framework with the TV viewer in mind. This framework allows enhanced TV software developers to easily implement dynamic "TV-like" user interfaces based
on a client portal architecture, allowing the entire TV platform to be controlled using a very simple remote control. OpenHouse effectively blends together the full range of interactive
Internet content and services and delivers them as a natural extension of the TV, making enhanced TV accessible and engaging for all family members.
Giavaneers has served as the technical team for OpenHouse since 1999, and is responsible for the architectural design and implementation of the OpenHouse Application Framework
and more than thirteen associated provisional patents.
The OpenHouse Application Framework is client software that runs on set-top boxes and convergent televisions. It can be bundled with a set-top box or TV, or packaged as a value-added service that cable and
satellite TV network operators offer to their customers on a subscription basis. The framework includes a secure transaction engine that enables “pay-per-use” business models and
allows advertising and shopping to be effectively delivered within the TV user interface. This client-based e-commerce capability is unique and for the first time allows TV manufacturers
to participate in on-going revenue streams. By profiling user behavior, OpenHouse allows merchants and advertisers to effectively target ads and product offers.
The Application Framework is a set of middleware which supports the execution and functionality of an open set of applications, known as Xlets, across a wide variety of software operating
environments and hardware platforms. The Framework is based on a simple, open architecture where each Xlet is modeled as a standard state machine whose definition is specifiable at
execute time by means of an XML document.
The conceptual model of the architecture is very simple. There are only two fundamental elements of Xlet User Interfaces: Streams and Widgets. Streams are sequential, multimedia sources,
while Widgets are simply containers for Streams and other Widgets.
Streams are modeled as sequential, multimedia sources. Examples of OpenHouse streams are MPEG and
QuickTime movies, animated GIFs, JPEG images, Xlets, timers, accelerators, and the Pointer. Streams may be loaded, started, stopped, paused, and resumed, and form the basis of the unique,
multimedia component of the OpenHouse interactive GUI.
A GUI Skin is defined by means of an XML “Skin Specification” within the context of a reference skin that it modifies. It inherits any characteristics of its reference that it does not explicitly
change, and as a result, a Custom Skin Specification can affect substantial changes and yet be relatively small.
The Framework is divided into two categories: Technology Stacks and OpenHouse Services. Technology Stacks are Java, C and C++ “plug-ins” that provide modular functionality to the
OpenHouse Services, often interfacing directly to underlying hardware elements. Most Technology Stacks are provided by third parties and support standard upper software interfaces so
they can be readily interchanged with equivalent stacks from other vendors. DVD Transport Controllers, Modem Interfaces, Speech Recognition Modules, Personal Video Recording
Libraries, and Local Database Engines are some common examples of Technology Stacks.
OpenHouse Services integrate various Technology Stack services to make higher level functional building blocks available to Xlets and other OpenHouse Services. OpenHouse Services
are typically implemented in Java and run within the Java Runtime Environment.
Every OpenHouse object, whether it be a Widget, a StateTable, a Stream, or a supporting software class, contains a License as a property. A License contains a collection of terms for use,
and an associated cost structure for each. It also contains the identity of the licensor. The License integrates a variety of industry standard Digital Rights Management dacilities and relies
upon the digital signature of the publisher embedded within the associated XML
document for authenticating the integrity of the various terms and associated costs, but also the identity of the licensor.
A fundamental characteristic of the OpenHouse Application Framework is that the supporting resources required by an Xlet are bound dynamically as each Xlet instance is started.
That is, resources are not bound at compile time as is the case with other architectures, or even necessarily at Xlet load time, but rather are bound independently each time each instance of
an Xlet is started. As a consequence, the OpenHouse Application Framework is unique in the extent to which it can automatically adapt to changes in its operating environment.
|