(57)【要約】  ネットワークのノード間でのダイレクトルーティングを行う方法および装置が開示される。例示的な方法は、第１ノードにて受信された第１データの宛先ノードを特定するステップ、第１ノードから宛先ノードまでの論理距離を算出するステップ、論理距離が閾値条件を満たし、かつ、第１ノードから宛先ノードまでのダイレクトルートがプロトコル設定に基づいてブロックされているときに、プロトコル設定より優先して、第１ノードから宛先ノードまでのダイレクトルートを通じた第１データの通信を有効化するステップ、を含む。
2015520558.tif 000002
【特許請求の範囲】
【請求項１】
第１ノードにて受信された第１データの宛先ノードを特定するステップ、
第１ノードから宛先ノードまでの論理距離を算出するステップ、
論理距離が閾値条件を満たし、かつ、第１ノードから宛先ノードまでのダイレクトルートがプロトコル設定に基づいてブロックされているときに、プロトコル設定より優先して、第１ノードから宛先ノードまでのダイレクトルートを通じた第１データの通信を有効化するステップ、
を含む、方法。
【請求項２】
ダイレクトルートは無線リンクを含む、請求項１に記載の方法。
【請求項３】
無線リンクに関連する信号強度をモニタするステップ、
をさらに含む、請求項２に記載の方法。
【請求項４】
信号強度が閾値を下回る場合に、プロトコル設定より優先する優先処理を阻止するステップ、
をさらに含む、請求項３に記載の方法。
【請求項５】
プロトコル構成の設定を変更することなくプロトコル設定より優先する優先処理を行うステップ、
をさらに含む、請求項１に記載の方法。
【請求項６】
論理距離はホップ数を含む、請求項１に記載の方法。
【請求項７】
論理距離が１ホップよりも大きいときに閾値条件を満たすこととする、請求項１に記載の方法。
【請求項８】
論理距離が閾値条件を満たさないときに、第１データをプロトコル設定に基づいて送信するステップ、
をさらに含む、請求項１に記載の方法。
【請求項９】
命令を記録したコンピュータ読み取り可能な記録媒体であって、
当該命令は実行されると、装置に対して、
第１ノードと当該第１ノードにて受信された通信の宛先ノードとの間の論理距離を算出するステップ、
第１ノードと宛先ノードとの間のダイレクトリンクにおける無線信号強度を決定するステップ、ここで、当該ダイレクトリンクは、第１ノードに関連するネットワーク設定によってブロックされている、
論理距離が条件を満たし、かつ、無線信号強度が閾値よりも大きい場合に、第１ノードから宛先ノードまでのダイレクトリンクを通じた、受信された通信の送信を有効化するステップ、
を実行させる、コンピュータ読み取り可能な記録媒体。
【請求項１０】
命令は装置に対して、
ネットワーク設定を変更することなく、ネットワーク設定より優先して、ダイレクトリンクを通じた通信を有効化するステップ、
を実行させる、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
条件は、論理距離が１ホップよりも大きいことを含む、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１２】
ネットワーク設定は、第１ノードに関連したスパニングツリープロトコルのエントリを含む、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１３】
命令は装置に対して、
無線信号強度が閾値よりも小さいときに、ネットワーク設定に基づいて通信を転送するステップ、
を実行させる、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１４】
第１ノードは、家庭にて実装される複数のネットワーク化されたメディア提示デバイスのうちの１つである、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１５】
メディア再生デバイスの構成データ構造に、受信されたデータパケットの宛先アドレスにリンクされたポートが含まれるかどうかを決定する分析部、ここで、構成データ構造はネットワークプトロコルに従うものである、
構成データ構造が宛先アドレスにリンクされたポートを含み、かつ、当該ポートが無線リンクに対応するときに、ネットワークプロトコルのブロッキング設定より優先して、メディア再生デバイスから当該宛先アドレスに関連する第２メディア再生デバイスまでのデータパケットのダイレクトルーティングを有効化する、優先処理部と、
を備える、メディア再生デバイス。
【請求項１６】
ダイレクトルーティングの有効化には、データパケットの宛先ポートを第２メディア再生デバイスに関連したポート識別子に置き換えるステップが含まれる、請求項１５に記載のメディア再生デバイス。
【請求項１７】
信号強度モニタをさらに備え、
当該信号強度モニタは、無線リンクの特性を決定し、無線リンクの特性が閾値よりも下であるときは、優先処理部によるブロッキング設定より優先する優先処理を阻止する、請求項１５に記載のメディア再生デバイス。
【請求項１８】
メンテナンスフレーム検出部をさらに備え、
当該メンテナンスフレーム検出部は、データパケットにメンテナンスフレームが含まれる場合に、優先処理部によるブロッキング設定より優先する優先処理を阻止する、請求項１５に記載のメディア再生デバイス。
【請求項１９】
論理距離算出部をさらに備え、
当該論理距離算出部は、メディア再生デバイスと第２メディア再生デバイスとの間の論理距離を決定し、論理距離が閾値よりも小さいときに、優先処理部によるブロッキング設定より優先する優先処理を阻止する、請求項１５に記載のメディア再生デバイス。
【請求項２０】
構成データ構造は、スパニングツリープロトコルネットワークに関連したネットワーク特性情報を含む、請求項１５に記載のメディア再生デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、家電製品に関し、特にネットワークのノード間においてダイレクトルーティングを行う方法および装置に関する。
【背景技術】
【０００２】
技術の発展によって、音楽コンテンツへのアクセス性や、テレビコンテンツ、映画および双方向コンテンツなどのその他の種類の媒体へのアクセス性も良くなっている。例えば、ユーザは、オーディオコンテンツやビデオコンテンツにアクセスするための従来の手段に加えて、オンラインストア、インターネットラジオステーション、オンライン音楽サービスおよびオンライン映画サービスなどを通じて、インターネット上でオーディオコンテンツ、ビデオコンテンツ又はその両方にアクセスすることができる。このようなオーディオコンテンツおよびビデオコンテンツの需要は高まり続けている。高い需要を受けて、このようなコンテンツにアクセスおよびそれを再生するための技術も同様に改良されている。
【図面の簡単な説明】
【０００３】
本開示技術の特徴、態様、および利点は、以下の記載、添付の特許請求の範囲、および添付の図面を参照してより良く理解される。
【図１】本明細書に開示の方法および装置の実施形態が実施され得る例示的なシステムを示す図
【図２Ａ】内蔵アンプとスピーカーを備える例示的なゾーンプレーヤーを示す図
【図２Ｂ】内蔵アンプを備えるとともに外部スピーカーに接続された例示的なゾーンプレーヤーを示す図
【図２Ｃ】Ａ／Ｖ受信機およびスピーカーに接続された例示的なゾーンプレーヤーを示す図
【図３】例示的なコントローラを示す図
【図４】例示的なゾーンプレーヤーの内部機能ブロック図
【図５】例示的なコントローラの内部機能ブロック図
【図６】例示的なネットワーク構成を示す図
【図７】図４の例示的なダイレクトルーティングイネイブラーの内部機能ブロック図
【図８】図４および／又は図６の例示的なダイレクトルーティングイネイブラーのための例示的な方法又はプロセスを示すフローチャート
【図９】図４および／又は図６の例示的なダイレクトルーティングイネイブラーのための例示的な方法又はプロセスを示すフローチャート
【発明を実施するための形態】
【０００４】
さらに、図面は、例示的な実施形態を説明することを目的としているが、本開示は、図面に示した配置および手段に限定されるものではない。
【０００５】
Ｉ．概要
【０００６】
複数のデバイスで構成されたグループの中での通信を促進するために、有線および／又は無線のネットワークを確立することがある。例えば、有線又は無線のネットワークを使用して、再生ネットワーク（例えば家庭音楽システム）と通信する家庭用のマルチメディア再生デバイスを配置することができる。再生ネットワークは、場合によってはスパニングツリープロトコル（ＳＴＰ）などのプロトコルに従って実現および／又は構成されることがある。当該プロトコルは、ネットワークにデバイスを追加および／又は削除する方法と、デバイスが相互に通信する方法とを管理する。デバイスの中には、ＳＴＰなどのネットワークプロトコルによって通信機能が制限されるものもある。例えば、ＳＴＰネットワークの第１デバイス（例えばネットワーク構成内のノードとして表される）は、ＳＴＰネットワークの第２デバイスに対するデータの直接的な送信がブロックされる。言い換えれば、例示的なＳＴＰネットワークの第１デバイスは、第２ノード向けに設定されたデータを送信する際に、中間デバイス（例えば、ルートノード）を通じて送信することが要求される。従来のＳＴＰネットワークによれば、そのようなダイレクト通信を阻止することで、例えば、後述するようなルーティングのループを防止する。ネットワーク内の他のデバイスとの直接通信が管理プロトコルによって制限されているデバイスについて、本明細書では「ブロックする（される）」と称される。すなわち、プロトコルによってネットワークの第１デバイスから第２デバイスに直接的にデータをルーティングすることが禁じられている場合、第１デバイスと第２デバイスとの間のダイレクトルーティングが管理ネットワークプロトコルによりブロックされているものと表現される。
【０００７】
本明細書に開示される例示的な方法、装置、システムおよび製品は、リンクのプロトコル指定が「ブロックする」であるにもかかわらず、データを近傍のデバイスにルーティングする能力をデバイスに提供する。以下でより詳細に説明するように、本明細書に開示される例示的な方法、装置、システムおよび製品は、第１デバイスと第２デバイスとの間にダイレクトルーティングパスを生成する。このダイレクトルーティングパスが生成されなければ、（例えば管理プロトコルの指定によって）第１デバイスから第２デバイスへデータをルーティングすることがブロックされている。本明細書に開示される例示的な方法、装置、システムおよび製品によって提供されるダイレクトルートによって、第１デバイスは、管理プロトコルによって確立された非ダイレクト転送ルートをバイパスすることが可能となる。これにより、転送する情報を宛先デバイスへ短時間で送信することができるとともに、ネットワークにおける混雑を少なくすることができる。いくつかの例では、本明細書に開示される例示的な方法、装置、システムおよび製品によって提供されるダイレクトルートは、閾値クオリティサービス（ＱｏＳ）特性を有するフレームなど、特定の種類のフレームデータ（例えばフレーム）の転送と関連付けられる。
【０００８】
本明細書に開示されるいくつかの例では、第１デバイスと第２デバイスとの間の接続を表す特性の１つ以上がモニタされる。例えば、第１デバイスと第２デバイスとの間の無線のＳ／Ｎ比（ＳＮＲ）（信号強度インジケータ（ＳＳＩ）とも称される）をモニタすることで、第１デバイスと第２デバイスとの間のダイレクトリンクに関して、健全性および／又は信頼性指標が決定される。本明細書に開示されるいくつかの例では、モニタされる特性が接続の脆弱性を示す場合には、ブロックされているデバイス同士のダイレクトルーティングが無効化される。この結果として、モニタされる特性によって第１デバイスと第２デバイスとの間の接続が健全かつ信頼できる状態に戻ったことが示されるまで、第１デバイスは、管理プロトコルの「ブロックする」の指示に従って、第２デバイスと通信を行う。
【０００９】
ある実施形態は、第１ノードにて受信された第１データの宛先ノードを特定するステップ、第１ノードから宛先ノードまでの論理距離を算出するステップ、論理距離が閾値条件を満たし、かつ、第１ノードから宛先ノードまでのダイレクトルートがプロトコル設定に基づいてブロックされているときに、プロトコル設定より優先して、第１ノードから宛先ノードまでのダイレクトルートを通じた第１データの通信を有効化するステップ、を含む、方法を提供する。
【００１０】
ある実施形態は、分析部と優先処理部とを備えたメディア再生デバイスを提供する。分析部は、メディア再生デバイスの構成データ構造に、受信されたデータパケットの宛先アドレスにリンクされたポートが含まれるかどうかを決定する。ここで、構成データ構造はネットワークプトロコルに従うものである。優先処理部は、構成データ構造が宛先アドレスにリンクされたポートを含み、かつ、当該ポートが無線リンクに対応するときに、ネットワークプロトコルのブロッキング設定より優先して、メディア再生デバイスから当該宛先アドレスに関連する第２メディア再生デバイスまでのデータパケットのダイレクトルーティングを有効化する。
【００１１】
ある実施形態は、命令を記録したコンピュータ読み取り可能な記録媒体を提供する。ここで、当該命令は実行されると、装置に対して、第１ノードと当該第１ノードにて受信された通信の宛先ノードとの間の論理距離を算出するステップ、第１ノードと宛先ノードとの間のダイレクトリンクにおける無線信号強度を決定するステップ、ここで、当該ダイレクトリンクは、第１ノードに関連するネットワーク設定によってブロックされている、論理距離が条件を満たし、かつ、無線信号強度が閾値よりも大きい場合に、第１ノードから宛先ノードまでのダイレクトリンクを通じた、受信された通信の送信を有効化するステップ、を実行させる。
【００１２】
以下において、コンポーネントの中でも特に、ハードウェア上で実行されるファームウェアおよび／又はソフトウェアを含む、例示的なシステム、方法、装置、および製品を開示するが、これらは単なる例示であってこれらに限定されるものではない。例えば、ファームウェア、ハードウェアおよび／又はソフトウェアのコンポーネントのいずれか又はその全てが、ハードウェア単独で、ソフトウェア単独で、ファームウェア単独で、および／又はハードウェア、ソフトウェアおよび／又はファームウェアの任意の組み合わせで具現化される。したがって、以下では、例示的なシステム、方法、装置、および／又は製品を記述するが、これらの例は、このようなシステム、方法、装置、および／又は製品を実施するための唯一の方法ではない。
【００１３】
特許請求の範囲の請求項がソフトウェアおよび／又はファームウェアの実施を純粋にカバーするように読めるときには、少なくとも１つの例における少なくとも１つの要素が、本明細書にて、ソフトウェアおよび／又はファームウェアを記録するメモリ、ＤＶＤ、ＣＤ、ブルーレイなどの媒体を含むように明示的に定義される。
【００１４】
本明細書での「実施形態」への言及は、その実施形態に関連して記載される特定の特徴、構造、又は特性が、本発明の少なくとも１つの例示的な実施形態に含まれ得ることを意味する。明細書における様々な部分でのこのフレーズの使用は、同じ実施形態を必ずしも言及しておらず、また、他の実施形態と互いに排他的な別個の又は代替的な実施形態でもない。このように、本明細書に記載の実施形態を他の実施形態と組み合わせてもよいことが、明示的および暗示的に当業者によって理解される。
【００１５】
これらの実施形態および多くの付加的な実施形態が以下でより詳細に説明される。さらに、詳細な説明は、例示的な環境、システム、手順、ステップ、論理ブロック、処理、およびネットワークに接続されたデータ処理デバイスの動作に直接的又は間接的に似た他の記号表現に関して主として提示される。これらのプロセスの記載および表現は、一般的に、当業者によって使用され、最も効果的に他の当業者にそれらの仕事の内容を伝えられている。多数の特定の詳細が本開示の完全な理解を提供するために説明される。しかしながら、本開示のある実施形態は、ある種の特定の詳細なしに実施できることが当業者に理解される。他の例では、周知の方法、手順、コンポーネント、および回路は、簡略化して説明されており、不必要に実施形態の態様を不明瞭にすることを避けている。
【００１６】
ＩＩ．例示的な環境
図面の全体を通して同様のパーツに対しては、同様の符号を用いる。図１は、例示的なシステム構成１００を示し、このシステム構成１００において、本明細書に記載の１つ以上の方法および／又は装置が実施又は実行される。システム構成１００が、複数のゾーンを有する家庭に用いられた場合を、例示的に示す。それぞれのゾーンは例えば、オフィス、浴室、寝室、キッチン、ダイニングルーム、ファミリールーム、ホームシアタールーム、ユーティリティ又はランドリールーム、パティオなどの異なる部屋又はスペースを表す。ここには示されていないが、１つのゾーンが複数の部屋やスペースを占めるものであっても良い。各ゾーンに１つ以上のゾーンプレーヤー１０２―１２４が示されている。ゾーンプレーヤー１０２―１２４は、再生デバイス、マルチメディアユニット、スピーカーなどで構成され、それぞれ、オーディオ、ビデオ、および／又はオーディオビジュアルの出力を行う。コントローラ１３０（ここでは例示的にキッチンに設けられている）は、システム構成１００の制御を行う。システム構成１００は、例示的なハウスオーディオシステム全体を表すが、本明細書に記載の技術は、これらの特定の場所への用途に限定されず、又は図１のハウスオーディオシステム１００全体のような広範囲のシステムにも限定されない。
【００１７】
図２Ａ、図２Ｂ、図２Ｃは、ゾーンプレーヤー２００−２０４の例示的なタイプを示す。図２Ａ、図２Ｂ、図２Ｃのゾーンプレーヤー２００―２０４のそれぞれは、図１のゾーンプレーヤー１０２―１２４のいずれにも対応するものである。いくつかの実施形態では、オーディオ出力を単一のゾーンプレーヤーを用いて生成する複数のゾーンプレーヤーが提供される。図２Ａは、（例えば、無線により、および／又は有線のインタフェースを介して）受信された信号に対応する音声又はオーディオ出力を生成可能な音声生成機器２０８を示す。音声生成機器２０８は、内蔵アンプ（図示せず）とスピーカー（例えば、ツイーター、ミッドレンジドライバおよび／又はサブウーファー）とを備える。いくつかの実施形態では、図２Ａのゾーンプレーヤー２００は、ステレオ又はモノラルのオーディオを再生するように構成されてもよい。いくつかの実施形態では、図２Ａのゾーンプレーヤー２００は、ステレオ、モノラルおよび／又はサラウンドのオーディオを再生するゾーンプレーヤーの組合せにおけるコンポーネントとして構成されてもよい。以降で詳細に説明するように、いくつかの実施形態では、図２Ａのゾーンプレーヤー２００は、第２信号を、例えば、同じ又は異なるゾーン、スピーカー、受信機などにおける他のゾーンプレーヤーに送信することもできる。第２信号の送信は例えば、複数のゾーンプレーヤー、スピーカー、受信機などが１つのネットワークを形成することでメディアコンテンツを例えば同期型又は分散型の手法により提示するようなシステムの一部であってもよい。
【００１８】
図２Ｂの例示的なゾーンプレーヤー２０２は、分離したスピーカー２１０のセットを起動するための内蔵アンプ（図示せず）を備える。図２Ｂのスピーカー２１０は、例えば、任意のタイプのラウドスピーカーを有してもよい。図２Ｂのゾーンプレーヤー２０２は、オーディオコンテンツに対応する信号を有線および／又は無線のチャネルを介して分離したスピーカー２１０へ通信する。図２Ａのようにオーディオコンテンツを受信および生成する代わりに、図２Ｂのゾーンプレーヤー２０２はオーディオコンテンツを受信するとともに、分離したスピーカー２１０へ同じものを（例えば受信した信号の処理後に）送信する。図２Ａの例示的なゾーンプレーヤーと同様に、いくつかの実施形態では、ゾーンプレーヤー２０２は、第２信号を例えば、同じ又は異なるゾーン、スピーカー、受信機などにおける他のゾーンプレーヤーに送信することもできる。
【００１９】
図２Ｃの例示的なゾーンプレーヤー２０４は、アンプを含まないが、内蔵アンプを有する受信機２１４又は別のオーディオおよび／又はビデオタイプのデバイスが図１のデータネットワーク１２８へ接続するとともに、データネットワーク１２８から受信機２１４および分離したスピーカー２１６のセットを介して受信したオーディオを再生することを可能にする。図２Ｃに示される有線結合に加えて、分離したスピーカー２１６は、例えばゾーンプレーヤー２０４および／又は受信機２１４との間における無線通信チャネルを介してオーディオコンテンツを受信することができる。いくつかの実施形態では、ゾーンプレーヤー２０２は、第２信号を例えば、同じ又は異なるゾーン、スピーカー、受信機などにおける他のゾーンプレーヤーに送信することもできる。
【００２０】
例として、ゾーンプレーヤーには、カリフォルニア州サンタバーバラのソノズ・インコーポレイテッドによって提供される「ソノズ（登録商標）Ｓ５」、「ソノズプレイ：５」、「ソノズプレイ：３」、「ゾーンプレーヤー１２０」および「ゾーンプレーヤー９０」が含まれる。その他の任意の過去の、現在の、および／又は未来のゾーンプレーヤーを付加的に又は代替的に用いて、本明細書に記載の例示的な実施形態のゾーンプレーヤーを実現してもよい。ゾーンプレーヤーは、本明細書では再生デバイスとも称されるが、図２Ａ、図２Ｂ、図２Ｃに示される特定の例に限定されない。例えば、ゾーンプレーヤーは、有線又は無線のヘッドホンを含んでもよい。他の例では、ゾーンプレーヤーは、サブウーファーを含む場合がある。さらに他の例では、ゾーンプレーヤーはサウンドバーを含む場合がある。一例では、ゾーンプレーヤーは、アップル社のｉＰｏｄ（商標）又は同様のデバイス用のドッキングステーションを含む、又はそれと交信可能である。いくつかの実施形態では、ゾーンプレーヤーは、例えば第１ゾーンプレーヤーから受信した１つ以上の信号を別の再生デバイスへ中継してもよい。いくつかの実施形態では、ゾーンプレーヤーは、第１信号を受信して第１信号に対応する出力を生成し、同時に又は別個に、第２信号を受信して第２信号を別のゾーンプレーヤー、スピーカー、受信機などに送信又は中継してもよい。このように、本明細書に記載の例示的なゾーンプレーヤーは、再生デバイスとして機能して、同時にゾーンプレーヤーのネットワーク内のハブとして動作可能である。このような場合、第１信号に対応するメディアコンテンツは、第２信号に対応するメディアコンテンツと異なってもよい。
【００２１】
図３は、ドッキングステーション３０２に入っている例示的な無線コントローラ３００を示している。コントローラ３００は、図１の制御デバイス１３０に対応し得る。コントローラ３００には、タッチスクリーン３０４が設けられている。ユーザはタッチスクリーン３０４を用いて、コントローラ３００と交信して、例えば、オーディオアイテムのプレイリストの読み出し・ナビゲート操作、１つ以上のゾーンプレーヤーの制御操作、およびシステム構成１００全体の制御操作を行うことができる。いくつかの実施形態では、システム構成１００を制御するために、任意の数のコントローラが使用されてもよい。いくつかの実施形態では、システム構成１００を制御することができるコントローラの数に制限が存在してもよい。コントローラは、無線コントローラ３００のような無線式であっても、データネットワーク１２８に接続された有線式であってもよい。さらに、ｉＰｈｏｎｅ（商標）、ｉＰａｄ（商標）、アンドロイド（商標）電話などの任意のネットワーク対応ポータブルデバイス上で動作するアプリケーション、又は他の任意のスマートフォンやネットワーク対応デバイス上で動作するアプリケーションを、データネットワーク１２８に接続することでコントローラとして使用してもよい。ラップトップ又はであるクトップのＰＣ又はＭａｃ上で動作するアプリケーションをコントローラとして使用しても良い。例示的なコントローラには、カリフォルニア州サンタバーバラのソノズ・インコーポレイテッドによって提供される「ソノズ（登録商標）コントローラ２００」、「ソノズ（登録商標）ｉＰｈｏｎｅ用コントローラ」、「ソノズ（登録商標）ｉＰａｄ用コントローラ」、「ソノズ（登録商標）アンドロイド用コントローラ」および「ソノズ（登録商標）Ｍａｃ又はＰＣ用コントローラ」が含まれる。このような用途への柔軟性および新たなタイプのポータブルデバイスへの移植能力は好都合である。
【００２２】
図１のシステム構成１００に戻ると、特定のゾーンは、１つ以上のゾーンプレーヤーを含んでもよい。例えば、図１のファミリールームは、２つのゾーンプレーヤー１０６、１０８を含み、キッチンには１つのゾーンプレーヤー１０２が示されている。ゾーンプレーヤーをある部屋又はスペースに配置するとともに、そのゾーンプレーヤーをコントローラ１３０を介して新たな又は既存のゾーンに割り当てることにより、ゾーンを動的に構成してもよい。このように、ゾーンは、そのようにプログラムされている場合には、生成され、別のゾーンと組み合わされ、取り除かれ、特定の名前（例えば、「台所」）が与えられてもよい。ゾーンプレーヤー１０２−１２４は、図１に示されるデータネットワーク１２８などのデータネットワークに直接的又は間接的に接続される。データネットワーク１２８は、図中の他の構成要素から目立つように八角形で示されている。データネットワーク１２８は１つの場所にのみ示されているが、このようなネットワークをシステム構成１００の中およびその周りに分配してもよい。
【００２３】
特に、データネットワーク１２８は、有線ネットワーク、無線ネットワーク又は両方の組合せであってもよい。いくつかの実施形態では、ゾーンプレーヤー１０２−１２４のうちの１つ以上が、独自のメッシュネットワークに基づいてデータネットワーク１２８へ無線で接続される。いくつかの実施形態では、ゾーンプレーヤー１０２−１２４のうちの１つ以上が、非メッシュトポロジーを用いてデータネットワーク１２８へ無線で接続される。いくつかの実施形態では、ゾーンプレーヤー１０２−１２４のうちの１つ以上が、イーサネット（登録商標）又は同様の技術を用いてデータネットワーク１２８へ有線で接続される。データネットワーク１２８に接続した１つ以上のゾーンプレーヤー１０２−１２４に加えて、データネットワーク１２８は、インターネットなどの広域ネットワークへのアクセスを可能とするものであってもよい。
【００２４】
ある実施形態では、任意のゾーンプレーヤー１０２−１２４又は他の接続デバイスをブロードバンドルータに接続することにより、データネットワーク１２８を生成してもよい。そのとき、他のゾーンプレーヤー１０２−１２４を無線又は有線でデータネットワーク１２８に追加してもよい。例えば、データネットワーク１２８への接続を可能とするゾーンプレーヤー自体のボタンを単に押すことで、ゾーンプレーヤー（例えば、任意のゾーンプレーヤー１０２−１２４）をシステム構成１００に追加してもよい。ブロードバンドルータは例えば、インターネットサービスプロバイダ（ＩＳＰ）に接続されてもよい。ブロードバンドルータは、他の用途（例えば、ウェブサーフィン）にも使用することができるシステム構成１００内の別のネットワークを形成するように使用されてもよい。データネットワーク１２８は、そのようにプログラムされる場合には、他の用途に使用されてもよい。さらに、ある実施形態では、データネットワーク１２８は、家庭内での他の用途にも使用されている同一のネットワークである。
【００２５】
ある実施形態では、それぞれのゾーンは、別のゾーンと同じオーディオソースから再生を行ってもよく、又は、異なるオーディオソースから再生を行ってもよい。例えば、誰かがパティオでグリルしながらゾーンプレーヤー１２４を通じてジャズ音楽を聞いている一方で、誰かはキッチンで料理を準備しながらゾーンプレーヤー１０２を通じてクラシック音楽を聞くこともできる。さらに、オフィスにいる誰かが、パティオでゾーンプレーヤー１２４を通じて再生されているものと同じジャズ音楽をゾーンプレーヤー１１０を通じてオフィスで聞くこともできる。いくつかの実施形態では、ゾーンプレーヤー１１０、１２４を通じて再生されるジャズ音楽が同期して再生される。複数のゾーンにわたって再生を同期することで、オーディオを途切れなく聞きながら複数のゾーンを通過することができる。さらに、関連した全てのゾーンが同期してオーディオを再生するように、ゾーンを「パーティーモード」に設定することもできる。
【００２６】
ある実施形態では、１つのゾーンは、２つ以上のゾーンプレーヤーを含む。例えば、ファミリールームは２つのゾーンプレーヤー１０６、１０８を含み、ホームシアタールームは少なくとも３つのゾーンプレーヤー１１６、１１８、１２０を含む。所望の場合には、１つのゾーンが多数のゾーンプレーヤーを含むように構成されてもよく、例えば、ホームシアタールームが、５．１以上のチャネルのオーディオソースからのオーディオ（例えば、５．１以上のオーディオチャネルにてエンコードされたムービー）を再生する付加的なゾーンプレーヤーを有してもよい。１つのゾーンが、ファミリールームにおける２つのゾーンプレーヤー１０６、１０８のような２つ以上のゾーンプレーヤーを含む場合には、例えば、２つのゾーンプレーヤー１０６、１０８が同期して同じオーディオソースを再生するように構成されるか、あるいは、左右のチャネルにおいて２つの別々の音声を再生するようにペアであってもよい。換言すれば、音声のステレオ効果は、１つは左側の音声に対応しもう１つは右側の音声に対応する２つのゾーンプレーヤー１０６、１０８を通じて再現又は増強することができる。ある実施形態では、ペアになっているゾーンプレーヤーが、他のゾーンプレーヤーと同期してオーディオを再生する。
【００２７】
ある実施形態では、３つ以上のゾーンプレーヤーが、３つ以上のチャネルの音声にてエンコードされたオーディオの各種チャネルを再生するように構成されてもよい。例えば、ホームシアタールームには、３つのゾーンプレーヤー１１６、１１８、１２０が示されている。音声が２．１チャネルおのオーディオとしてエンコードされている場合、ゾーンプレーヤー１１６は左側チャネルのオーディオを再生し、ゾーンプレーヤー１１８は右側チャネルのオーディオを再生し、ゾーンプレーヤー１２０はバス周波数を再生するように、それぞれが構成されてもよい。他の構成も可能であるが、ゾーンプレーヤーの数やオーディオの種類に依存する。さらに、一例として、特定のゾーンが、例えば映画からのオーディオを再生する場合のように、５．１チャネルのオーディオを再生し、その後、例えば２チャネルソースからのオーディオを再生する場合のように、ステレオを再生するように動的にスイッチするよう構成されてもよい。
【００２８】
ある実施形態では、２つ以上のゾーンプレーヤーが、単一の統合ゾーンプレーヤーを形成するように音響的に統合されてもよい。（複数の別々のデバイスで構成されている）統合ゾーンプレーヤーは、統合されていないゾーンプレーヤーやペアになっているゾーンプレーヤーとは異なるように音声を処理および再現するように構成されてもよく、これは、統合ゾーンプレーヤーが音声を通過させる付加的なスピーカードライバを有するからである。統合ゾーンプレーヤーはさらに、単一のゾーンプレーヤーやさらに別の統合ゾーンプレーヤーとペアになってもよい。統合再生デバイスにおける各再生デバイスは、好ましくは統合モードに設定される。
【００２９】
いくつかの実施形態では、例えば、所望の設定が完了するまで、ゾーンプレーヤーのグループ化、統合およびペアリングの任意を継続して行うことができる。グループ化、統合およびペアリングの動作は、好ましくは、スピーカー線を例えば個々のディスクリートスピーカーに物理的に接続および再接続することで異なる構成を構築することではなく、例えばコントローラ１３０を用いるなど制御インタフェースを通じて実施される。このように、本明細書に記載のある実施形態によれば、エンドユーザに音声再生を提供可能な、より柔軟で動的なプラットフォームを提供することができる。
【００３０】
ゾーンプレーヤー１０２−１２４によって再生されるオーディオコンテンツの供給ソースは多数ある。コンピュータ又はネットワーク接続ストレージ（ＮＡＳ）に保存された個人のライブラリにある音楽が、データネットワーク１２８を介してアクセスされ、再生することができる。インターネットラジオステーション、番組、ポッドキャストは、データネットワーク１２８を介してアクセスすることができる。ユーザに音楽およびオーディオコンテンツをストリーム再生させたりダウンロードさせたりすることができる音楽サービスには、データネットワーク１２８を介してアクセスすることができる。さらに、音楽は例えば、ゾーンプレーヤーへのラインイン接続を通じて、ターンテーブル又はＣＤプレ−ヤーなどの従来の供給ソースから得ることができる。オーディオコンテンツもまた、例えば、アップル社のＡｉｒＰｌａｙ（商標）無線技術を通じてアクセスすることができる。１つ以上の供給ソースから受信されたオーディオコンテンツは、データネットワーク１２８および／又はコントローラ１３０を介してゾーンプレーヤー１０２―１２４の間で共有されてもよい。本明細書では、上述したオーディオコンテンツのソースが、ネットワークベースのオーディオ情報ソースとも称される。しかしながら、ネットワークベースのオーディオ情報ソースには限られない。
【００３１】
例示的なホームシアターのゾーンプレーヤー１１６、１１８、１２０は、テレビ１３２などのオーディオ情報ソースに接続される。いくつかの例では、テレビ１３２は、ホームシアターのゾーンプレーヤー１１６、１１８、１２０のためのオーディオのソースとして用いられる一方で、他の例では、テレビ１３２からのオーディオ情報が、オーディオシステム１００内の任意のゾーンプレーヤー１０２−１２４で共有可能である。
【００３２】
ＩＩＩ．例示的なゾーンプレーヤー
図４を参照すると、１つの例示的な実施形態に係るゾーンプレーヤー４００の例示的な機能ブロック図が示されている。図４のゾーンプレーヤー４００は、ネットワークインタフェース４０２、プロセッサ４０８、メモリ４１０、オーディオ処理コンポーネント４１２、モジュール４１４、オーディオアンプ４１６およびオーディオアンプ４１６に接続されたスピーカーユニット４１８を含む。図２Ａは、このようなゾーンプレーヤーの例示的な図である。ゾーンプレーヤーの他の種類は、スピーカーユニット４１８（例えば、図２Ｂ）又はオーディオアンプ４１６（例えば、図２Ｃ）を含まなくてもよい。また、ゾーンプレーヤー４００は、別のコンポーネントに統合されてもよい。例えば、ゾーンプレーヤー４００は、屋内又は屋外の使用のための照明（ランプ）の一部として構成することができる。
【００３３】
図４を参照すると、ネットワークインタフェース４０２は、データネットワーク（図１に示すデータネットワーク１２８）上におけるゾーンプレーヤーや他のデバイスとゾーンプレーヤー４００との間のデータフローを促進する。いくつかの実施形態では、ネットワークインタフェース４０２は、オーディオのソースやファイルをデータネットワーク上で伝達すべきより小さなパケットへ構築すること、あるいは受信したパケットを元のソースやファイルへ再構築することに関する管理を行うことができる。いくつかの実施形態では、ネットワークインタフェース４０２は、それぞれのパケットのアドレス部分が正しい宛先に到達するように又はゾーンプレーヤー４００宛てのパケットを傍受するようにそのアドレス部分を処理することができる。したがって、いくつかの実施形態では、それぞれのパケットは、インターネットプロトコル（ＩＰ）ベースのソースアドレスおよびＩＰベースの宛先アドレスを含む。
【００３４】
いくつかの実施形態では、ネットワークインタフェース４０２は、無線インタフェース４０４および有線インタフェース４０６のうちの１つ又はその両方を含んでもよい。無線インタフェース４０４は、ＲＦインタフェースとも称され、ゾーンプレーヤー４００に対して、通信プロトコル（例えば、ＩＥＥＥ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ、８０２．１５のうちの任意の無線規格）に従って他のデバイス（例えば、データネットワーク１２８に関連した他のゾーンプレーヤー、スピーカー、受信機およびコンポーネントなど）と無線通信するためのネットワークインタフェース機能を提供する。有線インタフェース４０６は、ゾーンプレーヤー４００に対して、通信プロトコル（例えば、ＩＥＥＥ８０２．３）に応じて他のデバイスと有線で通信するためのネットワークインタフェース機能を提供する。無線信号を受信し、その無線信号を無線インタフェース４０４に提供し、さらに無線信号を伝達するために、図４のゾーンプレーヤー４００は、１つ以上のアンテナ４２０を含む。有線インタフェース４０６は、ゾーンプレーヤー４００に対して、通信プロトコル（例えば、ＩＥＥＥ８０２．３）に従って他のデバイスと有線通信するためのネットワークインタフェース機能を提供する。いくつかの実施形態では、ゾーンプレーヤー４００は、無線インタフェース４０４又は有線インタフェース４０６のいずれかのみを含む。
【００３５】
いくつかの実施形態において、プロセッサ４０８は、メモリ４１０に保存された命令に従って入力データを処理するように構成されているクロック駆動の電子デバイスである。メモリ４１０は、プロセッサ４０８によって実行されることで特定のタスクを達成可能な１つ以上のソフトウェアモジュール４１４が搭載されるデータ記録装置である。例示的な実施形態では、メモリ４１０は、プロセッサ４０８によって実行可能な命令を保存したの装置読み取り可能な媒体である。いくつかの実施形態では、タスクとは、ゾーンプレーヤー４００が別のゾーンプレーヤーやネットワーク上のデバイスからオーディオデータを取得することであってもよい。いくつかの実施形態では、タスクは、ゾーンプレーヤー４００が別のゾーンプレーヤーやネットワーク上のデバイスにオーディオデータを送信することであってもよい。いくつかの実施形態では、タスクは、ゾーンプレーヤー４００がオーディオの再生を１つ以上の付加的なゾーンプレーヤーと同期させることであってもよい。いくつかの実施形態では、タスクは、ゾーンプレーヤー４００を１つ以上のゾーンプレーヤーとペアリングすることで、マルチチャネルオーディオ環境を作成することであってもよい。付加的又は代替的なタスクは、１つ以上のソフトウェアモジュール４１４およびプロセッサ４０８を介して達成することができる。
【００３６】
オーディオ処理コンポーネント４１２は、１つ以上のデジタル−アナログ変換器（ＤＡＣ）、オーディオ前処理コンポーネント、オーディオ強化コンポーネント又はデジタル信号プロセッサなどを含んでもよい。いくつかの実施形態では、ネットワークインタフェース４０２を介して取得されたオーディオは、オーディオ処理コンポーネント２１０によって処理される、および／又は意図的に変更される。さらに、オーディオ処理コンポーネント４１２は、アナログオーディオ信号を生成してもよい。処理されたアナログオーディオ信号は、スピーカー４１８を通じた再生のためにオーディオアンプ４１６に提供される。また、オーディオ処理コンポーネント４１２は、アナログ信号又はデジタル信号を、ゾーンプレーヤー４００から再生するための入力として、ネットワーク上の別のゾーンプレーヤーに送信するための入力として、又は再生および送信の両方を行うための入力として処理するための必要な回路を含んでもよい。例示的な入力は、ラインイン接続（例えば、オートディテクティング３．５ｍｍオーディオラインイン接続）を含む。
【００３７】
オーディオアンプ４１６は、１つ以上のスピーカー４１８を駆動するレベルまでオーディオ信号を増幅するデバイスである。１つ以上のスピーカー４１８には、個々の変換器（例えば、「ドライバ」）や１つ以上のドライバを内包する筐体を含んだ完全なスピーカーシステムが含まれてもよい。特定のドライバは、例えば、サブウーファー（例えば低周波用）、ミッドレンジドライバ（例えば中周波用）、およびツイーター（例えば高周波用）であってもよい。筐体は、例えば、密封され又は移植されていてもよい。
【００３８】
本明細書では、ゾーンプレーヤー４００は、再生デバイスとも称される。例示的な再生デバイスには、カリフォルニア州サンタバーバラにあるソノズ社によって製造される「ソノズ（登録商標）ＰＬＡＹ：５」が含まれる。「ＰＬＡＹ：５」は、内蔵アンプとスピーカーとを備えるゾーンプレーヤーの例である。具体的には、ＰＬＡＹ：５は、２つのツイーター、２つのミッドレンジドライバおよび１つのサブウーファーを含む５ドライバのスピーカーシステムである。ＰＬＡＹ：５を経由してオーディオコンテンツを再生する場合、トラックの左側のオーディオデータが左側のツイーターおよび左側のミッドレンジドライバから送信され、トラックの右側のオーディオデータが右側のツイーターおよび右側のミッドレンジドライバから送信され、モノラル低音がサブウーファーから送信される。さらに、両方のミッドレンジドライバと両方のツイーターが、同じイコライゼーション（又は実質的に同じイコライゼーション）を有する。すなわち、それらはともに、異なるオーディオのチャネルから同じ周波数で送信される。ソノズ社のＰＬＡＹ：５からは、インターネットラジオステーションやオンライン音楽・ビデオサービスからのオーディオ、ダウンロードされた音楽、アナログオーディオ入力、テレビ、ＤＶＤなどを再生することができる。ＰＬＡＹ：５は、複数のスピーカーを備えるゾーンプレーヤーの例であるが、スピーカーを備えるゾーンプレーヤーとしては、特定の数のスピーカー（例えば、ＰＬＡＹ：５における５つのスピーカー）を有するものに限らず、１つ以上のスピーカーを有するものでもよい。さらに、ゾーンプレーヤーは、オーディオとは異なる目的に供する可能性のある別のデバイス（例えば、ランプ）の一部であってもよい。
【００３９】
ＩＶ．例示的なコントローラ
図５を参照すると、図１の制御デバイス１３０に対応し得るコントローラ５００の例が示されている。コントローラ５００は、システム内のマルチメディアアプリケーションの制御、自動化およびその他のことを促進するために使用することができる。特に、コントローラ５００は、ネットワーク上にて利用可能な複数のオーディオソースの中からの選択を容易にするとともに、無線又は有線のネットワークインタフェース５０８を介した１つ以上のゾーンプレーヤー（例えば、図１のゾーンプレーヤー１０２―１２４）の制御を可能にするように構成されている。１つの例示的な実施形態によれば、無線通信は、業界標準に基づいている（例えば、赤外線、ラジオ、あるいは無線規格のＩＥＥＥ８０２．１１ａ、８０２．１１ｂ、８０２．１１ｇ、８０２．１１ｎ又は８０２．１５）。さらに、特定のオーディオがコントローラ５００を介してアクセスされている、又はゾーンプレーヤーを経由して再生されている場合、オーディオソースに関連付けられている画像（例えば、アルバムアート）又は他のデータが、あるゾーンプレーヤー又は他の電子機器から、表示のためにコントローラ５００へ送信されてもよい。
【００４０】
コントローラ５００には、画面５０２および入力インタフェース５１４が設けられており、これにより、ユーザはコントローラ５００と交信し、多くのマルチメディアアイテムのプレイリストをナビゲートしたり、１つ以上のゾーンプレーヤーの動作を制御することができる。コントローラ５００上の画面５０２は、例えば、液晶ディスプレイ（ＬＣＤ）画面であってもよい。画面５００は、マイクロコントローラ（例えば、プロセッサ）５０６によって制御されるスクリーンドライバ５０４と通信するとともに、指令を受ける。メモリ５１０は、１つ以上のアプリケーションモジュール５１２がロードされてもよい。そのアプリケーションモジュール５１２は、ユーザインタフェース５１４を介したユーザ入力の有無にかかわらず、特定のタスクを達成するようにマイクロコントローラ５０６によって実行可能である。いくつかの実施形態では、アプリケーションモジュール５１２は、選択された多くのゾーンプレーヤーを１つのゾーングループにグループ化すること、およびオーディオ再生のために複数のゾーンプレーヤーを同期することを促進するように構成されている。いくつかの実施形態では、アプリケーションモジュール５１２は、ゾーングループ内のゾーンプレーヤーのオーディオ音声（例えば、音量）を制御するように構成されている。動作中において、マイクロコントローラ５０６がアプリケーションモジュール５１２の１つ以上を実行するときには、スクリーンドライバ５０４は、画面５０２を特定のユーザインタフェースにアプリケーションを表示するように駆動するための制御信号を生成する。
【００４１】
コントローラ５００は、ゾーンプレーヤーとの無線通信を促進するネットワークインタフェース５０８を含む。いくつかの実施形態では、このような音量コントロールやオーディオ再生の同期化などのコマンドは、ネットワークインタフェース５０８を介して送信される。いくつかの実施形態では、保存されたゾーングループ設定は、ネットワークインタフェース５０８を介してゾーンプレーヤーとコントローラとの間で通信される。コントローラ５００は、図１に示す符号１０２−１２４のような１つ以上のゾーンプレーヤーを制御してもよい。特定のシステムに対して１つ以上のコントローラがあってもよい。また、コントローラは、ゾーンプレーヤーに組み込まれてもよい。
【００４２】
なお、ｉＰｈｏｎｅ（登録商標）やｉＰａｄ（登録商標）のような他のネットワーク対応デバイスや、他の任意のスマートフォンやネットワーク対応デバイス（例えば、ＰＣやＭａｃ（登録商標）などのネットワーク化されたコンピュータなど）を、特定の環境内におけるゾーンプレーヤーと交信又は制御するためのコントローラとして使用することができる。いくつかの実施形態によれば、ソフトウェアアプリケーション又はアップグレードを、本明細書に記載の機能を実行するためにネットワーク対応デバイス上にダウンロードしてもよい。
【００４３】
ある実施形態では、ユーザは、コントローラ５００から少なくとも２つのゾーンプレーヤーを含むゾーングループを作成することができる。ゾーングループ内のゾーンプレーヤーを同期させて、ゾーングループ内のゾーンプレーヤーの全てが、遅れや中断が聞こえない（又は実質的に聞こえない）ような方法により同一のオーディオソース又は同一のオーディオソースのリストを再生するようにオーディオを再生させてもよい。同様に、いくつかの実施形態では、ユーザがコントローラ５００からグループの音量を増大させると、グループの音量を増大させる信号又はデータがゾーンプレーヤーのうちのいずれか１つに送信されて、グループ内の他のゾーンプレーヤーの音量をともに増加させる。
【００４４】
ユーザは、コントローラ５００を介して、「ゾーンのリンク」又は「ゾーンの追加」のソフトボタンを作動させることによって、ゾーンプレーヤーをゾーングループにグループ化することができ、又は、「ゾーンのリンク解除」又は「ゾーンのドロップ」のボタンを作動させることによって、ゾーングループのグループ化の解除を行うことができる。例えば、オーディオ再生に関してゾーンプレーヤーをともに「参加」させるための１つのメカニズムは、グループを形成するように多くのゾーンプレーヤーをともにリンクすることである。多くのゾーンプレーヤーをともにリンクするには、ユーザが手動でそれぞれのゾーンプレーヤーや部屋を順にリンクするようにしてもよい。例えば、以下のゾーン：浴室、寝室、書斎、ダイニングルーム、ファミリールーム、玄関を含むマルチゾーンシステムの場合を想定する。
【００４５】
ある実施形態では、ユーザは例えば、単一のゾーンで開始してから手動でそのゾーンに各ゾーンをリンクすることによって、６つのゾーンプレーヤーのうちの任意の数をリンクさせることができる。
【００４６】
ある実施形態では、（最初のゾーンのシーンを作成してから）ゾーンのシーンやテーマを作成するためのコマンドを使用することで、１セットのゾーンを動的に相互にリンクすることができる。例えば、「朝」のゾーンシーンコマンドは、１つのアクションで寝室、オフィスおよびキッチンのゾーンをともにリンクすることができる。この単一のコマンドを使用しない場合、ユーザは手動で個別に各ゾーンをリンクする必要があると考えられる。単一のコマンドには、マウスクリック、マウスのダブルクリック、ボタン押し、ジェスチャー又は他のいくつかのプログラムされたアクションが含まれてもよい。他の種類のゾーンシーンがプログラムされてもよい。
【００４７】
ある実施形態では、ゾーンシーンは、時間に基づいて始動される（例えば、目覚まし時計機能）。例えば、ゾーンシーンを午前８時に適用するように設定することができる。システムは、適切なゾーンを自動的にリンクするとともに、再生する特定の曲を設定してから所定期間後に音楽を停止することができる。任意の特定のゾーンが時間に基づいて「オン」又は「オフ」の状態となるが、ゾーンシーンを用いることで、例えば、そのシーンにリンクされた全てのゾーンにおいて、特定の時および／又は期間にて所定のオーディオ（例えば、お気に入りの歌や所定のプレイリスト）を再生することができる。何らかの理由で、予定された音楽が再生されなかった場合には（例えば、空のプレイリスト、共有への接続なし、ユニバーサル・プラグ・アンド・プレイ（ＵＰｎＰ）なし、インターネットラジオステーションへのインターネット接続なし）、バックアップブザーが鳴るようにプログラムすることもできる。ブザーは、例えば、ゾーンプレーヤーに記録されたサウンドファイルを含んでもよい。
【００４８】
Ｖ．例示的なネットワーク構成
ネットワークのノード間におけるダイレクト通信を提供する／促進する装置および方法の例を、単なる例示の目的のために図６―９を参照して説明する。図６は、例示的なネットワーク６００を示す。当該ネットワーク６００においては、本明細書に開示される例示的な方法および装置が実現可能である。図６に示す例示的なネットワーク６００は、凡例６０１に表されるように、リンクおよび／又はインタフェースに関して有線と無線の組合せをサポートする。例示的なネットワーク６００は、４つのノード６０２、６０４、６０６、６０８と、ルータ６１０とを含む。図示の例では、ノード６０２―６０８は、図１、２Ａ―２Ｃおよび／又は図４に示すゾーンプレーヤーなどのメディア再生デバイスに対応する。しかしながら、本明細書に開示される例示的な方法および装置は、図６のノード６０２―６０８で表される任意の適切な種類のデバイスと関連させて実現することができる。例示的なルータ６１０としては、有線通信と無線通信の両方をサポートするＷｉＦｉルータがある。しかしながら、付加的な又は代替的な種類のルータを用いてネットワーク６００内の通信を促進することもできる。図示の例では、第１ノード６０２は、ルータ６１０および第２ノード６０４と有線接続を介して通信する。さらに第１ノード６０２は、第３ノード６０６と第４ノード６０８と無線接続を介して通信する。以下でより詳細に説明するように、ノード６０２―６０８は、１つ以上の転送技術および／又はその構成を介して互いに通信する。
【００４９】
例示的なノード６０２―６０８は、複数のコントローラ６１２ａ―６１２ｃのうちの任意のコントローラを使用して制御される。第１コントローラ６１２ａは、スマートフォンによって実現される（例えば、Ａｎｄｒｏｉｄ（登録商標）のスマートフォンやｉＰｈｏｎｅ（登録商標）等）。第２コントローラ６１２ｂは、デスクトップのコンピュータである。第３コントローラ６１２ｃは、タブレットデバイス（例えば、ｉＰａｄ（登録商標））である。図６の例示的なコントローラ６１２ａ―６１２ｃは例えば、図３の例示的なコントローラ３００に対応する。図６の例示的なコントローラ６１２ａ―６１２ｃは、例示的なノード６０２―６０８を制御するように構成されたアプリケーションを実装している。図６の例示的なコントローラ６１２ａは、ノード６０８とのダイレクト通信を通じてノード６０２―６０８と通信する。図６の例示的なコントローラ６１２ｂ、６１２ｃは、例示的なルータ６１０を介してノード６０２―６０８と通信する。
【００５０】
例示的なネットワーク６００を使用して、ノード６０２―６０８が１つ以上のオーディオソースを共有又は交換したり、同じ又は異なるオーディオソースを再生するようにグループ化されることが可能である。追加的又は代替的に、ノード６０２―６０８とダイレクト通信するようにオーディオソースを配置することが可能である。いくつかの例では、第１ノード６０２と第２ノード６０４は１つの曲を再生するようにグループ化され、それと同時に第３ノード６０６は別の音楽を再生する。言い換えれば、図６に示すように、ノード６０２―６０８は、オーディオを配布および／又は音声を再生するＨＯＵＳＥＨＯＬＤを形成する。本明細書で使用されるように、ＨＯＵＳＥＨＯＬＤ（ユーザの住居と明確に区別するために大文字で表される）との用語は、アプリケーション又はサービスを協働して提供するネットワーク化されたデバイスの集合を表すものとして使用される。
【００５１】
図６の例示的なネットワーク６００は、メッシュネットワーキングトポロジーを使用して、相互に通信するノード６０２―６０８を配置する。メッシュ化されたネットワークのノードは、データの受信と処理（例えば受信したオーディオデータのレンダリング）の機能に加えて、他のノードにデータを拡散するブリッジ又はリレー（relay）としての機能が時々必要とされる。このようなネットワーク構成によれば、個々のノード６０２―６０８の到達可能性が増大する。図６の例示的なメッシュネットワーク６００は、スパニングツリープロトコル（ＳＴＰ）に従って構成される。例示的なネットワーク６００がスパニングツリープロトコルを使用することで、ループを含まないトポロジーが実現される。
【００５２】
スパニングツリープロトコルは、ゾーンプレーヤー６０２−６０８のそれぞれにおいてブリッジテーブルを実装する。これらのブリッジテーブルのそれぞれは、応答ゾーンプレーヤーがネットワーク６００内の他のゾーンプレーヤーと通信する方法を定義するものである。ＳＴＰのブリッジテーブルは、ゾーンプレーヤー６０２―６０８にローカルに保存することができるとともに、ゾーンプレーヤーがネットワーク６００に追加されたとき、削除されたとき、又は他の方法により修正されたとき等に更新される。いくつかの例では、ネットワーク６００は、ユーザからの入力なしに自動的にネットワーク６００自体を構成および／又は再構成する。このような例では、スパニングツリープロトコルは、データのループ通信を防止する構成を維持する。ゾーンプレーヤー６０２―６０８間におけるデータ通信のループを防ぐために、スパニングツリープロトコルに従って生成されたブリッジテーブルには、２つのゾーンプレーヤー間でのダイレクト通信を遮断する入力や設定が含まれる。つまり、スパニングツリープロトコルのループ防止態様は、２つのノードとの間の通信パスが中との間のドによってブリッジされるように、強制することが可能である。本明細書では、スパニングツリープロトコルによってダイレクト通信が禁止されている２つのノードを「ブロックされた」ノードと称する。
【００５３】
図６は、例示的なネットワーク６００の第４ノード６０８の例示的なブリッジテーブルエントリ６１４を含む。図６には、第４ノード６０８の例示的なブリッジテーブルエントリ６１４が示されているが、他のノード６０２−６０６のそれぞれには、類似する（が異なるように構成された）ブリッジテーブルエントリが含まれる。図６に示す情報に加えて、ノード６０２―６０８のブリッジテーブルは、ルーティングおよび／又は他の目的のための他の情報を含んでもよい。さらに、図６の例では、単一のテーブル６１４として示されているが、１つ又は複数のテーブルにより例示的なテーブル６１４の情報を実現することができる（例えば、ブリッジテーブルと転送テーブル）。例示的なブリッジテーブルエントリ６１４は、ネットワーク６００における第４ノード６０８と他のノード６０２−６０６との間の通信パスを定義する。図６の例示的なノード６０２―６０８は、ゾーンプレーヤーに対応するとともに、それぞれが別のノードとのリンクを確立することが可能である。各ポートのリンクは、図６の例では有線又は無線であってもよい。例示的なブリッジテーブルエントリ６１４は、第４ノード６０８のポートの特性を維持することにより、第４ノード６０８が他のノード６０２−６０６のそれぞれと相互にデータ通信する方法を制御する。
【００５４】
図示の例では、ブリッジテーブル６１４は、第４ノード６０８の各インタフェースに関して、ポート種類、ローカルインタフェースアドレス、リモートインタフェースアドレス（例えばリモートＭＡＣアドレス）、ポート状態、リモートポート状態、リモートノードの識別（例えばリモートブリッジＩＤ）、および、インタフェースを介して到達可能なノードのリスト（例えばブリッジＩＤのリスト）を含む。ポート種類は、対応するリンクが有線リンクか無線リンクであるかを表す。図６の例では、ポート種類がポイントツーポイント（Ｐ２Ｐ）のポートである場合、対応する通信リンクは無線リンクである。従って、図６の例示的なブリッジテーブルエントリ６１４は、第４ノードが他のノード６０２−６０６のそれぞれと無線通信している又は無線通信可能であることを示している。反対に、第２ノード（図示せず）のブリッジテーブルエントリは、第１ノード６０２に対応する、有線通信リンクを示した少なくとも１つのポートエントリを含む。
【００５５】
例示的なブリッジテーブルエントリ６１４のリモートインタフェースアドレス（例えば、ＲＥＭＯＴＥ ＩＮＴＥＲＦＡＣＥ）は、対応するノードの宛先アドレス（例えば、ＭＡＣアドレス）に基づいて、対応するノードを識別する。例示的なブリッジテーブルエントリ６１４は、各ポートのリモートインタフェースアドレスを、対応するポートの名称とともに表している。しかしながら、名称は、数的なネットワークアドレスを表すものであってもよい。リモートインタフェースの情報を使用することで、データのフレームが、ノード６０２―６０８のうちの適切なものが有するインタフェースの中で適切なインタフェースへ向けられる。例えば、第４ノードの６０８が第３ノード６０６にデータを転送する必要がある場合、第４ノード６０８によって表されるデバイスは、第３ノード６０６の無線リモートインタフェースアドレスに設定された宛先アドレスを有するｐ２ｐのヘッダ内に当該データのフレームを格納する。結果として、データのフレームはネットワーク６００を横断するとともに、フレームを転送するノードは当該フレームの宛先を認識する。
【００５６】
例示的なブリッジテーブルエントリ６１４のポート状態とリモート状態に関する情報は、第４ノード６０８が対応するポートとダイレクト通信可能か否かを制御する。上述のように、スパニングツリープロトコルは、ネットワーク６００を通じてデータがループすることを防ぐために実行される。そうするために、スパニングツリープロトコルは、あるノードから他のノードへのデータの直接転送をブロックする。例えば、図６のブリッジテーブル６１４は、第４ノードが第２ノード６０４へデータを直接転送することがブロックされたことを示す。第４ノード６０８はまた、第３ノード６０６へのデータの直接転送もブロックされている。さらに第４ノード６０８は、図６の例ではネットワーク６００のルートノードである第１ノード６０２へデータを直接転送することが可能である。これにより、第４ノード６０８が第３ノード６０６へデータを送信する必要がある場合、データは第４ノード６０８から第１ノード６０２へルーティングされるとともに、第１ノード６０２から第３ノード６０６へルーティングされる。同様に、第４ノード６０８が第２ノード６０４へデータを送信する必要がある場合、データは第４ノード６０８から第１ノード６０２へルーティングされるとともに、第１ノード６０２から第２ノード６０４へルーティングされる。
【００５７】
このような構成は、データのループとそれによる欠点を防止するために有用であるが、スパニングツリープロトコルがリンクのブロックを強制することにより、データの通信パスは長くなる。例えば、第４ノード６０８が第１ノード６０２を通じて第３ノード６０６にデータをルーティングする必要があるという要件は、三角ルーティングと呼ばれる。第４ノード６０８と第３ノード６０６との間の三角ルーティングは、両ノードとの間のダイレクトルート又はダイレクトリンクよりも長い。このようなダイレクトルートは、図６の例においてダイレクト無線リンク６１６として示されている。図４の例示的なダイレクトルーティングイネイブラー４２２により、図６のダイレクトルート又はダイレクトリンク６１６が可能となる。以下で詳細に説明するように、例示的なダイレクトルーティングイネイブラー４２２は、複数の条件を評価することで、ダイレクトリンク６１６（および／又はネットワーク６００内の他のダイレクトリンク）を特定のフレームおよび／又はデータパケットについて利用すべきかどうかを決定する。すなわち、例示的なダイレクトルーティングイネイブラー４２２は、特定の状況において、ネットワーク６００のネットワーク構成プロトコルによって課されるブロックに対して第４ノード６０８を優先させる。このような例では、第４ノード６０８は第１ノード６０２をバイパスするとともに、ブリッジテーブルエントリ６１４の設定に反して、第３ノード６０６とダイレクト通信を行う。いくつかの例では、ダイレクトリンク６１６の有効化は、オーディオデータなどのいくつかのデータ種類に対して構築されるが、インターネットデータなどのいくつかのデータ種類に対しては構築されない。
【００５８】
ＶＩ．例示的なダイレクト通信
図７は、図４のダイレクトルーティングイネイブラー４２２の実施例である。以下では、図７の例示的なダイレクトルーティングイネイブラー４２２は、説明の目的で、図６の例示的な第４ノード６０８にて実施されるように記載される。しかしながら、図４および／又は図７の例示的なダイレクトルーティングイネイブラー４２２は、図６のノード６０２−６０８および／又は別のネットワークの他のノードのうち任意のノードにて実施することができる。例示的なダイレクトルーティングイネイブラー４２２は、図６の例示的なダイレクトリンク、および／又は図６のノード６０２―６０８間におけるその他のダイレクトリンクを可能にする。
【００５９】
図７の例示的なダイレクトルーティングイネイブラー４２２は、信号強度モニタ７００を含む。当該信号強度モニタ７００は、ノード６０２―６０８の間における無線通信の質および／又は信頼性を検出および／又は評価する。図示の例では、ノード６０２―６０８はネットワーク６００内に導入されたときに、学習フェーズを実行する。例示的な信号強度モニタ７００がその他のノード６０２−６０６のいずれかを最初に検出したとき、ブリッジテーブルエントリ６１４にエントリを追加・配置する。スパニングツリープロトコルを実装するプログラム又はアプリケーションが実行されると、ネットワーク６００のブリッジテーブルの新しいエントリを配置するための設定が生成される。すなわち、スパニングツリープロトコルは、例えば、検出されたノードが第４ノード６０８とダイレクト通信可能かどうかを決定する。ネットワーク構成プロトコル情報がテーブル６１４に配置された後、例示的な信号強度モニタ７００は、（例えば、リモート信号強度表示（ＲＳＳＩ）のモニタリングにより）テーブル６１４の無線リンクの強度が高品質のリンクを示すものであるかどうかを決定する。言い換えれば、例示的な信号強度モニタ７００は、第４ノード６０８と他のノード６０２−６０６との間の無線リンクをテストすることで、無線リンクがダイレクト通信（例えば、オーディオデータのルーティング）を行うものとして信頼できるかどうかを決定する。
【００６０】
テーブル６１４の無線ポートのそれぞれに関して、例示的な信号強度モニタ７００は、各ノードとの間の対応する信号強度が閾値よりも上であれば、（例えば図６のダイレクトリンク６１６を用いた）ダイレクト通信を有効化する。当該閾値は、例えば２５ｄＢとしてもよい。特定のポート（例えば、第３ノード６０６の無線インタフェースポート）についてのダイレクト通信の有効化は、例えば、ブリッジテーブル６１４の対応するエントリ内のフラグおよび／又は第４ノード６０８および／又はネットワーク６００に関連した任意の他のデータ構造を用いて記録される。さらに、例示的な信号強度モニタ７００は、無線リンクの信号強度を継続して監視する。ダイレクト通信を有効化された無線リンクの強度が閾値を下回った場合、図７の例示的な信号強度モニタ７００は、（例えば、テーブル６１４の対応するフラグを切り替えることにより）対応するダイレクト通信を無効化する。このように、図６のダイレクトリンク６１６の有効性は例えば、第４ノード６０８と第３ノード６０６との間の無線リンクの信号強度に応じて変動する可能性がある。
【００６１】
例示的なダイレクトルーティングイネイブラー４２２は、メンテナンスフレーム検出部７０２を含む。メンテナンスフレーム検出部７０２は、データのフレームがネットワークのメンテナンス情報に対応するかどうかを決定する。上述したように、例えば図６のネットワーク６００に関連したネットワーク構成の設定が継続的に更新される。ネットワーク構成情報がネットワーク６００全体を通じて適切に更新されることを確保するために、ノード６０２―６０８のうちの１つ以上が定期的にメンテナンスフレームを送信する。メンテナンスフレームの周期性を例えば、対応するＳＴＰノードの有効期限に基づくものとしてもよい（有効期限は例えば、ブリッジポートが構成情報を保存するまでの経過時との間の最大長さを制御するタイマーである）。メンテナンスフレームは、有効化されたダイレクト通信リンクにかかわらず、ネットワークプロトコルの設定（例えば、スパニングツリープロトコルの設定）に従って、ネットワーク６００を通じてルーティングされるものである。例えば、第４ノード６０８は、メンテナンスフレームを受信したときに、テーブル６１４の「ブロック」の設定に基づいて当該フレームを第３ノード６０６にルーティングする（例えばフレームが第３ノード６０６に向けられている場合）。言い換えれば、図６のダイレクトリンク６１６の有効化にかかわらず、第４ノード６０８は、メンテナンスフレームとして検出部７０２により識別されたフレームを、第１ノード６０２を通じて第３ノード６０６に向ける。このようにして、ダイレクトルーティングイネイブラー４２２によって第１ノード６０２がバイパスされる可能性がある一方で、第１ノード６０２がバイパスされない場合には、第１ノード６０２に向けられた任意のネットワーク構成の更新情報を第１ノード６０２にて受けることが確保される。
【００６２】
付加的又は代替的な技術を用いることで、ネットワーク構成情報がネットワーク６００全体を通じて適切に更新されていることを確保することもできる。例えば、ダイレクトルーティングイネイブラー４２２は、複数のフレームに関してダイレクトルーティングイネイブラー４２２自体によって設けられたダイレクトルートを無効化することができる（例えば、１００フレーム毎に１フレームの割合）。ダイレクトルートが無効化された場合には、フレームはＳＴＰの通信パスを通じて送られる。このような例では、データが故障中の１つ又は複数のデバイスに到着した場合にデータを再構築することができる。追加的又は代替的に、例示的なダイレクトルーティングイネイブラー４２２、および／又はゾーンプレーヤー４００におけるその他の任意の適切なコンポーネントは、ＳＴＰの通信パスを通じてフレームの複製を定期的に送信することができる。このような例では、フレームの複製を廃棄することができる。
【００６３】
受信したデータ（例えば、データのパケット、データのフレーム、パケットのグループなど）について、ネットワークプロトコル設定は間接的な通信（例えば中との間のドを通じて）を行うべきことを示しているも場合であっても、宛先ノードに対して直接的に通信すべきであるかどうかを決定するために、例示的なダイレクトルーティングイネイブラー４２２は、無線インタフェース検出部７０６およびダイレクトポート検出部７０８を有するブリッジテーブル分析部７０４と、論理距離算出部７１０と、優先処理部７１２と、を備える。例示的なダイレクトルーティングイネイブラー４２２がデータのフレームを受信すると、図７の例示的なブリッジテーブル分析部７０４は、受信したフレームに関連するネットワーク内の対応するノードのテーブルを分析する。図示の例では、第４ノード６０８がデータのフレームを受信したときに、例示的なブリッジテーブル分析部７０４は、図６の例示的なテーブル６１４を分析する。特に、例示的なブリッジテーブル分析部７０４は、第４ノード６０８が、受信したフレームを転送するためにどの種類のポートを使用するように設定されているかと、フレームの宛先ノードが第４ノード６０８に対してダイレクトポート（例えば、第４ノードの隣のポート）を通じて利用可能であるかどうかとを決定する。
【００６４】
第４ノード６０８がフレームを転送するためにどの種類のポートを使用するかを決定するために、例示的な無線インタフェース検出部７０６は、適切な転送ポートが有線インタフェース又は無線インタフェースに対応しているかどうかを決定する。第４ノード６０８における転送ポートのそれぞれが無線インタフェースである場合、無線インタフェース検出部７０６は、受信した例示的なフレーム用の適切な転送ポートが無線ポートであることを決定する。しかしながら、図６の第２ノード６０４に関連したものなど、無線インタフェース検出部７０６の別の例の場合には、適切な転送ポートが有線インタフェースであることを決定する場合もある。図７の例では、適切な転送ポートが無線リンク又は無線インタフェースであると決定された場合に、ダイレクトルーティングイネイブラー４２２は、本明細書に開示のダイレクト通信（例えば、図６のダイレクトリンク６１６）を有効化する。さらに、適切な転送ポートが有線リンク又は有線インタフェースであると決定された場合には、ダイレクトルーティングイネイブラー４２２は、本明細書に開示のダイレクト通信を有効化しない。この構成を実現するために、例示的な無線インタフェース検出部７０６は、ダイレクトルーティングイネイブラー４２２で受信されたデータのフレームに関する検出結果を表示する。ダイレクトルーティングイネイブラー４２２が当該表示を使用して、管理ネットワークプロトコルによるブロックより優先するために用いられるダイレクトリンクを起動および／又は終了させる。
【００６５】
例示的なダイレクトポート検出部７０８は、（例えばフレームヘッダから）受信したデータのフレームの宛先アドレスを抽出し、宛先ノードが第４ノード６０８によって直接アクセス可能であるかどうかを決定する。すなわち、例示的なダイレクトポート検出部７０８は、フレームを受信しているノードが、フレームの送信先であるノードとのダイレクトリンクを有するかどうかを決定する。図示の例では、ダイレクトポート検出部７０８は、受信したフレームの宛先アドレスと、ブリッジテーブルエントリ６１４のリモートブリッジＩＤとを比較する。上述したように、第４ノード６０８のブリッジテーブルエントリ６１４は、第４ノードによって（例えば信号強度モニタ７００を通じて）無線で検知されたノードのそれぞれに関するＰ２Ｐエントリを含む。したがって、図示の例では、ブリッジテーブルエントリ６１４が、受信したフレームの宛先アドレスに一致するリモートブリッジＩＤを有する場合、ダイレクトポート検出部７０８は、第４ノード６０８に、受信したフレームの宛先ノードとのダイレクトリンクが含まれていることを決定する。図７の例では、フレームを受信しているノードが、当該フレームの宛先ノードとダイレクト通信している場合に、ダイレクトルーティングイネイブラー４２２は、データのフレームに関して、本明細書に開示のダイレクト通信（例えば、図６のダイレクトリンク６１６）を有効化する。さらに、フレームを受信しているノードが、フレームの宛先ノードとのダイレクト通信インタフェースを欠いている場合に、図７の例示的なダイレクトルーティングイネイブラー４２２は、データのフレームに関して、本明細書に開示のダイレクト通信を有効化しない。このため、例示的なダイレクトポート検出部７０８は、ダイレクトルーティングイネイブラー４２２にて受信されたデータのフレームに関する検出結果を表示する。ダイレクトルーティングイネイブラー４２２が当該表示を使用して、管理ネットワークプロトコルによるブロックより優先するために用いられるダイレクトリンクを起動および／又は終了させる。
【００６６】
したがって、第４ノード６０８で受信されたデータのフレームに関して、例示的なブリッジテーブル分析部７０４は、第１表示と第２指示を生成する。第１表示は、第４ノード６０８が受信したフレームを転送するために無線インタフェース（例えば論理ポート）を使用して（又は使用しないで）いることを表し、第２表示は、第４ノード６０８が受信したフレームの宛先ノードとのダイレクトリンクを有している（又は有していない）ことを表す。
【００６７】
図７のダイレクトルーティングイネイブラー４２２の論理距離算出部７１０は、受信したデータのフレームが「ネクストホップ」のフレームであるかどうかを決定する。本明細書で使用する場合、「ネクストホップ」のデータのフレームとは、データのフレームの通信パスを定義する管理ネットワークプロトコルに従って、当該ネクストホップの後に最終的な宛先ノードに到達するように構成されたものを言う。言い換えれば、（例えばＳＴＰネットワーク内のブリッジテーブルによって定義される）ネットワークプロトコルによって、対応する通信パス内を次のノードにより転送されるものでないと設定されていることが示される場合に、当該フレームは「ネクストホップ」のフレームとして指定される。例えば、図６の例示的なネットワーク６００を管理するスパニングツリープロトコルは、第４ノード６０８において、第２ノード６０４に向けられた（例えば第２ノード６０４の宛先アドレスを持つ）データのフレームに関する、第１ノード６０２を通じた通信パスを定義する。このようなフレームは、第４ノード６０８においては「ネクストホップ」のフレームではない。しかしながら、第１ノード６０２においては、ＳＴＰ通信パス内の続くノードは宛先ノード（第２ノード６０４）であるため、当該フレームは「ネクストホップ」のフレームとなる。
【００６８】
受信したデータのフレームが「ネクストホップ」のフレームであるかどうかを決定するために、例示的な論理距離算出部７１０は、受信したフレームについての宛先を分析することで、ブリッジテーブル内に当該宛先に一致するリモートブリッジＩＤのエントリがあるかどうかを決定する。フレームの宛先アドレスが通信パス内の次のノードである場合、論理距離算出部７１０は、当該フレームの論理距離が１ホップであると決定する。一方で、フレームの宛先アドレスが通信パス内の次のノードではない場合、論理距離算出部７１０は、フレームの論理距離が１ホップよりも大きいと決定する。いくつかの例では、論理距離算出部７１０は、論理距離が１よりも大きいか否かを判定する。つまり、例示的な論理距離算出部７１０は、宛先ノードまでのフレームの論理距離が閾値（例えば１）よりも大きいか否かを判定する。あるいは、例示的な論理距離算出部７１０は、ホップ数を決定および／又は記録することもできる。
【００６９】
例示的な論理距離算出部７１０が「ネクストホップ」のフレームであると決定したとき、例示的なダイレクトルーティングイネイブラー４２２は、本明細書に開示のダイレクトリンクを有効化しない。その理由は、当該ダイレクトリンクによって優先される可能性のあった管理ネットワークプロトコルが既に当該ダイレクトリンクとの通信を達成しているためである。つまり、フレームが「ネクストホップ」のフレームである場合には、ダイレクトリンク（例えば、図６のリンク６１６）の有効化により中との間のドはバイパスされない。したがって、このような場合には、ダイレクトルーティングイネイブラー４２２は、管理プロトコル通信パスを許容する。一方で、フレームが「ネクストホップ」のフレームでない場合、例示的なダイレクトルーティングイネイブラー４２２は、本明細書に開示のダイレクトリンクを有効化する。これより、例示的な論理距離算出部７１０は算出結果を表示し、当該表示は、ダイレクトルーティングイネイブラー４２２が適切なダイレクトリンクを起動および／又は終了する際に使用される。
【００７０】
図７の例示的な優先処理部７１２は、信号強度モニタ７００、メンテナンスフレーム検出部７０２、ブリッジテーブル分析部７０４および論理距離算出部７１０から、管理ネットワークプロトコル設定に矛盾するダイレクト通信を対応するデータのフレームに関連して使用するべきか否かを示した情報を受信する。上述した信号強度モニタ７００、メンテナンスフレーム検出部７０２、ブリッジテーブル分析部７０４および論理距離算出部７１０に関連した表示および／又は検知によって、管理ネットワークプロトコル（例えばブリッジテーブルエントリ６１４）内に定義された通信パスをダイレクト通信がバイパスすべきであることが示される場合、例示的な優先処理部７１２は、フレームの宛先ポートをフレームの宛先アドレスに置き換える。すなわち、第４ノード６０８で受信されたフレームが、第１ノード６０２を通じて第３ノード６０６にルーティングされるようにスパニングツリープロトコルによって構成されている場合、当該フレームは、第１ノード６０２に対応する無線リモートインタフェースアドレスに設定された宛先アドレスと、第３ノード６０６に未だ対応しているオリジナルのフレーム内にある宛先アドレスとを有するＰ２Ｐヘッダ内に収容される。例示的な優先処理部７１２は、（ダイレクトルーティングイネイブラー４２２の他のコンポーネントによって認証されている場合には）中との間のド（例えば、第１ノード６０２）に対応するｐ２ｐヘッダ内の宛先アドレスを、最終ノード（例えば、第３ノード６０６）のリモートインタフェースアドレスに設定された宛先アドレスに置き換える。さらに、本明細書では、例示的な優先処理部７１２は、当該フレームを特殊な種類のフレームである「エーテルフレーム」として指定する。「エーテルフレーム」とは、優先処理部７１２が、スパニングツリープロトコルテーブルによって定義された通信パスより優先又はそれをバイパスするために操作するものである。いくつかの例では、特殊な種類のフレームを指定することにより、本明細書に開示されるダイレクトルーティングの優先を介して受信されたフレームに基づいて管理ネットワークプロトコルの設定（例えば、テーブルエントリ）が宛先ノードによって更新されることが阻止される。さらに、例示的な優先処理部７１２は、第４ノード６０８を含んだ、スパニングツリープロトコルの通信パスを定義しているネットワークプロトコルの設定を変更しない。その代わりに、管理ネットワークプロトコルの設定を変更することなく、データのフレームは直接的に宛先ノードにルーティングされる。
【００７１】
上記説明では、単一の宛先アドレスを有するユニキャストフレームについて言及したが、ノード６０２―６０８で受信されたフレームは、複数の宛先アドレスに関して使用されるマルチキャストグループＩＤを有するマルチキャストフレームであってもよい。マルチキャストフレームが使用される場合、例示的なダイレクトルーティングイネイブラー４２２はマルチキャストグループの宛先アドレスのそれぞれを評価することで、当該マルチキャストフレームの各ノードにデータを通信する際にダイレクトリンクを使用すべきかどうかを決定する。いくつかの例では、ダイレクトルーティングイネイブラー４２２は、マルチキャストフレームの第２ノードではなく第１ノードに関するダイレクトリンクを有効化することができる。あるいは、ダイレクトルーティングイネイブラー４２２が、宛先ノードのそれぞれに対してダイレクトリンクへの有効性を必要とする場合がある。
【００７２】
図７では、図４のダイレクトルーティングイネイブラー４２２を実現する方法の一例を示したが、図７に示す１つ以上のエレメント、プロセスおよび／又はデバイスを、その他の任意の方法により、組合せ、分割、再配置、省略、削除および／又は実現してもよい。さらに、例示的な信号強度モニタ７００、例示的なメンテナンスフレーム検出部７０２、例示的なブリッジテーブル分析部７０４、例示的な無線インタフェース検出部７０６、例示的なダイレクトポート検出部７０８、例示的な論理距離算出部７１０、例示的な優先処理部７１２、および／又は、より一般的な図７の例示的なダイレクトルーティングイネイブラー４２２は、ハードウェア、ソフトウェア、ファームウェア、および／又はハードウェア、ソフトウェアおよび／又はファームウェアの任意の組み合わせによって実現されてもよい。これより、例えば、例示的な信号強度モニタ７００、例示的なメンテナンスフレーム検出部７０２、例示的なブリッジテーブル分析部７０４、例示的な無線インタフェース検出部７０６、例示的なダイレクトポート検出部７０８、例示的な論理距離算出部７１０、例示的な優先処理部７１２、および／又は、より一般的な図７の例示的なダイレクトルーティングイネイブラー４２２は、１つ又は複数の回路、プログラマブルプロセッサ、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、および／又はフィールドプログラマブルロジックデバイス（ＦＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）などにより実現されてもよい。特許請求の範囲の請求項がソフトウェアおよび／又はファームウェアの実施を純粋にカバーするように読めるときには、例示的な信号強度モニタ７００、例示的なメンテナンスフレーム検出部７０２、例示的なブリッジテーブル分析部７０４、例示的な無線インタフェース検出部７０６、例示的なダイレクトポート検出部７０８、例示的な論理距離算出部７１０、例示的な優先処理部７１２、および／又は、より一般的な図７の例示的なダイレクトルーティングイネイブラー４２２のうちの少なくとも１つが、本明細書にて、コンピュータ読み取り可能な記録媒体（例えば、ソフトウェアおよび／又はファームウェアを記録するメモリ、ＤＶＤ、ＣＤ、ブルーレイ）などのコンピュータ読み取り可能な媒体を含むように明示的に定義される。さらに、図７の例示的なダイレクトルーティングイネイブラー４２２は、図７に示されるものに加えて又はその代わりに、１つ又は複数のエレメント、プロセスおよび／又はデバイスを備えてもよく、および／又は、図示したエレメント、プロセスおよびデバイスの全て又はそのいずれかを複数備えてもよい。
【００７３】
図８、９には、図４および／又は図７の例示的なダイレクトルーティングイネイブラー４２２を実現するための例示的な装置読み取り可能な命令を表すフローチャートが示される。図８、９の例では、装置読み取り可能な命令は、図４のプロセッサ４０８などのプロセッサにより実行されるプログラムを備える。当該プログラムは、プロセッサ４０８に関連するＣＤ―ＲＯＭ、フロッピーディスク、ハードドライブ、デジタル多用途ディスク（ＤＶＤ）、ブルーレイディスク又はメモリなどのコンピュータ読み取り可能な媒体上に記録されたソフトウェアにて実施することができる。あるいは、当該プログラムの全体又はその一部を、プロセッサ４０８とは異なるデバイスによって実行してもよく、および／又は、ファームウェア又は専用ハードウェアにて具現化してもよい。さらに、図８、９に示すフローチャートに関して例示的なプログラムが示されているが、これとは異なり、例示的なダイレクトルーティングイネイブラー４２２を実現するその他の多くの方法を用いてもよい。例えば、ブロックの実行順序を変更してもよく、および／又は、記載されたブロックのいくつかを変更、削除又は組み合わせてもよい。
【００７４】
上述したように、図８、９の例示的なプロセスは、記録媒体などのコンピュータ読み取り可能な媒体上にてコード化されて記録された命令（例えば、コンピュータ読み取り可能な命令）を用いて実施することができる（「コンピュータ読み取り可能な記録媒体」は例えば、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）および／又は情報を任意の期間（例えば、長期間、永久、短期間、一時的なバッファリングのために、および／又は情報のキャッシュのために）記録するその他の任意の記録媒体などがある）。本明細書では、コンピュータ読み取り可能な記録媒体という用語は、任意のタイプのコンピュータ読み取り可能な記録媒体を含む一方で、伝搬信号を除外するように明示的に定義される。追加的又は代替的に、図８、９の例示的なプロセスは、ハードディスクドライブ、フラッシュメモリ、読み出し専用メモリ（ＲＯＭ）、コンパクトディスク（ＣＤ）、デジタル多用途ディスク（ＤＶＤ）、キャッシュ、ランダムアクセスメモリ（ＲＡＭ）および／又は情報を任意の期間（例えば、長期間、永久、短期間、一時的なバッファリングのために、および／又は情報のキャッシュのために）記録するその他の任意の記録媒体などの非一時的コンピュータ読み取り可能な記録媒体上に記録された命令（例えば、コンピュータ読み取り可能な命令）を用いて実施することができる。本明細書では、非一時的コンピュータ読み取り可能な記録媒体という用語は、任意のタイプのコンピュータ読み取り可能な媒体を含む一方で、伝搬信号を除外するように明示的に定義される。特許請求の範囲の請求項におけるプリアンブル内の移行句として「少なくとも」という語句が使用される場合、「備える、含む」という用語と同様に、非限定的な意味で使用される。これより、プリアンブル内の移行句として「少なくとも」という用語を使用した請求項では、当該請求項に明示的に記載された要素に加えて他の要素を含むことができる。
【００７５】
図８に示すフローは、図６のノード６０２―６０８の１つにおいて、オーディオデータなどのデータのフレームの受信から始まる（ブロック８００）。受信したフレームは、データパケット、単一のデータのフレーム、又はデータパケットのグループなどであってもよい。説明の目的のために、図８では、図６の第４ノード６０８で受信されているデータのフレームを参照しながら説明する。例示的なメンテナンスフレーム検出部７０２（図７）は、受信したフレームが、ネットワーク構成の設定を維持するためにネットワーク６００（図６）上で送信されるメンテナンスフレームであるかどうかを決定する（ブロック８０２）。メンテナンスフレーム検出部７０２が、受信したフレームにメンテナンスフレームが含まれていると決定した場合、メンテナンスフレーム検出部７０２は、当該フレームを転送するために管理ネットワークプロトコルを使用すべきであることの指示を生成し、制御はブロック８１６へ移行する。あるいは、メンテナンスフレーム検出部７０２が、受信したフレームにメンテナンスフレームが含まれていないと決定した場合、対応する指示が生成されるとともに、制御はブロック８０４へ移行する。
【００７６】
例示的な無線インタフェース検出部７０６（図７）は、受信したフレームを転送するために第４ノード６０８によって使用される転送ポートが無線インタフェースであるかどうかを決定する（ブロック８０４）。これを行うために、例示的な無線インタフェース検出部７０６は、ブリッジテーブルエントリ６１４（図６）を分析することで、第４ノード６０８が受信したフレームを、例えば無線インタフェースが利用されていることを示すｐ２ｐポートを通じて転送するかどうかを決定する。無線インタフェース検出部７０６は、第４ノード６０８の転送ポートが有線インタフェースであると決定した場合、フレームを転送するために管理ネットワークプロトコルを使用すべきであることの指示を生成し、制御はブロック８１６へ移行する。あるいは、無線インタフェース検出部７０６は、第４ノード６０８の転送ポートが無線インタフェースであると決定した場合、対応する指示が生成され、制御はブロック８０６へ移行する。
【００７７】
例示的な論理距離算出部７１０（図７）は、受信したフレームが「ネクストホップ」のフレームであるか否かを決定する（ブロック８０６）。これを行うために、例示的な論理距離算出部７１０は、管理ネットワークプロトコルの設定によって定義された通信パスに残存するホップ数を計算する。論理距離算出部７１０は、受信したフレームが「ネクストホップ」のフレームであると決定した場合、当該フレームを転送するために管理ネットワークプロトコルを使用すべきであることの指示を生成し、制御はブロック８１６へ移行する。あるいは、論理距離算出部７１０は、受信したフレームが「ネクストホップ」のフレームでないと決定した場合、対応する指示が生成され、制御はブロック８０８へ移行する。
【００７８】
例示的なダイレクトポート検出部７０８（図７）は、第４ノード６０８のブリッジテーブルエントリ６１４が、受信したフレームの宛先アドレスと一致するブリッジ識別子（例えばリモートインタフェースフィールド）を備えるポートを含むか否かを決定する（ブロック８０８）。すなわち、例示的なダイレクトポート検出部７０８は、受信したフレームの宛先ノードが、第４ノード６０８の近傍（例えば、中との間のドを使用せずにダイレクト無線通信を介してアクセス可能な範囲）にあるか否かを決定する。ダイレクトポート検出部７０８は、テーブル６１４の中に一致するポートが含まれていないことを決定した場合、フレームを転送するために管理ネットワークプロトコルを使用すべきであることの指示を生成し、制御はブロック８１６へ移行する。あるいは、ダイレクトポート検出部７０８は、テーブル６１４の中に一致するポートが含まれていること（例えば、第４ノード６０８と宛先ノードが近傍にあること）を決定した場合、対応する指示が生成され、制御はブロック８１０へ移行する。
【００７９】
例示的な信号強度モニタ７００の出力を確認することで、受信したフレームの宛先ノードと第４ノード６０８との間の無線リンクの信号強度に基づいて、管理ネットワークプロトコルをバイパスするためのダイレクトリンクを有効化するかどうかを決定する（ブロック８１０）。図９は、図８のブロック８１０の実施例を示す。図９の例では、信号強度モニタ７００、および／又は、第１ノード（例えば、第４ノード６０８）のその他の学習コンポーネントが、無線通信を通じて（例えばＲＳＳＩデータの受信を通じて）ネットワーク６００内の第２ノード（例えば、第３ノード６０６）を認識することから始まる。例示的な信号強度モニタは、例えば所定期間における第１ノードと第２ノード間における有効なＲＳＳＩメッセージ交換の平均数を計算することで、両ノード間における対応する信号強度を測定する（ブロック９０２）。測定される信号強度が閾値（例えば、２５ｄＢ）よりも大きい場合（ブロック９０４）、信号強度モニタ７００は、第１ノードと第２ノードとの間のダイレクト通信を有効化する（ブロック９０６）。あるいは、信号強度モニタ７００は、第１ノードと第２ノードとの間のダイレクトルーティングを無効化する（ブロック９０８）。例示的な信号強度モニタ７００は、信号強度を繰り返して（例えば連続的に）モニタするとともに、それに応じて、ダイレクト通信の有効化又は無効化を更新する。このようにして、本明細書に開示された２つのノードとの間のダイレクトルーティングを有効化するとともに、その次およびさらにその次の機会に、ダイレクトルーティングを無効化および再有効化することができる。
【００８０】
図８に戻ると、受信したフレームの宛先ノードについてダイレクトルーティングが有効化されていない場合（例えば無効化されている場合）（ブロック８１０）、信号強度モニタ７００は、当該フレームを転送するために管理ネットワークプロトコルを使用すべきであるとの指示を生成し、制御はブロック８１６へ移行する。あるいは、信号強度モニタ７００が、宛先ノードに関してダイレクトルーティングが有効化されていることを決定した場合、対応する指示が生成され、制御はブロック８１２へ移行する。
【００８１】
制御がブロック８１２へ移行すると、例示的な優先処理部７１２は、宛先アドレスを、受信したフレームの宛先アドレスのリモートインタフェースアドレスに設定する（ブロック８１２）。いくつかの例では、優先処理部７１２はさらに、例えばテーブル６１４内、および／又は対応するフレームおよび／又はノードに関連する別のデータ構造内にフラッグを設定することにより、受信したフレームを特殊な種類のフレーム（例えばエーテルフレーム）として指定する。優先処理部７１２が、受信したフレームの宛先情報を置き換えてダイレクトルーティングを行うことで、例示的なダイレクト通信イネイブラー４２２は、管理ネットワークプロトコルによって定義された通信パスをバイパスし、その代わりに、受信したフレームを宛先ノードに直接転送する（ブロック８１４）。あるいは、制御がブロック８１６に移行すると、管理ネットワークプロトコル（例えばスパニングツリープロトコル）によって定義された通信パスを使用して、受信したフレームが転送される（ブロック８１６）。その後、図８の例示のフローは終了する（ブロック８１８）。
【００８２】
様々な発明が、ある程度の具体性を持って十分に詳細に記載されている。本開示の実施形態は、例示の目的のみで作られることと、部品の配置および組み合わせにおいて多くの変更が、特許請求の範囲に記載された発明の精神および範囲から逸脱しないように行われてもよいことが、当業者に理解される。本明細書に記載された実施形態は、情報単位の提示に関していくつかの制限を含むように見えるかもしれないが、形式又は配置の点で、実施形態は、そのような実施形態をはるかに超えて適用可能であることが、当業者によって理解される。したがって、本発明の範囲は、上記した実施形態よりむしろ添付された特許請求の範囲によって定義される。
【図１】
2015520558.tif 000003
【図２Ａ】
2015520558.tif 000004
【図２Ｂ】
2015520558.tif 000005
【図２Ｃ】
2015520558.tif 000006
【図３】
2015520558.tif 000007
【図４】
2015520558.tif 000008
【図５】
2015520558.tif 000009
【図６】
2015520558.tif 000010
【図７】
2015520558.tif 000011
【図８】
2015520558.tif 000012
【図９】
2015520558.tif 000013
【手続補正書】
【提出日】平成26年12月26日(2014.12.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
第１ノードにて受信された第１データの宛先ノードを特定するステップ、
第１ノードから宛先ノードまでの論理距離を算出するステップ、
第１ノードから宛先ノードまでの論理距離が閾値条件を満たすときに、第１ノードから宛先ノードまでのダイレクトルートをブロックしているプロトコル設定より優先して、第１ノードから宛先ノードまでのダイレクトルートを有効化するステップ、
ダイレクトルートを通じて、第１ノードから宛先ノードまで第１データを少なくとも部分的に送信するステップ、
を含む、方法。
【請求項２】
ダイレクトルートは無線リンクを含む、請求項１に記載の方法。
【請求項３】
無線リンクに関連する信号強度をモニタするステップ、
をさらに含む、請求項１又は２に記載の方法。
【請求項４】
信号強度が閾値を下回る場合に、プロトコル設定より優先する優先処理を阻止するステップ、
をさらに含む、請求項１から３のいずれか１つに記載の方法。
【請求項５】
プロトコル構成の設定を変更することなくプロトコル設定より優先する優先処理を行うステップ、
をさらに含む、請求項１から４のいずれか１つに記載の方法。
【請求項６】
論理距離はホップ数を含む、請求項１から５のいずれか１つに記載の方法。
【請求項７】
論理距離が１ホップよりも大きいときに閾値条件を満たすこととする、請求項１から６のいずれか１つに記載の方法。
【請求項８】
論理距離が閾値条件を満たさないときに、第１データをプロトコル設定に基づいて送信するステップ、
をさらに含む、請求項１から７のいずれか１つに記載の方法。
【請求項９】
プロセッサにより実行可能な命令を記録したコンピュータ読み取り可能な記録媒体であって、
当該命令はプロセッサによって実行されると、請求項１から８のいずれか１つに記載の方法を実行させる、コンピュータ読み取り可能な記録媒体。
【請求項１０】
第１ノードは、家庭にて実装される複数のネットワーク化されたメディア提示デバイスのうちの１つである、請求項９に記載のコンピュータ読み取り可能な記録媒体。
【請求項１１】
メディア再生デバイスの構成データ構造に、受信されたデータパケットの宛先アドレスにリンクされたポートが含まれるかどうかを決定する分析部、ここで、構成データ構造はネットワークプトロコルに従うものである、
構成データ構造が宛先アドレスにリンクされたポートを含み、かつ、当該ポートが無線リンクに対応するときに、ネットワークプロトコルのブロッキング設定より優先して、メディア再生デバイスから当該宛先アドレスに関連する第２メディア再生デバイスまでのデータパケットのダイレクトルーティングを有効化する、優先処理部と、
を備える、メディア再生デバイス。
【請求項１２】
ダイレクトルーティングの有効化には、優先処理部により、データパケットの宛先ポートを第２メディア再生デバイスに関連した宛先アドレスに置き換えるステップが含まれる、請求項１１に記載のメディア再生デバイス。
【請求項１３】
信号強度モニタをさらに備え、
当該信号強度モニタは、無線リンクの特性を決定し、無線リンクの特性が閾値よりも下であるときは、優先処理部によるブロッキング設定より優先する優先処理を阻止する、請求項１１又は１２に記載のメディア再生デバイス。
【請求項１４】
メンテナンスフレーム検出部をさらに備え、
当該メンテナンスフレーム検出部は、データパケットにメンテナンスフレームが含まれる場合に、優先処理部によるブロッキング設定より優先する優先処理を阻止する、請求項１１から１３のいずれか１つに記載のメディア再生デバイス。
【請求項１５】
論理距離算出部をさらに備え、
当該論理距離算出部は、メディア再生デバイスと第２メディア再生デバイスとの間の論理距離を決定し、論理距離が閾値よりも小さいときに、優先処理部によるブロッキング設定より優先する優先処理を阻止する、請求項１１から１４のいずれか１つに記載のメディア再生デバイス。
【国際調査報告】
2015520558.tif 000014
2015520558.tif 000015
2015520558.tif 000016