(57)【特許請求の範囲】
【請求項１】
ネットワークシステムを外部ネットワークにブリッジするゲートウェイ装置を含むネットワークシステムにおいて、ノード（装置）の遠隔監視かつ制御する方法であって、
ノードユニーク識別子列およびノード属性情報を含み、かつＩＥＥＥ１３９４サービスデータを含む第１のセクションと、ＭＰＥＧサービスデータを含む第２のセクションと、ＩＰサービスデータを含む第３のセクションとに区分けされたアドレスマッピングテーブルを前記ネットワーク内に維持するステップと、
前記ゲートウェイ装置において、前記外部ネットワークからの入力データパケットを内部ネットワークに転送可能なＩＥＥＥ１３９４フォーマットに変換して受信するステップと、
該入力データパケットを出力要求および入力データに構文解析するステップと、
前記アドレスマッピングテーブルを用いて、該入力データを、前記ゲートウェイ装置に接続された内部ネットワーク上の特定のノードにマッピングし、該入力データを前記特定のノードに伝送するステップと、
該特定のノードから応答を受信するステップと、
該特定のノードからの該応答を含む出力データパケットを生成するステップと、
該出力データパケットを前記外部ネットワークに転送するステップと
を含む方法。
【請求項２】
前記ネットワークシステムはＩＥＥＥ１３９４バスを含み、前記外部ネットワークはパケットデータネットワークを含む、請求項１記載の方法。
【請求項３】
前記ネットワークシステムは、ＩＥＥＥ１３９４バスを含み、前記外部ネットワークは非同期転送モードネットワークを含む、請求項１記載の方法。
【請求項４】
前記アドレスマッピングテーブルを維持するステップは、
メモリにノードアドレス情報を格納するステップと、
ノードアドレス情報更新トリガに応答して、前記ノードアドレス情報を更新するステップと、
前記内部ネットワークにおける特定のノードをポーリングするステップと、
該特定のノードから特定のノード属性を収集するステップと、
を含む、請求項１記載の方法。
【請求項５】
外部ネットワークを介して接続された第１の装置と、前記内部ネットワークに接続された第２の装置との間に、ピアツーピア（peer-to-peer）双方向通信チャネルを確立するステップをさらに含む、請求項１記載の方法。
【請求項６】
前記アドレスマッピングテーブルは前記ゲートウェイ装置に格納される、請求項１記載の方法。
【請求項７】
前記ネットワークシステムはホームエンターテイメントシステムを含み、前記ゲートウェイ装置はホームゲートウェイである、請求項１記載の方法。
【請求項８】
１つまたは複数のプロセッサに、ネットワークシステムを外部ネットワークにブリッジするゲートウェイ装置を含むネットワークシステムにおけるノード（装置）を遠隔監視および制御させる１つまたは複数の命令シーケンスを格納するコンピュータ読み取り可能な記録媒体であって、
ノードユニーク識別子列およびノード属性情報を含み、かつＩＥＥＥ１３９４サービスデータを含む第１のセクションと、ＭＰＥＧサービスデータを含む第２のセクションと、ＩＰサービスデータを含む第３のセクションとに区分けされたアドレスマッピングテーブルを前記ネットワーク内に維持するステップと、
前記ゲートウェイ装置において、前記外部ネットワークからの入力データパケットを内部ネットワークに転送可能なＩＥＥＥ１３９４フォーマットに変換して受信するステップと、
該入力データパケットを出力要求および入力データに構文解析するステップと、
前記アドレスマッピングテーブルを用いて、該入力データを、前記ゲートウェイ装置に接続された内部ネットワーク上の特定のノードにマッピングし、該入力データを前記特定のノードに伝送するステップと、
該特定のノードから応答を受信するステップと、
該特定のノードからの該応答を含む出力データパケットを生成するステップと、
該出力データパケットを前記外部ネットワークに転送するステップと
を含む、コンピュータ読み取り可能な記録媒体。
【請求項９】
前記ネットワークシステムはＩＥＥＥ１３９４バスを含み、前記外部ネットワークはパケットデータネットワークを含む、請求項８記載のコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記ネットワークシステムは、ＩＥＥＥ１３９４バスを含み、前記外部ネットワークは非同期転送モードネットワークを含む、請求項８記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
前記アドレスマッピングテーブルを維持するステップは、
メモリにノードアドレス情報を格納するステップと、
ノードアドレス情報更新トリガに応答して、前記ノードアドレス情報を更新するステップと、
前記内部ネットワークにおける特定のノードをポーリングするステップと、
該特定のノードから特定のノード属性を収集するステップと、
を含む、請求項８記載のコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記１つまたは複数の命令シーケンスはさらに、前記１つまたは複数のプロセッサに、外部ネットワークを介して接続された第１の装置と、前記内部ネットワークに接続された第２の装置との間に、ピアツーピア双方向通信チャネルを確立するステップを行わせる命令を含む、請求項８記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
前記アドレスマッピングテーブルは前記ゲートウェイ装置に格納される、請求項８記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
前記ネットワークシステムはホームエンターテイメントシステムを含み、前記ゲートウェイ装置はホームゲートウェイである、請求項８記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ノードを遠隔監視および制御する方法、およびノードを遠隔監視および制御させる１つまたは複数の命令シーケンスを格納するコンピュータ読み取り可能な記録媒体に関し、特に、ホームエンターテイメントシステムの分野に関し、ホームエンターテイメントシステムにおける通信および制御技術に関する。
【０００２】
【従来の技術】
これまで、ホームエンターテイメントシステムは、単にテレビセット（ＴＶ）およびビデオカセットレコーダ（ＶＣＲ）からなることが多かった。１つまたは２つの同軸または複合ケーブルが、入力から出力、および／または出力から入力にＴＶおよびＶＣＲを相互接続していた。しかし、近年、ホームエンターテイメントシステムはますます複雑になってきている。
【０００３】
家庭用電子機器、たとえばコンパクトディスク（ＣＤ）プレーヤ、デジタルビデオディスク（ＤＶＤ）プレーヤ、ゲームシステム、サラウンドサウンドオーディオシステム、手持ち型ビデオカメラ等が向上したため、消費者は追加の装置を自身のホームエンターテイメントシステムに接続せざるをえなかった。新しい装置を追加する度に、少なくとも２本のワイヤ（通常、電源ワイヤおよび入出力ワイヤ）を各種装置から、または各種装置へ蛇行する複雑な蜘蛛の巣状のワイヤに追加した。
【０００４】
当初、各種装置間の相互接続の複雑性を低減するために、スイッチボックスが採用された。たとえば、単純な「Ａ／Ｂ」スイッチボックスにより、ユーザが、装置間で同軸ケーブルを引き抜いて再び連結させる必要なく、１つの入力または別の入力を選択的に選ぶことができる。しかし、ホームエンターテイメントシステムにおける装置の数が増えるにつれ、装置を相互接続するためのＡ／Ｂスイッチボックスの使用は面倒かつ非効率的になってきた。
【０００５】
特筆すべきは、消費者が一般に、ホームエンターテイメント装置の機能性および精巧さが増大するにつれ、各装置を操作するのに必要な膨大な数のコンポーネントのリモートコントローラを処分するために、より少数のワイヤ、より単純な相互接続方式を望むことである。実際、大部分のリモートコントローラの「機能」はまったく使用されない（たとえば、"The Complexity Problem:  Industrial Design", Atlantic Monthly, Vol. 271, No. 3, March 1993, p. 96を参照のこと）。他に理由がない場合、これは、各装置の制御および操作に関連する順序および／またはステップの数が異なるためである。
【０００６】
上記の制御問題に対する解決策の１つは、Schindler他による米国特許第５，６７５，３９０号（「‘３９０号特許」）に提案されている。‘３９０号特許の図１に示されているように、エンターテイメントシステムは、パーソナルコンピュータによって中心制御される。Schindler他のシステムによれば、制御は、「ハブおよびスポーク（hub and spoke）」または「スター」型通信トポロジを採用した（すなわち、すべての通信がパーソナルコンピュータ（またはハブ）を介する）パーソナルコンピュータにまとめられている。この構成により、各装置はパーソナルコンピュータへの各自の専用接続が必要である。このような解決策は、密接に統合された家庭用電子機器および知識のあるコンピュータユーザに対しては有効である。しかし、従来採用されるよりもさらにより多数の相互接続用ワイヤが必要である（‘３９０号特許の図７に示されるＩ／Ｏプラグの数に留意する）。さらに、このようなシステムには拡張性がない。すなわち、新たな装置をシステムに追加しようとする際、追加の対応アダプタ／コントローラをパーソナルコンピュータに追加しなければならない。
【０００７】
同様の解決策が、Freadmanによる米国特許第５，７２２，０４１号（「‘０４１号特許」）に提案されている。‘０４１号特許の図２は、Freadmanのホームエンターテイメントシステムを最もよく示している。Schindler他と同様に、制御はパーソナルコンピュータに中心的に置かれる。メディア供給は、多重チャネルモデムとアナログ無線周波数ミキサを組み合わせたものを介して行われ、これは同軸ケーブルを介して多数の端末装置に接続される。ワイヤの数の低減は達成されるが、装置間で共有される機能は最小限である、すなわち、一方の装置はもう一方の装置を制御しない（逆の場合も同様）。
【０００８】
特に、ホームエンターテイメントシステムネットワークを制御するために、ユーザに操作されるパーソナルコンピュータを追加しても、本質的には複雑性は低減されない。実際、複雑性を増大させる場合もある。コンピュータ制御が面倒でないにしても、困難であることが多い。一般に、ハードウェアおよびソフトウェアコンポーネントを通信するよう構成するとともに、装置を適切に初期化する必要がある。周辺機器（たとえばＶＣＲ、ＴＶ等）あるいはコンピュータ自体をアップグレードするには、システムのオペレーティングソフトウェアを完全にオーバーホールする必要がある場合があり、これによってシステム性能に不適合性および不確実性が導入されてしまう。
【０００９】
より複雑なホームエンターテイメントシステムにおける膨大な数の相互接続用ワイヤに対する１つの解決策は、ＩＥＥＥ１３９４−１９９５標準およびその拡張である（extension）ＩＥＥＥ１３９４ａ、およびＩＥＥＥ１３９４ｂであり、これらを本明細書において「ＩＥＥＥ１３９４」と呼ぶ。一実施の形態において、ＩＥＥＥ１３９４ケーブルは、６撚線ケーブルであり、１本の撚線は電源用、１本の撚線は接地用、２本の撚線はデータ用、２本の撚線はデータストランドを同期するために使用されるストローブ用である。代替の実施の形態では、電源および接地用撚線を省いた４撚線ケーブルを使用してもよい。ＩＥＥＥ１３９４ケーブルは電磁妨害雑音を防ぐシールドも備える。核心として、ＩＥＥＥ１３９４ケーブルは本質的に、このワイヤに関しては最大４００メガビット／秒のデータ速度を有する高性能シリアルバスである。
【００１０】
有利なことに、ＩＥＥＥ１３９４バスは、コンポーネント電子機器がＩＥＥＥ１３９４ケーブルを介して電力を受け取るとともに通信するよう設計されうるため、大部分の装置に必要とされる接続をバックプレーンバス環境において１本のケーブルに低減するので、ホームエンターテイメントシステムにおける膨大な数のワイヤに対する必要性を低減する。ＩＥＥＥ１３９４−１９９５標準は、ＩＥＥＥ１３９４バスを実施するための物理層、リンク層、およびトランザクション層の態様についての仕様を提供し、これには、バスリセット、バス調停（bus arbitration）、ノード構成、標準パケット構造、パケット伝送の初期化、非同期パケットの送受信、等時性パケット（isochronous packets）の送受信、トランザクション制御、および誤り検出および修正等の機能の提供を含む。
【００１１】
ＩＥＥＥ１３９４バスを介した通信は、純粋にデジタルであるという点において、多くの従来技術とは異なっている。特に、ＩＥＥＥ１３９４上で搬送されるデータはソース（たとえばＣＤ−ＲＯＭ）からデジタルであるか、あるいはＩＥＥＥ１３９４バスに配置される前にアナログデジタル変換器によって変換されなければならない。さらに、ＩＥＥＥ１３９４ベースのシステムでの通信はピアツーピア（peer-to-peer）、すなわちＩＥＥＥ１３９４バス上の各装置（別称はノード）が、（たとえば、クライアントサーバ型構成で必要とされるように）通信／制御要求を中央装置／ノードを介して処理する必要なく、他の任意のノードと通信できる。ＩＥＥＥ１３９４ベースのシステムでは、コントローラは任意のノードに存在するため、ある意味では、ＩＥＥＥ１３９４バス自身がコントローラとなる。
【００１２】
【発明が解決しようとする課題】
ＩＥＥＥ１３９４の提唱者に対する挑戦は、動作の下位層、すなわち物理層、リンク層、およびトランザクション層では大したことはないが（プロトコルとデータパケット構造間のブリッジは競合領域であり続けるが）、それよりもむしろ、アプリケーション層等のネットワークプロトコル層の上位層においてである。高精細テレビ（ＨＤＴＶ）等の放送テレビおよびケーブル産業における最近の発達、およびケーブル放送産業における統合により、消費者が利用できるサービスおよびコンテントの数が幾何級数的に拡大された。このため、ホームエンターテイメント装置間での相互運用性が、共通および／または標準機能性である使い易さ、および拡張性と同様に強く望まれている。上記のように、ＩＥＥＥ１３９４ベースのホームエンターテイメントシステムにおいてそれぞれ接続かつ支援されうる装置およびサービスの拡張アレイを制御かつ管理するシステムが必要とされている。
【００１３】
この発明は上述した点に鑑みてなされたもので、ノードを遠隔監視および制御する方法、およびノードを遠隔監視および制御させる１つまたは複数の命令シーケンスを格納するコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【００１４】
【課題を解決するための手段】
この発明に係るノードを遠隔監視および制御する方法は、ネットワークシステムを外部ネットワークにブリッジするゲートウェイ装置を含むネットワークシステムにおいて、ノード（装置）の遠隔監視かつ制御する方法であって、ノードユニーク識別子列およびノード属性情報を含み、かつＩＥＥＥ１３９４サービスデータを含む第１のセクションと、ＭＰＥＧサービスデータを含む第２のセクションと、ＩＰサービスデータを含む第３のセクションとに区分けされたアドレスマッピングテーブルを前記ネットワーク内に維持するステップと、前記ゲートウェイ装置において、前記外部ネットワークからの入力データパケットを内部ネットワークに転送可能なＩＥＥＥ１３９４フォーマットに変換して受信するステップと、該入力データパケットを出力要求および入力データに構文解析するステップと、前記アドレスマッピングテーブルを用いて、該入力データを、前記ゲートウェイ装置に接続された内部ネットワーク上の特定のノードにマッピングし、該入力データを前記特定のノードに伝送するステップと、該特定のノードから応答を受信するステップと、該特定のノードからの該応答を含む出力データパケットを生成するステップと、該出力データパケットを前記外部ネットワークに転送するステップとを含むものである。
【００１５】
また、前記ネットワークシステムはＩＥＥＥ１３９４バスを含み、前記外部ネットワークはパケットデータネットワークを含むものである。
【００１６】
また、前記ネットワークシステムは、ＩＥＥＥ１３９４バスを含み、前記外部ネットワークは非同期転送モードネットワークを含むものである。
【００１７】
また、前記アドレスマッピングテーブルを維持するステップは、メモリにノードアドレス情報を格納するステップと、ノードアドレス情報更新トリガに応答して、前記ノードアドレス情報を更新するステップと、前記内部ネットワークにおける特定のノードをポーリングするステップと、該特定のノードから特定のノード属性を収集するステップとを含むものである。
【００１８】
また、外部ネットワークを介して接続された第１の装置と、前記内部ネットワークに接続された第２の装置との間に、ピアツーピア（peer-to-peer）双方向通信チャネルを確立するステップをさらに含むものである。
【００１９】
また、前記アドレスマッピングテーブルは前記ゲートウェイ装置に格納されるものである。
【００２０】
また、前記ネットワークシステムはホームエンターテイメントシステムを含み、前記ゲートウェイ装置はホームゲートウェイである。
【００２１】
また、この発明に係るコンピュータ読み取り可能な記録媒体は、１つまたは複数のプロセッサに、ネットワークシステムを外部ネットワークにブリッジするゲートウェイ装置を含むネットワークシステムにおけるノード（装置）を遠隔監視および制御させる１つまたは複数の命令シーケンスを格納するコンピュータ読み取り可能な記録媒体であって、ノードユニーク識別子列およびノード属性情報を含み、かつＩＥＥＥ１３９４サービスデータを含む第１のセクションと、ＭＰＥＧサービスデータを含む第２のセクションと、ＩＰサービスデータを含む第３のセクションとに区分けされたアドレスマッピングテーブルを前記ネットワーク内に維持するステップと、前記ゲートウェイ装置において、前記外部ネットワークからの入力データパケットを内部ネットワークに転送可能なＩＥＥＥ１３９４フォーマットに変換して受信するステップと、該入力データパケットを出力要求および入力データに構文解析するステップと、前記アドレスマッピングテーブルを用いて、該入力データを、前記ゲートウェイ装置に接続された内部ネットワーク上の特定のノードにマッピングし、該入力データを前記特定のノードに伝送するステップと、該特定のノードから応答を受信するステップと、該特定のノードからの該応答を含む出力データパケットを生成するステップと、該出力データパケットを前記外部ネットワークに転送するステップとを含むものである。
【００２２】
また、前記ネットワークシステムはＩＥＥＥ１３９４バスを含み、前記外部ネットワークはパケットデータネットワークを含むものである。
【００２３】
また、前記ネットワークシステムは、ＩＥＥＥ１３９４バスを含み、前記外部ネットワークは非同期転送モードネットワークを含むものである。
【００２４】
また、前記アドレスマッピングテーブルを維持するステップは、メモリにノードアドレス情報を格納するステップと、ノードアドレス情報更新トリガに応答して、前記ノードアドレス情報を更新するステップと、前記内部ネットワークにおける特定のノードをポーリングするステップと、該特定のノードから特定のノード属性を収集するステップとを含むものである。
【００２５】
また、前記１つまたは複数の命令シーケンスはさらに、前記１つまたは複数のプロセッサに、外部ネットワークを介して接続された第１の装置と、前記内部ネットワークに接続された第２の装置との間に、ピアツーピア双方向通信チャネルを確立するステップを行わせる命令を含むものである。
【００２６】
また、前記アドレスマッピングテーブルは前記ゲートウェイ装置に格納されるものである。
【００２７】
さらに、前記ネットワークシステムはホームエンターテイメントシステムを含みものである。
【００２８】
【発明の実施の形態】
この発明の第１の態様によると、ネットワークシステムを外部ネットワークにブリッジするゲートウェイ装置を含むネットワークシステムにおいて、ノード（装置）を遠隔監視かつ制御する方法であって、ノードユニーク識別子列およびノード属性情報を含むアドレスマッピングテーブルをネットワークシステム内に維持し、ゲートウェイ装置において、外部ネットワークからの入力データパケットを受信し、該入力データパケットを出力要求および入力データに構文解析（parsing）し、該入力データを、ゲートウェイ装置に接続された内部ネットワーク上の特定のノードにマッピングし、該入力データを前記特定のノードに伝送し、該特定のノードから応答を受信し、該特定のノードからの該応答を含む出力データパケットを生成し、該出力データパケットを外部ネットワークに転送することを含む方法が提供される。
【００２９】
この発明の好ましい実施の形態は、添付図面の図に限定としてではなく例として示される。図面において、同一の参照符号は同一のコンポーネントを指す。
本明細書にすべて参照として組み込まれるＩＥＥＥ１３９４−１９９５標準は、以下の説明および添付図面における図についての背景情報を説明、教示、かつ提供する。特に、ＩＥＥＥ１３９４−１９９５標準の選択した一部を図１乃至図４を参照して説明する。
【００３０】
ＩＥＥＥ１３９４概観
図１は、複数のアドレス指定可能なノード１０４を備えた例示的なＩＥＥＥ１３９４モジュール１００を示す。各ノード１０４は、ローカルバス１２８を介して相互接続されたプロセッサユニット１０８とＩ／Ｏユニット１１２とを含みうる。あるいは、ノード１０４は、メモリユニット１１６を含んでもよい。各ノード１０４は、バスコネクタ１２４それぞれを介してＩＥＥＥ１３９４キャリア１２０に接続される。
【００３１】
図２は、例示的なＩＥＥＥ１３９４の物理的なネットワークトポロジ２００を示し、このトポロジ２００は、それぞれＩＥＥＥ１３９４「ケーブル環境」２１２にブリッジされた２つのＩＥＥＥ１３９４「バックプレーン環境（backplane environments）２１６」を含む。
バックプレーン環境２１６において、物理的なトポロジは、マルチドロップバス２１５である。物理的な媒体は、バックプレーンの長さに延びるとともに、複数のＩＥＥＥ１３９４ノード１０４を接続するため、そこに分散されたコネクタを有する２本のシングルエンド伝導体である。
【００３２】
ケーブル環境２１２において、物理的なトポロジは、有限の分岐および範囲を有する「非循環（noncycle）」ネットワーク（閉ループが支援されていないことを意味する）である。各ＩＥＥＥ１３９４ケーブル２２０は、異なるノード１０４上のポート２０８を共に接続する。各ポート２０８は、通常、ターミネータ、トランシーバ、および調停論理回路（図示せず）を含む。ケーブル２２０およびポート２０８は、部分的にそこで発生した信号を隣接ノード１０４に中継するケーブル中継器として機能する。この中継機能により、ケーブル環境２１２のノード１０４が単一の論理バスをシミュレートできる。たとえば、バックプレーン環境２１６あるいはケーブル環境２１２において、２つの異なるＩＥＥＥ１３９４バスがともに接続されている場合、異なるネットワーク環境間で通信を変換するために、ブリッジ２０４が使用される。
【００３３】
ＩＥＥＥ１３９４標準に従うと、ＩＥＥＥ１３９４ネットワーク２００によって、６４ビットアドレス指定方式が採用される。各アドレスの上位１６ビットは、「node_ID（ノードＩＤ）」を表す。node_IDの最上位１０ビットは、ＩＥＥＥ１３９４ネットワーク２００全体における特定の論理バス、すなわち「bus_ID（バスＩＤ）」（たとえば、バス２１５）を識別する。このため、ＩＥＥＥ１３９４ネットワーク２００において最大１０２３本のバスを採用できる。node_IDの次の最上位６ビットは、特定ノードの物理アドレスすなわち「physical_ID（物理ＩＤ）」を表す。特定のＩＥＥＥ１３９４バス（たとえばバス２１５）上に、別個にアドレス指定可能な６３個のノード（たとえばノード１０４）が存在できる。アドレス空間の残りの４８ビットの様々な部分は、特定バスまたは特定ノードのいずれかである特定の資源に割り当てられる。
【００３４】
図３は、例示的なＩＥＥＥ１３９４ケーブルトポロジ３００を示す。この構成によれば、多数のノード１０４が、各ＩＥＥＥ１３９４ケーブル３０４によってポート２０８間で共に「デージーチェーン（daisy-chained）」接続されている。各ノード１０４は中継器として作用し、１つのポート２０８と次のポートの間で信号を中継して、信号を各ノード１０４間でケーブル３０４を介して伝送できるようにする。
【００３５】
図４は、例示的なＩＥＥＥ１３９４ノード１０４内のハードウェアおよびソフトウェアコンポーネント間の関係を示すプロトコルスタック４００を示す。特に、プロトコルスタック４００において、４つの層、すなわちトランザクション層４０４、リンク層４０８、物理層４１２、およびシリアルバス管理層４１６を示している。アプリケーション層などのさらなる層（図示せず）をプロトコルスタック４００に含めてもよい。
特に、トランザクション層４０４は、バストランザクションを行うよう完全な要求応答プロトコルを規定して、読み込み、書き込み、およびロック動作を支援する。トランザクション層４０４は、等時性管理データがシリアルバス管理層４１６に到達するための経路も提供する。
【００３６】
リンク層４０８は、トランザクション層４０４に対する要求確認サービス（すなわち「承認データグラム」）を有する一方向データ転送を提供する。より詳細には、リンク層４０８は、パケットの送受信のためのアドレス指定、データチェック、およびデータフレーム指示を提供するとともに、また、等時性データ転送サービスをアプリケーションに対して直接提供する。これには、タイミング信号および同期信号（たとえば「サイクル信号」）の生成が含まれる。
【００３７】
物理層４１２は、リンク層４０８によって使用される論理記号をＩＥＥＥ１３９４ケーブルに出力するための電気信号に翻訳する。物理層４１２はまた、一度に１つのノードだけがデータを送信していることを保証するために、調停サービスも提供する。好ましい実施の形態では、物理層４１２は、データ再同期および中継サービスならびに自動バス初期化を提供する。
【００３８】
シリアルバス管理層４１６は、バス管理、等時性資源管理、およびノード制御を提供する。たとえば、図２のケーブル環境２１２において、シリアルバス管理層４１６の等時性資源マネージャ４２０は、各ノード１０４に必要な資源を認めて、効率的で整然とした等時性動作に必要な等時性資源、チャネル、および帯域幅を協働して割り当て、また割り当て解除する。
【００３９】
バスマネージャ４２４は、性能最適化、電力および速度管理、およびトポロジ管理等のサービスをバス上の他のノード１０４に提供する。最後に、ノードコントローラ４２８は、バス上のノード１０４が必要とするすべての制御および状態レジスタを管理するとともに、物理層４１２、リンク層４０８、トランザクション層４０４、および１つ以上の他のアプリケーション層（図示せず）と通信する。
【００４０】
ホームエンターテイメントおよびホームオフィスシステム
図５は、多数の外部サービスプロバイダを好ましいホームエンターテイメントおよびホームオフィスシステムネットワーク（以下、「ホームエンターテイメントシステムネットワーク」と呼ぶ）５００にブリッジしているホームゲートウェイ５０４を示す。ホームエンターテイメントシステムネットワーク５００は、好ましくは（図２および図３を参照して上述した）ケーブル環境に構成される、ＩＥＥＥ１３９４バス５６８によって接続される。特に、一連のデージーチェーン接続されたＩＥＥＥ１３９４ケーブル５０２は、ＩＥＥＥ１３９４バス５６８を形成するために、ホームエンターテイメントネットワークシステム５００の各種電子機器コンポーネントのポート間を相互接続する。たとえば、ＴＶ５０８、ステレオ５１２、ＶＣＲ５１６、およびＤＶＤ５２０が、１つのチェーン５６０に接続される。別のチェーン５６４では、パーソナルコンピュータ５２４、プリンタ５２８、およびデジタルカメラ５３４が接続されている。
【００４１】
電子機器コンポーネントの各チェーン５６０および５６４それぞれは、１つ以上の外部ネットワークと各内部ネットワークチェーン５６０および５６４との間のブリッジとして（すなわち、２つの異なるバス環境間のブリッジではなく）作用するホームゲートウェイ５０４に接続される。たとえば、ホームゲートウェイ５０４は、衛星受信器５４０を介して衛星５８２から、アンテナ５４４を介して放送タワー５８６からのメディア供給、ならびに同軸ケーブル受信器５４８、光ファイバケーブル受信器５５２、または電話ケーブル受信器５５６をそれぞれ介して局所陸線５９２（たとえば、銅の撚対線、同軸または光ファイバケーブル）からの供給を受信することができる（注意：各種受信器はホームゲートウェイ５０４の外側に示されているが、実際の受信器またはレセプタクルは同様にホームゲートウェイ５０４内に収容されてもよい。各種受信器は、説明の目的でホームゲートウェイ５０４の外側に示されているにすぎない）。
【００４２】
ＴＶ５０８は、テレビ画面上に表示するために、データをＩＥＥＥ１３９４バス５０２からＮＴＳＣ（（米国の）テレビ方式審議委員会）および／またはＡＴＳＣ（Advanced Television Systems Committee）ビデオ信号に変換する、内部テレビアダプタを備えることが好ましい。代替の好ましい実施の形態において、テレビアダプタは、ＴＶ５０８とＩＥＥＥ１３９４ケーブル５０２の間を接続する外部装置である。いずれの実施の形態においても、テレビアダプタは、現在表示されていないが将来表示される画像データ用の画面外バッファと、テレビ画面に現在表示されている画像データ用の画面内バッファとを備えることが好ましい。さらに、テレビアダプタは、ＶＣＲ、ＤＶＤプレーヤ、またはデジタルカメラ等の、テレビに接続される補助装置に組み込まれてもよい。
【００４３】
ホームゲートウェイ
図６は、ホームゲートウェイ５０４ならびにホームゲートウェイ５０４に通信可能に接続されたコンポーネントの機能ブロック図を示す。
ゲートウェイ５０４は、それを介して各サービスが提供されるアクセスネットワーク６４４を介して通信するために、１つ以上のインタフェースを備える。たとえば、インターネットアクセスプロバイダ（「ＩＡＰ」）またはインターネットサービスプロバイダ（「ＩＳＰ」）６４０から、またはビデオサービスプロバイダ（「ＶＳＰ」）６４８からのサービスは、各ホームゲートウェイインタフェース、たとえば無線インタフェース「地上放送Ｉ／Ｆ」６５０、「衛星Ｉ／Ｆ」６５２、非同期デジタル加入者線インタフェース「ＡＤＳＬ Ｉ／Ｆ」６５６、非同期転送モードインタフェース「ＡＴＭ Ｉ／Ｆ」６６０、またはハイブリッドファイバ同軸インタフェース「ＨＦＣ Ｉ／Ｆ」６６４を、適切なネットワークリンク（たとえば地上リンク６１８、衛星リンク６２０、電話リンク６２４、ファイバリンク６２８、または同軸リンク６３２それぞれ）を介してアクセスネットワーク６４４に接続することによって、提供されうる。好ましい一実施の形態によると、ホームゲートウェイ５０４上のアダプタスロットが１つ以上の上記インタフェースを受ける。このような実施の形態は、新しいまたはアップグレードされた通信技術／ハードウェアがホームエンターテイメントシステム５００に接続される場合に、柔軟な再構成を提供する。
【００４４】
様々なアプリケーション、たとえばインターネットサーフィン、ＭＰＥＧビデオストリーム（標準または高精細テレビ）、ネットワーク上でのゲーム、電子的番組ガイド「ＥＰＧ」、およびホームネットワーク制御などがＩＡＰ／ＩＳＰ６４０および／またはＶＳＰ６４８からアクセスネットワーク６４４上で可能である。したがって、ホームゲートウェイ５０４は、ホームユーザＩＰルーティング６６８、ＭＰＥＧ２ストリーム処理（画面上表示「ＯＳＤ」およびＥＰＧ処理を含む）６７２、アクセスネットワーク通信制御６７６、ホームネットワーク制御／管理６８０、およびゲーム、ホームオートメーション、およびディレクトリサービス等他の存在しているかまたはダウンロード可能な機能６８２を可能にするため、ハードウェアおよびソフトウェアを含む。このため、ホームゲートウェイ５０４のためのファームウェアスタックを図８を参照して後述する。上記に参照した機能実施のためのプロトコルスタックは、図９乃至図１２を参照して後述される。
【００４５】
１３９４インタフェース６８４は、ホームゲートウェイ５０４に必要なコンポーネントであり、図９〜図１２を参照して説明されるネットワークプロトコルとともに使用される。１３９４インタフェース６８４は、外部ネットワークプロトコルと、内部ネットワークを形成するＩＥＥＥ１３９４準拠バスとの間のブリッジとして作用する。たとえば、１３９４Ｉ／Ｆ６８４は、パーソナルコンピュータ５２４とＴＶアダプタ６０４（これは一実施の形態において、テレビ６０８用に、ＩＥＥＥ１３９４データをアナログまたはデジタル信号に変換する）の間で、１３９４リンク６１２に渡ってＩＰを、また１３９４リンク６１６に渡ってＭＰＥＧを支援する。
【００４６】
図７に示すように、ホームゲートウェイ５０４の一実施の形態は、電源回路７４８、リセット回路７５２、クロック回路７５６、中央演算処理装置「ＣＰＵ」７０４、ローカルバス７０６、ＰＣＩブリッジおよび周辺機器コントローラ７０８、不揮発性メモリ（たとえばＲＯＭ７１２およびＦＬＡＳＨ７１６）、揮発性メモリ（たとえばＤＲＡＭ７２０）、ＲＳ２３２相互接続、およびＰＣＩバス７２４を備える。ＰＣＩバス７２４に接続されるのは、ホームゲートウェイ５０４にＡＴＭブリッジおよび他の機能性を提供するＡＴＭ ＬＳＩインタフェース７２８と、光キャリア３（「ＯＣ−３」）レベルポートに接続される同期光ネットワーク（「ＳＯＮＥＴ」）インタフェース７３２と、１３９４ＬＩＮＫ ＬＳＩ７３６と、３つのＩＥＥＥ１３９４ポートを有する１３９４ＰＨＹ ＬＳＩと、レジスタ、ＬＥＤおよびディップスイッチユニット７４４と、である。
【００４７】
市販されているハードウェアコンポーネントを、ホームゲートウェイ５０４に採用することが好ましい。たとえば、目下好ましいハードウェアコンポーネントの仕様を表１に記載する。
【００４８】
【表１】
0004462463.tif 000002
【００４９】
ＣＰＵ７０４、ＲＯＭ７１２、ＦＬＡＳＨ７１６、ＲＳ２３２ ７２４、およびＤＲＡＭ７２０は、ＰＣＩブリッジおよび周辺機器コントローラ７０８、およびローカルバス７０６を介して互いに通信可能に接続される。ＰＣＩブリッジおよび周辺機器コントローラ７０８は、ＰＣＩバス７２４にも接続される。ＰＣＩバス７２４は、ＡＴＭ ＬＳＩ７２８と、１３９４ＬＩＮＫ ＬＳＩ７３６と、レジスタ、ＬＥＤおよびディップスイッチユニット７４４とに接続される。
【００５０】
図８は、ホームゲートウェイ５０４に採用されるファームウェアスタック８００を示す。オペレーティングシステム（ＯＳ）カーネル８０４が、ファームウェアスタック８００の中心に存在し、サービスコントローラ８０８、システム管理８１２、ＡＴＭドライバ８１６、１３９４ドライバ８２０と通信する。ＡＴＭドライバ８１６は、サービスコントローラ８０８、１３９４ドライバ８２０および各種ハードウェアコンポーネント８２４（すなわち、ホームエンターテイメントシステム５００における物理的な電子機器コンポーネント）と通信する。同様に、１３９４ドライバ８２０は、サービスコントローラ８０８、ＡＴＭドライバ８１６、およびハードウェア８２４と通信する。
【００５１】
システム管理８１２は、初期化、自己診断、システム健康チェック、およびデバッグする機能を含む。サービスコントローラ８０８は、ＭＰＥＧ ＴＳおよびＥＰＧフィルタリング、およびマルチキャスティングと、ＩＰルーティングおよび端末機能と、１３９４バス上でのＭＰＥＧおよびＡＴＭ上でのＭＰＥＧ、ならびに１３９４バス上でのＩＰおよびＡＴＭ上でのＩＰと、アドレスマッピングと、ホームネットワークサービスコマンドおよび制御（たとえば、ＭＰＥＧサービス制御、ＴＶ画像制御、遠隔処理、およびカメラ制御）と、他の機能（たとえば、ゲーム、ホームオートメーション、およびディレクトリサービス）とを含む。
【００５２】
１３９４ドライバ８２０は、非同期データ伝送と、等時性データ伝送と、物理層制御パケット伝送と、バスのリセットおよび制御と、ルートおよびサイクルマスタ処理と、構成状態レジスタおよび構成ＲＯＭ処理と、バス管理と、アドレスマッピングテーブル更新とを実現する。一方で、ＡＴＭドライバ８１６は、ＡＴＭパケット伝送と、ＡＴＭ永久仮想接続（「ＰＶＣ」）の確立および解放とを実現する。
ＯＳカーネル８０４は、タスク切り換えと、メッセージキューおよび送出と、割り込み処理と、タイマ管理と、メモリ管理とを提供する。また、ＯＳカーネル８０４は、ホームゲートウェイ５０４の制御に使用される電子装置の相互運用機能も提供する。
【００５３】
ハードウェア８２４は、ファームウェアスタック８００の物理層、すなわち最下層を表す。
現在の好ましい実施の形態において、ホームゲートウェイ５０４は、外部ネットワーク９０４と内部ネットワーク９１２の間のブリッジ／ルータとして機能する（図９〜図１２を参照して以下に詳述する）。したがって、ホームゲートウェイ５０４は、プロトコルおよびデータフォーマット変換、ならびにアドレスマッピング機能（後述する）に使用される、外部ネットワーク９０４と内部ネットワーク９１２間の中間層を提供する。特に、ホームゲートウェイ５０４は好ましくは、アドレスマッピングテーブル（図１３を参照して後述する）を維持するための「管理ノード」であり、ここで、ホームゲートウェイ５０４は、ノードアドレス情報をメモリに格納し、定期的に該ノードアドレス情報を更新し、内部ネットワーク９１２上のＩＥＥＥ１３９４ノード（本明細書で使用される「ＩＥＥＥ１３９４ノード」とは、ＩＥＥＥ１３９４バス５６８に存在する１つ以上のノードであり、図１〜図４を参照して上述したノード１０４のことである）をポーリングし、アドレスマッピングテーブル１６００用に該ポーリングされたＩＥＥＥ１３９４ノードからノード属性を収集する。アドレスマッピングテーブル１６００およびアドレスマッピングサービスのさらなる詳細は、図１３および図１９を参照して後述する。
【００５４】
ブリッジ／ルータ機能
図２０は、外部ネットワークと内部ネットワークの間でデータをフォーマットし、かつルーティングするためのステップを表すフローチャートを示す。特に、図２０は、ブリッジ／ルータ機能を進める際の、ホームゲートウェイ５０４によって実行されるステップを示す。なお、図２０に示す機能は、以下のＭＰＥＧおよびＩＰサービスの項にさらに詳細に述べられている。以下の説明の目的は、ホームゲートウェイ５０４のブリッジ／ルータ機能全般である。
【００５５】
データフォーマットおよびルーティングプロセスは、ホームゲートウェイ５０４がデータパケットを受信するステップ２３０４において開始される。ステップ２３０８において、データパケット内の情報が分離される。たとえば、ヘッダおよび／またはアドレスデータ、ならびにデータパケット本体が識別される。ステップ２３１２において、データパケットが第１のデジタルフォーマットから第２のデジタルフォーマットに変換される。例として、ステップ２３１２は、データパケット本体に対してヘッダデータを削除したり、付加したり、またデータ構造自体を暗号化フォーマットから非暗号化フォーマットに再フォーマットすることを含んでもよい。
【００５６】
ステップ２３１６において、データパケットがリアルタイムまたは非リアルタイムデータを含んでいるかどうかを決定するためのテストが行われる。たとえば、コマンドは非リアルタイムデータである可能性が高い。しかし、ＭＰＥＧ移送ストリームはリアルタイムデータである。データパケットヘッダを分析することにより、ホームゲートウェイ５０４は、該データパケットに含まれているデータのタイプを決定することが可能である。データパケット本体が非リアルタイムデータを含んでいる場合には、プロセスはステップ２３２０に続き、ここで、データパケット本体がＩＥＥＥ１３９４バス上での非同期パケットとしての伝送用に準備される。一方、データパケット本体がリアルタイムデータを含む場合、プロセスはステップ２３２４に続き、ここで、データパケット本体が、ＩＥＥＥ１３９４バスの等時性チャネルを介した伝送用に準備される。ステップ２３２０および２３２４はいずれもステップ２３２８に続く。
【００５７】
ステップ２３２８において、アドレスマッピングテーブル１６００（図１３を参照して後述される）が読まれ、該アドレスマッピングテーブルからのアドレス情報が相互参照される。たとえば、データパケットについての、ターゲットＩＥＥＥ１３９４ノードのノードＩＤまたはノードに一意なＩＤ等のアドレス情報がコピーされる。ステップ２３３２において、ホームゲートウェイ５０４は、ステップ２３２８からのデータを用いて、アドレス情報を等時性（ステップ２３２０）あるいは非同期（ステップ２３２４）のいずれかであるデータパケットに添付する。ステップ２３３６において、等時性または非同期のデータパケットは、ターゲットＩＥＥＥ１３９４ノードに、選択されたＩＥＥＥ１３９４チャネルまたはアドレスを介して伝送される。
【００５８】
プロトコルスタック
図９〜図１２は、ホームエンターテイメントシステムネットワークに関する、各外部ネットワーク、ホームゲートウェイ、および内部ネットワーク間に採用されるプロトコルスタックの様々な態様を示す。図９〜図１１は、ホームゲートウェイ５０４に関する。図１２は、ホームエンターテイメントシステムネットワークに配置された家庭用電子装置間のプロトコルスタックに関する。
【００５９】
図９〜図１２には、外部ネットワーク９０４、ブリッジ９０８、および内部ネットワーク（すなわちＩＥＥＥ１３９４バス）９１２が共通して示されている。外部ネットワーク９０４は、ＭＰＥＧネットワーク９１６（たとえばデジタルビデオサービスプロバイダ）およびＩＰネットワーク９２０（たとえば「インターネット」）を含みうる。アクセスネットワーク９２４は、ＭＰＥＧネットワーク９１６およびＩＰネットワーク９２０の両方に接続される。一実施の形態によれば、アクセスネットワーク９２４は、たとえばアメリカオンライン（America Online）あるいは＠Ｈｏｍｅ等のインターネットアクセスプロバイダ（「ＩＡＰ」）である。外部ネットワーク９０４は、ブリッジ９０８を介して内部ネットワーク９１２に接続されている。ブリッジ９０８は好ましくは、ホームゲートウェイ５０４である。ホームゲートウェイ５０４は、外部ネットワーク９２４からのデータおよび信号を、ＡＴＭパケットから、内部ネットワーク９１２に転送可能なＩＥＥＥ１３９４フォーマットに変換する。内部ネットワーク９１２は、テレビアダプタ９３２と、標準または高精細テレビ９３６（あるいは、１３９４ノードおよびテレビを組み込んだ単一ユニット）と、パーソナルコンピュータ９４６とを含む。プロトコルスタックは、図９〜図１２において、システム全体のうちでそれらが対応する部分の下に示されている。
【００６０】
図９は、ＭＰＥＧネットワーク９１６からＴＶアダプタ９３２へのＡＴＭデータ伝送に従ったプロトコルスタック９００を示す。
【００６１】
ＭＰＥＧデータは、ＭＰＥＧネットワーク９１６においてＭＰＥＧ ＴＳ（「移送ストリーム」）プロトコルまたは制御コマンド（「ＣＴＲＬ ＣＯＭ」）９５６からＡＴＭアダプションレイヤ５（「ＡＡＬ５」）９５２にフォーマットされる。ＡＡＬ５から、データはＡＴＭデータ９４８に変換されて、ＡＴＭデータ９４８から同期光ネットワーク「ＳＯＮＥＴ」プロトコル９４４に変換される。最下層では、その高い信頼性によりＡＴＭネットワークが好ましいが、代替の実施の形態において異なるキャリア（たとえば、ＡＴＭレイヤを置換することによって）を採用してもよい。
【００６２】
アクセスネットワーク９２４から、データはホームゲートウェイ５０４で受信される。ホームゲートウェイ５０４において、外部ネットワークからの通信が、ＡＴＭプロトコルからＩＥＥＥ１３９４プロトコルに変換（または「ブリッジ」）される。ＩＥＣ６１８８３ ９６４を含むさらなるプロトコルレイヤ変換が図９に示されるが、ＩＥＣ６１８８３ ９６４は、ＩＥＥＥ１３９４通信用にＭＰＥＧデータをフォーマットするものであり、「Digital Interface for Consumer Audio/Visual Equipment」と題する国際電気標準会議標準６１８８３にさらに記載されており、ＩＥＣ（www.iec.org）から公的に入手可能である。ＩＥＥＥ１３９４プロトコル９６８は、ＩＥＥＥ１３９４−１９９５標準に記載されている。
【００６３】
ゲートウェイ９０８から、データはＩＥＥＥ１３９４プロトコルを介して内部ネットワーク９１２に送信され、ここで、該データは、ビデオ表示ユニットでの提示／再生のために、続いてＭＰＥＧ移送ストリームにまた変換される。さらに、ＴＶアダプタ９３２で該データを、標準または高精細テレビセットにオーディオ／ビジュアルデータを提供することができるアナログ信号に変換することが可能である。しかし、ＴＶ９３６はＭＰＥＧデータを支援可能であることが好ましい。
【００６４】
図１０は、ＩＰネットワーク９２０からＰＣ９４６へのＩＰデータ伝送に従うプロトコルスタック１０００を示す。伝送制御プロトコル（「ＴＣＰ」）またはユーザデータグラムプロトコル（「ＵＤＰ」）１００８は、公的に入手可能な文書、インターネットＲＦＣ７９３およびインターネットＲＦＣ７６８それぞれに記載されているものであり、インターネットＲＦＣ７９１に記載されているインターネットプロトコル（「ＩＰ」）１００４上に階層化されている。これは、インターネット（たとえばインターネットまたはワールドワイドウェブ）からのパケットデータの伝送を容易にする。ホームゲートウェイ５０４およびＰＣ９４６において、１３９４プロトコル１０１２上のＩＰ（Peter JohanssonによるＩＥＴＦ：Internet Engineering Task Force文書「Ipv4 over IEEE1394」に記載されており、「http://www.ietf.org」において入手可能）を採用する。ＩＥＴＦ文書「Ipv4 over IEEE1394」全体を本明細書に参照として組み込む。プロトコルスタック１０００は、ワールドワイドウェブおよびインターネット上でのコンテントの発見すなわち探索に特に有利である。
【００６５】
図１１は、ＩＰネットワーク９２０からＰＣ９４６へのＴＣＰ／ＩＰデータ伝送についてのプロトコルスタック１１００を示す。自動セットアップおよびＩＰアドレス割り当てを容易にするために、プロトコルスタック１１００は、インターネットＲＦＣ１０３４および１０３５に記載されているドメイン名システム（「ＤＮＳ」）と、ダイナミックホスト構成プロトコル（「ＤＨＣＰ」）を支援する。
【００６６】
図１２は、インターネットネットワーク９１２を介した装置間（たとえばホームゲートウェイ５０４またはＰＣ９４６からＴＶアダプタ９３２へ）のビットマップ伝送についてのプロトコルスタック１２００を示す。プロトコルスタック１２００は、上述していないさらなるプロトコル「ＤＤ−Ｃｏｎｎｅｃｔ ＡｓｙＢｍｐ」１２０４を採用している。「ビットマップ伝送」プロトコルは、さらに詳細に後述する。「ＡＰ」プロトコル１２０８は、単にアプリケーション層で使用される特定のプロトコル（たとえば表示装置プロトコルまたはマウスプロトコル）にすぎない。
【００６７】
ＭＰＥＧサービス
現在の好ましい実施の形態によれば、ホームゲートウェイ５０４は、ＭＰＥＧネットワーク９１６上のビデオサービスプロバイダからＩＥＥＥ１３９４内部ネットワーク９１２におけるＩＥＥＥ１３９４ノードへの入りＭＰＥＧ移送ストリームサービスを管理する。ＭＰＥＧサービスは、ホームゲートウェイ５０４内のＡＴＭドライバ８１６、サービスコントローラ８０８、およびＩＥＥＥ１３９４ドライバ８２０によって管理される。図２１は、外部ネットワーク９０４と内部ネットワーク９１２間のＭＰＥＧデータ処理のステップを示すフローチャートである。
【００６８】
図２１に目を向けると、ステップ２４０４において、非同期書き込み要求がＩＥＥＥ１３９４ノードからＩＥＥＥ１３９４ドライバ８２０で受信される。非同期書き込み要求は、ＭＰＥＧ開始要求（MPEG START REQUEST）コマンドを含む。ＭＥＰＧ開始要求コマンドは、ＩＥＥＥ１３９４ドライバ８２０からサービスコントローラ８０８に渡され、この時点で等時性資源割り当てが開始される。ステップ２４０８において、ＭＰＥＧ開始応答（MPEG START RESPONSE）を含む非同期書き込み要求が、サービスコントローラ８０８からＩＥＥＥ１３９４ドライバ８２０に、そしてＩＥＥＥ１３９４ドライバ８２０からターゲットＩＥＥＥ１３９４ノードに送信される。
【００６９】
次に、ステップ２４１２において、ＭＰＥＧ実行可能（MPEG READY）コマンドを含む非同期書き込み要求が、ＩＥＥＥ１３９４ドライバ８２０において受信される。ＭＰＥＧ実行可能コマンドは、ＩＥＥＥ１３９４ドライバ８２０からサービスコントローラ８０８に渡される。ステップ２４１６において、ＭＰＥＧデータはＡＴＭドライバ８１６で受信される。ステップ２４１６はステップ２４１２の後に示されているが、ＭＥＰＧデータをステップ２４１２の前に受信することも可能である。ＭＰＥＧデータは、ＭＰＥＧネットワーク９１６上のビデオサービスプロバイダとのＡＡＬ５接続を介して受信される。
【００７０】
ステップ２４２０において、サービスコントローラは、ＭＰＥＧトーク開始（MPEG TALK START）要求を送信することにより、予め割り当てられた等時性チャネルを介した等時性伝送を可能にするように１２９４ドライバ８２０に要求する。ステップ２４２４において、サービスコントローラ８０８は、等時性仮想チャネル（「ＶＣ」）を要求するために、ＶＣイネーブル（VC ENABLE）要求をＡＴＭドライバ８１６に送信する。次に、ステップ２４２８において、ＭＰＥＧ準備完了応答を含む非同期書き込み要求が、サービスコントローラ８０８から１３９４ドライバ８２０に送信され、ここからターゲットＩＥＥＥ１３９４ノードに送信される。
【００７１】
ステップ２４３２において、ＭＰＥＧデータがＡＴＭドライバ８１６で受信される。ステップ２４３６において、ＭＰＥＧデータ送信（MPEG DATA SEND）要求がＡＴＭドライバ８１６からＩＥＥＥ１３９４ドライバ８２０に渡される。次に、ステップ２４４０において、ＭＥＰＧデータがＭＰＥＧデータ送信要求の後に続く。ＭＥＰＧデータは、次にターゲットＩＥＥＥ１３９４ノードにルーティングされる。ステップ２４４４において、サービスコントローラ８０８は、ＭＰＥＧ停止（MEPG STOP）コマンドを含む非同期書き込み要求が、ターゲットＩＥＥＥ１３９４ノードから受信されたかどうかを決定するためのテストが行われる。ステップ２４４４でのテストの結果が否定である場合、プロセスは上記ステップ２４３２に続く。ステップ２４４４でのテストの結果が肯定である場合、これはＭＰＥＧ停止コマンドが受信されたことを意味し、プロセスはステップ２４４８に続く。
【００７２】
ステップ２４４８において、サービスコントローラ８０８は、要求をＡＴＭドライバ８１６に渡して、等時性仮想チャネルをディセーブルする（すなわち閉じる）よう要求する。ステップ２４５２において、サービスコントローラ８０８は、ＭＰＥＧトーク停止（MPEG TALK STOP）応答をＩＥＥＥ１３９４ドライバに送信する。最後に、ステップ２４６０において、等時性資源が解放され、ここで、ＭＰＥＧ停止応答が、ＩＥＥＥ１３９４ドライバ８２０を介してサービスコントローラ８０８からＩＥＥＥ１３９４ノードに送信される。
【００７３】
ＩＰサービス
現在の好ましい実施の形態において、ホームゲートウェイ５０４はさらに、ＩＥＥＥ１３９４内部ネットワーク９１２および外部ネットワーク９０４上のＩＥＥＥ１３９４ノードに対するＩＰサービスを管理する。説明のために、外部ネットワーク９０４は、非同期転送モード（「ＡＴＭ」）プロトコルが好ましいため、ＡＴＭプロトコルを介して通信するよう示されている。しかし、この発明の代替の実施の形態では、たとえばインターネットアクセスプロバイダまたはインターネットサービスプロバイダ（たとえば伝送制御プロトコル「ＴＣＰ」）、ケーブルモデム、非同期デジタル加入者線、または他の同等の通信プロトコルを通したＩＰ等の非ＡＴＭプロトコルを介した通信が可能である。
【００７４】
図２２（Ａ）〜（Ｃ）は、ＩＰサービスステップについての支援を示すフローチャートである。より詳細には、図２２（Ａ）は、ＩＰルーティングまたは転送のための大まかなＩＰパケット支援を示し、図２２（Ｂ）は、ＡＲＰ（アドレスリゾリューションプロトコル）支援を示し、図２２（Ｃ）はＩＰパケット「ピング」支援を示す。本明細書に記載するＩＰ支援サービスは、イベント（すなわち割り込み）駆動支援アルゴリズムであり、トリガを受信すると、たとえばＡＴＭドライバ８１６においてＩＰパケットを受信すると開始される。公的に入手可能なインターネット活動委員会文書ＲＦＣ７９１、８２６、および２１５１それぞれには、ＩＰパケット処理、ＡＲＰおよびピング要求処理に関するさらなる情報が記載されている。これらの文書（その全体を本明細書に参照として組み込む）は、作成されてからは、「http://sunsite.cnlab-switch.ch/」から自由に入手可能である。したがって、ホームゲートウェイ５０４のＩＰサービスに関して以下提供される情報は、その動作様式の大まかな概観となるよう意図されている。
【００７５】
図２２（Ａ）は、ルーティングまたは転送のためのＩＰパケット処理についてのステップを示すフローチャートである。ステップ２５０４において、ＡＴＭドライバ８１６で受信したＩＰパケットが、ＩＰパケット指示を含むかどうかを決定するためにテストされる。パケットがＩＰパケット指示を含んでいない場合、次のＩＰパケットを受信するまでルーティングを停止する。しかし、パケットがＩＰパケット指示を含んでいる場合、プロセスはステップ２５０８に続き、ここで、ＡＴＭドライバ８１６がＩＰパケット指示をサービスコントローラ８０８に転送する。サービスコントローラ８０８はアドレスマッピングテーブル１６００（図１３を参照して詳述する）を読み、ＩＰパケットに含まれる宛先ＩＰアドレスを対応するＩＥＥＥ１３９４ノードとマッチングする。
【００７６】
ホームゲートウェイ５０４は、宛先ＩＥＥＥ１３９４ノードへのルーティングのためにＩＰパケットをフォーマットする。このために、ステップ２５１２において、非同期書き込み要求がＩＰパケットとともに初期化されて、サービスコントローラ８０８からＩＥＥＥ１３９４ドライバ８２０に、そしてＩＥＥＥ１３９４ドライバ８２０から宛先ＩＥＥＥ１３９４ノードに渡される。上記プロセスはイベント駆動型であり、本反復はステップ２５１２の後で終了するので、プロセスは「待機」モードに戻り、ここでＩＰサービスルーチンが次のＩＰパケットを待つ。
【００７７】
図２２（Ｂ）は、アドレス解決プロトコル（「ＡＲＰ」）処理についてのステップを示す。ＡＲＰは、インターネットアドレスから物理アドレス（たとえばイーサネットアドレス）を見つけるためのプロトコルである。一般的に、要求側は、別のホストのインターネットアドレスを含むＡＲＰパケットを放送してから、他のホストがその代表的な物理アドレスを返送するのを待つ。ホームゲートウェイ５０４はアドレスマッピングテーブル１６００を維持し、これは、部分的にこの目的のために使用される。ＡＲＰ要求がホームゲートウェイ５０４で受信されると、ホームゲートウェイ５０４は、アドレスマッピングテーブル１６００を照会して、受信したＩＰアドレスに対応する物理アドレスを見つけることにより、物理アドレスを返送することができる。このＡＲＰ要求応答は、ＩＰアドレスが必ずしもホームゲートウェイ５０４のＩＰアドレスではない場合でも可能である。実際、ＩＰアドレスは、ＩＥＥＥ１３９４バス５６８上に存在するパーソナルコンピュータ（たとえばパーソナルコンピュータ５２４）のＩＰアドレスである可能性がより高い。
【００７８】
図２２（Ｂ）に示すステップに目を向けると、ステップ２５２４において、パケットが、ＡＲＰ要求を含むかどうかを決定するためにテストされる。パケットがＡＲＰ要求を含んでいない場合、プロセスはステップ２５２４に戻る。なお、ステップ２５２４は、イベントトリガ（パケット受信）に基づいて行われるものであり、継続するポーリングではない。パケットがＡＲＰ要求を含んでいる場合、プロセスはステップ２５２８に続く。
【００７９】
ステップ２５２８において、ＡＲＰ要求は、ＡＴＭドライバ８１６からサービスコントローラ８０８に渡される。サービスコントローラはアドレスマッピングテーブル１６００を読んで、ＡＲＰにおけるインターネットアドレスによって識別されるＩＥＥＥ１３９４ノードがＩＥＥＥ１３９４バス５６８に存在するかどうかを決定する。インターネットアドレスによって識別されるＩＥＥＥ１３９４ノードがＩＥＥＥ１３９４バス５６８に存在しない場合、プロセスの本反復は終了する。しかし、ＩＥＥＥ１３９４ノードがＩＥＥＥ１３９４バス５６８に存在する場合、ステップ２５３２において、該ＩＥＥＥ１３９４ノードの物理アドレスが、アドレスマッピングテーブル１６００から検索される。
【００８０】
ステップ２５３６において、該物理アドレスはＡＲＰ応答に組み入れられ、ステップ２５４０において、ＡＲＰ応答がサービスコントローラ８０８からＡＴＭドライバ８１６に、そしてＡＴＭドライバ８１６から外部ネットワーク９０４に転送される。このプロセスの本反復はステップ２５４０の後で終了するため、本プロセスはステップ２５２４において（すなわち、次の反復で）開始される。
【００８１】
図２２（Ｃ）は、「ピング」を処理するためのステップを示す。ピングは、特定の装置が「オンライン」すなわち「活きている」かどうかを決定するために使用されるエコー要求である。「ピング」プロセスは当技術分野で既知であるが、説明のために本明細書に高レベルの概観を示す。
【００８２】
ステップ２５４４において、ＩＰパケットが、ホームゲートウェイ５０４に向けられた「ピング」要求を含むかどうかを決定するためにテストされる。ＩＰパケットがホームゲートウェイ５０４に対するピング要求を含んでいない場合、本反復は終了し、プロセスは（上記ステップ２５０４および２５２４と同様に）ステップ２５４４に戻る。しかし、ＩＰパケットがホームゲートウェイ５０４に対するピング要求を含んでいる場合、プロセスはステップ２５４８に続く。
【００８３】
ステップ２５４８において、ピング要求がＡＴＭドライバ８１６からサービスコントローラ８０８に渡され、ここで、ピング要求に含まれるＩＰアドレスがホームゲートウェイ５０４のＩＰアドレスに対してテストされる。該２つのアドレスがマッチングする場合、プロセスは後述するステップ２５６０に続く。該２つのＩＰアドレスがマッチングしない場合、プロセスはステップ２５５２に続く。
【００８４】
ステップ２５５２において、サービスコントローラ８０８はアドレスマッピングテーブル１６００に含まれるＩＰアドレスを読む。ステップ２５５６において、ピング要求に含まれる入りＩＰアドレスとアドレスマッピングテーブル１６００内のいずれかのＩＰアドレスとの間にマッチングがあるかどうかを決定するためにテストが行われる。ステップ２５５６でのテストの結果、マッチングがなかった場合、本反復は終了し、プロセスはステップ２５４４に戻る（なお、この例では、ピングにはいかなる応答も与えられない）。
【００８５】
しかし、該２つのＩＰアドレス間にマッチングが存在する場合、プロセスはステップ２５５８に続き、ここでピング要求がＩＥＥＥ１３９４バス上の特定のノードに転送される。該特定のノードは、ピング要求に適宜応答する。したがって、プロセスはステップ２５４４に戻る。
【００８６】
ステップ２５６０において、ピング要求に対する応答がサービスコントローラ８０８によって生成され、ＡＴＭドライバ８１６に渡され、それから外部ネットワーク９０４に転送される。ピング要求についての処理が終了し、新たなピング要求を受信すると、次の反復を処理することができる。
【００８７】
アドレスマッピング
図１３は、例示的なアドレスマッピングテーブル１６００を示す。アドレスマッピングテーブル１６００は、少なくとも４つの列と、ホームエンターテイメントネットワークシステム５００上にある装置と同じ数の行を有することが好ましい。アドレスマッピングテーブル１６００は好ましくは、３つの別個のセクションに区分けされる。第１のセクション１６２０はＩＥＥＥ１３９４サービスデータを含み、第２のセクション１６２４はＭＰＥＧサービスデータを含み、第３のセクション１６２８はＩＰサービスデータを含む。アドレスマッピングテーブル１６００は物理的には単一のテーブルであるが、各セクションは情報について自身の「ミニテーブル」を有する。
【００８８】
ＩＥＥＥ１３９４セクション１６２０では、第１列はノードユニークＩＤ列１６０４であり、該ノードユニークＩＤはノード１０４のハードウェアまたはＲＯＭに永久的に符号化される。次の群の列は、ノード属性列１６０２である。ノード属性列は、ノードに格納されているユーザが選択した／プログラムした名称によって特定ノードを識別する共通名列１６０８と、動的に割り当てられる１６ビットのnode_IDを含むnode_ID列１６１２と、ノードタイプ列１６１６と、ＩＰアドレス列１６１８とを含む。
【００８９】
ＭＰＥＧサービスセクション１６２４では、第１列はＡＴＭ  ＶＰＩ／ＶＣＩ列１６３２であり、次の列はプログラム情報列１６３６であり、第３列はＩＥＥＥ１３９４等時性チャネル列１６４０であり、最後の列はノードユニークＩＤ列１６０４である。
【００９０】
ＩＰサービスセクション１６２８では、第１列はＡＴＭ  ＶＰＩ／ＶＣＩ列１６３２であり、次の列はＩＰアドレス列１６１８であり、第３列はnode_ID列１６１２であり、最後の列はノードユニークＩＤ列１６０４である。
【００９１】
バスリセットが発生すると、アドレスマッピングテーブル１６００がＩＥＥＥ１３９４ドライバ（たとえば図８に示すＩＥＥＥ１３９４ドライバ８１６）よって生成される。ＩＥＥＥ１３９４ドライバは、ＩＥＥＥ１３９４バス（たとえば、図５に示すＩＥＥＥ１３９４バス５６８）における各ノードから、該ノードのノードユニークＩＤおよび他の情報を識別する応答を受信する。ノードから受信した情報に基づいて、ＩＥＥＥ１３９４ドライバは該ノードユニークＩＤをアドレスマッピングテーブル１６００に追加し、それからさらなる情報（たとえば共通名、ノード容量、およびＩＰアドレス）について特定ノードを照会する。ＩＥＥＥ１３９４ドライバは、該ノードについてnode_ID列１６１２に値を割り当てる。
【００９２】
図１９は、アドレスマッピングテーブル１６００を生成かつ維持するステップを示すフローチャートである。ステップは、ホームエンターテイメントネットワークシステム５００に存在する「管理ノード」によって行われる。より詳細には、ステップはホームゲートウェイ５０４によって行われる。アドレスマッピングテーブル１６００を管理するノードは通常、予め選択されている。しかし、バスリセットに応答して、あるいはユーザから表された命令によって動的に変更可能である。いずれにしても、アドレスマッピングテーブル１６００を生成かつ維持する機能は、ＩＥＥＥ１３９４ドライバ８２０に内蔵される。
【００９３】
アドレスマッピングプロセスの最初に、アドレスマッピングテーブル１６００を生成させるトリガを受信する。トリガは、バスリセットコマンド等の、管理ノードに対して内部または外部トリガのいずれかである。バスリセットは、アプリケーション層からの明示的な命令の結果、またはファームウェアからの暗黙命令によって、たとえばＩＥＥＥ１３９４ドライバ８２０がホームエンターテイメントネットワークシステム５００に追加された新しいノードを検出したことに応答して、発生しうる。トリガは、図１９のステップ２２００においてバスリセットとして示されている。
【００９４】
トリガ受信後、プロセスはステップ２２０４に進み、ここで管理ノードが自己識別パケットを受信する。自己識別パケットは、上記で「node_ID」と呼ばれた１６ビットのアドレス情報を含む。ステップ２２０８において、node_ID、より詳細には１０ビットのbus_ID（バスＩＤ）および６ビットのphysical_IDが、自己識別パケットから抽出される。
【００９５】
ステップ２２１２において、新しい行がアドレスマッピングテーブル１６００に追加される。ステップ２２０８において抽出されたデータは、ステップ２２１６において、bus_IDおよびphysical_IDフィールドに記入される。好ましい実施の形態において、２つのフィールドは、単一の１６ビットのアドレス空間、すなわちnode_ID列１６１２である。
【００９６】
ステップ２２２０において、管理ノードは、ステップ２２０４において受信したnode_IDによって識別されるノードにアドレス指定された非同期読み込み要求を用意して伝送する。該非同期読み込み要求に応答して、ステップ２２２４において、管理ノードは非同期読み込み応答を受信する。非同期読み込み応答は、少なくともノード一意識別子（「ＩＤ」）を含み、また好ましくは、さらにノード属性情報、たとえばＩＰアドレス、ノードタイプ、および共通名等を含む。
【００９７】
ステップ２２２８において、ノードユニークＩＤ、および現在の好ましい実施の形態による追加のノード属性情報が、ステップ２２２４において受信した非同期読み込み応答から抽出される。ステップ２２３２において、ノードユニークＩＤは、アドレスマッピングテーブル１６００のノードユニークＩＤ列に記入される。好ましい実施の形態において、追加のノード属性情報はまた、アドレスマッピングテーブル１６００の対応する列にも記入される。区分けされたアドレスマッピングテーブル１６００を使用する場合、該アドレスマッピングテーブル１６００の行は、行におけるデータが関連するサービスのタイプ、たとえばＩＥＥＥ１３９４サービス、ＡＴＭサービス、またはＭＰＥＧサービスに対応して、論理的に分離される。このような実施の形態において、ノード属性情報は、どの区分けにノード情報が対応するかを識別する。別の実施の形態において、冗長データが、一次アドレスマッピングテーブル１６００内のミニサービステーブルに格納される。
【００９８】
最後に、ステップ２２３６において、管理ノードが新しいノード自己ＩＤパケットを受信したかどうかを決定するためのテストが行われる。新しいノード自己ＩＤパケットを受信している場合、プロセスはステップ２２０８に続く。新しいノード自己ＩＤパケットを受信していない場合、プロセスは終了する。
【００９９】
この発明のより広義な精神において、上述したステップはバッチモードで処理可能であり、バスリセット（すなわちステップ２２００）後、収集期間が経過する間に、管理ノードがノード自己ＩＤパケットを受信して、メモリ内の待機リストに入れる。このような実施の形態において、ノード自己ＩＤの処理と、ノードユニークＩＤおよびノード属性情報の取得とは、待機リストから漸進的に処理することができる。したがって、ステップ２２３６において、テストにより、追加の自己ＩＤパケットを処理する必要があるかどうかが決定される。
【０１００】
ホームエンターテイメントネットワークシステム５００における特定のノードに向けられたコマンドを受信すると、該コマンドは、アドレスマッピングテーブル１６００を使用して特定のbus_IDおよびphysical_ID（またはnode_ID）に関連づけられる。次に、管理ノードは、該特定のbus_IDおよびphysical_IDを使用して、受信したコマンドをホームエンターテイメントネットワークシステム５００における特定のノードにアドレス指定（すなわち配送）する。
【０１０１】
コマンドおよび制御転送
図１４〜図１７は、この発明の現在の好ましい実施の形態によるコマンドおよび制御転送の態様を示す。さらに、図１４および図１５は、コマンドおよび制御転送と、パケットデータ処理とのステップを個々に示すフローチャートであり、一方、図１６（Ａ）〜図１６（Ｃ）は、図１４および図１５に示したステップの結果、ビデオ表示ユニットに作成される表示情報の一実施の形態を示す。図１７は、ノードアイコンテーブルを示す。
【０１０２】
コマンドおよび制御転送プロセスを始めるにあたり、トリガが受信される。たとえば、トリガには、コマンドおよび制御転送プロセスを開始する、リモートコントローラ上の「メニュー」ボタン、またはホームエンターテイメントネットワークシステム５００に存在する装置に格納された手順を含めることができる。図１４に示すように、プロセス１８０４（図１５を参照して後述する）から出力されたパケットエンジンが、コマンドおよび制御転送のためのステップを開始することができる。
【０１０３】
ステップ１７０４は、アドレスマッピングテーブル１６００を読むことを含む。アドレスマッピングテーブル１６００が一旦読まれると、ステップ１７１２においてノードアイコンテーブルが読まれる。
【０１０４】
ノードアイコンテーブルは少なくとも２つの列を有し、ホームエンターテイメントネットワーク５００上の各装置毎の画像を識別する。第１列はノード（たとえば、ノードユニークＩＤまたはノードタイプ）を表し、第２列はノードのアイコンを表す。しかし、ノードタイプおよびノードユニークＩＤ等、追加の列をテーブルに有することも可能である。したがって、特定ノードのアイコンが望まれる場合、まずノードユニークＩＤについてノードアイコンテーブルが走査され、ノードユニークＩＤが見つからない場合には、ノードアイコンテーブルが所望のノードタイプについて走査される（たとえば、ノードは特定の装置の標準に準拠しうる）。マッチングするノードユニークＩＤあるいは代替としてマッチングするノードタイプが見つかると、ステップ１７１６において所望ノードのアイコンを受信する。
【０１０５】
ノードアイコンテーブルの一実施の形態が図１７に示される。ノードアイコンテーブル２０００は、ノードユニークＩＤ列１６０４、ノードタイプ列１６０８、およびビットマップデータ列２００４を含む。ビットマップデータ列は、約４ｋＢのノードアイコンについてのデータを保持する。一実施の形態において、単一アイコンについてのデータはノードアイコンテーブル２０００に含まれるが、しかし、代替の実施の形態では、２つのアイコン、すなわち「非活動」アイコンおよび活動ノードアイコン、についてのデータがノードアイコンテーブル２０００に含まれる。非動作アイコンは該ノードが選択されていないときに表示されるアイコンを意味し、活動ノードアイコンは、該ノードが選択されている時に表示されるアイコンを意味する。
【０１０６】
ステップ１７２０において、完全なノードナビゲーションツリーが生成される。ノードナビゲーションツリーは、図１６（Ａ）および図１６（Ｂ）に示される。図１６（Ａ）において、ノードナビゲーションツリー１９００は、アイコン１９０４で表される制御ノードを含む。制御ノードは、ユーザがそれを通して通信するノードである。宛先ノードは、アイコン１９０８、１９１２、および１９１６で表される。図１６（Ａ）に示すように、制御ノードのアイコン１９０４は活動モードであり、一方宛先ノードのアイコン１９０８、１９１２、および１９１６は非活動モードである。追加のノードがホームエンターテイメントシステム５００に追加されると、宛先ノードアイコンの数が増加する。同様に、既存ノードがホームエンターテイメントシステム５００から削除されると、宛先ノードの数がそれに応じて低減する。
【０１０７】
ステップ１７２４において、ノードナビゲーションツリー１９００は、ビデオ表示ユニットに伝送される。一実施の形態によると、ノードナビゲーションツリー１９００がパケットエンジン１８００に出力されて、ここで、プロセス１８０８（図１５を参照して後述する）への入力として処理される。
【０１０８】
ステップ１７２８において、巡航入力を受信する。再び、巡航入力は内部ネットワーク９１２（図９）内の入力装置から受信されるか、またはたとえばパケットエンジンプロセス１８０４を介して外部ネットワーク９０４から受信されうる。ステップ１７２８において受信した入力に基づいて、特定の宛先ノードが識別される。制御ノードは、ノードナビゲーションテーブル１６００からアイコン情報（たとえば活動モードグラフィックス）を検索して、ステップ１７３２において、ナビゲーションツリー１９００のサブセットを変更する。代替の実施の形態において、強調された枠、またはリング等、標準活動モードデータがナビゲーションツリー１９００の一部に追加されて、選択された宛先ノードを示すため、アドレスマッピングテーブル１６００からの活動モードアイコンデータの検索は必要ない。活動モードデータに基づいて、ノードナビゲーションツリー１９００の一部またはサブセットが変更される。変更されたノードナビゲーションツリー１９００の一部は、「新たに」選択された活動ノードに対応する変更されたデータを含むことができるか、または付加的に活動モードから非活動モードに切り替えられたノードに対応する変更されたデータを含むことができる。現在の好ましい実施の形態によれば、新しい活動ノードアイコンおよび古い活動ノードアイコンに関する両方のデータが変更される。
【０１０９】
図１６（Ｂ）は、アイコン１９１６に対応する宛先ノードが活動ノードとして選択された後の、ノードナビゲーションツリー１９００を示す。変更されたノードナビゲーションツリー１９００の一部は、アイコン１９０４および１９１６に対応するデータのサブセットである。ステップ１７３６において、ノードナビゲーションツリー１９００の変更されたサブセットは、ビデオ表示ユニットに伝送される。代替の実施の形態において、ノードナビゲーションツリー１９００の変更されたサブセットは、パケットエンジン１８００に渡されて、プロセス１８０８によって外部ネットワーク９０４にルーティングされる。
【０１１０】
ステップ１７３６と１７４０の間に、オプションの中間ステップが発生しうる。オプションステップは、ステップ１７２８において巡航された宛先ノードが実施に所望の宛先ノードであることを、ユーザから確認するものである。このステップでは、所望の宛先アイコンへの巡航後に、「ＥＮＴＥＲ」コマンド等別の入力を単に受信するだけである。
【０１１１】
ステップ１７４０において、ノード機能テーブルが読まれる。図１８はノード機能テーブル２１００を示す。ノード機能テーブル２１００は２つの列、すなわちノードタイプ列１６１６および機能リスト列２１０４を含むことが好ましい。機能リスト列２１０４は複数のエントリを含み、各エントリ２１０８は、単一の文字英数字入力、対応する機能名、および操作コードを含む。コントローラがノード機能テーブル２１００を読むと、ノード機能テーブル２１００は、特定の活動宛先ノードタイプと、該活動宛先ノードについての有効コマンドを含む対応エントリ２１０８とについて走査される。ステップ１７４０において、有効コマンドが検索される。
【０１１２】
ステップ１７４４において、ステップ１７４０で検索されたデータに基づいて、ノード機能リストが生成される。次に、ステップ１７４８において、ノード機能リストはビデオ表示ユニットに伝送される。ここでも、プロセス１８０８による処理およびルーティングのために、ビデオ表示ユニットへの伝送は、出ノード機能リストをパケットエンジンに送信することを含んでもよい。
【０１１３】
図１６（Ｃ）は、ビデオ表示ユニットに提示されるノード機能リスト１９２８を示す。ノード機能リスト１９２８の第１列は、入力値列１９２０を表す。第２列であるテキスト列１９２４は隣接入力値に対応するテキストを表し、該テキストは、コントローラが列１９２０における隣接入力値を受信した場合、結果として生じる機能を記述する。
【０１１４】
ステップ１７５２において、ノード機能入力がコントローラで受信される。該入力はＩＥＥＥ１３９４バス５６８を介して来てもよく、または外部ネットワーク９０４から来てもよく、後者の場合、ノード機能入力はパケットエンジン１８００によってコントローラに向けられる。ステップ１７５６においてノード機能入力は有効入力値１９２０と比較され、ノード機能入力が有効入力値１９２０とマッチングすると、コントローラはステップ１７６４に進む。しかし、ノード機能入力が有効入力値１９２０にマッチングしない場合、コントローラはステップ１７６０に進み、ここでエラーメッセージ（たとえば「無効コマンド、再入力してください」）がビデオ表示ユニット（またはパケットエンジン１８００）に伝送される。プロセスは、ステップ１７６０からステップ１７５２に続く。あるいは、プロセスは、ビデオ表示ユニットがリフレッシュされうるように、ステップ１７４８に続いてもよい。
【０１１５】
最後に、コントローラで受信した入力値１９２０が、ノード機能リスト１９２８における機能にマッピングされる。ステップ１７６４において、コマンドが適切な操作コードでフォーマットされて、宛先ノードに伝送される。ステップ１７６４後に、コマンドおよび制御転送方法が完了する。
【０１１６】
パケットエンジン
図１５は、パケットエンジン１８００を示す。一実施の形態によれば、パケットエンジン１８００は、内部ネットワーク９１２および外部ネットワーク９０４への、またそれらからのデータを受信かつフォーマットするソフトウェアブリッジ／ルータである。しかし、パケットエンジン１８００はハードウェアだけ、またはハードウェイおよびソフトウェアの組み合わせにおいて実施してもよい。データパケットを外部ネットワーク９０４から内部ネットワーク９１２に渡すステップはプロセス１８０４に示され、一方データを内部ネットワーク９１２から外部ネットワーク９０４に渡すステップはプロセス１８０８に示される。
【０１１７】
プロセス１８０４では、ステップ１８１０においてデータパケットを外部ネットワーク９０４から受信する。ステップ１８１２において、データパケットが、入力要求たとえばノード機能入力と、出力ルーティング情報たとえば応答をデータパケット送信側に返送するのに必要な情報とを構文解析する。ステップ１８１６において、入力要求がフォーマットされて、コントローラに送信される。
【０１１８】
プロセス１８０８では、ステップ１８２４において、データ出力（たとえばノードナビゲーションツリー１９００）を内部ネットワーク９１２からパケットエンジン１８００で受信する。ステップ１８２８において、内部ネットワークから受信したデータが、外部ネットワークを介してのルーティングに許容可能なデータパケットにフォーマットされる。プロセス１８０４のステップ１８１２において構文解析された出力ルーティング情報がこのために使用される。一実施の形態では、許容可能なデータパケットはＩＰパケットであり、別の実施の形態ではＡＴＭパケットが許容可能である。
【０１１９】
遠隔管理および制御
ホームゲートウェイ５０４を含むホームエンターテイメントシステムネットワーク５００において、内部ネットワーク９１２上のノードを外部ネットワーク９０４から監視および制御可能である。このような実施の形態では、アドレスマッピングテーブル１６００は、外部ネットワーク９０４に存在する装置と内部ネットワーク９１２上のノードとの間の通信を容易にする。
【０１２０】
ホームゲートウェイ５０４（上述した）は、好ましくはアドレスマッピングテーブル１６００を維持し、かつ外部ネットワーク９０４に対しての入データおよび出データへの「門番」として作用する。さらに、ホームゲートウェイ５０４は、ホームエンターテイメントシステムネットワーク５００に関連する情報に対するリポジトリとして機能し、ノードタイプ等のノード属性情報、互換性、および追加のＡＴＭ、ＭＰＥＧ、ＩＥＥＥ１３９４およびＩＰサービス情報をメモリ（たとえばフラッシュメモリ７１６またはＤＲＡＭメモリ７２０）に格納する。サービスコントローラ８０８は、後述する機能の大部分を処理する。
【０１２１】
一実施の形態において、ホームゲートウェイ５０４は、ファームウェアスタック８００内にＳＮＭＰ（簡易ネットワーク管理プロトコル）マネージャおよびエージェントを含む。ＳＮＭＰエージェントは、ホームエンターテイメントネットワークシステム５００におけるＩＥＥＥ１３９４ノードに関する照会に応答し、ホームゲートウェイ５０４に他のＳＮＭＰマネージャからの照会に応答する能力を効果的に提供する。ＳＮＭＰマネージャから照会された情報は、ホームゲートウェイ５０４に格納された管理情報ベース（「ＭＩＢ」）に含まれる。ＭＩＢの一実施の形態は、アドレスマッピングテーブル１６００、ならびにノード機能テーブル２１００等の他のテーブルである。代替の実施の形態では、ＲＦＣ１２１３によって定義されるもの等の別のＭＩＢが採用される。ＳＮＭＰは、インターネット活動委員会文書ＲＦＣ１１５７にさらに記載されており、これは、この文書の時点では、「http://sunsite.cnlab-switch.ch/」で公的に入手可能である。
【０１２２】
さらに、ＳＮＭＰエージェントは、システム５００における特定のＩＥＥＥ１３９４ノードによって要求されたタスクを開始することができる。たとえば、ＳＮＭＰマネージャは、バスリセット要求を受信してもよい。バスリセット要求はＳＮＭＰエージェントに渡されて、次にＳＮＭＰエージェントは１３９４ドライバ８２０にバスリセットをトリガさせる。別の例では、遠隔ＳＮＭＰマネージャを介して渡されたコマンドを受信する。該コマンドは、上述した要求と同様に、ＳＮＭＰエージェントに渡され、ＳＮＭＰエージェントが該コマンドを処理して、後続する層、たとえば１３９４ドライバ８２０またはＯＳカーネル８０４への伝送のためにフォーマットされる。
【０１２３】
別の実施の形態において、ホームゲートウェイ５０４はウェブサーバ機能を組み込んでいる。より詳細には、ホームゲートウェイ５０４は外部クライアント、たとえばウェブブラウザからの要求にサービスを提供し、ホームエンターテイメントネットワークシステム５００におけるＩＥＥＥ１３９４ノードについての情報を戻す。たとえば、一実施の形態では、ノードナビゲーションツリー１９００についての要求およびノードナビゲーションツリー１９００を戻す応答は、ウェブサーバによって処理される。このため、ウェブサーバは、図１５を参照して上述したパケットエンジン１８００の機能等の機能を含む。ウェブサーバ機能はＳＮＭＰ機能とほぼ同様であるが、ウェブサーバでは、管理および制御がウェブブラウザ等の遠隔クライアントを介して制御されることが好ましい。外部クライアントからのコマンドもまた、バスリセット、ＶＣＲに録画を開始させるトリガ、またはドアをロックするあるいはライトを付けるスイッチを含みうる。
【０１２４】
ウェブサーバまたはＳＮＭＰマネージャ実施の形態のいずれにおいても、中央オフィスまたは監視サイト、たとえばＶＳＰ６４８またはＩＡＰ／ＩＳＰ６４０（図６を参照して上述）は、ホームエンターテイメントシステム５００内の装置を監視することができる。
【０１２５】
遠隔監視および制御ステップを図２３に示す。該ステップはホームゲートウェイ５０４によって行われ、より詳細にはホームゲートウェイ５０４のＳＮＭＰマネージャおよびエージェント、またはウェブサーバコンポーネントによって行われうる。
【０１２６】
ステップ２６０４において、ホームゲートウェイ５０４で出力データパケットを受信する。ステップ２６０８において、出力データパケットが構文解析される。たとえば、入力データパケットが、遠隔クライアントおよび入力データパケットについての情報（たとえば、セキュリティ情報、遠隔ＩＰアドレス等）を記述する他のヘッダまたはメタデータから分離される。ステップ２６１２において、該入力データパケットは、ホームゲートウェイ５０４からターゲットノードに伝送される。
【０１２７】
ステップ２６１６において、ステップ２６１２で伝送された入力データパケットに対する応答がホームゲートウェイ５０４で受信される。ステップ２６２０にいて出力データパケットが生成され、ステップ２６２４において、該出力データパケットが、該情報を要求した遠隔クライアントに戻される。
【０１２８】
アドレスマッピングテーブル１６００は、この発明の遠隔監視および制御態様において非常に有用である。たとえば、アドレスマッピングテーブル１６００は、ホームエンターテイメントネットワークシステム５００内の、要求コマンドが向けられるターゲットＩＥＥＥ１３９４ノードのアドレス指定を補助するために、ステップ２６１２に使用される。同様に、アドレスマッピングテーブル１６００はまた、ＩＰアドレスまたは他のアドレス情報（たとえばノードユニークＩＤ）を含んで、データまたはコマンド要求に対する遠隔クライアントの権限を認証することによって、遠隔クライアントからのデータまたはコマンドに対する要求を認証するために使用されることも可能である。さらに、ＩＰサービス記述（図２２（Ａ）〜図２２（Ｃ）を参照して上述した）はまた、上記遠隔監視および制御のより一般的な説明を理解するのに有用である。
【０１２９】
地理的データ収集
図２４は、中央サーバ２７５０（たとえば中央オフィスサーバまたはヘッドエンドサーバ）とともに、地理的統計データを収集するよう構成されたＩＥＥＥ１３９４ホームゲートウェイノード２７００のハードウェアアーキテクチャのブロック図を示す。好ましい実施の形態において、ホームゲートウェイ２７００はホームゲートウェイ５０４と同様であり、簡略化のために、ホームゲートウェイ２７００の選択されたコンポーネントしか示していない。ホームゲートウェイ２７００は、中央演算処理装置７０４と、不揮発性メモリ２７１２等の永続メモリと、ＡＴＭ ＬＳＩ７２８（図２４には図示せず、図７に図示）等の外部ネットワークインタフェース２７０４と、１３９４ＬＩＮＫ ＬＳＩ７３６（図２４には図示せず、図７に図示）等の内部ネットワークインタフェース２７０８と、位置決めユニット２７１６とを含む。不揮発性メモリ２７１２はローカルバス７０６を介してＣＰＵ７０４に通信可能に接続されており、一方ＣＰＵ７０４、外部ネットワークインタフェース２７０４、内部ネットワークインタフェース２７０８、および位置決めユニット２７１６は、ＰＣＩバス７２４を介して通信可能に相互接続される。
【０１３０】
中央サーバ２７５０は、カリフォルニア州、Redwood Shoresにあるオラクル社（Oracle Corporation, http://www.oracle.com）から入手可能なOracle 8（登録商標）データベース等のクライアントサーバソフトウェアシステムを実行する、カリフォルニア州、マウンテンビューにあるサンマイクロシステムズ（Sun Microsystems, http://www.sun.com）から入手可能なSun （登録商標）Enterprise（登録商標）２５０システム等の企業品質サーバであることが好ましい。中央サーバ２７５０は、ケーブルまたはビデオサービスプロバイダ等のサービスプロバイダによって操作され、ホームゲートウェイ２７００から遠く離れた場所に配置される。
【０１３１】
中央サーバ２７５０は、ブロック図フォーマットにおいて、ＣＰＵ２７５４と、不揮発性メモリ２７５８（たとえば永続ディスク）と、外部ネットワークインタフェース２７６２とを備えるものとして示されている。ＣＰＵ２７５４、ＮＶメモリ２７５８および外部ネットワークインタフェース２７６２は、ローカルバス２７５６を介して接続される。中央サーバ２７５０およびホームゲートウェイ２７００は、光ファイバケーブル２７０２等の、外部ネットワークインタフェース２７０４と２７６２の間の物理的媒体を介して通信可能に接続される。他の接続媒体として、銅（より対線または同軸ケーブル）および無線インタフェースが含まれうる。
【０１３２】
ホームゲートウェイ２７００内に示される位置決めユニット２７１６は、多数の実施の形態を有することができる。たとえば、好ましい一実施の形態では、位置決めユニット２７１６は、カリフォルニア州、SunnyvaleにあるTrimble Navigation（http://www.trimble.com）から入手可能なACE II GPS（登録商標）モジュール等の全地球測位モジュールを備える。しかし、該ユニットの地理的解像度は重要でないため、特定の、すなわち高精度の全地球測位モジュールは必ずしも必要ではない。さらなる例として、地理的位置データが中央サーバ２７５０によって、たとえばケーブルプロバイダから要求され、これにより、全地球測位モジュールがホームゲートウェイ２７００の位置情報を更新するようトリガする。位置決めユニット２７１６は次に、更新された位置情報を、たとえば位置決めユニット２７１６から直接、またはＣＰＵ７０４を介して中央サーバに提供する。
【０１３３】
代替の、かつよりコスト効率的な実施の形態において、不揮発性ＲＡＭ等の永続メモリが、ホームゲートウェイ２７００電源投入時またはユーザの要求によって初期化されるソフトウェアベースのユーザプロンプトとともに、位置決めユニット２７１６において採用してもよい。ユーザプロンプトは、ユーザが郵便番号等の地理的位置識別子を手動で入力するよう導き、ユーザの応答が不揮発性ＲＡＭに記録される。ホームエンターテイメントネットワークシステム５００の地理的位置情報に対する次の要求が行われると、ホームゲートウェイ２７００は、永続メモリに格納されている位置識別子を戻すことによって応答する。
【０１３４】
図２５は、ホームエンターテイメントネットワークシステム５００等のネットワーク環境において、統計的な地理的位置情報を収集するための方法を示すフローチャートである。本方法は、ホームゲートウェイ２７００において実行されている一連の命令（たとえばファームウェアルーチン）を介して行われることが好ましい。
【０１３５】
図２５における第１ステップを参照すると、ステップ２８０４において、位置決めユニット２７１６に格納された位置情報が現在のものであるかどうかを決定するために、ホームゲートウェイ２７００によってテストが行われる。通常環境下において、テストは、地理的位置情報が現在のものであるかどうかを決定するためにカウンタ／タイマを使用できるように、定期的に、たとえば隔週毎に行われる。好ましくは、カウンタ／タイマは、電源遮断の発生時に常に無効タイムを反映するようセットされ、これによって、地理的位置情報を更新させる。カウンタ／タイマが現時である場合、プロセスはステップ２８１６に続き、そうでない場合にはプロセスはステップ２８０８に続く。
【０１３６】
ステップ２８０８において、位置決めユニット２７１６は、自動的に（たとえば全地球測位モジュールを介して）、あるいは手動（たとえばユーザプロンプトおよび応答を介して）のいずれかで地理的位置情報を検索する。ステップ２８１２において、地理的位置情報が、ホームゲートウェイ２７００内のたとえばＮＶメモリ２７１２等の永続メモリ、または位置決めユニット２７１６の一部である専用永続メモリ（図示せず）に格納される。
【０１３７】
ステップ２８１６において、外部ネットワークインタフェース２７０４を介して渡される、外部ネットワーク９０４からの入コンテント情報がサンプリングされる。サンプリングされる入データはチャネル識別子を含むとともに、また、放送側（broadcaster）の時刻および日付スタンプも含みうる。ステップ２８２０において、サンプリングされたデータは、永続メモリ、たとえばＮＶメモリ２７１２に存在する統計データテーブル３０００（図２７を参照して以下に詳述）に記録される。好ましい実施の形態では、チャネルが、所定時間長、たとえば５分間よりも長い期間にＩＥＥＥ１３９４バス５６８におけるＩＥＥＥ１３９４ノード上で変更される度に、ホームゲートウェイ２７００は、対応する記録を統計データテーブル３００に作成する。
【０１３８】
ステップ２８２４において、統計学的な地理データについての要求を受信したかどうかを決定するためにテストが行われる。一般に、統計データ要求は、外部ネットワーク９０４を介して放送側設備にある中央サーバ２７５０から来る。しかし、統計データ要求は、たとえば子供の視聴習慣を検閲したい親によってなど、ホームエンターテイメントネットワークシステム５００内から来てもよい。
【０１３９】
統計データ要求を受信していない場合、本プロセスの該反復は終了して、ホームゲートウェイ２７００はステップ２８０４に循環して戻る。しかし、ホームゲートウェイ２７００が統計データ要求を受信している場合、処理はステップ２８２８に進み、ここで統計データテーブル３０００に格納されているサンプリングされたデータが暗号化される。一実施の形態によれば、公開鍵／使用鍵暗号化対が、Message Digest 5「ＭＤ５」アルゴリズム等の解読／暗号化機構に使用される。ＭＤ５アルゴリズムは、公的に入手可能な「The MD5 Message Digest Algorithm」（R. Rivest, 1992）と題するインターネットＲＦＣ１３２１(http://sunsite.cnlabswitch.ch)に記載されており、この全体を本明細書に参照として組み込む。
【０１４０】
統計データテーブルからの情報が暗号化された後、ステップ２８３２において、外部ネットワークインタフェース２７００を介して位置識別子（必要であれば）とともに中央サーバ２７５０に伝送される。なお、いかなる所与の時点においても、特定の位置識別子を有する特定のホームゲートウェイ２７００だけがポーリングされる場合では、位置識別子を含む必要はない。しかし、定期的な更新がホームゲートウェイ２７００から中央サーバ２７５０にプッシュされる場合には、位置識別子が必要になる。その後、本プロセスの反復が終了し、ステップ２８０４において新たなサイクルを開始できる。
【０１４１】
図２６は、中央サーバ２７５０によってネットワーク環境から統計学的な地理的情報を収集するための方法を示すフローチャートである。該方法は、中央サーバ２７５０上で実行されている一連の命令、たとえばアプリケーションを介して行われることが好ましい。ステップ２９０４で開始し、中央サーバ２７５０がホームゲートウェイ２７００との通信を初期化する。
【０１４２】
一実施の形態によれば、初期化シーケンスは、中央サーバ２７５０からホームゲートウェイ２７００、ならびにホームゲートウェイ２７００から中央サーバ２７５０両方の識別（identity）を認証することを含む。別の実施の形態では、認証プロセスはさらに、ホームエンターテイメントネットワークシステム５００に存在する追加のＩＥＥＥ１３９４ノードを登録することを含む。これは、アドレスマッピングテーブル１６００からのノードユニークＩＤ（図１３および図１９を参照して上述）等の選択されたデータを含むことによって行われうる。
【０１４３】
さらに別の実施の形態では、地理的位置情報／識別子がステップ２８０８（図２５）においてホームゲートウェイ２７００に記録されると、位置識別子はアドレスマッピングテーブル１６００およびＩＥＥＥ１３９４バス５６８（書き込みアクセスが可能であれば）上に存在する各ＩＥＥＥ１３９４ノードの予備永続メモリロケーション内の両方に格納される。バスリセットが発生すると、ホームゲートウェイ２７００または中央サーバ２７５０によって検出された位置識別子間、たとえば任意のＩＥＥＥ１３９４ノードとホームゲートウェイ２７００の間の不一致により、中央サーバ２７５０による認証／登録プロセスがトリガされる。あるいは、ホームゲートウェイ２７００は、中央サーバ２７５０により、アドレスマッピングテーブル１６００の一部を定期的に同期化することができる。（異なる位置識別子を有する）特定のＩＥＥＥ１３９４ノードのノードユニークＩＤおよびホームゲートウェイ２７００のノードユニークＩＤは次に、中央サーバ２７５０によって調停される。なんらかの理由により不一致を調停できない場合には、適当なサービス要員に、ユーザエラーの可能性がある、または装置が盗まれたことのいずれかを通知できる。
【０１４４】
ステップ２９０４後に、ステップ２９０８において、中央サーバ２７５０は、ホームゲートウェイ２７００からのサンプル統計データ、たとえば統計データテーブル３０００のすべてまたは一部のみを要求する。サンプル統計データを要求した後、ステップ２９１２において、中央サーバ２７５０はある期間サンプル統計データを待つ。サンプル統計データを受信しない場合、プロセスはステップ２９０４に続く。しかし、サンプル統計データを受信した場合、プロセスはステップ２９１６に続く。
【０１４５】
ステップ２９１６において、ホームゲートウェイ２７００から受信したサンプル統計データを解読する。再び、一実施の形態によれば、暗号化／解読アルゴリズムは、本明細書においてインターネットＲＦＣ１３２１を参照して記載したＭＤ５機能である。
【０１４６】
ステップ２９２０において、解読されたサンプル統計データが、視聴パターンおよびユーザの好みについて分析される。サンプル統計データに基づいて、広告または番組リストの種類等の特定のコンテントを、ホームゲートウェイ２７００を介して渡されるコンテントを視聴しているユーザに対して、選択的に放送することができる。たとえば、ユーザが特定の番組またはチャネルを一貫して見る場合、その番組またはチャネルを後で、電子番組ガイドにおいて「好ましい」視聴チャネルとしてマークすることができる。同様に、特定の番組を視聴する特定のユーザまたはユーザ群の人口統計、たとえば年齢、性別、または郵便番号も記録することができる。特定番組の人口統計に基づいて、特定のユーザまたはユーザ群に適合した広告、ならびに該番組およびユーザの好みに関連したユニフォームリソースロケータ「ＵＲＬ」等の強化された視聴情報を該番組とともに放送できる。
【０１４７】
図２７は、例示的な統計データテーブル３０００の図である。統計データテーブル３０００は５つの列を有するが、代替の実施の形態においてはそれよりも多くの、または少ない列を有しうる。ノードユニークＩＤ列３００４は、所与の例において、ホームゲートウェイ２７００を介してコンテントを受信している各ＩＥＥＥ１３９４装置についての一意識別子を格納する。チャネル列３００８は、ホームゲートウェイ２７００を介してパイプ化（piped）されている特定チャネルの識別子を格納する。各レコードの日付および時刻を一意に識別するためのタイムスタンプ／カウンタフィールド３０１２、たとえば１６ビットの時刻および日付スタンプは、特定のユーザおよびチャネルの視聴開始時刻を格納する。同様に、タイムスタンプ／カウンタフィールド３０１６を用いて、特定のユーザおよびチャネルの視聴終了日付および時刻を記録する。フィールド３００８および３０１２についてのタイムスタンプ／カウンタは、統計データを分析する際に標準基準枠が使用されるように、中央サーバ２７５０によって生成かつ放送されることが好ましい。あるいは、タイムスタンプ／カウンタはホームゲートウェイ２７００によって生成されてもよいが、しかし、依然として中央サーバ２７５０と周期的に同期される必要がある。ユーザフィールド３０２０は、特定の統計データについてのユーザ識別子を記録する。たとえば、親による制御をディセーブルするためのパスワードを知っているユーザに、所定のユーザ識別子を割り当てることができる。
【０１４８】
統計データテーブル３０００には、３つの行３０２４、３０２８、および３０３２が示されている。たとえば、中央サーバ２７５０によって分析される際、行３０２４および３０２８に格納された情報は、三菱製ＴＶで特定の日および特定の時刻に６分間チャネル「２」を視聴したユーザＡと通信する。さらに、該レコードは、その後ユーザＡがチャネル「４」に切り換え、さらに９分間見続けたことを示した。行３０３２は、ユーザＡがチャネル「４」を視聴している間に、ユーザＢが２６分間異なるＩＥＥＥ１３９４ノード上（ここではＡＣＭＥ ＰＣ上）のチャネル「２」に合わせていたことを示す。統計データテーブル３０００における情報は、データサンプルに深さを与えるために、（本明細書に記載した）アドレスマッピングテーブル１６００で増補されてもよい。
【０１４９】
本明細書に記載した方法およびプロセスは、特定のハードウェア構成においてではなく、むしろ、永続ディスク、ＣＤ−ＲＯＭ、フロッピーディスク、揮発性メモリ（たとえばランダムアクセスメモリ「ＲＡＭ」）、または不揮発性メモリ（フラッシュメモリや読み取り専用メモリ「ＲＯＭ」等）等のコンピュータ読み取り可能な記録媒体に格納された、１つまたは複数の命令シーケンスを実行する１つまたは複数のプロセッサによって行われることが好ましい。しかし、この発明のより広義の精神において、本明細書に記載した方法およびプロセスの様々な態様を、ＴＴＬ論理、またはゲートアレイ等のハードウェアコンポーネントを介して実施できる。さらに、ソフトウェアコンポーネントのファームウェアレベルの好み、たとえば、一般にＲＯＭに格納されるソフトウェアコンポーネントの低レベルプログラム実施、またはソフトウェアコンポーネントのアプリケーションレベルの好み、たとえばファームウェア、オペレーティングシステムカーネル、および／またはサーバプロセス上で実行されるソフトウェアコンポーネントの高レベルプルグラム実施、が望ましい場合、好みが特定される。好みが特定されていない場合、いずれの実施レベルも許容可能である。したがって、本明細書に含まれる文書での説明および添付図面は限定としてではなく例示的なものと認識されるべきである。
【０１５０】
【発明の効果】
以上のように、この発明によれば、ノードを遠隔監視および制御する方法、およびノードを遠隔監視および制御させる１つまたは複数の命令シーケンスを格納するコンピュータ読み取り可能な記録媒体を提供することができる。
【図面の簡単な説明】
【図１】  例示的なＩＥＥＥ１３９４モジュールアーキテクチャを示す説明図である。
【図２】  例示的なＩＥＥＥ１３９４ネットワークトポロジを示す説明図である。
【図３】  例示的なケーブルベースのＩＥＥＥ１３９４トポロジを示す説明図である。
【図４】  例示的なＩＥＥＥ１３９４ノードプロトコルスタックを示す説明図である。
【図５】  ＩＥＥＥ１３９４ベースのネットワークで、多数の外部サービスプロバイダをブリッジするホームゲートウェイを示す説明図である。
【図６】  図５のホームゲートウェイの機能ブロック図である。
【図７】  ハードウェアコンポーネントを示す、ホームゲートウェイの代替ブロック図である。
【図８】  ホームゲートウェイのファームウェアスタックを示すブロック図である。
【図９】  図５のＩＥＥＥ１３９４ベースのホームエンターテイメントシステムネットワークを介するＭＰＥＧ移送（MPEG transport）についてのプロトコルスタックを示す説明図である。
【図１０】  図５のホームエンターテイメントシステムネットワークを介したＩＰルーティングについてのプロトコルスタックを示す説明図である。
【図１１】  図５のホームエンターテイメントシステムネットワークを介したＩＰプラグアンドプレイおよびＤＮＳ／ＤＨＣＰルーティングについてのプロトコルスタックを示す説明図である。
【図１２】  図５のホームエンターテイメントシステムの装置間でのビットマップ表示データ転送についてのプロトコルスタックを示す説明図である。
【図１３】  アドレスマッピングテーブルを示す説明図である。
【図１４】  好ましいコマンドおよび制御転送プロトコルを示すフローチャートである。
【図１５】  データパケットエンジンに関するフローチャートである。
【図１６】  この発明の実施の形態によるノードナビゲーションツリーとノード機能リストを示す説明図である。
【図１７】  好ましいノードアイコンテーブルを示す説明図である。
【図１８】  ノード機能テーブルを示す説明図である。
【図１９】  アドレスマッピングテーブルを生成および維持するためのステップ（act）を示すフローチャートである。
【図２０】  外部ネットワークと内部ネットワーク間でデータをフォーマットかつルーティングする方法を示すフローチャートである。
【図２１】  ＭＰＥＧ移送ストリーム処理サービスを示すフローチャートである。
【図２２】  この発明の実施の形態のＩＰサービス態様の様々な機能およびプロセスを示すフローチャートである。
【図２３】  遠隔監視および制御を行うためのステップを示すフローチャートである。
【図２４】  位置決めユニットおよび中央サーバを備えるホームゲートウェイのブロック図である。
【図２５】  ホームゲートウェイによって行われる、ネットワーク環境において統計学的な地理的位置情報を収集する方法を示すフローチャートである。
【図２６】  中央サーバによって行われる、ネットワーク環境において統計学的な地理的位置情報を収集する方法を示すフローチャートである。
【図２７】  例示的な統計学的データテーブルを示す説明図である。
【符号の説明】
１０８  プロセッサ、１１６  メモリ、２０４  ブリッジ、４０８  リンク層、４１２  物理層、４１６  シリアルバス管理、４２０  等時性資源マネージャ、４２４  バスマネージャ、４２８  ノードコントローラ、５０４  ホームゲートウェイ、６０４  ＴＶアダプタ、６１２  １３９４上ＩＰ、６１６  １３９４上ＭＰＥＧ、６１８  地上、６２０  衛星、６２４  電話、６２８  ファイバ、６３２  同軸、６４４  アクセスネットワーク、６４８  ビデオサービスプロバイダ、６５０  地上放送Ｉ／Ｆ、６６８  家庭使用ＩＰルータ機能、６７２  ＭＰＥＧ２ストリーム処理機能、６７６  アクセスネットワーク接続機能、６８０ホームネットワーク制御／管理機能、６８２  他の存在する／ダウンロード可能な機能、７０８  ＰＣＩブリッジおよび周辺機器コントローラ、７４４  レジスタ、７４８  電源、７５２  リセット、７５６  クロック、８０４  ＯＳカーネル、８０８  サービスコントローラ、８１６  ＡＴＭドライバ、８２０  １３９４ドライバ、８２４  ハードウェア、９１６  ＭＰＥＧネットワーク、９２０ＩＰネットワーク、９２４  アクセスネットワーク、９３２  ＴＶアダプタ、１０１２  １３９４上ＩＰ、１２０８  ＡＰ（ビットマップグラフィックス）、３１０４  中央サーバ、３１２８  コントローラ、３１４０  画面上バッファ、３１４４  画面外バッファ、３１５２  表示画面。
【図１】
0004462463.tif 000003
【図２】
0004462463.tif 000004
【図３】
0004462463.tif 000005
【図４】
0004462463.tif 000006
【図５】
0004462463.tif 000007
【図６】
0004462463.tif 000008
【図７】
0004462463.tif 000009
【図８】
0004462463.tif 000010
【図９】
0004462463.tif 000011
【図１０】
0004462463.tif 000012
【図１１】
0004462463.tif 000013
【図１２】
0004462463.tif 000014
【図１３】
0004462463.tif 000015
【図１４】
0004462463.tif 000016
【図１５】
0004462463.tif 000017
【図１６】
0004462463.tif 000018
【図１７】
0004462463.tif 000019
【図１８】
0004462463.tif 000020
【図１９】
0004462463.tif 000021
【図２０】
0004462463.tif 000022
【図２１】
0004462463.tif 000023
【図２２】
0004462463.tif 000024
【図２３】
0004462463.tif 000025
【図２４】
0004462463.tif 000026
【図２５】
0004462463.tif 000027
【図２６】
0004462463.tif 000028
【図２７】
0004462463.tif 000029