THE USE OF IN FLEXIBLE, THIN-CLIENT ARCHITECTURES FOR TV NAVIGATION

Michael Adams Solution Area TV, Ericsson

Abstract ƒ Support rapid development of new applications without the need for new Today’s subscribers are demanding more software download to the set-top and more from their service providers: ƒ Enable personalization of a service to each subscriber’s preferences ƒ Personalization: New behaviors from a ƒ Allow full customization of the user- new generation of “digital natives”, (who interface, including branding expect the service to adapt to them!), ƒ Allow the use of third-party developers, powerful search capabilities, and using Web 2.0 service creation methods recommendations engines. ƒ Provide set-top independence and ƒ Communication: Multitasking, social multiplatform portability networking, and sharing the viewing ƒ Decouple CA/DRM certification from new experience through chat and instant features and applications development messaging ƒ Interactivity: Polls, games, and enhanced INTRODUCTION programming Today’s subscribers are demanding more And subscribers want all the above and more from their service providers. What services and features to be delivered as a they want can be grouped into three main single, integrated service experience across categories: any device, anywhere, and at anytime! ƒ Personalization The Internet has shown how to deliver all ƒ Communication kinds of services by means of thin-client ƒ Interactivity approaches using the Representational State Transfer (REST) model. Meanwhile, most Personalization deployed cable architectures still rely on a “state-full”, thick-client approach. ƒ I want my service to adapt to my needs. ƒ I need recommendations to sort my Can thin-client architectures really “wheat” from the “chaff”. satisfy large cable system requirements for ƒ I want to watch anything, on any device, performance, scalability, high-availability, at any time, anywhere. emergency-alert system requirements, and compatibility with existing interactive Personalization provides the subscriber application environments such as EBIF? with a better experience, tailored to their needs, and creates “stickiness” for the This paper will show how a thin-client, operator. browser-based approach can:

2010 Spring Technical Forum Proceedings - Page 46 Communication savvier, more educated subscribers (often called “Digital Natives” [1]) that desire new ƒ I want to share my experience with my features. Nevertheless, TV is still a living friends in real-time room experience and pure web-style ƒ I want to interact with social networking navigation doesn’t work. sites ƒ I want to be notified when I have a phone Personalization, communication, and call and to be given an option to pause my interactivity require a dynamic, flexible, movie if I choose to take the call. extensible, high-performance user-interface. Moreover, as the subscriber starts to like, and Communication is a basic human need. take advantage of new features, the Many subscribers are already using a laptop infrastructure that supports them must be while watching TV to turn viewing into a scalable. The system cannot slow to a crawl if social experience. The TV experience can be everyone presses the “red button” at the same extended to allow all subscribers to time (for example, during a Super Bowl communicate while they are watching TV to a commercial). greater or lesser degree, depending on their preferences. CURRENT Interactivity Today, most set-top box (STB) “guides” ƒ I want to request more information about are limited in their ability to support the products when they are advertised. requirements of personalization, ƒ I want to be able to go directly to the communication, and interactivity because of movie after I see the promo. the way they are developed: ƒ I want to be able to play along with my favorite game shows ƒ The user-interface logic is embedded into ƒ I want to be able to vote online about a monolithic “resident application” that is important issues. downloaded to the STB. Because any changes require extensive testing before Numerous studies have shown that they can be unleashed on unsuspecting interactivity can help to keep subscribers subscribers, each subscriber ends up engaged. Interactive programming includes getting the same guide as every other such things as play-along game shows, subscriber. audience polls, and the like. Interactive ƒ The user-interface is developed in a low- advertising is also an important opportunity. level language such as c, c++, or Java. Highly-paid software developers are Interactivity is more natural on devices needed to modify the user-interface or to like a mobile phone or tablet PC than the TV, create new applications. Any changes because these devices can allow more natural must be designed, approved, developed, user-interfaces through the use of touch tested, certified, and signed-off; a process screens. that can take 6 months or more. The result is expensive applications that arrive to User Interface Requirements market late or not at all.

In summary, subscribers are ready and Embedded user-interfaces were the only willing to extend their TV viewing option when STBs had a small memory experience. There is a new generation of footprint and limited CPU power. For

2010 Spring Technical Forum Proceedings - Page 47 example, in 1998, a typical STB had only 1-2 unacceptably slow if a synchronous MB of memory and a 27 MHz CPU [2]. execution model is used. ƒ Reliance on a guaranteed high-bandwidth Today, a system on a chip (SOC) can communications path between the server provide extensive capabilities, and these and client. This model cannot continue to limitations no longer apply. For example, the provide basic navigation when the return Broadcom BCM7400 includes a “dual path is lost. threaded 350-MHz MIPS32 with FPU class ƒ Need for high-performance server “farms” CPU” [3]. Typical memory footprints are at to keep up with client transactions. least 256 MB. Despite these changes, the ƒ thick-client model has persisted. TOWARDS A THIN-CLIENT SOLUTION

USER INTERFACE ALTERNATIVES The advantages of a thin-client solution are attractive; however the limitations must be Over the past 15 years the user-interface overcome to make this a viable model for the model has been revolutionized by the Internet TV. and the , and the thin-client model has become more and more popular. The goal of this paper is to demonstrate Netbooks are now the fastest growing that careful system design can yield a thin- category of portable computing device, client solution with all its advantages and requiring only a browser on the client while none of its limitations. the “heavy-lifting” is done by servers in the network. The proposed solution is based on the following: The advantages of the thin-client model are: 1. Asynchronous execution model 2. Browser-based STB software environment ƒ Extensible; new user-interface logic can 3. Scalable vector graphics be introduced at any time merely by 4. Sophisticated authoring environments that linking in additional web pages. support rapid development of new ƒ Dynamic; changes in the application can applications be made without a STB firmware reload 5. Personalization through different user- or reboot. interface styles ƒ Rapid authoring of new applications by 6. Multi-level caching for better user- graphic designers (not software interface performance and lower-latency developers) with a much faster, shorter testing cycle. The development cycle of Asynchronous Execution Model new features can be reduced from months to days. One of the main limitations of early ƒ High availability and horizontal scalability client-server implementations was that they is achieved by means IP load balancing. were synchronous, waiting for one event to complete before starting another one. The The limitations of the Internet model are: effect is that all of the network latencies are serialized and can add up to a slow user- ƒ Performance – even a small round-trip experience. latency makes the user-interface

2010 Spring Technical Forum Proceedings - Page 48 This problem has been addressed by the ƒ JSON (Java Script Object Notation) is AJAX (Asynchronous Java script And XML) used as data-interchange format. client-server model, which supports asynchronous execution. (See Figure 1) This standards-based architecture allows Client (STB) each JavaScript object to be transferred asynchronously to the client, eliminating the of transactions and increasing performance of the user-interface.

The server-side implementation is not constrained at all. However, Java Enterprise Edition Server (still commonly known by its Communication (AJAX, JSON) old name of J2EE) provides a useful container-based environment.

Browser-based Set-top Box Software Environment

The client that runs on the STB is an advanced web page. Client-server communications are handled by JavaScript Server and AJAX technology (as previously described). The software framework, both on Figure 1: Client-Server Model client- and server-side, is responsible for loading any required JavaScript objects. The client-side implementation is typically (but not constrained to): The framework also wraps the STB- specific JavaScript Application Programming ƒ HTML (HyperText Markup Language) Interfaces (), enabling new applications pages, which are navigated by the user as to run on any compliant STB. she interacts with the user-interface. ƒ JavaScript, which provides embedded Advantages of this approach are: functions that interact with the (DOM) of the HTML page. ƒ Allows the use of third-party developers, Because JavaScript code runs locally in using Web 2.0 service creation methods. the client environment, user-interface ƒ Provides set-top independence and functions can be very responsive. multiplatform portability. ƒ CSS (Cascading Style Sheets) allow the ƒ Decouples CA/DRM certification from format (look and feel) of the user-interface new features and applications to be separated from the business logic. development. This allows rapid customization of the graphical aspects (color, fonts, and Figure 2 shows the STB software stack. layout). The key points (highlighted on the diagram) are: Communication protocols are: ƒ Network Interface – the network interface ƒ Client-server messages are carried by is based on standard IETF protocols such HTTP using the AJAX format. as SIP, RTSP, and IGMP.

2010 Spring Technical Forum Proceedings - Page 49 ƒ IMS Applications – IMS (IP Multimedia ƒ Characteristics – each STB must meet a Subsystem) is used to enable application baseline set of parameters (such as CPU, functions such as presence and messaging. memory, and graphics capabilities) to This provides a standards-based way of ensure correct performance. supporting convergence applications such ƒ Browser interface – a set of plug-ins to the as caller-id. (IMS is also the foundation of browser to allow rapid porting to new the PacketCable 2.0 specification.) STBs. ƒ Blended Services – the browser runs ƒ Browser capabilities – this will be JavaScript applications and leverages the described in the next section (scalable underlying services layers. vector graphics).

Browser Capabilities Blended Browser High-performance SVG graphics support Services engine Interaction between IMS JavaScript services and browser engine Browser experience Presence & Plug-ins Interface Messaging IMS Standardized Plug-in API Applications Behaviour standardized

by IMS SIP QoS IGMP RTSP Media Player

Monitor Characteristics CA / DRM CA Network Guaranteed STB Interface Operating System performance Standardized Interface Drivers to the Network Hardware

Figure 2: Set-top Box Software Environment

Scalable Vector Graphics (SVG) SVG describes two-dimensional graphics and graphical applications in XML. SVG SVG is a graphics and web graphics do NOT lose any quality if they are development language based on XML. It can zoomed or resized. Most browsers now be used to create graphically-rich user- support SVG. interfaces which include animations. Authoring tools SVG provides similar user-interface functions to but differs in that it The operator must be able to rapidly is an open standard that has been under introduce new applications, for example (see development by the World Wide Web Figure 3): Consortium (W3C) since 1999 [4]. 1. Casual Games

2010 Spring Technical Forum Proceedings - Page 50 2. Video Art 3. Real-time Information These example applications can be 4. Web 2.0 created by web-applications developers 5. App Store because the environment is identical to that 6. TV Communities for .

Casual games Web 2.0

Video Art App Store

Real Time Info TV Communities

Figure 3: Application Examples

Personalization look completely different from a residential user-interface. Different user-interface styles (see 2. Minor changes in appearance and examples in Figure 4) can be supported for behavior can be made quite simply and different user groups or geographical areas. rapidly. They are first tested on a lab As previously explained, cascading style system, and then with “friendly” sheets (CSS) make it easy to change the subscribers, before being rolled out to the appearance and behavior of the HTML pages entire subscriber base. that define the user-interface. 3. Because there is no resident application At the server-side there are other in the STB, a new user-interface version significant advantages to this approach: is published in the same way as updating a web-page. STB firmware downloads 1. Different user-groups can have their own and reboots are almost completely unique user-interface style, based on the eliminated. (The only exception to this is subscriber profile. For example, a hotel when a browser update is made.) system user-interface may be designed to

2010 Spring Technical Forum Proceedings - Page 51

Figure 4: Personalization of the User Interface

Multi-level Caching generating any transactions back to the server. Referring to Figure 5, a multi-level 3. A “portal” backend in the server is pre- caching scheme is used to improve formatted to increase performance. performance and reduce load on the servers as follows: It should be noted that all of the cache entries have a time-to-live (TTL) to ensure 1. The browser caches recent HTML pages that information does not become stale. so that they are retrieved locally if the When the TTL timer expires the cache entry subscriber goes back to them. The is invalidated and the next user request program guide is a good example of this. causes a cache-refresh. 2. An HTTP cache stores commonly accessed pages for rapid retrieval without

2010 Spring Technical Forum Proceedings - Page 52 Back-end Preformat for fast STB handling HTTP Proxy Authentication HTTP Cache HTTP

IAP HTTP Portal Back-End HTTP

L-TV VOD

EPG CS Subscriber CS

Shared Cache JavaScript Share data between STBs Keep DOM tree

EPG DB Browser Cache Format Keep downloaded data EPG data Adapter

EPG Server

Content On-demand Encode content Mgmt

On-Demand Ingest

Figure 5: Multi-level Caching Hierarchy

ƒ Set-top independence and rapid STB CONCLUSIONS porting through a browser-based approach and plug-ins. In this paper we have described how a ƒ Decoupling of CA/DRM certification browser-based, thin-client approach can be from new features and applications used to support a rich, graphical user- development interface for the STB. ƒ Scalability and performance through the use of multi-level caching strategies. Making this transition brings with it a References number of very significant advantages to the operator: [1] Digital Natives, Digital Immigrants, Marc Prensky, 2001 ƒ Support for rapid development of new [2] OpenCable Architecture, Cisco Press, Michael Adams, page 131 applications without the need for new [3] Broadcom Corporation, software download to the STB. http://www.broadcom.com/products/Cable/Cable-Set- ƒ The use of third-party developers, using Top-Box-Solutions/BCM7400 Web 2.0 service creation methods. [4] World Wide Web Consortium, ƒ Personalization of the user-interface. http://www.w3.org/Graphics/SVG/ ƒ Allows full customization of the user- interface, including branding.

2010 Spring Technical Forum Proceedings - Page 53