(57)【要約】【課題】本発明は、ユーザがリモート・サーバから複数のテレビ・サービスおよびコンテンツにアクセスし、またユーザが個別にカスタマイズ可能でかつ個人化されているグラフィカル・インターフェースを通じて望みのサービスおよびコンテンツにアクセスするためのシステムおよび方法を提示する。【解決手段】システムは、アプリケーション・コンポーネント、データベース・コンポーネント、１つまたは複数のユーザ・インターフェース・サーバ、および１つまたは複数のユーザ・デバイスを備える。アプリケーション・コンポーネントでは、ユーザに対し、たとえば、電子番組ガイド・サービス、ビデオ・オン・デマンド・サービス、ワールド・ワイドＷｅｂアクセス、電子メールなどのサービスを提供する。これらのシステムは、アクセスされ、最終的に表示および対話操作のためユーザに配信されるコンテンツを取り出し、供給する。データベース・コンポーネントは、ユーザ・プロファイル・データおよび使用度情報だけでなく、コンテンツおよび書式設定データも含む。ユーザ・インターフェース・サーバは、データベース・コンポーネントおよびアプリケーション・コンポーネントからデータにアクセスし、そのデータを処理して、個人化したユーザ・インターフェース、個人化した電子番組ガイド、およびアプリケーション・コンテンツを生成し、データ・ネットワーク経由でユーザ・デバイスに配信する。
2004537879.tif 000002
【特許請求の範囲】
【請求項１】
インタラクティブ・テレビ・システムであって、（ｉ）目的のテレビ・サービスに対するユーザ入力を受け取るための手段と、（ｉｉ）受け取ったユーザ入力に従ってユーザ要求を送信する手段と、（ｉｉｉ）ユーザに出力するため目的のテレビ・サービスを受け取る手段とをそれぞれ備える複数のユーザ・デバイスと、
それぞれ異なるテレビ・サービスを提供し、それぞれ目的のテレビ・サービスに対するユーザ要求を受け取るための手段と目的のテレビ・サービスを適切なユーザ・デバイスに出力するための手段とを備える複数のアプリケーション・サーバを備え、
システムはさらに、（ｉ）前記ユーザ・デバイスから送信されたユーザ要求を受け取るための手段と、（ｉｉ）目的のテレビ・サービス提供することができるアプリケーション・サーバを判別するそれぞれのユーザ要求を処理するための手段と、（ｉｉｉ）前期判別手段により判別された適切なアプリケーション・サーバにユーザ要求を受け渡すための手段とを備える、前記複数のユーザ・デバイスと前記複数のアプリケーション・サーバとの間で共有されるように結合された１つまたは複数のユーザ・インターフェース・サーバを備える、インタラクティブ・テレビ・システム。
【請求項２】
前記ユーザ・デバイスのそれぞれがグラフィカル・ユーザ・インターフェースを備え、このインターフェースを介して、ユーザは前記複数のアプリケーション・サーバから利用できるテレビ・サービスにアクセスすることができる請求項１に記載のシステム。
【請求項３】
グラフィカル・ユーザ・インターフェースは、ユーザが目的のテレビ・サービスを選択できる複数のメニュー・ページを備える請求項２に記載のシステム。
【請求項４】
前記複数のメニュー・ページは階層型に配列され、ユーザはこのメニュー・ページの階層をナビゲートすることで、目的のテレビ・サービスを選択できる請求項３に記載のシステム。
【請求項５】
前記メニュー・ページは前記１つまたは複数のユーザ・インターフェース・サーバ内に生成され、必要になったときに前記ユーザ・デバイスに送信される請求項３または４に記載のシステム。
【請求項６】
前記１つまたは複数のユーザ・インターフェース・サーバは、符号化された形式でそれぞれのメニュー・ページを生成する動作が可能であり、前記ユーザ・デバイスは受信したメニュー・ページを復号化する手段を備える請求項５に記載のシステム。
【請求項７】
前記１つまたは複数のユーザ・インターフェース・サーバは、それぞれのメニュー・ページをＨＴＭＬファイルとして生成する動作が可能であり、前記ユーザ・デバイスはユーザに出力する対応するメニュー・ページを生成するためＨＴＭＬファイルを処理するＷｅｂブラウザを備える請求項６に記載のシステム。
【請求項８】
ＨＴＭＬファイルは、別のメニュー・ページまたは前記アプリケーション・サーバによって提供されるテレビ・サービスの要求に対するユーザ入力に関係する命令を包含する請求項７に記載のシステム。
【請求項９】
前記１つまたは複数のユーザ・インターフェース・サーバは、それぞれのユーザ・デバイスに送信されるメニュー・ページを個人化する動作が可能である請求項５乃至８のいずれか１項に記載のシステム。
【請求項１０】
前記１つまたは複数のユーザ・インターフェース・サーバは、ユーザ・プロファイル・データに応じてそれぞれのユーザ・デバイスに送信されるメニュー・ページを個人化する動作が可能である請求項９に記載のシステム。
【請求項１１】
前記１つまたは複数のユーザ・インターフェース・サーバはメニュー・ページにユーザ名を包含し、かつ／またはメニュー・ページの背景色を変更するようにそれぞれのユーザ・デバイスに送信されるメニュー・ページを個人化する動作が可能である請求項１０に記載のシステム。
【請求項１２】
前記１つまたは複数のユーザ・インターフェース・サーバはアプリケーション・サーバから受信したデータに応じてそれぞれのユーザ・デバイスに送信されるメニュー・ページを個人化する動作が可能である請求項９、１０、または１１に記載のシステム。
【請求項１３】
アプリケーション・サーバから受信した前記データは現在のユーザから利用可能なテレビ・サービスまたはコンテンツに関係する請求項１２に記載のシステム。
【請求項１４】
前記１つまたは複数のユーザ・インターフェース・サーバは、さらに、すでに配信されたメニュー・ページに関係するメニュー・データを格納するためのメニュー・キャッシュを備え、前記処理手段は、処理中の現在のユーザ要求が前記メニュー・キャッシュ内に格納されているメニュー・データに関係するかどうかを判別する動作が可能であり、前記１つまたは複数のユーザ・インターフェース・サーバはさらに、処理中の現在のユーザ要求が前記メニュー・キャッシュ内に格納されているメニュー・データと関係があると判別した場合に、ユーザ要求を該当するアプリケーション・サーバに渡すことなく、処理中の現在のユーザ要求のメニュー・ページを生成するために、前記メニュー・キャッシュ内に格納されているメニュー・データを使用する手段を備える請求項５乃至１３のいずれか１項に記載のシステム。
【請求項１５】
前記メニュー・データは、すべてのユーザに共通のメニュー・ページの一部に関係するスタティック・メニュー・データを含み、前記生成手段は前記静的メニュー・データに加え、現在のユーザのユーザ・プロファイル・データを使用して現在のユーザのメニュー・ページを生成する動作が可能である請求項１４に記載のシステム。
【請求項１６】
前記静的メニュー・データは、メニュー・データ内に含まれるユーザ個人化を識別するプレースホルダ・データを含み、前記生成手段は、前記プレースホルダ・データを適切なユーザ・プロファイル・データでスワップすることにより現在のユーザのメニュー・ページを生成する動作が可能である請求項１５に記載のシステム。
【請求項１７】
前記メニュー・キャッシュは、すべてのユーザに共通のメニュー・ページの一部に関係するデータを格納するための静的メニュー・データ・ストアと、すでに配信されているメニュー・ページのユーザ固有の部分に関係するメニュー・データを格納するための動的メニュー・データ・ストアとを備える請求項１４乃至１６のいずれか１項に記載のシステム。
【請求項１８】
前記１つまたは複数のユーザ・インターフェース・サーバが、さらに、前記複数のアプリケーション・サーバから受信したテレビ・サービスに関係するユーザ固有のデータを格納するための第２のメニュー・キャッシュと、前記ユーザ固有のアプリケーションデータを使用してメニュー・ページのメニュー・データを生成するためのメニュー・データ生成手段とを備える請求項１４乃至１７のいずれか１項に記載のシステム。
【請求項１９】
前記メニュー・データ生成手段は、前記アプリケーション・サーバから受信したユーザ固有のデータをメニュー・ページのレイアウトおよび書式を記述するスタイル・シートと組み合わせることにより、メニュー・ページを記述するＨＴＭＬファイルを生成する動作が可能である請求項１８に記載のシステム。
【請求項２０】
前記ユーザ・デバイスは、前記ユーザ・インターフェース・サーバからＷｅｂベースのメニュー・ページを受信し、ユーザに表示するための適切なメニュー・ページを生成するＷｅｂブラウザを備える請求項５乃至１９のいずれか１項に記載のシステム。
【請求項２１】
それぞれのユーザ・デバイスは、さらに、ユーザ・インターフェースを備え、このインターフェースを介して、ユーザは表示されているメニュー・ページからメニュー・オプションを選択できる請求項２０に記載のシステム。
【請求項２２】
さらに、ビデオ・データを受信し、ユーザに表示するためビデオ・シーケンスを生成するビデオ・プレーヤを備える請求項２０または２１に記載のシステム。
【請求項２３】
前記１つまたは複数のインターフェース・サーバは、１つまたは複数のアプリケーション・サーバで必要な１つまたは複数の処理機能を実行する共通機能プロセッサを備える請求項１乃至２２のいずれか１項に記載のシステム。
【請求項２４】
前記共通機能プロセッサは、２つまたはそれ以上のアプリケーション・サーバに共通の機能を実行する動作が可能である請求項２３に記載のシステム。
【請求項２５】
前記共通機能プロセッサは、エラー共通機能、アラート共通機能、お気に入り共通機能、または検索共通機能の共通機能のうちの１つまたは複数を実行する動作が可能である請求項２３または２４に記載のシステム。
【請求項２６】
前記処理手段は、受信したユーザ要求に応じて前記共通機能プロセッサによって実行される共通機能を呼び出すか呼び出さないかを決定する動作が可能である請求項２３乃至２５のいずれか１項に記載のシステム。
【請求項２７】
前記処理手段は、前記ユーザ要求を処理する動作が可能であり、また要求を送信したユーザに関係するユーザ・プロファイル・データを取り出して、このユーザ・プロファイル・データをユーザ要求に追加して該当するアプリケーション・サーバに渡す動作が可能である請求項１乃至２６のいずれか１項に記載のシステム。
【請求項２８】
前記ユーザ・プロファイル・データは、ユーザ名、ユーザ・パスワード、ユーザ電子メール・アドレス、ユーザのお気に入り、ユーザ・チャンネル許可のうちの１つまたは複数を含む請求項２７に記載のシステム。
【請求項２９】
前記処理手段は、そのユーザが現在のユーザ要求を行ったメニュー・ページを識別するデータを追加する動作が可能である請求項２７または２８に記載のシステム。
【請求項３０】
このユーザ・インターフェース・サーバまたはそれぞれのユーザ・インターフェース・サーバは、さらに、ユーザ・インターフェース・サーバによって受信され処理されるユーザ要求の詳細を記録するためのユーザ要求ログを備える請求項１乃至２９のいずれか１項に記載のシステム。
【請求項３１】
さらにそれぞれのユーザ・インターフェース・サーバのユーザ要求ログ内のエントリを処理してユーザ・プロファイル情報を判別する手段を備え、前記ユーザ・インターフェース・サーバおよび／または前記複数のアプリケーション・サーバは判別されたユーザ・プロファイル情報に応じてそれぞれのユーザ・デバイスに送信されるデータを個人化する動作が可能である請求項３０に記載のシステム。
【請求項３２】
前記処理手段は、ユーザ要求をユーザ要求の種類とそれぞれのユーザ要求を処理することができるアプリケーション・サーバを識別する格納されているユーザ要求データと比較する手段を備える請求項１乃至２９のいずれか１項に記載のシステム。
【請求項３３】
さらに、前記複数のアプリケーション・サーバおよびアプリケーション・サーバに関連するユーザ・プロファイル情報およびアプリケーション・データを格納する前記１つまたは複数のユーザ・インターフェース・サーバと共通のものとして提供されるデータベースを備える請求項１乃至３２のいずれか１項に記載のシステム。
【請求項３４】
前記ユーザ・インターフェース・サーバおよび前記アプリケーション・サーバは、データベースに対して実行するクエリを最小限に抑えるためにデータをキャッシュしてユーザ要求を処理するデータ・キャッシュを備える請求項３３に記載のシステム。
【請求項３５】
前記アプリケーション・サーバのうち１つまたは複数が放送テレビ・サービスを提供する請求項１乃至３４のいずれか１項に記載のシステム。
【請求項３６】
前記アプリケーション・サーバのうち１つまたは複数がビデオ・オン・デマンド・テレビ・サービスを提供する請求項１乃至３５のいずれか１項に記載のシステム。
【請求項３７】
前記アプリケーション・サーバのうち１つまたは複数が電子番組ガイド・テレビ・サービスを提供する請求項１乃至３６のいずれか１項に記載のシステム。
【請求項３８】
前記アプリケーション・サーバのうち１つまたは複数がユーザ請求書作成テレビ・サービスを提供する請求項１乃至３７のいずれか１項に記載のシステム。
【請求項３９】
前記アプリケーション・サーバのうち１つまたは複数がＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂまたは電子メールへのアクセス機能を提供する請求項１乃至３８のいずれか１項に記載のシステム。
【請求項４０】
システムで使用するユーザ・デバイスであって、
目的のテレビ・サービスのユーザ入力を受信するための手段と、
受信したユーザ入力に従ってユーザ要求を送信する手段と、
ユーザに出力するために目的のテレビ・サービスを受信する手段とを備え、
ユーザ・デバイスは異なるアプリケーション・サーバによって提供される異なるテレビ・サービスの要求を共通ユーザ・インターフェース・サーバに送信する動作が可能であることを特徴とする請求項１乃至３９のいずれか１項に記載のユーザ・デバイス。
【請求項４１】
システムで使用するユーザ・インターフェース・サーバであって、
１つまたは複数のユーザ・デバイスから送信されたユーザ要求を受信するための手段と
目的のテレビ・サービスを提供することができるアプリケーション・サーバを判別する各ユーザ要求を処理する手段と、
前記判別手段により判別された適切なアプリケーション・サーバにユーザ要求を受け渡す手段を備える請求項１乃至３９のいずれか１項に記載のユーザ・インターフェース・サーバ。
【請求項４２】
請求項１乃至３９のいずれか１項に記載の技術的ユーザ・インターフェース・サーバ機能を備えるユーザ・インターフェース・サーバ。
【請求項４３】
請求項１乃至３９のいずれか１項に記載の技術的ユーザ・デバイス機能を備えるユーザ・デバイス。
【請求項４４】
請求項１乃至３９のいずれか１項に記載のアプリケーション・サーバ機能を備えるアプリケーション・サーバ。
【請求項４５】
電子番組ガイド・データを含む複数のメニュー・ページをユーザが参照するためのグラフィカル・ユーザ・インターフェースであって、
現在複数の番組チャンネルを放送しているテレビ番組を識別する複数の電子番組エントリを表示する第１の表示ウィンドウと、
ユーザからの選択入力への応答として前記第１の表示ウィンドウ内で番組チャンネルを選択する選択手段と、
現在再生中の番組が終了した後選択した番組チャンネルで放送する予定の番組を識別する番組一覧を表示する、前記選択手段に応答する、第２の表示ウィンドウを備えるグラフィカル・ユーザ・インターフェース。
【請求項４６】
さらに、
前記電子番組エントリの１つを一度に表示することができる前記第１の表示ウィンドウ内に固定されている選択ウィンドウと、
前記選択ウィンドウを通じて複数の電子番組エントリをスクロールする動作が可能なカルーセル手段を備え、
前記選択手段は、前記選択入力を前記ユーザから受け取ると前記選択ウィンドウ内にある番組エントリを選択する動作が可能である請求項４５に記載のグラフィカル・ユーザ・インターフェース。
【請求項４７】
さらに、前記複数の電子番組エントリを前記選択ウィンドウ内にスクロールすることができる方向を示す１対のカーソルレス・ナビゲーション標識を備える請求項４６に記載のグラフィカル・ユーザ・インターフェース。
【請求項４８】
前記選択ウィンドウが前記第１の表示ウィンドウの中央部分内に固定されている請求項４６または４７に記載のグラフィカル・ユーザ・インターフェース。
【請求項４９】
階層型メニューベースのグラフィカル・ユーザ・インターフェースの一部を形成する請求項４５乃至４８のいずれか１項に記載のグラフィカル・ユーザ・インターフェース。
【請求項５０】
さらに前記グラフィカル・ユーザ・インターフェースのメニュー階層内をナビゲートする方向を示す第２の１対のカーソルレス・ナビゲーション標識を備える請求項４９に記載のグラフィカル・ユーザ・インターフェース。
【請求項５１】
前記第２の表示ウィンドウは、選択された番組チャンネルで放送する予定の番組の１つを一度に表示できる、前記第２の表示ウィンドウ内に固定されている第２の選択ウィンドウを含む請求項４５乃至５０のいずれか１項に記載のグラフィカル・ユーザ・インターフェース。
【請求項５２】
前記第２の表示ウィンドウはさらに、現在第２の選択ウィンドウ内にある番組に関するテキスト記述を表示する動作が可能である請求項５１に記載のグラフィカル・ユーザ・インターフェース。
【請求項５３】
前記第２の表示ウィンドウは、選択した番組チャンネルで放送されている現在の番組のサブウィンドウ内に表示する動作が可能である請求項５２に記載のグラフィカル・ユーザ・インターフェース。
【請求項５４】
ユーザが１つまたは複数のアプリケーション・サーバによって提供されるテレビ・サービスにアクセスするために使用するグラフィカル・ユーザ・インターフェースであって、
複数のテレビ・サービス・オプションを表示するための第１の表示ウィンドウと、
前記テレビ・オプションの１つを一度に表示することができる前記第１の表示ウィンドウ内に固定されている選択ウィンドウと、
前記選択ウィンドウを通じて複数のテレビ・オプションをスクロールする動作が可能なカルーセル手段と、
ユーザからの選択入力への応答として前記第２の選択ウィンドウ内にある現在のテレビ・オプションを選択する選択手段とを備えるグラフィカル・ユーザ・インターフェース。
【請求項５５】
プログラム可能コンピュータ・デバイスを請求項１乃至３９のいずれか１項に記載のシステムの一部を形成するユーザ・デバイスとして構成するコンピュータ実行可能命令を格納するコンピュータ読み取り可能媒体。
【請求項５６】
プログラム可能コンピュータ・デバイスを請求項１乃至３９のいずれか１項に記載のユーザ・インターフェース・サーバとして構成するコンピュータ実行可能命令を格納するコンピュータ読み取り可能媒体。
【請求項５７】
プログラム可能コンピュータ・デバイスを請求項１乃至３９のいずれか１項に記載のアプリケーション・サーバとして構成するコンピュータ実行可能命令を格納するコンピュータ読み取り可能媒体。
【請求項５８】
プログラム可能コンピュータ・デバイスを請求項１乃至３９のいずれか１項に記載のシステムの一部を形成するユーザ・デバイスとして構成するコンピュータ実行可能命令。
【請求項５９】
プログラム可能コンピュータ・デバイスを請求項１乃至３９のいずれか１項に記載のユーザ・インターフェース・サーバとして構成するコンピュータ実行可能命令。
【請求項６０】
プログラム可能コンピュータ・デバイスを請求項１乃至３９のいずれか１項に記載のアプリケーション・サーバとして構成するコンピュータ実行可能命令。
【請求項６１】
インタラクティブ・テレビの方法であって、
複数のユーザ・デバイスを備え、各ユーザ・デバイスで、（ｉ）目的のテレビジョン・サーバに対するユーザ入力を受信し、（ｉｉ）受信したユーザ入力に従ってユーザ要求を送信し、（ｉｉｉ）ユーザに出力するため目的のテレビ・サービスを受信する工程と、
それぞれ異なるテレビ・サービスを提供する複数のアプリケーション・サーバを備え、それぞれのアプリケーション・サーバでは、目的のテレビ・サービスのユーザ要求を受信し、目的のテレビ・サービスを適切なユーザ・デバイスに出力する工程を含み、
この方法はさらに、前記複数のユーザ・デバイスと前記複数のアプリケーション・サーバとの間で共通のものとして結合された１つまたは複数のユーザ・インターフェース・サーバを備える工程と、前記１つまたは複数のユーザ・インターフェース・サーバで、（ｉ）前記ユーザ・デバイスから送信されたユーザ要求を受け取る工程と、（ｉｉ）目的のテレビ・サービス提供することができるアプリケーション・サーバを判別するそれぞれのユーザ要求を処理する工程と、（ｉｉｉ）前期判別工程により判別された適切なアプリケーション・サーバにユーザ要求を受け渡す工程を含むインタラクティブ・テレビの方法。
【請求項６２】
請求項１乃至３９のいずれか１項に記載のシステムを使用することを特徴とするインタラクティブ・テレビ・システム。
【請求項６３】
請求項４５乃至５４のいずれか１項に記載のグラフィカル・ユーザ・インターフェースを使用することを特徴とするグラフィカル・ユーザ・インターフェースを生成する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが電子メール、テレビ放送、ビデオ・オン・デマンド、Ｗｅｂアクセスなどの複数のサービスおよびコンテンツにアクセスするために使用するユーザ・インターフェース・システムに関する。
【背景技術】
【０００２】
従来、テレビ番組は、地上基地局から送信されるＲＦ信号、頭上の衛星から送信される信号、およびユーザ構内敷設のケーブルで送信される信号を介してユーザに放送されてきた。これらの各システムを使用するユーザは、ユーザ側でさまざまなチャネルを選択して見ることができる。しかし、これらの既存システムでは、ユーザのテレビジョン受信機にすべてのチャネルが送信される必要があり、この受信機をユーザの選択に従って同調し、チャネルの１つを表示する。これらの従来のシステムのいくつかでは、ユーザは、いくつかのチャネルを見るためには、サービス・プロバイダと受信契約を交わす必要がある。しかし、各ユーザのテレビジョン受信機は全チャネルを受信するので、ユーザはそれでも、サービス・プロバイダのセキュリティをバイパスできるしかるべきハッキング機器を使用すると制限されたチャネルにもアクセスできてしまう。
【０００３】
さらに、これらの従来のシステムでは、ユーザがテレビを視聴する行為は、ユーザにとって事実上受動的な行為である。つまり、番組スケジュールはサービス・プロバイダにより予め定められており、ユーザが唯一選択できるのは、見たいチャネルだけである。ユーザがテレビを通じてサービス・プロバイダと対話して、配信されるコンテンツを制御し、より個人性の強い娯楽を経験できるようにする新しいインタラクティブ・テレビ・システムが台頭し始めている。これらのシステムでは、メニュー方式のユーザ・インターフェース・システムを採用し、ユーザが利用可能なさまざまなサービスにアクセスできるようにしている。しかし、現在まで、これらのメニュー方式のインターフェースは、ユーザが操作するには難しく、分かりにくいものである。さらに、現在のメニュー・インターフェース・システムは、「フリーサイズ」のシステムとして設計されており、通常、特定の領域でシステムのすべてのユーザに対して、同じテレビ番組編成（通常、数値の順序で）、および同じ形式およびスタイルの番組情報を送信し、表示する。
【０００４】
従来のテレビ受像機を使用するユーザがサービス・プロバイダと対話することができるように、ユーザのセットトップ・ボックス（ＳＴＢ）が用意されている。現在は、さまざまなサービス・プロバイダが自社のセットトップ・ボックスを生産しており、それぞれ異なるハードウェアおよびソフトウェアを配置している。サービス・プロバイダは、セットトップ・ボックスに大きな処理能力および記憶能力を高め、たとえば、ユーザ・プロファイル・データ、番組ガイド・データ、および使用データなどの大量の制御データを維持し、処理し、表示する専用ソフトウェアをダウンロードすることに重点を置いてきた。これらの専用セットトップ・ボックスが複雑になった結果、システムの配備、保守、アップグレード、監視、および使用に関わるオーバーヘッドのせいで、かなりのユーザ・サポートが必要になっている。特に、このようなシステムに毎回変更を加えるたびに、それぞれのユーザのセットトップ・ボックスをチェックし、アップグレードしなければならない場合や、さらには交換しなければならない場合もある。さらに、このタイプのシステムでは、新しいアプリケーションの開発は困難であり、また時間もかかるが、それは、それぞれのアプリケーションを各セットトップ・ボックスのプロセッサの速度、オペレーティング・システム、および内部アーキテクチャに適した形式で書かなければならないからである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の問題の少なくとも１つまたは複数を緩和することを目的とする
【課題を解決するための手段】
【０００６】
一態様によれば、本発明は、ユーザが多数のリモート・サーバから複数のサービスおよびコンテンツにアクセスし、またユーザが個別にカスタマイズ可能でかつ個人化されているグラフィカル・インターフェースを通じて望みのサービスおよびコンテンツにアクセスするためのシステムおよび方法を提示する。好ましい実施形態では、システムは各ユーザがそれぞれのユーザ・プロファイリング情報の更新および維持のため要求するサービスを監視する。さらにこのユーザ・プロファイリング情報を、たとえば、ユーザのサービスまたはコンテンツを対象にして使用することができる。
【０００７】
他の好ましい実施形態では、ユーザとサーバとの間に配置されたユーザ・インターフェース・サーバ内に目的のサービスおよび／またはコンテンツを提供するメニュー・ページが生成される。中間ユーザ・インターフェース・サーバなどにメニュー・ページを生成し、メニュー・ページをユーザにダウンロードすることにより、ユーザ・デバイスの設計を大幅に簡素化できる。さらに、共通ユーザ・インターフェース・サーバは、多数のさまざまなアプリケーション・サーバの媒介として動作できるため、異なるアプリケーション・サーバ上で一貫したルック＆フィールを持つメニュー・システムを生成することができる。そのため、エンド・ユーザが使用する最終的なユーザ・インターフェースを大幅に簡素化することができる。
【０００８】
他の態様によれば、本発明は、カーソルレス・グラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバによって提供されるサービスおよびコンテンツにユーザがアクセスできるシステムを提示する。このインターフェースは、選択ウィンドウを備え、ユーザが入力デバイスのキーを使用し選択ウィンドウを通じてメニュー・オプションをスクロールさせることができるメニュー・カルーセルを備えるのが好ましい。ユーザ・インターフェースは、階層型メニュー・システムとして実現するとユーザはナビゲーションを簡単に行えるため好ましい。一実施形態では、ユーザは、上、下、左、右、およびアクションの各機能を備える制御デバイスを使用することによりメニュー・レベルをナビゲートし選択を行う。たとえば、ユーザは、上および下機能を使用してメニュー・カルーセルに用意されている複数の選択項目を上下にスクロールすることができ、また左および右機能を使用して階層型メニュー構造の異なる層の間を行き来することができる。このようにして、ユーザはメニュー・レベル、画面、およびカルーセル間をカーソルレス方式でナビゲートすることができる。
【０００９】
他の態様によれば、本発明は、ユーザがそれぞれに合わせて個人化されたグラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバによって提供されるサービスおよび／またはコンテンツにアクセスできるシステムを提示する。この実施形態では、ユーザに対して表示されるメニュー・デザイン、選択、およびコンテンツは、１つまたは複数のデータベースにシステムにより保持されているユーザ・プロファイル・データおよび使用度情報に基づく。システムでは、格納されているユーザ・プロファイル・データおよび使用度情報を使用して、メニュー表示先のユーザのプロファイル・データおよび使用度情報に基づきデザイン要素、サービス、およびコンテンツを含む個人化されたメニューを作成する。この実施形態では、特定のユーザに表示されるそれぞれのメニュー画面は、一貫したデザイン、およびルック＆フィールを備え、その特定のユーザ向けのサービスおよびコンテンツを含むのが好ましい。
【００１０】
他の態様によれば、本発明では、それぞれのユーザに合わせて個人化した番組ガイドをユーザに提供する。システムでは、格納されているユーザ・プロファイル・データおよび使用度情報を電子番組ガイドとともに使用し、個人化され生成された番組ガイドを通じてシステムのそれぞれのユーザが電子番組ガイド・データにアクセスできるようにする。この態様によれば、システムは、ユーザの要求に応答して、電子番組ガイド・サーバから該当する電子番組ガイド・データを処理のため取り出し、その後、システムに格納されているユーザのプロファイル・データおよび使用度情報に基づいて電子番組ガイド・データを処理する。システムは、この格納されている情報に基づき、特定のユーザに表示する、その特定のユーザに合わせて個人化した番組ガイドを作成し、たとえば、ユーザの指示した好みおよび／または使用度に基づくテレビ番組編成、ユーザのお気に入りリスト、および特定のユーザに合わせてカスタマイズした関連する番組情報を表示することができる。さらに、たとえば、背景色、フォント、およびレイアウトなどの個人化した番組ガイドのデザイン要素を、メニューの表示先ユーザのユーザ・プロファイル・データおよび使用度情報に基づき特定のユーザに合わせてカスタマイズすることができる。
【００１１】
本発明の一実施形態では、システムは、ユーザが複数のサービスおよびコンテンツにアクセスできるようになっており、アプリケーション・コンポーネント、データベース・コンポーネント、１つまたは複数のユーザ・インターフェース・サーバ、および１つまたは複数のクライアントを備える。アプリケーション・コンポーネントでは、ユーザに対し、たとえば、電子番組ガイド・サービス、ビデオ・オン・デマンド・サービス、ワールド・ワイドＷｅｂアクセス、電子メールなどのサービスを提供する。これらのシステムは、アクセスされ、最終的に表示および対話操作のためユーザに配信されるコンテンツを取り出し、供給する。データベース・コンポーネントは、ユーザ・プロファイル・データおよび使用度情報だけでなく、コンテンツおよび書式設定データも含む。ユーザ・インターフェース・サーバは、アプリケーション・コンポーネント、データベース・コンポーネント、およびユーザ・インターフェースを統合し、ネットワークを通じてクライアントに配信できるように設計されている。ユーザ・インターフェース・サーバは、データベース・コンポーネントおよびアプリケーション・コンポーネントからデータにアクセスし、そのデータを処理して、個人化したユーザ・インターフェース、個人化した電子番組ガイド、およびアプリケーション・コンテンツを生成し、ネットワーク経由でクライアントに配信する。各クライアントは、セットトップ・ボックスやパーソナル・コンピュータなどクライアント・デバイス内で実行されるクライアント・アプリケーションを含む。クライアント・アプリケーションは、個人化したユーザ・インターフェース・データ、個人化した電子番組ガイド・データ、およびアプリケーション・コンテンツを受信して、適切なメニュー画面とアプリケーション・コンテンツをユーザに対して表示するように修正される。
【００１２】
システム・コンポーネント、クライアントおよびサーバのそれぞれは、標準ベースのプロトコルおよび言語を使用して通信するのが好ましく、これにより実装が簡単になる。一実施形態では、システムは、本質的にすべての重要な処理およびデータ格納をシステムのサーバサイドで実行することができるように配列され、クライアント・デバイスは、メニュー・ページおよび要求されたコンテンツをユーザに対し表示し、ユーザ入力および要求をサーバに送り返す役割を持つ必要がある。好ましい実施形態では、ユーザ・インターフェース・サーバは、前のユーザ要求に応答して配信される一般化されたメニュー・ページをキャッシュするキャッシュを備え、新しいユーザ要求を受信すると、キャッシュをチェックする動作を行い、新しいユーザ要求がキャッシュ内のデータとの間でのやり取りかどうかを判別する。このようにして、ユーザ・インターフェース・サーバは、アプリケーション・サーバに、またはデータベースに渡される要求の数を減らす動作をする。このようにして一般化されたメニュー・ページのキャッシングは、アプリケーション・サーバおよびデータベースに対する処理の負担が軽減され、増大するユーザに対応してシステムを拡張する作業が容易になるため好ましい。
本発明の他の態様および特徴は、添付図面を参照し、好ましい実施形態の詳細な説明を読むことにより明白になるであろう。
【発明を実施するための最良の形態】
【００１３】
図１は、複数のリモート・サーバから複数のサービスおよびコンテンツにユーザがアクセスできるシステム１の主要コンポーネントを示す概略ブロック図である。システム１の異なるユーザがそれぞれのユーザ・デバイス３を介してサービスおよびコンテンツにアクセスするが、そのうち３つは、図１に示されており、３−１、３−２、３−３と番号が振られている。図１からわかるように、この実施形態では、それぞれのユーザ・デバイス３は、テレビジョン５、セットトップ・ボックス（ＳＴＢ）７、リモート・コントロール・デバイス９、およびキーボード１１を備える。利用できるさまざまなサービスおよびコンテンツにアクセスするためのメニューが、テレビ５でユーザに表示され、ユーザはリモート・コントロール９および／またはキーボード１１を使用してサービスおよびコンテンツのアクセスを選択し制御する。
【００１４】
この実施形態では、ユーザがアクセスできるサービスとして以下のものがある。
ｉ）ビデオ・サーバ１５およびビデオ・データベース１７からのビデオ・オン・デマンド（たとえば、フィルム・オン・デマンド、ミュージック・オン・デマンド、ビデオ録画ＴＶ、パーソナル・ビデオ・レコーダ、ビデオ商取引など）
ｉｉ）ファイヤウォール２０−１を経由してインターネットに接続されているメール・サーバ１９からの電子メール。
ｉｉｉ）ＥＰＧサーバ２１からの電子番組ガイド（ＥＰＧ）。
ｉｖ）ショッピング・サーバ２３からの電子商取引。
ｖ）Ｗｅｂサーバ２５およびファイヤウォール２０−２を経由するインターネット／ワールド・ワイドＷｅｂアクセス。
ｖｉ）ＢＴＶサーバ２７およびＢＴＶ受信機２８によって供給される基本ＴＶチャネル、プレミアム・チャネル、ペイパービューなどを含むテレビ放送（ＢＴＶ）。
ｖｉｉ）管理および請求書発行サーバ２９により供給される請求書情報、ユーザ・プロファイルなどのユーザ・サービス。
参照を簡単にするため、上記のサーバは、これ以降、アプリケーション・サーバ３０と総称することにする。
【００１５】
図１に示されているように、この実施形態では、アプリケーション・サーバ３０によって提供されるサービスまたはコンテンツのアクセスは、多数のユーザ・インターフェース・サーバ３１を介して実行され、そのうち３つが、図１に、参照番号３１−１、３１−２、３１−３で示されている。ユーザ・インターフェース・サーバ３１は、ＩＰデータ・ネットワーク３３および負荷分散機能３５（それぞれがどれくらいビジーであるかに基づいてユーザ・インターフェース・サーバ３１間でユーザ要求を分担する）を介して関連するセットトップ・ボックス７から送信されたユーザ要求を受信する動作を行うことができる。この実施形態では、ユーザは、（後で詳しく説明する）グラフィカル・ユーザ・インターフェースのメニュー・ページを介してアプリケーション・サーバ３０により提供される異なるサービスおよびコンテンツにアクセスする。この実施形態では、これらのメニュー・ページは、ユーザ・インターフェース・サーバ３１によって生成されＩＰデータ・ネットワーク３３上でＨＴＭＬ（ハイパーテキスト・マークアップ言語）ファイルとしてセットトップ・ボックス７にダウンロードされる。セットトップ・ボックス７内のＷｅｂブラウザ（図に示されていない）は、受信したＨＴＭＬファイルから適切なメニュー・ページを生成または描画し、テレビ５でユーザに表示する。
【００１６】
ユーザがメニュー・ページから（リモート・コントロール９またはキーボード１１を使用して）選択を行う場合、ユーザ・セットトップ・ボックス７により適切なユーザ要求が生成され、ユーザ・インターフェース・サーバ３１に送り返される。それに対する応答として、ユーザ・インターフェース・サーバ３１は、ローカル・キャッシュ（図に示されていない）内に格納されているデータから次のメニュー・ページ自体を生成しようとする。データがローカルで利用できない場合、ユーザ・インターフェース・サーバ３１は、ユーザ要求を適切なアプリケーション・サーバ３０に受け渡し、そこで、適切なデータを取得し、ユーザ・インターフェース・サーバ３１に送り返す。ユーザ・インターフェース・サーバ３１は、受信したデータを使用して、個人化したＨＴＭＬファイルを生成し、ユーザ・セットトップ・ボックス７に送り返す。
【００１７】
さまざまなメニュー・ページおよびさまざまなユーザ・プロファイル・データを生成するために必要なデータは、データベース３９内に一括して格納され、これにアクセスするには、適切なサーバ３０またはユーザ・インターフェース・サーバ３１を使用する。
この実施形態では、それぞれのアプリケーション・サーバ３０のサービスまたはコンテンツに対し、ユーザ・インターフェース・サーバ３１によって生成されるメニュー・ページからユーザがアクセスする。しかし、その結果得られるサービスまたはコンテンツは、直接、アプリケーション・サーバ３０からユーザに配信するか、またはユーザ・インターフェース・サーバ３１を通じて配信することができる。この実施形態では、大量のデータをユーザに送信するアプリケーション・サーバ３０は、ＩＰデータ・ネットワーク３３を介してそのデータを直接ユーザに送信する。これらのアプリケーション・サーバ３０は、ビデオ・サーバ１５、Ｗｅｂサーバ２５、およびテレビ放送サーバ２７を含む。他のサーバ（つまり、メール・サーバ１９、ＥＰＧサーバ２１、ショッピング・サーバ２３）は、ユーザ・インターフェース・サーバ３１を介してそのサービスを返す。
【００１８】
当業者であれば理解するであろうが、ユーザ・インターフェース・サーバ３１は、異なるアプリケーション・サーバ３０によって提供されるさまざまなサービスおよびコンテンツにアクセスするために使用されるメニュー・ページを生成するので、ユーザ・インターフェース・サーバ３１では、アプリケーション・サーバ３０にアクセスするしないに関係なく、メニュー・ページに対する共通の「ルック＆フィール」が得られることを保証することができる。そのため、本実施形態のユーザ・インターフェース・メニュー・システムは、現在利用可能な従来技術のシステムと比べて理解しやすく、使いやすく、学習しやすい。さらに、後で詳しく説明するように、ユーザ・インターフェース・サーバ３１では、インテリジェント型キャッシング手法およびユーザ・プロファイル情報を使用して、効率的な方法でそれぞれのユーザにダウンロードするメニュー・ページを個人化する。
【００１９】
上では、ユーザがさまざまなアプリケーション・サーバ３０によって提供されるサービスおよびコンテンツにアクセスする方法について簡単に説明した。図１に示されているシステム１で使用されているさまざまなコンポーネントについてさらに詳しく説明し、その後、ユーザ・インターフェース・メニュー・システムについて詳細に説明する。
【００２０】
セットトップ・ボックス
図２ａは、図１に示されているセットトップ・ボックス７の１つの主要コンポーネントを説明する機能ブロック図である。図２ａに示されているように、セットトップ・ボックス７は、セットトップ・ボックス７をＩＰデータ・ネットワーク３３にインターフェースする動作を行うネットワーク・インターフェース・ユニット２０１を備える。ＩＰデータ・ネットワーク３３を介してユーザ・インターフェース・サーバ３１から受信したＨＴＭＬファイルは、ネットワーク・インターフェース・ユニット２０１を通じて、Ｗｅｂブラウザ２０３に受け渡され、ＷｅｂブラウザはＨＴＭＬファイルを処理し、テレビ５に表示するためフレーム・バッファ２０５に出力するメニュー・ページを生成する。Ｗｅｂブラウザ２０３はさらに、リモート・コントロール・インターフェース２０７を介してリモート・コントロール９から、またはキーボード・インターフェース２０９を介してキーボード１１からユーザ入力を受け取る動作をすることもできる。以下で詳しく説明するように、ユーザ入力を使用して、現在表示されているメニュー・ページ上のオプションをスクロールし、かつ／またはこのメニュー・ページからオプションを選択する。ユーザ・インターフェース・サーバ３１から受信したＨＴＭＬファイルはさらに、現在のメニュー・ページから利用可能な他のメニュー・ページおよび／またはサービスおよびコンテンツのリンクも含む。ユーザ・インターフェース・サーバ３１から受信したＨＴＭＬファイルはさらに、リモート・コントロール９および／またはキーボード１１でのキーの押下をそれらのリンクに関連付けるＷｅｂブラウザに対する命令を含む。ユーザがリモート・コントロール９および／またはキーボード１１のキーを押すと、Ｗｅｂブラウザ２０３は、受け取った命令に基づいてこのキーの押下を解釈して、ユーザが選択したリンクを識別する。この実施形態では、これらの命令はＪａｖａｓｃｒｉｐｔ命令であり、Ｗｅｂブラウザ２０３はこれらの命令を解釈する適切なＪａｖａｓｃｒｉｐｔコマンド・プロセッサ（図に示されていない）を含む。Ｗｅｂブラウザ２０３は、ユーザ・インターフェース・サーバ３１に送信する適切なユーザ要求を生成するが、ユーザ要求には、キー押下に対応するリンクとともにユーザ・データ・メモリ２１１に格納されているユーザ・データ（ユーザＩＤ、セッションＩＤなど）を含む。
【００２１】
図２ｂは、セットトップ・ボックス７からユーザ・インターフェース・サーバ３１に送信される代表的なユーザ要求２１５に含まれる情報の概略図である。図に示されているように、ユーザ要求２１５には以下のものが含まれる。
ｉ）要求を送信したセットトップ・ボックス７のＩＰアドレスを識別する送信元ＩＰアドレス２２１。
ｉｉ）要求がＩＰデータ・ネットワーク３３を通じてユーザ・インターフェース・サーバ３１に送信されることを識別する送信先アドレス２２３（この実施形態では、ユーザ・インターフェース・サーバ３１のＵＲＬアドレス）。
ｉｉｉ）ユーザ・デバイス３を監視し、対話している現在のユーザを識別する現在のユーザＩＤ  ２２５。
ｉｖ）送信されたユーザ要求２１５が関連する現在のユーザ・セッションを識別するセッションＩＤ  ２２７。
ｖ）ユーザ・インターフェース・サーバ３１に対して要求の送信先アプリケーション・サーバ３０およびユーザによって要求された特定のメニュー・ページまたはサービスまたはコンテンツを識別する、表示されている現在のメニュー・ページと関連付けられている上述のリンクを形成するアプリケーション識別子２２９および画面識別子２３１。
【００２２】
セットトップ・ボックス７は、Ｗｅｂブラウザ２０３の制御の下で動作してビデオ・サーバ１５に特定のビデオ・ストリームを要求したり、あるいはテレビ放送サーバ２７に特定のテレビ・チャンネルを要求したりするビデオ・プレーヤ２１３（ＭＰＥＧデコーダなど）を備える。図２ａに示されているように、この実施形態では、このユーザ要求２１５はネットワーク・インターフェース・ユニット２０１に渡され、このユニットはＩＰデータ・ネットワーク３３を介してユーザ要求２１５をユーザ・インターフェース・サーバ３１に転送し、このサーバはユーザ要求２１５をビデオ・サーバ１５またはＢＴＶサーバ２７に転送する。上述のように、この実施形態では、ビデオ・サーバ１５およびＢＴＶサーバ２７は、ＩＰデータ・ネットワーク３３を介して要求されたビデオまたはテレビ・チャンネルを直接ユーザにストリームとして送るように配列されている。ＩＰデータ・ネットワーク３３から受信したビデオまたはテレビ．チャンネル・データのストリームは、ネットワーク・インターフェース・ユニット２０１を通じてビデオ・プレーヤ２１３に渡される。ビデオ・プレーヤ２１３は、受信したビデオまたはテレビ・チャンネル・データ（通常、たとえば、ＭＰＥＧを使用して符号化される）を処理して、ビデオまたはテレビ・チャンネルのフレームを再生し、Ｗｅｂブラウザ２０３に送り返す。次に、Ｗｅｂブラウザ２０３は、受信したビデオまたはテレビ・チャンネル・フレームをフレーム・バッファ２０５に出力し、テレビ５に表示する。以下に示すように、この実施形態では、Ｗｅｂブラウザ２０３はテレビ５でユーザに表示されるビデオまたはテレビ・チャンネル・フレームのサイズを制御し、たとえば、テレビ画面の一部にユーザ用にビデオまたはテレビ・チャンネルを表示し、画面の残り部分を使用して利用可能なメニュー・オプションを表示するようにできる。
【００２３】
ユーザ・インターフェース・サーバ
図３は、ユーザ・インターフェース・サーバ３１の主要コンポーネントを説明する機能ブロック図である。上で説明したように、ユーザ・インターフェース・サーバ３１は、ユーザ要求２１５の受信に対する応答としてユーザ・セットトップ・ボックス７に送信される個人化されたメニュー・ページを記述しているＨＴＭＬファイルを生成するように配列されている。それぞれのユーザ・インターフェース・サーバ３１は、要求２１５を適切なアプリケーション・サーバ３０に受け渡さずに自らそれらのＨＴＭＬファイルを生成しようとするが、これは、アプリケーション・サーバ３０とデータベース３９の処理の負担を軽減するためである。ユーザ・インターフェース・サーバ３１はさらに、２つまたはそれ以上のアプリケーション・サーバ３０で必要な共通処理機能（ユーザ・ログイン、エラー処理など）を実行する役割を持つ。
【００２４】
図３に示されているように、ユーザ・インターフェース・サーバ３１は、ユーザ・インターフェース・サーバ３１とＩＰデータ・ネットワーク３３および負荷分散機能３５とのインターフェースをとる動作が可能なインターフェース・ユニット３０１を備える。インターフェース・ユニット３０１は、負荷分散機能３５からメッセージを受け取り、リスニング・ユニット３０３に渡す動作が可能である。リスニング・ユニット３０３は、ユーザ・セットトップ・ボックス７から送信されたユーザ要求２１５の受信を待ち、それを要求処理ユニット３０５に渡すように配列されている。要求処理ユニット３０５は、ユーザが要求を作成するのことの妥当性を確認し、その要求時が有効であるかどうかをチェックする役割を持つ。要求処理ユニット３０５は、さらに、ＨＴＭＬキャッシュ３０９−１またはＸＭＬキャッシュ３０９−２に格納されているデータからユーザ・インターフェース・サーバ３１によりユーザ要求を処理できるかどうかを確認する。これらおよび他のキャッシュの内容について後で詳しく説明する。要求処理ユニット３０５でユーザ要求２１５に応答するために必要な情報がＨＴＭＬまたはＸＭＬキャッシュ３０９に格納されていると判断した場合、要求処理ユニット３０５はキャッシュされている情報を直接応答処理ユニット３０７に受け渡し、そこでこのキャッシュされた情報を使用して個人化したＨＴＭＬファイルを生成し、インターフェース・ユニット３０１およびＩＰデータ・ネットワーク３３を介してユーザ・セットトップ・ボックス７に出力する。
【００２５】
要求処理ユニット３０５で、ユーザ・インターフェース・サーバ３１がユーザ要求２１５に直接応答できないと判断した場合、要求２１５の送り先アプリケーション・サーバ３０を判別し、ユーザ要求２１５に応答するためにそのアプリケーション・サーバ３０に必要になる適切なユーザ情報をユーザ・データ・キャッシュ３１０から取り出す。それと同時に、要求処理ユニット３０５は、さらに、共通機能（ユーザ・ログインなど）を実行すべきかどうかを判断し、もしそうであれば、共通機能プロセッサ３１１に、適切な共通機能を実行して結果を返す命令を送る。要求処理ユニット３０５は、元のユーザ要求２１５を要求処理ユニット３０５によって取り出された追加ユーザ情報とともに、インターフェース・ユニット３１３を介して適切なアプリケーション・サーバ３０に受け渡す。アプリケーション・サーバ３０は、要求２１５を処理した後（そして、必要ならばデータベース３９から適切な情報を取り出した後）、ＸＭＬ（拡張マークアップ言語）ファイルを返し、これにより、ユーザに表示する情報が識別される。当業者であれば明らかなように、ＸＭＬファイルは表示する情報を記述するだけであって、どのように表示するか（つまり、書式とレイアウト）については記述しない。この実施形態では、この書式設定情報はスタイル・シート（図に示されていない）で与えられ、その一部はＸＳＬＴキャッシュ３０９−３に格納され、残りはハード・ディスク３１５に格納される。
【００２６】
この実施形態では、応答処理ユニット３０７はアプリケーション・サーバ３０の１つからＸＭＬファイルを受け取ると、ＸＭＬファイルをＸＭＬキャッシュ３０９−２に格納し、ＸＳＬＴキャッシュ３０９−３またはハード・ディスク３１５内の適切なスタイル・シートと組み合わせて、ＨＴＭＬファイルを生成し、ＨＴＭＬキャッシュ３０９−１に格納する。応答処理ユニット３０７は、ユーザ・データ・キャッシュ３１０のデータを使用して、ＨＴＭＬファイルを個人化してインターフェース・ユニット３０１およびＩＰデータ・ネットワーク３３を介して適切なユーザ・セットトップ・ボックス７に送り返す。図３に示されているように、応答処理ユニット３０７はさらに、共通機能プロセッサ３１１によって実行される共通機能を呼び出すこともできる。したがって、アプリケーション・サーバ３０は、適切な命令を応答処理ユニット３０７に返すことにより、ユーザ・ログイン機能などの共通機能のうちの１つをトリガすることができる。
【００２７】
この実施形態で使用しているユーザ・インターフェース・サーバ３１の動作に関する簡単な説明を上で行った。ユーザ・インターフェース・サーバ３１の主要コンポーネントの詳細をこれから説明する。
【００２８】
キャッシュ
この実施形態では、ユーザ・インターフェース・サーバ３１の重要な目標の１つは、可能な限り、インターフェース・サーバ３１内のキャッシュのデータを使用してユーザの要求２１５に応答することによりアプリケーション・サーバ３０に受け渡されるユーザ要求２１５の数を減らそうとすることである。上述のように、ユーザ・インターフェース・サーバ３１は、ユーザ・データ・キャッシュ３１０、ＨＴＭＬキャッシュ３０９−１、ＸＭＬキャッシュ３０９−２、およびＸＳＬＴキャッシュ３０９−３を備える。それぞれのキャッシュに格納されるデータの型について説明する。
【００２９】
ユーザ・データ・キャッシュ
ユーザ・データ・キャッシュ３１０は、システム１のユーザごとにデータベース３９に用意されているユーザ情報のすべてを格納する。この実施形態では、ユーザごとに約５００バイトのデータに等しい。このデータは、とりわけ、ユーザ名、ユーザの年齢、ユーザ・ログイン名、ユーザＰＩＮ（個人識別番号）、ユーザ・セットトップ・ボックス・タイプ、セッションＩＤ、ユーザ・ログイン・ステータス・ビット、ユーザ受信契約レベル、ユーザ家族名、ユーザ・セットトップ・ボックスＩＤ、現在のテレビ・チャンネル、または見ているビデオ番組、ユーザ電子メール・アドレス、ユーザ言語、ユーザ背景色、およびその他のユーザの好みを含む。
【００３０】
ＨＴＭＬキャッシュ
ＨＴＭＬキャッシュ３０９−１は、メニュー・ページの内容およびレイアウトを定義するさまざまＨＴＭＬファイルをキャッシュする。この実施形態では、本質的に、ＨＴＭＬキャッシュ３０９−１スタティックＨＴＭＬファイルとダイナミックＨＴＭＬファイルにキャッシュされた２種類のＨＴＭＬファイルがある。スタティックＨＴＭＬファイルでは、すべてのユーザにとって同じであるメニュー・ページまたはメニュー・ページの一部を記述する。たとえば、利用可能なさまざまなオプションを表示する初期メニュー画面を記述するＨＴＭＬファイルは、すべてのユーザにとって共通なものとなる（ファイルがユーザにダウンロードされようとするときに行うことができるあまり重要でないユーザ個人化を除く）。ＨＴＭＬキャッシュ３０９−１に格納されるダイナミックＨＴＭＬファイルは、たとえば、アプリケーション・サーバ３０から受信したＸＭＬファイルから応答処理ユニット３０７により生成される。したがって、これらのダイナミックＨＴＭＬファイルは、特定のユーザに固有のメニュー・データを表示するメニュー・ページを記述する（たとえば、そのユーザのお気に入りを示す）。この実施形態では、それぞれのダイナミックＨＴＭＬファイルは、アプリケーション・サーバ３０によって定められた一定期間（５００秒など）の間キャッシュされる。
【００３１】
ＸＭＬキャッシュ
ＸＭＬキャッシュ３０９−２は、共通機能プロセッサ３１１またはアプリケーション・サーバ３０のいずれかから生成されたＸＭＬファイルを格納する。上述のように、ＸＭＬファイルは、メニュー画面に表示される情報を定義するが、メニュー画面のその情報のレイアウトについては定義しない。たとえば、ＸＭＬファイルでは、今日の選択したテレビ・チャンネルの番組一覧を識別することができる。この情報は他のユーザによって要求される可能性があるため、ユーザ・インターフェース・サーバ３１がこのＸＭＬファイルをＸＭＬキャッシュ３０９−２にキャッシュする。このようにして、たとえば、別のユーザが同じ情報を望んでいるが、ＨＴＭＬファイルを生成するために異なるスタイル・シートを必要としている場合（たとえば、手持ちのセットトップ・ボックス７またはテレビ５のタイプが異なるため）、ユーザ・インターフェース・サーバ３１では、アプリケーション・サーバ３０から再度同じＸＭＬファイルを取り出す必要はない。単にＸＭＬキャッシュ３０９−２からＸＭＬファイルを取り出して、その別のユーザ用の適切なスタイル・シートを使って適切なＨＴＭＬファイルに変換するだけである。
【００３２】
ＸＳＬＴキャッシュ
この実施形態では、ＸＳＬＴキャッシュ３０９−３は、ＸＭＬファイルからＨＴＭＬファイルを生成するために使用するスタイル・シートを格納する。この実施形態では、以下の５種類のスタイル・シートを使用する。
ｉ）ユーザがテキストを入力するために使用する１つまたは複数のテキスト・ボックスを備える「フォーム」スタイル・シート。
ｉｉ）ユーザがメニュー・オプションをクロールするための「カルーセル」スタイル・シート。
ｉｉｉ）現在のテレビ・チャンネルに関係する番組情報をユーザに提供するために使用する「ショート電子番組ガイド」スタイル・シート。
ｉｖ）詳細な請求情報をユーザに送るために使用する「請求」スタイル・シート。
ｖ）電子メール情報をユーザに送るために使用する「メール」スタイル・シート。
【００３３】
この実施形態では、それぞれのクラスに数種類のスタイル・シートが用意されており、これらを使用して、さまざまなＷｅｂブラウザ２０３およびユーザ設定（ワイドスクリーン／ナロースクリーン、ＰＡＬ／ＮＴＳＣなど）に対応する。当業者であれば、ＸＭＬファイルとスタイル・シートを組み合わせてＨＴＭＬファイルを生成する作業は、比較的時間のかかる作業であることを理解するであろう（２００ミリ秒のオーダー）。この実施形態では、スタイル・シートをＸＳＬＴキャッシュ３０９−３内に、ＸＭＬファイルと比較的組み合わせやすい前処理形式で格納する。
【００３４】
インテリジェント型キャッシュ機能
ユーザ・インターフェース・サーバ３１で使用しているようなキャッシュ手法を使用する際に生じうる問題の１つに、ユーザ固有のＨＴＭＬページをキャッシュする場合に記憶領域がかなり必要になる可能性があるという問題があげられる。特に、Ｕ人のユーザがそれぞれサイズＳのページをＰページ分キャッシュして動作しているシステムでは、Ｕ×Ｐ×Ｓのオーダーの記憶領域が必要になり、そのため、ユーザ数、ページ数、またはそれぞれのページの複雑度が増すと大きくなる。
【００３５】
必要記憶領域を最小限に抑えるために、この実施形態では、指定されたＨＴＭＬファイルについて、コンテンツがスタティック（つまり、すべてのユーザに対して共通）であり１回格納するだけでよいのか、コンテンツがダイナミック（あるいはユーザ固有）でありしたがってユーザごとに格納する必要があるのかを区別するインテリジェント型キャッシュ手法を使用している。この実施形態では、これは、その出力のどのセクションがスタティックであり、どれがダイナミックであるかを示す区切り記号をスタイル・シート内に用意することで実現されている。キャッシュは以下のように進行する。
ｉ）まずユーザが特定のページ（指定された曜日の指定されたチャンネルの番組一覧など）を要求すると、生成されたＨＴＭＬページが処理され、スタイル・シートに挿入されている区切り記号を使ってスタティック部分とダイナミック部分に分けられる。
ｉｉ）スタティック部分は、ＨＴＭＬキャッシュ３０９−１内のスタティック・データ・ストアに格納され、特定のユーザのダイナミック部分は、ＨＴＭＬキャッシュ３０９−１内のダイナミック・データ・ストアに格納される。
ｉｉｉ）第２のユーザが同じページを要求すると、ＨＴＭＬファイルが再び、生成されるが、ユーザ固有のダイナミック部分のみがＨＴＭＬキャッシュ３０９−１に格納され、スタティック部分は第１のユーザの要求のときに格納されたのと同じであり、したがって、格納する必要はない。
ｉｖ）ページをすでに要求しているユーザがまた要求した場合、キャッシュされているページは、スタティック部分とユーザ固有のダイナミック部分とを組み合わせることにより再構成され、ＨＴＭＬキャッシュ３０９−１からユーザのページが作成し直され、ページのコンテンツ全体を個別ユーザごとに格納する必要はない。
【００３６】
可変スワッピング
この実施形態で使用するキャッシュ・システムの効率を高めるために、ユーザ・インターフェース・サーバ３１では、事後解析補間（ここでは可変スワッピングとも呼ぶ）と呼ばれる手法をサポートしている。これは、背景色の変化やメニュー画面へのユーザ名の追加など些細なユーザ固有のページ・カスタマイズをスタイル・シートおよびＸＭＬファイルを使用して生成された後のＨＴＭＬファイルに適用できるように設計されている。システムがすべてのユーザに対してスタティックＨＴＭＬファイルを格納することができ、それと同時に処理時に（つまり、ユーザにダウンロードするときに）個別ユーザに対してＨＴＭＬファイルを個人化できるようにするために、この可変スワッピング手法を使用する。この実施形態では、これは、可変スワッピング・アルゴリズムを使用して、ユーザ・セットトップ・ボックス７にダウンロードしようとするときに特定のユーザ・データをＨＴＭＬファイル内にスワップする応答処理ユニット３０７により実現される。これらの変数は、スタイル・シート内では＃＃ｖａｒｉａｂｌｅ＿ｎａｍｅ＃＃として表されるためハッシュ−ハッシュ変数と呼ばれ、スタイル・シート／ＸＭＬ変換プロセスよりもはるかに高速な効率のよいプロセスを使用してスワップされる。
【００３７】
このような置換を行う場合、必ず、＃＃ｖａｒｉａｂｌｅ＿ｎａｍｅ＃＃という形式のプレースホルダをスタイル・シートまたはＸＭＬファイル内に挿入し、結果のＨＴＭＬファイル内に表示されるようにする。処理時に、ユーザの対応する変数をユーザ・データ・キャッシュ３１０から取り出し、ＨＴＭＬファイルに挿入する。
【００３８】
この実施形態では、ユーザ・インターフェース・サーバ３１と関連するマシン定数をアプリケーション・サーバ３０から受け取ったジェネリックなＸＭＬファイルにスワップするために、同じ可変スワッピング手法を使用する。特に、アプリケーション・サーバ３０は、ＸＭＬファイルを異なるユーザ・インターフェース・サーバ３１に送信できるので、ＸＭＬファイル内でプレースホルダを使用し、ユーザ・インターフェース・サーバ３１に固有の定数を識別する。応答処理ユニット３０７は、このようなプレースホルダが含まれるジェネリックＸＭＬファイルを受け取ると、そのユーザ・インターフェース・サーバ３１に固有の適切な定数をスワップインする。たとえば、ＸＭＬファイルは、メニュー・ページでユーザ・セットトップ・ボックス７にダウンロードする特定のアイコンを参照することができる。このアイコンが格納されているディレクトリ・ロケーションは、ユーザ・インターフェース・サーバ３１のそれぞれで異なることがある。したがって、＃＃区切り記号内にアイコンの名前を挿入することにより、応答処理ユニット３０７は、そのアイコン名をそのユーザ・インターフェース・サーバ３１上のそのアイコンの正しい格納場所で置き換えることができる。
【００３９】
要求処理ユニット
要求処理ユニット３０５の主要コンポーネントの概略が図４に示されている。図からわかるように、リスニング・ユニット３０３から受信したユーザ要求２１５がまず最初にユーザ妥当性確認ユニット４０１に渡され、そこで受信したユーザ要求２１５内のユーザＩＤ  ２２５がシステムに現在ログインしているセットトップ・ボックス７のユーザであることがチェックされる。ユーザ妥当性確認ユニット４０１は、ユーザ・データ・キャッシュ３１０に格納されているそのユーザのログイン・ステータス・ビットをチェックすることによりこの確認を行う。ユーザ妥当性確認ユニット４０１はさらに、ユーザ要求２１５内の現在のセッションＩＤ  ２２７がそのユーザのユーザ・データ・キャッシュ３１０に格納されているＩＤと一致しているかチェックする。一致していなければ、ユーザ妥当性確認ユニット４０１は、そのユーザのユーザ・データ・キャッシュ３１０に格納されているデータをフラッシュし、ユーザ・データ・キャッシュ３１０を、インターフェース・ユニット３１３を介してデータベース３９から取り出した対応するデータで更新する。
【００４０】
ユーザのログイン状態に問題がある場合、ユーザ妥当性確認ユニット４０１は、ユーザにＰＩＮ番号の確認を要求するユーザのセットトップ・ボックス７にメニュー・ページを送り返させるためデータを応答処理ユニット３０７に出力する要求コントローラ４０３に通知する。ユーザ妥当性確認ユニット４０１が、ユーザが有効なユーザであることを確認すると、受信されたユーザ要求２１５が要求識別ユニット４０５に渡され、そこで、受信したユーザ要求２１５が有効な要求であることをチェックする。要求識別ユニット４０５は、アプリケーション識別子２２９および画面識別子２３１を要求データ・ストア４０７に格納されている要求タイプ・データと比較することによりこのチェックを行う。受信したアプリケーション識別子２２９および画面識別子２３１が要求データ・ストア４０７内のエントリのいずれとも一致しない場合、要求識別ユニット４０５が受信した要求２１５を要求コントローラ４０３に渡し、受信したユーザ要求２１５が無効であることを通知する。それへの応答として、要求コントローラ４０３は適切な応答を応答処理ユニット３０７に出力し、ユーザのセットトップ・ボックス７にエラー・ページを送り返す。
【００４１】
この実施形態では、要求データ・ストア４０７に格納されているそれぞれのアプリケーション識別子２２９は、そのユーザ要求を処理することができるアプリケーション・サーバ３０を識別するデータとともに格納される。したがって、要求識別ユニット４０５が要求データ・ストア４０７内にエントリを持つ受信したユーザ要求２１５のアプリケーション識別子２２９と一致した場合、ユーザの要求を処理することができるアプリケーション・サーバ３０を識別する対応するデータを取り出して、そのユーザ要求２１５をこのアプリケーション・サーバ・データとともに要求コントローラ４０３に転送する。
【００４２】
有効なユーザ要求２１５を要求識別ユニット４０５から受信すると、要求コントローラ４０３は、ユーザ・インターフェース・サーバ３１がＨＴＭＬキャッシュ３０９−１またはそうでなければＸＭＬキャッシュ３０９−２に格納されているデータからの要求２１５を処理できるかどうかをチェックする。要求コントローラ４０３は、ユーザの要求を処理するために必要な情報がこれらのキャッシュのいずれかに格納されていると判断した場合、キャッシュから適切なＨＴＭＬファイルまたはＸＭＬファイルを取り出して、直接、応答処理ユニット３０７に受け渡す。ユーザの要求を処理するために必要な情報がＸＭＬキャッシュ３０９−２にしか格納されていない場合、要求コントローラ４０３はさらに、ＸＭＬファイルを適切なＨＴＭＬファイルに変換するために使用しなければならない適切なスタイル・シート・クラスを識別する。この実施形態では、要求コントローラ４０３は、ＸＭＬファイルを適切なスタイル・シート・クラスに関連付けるハード・ディスク３１５に格納されているファイルから使用すべきスタイル・シート・クラスを識別してこのデータを取得する。
【００４３】
要求コントローラ４０３は、キャッシュ内に適切なＨＴＭＬファイルまたはＸＭＬファイルを見つけられない場合、ユーザの要求２１５がユーザ・ログイン、エラー、アラート、ユーザのお気に入り、ユーザ検索などのシステム共通機能に関係があるかどうかを確認する。関係があれば、ユーザの要求２１５は、後述のように、必要な共通機能を実行する共通機能プロセッサ３１１に渡される。
【００４４】
この実施形態では、要求コントローラ４０３は、受信したユーザ要求２１５がアプリケーション・サーバ３０に転送されると判別した場合、転送の前に、まず、ユーザ要求２１５を要求書式設定ユニット４０９に渡す。要求書式設定ユニット４０９は、要求を処理するアプリケーション・サーバ３０で必要になるユーザ・データ・キャッシュ３１０から追加ユーザ情報を取り出す。この実施形態では、各アプリケーション・サーバ３０が必要とする追加情報は、要求書式設定ユニット４０９内であらかじめプログラムされている。たとえば、各アプリケーション・サーバ３０では、要求されたサービスまたはコンテンツをそのユーザに提供する前に異なるユーザＩＤおよびパスワードが必要になることがある。この場合、要求書式設定ユニット４０９は適切なユーザＩＤおよびユーザ・パスワードをユーザ・データ・キャッシュ３１０から取り出し、ユーザ要求２１５に追加する。要求書式設定ユニット４０９は、さらに、ユーザの年齢、ユーザが使用しているセットトップ・ボックス７のタイプ、ユーザが所有するテレビ５のタイプ、ユーザの電子メール・アドレス、ユーザの好ましい言語およびその他のユーザ・プリファレンスなど他の情報を追加することもできる。要求書式設定ユニット４０９は、適切な情報をユーザ要求２１５に追加した後、処理済みのユーザ要求を要求コントローラ４０３に返し、要求コントローラはインターフェース・ユニット３１３を介してその処理されたユーザ要求を適切なアプリケーション・サーバ３０に転送する。
【００４５】
この実施形態では、要求コントローラ４０３は、ユーザ妥当性確認ユニット４０１または要求識別ユニット４０５のいずれかからユーザ要求２１５を受信するごとに、要求２１５をユーザ、要求されたリソース、時刻、発生したエラー情報などの詳細とともにユーザ要求ログ４１１内に記録する。その後、この情報は、ときにより、行われたすべての要求を監視しそれに応じてユーザ・プロファイルを修正する管理および請求書作成サーバ２９に渡される。
【００４６】
共通機能プロセッサ
上述のように、ユーザ・インターフェース・サーバ３１は共通機能プロセッサ３１１を使用して、２つまたはそれ以上のアプリケーション・サーバ３０で必要になるであろうユーザ要求２１５に対し処理機能を実行する。そのため、アプリケーション・サーバ３０にこれらの機能を別々に実装する必要がなくなる。ユーザ・インターフェース・サーバ３１内にこれらの共通機能を実装する他の利点として、機能を定義するソフトウェアをいったん作成してしまえば、現在のアプリケーション・サーバ３０およびシステム１に追加することができる将来のアプリケーション・サーバ３０で使用することができるという点があげられる。以下では、共通機能プロセッサ３１１がこの実施形態で実行できる共通機能について説明する。
【００４７】
エラー
共通機能の１つでは、エラー処理メカニズムをユーザ・インターフェース・サーバ３１に実装する。このエラー共通機能を使用することで、アプリケーション・サーバ３０はユーザ・インターフェース・サーバ３１によって書式設定できるエラー・コードを、エラー・メッセージの送り先のユーザ用の適切なエラー・ページに返すことができる。要求されたアプリケーション・サーバ３０がエラー・コードを応答処理ユニット３０７に返すと、エラー・コードは共通機能プロセッサ３１１内のエラー共通機能に渡され、このプロセッサはユーザに表示するエラー・メッセージを識別する適切なＸＭＬファイルを返す。応答処理ユニット３０７は、次に、このＸＭＬファイルと適切なスタイル・シート（上で説明したように）とを組み合わせ、ユーザ・セットトップ・ボックス７にダウンロードするための適切なＨＴＭＬエラー・ページを生成する。異なるエラー・メッセージ・スタイル・シートおよび上述の可変スワッピング手法を使用することにより、ユーザ・インターフェース・サーバ３１は異なるユーザ・グループ（たとえば、言語、年齢別のグループなど）に対して異なるエラー・ページを生成することができる。
【００４８】
エラー・コードのいくつかの例および対応するメッセージを以下の表にまとめた。
【表１】
2004537879.tif 000003
【００４９】
アラート
この実施形態では、ユーザが別のアプリケーション・サーバ３０（テレビ放送サーバ２７など）を使用しているときに、アプリケーション・サーバ３０（メール・サーバ１９など）の１つに注意することが必要であることをユーザに通知する場合に使用するアラート共通機能が用意されている。このアラート共通機能は、たとえば、ユーザに新しい電子メール・メッセージが届いたことを知らせるアラート、お気に入りのテレビ番組が現在別のチャンネルで放送されていることを知らせるアラート、ユーザはお気に入りのテレビ番組を見逃しても、いまテレビを見たければ録画してあるということを知らせるアラートなど種類のアラートを発生するのに使用することができる。アラート機能はさらに、テレビ番組またはビデオの再生中に番組またはビデオに関する追加情報が得られるということをアドバイスする場合にも使用することができる。たとえば、追加情報を、番組または映画に関する追加情報が得られるまたは映画に関係する商品を購入できる電子商取引サイトにリンクすることもできる。この実施形態では、ユーザごとにアラート共通機能をプログラムできるため、ユーザはアラートを受け取りたくない場合には何も受け取らないようにできる。
【００５０】
アラート共通機能は、データベース３９内のアラート・テーブル（図に示されていない）を使用して動作するように設計されている。アプリケーション・サーバ３０が特定のユーザにアラートを送りたい場合、データベース３９のアラート・テーブル内に、アラート・タイプ、ユーザＩＤ、アラート・メッセージ、およびユーザが向かう先のリンクを書き込む。アラート・テーブルに新しいアラートが追加されると、これもまた新規としてマークされる。アラート共通機能３１１は、定期的にデータベース３９のアラート・テーブルを処理し、新しいユーザ・アラートがないか確認し、だれを対象としたものかを調べる。新しいアラートが見つかった場合、アラート共通機能は、応答処理ユニット３０７にアラートを適切なユーザ・セットトップ・ボックス７に送信させる適切なＸＭＬファイルを出力する。さらに、アラート共通機能３１１は、アラートが送信されたことを示す確認メッセージをデータベース３９に書き込む。
【００５１】
この実施形態では、アラート・メッセージを受け取ったときにセットトップ・ボックス７が現在テレビ・チャンネルを表示しているか、またはビデオを再生している場合、セットトップ・ボックス７のＷｅｂブラウザ２０３はテレビ画面にオーバーレイするシンボルを生成する。ユーザが所定の期間が経過した後アラートをアクノリッジしない場合、Ｗｅｂブラウザ２０３は、画面からシンボルを削除する。ユーザがアラートに応答すると、Ｗｅｂブラウザ２０３はテレビ画面にアラートの詳細を表示する。その後、ユーザはアラートを無視するか、またはアラートに関連するリンクにジャンプすることができる。
【００５２】
しかし、アラート・メッセージが届いたときにセットトップ・ボックス７が現在メニュー画面をユーザに対して表示している場合、この実施形態では、アラート・シンボルはメニュー・フレームの左側に表示される。ここでもまた、ユーザはアラートを無視するか、またはユーザはそれを選択して、そのアラートが何であるかを判別し、そのアラートと関連するリンクにジャンプするかどうかを決定することができる。当業者であれば理解するであろうが、ユーザがメニュー・ページをスクロールしている場合、Ｗｅｂブラウザ２０３では、アラート・シンボルが連続するメニュー・ページに表示されるときに、ユーザにシンボルを確認する余裕を与えるようにしなければならない。そうしないと、アラーム・シンボルは、次回メニュー・ページがユーザ・インターフェース・サーバ３１からダウンロードされるときに上書きされる。
【００５３】
当業者であれば理解するであろうが、このようなアラート共通機能がユーザ・インターフェース・サーバ３１に用意されていないと、それぞれのアプリケーション・サーバ３０はそれぞれのユーザ・セットトップ・ボックス７で直接、そのようなメッセージング・システムを管理しなければならなくなる。しかし、メニュー・ページはすべて、ユーザ・インターフェース・サーバ３１により生成されるため、アラート・メッセージの発生を指示したアプリケーション・サーバ３０に関係なく、アラートを発生させ、次の外へ向かうメニュー・ページをユーザに送ることができる。
【００５４】
ログイン
ログイン共通機能が共通機能プロセッサ３１１に備えられている。この共通機能を使用して、システムへの新規ユーザのログインおよびログアウトを行う。アプリケーション・サーバ３０は、さらに、ログイン共通機能をトリガすることで、たとえば、ユーザがアイテムを購入するときにユーザの素性を確認することができる。ログイン機能では、ユーザが入力したユーザＰＩＮ番号をデータベース３９に格納されているユーザＰＩＮ番号と比較することによりユーザの妥当性を確認する。
【００５５】
新規ユーザがシステム１にログインすると必ず、ログイン共通機能はさらに、データベース３９に格納されるそのユーザに対する新しいセッションＩＤ  ２２７を生成する。ログイン共通機能は、また、すでにログインしているユーザに合わせてデータを修正し、ログアウトしたことを示す。ユーザ・データ・キャッシュ３１０に格納されているユーザ・データが最新状態に保たれるようにするために、ログイン共通機能はさらに、データベース３９からユーザ・データ・キャッシュ３１０を定期的にリフレッシュする。さらに、データベース３９内でユーザのログイン・ステータスが更新されると、データベースによりすべてのユーザ・インターフェース・サーバ３１のユーザ・データ・キャッシュ３１０内の適切なユーザ・データの更新がトリガされる。ユーザ・データ・キャッシュ３１０をリフレッシュするこの二重のプロセスにより、システム１全体にわたってユーザのログイン・ステータスの変化が反映される。
【００５６】
この実施形態では、ログイン共通機能はシステム１が備える親コントロールも制御する。特に、ログイン共通機能では、受信契約保有者は同じセットトップ・ボックス７の他のユーザが表示することができるビデオ、テレビ・チャンネル、およびコンテンツに関する決まりを定めることもできる。ログイン共通機能のこのサブコンポーネントにより、データベース３９内の親コントロール設定に変更を加えることができ、後でアプリケーション・サーバ３０は、ユーザが関係する要求を出したときにその設定を使用する。このようにして、アプリケーション・サーバ３０は、ユーザの年齢および親コントロール設定などに応じて返されるコンテンツまたはサービスを手直しすることができる。
【００５７】
当業者であれば理解するであろうが、セットトップ・ボックス７ではなく、ユーザ・インターフェース・サーバ３１でログイン共通機能および親コントロール共通機能を実行することで、ユーザがハックしてシステム設定を変更することができないため、システム・セキュリティが向上する。
【００５８】
お気に入り
この実施形態では、共通機能プロセッサ３１１は、さらに、それぞれのユーザの個人のお気に入りをデータベース３９内のお気に入りテーブル（図に示されていない）の１つの場所に保持し格納するように設計されているお気に入り共通機能も備える。たとえば、ユーザがあるテレビ番組をお気に入りとしてマークした場合、お気に入り共通機能により、この情報がデータベース３９に格納され、この情報は、アプリケーション・サーバ３０により使用することができる。お気に入り共通機能は２つの主要なルーチン、１つはお気に入りをデータベース３９内のお気に入りテーブルに追加するルーチンと、データベース３９内のお気に入りテーブルからお気に入りを表示するルーチンを備える。
【００５９】
検索
共通機能プロセッサ３１１が備える他の共通機能として、異なるアプリケーション・サーバ３０でコンテンツおよび／またはサービスをユーザが検索できるように設計されている検索共通機能がある。たとえば、検索共通機能を呼び出して、特定の役者と関係のあるすべてを見つけ出し、その結果をユーザに返すことができる。この実施形態では、検索共通機能を呼び出すと、（ユーザが検索文字列を入力できる）テキスト・ボックスを備えるメニュー・ページがユーザ・セットトップ・ボックス７にダウンロードされる。この実施形態では、さらに、さまざまな検索オプションを選択することにより、検索を、番組タイトル、役者、ディレクタ、番組カテゴリ、番組説明、またはこれらのどれかに絞り込むこともできる。このメニュー・ページに対するユーザの応答を受け取ると、検索共通機能は、各アプリケーション・サーバ３０の検索を呼び出し、その結果を組み合わせて、ユーザがスクロールして選択することができる統一された検索結果集合としてユーザに送り返す。それとは別に、検索をアプリケーション・サーバ３０のうち１つだけまたは２、３に制限することもできる。
【００６０】
応答処理ユニット
上述のように、応答処理ユニット３０７の目的は、次のメニュー・ページをユーザ・セットトップ・ボックス７にダウンロードするのに適した個人化されたＨＴＭＬファイルを生成することである。図５は、この実施形態で使用している応答処理ユニット３０７の主要コンポーネントの詳細を示している。図からわかるように、応答処理ユニット３０７は、インターフェース・ユニット３１３を介してアプリケーション・サーバ３０の１つから、または共通機能プロセッサ３１１上で実行されている共通機能のうちの１つから、またはユーザの要求２１５をＸＭＬキャッシュ３０９−２に格納されているデータから処理できると要求処理ユニット３０５が判別した場合に応答処理ユニット３０５からＸＭＬファイルを受信する応答コントローラ５０１を備える。応答コントローラ５０１は、さらに、ＨＴＭＬキャッシュ３０９−１に格納されているデータからユーザの要求２１５を処理することができると要求処理ユニット３０５が判断した場合、要求処理ユニット３０５からＨＴＭＬファイルを受信することもできる。
【００６１】
この実施形態では、アプリケーション・サーバ３０から受け取った各ＸＭＬファイルは、ＸＭＬ内でキャッシュ可能であることおよびキャッシュ可能な期間を示すデータとともに返される。返されたＸＭＬファイルは、ＸＭＬファイルが関連付けられているユーザを識別するデータも含む。上述のように、この実施形態では、アプリケーション・サーバ３０から受信するＸＭＬファイルは、本質的にジェネリックであるように設計されており、他のユーザからの同じメニュー・ページ要求を処理するために使用することができる。上述のように、ＸＭＬファイルは、さらに、ユーザ・インターフェース・サーバ３１に対してもジェネリックである。この実施形態では、応答コントローラ５０１は、アプリケーション・サーバ３０から受け取ったジェネリックなＸＭＬファイルを可変スワッピング・ユニット５０３に渡し、このユニットは、マシン・データ・キャッシュ５０５に格納されているデータを使用して、ＸＭＬファイル内のジェネリックなユーザ・インターフェース・サーバ・データをＸＭＬ態度を処理する特定のユーザ・インターフェース・サーバ３１の特定のデータでスワップする。可変スワッピング・ユニット５０３は、次に、修正されたＸＭＬファイルを応答コントローラ５０１に返し、ＸＭＬキャッシュ３０９−２内にキャッシュする。
【００６２】
応答処理ユニット３０７は、さらに、適切なスタイル・シートに従って、受信したＸＭＬファイルをＨＴＭＬファイルに変換するＸＳＬＴ変換ユニット５０７も備える。受信したＸＭＬファイルを変換するために使用する特定のスタイル・シートが応答コントローラ５０１により決定される。特に、アプリケーション・サーバ３０から受信したＸＭＬファイルは、使用するスタイル・シートのクラスを識別するデータを含む。応答コントローラ５０１は、ユーザが所有するセットトップ・ボックス７のタイプおよびその他のユーザ設定を識別するユーザ情報をユーザ・データ・キャッシュ３１０から取り出し、この情報を使用して、受信したＸＭＬファイルをメニュー・ページを記述するＨＴＭＬファイルに変換する際に使用するスタイル・シートの識別されたクラスから正確なスタイル・シートを判別する。応答コントローラ５０１は、次に、受信したＸＭＬファイルをＸＳＬＴ変換ユニット５０７に渡し、ＸＳＬＴキャッシュ３０９−３からＸＳＬＴ変換ユニット５０７に正しいスタイル・シートを渡す。
【００６３】
上述のように、この実施形態では、スタイル・シートすべてがＸＳＬＴキャッシュ３０９−３からこの前処理形式で格納されるわけではない。特に、最も一般的なスタイル・シートのみが、ＸＳＬＴキャッシュ３０９−３内にこの形式で格納される。残りのスタイル・シートは、ハード・ディスク３１５内にそのネイティブ形式で格納される。したがって、応答コントローラ５０１は、ＸＳＬＴキャッシュ３０９−３内に必要なスタイル・シートが格納されていないと判断した場合、ハード・ディスク３１５からＸＳＬＴ変換ユニット５０７に必要なスタイル・シートを渡すようにする。変換プロセスの実行時に、ＸＳＬＴ変換ユニット５０７は、スタイル・シートに対して適切な前処理を実行し、その後ＸＭＬファイルと組み合わせて、必要なＨＴＭＬファイルを生成する。この実施形態では、ＸＳＬＴ変換ユニット５０７は、さらに、万が一同じユーザからの要求を後から再び処理する必要が生じた場合のために、この前処理済みスタイル・シートをＸＳＬＴキャッシュ３０９−３に、所定の期間、または別の前処理済みスタイル・シートで上書きされるまで、格納しておく。
【００６４】
図５に示されているように、ＸＳＬＴ変換ユニット５０７によって生成されるその結果のＨＴＭＬファイルは、可変スワッピング・ユニット５０３に渡され、そこで、マシン・データ・キャッシュ５０５からのユーザ・インターフェース・サーバ定数がスワップインされ、得られたＨＴＭＬページがＨＴＭＬキャッシュ３０９−１内に格納される。可変スワッピング・ユニット５０３は、さらに、ＨＴＭファイル内のユーザ＃＃変数をユーザ・データ・キャッシュ３１０から取り出した特定のユーザ・データで置き換える。このようにして、生成されたＨＴＭＬファイルは要求を行ったユーザに対して、たとえば、メニュー・ページの背景色画面を変更したり、ユーザの名前をページに追加したりすることなどにより個人化される。次に、可変スワッピング・ユニット５０３は、この個人化されたＨＴＭＬファイルをインターフェース・ユニット３０１に出力し、それ以降の適切なユーザ・セットトップ・ボックス７への送信に使用する。
【００６５】
上の説明では、アプリケーション・サーバ３０の１つからＸＭＬファイルを受信したときの応答処理ユニット３０７の動作を説明している。ユーザ・インターフェース・サーバ３１がＸＭＬキャッシュ３０９−２内のデータからユーザ要求を処理できると要求処理ユニット３０５側で判別した場合に、類似の手順が実行される。しかし、ユーザ要求をＨＴＭＬキャッシュ３０９−１に格納されているＨＴＭＬファイルから処理できると、要求処理ユニット３０５が判断した場合、要求処理ユニット３０５から応答コントローラ５０１に供給されるキャッシュ済みＨＴＭＬファイルは直接可変スワッピング・ユニット５０３に渡され（ＸＳＬＴ変換ユニット５０７をバイパスする）、そこでユーザ・データ・キャッシュ３１０からの適切なユーザ＃＃変数がスワップインされ、個人化されたＨＴＭＬファイルが同じようにしてユーザに出力される。
【００６６】
上述のように、アプリケーション・サーバ３０は適切な命令を送り、共通機能のうちの１つをトリガすることができる。この場合、応答コントローラ５０１は共通機能プロセッサ３１１内の適切な共通機能をアクティブにし、そこからＸＭＬファイルを再び受け取る。たとえば、アプリケーション・サーバ３０は現在のユーザのＰＩＮの要求をトリガすることができる。この場合、応答コントローラ５０１は、ログイン共通機能をアクティブにし、これにより、ログイン・メニュー・ページを生成するための適切なＸＭＬファイルを生成する。ユーザから返されたＰＩＮ番号が正しくない場合、要求処理ユニット３０５はユーザに適切なエラー・ページをダウンロードするのをトリガすることができる。ユーザが最終的に確認されると、要求処理ユニット３０５は適切な確認をアプリケーション・サーバ３０に返すので、アプリケーション・サーバは元のユーザ要求に応答することができる。
【００６７】
アプリケーション・サーバ
アプリケーション・サーバ３０は、ユーザ・インターフェース・サーバ３１から、要求を実行するために必要であった共通機能から生成されたユーザ詳細および情報とともにユーザ・クエリを受信する。アプリケーション・サーバ３０は、受信した要求およびデータを処理し、データベース３９から要求に関連するデータを取り出すことによりユーザの要求されたサービスまたはメニュー・ページを配信する動作をする。システム１のパフォーマンスを最適にし、データベース３９に対するクエリを制限するという目標を達成するために、アプリケーション・サーバ３０は、この実施形態では、効率的なキャッシングを利用するようにも設計されている。
【００６８】
図６は、アプリケーション・サーバ３０の１つの主要コンポーネントを説明する概略ブロック図である。このブロック図は、一般的な形で示されており、すべてのアプリケーション・サーバ３０に適用することができる。図からわかるように、アプリケーション・サーバ３０は、アプリケーション・サーバ３０とユーザ・インターフェース・サーバ３１とのインターフェースであるＵＩＳインターフェース・ユニット６０１を備える。ＵＩＳインターフェース・ユニット６０１は、アプリケーション要求処理ユニット６０３に渡されるユーザ・インターフェース・サーバ３１により与えられる追加ユーザ情報とともにユーザ要求２１５を受信する動作が可能である。アプリケーション要求処理ユニット６０３は受信したデータを処理して、（ｉ）要求を拒絶するかどうか、（ｉｉ）ユーザ要求が結果キャッシュ６０５に格納されているデータに対して応答できるかどうか、または（ｉｉｉ）ユーザ要求をアプリケーション・プロセッサ６０７に転送するかどうかを判別する。特に、この実施形態では、アプリケーション要求処理ユニット６０３は、受け取ったそれぞれのユーザ要求がそのアプリケーション・サーバ３０に対するものであるかどうかを確認する。これは、そのアプリケーション・サーバ３０と関連付けられているアプリケーション識別子とともにユーザ要求２１５の一部を形成するアプリケーション識別子２２９をチェックすることにより行う。これらの識別子が異なる場合、アプリケーション要求処理ユニット６０３はユーザ要求を拒絶し、適切なエラー・コードをユーザ・インターフェース・サーバ３１に返す。
【００６９】
上述のように、アプリケーション・サーバ３０は、メニュー・ページ内に挿入する情報を記述するＸＭＬファイルを生成する。これらのＸＭＬファイルは、本質的にジェネリックな設計であり、ユーザ・インターフェース・サーバ３１のどれでも処理することができ、また他のユーザから受信したユーザ要求を処理するためにも使用することができる。この実施形態では、前のユーザ要求に対して生成されたＸＭＬファイルは、所定の期間の間、結果キャッシュ６０５内に格納される。したがって、アプリケーション要求処理ユニット６０３は、有効なユーザ要求を受信すると、結果キャッシュ６０５内に格納されているＸＭＬファイルをチェックし、ユーザ要求に応答するためのＸＭＬファイルがこのキャッシュ内に格納されているかどうかを判別する。格納されている場合、アプリケーション要求処理ユニット６０３は、結果キャッシュ６０５からＸＭＬファイルを取り出し、そのユーザ要求を送信したユーザ・インターフェース・サーバ３１に返す。アプリケーション要求処理ユニット６０３は、さらに、このＸＭＬファイルがキャッシュ可能であること、およびキャッシュ可能な期間をユーザ・インターフェース・サーバ３１に通知する。ＸＭＬファイルは、さらに、要求を行ったユーザを識別するデータとともに返される。この実施形態では、アプリケーション要求処理ユニット６０３は、さらに、生成されたよりジェネリックなＸＭＬファイルを他のユーザ・インターフェース・サーバ３１に渡すが、これもまた、キャッシュ可能であること、およびキャッシュ可能な期間を示し、これらの他のユーザ・インターフェース・サーバ３１はそれに応じてＸＭＬキャッシュ３０９−２を更新することができる。
【００７０】
アプリケーション要求処理ユニット６０３は、結果キャッシュ６０５に格納されているすでに生成されているＸＭＬファイルからのユーザ要求を処理できないと判断した場合、ユーザ要求２１５およびユーザ・インターフェース・サーバ３１から受信した他の情報をアプリケーション・プロセッサ６０７に渡す。この実施形態では、ユーザが要求しているサービスおよび／またはメニュー・ページを判別するのは、アプリケーション・プロセッサ６０７である。アプリケーション・プロセッサ６０７は、受信したユーザ要求２１５の一部を形成する画面識別子２３１とメニュー・ロジックおよびデータ・ストア６０９に格納されているデータを使用してこれを行う。特に、メニュー・ロジックおよびデータ・ストア６０９は、次のメニュー・ページに表示する情報を定義する使用可能な画面識別子のそれぞれと関連付けられたデータをそのページ上で実行できるユーザ選択を定義するメニュー・ロジックとともに格納する。したがって、アプリケーション・プロセッサ６０７は、ユーザ要求を受信すると、受信したユーザ要求２１５の一部を形成する画面識別子２３１を識別し、ストア６０９から適切なデータおよびメニュー・ロジックを取り出す。次に、アプリケーション・プロセッサ６０７は、取り出したデータおよび要求とともに受信したユーザ・データを処理し、要求に応答するためにどのような情報が必要かを判別し、データベース３９からその情報を取り出す必要があるかどうかを判断する。アプリケーション・プロセッサ６０７は、データベース３９にクエリを実行する必要があると判断した場合、まず、データベース（ＤＢ）キャッシュ６１１と、データベース３９に送信されるデータに対する前の要求の結果を格納するジェネリックなクエリ・キャッシュ６１３をチェックする。必要な情報がこれらのキャッシュ内に格納されていない場合、アプリケーション・プロセッサ６０７は適切なデータベース・クエリの書式を整え、データベース・インターフェース・ユニット６１５を介してデータベース３９に出力する。アプリケーション・プロセッサ６０７は、データベース３９から未処理のデータベース・データ（ユーザのお気に入りテーブルなど）を受け取ると、ＤＢキャッシュ６１１内に格納する。アプリケーション・プロセッサ６０７は、次に、返されたデータベース・データを処理して、ユーザに返すのに適した形式で要求された情報（特定のユーザのお気に入りなど）を取得するが、これは、ジェネリックなクエリ・キャッシュ６１３に格納されている。
【００７１】
この実施形態では、データベース・キャッシュ６１１は、アプリケーション・サーバ３０によって最も頻繁に使用されるデータを格納し、定期的にまたはデータベース３９によってトリガされたときにリフレッシュされる。データベース・キャッシュ６１１に格納されているデータがこのようにして更新される場合、アプリケーション・プロセッサ６０７は、さらに、データを処理し直して、ジェネリックなクエリ・キャッシュ６１３内のデータをリフレッシュする。こうして、これらのキャッシュ内のデータは、最新状態に保たれ、その後受信するユーザ要求に応答することができる。
【００７２】
アプリケーション・プロセッサ６０７は、ユーザ要求に応答するための関連する情報を取得した後、その情報を適切なメニュー・ロジック（ユーザ選択およびそのリンクなどを定義する）とともにアプリケーション要求処理ユニット６０３に送り返す。次に、アプリケーション要求処理ユニット６０３は、情報とメニュー・ロジックを、結果キャッシュ６０５内に格納されるＸＭＬファイル内にパッケージ化し、上述の方法でユーザ・インターフェース・サーバ３１に返す。
【００７３】
管理および請求書作成サーバ
管理および請求書作成サーバ２９は上述のジェネリックな説明に適合しているが、システム１の範囲内の目的について詳しく説明するのが適当であろう。特に、管理および請求書作成サーバ２９はユーザ請求書作成およびユーザ・プロファイリングなどのさまざまなユーザ・サービスを提供する動作が可能である。この実施形態では、管理および請求書作成サーバ２９は、さらに、最初にユーザをシステム１にログオンさせ、新規ユーザ用にデータベース３９内にさまざまなユーザ・プロファイルおよびユーザ・テーブルを設定する役割を持つ。この初期ログオン手順の実行時に、ユーザは管理および請求書作成サーバ２９にユーザの年齢、パスワード、電子メール・アドレス、支払い限度額、ユーザ名、ＷＷＷホーム・ページ、検索ページ、ユーザ言語、国名などの詳細を入力する。管理および請求書作成サーバ２９は、次に、データベース３９内に必要なユーザ・テーブルを作成し、そして、システム１内のさまざまなキャッシュの中のユーザ・データの更新をトリガし、新規ユーザを受け入れる必要がある。
【００７４】
管理および請求書作成サーバ２９は、さらに、異なるユーザによる請求書支払いを追跡し、支払いが行われない場合にサービスまたはコンテンツのユーザへの提供をブロックする役割も持つ。
【００７５】
この実施形態では、ユーザは、ユーザ・インターフェース・サーバを介して管理および請求書作成サーバ２９によって保持されるデータにアクセスし、たとえば、そのユーザが所有する未払い金額を特定したり、現在の請求期間にそのユーザによって購入された異なる映画を識別したりすることができる。
【００７６】
請求を実行するために、管理および請求書作成サーバ２９は、データベース３９からユーザ請求書作成テーブル（図に示されていない）を読み込み、そこで、すべてのアプリケーション・サーバ３０がさまざまなユーザに対して配信したサービスおよびコンテンツを識別するトランザクションを作成する。次に、管理および請求書作成サーバ２９は、それらのサービスまたはコンテンツの適切な量を計算し、ユーザの請求書に追加する。
【００７７】
この実施形態では、管理および請求書作成サーバ２９は、さらに、図４に示されているユーザ要求ログ４１１内に格納されているユーザ・インターフェース・サーバ３１によって受信される異なるユーザ要求を監視する。その後、管理および請求書作成サーバ２９は、この情報を使用して、システム１の異なるユーザに対するユーザ・プロファイルを決定する。たとえば、管理および請求書作成サーバ２９は、それぞれのユーザが行う要求に対してさまざまな統計処理を実行し、ユーザが好むテレビ番組またはビデオ・フィルムのタイプの識別を試みることができる。このユーザ・プロファイル情報をデータベース３９に格納しておき、たとえば、電子番組ガイド・サーバ２１によって使用することができる。特に、ＥＰＧサーバ２１はこのユーザ・プロファイル情報を使用して、ユーザが見たい番組に関する提案をユーザに対して行うことができる。テレビ放送サーバ２７もこの情報を使用することで、番組を選択して録画し後で再生することができる。この機能を実現するためにＢＴＶサーバ２７内で必要になる記憶領域の量を考えると、このサービスをユーザ全員に提供することはできない。たとえば、「ゴールド受信契約」ユーザにのみこのサービスを提供し、見逃した番組を見られるようにすることもできる。
【００７８】
データベース
データベース３９とは、すべてのユーザの詳細、トランザクション、およびアプリケーション・データが格納されるシステム１の単一の領域のことである。データベース３９は、このデータを保持し、制御された方法でこれをアプリケーション・サーバ３０に配信する役割を持つ。データベース３９は、さらに、データベース３９内のデータに変更があったときにそのことをアプリケーション・サーバ３０およびユーザ・インターフェース・サーバ３１に通知し、サーバの内部キャッシュが更新されるようにする必要がある。
【００７９】
図７は、データベース３９内の主要コンポーネントを説明するブロック図である。図からわかるように、データベース３９はデータベース３９とアプリケーション・サーバ３０およびユーザ・インターフェース・サーバ３１とのインターフェースとなる動作をするサーバ・インターフェース・ユニット７０１を備える。これらのサーバから受け取ったデータベース・クエリがデータベース・プロセッサ７０３に渡されると、データベース・テーブル７０５のデータが処理され、クエリに応答する。図７に示されているように、データベース・テーブル７０５は異なるアプリケーション・サーバ３０について関連するデータを格納する多数のアプリケーション・テーブル７０７を備える。たとえば、これらのテーブルには、番組ガイド一覧を生成するためＥＰＧサーバ２１によって使用される電子番組ガイド・データが格納される。データベース・テーブル７０５はさらに、アプリケーション・サーバ３０およびユーザ・インターフェース・サーバ３１によって使用されるさまざまなユーザ情報および詳細を格納するユーザ・テーブル７０９も含む。たとえば、この情報には、ユーザ名、ユーザの家族名、ユーザ・ステータス、ユーザ・ログイン名、ユーザ・ログイン・パスワード、ユーザ・ログインＰＩＮ、ユーザ電子メール・アドレス、ユーザのお気に入り、ユーザ言語、ユーザの色、ユーザの国などが含まれる。データベース・テーブル７０５には、ユーザ・アカウント情報、請求書作成情報、および購入品目の詳細などを格納するためのユーザ詳細テーブルも含まれる。最後に、ユーザ・データベース・テーブル７０５は、さらに、データベース・テーブル７０５内のデータの一部を処理するためにアプリケーション・サーバ３０またはユーザ・インターフェース・サーバ３１からの要求により呼び出すことができる一組のストアド・プロシージャ７１３も含む。たとえば、ストアド・プロシージャを使用してテレビ放送サーバ２７から利用できるすべてのチャンネルの番組一覧を提供する電子番組ガイドを処理し、ＴＶチャンネルの選択で現在再生されている番組を決定することができる。
【００８０】
アプリケーション・サーバ３０から受け取ったクエリに応答することのほかに、データベース・プロセッサ７０３は、さらに、さまざまなサーバにトリガを送信する動作をすることが可能であり、それらのサーバ内のキャッシュをリフレッシュすることができる。特に、アプリケーション・サーバ３０またはユーザ・インターフェース・サーバ３１がデータベース・テーブル７０５にデータを書き込む場合、データベース・プロセッサ７０３は適切なトリガを発生し、システム１内の他のサーバに出力することで、キャッシュの関連する部分を更新することができる。このようにして、データベース・プロセッサ７０３は、システム１内のキャッシュされたデータの同期を制御することができる。
【００８１】
上では、ユーザがユーザ・インターフェース・サーバ３１を介して多数のリモート・サーバ３０からサービスおよびコンテンツにアクセスできるようにするシステムについて説明した。ユーザは、ユーザ・インターフェース・サーバ３１内にメニュー画面が生成され、ユーザのセットトップ・ボックス７にダウンロードされるメニューベースのユーザ・インターフェースを介してそれらのサービスおよびコンテンツにアクセスすることができる。この実施形態で使用するメニューベースのユーザ・インターフェースについて説明する。
【００８２】
ユーザ・メニュー・システム
図８は、この実施形態で使用するメニューベースのユーザ・インターフェースの一般的な動作を説明する機能を示す流れ図である。通常、ユーザは、メニュー・システムに入る前に、ビデオ・ストリーム（ステップｓ１）またはテレビ放送番組（ステップｓ３）を見ている。メニュー・システムにアクセスするため、ユーザはリモート・コントロール９またはキーボード１１のメニュー・キーを押す（ステップｓ５で）。特に断りのない限り、以下の説明では、ユーザはリモート・コントロール９を使用してメニュー・システムをナビゲートすると仮定する。
【００８３】
図９は、この実施形態で使用しているリモート・コントロール９の概略図である。図からわかるように、リモート・コントロール９は、メニュー・キー９０１、上矢印キー９０３、下矢印キー９０５、左矢印キー９０７、右矢印キー９０９、および３つのファンクション・キー９１１−１、９１１−２、９１１−３を備える。リモート・コントロール９は、従来と同様の動作であり、ユーザがキーの１つを押すと、対応するリモート・コントロール信号９１５が発生し、セットトップ・ボックス７に送信され、セットトップ・ボックスはその信号を受信して、押されたキーを判別する。
【００８４】
図８に戻ると、ステップｓ５で、ユーザがビデオ・ストリームまたはテレビ放送番組を見ている間にメニュー・キー９０１を押すと、ステップｓ７でメイン・メニューがテレビ５に表示される。実際、この実施形態で生じるのは、ユーザがメニュー・キー９０１を押したときに、セットトップ・ボックス７がメイン・メニュー画面に対してユーザ要求を発生することである。この要求はユーザ・インターフェース・サーバ３１に送信され、そこでローカル・キャッシュ３０９からメイン・メニュー画面が生成される。上述のように、ユーザ・インターフェース・サーバ３１は、メニュー画面をそのユーザ向けに個人化し（たとえば、ユーザの名前をメニュー画面に追加し、背景色を変更し、現在の時刻を追加するなど）、それをセットトップ・ボックス７に送り返してテレビ５に表示する。
【００８５】
図１０は、この実施形態で使用しているメイン・メニュー１００の形式を示している。図からわかるように、メイン・メニュー１００は２つの主要部分、つまり、さまざまなメニュー・カテゴリ１０７がユーザに対して表示される左側フレーム１０１とユーザが見ていたビデオまたはテレビ放送番組が再生を続ける右側フレーム１０３に分割される。左側フレーム１０１では、ユーザが受信契約しているサービス・プロバイダの名称とロゴ１０５を表示するための領域がフレームの１番上に配置される（この場合、Ｔｈｉｒｄｓｐａｃｅという名前とロゴである）。このロゴの下に、選択できる４つのメニュー・カテゴリ１０７−１〜１０７−４があり、それぞれ、関連するアイコン１０９−１〜１０９−４があり、現在選択されているカテゴリが識別されるように強調表示される。左側フレーム１０１はさらに、現在のユーザの名前が表示される領域１１１を含む。最後に、左側フレーム１０１の一番下に、現在時刻１１３および日付１１５が表示される。右側フレーム１０３では、現在のテレビ放送チャンネルの名称または表示されている映画の名称が上側部分１１７に表示され、テレビ番組またはビデオは中央表示領域１１９で再生される。このようにして、ユーザは、メニュー・キーを押す前に再生していたテレビ番組またはビデオを見続けることができる。
【００８６】
リモート・コントロール９の上矢印キー９０３または下矢印キー９０５を押すことにより、ユーザは現在強調表示になっているメニュー・カテゴリ１０７を変更することができる。たとえば、もう一度図１０に戻ると、強調表示になっている現在のメニュー・カテゴリはＶｉｄｅｏｓｐａｃｅカテゴリ１０７−２である。ユーザが上矢印キー９０３を押すと、Ｙｏｕｒｓｐａｃｅメニュー・カテゴリ１０７−１が強調表示になる。
【００８７】
それとは別に、ユーザが下矢印キー９０５を押していた場合、ＴＶｓｐａｃｅメニュー・カテゴリ１０７−３が強調表示になる。この実施形態では、メニュー・カテゴリ１０７に入るために、ユーザはメニュー・カテゴリ１０７が強調表示になっているときにリモート・コントロール上の右矢印キー９０９を押す。これは、図８のステップｓ９に示されている。図８に示されているように、結果は、その時に強調表示されていたメニュー・カテゴリ１０７に応じて、ステップｓ１１のＴＶｓｐａｃｅメニュー、ステップｓ１３のＶｉｄｅｏｓｐａｃｅメニュー、ステップｓ１５のＹｏｕｒｓｐａｃｅメニュー、またはステップｓ１７のＯｐｅｎｓｐａｃｅメニューの表示である。
【００８８】
この実施形態では、ＴＶｓｐａｃｅカテゴリ１０７−３では、ユーザはテレビ放送サーバ２７によって提供されるサービスおよびコンテンツにアクセスすることができ、Ｖｉｄｅｏｓｐａｃｅカテゴリ１０７−２では、ユーザはビデオ・サーバ１５によって提供されるサービスにアクセスすることができ、Ｙｏｕｒｓｐａｃｅカテゴリ１０７−１では、ユーザはＷｅｂサーバ２５を介してＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂに、電子メール・サーバ１９を介して電子メールに、管理および請求書作成サーバ２９を介してアカウント情報にアクセスすることができ、Ｏｐｅｎｓｐａｃｅメニュー・カテゴリ１０７−４では、ユーザはショッピング・サーバ２３を介してショッピング、３行広告、地域情報、およびゲームにアクセスすることができる。
次に、さまざまなこれらのメニュー・カテゴリ１０７について説明する。
【００８９】
ＴＶｓｐａｃｅ
上述のように、ＴＶｓｐａｃｅ  １０７−３は、ユーザがテレビ放送サーバ２７によって提供されるサービスおよびコンテンツにアクセスするためのユーザ・インターフェースの領域である。図１１は、ＴＶｓｐａｃｅ１０７−３と関連するメイン・ロジックを説明する流れ図である。「メイン・メニューを表示」ステップｓ７と「ＴＶｓｐａｃｅメニューを表示」ステップｓ１１は、わかりやすくするため再び示されている。この実施形態で使用しているメインＴＶｓｐａｃｅメニュー１２０は、図１２に示されている。図１０と図１２との比較からわかるように、メインＴＶｓｐａｃｅメニュー１２０は、図１０に示されているメイン・メニュー１００と似たルック＆フィールを持つ。特に、サービス・プロバイダのロゴ１０５が上側部分に表示される左側フレーム１０１を含む。ロゴ１０５の下に、メニュー・カテゴリＴＶｓｐａｃｅ１０７−３が表示され、ＴＶｓｐａｃｅ内にいることについてユーザに確認が行われる。左側フレーム１０１はさらに、リモート・コントロール９上の左矢印９０７を押した場合に、図１０に示されているメイン・メニュー１００に戻ることをユーザに通知する左矢印アイコン１２２を含む。このオプションは、図１１の流れ図のステップｓ１２に示されている。現在のユーザも、現在の時刻１１３および日付１１５とともに左側フレーム１０１の１１１で識別される。
【００９０】
ＴＶｓｐａｃｅメイン・メニュー１２０の右側フレーム１０３は、現在のテレビ番組またはビデオ・フィルムが再生を続けるビデオ・ウィンドウ１２１を含む。図からわかるように、このウィンドウ１２１の上に、現在再生している映画またはチャンネルの名前１２３がユーザに表示される（この図では「Ｃｈａｎｎｅｌ  ５」が表示されている）。「Ｏｐｔｉｏｎｓ」カルーセル・メニュー１２５はビデオ・ウィンドウ１２１の左に表示され、表示するテレビ番組を識別するさまざまなオプションの一覧が示される。この実施形態では、使用可能なメイン・オプションとして、ユーザが目的の番組を検索するテキスト文字列を入力するための「Ｓｅａｒｃｈ」オプション１２７、選択すると今日放送されている番組および現在のユーザ１１１がすでにお気に入りの番組として指示している番組の一覧を表示する「Ｔｏｄａｙ’ｓ  Ｆａｖｏｕｒｉｔｅｓ」オプション１２９、ユーザが受信契約している（そして表示することを許可されている）すべてのテレビ・チャンネルの完全な電子番組ガイド一覧を表示する「Ａｌｌ  Ｃｈａｎｎｅｌｓ」オプション１３１、およびユーザがテレビ放送サーバ２７から利用できるペイパービュー番組の一覧を参照することができる「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」オプションがある。
【００９１】
これらのメイン・オプションに加えて、ＴＶｓｐａｃｅメイン・メニュー１２０も、ユーザごとに異なり、サービス・プロバイダによって指定されるカルーセル１２５オプション内でリストを表示する。この例では、選択した場合に、全電子番組ガイド・データをフィルタ処理して、受信契約者のすべてのチャンネルでコメディ番組を識別するサービス・プロバイダによって定義された「Ｃｏｍｅｄｙ」オプション１３５が表示される。コメディ番組の一覧を表示するために、システムはユーザが「Ａｌｌ  Ｃｈａｎｎｅｌｓ」オプションを選択したかのように動作するが、適切なフィルタを使ってコメディとして分類されている番組のみを識別する。当業者であれば、他のサービス・プロバイダ定義オプションも利用できることは理解するであろう。サービス・プロバイダ定義オプションに加えて、システムはユーザ・プロファイルに応じてオプションのフィルタ処理を行うことができる。たとえば、「Ａｄｕｌｔ」オプションを１８歳以上のユーザ向けに用意することができる。このオプションは、１８歳未満のユーザについてはオプション・カルーセルから自動的に削除される。
【００９２】
図１２に示されているように、カルーセル１２５はさらに、一度にオプションのうちの１つを表示する選択ウィンドウまたはボックス１３７を備える。ユーザは、リモート・コントロール９の上矢印キー９０３または下矢印キー９０５を使用して（メニュー画面上に固定されたままの）選択ウィンドウ１３７内のさまざまなオプションをスクロールすることができる。これが可能かどうかは、それぞれオプション・カルーセル１２５の上と下に表示される上矢印アイコン１４１と下矢印アイコン１４３によってユーザに示される。たとえば、図１３に、リモート・コントロール９の上矢印キー９０３を１回押した後、図１２に示されるＴＶｓｐａｃｅメイン・メニュー１２０が示されている。図からわかるように、カルーセル１２５内のオプションはすべて１つ上に移動しており、「Ｃｏｍｅｄｙ」オプション１３５はカルーセル１２５の下にラップアラウンドする。したがって、リモート・コントロール９の上矢印キー９０３または下矢印キー９０５を押すことにより、ユーザは選択ウィンドウ１３７内の目的のオプションの位置を決めることができる。この実施形態では、ユーザがオプション・カルーセル１２５を操作すると、ユーザ・インターフェース・サーバ３１に更新メニュー・ページを要求せずに、Ｗｅｂブラウザ２０３によって、表示されるメニュー画面が修正される。当業者であれば、メニュー・ページを記述するＨＴＭＬファイル内に含まれるＪａｖａｓｃｒｉｐｔ命令の制御の下でこれを行うことを理解するであろう。
【００９３】
図に１２に示されているように、選択ウィンドウ１３７は、リモート・コントロール９のファンクション・キー９１１−１を押すことによりアクティブにすることができる「Ｃｈａｎｇｅ  Ｕｓｅｒ」アイコン１４９を含む。これは、ステップｓ１６でファンクション・キー９１１−１を押すことによりＴＶｓｐａｃｅメニュー１２０からアクセスされる「Ｃｈａｎｇｅ  Ｕｓｅｒ」ステップｓ１４により図１１に示されている流れ図で示されている。この「Ｃｈａｎｇｅ  Ｕｓｅｒ」オプションについては後で説明する。
【００９４】
ユーザがリモート・コントロール９の右矢印キー９０９を押すと、Ｗｅｂブラウザ２０３は、（現在のメニュー・ページを記述するＨＴＭＬファイルとともに送られたリンクを使用して）これを、現在選択ウィンドウ１３７内にあるオプションの実行を望んでいるものと解釈し、適切なメニュー・ページの要求をユーザ・インターフェース・サーバ３１に送り返す。図１１に示されているように、ユーザがステップｓ１３で右矢印キー９０９を押すと、「Ｓｅａｒｃｈ」オプション１２７が選択されていた場合はステップｓ１５で「Ｓｅａｒｃｈ」メニューが表示され、「Ｔｏｄａｙ’ｓ  Ｆａｖｏｕｒｉｔｅｓ」オプション１２９が選択されていた場合はステップｓ１７で「Ｔｏｄａｙ’ｓ  Ｆａｖｏｕｒｉｔｅｓ」メニューが表示され、「Ａｌｌ  Ｃｈａｎｎｅｌｓ」オプション１３１が選択されていた場合はステップｓ１９で「Ａｌｌ  Ｃｈａｎｎｅｌｓ」メニューが表示され、「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」オプション１３３が選択されていた場合はステップｓ２１で「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニューが表示される。ユーザが「Ｃｏｍｅｄｙ」オプション１３５を選択した場合、「Ｃｏｍｅｄｙ」メニューが表示される。この実施形態では、「Ｃｏｍｅｄｙ」オプション１３５は「Ａｌｌ  Ｃｈａｎｎｅｌｓ」オプション１３１のフィルタ処理バージョンに対応しているため、このオプションは図１１の流れ図には示されていない。
これらのユーザ・オプションの詳細について以下で説明する。
【００９５】
Ａｌｌ  Ｃｈａｎｎｅｌｓ
上述のように、「Ａｌｌ  Ｃｈａｎｎｅｌｓ」オプション１３１では、ユーザは受信契約しているすべてのチャンネルの完全な電子番組ガイドを利用することができる。特に、ユーザが「Ａｌｌ  Ｃｈａｎｎｅｌｓ」オプション１３１を選択した場合、セットトップ・ボックス７は、現在のユーザ用の電子番組ガイドの要求をユーザ・インターフェース・サーバ３１に送る。ユーザ・インターフェース・サーバ３１がそのキャッシュ３０９から要求されたメニュー・ページを用意できない限り、この要求は電子番組ガイド・サーバ２１に渡される。その後、電子番組ガイド・サーバ２１は、要求を行った現在のユーザのユーザ・プロファイル情報を使用してデータベース３９内に格納されている電子番組ガイド・データのフィルタ処理を行う。このフィルタ機能により、ユーザは、受信契約していないチャンネルまたは表示することを許されていないチャンネルの番組一覧を受け取れないようになる。その後、この番組一覧情報は、ユーザ・インターフェース・サーバ３１に返され、適切なＨＴＭＬファイルに整形され、ユーザのセットトップ・ボックス７にタウンロードされ、そこで適切なメニュー・ページが生成される。
【００９６】
このＨＴＭＬファイルから生成される典型的な「Ａｌｌ  Ｃｈａｎｎｅｌｓ」メニュー・ページを図１４に示す。図からわかるように、「Ａｌｌ  Ｃｈａｎｎｅｌｓ」メニュー・ページ１５０は、左側フレーム１０１と右側フレーム１０３を備えるという点で、図１２および１３に示されているＴＶｓｐａｃｅメイン・メニュー１２０と似たレイアウトが設定されている。ここでもまた、システムは、左側フレーム１０１内にサービス・プロバイダのロゴ１０５を表示し、その下にＴＶｓｐａｃｅ名１０７−３とロゴ１０９−３を表示する。左側フレーム１０１も、現在のユーザ１１１、現在の時刻１１３、および日付２１５を表示する。最後に、左側フレーム１０１はさらに、ユーザがリモート・コントロール９上の左矢印キー９０７を押して前のメニュー画面に戻ることができることを示す左矢印アイコン１２２を含む。このオプションは、図１１の流れ図のステップｓ２４に示されている。
【００９７】
右側フレーム１０３では、メニュー・ページに「Ａｌｌ  Ｃｈａｎｎｌｅｓ」というタイトルの付いているカルーセル１５３が配置され、ユーザはこれにより、カルーセル１５３が現在のユーザから利用できるすべてのチャンネルを表示していることを確認する。図１４に示されているように、カルーセル１５３は、ユーザが受信契約をしているすべてのテレビ・チャンネルについて現在および次回放映されるものを表示することを除き、図１２に示されているＴＶｓｐａｃｅメイン・メニュー１２０で使用されるカルーセル１２５に類似している。図に１４に示されているように、現在表示されているチャンネルは９９チャンネル、１チャンネル、２チャンネル（現在選択ウィンドウ１３７内にある）、５チャンネル、および２３チャンネルである。上矢印アイコン１４１および下矢印アイコンを１４３により示されているように、ユーザはリモート・コントロール９上の上矢印キー９０３または下矢印キー９０５を押すことで、固定された選択ウィンドウ１３７内で利用可能なチャンネル（一度にすべてを表示できるわけではない）をスクロールすることができる。
【００９８】
図１４に示されているように、選択ウィンドウ１３７には「Ｃｈａｎｇｅ  Ｕｓｅｒ」アイコン１４９が含まれる。上述のように、このオプションは、ユーザがリモート・コントロール９上のファンクション・キー９１１−１を押すことにより選択されるが、これは図１１のステップｓ２８の流れ図に示されている。このメニュー・ページからユーザを変更することができるほかに、ユーザはさらに、選択ウィンドウ１３７内の現在のチャンネルおよび／または番組の１つをデータベース３９に格納されているお気に入りのリストに追加することもできる。このオプションは、メニュー・ページ内にお気に入りアイコン１５５で表され、図１１では、「お気に入りを編集」ステップｓ３４により示されており、ステップｓ３１でファンクション・キー９１１−２を押すことにより「Ａｌｌ  Ｃｈａｎｎｅｌｓ」メニュー・ページ１５０からアクセスできる。この「お気に入りを編集」ルーチンについては後で説明する。
【００９９】
この実施形態では、図１４に示されている星形アイコン１５７および１５９を使用して、２チャンネルが現在お気に入りチャンネルであることを示し、また２チャンネルの次の番組（つまり、番組２〜３）が現在のユーザのお気に入り番組リストに載っていることを示す。
【０１００】
ユーザがリモート・コントロール９（図１１のステップｓ３０で表されている）上の右矢印キー９０９を押した場合、選択ウィンドウ１３７内のチャンネルの詳細番組一覧メニュー・ページが電子番組ガイド・サーバ２１から取り出され、テレビ５に表示される（図１１のステップｓ３２に対応する）。図１５は、２チャンネルのこの詳細な番組一覧メニュー・ページ１６０の形式を示している。図からわかるように、詳細メニュー・ページ１６０は、図１３に示されているＴＶｓｐａｃｅメイン・メニュー１２０と同じ一般的なルック＆フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。この実施形態では、ユーザが前の画面からチャンネルの１つを選択すると、そのチャンネルの詳細メニュー・ページ１６０を取り出すことに加えて、そのチャンネルに現在表示されているテレビ番組もストリーミングでユーザ・セットトップ・ボックス７に出力され、ビデオ・ウィンドウ１２１内に再生される。チャンネル１２３の名前も、ビデオ・ウィンドウ１２１の上に表示され、ウィンドウの下には、番組の名前（この場合、番組２−１）がその番組のテキスト記述１６１とともに表示される。
【０１０１】
この実施形態では、詳細な番組一覧に、次の７日間にわたる選択されたチャンネルでの番組の詳細が記述され、カルーセル１６３に表示される。最初は、ユーザが詳細番組一覧メニュー１６０に入ると、現在再生している番組が選択ウィンドウ１３７内に表示される。ユーザは、今日の番組と次の７日間にわたる番組をスクロールすることができる。翌日の番組が選択ウィンドウ１３７内に表示された場合、カルーセル１６３の上に示される日付が該当する日にちに変わる。さらに、「Ｃｈａｎｇｅ  Ｕｓｅｒ」アイコン１４９およびお気に入りアイコン１５５で示されているように、ユーザのＩＤを変更し、選択ウィンドウ１３７内に現在表示されている番組をユーザのお気に入りリストに追加することができる。これらのオプションは、それぞれ、図１１のステップｓ３３およびｓ３５で選択される。
【０１０２】
この実施形態では、ユーザがこの詳細メニュー・ページ１６０からリモート・コントロール９上の右矢印キー９０９を押すと、メニュー・ページがテレビ画面から削除され、現在ビデオ・ウィンドウ１２１内に表示されている番組が拡大し、テレビの全画面を埋める。これは、図１１のステップｓ３７およびｓ３に示されている。ユーザは、その後、もう一度メニュー・キー９０１を押して、メニュー・システムに入り直す必要がある。
【０１０３】
Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ
上述のように、「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」オプションを使用することにより、テレビ放送サーバ２７から利用できるペイパービュー・テレビ番組および映画の一覧を参照できる。特に、ユーザが「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」オプション１３３を選択した場合、「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページがテレビ５に表示され、ユーザが見ることができる。典型的な「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページ１７０が図１６に示されている。図からわかるように、「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページ１７０は、図１５に示されている詳細メニュー・ページ１６０と同じ一般的なルック＆フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。
【０１０４】
図１６に示されているように、「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページ１７０は、次の週のうちに放送されるペイパービュー番組および映画の一覧である「ペイパービュー」カルーセル１７３を含む。カルーセル１７３に一覧として示されているそれぞれのペイパービュー番組または映画では、番組または映画が表示される日付、放送される時刻、番組また映画を受信するために支払わなければならない価格が明示される。すでに購入しているＰａｙ−Ｐｅｒ−Ｖｉｅｗアイテムは、価格の代わりにそのアイテムの隣に表示されている購入済アイコン１８５により強調表示になっている。
【０１０５】
前のように、ユーザはリモート・コントロール９の上矢印キー９０３または下矢印キー９０５を使用して、固定された選択ウィンドウ１３７内のペイパービュー番組および映画をスクロールすることができる。図１６に示されているように、選択ウィンドウ１３７の右側の「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページ１７０のテキスト領域１７５に、現在選択ボックス１３７内にあるペイパービュー番組または映画の詳細が表示される。図１６に示されている説明では、これは、Ｍｏｖｉｅ  １が放映される時間の詳細、主演俳優および女優の詳細とともに映画の年齢格付け、映画に関するテキスト記述を含む。ユーザが選択ウィンドウ１３７内で別のペイパービュー番組および映画をスクロールすると、このテキスト領域１７５に表示されている情報も、現在選択ウィンドウ１３７内にある番組または映画に対応して変化する。この実施形態では、このテキスト領域１７５の上に、現在選択ウィンドウ１３７内にあるＰａｙ−Ｐｅｒ−Ｖｉｅｗアイテムの入力を求めるグラフィック画像が表示されるグラフィックス・ボックス１７７が用意される。
【０１０６】
「Ｃｈａｎｇｅ  Ｕｓｅｒ」アイコン１４９によって示されているように、リモート・コントロール９上のファンクション・キー９１１−１を押すことにより「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページ１７０内のユーザを変更することができる。このオプションは、図１１の流れ図のステップｓ４１に示されている。さらに、ユーザはリモート・コントロール９上の左矢印キー９０７を押して、ＴＶｓｐａｃｅメニュー１２０に戻ることができる。このオプションは、図１１のステップｓ２５に示されている。最後に、購入アイコン１７９により示されているように、ユーザは選択ウィンドウ１３７内にある現在のペイパービュー番組または映画を購入することができる。このオプションは、図１１のステップｓ４３に示されており、ユーザがファンクション・キー９１１−２を押すことによりアクティブになる。図１１に示されているように、ユーザがペイパービュー・アイテムを購入する場合、ステップｓ４５で、確認メッセージがユーザに対して表示される。これは図１７に示されており、選択ウィンドウ１３７内に確認メッセージが表示されている「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページ１７０を示している。キャンセル・アイコン１８１および受理アイコン１８３により表されているように、ユーザはオペレーションをキャンセルして、図１６に示されている「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページ１７０に戻るか、または選択したペイパービュー・アイテムを購入しようとしていることを受け入れることができる。この実施形態では、ユーザは，リモート・コントロール９上のファンクション・キー９１１−３または左矢印キー９０７のいずれかを押してオペレーションをキャンセルし、リモート・コントロール９上のファンクション・キー９１１−２を押して選択したペイパービュー・アイテムを購入しようとしていることを受け入れることができる。これらのキャンセルおよび受理のオプションはそれぞれ図１１のステップｓ４７およびｓ４９に示されている。
【０１０７】
ユーザが選択したペイパービュー・アイテムを購入することを受け入れない場合、ステップｓ５１でシステムはユーザがペイパービュー・アイテムを購入できるようにユーザ妥当性確認を実行する。ユーザの妥当性が確認されない場合、ユーザは図１６に示されている「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニュー・ページ１７０に戻る。しかし、ユーザの妥当性が確認されると、テレビ放送サーバ２７はデータベース３９内で、ユーザが選択したペイパービュー・アイテムを購入したことを示す。ペイパービュー番組または映画が現在再生されているかまたは再生する予定であれば、テレビ放送サーバ２７はユーザをテレビ放送の適切なチャンネルに戻し、ペイパービュー番組または映画を受信するようにする。しかし、ペイパービュー番組または映画が将来のある時点に再生することを予定している場合、テレビ放送サーバ２７はユーザを、メニュー・システムに入る前に見ていた元のテレビ放送チャンネルまたはビデオ・ストリームに戻す。
【０１０８】
この実施形態では、ステップｓ５１でユーザ妥当性確認を実行するために、ユーザ・インターフェース・サーバ３１では上述のログイン共通機能を使用する。このユーザ妥当性確認ルーチンの流れ図は図１８に示されている。ステップｓ６１に示されているように、ログイン共通機能が開始すると、ユーザはＰＩＮ番号の入力が求められる。これはさらに、図１９に示されており、「ペイパービュー」メニュー・ページ１７０の選択ウィンドウ１３７内のＰＩＮ番号の入力を求めるプロンプト１８９が示される。テキスト入力ボックス１９１も選択ウィンドウ１３７内に用意され、ユーザは（キーボード１１を使用して）ＰＩＮ番号をそこに入力することができる。ユーザは、操作中にいつでも、リモート・コントロール９上の左矢印キー９０７を押すことにより購入手順をキャンセルすることができる。さらに、キャンセル・アイコン１８１により表されているように、ユーザは（ステップｓ６３で）リモート・コントロール９上のファンクション・キー９１１−３を押すことにより操作をキャンセルすることもできる。受理アイコン１９５によって表されているように、ユーザは、ＰＩＮ番号を入力した後、リモート・コントロール９上のファンクション・キー９１１−２を押すことにより（ステップｓ６５で）受け入れる。これにより、入力されたＰＩＮ番号がユーザ・インターフェース・サーバ３１に送信され、そこで、ユーザ・データ・キャッシュ３１０内の現在のユーザについて格納されているＰＩＮ番号と比較する。これは、図１９に示されている流れ図のステップｓ６７に対応している。
【０１０９】
ＰＩＮ番号が正しい場合、ユーザの妥当性が確認され、妥当性確認手順は終了する。しかし、ＰＩＮ番号が正しくない場合、ステップｓ６９で、ユーザ・インターフェース・サーバ３１はメニュー・ページ１７０を更新し、選択ウィンドウ１３７内に不正ＰＩＮメッセージを表示し、ユーザがＰＩＮ番号を再入力するか、または操作をキャンセルするかのいずれかの選択を行えるようにする。これは、図１８においてステップｓ７１およびｓ７３で表されている。ユーザは、ＰＩＮ番号を再入力することに決めた場合、図１９に示されているメニュー画面に戻り、ＰＩＮ番号を再入力することができる。そうでない場合、ユーザは図１６に示されている元の「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニューに戻る。図１８に示されている流れ図には表されていないが、ユーザ・インターフェース・サーバ３１が購入オペレーションを中止しユーザを図１６に示されている元の「Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ」メニューに戻すまでの間にユーザがＰＩＮ番号を再入力できる回数は制限されている。
【０１１０】
Ｔｏｄａｙ’ｓ  Ｆａｖｏｕｒｉｔｅｓ
ユーザがＴＶｓｐａｃｅメイン・メニュー１２０から「Ｔｏｄａｙ’ｓ  Ｆａｖｏｕｒｉｔｅｓ」オプション１２９を選択した場合、表示される現在のユーザのお気に入りとしてマークされていた番組すべてを取り出す要求がユーザ・インターフェース・サーバ３１に送られる。その結果がユーザに返され、適切なカルーセル（図に示されていない）内にそのユーザのために表示される。ユーザは、それらのお気に入りをスクロールして、見たい番組があるかどうかを調べることができる。図１１に示されているように、このお気に入りメニュー・ページがステップｓ１７で表示されたら、ユーザはステップｓ２３で、リモート・コントロール９の左矢印キー９０７を押してＴＶｓｐａｃｅメニュー１２０に戻ることを選択できる。また、現在のユーザを変更するか（ステップｓ５５によって表されている）、またはお気に入りリストからお気に入りをキャンセルする（ステップｓ５７によって表されている）こともできる。
【０１１１】
Ｓｅａｒｃｈ
この実施形態では、ＴＶｓｐａｃｅメイン・メニュー１２０またはＶｉｄｅｏｓｐａｃｅメイン・メニュー（以下で説明する）のいずれかから「Ｓｅａｒｃｈ］オプション１２７を呼び出すことができる。「Ｓｅａｒｃｈ」オプション１２７のオペレーションを説明する流れ図が図２０に示されている。ステップｓ８１で示されているように、ユーザは、「Ｓｅａｒｃｈ」オプションが選択ウィンドウ１３７内にあるときにリモート・コントロール９上の右矢印キー９０９を押すことにより検索メニューに入る。図２１は、ステップｓ８３で表示される代表的な「Ｓｅａｒｃｈ」メニュー２０００を示している。図からわかるように、メニュー画面２０００は、図１２に示されているＴＶｓｐａｃｅメイン・メニュー１２０と同じルック＆フィールを備える。同じ要素は、同じ参照番号のラベルが付けられるので、同じ説明を繰り返さない。図２１に示されているように、検索カルーセル２００１は検索を絞り込むさまざまな検索オプションを識別する。これらのオプションには、たとえば、個人の名前を検索するために使用できる個人オプション２００３、たとえば、カテゴリ（コメディ、ドラマなど）に基づいて番組またはビデオを検索するために使用できるジャンル・オプション２００５、たとえば、特定のタイプのチャンネル（たとえば、スポーツ・チャンネル）の番組を検索するために使用できるチャンネル・タイプ・オプション、たとえば特定のタイプの番組を検索するために使用できる番組タイプ・オプション２００９、およびユーザ定義テキスト文字列または単語に基づいてサービスおよび／またはコンテンツを検索するために使用できる単語検索オプション２１１がある。
【０１１２】
前のメニュー画面の場合のように、ユーザは選択ウィンドウ１３７内の検索オプションをスクロールして、選択ウィンドウ１３７内に目的の検索オプションが現れたら、リモート・コントロール９の右矢印キー９０９を押してそのオプションを選択する。これは、図２０に示されているステップｓ８５に対応している。さらに、ステップｓ８７およびｓ８９に示されているように、ユーザは、「Ｓｅａｒｃｈ」メニュー・ページ２０００を切り替えて、左矢印キー９０７を押してＴＶｓｐａｃｅメニューまたはＶｉｄｅｏｓｐａｃｅメニューに戻ることができる。この場合、ユーザは２つの異なるメニュー・ページに戻ることができるため、ユーザ・インターフェースサーバ３１に送り返された要求により、ユーザが表示していた前の画面を識別する。
【０１１３】
図２２に示されているように、ユーザが検索オプションの１つを選択すると、メニュー画面が切り替わり、テキスト入力ボックス２０１３とプロンプト２０１５がユーザに表示され、検索する単語の入力が求められる。これは、図２０のステップｓ９１に示されている。キャッスル・アイコン１８１および図２２に示されている左矢印アイコン１２２に示されているように、ユーザは、リモート・コントロール９の左矢印キー９０７またはファンクション・キー９１１−３を押すことにより、図２１に示されているメニュー・ページに戻ることができる。これは、図２０のステップｓ９３に示されている。ユーザはキーボード１１を使用してテキスト入力ボックス２０１３内に検索単語を入力した後、リモート・コントロール９の右矢印キー９０９（図２０のステップｓ９５に対応する）を押して検索を実行することができる。すると、検索単語がユーザ・インターフェース・サーバ３１の検索共通機能に送信され、適切なアプリケーション・サーバ３０が検索されて検索結果が生成され、適切なＨＴＭＬファイルでユーザに返され、ステップｓ９７で表示される。
【０１１４】
ステップｓ９７で表示される結果ページでは、上述のものと似たカルーセル（図に示されていない）に結果が表示される。ユーザは、そのカルーセルの選択ウィンドウ内の検索結果をスクロールして、リモート・コントロール９の右矢印キー９０９を押すことにより選択することができる。これは、図２０のステップｓ９９に示されている。この場合、システムは、ステップｓ１０１で、要求されたタイトルを再生できるか判別する。再生できるのであれば、テレビ番組または映画がステップｓ１０３でユーザへストリーム出力される。タイトルが利用できない場合、ステップｓ１０５で、システムは結果のメニュー・ページ内に「ｔｉｔｌｅ  ｎｏｔ  ａｖａｉｌａｂｌｅ」メッセージをユーザに表示する。図２０に示されているように、この段階で、ユーザはステップｓ１０７で要求をキャンセルして、ステップｓ９７で表示されている結果メニュー・ページに戻るか、またはステップｓ１０９で、リモート・コントロール９上の適切なお気に入りファンクション・キー９１１を押して、要求したタイトルをそのお気に入りリストに追加することができる。ステップｓ１１１で示されているように、ユーザは、さらに、ステップｓ９７で表示されている検索結果メニュー・ページから直接に、選択した検索結果をお気に入りリストに追加することもできる。さらに、ステップｓ１１３で表されているように、ステップｓ９７で表示される結果メニュー・ページからユーザを切り替えることもできる。
【０１１５】
Ｃｈａｎｇｅ  Ｕｓｅｒ
上述のように、メニュー画面のほとんどでは、システムに現在ログオンしているユーザを変更することが可能である。この「Ｃｈａｎｇｅ  Ｕｓｅｒ」手順の詳細は、図２３および２４を参照しながら説明する。この実施形態では、メニュー・システムは、特定のメニュー・ページ内の「Ｃｈａｎｇｅ  Ｕｓｅｒ」ボタンを押すと、ユーザが変更された後、ユーザは「Ｃｈａｎｇｅ  Ｕｓｅｒ」ルーチンが呼び出されたメニュー・ページに戻る。この現在のメニュー・ページは、図２３に示されているステップｓ１２１で表示される。
【０１１６】
ユーザがステップｓ１２３でリモート・コントロール９の「Ｃｈａｎｇｅ  Ｕｓｅｒ」ファンクション・キー９１１を押すと、システムは現在表示されているメニュー・ページを変更し、ステップｓ１２５で「Ｃｈａｎｇｅ  Ｕｓｅｒ」オプションを表示する。これは、図１３に示されているＴＶｓｐａｃｅメイン・メニュー１２０について図２４に示されている。図からわかるように、選択ウィンドウ１３７内で、システムは２０２１で、選択できる別のユーザの名前を表示する。この段階で、ステップｓ１２７により表されているように、ユーザは、リモート・コントロール９のファンクション・キー９１１−３、左矢印キー９０７、上矢印キー９０３、または下矢印キー９０５を押して、最初に表示されていたメニュー・ページ（この場合は、図１３に示されているメニュー・ページ）に戻ることができる。それとは別に、次のユーザ・アイコン２０２３により表されているように、ユーザは、ファンクション・キー９１１−１を押して、現在のセットトップ・ボックス７と関連する異なるユーザをスクロールすることができる（たとえば、セットトップ・ボックス７を使用する家族内の別の家族一員）。これは、図２３のステップｓ１３１に示されている。
【０１１７】
家族アイコン２０２５により現れているように、ユーザはさらに、現在のユーザをセットトップ・ボックス７のすべてのユーザが使用することができる家族設定にすることもできる。このオプションをアクティブにするには、ユーザがステップｓ１３３でリモート・コントロール９のファンクション・キー９１１−２を押す。それとは別に、ユーザは、ステップｓ１３５で、リモート・コントロール９の右矢印キー９０９を押すことにより２０２１で選択ウィンドウ１３７内に表示されている現在のユーザを選択することができる。この場合、ステップｓ５１の上述のユーザの妥当性確認手順が実行される。ユーザの妥当性確認が行われるか、または家族設定が入力されている場合、ユーザ・インターフェース・サーバ３１は、適切な親制御設定を行い、データベース３９内の旧ユーザと新規ユーザのログイン・ステータスを変更する。ユーザ・インターフェース・サーバ３１は、さらに、新規ユーザのプリファレンスに合わせて現在表示されているメニュー・ページのＨＴＭＬページを変更し、ステップｓ１２１に戻ったときに、システムが新規ユーザのプリファレンスおよびメニュー・ページの左側フレーム１０１内の新規ユーザの名前１１１にしたがって現在のメニュー・ページを表示する。
【０１１８】
Ｅｄｉｔ  Ｆａｖｏｕｒｉｔｅｓ
上述のように、番組またはチャンネルをユーザのお気に入りリストに追加するために、ユーザの現在のお気に入りを編集することができる。ユーザがお気に入りオプションを起動すると、ユーザ・インターフェース・サーバ３１上で動作するお気に入り共通機能プロシージャが起動される。ｃｈａｎｇｅ−ｕｓｅｒ機能の場合と同様に、この実施形態では、メニュー・システムは、特定のメニュー・ページ内のお気に入りボタンを押した場合、ユーザのお気に入りリストが更新された後に、ユーザはお気に入りルーチンが呼び出されたメニュー・ページに戻る。
【０１１９】
図２５は、「お気に入りを編集」ルーチンを説明する流れ図である。ステップｓ１５１で、ユーザがお気に入りオプションをアクティブにしたメニュー・ページが表示される。ユーザがステップｓ１５３でリモート・コントロール９のお気に入りファンクション・キーを押すと、システムはステップｓ１５５で使用可能なお気に入りオプションを表示する。この実施形態では、ユーザは現在のチャンネルまたは現在の番組をユーザのお気に入りリストに追加することができる。図２５に示されているように、これらは、ステップｓ１５７でお気に入りチャンネル・キーを押すか、またはステップｓ１５９でお気に入り番組キーを押すことによりアクティブにすることができる。その後、それぞれステップｓ１６１およびステップｓ１６３でユーザのお気に入りリストに適切なチャンネル的な番組が追加される。ユーザは、お気に入りオプションが呼び出されたメニュー・ページに戻る。さらに、図２５に示されているように、お気に入りオプションがステップｓ１５５で表示されると、ユーザは、ステップｓ１６５でキャンセル・ファンクション・キー、上矢印キー９０３、下矢印キー９０５、または左矢印キー９０７を押して前のメニュー・ページに戻ることができる。
【０１２０】
Ｖｉｄｅｏｓｐａｃｅ
上述のように、Ｖｉｄｅｏｓｐａｃｅ  １０７−２は、ユーザがビデオ・サーバ１５によって提供されるビデオ映画にアクセスするためのユーザ・インターフェースの領域である。図２６は、Ｖｉｄｅｏｓｐａｃｅ１０７−２と関連するメイン・ロジックを説明する流れ図である。「メイン・メニューを表示」ステップｓ７と「Ｖｉｄｅｏｓｐａｃｅメニューを表示」ステップｓ１３は、わかりやすくするため再び示されている。この実施形態で使用しているメインＶｉｄｅｏｓｐａｃｅメニュー２０５０は、図２７に示されている。図からわかるように、Ｖｉｄｅｏｓｐａｃｅメニュー・ページ２０５０は、ＴＶｓｐａｃｅメイン・メニュー１２０と似たルック＆フィールを備えており、同じ要素は同じ参照番号で参照されているため、ここでもう一度説明することはしない。図２７に示されているように、Ｖｉｄｅｏｓｐａｃｅメイン・メニュー２０５０の左側フレーム１０１には、Ｖｉｄｅｏｓｐａｃｅロゴ１０９−２およびＶｉｄｅｏｓｐａｃｅの名前１０７−２が表示され、ユーザはＶｉｄｅｏｓｐａｃｅメニューが表示されていることを確認できる。
【０１２１】
右側フレーム１０３に示されているように、ダウンロードするビデオ・ファイルを識別するためのオプションをユーザに表示する「Ｏｐｔｉｏｎｓ」カルーセル・メニュー２０５３が用意されている。図からわかるように、オプションには、ユーザが新しいビデオ・リリースをブラウズするために選択できる「Ｎｅｗ  Ｔｉｔｌｅｓ」オプション２０５５、ユーザが利用可能なすべての映画をブラウズできる「Ａｌｌ  Ｍｏｖｉｅｓ」オプション２０５７、ユーザがすでに購入しているビデオをブラウズできる「Ｖｉｄｅｏｓｈｅｌｆ」オプション２０５９、ユーザがビデオ・サーバは１５および／またはテレビ放送サーバ２７上で特定の映画を検索できる「Ｓｅａｒｃｈ  Ｍｏｖｉｅｓ」オプション２０６１がある。図２７に示されているように、Ｖｉｄｅｏｓｐａｃｅオプションはさらに、選択ウィンドウ１３７内に現在表示されている「Ｔｏｐ  Ｔｅｎ」オプション２０６３も含む。この「Ｔｏｐ  Ｔｅｎ」オプションを使用することにより、ユーザは現在のトップ・テンの映画をブラウズすることができる。この実施形態では、トップ・テン・リストを個人ユーザに合わせて個人化し、たとえば、ユーザの年齢を考慮するようにし、現在のユーザではアクセスできない映画を表示しないようにする。
【０１２２】
この実施形態では、Ｖｉｄｅｏｓｐａｃｅメニュー２０５０の「Ｏｐｔｉｏｎｓ」カルーセル２０５３の右にプロモーションが表示される。この実施形態では、プロモーションには、グラフィックス・ウィンドウ１７７内に表示されるグラフィックが含まれ、その下には、宣伝される映画の詳細が表示されるテキスト領域１７５が含まれる。図２７に示されている説明では、Ｍｏｖｉｅ  Ａが宣伝中であり、テキスト領域１７５には放映時間、年齢格付け、主演俳優および女優、映画のテキスト記述が明示される。このテキスト記述では、さらに、映画を購入する際の費用と映画を見られる期間を明記する。この実施形態では、ビデオ・サーバ１５は、データベース３９内に格納されているユーザ・プロファイル情報を使用して、それぞれのユーザ向けにプロモーションを個人化する。特に、ビデオ・サーバ１５は、ユーザ・プロファイル情報を使用して現在のユーザが見たがっている映画のタイプを識別し、このカテゴリ内の映画を宣伝する。このようにして、ビデオ・サーバ１５は、プロモーションの対象を直接現在のユーザに絞り込むことができる。
【０１２３】
「映画購入」アイコン２０６８によって表されているように、ユーザはリモート・コントロール９上のファンクション・キー９１１−２を押して宣伝されている映画の購入を決めることができる。これは、図２６の流れ図のステップｓ１８４に示されている。この場合、ユーザは上述のユーザ妥当性確認ルーチンｓ５１に進む。それとは別に、ユーザは、ステップｓ１８１でリモート・コントロール９の左矢印キー９０７を押してメイン・メニューに戻ることができる。さらに、ｃｈａｎｇｅ−ｕｓｅｒアイコン１４９によって示されているように、ログインしたユーザは、ステップｓ１８３でリモート・コントロール９のファンクション・キー９１１−１を押すことによりこのメニュー画面から変更することもできる。
【０１２４】
前のメニュー・ページのカルーセルの場合のように、ユーザは、リモート・コントロール９上の上矢印キー９０３および下矢印キー９０５を使用して選択ウィンドウ１３７内のＶｉｄｅｏｓｐａｃｅオプションをスクロールすることができる。目的のＶｉｄｅｏｓｐａｃｅオプションが選択ウィンドウ１３７内に現れたら、ステップｓ１８５で右矢印キー９０９を押して、次のメニュー・ページに進むことができる。ユーザがＶｉｄｅｏｓｈｅｌｆオプションを選択した場合、システムはステップｓ１８７でＶｉｄｅｏｓｐａｃｅメニュー・ページを表示する。ユーザが「Ｓｅａｒｃｈ  Ｍｏｖｉｅｓ」オプション２０６１を選択した場合、システムはステップｓ１８９で「Ｓｅａｒｃｈ」メニュー・ページを表示する。ユーザが他のオプションを選択した場合、システムはステップｓ１９１で適切な「映画のリスト」メニュー・ページを表示する。
【０１２５】
ステップｓ１８９で実行される検索オプションは、ＴＶｓｐａｃｅで実行される検索オプションと同じなので、もう１度ここで説明することはしない。「ｄｉｓｐｌａｙ  ｌｉｓｔ  ｏｆ  ｆｉｌｍｓ」オプションと「ｄｉｓｐｌａｙ  Ｖｉｄｅｏｓｈｅｌｆ」オプションについて、以下で詳しく説明する。
【０１２６】
Ｄｉｓｐｌａｙ  Ｌｉｓｔ  ｏｆ  Ｆｉｌｍｓ
上述のように、ユーザが「Ｎｅｗ  Ｔｉｔｌｅｓ」オプション２０５５、「Ａｌｌ  Ｍｏｖｉｅｓ」オプション２０５７、または「Ｔｏｐ  Ｔｅｎ」オプション２０６３を選択した場合、システムは、ビデオ・サーバ１５から映画の適切なリストを取り出し、ステップｓ１９１で適切なメニュー・ページにそのリストを表示する。図２８は「Ｔｏｐ  Ｔｅｎ」オプション２０６３が選択された場合に生成される「Ｔｏｐ  Ｔｅｎ」メニュー・ページ２０８０を示している。その結果生成されたメニュー・ページ２０８０は、Ｖｉｄｅｏｓｐａｃｅを現在表示していることを識別する左側フレーム１０１含み、右側フレーム１０３のトップ・テン映画カルーセル２０８１内にトップ・テンの映画のリストが表示されるという点で、図１４に示されている「Ａｌｌ  Ｃｈａｎｎｅｌｓ」メニュー・ページを似たルック＆フィールを備える。図２８に示されているように、このリスト内のそれぞれの映画は対応する映画と関連付けられたグラフィック２０８５を含む。映画の名前も、その映画の年齢格付けとともに表示される。他のカルーセルの場合のように、ユーザは、リモート・コントロール９の上矢印キー９０３または下矢印キー９０５を使用して選択ウィンドウ１３７内のトップ・テン・リスト内の映画をスクロールすることができる。
【０１２７】
ｃｈａｎｇｅ−ｕｓｅｒアイコン１４９によって示されているように、ユーザは、ステップｓ１９９でリモート・コントロール９のファンクション・キー９１１−１を押すことによりこのメニュー・ページから上述のｃｈａｎｇｅ−ｕｓｅｒプロシージャを起動できる。ユーザは、ステップｓ２０１でリモート・コントロール９上のファンクション・キー９１１−２を押すことにより選択ウィンドウ１３７内で現在の映画を購入することも選択できる。図からわかるように、この場合、上述のユーザ妥当性確認ルーチンｓ５１が起動される。
【０１２８】
ユーザは、「Ｔｏｐ  Ｔｅｎ  Ｆｉｌｍｓ」メニュー・ページ２０８０から直接映画を購入する代わりに、ステップｓ２０３でリモート・コントロール９の右矢印キー９０９を押すことにより選択ウィンドウ１３７内の現在の映画に対する他のオプションを表示することができる。図２９は、Ｍｏｖｉｅ  ４に対して利用できるオプションを表示するその結果のメニュー・ページ２０９０を示している。（図２６に示されているように情報はステップｓ２０５で表示される。）表示されるメニュー・ページ２０９０は、ユーザがＭｏｖｉｅ  ４に関する補足情報を要求したり、映画を購入したり、あるいはＭｏｖｉｅ  ４の予告編を全画面で表示したりすることができる「Ｆｉｌｍｓ  Ｏｐｔｉｏｎｓ」カルーセル２０９１を備える。この実施形態では、「Ｆｉｌｍｓ  Ｏｐｔｉｏｎｓ」メニュー・ページ２０９０がユーザに表示されると、映画の予告編もビデオ・ウィンドウ１２１内に再生され、ユーザが見ることができる。放映時間を含む映画に関する他の詳細、主演俳優または女優、および映画に関するテキスト記述がビデオ・ウィンドウ１２１の下のテキスト・ボックス１７５の中に表示される。他のカルーセルの場合のように、ユーザはリモート・コントロール９の上矢印キー９０３または下矢印キー９０５を押すことで、選択ウィンドウ１３７のカルーセル２０９１内の映画オプションをスクロールすることができる。ユーザは、ステップｓ２０７で、リモート・コントロール９上の左矢印キー９０７を押すことにより「Ｔｏｐ  Ｔｅｎ  Ｆｉｌｍｓ」メニュー２０８０に表示される映画リストに戻ることもできる。ｃｈａｎｇｅ−ｕｓｅｒアイコン１４９によって表されているように、ステップｓ２０９でリモート・コントロール９のファンクション・キー９１１−１を押すことにより現在のユーザを変更することもできる。
【０１２９】
図を２６に示されているように、ユーザがステップｓ２１１でリモート・コントロール９の右矢印キーを押すと、キーを押したときに選択ウィンドウ内に表示されていたオプションに応じて、処理はステップｓ２１３、ｓ２１５、またはｓ２１７に進む。ステップｓ２１３に示されているように、「Ａｄｄｉｔｉｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ」オプション２０９３がステップｓ２１１で選択された場合、システムはＷｅｂサーバ２５を介してインターネットから追加情報を検索し、その結果をユーザに表示する。ステップｓ２１１で、ユーザが「Ｖｉｅｗ  ｔｒａｉｌｅｒ  ｆｕｌｌ  ｓｃｒｅｅｎ」オプション２０９７を選択した場合、ステップｓ２１５で、システムは映画の予告編を全画面で再生し、予告編が終了した後、ユーザは図２９に示されている「Ｆｉｌｍ  Ｏｐｔｉｏｎｓ」メニュー２０９０に戻る。
【０１３０】
ユーザが「Ｐｕｒｃｈａｓｅ  Ｍｏｖｉｅ」オプション２０９５を選択した場合、上述の「ユーザ妥当性確認を実行」ルーチンｓ５１が実行される。ユーザの妥当性が確認されない場合、ユーザは「Ｆｉｌｍｓ  Ｏｐｔｉｏｎｓ」メニュー２０９０に戻る。ステップｓ２１９でユーザの妥当性確認が行われた場合、購入済み映画オプションがユーザに表示される。この実施形態では、これらのオプションは後で購入済み映画を見る（ｓ２２１）か、または購入済み映画を今見る（ｓ２２３）ことになる。ユーザが後で映画を見ることに決めた場合、ユーザはステップｓ１９１で表示される図２８に示されている「Ｔｏｐ  Ｔｅｎ  Ｆｉｌｍｓ」メニュー・ページ２０８０のリストに戻る。そうでない場合、ユーザが映画を今見ることに決めた場合、ステップｓ２２５で適切なビデオ・ストリームがビデオ・サーバ１５からユーザにストリームダウンされる。
【０１３１】
Ｖｉｄｅｏｓｈｅｌｆ
上述のように、Ｖｉｄｅｏｓｐａｃｅオプション・メニュー・ページ２０５０内のＶｉｄｅｏｓｈｅｌｆオプション２０５９を使用することで、ユーザがすでに購入している映画のリストをユーザが見ることができる。このＶｉｄｅｏｓｈｅｌｆ機能と関連するメニュー・ロジックが図３０に示されている。分かりやすくするためにステップｓ１３、ｓ１８５、ｓ１８７、およびｓ１９３を再び掲載している。図３０に示されているように、ステップｓ１８７で、ユーザは、ステップｓ２５１で、リモート・コントロール９の「Ｃｈａｎｇｅ  Ｕｓｅｒ」ファンクション・キーを押すことにより上述の「Ｃｈａｎｇｅ  Ｕｓｅｒ」ルーチンｓ１４を起動することができる。それとは別に、ユーザは、ステップ２５３で、リモート・コントロール９の右矢印キー９０９を押すことによりメニュー・ページ（図に示されていない）に一覧が表示されている映画の１つを選択することができる。ユーザがこのようにして映画を選択する場合、ステップｓ２５５で、システムは選択した映画に対する詳細とオプションを表示する。この実施形態では、これらのオプションには「Ａｄｄｉｔｉｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ」オプション、「Ｐｌａｙ  ｓｅｌｅｃｔｅｄ  ｆｉｌｍ」オプション、および「Ｐｕｒｃｈａｓｅ  ａｇａｉｎ」オプションが含まれている。「Ａｄｄｉｔｉｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ」オプションがステップｓ２５６で選択された場合、ステップｓ２５７で、システムはＷｅｂサーバ２５を介してインターネットから選択した映画の補足情報を取り出す。ステップｓ２５６でユーザが「Ｐｌａｙ」オプションを選択した場合、ステップｓ２５９で、システムはビデオ・サーバ１５からユーザに適切なビデオ・ストリームをストリーミングすることにより映画を再生する。
【０１３２】
この実施形態では、ユーザが映画を購入する場合、限られた期間のみ行う。したがって、すでに購入済みの映画をユーザが再び購入できるようにする「Ｐｕｒｃｈａｓｅ  ｍｏｖｉｅ  ａｇａｉｎ」オプションが用意されている。ステップｓ２５６でユーザが映画を再購入することに決めた場合、ステップｓ５１で、システムは上述のユーザ妥当性確認ルーチンを実行する。ユーザの妥当性が確認されない場合、システムはステップ２５５に戻り、そこでＶｉｄｅｏｓｈｅｌｆオプションがユーザに対して再度表示される。しかし、ユーザの妥当性が確認されると、システムはステップｓ２６５で、映画がすでに購入されていることをユーザに確認し、ユーザはステップｓ２５５でＶｉｄｅｏｓｈｅｌｆオプション・ページに戻る。
【０１３３】
図３０に示されているように、ステップｓ２５５で表示されるメニュー・ページでさらに、別のユーザがステップｓ２５８でリモート・コントロール９の「Ｃｈａｎｇｅ  Ｕｓｅｒ」ファンクション・キー９１１を押すことによりログインすることができる。また、ステップｓ２６１で、リモート・コントロール９の左矢印キー９０７を押すことにより、ステップｓ１８７で表示されている購入済み映画のリストに戻ることができる。
【０１３４】
Ｙｏｕｒｓｐａｃｅ
上述のように、Ｙｏｕｒｓｐａｃｅカテゴリ１０７−１では、ユーザは、Ｗｅｂサーバ２５を介してＷｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂに、メール・サーバ１９を介して電子メールに、管理および請求書作成サーバ２９を介してアカウント情報にアクセスすることができる。Ｙｏｕｒｓｐａｃｅ１０７−１と関連するメニュー・ロジックが図３１に示されている。「メイン・メニューを表示」ステップｓ７、「選択」ステップｓ９、および「Ｙｏｕｒｓｐａｃｅメニューを表示」ステップｓ１５は、わかりやすくするため図３１に再び示されている。
【０１３５】
図３２は、ステップｓ１５で表示される代表的な「Ｙｏｕｒｓｐａｃｅ」メイン・メニュー２１００を示している。図からわかるように、Ｙｏｕｒｓｐａｃｅメイン・メニュー３２は、同じ要素は同じ参照番号で参照されている左側フレーム１０１を含んでいるため、ここでもう一度説明することはしない。図３２に示されているように、Ｙｏｕｒｓｐａｃｅロゴ１０９−１およびＹｏｕｒｓｐａｃｅカテゴリ名１０７−１は、左側フレーム１０１内に表示され、ユーザに、現在Ｙｏｕｒｓｐａｃｅメニュー・カテゴリに入っている確認を求める。左側フレーム１０１内にさらに、左矢印アイコン１２２も用意されており、ユーザに対して、リモート・コントロール９の左矢印キー９０７を押してステップｓ７で表示されているメイン・メニューに戻ることの確認が求められる。これは、図３１のステップｓ３０１に示されている。さらに、「Ｃｈａｎｇｅ−Ｕｓｅｒ」アイコン１４９によって表されているように、ユーザがステップｓ３０３で「Ｃｈａｎｇｅ  Ｕｓｅｒ」ファンクション・キー９１１−１を押すことにより「Ｃｈａｎｇｅ  Ｕｓｅｒ」ルーチンｓ１４を起動することができる。
【０１３６】
図３２に示されているように、Ｙｏｕｒｓｐａｃｅメニュー・ページ２１００の右側フレーム１０３はＹｏｕｒｓｐａｃｅメニュー・カテゴリ１０７−１内に用意されているオプションの一覧を表示している「Ｙｏｕｒｓｐａｃｅ」カルーセル２１０１を含む。図からわかるように、この実施形態では、オプションとして、「Ｗｅｂ」オプション２１０３、「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」オプション２１０５、および「Ｅ−ｍａｉｌ」オプション２１０７が用意されている。他のカルーセルの場合のように、ユーザは選択ウィンドウ１３７内のこれらのオプションをスクロールすることができ、またユーザはステップｓ３０５で、リモート・コントロール９の右矢印キー９０９を押すことにより目的のオプションを選択することができる。ユーザが「Ｗｅｂ」オプション２１０３を選択した場合、システムはステップｓ３０７で「Ｗｅｂ」メニューを表示する。ユーザが「Ｅ−ｍａｉｌ」オプション２１０７を選択した場合、システムはステップｓ３０９で「Ｅ−ｍａｉｌ」メニューを表示する。ユーザが「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」オプション２１０５を選択した場合、システムはステップｓ３１１で「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニューを表示する。図３１に示されているように、ユーザは、ステップｓ３１５、ｓ３１７、およびｓ３１９でリモート・コントロール９の左矢印キー９０７を押すことによりこれらのオプション・ページからＹｏｕｒｓｐａｃｅメイン・メニュー２１００に戻ることができる。
【０１３７】
この実施形態では、「Ｗｅｂ」メニューおよび「Ｅ−ｍａｉｌ」メニューに用意されているオプションは、市販のＷｅｂブラウザおよび電子メールシステムに用意されているオプションと同様のものであり、したがってこれ以上説明しない。しかし、「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニュー・オプション２１０５については、以下で説明する。
【０１３８】
Ｙｏｕｒ  Ａｃｃｏｕｎｔ
Ｙｏｕｒｓｐａｃｅメニュー・ページ２１００に示されている「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」オプション２１０５では、ユーザは各種のユーザ設定および請求書作成情報などを表示し変更することができる。この「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」オプション２１０５と関連するメニュー・ロジックが図３３に示されている。図３３ａの最上段に示されているように、「Ｙｏｕｒｓｐａｃｅメニューを表示」ステップｓ１５、選択ステップｓ３０５、「Ｙｏｕｒ  Ａｃｃｏｕｎｔメニューを表示」ステップｓ３１１、および「戻る」ステップｓ３１９は、分かりやすくするため再度示している。「Ｙｏｕｒ  Ａｃｃｏｕｎｔメニューを表示」では、ユーザは以下のオプションを選択できる。
ｉ）「Ｐａｒｅｎｔａｌ  Ｃｏｎｔｒｏｌｓ」オプション
ｉｉ）「Ｄｅｆａｕｌｔ  Ｓｅｔ  Ｔｏｐ  Ｂｏｘ  Ａｇｅ」オプション
ｉｉｉ）「Ｐｒｏｆｉｌｅ」オプション
ｉｖ）「Ｃｈａｎｇｅ  ＰＩＮ」オプション
ｖ）「Ａｄｄ  Ｕｓｅｒ」オプション
ｖｉ）「Ｄｅｌｅｔｅ  Ｕｓｅｒ」オプション
ｖｉｉ）「Ｖｉｅｗ  Ａｃｃｏｕｎｔ  Ｂｉｌｌ」オプション
ｖｉｉｉ）「Ｖｉｅｗ  Ｐｅｒｓｏｎａｌ  Ｂｉｌｌ」オプション
【０１３９】
他のメニュー・ページの場合のように、これらのオプションは、ユーザのために、適切なカルーセル（図には示されていない）内に表示され、ユーザは、リモート・コントロール９の上矢印キー９０３および下矢印キー９０５を使用して選択ウィンドウ（図に示されていない）内のオプションをスクロールさせることができる。適切なオプションが選択ウィンドウ内に現れたら、ユーザはステップｓ３３１で、リモート・コントロール９の右矢印キー９０７を押してオプションを選択する。適切なオプション・メニュー・ページに入った後、ユーザは、ステップｓ３３３、ｓ３３５、ｓ３３７、ｓ３３９、ｓ３４１、ｓ３４３、ｓ３４５、またはｓ３４７でリモート・コントロール９の左矢印キー９０７を押すことによりステップｓ３１１で表示されている「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニュー・ページに戻ることができる。上述の８個のオプションのそれぞれについて詳しく説明する。
【０１４０】
Ｐａｒｅｎｔａｌ  Ｃｏｎｔｒｏｌｓ
ステップｓ３１５で、システムは適切なカルーセル（図に示されていない）にユーザ・セットトップ・ボックス７と現在関連付けられているユーザのリストを表示する。ユーザは、リモート・コントロール９の上矢印キー９０３または下矢印キー９０５を押すことにより、選択ウィンドウ１３７（図に示されていない）内に目的のユーザが現れるようにする。ステップｓ３５１で、リモート・コントロール９の右矢印キー９０９を押すことにより、システムは、スタット３５３で、選択したユーザの新しい年齢制限を要求するプロンプトを表示する。ユーザは、新しい年齢を入力した後、ステップｓ３５５でリモート・コントロール９の右矢印キー９０９を押す。新しいユーザ情報がユーザ・インターフェース・サーバ３０に送信され、ステップｓ３５７で、入力された年齢が１００歳未満であるかチェックする。１００歳未満でない場合、ステップｓ３５９でメニュー・ページがリフレッシュされ、適切なエラー・メッセージがメニュー・ページの選択ウィンドウ内に表示される。入力された年齢が１００歳未満であれば、ユーザ・インターフェース・サーバ３１は、データベース３９内に格納されたユーザ・プロファイル・データを変更し、ステップｓ３６１でユーザに表示される確認ページを返し、そのユーザに対する親コントロールが変更されたことを確認する。ステップｓ３１１で表示される「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニューに戻るには、ユーザは、ステップ３６３で、リモート・コントロール９の「進む」ファンクション・キーを押さなければならない。
【０１４１】
Ｄｅｆａｕｌｔ  ＳＴＢ  Ａｇｅ
ユーザがステップｓ３７１で、フォールとのセットトップ・ボックス年齢（ログイン・ユーザが「家族」の場合）を変更する操作を続ける場合、ユーザ・インターフェース・サーバ３１が、ステップｓ３７３で、入力セットトップ・ボックス年齢が１００未満であるかチェックする。そうでない場合、ステップｓ３７５で、ユーザ・インターフェース・サーバは、ステップｓ３１７で表示される「ｃｈａｎｇｅ  ｄｅｆａｕｌｔ  ｓｅｔ  ｔｏｐ  ｂｏｘ  ａｇｅ」メニュー・ページをリフレッシュし、適切なエラー・メッセージを表示する。セットトップ・ボックス年齢が１００未満の場合、ステップｓ３７７で、ユーザ・インターフェース・サーバはメニュー・ページをユーザ・セットトップ・ボックスに送信し、デフォルトのセットトップ・ボックス年齢が変更されたことを確認する。ステップｓ３１１で表示される「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニュー・ページに戻るには、ユーザは、ステップｓ３７９で、リモート・コントロール９の「進む」ファンクション・キーを押さなければならない。
【０１４２】
Ｅｄｉｔ  Ｐｒｏｆｉｌｅ
ユーザが「Ｅｄｉｔ  Ｐｒｏｆｉｌｅ」オプションを選択した場合、ステップｓ３１９で、ユーザ・セットトップ・ボックス７に関連するユーザのリストが適切なカルーセル（図に示されていない）内に表示され、ユーザが見ることができる。その後、ユーザは上矢印９０３または下矢印９０５を使用して、プロファイルが変更されるユーザを選択することができる。このユーザがカルーセルの選択ウィンドウ（図には示されていない）内に現れたら、ユーザが、ステップｓ３８５で、リモート・コントロール９の右矢印キー９０９を押して選択する。それに対する応答として、ユーザ・インターフェース・サーバは、ステップｓ３８７で、現在のユーザ・プロファイル設定の内容を示すページをダウンロードし表示する。この実施形態では、これらは、ユーザの名前、ユーザの背景色、ユーザのＷｅｂホーム・ページ、およびＷｅｂ検索ページなどを含む。ユーザは、その後、これらを画面上で編集してから、ステップｓ３８９でリモート・コントロール９の「進む」ファンクション・キーを押すことにより編集したプロファイルをユーザ・インターフェース・サーバ３１に送り返すことができる。
【０１４３】
編集したプロファイルをユーザ・インターフェース３１に送信する前に、Ｗｅｂブラウザ２０３が、ステップｓ３９１で、修正したユーザ・プロファイル内のエントリがそれらのエントリの要求される形式と一致しているかチェックする。一致しない場合、ステップｓ３９３で、Ｗｅｂブラウザ２０３は、ステップｓ３８７で表示される「ｃｈａｎｇｅ  ｐｒｏｆｉｌｅ」メニュー・ページをリフレッシュし、適切なエラー・メッセージを表示する。
【０１４４】
この形式が正しい場合、編集したプロファイルがユーザ・インターフェース・サーバ３１に送信され、さらに、これは、選択したユーザのユーザ・プロファイルが変更されたことを確認するメニュー・ページを送信する。このメニュー・ページは、ステップｓ３９５で表示される。ユーザは、ステップｓ３９７で、リモート・コントロール９の「進む」ファンクション・キーを押すことにより、ステップｓ３１１で表示される「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニュー・ページに戻ることができる。
【０１４５】
Ｃｈａｎｇｅ  ＰＩＮ
ユーザが「Ｃｈａｎｇｅ  ＰＩＮ」オプションを選択した場合、ステップｓ３２１で、ユーザ・インターフェース・サーバ３１は現在のＰＩＮを確認し、新しいＰＩＮを入力することを要求するメニュー・ページを送信する。ユーザがこれらのＰＩＮ番号を入力して、ステップｓ４０１で、リモート・コントロール９の「進む」ファンクション・キーを押すと、ＰＩＮ情報がユーザ・インターフェース・サーバ３１に送信される。ステップｓ４０３で、ユーザ・インターフェース・サーバ３１は、ユーザが入力した現在のＰＩＮ番号が正しいかチェックする。正しくない場合、ステップｓ４０５で、適切なエラー・メッセージがダウンロードされ、ｓ３２１で表示された「Ｃｈａｎｇｅ  ＰＩＮ」メニュー画面内に表示され、ユーザが見ることができる。ユーザ・インターリース・サーバ３１が入力されたＰＩＮ番号が正しいと判断した場合、ユーザ・インターフェース・サーバ３１はユーザＰＩＮが変更されたことを確認するメニュー・ページをダウンロードし、これをステップｓ４０７で表示する。ユーザは、ステップｓ４０９で、リモート・コントロール９の「進む」ファンクション・キー９１１を押すことにより、ステップｓ３１１で表示される「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メイン・メニューに戻ることができる。
【０１４６】
Ａｄｄ  Ｕｓｅｒ
ユーザが「Ａｄｄ  Ｎｅｗ  Ｕｓｅｒ」オプションを選択すると、ステップｓ３２３で、新規ユーザ入力画面がユーザに対して表示される。このメニュー画面では、ユーザは、ユーザ名、ユーザの年齢、ユーザＰＩＮ、ユーザ電子メール・アドレスなどのユーザ情報入力することが求められる。ユーザが適切な情報を入力した後、ユーザがステップｓ４１１で、リモート・コントロール９の「進む」ファンクション・キーを押すと、ユーザ・インターフェース・サーバ３１にこの情報が送信される。しかし、新しいユーザ詳細を送信する前に、Ｗｅｂブラウザ２０３は、ステップｓ４１３で、入力された情報が正しい形式であるかチェックする。正しくない場合、ステップｓ４１５で、Ｗｅｂブラウザ２０３は、ステップｓ３２３で表示されるメニュー・ページをリフレッシュし、それとともに適切なエラー・メッセージを表示する。入力された情報が正しい形式であれば、Ｗｅｂブラウザは新しいユーザ情報ユーザ・インターフェース・サーバ３１に送信し、それに対する応答として新しいユーザが正常に追加されたことを確認するメニュー・ページ（ステップｓ４１７で表示される）がダウンロードされる。ユーザは、ステップｓ４１９で、リモート・コントロール９の「進む」ファンクション・キーを押すことにより、ステップｓ３１１で表示される「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニューに戻ることができる。
【０１４７】
Ｄｅｌｅｔｅ  Ｕｓｅｒ
「Ｄｅｌｅｔｅ  Ｕｓｅｒ」オプションが選択された場合、ステップｓ３２５で、システムは適切なカルーセル内にセットトップ・ボックス７と関連するすべてのユーザのリストを表示する。ユーザは、上矢印キー９０３または下矢印キー９０５を使用して、適切な選択ウィンドウ内のユーザをスクロールすることができる。削除対象のユーザが選択ウィンドウ内に現れたら、ユーザが、ステップｓ４２５で、リモート・コントロール９の右矢印キー９０９を押すと、そのユーザを削除するという要求がユーザ・インターフェース・サーバ３１に送信される。ステップｓ４２７で、ユーザ・インターフェース・サーバ３１は適切なメッセージをユーザ・セットトップ・ボックス７に送信し、選択されたユーザが削除されることを確認するようユーザに要求する。この段階で、ユーザは、ステップｓ４２９で、リモート・コントロール９の「キャンセル」ファンクション・キーを押すことができるが、そうすると、ユーザはステップｓ３１１で表示されている「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニュー・ページに戻ることになる。それとは別に、ユーザは、ステップ４３１で、リモート・コントロール９の「進む」ファンクション・キーを押すこともでき、そうすると、ユーザ・インターフェース・サーバ３１はデータベース３９からユーザを削除し、ユーザにメッセージを返すが、このメッセージはステップｓ４３３で表示され、選択されたユーザが削除されたことを確認するメッセージである。ユーザは、ステップｓ４３５で、リモート・コントロール９の「進む」ファンクション・キーを押すことにより、ステップｓ３１１で表示される「Ｙｏｕｒ  Ａｃｃｏｕｎｔ」メニュー・ページに戻ることができる。
【０１４８】
Ａｃｃｏｕｎｔ  Ｂｉｌｌ
ユーザが「Ａｃｃｏｕｎｔ  Ｂｉｌｌ」オプションを選択した場合、ステップｓ３２７で、ユーザ・インターフェース・サーバ３１は、ユーザ・セットトップ・ボックス７と関連するすべてのユーザに対する請求額合計の要約を表示するメニュー・ページをダウンロードする。この要約メニュー・ページでは、たとえば、ペイパービュー、Ｖｉｄｅｏｓｐａｃｅ、選択したチャンネルの受信契約、Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ、ショッピング・サーバなどに支出された金額を識別する。またここでも、これらの要素に対し支出された個々の金額が一覧としてカルーセル内に表示され、ユーザは詳細情報取得するため要素の１つを選択することができる。たとえば、ステップｓ３２７で表示される勘定書では、所定の期間にわたるペイパービューに支出された合計金額が５０ポンドであることを示している。ユーザは、このペイパービュー請求書を選択して、購入されたアイテムとそのユーザを識別する明細書を取得することができる。前のカルーセルの場合のように、ユーザは、上矢印キー９０３または下矢印キー９０５を押して、選択ウィンドウ（図に示されていない）を通じてメニュー・ページ内に表示される要素をスクロールする。ユーザは、その後、ステップｓ４５１で、リモート・コントロール９の右矢印キー９０９を押すことにより、現在選択ウィンドウ内に表示されている請求書内の要素に関する他の情報を取得することができる。その後、セットトップ・ボックス７は、ユーザ・インターフェース・サーバ３１を介して請求書のその部分に関する詳細情報の適切な要求を管理および請求書作成サーバ２９に送信する。次に、管理および請求書作成サーバ２９は、ステップｓ４５３で適切なメニュー・ページに表示されている請求者のその部分の詳細情報をダウンロードする。ステップｓ４５５に示されているように、ユーザは、リモート・コントロール９の左矢印キー９０７を押して、前のメニュー・ページに戻ることを選択できる。
【０１４９】
ステップｓ４５３で、追加情報により、たとえば、さまざまなアプリケーション・サーバ３０からダウンロードした番組またはコンテンツのさまざまなタイトルを識別する。その後、ユーザは、上述の方法でこれらのさまざまなアイテムをスクロールし、ステップｓ４５７で、リモート・コントロール９の右矢印キー９０９を押して１つ選択することができる。それに対する応答として、管理および請求書作成サーバ２９は、サービスまたはコンテンツを購入したユーザ、購入された日時などを識別する詳細をダウンロードする。この追加情報は、ステップｓ４５９でユーザに表示される。その後、ユーザは、ステップｓ４６１で、リモート・コントロール９の「進む」ファンクション・キーを押すことにより、ステップｓ４５３で表示されるメニュー・ページに戻ることができる。
【０１５０】
Ｐｅｒｓｏｎａｌ  Ｂｉｌｌ
「Ｐｅｒｓｏｎａｌ  Ｂｉｌｌ」オプションは、現在ログオンしているユーザが購入したアイテムのみがダウンロードされ、表示されることを除き、上述の「Ａｃｃｏｕｎｔ  Ｂｉｌｌ」オプションと同様である。したがって、「Ｐｅｒｓｏｎａｌ  Ｂｉｌｌ」オプションについてはこれ以上詳しくは説明しない。
【０１５１】
Ｏｐｅｎｓｐａｃｅ
ユーザがメイン・メニュー１２０からＯｐｅｎｓｐａｃｅオプションを選択した場合、ステップｓ１７でＯｐｅｎｓｐａｃｅメイン・メニューが表示される。この実施形態で表示されるＯｐｅｎｓｐａｃｅメニュー２２００は、図３４に示されている。図からわかるように、Ｏｐｅｎｓｐａｃｅメイン・メニューは、図に示されている、また上で説明した他のメニュー画面と同じルック＆フィールを備える。同じ要素は、同じ参照番号で参照されているので、同じ説明を繰り返さない。図３４に示されているように、左側フレーム１０１はＯｐｅｎｓｐａｃｅロゴ１０９−４を含み、その下にＯｐｅｎｓｐａｃｅカテゴリ名１０７−４が示される。右側フレーム１０３内に、Ｏｐｅｎｓｐａｃｅカルーセル２２０１が用意され、ユーザは、「Ｓｈｏｐｐｉｎｇ」オプション２２０３、「Ｃｌａｓｓｉｆｉｅｄ  ａｄｖｅｒｔｓ」オプション２２０５、「Ｌｏｃａｌ  Ｉｎｆｏｒｍａｔｉｏｎ」オプション２２０７、および「Ｇａｍｅｓ」オプション２２０９のオプションのうちから選択することができる。前のカルーセルの場合のように、ユーザは、選択ウィンドウ１３７内のこれらのオプションをスクロールして、適切なオプションが選択ウィンドウ１３７内に現れたら、ユーザはリモート・コントロール９の右矢印キー９０９を押してそのオプションを実行することができる。
【０１５２】
この実施形態では、「Ｓｈｏｐｐｉｎｇ」オプションを使用することで、ユーザは異なるベンダにより提供される製品の詳細にアクセスすることができる。「Ｃｌａｓｓｉｆｉｅｄ  Ａｄｖｅｒｔｓ」オプション２２０５では、ユーザはさまざまな製品の三行広告にアクセスすることができる。「Ｌｏｃａｌ  Ｉｎｆｏｒｍａｔｉｏｎ」オプション２２０７では、ユーザは、普通列車の時刻または交通レポート、ローカル・ニュース、地方天気、学校などの地域施設などのさまざまな種類のローカル情報にアクセスすることができる。最後に、「Ｇａｍｅｓ」オプション２２０９では、ユーザは、用意されているさまざまなゲームにアクセスすることができる。
【０１５３】
上では、メイン・メニューからユーザが利用できるさまざまなメニュー・オプションをすべて説明してきた、これらのオプションに加えて、システムではさらに、ユーザがテレビ放送番組を受け取るときにユーザが直にアクセスできる短い電子番組ガイド（ＳＥＰＧ）も用意する。この短い電子番組ガイドについて説明する。
【０１５４】
ＳＥＰＧ
図８に戻ると、ユーザがリモート・コントロール９のメニュー・キー９０１を押すことによりアクセスできるメイン・メニュー・オプションに加えて、ユーザは、さらに、ステップｓ３でテレビ放送番組を受け取りながら短い電子番組ガイドにアクセスすることもできる。ステップｓ５０１に示されているように、これは、リモート・コントロール９の上矢印キー９０３または下矢印キー９０５を押すことにより達成される。それに対する応答として、ユーザ・セットトップ・ボックス７は、ユーザ・インターフェース・サーバ３１から現在のチャンネルの短い番組ガイドをダウンロードする。この実施形態では、この短い電子番組ガイドは、ステップｓ５０３で、再生中の現在のテレビ番組に重ねて表示されるテレビ画面の下部に表示される。図３５は、表示されているテレビ画面２３００を示している。図からわかるように、短い電子番組ガイドフレーム２３０１は画面の下部に表示される。このＳＥＰＧフレーム２３０１では、現在の時刻１１３および日付１１５および現在のユーザ名１１１を左側フレーム２３０３に表示する。右側フレーム２３０５では、選択ウィンドウ１３７内に１つしかエントリがないＳＥＰＧカルーセル２３０７が用意されている。最初、チャンネル情報はテレビ画面２３００に現在表示されているチャンネルである。図３５に示されているように、この情報により、チャンネル名、現在再生されている番組、および次に再生される番組、さらにユーザがすでに選択しているお気に入りのチャンネルまたは番組を強調表示するアイコンが識別される。
【０１５５】
この段階で、ユーザは上矢印キー９０３または下矢印キー９０５を押して、利用可能な異なるチャンネルをスクロールすることを選択することができる。これは、図８のステップｓ５０５に示されている。「Ｃｈａｎｇｅ  Ｕｓｅｒ」アイコン１４９で表されているように、ユーザは、ステップｓ５０７で、ファンクション・キー９１１−１を押して、上述の「Ｃｈａｎｇｅ  Ｕｓｅｒ」ルーチンｓ１４を使用し、現在システムにログオンしているユーザを変更することができる。テレビ・ガイド・アイコン２３０９によって表されているように、ユーザはリモート・コントロール９のファンクション・キー９１１−２を押して十分な電子プログラムガイドにアクセスすることもできる。
【０１５６】
ユーザが利用可能な異なるチャンネルをスクロールした後、ステップｓ５０９で、リモート・コントロール９の左矢印キー９０７を押すことにより（または所定の期間内、選択を行わないことにより）現在見ているチャンネルに戻ることを決めるか、またはステップｓ５１１で、リモート・コントロール９の右矢印キー９０９を押すことによりチャンネルを選択ウィンドウ１３７内の現在のチャンネルに変更することを決めることができる。図８に示されているように、ユーザが右矢印キー９０９を押すと、チャンネル変更許の適切な要求がテレビ放送サーバ２７に送信され、ステップｓ５１３で、ストリーミングされているチャンネルがユーザ・セットトップ・ボックス７に変更される。
【０１５７】
要約と利点
上では、ユーザが複数のリモート・サーバから複数のサービスおよびコンテンツにアクセスすることができるテレビジョンベースのシステムについて説明した。上述のシステムの主な利点の１つは、ユーザが共通ユーザ・インターフェース・サーバを介して異なるサーバにアクセスすることができるという点である。システムはこのような構造を備えることで、各種のインテリジェント型キャッシング手法を使用して、リモート・サーバおよびサーバによって使用される共通データベースに対する処理の負担を軽減することができる。そのため、増大するユーザに対応してシステムを拡大することが容易に行える。さらに、ユーザ・インターフェース・サーバでメニュー・ページを生成することにより、ユーザが異なるアプリケーション・サーバすべてのサービスにはアクセスするのに使用する共通のルック＆フィールを備えるメニューベースのユーザ・インターフェースを簡単に生成することができる。さらに、形式に関してだけでなく、それぞれのユーザに提供されるコンテンツについてもそれぞれのユーザに合わせてメニュー・ページを個人化することができる。
【０１５８】
上述のシステムでは、ユーザごとに個人化されたユーザ・インターフェースを備える。ユーザに対して表示される個人化されたユーザ・インターフェースの画面のデザイン、選択、コンテンツ、およびレイアウトは、システム・データベースに保持されているユーザのプロファイル・データ、サービス・オペレーション履歴、および使用度情報に基づく。このデータベースは、次のまたは前のメニュー画面、システム・サービスまたはアプリケーションへのアクセス、または特定のコンテンツへのアクセスに対するユーザの要求を処理するときに、ユーザ・インターフェース・サーバによってアクセスされる。ユーザ・インターフェース・サーバは、メニューが表示されるユーザのプロファイル・データおよび使用度情報に基づいてデザイン要素、サービス、およびコンテンツを含む個人化されたメニュー画面を作成する。特定のユーザに表示されるそれぞれのメニュー画面は、一貫したデザイン、およびルック＆フィールを備え、その特定のユーザ向けのサービスおよびコンテンツを含む。
【０１５９】
上述のシステムの有利な特徴としては他に、リモート・コントロールのキーを使用してメニュー・アイテムをスクロールすることができる選択ウィンドウを備えるカルーセルを使用するという点があげられる。この方法では、システムは直感的なカーソルレス方式で動作することができる。
【０１６０】
上述のシステムの有利な態様としては他に、電子番組ガイドがある。特に、このガイドは最初に、現在および次に何をやるのかを、カルーセル内の各チャンネルに関連して表示する。選択が適切に行われると、ユーザは次の数日間にわたって放映される番組を示す、目的のチャンネルの詳細が一覧にアクセスすることができる。さらに、それぞれのメニュー・ページをユーザごとに個人化できるため、電子番組ガイドは、ユーザが受信契約をしているチャンネルのみを表示するように構成することができる。システムはさらに、ユーザ・プロファイリング情報を使用して、ユーザがそのチャンネルを見る頻度に対応する順序でチャンネルの一覧を作成することができる。また、ユーザによってお気に入りとしてマーク付けされたチャンネルおよび番組を識別するように個人化することもできる。
【０１６１】
上述のシステムの有利な特徴として他に、個人ユーザへ配信した後ジェネリックなメニュー・ページを格納し、個人化することができる一定スワッピング手法を含む採用されているインテリジェント型キャッシング手法がある。特に、ＸＭＬドキュメントおよびスタイル・シート内でプレースホルダを使用することにより、それ以降、プレースホルダに対してユーザ固有データをスワップインすることでそれぞれのメニュー・ページを個人化することが可能になる。この方法で、背景色またはフォントの変更、ユーザ名の追加など規模の小さな個人化をすばやく、配信時に行うことができる。したがって、キャッシュされているメニュー・ページを多数の異なるユーザに対して使用することができ、そのため必要キャッシュ・メモリを節約することができる。
【０１６２】
上述のシステムの他の利点として、ＸＭＬデータおよびスタイル・シートを使用したＨＴＭＬメニュー・ページの使用および生成がある。特に、これらは標準形式なので、サードパーティーが自社のアプリケーションとシステムとのインターフェースを比較的簡単にとることができる。
【０１６３】
修正と代替
上では、ユーザがテレビに表示されるグラフィカル・ユーザ・インターフェースを使用して多数のリモート・サーバからテレビ・サービスおよび媒体コンテンツにアクセスできるようにするテレビジョンベースのシステムについて詳述した。当業者であれば、上述のシステムに対してさまざまな代替を行えることは理解するであろう。修正および代替の一部について説明する。
【０１６４】
上記の実施形態では、ユーザはユーザ・インターフェース・サーバを介して複数のリモート・サーバによって提供されるサービスにアクセスすることができた。このことは本質的ではない。たとえば、ユーザは、ユーザ・インターフェース・サーバを介するのではなく、１つまたは複数のアプリケーション・サーバによって提供されるサービスまたはコンテンツに直接アクセスすることができる。しかし、このアプローチには欠点があり、これらのアプリケーション・サーバがメニュー・ページを生成し、直接ユーザ・セットトップ・ボックスにダウンロードする場合、アプリケーション・サーバによって生成されるメニュー・ページとユーザ・インターフェース・サーバによって生成されるメニュー・ページとの間で類似のルック＆フィールを維持することが困難になるのである。
【０１６５】
上記の実施形態では、ユーザはユーザ・インターフェース・サーバを介してアプリケーション・サーバにサービスおよび／または媒体コンテンツを要求した。他の実施形態では、ユーザはユーザ・インターフェース・サーバからメニュー・ページを受信し、サービスまたは媒体コンテンツがダウンロードのため識別されると、ユーザは、そのコンテンツを適切なアプリケーション・サーバに直接要求することができる。たとえば、ユーザがビデオ・サーバからダウンロードするビデオを識別すると、ユーザ・デバイスはユーザ・インターフェース・サーバに通さずに、そのビデオの要求を直接ビデオ・サーバに送ることができる。このような実施形態には、ユーザ・インターフェース・サーバによって処理される要求の数を減らせるという利点がある。
【０１６６】
上記の実施形態では、ユーザ・インターフェース・サーバのそれぞれに、共通機能プロセッサが用意されていた。この共通機能プロセッサを使用して、２つまたはそれ以上のアプリケーション・サーバに必要な機能（ユーザ・ログイン、エラー処理など）を実行した。当業者であれば、このような共通機能プロセッサを用意することは本質的でないことを理解するであろう。また、特に、共通機能が将来システムに追加する可能性のあるアプリケーション・サーバに必要であると認められた場合に、アプリケーション・サーバの１つにのみ必要になると思われる機能を実装することが可能である。
【０１６７】
上記の実施形態では、ユーザは、ユーザ・セットトップ・ボックスおよびテレビを使用してテレビ・サービスおよび媒体コンテンツにアクセスすることができた。当業者であれば、このようなセットトップ・ボックスとテレビを使用することは本質的でないことを理解するであろう。たとえば、ユーザは、パーソナル・コンピュータ（ＰＣ）など、あるいはパーソナル・デジタル・アシスタント（ＰＤＡ）や携帯電話などのハンドヘルド・デバイスを使用してテレビ・サービスおよび媒体コンテンツにアクセスすることができる。
上記の実施形態では、ユーザ・インターフェース・サーバは、アプリケーション・サーバと切り離されていた。当業者であれば、１つまたは複数のアプリケーションをユーザ・インターフェース・サーバが稼働しているマシンと同じ物理マシン上で実行することができることを理解するであろう。たとえば、メール・サーバはユーザ・インターフェース・サーバのうちの１つと同じ物理マシン上で実行できる。この場合、ユーザ・インターフェース・サーバは、適切なメモリ・ポインタおよび呼び出しルーチンを使用してメール・サーバと通信することができる。さらに、アプリケーションのうち２つまたはそれ以上を単一コンピュータ・デバイス上で物理的に実行することもできる。
【０１６８】
上記の実施形態では、ユーザ・デバイスはＩＰデータ・ネットワークを通じてユーザ・インターフェース・サーバに接続される。当業者であれば、ユーザ・デバイスは適切な手段によりユーザ・インターフェース・サーバに接続できることを理解するであろう。たとえば、携帯電話の通信リンクを介して接続することができる。それとは別に、ユーザはＡＤＳＬ（非対称デジタル加入者回線）リンクなど電話およびモデムを使用して接続することができる。それとは別に、ケーブルまたは自由空間マイクロ波または光通信リンクを対してユーザ・インターフェース・サーバに接続することもできる。
【０１６９】
上記の実施形態では、メニュー画面では、リモート・コントロールの方は下矢印キーを押してユーザがメニュー・オプションをスクロールする際に使用する選択ウィンドウを備えるメニュー・カルーセルを採用した。当業者であれば、選択ウィンドウ内でメニュー・オプションをどの方向にスクロールしようと問題ではないことを理解するであろう。たとえば、メニュー・オプションを水平方向に表示し、リモート・コントロールの左および右矢印キーを使用して水平方向に選択ウィンドウを介してスクロールすることができる。このような実施形態だと、ユーザは上矢印キーおよび下矢印キーを使用して異なるメニュー画面間をナビゲートし、メニュー・オプションを選択することができる。
【０１７０】
上記の実施形態では、メニュー・ページに単一のメニュー・カルーセルを用意した。詳細メニュー・ページでは、現在カルーセルの選択ウィンドウ内にあるメニュー・アイテムに対するカルーセルの隣に追加情報が表示された。他の実施形態では、２つまたはそれ以上のカルーセルをメニュー・ページごとに用意することができ、ユーザはリモート・コントロールを使用してそれらのカルーセルを切り替えることができる。たとえば、左側のカルーセルは、システムで利用可能な別のチャンネルを識別するために用意され、右側のカルーセルは現在選択されているチャンネルの次のＮ日にわたって放送されている番組を識別する。現在はアクティブになっているカルーセルは、たとえば、その隣に上および下矢印アイコンを用意することで識別することができる。
【０１７１】
上記の実施形態では、システムの受信契約が行われているすべてのユーザの詳細を格納し、異なるアプリケーション・サーバおよびユーザ・インターフェース・サーバによってアクセスされる単一データベースが提供された。当業者であれば、それぞれ同じ情報を格納する複数のデータベースを実装できることを理解するであろう。これにより、サーバからのデータベース・クエリを異なるデータベース間で共有することができる。当業者であれば、このような実施形態だと、それぞれのデータベースに格納されているデータが同じになるようにデータベースを互いに同期させる必要があることを理解するであろう。このようにして複数のデータベースを同期させるさまざまな手法が知られている。
【０１７２】
上記の実施形態では、メニュー・ページはユーザ・インターフェース・サーバからユーザ・デバイスにダウンロードされたＨＴＭＬ  Ｗｅｂページから生成された。受け取ったＨＴＭＬファイルからメニュー・ページを生成するためユーザ・デバイス内で従来のＷｅｂブラウザ・ソフトウェアを使用できるため、このようにしてＨＴＭＬファイルを使用することが好ましい。さらに、メニュー・ロジックをＪａｖａ（登録商標）の命令としてＨＴＭＬファイル内にダウンロードすることもできる。これにより、ＨＴＭＬスタイルに、たとえば、カルーセルの動作の仕方の詳細を記述し、カルーセルの選択ウィンドウを通じてユーザがメニュー・オプションをスクロールするたびにユーザ・インターフェース・サーバに戻らずに済むようにできる。しかし、当業者であれば、メニュー・ページをＨＴＭＬ形式でダウンロードすることは本質的でないことを理解するであろう。これらのページはイメージとしてダウンロードできる。この場合、ユーザがリモート・コントロールまたはキーボードのキーを押したときに、ユーザ・デバイスは該当するキーの押下をユーザ・インターフェース・サーバに送り、そこで要求を解釈し、表示のため新しいイメージをダウンロードする。このような実施形態は可能であるが、ユーザ・インターフェース・サーバとユーザ・デバイスとの間でやり取りしなければならないデータの量が増えるため、好ましくない。
【０１７３】
上記の実施形態では、メニュー・ページはシステムのサーバ側で生成され、ユーザ・デバイスにダウンロードされた。他の実施形態では、アプリケーション・サーバからダウンロードされたＸＭＬファイルから直接メニュー・ページを生成するようにユーザ・デバイスを配列することができる。このような実施形態では、ユーザ・デバイスがメニュー・ページの適切な個人化を実行できるため、ユーザ・インターフェース・サーバを備えることは本質的ではない。このような実施形態の欠点は、ユーザ・デバイスの複雑さを増すという点である。さらに、ユーザ・インターフェース・サーバによって最初に実行された共通機能がユーザ・デバイス内で実行される場合、この場合も、ユーザによるハッキングに対するシステムの脆弱性が高まる。
【０１７４】
上記の実施形態では、アプリケーション・サーバからユーザ・インターフェース・サーバにダウンロードされたメニュー・データはＸＭＬドキュメント内に送られた。当業者であれば、このメニュー・データをアプリケーション・サーバからユーザ・インターフェース・サーバに適切な形式で送信できることを理解するであろう。たとえば、このメニュー・データはＥＪＢ（Ｅｎｔｅｒｐｒｉｓｅ  ＪａｖａＢｅａｎｓ）形式で送信することができる。これらの形式は標準形式なので、説明は省くことにする。
【０１７５】
上記の実施形態では、要求処理ユニットおよび応答処理ユニットは両方とも、共通機能プロセッサによって実行される共通機能のうちの１つを呼び出すことができた。他の実施形態では、要求処理ユニットのみが共通機能を呼び出すことができる。この場合、アプリケーション・サーバ側で共通機能のうちの１つを呼び出すことを望んでいるとすれば、ユーザ・セットトップ・ボックスを介して共通機能の適切な要求を送信しなければならない。これは、従来のＷｅｂリダイレクト手法を使用することで簡単に行うことができる。
【０１７６】
上記の実施形態では、管理および請求書作成サーバは、ユーザ・インターフェース・サーバのユーザ要求ログ内に格納されているデータからすべてのユーザにより行われたユーザ要求を監視する必要があった。その後、この情報使用して、データベース内に格納されているユーザ・プロファイルを修正した。当業者であれば、この作業は別のグローバル・オペレーション・コントローラ（図に示されていない）によって実行するか、またはそれぞれのアプリケーション・サーバによって個別に実行することができることを理解するであろう。たとえば、それぞれのアプリケーション・サーバは、そのアプリケーション・サーバによって提供されるサービスに関連する統計量を監視するように配列することができる。それぞれのアプリケーション・サーバは、その後、そのアプリケーション・サーバに関連する各ユーザのプロファイルを構築することができる。
【０１７７】
上述の実施形態で説明したグラフィカル・ユーザ・インターフェースでは、さまざまなメニュー・オプションまたは番組エントリを備えるそれぞれのメニュー・ページは、カルーセルの固定選択ウィンドウを通じてスクロールされた。当業者であれば、このような固定されたウィンドウまたはこのようなカルーセルを使用することは、この場合について説明した本発明のすべてに対して本質的なことではないことを理解するであろう。しかし、カルーセルを使用する場合、カルーセル内のエントリは、ユーザがカルーセル内の最後のエントリに到達したときに、カルーセル内の最初のエントリから再びリストが始まるようにラップアラウンドするのが好ましい。しかし、これは本質的なことではなく、カルーセル内のオプションはスクロールダウンし、最後のカルーセル・オプションが選択ウィンドウ内に入るようにできる。この場合、同じ方向にスクロールするオプションは、ユーザがカルーセル・オプションの終わりに達したときには使用できない。
【０１７８】
上記の実施形態では、電子番組ガイドに、次の７日間の選択したチャンネルに対する詳細なチャンネル一覧が掲載されていた。当業者であれば、任意の日数さらには時間数についてチャネル一覧を用意することが可能であることを理解するであろう。比較的長い時間枠での番組一覧が用意された場合、システムでは、ユーザが番組一覧内をすばやくナビゲートできるページアップ／ページダウン機能をサポートするのが好ましい。この場合、システムはさらに、たとえばカルーセルのトップにジャンプするためのホットキーをサポートする。
【０１７９】
上記の実施形態では、ユーザ・インターフェースのメイン・メニューは、ＴＶｓｐａｃｅオプション、Ｖｉｄｅｓｐａｃｅオプション、Ｙｏｕｒｓｐａｃｅオプション、およびＯｐｅｎｓｐａｃｅオプションの４つのメニュー・オプションを備えていた。当業者であれば、他のメニュー・オプションも用意できることを理解するであろう。たとえば、「Ｐｈｏｎｅｓｐａｃｅ」という、Ｖｏｉｃｅ−Ｏｖｅｒ−Ｉｎｔｅｒｎｅｔ（ＶＯＩＰ）サービスを提供する５番目のオプションを備えることができる。したがって、ユーザ・インターフェースの個人化されたユーザ・インターフェースは、システム内で利用できるさまざまな娯楽および活動タイプの数に応じて、任意の数の論理セクションにレイアウトすることができる。
【０１８０】
上記の実施形態では、システムのユーザに対してさまざまなテレビ・サービスを提供する各種のアプリケーション・サーバについて説明した。当業者であれば、利用できるさまざまなサービスは、図を用いて説明されており、いかなる形でも制限するものと解釈すべきでないことを理解するであろう。たとえば、上述のアプリケーションに加えて、システムは、番組が放送された後、ユーザがその番組を見られるように自動的に番組を記録できるタイムシフト・テレビ・サービスを提供することができる。同様に、ユーザがアプリケーション・サーバ内に記録され格納されている番組を制御することができるパーソナル・ビデオ・レコーダ・サービスを提供することができる。このようなパーソナル・ビデオ・レコーダ・サービスでは、ユーザは、従来の録画、一時停止、再生、巻き戻しのオプションを利用することができ、すでに録画されている場合には、録画済みビデオの配信を制御することができるように早送りオプションを使用することができる。さらに、ビデオ・メールおよびビデオ会議などのサービスも提供することができる。
【０１８１】
上記の実施形態では、それぞれのメニュー・ページをユーザへの配信に対して個人化した。この個人化は、アプリケーション・サーバから受信したデータの個人化だけでなくユーザの名前を記述し、ユーザのプリファレンスに従ってメニュー画面の背景色を変更する個人化も含む。これらの個人化に加えて、メニュー画面はさらに、使用する言語、使用するフォント、日時表示書式などに関して個人化することもできる。個人化はさらに、ユーザ・プロファイルに従ってそのユーザをターゲットとする個人化された広告も含むことができる。たとえば、ユーザの視聴習慣およびシステム使用度を分析することにより、システムはそのユーザがアクション映画を好むかどうかを判別することができる。したがって、そのようなアクション映画に関係する製品を対象とする広告を作成することができる。
【０１８２】
上述のＴＶｓｐａｃｅおよびＯｐｅｎｓｐａｃｅオプションでは、ユーザは視聴するペイパービュー番組またはビデオ番組を購入することができた。追加オプションとして、広告付きまたは広告なしで番組またはビデオを購入するオプションを提供するようにシステムを改造することができる。この方法で、ユーザは、広告も受け取る場合に番組またはビデオに低料金を支払うことを選択することができる。
【０１８３】
上記の実施形態では、多数のリモート・アプリケーション・サーバによって提供される各種サービスにユーザがアクセスするために使用するメニュー・システムについて説明した。一実施形態では、ユーザ・インターフェース・サーバは、それぞれのサービスおよびシステムのオペレーション全体のビデオ・ヘルプにユーザがアクセスするために使用するヘルプ・メニュー画面を備えるのが好ましい。
【０１８４】
当業者であれば、クライアント・デバイス、ユーザ・インターリース・サーバ、およびアプリケーション・サーバは、ハードウェア・ユニットとして、またはハードウェア・コンポーネントとソフトウェア・コンポーネントの組み合わせとして提供することができることを理解するであろう。プログラム可能なコンピュータ・デバイスをこれらのコンポーネントの基盤として使用する場合、サーバとして、Ｍｉｃｒｏｓｏｆｔ  ＮＴサーバ、Ｌｉｎｕｘ  Ｉｎｔｅｌサーバ、Ｓｕｎ  Ｓｏｌａｒｉｓサーバ、Ｃｏｍｐａｃ  Ａｌｐｈａサーバ、ＩＢＭまたはＨＰサーバなどを使用するのが好ましい。ユーザ・セットトップ・ボックスが用意されている場合、これらはＳｃｉｅｎｔｉｆｉｃ  Ａｔｌａｎｔａ、Ｍｏｔｏｒｏｌａ、ＡＴ＆Ｔ、またはＰｈｉｌｉｐｓ製であるのが好ましい。ユーザ・デバイスがパーソナル・コンピュータによって形成される場合、これは、たとえば、Ｄｅｌｌ  Ｃｏｍｐｕｔｅｒ  Ｃｏｒｐｏｒａｔｉｏｎ、ＩＢＭ、またはＴｏｓｈｉｂａ製のＰｅｎｔｉｕｍ（登録商標）ベースのコンピュータであるのが好ましく、テレビまたは他の表示デバイスに接続される。上述の機能を実行するサーバを制御するのに使用するソフトウェアは、Ｃ、Ｃ＋＋、Ｊａｖａ（登録商標）、またはＰｅｒｌなどの各種コンピュータ言語で作成することができる。コードは、コンパイル形式、未コンパイル形式、またはその２つの中間形式で格納することができる。ソフトウェアは、ＣＤ−ＲＯＭなどの媒体で提供するか、またはインターネットなどのデータ・ネットワーク上でダウンロードすることができる。
【０１８５】
上記の実施形態では、ユーザ・インターフェース・サーバおよびアプリケーション・サーバの両方にさまざまなキャッシュを備えた。これらのキャッシュは、アプリケーション・サーバまたはデータベースの処理負担を軽減するために装備したものであった。当業者であれば、上記実施形態で実行されるキャッシュ機能は本質的でないことを理解するであろう。使用されるキャッシュの１つまたは複数を省略することができる。たとえば、ユーザ・インターフェース・サーバの１つまたは複数の中のＸＭＬキャッシュを省き、ＨＴＭＬキャッシュおよびＸＳＬＴキャッシュのみを残すようにできる。さらに、それぞれのユーザ・デバイス内にメニュー・キャッシュをローカルで用意することにより、ユーザ・インターフェース・サーバからすでにダウンロードされているメニュー・ページを格納することができる。この場合、ユーザ・デバイスはそのローカル・キャッシュをチェックしてから、次のメニュー・ページの要求を送信することができる。このようにして、ユーザ・インターフェース・サーバに送信される要求の数を最小限に抑えることもできる。
【０１８６】
上記の実施形態では、ユーザ個人化をユーザ・インターフェース・サーバ内で生成されたメニュー・ページにスワップインするために可変スワッピング手法を使用した。この手法は、さらに、それぞれのユーザ・インターフェース・サーバのマシン・データのスワップインでも使用した。当業者であれば、これは本質的でないことを理解するであろう。生成されるメニュー・ページは、特定のユーザごとに、またユーザ・インターフェース・サーバごとに生成することができる。しかし、採用しているキャッシュ機能の効果が高まり、またキャッシュされたメニュー・ページの性質がよりジェネリックなものになるため、これらの可変スワッピング手法を使用することが好ましい。さらに、可変スワッピング手法を使用した場合、ハッシュ区切り記号を使用してプレースホルダ・エントリを識別することは本質的ではない。ＨＴＭＬまたはスタイル・シートの制御文字ではない適当な文字を使用することも可能である。
【図面の簡単な説明】
【０１８７】
【図１】複数のサービスおよびコンテンツにユーザからアクセスできるようにするシステムのアーキテクチャの概略ブロック図である。
【図２ａ】図１に示されているシステムの一部を形成するユーザ・セットトップ・ボックスの主要コンポーネントを説明する概略ブロック図である。
【図２ｂ】代表的なユーザ要求の形式を説明する図である。
【図３】図１に示されているシステムの一部を形成するユーザ・インターフェース・サーバの主要コンポーネントを説明する概略ブロック図である。
【図４】図３に示されているユーザ・インターフェース・サーバの一部を形成する要求ハンドラの主要コンポーネントを説明する概略ブロック図である。
【図５】図３に示されているユーザ・インターフェース・サーバの一部を形成する応答処理ユニットの主要コンポーネントを説明する概略ブロック図である。
【図６】図１に示されているシステムの一部を形成するアプリケーション・サーバの主要コンポーネントを説明するブロック図である。
【図７】図１に示されているシステムの一部を形成するデータベースの主要コンポーネントを説明するブロック図である。
【図８】図１に示されているリモート・サーバによって提供されるサービスおよびコンテンツにアクセスするためのユーザ用のユーザ・インターフェース・メニュー・システムにユーザがアクセスできる方法を示す機能流れ図である。
【図９】図１に示されているリモート・コントロールの主要コンポーネントを説明する概略ブロック図である。
【図１０】Ｙｏｕｒｓｐａｃｅオプション、Ｖｉｄｅｏｓｐａｃｅオプション、ＴＶＳｐａｃｅオプション、およびＯｐｅｎｓｐａｃｅオプションを示すメイン・メニュー・ページのフォームとレイアウトの概略図である。
【図１１】図１０に示されているＴＶｓｐａｃｅオプションと関連するメイン・ロジックを説明する流れ図である。
【図１２】図１０に示されているＴＶｓｐａｃｅオプションと関連するメイン・メニュー・ページを説明する図である。
【図１３】図１２に示されているメニュー・ページを説明し、メニュー・ページ内のメニュー・カルーセルのオペレーションを説明する図である。
【図１４】図１３に示されているＴＶｓｐａｃｅメニューから選択した電子番組ガイドの初期ページの図である。
【図１５】図１４に示されているメニュー・ページから選択したチャネルの詳細メニュー・ページの図である。
【図１６】図１２に示されているＴＶｓｐａｃｅメイン・メニューからアクセスされるペイパービュー・メニュー・ページを説明する図である。
【図１７】ユーザがペイパービュー・メニュー・アイテムを購入しようとするときの確認メッセージとともに図１６に示されているペイパービュー・メニュー・ページの図である。
【図１８】購入オペレーション時に実行されるユーザ妥当性確認ルーチンを説明する流れ図である。
【図１９】ユーザがペイパービュー・メニュー・アイテムを購入するプロセスに入っているときにユーザＰＩＮ番号を入力することを求めるプロンプトを表示するペイパービュー・メニュー・ページの図である。
【図２０】図１２に示されているＴＶｓｐａｃｅメニュー・ページからアクセスできる検索オプションのオペレーションを説明する流れ図である。
【図２１】検索を実行するために選択できるさまざまな検索オプションを示す検索メニュー・ページの説明図である。
【図２２】ユーザが検索対象のテキスト文字列を入力するためのプロンプトおよびテキスト・ボックスを備える検索ページの図である。
【図２３】さまざまなメニュー・ページからアクセスできるユーザ変更手順を示す流れ図である。
【図２４】ユーザ変更オプションを選択した後の図１２に示されているＴＶｓｐａｃｅメイン・メニューの図である。
【図２５】さまざまなメニュー・ページからアクセスできるお気に入り手順を示す流れ図である。
【図２６】図１０に示されているＶｉｄｅｏｓｐａｃｅオプションと関連するメニュー・ロジックを説明する流れ図である。
【図２７】図１０に示されているＶｉｄｅｏｓｐａｃｅオプションと関連するメイン・メニュー・ページを説明する図である。
【図２８】Ｖｉｄｅｏｓｐａｃｅオプションの「Ｔｏｐ  Ｔｅｎ」メニュー・ページを示す図である。
【図２９】Ｖｉｄｅｏｓｐａｃｅオプション内の選択されたビデオの異なるオプションを備える詳細メニュー・ページの図である。
【図３０】Ｖｉｄｅｏｓｐａｃｅ内に用意されているＶｉｄｅｏｓｈｅｌｆオプションを説明する流れ図である。
【図３１】図１０に示されているＹｏｕｒｓｐａｃｅオプションと関連するメニュー・ロジックを説明する流れ図である。
【図３２】図１０に示されているＹｏｕｒｓｐａｃｅオプションと関連するメイン・メニュー・ページを説明する図である。
【図３３ａ】図３２に示されているＹｏｕｒｓｐａｃｅメニューに用意されているＹｏｕｒ  Ａｃｃｏｕｎｔオプションと関連するメニュー・ロジックの第１の部分を説明する流れ図である。
【図３３ｂ】図３２に示されているＹｏｕｒｓｐａｃｅメニューに用意されているＹｏｕｒ  Ａｃｃｏｕｎｔオプションと関連するメニュー・ロジックの第２の部分を説明する流れ図である。
【図３３ｃ】図３２に示されているＹｏｕｒｓｐａｃｅメニューに用意されているＹｏｕｒ  Ａｃｃｏｕｎｔオプションと関連するメニュー・ロジックの最終部分を説明する流れ図である。
【図３４】図１０に示されているＯｐｅｎｓｐａｃｅオプションと関連するメイン・メニュー・ページを説明する図である。
【図３５】ユーザからアクセスできる短くした電子番組ガイドの図である。
【図１】
2004537879.tif 000004
【図２ａ】
2004537879.tif 000005
【図２ｂ】
2004537879.tif 000006
【図３】
2004537879.tif 000007
【図４】
2004537879.tif 000008
【図５】
2004537879.tif 000009
【図６】
2004537879.tif 000010
【図７】
2004537879.tif 000011
【図８】
2004537879.tif 000012
【図９】
2004537879.tif 000013
【図１０】
2004537879.tif 000014
【図１１】
2004537879.tif 000015
【図１２】
2004537879.tif 000016
【図１３】
2004537879.tif 000017
【図１４】
2004537879.tif 000018
【図１５】
2004537879.tif 000019
【図１６】
2004537879.tif 000020
【図１７】
2004537879.tif 000021
【図１８】
2004537879.tif 000022
【図１９】
2004537879.tif 000023
【図２０】
2004537879.tif 000024
【図２１】
2004537879.tif 000025
【図２２】
2004537879.tif 000026
【図２３】
2004537879.tif 000027
【図２４】
2004537879.tif 000028
【図２５】
2004537879.tif 000029
【図２６】
2004537879.tif 000030
【図２７】
2004537879.tif 000031
【図２８】
2004537879.tif 000032
【図２９】
2004537879.tif 000033
【図３０】
2004537879.tif 000034
【図３１】
2004537879.tif 000035
【図３２】
2004537879.tif 000036
【図３３ａ】
2004537879.tif 000037
【図３３ｂ】
2004537879.tif 000038
【図３３ｃ】
2004537879.tif 000039
【図３４】
2004537879.tif 000040
【図３５】
2004537879.tif 000041
【国際公開パンフレット】
2004537879.tif 000042
2004537879.tif 000043
2004537879.tif 000044
2004537879.tif 000045
2004537879.tif 000046
2004537879.tif 000047
2004537879.tif 000048
2004537879.tif 000049
2004537879.tif 000050
2004537879.tif 000051
2004537879.tif 000052
2004537879.tif 000053
2004537879.tif 000054
2004537879.tif 000055
2004537879.tif 000056
2004537879.tif 000057
2004537879.tif 000058
2004537879.tif 000059
2004537879.tif 000060
2004537879.tif 000061
2004537879.tif 000062
2004537879.tif 000063
2004537879.tif 000064
2004537879.tif 000065
2004537879.tif 000066
2004537879.tif 000067
2004537879.tif 000068
2004537879.tif 000069
2004537879.tif 000070
2004537879.tif 000071
2004537879.tif 000072
2004537879.tif 000073
2004537879.tif 000074
2004537879.tif 000075
2004537879.tif 000076
2004537879.tif 000077
2004537879.tif 000078
2004537879.tif 000079
2004537879.tif 000080
2004537879.tif 000081
2004537879.tif 000082
2004537879.tif 000083
2004537879.tif 000084
2004537879.tif 000085
2004537879.tif 000086
2004537879.tif 000087
2004537879.tif 000088
2004537879.tif 000089
2004537879.tif 000090
2004537879.tif 000091
2004537879.tif 000092
2004537879.tif 000093
2004537879.tif 000094
2004537879.tif 000095
2004537879.tif 000096
2004537879.tif 000097
2004537879.tif 000098
2004537879.tif 000099
2004537879.tif 000100
2004537879.tif 000101
2004537879.tif 000102
2004537879.tif 000103
2004537879.tif 000104
2004537879.tif 000105
2004537879.tif 000106
2004537879.tif 000107
2004537879.tif 000108
2004537879.tif 000109
2004537879.tif 000110
2004537879.tif 000111
2004537879.tif 000112
2004537879.tif 000113
2004537879.tif 000114
2004537879.tif 000115
2004537879.tif 000116
2004537879.tif 000117
2004537879.tif 000118
2004537879.tif 000119
2004537879.tif 000120
2004537879.tif 000121
2004537879.tif 000122
2004537879.tif 000123
2004537879.tif 000124
2004537879.tif 000125
2004537879.tif 000126
2004537879.tif 000127
2004537879.tif 000128
2004537879.tif 000129
2004537879.tif 000130
2004537879.tif 000131
2004537879.tif 000132
2004537879.tif 000133
2004537879.tif 000134
2004537879.tif 000135
2004537879.tif 000136
2004537879.tif 000137
2004537879.tif 000138
2004537879.tif 000139
2004537879.tif 000140
2004537879.tif 000141
2004537879.tif 000142
2004537879.tif 000143
2004537879.tif 000144
2004537879.tif 000145
2004537879.tif 000146
2004537879.tif 000147
2004537879.tif 000148
2004537879.tif 000149
2004537879.tif 000150
2004537879.tif 000151
2004537879.tif 000152
2004537879.tif 000153
2004537879.tif 000154
2004537879.tif 000155
2004537879.tif 000156
2004537879.tif 000157
2004537879.tif 000158
2004537879.tif 000159
2004537879.tif 000160
2004537879.tif 000161
2004537879.tif 000162
2004537879.tif 000163
2004537879.tif 000164
2004537879.tif 000165
2004537879.tif 000166
2004537879.tif 000167
2004537879.tif 000168
2004537879.tif 000169
2004537879.tif 000170
2004537879.tif 000171
2004537879.tif 000172
2004537879.tif 000173
2004537879.tif 000174
2004537879.tif 000175
2004537879.tif 000176
2004537879.tif 000177
2004537879.tif 000178
2004537879.tif 000179
2004537879.tif 000180
2004537879.tif 000181
2004537879.tif 000182
2004537879.tif 000183
2004537879.tif 000184
2004537879.tif 000185
2004537879.tif 000186
2004537879.tif 000187
2004537879.tif 000188
【国際公開パンフレット（コレクトバージョン）】
2004537879.tif 000189
2004537879.tif 000190
【国際調査報告】
2004537879.tif 000191
2004537879.tif 000192
2004537879.tif 000193
2004537879.tif 000194