(57)【要約】デジタルブロードバンド送達システム（１００）は、複数のデバイス（すなわち、サブ分散ネットワーク（１６０）、ノード（１０６）および加入者（１０８））からネットワークメッセージを受信し、ネットワークのトランスポートストリーム識別子（１５０および１６６）を割り当てるヘッドエンドコントローラ（１０２）を含む。複数のデバイス（（１６０）、（１０６）および（１０８））は、ネットワークメッセージをコントローラ（１０２）に送ることによって第１のメッセージに応答するために更新され、このデバイス（（１６０）、（１０６）および（１０８））は、それらの受信トランスポートストリームをモニタリングして、第２のネットワークメッセージをコントローラ（１０２）に送ることによって変化に応答する。このコントローラ（１０２）は、トランスポートストリームマップを生成するために、受信したネットワークメッセージを用いる。【選択図】図１
2005506745.tif 000002
【特許請求の範囲】
【請求項１】
デジタルネットワークを発見して、マッピングするシステムであって、該システムは、
受信したネットワークメッセージに応答してトランスポートストリームマップを生成するように適応するコントローラと、
該コントローラと通信する複数のデバイスであって、該デバイスの各々は、
少なくとも１つのトランスポートストリームを受信して、
該受信した少なくとも１つのトランスポートストリームをモニタして、
ネットワークメッセージを生成することによって、および該ネットワークメッセージを該コントローラに送ることによって、該受信した少なくとも１つのトランスポートストリームの変化に応答するように適応する、複数のデバイスと
を備える、システム。
【請求項２】
前記コントローラは、初期のマッピングメッセージを前記複数のデバイスに送り、該複数のデバイスのうちの多数のデバイスは、ネットワークメッセージを送ることによって該初期のマッピングメッセージに応答する、請求項１に記載のシステム。
【請求項３】
前記コントローラによって受信された前記ネットワークメッセージは、該メッセージを送信したデバイスに関連するデバイス識別子と、所与のトランスポートストリームに関連するトランスポートストリーム識別子とを含み、該所与のトランスポートストリームは、該デバイス識別子に関連するデバイスによって受信され、かつモニタされたトランスポートストリームである、請求項２に記載のシステム。
【請求項４】
前記ネットワークメッセージは、ネットワーク情報を含む、請求項３に記載のシステム。
【請求項５】
前記多数のデバイスは、少なくとも１つのトランスポートストリームを送信するように適応し、該多数のデバイスの各々からの前記ネットワークメッセージは、該少なくとも１つの送信されたトランスポートストリームに関連する第２のトランスポートストリーム識別子を含む、請求項３に記載のシステム。
【請求項６】
前記コントローラは、前記多数のデバイスのうちの各々から送信された各トランスポートストリームに対する固有のトランスポートストリーム識別子を決定し、特定の固有のトランスポートストリーム識別子を該多数のデバイスのうちの特定のデバイスに関連付け、第２のメッセージを該特定のデバイスに送信し、該第２のメッセージは、該特定の固有のトランスポートストリーム識別子を含む、請求項５に記載のシステム。
【請求項７】
前記特定のデバイスは、前記特定のデバイスから前記特定の固有のトランスポートストリーム識別子へ送信された前記少なくとも１つのトランスポートストリームの前記トランスポートストリーム識別子を再マッピングすることによって、前記第２のメッセージに応答する、請求項６に記載のシステム。
【請求項８】
前記複数のデバイスのうちの第２の特定のデバイスは、前記トランスポートストリームに関連する前記特定の固有のトランスポートストリーム識別子を有する前記トランスポートストリームを受け取り、第２のネットワークメッセージを前記コントローラに送信し、該第２のネットワークメッセージは、該特定の固有のトランスポートストリーム識別子を含み、該コントローラは、該トランスポートストリームマップにおいて前記第１の特定のデバイスを該第２の特定のデバイスに関連付ける、請求項７に記載のシステム。
【請求項９】
少なくとも１つのトランスポートストリームを送受信する複数のデバイスを含むデジタルネットワークをマッピングする方法であって、該方法は、
該複数のデバイスのうちの多数のデバイスを、該デジタルネットワーク内の複数のティアにグループ化するステップと、
第１ティアの第１の特定のデバイスを、該デジタルネットワークの第２ティアの第２の特定のデバイスに関連付けるステップであって、該第２の特定のデバイスは、該第１の特定のデバイスから送信されたトランスポートストリームを受信する、ステップと
を包含する、方法。
【請求項１０】
少なくとも１つのトランスポートストリームを送受信する複数のデバイスを含むデジタルネットワークをマッピングする方法であって、該方法は、
該複数のデバイスのうちの多数のデバイスを、該デジタルネットワーク内の複数のティアにグループ化するステップと、
第１ティアの第１の特定のデバイスを、該デジタルネットワークの第２ティアの第２の特定のデバイスに関連付けるステップであって、該第２の特定のデバイスは、該第１の特定のデバイスから送信されたトランスポートストリームを受信する、ステップと
を包含する、方法。
【請求項１１】
前記グループ化するステップの前に、
初期のマッピングメッセージを前記複数のデバイスに送信するステップと、
ネットワークメッセージを該複数のデバイスから受信するステップであって、デバイス毎の各ネットワークメッセージは、出力トランスポートストリーム識別子およびデバイス識別子を含み、該トランスポートストリーム識別子は、該デバイス識別子に関連するデバイスによって送信されたトランスポートストリームに関連する、ステップと
をさらに包含する、請求項９に記載の方法。
【請求項１２】
前記グループ化するステップは、前記ネットワークメッセージの各々、および表に含まれたデバイス識別子を用いて、前記複数のデバイスをティアにグループ化するステップをさらに包含する、請求項１１に記載の方法。
【請求項１３】
前記ネットワークメッセージの各々は、第２のトランスポートストリームに関連した入力ネットワークストリーム識別子をさらに含み、該第２のトランスポートストリームは、前記デバイス識別子に関連するデバイスによって受信される、請求項１１に記載の方法。
【請求項１４】
前記入力ネットワークストリーム識別子は、ネットワークトランスポートストリームソース識別子を含む、請求項１３に記載の方法。
【請求項１５】
前記ネットワークトランスポートストリームソースインジケータは、前記デジタルネットワークにおけるネットワークトランスポートのソースであるデバイス用の所定の値である、請求項１４に記載の方法。
【請求項１６】
所与のティアの前記多数のデバイスのうちの特定のデバイスから送信された特定のトランスポートストリームに関連する特定のトランスポートストリーム識別子が、該所与のティアの該多数のデバイスのうちの１つ以上のデバイスから送信された他のトランスポートストリームに関連する１つ以上のトランスポートストリーム識別子と同じであるかどうかを判定するステップと、
該特定のトランスポートストリーム識別子が同じではないと判定することに応答して、該特定のデバイスを該特定のトランスポートストリーム識別子に関連付けるステップと
をさらに包含し、
該特定のトランスポートストリーム識別子が同じであると判定することに応答して、
該特定のトランスポートストリームに対する新規のトランスポートストリーム識別子を判定するステップであって、該新規のトランスポートストリーム識別子は、該所与のティアの該多数のデバイスから送信されたトランスポートストリームに関連する他のトランスポートストリーム識別子とは異なる、ステップと、
再マッピングメッセージを該特定のデバイスに送信するステップであって、該特定のデバイスは、該特定のトランスポートストリームに関連する該特定のトランスポートストリーム識別子を該新規のトランスポートストリーム識別子に再マッピングすることによって、該再マッピングメッセージに応答する、ステップと、
該特定のデバイスを該新規のトランスポートストリーム識別子に関連付けるステップと
をさらに包含する、請求項９に記載の方法。
【請求項１７】
前記再マッピングメッセージを送信するステップの後に、
第２の特定のデバイスから別のネットワークメッセージを受信するステップであって、該第２の特定のデバイスは、前記第１の特定のデバイスから送信された該特定のトランスポートストリームを受信する、ステップ
をさらに包含する、請求項１６に記載の方法。
【請求項１８】
前記第２の特定のデバイスは、前記特定のトランスポートストリームに関連する該特定のトランスポートストリーム識別子を再マッピングする前記第１の特定のデバイスに応答して、前記他のネットワークメッセージを送る、請求項１７に記載の方法。
【請求項１９】
前記特定のデバイスを少なくとも１つの入力トランスポートストリーム識別子に関連付けるステップであって、該特定のデバイスからの該ネットワークメッセージは、少なくとも１つのトランスポートストリーム識別子を含み、該少なくとも１つのトランスポートストリーム識別子は、該特定のデバイスで受信した該少なくとも１つのトランスポートストリームに関連する、請求項１６に記載の方法。
【請求項２０】
前記デジタルネットワークは、複数のトランスポートストリーム受信器を含み、該複数のトランスポートストリーム受信器は、少なくとも１つのトランスポートストリームを受信し、
該複数のトランスポートストリーム受信器のうちの多数のトランスポートストリーム受信器からメッセージを受信するステップであって、受信器毎の該複数のトランスポートストリーム受信器の各々は、デバイス識別子およびトランスポートストリーム識別子を含み、該トランスポートストリーム識別子は、該トランスポートストリーム受信器によって受信されたトランスポートストリームに関連する、ステップ
をさらに包含する、請求項３３に記載の方法。
【請求項２１】
前記多数のトランスポートストリーム受信器のうちの各々は、応答して、前記メッセージを送ることによってメッセージのマッピングを初期化する、請求項２０に記載の方法。
【請求項２２】
デジタルネットワークをマッピングする方法であって、該方法は、
固有のトランスポートストリーム識別子を複数のトランスポートストリームのうちの各トランスポートストリームに割り当てるステップであって、該複数のトランスポートストリームは、前記デジタルネットワークに含まれる複数のデバイスから送信される、ステップと、
割り当てられた各固有のトランスポートストリーム識別子を該複数のデバイスのうちの特定のデバイス関連付けるステップであって、該特定のデバイスは、該トランスポートストリームに割り当てられた該固有のトランスポートストリーム識別子を有する該トランスポートストリームを送信する、ステップと、
該複数のデバイスのうちの各々に、該複数のデバイスのうちの各々に割り当てられた固有のトランスポートストリーム識別子を送信するステップと、
該複数のデバイスのうちの多数のデバイスからネットワークメッセージを受信するステップであって、各ネットワークメッセージは、少なくとも１つの入力トランスポートストリーム識別子を含む、ステップと、
該複数のデバイスに対するデバイスの階層を決定するために該多数のネットワークメッセージを用いるステップと
を包含する、方法。
【請求項２３】
前記少なくとも１つの入力トランスポートストリーム識別子は、該固有のトランスポートストリーム識別子のうちの１つである、請求項２２に記載の方法。
【請求項２４】
前記多数のネットワークメッセージを用いるステップは、
前記複数のデバイスのうちの第１のデバイスを前記多数のデバイスのうちの第２のデバイスに関連付けるステップであって、該第２のデバイスからの前記ネットワークメッセージの前記少なくとも１つの入力トランスポートストリーム識別子は、該第１のデバイスに関連する少なくとも１つの固有のトランスポートストリーム識別子を含む、ステップをさらに包含する、請求項２２に記載の方法。
【請求項２５】
前記割り当てるステップの前に、前記複数のデバイスから第２のネットワークメッセージを受信するステップであって、デバイス毎の各第２のネットワークメッセージは、出力トランスポートストリーム識別子を含む、ステップをさらに包含する、請求項２２に記載の方法。
【請求項２６】
前記割り当てるステップは、前記固有のトランスポートストリーム識別子を割り当てる前記複数のデバイスからの各第２のネットワークメッセージに含まれる出力トランスポートストリーム識別子を用いるステップをさらに包含する、請求項２５に記載の方法。
【請求項２７】
前記第２のネットワークメッセージを受信するステップの前に、
前記デジタルネットワークに含まれる第２の複数のデバイスにマッピング初期化メッセージを送るステップであって、該第２の複数のデバイスは、前記第１の複数のデバイスを含み、該第１の複数のデバイスの各々は、該第２のネットワークメッセージを送ることによって該マッピング初期化メッセージに応答する、ステップをさらに包含する、請求項２５に記載の方法。
【請求項２８】
前記第１の複数のデバイスが前記第２の複数のデバイスと同じであるかどうかを判定するステップと、
該第１の複数のデバイスが該第２の複数のデバイスと同じではないと判定することに応答して、警告メッセージを生成するステップと
をさらに包含する、請求項２７に記載の方法。
【請求項２９】
前記割り当てるステップの前に、前記複数のデバイスから第２のネットワークメッセージを受信するステップであって、デバイス毎の各第２のネットワークメッセージは、該メッセージを送るデバイスに関連する送信識別子を含む、ステップをさらに包含する、請求項２２に記載の方法。
【請求項３０】
前記関連するステップは、前記複数のデバイスから各第２のネットワークメッセージに含まれる前記送信識別子を用いて、各割り当てられた固有のトランスポートストリーム識別子を前記特定のデバイスに関連付けるステップであって、該特定のデバイスは、各々に割り当てられた該固有のトランスポートストリーム識別子を有するトランスポートストリームを送信する、ステップをさらに包含する、請求項２９に記載の方法。
【請求項３１】
前記第２のネットワークメッセージを受信するステップの前に、
マッピング初期化メッセージを前記デジタルネットワークに含まれる第２の複数のデバイスに送るステップであって、該第２の複数のデバイスは、前記第１の複数のデバイスを含み、該第１の複数のデバイスの各々は、該第２のネットワークメッセージを送ることによって、該マッピング初期化メッセージに応答する、ステップをさらに包含する、請求項２９に記載の方法。
【請求項３２】
前記第１の複数のデバイスが前記第２の複数のデバイスと同じであると判定するステップと、
該第１の複数のデバイスが該第２の複数のデバイスと同じではないと判定することに応答して、警告メッセージを生成するステップと
をさらに包含する、請求項３１に記載の方法。
【請求項３３】
トランスポートストリームを受信するデジタルネットワークにおける装置であって、該装置は、
該トランスポートストリームを受信するように適応したポートであって、該トランスポートストリームは、該トランスポートストリームに関連するトランスポートストリーム識別子を有する、ポートと、
該入力ポートと通信するプロセッサであって、該プロセッサは、該トランスポートストリーム識別子をモニタリングすることに適して、ネットワークメッセージを生成することによって、該トランスポートストリーム識別子に対する変化に応答する、プロセッサと
を備える、装置。
【請求項３４】
前記ネットワークメッセージは、第２のトランスポートストリーム識別子を含み、該第２のトランスポートストリーム識別子は、前記受信したトランスポートストリームに関連する新規のトランスポートストリーム識別子である、請求項３３に記載の装置。
【請求項３５】
前記ネットワークメッセージは、前記装置に関連するデバイス識別子をさらに含む、請求項３４に記載の装置。
【請求項３６】
前記ネットワークメッセージは、前記ポートを通って送信される、請求項３３に記載の装置。
【請求項３７】
前記ポートは、複数の入力ポートであり、該複数の入力ポートの各々は、少なくとも１つのトランスポートストリームに関連するトランスポートストリーム識別子を有する該少なくとも１つのトランスポートストリームを受信して、前記プロセッサは、各入力トランスポートストリームの該トランスポートストリーム識別子をモニタリングして、該ネットワークメッセージを生成することによって該トランスポートストリーム識別子に対する変化に応答するように適応する、請求項３３に記載の装置。
【請求項３８】
前記ネットワークメッセージは、前記受信した入力トランスポートストリームの各々に関連する現在のトランスポートストリーム識別子を含む、請求項３７に記載の装置。
【請求項３９】
前記プロセッサと通信する送信器であって、該送信器は、前記受信したトランスポートストリームの少なくとも一部を含む第２のトランスポートストリームを送信するように適応する、送信器と、
メッセージを送受信するように適応した第２のポートであって、該ネットワークメッセージは、該第２のポートを通って送信され、該ネットワークメッセージは、該装置に関連するデバイス識別子をさらに備える、請求項３３に記載の装置。
【請求項４０】
前記ネットワークメッセージは、前記受信したトランスポートストリームに関連した前記現在のトランスポートストリーム識別子を含む、請求項３９に記載の装置。
【請求項４１】
前記第２のトランスポートストリームは、該第２のトランスポートストリームに関連する第２のトランスポートストリーム識別子を有し、前記プロセッサは、前記第２のポートから再マッピングメッセージを受信して、該第２のトランスポートストリームに関連する該第２のトランスポートストリーム識別子を再マッピングすることによって該再マッピングメッセージに応答する、請求項３９に記載の装置。
【請求項４２】
前記プロセッサは、前記第２のポートから初期化マッピングメッセージを受信し、該装置に関連するデバイス識別子、およびネットワークメッセージに含まれるトランスポートストリーム識別子を有する該ネットワークメッセージを該第２のポートを通って送ることによって、該初期化マッピングメッセージに応答する、請求項３９に記載の装置。
【請求項４３】
前記プロセッサは、前記ポートから初期化マッピングメッセージを受信し、該装置に関連するデバイス識別子、およびネットワークメッセージに含まれるトランスポートストリーム識別子を有する該ネットワークメッセージを該ポートを通って送ることによって、該初期化マッピングメッセージに応答する、請求項３３に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の分野）
本発明は、デジタル加入者テレビジョンシステム等のブロードバンド通信システム、およびこのようなシステム内のデジタルヘッドエンドおよびハブの機器に関し、より具体的には、ブロードバンド通信システム内の発見デバイスに関する。
【背景技術】
【０００２】
（発明の背景）
ブロードバンドシステムは、限定受信システム（ｃｏｎｄｉｔｉｏｎａｌ  ａｃｃｅｓｓ  ｓｙｓｔｅｍ）の加入者にテレビジョン信号を送信することが多い。ケーブルおよび衛星テレビジョンシステム等のブロードバンドシステムは、通常、種々のソースからプログラミングおよび／またはデータを受信し、このプログラミングおよび他のデータを分散システムを通じて加入者に再配信するためのヘッドエンドを備える。このヘッドエンドは、種々のソースからプログラミング信号を受信し、種々のソースからのプログラミング信号を組み合わせ、かつ、組み合わされた信号を分散システムを通じて加入者機器に送信する。分散システムは、同軸ケーブル、光ファイバ、および衛星中継等の種々の媒体、ならびに、分散型ノードのネットワークを備え得る。この分散型ノードは、その後、加入者ロケーションか、または分散型ハブのネットワークにプログラミングを送信する。ケーブルテレビジョンシステムにおいて、加入者機器は、ケーブル対応（ｃａｂｌｅ−ｒｅａｄｙ）テレビジョン、ケーブル対応ビデオカセットレコーダ（ＶＣＲ）、あるいは、テレビ、コンピュータ、または他の表示デバイスと接続されるＤＨＣＴ（ｄｉｇｉｔａｌ  ｈｏｍｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ  ｔｅｒｍｉｎａｌ）を含み得る。
【０００３】
ヘッドエンドは、アナログフォーマットに代わって、益々、例えば、ＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅｓ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）等のデジタルフォーマットでプログラムを送受信する。プログラムをＭＰＥＧフォーマットで送信することは有利である。なぜなら、マルチデジタルプログラムは、組み合わされ、かつ、例えば、シングルのアナログチャネルまたはプログラムを送信するために必要とされる帯域幅と同じ大きさの６ＭＨｚの帯域幅で送信され得るからである。
【０００４】
ＭＰＥＧトランスポートストリームは、トランスポートストリーム内のプログラミングのタイプおよびロケーションを示すＭＰＥＧテーブル等のオーバーヘッド情報を含む。ローカルテレビジョンシステムにおいて、ＭＰＥＧテーブルは、ローカル分散システム、および、その特定のチャネル系列に特有の情報を含む。この用途において言及されたＭＰＥＧは、ＭＰＥＧ−１およびＭＰＥＧ−２規格と呼ばれる。ＭＰＥＧ−１規格（ＩＳＯ／ＩＥＣ  １１１７２）およびＭＰＥＧ−２規格（ＩＳＯ／ＩＥＣ  １３８１８）は、国際標準化機構の文献ＩＳＯ／ＩＥＣ  ＪＴＣ１／ＳＣ２９／ＷＧ１１Ｎ（ＭＰＥＧ−１に関しては１９９６年６月、および、ＭＰＥＧ−２に関しては１９９６年７月）に詳細に記載されており、これは、参考のため、本明細書中に援用される。従って、ヘッドエンドシステム、およびモジュレータは、特に、送出されるビットストリームに、必要とされるＭＰＥＧテーブルデータを追加しなければならない。
【０００５】
ＭＰＥＧトランスポートストリームは、標準パケットで構成され、これらのパケットの各々は、１８８バイトの大きさである。パケットの各々は、ヘッダおよびペイロードを含む。通常、ヘッダは、４バイトの大きさであり、ペイロードは、１８４バイトの大きさであるが、ヘッダは、拡張され得る。この場合、ペイロードは、対応する大きさだけ縮小される。ヘッダは、パケット識別子（ＰＩＤ）を含み、これは、パケットを識別するために用いられる１３ビットフィールドである。従って、トランスポートストリームにおけるパケットに８，１９２の可能なＰＩＤ値が割り当てられ得る。ＰＩＤ＝０およびＰＩＤ＝８，１９１等の特定のＰＩＤ値が予約され、これらは、ＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅｓ）およびスタッフィングパケットをそれぞれ識別するために用いられ、これらは、より詳細に後述される。
【０００６】
一般に、トランスポートストリームは、複数の基本ストリームを含み、各基本ストリームは、共通のＰＩＤ値を有するパケットで構成される複数の基本ストリームを含む。トランスポートストリーム内で、各基本ストリームには、ＰＩＤ値が関連付けられ、これにより、２つの基本ストリームが同じＰＩＤ値と関連付けられることはない。
【０００７】
ＭＰＥＧプログラムは、複数の基本ストリームで構成されている。一般に、ＭＰＥＧプログラムは、デジタルビデオ情報が中に含まれるパケット、および少なくとも１つのオーディオ基本ストリームで構成されるビデオ基本ストリームを含む。
【０００８】
一般に、トランスポートストリームは、複数のプログラムを含み、これらの各々は、プログラム番号によって一意的に識別される。トランスポートストリームは、ＰＡＴパケットを含み、これは、０のＰＩＤ値を有する。トランスポートストリームは、プログラムアイデンティティをそのプログラム番号にマッピングする。プログラムは、例えば、ＰＢＳ、ＥＳＰＮ等の、従来、テレビジョンチャネルと呼ばれてきたものに対応する。ＰＡＴは、トランスポートストリームに含まれるプログラムのＰＭＴ（ｐｒｏｇｒａｍ  ｍａｐ  ｔａｂｌｅ）の基本ストリームのＰＩＤ値を識別する。プログラムのＰＭＴは、プログラムの基本ストリームのＰＩＤ値のすべてを列挙する。従って、プログラム、および、そのコンテンツを識別するプロセスは、２つのステージで行われる。最初のステージは、プログラムのＰＭＴを搬送する基本ストリームのＰＩＤを識別するために、ＰＩＤ＝０の基本ストリームにおけるＰＡＴを用い、その後、次のステージにおいて、適切なＰＭＴから、プログラムを構成する基本ビットストリームのＰＩＤが取得される。デマルチプレクサまたはデコーダは、目的のプログラムに対応する識別されたパケットを受信するように設定され得る。換言すると、基本ストリームは、同期されなければならないため、プログラムのオーディオおよびビデオ信号が互いに対応し合う。
【０００９】
デジタルネットワークの加入者は、通常、複数のトランスポートストリームを受信し、これらのトランスポートストリームの各々は、トランスポートストリーム識別子（ＴＳＩＤ）によって識別される。一般に、加入者は、特定のプログラムを選択し、加入者のデコーダは、例えば、選択されたプログラムを有するプログラムストリームのＴＳＩＤを決定するために、電子番組ガイド等のテーブルを調べる。このようなシステムを動作させるために、加入者のデコーダにて受信される各トランスポートストリームが一意的に識別されなければならず、すなわち、加入者のデコーダによって受信された各トランスポートストリームは固有のＴＳＩＤを必要とする。デジタル加入者ネットワークのオペレータが複数のコンテンツプロバイダからトランスポートストリーム等のコンテンツを受信することが多く、かつ、異なったコンテンツプロバイダからのトランスポートストリームが、デジタル加入者ネットワーク内で一意的であるように、デジタル加入者ネットワークのオペレータは、ＴＳＩＤを再マッピングする必要が度々あるということが、従来のシステムにおいて難解である。従来のネットワークにおいて、ネットワークのオペレータは、ネットワークのトランスポートストリームにＴＳＩＤを手動で割り当てる。しかしながら、ＴＳＩＤの手動での割り当ては、オペレータの時間の使用が非能率的であり、従って、ＴＳＩＤを自動的に割り当てる手段が必要とされる。
【００１０】
さらに、従来のデジタル加入者ネットワークにおいて、ネットワークのオペレータには、ダイナミックネットワーク情報が提供されない。このオペレータは、トランスポートストリームを搬送する任意の通信リンクにおいて利用可能な現在の帯域幅を決定するための手段を有しない。従って、オペレータは、トランスポートストリームに別のプログラムを追加するかどうかを決定しようとする場合、トランスポートストリームの現在利用可能な帯域幅を推測し得るだけである。オペレータが、利用可能な帯域幅を過大評価した場合、新しいプログラムは、トランスポートストリームの帯域幅が通信リンクの帯域幅を越える原因となり得、従って、「マクロブロッキング（ｍａｃｒｏ  ｂｌｏｃｋｉｎｇ）」として知られる現象が生じる。マクロブロッキングが生じた場合、パケットは、トランスポートストリームからドロップし、その結果、トランスポートストリーム内のプログラムの質が低下し、そして、複数の加入者が不満をもつ原因となる。他方、マクロブロッキングが生じないように、オペレータが、利用可能な大域幅を過小評価した場合、ネットワークは、フル効率で動作せず、オペレータは、帯域幅を無駄にする。デジタル加入者ネットワークの帯域幅は、非常に価値のある商品であるため、従って、デジタル加入者ネットワークは、オペレータがネットワークリソースを知能的に（ｉｎｔｅｌｌｉｇｅｎｔｌｙ）割り当てることを可能にするダイナミックネットワーク情報を必要とする。
【００１１】
従来のシステムにおいて、システムコントローラは、デジタル加入者ネットワークの複数の管理機能を取り扱う。例えば、加入者は、ネットワークにおけるパーソナルセッション等のサービスをリクエストし得る。システムコントローラは、特に、加入者のセッションを確立し、セッションのためのコンテンツを加入者に送達する方法を決定し、セッションの加入者に課金する。従って、システムコントローラにかかる処理の負担を推測し直す必要がある。
【発明の開示】
【課題を解決するための手段】
【００１２】
（発明の好ましい実施形態の詳細な説明）
本発明の好ましい実施形態が、いくつかの図面全体において同じ符号は同じコンポーネントを表し、本発明の例示的実施形態が示される添付の図面を参照して、より詳細に後述される。しかしながら、この方法は、複数の異なった形態で実施され得、本明細書中で述べられる実施形態に限定されると解釈されるべきでない。すべての実施例は、非限定的であることが意図され、本発明の範囲内にさらなる実施例が含まれる。
【００１３】
（テレビジョンシステムの概観）
本発明の好ましい実施形態は、例として、双方向の、インタラクティブデジタル加入者テレビジョンシステムの文脈で最も良好に理解される。この記載において、双方向インタラクティブデジタル加入者テレビジョンシステムは、（デジタルブロードバンド送達システム）ＤＢＤＳ（Ｄｉｇｉｔａｌ  Ｂｒｏａｄｂａｎｄ  Ｄｅｌｉｖｅｒｙ  Ｓｙｓｔｅｍ）またはデジタル加入者ネットワークとも呼ばれる。例示的ＤＢＤＳの概観は、「Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｓｙｓｔｅｍ」と称される、米国特許第６，１５７，７１９号に記載される（この特許は、参考のため、本明細書中にその全体が援用される）。ＤＢＤＳの機能は、コンテンツプロバイダ、エンタイトルメントエージェントにインターフェースを提供し、コンテンツへのアクセスおよびコンテンツの使用を制御し、かつ、加入者にコンテンツを配信することである。ＤＢＤＳは、ビデオ、オーディオ、およびデータエンターテイメントプログラミングを送達するための、ＭＰＥＧトランスポートストリームを用いる。これらは、特に、ローカルテレビジョンチャネル、プレミアム映画チャネル、ＶＯＤ（ｖｉｄｅｏ−ｏｎ−ｄｅｍａｎｄ）、電話サービス、およびインターネットアクセス等のプログラミングおよびデータ情報を含み得る。
【００１４】
図１を参照して、ＤＢＤＳ（ｄｉｇｉｔａｌ  ｂｒｏａｄｂａｎｄ  ｄｅｌｉｖｅｒｙ  ｓｙｓｔｅｍ）１００は、ヘッドエンド１０２、複数のハブ１０４、複数のノード１０６、複数の加入者ロケーション１０８、および複数の（デジタル家庭通信端末）ＤＨＣＴ（ｄｉｇｉｔａｌ  ｈｏｍｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎ  ｔｅｒｍｉｎａｌｓ）１１０を含む。ヘッドエンド１１０２は、ＤＢＤＳ１００と、ブロードキャスタ、インターネットサービスプロバイダ等のコンテンツプロバイダ１１４との間のインターフェースを提供する。ヘッドエンド１０２とコンテンツプロバイダ１１４との間の伝送媒体は、双方向であり得る。これは、ＤＢＤＳ１００を介するインターネットアクセス等の双方向インタラクティブサービスを考慮している。
【００１５】
メイントランクおよびブランチを有する従来の分散システムとは異なり、ＤＢＤＳ１００は、伝送媒体１５０を介して、複数のハブ１０４と直接通信するヘッドエンド１０２を備え、これらのハブは、伝送媒体１５２を介して複数のノード１０６と通信する。しかしながら、これに代わる実施形態において、ヘッドエンド１０２は、いくつかまたはすべてのノード１０６と、ならびに、いくつかまたはすべての加入者ロケーション１０８と直接通信し得る。ヘッドエンド１０２が、ノード１０６および加入者ロケーション１０８と直接通信するか、ノード１０６または加入者ロケーション１０８と直接通信するかは、実現方法によって異なる。
【００１６】
ハブ１０４は、伝送媒体１５０を介してプログラミングおよび他の情報をヘッドエンド１０２から受信し、かつ、伝送媒体１５２を介して情報をノード１０６に送信し、これは、その後、伝送媒体１５４を通じて情報を加入者ロケーション１０８に送信する。ハブ１０４は、さらに、伝送媒体１５４を介して情報を加入者ロケーション１０８に直接送信する。さらに、ハブ１０４が加入者ロケーション１０８と直接通信するか、または、ノード１０６と直接通信するかは、実現方法によって異なる。
【００１７】
好ましい実施形態において、伝送媒体１５０および１５２は、高品質および高速の信号配信を可能にする光ファイバであり、伝送媒体１５４は、ブロードバンド同軸ケーブルまたは光ファイバである。これに代わる実施形態において、伝送媒体１５０、１５２、および１５４は、光ファイバ、同軸ケーブル、および、ＨＦＣ（ｈｙｂｒｉｄ  ｆｉｂｅｒ−ｃｏａｘ）、衛星、ダイレクトブロードキャスト、または他の伝送媒体等の種々の媒体の１つ以上を含み得る。通常、伝送媒体１５０、１５２、および１５４は、帯域内および帯域外情報が送信される双方向通信媒体である。伝送媒体１５０、１５２、および１５４を通じて、加入者ロケーション１０８は、ヘッドエンド１０２またはハブ１０４と直接または間接的に双方向通信する。
【００１８】
ＤＢＤＳ１００は、通信媒体１５０によってヘッドエンド１０２と接続された複数のサブ分散ネットワーク１６０を備える。各サブ分散ネットワーク１６０は、ハブ１０４、およびハブ１０４と接続された複数のノード１０６を備える。同様に、通信リンク１６６を通じてヘッドエンド１０２に接続されたハブ１０４は、プログラミングおよびデータ情報をサブ分散ネットワーク１６０に導入するためのミニヘッドエンドとして機能する。ミニヘッドエンドとして機能する複数のハブ１０４を有することによって、異なったデータ情報およびプログラミングを種々のサブ分散ネットワーク１６０に導入することが容易になる。例えば、ノード１０６（Ｂ）に接続された加入者ロケーション１０８（Ｂ）は、加入者ロケーション１０８（Ｂ）および１０８（Ｃ）は、物理的に互いに近接した状態であり得るとしても、ヘッドエンド１０２と直接接続された加入者ロケーション１０８（Ｃ）に利用可能なデータ情報およびプログラミングとは異なったデータ情報およびプログラミングを受信し得る。加入者ロケーション１０８（Ｂ）のデータ情報およびプログラミングは、ハブ１０４およびノード１０６（Ｂ）を通じてルーティングされ、ハブ１０４は、ヘッドエンド１０２を通じて利用可能ではないＤＢＤＳ１００にデータ情報およびプログラミングを導入し得る。
【００１９】
加入者ロケーション１０８において、デコーダまたはＤＨＣＴ１１０は、ＤＢＤＳ１００と加入者との間に双方向インターフェースを提供する。ＤＨＣＴ１１０は、データ情報およびプログラミングを、ヘッドエンド１０２またはハブ１０４から直接または間接的に受信し、テレビジョンセット（ＴＶ）１１２またはコンピュータモニタ等の表示デバイス上に表示するための信号を含む信号をデコードする。当業者は、これに代わる実施形態において、信号をデコードするための機器が、ＤＨＣＴ、コンピュータ、ＴＶ、モニタ、またはＭＰＥＧデコーダを含むが、これらに限定されない種々の機器に配置され得ることを理解する。
【００２０】
ＤＢＤＳ１００の加入者は、ＤＢＤＳ１００のオペレータからのサービスをリクエストし得る。加入者に提供されるサービスは、電話サービス、インターネットアクセス、オーディオプログラミング、テレビジョンプログラミング、および、ビデオオンデマンド等のペイパービューサービスを含むが、これらに限定されない。
【００２１】
図２を参照して、ミニヘッドエンドであるハブ１０４は、ヘッドエンド１０２のような機器および機能のいくつかまたはすべてを含む。ヘッドエンド１０２は、ネットワークコントローラ２３４を、ハブ１０４は、サブネットワークコントローラ２３６をそれぞれ備える。コントローラ２３４および２３６は、通信リンク１６６を通じて通信する。ある実施形態において、通信リンク１６６は、１０ｂａｓｅＴ伝送を行うためのツイストケーブルペアである。これに代わる通信リンクは、光ファイバケーブル、同軸ケーブル、および、これらの組み合わせを含むが、これらに限定されない。
【００２２】
好ましくは、後述される機能を提供するコンピュータハードウェアおよびソフトウェアを含むネットワークコントローラ２３４は、テレビジョンシステムオペレータが、ＤＢＤＳ１００の機能および性能を制御およびモニタリングすることを可能にする。例えば、Ｓｃｉｅｎｔｉｆｉｃ−ＡｔｌａｎｔａのＤｉｇｉｔａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｎｔｒｏｌ  Ｓｙｓｔｅｍ（ＤＮＣＳ）等（しかし、限定されない）のネットワークコントローラ２３４は、ビデオ、オーディオ、およびデータを含むＤＢＤＳ１００における通信をモニタリング、制御、および調整する。ネットワークコントローラ２３４は、ヘッドエンド１０２に配置され得るか、または遠隔地に配置され得る。
【００２３】
コントローラ２３４および２３６は、ＤＢＤＳ１００のプログラミングのチャネル系列、各加入者への課金、加入者に配信されるコンテンツの限定受信、セッションの開始、マネージング、および終了、ならびに、ネットワークトランスポートストリームの制御、マネージング、および識別を含む種々の機能をモニタリングおよび／または制御するために、通信リンク１６６を介して種々のコンポーネントとインターフェースする。コントローラ２３４および２３６と通信する種々のコンポーネントは、衛星信号受信器２１４、アプリケーションサーバ２１６、エンコーダ２１８、スイッチ２２０、ルータ２２２、ＢＩＧ（ｂｒｏａｄｂａｎｄ  ｉｎｔｅｇｒａｔｅｄ  ｇａｔｅｗａｙ）２２４、ＱＰＳＫ（Ｑｕａｄｒａｔｕｒｅ  Ｐｈａｓｅ−Ｓｈｉｆｔ  Ｋｅｙｉｎｇ）モデムアレイ２２８、およびＭＱＡＭ（ｍｕｌｔｉ−ｑｕａｄｒａｔｕｒｅ  ａｍｐｌｉｔｕｄｅ  ｍｏｄｕｌａｔｏｒ）２３０を備える。
【００２４】
ネットワークコントローラ２３４は、限定受信情報等の情報をＢＩＧ２２４に伝達する。ここで、情報は、トランスポートストリーム２５２に多重化される。特に、ネットワークコントローラ２３４またはサブネットワークコントローラは、１つ以上の出力トランスポートストリーム２５４に挿入するための特定のプログラム、または、トランスポートストリーム２５０および２５２の部分を選択するおよび／または、限定受信情報を提供する等、動作パラメータを設定するためにＭＱＡＭ２３０に入力を提供する。制御情報および他のデータは、通信リンク１５０を通じての帯域内通信を介して、ヘッドエンド１０２からハブ１０４に伝達され得る。ＱＰＳＫモデムアレイ２２８は、ヘッドエンド１０２と接続されたＤＨＣＴ１１０と、ハブ１０４と接続されたＤＨＣＴ１１０との間の帯域外双方向通信を可能にする。ＤＨＣＴ１１０からの帯域外通信は、ペイパービュー購買指示等の情報の制御情報、および、加入者ロケーション１０８（図１に示される）からビデオオンデマントタイプのアプリケーションサーバ２１６への閲覧コマンドの停止を含む。
【００２５】
これに代わる実施形態において、ネットワークコントローラ２３４は、デバイスコントローラ（図示せず）とインターフェースする。デバイスコントローラは、好ましくは、ヘッドエンド１０２に配置されるが、他の場所に配置されてもよい。デバイスコントローラは、ネットワークコントローラ２３４を含むヘッドエンド１０２およびハブ１０４におけるデバイスおよびＤＨＣＴ１１０からメッセージを受信するように適応され、アプリケーションサーバ２１６を含むが、これに限定されないデバイスを制御するように適応する。デバイスコントローラは、ヘッドエンド１０２およびハブ１０４におけるデバイスを制御することによって、特に、ペイパービュープログラムを受信すること、および、「パーソナルテレビジョン（Ｐｅｒｓｏｎａｌ  Ｔｅｌｅｖｉｓｉｏｎ）」セッションを開始することを含むがこれらに限定されない加入者サービスのために、ＤＨＣＴ１１０からのメッセージに応答して、ネットワークコントローラ２３４上にかかる処理の負担を軽減する。
【００２６】
好ましい実施形態において、ヘッドエンド１０２およびハブ１０４は、各々、少なくとも１つの衛星信号受信器２１４、少なくとも１つのアプリケーションサーバ２１６、少なくとも１つのＭＱＡＭ２３０、ＱＰＳＫモデムアレイ２２８、および、少なくとも１つのコンバイナ２３２を備える。ハブ１０４は、すでに列挙されたよりも多いか、または少ないか、あるいは、これらとは異なった機器を含み得、かつ、ハブ１０４に見出される機器のタイプおよび機器の量は、実現によって決まり、かつ、この機器は、ヘッドエンド１０２に見出される機器とは異なり得ることが理解されるべきである。
【００２７】
ヘッドエンド１０２は、種々の方法で入力を提供し得る種々のコンテンツプロバイダ１１４からのプログラミング、データ情報、および他の情報等のコンテンツを受信する。好ましい実施形態において、ハブ１０４は、通信リンク１５０（Ｂ）を通じて、少なくとも１つのコンテンツプロバイダからコンテンツを受信し、さらに、ヘッドエンド１０２からコンテンツを受信するように適応する。ヘッドエンド１０２およびハブ１０４は、種々のソースからのコンテンツを組み合わせ、そのコンテンツを、直接または間接的に加入者１０８に配信する。コンテンツプロバイダ１１４は、テレビジョンプログラミング、ビデオカメラ２０６、およびインターネットサービスプロバイダ２０８等のプログラミングを提供し得るコンテンツプロバイダ２０２を含む。入力信号は、衛星２０４、ダイレクトフィード２１０、および当業者に公知の他の伝送経路を介して、ソースからヘッドエンド１０２およびハブ１０４から伝送され得る。コンテンツプロバイダ１１４またはプログラミング入力ソースによって提供される信号は、いくつかのプログラムを含む単一のプログラムまたはマルチプレックスを含み得る。ハブ１０４は、衛星２０４を介してコンテンツを受信すると示されるが、これは、非限定的な例であることが理解されるべきである。好ましい実施形態において、ハブ１０４は、インターネットサービスプロバイダを含むが、これに限定されない１つ以上のコンテンツプロバイダと、ダイレクトフィード、地上放送送信器、およびアンテナ（図示せず）を介するビデオカメラと、当業者に公知の他の通信リンクとから受信することができる。
【００２８】
好ましい実施形態において、衛星２０４は、コンテンツをコンテンツプロバイダ２０２から衛星信号受信器２１４にリレーし、衛星信号受信器２１４の各々は、コンテンツプロバイダ２０２と関連付けられる。通常、コンテンツプロバイダ２０２から受信されたコンテンツは、トランスポートストリームの形態であり、これを、衛星信号受信器２１４がネットワークトランスポートストリーム２５０として出力する。ヘッドエンド１０２において、衛生信号受信器２１４（Ａ）および２１４（Ｂ）からのネットワークトランスポートストリーム２５０は、ＢＩＧ２２４に入力され、ハブ１０４において、衛星信号受信器２１４（Ｃ）からのネットワークトランスポートストリーム２５０（Ｈ）は、ＭＱＡＭ２３０（Ｃ）に入力される。この構成は、実現方法によって異なること、および、これに代わる実施形態において、衛星信号受信器２１４からのネットワークトランスポートストリーム２５０は、ヘッドエンド１０２またはハブ１０４において通常見出される他の機器に入力され得る。
【００２９】
好ましい実施形態において、ヘッドエンド１０２およびハブ１０４は、ＶＯＤを含むがこれに限定されないペイバービューサービス、データサービス、インターネットサービス、ネットワークシステム、または電話システムをさらに備える。コンテンツプロバイダ１１４は、ＤＢＤＳ１００内に配置されるアプリケーションサーバ２１６にコンテンツをダウンロードし得る。ヘッドエンド１０２に配置されるアプリケーションサーバ２１６（Ａ）は、ネットワークトランスポートストリーム２５０（Ｂ）を出力し、これはＢＩＧ２２４に入力され、ハブ１０４に配置されるアプリケーションサーバ２１６（Ｂ）は、ネットワークトランスポートストリーム２５０（Ｇ）を出力し、これはＭＱＡＭ２３０（Ｃ）に入力される。さらに、トランスポートストリーム２５０（Ｂ）および２５０（Ｇ）を受信する機器は、実現方法によって異なり、図２に示される構成は、当業者に公知の複数の可能な構成の１つにすぎないことが理解されるべきである。
【００３０】
好ましい実施形態において、ＢＩＧ２２４は、ヘッドエンド１０２またはハブ１０４に配置され得、これは、複数のネットワークトランスポートストリーム２５０を受信し、ネットワークトランスポートストリームを単一の出力ネットワークトランスポートストリーム２５２に多重化するように適応する。ＢＩＧ２２４は、ネットワークコントローラ２３４からのネットワークメッセージおよびコマンドを、通信リンク１６６を通じて受信する。ネットワークメッセージおよびコマンドは、ＢＩＧ２２４が入力トランスポートストリーム２５０を出力トランスポートストリーム２５２に多重化するために必要な情報を含む。
【００３１】
スイッチ２２０（その例の１つが、非同期転送モード（ＡＴＭ）スイッチである）は、ゲートウェイ２２６（Ａ）に、および、ルータ２２２は、２２６（Ｂ）にインターフェースを提供し、ゲートウェイ２２６（Ａ）および２２６（Ｂ）は、特に、インターネット、ならびに、出力ネットワークトランスポートストリーム２５０（Ｅ）および２５０（Ｆ）へのアクセスをそれぞれ提供する。ルータ２２２は、ＱＰＳＫモデムアレイ２２８を介してＤＨＣＴ１１０からメッセージを受信する。ＤＨＣＴ１１０からのメッセージは、セッションを生成および制御するために用いられることが多いセッション／コントロールメッセージを含む。通常、ルータ２２２は、セッション／コントロールメッセージをアプリケーションサーバ２２６（Ａ）にルーティングするか、または、ルータ２２２は、ネットワークコントローラ２３４、またはサブネットワークコントローラ２３６等の他の適切なデバイスにメッセージを送信する。ヘッドエンド１０２およびハブ１０４は、ネットワークトランスポートストリームを受信し、このトランスポートストリームを、例えば、無線周波数変調信号等の変調信号に変換する、少なくとも１つの変調器をさらに備える。好ましい実施形態において、ミニヘッドエンドとして機能するハブ１０４は、ＤＢＤＳ１００にプログラミングを導入し、これは、ＭＱＡＭ２３０によって変調および送信される。一般に、ヘッドエンド１０２は、複数のＭＱＡＭ２３０を含み、ハブ１０４は、少なくとも１つのＭＱＡＭを含む。これに代わる実施形態において、ヘッドエンド１０２およびハブ１０４は、加入者１０８にコンテンツを送信するための、他の送信器を備える。
【００３２】
各ＭＱＡＭ２３０は、複数のネットワークトランスポートストリーム（２５０および２５２）を受信し、かつ、複数の変調されたネットワークトランスポートストリーム２５４を出力するように適応する。ＭＱＡＭ２３０への、および、これからの入力および出力ネットワークトランスポートストリームの数は、実現方法によって異なる。好ましい実施形態において、ＭＱＡＭ２３０は、出力トランスポートストリーム２５４を変調および送信するＱＡＭ変調器を含むが、これに限定されない。
【００３３】
ＭＱＡＭ２３０によって変調されたネットワークトランスポートストリーム２５４は、伝送媒体１５０および１５２に入力するために、コンバイナ２３２等の機器を用いることによって組み合わせられる。組み合わされた信号は、帯域内情報として加入者ロケーション１０８に送信される。ＤＢＤＳ１００の好ましい実施形態において、各ネットワークトランスポートストリーム２５４は、セット周波数に変調される。ネットワークトランスポートストリーム２５４の１つの基本ストリームをＤＨＣＴ１１０（図１に示される）が受信するために、ＤＨＣＴ１１０は、所望の情報を含む変調されたネットワークトランスポートストリームと関連した周波数に同調し、トランスポートストリームをデマルチプレックスし、かつ、適切な基本ストリームをデコードしなければならない。好ましい実施形態において、通信リンク１６６に接続されたデバイスは、ＩＰアドレスまたはＭＡＣアドレス等の固有のアドレスを有する。これらは、メッセージの受信側および送信側（ｓｏｕｒｃｅ）の両方を識別するために用いられる。ネットワークコントローラ２３４は、通信リンク１６６に接続されたデバイスのアドレステーブル等のテーブルを含むメモリ２３８を備える。ある実施形態において、アドレステーブルは、デバイスのタイプを識別するための各アドレスと関連したデバイス情報をさらに含む。例えば、衛星信号受信器２１４（Ａ）のアドレスは、「受信器」等のデバイス情報と関連付けられ、サブネットワークコントローラ２３６のデバイス情報は、「コントローラ」である。この場合、ネットワークコントローラ２３４は、ネットワークコントローラにメッセージを送信するデバイスのネットワーク機能を決定するために、アドレステーブルを用い得る。ある実施形態において、メモリ２３８は、ＤＨＣＴ１１０のアドレステーブルをさらに含む。ＤＨＣＴ１１０の各々のアドレスは、静的または動的に割り当てられ得る。
【００３４】
新しいデバイスが通信リンク１６６に接続される場合、あるいは、新しいＤＨＣＴ１１０がサブ分散ネットワーク１６０に接続されるまたは、直接的もしくは間接的にヘッドエンド１０２に接続される場合はいつでもアドレステーブルが更新される。ある実施形態において、アドレステーブルの更新は、手動で実行される。当業者は、新規に接続されたデバイスのアドレスを含むためにアドレステーブルを手動で更新する代わりに、新規に接続されたデバイスがネットワークコントローラ２３４にテスト送信して応答を求める（ｐｉｎｇ）自己駆動型システム（ｓｅｌｆ−ａｃｔｕａｔｉｎｇ  ｓｙｓｔｅｍ）があることを認識している。ネットワークコントローラ２３４にテスト送信して応答を求めた後、アドレステーブルは、コントローラ２３４によって自動的に更新される。
【００３５】
好ましい実施形態において、サブネットワークコントローラ２３４は、内部にアドレステーブルが格納されたメモリ２３８をさらに含む。サブネットワークコントローラ２３６のアドレステーブルは、通信リンク１６６（Ｂ）に接続された各デバイスの固有のアドレスを含み、サブネットワークコントローラ２３６のアドレステーブルは、通信リンク１６６（Ｂ）に別のデバイスが接続された場合はいつでも更新される。これに代わる実施形態において、サブネットワークコントローラ２３６のアドレステーブルは、ハブ１０４に接続されたＤＨＣＴ１１０のアドレスをさらに含む。別の実施形態において、ネットワークコントローラ２３４のアドレステーブルは、ＤＢＤＳ１００におけるデバイスのすべてのシステムワイドアドレステーブルであり、サブネットワークコントローラ２３６のアドレステーブルは、ＤＢＤＳ１００内のデバイスのいくつか、またはすべてを含み得る。
【００３６】
（ネットワークマップ）
ＤＢＤＳ１００を適切にマネージメントし、かつ、分散処理を提供するために、ネットワークコントローラ２３４および／またはサブネットワークコントローラ２３６が、ネットワークトランスポートストリームのマップを有することが望ましい。コンテンツプロバイダ１１４は、トランスポートストリームをＤＢＤＳ１００に提供するが、コンテンツプロバイダ１１４からのトランスポートストリームは、ネットワークトランスポートストリームではない。この開示のために、ネットワークトランスポートストリームは、衛星信号受信器２１４、サーバ２１６、ＭＱＡＭ２３０、またはＢＩＧ２２４等であるが、これらに限定されないＤＢＤＳ１００内のデバイスから送信されたトランスポートストリームである。
【００３７】
ネットワークコントローラ２３４のネットワークトランスポートストリームマップは、特に、ヘッドエンド１０２、およびこのヘッドエンド１０２に直接接続されたノード１０６等のネットワークコントローラ２３４によって直接制御されるネットワークのブランチ内のネットワークトランスポートストリームのマップ、ＤＢＤＳ１００の任意の部分にわたるネットワークトランスポートストリームのマップ、あるいは、ＤＢＤＳ１００全体にわたるネットワークトランスポートストリームのマップのいずれかであり得る。同様に、サブネットワークコントローラ２３６のネットワークトランスポートストリームマップは、ハブ１０４内のネットワークのブランチ等のＤＢＤＳ１００の任意の部分、あるいはＤＢＤＳ１００全体のためのものであり得る。さらに別の実施形態において、ネットワークトランスポートストリームマップは、ノード１０６およびＤＨＣＴ１１０に向かって、ネットワークツリーの下方にわたって伸びる。
【００３８】
図３を参照して、明瞭にするために、ネットワークトランスポートストリーム２５０（Ａ）の簡単な説明が以下に提供される。ＭＰＥＧトランスポートストリームを表すネットワークトランスポートストリーム２５０（Ａ）は、複数のＭＰＥＧパケット３００で構成される。ＭＰＥＧパケット３００の各々は、ヘッダ３０２およびペイロード３０４を有する。ヘッダ３０２は、パケットを識別するために用いられるパケット識別子（ＰＩＤ）を含む。０のＰＩＤ値によって識別される、ＰＡＴ（ｐｒｏｇｒａｍ  ａｓｓｏｃｉａｔｉｏｎ  ｔａｂｌｅ）等の特定のパケットは、予約されたＰＩＤ値を有する。ＰＡＴは、プログラムの基本ストリームのＰＩＤ値を識別するために用いられる、ＰＭＴ（ｐｒｏｇｒａｍ  ｍａｐ  ｔａｂｌｅ）にプログラムを関連付けるために用いられる。例えば、図３に示される例示的ＰＡＴは、プログラム番号１６を２５６のＰＩＤ値を有するＰＭＴパケットに関連付ける。一般に、プログラムは、複数の基本ストリームで構成され、トランスポートストリーム２５０におけるこれらの基本ストリームの各々は、固有のＰＩＤ値をリスト化する。図３に示される例示的ＰＭＴは、基本ストリームおよび、これらのそれぞれのＰＩＤ値を有する。ＭＰＥＧトランスポートストリームに関するさらなる詳細は、「Ｓｙｓｔｅｍ  Ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｍｕｌｔｉｃａｓｔｉｎｇ  Ｐａｃｋｅｔｓ  Ｉｎ  Ａ  Ｓｕｂｓｃｒｉｂｅｒ  Ｎｅｔｗｏｒｋ」（２００１年４月３０日出願）と称される、米国特許出願シリアル番号第０９／８４５，５１０号（アトーニードケット番号第Ａ−６６８４／１９１９１０−１７９０）に見出され得る（この出願は、参考のため、本明細書中にその全体が援用される）。各ＭＰＥＧトランスポートストリームは、ＰＩＤ０のＰＡＴの一部分であるトランスポートストリーム識別子（ＴＳＩＤ）を有する。図３に示される例示的ＰＡＴにおいて、トランスポートストリーム２５０（Ａ）は、値「Ａ」によって識別される。通常、トランスポートストリームと関連したＴＳＩＤは、０〜８１９１の間の数値である。これに代わる実施形態において、トランスポートストリームのＴＳＩＤは、所定のパケット３００のヘッダ３０２またはペイロード３０４に含まれ得る。例えば、１のＰＩＤ値は、ＣＡＴ（ｃｏｎｄｉｔｉｏｎａｌ  ａｃｃｅｓｓ  ｔａｂｌｅ）のために予約され、これは、プログラムのアクセスおよび暗号化に関する情報を含み、これに代わる実施形態において、ＣＡＴは、ＴＳＩＤを含み得る。トランスポートストリームのＴＳＩＤは、（１）ＴＳＩＤ値を含むパケットのＰＩＤ値と、（２）パケット内のＴＳＩＤのロケーションとを知ることによって決定され得る。従って、ＴＳＩＤがＰＡＴ（ＰＩＤ＝０）にあるか、ＣＡＴ（ＰＩＤ＝１）にあるか、または、その他の所定のパケットにあるかは問題でない。
【００３９】
図４を参照して、ネットワークトランスポートストリームマップ４００は、ヘッドエンド１０２およびハブ１０４内のネットワークトランスポートストリーム２５０、２５２および２５４、ならびにトランスポートストリームデバイスをマッピングする。トランスポートストリームマップ４００に示される各トランスポートストリームデバイスは、ネットワークトランスポートストリームソースまたはネットワークトランスポートストリームハンドラである。この開示のために、ネットワークトランスポートストリームソースは、ネットワークトランスポートストリームが発信されるＤＢＤＳ１００におけるデバイスである。他のネットワークストリームソースは、アプリケーションサーバ２１６、エンコーダ２１８、およびゲートウェイ２２６を含むが、これらに限定されない。
【００４０】
好ましい実施形態において、各ネットワークトランスポートストリームソースは、所定のＴＳＩＤを有するネットワークトランスポートストリームとしてのコンテンツを受信し、かつ、このコンテンツを送信するように適応する。コンテンツは、入力ＴＳＩＤを有するトランスポートストリームとして、ネットワークトランスポートストリームソースにて受信されることが多い。この場合、ネットワークトランスポートストリームソースは、所定のＴＳＩＤ（この所定のＴＳＩＤは、入力ＴＳＩＤと異なってもよいし、異ならなくてもよい）に入力ＴＳＩＤを再マッピングし、ネットワークトランスポートストリームとして受信されたコンテンツを送信するように適応する。ネットワークトランスポートストリームソースは、通常、ネットワークコントローラ２３４、またはサブネットワークコントローラ２３６等のコントローラと通信し、このコントローラは、ネットワークトランスポートストリームのＴＳＩＤを決定する。
【００４１】
ＤＢＤＳ１００は、ＢＩＧ２２４およびＭＱＡＭ２３０を含むが、これらに限定されないネットワークトランスポートストリームハンドラをさらに備え、これらは、少なくとも１つのネットワークトランスポートストリームを受信し、かつ、少なくとも１つのネットワークトランスポートストリームを送信するように適応する。好ましい実施形態において、各ネットワークトランスポートストリームハンドラは、出力ネットワークトランスポートストリームのＴＳＩＤ（入力ネットワークトランスポートストリームのＴＳＩＤ値と異なってもよいし、異ならなくてもよい）を所定の値にマッピングするために必要なロジックを含む。例えば、ＭＱＡＭ２３０（Ａ）は、ネットワークトランスポートストリーム２５４（Ａ）のＴＳＩＤ４０２を値「Ｈ」〜値「Ｚ」にマッピングし得る。一般に、ネットワークトランスポートストリームハンドラは、ネットワークコントローラ２３４、またはサブネットワークコントローラ２３６等のコントローラと通信し、このコントローラは、ネットワークトランスポートストリームのＴＳＩＤを決定し、このネットワークトランスポートストリームハンドラは、コントローラからのメッセージに応答して、ＴＳＩＤを再マッピングする。
【００４２】
ネットワークトランスポートストリームマップ４００において、ヘッドエンド１０２およびハブ１０４のデバイスは、以下のティアレベルに分類される。すなわち、第１のティアレベルは、ソースティアであり、第２のティアレベルは、中間ティアレベルであり、最後のティアレベルは、出力ティアレベルである。この開示のために、出力ティアデバイスは、ネットワークトランスポートストリームがＤＨＣＴ１１０によって受信される前に、ネットワークトランスポートストリームを受信するための最後のネットワークトランスポートストリームハンドラである。従って、図２を参照して、コンバイナ２３２は、ＭＱＡＭ２３０からネットワークトランスポートストリームを受信するが、これらは、トランスポートストリームマップに含まれない。なぜなら、コンバイナ２３２は、トランスポートストリームハンドラではなく、すなわち、コンバイナ２３２は、ＴＳＩＤ４０２をマッピングし得ないからである。トランスポートストリームマップ４００は、出力ティアデバイスのすべてがＭＱＡＭであることを示すが、当業者は、トランスポートストリームを受信（およびマッピング）する最新のデバイスであり得る他のデバイスを認識し、かつ、すべてのこのような他のデバイスは、本発明の範囲に含まれることが意図されることに留意されたい。他の出力ティアトランスポートストリームハンドラは、ＱＡＭ変調器および連続変調器を含むが、これらに限定されない。さらに、中間ティアデバイスは、ＢＩＧ２２４、ｔｅｌｅｃｏインターフェースユニット（図示せず）、ならびに、ｓｏｎｅｔ送信器およびｓｏｎｅｔ受信器を含むが、これらに限定されない。
【００４３】
ソースティアデバイスと出力ティアデバイスとの間に中間ティアデバイスが挿入される。中間ティアデバイスは、ＤＢＤＳ１００に含まれるネットワークトランスポートストリームハンドラ（出力ティアデバイスではない）を備える。例示的なトランスポートストリームマップ４００において、ＢＩＧ２４４は、ネットワークトランスポートストリーム２５０（Ａ）〜２５０（Ｃ）を受信し、かつ、「Ｇ」の値を有するＴＳＩＤ４０２によって識別されたネットワークトランスポートストリーム２５２を出力ティアデバイスＭＱＡＭ２３０（Ａ）に送信する。サブ中間ティアレベルが存在し得ること、すなわち、いくつかの中間ティアデバイスが、連続的に相互接続され得ることが理解されるべきである。例えば、これに代わるネットワークにおいて、ＢＩＧ２２４は、トランスポートストリーム２５２を（出力ティアデバイスではない）別のトランスポートストリームハンドラ（図示されず）に送信する。この場合、他のトランスポートストリームハンドラは、ＢＩＧ２２４を有する中間ティアレベルと出力ティアレベルとの間のサブ中間ティアレベルとの間のサブ中間ティアレベルに分類される。好ましい実施形態において、ネットワークトランスポートストリーム２５０（Ａ）〜２５０（Ｈ）、２５２、および２５４（Ａ）〜２５４（Ｌ）の各々は、固有のＴＳＩＤ４０２を有する。トランスポートストリームマップ４００の使用、およびこれが生成される態様は、後述される。
【００４４】
本発明のロジックは、ハードウェア、ソフトウェア、ファームウェア、またはこれらの組み合わせで実現され得る。好ましい実施形態において、ロジックは、メモリに格納され、かつ、適切な命令実行システムによって実行されるソフトウェアまたはファームウェアで実現される。ハードウェアで実現された場合、これに代わる実施形態として、ロジックは、データ信号の論理機能を実現するロジックゲートを有する別個のロジック回路（単数または複数）、適切な組み合わせロジックゲートを有する特定用途向けＩＣ（ＡＳＩＣ）、プログラマブルゲートアレイ（単数または複数）（ＰＧＡ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）等の技術（これらのすべては当業者に周知である）のいずれか、またはこれらの組み合わせで実現され得る。
【００４５】
任意のプロセスの説明またはフローチャートのブロックは、モジュール、セグメント、あるいは、特定の論理関数またはプロセスのステップを実行する１つ以上の実行可能命令を含むコードの一部分として理解されるべきである。さらに、別の実施が、本発明の好ましい実施形態の範囲に含まれる。本発明では、本発明の分野において通常の技術を有する当業者によって理解されるように、関連する機能に応じて、実質的に同時か、または逆の順序を含む、図示されたか、または議論された順序に関わらず、関数が実行され得る。
【００４６】
図５Ａ、図５Ｂ、および図５Ｃを参照すると、ネットワークトランスポートストリームマップ４００を作成する例示的なステップ５００が示される。通常のＤＢＤＳ１００では、ネットワークコントローラ２３４が十分に利用され、従って、通常、ＤＢＤＳ１００を動作させ、かつ維持するための処理を可能な限り十分に分散させることが望ましい。好ましい実施形態では、各コントローラ（ネットワークコントローラ２３４またはサブネットワークコントローラ２３６またはデバイスコントローラ（図示されない）のいずれか）は、ネットワークトランスポートストリームマップ４００を作成するネットワークツリーのそれぞれの枝内のデバイスに対してステップ５００を実行する。ネットワークコントローラ２３４は、ヘッドエンド１０２のネットワークツリーの枝をマッピングし、サブネットワークコントローラ２３６は、ハブ１０４のネットワークトランスポートストリームの枝をマッピングする。例えば、サブネットワークコントローラ２３６は、衛生信号受信機２１４（Ｃ）およびサーバ２１６（Ｂ）をソースティアデバイスとしてマッピングし、かつＭＱＡＭ２３０（Ｃ）を出力ティアデバイスとしてマッピングする。別の実施形態では、ネットワークコントローラ２３４は、ネットワーク全体に対してステップ５００を実行する。さらに別の実施形態では、サブネットワークコントローラ２３６は、ＤＢＤＳ１００の複数の枝に対してステップ５００を実行する。
【００４７】
ステップ５０２において、ネットワークコントローラ２３４および／またはサブネットワークコントローラ２３６は、開始ネットワークトランスポートストリームマップ（ＩＮＴＳＭ）メッセージをＤＢＤＳ１００のデバイスに送信して、トランスポートストリームマップ４００の作成を開始する。好ましい実施形態では、ネットワークコントローラ２３４は、サブネットワークコントローラ２３６を含む通信リンク１６６（Ａ）に接続されるデバイスにＩＮＴＳＭメッセージを送信する。サブネットワークコントローラ２３６がＩＮＴＳＭメッセージを受信する時、サブネットワークコントローラ２３６は、通信リンク１６６（Ｂ）に接続されるハブ１０４内のデバイスにＩＮＴＳＭメッセージを送信する。別の実施形態では、ネットワークコントローラ２３４は、通信リンク１６６に接続される全てのデバイスにＩＳＮＴＭメッセージを送信する。さらに別の実施形態では、ヘッドエンド１０２に直接的または間接的に接続されるＤＨＣＴ１１０は、帯域外通信によってＩＮＴＳＭメッセージを受信し、ネットワークトランスポートマップ４００に含まれる。
【００４８】
好ましい実施形態では、各ネットワークトランスポートストリームソースおよび各ネットワークトランスポートストリームハンドラは、ＩＮＴＳＭメッセージを送信したコントローラに図６に示されるネットワークメッセージ６００を送信することによって、ＩＮＴＳＭメッセージに応答する。例えば、衛生信号受信機２１４（Ｃ）、サーバ２１６（Ｂ）、およびＭＱＡＭ２３０（Ｃ）のそれぞれが、サブネットワークコントローラ２３６にネットワークメッセージ６００を送信し、衛生信号受信機２１４（Ａ）およびＭＱＡＭ２３０（Ａ）のようなヘッドエンド１０２のデバイスが、ネットワークコントローラ２３４にネットワークメッセージ６００を送信する。
【００４９】
図６を参照して、ＩＮＳＴＭメッセージに応答して送信されるネットワークメッセージ６００は、デバイスタイプフィールド６０２、出力ＴＳＩＤフィールド６０４、入力ＴＳＩＤフィールド６０６、およびネットワークステータスフィールド６０８を含む。デバイスタイプフィールド６０２は、ネットワークメッセージ６００を送信しているデバイスのタイプを示す。可能なデバイスのタイプの表示は、トランスポートストリームソース、トランスポートストリームハンドラ、衛生信号受信機、サーバ、ビデオオンデマンドサーバ、ゲートウェイ、ＭＱＡＭ、変調器、ＤＨＣＴ等を含むが、これらに限定されない。デバイスタイプフィールド６０２はまた、デバイスを識別するためのデバイスに関連するデバイス識別子を含み得る。例えば、衛生信号受信機２１４（Ａ）〜２１４（Ｃ）のデバイスタイプフィールド６０２は、それぞれ「ｒｅｃｉｅｖｅｒ＿１」「ｒｅｃｉｅｖｅｒ＿２」および「ｒｅｃｉｅｖｅｒ＿３」であり得る。尚、複数の出力トランスポートストリームを送信するデバイスは、それぞれの出力ネットワークトランスポートストリームに対してネットワークメッセージ６００を返す。例えば、ＭＱＡＭ２３０（Ａ）は、４つの出力ネットワークトランスポートストリーム２５４（Ａ）〜２５４（Ｄ）を送信し、従って、ＭＱＡＭ２３０（Ａ）は、４つのネットワークメッセージ６００を送信する。好ましい実施形態では、各ネットワークメッセージ６００は、異なるデバイスタイプフィールド６０２を有し、この異なるデバイスタイプフィールド６０２は、識別するために利用される。例えば、ＭＱＡＭ２３０（Ａ）からの第１のネットワークメッセージ６００は、デバイスタイプフィールド６０２として「ＭＱＡＭ＿１．１」を有し得、ＭＱＡＭ２３０（Ａ）からの第４のネットワークメッセージは、デバイスタイプフィールド６０２として「ＭＱＡＭ＿１．４」を有し得る。複数のトランスポートストリームを送信するデバイスについては、デバイスタイプフィールド６０２は、「．１」「．４」等の付属の送信機識別子を有する「ＭＱＡＭ＿１」のようなデバイスインジケータとみなされ得る。同様の形式で、ＭＱＡＭ２３０（Ｂ）は、「ＭＱＡＭ＿２．１」〜「ＭＱＡＭ２．４」の範囲のデバイスタイプフィールド６０２を有する４つのネットワークメッセージ６００を有したＩＮＳＴＭメッセージに応答し得る。
【００５０】
出力ＴＩＳＤフィールド６０４は、出力ネットワークトランスポートストリームのＴＳＩＤ値を示す。ＤＨＣＴ１１０から受信したネットワークメッセージの出力ＴＳＩＤフィールド６０４は、ｎｕｌｌである。
【００５１】
入力ＴＳＩＤフィールド６０６は、デバイスによって受信された入力ネットワークトランスポートストリームの数、および各受信されたネットワークトランスポートストリームのＴＳＩＤ値を示す。従って、各ネットワークトランスポートストリームソースについては、入力の数は０であり、各ネットワークトランスポートストリームハンドラについては、入力の数は少なくとも１である。トランスポートストリームソースからのネットワークメッセージの入力ＴＳＩＤフィールド６０６は、ｎｕｌｌである。
【００５２】
ネットワークステータスフィールド６０８は、利用可能な帯域、ビットエラー率（ＢＥＲ）、喪失したリンク、帯域幅の余分な割り当て、ならびに入力が良好か入力に問題があるか等のネットワーク情報を含むが、これらに限定されない。コントローラは、ネットワークステータス情報を利用して、ネットワークをモニタリングし、かつ動的に制御し得る。
【００５３】
図５を再度参照して、ステップ５０４において、コントローラは、コントローラによって制御されるネットワークトランスポートストリームの枝のネットワークトランスポートストリームソースおよびネットワークトランスポートストリームハンドラから、ネットワークメッセージ６００を受信する。コントローラは、各受信されたネットワークメッセージ６００のデバイスタイプフィールド６０２を読み、ソースティア、中間ティア、および出力ティアデバイスに対応するグループへメッセージをソートする。好ましい実施形態では、コントローラは、メモリ２３８に格納されるテーブルを有し、このテーブルは、デバイスタイプフィールド６０２によって示される各デバイスのタイプを、トランスポートストリームマップ４００のティアに関連付ける。例えば、このテーブルは、衛生信号受信機２１４およびサーバ２１６をネットワークトランスポートストリームソースとして、ＭＱＡＭを最後のティアデバイスとして、およびＢＩＧを中間ティアデバイスとして関連付ける。別の実施形態では、コントローラは、入力ＴＳＩＤフィールド６０６をｎｕｌｌフィールドとするネットワークメッセージを検索することによって、どのネットワークメッセージ６００がソースティアデバイスからのものであるかを判定する。
【００５４】
次のステップ５０６では、コントローラは、各ネットワークトランスポートストリームソースからのネットワークメッセージ６００の出力ＴＳＩＤフィールド６０４を読み、ネットワークトランスポートストリームソースからの２つ以上のネットワークトランスポートストリーム２５０が、それぞれのＴＳＩＤ４０２として同一の値を有するかどうかを判定する。このことを開示する上で、サブ分散ネットワーク１６０またはＤＢＤＳ１００の２つ以上のネットワークトランスポートストリームが同一のＴＳＩＤ値を有する場合、同一のＴＳＩＤ値を有するネットワークトランスポートストリームは、衝突していると判断される。ソースティアデバイスからのＴＳＩＤ４０２値が衝突しない場合は、コントローラは、ステップ５１２に進み、衝突する場合は、コントローラは、ステップ５０８に進む。
【００５５】
衝突するＴＳＩＤを有する２つ以上のネットワークトランスポートストリームソースが存在する場合、ステップ５０８において、コントローラは、衝突するネットワークトランスポートストリームを出力するネットワークトランスポートストリームソースの少なくとも１つにＴＳＩＤ再マッピングメッセージを送信する。ＴＳＩＤ再マッピングメッセージを受信したデバイスは、ＴＳＩＤ４０２値を再マッピングメッセージによって示される新しい値に再マッピングすることによって応答する。例えば、図４に示されるネットワークトランスポートストリーム２５０（Ａ）および２５０（Ｆ）のＴＳＩＤ４０２値が同一であれば、ネットワークコントローラ２３４は、受信機２１４（Ａ）またはゲートウェイ２２６（Ｂ）のいずれかに再マッピングメッセージを送信する。再マッピングメッセージは、ＴＳＩＤ４０２値を新しい値に再マッピングすることをデバイスに命令し、新しい値は、ネットワークトランスポートストリーム２５０（Ｂ）〜２５０（Ｆ）のＴＳＩＤ４０２値と異なるように選択される。ネットワークコントローラ２３４が、ヘッドエンド１０２のみをマッピングする場合、新しいＴＳＩＤ値は、ネットワークトランスポートストリーム２５０（Ｂ）〜２５０（Ｈ）と関連するＴＳＩＤ４０２とは異なる。衝突するＴＳＩＤを再マッピングした後は、ネットワークトランスポートストリーム２５０と関連するＴＳＩＤ４０２の各値は、互いに異なる。
【００５６】
好ましい実施形態では、ネットワークトランスポートストリームハンドラは、それぞれの入力トランスポートストリームをモニタリングし、トランスポートストリームの変更に応答する。以下により詳細が説明されるように、少なくとも１つのネットワークトランスポートストリームハンドラは、ネットワークトランスポートストリームソースが衝突するＴＳＩＤを再マッピングする場合に、ネットワークメッセージ６００をコントローラに送信する。例えば、衛生信号受信機２１４（Ａ）が、ネットワークトランスポートストリーム２５０（Ａ）のＴＳＩＤ４０２値を「Ａ」から「Ｚ」まで再マッピングする場合、ＢＩＧ２２４は、トランスポートストーム２５０（Ａ）のＴＳＩＤ４０２値の変更に気づいて、ネットワークの現在のステータスに反映させる別のネットワークメッセージ６００をネットワークコントローラ２３４に送信することによって応答する。ＢＩＧ２２４からのネットワークメッセージ６００の入力ＴＳＩＤフィールド６０６は、それぞれのＴＳＩＤ４０２として値「Ｚ」、「Ｂ」、および「Ｃ」を有する３つの入力ネットワークトランスポートストリーム２５０（Ａ）〜２５０（Ｃ）を示す。従って、コントローラがネットワークトランスポートストリームソースに再マッピングメッセージを送信した後に、ステップ５１０において、コントローラは、ネットワークトランスポートストリームハンドラから少なくとも１つのネットワークメッセージ６００を受信する。
【００５７】
次に、ステップ５１２では、コントローラは、ネットワークトランスポートストリームソースのそれぞれのネットワークメッセージ６００の出力トランスポートフィールド６０４にデバイスタイプフィールド６０２を関連付けることによって、ソースティアレベルのトランスポートストリームマップ４００を生成／更新する。
【００５８】
トランスポートストリームマップ４００のソースティアを生成した後、コントローラはステップ５１４に進む。ステップ５１４では、ネットワークメッセージ６００のいずれが、中間ティアデバイスから生じているのかについて判定する。さらに、コントローラは、メモリ２３８に格納されるテーブルを利用して、存在するのであれば、どのネットワークメッセージ６００が、中間デバイスから生じているのかを判定する。中間ティアデバイスが存在する場合、コントローラは、ステップ５１６に進み、存在しなければ、コントローラは、ステップ５２４に進む。
【００５９】
ステップ５１６では、コントローラは、中間ティアデバイスからの各ネットワークメッセージの出力ＴＳＩＤフィールド６０４を読み、衝突するＴＳＩＤ４０２を調べる。さらに、中間ティアデバイスからの２つ以上のネットワークトランスポートストリームが、衝突するＴＳＩＤ４０２を有する場合、コントローラは、衝突するＴＳＩＤ４０２を有する衝突する中間ティアデバイスの少なくとも１つに、ＴＳＩＤ再マッピングメッセージを送信する。さらに、中間ティアデバイスからのネットワークトランスポートストリーム２５２が、ソースティアデバイスからのネットワークトランスポートストリーム２５０のＴＳＩＤ４０２と衝突するＴＳＩＤ４０２値を有する場合、中間ティアデバイスは、再マッピングメッセージを送信される。例えば、ヘッドエンド１０２において、ＢＩＧ２２４からのネットワークトランスポートストリーム２５２と関連するＴＳＩＤ４０２が、ゲートウェイ２２６（Ｂ）からのネットワークトランスポートストリーム２５０（Ｆ）と関連するＴＳＩＤ４０２値と同一である「Ｆ」という値を有する場合、ネットワークコントローラ２３４は、ＢＩＧ２２４に再マッピングメッセージを送信して、その衝突するＴＳＩＤを再マッピングする。
【００６０】
さらに、ＴＳＩＤ４０２が再マッピングされるネットワークトランスポートストリームを受信するネットワークトランスポートストリームハンドラは、ネットワークメッセージ６００をコントローラに送信することによって応答する。従って、ステップ５２０において、コントローラは、出力ティアレベルデバイスから少なくとも１つの新しいネットワークメッセージ６００を受信する。新しいネットワークメッセージ６００は、再マッピングされたＴＳＩＤ４０２の変更を示す。
【００６１】
コントローラは、ネットワークメッセージ６００を受信した後、ステップ５２２において、中間デバイスの各デバイスタイプフィールド６０２を出力ネットワークトランスポートストリーム２５２の入力ＴＳＩＤ４０２および出力ＴＳＩＤ４０２と関連付けることによって、トランスポートストリームマップ４００を更新する。中間ティアレベルデバイスをその入力ＴＳＩＤと関連付けることによって、デバイスは、ソースティアレベルデバイスに関連付けられる。なぜなら、１つのソースティアデバイスのみが、その特定のＴＳＩＤを有するトランスポートストリームを出力するからである。
【００６２】
ステップ５１６を再度参照して、コントローラは、衝突するＴＳＩＤ４０２を有する中間デバイスが存在しないと判定した場合、ステップ５２２に進んで、中間ティアデバイスをそれぞれに関連する出力ＴＳＩＤ４０２および入力ＴＳＩＤ４０２に関連付ける。
【００６３】
中間ティアデバイスをマッピングした後に、このようなマッピングが必要である場合、コントローラは、ステップ５２４に進む。ステップ５２４では、コントローラは、出力ティアデバイスから各ネットワークメッセージ６００の出力ＴＳＩＤフィールド６０４を読み、衝突するＴＳＩＤ値を調べる。コントローラは、ネットワークトランスポートストリームソースおよび中間ティアネットワークトランスポートストリームハンドラからのネットワークトランスポートストリームに既に割り当てられたＴＳＩＤ値の間の衝突するＴＳＩＤ値を、出力ティアネットワークトランスポートストリームハンドラのＴＳＩＤ４０２に対して調べる。衝突するＴＳＩＤが存在しなければ、コントローラは、ステップ５２８に進み、出力ティアデバイスの各デバイスタイプフィールド６０２を入力ネットワークトランスポートストリームの少なくとも１つのＴＳＩＤ４０２および出力ネットワークトランスポートストリームと関連するＴＳＩＤ４０２と関連付けることによって、ネットワークトランスポートストリームマップ４００を更新する。ＭＱＡＭ２３０等の（これらに限定されない）いくらかの出力ティアデバイスは、１つより多い入力ＴＳＩＤ４０２に関連付けられる。
【００６４】
一方、ＴＳＩＤが衝突する場合、ステップ５２６において、コントローラは、ＴＳＩＤ再マッピングメッセージを出力ティアネットワークトランスポートストリームハンドラに少なくとも１つに送信することによって、ネットワークトランスポートストリーム２５４の衝突するＴＳＩＤの少なくとも１つを新しい衝突しない値に再マッピングする。再マッピングメッセージは、出力ＴＳＩＤをコントローラによって割り当てられた値に再マッピングするように、デバイスに命令する。
【００６５】
ある実施形態では、ネットワークトランスポートストリームマップ４００は、ＤＨＣＴ１１０まで拡張し、ＤＨＣＴ１１０は、コントローラにネットワークメッセージ６００を送信することによって、ＩＮＴＳＭメッセージに応答するように適合される。ＤＨＣＴ１１０はまた、別のネットワークメッセージ６００を送信することによって、それぞれの受信されたネットワークトランスポートストリーム２５４の変更に応答するように適合される。このように、この実施形態では、コントローラは、出力ティアデバイスに出力ＴＳＩＤ値を再マッピングするように命令する時に、ＤＨＣＴ１１０から複数のネットワークメッセージ６００を受信する。このネットワークメッセージ６００は、ＤＨＣＴを出力ティアデバイスに関連させるために、コントローラによって利用される。
【００６６】
再マッピングメッセージを送信した後、コントローラは、ステップ５２８に進み、ネットワークメッセージマップ４００を更新し、それにより、出力ティアレベルの各ネットワークトランスポートストリームハンドラを少なくとも１つの入力ＴＳＩＤ値および出力ＴＳＩＤ値に関連付ける。さらに、尚、ＭＱＡＭ２３０は、４つの出力トランスポートストリームデバイス、すなわち、４つのＱＡＭ変調器を有し、ＭＱＡＭ２３０は、各ＱＡＭ変調器に対してネットワークメッセージ６００を提供する。従って、ＭＱＡＭ２３０の各ＱＡＭ変調器は、トランスポートストリームマップ４００に現れる。各出力ティアレベルのデバイスは、入力ＴＳＩＤによって、上流のデバイスに関連付けられる。
【００６７】
ある実施形態では、コントローラは、ＤＢＤＳ１００のネットワークトランスポートストリームソースおよびハンドラの全てに対して、ステップ５０２から５２８を実行する。この場合、ネットワークトランスポートストリームマップは、ステップ５２８で完了する。しかし、好ましい実施形態では、処理は、ネットワークコントローラ２３４とサブネットワークコントローラ２３６との間で分散され、この場合、ステップ５２８の後、各コントローラは、コントローラによって制御されるトランスポートストリームネットワークの枝をマッピングする。例えば、ステップ５２８を完了した後、ネットワークコントローラ２３４は、ヘッドエンド１０２をマッピングし、サブネットワークコントローラ２３６は、ハブ１０４のネットワークトランスポートストリームをマッピングする。
【００６８】
ここで図５Ｂを参照して、ステップ５３２において、サブネットワークコントローラ２３６は、ネットワークトランスポートストリームマップ４００の一部分をネットワークコントローラ２３４に送信する。この時点で、サブ分散ネットワーク１６０の各ネットワークトランスポートストリームは、各ネットワークトランスポートストリームに割り当てられた固有のＴＳＩＤを有するが、異なるサブ分散ネットワーク１６０のネットワークトランスポートストリームの間、またはヘッドエンド１０２とサブ分散ネットワーク１６０との間のＴＳＩＤは、衝突し得る。ネットワークコントローラ２３４のような、ネットワークトランスポートストリームマップ４００を作成する最終的な責任を負うコントローラは、衝突するＴＳＩＤを調べる。衝突する場合、ステップ５３４において、サブネットワークコントローラは、ネットワークコントローラからＴＳＩＤ再マッピングメッセージを受信する。一方、サブネットワークコントローラ２３６は、再マッピングメッセージを受信しない場合は、ハブ１０４のネットワークトランスポートストリームマップ４００の一部分を作成した状態で、終了する。
【００６９】
図５Ｃを参照して、ステップ５３６では、ネットワークコントローラ２３４は、各サブネットワークコントローラ２３６からネットワークトランスポートストリームマップ４００の一部分を受信する。その後、ステップ５３８において、ネットワークコントローラは、衝突するＴＳＩＤ４０２について、ネットワークトランスポートストリームマップ全体を調べる。ある実施形態では、ＤＢＤＳ１００の各ネットワークトランスポートストリームは、固有のＴＳＩＤ４０２を有する。従って、ＤＢＤＳ１００の２つ以上のネットワークトランスポートストリームは、同一のＴＳＩＤ４０２を有する場合、ネットワークコントローラ２３４は、ステップ５４０に進み、衝突するＴＳＩＤ４０２の１つを再マッピングするための再マッピングメッセージを送信する。この再マッピングメッセージは、ネットワークトランスポートストリームソースまたはネットワークトランスポートストリームハンドラまたはサブネットワークコントローラ２３６に直接送信され得、その後、ネットワークトランスポートストリームソースまたはネットワークトランスポートストリームハンドラまたはサブネットワークコントローラ２３６は、適切なデバイスに再マッピングメッセージを送信する。再マッピングが起こった後、ネットワークコントローラ２３４は、ステップ５４２に進み、ヘッドエンド１０２のネットワークトランスポートストリームにおいてなされた変更を反映させるように、ネットワークトランスポートストリームマップ４００を更新する。ネットワークコントローラ２３４は、再マッピングメッセージをサブネットワークコントローラ２３６に送信する場合、サブネットワークコントローラから新しいネットワークトランスポートストリームマップを受信する。この時点で、ヘッドエンド１０２およびハブ１０４に対するネットワークトランスポートストリームマップ４００が、完了する。
【００７０】
尚、コントローラ、サブネットワークコントローラ２３６、またはネットワークコントローラ２３４は、通常、ネットワークトランスポートストリームのＴＳＩＤ４０２を再マッピングすることによって、ネットワークトランスポートストリーム、ネットワークトランスポートストリームソースおよびネットワークトランスポートストリームハンドラをあいまいなところなくマッピングし得る。ここで図７Ａを参照して、例えば、ネットワークトランスポートストリームソース７０２および７０４、中間トランスポートストリームハンドラ７０６、７０８、７１０、７１２および７１４、ならびに出力トランスポートストリームハンドラ７１６、７１８、７２０、７２２および７２４を有するネットワーク７００を考えられたい。衛生信号受信機のようないくつかのネットワークトランスポートストリームソースは、ＴＳＩＤを再マッピングするように構成されないこと、および／またはＩＮＳＴＭメッセージに応答するように構成されないことがあり得る。しかし、ネットワークトランスポートストリームハンドラの全てを含む部分的なネットワークトランスポートストリームマップは、依然として作成され得る。
【００７１】
図７Ａにおいて、コントローラが、デバイスがどのように接続されるのかをまだ決定していないため、ネットワーク７００のデバイスは、破線で接続されるように図示される。図７Ａでは、さらに、トランスポートストリームの初期ＴＳＩＤ値が示される。この例示的なネットワークでは、ネットワーク７００のデバイスのタイプの詳細は、重要ではない。コントローラは、最初に、図７Ａに示される全てのデバイスにＩＮＴＳＭメッセージを送信する。この例では、ネットワークトランスポートストリームソース７０４は、ＩＮＴＳＭメッセージまたは再マッピングメッセージに応答しないか、あるいは応答することができない。
【００７２】
この例では、コントローラは、デバイス７０６以外の図７Ａに示される全てのデバイスからネットワークメッセージ６００を受信する。コントローラは、受信されたネットワークメッセージ６００からテーブル７５０を作成する。テーブル７５０は、各ネットワークトランスポートストリームデバイスをそのデバイスのタイプ７５２、少なくとも１つの入力ネットワークＴＳＩＤ７５４、および出力ＴＳＩＤ７５６と関連付ける。
【００７３】
コントローラは、各受信されたネットワークメッセージ６００のデバイスタイプフィールド６０２、出力ＴＳＩＤフィールド６０４、および入力ＴＳＩＤフィールド６０６を読み、各デバイスをそのそれぞれのデバイスタイプ７５２、入力ＴＳＩＤ７５４、および出力ＴＳＩＤ７５６に関連付ける。例えば、デバイス７０２（Ａ）からのネットワークメッセージ６００は、それがタイプＳ＿１のデバイス、すなわちソースタイプのデバイスであること、およびその出力ネットワークトランスポートストリームは、ＡというＴＳＩＤ値を有することを示す。好ましい実施形態では、ネットワークトランスポートストリームソースからのネットワークメッセージ６００の入力ＴＳＩＤフィールド６０６は、ｎｕｌｌである。しかし、別の実施形態では、ネットワークトランスポートストリームソースは、ネットワークメッセージ６００のネットワーク入力ＴＳＩＤフィールド６０６のそれぞれの入力トランスポートストリームに対するＴＳＩＤを含む。この場合、テーブル７５０は、ネットワークトランスポートストリームソース７０２（Ａ）〜７０２（Ｃ）に対する入力ＴＳＩＤ値７５４（Ａ）を含み、ネットワークトランスポートストリームソース７０２（Ａ）〜７０２（Ｃ）は、デバイスタイプＳ＿１、Ｓ＿２、およびＳ＿３にそれぞれ関連付けられる。
【００７４】
尚、コントローラは１５個のデバイスからネットワークメッセージ６００を受信し、ネットワークトランスポートストリームを出力する１６個のデバイスが存在する（デバイス７０６は、３つのデバイスとして計算される。なぜなら、デバイス７０６は、その各出力ネットワークトランスポートストリームに対してネットワークメッセージを送信するからである。）。この例示的なネットワークでは、デバイス７０４は、ＩＮＴＳＭメッセージに応答して、ネットワークメッセージ６００を送信せず、結果的に、テーブル７５０には現れない。
【００７５】
テーブル７５０を作成した後、コントローラは、テーブル７５０のデバイスタイプ７５２に関連する各デバイスの各出力ネットワークトランスポートストリームに対して、新しい固有のＴＳＩＤを決定する。コントローラは、テーブル７５０にリストアップされるデバイスタイプを有する各デバイスに再マッピングメッセージを送信する。デバイス７０６のような複数のデバイスタイプを有するデバイスは、それぞれの出力ネットワークトランスポートストリームに対する再マッピングメッセージを受信する。所与のデバイスに送信された再マッピングメッセージは、その所与のデバイスからの出力ネットワークトランスポートストリームに対する新しい固有のＴＳＩＤを示す。
【００７６】
その後、コントローラは、出力ネットワークトランスポートストリームの再マッピングされた出力ＴＳＩＤ７５６（Ｂ）を反映させるようにテーブル７５０を更新する。さらに、好ましい実施形態では、ネットワークトランスポートストリームハンドラおよびネットワークトランスポートストリームソースは、それぞれの出力ネットワークトランスポートストリームのＴＳＩＤを変更することによって、再マッピングメッセージに応答するように適合される。ネットワークトランスポートストリームハンドラは、ネットワークメッセージ６００をコントローラに送信することによって、それぞれの入力ネットワークトランスポートストリームの変更に応答するように適合される。再マッピングメッセージに応答してコントローラに送信された各ネットワークメッセージ６００は、入力ＴＳＩＤフィールド６０６を含み、入力ＴＳＩＤフィールド６０６は、入力ネットワークトランスポートストリームの現在のＴＳＩＤを示す。コントローラは、ネットワークトランスポートストリームメッセージ６００に応答した各デバイスが、その新しい入力ＴＳＩＤ７５４（Ｂ）に関連付けられるように、テーブル７５２を更新する。このように、コントローラが、デバイス７０２（Ａ）に、その出力ネットワークトランスポートストリームのＴＳＩＤを「Ａ」から「Ｅ」までに再マッピングする再マッピングメッセージを送信する時、デバイス７０６は、３つのネットワークメッセージ６００（その各出力ネットワークトランスポートストリームに対するネットワークメッセージ）をコントローラに送信することによって、その変更に応答する。デバイス７０６からの各ネットワークメッセージは、「Ｅ」というＴＳＩＤ値を有する入力ネットワークトランスポートストリームを受信することを示す。コントローラは、ネットワークメッセージ６００更新テーブル７５０を読み、現在の入力ＴＳＩＤ７５４（Ｂ）をデバイスタイプ７５２に関連付ける。
【００７７】
コントローラが、テーブル７５０を用いることによりネットワークトランスポートストリームソースおよびハンドラを連続して接続することは簡単である。なぜなら、各ネットワークトランスポートストリームは、固有のＴＳＩＤを有するからである。ソースティアデバイスからスタートして、出力ＴＳＩＤ７５６（Ｂ）を入力ＴＳＩＤ７５４（Ｂ）と整合させることにより、図７Ｃに示されるネットワークトランスポートストリームマップを作成することができる。例えば、デバイスタイプＳ＿１のネットワークトランスポートストリームソースであるデバイス７０２（Ａ）は、「Ｅ」というＴＳＩＤ値を有するトランスポートストリームを送信する。デバイスタイプＤ＿１．１、Ｄ＿１．２、およびＤ＿１．３により識別される３つのコンポーネントを備えるデバイス７０６は、デバイス７０２（Ａ）から下流になければならない。なぜなら、デバイス７０６は、「Ｅ」というＴＳＩＤ値を有するトランスポートストリームを受信するからである。テーブル７５０から、デバイス７０２（Ａ）が、唯一のデバイス７０６の入力ソースであることも、判定され得る。さらに、デバイス７０８は、デバイス７０２（Ｂ）および７０２（Ｃ）からすぐ下流にあることも、判定され得る。なぜなら、デバイス７０８は、「Ｆ」および「Ｇ」というＴＳＩＤを有するネットワークトランスポートストリームを受信するからである。このように、テーブル７５０は、ネットワークトランスポートストリームソース７０２、およびそこから下流の全てのネットワークトランスポートストリームハンドラからのトランスポートストリームをマッピングするために利用され得る。
【００７８】
コントローラは、出力ＴＳＩＤ値７５６（Ｂ）のいずれとも整合しない入力ＴＳＩＤ値を有するデバイス７２４のようなデバイスを発見した時、初期ＩＮＴＳＭメッセージに応答しなかったトランスポートストリームソースが存在することを知っている。コントローラは、マップが不完全であることをシステムのオペレータに送信して、警告し得る。しかし、コントローラは、デバイス７２４に接続されるデバイスのタイプを知らない場合でさえ、「Ｂ」というＴＳＩＤ値を有するトランスポートストリームを出力するデバイスが存在することを知っている。この別の実施形態では、オペレータは、手動でデータを入力してネットワーク７００のネットワークトランスポートストリームマップを完了させることにより、警告に応答する。
【００７９】
ネットワークトランスポートストリームマップ４００は、ネットワークトランスポートストリーム２５０、２５２、および２５４の現在のＴＳＩＤ値を反映するダイナミックマップである。各ネットワークトランスポートストリームハンドラは、ネットワークメッセージをそれぞれのコントローラに送信することによって、その入力ネットワークトランスポートストリームの変更に応答する。コントローラは、動的にネットワークトランスポートストリームマップ４００を更新する。ネットワークトランスポートストリームマップ４００は、それぞれのソースからそれぞれの出力ティアレベルデバイスまたはＤＨＣＴ１１０までのネットワークトランスポートストリームをマッピングする。ネットワークトランスポートストリームマップは、ＤＢＤＳ１００のオペレータによって利用され得る。ある実施形態では、「マスタ」ネットワークトランスポートストリームマップ４００は、ネットワークコントローラ２３４のメモリ２３８に格納される。「マスタ」ネットワークトランスポートストリームマップは、ＤＢＤＳ１００のメンテナンスの前にメモリ２３８に格納され、特に、メンテナンスの後にＤＢＤＳ１００のトラブルシューティングを行うために利用される。例えば、メンテナンス中に、ネットワークトランスポートストリーム２５２および２５０（Ｅ）を有する通信リンクは、ＭＱＡＭ２３０（Ａ）がネットワークトランスポートストリーム２５０（Ｅ）を受信し、かつＭＱＡＭ２３０（Ｂ）がネットワークトランスポートストリーム２５２を受信するように偶発的に交差して配線され、システムが混乱および混沌の中に投げ出されたと仮定されたい。従来のシステムであれば、システムのオペレータは、交差した配線の対を発見するために、ネットワークトランスポートストリームを搬送する通信リンクの全ての物理的な検査を行ったかもしれない。しかし、本発明のＤＢＤＳ１００システムでは、ＤＢＤＳ１００のオペレータは、「マスタ」マップとメンテナンスの後に作成されたネットワークトランスポートストリームマップとを比較することによって、どのワイヤが偶発的に交差しているのかを決定することができる。動的なネットワークトランスポートストリームマップの別の利用が、当業者に理解される。
【００８０】
通常、ネットワークデバイスは、どのデバイスが自分から上流にあり、どのデバイスが自分から下流にあるのかを知らない。さらに別の実施形態では、ネットワークコントローラ２３４またはサブネットワークコントローラ２３６のいずれかのコントローラは、ネットワークトランスポートストリームマップ４００を利用して、ネットワーク情報をネットワークトランスポートストリームソースおよびハンドラに提供する。ネットワークトランスポートストリームソースおよびネットワークトランスポートストリームハンドラは、それぞれの下流のデバイスについての情報を利用して、下流のデバイスに提供されるトランスポートストリームが正確であることを保証する。非限定的な例では、ＢＩＧ２２４は、トランスポートストリームをＢＩＧよりも低い帯域幅を有するＡＳＩ−ＳＯＮＥＴ送信機（図示されない）に出力する。この場合、ＢＩＧ２２４は、その出力をＡＳＩ−ＳＯＮＥＴ送信機の出力と整合させ、ＡＳＩ−ＳＯＮＥＴ送信機は、トランスポートストリームを操作し得る。
（トランスポートストリームハンドラ）
上述されたように、トランスポートストリームハンドラは、少なくとも１つの入力ネットワークトランスポートストリームを受信し、少なくとも１つのネットワークトランスポートストリームを出力するように適合され、出力されたネットワークトランスポートストリームの少なくとも１つの上に１つのＴＳＩＤをマッピングするように適合されるデバイスである。例示するために、ネットワークトランスポートストリームハンドラＭＱＡＭ２３０が、図８に示される。簡単に説明すると、ＭＱＡＭ２３０は、ネットワークトランスポートストリームを受信する入力ポート８０６、ならびに、外付けのコントローラと通信し、かつメモリ８０４および送信機８０８のようなＭＱＡＭ２３０のコンポーネントを制御する中央演算装置（ＣＰＵ）８０２を含む。メモリ８０４は、入力ネットワークトランスポートストリームのＭＰＥＧパケット３００をバッファリングするためのストレージであり、さらに、特に、トランスポートストリームを受信／送信し、ＴＳＩＤ値をマッピングし、かつネットワークメッセージに応答するために必要とされるさまざまなステップを実行するために必要なロジックを格納するためのストレージである。別の実施形態では、メモリ８０４は、必要なロジックのほとんどを実装するＦＰＧＡを含む。
【００８１】
送信機８０８は、無線周波数が出力ネットワークトランスポートストリームを変調するＱＡＭ変調器のような変調器を含む。送信機は、メモリ８０４からトランスポートストリームのパケットを受信し、そのパケットを送信する。
【００８２】
尚、ＭＱＡＭ２３０は、例示的なネットワークトランスポートストリームハンドラであり、ネットワークトランスポートストリームソースおよび別のネットワークトランスポートストリームハンドラは、別のコンポーネント、あるいは、より多くまたはより少ないコンポーネントを含み得る。さらに、入力および出力トランスポートストリームの数は、特定のネットワークトランスポートストリームソースまたはハンドラに依存することを理解されたい。しかし、好ましい実施形態では、各ネットワークトランスポートストリームハンドラおよびネットワークトランスポートストリームソースは、ＣＰＵ８０２および送信機８０８を含む。ＣＰＵ８０２は、通信リンク１６６を介してネットワークコントローラ２３４および／またはサブネットワークコントローラ２３６と通信する。この通信リンク１６６を介して、ＩＮＴＳＭメッセージおよびネットワークメッセージ６００のようなメッセージが送信される。
【００８３】
受信されたＩＮＴＳＭメッセージに応答して、ＣＰＵ８０２は、図９に示されるステップ９００を実行することによって応答する。ＣＰＵ８０２およびメモリ８０４は、ステップ９００を実行するために必要な全てのロジックを含む。ＭＰＥＧパケット３００から構成されるネットワークトランスポートストリームを受信し、それぞれの出力ネットワークトランスポートストリーム２５４に受信されたパケットをルーティングするために必要なロジックは、ＭＱＡＭ２３０（Ａ）のロジックに含まれる。当業者は、ＭＱＡＭ２３０のロジックがさらに、出力ネットワークトランスポートストリームに対するＰＡＴ（Ｐｒｏｇｒａｍ  Ａｓｓｏｃｉａｔｉｏｎ  Ｔａｂｌｅ）およびＣＡＴ（Ｃｏｎｄｉｔｉｏｎａｌ  Ａｃｃｅｓｓ  Ｔａｂｌｅ）のようなシステムおよび制御パケットを作成し、受信されたパケットのＰＩＤ（Ｐａｃｋｅｔ  Ｉｄｅｎｔｉｆｉｅｒ）を再マッピングするロジックを含むことが理解される。さらに、ステップ９００は、ＭＱＡＭ２３０のＣＰＵ８０２により実施されると説明されたが、これは単なる例であり、任意のネットワークトランスポートストリームハンドラまたはネットワークトランスポートストリームソースのＣＰＵが、ステップ９００を実行するように構成され得ることを理解されたい。さらに別の実施形態では、ステップ９００を実行するロジックは、ＭＱＡＭ２３０を制御するコントローラとＭＱＡＭ２３０との間で分散される。
【００８４】
ステップ９０２では、ＣＰＵ８０２は、通信リンク１６６を介してＩＮＴＳＭメッセージを受信する。ＣＰＵは、入力ネットワークトランスポートストリーム２５０および２５２ならびに出力ネットワークトランスポートストリーム２５４のネットワークステータスを判定する。ネットワークステータスは、各ネットワークトランスポートストリームのＴＳＩＤ値、ＢＥＲ率、各出力ネットワークトランスポートストリーム２５４の利用可能な帯域幅、帯域幅の余分な割り当て、喪失したリンク、ならびに入力が良好か入力に問題があるか等のネットワーク情報を含むが、これらに限定されない。
【００８５】
メモリ８０４は、このデバイスが所与のタイプのデバイスであると識別するデバイス情報を含み、さらに、このデバイスがそのデバイスタイプの特定のデバイスであることを識別する情報を含む。例えば、このデバイス情報は、ＭＱＡＭ２３０が、ＭＯＤ（変調器）タイプのデバイスであり、ＤＢＤＳ１００内の３番のＭＯＤタイプデバイスであり、かつ、４つの出力ネットワークトランスポートストリーム２５４（Ａ）〜２５４（Ｄ）を有することを示し得る。
【００８６】
ステップ９０４において、ＣＰＵ８０２は、ネットワークメッセージ６００を通信リンク１６６を介してコントローラに送信する。好ましい実施形態では、ＣＰＵ８０２は、ネットワークトランスポートストリーム２５４を送信する各変調器８０８のネットワークメッセージ６００を送信する。ネットワークメッセージ６００のこのデバイスタイプフィールド６０２は、メッセージが関連付けられる変調器のインジケータを含む。出力ＴＳＩＤフィールド６０４は、出力トランスポートストリームの出力ＴＳＩＤ値を示す。
【００８７】
ステップ９０６では、ＣＰＵ８０２は、メモリ８０４にネットワーク情報を格納する。通常、格納されるネットワーク情報は、ネットワークメッセージ６００に含まれるネットワーク情報のタイプを含む。メモリ８０４に格納されるネットワーク情報のタイプの非限定的な例は、各受信されたネットワークトランスポートストリームのＴＳＩＤ値、各入力ネットワークトランスポートストリーム２５０および２５２のＢＥＲ、ならびにその出力ネットワークトランスポートストリーム２５４の利用可能な帯域幅を含む。
【００８８】
好ましい実施形態では、メモリ８０４は、以下により詳細に説明される、動的ネットワーク情報テーブル（ＤＮＩＴ）を作成するロジックを含む。ＤＮＩＴは、ネットワークメッセージ６００に含まれるネットワーク情報と同様の現在のネットワーク情報を含む。ＣＰＵ８０２は、各出力ネットワークトランスポートストリーム２５４のＤＮＩＴを作成し、それぞれのネットワークトランスポートストリーム２５４に各ＤＮＩＴを挿入する。好ましい実施形態では、ステップ９０８において、ＣＰＵ８０２は、各出力ネットワークトランスポートストリーム２５４において、内部に現在のネットワーク情報を含むＤＮＩＴを定期的に含む。このように、下流のデバイスは、定期的にＭＱＡＭ２３０から現在のネットワーク情報を受信する。
【００８９】
その後、ステップ９１０において、ＣＰＵ８０２は、各入力ネットワークトランスポートストリーム（２５０および２５２）をモニタリングし、格納されるネットワーク情報と現在のネットワーク情報との間に差が存在するかどうかを判定する。通常、ＣＰＵ８０２は、わずかな変更または変動に対して、閾値を超える変更についてネットワークをモニタリングしている。例えば、ＤＢＤＳ１００のオペレータは、ＢＥＲ閾値を確立し得、格納されたＢＥＲ値および現在のＢＥＲ値の両方が、閾値の上または下にある限り、ＢＥＲ値は変更されなかったとみなされる。他のネットワーク情報の値は、別個の変更を有する。例えば、ネットワークトランスポートストリームのＴＳＩＤ値は、ネットワークトランスポートストリームのＴＳＩＤ値が新しい値に再マッピングされない限り、一定である。ＣＰＵ８０２が、モニタリングされるネットワークトランスポートストリームに変更があったと判定する場合、ＣＰＵ８０２は、ステップ９０４に戻り、現在のネットワーク情報を含む新しいネットワークメッセージ６００をそのコントローラ（ネットワークコントローラ２３４またはサブネットワークコントローラ２３６のどちらか）に送信する。一方、変更がなければ、ＣＰＵ８０２は、ネットワークトランスポートストリームのモニタリングを続け、定期的にＤＮＩＴを送信する。
【００９０】
ある実施形態では、ＣＰＵ８０２が、モニタリングされるネットワーク値に変化があったと判定する場合、ＣＰＵ８０２はさらに、各出力ネットワークトランスポートストリーム２５４に新しいＤＮＩＴを含む。新しいＤＮＩＴに含まれる情報は、現在のネットワーク値に反映させる。ＣＰＵ８０２が、モニタリングされるネットワーク値の変更に応答して新しいＤＮＩＴを直ちに送信しない場合でさえ、ＣＰＵ８０２は、現在のネットワーク情報を内部に含むＤＮＩＴを定期的に送信する。このように、下流のデバイスは、ＭＱＡＭ２３０の現在のネットワークステータスに反映させるＤＮＩＴを受信する。
（動的ネットワーク情報テーブル）
ある実施形態では、ＤＮＩＴは、当業者に公知のシステムパケットに挿入される。システムパケットの非限定的な例は、ＭＰＥＧトランスポートストリームのプログラム関連テーブル（ＰＡＴ）パケットまたはコンディショナルアクセステーブル（ＣＡＴ）またはネットワーク情報テーブル（ＮＩＴ）を含むが、これらに限定されない。別の実施形態では、ＤＢＤＳ１００のオペレータは、まだ保存されていないＰＩＤ値を選択し、ＤＮＩＴのそのＰＩＤ値を保存する。そのＰＩＤ値は、その特定の保存されたＰＩＤ値を有するパケットに挿入される。
【００９１】
好ましい実施形態では、各ネットワークトランスポートストリームおよびネットワークトランスポートストリームハンドラは、ＤＮＩＴを作成するために必要なロジックを含む。さらに、各ネットワークトランスポートストリームソースおよびハンドラは、ネットワークトランスポートストリームからＤＮＩＴを取り出し、取り出されたＤＮＩＴを読み、かつ出力ネットワークトランスポートストリームへＤＮＩＴを挿入するために必要なロジックを含む。
【００９２】
ここで図１０を参照して、ネットワークトランスポートストリームソースまたはネットワークトランスポートストリームハンドラのプロセッサは、例えば、ＤＮＩＴを作成するためのＤＮＩＴの擬似コード（ｐｓｅｕｄｏ−ｃｏｄｅ）１０００のようなコードを実行する。このコードは、デバイス部分１００２およびプレデバイス部分１００４を含む。
【００９３】
デバイス部分１００２は、そのデバイスに固有の情報を生成するためのものである。通常、デバイス部分１００２は、識別フィールド１００６、トランスポートＩＤフィールド１００８、ならびにデバイス情報フィールド１０１０およびネットワークデータフィールド１０１２を含む。
【００９４】
識別フィールド１００６は、ＤＮＩＴを生成するコードを実行するデバイスを識別する。ある実施形態では、識別フィールド１００６に含まれる識別情報は、ネットワークメッセージ６００のデバイス識別フィールド６０２に含まれる情報に対応する。別の実施形態では、識別フィールド１００６に含まれる識別情報は、デバイスを識別するために利用され得るデバイスのＩＰアドレス、デバイスのＭＡＣアドレスのような任意の情報であり得るが、これらに限定されない。
【００９５】
トランスポートＩＤフィールド１００８に含まれる情報は、ＤＮＩＴが挿入されるネットワークトランスポートストリームのＴＳＩＤ値に対応する。例えば、図４を参照して、ＢＩＧ２２４がＤＮＩＴを生成する時、トランスポートＩＤフィールド１００８は、トランスポートＩＤフィールド１００８と関連する「Ｇ」という値を有する。なぜなら、ＢＩＧ２２４は、ＤＮＩＴを「Ｇ」というＴＳＩＤ４０２を有するネットワークトランスポートストリーム２５２に挿入するからである。
【００９６】
デバイス情報フィールド１０１０は、ＤＮＩＴを作成するデバイスのタイプ等の情報を含み得るデバイスについての情報を含み、デバイスのタイプの非限定的な例は、ネットワークトランスポートストリームソース、衛星信号受信機、エンコーダ、サーバ、ＶＯＤサーバ、ＢＩＧ、変調器、マルチ変調器、およびネットワークトランスポートストリームハンドラを含む。このデバイス情報フィールド１０１０はまた、入力ネットワークトランスポートストリームの数のようなデバイスに固有の情報を含み得る。
【００９７】
好ましい実施形態では、デバイス情報フィールド１０１０はまた、ＤＮＩＴを作成するデバイスを制御するコントローラのアドレスを含む。例えば、ネットワークコントローラ２３４は、衛星信号受信機２１４（Ａ）を制御し、サブネットワークコントローラは、サーバ２１６（Ｂ）を制御する。このように、衛星信号受信機２１４（Ａ）からのＤＮＩＴは、ネットワークコントローラ２３４のコントローラアドレスを含み、サーバ２１６（Ｂ）からのＤＮＩＴは、サブネットワークコントローラ２３６のアドレスを含む。
【００９８】
ネットワークデータフィールド１０１２は、ＤＮＩＴが挿入されるネットワークトランスポートストリームについての情報を含む。ネットワークデータフィールド１０１２に含まれる情報の例は、ネットワークトランスポートストリームの利用可能な帯域幅、トランスポートストリームのパケットのタイプ、ＤＮＩＴのネットワークトランスポートストリームへの挿入率、および受信されたパケットのビットエラー率を含むが、これらに限定されない。さらに、ネットワークデータフィールド１０１２は、ネットワークトランスポートストリームに含まれるデータ、オーディオ、ビデオ等のパケットのタイプについての情報を含み得る。
【００９９】
ＤＮＩＴの擬似コード１０００の上流部分１００４は、上流のデバイスからの情報をＤＮＩＴに含ませるために必要なロジックを含む。好ましい実施形態では、上流デバイスからの情報は、ネットワークトランスポートストリームを介して受信されるＤＮＩＴに含まれる。別の実施形態では、ＤＮＩＴは、通信リンク１６６および帯域外通信（これらに限定されない）等の他の通信リンクを介して、下流のデバイスへ伝送される。
【０１００】
上述されたように、好ましい実施形態では、各ネットワークトランスポートストリームソースおよび各ネットワークトランスポートストリームハンドラは、その出力ネットワークトランスポートストリームのそれぞれのＤＮＩＴを出力する。このように、例えば、４つの出力ネットワークトランスポートストリームを有するＭＱＡＭ２３０は、各出力ネットワークトランスポートストリームのＤＮＩＴを出力し、各ＤＮＩＴは、上流の情報を含む。好ましい実施形態では、ＤＮＩＴは、上流のデバイスからの上流の情報を含む。ここで図４を参照して、ＭＱＡＭ２３０（Ａ）は、ＢＩＧ２２４およびエンコーダ２１８から、それぞれ２つのネットワークトランスポートストリーム２５２および２５０（Ｄ）を受信する。このように、ＭＱＡＭ２３０からのＤＮＩＴは、ＢＩＧ２２４およびエンコーダ２１８からの上流の情報を含む。
【０１０１】
図１１を参照すると、例示的なＤＮＩＴ１１００（Ａ）は、ＭＱＡＭ２３０（Ａ）のＭＯＤ＿１．１からの出力ネットワークトランスポートストリームである、ネットワークトランスポートストリーム２５４（Ａ）に含まれる。ＤＮＩＴ１１００（Ａ）は、デバイスに固有のサブテーブル１１０２（Ａ）および上流のサブテーブル１１０４（Ａ）を含む。
【０１０２】
デバイスに固有のサブテーブル１１０２（Ａ）は、ＤＮＩＴ１１００（Ａ）が由来するデバイスについての情報（この例では、ＭＯＤ１．１）を含む。デバイスに固有のサブテーブル１１０２（Ａ）に含まれる情報は、ＤＮＩＴの擬似コード１０００のデバイス部分１００２からのものである。デバイスに固有のサブテーブル１１０２（Ａ）は、ＤＮＩＴ１１００（Ａ）がトランスポートストリームＨに含まれ、トランスポートストリームＨは、トランスポートストリームマップ４００から、ＭＱＡＭ２３０（Ａ）のＭＯＤ＿１．１から来たトランスポートストリーム２５４（Ａ）であることがわかる。デバイスに固有の情報サブテーブル１１０２（Ｈ）はまた、ＭＯＤ＿１．１が２つのトランスポートストリームの入力を受信することを示す。
【０１０３】
上流のサブテーブル１１０４（Ａ）は、ネットワークトランスポートストリームソースおよびネットワークトランスポートストリームハンドラのような、上流のデバイスから受信した情報を含む。上流のデバイスからの情報は、トランスポートストリーム２５０（Ｄ）および２５２を介して受信されるＤＮＩＴにより、ＭＱＡＭ２３０（Ａ）に提供される。上流デバイスからの情報は、ＤＮＩＴの擬似コード１０００のプレデバイス部分１００４によって、上流のサブテーブル１１０４（Ａ）に含まれる。この例示的なＤＮＩＴ１１００（Ａ）では、上流のサブテーブル１１０４（Ａ）は、それぞれＢＩＧ２２４およびエンコーダ２１８からのＤＮＩＴ１１００（Ｂ）および１１００（Ｃ）を含む。ＤＮＩＴ１１００（Ｂ）および１１００（Ｃ）は、それぞれデバイスに固有のサブテーブル１１０２（Ｂ）および１１０２（Ｃ）を含み、中間ティアレベルデバイスＢＩＧ２２４からのＤＮＩＴ１１００（Ｂ）は、ＤＮＩＴ１１００（Ｄ）、１１００（Ｅ）、および１１００（Ｆ）を含む。ＤＮＩＴ１１００（Ｄ）、１１００（Ｅ）、および１１００（Ｆ）は、それぞれ衛星信号受信器２１４（Ａ）、サーバ２１６、および衛星信号受信機２１４（Ｂ）からのものである。このように、上流デバイスからのＤＮＩＴは、ＤＮＩＴ１１００（Ａ）に組み込まれる。
【０１０４】
例示的なＤＮＩＴ１１００（Ａ）はまた、その受信されたネットワークトランスポートストリーム２５２および２５０（Ｄ）のそれぞれのリンクステータス情報１１０６（Ａ）および１１０６（Ｂ）を含む。リンクステータス情報１１０６（Ａ）および１１０６（Ｂ）は、現在「良好」である。ＢＩＧ２２４からの例示的なＤＮＩＴ１１００（Ｂ）は、リンクステータス情報１１０６（Ｃ）、１１０６（Ｄ）、および１１０６（Ｅ）を含む。１１０６（Ｃ）、１１０６（Ｄ）、および１１０６（Ｅ）は、ネットワークトランスポートストリーム２５０（Ａ）、２５０（Ｂ）、および２５０（Ｃ）にそれぞれ関連付けられ、さらに、現在「良好」である。ネットワークトランスポートストリーム２５０（Ｃ）がブレイクされると、ＢＩＧ２２４は、リンクステータスが現在「問題あり」であると判定する。この場合、ＢＩＧ２２４からの次のＤＮＩＴ１１００（Ｂ）のリンクステータス１１０６（Ｅ）は、「問題あり」と読める。ネットワークトランスポートストリーム２５０（Ｃ）のリンクステータスに問題があるとういうこの情報は、下流へ伝送され、ネットワークコントローラ２３４またはサブネットワーク２３６に送信されたネットワークメッセージに含まれる。ネットワークメッセージを自動的に受信するコントローラは、トランスポートストリーム２５０（Ｃ）のコンテンツを再ルーティングすることによって、またはＤＢＤＳ１００のオペレータを変更することによって、ネットワークメッセージに応答する。
【０１０５】
尚、ＤＮＩＴ１１００（Ａ）は、ネットワークトランスポートシステムを介して下流に伝送されるテーブルの実施形態である。当業者には、このテーブルにより多い、またはより少ない情報が含まれ得ることが理解される。
【０１０６】
尚、別の実施形態では、ネットワークトランスポートストリームソースの全てが、ＤＮＩＴを作成および送信するように適合されるとは限らない。しかし、上流のデバイスが、ＤＮＩＴを下流のデバイスに送信することに失敗した時、下流のデバイスは、依然として部分的なＤＮＩＴを作成し、そのＤＮＩＴを下流に伝送する。例えば、図１１に示されるように、エンコーダ２１８が、ＤＮＩＴ１１００（Ｃ）をＭＱＡＭ２３０に送信しない場合、ＭＱＡＭ２３０（Ａ）は、依然として部分的なＤＮＩＴを作成し得る。しかし、ＭＱＡＭ２３０（Ａ）は、依然として、（１）ネットワークトランスポートストリーム２５０（Ｄ）のＴＳＩＤ４０２、（２）ネットワークトランスポートストリーム２５０（Ｄ）のリンクステータス１１０６（Ｂ）を判定し、ＤＮＩＴ１１００（Ｃ）ではなくＤＮＩＴ１１００（Ａ）にＴＳＩＤ値およびリンクステータスを含む。さらに、ＭＱＡＭ２３０（Ａ）は、ＭＱＡＭ２３０（Ａ）が、ネットワークコントローラ２３４に、「Ｄ」というＴＳＩＤ値４０２（Ｄ）を有するネットワークトランスポートストリームを受信するが、トランスポートストリーム４０２（Ｄ）のＤＮＩＴを受信しないことを示すメッセージを送信し得る。ネットワークコントローラは、その後、ネットワークトランスポートストリームマップ４００を調べて、Ｄという値のＴＳＩＤ４０２を有するネットワークトランスポートストリームを出力するデバイスについての情報を判定する。さらに、ネットワークコントローラ２３４は、ＤＢＤＳ１００のオペレータからの上流のデバイスに関するさらなる情報をリクエストし得、オペレータは、この情報を手動で入力し得る。ネットワークコントローラ２３４は、この情報をＭＱＡＭ２３０（Ａ）に送信し得、ＭＱＡＭ２３０（Ａ）は、ＤＮＩＴ１１００（Ａ）にこの情報を含む。このように、ネットワークトランスポートストリームハンドラは、受信されたネットワークトランスポートストリームのＴＳＩＤを判定し、コントローラと通信して上流のデバイスについてのさらなる情報をリクエストし、さらにネットワークコントローラ２３４および／またはサブ領域コントローラ２３６から特定のデバイスについての情報を受信することによって、少なくとも部分的にＤＮＳＴを送信しないデバイスの上流の情報を満たし得る。
【０１０７】
ＤＨＣＴ１１０は、ＤＨＣＴ１１０が受信する各ネットワークトランスポートストリームのＤＮＩＴ１１００を介して、上流の情報を提供される。例えば、コンバイナ２３２（Ｃ）に接続されるＤＨＣＴ１１０は、ヘッドエンド１０２に位置するＭＱＡＭ２３０（Ａ）からのネットワークトランスポートストリーム２５４（Ａ）〜２５４（Ｃ）と、ハブ１０４に位置するＭＱＡＭ２３０（Ｃ）からのネットワークトランスポートストリーム２５４（Ｉ）および２５４（Ｊ）とを受信する。ネットワークトランスポートストリーム２５４（Ａ）〜２５４（Ｃ）に含まれるＤＮＩＴ１１００は、ネットワークトランスポートストリーム２５０（Ａ）〜２５０（Ｄ）についてのネットワーク情報と、以下のデバイスに関する情報とを含む。以下のデバイスとは、衛星信号受信機２１４（Ａ）および２１４（Ｂ）、アプリケーションサーバ２１６（Ａ）、エンコーダ２１８、ＢＩＧ２２４、ならびにＭＱＡＭ２３０（Ａ）である。ネットワークトランスポートストリーム２５４（Ｉ）および２５４（Ｊ）のＤＮＩＴは、ネットワークトランスポートストリーム２５０（Ｇ）および２５０（Ｈ）についてのネットワーク情報と、以下のデバイスに関する情報とを含む。以下の情報とは、アプリケーションサーバ２１６（Ｂ）、衛星信号受信機２１４（Ｃ）、およびＭＱＡＭ２３０（Ｃ）を含む。
【０１０８】
ＤＨＣＴ１１０は、受信されたＤＮＩＴを利用して、ネットワークコントローラ２３４および／またはサブネットワークコントローラ２３６に位置付けられる処理の負荷をある程度軽減し得る。従来技術の加入者テレビジョンシステムでは、ＤＢＤＳ１００の加入者は、ＤＨＣＴ１１０を利用して、ビデオオンデマンドプログラミング、視聴ごとに支払う（ｐａｙ−ｐｅｒ−ｖｉｅｗ）プログラミング、パーソナルテレビジョン、オーディオプログラミング、およびインターネット接続（これらに限定されない）等のサービスをインタラクティブにオーダーし得る。サービスに対する加入者のリクエストは、ＤＨＣＴ１１０からリクエストされたサービスを提供するために必要なステップを実行するコントローラ（ネットワークコントローラ２３４またはサブネットワークコントローラ２３６）に送信される。しかし、受信されたＤＮＩＴ１１００を利用して、ＤＨＣＴ１１０は、サービスに対するリクエストを通知し得る。例えば、従来技術のシステムでは、ユーザが、ＤＢＤＳ１００の１つ以上のＶＯＤサービスに格納される映画を受信する等の、視聴ごとに支払うサービスまたはプログラムをスタートさせることを望む場合に、ユーザは、ユーザのＤＨＣＴ１１０を介してネットワークコントローラにサービスに対するリクエストを送信していた。ネットワークコントローラ２３４またはサブ領域コントローラ２３６は、ＤＢＤＳ１００のＶＯＤサービスのいずれがリクエストしているＤＨＣＴ１１０から上流にあるのか、上流のＶＯＤサーバのいずれが、リクエストされたサーバを有するのか、および、これらのサーバのいずれが、リクエストされたサービスを送信すべきなのかを決定しなければならない。しかし、本発明のある実施形態によると、ＤＨＣＴ１１０は、受信されたＤＮＩＴ１１００を調べて、ＤＨＣＴ１１０から上流にあるサーバのリストを判定し、そのリストの各サーバのコントローラを判定する。例えば、コンバイナ２３２（Ｃ）からネットワークトランスポートストリームを受信するＤＨＣＴ１１０は、アプリケーションサーバ２１６（Ａ）および２１６（Ｂ）から下流にある。ＤＨＣＴ１１０は、サービスに対するリクエストを有するネットワークコントローラ２３４またはサブ領域コントローラ２３６にサーバのリストを送信し得る。
【０１０９】
ある実施形態では、ＤＨＣＴ１１０からのサービスリクエストの処理は、ネットワークコントローラ２３４とサブ領域コントローラ２３６との間で分散される。サーバのリストをネットワークコントローラ２３４またはサブ領域コントローラ２３６に提供することは、ネットワークコントローラ２３４および／またはサブ領域コントローラ２３６に位置付けられる処理の負荷をある程度低減する。ネットワークコントローラ２３４および／またはサブ領域コントローラ２３６は、もはやどのサーバがＤＨＣＴ１１０から上流にあるのかを判定する必要はない。さらに、このサービスに対するリクエストはまた、各サーバとＤＨＣＴ１１０との間の各ネットワークトランスポートストリームの現在の動的なネットワークステータスを含む。このように、ネットワークコントローラ２３４および／またはサブ領域コントローラ２３６は、ＤＨＣＴ１１０によって受信されるどのネットワークトランスポートストリームが、リクエストされたサービスのために必要な帯域幅を有するのかを直ちに判定する。
【０１１０】
別の実施形態では、ＤＮＩＴ１１００を利用するＤＨＣＴ１１０は、ＤＢＤＳ１００によって提供されるサービスの送信を開始するために必要な多くの決定を行い得る。例えば、ＤＨＣＴ１１０は、ＤＨＣＴ１１０に対して帯域外に送信されるプログラミングテーブルを調べ得る。プログラミングテーブルは、所与のサーバに格納された、リスト化された視聴ごとに支払うプログラミング等の情報を含む。ＤＢＤＳ１００の加入者が、特定のプログラムを選択する場合、ＤＨＣＴ１１０は、受信されたＤＮＩＴ１１００および受信されたプログラミングテーブルを利用して、ＤＨＣＴ１１０から上流にあるどのサーバが、内部に格納された特定のプログラムを有するのかを判定する。ＤＨＣＴ１１０はまた、受信されたＤＮＩＴから、どのネットワークトランスポートストリームが、リクエストされたサービス（視聴ごとに支払うプログラム、ビデオオンデマンドプログラム、およびインターネット接続等であるが、これらに限定されない）を反応するために必要な帯域幅を有するのかを判定し得る。ＤＨＣＴ１１０は、サービスをリクエストしている特定のサーバにメッセージを送信し得る。サーバからＤＨＣＴ１１０への送信経路は、受信されたＤＮＩＴ１１００に含まれる情報からＤＨＣＴ１１０によって決定される。ＤＨＣＴ１１０は、ＤＮＩＴ１１００で指定される経路のリンクの全てが良好であり、そのリンクの全てが利用可能な帯域幅を有する送信経路を選択する。このように、ネットワークトランスポートストリームの利用可能な帯域幅およびリンクステータス等の動的なネットワーク情報を有するＤＨＣＴ１１０を提供することによって、ネットワークコントローラ２３４またはサブ領域コントローラ２３６のどちらかに位置付けられる処理の負荷は、ＤＨＣＴ１１０にシフトされ得る。ＤＨＣＴ１１０があるサービスに対して請求されるべきであることを示すメッセージを受信することを除き、ユーザにサービスを提供する際に、コントローラ（ネットワークコントローラ２３４またはサブ領域コントローラ２３６のどちらか）が必ずしも含まれる必要はない。請求メッセージは、サービスを送信するネットワークのＤＨＣＴ１１０またはデバイス（サーバ、またはＤＨＣＴ１１０によるＤＢＤＳ１００の利用をモニタリングするいくつかの他のデバイス等）から生じ得る。別の実施形態では、リクエストされたサービス用の送信経路は、依然として、コントローラ（ネットワークコントローラ２３４またはサブ領域コントローラ２３６のいずれか）によって判断される。いくつかの状況では、コントローラは、ＤＨＣＴ１１０によって決定された送信経路に沿ってＤＨＣＴ１１０にサービスを送信しないことを決定し得る。コントローラは、他の目的でＤＨＣＴ１１０により選択された送信経路のいくつかの帯域幅を確保することを望まず、また必要ともしないことがあり得る。この場合、コントローラは、ＤＨＣＴ１１０への異なる送信経路を決定する。
【０１１１】
さらに、ＤＨＣＴ１１０およびネットワークトランスポートストリームハンドラは、受信されたＤＮＩＴを利用して、ＤＢＤＳ１００をモニタリングする。好ましい実施形態では、ＤＮＩＴ１１００は、ハートビートに対応するデバイスに固有のサブテーブル１１０２に挿入速度を含む。好ましい実施形態では、ＤＨＣＴ１１０の各ネットワークトランスポートストリームハンドラは、その入力ネットワークトランスポートストリームのそれぞれに関連する少なくともコントローラアドレスとＤＮＩＴ挿入速度とを格納するために十分なメモリを含む。ネットワークトランスポートストリームハンドラおよびＤＨＣＴ１１０のようなデバイスは、ＤＮＩＴ挿入速度を利用して、入力ネットワークトランスポートストリームをモニタリングする。例えば、ＭＱＡＭ２３０（Ａ）は、１秒ごとに一回、ＢＩＧ２２４からＤＮＩＴ１１００（Ｂ）を受信する。ＭＱＡＭ２３０（Ａ）は、最後のＤＮＩＴ１１００（Ｂ）が受信された時間から所定の時間（２秒等）内にＤＮＩＴ１１００（Ｂ）を受信しない場合は、ＢＩＧ２２４のコントローラ（ネットワークコントローラ２３４）に警告を送信する。ネットワークコントローラ２３４は、ＤＢＤＳ１００のオペレータに、ＢＩＧ２２４とＭＱＡＭ２３０（Ａ）との間にある種の通信ブレイクが存在したことの警告を送信する。
【０１１２】
別の実施形態では、ＤＨＣＴ１１０は、ＤＨＣＴ１１０についての情報と、ＤＮＩＴ１１００の受信されたネットワークトランスポートストリームとを含み、ＤＮＩＴ１１００をヘッドエンド１０２またはハブ１０４に送信する。このように、ＤＮＩＴ１１００は、ネットワークトランスポートストリームソースからＤＨＣＴ１１０まで拡張する。この場合、ネットワークコントローラ２３４またはサブネットワークコントローラ２３６は、ＤＮＩＴ１１００を利用して、ネットワークトランスポートストリームソースからＤＨＣＴ１１０までのネットワーク条件を判定する。ネットワークコントローラ２３４またはサブネットワークコントローラ２３６はまた、ＤＮＩＴ１１００を利用して、ＤＢＤＳ１００内の各ＤＨＣＴ１１０をマッピングし得る。
【０１１３】
さらに別の実施形態では、コントローラ（ネットワークコントローラ２３４またはサブネットワークコントローラ２３６のいずれか）は、ＤＨＣＴから受信されたＤＮＩＴを利用して、ＤＨＣＴ１１０とヘッドエンド１０２またはハブ１０４との間の双方向通信経路をモニタリングする。コントローラは、サブ分散ネットワーク１６０等の、ＤＢＤＳ１１０の所与の地図領域における１つ以上のＤＨＣＴ１１０を選択して、定期的にＤＮＩＴ１１００をヘッドエンド１０２またはハブ１０４に送信する。各地図領域からのＤＮＩＴ１１００は、その地図領域とヘッドエンド１０２またはハブ１０４との間の双方向通信のためのハートビートとして作用する。コントローラは、ハートビートによるＱＰＳＫモデムアレイ等の双方向通信の現在のステータス、特に、所与の地理領域のＤＨＣＴ１１０からの通信が喪失されたかどうかを判定し得る。
【０１１４】
通常、ネットワークデバイスは、どのデバイスがそのデバイスから下流にあり、どのデバイスがそのデバイスから上流にあるのかを知らない。さらに別の実施形態では、コントローラ（ネットワークコントローラ２３４またはサブネットワークコントローラ２３６のいずれか）は、ＤＢＤＳ１００のＤＨＣＴ１１０からＤＮＩＴ１１００を受信し、それらを利用して、ネットワークトランスポートストリームソースおよびハンドラにネットワーク情報を提供する。ネットワークトランスポートストリームソースまたはネットワークトランスポートストリームハンドラは、それぞれの下流のデバイスについての情報を利用して、下流のデバイスに提供されたトランスポートストリームが正しいことを保証する。非限定的な例では、ＢＩＧ２２４は、トランスポートストリームをＡＳＩ−ＳＯＮＥＴ送信機（図示されない）に出力する。ＡＳＩ−ＳＯＮＥＴ送信機は、ＢＩＧよりも低い帯域幅を有する。この場合、ＢＩＧ２２４は、その出力をＡＳＩ−ＳＯＮＥＴ送信機の出力と整合させ、ＡＳＩ−ＳＯＮＥＴ送信機がトランスポートストリームを操作し得ることを確実にする。
【０１１５】
本発明の上述の実施形態、特に任意の「好ましい」実施形態は、単なる可能な実装例であり、本発明の原理の明確な理解を提供するためだけのものであることが強調されるべきである。多くのバリエーションおよび改変が、本発明の意図および原理から実質的に逸脱することなく、本発明の上述の実施形態に対してなされ得る。このような改変およびバリエーションは、ここでの開示および本発明の範囲内で本明細書中に含まれることが意図され、添付の特許請求の範囲により保護される。
【図面の簡単な説明】
【０１１６】
【図１】図１は、本発明の好ましい実施形態が用いられ得るケーブルテレビジョンシステム等のブロードバンド通信システムのブロック図である。
【図２】図２は、本発明の好ましい実施形態が用いられ得るブロードバンド通信システムにおける、コンテンツプロバイダと通信するヘッドエンドおよびハブのブロック図である。
【図３】図３は、ＭＰＥＧトランスポートストリーム、および、その中のパケットのブロック図である。
【図４】図４は、本発明の好ましい実施形態が用いられ得るブロードバンド通信システムにおけるネットワークトランスポートストリームソースおよびネットワークトランスポートストリームハンドラのブロック図である。
【図５Ａ】図５Ａは、ブロードバンド通信システムのネットワークをマッピングするブロードバンド通信システムにおけるコントローラによって用いられる例示的なステップのフローチャートである。
【図５Ｂ】図５Ｂは、ブロードバンド通信システムのネットワークをマッピングするブロードバンド通信システムにおけるコントローラによって用いられる例示的なステップのフローチャートである。
【図５Ｃ】図５Ｃは、ブロードバンド通信システムのネットワークをマッピングするブロードバンド通信システムにおけるコントローラによって用いられる例示的なステップのフローチャートである。
【図６】図６は、ネットワークメッセージのブロック図である。
【図７Ａ】図７Ａは、例示的なネットワークをマッピングする前の、例示的なネットワークのブロック図である。
【図７Ｂ】図７Ｂは、図７Ａに示される例示的なネットワークにおけるデバイスをトランスポートストリーム識別子と関連付けるテーブルである。
【図７Ｃ】図７Ｃは、例示的なネットワークにおけるトランスポートストリームをマッピングした後の、図７Ａに示される例示的なネットワークのブロック図である。
【図８】図８は、ブロードバンド通信システムにおける例示的なトランスポートストリームハンドラのブロック図である。
【図９】図９は、コントローラおよびダウンストリームデバイスに情報を動的に提供する方法のフローチャートである。
【図１０】図１０は、ダイナミックネットワーク情報テーブルを作製するための擬似コードである。
【図１１】図１１は、ネストされた例示的なダイナミックネットワーク情報テーブルである。
【図１】
2005506745.tif 000003
【図２】
2005506745.tif 000004
【図３】
2005506745.tif 000005
【図４】
2005506745.tif 000006
【図５Ａ】
2005506745.tif 000007
【図５Ｂ】
2005506745.tif 000008
【図５Ｃ】
2005506745.tif 000009
【図６】
2005506745.tif 000010
【図７Ａ】
2005506745.tif 000011
【図７Ｂ】
2005506745.tif 000012
【図８】
2005506745.tif 000013
【図９】
2005506745.tif 000014
【国際公開パンフレット】
2005506745.tif 000015
2005506745.tif 000016
2005506745.tif 000017
2005506745.tif 000018
2005506745.tif 000019
2005506745.tif 000020
2005506745.tif 000021
2005506745.tif 000022
2005506745.tif 000023
2005506745.tif 000024
2005506745.tif 000025
2005506745.tif 000026
2005506745.tif 000027
2005506745.tif 000028
2005506745.tif 000029
2005506745.tif 000030
2005506745.tif 000031
2005506745.tif 000032
2005506745.tif 000033
2005506745.tif 000034
2005506745.tif 000035
2005506745.tif 000036
2005506745.tif 000037
2005506745.tif 000038
2005506745.tif 000039
2005506745.tif 000040
2005506745.tif 000041
2005506745.tif 000042
2005506745.tif 000043
2005506745.tif 000044
2005506745.tif 000045
2005506745.tif 000046
2005506745.tif 000047
2005506745.tif 000048
2005506745.tif 000049
2005506745.tif 000050
2005506745.tif 000051
2005506745.tif 000052
2005506745.tif 000053
2005506745.tif 000054
2005506745.tif 000055
2005506745.tif 000056
2005506745.tif 000057
2005506745.tif 000058
2005506745.tif 000059
2005506745.tif 000060
2005506745.tif 000061
2005506745.tif 000062
2005506745.tif 000063
2005506745.tif 000064
2005506745.tif 000065
2005506745.tif 000066
2005506745.tif 000067
2005506745.tif 000068
2005506745.tif 000069
2005506745.tif 000070
【国際調査報告】
2005506745.tif 000071
2005506745.tif 000072