(57)【特許請求の範囲】
【請求項１】
テレビ放送システムのセットトップボックスであって、該セットトップボックスは、該テレビ放送システムのヘッドエンドによって該セットトップボックスに提供される複数のサービスのうちの１つを活性化するものであり、
該セットトップボックスは、
ネットワークを介して該ヘッドエンドに接続されたポートであって、該ヘッドエンドから該複数のサービスと複数のテーブルとを受信するポートと、
該ヘッドエンドから受信された該複数のテーブルを格納するメモリと、
該ポートと該メモリと加入者入力デバイスとに接続されたプロセッサと
を含み、
該複数のサービスのそれぞれのサービスは、サービス識別子と、アプリケーションと、１組のパラメータとに関連付けられており、
該複数のテーブルは、
複数のチャンネル番号を複数のサービス識別子に関連付ける第１のテーブルと、
該複数のサービス識別子に関連付けられている複数の組のサービス属性を含む第２のテーブルと、
複数のアプリケーション識別子と複数の組のパラメータとを含む第３のテーブルと
を含み、
該プロセッサは、
該加入者入力デバイスからユーザ要求を受信することであって、該ユーザ要求は、該複数のサービスのうちの選択されたサービスを活性化するためのチャンネル番号を含む、ことと、
該チャンネル番号に基づいて、該選択されたサービスに関連付けられている特定のサービス識別子を該第１のテーブルから取得することと、
該第１のテーブルから取得された該特定のサービス識別子に関連付けられている特定の組のサービス属性を該第２のテーブルから取得することと、
該第２のテーブルから取得された該特定の組のサービス属性に基づいて、特定のアプリケーション識別子と特定の組のパラメータとを該第３のテーブルから取得することと、
該特定の組のパラメータと該特定のアプリケーション識別子によって識別された特定のアプリケーションとに関連付けられている該選択されたサービスを活性化することと
を行うように構成されている、セットトップボックス。
【請求項２】
前記第２のテーブルから取得された１組のサービス属性は、非加入者の活性化を許容する活性化属性を含む、請求項１に記載のセットトップボックス。
【請求項３】
前記活性化属性は、修理代表者専用の活性化サービス、ケーブルオペレータ専用の活性化サービス、または、インストーラ専用の活性化サービスのうちの１つである、請求項２に記載のセットトップボックス。
【請求項４】
前記活性化属性は、非加入者の活性化と加入者の活性化とを許容する、請求項２に記載のセットトップボックス。
【請求項５】
前記特定のサービスに対する１組のサービス属性は、時間活性化属性を含み、該時間活性化属性は、該時間活性化属性に関連付けられているサービス活性化時間を有し、前記プロセッサは、該サービス活性化時間に従って、該特定のサービスを活性化する、請求項１に記載のセットトップボックス。
【請求項６】
前記特定のサービスは、信号を受信してから所定の時間が経過した後に活性化される、請求項５に記載のセットトップボックス。
【請求項７】
前記サービス活性化時間は、加入者入力または前記ヘッドエンドによって指定される、請求項５に記載のセットトップボックス。
【請求項８】
前記サービス活性化時間は、予め指定された周期的な間隔値を含む、請求項５に記載のセットトップボックス。
【請求項９】
前記予め指定された周期的な間隔値は、前記加入者または前記ヘッドエンドによって指定される、請求項８に記載のセットトップボックス。
【請求項１０】
前記特定のサービスは、情報を周期的に表示するティッカーテープである、請求項５に記載のセットトップボックス。
【請求項１１】
コンピューティングデバイスと通信する第２のポートをさらに含み、該コンピューティングデバイスは、前記ヘッドエンドから離れた場所に配置されている、請求項１に記載のセットトップボックス。
【請求項１２】
前記特定のサービスに対する１組のサービス属性は、バックグラウンド属性を含み、該特定のサービスは、前記コンピューティングデバイスと前記ヘッドエンドとの間の通信リンクを確立する、請求項１１に記載のセットトップボックス。
【請求項１３】
前記メモリは、第１のロゴと第１のサービス識別子とを関連付ける第４のテーブルを含む、請求項１に記載のセットトップボックス。
【請求項１４】
前記特定の組のサービス属性は、ロゴ識別属性とアイデンティティ属性とを含み、前記プロセッサは、ゼロに等しいロゴ識別に応答して、前記特定のサービスの該アイデンティティ属性を用いてロゴを無視する、請求項１３に記載のセットトップボックス。
【請求項１５】
前記第４のテーブルは、複数のロゴ識別子の第１のインデックスを含み、該第１のインデックスは、オフセットを各ロゴに関連付けており、特定のオフセットは、特定のロゴの画像に対応する該第４のテーブルにおけるデータの特定のブロックの位置を示す、請求項１３に記載のセットトップボックス。
【請求項１６】
前記メモリは、不揮発性メモリである、請求項１５に記載のセットトップボックス。
【請求項１７】
前記ロゴは、永続的であると見なされる、請求項１６に記載のセットトップボックス。
【請求項１８】
前記メモリは、第２のロゴを第２のサービス識別子に関連付ける第５のテーブルを含む、請求項１３に記載のセットトップボックス。
【請求項１９】
前記第５のテーブルは、ロゴ識別子のインデックスを含んでおり、前記第１のインデックスは、オフセットと各ロゴとを関連付けており、特定のオフセットは、特定のロゴの画像に対応する前記第４のテーブルにおけるデータの特定のブロックの位置を示している、請求項１８に記載のセットトップボックス。
【請求項２０】
前記第１のテーブルは、ビットマップと、複数のブロックのデータとを含み、該ビットマップは、チャンネル番号が有効であるか否かを示し、各ブロックのデータは、サービス識別子フィールドと、チャンネル番号フィールドと、当該ブロックのデータに関連付けられているチャンネルが入力デバイスを用いてチャンネル番号を増加または減少させることによって到達可能であることを示す属性とを有している、請求項１に記載のセットトップボックス。
【請求項２１】
前記ビットマップは、複数のチャンネル番号の連続的な範囲を表し、該ビットマップの各ビットは、特定のチャンネル番号を表し、有効なチャンネル番号を表す各ビットは、所定の値に設定されている、請求項２０に記載のセットトップボックス。
【請求項２２】
前記第１のテーブルは、前記複数のブロックのデータにアクセスするために一連のオフセット値を含む、請求項２０に記載のセットトップボックス。
【請求項２３】
各サービス識別子フィールドは、サービス識別子を搬送し、前記複数のブロックのデータは、複数のサービス識別子の大きさが増加するように配置されている、請求項２０に記載のセットトップボックス。
【請求項２４】
前記複数のサービス識別子は、不連続的である、請求項２３に記載のセットトップボックス。
【請求項２５】
前記複数のテーブルのうちの少なくとも１つのテーブルは、可変長の少なくとも１つのフィールドを含む、請求項１に記載のセットトップボックス。
【請求項２６】
前記メモリに格納されている前記複数のテーブルのうちの所与のテーブルは、該所与のテーブルに関連付けられているバージョン番号を有し、バージョン番号を有する特定のテーブルを前記ヘッドエンドから受信し、該特定のテーブルが該所与のテーブルに対応していると、前記プロセッサは、該特定のテーブルの該バージョン番号と該所与のテーブルの該バージョン番号とを比較し、該特定のテーブルが該所与のテーブルよりも新しいバージョンであることに応答して、該プロセッサは、該特定のテーブルを該メモリに格納する、請求項１に記載のセットトップボックス。
【請求項２７】
前記プロセッサが前記特定のテーブルを前記メモリに格納する一方で、前記所与のテーブルは、該メモリ内に保持される、請求項２６に記載のセットトップボックス。
【請求項２８】
前記プロセッサが前記特定のテーブルを前記メモリに格納する一方で、前記所与のテーブルは、有効であるように持続され、用いられる、請求項２７に記載のセットップボックス。
【請求項２９】
前記プロセッサが前記特定のテーブルを前記メモリに格納することを完了した後に、前記所与のテーブルおよび該特定のテーブルの両方は、アクセス可能ではない、請求項２７に記載のセットップボックス。
【請求項３０】
前記所与のテーブルが古くなった後に、前記特定のテーブルが有効になり、該特定のテーブルはアクセス可能になる、請求項２９に記載のセットトップボックス。
【請求項３１】
前記特定の組のサービス属性は、視聴者ブロック不可能属性を含み、前記プロセッサは、該視聴者ブロック不可能属性に応答して、前記特定のサービスをブロックすることを試みる加入者入力を無視する、請求項１に記載のセットトップボックス。
【請求項３２】
前記特定の組のサービス属性は、アイデンティティ属性を含む、請求項１に記載のセットトップボックス。
【請求項３３】
前記アイデンティティ属性は、テキスト情報、ロゴ、オーディオ情報、または、特殊効果のうちの１つ以上を含む、請求項３２に記載のセットトップボックス。
【請求項３４】
前記特殊効果は、動画変換、グラフィック変換、モーフィング、インプロージョン、フェーディングを含む、請求項３３に記載のセットトップボックス。
【請求項３５】
前記特殊効果は、ビデオウィジェットを含む、請求項３３に記載のセットトップボックス。
【請求項３６】
前記アイデンティティ属性は、前記サービスが活性化され、終了され、または、一時停止された時に、視聴者によって感知されるように実行される、請求項３２に記載のセットトップボックス。
【請求項３７】
前記アイデンティティ属性は、予め指定された期間に視聴者によって感知されるように実行される、請求項３２に記載のセットトップボックス。
【請求項３８】
前記予め指定された期間は、前記サービスが活性化され、終了され、または、一時停止されたときに開始する、請求項３７に記載のセットトップボックス。
【請求項３９】
前記ポートと前記ヘッドエンドとを接続する前記ネットワークは、少なくとも帯域内通信経路と帯域外通信経路とを有し、該帯域内通信経路は、複数のサービスと前記複数のテーブルのうちの少なくとも１つのテーブルとを搬送し、該帯域外通信経路は、該複数のテーブルのうちの少なくとも１つのテーブルを搬送する、請求項１に記載のセットトップボックス。
【発明の詳細な説明】
【０００１】
（技術分野）
本発明は、概して、テレビシステム、より具体的には、複数の異なるクラスの映像およびマルチメディア番組を提供するシステムおよびアーキテクチャに関し、複数の映像およびマルチメディアサービスにアクセスする論理インターフェース方法を包含する。
【０００２】
（発明の背景）
テレビサービスの古い定義には、本質的にアナログ放送映像ソースにすぎないチャンネルが含まれている。しかし、デジタル番組のすばらしい新世界において、典型的なアナログケーブルＴＶセットトップより、セットトップボックスとしても公知である家庭用通信端子（「ＨＣＴ」）が、より有力な計算装置となった。従来のアナログ放送映像および機能性を支持することに加えて、これらの装置は、アナログではなく（デジタルである）、放送ではなく（例えば、Ｅ−メールのような双方向通信）、映像ではない（ウェブブラウザのように）、増加しているサービス数を支持しなければならない。これらは、全て、消費者によってますます要求される他のテレビサービスのホスト、に加えて存在する。例として、オーディオおよびオーディオビジュアル番組、最先端のナビゲーション制御、インタラクティブ番組ガイド、インパルスペイパービューキャプティベーション、有料テレビ放送番組、最先端のコンフィギュレーション制御、および他のオンラインサービスが含まれるが、これらは例に過ぎない。これらのより有力で複雑な特徴を提供するために、単純なチャンネルアブストラクション（ｃｈａｎｎｅｌ  ａｂｓｔｒａｃｔｉｏｎ）が、従来提供されてきた以上に、拡張されなければならない。
【０００３】
最先端の１方向デジタルネットワークの能力によって、放送認可可能サービス（ｂｒｏａｄｃａｓｔ  ａｕｔｈｏｒｉｚａｂｌｅ  ｓｅｒｖｉｃｅ）の例に過ぎないが、ダウンストリームＥ−メール配信、電子雑誌、電子新聞、ならびに他のグラフィックスおよびテキストでのニュース、スポーツ、および金融情報のサービス等の複数の用途が可能になる。双方向デジタルネットワークの能力によって、インパルスペイパービュー、有料テレビ放送、電子商取引、およびウェブブラウジング等の他の用途が可能になる。これらのサービスの全ては、従来の放送テレビに平行して提供され得、サービスカテゴリを変えると考慮され得る。ケーブルまたは衛星テレビを介して利用可能なサービスの数が増加するにつれて、テレビ視聴者がこれらのサービスにアクセスし得るモデルが必要とされる。より新しい世代のデジタルＨＣＴの視聴者が数千までの利用可能なチャネルおよびサービスにアクセスし得るとすると、ヘッドエンドまたはサーバロケーションからクライアントまたはＨＣＴに送信されるべき多量のサービスおよびチャネル定義付け情報がある。ケーブルテレビシステムにおける放送テレビおよびサービスの従来の方法は、これらのチャンネルおよびサービスの全てを支持するために必要な量の情報を提供せず、ＨＣＴにおける対応する多量の情報を、効率的に送信、格納、アクセス、および処理もしない。
【０００４】
ＨＣＴ製造におけるコスト制限は、計算、メモリ、および内部マシンバス帯域幅（ｉｎｔｅｒｎａｌ  ｍａｃｈｉｎｅ  ｂｕｓ  ｂａｎｄｗｉｄｔｈ）を制限し、これらの制限は、増加するデジタル映像およびマルチメディアの機能性を実現するために必要な計算リソースの量を制限する。結果として、必要なネットワーク送信帯域幅、ＨＣＴ内に格納する情報を統合する時間、ＨＣＴ内の情報のメモリフットプリント、およびＨＣＴ内の情報にその後アクセスするのに必要な時間量を最小化するような秩序的な方式で、必要なサービスに関連する情報が、ヘッドエンドからＨＣＴへと送信されるシステムを提供することが所望である。さらに、この情報は、サービスおよびチャンネルラインナップが変更される場合、ＨＣＴに新しい情報が提供されるような、効率的な方式で更新されるべきである。
【０００５】
また、特定のサービスのための特定のアプリケーションがＨＣＴ上にプリロードされるか、そうでない場合には、サービスがヘッドエンドから取得されてロードされるような、システムおよび方法を提供することが所望である。これは、当然、２方向デジタルケーブルＴＶネットワークにヘッドエンドとＨＣＴとの間の通信をさせる、あるいは、最先端の１方向デジタルネットワークに、システムおよび方法が、放送ファイルシステム（「ＢＦＳ」）から取り出されたファイル等の所定のファイルの名前および識別を有するデータをアクセスおよび引き出すことにより、特定の放送サービス情報を取得するようにさせる能力を必要とする。
【０００６】
従って、ＨＣＴ上のアプリケーションが、ＨＣＴから受信される信号メッセージを介してサーバから活性化されて、緊急警告メッセージ、Ｅ−メール、および他のメッセージ等のサービスをユーザに提供し得る、メカニズムを提供する必要がある。
【０００７】
（好適な実施形態の詳細な説明）
本発明の新規であると見なされる特徴は、本明細書の請求の範囲に規定されているが、本発明は、以下の説明を、同一の参照符号が以下に示される図面と共に考慮することによってより良く理解される。
【０００８】
ここで、図１を参照すると、衛星テレビ信号を受信し、信号をベースバンドに復調し、その信号をシステム１００によって送信する、ヘッドエンド１０５を含むケーブルテレビシステム１００のブロック図が示されている。送信される信号は、例えば、無線周波数（ＲＦ）信号であり得るが、より好適には、光ファイバケーブル１２５のような通信媒体で送信される光学的信号であり得る。光学的信号がヘッドエンド１０５によって送信される場合、１つ以上のノード１１０がシステム１００に含まれて、光学的信号をＲＦ信号に変換し、ＲＦ信号は、その後、同軸ケーブル１３０のような他の媒体でルーティングされる。タップ１１５は、ケーブルシステム１００内に設けられ、セットトップ端子１２０、ケーブル実行可能テレビ（ｃａｂｌｅ  ｒｅａｄｙ  ｔｅｌｅｖｉｓｉｏｎ）、ビデオカセットレコーダ（ＶＣＲ）またはコンピュータ等の加入者装置にＲＦ信号を分割する。
【０００９】
次に、図２を参照すると、家庭用通信端子１２０および他のシステム装置のブロック図が示されている。端子１２０は、典型的には、加入者の住居または職場内に位置する。端子１２０は、テレビセット等のディスプレイ２３５を有するデバイス内に集積され得るか、あるいは、コンピュータまたはテレビに含まれる表示等の外部ディスプレイに接続され、ディスプレイ上で加入者に提示するためのテレビ信号を処理する、独立ユニットであり得る。端子１２０は、好適には、映像、オーディオおよびデータ情報を含み得るＲＦ信号をタップから受信し、ヘッドエンドに送信するために任意の反転情報をタップに提供する、データポート２５０を備える。端子１２０は、端子１２０の動作を制御し、ディスプレイを駆動するプロセッサ２１０、タイミング機能を提供するクロック２１５、特定のオーディオ、映像、および／またはデータチャンネルにチューニングするチューナー１３４をさらに含む。さらに、端子１２０は、視聴者入力または他のデバイスからのコマンド等の外部で生成される情報を受信する受信器２２０を含む。視聴者入力は、例えば、端子１２０の外部に位置するボタンまたはキー、あるいはユーザが動かすボタンを含む、携帯用のリモコンデバイス等の送信器２４０を介して提供される。さらに、ある特定の実施形態において、端子は、イーサネットポート、シリアルポート、およびユニバーサルシリアルバスポート用のインターフェースコネクタを備える。
【００１０】
不揮発性、揮発性ランダムアクセスメモリのようなメモリ２５０は、プロセッサに接続され、プロセッサによって認識されるコマンドのような動作パラメータを格納する。メモリは、また、例えば、システムで端子にダウンロードされ得る番組およびアプリケーション情報を格納し得る。番組情報は、チャンネルのリスト、そのチャンネルで観られる番組、および番組が放送される時間を含む、番組ガイドの形で加入者に対して表示される番組ガイド情報を含む。番組情報は、また、例えば、ＥＳＰＮ、Ｄｉｓｎｅｙ、ＷＸＩＡ等の、チャンネルの数および識別情報を含む。
【００１１】
上記のように、デジタル番組の世界において、サービスは、もはや単純な従来にアナログ放送サービスであるとは考慮されず、一例に過ぎないが、ウェブブラウジング、有料テレビ放送、ならびにＥ−メール等の最先端の１方向デジタルネットワークサービスおよびさらなる２方向サービスの全ホストを含む。これらのより有力で複雑な特徴を提供するために、１方向および２方向デジタルネットワークの両方においてこれらの異なるサービスの各々に提供するように、単純なチャンネルアブストラクションは拡大される必要がある。本発明は、視聴者がサービスにアクセスし得るモデルを実現する、サービスアプリケーションマネージャ（「ＳＡＭ」）システムおよび方法を提供する。サービス識別の各々は、例えば、そのサービスに特有のデータ内容等のような実行するアプリケーションおよびパラメータからなる。多くのサービスは、同じアプリケーションコンポーネントを用いて、パラメータを変えて、規定され得る。例えば、映像番組を合わせ得るアプリケーションは、例えば、ＨＢＯを観るための１組のパラメータ、および、例えば、ＣＮＮを観るための別の組のパラメータにより実行され得る。アプリケーションコンポーネント（この例においては映像を合わせること）とパラメータコンポーネントのうちの１つ（即ち、ＨＢＯまたはＣＮＮ）との各関連付けは、独自のサービス識別を有する特定のサービスを表す。テキストチャンネル、ペイパービュー、有料テレビ放送、およびウェブブラウジング等の上記の他のサービスの各々は、サービスモデル内に正確に入る。アプリケーションおよびパラメータに加えて、各サービスは、また、短いテキスト記述（特定のテレビ局用のコールサイン等）、長いテキスト記述、およびロゴ画像を含み得るアイデンティティを有する。
【００１２】
ある特定の実施形態におけるさらなるサービス属性には、マルチメディアサービス属性が含まれる。サービスのアイデンティティは、サービスが始められるときに再生される導入オーディオと共に、随意に増大され得る。このようなオーディオがサービスと区別して関連付けられる、短い「ＡＢＣのうた」またはバックグラウンドミュージックを有する音声は、一例である。同様に、サービスのアイデンティティは、サービスが終了または一時停止する場合について、オーディオと共に、随意に増大される。
【００１３】
他の実施形態において、サービスロゴの画像から表示可能サービスへのモーフィングのようなサービスへの動画化変換、または内破およびフェーディングのようなグラフィックス変換を含む、サービスの開始時の特殊効果がサービスに関連付けられ得る。同様に、特殊効果が、サービスが終了または一時停止する場合、サービスに関連付けられ得る。
【００１４】
さらに別の実施形態において、任意の部分またはフルサイズ画像、３Ｄロゴの機能を果たす映像または映像小型部品がサービスと関連付けられ、サービスが始められるときに一瞬表示される。サービス終了または一時停止のために、同じまたは異なる対応媒体が使用される。媒体とサービスとの特定化の関連付けは、媒体が表示または再生される量の時間を含み得る。さらに、媒体は、特殊効果と結合され得る。
【００１５】
サービス属性は、識別サービスのためのサービス属性であってもよいし、必ずしもそうである必要はなく、効率的なシステムおよび方法のためのサービス属性であってもよい。このようなサービス属性には、緊急警告または課金を払うことについてのリマインダを視聴者に送る、ケーブルオペレータ専用開始可能サービスメッセージが含まれる。サービスは、ケーブルオペレータおよび視聴者両方の開始可能サービスとして、属性で分類され得る。あるいは、サービス属性は、インストーラ専用または修復代表者専用の開始可能サービスである。
【００１６】
サービスは、視聴者入力またはヘッドエンド呼び出しへの応答直後よりも、時間別に開始され得るサービスとして、属性で分類され得る。さらに、このようなサービス活性化時間は、
Ａ．視聴者の活性化またはサーバの呼び出しの後の規定された時間、あるいは
Ｂ．視聴者による入力またはサーバの呼び出しの間送信されるデータであって、且つ／あるいは
１．定期的な前もって特定化された間隔値、または
２．視聴者もしくはヘッドエンドメッセージによって特定化された定期的な前もって特定化された間隔値
を有する、データ
によって指示される。定期的に開始されるサービスの例として、スポーツの得点または株価の定期的更新情報を表示するティッカーテープがある。サービス表示期間の詳細は、上記に適切に含まれている。サービスは、また、ケーブルヘッドエンドオペレータによってアクティブにされる「視聴者による遮断不可能なサービス」として、属性に分類され得る。
【００１７】
サービスは、視聴者にとって可視でない、バックグラウンドサービスの属性を有し得る。ＨＣＴにおいて、ＨＣＴが、インターネットプロトコルデータ、あるいは、デジタルネットワークからおよびデジタルネットワークへ受信され、多くの可能なＨＣＴ通信ポートのうちの１つを介して、視聴者の家にある多くの計算デバイスのうちの１つ以上へおよび１つ以上から送られる、他の情報をルーティングすることを可能にするサービスは、デジタルネットワークと計算デバイスとの間の通信リンクを確立する。このような計算デバイスには、最新式の電話、携帯用電子オーガナイザデバイス、パーソナルコンピュータ、ストーブのような電気機器が含まれ、従って、ＨＣＴは、ケーブルモデムとして機能する。
【００１８】
上記において、サービスはＨＣＴ内で実行されるが、指定された計算デバイスおよび通信ポートがサービスのパラメータとして特定化され、ＨＣＴ上で実行されるアプリケーションは、「イネーブラ」として機能し、通信スイッチとしても機能し得る。ＨＣＴ通信ポートには、イーサネットポート、シリアルポート、ユニバーサルシリアルバス（ＵＳＢ）が含まれるが、一例に過ぎない。
【００１９】
この増加する数のサービスにアクセスするために、ＨＣＴの能力によって制約される、機能性、効率性、メモリフットプリントの必要条件を満たすシステムを提供することが必要である。サービスアプリケーションマネージャ（「ＳＡＭ」）アーキテクチャは、ＳＡＭサーバコンポーネント、ＳＡＭクライアントコンポーネント、およびサーバとクライアントとの間のインターフェースからなる。このインターフェースは、ＢＦＳ（この例は、同一人に譲渡された特許出願番号ＰＣＴ／ＵＳ９７／２２５３５に開示されており、これを本明細書中で参考として援用する）上のＳＡＭ情報テーブル放送、ならびに、サーバからクライアントへと送られる、更新および信号メッセージからなる。図１および２に示すシステムのコンテキストにおいて、ＳＡＭクライアントコンポーネントはＨＣＴ内にあるが、ＳＡＭサーバコンポーネントは、ヘッドエンドの一部である。ＳＡＭサーバは、サービステーブル、表示チャンネルテーブル、分割チャンネルテーブル、バルクテーブル、およびロゴテーブルからなる、現在のＳＡＭ情報を格納する。ＳＡＭは、ＳＡＭ上の情報を入力および変更するため、および、例えば情報の変化を知らせるようにＳＡＭクライアントに放送するため、インターフェースをサーバオペレータに提供する。ＳＡＭは、また、特定のサービスを実行するアプリケーションをシステム内に導入するようになっていてもよい。各アプリケーションは、サーバコンポーネントおよびクライアントコンポーネントを有する。アプリケーションクライアントは、サービスがアクティブにされることを視聴者が要求する場合にしか、ＨＣＴにダウンロードされ、実行され得ないが、アプリケーションサーバは、常に実行し得る。
【００２０】
ＳＡＭサーバは、アプリケーションがそれを通じてネットワーク上に位置付けられるインターフェース、登録されたサービス、特定化されたチャンネルラインナップ、ならびに格納および変更されるＳＡＭ情報を提供する。ＳＡＭサーバは、また、ＳＡＭ情報テーブルの変更（本明細書中で以下に記載のように）を、ケーブルオペレータによって特定化される時間と共に、ネットワークにポストするようになっていてもよい。
【００２１】
ＳＡＭクライアントは、それを通じてアプリケーションがアクティブにされ得、ＳＡＭ情報がアクセスされ得る、インターフェースを提供する。ＳＡＭクライアントの機能の１つは、ＨＣＴ上のアプリケーションクライアントのアクティベーションである。このアクティベーションは、特定化されたサービスを提供するものか、またはサーバからの信号メッセージに起因しするもののいずれかである。
【００２２】
上記のように、ＳＡＭ情報は、少なくとも５つの異なるテーブルを有する。サービステーブルは、システム上で利用可能な全てのサービスについての情報を格納し、各サービスは、特定のサービスＩＤによって識別される。表示チャンネルテーブル（「ＤＣＴ」）は、アブストラクションを表示チャンネル数がサービスＩＤと（およびサービスＩＤが表示チャンネル数と）一致するように提供する。分割チャンネルテーブルは、分割チャンネルについての情報でＤＣＴを補足する。バルクテーブルは、実際のストリングおよびパラメータデータ、および各サービスの属性を格納するために提供される。各テーブル用のデータは、バイナリファイルに書き込まれること、および本明細書中で参考として援用される、前述の同時係属中のＰＣＴ特許出願に開示されているような放送ファイルシステム（「ＢＦＳ」）にファイルを位置付けることによって、サーバからクライアントに送信され得る。様々なテーブルの更新により、テーブルのバージョン数がインクリメントする。従って、システムは、特定のテーブルの最新のバージョンに常にアクセスする。これは、いくつかのチャンネル、例えば、分割チャンネルテーブルが、相当規則的に変化し、実際には日毎に変化し得るので、重要である。
【００２３】
ＳＡＭサーバが、ＢＦＳ上で放送されるＳＡＭファイルを変更する場合、ＳＡＭクライアントは、ＳＡＭサーバからのメッセージをＨＣＴオペレーティングシステムを介して受信する。このメッセージは、各ＳＡＭテーブルの現在のバージョン数、および各テーブルの「強制された」更新を随意に特定化するフラグを含む。各テーブルについて、ＳＡＭクライアントは、メッセージ内で特定化されたバージョン数対ローカルテーブルバージョンをチェックし、異なる場合のみＢＦＳからそのファイルを取り出し、２度目にバージョン数をチェックする（ただし、「強制」フラグがそのテーブルについて設定されている場合を除く。この場合、ＢＦＳ上のファイルは常にチェックされる）。ＢＦＳ上の送信されるファイルバージョンが、ＳＡＭクライアントに格納されるローカルファイルと異なる場合、ＳＡＭクライアントは、新しいファイルを用いてそのテーブルを更新する。
【００２４】
更新プロセスは、ＳＡＭクライアントが新しいファイルを読み出す間、古いファイルがＨＣＴ上のアプリケーションに対してまだ利用可能であるように、作動する。
【００２５】
ＳＡＭクライアントが新しいテーブルの読み出しを完了してからしか、実際に現在のテーブルを新しい情報に更新しない。この非常に短い「スワップ」の間、データがＳＡＭクライアントインターフェースを介してアクセスされ得ないように、古いテーブルと新たなテーブルとの両方がロックされる。
【００２６】
更新プロセスは、また、ＳＡＭクライアントが、ＳＡＭサーバのＢＦＳの使用の様々な非決定論的局面を処理し得るように、ロバストである。例えば、クライアントで受信されるメッセージの同期化、ＢＦＳサーバ上で変更されるファイル、ＢＦＳによって見られるような変更されるファイルは、全てネットワーク待ち時間によって影響され、異なる順序で起こり得る。
【００２７】
更新情報を受信した後に、ＳＡＭクライアントは、ＳＡＭ情報が変化したことを、ＨＣＴ  ＯＳを介して関心のあるアプリケーションに知らせる。他の構成要素が、それらのサービスおよびチャンネルに関連する情報を更新することを可能にするために、ＳＡＭクライアントは、メモリ内の置換されたデータテーブルの最終バージョンを保持しなければならない。
【００２８】
様々なＳＡＭ情報テーブルは、ＨＣＴブートの間のＳＡＭクライアントによる素早いアクセスのために、ＱＡＭで、帯域内で送信される。ロゴテーブルを除き、テーブルのコピーは、また、ＱＰＳＫで、帯域外で送信される。帯域外ファイルは、視聴者がＨＣＴを用いることが中断されないように、ＳＡＭ情報更新の間、ＳＡＭクライアントによって用いられる（帯域内へのアクセスにはＨＣＴチューナを用いることが必要である）。
【００２９】
次に、図３を参照すると、全て本発明による、サービスアプリケーションマネージャの好適な実施形態で用いられるサービステーブルのブロック図表示が示されている。サービステーブル３００は、サービス識別情報を含み、各々のサービスは、一意のサービスＩＤに割り当てられている。サービステーブルの最初にあるヘッダ情報は、テーブルバージョン３０８およびサブテーブルの数３１０を含む。サービスサブテーブルがその後に続く。各サブテーブル３０２は、サブテーブルエントリーの数、サービスデータセグメントの長さ、インデックス、最終的にはサービスデータセグメントを含む。インデックスは、サービスデータが実際に見いだされるデータセグメント内に、サービスＩＤおよびオフセットの対を含む。従って、特定のサブテーブルが２５の異なるサービスに関連する情報を提供する場合、インデックスは、各ブロックが単一のサービスに対応する、ブロックを２５個含む。全体のサービステーブルに渡るサービスＩＤ３０６は、昇順に格納されるが、隣接する必要はない。各サービスサブテーブルは、サービスデータを６４Ｋｂまで格納し得る。
【００３０】
サービスＩＤをサービステーブルにおいて見いだすために、バイナリサーチが、まずサブテーブル上で、サービスＩＤがどのサブテーブルにあるのか決定するように行われ、その後、サブテーブルのインデックス内において、そのサブテーブル内のサービスデータのオフセットを位置付けるように行われる。オフセットは、その後、データに直接アクセスするために用いられる。
【００３１】
各サービスデータレコードは、全てのサービス属性を含む。このような属性の１つは、記述ＩＤである。記述ＩＤは、サービスを記述するストリング用のバルクテーブルへのインデックスである。１つの実施形態において、各ストリングは、３つのフィールドを含む。（１）文字における短い記述の長さを特定化するアスキーストリング１０進数、（２）短い記述のアスキーストリング、および（３）長い記述のアスキーストリングである。例えば、以下のストリングは、短い記述が「ＷＴＨＲ」であり、長い記述が「天気予報チャンネル（Ｔｈｅ  Ｗｅａｔｈｅｒ  Ｃｈａｎｎｅｌ）」：「４ＷＴＨＲ  天気予報チャンネル（Ｔｈｅ  Ｗｅａｔｈｅｒ  Ｃｈａｎｎｅｌ）」であるサービスを記述する。
【００３２】
データブロック３２０に位置する第２のデータ部分は、ロゴＩＤであり、ロゴＩＤは、サービスのロゴピクセルマップ用のロゴテーブルへのインデックスである。アプリケーションユニバーサルリソースロケーター（「ＵＲＬ」）ＩＤは、放送ファイルシステムにおいて、アプリケーションクライアントをＵＲＬストリング識別する、バルクテーブルへの第３のインデックスである。最終の属性は、数（即ち、ソースＩＤ）、あるいは、パラメータストリングまたはパラメータデータ用のバルクテーブルへのインデックスとして解釈されるアプリケーションに依存するパラメータである。
【００３３】
多くのサービス用のサービスレコードを効率的に格納するために、本発明は、レコードを可変長フィールドで特定化する。この概念は、そのフィールドの特定の値に必要な量のみフィールド用のメモリを用いることである。サービスのフィールドサイズ属性は、各フィールドのサイズを、バイトで特定化するために用いられる。フィールドサイズバイトは、各フィールドについて、バイトの数から１を減算した数を符号化するように、２ビットを用いる。フィールドにおける「００」の値は、１バイトを意味し、「０１」は、２バイトを意味し、以下も同様である。実際のフィールドサイズに関わらず、アクセス動作は、常にフィールド値を３２ビットに戻す。アクセスルーチンは、バイトより大きいフィールドを引き出す場合、データが１直線に並ぶワードまたはハーフワードではないので、バイトレベルで動作しなければならない。フィールドサイズバイトのフォーマットを以下に示す。
【００３４】
フィールドサイズ：  （ｉ＝ビット０；ｉ＜８；ｉ＋＋）について｛
記述ＩＤサイズ−１：２
ロゴＩＤサイズ−１：２
アプリケーションＩＤサイズ−１：２
パラメータサイズ−１：２
｝
従って、各レコードは、５から１７バイトまで、長さが変動する。
【００３５】
従って、次に図４を参照すると、全て本発明による、サービスアプリケーションマネージャと共に用いられるバルクテーブルのブロック図表示が示されている。バルクテーブル４００は、記述用のストリング、アプリケーションＵＲＬ、およびパラメータデータ等のサービスに関連するデータを含む。図３のサービステーブル３００と同様に、バルクテーブルは、上述したように、いくつかの初期エントリー４０２および４０４、続いて複数のバルク情報サブテーブル４０６および４０８を包含する。
【００３６】
各サブテーブルは、サブテーブルエントリーの数、バルクデータセグメントの長さ、インデックス、および最終的にはバルクデータセグメントを含む。インデックスは、バルクデータが実際に見いだされるデータセグメント内に、バルクＩＤおよびオフセットの対を含む。従って、特定のサブテーブルが２５の異なるバルクデータエントリーに関連する情報を提供する場合、インデックスは２５ブロックを含み、各ブロックは単一のバルクデータ項目に対応する。全体のサービステーブルに渡るバルクＩＤは、昇順に格納されるが、必ずしも隣接するしなくてもよい。各バルクサブテーブルは、バルクデータを６４Ｋｂまで格納し得る。
【００３７】
バルクテーブルにおいて、バルクＩＤを見いだすために、バイナリサーチが、まずサブテーブル上で、バルクＩＤがどのサブテーブルにあるのか決定するように行われ、その後、サブテーブルのインデックス内において、そのサブテーブル内のバルクデータのオフセットを位置付けるように行われる。オフセットは、その後、データに直接アクセスするために用いられる。
【００３８】
バルクテーブル自体のサイズおよび内容は、そこに格納されることが必要である、情報のサイズおよびタイプに依存する。バルクデータのいくつかのタイプは、以下のように規定される。アプリケーションＵＲＬは、単純にＮＵＬＬ終端ＡＳＣＩＩストリングである。サービス記述は、２つの連結ＮＵＬＬ終端ＡＳＣＩＩストリングであり、第１は短い記述、第２は長い記述である。例えば、「ＷＧＮＸ＼０ＣＢＳ  Ａｔｌａｎｔａ＼０」は、あり得る記述ストリングである。ストリングは、単純にＮＵＬＬ終端ＡＳＣＩＩストリングである。任意のデータは、バルクテーブルに格納され得、そのデータへのポインタは、ＳＡＭクライアント内のＡＰＩを介して配布される。その後、そのデータの内容の解釈は、アプリケーションクライアントに任される。
【００３９】
次に図５を参照すると、全て本発明による、サービスアプリケーションマネージャと共に用いられる表示チャンネルテーブルのブロック図表示が示されている。表示チャンネルテーブル５００は、サービスＩＤを視聴者に表示されるチャンネル数（表示チャンネル数、またはＤＣＮ）にマッピングするために用いられる。ＳＡＭを用いるケーブルシステムの１つの実施形態において、表示チャンネルテーブルは、ハブ単位を基準として、特定化され得る。これにより、加入者の異なる近所が、異なるチャンネルラインナップを受け取ることを可能にする。
【００４０】
表示チャンネルテーブルは、特定のＤＣＮについての特定のサービスまたはサービスＩＤ用のサービスＩＤを決定するための最適なアクセス時間を可能にするように構成される。両方の変形は、チャンネルナビゲータおよび番組ガイド等の、ＨＣＴにおいて実行するアプリケーションにとって必要である。
【００４１】
表示チャンネルテーブルは、バージョン数５０２、チャンネルインデックス５０４内の有効チャンネル数、および有効サービスインデックス長５０６で始まる。これに、まず、ケーブルシステムにおける各チャンネルについてのビットを含む、有効チャンネルビットマップ５０８が続く。有効な各チャンネルについて、対応するビット位置が有効なチャンネルビットマップ内に設定され、その内容が、続くサービス／ＤＣＮへのインデックスである、ビットマップ内の有効なチャンネルに各々のエントリーが関連付けられる、有効チャンネルインデックス５１０である。サービス／ＤＣＮインデックスは、各有効なサービスＩＤおよび表示チャンネル数のペアについてのエントリーを含む。そのペア内の各表示チャンネル数の中には、チャンネルフラグ（ＤＣＮの最上位ビット）がある。このフラグは、ＤＣＮのサーフィン可能（ｓｕｒｆａｂｌｅ）かどうか、即ち、ユーザがチャンネルラインナップを通じて増加させるか、または減少させることによって達せられ得るかどうかを示す。サービスが１より多いチャンネルと関連付けられ得る、サービスおよびＤＣＮの全ての組合せについて、サービスＩＤ／ＤＣＮが存在する。
【００４２】
これらのデータ構造は、サービスＩＤからＤＣＮへの変換およびＤＣＮからサービスＩＤへの変換がどのように行われるのかを説明することによって、よりよく理解される。ＤＣＮからサービスＩＤに変換するために、まず、有効チャンネルビットマップ内のＤＣＮ用のビットが調査される。ビットが設定される場合、チャンネルは有効であり、そのチャンネルについてのインデックスは、決定されるべきである。インデックスは、ＤＣＮが偶然そうである、正確にＮ番目の有効チャンネル、あるいは、ＤＣＮを表すビットまでおよびそのビットを含む、有効チャンネルビットマップ内に設定されるビットの数である。このルックアップは、そのバイトの各十進数値について単一バイト内に設定されるビットの数を格納するテーブルを用いることによって、計算効率的に作られる。従って、チャンネルインデックスは、有効チャンネルビットマップ内の各バイトの十進数値を取り、十進数値をルックアップテーブルを用いる「設定されたビットの数」に変換し、有効チャンネルビットマップ内の各バイト用のこのカウントをＤＣＮ用のバイトまで蓄積することによって決定され得る。ＤＣＮビットが位置するバイト内の残りのビットは、シフティングおよびマスキングによって加えられる。
【００４３】
設定されたビット数は、直接的に、そのＤＣＮ用のチャンネルインデックスへのオフセットである、そのＤＣＮ用のＮ番目の有効チャンネルである。チャンネルインデックスは、そのＤＣＮ用のサービス／ＤＣＮインデックスへのオフセットを含む。このオフセットが既知になった後、そのＤＣＮ用のサービスＩＤは、３２ビットサービスＩＤ／ＤＣＮ値の上の２つのバイトである。総サーチ時間は、Ｏ（ｎ）である。ただし、ｎはあり得るチャンネルの総計である。これは、例えば、チャンネルのサイズ総数のアレイを格納する必要なく、８（ビットマップ）に有効チャンネルのサイズ総数のアレイを加算したもので除算されたチャンネルのサイズ総数のアレイのみを用いて、達成される。
【００４４】
ＤＣＮ用のサービスＩＤを調べるために、サービスＩＤ／ＤＣＮインデックス５１２上のバイナリサーチが行われる。このインデックスは、サーチがＯ（ｌｏｇ（有効サービスの数／ＤＣＮエントリー））であるように、昇順に分類される。
【００４５】
上記のサービスに加えて、ＳＡＭは、システムで提供されるチャンネルを分割する能力を支持する。分割チャンネルは、そのチャンネル上で２４時間提供される１つより多いサービスがあるチャンネルである。ＳＡＭの１つの実施形態は、各々が２つのサービスを示し、２４時間の間３回までその２つのサービスの間で変更し得る、分割チャンネルを支持し得る。例えば、チャンネルがサービスＸおよびサービスＹを有する分割チャンネルとして特定化される場合、真夜中から開始して、以下の分割、ＸＹ、ＸＹＸ、ＸＹＸＹが利用可能である。分割チャンネルは、予備の定数（ｒｅｓｅｒｖｅｄ  ｃｏｎｓｔａｎｔ）を用いるチャンネルインデックスおよびサービスＩＤ／ＤＣＮインデックスの両方において、表示チャンネルテーブルで識別される。これは、分割チャンネルテーブル内の要求されたＤＣＮについて、情報を調べることをＳＡＭクライアントに示す。常に、分割チャンネルが識別される、各表示チャンネルテーブル用の分割チャンネルテーブルがある。
【００４６】
従って、次に図６を参照すると、全て本発明による、サービスアプリケーションマネージャと共に用いられる、分割チャンネルテーブル６００のブロック図表示が示される。分割チャンネルテーブルは、他のテーブルと同様に、初期エントリー６０２および６０４等の複数の初期エントリーを含む。初期エントリー６０２は、ＳＡＭシステムが情報の最新バージョンで作動していることを知ることを可能にする、分割チャンネルテーブルの最新バージョンを特定化するバージョンである。第２のエントリー６０４は、チャンネルラインナップ内の分割チャンネルの数を特定化する。従って、図６において、識別された分割チャンネルの数は、１つの分割チャンネルレコード６０６のみが分割チャンネルテーブル６００に示されているので１であり得る。しかし、任意の数の分割チャンネルが、このシステムによって支持され得ること、および、本発明がそれほど限定されないことが理解される。分割チャンネルレコード６０６は、例えば、ＤＣＮビーイング分割（ＤＣＮ  ｂｅｉｎｇ  ｓｐｌｉｔ）６０８、チャンネルを分割するサービスのアイデンティティ（ｉｄｅｎｔｉｔｉｅｓ）６１０および６１２、ならびにサービスがチャンネル上で提供される時間を特定化する時間フラグ６１４を含む、複数の情報を含む。これらの時間は、サービス１が、任意の所与の日の真夜中にデフォルトによってオンになるように、特定化される。各時間は、その後、サービス２への交換を何度か記録し、交換の数によって続け得られる。ＨＣＴ内のコアチャンネル管理アプリケーションは、サービス交換が自動的に行われ、クライアントによって行われるように、この情報を用いる。これは、特定のアナログチャンネル上で放送される内容の変更によって分割チャンネルが実現される、現存するアナログシステムと異なる。本発明における分割チャンネルの概念は、また、チャンネルが、テキストチャンネルまたはウェブブラウジング時間のような映像サービスと他の媒体のサービスとの間で分割することを可能にする。
【００４７】
本発明の最終ＳＡＭ情報テーブルは、図７に示すようにロゴテーブルである。ロゴテーブル７００は、サービスロゴデータを格納する。ＳＡＭサーバは、両方とも帯域内で送信される、ＢＦＳ上の２つの異なるロゴテーブルを提供する。１つのテーブルは、ケーブルシステムの配置の際に、ＳＡＭサーバによって既知である、ロゴのデフォルトセットを提供する。本実施形態において、デフォルトのロゴＩＤの範囲は、１〜２５５であり、ロゴの名前を含んで発行される。デフォルトのロゴの画像についてのデータは、非常に速く引き出され、ＨＣＴ内のアプリケーションによってレンダリングされるように、ＨＣＴの不揮発性メモリに格納され得る。デフォルトロゴのセットは、決して変化せず、デフォルトロゴテーブル内のデータも決して変化しない。
【００４８】
ＳＡＭサーバによってサービスに記録される新たなロゴが、他のロゴテーブル内に格納される。ＳＡＭクライアントは、初期化の間、このテーブルをＨＣＴ上のメモリに常にロードし、任意の他のＳＡＭ情報テーブルと同様に更新され得る。従って、ロゴテーブルイニシャルエントリー７０２は、テーブルのバージョン数に関連する。
【００４９】
全てのロゴは、ＧＩＦ等の単一の共通画像フォーマットを、ＳＡＭが送信する（ＳＡＭクライアント内で復号化される）特定のフォーマットに変換する符号器を用いて、ＳＡＭサーバによって符号化される。
【００５０】
アプリケーションクライアントは、ＳＡＭ内のロゴデータに、いくつかの方法で、アクセスし得る。まず、アプリケーションクライアントは、特定のサービスに対応するロゴＩＤを求め得る。ロゴＩＤがアプリケーションクライアント（デフォルトロゴのうちの１つ）によって格納される場合、それ自身のデータを用いて、適切なロゴを引き出し得る。さもなければ、アプリケーションクライアントは、ＳＡＭクライアントに、ＨＣＴ  ＯＳ引き出し能力と互換性のあるフォーマットのロゴピックスマップデータ（ｌｏｇｏ  ｐｉｘｍａｐ  ｄａｔａ）、幅、および高さを求め得る。ゼロのロゴＩＤは、ロゴがないことを意味する。
【００５１】
ロゴテーブルの構造は、バージョン数７０２、テーブルにおけるロゴの数７０４、テーブルにおける第１のロゴの数７０６、およびロゴデータのサイズ７０８で始まる。次は、インデックスが、テーブルの開始ロゴＩＤを減算したロゴＩＤと等しくなるような、ロゴデータオフセットのインデックス７１０である。ロゴ用のインデックスは、ロゴ用の実際の画像データが格納される、ロゴデータセグメント内にオフセットを含む。
【００５２】
ＳＡＭの最初の機能性は、ＤＨＣＴ上のアプリケーションクライアントの活性化である。この活性化は、特定化されたサービスを提供するものか、またはサーバからの信号メッセージに起因しするもののいずれかである。典型的に、ＤＨＣＴのユーザは、表示チャンネル数（ＤＣＮ）を介してサービスにアクセスする。ＳＡＭは、表示チャンネルテーブル（ＤＣＴ）を用いて、ＤＣＮをサービスＩＤにマッピングする。「分割」チャンネルは、１つのチャンネルが、１日の時間に依存して複数のサービスに提供するように、支持される。サービスＩＤを与えられて、ＳＡＭクライアントは、まず、適切なアプリケーションＵＲＬバルクデータＩＤを、現在のサービステーブル内のサービスレコードから抽出し、その後、実際のＵＲＬストリングをバルクテーブルから抽出する。ＳＡＭクライアントは、その後、ＨＣＴオペレーティングシステム（「ＯＳ」）に、アプリケーション用のアプリケーションＵＲＬを備えるモジュールがＨＣＴメモリ内にロードされるかどうかを問い合わせる。ロードされない場合、ＯＳが、アプリケーションＵＲＬを用いるモジュールをロードすることを要求する。ＨＣＴ内にアプリケーションコードがあると、ＳＡＭクライアントは、アプリケーションモジュールを、ＯＳアプリケーションとして始動する（アプリケーションがすでに開始され得る）。その後、ＳＡＭクライアントは、モジュールハンドルを与えられて、ＯＳにアプリケーションを活性化するように求め、これにより、アプリケーションが焦点に合わせられる。最終的に、ＳＡＭクライアントは、サービステーブルからのサービスＩＤおよびサービスパラメータを含む、ｋＥｔ＿Ａｃｔｉｖａｔｅメッセージをアプリケーションクライアントに送信する。
【００５３】
アプリケーションクライアントは、また、サーバから送信されるメッセージによって活性化され得る。ＳＡＭクライアントは、ＳＡＭ信号メッセージを受信するように、ＨＣＴオペレーティングシステムに記録しなければならない。これらのメッセージの内容は、活性化するアプリケーションＵＲＬおよびパラメータとしてアプリケーションを通過するデータである。ＳＡＭクライアントは、従って、アプリケーションＵＲＬおよびいくつかのデータを与えられて、アプリケーションクライアントが活性化され得るメカニズムを提供する。パラメータそのものであることを意味するように、データタイプが整数値である場合、ＵＲＬによって識別されたアプリケーションに、ｋＥｔ＿Ａｃｔｉｖａｔｅメッセージを介して直接通過する。しかし、パラメータがストリングまたはデータの場合、ＳＡＭクライアントによって局所的に格納され、プライベートクライアント使用のための予備の範囲内のバルクデータＩｄを与えられなければならない。ＳＡＭクライアントは、アプリケーションクライアントを活性化させる。バルクデータＩＤは、パラメータとして通過し、特別なｉｄは、通過メッセージを介して活性化されるサービスを意味するように用いられる。その後、アプリケーションクライアントは、ＳＡＭクライアントＡＰＩを、バルクＩＤを与えられるデータを引き出すように、用い得る。アプリケーションに依存して、プライベートバルクデータは、ＵＲＬストリング、直接的に用いられるための実際のストリング、またはデータであり得る。アプリケーションクライアントは、予期しているパラメータタイプを与えられなければならない。これは、信号メッセージが送信される前に、ＳＡＭサーバによって認証されなければならない。しかし、アプリケーションクライアントがストリングを予期する場合、アプリケーションクライアントは、ストリングがＵＲＬであるか、内容そのものであるかを調査しなければならない。アプリケーションクライアントは、ｋＳａｍ＿信号サービスの代わりとして実行する場合、一時停止するとき、プライベートバルクデータを消去しなければならない。
【００５４】
ＳＡＭクライアントは、供給されたパラメータでｋＥｔ＿Ｎｏｔｉｆｙイベントを構成し、指定されたアプリケーションクライアントに転送するように求められ得る。これは、また、サービスＩＤまたはアプリケーションＵＲＬを介して行われ得る。通知イベントタイプは、送信される通知に特定のイベントデータ（ｋＥｄ＿ＳａｍＤａｔａ  Ｕｐｄａｔｅｄ等）、ＩＤ（典型的にはサービスＩＤ）、および２つのパラメータで補足される。
【００５５】
ＳＡＭクライアントは、アプリケーションクライアントは、特定のサービスが現在許可されているかどうか決定するように照会され得る設備を提供する。ＳＡＭは、サービステーブル内の要求されたサービスＩＤについてアプリケーションＵＲＬを調べ、ＳＡＭクライアントＡＰＩ内に作製されるキューに対する非同期応答を要求するｋＥｔ＿ＩｓＡｕｔｈｏｒｉｚｅｄイベントを、アプリケーションクライアントに送信する。ＳＡＭクライアントは、ｋＥｔ＿ＡｓｙｎｃＲｅｓｐｏｎｓｅイベントがアプリケーションクライアントによって伝送されるまでそのキューで待機し、その後、結果をＳＡＭ  ＡＰＩの呼び出し者に戻す。従って、認可照会の間隔が非同期である間、ＳＡＭクライアントＡＰＩは同期である。必要なあらゆる手段を用いて、サービスが認可されるかどうか決定することは、アプリケーションクライアントに任されている。
【００５６】
アプリケーションクライアントは、サービスＩｄによって、またはアプリケーションＵＲＬを直接的に介して、一時停止され得る。アプリケーションクライアントは、また、ＳＡＭサーバからの信号メッセージの結果として一時停止され得る。
【００５７】
従って、図１および図２に示すシステムにおいて、このシステムのチャンネル選択機能には、図３〜７に示すような複数のチャンネル相互参照テーブルが含まれることが理解され得る。これらのテーブルは、様々なタイプの映像および音声番組、ウェブキャスティングおよびＥ−メールのようなオンラインサービス等の様々なテレビサービスまたは他のサービスで、セットトップ端子チャンネルを相互参照する。特定のチャンネルの選択は、その特定のアプリケーション番組の制御を、相互参照テーブルから得られる、１つ以上の適切なパラメータと共に送信し、その選択されたチャンネルに関連付けられるサービスを活性化させる。要するに、図３〜７における相互参照テーブルは、セットトップ端子がソフトウェアを実行し、様々なサービスを活性化することを可能にする、チャンネル選択機能である。図１のシステムの視聴者がチャンネルを選択する場合、ＨＣＴは、表示チャンネルテーブルから、選択されたチャンネルと関連付けられたサービスを識別し、その後、図３のサービステーブルから決定される適切なアプリケーションを実行する。
【００５８】
さらに、チャンネルおよびサービスラインナップは、ＳＡＭクライアントに保持されるデータに基づいて、視聴者に分かるように行われる。これは、加入者が、しばしば気に入るタイプの番組を、このような番組に容易にアクセスするように、ブロックに分類するので重要である。即ち、加入者のテレビサービスに対するセットトップ端子チャンネルのマッピングは、これらのサービスが送信されるケーブルチャンネルを、ケーブルサービスプロバイダが再度割り当てる場合でも維持される。従って、このような再割り当てが起こる場合、本明細書中で上述したように、テーブルの更新されたバージョンが、ＳＡＭサーバからＳＡＭクライアントに送信されて、ＳＡＭサーバオペレータのためにＳＡＭクライアントユーザまでサービスチャンネルにおける明白な変化を提供する。一例として、親が子供にとって不適切であると思う特定のサービスをブロックするようにチャンネル設定を構成した後には、それらのサービスが送信されるケーブルチャンネルの再割り当ては、それらのサービスがブロックされた状態に影響を及ぼさない。
【００５９】
サービスの要求が、ＨＣＴ内の異なるアプリケーションによって行われる方法は、要求されるアプリケーションを一様に識別するように、インターネット上で用いられるものと同様のアプリケーションＵＲＬを組み込むことによって簡略化される。本明細書中で上述したサービスのコンテキストにおいて、サービスがアプリケーションおよびパラメータを含むことが述べられてきた。実際のアプリケーションは、ＢＦＳまたはＨＣＴメモリ内の常駐のいずれかにある、実行可能なアプリケーションコードへのＵＲＬを含み、一方、パラメータは本明細書中で上述したデータストリングを含む。
【００６０】
本発明の好適な実施形態を例示し、説明したが、本発明がそれほど限定されないことが明らかである。多くの改良例、改変例、変形例、代用例、および均等物が、添付の請求の範囲に記載の本発明の精神および範囲から逸脱することなしに、当業者によって為され得る。
【図面の簡単な説明】
【図１】  図１は、本発明による、ケーブルテレビシステムのブロック図である。
【図２】  図２は、本発明による、図１のケーブルテレビシステムに含まれるセットトップ端子の電気的ブロック図である。
【図３】  図３は、本発明による、ケーブルテレビシステム用のサービスアプリケーションマネージャのサービステーブルのブロック図である。
【図４】  図４は、本発明のサービスアプリケーションマネージャと共に用いられる表示チャンネルテーブルのブロック図表示である。
【図５】  図５は、本発明による、サービスアプリケーションマネージャと共に用いられる分割チャンネルテーブルのブロック図表示である。
【図６】  図６は、本発明による、サービスアプリケーションマネージャと共に用いられるバルクテーブルのブロック図表示である。
【図７】  図７は、本発明による、サービスアプリケーションマネージャと共に用いられるロゴテーブルのブロック図表示である。
【図１】
0004422900.tif 000002
【図２】
0004422900.tif 000003
【図３】
0004422900.tif 000004
【図４】
0004422900.tif 000005
【図５】
0004422900.tif 000006
【図６】
0004422900.tif 000007
【図７】
0004422900.tif 000008