(57)【特許請求の範囲】
【請求項１】
セッションを管理する方法であって、
ホームネットワークに配置されたセットトップボックスにおいて呼び出される少なくとも１つのインターネット・プロトコル・テレビジョン（ＩＰＴＶ）に関連したＩＰＴＶ関連アプリケーションを識別するための個別の識別情報を登録テーブルが含むよう、前記ＩＰＴＶ関連アプリケーションを前記登録テーブルに登録する登録ステップと、
前記セットトップボックスにおいて、ＩＰＴＶ関連アプリケーションを呼び出すことを必要とするＩＰＴＶ関連イベントが発生したことを検出する検出ステップと、
前記ＩＰＴＶ関連イベントに基づいて、ＩＰＴＶセッションにおいて呼び出されるＩＰＴＶ関連アプリケーションであって、その識別情報が前記登録テーブルに登録されているＩＰＴＶ関連アプリケーションを選択する選択ステップと
を有し、
前記登録ステップは、前記ホームネットワークに接続されているグローバルネットワークから前記セットトップボックス内に受信されたブラウザベースのアプリケーションを、前記登録テーブルに登録するステップを含み、
前記ブラウザベースのアプリケーションは、第１のＩＰＴＶ関連イベントに基づいて呼び出し可能なアプリケーションであり、
前記セットトップボックスにインストールされている組み込みアプリケーションは、前記第１のＩＰＴＶ関連イベントに基づいて呼び出し可能なアプリケーションであり、
前記登録テーブルは、前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとについて、それぞれの識別情報と、それぞれの呼び出しの優先順位が登録されており、
前記検出ステップは、ＩＰＴＶに関連した前記ブラウザベースのアプリケーションまたは前記組み込みアプリケーションのアクティブ化を要求する前記第１のＩＰＴＶ関連イベントが発生したことを検出するステップを含み、
前記選択ステップは、前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとのそれぞれの識別情報と、それぞれの呼び出しの優先順位とに基づいて、前記ブラウザベースのアプリケーションまたは前記組み込みアプリケーションを選択するステップを含む
ことを特徴とする方法。
【請求項２】
前記選択ステップにおいて選択された前記ＩＰＴＶ関連アプリケーションを呼び出すステップをさらに有することを特徴とする請求項１に記載の方法。
【請求項３】
前記検出ステップは、
前記ホームネットワークに接続されたグローバルネットワークから未承諾のメッセージを受信するステップを含み、
前記選択ステップは、
前記未承諾のメッセージからアプリケーション識別情報を抽出するステップと、
前記抽出したアプリケーション識別情報を、前記登録テーブルに登録されているＩＰＴＶ関連アプリケーションの識別情報と比較するステップと、
前記抽出したアプリケーション識別情報と、前記登録テーブルに登録されているＩＰＴＶ関連アプリケーションの識別情報とが一致すると、前記登録テーブルに登録されている当該ＩＰＴＶ関連アプリケーションを選択するステップと
を含むことを特徴とする請求項１または２に記載の方法。
【請求項４】
前記登録ステップは、
前記ホームネットワークに接続されているグローバルネットワークから前記セットトップボックス内に受信されたブラウザベースのアプリケーションを、前記登録テーブルに登録するステップ
を含むことを特徴とする請求項１ないし３のいずれか１項に記載の方法。
【請求項５】
前記グローバルネットワークから受信した前記ブラウザベースのアプリケーションのイニシャルスクリプトページに含まれている登録スクリプトを実行させることによって、前記ブラウザベースのアプリケーションについて、前記登録ステップを実行することを特徴とする請求項４に記載の方法。
【請求項６】
前記登録ステップは、
前記セットトップボックスにインストールされている組み込みアプリケーションを前記登録テーブルに登録するステップ
を含むことを特徴とする請求項１ないし５のいずれか１項に記載の方法。
【請求項７】
前記セットトップボックスにおいて実行されるファームウエア初期化シーケンスにおいて、前記組み込みアプリケーションについて前記登録ステップを実行することを特徴とする請求項６に記載の方法。
【請求項８】
ユーザ入力に基づいて、前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとについての呼び出しの優先順位を前記登録テーブルに登録するステップをさらに有することを特徴とする請求項１に記載の方法。
【請求項９】
前記登録ステップは、
前記ホームネットワークに接続されているグローバルネットワークから前記セットトップボックス内に受信されたブラウザベースのアプリケーションを、前記登録テーブルに登録するステップを含み、
前記方法は、さらに、
前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとのうち、前記ＩＰＴＶ関連イベントに基づいて選択されたアプリケーションを呼び出すステップと、
前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとのうち前記選択されたアプリケーションが、前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとのうち選択されなかったアプリケーションを起動するステップと
を有することを特徴とする請求項６に記載の方法。
【請求項１０】
セットトップボックス用のセッションマネージャであって、
前記セットトップボックスにおいて呼び出される少なくとも１つのインターネット・プロトコル・テレビジョン（ＩＰＴＶ）に関連したＩＰＴＶ関連アプリケーションを識別するための個別の識別情報を登録テーブルが含むよう、前記ＩＰＴＶ関連アプリケーションを前記登録テーブルに登録するアプリケーション登録部と、
前記セットトップボックスにおいて、ＩＰＴＶ関連アプリケーションを呼び出すことを必要とするＩＰＴＶ関連イベントが発生したことを検出するイベント検出部と、
前記ＩＰＴＶ関連イベントに基づいて、ＩＰＴＶセッションにおいて呼び出されるＩＰＴＶ関連アプリケーションであって、その識別情報が前記登録テーブルに登録されているＩＰＴＶ関連アプリケーションを選択するアプリケーション選択部と
を備え、
前記アプリケーション登録部は、前記セットトップボックスが配置されたホームネットワークに接続されているグローバルネットワークから前記セットトップボックス内に受信されたブラウザベースのアプリケーションを、前記登録テーブルに登録するように構成されており、
前記ブラウザベースのアプリケーションは、第１のＩＰＴＶ関連イベントに基づいて呼び出し可能なアプリケーションであり、
前記セットトップボックスにインストールされている組み込みアプリケーションは、前記第１のＩＰＴＶ関連イベントに基づいて呼び出し可能なアプリケーションであり、
前記登録テーブルは、前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとについて、それぞれの識別情報と、それぞれの呼び出しの優先順位が登録されており、
前記イベント検出部は、ＩＰＴＶに関連した前記ブラウザベースのアプリケーションまたは前記組み込みアプリケーションのアクティブ化を要求する前記第１のＩＰＴＶ関連イベントが発生したことを検出するように構成されており、
前記アプリケーション選択部は、前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとのそれぞれの識別情報と、それぞれの呼び出しの優先順位とに基づいて、前記ブラウザベースのアプリケーションまたは前記組み込みアプリケーションを選択するように構成されている
ことを特徴とするセッションマネージャ。
【請求項１１】
前記アプリケーション選択部が選択した前記ＩＰＴＶ関連アプリケーションを呼び出すアプリケーション呼び出し部をさらに備えることを特徴とする請求項１０に記載のセッションマネージャ。
【請求項１２】
前記イベント検出部は、前記セットトップボックスが配置されているホームネットワークに接続されたグローバルネットワークから未承諾のメッセージを受信したことを検出するように構成されており、
さらに、前記セッションマネージャは、
前記未承諾のメッセージからアプリケーション識別情報を抽出する識別情報抽出部と、
前記抽出したアプリケーション識別情報を、前記登録テーブルに登録されているＩＰＴＶ関連アプリケーションの識別情報と比較する識別情報比較部と、
をさらに備え、
前記抽出したアプリケーション識別情報と、前記登録テーブルに登録されているＩＰＴＶ関連アプリケーションの識別情報とが一致すると、前記登録テーブルに登録されている当該ＩＰＴＶ関連アプリケーションを選択することを特徴とする請求項１０または１１に記載のセッションマネージャ。
【請求項１３】
前記アプリケーション登録部は、前記セットトップボックスが配置されたホームネットワークに接続されているグローバルネットワークから前記セットトップボックス内に受信されたブラウザベースのアプリケーションを、前記登録テーブルに登録することを特徴とする請求項１０ないし１２のいずれか１項に記載のセッションマネージャ。
【請求項１４】
前記アプリケーション登録部は、前記グローバルネットワークから受信した前記ブラウザベースのアプリケーションのイニシャルスクリプトページに含まれている登録スクリプトを実行させることによって、前記ブラウザベースのアプリケーションについて、前記登録を実行することを特徴とする請求項１３に記載のセッションマネージャ。
【請求項１５】
前記アプリケーション登録部は、前記セットトップボックスにインストールされている組み込みアプリケーションを前記登録テーブルに登録することを特徴とする請求項１０ないし１４のいずれか１項に記載のセッションマネージャ。
【請求項１６】
前記アプリケーション登録部は、前記セットトップボックスにおいて実行されるファームウエア初期化シーケンスにおいて、前記組み込みアプリケーションについて前記登録を実行することを特徴とする請求項１５に記載のセッションマネージャ。
【請求項１７】
ユーザ入力に基づいて、前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとについての呼び出しの優先順位を前記登録テーブルに登録する優先順位登録部をさらに備えることを特徴とする請求項１０に記載のセッションマネージャ。
【請求項１８】
前記アプリケーション登録部は、
前記セットトップボックスが配置されたホームネットワークに接続されているグローバルネットワークから前記セットトップボックス内に受信されたブラウザベースのアプリケーションを、前記登録テーブルに登録するように構成されており、
前記セッションマネージャは、さらに、
前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとのうち、前記ＩＰＴＶ関連イベントに基づいて選択されたアプリケーションを呼び出すアプリケーション呼び出し部を備えており、
前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとのうち前記選択されたアプリケーションが、前記ブラウザベースのアプリケーションと前記組み込みアプリケーションとのうち選択されなかったアプリケーションを起動することを特徴とする請求項１５に記載のセッションマネージャ。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は一般にインターネットプロトコルテレビジョン（ＩＰＴＶ）に関するものであり、特に、ＩＰＴＶに関連するセッション管理に関する。
【背景技術】
【０００２】
ＩＰＴＶは世間に普及がはじまりつつあるシステムである。ＩＰＴＶでは、ディジタルテレビジョンおよびマルチメディアサービスが、ネットワーク基盤においてＩＰを使用して、家庭環境の中に存在するセットトップボックス（ＳＴＢ）に配信される。今日では、ＩＰＴＶは、ビデオオンデマンド（ＶｏＤ）およびライブＴＶサービスに最も頻度高く関わっている。しかしながら、ＩＰＴＶは、ウェブアクセスやボイスオーバＩＰ（ＶｏＩＰ）等の、インターネットサービスを提供することも可能である。ＩＰＴＶの別の特徴は、他のメディアサービスと統合するまたは他のメディアサービスに収斂する機会を与えることである。この機会は、主として、ＩＰＴＶ環境においてＩＰマルチメディアサービスを配信するためのアーキテクチャ構成を提供するＩＰマルチメディアサブシステム（ＩＭＳ）によって影響を受ける。セットトップボックスで使用することができる、このようなＩＭＳに基づくサービスは、ＩＰＴＶのユーザが互いに通信することを可能にするチャットや種々の異なるメッセージサービスを含む。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
今日では、セットトップボックスは、一般に、ＩＰＴＶに関連するアプリケーション（ＩＰＴＶ関連アプリケーション）を事前に搭載されており、これらのアプリケーションはＩＰＴＶセッションの間に呼び出す（ｉｎｖｏｋｅ）ことができる。これらのアプリケーションは、例えば、オーディオプレーヤ、ビデオプレーヤ、チャットアプリケーション等を含む。セットトップボックスは、ＩＰＴＶホームネットワークの中にセットトップボックスを設置した後に、このようなアプリケーションをセットトップボックスにダウンロードすることにより、さらに機能を強化することができる。従って、どちらの場合にも、セットトップボックスは、このようなローカルにインストールしたアプリケーション（この技術分野では組み込みアプリケーションまたはネイティブアプリケーションと呼ばれる）を、効率よく扱うよう、主として構成される。しかしそれでも、セットトップボックスの中に組み込まれた従来の組み込みアプリケーション以外にも、他のタイプのアプリケーションを扱うことに対する一般的な必要性が存在する。しかしながら、今日のセットトップボックスは、このような他のアプリケーションを効率よく扱うことができるようには構成されていない。
【０００４】
従って、セットトップボックスの中にローカルにインストールした組み込みアプリケーション以外にも、他のタイプのアプリケーションも扱い、呼び出すことができるセットボックスの技術に対する必要性が存在する。特に、セットトップボックスにおいて利用可能なアプリケーションを識別して、セットトップボックスの中に呼び込むことができるようにする必要性がある。
【０００５】
１つの目標は、ＩＰＴＶホームネットワークにおける効率のよいセッション管理を提供することである。
【０００６】
特に、ＩＰＴＶセッションにおいてＩＰＴＶアプリケーションの選定と呼び出しを容易にする技術を提供することを目標とする。
【０００７】
これらまたは他の目標は、添付の特許請求項によって規定するとともに、本明細書の中でさらに開示する実施形態によって達成される。
【課題を解決するための手段】
【０００８】
要約すれば、セッション管理の方法は、利用可能なＩＰＴＶに関連するアプリケーション（ＩＰＴＶ関連アプリケーション）を、セットトップボックスにアクセスすることができる登録テーブル（ｒｅｇｉｓｔｒａｔｉｏｎ  ｔａｂｌｅ）の中に登録するステップに関わる。登録テーブルの中に登録されたこれらのＩＰＴＶ関連アプリケーションは、セットトップボックスにおいて利用可能であり、必要に応じて起動することができるアプリケーションである。ＩＰＴＶ関連アプリケーションは、ブラウザベースのアプリケーションまたはウェブアプリケーションと呼ばれるアプリケーションであってよく、それらは、セットトップボックスの中にインストールするのではなく、ウェブブラウザの中で動作させるアプリケーションである。あるいはさらに、アプリケーションはセットトップボックスの中にインストールされている組み込みアプリケーションであってもよい。登録テーブルは、これらのＩＰＴＶ関連アプリケーションの情報の、極力完全なセットを備えることが望ましい。ＩＰＴＶ関連アプリケーションは、セットトップボックスの中にインストールされているかまたはセットトップボックスにおいてブラウザベースのアプリケーションとして利用可能である。
【０００９】
本セッション管理方法は、セットトップボックスにおいてＩＰＴＶ関連イベントを検出して、そのイベントを扱うために、ＩＰＴＶ関連アプリケーションを呼び出してアクティベーション（活性化）を要求するステップを備える。この場合、登録テーブルは、選定の対象として利用可能なＩＰＴＶ関連アプリケーションを識別することにより、ルックアップテーブルとして使用される。結局のところ、登録テーブルに登録されているＩＰＴＶ関連アプリケーションが選定される。そしてこのＩＰＴＶ関連アプリケーションが、セットトップボックスに呼び込まれて、検出したＩＰＴＶ関連イベントを管理することが望ましい。
【００１０】
実施形態は、セットトップボックスの中に配置されるよう適合されたセッションマネージャ（セッション管理装置）に関する。セッションマネージャは、セットトップボックスにおいて利用可能なＩＰＴＶ関連アプリケーションを登録テーブルに登録するためのアプリケーション登録部（アプリケーションレジスタ）を備える。ＩＰＴＶ関連アプリケーションを呼び出すことが要求されるいずれかのＩＰＴＶ関連イベントを検出するために、イベント検出器が設けられる。イベント検出器は、１つのＩＰＴＶ関連アプリケーションを選定するために設けられたアプリケーションセレクタ（選定部）を起動する。このＩＰＴＶ関連アプリケーションは、アプリケーションレジスタによって登録され、呼び出させてイベント検出器が検出したイベントを管理することができる。
【００１１】
このＩＰＴＶ関連イベントは、ＩＰＴＶ関連アプリケーションの活性化を必要とする、未承諾のメッセージ、または、計画されていないか、または、スケジュールされていない何か他のイベントを受信することであってもよいであろう。さらなる限定的でない例は、進行中のセッションが確立されている間に、１つ以上のタスクを扱うために、現在動作しているＩＰＴＶ関連アプリケーションが、別のＩＰＴＶ関連アプリケーションを活性化させる必要が生ずる場合である。
【００１２】
実施形態の登録テーブルは１つの情報源を構成する。この情報源によって、セットトップボックスおよびその中に含まれるアプリケーションおよび機能は、どのＩＰＴＶ関連アプリケーションがセットトップボックスにおいて利用可能であるかを知ることができるようになる。このＩＰＴＶ関連アプリケーションは特に、ブラウザベースのアプリケーションと呼ばれるアプリケーションであり、セットトップボックスの中にローカルにインストールされたアプリケーションではなく、ウェブブラウザの中で動作するアプリケーションである。登録テーブルは、ＩＰＴＶ関連アプリケーションが互いに活性化および起動をすることを可能とし、さらに、未承諾のメッセージおよび予期しない他のイベントを扱うための効率のよいツールを提供する。未承諾のメッセージおよび予期しない他のイベントに対しては、セットトップボックスは予期せず、従って、メッセージまたはイベントを予期しているアプリケーションとして、現在動作しているアプリケーションも待機しているアプリケーションも有してはいないのである。
【００１３】
本実施形態と、それらのさらなる目的および特徴は、以下の記述と添付の図面を参照することにより、最もよく理解することができるであろう。
【図面の簡単な説明】
【００１４】
【図１】ＩＰＴＶ分配ネットワークの外観図である。
【図２】１つの実施形態に従ったセッション管理方法を示すフローチャートである。
【図３】１つの実施形態に従った登録テーブルを示す図である。
【図４】１つの実施形態に従ったセッション管理方法の追加的なステップを示すフローチャートである。
【図５】１つの実施形態に従ったセッション管理方法の１つの追加的なステップを示すフローチャートである。
【図６】１つの実施形態に従ったセットトップボックス（ＳＴＢ）のブロック図である。
【図７】１つの実施形態に従ったセッションマネージャのブロック図である。
【発明を実施するための形態】
【００１５】
図面を通して、同じ参照番号は同様のまたは対応する要素を示すために使用されている。
【００１６】
実施形態は、インターネット・プロトコル・テレビジョン（ＩＰＴＶ）、特に、ＩＰＴＶシステムまたはＩＰＴＶネットワークにおけるセッション管理に関する。
【００１７】
図１はこのようなＩＰＴＶシステムの外観図を示す。ＩＰＴＶシステムは、基本的に、相互に接続された２つのネットワーク、すなわち、ホームネットワーク１およびグローバルネットワーク２を備える。グローバルネットワーク２は、ネットワーク事業者によって管理されるか、またはネットワーク事業者によって運用されるプロプライエティネットワークであってよい。あるいは、グローバルネットワーク２は、管理されないネットワーク、またはオープンネットワーク（典型的には、本技術分野でオープンインターネットと呼ばれるネットワーク）である。どちらの場合も、グローバルネットワーク２は１つ以上のコンテンツプロバイダ７０を備え、コンテンツプロバイダ７０は、ホームネットワーク１の中に存在するユーザ装置またはセットトップボックス５０に分配される可能性があるメディアコンテンツにアクセスすることができる。これらのコンテンツプロバイダ７０は、ネットワークによって準備されたプロバイダ、または個別コンテンツプロバイダ、またはさらに、現在の消費者が生成したメディアであって、他のそれぞれのホームネットワークの中のユーザから見て利用可能な形式をしたメディアであってもよい。
【００１８】
これらのメディアは、一般に、１つ以上のＩＰＴＶプロバイダ８０およびアクセスプロバイダ９０を通してホームネットワーク１で利用可能である。前者はＩＰＴＶシステムのユーザに対してＩＰＴＶサービスを提供する、ネットワークに設けられたエンティティを代表し、後者は、提供するサービスの実際の転送とアクセスとを、ホームネットワーク１に対して提供する。
【００１９】
図１に示されているグローバルネットワーク２は、ＩＰＴＶシステムのグローバルネットワーク部分の単なる例示であると見るべきである。本図面に示されているネットワークエンティティと比較してより多くの、または、より少ない数のネットワークエンティティを備える他のネットワークによる解決策も、本実施形態の教示に対していずれの影響も与えることもなく、代替として使用することができる。例えば、いくつかのネットワークにおいては、単一の事業者またはサーバが全てまたはいくつかの機能（すなわち、コンテンツプロバイダ７０、ＩＰＴＶプロバイダ８０、およびアクセスプロバイダ９０）の役割を果たすことができる。
【００２０】
ホームネットワーク１は、時には、宅内ネットワーク（ｒｅｓｉｄｅｎｔｉａｌ  ｎｅｔｗｏｒｋ）または消費者ネットワーク（ｃｏｎｓｕｍｅｒ  ｎｅｔｗｏｒｋ）と呼ばれ、いくつかの実施形態の中では、イーサネット（登録商標）または既存のワイヤホームネットワーキング技術（ＨｏｍｅＰＮＡ（Ｈｏｍｅ  Ｐｈｏｎｅｌｉｎｅ  Ｎｅｔｗｏｒｋｉｎｇ  Ａｌｌｉａｎｃｅ）またはＴｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ  Ｓｅｃｔｏｒ（ＩＴＵ−Ｔ）Ｇ．ｈｎ標準規格）の内の１つに基づくことができる。これらは、既存の家庭内の結線を使用して高速なローカルエリアネットワークを創造する可能性を提供する。
【００２１】
ホームネットワーク１のデバイス２０〜６０は、一般に、２つのネットワーク１および２の間のインタフェースを提供するゲートウェイ（ＧＷ）１０を通してグローバルネットワーク２に相互接続される。このゲートウェイ１０は、ホームネットワーク１からグローバルネットワーク２にデータ（ユーザが生成するＩＰＴＶサービス要求等）を転送し、グローバルネットワーク２からホームネットワーク１にデータ（ＩＰＴＶサービスおよび関連するメディア等）を転送するという点に関して、ルータと同様な様式で動作する。
【００２２】
ホームネットワーク１は、オプションとして、ホームＩＭＳゲートウェイ（ＨＩＧＡ：Ｈｏｍｅ  ＩＰ  Ｍｕｌｔｉｍｅｄｉａ  Ｓｕｂｓｙｓｔｅｍ  Ｇａｔｅｗａｙ）２０を備えることができる。ＨＩＧＡ２０は、一般に、ホームネットワーク１の中でＩＭＳ端末を管理するとともに他と連係して動作する。従って、ＨＩＧＡ２０は、ＩＭＳ動作可能な１つ以上のデバイス３０、４０（図中では、限定的でない例として移動電話機３０およびコンピュータ／ラップトップ４０で表されている）と結線接続または無線接続を有することができる。
【００２３】
ホームネットワーク１は１つ以上のセットトップボックス（ＳＴＢ）５０をさらに備える。セットトップボックス５０はＩＰＴＶメディアを処理して再生することが可能なデバイスである。ホームネットワーク１においてセットトップボックス５０の役割を担うことができるユーザ装置およびユーザデバイスは非常に多くの数の異なるものが存在する。いくつかの限定的でない例は、復号器、コンピュータ等を含み、これらはＩＰＴＶプロバイダ８０およびゲートウェイ１０からメディアデータを受信し、メディアデータを処理する（すなわち、メディアデータを復号化して、セットトップボックスに含まれたまたは接続された表示スクリーン６０の上に再生する）能力を有する。ディジタルＴＶシステムにおける従来の復号器およびセットトップボックスと比較して、ＩＰＴＶシステムにおいては、セットトップボックス５０はＩＰネットワークの上で双方向通信を提供し、ストリーミングされているメディアの復号化を可能にする。本実施形態に従えば、ゲートウェイ１０と無線で通信を行う移動デバイスもまた、セットトップボックスとして動作することができる。
【００２４】
以下では、セットトップボックス５０は任意のユーザ装置またはユーザデバイスを示すのに使用する。ここで、このユーザ装置またはユーザデバイスは、ホームネットワーク１の中に提供されて、１人以上のユーザにＩＰＴＶサービスを提供する目的のアプリケーションを動作させることができ、ＩＰＴＶ関連のメディアを処理して、接続された表示スクリーン６０の上に表示する機能（ビデオ、画像、テキスト等のメディア形式等に対して）、および／または接続されたスピーカで再生する機能（オーディオのメディア形式等に対して）を有することができるとする。
【００２５】
ＩＰＴＶはマルチメディアサービスを包含すると広く解釈されるべきである。このマルチメディアサービスは、テレビジョン、ビデオ、オーディオ、テキスト、グラフィックス、データ等であって、これらはＩＰに基づくネットワークを通してホームネットワークの中のユーザ装置に配信され、そこでメディアのローカルな処理（すなわちメディアの表示および／または再生）が実行される。
【００２６】
セットトップボックス５０は一般に、ユーザにＩＰＴＶサービスを提供する種々のＩＰＴＶ関連アプリケーションを備える、または、それらを動作させることができる。従来のＩＰＴＶシステムでは、これらのＩＰＴＶ関連アプリケーションは、主として、組み込みアプリケーションまたはネイティブアプリケーションの形式をしていた。このような組み込みアプリケーションはセットトップボックス５０においてローカルにインストールされて動作する。従って、セットトップボックス５０は、このようなインストールした組み込みアプリケーションを事前に搭載しておくか、またはアプリケーションはセットトップボックス５０をホームネットワーク１の中に設置した後にセットトップボックス５０にダウンロードすることもできる。このような組み込みＩＰＴＶ関連アプリケーションの例は、チャットアプリケーション、電子プログラムガイド（ＥＰＧ）アプリケーション、およびローカルパーソナルビデオレコーダ（ｌＰＶＲ：Ｌｏｃａｌ  Ｐｅｒｓｏｎａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）アプリケーションを含む。
【００２７】
ＩＰＴＶ分野における傾向は、ブラウザベースのアプリケーションまたはウェブアプリケーションと呼ばれるアプリケーションでもって、組み込みアプリケーションを補完する、または、可能ならば変更さえもするという方向にある。これらのアプリケーションは、ＩＰＴＶ分野の中ではしばしばＤＡＥ（Ｄｅｃｌａｒａｔｉｖｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｅｎｖｉｒｏｎｍｅｎｔ）アプリケーションと呼ばれている。組み込みアプリケーションとの明らかな違いは、ブラウザベースのアプリケーションは、インターネットまたはイントラネット等のネットワークを通してウェブブラウザを介してアクセスするという点である。ブラウザベースのアプリケーションは、一般的に、ブラウザが支持する言語で符号化されたソフトウェアアプリケーションであり、これらの言語には、ＨＴＭＬ（ＨｙｐｅｒＴｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）、ＪａｖａＳｃｒｉｐｔ、Ｊａｖａ（登録商標）、ＥＣＭＡＳｃｒｉｐｔ、等がある。ブラウザベースのアプリケーションは、アプリケーションをウェブブラウザによって実行可能な形に変換する。
【００２８】
組み込みアプリケーションに対して、ブラウザベースのアプリケーションの主要な利点は、ＩＰＴＶシステムにおける、それぞれのまた全てのセットトップボックス５０にソフトウェアを配信およびインストールせずに、アプリケーションを更新し保持することができる能力である。
【００２９】
ブラウザベースのＩＰＴＶ関連アプリケーションは、特に、チャットアプリケーションおよびネットワークパーソナルビデオレコーダ（ｎＰＶＲ：Ｎｅｔｗｏｒｋ  Ｐｅｒｓｏｎａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ）アップリケーションを含む。
【００３０】
一般に、殆ど全てのＩＰＴＶアプリケーションタイプは、ブラウザベースのアプリケーションの形式で、および組み込みアプリケーションとして提供することができる。後者のタイプは、典型的に、セットトップボックスの中に事前にインストールされていて、これは、セットトップボックスの製造業者またはそのパートナの内の１つが生成することができる。ブラウザベースのアプリケーションは一般的に、セットトップボックスの製造業者との関係はなく、むしろＩＰＴＶサービスプロバイダにより多く関係している。
【００３１】
ＩＰＴＶ関連アプリケーションのこれらの異なるタイプによって、セットトップボックス５０に対する新しい需要が生まれている。特に、同一のセットトップボックス５０において、チャットアプリケーション等の、同じタイプのＩＰＴＶ関連アプリケーションが、組み込みアプリケーションとして、およびブラウザベースのアプリケーションとして利用可能である場合である。本明細書において開示する実施形態は、セットトップボックス５０に対するこの挑戦を効果的に取り扱うものである。
【００３２】
図２は、１つの実施形態に従ったセッション管理方法を示すフローチャートである。本方法は、一般的にステップＳ１で開始され、ステップＳ１においては、少なくとも１つのＩＰＴＶ関連アプリケーションが、ホームネットワークの中に存在する登録テーブルまたはレジスタ（これらはセットトップボックスの中にローカルに存在することが望ましい）に登録される。登録テーブルに関しては、セットトップボックスの中にローカルに設けられることが望ましい。これは、ホームネットワークは、利用可能な種々の異なるタイプのＩＰＴＶ関連アプリケーションを持つ複数のセットトップボックスを備えることができるからである。ホームネットワークの中に存在するＨＩＧＡの中またはホームサーバの中等、登録テーブルをホームネットワークの中で半ばリモート（遠隔）に配置する場合には、それぞれの登録テーブルは、その登録テーブルが関係する特定のセットトップボックスの識別情報を備えなければならない。
【００３３】
ステップＳ１において登録テーブルの中に登録されたＩＰＴＶ関連アプリケーションは、セットトップボックスにおいて呼び出し、ユーザにサービスを提供することができるＩＰＴＶ関連アプリケーションである。このようなＩＰＴＶ関連アプリケーションの限定的でない例は、以下のアプリケーションを含む。
【００３４】
ＥＰＧ：    Ｅｌｅｃｔｒｏｎｉｃ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ      ＩＰＴＶコンテンツとメディアに対するスクリーン上でのガイドであり、これによりユーザは、例えば、時間、題名、チャネル、ジャンル等によって、メディアコンテンツをナビゲート、選定、および発見することができる。
【００３５】
ｌｏｇｉｎ：    新しいユーザがＩＰＴＶシステムにログインすることを可能とするログインアプリケーションである。このログインアプリケーションは、典型的に、これが起動されると現在のユーザをログアウトさせる。
【００３６】
ＰＶＲ：Ｐｅｒｓｏｎａｌ  Ｖｉｄｅｏ  Ｒｅｃｏｒｄｅｒ      ディスクドライブまたは他の記憶媒体にビデオをディジタル形式で記録するアップリケーションである。
【００３７】
ｌＰＶＲ：    Ｌｏｃａｌ  ＰＶＲ‐セットトップボックスの中または接続された記憶媒体の上にビデオコンテンツをローカルに記録するＰＶＲアプリケーションである。
【００３８】
ｎＰＶＲ：    Ｎｅｔｗｏｒｋ  ＰＶＲ      ＰＶＲアプリケーションであり、記録されたビデオコンテンツをＩＰＴＶサービスプロバイダドメインに、このアプリケーションによって記憶する。ユーザは、スケジューリングしたコンテンツプログラムの記録（レコーディング）をスケジューリングして、その記録したコンテンツを後ほど選定してセットトップボックスにおいて再生することができる。
【００３９】
ＣｏＤ：    Ｃｏｎｔｅｎｔ  ｏｎ  Ｄｅｍａｎｄ      利用可能コンテンツのリストからユーザが見たい個々のコンテンツ項目を選定することができるアプリケーションであり、よく知られたビデオオンデマンド（ＶｏＤ：Ｖｉｄｅｏ  ｏｎ  Ｄｅｍａｎｄ）の場合を含む。
【００４０】
Ｓｃｈｅｄｕｌｅｄ：    Ｓｃｈｅｄｕｌｅｄ  Ｃｏｎｔｅｎｔ  ＥＰＧ      プレイアウトスケジュールがユーザ以外のエンティティによって固定されているアプリケーションであり、コンテンツはユーザに配信されて直ちに消費される。
【００４１】
ＩＭＳ：    ＩＰ  Ｍｕｌｔｉｍｅｄｉａ  Ｓｕｂｓｙｓｔｅｍ      セットトップボックスにＩＰマルチメディアサービスを配信するためのアプリケーションであり、種々のアプリケーション例（例えば、チャット、インスタントメッセージ、プレゼンスサービス、コンタクトリストサービス等）を含む。
【００４２】
上記に挙げたアプリケーションタイプの例は、オープンＩＰＴＶフォーラム（Ｏｐｅｎ  ＩＰＴＶ  Ｆｏｒｕｍ）リリース１で規定されている。しかし、これらは、本発明が規定するＩＰＴＶ関連アプリケーションの単なる例示であると見るべきである。従って、オープンＩＰＴＶフォーラムによって現在規定されていない他のタイプの組み込みアプリケーションまたはブラウザベースの（ＤＡＥ）アプリケーションもまた、本発明の実施形態に関連して使用することができる。
【００４３】
ＩＰＴＶ関連アプリケーションは一般的に、進行中のＩＰＴＶセッションと並行して呼び出して動作させることができる。例えば、ＶｏＤセッションの間にビデオを見ているユーザは、そのビデオセッションの間に、彼／彼女の友人の内の１人からチャットメッセージを受信することができる。あるいは、このようなチャットメッセージは、受信をして、進行中のＩＰＴＶセッションの外側でセットトップボックスにおいて扱って、それによって、セットトップボックスにおいてチャットセッション（すなわち、新しいＩＰＴＶセッション）を開始することさえもできるであろう。
【００４４】
ステップＳ１におけるアプリケーション登録では、ＩＰＴＶ関連アプリケーションのそれぞれの識別情報を登録テーブルの中に入力して書き込む。従って登録テーブルは、セットトップボックスにおいて利用可能な種々の異なるＩＰＴＶ関連アプリケーションをリストするであろう。これは、これらのアプリケーションが、セットトップボックスの中にローカルに搭載されている（すなわち、組み込みアプリケーション）か、またはブラウザベースのアプリケーションの形で利用可能であるかに拘わらず行われる。
【００４５】
アプリケーションの登録は、セットトップボックスの運用開始、または少なくとも１つのＩＰＴＶセッションの開始の後すぐに実行されることが望ましい。組み込みアプリケーションはセットトップボックスの中に既に存在し、従って、ファームウェア初期化シーケンスの一部として登録テーブルの中に登録することができる。ブラウザベースのアプリケーションは、それらをブラウザ環境の中で動作させるときになって初めて利用可能となるだけである。従ってそれらの登録は、アクセスしたアプリケーションのイニシャル（開始）ウェブページ（ＨＴＭＬ／ＥＣＭＡＳｃｒｉｐｔページ）の中に登録スクリプトを含めることにより実行することができる。
【００４６】
好適な実施形態においては、ステップＳ１は動的な操作として実行される。この動的な操作は、セットトップボックスにおいて新しいアプリケーション（特にブラウザベースのアプリケーション）が利用可能になった時に、または古いアプリケーションがもはや利用可能でなくなったときに、登録テーブルが更新されることを意味する。従って、登録テーブルは、静的なリストではなくて、動的に更新され、セットトップボックスによって呼び出すことができるブラウザベースのアプリケーションおよび組み込みアプリケーションの現在のセットを反映するものであることが望ましい。
【００４７】
ある特定な実施形態においては、ステップＳ１のアプリケーション登録は、セットトップボックスの中に存在するＯＩＴＦ（オープン  ＩＰＴＶ  ターミナルファンクション）ＡＰＩ（アプリケーション・プログラミング・インタフェース）によって実行することができる。関数型言語では、ＯＩＴＦＡＰＩは関数ＩＤｒｅｇｉｓｔｅｒＯＩＴＦＡｐｐｌｉｃａｔｉｏｎ（ＯＩＴＦＡｐｐｌｉｃａｔｉｏｎ）を動作させてＩＰＴＶ関連アプリケーションを登録テーブルの中に登録する。従って、それぞれのＩＰＴＶ関連アプリケーションは、特定な実施形態では下記で定義をするＯＩＴＦＡｐｐｌｉｃａｔｉｏｎオブジェクトと呼ばれるオブジェクトとして扱うことができる。
Ｎｕｍｂｅｒ  ＩＤ［Ｒ］：    ＩＤはアプリケーションのユニークな識別情報である。
Ｓｔｒｉｎｇ  Ａｐｐｎａｍｅ［ＲＷ］：    Ａｐｐｎａｍｅは、「ＥＰＧ」または「Ｃｈａｔｔｉｎｇ」等のアプリケーションの名前を表す。
Ｓｔｒｉｎｇ  ｓｈｏｒｔＤｅｓｃｒｉｐｔｉｏｎ［Ｒ］：    ｓｈｏｒｔＤｅｓｃｒｉｐｔｉｏｎは、最大文字数３０等の、アプリケーションに関する短い記述を提供する。
Ｓｔｒｉｎｇ  ｌｏｎｇＤｅｓｃｒｉｐｔｉｏｎ［Ｒ］：    ｌｏｎｇＤｅｓｃｒｉｐｔｉｏｎは、最大文字数２５５等の、アプリケーションに関するより詳細な記述を提供する。
Ｓｔｒｉｎｇ  ｔｙｐｅ：    ｔｙｐｅはアプリケーションのタイプを示す。ＩＰＴＶ関連アプリケーションの例は上記で与えられている。
Ｏｂｊｅｃｔ  ｉｃｏｎ：    ｉｃｏｎは、望ましくは２つのアトリビュート（ａｔｔｒｉｂｕｔｅ：属性）を持つオブジェクトである。
．ａｃｔｉｖｅ：    アプリケーションが活性である時に、アイコンにＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）を提供する。
．ｉｎａｃｔｉｖｅ：    アプリケーションが不活性である時に、アイコンにＵＲＬを提供する。
Ｂｏｏｌｅａｎ  ｐｒｉｏｒｉｔｉｚｅｄ：    ｐｒｉｏｒｉｔｉｚｅｄは、いくつかの登録されたアプリケーションが同じ基準を満足する場合に、どのアプリケーションを起動するかを判定するために使用する呼び出し優先順位（ｉｎｖｏｋｅｒ  ｐｒｉｏｒｉｔｙ）を表す。
Ｏｂｊｅｃｔ  ＤＡＥ：    ＤＡＥは、アプリケーションがブラウザベースのアプリケーションである場合に存在するオブジェクトであり、望ましくは以下に示す２つのアトリビュートを備える。
．ｃａｌｌｂａｃｋ：    アプリケーションが活性化させるべきである場合に実行されるコールバック関数を提供する。
．ＵＲＬ：    アプリケーションのＵＲＬを表す。これは、アプリケーションが既にＤＡＥ（ｄｅｃｌａｒａｔｉｖｅ  ａｐｐｌｉｃａｔｉｏｎ  ｅｎｖｉｌｏｎｍｅｎｔ）の中で（すなわち、ブラウザの中で）動作している場合にはオプションである。
Ｏｂｊｅｃｔ  ＩＭＳ：    ＩＭＳは、アプリケーションがＩＭＳアプリケーションタイプである場合に存在するオブジェクトであり、望ましくは以下に示すオプションのアトリビュートを備える。
．ａｐｐｉｄ：    あるアプリケーション識別情報を持つＩＭＳメッセージが届いた時に、どのアプリケーションを起動するかを判定するために使用することができるＩＭＳアプリケーション識別情報を表す。あるいは、ＩＡＲＩ（ＩＭＳ  Ａｐｐｌｉｃａｔｉｏｎ  Ｒｅｆｅｒｅｎｃｅ  Ｉｄｅｎｔｉｆｉｅｒ）を使用することもできる。
．ｉｃｓｉ：    あるアプリケーション識別情報を持つＩＭＳメッセージが届いた時に、どのアプリケーションを起動するかを判定するために使用することができるＩＭＳ通信サービス識別情報を表す。
．ｍｅｓｓａｇｅｔｙｐｅｓ：アプリケーションが扱う、セッション開始プロトコル（ＳＩＰ：Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）メッセージタイプ等のメッセージタイプのアレイを提供し、．ａｐｐｉｄまたは．ｉｃｓｉが存在しない時に、どのアプリケーションを起動するかを判定するために使用することができる。
【００４８】
図３は、１つの実施形態に従った登録テーブル１７０と、登録されたＩＰＴＶ関連アプリケーションに対してその中に含むことができる情報の可視表現である。登録テーブル１７０は、上記で示したＯＩＴＦＡｐｐｌｉｃａｔｉｏｎオブジェクトと適合するようにアプリケーション識別情報を備え、また、アプリケーション名、アプリケーション記述（短いおよび／または長い（Ｓ／Ｌ）記述）、アプリケーションタイプ、活性および／または不活性なアプリケーションを示すアイコン、好ましい呼び出し優先順位の形をした追加的な情報を備えることが望ましい。ＤＡＥフィールドは、ブラウザベースのアプリケーションに対しては必須であることが望ましいが、組み込みアプリケーションに対しては省略されるか空であることが望ましい。従って、このＤＡＥフィールドは、ブラウザベースのアプリケーションと組み込みアプリケーションとを区別するための、有効かつ簡単な識別情報として使用することができる。ＤＡＥフィールドが存在すれば（すなわち、ブラウザベースのアプリケーションに対しては）、ＤＡＥフィールドは、上記で記述したコールバック情報および／またはＵＲＬ情報を備えることが望ましい。それに対応して、ＩＭＳフィールドは、非ＩＭＳＩＰＴＶ関連アプリケーションに対しては省略されるか空であることが望ましいが、ＩＭＳアプリケーションに対しては必須であることが望ましい。後者の場合には、ＩＭＳフィールドは、上記で挙げたいずれのアプリケーション識別情報も、またさらにＩＭＳ通信サービス識別情報、およびメッセージタイプ情報も含むことができる。
【００４９】
図２に戻ると、少なくとも１つのアプリケーションが登録テーブルに登録されると、このテーブルはＩＰＴＶセッションの管理に使用することができる。これはステップＳ２およびＳ３に開示されている。次のステップＳ２では、セットトップボックスにおいてＩＰＴＶ関連アプリケーションを呼び出すまたは起動することを要求するＩＰＴＶ関連イベントを検出する。従って、ステップＳ２で検出されたイベントによって、セットトップボックスにおいて、不活性なＩＰＴＶ関連アプリケーションの活性化、または、既に活性であるＩＰＴＶ関連アプリケーションの起動またはコールバックが必要になる。
【００５０】
ステップＳ２における検出は次のステップＳ３を駆動し、ステップＳ３では、検出したＩＰＴＶ関連イベントに基づいてまたそれに応答して、ステップＳ１においてコンパイルした登録テーブルを使用してＩＰＴＶアプリケーションを選定する。従って、ステップＳ３において選定したアプリケーションは、ステップＳ１において登録テーブルの中に登録されたＩＰＴＶ関連アプリケーションの内の１つである。
【００５１】
従って、ステップＳ２においてＩＰＴＶ関連イベントを検出したということは、セットトップボックスにおいてＩＰＴＶ関連アプリケーションの呼び出しが必要であることを示している。従来技術では、セットトップボックスは、ＩＰＴＶ関連イベント（特に、未承諾または予期しないイベント）で使用するために利用可能な異なるアプリケーションの指示は何も有してはいなかった。さらに、ブラウザベースのアプリケーションは、恐らくは現在動作しているブラウザベースのアプリケーションを除いては、セットトップボックスには未知であるであろう。従来技術のセットトップボックスは、未承諾ベントが検出された場合には、現在動作しているいずれかのＩＰＴＶ関連アプリケーションの使用に限定されて、セットトップボックスに呼び出すことが可能と考えられるアイドル（ｉｄｌｅ）または不活性ないずれのアプリケーションに関する情報も有してはいなかった。
【００５２】
本実施形態の登録テーブルは、検出したＩＰＴＶ関連イベントに応答して呼び出すことができる、活性および不活性なアプリケーション（望ましくは、ブラウザベースのアプリケーションと組み込みタイプのアプリケーションの両方）の全てをリストする、完全でかつ適切な情報源を提供することにより、これらの問題を解決する。従って、登録テーブルは、セットトップボックスにおいてＩＰＴＶ関連イベントを扱うために選定することができる利用可能なアプリケーションのカタログであると見ることができる。ステップＳ３において選定されるこの特定なアプリケーションは、特定なＩＰＴＶ関連イベント、およびアプリケーション、およびユーザの嗜好に依存して、ブラウザベースのアプリケーションまたは組み込みアプリケーションであることができる。アプリケーションとユーザの嗜好とに関しては本明細書でさらなる記述を加える。
【００５３】
ステップＳ３において登録テーブルに基づいて選定したＩＰＴＶ関連アプリケーションは、検出したＩＰＴＶ関連イベントを扱う目的のためにオプションのステップＳ４において呼び出されることが望ましい。そして、本方法は終了する。
【００５４】
図４は、図２におけるイベント検出ステップＳ２のある特定な実施形態を示すフローチャートである。本方法は図１のステップＳ１から継続する。次のステップＳ１０において未承諾のメッセージを検出する。このメッセージはセットトップボックスによって受信される。このメッセージは典型的に、ゲートウェイからセットトップボックスに転送されたものであり、一般に、ＩＰＴＶネットワークに設けられているデバイスまたは別のＩＰＴＶユーザによって生成されたものである。未承諾のメッセージに対しては、メッセージを渡すことができる活性なＩＰＴＶダイアログまたはアプリケーションはなにもない。理由は、メッセージは予期されないものであり、セットトップボックスおよび現在動作しているいずれのアプリケーションも、この未承諾のメッセージを受信して処理するように準備はされていないからである。このことは、セットトップボックスにとっては、どのアプリケーションを使用してこのメッセージを処理するべきか、および、上記で記述したように、どのアプリケーションがセットトップボックスにおいて利用可能であり、そのメッセージを処理するために起動可能であるかが明白でないということを意味する。
【００５５】
未承諾のメッセージは、典型的に、チャット要求またはメッセージサービス等の、ＩＭＳメッセージである。これらのメッセージは、一般に、ＩＰＴＶシステムを使用している現在のユーザと通信セッションを開始したいと望む別のＩＰＴＶユーザから生成されたものである。
【００５６】
次のステップＳ１１において、未承諾のメッセージから、典型的には未承諾のメッセージのヘッダ部分から、アプリケーション識別情報の形の情報を抽出する。この抽出した情報によって、そのメッセージを処理するために呼び出すべきアプリケーションタイプの識別が可能になる。従って、アプリケーション識別情報として役立つこの情報は、以前記述した、ａｐｐｉｄアトリビュート、ｉｃｓｉアトリビュート、ｉａｒｉアトリビュート、および／またはｍｅｓｓａｇｅｔｙｐｅｓアトリビュートであってよい。アプリケーションを識別するために（特に、非ＩＭＳアプリケーションに対して）使用することができる他のタイプの情報は、上記で挙げたａｐｐＮａｍｅデータフィールドおよびｔｙｐｅデータフィールドを含む。
【００５７】
抽出したアプリケーション識別情報は、その後ステップＳ１２において、登録テーブルの中に存在する対応するアプリケーション識別情報および情報と比較される。未承諾のメッセージを処理するために適切な、１つ以上の登録されたアプリケーションが識別されて、その内の１つが図２のステップＳ３において選定されることが望ましい。
【００５８】
従って、登録テーブルは、未承諾のメッセージの受信に関連して、または、ＩＰＴＶ関連アプリケーションの呼び出しを要求する他の未承諾ＩＰＴＶ関連イベントを検出した後の、ルックアップテーブルとして使用される。従って、登録テーブルは、何のＩＰＴＶ関連アプリケーションがセットトップボックスにおいて利用可能であるか、また、何のアプリケーションまたはどのアプリケーションが、受信した未承諾のメッセージまたは検出したＩＰＴＶ関連イベントを扱うのに適しているか検証するために要求される全ての情報を備える。
【００５９】
いくつかの場合には、ＩＰＴＶ関連イベントを受信した後に呼び出すことが可能であると考えられる、登録された複数のＩＰＴＶ関連アプリケーションの間で競合が生ずる可能性があるであろう。例えば、また図３を参照すると、セットトップボックスにおいてチャット要求を受信した可能性があり、その結果、そのチャット要求はチャットに基づくＩＭＳアプリケーションの起動を要求する。図３に示す登録テーブル１７０を有するセットトップボックスの場合には、このような２つのチャットアプリケーションが以前に登録されている。第１のアプリケーションは組み込みアプリケーションであるが、第２のアプリケーションはブラウザベースのアプリケーションである。従って、２つの異なるＩＰＴＶ関連アプリケーションの間で競合が生ずる。この場合、チャット要求を扱うためにどちらのアプリケーションも呼び出される可能性がある。複数の組み込みアプリケーションおよび／または複数のブラウザベースのアプリケーションが登録テーブル１７０に登録されていて、これらのアプリケーションが同じＩＰＴＶ関連イベントを処理するために使用することができる場合には、無論のことながら、同様の状況が起こりえる。
【００６０】
１つの実施形態では、以前挙げた呼び出し優先順位を、登録テーブル１７０の中にパラメータまたはフィールドとして導入することにより、この問題を解決する。呼び出し優先順位は、複数の競合するＩＰＴＶ関連アプリケーションに対して、嗜好する呼び出し順序を定義するポリシーまたはルールであると考えることができる。従って、登録された複数のアプリケーションが利用可能であって、それらはＩＰＴＶ関連イベントを処理するために呼び出すことが可能であろうと結論づけられた場合には、これらのアプリケーションに対する呼び出し優先順位が検討され比較される。検出したイベントに応答して呼び出すことに対する要求条件を満足し、かつ呼び出し優先順位の比較から最も優先順位が高いと判定されたＩＰＴＶ関連アプリケーションは、選定されてイベントを扱うために呼び出される。
【００６１】
種々の異なるタイプの呼び出し優先順位を使用することができ、これらは本実施形態の範囲の中にある。例えば、図３に示すように、整数の形をした簡単な数値を使用することができる。ある実施形態においては、アプリケーションは、より低い優先順位値に対して、より高い優先順位を有する。あるいは、より高い優先順位のアプリケーションはより高い優先順位値を有する。一例として、優先順位値０は低い優先順位を示すことができるであろう。そして、１は中程度の優先順位を示し、２は高い優先順位を示す。優先順位が高いまたは低い等、少なくとも２つの優先順位レベルが存在することが望ましいことがわかる。しかし、３つ以上の異なる優先順位レベルも無論使用することができる。
【００６２】
登録したＩＰＴＶ関連アプリケーションに対する呼び出し優先順位は、種々の実施形態に従って決定することができる。第１の例では、それぞれのアプリケーションは所定のデフォルトの呼び出し優先順位を有し、これらは、アプリケーションの製造業者または分配業者が設定することができる。この場合には、これらのデフォルトの呼び出し優先順位は、対応するアプリケーションを登録する時に登録テーブル１７０に入力される。
【００６３】
あるいはさらに追加として、セットトップボックスのユーザは、セットトップボックスを通して利用可能なＩＰＴＶ関連アプリケーションの少なくともいくつかに対して呼び出し優先順位を設定することができる。従ってユーザは、ユーザが嗜好する１つのアプリケーションまたは複数のアプリケーションに対してより高い優先順位を与え、および／またはあまり嗜好しないアプリケーションに対しては低い優先順位を設定することにより、どのアプリケーションが、種々の異なるタイプのＩＰＴＶ関連イベントに対して使用されるべきかを選択することができる。
【００６４】
ユーザが実行する優先順位の設定または変更は、任意の時に実行することができ、それによって、以前に設定した呼び出し優先順位を変更する可能性が与えられることが望ましい。ある実施形態においては、ＩＰＴＶアプリケーションがセットトップボックスに起動または搭載される最初の時に、呼び出し優先順位を与えるようユーザを促すようにすることもできるであろう。設定された優先順位値は、ＩＰＴＶ関連アプリケーションに対してそのアプリケーションに特化した他の情報と共に記憶される。しかしながら、以前述べたように、ユーザには以前に設定した呼び出し優先順位を変更する可能性が与えられることが望ましい。
【００６５】
ＩＰＴＶ関連アプリケーションがデフォルトの呼び出し優先順位をなにも有しておらず、ユーザもそのアプリケーションに対して、まだいずれの優先順位も設定していない場合には、そのＩＰＴＶ関連アプリケーションには、登録テーブル１７０に以前に登録した所定の呼び出し優先順位を与えることもできるであろう。このような所定の呼び出し優先順位は、中程度または低い優先順位に対応することが望ましい。
【００６６】
登録テーブルは、未承諾のメッセージを受信した後、また、計画していない／まだスケジューリングしていないＩＰＴＶ関連イベントを検出した後に呼び出すべきＩＰＴＶ関連アプリケーションを選定するために使用することができるばかりではない。現在動作しているＩＰＴＶ関連アプリケーションは、起動するべき適切なアプリケーションを見いだすための情報源として登録テーブルを使用して、現在のＩＰＴＶセッションにおけるいくつかの処理を扱うことができる。例えば、ユーザに電子プログラムガイドを表示しているＩＰＴＶセッションが進行中に、ユーザに対してオーディオメディアのプレイアウトが要求される。このため、ＩＰＴＶセッションのこのサブプロセスを扱うために、オーディオプレーヤが呼び出されなければならない。ＥＰＧアプリケーションは、いずれかのオーディオプレーヤが既に登録されていて、従ってセットトップボックスにおいて利用可能であるかを見るために、登録テーブルからの情報を要求することができる。１つの例としては、関数「Ａｒｒａｙ  ｏｆ  ＯＩＴＦＡｐｐｌｉｃａｔｉｏｎ  ｌｉｓｔＯＩＴＦＡｐｐｌｉｃａｔｉｏｎ（）」を使用することができるであろう。この関数は、登録されたＩＰＴＶ関連アプリケーションのアレイを返す。このアレイを調べて、典型的には、ＩＤ、ａｐｐＮａｍｅ、ｔｙｐｅ、ａｐｐｉｄ、ｉｃｓｉ、ｉａｒｉ、および／またはｍｅｓｓａｇｅｔｙｐｅｓに基づいて適切なアプリケーションを選定し、例えば以下の関数「Ｂｏｏｌｅａｎ  ｌａｕｎｃｈＯＩＴＦＡｐｐｌｉｃａｔｉｏｎ（ＩＤ）」によって起動する。この関数は入力したアプリケーション識別情報ＩＤを有するアプリケーションを起動する。
【００６７】
登録テーブルによって、組み込みアプリケーションは、ブラウザベースのアプリケーションを呼び出し、または起動して、１つのＩＰＴＶセッションの間に、ある特定なタスクを実行することさえもできる。それと対応して、ブラウザベースのアプリケーションは、登録テーブルを使用して、組み込みアプリケーションを識別して起動することができる。
【００６８】
これらの特徴は、これまでの当技術分野では可能ではなかった。これは、これまでの当技術分野では、現在動作しているＩＰＴＶ関連アプリケーションは、同じセットトップボックスにおいて利用可能であり活性化と呼び出しが可能である他のいずれのＩＰＴＶ関連アプリケーションをも、知らなかったからである。
【００６９】
図５はこの特徴のフローチャートを示す。本方法は図２のステップＳ４から継続する。ステップＳ４では、１つのＩＰＴＶ関連アプリケーションが選定されて、現在１つのＩＰＴＶセッションに対して活性である。セッションの進行中に、このセッションの間にいくつかのタスクを実行する目的で別のＩＰＴＶ関連アプリケーションを、すくなくとも一時的に起動する必要が生じた。ステップＳ２０において、登録テーブルが情報源として使用され、どのアプリケーションが利用可能であるか、また、どの特定なＩＰＴＶ関連アプリケーションを起動するべきかを判定する。そしてステップＳ２０では、選定したアプリケーションを呼び出す。従って、ＩＰＴＶセッションの少なくとも一部の間では、複数のＩＰＴＶ関連アプリケーションが並列に動作している可能性があることに注意を要する。これは、アプリケーションは、他のアプリケーションを起動して、一般に、特定なタスクを扱うためにだけそのアプリケーションを活性化して、その後には再び不活性にすることができるからである。上記で述べたように、登録テーブルの中のいずれの情報フィールド（アプリケーション名、アプリケーションタイプ、ＤＡＥフィールド、ＩＭＳフィールド等）も、それを使用して、適切なアプリケーションを選定し起動することができる。
【００７０】
図６は、セットトップボックス５０、または、他のユーザ装置、またはホームネットワークの中に構成して動作させるのに適当なデバイスのブロック図を示す。セットトップボックス５０は、ホームネットワークの中の他のデバイス（特に、オプションのゲートウェイ）と通信を行うためのユニットまたは機能５２を備える。図中ではこのユニットは、一般的な入力および出力（Ｉ／Ｏ）ユニット５２として示されている。実際には、Ｉ／Ｏユニット５２は、外部または遠隔デバイスとの結線接続に対する一般的な入力および出力インタフェース、または無線接続に対しては受信機／送信機またはトランシーバの形式をしていてもよいであろう。セットトップボックス５０は、典型的に、１つ以上の組み込みアプリケーション５４を備える。組み込みアプリケーション５４は一般的に、セットトップボックス５０のメモリの中に搭載されて記憶されたソフトウェアである。ウェブブラウザアプリケーション５６もまた、セットトップボックス５０の中に呼び出すことができ、ブラウザベースのアプリケーションを動作させる目的で使用される。
【００７１】
１つの実施形態ではセッションマネージャ１００がセットトップボックス５０の中に設けられ、セッションマネージャ１００に接続されたメモリ５８の中に記憶されている登録テーブル１７０を管理する。このセッションマネージャ１００の動作は、図７に関連してさらに記述を行う。
【００７２】
図６は、登録テーブルの生成と使用に直接関与するユニットおよび機能を単に図示するだけである。従って、さらなるユニットおよび機能が存在して、セットトップボックス５０の中に設けられることも考えられる。
【００７３】
セットトップボックス５０のユニット５２およびユニット１００は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせで実現することができる。
【００７４】
図７は１つの実施形態に従ったセッションマネージャ１００のブロック図である。セッションマネージャ１００は、登録テーブルの中に少なくとも１つのＩＰＴＶ関連アプリケーションを登録するためのアプリケーションレジスタ１１０を備える。登録テーブルは、セットトップボックスのメモリの中に記憶されることが望ましい。セッションマネージャ１００はセットトップボックスの中に配置される。あるいは、登録を記憶するメモリは、セッションマネージャ１００の一部を構成すること、またはホームネットワークのいずれかの他のデバイスの中に設定することもできるであろう。アプリケーションレジスタ１１０は、登録テーブルの中のＩＰＴＶ関連アプリケーションの、それぞれの識別情報の少なくとも１つを登録する。しかし一般には、上記で議論し図３に示したように、付加的な記述情報を含むことが望ましい。アプリケーションレジスタ１１０は、ＤＡＥＡＰＩと呼ばれる機能を構成することができる。ＤＡＥＡＰＩは、ＤＡＥアプリケーション（すなわち、ブラウザベースのアプリケーション）と、さらに、好ましくは組み込みアプリケーションとを登録する機能を有する。従って、登録テーブルは、ＯＩＴＦの中にローカルに設けられることが有利である。アプリケーションの登録は、ＯＩＴＦの始動（スタートアップ）で実行されることが望ましい。組み込みアプリケーションに対しては、これはＯＩＴＦシステムのファームウェア初期化シーケンスの一部であってよく、ＤＡＥアプリケーションに対しては、ＩＰＴＶアプリケーション機能からアクセスしたアプリケーションの初期ＨＴＭＬ／ＥＣＭＡＳｃｒｉｐｔページの中に登録スクリプトを含めることができる。この手法によって、新しいＤＡＥアプリケーションが登録テーブルの中に導入されて、現在あるアプリケーションに関しては、ＩＰＴＶアプリケーションの初期ページを更新したことにより除去されることになる。アプリケーションの追加または除去はＯＩＴＦが再開始される時に実行されることが望ましい。
【００７５】
イベント検出器１２０は、セットトップボックスにけるＩＰＴＶ関連アプリケーションの呼び出しを要求するＩＰＴＶ関連イベントを検出する目的のために、セッションマネージャ１００の中に存在することが望ましい。この検出されたイベントは、セットトップボックスとセッションマネージャ１００とを備えたホームネットワークに接続されたグローバルネットワークからの未承諾のメッセージを受信するイベントであるとすればそれが有利である。さらなる例は、１つのセッションが進行中に、現在動作しているＩＰＴＶ関連アプリケーションが別のＩＰＴＶ関連アプリケーションを起動する必要性を検出するイベントである。イベント検出器１２０は、アプリケーションセレクタ１３０を起動して登録テーブルのルックアップを行う。登録テーブルは、登録されたＩＰＴＶ関連アプリケーションを選定するためにアプリケーションレジスタ１１０によって保持されている。この登録されたＩＰＴＶ関連アプリケーションは、検出したＩＰＴＶ関連イベントを扱うために呼び出すことができるＩＰＴＶ関連アプリケーションである。
【００７６】
アプリケーション呼び出し部（インボーカ：ｉｎｖｏｋｅｒ）またはアプリケーション起動部（ランチャ：ｌａｕｎｃｈｅｒ）１４０は、以前に登録テーブルの中に登録されたアプリケーションの中からアプリケーションセレクタ１３０が選定したＩＰＴＶ関連アプリケーションを呼び出すために提供される。これらはオプションではあるが、ある方が望ましい。
【００７７】
セッションマネージャ１００は、オプションとして、未承諾のメッセージを処理するために設けられた識別情報抽出器（ｉｄｅｎｔｉｆｉｅｒ  ｅｘｔｒａｃｔｏｒ）１５０を備える。識別情報抽出器１５０は、未承諾のメッセージから、特に、アプリケーション識別情報、または他のいずれかの情報を抽出する。これらは、呼び出すべき適切なＩＰＴＶ関連アプリケーションを識別して未承諾のメッセージを扱う目的のために使用することができる。抽出したアプリケーション識別情報は、オプションの識別情報比較器（ｉｄｅｎｔｉｆｉｅｒ  ｃｏｍｐａｒａｔｏｒ）１６０に転送される。識別情報比較器１６０は、抽出したアプリケーション識別情報を、登録テーブルの中に存在する対応する識別情報または情報と比較するために設けられる。アプリケーションセレクタ１３０は、識別情報比較器１６０が実行した比較に基づいて、登録テーブルからのＩＰＴＶ関連アプリケーションを識別してそれを選定する。
【００７８】
アプリケーションレジスタ１１０は、優先順位レジスタ１１５を備えるまたは優先順位レジスタ１１５に接続されることが望ましい。優先順位レジスタ１１５は、ＩＰＴＶ関連アプリケーションに対する呼び出し優先順位を登録テーブルの中に登録するよう構成される。優先順位レジスタ１１５は、ユーザ入力等の入力情報に基づいてこの登録を実行する。ユーザ入力は、セットトップボックスの適切な入力デバイス、またはセットトップボックスに接続された適切な入力デバイスによって、ユーザが手動で入力する。この入力デバイスは、例えば、遠隔制御装置（リモートコントローラ）、キーボード、マウス、タッチ感応スクリーン等である。あるいはは追加として、ＩＰＴＶアプリケーションは、そのアプリケーションに関する記述情報の中に、関連するデフォルトの呼び出し優先順位を有することができる。優先順位レジスタ１１５は、そこから情報を運び出し、それを登録テーブルの中に入力する。さらに、ＩＰＴＶ関連アプリケーションに対する入力情報が得られない場合には、優先順位レジスタ１１５は、その特定なアプリケーションに対して所定の呼び出し優先順位値を設定するよう事前に構成することができる。
【００７９】
入力した呼び出し優先順位は、以前に記述したように、イベント検出器１２０が検出したＩＰＴＶ関連イベントに応答して呼び出すことができる可能性がある代替のアプリケーションが複数ある場合には、アプリケーションセレクタ１３０によって使用される。
【００８０】
セッションマネージャ１００のユニット１１０から１６０は、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせで実現することができる。ユニット１１０から１６０は、全てをＩＰＴＶセッションマネージャ１００の中に設備することができる。あるいは、ユニットの内の少なくとも１つが、ＩＰＴＶセッションマネージャ１００を備えるセットトップボックスに中の他の場所に設けられるように、分散して設備することも可能である。
【００８１】
ソフトウェアによって実現した実施形態では、セッション管理機能は、コンピュータまたは他のセットトップボックスのハードドライブ、ＲＯＭ、ＲＡＭ等のコンピュータ読み取り可能媒体またはメモリの上に実装することができる。
【００８２】
上記で記述した実施形態は、本発明の数少ない事例であると理解されるべきである。これらの実施形態には、種々の変更、組み合わせ、および変形を行うことが可能であり、これらは本発明の範囲から逸脱するものではないと当業者には理解されるであろう。特に、異なる実施形態における異なる部分の解決策は、技術的に可能な、他の構成となるように組み合わせることが可能である。しかしながら、本発明の範囲は、添付の特許請求の範囲によって規定されている。
【図１】
0005396465.tif 000002
【図２】
0005396465.tif 000003
【図３】
0005396465.tif 000004
【図４】
0005396465.tif 000005
【図５】
0005396465.tif 000006
【図６】
0005396465.tif 000007
【図７】
0005396465.tif 000008