(57)【要約】デジタルＴＶの配信で使用されるセットトップボックス等の制約された計算環境において、データの格納、取り出し、表示、ユーザ対話を可能にする独立型ミニアプリケーションを作成及び実施するシステム、方法及びソフトウェアプログラムを提供する。ＴＶウィジェットとしても知られる本発明のシステム、方法及びソフトウェアにより、ユーザは、データを個人専用にし、リモートコントロールユニットからのボタンのクリックによりデータを容易にアクセスできる。ＴＶウィジェットは、視聴者にＴＶ番組を推薦するウィジェット「Ｍｙ  ８  ｂａｌｌ」、特定のＴＶ番組を検索する「Ｍｙ  ＴＶ  ｓｅａｒｃｈ」、「Ｍｙ  Ｗｅａｔｈｅｒ」、「Ｍｙ  Ｙｅｌｌｏｗ  Ｐａｇｅｓ」、「Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ」、「Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ  ｗｉｔｈ  Ｓｍａｒｔ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ」等を含む。ＴＶウィジェットフレームワークは、ウィジェットを開始及び管理するユーザインターフェイスコンテキストを提供し、更に、ＴＶウィジェット・コンポーネントを実施するライブラリコードを維持する。ＴＶウィジェットの実装には、グリッドガイドウィジェット、「ｗｈａｔ’ｓ  ｏｎ  ｎｏｗ」ウィジェット（チャンネルでソート）、映画推薦ウィジェット等を含む従来のグリッドガイドおよびナビゲータからのウィジェットの集合として作成されるウィジェットベースのＴＶナビゲータがある。
2009509245.tif 000002
【特許請求の範囲】
【請求項１】
テレビジョン・ウィジェット・フレームワークにおいてテレビジョン・ウィジェットを作成および実施するコンピュータ化された方法であって、
テレビジョン・ウィジェットをソース・コードとして定義するステップと、
前記テレビジョン・ウィジェットをソース・コード・ライブラリに格納するステップと、
前記ソース・コードを、ターゲット・バーチャル・マシンでの実行に適したバイト・コード・フォーマットに変換するステップと、
アプリケーションにより使用される１組の内部アプリケーション・プログラミング・インターフェイスを、オペレーティング・システム、常駐アプリケーション、またはミドルウェアのアプリケーション・プログラミング・インターフェイスにマッピングするステップと、
前記テレビジョン・ウィジェットを作成し、それをデジタル・テレビジョンに表示するステップと
を備える方法。
【請求項２】
請求項１に記載の方法であって、定義された前記テレビジョン・ウィジェットがグラフィックスおよび他のデータ・ファイルをインポートする、方法。
【請求項３】
請求項１に記載の方法であって、変換された前記バイト・コードが、更に、ＪＡＶＡ（登録商標）バーチャル・マシンに適したＪＡＶＡ（登録商標）バイト・コードに変換される、方法。
【請求項４】
請求項１に記載の方法であって、内部ＡＰＩがマッピングされる前記オペレーティング・システムが、ＰｏｗｅｒＴＶ、ＧＩＯＳ、およびウィンドウズ（登録商標）のうちの１つである、方法。
【請求項５】
請求項１に記載の方法であって、内部ＡＰＩがマッピングされる前記常駐アプリケーションが、ＳＡＲＡ、Ａｔｌａｓ、ＴＷＣ  ＭＤＮ、ＴＶ−Ｇｕｉｄｅ、およびＰａｓｓｐｏｒｔのうちの１つである、方法。
【請求項６】
請求項１に記載の方法であって、作成された前記テレビジョン・ウィジェットが、更に変換され、デジタル・セットトップ・ボックスへダウンロードされ、デジタル・テレビジョンに表示される、方法。
【請求項７】
請求項６に記載の方法であって、作成された前記テレビジョン・ウィジェットが、ＭＰＥＧ−２データ・ストリームに変換され、静的または動的な様式で、ギガビット・イーサネット（登録商標）または非同期シリアル・インターフェイスを介して送られる、方法。
【請求項８】
請求項６に記載の方法であって、作成された前記テレビジョン・ウィジェットが、高速帯域内データ・カルーセルを介して前記デジタル・セットトップ・ボックスへダウンロードされる、方法。
【請求項９】
請求項６に記載の方法であって、作成された前記テレビジョン・ウィジェットが、それをブロードキャスト・ビデオ・ストリームへ組み込むことにより、前記デジタル・セットトップ・ボックスへダウンロードされる、方法。
【請求項１０】
請求項１に記載の方法であって、ミドルウェアが、グラフィックス、映像、音声、および他の表示のサービスを含む、方法。
【請求項１１】
請求項１に記載の方法であって、前記テレビジョン・ウィジェット・フレームワークが、複数サービスのオペレータの機能の特定のアーキテクチャに統合される、方法。
【請求項１２】
請求項１に記載の方法であって、前記テレビジョン・ウィジェット・フレームワークが、複数サービスのオペレータによって提供されるミドルウェアやアプリケーション・インフラストラクチャの無い、スタンドアロン・コンフィギュレーションである、方法。
【請求項１３】
テレビジョン・ウィジェット・フレームワークにおいてテレビジョン・ウィジェットを作成および実施するコンピュータ化されたシステムであって、
テレビジョン・ウィジェットをソース・コードとして定義する手段と、
前記テレビジョン・ウィジェットをソース・コード・ライブラリに格納する手段と、
前記ソース・コードを、ターゲット・バーチャル・マシンでの実行に適したバイト・コード・フォーマットに変換する手段と、
アプリケーションにより使用される１組の内部アプリケーション・プログラミング・インターフェイスを、オペレーティング・システム、常駐アプリケーション、またはミドルウェアのアプリケーション・プログラミング・インターフェイスにマッピングする手段と、
前記テレビジョン・ウィジェットを作成し、それをデジタル・テレビジョンに表示する手段と
を備えるシステム。
【請求項１４】
請求項１３に記載のシステムであって、定義された前記テレビジョン・ウィジェットがグラフィックスおよび他のデータ・ファイルをインポートする、システム。
【請求項１５】
請求項１３に記載のシステムであって、変換された前記バイト・コードが、更に、ＪＡＶＡ（登録商標）バーチャル・マシンに適したＪＡＶＡ（登録商標）バイトコードに変換される、システム。
【請求項１６】
請求項１３に記載のシステムであって、内部ＡＰＩがマッピングされる前記オペレーティング・システムが、ＰｏｗｅｒＴＶ、ＧＩＯＳ、およびウィンドウズ（登録商標）のうちの１つである、システム。
【請求項１７】
請求項１３に記載のシステムであって、内部ＡＰＩがマッピングされる前記マッピングされた常駐アプリケーションが、ＳＡＲＡ、ＴＷＣ  ＭＤＮ、Ａｔｌａｓ、ＴＶ−Ｇｕｉｄｅ、およびＰａｓｓｐｏｒｔのうちの１つである、システム。
【請求項１８】
請求項１３に記載のシステムであって、作成された前記テレビジョン・ウィジェットが、更に変換され、デジタル・セットトップ・ボックスへダウンロードされ、デジタル・テレビジョンに表示される、システム。
【請求項１９】
請求項１８に記載のシステムであって、作成された前記テレビジョン・ウィジェットが、ＭＰＥＧ−２データ・ストリームに変換され、静的または動的な様式で、ギガビット・イーサネット（登録商標）または非同期シリアル・インターフェイスを介して配信される、システム。
【請求項２０】
請求項１８に記載のシステムであって、作成された前記テレビジョン・ウィジェットが、高速帯域内データ・カルーセルを介して前記デジタル・セットトップ・ボックスにダウンロードされる、システム。
【請求項２１】
請求項１８に記載のシステムであって、作成された前記テレビジョン・ウィジェットが、それをブロードキャスト・ビデオ・ストリームに組み込むことにより、前記デジタル・セットトップ・ボックスへダウンロードされる、システム。
【請求項２２】
請求項１３に記載のシステムであって、前記ミドルウェアが、グラフィックス、映像、音声、および他の表示のサービスを含む、システム。
【請求項２３】
請求項１３に記載のシステムであって、前記テレビジョン・ウィジェット・フレームワークが、複数サービスのオペレータの機能の特定のアーキテクチャに統合される、システム。
【請求項２４】
請求項１３に記載のシステムであって、前記テレビジョン・ウィジェット・フレームワークが、複数サービスのオペレータにより提供されるミドルウェアまたはアプリケーション・インフラストラクチャの無い、スタンドアロン・コンフィギュレーションである、システム。
【請求項２５】
テレビジョン・ウィジェット・フレームワークにおいてテレビジョン・ウィジェットを作成および実施するためのコンピュータ実行可能命令を有するコンピュータ可読媒体であって、ロジックに、
テレビジョン・ウィジェットをソース・コードとして定義させ、
前記テレビジョン・ウィジェットをソース・コード・ライブラリに格納させ、
前記ソース・コードを、ターゲット・バーチャル・マシンでの実行に適したバイトコード・フォーマットに変換させ、
アプリケーションにより使用される１組の内部アプリケーション・プログラミング・インターフェイスを、オペレーティング・システム、常駐アプリケーション、またはミドルウェアのアプリケーション・プログラミング・インターフェイスにマッピングさせ、
前記テレビジョン・ウィジェットを作成して、それをデジタル・テレビジョンに表示させる
ように、コンフィギュレーションされたコンピュータ実行可能命令を有する、
コンピュータ可読媒体。
【請求項２６】
請求項２５に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、定義された前記テレビジョン・ウィジェットがグラフィックスおよび他のデータ・ファイルをインポートする、コンピュータ可読媒体。
【請求項２７】
請求項２５に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、変換された前記バイトコードが、更に、ＪＡＶＡ（登録商標）バーチャル・マシンに適したＪＡＶＡ（登録商標）バイトコードに変換される、コンピュータ可読媒体。
【請求項２８】
請求項２５に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、内部ＡＰＩがマッピングされる前記オペレーティング・システムが、ＰｏｗｅｒＴＶ、ＧＩＯＳ、およびウィンドウズ（登録商標）のうちの１つである、コンピュータ可読媒体。
【請求項２９】
請求項２５に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、内部ＡＰＩがマッピングされる前記常駐アプリケーションが、ＳＡＲＡ、Ａｔｌａｓ、ＴＷＣ  ＭＤＮ、ＴＶ−Ｇｕｉｄｅ、およびＰａｓｓｐｏｒｔのうちの１つである、コンピュータ可読媒体。
【請求項３０】
請求項２５に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、作成された前記テレビジョン・ウィジェットが、更に変換され、デジタル・セットトップ・ボックスにダウンロードされ、デジタル・テレビジョンに表示される、コンピュータ可読媒体。
【請求項３１】
請求項３１に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、作成された前記テレビジョン・ウィジェットが、ＭＰＥＧ−２データ・ストリームに変換され、静的または動的な様式で、ギガビット・イーサネット（登録商標）または非同期シリアル・インターフェイスを介して配信される、コンピュータ可読媒体。
【請求項３２】
請求項３０に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、作成された前記テレビジョン・ウィジェットが、高速帯域内データ・カルーセルを介して前記デジタル・セットトップ・ボックスにダウンロードされる、コンピュータ可読媒体。
【請求項３３】
請求項３０に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、作成された前記テレビジョン・ウィジェットが、それをブロードキャスト・ビデオ・ストリームに組み込むことによって、前記デジタル・セットトップ・ボックスにダウンロードされる、コンピュータ可読媒体。
【請求項３４】
請求項２５に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記ミドルウェアが、グラフィックス、映像、音声、および他の表示のサービスを含む、コンピュータ可読媒体。
【請求項３５】
請求項２５に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記テレビジョン・ウィジェット・フレームワークが、複数サービスのオペレータの機能の特定のアーキテクチャに統合される、コンピュータ可読媒体。
【請求項３６】
請求項２５に記載のコンピュータ実行可能命令を有するコンピュータ可読媒体であって、前記テレビジョン・ウィジェット・フレームワークが、複数サービスのオペレータにより提供されるミドルウェアまたはアプリケーション・インフラストラクチャの無い、スタンドアロン・コンフィギュレーションである、コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、「Ｓｅｌｆ−ｃｏｎｔａｉｎｅｄ  Ｍｉｎｉ−ａｐｐｌｉｃａｔｉｏｎｓ  Ａｐｐａｒａｔｕｓ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｄｉｇｉｔａｌ  Ｔｅｌｅｖｉｓｉｏｎ」という名称の米国仮特許出願第６０／７１６，９２８号の優先権を主張し、参照によりその全文を組み込む。
【０００２】
本発明は、一般に双方向（インタラクティブ）テレビジョン・システムの分野に関する。実施形態は、双方向テレビジョン・システムにおける新しいアプリケーション・モデルおよびグラフィカル・ユーザ・インターフェイスを提供する方法およびソフトウェア・プログラム実行装置を含み得る。また、実施形態は、双方向テレビジョン・スペースで現在使用されている従来のモノリシック・ソフトウェア・アプリケーション・モデルの代わりに、小さい独立したミニアプリケーションまたはウィジェットの集まりを含み得る。
【背景技術】
【０００３】
現在、ユーザ・インターフェイスは、少し前のものより、はるかにユーザ・フレンドリであるが、現在のテレビジョン・ナビゲーション・システムは、依然として非常に扱いにくく、編成が不十分であり、無関係の情報が多すぎて有用情報が不十分なために、視聴者を閉口させる傾向にある。現在のシステムは、簡単なタスクを達成するためにリモート・コントロールのボタンを何度も操作することを必要とすることが多い。
【０００４】
この不必要な複雑さのために、多くの人々は、現在および将来に使用可能な多種多様の双方向テレビジョンを利用することができない。
【０００５】
ケーブル・テレビジョンおよび衛星放送テレビジョンのプロバイダ、および電気通信業界は、コンピュータおよび通信の進歩を利用して、増え続けるいろいろなサービスを顧客に提供してきた。主に、光ファイバおよびデジタル送信技術の最近の進歩によって、テレビジョン・プロバイダ業界は、チャンネルの容量を増加させ、ある程度の双方向テレビジョン・サービスを提供できるようになってきた。この進歩は、主として、業界が、ケーブル・セットトップボックスの形態であるコンピュータの処理能力と、大容量の情報を搬送するケーブルとを組み合わせることにより得たものである。こうしたケーブル・ボックスは、より多くの選択できるチャンネル、およびある程度の双方向性を提供するために、業界によってうまく使用されてきた。しかしながら、今日の画面上アプリケーションは、多くの場合、非直観的であり、扱いにくく、操作するのが難しい。
【０００６】
ウィジェット（ｗｉｄｇｅｔ）は、何年にもわたって様々な意味が割り当てられた総称である。しかしながら、本明細書では、ウィジェットという用語（本出願では、独立型ミニアプリケーションが同義で使用される）は、一つの明確なタスクに専用の、プロシージャ、データ、およびグラフィカル・ユーザ・インターフェイス（ＧＵＩ）の密に統合された集まりを示す。また、ＴＶウィジェットは、双方向テレビジョン環境で動作するように設計されているウィジェットである。言い換えれば、ＴＶウィジェットは、一つのサービスを提供するミニアプリケーションである。例えば、ＴＶの映像の上部に現在の天気を表示する小さいウィンドウが、ＴＶウィジェットである。各ウィジェットが従来のアプリケーションに含まれる一つの機能またはサービスを、個別の独立したミニアプリケーションとして実装するという点で、ＴＶウィジェットは、多くのサービスを一つの「アプリケーション」に束ねる従来型の双方向テレビジョン・アプリケーションとは異なる。ウィジェットではないアプリケーションの例は、（１）従来のＴＶナビゲータ、即ち、１つのアプリケーションに（ａ）２次元の時間対チャンネルのグリッドの形態の、ＴＶ番組を見つけるための双方向ガイドと、（ｂ）ビデオ・オン・デマンド番組アクセス（video on demand program access）と、（ｃ）チャンネル・バナーと、（ｄ）ペアレンタル・コントロールと、（ｅ）他のサービスとを含む従来のＴＶナビゲータや、（２）１つの画面上にニュース・ヘッドライン、株価、天気、交通、スポーツ得点などについての情報を集めるニュースおよび情報のアプリケーションを含む。
【０００７】
本発明の幾つかの実施形態の一部分を形成するＴＶウィジェットは従来技術ではないが、ウィジェットに関連する従来技術は、以下のものを含む。
【０００８】
−  Ｋｏｎｆａｂｕｌａｔｏｒ（コンファビュレータ）は、マッキントッシュ（登録商標）およびウィンドウズ（登録商標）のコンピュータ上でデスクトップ・ウィジェットを稼働させるツールである。Ｋｏｎｆａｂｕｌａｔｏｒウィジェットは、小さい単一目的ソフトウェア・アプリケーション（例えば、今日の天気の表示、株価の表示、計算器など）をまとめて定義する、ファイル（ＸＭＬ、ＪＡＶＡ（登録商標）スクリプト、グラフィックスなど）の集合である。
【０００９】
−  これまでの双方向ＴＶ（例えばＢＩＡＰ、Ｎａｖｉｃ、ＢｌｕｅＳｔｒｅａｋ、ＧｏｌｄＰｏｃｋｅｔ、Ｂｕｚｚｔｉｍｅ、およびケーブル会社によって開発されたものなど）は、ＰＣモデルを介して実装されており、それにおいて、各アプリケーションは、一意のコンテキストであり、そのコンテキストに適用可能なすべての機能を提供するる。幾つかのアプリケーションでは、ＴＶを見続けることはできる（通常、縮小画面またはオーバーレイ画面（overlaid screen）で）が、ＴＶの上に重ねられる小さい独立型のタスクのためのカスタムのミニアプリケーションを作成する概念は、以前には示されていなかった。
【００１０】
−  強化されたＴＶアプリケーションのためのＥＴＶ（ＣａｂｌｅＬａｂｓによる）ＯｐｅｎＣａｂｌｅ（オープンケーブル）仕様は、ブロードキャスト・ビデオ（ＭＰＥＧ）ストリームへ埋め込むことができ、ブロードキャスタから発せられる。ＥＢＩＦ（ＥＴＶバイナリ・インターチェンジ・フォーマット（ETV Binary Interchange Format））アプリケーションは、ＢＩＡＰのＴＶウィジェットよりはるかに単純なものであり、基本的な描画およびユーザ対話を行うことしかできない。より高レベルの機能（例えば、番組の推薦、インターネットを介したｅＢａｙとの対話など）は、標準のＥＢＩＦアプリケーションを超えるものである。
【００１１】
−  ＯＣＡＰ（ＣａｂｌｅＬａｂｓによる）オープンケーブル・アプリケーション・プラットフォームは、セットトップ・ボックス、ＴＶなどの家庭用電子機器にＪＡＶＡ（登録商標）環境を提供しようとする取り組みである。ＳｕｎのＪＡＶＡ（登録商標）環境の１つの使い方は、元々、インターネット・ブラウザの状況で小さいアプリケーションを実行することであったが、最近の傾向（ＯＣＡＰを含む）では、ＪＡＶＡ（登録商標）を従来のＰＣのようなアプリケーションの開発および実行に適用している。これまでのＯＣＡＰアプリケーション（ＢＩＡＰ自体の従来のアプリケーションを含む）はすべて、ウィジェット・モデル上ではなく、依然として大きいアプリケーション・モデル上に構築される。
【００１２】
テレビジョンに関連するときのウィジェットの欠点の幾つかは、ＴＶを見る状況にあまり適していないＰＣスタイルのアプリケーション・モデルにある。従って、あまり押しつけがましくない、理解しやすいモデルが必要とされる。別の問題は、既存のＴＶセットトップ・ボックスでは、デスクトップで見られるような大きいアプリケーションやＫｏｎｆａｂｕｌａｔｏｒスタイルのウィジェットを稼働させるコンピューティング・リソース（メモリおよびＣＰＵ）が不十分であることである。更に、ウィジェットをダウンロードし、統合し、実行するデスクトップ・コンピュータ機構は、一般に、ＴＶ環境では働かない。十分なコンピューティング・リソースが使用可能である場合でさえ、今日の双方向ＴＶ環境において、Ｋｏｎｆａｂｕｌａｔｏｒウィジェットをダウンロードおよび呼び出す機構がない。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
従って、ＧＵＩとの視覚に訴えるような対話を行うための、および視聴者が所望する利用可能なすべての情報へ有効にアクセスするための、多数のウィジェットを介しての、テレビジョンにおける様々なアプリケーション機能およびサービス（番組の推薦、個人用のマルチメディア・コンテンツ、およびナビゲーション補助を含む）を円滑にする方法が必要である。
【課題を解決するための手段】
【００１４】
本発明の方法およびシステムは、必要に応じてユーザのＴＶ画面上に表示されるテレビジョン媒体において使用するための、セットトップ・ボックスなどの制約されたコンピューティング環境において使用するための、データを保持し且つユーザ対話を可能にする独立型ミニアプリケーション（ＴＶウィジェットとして知られる）を、ユーザに提供する。ＴＶウィジェットによって、視聴者は、データを個人化することができ、リモート・コントロール・ユニットからのボタンのクリックによってデータへアクセスすることが可能になる。ＴＶウィジェットは無数のウィジェットを含み、例えば、視聴者にテレビジョン番組を推薦するウィジェットである「Ｍｙ  ８  ｂａｌｌ（マイ８ボール）」、特定のテレビジョン番組を検索する別のウィジェットである「Ｍｙ  ＴＶ  ｓｅａｒｃｈ（マイＴＶサーチ）」、地方の天気状態を表示するウィジェットである「Ｍｙ  Ｗｅａｔｈｅｒ（マイ・ウェザー）」、ビジネスに関する情報を取り出して表示するウィジェットである「Ｍｙ  Ｙｅｌｌｏｗ  Ｐａｇｅｓ（マイ・イエロー・ページ）」、「Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ（スマート・ナビゲーション）」、および「Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ  ｗｉｔｈ  Ｓｍａｒｔ  Ｔｅｘｔ  Ｉｎｐｕｔ（スマート・テキスト入力を用いるインスタント・メッセージング）」などを含むが、これらだけには限定されない。
【００１５】
本発明の例示的な一実施形態では、システムおよび方法は、デジタル・テレビジョン用の独立型ミニアプリケーションを作成および実施するものであり、独立型ミニアプリケーションは、コンピュータ言語（例えば、Ｃ、ＳＰＬＡＴなど）で書かれたソース・コード・プログラムとして定義され、グラフィック・ファイルおよび他の必要なデータをインポートすることができ、ライブラリ・ソース・コードに格納される。ソース・コード・プログラムは、コンパイラへ送られて、バイトコード・フォーマット、即ち、双方向テレビジョン・アプリケーションにとって理解可能なバイトコード・インタプリタを実装するターゲット・バーチャル・マシン（ＶＭ）での実行に適したバイトコード・フォーマットへと、変換される。本発明のシステムおよび方法は、ミドルウェアが使用されるときには、バイトコードを、ＪＡＶＡ（登録商標）バーチャル・マシンに適したＪＡＶＡ（登録商標）バイトコードへと変換し、他方、他のアプリケーションが提示されるとき、バイトコードは、ターゲット・バーチャル・マシンに適したＪＡＶＡ（登録商標）サブセット・バイト・コードへと変換される。次いで、このシステムおよび方法は、ＰｉＴＶ、ｅＢａｙ  ｏｎ  ＴＶ、Ｆａｎｔａｓｙ  ｓｐｏｒｔｓなどの個々のアプリケーション、および他の双方向アプリケーションによって使用される標準的な１組の内部アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を、オペレーティング・システム、常駐アプリケーション、またはミドルウェアのＡＰＩにマッピングして、テレビジョン上に表示される独立型ミニアプリケーション（即ち、ＴＶウィジェット）を作成し、ユーザがそれらのアプリケーションと対話できるようにする。
【００１６】
別の実施形態ではＴＶウィジェット・フレームワークが開示され、これは、ウィジェットによって使用される多くのユーザ・インターフェイス・コンポーネント（例えば、スマート・テキスト・エントリなど）およびコンピューティング機能（例えば、ＨＴＴＰネットワーキングなど）のためのコンピューティング支持および共通ライブラリのプロシージャを提供する。ＴＶウィジェット・フレームワークは、グラフィカル・ユーザ・インターフェイス・コンテキスト（例えば、「ダッシュボード」、「ドック」、「起動バー」など）も提供し、このグラフィカル・ユーザ・インターフェイス・コンテキストからウィジェットが選択され、実行され得る。本発明のＴＶウィジェットおよびＴＶウィジェット・フレームワークは、ＭＳＯの特定のアーキテクチャに統合されてもよく、またスタンドアロン・フレームワークとして実装されてもよい。ＴＶウィジェットおよびＴＶウィジェット・フレームワークによって、従来のアプリケーションを、特定の機能をそれぞれに行う独立したＴＶウィジェットの集まりによって表すことができる。このような、アプリケーション機能を小さい塊へ分割することにより、不十分なコンピューティング・リソース（ＤＲＡＭメモリ、フラッシュ・メモリ、ＣＰＵサイクル、および帯域幅）をより節約して使用し、リモート・コントロールを用いての複雑なアプリケーションにおける多数の機能の操作の必要を無くし、ウィジェットの選択（即ち実行）に直接的で明らかなアクションが関連付けられている、より簡単でより直接的なユーザ・インターフェイスを提供する。
【００１７】
本発明の代替実施形態では、テレビジョン・ウィジェットを作成および表示するシステムおよび方法は、高速帯域内（高速インバンド）データ・カルーセル（high-speed in-band data carousel）を介して、またはウィジェットをブロードキャスト・ビデオ・ストリームに組み込む（ＭＰＥＧ）ことによって、テレビジョン・ウィジェットを、セットトップ・ボックスに、またはＴＶウィジェットを表示することができる他の任意の家庭用電子デバイスに、ダウンロードすることを含む。ＴＶウィジェットをダウンロードする利点は、高レベルな計算を実行し、ＴＶウィジェット・フレームワークにおける機能（推奨エンジン、スマート・インターフェイス・コンポーネントなど）を行わせることができるＴＶウィジェットの能力にある。更に、本発明のＴＶウィジェットは、バイトコードから成り、他の実施形態における対応するＸＭＬコンテンツよりはるかにコンパクトであり、「タスク・バー」から対応するアイコンを選択することによって呼び出される。本発明のテレビジョン・ウィジェットは、ＴＶウィジェット・フレームワークに含まれるＴＶウィジェット・バーチャル・マシン上で実行される。更に、ＴＶウィジェット・フレームワークは、動的ライブラリなどの幾つかのビルトイン・コンポーネントや、すべてのウィジェットが使用するためのデータ・モジュールを提供し、それにより、ウィジェットは、ボタン、リスト・ボックス、スマート・エントリ・フィールド、仮想キーボード、メニュー、画像、静止テキスト、チッカーなどのコンポーネントを実装するためのコードを含む必要無しに、実行され得る。
【発明を実施するための最良の形態】
【００１８】
以下の説明は、本発明の様々な応用例に関わる幾つかの特定の実施形態および詳細を提供することによって、本発明の完全な理解を伝えるためのものである。しかしながら、本発明は、例にすぎないこれらの実施形態および詳細に限定されないことを理解されたい。当業者なら、既知のシステムおよび方法の点から、特定の設計および他の必要性に応じて、任意の代替実施形態でのその意図する目的および利益のための本発明の使用を理解するであろうことを更に理解されたい。特に、本実施形態は、主にデジタル・ケーブル・テレビジョン環境での応用例を記載しているが、概念は、デジタル衛星テレビジョン、インターネット・プロトコルベースのテレビジョン（ＩＰＴＶ：Internet Protocol-based Television）、ワイヤレスを介しての映像（video over wireless）、セル電話映像（cell-phone video）などにも十分に適用される。
【００１９】
本発明は、一つのタスクを実行するセットトップ・ボックスや他の家庭用電子機器などの制約されたコンピューティング環境での実行のために設計された小さい独立型のミニアプリケーションとして実装されるソフトウェア・プログラムおよび方法に関する。複数のＴＶウィジェットは、集合して従来のアプリケーションを表し得る。例えば、ＢＩＡＰのｅＢａｙオークション・アプリケーションは、以下のウィジェット、即ち、ｅＢａｙオークション・ビッド・ウィジェット（eBay auction bid widget）、ｅＢａｙオークション・アラート・ウィジェット（eBay auction alert widget）、ｅＢａｙオークション追跡ウィジェット（eBay auction tracking widget）、ｅＢａｙオークション検索ウィジェット（eBay auction search widget）などのウィジェットの集まりによって表され得る。これらの独立型ミニアプリケーションは、ウィジェット・ライブラリにバイトコードとして格納され、ＰｉＴＶ、ＥＢａｙ、Ｆａｎｔａｓｙ  Ｆｏｏｔｂａｌｌなどの異なるアプリケーションによって必要に応じて取り出され、ユーザのテレビジョン画面に表示される。本発明のソフトウェア・プログラムおよび方法によって、ユーザは、大きいアプリケーション、または個々のミニアプリケーションにおける極小の各タスクを、独立したＴＶウィジェットとして実施することができ、それぞれのＴＶウィジェットは、視聴者の状況を、テレビジョン番組を見る情況からアプリケーションへ入る情況へ切り替えることなく、独立して使用することができる。
【００２０】
本発明の例示的な一実施形態において、図２を参照すると、このシステムおよび方法は、デジタル・テレビジョン用の独立型ミニアプリケーションを作成および実施する。最初に、ステップ２１０で、独立型ミニアプリケーションは、グラフィックス・ファイルおよび他の必要なデータをインポートすることができる、コンピュータ言語（例えば、Ｃ、ＳＰＬＡＴなど）で書かれたソース・コード・プログラムとして定義され、次いで、ステップ２２０で、そのソース・コードは、ライブラリ・ソース・コードに格納される。より自動化されたツールによって記述または生成され得るソース・コード・プログラムは、コンパイラへ送られ、ステップ２３０で、双方向テレビジョン・アプリケーションに理解できるバイトコード・インタプリタを実装するターゲット・バーチャル・マシン（ＶＭ）での実行に適したバイトコード・フォーマットに、変換される。ステップ２４０で、システムおよび方法は、ＯｐｅｎＣａｂｌｅアプリケーション・プラットフォーム（ＯＣＡＰ（商標）：ＯｐｅｎＣａｂｌｅ  Ａｐｐｌｉｃａｔｉｏｎｓ  Ｐｌａｔｆｏｒｍ）仕様などのような他の任意のミドルウェアが使用されるかどうかを判定する。回答が「はい」である場合、ステップ２５０で、バイトコードは、ＪＡＶＡ（登録商標）バーチャル・マシンに適したＪＡＶＡ（登録商標）バイトコードへと更に変換される。回答が「いいえ」である場合、ステップ２６０で、システムおよび方法は、独立型ミニアプリケーション（即ちＴＶウィジェット）を作成するためにＰｉＴＶ、ｅＢａｙ  ｏｎ  ＴＶ、Ｆａｎｔａｓｙ  ｓｐｏｒｔｓなどの個々のアプリケーションおよび他の双方向アプリケーションによって使用される標準的な１組の内部アプリケーション・プログラミング・インターフェイス（ＡＰＩ）を、テレビジョン上に表示されてユーザとの対話を可能にする独立型ミニアプリケーション（即ちＴＶウィジェット）を作成するためにオペレーティング・システム（例えば、ＰｏｗｅｒＴＶ、ＧＩＯＳ、および種々雑多なオペレーティング・システムなど）、常駐アプリケーション（例えば、ＳＡＲＡ、Ａｔｌａｓ、ＴＶ  Ｇｕｉｄｅ、Ｐａｓｓｐｏｒｔなど）、またはミドルウェア（例えば、ＯＣＡＰなど）のＡＰＩにマッピングする。
【００２１】
図１は、アップル社のＭａｃ  ＯＳＸシステムの実行を示す従来技術の図である。比較すると、上述のＴＶウィジェットは、単一の明確なタスクを行うために実行され得る、小さい独立型の実行可能なコードおよびデータの塊である。ＴＶウィジェットは、プログラムとして実装されるものであり、適切なプログラミング言語（一実施形態では、ＳＰＬＡＴ）で書かれ、実行可能なコード（一実施形態では、ＳＰＬＡＴバイトコード）にコンパイルされる。
【００２２】
本発明の一実施形態において、図３を参照すると、システムおよび方法は、ウィジェット開発から実行までのウィジェット・パスを示す。最初に、ウィジェットは、ライブラリ・ソース・コード３１０で定義され、格納され、ウィジェットは、コンピュータ言語（例えばＳＰＬＡＴなど）で書かれたソース・コード・プログラムとして定義される。より自動化されたツールによって記述または生成され得るソース・コード・プログラムは、コンパイラ３１５へ送られる。また、ソース・コード・プログラムは、ソース・コード（例えばＳＰＬＡＴ）・コンパイラによって出力される最終的なウィジェットへ組み込まれるグラフィックス・ファイルおよび他のデータをインポートすることができる。コンパイラ３１５は、ソース・コード・プログラムを、双方向テレビジョン・アプリケーションの理解できるバイトコード・インタプリタを実装するターゲット・バーチャル・マシン（ＶＭ）３６５（ａ）および（ｂ）での実行に適したバイトコード・フォーマット３２０へと変換する。好ましい実施形態では、ＳＰＬＡＴソース・コードは、３６５（ａ）などのＳＰＬＡＴバーチャル・マシン、即ち、ＰｉＴＶ（個人用双方向テレビジョン（personalized interactive television））３２５（ａ）および（ｂ）、ｅＢａｙ  ｏｎ  ＴＶ３２７（ａ）および（ｂ）、およびｆａｎｔａｓｙ  ｓｐｏｒｔｓ３３０（ａ）および（ｂ）などのアプリケーションに関連するウィジェットを作成するバーチャル・マシン上での実行のために、ＳＰＬＡＴバイトコードにコンパイルされる。アプリケーション・シェル３６０（ａ）および（ｂ）は、ウィジェット・フレームワーク３５０（ａ）および（ｂ）のためのＡＰＩ（アプリケーション・プログラミング・インターフェイス）を提供し、これは、アプリケーション環境および幾つかの低レベルサービスを包むものであり、それらは、サイエンティフィック・アトランタ社のエクスプローラなどのようなセットトップ・ボックス３８５（ａ）および３８５（ｂ）、モトローラ社のデジタル・ケーブル端末（Digital Cable Terminal）オペレーティング・システム（例えば、ＰｏｗｅｒＴＶ、ＧＩＯＳなど）３７５（ａ）および（ｂ）など、常駐アプリケーション（例えば、ＳＡＲＡ、Ａｔｌａｓ、ＴＶ−Ｇｕｉｄｅ、Ｐａｓｓｐｏｒｔなど）３７０（ａ）および（ｂ）、および、グラフィックス、映像、音声、および他の表示のサービスをアプリケーション・イベント管理とともに含むミドルウェアにより、提供される。結果として得られたウィジェットのバイトコードの形は、他のファイル（例えばグラフィックスなど）からインポートされたデータを含むことができ、また、ウィジェット・フレームワークによって提供される外部ライブラリ・ルーチンを参照することができる。使用される実際のソース・コード言語、コンパイラ、およびバーチャル・マシンは、本発明には関係なく、通常の当業者であれば、他のソース・コード言語、コンパイラ、およびバーチャル・マシンを使用してウィジェットの機能およびウィジェット・フレームワークを再現することができる。
【００２３】
更に、ＯｐｅｎＣａｂｌｅアプリケーション・プラットフォーム（ＯＣＡＰ（商標））仕様などのミドルウェアが使用される状況において、ＪＡＶＡ（登録商標）システム用のバイトコードを生成するために、変換ステップが使用され得る。ソース・コード・プログラムのバイトコード・フォーマットへの変換はコンパイラ３１５によって行われ、更にバイトコード変換器３４０で変換され、このバイトコード変換器３４０は、バイトコードを、ＪＡＶＡ（登録商標）バーチャル・マシン（ＪＶＭ）３６５（ｃ）上での実行に適したＪＡＶＡ（登録商標）バイトコード３４５へと変換するものであり、ＪＶＭ３６５（ｃ）は、ＪＡＶＡ（登録商標）バイトコードを解釈し、ＰｉＴＶ（個人用双方向テレビジョン）３３５、ｅＢａｙ  ｏｎ  ＴＶ３３７およびｆａｎｔａｓｙ  ｓｐｏｒｔｓ３４７などのアプリケーションに関連したＪＡＶＡ（登録商標）アプレットを作成する。ＯＣＡＰライブラリ３５５は、ウィジェット・フレームワーク３５０のためのＡＰＩ（アプリケーション・プログラミング・インターフェイス）を提供するものであり、ウィジェット・フレームワーク３５０は、無数のオペレーティング・システム３８０のうちの何れかで稼働する、関連の加入者宅内機器（customer premise equipment）３８５（ｃ）によって提供される幾つかの低レベルのサービスとアプリケーション環境とを包みこむ。
【００２４】
プログラミング無しにウィジェットの一部分（例えばグラフィカルＵＩのコンポーネントなど）を自動的に生成するために、ツールが提供されてもよい。例えば、多くのウィジェットは、単に、ウェブ・サイトやＲＳＳフィードから情報を取り出し、小さいウィンドウにそれを表示するだけである。こうしたウィジェットの定義は、単に、予め定められている一連の選択肢（例えば、ウィジェット・ウィンドウ・サイズ、無地または画像の背景、テキストのフォント、およびソースＲＳＳデータのＵＲＬなど）からの選択のプロセスであり得、本明細書を所有する当業者であれば、開発者がこれらのオプションから選択できるようにするツールと、開発者の選択肢に対処するようにツールによって変更できるウィジェット・テンプレートとの両方を、実装することができる。
【００２５】
本発明の代替の実施形態において、図４を参照すると、テレビジョン・ウィジェットを作成および表示するシステムおよび方法は、高速帯域内データ・カルーセル４１０（Ｂｉａｐ  ＲＩＢＳデータキャスタなど）を介して、またはウィジェットをブロードキャスト・ビデオ・ストリーム（ＭＰＥＧ）に組み込むことによって、セットトップ・ボックス４６０（そのオペレーティング・システム４５５を備える）のランダム・アクセス・メモリ（ＲＡＭ）４２５に、またはＴＶウィジェットを表示することができる他の任意の家庭用電子デバイスに、テレビジョン・ウィジェット４１５をダウンロードすることを含む。ＥＢＩＦ（エンハンストＴＶバイナリ交換フォーマット（Enhanced TV Binary Interchange Format））などの従来技術よりも、ＴＶウィジェットをダウンロードする利点は、高レベルの計算を実行することができ、ＴＶウィジェット・フレームワーク４４５における機能（例えば、推奨エンジン、スマート・インターフェイス・コンポーネントなど）を活用できるＴＶウィジェット４１５の能力にある。更に、ＴＶウィジェット４１５は、バイトコードから成り、ＥＢＩＦアプリケーションにおける対応するＸＭＬコンテンツよりもはるかにコンパクトであり、図８（ｂ）に示されるように、「タスク・バー」８１５から対応するアイコンを選択することによって呼び出されるものであり、ここでは、リモート・コントロール装置の１つのキーは、使いやすいように、テレビジョン画面の下部にある「タスク・バー」の可視性を切り替えるように制御するために使用され、リモート・コントロール・デバイスの矢印キーは、タスク・バー上のＴＶウィジェットの任意の１つを選択するために使用される。本発明のテレビジョン・ウィジェットは、ＴＶウィジェット・バーチャル・マシン４５０で実行され、このＴＶウィジェット・バーチャル・マシン４５０は、図４に示されるように、ＴＶウィジェット・フレームワーク４４５に含まれる。更に、ＴＶウィジェット・フレームワーク４４５は、幾つかのビルトイン・コンポーネント、例えば、他のアプリケーション４３０も含み得るセットトップ・ボックス４６０のランダム・アクセス・メモリ４２５に含まれているように示されている動的ライブラリ４２０やデータ・モジュール４４０などのビルトイン・コンポーネントを、すべてのウィジェットが使用するために提供して、ＴＶウィジェットが、例えば、ボタン、リスト・ボックス、スマート・エントリ・フィールド、仮想キーボード、メニュー、画像、静止テキスト、チッカーなどのコンポーネントを実装するためのコードを含む必要無しに、実行されるようにしている。本発明のＴＶウィジェットおよびＴＶウィジェット・フレームワークは、ＭＳＯ（マルチプル・サービス・オペレータ：これは、ビデオ・オン・デマンド、電子番組ガイド、インターネット／データ・サービスのようなビデオ番組および関連サービスのプロバイダについての総称である）の特定のアーキテクチャに統合されてもよく、また、スタンドアロン・フレームワークとして実装されてもよい。
【００２６】
本発明の更に別の実施形態において、図５を参照すると、テレビジョン・ウィジェットを作成および配信する構成が示されており、ここでは、アプリケーション・サーバ５１５および帯域内（インバンド）データキャスタ（in-band datacaster）５１０を使用して、イーサネット（登録商標）５２０などのＩＰゲートウェイを介して動的にまたは静的に、本発明のテレビジョン・ウィジェットを作成して配信する。テレビジョンに対して映像、音声、データを容易にするセットトップ・ボックスは、記憶装置に関しての制限があるため、作成後のテレビジョン・ウィジェット・モジュールは、アプリケーション・サーバ５１５上にあり、要求があると取り出されて、データキャスタ管理インターフェイス・モジュール５３０を使用するＡｐａｃｈｅ／ＨＴＴＰサーバ５２５を介して、帯域内データキャスタ５１０から配信される。静的バージョンでは、ＴＶウィジェット・データは、ストレージ５３５に格納され、必要に応じてデータをＭＰＥＧ−２ストリームへと変換するエンコーダ５５０へ送信され、ここでは、プレーヤ５６０は、それを、ＭＰＥＧ−２トランスポート・ストリームを流すビデオ・ポンプ５７０へ繰り返し流し、５７５を介してギガビット・イーサネット（登録商標）（ＧｉｇＥ）や非同期シリアル・インターフェイス（ＡＳＩ）を通じてＭＳＯヘッドエンド機能（設備）へ配信することができる。
【００２７】
オプションとして、動的バージョンでは、テレビジョン・ウィジェット・モジュールは、一時的な格納のために生データ・ストレージ５３５へ直接に送られ、エンコーダ５５０によって即座にＭＰＥＧ−２ストリームへと変換され、プレーヤ５６０を介してビデオ・ポンプ５７０へ流され、５７５を介してＧｉｇＥまたはＡＳＩ５７５を通じて、一度だけ、ＭＳＯヘッドエンド設備へ送られる。更に、データキャスタ管理インターフェイス・モジュール５３０は、制御情報をコントローラ５４０へ送り、制御命令をエンコーダ５５０へ運び、ＴＶウィジェット・データを静的または動的にＭＰＥＧ−２ストリームへと変換する。また、コントローラ５４０は、制御命令をプレーヤ５６０へ送り、ＭＰＥＧ−２データを、静的バージョンでは繰り返して流し、動的バージョンでは一度だけ流す。
【００２８】
図６を参照すると、本発明の好ましい実施形態による広帯域ネットワーク構造が示されている。広帯域ネットワーク６００は、概して、アプリケーション・サーバ６１０を含み、アプリケーション・サーバ６１０は、ＴＶウィジェットを格納し、イーサネット（登録商標）６３０および帯域内データキャスタ６４５を介して配信するものであり、ＴＶウィジェットは、ＭＰＥＧ−２トランスポート・ストリームへと変換され、６２０を介してギガビット・イーサネット（登録商標）または非同期シリアル・インターフェイス（ＡＳＩ）を通じてＭＳＯヘッドエンド設備６４０へ配信されて、セットトップ・ボックス６６０（ａ）〜６６０（ｎ）へ配信され、ユーザのテレビジョン６７０（ａ）〜６７０（ｎ）に表示される。アプリケーション・サーバ６１０および帯域内データキャスタ６４５は、サンプルの広帯域ネットワーク・アーキテクチャ６００に統合される。
【００２９】
図７（ａ）に示されているコンピュータ・コードは、本発明の一実施形態による図７（ｂ）に示されている簡単なウィジェットを作成するための短いソース・コードである。
【００３０】
図８（ａ）から図８（ｈ）までは、本発明のコンピュータ・ソフトウェアの方法およびシステムによって作成され得るテレビジョン・ウィジェットの例である。これらのテレビジョン・ウィジェットは、幾つかのウィジェット・ボタンを含み、例えば、図８（ａ）に示されているような、一つのリモート・コントローラ・キーを押すことによって呼び出されるウィジェットがあり、このウィジェットは、図８（ｂ）に示されているような広告ウィジェット８１５を送り出して、例えば、視聴者が詳細な情報、例えば新しい「ハリー・ポッターの映画」の開始時刻８２０などを取得できるようにする。開始時刻を選択することによって、視聴者に対して、図８（ｃ）のすべての関連情報（開始時刻、劇場、住所など）８２５が示される。他のウィジェットは、図８（ｄ）、（ｅ）、および（ｆ）に示されているような企業の場所の概要を含む。
【００３１】
双方向アプリケーション・ユーザ・インターフェイスは、今日のデジタル・ケーブルＴＶインフラストラクチャによって厳しく制限される。主に、これは、リモート・コントロールを入力デバイスとして使用する結果である。例えば、インスタント・メッセージングやチャット・アプリケーションへテキストを入力するのに、従来のソフトウェア・キーパッドや数値キーパッドのマッピングを使用するのは、長たらしくて飽き飽きする。しかし、強化されたコンピューティング・リソースが使用可能であると、十分な知能をユーザインターフェイス・ウィジェットに組み込んで、その有用性および効率を大幅に向上させることができる。従って、本発明の方法およびソフトウェア・プログラムは、２つのスマート・ウィジェットをコンフィギュレートするように、すなわち、図８（ｇ）および図８（ｈ）にそれぞれ示されているスマート・キーパッドおよびコンテキスト関連メニュー・バーをコンフィギュレートするように、実施され得る。
【００３２】
図８（ｇ）のスマート・キーパッドは、黒板を介して、すべてのアプリケーションから集められた統計的な文字頻度情報をまとめて文字頻度モデルを構築する。この情報により、キーパッドは、しばしば、ユーザが入力したい次の文字や単語を推測し、容易にアクセスできるショートカットをユーザに提供し、テキストの入力を大幅にスピード・アップすることができる。
【００３３】
図８（ｈ）のコンテキスト関連メニュー・バーによって、アプリケーションは、ユーザおよびアプリケーション・モデルから集められた情報を使用して、オプションをユーザに提示することができ、このオプションは最少数のキーストロークで呼び出すことができるようにされ得、しばしば従来のメニュー階層における多くのレベルを飛び越すことができる。
【００３４】
本発明のテレビジョン・ウィジェットは、グリッド構造の形でテレビジョン視聴者へ送られる従来のテレビジョン番組ガイド、および従来のテレビジョン・ナビゲータ（例えば、ＳＡＲＡ、ＴＶ  Ｇｕｉｄｅ、Ａｔｌａｓなど）の他の機能を、個別に構築されてＴＶ視聴者へ送られる独立したウィジェットの集まりとして再定義する方法を含み得る。これらのＴＶウィジェットは、グリッド・ガイド・ウィジェット、「ｗｈａｔ'ｓ  ｏｎ  ｎｏｗ（今の番組は何か）」ウィジェット（チャンネルでソートされる）、番組サーチ・ウィジェット、映画およびテレビジョン番組の推薦ウィジェットである「Ｍｙ  ８  ｂａｌｌ（マイ８ボール）」、特定のテレビジョン番組を検索する「Ｍｙ  ＴＶ  ｓｅａｒｃｈ（マイＴＶサーチ）」、スポーツ推薦ウィジェット、子供向け推薦ウィジェット、一般向け番組推薦ウィジェット、ＤＶＲ制御ウィジェット、ＶＯＤ注文ウィジェット、Ｖｉｅｗ  ｍｙ  Ｂｉｌｌ（私の請求書を見る）ウィジェット、Ｏｒｄｅｒ  Ｐａｙ−Ｐｅｒ−Ｖｉｅｗ（ペイパービュー注文）ウィジェット、プリファレンス（好み）設定ウィジェット、ＰＩＮ設定ウィジェット、顧客サービス・ウィジェットとして配信される。他の考えられ得る実装は、「Ｍｙ  Ｗｅａｔｈｅｒ（マイ・ウェザー）」、「Ｍｙ  Ｙｅｌｌｏｗ  Ｐａｇｅｓ（マイ・イエロー・ページ）」、「Ｓｍａｒｔ  Ｎａｖｉｇａｔｉｏｎ（スマート・ナビゲーション）」、および「Ｉｎｓｔａｎｔ  Ｍｅｓｓａｇｉｎｇ  ｗｉｔｈ  Ｓｍａｒｔ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ（スマート・ユーザ・インターフェースを用いるインスタント・メッセージング）」を含む。
【００３５】
本発明の意図および範囲から逸脱することなく、上述の本発明の実施形態において加えられ得る多くの変形があることを当業者であれば理解されよう。例えば、本発明に記載されたＴＶウィジェットを作成することができるコードを書くために使用できる様々なコンピュータ言語がある。同様に、当業者であれば分かる他の多くの変形があり、これらのすべては、本発明の意図および範囲内に含まれる。
【図面の簡単な説明】
【００３６】
【図１】図１は、幾つかのアップル社のＭａｃ  ＯＳＸウィジェットを示す従来技術の図である。
【図２】図２は、本発明の一実施形態によるテレビジョン・ウィジェットを作成および実施するためのステップを示すフローチャートである。
【図３】図３は、本発明の一実施形態による、数ある項目の中で、ウィジェット・ライブラリおよびウィジェット・フレームワークを含むソフトウェア／ハードウェア・アーキテクチャを示す。
【図４】図４は、本発明の一実施形態によるテレビジョン・ウィジェット・フレームワーク（ＴＶＷＦ）実装のブロック図である。
【図５】図５は、本発明の一実施形態による、アプリケーション・サーバおよび帯域内データキャスタを含むブロック図である。
【図６】図６は、本発明の一実施形態による、帯域内データキャスタおよび統合されたアプリケーション・サーバを備えるネットワーク・アーキテクチャを示す。
【図７ａ】図７（ａ）は、本発明の一実施形態による、ウィジェットを作成するソース・コードである。
【図７ｂ】図７（ｂ）は、本発明の一実施形態による、図８（ａ）のソース・コードから得られるウィジェットである。
【図８ａ】図８（ａ）〜（ｈ）は、本発明の様々な実施形態による様々なタイプのウィジェットを示す。
【図８ｂ】図８（ａ）〜（ｈ）は、本発明の様々な実施形態による様々なタイプのウィジェットを示す。
【図８ｃ】図８（ａ）〜（ｈ）は、本発明の様々な実施形態による様々なタイプのウィジェットを示す。
【図８ｄ】図８（ａ）〜（ｈ）は、本発明の様々な実施形態による様々なタイプのウィジェットを示す。
【図８ｅ】図８（ａ）〜（ｈ）は、本発明の様々な実施形態による様々なタイプのウィジェットを示す。
【図８ｆ】図８（ａ）〜（ｈ）は、本発明の様々な実施形態による様々なタイプのウィジェットを示す。
【図８ｇ】図８（ａ）〜（ｈ）は、本発明の様々な実施形態による様々なタイプのウィジェットを示す。
【図８ｈ】図８（ａ）〜（ｈ）は、本発明の様々な実施形態による様々なタイプのウィジェットを示す。
【図１】
2009509245.tif 000003
【図２】
2009509245.tif 000004
【図３】
2009509245.tif 000005
【図４】
2009509245.tif 000006
【図５】
2009509245.tif 000007
【図６】
2009509245.tif 000008
【図７（ａ）】
2009509245.tif 000009
【図７（ｂ）】
2009509245.tif 000010
【図８ａ】
2009509245.tif 000011
【図８ｂ】
2009509245.tif 000012
【図８ｃ】
2009509245.tif 000013
【図８ｄ】
2009509245.tif 000014
【図８ｅ】
2009509245.tif 000015
【図８ｆ】
2009509245.tif 000016
【図８（ｇ）】
2009509245.tif 000017
【図８ｈ】
2009509245.tif 000018