(57)【特許請求の範囲】
【請求項１】
ネットワークの少なくとも２つのノード間でコマンドおよび制御情報を伝送するする方法であって、
ノードナビゲーションツリーを動的に生成するステップと、
該ノードナビゲーションツリーをビデオ表示ユニットに伝送するステップと、
前記ノードナビゲーションツリーにおける特定のノードを識別するノードナビゲーション入力を受信するステップと、
該ノードナビゲーション入力に基づいて、前記ノードナビゲーションツリーのサブセットを変更するステップと、
該変更されたノードナビゲーションツリーのサブセットを前記ビデオ表示ユニットに伝送するステップと、
前記識別されたノードに関する１つまたは複数の機能を含むノード機能リストを生成するステップと、
該ノード機能リストを前記ビデオ表示ユニットに伝送するステップと、
前記ノード機能リストにおける特定のノード機能に対応するノード機能入力を受信するステップと、
受信したノード機能入力を有効入力値と比較するステップと、
比較結果、ノード機能入力が有効入力値とマッチングすると、適切な操作コードでフォーマットされたコマンドを宛先ノードに伝送し、ノード機能入力が有効入力値とマッチングしない場合は、エラーメッセージを前記ビデオ表示ユニットに伝送するステップと
を含む、方法。
【請求項２】
前記ナビゲーションツリーはノードアドレステーブルに格納されたデータから生成される、請求項１記載の方法。
【請求項３】
前記ノード機能リストはノード機能テーブルに格納されたデータから生成される、請求項１記載の方法。
【請求項４】
前記ノードアドレステーブルにおいて識別された各ノードをノードタイプに関連づけるステップと、
ノードタイプ列およびノードアイコン列を有するノードアイコンテーブルを読み込むステップであって、該ノードアイコンテーブルの各行は特定のノードタイプと該ノードタイプのグラフィックスアイコンを識別するステップと、
前記ノードアイコンテーブルから１つまたは複数のグラフィックスアイコンを検索するステップと、
該１つまたは複数のグラッフィックスアイコンを前記ビデオ表示ユニットに表示させるステップと
をさらに含む、請求項２記載の方法。
【請求項５】
出力要求および入力データを含む入力データパケットを外部ネットワークから受信するステップと、
該データパケットから出力要求および入力データをそれぞれ構文解析するステップと、
前記入力データをノードナビゲーション入力としてフォーマットするステップと、
前記出力要求に対する応答を含む出力データパケットを生成するステップと
をさらに含む、請求項１記載の方法。
【請求項６】
複数のノードと、
ビデオ表示ユニットと、
コントローラと、を備え、前記複数のノードは、
ノードナビゲーションツリーを動的に生成して、前記ビデオ表示ユニットに伝送し、
前記コントローラから、前記ノードナビゲーションツリーにおける特定のノードを識別するノードナビゲーション入力を受信し、
前記コントローラからの前記ノードナビゲーション入力に基づいて、ノードナビゲーションツリーのサブセットを変更して、前記ビデオ表示ユニットに伝送し、
前記識別されたノードに関する１つまたは複数の機能を含むノード機能リストを生成して、前記ビデオ表示ユニットに伝送し、
前記ノード機能リストにおける特定のノード機能に対応する前記コントローラからノード機能入力を受信し、
受信したノード機能入力を有効入力値と比較し、比較結果、ノード機能入力が有効入力値とマッチングすると、適切な操作コードでフォーマットされたコマンドを宛先ノードに伝送し、ノード機能入力が有効入力値とマッチングしない場合は、エラーメッセージを前記ビデオ表示ユニットに伝送するよう構成された第１のノード
を含む、ホームエンターテイメントシステム。
【請求項７】
前記複数のノードは、ＩＥＥＥ１３９４通信リンクを介して互いに通信する、請求項６記載のホームエンターテイメントシステム。
【請求項８】
複数のノードとビデオ表示ユニットとを含むシステムとともに採用される１つまたは複数のプロセッサに、
ノードナビゲーションツリーを動的に生成し、
該ノードナビゲーションツリーをビデオ表示ユニットに伝送し、
前記ノードナビゲーションツリーにおける特定のノードを識別するノードナビゲーション入力を受信し、
該ノードナビゲーション入力に基づいて、前記ノードナビゲーションツリーのサブセットを変更し、
該変更されたノードナビゲーションツリーのサブセットを前記ビデオ表示ユニットに伝送し、
前記識別されたノードに関する１つまたは複数の機能を含むノード機能リストを生成し、
該ノード機能リストを前記ビデオ表示ユニットに伝送し、
前記ノード機能リストにおける特定のノード機能に対応するノード機能入力を受信し、
受信したノード機能入力を有効入力値と比較し、比較結果、ノード機能入力が有効入力値とマッチングすると、適切な操作コードでフォーマットされたコマンドを宛先ノードに伝送し、ノード機能入力が有効入力値とマッチングしない場合は、エラーメッセージを前記ビデオ表示ユニットに伝送させる、命令シーケンスを格納したコンピュータ読み取り可能な記録媒体。
【請求項９】
前記ナビゲーションツリーはノードアドレステーブルに格納されたデータから生成される、請求項８記載のコンピュータ読み取り可能な記録媒体。
【請求項１０】
前記ノード機能リストはノード機能テーブルに格納されたデータから生成される、請求項８記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
前記格納された命令シーケンスはさらに、前記１つまたは複数のプロセッサに、
前記ノードアドレステーブルにおいて識別された各ノードをノードタイプに関連づけ、
ノードタイプ列およびノードアイコン列を有し、前記ノードアイコンテーブルの各行は特定のノードタイプと該ノードタイプのグラフィックスアイコンを識別するノードアイコンテーブルを読み込み、
前記ノードアイコンテーブルから１つまたは複数のグラフィックスアイコンを検索し、
該１つまたは複数のグラッフィックスアイコンを前記ビデオ表示ユニットに表示させる、請求項９記載のコンピュータ読み取り可能な記録媒体。
【請求項１２】
前記格納された命令シーケンスはさらに、前記１つまたは複数のプロセッサに、
出力要求および入力データを含む入力データパケットを外部ネットワークから受信し、
該データパケットから出力要求および入力データをそれぞれ構文解析し、
前記入力データをノードナビゲーション入力としてフォーマットし、
前記出力要求に対する応答を含む出力データパケットを生成させる、請求項９記載のコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ネットワークの少なくとも２つのノード間でコマンドおよび制御情報を伝送するする方法、ホームエンターテイメントシステム、並びにコンピュータ読み取り可能な記録媒体に関し、特に、ホームエンターテイメントシステムの分野に関し、ホームエンターテイメントシステムにおける通信および制御技術に関する。
【０００２】
【従来の技術】
これまで、ホームエンターテイメントシステムは、単にテレビセット（ＴＶ）およびビデオカセットレコーダ（ＶＣＲ）からなることが多かった。１つまたは２つの同軸または複合ケーブルが、入力から出力、および／または出力から入力にＴＶおよびＶＣＲを相互接続していた。しかし、近年、ホームエンターテイメントシステムはますます複雑になってきている。
【０００３】
家庭用電子機器、たとえばコンパクトディスク（ＣＤ）プレーヤ、デジタルビデオディスク（ＤＶＤ）プレーヤ、ゲームシステム、サラウンドサウンドオーディオシステム、手持ち型ビデオカメラ等が向上したため、消費者は追加の装置を自身のホームエンターテイメントシステムに接続せざるをえなかった。新しい装置を追加する度に、少なくとも２本のワイヤ（通常、電源ワイヤおよび入出力ワイヤ）を各種装置から、または各種装置へ蛇行する複雑な蜘蛛の巣状のワイヤに追加した。
【０００４】
当初、各種装置間の相互接続の複雑性を低減するために、スイッチボックスが採用された。たとえば、単純な「Ａ／Ｂ」スイッチボックスにより、ユーザが、装置間で同軸ケーブルを引き抜いて再び連結させる必要なく、１つの入力または別の入力を選択的に選ぶことができる。しかし、ホームエンターテイメントシステムにおける装置の数が増えるにつれ、装置を相互接続するためのＡ／Ｂスイッチボックスの使用は面倒かつ非効率的になってきた。
【０００５】
特筆すべきは、消費者が一般に、ホームエンターテイメント装置の機能性および精巧さが増大するにつれ、各装置を操作するのに必要な膨大な数のコンポーネントのリモートコントローラを処分するために、より少数のワイヤ、より単純な相互接続方式を望むことである。実際、大部分のリモートコントローラの「機能」はまったく使用されない（たとえば、"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）、すなわちＩＥＥＥ１３９４バス上の各装置（別称はノード）が、（たとえば、クライアントサーバ型構成で必要とされるように）通信／制御要求を中央装置／ノードを介して処理する必要なく、他の任意のノードと通信できる。ＩＥＥＥ１３９４ベースのシステムでは、コントローラは任意のノードに存在するため、ある意味では、ＩＥＥＥ１３９４バス自身がコントローラとなる。
【００１２】
【発明が解決しようとする課題】
ＩＥＥＥ１３９４の提唱者に対する挑戦は、動作の下位層、すなわち物理層、リンク層、およびトランザクション層では大したことはないが（プロトコルとデータパケット構造間のブリッジは競合領域であり続けるが）、それよりもむしろ、アプリケーション層等のネットワークプロトコル層の上位層においてである。高精細テレビ（ＨＤＴＶ）等の放送テレビおよびケーブル産業における最近の発達、およびケーブル放送産業における統合により、消費者が利用できるサービスおよびコンテントの数が幾何級数的に拡大された。このため、ホームエンターテイメント装置間での相互運用性が、共通および／または標準機能性である使い易さ、および拡張性と同様に強く望まれている。上記のように、ＩＥＥＥ１３９４ベースのホームエンターテイメントシステムにおいてそれぞれ接続かつ支援されうる装置およびサービスの拡張アレイを制御かつ管理するシステムが必要とされている。
【００１３】
この発明は上述した点に鑑みてなされたもので、外部ネットワークと内部ネットワークの間でデータをフォーマットし、かつルーティングする方法、およびその方法を行わせる１つまたは複数の命令シーケンスを格納したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【００１４】
【課題を解決するための手段】
この発明に係るネットワークの少なくとも２つのノード間でコマンドおよび制御情報を伝送するする方法は、ノードナビゲーションツリーを動的に生成するステップと、該ノードナビゲーションツリーをビデオ表示ユニットに伝送するステップと、前記ノードナビゲーションツリーにおける特定のノードを識別するノードナビゲーション入力を受信するステップと、該ノードナビゲーション入力に基づいて、前記ノードナビゲーションツリーのサブセットを変更するステップと、該変更されたノードナビゲーションツリーのサブセットを前記ビデオ表示ユニットに伝送するステップと、前記識別されたノードに関する１つまたは複数の機能を含むノード機能リストを生成するステップと、該ノード機能リストを前記ビデオ表示ユニットに伝送するステップと、前記ノード機能リストにおける特定のノード機能に対応するノード機能入力を受信するステップと、受信したノード機能入力を有効入力値と比較するステップと、比較結果、ノード機能入力が有効入力値とマッチングすると、適切な操作コードでフォーマットされたコマンドを宛先ノードに伝送し、ノード機能入力が有効入力値とマッチングしない場合は、エラーメッセージを前記ビデオ表示ユニットに伝送するステップとを含むものである。
【００１５】
また、前記ナビゲーションツリーはノードアドレステーブルに格納されたデータから生成されるものである。
【００１６】
また、前記ノード機能リストはノード機能テーブルに格納されたデータから生成されるものである。
【００１７】
また、前記ノードアドレステーブルにおいて識別された各ノードをノードタイプに関連づけるステップと、ノードタイプ列およびノードアイコン列を有するノードアイコンテーブルを読み込むステップであって、該ノードアイコンテーブルの各行は特定のノードタイプと該ノードタイプのグラフィックスアイコンを識別するステップと、前記ノードアイコンテーブルから１つまたは複数のグラフィックスアイコンを検索するステップと、該１つまたは複数のグラッフィックスアイコンを前記ビデオ表示ユニットに表示させるステップとをさらに含むものである。
【００１８】
また、出力要求および入力データを含む入力データパケットを外部ネットワークから受信するステップと、該データパケットから出力要求および入力データをそれぞれ構文解析するステップと、前記入力データをノードナビゲーション入力としてフォーマットするステップと、前記出力要求に対する応答を含む出力データパケットを生成するステップとをさらに含むものである。
【００１９】
また、この発明に係るホームエンターテイメントシステムは、複数のノードと、ビデオ表示ユニットと、コントローラとを備え、前記複数のノードは、ノードナビゲーションツリーを動的に生成して、前記ビデオ表示ユニットに伝送し、前記コントローラから、前記ノードナビゲーションツリーにおける特定のノードを識別するノードナビゲーション入力を受信し、前記コントローラからの前記ノードナビゲーション入力に基づいて、ノードナビゲーションツリーのサブセットを変更して、前記ビデオ表示ユニットに伝送し、前記識別されたノードに関する１つまたは複数の機能を含むノード機能リストを生成して、前記ビデオ表示ユニットに伝送し、前記ノード機能リストにおける特定のノード機能に対応する前記コントローラからノード機能入力を受信し、受信したノード機能入力を有効入力値と比較し、比較結果、ノード機能入力が有効入力値とマッチングすると、適切な操作コードでフォーマットされたコマンドを宛先ノードに伝送し、ノード機能入力が有効入力値とマッチングしない場合は、エラーメッセージを前記ビデオ表示ユニットに伝送するよう構成された第１のノードを含むものである。
【００２０】
また、前記複数のノードは、ＩＥＥＥ１３９４通信リンクを介して互いに通信するものである。
【００２１】
また、この発明に係るコンピュータ読み取り可能な記録媒体は、複数のノードとビデオ表示ユニットとを含むシステムとともに採用される１つまたは複数のプロセッサに、ノードナビゲーションツリーを動的に生成し、該ノードナビゲーションツリーをビデオ表示ユニットに伝送し、前記ノードナビゲーションツリーにおける特定のノードを識別するノードナビゲーション入力を受信し、該ノードナビゲーション入力に基づいて、前記ノードナビゲーションツリーのサブセットを変更し、該変更されたノードナビゲーションツリーのサブセットを前記ビデオ表示ユニットに伝送し、前記識別されたノードに関する１つまたは複数の機能を含むノード機能リストを生成し、該ノード機能リストを前記ビデオ表示ユニットに伝送し、前記ノード機能リストにおける特定のノード機能に対応するノード機能入力を受信し、受信したノード機能入力を有効入力値と比較し、比較結果、ノード機能入力が有効入力値とマッチングすると、適切な操作コードでフォーマットされたコマンドを宛先ノードに伝送し、ノード機能入力が有効入力値とマッチングしない場合は、エラーメッセージを前記ビデオ表示ユニットに伝送させる命令シーケンスを格納したものである。
【００２２】
また、前記ナビゲーションツリーはノードアドレステーブルに格納されたデータから生成されるものである。
【００２３】
また、前記ノード機能リストはノード機能テーブルに格納されたデータから生成されるものである。
【００２４】
また、前記格納された命令シーケンスはさらに、前記１つまたは複数のプロセッサに、前記ノードアドレステーブルにおいて識別された各ノードをノードタイプに関連づけ、ノードタイプ列およびノードアイコン列を有し、前記ノードアイコンテーブルの各行は特定のノードタイプと該ノードタイプのグラフィックスアイコンを識別するノードアイコンテーブルを読み込み、前記ノードアイコンテーブルから１つまたは複数のグラフィックスアイコンを検索し、該１つまたは複数のグラッフィックスアイコンを前記ビデオ表示ユニットに表示させるものである。
【００２５】
また、前記格納された命令シーケンスはさらに、前記１つまたは複数のプロセッサに、出力要求および入力データを含む入力データパケットを外部ネットワークから受信し、該データパケットから出力要求および入力データをそれぞれ構文解析し、前記入力データをノードナビゲーション入力としてフォーマットし、前記出力要求に対する応答を含む出力データパケットを生成させるものである。
【００２６】
【発明の実施の形態】
この発明の第１の態様によれば、ネットワーク、たとえばＩＥＥＥ１３９４ベースのホームエンターテイメントネットワークの少なくとも２つのノード間でコマンドおよび制御情報を伝送する方法が提供され、該方法は、ノードナビゲーションツリーを動的に生成し、該ノードナビゲーションツリーをビデオ表示ユニットに伝送し、前記ノードナビゲーションツリーにおける特定のノードを識別するノードナビゲーション入力を受信し、該ノードナビゲーション入力に基づいて、前記ノードナビゲーションツリーのサブセットを変更し、該変更されたノードナビゲーションツリーのサブセットを前記ビデオ表示ユニットに伝送し、前記識別されたノードに関する１つまたは複数の機能を含むノード機能リストを生成し、該ノード機能リストを前記ビデオ表示ユニットに伝送し、前記ノード機能リストにおける特定のノード機能に対応するノード機能入力を受信し、該ノード機能入力に基づいて、コマンドを前記識別されたノードに伝送することを含む。
【００２７】
この発明の好ましい実施の形態は、添付図面の図に限定としてではなく例として示される。図面において、同一の参照符号は同一のコンポーネントを指す。
【００２８】
本明細書にすべて参照として組み込まれるＩＥＥＥ１３９４−１９９５標準は、以下の説明および添付図面における図についての背景情報を説明、教示、かつ提供する。特に、ＩＥＥＥ１３９４−１９９５標準の選択した一部を図１乃至図４を参照して説明する。
【００２９】
ＩＥＥＥ１３９４概観
図１は、複数のアドレス指定可能なノード１０４を備えた例示的なＩＥＥＥ１３９４モジュール１００を示す。各ノード１０４は、ローカルバス１２８を介して相互接続されたプロセッサユニット１０８とＩ／Ｏユニット１１２とを含みうる。あるいは、ノード１０４は、メモリユニット１１６を含んでもよい。各ノード１０４は、バスコネクタ１２４それぞれを介してＩＥＥＥ１３９４キャリア１２０に接続される。
【００３０】
図２は、例示的なＩＥＥＥ１３９４の物理的なネットワークトポロジ２００を示し、このトポロジ２００は、それぞれＩＥＥＥ１３９４「ケーブル環境」２１２にブリッジされた２つのＩＥＥＥ１３９４「バックプレーン環境（backplane environments）２１６」を含む。
【００３１】
バックプレーン環境２１６において、物理的なトポロジは、マルチドロップバス２１５である。物理的な媒体は、バックプレーンの長さに延びるとともに、複数のＩＥＥＥ１３９４ノード１０４を接続するため、そこに分散されたコネクタを有する２本のシングルエンド伝導体である。
【００３２】
ケーブル環境２１２において、物理的なトポロジは、有限の分岐および範囲を有する「非循環（noncycle）」ネットワーク（閉ループが支援されていないことを意味する）である。各ＩＥＥＥ１３９４ケーブル２２０は、異なるノード１０４上のポート２０８を共に接続する。各ポート２０８は、通常、ターミネータ、トランシーバ、および調停論理回路（図示せず）を含む。ケーブル２２０およびポート２０８は、部分的にそこで発生した信号を隣接ノード１０４に中継するケーブル中継器として機能する。この中継機能により、ケーブル環境２１２のノード１０４が単一の論理バスをシミュレートできる。たとえば、バックプレーン環境２１６あるいはケーブル環境２１２において、２つの異なるＩＥＥＥ１３９４バスがともに接続されている場合、異なるネットワーク環境間で通信を変換するために、ブリッジ２０４が使用される。
【００３３】
ＩＥＥＥ１３９４標準に従うと、ＩＥＥＥ１３９４ネットワーク２００によって、６４ビットアドレス指定方式が採用される。各アドレスの上位１６ビットは、「node_ID（ノードＩＤ）」を表す。node_IDの最上位１０ビットは、ＩＥＥＥ１３９４ネットワーク２００全体における特定の論理バス、すなわち「bus_ID（バスＩＤ）」（たとえば、バス２１５）を識別する。このため、ＩＥＥＥ１３９４ネットワーク２００において最大１０２３本のバスを採用できる。node_IDの次の最上位６ビットは、特定ノードの物理アドレスすなわち「physical_ID（物理ＩＤ）」を表す。特定のＩＥＥＥ１３９４バス（たとえばバス２１５）上に、別個にアドレス指定可能な６３個のノード（たとえばノード１０４）が存在できる。アドレス空間の残りの４８ビットの様々な部分は、特定バスまたは特定ノードのいずれかである特定の資源に割り当てられる。
【００３４】
図３は、例示的なＩＥＥＥ１３９４ケーブルトポロジ３００を示す。この構成によれば、多数のノード１０４が、各ＩＥＥＥ１３９４ケーブル３０４によってポート２０８間で共に「デージーチェーン（daisy-chained）」接続されている。各ノード１０４は中継器として作用し、１つのポート２０８と次のポートの間で信号を中継して、信号を各ノード１０４間でケーブル３０４を介して伝送できるようにする。
【００３５】
図４は、例示的なＩＥＥＥ１３９４ノード１０４内のハードウェアおよびソフトウェアコンポーネント間の関係を示すプロトコルスタック４００を示す。特に、プロトコルスタック４００において、４つの層、すなわちトランザクション層４０４、リンク層４０８、物理層４１２、およびシリアルバス管理層４１６を示している。アプリケーション層などのさらなる層（図示せず）をプロトコルスタック４００に含めてもよい。
【００３６】
特に、トランザクション層４０４は、バストランザクションを行うよう完全な要求応答プロトコルを規定して、読み込み、書き込み、およびロック動作を支援する。トランザクション層４０４は、等時性管理データがシリアルバス管理層４１６に到達するための経路も提供する。
【００３７】
リンク層４０８は、トランザクション層４０４に対する要求確認サービス（すなわち「承認データグラム」）を有する一方向データ転送を提供する。より詳細には、リンク層４０８は、パケットの送受信のためのアドレス指定、データチェック、およびデータフレーム指示を提供するとともに、また、等時性データ転送サービスをアプリケーションに対して直接提供する。これには、タイミング信号および同期信号（たとえば「サイクル信号」）の生成が含まれる。
【００３８】
物理層４１２は、リンク層４０８によって使用される論理記号をＩＥＥＥ１３９４ケーブルに出力するための電気信号に翻訳する。物理層４１２はまた、一度に１つのノードだけがデータを送信していることを保証するために、調停サービスも提供する。好ましい実施の形態では、物理層４１２は、データ再同期および中継サービスならびに自動バス初期化を提供する。
【００３９】
シリアルバス管理層４１６は、バス管理、等時性資源管理、およびノード制御を提供する。たとえば、図２のケーブル環境２１２において、シリアルバス管理層４１６の等時性資源マネージャ４２０は、各ノード１０４に必要な資源を認めて、効率的で整然とした等時性動作に必要な等時性資源、チャネル、および帯域幅を協働して割り当て、また割り当て解除する。
【００４０】
バスマネージャ４２４は、性能最適化、電力および速度管理、およびトポロジ管理等のサービスをバス上の他のノード１０４に提供する。最後に、ノードコントローラ４２８は、バス上のノード１０４が必要とするすべての制御および状態レジスタを管理するとともに、物理層４１２、リンク層４０８、トランザクション層４０４、および１つ以上の他のアプリケーション層（図示せず）と通信する。
【００４１】
ホームエンターテイメントおよびホームオフィスシステム
図５は、多数の外部サービスプロバイダを好ましいホームエンターテイメントおよびホームオフィスシステムネットワーク（以下、「ホームエンターテイメントシステムネットワーク」と呼ぶ）５００にブリッジしているホームゲートウェイ５０４を示す。ホームエンターテイメントシステムネットワーク５００は、好ましくは（図２および図３を参照して上述した）ケーブル環境に構成される、ＩＥＥＥ１３９４バス５６８によって接続される。特に、一連のデージーチェーン接続されたＩＥＥＥ１３９４ケーブル５０２は、ＩＥＥＥ１３９４バス５６８を形成するために、ホームエンターテイメントネットワークシステム５００の各種電子機器コンポーネントのポート間を相互接続する。たとえば、ＴＶ５０８、ステレオ５１２、ＶＣＲ５１６、およびＤＶＤ５２０が、１つのチェーン５６０に接続される。別のチェーン５６４では、パーソナルコンピュータ５２４、プリンタ５２８、およびデジタルカメラ５３４が接続されている。
【００４２】
電子機器コンポーネントの各チェーン５６０および５６４それぞれは、１つ以上の外部ネットワークと各内部ネットワークチェーン５６０および５６４との間のブリッジとして（すなわち、２つの異なるバス環境間のブリッジではなく）作用するホームゲートウェイ５０４に接続される。たとえば、ホームゲートウェイ５０４は、衛星受信器５４０を介して衛星５８２から、アンテナ５４４を介して放送タワー５８６からのメディア供給、ならびに同軸ケーブル受信器５４８、光ファイバケーブル受信器５５２、または電話ケーブル受信器５５６をそれぞれ介して局所陸線５９２（たとえば、銅の撚対線、同軸または光ファイバケーブル）からの供給を受信することができる（注意：各種受信器はホームゲートウェイ５０４の外側に示されているが、実際の受信器またはレセプタクルは同様にホームゲートウェイ５０４内に収容されてもよい。各種受信器は、説明の目的でホームゲートウェイ５０４の外側に示されているにすぎない）。
【００４３】
ＴＶ５０８は、テレビ画面上に表示するために、データをＩＥＥＥ１３９４バス５０２からＮＴＳＣ（（米国の）テレビ方式審議委員会）および／またはＡＴＳＣ（Advanced Television Systems Committee）ビデオ信号に変換する、内部テレビアダプタを備えることが好ましい。代替の好ましい実施の形態において、テレビアダプタは、ＴＶ５０８とＩＥＥＥ１３９４ケーブル５０２の間を接続する外部装置である。いずれの実施の形態においても、テレビアダプタは、現在表示されていないが将来表示される画像データ用の画面外バッファと、テレビ画面に現在表示されている画像データ用の画面内バッファとを備えることが好ましい。さらに、テレビアダプタは、ＶＣＲ、ＤＶＤプレーヤ、またはデジタルカメラ等の、テレビに接続される補助装置に組み込まれてもよい。
【００４４】
ホームゲートウェイ
図６は、ホームゲートウェイ５０４ならびにホームゲートウェイ５０４に通信可能に接続されたコンポーネントの機能ブロック図を示す。
【００４５】
ゲートウェイ５０４は、それを介して各サービスが提供されるアクセスネットワーク６４４を介して通信するために、１つ以上のインタフェースを備える。たとえば、インターネットアクセスプロバイダ（「ＩＡＰ」）またはインターネットサービスプロバイダ（「ＩＳＰ」）６４０から、またはビデオサービスプロバイダ（「ＶＳＰ」）６４８からのサービスは、各ホームゲートウェイインタフェース、たとえば無線インタフェース「地上放送Ｉ／Ｆ」６５０、「衛星Ｉ／Ｆ」６５２、非同期デジタル加入者線インタフェース「ＡＤＳＬ Ｉ／Ｆ」６５６、非同期転送モードインタフェース「ＡＴＭ Ｉ／Ｆ」６６０、またはハイブリッドファイバ同軸インタフェース「ＨＦＣ Ｉ／Ｆ」６６４を、適切なネットワークリンク（たとえば地上リンク６１８、衛星リンク６２０、電話リンク６２４、ファイバリンク６２８、または同軸リンク６３２それぞれ）を介してアクセスネットワーク６４４に接続することによって、提供されうる。好ましい一実施の形態によると、ホームゲートウェイ５０４上のアダプタスロットが１つ以上の上記インタフェースを受ける。このような実施の形態は、新しいまたはアップグレードされた通信技術／ハードウェアがホームエンターテイメントシステム５００に接続される場合に、柔軟な再構成を提供する。
【００４６】
様々なアプリケーション、たとえばインターネットサーフィン、ＭＰＥＧビデオストリーム（標準または高精細テレビ）、ネットワーク上でのゲーム、電子的番組ガイド「ＥＰＧ」、およびホームネットワーク制御などがＩＡＰ／ＩＳＰ６４０および／またはＶＳＰ６４８からアクセスネットワーク６４４上で可能である。したがって、ホームゲートウェイ５０４は、ホームユーザＩＰルーティング６６８、ＭＰＥＧ２ストリーム処理（画面上表示「ＯＳＤ」およびＥＰＧ処理を含む）６７２、アクセスネットワーク通信制御６７６、ホームネットワーク制御／管理６８０、およびゲーム、ホームオートメーション、およびディレクトリサービス等他の存在しているかまたはダウンロード可能な機能６８２を可能にするため、ハードウェアおよびソフトウェアを含む。このため、ホームゲートウェイ５０４のためのファームウェアスタックを図８を参照して後述する。上記に参照した機能実施のためのプロトコルスタックは、図９乃至図１２を参照して後述される。
【００４７】
１３９４インタフェース６８４は、ホームゲートウェイ５０４に必要なコンポーネントであり、図９〜図１２を参照して説明されるネットワークプロトコルとともに使用される。１３９４インタフェース６８４は、外部ネットワークプロトコルと、内部ネットワークを形成するＩＥＥＥ１３９４準拠バスとの間のブリッジとして作用する。たとえば、１３９４Ｉ／Ｆ６８４は、パーソナルコンピュータ５２４とＴＶアダプタ６０４（これは一実施の形態において、テレビ６０８用に、ＩＥＥＥ１３９４データをアナログまたはデジタル信号に変換する）の間で、１３９４リンク６１２に渡ってＩＰを、また１３９４リンク６１６に渡ってＭＰＥＧを支援する。
【００４８】
図７に示すように、ホームゲートウェイ５０４の一実施の形態は、電源回路７４８、リセット回路７５２、クロック回路７５６、中央演算処理装置「ＣＰＵ」７０４、ローカルバス７０６、ＰＣＩブリッジおよび周辺機器コントローラ７０８、不揮発性メモリ（たとえばＲＯＭ７１２およびＦＬＡＳＨ７１６）、揮発性メモリ（たとえばＤＲＡＭ７２０）、ＲＳ２３２相互接続、およびＰＣＩバス７２４を備える。ＰＣＩバス７２４に接続されるのは、ホームゲートウェイ５０４にＡＴＭブリッジおよび他の機能性を提供するＡＴＭ ＬＳＩインタフェース７２８と、光キャリア３（「ＯＣ−３」）レベルポートに接続される同期光ネットワーク（「ＳＯＮＥＴ」）インタフェース７３２と、１３９４ＬＩＮＫ ＬＳＩ７３６と、３つのＩＥＥＥ１３９４ポートを有する１３９４ＰＨＹ ＬＳＩと、レジスタ、ＬＥＤおよびディップスイッチユニット７４４と、である。
【００４９】
市販されているハードウェアコンポーネントを、ホームゲートウェイ５０４に採用することが好ましい。たとえば、目下好ましいハードウェアコンポーネントの仕様を表１に記載する。
【００５０】
【表１】
0004462464.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」全体を本明細書に参照として組み込む。プロトコルスタック１０００は、ワールドワイドウェブおよびインターネット上でのコンテントの発見すなわち探索に特に有利である。
【００６５】
図１１は、ＩＰネットワーク９２０からＰＣ９４６へのＴＣＰ／ＩＰデータ伝送についてのプロトコルスタック１１００を示す。自動セットアップおよびＩＰアドレス割り当てを容易にするために、プロトコルスタック１１００は、インターネットＲＦＣ１０３４および１０３５に記載されているドメイン名システム（「ＤＮＳ」）と、ダイナミックホスト構成プロトコル（「ＤＨＣＰ」）を支援する。
【００６６】
図１２は、インターネットネットワーク９１２を介した装置間（たとえばホームゲートウェイ５０４またはＰＣ９４６からＴＶアダプタ９３２へ）のビットマップ伝送についてのプロトコルスタック１２００を示す。プロトコルスタック１２００は、上述していないさらなるプロトコル「ＤＤ−Ｃｏｎｎｅｃｔ ＡｓｙＢｍｐ」１２０４を採用している。「ビットマップ伝送」プロトコルは、さらに詳細に後述する。「ＡＰ」プロトコル１２０８は、単にアプリケーション層で使用される特定のプロトコル（たとえば表示装置プロトコルまたはマウスプロトコル）にすぎない。
【００６７】
アドレスマッピング
図１３は、例示的なアドレスマッピングテーブル１６００を示す。アドレスマッピングテーブル１６００は、少なくとも４つの列と、ホームエンターテイメントネットワークシステム５００上にある装置と同じ数の行を有することが好ましい。アドレスマッピングテーブル１６００は好ましくは、３つの別個のセクションに区分けされる。第１のセクション１６２０はＩＥＥＥ１３９４サービスデータを含み、第２のセクション１６２４はＭＰＥＧサービスデータを含み、第３のセクション１６２８はＩＰサービスデータを含む。アドレスマッピングテーブル１６００は物理的には単一のテーブルであるが、各セクションは情報について自身の「ミニテーブル」を有する。
【００６８】
ＩＥＥＥ１３９４セクション１６２０では、第１列はノードユニークＩＤ列１６０４であり、該ノードユニークＩＤはノード１０４のハードウェアまたはＲＯＭに永久的に符号化される。次の群の列は、ノード属性列１６０２である。ノード属性列は、ノードに格納されているユーザが選択した／プログラムした名称によって特定ノードを識別する共通名列１６０８と、動的に割り当てられる１６ビットのnode_IDを含むnode_ID列１６１２と、ノードタイプ列１６１６と、ＩＰアドレス列１６１８とを含む。
【００６９】
ＭＰＥＧサービスセクション１６２４では、第１列はＡＴＭ  ＶＰＩ／ＶＣＩ列１６３２であり、次の列はプログラム情報列１６３６であり、第３列はＩＥＥＥ１３９４等時性チャネル列１６４０であり、最後の列はノードユニークＩＤ列１６０４である。
【００７０】
ＩＰサービスセクション１６２８では、第１列はＡＴＭ  ＶＰＩ／ＶＣＩ列１６３２であり、次の列はＩＰアドレス列１６１８であり、第３列はnode_ID列１６１２であり、最後の列はノードユニークＩＤ列１６０４である。
【００７１】
バスリセットが発生すると、アドレスマッピングテーブル１６００がＩＥＥＥ１３９４ドライバ（たとえば図８に示すＩＥＥＥ１３９４ドライバ８１６）よって生成される。ＩＥＥＥ１３９４ドライバは、ＩＥＥＥ１３９４バス（たとえば、図５に示すＩＥＥＥ１３９４バス５６８）における各ノードから、該ノードのノードユニークＩＤおよび他の情報を識別する応答を受信する。ノードから受信した情報に基づいて、ＩＥＥＥ１３９４ドライバは該ノードユニークＩＤをアドレスマッピングテーブル１６００に追加し、それからさらなる情報（たとえば共通名、ノード容量、およびＩＰアドレス）について特定ノードを照会する。ＩＥＥＥ１３９４ドライバは、該ノードについてnode_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）についてのプロトコルスタックを示す説明図である。
【図１０】  図５のホームエンターテイメントシステムネットワークを介したＩＰルーティングについてのプロトコルスタックを示す説明図である。
【図１１】  図５のホームエンターテイメントシステムネットワークを介したＩＰプラグアンドプレイおよびＤＮＳ／ＤＨＣＰルーティングについてのプロトコルスタックを示す説明図である。
【図１２】  図５のホームエンターテイメントシステムの装置間でのビットマップ表示データ転送についてのプロトコルスタックを示す説明図である。
【図１３】  アドレスマッピングテーブルを示す説明図である。
【図１４】  好ましいコマンドおよび制御転送プロトコルを示すフローチャートである。
【図１５】  データパケットエンジンに関するフローチャートである。
【図１６】  この発明の実施の形態によるノードナビゲーションツリーとノード機能リストを示す説明図である。
【図１７】  好ましいノードアイコンテーブルを示す説明図である。
【図１８】  ノード機能テーブルを示す説明図である。
【図１９】  遠隔監視および制御を行うためのステップを示すフローチャートである。
【図２０】  位置決めユニットおよび中央サーバを備えるホームゲートウェイのブロック図である。
【図２１】  ホームゲートウェイによって行われる、ネットワーク環境において統計学的な地理的位置情報を収集する方法を示すフローチャートである。
【図２２】  中央サーバによって行われる、ネットワーク環境において統計学的な地理的位置情報を収集する方法を示すフローチャートである。
【図２３】  例示的な統計学的データテーブルを示す説明図である。
【符号の説明】
１０８  プロセッサ、１１６  メモリ、２０４  ブリッジ、４０８  リンク層、４１２  物理層、４１６  シリアルバス管理、４２０  等時性資源マネージャ、４２４  バスマネージャ、４２８  ノードコントローラ、５０４  ホームゲートウェイ、６０４  ＴＶアダプタ、６１２  １３９４上ＩＰ、６１６  １３９４上ＭＰＥＧ、６１８  地上、６２０  衛星、６２４  電話、６２８  ファイバ、６３２  同軸、６４４  アクセスネットワーク、６４８  ビデオサービスプロバイダ、６５０  地上放送Ｉ／Ｆ、６６８  家庭使用ＩＰルータ機能、６７２  ＭＰＥＧ２ストリーム処理機能、６７６  アクセスネットワーク接続機能、６８０ホームネットワーク制御／管理機能、６８２  他の存在する／ダウンロード可能な機能、７０８  ＰＣＩブリッジおよび周辺機器コントローラ、７４４  レジスタ、７４８  電源、７５２  リセット、７５６  クロック、８０４  ＯＳカーネル、８０８  サービスコントローラ、８１６  ＡＴＭドライバ、８２０  １３９４ドライバ、８２４  ハードウェア、９１６  ＭＰＥＧネットワーク、９２０ＩＰネットワーク、９２４  アクセスネットワーク、９３２  ＴＶアダプタ、１０１２  １３９４上ＩＰ、１２０８  ＡＰ（ビットマップグラフィックス）。
【図１】
0004462464.tif 000003
【図２】
0004462464.tif 000004
【図３】
0004462464.tif 000005
【図４】
0004462464.tif 000006
【図５】
0004462464.tif 000007
【図６】
0004462464.tif 000008
【図７】
0004462464.tif 000009
【図８】
0004462464.tif 000010
【図９】
0004462464.tif 000011
【図１０】
0004462464.tif 000012
【図１１】
0004462464.tif 000013
【図１２】
0004462464.tif 000014
【図１３】
0004462464.tif 000015
【図１４】
0004462464.tif 000016
【図１５】
0004462464.tif 000017
【図１６】
0004462464.tif 000018
【図１７】
0004462464.tif 000019
【図１８】
0004462464.tif 000020
【図１９】
0004462464.tif 000021
【図２０】
0004462464.tif 000022
【図２１】
0004462464.tif 000023
【図２２】
0004462464.tif 000024
【図２３】
0004462464.tif 000025