JP2004537879A - ユーザ・インターフェース・システム - Google Patents
ユーザ・インターフェース・システム Download PDFInfo
- Publication number
- JP2004537879A JP2004537879A JP2002580637A JP2002580637A JP2004537879A JP 2004537879 A JP2004537879 A JP 2004537879A JP 2002580637 A JP2002580637 A JP 2002580637A JP 2002580637 A JP2002580637 A JP 2002580637A JP 2004537879 A JP2004537879 A JP 2004537879A
- Authority
- JP
- Japan
- Prior art keywords
- user
- menu
- user interface
- server
- data
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/441—Acquiring end-user identification, e.g. using personal code sent by the remote control or by inserting a card
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/254—Management at additional data server, e.g. shopping server, rights management server
- H04N21/2543—Billing, e.g. for subscription services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
- H04N21/25866—Management of end-user data
- H04N21/25891—Management of end-user data being end-user preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/4508—Management of client data or end-user data
- H04N21/4532—Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/454—Content or additional data filtering, e.g. blocking advertisements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4782—Web browsing, e.g. WebTV
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4786—Supplemental services, e.g. displaying phone caller identification, shopping application e-mailing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17318—Direct or substantially direct transmission and handling of requests
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17345—Control of the passage of the selected programme
- H04N7/17354—Control of the passage of the selected programme in an intermediate station common to a plurality of user terminals
Abstract
【課題】本発明は、ユーザがリモート・サーバから複数のテレビ・サービスおよびコンテンツにアクセスし、またユーザが個別にカスタマイズ可能でかつ個人化されているグラフィカル・インターフェースを通じて望みのサービスおよびコンテンツにアクセスするためのシステムおよび方法を提示する。
【解決手段】システムは、アプリケーション・コンポーネント、データベース・コンポーネント、1つまたは複数のユーザ・インターフェース・サーバ、および1つまたは複数のユーザ・デバイスを備える。アプリケーション・コンポーネントでは、ユーザに対し、たとえば、電子番組ガイド・サービス、ビデオ・オン・デマンド・サービス、ワールド・ワイドWebアクセス、電子メールなどのサービスを提供する。これらのシステムは、アクセスされ、最終的に表示および対話操作のためユーザに配信されるコンテンツを取り出し、供給する。データベース・コンポーネントは、ユーザ・プロファイル・データおよび使用度情報だけでなく、コンテンツおよび書式設定データも含む。ユーザ・インターフェース・サーバは、データベース・コンポーネントおよびアプリケーション・コンポーネントからデータにアクセスし、そのデータを処理して、個人化したユーザ・インターフェース、個人化した電子番組ガイド、およびアプリケーション・コンテンツを生成し、データ・ネットワーク経由でユーザ・デバイスに配信する。
【解決手段】システムは、アプリケーション・コンポーネント、データベース・コンポーネント、1つまたは複数のユーザ・インターフェース・サーバ、および1つまたは複数のユーザ・デバイスを備える。アプリケーション・コンポーネントでは、ユーザに対し、たとえば、電子番組ガイド・サービス、ビデオ・オン・デマンド・サービス、ワールド・ワイドWebアクセス、電子メールなどのサービスを提供する。これらのシステムは、アクセスされ、最終的に表示および対話操作のためユーザに配信されるコンテンツを取り出し、供給する。データベース・コンポーネントは、ユーザ・プロファイル・データおよび使用度情報だけでなく、コンテンツおよび書式設定データも含む。ユーザ・インターフェース・サーバは、データベース・コンポーネントおよびアプリケーション・コンポーネントからデータにアクセスし、そのデータを処理して、個人化したユーザ・インターフェース、個人化した電子番組ガイド、およびアプリケーション・コンテンツを生成し、データ・ネットワーク経由でユーザ・デバイスに配信する。
Description
【技術分野】
【0001】
本発明は、ユーザが電子メール、テレビ放送、ビデオ・オン・デマンド、Webアクセスなどの複数のサービスおよびコンテンツにアクセスするために使用するユーザ・インターフェース・システムに関する。
【背景技術】
【0002】
従来、テレビ番組は、地上基地局から送信されるRF信号、頭上の衛星から送信される信号、およびユーザ構内敷設のケーブルで送信される信号を介してユーザに放送されてきた。これらの各システムを使用するユーザは、ユーザ側でさまざまなチャネルを選択して見ることができる。しかし、これらの既存システムでは、ユーザのテレビジョン受信機にすべてのチャネルが送信される必要があり、この受信機をユーザの選択に従って同調し、チャネルの1つを表示する。これらの従来のシステムのいくつかでは、ユーザは、いくつかのチャネルを見るためには、サービス・プロバイダと受信契約を交わす必要がある。しかし、各ユーザのテレビジョン受信機は全チャネルを受信するので、ユーザはそれでも、サービス・プロバイダのセキュリティをバイパスできるしかるべきハッキング機器を使用すると制限されたチャネルにもアクセスできてしまう。
【0003】
さらに、これらの従来のシステムでは、ユーザがテレビを視聴する行為は、ユーザにとって事実上受動的な行為である。つまり、番組スケジュールはサービス・プロバイダにより予め定められており、ユーザが唯一選択できるのは、見たいチャネルだけである。ユーザがテレビを通じてサービス・プロバイダと対話して、配信されるコンテンツを制御し、より個人性の強い娯楽を経験できるようにする新しいインタラクティブ・テレビ・システムが台頭し始めている。これらのシステムでは、メニュー方式のユーザ・インターフェース・システムを採用し、ユーザが利用可能なさまざまなサービスにアクセスできるようにしている。しかし、現在まで、これらのメニュー方式のインターフェースは、ユーザが操作するには難しく、分かりにくいものである。さらに、現在のメニュー・インターフェース・システムは、「フリーサイズ」のシステムとして設計されており、通常、特定の領域でシステムのすべてのユーザに対して、同じテレビ番組編成(通常、数値の順序で)、および同じ形式およびスタイルの番組情報を送信し、表示する。
【0004】
従来のテレビ受像機を使用するユーザがサービス・プロバイダと対話することができるように、ユーザのセットトップ・ボックス(STB)が用意されている。現在は、さまざまなサービス・プロバイダが自社のセットトップ・ボックスを生産しており、それぞれ異なるハードウェアおよびソフトウェアを配置している。サービス・プロバイダは、セットトップ・ボックスに大きな処理能力および記憶能力を高め、たとえば、ユーザ・プロファイル・データ、番組ガイド・データ、および使用データなどの大量の制御データを維持し、処理し、表示する専用ソフトウェアをダウンロードすることに重点を置いてきた。これらの専用セットトップ・ボックスが複雑になった結果、システムの配備、保守、アップグレード、監視、および使用に関わるオーバーヘッドのせいで、かなりのユーザ・サポートが必要になっている。特に、このようなシステムに毎回変更を加えるたびに、それぞれのユーザのセットトップ・ボックスをチェックし、アップグレードしなければならない場合や、さらには交換しなければならない場合もある。さらに、このタイプのシステムでは、新しいアプリケーションの開発は困難であり、また時間もかかるが、それは、それぞれのアプリケーションを各セットトップ・ボックスのプロセッサの速度、オペレーティング・システム、および内部アーキテクチャに適した形式で書かなければならないからである。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、上記の問題の少なくとも1つまたは複数を緩和することを目的とする
【課題を解決するための手段】
【0006】
一態様によれば、本発明は、ユーザが多数のリモート・サーバから複数のサービスおよびコンテンツにアクセスし、またユーザが個別にカスタマイズ可能でかつ個人化されているグラフィカル・インターフェースを通じて望みのサービスおよびコンテンツにアクセスするためのシステムおよび方法を提示する。好ましい実施形態では、システムは各ユーザがそれぞれのユーザ・プロファイリング情報の更新および維持のため要求するサービスを監視する。さらにこのユーザ・プロファイリング情報を、たとえば、ユーザのサービスまたはコンテンツを対象にして使用することができる。
【0007】
他の好ましい実施形態では、ユーザとサーバとの間に配置されたユーザ・インターフェース・サーバ内に目的のサービスおよび/またはコンテンツを提供するメニュー・ページが生成される。中間ユーザ・インターフェース・サーバなどにメニュー・ページを生成し、メニュー・ページをユーザにダウンロードすることにより、ユーザ・デバイスの設計を大幅に簡素化できる。さらに、共通ユーザ・インターフェース・サーバは、多数のさまざまなアプリケーション・サーバの媒介として動作できるため、異なるアプリケーション・サーバ上で一貫したルック&フィールを持つメニュー・システムを生成することができる。そのため、エンド・ユーザが使用する最終的なユーザ・インターフェースを大幅に簡素化することができる。
【0008】
他の態様によれば、本発明は、カーソルレス・グラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバによって提供されるサービスおよびコンテンツにユーザがアクセスできるシステムを提示する。このインターフェースは、選択ウィンドウを備え、ユーザが入力デバイスのキーを使用し選択ウィンドウを通じてメニュー・オプションをスクロールさせることができるメニュー・カルーセルを備えるのが好ましい。ユーザ・インターフェースは、階層型メニュー・システムとして実現するとユーザはナビゲーションを簡単に行えるため好ましい。一実施形態では、ユーザは、上、下、左、右、およびアクションの各機能を備える制御デバイスを使用することによりメニュー・レベルをナビゲートし選択を行う。たとえば、ユーザは、上および下機能を使用してメニュー・カルーセルに用意されている複数の選択項目を上下にスクロールすることができ、また左および右機能を使用して階層型メニュー構造の異なる層の間を行き来することができる。このようにして、ユーザはメニュー・レベル、画面、およびカルーセル間をカーソルレス方式でナビゲートすることができる。
【0009】
他の態様によれば、本発明は、ユーザがそれぞれに合わせて個人化されたグラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバによって提供されるサービスおよび/またはコンテンツにアクセスできるシステムを提示する。この実施形態では、ユーザに対して表示されるメニュー・デザイン、選択、およびコンテンツは、1つまたは複数のデータベースにシステムにより保持されているユーザ・プロファイル・データおよび使用度情報に基づく。システムでは、格納されているユーザ・プロファイル・データおよび使用度情報を使用して、メニュー表示先のユーザのプロファイル・データおよび使用度情報に基づきデザイン要素、サービス、およびコンテンツを含む個人化されたメニューを作成する。この実施形態では、特定のユーザに表示されるそれぞれのメニュー画面は、一貫したデザイン、およびルック&フィールを備え、その特定のユーザ向けのサービスおよびコンテンツを含むのが好ましい。
【0010】
他の態様によれば、本発明では、それぞれのユーザに合わせて個人化した番組ガイドをユーザに提供する。システムでは、格納されているユーザ・プロファイル・データおよび使用度情報を電子番組ガイドとともに使用し、個人化され生成された番組ガイドを通じてシステムのそれぞれのユーザが電子番組ガイド・データにアクセスできるようにする。この態様によれば、システムは、ユーザの要求に応答して、電子番組ガイド・サーバから該当する電子番組ガイド・データを処理のため取り出し、その後、システムに格納されているユーザのプロファイル・データおよび使用度情報に基づいて電子番組ガイド・データを処理する。システムは、この格納されている情報に基づき、特定のユーザに表示する、その特定のユーザに合わせて個人化した番組ガイドを作成し、たとえば、ユーザの指示した好みおよび/または使用度に基づくテレビ番組編成、ユーザのお気に入りリスト、および特定のユーザに合わせてカスタマイズした関連する番組情報を表示することができる。さらに、たとえば、背景色、フォント、およびレイアウトなどの個人化した番組ガイドのデザイン要素を、メニューの表示先ユーザのユーザ・プロファイル・データおよび使用度情報に基づき特定のユーザに合わせてカスタマイズすることができる。
【0011】
本発明の一実施形態では、システムは、ユーザが複数のサービスおよびコンテンツにアクセスできるようになっており、アプリケーション・コンポーネント、データベース・コンポーネント、1つまたは複数のユーザ・インターフェース・サーバ、および1つまたは複数のクライアントを備える。アプリケーション・コンポーネントでは、ユーザに対し、たとえば、電子番組ガイド・サービス、ビデオ・オン・デマンド・サービス、ワールド・ワイドWebアクセス、電子メールなどのサービスを提供する。これらのシステムは、アクセスされ、最終的に表示および対話操作のためユーザに配信されるコンテンツを取り出し、供給する。データベース・コンポーネントは、ユーザ・プロファイル・データおよび使用度情報だけでなく、コンテンツおよび書式設定データも含む。ユーザ・インターフェース・サーバは、アプリケーション・コンポーネント、データベース・コンポーネント、およびユーザ・インターフェースを統合し、ネットワークを通じてクライアントに配信できるように設計されている。ユーザ・インターフェース・サーバは、データベース・コンポーネントおよびアプリケーション・コンポーネントからデータにアクセスし、そのデータを処理して、個人化したユーザ・インターフェース、個人化した電子番組ガイド、およびアプリケーション・コンテンツを生成し、ネットワーク経由でクライアントに配信する。各クライアントは、セットトップ・ボックスやパーソナル・コンピュータなどクライアント・デバイス内で実行されるクライアント・アプリケーションを含む。クライアント・アプリケーションは、個人化したユーザ・インターフェース・データ、個人化した電子番組ガイド・データ、およびアプリケーション・コンテンツを受信して、適切なメニュー画面とアプリケーション・コンテンツをユーザに対して表示するように修正される。
【0012】
システム・コンポーネント、クライアントおよびサーバのそれぞれは、標準ベースのプロトコルおよび言語を使用して通信するのが好ましく、これにより実装が簡単になる。一実施形態では、システムは、本質的にすべての重要な処理およびデータ格納をシステムのサーバサイドで実行することができるように配列され、クライアント・デバイスは、メニュー・ページおよび要求されたコンテンツをユーザに対し表示し、ユーザ入力および要求をサーバに送り返す役割を持つ必要がある。好ましい実施形態では、ユーザ・インターフェース・サーバは、前のユーザ要求に応答して配信される一般化されたメニュー・ページをキャッシュするキャッシュを備え、新しいユーザ要求を受信すると、キャッシュをチェックする動作を行い、新しいユーザ要求がキャッシュ内のデータとの間でのやり取りかどうかを判別する。このようにして、ユーザ・インターフェース・サーバは、アプリケーション・サーバに、またはデータベースに渡される要求の数を減らす動作をする。このようにして一般化されたメニュー・ページのキャッシングは、アプリケーション・サーバおよびデータベースに対する処理の負担が軽減され、増大するユーザに対応してシステムを拡張する作業が容易になるため好ましい。
本発明の他の態様および特徴は、添付図面を参照し、好ましい実施形態の詳細な説明を読むことにより明白になるであろう。
【発明を実施するための最良の形態】
【0013】
図1は、複数のリモート・サーバから複数のサービスおよびコンテンツにユーザがアクセスできるシステム1の主要コンポーネントを示す概略ブロック図である。システム1の異なるユーザがそれぞれのユーザ・デバイス3を介してサービスおよびコンテンツにアクセスするが、そのうち3つは、図1に示されており、3−1、3−2、3−3と番号が振られている。図1からわかるように、この実施形態では、それぞれのユーザ・デバイス3は、テレビジョン5、セットトップ・ボックス(STB)7、リモート・コントロール・デバイス9、およびキーボード11を備える。利用できるさまざまなサービスおよびコンテンツにアクセスするためのメニューが、テレビ5でユーザに表示され、ユーザはリモート・コントロール9および/またはキーボード11を使用してサービスおよびコンテンツのアクセスを選択し制御する。
【0014】
この実施形態では、ユーザがアクセスできるサービスとして以下のものがある。
i)ビデオ・サーバ15およびビデオ・データベース17からのビデオ・オン・デマンド(たとえば、フィルム・オン・デマンド、ミュージック・オン・デマンド、ビデオ録画TV、パーソナル・ビデオ・レコーダ、ビデオ商取引など)
ii)ファイヤウォール20−1を経由してインターネットに接続されているメール・サーバ19からの電子メール。
iii)EPGサーバ21からの電子番組ガイド(EPG)。
iv)ショッピング・サーバ23からの電子商取引。
v)Webサーバ25およびファイヤウォール20−2を経由するインターネット/ワールド・ワイドWebアクセス。
vi)BTVサーバ27およびBTV受信機28によって供給される基本TVチャネル、プレミアム・チャネル、ペイパービューなどを含むテレビ放送(BTV)。
vii)管理および請求書発行サーバ29により供給される請求書情報、ユーザ・プロファイルなどのユーザ・サービス。
参照を簡単にするため、上記のサーバは、これ以降、アプリケーション・サーバ30と総称することにする。
【0015】
図1に示されているように、この実施形態では、アプリケーション・サーバ30によって提供されるサービスまたはコンテンツのアクセスは、多数のユーザ・インターフェース・サーバ31を介して実行され、そのうち3つが、図1に、参照番号31−1、31−2、31−3で示されている。ユーザ・インターフェース・サーバ31は、IPデータ・ネットワーク33および負荷分散機能35(それぞれがどれくらいビジーであるかに基づいてユーザ・インターフェース・サーバ31間でユーザ要求を分担する)を介して関連するセットトップ・ボックス7から送信されたユーザ要求を受信する動作を行うことができる。この実施形態では、ユーザは、(後で詳しく説明する)グラフィカル・ユーザ・インターフェースのメニュー・ページを介してアプリケーション・サーバ30により提供される異なるサービスおよびコンテンツにアクセスする。この実施形態では、これらのメニュー・ページは、ユーザ・インターフェース・サーバ31によって生成されIPデータ・ネットワーク33上でHTML(ハイパーテキスト・マークアップ言語)ファイルとしてセットトップ・ボックス7にダウンロードされる。セットトップ・ボックス7内のWebブラウザ(図に示されていない)は、受信したHTMLファイルから適切なメニュー・ページを生成または描画し、テレビ5でユーザに表示する。
【0016】
ユーザがメニュー・ページから(リモート・コントロール9またはキーボード11を使用して)選択を行う場合、ユーザ・セットトップ・ボックス7により適切なユーザ要求が生成され、ユーザ・インターフェース・サーバ31に送り返される。それに対する応答として、ユーザ・インターフェース・サーバ31は、ローカル・キャッシュ(図に示されていない)内に格納されているデータから次のメニュー・ページ自体を生成しようとする。データがローカルで利用できない場合、ユーザ・インターフェース・サーバ31は、ユーザ要求を適切なアプリケーション・サーバ30に受け渡し、そこで、適切なデータを取得し、ユーザ・インターフェース・サーバ31に送り返す。ユーザ・インターフェース・サーバ31は、受信したデータを使用して、個人化したHTMLファイルを生成し、ユーザ・セットトップ・ボックス7に送り返す。
【0017】
さまざまなメニュー・ページおよびさまざまなユーザ・プロファイル・データを生成するために必要なデータは、データベース39内に一括して格納され、これにアクセスするには、適切なサーバ30またはユーザ・インターフェース・サーバ31を使用する。
この実施形態では、それぞれのアプリケーション・サーバ30のサービスまたはコンテンツに対し、ユーザ・インターフェース・サーバ31によって生成されるメニュー・ページからユーザがアクセスする。しかし、その結果得られるサービスまたはコンテンツは、直接、アプリケーション・サーバ30からユーザに配信するか、またはユーザ・インターフェース・サーバ31を通じて配信することができる。この実施形態では、大量のデータをユーザに送信するアプリケーション・サーバ30は、IPデータ・ネットワーク33を介してそのデータを直接ユーザに送信する。これらのアプリケーション・サーバ30は、ビデオ・サーバ15、Webサーバ25、およびテレビ放送サーバ27を含む。他のサーバ(つまり、メール・サーバ19、EPGサーバ21、ショッピング・サーバ23)は、ユーザ・インターフェース・サーバ31を介してそのサービスを返す。
【0018】
当業者であれば理解するであろうが、ユーザ・インターフェース・サーバ31は、異なるアプリケーション・サーバ30によって提供されるさまざまなサービスおよびコンテンツにアクセスするために使用されるメニュー・ページを生成するので、ユーザ・インターフェース・サーバ31では、アプリケーション・サーバ30にアクセスするしないに関係なく、メニュー・ページに対する共通の「ルック&フィール」が得られることを保証することができる。そのため、本実施形態のユーザ・インターフェース・メニュー・システムは、現在利用可能な従来技術のシステムと比べて理解しやすく、使いやすく、学習しやすい。さらに、後で詳しく説明するように、ユーザ・インターフェース・サーバ31では、インテリジェント型キャッシング手法およびユーザ・プロファイル情報を使用して、効率的な方法でそれぞれのユーザにダウンロードするメニュー・ページを個人化する。
【0019】
上では、ユーザがさまざまなアプリケーション・サーバ30によって提供されるサービスおよびコンテンツにアクセスする方法について簡単に説明した。図1に示されているシステム1で使用されているさまざまなコンポーネントについてさらに詳しく説明し、その後、ユーザ・インターフェース・メニュー・システムについて詳細に説明する。
【0020】
セットトップ・ボックス
図2aは、図1に示されているセットトップ・ボックス7の1つの主要コンポーネントを説明する機能ブロック図である。図2aに示されているように、セットトップ・ボックス7は、セットトップ・ボックス7をIPデータ・ネットワーク33にインターフェースする動作を行うネットワーク・インターフェース・ユニット201を備える。IPデータ・ネットワーク33を介してユーザ・インターフェース・サーバ31から受信したHTMLファイルは、ネットワーク・インターフェース・ユニット201を通じて、Webブラウザ203に受け渡され、WebブラウザはHTMLファイルを処理し、テレビ5に表示するためフレーム・バッファ205に出力するメニュー・ページを生成する。Webブラウザ203はさらに、リモート・コントロール・インターフェース207を介してリモート・コントロール9から、またはキーボード・インターフェース209を介してキーボード11からユーザ入力を受け取る動作をすることもできる。以下で詳しく説明するように、ユーザ入力を使用して、現在表示されているメニュー・ページ上のオプションをスクロールし、かつ/またはこのメニュー・ページからオプションを選択する。ユーザ・インターフェース・サーバ31から受信したHTMLファイルはさらに、現在のメニュー・ページから利用可能な他のメニュー・ページおよび/またはサービスおよびコンテンツのリンクも含む。ユーザ・インターフェース・サーバ31から受信したHTMLファイルはさらに、リモート・コントロール9および/またはキーボード11でのキーの押下をそれらのリンクに関連付けるWebブラウザに対する命令を含む。ユーザがリモート・コントロール9および/またはキーボード11のキーを押すと、Webブラウザ203は、受け取った命令に基づいてこのキーの押下を解釈して、ユーザが選択したリンクを識別する。この実施形態では、これらの命令はJavascript命令であり、Webブラウザ203はこれらの命令を解釈する適切なJavascriptコマンド・プロセッサ(図に示されていない)を含む。Webブラウザ203は、ユーザ・インターフェース・サーバ31に送信する適切なユーザ要求を生成するが、ユーザ要求には、キー押下に対応するリンクとともにユーザ・データ・メモリ211に格納されているユーザ・データ(ユーザID、セッションIDなど)を含む。
【0021】
図2bは、セットトップ・ボックス7からユーザ・インターフェース・サーバ31に送信される代表的なユーザ要求215に含まれる情報の概略図である。図に示されているように、ユーザ要求215には以下のものが含まれる。
i)要求を送信したセットトップ・ボックス7のIPアドレスを識別する送信元IPアドレス221。
ii)要求がIPデータ・ネットワーク33を通じてユーザ・インターフェース・サーバ31に送信されることを識別する送信先アドレス223(この実施形態では、ユーザ・インターフェース・サーバ31のURLアドレス)。
iii)ユーザ・デバイス3を監視し、対話している現在のユーザを識別する現在のユーザID 225。
iv)送信されたユーザ要求215が関連する現在のユーザ・セッションを識別するセッションID 227。
v)ユーザ・インターフェース・サーバ31に対して要求の送信先アプリケーション・サーバ30およびユーザによって要求された特定のメニュー・ページまたはサービスまたはコンテンツを識別する、表示されている現在のメニュー・ページと関連付けられている上述のリンクを形成するアプリケーション識別子229および画面識別子231。
【0022】
セットトップ・ボックス7は、Webブラウザ203の制御の下で動作してビデオ・サーバ15に特定のビデオ・ストリームを要求したり、あるいはテレビ放送サーバ27に特定のテレビ・チャンネルを要求したりするビデオ・プレーヤ213(MPEGデコーダなど)を備える。図2aに示されているように、この実施形態では、このユーザ要求215はネットワーク・インターフェース・ユニット201に渡され、このユニットはIPデータ・ネットワーク33を介してユーザ要求215をユーザ・インターフェース・サーバ31に転送し、このサーバはユーザ要求215をビデオ・サーバ15またはBTVサーバ27に転送する。上述のように、この実施形態では、ビデオ・サーバ15およびBTVサーバ27は、IPデータ・ネットワーク33を介して要求されたビデオまたはテレビ・チャンネルを直接ユーザにストリームとして送るように配列されている。IPデータ・ネットワーク33から受信したビデオまたはテレビ.チャンネル・データのストリームは、ネットワーク・インターフェース・ユニット201を通じてビデオ・プレーヤ213に渡される。ビデオ・プレーヤ213は、受信したビデオまたはテレビ・チャンネル・データ(通常、たとえば、MPEGを使用して符号化される)を処理して、ビデオまたはテレビ・チャンネルのフレームを再生し、Webブラウザ203に送り返す。次に、Webブラウザ203は、受信したビデオまたはテレビ・チャンネル・フレームをフレーム・バッファ205に出力し、テレビ5に表示する。以下に示すように、この実施形態では、Webブラウザ203はテレビ5でユーザに表示されるビデオまたはテレビ・チャンネル・フレームのサイズを制御し、たとえば、テレビ画面の一部にユーザ用にビデオまたはテレビ・チャンネルを表示し、画面の残り部分を使用して利用可能なメニュー・オプションを表示するようにできる。
【0023】
ユーザ・インターフェース・サーバ
図3は、ユーザ・インターフェース・サーバ31の主要コンポーネントを説明する機能ブロック図である。上で説明したように、ユーザ・インターフェース・サーバ31は、ユーザ要求215の受信に対する応答としてユーザ・セットトップ・ボックス7に送信される個人化されたメニュー・ページを記述しているHTMLファイルを生成するように配列されている。それぞれのユーザ・インターフェース・サーバ31は、要求215を適切なアプリケーション・サーバ30に受け渡さずに自らそれらのHTMLファイルを生成しようとするが、これは、アプリケーション・サーバ30とデータベース39の処理の負担を軽減するためである。ユーザ・インターフェース・サーバ31はさらに、2つまたはそれ以上のアプリケーション・サーバ30で必要な共通処理機能(ユーザ・ログイン、エラー処理など)を実行する役割を持つ。
【0024】
図3に示されているように、ユーザ・インターフェース・サーバ31は、ユーザ・インターフェース・サーバ31とIPデータ・ネットワーク33および負荷分散機能35とのインターフェースをとる動作が可能なインターフェース・ユニット301を備える。インターフェース・ユニット301は、負荷分散機能35からメッセージを受け取り、リスニング・ユニット303に渡す動作が可能である。リスニング・ユニット303は、ユーザ・セットトップ・ボックス7から送信されたユーザ要求215の受信を待ち、それを要求処理ユニット305に渡すように配列されている。要求処理ユニット305は、ユーザが要求を作成するのことの妥当性を確認し、その要求時が有効であるかどうかをチェックする役割を持つ。要求処理ユニット305は、さらに、HTMLキャッシュ309−1またはXMLキャッシュ309−2に格納されているデータからユーザ・インターフェース・サーバ31によりユーザ要求を処理できるかどうかを確認する。これらおよび他のキャッシュの内容について後で詳しく説明する。要求処理ユニット305でユーザ要求215に応答するために必要な情報がHTMLまたはXMLキャッシュ309に格納されていると判断した場合、要求処理ユニット305はキャッシュされている情報を直接応答処理ユニット307に受け渡し、そこでこのキャッシュされた情報を使用して個人化したHTMLファイルを生成し、インターフェース・ユニット301およびIPデータ・ネットワーク33を介してユーザ・セットトップ・ボックス7に出力する。
【0025】
要求処理ユニット305で、ユーザ・インターフェース・サーバ31がユーザ要求215に直接応答できないと判断した場合、要求215の送り先アプリケーション・サーバ30を判別し、ユーザ要求215に応答するためにそのアプリケーション・サーバ30に必要になる適切なユーザ情報をユーザ・データ・キャッシュ310から取り出す。それと同時に、要求処理ユニット305は、さらに、共通機能(ユーザ・ログインなど)を実行すべきかどうかを判断し、もしそうであれば、共通機能プロセッサ311に、適切な共通機能を実行して結果を返す命令を送る。要求処理ユニット305は、元のユーザ要求215を要求処理ユニット305によって取り出された追加ユーザ情報とともに、インターフェース・ユニット313を介して適切なアプリケーション・サーバ30に受け渡す。アプリケーション・サーバ30は、要求215を処理した後(そして、必要ならばデータベース39から適切な情報を取り出した後)、XML(拡張マークアップ言語)ファイルを返し、これにより、ユーザに表示する情報が識別される。当業者であれば明らかなように、XMLファイルは表示する情報を記述するだけであって、どのように表示するか(つまり、書式とレイアウト)については記述しない。この実施形態では、この書式設定情報はスタイル・シート(図に示されていない)で与えられ、その一部はXSLTキャッシュ309−3に格納され、残りはハード・ディスク315に格納される。
【0026】
この実施形態では、応答処理ユニット307はアプリケーション・サーバ30の1つからXMLファイルを受け取ると、XMLファイルをXMLキャッシュ309−2に格納し、XSLTキャッシュ309−3またはハード・ディスク315内の適切なスタイル・シートと組み合わせて、HTMLファイルを生成し、HTMLキャッシュ309−1に格納する。応答処理ユニット307は、ユーザ・データ・キャッシュ310のデータを使用して、HTMLファイルを個人化してインターフェース・ユニット301およびIPデータ・ネットワーク33を介して適切なユーザ・セットトップ・ボックス7に送り返す。図3に示されているように、応答処理ユニット307はさらに、共通機能プロセッサ311によって実行される共通機能を呼び出すこともできる。したがって、アプリケーション・サーバ30は、適切な命令を応答処理ユニット307に返すことにより、ユーザ・ログイン機能などの共通機能のうちの1つをトリガすることができる。
【0027】
この実施形態で使用しているユーザ・インターフェース・サーバ31の動作に関する簡単な説明を上で行った。ユーザ・インターフェース・サーバ31の主要コンポーネントの詳細をこれから説明する。
【0028】
キャッシュ
この実施形態では、ユーザ・インターフェース・サーバ31の重要な目標の1つは、可能な限り、インターフェース・サーバ31内のキャッシュのデータを使用してユーザの要求215に応答することによりアプリケーション・サーバ30に受け渡されるユーザ要求215の数を減らそうとすることである。上述のように、ユーザ・インターフェース・サーバ31は、ユーザ・データ・キャッシュ310、HTMLキャッシュ309−1、XMLキャッシュ309−2、およびXSLTキャッシュ309−3を備える。それぞれのキャッシュに格納されるデータの型について説明する。
【0029】
ユーザ・データ・キャッシュ
ユーザ・データ・キャッシュ310は、システム1のユーザごとにデータベース39に用意されているユーザ情報のすべてを格納する。この実施形態では、ユーザごとに約500バイトのデータに等しい。このデータは、とりわけ、ユーザ名、ユーザの年齢、ユーザ・ログイン名、ユーザPIN(個人識別番号)、ユーザ・セットトップ・ボックス・タイプ、セッションID、ユーザ・ログイン・ステータス・ビット、ユーザ受信契約レベル、ユーザ家族名、ユーザ・セットトップ・ボックスID、現在のテレビ・チャンネル、または見ているビデオ番組、ユーザ電子メール・アドレス、ユーザ言語、ユーザ背景色、およびその他のユーザの好みを含む。
【0030】
HTMLキャッシュ
HTMLキャッシュ309−1は、メニュー・ページの内容およびレイアウトを定義するさまざまHTMLファイルをキャッシュする。この実施形態では、本質的に、HTMLキャッシュ309−1スタティックHTMLファイルとダイナミックHTMLファイルにキャッシュされた2種類のHTMLファイルがある。スタティックHTMLファイルでは、すべてのユーザにとって同じであるメニュー・ページまたはメニュー・ページの一部を記述する。たとえば、利用可能なさまざまなオプションを表示する初期メニュー画面を記述するHTMLファイルは、すべてのユーザにとって共通なものとなる(ファイルがユーザにダウンロードされようとするときに行うことができるあまり重要でないユーザ個人化を除く)。HTMLキャッシュ309−1に格納されるダイナミックHTMLファイルは、たとえば、アプリケーション・サーバ30から受信したXMLファイルから応答処理ユニット307により生成される。したがって、これらのダイナミックHTMLファイルは、特定のユーザに固有のメニュー・データを表示するメニュー・ページを記述する(たとえば、そのユーザのお気に入りを示す)。この実施形態では、それぞれのダイナミックHTMLファイルは、アプリケーション・サーバ30によって定められた一定期間(500秒など)の間キャッシュされる。
【0031】
XMLキャッシュ
XMLキャッシュ309−2は、共通機能プロセッサ311またはアプリケーション・サーバ30のいずれかから生成されたXMLファイルを格納する。上述のように、XMLファイルは、メニュー画面に表示される情報を定義するが、メニュー画面のその情報のレイアウトについては定義しない。たとえば、XMLファイルでは、今日の選択したテレビ・チャンネルの番組一覧を識別することができる。この情報は他のユーザによって要求される可能性があるため、ユーザ・インターフェース・サーバ31がこのXMLファイルをXMLキャッシュ309−2にキャッシュする。このようにして、たとえば、別のユーザが同じ情報を望んでいるが、HTMLファイルを生成するために異なるスタイル・シートを必要としている場合(たとえば、手持ちのセットトップ・ボックス7またはテレビ5のタイプが異なるため)、ユーザ・インターフェース・サーバ31では、アプリケーション・サーバ30から再度同じXMLファイルを取り出す必要はない。単にXMLキャッシュ309−2からXMLファイルを取り出して、その別のユーザ用の適切なスタイル・シートを使って適切なHTMLファイルに変換するだけである。
【0032】
XSLTキャッシュ
この実施形態では、XSLTキャッシュ309−3は、XMLファイルからHTMLファイルを生成するために使用するスタイル・シートを格納する。この実施形態では、以下の5種類のスタイル・シートを使用する。
i)ユーザがテキストを入力するために使用する1つまたは複数のテキスト・ボックスを備える「フォーム」スタイル・シート。
ii)ユーザがメニュー・オプションをクロールするための「カルーセル」スタイル・シート。
iii)現在のテレビ・チャンネルに関係する番組情報をユーザに提供するために使用する「ショート電子番組ガイド」スタイル・シート。
iv)詳細な請求情報をユーザに送るために使用する「請求」スタイル・シート。
v)電子メール情報をユーザに送るために使用する「メール」スタイル・シート。
【0033】
この実施形態では、それぞれのクラスに数種類のスタイル・シートが用意されており、これらを使用して、さまざまなWebブラウザ203およびユーザ設定(ワイドスクリーン/ナロースクリーン、PAL/NTSCなど)に対応する。当業者であれば、XMLファイルとスタイル・シートを組み合わせてHTMLファイルを生成する作業は、比較的時間のかかる作業であることを理解するであろう(200ミリ秒のオーダー)。この実施形態では、スタイル・シートをXSLTキャッシュ309−3内に、XMLファイルと比較的組み合わせやすい前処理形式で格納する。
【0034】
インテリジェント型キャッシュ機能
ユーザ・インターフェース・サーバ31で使用しているようなキャッシュ手法を使用する際に生じうる問題の1つに、ユーザ固有のHTMLページをキャッシュする場合に記憶領域がかなり必要になる可能性があるという問題があげられる。特に、U人のユーザがそれぞれサイズSのページをPページ分キャッシュして動作しているシステムでは、U×P×Sのオーダーの記憶領域が必要になり、そのため、ユーザ数、ページ数、またはそれぞれのページの複雑度が増すと大きくなる。
【0035】
必要記憶領域を最小限に抑えるために、この実施形態では、指定されたHTMLファイルについて、コンテンツがスタティック(つまり、すべてのユーザに対して共通)であり1回格納するだけでよいのか、コンテンツがダイナミック(あるいはユーザ固有)でありしたがってユーザごとに格納する必要があるのかを区別するインテリジェント型キャッシュ手法を使用している。この実施形態では、これは、その出力のどのセクションがスタティックであり、どれがダイナミックであるかを示す区切り記号をスタイル・シート内に用意することで実現されている。キャッシュは以下のように進行する。
i)まずユーザが特定のページ(指定された曜日の指定されたチャンネルの番組一覧など)を要求すると、生成されたHTMLページが処理され、スタイル・シートに挿入されている区切り記号を使ってスタティック部分とダイナミック部分に分けられる。
ii)スタティック部分は、HTMLキャッシュ309−1内のスタティック・データ・ストアに格納され、特定のユーザのダイナミック部分は、HTMLキャッシュ309−1内のダイナミック・データ・ストアに格納される。
iii)第2のユーザが同じページを要求すると、HTMLファイルが再び、生成されるが、ユーザ固有のダイナミック部分のみがHTMLキャッシュ309−1に格納され、スタティック部分は第1のユーザの要求のときに格納されたのと同じであり、したがって、格納する必要はない。
iv)ページをすでに要求しているユーザがまた要求した場合、キャッシュされているページは、スタティック部分とユーザ固有のダイナミック部分とを組み合わせることにより再構成され、HTMLキャッシュ309−1からユーザのページが作成し直され、ページのコンテンツ全体を個別ユーザごとに格納する必要はない。
【0036】
可変スワッピング
この実施形態で使用するキャッシュ・システムの効率を高めるために、ユーザ・インターフェース・サーバ31では、事後解析補間(ここでは可変スワッピングとも呼ぶ)と呼ばれる手法をサポートしている。これは、背景色の変化やメニュー画面へのユーザ名の追加など些細なユーザ固有のページ・カスタマイズをスタイル・シートおよびXMLファイルを使用して生成された後のHTMLファイルに適用できるように設計されている。システムがすべてのユーザに対してスタティックHTMLファイルを格納することができ、それと同時に処理時に(つまり、ユーザにダウンロードするときに)個別ユーザに対してHTMLファイルを個人化できるようにするために、この可変スワッピング手法を使用する。この実施形態では、これは、可変スワッピング・アルゴリズムを使用して、ユーザ・セットトップ・ボックス7にダウンロードしようとするときに特定のユーザ・データをHTMLファイル内にスワップする応答処理ユニット307により実現される。これらの変数は、スタイル・シート内では##variable_name##として表されるためハッシュ−ハッシュ変数と呼ばれ、スタイル・シート/XML変換プロセスよりもはるかに高速な効率のよいプロセスを使用してスワップされる。
【0037】
このような置換を行う場合、必ず、##variable_name##という形式のプレースホルダをスタイル・シートまたはXMLファイル内に挿入し、結果のHTMLファイル内に表示されるようにする。処理時に、ユーザの対応する変数をユーザ・データ・キャッシュ310から取り出し、HTMLファイルに挿入する。
【0038】
この実施形態では、ユーザ・インターフェース・サーバ31と関連するマシン定数をアプリケーション・サーバ30から受け取ったジェネリックなXMLファイルにスワップするために、同じ可変スワッピング手法を使用する。特に、アプリケーション・サーバ30は、XMLファイルを異なるユーザ・インターフェース・サーバ31に送信できるので、XMLファイル内でプレースホルダを使用し、ユーザ・インターフェース・サーバ31に固有の定数を識別する。応答処理ユニット307は、このようなプレースホルダが含まれるジェネリックXMLファイルを受け取ると、そのユーザ・インターフェース・サーバ31に固有の適切な定数をスワップインする。たとえば、XMLファイルは、メニュー・ページでユーザ・セットトップ・ボックス7にダウンロードする特定のアイコンを参照することができる。このアイコンが格納されているディレクトリ・ロケーションは、ユーザ・インターフェース・サーバ31のそれぞれで異なることがある。したがって、##区切り記号内にアイコンの名前を挿入することにより、応答処理ユニット307は、そのアイコン名をそのユーザ・インターフェース・サーバ31上のそのアイコンの正しい格納場所で置き換えることができる。
【0039】
要求処理ユニット
要求処理ユニット305の主要コンポーネントの概略が図4に示されている。図からわかるように、リスニング・ユニット303から受信したユーザ要求215がまず最初にユーザ妥当性確認ユニット401に渡され、そこで受信したユーザ要求215内のユーザID 225がシステムに現在ログインしているセットトップ・ボックス7のユーザであることがチェックされる。ユーザ妥当性確認ユニット401は、ユーザ・データ・キャッシュ310に格納されているそのユーザのログイン・ステータス・ビットをチェックすることによりこの確認を行う。ユーザ妥当性確認ユニット401はさらに、ユーザ要求215内の現在のセッションID 227がそのユーザのユーザ・データ・キャッシュ310に格納されているIDと一致しているかチェックする。一致していなければ、ユーザ妥当性確認ユニット401は、そのユーザのユーザ・データ・キャッシュ310に格納されているデータをフラッシュし、ユーザ・データ・キャッシュ310を、インターフェース・ユニット313を介してデータベース39から取り出した対応するデータで更新する。
【0040】
ユーザのログイン状態に問題がある場合、ユーザ妥当性確認ユニット401は、ユーザにPIN番号の確認を要求するユーザのセットトップ・ボックス7にメニュー・ページを送り返させるためデータを応答処理ユニット307に出力する要求コントローラ403に通知する。ユーザ妥当性確認ユニット401が、ユーザが有効なユーザであることを確認すると、受信されたユーザ要求215が要求識別ユニット405に渡され、そこで、受信したユーザ要求215が有効な要求であることをチェックする。要求識別ユニット405は、アプリケーション識別子229および画面識別子231を要求データ・ストア407に格納されている要求タイプ・データと比較することによりこのチェックを行う。受信したアプリケーション識別子229および画面識別子231が要求データ・ストア407内のエントリのいずれとも一致しない場合、要求識別ユニット405が受信した要求215を要求コントローラ403に渡し、受信したユーザ要求215が無効であることを通知する。それへの応答として、要求コントローラ403は適切な応答を応答処理ユニット307に出力し、ユーザのセットトップ・ボックス7にエラー・ページを送り返す。
【0041】
この実施形態では、要求データ・ストア407に格納されているそれぞれのアプリケーション識別子229は、そのユーザ要求を処理することができるアプリケーション・サーバ30を識別するデータとともに格納される。したがって、要求識別ユニット405が要求データ・ストア407内にエントリを持つ受信したユーザ要求215のアプリケーション識別子229と一致した場合、ユーザの要求を処理することができるアプリケーション・サーバ30を識別する対応するデータを取り出して、そのユーザ要求215をこのアプリケーション・サーバ・データとともに要求コントローラ403に転送する。
【0042】
有効なユーザ要求215を要求識別ユニット405から受信すると、要求コントローラ403は、ユーザ・インターフェース・サーバ31がHTMLキャッシュ309−1またはそうでなければXMLキャッシュ309−2に格納されているデータからの要求215を処理できるかどうかをチェックする。要求コントローラ403は、ユーザの要求を処理するために必要な情報がこれらのキャッシュのいずれかに格納されていると判断した場合、キャッシュから適切なHTMLファイルまたはXMLファイルを取り出して、直接、応答処理ユニット307に受け渡す。ユーザの要求を処理するために必要な情報がXMLキャッシュ309−2にしか格納されていない場合、要求コントローラ403はさらに、XMLファイルを適切なHTMLファイルに変換するために使用しなければならない適切なスタイル・シート・クラスを識別する。この実施形態では、要求コントローラ403は、XMLファイルを適切なスタイル・シート・クラスに関連付けるハード・ディスク315に格納されているファイルから使用すべきスタイル・シート・クラスを識別してこのデータを取得する。
【0043】
要求コントローラ403は、キャッシュ内に適切なHTMLファイルまたはXMLファイルを見つけられない場合、ユーザの要求215がユーザ・ログイン、エラー、アラート、ユーザのお気に入り、ユーザ検索などのシステム共通機能に関係があるかどうかを確認する。関係があれば、ユーザの要求215は、後述のように、必要な共通機能を実行する共通機能プロセッサ311に渡される。
【0044】
この実施形態では、要求コントローラ403は、受信したユーザ要求215がアプリケーション・サーバ30に転送されると判別した場合、転送の前に、まず、ユーザ要求215を要求書式設定ユニット409に渡す。要求書式設定ユニット409は、要求を処理するアプリケーション・サーバ30で必要になるユーザ・データ・キャッシュ310から追加ユーザ情報を取り出す。この実施形態では、各アプリケーション・サーバ30が必要とする追加情報は、要求書式設定ユニット409内であらかじめプログラムされている。たとえば、各アプリケーション・サーバ30では、要求されたサービスまたはコンテンツをそのユーザに提供する前に異なるユーザIDおよびパスワードが必要になることがある。この場合、要求書式設定ユニット409は適切なユーザIDおよびユーザ・パスワードをユーザ・データ・キャッシュ310から取り出し、ユーザ要求215に追加する。要求書式設定ユニット409は、さらに、ユーザの年齢、ユーザが使用しているセットトップ・ボックス7のタイプ、ユーザが所有するテレビ5のタイプ、ユーザの電子メール・アドレス、ユーザの好ましい言語およびその他のユーザ・プリファレンスなど他の情報を追加することもできる。要求書式設定ユニット409は、適切な情報をユーザ要求215に追加した後、処理済みのユーザ要求を要求コントローラ403に返し、要求コントローラはインターフェース・ユニット313を介してその処理されたユーザ要求を適切なアプリケーション・サーバ30に転送する。
【0045】
この実施形態では、要求コントローラ403は、ユーザ妥当性確認ユニット401または要求識別ユニット405のいずれかからユーザ要求215を受信するごとに、要求215をユーザ、要求されたリソース、時刻、発生したエラー情報などの詳細とともにユーザ要求ログ411内に記録する。その後、この情報は、ときにより、行われたすべての要求を監視しそれに応じてユーザ・プロファイルを修正する管理および請求書作成サーバ29に渡される。
【0046】
共通機能プロセッサ
上述のように、ユーザ・インターフェース・サーバ31は共通機能プロセッサ311を使用して、2つまたはそれ以上のアプリケーション・サーバ30で必要になるであろうユーザ要求215に対し処理機能を実行する。そのため、アプリケーション・サーバ30にこれらの機能を別々に実装する必要がなくなる。ユーザ・インターフェース・サーバ31内にこれらの共通機能を実装する他の利点として、機能を定義するソフトウェアをいったん作成してしまえば、現在のアプリケーション・サーバ30およびシステム1に追加することができる将来のアプリケーション・サーバ30で使用することができるという点があげられる。以下では、共通機能プロセッサ311がこの実施形態で実行できる共通機能について説明する。
【0047】
エラー
共通機能の1つでは、エラー処理メカニズムをユーザ・インターフェース・サーバ31に実装する。このエラー共通機能を使用することで、アプリケーション・サーバ30はユーザ・インターフェース・サーバ31によって書式設定できるエラー・コードを、エラー・メッセージの送り先のユーザ用の適切なエラー・ページに返すことができる。要求されたアプリケーション・サーバ30がエラー・コードを応答処理ユニット307に返すと、エラー・コードは共通機能プロセッサ311内のエラー共通機能に渡され、このプロセッサはユーザに表示するエラー・メッセージを識別する適切なXMLファイルを返す。応答処理ユニット307は、次に、このXMLファイルと適切なスタイル・シート(上で説明したように)とを組み合わせ、ユーザ・セットトップ・ボックス7にダウンロードするための適切なHTMLエラー・ページを生成する。異なるエラー・メッセージ・スタイル・シートおよび上述の可変スワッピング手法を使用することにより、ユーザ・インターフェース・サーバ31は異なるユーザ・グループ(たとえば、言語、年齢別のグループなど)に対して異なるエラー・ページを生成することができる。
【0048】
エラー・コードのいくつかの例および対応するメッセージを以下の表にまとめた。
【表1】
【0049】
アラート
この実施形態では、ユーザが別のアプリケーション・サーバ30(テレビ放送サーバ27など)を使用しているときに、アプリケーション・サーバ30(メール・サーバ19など)の1つに注意することが必要であることをユーザに通知する場合に使用するアラート共通機能が用意されている。このアラート共通機能は、たとえば、ユーザに新しい電子メール・メッセージが届いたことを知らせるアラート、お気に入りのテレビ番組が現在別のチャンネルで放送されていることを知らせるアラート、ユーザはお気に入りのテレビ番組を見逃しても、いまテレビを見たければ録画してあるということを知らせるアラートなど種類のアラートを発生するのに使用することができる。アラート機能はさらに、テレビ番組またはビデオの再生中に番組またはビデオに関する追加情報が得られるということをアドバイスする場合にも使用することができる。たとえば、追加情報を、番組または映画に関する追加情報が得られるまたは映画に関係する商品を購入できる電子商取引サイトにリンクすることもできる。この実施形態では、ユーザごとにアラート共通機能をプログラムできるため、ユーザはアラートを受け取りたくない場合には何も受け取らないようにできる。
【0050】
アラート共通機能は、データベース39内のアラート・テーブル(図に示されていない)を使用して動作するように設計されている。アプリケーション・サーバ30が特定のユーザにアラートを送りたい場合、データベース39のアラート・テーブル内に、アラート・タイプ、ユーザID、アラート・メッセージ、およびユーザが向かう先のリンクを書き込む。アラート・テーブルに新しいアラートが追加されると、これもまた新規としてマークされる。アラート共通機能311は、定期的にデータベース39のアラート・テーブルを処理し、新しいユーザ・アラートがないか確認し、だれを対象としたものかを調べる。新しいアラートが見つかった場合、アラート共通機能は、応答処理ユニット307にアラートを適切なユーザ・セットトップ・ボックス7に送信させる適切なXMLファイルを出力する。さらに、アラート共通機能311は、アラートが送信されたことを示す確認メッセージをデータベース39に書き込む。
【0051】
この実施形態では、アラート・メッセージを受け取ったときにセットトップ・ボックス7が現在テレビ・チャンネルを表示しているか、またはビデオを再生している場合、セットトップ・ボックス7のWebブラウザ203はテレビ画面にオーバーレイするシンボルを生成する。ユーザが所定の期間が経過した後アラートをアクノリッジしない場合、Webブラウザ203は、画面からシンボルを削除する。ユーザがアラートに応答すると、Webブラウザ203はテレビ画面にアラートの詳細を表示する。その後、ユーザはアラートを無視するか、またはアラートに関連するリンクにジャンプすることができる。
【0052】
しかし、アラート・メッセージが届いたときにセットトップ・ボックス7が現在メニュー画面をユーザに対して表示している場合、この実施形態では、アラート・シンボルはメニュー・フレームの左側に表示される。ここでもまた、ユーザはアラートを無視するか、またはユーザはそれを選択して、そのアラートが何であるかを判別し、そのアラートと関連するリンクにジャンプするかどうかを決定することができる。当業者であれば理解するであろうが、ユーザがメニュー・ページをスクロールしている場合、Webブラウザ203では、アラート・シンボルが連続するメニュー・ページに表示されるときに、ユーザにシンボルを確認する余裕を与えるようにしなければならない。そうしないと、アラーム・シンボルは、次回メニュー・ページがユーザ・インターフェース・サーバ31からダウンロードされるときに上書きされる。
【0053】
当業者であれば理解するであろうが、このようなアラート共通機能がユーザ・インターフェース・サーバ31に用意されていないと、それぞれのアプリケーション・サーバ30はそれぞれのユーザ・セットトップ・ボックス7で直接、そのようなメッセージング・システムを管理しなければならなくなる。しかし、メニュー・ページはすべて、ユーザ・インターフェース・サーバ31により生成されるため、アラート・メッセージの発生を指示したアプリケーション・サーバ30に関係なく、アラートを発生させ、次の外へ向かうメニュー・ページをユーザに送ることができる。
【0054】
ログイン
ログイン共通機能が共通機能プロセッサ311に備えられている。この共通機能を使用して、システムへの新規ユーザのログインおよびログアウトを行う。アプリケーション・サーバ30は、さらに、ログイン共通機能をトリガすることで、たとえば、ユーザがアイテムを購入するときにユーザの素性を確認することができる。ログイン機能では、ユーザが入力したユーザPIN番号をデータベース39に格納されているユーザPIN番号と比較することによりユーザの妥当性を確認する。
【0055】
新規ユーザがシステム1にログインすると必ず、ログイン共通機能はさらに、データベース39に格納されるそのユーザに対する新しいセッションID 227を生成する。ログイン共通機能は、また、すでにログインしているユーザに合わせてデータを修正し、ログアウトしたことを示す。ユーザ・データ・キャッシュ310に格納されているユーザ・データが最新状態に保たれるようにするために、ログイン共通機能はさらに、データベース39からユーザ・データ・キャッシュ310を定期的にリフレッシュする。さらに、データベース39内でユーザのログイン・ステータスが更新されると、データベースによりすべてのユーザ・インターフェース・サーバ31のユーザ・データ・キャッシュ310内の適切なユーザ・データの更新がトリガされる。ユーザ・データ・キャッシュ310をリフレッシュするこの二重のプロセスにより、システム1全体にわたってユーザのログイン・ステータスの変化が反映される。
【0056】
この実施形態では、ログイン共通機能はシステム1が備える親コントロールも制御する。特に、ログイン共通機能では、受信契約保有者は同じセットトップ・ボックス7の他のユーザが表示することができるビデオ、テレビ・チャンネル、およびコンテンツに関する決まりを定めることもできる。ログイン共通機能のこのサブコンポーネントにより、データベース39内の親コントロール設定に変更を加えることができ、後でアプリケーション・サーバ30は、ユーザが関係する要求を出したときにその設定を使用する。このようにして、アプリケーション・サーバ30は、ユーザの年齢および親コントロール設定などに応じて返されるコンテンツまたはサービスを手直しすることができる。
【0057】
当業者であれば理解するであろうが、セットトップ・ボックス7ではなく、ユーザ・インターフェース・サーバ31でログイン共通機能および親コントロール共通機能を実行することで、ユーザがハックしてシステム設定を変更することができないため、システム・セキュリティが向上する。
【0058】
お気に入り
この実施形態では、共通機能プロセッサ311は、さらに、それぞれのユーザの個人のお気に入りをデータベース39内のお気に入りテーブル(図に示されていない)の1つの場所に保持し格納するように設計されているお気に入り共通機能も備える。たとえば、ユーザがあるテレビ番組をお気に入りとしてマークした場合、お気に入り共通機能により、この情報がデータベース39に格納され、この情報は、アプリケーション・サーバ30により使用することができる。お気に入り共通機能は2つの主要なルーチン、1つはお気に入りをデータベース39内のお気に入りテーブルに追加するルーチンと、データベース39内のお気に入りテーブルからお気に入りを表示するルーチンを備える。
【0059】
検索
共通機能プロセッサ311が備える他の共通機能として、異なるアプリケーション・サーバ30でコンテンツおよび/またはサービスをユーザが検索できるように設計されている検索共通機能がある。たとえば、検索共通機能を呼び出して、特定の役者と関係のあるすべてを見つけ出し、その結果をユーザに返すことができる。この実施形態では、検索共通機能を呼び出すと、(ユーザが検索文字列を入力できる)テキスト・ボックスを備えるメニュー・ページがユーザ・セットトップ・ボックス7にダウンロードされる。この実施形態では、さらに、さまざまな検索オプションを選択することにより、検索を、番組タイトル、役者、ディレクタ、番組カテゴリ、番組説明、またはこれらのどれかに絞り込むこともできる。このメニュー・ページに対するユーザの応答を受け取ると、検索共通機能は、各アプリケーション・サーバ30の検索を呼び出し、その結果を組み合わせて、ユーザがスクロールして選択することができる統一された検索結果集合としてユーザに送り返す。それとは別に、検索をアプリケーション・サーバ30のうち1つだけまたは2、3に制限することもできる。
【0060】
応答処理ユニット
上述のように、応答処理ユニット307の目的は、次のメニュー・ページをユーザ・セットトップ・ボックス7にダウンロードするのに適した個人化されたHTMLファイルを生成することである。図5は、この実施形態で使用している応答処理ユニット307の主要コンポーネントの詳細を示している。図からわかるように、応答処理ユニット307は、インターフェース・ユニット313を介してアプリケーション・サーバ30の1つから、または共通機能プロセッサ311上で実行されている共通機能のうちの1つから、またはユーザの要求215をXMLキャッシュ309−2に格納されているデータから処理できると要求処理ユニット305が判別した場合に応答処理ユニット305からXMLファイルを受信する応答コントローラ501を備える。応答コントローラ501は、さらに、HTMLキャッシュ309−1に格納されているデータからユーザの要求215を処理することができると要求処理ユニット305が判断した場合、要求処理ユニット305からHTMLファイルを受信することもできる。
【0061】
この実施形態では、アプリケーション・サーバ30から受け取った各XMLファイルは、XML内でキャッシュ可能であることおよびキャッシュ可能な期間を示すデータとともに返される。返されたXMLファイルは、XMLファイルが関連付けられているユーザを識別するデータも含む。上述のように、この実施形態では、アプリケーション・サーバ30から受信するXMLファイルは、本質的にジェネリックであるように設計されており、他のユーザからの同じメニュー・ページ要求を処理するために使用することができる。上述のように、XMLファイルは、さらに、ユーザ・インターフェース・サーバ31に対してもジェネリックである。この実施形態では、応答コントローラ501は、アプリケーション・サーバ30から受け取ったジェネリックなXMLファイルを可変スワッピング・ユニット503に渡し、このユニットは、マシン・データ・キャッシュ505に格納されているデータを使用して、XMLファイル内のジェネリックなユーザ・インターフェース・サーバ・データをXML態度を処理する特定のユーザ・インターフェース・サーバ31の特定のデータでスワップする。可変スワッピング・ユニット503は、次に、修正されたXMLファイルを応答コントローラ501に返し、XMLキャッシュ309−2内にキャッシュする。
【0062】
応答処理ユニット307は、さらに、適切なスタイル・シートに従って、受信したXMLファイルをHTMLファイルに変換するXSLT変換ユニット507も備える。受信したXMLファイルを変換するために使用する特定のスタイル・シートが応答コントローラ501により決定される。特に、アプリケーション・サーバ30から受信したXMLファイルは、使用するスタイル・シートのクラスを識別するデータを含む。応答コントローラ501は、ユーザが所有するセットトップ・ボックス7のタイプおよびその他のユーザ設定を識別するユーザ情報をユーザ・データ・キャッシュ310から取り出し、この情報を使用して、受信したXMLファイルをメニュー・ページを記述するHTMLファイルに変換する際に使用するスタイル・シートの識別されたクラスから正確なスタイル・シートを判別する。応答コントローラ501は、次に、受信したXMLファイルをXSLT変換ユニット507に渡し、XSLTキャッシュ309−3からXSLT変換ユニット507に正しいスタイル・シートを渡す。
【0063】
上述のように、この実施形態では、スタイル・シートすべてがXSLTキャッシュ309−3からこの前処理形式で格納されるわけではない。特に、最も一般的なスタイル・シートのみが、XSLTキャッシュ309−3内にこの形式で格納される。残りのスタイル・シートは、ハード・ディスク315内にそのネイティブ形式で格納される。したがって、応答コントローラ501は、XSLTキャッシュ309−3内に必要なスタイル・シートが格納されていないと判断した場合、ハード・ディスク315からXSLT変換ユニット507に必要なスタイル・シートを渡すようにする。変換プロセスの実行時に、XSLT変換ユニット507は、スタイル・シートに対して適切な前処理を実行し、その後XMLファイルと組み合わせて、必要なHTMLファイルを生成する。この実施形態では、XSLT変換ユニット507は、さらに、万が一同じユーザからの要求を後から再び処理する必要が生じた場合のために、この前処理済みスタイル・シートをXSLTキャッシュ309−3に、所定の期間、または別の前処理済みスタイル・シートで上書きされるまで、格納しておく。
【0064】
図5に示されているように、XSLT変換ユニット507によって生成されるその結果のHTMLファイルは、可変スワッピング・ユニット503に渡され、そこで、マシン・データ・キャッシュ505からのユーザ・インターフェース・サーバ定数がスワップインされ、得られたHTMLページがHTMLキャッシュ309−1内に格納される。可変スワッピング・ユニット503は、さらに、HTMファイル内のユーザ##変数をユーザ・データ・キャッシュ310から取り出した特定のユーザ・データで置き換える。このようにして、生成されたHTMLファイルは要求を行ったユーザに対して、たとえば、メニュー・ページの背景色画面を変更したり、ユーザの名前をページに追加したりすることなどにより個人化される。次に、可変スワッピング・ユニット503は、この個人化されたHTMLファイルをインターフェース・ユニット301に出力し、それ以降の適切なユーザ・セットトップ・ボックス7への送信に使用する。
【0065】
上の説明では、アプリケーション・サーバ30の1つからXMLファイルを受信したときの応答処理ユニット307の動作を説明している。ユーザ・インターフェース・サーバ31がXMLキャッシュ309−2内のデータからユーザ要求を処理できると要求処理ユニット305側で判別した場合に、類似の手順が実行される。しかし、ユーザ要求をHTMLキャッシュ309−1に格納されているHTMLファイルから処理できると、要求処理ユニット305が判断した場合、要求処理ユニット305から応答コントローラ501に供給されるキャッシュ済みHTMLファイルは直接可変スワッピング・ユニット503に渡され(XSLT変換ユニット507をバイパスする)、そこでユーザ・データ・キャッシュ310からの適切なユーザ##変数がスワップインされ、個人化されたHTMLファイルが同じようにしてユーザに出力される。
【0066】
上述のように、アプリケーション・サーバ30は適切な命令を送り、共通機能のうちの1つをトリガすることができる。この場合、応答コントローラ501は共通機能プロセッサ311内の適切な共通機能をアクティブにし、そこからXMLファイルを再び受け取る。たとえば、アプリケーション・サーバ30は現在のユーザのPINの要求をトリガすることができる。この場合、応答コントローラ501は、ログイン共通機能をアクティブにし、これにより、ログイン・メニュー・ページを生成するための適切なXMLファイルを生成する。ユーザから返されたPIN番号が正しくない場合、要求処理ユニット305はユーザに適切なエラー・ページをダウンロードするのをトリガすることができる。ユーザが最終的に確認されると、要求処理ユニット305は適切な確認をアプリケーション・サーバ30に返すので、アプリケーション・サーバは元のユーザ要求に応答することができる。
【0067】
アプリケーション・サーバ
アプリケーション・サーバ30は、ユーザ・インターフェース・サーバ31から、要求を実行するために必要であった共通機能から生成されたユーザ詳細および情報とともにユーザ・クエリを受信する。アプリケーション・サーバ30は、受信した要求およびデータを処理し、データベース39から要求に関連するデータを取り出すことによりユーザの要求されたサービスまたはメニュー・ページを配信する動作をする。システム1のパフォーマンスを最適にし、データベース39に対するクエリを制限するという目標を達成するために、アプリケーション・サーバ30は、この実施形態では、効率的なキャッシングを利用するようにも設計されている。
【0068】
図6は、アプリケーション・サーバ30の1つの主要コンポーネントを説明する概略ブロック図である。このブロック図は、一般的な形で示されており、すべてのアプリケーション・サーバ30に適用することができる。図からわかるように、アプリケーション・サーバ30は、アプリケーション・サーバ30とユーザ・インターフェース・サーバ31とのインターフェースであるUISインターフェース・ユニット601を備える。UISインターフェース・ユニット601は、アプリケーション要求処理ユニット603に渡されるユーザ・インターフェース・サーバ31により与えられる追加ユーザ情報とともにユーザ要求215を受信する動作が可能である。アプリケーション要求処理ユニット603は受信したデータを処理して、(i)要求を拒絶するかどうか、(ii)ユーザ要求が結果キャッシュ605に格納されているデータに対して応答できるかどうか、または(iii)ユーザ要求をアプリケーション・プロセッサ607に転送するかどうかを判別する。特に、この実施形態では、アプリケーション要求処理ユニット603は、受け取ったそれぞれのユーザ要求がそのアプリケーション・サーバ30に対するものであるかどうかを確認する。これは、そのアプリケーション・サーバ30と関連付けられているアプリケーション識別子とともにユーザ要求215の一部を形成するアプリケーション識別子229をチェックすることにより行う。これらの識別子が異なる場合、アプリケーション要求処理ユニット603はユーザ要求を拒絶し、適切なエラー・コードをユーザ・インターフェース・サーバ31に返す。
【0069】
上述のように、アプリケーション・サーバ30は、メニュー・ページ内に挿入する情報を記述するXMLファイルを生成する。これらのXMLファイルは、本質的にジェネリックな設計であり、ユーザ・インターフェース・サーバ31のどれでも処理することができ、また他のユーザから受信したユーザ要求を処理するためにも使用することができる。この実施形態では、前のユーザ要求に対して生成されたXMLファイルは、所定の期間の間、結果キャッシュ605内に格納される。したがって、アプリケーション要求処理ユニット603は、有効なユーザ要求を受信すると、結果キャッシュ605内に格納されているXMLファイルをチェックし、ユーザ要求に応答するためのXMLファイルがこのキャッシュ内に格納されているかどうかを判別する。格納されている場合、アプリケーション要求処理ユニット603は、結果キャッシュ605からXMLファイルを取り出し、そのユーザ要求を送信したユーザ・インターフェース・サーバ31に返す。アプリケーション要求処理ユニット603は、さらに、このXMLファイルがキャッシュ可能であること、およびキャッシュ可能な期間をユーザ・インターフェース・サーバ31に通知する。XMLファイルは、さらに、要求を行ったユーザを識別するデータとともに返される。この実施形態では、アプリケーション要求処理ユニット603は、さらに、生成されたよりジェネリックなXMLファイルを他のユーザ・インターフェース・サーバ31に渡すが、これもまた、キャッシュ可能であること、およびキャッシュ可能な期間を示し、これらの他のユーザ・インターフェース・サーバ31はそれに応じてXMLキャッシュ309−2を更新することができる。
【0070】
アプリケーション要求処理ユニット603は、結果キャッシュ605に格納されているすでに生成されているXMLファイルからのユーザ要求を処理できないと判断した場合、ユーザ要求215およびユーザ・インターフェース・サーバ31から受信した他の情報をアプリケーション・プロセッサ607に渡す。この実施形態では、ユーザが要求しているサービスおよび/またはメニュー・ページを判別するのは、アプリケーション・プロセッサ607である。アプリケーション・プロセッサ607は、受信したユーザ要求215の一部を形成する画面識別子231とメニュー・ロジックおよびデータ・ストア609に格納されているデータを使用してこれを行う。特に、メニュー・ロジックおよびデータ・ストア609は、次のメニュー・ページに表示する情報を定義する使用可能な画面識別子のそれぞれと関連付けられたデータをそのページ上で実行できるユーザ選択を定義するメニュー・ロジックとともに格納する。したがって、アプリケーション・プロセッサ607は、ユーザ要求を受信すると、受信したユーザ要求215の一部を形成する画面識別子231を識別し、ストア609から適切なデータおよびメニュー・ロジックを取り出す。次に、アプリケーション・プロセッサ607は、取り出したデータおよび要求とともに受信したユーザ・データを処理し、要求に応答するためにどのような情報が必要かを判別し、データベース39からその情報を取り出す必要があるかどうかを判断する。アプリケーション・プロセッサ607は、データベース39にクエリを実行する必要があると判断した場合、まず、データベース(DB)キャッシュ611と、データベース39に送信されるデータに対する前の要求の結果を格納するジェネリックなクエリ・キャッシュ613をチェックする。必要な情報がこれらのキャッシュ内に格納されていない場合、アプリケーション・プロセッサ607は適切なデータベース・クエリの書式を整え、データベース・インターフェース・ユニット615を介してデータベース39に出力する。アプリケーション・プロセッサ607は、データベース39から未処理のデータベース・データ(ユーザのお気に入りテーブルなど)を受け取ると、DBキャッシュ611内に格納する。アプリケーション・プロセッサ607は、次に、返されたデータベース・データを処理して、ユーザに返すのに適した形式で要求された情報(特定のユーザのお気に入りなど)を取得するが、これは、ジェネリックなクエリ・キャッシュ613に格納されている。
【0071】
この実施形態では、データベース・キャッシュ611は、アプリケーション・サーバ30によって最も頻繁に使用されるデータを格納し、定期的にまたはデータベース39によってトリガされたときにリフレッシュされる。データベース・キャッシュ611に格納されているデータがこのようにして更新される場合、アプリケーション・プロセッサ607は、さらに、データを処理し直して、ジェネリックなクエリ・キャッシュ613内のデータをリフレッシュする。こうして、これらのキャッシュ内のデータは、最新状態に保たれ、その後受信するユーザ要求に応答することができる。
【0072】
アプリケーション・プロセッサ607は、ユーザ要求に応答するための関連する情報を取得した後、その情報を適切なメニュー・ロジック(ユーザ選択およびそのリンクなどを定義する)とともにアプリケーション要求処理ユニット603に送り返す。次に、アプリケーション要求処理ユニット603は、情報とメニュー・ロジックを、結果キャッシュ605内に格納されるXMLファイル内にパッケージ化し、上述の方法でユーザ・インターフェース・サーバ31に返す。
【0073】
管理および請求書作成サーバ
管理および請求書作成サーバ29は上述のジェネリックな説明に適合しているが、システム1の範囲内の目的について詳しく説明するのが適当であろう。特に、管理および請求書作成サーバ29はユーザ請求書作成およびユーザ・プロファイリングなどのさまざまなユーザ・サービスを提供する動作が可能である。この実施形態では、管理および請求書作成サーバ29は、さらに、最初にユーザをシステム1にログオンさせ、新規ユーザ用にデータベース39内にさまざまなユーザ・プロファイルおよびユーザ・テーブルを設定する役割を持つ。この初期ログオン手順の実行時に、ユーザは管理および請求書作成サーバ29にユーザの年齢、パスワード、電子メール・アドレス、支払い限度額、ユーザ名、WWWホーム・ページ、検索ページ、ユーザ言語、国名などの詳細を入力する。管理および請求書作成サーバ29は、次に、データベース39内に必要なユーザ・テーブルを作成し、そして、システム1内のさまざまなキャッシュの中のユーザ・データの更新をトリガし、新規ユーザを受け入れる必要がある。
【0074】
管理および請求書作成サーバ29は、さらに、異なるユーザによる請求書支払いを追跡し、支払いが行われない場合にサービスまたはコンテンツのユーザへの提供をブロックする役割も持つ。
【0075】
この実施形態では、ユーザは、ユーザ・インターフェース・サーバを介して管理および請求書作成サーバ29によって保持されるデータにアクセスし、たとえば、そのユーザが所有する未払い金額を特定したり、現在の請求期間にそのユーザによって購入された異なる映画を識別したりすることができる。
【0076】
請求を実行するために、管理および請求書作成サーバ29は、データベース39からユーザ請求書作成テーブル(図に示されていない)を読み込み、そこで、すべてのアプリケーション・サーバ30がさまざまなユーザに対して配信したサービスおよびコンテンツを識別するトランザクションを作成する。次に、管理および請求書作成サーバ29は、それらのサービスまたはコンテンツの適切な量を計算し、ユーザの請求書に追加する。
【0077】
この実施形態では、管理および請求書作成サーバ29は、さらに、図4に示されているユーザ要求ログ411内に格納されているユーザ・インターフェース・サーバ31によって受信される異なるユーザ要求を監視する。その後、管理および請求書作成サーバ29は、この情報を使用して、システム1の異なるユーザに対するユーザ・プロファイルを決定する。たとえば、管理および請求書作成サーバ29は、それぞれのユーザが行う要求に対してさまざまな統計処理を実行し、ユーザが好むテレビ番組またはビデオ・フィルムのタイプの識別を試みることができる。このユーザ・プロファイル情報をデータベース39に格納しておき、たとえば、電子番組ガイド・サーバ21によって使用することができる。特に、EPGサーバ21はこのユーザ・プロファイル情報を使用して、ユーザが見たい番組に関する提案をユーザに対して行うことができる。テレビ放送サーバ27もこの情報を使用することで、番組を選択して録画し後で再生することができる。この機能を実現するためにBTVサーバ27内で必要になる記憶領域の量を考えると、このサービスをユーザ全員に提供することはできない。たとえば、「ゴールド受信契約」ユーザにのみこのサービスを提供し、見逃した番組を見られるようにすることもできる。
【0078】
データベース
データベース39とは、すべてのユーザの詳細、トランザクション、およびアプリケーション・データが格納されるシステム1の単一の領域のことである。データベース39は、このデータを保持し、制御された方法でこれをアプリケーション・サーバ30に配信する役割を持つ。データベース39は、さらに、データベース39内のデータに変更があったときにそのことをアプリケーション・サーバ30およびユーザ・インターフェース・サーバ31に通知し、サーバの内部キャッシュが更新されるようにする必要がある。
【0079】
図7は、データベース39内の主要コンポーネントを説明するブロック図である。図からわかるように、データベース39はデータベース39とアプリケーション・サーバ30およびユーザ・インターフェース・サーバ31とのインターフェースとなる動作をするサーバ・インターフェース・ユニット701を備える。これらのサーバから受け取ったデータベース・クエリがデータベース・プロセッサ703に渡されると、データベース・テーブル705のデータが処理され、クエリに応答する。図7に示されているように、データベース・テーブル705は異なるアプリケーション・サーバ30について関連するデータを格納する多数のアプリケーション・テーブル707を備える。たとえば、これらのテーブルには、番組ガイド一覧を生成するためEPGサーバ21によって使用される電子番組ガイド・データが格納される。データベース・テーブル705はさらに、アプリケーション・サーバ30およびユーザ・インターフェース・サーバ31によって使用されるさまざまなユーザ情報および詳細を格納するユーザ・テーブル709も含む。たとえば、この情報には、ユーザ名、ユーザの家族名、ユーザ・ステータス、ユーザ・ログイン名、ユーザ・ログイン・パスワード、ユーザ・ログインPIN、ユーザ電子メール・アドレス、ユーザのお気に入り、ユーザ言語、ユーザの色、ユーザの国などが含まれる。データベース・テーブル705には、ユーザ・アカウント情報、請求書作成情報、および購入品目の詳細などを格納するためのユーザ詳細テーブルも含まれる。最後に、ユーザ・データベース・テーブル705は、さらに、データベース・テーブル705内のデータの一部を処理するためにアプリケーション・サーバ30またはユーザ・インターフェース・サーバ31からの要求により呼び出すことができる一組のストアド・プロシージャ713も含む。たとえば、ストアド・プロシージャを使用してテレビ放送サーバ27から利用できるすべてのチャンネルの番組一覧を提供する電子番組ガイドを処理し、TVチャンネルの選択で現在再生されている番組を決定することができる。
【0080】
アプリケーション・サーバ30から受け取ったクエリに応答することのほかに、データベース・プロセッサ703は、さらに、さまざまなサーバにトリガを送信する動作をすることが可能であり、それらのサーバ内のキャッシュをリフレッシュすることができる。特に、アプリケーション・サーバ30またはユーザ・インターフェース・サーバ31がデータベース・テーブル705にデータを書き込む場合、データベース・プロセッサ703は適切なトリガを発生し、システム1内の他のサーバに出力することで、キャッシュの関連する部分を更新することができる。このようにして、データベース・プロセッサ703は、システム1内のキャッシュされたデータの同期を制御することができる。
【0081】
上では、ユーザがユーザ・インターフェース・サーバ31を介して多数のリモート・サーバ30からサービスおよびコンテンツにアクセスできるようにするシステムについて説明した。ユーザは、ユーザ・インターフェース・サーバ31内にメニュー画面が生成され、ユーザのセットトップ・ボックス7にダウンロードされるメニューベースのユーザ・インターフェースを介してそれらのサービスおよびコンテンツにアクセスすることができる。この実施形態で使用するメニューベースのユーザ・インターフェースについて説明する。
【0082】
ユーザ・メニュー・システム
図8は、この実施形態で使用するメニューベースのユーザ・インターフェースの一般的な動作を説明する機能を示す流れ図である。通常、ユーザは、メニュー・システムに入る前に、ビデオ・ストリーム(ステップs1)またはテレビ放送番組(ステップs3)を見ている。メニュー・システムにアクセスするため、ユーザはリモート・コントロール9またはキーボード11のメニュー・キーを押す(ステップs5で)。特に断りのない限り、以下の説明では、ユーザはリモート・コントロール9を使用してメニュー・システムをナビゲートすると仮定する。
【0083】
図9は、この実施形態で使用しているリモート・コントロール9の概略図である。図からわかるように、リモート・コントロール9は、メニュー・キー901、上矢印キー903、下矢印キー905、左矢印キー907、右矢印キー909、および3つのファンクション・キー911−1、911−2、911−3を備える。リモート・コントロール9は、従来と同様の動作であり、ユーザがキーの1つを押すと、対応するリモート・コントロール信号915が発生し、セットトップ・ボックス7に送信され、セットトップ・ボックスはその信号を受信して、押されたキーを判別する。
【0084】
図8に戻ると、ステップs5で、ユーザがビデオ・ストリームまたはテレビ放送番組を見ている間にメニュー・キー901を押すと、ステップs7でメイン・メニューがテレビ5に表示される。実際、この実施形態で生じるのは、ユーザがメニュー・キー901を押したときに、セットトップ・ボックス7がメイン・メニュー画面に対してユーザ要求を発生することである。この要求はユーザ・インターフェース・サーバ31に送信され、そこでローカル・キャッシュ309からメイン・メニュー画面が生成される。上述のように、ユーザ・インターフェース・サーバ31は、メニュー画面をそのユーザ向けに個人化し(たとえば、ユーザの名前をメニュー画面に追加し、背景色を変更し、現在の時刻を追加するなど)、それをセットトップ・ボックス7に送り返してテレビ5に表示する。
【0085】
図10は、この実施形態で使用しているメイン・メニュー100の形式を示している。図からわかるように、メイン・メニュー100は2つの主要部分、つまり、さまざまなメニュー・カテゴリ107がユーザに対して表示される左側フレーム101とユーザが見ていたビデオまたはテレビ放送番組が再生を続ける右側フレーム103に分割される。左側フレーム101では、ユーザが受信契約しているサービス・プロバイダの名称とロゴ105を表示するための領域がフレームの1番上に配置される(この場合、Thirdspaceという名前とロゴである)。このロゴの下に、選択できる4つのメニュー・カテゴリ107−1〜107−4があり、それぞれ、関連するアイコン109−1〜109−4があり、現在選択されているカテゴリが識別されるように強調表示される。左側フレーム101はさらに、現在のユーザの名前が表示される領域111を含む。最後に、左側フレーム101の一番下に、現在時刻113および日付115が表示される。右側フレーム103では、現在のテレビ放送チャンネルの名称または表示されている映画の名称が上側部分117に表示され、テレビ番組またはビデオは中央表示領域119で再生される。このようにして、ユーザは、メニュー・キーを押す前に再生していたテレビ番組またはビデオを見続けることができる。
【0086】
リモート・コントロール9の上矢印キー903または下矢印キー905を押すことにより、ユーザは現在強調表示になっているメニュー・カテゴリ107を変更することができる。たとえば、もう一度図10に戻ると、強調表示になっている現在のメニュー・カテゴリはVideospaceカテゴリ107−2である。ユーザが上矢印キー903を押すと、Yourspaceメニュー・カテゴリ107−1が強調表示になる。
【0087】
それとは別に、ユーザが下矢印キー905を押していた場合、TVspaceメニュー・カテゴリ107−3が強調表示になる。この実施形態では、メニュー・カテゴリ107に入るために、ユーザはメニュー・カテゴリ107が強調表示になっているときにリモート・コントロール上の右矢印キー909を押す。これは、図8のステップs9に示されている。図8に示されているように、結果は、その時に強調表示されていたメニュー・カテゴリ107に応じて、ステップs11のTVspaceメニュー、ステップs13のVideospaceメニュー、ステップs15のYourspaceメニュー、またはステップs17のOpenspaceメニューの表示である。
【0088】
この実施形態では、TVspaceカテゴリ107−3では、ユーザはテレビ放送サーバ27によって提供されるサービスおよびコンテンツにアクセスすることができ、Videospaceカテゴリ107−2では、ユーザはビデオ・サーバ15によって提供されるサービスにアクセスすることができ、Yourspaceカテゴリ107−1では、ユーザはWebサーバ25を介してWorld Wide Webに、電子メール・サーバ19を介して電子メールに、管理および請求書作成サーバ29を介してアカウント情報にアクセスすることができ、Openspaceメニュー・カテゴリ107−4では、ユーザはショッピング・サーバ23を介してショッピング、3行広告、地域情報、およびゲームにアクセスすることができる。
次に、さまざまなこれらのメニュー・カテゴリ107について説明する。
【0089】
TVspace
上述のように、TVspace 107−3は、ユーザがテレビ放送サーバ27によって提供されるサービスおよびコンテンツにアクセスするためのユーザ・インターフェースの領域である。図11は、TVspace107−3と関連するメイン・ロジックを説明する流れ図である。「メイン・メニューを表示」ステップs7と「TVspaceメニューを表示」ステップs11は、わかりやすくするため再び示されている。この実施形態で使用しているメインTVspaceメニュー120は、図12に示されている。図10と図12との比較からわかるように、メインTVspaceメニュー120は、図10に示されているメイン・メニュー100と似たルック&フィールを持つ。特に、サービス・プロバイダのロゴ105が上側部分に表示される左側フレーム101を含む。ロゴ105の下に、メニュー・カテゴリTVspace107−3が表示され、TVspace内にいることについてユーザに確認が行われる。左側フレーム101はさらに、リモート・コントロール9上の左矢印907を押した場合に、図10に示されているメイン・メニュー100に戻ることをユーザに通知する左矢印アイコン122を含む。このオプションは、図11の流れ図のステップs12に示されている。現在のユーザも、現在の時刻113および日付115とともに左側フレーム101の111で識別される。
【0090】
TVspaceメイン・メニュー120の右側フレーム103は、現在のテレビ番組またはビデオ・フィルムが再生を続けるビデオ・ウィンドウ121を含む。図からわかるように、このウィンドウ121の上に、現在再生している映画またはチャンネルの名前123がユーザに表示される(この図では「Channel 5」が表示されている)。「Options」カルーセル・メニュー125はビデオ・ウィンドウ121の左に表示され、表示するテレビ番組を識別するさまざまなオプションの一覧が示される。この実施形態では、使用可能なメイン・オプションとして、ユーザが目的の番組を検索するテキスト文字列を入力するための「Search」オプション127、選択すると今日放送されている番組および現在のユーザ111がすでにお気に入りの番組として指示している番組の一覧を表示する「Today’s Favourites」オプション129、ユーザが受信契約している(そして表示することを許可されている)すべてのテレビ・チャンネルの完全な電子番組ガイド一覧を表示する「All Channels」オプション131、およびユーザがテレビ放送サーバ27から利用できるペイパービュー番組の一覧を参照することができる「Pay−Per−View」オプションがある。
【0091】
これらのメイン・オプションに加えて、TVspaceメイン・メニュー120も、ユーザごとに異なり、サービス・プロバイダによって指定されるカルーセル125オプション内でリストを表示する。この例では、選択した場合に、全電子番組ガイド・データをフィルタ処理して、受信契約者のすべてのチャンネルでコメディ番組を識別するサービス・プロバイダによって定義された「Comedy」オプション135が表示される。コメディ番組の一覧を表示するために、システムはユーザが「All Channels」オプションを選択したかのように動作するが、適切なフィルタを使ってコメディとして分類されている番組のみを識別する。当業者であれば、他のサービス・プロバイダ定義オプションも利用できることは理解するであろう。サービス・プロバイダ定義オプションに加えて、システムはユーザ・プロファイルに応じてオプションのフィルタ処理を行うことができる。たとえば、「Adult」オプションを18歳以上のユーザ向けに用意することができる。このオプションは、18歳未満のユーザについてはオプション・カルーセルから自動的に削除される。
【0092】
図12に示されているように、カルーセル125はさらに、一度にオプションのうちの1つを表示する選択ウィンドウまたはボックス137を備える。ユーザは、リモート・コントロール9の上矢印キー903または下矢印キー905を使用して(メニュー画面上に固定されたままの)選択ウィンドウ137内のさまざまなオプションをスクロールすることができる。これが可能かどうかは、それぞれオプション・カルーセル125の上と下に表示される上矢印アイコン141と下矢印アイコン143によってユーザに示される。たとえば、図13に、リモート・コントロール9の上矢印キー903を1回押した後、図12に示されるTVspaceメイン・メニュー120が示されている。図からわかるように、カルーセル125内のオプションはすべて1つ上に移動しており、「Comedy」オプション135はカルーセル125の下にラップアラウンドする。したがって、リモート・コントロール9の上矢印キー903または下矢印キー905を押すことにより、ユーザは選択ウィンドウ137内の目的のオプションの位置を決めることができる。この実施形態では、ユーザがオプション・カルーセル125を操作すると、ユーザ・インターフェース・サーバ31に更新メニュー・ページを要求せずに、Webブラウザ203によって、表示されるメニュー画面が修正される。当業者であれば、メニュー・ページを記述するHTMLファイル内に含まれるJavascript命令の制御の下でこれを行うことを理解するであろう。
【0093】
図に12に示されているように、選択ウィンドウ137は、リモート・コントロール9のファンクション・キー911−1を押すことによりアクティブにすることができる「Change User」アイコン149を含む。これは、ステップs16でファンクション・キー911−1を押すことによりTVspaceメニュー120からアクセスされる「Change User」ステップs14により図11に示されている流れ図で示されている。この「Change User」オプションについては後で説明する。
【0094】
ユーザがリモート・コントロール9の右矢印キー909を押すと、Webブラウザ203は、(現在のメニュー・ページを記述するHTMLファイルとともに送られたリンクを使用して)これを、現在選択ウィンドウ137内にあるオプションの実行を望んでいるものと解釈し、適切なメニュー・ページの要求をユーザ・インターフェース・サーバ31に送り返す。図11に示されているように、ユーザがステップs13で右矢印キー909を押すと、「Search」オプション127が選択されていた場合はステップs15で「Search」メニューが表示され、「Today’s Favourites」オプション129が選択されていた場合はステップs17で「Today’s Favourites」メニューが表示され、「All Channels」オプション131が選択されていた場合はステップs19で「All Channels」メニューが表示され、「Pay−Per−View」オプション133が選択されていた場合はステップs21で「Pay−Per−View」メニューが表示される。ユーザが「Comedy」オプション135を選択した場合、「Comedy」メニューが表示される。この実施形態では、「Comedy」オプション135は「All Channels」オプション131のフィルタ処理バージョンに対応しているため、このオプションは図11の流れ図には示されていない。
これらのユーザ・オプションの詳細について以下で説明する。
【0095】
All Channels
上述のように、「All Channels」オプション131では、ユーザは受信契約しているすべてのチャンネルの完全な電子番組ガイドを利用することができる。特に、ユーザが「All Channels」オプション131を選択した場合、セットトップ・ボックス7は、現在のユーザ用の電子番組ガイドの要求をユーザ・インターフェース・サーバ31に送る。ユーザ・インターフェース・サーバ31がそのキャッシュ309から要求されたメニュー・ページを用意できない限り、この要求は電子番組ガイド・サーバ21に渡される。その後、電子番組ガイド・サーバ21は、要求を行った現在のユーザのユーザ・プロファイル情報を使用してデータベース39内に格納されている電子番組ガイド・データのフィルタ処理を行う。このフィルタ機能により、ユーザは、受信契約していないチャンネルまたは表示することを許されていないチャンネルの番組一覧を受け取れないようになる。その後、この番組一覧情報は、ユーザ・インターフェース・サーバ31に返され、適切なHTMLファイルに整形され、ユーザのセットトップ・ボックス7にタウンロードされ、そこで適切なメニュー・ページが生成される。
【0096】
このHTMLファイルから生成される典型的な「All Channels」メニュー・ページを図14に示す。図からわかるように、「All Channels」メニュー・ページ150は、左側フレーム101と右側フレーム103を備えるという点で、図12および13に示されているTVspaceメイン・メニュー120と似たレイアウトが設定されている。ここでもまた、システムは、左側フレーム101内にサービス・プロバイダのロゴ105を表示し、その下にTVspace名107−3とロゴ109−3を表示する。左側フレーム101も、現在のユーザ111、現在の時刻113、および日付215を表示する。最後に、左側フレーム101はさらに、ユーザがリモート・コントロール9上の左矢印キー907を押して前のメニュー画面に戻ることができることを示す左矢印アイコン122を含む。このオプションは、図11の流れ図のステップs24に示されている。
【0097】
右側フレーム103では、メニュー・ページに「All Channles」というタイトルの付いているカルーセル153が配置され、ユーザはこれにより、カルーセル153が現在のユーザから利用できるすべてのチャンネルを表示していることを確認する。図14に示されているように、カルーセル153は、ユーザが受信契約をしているすべてのテレビ・チャンネルについて現在および次回放映されるものを表示することを除き、図12に示されているTVspaceメイン・メニュー120で使用されるカルーセル125に類似している。図に14に示されているように、現在表示されているチャンネルは99チャンネル、1チャンネル、2チャンネル(現在選択ウィンドウ137内にある)、5チャンネル、および23チャンネルである。上矢印アイコン141および下矢印アイコンを143により示されているように、ユーザはリモート・コントロール9上の上矢印キー903または下矢印キー905を押すことで、固定された選択ウィンドウ137内で利用可能なチャンネル(一度にすべてを表示できるわけではない)をスクロールすることができる。
【0098】
図14に示されているように、選択ウィンドウ137には「Change User」アイコン149が含まれる。上述のように、このオプションは、ユーザがリモート・コントロール9上のファンクション・キー911−1を押すことにより選択されるが、これは図11のステップs28の流れ図に示されている。このメニュー・ページからユーザを変更することができるほかに、ユーザはさらに、選択ウィンドウ137内の現在のチャンネルおよび/または番組の1つをデータベース39に格納されているお気に入りのリストに追加することもできる。このオプションは、メニュー・ページ内にお気に入りアイコン155で表され、図11では、「お気に入りを編集」ステップs34により示されており、ステップs31でファンクション・キー911−2を押すことにより「All Channels」メニュー・ページ150からアクセスできる。この「お気に入りを編集」ルーチンについては後で説明する。
【0099】
この実施形態では、図14に示されている星形アイコン157および159を使用して、2チャンネルが現在お気に入りチャンネルであることを示し、また2チャンネルの次の番組(つまり、番組2〜3)が現在のユーザのお気に入り番組リストに載っていることを示す。
【0100】
ユーザがリモート・コントロール9(図11のステップs30で表されている)上の右矢印キー909を押した場合、選択ウィンドウ137内のチャンネルの詳細番組一覧メニュー・ページが電子番組ガイド・サーバ21から取り出され、テレビ5に表示される(図11のステップs32に対応する)。図15は、2チャンネルのこの詳細な番組一覧メニュー・ページ160の形式を示している。図からわかるように、詳細メニュー・ページ160は、図13に示されているTVspaceメイン・メニュー120と同じ一般的なルック&フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。この実施形態では、ユーザが前の画面からチャンネルの1つを選択すると、そのチャンネルの詳細メニュー・ページ160を取り出すことに加えて、そのチャンネルに現在表示されているテレビ番組もストリーミングでユーザ・セットトップ・ボックス7に出力され、ビデオ・ウィンドウ121内に再生される。チャンネル123の名前も、ビデオ・ウィンドウ121の上に表示され、ウィンドウの下には、番組の名前(この場合、番組2−1)がその番組のテキスト記述161とともに表示される。
【0101】
この実施形態では、詳細な番組一覧に、次の7日間にわたる選択されたチャンネルでの番組の詳細が記述され、カルーセル163に表示される。最初は、ユーザが詳細番組一覧メニュー160に入ると、現在再生している番組が選択ウィンドウ137内に表示される。ユーザは、今日の番組と次の7日間にわたる番組をスクロールすることができる。翌日の番組が選択ウィンドウ137内に表示された場合、カルーセル163の上に示される日付が該当する日にちに変わる。さらに、「Change User」アイコン149およびお気に入りアイコン155で示されているように、ユーザのIDを変更し、選択ウィンドウ137内に現在表示されている番組をユーザのお気に入りリストに追加することができる。これらのオプションは、それぞれ、図11のステップs33およびs35で選択される。
【0102】
この実施形態では、ユーザがこの詳細メニュー・ページ160からリモート・コントロール9上の右矢印キー909を押すと、メニュー・ページがテレビ画面から削除され、現在ビデオ・ウィンドウ121内に表示されている番組が拡大し、テレビの全画面を埋める。これは、図11のステップs37およびs3に示されている。ユーザは、その後、もう一度メニュー・キー901を押して、メニュー・システムに入り直す必要がある。
【0103】
Pay−Per−View
上述のように、「Pay−Per−View」オプションを使用することにより、テレビ放送サーバ27から利用できるペイパービュー・テレビ番組および映画の一覧を参照できる。特に、ユーザが「Pay−Per−View」オプション133を選択した場合、「Pay−Per−View」メニュー・ページがテレビ5に表示され、ユーザが見ることができる。典型的な「Pay−Per−View」メニュー・ページ170が図16に示されている。図からわかるように、「Pay−Per−View」メニュー・ページ170は、図15に示されている詳細メニュー・ページ160と同じ一般的なルック&フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。
【0104】
図16に示されているように、「Pay−Per−View」メニュー・ページ170は、次の週のうちに放送されるペイパービュー番組および映画の一覧である「ペイパービュー」カルーセル173を含む。カルーセル173に一覧として示されているそれぞれのペイパービュー番組または映画では、番組または映画が表示される日付、放送される時刻、番組また映画を受信するために支払わなければならない価格が明示される。すでに購入しているPay−Per−Viewアイテムは、価格の代わりにそのアイテムの隣に表示されている購入済アイコン185により強調表示になっている。
【0105】
前のように、ユーザはリモート・コントロール9の上矢印キー903または下矢印キー905を使用して、固定された選択ウィンドウ137内のペイパービュー番組および映画をスクロールすることができる。図16に示されているように、選択ウィンドウ137の右側の「Pay−Per−View」メニュー・ページ170のテキスト領域175に、現在選択ボックス137内にあるペイパービュー番組または映画の詳細が表示される。図16に示されている説明では、これは、Movie 1が放映される時間の詳細、主演俳優および女優の詳細とともに映画の年齢格付け、映画に関するテキスト記述を含む。ユーザが選択ウィンドウ137内で別のペイパービュー番組および映画をスクロールすると、このテキスト領域175に表示されている情報も、現在選択ウィンドウ137内にある番組または映画に対応して変化する。この実施形態では、このテキスト領域175の上に、現在選択ウィンドウ137内にあるPay−Per−Viewアイテムの入力を求めるグラフィック画像が表示されるグラフィックス・ボックス177が用意される。
【0106】
「Change User」アイコン149によって示されているように、リモート・コントロール9上のファンクション・キー911−1を押すことにより「Pay−Per−View」メニュー・ページ170内のユーザを変更することができる。このオプションは、図11の流れ図のステップs41に示されている。さらに、ユーザはリモート・コントロール9上の左矢印キー907を押して、TVspaceメニュー120に戻ることができる。このオプションは、図11のステップs25に示されている。最後に、購入アイコン179により示されているように、ユーザは選択ウィンドウ137内にある現在のペイパービュー番組または映画を購入することができる。このオプションは、図11のステップs43に示されており、ユーザがファンクション・キー911−2を押すことによりアクティブになる。図11に示されているように、ユーザがペイパービュー・アイテムを購入する場合、ステップs45で、確認メッセージがユーザに対して表示される。これは図17に示されており、選択ウィンドウ137内に確認メッセージが表示されている「Pay−Per−View」メニュー・ページ170を示している。キャンセル・アイコン181および受理アイコン183により表されているように、ユーザはオペレーションをキャンセルして、図16に示されている「Pay−Per−View」メニュー・ページ170に戻るか、または選択したペイパービュー・アイテムを購入しようとしていることを受け入れることができる。この実施形態では、ユーザは,リモート・コントロール9上のファンクション・キー911−3または左矢印キー907のいずれかを押してオペレーションをキャンセルし、リモート・コントロール9上のファンクション・キー911−2を押して選択したペイパービュー・アイテムを購入しようとしていることを受け入れることができる。これらのキャンセルおよび受理のオプションはそれぞれ図11のステップs47およびs49に示されている。
【0107】
ユーザが選択したペイパービュー・アイテムを購入することを受け入れない場合、ステップs51でシステムはユーザがペイパービュー・アイテムを購入できるようにユーザ妥当性確認を実行する。ユーザの妥当性が確認されない場合、ユーザは図16に示されている「Pay−Per−View」メニュー・ページ170に戻る。しかし、ユーザの妥当性が確認されると、テレビ放送サーバ27はデータベース39内で、ユーザが選択したペイパービュー・アイテムを購入したことを示す。ペイパービュー番組または映画が現在再生されているかまたは再生する予定であれば、テレビ放送サーバ27はユーザをテレビ放送の適切なチャンネルに戻し、ペイパービュー番組または映画を受信するようにする。しかし、ペイパービュー番組または映画が将来のある時点に再生することを予定している場合、テレビ放送サーバ27はユーザを、メニュー・システムに入る前に見ていた元のテレビ放送チャンネルまたはビデオ・ストリームに戻す。
【0108】
この実施形態では、ステップs51でユーザ妥当性確認を実行するために、ユーザ・インターフェース・サーバ31では上述のログイン共通機能を使用する。このユーザ妥当性確認ルーチンの流れ図は図18に示されている。ステップs61に示されているように、ログイン共通機能が開始すると、ユーザはPIN番号の入力が求められる。これはさらに、図19に示されており、「ペイパービュー」メニュー・ページ170の選択ウィンドウ137内のPIN番号の入力を求めるプロンプト189が示される。テキスト入力ボックス191も選択ウィンドウ137内に用意され、ユーザは(キーボード11を使用して)PIN番号をそこに入力することができる。ユーザは、操作中にいつでも、リモート・コントロール9上の左矢印キー907を押すことにより購入手順をキャンセルすることができる。さらに、キャンセル・アイコン181により表されているように、ユーザは(ステップs63で)リモート・コントロール9上のファンクション・キー911−3を押すことにより操作をキャンセルすることもできる。受理アイコン195によって表されているように、ユーザは、PIN番号を入力した後、リモート・コントロール9上のファンクション・キー911−2を押すことにより(ステップs65で)受け入れる。これにより、入力されたPIN番号がユーザ・インターフェース・サーバ31に送信され、そこで、ユーザ・データ・キャッシュ310内の現在のユーザについて格納されているPIN番号と比較する。これは、図19に示されている流れ図のステップs67に対応している。
【0109】
PIN番号が正しい場合、ユーザの妥当性が確認され、妥当性確認手順は終了する。しかし、PIN番号が正しくない場合、ステップs69で、ユーザ・インターフェース・サーバ31はメニュー・ページ170を更新し、選択ウィンドウ137内に不正PINメッセージを表示し、ユーザがPIN番号を再入力するか、または操作をキャンセルするかのいずれかの選択を行えるようにする。これは、図18においてステップs71およびs73で表されている。ユーザは、PIN番号を再入力することに決めた場合、図19に示されているメニュー画面に戻り、PIN番号を再入力することができる。そうでない場合、ユーザは図16に示されている元の「Pay−Per−View」メニューに戻る。図18に示されている流れ図には表されていないが、ユーザ・インターフェース・サーバ31が購入オペレーションを中止しユーザを図16に示されている元の「Pay−Per−View」メニューに戻すまでの間にユーザがPIN番号を再入力できる回数は制限されている。
【0110】
Today’s Favourites
ユーザがTVspaceメイン・メニュー120から「Today’s Favourites」オプション129を選択した場合、表示される現在のユーザのお気に入りとしてマークされていた番組すべてを取り出す要求がユーザ・インターフェース・サーバ31に送られる。その結果がユーザに返され、適切なカルーセル(図に示されていない)内にそのユーザのために表示される。ユーザは、それらのお気に入りをスクロールして、見たい番組があるかどうかを調べることができる。図11に示されているように、このお気に入りメニュー・ページがステップs17で表示されたら、ユーザはステップs23で、リモート・コントロール9の左矢印キー907を押してTVspaceメニュー120に戻ることを選択できる。また、現在のユーザを変更するか(ステップs55によって表されている)、またはお気に入りリストからお気に入りをキャンセルする(ステップs57によって表されている)こともできる。
【0111】
Search
この実施形態では、TVspaceメイン・メニュー120またはVideospaceメイン・メニュー(以下で説明する)のいずれかから「Search]オプション127を呼び出すことができる。「Search」オプション127のオペレーションを説明する流れ図が図20に示されている。ステップs81で示されているように、ユーザは、「Search」オプションが選択ウィンドウ137内にあるときにリモート・コントロール9上の右矢印キー909を押すことにより検索メニューに入る。図21は、ステップs83で表示される代表的な「Search」メニュー2000を示している。図からわかるように、メニュー画面2000は、図12に示されているTVspaceメイン・メニュー120と同じルック&フィールを備える。同じ要素は、同じ参照番号のラベルが付けられるので、同じ説明を繰り返さない。図21に示されているように、検索カルーセル2001は検索を絞り込むさまざまな検索オプションを識別する。これらのオプションには、たとえば、個人の名前を検索するために使用できる個人オプション2003、たとえば、カテゴリ(コメディ、ドラマなど)に基づいて番組またはビデオを検索するために使用できるジャンル・オプション2005、たとえば、特定のタイプのチャンネル(たとえば、スポーツ・チャンネル)の番組を検索するために使用できるチャンネル・タイプ・オプション、たとえば特定のタイプの番組を検索するために使用できる番組タイプ・オプション2009、およびユーザ定義テキスト文字列または単語に基づいてサービスおよび/またはコンテンツを検索するために使用できる単語検索オプション211がある。
【0112】
前のメニュー画面の場合のように、ユーザは選択ウィンドウ137内の検索オプションをスクロールして、選択ウィンドウ137内に目的の検索オプションが現れたら、リモート・コントロール9の右矢印キー909を押してそのオプションを選択する。これは、図20に示されているステップs85に対応している。さらに、ステップs87およびs89に示されているように、ユーザは、「Search」メニュー・ページ2000を切り替えて、左矢印キー907を押してTVspaceメニューまたはVideospaceメニューに戻ることができる。この場合、ユーザは2つの異なるメニュー・ページに戻ることができるため、ユーザ・インターフェースサーバ31に送り返された要求により、ユーザが表示していた前の画面を識別する。
【0113】
図22に示されているように、ユーザが検索オプションの1つを選択すると、メニュー画面が切り替わり、テキスト入力ボックス2013とプロンプト2015がユーザに表示され、検索する単語の入力が求められる。これは、図20のステップs91に示されている。キャッスル・アイコン181および図22に示されている左矢印アイコン122に示されているように、ユーザは、リモート・コントロール9の左矢印キー907またはファンクション・キー911−3を押すことにより、図21に示されているメニュー・ページに戻ることができる。これは、図20のステップs93に示されている。ユーザはキーボード11を使用してテキスト入力ボックス2013内に検索単語を入力した後、リモート・コントロール9の右矢印キー909(図20のステップs95に対応する)を押して検索を実行することができる。すると、検索単語がユーザ・インターフェース・サーバ31の検索共通機能に送信され、適切なアプリケーション・サーバ30が検索されて検索結果が生成され、適切なHTMLファイルでユーザに返され、ステップs97で表示される。
【0114】
ステップs97で表示される結果ページでは、上述のものと似たカルーセル(図に示されていない)に結果が表示される。ユーザは、そのカルーセルの選択ウィンドウ内の検索結果をスクロールして、リモート・コントロール9の右矢印キー909を押すことにより選択することができる。これは、図20のステップs99に示されている。この場合、システムは、ステップs101で、要求されたタイトルを再生できるか判別する。再生できるのであれば、テレビ番組または映画がステップs103でユーザへストリーム出力される。タイトルが利用できない場合、ステップs105で、システムは結果のメニュー・ページ内に「title not available」メッセージをユーザに表示する。図20に示されているように、この段階で、ユーザはステップs107で要求をキャンセルして、ステップs97で表示されている結果メニュー・ページに戻るか、またはステップs109で、リモート・コントロール9上の適切なお気に入りファンクション・キー911を押して、要求したタイトルをそのお気に入りリストに追加することができる。ステップs111で示されているように、ユーザは、さらに、ステップs97で表示されている検索結果メニュー・ページから直接に、選択した検索結果をお気に入りリストに追加することもできる。さらに、ステップs113で表されているように、ステップs97で表示される結果メニュー・ページからユーザを切り替えることもできる。
【0115】
Change User
上述のように、メニュー画面のほとんどでは、システムに現在ログオンしているユーザを変更することが可能である。この「Change User」手順の詳細は、図23および24を参照しながら説明する。この実施形態では、メニュー・システムは、特定のメニュー・ページ内の「Change User」ボタンを押すと、ユーザが変更された後、ユーザは「Change User」ルーチンが呼び出されたメニュー・ページに戻る。この現在のメニュー・ページは、図23に示されているステップs121で表示される。
【0116】
ユーザがステップs123でリモート・コントロール9の「Change User」ファンクション・キー911を押すと、システムは現在表示されているメニュー・ページを変更し、ステップs125で「Change User」オプションを表示する。これは、図13に示されているTVspaceメイン・メニュー120について図24に示されている。図からわかるように、選択ウィンドウ137内で、システムは2021で、選択できる別のユーザの名前を表示する。この段階で、ステップs127により表されているように、ユーザは、リモート・コントロール9のファンクション・キー911−3、左矢印キー907、上矢印キー903、または下矢印キー905を押して、最初に表示されていたメニュー・ページ(この場合は、図13に示されているメニュー・ページ)に戻ることができる。それとは別に、次のユーザ・アイコン2023により表されているように、ユーザは、ファンクション・キー911−1を押して、現在のセットトップ・ボックス7と関連する異なるユーザをスクロールすることができる(たとえば、セットトップ・ボックス7を使用する家族内の別の家族一員)。これは、図23のステップs131に示されている。
【0117】
家族アイコン2025により現れているように、ユーザはさらに、現在のユーザをセットトップ・ボックス7のすべてのユーザが使用することができる家族設定にすることもできる。このオプションをアクティブにするには、ユーザがステップs133でリモート・コントロール9のファンクション・キー911−2を押す。それとは別に、ユーザは、ステップs135で、リモート・コントロール9の右矢印キー909を押すことにより2021で選択ウィンドウ137内に表示されている現在のユーザを選択することができる。この場合、ステップs51の上述のユーザの妥当性確認手順が実行される。ユーザの妥当性確認が行われるか、または家族設定が入力されている場合、ユーザ・インターフェース・サーバ31は、適切な親制御設定を行い、データベース39内の旧ユーザと新規ユーザのログイン・ステータスを変更する。ユーザ・インターフェース・サーバ31は、さらに、新規ユーザのプリファレンスに合わせて現在表示されているメニュー・ページのHTMLページを変更し、ステップs121に戻ったときに、システムが新規ユーザのプリファレンスおよびメニュー・ページの左側フレーム101内の新規ユーザの名前111にしたがって現在のメニュー・ページを表示する。
【0118】
Edit Favourites
上述のように、番組またはチャンネルをユーザのお気に入りリストに追加するために、ユーザの現在のお気に入りを編集することができる。ユーザがお気に入りオプションを起動すると、ユーザ・インターフェース・サーバ31上で動作するお気に入り共通機能プロシージャが起動される。change−user機能の場合と同様に、この実施形態では、メニュー・システムは、特定のメニュー・ページ内のお気に入りボタンを押した場合、ユーザのお気に入りリストが更新された後に、ユーザはお気に入りルーチンが呼び出されたメニュー・ページに戻る。
【0119】
図25は、「お気に入りを編集」ルーチンを説明する流れ図である。ステップs151で、ユーザがお気に入りオプションをアクティブにしたメニュー・ページが表示される。ユーザがステップs153でリモート・コントロール9のお気に入りファンクション・キーを押すと、システムはステップs155で使用可能なお気に入りオプションを表示する。この実施形態では、ユーザは現在のチャンネルまたは現在の番組をユーザのお気に入りリストに追加することができる。図25に示されているように、これらは、ステップs157でお気に入りチャンネル・キーを押すか、またはステップs159でお気に入り番組キーを押すことによりアクティブにすることができる。その後、それぞれステップs161およびステップs163でユーザのお気に入りリストに適切なチャンネル的な番組が追加される。ユーザは、お気に入りオプションが呼び出されたメニュー・ページに戻る。さらに、図25に示されているように、お気に入りオプションがステップs155で表示されると、ユーザは、ステップs165でキャンセル・ファンクション・キー、上矢印キー903、下矢印キー905、または左矢印キー907を押して前のメニュー・ページに戻ることができる。
【0120】
Videospace
上述のように、Videospace 107−2は、ユーザがビデオ・サーバ15によって提供されるビデオ映画にアクセスするためのユーザ・インターフェースの領域である。図26は、Videospace107−2と関連するメイン・ロジックを説明する流れ図である。「メイン・メニューを表示」ステップs7と「Videospaceメニューを表示」ステップs13は、わかりやすくするため再び示されている。この実施形態で使用しているメインVideospaceメニュー2050は、図27に示されている。図からわかるように、Videospaceメニュー・ページ2050は、TVspaceメイン・メニュー120と似たルック&フィールを備えており、同じ要素は同じ参照番号で参照されているため、ここでもう一度説明することはしない。図27に示されているように、Videospaceメイン・メニュー2050の左側フレーム101には、Videospaceロゴ109−2およびVideospaceの名前107−2が表示され、ユーザはVideospaceメニューが表示されていることを確認できる。
【0121】
右側フレーム103に示されているように、ダウンロードするビデオ・ファイルを識別するためのオプションをユーザに表示する「Options」カルーセル・メニュー2053が用意されている。図からわかるように、オプションには、ユーザが新しいビデオ・リリースをブラウズするために選択できる「New Titles」オプション2055、ユーザが利用可能なすべての映画をブラウズできる「All Movies」オプション2057、ユーザがすでに購入しているビデオをブラウズできる「Videoshelf」オプション2059、ユーザがビデオ・サーバは15および/またはテレビ放送サーバ27上で特定の映画を検索できる「Search Movies」オプション2061がある。図27に示されているように、Videospaceオプションはさらに、選択ウィンドウ137内に現在表示されている「Top Ten」オプション2063も含む。この「Top Ten」オプションを使用することにより、ユーザは現在のトップ・テンの映画をブラウズすることができる。この実施形態では、トップ・テン・リストを個人ユーザに合わせて個人化し、たとえば、ユーザの年齢を考慮するようにし、現在のユーザではアクセスできない映画を表示しないようにする。
【0122】
この実施形態では、Videospaceメニュー2050の「Options」カルーセル2053の右にプロモーションが表示される。この実施形態では、プロモーションには、グラフィックス・ウィンドウ177内に表示されるグラフィックが含まれ、その下には、宣伝される映画の詳細が表示されるテキスト領域175が含まれる。図27に示されている説明では、Movie Aが宣伝中であり、テキスト領域175には放映時間、年齢格付け、主演俳優および女優、映画のテキスト記述が明示される。このテキスト記述では、さらに、映画を購入する際の費用と映画を見られる期間を明記する。この実施形態では、ビデオ・サーバ15は、データベース39内に格納されているユーザ・プロファイル情報を使用して、それぞれのユーザ向けにプロモーションを個人化する。特に、ビデオ・サーバ15は、ユーザ・プロファイル情報を使用して現在のユーザが見たがっている映画のタイプを識別し、このカテゴリ内の映画を宣伝する。このようにして、ビデオ・サーバ15は、プロモーションの対象を直接現在のユーザに絞り込むことができる。
【0123】
「映画購入」アイコン2068によって表されているように、ユーザはリモート・コントロール9上のファンクション・キー911−2を押して宣伝されている映画の購入を決めることができる。これは、図26の流れ図のステップs184に示されている。この場合、ユーザは上述のユーザ妥当性確認ルーチンs51に進む。それとは別に、ユーザは、ステップs181でリモート・コントロール9の左矢印キー907を押してメイン・メニューに戻ることができる。さらに、change−userアイコン149によって示されているように、ログインしたユーザは、ステップs183でリモート・コントロール9のファンクション・キー911−1を押すことによりこのメニュー画面から変更することもできる。
【0124】
前のメニュー・ページのカルーセルの場合のように、ユーザは、リモート・コントロール9上の上矢印キー903および下矢印キー905を使用して選択ウィンドウ137内のVideospaceオプションをスクロールすることができる。目的のVideospaceオプションが選択ウィンドウ137内に現れたら、ステップs185で右矢印キー909を押して、次のメニュー・ページに進むことができる。ユーザがVideoshelfオプションを選択した場合、システムはステップs187でVideospaceメニュー・ページを表示する。ユーザが「Search Movies」オプション2061を選択した場合、システムはステップs189で「Search」メニュー・ページを表示する。ユーザが他のオプションを選択した場合、システムはステップs191で適切な「映画のリスト」メニュー・ページを表示する。
【0125】
ステップs189で実行される検索オプションは、TVspaceで実行される検索オプションと同じなので、もう1度ここで説明することはしない。「display list of films」オプションと「display Videoshelf」オプションについて、以下で詳しく説明する。
【0126】
Display List of Films
上述のように、ユーザが「New Titles」オプション2055、「All Movies」オプション2057、または「Top Ten」オプション2063を選択した場合、システムは、ビデオ・サーバ15から映画の適切なリストを取り出し、ステップs191で適切なメニュー・ページにそのリストを表示する。図28は「Top Ten」オプション2063が選択された場合に生成される「Top Ten」メニュー・ページ2080を示している。その結果生成されたメニュー・ページ2080は、Videospaceを現在表示していることを識別する左側フレーム101含み、右側フレーム103のトップ・テン映画カルーセル2081内にトップ・テンの映画のリストが表示されるという点で、図14に示されている「All Channels」メニュー・ページを似たルック&フィールを備える。図28に示されているように、このリスト内のそれぞれの映画は対応する映画と関連付けられたグラフィック2085を含む。映画の名前も、その映画の年齢格付けとともに表示される。他のカルーセルの場合のように、ユーザは、リモート・コントロール9の上矢印キー903または下矢印キー905を使用して選択ウィンドウ137内のトップ・テン・リスト内の映画をスクロールすることができる。
【0127】
change−userアイコン149によって示されているように、ユーザは、ステップs199でリモート・コントロール9のファンクション・キー911−1を押すことによりこのメニュー・ページから上述のchange−userプロシージャを起動できる。ユーザは、ステップs201でリモート・コントロール9上のファンクション・キー911−2を押すことにより選択ウィンドウ137内で現在の映画を購入することも選択できる。図からわかるように、この場合、上述のユーザ妥当性確認ルーチンs51が起動される。
【0128】
ユーザは、「Top Ten Films」メニュー・ページ2080から直接映画を購入する代わりに、ステップs203でリモート・コントロール9の右矢印キー909を押すことにより選択ウィンドウ137内の現在の映画に対する他のオプションを表示することができる。図29は、Movie 4に対して利用できるオプションを表示するその結果のメニュー・ページ2090を示している。(図26に示されているように情報はステップs205で表示される。)表示されるメニュー・ページ2090は、ユーザがMovie 4に関する補足情報を要求したり、映画を購入したり、あるいはMovie 4の予告編を全画面で表示したりすることができる「Films Options」カルーセル2091を備える。この実施形態では、「Films Options」メニュー・ページ2090がユーザに表示されると、映画の予告編もビデオ・ウィンドウ121内に再生され、ユーザが見ることができる。放映時間を含む映画に関する他の詳細、主演俳優または女優、および映画に関するテキスト記述がビデオ・ウィンドウ121の下のテキスト・ボックス175の中に表示される。他のカルーセルの場合のように、ユーザはリモート・コントロール9の上矢印キー903または下矢印キー905を押すことで、選択ウィンドウ137のカルーセル2091内の映画オプションをスクロールすることができる。ユーザは、ステップs207で、リモート・コントロール9上の左矢印キー907を押すことにより「Top Ten Films」メニュー2080に表示される映画リストに戻ることもできる。change−userアイコン149によって表されているように、ステップs209でリモート・コントロール9のファンクション・キー911−1を押すことにより現在のユーザを変更することもできる。
【0129】
図を26に示されているように、ユーザがステップs211でリモート・コントロール9の右矢印キーを押すと、キーを押したときに選択ウィンドウ内に表示されていたオプションに応じて、処理はステップs213、s215、またはs217に進む。ステップs213に示されているように、「Additional Information」オプション2093がステップs211で選択された場合、システムはWebサーバ25を介してインターネットから追加情報を検索し、その結果をユーザに表示する。ステップs211で、ユーザが「View trailer full screen」オプション2097を選択した場合、ステップs215で、システムは映画の予告編を全画面で再生し、予告編が終了した後、ユーザは図29に示されている「Film Options」メニュー2090に戻る。
【0130】
ユーザが「Purchase Movie」オプション2095を選択した場合、上述の「ユーザ妥当性確認を実行」ルーチンs51が実行される。ユーザの妥当性が確認されない場合、ユーザは「Films Options」メニュー2090に戻る。ステップs219でユーザの妥当性確認が行われた場合、購入済み映画オプションがユーザに表示される。この実施形態では、これらのオプションは後で購入済み映画を見る(s221)か、または購入済み映画を今見る(s223)ことになる。ユーザが後で映画を見ることに決めた場合、ユーザはステップs191で表示される図28に示されている「Top Ten Films」メニュー・ページ2080のリストに戻る。そうでない場合、ユーザが映画を今見ることに決めた場合、ステップs225で適切なビデオ・ストリームがビデオ・サーバ15からユーザにストリームダウンされる。
【0131】
Videoshelf
上述のように、Videospaceオプション・メニュー・ページ2050内のVideoshelfオプション2059を使用することで、ユーザがすでに購入している映画のリストをユーザが見ることができる。このVideoshelf機能と関連するメニュー・ロジックが図30に示されている。分かりやすくするためにステップs13、s185、s187、およびs193を再び掲載している。図30に示されているように、ステップs187で、ユーザは、ステップs251で、リモート・コントロール9の「Change User」ファンクション・キーを押すことにより上述の「Change User」ルーチンs14を起動することができる。それとは別に、ユーザは、ステップ253で、リモート・コントロール9の右矢印キー909を押すことによりメニュー・ページ(図に示されていない)に一覧が表示されている映画の1つを選択することができる。ユーザがこのようにして映画を選択する場合、ステップs255で、システムは選択した映画に対する詳細とオプションを表示する。この実施形態では、これらのオプションには「Additional Information」オプション、「Play selected film」オプション、および「Purchase again」オプションが含まれている。「Additional Information」オプションがステップs256で選択された場合、ステップs257で、システムはWebサーバ25を介してインターネットから選択した映画の補足情報を取り出す。ステップs256でユーザが「Play」オプションを選択した場合、ステップs259で、システムはビデオ・サーバ15からユーザに適切なビデオ・ストリームをストリーミングすることにより映画を再生する。
【0132】
この実施形態では、ユーザが映画を購入する場合、限られた期間のみ行う。したがって、すでに購入済みの映画をユーザが再び購入できるようにする「Purchase movie again」オプションが用意されている。ステップs256でユーザが映画を再購入することに決めた場合、ステップs51で、システムは上述のユーザ妥当性確認ルーチンを実行する。ユーザの妥当性が確認されない場合、システムはステップ255に戻り、そこでVideoshelfオプションがユーザに対して再度表示される。しかし、ユーザの妥当性が確認されると、システムはステップs265で、映画がすでに購入されていることをユーザに確認し、ユーザはステップs255でVideoshelfオプション・ページに戻る。
【0133】
図30に示されているように、ステップs255で表示されるメニュー・ページでさらに、別のユーザがステップs258でリモート・コントロール9の「Change User」ファンクション・キー911を押すことによりログインすることができる。また、ステップs261で、リモート・コントロール9の左矢印キー907を押すことにより、ステップs187で表示されている購入済み映画のリストに戻ることができる。
【0134】
Yourspace
上述のように、Yourspaceカテゴリ107−1では、ユーザは、Webサーバ25を介してWorld Wide Webに、メール・サーバ19を介して電子メールに、管理および請求書作成サーバ29を介してアカウント情報にアクセスすることができる。Yourspace107−1と関連するメニュー・ロジックが図31に示されている。「メイン・メニューを表示」ステップs7、「選択」ステップs9、および「Yourspaceメニューを表示」ステップs15は、わかりやすくするため図31に再び示されている。
【0135】
図32は、ステップs15で表示される代表的な「Yourspace」メイン・メニュー2100を示している。図からわかるように、Yourspaceメイン・メニュー32は、同じ要素は同じ参照番号で参照されている左側フレーム101を含んでいるため、ここでもう一度説明することはしない。図32に示されているように、Yourspaceロゴ109−1およびYourspaceカテゴリ名107−1は、左側フレーム101内に表示され、ユーザに、現在Yourspaceメニュー・カテゴリに入っている確認を求める。左側フレーム101内にさらに、左矢印アイコン122も用意されており、ユーザに対して、リモート・コントロール9の左矢印キー907を押してステップs7で表示されているメイン・メニューに戻ることの確認が求められる。これは、図31のステップs301に示されている。さらに、「Change−User」アイコン149によって表されているように、ユーザがステップs303で「Change User」ファンクション・キー911−1を押すことにより「Change User」ルーチンs14を起動することができる。
【0136】
図32に示されているように、Yourspaceメニュー・ページ2100の右側フレーム103はYourspaceメニュー・カテゴリ107−1内に用意されているオプションの一覧を表示している「Yourspace」カルーセル2101を含む。図からわかるように、この実施形態では、オプションとして、「Web」オプション2103、「Your Account」オプション2105、および「E−mail」オプション2107が用意されている。他のカルーセルの場合のように、ユーザは選択ウィンドウ137内のこれらのオプションをスクロールすることができ、またユーザはステップs305で、リモート・コントロール9の右矢印キー909を押すことにより目的のオプションを選択することができる。ユーザが「Web」オプション2103を選択した場合、システムはステップs307で「Web」メニューを表示する。ユーザが「E−mail」オプション2107を選択した場合、システムはステップs309で「E−mail」メニューを表示する。ユーザが「Your Account」オプション2105を選択した場合、システムはステップs311で「Your Account」メニューを表示する。図31に示されているように、ユーザは、ステップs315、s317、およびs319でリモート・コントロール9の左矢印キー907を押すことによりこれらのオプション・ページからYourspaceメイン・メニュー2100に戻ることができる。
【0137】
この実施形態では、「Web」メニューおよび「E−mail」メニューに用意されているオプションは、市販のWebブラウザおよび電子メールシステムに用意されているオプションと同様のものであり、したがってこれ以上説明しない。しかし、「Your Account」メニュー・オプション2105については、以下で説明する。
【0138】
Your Account
Yourspaceメニュー・ページ2100に示されている「Your Account」オプション2105では、ユーザは各種のユーザ設定および請求書作成情報などを表示し変更することができる。この「Your Account」オプション2105と関連するメニュー・ロジックが図33に示されている。図33aの最上段に示されているように、「Yourspaceメニューを表示」ステップs15、選択ステップs305、「Your Accountメニューを表示」ステップs311、および「戻る」ステップs319は、分かりやすくするため再度示している。「Your Accountメニューを表示」では、ユーザは以下のオプションを選択できる。
i)「Parental Controls」オプション
ii)「Default Set Top Box Age」オプション
iii)「Profile」オプション
iv)「Change PIN」オプション
v)「Add User」オプション
vi)「Delete User」オプション
vii)「View Account Bill」オプション
viii)「View Personal Bill」オプション
【0139】
他のメニュー・ページの場合のように、これらのオプションは、ユーザのために、適切なカルーセル(図には示されていない)内に表示され、ユーザは、リモート・コントロール9の上矢印キー903および下矢印キー905を使用して選択ウィンドウ(図に示されていない)内のオプションをスクロールさせることができる。適切なオプションが選択ウィンドウ内に現れたら、ユーザはステップs331で、リモート・コントロール9の右矢印キー907を押してオプションを選択する。適切なオプション・メニュー・ページに入った後、ユーザは、ステップs333、s335、s337、s339、s341、s343、s345、またはs347でリモート・コントロール9の左矢印キー907を押すことによりステップs311で表示されている「Your Account」メニュー・ページに戻ることができる。上述の8個のオプションのそれぞれについて詳しく説明する。
【0140】
Parental Controls
ステップs315で、システムは適切なカルーセル(図に示されていない)にユーザ・セットトップ・ボックス7と現在関連付けられているユーザのリストを表示する。ユーザは、リモート・コントロール9の上矢印キー903または下矢印キー905を押すことにより、選択ウィンドウ137(図に示されていない)内に目的のユーザが現れるようにする。ステップs351で、リモート・コントロール9の右矢印キー909を押すことにより、システムは、スタット353で、選択したユーザの新しい年齢制限を要求するプロンプトを表示する。ユーザは、新しい年齢を入力した後、ステップs355でリモート・コントロール9の右矢印キー909を押す。新しいユーザ情報がユーザ・インターフェース・サーバ30に送信され、ステップs357で、入力された年齢が100歳未満であるかチェックする。100歳未満でない場合、ステップs359でメニュー・ページがリフレッシュされ、適切なエラー・メッセージがメニュー・ページの選択ウィンドウ内に表示される。入力された年齢が100歳未満であれば、ユーザ・インターフェース・サーバ31は、データベース39内に格納されたユーザ・プロファイル・データを変更し、ステップs361でユーザに表示される確認ページを返し、そのユーザに対する親コントロールが変更されたことを確認する。ステップs311で表示される「Your Account」メニューに戻るには、ユーザは、ステップ363で、リモート・コントロール9の「進む」ファンクション・キーを押さなければならない。
【0141】
Default STB Age
ユーザがステップs371で、フォールとのセットトップ・ボックス年齢(ログイン・ユーザが「家族」の場合)を変更する操作を続ける場合、ユーザ・インターフェース・サーバ31が、ステップs373で、入力セットトップ・ボックス年齢が100未満であるかチェックする。そうでない場合、ステップs375で、ユーザ・インターフェース・サーバは、ステップs317で表示される「change default set top box age」メニュー・ページをリフレッシュし、適切なエラー・メッセージを表示する。セットトップ・ボックス年齢が100未満の場合、ステップs377で、ユーザ・インターフェース・サーバはメニュー・ページをユーザ・セットトップ・ボックスに送信し、デフォルトのセットトップ・ボックス年齢が変更されたことを確認する。ステップs311で表示される「Your Account」メニュー・ページに戻るには、ユーザは、ステップs379で、リモート・コントロール9の「進む」ファンクション・キーを押さなければならない。
【0142】
Edit Profile
ユーザが「Edit Profile」オプションを選択した場合、ステップs319で、ユーザ・セットトップ・ボックス7に関連するユーザのリストが適切なカルーセル(図に示されていない)内に表示され、ユーザが見ることができる。その後、ユーザは上矢印903または下矢印905を使用して、プロファイルが変更されるユーザを選択することができる。このユーザがカルーセルの選択ウィンドウ(図には示されていない)内に現れたら、ユーザが、ステップs385で、リモート・コントロール9の右矢印キー909を押して選択する。それに対する応答として、ユーザ・インターフェース・サーバは、ステップs387で、現在のユーザ・プロファイル設定の内容を示すページをダウンロードし表示する。この実施形態では、これらは、ユーザの名前、ユーザの背景色、ユーザのWebホーム・ページ、およびWeb検索ページなどを含む。ユーザは、その後、これらを画面上で編集してから、ステップs389でリモート・コントロール9の「進む」ファンクション・キーを押すことにより編集したプロファイルをユーザ・インターフェース・サーバ31に送り返すことができる。
【0143】
編集したプロファイルをユーザ・インターフェース31に送信する前に、Webブラウザ203が、ステップs391で、修正したユーザ・プロファイル内のエントリがそれらのエントリの要求される形式と一致しているかチェックする。一致しない場合、ステップs393で、Webブラウザ203は、ステップs387で表示される「change profile」メニュー・ページをリフレッシュし、適切なエラー・メッセージを表示する。
【0144】
この形式が正しい場合、編集したプロファイルがユーザ・インターフェース・サーバ31に送信され、さらに、これは、選択したユーザのユーザ・プロファイルが変更されたことを確認するメニュー・ページを送信する。このメニュー・ページは、ステップs395で表示される。ユーザは、ステップs397で、リモート・コントロール9の「進む」ファンクション・キーを押すことにより、ステップs311で表示される「Your Account」メニュー・ページに戻ることができる。
【0145】
Change PIN
ユーザが「Change PIN」オプションを選択した場合、ステップs321で、ユーザ・インターフェース・サーバ31は現在のPINを確認し、新しいPINを入力することを要求するメニュー・ページを送信する。ユーザがこれらのPIN番号を入力して、ステップs401で、リモート・コントロール9の「進む」ファンクション・キーを押すと、PIN情報がユーザ・インターフェース・サーバ31に送信される。ステップs403で、ユーザ・インターフェース・サーバ31は、ユーザが入力した現在のPIN番号が正しいかチェックする。正しくない場合、ステップs405で、適切なエラー・メッセージがダウンロードされ、s321で表示された「Change PIN」メニュー画面内に表示され、ユーザが見ることができる。ユーザ・インターリース・サーバ31が入力されたPIN番号が正しいと判断した場合、ユーザ・インターフェース・サーバ31はユーザPINが変更されたことを確認するメニュー・ページをダウンロードし、これをステップs407で表示する。ユーザは、ステップs409で、リモート・コントロール9の「進む」ファンクション・キー911を押すことにより、ステップs311で表示される「Your Account」メイン・メニューに戻ることができる。
【0146】
Add User
ユーザが「Add New User」オプションを選択すると、ステップs323で、新規ユーザ入力画面がユーザに対して表示される。このメニュー画面では、ユーザは、ユーザ名、ユーザの年齢、ユーザPIN、ユーザ電子メール・アドレスなどのユーザ情報入力することが求められる。ユーザが適切な情報を入力した後、ユーザがステップs411で、リモート・コントロール9の「進む」ファンクション・キーを押すと、ユーザ・インターフェース・サーバ31にこの情報が送信される。しかし、新しいユーザ詳細を送信する前に、Webブラウザ203は、ステップs413で、入力された情報が正しい形式であるかチェックする。正しくない場合、ステップs415で、Webブラウザ203は、ステップs323で表示されるメニュー・ページをリフレッシュし、それとともに適切なエラー・メッセージを表示する。入力された情報が正しい形式であれば、Webブラウザは新しいユーザ情報ユーザ・インターフェース・サーバ31に送信し、それに対する応答として新しいユーザが正常に追加されたことを確認するメニュー・ページ(ステップs417で表示される)がダウンロードされる。ユーザは、ステップs419で、リモート・コントロール9の「進む」ファンクション・キーを押すことにより、ステップs311で表示される「Your Account」メニューに戻ることができる。
【0147】
Delete User
「Delete User」オプションが選択された場合、ステップs325で、システムは適切なカルーセル内にセットトップ・ボックス7と関連するすべてのユーザのリストを表示する。ユーザは、上矢印キー903または下矢印キー905を使用して、適切な選択ウィンドウ内のユーザをスクロールすることができる。削除対象のユーザが選択ウィンドウ内に現れたら、ユーザが、ステップs425で、リモート・コントロール9の右矢印キー909を押すと、そのユーザを削除するという要求がユーザ・インターフェース・サーバ31に送信される。ステップs427で、ユーザ・インターフェース・サーバ31は適切なメッセージをユーザ・セットトップ・ボックス7に送信し、選択されたユーザが削除されることを確認するようユーザに要求する。この段階で、ユーザは、ステップs429で、リモート・コントロール9の「キャンセル」ファンクション・キーを押すことができるが、そうすると、ユーザはステップs311で表示されている「Your Account」メニュー・ページに戻ることになる。それとは別に、ユーザは、ステップ431で、リモート・コントロール9の「進む」ファンクション・キーを押すこともでき、そうすると、ユーザ・インターフェース・サーバ31はデータベース39からユーザを削除し、ユーザにメッセージを返すが、このメッセージはステップs433で表示され、選択されたユーザが削除されたことを確認するメッセージである。ユーザは、ステップs435で、リモート・コントロール9の「進む」ファンクション・キーを押すことにより、ステップs311で表示される「Your Account」メニュー・ページに戻ることができる。
【0148】
Account Bill
ユーザが「Account Bill」オプションを選択した場合、ステップs327で、ユーザ・インターフェース・サーバ31は、ユーザ・セットトップ・ボックス7と関連するすべてのユーザに対する請求額合計の要約を表示するメニュー・ページをダウンロードする。この要約メニュー・ページでは、たとえば、ペイパービュー、Videospace、選択したチャンネルの受信契約、World Wide Web、ショッピング・サーバなどに支出された金額を識別する。またここでも、これらの要素に対し支出された個々の金額が一覧としてカルーセル内に表示され、ユーザは詳細情報取得するため要素の1つを選択することができる。たとえば、ステップs327で表示される勘定書では、所定の期間にわたるペイパービューに支出された合計金額が50ポンドであることを示している。ユーザは、このペイパービュー請求書を選択して、購入されたアイテムとそのユーザを識別する明細書を取得することができる。前のカルーセルの場合のように、ユーザは、上矢印キー903または下矢印キー905を押して、選択ウィンドウ(図に示されていない)を通じてメニュー・ページ内に表示される要素をスクロールする。ユーザは、その後、ステップs451で、リモート・コントロール9の右矢印キー909を押すことにより、現在選択ウィンドウ内に表示されている請求書内の要素に関する他の情報を取得することができる。その後、セットトップ・ボックス7は、ユーザ・インターフェース・サーバ31を介して請求書のその部分に関する詳細情報の適切な要求を管理および請求書作成サーバ29に送信する。次に、管理および請求書作成サーバ29は、ステップs453で適切なメニュー・ページに表示されている請求者のその部分の詳細情報をダウンロードする。ステップs455に示されているように、ユーザは、リモート・コントロール9の左矢印キー907を押して、前のメニュー・ページに戻ることを選択できる。
【0149】
ステップs453で、追加情報により、たとえば、さまざまなアプリケーション・サーバ30からダウンロードした番組またはコンテンツのさまざまなタイトルを識別する。その後、ユーザは、上述の方法でこれらのさまざまなアイテムをスクロールし、ステップs457で、リモート・コントロール9の右矢印キー909を押して1つ選択することができる。それに対する応答として、管理および請求書作成サーバ29は、サービスまたはコンテンツを購入したユーザ、購入された日時などを識別する詳細をダウンロードする。この追加情報は、ステップs459でユーザに表示される。その後、ユーザは、ステップs461で、リモート・コントロール9の「進む」ファンクション・キーを押すことにより、ステップs453で表示されるメニュー・ページに戻ることができる。
【0150】
Personal Bill
「Personal Bill」オプションは、現在ログオンしているユーザが購入したアイテムのみがダウンロードされ、表示されることを除き、上述の「Account Bill」オプションと同様である。したがって、「Personal Bill」オプションについてはこれ以上詳しくは説明しない。
【0151】
Openspace
ユーザがメイン・メニュー120からOpenspaceオプションを選択した場合、ステップs17でOpenspaceメイン・メニューが表示される。この実施形態で表示されるOpenspaceメニュー2200は、図34に示されている。図からわかるように、Openspaceメイン・メニューは、図に示されている、また上で説明した他のメニュー画面と同じルック&フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。図34に示されているように、左側フレーム101はOpenspaceロゴ109−4を含み、その下にOpenspaceカテゴリ名107−4が示される。右側フレーム103内に、Openspaceカルーセル2201が用意され、ユーザは、「Shopping」オプション2203、「Classified adverts」オプション2205、「Local Information」オプション2207、および「Games」オプション2209のオプションのうちから選択することができる。前のカルーセルの場合のように、ユーザは、選択ウィンドウ137内のこれらのオプションをスクロールして、適切なオプションが選択ウィンドウ137内に現れたら、ユーザはリモート・コントロール9の右矢印キー909を押してそのオプションを実行することができる。
【0152】
この実施形態では、「Shopping」オプションを使用することで、ユーザは異なるベンダにより提供される製品の詳細にアクセスすることができる。「Classified Adverts」オプション2205では、ユーザはさまざまな製品の三行広告にアクセスすることができる。「Local Information」オプション2207では、ユーザは、普通列車の時刻または交通レポート、ローカル・ニュース、地方天気、学校などの地域施設などのさまざまな種類のローカル情報にアクセスすることができる。最後に、「Games」オプション2209では、ユーザは、用意されているさまざまなゲームにアクセスすることができる。
【0153】
上では、メイン・メニューからユーザが利用できるさまざまなメニュー・オプションをすべて説明してきた、これらのオプションに加えて、システムではさらに、ユーザがテレビ放送番組を受け取るときにユーザが直にアクセスできる短い電子番組ガイド(SEPG)も用意する。この短い電子番組ガイドについて説明する。
【0154】
SEPG
図8に戻ると、ユーザがリモート・コントロール9のメニュー・キー901を押すことによりアクセスできるメイン・メニュー・オプションに加えて、ユーザは、さらに、ステップs3でテレビ放送番組を受け取りながら短い電子番組ガイドにアクセスすることもできる。ステップs501に示されているように、これは、リモート・コントロール9の上矢印キー903または下矢印キー905を押すことにより達成される。それに対する応答として、ユーザ・セットトップ・ボックス7は、ユーザ・インターフェース・サーバ31から現在のチャンネルの短い番組ガイドをダウンロードする。この実施形態では、この短い電子番組ガイドは、ステップs503で、再生中の現在のテレビ番組に重ねて表示されるテレビ画面の下部に表示される。図35は、表示されているテレビ画面2300を示している。図からわかるように、短い電子番組ガイドフレーム2301は画面の下部に表示される。このSEPGフレーム2301では、現在の時刻113および日付115および現在のユーザ名111を左側フレーム2303に表示する。右側フレーム2305では、選択ウィンドウ137内に1つしかエントリがないSEPGカルーセル2307が用意されている。最初、チャンネル情報はテレビ画面2300に現在表示されているチャンネルである。図35に示されているように、この情報により、チャンネル名、現在再生されている番組、および次に再生される番組、さらにユーザがすでに選択しているお気に入りのチャンネルまたは番組を強調表示するアイコンが識別される。
【0155】
この段階で、ユーザは上矢印キー903または下矢印キー905を押して、利用可能な異なるチャンネルをスクロールすることを選択することができる。これは、図8のステップs505に示されている。「Change User」アイコン149で表されているように、ユーザは、ステップs507で、ファンクション・キー911−1を押して、上述の「Change User」ルーチンs14を使用し、現在システムにログオンしているユーザを変更することができる。テレビ・ガイド・アイコン2309によって表されているように、ユーザはリモート・コントロール9のファンクション・キー911−2を押して十分な電子プログラムガイドにアクセスすることもできる。
【0156】
ユーザが利用可能な異なるチャンネルをスクロールした後、ステップs509で、リモート・コントロール9の左矢印キー907を押すことにより(または所定の期間内、選択を行わないことにより)現在見ているチャンネルに戻ることを決めるか、またはステップs511で、リモート・コントロール9の右矢印キー909を押すことによりチャンネルを選択ウィンドウ137内の現在のチャンネルに変更することを決めることができる。図8に示されているように、ユーザが右矢印キー909を押すと、チャンネル変更許の適切な要求がテレビ放送サーバ27に送信され、ステップs513で、ストリーミングされているチャンネルがユーザ・セットトップ・ボックス7に変更される。
【0157】
要約と利点
上では、ユーザが複数のリモート・サーバから複数のサービスおよびコンテンツにアクセスすることができるテレビジョンベースのシステムについて説明した。上述のシステムの主な利点の1つは、ユーザが共通ユーザ・インターフェース・サーバを介して異なるサーバにアクセスすることができるという点である。システムはこのような構造を備えることで、各種のインテリジェント型キャッシング手法を使用して、リモート・サーバおよびサーバによって使用される共通データベースに対する処理の負担を軽減することができる。そのため、増大するユーザに対応してシステムを拡大することが容易に行える。さらに、ユーザ・インターフェース・サーバでメニュー・ページを生成することにより、ユーザが異なるアプリケーション・サーバすべてのサービスにはアクセスするのに使用する共通のルック&フィールを備えるメニューベースのユーザ・インターフェースを簡単に生成することができる。さらに、形式に関してだけでなく、それぞれのユーザに提供されるコンテンツについてもそれぞれのユーザに合わせてメニュー・ページを個人化することができる。
【0158】
上述のシステムでは、ユーザごとに個人化されたユーザ・インターフェースを備える。ユーザに対して表示される個人化されたユーザ・インターフェースの画面のデザイン、選択、コンテンツ、およびレイアウトは、システム・データベースに保持されているユーザのプロファイル・データ、サービス・オペレーション履歴、および使用度情報に基づく。このデータベースは、次のまたは前のメニュー画面、システム・サービスまたはアプリケーションへのアクセス、または特定のコンテンツへのアクセスに対するユーザの要求を処理するときに、ユーザ・インターフェース・サーバによってアクセスされる。ユーザ・インターフェース・サーバは、メニューが表示されるユーザのプロファイル・データおよび使用度情報に基づいてデザイン要素、サービス、およびコンテンツを含む個人化されたメニュー画面を作成する。特定のユーザに表示されるそれぞれのメニュー画面は、一貫したデザイン、およびルック&フィールを備え、その特定のユーザ向けのサービスおよびコンテンツを含む。
【0159】
上述のシステムの有利な特徴としては他に、リモート・コントロールのキーを使用してメニュー・アイテムをスクロールすることができる選択ウィンドウを備えるカルーセルを使用するという点があげられる。この方法では、システムは直感的なカーソルレス方式で動作することができる。
【0160】
上述のシステムの有利な態様としては他に、電子番組ガイドがある。特に、このガイドは最初に、現在および次に何をやるのかを、カルーセル内の各チャンネルに関連して表示する。選択が適切に行われると、ユーザは次の数日間にわたって放映される番組を示す、目的のチャンネルの詳細が一覧にアクセスすることができる。さらに、それぞれのメニュー・ページをユーザごとに個人化できるため、電子番組ガイドは、ユーザが受信契約をしているチャンネルのみを表示するように構成することができる。システムはさらに、ユーザ・プロファイリング情報を使用して、ユーザがそのチャンネルを見る頻度に対応する順序でチャンネルの一覧を作成することができる。また、ユーザによってお気に入りとしてマーク付けされたチャンネルおよび番組を識別するように個人化することもできる。
【0161】
上述のシステムの有利な特徴として他に、個人ユーザへ配信した後ジェネリックなメニュー・ページを格納し、個人化することができる一定スワッピング手法を含む採用されているインテリジェント型キャッシング手法がある。特に、XMLドキュメントおよびスタイル・シート内でプレースホルダを使用することにより、それ以降、プレースホルダに対してユーザ固有データをスワップインすることでそれぞれのメニュー・ページを個人化することが可能になる。この方法で、背景色またはフォントの変更、ユーザ名の追加など規模の小さな個人化をすばやく、配信時に行うことができる。したがって、キャッシュされているメニュー・ページを多数の異なるユーザに対して使用することができ、そのため必要キャッシュ・メモリを節約することができる。
【0162】
上述のシステムの他の利点として、XMLデータおよびスタイル・シートを使用したHTMLメニュー・ページの使用および生成がある。特に、これらは標準形式なので、サードパーティーが自社のアプリケーションとシステムとのインターフェースを比較的簡単にとることができる。
【0163】
修正と代替
上では、ユーザがテレビに表示されるグラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバからテレビ・サービスおよび媒体コンテンツにアクセスできるようにするテレビジョンベースのシステムについて詳述した。当業者であれば、上述のシステムに対してさまざまな代替を行えることは理解するであろう。修正および代替の一部について説明する。
【0164】
上記の実施形態では、ユーザはユーザ・インターフェース・サーバを介して複数のリモート・サーバによって提供されるサービスにアクセスすることができた。このことは本質的ではない。たとえば、ユーザは、ユーザ・インターフェース・サーバを介するのではなく、1つまたは複数のアプリケーション・サーバによって提供されるサービスまたはコンテンツに直接アクセスすることができる。しかし、このアプローチには欠点があり、これらのアプリケーション・サーバがメニュー・ページを生成し、直接ユーザ・セットトップ・ボックスにダウンロードする場合、アプリケーション・サーバによって生成されるメニュー・ページとユーザ・インターフェース・サーバによって生成されるメニュー・ページとの間で類似のルック&フィールを維持することが困難になるのである。
【0165】
上記の実施形態では、ユーザはユーザ・インターフェース・サーバを介してアプリケーション・サーバにサービスおよび/または媒体コンテンツを要求した。他の実施形態では、ユーザはユーザ・インターフェース・サーバからメニュー・ページを受信し、サービスまたは媒体コンテンツがダウンロードのため識別されると、ユーザは、そのコンテンツを適切なアプリケーション・サーバに直接要求することができる。たとえば、ユーザがビデオ・サーバからダウンロードするビデオを識別すると、ユーザ・デバイスはユーザ・インターフェース・サーバに通さずに、そのビデオの要求を直接ビデオ・サーバに送ることができる。このような実施形態には、ユーザ・インターフェース・サーバによって処理される要求の数を減らせるという利点がある。
【0166】
上記の実施形態では、ユーザ・インターフェース・サーバのそれぞれに、共通機能プロセッサが用意されていた。この共通機能プロセッサを使用して、2つまたはそれ以上のアプリケーション・サーバに必要な機能(ユーザ・ログイン、エラー処理など)を実行した。当業者であれば、このような共通機能プロセッサを用意することは本質的でないことを理解するであろう。また、特に、共通機能が将来システムに追加する可能性のあるアプリケーション・サーバに必要であると認められた場合に、アプリケーション・サーバの1つにのみ必要になると思われる機能を実装することが可能である。
【0167】
上記の実施形態では、ユーザは、ユーザ・セットトップ・ボックスおよびテレビを使用してテレビ・サービスおよび媒体コンテンツにアクセスすることができた。当業者であれば、このようなセットトップ・ボックスとテレビを使用することは本質的でないことを理解するであろう。たとえば、ユーザは、パーソナル・コンピュータ(PC)など、あるいはパーソナル・デジタル・アシスタント(PDA)や携帯電話などのハンドヘルド・デバイスを使用してテレビ・サービスおよび媒体コンテンツにアクセスすることができる。
上記の実施形態では、ユーザ・インターフェース・サーバは、アプリケーション・サーバと切り離されていた。当業者であれば、1つまたは複数のアプリケーションをユーザ・インターフェース・サーバが稼働しているマシンと同じ物理マシン上で実行することができることを理解するであろう。たとえば、メール・サーバはユーザ・インターフェース・サーバのうちの1つと同じ物理マシン上で実行できる。この場合、ユーザ・インターフェース・サーバは、適切なメモリ・ポインタおよび呼び出しルーチンを使用してメール・サーバと通信することができる。さらに、アプリケーションのうち2つまたはそれ以上を単一コンピュータ・デバイス上で物理的に実行することもできる。
【0168】
上記の実施形態では、ユーザ・デバイスはIPデータ・ネットワークを通じてユーザ・インターフェース・サーバに接続される。当業者であれば、ユーザ・デバイスは適切な手段によりユーザ・インターフェース・サーバに接続できることを理解するであろう。たとえば、携帯電話の通信リンクを介して接続することができる。それとは別に、ユーザはADSL(非対称デジタル加入者回線)リンクなど電話およびモデムを使用して接続することができる。それとは別に、ケーブルまたは自由空間マイクロ波または光通信リンクを対してユーザ・インターフェース・サーバに接続することもできる。
【0169】
上記の実施形態では、メニュー画面では、リモート・コントロールの方は下矢印キーを押してユーザがメニュー・オプションをスクロールする際に使用する選択ウィンドウを備えるメニュー・カルーセルを採用した。当業者であれば、選択ウィンドウ内でメニュー・オプションをどの方向にスクロールしようと問題ではないことを理解するであろう。たとえば、メニュー・オプションを水平方向に表示し、リモート・コントロールの左および右矢印キーを使用して水平方向に選択ウィンドウを介してスクロールすることができる。このような実施形態だと、ユーザは上矢印キーおよび下矢印キーを使用して異なるメニュー画面間をナビゲートし、メニュー・オプションを選択することができる。
【0170】
上記の実施形態では、メニュー・ページに単一のメニュー・カルーセルを用意した。詳細メニュー・ページでは、現在カルーセルの選択ウィンドウ内にあるメニュー・アイテムに対するカルーセルの隣に追加情報が表示された。他の実施形態では、2つまたはそれ以上のカルーセルをメニュー・ページごとに用意することができ、ユーザはリモート・コントロールを使用してそれらのカルーセルを切り替えることができる。たとえば、左側のカルーセルは、システムで利用可能な別のチャンネルを識別するために用意され、右側のカルーセルは現在選択されているチャンネルの次のN日にわたって放送されている番組を識別する。現在はアクティブになっているカルーセルは、たとえば、その隣に上および下矢印アイコンを用意することで識別することができる。
【0171】
上記の実施形態では、システムの受信契約が行われているすべてのユーザの詳細を格納し、異なるアプリケーション・サーバおよびユーザ・インターフェース・サーバによってアクセスされる単一データベースが提供された。当業者であれば、それぞれ同じ情報を格納する複数のデータベースを実装できることを理解するであろう。これにより、サーバからのデータベース・クエリを異なるデータベース間で共有することができる。当業者であれば、このような実施形態だと、それぞれのデータベースに格納されているデータが同じになるようにデータベースを互いに同期させる必要があることを理解するであろう。このようにして複数のデータベースを同期させるさまざまな手法が知られている。
【0172】
上記の実施形態では、メニュー・ページはユーザ・インターフェース・サーバからユーザ・デバイスにダウンロードされたHTML Webページから生成された。受け取ったHTMLファイルからメニュー・ページを生成するためユーザ・デバイス内で従来のWebブラウザ・ソフトウェアを使用できるため、このようにしてHTMLファイルを使用することが好ましい。さらに、メニュー・ロジックをJava(登録商標)の命令としてHTMLファイル内にダウンロードすることもできる。これにより、HTMLスタイルに、たとえば、カルーセルの動作の仕方の詳細を記述し、カルーセルの選択ウィンドウを通じてユーザがメニュー・オプションをスクロールするたびにユーザ・インターフェース・サーバに戻らずに済むようにできる。しかし、当業者であれば、メニュー・ページをHTML形式でダウンロードすることは本質的でないことを理解するであろう。これらのページはイメージとしてダウンロードできる。この場合、ユーザがリモート・コントロールまたはキーボードのキーを押したときに、ユーザ・デバイスは該当するキーの押下をユーザ・インターフェース・サーバに送り、そこで要求を解釈し、表示のため新しいイメージをダウンロードする。このような実施形態は可能であるが、ユーザ・インターフェース・サーバとユーザ・デバイスとの間でやり取りしなければならないデータの量が増えるため、好ましくない。
【0173】
上記の実施形態では、メニュー・ページはシステムのサーバ側で生成され、ユーザ・デバイスにダウンロードされた。他の実施形態では、アプリケーション・サーバからダウンロードされたXMLファイルから直接メニュー・ページを生成するようにユーザ・デバイスを配列することができる。このような実施形態では、ユーザ・デバイスがメニュー・ページの適切な個人化を実行できるため、ユーザ・インターフェース・サーバを備えることは本質的ではない。このような実施形態の欠点は、ユーザ・デバイスの複雑さを増すという点である。さらに、ユーザ・インターフェース・サーバによって最初に実行された共通機能がユーザ・デバイス内で実行される場合、この場合も、ユーザによるハッキングに対するシステムの脆弱性が高まる。
【0174】
上記の実施形態では、アプリケーション・サーバからユーザ・インターフェース・サーバにダウンロードされたメニュー・データはXMLドキュメント内に送られた。当業者であれば、このメニュー・データをアプリケーション・サーバからユーザ・インターフェース・サーバに適切な形式で送信できることを理解するであろう。たとえば、このメニュー・データはEJB(Enterprise JavaBeans)形式で送信することができる。これらの形式は標準形式なので、説明は省くことにする。
【0175】
上記の実施形態では、要求処理ユニットおよび応答処理ユニットは両方とも、共通機能プロセッサによって実行される共通機能のうちの1つを呼び出すことができた。他の実施形態では、要求処理ユニットのみが共通機能を呼び出すことができる。この場合、アプリケーション・サーバ側で共通機能のうちの1つを呼び出すことを望んでいるとすれば、ユーザ・セットトップ・ボックスを介して共通機能の適切な要求を送信しなければならない。これは、従来のWebリダイレクト手法を使用することで簡単に行うことができる。
【0176】
上記の実施形態では、管理および請求書作成サーバは、ユーザ・インターフェース・サーバのユーザ要求ログ内に格納されているデータからすべてのユーザにより行われたユーザ要求を監視する必要があった。その後、この情報使用して、データベース内に格納されているユーザ・プロファイルを修正した。当業者であれば、この作業は別のグローバル・オペレーション・コントローラ(図に示されていない)によって実行するか、またはそれぞれのアプリケーション・サーバによって個別に実行することができることを理解するであろう。たとえば、それぞれのアプリケーション・サーバは、そのアプリケーション・サーバによって提供されるサービスに関連する統計量を監視するように配列することができる。それぞれのアプリケーション・サーバは、その後、そのアプリケーション・サーバに関連する各ユーザのプロファイルを構築することができる。
【0177】
上述の実施形態で説明したグラフィカル・ユーザ・インターフェースでは、さまざまなメニュー・オプションまたは番組エントリを備えるそれぞれのメニュー・ページは、カルーセルの固定選択ウィンドウを通じてスクロールされた。当業者であれば、このような固定されたウィンドウまたはこのようなカルーセルを使用することは、この場合について説明した本発明のすべてに対して本質的なことではないことを理解するであろう。しかし、カルーセルを使用する場合、カルーセル内のエントリは、ユーザがカルーセル内の最後のエントリに到達したときに、カルーセル内の最初のエントリから再びリストが始まるようにラップアラウンドするのが好ましい。しかし、これは本質的なことではなく、カルーセル内のオプションはスクロールダウンし、最後のカルーセル・オプションが選択ウィンドウ内に入るようにできる。この場合、同じ方向にスクロールするオプションは、ユーザがカルーセル・オプションの終わりに達したときには使用できない。
【0178】
上記の実施形態では、電子番組ガイドに、次の7日間の選択したチャンネルに対する詳細なチャンネル一覧が掲載されていた。当業者であれば、任意の日数さらには時間数についてチャネル一覧を用意することが可能であることを理解するであろう。比較的長い時間枠での番組一覧が用意された場合、システムでは、ユーザが番組一覧内をすばやくナビゲートできるページアップ/ページダウン機能をサポートするのが好ましい。この場合、システムはさらに、たとえばカルーセルのトップにジャンプするためのホットキーをサポートする。
【0179】
上記の実施形態では、ユーザ・インターフェースのメイン・メニューは、TVspaceオプション、Videspaceオプション、Yourspaceオプション、およびOpenspaceオプションの4つのメニュー・オプションを備えていた。当業者であれば、他のメニュー・オプションも用意できることを理解するであろう。たとえば、「Phonespace」という、Voice−Over−Internet(VOIP)サービスを提供する5番目のオプションを備えることができる。したがって、ユーザ・インターフェースの個人化されたユーザ・インターフェースは、システム内で利用できるさまざまな娯楽および活動タイプの数に応じて、任意の数の論理セクションにレイアウトすることができる。
【0180】
上記の実施形態では、システムのユーザに対してさまざまなテレビ・サービスを提供する各種のアプリケーション・サーバについて説明した。当業者であれば、利用できるさまざまなサービスは、図を用いて説明されており、いかなる形でも制限するものと解釈すべきでないことを理解するであろう。たとえば、上述のアプリケーションに加えて、システムは、番組が放送された後、ユーザがその番組を見られるように自動的に番組を記録できるタイムシフト・テレビ・サービスを提供することができる。同様に、ユーザがアプリケーション・サーバ内に記録され格納されている番組を制御することができるパーソナル・ビデオ・レコーダ・サービスを提供することができる。このようなパーソナル・ビデオ・レコーダ・サービスでは、ユーザは、従来の録画、一時停止、再生、巻き戻しのオプションを利用することができ、すでに録画されている場合には、録画済みビデオの配信を制御することができるように早送りオプションを使用することができる。さらに、ビデオ・メールおよびビデオ会議などのサービスも提供することができる。
【0181】
上記の実施形態では、それぞれのメニュー・ページをユーザへの配信に対して個人化した。この個人化は、アプリケーション・サーバから受信したデータの個人化だけでなくユーザの名前を記述し、ユーザのプリファレンスに従ってメニュー画面の背景色を変更する個人化も含む。これらの個人化に加えて、メニュー画面はさらに、使用する言語、使用するフォント、日時表示書式などに関して個人化することもできる。個人化はさらに、ユーザ・プロファイルに従ってそのユーザをターゲットとする個人化された広告も含むことができる。たとえば、ユーザの視聴習慣およびシステム使用度を分析することにより、システムはそのユーザがアクション映画を好むかどうかを判別することができる。したがって、そのようなアクション映画に関係する製品を対象とする広告を作成することができる。
【0182】
上述のTVspaceおよびOpenspaceオプションでは、ユーザは視聴するペイパービュー番組またはビデオ番組を購入することができた。追加オプションとして、広告付きまたは広告なしで番組またはビデオを購入するオプションを提供するようにシステムを改造することができる。この方法で、ユーザは、広告も受け取る場合に番組またはビデオに低料金を支払うことを選択することができる。
【0183】
上記の実施形態では、多数のリモート・アプリケーション・サーバによって提供される各種サービスにユーザがアクセスするために使用するメニュー・システムについて説明した。一実施形態では、ユーザ・インターフェース・サーバは、それぞれのサービスおよびシステムのオペレーション全体のビデオ・ヘルプにユーザがアクセスするために使用するヘルプ・メニュー画面を備えるのが好ましい。
【0184】
当業者であれば、クライアント・デバイス、ユーザ・インターリース・サーバ、およびアプリケーション・サーバは、ハードウェア・ユニットとして、またはハードウェア・コンポーネントとソフトウェア・コンポーネントの組み合わせとして提供することができることを理解するであろう。プログラム可能なコンピュータ・デバイスをこれらのコンポーネントの基盤として使用する場合、サーバとして、Microsoft NTサーバ、Linux Intelサーバ、Sun Solarisサーバ、Compac Alphaサーバ、IBMまたはHPサーバなどを使用するのが好ましい。ユーザ・セットトップ・ボックスが用意されている場合、これらはScientific Atlanta、Motorola、AT&T、またはPhilips製であるのが好ましい。ユーザ・デバイスがパーソナル・コンピュータによって形成される場合、これは、たとえば、Dell Computer Corporation、IBM、またはToshiba製のPentium(登録商標)ベースのコンピュータであるのが好ましく、テレビまたは他の表示デバイスに接続される。上述の機能を実行するサーバを制御するのに使用するソフトウェアは、C、C++、Java(登録商標)、またはPerlなどの各種コンピュータ言語で作成することができる。コードは、コンパイル形式、未コンパイル形式、またはその2つの中間形式で格納することができる。ソフトウェアは、CD−ROMなどの媒体で提供するか、またはインターネットなどのデータ・ネットワーク上でダウンロードすることができる。
【0185】
上記の実施形態では、ユーザ・インターフェース・サーバおよびアプリケーション・サーバの両方にさまざまなキャッシュを備えた。これらのキャッシュは、アプリケーション・サーバまたはデータベースの処理負担を軽減するために装備したものであった。当業者であれば、上記実施形態で実行されるキャッシュ機能は本質的でないことを理解するであろう。使用されるキャッシュの1つまたは複数を省略することができる。たとえば、ユーザ・インターフェース・サーバの1つまたは複数の中のXMLキャッシュを省き、HTMLキャッシュおよびXSLTキャッシュのみを残すようにできる。さらに、それぞれのユーザ・デバイス内にメニュー・キャッシュをローカルで用意することにより、ユーザ・インターフェース・サーバからすでにダウンロードされているメニュー・ページを格納することができる。この場合、ユーザ・デバイスはそのローカル・キャッシュをチェックしてから、次のメニュー・ページの要求を送信することができる。このようにして、ユーザ・インターフェース・サーバに送信される要求の数を最小限に抑えることもできる。
【0186】
上記の実施形態では、ユーザ個人化をユーザ・インターフェース・サーバ内で生成されたメニュー・ページにスワップインするために可変スワッピング手法を使用した。この手法は、さらに、それぞれのユーザ・インターフェース・サーバのマシン・データのスワップインでも使用した。当業者であれば、これは本質的でないことを理解するであろう。生成されるメニュー・ページは、特定のユーザごとに、またユーザ・インターフェース・サーバごとに生成することができる。しかし、採用しているキャッシュ機能の効果が高まり、またキャッシュされたメニュー・ページの性質がよりジェネリックなものになるため、これらの可変スワッピング手法を使用することが好ましい。さらに、可変スワッピング手法を使用した場合、ハッシュ区切り記号を使用してプレースホルダ・エントリを識別することは本質的ではない。HTMLまたはスタイル・シートの制御文字ではない適当な文字を使用することも可能である。
【図面の簡単な説明】
【0187】
【図1】複数のサービスおよびコンテンツにユーザからアクセスできるようにするシステムのアーキテクチャの概略ブロック図である。
【図2a】図1に示されているシステムの一部を形成するユーザ・セットトップ・ボックスの主要コンポーネントを説明する概略ブロック図である。
【図2b】代表的なユーザ要求の形式を説明する図である。
【図3】図1に示されているシステムの一部を形成するユーザ・インターフェース・サーバの主要コンポーネントを説明する概略ブロック図である。
【図4】図3に示されているユーザ・インターフェース・サーバの一部を形成する要求ハンドラの主要コンポーネントを説明する概略ブロック図である。
【図5】図3に示されているユーザ・インターフェース・サーバの一部を形成する応答処理ユニットの主要コンポーネントを説明する概略ブロック図である。
【図6】図1に示されているシステムの一部を形成するアプリケーション・サーバの主要コンポーネントを説明するブロック図である。
【図7】図1に示されているシステムの一部を形成するデータベースの主要コンポーネントを説明するブロック図である。
【図8】図1に示されているリモート・サーバによって提供されるサービスおよびコンテンツにアクセスするためのユーザ用のユーザ・インターフェース・メニュー・システムにユーザがアクセスできる方法を示す機能流れ図である。
【図9】図1に示されているリモート・コントロールの主要コンポーネントを説明する概略ブロック図である。
【図10】Yourspaceオプション、Videospaceオプション、TVSpaceオプション、およびOpenspaceオプションを示すメイン・メニュー・ページのフォームとレイアウトの概略図である。
【図11】図10に示されているTVspaceオプションと関連するメイン・ロジックを説明する流れ図である。
【図12】図10に示されているTVspaceオプションと関連するメイン・メニュー・ページを説明する図である。
【図13】図12に示されているメニュー・ページを説明し、メニュー・ページ内のメニュー・カルーセルのオペレーションを説明する図である。
【図14】図13に示されているTVspaceメニューから選択した電子番組ガイドの初期ページの図である。
【図15】図14に示されているメニュー・ページから選択したチャネルの詳細メニュー・ページの図である。
【図16】図12に示されているTVspaceメイン・メニューからアクセスされるペイパービュー・メニュー・ページを説明する図である。
【図17】ユーザがペイパービュー・メニュー・アイテムを購入しようとするときの確認メッセージとともに図16に示されているペイパービュー・メニュー・ページの図である。
【図18】購入オペレーション時に実行されるユーザ妥当性確認ルーチンを説明する流れ図である。
【図19】ユーザがペイパービュー・メニュー・アイテムを購入するプロセスに入っているときにユーザPIN番号を入力することを求めるプロンプトを表示するペイパービュー・メニュー・ページの図である。
【図20】図12に示されているTVspaceメニュー・ページからアクセスできる検索オプションのオペレーションを説明する流れ図である。
【図21】検索を実行するために選択できるさまざまな検索オプションを示す検索メニュー・ページの説明図である。
【図22】ユーザが検索対象のテキスト文字列を入力するためのプロンプトおよびテキスト・ボックスを備える検索ページの図である。
【図23】さまざまなメニュー・ページからアクセスできるユーザ変更手順を示す流れ図である。
【図24】ユーザ変更オプションを選択した後の図12に示されているTVspaceメイン・メニューの図である。
【図25】さまざまなメニュー・ページからアクセスできるお気に入り手順を示す流れ図である。
【図26】図10に示されているVideospaceオプションと関連するメニュー・ロジックを説明する流れ図である。
【図27】図10に示されているVideospaceオプションと関連するメイン・メニュー・ページを説明する図である。
【図28】Videospaceオプションの「Top Ten」メニュー・ページを示す図である。
【図29】Videospaceオプション内の選択されたビデオの異なるオプションを備える詳細メニュー・ページの図である。
【図30】Videospace内に用意されているVideoshelfオプションを説明する流れ図である。
【図31】図10に示されているYourspaceオプションと関連するメニュー・ロジックを説明する流れ図である。
【図32】図10に示されているYourspaceオプションと関連するメイン・メニュー・ページを説明する図である。
【図33a】図32に示されているYourspaceメニューに用意されているYour Accountオプションと関連するメニュー・ロジックの第1の部分を説明する流れ図である。
【図33b】図32に示されているYourspaceメニューに用意されているYour Accountオプションと関連するメニュー・ロジックの第2の部分を説明する流れ図である。
【図33c】図32に示されているYourspaceメニューに用意されているYour Accountオプションと関連するメニュー・ロジックの最終部分を説明する流れ図である。
【図34】図10に示されているOpenspaceオプションと関連するメイン・メニュー・ページを説明する図である。
【図35】ユーザからアクセスできる短くした電子番組ガイドの図である。
【0001】
本発明は、ユーザが電子メール、テレビ放送、ビデオ・オン・デマンド、Webアクセスなどの複数のサービスおよびコンテンツにアクセスするために使用するユーザ・インターフェース・システムに関する。
【背景技術】
【0002】
従来、テレビ番組は、地上基地局から送信されるRF信号、頭上の衛星から送信される信号、およびユーザ構内敷設のケーブルで送信される信号を介してユーザに放送されてきた。これらの各システムを使用するユーザは、ユーザ側でさまざまなチャネルを選択して見ることができる。しかし、これらの既存システムでは、ユーザのテレビジョン受信機にすべてのチャネルが送信される必要があり、この受信機をユーザの選択に従って同調し、チャネルの1つを表示する。これらの従来のシステムのいくつかでは、ユーザは、いくつかのチャネルを見るためには、サービス・プロバイダと受信契約を交わす必要がある。しかし、各ユーザのテレビジョン受信機は全チャネルを受信するので、ユーザはそれでも、サービス・プロバイダのセキュリティをバイパスできるしかるべきハッキング機器を使用すると制限されたチャネルにもアクセスできてしまう。
【0003】
さらに、これらの従来のシステムでは、ユーザがテレビを視聴する行為は、ユーザにとって事実上受動的な行為である。つまり、番組スケジュールはサービス・プロバイダにより予め定められており、ユーザが唯一選択できるのは、見たいチャネルだけである。ユーザがテレビを通じてサービス・プロバイダと対話して、配信されるコンテンツを制御し、より個人性の強い娯楽を経験できるようにする新しいインタラクティブ・テレビ・システムが台頭し始めている。これらのシステムでは、メニュー方式のユーザ・インターフェース・システムを採用し、ユーザが利用可能なさまざまなサービスにアクセスできるようにしている。しかし、現在まで、これらのメニュー方式のインターフェースは、ユーザが操作するには難しく、分かりにくいものである。さらに、現在のメニュー・インターフェース・システムは、「フリーサイズ」のシステムとして設計されており、通常、特定の領域でシステムのすべてのユーザに対して、同じテレビ番組編成(通常、数値の順序で)、および同じ形式およびスタイルの番組情報を送信し、表示する。
【0004】
従来のテレビ受像機を使用するユーザがサービス・プロバイダと対話することができるように、ユーザのセットトップ・ボックス(STB)が用意されている。現在は、さまざまなサービス・プロバイダが自社のセットトップ・ボックスを生産しており、それぞれ異なるハードウェアおよびソフトウェアを配置している。サービス・プロバイダは、セットトップ・ボックスに大きな処理能力および記憶能力を高め、たとえば、ユーザ・プロファイル・データ、番組ガイド・データ、および使用データなどの大量の制御データを維持し、処理し、表示する専用ソフトウェアをダウンロードすることに重点を置いてきた。これらの専用セットトップ・ボックスが複雑になった結果、システムの配備、保守、アップグレード、監視、および使用に関わるオーバーヘッドのせいで、かなりのユーザ・サポートが必要になっている。特に、このようなシステムに毎回変更を加えるたびに、それぞれのユーザのセットトップ・ボックスをチェックし、アップグレードしなければならない場合や、さらには交換しなければならない場合もある。さらに、このタイプのシステムでは、新しいアプリケーションの開発は困難であり、また時間もかかるが、それは、それぞれのアプリケーションを各セットトップ・ボックスのプロセッサの速度、オペレーティング・システム、および内部アーキテクチャに適した形式で書かなければならないからである。
【発明の開示】
【発明が解決しようとする課題】
【0005】
本発明は、上記の問題の少なくとも1つまたは複数を緩和することを目的とする
【課題を解決するための手段】
【0006】
一態様によれば、本発明は、ユーザが多数のリモート・サーバから複数のサービスおよびコンテンツにアクセスし、またユーザが個別にカスタマイズ可能でかつ個人化されているグラフィカル・インターフェースを通じて望みのサービスおよびコンテンツにアクセスするためのシステムおよび方法を提示する。好ましい実施形態では、システムは各ユーザがそれぞれのユーザ・プロファイリング情報の更新および維持のため要求するサービスを監視する。さらにこのユーザ・プロファイリング情報を、たとえば、ユーザのサービスまたはコンテンツを対象にして使用することができる。
【0007】
他の好ましい実施形態では、ユーザとサーバとの間に配置されたユーザ・インターフェース・サーバ内に目的のサービスおよび/またはコンテンツを提供するメニュー・ページが生成される。中間ユーザ・インターフェース・サーバなどにメニュー・ページを生成し、メニュー・ページをユーザにダウンロードすることにより、ユーザ・デバイスの設計を大幅に簡素化できる。さらに、共通ユーザ・インターフェース・サーバは、多数のさまざまなアプリケーション・サーバの媒介として動作できるため、異なるアプリケーション・サーバ上で一貫したルック&フィールを持つメニュー・システムを生成することができる。そのため、エンド・ユーザが使用する最終的なユーザ・インターフェースを大幅に簡素化することができる。
【0008】
他の態様によれば、本発明は、カーソルレス・グラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバによって提供されるサービスおよびコンテンツにユーザがアクセスできるシステムを提示する。このインターフェースは、選択ウィンドウを備え、ユーザが入力デバイスのキーを使用し選択ウィンドウを通じてメニュー・オプションをスクロールさせることができるメニュー・カルーセルを備えるのが好ましい。ユーザ・インターフェースは、階層型メニュー・システムとして実現するとユーザはナビゲーションを簡単に行えるため好ましい。一実施形態では、ユーザは、上、下、左、右、およびアクションの各機能を備える制御デバイスを使用することによりメニュー・レベルをナビゲートし選択を行う。たとえば、ユーザは、上および下機能を使用してメニュー・カルーセルに用意されている複数の選択項目を上下にスクロールすることができ、また左および右機能を使用して階層型メニュー構造の異なる層の間を行き来することができる。このようにして、ユーザはメニュー・レベル、画面、およびカルーセル間をカーソルレス方式でナビゲートすることができる。
【0009】
他の態様によれば、本発明は、ユーザがそれぞれに合わせて個人化されたグラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバによって提供されるサービスおよび/またはコンテンツにアクセスできるシステムを提示する。この実施形態では、ユーザに対して表示されるメニュー・デザイン、選択、およびコンテンツは、1つまたは複数のデータベースにシステムにより保持されているユーザ・プロファイル・データおよび使用度情報に基づく。システムでは、格納されているユーザ・プロファイル・データおよび使用度情報を使用して、メニュー表示先のユーザのプロファイル・データおよび使用度情報に基づきデザイン要素、サービス、およびコンテンツを含む個人化されたメニューを作成する。この実施形態では、特定のユーザに表示されるそれぞれのメニュー画面は、一貫したデザイン、およびルック&フィールを備え、その特定のユーザ向けのサービスおよびコンテンツを含むのが好ましい。
【0010】
他の態様によれば、本発明では、それぞれのユーザに合わせて個人化した番組ガイドをユーザに提供する。システムでは、格納されているユーザ・プロファイル・データおよび使用度情報を電子番組ガイドとともに使用し、個人化され生成された番組ガイドを通じてシステムのそれぞれのユーザが電子番組ガイド・データにアクセスできるようにする。この態様によれば、システムは、ユーザの要求に応答して、電子番組ガイド・サーバから該当する電子番組ガイド・データを処理のため取り出し、その後、システムに格納されているユーザのプロファイル・データおよび使用度情報に基づいて電子番組ガイド・データを処理する。システムは、この格納されている情報に基づき、特定のユーザに表示する、その特定のユーザに合わせて個人化した番組ガイドを作成し、たとえば、ユーザの指示した好みおよび/または使用度に基づくテレビ番組編成、ユーザのお気に入りリスト、および特定のユーザに合わせてカスタマイズした関連する番組情報を表示することができる。さらに、たとえば、背景色、フォント、およびレイアウトなどの個人化した番組ガイドのデザイン要素を、メニューの表示先ユーザのユーザ・プロファイル・データおよび使用度情報に基づき特定のユーザに合わせてカスタマイズすることができる。
【0011】
本発明の一実施形態では、システムは、ユーザが複数のサービスおよびコンテンツにアクセスできるようになっており、アプリケーション・コンポーネント、データベース・コンポーネント、1つまたは複数のユーザ・インターフェース・サーバ、および1つまたは複数のクライアントを備える。アプリケーション・コンポーネントでは、ユーザに対し、たとえば、電子番組ガイド・サービス、ビデオ・オン・デマンド・サービス、ワールド・ワイドWebアクセス、電子メールなどのサービスを提供する。これらのシステムは、アクセスされ、最終的に表示および対話操作のためユーザに配信されるコンテンツを取り出し、供給する。データベース・コンポーネントは、ユーザ・プロファイル・データおよび使用度情報だけでなく、コンテンツおよび書式設定データも含む。ユーザ・インターフェース・サーバは、アプリケーション・コンポーネント、データベース・コンポーネント、およびユーザ・インターフェースを統合し、ネットワークを通じてクライアントに配信できるように設計されている。ユーザ・インターフェース・サーバは、データベース・コンポーネントおよびアプリケーション・コンポーネントからデータにアクセスし、そのデータを処理して、個人化したユーザ・インターフェース、個人化した電子番組ガイド、およびアプリケーション・コンテンツを生成し、ネットワーク経由でクライアントに配信する。各クライアントは、セットトップ・ボックスやパーソナル・コンピュータなどクライアント・デバイス内で実行されるクライアント・アプリケーションを含む。クライアント・アプリケーションは、個人化したユーザ・インターフェース・データ、個人化した電子番組ガイド・データ、およびアプリケーション・コンテンツを受信して、適切なメニュー画面とアプリケーション・コンテンツをユーザに対して表示するように修正される。
【0012】
システム・コンポーネント、クライアントおよびサーバのそれぞれは、標準ベースのプロトコルおよび言語を使用して通信するのが好ましく、これにより実装が簡単になる。一実施形態では、システムは、本質的にすべての重要な処理およびデータ格納をシステムのサーバサイドで実行することができるように配列され、クライアント・デバイスは、メニュー・ページおよび要求されたコンテンツをユーザに対し表示し、ユーザ入力および要求をサーバに送り返す役割を持つ必要がある。好ましい実施形態では、ユーザ・インターフェース・サーバは、前のユーザ要求に応答して配信される一般化されたメニュー・ページをキャッシュするキャッシュを備え、新しいユーザ要求を受信すると、キャッシュをチェックする動作を行い、新しいユーザ要求がキャッシュ内のデータとの間でのやり取りかどうかを判別する。このようにして、ユーザ・インターフェース・サーバは、アプリケーション・サーバに、またはデータベースに渡される要求の数を減らす動作をする。このようにして一般化されたメニュー・ページのキャッシングは、アプリケーション・サーバおよびデータベースに対する処理の負担が軽減され、増大するユーザに対応してシステムを拡張する作業が容易になるため好ましい。
本発明の他の態様および特徴は、添付図面を参照し、好ましい実施形態の詳細な説明を読むことにより明白になるであろう。
【発明を実施するための最良の形態】
【0013】
図1は、複数のリモート・サーバから複数のサービスおよびコンテンツにユーザがアクセスできるシステム1の主要コンポーネントを示す概略ブロック図である。システム1の異なるユーザがそれぞれのユーザ・デバイス3を介してサービスおよびコンテンツにアクセスするが、そのうち3つは、図1に示されており、3−1、3−2、3−3と番号が振られている。図1からわかるように、この実施形態では、それぞれのユーザ・デバイス3は、テレビジョン5、セットトップ・ボックス(STB)7、リモート・コントロール・デバイス9、およびキーボード11を備える。利用できるさまざまなサービスおよびコンテンツにアクセスするためのメニューが、テレビ5でユーザに表示され、ユーザはリモート・コントロール9および/またはキーボード11を使用してサービスおよびコンテンツのアクセスを選択し制御する。
【0014】
この実施形態では、ユーザがアクセスできるサービスとして以下のものがある。
i)ビデオ・サーバ15およびビデオ・データベース17からのビデオ・オン・デマンド(たとえば、フィルム・オン・デマンド、ミュージック・オン・デマンド、ビデオ録画TV、パーソナル・ビデオ・レコーダ、ビデオ商取引など)
ii)ファイヤウォール20−1を経由してインターネットに接続されているメール・サーバ19からの電子メール。
iii)EPGサーバ21からの電子番組ガイド(EPG)。
iv)ショッピング・サーバ23からの電子商取引。
v)Webサーバ25およびファイヤウォール20−2を経由するインターネット/ワールド・ワイドWebアクセス。
vi)BTVサーバ27およびBTV受信機28によって供給される基本TVチャネル、プレミアム・チャネル、ペイパービューなどを含むテレビ放送(BTV)。
vii)管理および請求書発行サーバ29により供給される請求書情報、ユーザ・プロファイルなどのユーザ・サービス。
参照を簡単にするため、上記のサーバは、これ以降、アプリケーション・サーバ30と総称することにする。
【0015】
図1に示されているように、この実施形態では、アプリケーション・サーバ30によって提供されるサービスまたはコンテンツのアクセスは、多数のユーザ・インターフェース・サーバ31を介して実行され、そのうち3つが、図1に、参照番号31−1、31−2、31−3で示されている。ユーザ・インターフェース・サーバ31は、IPデータ・ネットワーク33および負荷分散機能35(それぞれがどれくらいビジーであるかに基づいてユーザ・インターフェース・サーバ31間でユーザ要求を分担する)を介して関連するセットトップ・ボックス7から送信されたユーザ要求を受信する動作を行うことができる。この実施形態では、ユーザは、(後で詳しく説明する)グラフィカル・ユーザ・インターフェースのメニュー・ページを介してアプリケーション・サーバ30により提供される異なるサービスおよびコンテンツにアクセスする。この実施形態では、これらのメニュー・ページは、ユーザ・インターフェース・サーバ31によって生成されIPデータ・ネットワーク33上でHTML(ハイパーテキスト・マークアップ言語)ファイルとしてセットトップ・ボックス7にダウンロードされる。セットトップ・ボックス7内のWebブラウザ(図に示されていない)は、受信したHTMLファイルから適切なメニュー・ページを生成または描画し、テレビ5でユーザに表示する。
【0016】
ユーザがメニュー・ページから(リモート・コントロール9またはキーボード11を使用して)選択を行う場合、ユーザ・セットトップ・ボックス7により適切なユーザ要求が生成され、ユーザ・インターフェース・サーバ31に送り返される。それに対する応答として、ユーザ・インターフェース・サーバ31は、ローカル・キャッシュ(図に示されていない)内に格納されているデータから次のメニュー・ページ自体を生成しようとする。データがローカルで利用できない場合、ユーザ・インターフェース・サーバ31は、ユーザ要求を適切なアプリケーション・サーバ30に受け渡し、そこで、適切なデータを取得し、ユーザ・インターフェース・サーバ31に送り返す。ユーザ・インターフェース・サーバ31は、受信したデータを使用して、個人化したHTMLファイルを生成し、ユーザ・セットトップ・ボックス7に送り返す。
【0017】
さまざまなメニュー・ページおよびさまざまなユーザ・プロファイル・データを生成するために必要なデータは、データベース39内に一括して格納され、これにアクセスするには、適切なサーバ30またはユーザ・インターフェース・サーバ31を使用する。
この実施形態では、それぞれのアプリケーション・サーバ30のサービスまたはコンテンツに対し、ユーザ・インターフェース・サーバ31によって生成されるメニュー・ページからユーザがアクセスする。しかし、その結果得られるサービスまたはコンテンツは、直接、アプリケーション・サーバ30からユーザに配信するか、またはユーザ・インターフェース・サーバ31を通じて配信することができる。この実施形態では、大量のデータをユーザに送信するアプリケーション・サーバ30は、IPデータ・ネットワーク33を介してそのデータを直接ユーザに送信する。これらのアプリケーション・サーバ30は、ビデオ・サーバ15、Webサーバ25、およびテレビ放送サーバ27を含む。他のサーバ(つまり、メール・サーバ19、EPGサーバ21、ショッピング・サーバ23)は、ユーザ・インターフェース・サーバ31を介してそのサービスを返す。
【0018】
当業者であれば理解するであろうが、ユーザ・インターフェース・サーバ31は、異なるアプリケーション・サーバ30によって提供されるさまざまなサービスおよびコンテンツにアクセスするために使用されるメニュー・ページを生成するので、ユーザ・インターフェース・サーバ31では、アプリケーション・サーバ30にアクセスするしないに関係なく、メニュー・ページに対する共通の「ルック&フィール」が得られることを保証することができる。そのため、本実施形態のユーザ・インターフェース・メニュー・システムは、現在利用可能な従来技術のシステムと比べて理解しやすく、使いやすく、学習しやすい。さらに、後で詳しく説明するように、ユーザ・インターフェース・サーバ31では、インテリジェント型キャッシング手法およびユーザ・プロファイル情報を使用して、効率的な方法でそれぞれのユーザにダウンロードするメニュー・ページを個人化する。
【0019】
上では、ユーザがさまざまなアプリケーション・サーバ30によって提供されるサービスおよびコンテンツにアクセスする方法について簡単に説明した。図1に示されているシステム1で使用されているさまざまなコンポーネントについてさらに詳しく説明し、その後、ユーザ・インターフェース・メニュー・システムについて詳細に説明する。
【0020】
セットトップ・ボックス
図2aは、図1に示されているセットトップ・ボックス7の1つの主要コンポーネントを説明する機能ブロック図である。図2aに示されているように、セットトップ・ボックス7は、セットトップ・ボックス7をIPデータ・ネットワーク33にインターフェースする動作を行うネットワーク・インターフェース・ユニット201を備える。IPデータ・ネットワーク33を介してユーザ・インターフェース・サーバ31から受信したHTMLファイルは、ネットワーク・インターフェース・ユニット201を通じて、Webブラウザ203に受け渡され、WebブラウザはHTMLファイルを処理し、テレビ5に表示するためフレーム・バッファ205に出力するメニュー・ページを生成する。Webブラウザ203はさらに、リモート・コントロール・インターフェース207を介してリモート・コントロール9から、またはキーボード・インターフェース209を介してキーボード11からユーザ入力を受け取る動作をすることもできる。以下で詳しく説明するように、ユーザ入力を使用して、現在表示されているメニュー・ページ上のオプションをスクロールし、かつ/またはこのメニュー・ページからオプションを選択する。ユーザ・インターフェース・サーバ31から受信したHTMLファイルはさらに、現在のメニュー・ページから利用可能な他のメニュー・ページおよび/またはサービスおよびコンテンツのリンクも含む。ユーザ・インターフェース・サーバ31から受信したHTMLファイルはさらに、リモート・コントロール9および/またはキーボード11でのキーの押下をそれらのリンクに関連付けるWebブラウザに対する命令を含む。ユーザがリモート・コントロール9および/またはキーボード11のキーを押すと、Webブラウザ203は、受け取った命令に基づいてこのキーの押下を解釈して、ユーザが選択したリンクを識別する。この実施形態では、これらの命令はJavascript命令であり、Webブラウザ203はこれらの命令を解釈する適切なJavascriptコマンド・プロセッサ(図に示されていない)を含む。Webブラウザ203は、ユーザ・インターフェース・サーバ31に送信する適切なユーザ要求を生成するが、ユーザ要求には、キー押下に対応するリンクとともにユーザ・データ・メモリ211に格納されているユーザ・データ(ユーザID、セッションIDなど)を含む。
【0021】
図2bは、セットトップ・ボックス7からユーザ・インターフェース・サーバ31に送信される代表的なユーザ要求215に含まれる情報の概略図である。図に示されているように、ユーザ要求215には以下のものが含まれる。
i)要求を送信したセットトップ・ボックス7のIPアドレスを識別する送信元IPアドレス221。
ii)要求がIPデータ・ネットワーク33を通じてユーザ・インターフェース・サーバ31に送信されることを識別する送信先アドレス223(この実施形態では、ユーザ・インターフェース・サーバ31のURLアドレス)。
iii)ユーザ・デバイス3を監視し、対話している現在のユーザを識別する現在のユーザID 225。
iv)送信されたユーザ要求215が関連する現在のユーザ・セッションを識別するセッションID 227。
v)ユーザ・インターフェース・サーバ31に対して要求の送信先アプリケーション・サーバ30およびユーザによって要求された特定のメニュー・ページまたはサービスまたはコンテンツを識別する、表示されている現在のメニュー・ページと関連付けられている上述のリンクを形成するアプリケーション識別子229および画面識別子231。
【0022】
セットトップ・ボックス7は、Webブラウザ203の制御の下で動作してビデオ・サーバ15に特定のビデオ・ストリームを要求したり、あるいはテレビ放送サーバ27に特定のテレビ・チャンネルを要求したりするビデオ・プレーヤ213(MPEGデコーダなど)を備える。図2aに示されているように、この実施形態では、このユーザ要求215はネットワーク・インターフェース・ユニット201に渡され、このユニットはIPデータ・ネットワーク33を介してユーザ要求215をユーザ・インターフェース・サーバ31に転送し、このサーバはユーザ要求215をビデオ・サーバ15またはBTVサーバ27に転送する。上述のように、この実施形態では、ビデオ・サーバ15およびBTVサーバ27は、IPデータ・ネットワーク33を介して要求されたビデオまたはテレビ・チャンネルを直接ユーザにストリームとして送るように配列されている。IPデータ・ネットワーク33から受信したビデオまたはテレビ.チャンネル・データのストリームは、ネットワーク・インターフェース・ユニット201を通じてビデオ・プレーヤ213に渡される。ビデオ・プレーヤ213は、受信したビデオまたはテレビ・チャンネル・データ(通常、たとえば、MPEGを使用して符号化される)を処理して、ビデオまたはテレビ・チャンネルのフレームを再生し、Webブラウザ203に送り返す。次に、Webブラウザ203は、受信したビデオまたはテレビ・チャンネル・フレームをフレーム・バッファ205に出力し、テレビ5に表示する。以下に示すように、この実施形態では、Webブラウザ203はテレビ5でユーザに表示されるビデオまたはテレビ・チャンネル・フレームのサイズを制御し、たとえば、テレビ画面の一部にユーザ用にビデオまたはテレビ・チャンネルを表示し、画面の残り部分を使用して利用可能なメニュー・オプションを表示するようにできる。
【0023】
ユーザ・インターフェース・サーバ
図3は、ユーザ・インターフェース・サーバ31の主要コンポーネントを説明する機能ブロック図である。上で説明したように、ユーザ・インターフェース・サーバ31は、ユーザ要求215の受信に対する応答としてユーザ・セットトップ・ボックス7に送信される個人化されたメニュー・ページを記述しているHTMLファイルを生成するように配列されている。それぞれのユーザ・インターフェース・サーバ31は、要求215を適切なアプリケーション・サーバ30に受け渡さずに自らそれらのHTMLファイルを生成しようとするが、これは、アプリケーション・サーバ30とデータベース39の処理の負担を軽減するためである。ユーザ・インターフェース・サーバ31はさらに、2つまたはそれ以上のアプリケーション・サーバ30で必要な共通処理機能(ユーザ・ログイン、エラー処理など)を実行する役割を持つ。
【0024】
図3に示されているように、ユーザ・インターフェース・サーバ31は、ユーザ・インターフェース・サーバ31とIPデータ・ネットワーク33および負荷分散機能35とのインターフェースをとる動作が可能なインターフェース・ユニット301を備える。インターフェース・ユニット301は、負荷分散機能35からメッセージを受け取り、リスニング・ユニット303に渡す動作が可能である。リスニング・ユニット303は、ユーザ・セットトップ・ボックス7から送信されたユーザ要求215の受信を待ち、それを要求処理ユニット305に渡すように配列されている。要求処理ユニット305は、ユーザが要求を作成するのことの妥当性を確認し、その要求時が有効であるかどうかをチェックする役割を持つ。要求処理ユニット305は、さらに、HTMLキャッシュ309−1またはXMLキャッシュ309−2に格納されているデータからユーザ・インターフェース・サーバ31によりユーザ要求を処理できるかどうかを確認する。これらおよび他のキャッシュの内容について後で詳しく説明する。要求処理ユニット305でユーザ要求215に応答するために必要な情報がHTMLまたはXMLキャッシュ309に格納されていると判断した場合、要求処理ユニット305はキャッシュされている情報を直接応答処理ユニット307に受け渡し、そこでこのキャッシュされた情報を使用して個人化したHTMLファイルを生成し、インターフェース・ユニット301およびIPデータ・ネットワーク33を介してユーザ・セットトップ・ボックス7に出力する。
【0025】
要求処理ユニット305で、ユーザ・インターフェース・サーバ31がユーザ要求215に直接応答できないと判断した場合、要求215の送り先アプリケーション・サーバ30を判別し、ユーザ要求215に応答するためにそのアプリケーション・サーバ30に必要になる適切なユーザ情報をユーザ・データ・キャッシュ310から取り出す。それと同時に、要求処理ユニット305は、さらに、共通機能(ユーザ・ログインなど)を実行すべきかどうかを判断し、もしそうであれば、共通機能プロセッサ311に、適切な共通機能を実行して結果を返す命令を送る。要求処理ユニット305は、元のユーザ要求215を要求処理ユニット305によって取り出された追加ユーザ情報とともに、インターフェース・ユニット313を介して適切なアプリケーション・サーバ30に受け渡す。アプリケーション・サーバ30は、要求215を処理した後(そして、必要ならばデータベース39から適切な情報を取り出した後)、XML(拡張マークアップ言語)ファイルを返し、これにより、ユーザに表示する情報が識別される。当業者であれば明らかなように、XMLファイルは表示する情報を記述するだけであって、どのように表示するか(つまり、書式とレイアウト)については記述しない。この実施形態では、この書式設定情報はスタイル・シート(図に示されていない)で与えられ、その一部はXSLTキャッシュ309−3に格納され、残りはハード・ディスク315に格納される。
【0026】
この実施形態では、応答処理ユニット307はアプリケーション・サーバ30の1つからXMLファイルを受け取ると、XMLファイルをXMLキャッシュ309−2に格納し、XSLTキャッシュ309−3またはハード・ディスク315内の適切なスタイル・シートと組み合わせて、HTMLファイルを生成し、HTMLキャッシュ309−1に格納する。応答処理ユニット307は、ユーザ・データ・キャッシュ310のデータを使用して、HTMLファイルを個人化してインターフェース・ユニット301およびIPデータ・ネットワーク33を介して適切なユーザ・セットトップ・ボックス7に送り返す。図3に示されているように、応答処理ユニット307はさらに、共通機能プロセッサ311によって実行される共通機能を呼び出すこともできる。したがって、アプリケーション・サーバ30は、適切な命令を応答処理ユニット307に返すことにより、ユーザ・ログイン機能などの共通機能のうちの1つをトリガすることができる。
【0027】
この実施形態で使用しているユーザ・インターフェース・サーバ31の動作に関する簡単な説明を上で行った。ユーザ・インターフェース・サーバ31の主要コンポーネントの詳細をこれから説明する。
【0028】
キャッシュ
この実施形態では、ユーザ・インターフェース・サーバ31の重要な目標の1つは、可能な限り、インターフェース・サーバ31内のキャッシュのデータを使用してユーザの要求215に応答することによりアプリケーション・サーバ30に受け渡されるユーザ要求215の数を減らそうとすることである。上述のように、ユーザ・インターフェース・サーバ31は、ユーザ・データ・キャッシュ310、HTMLキャッシュ309−1、XMLキャッシュ309−2、およびXSLTキャッシュ309−3を備える。それぞれのキャッシュに格納されるデータの型について説明する。
【0029】
ユーザ・データ・キャッシュ
ユーザ・データ・キャッシュ310は、システム1のユーザごとにデータベース39に用意されているユーザ情報のすべてを格納する。この実施形態では、ユーザごとに約500バイトのデータに等しい。このデータは、とりわけ、ユーザ名、ユーザの年齢、ユーザ・ログイン名、ユーザPIN(個人識別番号)、ユーザ・セットトップ・ボックス・タイプ、セッションID、ユーザ・ログイン・ステータス・ビット、ユーザ受信契約レベル、ユーザ家族名、ユーザ・セットトップ・ボックスID、現在のテレビ・チャンネル、または見ているビデオ番組、ユーザ電子メール・アドレス、ユーザ言語、ユーザ背景色、およびその他のユーザの好みを含む。
【0030】
HTMLキャッシュ
HTMLキャッシュ309−1は、メニュー・ページの内容およびレイアウトを定義するさまざまHTMLファイルをキャッシュする。この実施形態では、本質的に、HTMLキャッシュ309−1スタティックHTMLファイルとダイナミックHTMLファイルにキャッシュされた2種類のHTMLファイルがある。スタティックHTMLファイルでは、すべてのユーザにとって同じであるメニュー・ページまたはメニュー・ページの一部を記述する。たとえば、利用可能なさまざまなオプションを表示する初期メニュー画面を記述するHTMLファイルは、すべてのユーザにとって共通なものとなる(ファイルがユーザにダウンロードされようとするときに行うことができるあまり重要でないユーザ個人化を除く)。HTMLキャッシュ309−1に格納されるダイナミックHTMLファイルは、たとえば、アプリケーション・サーバ30から受信したXMLファイルから応答処理ユニット307により生成される。したがって、これらのダイナミックHTMLファイルは、特定のユーザに固有のメニュー・データを表示するメニュー・ページを記述する(たとえば、そのユーザのお気に入りを示す)。この実施形態では、それぞれのダイナミックHTMLファイルは、アプリケーション・サーバ30によって定められた一定期間(500秒など)の間キャッシュされる。
【0031】
XMLキャッシュ
XMLキャッシュ309−2は、共通機能プロセッサ311またはアプリケーション・サーバ30のいずれかから生成されたXMLファイルを格納する。上述のように、XMLファイルは、メニュー画面に表示される情報を定義するが、メニュー画面のその情報のレイアウトについては定義しない。たとえば、XMLファイルでは、今日の選択したテレビ・チャンネルの番組一覧を識別することができる。この情報は他のユーザによって要求される可能性があるため、ユーザ・インターフェース・サーバ31がこのXMLファイルをXMLキャッシュ309−2にキャッシュする。このようにして、たとえば、別のユーザが同じ情報を望んでいるが、HTMLファイルを生成するために異なるスタイル・シートを必要としている場合(たとえば、手持ちのセットトップ・ボックス7またはテレビ5のタイプが異なるため)、ユーザ・インターフェース・サーバ31では、アプリケーション・サーバ30から再度同じXMLファイルを取り出す必要はない。単にXMLキャッシュ309−2からXMLファイルを取り出して、その別のユーザ用の適切なスタイル・シートを使って適切なHTMLファイルに変換するだけである。
【0032】
XSLTキャッシュ
この実施形態では、XSLTキャッシュ309−3は、XMLファイルからHTMLファイルを生成するために使用するスタイル・シートを格納する。この実施形態では、以下の5種類のスタイル・シートを使用する。
i)ユーザがテキストを入力するために使用する1つまたは複数のテキスト・ボックスを備える「フォーム」スタイル・シート。
ii)ユーザがメニュー・オプションをクロールするための「カルーセル」スタイル・シート。
iii)現在のテレビ・チャンネルに関係する番組情報をユーザに提供するために使用する「ショート電子番組ガイド」スタイル・シート。
iv)詳細な請求情報をユーザに送るために使用する「請求」スタイル・シート。
v)電子メール情報をユーザに送るために使用する「メール」スタイル・シート。
【0033】
この実施形態では、それぞれのクラスに数種類のスタイル・シートが用意されており、これらを使用して、さまざまなWebブラウザ203およびユーザ設定(ワイドスクリーン/ナロースクリーン、PAL/NTSCなど)に対応する。当業者であれば、XMLファイルとスタイル・シートを組み合わせてHTMLファイルを生成する作業は、比較的時間のかかる作業であることを理解するであろう(200ミリ秒のオーダー)。この実施形態では、スタイル・シートをXSLTキャッシュ309−3内に、XMLファイルと比較的組み合わせやすい前処理形式で格納する。
【0034】
インテリジェント型キャッシュ機能
ユーザ・インターフェース・サーバ31で使用しているようなキャッシュ手法を使用する際に生じうる問題の1つに、ユーザ固有のHTMLページをキャッシュする場合に記憶領域がかなり必要になる可能性があるという問題があげられる。特に、U人のユーザがそれぞれサイズSのページをPページ分キャッシュして動作しているシステムでは、U×P×Sのオーダーの記憶領域が必要になり、そのため、ユーザ数、ページ数、またはそれぞれのページの複雑度が増すと大きくなる。
【0035】
必要記憶領域を最小限に抑えるために、この実施形態では、指定されたHTMLファイルについて、コンテンツがスタティック(つまり、すべてのユーザに対して共通)であり1回格納するだけでよいのか、コンテンツがダイナミック(あるいはユーザ固有)でありしたがってユーザごとに格納する必要があるのかを区別するインテリジェント型キャッシュ手法を使用している。この実施形態では、これは、その出力のどのセクションがスタティックであり、どれがダイナミックであるかを示す区切り記号をスタイル・シート内に用意することで実現されている。キャッシュは以下のように進行する。
i)まずユーザが特定のページ(指定された曜日の指定されたチャンネルの番組一覧など)を要求すると、生成されたHTMLページが処理され、スタイル・シートに挿入されている区切り記号を使ってスタティック部分とダイナミック部分に分けられる。
ii)スタティック部分は、HTMLキャッシュ309−1内のスタティック・データ・ストアに格納され、特定のユーザのダイナミック部分は、HTMLキャッシュ309−1内のダイナミック・データ・ストアに格納される。
iii)第2のユーザが同じページを要求すると、HTMLファイルが再び、生成されるが、ユーザ固有のダイナミック部分のみがHTMLキャッシュ309−1に格納され、スタティック部分は第1のユーザの要求のときに格納されたのと同じであり、したがって、格納する必要はない。
iv)ページをすでに要求しているユーザがまた要求した場合、キャッシュされているページは、スタティック部分とユーザ固有のダイナミック部分とを組み合わせることにより再構成され、HTMLキャッシュ309−1からユーザのページが作成し直され、ページのコンテンツ全体を個別ユーザごとに格納する必要はない。
【0036】
可変スワッピング
この実施形態で使用するキャッシュ・システムの効率を高めるために、ユーザ・インターフェース・サーバ31では、事後解析補間(ここでは可変スワッピングとも呼ぶ)と呼ばれる手法をサポートしている。これは、背景色の変化やメニュー画面へのユーザ名の追加など些細なユーザ固有のページ・カスタマイズをスタイル・シートおよびXMLファイルを使用して生成された後のHTMLファイルに適用できるように設計されている。システムがすべてのユーザに対してスタティックHTMLファイルを格納することができ、それと同時に処理時に(つまり、ユーザにダウンロードするときに)個別ユーザに対してHTMLファイルを個人化できるようにするために、この可変スワッピング手法を使用する。この実施形態では、これは、可変スワッピング・アルゴリズムを使用して、ユーザ・セットトップ・ボックス7にダウンロードしようとするときに特定のユーザ・データをHTMLファイル内にスワップする応答処理ユニット307により実現される。これらの変数は、スタイル・シート内では##variable_name##として表されるためハッシュ−ハッシュ変数と呼ばれ、スタイル・シート/XML変換プロセスよりもはるかに高速な効率のよいプロセスを使用してスワップされる。
【0037】
このような置換を行う場合、必ず、##variable_name##という形式のプレースホルダをスタイル・シートまたはXMLファイル内に挿入し、結果のHTMLファイル内に表示されるようにする。処理時に、ユーザの対応する変数をユーザ・データ・キャッシュ310から取り出し、HTMLファイルに挿入する。
【0038】
この実施形態では、ユーザ・インターフェース・サーバ31と関連するマシン定数をアプリケーション・サーバ30から受け取ったジェネリックなXMLファイルにスワップするために、同じ可変スワッピング手法を使用する。特に、アプリケーション・サーバ30は、XMLファイルを異なるユーザ・インターフェース・サーバ31に送信できるので、XMLファイル内でプレースホルダを使用し、ユーザ・インターフェース・サーバ31に固有の定数を識別する。応答処理ユニット307は、このようなプレースホルダが含まれるジェネリックXMLファイルを受け取ると、そのユーザ・インターフェース・サーバ31に固有の適切な定数をスワップインする。たとえば、XMLファイルは、メニュー・ページでユーザ・セットトップ・ボックス7にダウンロードする特定のアイコンを参照することができる。このアイコンが格納されているディレクトリ・ロケーションは、ユーザ・インターフェース・サーバ31のそれぞれで異なることがある。したがって、##区切り記号内にアイコンの名前を挿入することにより、応答処理ユニット307は、そのアイコン名をそのユーザ・インターフェース・サーバ31上のそのアイコンの正しい格納場所で置き換えることができる。
【0039】
要求処理ユニット
要求処理ユニット305の主要コンポーネントの概略が図4に示されている。図からわかるように、リスニング・ユニット303から受信したユーザ要求215がまず最初にユーザ妥当性確認ユニット401に渡され、そこで受信したユーザ要求215内のユーザID 225がシステムに現在ログインしているセットトップ・ボックス7のユーザであることがチェックされる。ユーザ妥当性確認ユニット401は、ユーザ・データ・キャッシュ310に格納されているそのユーザのログイン・ステータス・ビットをチェックすることによりこの確認を行う。ユーザ妥当性確認ユニット401はさらに、ユーザ要求215内の現在のセッションID 227がそのユーザのユーザ・データ・キャッシュ310に格納されているIDと一致しているかチェックする。一致していなければ、ユーザ妥当性確認ユニット401は、そのユーザのユーザ・データ・キャッシュ310に格納されているデータをフラッシュし、ユーザ・データ・キャッシュ310を、インターフェース・ユニット313を介してデータベース39から取り出した対応するデータで更新する。
【0040】
ユーザのログイン状態に問題がある場合、ユーザ妥当性確認ユニット401は、ユーザにPIN番号の確認を要求するユーザのセットトップ・ボックス7にメニュー・ページを送り返させるためデータを応答処理ユニット307に出力する要求コントローラ403に通知する。ユーザ妥当性確認ユニット401が、ユーザが有効なユーザであることを確認すると、受信されたユーザ要求215が要求識別ユニット405に渡され、そこで、受信したユーザ要求215が有効な要求であることをチェックする。要求識別ユニット405は、アプリケーション識別子229および画面識別子231を要求データ・ストア407に格納されている要求タイプ・データと比較することによりこのチェックを行う。受信したアプリケーション識別子229および画面識別子231が要求データ・ストア407内のエントリのいずれとも一致しない場合、要求識別ユニット405が受信した要求215を要求コントローラ403に渡し、受信したユーザ要求215が無効であることを通知する。それへの応答として、要求コントローラ403は適切な応答を応答処理ユニット307に出力し、ユーザのセットトップ・ボックス7にエラー・ページを送り返す。
【0041】
この実施形態では、要求データ・ストア407に格納されているそれぞれのアプリケーション識別子229は、そのユーザ要求を処理することができるアプリケーション・サーバ30を識別するデータとともに格納される。したがって、要求識別ユニット405が要求データ・ストア407内にエントリを持つ受信したユーザ要求215のアプリケーション識別子229と一致した場合、ユーザの要求を処理することができるアプリケーション・サーバ30を識別する対応するデータを取り出して、そのユーザ要求215をこのアプリケーション・サーバ・データとともに要求コントローラ403に転送する。
【0042】
有効なユーザ要求215を要求識別ユニット405から受信すると、要求コントローラ403は、ユーザ・インターフェース・サーバ31がHTMLキャッシュ309−1またはそうでなければXMLキャッシュ309−2に格納されているデータからの要求215を処理できるかどうかをチェックする。要求コントローラ403は、ユーザの要求を処理するために必要な情報がこれらのキャッシュのいずれかに格納されていると判断した場合、キャッシュから適切なHTMLファイルまたはXMLファイルを取り出して、直接、応答処理ユニット307に受け渡す。ユーザの要求を処理するために必要な情報がXMLキャッシュ309−2にしか格納されていない場合、要求コントローラ403はさらに、XMLファイルを適切なHTMLファイルに変換するために使用しなければならない適切なスタイル・シート・クラスを識別する。この実施形態では、要求コントローラ403は、XMLファイルを適切なスタイル・シート・クラスに関連付けるハード・ディスク315に格納されているファイルから使用すべきスタイル・シート・クラスを識別してこのデータを取得する。
【0043】
要求コントローラ403は、キャッシュ内に適切なHTMLファイルまたはXMLファイルを見つけられない場合、ユーザの要求215がユーザ・ログイン、エラー、アラート、ユーザのお気に入り、ユーザ検索などのシステム共通機能に関係があるかどうかを確認する。関係があれば、ユーザの要求215は、後述のように、必要な共通機能を実行する共通機能プロセッサ311に渡される。
【0044】
この実施形態では、要求コントローラ403は、受信したユーザ要求215がアプリケーション・サーバ30に転送されると判別した場合、転送の前に、まず、ユーザ要求215を要求書式設定ユニット409に渡す。要求書式設定ユニット409は、要求を処理するアプリケーション・サーバ30で必要になるユーザ・データ・キャッシュ310から追加ユーザ情報を取り出す。この実施形態では、各アプリケーション・サーバ30が必要とする追加情報は、要求書式設定ユニット409内であらかじめプログラムされている。たとえば、各アプリケーション・サーバ30では、要求されたサービスまたはコンテンツをそのユーザに提供する前に異なるユーザIDおよびパスワードが必要になることがある。この場合、要求書式設定ユニット409は適切なユーザIDおよびユーザ・パスワードをユーザ・データ・キャッシュ310から取り出し、ユーザ要求215に追加する。要求書式設定ユニット409は、さらに、ユーザの年齢、ユーザが使用しているセットトップ・ボックス7のタイプ、ユーザが所有するテレビ5のタイプ、ユーザの電子メール・アドレス、ユーザの好ましい言語およびその他のユーザ・プリファレンスなど他の情報を追加することもできる。要求書式設定ユニット409は、適切な情報をユーザ要求215に追加した後、処理済みのユーザ要求を要求コントローラ403に返し、要求コントローラはインターフェース・ユニット313を介してその処理されたユーザ要求を適切なアプリケーション・サーバ30に転送する。
【0045】
この実施形態では、要求コントローラ403は、ユーザ妥当性確認ユニット401または要求識別ユニット405のいずれかからユーザ要求215を受信するごとに、要求215をユーザ、要求されたリソース、時刻、発生したエラー情報などの詳細とともにユーザ要求ログ411内に記録する。その後、この情報は、ときにより、行われたすべての要求を監視しそれに応じてユーザ・プロファイルを修正する管理および請求書作成サーバ29に渡される。
【0046】
共通機能プロセッサ
上述のように、ユーザ・インターフェース・サーバ31は共通機能プロセッサ311を使用して、2つまたはそれ以上のアプリケーション・サーバ30で必要になるであろうユーザ要求215に対し処理機能を実行する。そのため、アプリケーション・サーバ30にこれらの機能を別々に実装する必要がなくなる。ユーザ・インターフェース・サーバ31内にこれらの共通機能を実装する他の利点として、機能を定義するソフトウェアをいったん作成してしまえば、現在のアプリケーション・サーバ30およびシステム1に追加することができる将来のアプリケーション・サーバ30で使用することができるという点があげられる。以下では、共通機能プロセッサ311がこの実施形態で実行できる共通機能について説明する。
【0047】
エラー
共通機能の1つでは、エラー処理メカニズムをユーザ・インターフェース・サーバ31に実装する。このエラー共通機能を使用することで、アプリケーション・サーバ30はユーザ・インターフェース・サーバ31によって書式設定できるエラー・コードを、エラー・メッセージの送り先のユーザ用の適切なエラー・ページに返すことができる。要求されたアプリケーション・サーバ30がエラー・コードを応答処理ユニット307に返すと、エラー・コードは共通機能プロセッサ311内のエラー共通機能に渡され、このプロセッサはユーザに表示するエラー・メッセージを識別する適切なXMLファイルを返す。応答処理ユニット307は、次に、このXMLファイルと適切なスタイル・シート(上で説明したように)とを組み合わせ、ユーザ・セットトップ・ボックス7にダウンロードするための適切なHTMLエラー・ページを生成する。異なるエラー・メッセージ・スタイル・シートおよび上述の可変スワッピング手法を使用することにより、ユーザ・インターフェース・サーバ31は異なるユーザ・グループ(たとえば、言語、年齢別のグループなど)に対して異なるエラー・ページを生成することができる。
【0048】
エラー・コードのいくつかの例および対応するメッセージを以下の表にまとめた。
【表1】
【0049】
アラート
この実施形態では、ユーザが別のアプリケーション・サーバ30(テレビ放送サーバ27など)を使用しているときに、アプリケーション・サーバ30(メール・サーバ19など)の1つに注意することが必要であることをユーザに通知する場合に使用するアラート共通機能が用意されている。このアラート共通機能は、たとえば、ユーザに新しい電子メール・メッセージが届いたことを知らせるアラート、お気に入りのテレビ番組が現在別のチャンネルで放送されていることを知らせるアラート、ユーザはお気に入りのテレビ番組を見逃しても、いまテレビを見たければ録画してあるということを知らせるアラートなど種類のアラートを発生するのに使用することができる。アラート機能はさらに、テレビ番組またはビデオの再生中に番組またはビデオに関する追加情報が得られるということをアドバイスする場合にも使用することができる。たとえば、追加情報を、番組または映画に関する追加情報が得られるまたは映画に関係する商品を購入できる電子商取引サイトにリンクすることもできる。この実施形態では、ユーザごとにアラート共通機能をプログラムできるため、ユーザはアラートを受け取りたくない場合には何も受け取らないようにできる。
【0050】
アラート共通機能は、データベース39内のアラート・テーブル(図に示されていない)を使用して動作するように設計されている。アプリケーション・サーバ30が特定のユーザにアラートを送りたい場合、データベース39のアラート・テーブル内に、アラート・タイプ、ユーザID、アラート・メッセージ、およびユーザが向かう先のリンクを書き込む。アラート・テーブルに新しいアラートが追加されると、これもまた新規としてマークされる。アラート共通機能311は、定期的にデータベース39のアラート・テーブルを処理し、新しいユーザ・アラートがないか確認し、だれを対象としたものかを調べる。新しいアラートが見つかった場合、アラート共通機能は、応答処理ユニット307にアラートを適切なユーザ・セットトップ・ボックス7に送信させる適切なXMLファイルを出力する。さらに、アラート共通機能311は、アラートが送信されたことを示す確認メッセージをデータベース39に書き込む。
【0051】
この実施形態では、アラート・メッセージを受け取ったときにセットトップ・ボックス7が現在テレビ・チャンネルを表示しているか、またはビデオを再生している場合、セットトップ・ボックス7のWebブラウザ203はテレビ画面にオーバーレイするシンボルを生成する。ユーザが所定の期間が経過した後アラートをアクノリッジしない場合、Webブラウザ203は、画面からシンボルを削除する。ユーザがアラートに応答すると、Webブラウザ203はテレビ画面にアラートの詳細を表示する。その後、ユーザはアラートを無視するか、またはアラートに関連するリンクにジャンプすることができる。
【0052】
しかし、アラート・メッセージが届いたときにセットトップ・ボックス7が現在メニュー画面をユーザに対して表示している場合、この実施形態では、アラート・シンボルはメニュー・フレームの左側に表示される。ここでもまた、ユーザはアラートを無視するか、またはユーザはそれを選択して、そのアラートが何であるかを判別し、そのアラートと関連するリンクにジャンプするかどうかを決定することができる。当業者であれば理解するであろうが、ユーザがメニュー・ページをスクロールしている場合、Webブラウザ203では、アラート・シンボルが連続するメニュー・ページに表示されるときに、ユーザにシンボルを確認する余裕を与えるようにしなければならない。そうしないと、アラーム・シンボルは、次回メニュー・ページがユーザ・インターフェース・サーバ31からダウンロードされるときに上書きされる。
【0053】
当業者であれば理解するであろうが、このようなアラート共通機能がユーザ・インターフェース・サーバ31に用意されていないと、それぞれのアプリケーション・サーバ30はそれぞれのユーザ・セットトップ・ボックス7で直接、そのようなメッセージング・システムを管理しなければならなくなる。しかし、メニュー・ページはすべて、ユーザ・インターフェース・サーバ31により生成されるため、アラート・メッセージの発生を指示したアプリケーション・サーバ30に関係なく、アラートを発生させ、次の外へ向かうメニュー・ページをユーザに送ることができる。
【0054】
ログイン
ログイン共通機能が共通機能プロセッサ311に備えられている。この共通機能を使用して、システムへの新規ユーザのログインおよびログアウトを行う。アプリケーション・サーバ30は、さらに、ログイン共通機能をトリガすることで、たとえば、ユーザがアイテムを購入するときにユーザの素性を確認することができる。ログイン機能では、ユーザが入力したユーザPIN番号をデータベース39に格納されているユーザPIN番号と比較することによりユーザの妥当性を確認する。
【0055】
新規ユーザがシステム1にログインすると必ず、ログイン共通機能はさらに、データベース39に格納されるそのユーザに対する新しいセッションID 227を生成する。ログイン共通機能は、また、すでにログインしているユーザに合わせてデータを修正し、ログアウトしたことを示す。ユーザ・データ・キャッシュ310に格納されているユーザ・データが最新状態に保たれるようにするために、ログイン共通機能はさらに、データベース39からユーザ・データ・キャッシュ310を定期的にリフレッシュする。さらに、データベース39内でユーザのログイン・ステータスが更新されると、データベースによりすべてのユーザ・インターフェース・サーバ31のユーザ・データ・キャッシュ310内の適切なユーザ・データの更新がトリガされる。ユーザ・データ・キャッシュ310をリフレッシュするこの二重のプロセスにより、システム1全体にわたってユーザのログイン・ステータスの変化が反映される。
【0056】
この実施形態では、ログイン共通機能はシステム1が備える親コントロールも制御する。特に、ログイン共通機能では、受信契約保有者は同じセットトップ・ボックス7の他のユーザが表示することができるビデオ、テレビ・チャンネル、およびコンテンツに関する決まりを定めることもできる。ログイン共通機能のこのサブコンポーネントにより、データベース39内の親コントロール設定に変更を加えることができ、後でアプリケーション・サーバ30は、ユーザが関係する要求を出したときにその設定を使用する。このようにして、アプリケーション・サーバ30は、ユーザの年齢および親コントロール設定などに応じて返されるコンテンツまたはサービスを手直しすることができる。
【0057】
当業者であれば理解するであろうが、セットトップ・ボックス7ではなく、ユーザ・インターフェース・サーバ31でログイン共通機能および親コントロール共通機能を実行することで、ユーザがハックしてシステム設定を変更することができないため、システム・セキュリティが向上する。
【0058】
お気に入り
この実施形態では、共通機能プロセッサ311は、さらに、それぞれのユーザの個人のお気に入りをデータベース39内のお気に入りテーブル(図に示されていない)の1つの場所に保持し格納するように設計されているお気に入り共通機能も備える。たとえば、ユーザがあるテレビ番組をお気に入りとしてマークした場合、お気に入り共通機能により、この情報がデータベース39に格納され、この情報は、アプリケーション・サーバ30により使用することができる。お気に入り共通機能は2つの主要なルーチン、1つはお気に入りをデータベース39内のお気に入りテーブルに追加するルーチンと、データベース39内のお気に入りテーブルからお気に入りを表示するルーチンを備える。
【0059】
検索
共通機能プロセッサ311が備える他の共通機能として、異なるアプリケーション・サーバ30でコンテンツおよび/またはサービスをユーザが検索できるように設計されている検索共通機能がある。たとえば、検索共通機能を呼び出して、特定の役者と関係のあるすべてを見つけ出し、その結果をユーザに返すことができる。この実施形態では、検索共通機能を呼び出すと、(ユーザが検索文字列を入力できる)テキスト・ボックスを備えるメニュー・ページがユーザ・セットトップ・ボックス7にダウンロードされる。この実施形態では、さらに、さまざまな検索オプションを選択することにより、検索を、番組タイトル、役者、ディレクタ、番組カテゴリ、番組説明、またはこれらのどれかに絞り込むこともできる。このメニュー・ページに対するユーザの応答を受け取ると、検索共通機能は、各アプリケーション・サーバ30の検索を呼び出し、その結果を組み合わせて、ユーザがスクロールして選択することができる統一された検索結果集合としてユーザに送り返す。それとは別に、検索をアプリケーション・サーバ30のうち1つだけまたは2、3に制限することもできる。
【0060】
応答処理ユニット
上述のように、応答処理ユニット307の目的は、次のメニュー・ページをユーザ・セットトップ・ボックス7にダウンロードするのに適した個人化されたHTMLファイルを生成することである。図5は、この実施形態で使用している応答処理ユニット307の主要コンポーネントの詳細を示している。図からわかるように、応答処理ユニット307は、インターフェース・ユニット313を介してアプリケーション・サーバ30の1つから、または共通機能プロセッサ311上で実行されている共通機能のうちの1つから、またはユーザの要求215をXMLキャッシュ309−2に格納されているデータから処理できると要求処理ユニット305が判別した場合に応答処理ユニット305からXMLファイルを受信する応答コントローラ501を備える。応答コントローラ501は、さらに、HTMLキャッシュ309−1に格納されているデータからユーザの要求215を処理することができると要求処理ユニット305が判断した場合、要求処理ユニット305からHTMLファイルを受信することもできる。
【0061】
この実施形態では、アプリケーション・サーバ30から受け取った各XMLファイルは、XML内でキャッシュ可能であることおよびキャッシュ可能な期間を示すデータとともに返される。返されたXMLファイルは、XMLファイルが関連付けられているユーザを識別するデータも含む。上述のように、この実施形態では、アプリケーション・サーバ30から受信するXMLファイルは、本質的にジェネリックであるように設計されており、他のユーザからの同じメニュー・ページ要求を処理するために使用することができる。上述のように、XMLファイルは、さらに、ユーザ・インターフェース・サーバ31に対してもジェネリックである。この実施形態では、応答コントローラ501は、アプリケーション・サーバ30から受け取ったジェネリックなXMLファイルを可変スワッピング・ユニット503に渡し、このユニットは、マシン・データ・キャッシュ505に格納されているデータを使用して、XMLファイル内のジェネリックなユーザ・インターフェース・サーバ・データをXML態度を処理する特定のユーザ・インターフェース・サーバ31の特定のデータでスワップする。可変スワッピング・ユニット503は、次に、修正されたXMLファイルを応答コントローラ501に返し、XMLキャッシュ309−2内にキャッシュする。
【0062】
応答処理ユニット307は、さらに、適切なスタイル・シートに従って、受信したXMLファイルをHTMLファイルに変換するXSLT変換ユニット507も備える。受信したXMLファイルを変換するために使用する特定のスタイル・シートが応答コントローラ501により決定される。特に、アプリケーション・サーバ30から受信したXMLファイルは、使用するスタイル・シートのクラスを識別するデータを含む。応答コントローラ501は、ユーザが所有するセットトップ・ボックス7のタイプおよびその他のユーザ設定を識別するユーザ情報をユーザ・データ・キャッシュ310から取り出し、この情報を使用して、受信したXMLファイルをメニュー・ページを記述するHTMLファイルに変換する際に使用するスタイル・シートの識別されたクラスから正確なスタイル・シートを判別する。応答コントローラ501は、次に、受信したXMLファイルをXSLT変換ユニット507に渡し、XSLTキャッシュ309−3からXSLT変換ユニット507に正しいスタイル・シートを渡す。
【0063】
上述のように、この実施形態では、スタイル・シートすべてがXSLTキャッシュ309−3からこの前処理形式で格納されるわけではない。特に、最も一般的なスタイル・シートのみが、XSLTキャッシュ309−3内にこの形式で格納される。残りのスタイル・シートは、ハード・ディスク315内にそのネイティブ形式で格納される。したがって、応答コントローラ501は、XSLTキャッシュ309−3内に必要なスタイル・シートが格納されていないと判断した場合、ハード・ディスク315からXSLT変換ユニット507に必要なスタイル・シートを渡すようにする。変換プロセスの実行時に、XSLT変換ユニット507は、スタイル・シートに対して適切な前処理を実行し、その後XMLファイルと組み合わせて、必要なHTMLファイルを生成する。この実施形態では、XSLT変換ユニット507は、さらに、万が一同じユーザからの要求を後から再び処理する必要が生じた場合のために、この前処理済みスタイル・シートをXSLTキャッシュ309−3に、所定の期間、または別の前処理済みスタイル・シートで上書きされるまで、格納しておく。
【0064】
図5に示されているように、XSLT変換ユニット507によって生成されるその結果のHTMLファイルは、可変スワッピング・ユニット503に渡され、そこで、マシン・データ・キャッシュ505からのユーザ・インターフェース・サーバ定数がスワップインされ、得られたHTMLページがHTMLキャッシュ309−1内に格納される。可変スワッピング・ユニット503は、さらに、HTMファイル内のユーザ##変数をユーザ・データ・キャッシュ310から取り出した特定のユーザ・データで置き換える。このようにして、生成されたHTMLファイルは要求を行ったユーザに対して、たとえば、メニュー・ページの背景色画面を変更したり、ユーザの名前をページに追加したりすることなどにより個人化される。次に、可変スワッピング・ユニット503は、この個人化されたHTMLファイルをインターフェース・ユニット301に出力し、それ以降の適切なユーザ・セットトップ・ボックス7への送信に使用する。
【0065】
上の説明では、アプリケーション・サーバ30の1つからXMLファイルを受信したときの応答処理ユニット307の動作を説明している。ユーザ・インターフェース・サーバ31がXMLキャッシュ309−2内のデータからユーザ要求を処理できると要求処理ユニット305側で判別した場合に、類似の手順が実行される。しかし、ユーザ要求をHTMLキャッシュ309−1に格納されているHTMLファイルから処理できると、要求処理ユニット305が判断した場合、要求処理ユニット305から応答コントローラ501に供給されるキャッシュ済みHTMLファイルは直接可変スワッピング・ユニット503に渡され(XSLT変換ユニット507をバイパスする)、そこでユーザ・データ・キャッシュ310からの適切なユーザ##変数がスワップインされ、個人化されたHTMLファイルが同じようにしてユーザに出力される。
【0066】
上述のように、アプリケーション・サーバ30は適切な命令を送り、共通機能のうちの1つをトリガすることができる。この場合、応答コントローラ501は共通機能プロセッサ311内の適切な共通機能をアクティブにし、そこからXMLファイルを再び受け取る。たとえば、アプリケーション・サーバ30は現在のユーザのPINの要求をトリガすることができる。この場合、応答コントローラ501は、ログイン共通機能をアクティブにし、これにより、ログイン・メニュー・ページを生成するための適切なXMLファイルを生成する。ユーザから返されたPIN番号が正しくない場合、要求処理ユニット305はユーザに適切なエラー・ページをダウンロードするのをトリガすることができる。ユーザが最終的に確認されると、要求処理ユニット305は適切な確認をアプリケーション・サーバ30に返すので、アプリケーション・サーバは元のユーザ要求に応答することができる。
【0067】
アプリケーション・サーバ
アプリケーション・サーバ30は、ユーザ・インターフェース・サーバ31から、要求を実行するために必要であった共通機能から生成されたユーザ詳細および情報とともにユーザ・クエリを受信する。アプリケーション・サーバ30は、受信した要求およびデータを処理し、データベース39から要求に関連するデータを取り出すことによりユーザの要求されたサービスまたはメニュー・ページを配信する動作をする。システム1のパフォーマンスを最適にし、データベース39に対するクエリを制限するという目標を達成するために、アプリケーション・サーバ30は、この実施形態では、効率的なキャッシングを利用するようにも設計されている。
【0068】
図6は、アプリケーション・サーバ30の1つの主要コンポーネントを説明する概略ブロック図である。このブロック図は、一般的な形で示されており、すべてのアプリケーション・サーバ30に適用することができる。図からわかるように、アプリケーション・サーバ30は、アプリケーション・サーバ30とユーザ・インターフェース・サーバ31とのインターフェースであるUISインターフェース・ユニット601を備える。UISインターフェース・ユニット601は、アプリケーション要求処理ユニット603に渡されるユーザ・インターフェース・サーバ31により与えられる追加ユーザ情報とともにユーザ要求215を受信する動作が可能である。アプリケーション要求処理ユニット603は受信したデータを処理して、(i)要求を拒絶するかどうか、(ii)ユーザ要求が結果キャッシュ605に格納されているデータに対して応答できるかどうか、または(iii)ユーザ要求をアプリケーション・プロセッサ607に転送するかどうかを判別する。特に、この実施形態では、アプリケーション要求処理ユニット603は、受け取ったそれぞれのユーザ要求がそのアプリケーション・サーバ30に対するものであるかどうかを確認する。これは、そのアプリケーション・サーバ30と関連付けられているアプリケーション識別子とともにユーザ要求215の一部を形成するアプリケーション識別子229をチェックすることにより行う。これらの識別子が異なる場合、アプリケーション要求処理ユニット603はユーザ要求を拒絶し、適切なエラー・コードをユーザ・インターフェース・サーバ31に返す。
【0069】
上述のように、アプリケーション・サーバ30は、メニュー・ページ内に挿入する情報を記述するXMLファイルを生成する。これらのXMLファイルは、本質的にジェネリックな設計であり、ユーザ・インターフェース・サーバ31のどれでも処理することができ、また他のユーザから受信したユーザ要求を処理するためにも使用することができる。この実施形態では、前のユーザ要求に対して生成されたXMLファイルは、所定の期間の間、結果キャッシュ605内に格納される。したがって、アプリケーション要求処理ユニット603は、有効なユーザ要求を受信すると、結果キャッシュ605内に格納されているXMLファイルをチェックし、ユーザ要求に応答するためのXMLファイルがこのキャッシュ内に格納されているかどうかを判別する。格納されている場合、アプリケーション要求処理ユニット603は、結果キャッシュ605からXMLファイルを取り出し、そのユーザ要求を送信したユーザ・インターフェース・サーバ31に返す。アプリケーション要求処理ユニット603は、さらに、このXMLファイルがキャッシュ可能であること、およびキャッシュ可能な期間をユーザ・インターフェース・サーバ31に通知する。XMLファイルは、さらに、要求を行ったユーザを識別するデータとともに返される。この実施形態では、アプリケーション要求処理ユニット603は、さらに、生成されたよりジェネリックなXMLファイルを他のユーザ・インターフェース・サーバ31に渡すが、これもまた、キャッシュ可能であること、およびキャッシュ可能な期間を示し、これらの他のユーザ・インターフェース・サーバ31はそれに応じてXMLキャッシュ309−2を更新することができる。
【0070】
アプリケーション要求処理ユニット603は、結果キャッシュ605に格納されているすでに生成されているXMLファイルからのユーザ要求を処理できないと判断した場合、ユーザ要求215およびユーザ・インターフェース・サーバ31から受信した他の情報をアプリケーション・プロセッサ607に渡す。この実施形態では、ユーザが要求しているサービスおよび/またはメニュー・ページを判別するのは、アプリケーション・プロセッサ607である。アプリケーション・プロセッサ607は、受信したユーザ要求215の一部を形成する画面識別子231とメニュー・ロジックおよびデータ・ストア609に格納されているデータを使用してこれを行う。特に、メニュー・ロジックおよびデータ・ストア609は、次のメニュー・ページに表示する情報を定義する使用可能な画面識別子のそれぞれと関連付けられたデータをそのページ上で実行できるユーザ選択を定義するメニュー・ロジックとともに格納する。したがって、アプリケーション・プロセッサ607は、ユーザ要求を受信すると、受信したユーザ要求215の一部を形成する画面識別子231を識別し、ストア609から適切なデータおよびメニュー・ロジックを取り出す。次に、アプリケーション・プロセッサ607は、取り出したデータおよび要求とともに受信したユーザ・データを処理し、要求に応答するためにどのような情報が必要かを判別し、データベース39からその情報を取り出す必要があるかどうかを判断する。アプリケーション・プロセッサ607は、データベース39にクエリを実行する必要があると判断した場合、まず、データベース(DB)キャッシュ611と、データベース39に送信されるデータに対する前の要求の結果を格納するジェネリックなクエリ・キャッシュ613をチェックする。必要な情報がこれらのキャッシュ内に格納されていない場合、アプリケーション・プロセッサ607は適切なデータベース・クエリの書式を整え、データベース・インターフェース・ユニット615を介してデータベース39に出力する。アプリケーション・プロセッサ607は、データベース39から未処理のデータベース・データ(ユーザのお気に入りテーブルなど)を受け取ると、DBキャッシュ611内に格納する。アプリケーション・プロセッサ607は、次に、返されたデータベース・データを処理して、ユーザに返すのに適した形式で要求された情報(特定のユーザのお気に入りなど)を取得するが、これは、ジェネリックなクエリ・キャッシュ613に格納されている。
【0071】
この実施形態では、データベース・キャッシュ611は、アプリケーション・サーバ30によって最も頻繁に使用されるデータを格納し、定期的にまたはデータベース39によってトリガされたときにリフレッシュされる。データベース・キャッシュ611に格納されているデータがこのようにして更新される場合、アプリケーション・プロセッサ607は、さらに、データを処理し直して、ジェネリックなクエリ・キャッシュ613内のデータをリフレッシュする。こうして、これらのキャッシュ内のデータは、最新状態に保たれ、その後受信するユーザ要求に応答することができる。
【0072】
アプリケーション・プロセッサ607は、ユーザ要求に応答するための関連する情報を取得した後、その情報を適切なメニュー・ロジック(ユーザ選択およびそのリンクなどを定義する)とともにアプリケーション要求処理ユニット603に送り返す。次に、アプリケーション要求処理ユニット603は、情報とメニュー・ロジックを、結果キャッシュ605内に格納されるXMLファイル内にパッケージ化し、上述の方法でユーザ・インターフェース・サーバ31に返す。
【0073】
管理および請求書作成サーバ
管理および請求書作成サーバ29は上述のジェネリックな説明に適合しているが、システム1の範囲内の目的について詳しく説明するのが適当であろう。特に、管理および請求書作成サーバ29はユーザ請求書作成およびユーザ・プロファイリングなどのさまざまなユーザ・サービスを提供する動作が可能である。この実施形態では、管理および請求書作成サーバ29は、さらに、最初にユーザをシステム1にログオンさせ、新規ユーザ用にデータベース39内にさまざまなユーザ・プロファイルおよびユーザ・テーブルを設定する役割を持つ。この初期ログオン手順の実行時に、ユーザは管理および請求書作成サーバ29にユーザの年齢、パスワード、電子メール・アドレス、支払い限度額、ユーザ名、WWWホーム・ページ、検索ページ、ユーザ言語、国名などの詳細を入力する。管理および請求書作成サーバ29は、次に、データベース39内に必要なユーザ・テーブルを作成し、そして、システム1内のさまざまなキャッシュの中のユーザ・データの更新をトリガし、新規ユーザを受け入れる必要がある。
【0074】
管理および請求書作成サーバ29は、さらに、異なるユーザによる請求書支払いを追跡し、支払いが行われない場合にサービスまたはコンテンツのユーザへの提供をブロックする役割も持つ。
【0075】
この実施形態では、ユーザは、ユーザ・インターフェース・サーバを介して管理および請求書作成サーバ29によって保持されるデータにアクセスし、たとえば、そのユーザが所有する未払い金額を特定したり、現在の請求期間にそのユーザによって購入された異なる映画を識別したりすることができる。
【0076】
請求を実行するために、管理および請求書作成サーバ29は、データベース39からユーザ請求書作成テーブル(図に示されていない)を読み込み、そこで、すべてのアプリケーション・サーバ30がさまざまなユーザに対して配信したサービスおよびコンテンツを識別するトランザクションを作成する。次に、管理および請求書作成サーバ29は、それらのサービスまたはコンテンツの適切な量を計算し、ユーザの請求書に追加する。
【0077】
この実施形態では、管理および請求書作成サーバ29は、さらに、図4に示されているユーザ要求ログ411内に格納されているユーザ・インターフェース・サーバ31によって受信される異なるユーザ要求を監視する。その後、管理および請求書作成サーバ29は、この情報を使用して、システム1の異なるユーザに対するユーザ・プロファイルを決定する。たとえば、管理および請求書作成サーバ29は、それぞれのユーザが行う要求に対してさまざまな統計処理を実行し、ユーザが好むテレビ番組またはビデオ・フィルムのタイプの識別を試みることができる。このユーザ・プロファイル情報をデータベース39に格納しておき、たとえば、電子番組ガイド・サーバ21によって使用することができる。特に、EPGサーバ21はこのユーザ・プロファイル情報を使用して、ユーザが見たい番組に関する提案をユーザに対して行うことができる。テレビ放送サーバ27もこの情報を使用することで、番組を選択して録画し後で再生することができる。この機能を実現するためにBTVサーバ27内で必要になる記憶領域の量を考えると、このサービスをユーザ全員に提供することはできない。たとえば、「ゴールド受信契約」ユーザにのみこのサービスを提供し、見逃した番組を見られるようにすることもできる。
【0078】
データベース
データベース39とは、すべてのユーザの詳細、トランザクション、およびアプリケーション・データが格納されるシステム1の単一の領域のことである。データベース39は、このデータを保持し、制御された方法でこれをアプリケーション・サーバ30に配信する役割を持つ。データベース39は、さらに、データベース39内のデータに変更があったときにそのことをアプリケーション・サーバ30およびユーザ・インターフェース・サーバ31に通知し、サーバの内部キャッシュが更新されるようにする必要がある。
【0079】
図7は、データベース39内の主要コンポーネントを説明するブロック図である。図からわかるように、データベース39はデータベース39とアプリケーション・サーバ30およびユーザ・インターフェース・サーバ31とのインターフェースとなる動作をするサーバ・インターフェース・ユニット701を備える。これらのサーバから受け取ったデータベース・クエリがデータベース・プロセッサ703に渡されると、データベース・テーブル705のデータが処理され、クエリに応答する。図7に示されているように、データベース・テーブル705は異なるアプリケーション・サーバ30について関連するデータを格納する多数のアプリケーション・テーブル707を備える。たとえば、これらのテーブルには、番組ガイド一覧を生成するためEPGサーバ21によって使用される電子番組ガイド・データが格納される。データベース・テーブル705はさらに、アプリケーション・サーバ30およびユーザ・インターフェース・サーバ31によって使用されるさまざまなユーザ情報および詳細を格納するユーザ・テーブル709も含む。たとえば、この情報には、ユーザ名、ユーザの家族名、ユーザ・ステータス、ユーザ・ログイン名、ユーザ・ログイン・パスワード、ユーザ・ログインPIN、ユーザ電子メール・アドレス、ユーザのお気に入り、ユーザ言語、ユーザの色、ユーザの国などが含まれる。データベース・テーブル705には、ユーザ・アカウント情報、請求書作成情報、および購入品目の詳細などを格納するためのユーザ詳細テーブルも含まれる。最後に、ユーザ・データベース・テーブル705は、さらに、データベース・テーブル705内のデータの一部を処理するためにアプリケーション・サーバ30またはユーザ・インターフェース・サーバ31からの要求により呼び出すことができる一組のストアド・プロシージャ713も含む。たとえば、ストアド・プロシージャを使用してテレビ放送サーバ27から利用できるすべてのチャンネルの番組一覧を提供する電子番組ガイドを処理し、TVチャンネルの選択で現在再生されている番組を決定することができる。
【0080】
アプリケーション・サーバ30から受け取ったクエリに応答することのほかに、データベース・プロセッサ703は、さらに、さまざまなサーバにトリガを送信する動作をすることが可能であり、それらのサーバ内のキャッシュをリフレッシュすることができる。特に、アプリケーション・サーバ30またはユーザ・インターフェース・サーバ31がデータベース・テーブル705にデータを書き込む場合、データベース・プロセッサ703は適切なトリガを発生し、システム1内の他のサーバに出力することで、キャッシュの関連する部分を更新することができる。このようにして、データベース・プロセッサ703は、システム1内のキャッシュされたデータの同期を制御することができる。
【0081】
上では、ユーザがユーザ・インターフェース・サーバ31を介して多数のリモート・サーバ30からサービスおよびコンテンツにアクセスできるようにするシステムについて説明した。ユーザは、ユーザ・インターフェース・サーバ31内にメニュー画面が生成され、ユーザのセットトップ・ボックス7にダウンロードされるメニューベースのユーザ・インターフェースを介してそれらのサービスおよびコンテンツにアクセスすることができる。この実施形態で使用するメニューベースのユーザ・インターフェースについて説明する。
【0082】
ユーザ・メニュー・システム
図8は、この実施形態で使用するメニューベースのユーザ・インターフェースの一般的な動作を説明する機能を示す流れ図である。通常、ユーザは、メニュー・システムに入る前に、ビデオ・ストリーム(ステップs1)またはテレビ放送番組(ステップs3)を見ている。メニュー・システムにアクセスするため、ユーザはリモート・コントロール9またはキーボード11のメニュー・キーを押す(ステップs5で)。特に断りのない限り、以下の説明では、ユーザはリモート・コントロール9を使用してメニュー・システムをナビゲートすると仮定する。
【0083】
図9は、この実施形態で使用しているリモート・コントロール9の概略図である。図からわかるように、リモート・コントロール9は、メニュー・キー901、上矢印キー903、下矢印キー905、左矢印キー907、右矢印キー909、および3つのファンクション・キー911−1、911−2、911−3を備える。リモート・コントロール9は、従来と同様の動作であり、ユーザがキーの1つを押すと、対応するリモート・コントロール信号915が発生し、セットトップ・ボックス7に送信され、セットトップ・ボックスはその信号を受信して、押されたキーを判別する。
【0084】
図8に戻ると、ステップs5で、ユーザがビデオ・ストリームまたはテレビ放送番組を見ている間にメニュー・キー901を押すと、ステップs7でメイン・メニューがテレビ5に表示される。実際、この実施形態で生じるのは、ユーザがメニュー・キー901を押したときに、セットトップ・ボックス7がメイン・メニュー画面に対してユーザ要求を発生することである。この要求はユーザ・インターフェース・サーバ31に送信され、そこでローカル・キャッシュ309からメイン・メニュー画面が生成される。上述のように、ユーザ・インターフェース・サーバ31は、メニュー画面をそのユーザ向けに個人化し(たとえば、ユーザの名前をメニュー画面に追加し、背景色を変更し、現在の時刻を追加するなど)、それをセットトップ・ボックス7に送り返してテレビ5に表示する。
【0085】
図10は、この実施形態で使用しているメイン・メニュー100の形式を示している。図からわかるように、メイン・メニュー100は2つの主要部分、つまり、さまざまなメニュー・カテゴリ107がユーザに対して表示される左側フレーム101とユーザが見ていたビデオまたはテレビ放送番組が再生を続ける右側フレーム103に分割される。左側フレーム101では、ユーザが受信契約しているサービス・プロバイダの名称とロゴ105を表示するための領域がフレームの1番上に配置される(この場合、Thirdspaceという名前とロゴである)。このロゴの下に、選択できる4つのメニュー・カテゴリ107−1〜107−4があり、それぞれ、関連するアイコン109−1〜109−4があり、現在選択されているカテゴリが識別されるように強調表示される。左側フレーム101はさらに、現在のユーザの名前が表示される領域111を含む。最後に、左側フレーム101の一番下に、現在時刻113および日付115が表示される。右側フレーム103では、現在のテレビ放送チャンネルの名称または表示されている映画の名称が上側部分117に表示され、テレビ番組またはビデオは中央表示領域119で再生される。このようにして、ユーザは、メニュー・キーを押す前に再生していたテレビ番組またはビデオを見続けることができる。
【0086】
リモート・コントロール9の上矢印キー903または下矢印キー905を押すことにより、ユーザは現在強調表示になっているメニュー・カテゴリ107を変更することができる。たとえば、もう一度図10に戻ると、強調表示になっている現在のメニュー・カテゴリはVideospaceカテゴリ107−2である。ユーザが上矢印キー903を押すと、Yourspaceメニュー・カテゴリ107−1が強調表示になる。
【0087】
それとは別に、ユーザが下矢印キー905を押していた場合、TVspaceメニュー・カテゴリ107−3が強調表示になる。この実施形態では、メニュー・カテゴリ107に入るために、ユーザはメニュー・カテゴリ107が強調表示になっているときにリモート・コントロール上の右矢印キー909を押す。これは、図8のステップs9に示されている。図8に示されているように、結果は、その時に強調表示されていたメニュー・カテゴリ107に応じて、ステップs11のTVspaceメニュー、ステップs13のVideospaceメニュー、ステップs15のYourspaceメニュー、またはステップs17のOpenspaceメニューの表示である。
【0088】
この実施形態では、TVspaceカテゴリ107−3では、ユーザはテレビ放送サーバ27によって提供されるサービスおよびコンテンツにアクセスすることができ、Videospaceカテゴリ107−2では、ユーザはビデオ・サーバ15によって提供されるサービスにアクセスすることができ、Yourspaceカテゴリ107−1では、ユーザはWebサーバ25を介してWorld Wide Webに、電子メール・サーバ19を介して電子メールに、管理および請求書作成サーバ29を介してアカウント情報にアクセスすることができ、Openspaceメニュー・カテゴリ107−4では、ユーザはショッピング・サーバ23を介してショッピング、3行広告、地域情報、およびゲームにアクセスすることができる。
次に、さまざまなこれらのメニュー・カテゴリ107について説明する。
【0089】
TVspace
上述のように、TVspace 107−3は、ユーザがテレビ放送サーバ27によって提供されるサービスおよびコンテンツにアクセスするためのユーザ・インターフェースの領域である。図11は、TVspace107−3と関連するメイン・ロジックを説明する流れ図である。「メイン・メニューを表示」ステップs7と「TVspaceメニューを表示」ステップs11は、わかりやすくするため再び示されている。この実施形態で使用しているメインTVspaceメニュー120は、図12に示されている。図10と図12との比較からわかるように、メインTVspaceメニュー120は、図10に示されているメイン・メニュー100と似たルック&フィールを持つ。特に、サービス・プロバイダのロゴ105が上側部分に表示される左側フレーム101を含む。ロゴ105の下に、メニュー・カテゴリTVspace107−3が表示され、TVspace内にいることについてユーザに確認が行われる。左側フレーム101はさらに、リモート・コントロール9上の左矢印907を押した場合に、図10に示されているメイン・メニュー100に戻ることをユーザに通知する左矢印アイコン122を含む。このオプションは、図11の流れ図のステップs12に示されている。現在のユーザも、現在の時刻113および日付115とともに左側フレーム101の111で識別される。
【0090】
TVspaceメイン・メニュー120の右側フレーム103は、現在のテレビ番組またはビデオ・フィルムが再生を続けるビデオ・ウィンドウ121を含む。図からわかるように、このウィンドウ121の上に、現在再生している映画またはチャンネルの名前123がユーザに表示される(この図では「Channel 5」が表示されている)。「Options」カルーセル・メニュー125はビデオ・ウィンドウ121の左に表示され、表示するテレビ番組を識別するさまざまなオプションの一覧が示される。この実施形態では、使用可能なメイン・オプションとして、ユーザが目的の番組を検索するテキスト文字列を入力するための「Search」オプション127、選択すると今日放送されている番組および現在のユーザ111がすでにお気に入りの番組として指示している番組の一覧を表示する「Today’s Favourites」オプション129、ユーザが受信契約している(そして表示することを許可されている)すべてのテレビ・チャンネルの完全な電子番組ガイド一覧を表示する「All Channels」オプション131、およびユーザがテレビ放送サーバ27から利用できるペイパービュー番組の一覧を参照することができる「Pay−Per−View」オプションがある。
【0091】
これらのメイン・オプションに加えて、TVspaceメイン・メニュー120も、ユーザごとに異なり、サービス・プロバイダによって指定されるカルーセル125オプション内でリストを表示する。この例では、選択した場合に、全電子番組ガイド・データをフィルタ処理して、受信契約者のすべてのチャンネルでコメディ番組を識別するサービス・プロバイダによって定義された「Comedy」オプション135が表示される。コメディ番組の一覧を表示するために、システムはユーザが「All Channels」オプションを選択したかのように動作するが、適切なフィルタを使ってコメディとして分類されている番組のみを識別する。当業者であれば、他のサービス・プロバイダ定義オプションも利用できることは理解するであろう。サービス・プロバイダ定義オプションに加えて、システムはユーザ・プロファイルに応じてオプションのフィルタ処理を行うことができる。たとえば、「Adult」オプションを18歳以上のユーザ向けに用意することができる。このオプションは、18歳未満のユーザについてはオプション・カルーセルから自動的に削除される。
【0092】
図12に示されているように、カルーセル125はさらに、一度にオプションのうちの1つを表示する選択ウィンドウまたはボックス137を備える。ユーザは、リモート・コントロール9の上矢印キー903または下矢印キー905を使用して(メニュー画面上に固定されたままの)選択ウィンドウ137内のさまざまなオプションをスクロールすることができる。これが可能かどうかは、それぞれオプション・カルーセル125の上と下に表示される上矢印アイコン141と下矢印アイコン143によってユーザに示される。たとえば、図13に、リモート・コントロール9の上矢印キー903を1回押した後、図12に示されるTVspaceメイン・メニュー120が示されている。図からわかるように、カルーセル125内のオプションはすべて1つ上に移動しており、「Comedy」オプション135はカルーセル125の下にラップアラウンドする。したがって、リモート・コントロール9の上矢印キー903または下矢印キー905を押すことにより、ユーザは選択ウィンドウ137内の目的のオプションの位置を決めることができる。この実施形態では、ユーザがオプション・カルーセル125を操作すると、ユーザ・インターフェース・サーバ31に更新メニュー・ページを要求せずに、Webブラウザ203によって、表示されるメニュー画面が修正される。当業者であれば、メニュー・ページを記述するHTMLファイル内に含まれるJavascript命令の制御の下でこれを行うことを理解するであろう。
【0093】
図に12に示されているように、選択ウィンドウ137は、リモート・コントロール9のファンクション・キー911−1を押すことによりアクティブにすることができる「Change User」アイコン149を含む。これは、ステップs16でファンクション・キー911−1を押すことによりTVspaceメニュー120からアクセスされる「Change User」ステップs14により図11に示されている流れ図で示されている。この「Change User」オプションについては後で説明する。
【0094】
ユーザがリモート・コントロール9の右矢印キー909を押すと、Webブラウザ203は、(現在のメニュー・ページを記述するHTMLファイルとともに送られたリンクを使用して)これを、現在選択ウィンドウ137内にあるオプションの実行を望んでいるものと解釈し、適切なメニュー・ページの要求をユーザ・インターフェース・サーバ31に送り返す。図11に示されているように、ユーザがステップs13で右矢印キー909を押すと、「Search」オプション127が選択されていた場合はステップs15で「Search」メニューが表示され、「Today’s Favourites」オプション129が選択されていた場合はステップs17で「Today’s Favourites」メニューが表示され、「All Channels」オプション131が選択されていた場合はステップs19で「All Channels」メニューが表示され、「Pay−Per−View」オプション133が選択されていた場合はステップs21で「Pay−Per−View」メニューが表示される。ユーザが「Comedy」オプション135を選択した場合、「Comedy」メニューが表示される。この実施形態では、「Comedy」オプション135は「All Channels」オプション131のフィルタ処理バージョンに対応しているため、このオプションは図11の流れ図には示されていない。
これらのユーザ・オプションの詳細について以下で説明する。
【0095】
All Channels
上述のように、「All Channels」オプション131では、ユーザは受信契約しているすべてのチャンネルの完全な電子番組ガイドを利用することができる。特に、ユーザが「All Channels」オプション131を選択した場合、セットトップ・ボックス7は、現在のユーザ用の電子番組ガイドの要求をユーザ・インターフェース・サーバ31に送る。ユーザ・インターフェース・サーバ31がそのキャッシュ309から要求されたメニュー・ページを用意できない限り、この要求は電子番組ガイド・サーバ21に渡される。その後、電子番組ガイド・サーバ21は、要求を行った現在のユーザのユーザ・プロファイル情報を使用してデータベース39内に格納されている電子番組ガイド・データのフィルタ処理を行う。このフィルタ機能により、ユーザは、受信契約していないチャンネルまたは表示することを許されていないチャンネルの番組一覧を受け取れないようになる。その後、この番組一覧情報は、ユーザ・インターフェース・サーバ31に返され、適切なHTMLファイルに整形され、ユーザのセットトップ・ボックス7にタウンロードされ、そこで適切なメニュー・ページが生成される。
【0096】
このHTMLファイルから生成される典型的な「All Channels」メニュー・ページを図14に示す。図からわかるように、「All Channels」メニュー・ページ150は、左側フレーム101と右側フレーム103を備えるという点で、図12および13に示されているTVspaceメイン・メニュー120と似たレイアウトが設定されている。ここでもまた、システムは、左側フレーム101内にサービス・プロバイダのロゴ105を表示し、その下にTVspace名107−3とロゴ109−3を表示する。左側フレーム101も、現在のユーザ111、現在の時刻113、および日付215を表示する。最後に、左側フレーム101はさらに、ユーザがリモート・コントロール9上の左矢印キー907を押して前のメニュー画面に戻ることができることを示す左矢印アイコン122を含む。このオプションは、図11の流れ図のステップs24に示されている。
【0097】
右側フレーム103では、メニュー・ページに「All Channles」というタイトルの付いているカルーセル153が配置され、ユーザはこれにより、カルーセル153が現在のユーザから利用できるすべてのチャンネルを表示していることを確認する。図14に示されているように、カルーセル153は、ユーザが受信契約をしているすべてのテレビ・チャンネルについて現在および次回放映されるものを表示することを除き、図12に示されているTVspaceメイン・メニュー120で使用されるカルーセル125に類似している。図に14に示されているように、現在表示されているチャンネルは99チャンネル、1チャンネル、2チャンネル(現在選択ウィンドウ137内にある)、5チャンネル、および23チャンネルである。上矢印アイコン141および下矢印アイコンを143により示されているように、ユーザはリモート・コントロール9上の上矢印キー903または下矢印キー905を押すことで、固定された選択ウィンドウ137内で利用可能なチャンネル(一度にすべてを表示できるわけではない)をスクロールすることができる。
【0098】
図14に示されているように、選択ウィンドウ137には「Change User」アイコン149が含まれる。上述のように、このオプションは、ユーザがリモート・コントロール9上のファンクション・キー911−1を押すことにより選択されるが、これは図11のステップs28の流れ図に示されている。このメニュー・ページからユーザを変更することができるほかに、ユーザはさらに、選択ウィンドウ137内の現在のチャンネルおよび/または番組の1つをデータベース39に格納されているお気に入りのリストに追加することもできる。このオプションは、メニュー・ページ内にお気に入りアイコン155で表され、図11では、「お気に入りを編集」ステップs34により示されており、ステップs31でファンクション・キー911−2を押すことにより「All Channels」メニュー・ページ150からアクセスできる。この「お気に入りを編集」ルーチンについては後で説明する。
【0099】
この実施形態では、図14に示されている星形アイコン157および159を使用して、2チャンネルが現在お気に入りチャンネルであることを示し、また2チャンネルの次の番組(つまり、番組2〜3)が現在のユーザのお気に入り番組リストに載っていることを示す。
【0100】
ユーザがリモート・コントロール9(図11のステップs30で表されている)上の右矢印キー909を押した場合、選択ウィンドウ137内のチャンネルの詳細番組一覧メニュー・ページが電子番組ガイド・サーバ21から取り出され、テレビ5に表示される(図11のステップs32に対応する)。図15は、2チャンネルのこの詳細な番組一覧メニュー・ページ160の形式を示している。図からわかるように、詳細メニュー・ページ160は、図13に示されているTVspaceメイン・メニュー120と同じ一般的なルック&フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。この実施形態では、ユーザが前の画面からチャンネルの1つを選択すると、そのチャンネルの詳細メニュー・ページ160を取り出すことに加えて、そのチャンネルに現在表示されているテレビ番組もストリーミングでユーザ・セットトップ・ボックス7に出力され、ビデオ・ウィンドウ121内に再生される。チャンネル123の名前も、ビデオ・ウィンドウ121の上に表示され、ウィンドウの下には、番組の名前(この場合、番組2−1)がその番組のテキスト記述161とともに表示される。
【0101】
この実施形態では、詳細な番組一覧に、次の7日間にわたる選択されたチャンネルでの番組の詳細が記述され、カルーセル163に表示される。最初は、ユーザが詳細番組一覧メニュー160に入ると、現在再生している番組が選択ウィンドウ137内に表示される。ユーザは、今日の番組と次の7日間にわたる番組をスクロールすることができる。翌日の番組が選択ウィンドウ137内に表示された場合、カルーセル163の上に示される日付が該当する日にちに変わる。さらに、「Change User」アイコン149およびお気に入りアイコン155で示されているように、ユーザのIDを変更し、選択ウィンドウ137内に現在表示されている番組をユーザのお気に入りリストに追加することができる。これらのオプションは、それぞれ、図11のステップs33およびs35で選択される。
【0102】
この実施形態では、ユーザがこの詳細メニュー・ページ160からリモート・コントロール9上の右矢印キー909を押すと、メニュー・ページがテレビ画面から削除され、現在ビデオ・ウィンドウ121内に表示されている番組が拡大し、テレビの全画面を埋める。これは、図11のステップs37およびs3に示されている。ユーザは、その後、もう一度メニュー・キー901を押して、メニュー・システムに入り直す必要がある。
【0103】
Pay−Per−View
上述のように、「Pay−Per−View」オプションを使用することにより、テレビ放送サーバ27から利用できるペイパービュー・テレビ番組および映画の一覧を参照できる。特に、ユーザが「Pay−Per−View」オプション133を選択した場合、「Pay−Per−View」メニュー・ページがテレビ5に表示され、ユーザが見ることができる。典型的な「Pay−Per−View」メニュー・ページ170が図16に示されている。図からわかるように、「Pay−Per−View」メニュー・ページ170は、図15に示されている詳細メニュー・ページ160と同じ一般的なルック&フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。
【0104】
図16に示されているように、「Pay−Per−View」メニュー・ページ170は、次の週のうちに放送されるペイパービュー番組および映画の一覧である「ペイパービュー」カルーセル173を含む。カルーセル173に一覧として示されているそれぞれのペイパービュー番組または映画では、番組または映画が表示される日付、放送される時刻、番組また映画を受信するために支払わなければならない価格が明示される。すでに購入しているPay−Per−Viewアイテムは、価格の代わりにそのアイテムの隣に表示されている購入済アイコン185により強調表示になっている。
【0105】
前のように、ユーザはリモート・コントロール9の上矢印キー903または下矢印キー905を使用して、固定された選択ウィンドウ137内のペイパービュー番組および映画をスクロールすることができる。図16に示されているように、選択ウィンドウ137の右側の「Pay−Per−View」メニュー・ページ170のテキスト領域175に、現在選択ボックス137内にあるペイパービュー番組または映画の詳細が表示される。図16に示されている説明では、これは、Movie 1が放映される時間の詳細、主演俳優および女優の詳細とともに映画の年齢格付け、映画に関するテキスト記述を含む。ユーザが選択ウィンドウ137内で別のペイパービュー番組および映画をスクロールすると、このテキスト領域175に表示されている情報も、現在選択ウィンドウ137内にある番組または映画に対応して変化する。この実施形態では、このテキスト領域175の上に、現在選択ウィンドウ137内にあるPay−Per−Viewアイテムの入力を求めるグラフィック画像が表示されるグラフィックス・ボックス177が用意される。
【0106】
「Change User」アイコン149によって示されているように、リモート・コントロール9上のファンクション・キー911−1を押すことにより「Pay−Per−View」メニュー・ページ170内のユーザを変更することができる。このオプションは、図11の流れ図のステップs41に示されている。さらに、ユーザはリモート・コントロール9上の左矢印キー907を押して、TVspaceメニュー120に戻ることができる。このオプションは、図11のステップs25に示されている。最後に、購入アイコン179により示されているように、ユーザは選択ウィンドウ137内にある現在のペイパービュー番組または映画を購入することができる。このオプションは、図11のステップs43に示されており、ユーザがファンクション・キー911−2を押すことによりアクティブになる。図11に示されているように、ユーザがペイパービュー・アイテムを購入する場合、ステップs45で、確認メッセージがユーザに対して表示される。これは図17に示されており、選択ウィンドウ137内に確認メッセージが表示されている「Pay−Per−View」メニュー・ページ170を示している。キャンセル・アイコン181および受理アイコン183により表されているように、ユーザはオペレーションをキャンセルして、図16に示されている「Pay−Per−View」メニュー・ページ170に戻るか、または選択したペイパービュー・アイテムを購入しようとしていることを受け入れることができる。この実施形態では、ユーザは,リモート・コントロール9上のファンクション・キー911−3または左矢印キー907のいずれかを押してオペレーションをキャンセルし、リモート・コントロール9上のファンクション・キー911−2を押して選択したペイパービュー・アイテムを購入しようとしていることを受け入れることができる。これらのキャンセルおよび受理のオプションはそれぞれ図11のステップs47およびs49に示されている。
【0107】
ユーザが選択したペイパービュー・アイテムを購入することを受け入れない場合、ステップs51でシステムはユーザがペイパービュー・アイテムを購入できるようにユーザ妥当性確認を実行する。ユーザの妥当性が確認されない場合、ユーザは図16に示されている「Pay−Per−View」メニュー・ページ170に戻る。しかし、ユーザの妥当性が確認されると、テレビ放送サーバ27はデータベース39内で、ユーザが選択したペイパービュー・アイテムを購入したことを示す。ペイパービュー番組または映画が現在再生されているかまたは再生する予定であれば、テレビ放送サーバ27はユーザをテレビ放送の適切なチャンネルに戻し、ペイパービュー番組または映画を受信するようにする。しかし、ペイパービュー番組または映画が将来のある時点に再生することを予定している場合、テレビ放送サーバ27はユーザを、メニュー・システムに入る前に見ていた元のテレビ放送チャンネルまたはビデオ・ストリームに戻す。
【0108】
この実施形態では、ステップs51でユーザ妥当性確認を実行するために、ユーザ・インターフェース・サーバ31では上述のログイン共通機能を使用する。このユーザ妥当性確認ルーチンの流れ図は図18に示されている。ステップs61に示されているように、ログイン共通機能が開始すると、ユーザはPIN番号の入力が求められる。これはさらに、図19に示されており、「ペイパービュー」メニュー・ページ170の選択ウィンドウ137内のPIN番号の入力を求めるプロンプト189が示される。テキスト入力ボックス191も選択ウィンドウ137内に用意され、ユーザは(キーボード11を使用して)PIN番号をそこに入力することができる。ユーザは、操作中にいつでも、リモート・コントロール9上の左矢印キー907を押すことにより購入手順をキャンセルすることができる。さらに、キャンセル・アイコン181により表されているように、ユーザは(ステップs63で)リモート・コントロール9上のファンクション・キー911−3を押すことにより操作をキャンセルすることもできる。受理アイコン195によって表されているように、ユーザは、PIN番号を入力した後、リモート・コントロール9上のファンクション・キー911−2を押すことにより(ステップs65で)受け入れる。これにより、入力されたPIN番号がユーザ・インターフェース・サーバ31に送信され、そこで、ユーザ・データ・キャッシュ310内の現在のユーザについて格納されているPIN番号と比較する。これは、図19に示されている流れ図のステップs67に対応している。
【0109】
PIN番号が正しい場合、ユーザの妥当性が確認され、妥当性確認手順は終了する。しかし、PIN番号が正しくない場合、ステップs69で、ユーザ・インターフェース・サーバ31はメニュー・ページ170を更新し、選択ウィンドウ137内に不正PINメッセージを表示し、ユーザがPIN番号を再入力するか、または操作をキャンセルするかのいずれかの選択を行えるようにする。これは、図18においてステップs71およびs73で表されている。ユーザは、PIN番号を再入力することに決めた場合、図19に示されているメニュー画面に戻り、PIN番号を再入力することができる。そうでない場合、ユーザは図16に示されている元の「Pay−Per−View」メニューに戻る。図18に示されている流れ図には表されていないが、ユーザ・インターフェース・サーバ31が購入オペレーションを中止しユーザを図16に示されている元の「Pay−Per−View」メニューに戻すまでの間にユーザがPIN番号を再入力できる回数は制限されている。
【0110】
Today’s Favourites
ユーザがTVspaceメイン・メニュー120から「Today’s Favourites」オプション129を選択した場合、表示される現在のユーザのお気に入りとしてマークされていた番組すべてを取り出す要求がユーザ・インターフェース・サーバ31に送られる。その結果がユーザに返され、適切なカルーセル(図に示されていない)内にそのユーザのために表示される。ユーザは、それらのお気に入りをスクロールして、見たい番組があるかどうかを調べることができる。図11に示されているように、このお気に入りメニュー・ページがステップs17で表示されたら、ユーザはステップs23で、リモート・コントロール9の左矢印キー907を押してTVspaceメニュー120に戻ることを選択できる。また、現在のユーザを変更するか(ステップs55によって表されている)、またはお気に入りリストからお気に入りをキャンセルする(ステップs57によって表されている)こともできる。
【0111】
Search
この実施形態では、TVspaceメイン・メニュー120またはVideospaceメイン・メニュー(以下で説明する)のいずれかから「Search]オプション127を呼び出すことができる。「Search」オプション127のオペレーションを説明する流れ図が図20に示されている。ステップs81で示されているように、ユーザは、「Search」オプションが選択ウィンドウ137内にあるときにリモート・コントロール9上の右矢印キー909を押すことにより検索メニューに入る。図21は、ステップs83で表示される代表的な「Search」メニュー2000を示している。図からわかるように、メニュー画面2000は、図12に示されているTVspaceメイン・メニュー120と同じルック&フィールを備える。同じ要素は、同じ参照番号のラベルが付けられるので、同じ説明を繰り返さない。図21に示されているように、検索カルーセル2001は検索を絞り込むさまざまな検索オプションを識別する。これらのオプションには、たとえば、個人の名前を検索するために使用できる個人オプション2003、たとえば、カテゴリ(コメディ、ドラマなど)に基づいて番組またはビデオを検索するために使用できるジャンル・オプション2005、たとえば、特定のタイプのチャンネル(たとえば、スポーツ・チャンネル)の番組を検索するために使用できるチャンネル・タイプ・オプション、たとえば特定のタイプの番組を検索するために使用できる番組タイプ・オプション2009、およびユーザ定義テキスト文字列または単語に基づいてサービスおよび/またはコンテンツを検索するために使用できる単語検索オプション211がある。
【0112】
前のメニュー画面の場合のように、ユーザは選択ウィンドウ137内の検索オプションをスクロールして、選択ウィンドウ137内に目的の検索オプションが現れたら、リモート・コントロール9の右矢印キー909を押してそのオプションを選択する。これは、図20に示されているステップs85に対応している。さらに、ステップs87およびs89に示されているように、ユーザは、「Search」メニュー・ページ2000を切り替えて、左矢印キー907を押してTVspaceメニューまたはVideospaceメニューに戻ることができる。この場合、ユーザは2つの異なるメニュー・ページに戻ることができるため、ユーザ・インターフェースサーバ31に送り返された要求により、ユーザが表示していた前の画面を識別する。
【0113】
図22に示されているように、ユーザが検索オプションの1つを選択すると、メニュー画面が切り替わり、テキスト入力ボックス2013とプロンプト2015がユーザに表示され、検索する単語の入力が求められる。これは、図20のステップs91に示されている。キャッスル・アイコン181および図22に示されている左矢印アイコン122に示されているように、ユーザは、リモート・コントロール9の左矢印キー907またはファンクション・キー911−3を押すことにより、図21に示されているメニュー・ページに戻ることができる。これは、図20のステップs93に示されている。ユーザはキーボード11を使用してテキスト入力ボックス2013内に検索単語を入力した後、リモート・コントロール9の右矢印キー909(図20のステップs95に対応する)を押して検索を実行することができる。すると、検索単語がユーザ・インターフェース・サーバ31の検索共通機能に送信され、適切なアプリケーション・サーバ30が検索されて検索結果が生成され、適切なHTMLファイルでユーザに返され、ステップs97で表示される。
【0114】
ステップs97で表示される結果ページでは、上述のものと似たカルーセル(図に示されていない)に結果が表示される。ユーザは、そのカルーセルの選択ウィンドウ内の検索結果をスクロールして、リモート・コントロール9の右矢印キー909を押すことにより選択することができる。これは、図20のステップs99に示されている。この場合、システムは、ステップs101で、要求されたタイトルを再生できるか判別する。再生できるのであれば、テレビ番組または映画がステップs103でユーザへストリーム出力される。タイトルが利用できない場合、ステップs105で、システムは結果のメニュー・ページ内に「title not available」メッセージをユーザに表示する。図20に示されているように、この段階で、ユーザはステップs107で要求をキャンセルして、ステップs97で表示されている結果メニュー・ページに戻るか、またはステップs109で、リモート・コントロール9上の適切なお気に入りファンクション・キー911を押して、要求したタイトルをそのお気に入りリストに追加することができる。ステップs111で示されているように、ユーザは、さらに、ステップs97で表示されている検索結果メニュー・ページから直接に、選択した検索結果をお気に入りリストに追加することもできる。さらに、ステップs113で表されているように、ステップs97で表示される結果メニュー・ページからユーザを切り替えることもできる。
【0115】
Change User
上述のように、メニュー画面のほとんどでは、システムに現在ログオンしているユーザを変更することが可能である。この「Change User」手順の詳細は、図23および24を参照しながら説明する。この実施形態では、メニュー・システムは、特定のメニュー・ページ内の「Change User」ボタンを押すと、ユーザが変更された後、ユーザは「Change User」ルーチンが呼び出されたメニュー・ページに戻る。この現在のメニュー・ページは、図23に示されているステップs121で表示される。
【0116】
ユーザがステップs123でリモート・コントロール9の「Change User」ファンクション・キー911を押すと、システムは現在表示されているメニュー・ページを変更し、ステップs125で「Change User」オプションを表示する。これは、図13に示されているTVspaceメイン・メニュー120について図24に示されている。図からわかるように、選択ウィンドウ137内で、システムは2021で、選択できる別のユーザの名前を表示する。この段階で、ステップs127により表されているように、ユーザは、リモート・コントロール9のファンクション・キー911−3、左矢印キー907、上矢印キー903、または下矢印キー905を押して、最初に表示されていたメニュー・ページ(この場合は、図13に示されているメニュー・ページ)に戻ることができる。それとは別に、次のユーザ・アイコン2023により表されているように、ユーザは、ファンクション・キー911−1を押して、現在のセットトップ・ボックス7と関連する異なるユーザをスクロールすることができる(たとえば、セットトップ・ボックス7を使用する家族内の別の家族一員)。これは、図23のステップs131に示されている。
【0117】
家族アイコン2025により現れているように、ユーザはさらに、現在のユーザをセットトップ・ボックス7のすべてのユーザが使用することができる家族設定にすることもできる。このオプションをアクティブにするには、ユーザがステップs133でリモート・コントロール9のファンクション・キー911−2を押す。それとは別に、ユーザは、ステップs135で、リモート・コントロール9の右矢印キー909を押すことにより2021で選択ウィンドウ137内に表示されている現在のユーザを選択することができる。この場合、ステップs51の上述のユーザの妥当性確認手順が実行される。ユーザの妥当性確認が行われるか、または家族設定が入力されている場合、ユーザ・インターフェース・サーバ31は、適切な親制御設定を行い、データベース39内の旧ユーザと新規ユーザのログイン・ステータスを変更する。ユーザ・インターフェース・サーバ31は、さらに、新規ユーザのプリファレンスに合わせて現在表示されているメニュー・ページのHTMLページを変更し、ステップs121に戻ったときに、システムが新規ユーザのプリファレンスおよびメニュー・ページの左側フレーム101内の新規ユーザの名前111にしたがって現在のメニュー・ページを表示する。
【0118】
Edit Favourites
上述のように、番組またはチャンネルをユーザのお気に入りリストに追加するために、ユーザの現在のお気に入りを編集することができる。ユーザがお気に入りオプションを起動すると、ユーザ・インターフェース・サーバ31上で動作するお気に入り共通機能プロシージャが起動される。change−user機能の場合と同様に、この実施形態では、メニュー・システムは、特定のメニュー・ページ内のお気に入りボタンを押した場合、ユーザのお気に入りリストが更新された後に、ユーザはお気に入りルーチンが呼び出されたメニュー・ページに戻る。
【0119】
図25は、「お気に入りを編集」ルーチンを説明する流れ図である。ステップs151で、ユーザがお気に入りオプションをアクティブにしたメニュー・ページが表示される。ユーザがステップs153でリモート・コントロール9のお気に入りファンクション・キーを押すと、システムはステップs155で使用可能なお気に入りオプションを表示する。この実施形態では、ユーザは現在のチャンネルまたは現在の番組をユーザのお気に入りリストに追加することができる。図25に示されているように、これらは、ステップs157でお気に入りチャンネル・キーを押すか、またはステップs159でお気に入り番組キーを押すことによりアクティブにすることができる。その後、それぞれステップs161およびステップs163でユーザのお気に入りリストに適切なチャンネル的な番組が追加される。ユーザは、お気に入りオプションが呼び出されたメニュー・ページに戻る。さらに、図25に示されているように、お気に入りオプションがステップs155で表示されると、ユーザは、ステップs165でキャンセル・ファンクション・キー、上矢印キー903、下矢印キー905、または左矢印キー907を押して前のメニュー・ページに戻ることができる。
【0120】
Videospace
上述のように、Videospace 107−2は、ユーザがビデオ・サーバ15によって提供されるビデオ映画にアクセスするためのユーザ・インターフェースの領域である。図26は、Videospace107−2と関連するメイン・ロジックを説明する流れ図である。「メイン・メニューを表示」ステップs7と「Videospaceメニューを表示」ステップs13は、わかりやすくするため再び示されている。この実施形態で使用しているメインVideospaceメニュー2050は、図27に示されている。図からわかるように、Videospaceメニュー・ページ2050は、TVspaceメイン・メニュー120と似たルック&フィールを備えており、同じ要素は同じ参照番号で参照されているため、ここでもう一度説明することはしない。図27に示されているように、Videospaceメイン・メニュー2050の左側フレーム101には、Videospaceロゴ109−2およびVideospaceの名前107−2が表示され、ユーザはVideospaceメニューが表示されていることを確認できる。
【0121】
右側フレーム103に示されているように、ダウンロードするビデオ・ファイルを識別するためのオプションをユーザに表示する「Options」カルーセル・メニュー2053が用意されている。図からわかるように、オプションには、ユーザが新しいビデオ・リリースをブラウズするために選択できる「New Titles」オプション2055、ユーザが利用可能なすべての映画をブラウズできる「All Movies」オプション2057、ユーザがすでに購入しているビデオをブラウズできる「Videoshelf」オプション2059、ユーザがビデオ・サーバは15および/またはテレビ放送サーバ27上で特定の映画を検索できる「Search Movies」オプション2061がある。図27に示されているように、Videospaceオプションはさらに、選択ウィンドウ137内に現在表示されている「Top Ten」オプション2063も含む。この「Top Ten」オプションを使用することにより、ユーザは現在のトップ・テンの映画をブラウズすることができる。この実施形態では、トップ・テン・リストを個人ユーザに合わせて個人化し、たとえば、ユーザの年齢を考慮するようにし、現在のユーザではアクセスできない映画を表示しないようにする。
【0122】
この実施形態では、Videospaceメニュー2050の「Options」カルーセル2053の右にプロモーションが表示される。この実施形態では、プロモーションには、グラフィックス・ウィンドウ177内に表示されるグラフィックが含まれ、その下には、宣伝される映画の詳細が表示されるテキスト領域175が含まれる。図27に示されている説明では、Movie Aが宣伝中であり、テキスト領域175には放映時間、年齢格付け、主演俳優および女優、映画のテキスト記述が明示される。このテキスト記述では、さらに、映画を購入する際の費用と映画を見られる期間を明記する。この実施形態では、ビデオ・サーバ15は、データベース39内に格納されているユーザ・プロファイル情報を使用して、それぞれのユーザ向けにプロモーションを個人化する。特に、ビデオ・サーバ15は、ユーザ・プロファイル情報を使用して現在のユーザが見たがっている映画のタイプを識別し、このカテゴリ内の映画を宣伝する。このようにして、ビデオ・サーバ15は、プロモーションの対象を直接現在のユーザに絞り込むことができる。
【0123】
「映画購入」アイコン2068によって表されているように、ユーザはリモート・コントロール9上のファンクション・キー911−2を押して宣伝されている映画の購入を決めることができる。これは、図26の流れ図のステップs184に示されている。この場合、ユーザは上述のユーザ妥当性確認ルーチンs51に進む。それとは別に、ユーザは、ステップs181でリモート・コントロール9の左矢印キー907を押してメイン・メニューに戻ることができる。さらに、change−userアイコン149によって示されているように、ログインしたユーザは、ステップs183でリモート・コントロール9のファンクション・キー911−1を押すことによりこのメニュー画面から変更することもできる。
【0124】
前のメニュー・ページのカルーセルの場合のように、ユーザは、リモート・コントロール9上の上矢印キー903および下矢印キー905を使用して選択ウィンドウ137内のVideospaceオプションをスクロールすることができる。目的のVideospaceオプションが選択ウィンドウ137内に現れたら、ステップs185で右矢印キー909を押して、次のメニュー・ページに進むことができる。ユーザがVideoshelfオプションを選択した場合、システムはステップs187でVideospaceメニュー・ページを表示する。ユーザが「Search Movies」オプション2061を選択した場合、システムはステップs189で「Search」メニュー・ページを表示する。ユーザが他のオプションを選択した場合、システムはステップs191で適切な「映画のリスト」メニュー・ページを表示する。
【0125】
ステップs189で実行される検索オプションは、TVspaceで実行される検索オプションと同じなので、もう1度ここで説明することはしない。「display list of films」オプションと「display Videoshelf」オプションについて、以下で詳しく説明する。
【0126】
Display List of Films
上述のように、ユーザが「New Titles」オプション2055、「All Movies」オプション2057、または「Top Ten」オプション2063を選択した場合、システムは、ビデオ・サーバ15から映画の適切なリストを取り出し、ステップs191で適切なメニュー・ページにそのリストを表示する。図28は「Top Ten」オプション2063が選択された場合に生成される「Top Ten」メニュー・ページ2080を示している。その結果生成されたメニュー・ページ2080は、Videospaceを現在表示していることを識別する左側フレーム101含み、右側フレーム103のトップ・テン映画カルーセル2081内にトップ・テンの映画のリストが表示されるという点で、図14に示されている「All Channels」メニュー・ページを似たルック&フィールを備える。図28に示されているように、このリスト内のそれぞれの映画は対応する映画と関連付けられたグラフィック2085を含む。映画の名前も、その映画の年齢格付けとともに表示される。他のカルーセルの場合のように、ユーザは、リモート・コントロール9の上矢印キー903または下矢印キー905を使用して選択ウィンドウ137内のトップ・テン・リスト内の映画をスクロールすることができる。
【0127】
change−userアイコン149によって示されているように、ユーザは、ステップs199でリモート・コントロール9のファンクション・キー911−1を押すことによりこのメニュー・ページから上述のchange−userプロシージャを起動できる。ユーザは、ステップs201でリモート・コントロール9上のファンクション・キー911−2を押すことにより選択ウィンドウ137内で現在の映画を購入することも選択できる。図からわかるように、この場合、上述のユーザ妥当性確認ルーチンs51が起動される。
【0128】
ユーザは、「Top Ten Films」メニュー・ページ2080から直接映画を購入する代わりに、ステップs203でリモート・コントロール9の右矢印キー909を押すことにより選択ウィンドウ137内の現在の映画に対する他のオプションを表示することができる。図29は、Movie 4に対して利用できるオプションを表示するその結果のメニュー・ページ2090を示している。(図26に示されているように情報はステップs205で表示される。)表示されるメニュー・ページ2090は、ユーザがMovie 4に関する補足情報を要求したり、映画を購入したり、あるいはMovie 4の予告編を全画面で表示したりすることができる「Films Options」カルーセル2091を備える。この実施形態では、「Films Options」メニュー・ページ2090がユーザに表示されると、映画の予告編もビデオ・ウィンドウ121内に再生され、ユーザが見ることができる。放映時間を含む映画に関する他の詳細、主演俳優または女優、および映画に関するテキスト記述がビデオ・ウィンドウ121の下のテキスト・ボックス175の中に表示される。他のカルーセルの場合のように、ユーザはリモート・コントロール9の上矢印キー903または下矢印キー905を押すことで、選択ウィンドウ137のカルーセル2091内の映画オプションをスクロールすることができる。ユーザは、ステップs207で、リモート・コントロール9上の左矢印キー907を押すことにより「Top Ten Films」メニュー2080に表示される映画リストに戻ることもできる。change−userアイコン149によって表されているように、ステップs209でリモート・コントロール9のファンクション・キー911−1を押すことにより現在のユーザを変更することもできる。
【0129】
図を26に示されているように、ユーザがステップs211でリモート・コントロール9の右矢印キーを押すと、キーを押したときに選択ウィンドウ内に表示されていたオプションに応じて、処理はステップs213、s215、またはs217に進む。ステップs213に示されているように、「Additional Information」オプション2093がステップs211で選択された場合、システムはWebサーバ25を介してインターネットから追加情報を検索し、その結果をユーザに表示する。ステップs211で、ユーザが「View trailer full screen」オプション2097を選択した場合、ステップs215で、システムは映画の予告編を全画面で再生し、予告編が終了した後、ユーザは図29に示されている「Film Options」メニュー2090に戻る。
【0130】
ユーザが「Purchase Movie」オプション2095を選択した場合、上述の「ユーザ妥当性確認を実行」ルーチンs51が実行される。ユーザの妥当性が確認されない場合、ユーザは「Films Options」メニュー2090に戻る。ステップs219でユーザの妥当性確認が行われた場合、購入済み映画オプションがユーザに表示される。この実施形態では、これらのオプションは後で購入済み映画を見る(s221)か、または購入済み映画を今見る(s223)ことになる。ユーザが後で映画を見ることに決めた場合、ユーザはステップs191で表示される図28に示されている「Top Ten Films」メニュー・ページ2080のリストに戻る。そうでない場合、ユーザが映画を今見ることに決めた場合、ステップs225で適切なビデオ・ストリームがビデオ・サーバ15からユーザにストリームダウンされる。
【0131】
Videoshelf
上述のように、Videospaceオプション・メニュー・ページ2050内のVideoshelfオプション2059を使用することで、ユーザがすでに購入している映画のリストをユーザが見ることができる。このVideoshelf機能と関連するメニュー・ロジックが図30に示されている。分かりやすくするためにステップs13、s185、s187、およびs193を再び掲載している。図30に示されているように、ステップs187で、ユーザは、ステップs251で、リモート・コントロール9の「Change User」ファンクション・キーを押すことにより上述の「Change User」ルーチンs14を起動することができる。それとは別に、ユーザは、ステップ253で、リモート・コントロール9の右矢印キー909を押すことによりメニュー・ページ(図に示されていない)に一覧が表示されている映画の1つを選択することができる。ユーザがこのようにして映画を選択する場合、ステップs255で、システムは選択した映画に対する詳細とオプションを表示する。この実施形態では、これらのオプションには「Additional Information」オプション、「Play selected film」オプション、および「Purchase again」オプションが含まれている。「Additional Information」オプションがステップs256で選択された場合、ステップs257で、システムはWebサーバ25を介してインターネットから選択した映画の補足情報を取り出す。ステップs256でユーザが「Play」オプションを選択した場合、ステップs259で、システムはビデオ・サーバ15からユーザに適切なビデオ・ストリームをストリーミングすることにより映画を再生する。
【0132】
この実施形態では、ユーザが映画を購入する場合、限られた期間のみ行う。したがって、すでに購入済みの映画をユーザが再び購入できるようにする「Purchase movie again」オプションが用意されている。ステップs256でユーザが映画を再購入することに決めた場合、ステップs51で、システムは上述のユーザ妥当性確認ルーチンを実行する。ユーザの妥当性が確認されない場合、システムはステップ255に戻り、そこでVideoshelfオプションがユーザに対して再度表示される。しかし、ユーザの妥当性が確認されると、システムはステップs265で、映画がすでに購入されていることをユーザに確認し、ユーザはステップs255でVideoshelfオプション・ページに戻る。
【0133】
図30に示されているように、ステップs255で表示されるメニュー・ページでさらに、別のユーザがステップs258でリモート・コントロール9の「Change User」ファンクション・キー911を押すことによりログインすることができる。また、ステップs261で、リモート・コントロール9の左矢印キー907を押すことにより、ステップs187で表示されている購入済み映画のリストに戻ることができる。
【0134】
Yourspace
上述のように、Yourspaceカテゴリ107−1では、ユーザは、Webサーバ25を介してWorld Wide Webに、メール・サーバ19を介して電子メールに、管理および請求書作成サーバ29を介してアカウント情報にアクセスすることができる。Yourspace107−1と関連するメニュー・ロジックが図31に示されている。「メイン・メニューを表示」ステップs7、「選択」ステップs9、および「Yourspaceメニューを表示」ステップs15は、わかりやすくするため図31に再び示されている。
【0135】
図32は、ステップs15で表示される代表的な「Yourspace」メイン・メニュー2100を示している。図からわかるように、Yourspaceメイン・メニュー32は、同じ要素は同じ参照番号で参照されている左側フレーム101を含んでいるため、ここでもう一度説明することはしない。図32に示されているように、Yourspaceロゴ109−1およびYourspaceカテゴリ名107−1は、左側フレーム101内に表示され、ユーザに、現在Yourspaceメニュー・カテゴリに入っている確認を求める。左側フレーム101内にさらに、左矢印アイコン122も用意されており、ユーザに対して、リモート・コントロール9の左矢印キー907を押してステップs7で表示されているメイン・メニューに戻ることの確認が求められる。これは、図31のステップs301に示されている。さらに、「Change−User」アイコン149によって表されているように、ユーザがステップs303で「Change User」ファンクション・キー911−1を押すことにより「Change User」ルーチンs14を起動することができる。
【0136】
図32に示されているように、Yourspaceメニュー・ページ2100の右側フレーム103はYourspaceメニュー・カテゴリ107−1内に用意されているオプションの一覧を表示している「Yourspace」カルーセル2101を含む。図からわかるように、この実施形態では、オプションとして、「Web」オプション2103、「Your Account」オプション2105、および「E−mail」オプション2107が用意されている。他のカルーセルの場合のように、ユーザは選択ウィンドウ137内のこれらのオプションをスクロールすることができ、またユーザはステップs305で、リモート・コントロール9の右矢印キー909を押すことにより目的のオプションを選択することができる。ユーザが「Web」オプション2103を選択した場合、システムはステップs307で「Web」メニューを表示する。ユーザが「E−mail」オプション2107を選択した場合、システムはステップs309で「E−mail」メニューを表示する。ユーザが「Your Account」オプション2105を選択した場合、システムはステップs311で「Your Account」メニューを表示する。図31に示されているように、ユーザは、ステップs315、s317、およびs319でリモート・コントロール9の左矢印キー907を押すことによりこれらのオプション・ページからYourspaceメイン・メニュー2100に戻ることができる。
【0137】
この実施形態では、「Web」メニューおよび「E−mail」メニューに用意されているオプションは、市販のWebブラウザおよび電子メールシステムに用意されているオプションと同様のものであり、したがってこれ以上説明しない。しかし、「Your Account」メニュー・オプション2105については、以下で説明する。
【0138】
Your Account
Yourspaceメニュー・ページ2100に示されている「Your Account」オプション2105では、ユーザは各種のユーザ設定および請求書作成情報などを表示し変更することができる。この「Your Account」オプション2105と関連するメニュー・ロジックが図33に示されている。図33aの最上段に示されているように、「Yourspaceメニューを表示」ステップs15、選択ステップs305、「Your Accountメニューを表示」ステップs311、および「戻る」ステップs319は、分かりやすくするため再度示している。「Your Accountメニューを表示」では、ユーザは以下のオプションを選択できる。
i)「Parental Controls」オプション
ii)「Default Set Top Box Age」オプション
iii)「Profile」オプション
iv)「Change PIN」オプション
v)「Add User」オプション
vi)「Delete User」オプション
vii)「View Account Bill」オプション
viii)「View Personal Bill」オプション
【0139】
他のメニュー・ページの場合のように、これらのオプションは、ユーザのために、適切なカルーセル(図には示されていない)内に表示され、ユーザは、リモート・コントロール9の上矢印キー903および下矢印キー905を使用して選択ウィンドウ(図に示されていない)内のオプションをスクロールさせることができる。適切なオプションが選択ウィンドウ内に現れたら、ユーザはステップs331で、リモート・コントロール9の右矢印キー907を押してオプションを選択する。適切なオプション・メニュー・ページに入った後、ユーザは、ステップs333、s335、s337、s339、s341、s343、s345、またはs347でリモート・コントロール9の左矢印キー907を押すことによりステップs311で表示されている「Your Account」メニュー・ページに戻ることができる。上述の8個のオプションのそれぞれについて詳しく説明する。
【0140】
Parental Controls
ステップs315で、システムは適切なカルーセル(図に示されていない)にユーザ・セットトップ・ボックス7と現在関連付けられているユーザのリストを表示する。ユーザは、リモート・コントロール9の上矢印キー903または下矢印キー905を押すことにより、選択ウィンドウ137(図に示されていない)内に目的のユーザが現れるようにする。ステップs351で、リモート・コントロール9の右矢印キー909を押すことにより、システムは、スタット353で、選択したユーザの新しい年齢制限を要求するプロンプトを表示する。ユーザは、新しい年齢を入力した後、ステップs355でリモート・コントロール9の右矢印キー909を押す。新しいユーザ情報がユーザ・インターフェース・サーバ30に送信され、ステップs357で、入力された年齢が100歳未満であるかチェックする。100歳未満でない場合、ステップs359でメニュー・ページがリフレッシュされ、適切なエラー・メッセージがメニュー・ページの選択ウィンドウ内に表示される。入力された年齢が100歳未満であれば、ユーザ・インターフェース・サーバ31は、データベース39内に格納されたユーザ・プロファイル・データを変更し、ステップs361でユーザに表示される確認ページを返し、そのユーザに対する親コントロールが変更されたことを確認する。ステップs311で表示される「Your Account」メニューに戻るには、ユーザは、ステップ363で、リモート・コントロール9の「進む」ファンクション・キーを押さなければならない。
【0141】
Default STB Age
ユーザがステップs371で、フォールとのセットトップ・ボックス年齢(ログイン・ユーザが「家族」の場合)を変更する操作を続ける場合、ユーザ・インターフェース・サーバ31が、ステップs373で、入力セットトップ・ボックス年齢が100未満であるかチェックする。そうでない場合、ステップs375で、ユーザ・インターフェース・サーバは、ステップs317で表示される「change default set top box age」メニュー・ページをリフレッシュし、適切なエラー・メッセージを表示する。セットトップ・ボックス年齢が100未満の場合、ステップs377で、ユーザ・インターフェース・サーバはメニュー・ページをユーザ・セットトップ・ボックスに送信し、デフォルトのセットトップ・ボックス年齢が変更されたことを確認する。ステップs311で表示される「Your Account」メニュー・ページに戻るには、ユーザは、ステップs379で、リモート・コントロール9の「進む」ファンクション・キーを押さなければならない。
【0142】
Edit Profile
ユーザが「Edit Profile」オプションを選択した場合、ステップs319で、ユーザ・セットトップ・ボックス7に関連するユーザのリストが適切なカルーセル(図に示されていない)内に表示され、ユーザが見ることができる。その後、ユーザは上矢印903または下矢印905を使用して、プロファイルが変更されるユーザを選択することができる。このユーザがカルーセルの選択ウィンドウ(図には示されていない)内に現れたら、ユーザが、ステップs385で、リモート・コントロール9の右矢印キー909を押して選択する。それに対する応答として、ユーザ・インターフェース・サーバは、ステップs387で、現在のユーザ・プロファイル設定の内容を示すページをダウンロードし表示する。この実施形態では、これらは、ユーザの名前、ユーザの背景色、ユーザのWebホーム・ページ、およびWeb検索ページなどを含む。ユーザは、その後、これらを画面上で編集してから、ステップs389でリモート・コントロール9の「進む」ファンクション・キーを押すことにより編集したプロファイルをユーザ・インターフェース・サーバ31に送り返すことができる。
【0143】
編集したプロファイルをユーザ・インターフェース31に送信する前に、Webブラウザ203が、ステップs391で、修正したユーザ・プロファイル内のエントリがそれらのエントリの要求される形式と一致しているかチェックする。一致しない場合、ステップs393で、Webブラウザ203は、ステップs387で表示される「change profile」メニュー・ページをリフレッシュし、適切なエラー・メッセージを表示する。
【0144】
この形式が正しい場合、編集したプロファイルがユーザ・インターフェース・サーバ31に送信され、さらに、これは、選択したユーザのユーザ・プロファイルが変更されたことを確認するメニュー・ページを送信する。このメニュー・ページは、ステップs395で表示される。ユーザは、ステップs397で、リモート・コントロール9の「進む」ファンクション・キーを押すことにより、ステップs311で表示される「Your Account」メニュー・ページに戻ることができる。
【0145】
Change PIN
ユーザが「Change PIN」オプションを選択した場合、ステップs321で、ユーザ・インターフェース・サーバ31は現在のPINを確認し、新しいPINを入力することを要求するメニュー・ページを送信する。ユーザがこれらのPIN番号を入力して、ステップs401で、リモート・コントロール9の「進む」ファンクション・キーを押すと、PIN情報がユーザ・インターフェース・サーバ31に送信される。ステップs403で、ユーザ・インターフェース・サーバ31は、ユーザが入力した現在のPIN番号が正しいかチェックする。正しくない場合、ステップs405で、適切なエラー・メッセージがダウンロードされ、s321で表示された「Change PIN」メニュー画面内に表示され、ユーザが見ることができる。ユーザ・インターリース・サーバ31が入力されたPIN番号が正しいと判断した場合、ユーザ・インターフェース・サーバ31はユーザPINが変更されたことを確認するメニュー・ページをダウンロードし、これをステップs407で表示する。ユーザは、ステップs409で、リモート・コントロール9の「進む」ファンクション・キー911を押すことにより、ステップs311で表示される「Your Account」メイン・メニューに戻ることができる。
【0146】
Add User
ユーザが「Add New User」オプションを選択すると、ステップs323で、新規ユーザ入力画面がユーザに対して表示される。このメニュー画面では、ユーザは、ユーザ名、ユーザの年齢、ユーザPIN、ユーザ電子メール・アドレスなどのユーザ情報入力することが求められる。ユーザが適切な情報を入力した後、ユーザがステップs411で、リモート・コントロール9の「進む」ファンクション・キーを押すと、ユーザ・インターフェース・サーバ31にこの情報が送信される。しかし、新しいユーザ詳細を送信する前に、Webブラウザ203は、ステップs413で、入力された情報が正しい形式であるかチェックする。正しくない場合、ステップs415で、Webブラウザ203は、ステップs323で表示されるメニュー・ページをリフレッシュし、それとともに適切なエラー・メッセージを表示する。入力された情報が正しい形式であれば、Webブラウザは新しいユーザ情報ユーザ・インターフェース・サーバ31に送信し、それに対する応答として新しいユーザが正常に追加されたことを確認するメニュー・ページ(ステップs417で表示される)がダウンロードされる。ユーザは、ステップs419で、リモート・コントロール9の「進む」ファンクション・キーを押すことにより、ステップs311で表示される「Your Account」メニューに戻ることができる。
【0147】
Delete User
「Delete User」オプションが選択された場合、ステップs325で、システムは適切なカルーセル内にセットトップ・ボックス7と関連するすべてのユーザのリストを表示する。ユーザは、上矢印キー903または下矢印キー905を使用して、適切な選択ウィンドウ内のユーザをスクロールすることができる。削除対象のユーザが選択ウィンドウ内に現れたら、ユーザが、ステップs425で、リモート・コントロール9の右矢印キー909を押すと、そのユーザを削除するという要求がユーザ・インターフェース・サーバ31に送信される。ステップs427で、ユーザ・インターフェース・サーバ31は適切なメッセージをユーザ・セットトップ・ボックス7に送信し、選択されたユーザが削除されることを確認するようユーザに要求する。この段階で、ユーザは、ステップs429で、リモート・コントロール9の「キャンセル」ファンクション・キーを押すことができるが、そうすると、ユーザはステップs311で表示されている「Your Account」メニュー・ページに戻ることになる。それとは別に、ユーザは、ステップ431で、リモート・コントロール9の「進む」ファンクション・キーを押すこともでき、そうすると、ユーザ・インターフェース・サーバ31はデータベース39からユーザを削除し、ユーザにメッセージを返すが、このメッセージはステップs433で表示され、選択されたユーザが削除されたことを確認するメッセージである。ユーザは、ステップs435で、リモート・コントロール9の「進む」ファンクション・キーを押すことにより、ステップs311で表示される「Your Account」メニュー・ページに戻ることができる。
【0148】
Account Bill
ユーザが「Account Bill」オプションを選択した場合、ステップs327で、ユーザ・インターフェース・サーバ31は、ユーザ・セットトップ・ボックス7と関連するすべてのユーザに対する請求額合計の要約を表示するメニュー・ページをダウンロードする。この要約メニュー・ページでは、たとえば、ペイパービュー、Videospace、選択したチャンネルの受信契約、World Wide Web、ショッピング・サーバなどに支出された金額を識別する。またここでも、これらの要素に対し支出された個々の金額が一覧としてカルーセル内に表示され、ユーザは詳細情報取得するため要素の1つを選択することができる。たとえば、ステップs327で表示される勘定書では、所定の期間にわたるペイパービューに支出された合計金額が50ポンドであることを示している。ユーザは、このペイパービュー請求書を選択して、購入されたアイテムとそのユーザを識別する明細書を取得することができる。前のカルーセルの場合のように、ユーザは、上矢印キー903または下矢印キー905を押して、選択ウィンドウ(図に示されていない)を通じてメニュー・ページ内に表示される要素をスクロールする。ユーザは、その後、ステップs451で、リモート・コントロール9の右矢印キー909を押すことにより、現在選択ウィンドウ内に表示されている請求書内の要素に関する他の情報を取得することができる。その後、セットトップ・ボックス7は、ユーザ・インターフェース・サーバ31を介して請求書のその部分に関する詳細情報の適切な要求を管理および請求書作成サーバ29に送信する。次に、管理および請求書作成サーバ29は、ステップs453で適切なメニュー・ページに表示されている請求者のその部分の詳細情報をダウンロードする。ステップs455に示されているように、ユーザは、リモート・コントロール9の左矢印キー907を押して、前のメニュー・ページに戻ることを選択できる。
【0149】
ステップs453で、追加情報により、たとえば、さまざまなアプリケーション・サーバ30からダウンロードした番組またはコンテンツのさまざまなタイトルを識別する。その後、ユーザは、上述の方法でこれらのさまざまなアイテムをスクロールし、ステップs457で、リモート・コントロール9の右矢印キー909を押して1つ選択することができる。それに対する応答として、管理および請求書作成サーバ29は、サービスまたはコンテンツを購入したユーザ、購入された日時などを識別する詳細をダウンロードする。この追加情報は、ステップs459でユーザに表示される。その後、ユーザは、ステップs461で、リモート・コントロール9の「進む」ファンクション・キーを押すことにより、ステップs453で表示されるメニュー・ページに戻ることができる。
【0150】
Personal Bill
「Personal Bill」オプションは、現在ログオンしているユーザが購入したアイテムのみがダウンロードされ、表示されることを除き、上述の「Account Bill」オプションと同様である。したがって、「Personal Bill」オプションについてはこれ以上詳しくは説明しない。
【0151】
Openspace
ユーザがメイン・メニュー120からOpenspaceオプションを選択した場合、ステップs17でOpenspaceメイン・メニューが表示される。この実施形態で表示されるOpenspaceメニュー2200は、図34に示されている。図からわかるように、Openspaceメイン・メニューは、図に示されている、また上で説明した他のメニュー画面と同じルック&フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。図34に示されているように、左側フレーム101はOpenspaceロゴ109−4を含み、その下にOpenspaceカテゴリ名107−4が示される。右側フレーム103内に、Openspaceカルーセル2201が用意され、ユーザは、「Shopping」オプション2203、「Classified adverts」オプション2205、「Local Information」オプション2207、および「Games」オプション2209のオプションのうちから選択することができる。前のカルーセルの場合のように、ユーザは、選択ウィンドウ137内のこれらのオプションをスクロールして、適切なオプションが選択ウィンドウ137内に現れたら、ユーザはリモート・コントロール9の右矢印キー909を押してそのオプションを実行することができる。
【0152】
この実施形態では、「Shopping」オプションを使用することで、ユーザは異なるベンダにより提供される製品の詳細にアクセスすることができる。「Classified Adverts」オプション2205では、ユーザはさまざまな製品の三行広告にアクセスすることができる。「Local Information」オプション2207では、ユーザは、普通列車の時刻または交通レポート、ローカル・ニュース、地方天気、学校などの地域施設などのさまざまな種類のローカル情報にアクセスすることができる。最後に、「Games」オプション2209では、ユーザは、用意されているさまざまなゲームにアクセスすることができる。
【0153】
上では、メイン・メニューからユーザが利用できるさまざまなメニュー・オプションをすべて説明してきた、これらのオプションに加えて、システムではさらに、ユーザがテレビ放送番組を受け取るときにユーザが直にアクセスできる短い電子番組ガイド(SEPG)も用意する。この短い電子番組ガイドについて説明する。
【0154】
SEPG
図8に戻ると、ユーザがリモート・コントロール9のメニュー・キー901を押すことによりアクセスできるメイン・メニュー・オプションに加えて、ユーザは、さらに、ステップs3でテレビ放送番組を受け取りながら短い電子番組ガイドにアクセスすることもできる。ステップs501に示されているように、これは、リモート・コントロール9の上矢印キー903または下矢印キー905を押すことにより達成される。それに対する応答として、ユーザ・セットトップ・ボックス7は、ユーザ・インターフェース・サーバ31から現在のチャンネルの短い番組ガイドをダウンロードする。この実施形態では、この短い電子番組ガイドは、ステップs503で、再生中の現在のテレビ番組に重ねて表示されるテレビ画面の下部に表示される。図35は、表示されているテレビ画面2300を示している。図からわかるように、短い電子番組ガイドフレーム2301は画面の下部に表示される。このSEPGフレーム2301では、現在の時刻113および日付115および現在のユーザ名111を左側フレーム2303に表示する。右側フレーム2305では、選択ウィンドウ137内に1つしかエントリがないSEPGカルーセル2307が用意されている。最初、チャンネル情報はテレビ画面2300に現在表示されているチャンネルである。図35に示されているように、この情報により、チャンネル名、現在再生されている番組、および次に再生される番組、さらにユーザがすでに選択しているお気に入りのチャンネルまたは番組を強調表示するアイコンが識別される。
【0155】
この段階で、ユーザは上矢印キー903または下矢印キー905を押して、利用可能な異なるチャンネルをスクロールすることを選択することができる。これは、図8のステップs505に示されている。「Change User」アイコン149で表されているように、ユーザは、ステップs507で、ファンクション・キー911−1を押して、上述の「Change User」ルーチンs14を使用し、現在システムにログオンしているユーザを変更することができる。テレビ・ガイド・アイコン2309によって表されているように、ユーザはリモート・コントロール9のファンクション・キー911−2を押して十分な電子プログラムガイドにアクセスすることもできる。
【0156】
ユーザが利用可能な異なるチャンネルをスクロールした後、ステップs509で、リモート・コントロール9の左矢印キー907を押すことにより(または所定の期間内、選択を行わないことにより)現在見ているチャンネルに戻ることを決めるか、またはステップs511で、リモート・コントロール9の右矢印キー909を押すことによりチャンネルを選択ウィンドウ137内の現在のチャンネルに変更することを決めることができる。図8に示されているように、ユーザが右矢印キー909を押すと、チャンネル変更許の適切な要求がテレビ放送サーバ27に送信され、ステップs513で、ストリーミングされているチャンネルがユーザ・セットトップ・ボックス7に変更される。
【0157】
要約と利点
上では、ユーザが複数のリモート・サーバから複数のサービスおよびコンテンツにアクセスすることができるテレビジョンベースのシステムについて説明した。上述のシステムの主な利点の1つは、ユーザが共通ユーザ・インターフェース・サーバを介して異なるサーバにアクセスすることができるという点である。システムはこのような構造を備えることで、各種のインテリジェント型キャッシング手法を使用して、リモート・サーバおよびサーバによって使用される共通データベースに対する処理の負担を軽減することができる。そのため、増大するユーザに対応してシステムを拡大することが容易に行える。さらに、ユーザ・インターフェース・サーバでメニュー・ページを生成することにより、ユーザが異なるアプリケーション・サーバすべてのサービスにはアクセスするのに使用する共通のルック&フィールを備えるメニューベースのユーザ・インターフェースを簡単に生成することができる。さらに、形式に関してだけでなく、それぞれのユーザに提供されるコンテンツについてもそれぞれのユーザに合わせてメニュー・ページを個人化することができる。
【0158】
上述のシステムでは、ユーザごとに個人化されたユーザ・インターフェースを備える。ユーザに対して表示される個人化されたユーザ・インターフェースの画面のデザイン、選択、コンテンツ、およびレイアウトは、システム・データベースに保持されているユーザのプロファイル・データ、サービス・オペレーション履歴、および使用度情報に基づく。このデータベースは、次のまたは前のメニュー画面、システム・サービスまたはアプリケーションへのアクセス、または特定のコンテンツへのアクセスに対するユーザの要求を処理するときに、ユーザ・インターフェース・サーバによってアクセスされる。ユーザ・インターフェース・サーバは、メニューが表示されるユーザのプロファイル・データおよび使用度情報に基づいてデザイン要素、サービス、およびコンテンツを含む個人化されたメニュー画面を作成する。特定のユーザに表示されるそれぞれのメニュー画面は、一貫したデザイン、およびルック&フィールを備え、その特定のユーザ向けのサービスおよびコンテンツを含む。
【0159】
上述のシステムの有利な特徴としては他に、リモート・コントロールのキーを使用してメニュー・アイテムをスクロールすることができる選択ウィンドウを備えるカルーセルを使用するという点があげられる。この方法では、システムは直感的なカーソルレス方式で動作することができる。
【0160】
上述のシステムの有利な態様としては他に、電子番組ガイドがある。特に、このガイドは最初に、現在および次に何をやるのかを、カルーセル内の各チャンネルに関連して表示する。選択が適切に行われると、ユーザは次の数日間にわたって放映される番組を示す、目的のチャンネルの詳細が一覧にアクセスすることができる。さらに、それぞれのメニュー・ページをユーザごとに個人化できるため、電子番組ガイドは、ユーザが受信契約をしているチャンネルのみを表示するように構成することができる。システムはさらに、ユーザ・プロファイリング情報を使用して、ユーザがそのチャンネルを見る頻度に対応する順序でチャンネルの一覧を作成することができる。また、ユーザによってお気に入りとしてマーク付けされたチャンネルおよび番組を識別するように個人化することもできる。
【0161】
上述のシステムの有利な特徴として他に、個人ユーザへ配信した後ジェネリックなメニュー・ページを格納し、個人化することができる一定スワッピング手法を含む採用されているインテリジェント型キャッシング手法がある。特に、XMLドキュメントおよびスタイル・シート内でプレースホルダを使用することにより、それ以降、プレースホルダに対してユーザ固有データをスワップインすることでそれぞれのメニュー・ページを個人化することが可能になる。この方法で、背景色またはフォントの変更、ユーザ名の追加など規模の小さな個人化をすばやく、配信時に行うことができる。したがって、キャッシュされているメニュー・ページを多数の異なるユーザに対して使用することができ、そのため必要キャッシュ・メモリを節約することができる。
【0162】
上述のシステムの他の利点として、XMLデータおよびスタイル・シートを使用したHTMLメニュー・ページの使用および生成がある。特に、これらは標準形式なので、サードパーティーが自社のアプリケーションとシステムとのインターフェースを比較的簡単にとることができる。
【0163】
修正と代替
上では、ユーザがテレビに表示されるグラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバからテレビ・サービスおよび媒体コンテンツにアクセスできるようにするテレビジョンベースのシステムについて詳述した。当業者であれば、上述のシステムに対してさまざまな代替を行えることは理解するであろう。修正および代替の一部について説明する。
【0164】
上記の実施形態では、ユーザはユーザ・インターフェース・サーバを介して複数のリモート・サーバによって提供されるサービスにアクセスすることができた。このことは本質的ではない。たとえば、ユーザは、ユーザ・インターフェース・サーバを介するのではなく、1つまたは複数のアプリケーション・サーバによって提供されるサービスまたはコンテンツに直接アクセスすることができる。しかし、このアプローチには欠点があり、これらのアプリケーション・サーバがメニュー・ページを生成し、直接ユーザ・セットトップ・ボックスにダウンロードする場合、アプリケーション・サーバによって生成されるメニュー・ページとユーザ・インターフェース・サーバによって生成されるメニュー・ページとの間で類似のルック&フィールを維持することが困難になるのである。
【0165】
上記の実施形態では、ユーザはユーザ・インターフェース・サーバを介してアプリケーション・サーバにサービスおよび/または媒体コンテンツを要求した。他の実施形態では、ユーザはユーザ・インターフェース・サーバからメニュー・ページを受信し、サービスまたは媒体コンテンツがダウンロードのため識別されると、ユーザは、そのコンテンツを適切なアプリケーション・サーバに直接要求することができる。たとえば、ユーザがビデオ・サーバからダウンロードするビデオを識別すると、ユーザ・デバイスはユーザ・インターフェース・サーバに通さずに、そのビデオの要求を直接ビデオ・サーバに送ることができる。このような実施形態には、ユーザ・インターフェース・サーバによって処理される要求の数を減らせるという利点がある。
【0166】
上記の実施形態では、ユーザ・インターフェース・サーバのそれぞれに、共通機能プロセッサが用意されていた。この共通機能プロセッサを使用して、2つまたはそれ以上のアプリケーション・サーバに必要な機能(ユーザ・ログイン、エラー処理など)を実行した。当業者であれば、このような共通機能プロセッサを用意することは本質的でないことを理解するであろう。また、特に、共通機能が将来システムに追加する可能性のあるアプリケーション・サーバに必要であると認められた場合に、アプリケーション・サーバの1つにのみ必要になると思われる機能を実装することが可能である。
【0167】
上記の実施形態では、ユーザは、ユーザ・セットトップ・ボックスおよびテレビを使用してテレビ・サービスおよび媒体コンテンツにアクセスすることができた。当業者であれば、このようなセットトップ・ボックスとテレビを使用することは本質的でないことを理解するであろう。たとえば、ユーザは、パーソナル・コンピュータ(PC)など、あるいはパーソナル・デジタル・アシスタント(PDA)や携帯電話などのハンドヘルド・デバイスを使用してテレビ・サービスおよび媒体コンテンツにアクセスすることができる。
上記の実施形態では、ユーザ・インターフェース・サーバは、アプリケーション・サーバと切り離されていた。当業者であれば、1つまたは複数のアプリケーションをユーザ・インターフェース・サーバが稼働しているマシンと同じ物理マシン上で実行することができることを理解するであろう。たとえば、メール・サーバはユーザ・インターフェース・サーバのうちの1つと同じ物理マシン上で実行できる。この場合、ユーザ・インターフェース・サーバは、適切なメモリ・ポインタおよび呼び出しルーチンを使用してメール・サーバと通信することができる。さらに、アプリケーションのうち2つまたはそれ以上を単一コンピュータ・デバイス上で物理的に実行することもできる。
【0168】
上記の実施形態では、ユーザ・デバイスはIPデータ・ネットワークを通じてユーザ・インターフェース・サーバに接続される。当業者であれば、ユーザ・デバイスは適切な手段によりユーザ・インターフェース・サーバに接続できることを理解するであろう。たとえば、携帯電話の通信リンクを介して接続することができる。それとは別に、ユーザはADSL(非対称デジタル加入者回線)リンクなど電話およびモデムを使用して接続することができる。それとは別に、ケーブルまたは自由空間マイクロ波または光通信リンクを対してユーザ・インターフェース・サーバに接続することもできる。
【0169】
上記の実施形態では、メニュー画面では、リモート・コントロールの方は下矢印キーを押してユーザがメニュー・オプションをスクロールする際に使用する選択ウィンドウを備えるメニュー・カルーセルを採用した。当業者であれば、選択ウィンドウ内でメニュー・オプションをどの方向にスクロールしようと問題ではないことを理解するであろう。たとえば、メニュー・オプションを水平方向に表示し、リモート・コントロールの左および右矢印キーを使用して水平方向に選択ウィンドウを介してスクロールすることができる。このような実施形態だと、ユーザは上矢印キーおよび下矢印キーを使用して異なるメニュー画面間をナビゲートし、メニュー・オプションを選択することができる。
【0170】
上記の実施形態では、メニュー・ページに単一のメニュー・カルーセルを用意した。詳細メニュー・ページでは、現在カルーセルの選択ウィンドウ内にあるメニュー・アイテムに対するカルーセルの隣に追加情報が表示された。他の実施形態では、2つまたはそれ以上のカルーセルをメニュー・ページごとに用意することができ、ユーザはリモート・コントロールを使用してそれらのカルーセルを切り替えることができる。たとえば、左側のカルーセルは、システムで利用可能な別のチャンネルを識別するために用意され、右側のカルーセルは現在選択されているチャンネルの次のN日にわたって放送されている番組を識別する。現在はアクティブになっているカルーセルは、たとえば、その隣に上および下矢印アイコンを用意することで識別することができる。
【0171】
上記の実施形態では、システムの受信契約が行われているすべてのユーザの詳細を格納し、異なるアプリケーション・サーバおよびユーザ・インターフェース・サーバによってアクセスされる単一データベースが提供された。当業者であれば、それぞれ同じ情報を格納する複数のデータベースを実装できることを理解するであろう。これにより、サーバからのデータベース・クエリを異なるデータベース間で共有することができる。当業者であれば、このような実施形態だと、それぞれのデータベースに格納されているデータが同じになるようにデータベースを互いに同期させる必要があることを理解するであろう。このようにして複数のデータベースを同期させるさまざまな手法が知られている。
【0172】
上記の実施形態では、メニュー・ページはユーザ・インターフェース・サーバからユーザ・デバイスにダウンロードされたHTML Webページから生成された。受け取ったHTMLファイルからメニュー・ページを生成するためユーザ・デバイス内で従来のWebブラウザ・ソフトウェアを使用できるため、このようにしてHTMLファイルを使用することが好ましい。さらに、メニュー・ロジックをJava(登録商標)の命令としてHTMLファイル内にダウンロードすることもできる。これにより、HTMLスタイルに、たとえば、カルーセルの動作の仕方の詳細を記述し、カルーセルの選択ウィンドウを通じてユーザがメニュー・オプションをスクロールするたびにユーザ・インターフェース・サーバに戻らずに済むようにできる。しかし、当業者であれば、メニュー・ページをHTML形式でダウンロードすることは本質的でないことを理解するであろう。これらのページはイメージとしてダウンロードできる。この場合、ユーザがリモート・コントロールまたはキーボードのキーを押したときに、ユーザ・デバイスは該当するキーの押下をユーザ・インターフェース・サーバに送り、そこで要求を解釈し、表示のため新しいイメージをダウンロードする。このような実施形態は可能であるが、ユーザ・インターフェース・サーバとユーザ・デバイスとの間でやり取りしなければならないデータの量が増えるため、好ましくない。
【0173】
上記の実施形態では、メニュー・ページはシステムのサーバ側で生成され、ユーザ・デバイスにダウンロードされた。他の実施形態では、アプリケーション・サーバからダウンロードされたXMLファイルから直接メニュー・ページを生成するようにユーザ・デバイスを配列することができる。このような実施形態では、ユーザ・デバイスがメニュー・ページの適切な個人化を実行できるため、ユーザ・インターフェース・サーバを備えることは本質的ではない。このような実施形態の欠点は、ユーザ・デバイスの複雑さを増すという点である。さらに、ユーザ・インターフェース・サーバによって最初に実行された共通機能がユーザ・デバイス内で実行される場合、この場合も、ユーザによるハッキングに対するシステムの脆弱性が高まる。
【0174】
上記の実施形態では、アプリケーション・サーバからユーザ・インターフェース・サーバにダウンロードされたメニュー・データはXMLドキュメント内に送られた。当業者であれば、このメニュー・データをアプリケーション・サーバからユーザ・インターフェース・サーバに適切な形式で送信できることを理解するであろう。たとえば、このメニュー・データはEJB(Enterprise JavaBeans)形式で送信することができる。これらの形式は標準形式なので、説明は省くことにする。
【0175】
上記の実施形態では、要求処理ユニットおよび応答処理ユニットは両方とも、共通機能プロセッサによって実行される共通機能のうちの1つを呼び出すことができた。他の実施形態では、要求処理ユニットのみが共通機能を呼び出すことができる。この場合、アプリケーション・サーバ側で共通機能のうちの1つを呼び出すことを望んでいるとすれば、ユーザ・セットトップ・ボックスを介して共通機能の適切な要求を送信しなければならない。これは、従来のWebリダイレクト手法を使用することで簡単に行うことができる。
【0176】
上記の実施形態では、管理および請求書作成サーバは、ユーザ・インターフェース・サーバのユーザ要求ログ内に格納されているデータからすべてのユーザにより行われたユーザ要求を監視する必要があった。その後、この情報使用して、データベース内に格納されているユーザ・プロファイルを修正した。当業者であれば、この作業は別のグローバル・オペレーション・コントローラ(図に示されていない)によって実行するか、またはそれぞれのアプリケーション・サーバによって個別に実行することができることを理解するであろう。たとえば、それぞれのアプリケーション・サーバは、そのアプリケーション・サーバによって提供されるサービスに関連する統計量を監視するように配列することができる。それぞれのアプリケーション・サーバは、その後、そのアプリケーション・サーバに関連する各ユーザのプロファイルを構築することができる。
【0177】
上述の実施形態で説明したグラフィカル・ユーザ・インターフェースでは、さまざまなメニュー・オプションまたは番組エントリを備えるそれぞれのメニュー・ページは、カルーセルの固定選択ウィンドウを通じてスクロールされた。当業者であれば、このような固定されたウィンドウまたはこのようなカルーセルを使用することは、この場合について説明した本発明のすべてに対して本質的なことではないことを理解するであろう。しかし、カルーセルを使用する場合、カルーセル内のエントリは、ユーザがカルーセル内の最後のエントリに到達したときに、カルーセル内の最初のエントリから再びリストが始まるようにラップアラウンドするのが好ましい。しかし、これは本質的なことではなく、カルーセル内のオプションはスクロールダウンし、最後のカルーセル・オプションが選択ウィンドウ内に入るようにできる。この場合、同じ方向にスクロールするオプションは、ユーザがカルーセル・オプションの終わりに達したときには使用できない。
【0178】
上記の実施形態では、電子番組ガイドに、次の7日間の選択したチャンネルに対する詳細なチャンネル一覧が掲載されていた。当業者であれば、任意の日数さらには時間数についてチャネル一覧を用意することが可能であることを理解するであろう。比較的長い時間枠での番組一覧が用意された場合、システムでは、ユーザが番組一覧内をすばやくナビゲートできるページアップ/ページダウン機能をサポートするのが好ましい。この場合、システムはさらに、たとえばカルーセルのトップにジャンプするためのホットキーをサポートする。
【0179】
上記の実施形態では、ユーザ・インターフェースのメイン・メニューは、TVspaceオプション、Videspaceオプション、Yourspaceオプション、およびOpenspaceオプションの4つのメニュー・オプションを備えていた。当業者であれば、他のメニュー・オプションも用意できることを理解するであろう。たとえば、「Phonespace」という、Voice−Over−Internet(VOIP)サービスを提供する5番目のオプションを備えることができる。したがって、ユーザ・インターフェースの個人化されたユーザ・インターフェースは、システム内で利用できるさまざまな娯楽および活動タイプの数に応じて、任意の数の論理セクションにレイアウトすることができる。
【0180】
上記の実施形態では、システムのユーザに対してさまざまなテレビ・サービスを提供する各種のアプリケーション・サーバについて説明した。当業者であれば、利用できるさまざまなサービスは、図を用いて説明されており、いかなる形でも制限するものと解釈すべきでないことを理解するであろう。たとえば、上述のアプリケーションに加えて、システムは、番組が放送された後、ユーザがその番組を見られるように自動的に番組を記録できるタイムシフト・テレビ・サービスを提供することができる。同様に、ユーザがアプリケーション・サーバ内に記録され格納されている番組を制御することができるパーソナル・ビデオ・レコーダ・サービスを提供することができる。このようなパーソナル・ビデオ・レコーダ・サービスでは、ユーザは、従来の録画、一時停止、再生、巻き戻しのオプションを利用することができ、すでに録画されている場合には、録画済みビデオの配信を制御することができるように早送りオプションを使用することができる。さらに、ビデオ・メールおよびビデオ会議などのサービスも提供することができる。
【0181】
上記の実施形態では、それぞれのメニュー・ページをユーザへの配信に対して個人化した。この個人化は、アプリケーション・サーバから受信したデータの個人化だけでなくユーザの名前を記述し、ユーザのプリファレンスに従ってメニュー画面の背景色を変更する個人化も含む。これらの個人化に加えて、メニュー画面はさらに、使用する言語、使用するフォント、日時表示書式などに関して個人化することもできる。個人化はさらに、ユーザ・プロファイルに従ってそのユーザをターゲットとする個人化された広告も含むことができる。たとえば、ユーザの視聴習慣およびシステム使用度を分析することにより、システムはそのユーザがアクション映画を好むかどうかを判別することができる。したがって、そのようなアクション映画に関係する製品を対象とする広告を作成することができる。
【0182】
上述のTVspaceおよびOpenspaceオプションでは、ユーザは視聴するペイパービュー番組またはビデオ番組を購入することができた。追加オプションとして、広告付きまたは広告なしで番組またはビデオを購入するオプションを提供するようにシステムを改造することができる。この方法で、ユーザは、広告も受け取る場合に番組またはビデオに低料金を支払うことを選択することができる。
【0183】
上記の実施形態では、多数のリモート・アプリケーション・サーバによって提供される各種サービスにユーザがアクセスするために使用するメニュー・システムについて説明した。一実施形態では、ユーザ・インターフェース・サーバは、それぞれのサービスおよびシステムのオペレーション全体のビデオ・ヘルプにユーザがアクセスするために使用するヘルプ・メニュー画面を備えるのが好ましい。
【0184】
当業者であれば、クライアント・デバイス、ユーザ・インターリース・サーバ、およびアプリケーション・サーバは、ハードウェア・ユニットとして、またはハードウェア・コンポーネントとソフトウェア・コンポーネントの組み合わせとして提供することができることを理解するであろう。プログラム可能なコンピュータ・デバイスをこれらのコンポーネントの基盤として使用する場合、サーバとして、Microsoft NTサーバ、Linux Intelサーバ、Sun Solarisサーバ、Compac Alphaサーバ、IBMまたはHPサーバなどを使用するのが好ましい。ユーザ・セットトップ・ボックスが用意されている場合、これらはScientific Atlanta、Motorola、AT&T、またはPhilips製であるのが好ましい。ユーザ・デバイスがパーソナル・コンピュータによって形成される場合、これは、たとえば、Dell Computer Corporation、IBM、またはToshiba製のPentium(登録商標)ベースのコンピュータであるのが好ましく、テレビまたは他の表示デバイスに接続される。上述の機能を実行するサーバを制御するのに使用するソフトウェアは、C、C++、Java(登録商標)、またはPerlなどの各種コンピュータ言語で作成することができる。コードは、コンパイル形式、未コンパイル形式、またはその2つの中間形式で格納することができる。ソフトウェアは、CD−ROMなどの媒体で提供するか、またはインターネットなどのデータ・ネットワーク上でダウンロードすることができる。
【0185】
上記の実施形態では、ユーザ・インターフェース・サーバおよびアプリケーション・サーバの両方にさまざまなキャッシュを備えた。これらのキャッシュは、アプリケーション・サーバまたはデータベースの処理負担を軽減するために装備したものであった。当業者であれば、上記実施形態で実行されるキャッシュ機能は本質的でないことを理解するであろう。使用されるキャッシュの1つまたは複数を省略することができる。たとえば、ユーザ・インターフェース・サーバの1つまたは複数の中のXMLキャッシュを省き、HTMLキャッシュおよびXSLTキャッシュのみを残すようにできる。さらに、それぞれのユーザ・デバイス内にメニュー・キャッシュをローカルで用意することにより、ユーザ・インターフェース・サーバからすでにダウンロードされているメニュー・ページを格納することができる。この場合、ユーザ・デバイスはそのローカル・キャッシュをチェックしてから、次のメニュー・ページの要求を送信することができる。このようにして、ユーザ・インターフェース・サーバに送信される要求の数を最小限に抑えることもできる。
【0186】
上記の実施形態では、ユーザ個人化をユーザ・インターフェース・サーバ内で生成されたメニュー・ページにスワップインするために可変スワッピング手法を使用した。この手法は、さらに、それぞれのユーザ・インターフェース・サーバのマシン・データのスワップインでも使用した。当業者であれば、これは本質的でないことを理解するであろう。生成されるメニュー・ページは、特定のユーザごとに、またユーザ・インターフェース・サーバごとに生成することができる。しかし、採用しているキャッシュ機能の効果が高まり、またキャッシュされたメニュー・ページの性質がよりジェネリックなものになるため、これらの可変スワッピング手法を使用することが好ましい。さらに、可変スワッピング手法を使用した場合、ハッシュ区切り記号を使用してプレースホルダ・エントリを識別することは本質的ではない。HTMLまたはスタイル・シートの制御文字ではない適当な文字を使用することも可能である。
【図面の簡単な説明】
【0187】
【図1】複数のサービスおよびコンテンツにユーザからアクセスできるようにするシステムのアーキテクチャの概略ブロック図である。
【図2a】図1に示されているシステムの一部を形成するユーザ・セットトップ・ボックスの主要コンポーネントを説明する概略ブロック図である。
【図2b】代表的なユーザ要求の形式を説明する図である。
【図3】図1に示されているシステムの一部を形成するユーザ・インターフェース・サーバの主要コンポーネントを説明する概略ブロック図である。
【図4】図3に示されているユーザ・インターフェース・サーバの一部を形成する要求ハンドラの主要コンポーネントを説明する概略ブロック図である。
【図5】図3に示されているユーザ・インターフェース・サーバの一部を形成する応答処理ユニットの主要コンポーネントを説明する概略ブロック図である。
【図6】図1に示されているシステムの一部を形成するアプリケーション・サーバの主要コンポーネントを説明するブロック図である。
【図7】図1に示されているシステムの一部を形成するデータベースの主要コンポーネントを説明するブロック図である。
【図8】図1に示されているリモート・サーバによって提供されるサービスおよびコンテンツにアクセスするためのユーザ用のユーザ・インターフェース・メニュー・システムにユーザがアクセスできる方法を示す機能流れ図である。
【図9】図1に示されているリモート・コントロールの主要コンポーネントを説明する概略ブロック図である。
【図10】Yourspaceオプション、Videospaceオプション、TVSpaceオプション、およびOpenspaceオプションを示すメイン・メニュー・ページのフォームとレイアウトの概略図である。
【図11】図10に示されているTVspaceオプションと関連するメイン・ロジックを説明する流れ図である。
【図12】図10に示されているTVspaceオプションと関連するメイン・メニュー・ページを説明する図である。
【図13】図12に示されているメニュー・ページを説明し、メニュー・ページ内のメニュー・カルーセルのオペレーションを説明する図である。
【図14】図13に示されているTVspaceメニューから選択した電子番組ガイドの初期ページの図である。
【図15】図14に示されているメニュー・ページから選択したチャネルの詳細メニュー・ページの図である。
【図16】図12に示されているTVspaceメイン・メニューからアクセスされるペイパービュー・メニュー・ページを説明する図である。
【図17】ユーザがペイパービュー・メニュー・アイテムを購入しようとするときの確認メッセージとともに図16に示されているペイパービュー・メニュー・ページの図である。
【図18】購入オペレーション時に実行されるユーザ妥当性確認ルーチンを説明する流れ図である。
【図19】ユーザがペイパービュー・メニュー・アイテムを購入するプロセスに入っているときにユーザPIN番号を入力することを求めるプロンプトを表示するペイパービュー・メニュー・ページの図である。
【図20】図12に示されているTVspaceメニュー・ページからアクセスできる検索オプションのオペレーションを説明する流れ図である。
【図21】検索を実行するために選択できるさまざまな検索オプションを示す検索メニュー・ページの説明図である。
【図22】ユーザが検索対象のテキスト文字列を入力するためのプロンプトおよびテキスト・ボックスを備える検索ページの図である。
【図23】さまざまなメニュー・ページからアクセスできるユーザ変更手順を示す流れ図である。
【図24】ユーザ変更オプションを選択した後の図12に示されているTVspaceメイン・メニューの図である。
【図25】さまざまなメニュー・ページからアクセスできるお気に入り手順を示す流れ図である。
【図26】図10に示されているVideospaceオプションと関連するメニュー・ロジックを説明する流れ図である。
【図27】図10に示されているVideospaceオプションと関連するメイン・メニュー・ページを説明する図である。
【図28】Videospaceオプションの「Top Ten」メニュー・ページを示す図である。
【図29】Videospaceオプション内の選択されたビデオの異なるオプションを備える詳細メニュー・ページの図である。
【図30】Videospace内に用意されているVideoshelfオプションを説明する流れ図である。
【図31】図10に示されているYourspaceオプションと関連するメニュー・ロジックを説明する流れ図である。
【図32】図10に示されているYourspaceオプションと関連するメイン・メニュー・ページを説明する図である。
【図33a】図32に示されているYourspaceメニューに用意されているYour Accountオプションと関連するメニュー・ロジックの第1の部分を説明する流れ図である。
【図33b】図32に示されているYourspaceメニューに用意されているYour Accountオプションと関連するメニュー・ロジックの第2の部分を説明する流れ図である。
【図33c】図32に示されているYourspaceメニューに用意されているYour Accountオプションと関連するメニュー・ロジックの最終部分を説明する流れ図である。
【図34】図10に示されているOpenspaceオプションと関連するメイン・メニュー・ページを説明する図である。
【図35】ユーザからアクセスできる短くした電子番組ガイドの図である。
Claims (63)
- インタラクティブ・テレビ・システムであって、(i)目的のテレビ・サービスに対するユーザ入力を受け取るための手段と、(ii)受け取ったユーザ入力に従ってユーザ要求を送信する手段と、(iii)ユーザに出力するため目的のテレビ・サービスを受け取る手段とをそれぞれ備える複数のユーザ・デバイスと、
それぞれ異なるテレビ・サービスを提供し、それぞれ目的のテレビ・サービスに対するユーザ要求を受け取るための手段と目的のテレビ・サービスを適切なユーザ・デバイスに出力するための手段とを備える複数のアプリケーション・サーバを備え、
システムはさらに、(i)前記ユーザ・デバイスから送信されたユーザ要求を受け取るための手段と、(ii)目的のテレビ・サービス提供することができるアプリケーション・サーバを判別するそれぞれのユーザ要求を処理するための手段と、(iii)前期判別手段により判別された適切なアプリケーション・サーバにユーザ要求を受け渡すための手段とを備える、前記複数のユーザ・デバイスと前記複数のアプリケーション・サーバとの間で共有されるように結合された1つまたは複数のユーザ・インターフェース・サーバを備える、インタラクティブ・テレビ・システム。 - 前記ユーザ・デバイスのそれぞれがグラフィカル・ユーザ・インターフェースを備え、このインターフェースを介して、ユーザは前記複数のアプリケーション・サーバから利用できるテレビ・サービスにアクセスすることができる請求項1に記載のシステム。
- グラフィカル・ユーザ・インターフェースは、ユーザが目的のテレビ・サービスを選択できる複数のメニュー・ページを備える請求項2に記載のシステム。
- 前記複数のメニュー・ページは階層型に配列され、ユーザはこのメニュー・ページの階層をナビゲートすることで、目的のテレビ・サービスを選択できる請求項3に記載のシステム。
- 前記メニュー・ページは前記1つまたは複数のユーザ・インターフェース・サーバ内に生成され、必要になったときに前記ユーザ・デバイスに送信される請求項3または4に記載のシステム。
- 前記1つまたは複数のユーザ・インターフェース・サーバは、符号化された形式でそれぞれのメニュー・ページを生成する動作が可能であり、前記ユーザ・デバイスは受信したメニュー・ページを復号化する手段を備える請求項5に記載のシステム。
- 前記1つまたは複数のユーザ・インターフェース・サーバは、それぞれのメニュー・ページをHTMLファイルとして生成する動作が可能であり、前記ユーザ・デバイスはユーザに出力する対応するメニュー・ページを生成するためHTMLファイルを処理するWebブラウザを備える請求項6に記載のシステム。
- HTMLファイルは、別のメニュー・ページまたは前記アプリケーション・サーバによって提供されるテレビ・サービスの要求に対するユーザ入力に関係する命令を包含する請求項7に記載のシステム。
- 前記1つまたは複数のユーザ・インターフェース・サーバは、それぞれのユーザ・デバイスに送信されるメニュー・ページを個人化する動作が可能である請求項5乃至8のいずれか1項に記載のシステム。
- 前記1つまたは複数のユーザ・インターフェース・サーバは、ユーザ・プロファイル・データに応じてそれぞれのユーザ・デバイスに送信されるメニュー・ページを個人化する動作が可能である請求項9に記載のシステム。
- 前記1つまたは複数のユーザ・インターフェース・サーバはメニュー・ページにユーザ名を包含し、かつ/またはメニュー・ページの背景色を変更するようにそれぞれのユーザ・デバイスに送信されるメニュー・ページを個人化する動作が可能である請求項10に記載のシステム。
- 前記1つまたは複数のユーザ・インターフェース・サーバはアプリケーション・サーバから受信したデータに応じてそれぞれのユーザ・デバイスに送信されるメニュー・ページを個人化する動作が可能である請求項9、10、または11に記載のシステム。
- アプリケーション・サーバから受信した前記データは現在のユーザから利用可能なテレビ・サービスまたはコンテンツに関係する請求項12に記載のシステム。
- 前記1つまたは複数のユーザ・インターフェース・サーバは、さらに、すでに配信されたメニュー・ページに関係するメニュー・データを格納するためのメニュー・キャッシュを備え、前記処理手段は、処理中の現在のユーザ要求が前記メニュー・キャッシュ内に格納されているメニュー・データに関係するかどうかを判別する動作が可能であり、前記1つまたは複数のユーザ・インターフェース・サーバはさらに、処理中の現在のユーザ要求が前記メニュー・キャッシュ内に格納されているメニュー・データと関係があると判別した場合に、ユーザ要求を該当するアプリケーション・サーバに渡すことなく、処理中の現在のユーザ要求のメニュー・ページを生成するために、前記メニュー・キャッシュ内に格納されているメニュー・データを使用する手段を備える請求項5乃至13のいずれか1項に記載のシステム。
- 前記メニュー・データは、すべてのユーザに共通のメニュー・ページの一部に関係するスタティック・メニュー・データを含み、前記生成手段は前記静的メニュー・データに加え、現在のユーザのユーザ・プロファイル・データを使用して現在のユーザのメニュー・ページを生成する動作が可能である請求項14に記載のシステム。
- 前記静的メニュー・データは、メニュー・データ内に含まれるユーザ個人化を識別するプレースホルダ・データを含み、前記生成手段は、前記プレースホルダ・データを適切なユーザ・プロファイル・データでスワップすることにより現在のユーザのメニュー・ページを生成する動作が可能である請求項15に記載のシステム。
- 前記メニュー・キャッシュは、すべてのユーザに共通のメニュー・ページの一部に関係するデータを格納するための静的メニュー・データ・ストアと、すでに配信されているメニュー・ページのユーザ固有の部分に関係するメニュー・データを格納するための動的メニュー・データ・ストアとを備える請求項14乃至16のいずれか1項に記載のシステム。
- 前記1つまたは複数のユーザ・インターフェース・サーバが、さらに、前記複数のアプリケーション・サーバから受信したテレビ・サービスに関係するユーザ固有のデータを格納するための第2のメニュー・キャッシュと、前記ユーザ固有のアプリケーションデータを使用してメニュー・ページのメニュー・データを生成するためのメニュー・データ生成手段とを備える請求項14乃至17のいずれか1項に記載のシステム。
- 前記メニュー・データ生成手段は、前記アプリケーション・サーバから受信したユーザ固有のデータをメニュー・ページのレイアウトおよび書式を記述するスタイル・シートと組み合わせることにより、メニュー・ページを記述するHTMLファイルを生成する動作が可能である請求項18に記載のシステム。
- 前記ユーザ・デバイスは、前記ユーザ・インターフェース・サーバからWebベースのメニュー・ページを受信し、ユーザに表示するための適切なメニュー・ページを生成するWebブラウザを備える請求項5乃至19のいずれか1項に記載のシステム。
- それぞれのユーザ・デバイスは、さらに、ユーザ・インターフェースを備え、このインターフェースを介して、ユーザは表示されているメニュー・ページからメニュー・オプションを選択できる請求項20に記載のシステム。
- さらに、ビデオ・データを受信し、ユーザに表示するためビデオ・シーケンスを生成するビデオ・プレーヤを備える請求項20または21に記載のシステム。
- 前記1つまたは複数のインターフェース・サーバは、1つまたは複数のアプリケーション・サーバで必要な1つまたは複数の処理機能を実行する共通機能プロセッサを備える請求項1乃至22のいずれか1項に記載のシステム。
- 前記共通機能プロセッサは、2つまたはそれ以上のアプリケーション・サーバに共通の機能を実行する動作が可能である請求項23に記載のシステム。
- 前記共通機能プロセッサは、エラー共通機能、アラート共通機能、お気に入り共通機能、または検索共通機能の共通機能のうちの1つまたは複数を実行する動作が可能である請求項23または24に記載のシステム。
- 前記処理手段は、受信したユーザ要求に応じて前記共通機能プロセッサによって実行される共通機能を呼び出すか呼び出さないかを決定する動作が可能である請求項23乃至25のいずれか1項に記載のシステム。
- 前記処理手段は、前記ユーザ要求を処理する動作が可能であり、また要求を送信したユーザに関係するユーザ・プロファイル・データを取り出して、このユーザ・プロファイル・データをユーザ要求に追加して該当するアプリケーション・サーバに渡す動作が可能である請求項1乃至26のいずれか1項に記載のシステム。
- 前記ユーザ・プロファイル・データは、ユーザ名、ユーザ・パスワード、ユーザ電子メール・アドレス、ユーザのお気に入り、ユーザ・チャンネル許可のうちの1つまたは複数を含む請求項27に記載のシステム。
- 前記処理手段は、そのユーザが現在のユーザ要求を行ったメニュー・ページを識別するデータを追加する動作が可能である請求項27または28に記載のシステム。
- このユーザ・インターフェース・サーバまたはそれぞれのユーザ・インターフェース・サーバは、さらに、ユーザ・インターフェース・サーバによって受信され処理されるユーザ要求の詳細を記録するためのユーザ要求ログを備える請求項1乃至29のいずれか1項に記載のシステム。
- さらにそれぞれのユーザ・インターフェース・サーバのユーザ要求ログ内のエントリを処理してユーザ・プロファイル情報を判別する手段を備え、前記ユーザ・インターフェース・サーバおよび/または前記複数のアプリケーション・サーバは判別されたユーザ・プロファイル情報に応じてそれぞれのユーザ・デバイスに送信されるデータを個人化する動作が可能である請求項30に記載のシステム。
- 前記処理手段は、ユーザ要求をユーザ要求の種類とそれぞれのユーザ要求を処理することができるアプリケーション・サーバを識別する格納されているユーザ要求データと比較する手段を備える請求項1乃至29のいずれか1項に記載のシステム。
- さらに、前記複数のアプリケーション・サーバおよびアプリケーション・サーバに関連するユーザ・プロファイル情報およびアプリケーション・データを格納する前記1つまたは複数のユーザ・インターフェース・サーバと共通のものとして提供されるデータベースを備える請求項1乃至32のいずれか1項に記載のシステム。
- 前記ユーザ・インターフェース・サーバおよび前記アプリケーション・サーバは、データベースに対して実行するクエリを最小限に抑えるためにデータをキャッシュしてユーザ要求を処理するデータ・キャッシュを備える請求項33に記載のシステム。
- 前記アプリケーション・サーバのうち1つまたは複数が放送テレビ・サービスを提供する請求項1乃至34のいずれか1項に記載のシステム。
- 前記アプリケーション・サーバのうち1つまたは複数がビデオ・オン・デマンド・テレビ・サービスを提供する請求項1乃至35のいずれか1項に記載のシステム。
- 前記アプリケーション・サーバのうち1つまたは複数が電子番組ガイド・テレビ・サービスを提供する請求項1乃至36のいずれか1項に記載のシステム。
- 前記アプリケーション・サーバのうち1つまたは複数がユーザ請求書作成テレビ・サービスを提供する請求項1乃至37のいずれか1項に記載のシステム。
- 前記アプリケーション・サーバのうち1つまたは複数がWorld Wide Webまたは電子メールへのアクセス機能を提供する請求項1乃至38のいずれか1項に記載のシステム。
- システムで使用するユーザ・デバイスであって、
目的のテレビ・サービスのユーザ入力を受信するための手段と、
受信したユーザ入力に従ってユーザ要求を送信する手段と、
ユーザに出力するために目的のテレビ・サービスを受信する手段とを備え、
ユーザ・デバイスは異なるアプリケーション・サーバによって提供される異なるテレビ・サービスの要求を共通ユーザ・インターフェース・サーバに送信する動作が可能であることを特徴とする請求項1乃至39のいずれか1項に記載のユーザ・デバイス。 - システムで使用するユーザ・インターフェース・サーバであって、
1つまたは複数のユーザ・デバイスから送信されたユーザ要求を受信するための手段と
目的のテレビ・サービスを提供することができるアプリケーション・サーバを判別する各ユーザ要求を処理する手段と、
前記判別手段により判別された適切なアプリケーション・サーバにユーザ要求を受け渡す手段を備える請求項1乃至39のいずれか1項に記載のユーザ・インターフェース・サーバ。 - 請求項1乃至39のいずれか1項に記載の技術的ユーザ・インターフェース・サーバ機能を備えるユーザ・インターフェース・サーバ。
- 請求項1乃至39のいずれか1項に記載の技術的ユーザ・デバイス機能を備えるユーザ・デバイス。
- 請求項1乃至39のいずれか1項に記載のアプリケーション・サーバ機能を備えるアプリケーション・サーバ。
- 電子番組ガイド・データを含む複数のメニュー・ページをユーザが参照するためのグラフィカル・ユーザ・インターフェースであって、
現在複数の番組チャンネルを放送しているテレビ番組を識別する複数の電子番組エントリを表示する第1の表示ウィンドウと、
ユーザからの選択入力への応答として前記第1の表示ウィンドウ内で番組チャンネルを選択する選択手段と、
現在再生中の番組が終了した後選択した番組チャンネルで放送する予定の番組を識別する番組一覧を表示する、前記選択手段に応答する、第2の表示ウィンドウを備えるグラフィカル・ユーザ・インターフェース。 - さらに、
前記電子番組エントリの1つを一度に表示することができる前記第1の表示ウィンドウ内に固定されている選択ウィンドウと、
前記選択ウィンドウを通じて複数の電子番組エントリをスクロールする動作が可能なカルーセル手段を備え、
前記選択手段は、前記選択入力を前記ユーザから受け取ると前記選択ウィンドウ内にある番組エントリを選択する動作が可能である請求項45に記載のグラフィカル・ユーザ・インターフェース。 - さらに、前記複数の電子番組エントリを前記選択ウィンドウ内にスクロールすることができる方向を示す1対のカーソルレス・ナビゲーション標識を備える請求項46に記載のグラフィカル・ユーザ・インターフェース。
- 前記選択ウィンドウが前記第1の表示ウィンドウの中央部分内に固定されている請求項46または47に記載のグラフィカル・ユーザ・インターフェース。
- 階層型メニューベースのグラフィカル・ユーザ・インターフェースの一部を形成する請求項45乃至48のいずれか1項に記載のグラフィカル・ユーザ・インターフェース。
- さらに前記グラフィカル・ユーザ・インターフェースのメニュー階層内をナビゲートする方向を示す第2の1対のカーソルレス・ナビゲーション標識を備える請求項49に記載のグラフィカル・ユーザ・インターフェース。
- 前記第2の表示ウィンドウは、選択された番組チャンネルで放送する予定の番組の1つを一度に表示できる、前記第2の表示ウィンドウ内に固定されている第2の選択ウィンドウを含む請求項45乃至50のいずれか1項に記載のグラフィカル・ユーザ・インターフェース。
- 前記第2の表示ウィンドウはさらに、現在第2の選択ウィンドウ内にある番組に関するテキスト記述を表示する動作が可能である請求項51に記載のグラフィカル・ユーザ・インターフェース。
- 前記第2の表示ウィンドウは、選択した番組チャンネルで放送されている現在の番組のサブウィンドウ内に表示する動作が可能である請求項52に記載のグラフィカル・ユーザ・インターフェース。
- ユーザが1つまたは複数のアプリケーション・サーバによって提供されるテレビ・サービスにアクセスするために使用するグラフィカル・ユーザ・インターフェースであって、
複数のテレビ・サービス・オプションを表示するための第1の表示ウィンドウと、
前記テレビ・オプションの1つを一度に表示することができる前記第1の表示ウィンドウ内に固定されている選択ウィンドウと、
前記選択ウィンドウを通じて複数のテレビ・オプションをスクロールする動作が可能なカルーセル手段と、
ユーザからの選択入力への応答として前記第2の選択ウィンドウ内にある現在のテレビ・オプションを選択する選択手段とを備えるグラフィカル・ユーザ・インターフェース。 - プログラム可能コンピュータ・デバイスを請求項1乃至39のいずれか1項に記載のシステムの一部を形成するユーザ・デバイスとして構成するコンピュータ実行可能命令を格納するコンピュータ読み取り可能媒体。
- プログラム可能コンピュータ・デバイスを請求項1乃至39のいずれか1項に記載のユーザ・インターフェース・サーバとして構成するコンピュータ実行可能命令を格納するコンピュータ読み取り可能媒体。
- プログラム可能コンピュータ・デバイスを請求項1乃至39のいずれか1項に記載のアプリケーション・サーバとして構成するコンピュータ実行可能命令を格納するコンピュータ読み取り可能媒体。
- プログラム可能コンピュータ・デバイスを請求項1乃至39のいずれか1項に記載のシステムの一部を形成するユーザ・デバイスとして構成するコンピュータ実行可能命令。
- プログラム可能コンピュータ・デバイスを請求項1乃至39のいずれか1項に記載のユーザ・インターフェース・サーバとして構成するコンピュータ実行可能命令。
- プログラム可能コンピュータ・デバイスを請求項1乃至39のいずれか1項に記載のアプリケーション・サーバとして構成するコンピュータ実行可能命令。
- インタラクティブ・テレビの方法であって、
複数のユーザ・デバイスを備え、各ユーザ・デバイスで、(i)目的のテレビジョン・サーバに対するユーザ入力を受信し、(ii)受信したユーザ入力に従ってユーザ要求を送信し、(iii)ユーザに出力するため目的のテレビ・サービスを受信する工程と、
それぞれ異なるテレビ・サービスを提供する複数のアプリケーション・サーバを備え、それぞれのアプリケーション・サーバでは、目的のテレビ・サービスのユーザ要求を受信し、目的のテレビ・サービスを適切なユーザ・デバイスに出力する工程を含み、
この方法はさらに、前記複数のユーザ・デバイスと前記複数のアプリケーション・サーバとの間で共通のものとして結合された1つまたは複数のユーザ・インターフェース・サーバを備える工程と、前記1つまたは複数のユーザ・インターフェース・サーバで、(i)前記ユーザ・デバイスから送信されたユーザ要求を受け取る工程と、(ii)目的のテレビ・サービス提供することができるアプリケーション・サーバを判別するそれぞれのユーザ要求を処理する工程と、(iii)前期判別工程により判別された適切なアプリケーション・サーバにユーザ要求を受け渡す工程を含むインタラクティブ・テレビの方法。 - 請求項1乃至39のいずれか1項に記載のシステムを使用することを特徴とするインタラクティブ・テレビ・システム。
- 請求項45乃至54のいずれか1項に記載のグラフィカル・ユーザ・インターフェースを使用することを特徴とするグラフィカル・ユーザ・インターフェースを生成する方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GBGB0108354.2A GB0108354D0 (en) | 2001-04-03 | 2001-04-03 | System and method for providing a user with access to a plurality of sevices and content from a broadband television service |
PCT/GB2002/001610 WO2002082814A2 (en) | 2001-04-03 | 2002-04-03 | User interface system for television services |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004537879A true JP2004537879A (ja) | 2004-12-16 |
Family
ID=9912176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002580637A Withdrawn JP2004537879A (ja) | 2001-04-03 | 2002-04-03 | ユーザ・インターフェース・システム |
Country Status (6)
Country | Link |
---|---|
US (1) | US20030151621A1 (ja) |
EP (1) | EP1435176A2 (ja) |
JP (1) | JP2004537879A (ja) |
AU (1) | AU2002253297A1 (ja) |
GB (1) | GB0108354D0 (ja) |
WO (1) | WO2002082814A2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031206A (ja) * | 2004-07-14 | 2006-02-02 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP2006203712A (ja) * | 2005-01-24 | 2006-08-03 | Era Digital Media Co Ltd | ディジタルテレビの放送システム及び認証方法 |
JP2006270378A (ja) * | 2005-03-23 | 2006-10-05 | Xanavi Informatics Corp | 車載テレビ表示装置 |
JP2010049678A (ja) * | 2008-06-30 | 2010-03-04 | Thomson Licensing | ユーザーインタフェースの表示方法および対応する送信方法 |
JP2013512644A (ja) * | 2009-11-30 | 2013-04-11 | アルカテル−ルーセント | Iptvのための階層型サービス再販機構 |
JP2013537337A (ja) * | 2010-09-15 | 2013-09-30 | アルカテル−ルーセント | サービス配信のための方法およびシステム |
JP2015149747A (ja) * | 2007-11-21 | 2015-08-20 | ユナイテッド ビデオ プロパティーズ, インコーポレイテッド | ダイナミックデータに基づいたユーザプロファイルの維持 |
Families Citing this family (231)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7904358B2 (en) * | 2001-02-28 | 2011-03-08 | Goldman Sachs & Co. | Computerized interface for monitoring financial information and executing financial transactions |
US20030023975A1 (en) * | 2001-03-02 | 2003-01-30 | Microsoft Corporation | Enhanced music services for television |
GB2373885A (en) * | 2001-03-28 | 2002-10-02 | World Information On Net | A data processing system enabling users to access services without need of specifying payment means direct to each service provider |
US7171443B2 (en) * | 2001-04-04 | 2007-01-30 | Prodigy Communications, Lp | Method, system, and software for transmission of information |
US20060235730A1 (en) * | 2005-04-15 | 2006-10-19 | Remo Politano | Indicating a pending content change within a benefits content system |
US7054939B2 (en) * | 2001-06-28 | 2006-05-30 | Bellsouth Intellectual Property Corportion | Simultaneous visual and telephonic access to interactive information delivery |
US6996537B2 (en) | 2001-08-13 | 2006-02-07 | Qualcomm Incorporated | System and method for providing subscribed applications on wireless devices over a wireless network |
US9203923B2 (en) | 2001-08-15 | 2015-12-01 | Qualcomm Incorporated | Data synchronization interface |
US8413205B2 (en) | 2001-09-19 | 2013-04-02 | Tvworks, Llc | System and method for construction, delivery and display of iTV content |
US11388451B2 (en) * | 2001-11-27 | 2022-07-12 | Comcast Cable Communications Management, Llc | Method and system for enabling data-rich interactive television using broadcast database |
US8365230B2 (en) | 2001-09-19 | 2013-01-29 | Tvworks, Llc | Interactive user interface for television applications |
US8042132B2 (en) | 2002-03-15 | 2011-10-18 | Tvworks, Llc | System and method for construction, delivery and display of iTV content |
GB2382966A (en) * | 2001-12-10 | 2003-06-11 | Sony Uk Ltd | Providing information and presentation template data for a carousel |
US8707354B1 (en) | 2002-06-12 | 2014-04-22 | Tvworks, Llc | Graphically rich, modular, promotional tile interface for interactive television |
US7703116B1 (en) | 2003-07-11 | 2010-04-20 | Tvworks, Llc | System and method for construction, delivery and display of iTV applications that blend programming information of on-demand and broadcast service offerings |
US8001567B2 (en) * | 2002-05-02 | 2011-08-16 | Microsoft Corporation | Media planner |
US8352983B1 (en) | 2002-07-11 | 2013-01-08 | Tvworks, Llc | Programming contextual interactive user interface for television |
US11070890B2 (en) | 2002-08-06 | 2021-07-20 | Comcast Cable Communications Management, Llc | User customization of user interfaces for interactive television |
US20040040041A1 (en) * | 2002-08-22 | 2004-02-26 | Microsoft Corporation | Interactive applications for stored video playback |
US20040044623A1 (en) * | 2002-08-28 | 2004-03-04 | Wake Susan L. | Billing system for wireless device activity |
EP2109048A1 (en) * | 2002-08-30 | 2009-10-14 | Sony Deutschland Gmbh | Methods to create a user profile and to specify a suggestion for a next selection of a user |
US8220018B2 (en) | 2002-09-19 | 2012-07-10 | Tvworks, Llc | System and method for preferred placement programming of iTV content |
JP2004171361A (ja) * | 2002-11-21 | 2004-06-17 | Canon Inc | 画像表示方法、画像表示装置、プログラム、および記憶媒体 |
US8082198B2 (en) * | 2002-12-11 | 2011-12-20 | Broadcom Corporation | Billing support in a media exchange network |
US8028093B2 (en) | 2002-12-11 | 2011-09-27 | Broadcom Corporation | Media processing system supporting adaptive digital media parameters based on end-user viewing capabilities |
JP4261895B2 (ja) * | 2002-12-13 | 2009-04-30 | キヤノン株式会社 | デジタル放送受信機及びデジタル放送受信機の制御方法 |
US8893174B2 (en) * | 2002-12-16 | 2014-11-18 | Centurylink Intellectual Property Llc | Method and system for providing customized media content |
US7949937B2 (en) | 2002-12-31 | 2011-05-24 | Business Objects Software Ltd | Apparatus and method for delivering portions of reports |
US20050262047A1 (en) * | 2002-12-31 | 2005-11-24 | Ju Wu | Apparatus and method for inserting portions of reports into electronic documents |
US20040163131A1 (en) * | 2003-01-31 | 2004-08-19 | Benco David S. | Telecommunication feature activation and billing support from a centralized server |
US9232077B2 (en) * | 2003-03-12 | 2016-01-05 | Qualcomm Incorporated | Automatic subscription system for applications and services provided to wireless devices |
US10664138B2 (en) | 2003-03-14 | 2020-05-26 | Comcast Cable Communications, Llc | Providing supplemental content for a second screen experience |
US11381875B2 (en) | 2003-03-14 | 2022-07-05 | Comcast Cable Communications Management, Llc | Causing display of user-selectable content types |
US8578411B1 (en) | 2003-03-14 | 2013-11-05 | Tvworks, Llc | System and method for controlling iTV application behaviors through the use of application profile filters |
US20060235864A1 (en) * | 2005-04-14 | 2006-10-19 | Apple Computer, Inc. | Audio sampling and acquisition system |
US7512622B2 (en) | 2003-06-11 | 2009-03-31 | Yahoo! Inc. | Method and apparatus for organizing and playing data |
US20040268225A1 (en) * | 2003-06-26 | 2004-12-30 | Walsh Raymond V. | Method and system for controlling navigation of a graphical user interface |
US20070130132A1 (en) * | 2003-06-30 | 2007-06-07 | Business Objects | Apparatus and method for personalized data delivery |
DE10331154A1 (de) * | 2003-07-07 | 2005-02-10 | Hünig, Veit | Verfahren und eine Anordnung zur Bereitstellung eines weltweiten TV- und/oder Video-Netzwerkes |
WO2005008543A1 (en) * | 2003-07-10 | 2005-01-27 | Computer Associates Think, Inc. | System and method for customizing a data display using a presentation profile |
US8416952B1 (en) | 2003-07-11 | 2013-04-09 | Tvworks, Llc | Channel family surf control |
US8098669B2 (en) | 2003-08-04 | 2012-01-17 | Intel Corporation | Method and apparatus for signaling virtual channel support in communication networks |
JP2005072701A (ja) * | 2003-08-28 | 2005-03-17 | Fujitsu Ltd | インタフェース提供装置 |
US7469302B2 (en) * | 2003-08-29 | 2008-12-23 | Yahoo! Inc. | System and method for ensuring consistent web display by multiple independent client programs with a server that is not persistently connected to client computer systems |
US8819734B2 (en) * | 2003-09-16 | 2014-08-26 | Tvworks, Llc | Contextual navigational control for digital television |
KR100688651B1 (ko) * | 2003-10-02 | 2007-02-28 | 엘지전자 주식회사 | 영상표시기기의 프로그램정보 구현장치 및 그 방법 |
CN1871608A (zh) * | 2003-10-27 | 2006-11-29 | 皇家飞利浦电子股份有限公司 | 搜索结果的逐屏幕呈现 |
US20050114798A1 (en) * | 2003-11-10 | 2005-05-26 | Jiang Zhaowei C. | 'Back' button in mobile applications |
US20050125743A1 (en) * | 2003-11-17 | 2005-06-09 | Imagic Tv Inc. | Universal history menu |
EP1695235A4 (en) * | 2003-12-19 | 2009-08-26 | Business Objects Sa | APPARATUS AND METHOD FOR USING DATA FILTERS FOR DISTRIBUTING PERSONALIZED DATA FROM A SHARED DOCUMENT |
US8171426B2 (en) | 2003-12-29 | 2012-05-01 | International Business Machines Corporation | Method for secondary selection highlighting |
US20050149969A1 (en) * | 2004-01-06 | 2005-07-07 | Vishnu Kumar | TV graphical menu interface that provides browseable listing of connected removable media content |
EP2485187A1 (en) | 2004-01-21 | 2012-08-08 | Qualcomm Incorporated | Application-based value billing in a wireless subscriber network |
US20050192922A1 (en) * | 2004-02-27 | 2005-09-01 | Edlund Stefan B. | Client-server computing system capable of validating cached data based on data transformation |
US7529870B1 (en) | 2004-04-27 | 2009-05-05 | Apple Inc. | Communication between an accessory and a media player with multiple lingoes |
US7673083B2 (en) * | 2004-04-27 | 2010-03-02 | Apple Inc. | Method and system for controlling video selection and playback in a portable media player |
US7797471B2 (en) | 2004-04-27 | 2010-09-14 | Apple Inc. | Method and system for transferring album artwork between a media player and an accessory |
US7441062B2 (en) | 2004-04-27 | 2008-10-21 | Apple Inc. | Connector interface system for enabling data communication with a multi-communication device |
US7634605B2 (en) * | 2004-04-27 | 2009-12-15 | Apple Inc. | Method and system for transferring stored data between a media player and an accessory |
US7441058B1 (en) | 2006-09-11 | 2008-10-21 | Apple Inc. | Method and system for controlling an accessory having a tuner |
US8117651B2 (en) | 2004-04-27 | 2012-02-14 | Apple Inc. | Method and system for authenticating an accessory |
US7895378B2 (en) * | 2004-04-27 | 2011-02-22 | Apple Inc. | Method and system for allowing a media player to transfer digital audio to an accessory |
US7529872B1 (en) | 2004-04-27 | 2009-05-05 | Apple Inc. | Communication between an accessory and a media player using a protocol with multiple lingoes |
US7526588B1 (en) | 2004-04-27 | 2009-04-28 | Apple Inc. | Communication between an accessory and a media player using a protocol with multiple lingoes |
US7826318B2 (en) | 2004-04-27 | 2010-11-02 | Apple Inc. | Method and system for allowing a media player to transfer digital audio to an accessory |
US7631336B2 (en) | 2004-07-30 | 2009-12-08 | Broadband Itv, Inc. | Method for converting, navigating and displaying video content uploaded from the internet to a digital TV video-on-demand platform |
US11259059B2 (en) | 2004-07-30 | 2022-02-22 | Broadband Itv, Inc. | System for addressing on-demand TV program content on TV services platform of a digital TV services provider |
US7590997B2 (en) | 2004-07-30 | 2009-09-15 | Broadband Itv, Inc. | System and method for managing, converting and displaying video content on a video-on-demand platform, including ads used for drill-down navigation and consumer-generated classified ads |
US8584257B2 (en) * | 2004-08-10 | 2013-11-12 | At&T Intellectual Property I, L.P. | Method and interface for video content acquisition security on a set-top box |
US8812551B2 (en) * | 2004-11-18 | 2014-08-19 | International Business Machines Corporation | Client-side manipulation of tables |
US20060117257A1 (en) * | 2004-11-30 | 2006-06-01 | International Business Machines Corporation | System and method for processing JavaScript resource files |
US7613383B2 (en) | 2004-12-02 | 2009-11-03 | Hitachi, Ltd. | Editing method and recording and reproducing device |
US7823214B2 (en) | 2005-01-07 | 2010-10-26 | Apple Inc. | Accessory authentication for electronic devices |
US20060179468A1 (en) * | 2005-02-04 | 2006-08-10 | Sbc Knowledge Ventures, L.P. | System and method of providing a television content guide |
US8028322B2 (en) * | 2005-03-14 | 2011-09-27 | Time Warner Cable Inc. | Method and apparatus for network content download and recording |
US20060224571A1 (en) | 2005-03-30 | 2006-10-05 | Jean-Michel Leon | Methods and systems to facilitate searching a data resource |
TW200636478A (en) * | 2005-04-08 | 2006-10-16 | Coretronic Corp | Method for selecting signal sources of a display |
US20060235731A1 (en) * | 2005-04-15 | 2006-10-19 | Anupam Gupta | Content filtering within a benefits content system |
US8788311B2 (en) * | 2005-04-15 | 2014-07-22 | Fmr Llc | Quality control of authoring work flow within a benefits content system |
US8265942B2 (en) * | 2005-04-15 | 2012-09-11 | Fmr Llc | Multi-authoring within benefits content system |
US7818667B2 (en) | 2005-05-03 | 2010-10-19 | Tv Works Llc | Verification of semantic constraints in multimedia data and in its announcement, signaling and interchange |
US20060271509A1 (en) * | 2005-05-24 | 2006-11-30 | Ju Wu | Apparatus and method for augmenting a report with parameter binding metadata |
US8527540B2 (en) * | 2005-05-24 | 2013-09-03 | Business Objects Software Ltd. | Augmenting a report with metadata for export to a non-report document |
US9185538B2 (en) | 2005-05-31 | 2015-11-10 | Qualcomm Incorporated | Wireless subscriber application and content distribution and differentiated pricing |
US9350875B2 (en) | 2005-05-31 | 2016-05-24 | Qualcomm Incorporated | Wireless subscriber billing and distribution |
KR20060128208A (ko) * | 2005-06-09 | 2006-12-14 | 삼성전자주식회사 | 사용자 선호에 따른 어플리케이션 제공 장치 및 방법 |
JP5255753B2 (ja) * | 2005-06-29 | 2013-08-07 | シャープ株式会社 | 情報端末装置および通信システム |
DE102005032681A1 (de) * | 2005-07-13 | 2007-01-25 | Deutsche Telekom Ag | Verfahren und System zur Durchführung einer interaktiven Fernsehsitzung |
US8561113B2 (en) * | 2005-08-12 | 2013-10-15 | At&T Intellectual Property I, L.P. | Augmenting television content with on-screen recording, ordering, searching and VoIP calling options |
KR100697536B1 (ko) * | 2005-11-08 | 2007-03-20 | 전자부품연구원 | TV-Anytime 서비스에서 get_Data 오퍼레이션을 이용한 사용자 정보 기초 검색 방법 |
KR100834629B1 (ko) * | 2005-11-14 | 2008-06-02 | 삼성전자주식회사 | 통신 시스템에서 인터넷 프로토콜 기반의 서비스를 제공하는 시스템 및 방법 |
US8155696B2 (en) * | 2005-12-02 | 2012-04-10 | At&T Mobility Ii Llc | Devices, systems and methods for scenario based services and intelligent user feedback |
US8238939B2 (en) | 2005-12-02 | 2012-08-07 | At&T Mobility Ii Llc | Multilayer correlation profiling engines |
US7636889B2 (en) * | 2006-01-06 | 2009-12-22 | Apple Inc. | Controlling behavior of elements in a display environment |
US20070162857A1 (en) * | 2006-01-06 | 2007-07-12 | Ralf Weber | Automated multimedia authoring |
US20070162855A1 (en) * | 2006-01-06 | 2007-07-12 | Kelly Hawk | Movie authoring |
CN100596174C (zh) * | 2006-01-20 | 2010-03-24 | 华为技术有限公司 | 电子节目单界面订制方法 |
WO2007084793A2 (en) * | 2006-01-23 | 2007-07-26 | Glenbrook Associates, Inc. | System and method for generating and delivering personalized content |
US9143622B2 (en) | 2006-02-17 | 2015-09-22 | Qualcomm Incorporated | Prepay accounts for applications, services and content for communication devices |
US9185234B2 (en) | 2006-02-22 | 2015-11-10 | Qualcomm Incorporated | Automated account mapping in a wireless subscriber billing system |
US7769805B1 (en) * | 2006-03-31 | 2010-08-03 | Spring Communications Company L.P. | Mobile device catalog and caching and architecture |
WO2007124429A2 (en) | 2006-04-20 | 2007-11-01 | Veveo, Inc. | User interface methods and systems for selecting and presenting content based on user navigation and selection actions associated with the content |
US8006019B2 (en) | 2006-05-22 | 2011-08-23 | Apple, Inc. | Method and system for transferring stored data between a media player and an accessory |
US8280982B2 (en) | 2006-05-24 | 2012-10-02 | Time Warner Cable Inc. | Personal content server apparatus and methods |
US8024762B2 (en) | 2006-06-13 | 2011-09-20 | Time Warner Cable Inc. | Methods and apparatus for providing virtual content over a network |
US7415563B1 (en) | 2006-06-27 | 2008-08-19 | Apple Inc. | Method and system for allowing a media player to determine if it supports the capabilities of an accessory |
US7647332B2 (en) * | 2006-06-29 | 2010-01-12 | Microsoft Corporation | Aggregating content from multiple content delivery types in a discovery interface |
US20080004960A1 (en) * | 2006-06-30 | 2008-01-03 | Microsoft Corporation Microsoft Patent Group | Interactive promotional space in a discovery interface |
US7840979B2 (en) * | 2006-06-30 | 2010-11-23 | Microsoft Corporation | Graphical tile-based expansion cell guide |
US8015580B2 (en) * | 2006-06-30 | 2011-09-06 | Microsoft Corporation | Customizing virtual channels in a discovery interface |
US7558894B1 (en) | 2006-09-11 | 2009-07-07 | Apple Inc. | Method and system for controlling power provided to an accessory |
US8849864B2 (en) * | 2006-10-17 | 2014-09-30 | At&T Intellectual Property I, L.P. | Digital archive systems, methods and computer program products for linking linked files |
US20080120567A1 (en) * | 2006-11-17 | 2008-05-22 | International Business Machines Corporation | Cooperative blade front panels |
US20080141306A1 (en) * | 2006-12-07 | 2008-06-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method of sending media program information to a subscriber and nodes therefor |
CN101207633B (zh) * | 2006-12-21 | 2012-01-04 | 英业达股份有限公司 | 网络存储系统的功能定制选择系统及方法 |
US8458184B2 (en) * | 2006-12-22 | 2013-06-04 | Apple Inc. | Tagging media assets, locations, and advertisements |
WO2008082441A1 (en) | 2006-12-29 | 2008-07-10 | Prodea Systems, Inc. | Display inserts, overlays, and graphical user interfaces for multimedia systems |
US9569587B2 (en) | 2006-12-29 | 2017-02-14 | Kip Prod Pi Lp | Multi-services application gateway and system employing the same |
US9602880B2 (en) | 2006-12-29 | 2017-03-21 | Kip Prod P1 Lp | Display inserts, overlays, and graphical user interfaces for multimedia systems |
US11783925B2 (en) | 2006-12-29 | 2023-10-10 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US11316688B2 (en) | 2006-12-29 | 2022-04-26 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US20170344703A1 (en) | 2006-12-29 | 2017-11-30 | Kip Prod P1 Lp | Multi-services application gateway and system employing the same |
US8290827B2 (en) * | 2007-03-23 | 2012-10-16 | At&T Intellectual Property I, L.P. | Method, medium, and system of presenting assets related to media content |
US8880529B2 (en) | 2007-05-15 | 2014-11-04 | Tivo Inc. | Hierarchical tags with community-based ratings |
WO2008144442A1 (en) * | 2007-05-15 | 2008-11-27 | Tivo Inc. | Multimedia content search and recording scheduling system |
US7747558B2 (en) | 2007-06-07 | 2010-06-29 | Motorola, Inc. | Method and apparatus to bind media with metadata using standard metadata headers |
TWI338253B (en) * | 2007-06-20 | 2011-03-01 | Quanta Comp Inc | Remote control system and method for providing application program thereof |
US11570521B2 (en) | 2007-06-26 | 2023-01-31 | Broadband Itv, Inc. | Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection |
US9654833B2 (en) | 2007-06-26 | 2017-05-16 | Broadband Itv, Inc. | Dynamic adjustment of electronic program guide displays based on viewer preferences for minimizing navigation in VOD program selection |
US8478245B2 (en) * | 2007-08-01 | 2013-07-02 | Phunware, Inc. | Method and system for rendering content on a wireless device |
KR100936240B1 (ko) * | 2007-09-03 | 2010-01-12 | 전자부품연구원 | Soap 오퍼레이션을 이용한 컨텐츠 질의방법 |
US7958142B2 (en) * | 2007-09-20 | 2011-06-07 | Microsoft Corporation | User profile aggregation |
US8005786B2 (en) * | 2007-09-20 | 2011-08-23 | Microsoft Corporation | Role-based user tracking in service usage |
US8850317B2 (en) * | 2007-10-17 | 2014-09-30 | Apple Inc. | Web browser audio controls |
US9015692B1 (en) | 2007-10-23 | 2015-04-21 | Phunware, Inc. | Method and system for customizing content on a server for rendering on a wireless device |
US20090119708A1 (en) * | 2007-11-07 | 2009-05-07 | Comcast Cable Holdings, Llc | User interface display without output device rendering |
US9130686B2 (en) * | 2007-12-20 | 2015-09-08 | Apple Inc. | Tagging of broadcast content using a portable media device controlled by an accessory |
US8701051B2 (en) * | 2008-02-11 | 2014-04-15 | Goldspot Media, Inc. | Hot spot use in advertising |
US8510661B2 (en) * | 2008-02-11 | 2013-08-13 | Goldspot Media | End to end response enabling collection and use of customer viewing preferences statistics |
US9189794B2 (en) * | 2008-02-11 | 2015-11-17 | Goldspot Media, Inc. | Method and apparatus for maximizing brand exposure in a minimal mobile display |
US8047966B2 (en) | 2008-02-29 | 2011-11-01 | Apple Inc. | Interfacing portable media devices and sports equipment |
US8621505B2 (en) * | 2008-03-31 | 2013-12-31 | At&T Intellectual Property I, L.P. | Method and system for closed caption processing |
KR101560183B1 (ko) | 2008-04-17 | 2015-10-15 | 삼성전자주식회사 | 사용자 인터페이스를 제공/수신하는 방법 및 장치 |
KR101545137B1 (ko) * | 2008-04-17 | 2015-08-19 | 삼성전자주식회사 | 사용자 인터페이스를 생성하는 방법 및 장치 |
KR20090110202A (ko) | 2008-04-17 | 2009-10-21 | 삼성전자주식회사 | 개인화된 사용자 인터페이스를 디스플레이하는 방법 및 장치 |
KR101531165B1 (ko) * | 2008-04-17 | 2015-06-25 | 삼성전자주식회사 | 클라이언트의 특성을 고려한 사용자 인터페이스를 제공, 수신하는 방법 및 장치 |
US8656444B2 (en) | 2008-06-30 | 2014-02-18 | Verizon Patent And Licensing Inc. | System for proactively troubleshooting set top box issues |
US20100017430A1 (en) * | 2008-07-21 | 2010-01-21 | Kodimer Marianne L | System and method for document processing job management based on user login |
US8201100B2 (en) * | 2008-09-04 | 2012-06-12 | VIZIO Inc. | Metadata driven control of navigational speed through a user interface |
US8208853B2 (en) | 2008-09-08 | 2012-06-26 | Apple Inc. | Accessory device authentication |
US8238811B2 (en) | 2008-09-08 | 2012-08-07 | Apple Inc. | Cross-transport authentication |
FR2936922A1 (fr) * | 2008-09-30 | 2010-04-09 | France Telecom | Selection d'un flux de donnees |
KR20100039017A (ko) * | 2008-10-07 | 2010-04-15 | 한국전자통신연구원 | 메뉴 마크업 언어를 이용한 원격 제어 장치 |
US11832024B2 (en) | 2008-11-20 | 2023-11-28 | Comcast Cable Communications, Llc | Method and apparatus for delivering video and video-related content at sub-asset level |
EP2216959B1 (en) * | 2009-02-04 | 2019-04-03 | Alcatel Lucent | Virtual customer premises equipment |
JP5638761B2 (ja) * | 2009-02-10 | 2014-12-10 | 富士通株式会社 | 画面生成方法、画面表示方法、画面生成装置、及びプログラム |
US8595793B2 (en) * | 2009-02-13 | 2013-11-26 | Samsung Electronics Co., Ltd. | System and method for user login to a multimedia system using a remote control |
US20100211884A1 (en) * | 2009-02-13 | 2010-08-19 | Samsung Electronics Co., Ltd. | System and method for joint user profile relating to consumer electronics |
US8490135B2 (en) * | 2009-05-11 | 2013-07-16 | Microsoft Corporation | Virtual media channels |
WO2010133024A1 (zh) * | 2009-05-19 | 2010-11-25 | 中山大学 | 一种优化数字家庭中数字电视交互式频道开发的方法 |
US9094713B2 (en) | 2009-07-02 | 2015-07-28 | Time Warner Cable Enterprises Llc | Method and apparatus for network association of content |
US9706257B2 (en) | 2009-09-14 | 2017-07-11 | At&T Intellectual Property I, L.P. | Viewing control management across multiple access points |
KR101611350B1 (ko) * | 2009-09-28 | 2016-04-12 | 삼성전자주식회사 | 채널 조정 방법 및 장치 |
KR101612845B1 (ko) * | 2009-11-12 | 2016-04-15 | 삼성전자주식회사 | 리모트 ui 서비스 제공 방법 및 장치 |
US10068269B2 (en) | 2009-11-12 | 2018-09-04 | At&T Intellectual Property I, L.P. | Method for controlling electronic storefronts in a multimedia content distribution network |
US9325502B2 (en) | 2009-11-13 | 2016-04-26 | At&T Intellectual Property I, L.P. | Identity management for transactional content |
US9106424B2 (en) | 2010-01-04 | 2015-08-11 | Samsung Electronics Co., Ltd. | Method and system for providing users login access to multiple devices via a communication system |
US10027676B2 (en) | 2010-01-04 | 2018-07-17 | Samsung Electronics Co., Ltd. | Method and system for multi-user, multi-device login and content access control and metering and blocking |
JP2011180989A (ja) * | 2010-03-03 | 2011-09-15 | Canon Inc | プリントサーバー装置、印刷制御方法及びプログラム |
JP5336405B2 (ja) * | 2010-03-10 | 2013-11-06 | 富士フイルム株式会社 | 社内情報閲覧用サーバ・システムおよびその制御方法 |
US20130204406A1 (en) * | 2010-04-12 | 2013-08-08 | Electrolux Home Products Corporation N.V. | Control interface for household appliances |
KR101714661B1 (ko) * | 2010-08-13 | 2017-03-09 | 엘지전자 주식회사 | 영상표시기기의 데이터 입력 방법 및 그에 따른 영상표시기기 |
US8468568B2 (en) | 2010-10-14 | 2013-06-18 | Comcast Cable Communications, LLC. | Transmission of video signals |
KR101184754B1 (ko) * | 2010-11-19 | 2012-09-20 | 주식회사 포키비언 | 적응형 사용자 인터페이스 제공 시스템 및 방법 |
DE102011002822A1 (de) | 2011-01-18 | 2012-07-19 | Siemens Ag Österreich | Verfahren und System zum Erstellen einer Bedienoberfläche für interaktive Media-Anwendungen |
US20120216117A1 (en) | 2011-02-18 | 2012-08-23 | Sony Corporation | Method and apparatus for navigating a hierarchical menu based user interface |
US20120233552A1 (en) * | 2011-03-07 | 2012-09-13 | Sony Corporation | Personalizing the user experience |
CN102149019A (zh) * | 2011-03-28 | 2011-08-10 | 苏州汉辰数字多媒体有限公司 | 一种分层式模块化个人电视门户的分区管理应用及其实现方法 |
US9112623B2 (en) | 2011-06-06 | 2015-08-18 | Comcast Cable Communications, Llc | Asynchronous interaction at specific points in content |
US9237365B2 (en) * | 2011-08-09 | 2016-01-12 | Verizon Patent And Licensing Inc. | Pay-per-view portal |
US8700999B2 (en) * | 2011-08-15 | 2014-04-15 | Google Inc. | Carousel user interface for document management |
US9275365B2 (en) * | 2011-12-14 | 2016-03-01 | Sap Se | Integrated productivity services |
US10262148B2 (en) | 2012-01-09 | 2019-04-16 | Visa International Service Association | Secure dynamic page content and layouts apparatuses, methods and systems |
US20130212487A1 (en) * | 2012-01-09 | 2013-08-15 | Visa International Service Association | Dynamic Page Content and Layouts Apparatuses, Methods and Systems |
US11308227B2 (en) | 2012-01-09 | 2022-04-19 | Visa International Service Association | Secure dynamic page content and layouts apparatuses, methods and systems |
US9332241B2 (en) * | 2012-03-26 | 2016-05-03 | Customplay Llc | Video map responsive to a video release |
US8838149B2 (en) | 2012-04-02 | 2014-09-16 | Time Warner Cable Enterprises Llc | Apparatus and methods for ensuring delivery of geographically relevant content |
US10674191B2 (en) | 2012-04-06 | 2020-06-02 | Minerva Networks, Inc | Systems and methods to remotely synchronize digital data |
US10216492B2 (en) | 2012-05-17 | 2019-02-26 | Sony Interactive Entertainment LLC | Configuration and management of menus |
US9423925B1 (en) * | 2012-07-11 | 2016-08-23 | Google Inc. | Adaptive content control and display for internet media |
US20160119675A1 (en) | 2012-09-06 | 2016-04-28 | Flextronics Ap, Llc | Programming user behavior reporting |
US9118864B2 (en) | 2012-08-17 | 2015-08-25 | Flextronics Ap, Llc | Interactive channel navigation and switching |
US11368760B2 (en) | 2012-08-17 | 2022-06-21 | Flextronics Ap, Llc | Applications generating statistics for user behavior |
US20140089981A1 (en) * | 2012-09-25 | 2014-03-27 | United Video Properties, Inc. | Systems and methods for presenting shortcuts in free spaces of a program guide |
US10140198B1 (en) | 2012-10-30 | 2018-11-27 | Google Llc | Networked desktop environment |
US11115722B2 (en) | 2012-11-08 | 2021-09-07 | Comcast Cable Communications, Llc | Crowdsourcing supplemental content |
US9106720B1 (en) * | 2013-01-02 | 2015-08-11 | Amazon Technologies, Inc. | Personalized smart-list video channels |
US8990205B2 (en) * | 2013-01-28 | 2015-03-24 | International Business Machines Corporation | Data caveats for database tables |
US9875002B2 (en) * | 2013-02-26 | 2018-01-23 | Roku, Inc. | Method and apparatus for content browsing and selection |
US20140282786A1 (en) | 2013-03-12 | 2014-09-18 | Time Warner Cable Enterprises Llc | Methods and apparatus for providing and uploading content to personalized network storage |
US9553927B2 (en) | 2013-03-13 | 2017-01-24 | Comcast Cable Communications, Llc | Synchronizing multiple transmissions of content |
US10880609B2 (en) | 2013-03-14 | 2020-12-29 | Comcast Cable Communications, Llc | Content event messaging |
KR20210063458A (ko) * | 2013-06-20 | 2021-06-01 | 더 탈라리애스트 인크. | 프로그래밍 콘텐츠에 관련되는 아이템들을 홍보하는 시스템 및 방법 |
US20150288619A1 (en) * | 2014-04-04 | 2015-10-08 | Minerva Networks, Inc. | Distributed service management platform |
US9632991B2 (en) | 2014-09-15 | 2017-04-25 | Oracle International Corporation | High performant and high fidelity previews for CSS preprocessing frameworks |
US11783382B2 (en) | 2014-10-22 | 2023-10-10 | Comcast Cable Communications, Llc | Systems and methods for curating content metadata |
WO2016106155A1 (en) * | 2014-12-22 | 2016-06-30 | Zenedge, Inc. | Dynamic content caching system |
US10275141B2 (en) * | 2014-12-31 | 2019-04-30 | Dish Technologies Llc | Systems and methods for overlaying a digital mini guide onto a video stream |
US9952916B2 (en) * | 2015-04-10 | 2018-04-24 | Microsoft Technology Licensing, Llc | Event processing system paging |
US10313468B2 (en) * | 2015-06-16 | 2019-06-04 | Comcast Cable Communications, Llc | Caching of metadata objects |
US10855741B2 (en) * | 2015-08-06 | 2020-12-01 | Sensormatic Electronics, LLC | System and method for multiplexed video stream decoding in web browser |
US10785310B1 (en) * | 2015-09-30 | 2020-09-22 | Open Text Corporation | Method and system implementing dynamic and/or adaptive user interfaces |
US9516373B1 (en) | 2015-12-21 | 2016-12-06 | Max Abecassis | Presets of synchronized second screen functions |
US9596502B1 (en) | 2015-12-21 | 2017-03-14 | Max Abecassis | Integration of multiple synchronization methodologies |
US11039181B1 (en) | 2016-05-09 | 2021-06-15 | Google Llc | Method and apparatus for secure video manifest/playlist generation and playback |
US10785508B2 (en) * | 2016-05-10 | 2020-09-22 | Google Llc | System for measuring video playback events using a server generated manifest/playlist |
US10750216B1 (en) | 2016-05-10 | 2020-08-18 | Google Llc | Method and apparatus for providing peer-to-peer content delivery |
US10595054B2 (en) | 2016-05-10 | 2020-03-17 | Google Llc | Method and apparatus for a virtual online video channel |
US10771824B1 (en) | 2016-05-10 | 2020-09-08 | Google Llc | System for managing video playback using a server generated manifest/playlist |
US11069378B1 (en) | 2016-05-10 | 2021-07-20 | Google Llc | Method and apparatus for frame accurate high resolution video editing in cloud using live video streams |
US10750248B1 (en) | 2016-05-10 | 2020-08-18 | Google Llc | Method and apparatus for server-side content delivery network switching |
US11032588B2 (en) | 2016-05-16 | 2021-06-08 | Google Llc | Method and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback |
US10282172B2 (en) * | 2016-09-12 | 2019-05-07 | Adobe Inc. | Authoring and deploying television apps and pages in a content management system |
US20180167691A1 (en) * | 2016-12-13 | 2018-06-14 | The Directv Group, Inc. | Easy play from a specified position in time of a broadcast of a data stream |
US10762098B2 (en) * | 2017-08-08 | 2020-09-01 | International Business Machines Corporation | Utilizing database tables for dashboard management |
KR20210102063A (ko) * | 2020-02-11 | 2021-08-19 | 현대자동차주식회사 | M2m 시스템에서 확인 기반 동작을 수행하기 위한 방법 및 장치 |
US11379367B2 (en) * | 2020-11-19 | 2022-07-05 | Micron Technology, Inc. | Enhancement for activation and deactivation of memory address regions |
USD995539S1 (en) * | 2021-03-03 | 2023-08-15 | GE Precision Healthcare LLC | Display screen or portion thereof with graphical user interface |
CN113347482B (zh) * | 2021-06-18 | 2023-10-27 | 聚好看科技股份有限公司 | 一种播放数据的方法及显示设备 |
US11880572B2 (en) * | 2021-09-15 | 2024-01-23 | Adp, Inc. | Cache refresh system and processes |
CN117407625A (zh) * | 2023-12-13 | 2024-01-16 | 彩讯科技股份有限公司 | 用于智能设备的网页操作方法和装置 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5526034A (en) * | 1990-09-28 | 1996-06-11 | Ictv, Inc. | Interactive home information system with signal assignment |
US5600364A (en) * | 1992-12-09 | 1997-02-04 | Discovery Communications, Inc. | Network controller for cable television delivery systems |
CA2095452C (en) * | 1993-05-04 | 1997-03-18 | Phillip J. Beaudet | Dynamic hierarchical selection menu |
US5781246A (en) * | 1993-09-09 | 1998-07-14 | Alten; Jerry | Electronic television program guide schedule system and method |
JP3137536B2 (ja) * | 1994-07-14 | 2001-02-26 | 株式会社東芝 | 画像形成装置 |
US5623595A (en) * | 1994-09-26 | 1997-04-22 | Oracle Corporation | Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system |
WO1996016497A1 (en) * | 1994-11-21 | 1996-05-30 | Oracle Corporation | Transferring binary large objects (blobs) in a network environment |
WO1996017306A2 (en) * | 1994-11-21 | 1996-06-06 | Oracle Corporation | Media server |
US5682511A (en) * | 1995-05-05 | 1997-10-28 | Microsoft Corporation | Graphical viewer interface for an interactive network system |
US6769128B1 (en) * | 1995-06-07 | 2004-07-27 | United Video Properties, Inc. | Electronic television program guide schedule system and method with data feed access |
US6138147A (en) * | 1995-07-14 | 2000-10-24 | Oracle Corporation | Method and apparatus for implementing seamless playback of continuous media feeds |
US6119154A (en) * | 1995-07-14 | 2000-09-12 | Oracle Corporation | Method and apparatus for non-sequential access to an in-progress video feed |
US5659539A (en) * | 1995-07-14 | 1997-08-19 | Oracle Corporation | Method and apparatus for frame accurate access of digital audio-visual information |
US6112226A (en) * | 1995-07-14 | 2000-08-29 | Oracle Corporation | Method and apparatus for concurrently encoding and tagging digital information for allowing non-sequential access during playback |
US6025837A (en) * | 1996-03-29 | 2000-02-15 | Micrsoft Corporation | Electronic program guide with hyperlinks to target resources |
US6055577A (en) * | 1996-05-06 | 2000-04-25 | Oracle Corporation | System for granting bandwidth for real time processes and assigning bandwidth for non-real time processes while being forced to periodically re-arbitrate for new assigned bandwidth |
JP3875310B2 (ja) * | 1996-05-27 | 2007-01-31 | 富士通株式会社 | 放送番組情報送信装置 |
JPH1056200A (ja) * | 1996-08-08 | 1998-02-24 | Oki Electric Ind Co Ltd | 発光ダイオードおよびその製造方法 |
US6208335B1 (en) * | 1997-01-13 | 2001-03-27 | Diva Systems Corporation | Method and apparatus for providing a menu structure for an interactive information distribution system |
US6070172A (en) * | 1997-03-06 | 2000-05-30 | Oracle Corporation | On-line free space defragmentation of a contiguous-file file system |
US6009473A (en) * | 1997-04-30 | 1999-12-28 | Oracle Corporation | Using callbacks to effectively manage resources |
US6792616B1 (en) * | 1998-05-01 | 2004-09-14 | Scientific-Atlanta, Inc. | System and method for providing a plurality of programming services in a television system |
US6389458B2 (en) * | 1998-10-30 | 2002-05-14 | Ideaflood, Inc. | Method, apparatus and system for directing access to content on a computer network |
-
2001
- 2001-04-03 GB GBGB0108354.2A patent/GB0108354D0/en not_active Ceased
-
2002
- 2002-04-03 EP EP02722416A patent/EP1435176A2/en not_active Withdrawn
- 2002-04-03 WO PCT/GB2002/001610 patent/WO2002082814A2/en not_active Application Discontinuation
- 2002-04-03 AU AU2002253297A patent/AU2002253297A1/en not_active Abandoned
- 2002-04-03 JP JP2002580637A patent/JP2004537879A/ja not_active Withdrawn
- 2002-09-27 US US10/260,256 patent/US20030151621A1/en not_active Abandoned
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006031206A (ja) * | 2004-07-14 | 2006-02-02 | Sony Corp | 情報処理装置および方法、並びにプログラム |
JP2006203712A (ja) * | 2005-01-24 | 2006-08-03 | Era Digital Media Co Ltd | ディジタルテレビの放送システム及び認証方法 |
JP2006270378A (ja) * | 2005-03-23 | 2006-10-05 | Xanavi Informatics Corp | 車載テレビ表示装置 |
JP2015149747A (ja) * | 2007-11-21 | 2015-08-20 | ユナイテッド ビデオ プロパティーズ, インコーポレイテッド | ダイナミックデータに基づいたユーザプロファイルの維持 |
JP2010049678A (ja) * | 2008-06-30 | 2010-03-04 | Thomson Licensing | ユーザーインタフェースの表示方法および対応する送信方法 |
US9762860B2 (en) | 2008-06-30 | 2017-09-12 | Thomson Licensing Dtv | Method of display of a user interface and corresponding transmission method |
JP2013512644A (ja) * | 2009-11-30 | 2013-04-11 | アルカテル−ルーセント | Iptvのための階層型サービス再販機構 |
US9894127B2 (en) | 2009-11-30 | 2018-02-13 | Alcatel Lucent | Tiered service resell mechanism for IPTV |
JP2013537337A (ja) * | 2010-09-15 | 2013-09-30 | アルカテル−ルーセント | サービス配信のための方法およびシステム |
US9231960B2 (en) | 2010-09-15 | 2016-01-05 | Alcatel Lucent | Methods and systems for service delivery |
Also Published As
Publication number | Publication date |
---|---|
WO2002082814A3 (en) | 2004-04-22 |
US20030151621A1 (en) | 2003-08-14 |
GB0108354D0 (en) | 2001-05-23 |
EP1435176A2 (en) | 2004-07-07 |
AU2002253297A1 (en) | 2002-10-21 |
WO2002082814A2 (en) | 2002-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004537879A (ja) | ユーザ・インターフェース・システム | |
US10382837B2 (en) | Linking and browsing media on television | |
JP3943602B2 (ja) | テレビジョン番組及びインターネットコンテンツの表示 | |
US7624412B2 (en) | Recording and playback system | |
US8903863B2 (en) | User interface with available multimedia content from multiple multimedia websites | |
US8205232B2 (en) | Interactive computer system for providing television schedule information | |
CA2232003C (en) | Systems and methods for providing television schedule information | |
JP4743738B2 (ja) | ニュースグループを用いる双方向テレビシステム | |
JP2019179558A (ja) | 双方向メディアガイダンスアプリケーションにおいてメディアを取得、分類、および配信するためのシステムおよび方法 | |
US20020078453A1 (en) | Hub pages for set top box startup screen | |
JP2010505355A (ja) | 時刻に基づいて双方向メディアガイダンスアプリケーションインターフェイスを変更するためのシステムおよび方法 | |
JP2004537880A (ja) | 利用傾向データを用いたインターネットコンテンツのインタラクティブテレビジョン装置への読込 | |
JP2004507984A (ja) | 双方向テレビジョンシステム | |
CA2763667C (en) | Interactive entertainment systems and methods | |
JP2001054081A (ja) | 放送装置および方法、リモートコントロール装置および方法、情報受信装置および方法、情報処理装置および方法、情報処理システム、並びに媒体 | |
WO2000020957A1 (en) | System for providing a user with active and passive access to cached content |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050324 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050322 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050322 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20070723 |